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

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

▶ アクセラーコム リミテッドの特許一覧

特許7365335ポーラー符号化のための電子デバイス、集積回路、及び方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-11
(45)【発行日】2023-10-19
(54)【発明の名称】ポーラー符号化のための電子デバイス、集積回路、及び方法
(51)【国際特許分類】
   H03M 13/13 20060101AFI20231012BHJP
   H03M 13/27 20060101ALI20231012BHJP
【FI】
H03M13/13
H03M13/27
【請求項の数】 13
(21)【出願番号】P 2020523487
(86)(22)【出願日】2018-07-04
(65)【公表番号】
(43)【公表日】2020-11-12
(86)【国際出願番号】 EP2018065554
(87)【国際公開番号】W WO2019011555
(87)【国際公開日】2019-01-17
【審査請求日】2021-06-08
(31)【優先権主張番号】1711055.2
(32)【優先日】2017-07-10
(33)【優先権主張国・地域又は機関】GB
(73)【特許権者】
【識別番号】520009404
【氏名又は名称】アクセラーコム リミテッド
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100091214
【弁理士】
【氏名又は名称】大貫 進介
(72)【発明者】
【氏名】マウンダー,ロバート
(72)【発明者】
【氏名】ブレイザ,マシュー
(72)【発明者】
【氏名】チョン,シダ
(72)【発明者】
【氏名】アンドレーデ,アイザック
(72)【発明者】
【氏名】チェン,タイハイ
【審査官】吉江 一明
(56)【参考文献】
【文献】国際公開第2017/092693(WO,A1)
【文献】中国特許出願公開第110545160(CN,A)
【文献】AccelerComm,On the storage of polar code sequences[online],3GPP TSG RAN WG1 adhoc_NR_AH_1706 R1-1710843,2017年06月16日
【文献】Huawei, HiSilicon,Sequence design for Polar codes[online],3GPP TSG RAN WG1 #89 R1-1706966,2017年05月07日
【文献】Gabi Sarkis, et al,Flexible and Low-Complexity Encoding and Decoding of Systematic Polar Codes,IEEE TRANSACTIONS ON COMMUNICATIONS,VOL. 64, NO. 7,IEEE,2016年06月01日,pp.2732-2745
(58)【調査した分野】(Int.Cl.,DB名)
H03M 13/13
H03M 13/27
(57)【特許請求の範囲】
【請求項1】
ポーラー符号化を実行するように構成される電子デバイスであって:
一連の(t=|n/w|)クロック・サイクルにわたってビット・パターン生成プロセスを連続的に実行するように構成されるビット・パターン生成器;及び
前記ビット・パターン生成器に動作可能に結合され、前記一連の(t=|n/w|)クロック・サイクルにわたって連続的なビット・パターン生成サブ・プロセスの数をカウントするように構成されるカウンタ;
を有し、前記ビット・パターン生成器がナイーブ・ビット・パターン生成器として使用される場合に、前記ビット・パターン生成器は、各々の連続するt=|n/w|個のクロック・サイクルにおいてビット・パターン・ベクトル(bk,n)からwビットの連続的なサブ・セットを提供し;前記ビット・パターン・ベクトルはnビットを含み、そのうちの「k」ビットは第1バイナリ値を採用し、n-kビットは補数バイナリ値を採用し、
前記ビット・パターン生成器が入れ子特性を利用するビット・パターン生成器として使用される場合に、前記wビットの連続的なサブ・セットは、w個のビット・パターンのビット{b,b,b,...,bw-1}の各々が、前記ビット・パターン生成器に含まれるw個の比較器のバンクにおける対応する比較器から取得されることを可能にし、
前記ポーラー符号化における凍結ビットの挿入又は凍結ビットの除外は前記電子デバイスによって実行され、前記凍結ビットの挿入又は凍結ビットの除外は少なくとも2つのサブ・プロセスを含み、前記ビット・パターン生成器は、ゼロ以上続くクロック・サイクルに及ぶ第1サブ・プロセスに続く第2サブ・プロセスの持続時間に及ぶ各々の連続的なt=|n/w|個のクロック・サイクルにおける前記ビット・パターン・ベクトル(bk,n)からwビットの連続的なサブ・セットを提供するように構成されており、前記第1サブ・プロセスの間に、前記第2サブ・プロセスで使用するための前記ビット・パターン生成器の入力に信頼度閾値kを提供するように、第1論理回路が構成されており、
前記電子デバイスは、少なくとも2つの動作モードをサポートするように構成されており、各動作モードは、符号化されたビット数Mがカーネル・ブロック・サイズNより小さいか否かに応じて使用され、前記少なくとも2つの動作モードは、MがN未満でない場合の反復動作モード、M<Nである場合の短絡動作モード、M<Nである場合のパンクチャリング動作モードのうちの少なくとも2つを含み、前記第1サブ・プロセスはゼロ・クロック・サイクルを有し、前記第2サブ・プロセスが実行されるのはMがN未満でない場合であり、閾値信頼度数kは、最終的な出力ビット・シーケンスにおいて前記第1バイナリ値を採用するKビットの数に設定される、電子デバイス。
【請求項2】
前記ビット・パターン生成器は、前記ビット・パターンの各自サポートされる長さ「n」に対するランク・ベクトル(R)を取得するために十分な情報を格納するように構成されるランクROMを有し、
前記ビット・パターンの長さ「n」に対する前記ランク・ベクトル(R)は、「0」ないし「n-1」の範囲内にある整数であって各ビット位置のランクに対応する順序で置換される整数を含み、
前記ビット・パターン・ベクトル(bk,n)は、前記第1バイナリ値を採用する前記ビット・パターンにおけるビットの個数kと、前記w個の比較器のバンクを利用する前記ビット・パターンの長さ「n」との個々の組み合わせに対して生成され、前記比較器は前記ランク・ベクトル(R)の各要素を「k」と比較する、請求項1に記載の電子デバイス。
【請求項3】
前記各ビット位置のランクは、前記第1バイナリ値を採用する前記ビット・パターンにおける「n」ビットのうちの「k」個に対する最大値を示し、前記ビット・パターン・ベクトル(bk,n)における対応するビットは前記補数バイナリ値を有し、
比較の各々は、前記ランク・ベクトル(R)の要素が「k」より小さいか否かを決定すること、
前記ビット・パターン・ベクトル(bk,n)のビット・パターンのビットは、ランク値及びk双方を、2の補数の固定小数点数表現を利用して表現することにより取得され、前記ビット・パターン生成器は、前記ランク値からの「k」の2の補数減算を実行し、最上位ビットMSBを前記ビット・パターンのビットの値として使用すること、
のうちの少なくとも1つが採用されている請求項2に記載の電子デバイス。
【請求項4】
前記ビット・パターンの長さ「n」は、特定のランク・ベクトル(R)各々の開始アドレスを識別するために、第2ルックアップ・テーブルをインデックスするために使用されること、
前記ランクROMは複数の多重ランクROMを含み、1つの多重ランクROMは前記ビット・パターンの長さ「n」の各自サポートされる値に対応する前記ランク・ベクトル(R)を格納するように構成されていること、
前記ランクROM内の全てのエントリは、log(nmax)ビットの幅を有する固定小数点数を利用して格納され、nmaxはサポートされるビット・パターン長の最大値であること、
nの値に対する前記ランクROM内の全てのエントリは、log(n)ビットの幅を有する固定小数点数を利用して格納されること、
のうちの少なくとも1つが採用されている請求項2又は3に記載の電子デバイス。
【請求項5】
前記ランクROMの各アドレスはw個の固定小数点数を格納するように構成され、
n<wである場合に、前記ランクROMは前記ランク・ベクトル(R)にw-n個のダミー要素を付加するように構成されており、その結果、前記ランク・ベクトル(R)は前記ランクROM内でシングル・アドレスの幅を占める、請求項2-4のうちの何れか1項に記載の電子デバイス。
【請求項6】
コントローラを更に有し、前記コントローラは、MがN未満である場合に前記第1サブ・プロセスにおける前記コントローラの制御の下でクロック・サイクル数をカウントするように構成される第2カウンタに動作可能に結合され、前記第1サブ・プロセスは、前記ビット・パターン生成器の回路により出力される中間ビット・パターン・ベクトルに含まれる第1バイナリ値を有するビット数を示すランク閾値kを決定する、請求項1に記載の電子デバイス。
【請求項7】
前記第2サブ・プロセスを含む前記一連の(t=|n/w|)クロック・サイクルにわたってバイナリ・フラグ生成プロセスを連続的に実行するように構成され、連続的なt=|n/w|個のクロック・サイクル各々におけるw個のバイナリ・フラグの連続的なサブ・セットを提供するように構成される第2論理回路であって、前記ビット・パターン・ベクトル(bn,k)における対応するビットがレート・マッチングにより凍結されない場合に、前記バイナリ・フラグ生成プロセスにおいてバイナリ・フラグがセットされる、第2論理回路と、
前記第2論理回路からの第1入力と前記ビット・パターン生成器の回路からの第2入力とを少なくとも受信するように構成される第3論理回路であって、前記第3論理回路は、前記ビット・パターン生成器の回路からの前記中間ビット・パターン・ベクトルのwビットの前記サブ・セットにおけるビットが前記第1バイナリ値を採用し、前記第2論理回路からの前記w個のバイナリ・フラグの連続的なサブ・セットからの対応するフラグがセットされる場合に、第1バイナリ値の出力を提供するように構成され、これにより少なくとも前記第1入力及び前記第2入力に基づいて前記中間ビット・パターン・ベクトルを調整する、第3論理回路と、
を更に有する請求項6に記載の電子デバイス。
【請求項8】
前記第1論理回路は、非符号化ビット各々がレート・マッチングにより凍結されるか否かを決定することにより、前記第2サブ・プロセスで使用する信頼度閾値kを識別するように構成され、前記第1論理回路は、前記第1サブ・プロセス中に減少する信頼度の順番に、レート・マッチングにより凍結されない非符号化ビットの数をカウントするように構成される非凍結ビット・カウンタを有し、前記カウントが最終出力ビット・シーケンスにおける最終値のビット数Kに到達すると、K番目に高い信頼度の未凍結ビットのランクがランク閾値kとして決定され、前記第1論理回路は、前記ビット・パターン生成器に対する入力として前記ランク閾値kを提供する、請求項1-7のうちの何れか1項に記載の電子デバイス。
【請求項9】
前記電子デバイスは:
反転シーケンス群を格納するように構成される、前記第1論理回路に配置される一群の反転シーケンス・リード・オンリ・メモリROMであって、前記反転シーケンスの連続的な要素の各々は、減少する信頼度の順番で並ぶ連続的な非符号化ビット各々の位置を指定する、一群の反転シーケンスROM;
一群のデインターリーバ・パターンを格納するように構成される、前記第1論理回路に配置される一群のデインターリーバROMであって、前記デインターリーバ・パターンの要素の各々は、レート・マッチング中のポーラー符号化ビットのインターリーブされた位置を示す、一群のデインターリーバROM;
一群のインターリーブされたシーケンスを格納するように構成される前記第1論理回路に配置される一群のインターリーブ・シーケンスROM;
前記第1サブ・プロセスの連続的なクロック・サイクルでインクリメントされる第2カウンタであって、Nの特定の値に対応する、反転シーケンスROMの連続的なアドレス、及びインターリーブ・シーケンスROMの連続的なアドレスがインデックスされる第2カウンタ;
前記ビット・パターンのサポートされる長さ「n」各々についてランク・ベクトル(R)を取得するのに十分な情報を格納するように構成される、前記パターン生成器に配置されるランクROM;
連続的なクロック・サイクルの各々において一群の反転シーケンスROM及び一群のインターリーブ・シーケンスROMから読み込まれる連続的な一群の受信要素に基づいて、一群のバイナリ・フラグを取得するように構成され、前記第1論理回路に配置される第1群の機能論理部f1;及び
最終出力ビット・シーケンスにおいてレート・マッチングにより凍結されない非符号化ビット数Kに至るまで一群のバイナリ・フラグを受信及びカウントするように構成され、前記第1論理回路に配置されるアキュムレータ論理回路であって、閾値信頼度数kは前記第1サブ・プロセスを完了するように設定される、アキュムレータ論理回路;
のうちの少なくとも1つを更に有する、請求項1-8のうちの何れか1項に記載の電子デバイス。
【請求項10】
前記第1論理回路は、凍結ビットを前記ビット・パターン・ベクトル(bk,n)における補数バイナリ値として識別し、前記ビット・パターン・ベクトル(bk,n)における前記第1バイナリ値を利用してビットを識別するように構成され、前記ビットは、情報ビット、巡回冗長検査CRCビット、パリティ・チェック凍結ビット、ユーザー装置識別子UE-IDビット、ハッシュ・ビットの群からの1つを含む、請求項1-9のうちの何れか1項に記載の電子デバイス。
【請求項11】
前記電子デバイスは、前記ビット・パターン生成プロセスを実行するように構成されるエンコーダを有する送信機、前記ビット・パターン生成プロセスを実行するように構成されるデコーダを有する受信機のうちの少なくとも1つを有する、請求項1-10のうちの何れか1項に記載の電子デバイス。
【請求項12】
ポーラー符号化を実行するように構成される電子デバイスのための集積回路であって:
一連の(t=|n/w|)クロック・サイクルにわたってビット・パターン生成プロセスを連続的に実行するように構成されるビット・パターン生成器;及び
前記ビット・パターン生成器に動作可能に結合され、前記一連の(t=|n/w|)クロック・サイクルにわたって連続的なビット・パターン生成サブ・プロセスの数をカウントするように構成されるカウンタ;
を有し、前記ビット・パターン生成器がナイーブ・ビット・パターン生成器として使用される場合に、前記ビット・パターン生成器は、各々の連続するt=|n/w|個のクロック・サイクルにおいてビット・パターン・ベクトル(bk,n)からwビットの連続的なサブ・セットを提供し;前記ビット・パターン・ベクトルはnビットを含み、そのうちの「k」ビットは第1バイナリ値を採用し、n-kビットは補数バイナリ値を採用し、
前記ビット・パターン生成器が入れ子特性を利用するビット・パターン生成器として使用される場合に、前記wビットの連続的なサブ・セットは、w個のビット・パターンのビット{b,b,b,...,bw-1}の各々が、前記ビット・パターン生成器に含まれるw個の比較器のバンクにおける対応する比較器から取得されることを可能にし、
前記ポーラー符号化における凍結ビットの挿入又は凍結ビットの除外は前記電子デバイスによって実行され、前記凍結ビットの挿入又は凍結ビットの除外は少なくとも2つのサブ・プロセスを含み、前記ビット・パターン生成器は、ゼロ以上続くクロック・サイクルに及ぶ第1サブ・プロセスに続く第2サブ・プロセスの持続時間に及ぶ各々の連続的なt=|n/w|個のクロック・サイクルにおける前記ビット・パターン・ベクトル(bk,n)からwビットの連続的なサブ・セットを提供するように構成されており、前記第1サブ・プロセスの間に、前記第2サブ・プロセスで使用するための前記ビット・パターン生成器の入力に信頼度閾値kを提供するように、第1論理回路が構成されており、
前記電子デバイスは、少なくとも2つの動作モードをサポートするように構成されており、各動作モードは、符号化されたビット数Mがカーネル・ブロック・サイズNより小さいか否かに応じて使用され、前記少なくとも2つの動作モードは、MがN未満でない場合の反復動作モード、M<Nである場合の短絡動作モード、M<Nである場合のパンクチャリング動作モードのうちの少なくとも2つを含み、前記第1サブ・プロセスはゼロ・クロック・サイクルを有し、前記第2サブ・プロセスが実行されるのはMがN未満でない場合であり、閾値信頼度数kは、最終的な出力ビット・シーケンスにおいて前記第1バイナリ値を採用するKビットの数に設定される、集積回路。
【請求項13】
ポーラー符号化のための方法であって:
ビット・パターン生成器が、一連の(t=|n/w|)クロック・サイクルにわたってビット・パターン生成プロセスを連続的に実行するステップ;及び
前記一連の(t=|n/w|)クロック・サイクルにわたって連続的なビット・パターン生成サブ・プロセスの数をカウントするステップ;
を有し、前記ビット・パターン生成器がナイーブ・ビット・パターン生成器として使用される場合に、各々の連続するt=|n/w|個のクロック・サイクルにおいてビット・パターン・ベクトル(bk,n)からwビットの連続的なサブ・セットを提供し、前記ビット・パターン・ベクトルはnビットを含み、そのうちの「k」ビットは第1バイナリ値を採用し、n-kビットは補数バイナリ値を採用し、
前記ビット・パターン生成器が入れ子特性を利用するビット・パターン生成器として使用される場合に、前記wビットの連続的なサブ・セットは、w個のビット・パターンのビット{b,b,b,...,bw-1}の各々が、前記ビット・パターン生成器に含まれるw個の比較器のバンクにおける対応する比較器から取得されることを可能にし、
前記ポーラー符号化における凍結ビットの挿入又は凍結ビットの除外は電子デバイスによって実行され、前記凍結ビットの挿入又は凍結ビットの除外は少なくとも2つのサブ・プロセスを含み、前記ビット・パターン生成器は、ゼロ以上続くクロック・サイクルに及ぶ第1サブ・プロセスに続く第2サブ・プロセスの持続時間に及ぶ各々の連続的なt=|n/w|個のクロック・サイクルにおける前記ビット・パターン・ベクトル(bk,n)からwビットの連続的なサブ・セットを提供するように構成されており、前記第1サブ・プロセスの間に、前記第2サブ・プロセスで使用するための前記ビット・パターン生成器の入力に信頼度閾値kを提供するように、第1論理回路が構成されており、
前記電子デバイスは、少なくとも2つの動作モードをサポートするように構成されており、各動作モードは、符号化されたビット数Mがカーネル・ブロック・サイズNより小さいか否かに応じて使用され、前記少なくとも2つの動作モードは、MがN未満でない場合の反復動作モード、M<Nである場合の短絡動作モード、M<Nである場合のパンクチャリング動作モードのうちの少なくとも2つを含み、前記第1サブ・プロセスはゼロ・クロック・サイクルを有し、前記第2サブ・プロセスが実行されるのはMがN未満でない場合であり、閾値信頼度数kは、最終的な出力ビット・シーケンスにおいて前記第1バイナリ値を採用するKビットの数に設定される、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の分野は、ポーラー符号化を実行するように構成される電子デバイス、及びビット・パターン生成方法に関連する。本発明は、現在及び将来の世代の通信規格に関するポーラー・エンコーダ及びポーラー・デコーダのためのビット・パターン生成に適用することが可能であるが、これらに限定されない。
【背景技術】
【0002】
順方向誤り訂正(FEC)及びチャネル符号化の原理により、ポーラー符号化[1]は、不完全な通信チャネルの中で伝送エラーの影響に対して情報を保護するために使用されることが可能であり、通信チャネルはノイズ及びその他の有害な影響を被る可能性がある。より具体的には、ポーラー・エンコーダは情報をエンコードするために送信機で使用され、対応するポーラー・デコーダは、伝送エラーを軽減し、伝送された情報を復元するために受信機で使用される。ポーラー・エンコーダは、所定の符号化プロセスに従って、Kビットを含む情報ブロックを、より多数のビットM>Kを含む符号化ブロックに変換する。このように、符号化されたブロックは、情報ブロックからのKビットの情報を、冗長性のM-Kビットとともに運ぶ。この冗長性は、情報ブロックから元のKビットの値を推定するために、所定の復号化プロセスに従ってポーラー・デコーダで利用されることが可能である。通信チャネルの状態は過剰に厳しくないという条件で、ポーラー・デコーダは、高い確率で情報ブロックからKビットの値を正しく推定することができる。
【0003】
ポーラー符号化プロセスは3つのステップを含む。第1の情報ブロック条件付けステップにおいて、冗長ビットが情報ブロック中の所定の位置に挿入され、ブロックのサイズをKビットからNビットまで増やし、ここでNは2の冪乗である。第2のポーラー符号化カーネル・ステップにおいて、冗長カーネル情報ブロックのNビットが、所定のグラフ構造に従って、連続的な排他的OR(XOR)演算を利用して様々な組み合わせで結合される。このグラフ構造はn=log(N)個の連続的なステージを含み、それら各々はN/2個のXOR演算を含み、特定の一対のビットを結合する。第3のステップにおいて、符号化ブロック条件付けが、結果のカーネル符号化ブロックに適用され、そのサイズをNビットからMビットに調整する。これは、符号化ブロックを生成するために、所定の方法に従って、カーネル符号化ブロックにおいて特定のビットを反復又は除外することによって達成されることが可能であり、符号化ブロックはチャネルで伝送される、又は記憶媒体に格納される。
【0004】
ソフト符号化ブロックがチャネルから受信される、又は記憶媒体から取り出される。ポーラー復号化プロセスは、ポーラー符号化プロセスの3つのステップに対応するが逆順である3つのステップを含む。第1の符号化ブロック条件付けステップにおいて、冗長ソフト・ビットがソフト符号化ブロック中の所定の位置に挿入又は結合され、そのサイズをMソフト・ビットからNソフト・ビットに調整し、ここでNは2の冪乗である。第2のポーラー復号化カーネル・ステップにおいて、冗長カーネル符号化ブロックのNソフト・ビットは、連続的キャンセレーション(SC)[1]又は連続的キャンセレーション・リスト(SCL)[7]プロセスを利用して様々な組み合わせで結合され、これは所定のグラフ構造に基づいて作用する。第3のステップにおいて、情報ブロック条件付けが、結果の復元されたカーネル情報ブロックに適用され、そのサイズをNビットからKビットまで減らす。これは、復元された情報ブロックを生成するために、所定の方法に従って、復元されたカーネル情報ブロックにおける特定のビットを除外することにより達成され得る。
【0005】
ポーラー・エンコーダの観点からは、情報ブロック条件付けコンポーネント101は、K個の情報ビットをN-K個の冗長ビットとともにインターレースし、それは例えば凍結ビット[1]、巡回冗長検査(CRC)ビット[2]、パリティ・チェック(PC)-凍結ビット[3]、ユーザー装置識別子(UE-ID)ビット[4]、又はハッシュ・ビット[5]であってもよい。ここで、凍結ビットは、「O」の論理値を常に採用することができる一方、CRC又はPC-凍結ビット又はハッシュ・ビットは、情報ビットの関数として、又はプロセス中に先行して既にインターレースされている冗長ビットの関数として取得される値を採用することができる。情報ブロック条件付けコンポーネント101は、冗長ビットを生成し、所定の方法により識別される位置にそれらをインターレースし、所定の方法はポーラー・デコーダにも既知である。情報ブロック条件付けコンポーネント101はまた、例えばビット反転置換[1]を実現し得るインターリーブ動作を含むこともできる。
【0006】
ポーラー・エンコーダの観点からは、符号化ブロック条件付けコンポーネント103は符号化ブロック107においてM個の符号化ビットを生成するために様々な技術を利用することができ、ここでMは「N」より高くても低くてもよい。より具体的には、カーネル符号化ブロックで幾つかの「N」ビットを反復するために反復[6]を使用することができる一方、カーネル符号化ブロックで幾つかの「N」ビットを除外するためにショートニング又はパンクチャリング技術[6]を使用することができる。ショートニングは「O」である論理値を有するように保証されるビットを除外する一方、パンクチャリングは論理「0」又は「1」の何れかの値を有し得るビットを除外することに留意を要する。符号化ブロック条件付けコンポーネントはまた、インターリーブ動作を含んでもよい。
【0007】
ポーラー・デコーダの符号化ブロック条件付けコンポーネント110に対する入力は、ソフト符号化ブロックである。M個の符号化LLRを「N」個のカーネル符号化LLRに変換するために、無限値LLRがソフト符号化ブロック109とインターレースされ、ポーラー・エンコーダにおけるショートニングにより除外された「O」値カーネル符号化ビットに対応するソフト・カーネル符号化ブロック内の位置を占めることができる。同様に、「O」値LLRは、カーネル符号化ビットがパンクチャリングにより除外された位置を占めるように、ソフト符号化ブロック109とインターレースされることが可能である。反復の場合、特定のカーネル符号化ビットのレプリカに対応するLLRは合計され、ソフト・カーネル符号化ブロック109内の対応する位置に配置されることが可能である。ポーラー・エンコーダの符号化ブロック条件付けコンポーネント103においてインターリーブが使用されていた場合には、対応するデインターリーブ動作もまた実行されることが可能である。
【0008】
ポーラー・デコーダの情報ブロック条件付けコンポーネント112に対する入力は、復元されたカーネル情報ブロック114である。復元された情報ブロックは、復元されたカーネル情報ブロック114から総ての冗長ビットを除外することによって得られてもよい。ポーラー・エンコーダの情報ブロック条件付けコンポーネント101においてインターリーブが使用されていた場合には、対応するデインターリーブ動作もまた実行されることが可能である。
【0009】
4つのブロック条件付けコンポーネントの実装の際に、ビット又はソフト・ビット(LLRの形式で表現されてもよい)が、対応するブロック中の任意の場所に挿入される又はそこから削除されることを可能にするために要求される柔軟性を達成することは「挑戦的」であり、それらの場所はK、N、及びMの特定の組み合わせに依存して変わる。これは特にK、N、Mが実行時間中にブロックごとに変わることを許容するフレキシブルなポーラー・エンコーダ及びデコーダの実装において挑戦的である。特に、少ないハードウェアの利用しか伴わないこれらのフレキシブルなブロック条件付けコンポーネントと、少数のクロック・サイクルの中でブロック条件付けプロセスを完了する能力とを実装することは特に挑戦的である。この挑戦的課題により、ブロック条件付けコンポーネントについての過去の総ての実装[14,15]は、クロック・サイクル毎に1ビット又はソフト・ビットしか処理しておらず、プロセスを完了するために全部でNクロック・サイクルを必要とする。
【発明の概要】
【0010】
本発明は、添付の特許請求の範囲に記載されているように、ブロック条件付け回路を利用してポーラー符号化を実行するように構成される電子デバイス、集積回路、及びブロック条件付け方法を提供する。
本発明の具体的な実施形態は従属請求項に記載されている。
本発明のこれら及び他の態様は、以下に説明される実施形態から明らかになり、それに関連して説明される。
【図面の簡単な説明】
【0011】
本発明の更なる詳細、態様、及び実施形態は図面に関連して単なる例示としてのみ説明される。図中、同様な又は機能的に類似する要素を識別するために同様な参照番号が使用されている。図中の要素は簡易化及び明確化のために示されており、必ずしも寸法通りに描かれてはいない。
【0012】
図1】本発明の例示的な実施形態により構成されるポーラー・エンコーダ及びポーラー・デコーダを有する通信ユニットの例示的な上位レベル概略図を示す。
図2】本発明の例示的な実施形態による生成行列F,F)2及びF)3の例示的なグラフ表現を示す。
図3】生成行列F)3のグラフ表現を利用して例示的なポーラー符号化プロセスを示し、この場合において、本発明の例示的な実施形態に従ってK=4の情報ビットa=[1001]をM=8の符号化ビットb=[00001111]に変換するために特定の凍結ビット・パターンが使用されている。
図4】本発明の幾つかの例示的な実施形態によるインターレーサ・アーキテクチャの例示的なブロック図を示す。
図5】本発明の幾つかの例示的な実施形態によるw=4の場合のインターレーサ・アーキテクチャのより詳細な例を示す。
図6】本発明の幾つかの例示的な実施形態によるインターレーサを動作させるための例示的なテーブルを示し、w=4、k=9の入力エレメント[9,8,7,6,5,4,3,2,1]が、n=16ビットのパターン[1100011010110101]に従って、0値インターレース・エレメントと右から左へインターレースされる。
図7】本発明の幾つかの実施形態によるw=4の場合のナイーブ・ビット・パターン生成器を示す。
図8】n∈{2,4,8,16}及びk∈{1,2,3,...,n-1}の総ての組み合わせについて[8]のポラリゼーション・ウェイト(PW)ビット・パターン構成を使用する場合における本発明の幾つかの例示的な実施形態によるビット・パターンROMの例示的なテーブル内容を示す。
図9】n∈{2,4,8,16,32}の総てについて[8]のPWビット・パターン構成を使用する場合における本発明の幾つかの例示的な実施形態によるランクROM3801の例示的な内容を示す。
図10】本発明の幾つかの例示的な実施形態によるw=4の場合の入れ子特性を利用するビット・パターン生成器を示す。
図11】本発明の幾つかの例示的な実施形態によるw=4の場合の入れ子特性及び対称特性を利用するビット・パターン生成器を示す。
図12】本発明の幾つかの例示的な実施形態によるw=4の場合の入れ子特性、再帰的特性、及び算術特性を利用するビット・パターン生成器を示す。
図13】(a)ブロック・パンクチャリング、(b)ブロック・ショートニング、(c)ビット反転パンクチャリング、及び(d)ビット反転ショートニングという符号化ブロック条件付けプロセスの各ステップにおいて特定のビット・パターンからwビットを生成する本発明の幾つかの例示的な実施形態による回路を示す。
図14】本発明の幾つかの例示的な実施形態によるビット・パターン生成器により実行されるポーラー符号化処理の上位レベル・フローチャートを示す。
図15】本発明の幾つかの例示的な実施形態によるポーラー符号化処理を実行するために電子デバイス又はワイヤレス通信ユニットで使用され得る典型的なコンピューティング・システムを示す。
図16A】本発明の幾つかの例示的な実施形態による凍結ビット挿入及び除去に対する提案されるハードウェア実装の概略を示す。
図16B】本発明の幾つかの例示的な実施形態による凍結ビット挿入及び除去に対する提案されるハードウェア実装の概略を示す。
図17】本発明の幾つかの例示的な実施形態によるN=64及びw=8の場合のリバース・シーケンス・リード・オンリ・メモリ(ROM)の要素Q [c,i]を例示的に示す。ここで、i∈[0,w-1]及びc∈[0,N/w-1]である。
図18】本発明の幾つかの例示的な実施形態によるN=64及びw=8の場合のインターリーブ・シーケンスROMの要素Q π[c,i]を例示的に示す。ここで、i∈[0,w-1]及びc∈[0,N/w-1]である。
図19】本発明の幾つかの例示的な実施形態によるN=64及びw=4の場合のデインターリーバROMの要素π -1[c,i]を例示的に示す。ここで、i∈[0,w-1]及びc∈[0,N/w-1]である。
図20】本発明の幾つかの例示的な実施形態によるN=64及びw=4の場合のランクROMの要素R[c,i]を例示的に示す。ここで、i∈[0,w-1]及びc∈[0,N/w-1]である。
図21A】本発明の幾つかの例示的な実施形態による凍結ビット挿入及び除去に対する提案されるハードウェア実装のフローチャートを示す。
図21B】本発明の幾つかの例示的な実施形態による凍結ビット挿入及び除去に対する提案されるハードウェア実装のフローチャートを示す。
図22】本発明の幾つかの例示的な実施形態によるK=32、M=68、N=64、及びw=4の場合の第2サブ・プロセス(4702として確認される)のN/w=16クロック・サイクルの各々で生成されるビット・パターンの要素を例示的に示す。この場合において、反復が使用され、k=32である。M<Nは満たされないので、wによらず、第1サブ・プロセス(4701として確認される)を完了するためにクロック・サイクルは使用されない。
図23】本発明の幾つかの例示的な実施形態によるK=32、M=56、N=64、及びw=4の場合の第2サブ・プロセスのN/w=16クロック・サイクルの各々で生成されるビット・パターンの要素を例示的に示す。この場合において、ショートニングが使用され、k=40である。w=8である場合、5つのクロック・サイクルが第1サブ・プロセスを完了するために使用される。
図24】本発明の幾つかの例示的な実施形態によるK=24、M=56、N=64、及びw=4の場合の第2サブ・プロセスのN/w=16クロック・サイクルの各々で生成されるビット・パターンの要素を例示的に示す。この場合において、パンクチャリングが使用され、k=25である。w=8である場合、4つのクロック・サイクルが第1サブ・プロセス4701を完了するために使用される。
図25】w=1の最悪のケースの場合に関し、本発明の幾つかの例示的な実施形態に従って第1サブ・プロセス4701により必要とされるクロック・サイクル数の例を、M∈[17,1024]及びK∈[|M/8|,M-1]の関数としてプロットしている。wが2の大きな冪乗の値をとる場合、これらのクロック・サイクル数は線形にスケール・ダウンすることが可能であり、最も近い整数に至るまで丸められる。
図26】w=1の最悪のケースの場合に関し、本発明の幾つかの例示的な実施形態に従って第2サブ・プロセスにより必要とされるクロック・サイクル数の例を、M∈[17,1024]及びK∈[|M/8|,M-1]の関数としてプロットしている。wが2の大きな冪乗の値をとる場合、これらのクロック・サイクル数は線形にスケール・ダウンすることが可能であり、最も近い整数に至るまで丸められる。
【発明を実施するための形態】
【0013】
ポーラー・エンコーダにおける情報ブロック条件付けの際の情報ビットの選択に関し、幾つかのシーケンスが提案されている[8-12]。これらのシーケンスはビット・パターン・ベクトル k,n を得るために使用することが可能であり、nビット中のkビットは値「1」を有し、nはkより大きな2の冪乗である(便宜上、bk,nに付随する下線は、bk,nがベクトルとして太文字で表現されるべきことを示す。以下、他の文字についても同様。)。これらの1の値のビットは、k個の情報ビットがnビット・カーネル情報ブロックの中に挿入されるべき位置を識別する。ビット・パターンを生成するプロセスは、一連のt=|n/w|クロック・サイクルにわたって、ポーラー符号化プロセスの開始時に完了することが可能であり、ここで、ビット・パターン生成プロセスのサブ・プロセスは、連続的なクロック・サイクル各々で完了する(便宜上、| |は天井関数を表し、| _ _ |は床関数を表すものとする)。ここで、ビット・パターン・ベクトル k,n からのwビットの連続的なサブ・セットは、カーネル情報ブロックに対するwビットの連続的なサブ・セットへの情報ビットの挿入を制御するために使用されることが可能である。このプロセスを通じて、カーネル情報ブロックのこれら連続的なwビット・サブ・セットは、wという対応する入力幅を有するポーラー・エンコーダ・カーネル内へ同時に送り込まれることが可能である(例えば、[13]の設計ではw=32が実証されている)。このように、nビット・カーネル情報ブロックへのk個の情報ビットの挿入は、ポーラー符号化プロセスで追加的な待ち時間を課さないであろう。同様に、復元されたカーネル情報ブロックから、k個の復元された情報ビットを取り出す場合に、類似する恩恵がポーラー・デコーダで得られるかもしれない。提案されるアプローチは、各ステップでwパターン・ビットを処理しており、これは、各ステップで単独ビット・パターンを処理することしかできない従来の努力[14,15]によるブロック条件付けモジュールと対照的であることに留意を要する。
【0014】
本発明の第1態様の具体例では、ポーラー符号化を実行するように構成される電子デバイスが説明される。電子デバイスは、一連の(t=|n/w|)クロック・サイクルにわたってビット・パターン生成プロセスを連続的に実行するように構成されるビット・パターン生成器;及びビット・パターン生成器に動作可能に結合され、一連の(t=|n/w|)クロック・サイクルにわたって連続的なビット・パターン生成サブ・プロセスの数をカウントするように構成されるカウンタを含む。ビット・パターン生成器は、各々の連続するt=|n/w|個のクロック・サイクルにおいてビット・パターン・ベクトル( k,n )から(w)ビットの連続的なサブ・セットを提供するように構成され;ビット・パターン・ベクトルはnビットを含み、そのうちの「k」ビットは第1バイナリ値を採用し、n-kビットは補数バイナリ値を採用する。
【0015】
この方法では、ビット・パターン生成プロセスを完了するために必要とされるクロック・サイクル数を減らすために、並列的な処理が使用されてもよい。
【0016】
幾つかの具体例において、ビット・パターン生成器の回路は(w)個の比較器のバンクを有することが可能であり、w個のビット・パターンのビット{b,b,b,...,bw-1}の各々が、w個の比較器のバンクにおける対応する比較器から得られることが可能である。この方法では、複雑さが低いハードウェアのみを利用して、w個のビット・パターンのビットが各クロック・サイクルで生成されることが可能である。
【0017】
幾つかの具体例において、ビット・パターン生成器は:入力データ・ブロックとして情報ブロックを受信し、nビット・カーネル情報ブロックを出力するエンコーダにおける情報ブロック条件付け回路;入力データ・ブロックとしてnビット・カーネル符号化ブロックを受信し、符号化ブロックを出力するエンコーダにおける符号化ブロック条件付け回路;入力データ・ブロックとしてソフト符号化ブロックを受信し、nソフト・ビット・ソフト・カーネル符号化ブロックを出力するデコーダにおける符号化ブロック条件付け回路;入力データ・ブロックとしてnビット復元カーネル情報ブロックを受信し、復元情報ブロックを出力するデコーダにおける情報ブロック条件付け回路;のうちの少なくとも1つの一部分として、ビット・パターン生成プロセスを実行するように構成されている。幾つかの具体例において、ビット・パターン生成器は:インターレーサであって、これによりカーネル情報ブロックの連続的なwビット・サブ・セットが、「w」ビットの対応する入力幅を有するポーラー・エンコーダ・カーネルに送り込まれるインターレーサ;及びインターレーサであって、これによりソフト・カーネル符号化ブロックの連続的なwソフト・ビット・サブ・セットが、「w」ソフト・ビットの対応する入力幅を有するポーラー・デコーダ・カーネルに送り込まれるインターレーサのうちの少なくとも1つで実行するように構成されることが可能である。この方法では、ブロック条件付け及びインターレーシング・プロセスを完了するために必要とされるクロック・サイクル数を減らすために、並列的な処理が使用されることが可能である。
【0018】
幾つかの具体例において、ビット・パターン生成器は、ビット・パターン・ベクトル( k,n )を得るように構成されることが可能であり、そのうちの「n」ビット中の「k」ビットは第1バイナリ値を有し、「n」ビット中の「n-k」ビットは補数バイナリ値を有し、nはkより大きな2の冪乗である。この方法では、2の冪乗である長さを有するブロックで動作するポーラー符号化カーネル・プロセスとの互換性が保証される。
【0019】
幾つかの具体例において、ビット・パターン生成器の回路は、ビット・パターン・リード・オンリ・メモリ(ROM)に動作可能に結合されることが可能であり、サポートされるビット・パターン・ベクトル( k,n )のセットをそこに格納するように構成されることが可能である。この方法では、任意のセットのビット・パターンが、たとえそれらの間に入れ子状の関係(nested relationships)が存在しなかったとしてもサポートされることが可能である。幾つかの具体例において、サポートされるビット・パターン・ベクトル( k,n )のセットは、オフラインの計算前プロセスで生成され、ビット・パターンROMに格納され、オンライン・ビット・パターン生成プロセス中にそこから読み込むことが可能である。この方法では、オンライン演算は必要とされず、ビット・パターン生成器のオンライン複雑性を減らす。幾つかの具体例において、ビット・パターンROMは「w」ビットの幅を有することが可能であり、各々のビット・パターン・ベクトル( k,n )は連続的なアドレス数|n/w|にわたって格納されることが可能であり、幾つかの具体例に関し、n<wの場合に、ビット・パターン・ベクトル( k,n )は、ダミー・ビット数w-nに付随し、その結果、ビット・パターン・ベクトル( k,n )は、ビット・パターンROMにおけるシングル・アドレスの幅を占める。この方法では、「w」ビット・パターン・ビットが各々のクロック・サイクルで読み込まれることが可能であり、完全なビット・パターン・ベクトルを得るために必要とされるクロック・サイクル数を減らす。更に、非常に短いビット・パターン・ベクトルという特殊なケースは、個別的な解決手段の必要性なしに自然に適応されることが可能である。
【0020】
幾つかの具体例において、ビット・パターンROMは第1ルックアップ・テーブルに動作可能に結合され、各々のビット・パターン・ベクトル( k,n )の開始アドレスを識別するために、第1ルックアップ・テーブルに対する入力としてだけでなく、それをインデックスするためにも使用されることが可能である。この方法では、各々のビット・パターン・ベクトルは、例えば如何なるオンライン演算の必要性もなしに、ビット・パターンROM内に配置されることが可能である。幾つかの具体例において、カウンタは、ビット・パターンROMに動作可能に結合され、「0」から「t-1」までカウンタ値をインクリメントするように構成されることが可能であり、カウンタ値は、ビット・パターン・ベクトル( k,n )の連続的なw要素サブ・セット(b,b,b,...,bw-1)を読み込むために、ビット・パターンROMの開始アドレスからのオフセットとして使用されることが可能である。この方法では、ビット・パターン・ベクトルは、低い複雑さのアドレッシング・ハードウェアのみを利用してビット・パターンROMから読み込まれることが可能である。
【0021】
幾つかの具体例において、ビット・パターン生成器は、ビット・パターンの各自サポートされる長さ「n」に対するランク・ベクトル( )を取得するために十分な情報を格納するように構成されるランクROMを有することが可能である。この方法では、ROM容量は、それぞれサポートされるビット・パターン・ベクトルを別々に格納する場合と比較して著しく削減されることが可能である。更に、ランク・ベクトル は、ビット・パターン生成プロセスの基礎としてインデックス・ベクトルQを使用する場合に必要とされるような、複雑なソート又はインターリービング処理の必要性なしに、ビット・パターン・ベクトル k,n を生成するために使用されることが可能である。幾つかの具体例において、ビット・パターンの特定の長さ「n」に対するランク・ベクトル( )は、「0」ないし「n-1」の範囲内にあり、各ビット位置のランクに対応する順序で置換される整数を含むことが可能である。幾つかの具体例において、ランクは、第1バイナリ値を採用するビット・パターンにおける「n」ビットのうちの個数「k」に対する最大値を示し、ビット・パターン・ベクトル( k,n )における対応するビットは補数バイナリ値を有する。この方法では、ランク・ベクトルは、ビット・パターン・ベクトルが入れ子状特性に従う場合に、「n」ビットの長さを有する全てのビット・パターン・ベクトルを生成するために必要な全ての情報を含む。
【0022】
幾つかの具体例において、ビット・パターンの長さ「n」は、特定のランク・ベクトル( )各々の開始ベクトルを識別するために、第2ルックアップ・テーブルをインデックスするために使用されることが可能である。この方法では、各々のビット・パターン・ベクトルは、例えば如何なるオンライン計算の必要性もなしに、ビット・パターンROM内に配置されることが可能である。幾つかの具体例において、ランクROMは複数の多重ランクROMを含むことが可能であり、ここで、1つの多重ランクROMはビット・パターンの長さ「n」の各自サポートされる値に対応するランク・ベクトル( )を格納するように構成されることが可能である。この方法では、個々の多重ランクROMの各々は、格納される固定小数点数(the stored fixed point numbers)について異なるビット幅を採用することができる。また、開始アドレスを格納するためのルックアップ・テーブルの必要性も削除される。幾つかの具体例において、ビット・パターン・ベクトル( k,n )は、第1バイナリ値を採用するビット・パターンにおけるビットのうちの個数kと、(w)個の比較器のバンクを利用するビット・パターンの長さ「n」との個々の組み合わせに対して生成されることが可能であり、比較器はランク・ベクトル( )の各要素を「k」と比較するように構成されることが可能である。幾つかの具体例において、ランク・ベクトル( )の要素の「k」との比較の各々は、要素が「k」より小さいか否かを決定するために実行されることが可能である。この方法では、ビット・パターン・ベクトルのwビットが、低い複雑さのハードウェアのみを利用してクロック・サイクルの各々で生成されることが可能である。幾つかの具体例において、ランクROM内の全てのエントリは、log(nmax)の幅を有する固定小数点数を利用して格納されることが可能であり、nmaxはサポートされるビット・パターン長の最大値である。この方法では、共通の固定小数点数の幅がビット・パターン生成器全体で使用され、固定小数点数の幅の間で変換を行う必要性を回避する。幾つかの具体例において、nの特定の値に対するランクROM内の全てのエントリは、log(n)ビットの幅を有する固定小数点数を利用して格納されることが可能である。幾つかの具体例において、ランクROMの各アドレスはw個の固定小数点数を格納するように構成されることが可能である。この方法では、ROM容量が、nの全ての値について一定の固定小数点数の幅を使用する場合と比較して削減されることが可能である。幾つかの具体例において、n<wである場合に、ランクROMはランク・ベクトル( )にw-n個のダミー要素を付加するように構成されることが可能であり、その結果、ランク・ベクトル( )はランクROM内でシングル・アドレスの幅を占める。この方法では、非常に短いビット・パターン・ベクトルという特殊なケースは、個別的な解決手段のための必要性なしに自然に適応されることが可能である。
【0023】
幾つかの具体例において、ランクROMはカウンタに動作可能に結合されることが可能であり、その結果、ビット・パターン生成プロセスの連続的なサブ・プロセス各々の間に、カウンタは「0」から「t-1」までカウンタ値をインクリメントするように構成されることが可能であり、カウンタ値は、ランク・ベクトル( )の連続的なw要素サブ・セットを読み込むために、ランクROMの開始アドレスからのオフセットとして使用されることが可能である。この方法では、ビット・パターン・ベクトルは、低い複雑さのアドレッシング・ハードウェアのみを利用してビット・パターンROMから読み込まれることが可能である。幾つかの具体例において、ビット・パターン・ベクトル k,n のビット・パターン・ビットは、ランク値及びk双方を、2の補数の固定小数点数表現を利用して表現することにより取得されることが可能であり、ビット・パターン生成器の回路は、ランク値からの「k」の2の補数減算を実行し、ビット・パターン・ビットの値として最上位ビットMSBを使用することができる。この方法では、ビット・パターン・ビットは低い複雑さのハードウェアのみを利用して取得されることが可能である。
【0024】
幾つかの具体例において、ランクROMは、ビット・パターン・ベクトル( k,n )が対称的な性質に従う場合に、各ランク・ベクトル( )の前半を格納するように構成されることが可能である。幾つかの具体例において、ランク・ベクトル( )内の要素の任意のペアが、全てのn及び全てのi∈[0,n-1]について、n-1になるインデックスi及びn-i-1を有する場合に、対称的な性質は充足されることが可能である。幾つかの具体例において、ランクROMは「w」ランクの幅を含むことが可能であり、その結果、各々のランク・ベクトル( )の前半のみが|n/(2w)|個の連続的なアドレスにわたって格納され、nはランク・ベクトル( )によりサポートされるビット・パターン長である。この方法では、ランクROMの容量は、各々のランク・ベクトルの全体を格納する場合に対して50%だけ削減されることが可能である。
【0025】
幾つかの具体例において、n/2<wである場合に、ランク・ベクトル( )は「w-n」個のダミー要素を付加されてもよく、ランクROM内でシングル・アドレスの幅にわたって格納されてもよい。この方法では、非常に短いビット・パターン・ベクトルという特殊なケースは、個別的な解決手段のための必要性なしに自然に適応されることが可能である。
【0026】
幾つかの具体例において、c<|n/(2w)|である場合に、ビット・パターン生成プロセスの連続的なオペレーションの前半の間に、ランク・ベクトル( )の連続的なw要素サブ・セットは、ランクROM3801内の増加するアドレスから取得されることが可能であり、ランクROMの開始アドレスからのオフセットはcにより与えられることが可能である。この方法では、ビット・パターン・ベクトルは、低い複雑さのアドレッシング・ハードウェアのみを利用してビット・パターンROMから読み込まれることが可能である。幾つかの具体例において、電子デバイスは、ランクROMに動作可能に結合されるw個のマルチプレクサのバンクを更に有することが可能であり、ビット・パターン生成プロセスの連続的なオペレーションの前半の間に、w個のマルチプレクサのバンクは、w個のパターン・ビット{b,b,b,...,bw-1}の順序を維持することができる。幾つかの具体例において、ビット・パターン・ベクトル k,n のビット・パターン・ビットは、ランク値及びk双方を、2の補数の固定小数点数表現を利用して表現することにより取得されることが可能であり、ビット・パターン生成器の回路は、ランク値からの「k」の減算を実行し、次いでビット・パターン・ビットの値として最上位ビットMSBを使用する。この方法では、ビット・パターン・ビットは低い複雑さのハードウェアのみを利用して取得されることが可能である。
【0027】
幾つかの具体例において、電子デバイスは、ランクROMに動作可能に結合されるマルチプレクサを更に含むことが可能であり、c≧|n/(2w)|である場合に、ビット・パターン生成プロセスの連続的なオペレーションの後半の間に、ランク・ベクトル( )の連続的なw要素サブ・セットが、ランクROM内の減少するアドレスから逆順に取得されることが可能であり、ランクROMの開始アドレスからのオフセットは、マルチプレクサにより与えられ、カウンタ値「c」から(|n/w|-c-1)として導出されることが可能である。この方法では、ビット・パターン・ベクトルは、低い複雑さのアドレッシング・ハードウェアのみを利用してビット・パターンROMから読み込まれることが可能である。
【0028】
幾つかの具体例において、ビット・パターン・ベクトル( k,n )は、「k」及び「n」の個々の組み合わせについて、(w)個の比較器のバンクを利用して生成されることが可能であり、比較器はランク・ベクトル( )の各要素を「n-k」と比較するように構成されることが可能である。幾つかの具体例において、ランク・ベクトル( )の要素の「n-k」との比較の各々は、ランク・ベクトル( )の要素が「n-k」以上であるか否かを決定するために実行されることが可能である。幾つかの具体例において、ランク・ベクトル( )の要素の「n-k」との比較の各々は、ランク・ベクトル( )の要素が「n-k」未満であるか否かを決定するために実行されることが可能であり、その結果はNOTゲートを介して伝えられてもよい。この方法では、ビット・パターン・ビットは、低い複雑さのハードウェアのみを利用して取得されることが可能である。幾つかの具体例において、ビット・パターン・ビットは、ランク値及びn-k双方を、2の補数の固定小数点数表現を利用して表現することにより取得されることが可能であり、ビット・パターン生成器の回路は、ランク値からの「n-k」の減算を実行し、次いでNOTゲートを介して結果の最上位ビットMSBを伝えることが可能である。幾つかの具体例において、電子デバイスは、ランクROMに動作可能に結合されるw個のマルチプレクサのバンクを更に含むことが可能であり、ビット・パターン生成プロセスの連続的なオペレーションの後半の間に、w個のマルチプレクサのバンクは、w個のパターン・ビット{b,b,b,...,bw-1}の順序を反転することが可能である。この方法では、ビット・パターン・ビットは、低い複雑さのハードウェアのみを利用して正しい順序で生成されることが可能である。
【0029】
幾つかの具体例において、ランク・ベクトル( )の要素は、ビット・パターンの長さ「n」の特定の値に関し、本来の形式でランクROMに格納されるか、又は「n-1」から減算され、減算された形式でランクROMに格納されることが可能である。幾つかの具体例において、ランク・ベクトル( )のランクが「k」未満であるか否かを決定するための比較の各々は、減算された形式でのランクが「n-k」以上であるか否かを決定するために比較器を利用することにより実行されることが可能であり、ランク・ベクトル( )のランクが「n-k」以上であるか否かを決定するための比較の各々は、減算された形式でのランクが「k」未満であるか否かを決定するために比較器を利用することにより実行されることが可能である。
【0030】
幾つかの具体例において、w個の比較器のバンクは、ビット・パターン生成プロセスの連続的なオペレーションの前半、及びビット・パターン生成プロセスの連続的なオペレーションの後半の双方の間に使用されることが可能である。幾つかの具体例において、w個の比較器のバンクは、2の補数減算を利用して実装されることが可能である。
【0031】
幾つかの具体例において、電子デバイスは、w個の比較器のバンクに動作可能に結合され、w個の比較器のバンクに対する入力として「k」又は「n-k」の間で選択を行うように構成されるマルチプレクサ;及びw個の比較器のバンクの出力に動作可能に結合され、w個の比較器のバンクの出力を反転させるように構成されているw個のNOT論理ゲートのバンクを更に有することが可能である。幾つかの具体例において、電子デバイスは、ランクROMに動作可能に結合されるw個のマルチプレクサのバンクを更に含むことが可能であり、ビット・パターン生成プロセスの連続的なオペレーションの後半の間に、w個のマルチプレクサのバンクは、w個のパターン・ビット{b,b,b,...,bw-1}の順序を反転することができる。この方法では、同じ低い複雑さのハードウェアが、ビット・パターン生成プロセスの前半及び後半の双方で削減されることが可能である。
【0032】
幾つかの具体例において、ビット・パターン生成器は、ビット・パターン・ベクトルについての入れ子状の再帰的な算術的特性を利用するように構成されることが可能である。この方法では、サポートされるビット・パターン・ベクトル又はランク・ベクトルをROMに格納するアプローチと比較して、ビット・パターン・ベクトルを生成するために必要とされるROMストレージを削減することが可能である。いくつかの具体例において、n-kの値を、(n-k)番目に高いビット信頼度を有するビットのインデックスQ(n-k)に変換するために、再帰的回路が使用されてもよい。この方法では、閾値ビット信頼度を有するビットのインデックスが、少ない複雑さで識別されることが可能である。幾つかの具体例において、再帰的回路は、インデックスQ(n-k)を得るために、圧縮された情報を解凍するように更に構成されることが可能である。この方法では、解凍プロセスは、インデックス・ベクトルQn全体ではなく、単独のインデックスQ(n-k)のみを解凍するように構成されることが可能であり、付随する複雑性を削減することができる。
【0033】
幾つかの具体例において、電子デバイスは、再帰的回路に動作可能に結合され、算術特性を利用するように構成される算術回路を更に含むことが可能であり、算術特性は、(n-k)次のランクを有するビットのインデックス(Q(n-k))をビット信頼度メトリック(β(Q(n-k)))に変換するために、「0」ないし「n-1」の範囲内のインデックスのみに基づいて、ビット・パターン・ベクトルのnビットの各々について、ビット信頼度メトリックが獲得され得る場合に充足されることが可能である。この方法では、閾値ビット信頼度が、低い複雑性で取得されることが可能である。幾つかの具体例において、 ポラリゼーション・ウェイト(PW)シーケンスにおいて、カーネル情報ブロックのビット間の関係を決定するために、ビット・パターン・ベクトル( k,n )の再帰的特性が利用されてもよい。幾つかの具体例において、ビット・パターン生成器の回路は:(i)凍結ビットであるビット・パターン・ベクトル( k,n )の再帰的特性に応じて、選択された他のビットもまた凍結ビットである;又は(ii)情報ビットであるビット・パターン・ベクトル( k,n )の再帰的特性に応じて、選択された他のビットもまた情報ビットである;と決定することができる。幾つかの具体例において、ある関係がカーネル情報ブロックのビット間に存在することをビット・パターン生成器の回路が決定したことに応じて、ビット・パターン生成器の回路は、少なくとも1つの算術回路をディセーブルにするように構成されることが可能である。この方法では、対応するビットが凍結ビット又は情報ビットとして既に決定されている場合に、ビット信頼度の算術的な計算はスキップされ、ビット・パターン生成器の電力消費を削減することが可能である。
【0034】
幾つかの具体例において、電子デバイスは、算術回路に動作可能に結合され、ビット・パターン・ベクトルを生成するプロセスで使用されることが可能なビット信頼度メトリック(β(Q(n-k)))を格納するように構成されるレジスタを更に含むことが可能である。この方法では、閾値ビット信頼度メトリックが格納され、ビット・パターン生成プロセスを通じて使用されることが可能であり、連続的なクロック・サイクルの各々でこの閾値を再計算する必要性を排除することができる。
【0035】
幾つかの具体例において、カウンタに動作可能に結合される乗算器とw-1個の加算器のバンクとを更に含むことが可能であり、一連の(t=|n/w|)クロック・サイクルにわたるビット・パターン生成プロセスの連続的な実行の各々の間に、カウンタは、ビット・パターン・ベクトル k,n の連続的なw要素のサブ・セット(b,b,b,...,bw-1)に対するインデックス{cw,cw+1,...,cw+w-1}を取得するために、カウンタ値cを0からt-1までインクリメントするように構成されることが可能である。
【0036】
幾つかの具体例において、電子デバイスは、ビット信頼度の対応するシーケンスβ[cw],β[cw+1],β[cw+2],...,β[cw+w-1]を算出するように構成されることが可能な算術回路の「w」個のレプリカのバンクを更に含むことが可能である。幾つかの具体例において、対応するビット信頼度{β[cw],β[cw+1],β[cw+2],...,β[cw+w-1]}はβ(Q(n-k))以上であるか否かを決定することにより、ビット・パターン・ベクトル k,n の対応するw要素を取得するために、(w)個の比較器のバンクは、算出された対応するビット信頼度{β[cw],β[cw+1],β[cw+2],...,β[cw+w-1]}とビット信頼度メトリック(β(Q(n-k)))とを比較するように構成されることが可能である。この方法では、wビット・パターン・ビットに関連するビット信頼度メトリックが、各々のクロック・サイクルで閾値ビット信頼度メトリックと、低い複雑さで比較されることが可能である。
【0037】
幾つかの具体例において、電子デバイスは、乗算器とw-1個の加算器のバンクとを介してカウンタに動作可能に結合され、反転されたビット・インデックスを生成するために、各ビット・インデックスのlog(n)ビット・バイナリ表現におけるビットの順序を反転するように構成されるw個のリバース・モジュールのバンクを更に含むことが可能である。幾つかの具体例において、電子デバイスは、「w」個のリバース・モジュールのバンクに動作可能に結合され、ビット・インデックス又は反転されたビット・インデックスと「k」又は「n-k」とを比較するように構成されるw個の比較器のバンクを更に含むことが可能である。幾つかの具体例において、ポーラー・エンコーダが短絡方式を実装していることに応じて、w個の比較器のバンクは、対応するビット・インデックス又は反転されたビット・インデックスが「k」未満である場合には、ビット・パターン・ビット{b,b,b,...,bw-1}を第1バイナリ値に設定し、他のビットを補数バイナリ値に設定するように構成されることが可能である。幾つかの具体例において、w個の比較器のバンクは、対応するビット・インデックス又は反転されたビット・インデックスが、パンクチャリング方式において「n-k」以上である場合には、ビット・パターン・ビット{b,b,b,...,bw-1}を第1バイナリ値に設定し、他のビットを補数バイナリ値に設定するように構成されることが可能である。この方式では、ビット反転ショートニング、ビット反転パンクチャリング、自然ショートニング、及び自然パンクチャリングのためのビット・パターンが生成され得る。
【0038】
幾つかの具体例において、ポーラー符号化における凍結ビットの挿入又は凍結ビットの除外は電子デバイスによって実行され、少なくとも2つのサブ・プロセスを含み、ビット・パターン生成器は、一連のゼロに及ぶ第1サブ・プロセスに続く第2サブ・プロセスの持続時間に及ぶ各々の連続的なt=|n/w|のクロック・サイクル、又はより多いクロック・サイクルにおけるビット・パターン・ベクトル( k,n )からの(w)ビットの連続的なサブ・セットを提供するように構成される。この方法では、第1サブ・プロセスは第2サブ・プロセスを初期化することが可能であり、その結果、レート・マッチングによりフローズンにされない上位K個の信頼できるビットを選択することが可能である。
【0039】
幾つかの具体例において、第1論理回路は、第1サブ・プロセスの間に、第2サブ・プロセスで使用するためのビット・パターン生成器の入力に信頼度閾値kを提供するように構成される。この方法では、信頼度閾値より高い信頼性を有する第2サブ・プロセスにより選択されるビットの中でレート・マッチングにより凍結されないKビットが存在であろうということを確実にすることができる。
【0040】
幾つかの具体例において、電子デバイスは、少なくとも2つの動作モードをサポートするように構成され、各動作モードは、符号化されたビット数Mがカーネル・ブロック・サイズNより小さいか否かに応じて使用される。この方法では、レート・マッチングにより凍結されないビットが、レート・マッチング・モードを考慮して識別されることが可能である。
【0041】
幾つかの具体例において、少なくとも2つの動作モードは、MがN未満でない場合の反復動作モード、M<Nである場合のショートニング動作モード、M<Nである場合のパンクチャリング動作モードのうちの少なくとも2つを含む。この方法では、レート・マッチングの反復、ショートニング、及びパンクチャリング・モードをサポートすることが可能である。
【0042】
幾つかの具体例において、第1サブ・プロセスはMがN未満でない場合にゼロ・クロック・サイクルを有し、第2サブ・プロセスは、最終的な出力ビット・シーケンスにおいて第1バイナリ値を採用するKビット数に設定される閾値信頼度数kはとともに実行される。この方法では、如何なるビットも凍結させない反復動作モードに対するサポートが提供される。
【0043】
幾つかの具体例において、第2カウンタに動作可能に結合されるコントローラは、MがN未満である場合に第1サブ・プロセスにおけるコントローラの制御の下でクロック・サイクル数をカウントするように構成され、第1サブ・プロセスは、ビット・パターン生成器の回路により出力されるビット・パターン・ベクトル( k,n )に対する中間値に含まれる第1バイナリ値を有するビット数を指定するランク閾値kを決定する。この方法では、ランク閾値より高いランクを有する第2サブ・プロセスにより選択されるこれらのビットの中でレート・マッチングにより凍結されないKビットが存在であろうということを確実にすることができる。
【0044】
幾つかの具体例において、第2論理回路は、第2サブ・プロセスを含む一連の(t=|n/w|)クロック・サイクルにわたってバイナリ・フラグ生成プロセスを連続的に実行するように構成され、連続的なt=|n/w|のクロック・サイクル各々における(w)バイナリ・フラグの連続的なサブ・セットを提供するように構成される。この方法では、レート・マッチングにより凍結されないビットは識別されることが可能である。
【0045】
幾つかの具体例において、ビット・パターン・ベクトル( n,k )における対応するビットがレート・マッチングにより凍結されない場合に、バイナリ・フラグ生成プロセスにおいてバイナリ・フラグがセットされる。この方法では、レート・マッチングにより凍結されないビットは合図されることが可能である。
【0046】
幾つかの具体例において、第3論理回路は、第2論理回路からの第1入力とビット・パターン生成器の回路からの第2入力とを少なくとも受信するように構成され、第3論理回路は、ビット・パターン生成器の回路からの中間ビット・パターン・ベクトル( k,n )のwビットのサブ・セットにおけるビットが第1バイナリ値を採用し、第2論理回路からの複数のバイナリ・フラグからの対応するフラグがセットされる場合に、第1バイナリ値の出力を提供するように構成され、これにより少なくとも第1及び第2入力に基づいて中間ビット・パターンのビット・パターン・ベクトル( k,n )を調整する。この方法では、レート・マッチングにより凍結されないビットはビット・パターンから除外されることが可能である。
【0047】
幾つかの具体例において、第1論理回路は、非符号化ビット各々がレート・マッチングにより凍結されるか否かを決定することにより、第2サブ・プロセスで使用する信頼度閾値kを識別するように構成され、第1論理回路は、第1サブ・プロセス中に減少する信頼度の順番に、レート・マッチングにより凍結されない非符号化ビットの数をカウントするように構成される非凍結ビット・カウンタを有し、カウントが最終出力ビット・シーケンスにおける最終値のビット数Kに到達すると、K番目に高い信頼度の未凍結ビットのランクがランク閾値kとして決定され、第1論理回路は、ビット・パターン生成器に対する入力としてランク閾値kを提供する。この方法では、ビット・パターン生成器は一群の最も信頼できるビットを識別することが可能であり、レート・マッチングにより凍結されないKビットが保証される。
【0048】
幾つかの具体例において、電子デバイスは以下のうちの少なくとも1つを更に有する:反転シーケンス群を格納するように構成される、第1論理回路に配置される一群の反転シーケンス・リード・オンリ・メモリROMであって、反転シーケンスの連続的な要素の各々は、減少する信頼度の順番で並ぶ連続的な非符号化ビット各々の位置を指定する、一群の反転シーケンスROM;一群のデインターリーバ・パターンを格納するように構成される、第1論理回路に配置される一群のデインターリーバROMであって、デインターリーバ・パターンの要素の各々は、レート・マッチング中のポーラー符号化ビットのインターリーブされた位置を示す、一群のデインターリーバROM;一群のインターリーブされたシーケンスを格納するように構成される第1論理回路に配置される一群のインターリーブ・シーケンスROM;第1サブ・プロセスの連続的なクロック・サイクルでインクリメントされる第2カウンタ(c1)であって、Nの特定の値に対応する、反転シーケンスROMの連続的なアドレス、及びインターリーブ・シーケンスROMの連続的なアドレスがインデックスされる第2カウンタ;ビット・パターンのサポートされる長さ「n」各々についてランク・ベクトル( )を取得するのに十分な情報を格納するように構成される、パターン生成器に配置されるランクROM;連続的なクロック・サイクルの各々において一群の反転シーケンスROM及び一群のインターリーブ・シーケンスROMから読み込まれる連続的な一群の受信要素に基づいて、一群のバイナリ・フラグを取得するように構成され、第1論理回路に配置される第1群の機能論理部f1;及び最終出力ビット・シーケンスにおいてレート・マッチングにより凍結されない非符号化ビット数Kに至るまで一群のバイナリ・フラグを受信及びカウントするように構成され、第1論理回路に配置されるアキュムレータ論理回路であって、閾値信頼度数kは第1サブ・プロセスを完了するように設定される、アキュムレータ論理回路である。この方法では、ビット・パターンの生成は一度に複数ビット完了させることが可能であり、必要とされるクロック・サイクル数を減らすことができる。
【0049】
幾つかの具体例において、論理回路は、凍結ビットをビット・パターン・ベクトル( k,n )における補数バイナリ値として識別し、ビット・パターン・ベクトル( k,n )における第1バイナリ値を利用してビットを識別するように構成され、そのビットは、情報ビット、巡回冗長検査CRCビット、パリティ・チェック凍結ビット、ユーザー装置識別子UE-IDビット、ハッシュ・ビットの群からの1つを含む。この方法では、非凍結ビットは、インターレーシング及びデインターレーシングのプロセス中に、凍結ビットとは別々に取り扱われることが可能である。
【0050】
幾つかの具体例において、電子デバイスは、ビット・パターン生成プロセスを実行するように構成されるエンコーダを有する送信機、ビット・パターン生成プロセスを実行するように構成されるデコーダを有する受信機のうちの少なくとも1つを含むことができる。
【0051】
第2態様において、本発明の具体例は、第1態様によるビット・パターン生成器及びカウンタを有する電子デバイスのための集積回路を描写している。
【0052】
第3態様における本発明の具体例では、ポーラー符号化方法が説明される。本方法は、ビット・パターン生成器が、一連の(t=|n/w|)クロック・サイクルにわたってビット・パターン生成プロセスを連続的に実行するステップ;及び一連の(t=|n/w|)クロック・サイクルにわたって連続的なビット・パターン生成サブ・プロセスの数をカウントするステップを含む。本方法は、各々の連続するt=|n/w|個のクロック・サイクルにおいてビット・パターン・ベクトル( k,n )から(w)ビットの連続的なサブ・セットを提供するステップを更に含み、ビット・パターン・ベクトルはnビットを含み、そのうちの「k」ビットは第1バイナリ値を採用し、n-kビットは補数バイナリ値を採用する。
【0053】
第4態様において、本発明の具体例は、第3態様に従うビット・パターン生成のために格納された実行可能コードを有する非一時的な有形のコンピュータ・プログラム・プロダクトを描写している。
【0054】
本発明の具体例は電子デバイス及び少なくとも1つの集積回路の実装に関連して説明されているが、他の例において、本発明が他の実装及び他のアプリケーション、例えばポーラー・エンコーダを有する送信機及び/又はポーラー・デコーダを有する受信機を有するワイヤレス通信に適用されてもよいことが想定されている。例えば、本願で説明される回路及び概念は、例えば、特定用途向け集積回路、特定用途向け命令セット・プロセッサ、特定用途向け規格製品、フィールド・プログラマブル・ゲート・アレイ、汎用グラフィカル処理ユニット、システム・オン・チップ、設定可能なプロセッサ等として構成されてもよい。同様に、他の例において、ソフトウェアの実装は、例えば中央処理ユニット、ディジタル信号プロセッサ、又はマイクロコントローラ内で構成されてもよいことが想定されている。ワイヤレス通信送信機及び受信機の他に、本発明は、ワイヤレス通信トランシーバ、又は光、有線、又は超音波チャネル等の他の通信チャネルのための通信デバイスの中で構成されてもよい。更に、本発明は、例えば光、磁気、量子、又はソリッド・ステート媒体から復元されるデータに対するFECを提供するために、ストレージ・デバイス内に構成されてもよい。
【0055】
本発明の幾つかの具体例は、第5世代(5G)移動通信のための候補として第3世代パートナーシップ・プロジェクト(3GPP)により現在規定されつつあるニュー・ラジオ(NR)規格に関連して説明される。現在、ポーラー符号化及び復号化は、物理ブロードキャスト・チャネル(PBCH)に加えて、NRのエンハンスト・モバイル・ブロードバンド(eMBB)アプリケーションのアップリンク及びダウンリンク制御チャネルにおけるFECを提供するために選択されている。ポーラー符号化及び復号化はまた、NRの超高信頼低遅延通信(URLLC)及び大容量マシン・タイプ通信(mMTC)アプリケーションのアップリンク及びダウンリンク・データ及び制御チャネルに対するFECを提供する候補としても識別されている。あるいは、本発明の幾つかの具体例は、特定の標準化されたアプリケーションを参照せずに説明される。より広義には、本発明は、FECを提供するためにポーラー符号化及び復号化を選択する将来的な任意の通信規格に適用されてもよい。更に、本発明は、無線、有線、光、超音波、又はその他の通信チャネルでの通信にFECを提供するためにポーラー符号化及び復号化を使用し得る非標準化・通信アプリケーションに適用されてもよい。同様に、本発明は、光、磁気、量子、ソリッド・ステート、及びその他のストレージ媒体でFECを提供するためにポーラー符号化及び復号化を使用するストレージ・アプリケーションに適用されてもよい。
【0056】
幾つかの具体例において、本願で説明される回路及び機能は、個別的なコンポーネント及び回路を利用して実装されてもよいが、他の例では例えば集積回路のような単独のプロセッサにおいて動作が実行されてもよい。
【0057】
本発明の説明される実施形態は、ほとんどの場合、当業者に知られている電子コンポーネント及び回路を利用して実装されることが可能であるので、以下に説明されるように、本発明の前提概念の理解及び認識のために、及び本発明を曖昧にしたり教示から逸脱したりしないために、必要であると考えられるものより豊富な程度で詳細は説明されないであろう。
【0058】
図面の詳細な説明
図1を参照すると、本発明の具体例に従って構成されるポーラー・エンコーダ及びポーラー・デコーダを含む通信ユニット116の上位レベルの図が示されている。通信ユニット116のこの具体例において、多数の他のコンポーネント及び回路(周波数発生回路、コントローラ、増幅器、フィルタ等)は簡明化のみの目的で示されていないことを、当業者は認めるであろう。他の例において、通信ユニット116における関連する回路は、ポーラー・エンコーダ又はポーラー・デコーダにおいて、更には例えばポーラー符号化又はポーラー復号化を使用するように設計されるストレージ・ユニットまたは任意の電子デバイスにおいて使用するためのブロック条件付け(block conditioning)を有する集積回路の形式をとってもよいことが想定される。他の例において、通信ユニット116は汎用演算プロセッサで動作するソフトウェアの形式をとってもよいことが想定されている。
【0059】
ポーラー・エンコーダは、3つの連続的なコンポーネント、即ち情報ブロック条件付け部101、ポーラー・エンコーダ・カーネル102、及び符号化ブロック条件付け部103を含む。これらのコンポーネントは以下のパラグラフで説明される。本説明に対する状況を用意するために、図1は、通信又はストレージ・チャネル108に加えて、ポーラー・デコーダの対応するコンポーネント、即ち情報ブロック条件付け部112、ポーラー・デコーダ・カーネル111、及び符号化ブロック条件付け部110を示しているが、これらは逆順に作動させられる。
【0060】
以下のパラグラフで説明されるように、ポーラー・エンコーダは、情報ブロック104、カーネル情報ブロック105、カーネル符号化ブロック106、及び符号化ブロック107に基づいて動作する。相応して、ポーラー・デコーダは、復元情報ブロック115、復元カーネル情報ブロック114、ソフト・カーネル符号化ブロック113、及びソフト符号化ブロック109に基づいて動作するが、これらは逆順に処理される。
【0061】
従って、以後、本説明、特許請求の範囲、及び図面を通じて、「ポーラー符号化」という表現は、具体的に別異に言及しない限り、ポーラー・エンコーディング及び/又はポーラー・デコーディングを包含するように意図されている。
【0062】
ポーラー・エンコーダの状況において、情報ブロック条件付けコンポーネント101への入力は、Kというブロック・サイズを有する情報ブロック104として言及され得る。より具体的には、この情報ブロックは、K個の情報ビットを有する行ベクトル=[ai=0 K-1であり、a∈{0,1}である。情報ブロック条件付けコンポーネント101は、K個の情報ビットを、N-K個の冗長ビットでインターレースし、冗長ビットは、例えば凍結ビット[1]、巡回冗長検査(CRC)ビット[2]、パリティ・チェック(PC)-凍結ビット[3]、ユーザー装置識別子(UE-ID)ビット[4]、又はハッシュ・ビット[5]であってもよい。
【0063】
ここで、凍結ビットは「O」の論理値を常に採用し得るが、CRC又はPC-凍結ビット又はハッシュ・ビットは、情報ビットの関数として、又はプロセスの中で先行して既にインターレースされている冗長ビットの関数として取得される値を採用することができる。情報ブロック条件付けコンポーネント101は、冗長ビットを生成し、それらを、ポーラー・デコーダにも既知の所定の方法で識別される位置にインターレースする。情報ブロック条件付けコンポーネント101はまた、例えばビット反転置換[1]を実行するかもしれないインターリーブ動作も含むことができる。情報ブロック条件付けコンポーネント101の出力は、Nというブロック・サイズを有するカーネル情報ブロック105として言及されてよい。より具体的には、このカーネル情報ブロック105は、N個のカーネル情報ビットを有する行ベクトル=[uj=0 N-1であり、u∈{0,1}である。ここで、情報ブロック条件付けは、ポーラー・エンコーダ・カーネルに互換性をもたらすために、NがKより大きな2の冪乗であるように完了しなければならず、ポーラー・エンコーダ・カーネルは、以下に説明されるように2の冪乗である次元を有する生成行列に基づいて動作する。ポーラー・エンコーダ・カーネル102への入力は、カーネル情報ブロックu105であり、ポーラー・エンコーダ・カーネル102の出力は、カーネル・ブロック・サイズNに合致するブロック・サイズを有するカーネル符号化ブロック106として言及されてよい。より具体的には、このカーネル符号化ブロック106は、N個のカーネル符号化ビットを有する行ベクトル=[xi=0 N-1であり、x∈{0,1}である。ここで、カーネル符号化ブロック106は、モジュロ2行列乗算x=uF)nに従って取得され、2つのビット値のモジュロ2加算はそれらのXORとして取得されることが可能である。ここで、生成行列F)nは、カーネル行列の[n=log(N)]次のクロネッカー冪乗により与えられる:
【数1】
【0064】
カーネル行列の連続的なクロネッカー冪乗は再帰的に得ることが可能である点に留意を要し、各々の冪乗F)nは、先行する冪乗F)n-1の中で論理「1」それぞれをカーネル行列で置換し、論理「0」それぞれを2×2ゼロ行列で置換することにより得られる。従って、カーネル行列のn次のクロネッカー冪乗F)nは、2×2という次元を有する。例えば次の通りである。
【数2】
ここで、u=[1011]はx=uF)2=[1101]を与え、u=[11001001]はx=uF)3=[00110111]を与える。
【0065】
回路又はコンポーネントの集積度合いは、幾つかのインスタンスにおいて実装に依存し得ることを、当業者は認めるであろう。更に、単独のプロセッサが通信ユニット116に含まれ、エンコーダ及びデコーダの機能を実装するように構成され得ることが、幾つかの具体例において想定されている。代替的に、単独のプロセッサが、図1に示されるような信号を送信及び受信する双方の処理に加えて、ベースバンド/ディジタル信号処理機能の全部又は一部を実装するために使用されてもよい。明らかに、無線又は有線の通信ユニット116の中で、説明されるポーラー・エンコーダ等の様々なコンポーネントは、個別的な又は統合されたコンポーネント形式で実現されることが可能であり、最終的な構造は特定の用途又は設計の選択肢である。
【0066】
この例では、ポーラー・エンコーダの符号化ブロック条件付けコンポーネント103に対する入力は、カーネル符号化ブロックx106であり、このコンポーネントの出力は、Mというブロック・サイズを有する符号化ブロック107として言及されてもよい。より具体的には、この符号化されたブロックは、M個の符号化ビットを有する行ベクトル=[bk=0 M-1であり、b∈{0,1}である。
【0067】
ここで、結果のポーラー符号化レートは、R=K/Mにより与えられ、符号化ブロック条件付け103は、「M」が「K」より大きくなるように完了しなければならない。符号化ブロック条件付けコンポーネント103は、符号化ブロックb107におけるM個の符号化ビットを生成するために様々な技術を利用することが可能であり、「M」は「N」より高くても低くてもよい。より具体的には、反復[6]を利用して、カーネル符号化ブロック「x」における幾つかの「N」ビットを反復することができる一方、ショートニング又はパンクチャリング技術[6]を利用して、カーネル符号化ブロック「x」における「N」ビットのうちの幾つかを除外してもよい。ショートニングは、「O」の論理値を有するように保証されているビットを除外する一方、パンクチャリングは論理「0」又は「1」の値の何れかを有することが可能なビットを除外することに留意を要する。符号化ブロック条件付けコンポーネントはまた、インターリーブ動作を含むこともできる。ポーラー符号化の後に、符号化ブロック「b」107は変調器に提供されることが可能であり、変調器はそれを通信チャネル108で伝送する。
【0068】
図2及び図3を参照すると、例示的なポーラー符号化プロセスは、生成行列F)3203の図形表現300の拡張を利用して具体例を示しており、K=4個の情報ビットa=[1001]104をM=8個の符号化ビットb=[00001111]107に変換するために、特定の凍結ビット・パターンが使用されている。より具体的には、K=4個の情報ビットa=[1001]104をN=8個のカーネル情報ビットu=[00010001]105に変換するために、情報ブロック条件付け101が使用される。次いで、これらは、ポーラー・コード・グラフ203を利用してポーラー・エンコーダ・カーネル102により、N=8個のカーネル符号化ビットx=[00001111]に変換される。ここで、入力経路は、出力を識別するために、様々なXOR演算によりトレースされることが可能である。最終的に、符号化ブロック条件付け103は、M=8個の符号化ビットb=[00001111]107を提供するために、全てのカーネル符号化ビットを保存する。
【0069】
受信機において、復調器の役割は、符号化されたブロックに関する情報を復元することである。しかしながら、復調器は、典型的には、通信チャネル108のノイズのランダム性により、符号化ブロック107におけるMビットの値に関して絶対的な確信を得ることはできない。復調器は、Mというブロック・サイズを有するソフト符号化ブロック109を生成することにより、符号化ブロック107におけるビットの値に関する信頼度を表現することができる。より具体的には、ソフト符号化ブロック109は、M個の符号化ソフト・ビットを有する行ベクトル=[bk=0 M-1である。各々ソフト・ビットは対数尤度比(LLR)の形式で表現されてもよい:
【数3】
ここで、Pr(b=‘0’)及びPr(b=‘1’)は合計して1になる確率である。
【0070】
ここで、ポジティブLLR(b )は、対応するビットbが「0」の値を有することに、復調器がより大きな信頼性を持っていることを示す一方、ネガティブLLRは、ビット値「1」に、より大きな信頼性を持っていることを示す。LLRの大きさは、どの程度大きな信頼性であるかを表現し、無限の大きさはそのビット値に対する絶対的な信頼性に対応する一方、「0」という大きさは、「0」のビット値又は「1」のビット値がより確からしいかどうかについて、復調器は何ら情報を持っていないことを示す。
【0071】
代替的なアプローチにおいて、各々のソフト・ビットは対数尤度比のペア(LLs)により表現されてもよい:
【数4】
【0072】
ポーラー・デコーダは3つのコンポーネント、即ち符号化ブロック条件付け部110、ポーラー・デコーダ・カーネル111、及び情報ブロック条件付け部112を、図1に示されているように有する。これらのコンポーネントは以下のパラグラフで説明される。
【0073】
ポーラー・デコーダの符号化ブロック条件付けコンポーネント110に対する入力は、ソフト符号化ブロックb109であり、このコンポーネントの出力は、Nというブロック・サイズを有するソフト・カーネル符号化ブロック113として言及されてもよい。より具体的には、このソフト・カーネル符号化ブロック113は、「N」個のカーネル符号化LLRを有する行ベクトルx=[x j=0 N-1である。M個の符号化されたLLRを「N」個のカーネル符号化LLRに変換するために、無限値のLLRがソフト符号化ブロック109とともにインターレースされ、(無限値のLLRは)ソフト・カーネル符号化ブロックの中で、ポーラー・エンコーダにおけるショートニングで除外された「0」値カーネル符号化ビットに対応する位置を占める。同様に、「0」値LLRは、カーネル符号化ビットがパンクチャリングにより除外された位置を占めるように、ソフト符号化ブロック109とともにインターレースされることが可能である。反復の場合、特定のカーネル符号化ビットのレプリカに対応するLLRが加算され、ソフト・カーネル符号化ブロック109内の対応する位置に配置されることが可能である。ポーラー・エンコーダの符号化ブロック条件付けコンポーネント103においてインターリーブが使用されていた場合、対応するデインターリーブ動作もまた実行され得る。
【0074】
ポーラー・デコーダ・カーネル111は、ソフト・カーネル符号化ブロックx113であり、その出力は「N」というブロック・サイズを有する復元されたカーネル情報ブロック114と言及されてもよい。より具体的には、この復元カーネル情報ブロック114は、「N」個の復元されたカーネル情報ビットを有する行ベクトルu^=[u^j=0 N-1であり、u^∈{0,1}である。幾つかの具体例において、ポーラー・デコーダ・カーネル111は、連続キャンセレーション(SC)デコーディング[1]及び連続キャンセレーション・リスト(SCL)デコーディング[7]を含む多種多様なアルゴリズムを利用して動作することが可能である。
【0075】
ポーラー・デコーダ112の情報ブロック条件付けコンポーネント112に対する入力は、復元されたカーネル情報ブロック114であり、コンポーネントの出力は、「K」というブロック・サイズを有する復元情報ブロック115として言及されてもよい。より具体的には、この復元された情報ブロックは、「K」個の復元された情報ビットを有する行ベクトルa^=[a^i=0 K-1であり、a^∈{0,1}である。復元情報ブロックは、復元されたカーネル情報ブロックu^114から全ての冗長ビットを除外することにより取得されることが可能である。ポーラー・エンコーダの情報ブロック条件付けコンポーネント101においてインターリーブが使用されていた場合、対応するデインターリーブ動作もまた実行され得る。
【0076】
提案されるブロック符号化ユニット
図1の上位レベルの概略に示されるように、ポーラー・エンコーダ及びポーラー・デコーダのペアは、4つのブロック条件付けモジュール101、103、110、112を含む。
【0077】
ポーラー・エンコーダの情報ブロック条件付けモジュール101、及びデコーダの符号化ブロック条件付けモジュール110は双方ともに、より短い入力をより長い出力に変換することができる。より具体的には、ポーラー・エンコーダの情報ブロック条件付けコンポーネント101に対する入力は、K個の情報ビット104を有する。幾つかの具体例において、K個の情報ビット104は、N>K個のカーネル情報ビット105を生成するために、N-K個の冗長ビットとともにインターレースされることが可能である。同様に、ポーラー・デコーダの符号化ブロック条件付けモジュール110に対する入力は、M個のソフト符号化LLR109を有する。幾つかの具体例において、M個のソフト符号化LLR109は、N>M個のソフト・カーネル符号化LLR113を生成するために、N-M個のパンクチャリング又はショートニングされたLLRとともにインターレースされることが可能である。
【0078】
本発明の例示的な実施形態によれば、(例えば、図4及び図5に関連して図示及び説明されるような)インターレーサは、ポーラー・エンコーダの情報ブロック条件付けモジュール101及びデコーダの符号化ブロック条件付けモジュール110で実行されるインターレース動作を実現するように設計されている。
【0079】
これに対して、ポーラー・エンコーダの符号化ブロック条件付け回路103、及びデコーダの情報ブロック条件付けモジュール112は双方ともに、より長い入力をより短い出力に変換する。より具体的には、ポーラー・エンコーダの符号化ブロック条件付け回路103に対する入力は、N個のカーネル符号化ビット106を有する。幾つかの具体例において、これらのビットのうちのN-M個は、M<N個の符号化ビット107を生成するためにパンクチャリング又はショートニングされることが可能である。同様に、ポーラー・デコーダの情報ブロック条件付けコンポーネント112に対する入力は、N個の復元されたカーネル情報ビット114を有する。幾つかの具体例において、これらのビットのうちのN-K個は冗長ビットであるとしてもよく、従ってK<N個の復元された情報ビット115を生成するために除外されることが可能である。
【0080】
本発明の具体例によれば、ブロック条件付け回路はビット・パターンに基づいて動作する。より具体的には、対応するインターレース及びデインターレース動作がどのように実行され得るかを指定するために、ポーラー・エンコーダ及びデコーダの情報ブロック条件付けモジュールにおいて、情報ビット・パターンが使用される。同様に、対応するデインターレース及びインターレース動作がどのように実行され得るかを指定するために、ポーラー・エンコーダ及びデコーダの符号化ブロック条件付けモジュールにおいて、符号化ビット・パターンが使用される。幾つかの具体例において、インターレース動作を制御するために、(図4,5,7,10,11,12及び13に示されているような)ビット・パターン生成器3403がインターレーサにより使用されることが可能である。
【0081】
インターレーサ
図4をここで参照すると、本発明の幾つかの例示的な実施形態によるインターレーサ3400の例示的なブロック図が示されている。幾つかの具体例において、インターレーサ3400は、k要素の入力ベクトル対応するn要素の出力ベクトルへ柔軟に変換することが可能であってもよく、k及びnは使用に応じて変化してよい。より具体的には、インターレーサ3400は、ビット・パターンに従って各入力ベクトルに対してインターレースを実行することが可能であり、ビット・パターンは、k及びnの様々な組み合わせを有するサポートされるビット・パターンの所定のセットから選択されることが可能である。インターレーサ3400は、ポーラー・エンコーダに対する図1の情報ブロック条件付け回路101等のフレキシブル情報ブロック条件付け回路を実装するために使用されてもよい。この場合、フレキシブル情報ブロック条件付け回路101は、1つのk=Kビット情報ブロック104を、対応するn=Nビット・カーネル情報ブロック105へ一度に変換することが可能であってもよく、ブロック・サイズK及びNはブロック毎に変化してよい。更に、インターレーサ3400は、ポーラー・デコーダに対するフレキシブル符号化ブロック条件付け回路110を実現するために使用されてもよい。この場合、フレキシブル符号化ブロック条件付け回路110は、1つのk=M-LLRソフト符号化ブロック109を、対応するn=N-LLRソフト・カーネル符号化ブロック113へ一度に変換することが可能であってもよく、ブロック・サイズM及びNはブロック毎に変化してよい。ポーラー・エンコーダ及びポーラー・デコーダの具体例双方において、カーネル・ブロック・サイズNは2の冪乗であることに留意を要する。
【0082】
幾つかの具体例において、インターレーシング・プロセスは一連のt=|n/w|個のステップにわたって完了し、wは2の冪乗であり、提案されるインターレーサの入力ポート3401及び出力ポート3402と呼ばれる(図4の入力ポート3401及び出力ポート3402は図5に示されるように複数の信号を運ぶ)。これは、個々のポートが各ステップで入力ベクトルから消費し得る、又は出力ベクトルのために生成し得る要素の数を定量化する。ここで、出力ポート3402は全てのステップで出力ベクトルのためにw要素を生成するが、入力ポート3401はステップのうちの|n/w|<tにおける入力ベクトルからw要素を消費するのみであり、以下詳細に説明されるように、tステップにわたって分散されることが可能である。
【0083】
入力及び出力ベクトルのw要素の各セットのうちの第1のものは、入力ポート3401及び出力ポート3402のw要素のうちの最右にマッピングされ、ベクトルの連続する要素は、入力ポート3401及び出力ポート3402の連続する要素に右から左へマッピングされる。パイプラインが適用されるか否か及びどのように適用されるかに依存して、インターレーシング処理の各ステップは、ハードウェア実装での1つのクロック・サイクルに対応してもよい。ここで、各LLRは、図1のポーラー・デコーダ・カーネル111等のポーラー・デコーダ・カーネルに対するLLR入力と同じビット幅を有する2の補数表現を利用して表現されることが可能である。注目すべきことに、提案されるアプローチは、既知の設計[14,15]のブロック条件付けモジュールとは異なり、各ステップでwパターン・ビットを処理し、既知の設計は書くステップで単独のパターン・ビットを処理することしかできない。
【0084】
インターレーサ3400はまた、ビット・パターン生成器3403、バッファ3404、シフタ3405、コントローラ3406、及び挿入回路3407(又は論理部又はソフトウェアに基づく動作部)も有する。幾つかの具体例において、インターレーシング・プロセスの特定のステップでビット・パターン生成器3403により出力されるwビット3409の各々は、そのステップにおける提案インターレーサの出力により生成されるw要素のうち、対応する位置にある要素に対応する。ビットが値「1」を有する場合、以下詳細に説明されるように、対応する出力要素は、インターレーサ3400の入力により提供される次の要素により供給される。対照的に、ビットが値「0」を有する場合、対応する出力要素3402は、(図5のインターレースされた要素3501等の)インターレースされた要素により提供される。注目すべきことに、この場合において、n<wであるとき、ビット・パターン生成器3403は、長さをwまで増やすために、w-n個のダミー・ビットをビット・パターンの末尾に付加することができる。
【0085】
ポーラー・エンコーダの情報ブロック条件付けコンポーネント101の場合、インターレースされる要素は、例えば、値「0」を有する凍結ビット、巡回冗長検査(CRC)ビット、パリティ・チェック(PC)-凍結ビット、ユーザー装置識別子(UE-ID)ビット、ハッシュ・ビットであってもよい。ポーラー・デコーダの符号化ブロック条件付け回路110の場合、インターレースされる要素は、例えば[6]のような2の補数の固定小数点数表現によりサポートされる最大ポジティブ値を有するショートニングされたLLR、又は値「0」を有するパンクチャリングされたLLRであってもよい。幾つかのアプリケーションにおいて、1より多いタイプのインターレースされた要素が必要とされ得ることに留意を要し、ここで、情報ビットは例えば凍結ビット及びCRCビットでインターレースされていてもよい。この場合、インターレースされる要素のタイプそれぞれについて個々のビット・パターンが使用されてもよい。代替的に、ビット・パターンは、ビット・パターンの各要素について|log(z)|個のビットを利用することができ、ここで、log(z)ビットの組み合わせは、z個の要素タイプのうちの何れが使用されるかを識別することができる。例えば、凍結ビット、CRCビット、及び情報ビットのz=3個のオプションを表現するために、ビット・ペリング10,01,11それぞれが使用されてもよい。この場合、デコーダ回路は、インターレースされた要素のタイプそれぞれについて個々のビット・パターンを取り出すために使用されてもよい。
【0086】
インターレーシング・プロセスの各ステップi∈[0,t-1]において、コントローラ3406は、上述したように、ビット・パターン生成器3403により提供されるビット3409の中で、1の値のビットの数Pをカウントすることができる。この要素数は、第1に、(w-1)要素バッファ3404の中に存在する任意の要素、第2に、インターレーサ3400の入力ポート3401という2つの要素のソースを利用することにより、提案インターレーシング・プロセスの出力のためにまとめられる。コントローラ3406は、インターレーシング・プロセスの各ステップの始めにバッファ3404に格納される有効要素の数R∈[0,w-1]を追跡し、バッファ3404は、インターレーシング・プロセスの開始時に始めは空(empty,=0)である。バッファR中の有効要素数が必要数Pより少ない任意のステップにおいて、コントローラは、オンデマンド方式でw個の要素を入力3401から引き出させることができる。
【0087】
図5をここで参照すると、本発明の幾つかの例示的な実施形態によるw=4の場合に対するインターレーサ3500のより詳細な具体例が示されている。図5に例示されるように、ビット・シフタ回路3405は、w要素の入力ポート3401及び(w-1)要素のバッファ3404から引き出される要素を結合し、少なくともP個の有効要素を含む(2w-1)要素の出力を生成するために使用される。R<Pである場合、提案インターレーサのw要素入力ポート3401は、バッファ3404からの要素の左に付加される。しかしながら、バッファ3404からのw-1要素のうちのR∈[0,w-1]のみが有効であり、それでコントローラ3406は、バッファ3404からのR要素と多重化する前に、C=w-1-R個の位置だけ右側に、提案インターレーサ3500のw要素入力ポート3401をシフトするように、ビット・シフタ回路3405を指示する。ビット・シフタ回路3405は、マルチプレクサのlog(w)個の行を利用して実装されてもよく、各々の行3503はマルチプレクサを利用して異なる2の冪乗シフトを実現する。図5に示されるように、各マルチプレクサ行3503に対する制御信号は、Cのバイナリ表現の対応するビットから取得されることが可能であり、最上位ビット(MSB)は2の最大冪乗シフトを実現する行を駆動し、最下位ビット(LSB)は1つの位置のシフトを実現する行を駆動する。幾つかの具体例において、行は任意の順序で置換されてもよいことに留意を要する。別のw-1個のマルチプレクサ3502は、シフトされた入力を、バッファ3404の内容と多重するために必要とされ、ここで、最右のR個の要素はバッファ3404から選択され、残りの要素はビット・シフタ回路3405の出力から選択される。代替アーキテクチャでは、別のw-1個のマルチプレクサが、ビット・シフタ回路3405の同じ行の中に並べられ、インターレーサ3500のクリティカル・パス長を減らすことができることも想定されている。R<Pである場合、上記のアプローチは、ビット・シフタ回路3405の2w-1個の出力のうちの最右R+w個について有効な要素となる。これとは異なり、R≧Pである場合、インターレーサ3500の出力から入力は取られず、ビット・シフタ回路3405はディセーブルにされる。これは、ビット・シフタ回路3405の2w-1個の出力のうちの最右R個提供するバッファ3404からのR個の有効要素となる。
【0088】
ビット・シフタ回路3405の(2w-1)要素の出力は挿入回路3407に提供され、挿入回路は、ビット・パターンによって指示される位置の要素を取り出し、残りの要素の全てをバッファ3404に置き、インターレーシング・プロセスの次のステップでの使用に備える。挿入回路3407は、w行のマルチプレクサを有し、最上位行は2w-2個のマルチプレクサを有し、それより下位の連続的な行の各々は直前より1つ少ないマルチプレクサを含む。この方法では、各行のマルチプレクサはシフトする回路を形成し、ビット・パターンからの対応するビットの値によって制御される。より具体的には、ビット・パターンからの対応するビットが「1」であった場合、行に対する入力で最右の要素が、インターレーサ3500の出力に関して取り出され、行に対する入力で他の全ての要素は、図5に示されるように、位置1つだけ右にシフトされる。ビット・パターンのビットはまた、w個のマルチプレクサ3504のセットを制御するためにも使用され、挿入回路3407から取り出される要素と、対応するインターレースされる要素3501とを多重し、その要素は、ポーラー・エンコーダの情報ブロック条件付けモジュール101の場合における冗長ビットであるとすることが可能であり、またポーラー・エンコーダの符号化ブロック条件付けモジュール110の場合におけるパンクチャリングされた又はショートニングされたLLRであるとすることが可能である。異なるインターレース要素3501が異なる値を有する場合、インターレース3500のレプリカは、上記の相補的なビット・パターンに基づいて動作させられることが可能である。次いでこれらのインターレーサの出力は上述したw個のマルチプレクサ3504のセットを利用して一緒に多重化されることが可能である。
【0089】
インターレーシング・プロセスの各ステップの完了に続いて、挿入回路3407の最下位行により出力された(w-1)個の要素は、バッファ3404に格納される。R<Pであるステップにおいて、有効であるこれらの要素数はR+1=R+w-Pにより与えられる一方、R≧Pであるステップでは要素のR+1=R-Pが有効になるであろう。上述したように、次いでバッファ3404は、これらの有効な要素を、インターレーシング・プロセスの次のステップに対して利用可能にする。
【0090】
インターレーサ3500に必要なマルチプレクサの総数は、3w/2+wlog(w)+w/2-log(w)-1により与えられる。ビット・シフティング回路3405の全てのマルチプレクサが、同じlog(w)行内に集められる場合には、クリティカル・パスは、w+log(w)個のマルチプレクサを含む。
【0091】
図6はw=4の場合にインターレーサ3400又は3500を動作させるための例示的なテーブルを示し、k=9の場合、n=16ビット・パターン[1100011010110101]に従って、入力要素[9,8,7,6,5,4,3,2,1]は左から右へ「0」値インターレーシング要素とインターレースされる。ステップ「0」において、P=2個の要素が必要とされるが、バッファ(例えば、図4又は図5のバッファ3404)はR=0個の有効要素を含んでおり、従ってw=4個の要素が入力ポート3401から消費される。w=4個の要素のうち、P=2個はビット・パターンにより指定される位置で出力に寄与し、残りのR=2個の要素はバッファ3404に格納される。ステップ「1」においては、P=3個の要素が必要とされるが、バッファ3404はR=2個の有効要素しか含んでおらず、それでw=4個の要素が入力ポート3401から消費される。R+w=6個の要素のうち、P=3個はビット・パターンにより指定される位置で出力に寄与し、残りのR=3個の要素はバッファ3404に格納される。ステップ「2」においては、P=2個の要素が必要とされ、バッファ3404はR=3個の有効要素を含んでおり、それで入力ポート3401からは要素は消費されない。R=3個の要素のうち、P=2個はビット・パターンにより指定される位置で出力に寄与し、残りのR=1個の要素はバッファ3404に格納される。ステップ「3」においては、P=2個の要素が必要とされるが、バッファ3404はR=1個の有効要素しか含んでおらず、それで残りの要素が入力ポート3401から消費されるが、w=4の幅を構築するためにゼロでパディングされる。R+1=2個の要素の双方がビット・パターンにより指定される位置で出力に寄与する。
【0092】
ビット・パターン生成器
本発明の具体例において、ビット・パターン生成器3403に対する多数の代替的な設計が本願で提案され、そのうちの何れもが、ポーラー・エンコーダの情報ブロック条件付け回路101を実装するために、インターレーサ3400又は3500で使用される情報ビット・パターンを生成するために使用されることが可能である。更に、これらの例示的な設計は、ポーラー・デコーダの符号化ブロック条件付け回路110を実装するために、インターレーサ3400又は3500によって使用される符号化ビット・パターンを生成するために使用されることが可能である。
【0093】
以下のセクションは、ビット・パターン特性の多種多様な組み合わせを利用することが可能な代替的なビット・パターン生成器の設計を提案している。

1)ナイーブ・ビット・パターン生成器:
図7をここで参照すると、本発明の幾つかの例示的な実施形態による、w=4の場合のナイーブ・ビット・パターン生成器(a naive bit pattern generator)4200が示されている。ナイーブ実装では、ビット・パターン生成器4200は、ビット・パターン・リード・オンリ・メモリ(ROM)4201を利用して実装されることが可能であり、これは、サポートされるビット・パターン・ベクトル k,n のセットを格納することが可能であり、その各々は入力及び出力ベクトル長k及びnの特定の組み合わせに対応している。幾つかの具体例において、オフライン事前計算プロセスが、全てのサポートされるビット・パターンに対するサポートされるビット・パターン・ベクトル k,n のそのセットを生成するために使用されることが可能であり、そのベクトルは、オンライン・ブロック条件付けプロセス中に必要に応じてビット・パターンROM4201から読み込まれることが可能である。
【0094】
図8をここで参照すると、n∈{2,4,8,16}及びk∈{1,2,3,...,n-1}の全ての組み合わせについてポラリゼーション・ウェイト(PW)ビット・パターン構成を使用する場合における、本発明の幾つかの例示的な実施形態によるビット・パターンROMの内容の例示的なテーブル3700が示されている。図8の例示的なテーブルでは、n∈{2,4,8,16}及びk∈{1,2,3,...,n-1}の全ての組み合わせについて、一群の情報ビット・パターン・ベクトル k,n が生成されている。ここで、情報ビット・パターン・ベクトル k,n における「1」の値の要素は、例えば図1のカーネル情報ブロック105等のカーネル情報ブロック中の対応するビットは、情報ビットであるべきであることを示す。一方、情報ビット・パターン・ベクトル k,n における「0」の値の要素は冗長ビットに対応し、冗長ビットは例えば凍結ビット、CRCビット、PC-凍結ビット、UE-IDビット、又はハッシュ・ビットであってもよい。代替的な構成において、情報ビット・パターン・ベクトル k,n における「1」の値の要素は、カーネル情報ブロックにおける対応するビットが、非凍結ビットであるべきことを示し、非凍結ビットは例えば情報ビット、CRCビット、PC-凍結ビット、UE-IDビット、又はハッシュ・ビットであってもよい。一方、情報ビット・パターン・ベクトル k,n における「0」の値の要素は、凍結ビットに対応してもよい。代替的に、各ビットがそれぞれのビット・タイプに所属しているか否かを示すために、個々のビット・パターン・ベクトルが使用されてもよい。
【0095】
図7に戻り、n∈{2,4,8,…,nmax}及びk∈{1,2,3,...,n-1}の全ての組み合わせをサポートするために、ビット・パターンROM4201の合計容量条件は、Σn∈{2,4,8,…,nmax}(n-n)により与えられ、これはnmax=1024である場合に1.33Mビットに対応する。ビット・パターンROM4201はwビットの幅を有し、各々のビット・パターン・ベクトル k,n は|n/w|個の連続的なアドレスにわたって格納され、ここで、nはビット・パターン・ベクトル k,n によりサポートされる出力ベクトル長である。幾つかの具体例において、n<wである場合、ビット・パターン・ベクトル k,n はw-n個のダミー・ビットを付加されることが可能であり、その結果、そのベクトルはビット・パターンROM4201内でシングル・アドレスの幅を占有する。図7に示されるように、k及びnはルックアップ・テーブル4202をインデックスし、特定のビット・パターン・ベクトル k,n 各々の開始アドレスを識別するために使用されることが可能である。ブロック条件付けプロセスのt=|n/w|個の連続的なステップの各々の間に、カウンタ4203cは、0からt-1までインクリメントされ、ビット・パターンROM4201の開始アドレスからのオフセットとして使用されることが可能であり、ビット・パターン・ベクトル k,n の連続的なw要素サブ・セット{b,b,b,...,bw-1}4204を読み込む。本発明の具体例では、カウンタ4203cは|n/w|までクロック・サイクル数をカウントするように構成されている。
【0096】
2)入れ子状特性を利用するビット・パターン生成器:
ビット・パターン・ベクトル k,n の生成に必要なROMの量は、ビット・パターン・ベクトル k,n が入れ子状特性に従う場合に著しく削減されることが可能である。ここで、k及びnの特定の組み合わせに対するビット・パターン・ベクトル k,n における「1」の値のビットは、より大きなk及び同じnの任意の組み合わせに対するビット・パターン・ベクトル k,n における「1」の値のビットのサブ・セットを常に形成する場合に、入れ子状特性は充足される。例えば、PW技術、及びフラクタル・エンハンスト・カーネル(FRANK)技術[9]により生成されるビット・パターン・ベクトル k,n によって、入れ子状特性は充足される。k及びnのサポートされる組み合わせの各々についてビット・パターン・ベクトル k,n を格納するのではなく、本発明の具体例の実施形態によるランクROM3801は、サポートされるnの各々についてランク・ベクトル を格納するために使用されることが可能である。nの特定の値に対するランク・ベクトル は、各ビット位置のランクに対応する順序で置換された、0ないしn-1の範囲内の整数を含み、特定のランクは、ビット・パターン・ベクトル k,n における対応するビットが値0を有する場合の最大のkを示す。
【0097】
図9をここで参照すると、n∈{2,4,8,16,32}の全てについて[8]のPWビット・パターン構成を使用して生成される一群のランク・ベクトル に関し、本発明の幾つかの例示的な実施形態による(図10のランクROM3801等)ランクROMの内容の例示的なテーブルが示されている。ここで、より下位のランクは、図1のカーネル情報ブロック105等のカーネル情報ブロック内で、より信頼できるビットに対応する。
【0098】
図10をここで参照すると、本発明の幾つかの例示的な実施形態によるw=4の場合の入れ子状特性を利用するビット・パターン生成器が示されている。ここで、ランク・ベクトル の各要素をkと比較するために、w個の比較器3802のバンクを利用することにより、k及びnの特定の組み合わせについて、ビット・パターン・ベクトル k,n が生成されることが可能である。ランクがk未満である場合、対応するビット・パターン・ベクトル k,n のビット「1」に設定され、そうでない場合、ビット・パターン・ビットは「0」に設定される。ここで、ランク及びkを、2の補数の固定小数点数表現を利用して表現し、減算を実行し、そしてその結果のMSBを維持することにより、ビット・パターン・ビットは取得されることが可能である。
【0099】
幾つかの具体例において、log(nmax)ビットの幅を有する固定小数点数を利用して、ランクROM3801内の全てのエントリが格納されていると仮定すると、n∈{2,4,8,...,nmax}に対して全てのランク・ベクトル を格納するためにランクROM3801に必要な合計容量は、(2nmax-2)log(nmax)ビットにより与えられることが可能である。このように、ランクROMは、サポートされるビット・パターンの長さ「n」の各々についてランク・ベクトル を取得するのに十分な情報を格納する。これは、nmax=1024である場合に19.98kビットに対応し、上記のナイーブ・ビット・パターン生成器のビット・パターンROMに必要な合計容量と比較して、98.5%の削減を示す。
【0100】
代替的に、nの異なる値に対して固定小数点数を格納するために、log(n)ビットという異なる幅が使用される場合、必要な合計容量はΣn∈{2,4,8,…,nmax}nlog(n)ビットまで削減されることが可能であり、nmax=1024である場合に18.00kビットに対応する。
【0101】
幾つかの具体例において、ランクROM3801は、各ランクに対する固定小数点数表現がlog(nmax)ビット又はlog(n)ビットを有するかどうかに依存して、wlog(nmax)ビット又はwlog(n)ビットの幅を有する。ここで、各々のランク・ベクトル は|n/w|個の連続的なアドレスにわたって格納され、nはランク・ベクトル によりサポートされる出力ベクトル長である。注目すべきことに、n<wの場合に、ランク・ベクトル は、w-n個のダミー要素を付加されることが可能であり、それにより、ランクROM3801内でシングル・アドレスの幅を占有する。
【0102】
幾つかの具体例において、nは、特定のランク・ベクトル 各々の開始アドレスを識別するために、ルックアップ・テーブル3803をインデックスするために使用されることが可能である。代替的に、nのサポートされる値各々に対応するランク・ベクトル を格納するために、個々の多重ランクROM3801が使用されることが可能であり、各々は「0」の開始アドレスを使用することが可能である。
【0103】
ブロック条件付けプロセスのt=|n/w|個の連続的なステップのそれぞれの間に、カウンタ4203cは「0」から「t-1」までインクリメントされることが可能であり、ランクROM3801の開始アドレスからのオフセットとして使用され、ランク・ベクトル の連続的なw要素サブ・セットを読み込む。次いで、ランク・ベクトル のこれらのサブ・セットは、上述したようにw個の比較器3802のバンクを利用して、wパターン・ビット{b,b,b,...,bw-1}に変換されることが可能である。
【0104】
幾つかの具体例において、0からt-1までカウントするように構成されるカウンタ4203cは、この例示的な回路及びアプローチについてだけでなく、前述のアプローチの例示的な回路についても使用されてよいことが想定されている。
【0105】
注目すべきことに、ランク・ベクトル は[8,9]で説明されているインデックス・ベクトル とは異なる。より具体的には、ランク・ベクトル はカーネル情報ブロック105内のビットの信頼性をランク付けし、カーネル情報ブロック105における第1ビットのランクはベクトルの一方端に現れ、最終ビットのランクはベクトルの他方端に現れる。対照的に、インデックス・ベクトル は、信頼度の順に格納されたカーネル情報ブロック105内のビットのインデックスを提供し、最も信頼できるビットのインデックスがベクトルの一方端に現れ、最も信頼できないビットのインデックスがベクトルの他方端に現れる。しかしながら、インデックス・ベクトル に基づくアプローチは、インデックス・ベクトル を解釈し且つビット・パターン・ベクトル k,n を生成するために、インターリーバ又は他の複雑な回路の利用を必要とするかもしれない。対照的に、提案されるアプローチは、上述したように、ランク・ベクトル を解釈し且つビット・パターン・ベクトル k,n を生成するために、簡易な比較器3802を当てにするだけである。
【0106】
上記のランク・ベクトル の要素は、n-1から減算され、代わりにこの調整された形式で格納されてもよいことが、代替的な例において想定されている。このように、ランクROMは、ビット・パターンのサポートされる長さ「n」の各々に対してランク・ベクトル を取得するのに十分な情報を格納する。PW及びFRANK技術を利用して生成される情報ビット・パターン・ベクトル k,n の具体例において、この調整は、より高い信頼度を有するカーネル情報ブロック105内のビットを、調整しないアプローチでのようにより低い値ではなく、より高い値を有する調整されたランクに対応させるであろう。この調整は、PW技術の対称特性により、図9に示される非調整ランクの順序を反転することと等価であることに留意を要する。上記の説明において、非調整ランクがk未満であるか否かを決定するための比較の各々は、調整ランクがn-k以上であるか否かを決定するための比較に置換されることが可能である。
【0107】
3)入れ子状及び対称特性を利用するビット・パターン生成器:
このビット・パターン生成器の具体例において、上述のランクROM3801に必要とされる合計容量は、ビット・パターン・ベクトル k,n が入れ子状特性及び対称特性に従う場合に、50%削減されることが可能である。ここで、ランク・ベクトル の要素の任意のペアが、全てのn及び全てのi∈[0,n-1]について、合計してn-1になるインデックスi及びn-i-1を有する場合に、対称特性は充足される。例えば、一般的な[9]のFRANK技術により生成されるものではなく、PW技術によって生成されるビット・パターン・ベクトル k,n により、対称特性は充足される。
【0108】
幾つかの具体例において、対称特性が充足される場合に、ランクROM3801は、各々のランク・ベクトル の前半を格納することを必要とするのみであり得る。log(nmax)という一定の幅を有する固定小数点数が使用される場合、これは、n∈{2,4,8,...,nmax}の場合に全てのランク・ベクトルRnを格納するためにランクROM3801に必要な合計容量を、(nmax-1)log(nmax)ビットまで削減し、これはnmax=1024の場合に9.99kビットに対応する。このように、ランクROMは、サポートされるビット・パターン長「n」それぞれについてランク・ベクトル を取得するのに十分な情報を格納する。
【0109】
代替的に、log2(n)の可変幅を有する固定小数点数が使用される場合に、これは必要な合計容量を、Σn∈{2,3,4,...,nmax}nlog(n)/2ビットまで削減する。ランクROM3801はwランクの幅を有し、各々のランク・ベクトル は|n/(w2)|個の連続的なアドレスにわたって格納され、nはランク・ベクトル でサポートされる出力ベクトル長である。
【0110】
注目すべきことに、n/2<wである場合、ランク・ベクトル は、w-n個のダミー要素を付加されることが可能であり、ランクROM3801内でシングル・アドレスの幅にわたって格納される。
【0111】
図11をここで参照すると、本発明の幾つかの例示的な実施形態に従って、w=4である入れ子状及び対称特性を利用するビット・パターン生成器4000が示されている。ここで、nは、ルックアップ・テーブル3803をインデックスし、特定ランク・ベクトルRnそれぞれの開始アドレスを識別するために使用されることが可能である。代替的に、nのサポートされる値それぞれに対応するランク・ベクトル を格納するために、別個の多重ランクROM3801が使用されることが可能であり、それぞれ「0」の開始アドレスを使用することが可能である。
【0112】
幾つかの具体例において、ビット・パターン生成器4000は、削減された容量のランクROM3801とのインターフェースに使用され、ビット・パターン・ベクトル k,n を生成するために使用されることが可能である。ブロック条件付けプロセスのt=|n/w|個の連続的なステップの各々の間に、カウンタ4203cは、「0」から「t-1」までインクリメントされ、ランクROM3801の開始アドレスからのオフセットを生成するために使用されることが可能である。c<|n/(2w)|である場合に、ブロック条件付けプロセスのt=|n/w|個の連続的なステップの前半の間に、ランク・ベクトル のw要素サブ・セットが、ランクROM3801内の増加するアドレスから読み込まれ、開始アドレスからのオフセットはcにより与えられる。
【0113】
図10の具体例に戻ると、w個の比較器3802のバンクは、ランク・ベクトル のこれらのサブ・セットを、w個のパターン・ビット{b,b,b,...,bw-1}4204に変換するために使用されることが可能である。この具体例では、c≧|n/(2w)|である場合に、プロセスの後半の間に、ランク・ベクトル のw要素サブ・セットが、ランクROM3801内の減少するアドレスから読み込まれ、開始アドレスからのオフセットは(|n/w|-c-1)により与えられることが可能である。このように、同じアドレスがブロック条件付けプロセスの前半の間と同様に、但し逆順で読み込まれる。この具体例において、ランクROM3801の開始アドレスからのオフセットとしてcではなく(|n/w|-c-1)を提供するために、マルチプレクサ4004が使用されてもよい。プロセスのこの後半の間に、ランクがn-k以上である場合、対応するビット・パターン・ビットは「1」に設定され、そうでない場合は「0」に設定される。これは、w個の比較器3803のバンクに対する入力として、kではなくn-kを提供するためにマルチプレクサ4001を使用することにより、及び比較器3802の出力を反転させるためにw個のNOTゲート4002のバンクを使用することにより、実装することができる。更に、図11に示されるように、プロセスの後半の間に、w個のパターン・ビット{b,b,b,...,bw-1}4204の順序を反転させるために、w個のマルチプレクサ4003のバンクが使用されることが可能である。
【0114】
代替的な例において、上記のランク・ベクトル の要素は、n-1から減算され、代わりにこの調整された形式で格納されてもよいことが想定されている。このように、ランクROMは、サポートされるビット・パターン長「n」それぞれに対するランク・ベクトル を取得するのに十分な情報を格納する。ここで、非調整ランクがk未満であるか否かを決定するための比較の各々は、調整ランクがn-k以上であるか否かを決定するための比較に置換されることが可能である。同様に、非調整ランクがn-k以上であるか否かを決定するための比較の各々は、調整ランクがk未満であるか否かを決定するための比較に置換されることが可能である。
【0115】
4)入れ子状、再帰的、及び算術特性を利用するビット・パターン生成器:
幾つかの具体例において、ビット・パターン・ベクトル k,n が入れ子状、再帰的、及び算術特性に従う場合に、ビット・パターン・ベクトル k,n の生成に必要なROMの量は、著しく更に削減されることが可能である。n∈{2,4,8,...,nmax}の連続的な値に関連するインデックス・ベクトル が、先行するインデックス・ベクトル n/2 に関して簡易な操作を実行することにより生成できる場合に、再帰特性は充足される。例えば、[8]のPWシーケンスにおいて、インデックス・ベクトル は、特定のインターレーシング・パターン に従って、 n/2 n/2 +n/2とインターレースすることにより取得されることが可能である。「0」から「n-1」の範囲内のインデックスのみに基づいて、出力ベクトルのnビットの各々に関してビット信頼度メトリックが取得され得る場合に、算術特性は充足される。[8]のPWシーケンスでは、各々のカーネル情報ビットの信頼度は、「0」から「n-1」の範囲内で各々のビット・インデックスのバイナリ表現に関してβ展開(β expansion)を計算することにより決定されることが可能である。これらのビット信頼度の対応するベクトルの要素βは、インデックス・ベクトル を取得するための順序で格納されてもよいし、ランク・ベクトル を取得するための順序で格納されてもよい。
【0116】
図12をここで参照すると、本発明の幾つかの例示的な実施形態によるw=4の場合の入れ子状、再帰的、及び算術特性を利用するビット・パターン生成器4400が示されている。幾つかの具体例において、ビット・パターン・ベクトル k,n が入れ子状、再帰的、及び算術特性に従う場合に、例示的なビット・パターン生成器4400は、k及びnの特定の組み合わせについてビット・パターン・ベクトル k,n を取得することが可能である。ここで、再帰的回路4401は、n-kの値を、(n-k)番目に高いビット信頼度を有するビットのインデックスQ(n-k)に変換するために使用されることが可能である。この再帰的回路4401は、先行するインデックス・ベクトル{Qn/2(k),Qn/4(k),Qn/8(k),...}から、要素の再帰的な組み合わせに基づいてQ(n-k)を取得するために、再帰的な特性を利用することができる。幾つかの具体例において、注目すべきことに、連続的なインデックス・ベクトルそれぞれの全体を解凍(unpacking)するのではなく、解凍は、Q(n-k)を取得するために必要とされる特定の要素のみをターゲットにすることが可能である。PWシーケンスの場合、モジュールは、インターレースを実行する回路に加えて、インターレース・パターン{P,P,P,...,Pnmax}の全部又は一部を格納するためのROMを含むことが可能である。
【0117】
幾つかの具体例において、注目すべきことに、対称特性をも活用することにより、このROMは1kビットという合計容量の必要性を有することができる。この顕著な改善に関するリファレンスを提供するために、[8]の説明を考察することとし、ベクトル は、{ ,P ,...,P }に基づいて を生成する技術とともに規定される。ここで、Pnは対称性を満足するバイナリ・ベクトルである。nは実行時に{ ,P ,P ,...,P 1024 }の間で変化することが可能であるので、{ ,Q ,Q ,...,P 1024 }を生成する能力が要求される。その結果、{ ,P ,P ,...,P 1024 }の全てを生成する能力が必要とされる。本発明の例示的な実施形態によれば、Pnの対称性を利用することにより、Pベクトルは{ ,P ,P ,...,P 1024 }それぞれの前半のみを格納することにより生成されることが可能である。ここで、{ ,P ,P ,...,P 1024 }の全てに合計1023ビットを与える場合に、Pの前半を格納するためにn/2ビットが必要とされる。このように、再帰的回路は、Q(n-k)を得るために、圧縮された情報を解凍するものと考えることができる。
【0118】
これに続いて、算術回路4402は、(n-k)次のランクを有するビットのインデックスQ(n-k)を、ビット信頼度メトリックβQ(n-k)に変換する算術特性を利用することができる。この値は、レジスタ4403に格納され、ビット・パターン・ベクトル k,n を生成するプロセスを通じて使用されることが可能である。
【0119】
より具体的には、ブロック条件付けプロセスのt=|n/w|個の連続的なステップそれぞれの間に、カウンタc4203は、「0」から「t-1」までインクリメントされ、ビット・パターン・ベクトル k,n の連続的なw要素サブ・セットに関するビット・インデックス{cw,cw+1,cw+2,...,cw+w-1}を取得するために使用することが可能である。幾つかの具体例において、これは図12に示されるように、乗算器4404とw-1個の加算器4405のバンクとの配置を利用して達成されてもよい。これに続いて、算術回路のw個のレプリカ4406のバンクは、対応するビット信頼度{β[cw],β[cw+1],β[cw+2],...,β[cw+w-1]}を算出するために使用されることが可能であり、次いでこれらはw個の比較器4407のバンクを利用して(Q(n-k))と比較され、ビット・パターン・ベクトル k,n の対応するw個の要素を獲得する。PWシーケンスにおいて、より大きなβ展開値はより大きなビット信頼度を暗示しており、それでw個の比較器4407のバンクは、対応するビット信頼度{β[cw],β[cw+1],β[cw+2],...,β[cw+w-1]}がβ(Q(n-k))以上であるか否かを決定することにより、ビット・パターン・ビット{b,b,b,...,bw-1}4204を取得する。
【0120】
注目すべきことに、ビット・パターン・ベクトル k,n の再帰的特性を利用することにより、省電力化を達成する可能性があり得る。例えば、PWシーケンスの場合に、再帰的特性は、カーネル情報ブロック中のビット間の関係を決定するために使用されることが可能である。より具体的には、特定のビットが凍結ビットとして選ばれる場合、これは、特定の他のビットもまた凍結ビットとして選ばれることを確実にする、と判断されてもよい。特定のビットが情報ビットとして選ばれる場合、これは、特定の他のビットもまた情報ビットとして選ばれることを確実にする、と判断されてもよい。これは、対応するビット・パターン・ビットが、プロセスの先行するステップで行われている判断に基づいて決定され得る場合は常に、プロセスの特定のステップの間に、特定の算術回路をディセーブルにするために、図12のビット・パターン生成器4400で利用され得る。
【0121】
幾つかの具体例において、ビット信頼度がビット・インデックスの簡易な関数である符号化ブロック条件付けの場合に、図12のアプローチは更に簡略化され得ることが想定されている。ここで、符号化ブロック条件付けプロセスのt=|n/w|個の連続的なステップの各々の間に、カウンタc4203は、「0」から「t-1」までインクリメントされ、n及びkの値に依存して、ビット・パターン・ベクトル k,n の連続的なw要素のサブ・セットを提供する回路を制御するために使用される。
【0122】
図13をここで参照すると、本発明の具体例に従って符号化ブロック条件付けプロセスの各ステップで特定のビット・パターンからwビットを生成する回路が示されている。例えば、本発明の幾つかの例示的な実施形態に従って、図示の回路は:(a)ブロック・パンクチャリング;(b)ブロック・ショートニング;(c)ビット反転パンクチャリング;及び(d)ビット反転ショートニングを含む。ブロック・パンクチャリング、ブロック・ショートニング、ビット反転パンクチャリング、及びビット反転ショートニング[16]に関する適切な回路は、図13a-13dに示されている。ここで、乗算器4101及びw-1個の加算器4102のバンクは、カウンタc4203を、ビット・パターン・ベクトルの現在のサブ・セットにおけるビットのインデックス{cw,cw+1,cw+2,...,cw+w-1}に変換するために使用される。図13c及び13dのビット反転方法の場合、各ビット・インデックスのlog2(n)ビット・バイナリ表現におけるビットの順序を反転し、反転されたビット・インデックス{ ̄cw, ̄cw+1, ̄cw+2,..., ̄cw+w-1}を生成するために、w個のリバース・モジュール4103のバンクが使用される。最終的に、ビット・インデックス又は反転されたビット・インデックスと、k又はn-kとを比較するために、w個の比較器のバンクが使用される。より具体的には、図13b及び13dのショートニング方法では、対応するビット・インデックス又は反転されたビット・インデックスがk未満である場合に、ビット・パターン・ビット{b,b,b,...,bw-1}は1に設定される。これに対して、図13a及び13cのパンクチャリング方法では、対応するビット・インデックス又は反転されたビット・インデックスがn-k以上である場合に、ビット・パターン・ビット{b,b,b,...,bw-1}は1に設定される。図12と比較すると、算術モジュール4401及び再帰モジュール4402は図13a-13dに示される全てのケースで互いに相殺していることが観察されるであろう。図13c及び13dのケースでは、算術モジュール4406の機能は、ビット反転動作4103によって実行される。
【0123】
凍結ビット挿入及び除外のための提案ハードウェア実装の具体例
幾つかのポーラー符号が[17]で提案され比較されており、ファーウェイのシーケンスが、3GPP TSG RAN WG1 Meeting#90[18,Al6.1.4.2.2]において、3GPPニュー・ラジオ・ポーラー符号に選択された。[17]によるファーウェイのシーケンスは、Nmax=1024という最大マザー・コード・ブロック長に関して規定され、より短い2の冪乗マザー・ブロック長に関するシーケンスQは、シーケンスの入れ子状特性を利用することにより取り出すことができる。例えば、N=64に関するシーケンスQ64は次の通りである:Q64=[0,1,2,4,8,16,32,3,5,9,6,17,10,18,12,33,20,34,24,36,7,11,40,19,13,48,14,21,35,26,37,25,22,38,41,28,42,49,44,50,15,52,23,56,27,39,29,43,30,45,51,46,53,54,57,58,60,31,47,55,59,61,62,63]。ここで、シーケンスQの各々の連続的な要素Q[u](u∈[0,N-1])は、ポーラー符号の次に大きな信頼度の非符号化ビットの位置([0,N-1]の範囲内にある)を示し、Q[0]及びQ[N-1]はそれぞれ最低及び最高の信頼できるビットの位置を与える。例えば、Q64[5]=16は、その位置にあるビット16は、Q64[0]ないしQ64[4]の位置にあるビットよりも信頼できるが、Q64[6]ないしQ64[63]の位置にあるビットよりは信頼できないことを示す。
【0124】
2つのポーラー・コード・レート・マッチング方法が[19]で提案され比較ており、オプション2が3GPP TSG RAN WG1 Meeting#90[18,Al6.1.4.2.3]で選択されている。[19]によるオプション2は、サブ・ブロック・インターリーバを規定しており、ポーラー符号化ビットを32個の等しい長さのサブ・ブロックに分解し、インターリーバ・パターンπ=[0,1,2,4,3,5,6,7,8,16,9,17,10,18,11,19,12,20,13,21,14,22,15,23,24,25,26,28,27,29,30,31]に従って並べ替えられる。ここで、インターリーバ・パターンπの各要素π[m](m∈[0,31])は、位置mにおけるインターリーブ後のサブ・ブロックが供給される元の位置([0,31]の範囲内にある)を示す。例えば、π[9]=16は、位置9のインターリーブ後のサブ・ブロックは、インターリーブ前に位置16にあったサブ・ブロックから供給されることを示す。更に、非符号化ブロック長K及び符号化ブロック長Mに依存して、[19]のオプション2は、マザー・コード・ブロック長Nの選択と、パンクチャリング、ショートニング、又は反復の選択とを支配するルールを規定する。重要なことに、[19]のオプション2はまた、レート・マッチング方式の他の態様全てに依存する、凍結ビットの選択を支配するルールも規定している。
【0125】
より具体的には、レート・マッチング方式は、K個の情報及び巡回冗長検査(CRC)ビットにより、N個の非符号化ビットのうちのどれが提供されるかに影響する。残りのN-K個の非符号化ビットには、ユーザー装置識別子(UE-ID)ビットによりスクランブルされてもよい凍結ビットが提供される。レート・マッチングがない場合、K情報及びCRCビットの位置は、シーケンスQを利用して、最高信頼度を有するK個の非符号化ビットを識別することにより選択され、他の全ての非符号化ビットは凍結になる。しかしながら、レート・マッチングが使用される場合、これは、シーケンスとは独立に、シーケンスを適用する前に、一群の凍結ビットが識別されることを必要とする。これに続いて、K情報及びCRCビットは、シーケンスQを利用して最高信頼度を有するものを識別することによって、残りの非符号化ビット内に配置され、他の全ての残りの非符号化ビットは凍結になる。
【0126】
このセクションは、凍結ビット挿入及び除外プロセスを複数のビットに関して一度に実行し、少ない数のクロック・サイクルを利用してそれらを完了させることが可能なハードウェア実装例を提案する。より具体的には、これは、ポーラー符号化前に、凍結ビットが、情報ビット及びCRCビットとインターレースされることを許容する。同様にこれは、ポーラー復号化後に、凍結ビットが、情報ビット及びCRCビットからデインターレースされることを許容する。提案されるアプローチの具体例はまた、パリティ・チェック(PC)ビットをインターレース及びデインターレースするように構成されることも可能である。提案されるハードウェア実装例は、ソーティングすること、インターリービングすること、又は他の複雑な動作を実行することのための回路を必要とせず、事前に算出される凍結ビット位置又は中間変数を格納するために過剰な量のROMも必要としない。提案されるハードウェア実装例のうちの幾つかの想定される具体例を、以下詳細に説明する。
【0127】
図16、21、25に示されているように、第1サブ・プロセス4701の間に、幾つかの提案されるハードウェア実装例は、w個の非符号化ビット位置を減少する信頼度の順に一度に考察し、各々の連続的な非符号化ビットがレート・マッチングにより凍結されるか否かを考察する。これは、レート・マッチングにより凍結にされないビットの数Kが見出されるまで続き、その後、K番目に高く信頼できる凍結ビットの信頼度が決定され、閾値信頼度3804として言及される。図16、21-24、26に示されているように、第2サブ・プロセス4702の間に、w個の非符号化ビット位置がそれらの自然な順に一度に考察される。場合、w個の非符号化ビット位置の各々は、信頼度が閾値信頼度3804を下回らない場合であって、それがレート・マッチングにより凍結にされない場合には、情報又はCRCビットであると決定され、そうでない場合は凍結ビットであると決定される。このように、第2サブ・プロセス4702を通じて、ビット・パターンはw個のビットで一度に生成され(3409)、このサブ・プロセスは各々の非符号化ビットが情報ビットであるか又はCRCビットであるか、あるいはそれが凍結ビットであるか否かを識別する。同時に、ビット・パターンは、それらの自然な順番に一度にw個の非符号化ビットをインターレース(101)又はデインターレース(102)するために使用されることが可能である。より具体的には、情報及びCRCビットは、ポーラー符号化の間に凍結ビット挿入101を実装するために、第2サブ・プロセス4702を通じて凍結ビットともにインターレースされることが可能である。同様に、情報及びCRCビットは、ポーラー復号化の間に凍結ビット除去112を実装するために、第2サブ・プロセス4702を通じて凍結ビットからデインターレースされることが可能である。
【0128】
凍結ビット挿入及び除去のための幾つかの提案ハードウェア実装例は、図16で図式的に詳細に説明されており、上半分及び下半分それぞれが第1及び第2サブ・プロセス4701及び4702に対応する。この図は以下に説明されるように4組のROM4202、3801、4203、4204を含む。図16に示されるこれらのROM及び論理部の動作は、以下に説明されるように、コントローラ4201により制御される。
【0129】
1)ROMs
図16に示されるように、幾つかの提案ハードウェア実装例は、次のような4組のROMを使用する。
【0130】
・リバース・シーケンスROMのセット4202は、一群のリバース・シーケンス{Q 32,Q 64,Q 128,...,Q 1024}を格納する。ここで、リバース・シーケンスQ の連続的な要素それぞれQ [u]=Q[N-u-1](u∈[0,N-1])は、ポーラー符号の次に少ない信頼度の非符号ビットの位置([0,N-1]の範囲内にある)を示し、Q [0]及びQ [N-1]はそれぞれ最高及び最低の信頼度のビットを与える。
【0131】
・ランクROMのセット3801は、一群のランク・シーケンス{R32,R64,R128,...,R1024}を格納する。ここで、ランク・シーケンスRの各々の要素R[u](u∈[0,N-1])は、ポーラー符号の対応する非符号化ビットの信頼度ランキング([0,N-1]の範囲内にある)を示し、より低い値のR[u]はより高い信頼度を示す。例えば、R[u]=0及びR[u]=N-1はそれぞれ、非符号化ビットu及びuが最高及び最低の信頼度ビットであることを示す。反転シーケンスQ 及びランク・シーケンスRの関係は、Q [R[u]]=uである。
【0132】
デインターリーバROMのセット4203は、一群のデインターリーバ・パターン{π-1 32,π-1 64,π-1 128,...,π-1 1024}を格納する。ここで、デインターリーバ・パターンπ-1 の各々の要素π-1 [u](u∈[0,N-1])は、レート・マッチングの際に、位置uのポーラー符号化ビットがインターリーブされる先の位置([0,N-1]の範囲内にある)を示す。デインターリーバ・パターンπ-1 とインターリーバ・パターンπとの間の関係は、π[|_π-1 [u]・32/N_|]である。更に、|_π-1 [u]・32/N_|と同じ値を評価する、π-1 における全ての要素π-1 [u]は、π-1 内の連続的な位置で昇順に現れる。
【0133】
インターリーブ・シーケンスROMのセット4204は、一群のインターリーブされたシーケンス{Qπ 32,Qπ 64,Qπ 128,...,Qπ 1024}を格納する。ここで、インターリーブされたシーケンスQπ の各々の要素Qπ [u]は、Qπ [u]=π-1 [Q [u]]として取得される。
【0134】
各々のリバース・シーケンスROM4202及び各々のインターリーブ・シーケンスROM4204内の各アドレスは、個々のシーケンスのw個の要素を格納し、ここで、wは2の冪乗である。より具体的には、各々のリバース・シーケンスQ のw個の連続的な要素の連続的なグループ各々は、図17でN=64及びw=8に関して例示されているように、対応するリバース・シーケンスROM4202の連続的なアドレスに格納される。同様に、各々のインターリーブ・シーケンスQπ のw個の連続的な要素の連続的なグループ各々は、図18でN=64及びw=8に関して例示されているように、対応するインターリーブ・シーケンスROM4204の連続的なアドレスに格納される。より具体的には、これらのROM4202、4204内の各要素は、Q [c,i]=Q [c・w+i]、及びQπ [c,i]=Qπ [c・w+i]に従って取得され、ここでc∈[0,N/w-1]は対応するアドレスであり、i∈[0,w-1]はそのアドレス内の要素のインデックスである。
【0135】
各々のデインターリーバROM4203及び各々のランクROM3801内の各アドレスは、個々のシーケンスのw個の要素を格納し、ここで、wは、wとは独立に選択されてもよい2の冪乗である。より具体的には、各々のデインターリーバ・パターンπ-1 のw個の連続的な要素の連続的なグループ各々は、図19でN=64及びw=4に関して例示されているように、対応するデインターリーバROM4203の連続的なアドレスに格納される。同様に、各々のランク・シーケンスRのw個の連続的な要素の連続的なグループ各々は、図20でN=64及びw=4に関して例示されているように、対応するランクROM3801の連続的なアドレスに格納される。より具体的には、これらのROM4203、3801内の各要素は、π-1 [c,i]=π-1 [c・w+i]、及びR[c,i]=R[c・w+i]に従って取得され、ここでc∈[0,N/w-1]は対応するアドレスであり、i∈[0,w-1]はそのアドレス内の要素のインデックスである。
【0136】
N<w又はN<wである場合に、対応するROM4202,3801,4203,4204に格納される各シーケンスは、ROMのシングル・アドレスを満たすために、値N-1を有するダミー要素をw-N個またはw-N個付加されてもよいことに留意を要する。Nのサポートされる値それぞれに対応する個々のROMで同じタイプのシーケンスを格納するのではなく、これらのシーケンスは、単独のよりROMの異なるアドレス空間内に格納されることが可能であることに留意を要する。この場合、Nの値は、ルックアップ・テーブル3803をインデックスするために使用されることが可能であり、これは対応するシーケンスの開始アドレスを識別する。
【0137】
ROM4202、3801、4203、4204の全てのエントリが、log(Nmax)=10ビットの幅を有する固定小数点数を利用して格納されると仮定すると、N∈{32,64,128,...,1024}に対する全てのシーケンスQ ,Qπ ,π-1 ,及びRを格納するために必要な合計容量は、78.75kビットである。代替的に、log2(N)ビットという異なる幅が、Nの異なる値に関して固定小数点数を格納するために使用される場合、合計容量は71.62kビットまで削減されることが可能である。
【0138】
2)論理部及びコントローラ
図16に示されるように、凍結ビット挿入及び除去のための幾つかの提案されるハードウェア実装例は、4組のROM4202、3801、4203、4204と、様々な論理回路とを有する。これらは、図21のフローチャートに従って、図16に示されるコントローラ4201の制御の下で動作する。上述したように、幾つかの提案されるハードウェア実装例は、2つのサブ・プロセス4701及び4702を利用して凍結ビットの挿入及び除去のプロセスを完了し、これらは図21の左半分及び右半分に対応する。
【0139】
第1サブ・プロセス4701の開始時に、情報及びCRCビットの数Kと、レート・マッチング後に残っているポーラー符号化ビットの数Mとの関数として、マザー・コード・ブロック・サイズNを算出するために図16のN論理部4205が使用される。図21に示されるように、M<Nが充足されない場合、ランク閾値kをKに設定することにより、第1サブ・プロセス4701は速やかに終了することが可能であり(4704)、ここで、kは上述した信頼度閾値3804を実現する。そうでない場合、サブ・プロセス4701は、ランク閾値k3804を決定するために更なる計算を使用しなければならない。
【0140】
この場合、コントローラ4201は、図16に示されるカウンタc及びcをゼロにリセットする(4705)。連続的なクロック・サイクルにおいて、Nの特定の値に対応する、反転シーケンスROM4202及びインターリーブ・シーケンスROM4204の連続的なアドレスが、各クロック・サイクルでインクリメントされるカウンタc(4206)を利用してインデックスされる。図16及び21に示されるように、反転シーケンスQ 及びインターリーブ・シーケンスQπ のw個の連続的な要素Q [c,0]ないしQ [c,w-1]及びQπ [c,0]ないしQπ [c,w-1]が、それぞれ反転シーケンスROM4202及びインターリーブ・シーケンスROM4204から読み込まれる(4707,4708)。
【0141】
反転シーケンス及びインターリーブ・シーケンスROM4204,4240から読み込まれた連続的な一群の要素の各々は、図16に示される第1群のf論理部4207に提供される。図21に示されるように、このf論理部4207は、i∈[0,w-1]の各々の値についてb[i]=f(K,M,N,Q [c,i],Qπ [c,i])を並列的に計算することにより(4709)、w個のバイナリ・フラグのセットを取得する:
【数5】
【0142】
各々のクロック・サイクルで取得されるバイナリ・フラグb[0]ないしb[w-1]は、図16に示されるようにアキュムレータ論理部4208に提供される。図21に示されるように、これはインデックスiを利用し、iは、b[0]からb[w-1]の順にバイナリ・フラグを考慮するために、初期に0に設定され(4710)、w-1に向かってインクリメントされる(4712,4711)。同時に、バイナリ・フラグが値「1」を有する各々のたびに、カウンタc(4209)がインクリメントされる(4714,4713)。カウンタcが値Kに到達すると(4715)、閾値ランクk3804は、c+i+1に等しく設定され(4716)、第1サブ・プロセス4701は完了する。より具体的には、第1サブ・プロセス4701は、c≧Kが充足されるまで連続的なクロック・サイクルを通じて継続し(4717)、その条件は典型的には、反転シーケンス及びインターリーブ・シーケンスROM4202,4204の最終アドレスのインデックスにcが到達する前に生じる。
【0143】
図16及び21に示されるように、閾値ランクk3804はレジスタ4210に格納され、その結果、kは第2サブ・プロセス4702を通じて使用されることが可能である。第2サブ・プロセス4702の開始時に、コントローラ4201は図16に示されるカウンタc(4203)をゼロにリセットする(4718)。連続的なクロック・サイクルにおいて、Nの特定の値に対応するデインターリーバROM4203及びランクROM3801の連続的なアドレスは、カウンタcを利用してインデックスされ、カウンタcは、c≧N/w-1が充足されるまで(4729)、各クロック・サイクルでインクリメントされる(4721)。図16及び21に示されるように、デインターリーバ・パターンπ-1 及びランク・シーケンスRのw個の連続的な要素π-1 [c,0]ないしπ-1 [c,w-1]及びR[c,0]ないしR[c,w-1]が、それぞれデインターリーバROM4203及びランクROM3801から読み込まれる(4719,4720)。
【0144】
連続的なクロック・サイクルの各々でデインターリーバROM4203から読み込まれる連続的な要素群の各々は、図16に示される第2群のf論理部4211に提供される。第1及び第2群のf論理部は同時には使用されないので、それらは、第1サブ・プロセス4701で提供される入力と第2サブ・プロセス4702で提供されるものとの間で多重化することによ、同じハードウェアを共有できることに留意を要する。図21に示されるように、このf論理部は、i∈[0,w-1]の各々の値についてb[i]=f(K,M,N,c3wR+i,π-1 [c,i])を並列的に計算することにより(4722)、w個のバイナリ・フラグのセットを取得する(4726,4727,4728)。同時に、各々の連続的なクロック・サイクルでランクROM3801から読み込まれる連続的な要素群の各々は、図16に示されるw個の比較器3802のセットに提供される。図21に示されるように、これらの比較器は、i∈[0,w-1]の各々の値についてb[i]=R[c,i]<kを並列的に計算することにより(4723)、w個のバイナリ・フラグ4204のセットを取得する。次いで、バイナリ・フラグb[0]ないしb[w-1]及びb[0]ないしb[w-1]がw個のANDゲート4212に提供され、ANDゲートは、図21に示されるように、i∈[0,w-1]の各々の値についてb[i]=(b[i] AND b[i])を計算することにより、w個のバイナリ・フラグのセットを得る。テーブル22ないし24はビット・パターンb[0]ないしb[w-1](3409)を示し、これらは、例えば反復、ショートニング、及びパンクチャリングが使用される第2サブ・プロセス4702の各クロック・サイクルで生成される。
【0145】
第2サブ・プロセス4702の連続的なクロック・サイクルの各々において、b[0]ないしb[w-1]は、図16及び21に示されるように、w個の非符号化ビットの連続的なセットの各々を並列的にインターレース(101)又はデインターレース(102)するために使用されることが可能である(4725)。値「1」を有するb[0]ないしb[w-1]のビットの各々は、対応する非符号化ビットは情報又はCRCビットによって提供されることを示す。同様に、値0を有するビット・パターン・ビットの各々は、対応する非符号化ビットが、UE-IDによりスクランブルされ得る凍結ビットであることを示す。ポーラー符号化の間に、図16のインターレーサは、先入れ先出し(FIFO)バッファリングに基づいて動作する。各クロック・サイクルにおいて、入力FIFOバッファは、対応するビット・パターンにおける1の数に等しい数の情報及びCRCビットを供給する。一方、第2入力FIFOバッファは、ビット・パターンにおける0の数に等しい数のUE-IDスクランブル凍結ビットを供給する。代替的に、UE-IDスクランブルが使用されず、全ての凍結ビットが「0」の値を採用する場合、第2FIFOバッファは、対応する数の0値ビットを供給する回路で置換されることが可能である。次いで、図16のインターレーサ101は、対応するビット・パターンに従って、情報、CRC、及び凍結ビットをインターレースし、第2サブ・プロセス4702の各クロック・サイクルでw個の非符号化ビットを並列的に生成する。同様に、ポーラー復号化の間に、図16のデインターレーサ112は、各クロック・サイクルでw個の非符号化ビットに対する逆の動作を実行することができ、情報及びCRCビットは出力FIFOバッファに提供される。
【0146】
凍結ビットの挿入及び除去プロセスを完了するために必要なクロック・サイクルの合計数は、第1及び第2サブ・プロセス4701、4702の各々で使用される数の合計によって与えられる。図25は、w=1の最悪のケースに関し、第1サブ・プロセス4701を完了するために必要なクロック・サイクル数を、K及びMの関数として特徴付けている。wがより高い2の冪乗を採用する場合、必要とされるクロック・サイクル数は、図25に示されるものを線形にスケール・ダウンし、天井をとること(ceiling)により取得されることが可能である。ショートニングが使用される場合、K/M>7/16の符号化レートにおいて、より多数のクロック・サイクルが必要とされることが分かる。その理由は、ショートニングは、凍結ビットについて最も信頼できる非符号化ビット位置の幾つかを使用するからである。パンクチャリングを使用する場合、より少ない数のクロック・サイクルが必要とされ、なぜならこれは典型的には凍結ビットについて最も信頼できないビット位置を使用するからである。より具体的には、w=1の場合の第1サブ・プロセス4701で使用されるクロック・サイクル数は、ショートニング又はパンクチャリングの場合、k(3804)に等しい。対照的に、上述したように、反復を使用する場合、クロック・サイクルは不要である。しかしながら、第1サブ・プロセス4701は、ポーラー符号化の間ではCRC生成及びインターリーブと並行して、ポーラー復号化の間ではチャネル・インターリーブと並行して完了できることに留意を要する。これにより、第1サブ・プロセス4701は、追加的な遅延を必ずしも課す必要がない。第2サブ・プロセス4702を完了するために必要とされるクロック・サイクル数は、w=1の場合の最悪のケースに関し、図26に特徴付けられているように、| N/w |により与えられる。wがより高い2の冪乗の値を採用する場合、必要とされるクロック・サイクル数は、図26に示されるものを線形にスケール・ダウンし、天井をとることにより取得されることが可能である。第2サブ・プロセス4702は、非符号化ビットをポーラー・エンコーダ・カーネルへ流すこと、あるいはポーラー・デコーダ・カーネルから非符号化ビットを流すことを、それぞれの動作に応じて追加的な遅延を課すことなく行うことができる。
【0147】
このセクションは、凍結ビット挿入及び除去プロセスを幾つものビットに対して一度に実行し、少ない数のクロック・サイクルを利用してそれらを完了させることが可能な提案される幾つかのハードウェア実装例を含む。より具体的には、これは、ポーラー符号化前に、凍結ビット(UE-IDビットを利用してスクランブルされてもよい)が、情報ビット及びCRCビットとインターレースされることを許容する。同様にこれはポーラー復号化の後に、凍結ビットが情報及びCRCビットからデインターレースされることを許容する。提案される幾つかのハードウェア実装例は、ソーティング、インターリービング、又は他の複雑な処理を実行するための回路を必要とせず、また、事前に算出される凍結ビット位置及び中間変数を格納するために過剰に多くのROMを要求することもない。幾つかの、そして場合によっては全ての、提案ハードウェア実装の動作は、他のポーラー符号化又は復号化の動作とともに実行されることが可能であり、従ってそれらは追加的な如何なる遅延も課さない。
【0148】
図14を参照すると、本発明の幾つかの例示的な実施形態に従ってビット・パターン生成器により実行されるポーラー符号化処理の上位レベル・フローチャート1400が示されている。フローチャートは、1402において、ビット・パターン生成器(3403)が、一連の(t=|n/w|)クロック・サイクルにわたってビット・パターン生成プロセスを連続的に実行することを含む。1404において、フローチャートは、一連の(t=|n/w|)クロック・サイクルにわたって連続的なビット・パターン生成サブ・プロセスの数をカウントすることに移行する。1406において、各々の連続するt=|n/w|個のクロック・サイクルにおいてビット・パターン・ベクトル( k,n )から(w)ビットの連続的なサブ・セットが提供され;ビット・パターン・ベクトルは「n」ビットを含み、そのうちの「k」ビットは第1バイナリ値を採用し、n-kビットは補数バイナリ値を採用する。
【0149】
図15をここで参照すると、本発明の幾つかの例示的な実施形態によるポーラー・エンコーディングを実装するために使用されることが可能な典型的なコンピューティング・システム1500が示されている。この種のコンピューティング・システムはワイヤレス通信ユニットで使用されてもよい。当業者はまた、他のコンピュータ・システム又はアーキテクチャを利用して本発明をどのように実装するかも認識するであろう。コンピューティング・システム1500は、例えば、デスクトップ、ラップトップ又はノートブック・コンピュータ、携帯コンピューティング・デバイス(PDA、セル・フォン、パームトップ等)、メインフレーム、サーバー、クライアント、又は、他の任意のタイプの専用若しくは汎用のコンピューティング・デバイスを、所与のアプリケーション又は環境に望ましい又は相応しいように表現することができる。コンピューティング・システム1500は、プロセッサ1504等の1つ以上のプロセッサを含むことが可能である。プロセッサ1504は、例えば、マイクロプロセッサ、マイクロコントローラ、又は他の制御論理部などの汎用又は専用の処理エンジンを利用して実装されることが可能である。この例では、プロセッサ1504はバス1502又は他の通信媒体に接続される。幾つかの具体例において、コンピューティング・システム1500は、ポーラー・エンコーディングを実装するためにそこに格納される実行可能コードを有する非一時的な有形コンピュータ・プログラム・プロダクトであってもよい。
【0150】
コンピューティング・システム1500はまた、プロセッサ1504により実行されるべき情報及び命令を格納するために、ランダム・アクセス・メモリ(RAM)又は他のダイナミック・メモリ等のメイン・メモリ1508を含むことも可能である。メイン・メモリ1508はまた、プロセッサ1504により実行される命令の実行中に、一時的な変数又は他の中間的な情報を格納するために使用されてもよい。コンピューティング・システム1500は、同様に、プロセッサ1504に関する静的な情報及び命令を格納するために、バス1502に結合されるリード・オンリ・メモリ(ROM)又はその他のスタティック・ストレージ・デバイスを含むことができる。
【0151】
コンピューティング・システム1500はまた、例えばメディア・ドライブ1512、及びリムーバブル・ストレージ・インターフェース1520を含むことが可能な情報ストレージ・システム1510を含むことも可能である。メディア・ドライブ1512は、ハード・ディスク・ドライブ、フロッピー・ディスク・ドライブ、磁気テープ・ドライブ、光ディスク・ドライブ、コンパクト・ディスク(CD)又はディジタル・ビデオ・ドライブ(DVD)読み込み又は書き込みドライブ(R又はRW)、又はその他の取り外し可能な又は固定的なメディア・ドライブ等の、固定的な又は取り外し可能な記憶媒体をサポートするためのドライブ又はその他の機構を含むことができる。記憶媒体1518は、例えば、ハード・ディスク、フロッピー・ディスク、磁気テープ、光ディスク、CD、又はDVD、又は、メディア・ドライブ1512によって読み書きされる他の固定的な又は取り外し可能な媒体を含んでもよい。これらの例が示すように、記憶媒体1518は、特定のコンピュータ・ソフトウェア又はデータをそこに格納したコンピュータ読み取り可能な記憶媒体を含むことができる。
【0152】
代替的な実施形態において、情報ストレージ・システム1510は、コンピュータ・プログラム又は他の命令若しくはデータが、コンピューティング・システム1500にロードされることを可能にする他の同様なコンポーネントを含むことが可能である。そのようなコンポーネントは、例えば、プログラム・カートリッジ及びカートリッジ・インターフェース等のリムーバブル・ストレージ・ユニット1522及びインターフェース1520、リムーバブル・メモリ(例えば、フラッシュ・メモリ又は他のリムーバブル・メモリ・モジュール)及びメモリ・スロット、並びに、他のリムーバブル・ストレージ・ユニット1522及びインターフェース1520を含むことが可能であり、これらは、ソフトウェア及びデータが、リムーバブル・ストレージ・ユニット1518からコンピューティング・システム1500へ転送されることを許容する。
【0153】
コンピューティング・システム1500はまた、通信インターフェース1524を含むことも可能である。通信インターフェース1524は、ソフトウェア及びデータが、コンピューティング・システム1500と外部デバイスとの間で転送されることを可能にするように使用されることが可能である。通信インターフェース1524の具体例は、モデム、ネットワーク・インターフェース(イーサーネット、又は他のNICカード等)、通信ポート(例えば、ユニバーサル・シリアル・バス(USB)ポート等)、PCMCIAスロット及びカード等を含むことが可能である。通信インターフェース1524を介して転送されるソフトウェア及びデータは、電子的、電磁的、及び光学的な信号であるとすることが可能な信号の形式、あるいは通信インターフェース1524により受信されることが可能な他の信号の形式におけるものである。これらの信号はチャネル1528を介して通信インターフェース1524に提供される。このチャネル1528は信号を運ぶことが可能であり、無線媒体、有線又はケーブル、光ファイバ、又は他の通信媒体を利用して実装されてもよい。チャネルの幾つかの具体例は、電話回線、セルラー電話リンク、RFリンク、ネットワーク・インターフェース、ローカル又はワイド・エリア・ネットワーク、及びその他の通信チャネルを含む。
【0154】
この文献では、「コンピュータ・プログラム・プロダクト」、「コンピュータ読み取り可能な媒体」等の用語は、例えば、メモリ1508、ストレージ・デバイス1518、又はストレージ・ユニット1522等の媒体を指すように一般的に使用されることが可能である。コンピュータ読み取り可能な媒体のこれら及び他の形態は、指定された動作をプロセッサに実行させるために、プロセッサ1504により使用するための1つ以上の命令を格納することが可能である。(コンピュータ・プログラムの形態にグループ化され得る又は他のグループ分けでもよい)「コンピュータ・プログラム・コード」と一般的に言及されるこの命令は、実行されると、本発明の実施形態の機能をコンピューティング・システム1500に実行させるように動作可能である。コードは、プロセッサが、指定された動作を実行すること、そのように動作するためにコンパイルされること、及び/又は、そのように動作するために他のソフトウェア、ハードウェア、及び/又はファームウェア要素と結合されることを、直接的に引き起こすことが可能であることに留意を要する。
【0155】
要素がソフトウェアを利用して実装される実施形態において、ソフトウェアは、コンピュータ読み取り可能な媒体に格納されてもよいし、例えばリムーバブル・ストレージ・ドライブ1522、ドライブ1512、又は通信インターフェース1524を利用してコンピューティング・システム1500にロードされてもよい。制御ロジック(この例では、ソフトウェア命令、又はコンピュータ・プログラム・コード)は、プロセッサ1504により実行されると、本願で説明される本発明の機能をプロセッサに実行させる。
【0156】
上述したように本明細書において本発明は本発明の実施形態の特定の具体例に関連して説明されている。しかしながら、添付の特許請求の範囲に記載されている本発明の範囲から逸脱することなく、様々な修正及び変形が行われてもよいこと、及び特許請求の範囲は上記の特定の例に限定されないことは、明白であろう。
【0157】
本願で議論されるような接続は、個々のノード、ユニット、デバイスから又はそれらへ、例えば中間的なデバイスを介して信号を転送するのに適した任意のタイプの接続であってもよい。従って、別異の暗示又は言及がない限り、接続は、例えば直接的な接続又は間接的な接続であるとすることが可能である。接続は、単独の接続、複数の接続、一方通行の接続、又は双方向の接続であることに関連して図示又は説明されることが可能である。しかしながら、異なる実施形態は接続の実装を変えてもよい。例えば、個別的な単一方向接続が双方向接続の代わりに使用されてもよいし、逆もまた可能である。更に、複数の信号を直列的に又は時分割方式で転送する単独の接続により、複数の接続が置換されてもよい。同様に、複数の信号を運ぶ単独の接続は、これらの信号の一部分を運ぶ複数の異なる接続に分けられてもよい。従って、信号を転送するために多くの選択肢が存在する。
【0158】
当業者は、本願で描写されたアーキテクチャは単なる例示に過ぎないこと、及び実際は、同じ機能を達成する多くの他のアーキテクチャが実装され得ることを認めるであろう。
【0159】
同じ機能を達成するコンポーネントの任意の配置が、所望の機能が達成されるように効果的に「関連」付けられる。従って、特定の機能を達成するために結合される本願における任意の2つのコンポーネントは、所望の機能が達成されるように、互いに「関連付け」られるものとして理解されることが可能である。同様に、そのように関連付けられる任意の2つのコンポーネントは、所望の機能を達成するように互いに「動作可能に接続される」又は「動作可能に結合される」ものとして見なすことも可能である。
【0160】
更に、上記の動作の間の境界は単に例示的なものであることを当業者は認識するであろう。複数の動作が単独の動作に結合されてもよいし、1つの動作が追加的な複数の動作に分散されてもよいし、複数の動作が時間的に少なくとも部分的にオーバーラップして実行されてもよい。更に、代替的な実施形態は、特定の動作についての複数のインスタンスを含むことが可能であり、動作の順序は様々な実施形態で変更されてよい。
【0161】
本発明は、例えばポーラー・デコーダの機能を実行するように構成されたマイクロプロセッサを含む集積回路デバイスに関連して本願で説明されている。しかしながら、本発明はそのような集積回路デバイスに限定されず、任意の代替的なタイプの動作機能を有する集積回路デバイスに等しく適用され得ることが、認識されるであろう。代替的なタイプの動作機能を有するそのような修正回路デバイスの具体例は、単なる例示として、特定用途向け集積回路(ASIC)デバイス、フィールド・プログラマブル・ゲート・アレイ(FPGA)デバイスを含むことが可能であり、あるいは他のコンポーネント等と統合されてもよい。更に、本発明の例示の実施形態は、多くの場合、当業者に既知の電子コンポーネント及び回路を利用して実装されることが可能であるので、本発明の前提概念の理解及び認識のために、及び本発明を曖昧にしたり教示から逸脱したりしないように、必要であると考えられるものより豊富な程度で詳細は説明されていない。代替的に、回路及び/又はコンポーネントの具体例は、適切な方式で互いに相互接続される任意数の個々の集積回路又は個々のデバイスとして実装されてもよい。
【0162】
また、例えば具体例又はその一部分は、物理的な回路のソフト又はコード表現として、又は任意の適切なタイプのハードウェア記述言語におけるもののような物理的な回路に変換できる論理表現として実装されてもよい。
【0163】
また、本発明は、プログラム可能でないハードウェアに実装される物理デバイス又はユニットに限定されず、ミニコンピュータ、パーソナル・コンピュータ、ノートパッド、パーソナル・ディジタル・アシスタント、電子ゲーム、自動車及び他の埋め込みシステム、携帯電話、及び本願で一般的に「コンピュータ・システム」と称される種々の他の無線装置等の、適切なプログラム・コードに従って動作することにより所望のポーラー・エンコーディングを実行することが可能なプログラマブル・デバイス又はユニットにも適用することが可能である。
【0164】
しかしながら、他の修正、変形、及び代替もまた可能である。従って明細書及び図面は限定的な意味ではなく例示的に考えられるべきである。
【0165】
特許請求の範囲において、括弧内に配置された如何なる参照符号も特許請求の範囲を限定するものとして解釈されてはならない。「有する」という言葉は、請求項で列挙されているもの以外の他の要素やステップの存在を排除していない。更に、本願で使用されているような、ある(「a」又は「an」)という語は、1つ又は1つより多いものとして規定される。また、特許請求の範囲において「少なくとも1つの」及び「1つ以上の」等の導入語句の使用は、たとえ同じ請求項が導入語句「1つ以上の」又は「少なくとも1つの」、及び「ある」等の不定冠詞的な語を含んでいたとしても、不定冠詞的な語「ある」による別の発明特定事項の導入が、その導入された発明特定事項を含む何らかの特定の請求項を、その発明特定事項を1つだけ含む発明に限定することを意味するように解釈されるべきではない。同じことは、定冠詞的な語を使用する場合にも成り立つ。特に断らない限り、「第1」及び「第2」等の用語は、そのような用語が描写している要素どうしを任意に区別するために使用されている。従って、これらの用語はそのような要素の時間的又は他の優先順位を示すように必ずしも意図されてない。所定の複数の事項が相互に異なる請求項に記載されているという単なるその事実は、これらの事項の組み合わせが有用に利用され得ないことを意味しない。
【先行技術文献】
【非特許文献】
【0166】
【文献】[1] E. Arikan, "Channel polarization: A method for constructing capacity-achieving codes for symmetric binary-input memoryless channels," IEEE Transactions on Information Theory, vol. 55, no. 7, pp. 3051-3073, July 2009.
【文献】[2] K. Niu and K. Chen, "CRC-aided decoding of polar codes," IEEE Communications Letters, vol. 16, no. 10, pp. 1668-1671 , October 2012.
【文献】[3] Huawei, HiSilicon, "Polar code construction for NR," in 3GPP TSG RAN WG1 Meeting #86bis, Lisbon, Portugal, October 2016, R1-1608862.
【文献】[4] Huawei, HiSilicon, "Evaluation of channel coding schemes for control channel," in 3GPP TSG RAN WG1 Meeting #86bis, Lisbon, Portugal, October 2016, R1-1608863.
【文献】[5] CATT, "Polar codes design for eMBB control channel," in 3GPP TSG RAN WG1 AH NRMeeting, Spokane, USA, January 2017, R1-1700242.
【文献】[6] ZTE, ZTE Microelectronics, "Rate matching of polar codes for eMBB," in 3GPP TSG RAN WG1 Meeting #88, Athens, Greece, February 2017, R1-1701602.
【文献】[7] I. Tal and A. Vardy, "List decoding of polar codes," in 201 1 IEEE International Symposium on Information Theory Proceedings, July 201 1 , pp. 1-5.
【文献】[8] Huawei, HiSilicon, "Sequence design for polar codes," in 3GPP TSG RAN WG1 Meeting #89, Hangzhou, China, May 2017, R1-1706966.
【文献】[9] Qualcomm Incorporated, "Polar code information bit allocation and nested extension construction," in 3GPP TSG RAN WG1 Meeting #88, Athens, Greece, February 2017, R1-1702646.
【文献】[10] Nokia, Alcatel-Lucent Shanghai Bell, "Sequence design for polar codes," in 3GPP TSG RAN WG1 Meeting #89, Hangzhou, China, May 2017, R1 -1708834.
【文献】[11] NTT DOCOMO, "Sequence design of polar codes," in 3GPP TSG RAN WG1 Meeting #89, Hangzhou, China, May 2017, R1-1708489.
【文献】[12] Samsung, "Design of a nested polar code sequences," in 3GPP TSG RAN WG1 Meeting #89, Hangzhou, China, May 2017, R1-1708051.
【文献】[13] G. Sarkis, I. Tal, P. Giard, A. Vardy, C. Thibeault, and W. J. Gross, "Flexible and low-complexity encoding and decoding of systematic polar codes," IEEE Transactions on Communications, vol. 64, no. 7, pp. 2732-2745, July 2016.
【文献】[14] C. Leroux, A. J. Raymond, G. Sarkis, and W. J. Gross, "A semi-parallel successive-cancellation decoder for polar codes," IEEE Transactions on Signal Processing, vol. 61 , no. 2, pp. 289-299, Jan 2013.
【文献】[15] G. Berhault, C. Leroux, C. Jego, and D. Dallet, "Hardware implementation of a soft cancellation decoder for polar codes," in 2015 Conference on Design and Architectures for Signal and Image Processing (DASIP), Sept 2015, pp. 1-8.
【文献】[16] Qualcomm Incorporated, "A comprehensive rate-matching scheme for polar codes and performance evaluation," in 3GPP TSG RAN WG1 Meeting #88bis, Spokane, USA, April 2017, R1-1705634.
【文献】[17] Huawei, "Summary of email discussion [NRAH2-1 1] Polar code sequence," in 3GPP TSG RAN WG1 Meeting #90, Prague, Czech Republic, August 2017, R1-1712174.
【文献】[18] MCC Support, "Draft Report of 3GPP TSG RAN WG1 #90 v0.1.0," in 3GPP TSG RAN WG1 Meeting #90, Prague, Czech Republic, August 2017.
【文献】[19] MediaTek, Qualcomm, Samsung, ZTE, "Way Forward on Rate-Matching for Polar Code," in 3GPP TSG RAN WG1 Meeting #90, Prague, Czech Republic, August 2017, R1-1715000.
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16A
図16B
図17
図18
図19
図20
図21A
図21B
図22
図23
図24
図25
図26