JP7495933B2 - ソート方法、装置、電子デバイス及びコンピュータプログラム - Google Patents
ソート方法、装置、電子デバイス及びコンピュータプログラム Download PDFInfo
- Publication number
- JP7495933B2 JP7495933B2 JP2021531976A JP2021531976A JP7495933B2 JP 7495933 B2 JP7495933 B2 JP 7495933B2 JP 2021531976 A JP2021531976 A JP 2021531976A JP 2021531976 A JP2021531976 A JP 2021531976A JP 7495933 B2 JP7495933 B2 JP 7495933B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- extracted
- data obtained
- pieces
- bit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 109
- 238000004590 computer program Methods 0.000 title claims description 9
- 238000000605 extraction Methods 0.000 claims description 36
- 230000015654 memory Effects 0.000 claims description 35
- 238000012217 deletion Methods 0.000 claims description 23
- 230000037430 deletion Effects 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 13
- 238000013075 data extraction Methods 0.000 claims description 9
- 230000000295 complement effect Effects 0.000 claims description 6
- 239000000284 extract Substances 0.000 claims description 6
- 230000000153 supplemental effect Effects 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 7
- 241000169170 Boreogadus saida Species 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 101150044251 OGT gene Proteins 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000013138 pruning Methods 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 230000009469 supplementation Effects 0.000 description 2
- DEXFNLNNUZKHNO-UHFFFAOYSA-N 6-[3-[4-[2-(2,3-dihydro-1H-inden-2-ylamino)pyrimidin-5-yl]piperidin-1-yl]-3-oxopropyl]-3H-1,3-benzoxazol-2-one Chemical compound C1C(CC2=CC=CC=C12)NC1=NC=C(C=N1)C1CCN(CC1)C(CCC1=CC2=C(NC(O2)=O)C=C1)=O DEXFNLNNUZKHNO-UHFFFAOYSA-N 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
Images
Description
(関連出願への相互参照)
本出願は、2018年12月5日に中国特許庁に提出された、出願番号が201811483150.7である中国特許出願に対する優先権を主張し、そのすべての内容が参照により本出願に組み込まれる。
本出願は、2018年12月5日に中国特許庁に提出された、出願番号が201811483150.7である中国特許出願に対する優先権を主張し、そのすべての内容が参照により本出願に組み込まれる。
本開示は、通信分野に関し、例えばソート方法、装置、電子デバイス及びコンピュータプログラムに関する。
ポーラーコード(polar code)を復号する場合、通常、シリアルキャンユニットリスト(SCL:Successive Cancellation List)アルゴリズムが使用され、当該アルゴリズムは、復号するときに最大L個のパスを同時にメンテナンスし、各パスを測定して、復号性能を向上させる。ここで、サバイバーパスの数Lが2の整数乗でなければならず、かつLを大きくするとデコーダーの性能を向上させることができ、これと同時に、復号の複雑さが増すことも意味している。
ポーラーコードを復号する前に、まず、デコードツリーに従って復号順序を決定する必要がある。復号プロセスにおいて、デコーダーは、デコードツリー内の現在のノードの位置に応じて対数尤度比(LLR:Likelihood Rate)とパスメトリック値(PM:Path Merit)を対応して更新し、情報ビットの場合、現在の情報ビットに対応する復号パスを2つのパスに分割し、現在の拡張されているパスの総数がLよりも大きい場合、ソートアルゴリズムを起動し、PM値の最も小さいL個のパスを選択する。
ルートノード以外の2N0-2(N0はマザーコード長)個のノードが反復を完了した後、復号プロセスを終了し、一定のルールに従って復号結果を出力する。
各復号プロセスでは、拡張されたパスの数がサバイバーパスの数Lよりも大きい場合、ソートによってPM値の最も小さいL個のサバイバーパスを選択する必要がある。ソート性能は、復号性能に直接影響する。現在のSCLデコーダー内のソート演算遅延が長く、ハードウェアリソースが大きく占有されているため、ソート性能が低く、消費電力が大きく、柔軟性が悪い。
本発明の実施例は、関連技術におけるポーラーコード復号プロセスに存在する復号遅延が長く、ハードウェアリソース消費が大きく、柔軟性が悪いという問題を克服することができるソート方法及び装置、電子デバイス及び媒体を提供する。
本発明の実施例は、
サバイバーパスの数L、マザーコード長N0、少なくとも1つのパス削減指示及び切り捨てビット幅Wを含む構成情報を取得するステップと、
前記切り捨てビット幅Wに基づき、入力された複数のデータのそれぞれに対して切り捨て処理を行い、切り捨て処理が行われた各データの切り捨てられた下位情報をメモリに記憶するステップと、
前記少なくとも1つのパス削除指示に従って、下位情報が切り捨てられた後の複数のデータに対してデータ抽出を行い、抽出されたデータのビット順序を記録するステップと、
前記抽出されたデータに対して緊密な配列処理を行い、緊密な配列処理によって得られたデータの数を決定するステップと、
前記サバイバーパスの数L、前記マザーコード長N0、前記抽出されたデータ、前記抽出されたデータのビット順序及び前記緊密な配列処理によって得られたデータの数に基づき、L個の出力対象のデータを決定するステップと、を含む、ソート方法を提供する。
サバイバーパスの数L、マザーコード長N0、少なくとも1つのパス削減指示及び切り捨てビット幅Wを含む構成情報を取得するステップと、
前記切り捨てビット幅Wに基づき、入力された複数のデータのそれぞれに対して切り捨て処理を行い、切り捨て処理が行われた各データの切り捨てられた下位情報をメモリに記憶するステップと、
前記少なくとも1つのパス削除指示に従って、下位情報が切り捨てられた後の複数のデータに対してデータ抽出を行い、抽出されたデータのビット順序を記録するステップと、
前記抽出されたデータに対して緊密な配列処理を行い、緊密な配列処理によって得られたデータの数を決定するステップと、
前記サバイバーパスの数L、前記マザーコード長N0、前記抽出されたデータ、前記抽出されたデータのビット順序及び前記緊密な配列処理によって得られたデータの数に基づき、L個の出力対象のデータを決定するステップと、を含む、ソート方法を提供する。
本発明の実施例は、
サバイバーパスの数L、マザーコード長N0、少なくとも1つのパス削減指示及び切り捨てビット幅Wを含む構成情報を取得するように設けられる取得モジュールと、
前記切り捨てビット幅Wに基づき、入力された複数のデータのそれぞれに対して切り捨て処理を行い、切り捨て処理が行われた各データの切り捨てられた下位情報をメモリに記憶するように設けられる切り捨てモジュールと、
前記少なくとも1つのパス削除指示に従って、下位情報が切り捨てられた後の複数のデータに対してデータ抽出を行い、抽出されたデータのビット順序を記録し、前記抽出されたデータに対して緊密な配列処理を行い、緊密な配列処理によって得られたデータの数を決定するように設けられる抽出モジュールと、
前記サバイバーパスの数L、前記マザーコード長N0、前記抽出されたデータ、前記抽出されたデータのビット順序及び前記緊密な配列処理によって得られたデータの数に基づき、L個の出力対象のデータを決定するように設けられる出力制御モジュールと、を備える、ソート装置を提供する。
サバイバーパスの数L、マザーコード長N0、少なくとも1つのパス削減指示及び切り捨てビット幅Wを含む構成情報を取得するように設けられる取得モジュールと、
前記切り捨てビット幅Wに基づき、入力された複数のデータのそれぞれに対して切り捨て処理を行い、切り捨て処理が行われた各データの切り捨てられた下位情報をメモリに記憶するように設けられる切り捨てモジュールと、
前記少なくとも1つのパス削除指示に従って、下位情報が切り捨てられた後の複数のデータに対してデータ抽出を行い、抽出されたデータのビット順序を記録し、前記抽出されたデータに対して緊密な配列処理を行い、緊密な配列処理によって得られたデータの数を決定するように設けられる抽出モジュールと、
前記サバイバーパスの数L、前記マザーコード長N0、前記抽出されたデータ、前記抽出されたデータのビット順序及び前記緊密な配列処理によって得られたデータの数に基づき、L個の出力対象のデータを決定するように設けられる出力制御モジュールと、を備える、ソート装置を提供する。
本発明の実施例は、少なくとも1つのプロセッサと、少なくとも1のコンピュータプログラムを記憶するように設けられ、前記少なくとも1つのコンピュータプログラムが前記少なくとも1つのプロセッサに実行されると、前記少なくとも1つのプロセッサが本発明の実施例で記載されるソート方法を実現するメモリと、を備える、電子デバイスをさらに提供する。
本発明の実施例は、本発明の実施例で記載されるソート方法を実行するためのコンピュータ実行可能命令を記憶する、コンピュータ可読記憶媒体をさらに提供する。
本発明の実施例によって提供される技術的解決策により、関連技術におけるポーラーコード復号プロセスに存在する復号遅延が長く、ハードウェアリソース消費が大きく、柔軟性が悪いなどの問題を克服することができる。
本発明の実施例の特徴と技術的内容をより詳しく理解することができるために、以下に図面と組み合わせて本発明の実施例の実現を詳しく説明し、添付の図面は、例示のみを目的としており、本発明の実施例を限定するために使用されない。
実施例1
実施例1
図1は本発明の実施例に係るポーラーコード復号プロセスに応用されるソート方法のフローチャートである。図1に示すように、前記方法は以下のステップを含む:
ステップ101において、サバイバーパスの数L、マザーコード長N0、少なくとも1つのパス削除指示及び切り捨てビット幅Wを含む構成情報を取得する。
本実施例では、前記構成情報は、ポーラーコードの復号ニーズに応じて予め設定されてもよい。
ステップ102において、前記切り捨てビット幅Wに基づき、入力された複数のデータのそれぞれに対して切り捨て処理を行い、切り捨て処理が行われた各データの切り捨てられた下位情報をメモリに記憶する。
つまり、入力されたデータごとに、構成情報の切り捨てビット幅Wに基づいて当該データの下位ビット(下位情報)を切り捨て、下位ビットデータをメモリに記憶する。
ここで、切り捨てビット幅Wに基づき、入力されたデータに対して切り捨て処理を行い、その切り捨て方式は、
入力されたデータがa[N:0]であると仮定すると、切り捨てから出力されたデータがa[N:W]であり、切り捨てられたデータa[W-1:0]をメモリに記憶することである。
入力されたデータがa[N:0]であると仮定すると、切り捨てから出力されたデータがa[N:W]であり、切り捨てられたデータa[W-1:0]をメモリに記憶することである。
このようにして、切り捨て処理により得られた上位情報はステップ103の入力データとして使用される。
ステップ103において、前記少なくとも1つのパス削除指示に従って、下位情報が切り捨てられた後の複数のデータに対してデータ抽出を行い、抽出されたデータのビット順序を記録する。
いくつかの実施形態では、前記少なくとも1つのパス削除指示に従って、下位情報が切り捨てられた後の複数のデータに対してデータ抽出を行う前記ステップは、
抽出ルールと各前記サバイバーパスのパス削除指示に従って、下位情報が切り捨てられた前記複数のデータにおけるデータを対応して抽出するステップを含むことができ、前記抽出ルールとはすべての情報ビットに対応するデータを保持することである。
抽出ルールと各前記サバイバーパスのパス削除指示に従って、下位情報が切り捨てられた前記複数のデータにおけるデータを対応して抽出するステップを含むことができ、前記抽出ルールとはすべての情報ビットに対応するデータを保持することである。
例えば、現在、2つのサバイバーパスがあると、抽出ルールは、すべての情報ビットに対応するデータを保持することである。1番目の第1のサバイバーパスから抽出される前のデータのフォーマットは、{info0、null、info1、null、info2、null、info3、null}であり、ここでのパス削除指示は、info0~info3が情報ビットに対応するデータであり、nullが非情報ビットに対応するデータであり、抽出後のデータが{info0、info1、info2、info3}に配列されることを示している。
2番目のサバイバーパスから抽出される前のデータのフォーマットは、{info6、null、info7、null、info8、null、info9、null}であり、抽出後のデータは、{info6、info7、info8、info9}に配列されるである。そこで、2つのサバイバーパスから抽出されたデータに対して緊密な配列処理をすると、{info0、info1、info2、info3、info6、info7、info8、info9}が得られる。
一実施形態では、まず、ステップ103で受信されたすべての入力データに番号を昇順で付け、前記番号が各データのビット順序を記録するために使用される。構成情報におけるパス削除指示に従ってデータを抽出し、抽出されたデータのビット順序を記録し、バイトニックソートbmNアレイ又は出力制御モジュールなどの後続の処理モジュールに送信する。4b-SCLを例とすると、各サバイバーパスは、一度に4ビットで復号し、最大16つのパスが拡張され、これらの4ビットのどのビットを拡張する必要があるかを示す必要がある。
パス削除指示のフォーマットは、{info_flg0、info_flg1、info_flg2、info_flg3}であり、info_flg0とinfo_flg2が1であると仮定すると、これらの2ビットに対応するパスを拡張する必要があることを示し、即ちこれらの2ビットは、値0及び1を取ることができ、info_flg1とinfo_flg2が0であると、これらの2つのビットに対応するパスが拡張されていないことを示し、即ちこれらの2つのビットは値0のみを取ることができ、保持されているデータパスの番号は4’b0000、4’b0010、4’b1000、4’b1010であり、即ち0番目、2番目、8番目、10番目のパスに対応するデータを抽出する。
ステップ104において、前記抽出されたデータに対して緊密な配列処理を行い、緊密な配列処理によって得られたデータの数を決定する。
このようにして、これは、L個の出力対象のデータを決定するための方式を、緊密な配列処理によって得られたデータの数によって選択するというステップ105に便利である。
なお、抽出中に各データのビット順序を同時に記録する。例えば、{info0、null、info1、null、info2、null、info3、null}の場合、info0に対応するビット順序が0で、1番目のnullに対応するビット順序が1で、info1に対応するビット順序が2で、2番目のnullに対応するビット順序が3で、info2に対応するビット順序が4で、3番目のnullに対応するビット順序が5で、info3に対応するビット順序が6であり、4番目のnullに対応するビット順序が7である。抽出後のデータは、「info0、info1、info2、info3}に配列され、それらに対応するビット順序は{0、2、4、6}に記録される。
ステップ105において、前記サバイバーパスの数L、前記マザーコード長N0、前記抽出されたデータ、前記抽出されたデータのビット順序及び緊密な配列処理によって得られたデータの数に基づき、L個の出力対象のデータを決定する。
いくつかの実施形態では、前記サバイバーパスの数L、前記マザーコード長N0、前記抽出されたデータ、前記抽出されたデータのビット順序及び緊密な配列処理によって得られたデータの数に基づき、L個の出力対象のデータを決定する前記ステップは、
緊密な配列処理によって得られたデータの数がLよりも大きい場合、予め設定されたアレイを使用し、緊密な配列処理によって得られたデータに対してバイトニックソートし、L個のデータを抽出するステップと、
緊密な配列処理によって得られたデータの数がL以下である場合、緊密な配列処理によって得られたデータをL個のデータに補完するステップと、を含むことができる。
緊密な配列処理によって得られたデータの数がLよりも大きい場合、予め設定されたアレイを使用し、緊密な配列処理によって得られたデータに対してバイトニックソートし、L個のデータを抽出するステップと、
緊密な配列処理によって得られたデータの数がL以下である場合、緊密な配列処理によって得られたデータをL個のデータに補完するステップと、を含むことができる。
ここで、前記予め設定されたアレイは、bmNアレイ(ソートの基本ユニット)である。
一実施形態では、L個のデータを抽出する前記ステップは、
緊密な配列処理によって得られたデータから最小のL個のデータを選択し、前記L個のデータのそれぞれに対応するビット順序を決定するステップを含む。
緊密な配列処理によって得られたデータから最小のL個のデータを選択し、前記L個のデータのそれぞれに対応するビット順序を決定するステップを含む。
ここで、前記ビット順序は、ステップ103でデータを抽出するプロセスに番号を付けるときに示されるビット順序と一致する。
本実施例では、任意のN0についてLを選択することをサポートし、N0の値は、32、64、128、256、512を含むがこれらに限定されない。Lの値は、8、16、32を含むがこれらに限定されない。
このようにして、サバイバーパスの数L、マザーコード長N0及び有効データの数に基づいてbmNアレイからL個のデータを抽出する。ここで、有効データの数は、緊密な配列処理によって得られたデータの数として理解されてもよい。
図2は従来のバイトニックソートの基本原理を示す図である。bmNは、N個のデータを入力し、これらのN個のデータをソートして出力する順序付きシーケンスである。例えば、bm4は、4つのデータを入力してこれらの4つのデータをソートして出力する順序付きシーケンスである。
本発明の実施例ではbm4は改善され、最適化されている。図2に示すように、bm16には、左から右に4つのレベルの比較がある。先頭の2つのレベルの比較は1つのレベルのbm4_bに組み合わせられてもよいが、ここでデータを、間隔をあけて抽出する必要があり、図2の黒い点で示されている位置のデータは、1つのbm4_bに送信された4つのデータであり、このように間隔をあけて抽出された4つのデータだけが1つのbm_bに組み合わせられてもよい。
後の2つのレベルの比較は、1つの従来のbm4で実現されてもよく、bm4_aと記され、2対2で比較しながら判決する方式で完全なソートを完了する。上記の最適化により、元のbm16の4つのレベルのbm2の比較ロジックは、2レベルのbm4の比較ロジックに減らされてもよい。
図2の黒い点で示されている4つのデータは規則的であり、それの前のレベルの入力がバイトーンシーケンスであるため、元のbm4_aの6つのコンパレータを4つのコンパレータに減らすことができるように、dat1>=dat0&dat2>=dat3が必要であり、また、bm4_bは、最大値がda1又はdat2だけであり、最小値がdat0又はdat3だけであり、次の最小値又は次の最大値がdat0又はdat3だけであり、このルールに従って、bm4_bは非常に少ないロジックだけで4つのデータの完全なソートを実現することができる。
上記の原理に基づき、図3には最適化されたソート基本ユニットbmNが示される。
bm4がbm4_aで構成され、
bm8がbm4_bとbm2でカスケードされて構成され、
bm16がbm4_bとbm4_aでカスケードされて構成され、
bm32がbm4_b、bm2とbm4_aでカスケードされて構成され、
bm64がbm4_b、bm4_aとbm4_aでカスケードされて構成される。
bm4がbm4_aで構成され、
bm8がbm4_bとbm2でカスケードされて構成され、
bm16がbm4_bとbm4_aでカスケードされて構成され、
bm32がbm4_b、bm2とbm4_aでカスケードされて構成され、
bm64がbm4_b、bm4_aとbm4_aでカスケードされて構成される。
図4には64つのデータの完全なソートに必要なソートアレイが示されている。N0=32、L=8又は16の場合、bm32ユニットのレベル1のbm4_bアレイの出力データから最小の8つ又は16つのデータを抽出すると、ポーラーコード復号ニーズを満たすことができる。N0=64、L=16又は32の場合、bm64ユニットのレベル1のbm4_bアレイの出力データから最小の16つ又は32つのデータを抽出すると、ポーラーコード復号ニーズを満たすことができる。同じ原理に従って、bm64が2つのレベルのbm64、1つのレベルのbm2及び1つのレベルのbm4とカスケードされた後、N0=32、64、128、256、512についてLを選択するソート操作を1つのアレイで実現することができる。
一実施形態では、緊密な配列処理によって得られたデータをL個のデータに補完する前記ステップは、
補充データの数及び値を決定するステップであって、各補充データの値が、現在のデータビット幅が表せる最大値である、ステップを含む。
補充データの数及び値を決定するステップであって、各補充データの値が、現在のデータビット幅が表せる最大値である、ステップを含む。
例えば、補充データの数がXであると決定された場合、このX個の補充データの値は一致している。
このようにして、緊密な配列処理によって得られたデータの数がL-Xであると仮定すると、まず、緊密な配列処理によって得られたデータを補完させ、次にX個の補充データ及びこれらのX個の補充データの値を決定する。
本発明の実施例では、L個の出力対象のデータを決定する前記ステップの後、
前記緊密な配列処理によって得られたデータの数がLよりも大きい場合、抽出されたL個のデータのビット順序情報に基づき、メモリから対応する切り捨てられた下位情報を取り出し、前記抽出されたL個のデータと取り出された下位情報を元のデータにスプライスするステップと、
前記緊密な配列処理によって得られたデータの数がL以下である場合、前記緊密な配列処理によって得られたデータに対応するビット順序情報に基づき、前記メモリから対応する切り捨てられた下位情報を抽出し、前記緊密な配列処理によって得られたデータと抽出された下位情報を元のデータにスプライスするステップとをさらに含むことができる。
前記緊密な配列処理によって得られたデータの数がLよりも大きい場合、抽出されたL個のデータのビット順序情報に基づき、メモリから対応する切り捨てられた下位情報を取り出し、前記抽出されたL個のデータと取り出された下位情報を元のデータにスプライスするステップと、
前記緊密な配列処理によって得られたデータの数がL以下である場合、前記緊密な配列処理によって得られたデータに対応するビット順序情報に基づき、前記メモリから対応する切り捨てられた下位情報を抽出し、前記緊密な配列処理によって得られたデータと抽出された下位情報を元のデータにスプライスするステップとをさらに含むことができる。
このようにして、まずbmNアレイからL個のデータを抽出し、次に前記L個のデータを補完させることができる。
例えば、データに対して緊密に配列及びソートするプロセスで記録されたビット順序情報を使用し、切り捨てられた下位情報をステップ102のメモリから抽出し、元のデータにスプライスして出力し、スプライス方式は、{a[N:W]、a[W-1:0]}であり、即ち出力データはa[N:0]である。
本発明の実施例によって提供される技術的解決策は、関連技術と比較して、より少ないハードウェアリソースを使用してポーラーコード復号に必要なソート機能を完了することができ、かつ高速回路の設計を容易にする。マルチタップbmNアレイにより、様々なコード長のポーラーコードの復号及びソートニーズを1つの回路セットでサポートすることができる。
実施例2
図5は本発明の実施例に係るソート装置の構成構造図である。図5に示すように、前記ソート装置は、取得モジュール10、切り捨てモジュール20、抽出モジュール30、出力制御モジュール40を備え、ここで、
前記取得モジュール10は、サバイバーパスの数L、マザーコード長N0、少なくとも1つのパス削除指示及び切り捨てビット幅Wを含む構成情報を取得するように設けられ、
前記切り捨てモジュール20は、前記切り捨てビット幅Wに基づき、入力された複数のデータのそれぞれに対して切り捨て処理を行い、切り捨て処理が行われた各データの切り捨てられた下位情報をメモリに記憶するように設けられ、
前記抽出モジュール30は、前記少なくとも1つのパス削除指示に従って、下位情報が切り捨てられた後の複数のデータに対してデータ抽出を行い、抽出されたデータのビット順序を記録し、前記抽出されたデータに対して緊密な配列処理を行い、緊密な配列処理によって得られたデータの数を決定するように設けられ、
前記出力制御モジュール40は、サバイバーパスの数L、前記マザーコード長N0、前記抽出されたデータ、前記抽出されたデータのビット順序及び前記緊密な配列処理によって得られたデータの数に基づき、L個の出力対象のデータを決定するように設けられる。
図5は本発明の実施例に係るソート装置の構成構造図である。図5に示すように、前記ソート装置は、取得モジュール10、切り捨てモジュール20、抽出モジュール30、出力制御モジュール40を備え、ここで、
前記取得モジュール10は、サバイバーパスの数L、マザーコード長N0、少なくとも1つのパス削除指示及び切り捨てビット幅Wを含む構成情報を取得するように設けられ、
前記切り捨てモジュール20は、前記切り捨てビット幅Wに基づき、入力された複数のデータのそれぞれに対して切り捨て処理を行い、切り捨て処理が行われた各データの切り捨てられた下位情報をメモリに記憶するように設けられ、
前記抽出モジュール30は、前記少なくとも1つのパス削除指示に従って、下位情報が切り捨てられた後の複数のデータに対してデータ抽出を行い、抽出されたデータのビット順序を記録し、前記抽出されたデータに対して緊密な配列処理を行い、緊密な配列処理によって得られたデータの数を決定するように設けられ、
前記出力制御モジュール40は、サバイバーパスの数L、前記マザーコード長N0、前記抽出されたデータ、前記抽出されたデータのビット順序及び前記緊密な配列処理によって得られたデータの数に基づき、L個の出力対象のデータを決定するように設けられる。
1つの実施形態として、前記出力制御モジュール40は、
前記緊密な配列処理によって得られたデータの数がLよりも大きい場合、予め設定されたアレイを使用し、前記抽出モジュール30が緊密な配列処理によって得られたデータに対して、予め設定されたアレイによってバイトニックソートし、L個のデータを抽出するように設けられるソートモジュール50と、
前記抽出モジュール30が緊密な配列処理によって得られたデータの数がL以下である場合、緊密な配列処理によって得られたデータをL個のデータに補完するように設けられる補完モジュール60と、を含むことができる。
前記緊密な配列処理によって得られたデータの数がLよりも大きい場合、予め設定されたアレイを使用し、前記抽出モジュール30が緊密な配列処理によって得られたデータに対して、予め設定されたアレイによってバイトニックソートし、L個のデータを抽出するように設けられるソートモジュール50と、
前記抽出モジュール30が緊密な配列処理によって得られたデータの数がL以下である場合、緊密な配列処理によって得られたデータをL個のデータに補完するように設けられる補完モジュール60と、を含むことができる。
いくつかの実施形態では、前記ソートモジュール50は、
前記緊密な配列処理によって得られたデータから最小のL個のデータを選択し、前記L個のデータのそれぞれに対応するビット順序を決定するように設けられる。
前記緊密な配列処理によって得られたデータから最小のL個のデータを選択し、前記L個のデータのそれぞれに対応するビット順序を決定するように設けられる。
いくつかの実施形態では、前記補完モジュール60は、
補充データの数及び値を決定するように設けられ、各補充データの値は、現在のデータビット幅が表せる最大値である。
補充データの数及び値を決定するように設けられ、各補充データの値は、現在のデータビット幅が表せる最大値である。
いくつかの実施形態では、前記装置は、ビット補充モジュール70をさらに含み、前記ビット補充モジュール70は、
緊密な配列処理によって得られたデータの数がLよりも大きい場合、抽出されたL個のデータのビット順序情報に基づき、メモリから対応する切り捨てられた下位情報を取り出し、前記抽出されたL個のデータと取り出された下位情報を元のデータにスプライスし、
前記緊密な配列処理によって得られたデータの数がL以下である場合、前記緊密な配列処理によって得られたデータに対応するビット順序情報に基づき、前記メモリから対応する切り捨てられた下位情報を抽出し、前記緊密な配列処理によって得られたデータと抽出された下位情報を元のデータにスプライスするように設けられる。
緊密な配列処理によって得られたデータの数がLよりも大きい場合、抽出されたL個のデータのビット順序情報に基づき、メモリから対応する切り捨てられた下位情報を取り出し、前記抽出されたL個のデータと取り出された下位情報を元のデータにスプライスし、
前記緊密な配列処理によって得られたデータの数がL以下である場合、前記緊密な配列処理によって得られたデータに対応するビット順序情報に基づき、前記メモリから対応する切り捨てられた下位情報を抽出し、前記緊密な配列処理によって得られたデータと抽出された下位情報を元のデータにスプライスするように設けられる。
いくつかの実施形態では、前記抽出モジュール30は、
抽出ルールと各サバイバーパスのパス削除指示に従って、下位情報が切り捨てられた前記複数のデータにおけるデータを対応して抽出するように設けられ、ここで、抽出ルールとはすべての情報ビットに対応するデータを保持するように設けられる。
抽出ルールと各サバイバーパスのパス削除指示に従って、下位情報が切り捨てられた前記複数のデータにおけるデータを対応して抽出するように設けられ、ここで、抽出ルールとはすべての情報ビットに対応するデータを保持するように設けられる。
実際の応用において、前記取得モジュール10、切り捨てモジュール20、抽出モジュール30、出力制御モジュール40、ソートモジュール50、補完モジュール60とビット補充モジュール70は、いずれも前記ソート装置での中央処理ユニット(CPU:Central Processing Unit)、マイクロプロセッサ(MPU:Microprocessor Unit)、デジタル信号プロセッサ(DSP:Digital Signal Processor)又はフィールドプログラマブルゲートアレイ(FPGA:Field -Programmable Gate Array)で実現されてもよい。
本実施で記載されるソート装置は、より少ないハードウェアリソースを使用してポーラーコード復号に必要なソート機能を完了することができ、かつ高速回路の設計を容易にする。マルチタップbmNアレイにより、様々な各コード長のポーラーコードの復号及びソートニーズを1つの回路セットでサポートすることができる。
実施例3
図6はソートシステムのシステムアーキテクチャ概略図である。図6に示すように、当該アーキテクチャは、主に切り捨て、抽出、バイトニックソートbmNアレイ、出力制御及びビット補充などのいくつかの部分を含み、ここで、
図6はソートシステムのシステムアーキテクチャ概略図である。図6に示すように、当該アーキテクチャは、主に切り捨て、抽出、バイトニックソートbmNアレイ、出力制御及びビット補充などのいくつかの部分を含み、ここで、
(1)切り捨て:
構成情報に基づき、入力されたデータの下位ビットを切り捨て、下位ビットデータをメモリに記憶し、切り捨てられたデータを抽出モジュールに出力する。例えば、入力されたデータがa[N:0]とすると仮定すると、切り捨てた後に出力されたデータがa[N:W]であり、切り捨てた後のデータa[W-1:0]をメモリに記憶する。
構成情報に基づき、入力されたデータの下位ビットを切り捨て、下位ビットデータをメモリに記憶し、切り捨てられたデータを抽出モジュールに出力する。例えば、入力されたデータがa[N:0]とすると仮定すると、切り捨てた後に出力されたデータがa[N:W]であり、切り捨てた後のデータa[W-1:0]をメモリに記憶する。
上記切り捨て処理は、切り捨てモジュールによって実現されてもよい。
(2)抽出:
まず、すべての入力されたデータに番号を昇順で付け、前記番号で各データのビット順序を記録し、次に、構成情報におけるパス削除指示に従ってデータを抽出し、抽出されたデータのビット順序を記録し、後のバイトニックソートbmNアレイ又は出力制御モジュールに送信する。4b-SCLを例とすると、各サバイバーパスは、一度に4ビットで復号し、最大16つのパスが拡張され、これらの4ビットのどのビットを拡張する必要があるかを示す必要がある。
まず、すべての入力されたデータに番号を昇順で付け、前記番号で各データのビット順序を記録し、次に、構成情報におけるパス削除指示に従ってデータを抽出し、抽出されたデータのビット順序を記録し、後のバイトニックソートbmNアレイ又は出力制御モジュールに送信する。4b-SCLを例とすると、各サバイバーパスは、一度に4ビットで復号し、最大16つのパスが拡張され、これらの4ビットのどのビットを拡張する必要があるかを示す必要がある。
パス削除指示で示されるフォーマットは、{info_flg0、info_flg1、info_flg2、info_flg3}であり、info_flg0とinfo_flg2が1であると仮定すると、これらの2ビットに対応するパスを拡張する必要があることを示し、即ちこれらの2ビットは値0及び1を取ることができ、info_flg1とinfo_flg2が0であると、これらの2つのビットに対応するパスが拡張されていないことを示し、即ちこれらの2つのビットは値0のみを取ることができ、保持されているデータパスの番号が4’b0000、4’b0010、4’b1000、4’b1010であり、即ち0番目、2番目、8番目、10番目のパスに対応するデータを抽出する。
上記抽出処理は、抽出モジュールによって実現されてもよい。
(3)バイトニックソートbmNアレイ:
入力されたデータをソートし、最小のL個のデータ及び各データに対応するビット順序を選択する。任意のN0についてLを選択することをサポートし、N0の値は、32、64、128、256、512を含むがこれらに限定されない。Lの値は、8、16、32を含むがこれらに限定されない。
入力されたデータをソートし、最小のL個のデータ及び各データに対応するビット順序を選択する。任意のN0についてLを選択することをサポートし、N0の値は、32、64、128、256、512を含むがこれらに限定されない。Lの値は、8、16、32を含むがこれらに限定されない。
図2に示すように、従来のバイトニックソートの基本原理を示す図である。bmNは、N個のデータを入力し、これらのN個のデータをソートして出力する順序付きシーケンスである。例えば、bm4は、4つのデータを入力してこれらの4つのデータをソートして出力する順序付きシーケンスである。
本発明の実施例では、bm4は改善され、最適化されている。図2に示すように、bm16には、左から右に4つのレベルの比較がある。先頭の2つのレベルの比較は1つのレベルのbm4_bに組み合わせられてもよいが、ここでデータを、間隔をあけて抽出する必要があり、図2の黒い点で示されている位置のデータは、1つのbm4_bに送信された4つのデータであり、このように間隔をあけて抽出された4つのデータだけが1つのbm_bに組み合わせられてもよい。
後の2つのレベルの比較は、1つの従来のbm4で実現されてもよく、bm4_aと記され、2対2で比較しながら判決する方式で完全なソートを完了する。上記の最適化により、元のbm16の4つのレベルのbm2の比較ロジックは、2レベルのbm4の比較ロジックに減らされてもよい。
図2の黒い点で表されている4つのデータは規則的であり、それの前のレベルの入力がバイトーンシーケンスであるため、元のbm4_aの6つのコンパレータを4つのコンパレータに減らすことができるように、dat1>=dat0&dat2>=dat3が必要であり、また、bm4_bは、最大値がda1又はdat2であり、最小値がdat0又はdat3だけであり、次の最小値又は次の最大値がdat0又はdat3だけであり、このようなルールに従ってbm4_bは非常に少ないロジックだけで4つのデータの完全なソートを実現することができる。
上記の原理に基づき、図3に最適化されたソート基本ユニットbmNが示される。
bm4がbm4_aで構成され、
bm8がbm4_bとbm2でカスケードされて構成され、
bm16がbm4_bとbm4_aでカスケードされて構成され、
bm32がbm4_b、bm2とbm4_aでカスケードされて構成され、
bm64がbm4_b、bm4_aとbm4_aでカスケードされて構成される。
bm4がbm4_aで構成され、
bm8がbm4_bとbm2でカスケードされて構成され、
bm16がbm4_bとbm4_aでカスケードされて構成され、
bm32がbm4_b、bm2とbm4_aでカスケードされて構成され、
bm64がbm4_b、bm4_aとbm4_aでカスケードされて構成される。
図4には64つのデータの完全なソートに必要なソートアレイが示されている。N0=32、L=8又は16の場合、bm32ユニットのレベル1のbm4_bアレイの出力データから最小の8つ又は16つのデータを抽出すると、ポーラーコード復号ニーズを満たすことができる。N0=64、L=16又は32の場合、bm64ユニットのレベル1のbm4_bアレイの出力データから最小の16つ又は32つのデータを抽出すると、ポーラーコード復号ニーズを満たすことができる。同じ原理に従って、bm64が2つのレベルのbm64、1つのレベルのbm2及び1つのレベルのbm4とカスケードされた後、N0=32、64、128、256、512についてLを選択するソート操作を1つのアレイで実現することができる。
上記バイトーンソートbmNアレイの処理は、ソートモジュールによって実現されてもよい。
(4)出力制御:
構成情報のLとN0、及び抽出モジュールによって入力された制御情報に基づき、バイトーンソートbmNアレイによって出力されたデータ又は抽出モジュールによって出力されたデータからL個のデータを選択して出力する。
構成情報のLとN0、及び抽出モジュールによって入力された制御情報に基づき、バイトーンソートbmNアレイによって出力されたデータ又は抽出モジュールによって出力されたデータからL個のデータを選択して出力する。
抽出モジュールによって入力された制御情報は、抽出されたデータ及びこれらのデータに対応するビット順序、抽出モジュールが緊密な配列処理によって得られたデータの数を含む。
上記出力制御処理は、出力制御モジュールによって実現されてもよい。
(5)ビット補充:
選択されたL個のデータのビット順序情報を使用し、切り捨てられた下位情報を切り捨てモジュールのメモリから抽出し、データを補完させて出力する。
選択されたL個のデータのビット順序情報を使用し、切り捨てられた下位情報を切り捨てモジュールのメモリから抽出し、データを補完させて出力する。
上記ビット補充処理は、ビット補充モジュールによって実現されてもよい。
なお、上記のシステムアーキテクチャは、例示に過ぎず、本開示は、ソートシステムのアーキテクチャを制限するものではない。
実施例4
以下では、4b-SCL復号アルゴリズム、N0=512、L=32を例として詳細に説明する。
以下では、4b-SCL復号アルゴリズム、N0=512、L=32を例として詳細に説明する。
4b-SCL復号アルゴリズムは、反復ごとに4ビットデータを復号し、反復ごとに各サバイバーパスが最大16つのパスに拡張され、すべてのサバイバーパスが最大512つのパスに拡張される。
まず、サバイバーパスの数L、マザーコード長N0、少なくとも1つのパス削除指示、切り捨てビット幅Wを設定し、次にデータを入力してソート及び選択操作を行う。
切り捨てモジュールによって入力されたデータの数は、512つであり、ビット順序番号が0~511である。各データからW個の下位ビットを切り捨てた後に出力されたデータを抽出モジュールに送信するとともに、切り捨てた後のデータをメモリに記憶する。
抽出モジュールは、受信されたデータを16つのデータごとにグループ化して抽出する。
各グループの16つのデータは、独立したパス削除指示があり、そのフォーマットが{info_flg0、info_flg1、info_flg2、info_flg3}であり、info_fligNが1であると、情報ビットにはパス拡張が必要であることを示し、当該ビット(bit)位置の値が0/1であってよく、info_flgNが0の場合、パス拡張が不要であることを示し、当該ビット位置の値が0だけである。当該ルールに従って得られたデータの値は、当該グループに保持されるデータビット順序番号となるグループ番号がスプライスされる。
例えば、第1のグループ{0、0、1、0}は、10進数が2で、グループ番号が0で、ビット順序が2であるデータが保持されることを示す。第2のグループ{1、0、1、0}は、10進数が2で、グループ番号が1で、ビット順序が18であるデータが保持されることを示す。
すべてのグループのデータ抽出が完了された後、データは、A={グループ0の抽出データ、グループ1の抽出データ、…、グループ31の抽出データ}にスプライスされ、ビット順序は、B={グループ0のデータビット順序、グループ1のデータビット順序、…、グループ31のデータビット順序}にスプライスされる。グループAのデータの数が32以下である場合、AとBを出力制御モジュールに直接出力し、Aのデータの数が32よりも大きい場合、AとBをバイトーンソートbmNアレイモジュールに出力し、バイトーンソートを行う。
図7に示すように、N0=512、L=32をサポートするソートbmアレイであり、bm4アレイは128個のbm4ソートユニットで並列に構成され、ソートが完了された後、すべてのデータをbm8アレイに送信し、bm8アレイは64個のbm8ソートユニットで並列に構成され、ソートが完了された後、すべてのデータをbm16アレイに送信し、bm16アレイは32個のbm16ソートユニットで並列に構成され、ソートが完了された後、すべてのデータをbm32アレイに送信する。
bm32アレイは16個のbm32セットで並列に構成され、ソートが完了された後、すべてのデータをbm64_aアレイに送信し、bm64_aアレイは8個のbm64ソートユニットで並列に構成され、ソートが完了された後、各bm64出力結果の小さい方の32つのデータを選択し、合計256つのデータをbm64_bアレイに送信する。
bm64_bアレイは、4つのbm64ソートユニットで並列に構成され、ソートが完了された後、各bm64の出力結果の小さい方の32つのデータを選択し、合計128つのデータをbm64_cアレイに送信し、bm64_cアレイは、2つのbm64ソートユニットで並列に構成され、ソートが完了された後、各bm64の出力結果の小さい方の32つのデータを選択し、合計64つのデータをbm2アレイに送信し、bm2アレイは32個のbm2ソートユニットで構成され、入力された64つのデータから小さい方の32つのデータを選択して出力する。
ソート及び選択中に各データに対応するビット順序を同時に保持し、データと一緒に下位モジュールに送信する必要がある。
図7に示すように、当該ソートアレイは、512つのデータを入力し、小さい方の32つのデータを選択すること、即ちN0=512、L=32のポーラーコード復号ニーズをサポートする。異なるタップにより、N0=32、L=16/8のポーラーコード復号ニーズ、N0=64、L=32/16/8のポーラーコード復号ニーズ、N0=128、L=32/16/8のポーラーコード復号ニーズ、N0=256、L=32/16のポーラーコード復号ニーズをサポートすることもできる。このソートアレイの後に異なるbmNがカスケードされると、任意のN0/Lのポーラーコードニーズをサポートすることができる。
出力制御モジュールは、抽出モジュールによって送信されたAの有効データの数、N0及びL情報に基づき、対応するタップのデータを選択して出力する。本実施例では、Aの有効データの数が32より大きい場合、N0=512、L=32のタップのデータを選択して出力し、Aの有効データの数が32以下の場合、抽出モジュールによって送信されたデータをビット補充モジュールに直接出力する。
ビット補充モジュールは、受信された各データのビット順序情報に基づき、当該データの切り捨てられた下位ビット(bit)情報を切り捨てモジュールから取り出し、データを補完させてから出力する。
実施例5
図5のバイトーンソートbmNアレイモジュールを個別に抽出してソート及び選択操作のみを実行し、即ちM個のデータから最小又は最大のL個のデータを選択する。
図5のバイトーンソートbmNアレイモジュールを個別に抽出してソート及び選択操作のみを実行し、即ちM個のデータから最小又は最大のL個のデータを選択する。
ソートアレイ構造は図7に示される。ソート対象データの数Mが2の整数乗でない場合、ソート対象データの後にN0-M個の入力データビット幅で表せる最大値を補充する必要がある。例えば、入力データのビット幅がNである場合、補充される最大値は2N-1である。ここでN0の計算方法は以下のとおりである:
N0=2K>Mとし、Kはこの式を満たす最小の整数である。
N0=2K>Mとし、Kはこの式を満たす最小の整数である。
最小の32つのデータを500つのデータ(各データのビット幅Nが8である)から選択して出力し、N0=2K>500とし、Kがこの式を満たす最小の整数であると仮定すると、K=9、N0=5、500つのデータの後に12つのデータを補充し、これらの12つのデータの値は、いずれも現在のデータビット幅が表せる最大値255であり、512つのデータが得られる。図7で説明された回路の左側からこれらの512つのデータを入力すると、最も右側で最小の32つのデータを取得することができる。
上記の500つのデータから最大の32つのデータを選択する場合、まず500つのデータの後に12つのデータを補充する必要があり、これらの12つのデータの値は、いずれも現在のデータビット幅が表せる最小値0であり、512つのデータを補完した後、図7の前記回路の左側から入力し、bm4/bm8/bm16/bm32/bm64/bm2のソート回路構造は、最小値を選択する上記のソート回路構造と全く同じであるが、bm64と最後のレベルのbm2のソートが完了された後の出力結果の選択のみが異なる。各bm64のソートが完了された後、出力結果のうち、大きい方の32つのデータを選択し、最後のレベルのbm2アレイが入力された64つのデータから大きい方の32つのデータを選択して出力し、このようにして500つのデータから最大の32つのデータを選択することができる。
図8は本出願の実施例による電子デバイスのハードウェア構造図である。図8に示すように、当該電子デバイスは、1つ又は複数のプロセッサ810とメモリ820とを備える。図8では、1つのプロセッサ810が例として挙げられる。
前記電子デバイスは、入力装置830と出力装置840とをさらに備えることができる。
前記電子デバイスでのプロセッサ810、メモリ820、入力装置830と出力装置840は、バス又は他の方式で接続されてもよく、図7ではバスで接続されることが例として挙げられる。
メモリ820は、コンピュータ可読記憶媒体として、ソフトウェアプログラム、コンピュータ実行可能プログラム及びモジュールを記憶するように設けられる。プロセッサ810は、メモリ820に記憶されているソフトウェアプログラム、命令及びモジュールを実行することにより、様々な機能アプリケーション及びデータ処理を実行して、上記の実施例の任意の1つの方法を実現する。
メモリ820は、プログラム記憶領域とデータ記憶領域とを含むことができ、ここで、プログラム記憶領域にはオペレーティングシステム、少なくとも1つの機能に必要なアプリケーションプログラムが記憶されてもよく、データ記憶領域には電子デバイスの使用に応じて作成されたデータが記憶されてもよい。また、メモリは、ランダムアクセスメモリ(RAM:Random Access Memory)などの揮発性メモリを含むことができ、少なくとも1つの磁気ディスクメモリデバイス、フラッシュメモリデバイス又は他の非一時的なソリッドステートメモリデバイスなどの非揮発性メモリをさらに含むことができる。
メモリ820は、非一時的なコンピュータ記憶媒体又は一時的なコンピュータ記憶媒体であってもよい。当該非一時的なコンピュータ記憶媒体は、例えば、少なくとも1つの磁気ディスクメモリデバイス、フラッシュメモリデバイス又は他の非一時的なソリッドステートメモリデバイスである。いくつかの実施例では、メモリ820は、プロセッサ810に対して遠隔に設置されたメモリを選択可能に含むことができ、これらの遠隔メモリは、ネットワークを介してコンピュータ装置に接続されてもよい。上記ネットワークの実施例は、インターネット、イントラネット、ローカルエリアネットワーク、移動通信ネットワーク及びそれらの組み合わせを含むことができる。
入力装置830は、入力された数字又は文字情報を受信し、電子デバイスのユーザ設定及び機能制御に関するキー信号入力を生成するように設けられる。出力装置840は、表示画面などの表示デバイスを含むことができる。
本実施例は、コンピュータプログラムを記憶しており、前記コンピュータプログラムがプロセッサによって実行された後、上記の任意の1つ又は複数のソート方法を実現することができる、記憶媒体をさらに提供する。
前記コンピュータ記憶媒体は、様々なタイプの記憶媒体であってもよく、本実施例では、好ましくは、非一時的な記憶媒体であってもよい。
当業者は、本実施例の記憶媒体における各プログラムの機能について実施例で記載されるソート方法の関連説明を参照して理解することができる。
本発明の実施例で記載される方法を採用することにより、関連技術と比較して、少ないハードウェアリソースを使用してポーラーコード復号に必要なソート機能を完了することができ、かつ高速回路の設計を容易にする。マルチタップbmNアレイにより、様々なコード長のポーラーコードの復号及びソートニーズを1つの回路セットでサポートすることができる。
本発明の実施例で記載される技術的解決策は、衝突することなく任意に組み合わせられてもよい。
本開示で提供されるいくつかの実施例では、開示される方法及びスマートデバイスが他の方式により実現されてもよいことを理解すべきである。上述したデバイスの実施例は例示的なものだけであり、例えば、前記ユニットの区分は、論理機能的区分だけであり、実際に実施するときに他の区分方式もあり得て、例えば複数のユニット又は構成要素は組み合わせられてもよく又は別のシステムに統合されてもよく、又はいくつかの特徴は無視されてもよく、又は実行されなくてもよい。また、示されるか、又は議論される各コンポーネントの間の相互結合、又は直接結合、又は通信接続はいくつかのインターフェース、デバイス又はユニットを介する間接的結合又は通信接続であってもよいし、電気的、機械的又は他の形態であってもよい。
分離部材として説明された前記ユニットは、物理的に分離するものであってもよく又は物理的に分離するものでなくてもよく、ユニットとして表示された部材は物理的ユニットであってもよく又は物理的ユニットでなくてもよく、即ち1つの箇所に位置してもよいし、複数のネットワークユニットに分布してもよく、実際のニーズに応じてその中の一部又は全部のユニットを選択して本実施例の解決策の目的を達成することができる。
また、本発明の各実施例における各機能ユニットは、すべて1つの第2の処理ユニットに統合されてもよく、各ユニットは、それぞれ1つのユニットとして単独して使用されてもよく、2つ以上のユニットは、1つのユニットに統合されてもよく、上記の統合されたユニットは、ハードウェアの形で実現されてもよいし、ハードウェアとソフトウェア機能の組み合わせの形で実現されてもよい。
Claims (13)
- ソート方法であって、
サバイバーパスの数L、マザーコード長N0、少なくとも1つのパス削除指示及び切り捨てビット幅Wを含む構成情報を取得するステップと、
前記切り捨てビット幅Wに基づき、入力された複数のデータのそれぞれに対して切り捨て処理を行い、切り捨て処理が行われた後の各データの切り捨てられた下位情報をメモリに記憶するステップと、
前記少なくとも1つのパス削除指示に従って、下位情報が切り捨てられた後の複数のデータに対してデータ抽出を行い、抽出されたデータのビット順序を記録するステップと、
前記抽出されたデータに対して配列処理を行い、配列処理によって得られたデータの数を決定するステップと、
前記サバイバーパスの数L、前記マザーコード長N0、前記抽出されたデータ、前記抽出されたデータのビット順序及び前記配列処理によって得られたデータの数に基づき、L個の出力対象のデータを決定するステップと、を含み、
前記少なくとも1つのパス削除指示に従って、下位情報が切り捨てられた後の複数のデータに対してデータ抽出を行う前記ステップは、
抽出ルールと各前記サバイバーパスのパス削除指示に従って、下位情報が切り捨てられた後の前記複数のデータにおけるデータを対応して抽出するステップであって、前記抽出ルールとはすべての情報ビットに対応するデータを保持することである、ステップを含む、ソート方法。 - 前記サバイバーパスの数L、前記マザーコード長N0、前記抽出されたデータ、前記抽出されたデータのビット順序及び前記配列処理によって得られたデータの数に基づき、L個の出力対象のデータを決定する前記ステップは、
前記配列処理によって得られたデータの数がLよりも大きい場合、予め設定されたアレイを使用し、前記配列処理によって得られたデータに対してバイトニックソートし、L個のデータを抽出するステップと、
前記配列処理によって得られたデータの数がL以下である場合、前記配列処理によって得られたデータをL個のデータに補完するステップと、を含む、請求項1に記載の方法。 - L個のデータを抽出する前記ステップは、
前記配列処理によって得られたデータから最小のL個のデータを選択し、前記L個のデータのそれぞれに対応するビット順序を決定するステップを含む、請求項2に記載の方法。 - 前記配列処理によって得られたデータをL個のデータに補完する前記ステップは、
補充データの数及び値を決定するステップであって、各前記補充データの値が現在のデータビット幅が表せる最大値である、ステップを含む、請求項2に記載の方法。 - L個の出力対象のデータを決定する前記ステップの後、
前記配列処理によって得られたデータの数がLよりも大きい場合、抽出されたL個のデータのビット順序情報に基づき、前記メモリから対応する切り捨てられた下位情報を取り出し、前記抽出されたL個のデータと取り出された下位情報を元のデータにスプライスするステップと、
前記配列処理によって得られたデータの数がL以下である場合、前記配列処理によって得られたデータに対応するビット順序情報に基づき、前記メモリから対応する切り捨てられた下位情報を抽出し、前記配列処理によって得られたデータと抽出された下位情報を元のデータにスプライスするステップと、を含む、請求項2、3又は4に記載の方法。 - マザーコード長N0はN0=2K>Mによって計算され、ただし、Mはソート対象データの数であり、KはN0=2K>Mを満たす最小の整数である、請求項1に記載の方法。
- ソート装置であって、
サバイバーパスの数L、マザーコード長N0、少なくとも1つのパス削除指示及び切り捨てビット幅Wを含む構成情報を取得するように設けられる取得モジュールと、
前記切り捨てビット幅Wに基づき、入力された複数のデータのそれぞれに対して切り捨て処理を行い、切り捨て処理が行われた後の各データの切り捨てられた下位情報をメモリに記憶するように設けられる切り捨てモジュールと、
前記少なくとも1つのパス削除指示に従って、下位情報が切り捨てられた後の複数のデータに対してデータ抽出を行い、抽出されたデータのビット順序を記録し、前記抽出されたデータに対して配列処理を行い、配列処理によって得られたデータの数を決定するように設けられる抽出モジュールと、
前記サバイバーパスの数L、前記マザーコード長N0、前記抽出されたデータ、前記抽出されたデータのビット順序及び前記配列処理によって得られたデータの数に基づき、L個の出力対象のデータを決定するように設けられる出力制御モジュールと、を備え、
前記抽出モジュールは、
抽出ルールと各前記サバイバーパスのパス削除指示に従って、下位情報が切り捨てられた後の前記複数のデータにおけるデータを対応して抽出するように設けられ、前記抽出ルールとはすべての情報ビットに対応するデータを保持することである、ソート装置。 - 前記出力制御モジュールは、
前記配列処理によって得られたデータの数がLよりも大きい場合、予め設定されたアレイを使用し、前記抽出モジュールが配列処理によって得られたデータに対してバイトニックソートし、L個のデータを抽出するように設けられるソートモジュールと、
前記抽出モジュールが配列処理によって得られたデータの数がL以下である場合、前記配列処理によって得られたデータをL個のデータに補完するように設けられる補完モジュールと、を含む、請求項7に記載の装置。 - 前記ソートモジュールは、
前記配列処理によって得られたデータから最小のL個のデータを選択し、前記L個のデータのそれぞれに対応するビット順序を決定するように設けられる、請求項8に記載の装置。 - 前記補完モジュールは、
補充データの数及び値を決定するように設けられ、各前記補充データの値が現在のデータビット幅が表せる最大値である、請求項8に記載の装置。 - ビット補充モジュールをさらに備え、前記ビット補充モジュールは、
前記配列処理によって得られたデータの数がLよりも大きい場合、抽出されたL個のデータのビット順序情報に基づき、前記メモリから対応する切り捨てられた下位情報を取り出し、前記抽出されたL個のデータと取り出された下位情報を元のデータにスプライスし、
前記配列処理によって得られたデータの数がL以下である場合、前記配列処理によって得られたデータに対応するビット順序情報に基づき、前記メモリから対応する切り捨てられた下位情報を抽出し、前記配列処理によって得られたデータと抽出された下位情報を元のデータにスプライスするように設けられる、請求項8、9又は10に記載の装置。 - 電子デバイスであって、
少なくとも1つのプロセッサと、
少なくとも1つのコンピュータプログラムを記憶するように設けられるメモリと、を備え、
前記少なくとも1つのコンピュータプログラムが前記少なくとも1つのプロセッサに実行されると、前記少なくとも1つのプロセッサが請求項1~6のいずれか1項に記載のソート方法を実行させる、電子デバイス。 - コンピュータに請求項1~6のいずれか1項に記載のソート方法を実行させる、コンピュータプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811483150.7 | 2018-12-05 | ||
CN201811483150.7A CN111277276B (zh) | 2018-12-05 | 2018-12-05 | 一种排序方法及装置 |
PCT/CN2019/123423 WO2020114469A1 (zh) | 2018-12-05 | 2019-12-05 | 排序方法、装置、电子设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022510442A JP2022510442A (ja) | 2022-01-26 |
JP7495933B2 true JP7495933B2 (ja) | 2024-06-05 |
Family
ID=
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008199308A (ja) | 2007-02-13 | 2008-08-28 | Sony Corp | 復号装置および復号方法 |
WO2017178056A1 (en) | 2016-04-14 | 2017-10-19 | Huawei Technologies Co., Ltd. | A metric sorter, a successive list cancellation decoder and metric sorting method |
JP2018535608A (ja) | 2015-11-24 | 2018-11-29 | コーヒレント・ロジックス・インコーポレーテッド | ポーラ符号逐次除去リスト復号器でのメモリ管理およびパスソート技法 |
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008199308A (ja) | 2007-02-13 | 2008-08-28 | Sony Corp | 復号装置および復号方法 |
JP2018535608A (ja) | 2015-11-24 | 2018-11-29 | コーヒレント・ロジックス・インコーポレーテッド | ポーラ符号逐次除去リスト復号器でのメモリ管理およびパスソート技法 |
WO2017178056A1 (en) | 2016-04-14 | 2017-10-19 | Huawei Technologies Co., Ltd. | A metric sorter, a successive list cancellation decoder and metric sorting method |
Non-Patent Citations (2)
Title |
---|
Jun Lin and Zhiyuan Yan,An Efficient List Decoder Architecture for Polar Codes,IEEE Transactions on Very Large Scale Integration (VLSI) Systems,2015年,Vol. 23, No. 11,pp. 2508-2518 |
暮町 尚俊ほか,演算の対象となるデータに注目したアルゴリズム実行中の消費電力削減手法,FIT2002 情報科学技術フォーラム 一般講演論文集 第1分冊,2002年09月13日,pp.61~62 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yuan et al. | Low-latency successive-cancellation list decoders for polar codes with multibit decision | |
JP6106752B2 (ja) | 状態機械エンジンのための結果生成 | |
KR102168930B1 (ko) | 상태 머신 엔진에 의해 수신된 데이터를 제공하기 위한 방법 및 장치 | |
US8972450B2 (en) | Multi-stage parallel multi-character string matching device | |
WO2020114469A1 (zh) | 排序方法、装置、电子设备及介质 | |
US9584156B1 (en) | Creating a dynamic Huffman table | |
TW200401206A (en) | Enhanced multiway radix tree and related methods | |
Krainyk et al. | Hardware-oriented turbo-product codes decoder architecture | |
CN111384972B (zh) | 多进制ldpc解码算法的优化方法、装置及解码器 | |
EP2777155B1 (en) | Embedded memory and dedicated processor structure within an integrated circuit | |
JP7495933B2 (ja) | ソート方法、装置、電子デバイス及びコンピュータプログラム | |
Lee et al. | Small-area parallel syndrome calculation for strong BCH decoding | |
WO2024066561A1 (zh) | 查找空闲存储的装置、方法及芯片 | |
KR20160116980A (ko) | Ldpc 복호기의 vss 알고리즘을 위한 h 행렬의 스케줄링 장치 및 그 방법 | |
KR20190019798A (ko) | 채널 편파 코드의 연속 제거 리스트 디코딩을 위한 효율적인 생존 메모리 아키텍처 | |
KR20220054651A (ko) | 다중 심볼 디코더 | |
CN110022158B (zh) | 一种译码方法及装置 | |
US10009041B2 (en) | BCH decorder in which folded multiplier is equipped | |
Fan et al. | Two‐dimensional sorting algorithm for high‐throughput K‐best MIMO detection | |
CN111224674A (zh) | 多进制ldpc码的解码方法、装置及解码器 | |
CN113630126B (zh) | 一种极化码译码处理方法、装置及设备 | |
US11489544B2 (en) | Fast CRC computation circuit using an on-the-fly reconfigurable generator polynomial | |
CN111371464B (zh) | 一种Polar码的译码方法及装置、设备 | |
CN111384973B (zh) | 多进制ldpc解码算法的优化方法、装置及解码器 | |
JPWO2007129577A1 (ja) | テキスト処理モジュール |