(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-10
(45)【発行日】2024-01-18
(54)【発明の名称】ポーラー符号の復号方法、装置、記憶媒体及び端末
(51)【国際特許分類】
H03M 13/13 20060101AFI20240111BHJP
【FI】
H03M13/13
(21)【出願番号】P 2021569504
(86)(22)【出願日】2020-06-11
(86)【国際出願番号】 CN2020095631
(87)【国際公開番号】W WO2020259305
(87)【国際公開日】2020-12-30
【審査請求日】2021-11-26
(31)【優先権主張番号】201910568753.5
(32)【優先日】2019-06-27
(33)【優先権主張国・地域又は機関】CN
【前置審査】
(73)【特許権者】
【識別番号】516010548
【氏名又は名称】セインチップス テクノロジー カンパニーリミテッド
(74)【代理人】
【識別番号】100112656
【氏名又は名称】宮田 英毅
(74)【代理人】
【識別番号】100089118
【氏名又は名称】酒井 宏明
(72)【発明者】
【氏名】史光明
【審査官】大野 友輝
(56)【参考文献】
【文献】米国特許出願公開第2019/0149268(US,A1)
【文献】特表2016-515329(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H03M 13/13
(57)【特許請求の範囲】
【請求項1】
長さNのPolar符号を互いに排他的なSグループ(Sは2の整数乗である)のPolar符号に分割し、各グループのPolar符号は、予め設定されたルールに従って前記の長さNのPolar符号から抽出したデータであることと、
SグループのPolar符号における各グループのPolar符号に対して対数尤度比LLR計算を行った後、各グループのPolar符号の計算結果を共同で復号することと、
を含
み、
長さNのPolar符号を互いに排他的なSグループのPolar符号に分割し、各グループのPolar符号は、予め設定されたルールに従って前記の長さNのPolar符号から抽出したデータである後に、さらに、
各グループのPolar符号をMグループ(Mは2の整数乗である)のPolar符号に分割することを含み、
SグループのPolar符号における各グループのPolar符号に対して対数尤度比LLR計算を行うことは、
前記のMグループのPolar符号における各グループのPolar符号に対してLLR計算を行った後に、計算により得られたM個のLLR計算結果に対してLLR計算を行い、計算により得られた前記のMグループのPolar符号のLLR計算結果を前記のSグループのPolar符号における1つのグループのPolar符号のLLR計算結果とすることを含む、
ことを特徴とするポーラーPolar符号の復号方法。
【請求項2】
長さNのPolar符号を互いに排他的なSグループのPolar符号に分割し、各グループのPolar符号は、予め設定されたルールに従って前記の長さNのPolar符号から抽出したデータであることは、
長さNのPolar符号をSグループのPolar符号に分割し、各グループのPolar符号の始点が、前記の長さNのPolar符号から選択したS個の連続的なPolar符号のうちの1つのPolar符号であり、各グループのPolar符号の始点を除くデータは、始点からSを単位ステップ長さとして前記の長さNのPolar符号を抽出して得られたデータであり、ここで、各グループのPolar符号の長さはN/Sであることを含む、
ことを特徴とする請求項1に記載のポーラーPolar符号の復号方法。
【請求項3】
各グループのPolar符号をMグループのPolar符号に分割することは、
各グループの長さがN/SであるPolar符号をMグループのPolar符号に分割し、前記のMグループのPolar符号における各グループのPolar符号の始点は、前記の各グループの長さがN/SであるPolar符号から選択したM個の連続的なPolar符号のうちの1つのPolar符号であり、前記のMグループのPolar符号における各グループのPolar符号の始点を除くデータは、始点からMを単位ステップ長さとして前記の各グループの長さがN/SであるPolar符号を抽出して得られたデータであり、Mグループに分割されたPolar符号における各グループのPolar符号の長さはN/(S*M)であることを含む、
ことを特徴とする請求項
1に記載のポーラーPolar符号の復号方法。
【請求項4】
各グループのPolar符号に対してLLR計算を行うことは、
各グループのPolar符号に対してLLR計算を並列に行うことを含む、
ことを特徴とする請求項
2に記載のポーラーPolar符号の復号方法。
【請求項5】
長さNのPolar符号を互いに排他的なSグループのPolar符号に分割し、分割された各グループのPolar符号をS個(Sは2の整数乗である)の計算モジュールに順次配布し、各グループのPolar符号が予め設定されたルールに従って前記の長さNのPolar符号から抽出したデータであるように設置された制御モジュールと、
受信した各グループのPolar符号に対して対数尤度比LLR計算を行うように設置されたそれぞれの計算モジュールと、
それぞれの計算モジュールによって得られたLLR計算結果を共同で復号するように設置された復号モジュールと、を備え
、
前記制御モジュールは、さらに、前記のSグループのPolar符号における各グループのPolar符号をMグループ(Mは2の整数乗である)のPolar符号に分割し、
前記のMグループのPolar符号における各グループのPolar符号を前記計算モジュールに順次送信するように設置され、
前記計算モジュールは、前記のMグループのPolar符号における各グループのPolar符号に対してLLR計算を行った後に、計算により得られたM個のLLR計算結果に対してLLR計算を行い、計算により得られた前記のMグループのPolar符号のLLR計算結果を、受信したSグループのPolar符号における1つのグループのPolar符号のLLR計算結果とするように設置される、
ことを特徴とするポーラーPolar符号の復号システム。
【請求項6】
前記制御モジュールは、以下の方式によって長さNのPolar符号を互いに排他的なSグループのPolar符号に分割し、各グループのPolar符号が予め設定されたルールに従って前記の長さNのPolar符号から抽出したデータであるように設置される:
長さNのPolar符号をSグループのPolar符号に分割し、各グループのPolar符号の始点が、前記の長さNのPolar符号から選択したS個の連続的なPolar符号のうちの1つのPolar符号であり、各グループのPolar符号の始点を除くデータは、始点からSを単位ステップ長さとして前記の長さNのPolar符号を抽出して得られたデータであり、ここで、各グループのPolar符号の長さはN/Sである、
ことを特徴とする請求項
5に記載のポーラーPolar符号の復号システム。
【請求項7】
前記制御モジュールは、以下の方式によって前記のSグループのPolar符号における各グループのPolar符号をMグループのPolar符号に分割するように設置される:
各グループの長さがN/SであるPolar符号をMグループのPolar符号に分割し、前記のMグループのPolar符号における各グループのPolar符号の始点は、前記の各グループの長さがN/SであるPolar符号から選択したM個の連続的なPolar符号のうちの1つのPolar符号であり、前記のMグループのPolar符号における各グループのPolar符号の始点を除くデータは、始点からMを単位ステップ長さとして前記の長さがN/SであるPolar符号を抽出して得られたデータであり、Mグループに分割されたPolar符号における各グループのPolar符号の長さはN/(S*M)である、
ことを特徴とする請求項
5に記載のポーラーPolar符号の復号システム。
【請求項8】
プロセッサによって実行される際に請求項1~
4のいずれかに記載のポーラーPolar符号の復号方法を実現するコンピュータ実行可能な命令が格納されている、
ことを特徴とするコンピュータ読み取り書き込み可能な記憶媒体。
【請求項9】
コンピュータ実行可能な命令が格納されるように設置されるメモリと、
請求項1~
4のいずれかに記載のポーラーPolar符号の復号方法を実現するように、前記コンピュータ実行可能な命令を実行するように設置されるプロセッサと、を備える、
ことを特徴とするポーラーPolar符号の復号端末。
【発明の詳細な説明】
【関連出願の相互参照】
【0001】
本願は、2019年6月27日に中国専利局に出願された、出願番号が201910568753.5である中国特許出願に基づく優先権を主張し、その開示全体は援用により本願に組み込まれるものとする。
【技術分野】
【0002】
本願の実施例は、第5世代移動通信(5th Generation Mobile Communication、5G)符号化・復号の分野に関するが、これに限定されず、例えば、ポーラー符号(Polar Code)の復号方法、装置、記憶媒体及び端末に関する。
【背景技術】
【0003】
第5世代移動通信5G技術の標準は、低遅延と高信頼性を特徴としている。5G新無線技術(New Radio、NR)の超高信頼性低遅延通信(Ultra Reliable Low Latency Communications、URLLC)の応用シナリオでは、ユーザ側の遅延が0.5msであることが要求され、これは第4世代移動通信(4th Generation Mobile Communication、4G)で要求されるユーザ側の遅延10msの20分の1であり、5G NRの拡張型モバイルブロードバンド(Enhance Mobile Broadband、eMBB)の応用シナリオでは、ユーザー側の遅延が4msであることが要求され、4Gにて要求されるユーザー側の遅延の5分の2である。ポーラー(Polar)符号の符号化・復号は、理論的には、コード長(code length)が十分に長い場合にシャノン(Shannon)限界に達することができ、5Gの高信頼性の要求を満足することを証明でき、また、低遅延はPolar符号の復号設計の1つの挑戦となっている。
【0004】
従来技術において、Polar符号の復号には、逐次除去(Success Cancellation 、SC)復号アルゴリズムが用いられており、復号の過程がビット直列復号であるため、復号の遅延は非常に大きくなる。SCアルゴリズムに基づいて改良した拡張SC復号アルゴリズムは、逐次除去リスト復号法(Successive Cancellation List decoding、SCL)、逐次除去スタック復号法(Successive Cancellation Stack decoding、SCS)及び逐次除去ハイブリッド復号法(Successive Cancellation Hybrid decoding、SCH)などを含む。これらの拡張されたSC復号アルゴリズムは、復号遅延をある程度で低減できるが、本質的には逐次除去復号アルゴリズムであり、5Gの低遅延の要求を満足することができない。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本願の実施例には、従来技術におけるPolar符号の復号高遅延の問題を解消することができるポーラー符号の復号方法、装置、記憶媒体及び端末が提供される。
【課題を解決するための手段】
【0006】
本願の実施例には、ポーラーPolar符号の復号方法が提供され、
長さNのPolar符号をSグループ(sは2の整数乗である)のPolar符号に分割し、各グループのPolar符号は、予め設定されたルールに従って前記の長さNのPolar符号から抽出したデータであることと、
SグループのPolar符号における各グループのPolar符号に対して対数尤度比LLR計算を行った後、前記のSグループのPolar符号の計算結果を共同で復号することと、を含む。
【0007】
本願の実施例には、ポーラーPolar符号の復号システムがさらに提供され、
長さNのPolar符号をSグループのPolar符号に分割し、分割された各グループのPolar符号をs個(sは2の整数乗である)の計算モジュールに順次配布し、各グループのPolar符号が予め設定されたルールに従って前記の長さNのPolar符号から抽出したデータであるように設置された制御モジュールと、
受信した各グループのPolar符号に対して対数尤度比LLR計算を行うように設置されたそれぞれの計算モジュールと、
それぞれの計算モジュールによって得られたLLR計算結果を共同で復号するように設置された復号モジュールと、を備える。
【0008】
本願の実施例には、プロセッサによって実行される際に上述した実施例に記載のポーラーPolar符号の復号方法を実現するコンピュータ実行可能な命令が格納されているコンピュータ読み取り書き込み可能な記憶媒体がさらに提供される。
【0009】
本願の実施例には、コンピュータ実行可能な命令が格納されるように設置されるメモリと、上述した実施例に記載のポーラーPolar符号の復号方法を実現するように、前記コンピュータ実行可能な命令を実行するように設置されるプロセッサと、を備えるポーラーPolar符号の復号端末がさらに提供される。
【図面の簡単な説明】
【0010】
図面は、本発明の技術考案に対する理解を提供するために使用され、明細書の一部を構成し、本願の実施例と共に本願の技術考案を説明するためのものであり、本願の技術考案を限定するものではない。
【
図1】
図1は、本願の実施例に提供されるポーラー符号の復号方法のフローチャートである。
【
図2】
図2は、本願の応用例において単一のコードブロックを並列に計算する模式図である。
【
図3】
図3は、本願の応用例において4つのコードブロックを並列に計算する模式図である。
【
図4】
図4は、本願の応用例において長いコードブロックを並列に計算する模式図である。
【
図5】
図5は、本願の実施例に提供されるポーラー符号の復号システムの構成モジュール図である。
【発明を実施するための形態】
【0011】
以下、図面を参照しながら本願の実施例を説明する。
【0012】
図面のフローチャートに示されるステップは、1セットのコンピュータ実行可能な命令を含むコンピュータシステムで実行されることができる。
【0013】
Polar符号のコード長Nは、復号待ちのPolar符号のビット数であり、Polar符号の復号過程において、復号木(decoding tree)における左子ノード、即ちノードfの対数尤度比(Log―Likelihood Ratio、LLR)計算及び復号木における右子ノード、即ちノードgのLLR計算を行う必要がある。A
0[i]が元々入力されたLLRデータ、即ち復号木の第0層のノードであると仮定すると、ノードfに対してLLR計算を行い、即ち復号木の第m層のノードiの左子ノードのLLR(A
lm)を更新し、計算式は、以下のとおりである。
sign()は正と負の符号をとる関数であり、mは復号木の高さであり、上記式におけるmの取りうる値の範囲は1~log
2(N)である。
【0014】
ノードgに対してLLR計算を行い、即ち復号木における第m層のノードiの右子ノードLLR(A
rm)を更新し、この値は左子ノードからフィードバックされた硬判定値B
lmを利用して更新する必要があり、前記硬判定値B
lmは、復号経路に基づいて決定される復号情報であり、計算式は、以下のとおりである。
【0015】
上記のノードfのLLR計算式から分かるように、第m層のノードiのLLR計算は、第m-1層の固有のLLRデータのみに関連しており、ノードgのLLR計算式から分かるように、第m層のノードiのLLR計算は第m-1層の固有のLLRデータ及び左子ノードによってフィードバックされた硬判定値B
lmに関連している。各ノードのLLR計算に必要なデータは独立したものであるため、sパス(経路)のノードfとノードgの計算を並列に行うことができる。ここで、sは2の整数乗であり、取りうる値は1、2、4、8、16、32に限定されず、sの取りうる値が大きいほど、復号遅延は短くなり、当業者は、実際の復号遅延の必要に応じてsの値を取ることができる。sパスの並列な計算式は、以下のとおりである。
【0016】
上記の導出過程によれば、本願の実施例には、ポーラーPolar符号の復号方法、システム、記憶媒体及び端末が提供される。
【0017】
図1に示されるように、本願の実施例には、Polar符号の復号方法が提供され、前記方法は、以下のことを含む。
【0018】
S110、長さNのPolar符号をSグループのPolar符号に分割し、各グループのPolar符号は、予め設定されたルールに従って前記の長さNのPolar符号から抽出したデータである。
ここで、sは2の整数乗である。
【0019】
S120、SグループのPolar符号における各グループのPolar符号に対して対数尤度比LLR計算を行った後、各グループのPolar符号の計算結果を共同で復号する。
【0020】
本願では、Polar符号の長いコードブロックをグループ化し、複数のグループの間に結合関係がないという特徴を利用して、各グループ化されたデータを個別に復号した後に各グループの復号結果を共同で復号し、従来技術において長いコードブロック全体のPolarを復号することに比べて、復号遅延が低減され、従来技術に存在するPolar符号復号の高遅延の問題を解消する。
【0021】
本実施例において、前記の長さNのPolar符号をSグループのPolar符号に分割し、各グループのPolar符号は、予め設定された抽出ルールに従って前記の長さNのPolar符号から抽出したデータであることは、長さNのPolar符号をSグループのPolar符号に分割し、各グループのPolar符号の始点が、長さNのPolar符号から選択したS個の連続的なPolar符号のうちの1つのPolar符号であり、各グループのPolar符号の始点を除くデータは、始点からSを単位ステップ長さとして前記の長さNのPolar符号を抽出して得られたデータであり、ここで、各グループのPolar符号の長さはN/Sであることを含む。例えば、Sが2である場合、2つのグループのPolar符号はそれぞれA0[2i]及びA0[2i-1]であり、ここで、i=1、2...N/2であり、各グループのPolar符号の長さはN/2である。Sが4である場合、4つのグループのPolar符号はそれぞれA0[4i]、A0[4i-1]、A0[4i-2]、A0[4i-3]であり、ここで、i=1、2...N/4であり、各グループのPolar符号の長さはN/4である。
【0022】
本実施例において、前記の方法では、長さNのPolar符号をSグループのPolar符号に分割し、各グループのPolar符号は、予め設定されたルールに従って前記の長さNのPolar符号から抽出したデータである後に、さらに、各グループのPolar符号をMグループ(Mは2の整数乗である)のPolar符号に分割することを含む。SグループのPolar符号における各グループのPolar符号に対して対数尤度比LLR計算を行うことは、MグループのPolar符号における各グループのPolar符号に対してLLR計算を行った後に、計算により得られたM個のLLR計算結果に対してLLR計算を行い、計算により得られた前記のMグループのPolar符号のLLR計算結果を前記Sグループにおける1つのグループのPolar符号のLLR計算結果とすることを含む。
【0023】
前記の各グループのPolar符号をMグループのPolar符号に分割することは、各グループの長さがN/SであるPolar符号について、当該グループのPolar符号を再びMグループのPolar符号に分割し、MグループのPolar符号における各グループのPolar符号の始点は、前記の長さがN/SであるPolar符号から選択したM個の連続的なPolar符号のうちの1つのPolar符号であり、MグループのPolar符号における各グループのPolar符号の始点を除くデータは、始点からMを単位ステップ長さとして前記の長さがN/SであるPolar符号を抽出して得られたデータであり、Mグループに分割されたPolar符号における各グループのPolar符号の長さはN/(S*M)であることを含む。例えば、コード長が2048のPolar符号を4つのグループのPolar符号に分割し、第1グループのPolar符号は、{A0[8i]、A0[8i-4]}であり、第2グループのPolar符号は、{A0[8i-1]、A0[8i-5]}であり、第3グループのPolar符号は、{A0[8i-2]、A0[8i-6]}であり、第4グループのPolar符号は、{A0[8i-3]、A0[8i-7]}であり、ここで、i=1、2、...、256であり、その後、各グループのPolar符号を2つのグループのPolar符号に分割し、第1グループのPolar符号が2つのグループのPolar符号に分割された後に、{A0[8i]}及び{A0[8i-4]}となり、第2グループのPolar符号が2つのグループのPolar符号に分割された後に、{A0[8i-1]}及び{A0[8i-5]}となり、第3グループのPolar符号が2つのグループのPolar符号に分割された後に、{A0[8i-2]}及び{A0[8i-6]}となり、第4グループのPolar符号が2つのグループのPolar符号に分割された後に、{A0[8i-3]}及び{A0[8i-7]}となる。第1グループのPolar符号を例とすると、A0[8i]のLLR計算を完了し、1パスの計算結果をバッファリングして出力し、A0[8i-4]のLLR計算を完了し、1パスの計算結果をバッファリングして出力し、バッファリングされた2パスの計算結果をLLR計算した後に出力された1パスの計算結果を第1グループのPolar符号のLLR計算の最終的な結果とする。他の3つのグループのPolar符号のLLR計算過程は、第1グループのPolar符号のLLR計算過程と一致しているため、ここで再び説明しない。
【0024】
本願の実施例において、上述した各グループのPolar符号に対してLLR計算を行うことは、各グループのPolar符号に対してLLR計算を並列に行うことを含む。
【0025】
本願の実施例は、従来技術においてPolarをビット直列復号することに比べて、並列復号方法を用いることにより、復号遅延を低減することができる。
【0026】
以下、本願の実施例を応用例により例示する。
【0027】
応用例1
現在復号待ちのPolar符号のコードブロック(code block)の長さがそれぞれ1024、256、256、256、256、1024、256、256、256、256、256であると仮定すると、復号の過程は以下のとおりである。
【0028】
第1ステップ、Polar符号に対してLLR計算を行うためのLLR計算ユニットを配置する。本応用例では、4つのLLRユニットが配置されており、各LLRユニットは、長さ256のコードブロックを計算することができ、復号待ちのPolar符号のコードブロックのLLRデータをそれぞれメモリに書き込み、書き込みアドレスを記録し、復号パラメータを配置し、復号パラメータは、各コードブロックのLLRデータの書き込みアドレス、各コードブロックのコード長及び復号付随パラメータを含み、前記復号付随パラメータは、フリーズビット、情報ビット、チェックビット表示、及び情報ビット数、巡回冗長検査(Cyclic Redundancy Check、CRC)パターンなどを含む。
【0029】
第2ステップ、復号を開始し、上記の配置された復号パラメータを読み取る。
【0030】
第3ステップ、コード長が1024である1つのPolar符号を復号し、4つのLLR計算ユニットがいずれも使用可能かどうかをリアルタイムに照会する。前記の4つのLLR計算ユニットがいずれも使用可能である場合、当該Polar符号を4つのグループに分割して4つのLLR計算ユニットにそれぞれ送信してLLR計算を行い、
図2に示されるように、
図2におけるfguユニットは即ちLLR計算ユニットであり、4つのグループのPolar符号はそれぞれA
0[4i]、A
0[4i-1]、A
0[4i-2]、A
0[4i-3]であり、ここで、i=1、2、...、256であり、各グループのPolar符号はLLR計算後に1パスの計算結果を出力し、毎回、各LLR計算ユニットから1パスの計算結果を取って4つのLLRデータシーケンスを構成し、フリーズビット、情報ビット、チェックビットなどの付随情報に基づいてパス拡張機能を完成させ、出力されたパスのメトリック値に基づいて復号判定を完了し、現在の4bit復号データを出力し、全てのデータの復号が完了されるまで復号木を更新する。
【0031】
第4ステップ、コード長が256である4つのPolar符号を復号し、
図3に示されるように、4つの256コードブロックをそれぞれ4つのLLR計算ユニットに送信し、4つのLLR計算ユニットを並列に動作させ、4つのLLR計算ユニットは4パスの計算結果を出力する。コード長が256であるPolar符号について、各Polar符号のコードブロックのリーズビットの数が異なるため、復号遅延が異なり、コード長が256である4つのPolar符号のコードブロックの並列な復号終了時間も異なる場合がある。次のコードブロックのコード長が1024であることを照会した場合、コード長が256である全てのコードブロックに対するLLR計算を完了した後に、コード長が1024であるコードブロックの復号を開始しなければならない。
【0032】
第5ステップ、コード長が1024である1つのPolar符号を復号し、第3ステップと同様に、当該Polar符号を4つのグループに分割して4つのLLR計算ユニットにそれぞれ送信してLLR計算を行い、毎回、各LLR計算ユニットから1パスの計算結果を取って4つのLLRデータシーケンスを構成し、フリーズビット、情報ビット、チェックビットなどの付随情報に基づいてパス拡張機能を完成させ、出力されたパスのメトリック値に基づいて復号判定を完了し、現在の4bit復号データを出力し、全てのデータの復号が完了されるまで復号木を更新する。
【0033】
第6ステップ、コード長が256である5つのPolar符号を復号し、アイドル状態のLLR計算ユニットが1つあるかどうかを照会する。アイドル状態のLLR計算ユニットが1つある場合、当該Polar符号をアイドル状態のLLR計算ユニットに送信して計算し、1つのアイドル状態のLLR計算ユニットもない場合、1つのアイドル状態のLLR計算ユニットがあるまで待機する。1つのLLR計算ユニットが計算を完了すれば、当該LLR計算ユニットの全ての計算結果を取り出し、フリーズビット、情報ビット、チェックビットなどの付随情報に基づいてパス拡張機能を完成させ、パスのメトリック値を出力し、出力されたパスのメトリック値に基づいて復号判定を完了し、現在の復号データを出力し、復号木を更新する。
【0034】
応用例2
現在復号待ちのPolar符号のコードブロックの長さが2048であると仮定すると、復号の過程は以下のとおりである。
【0035】
第1ステップ、Polar符号に対してLLR計算を行うためのLLR計算ユニットを配置する。本応用例では、8つのLLR計算ユニットが配置されており、そのうち、4つのLLR計算ユニットは、長さ256のコードブロックを計算することができ、4つのLLR計算ユニットは、長さ2のコードブロックを計算することができ、復号待ちのPolar符号のコードブロックのLLRデータをそれぞれメモリに書き込み、書き込みアドレスを記録し、復号パラメータを配置し、復号パラメータは、各コードブロックのLLRデータの書き込みアドレス、各コードブロックのコード長及び復号付随パラメータを含む。
【0036】
第2ステップ、復号を開始し、上記の配置された復号パラメータを読み取る。
【0037】
第3ステップ、長さが256である4つのLLR計算ユニットがいずれもアイドル状態であるかどうかをリアルタイムに照会し、長さが256である4つのLLR計算ユニットがいずれもアイドル状態である場合、長さが256である各LLR計算ユニットに送信されたデータは、ぞれぞれ、{A0[8i]、A0[8i-4]}、{A0[8i-1]、A0[8i-5]}、{A0[8i-2]、A0[8i-6]}、{A0[8i-3]、A0[8i-7]}であり、ここで、i=1、2、...、256である。長さが256である4つのLLR計算ユニットが全部アイドル状態でない場合、長さが256である全てのLLR計算ユニットがアイドル状態になるまで待機する。
【0038】
長さが256である4つのLLR計算ユニットのうちの1つのLLR計算ユニットを例として、当該LLR計算ユニットが受信したデータは{A
0[8i]、A
0[8i-4]}であると仮定すると、まず、A
0[8i](i=1、2...、256である)のLLRデータ計算を完了し、1パスの計算結果をバッファリングして出力し、次に、A
0[8i-4](i=1、2...、256である)のLLRデータ計算を完了し、1パスの計算結果をバッファリングして出力し、バッファリングされた2パスの計算結果を長さ2のLLR計算ユニットに入力し、最終的な1パスの計算結果を出力する。長さが256である他の3つのLLR計算ユニットの計算過程はこれと一致し、ここで再び説明せず、
図4に示されている。
【0039】
第4ステップ、毎回、長さが2である各LLR計算ユニットから1パスの計算結果を取って4つのLLRデータシーケンスを構成し、フリーズビット、情報ビット、チェックビットなどの付随情報に基づいてパス拡張機能を完成させ、パスのメトリック値を出力し、パスのメトリック値に基づいて復号判定を完了し、現在復号された4bitデータを出力し、全てのデータの復号が完了されるまで復号木を更新する。
【0040】
長さが2048であるPolar符号の復号について、長さが2であるLLR計算ユニットは、長さが256であるLLR計算ユニットにおける論理を直接に多重化させることができ、LLR計算ユニットを新たに設置しなくても済む。
【0041】
本願には、Polar符号の復号システムがさらに提供され、
図5に示されるように、前記システムは、長さNのPolar符号をSグループのPolar符号に分割し、分割された各グループのPolar符号をS個(Sは2の整数乗である)の計算モジュールに順次配布し、各グループのPolar符号が予め設定されたルールに従って前記の長さNのPolar符号から抽出したデータであるように設置された制御モジュール501と、受信した各グループのPolar符号に対して対数尤度比LLR計算を行うように設置されたそれぞれの計算モジュール502と、それぞれの計算モジュールによって得られたLLR計算結果を共同で復号するように設置された復号モジュール503と、を備える。
【0042】
本願では、Polar符号の長いコードブロックをグループ化し、複数のグループの間に結合関係がないという特徴を利用して、各グループ化されたデータを個別に復号した後に各グループの復号結果を共同で復号し、従来技術において長いコードブロックのPolar全体を復号することに比べて、復号遅延が低減される。
【0043】
1つの実現形態として、制御モジュール501は、以下の方式によって長さNのPolar符号をSグループのPolar符号に分割し、各グループのPolar符号におけるPolar符号が予め設定されたルールに従って前記の長さNのPolar符号から抽出したデータであるように設置される:長さNのPolar符号をSグループのPolar符号に分割し、各グループのPolar符号の始点が、長さNのPolar符号から選択したS個の連続的なPolar符号のうちの1つのPolar符号であり、各グループのPolar符号の始点を除くデータは、始点からSを単位ステップ長さとして前記の長さNのPolar符号を抽出して得られたデータであり、ここで、各グループのPolar符号の長さはN/Sである。例えば、Sが2である場合、2つのグループのPolar符号はそれぞれA0[2i]及びA0[2i-1]であり、ここで、i=1、2...N/2であり、各グループのPolar符号の長さはN/2である。Sが4である場合、4つのグループのPolar符号はそれぞれA0[4i]、A0[4i-1]、A0[4i-2]、A0[4i-3]であり、ここで、i=1、2、...N/4であり、各グループのPolar符号の長さはN/4である。
【0044】
1つの実現形態として、制御モジュール503は、さらに、前記SグループのPolar符号における各Polar符号をMグループ(Mは2の整数乗である)のPolar符号に分割し、前記のMグループのPolar符号における各グループのPolar符号を前記計算モジュールに順次送信するように設置される。計算モジュール502は、MグループのPolar符号における各グループのPolar符号に対してLLR計算を行った後に、計算により得られたM個のLLR計算結果に対してLLR計算を行い、計算により得られた前記のMグループのPolar符号のLLR計算結果を、受信したSグループのPolar符号における1つのグループのPolar符号のLLR計算結果とするように設置される。
【0045】
1つの実現形態として、制御モジュール503は、以下の方式によって前記のSグループのPolar符号における各グループのPolar符号をMグループのPolar符号に分割するように設置される:各グループの長さがN/SであるPolar符号について、当該グループのPolar符号をMグループのPolar符号に分割し、MグループのPolar符号における各グループのPolar符号の始点は、前記の長さがN/SであるPolar符号から選択したM個の連続的なPolar符号のうちの1つのPolar符号であり、MグループのPolar符号における各グループのPolar符号の始点を除くデータは、始点からMを単位ステップ長さとして前記の長さがN/SであるPolar符号を抽出して得られたデータであり、Mグループに分割されたPolar符号における各グループのPolar符号の長さはN/(S*M)である。例えば、コード長が2048のPolar符号を4つのグループのPolar符号に分割し、第1グループのPolar符号は、{A0[8i]、A0[8i-4]}であり、第2グループのPolar符号は、{A0[8i-1]、A0[8i-5]}であり、第3グループのPolar符号は、{A0[8i-2]、A0[8i-6]}であり、第4グループのPolar符号は、{A0[8i-3]、A0[8i-7]}であり、ここで、i=1、2、...、256であり、その後、各グループのPolar符号を2つのグループに分割し、第1グループのPolar符号が2つのグループに分割された後に、{A0[8i]}及び{A0[8i-4]}となり、第2グループのPolar符号が2つのグループに分割された後に、{A0[8i-1]}及び{A0[8i-5]}となり、第3グループのPolar符号が2つのグループに分割された後に、{A0[8i-2]}及び{A0[8i-6]}となり、第4グループのPolar符号が2つのグループに分割された後に、{A0[8i-3]}及び{A0[8i-7]}となる。第1グループのPolar符号を例とすると、A0[8i]のLLR計算を完了し、1パスの計算結果をバッファリングして出力し、A0[8i-4]のLLR計算を完了し、1パスの計算結果をバッファリングして出力し、バッファリングされた2パスの計算結果をLLR計算した後に出力された1パスの計算結果を第1グループのPolar符号のLLR計算の最終的な結果とする。他の3つのグループのPolar符号のLLR計算過程は、第1グループのPolar符号のLLR計算過程と一致しているため、ここで再び説明しない。
【0046】
1つの実現形態として、前記計算モジュール502は、以下の方式によって各グループのPolar符号に対してLLR計算を行うように設置される:各グループのPolar符号に対してLLR計算を並列に行う。
【0047】
本願の実施例は、従来技術においてPolarをビット直列復号することに比べて、並列復号方法を用いることにより、復号遅延を低減することができる。
【0048】
本願の実施例には、プロセッサによって実行される際に上述した実施例に記載のポーラーPolar符号の復号方法を実現するコンピュータ実行可能な命令が格納されているコンピュータ読み取り書き込み可能な記憶媒体がさらに提供される。
【0049】
本願の実施例には、ポーラーPolar符号の復号端末がされに提供され、
コンピュータ実行可能な命令が格納されるように設置されるメモリと、
上述した実施例に記載のポーラーPolar符号の復号方法のステップを実現するように、前記コンピュータ実行可能な命令を実行するように設置されるプロセッサと、を備える。
【0050】
当業者が理解できるように、上記開示された方法の全て又は一部のステップ、システム、装置における機能モジュール/ユニットは、ソフトウェア、ファームウェア、ハードウェア、及びそれらの適切な組み合わせとして実施することが可能である。ハードウェアの実施形態では、上記の記載に言及された機能モジュール/ユニットの区分は、必ずしも物理コンポーネントの区分に対応するわけではなく、例えば、1つの物理コンポーネントは複数の機能を持っていてもよく、又は1つの機能又はステップは複数の物理コンポーネントで連携して実行することができる。一部又は全てのコンポーネントは、プロセッサ、例えばデジタル信号プロセッサ若しくはマイクロプロセッサ等によって運行されるソフトウェアとして実施することができ、又は、ハードウェアとして、又は集積回路、例えば特定用途向け集積回路として実施することができる。このようなソフトウェアは、コンピュータ読み取り可能な媒体上で配布されることができ、コンピュータ読み取り可能な媒体は、コンピュータ記憶媒体(又は非一時的な媒体)及び通信媒体(又は一時的な媒体)を含むことができる。当業者が周知するように、コンピュータ記憶媒体という用語は、情報(コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、又は他のデータ)を格納するための任意の方法、又は技術で実施される揮発性及び不揮発性、取り外し可能及び取り外し不可能な媒体を含む。コンピュータ記憶媒体には、ランダムアクセスメモリ(Random Access Memory、RAM)、読み取り専用メモリ(Read-Only Memory、ROM)、電気的に消去可能、プログラム可能な読み取り専用メモリ(Electrically Erasable Programmable read only memory、EEPROM)、フラッシュメモリ又は他のメモリ技術、読み取り専用のコンパクトディスク(Compact Disc Read-Only Memory、CD-ROM)、デジタルビデオディスク(Digital Video Disc、DVD)又は他のコンパクトディスクメモリ、磁気カセット、磁気テープ、磁気ディスクメモリ又は他の磁気記憶装置、又は、所望の情報を記憶するために使用されてコンピュータによってアクセス可能な他の任意の媒体が含まれるが、これらに限らない。なお、当業者が周知するように、通信媒体は、一般的にコンピュータ読み取り可能な命令、データ構造、プログラムモジュール、又は搬送波又は他の伝送メカニズム等の変調データ信号における他のデータを含み、任意の情報配信媒体を含むことができる。