本出願の明細書、特許請求の範囲及び上記図面における用語「第1」、「第2」等は、類似の対象を区別するために使用され、必ずしも特定の序列又は順序を記述するものではない。このように使用されるデータは、本明細書に記載される本開示の実施形態が、本明細書に図示又は説明されていない順序でも実施でき、適切な場合に交換可能であることは当然である。更に、本明細書に記載の用語「備える」、「含む」、又はこれらの他の活用形は、非排他的包含を意図する。例えば、一連のステップ又は要素を含むプロセス、方法、システム、製品又は装置は、明示的に列挙されたステップ又は要素を含むのみでなく、明示的に列挙されていない又はそのようなプロセス、方法、システム、製品又は装置に固有の他のステップ又は要素を含むこともできる。
実施形態1
本実施形態は、ポーラ符号のレートマッチング方法を提供する。添付図面のフローチャートに示すステップは、例えば、コンピュータが実行可能な命令のグループによって、コンピュータシステムで実行できる。フローチャートには、論理順序を示しているが、図示又は説明するステップは、場合によっては、本明細書に記載するものとは異なる順序で実行してもよい。
上記の動作環境において、本開示は、図3に示されるポーラ符号のためのレートマッチング方法を提供する。図3は、本実施形態に基づくポーラ符号のレートマッチング方法のフローチャートである。図3に示すように、この方法は、以下を含む。
302では、K及びNを共に正の整数とし、KをN以下として、K個の情報ビットと(N-K)個の凍結ビットとを連結してNビットのビット列を生成し、サイズN×Nの生成行列を有するポーラ符号器によって、Nビットのビット列を符号化して、Nビットの初期ビット列{S0,S1,…,SN-1}を生成する。
K個の情報ビットは、ビットチャネルにマッピングしてもよく、チェックビットを含んでもよい。
304では、q=1、2、3、又は4として、循環バッファをq個の部分に分割し、初期ビット列{S0,S1,…,SN-1}から非反復的にビットを選択し、所定の規則に従って、循環バッファのq個の部分にビットを書き込む。
306では、循環バッファ内の所定の開始位置から指定された長さのビット列を順次選択し、指定された長さのビット列を送信ビット列とする。
上記のステップでは、ビット列をポーラ符号器で符号化し、ポーラ符号化後のビット列を所定の規則に従って処理して循環バッファ内のビット列を取得し、所定の開始位置から指定された長さのビット列を順次選択して送信ビット列とする。このように、適切な処理及び選択ルールを使用して、異なるシナリオにおけるデータの送信に適応させることにより、ハイブリッド自動反復要求メカニズムにおいて、ポーラ符号ハードウェアが高い複雑性を有し、符号化プロセスが複雑であるという従来技術の問題を解決し、ポーラ符号ハードウェアの複雑性を大幅に低減し、符号化プロセスを単純化できる。
ここで、循環バッファは、ハードウェア循環バッファであってもよく、仮想デバイスであってもよく、本実施形態ではこれを限定しない。
幾つかの実施形態では、ポーラ符号の母符号は、
の長さを有し、ここで、
は、天井関数演算子を表し、0≦Δ<2であり、Rは、ポーラ符号化のための符号レートである。
幾つかの実施形態では、初期ビット列{S0,S1,…,SN-1}に対する所定の規則は、ポーラ符号のデータ特性に従って生成される一対一マッピングインターリーブ関数f(n)によって決定され、ここで、n=0,1,…,N-1であり、f(n)=0,1,…,N-1であり、nは、初期ビット列のビット位置インデクスであり、f(n)は、循環バッファの位置インデクスであり、一対一マッピングインターリーブ関数に従って、初期ビット列におけるビット位置インデクスnを有するビットSnを、循環バッファ内の位置インデクスf(n)を有する位置にマッピングする。
幾つかの実施形態では、一対一マッピングインターリーブ関数f(n)は、以下のネスティング特性を有する。マッピング{n0}→{f(n0)}は、一対一マッピングインターリーブ関数のマッピング{n}→{f(n)}において、ビット列{n}とビット列{f(n)}からN0より大きな要素を削除することによって直接取得でき、ここで、n0=0,1,2,…,N0-1であり、N0は、N以下の正の整数である。
{n}→{f(n)}のマッピングは、一対一マッピングであるため、{p(n)}→{n}のマッピングを満たすf(n)の逆関数p(n)が存在する。すなわち、所定の規則は、ポーラ符号のデータ特性に従って生成された一対一マッピングインターリーブ関数p(n)によって決定でき、ここで、n=0,1,…,N-1であり、p(n)=0,1,…,N-1であり、p(n)は、初期ビット列のビット位置インデクスであり、nは、循環バッファの位置インデクスである。初期ビット列{S0,S1,…,SN-1}からビットを非反復的に選択し、所定の規則に従って、循環バッファのq個の部分にビットを書き込むことは、一対一マッピングインターリーブ関数p(n)に従って、初期ビット列のビット位置インデクスp(n)を有するビットSp(n)を、循環バッファ内の位置インデクスnを有する位置にマッピングすることを含む。
幾つかの実施形態では、初期ビット列{S0,S1,…,SN-1}のための所定の規則は、ポーラ符号のデータ特性に従って、m=0,1,…,N-1とし、mをオフセットとし、mod(x1,x2)を除算x1/x2の剰余とし、x1を整数とし、x2を正の整数として、初期ビット列におけるビット位置インデクスnを有するビットSnを、循環バッファにおける位置インデクスmod(f(n)+m,N)を有する位置にマッピングすることによって実行してもよい。
幾つかの実施形態では、データ特性は、伝送ブロック長、符号レート、利用可能な物理リソースブロック数、変調及び符号化レベル、ユーザ機器タイプインデクス、及びデータ伝送リンク方向の少なくとも1つを含む。
幾つかの実施形態では、所定の開始位置は、以下の手法のうちの1つによって選択される。
循環バッファにおけるビット列の開始ビット位置を所定の開始位置とする。
P0を循環バッファにおけるビット列の位置インデクスとし、Mを送信ビット列の長さとして、循環バッファ内のP0=M-1の位置を所定の開始位置とする。
P0を循環バッファにおけるビット列の位置インデクスとし、Mを送信ビット列の長さとし、Nを初期ビット列の長さとして、循環バッファ内のP0=N-Mの位置を所定の開始位置とする。
循環バッファ内のビット列の終了ビット位置を所定の開始位置とする。
幾つかの実施形態では、所定の開始位置は、ポーラ符号化の符号レートによって決定される。
幾つかの実施形態では、所定の開始位置は、以下のように選択できる。
ポーラ符号化の符号レートが所定の閾値以下である場合、P0を循環バッファにおけるビット列の位置インデクスとし、Mを送信ビット列の長さとし、Nを初期ビット列の長さとして、循環バッファ内のP0=N-Mの位置を所定の開始位置とする。
なお、所定の開始位置は、ポーラ符号化の符号レートによって決定されるため、ポーラ符号化の符号レートが所定の閾値より高い場合、所定の開始位置は、以下のいずれかの方法で選択される。
循環バッファ内のビット列の開始ビット位置を所定の開始位置とする。
P0を循環バッファにおけるビット列の位置インデクスとし、Mを送信ビット列の長さとして、循環バッファ内のP0=M-1の位置を所定の開始位置とする。
循環バッファ内のビット列の終了ビット位置を、所定の開始位置とする。
循環バッファが第6の部分、第7の部分、第8の部分、第9の部分の順に配列されて構成されている場合、循環バッファにおけるビット列の第7の部分の開始ビット位置を所定の開始位置とする。
循環バッファが、第6の部分、第7の部分、第8の部分、第9の部分の順に配列されて構成されている場合、循環バッファにおけるビット列の第8の部分の終了ビット位置を所定の開始位置とする。
循環バッファが、第6の部分、第7の部分、第8の部分、第9の部分の順に配列されて構成されている場合、循環バッファにおけるビット列の第8の部分の開始ビット位置を所定の開始位置とする。
循環バッファが、第6の部分、第7の部分、第8の部分、第9の部分の順に配列されて構成されている場合、循環バッファにおけるビット列の第9の部分の開始ビット位置を所定の開始位置とする。
循環バッファが、第6の部分、第7の部分、第8の部分、第9の部分の順に配列されて構成されている場合、M≦t8+t9のとき、P0=t6+t7+M-1の位置を所定の開始位置とし、M>t8+t9のとき、P0=M-1-t8-t9の位置を所定の開始位置とし、ここで、Mは、送信ビット列の長さであり、t6は、第6の部分のビット長であり、t7は、第7の部分のビット長であり、t8は、第8の部分のビット長であり、t9は、第9の部分のビット長である。
循環バッファが、第6の部分、第7の部分、第8の部分、第9の部分の順に配列されて構成されている場合、循環バッファにおけるビット列の第6の部分の終了ビット位置を所定の開始位置とする。
循環バッファが、第6の部分、第7の部分、第8の部分、第9の部分の順に配列されて構成されている場合、M≦t8+t9のとき、P0=t8+t9-Mの位置を所定の開始位置とし、M>t8+t9のとき、P0=N+t8+t9-Mの位置を所定の開始位置とし、ここで、Mは、送信ビット列の長さであり、t6は、第6の部分のビット長であり、t7は、第7の部分のビット長であり、t8は、第8の部分のビット長であり、t9は、第9の部分のビット長である。
循環バッファが、第6の部分、第7の部分、第8の部分、第9の部分の順に配列されて構成されている場合、循環バッファにおけるビット列の第9の部分の開始ビット位置を所定の開始位置とする。
循環バッファが、第6の部分、第7の部分、第8の部分、第9の部分の順に配列されて構成されている場合、循環バッファにおけるビット列の第7の部分の終了ビット位置を所定の開始位置とする。
循環バッファが、第6の部分、第7の部分、第8の部分、第9の部分の順に配列されて構成されている場合、循環バッファにおけるビット列の第6の部分の終了ビット位置を所定の開始位置とする。
幾つかの実施形態では、所定の開始位置は、以下のように選択できる。
ポーラ符号化の符号レートが所定の閾値より高い場合、循環バッファ内のビット列の開始ビット位置を所定の開始位置とする。
幾つかの実施形態では、循環バッファは、第1の部分と第2の部分とを含む。第1の部分は、順次方式又はビット逆順(BRO)インターリーブ方式の初期ビット列におけるt1個の連続ビットで構成され、第2の部分は、BROインターリーブ方式の初期ビット列における残りのt2個のビットで構成され、ここで、t1及びt2は、いずれも0以上の整数であり、t1∈[(1/8)N,(7/8)N]、t1+t2=Nであり、Nは、初期ビット列のビット数であり、Nは、0以上の整数である。
あるいは、第1の部分は、BROインターリーブ方式の初期ビット列におけるt2個の連続ビットで構成され、第2の部分は、順次方式又はBROインターリーブ方式の初期ビット列における残りのt1個のビットで構成され、ここで、t1及びt2は、いずれも0以上の整数であり、t1∈[(1/8)N,(7/8)N]、t1+t2=Nであり、Nは、初期ビット列におけるビット数であり、Nは、0以上の整数である。
第1の部分と第2の部分は、循環バッファ内にビット列を構成するように順次配列される。
幾つかの実施形態では、初期ビット列は、{S0,S1,…,SN-1}として表され、第1の部分は、順次方式又はBROインターリーブ方式の初期ビット列のt1個の連続ビット
から構成され、第2の部分は、BROインターリーブ方式の初期ビット列の残りのN-t1個の連続ビット
から構成される。
あるいは、第1の部分は、BROインターリーブ方式の初期ビット列におけるN-t1個の連続ビット
で構成され、第2の部分は、順次方式又はBROインターリーブ方式の初期ビット列における残りのt1個の連続ビット
で構成される。
幾つかの実施形態では、循環バッファは、第3の部分と、第4の部分と、第5の部分とを含む。第3の部分は、順次方式、BROインターリーブ方式、又は行-列インターリーブ(row-column interleaving)方式の初期ビット列におけるt3個の連続ビットで構成され、第4の部分は、長さt4の2つの連続するビット列が、初期ビット列から選択され、BROインターリーブ方式、行-列インターリーブ方式、又はインタレース方式で配列されることにより構成され、第5の部分は、初期ビット列におけるt5個のビットで構成され、ここで、t3、t4、t5は、全て0以上の整数であり、t3+2×t4+t5=N、t3∈[(1/8)N,(7/8)N]、及びt4∈[(1/16)N,(7/16)N]である。
あるいは、第3の部分は、順次方式、BROインターリーブ方式、又は行-列インターリーブ方式の初期ビット列におけるt5個のビットで構成され、第4の部分は、長さt4の2つの連続するビット列が、初期ビット列から選択され、BROインターリーブ方式、行-列インターリーブ方式、又はインタレース方式で配列されことにより構成され、第5の部分は、初期ビット列における残りのt3個のビットで構成され、ここで、t3、t4、t5は、全て0以上の整数であり、t3+2×t4+t5=N、t3∈[(1/8)N,(7/8)N]、及びt4∈[(1/16)N,(7/16)N]である。
第3の部分、第4の部分、及び第5の部分は、循環バッファにおいてビット列を構成するように順次配列される。
幾つかの実施形態では、初期ビット列は、{S0,S1,…,SN-1}として表され、第3の部分は、順次方式、BROインターリーブ方式、又は行-列インターリーブ方式のt3個の連続ビット
から構成され、第4の部分は、BROインターリーブ方式、行-列インターリーブ方式又はインタレース方式のt4個のビット
及びt4個のビット
で構成され、第5の部分は、初期ビット列おける、順次方式、BROインターリーブ方式、又は行-列インターリーブ方式の残りのN-t3-2×t4個のビット
で構成されており、ここで、t3=N/4の場合、
であり、t4=N/4の場合、
であり、φは、空集合を表す。
あるいは、第3の部分は、順次方式、BROインターリーブ方式、又は行-列インターリーブ方式のN-t3-2×t4個のビット
で構成され、第4の部分は、BROインターリーブ方式、行-列インターリーブ方式又はインタレース方式のt4個のビット
及びt4個のビット
で構成され、第5の部分は、順次方式、BROインターリーブ方式又は行-列インターリーブのビット列
で構成され、ここで、t3=N/4の場合、
であり、t4=N/4の場合、
である。
幾つかの実施形態では、所定の開始位置は、以下の手法のうちの1つによって選択される。
循環バッファにおけるビット列の開始ビット位置を所定の開始位置とする。
P0を循環バッファにおけるビット列の位置インデクスとし、Mを送信ビット列の長さとして、循環バッファ内のP0=M-1の位置を所定の開始位置とする。
P0を循環バッファにおけるビット列の位置インデクスとし、Mを送信ビット列の長さとし、Nを初期ビット列の長さとして、循環バッファ内のP0=N-Mの位置を所定の開始位置とする。
循環バッファ内のビット列の終了ビット位置を所定の開始位置とする。一部の実施形態では、循環バッファは、第6の部分、第7の部分、第8の部分、及び第9の部分を含む。第6の部分は、BROインターリーブ方式の初期ビット列におけるt6個のビットで構成され、第7の部分は、順次方式又はBROインターリーブ方式の初期ビット列におけるt7個のビットで構成され、第8の部分は、BROインターリーブ方式の初期ビット列におけるt8個のビットで構成され、第9の部分は、BROインターリーブ方式の初期ビット列におけるt9個のビットで構成され、ここで、t6、t7、t8、及びt9は、全て0以上の整数であり、(t6+t7)∈[(1/8)N,(7/8)N]であり、(t8+t9)∈[(1/8)N,(7/8)N]であり、t6+t7+t8+t9=Nである。
あるいは、第6の部分は、BROインターリーブ方式の初期ビット列におけるt9個のビットで構成され、第7の部分は、BROインターリーブ方式の初期ビット列におけるt8個のビットで構成され、第8の部分は、順次方式又はBROインターリーブ方式の初期ビット列におけるt7個のビットで構成され、第9の部分は、BROインターリーブ方式の初期ビット列におけるt6個のビットで構成され、ここで、t6、t7、t8、及びt9は、全て0以上の整数であり、(t6+t7)∈[(1/8)N,(7/8)N]であり、(t8+t9)∈[(1/8)N,(7/8)N]であり、t6+t7+t8+t9=Nである。
幾つかの実施形態では、初期ビット列は、{S0,S1,…,SN-1}として表され、第6の部分は、BROインターリーブ方式のt6個のビット{I1}で構成され、ここで、{I1}は、ビット列集合{S0,S1,…,Sa-1}とビット列集合{SBRO(j)}との共通集合を含み、ここでaは、0以上でN以下の整数であり、a=0の場合、{S0,S1,…,Sa-1}=φであり、j=M,…,N-1であり、Mは、送信ビット列の長さであり、第7の部分は、順次方式又はBROインターリーブ方式のt7個のビット{I2}で構成され、ここで、{I2}は、ビット列集合{S0,S1,…,Sa-1}とビット列集合{I1}の差集合であり、第9の部分は、BROインターリーブ方式のt9個のビット{I4}で構成され、ここで、{I4}は、ビット列集合{S0,S1,…,SN-1}とビット列集合{SBRO(j)}の共通集合を含み、a=Nの場合、{Sa,Sa+1,…,SN-1}=φであり、第8の部分は、BROインターリーブ方式のt8個のビット{I3}で構成され、{I3}は、ビット列集合{Sa,Sa+1,…,SN-1}とビット列集合{I4}の差集合である。
あるいは、初期ビット列は、{S0,S1,…,SN-1}として表され、第6の部分は、BROインターリーブ方式のt9個のビット{I4}で構成され、ここで、{I4}は、ビット列集合{SN-1,SN-2,…,Sa}とビット列集合{SBRO(j)}との共通集合を含み、ここで、aは、0以上N以下の整数であり、j=N-1,N-2,…,Mであり、Mは、送信ビット列の長さであり、a=Nの場合、{SN-1,SN-2,…,Sa}=φであり、第7の部分は、BROインターリーブ方式のt8個のビット{I3}で構成され、ここで、{I3}は、ビット列集合{SN-1,SN-2,…,Sa}とビット列集合{I4}の差集合であり、第9の部分は、順次方式又はBROインターリーブ方式のt6個のビット{I1}で構成され、ここで、{I1}は、ビット列集合{Sa-1,Sa-2,…,S0}とビット列集合{SBRO(j)}との共通集合を含み、a=0の場合、{S0,S1,…,Sa-1}=φであり、第8の部分は、順次方式又はBROインターリーブ方式のt7個のビット{I2}で構成され、{I2}は、ビット列集合{Sa-1,Sa-2,…,S0}とビット列集合{I1}の差集合である。
第6の部分、第7の部分、第8の部分、及び第9の部分は、循環バッファ内にビット列を構成するように順次配列される。
幾つかの実施形態では、所定の開始位置は、ポーラ符号化の符号レートに従って選択される。
幾つかの実施形態では、所定の開始位置は、以下の手法の1つによって選択される。
ポーラ符号化の符号レートが所定の閾値以下の場合、P0=N-Mの位置を所定の開始位置とし、ポーラ符号化の符号レートが所定の閾値より高い場合、循環バッファ内のビット列の第7の部分の開始ビット位置を所定の開始位置とする。
ポーラ符号化の符号レートが所定の閾値以下である場合、循環バッファ内のビット列の終了ビット位置を所定の開始位置とし、ポーラ符号化の符号レートが所定の閾値より高い場合、循環バッファ内のビット列の第8の部分の終了ビット位置を所定の開始位置とする。
ポーラ符号化の符号レートが所定の閾値以下である場合、循環バッファ内のビット列の開始ビット位置を所定の開始位置とし、ポーラ符号化符号の符号レートが所定の閾値より高い場合、循環バッファ内のビット列の第7の部分の開始ビット位置を所定の開始位置とする。
ポーラ符号化の符号レートが所定の閾値以下の場合、P0=M-1の位置を所定の開始位置とし、ポーラ符号化の符号レートが所定の閾値より高い場合、循環バッファ内のビット列の第8の部分の終了ビット位置を所定の開始位置とする。
なお、所定の開始オプションが選択される上記の手法から分かるように、所定の開始位置は、ポーラ符号化の符号レートに従って選択する必要がある。
一部の実施形態では、循環バッファは、第6の部分、第7の部分、第8の部分、及び第9の部分を含む。第6の部分は、順次方式又はBROインターリーブ方式の初期ビット列におけるt6個のビットで構成され、第7の部分は、BROインターリーブ方式の初期ビット列におけるt7個のビットで構成され、第8の部分は、BROインターリーブ方式の初期ビット列におけるt8個のビットで構成され、第9の部分は、BROインターリーブ方式の初期ビット列におけるt9個のビットで構成され、ここで、t6、t7、t8、及びt9は全て0以上の整数であり、(t6+t7)∈[(1/8)N,(7/8)N]であり、(t8+t9)∈[(1/8)N,(7/8)N]であり、t6+t7+t8+t9=Nである。
あるいは、第6の部分は、BROインターリーブ方式の初期ビット列におけるt9個のビットで構成され、第7の部分は、BROインターリーブ方式の初期ビット列におけるt8個のビットで構成され、第8の部分は、BROインターリーブ方式の初期ビット列におけるt7個のビットで構成され、第9の部分は、順次方式又はBROインターリーブ方式の初期ビット列におけるt6個のビットで構成され、ここで、t6、t7、t8、及びt9は、全て0以上の整数であり、(t6+t7)∈[(1/8)N,(7/8)N]であり、t6+t7+t8+t9=Nである。
幾つかの実施形態では、初期ビット列は、{S0,S1,…,SN-1}として表され、第7の部分は、BROインターリーブ方式のt7個のビット{I2}で構成され、ここで、{I2}は、ビット列集合{S0,S1,…,Sa-1}とビット列集合{SBRO(j)}との共通集合を含み、ここで、aは、0以上N以下の整数であり、a=0の場合、{S0,S1,…,Sa-1}=φであり、j=M,…,N-1であり、Mは、送信ビット列の長さであり、第6の部分は、順次方式又はBROインターリーブ方式のt6個のビット{I1}であり、ここで、{I1}は、ビット列集合{S0,S1,…,Sa-1}=φ及びビット列集合{I2}の差集合であり、第8の部分は、BROインターリーブ方式のt8個のビット{I3}で構成され、ここで、{I3}は、ビット列集合{S0,S1,…,SN-1}とビット列集合{SBRO(j)}の共通集合を含み、a=Nの場合、{Sa,Sa+1,…,SN-1}=φであり、第9の部分は、BROインターリーブ方式のt9個のビット{I4}で構成され、{I4}は、ビット列集合{Sa,Sa+1,…,SN-1}とビット列集合{I3}の差集合である。
あるいは、初期ビット列は、{S0,S1,…,SN-1}として表され、第7の部分は、BROインターリーブ方式のt8個のビット{I3}で構成され、{I3}は、ビット列集合{SN-1,SN-2,…,Sa}とビット列集合{SBRO(j)}との共通集合を含み、aは、0以上N以下の整数であり、j∈{M,…,N-1}であり、Mは、送信ビット列の長さであり、a=Nの場合、{SN-1,SN-2,…,Sa}=φであり、第6の部分は、BROインターリーブ方式のt9個のビット{I4}で構成され、ここで、{I4}は、ビット列集合{SN-1,SN-2,…,Sa}とビット列集合{I3}の差集合であり、第8の部分は、BROインターリーブ方式でt7個のビット{I2}で構成され、ここで、{Si2}は、ビット列集合{Sa-1,Sa-2,…,S0}とビット列集合{SBRO(j)}の共通集合を含み、a=0の場合、{Sa-1,Sa-2,…,S0}=φであり、第9の部分は、順次方式又はBROインターリーブのt6個のビット{I1}で構成されており、{Si1}は、ビット列集合{Sa-1,Sa-2,…,S0}とビット列集合{I2}の差集合である。
第6の部分、第7の部分、第8の部分、及び第9の部分は、循環バッファ内にビット列を構成するように順次配列される。
幾つかの実施形態では、所定の開始位置は、以下の手法のうちの1つによって選択される。
ポーラ符号化の符号レートが所定の閾値以下の場合、循環バッファ内のビット列の第8の部分の開始ビット位置を所定の開始位置とし、ポーラ符号化の符号レートが所定の閾値より高い場合、循環バッファ内のビット列の第9の部分の開始ビット位置を所定の開始位置とする。
ポーラ符号化の符号レートが所定の閾値以下の場合、M≦t8+t9のとき、P0=t6+t7+M-1の位置を所定の開始位置とし、M>t8+t9のとき、P0=M-1-t8-t9の位置を所定の開始位置とし、ポーラ符号化の符号レートが所定の閾値より高い場合、循環バッファ内のビット列の第6の部分の終了ビット位置を所定の開始位置とする。
ポーラ符号化の符号レートが所定の閾値以下の場合、M≦t8+t9のとき、P0=t8+t9-Mの位置を所定の開始位置とし、M>t8+t9のとき、P0=N+t8+t9-Mの位置を所定の開始位置とし、ポーラ符号化の符号レートが所定の閾値より高い場合、循環バッファ内のビット列の第9の部分の開始ビット位置を所定の開始位置とする。
ポーラ符号化の符号レートが所定の閾値以下の場合、循環バッファ内のビット列の第7の部分の終了ビット位置を所定の開始位置とし、ポーラ符号化の符号レートが所定の閾値より高い場合、循環バッファ内のビット列の第6の部分の終了ビット位置を所定の開始位置とする。
なお、所定の開始オプションが選択される上記の手法から分かるように、所定の開始位置は、ポーラ符号化の符号レートに従って選択する必要がある。
幾つかの実施形態において、所定の閾値は、集合{1/3,1/2}から選択され、すなわち、所定の閾値は、1/3又は1/2であってもよい。
幾つかの実施形態では、ポーラ符号の母符号は、
の長さを有し、ここで、
は、天井関数演算子を表し、Rは、符号レートであり、mは、正の整数である。
幾つかの実施形態では、初期ビット列{S0,S1,…,SN-1}にビット逆順(BRO)インターリーブを施すことにより、循環バッファ内のビット列を取得し、n=0,1,…,N-1とし、m=0,1,…,N-1とし、mをオフセットとし、mod(x1,x2)を除算x1/x2の剰余とし、BROインタリーバにより、初期ビット列においてビット位置インデクスnを有するビットSnを、循環バッファ内の位置インデクスmod(BRO(n)+m,N)を有する位置にマッピングする。
幾つかの実施形態では、循環バッファ内のビット列は、初期ビット列{S0,S1,…,SN-1}にBROインターリーブを施すことによって取得され、n=0,1,…,N-1とし、m=0,1,…,N-1とし、mをオフセットとし、mod(x1,x2)を除算x1/x2の剰余とし、BROインタリーバにより、初期ビット列においてビット位置インデクスnを有するビットSnを、循環バッファ内の位置インデクスN-1-mod(BRO(n)+m,N)を有する位置にマッピングする。
幾つかの実施形態では、所定の開始位置は、以下の手法のうちの1つによって選択される。
循環バッファ内のビット列の開始ビット位置を所定の開始位置とする。
P0を循環バッファにおけるビット列の位置インデクスとし、Mを送信ビット列の長さとして、循環バッファ内のP0=M-1の位置を所定の開始位置とする。
P0を循環バッファにおけるビット列の位置インデクスとし、Mを送信ビット列の長さとし、Nを初期ビット列の長さとして、循環バッファ内のP0=N-Mの位置を所定の開始位置とする。
循環バッファ内のビット列の終了ビット位置を、所定の開始位置とする。
幾つかの実施形態では、指定された長さのビット列を循環バッファ内のビット列の所定の開始位置から順次選択し、指定された長さのビット列を送信ビット列とすることは、以下を含む。
循環バッファ内のビット列の所定の開始位置からインデクスの昇順又は降順で、ビットが順次選択され、循環バッファ内のビット列の終端に到達すると、循環バッファ内のビット列の他端から指定された長さのビット列が選択されるまで選択が継続され、指定された長さのビット列が送信ビット列となる。
例えば、循環バッファ内のビット列の所定の開始位置から終了ビット位置まで、インデクスの昇順でビットを読み出す場合、指定された長さのビット列が読み出されなければ、循環バッファ内のビット列の開始ビット位置から指定された長さのビット列が読み出されるまで読み出しが継続され、指定された長さのビット列を送信ビット列とする。所定の開始位置から循環バッファ内のビット列の開始ビット位置まで、降順でビットを読み出す場合、指定された長さのビット列が読み出されなければ、循環バッファ内のビット列の終了ビット位置から指定された長さのビット列が読み出されるまで読み出しが継続され、指定された長さのビット列を送信ビット列とする。
幾つかの実施形態では、ポーラ符号化の符号レートが所定の閾値以下である場合、循環バッファ内のP0=N-Mの位置を所定の開始位置として、インデクスの昇順でMビットが順次選択され、読み出しが循環バッファ内のビット列の終端に達した場合、読み出しは、循環バッファ内のビット列の他端から継続され、ここで、P0は、循環バッファ内のビット列の位置インデクスを表し、Mは、送信ビット列の長さを表し、Nは、初期ビット列の長さを表す。
幾つかの実施形態では、ポーラ符号化の符号レートが所定の閾値より高い場合、循環バッファ内のビット列の開始ビット位置を所定の開始位置として、インデクスの昇順でMビットが順次選択され、読み出しが循環バッファ内のビット列の終端に達した場合、読み出しは、循環バッファ内のビット列の他端から継続され、ここで、Nは、初期ビット列の長さである。
所定の開始位置を決定する処理は、上記循環バッファを2分割、3分割、4分割した場合のいずれにも適用でき、第1の組み合わせ、第2の組み合わせ、第3の組み合わせ、第4の組み合わせのいずれにも適用でき、これらは、本実施形態において限定されない。
幾つかの実施形態では、送信ビット列は、循環バッファから読み出される指定された長さのビット列と同じ順序又は逆の順序で配列される。
上述の実施形態における方法は、ソフトウェアと必要な汎用ハードウェアプラットフォームとによって実現してもよく、もちろんハードウェアのみによって実現してもよいが、多くの場合、前者が好ましい実施形態である。実質的に本実施形態が提供する技術内容又は既存技術に寄与する部分は、ソフトウェア製品の形式で実現できる。ソフトウェア製品は、記憶媒体(ROM/RAM、磁気ディスク、光ディスク等)に格納され、端末装置(携帯電話機、コンピュータ、サーバ、ネットワーク機器等)が上述の実施形態に基づく方法を実行することを可能にするための幾つかの命令を含む。
実施形態2
本実施形態は、ポーラ符号のためのレートマッチング装置を提供する。この装置は、上述の実施形態に基づく方法を実施できる。これまでに説明したことは、以下では繰り返さない。以下で使用する用語「モジュール」は、所定の機能を実現できるソフトウェア、ハードウェア、又はこれらの組み合わせであってもよい。なお、以下に説明する実施形態における装置は、ソフトウェアにより実現することが好ましいが、ハードウェアによる実現、又はソフトウェアとハードウェアとの組み合わせによる実現も可能である。
図4は、本実施形態に基づくビット列処理装置のブロック図である。図4に示すように、この装置は、生成モジュール40と、書込モジュール42と、読出モジュール44と、判定モジュール46とを含むことができる。
生成モジュール40は、K及びNを共に正の整数とし、KをN以下として、K個の情報ビットと(N-K)凍結ビットとを連結してNビットのビット列を生成し、サイズN×Nの生成行列を有するポーラ符号器によって、Nビットのビット列をNビットの初期ビット列{S0,S1,…,SN-1}を生成するように構成されている。
書込モジュール42は、q=1、2、3、又は4として、循環バッファをq個の部分に分割し、初期ビット列{S0,S1,…,SN-1}から非反復的にビットを選択し、所定の規則に従って、循環バッファのq個の部分にビットを書き込むように構成されている。
読出モジュール44は、循環バッファ内の所定の開始位置から指定された長さのビット列を順次選択するように構成されている。
判定モジュール46は、指定された長さのビット列を送信ビット列とする。
この装置において、生成モジュール40は、情報ビットとしてのKビットチャネルを(N-K)凍結ビットと連結し、Nビットのビット列を生成し、Nビットのビット列をサイズN×Nの生成行列を有するポーラ符号器によってエンコードして、Nビットの初期ビット列を生成し、書込モジュール41は、循環バッファをq個の部分に分割し、初期ビット列から非反復的にビットを選択し、所定の規則に従って、循環バッファのq個の部分にビットを書き込み、読出モジュール44は、循環バッファ内のビット列の所定の開始位置から指定された長さのビット列を順次選択し、判定モジュール46は、指定された長さのビット列を送信ビット列とする。このように、適切な処理及び選択ルールを使用して、異なるシナリオにおけるデータビットの送信に適応させることにより、ハイブリッド自動反復要求メカニズムにおいて、ポーラ符号ハードウェアが高い複雑性を有し、符号化プロセスが複雑であるという従来技術の問題を解決し、ポーラ符号ハードウェアの複雑性を大幅に低減し、符号化プロセスを単純化できる。
幾つかの実施形態では、初期ビット列{S0,S1,…,SN-1}に対する所定の規則は、ポーラ符号のデータ特性に従って生成される一対一マッピングインターリーブ関数f(n)によって決定され、ここで、n=0,1,…,N-1であり、f(n)=0,1,…,N-1であり、nは、初期ビット列のビット位置インデクスであり、f(n)は、循環バッファの位置インデクスである。書込モジュールは、一対一マッピングインターリーブ関数f(n)に従って、初期ビット列におけるビット位置インデクスnを有するビットSnを、循環バッファにおける位置インデクスf(n)を有する位置にマッピングするように構成されている。
なお、{n}→{f(n)}のマッピングは、一対一マッピングであるため、{p(n)}→{n}のマッピングを満たすf(n)の逆関数p(n)が存在する。すなわち、所定の規則は、ポーラ符号のデータ特性に従って生成された一対一マッピングインターリーブ関数p(n)によって決定でき、ここで、n=0,1,…,N-1であり、p(n)=0,1,…,N-1であり、p(n)は、初期ビット列のビット位置インデクスであり、nは、循環バッファの位置インデクスである。初期ビット列{S0,S1,…,SN-1}からビットを非反復的に選択し、所定の規則に従って循環バッファのq個の部分にビットを書き込むことは、一対一マッピングインターリーブ関数p(n)に従って、初期ビット列のビット位置インデクスp(n)を有するビットSp(n)を、循環バッファ内の位置インデクスnを有する位置にマッピングすることを含む。
幾つかの実施形態では、一対一マッピングインターリーブ関数f(n)は、以下のネスティング特性を有する。
マッピング{n0}→{f(n0)}は、一対一マッピングインターリーブ関数のマッピング{n}→{f(n)}において、ビット列{n}とビット列{f(n)}からN0より大きな要素を削除することによって直接取得でき、ここで、n0=0,1,2,…,N0-1であり、N0は、N以下の正の整数である。
幾つかの実施形態では、初期ビット列{S0,S1,…,SN-1}のための所定の規則は、ポーラ符号のデータ特性に従って、m=0,1,…,N-1とし、mをオフセットとし、mod(x1,x2)を除算x1/x2の剰余とし、x1を整数とし、x2を正の整数として、初期ビット列におけるビット位置インデクスnを有するビットSnを、循環バッファにおける位置インデクスmod(f(n)+m,N)を有する位置にマッピングすることによって実行してもよい。
幾つかの実施形態では、所定の開始位置は、以下の手法のうちの1つによって選択される。
循環バッファにおけるビット列の開始ビット位置を所定の開始位置とする。
P0を循環バッファにおけるビット列の位置インデクスとし、Mを送信ビット列の長さとして、循環バッファ内のP0=M-1の位置を所定の開始位置とする。
P0を循環バッファにおけるビット列の位置インデクスとし、Mを送信ビット列の長さとし、Nを初期ビット列の長さとして、循環バッファ内のP0=N-Mの位置を所定の開始位置とする。
循環バッファ内のビット列の終了ビット位置を所定の開始位置とする。
幾つかの実施形態では、所定の開始位置は、ポーラ符号化の符号レートによって決定される。
幾つかの実施形態では、所定の開始位置は、以下のように選択できる。
ポーラ符号化の符号レートが所定の閾値以下である場合、P0を循環バッファにおけるビット列の位置インデクスとし、Mを送信ビット列の長さとし、Nを初期ビット列の長さとして、循環バッファ内のP0=N-Mの位置を所定の開始位置とする。
なお、所定の開始位置は、ポーラ符号化の符号レートによって選択されるため、ポーラ符号化の符号レートが所定の閾値より高い場合、所定の開始位置は、以下のいずれかの方法で選択される。
循環バッファ内のビット列の開始ビット位置を所定の開始位置とする。
P0を循環バッファにおけるビット列の位置インデクスとし、Mを送信ビット列の長さとして、循環バッファ内のP0=M-1の位置を所定の開始位置とする。
循環バッファ内のビット列の終了ビット位置を、所定の開始位置とする。
循環バッファが第6の部分、第7の部分、第8の部分、第9の部分の順に配列されて構成されている場合、循環バッファにおけるビット列の第7の部分の開始ビット位置を所定の開始位置とする。
循環バッファが、第6の部分、第7の部分、第8の部分、第9の部分の順に配列されて構成されている場合、循環バッファにおけるビット列の第8の部分の終了ビット位置を所定の開始位置とする。
循環バッファが、第6の部分、第7の部分、第8の部分、第9の部分の順に配列されて構成されている場合、循環バッファにおけるビット列の第8の部分の開始ビット位置を所定の開始位置とする。
循環バッファが、第6の部分、第7の部分、第8の部分、第9の部分の順に配列されて構成されている場合、循環バッファにおけるビット列の第9の部分の開始ビット位置を所定の開始位置とする。
循環バッファが、第6の部分、第7の部分、第8の部分、第9の部分の順に配列されて構成されている場合、M≦t8+t9のとき、P0=t6+t7+M-1の位置を所定の開始位置とし、M>t8+t9のとき、P0=M-1-t8-t9の位置を所定の開始位置とし、ここで、Mは、送信ビット列の長さであり、t6は、第6の部分のビット長であり、t7は、第7の部分のビット長であり、t8は、第8の部分のビット長であり、t9は、第9の部分のビット長である。
循環バッファが、第6の部分、第7の部分、第8の部分、第9の部分の順に配列されて構成されている場合、循環バッファにおけるビット列の第6の部分の終了ビット位置を所定の開始位置とする。
循環バッファが、第6の部分、第7の部分、第8の部分、第9の部分の順に配列されて構成されている場合、M≦t8+t9のとき、P0=t8+t9-Mの位置を所定の開始位置とし、M>t8+t9のとき、P0=N+t8+t9-Mの位置を所定の開始位置とし、ここで、Mは、送信ビット列の長さであり、t6は、第6の部分のビット長であり、t7は、第7の部分のビット長であり、t8は、第8の部分のビット長であり、t9は、第9の部分のビット長である。
循環バッファが、第6の部分、第7の部分、第8の部分、第9の部分の順に配列されて構成されている場合、循環バッファにおけるビット列の第9の部分の開始ビット位置を所定の開始位置とする。
循環バッファが、第6の部分、第7の部分、第8の部分、第9の部分の順に配列されて構成されている場合、循環バッファにおけるビット列の第7の部分の終了ビット位置を所定の開始位置とする。
循環バッファが、第6の部分、第7の部分、第8の部分、第9の部分の順に配列されて構成されている場合、循環バッファにおけるビット列の第6の部分の終了ビット位置を所定の開始位置とする。
幾つかの実施形態では、所定の開始位置は、以下のように選択できる。
ポーラ符号化の符号レートが所定の閾値より高い場合、循環バッファ内のビット列の開始ビット位置を所定の開始位置とする。
幾つかの実施形態では、循環バッファは、第1の部分と第2の部分とを含む。第1の部分は、順次方式又はBROインターリーブ方式の初期ビット列におけるt1個の連続ビットで構成され、第2の部分は、BROインターリーブ方式の初期ビット列における残りのt2ビットで構成され、ここで、t1及びt2は、いずれも0以上の整数であり、t1∈[(1/8)N,(7/8)N]、t1+t2=Nであり、Nは、初期ビット列のビット数であり、Nは、0以上の整数である。
あるいは、第1の部分は、BROインターリーブ方式の初期ビット列におけるt2個の連続ビットで構成され、第2の部分は、順次方式又はBROインターリーブ方式の初期ビット列における残りのt1個のビットで構成され、ここで、t1及びt2は、いずれも0以上の整数であり、t1∈[(1/8)N,(7/8)N]、t1+t2=Nであり、Nは、初期ビット列におけるビット数であり、Nは、0以上の整数である。
第1の部分と第2の部分は、循環バッファ内にビット列を構成するように順次配列される。
幾つかの実施形態では、循環バッファは、第3の部分と、第4の部分と、第5の部分とを含む。第3の部分は、順次方式、BROインターリーブ方式、又は行-列インターリーブ方式の初期ビット列におけるt3個の連続ビットで構成され、第4の部分は、長さt4の2つの連続するビット列が、初期ビット列から選択され、BROインターリーブ方式、行-列インターリーブ方式、又はインタレース方式で配列されることにより構成され、第5の部分は、初期ビット列における残りのt5個のビットで構成され、ここで、t3、t4、t5は、全て0以上の整数であり、t3+2×t4+t5=N、t3∈[(1/8)N,(7/8)N]、及びt4∈[(1/16)N,(7/16)N]である。
あるいは、第3の部分は、順次方式、BROインターリーブ方式、又は行-列インターリーブ方式の初期ビット列におけるt5個のビットで構成され、第4の部分は、長さt4の2つの連続するビット列が、初期ビット列から選択され、BROインターリーブ方式、行-列インターリーブ方式、又はインタレース方式で配列されことにより構成され、第5の部分は、初期ビット列における残りのt3個のビットで構成され、ここで、t3、t4、t5は、全て0以上の整数であり、t3+2×t4+t5=N、t3∈[(1/8)N,(7/8)N]、及びt4∈[(1/16)N,(7/16)N]である。
第3の部分、第4の部分、及び第5の部分は、循環バッファにおいてビット列を構成するように順次配列される。
幾つかの実施形態では、所定の開始位置は、以下の手法のうちの1つによって選択される。
循環バッファにおけるビット列の開始ビット位置を所定の開始位置とする。
P0を循環バッファにおけるビット列の位置インデクスとし、Mを送信ビット列の長さとして、循環バッファ内のP0=M-1の位置を所定の開始位置とする。
P0を循環バッファにおけるビット列の位置インデクスとし、Mを送信ビット列の長さとし、Nを初期ビット列の長さとして、循環バッファ内のP0=N-Mの位置を所定の開始位置とする。
循環バッファ内のビット列の終了ビット位置を所定の開始位置とする。
一部の実施形態では、循環バッファは、第6の部分、第7の部分、第8の部分、及び第9の部分を含む。第6の部分は、BROインターリーブ方式の初期ビット列におけるt6個のビットで構成され、第7の部分は、順次方式又はBROインターリーブ方式の初期ビット列におけるt7個のビットで構成され、第8の部分は、BROインターリーブ方式の初期ビット列におけるt8個のビットで構成され、第9の部分は、BROインターリーブ方式の初期ビット列におけるt9個のビットで構成され、ここで、t6、t7、t8、及びt9は、全て0以上の整数であり、(t6+t7)∈[(1/8)N,(7/8)N]であり、(t8+t9)∈[(1/8)N,(7/8)N]であり、t6+t7+t8+t9=Nである。
あるいは、第6の部分は、BROインターリーブ方式の初期ビット列におけるt9個のビットで構成され、第7の部分は、BROインターリーブ方式の初期ビット列におけるt8個のビットで構成され、第8の部分は、順次方式又はBROインターリーブ方式の初期ビット列におけるt7個のビットで構成され、第9の部分は、BROインターリーブ方式の初期ビット列におけるt6個のビットで構成され、ここで、t6、t7、t8、及びt9は、全て0以上の整数であり、(t6+t7)∈[(1/8)N,(7/8)N]であり、(t8+t9)∈[(1/8)N,(7/8)N]であり、t6+t7+t8+t9=Nである。
一部の実施形態では、循環バッファは、第6の部分、第7の部分、第8の部分、及び第9の部分を含む。第6の部分は、順次方式又はBROインターリーブ方式の初期ビット列におけるt6個のビットで構成され、第7の部分は、BROインターリーブ方式の初期ビット列におけるt7個のビットで構成され、第8の部分は、BROインターリーブ方式の初期ビット列におけるt8個のビットで構成され、第9の部分は、BROインターリーブ方式の初期ビット列におけるt9個のビットで構成され、ここで、t6、t7、t8、及びt9は、全て0以上の整数であり、(t6+t7)∈[(1/8)N,(7/8)N]であり、(t8+t9)∈[(1/8)N,(7/8)N]であり、t6+t7+t8+t9=Nである。
あるいは、第6の部分は、BROインターリーブ方式の初期ビット列におけるt9個のビットで構成され、第7の部分は、BROインターリーブ方式の初期ビット列におけるt8個のビットで構成され、第8の部分は、BROインターリーブ方式の初期ビット列におけるt7個のビットで構成され、第9の部分は、順次方式又はBROインターリーブ方式の初期ビット列におけるt6個のビットで構成され、ここで、t6、t7、t8、及びt9は、全て0以上の整数であり、(t6+t7)∈[(1/8)N,(7/8)N]であり、t6+t7+t8+t9=Nである。
幾つかの実施形態では、ポーラ符号の母符号は、
の長さを有し、ここで、
は、天井関数演算子を表し、Rは、符号レートであり、mは、正の整数である。
幾つかの実施形態では、初期ビット列{S0,S1,…,SN-1}にビット逆順(BRO)インターリーブを施すことにより、循環バッファ内のビット列を取得し、n=0,1,…,N-1とし、m=0,1,…,N-1とし、mをオフセットとし、mod(x1,x2)を除算x1/x2の剰余とし、BROインタリーバにより、初期ビット列においてビット位置インデクスnを有するビットSnを、循環バッファ内の位置インデクスmod(BRO(n)+m,N)を有する位置にマッピングする。
幾つかの実施形態では、循環バッファ内のビット列は、初期ビット列{S0,S1,…,SN-1}にBROインターリーブを施すことによって取得され、n=0,1,…,N-1とし、m=0,1,…,N-1とし、mをオフセットとし、mod(x1,x2)を除算x1/x2の剰余とし、BROインタリーバにより、初期ビット列においてビット位置インデクスnを有するビットSnを、循環バッファ内の位置インデクスN-1-mod(BRO(n)+m,N)を有する位置にマッピングする。
実施形態3
本実施形態は、上述の実施形態における装置が適用されたポーラ符号のためのレートマッチング装置を提供する。このシステムは、上述の実施形態に基づく方法を実施できる。本実施形態の説明では、これまでに説明したことは、以下では繰り返さない。
図5は、本実施形態に基づくビット列処理装置のブロック図である。図5に示すように、この装置は、プロセッサ50及びメモリ52を含むことができる。
メモリ52は、プロセッサによって実行可能な命令を格納するように構成されている。プロセッサ50は、メモリに格納された命令に従って、以下の動作を実行するように構成されている。K及びNを共に正の整数とし、KをN以下として、情報ビットとして使用されるKビットチャネルと(N-K)凍結ビットとを連結してNビットのビット列を生成し、サイズN×Nの生成行列を有するポーラ符号器によってNビットのビット列を符号化して、Nビットの初期ビット列{S0,S1,…,SN-1}を生成し、q=1、2、3、又は4として、循環バッファをq個の部分に分割し、初期ビット列{S0,S1,…,SN-1}から非反復的にビットを選択し、所定の規則に従って、循環バッファのq個の部分にビットを書き込み、循環バッファ内の所定の開始位置から指定された長さのビット列を順次選択し、指定された長さのビット列を送信ビット列とする。
この装置では、送信ビット列に対してポーラ符号化が実行され、ポーラ符号化の対象となるビット列が所定の規則に従って処理され、所定の開始位置から指定された長さのビット列が順次選択され、送信ビット列とされる。このように、適切な処理及び選択ルールを使用して、異なるシナリオにおけるデータビットの送信に適応させることにより、ハイブリッド自動反復要求メカニズムにおいて、ポーラ符号ハードウェアが高い複雑性を有し、符号化プロセスが複雑であるという従来技術の問題を解決し、ポーラ符号ハードウェアの複雑性を大幅に低減し、符号化プロセスを単純化できる。
幾つかの実施形態では、プロセッサは、メモリに格納された命令に基づいて、初期ビット列{S0,S1,…,SN-1}に対する所定の規則がポーラ符号のデータ特性に従って生成される一対一マッピングインターリーブ関数f(n)によって決定され、ここで、n=0,1,…,N-1であり、f(n)=0,1,…,N-1であり、nは、初期ビット列のビット位置インデクスであり、f(n)は、循環バッファの位置インデクスであり、一対一マッピングインターリーブ関数に従って、初期ビット列におけるビット位置インデクスnを有するビットSnを、循環バッファ内の位置インデクスf(n)を有する位置にマッピングする動作を実行するように更に構成される。
なお、{n}→{f(n)}のマッピングは、一対一マッピングであるため、{p(n)}→{n}のマッピングを満たすf(n)の逆関数p(n)が存在する。すなわち、所定の規則は、ポーラ符号のデータ特性に従って生成された一対一マッピングインターリーブ関数p(n)によって決定でき、ここで、n=0,1,…,N-1であり、p(n)=0,1,…,N-1であり、p(n)は、初期ビット列のビット位置インデクスであり、nは、循環バッファの位置インデクスである。初期ビット列{S0,S1,…,SN-1}からビットを非反復的に選択し、所定の規則に従って循環バッファのq個の部分にビットを書き込む動作は、一対一マッピングインターリーブ関数p(n)に従って、初期ビット列のビット位置インデクスp(n)を有するビットSp(n)を、循環バッファ内の位置インデクスnを有する位置にマッピングすることを含む。
幾つかの実施形態では、一対一マッピングインターリーブ関数f(n)は、以下のネスティング特性を有する。
マッピング{n0}→{f(n0)}は、一対一マッピングインターリーブ関数のマッピング{n}→{f(n)}において、ビット列{n}とビット列{f(n)}からN0より大きな要素を削除することによって直接取得でき、ここで、n0=0,1,2,…,N0-1であり、N0は、N以下の正の整数である。
幾つかの実施形態では、初期ビット列{S0,S1,…,SN-1}のための所定の規則は、ポーラ符号のデータ特性に従って、m=0,1,…,N-1とし、mをオフセットとし、mod(x1,x2)を除算x1/x2の剰余とし、x1を整数とし、x2を正の整数として、初期ビット列におけるビット位置インデクスnを有するビットSnを、循環バッファにおける位置インデクスmod(f(n)+m,N)を有する位置にマッピングすることによって実行してもよい。
幾つかの実施形態では、所定の開始位置は、以下の手法のうちの1つによって選択される。
循環バッファにおけるビット列の開始ビット位置を所定の開始位置とする。
P0を循環バッファにおけるビット列の位置インデクスとし、Mを送信ビット列の長さとして、循環バッファ内のP0=M-1の位置を所定の開始位置とする。
P0を循環バッファにおけるビット列の位置インデクスとし、Mを送信ビット列の長さとし、Nを初期ビット列の長さとして、循環バッファ内のP0=N-Mの位置を所定の開始位置とする。
循環バッファ内のビット列の終了ビット位置を所定の開始位置とする。
幾つかの実施形態では、所定の開始位置は、ポーラ符号化の符号レートによって決定される。
幾つかの実施形態では、所定の開始位置は、以下のように選択できる。
ポーラ符号化の符号レートが所定の閾値以下である場合、P0を循環バッファにおけるビット列の位置インデクスとし、Mを送信ビット列の長さとし、Nを初期ビット列の長さとして、循環バッファ内のP0=N-Mの位置を所定の開始位置とする。
幾つかの実施形態では、所定の開始位置は、以下のように選択できる。
ポーラ符号化の符号レートが所定の閾値より高い場合、循環バッファ内のビット列の開始ビット位置を所定の開始位置とする。
幾つかの実施形態では、循環バッファは、第1の部分と第2の部分とを含む。第1の部分は、順次方式又はBROインターリーブ方式の初期ビット列におけるt1個の連続ビットで構成され、第2の部分は、BROインターリーブ方式の初期ビット列における残りのt2ビットで構成され、ここで、t1及びt2は、いずれも0以上の整数であり、t1∈[(1/8)N,(7/8)N]、t1+t2=Nであり、Nは、初期ビット列のビット数であり、Nは、0以上の整数である。
あるいは、第1の部分は、BROインターリーブ方式の初期ビット列におけるt2個の連続ビットで構成され、第2の部分は、順次方式又はBROインターリーブ方式の初期ビット列における残りのt1個のビットで構成され、ここで、t1及びt2は、いずれも0以上の整数であり、t1∈[(1/8)N,(7/8)N]、t1+t2=Nであり、Nは、初期ビット列におけるビット数であり、Nは、0以上の整数である。
第1の部分と第2の部分は、循環バッファ内にビット列を構成するように順次配列される。
幾つかの実施形態では、循環バッファは、第3の部分と、第4の部分と、第5の部分とを含む。第3の部分は、順次方式、BROインターリーブ方式、又は行-列インターリーブ方式の初期ビット列におけるt3個の連続ビットで構成され、第4の部分は、長さt4の2つの連続するビット列が、初期ビット列から選択され、BROインターリーブ方式、行-列インターリーブ方式、又はインタレース方式で配列されることにより構成され、第5の部分は、初期ビット列における残りのt5個のビットで構成され、ここで、t3、t4、t5は、全て0以上の整数であり、t3+2×t4+t5=N、t3∈[(1/8)N,(7/8)N]及びt4∈[(1/16)N,(7/16)N]である。
あるいは、第3の部分は、順次方式、BROインターリーブ方式、又は行-列インターリーブ方式の初期ビット列におけるt5個のビットで構成され、第4の部分は、長さt4の2つの連続するビット列が、初期ビット列から選択され、BROインターリーブ方式、行-列インターリーブ方式、又はインタレース方式で配列されことにより構成され、第5の部分は、初期ビット列における残りのt3個のビットで構成され、ここで、t3、t4、t5は、全て0以上の整数であり、t3+2×t4+t5=N、t3∈[(1/8)N,(7/8)N]、及びt4∈[(1/16)N,(7/16)N]である。
第3の部分、第4の部分、及び第5の部分は、循環バッファにおいてビット列を構成するように順次配列される。
幾つかの実施形態では、所定の開始位置は、以下の手法のうちの1つによって選択される。
循環バッファにおけるビット列の開始ビット位置を所定の開始位置とする。
P0を循環バッファにおけるビット列の位置インデクスとし、Mを送信ビット列の長さとして、循環バッファ内のP0=M-1の位置を所定の開始位置とする。
P0を循環バッファにおけるビット列の位置インデクスとし、Mを送信ビット列の長さとし、Nを初期ビット列の長さとして、循環バッファ内のP0=N-Mの位置を所定の開始位置とする。
循環バッファ内のビット列の終了ビット位置を所定の開始位置とする。
一部の実施形態では、循環バッファは、第6の部分、第7の部分、第8の部分、及び第9の部分を含む。第6の部分は、BROインターリーブ方式の初期ビット列におけるt6個のビットで構成され、第7の部分は、順次方式又はBROインターリーブ方式の初期ビット列におけるt7個のビットで構成され、第8の部分は、BROインターリーブ方式の初期ビット列におけるt8個のビットで構成され、第9の部分は、BROインターリーブ方式の初期ビット列におけるt9個のビットで構成され、ここで、t6、t7、t8、及びt9は、全て0以上の整数であり、(t6+t7)∈[(1/8)N,(7/8)N]であり、(t8+t9)∈[(1/8)N,(7/8)N]であり、t6+t7+t8+t9=Nである。
あるいは、第6の部分は、BROインターリーブ方式の初期ビット列におけるt9個のビットで構成され、第7の部分は、BROインターリーブ方式の初期ビット列におけるt8個のビットで構成され、第8の部分は、順次方式又はBROインターリーブ方式の初期ビット列におけるt7個のビットで構成され、第9の部分は、BROインターリーブ方式の初期ビット列におけるt6個のビットで構成され、ここで、t6、t7、t8、及びt9は、全て0以上の整数であり、(t6+t7)∈[(1/8)N,(7/8)N]であり、(t8+t9)∈[(1/8)N,(7/8)N]であり、t6+t7+t8+t9=Nである。
一部の実施形態では、循環バッファは、第6の部分、第7の部分、第8の部分、及び第9の部分を含む。第6の部分は、順次方式又はBROインターリーブ方式の初期ビット列におけるt6個のビットで構成され、第7の部分は、BROインターリーブ方式の初期ビット列におけるt7個のビットで構成され、第8の部分は、BROインターリーブ方式の初期ビット列におけるt8個のビットで構成され、第9の部分は、BROインターリーブ方式の初期ビット列におけるt9個のビットで構成され、ここで、t6、t7、t8、及びt9は、全て0以上の整数であり、(t6+t7)∈[(1/8)N,(7/8)N]であり、(t8+t9)∈[(1/8)N,(7/8)N]であり、t6+t7+t8+t9=Nである。
あるいは、第6の部分は、BROインターリーブ方式の初期ビット列におけるt9個のビットで構成され、第7の部分は、BROインターリーブ方式の初期ビット列におけるt8個のビットで構成され、第8の部分は、BROインターリーブ方式の初期ビット列におけるt7個のビットで構成され、第9の部分は、順次方式又はBROインターリーブ方式の初期ビット列におけるt6個のビットで構成され、ここで、t6、t7、t8、及びt9は、全て0以上の整数であり、(t6+t7)∈[(1/8)N,(7/8)N]であり、t6+t7+t8+t9=Nである。
幾つかの実施形態では、ポーラ符号の母符号は、
の長さを有し、ここで、
は、天井関数演算子を表し、Rは、符号レートであり、mは、正の整数である。
幾つかの実施形態では、初期ビット列{S0,S1,…,SN-1}にビット逆順(BRO)インターリーブを施すことにより、循環バッファ内のビット列を取得し、n=0,1,…,N-1とし、m=0,1,…,N-1とし、mをオフセットとし、mod(x1,x2)を除算x1/x2の剰余とし、BROインタリーバにより、初期ビット列においてビット位置インデクスnを有するビットSnを、循環バッファ内の位置インデクスmod(BRO(n)+m,N)を有する位置にマッピングする。
幾つかの実施形態では、循環バッファ内のビット列は、初期ビット列{S0,S1,…,SN-1}にBROインターリーブを施すことによって取得され、n=0,1,…,N-1とし、m=0,1,…,N-1とし、mをオフセットとし、mod(x1,x2)を除算x1/x2の剰余とし、BROインタリーバにより、初期ビット列においてビット位置インデクスnを有するビットSnを、循環バッファ内の位置インデクスN-1-mod(BRO(n)+m,N)を有する位置にマッピングする。
幾つかの実施形態では、プロセッサは、メモリに格納された命令に基づいて、初期ビット列{S0,S1,…,SN-1}に対する所定の規則がポーラ符号のデータ特性に従って生成される一対一マッピングインターリーブ関数f(n)によって決定され、ここで、n=0,1,…,N-1であり、f(n)=0,1,…,N-1であり、nは、初期ビット列のビット位置インデクスであり、f(n)は、循環バッファの位置インデクスであり、一対一マッピングインターリーブ関数に従って、初期ビット列におけるビット位置インデクスnを有するビットSnを、循環バッファ内の位置インデクスf(n)を有する位置にマッピングする動作を実行するように更に構成される。
幾つかの実施形態では、所定の規則は、ポーラ符号のデータ特性に従って生成された一対一マッピングインターリーブ関数p(n)によって決定でき、ここで、n=0,1,…,N-1であり、p(n)=0,1,…,N-1であり、p(n)は、初期ビット列のビット位置インデクスであり、nは、循環バッファの位置インデクスである。初期ビット列{S0,S1,…,SN-1}からビットを非反復的に選択し、所定の規則に従って循環バッファのq個の部分にビットを書き込む動作は、一対一マッピングインターリーブ関数p(n)に従って、初期ビット列のビット位置インデクスp(n)を有するビットSp(n)を、循環バッファ内の位置インデクスnを有する位置にマッピングすることを含む。
幾つかの実施形態では、一対一マッピングインターリーブ関数f(n)は、以下のネスティング特性を有する。
マッピング{n0}→{f(n0)}は、一対一マッピングインターリーブ関数のマッピング{n}→{f(n)}において、ビット列{n}とビット列{f(n)}からN0より大きな要素を削除することによって直接取得でき、ここで、n0=0,1,2,…,N0-1であり、N0は、N以下の正の整数である。
幾つかの実施形態では、初期ビット列{S0,S1,…,SN-1}のための所定の規則は、ポーラ符号のデータ特性に従って、m=0,1,…,N-1とし、mをオフセットとし、mod(x1,x2)を除算x1/x2の剰余とし、x1を整数とし、x2を正の整数として、初期ビット列におけるビット位置インデクスnを有するビットSnを、循環バッファにおける位置インデクスmod(f(n)+m,N)を有する位置にマッピングすることによって実行してもよい。
幾つかの実施形態では、所定の開始位置は、以下の手法のうちの1つによって選択される。
循環バッファにおけるビット列の開始ビット位置を所定の開始位置とする。
P0を循環バッファにおけるビット列の位置インデクスとし、Mを送信ビット列の長さとして、循環バッファ内のP0=M-1の位置を所定の開始位置とする。
P0を循環バッファにおけるビット列の位置インデクスとし、Mを送信ビット列の長さとし、Nを初期ビット列の長さとして、循環バッファ内のP0=N-Mの位置を所定の開始位置とする。
循環バッファ内のビット列の終了ビット位置を所定の開始位置とする。
幾つかの実施形態では、所定の開始位置は、ポーラ符号化の符号レートによって決定される。
幾つかの実施形態では、所定の開始位置は、以下のように選択できる。
ポーラ符号化の符号レートが所定の閾値以下である場合、P0を循環バッファにおけるビット列の位置インデクスとし、Mを送信ビット列の長さとし、Nを初期ビット列の長さとして、循環バッファ内のP0=N-Mの位置を所定の開始位置とする。
所定の開始位置は、以下のように選択してもよい。
ポーラ符号化の符号レートが所定の閾値より高い場合、循環バッファ内のビット列の開始ビット位置を所定の開始位置とする。
幾つかの実施形態では、循環バッファは、第1の部分と第2の部分とを含む。第1の部分は、順次方式又はBROインターリーブ方式の初期ビット列におけるt1個の連続ビットで構成され、第2の部分は、BROインターリーブ方式の初期ビット列における残りのt2ビットで構成され、ここで、t1及びt2は、いずれも0以上の整数であり、t1∈[(1/8)N,(7/8)N]、t1+t2=Nであり、Nは、初期ビット列のビット数であり、Nは、0以上の整数である。
あるいは、第1の部分は、BROインターリーブ方式の初期ビット列におけるt2個の連続ビットで構成され、第2の部分は、順次方式又はBROインターリーブ方式の初期ビット列における残りのt1個のビットで構成され、ここで、t1及びt2は、いずれも0以上の整数であり、t1∈[(1/8)N,(7/8)N]、t1+t2=Nであり、Nは、初期ビット列におけるビット数であり、Nは、0以上の整数である。
第1の部分と第2の部分は、循環バッファ内にビット列を構成するように順次配列される。
幾つかの実施形態では、循環バッファは、第3の部分と、第4の部分と、第5の部分とを含む。第3の部分は、順次方式、BROインターリーブ方式、又は行-列インターリーブ方式の初期ビット列におけるt3個の連続ビットで構成され、第4の部分は、長さt4の2つの連続するビット列が、初期ビット列から選択され、BROインターリーブ方式、行-列インターリーブ方式、又はインタレース方式で配列されることにより構成され、第5の部分は、初期ビット列における残りのt5個のビットで構成され、ここで、t3、t4、t5は、全て0以上の整数であり、t3+2×t4+t5=N、t3∈[(1/8)N,(7/8)N]、及びt4∈[(1/16)N,(7/16)N]である。
あるいは、第3の部分は、順次方式、BROインターリーブ方式、又は行-列インターリーブ方式の初期ビット列におけるt5個のビットで構成され、第4の部分は、長さt4の2つの連続するビット列が、初期ビット列から選択され、BROインターリーブ方式、行-列インターリーブ方式、又はインタレース方式で配列されことにより構成され、第5の部分は、初期ビット列における残りのt3個のビットで構成され、ここで、t3、t4、t5は、全て0以上の整数であり、t3+2×t4+t5=N、t3∈[(1/8)N,(7/8)N]、及びt4∈[(1/16)N,(7/16)N]である。
第3の部分、第4の部分、及び第5の部分は、循環バッファにおいてビット列を構成するように順次配列される。
幾つかの実施形態では、所定の開始位置は、以下の手法のうちの1つによって選択される。
循環バッファにおけるビット列の開始ビット位置を所定の開始位置とする。
P0を循環バッファにおけるビット列の位置インデクスとし、Mを送信ビット列の長さとして、循環バッファ内のP0=M-1の位置を所定の開始位置とする。
P0を循環バッファにおけるビット列の位置インデクスとし、Mを送信ビット列の長さとし、Nを初期ビット列の長さとして、循環バッファ内のP0=N-Mの位置を所定の開始位置とする。
循環バッファ内のビット列の終了ビット位置を所定の開始位置とする。
一部の実施形態では、循環バッファは、第6の部分、第7の部分、第8の部分、及び第9の部分を含む。第6の部分は、BROインターリーブ方式の初期ビット列におけるt6個のビットで構成され、第7の部分は、順次方式又はBROインターリーブ方式の初期ビット列におけるt7個のビットで構成され、第8の部分は、BROインターリーブ方式の初期ビット列におけるt8個のビットで構成され、第9の部分は、BROインターリーブ方式の初期ビット列におけるt9個のビットで構成され、ここで、t6、t7、t8、及びt9は、全て0以上の整数であり、(t6+t7)∈[(1/8)N,(7/8)N]であり、(t8+t9)∈[(1/8)N,(7/8)N]であり、t6+t7+t8+t9=Nである。
あるいは、第6の部分は、BROインターリーブ方式の初期ビット列におけるt9個のビットで構成され、第7の部分は、BROインターリーブ方式の初期ビット列におけるt8個のビットで構成され、第8の部分は、順次方式又はBROインターリーブ方式の初期ビット列におけるt7個のビットで構成され、第9の部分は、BROインターリーブ方式の初期ビット列におけるt6個のビットで構成され、ここで、t6、t7、t8、及びt9は、全て0以上の整数であり、(t6+t7)∈[(1/8)N,(7/8)N]であり、(t8+t9)∈[(1/8)N,(7/8)N]であり、t6+t7+t8+t9=Nである。
一部の実施形態では、循環バッファは、第6の部分、第7の部分、第8の部分、及び第9の部分を含む。第6の部分は、順次方式又はBROインターリーブ方式の初期ビット列におけるt6個のビットで構成され、第7の部分は、BROインターリーブ方式の初期ビット列におけるt7個のビットで構成され、第8の部分は、BROインターリーブ方式の初期ビット列におけるt8個のビットで構成され、第9の部分は、BROインターリーブ方式の初期ビット列におけるt9個のビットで構成され、ここで、t6、t7、t8、及びt9は、全て0以上の整数であり、(t6+t7)∈[(1/8)N,(7/8)N]であり、(t8+t9)∈[(1/8)N,(7/8)N]であり、t6+t7+t8+t9=Nである。
あるいは、第6の部分は、BROインターリーブ方式の初期ビット列におけるt9個のビットで構成され、第7の部分は、BROインターリーブ方式の初期ビット列におけるt8個のビットで構成され、第8の部分は、BROインターリーブ方式の初期ビット列におけるt7個のビットで構成され、第9の部分は、順次方式又はBROインターリーブ方式の初期ビット列におけるt6個のビットで構成され、ここで、t6、t7、t8、及びt9は、全て0以上の整数であり、(t6+t7)∈[(1/8)N,(7/8)N]であり、t6+t7+t8+t9=Nである。
幾つかの実施形態では、ポーラ符号の母符号は、
の長さを有し、ここで、
は、天井関数演算子を表し、Rは、符号レートであり、mは、正の整数である。
幾つかの実施形態では、初期ビット列{S0,S1,…,SN-1}にビット逆順(BRO)インターリーブを施すことにより、循環バッファ内のビット列を取得し、n=0,1,…,N-1とし、m=0,1,…,N-1とし、mをオフセットとし、mod(x1,x2)を除算x1/x2の剰余とし、BROインタリーバにより、初期ビット列においてビット位置インデクスnを有するビットSnを、循環バッファ内の位置インデクスmod(BRO(n)+m,N)を有する位置にマッピングする。
幾つかの実施形態では、循環バッファ内のビット列は、初期ビット列{S0,S1,…,SN-1}にBROインターリーブを施すことによって取得され、n=0,1,…,N-1とし、m=0,1,…,N-1とし、mをオフセットとし、mod(x1,x2)を除算x1/x2の剰余とし、BROインタリーバにより、初期ビット列においてビット位置インデクスnを有するビットSnを、循環バッファ内の位置インデクスN-1-mod(BRO(n)+m,N)を有する位置にマッピングする。
以下、本実施形態において上述した処理方法及び実装モードの例を示す。
例1
1.符号レートR=2/3を用いて長さK=4の情報ビット列に対してポーラ符号化を行い、これにより、符号化されたビット列の長さは、
となる。
2.BRO演算(これに限定されない)によって初期ビット列をマッピングするためのマッピング関数を決定し、循環バッファ内のビット列{S0,S4,S2,S6,S1,S5,S3,S7}を取得する。
3.循環バッファの開始位置からインデクスの昇順で6ビット{S0,S4,S2,S6,S1,S5}を読み出す。
4.6個のデータビット{S0,S4,S2,S6,S1,S5}を順次配列し、送信レートマッチデータビット列として送信する。
例2
ステップ1及びステップ2は、例1と同じである。
3.循環バッファ内の位置インデクスP0=M-1=5の位置からインデクスの降順で6ビット{S5,S1,S6,S2,S4,S0}を読み出す。
4.6個のデータビット{S5,S1,S6,S2,S4,S0}を逆順配列し、送信レートマッチデータビット列として送信する。
例3
ステップ1及びステップ2は、例1と同じである。
3.循環バッファ内の位置インデクスP0=N-M=2の位置からインデクスの昇順で6ビット{S2,S6,S1,S5,S3,S7}を読み出す。
4.6個のデータビット{S2,S6,S1,S5,S3,S7}を順次配列し、送信レートマッチデータビット列として送信する。
例4
ステップ1及びステップ2は、例1と同じである。
3.循環バッファの終了位置からインデクスの降順で6ビット{S7,S3,S5,S1,S6,S2}を読み出す。
4.6個のデータビット{S7,S3,S5,S1,S6,S2}を逆順配列し、送信レートマッチデータビット列として送信する。
例5
ステップ1は、例1と同じである。
2.例1で取得した循環バッファのビット列を逆順配列し、{S7,S3,S5,S1,S6,S2,S4,S0}を取得する。
ステップ3及びステップ4は、例1と同じである。
例6
ステップ1及びステップ2は、例5と同じである。
ステップ3及びステップ4は、例2と同じである。
例7
ステップ1及びステップ2は、例5と同じである。
ステップ3及びステップ4は、例3と同じである。
例8
ステップ1及びステップ2は、例5と同じである。
ステップ3及びステップ4は、例4と同じである。
例9
1.符号レートR=2/3を用いて長さK=2の情報ビット列に対してポーラ符号化を行い、これにより、符号化されたビット列の長さは、
となる。
2.初期ビット列のマッピング関数のBROネスティング特性に基づき、例1における循環バッファ内のビット列から位置インデクスが4以上の要素を直接削除して、循環バッファ内のビット列{S0,S2,S1,S3}を取得する。
3.循環バッファの開始位置からインデクスの昇順で3ビット{S0,S2,S1}を読み出す。
4.この3個のデータビット{S0,S2,S1}を順次配列し、送信レートマッチデータビット列として送信する。
例10
ステップ1及びステップ2は、例9と同じである。
3.循環バッファ内の位置インデクスP0=M-1=2の位置からインデクスの降順で3ビット{S1,S2,S0}を読み出す。
4.この3個のデータビット{S1,S2,S0}を逆順配列し、送信レートマッチデータビット列として送信する。
例11
ステップ1及びステップ2は、例9と同じである。
3.循環バッファ内の位置インデクスP0=N-M=1の位置からインデクスの昇順で3ビット{S2,S1,S3}を読み出す。
4.この3個のデータビット{S2,S1,S3}を順次配列し、送信レートマッチデータビット列として送信する。
例12
ステップ1及びステップ2は、例9と同じである。
3.循環バッファの終了位置からインデクスの降順で3ビット{S3,S1,S2}を読み出す。
4.6個のデータビット{S3,S1,S2}を逆順配列し、送信レートマッチデータビット列として送信する。
例13
ステップ1は、例9と同じである。
2.例9で取得した循環バッファのビット列を逆順配列し、{S3,S1,S2,S0}を取得する。
ステップ3及びステップ4は、例9と同じである。
例14
ステップ1及びステップ2は、例13と同じである。
ステップ3及びステップ4は、例10と同じである。
例15
ステップ1及びステップ2は、例13と同じである。
ステップ3及びステップ4は、例11と同じである。
例16
ステップ1及びステップ2は、例13と同じである。
ステップ3及びステップ4は、例12と同じである。
次に、循環バッファ内のビット列を2個の部分に分割する場合について説明する。
例17
ポーラ符号の循環バッファに対するレートマッチング方法は、以下に説明するステップを含む。
1.符号レートR=1/3を用いて長さK=8の情報ビット列に対してポーラ符号を行い、これにより、符号化されたビット列の長さは、
となる。
2.循環バッファの部分1は、符号化されたビット列における6個の連続ビット{S0,S1,…,S5}から構成され、循環バッファの部分2は、連続ビット{S6,S7,…,S31}をBROインターリーブ方式で符号化したビット列で構成され、したがって、部分2のビット列は{S16,S8,S24,S20,S12,S28,S18,S10,S26,S6,S22,S14,S30,S17,S9,S25,S21,S13,S29,S19,S11,S27,S7,S23,S15,S31}となる。
3.循環バッファ内の位置インデクスP0=N-M=N-K/R=32-24=8のビット位置からインデクスの昇順で24ビットを読み出す。
4.24個のデータビットを順次配列し、送信レートマッチデータビット列として送信する。
例18
ポーラ符号の循環バッファに対するレートマッチング方法は、以下に説明するステップを含む。
ステップ1及びステップ2は、例117と同じである。
3.循環バッファの終了ビット位置からインデクスの降順で24ビットを読み出す。
4.24個のデータビットを逆順配列し、送信レートマッチデータビット列として送信する。
例19
ポーラ符号の循環バッファに対するレートマッチング方法は、以下に説明するステップを含む。
1.符号レートR=1/3を用いて長さK=8の情報ビット列に対してポーラ符号化を行い、これにより、符号化ビット列の長さは、
となる。
2.循環バッファの部分1は、BROインターリーブ方式で符号化されたビット列における26個の連続ビット{S31,S30,…,S7}から構成され、循環バッファの部分2は、順次方式で符号化されたビット列の6個の連続ビット{S5,S4,…,S0}から構成される。
3.循環バッファの開始位置からインデクスの昇順で24ビットを読み出す。
4.循環バッファから読み出したビット列の24個のデータビットを逆順配列し、送信レートマッチデータビット列として送信する。
例20
ポーラ符号の循環バッファに対するレートマッチング方法は、以下に説明するステップを含む。
ステップ1及びステップ2は、例17と同じである。
3.循環バッファ内の位置インデクスP0=M-1=K/R-1=24-1=23のビット位置からインデクスの降順で24ビットを読み出す。
4.循環バッファから読み出されたビット列の24個のデータビットを順次配列し、送信レートマッチデータビット列として送信する。
次に、循環バッファ内のビット列を3個の部分に分割する場合について説明する。
例21
ポーラ符号の循環バッファに対するレートマッチング方法は、以下に説明するステップを含む。
1.符号レートR=1/3を用いて長さK=64の情報ビット列に対してポーラ符号化を行い、これにより、符号化ビット列の長さは、
となる。
2.循環バッファの部分3は、順次方式で符号化されたビット列が連続した64個の連続ビット{S0,S1,…,S63}で構成され、循環バッファの部分4は、64ビット{S64,S65,…,S127}と64ビット{S128,S129,…,S191}がインタレース方式で符号化されたビット列で構成されており、これは、部分4がビット{S64,S128,S65,S129,…,S127,S191}で構成されていることを意味し、循環バッファの部分5は、順次方式で符号化されたビット列の連続した64ビット{S192,S193,…,S255}で構成されている。したがって、循環バッファ内のビット列は{S0,S1,…,S63,S64,S128,S65,S129,…,S127,S191,S192,S193,…,S255}である。
3.循環バッファ内の位置インデクスP0=N-M=N-K/R=256-192=64のビット位置からインデクスの昇順で192ビットを読み出す。
4.192ビットのデータを順次配列し、送信レートマッチデータビット列として送信する。
例22
ポーラ符号の循環バッファに対するレートマッチング方法は、以下に説明するステップを含む。
ステップ1及びステップ2は、例21と同じである。
3.循環バッファの終了ビット位置からインデクスの降順で192ビットを読み出す。
4.192個のデータビットを逆順配列し、送信レートマッチデータビット列として送信する。
例23
ポーラ符号の循環バッファに対するレートマッチング方法は、以下に説明するステップを含む。
1.符号レートR=1/3を用いて長さK=64の情報ビット列に対してポーラ符号化を行い、これにより、符号化されたビット列の長さは、
となる。
2.循環バッファの部分3は、順次方式で符号化されたビット列が連続した64個の連続ビット{S255,S254,…,S192}で構成され、循環バッファの部分4は、64ビット{S191,S190,…,S128}と64ビット{S127,S126,…,S64}がインタレース方式で符号化されたビット列で構成されており、これは、部分4がビット{S191,S127,S190,S126,…,S128,S64}で構成されていることを意味し、循環バッファの部分5は、順次方式で符号化されたビット列の連続した64ビット{S63,S62,…,S0}で構成されている。したがって、循環バッファ内のビット列は{S255,S254,…,S192,S191,S127,S190,S126,…,S128,S64,S63,S62,…,S0}である。
3.循環バッファの開始位置からインデクスの昇順で192ビットを読み出す。
4.循環バッファから読み出したビット列の192個のデータビットを逆順配列し、送信レートマッチデータビット列として送信する。
例24
ポーラ符号の循環バッファに対するレートマッチング方法は、以下に説明するステップを含む。
ステップ1及びステップ2は、例23と同じである。
3.循環バッファ内の位置インデクスP0=M-1=K/R-1=192-1=191のビット位置からインデクスの降順で192ビットを読み出す。
4.循環バッファから読み出されたビット列の192個のデータビットを順次配列し、送信レートマッチデータビット列として送信する。
以下、循環バッファ内のビット列を4個の部分に分割する場合について説明する。
例25
1.符号レートR=1/2を用いて長さK=9の情報ビット列に対してポーラ符号化を行い、これにより、符号化されたビット列の長さは、
となる。
2.ビット列集合を{SBRO(j)}={S9,S25,S5,S21,S13,S29,S3,S19,S11,S27,S7,S23,S15,S31}として定義する。循環バッファの部分6{I1}は、{S0,S1,…,S5}と{SBRO(j)}との共通集合を含み、BROインターリーブ方式で{I1}={S5,S3}として配列され、ここでj=18,…,31である。循環バッファの部分7{I2}は、{S0,S1,…,S5}と{I1}の差集合であり、順次方式で{I2}={S0,S1,S2,S4}として配列される。循環バッファの部分9{I4}は、{S6,S7,…,S31}と{SBRO(j)}との共通集合を含み、BROインターリーブ方式で{I4}={S9,S25,S21,S13,S29,S19,S11,S27,S7,S23,S15,S31}として配列される。循環バッファの部分8{Si3}は、{S6,S7,…,S31}と{Si4}の差集合であり、BROインターリーブ方式で{I3}={S16,S8,S24,S20,S12,S28,S18,S10,S26,S6,S22,S14,S30,S17}として配列される。したがって、循環バッファ内のビット列は{S5,S3,S0,S1,S2,S4,S16,S8,S24,S20,S12,S28,S18,S10,S26,S6,S22,S14,S30,S17,S9,S25,S21,S13,S29,S19,S11,S27,S7,S23,S15,S31}である。
3.R=1/2が所定の閾値より高い場合、循環バッファ内の部分7の開始位置からインデクスの昇順で18ビットを読み出し、R=1/2が所定の閾値より小さい場合、循環バッファ内の位置インデクスP0=N-M=14の位置からインデクスの昇順で18ビットを読み出す。
4.循環バッファから読み出されたビット列の18個のデータビットを順次配列し、送信レートマッチデータビット列として送信する。
例26
ステップ1及びステップ2は、例25と同じである。
3.R=1/2が所定の閾値より高い場合、循環バッファ内の部分8の終了位置からインデクスの降順で18ビットを読み出し、R=1/2が所定の閾値より小さい場合、循環バッファ内の終了位置からインデクスの降順で18ビットを読み出す。
4.循環バッファから読み出したビット列の18個のデータビットを逆順配列し、送信レートマッチデータビット列として送信する。
例27
ステップ1は、例25と同じである。
2.例25で取得された循環バッファのビット列を逆順配列して{S31,S15,S23,S7,S27,S11,S19,S29,S13,S21,S25,S9,S17,S30,S14,S22,S6,S26,S10,S18,S28,S12,S20,S24,S8,S16,S4,S2,S1,S0,S3,S5}とする。
3.R=1/2が所定の閾値より高い場合、循環バッファ内の部分7の開始位置からインデクスの昇順で18ビットを読み出し、R=1/2が所定の閾値より小さい場合、循環バッファ内の開始位置からインデクスの昇順で18ビットを読み出す。
4.循環バッファから読み出されたビット列の18個のデータビットを順次配列し、送信レートマッチデータビット列として送信する。
例28
ステップ1及びステップ2は、例27と同じである。
3.R=1/2が所定の閾値より高い場合、循環バッファ内の部分8の終了位置からインデクスの降順で18ビットを読み出し、R=1/2が所定の閾値未満である場合、循環バッファ内の位置インデクスP0=M-1=17の位置からインデクスの降順で18ビットを読み出す。
4.循環バッファから読み出したビット列の18個のデータビットを逆順配列し、送信レートマッチデータビット列として送信する。
例29
ステップ1は、例25と同じである。
2.循環バッファの部分6は、{I1}={S0,S1,S2,S4}、部分7は、{I2}={S5,S3}、部分8は、{I3}={S9,S25,S21,S13,S29,S19,S11,S27,S7,S23,S15,S31}、部分9は、{I4}={S16,S8,S24,S20,S12,S28,S18,S10,S26,S6,S22,S14,S30,S17}である。したがって、循環バッファ内のビット列は、{S0,S1,S2,S4,S5,S3,S9,S25,S21,S13,S29,S19,S11,S27,S7,S23,S15,S31,S16,S8,S24,S20,S12,S28,S18,S10,S26,S6,S22,S14,S30,S17}である。
3.R=1/2が所定の閾値より高い場合、循環バッファ内の部分9の開始位置からインデクスの昇順で18ビットを読み出す。読み出しが循環バッファの終了位置に達した場合、循環バッファの開始位置から18ビットの読み出しが終了するまで読み出しを継続する。R=1/2が所定の閾値より小さい場合、循環バッファ内の部分8の開始位置からインデクスの昇順で18ビットを読み出す。読み出しが循環バッファの終了位置に達した場合、循環バッファの開始位置から18ビットの読み出しが終了するまで読み出しを継続する。
4.循環バッファから読み出されたビット列の18個のデータビットを順次配列し、送信レートマッチデータビット列として送信する。
例30
ステップ1及びステップ2は、例29と同じである。
3.R=1/2が所定の閾値より高い場合、循環バッファ内の部分6の終了位置からインデクスの降順で18ビットを読み出す。読み出しが循環バッファの開始位置に達した場合、循環バッファの終了位置から18ビットの読み出しが完了するまで読み出しを継続する。R=1/2が所定の閾値より小さい場合、循環バッファ内の位置インデクスP0=23の位置からインデクスの降順で18ビットを読み出す。
4.循環バッファから読み出したビット列の18個のデータビットを逆順配列し、送信レートマッチデータビット列として送信する。
例31
ステップ1は、例29と同じである。
2.循環バッファのビット列は、例29のビット列を逆順配列することにより取得される。
3.R=1/2が所定の閾値より高い場合、循環バッファ内の部分9の開始位置からインデクスの昇順で18ビットを読み出す。読み出しが循環バッファの終了位置に達した場合、循環バッファの開始位置から18ビットの読み出しが終了するまで読み出しを継続する。R=1/2が所定の閾値より小さい場合、循環バッファ内の位置インデクスP0=8を有する位置からインデクスの昇順で18ビットを読み出す。
4.循環バッファから読み出されたビット列の18個のデータビットを順次配列し、送信レートマッチデータビット列として送信する。
例32
ステップ1及びステップ2は、例31と同じである。
3.R=1/2が所定の閾値より高い場合、循環バッファ内の部分6の終了位置からインデクスの降順で18ビットを読み出す。読み出しが循環バッファの開始位置に達した場合、循環バッファの終了位置から18ビットの読み出しが完了するまで読み出しを継続する。R=1/2が所定の閾値より小さい場合、循環バッファ内の部分7の終了位置からインデクスの降順で18ビットを読み出す。
4.循環バッファから読み出したビット列の18個のデータビットを逆順配列し、送信レートマッチデータビット列として送信する。
例33
1.符号レートR=2/3を用いて長さK=2の情報ビット列に対してポーラ符号化を行い、これにより、符号化されたビット列の長さは、
となる。ここでは、m=1であるが、mは、1に限定されない。
2.初期ビット列に対して、そのマッピング関数に基づいてBROインターリービングを施し、循環バッファ内のビット列{S0,S4,S2,S6,S1,S5,S3,S7}を取得する。
3.循環バッファの開始位置からインデクスの昇順で3ビット{S0,S4,S2}を読み出す。
4.この3個のデータビット{S0,S4,S2}を順次配列し、送信レートマッチデータビット列として送信する。
例34
ステップ1及びステップ2は、例33と同じである。
3.循環バッファ内の位置インデクスP0=M-1=2の位置からインデクスの降順で3ビット{S2,S4,S0}を読み出す。
4.この3個のデータビット{S2,S4,S0}を逆順配列し、送信レートマッチデータビット列として送信する。
例35
ステップ1及びステップ2は、例33と同じである。
3.循環バッファ内の位置インデクスP0=N-M=5の位置からインデクスの昇順で3ビット{S5,S3,S7}を読み出す。
4.この3個のデータビット{S5,S3,S7}を順次配列し、送信レートマッチデータビット列として送信する。
例36
ステップ1及びステップ2は、例33と同じである。
3.循環バッファの終了位置からインデクスの降順で3ビット{S7,S3,S5}を読み出す。
4.この3個のデータビット{S7,S3,S5}を逆順配列し、送信レートマッチデータビット列として送信する。
例37
ステップ1は、例33と同じである。
2.例33で取得された循環バッファのビット列を逆順配列し、{S7,S3,S5,S1,S6,S2,S4,S0}を取得する。
ステップ3及びステップ4は、例33と同じである。
例38
ステップ1及びステップ2は、例37と同じである。
ステップ3及びステップ4は、例34と同じである。
例39
ステップ1及びステップ2は、例37と同じである。
ステップ3及びステップ4は、例35と同じである。
例40
ステップ1及びステップ2は、例37と同じである。
ステップ3及びステップ4は、例36と同じである。
例41
1.符号レートR=1/4を使用して長さK=24の情報ビット列に対してポーラ符号化を行い、これにより、符号化されたビット列の長さは、N=128となる。
2.初期ビット列をマッピングするためのマッピング関数は、p(n)によって決定される。マッピング関数は、例1~40のいずれかのマッピング関数であってもよく、他の一対一マッピング関数であってもよい。
3.符号レートRが所定の閾値よりも小さい場合、循環バッファ内の位置インデクスP0=N-M=32の位置からインデクスの昇順でM=96ビットを読み出す。
例42
1.符号レートR=2/3を使用して長さK=24の情報ビット列に対してポーラ符号化を行い、これにより、符号化ビット列の長さは、N=64となる。
2.初期ビット列をマッピングするためのマッピング関数は、p(n)によって決定される。マッピング関数は、例1~40のいずれかのマッピング関数であってもよく、他の一対一マッピング関数であってもよい。
3.符号レートRが所定の閾値より高い場合、循環バッファ内の開始位置からインデクスの昇順でM=36ビットを読み出す。
実施形態4
本実施形態は、記憶媒体を提供する。例えば、本実施形態では、記憶媒体は、上記実施形態に係るビット列の処理方法を実行するためのプログラムコードを記憶するように構成してもよい。
他の例として、本実施形態では、記憶媒体は、コンピュータネットワーク内のコンピュータ端末のグループのいずれか1つに配置してもよく、移動端末のグループのいずれか1つに配置してもよい。
他の例として、本実施形態では、記憶媒体は、以下に説明するステップを実行するためのプログラムコードを記憶するように構成される。
S1において、K及びNを共に正の整数とし、KをN以下として、情報ビットとして使用されるKビットチャネルと(N-K)凍結ビットとを連結してNビットのビット列を生成し、サイズN×Nの生成行列を有するポーラ符号器によってNビットのビット列を符号化して、Nビットの初期ビット列{S0,S1,…,SN-1}を生成する。
S2において、q=1、2、3、又は4として、循環バッファをq個の部分に分割し、初期ビット列{S0,S1,…,SN-1}から非反復的にビットを選択し、所定の規則に従って、循環バッファのq個の部分にビットを書き込む。
S3において、循環バッファ内の所定の開始位置から指定された長さのビット列を順次選択し、指定された長さのビット列を送信ビット列とする。
上記実施形態の通し番号は、単に説明を容易にするためのものであり、実施形態の優劣を示すものではない。
以上の実施形態において、1つ以上の実施形態において詳細に説明されていない部分については、他の実施形態における関連する説明を参照できる。
本出願の実施形態に開示される技術的内容は、他の手法で実施してもよい。上述の装置の実施形態は、単なる例示である。例えば、ユニットの分類は、単に論理的機能の分類であり、実際には、他の手法でユニットを分類してもよい。例えば、複数のユニット又はコンポーネントを組み合わせてよく、別のシステムに統合してもよく、一部の機能を省略し又は実行しなくてもよい。更に、ここに提示又は説明した相互接続、直接接続又は通信接続は、インタフェース、ユニット又はモジュールを介した間接接続又は通信接続であってもよく、あるいは電気的接続又は他の形態の接続であってもよい。
個別の構成要素として上述したユニットは、物理的に分離されていても、分離されていなくてもよい。ユニットとして示される構成要素は、物理的なユニットであっても、物理的なユニットでなくてもよく、すなわち、1つの場所に配置してもよく、複数のネットワークユニットに分散されていてもよい。これらのユニットの一部又は全部は、本開示の実施形態における解決策の目的を達成するための実際の要件に従って選択できる。
更に、各実施形態における複数の機能ユニットは、1つの処理ユニットに統合されてもよく、各ユニットが物理的に存在してもよく、2つ以上のユニットが1つのユニットに統合されてもよい。統合ユニットは、ハードウェア又はソフトウェア機能ユニットによって実施できる。
統合ユニットは、ソフトウェア機能ユニットの形態で実施され、独立した製品として販売又は使用される場合、コンピュータ可読記憶媒体に格納されてもよい。本開示が提供する内容は、実質的に、又は既存技術に寄与する部分、又は技術的解決策の全部又は一部を、ソフトウェア製品の形態で具現化できる。ソフトウェア製品は、記憶媒体に記憶され、コンピュータデバイス(これは、パーソナルコンピュータ、サーバ、ネットワークデバイス等であってもよい)が上述の実施形態による方法におけるステップの全部又は一部を実行することを可能にするための幾つかの命令を含む。この記憶媒体は、Uディスク、読出専用メモリ(read-only memory:ROM)、ランダムアクセスメモリ(random access memory:RAM)、モバイルハードディスク、磁気ディスク、光ディスク、又はその他のプログラムコードを記憶できる媒体を含む。