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

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

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

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-12-05
(54)【発明の名称】データ処理方法及びデコーダ
(51)【国際特許分類】
   H03M 13/19 20060101AFI20221128BHJP
【FI】
H03M13/19
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022519654
(86)(22)【出願日】2020-07-24
(85)【翻訳文提出日】2022-04-26
(86)【国際出願番号】 CN2020104335
(87)【国際公開番号】W WO2021063091
(87)【国際公開日】2021-04-08
(31)【優先権主張番号】201910945369.2
(32)【優先日】2019-09-30
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】503433420
【氏名又は名称】華為技術有限公司
【氏名又は名称原語表記】HUAWEI TECHNOLOGIES CO.,LTD.
【住所又は居所原語表記】Huawei Administration Building, Bantian, Longgang District, Shenzhen, Guangdong 518129, P.R. China
(74)【代理人】
【識別番号】100132481
【弁理士】
【氏名又は名称】赤澤 克豪
(74)【代理人】
【識別番号】100115635
【弁理士】
【氏名又は名称】窪田 郁大
(72)【発明者】
【氏名】▲張▼ ▲遠▼翔
(72)【発明者】
【氏名】周 ▲揚▼
【テーマコード(参考)】
5J065
【Fターム(参考)】
5J065AB01
5J065AC02
5J065AD07
5J065AE06
5J065AF03
5J065AG05
(57)【要約】
本出願の実施形態は、符号語シーケンスを復号するためのデータ処理方法及びデコーダを開示する。方法は、桁数がnである符号語シーケンスを受信することと(201)、次数m×nのチェック行列を決定することであって、前記チェック行列のベース行列は、次数mb×nbの行列であることと(202)、ベース行列に基づいてL個の変数ノードを設定することであって(203)、Lは、ベース行列内の-1に等しくない値の最大数を有する行の-1に等しくない値の数以上である、ことと、各チェックノード内の有効な部分行列をL個の変数ノードに別々にマッピングすることと(204)、L個のマッピングされた変数ノードの各々に、チェック行列の各層の各有効な部分行列に対応するデータを送信することと、受信したデータを使用して、L個の変数ノードによって階層化された正規化最小和復号アルゴリズムの対応する演算ステップを実行することと(205)、を含む。
【特許請求の範囲】
【請求項1】
データ処理方法であって、前記方法は、階層化された正規化最小和に基づく復号アルゴリズムを使用し、
桁数がnである符号語シーケンスを受信することであって、nは正の整数である、ことと、
次数m×nのチェック行列を決定することであって、前記チェック行列のベース行列は次数mb×nbの行列であり、mbはm/Zに等しく、nbはn/Zに等しく、Zは前記ベース行列の拡張係数であり、mとZは両方とも正の整数であり、Zはmとnの両方で割り切れることと、
前記ベース行列に基づいてL個の変数ノードを設定することであって、Lは、前記ベース行列内の-1に等しくない値の最大数を有する行の-1に等しくない値の数以上であり、前記ベース行列内の-1に等しくない値は、前記チェック行列内の次数Z×Zの非ゼロ部分行列を表す、ことと、
前記チェックノードの各層における有効な部分行列を前記L個の変数ノードに別々にマッピングすることであって、異なる有効な部分行列は、異なる変数ノードにマッピングされ、前記有効な部分行列は、前記ベース行列内の-1に等しくない値によって表される部分行列であり、前記チェックノードの層は、前記ベース行列の行によって表される部分行列である、ことと、
前記L個のマッピングされた変数ノードの各々に、前記チェック行列の各層における各有効な部分行列に対応するデータを送信することと、
前記受信したデータを使用することによって、前記L個の変数ノードによる前記階層化された正規化最小和復号アルゴリズムの対応する演算ステップを実行することと
を含む方法。
【請求項2】
Lは、前記ベース行列内の-1に等しくない値の最大数を有する前記行内の-1に等しくない前記数に等しい、請求項1に記載の方法。
【請求項3】
前記次数m×nのチェック行列を決定することは、
n、Z、及びラプターライク構造を有する予め設定された行列に基づいて、次数mb×nbの前記ベース行列を決定することと、
前記ベース行列を拡張して、次数m×nの前記チェック行列を得ることと
を含む、請求項1または2に記載の方法。
【請求項4】
P個のチェックノードを設定することであって、PはZ未満の正の整数であり、前記チェック行列の各層は、ceiling(Z/P)個のサブ層に分割され、ceiling()は、切り上げ関数であり、各サブ層は、前記チェック行列のP個の行を超えない行を含むことと、
前記P個のチェックノードに対応するように、前記チェック行列の各層の各サブ層の行を別々に作成することであって、異なる行が異なるチェックノードに対応する、ことと、前記P個のチェックノードを使用してデータを受信することと、各サブ層の対応する行を使用することによって、前記階層化された正規化最小和復号アルゴリズムの対応する演算ステップを前記データに対して実行することとをさらに含む、請求項1から3のいずれか1項に記載の方法。
【請求項5】
前記P個のチェックノードを設定することの後に、
オフセット値を決定し、前記オフセット値に基づいて、前記チェック行列の層のサブ層を使用するシーケンスを調整することをさらに含む、請求項4に記載の方法。
【請求項6】
デコーダであって、前記デコーダは、階層化された正規化最小和に基づく復号アルゴリズムを使用し、
桁数がnである符号語シーケンスを受信するように構成されたトランシーバモジュールであって、nは正の整数であるトランシーバモジュールと、
次数m×nのチェック行列を決定するように構成された処理モジュールであって、前記チェック行列のベース行列は次数mb×nbの行列であり、mbはm/Zに等しく、nbはn/Zに等しく、Zは前記ベース行列の拡張係数であり、mとZは両方とも正の整数であり、Zはmとnの両方で割り切れる、処理モジュールと、を備え、
前記処理モジュールは、前記ベース行列に基づいてL個の変数ノードを設定するようにさらに構成され、Lは、前記ベース行列内の-1に等しくない値の最大数を有する行の-1に等しくない値の数以上であり、前記ベース行列内の-1に等しくない値は、前記チェック行列内の次数Z×Zの非ゼロ部分行列を表し、
前記処理モジュールは、前記チェックノードの各層における有効な部分行列を、前記L個の変数ノードに別々にマッピングするようにさらに構成され、異なる有効な部分行列は、異なる変数ノードにマッピングされ、前記有効な部分行列は、前記ベース行列内の-1に等しくない値によって表される部分行列であり、前記チェックノードの層は、前記ベース行列の行によって表される部分行列であり、
前記処理モジュールは、前記チェック行列の各層内の各有効な部分行列に対応するデータを、前記L個のマッピングされた変数ノードの各々に送信するようにさらに構成され、
前記L個の変数ノードは、前記受信したデータを使用して、前記階層化された正規化最小和復号アルゴリズムの対応する演算ステップを実行するように構成された、デコーダ。
【請求項7】
前記処理モジュールは、
n、Z、及びラプターライク構造を有する予め設定された行列に基づいて、次数mb×nbの前記ベース行列を決定し、
前記ベース行列を拡張して、次数m×nのチェック行列を得るように特に構成された、請求項6に記載のデコーダ。
【請求項8】
前記処理モジュールは、
P個のチェックノードを設定し、PはZ未満の正の整数であり、前記チェック行列の各層は、ceiling(Z/P)個のサブ層に分割され、ceiling()は、切り上げ関数であり、各サブ層は、前記チェック行列のP個の行を超えない行を含む、ようにさらに構成され、
前記デコーダは、
P個のチェックノードをさらに含み、前記P個のチェックノードに対応するように、前記チェック行列の各層の各サブ層内の行を別々に作成し、異なる行が異なるチェックノードに対応し、データを受信し、各サブ層内の対応する行を使用して、前記階層化された正規化最小和復号アルゴリズムの対応する演算ステップを前記データに対して実行するように構成された、請求項6または7に記載のデコーダ。
【請求項9】
前記処理モジュールは、
オフセット値を決定し、前記オフセット値に基づいて、前記チェック行列の層のサブ層を使用するシーケンスを調整するようにさらに構成された、請求項8に記載のデコーダ。
【請求項10】
実行されると、請求項1から5のいずれか1項に記載の方法を実行するように構成される、コンピュータプログラム製品。
【請求項11】
命令を記憶するコンピュータ可読記憶媒体であって、前記命令は、請求項1から5のいずれか一項に記載の方法を実行するために使用される、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、通信分野に関し、特に、データ処理方法及びデコーダに関する。
【背景技術】
【0002】
本出願は、2019年9月30日に中国国家知的財産管理局に出願され、「データ処理方法及びデコーダ」と題された中国特許出願第201910945369.2号の優先権を主張し、その全体が参照により本明細書に組み込まれる。
【0003】
準巡回低密度パリティチェック(quasi-cyclic Low-density Parity-check、QC-LDPC)は、一般的なタイプのLDPC符号であり、柔軟な構造の特徴を有し、チェック符号として使用してよく、通常はチェック行列として表される。具体的には、伝送端は、予め設定されたチェック行列を使用することによって、送信される必要のある情報シーケンスを符号化して、符号語シーケンスを生成し、符号語シーケンスを受信端に送信してもよい。符号語シーケンス符号を受信した後、受信端は、同じチェック行列を使用して情報シーケンスを取得することによって、符号語シーケンスを復号し得る。
【0004】
一般的に使用される復号アルゴリズムは、階層化された復号アルゴリズム(layered decoding algorithm、LDA)を含む。LDAの実装中、チェックベース行列は、ベース行列の行に基づいていくつかの層に垂直に分割され、復号化の際に層ごとに使用され、符号語シーケンスを更新する。層が使用されるたびに、取得された新しいシーケンスが入力値として使用され、チェック行列の最後の層が使用されるまで、チェック行列の次の層を使用して新しいシーケンスが更新される。取得された最新のシーケンスが情報シーケンスとして使用される。
【0005】
チェック行列は次数m×nの行列であり、チェック行列のベース行列の拡張係数(extension factor)はZであり、ベース行列は次数mb×nbの行列であり、mb=m/Z、nb=n/Zであるとみなす。現在、ハードウェア連携の観点から、LDAは主に行レベルの並列解法(row-level parallel solution)を用いて実装される。行レベルの並列解法では、nb変数ノード及びZチェックノードを配置し、チェック行列の各層に行を使用して符号語シーケンスを計算する必要がある。チェック行列が比較的大きい場合、比較的多くのハードウェアリソースが必要であり、コストが比較的高い。
【発明の概要】
【0006】
本出願の実施形態は、符号語シーケンスを復号するためのデータ処理方法及びデコーダを提供する。
【0007】
第1の態様によれば、本出願は、データ処理方法を提供する。方法は、階層化された正規化最小和に基づく復号アルゴリズムを使用し、桁数がnである符号語シーケンスを受信することであって、nは整数である、ことと、次数m×nのチェック行列を決定することであって、チェック行列のベース行列は次数mb×nbの行列であり、mbはm/Zに等しく、nbはn/Zに等しく、Zはベース行列の拡張係数であり、mとZは両方とも正の整数であり、Zはmとnの両方で割り切れることと、ベース行列に基づいてL個の変数ノードを設定することであって、Lは、ベース行列内の-1に等しくない値の最大数を有する行の-1に等しくない値の数以上であり、ベース行列内の-1に等しくない値は、チェック行列内の次数Z×Zの非ゼロ部分行列を表す、ことと、チェックノードの各層における有効な部分行列をL個の変数ノードに別々にマッピングすることであって、異なる有効な部分行列は、異なる変数ノードにマッピングされ、有効な部分行列は、ベース行列内の-1に等しくない値によって表される部分行列であり、チェックノードの層は、ベース行列の行によって表される部分行列である、ことと、L個のマッピングされた変数ノードの各々に、チェック行列の各層における各有効な部分行列に対応するデータを送信することと、受信したデータを使用することによって、L個の変数ノードによる階層化された正規化最小和復号化アルゴリズムの対応する演算ステップを実行することと、を含む。
【0008】
いくつかの実現可能な実施形態では、Lは、ベース行列内の-1に等しくない値の最大数を有する行内の-1に等しくない値の数に等しい。
【0009】
したがって、階層化された正規化最小和復号アルゴリズムは、比較的少数のL個の変数ノードを使用することによって実行されてもよく、比較的少ないハードウェアリソースが必要とされ、それによって効果的にコストを削減する。
【0010】
いくつかの実現可能な実施形態では、次数m×nのチェック行列を決定することは、n、Z、及びラプターライク構造を有する予め設定された行列に基づいて、次数mb×nbのベース行列を決定することと、ベース行列を拡張して、次数m×nのチェック行列を得ることとを含む。したがって、チェック行列は、要件に基づいて決定され得る。
【0011】
いくつかの実現可能な実施形態では、方法は、
P個のチェックノードを設定することであって、PはZ未満の正の整数であり、チェック行列の各層は、ceiling(Z/P)個のサブ層に分割され、ceiling()は、切り上げ関数であり、各サブ層は、チェック行列のP個の行を超えない行を含むことと、P個のチェックノードに対応するように、チェック行列の各層の各サブ層の行を別々に作成することであって、異なる行が異なるチェックノードに対応する、ことと、P個のチェックノードを使用してデータを受信することと、各サブ層の対応する行を使用することによって、階層化された正規化最小和復号アルゴリズムの対応する演算ステップをデータに対して実行することと、を含む。したがって、比較的少ないチェックノードが配置され得、比較的少ないハードウェアリソースが必要とされ得、それによってコストを効果的に削減する。
【0012】
いくつかの実現可能な実施形態では、P個のチェックノードを設定することの後に、方法は、
オフセット値を決定し、オフセット値に基づいて、チェック行列の層のサブ層を使用するシーケンスを調整することをさらに含む。したがって、適切なオフセット値が見つかり、行列に対して変換を実行し得、デコーダのスループットレートに対する読み取りと書き込みとの間の競合の影響は、変換された行列を使用することによって特定の程度緩和され得る。
【0013】
第2の態様によれば、本出願は、デコーダを提供する。デコーダは、階層化された正規化最小和に基づく復号アルゴリズムを使用し、桁数がnである符号語シーケンスを受信するように構成されたトランシーバモジュールであって、nは正の整数であるトランシーバモジュールと、次数m×nのチェック行列を決定するように構成された処理モジュールであって、チェック行列のベース行列は、次数mb×nbの行列であり、mbはm/Zに等しく、nbはn/Zに等しく、Zはベース行列の拡張係数であり、mとZは両方とも正の整数であり、Zはmとnの両方で割り切れる、処理モジュールと、を備え、処理モジュールは、ベース行列に基づいてL個の変数ノードを設定するようにさらに構成され、Lは、ベース行列内の-1に等しくない値の最大数を有する行の-1に等しくい値の数以上であり、ベース行列内の-1に等しくない値は、チェック行列内の次数Z×Zの非ゼロ部分行列を表し、処理モジュールは、チェックノードの各層における有効な部分行列をL個の変数ノードに別々にマッピングするようにさらに構成され、異なる有効な部分行列は、異なる変数ノードにマッピングされ、有効な部分行列は、ベース行列内の-1に等しくない値によって表される部分行列であり、チェックノードの層は、ベース行列の行によって表される部分行列であり、処理モジュールは、チェック行列の各層内の各有効な部分行列に対応するデータを、L個のマッピングされた変数ノードの各々に送信するようにさらに構成され、L個の変数ノードは、受信したデータを使用して、階層化された正規化最小和復号アルゴリズムの対応する演算ステップを実行するように構成される。
【0014】
いくつかの実現可能な実施形態では、処理モジュールは、n、Z、及びラプターライク構造を有する予め設定された行列に基づいて、次数mb×nbのベース行列を決定し、ベース行列を拡張して、次数m×nのチェック行列を得るように特に構成される。
【0015】
いくつかの実現可能な実施形態では、処理モジュールは、P個のチェックノードを設定し、PはZ未満の正の整数であり、チェック行列の各層は、ceiling(Z/P)個のサブ層に分割され、ceiling()は、切り上げ関数であり、各サブ層は、チェック行列のP個の行を超えない行を含む、ようにさらに構成され、デコーダは、P個のチェックノードをさらに含み、P個のチェックノードに対応するように、チェック行列の各層の各サブ層内の行を別々に作成し、異なる行が異なるチェックノードに対応し、データを受信し、各サブ層内の対応する行を使用して、階層化された正規化最小和復号アルゴリズムの対応する演算ステップをデータに対して実行するように構成される。
【0016】
いくつかの実現可能な実施形態では、処理モジュールは、オフセット値を決定し、オフセット値に基づいて、チェック行列の層のサブ層を使用するシーケンスを調整するようにさらに構成される。
【0017】
第3の態様によれば、本出願は、コンピュータプログラム製品を提供する。コンピュータ製品が実行されると、コンピュータプログラム製品は、請求項1~5のいずれか一項に記載の方法を実行するために使用される。
【0018】
第4の態様によれば、本出願は、コンピュータ可読記憶媒体を提供する。コンピュータ可読記憶媒体は命令を記憶し、命令は、請求項1~5のいずれか一項に記載の方法を実行するために使用される。
【0019】
上記の技術的解決策によれば、本出願の実施形態は、以下の利点を有することを学ぶことができる。
【0020】
桁数がnである符号語シーケンスを受信すると、次数m×nのチェック行列が決定され得る。チェック行列のベース行列は、次数mb×nbの行列であり、mbはm/Zに等しく、nbはn/Zに等しく、Zはベース行列の拡張係数であり、mとZは両方とも正の整数であり、Zはmとnの両方で割り切れる。そして、L個の変数ノードがベース行列に基づいて設定され、Lは、ベース行列内の-1に等しくない値の最大数を有する行の-1に等しくない値の数以上であり、ベース行列内の-1に等しくない値は、チェック行列内の次数Z×Zの非ゼロ部分行列を表す。したがって、階層化された正規化最小和復号アルゴリズムは、比較的少数のL個の変数ノードを使用することによって実行されてもよく、比較的少ないハードウェアリソースが必要とされ、それによって効果的にコストを削減する。
【図面の簡単な説明】
【0021】
図1-1】本出願におけるコンピュータデバイスの概略図である。
図1-2】変数ノードとチェックノードとの間の相互作用のプロセスの概略図である。
図1-3】変数ノード及びチェックノードを含む構造の概略図である。
図2-1】本出願によるデータ処理方法の概略図である。
図2-2】ラプターライク構造における予め設定された行列の概略図である。
図2-3】予め設定された行列におけるコア行列及び拡張行列の概略図である。
図2-4】コア行列の概略図である。
図2-5】チェック行列を取得する方法の概略図である。
図2-6】読み取りと書き込みとの間の衝突の概略図である。
図2-7】チェック行列の1つの層を3つのサブ層行列に分割する概略図である。
図3】本出願によるデコーダの概略図である。
【発明を実施するための形態】
【0022】
本出願の実施形態は、符号語シーケンスを復号するためのデータ処理方法及びデコーダを提供する。
【0023】
本出願では、本明細書、特許請求の範囲、及び添付の図面における「第1の」、「第2の」、「第3の」、及び「第4の」(存在する場合)などの用語は、類似の対象物を区別することを意図しているが、必ずしも特定の順序または配列を示すものではない。このような方法で使用されるデータは、本明細書に説明される実施形態が、本明細書に例示または説明される順序以外の順序で実装することができるように、適切な場合に交換可能であることを理解されたい。さらに、用語「含む(include)」、「含む(contain)」、及び任意の他の変形は、非排他的包含、例えば、ステップまたはユニットのリストを含むが、それらのステップまたはユニットに必ずしも限定されないプロセス、方法、システム、製品、またはデバイスをカバーすることを意味し、そのようなプロセス、方法、製品、またはデバイスに明示的に列挙されていない、または固有の他のステップまたはユニットを含み得る。
【0024】
QC-LDPC符号は、一般的なタイプのLDPC符号であり、QC-LDPC符号のチェック行列Hは、次数Z×Zの一連の要素部分行列を含み、Zは、要素部分行列の拡張係数または次元と称される。各要素部分行列は、ゼロ行列または単位行列の巡回右シフトである。したがって、要素部分行列は、値で表されてもよい。例えば、ゼロ行列は-1として表され、単位行列は0として表され、単位行列の巡回右シフトは、単位行列の右シフトのオフセットとして表される。
【0025】
チェック行列はまた、比較的少数の行および列を有する行列によって表されてもよく、この行列はベース行列と呼ばれる。したがって、次数m×nのチェック行列に対応するベース行列は、次数mb×nbの行列であり、mbはm/Zに等しく、nbはn/Zに等しいことがわかり得る。Zはmおよびnによって割り切れることが明らかである。
【0026】
以下のチェック行列は、説明の例として使用される。チェック行列は、であると仮定する。
【0027】
【数1】
【0028】
拡張係数が2に等しいと仮定すると、チェック行列のベース行列が得られ得る。
【0029】
【数2】
【0030】
このようにして、格納負担を軽減することができる。
【0031】
別の例では、比較的大きなデータ量を有するチェック行列は、ベース行列の拡張係数が256に等しい次数4×11の以下のベース行列として表されてよい。
【0032】
【数3】
【0033】
ベース行列の各値は、次数256×256の行列に拡張され得る。したがって、チェック行列を格納することなく、ベース行列のみを格納してもよい。使用する場合、行列をチェック行列に拡張してもよく、格納負担を軽減し、非常に便利である。
【0034】
符号語シーケンスを受信した後、受信端は、チェック行列及び予め設定された復号アルゴリズムを使用して符号語シーケンスを復号し、情報シーケンスを取得し得る。一般的な復号アルゴリズムは、階層化された正規化最小和に基づいた復号アルゴリズムを含む。階層化された正規化最小和に基づく復号アルゴリズムは、ハードウェアの複雑さを効果的に低減し、復号反復の数を大幅に低減することができ、したがって、デコーダ設計において広く使用されている。
【0035】
階層化された正規化最小和に基づく復号アルゴリズムが実装されるとき、チェック行列は、最初にいくつかの層に垂直に分割される。例えば、チェック行列の一部であり、ベース行列の行によって表される部分行列は、チェック行列の層として使用される。具体的には、チェック行列は次数m×nの行列であり、チェック行列のベース行列は次数mb×nbの行列であり、拡張係数はZ、すなわちmb=m/Z、nb=n/Zであり、Zはmとnの両方で割り切れるものとする。これは、チェック行列をmb層に分割することに相当し、各層は次数Z×nbの行列である。上述した、次数4×11のベース行列によって表されるチェック行列は、4層に分割されてもよく、各層は次数256×11の行列である。
【0036】
復号を行う場合、mbラウンドの復号が別々に行われ、チェック行列の対応する層が各ラウンドで使用される。まず、第1のラウンドでは、チェック行列の上から下にカウントされた第1の層を使用して符号語シーケンスを処理し、新しいシーケンスを取得する。次に、チェック行列の第2の層を使用して、新しいシーケンスを処理する。類似して、チェック行列の最後の層が使用されるまで符号語シーケンスが反復され、最後に取得されたシーケンスが情報シーケンスとして使用される。
【0037】
具体的には、チェック行列のj番目の層(jの値が0、1、...、mb-1であるベース行列のj番目の行で表され得る)について、符号語シーケンスは、次の3つの式を使用して復号される。
【0038】
【数4】
【0039】
前述の式において、njは、左から右へのベース行列の列のシーケンス番号を表し、0、1、...、nbの値を有する。また、N(j)はベース行列のj番目の行に-1に等しくない値が全て配置された列のセットを表し、次数4×11のベース行列で表されるチェック行列について、N(j)は0,2,3,4,5,6,及び7を含み、kはチェック行列の層の行のシーケンス番号を表し、0,1,...,Z-1の値を持ち、λは入力符号語シーケンス、すなわち受信した符号語シーケンスまたは前の層の反復の後に取得した符号語シーケンスを表し、次数m×nのチェック行列について、λは、n値を有してもよく、rは、次の層の入力値として使用される符号語シーケンスと共に更新及び反復されるために使用される巡回変数を表し、またn値を有し、rの初期値は、0に設定されてもよく、qは、中間変数を表し、演算(前述の3つの式における演算)でλを更新及び反復するために使用され、αは、補正係数を表し、通常、約0.8の値を有し、
【0040】
【数5】
【0041】
は、N(j)のnj以外の値のセットを表し、符号()は、記号関数を表し、具体的には、記号関数のパラメータが0より大きい場合、値は1であり、パラメータが0より小さい場合、値は-1であり、またはパラメータが0に等しい場合、値は0であり、
【0042】
【数6】
【0043】
は累積積関数を表し、min()は最小関数を表す。
【0044】
上記3つの式により、チェック行列を用いて符号語シーケンスが反復され、最後に情報シーケンスを取得する。具体的には、符号語シーケンスがまず、チェック行列の第1の層を使用して演算され、
【0045】
【数7】
【0046】
および
【0047】
【数8】
【0048】
を取得する。次に、チェック行列のすべての層が使用されるまで、チェック行列の次の層を使用し続けることによって演算され続けるための入力値として、
【0049】
【数9】
【0050】
および、
【0051】
【数10】
【0052】
を使用する。最終的に得られた新しい符号語シーケンスが、情報シーケンスとして使用される。
【0053】
本出願のこの実施形態では、ハードウェアに関して、符号語シーケンスは、チェック行列を使用して、変数ノード及びチェックノードによって演算される必要がある。変数ノードは、式(1)を実行し、その後、取得した結果をチェックノードに配信するように構成され、チェックノードが式(2)を実行し、その後、取得した結果を変数ノードに返す。変数ノードは、式(3)を実行して、λに関連する1回の反復を完了する。
【0054】
より良い説明のために、本出願におけるアーキテクチャを以下に簡単に説明する。
【0055】
前述の動作プロセスと協働するために、図1-1を参照して、コンピュータデバイス100を本出願で使用する必要がある。コンピュータデバイス100は、メモリ110及び処理モジュール120を含む。処理モジュール120は、チェック行列を使用して、符号語シーケンスを演算するように構成される。複数の変数ノード及び複数のチェックノードが、処理モジュール120に配置される。変数ノードは、符号語シーケンスを受信するように構成され、チェックノードは、チェック行列を格納し、変数ノードに提供するように構成される。
【0056】
図1-2に示すように、変数ノードは、λnj[k](その初期値は符号語シーケンスである)を受信し、チェックノードによって送信されたrj,nj[k](その初期値は全て0であってもよい)を受信し、計算を通じてqj,nj[k]を取得するために式(1)を実行し、チェックノードにqj,nj[k]を送信するように構成される。変数ノードによって送信されたqを受信した後、チェックノードは、式(2)を実行し計算を通じてnew_rj,nj[k]を取得し、新しいnew_rj,nj[k]を変数ノードに送信し、次の層での計算に使用するrとしてnew_rを使用する。最後に、変数ノードは、式(3)を実行し、計算を通じて次の層での計算に使用するλ、すなわちλj+1,nj[k]として使用するnew_λj,nj[k]を取得する。
【0057】
効率を向上させ、ノードの無駄を減らすために、適切な数の変数ノードとチェックノードと適切な相互作用方法を決定する必要がある。現在、行レベルの並列解法は、主に変数ノードの配置やノードのチェックに使用される。
【0058】
行レベルの並列解法では、nb変数ノードとZチェックノードが配置され、nb変数ノードはベース行列のnb列と1対1の対応関係にあり、nb変数ノードは同時に式(1)を実行し、計算結果を同じチェックノードに送信する。Zチェックノードは、チェック行列の各層の行と1対1の対応関係にある。チェックノードは式(2)を実行し、得られた結果を変数ノードに送信する。変数ノードは、式(3)を実行し、次の層で必要とされるλおよびrを得る。QC-LDPCの直交特徴により、図1-3に示すZ構造を同時に処理することができる。
【0059】
チェック行列の層については、ベース行列の列が直交しているため、nb個の変数ノードが同時に演算を行う。チェック行列の同じ層内の行も直交するため、行は、行による同じ符号語シーケンスの演算を実行するために同時に使用することができ、効率を向上させるために、Zチェックノードを同時に実行および使用することができる。
【0060】
行レベルの並列解法は、計算効率を提供し得る。しかしながら、nbが比較的大きい場合、またはZが比較的大きい場合、比較的多くのハードウェアリソース(変数ノードまたはチェックノード)が必要であり、比較的高コストとなる。特に、現在の5G技術では、QC-LDPC符号のベース行列の最大使用拡張係数Zは384であってよく、最大nbは68であってよい。したがって、行レベルの並列解法に基づいて直接実装することは困難である。加えて、QC-LDPC符号のベース行列は、通常、スパース性(sparsity)の特徴を有する。多くの場合、行内の有効なノードの数は、nbノードの総数よりもはるかに少ない。そのため、ノードリソースは、行レベルの並列解法では無駄になる。
【0061】
したがって、本出願は、データ処理方法及びシステムを提供する。桁数がnである符号語シーケンスを受信すると、次数m×nのチェック行列を決定してもよい。チェック行列のベース行列は、次数mb×nbの行列であり、mbはm/Zに等しく、nbはn/Zに等しく、Zはベース行列の拡張係数であり、mとZは両方とも正の整数であり、Zはmとnの両方で割り切れる。そして、L個の変数ノードはベース行列に基づいて設定され、Lは、ベース行列内の-1に等しくない値の最大数を有する行内の-1に等しくない値の数以上であり、ベース行列内の-1に等しくない値は、チェック行列内の次数Z×Zの非ゼロ部分行列を表す。したがって、階層化された正規化最小和復号アルゴリズムは、比較的少数のL個の変数ノードを使用して実行されてもよく、比較的少ないハードウェアリソースが必要とされ、それによって効果的にコストを削減する。
【0062】
具体的には、図2-1を参照されたい。本出願の一実施形態は、以下のステップを含むデータ処理方法を提供する。
【0063】
201.桁数がnの符号語シーケンスを受信し、nは正の整数である。
【0064】
通信プロセスでは、伝送端は、チェック行列に基づいて情報シーケンスに対してチャネル符号化を実行して、符号語シーケンスを取得する。受信端は、符号語シーケンスを取得し、チャネルを通じて取得された対応する符号語シーケンスを送信し、予め設定された復号アルゴリズムを使用してチェック行列またはベース行列に基づいて符号語シーケンスに対してチャネル復号を実行して、符号語シーケンスに含まれる情報シーケンスを取得し得る。
【0065】
例えば、nは8に等しく、符号語シーケンスは8桁を有し、これらはそれぞれ、次のようにλによって表される。
λ0=3,λ1=2,λ2=-5,λ3=-7,λ4=4,λ5=1,λ6=-9,およびλ7=10
【0066】
202.次数m×nのチェック行列を決定し、チェック行列のベース行列は次数mb×nbの行列であり、mbはm/Zに等しく、nbはn/Zに等しく、Zはベース行列の拡張係数であり、mとZは両方とも正の整数であり、Zはmとnの両方で割り切れる。
【0067】
本出願のこの実施形態では、まず、n、Z、及びラプターライク(raptor-like)構造を有する予め設定された行列に基づいて、次数mb×nbのベース行列を決定し、次いで、ベース行列を拡張して、次数m×nのチェック行列を取得してもよい。
【0068】
ラプターライク構造のチェック行列は、コア行列及び拡張行列の2つの部分を含むことに留意されたい。コア行列は、802.11nにおける二重対角形式と同様の形式であってもよく、高ビットレートをサポートする。拡張行列は、単一列再チェック(single-column recheck)の形式であり、低ビットレートをサポートする。ベース行列の行の異なる数mbを選択して使用することにより、異なるビットレートを柔軟に取得することができる。
【0069】
例えば、図2-2は、ラプターライク構造における予め設定された行列の概略図である。予め設定された行列は過度に大きなデータ量を有するため、予め設定された行列は、図2-2ではスラッシュに置き換えられる。スラッシュが通過する部分は、チェック行列内で1を表し、残りの部分は0を表す。次数Z×Zの各部分行列は、ゼロ行列のオフセット、単位行列、または単位行列を表し、部分行列が単位行列または単位部分行列のオフセットであることを示す。
【0070】
図2-3に示すように、左上隅のブラックボックス内の部分はコア行列(図2-4に示すように)であり、残りの部分は拡張行列である。
【0071】
伝送端と受信端のそれぞれには、ラプターライク構造の予め設定された行列が予め設定されている。伝送端は、送信する必要のある情報シーケンスに基づいて、予め設定された行列から必要なベース行列を決定する。これは、「予め設定された行列からブロックをカットすること」(図2-5に示すように)と同様である。次いで、ベース行列によって表されるチェック行列を使用して符号語シーケンスを符号化し、符号語シーケンスを取得し、符号語シーケンスを受信端に送信する。桁数がnの符号語シーケンスを受信した後、受信端は、予め設定されたZに基づいてnb(nb=n/Z)を決定し、次いで、nb及び予め設定された行列に基づいてmbを決定し、すなわち、予め設定された行列から次数mb×nbのベース行列を「カット(cutting)」し、最後に、ベース行列によって表されるチェック行列を決定する。次いで、受信端は、Zに基づいてベース行列を拡張し、チェック行列を取得する。
【0072】
203.ベース行列に基づいてL個の変数ノードを設定し、Lは、ベース行列内の-1に等しくない値の最大数を有する行内の-1に等しくない値の数以上であり、ベース行列の-1に等しくない値は、チェック行列内の次数Z×Zの非ゼロ部分行列を表す。
【0073】
ベース行列には、-1、0、および0より大きい整数の3つの値があってもよく、-1はチェック行列内の次数Z×Zのゼロ行列を表し、0はチェック行列内の次数Z×Zの単位行列を表し、0より大きい整数は次数Z×Zの単位行列のオフセットを表す。したがって、ベース行列内の-1でない値は、0または0より大きい整数を表す。
【0074】
例えば、Zは6に等しく、次数Z×Zの要素部分行列は次数6×6の行列である。この場合、-1はゼロ行列を表し、
【0075】
【数11】
【0076】
0は単位行列を表し、
【0077】
【数12】
【0078】
1は、単位行列が1ビット右にシフトされていることを示し、
【0079】
【数13】
【0080】
2は、単位行列が2ビット右にシフトされることを示す、
【0081】
【数14】
【0082】
などである。
【0083】
ベース行列は、mb行を有し、各行の行重みは、行内の-1に等しくない値の数であり、ベース行列の行内の-1に等しくない値の最大数を有する行内の-1に等しくない値の数は、ベース行列の最大行重みである。例えば、次のベース行列について、ゼロ番目の行の行重みは3であり、第1行の行重みは2である。この場合、-1に等しくない値の最大数を有する行は、ゼロ番目の行である。行の行重みは3であり、したがって、ベース行列の最大行重みは3である。
【0084】
【数15】
【0085】
本出願のこの実施形態では、L個の変数ノードは、ベース行列の最大行重みに基づいて配置されてもよく、Lは、ベース行列の最大行重み以上である。任意選択で、Lは、ベース行列の最大行重みに等しいように設定されてもよい。
【0086】
203.チェックノードの各層における有効な部分行列をL個の変数ノードに別々にマッピングし、異なる有効な部分行列が異なる変数ノードに対応する。
【0087】
チェックノードの層は、ベース行列の行によって表される部分行列であることに留意されたい。
【0088】
例えば、次のチェック行列について、
【0089】
【数16】
【0090】
チェック行列のベース行列の拡張係数は2であり、すなわちベース行列は、
【0091】
【数17】
【0092】
である。
【0093】
この場合、ベース行列のゼロ番目の行は、チェック行列のゼロ番目の行層(row layer)の部分行列を表し、すなわち、
【0094】
【数18】
【0095】
である。
【0096】
ベース行列のゼロ番目の行は、チェック行列のゼロ番目の行層の部分行列を表し、すなわち、
【0097】
【数19】
【0098】
である。
【0099】
さらに、有効な部分行列は、ベース行列内の-1に等しくない値によって表される部分行列である。前述のベース行列の有効な部分行列は、チェック行列の部分行列であり、0と1によって表され、チェック行列のゼロ番目の層の有効なノードはそれぞれ次のとおりである。
【0100】
【数20】
【0101】
チェック行列の最初の層内の有効なノードは、それぞれ次のとおりである。
【0102】
【数21】
【0103】
チェック行列の最大行重みは3であるため、変数ノード0、変数ノード1、及び変数ノード2を得るために、Lは3に等しいように設定され得る。したがって、チェックノードの各層における有効な部分行列は、以下を得るためにL個の変数ノードにマッピングされ、異なる有効な部分行列は、異なる変数ノードに対応する。
【0104】
【数22】
【0105】
チェックノードの各層における有効な部分行列は、L個の変数ノードにマッピングされ、以下を取得し、異なる有効な部分行列は、異なる変数ノードに対応する。
【0106】
【数23】
【0107】
204.L個のマッピングされた変数ノードの各々に、チェック行列の各層における有効な部分行列の各々に対応するデータを送信する。
【0108】
205.受信したデータを使用することによって、L個の変数ノードによる階層化された正規化最小和復号アルゴリズムの対応する演算ステップを実行する。
【0109】
本出願のこの実施形態は、階層化された正規化最小和復号アルゴリズムによって実装されることに留意されたい。具体的には、チェック行列のj番目の層(jの値が0、1、...、mb-1であるベース行列のj番目の行で表され得る)について、符号語シーケンスは、次の3つの式を使用して復号される。
【0110】
【数24】
【0111】
前述の式において、njは、左から右へのベース行列の列のシーケンス番号を表し、0、1、...、nbの値を有する。また、N(j)はベース行列のj番目の行において-1に等しくない全ての値が配置された列のセットを表し、次数4×11のベース行列によって表されるチェック行列について、N(j)は0,2,3,4,5,6,及び7を含み、kはチェック行列の層内の行のシーケンス番号を表し、0,1,...,Z-1の値を有し、λは入力符号語シーケンス、すなわち受信した符号語シーケンスまたは前の層の反復の後に取得した符号語シーケンスを表し、次数m×nのチェック行列について、λは、n個の値を有してもよく、rは、次の層の入力値として使用される符号語シーケンスと共に更新及び反復されるために使用される巡回変数を表し、またn個の値を有し、rの初期値は、0に設定されてもよく、qは、中間変数を表し、演算(前述の3つの式における演算)でλを更新及び反復するために使用され、αは、補正係数(correction factor)を表し、通常、約0.8の値を有し、
【0112】
【数25】
【0113】
は、N(j)のnj以外の値のセットを表し、符号()(sign())は、記号関数(symbol function)を表し、具体的には、記号関数のパラメータが0より大きい場合、値は1であり、パラメータが0より小さい場合、値は-1であり、またはパラメータが0に等しい場合、値は0であり、
【0114】
【数26】
【0115】
は、累積積関数を表し、min()は最小関数を表す。
【0116】
上記3つの式を通じて、チェック行列を使用して符号語シーケンスが反復され、最後に情報シーケンスを取得する。具体的には、まずチェック行列の第1層を使用して符号語シーケンスを演算して
【0117】
【数27】
【0118】
及び
【0119】
【数28】
【0120】
を取得し、次に、行列の全ての層を使用するまで、チェック行列の次の層を使用し続けることによって演算され続けるための入力値として
【0121】
【数29】
【0122】
及び
【0123】
【数30】
【0124】
を使用し、最終的に取得した新しい符号語シーケンスを情報シーケンスとして使用する。
【0125】
本出願のこの実施形態では、ハードウェアに関して、符号語シーケンスは、チェック行列を使用して、変数ノード及びチェックノードによって演算される必要がある。変数ノードは、式(1)を実行し、その後、取得した結果をチェックノードに配信するように構成され、チェックノードが式(2)を実行し、その後、取得した結果を変数ノードに返す。変数ノードは、式(3)を実行して、λに関連する1回の反復を完了する。
【0126】
本出願のこの実施形態では、チェックノードの各層における有効な部分行列のL個の変数ノードへのマッピングが決定されるため、符号語シーケンスの計算を完了するために、nb変数ノードを配置する必要はなく、L個の変数ノードのみを配置する必要がある。
【0127】
以下は、説明のための例を使用する。
【0128】
λの値の数は8であり、すなわち8桁の符号語シーケンスを受信するものとし、λ0=3、λ1=2、λ2=-5、λ3=-7、λ4=4、λ5=1、λ6=-9、λ7=10とする。
【0129】
チェック行列は、
【0130】
【数31】
【0131】
であると仮定する。
【0132】
チェック行列の拡張係数が2であるベース行列は、
【0133】
【数32】
【0134】
である。
【0135】
チェック行列の第1層(チェック行列は合計で2つの層を含み、各層は2つの行を含む)を使用して符号語シーケンスに対する演算処理を行い、入力値は、受信した符号語シーケンスである。λnj[k]はチェック行列のk番目の行であり、ベース行列のnj番目の行によって表されることを学ぶことができる。具体的には、j=0のとき、njの値はそれぞれ0、2、及び3、すなわち、処理が必要な符号語シーケンスは、λ0[0]=λ0、λ2[0]=λ5、λ3[0]=λ6、λ0[1]=λ1、λ2[1]=λ4、λ3[1]=λ7等である。λnj[k]に対して演算処理を行った後、新しいシーケンスを得る。新しいシーケンスは、次の層の入力値として使用され、すなわち、j=1のときに同様の演算が実行される。
【0136】
本出願のこの実施形態では、4つの変数ノードを配置する必要はない。ベース行列の最大行重み(すなわち、3)は決定され続け、次いで、最大行重み以上の数の変数ノードのみを配置する必要がある、すなわち、3つの変数ノード(それぞれ変数ノード0、変数ノード1、変数ノード2である)を配置することができると決定される。次いで、チェック行列の有効ノードの各々から各変数ノードへのマッピングが確立され、例えば、チェックノードのゼロ番目では、マッピングは次のとおりである。
【0137】
【数33】
【0138】
チェックノードの第1の層では、マッピングは次のとおりである。
【0139】
【数34】
【0140】
変数ノードは、式(1)及び式(3)を演算するために使用され、チェックノードは、式(2)を演算するために使用される。
【0141】
まず、λ0=3,λ1=2,λ2=-5,λ3=-7,λ4=4,λ5=1,λ6=-9,およびλ7=10について、rの初期値は0、すなわちrj,nj[0]は0であるとする。この場合、計算される必要があるλがλ0、λ5、およびλ6であることを式(1)に従って決定し、次いで、λ0を変数ノード0に送信し、λ5を変数ノード1に送信し、λ6を変数ノード2に送信して、計算を通じて以下を取得してもよい。
【0142】
【数35】
【0143】
次いで、q0,0、q0,2、q0,3をチェックノードに送信し、チェックノードは式(2)を実行する。
【0144】
【数36】
【0145】
New_r0,0[0]、new_r0,2[0]、及びnew_r0,3[0]を取得した後、new_r0,0[0]、new_r0,2[0]、及びnew_r0,3[0]を変数ノードに送信し、変数ノードが式(3)を実行するようにする。
【0146】
【数37】
【0147】
したがって、new_λ0,0[0],new_λ0,2[0],及びnew_λ0,3[0]が得られ、残りのλ1,λ2,λ3,λ4,及びλ7はいずれも変化しない。
【0148】
同様に、前述の3つの式は、行k=1を使用して使用され続け、以下を得てもよい:
【0149】
【数38】
【0150】
【数39】
【0151】
【数40】
【0152】
前述の演算の後、λ1,λ4,及びλ7も変化する。
【0153】
チェック行列の1つの層は2つの行を有し、符号語シーケンスが2つの行によって演算された後、取得された新たなλは、
λ0=2,λ1=2,λ2=-5,λ3=-7,λ4=-2,λ5=-2,λ6=-8,及びλ7=-8である。
【0154】
次いで、これらのシーケンスは、入力値として次の層に配信される。4つの変数ノードは、これらのシーケンスを同じ方式で処理し、取得された最新のシーケンスを情報シーケンスとして使用する。
【0155】
チェック行列内の層j=1を使用して計算を実行した後、以下を得る。
【0156】
【数41】
【0157】
【数42】
【0158】
【数43】
【0159】
同様に、前述の3つの式は、行k=1を使用して使用され続け、以下を得てもよい。
【0160】
【数44】
【0161】
【数45】
【0162】
【数46】
【0163】
したがって、最後の情報シーケンスは(0,0,0,-7,0,-2,-6,-6)である。
【0164】
上記の例では、Zチェックノードが必要であることに留意されたい。チェック行列の各層について、Zチェックノードを同時に実行して、実行効率を向上させる。いくつかの実現可能な実施形態では、P個のチェックノードが配置され、PはZ未満の正の整数であり、チェック行列の各層は、ceiling(Z/P)個のサブ層に分割され、ceiling()は、切り上げ関数であり、各サブ層は、チェック行列のP個の行を超えない行を含む。階層化された正規化最小和復号アルゴリズムが実行されるとき、チェック行列の各層の各サブ層の行は、別々にP個のチェックノードに対応し、異なる行が異なるチェックノードに対応する。データを受信した後、P個のチェックノードは、各サブ層の対応する行を使用して、階層化された正規化最小和復号アルゴリズムの対応する演算ステップをデータに対して実行する。
【0165】
例えば、チェック行列の層は8つの行を有し、すなわち、ベース行列の拡張係数Zは8に等しい。チェック行列の単位行列は、有効な部分行列のインスタンスとして使用される。
【0166】
【数47】
【0167】
チェック行列の各層は、ceiling(Z/P)個のサブ層に分割され、ceiling()は切り上げ関数であり、各サブ層は、チェック行列のP個の行を超えない行を含む。P=3、すなわちceiling(Z/P)=3とすると、以下が得られる。
【0168】
【数48】
【0169】
このように、前述のサブ層0、1、及び2の演算をそれぞれ実行及び使用するP個(すなわち3つ)のチェックノードのみを配置する必要がある。
【0170】
階層化された復号アルゴリズムでは、各層の計算は、上位層の計算結果に依存することに留意されたい。計算ユニット(変数ノードまたはチェックノード)の処理は特定の遅延を有するため、(i-1)番目の層で処理した後に、読み取られる必要があり、i番目の層で処理されるデータがRAMに書き込まれない場合、読み取りと書き込みの間に競合が存在する。この場合、図2-6に示されるように、デコーダのスループットレートに影響を与える追加の待ち時間を導入する必要がある。
【0171】
上位層における処理と下位層における処理との間の競合は、2つの層の準巡回行列シフト値(quasi-cyclic matrix shif tvalues)に関連する。QC-LDPC符号の準巡回特徴に基づいて、ベース行列の行のZチェックノードは直交しており、Zノードの処理はシーケンスを有さず、したがって、結果は同じである。ベース行列の行内の-1に等しくないすべての値に、同じオフセット値変換が追加され、チェックノードのシーケンスを調整することができる。
【0172】
例えば、図2-7に示すように、分割を通じて得られた上記3つのサブ層行列の演算シーケンスを調整する。適切なオフセット値を見つけて、行列上で以下に示すシーケンス変換を実行する。変換された行列を使用すると、デコーダのスループットレートに対する読み取りと書き込みとの間の競合の影響を特定の程度軽減することができる。
【0173】
図3を参照されたい。本出願は、デコーダ300を提供する。デコーダ300は、階層化された正規化最小和に基づいた復号アルゴリズムを使用し、トランシーバモジュール301、処理モジュール302、及びL個も変数ノード303を含む。
【0174】
トランシーバモジュール301は、符号語シーケンスを受信するように構成され、桁数はnであり、nは正の整数である。
【0175】
処理モジュール302は、次数m×nのチェック行列を決定するように構成され、チェック行列のベース行列は次数mb×nbの行列であり、mbはm/Zに等しく、nbはn/Zに等しく、Zはベース行列の拡張係数であり、mとZは両方とも正の整数であり、Zはmとnの両方で割り切れる。
【0176】
処理モジュール302は、ベース行列に基づいてL個の変数ノードを設定するようにさらに構成され、Lは、ベース行列内の-1に等しくない値の最大数を有する列の-1に等しくない値の数以上であり、ベース行列の-1に等しくない値は、チェック行列内の次数Z×Zの非ゼロ部分行列を表す。
【0177】
処理モジュール302は、チェックノードの各層における有効な部分行列をL個の変数ノードに別々にマッピングするようにさらに構成され、異なる有効な部分行列は、異なる変数ノードにマッピングされ、有効な部分行列は、ベース行列内の-1に等しくない値によって表される部分行列であり、チェックノードの層は、ベース行列の行によって表される部分行列である。処理モジュールは、チェック行列の各層内の各有効な部分行列に対応するデータを、L個のマッピングされた変数ノードの各々に送信するようにさらに構成される。
【0178】
L個の変数ノード303は、受信したデータを使用することによって、階層化された正規化最小和復号アルゴリズムの対応する演算ステップを実行するように構成される。
【0179】
いくつかの実現可能な実施形態では、処理ユニット302は、
n、Z、及びラプターライク構造を有する予め設定された行列に基づいて、次数mb×nbのベース行列を決定し、
ベース行列を拡張して、次数m×nのチェック行列を得るように特に構成される。
【0180】
いくつかの実現可能な実施形態では、処理ユニット302は、
P個のチェックノードを設定するようにさらに構成され、PはZ未満の正の整数であり、チェック行列の各層は、ceiling(Z/P)個のサブ層に分割され、ceiling()は、切り上げ関数であり、各サブ層は、チェック行列のP個の行を超えない行を含む。
【0181】
デコーダは、P個のチェックノード304をさらに含み、これは、P個のチェックノードに対応するように、チェック行列の各層の各サブ層内の行を別々に作成し、異なる行が異なるチェックノードに対応し、データを受信し、各サブ層内の対応する行を使用することによって、階層化された正規化最小和復号アルゴリズムの対応する演算ステップをデータに対して実行するように構成される。
【0182】
いくつかの実現可能な実施形態では、処理ユニット302は、
オフセット値を決定し、オフセット値に基づいて、チェック行列の層のサブ層を使用するシーケンスを調整するようにさらに構成される。
【0183】
前述の実施形態のすべてまたはいくつかは、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組み合わせを使用して実装し得る。ソフトウェアを使用して実施形態を実装する場合、実施形態は、コンピュータプログラム製品の形態で完全にまたは部分的に実装し得る。
【0184】
コンピュータプログラム製品は、1つまたは複数のコンピュータ命令を含む。コンピュータプログラム命令がコンピュータ上にロードされて実行されるとき、本発明の実施形態による手順または機能のすべてまたはいくつかが生成される。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、または別のプログラム可能な装置であり得る。コンピュータ命令は、コンピュータ可読記憶媒体に記憶され得るか、またはコンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体に伝送され得る。例えば、コンピュータ命令は、ウェブサイト、コンピュータ、サーバ、またはデータセンタから、有線(例えば、同軸ケーブル、光ファイバー、またはデジタル加入者線(DSL))またはワイヤレス(例えば、赤外線、無線、またはマイクロ波)方式で別のウェブサイト、コンピュータ、サーバ、またはデータセンタに伝送され得る。コンピュータ可読記憶媒体は、コンピュータによってアクセス可能な任意の使用可能な媒体、もしくは1つまたは複数の使用可能な媒体を統合するサーバまたはデータセンタなどのデータ記憶デバイスであり得る。使用可能な媒体は、磁気媒体(例えば、フロッピーディスク、ハードディスク、または磁気テープ)、光学媒体(例えば、DVD)、半導体媒体(例えば、Solid State Disk(SSD))などであり得る。
【0185】
便利かつ簡単な説明の目的で、前述のシステム、装置、およびユニットの詳細な作業プロセスについて、前述の方法の実施形態における対応するプロセスを参照することは、当業者によって明確に理解され得る。詳細については、ここでは再度説明しない。
【0186】
本出願において提供されるいくつかの実施形態では、開示されたシステム、装置、及び方法は、他の方法で実装され得ることを理解されたい。例えば、説明した装置の実施形態は単なる例にすぎない。たとえば、ユニット分割は単なる論理的機能の分割であり、実際の実装では他の分割である場合がある。例えば、複数のユニットまたはコンポーネントを組み合わせたり、別のシステムに統合したり、またはいくつかの機能を無視したり、実行しなかったりし得る。さらに、表示または説明された相互結合または直接結合または通信接続は、いくつかのインターフェースを介して実装し得る。装置またはユニット間の間接的な結合または通信接続は、電子的、機械的、または他の形態で実装し得る。
【0187】
別個の部分として説明されたユニットは、物理的に分離されていても、されていなくてもよく、ユニットとして表示された部分は、物理ユニットであってもそうでなくてもよく、1つの位置に配置されていても、複数のネットワークユニット上に分散されていてもよい。ユニットのいくつかまたはすべては、実施形態の解決策の目的を達成するための実際の要件に基づいて選択され得る。
【0188】
さらに、本出願の実施形態における機能ユニットは、1つの処理ユニットに統合され得るか、またはユニットのそれぞれが物理的に単独で存在し得るか、または2つ以上のユニットが1つのユニットに統合される。統合されたユニットは、ハードウェアの形で実装されてもよく、ソフトウェア機能ユニットの形で実装されてもよい。
【0189】
統合されたユニットがソフトウェア機能ユニットの形で実装され、独立した製品として販売または使用される場合、統合されたユニットは、コンピュータ可読記憶媒体に記憶され得る。そのような理解に基づいて、本出願の技術的解決策は基本的に、または先行技術に寄与する部分、または技術的解決策のすべてまたは一部は、ソフトウェア製品の形で実装され得る。コンピュータソフトウェア製品は、記憶媒体に格納され、コンピュータデバイス(パーソナルコンピュータ、サーバ、またはネットワークデバイスであり得る)に、本出願の実施形態で説明された方法のステップのすべてまたはいくつかを実行するように指示するためのいくつかの命令を含む。記憶媒体は、USBフラッシュドライブ、リムーバブルハードディスク、読み取り専用メモリ(Read-Only Memory、ROM)、ランダムアクセスメモリ(Random Access Memory、RAM)、磁気ディスク、または光ディスクなどの、プログラムコードを格納することができる任意の媒体を含む。
【0190】
前述の実施形態は、本出願の技術的解決策を説明することを意図しているに過ぎず、本出願を限定することを意図していない。本出願は、前述の実施形態を参照して詳細に説明されるが、当業者は、本出願の実施形態の技術的解決策の範囲から逸脱することなく、前述の実施形態で説明された技術的解決策にさらに修正を加えてもよく、またはそのいくつかの技術的特徴に等価な置き換えを行ってもよいことを理解すべきである。
図1-1】
図1-2】
図1-3】
図2-1】
図2-2】
図2-3】
図2-4】
図2-5】
図2-6】
図2-7】
図3
【手続補正書】
【提出日】2022-04-26
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
データ処理方法であって、前記方法は、階層化された正規化最小和に基づく復号アルゴリズムを使用し、
桁数がnである符号語シーケンスを受信することであって、nは正の整数である、ことと、
次数m×nのチェック行列を決定することであって、前記チェック行列のベース行列は次数mb×nbの行列であり、mbはm/Zに等しく、nbはn/Zに等しく、Zは前記ベース行列の拡張係数であり、mとZは両方とも正の整数であり、Zはmとnの両方で割り切れることと、
前記ベース行列に基づいてL個の変数ノードを設定することであって、Lは、前記ベース行列内の-1に等しくない値の最大数を有する行の-1に等しくない値の数以上であり、前記ベース行列内の-1に等しくない値は、前記チェック行列内の次数Z×Zの非ゼロ部分行列を表す、ことと、
前記チェックノードの各層における有効な部分行列を前記L個の変数ノードに別々にマッピングすることであって、異なる有効な部分行列は、異なる変数ノードにマッピングされ、前記有効な部分行列は、前記ベース行列内の-1に等しくない値によって表される部分行列であり、前記チェックノードの層は、前記ベース行列の行によって表される部分行列である、ことと、
前記L個のマッピングされた変数ノードの各々に、前記チェック行列の各層における各有効な部分行列に対応するデータを送信することと、
前記受信したデータを使用することによって、前記L個の変数ノードによる前記階層化された正規化最小和復号アルゴリズムの対応する演算ステップを実行することと
を含む方法。
【請求項2】
Lは、前記ベース行列内の-1に等しくない値の最大数を有する前記行内の-1に等しくない前記数に等しい、請求項1に記載の方法。
【請求項3】
前記次数m×nのチェック行列を決定することは、
n、Z、及びラプターライク構造を有する予め設定された行列に基づいて、次数mb×nbの前記ベース行列を決定することと、
前記ベース行列を拡張して、次数m×nの前記チェック行列を得ることと
を含む、請求項1または2に記載の方法。
【請求項4】
P個のチェックノードを設定することであって、PはZ未満の正の整数であり、前記チェック行列の各層は、ceiling(Z/P)個のサブ層に分割され、ceiling()は、切り上げ関数であり、各サブ層は、前記チェック行列のP個の行を超えない行を含むことと、
前記P個のチェックノードに対応するように、前記チェック行列の各層の各サブ層の行を別々に作成することであって、異なる行が異なるチェックノードに対応する、ことと、前記P個のチェックノードを使用してデータを受信することと、各サブ層の対応する行を使用することによって、前記階層化された正規化最小和復号アルゴリズムの対応する演算ステップを前記データに対して実行することとをさらに含む、請求項1から3のいずれか1項に記載の方法。
【請求項5】
前記P個のチェックノードを設定することの後に、
オフセット値を決定し、前記オフセット値に基づいて、前記チェック行列の層のサブ層を使用するシーケンスを調整することをさらに含む、請求項4に記載の方法。
【請求項6】
デコーダであって、前記デコーダは、階層化された正規化最小和に基づく復号アルゴリズムを使用し、
桁数がnである符号語シーケンスを受信するように構成されたトランシーバモジュールであって、nは正の整数であるトランシーバモジュールと、
次数m×nのチェック行列を決定するように構成された処理モジュールであって、前記チェック行列のベース行列は次数mb×nbの行列であり、mbはm/Zに等しく、nbはn/Zに等しく、Zは前記ベース行列の拡張係数であり、mとZは両方とも正の整数であり、Zはmとnの両方で割り切れる、処理モジュールと、を備え、
前記処理モジュールは、前記ベース行列に基づいてL個の変数ノードを設定するようにさらに構成され、Lは、前記ベース行列内の-1に等しくない値の最大数を有する行の-1に等しくない値の数以上であり、前記ベース行列内の-1に等しくない値は、前記チェック行列内の次数Z×Zの非ゼロ部分行列を表し、
前記処理モジュールは、前記チェックノードの各層における有効な部分行列を、前記L個の変数ノードに別々にマッピングするようにさらに構成され、異なる有効な部分行列は、異なる変数ノードにマッピングされ、前記有効な部分行列は、前記ベース行列内の-1に等しくない値によって表される部分行列であり、前記チェックノードの層は、前記ベース行列の行によって表される部分行列であり、
前記処理モジュールは、前記チェック行列の各層内の各有効な部分行列に対応するデータを、前記L個のマッピングされた変数ノードの各々に送信するようにさらに構成され、
前記L個の変数ノードは、前記受信したデータを使用して、前記階層化された正規化最小和復号アルゴリズムの対応する演算ステップを実行するように構成された、デコーダ。
【請求項7】
前記処理モジュールは、
n、Z、及びラプターライク構造を有する予め設定された行列に基づいて、次数mb×nbの前記ベース行列を決定し、
前記ベース行列を拡張して、次数m×nのチェック行列を得るように特に構成された、請求項6に記載のデコーダ。
【請求項8】
前記処理モジュールは、
P個のチェックノードを設定し、PはZ未満の正の整数であり、前記チェック行列の各層は、ceiling(Z/P)個のサブ層に分割され、ceiling()は、切り上げ関数であり、各サブ層は、前記チェック行列のP個の行を超えない行を含む、ようにさらに構成され
前記P個のチェックノード、前記P個のチェックノードに対応するように、前記チェック行列の各層の各サブ層内の行を別々に作成し、異なる行が異なるチェックノードに対応し、データを受信し、各サブ層内の対応する行を使用して、前記階層化された正規化最小和復号アルゴリズムの対応する演算ステップを前記データに対して実行するように構成された、請求項6または7に記載のデコーダ。
【請求項9】
前記処理モジュールは、
オフセット値を決定し、前記オフセット値に基づいて、前記チェック行列の層のサブ層を使用するシーケンスを調整するようにさらに構成された、請求項8に記載のデコーダ。
【請求項10】
実行されると、請求項1から5のいずれか1項に記載の方法を実行するように構成される、コンピュータプログラム。
【請求項11】
命令を記憶するコンピュータ可読記憶媒体であって、前記命令は、請求項1から5のいずれか一項に記載の方法を実行するために使用される、コンピュータ可読記憶媒体。
【国際調査報告】