(57)【要約】【課題】ＳＣＬ復号方式の処理における処理時間および処理量を削減する。【解決手段】復号装置２０は、Ｐｏｌａｒ符号により符号化された符号系列から逐次キャンセレーションリスト復号方式により情報ビット系列を復号する。復号装置２０は、プロセッサ２０１と、プロセッサ２０１に接続されたメモリ２００とを備える。プロセッサ２０１は、情報ビット系列の候補を順次特定する際のパスの候補数を制限するパラメータの値を、情報ビット系列中における情報ビットの位置毎、または、下位の情報ビットにおける複数のブランチが追加される上位の情報ビットのブランチ毎に、独立した値に設定する。【選択図】図２１
2019102950.tif 000002
【特許請求の範囲】
【請求項１】
Ｐｏｌａｒ符号により符号化された符号系列から逐次キャンセレーションリスト復号方式により情報ビット系列を復号する復号装置において、
プロセッサと、
前記プロセッサに接続されたメモリと
を備え、
前記プロセッサは、
前記情報ビット系列の候補を順次特定する際のパスの候補数を制限するパラメータの値を、前記情報ビット系列中における情報ビットの位置毎、または、下位の前記情報ビットにおける複数のブランチが追加される上位の前記情報ビットのブランチ毎に、独立した値に設定することを特徴とする復号装置。
【請求項２】
前記プロセッサは、
前記情報ビット系列を、少なくとも１つの前記情報ビットが含まれる複数のブロックに分割し、前記情報ビット系列の候補を順次特定する際のパスの候補数を制限するパラメータの値を、前記ブロック毎に独立した値に設定することを特徴とする請求項１に記載の復号装置。
【請求項３】
前記プロセッサは、
前記情報ビット系列において、前記情報ビット系列中における情報ビットの位置を示すインデックスの値が大きい情報ビットが含まれるブロックに設定される前記パラメータの値ほど、前記インデックスの値が小さい情報ビットが含まれるブロックに設定される前記パラメータの値よりも小さい値に設定することを特徴とする請求項２に記載の復号装置。
【請求項４】
前記プロセッサは、
マルチビット逐次キャンセレーションリスト復号方式であって、パスの候補を２段階で選択する方式において、前記情報ビット系列に含まれる上位の前記情報ビットの値に対応するブランチに対して追加された複数のブランチの中から、１段階目で選択されるブランチの選択数の値を、前記情報ビット系列において、前記情報ビット系列中における情報ビットの位置を示すインデックスの値が大きい情報ビットが含まれるブロックに設定される前記選択数の値ほど、前記インデックスの値が小さい情報ビットが含まれるブロックに設定される前記選択数の値よりも小さい値に設定することを特徴とする請求項２に記載の復号装置。
【請求項５】
前記プロセッサは、
所定のインデックスの値に対応する情報ビットまでは、それぞれのパスの候補に対して情報ビットの値に応じた複数のブランチを追加すると共に、追加されたそれぞれのブランチの尤度をパスの候補の尤度に加算し、
所定のインデックスの値に対応する情報ビットの次の情報ビット以降は、それぞれのパスの候補について、追加された複数のブランチの中から硬判定により１つのブランチをパスの候補に追加することを特徴とする請求項１に記載の復号装置。
【請求項６】
前記プロセッサは、
マルチビット逐次キャンセレーションリスト復号方式であって、パスの候補を２段階で選択する方式において、前記情報ビット系列に含まれる上位の前記情報ビットの値に対応するブランチに対して追加された複数のブランチの中から、１段階目で選択されるブランチの選択数の値を、上位の前記情報ビットの値に対応するパスの候補毎に独立した値に設定することを特徴とする請求項１に記載の復号装置。
【請求項７】
前記プロセッサは、
マルチビット逐次キャンセレーションリスト復号方式であって、パスの候補を２段階で選択する方式において、前記情報ビット系列に含まれる上位の前記情報ビットの値に対応するブランチに対して追加された複数のブランチのそれぞれに対して、再符号化された部分符号ビットと硬判定ビットによって求まる部分符号ビットとの間で一致していないビットの数に応じて追加尤度量を適用し、
１段階目の選択において、適用された追加尤度量が少ない順に所定数のブランチを選択することを特徴とする請求項１に記載の復号装置。
【請求項８】
前記パスの候補を制限するパラメータは、各ビットの特性を示す指標に応じて変動することを特徴とする請求項１に記載の復号装置。
【請求項９】
プロセッサと、前記プロセッサに接続されたメモリとを備え、Ｐｏｌａｒ符号により符号化された符号系列から逐次キャンセレーションリスト復号方式により情報ビット系列を復号する復号装置が、
前記プロセッサにより、前記情報ビット系列の候補を順次特定する際のパスの候補数を制限するパラメータの値を、前記情報ビット系列中における情報ビットの位置毎、または、下位の前記情報ビットにおける複数のブランチが追加される上位の前記情報ビットのブランチ毎に、独立した値に設定し、
特定されたパスの候補の中の１つのパスの候補に基づいて前記情報ビット系列を推定する処理を実行することを特徴とする復号方法。
【請求項１０】
Ｐｏｌａｒ符号により情報ビット系列が符号化された符号系列を送信する送信装置と、
前記送信装置から送信された信号から逐次キャンセレーションリスト復号方式により情報ビット系列を復号する受信装置と
を備え、
前記受信装置は、
プロセッサと、
前記プロセッサに接続されたメモリと
を含む復号装置を有し、
前記プロセッサは、
前記情報ビット系列の候補を順次特定する際のパスの候補数を制限するパラメータの値を、前記情報ビット系列中における情報ビットの位置毎、または、下位の前記情報ビットにおける複数のブランチが追加される上位の前記情報ビットのブランチ毎に、独立した値に設定することを特徴とする通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、復号装置、復号方法および通信システムに関する。
【背景技術】
【０００２】
近年、通信路分極を用いることにより、シャノン限界に近い特性の実現が可能なＰｏｌａｒ符号が注目されている。Ｐｏｌａｒ符号は、第５世代の無線通信において、制御チャネルの誤り訂正符号としても採用されている。Ｐｏｌａｒ符号の復号方式としては、逐次キャンセレーション復号方式（以下、ＳＣ復号方式と記載する）が知られている。
【０００３】
ＳＣ復号方式では、十分長い情報ビット長では、漸近的にシャノン限界に達成する性質を持つ復号方式である。しかし、通常利用される小さいサイズから中間のサイズの符号に対しては、特性がそれほど良くないという課題がある。これは、逐次的に情報ビットが決定されてそれがフィードバックされるため、ひとたび誤りが発生すると、その誤りが後段の推定処理に伝搬してしまうためである。
【０００４】
そこで、ＳＣ復号方式よりも特性を向上させた逐次キャンセレーションリスト復号方式（以下、ＳＣＬ復号方式と記載する）が考案された。ＳＣＬ復号方式では、パスの候補を最後まで１つに絞ることをせずに、常に最大で指定のＬ個のパスの候補を残しつつ、各候補の系列（ツリー上のイメージとしては、「パス」と呼ばれる）に対しての、ＳＣ演算が実行される。そして、最後のビットに達したところで、パスに対応付けられた尤度が良いパスが選択される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許第９５０３１２６号明細書
【非特許文献】
【０００６】
【非特許文献１】I.  Tal  and  A.  Vardy,  “List  decoding  of  polar  codes,”  in  Proc.  IEEE  Int.  Symp.  Inform.  Theory,  St.  Petersburg,  Russia,  July  −  August  2011,  pp.1−5.
【非特許文献２】C.  Xiong,  J.  Lin,  and  Z.  Yan,  “Symbol-decision  successive  cancellation  list  decoder  for  polar  codes,”  IEEE  Trans.  Signal  Process.,  vol.  64,  no.  3,pp.  675-687,  Feb  2016.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、ＳＣＬ復号方式の処理を受信装置内で実現するためには、特性を維持しつつ、処理時間のさらなる削減および処理量のさらなる削減が求められる。
【０００８】
開示の技術は、かかる点に鑑みてなされたものであって、ＳＣＬ復号方式の処理における処理時間および処理量を削減することができる復号装置、復号方法および通信システムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
１つの側面では、復号装置は、Ｐｏｌａｒ符号により符号化された符号系列から逐次キャンセレーションリスト復号方式により情報ビット系列を復号する復号装置であって、プロセッサと、プロセッサに接続されたメモリとを備える。プロセッサは、情報ビット系列の候補を順次特定する際のパスの候補数を制限するパラメータの値を、情報ビット系列中における情報ビットの位置毎、または、下位の情報ビットにおける複数のブランチが追加される上位の情報ビットのブランチ毎に、独立した値に設定する。
【発明の効果】
【００１０】
本願が開示する復号装置、復号方法および通信システムの１つの態様によれば、ＳＣＬ復号方式の処理における処理時間および処理量を削減することができるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】図１は、Ｐｏｌａｒ符号化の一例を示す図である。
【図２】図２は、ＳＣ復号方式における処理ブロックの一例を示す図である。
【図３】図３は、ＳＣ復号方式における処理の一例を説明するための図である。
【図４】図４は、Ｎ＝８におけるＳＣ復号方式の演算処理の一例を示す図である。
【図５】図５は、単位処理ユニットの一例を示す図である。
【図６】図６は、通信システムの一例を示す図である。
【図７】図７は、実施例１におけるパス候補の選択ツリーの一例を示す図である。
【図８】図８は、実施例１における復号装置の一例を示す図である。
【図９】図９は、実施例１における各ＳＣデコーダの一例を示すブロック図である。
【図１０】図１０は、実施例１における復号装置の動作の一例を示すフローチャートである。
【図１１】図１１は、実施例２におけるパス候補の選択ツリーの一例を示す図である。
【図１２】図１２は、実施例２における復号装置の一例を示す図である。
【図１３】図１３は、実施例２における各ＳＣデコーダの一例を示すブロック図である。
【図１４】図１４は、実施例２における復号装置の動作の一例を示すフローチャートである。
【図１５】図１５は、実施例３におけるパス候補の選択ツリーの一例を示す図である。
【図１６】図１６は、実施例３における復号装置の一例を示す図である。
【図１７】図１７は、実施例３における各マルチビットＳＣデコーダの一例を示すブロック図である。
【図１８】図１８は、実施例３における復号装置の動作の一例を示すフローチャートである。
【図１９】図１９は、実施例４におけるペナルティーテーブルの一例を示す図である。
【図２０】図２０は、実施例４における復号装置の動作の一例を示すフローチャートである。
【図２１】図２１は、復号装置のハードウェアの一例を示す図である。
【発明を実施するための形態】
【００１２】
以下に、本願の開示する復号装置、復号方法および通信システムの実施例を、図面に基づいて詳細に説明する。なお、以下の実施例は開示の技術を限定するものではない。また、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【００１３】
［前提］
まず、実施例の説明に先立って、前提となる事項について説明する。
１．符号化
Ｐｏｌａｒ符号は、情報長Ｋ、符号長Ｎの線形ブロック符号である。Ｐｏｌａｒ符号は、（Ｎ，Ｋ）線形ブロック符号と表記されることがある。なお、Ｎ＞Ｋである。
【００１４】
【数１】
2019102950.tif 000003
【数２】
2019102950.tif 000004
【００１５】
＜基本的な符号の枠組み＞
Ｐｏｌａｒ符号は、情報長Ｋ、符号長Ｎの線形ブロック符号であるＰｏｌａｒ符号は、サイズＫ×Ｎの生成行列ＧIにより定義され、その符号化演算は、以下行列演算によって実施される。
【数３】
2019102950.tif 000005
【００１６】
Ｐｏｌａｒ符号では、これからさらに表現を一般化した形（通常「コセット符号」の形式といわれる）ＧIを構成する全ての行ベクトルを、行ベクトルとして含むサイズＮ×Ｎの拡張された生成行列Ｇ、拡張された情報ビット系列ｕにより、以下のように表される。
ｘ＝ｕＧ
ここで、ｕは、情報ビット系列ｕIを、Ｇで追加された行に対応する要素の位置に、送受信器で既知とする固定のビットを挿入した系列となる。このような既知の固定ビットは「フローズンビット」と呼ばれる。
【００１７】
＜Ｐｏｌａｒ符号＞
Ｐｏｌａｒ符号は、以下の２点で定義される。
（１）コセット符号であり、その生成行列Ｇは、２ビットに対する生成行列Ｆを基本要素として、クロネッカー積（直積）が繰り返し適用されたものとして以下のように構成される。
【数４】
2019102950.tif 000006
【００１８】
（２）情報ビット系列中における情報ビットの位置は、ビット毎のキャパシティを選択指標として、なるべくキャパシティの良いものから順に選択される。残りのＮ−Ｋ個の位置には、送受信で既知のビット（「フローズンビット」）が割り当てられる。即ち、品質が悪いチャネルには、インデックスの値が小さいビットが割り当てられ、品質が良いチャネルには、インデックスの値が大きいビットが割り当てられる。図１は、Ｐｏｌａｒ符号化の一例を示す図である。
【００１９】
２．復号処理
２．１  ＳＣ復号
図２は、ＳＣ復号方式における処理ブロックの一例を示す図である。図３は、ＳＣ復号方式における処理の一例を説明するための図である。ＳＣ復号方式では、情報ビット系列に含まれる情報ビットが、昇順（インデックスｉの値が大きくなる順）に、１ビットずつ逐次的に、尤度値（軟判定データ）に基づいて推定される。ただし、それぞれの情報ビットの尤度は、そのビットまでに推定されたビットの推定結果をフィードバックし、その値を考慮した形で演算され求められる。ビットの値が確定する毎に、候補となるツリーのパスが限定され、そうでないパスは候補から「キャンセル」される。そのため、この方式は、逐次キャンセルと呼ばれる。
【００２０】
２．２  詳細説明
図４は、Ｎ＝８におけるＳＣ復号方式の演算処理の一例を示す図である。受信データ系列ｙ＝（ｙ1，ｙ2，・・・，ｙN）から、対数尤度比Ｌ（ｉ，０）が求められる。尤度の表現の仕方にはいくつか異なる方法が存在する。本明細書では、尤度の一例として対数尤度比を用いる。ただし、尤度の表現方法は、特定の表現には限定されない。
【００２１】
図４において、対数尤度比Ｌ（ｉ，０）が右から入力される。図４に示されたｆおよびｇは、各演算ユニットのノードを表しており、ノード間をつなぐ線はデータの受け渡しの関係を表している。ノードに示される記号ｆおよびｇは、その演算ユニットで実行される関数を表している。点線で囲まれたノードグループは、同じ列演算ユニット（以下、「ステージ」と記載する）で同時に処理することが可能な、同様の関数による演算が実行されることを意味している。
【００２２】
各段は、ちょうど、図１の符号化における各ユニット演算を逆に解くことに対応している。各段とも、前の段の出力のうちの、２つの尤度データを入力として、それぞれが、ｆとｇのノードのペアにそれぞれ入力され、その演算結果が次の段への入力となる、という単位処理により構成されている。図５は、単位処理ユニットの一例を示す図である。ここで、ｇ演算は、これまでに推定された情報ビットに依存した演算となる。このフィードバックされるビットは、符号化処理における、対応するステージでの中間段階での符号ビットに対する推定ビットが入力される。これは、この演算が実施されるまで、推定された情報ビットから再符号化されることで求めることができる。このユニット演算が最終段（最も左側）まで実行されるとその出力尤度から、順にｈで示された硬判定処理により推定ビットが得られる。
【００２３】
上記したアルゴリズムにおける数学的な表記の概要は以下の通りである。
【数５】
2019102950.tif 000007
【数６】
2019102950.tif 000008
【実施例１】
【００２４】
図６は、通信システム１０の一例を示す図である。通信システム１０は、送信装置１１および受信装置１６を備える。送信装置１１は、無線送信機１２、変調装置１３、および符号化装置１４を有する。符号化装置１４は、例えば図１に示された符号化方式を用いて、入力された情報ビットを符号化することにより符号ビット系列を生成する。そして、符号化装置１４は、生成された符号ビット系列を変調装置１３へ出力する。変調装置１３は、符号化装置１４から出力された符号ビット系列を変調して無線送信機１２へ出力する。無線送信機１２は、変調装置１３によって変調された符号ビット系列を無線信号に変換してアンテナを介して空間に放射する。なお、本実施例の通信システム１０は、無線通信を行う送信装置１１および受信装置１６を備えるが、通信を行うシステムであれば、送信装置１１および受信装置１６は、有線通信を行う装置であってもよい。
【００２５】
受信装置１６は、無線受信機１７、復調装置１８、および復号装置２０を有する。無線受信機１７は、送信装置１１から送信された無線信号を、アンテナを介して受信し、受信した信号を電気信号に変換して復調装置１８へ出力する。復調装置１８は、無線受信機１７から出力された信号を復調し、復調された信号を、チャネルの尤度と共に復号装置２０へ出力する。本実施例において、チャネルの尤度は、例えば対数尤度比（ＬＬＲ）である。復号装置２０は、復調装置１８から出力された復調信号およびチャネルＬＬＲに基づいて、ＳＣＬ復号方式を用いて情報ビットを復号する。そして、復号装置２０は、復号された情報ビットを、情報ビットを用いて所定の処理を行う処理ブロックへ出力する。
【００２６】
図７は、実施例１におけるパス候補の選択ツリーの一例を示す図である。本実施例における復号装置２０は、情報ビット系列を、少なくとも１つの情報ビットを含む複数のブロックに分割する。そして、復号装置２０は、ＳＣＬ復号で用いられるリスト数Ｌの値を、ブロック毎に独立した値に設定する。ブロックの数をＮb、情報ビット系列のサイズをＫとした場合、ブロックサイズＫbは、Ｋ／Ｎbとなる。なお、ブロックの数Ｎbと情報ビット系列のサイズＫとが同一である場合、リスト数Ｌの値が情報ビット毎に独立した値に設定されることになる。リスト数Ｌの値は、情報ビット系列の候補を順次特定する際のパスの候補数を制限するパラメータの値の一例である。
【００２７】
また、本実施例の復号装置２０は、インデックスの値が大きい情報ビットが含まれるブロックに設定されるリスト数Ｌの値ほど、インデックスの値が小さい情報ビットが含まれるブロックに設定されるリスト数Ｌの値よりも小さい値に設定する。インデックスとは、情報ビット系列中における情報ビットの位置を示す情報である。例えば図７の例では、第１のブロックで用いられるリスト数Ｌ１の値は４であり、第２のブロックで用いられるリスト数Ｌ２の値は３である。第１のブロックは、インデックスの値が小さい情報ビットが含まれるブロックの一例であり、第２のブロックは、インデックスの値が大きい情報ビットが含まれるブロックの一例である。
【００２８】
ＳＣＬ復号方式では、パスの良さを比較するために指標として、パスメトリック（ＰＭ）が定義される。本実施例のＰＭには、各系列のＳＣ復号の意味での、各ビット位置での対数尤度を用いることができる。本実施例で、ＰＭの大きさが小さいほど、良好なパスである。例えばリスト数がＬ１である場合、Ｌ１個のパスの候補に対して、次のビットに対しての２つの０および１の候補のブランチが追加されると、パスの候補数は２Ｌ１個となる。この中から、ＰＭが小さい順にＬ１個のパスの候補が次の残留パスとして選択される。このため、各選択処理では、２Ｌ１個のパスの候補に対するソート処理が実行される。
【００２９】
ここで、Ｐｏｌａｒ符号は、情報−フローズンビット系列の後半（インデックスの値が大きいビット）ほどチャネルのキャパシティが良くなるという性質をもっている。そのため、情報−フローズンビット系列の後半部で、リスト数Ｌの値を小さくしたとしても、特性には大きく影響をしないことが推定される。そして、リスト数Ｌの値が小さくなると、パスの候補の数が少なくなるため、パスの候補を絞り込む処理において、尤度の値に基づいてパスの候補をソートする際の処理量を低減することができる。これにより、ＳＣＬ復号の処理における復号装置２０の処理時間および処理負荷の削減が可能となる。
【００３０】
なお、第１のブロックと第２のブロックの切り替えは、例えば、予めシミュレーションで算出した値を用いて決めることができる。また、別の方法としては、各ビットの特性を示す指標（例えば、ＳＮＲ（Signal  to  Noise  Ratio）、キャパシティ、パスメトリック、およびパスメトリックの平均値の少なくともいずれか１つ）に対する基準値を設け、基準値と指標との関係性により切り替えるようにしてもよい。例えば、特性を示す指標としてパスメトリックの平均値を用いる場合、パスメトリックの平均値がパスメトリックの平均値に対する基準値よりも大きくなった場合に、選択数を減らすようにする。
【００３１】
［復号装置２０］
図８は、実施例１における復号装置２０の一例を示す図である。本実施例における復号装置２０は、パス制御部２１、複数のパス制御部２１−１〜２１−Ｌ１、選択部２３、およびリスト数切替部２４を有する。なお、以下では、複数のパス制御部２１−１〜２１−Ｌ１のそれぞれを区別することなく総称する場合に、単にパス制御部２１と記載する。また、復号装置２０にはプロセッサおよびメモリが設けられており、メモリから読み出されたプログラムをプロセッサが実行することにより、図８に示された各ブロックの機能が実現される。
【００３２】
パス制御部２１は、復調装置１８から出力されたチャネルＬＬＲおよび選択部２３によって選択されたパスの候補をそれぞれのＳＣデコーダ２２へ出力する。本実施例では、最大Ｌ１個のパスの候補が選択されるため、パス制御部２１は、Ｌ１個のＳＣデコーダ２２のそれぞれに選択部２３によって選択されたパスの候補を割り当てる。また、パス制御部２１は、情報−フローズンビット系列のインデックスの値をリスト数切替部２４へ出力する。また、パス制御部２１は、情報−フローズンビット系列の最後のビットにおけるパスの候補が選択部２３によって選択された場合、選択されたパスの候補の中からＰＭが最小のパスの候補を特定する。そして、パス制御部２１は、特定されたパスの候補に対応する情報−フローズンビット系列に対してＣＲＣ等の誤り訂正の処理を施して情報ビットを復号する。そして、パス制御部２１は、復号された情報ビットを出力する。
【００３３】
それぞれのＳＣデコーダ２２は、それぞれのパスの候補に対して、追加されるブランチ毎にＬＬＲを算出する。そして、それぞれのＳＣデコーダ２２は、ブランチ毎に算出されたＬＬＲをパスの候補のＰＭに追加することにより、パスの候補およびそのＰＭを更新する。
【００３４】
選択部２３は、各ＳＣデコーダ２２から出力されたパスの候補の総数が、リスト数切替部２４から指示されたリスト数以下の場合、各ＳＣデコーダ２２から出力されたパスの候補およびそのＰＭをパス制御部２１へ出力する。一方、各ＳＣデコーダ２２から出力されたパスの候補の総数が、リスト数切替部２４から指示されたリスト数より多い場合、選択部２３は、ＰＭの値が小さい順に、リスト数切替部２４から指示されたリスト数分のパスの候補を選択する。そして、選択部２３は、選択されたパスの候補およびそのＰＭをパス制御部２１へ出力する。
【００３５】
リスト数切替部２４は、パス制御部２１から出力されたインデックスに基づいて、選択部２３に指示するリスト数を切り替える。本実施例において、リスト数切替部２４は、インデックスの値が大きい情報ビットが含まれるブロックに設定されるリスト数Ｌ２の値ほど、インデックスの値が小さい情報ビットが含まれるブロックに設定されるリスト数Ｌ１の値よりも小さい値に設定する。
【００３６】
［ＳＣデコーダ２２］
図９は、実施例１における各ＳＣデコーダ２２の一例を示すブロック図である。本実施例におけるＳＣデコーダ２２は、ＰＭ更新部２２０、ＰＭ更新部２２１、記憶部２２２、判定部２２３、およびｎステージＬＬＲ演算部２２４を有する。ｎステージＬＬＲ演算部２２４は、各ステージにおいてブランチ毎のＬＬＲを算出し、算出されたＬＬＲをＰＭ更新部２２０およびＰＭ更新部２２１へそれぞれ出力する。なお、以下では、各ステージにおいてブランチ毎のＬＬＲを算出する処理を、ｎステージＬＬＲ演算と記載する場合がある。
【００３７】
記憶部２２２は、情報−フローズンビット系列において、フローズンビットのインデックスの値を記憶する。なお、記憶部２２２は、情報ビットのインデックスの値を記憶していてもよい。判定部２２３は、各インデックスの値において記憶部２２２を参照し、当該インデックスの値が情報ビットのインデックスであるか、フローズンビットのインデックスであるかを判定する。そして、判定部２２３は、判定結果をＰＭ更新部２２０およびＰＭ更新部２２１へそれぞれ出力する。
【００３８】
ＰＭ更新部２２０は、判定部２２３によって情報ビットのインデックスであると判定された場合、パスの候補に複数のブランチ（図９の例では、「０」に対応するブランチと「１」に対応するブランチ）を追加する。そして、ＰＭ更新部２２０は、追加されたブランチ毎に、当該ブランチが追加されたパスの候補を新たなパスの候補とする。そして、ＰＭ更新部２２０は、パスの候補のＰＭに、ｎステージＬＬＲ演算部２２４によって算出されたブランチのＬＬＲを加算することにより、新たなパスの候補のＰＭを更新する。そして、ＰＭ更新部２２０は、新たなパスの候補とその更新後のＰＭを選択部２３へ出力する。
【００３９】
ＰＭ更新部２２１は、判定部２２３によってフローズンビットのインデックスであると判定された場合、フローズンビットの値である「０」に対応するブランチをパスの候補に追加する。そして、ＰＭ更新部２２１は、ブランチが追加されたパスの候補を新たなパスの候補とする。そして、ＰＭ更新部２２１は、パスの候補のＰＭに、ｎステージＬＬＲ演算部２２４によって算出されたブランチのＬＬＲを加算することにより、新たなパスの候補のＰＭを更新する。そして、ＰＭ更新部２２１は、新たなパスの候補とその更新後のＰＭを選択部２３へ出力する。
【００４０】
なお、ＰＭおよびＰＭの更新における数学的な表現の概要は以下の通りである。
【数７】
2019102950.tif 000009
【００４１】
［最終パス選択処理］
最後のビットに対するリスト選択処理の後に最適パスを選択する。
選択方法としていくつかの方式が知られているが、本実施例では、最もポピュラーな標準化仕様で採用されているＣＲＣ  ａｉｄｅｄ（ＣＡ）Ｐｏｌａｒ方式に従うものとする。これは、情報ビットがＰｏｌａｒ符号に入力される前に、情報ビットの一部に組み込む形で、その情報ビットに対するＣＲＣパリティビットを付加する符号化方法である。受信側では、リストの各最終残留パスの対応するビット系列に対して、ＣＲＣチェックが実施され、ＯＫ判定のものが最終結果として選択される。また、全てのＣＲＣがＮＧ判定となる場合には、最良のメトリックのパスが選択される。
【００４２】
［復号装置２０の動作］
図１０は、実施例１における復号装置２０の動作の一例を示すフローチャートである。復号装置２０は、例えば、所定長Ｎの符号を受信する都度、本フローチャートに示す動作を開始する。
【００４３】
まず、復号装置２０は、各部を初期化する（Ｓ１００）。ステップＳ１００では、例えば、情報−フローズンビット系列のインデックスを示す変数ｉの値が０に初期化される。
【００４４】
次に、パス制御部２１は、変数ｉの値が符号長の値Ｎ未満であるか否かを判定する（Ｓ１０１）。変数ｉの値が値Ｎ未満である場合（Ｓ１０１：Ｙｅｓ）、リスト数切替部２４は、変数ｉの値がブロックの境界に対応する値Ｎth1未満であるか否かを判定する（Ｓ１０２）。変数ｉの値が値Ｎth1未満である場合（Ｓ１０２：Ｙｅｓ）、リスト数切替部２４は、リスト数ＬとしてＬ１を選択部２３に指示する（Ｓ１０３）。一方、変数ｉの値が値Ｎth1以上である場合（Ｓ１０２：Ｎｏ）、リスト数切替部２４は、リスト数ＬとしてＬ２を選択部２３に指示する（Ｓ１０４）。
【００４５】
次に、それぞれのＳＣデコーダ２２内のｎステージＬＬＲ演算部２２４は、ｎステージＬＬＲ演算を実行する（Ｓ１０５）。そして、判定部２２３は、記憶部２２２を参照し、変数ｉに対応するインデックスのビットが情報ビットであるか否かを判定する（Ｓ１０６）。変数ｉに対応するインデックスのビットが情報ビットである場合（Ｓ１０６：Ｙｅｓ）、ＰＭ更新部２２０は、上位の情報ビットに対応するパスの候補に、下位の情報ビットに対応する複数のブランチを追加し、追加されたブランチ毎に、当該ブランチが追加されたパスの候補を新たなパスの候補とする。そして、ＰＭ更新部２２０は、パスの候補のＰＭに、ｎステージＬＬＲ演算部２２４によって算出されたブランチのＬＬＲを加算することにより、新たなパスの候補のＰＭを更新する（Ｓ１０７）。
【００４６】
次に、選択部２３は、各ＳＣデコーダ２２から出力されたパスの候補の中から、ＰＭの値が小さい順に、最大Ｌ個のパスの候補を選択する（Ｓ１０８）。そして、パス制御部２１は、選択部２３によって選択されたパスの候補に基づいて、推定ビットの再符号化処理を実行する（Ｓ１０９）。そして、パス制御部２１は、変数ｉを１増やし（Ｓ１１０）、再びステップＳ１０１に示した処理を実行する。
【００４７】
ステップＳ１０６において、変数ｉに対応するインデックスのビットがフローズンビットである場合（Ｓ１０６：Ｎｏ）、ＰＭ更新部２２１は、フローズンビットの値である「０」に対応するブランチをパスの候補に追加する。そして、ＰＭ更新部２２１は、ブランチが追加されたパスの候補を新たなパスの候補とする。そして、ＰＭ更新部２２１は、パスの候補のＰＭに、ｎステージＬＬＲ演算部２２４によって算出されたフローズンビットのブランチのＬＬＲを加算することにより、新たなパスの候補のＰＭを更新する（Ｓ１１１）。そして、ステップＳ１０９に示した処理が実行される。
【００４８】
ステップＳ１０１において、変数ｉの値が符号長の値Ｎ以上である場合（Ｓ１０１：Ｎｏ）、パス制御部２１は、選択部２３によって選択されたパスの候補の中からＰＭが最小のパスの候補を選択することにより、最良のパスを選択する（Ｓ１１２）。そして、パス制御部２１は、選択されたパスに対応する情報−フローズンビット系列に対してＣＲＣ等の誤り訂正の処理を施して情報ビットを復号する。そして、パス制御部２１は、復号された情報ビットを出力する。
【００４９】
［実施例１の効果］
以上、実施例１について説明した。本実施例の復号装置２０は、Ｐｏｌａｒ符号により符号化された符号系列からＳＣＬ復号方式により情報ビット系列を復号する復号装置であって、プロセッサと、プロセッサに接続されたメモリとを備える。プロセッサは、情報ビット系列の候補を順次特定する際のパスの候補数を制限するリスト数Ｌの値を、情報ビット系列中における情報ビットの位置毎に、独立した値に設定する。これにより、復号装置２０は、ＳＣＬ復号方式の処理における処理時間および処理量を削減することができる。
【００５０】
また、本実施例において、復号装置２０のプロセッサは、情報ビット系列を、少なくとも１つの情報ビットが含まれる複数のブロックに分割し、情報ビット系列の候補を順次特定する際のリスト数Ｌの値を、ブロック毎に独立した値に設定する。これにより、復号装置２０は、ＳＣＬ復号方式の処理における処理時間および処理量を削減することができる。
【００５１】
また、本実施例において、復号装置２０のプロセッサは、情報ビット系列において、インデックスの値が大きい情報ビットが含まれるブロックに設定されるリスト数Ｌの値ほど、インデックスの値が小さい情報ビットが含まれるブロックに設定されるリスト数Ｌの値よりも小さい値に設定する。これにより、復号装置２０は、ＳＣＬ復号方式の処理における処理時間および処理量を削減することができる。
【実施例２】
【００５２】
実施例１では、パスの候補数を制限するパラメータであるリスト数Ｌが、インデックスが大きいビットほど小さく設定される。これに対し、本実施例２では、所定のインデックスまでのビットについては、それぞれのパスの候補にビットの値に応じたブランチが追加されることにより、パスの候補が更新される。そして、所定のインデックスより大きい値のインデックス以降のビットについては、それぞれのパスの候補から硬判定により選択されたビットの値に応じたブランチが追加される。このように、本実施例では、上位の情報ビットに対応するパスの候補のそれぞれに追加される、下位の情報ビットに対応するブランチの数が、所定のインデックス毎に独立した値に設定される。これにより、所定のインデックスより大きい値のインデックス以降のビットについては、パスの候補数が増加しないので、ＰＭの小さい順にリスト数Ｌ分のパスの候補に絞る処理を省略できる。これにより、ＳＣＬ復号方式の処理における処理時間および処理量を削減することができる。
【００５３】
図１１は、実施例２におけるパス候補の選択ツリーの一例を示す図である。本実施例における復号装置２０は、情報ビット系列を、少なくとも１つの情報ビットを含む２つのブロックに分割する。そして、復号装置２０は、前半のインデックスに対応する第１のブロックについては、それぞれのパスの候補にビットの値に応じたブランチを追加することによりパスの候補を更新すると共に、ＰＭの小さい順にリスト数Ｌ分のパスの候補に絞る処理を実行する。
【００５４】
一方、後半のインデックスに対応する第２のブロックについては、それぞれのパスの候補において硬判定により選択されたビットの値に応じたブランチのみが追加される。これにより、第２のブロックでは、パスの候補数がリスト数Ｌ以下となるため、ＰＭの小さい順にリスト数Ｌ分のパスの候補に絞る処理が不要となる。図１１の第２のブロックにおいて、点線で示されたブランチは、硬判定の結果、選択されなかったブランチを示す。
【００５５】
なお、第１のブロックと第２のブロックの切り替えは、例えば、予めシミュレーションで算出した値を用いて決めることができる。また、別の方法としては、各ビットの特性を示す指標（例えば、ＳＮＲ、キャパシティ、パスメトリック、およびパスメトリックの平均値の少なくともいずれか１つ）に対する基準値を設け、基準値と指標との関係性により切り替えるようにしてもよい。例えば、特性を示す指標としてパスメトリックの平均値を用いる場合、パスメトリックの平均値がパスメトリックの平均値に対する基準値よりも大きくなった場合に、選択数を減らすようにする。
【００５６】
［復号装置２０］
図１２は、実施例２における復号装置２０の一例を示す図である。本実施例における復号装置２０は、パス制御部２１、複数のパス制御部２１−１〜２１−Ｌ、選択部２３、および硬判定指示部２５を有する。なお、図１２において、図８に示されたブロックと同じ符号が付されたブロックは、以下に説明する点を除き、図８において説明されたブロックと同様であるため、重複する説明を省略する。
【００５７】
本実施例の復号装置２０は、Ｌ個のＳＣデコーダ２２を有する。硬判定指示部２５は、パス制御部２１から出力されたインデックスに基づいて、各ＳＣデコーダ２２に硬判定を指示する。硬判定指示部２５は、例えば、インデックスの値が所定値以上となった場合に、各ＳＣデコーダ２２に硬判定を指示する。
【００５８】
［ＳＣデコーダ２２］
図１３は、実施例２における各ＳＣデコーダ２２の一例を示すブロック図である。本実施例におけるＳＣデコーダ２２は、ＰＭ更新部２２０、ＰＭ更新部２２１、記憶部２２２、判定部２２３、ｎステージＬＬＲ演算部２２４、ＰＭ更新部２２５、およびスイッチ２２６を有する。なお、図１３において、図９に示されたブロックと同じ符号が付されたブロックは、以下に説明する点を除き、図９において説明されたブロックと同様であるため、重複する説明を省略する。
【００５９】
スイッチ２２６は、硬判定指示部２５から硬判定が指示されていない場合、判定部２２３による判定結果をＰＭ更新部２２０へ出力し、硬判定指示部２５から硬判定が指示された場合、判定部２２３による判定結果をＰＭ更新部２２５へ出力する。
【００６０】
ＰＭ更新部２２５は、判定部２２３によって情報ビットのインデックスであると判定された場合、パスの候補に追加する複数のブランチのＬＬＲを比較する。そして、ＰＭ更新部２２５は、低い方のＬＬＲに対応するブランチをパスの候補に追加することにより、新たなパスの候補を作成する。そして、ＰＭ更新部２２５は、パスの候補のＰＭに、追加されたブランチのＬＬＲを加算することにより、新たなパスの候補のＰＭを更新する。そして、ＰＭ更新部２２５は、新たなパスの候補とその更新後のＰＭを選択部２３へ出力する。
【００６１】
［ＳＣデコーダ２２の動作］
図１４は、実施例２における復号装置２０の動作の一例を示すフローチャートである。なお、図１４において、図１０に示された処理と同じ符号が付された処理は、以下に説明する点を除き、図１０において説明された処理と同様であるため、重複する説明を省略する。
【００６２】
変数ｉの値が値Ｎ未満である場合（Ｓ１０１：Ｙｅｓ）、硬判定指示部２５は、変数ｉの値がブロックの境界に対応する値Ｎth2未満であるか否かを判定する（Ｓ１２０）。変数ｉの値が値Ｎth2未満である場合（Ｓ１２０：Ｙｅｓ）、ステップＳ１０５に示された処理が実行される。一方、変数ｉの値が値Ｎth2以上である場合（Ｓ１２０：Ｎｏ）、硬判定指示部２５は、各ＳＣデコーダ２２に硬判定を指示する（Ｓ１２１）。
【００６３】
また、変数ｉに対応するインデックスのビットが情報ビットである場合（Ｓ１０６：Ｙｅｓ）、スイッチ２２６は、硬判定指示部２５から硬判定が指示されているか否かを判定する（Ｓ１２２）。硬判定指示部２５から硬判定が指示されていない場合（Ｓ１２２：Ｎｏ）、スイッチ２２６は、判定部２２３による判定結果をＰＭ更新部２２０へ出力する。そして、ステップＳ１０７に示された処理が実行される。
【００６４】
一方、硬判定指示部２５から硬判定が指示されている場合（Ｓ１２２：Ｙｅｓ）、スイッチ２２６は、判定部２２３による判定結果をＰＭ更新部２２５へ出力する。ＰＭ更新部２２５は、ＰＭの更新処理を実行する（Ｓ１２３）。ステップＳ１２３では、パスの候補に追加する複数のブランチのＬＬＲが比較され、低い方のＬＬＲに対応するブランチをパスの候補に追加することにより、新たなパスの候補が作成される。そして、パスの候補のＰＭに、追加されたブランチのＬＬＲが加算されることにより、新たなパスの候補のＰＭが更新される。
【００６５】
［実施例２の効果］
以上、実施例２について説明した。本実施例において、復号装置２０のプロセッサは、所定のインデックスの値に対応する情報ビットまでは、それぞれのパスの候補に対して情報ビットの値に応じた複数のブランチを追加すると共に、追加されたそれぞれのブランチの尤度をパスの候補の尤度に加算する。一方、プロセッサは、所定のインデックスの値に対応する情報ビットの次の情報ビット以降は、それぞれのパスの候補について、追加された複数のブランチの中から硬判定により１つのブランチをパスの候補に追加する。これにより、所定のインデックスより大きい値のインデックス以降のビットについては、パスの候補数が増加しないので、ＰＭの小さい順にリスト数Ｌ分のパスの候補に絞る処理を省略することができる。これにより、復号装置２０は、ＳＣＬ復号方式の処理における処理時間および処理量を削減することができる。
【実施例３】
【００６６】
実施例３は、２段階選択方式を用いたマルチビットＳＣＬ復号方式に基づいて復号を行う例である。マルチビットＳＣＬ復号方式は、ＳＣＬ復号をベースとして、推定ビット処理に対して、規定の複数のビット数Ｍ＝２m毎に候補のパスの拡張と選択とを実行することで、処理時間の短縮を図る方法である。
【００６７】
ここで、マルチビットＳＣＬ復号方式における定義について説明する。
［定義］
１）マルチビットブロック（ＭＢ）
情報ビット推定処理における、情報ビット−フローズンビット系列に対して、入力順のＭビット毎のブロックのこと。
２）ＭＢシンボル：ｂ＝ｂ0M-1＝（ｂ0、・・・，ｂM-1）
ＭＢに含まれる情報フローズンビットの系列のこと。
簡易的にベクトル表記、あるいは２進数表記により表される。
３）ＭＢシンボルの種類
（ｉ）情報ビットシンボル：ＭＢに含まれるビットのうち少なくとも１つが情報ビット
である場合。特に全てのビットが情報ビットの場合は
「フル情報ビットシンボル」と呼ばれる。
（ii）フローズンシンボル：ＭＢに含まれるビットのうち全てがフローズンビットで
ある場合。
４）ＭＢシンボル数：Ｎm＝Ｎ／Ｍ＝２n／２m＝２n-m
【００６８】
図１５は、実施例３におけるパス候補の選択ツリーの一例を示す図である。図１５の例では、マルチビット数Ｍ＝２、リスト数Ｌ＝４である。マルチビットＳＣＬ復号方式では、パスのブランチを区別する指標となるＭ＝２ビットのブロックは、情報−フローズンビット系列に含まれるビットではなく、それからｍ＝１ステージだけ要素符号化を実行した部分符号ビットβ＝ｂＵとなる。Ｍ＝２ビット毎に、リストにあるパスの候補のそれぞれに対して２M＝４個のブランチを追加していく。Ｍ＝２ビット毎にＬ＝４個のパスのそれぞれに対して２M＝４個のブランチが追加されるため、全体として２M×Ｌ＝４×４＝１６個のパスの候補が新たなパスの候補として逐次生成される。
【００６９】
そして、生成されたパスの候補は、それぞれのパスの候補のＰＭに基づいて、リスト数Ｌまで絞り込まれる。２段階選択方式では、１段階目の選択においては現在のリストのＬ＝４個のパスの候補のそれぞれに対して拡張される２M＝４個のパスの候補から、指定のｑ個のパスの候補が選択される。なお、ｑ＜２Mである。そして、１段階目で選択された複数のパスの候補の中から、２段階目の選択において、最終的にＬ＝４個のパスの候補が選択される。
【００７０】
２段階選択方式では、それぞれの段階で選択されるパスの候補数は、全体のパスの候補数である２M×Ｌ＝１６個よりも少ない。そのため、ＰＭの大きさに基づいてパスの候補をソートする処理を高速化することができる。そのため、ＳＣＬ復号方式の処理における処理時間および処理量を削減することができる。
【００７１】
ここで、尤度が小さいブランチを含むパスの候補は、最終的に最良のパスとして選択される可能性が高いが、尤度が大きいブランチを含むパスの候補は、最終的に最良のパスとして選択される可能性は低い。そのため、１段階目の選択において、複数のブランチの中で尤度が小さいブランチが選択されるように、選択数を調整することが好ましい。これにより、尤度が小さいブランチが少ない場合には、１段階目で選択されたブランチの数を少なくすることができ、２段階目での選択処理を高速化することができる。
【００７２】
なお、尤度が小さいブランチの数は、上位の情報ビットに対応する部分符号化ビットの値に対応するそれぞれのパスの候補毎に異なる可能性がある。そのため、本実施例では、１段階目での選択数ｑが、上位の部分符号化ビットの値に対応するそれぞれのパスの候補毎に独立した値に設定される。図１５の例では、上位の部分符号化ビットの値に対応するそれぞれのパスの候補毎に、１段階目での選択数ｑがｑ１＝２またはｑ２＝１に設定されている。なお、上位の部分符号化ビットの値に対応するそれぞれのパスの候補毎に独立した値に設定される１段階目での選択数ｑの値は、シミュレーション等の結果に基づいて予め決定されてもよい。また、各ビットの特性を示す指標（例えば、ＳＮＲ、キャパシティ、パスメトリック、およびパスメトリックの平均値の少なくともいずれか１つ）に対する選択数の基準値を設け、基準値と指標との関係性により選択数ｑが変更されてもよい。これにより、２段階選択方式を用いるマルチビットＳＣＬ復号方式の処理における処理時間および処理量を削減することができる。
【００７３】
［復号装置２０］
図１６は、実施例３における復号装置２０の一例を示す図である。本実施例における復号装置２０は、パス制御部２１および複数のマルチビットＳＣデコーダ２６−１〜２６−Ｌを有する。また、本実施例における復号装置２０は、複数の第１選択部２７−１〜２７−Ｌ、および第２選択部２８を有する。なお、以下では、複数のマルチビットＳＣデコーダ２６−１〜２６−Ｌのそれぞれを区別することなく総称する場合に、単にマルチビットＳＣデコーダ２６と記載し、複数の第１選択部２７−１〜２７−Ｌのそれぞれを区別することなく総称する場合に、単に第１選択部２７と記載する。また、復号装置２０にはプロセッサおよびメモリが設けられており、メモリから読み出されたプログラムをプロセッサが実行することにより、図１６に示された各ブロックの機能が実現される。
【００７４】
パス制御部２１は、復調装置１８から出力されたチャネルＬＬＲおよび第２選択部２８によって選択されたパスの候補をそれぞれのマルチビットＳＣデコーダ２６へ出力する。本実施例では、最大Ｌ個のパスの候補が選択されるため、パス制御部２１は、Ｌ個のマルチビットＳＣデコーダ２６のそれぞれに第２選択部２８によって選択されたパスの候補を割り当てる。また、パス制御部２１は、情報−フローズンビット系列の最後のビットに対応する部分符号ビットのパスの候補が第２選択部２８によって選択された場合、選択されたパスの候補の中からＰＭが最小のパスの候補を特定する。そして、パス制御部２１は、特定されたパスの候補に対応する部分符号ビットから情報−フローズンビット系列を特定し、特定された情報−フローズンビット系列に対してＣＲＣ等の誤り訂正の処理を施して情報ビットを復号する。そして、パス制御部２１は、復号された情報ビットを出力する。
【００７５】
それぞれのマルチビットＳＣデコーダ２６は、それぞれのパスの候補に対して、追加されるブランチ毎にＬＬＲを算出する。そして、それぞれのマルチビットＳＣデコーダ２６は、ブランチ毎に算出されたＬＬＲをパスの候補のＰＭに追加することにより、パスの候補およびそのＰＭを更新する。
【００７６】
それぞれの第１選択部２７は、マルチビットＳＣデコーダ２６によってＰＭが更新されたパスの候補を受け取り、受け取ったパスの候補の中から、２段階選択方式における１段階目の選択を行う。即ち、それぞれのｋ＝１，・・・、Ｌ番目のパスの候補のそれぞれに対して、新たに生成された２M個のパスの候補の中から、ＰＭが小さい順にｑk個選択する。それぞれの第１選択部２７において選択されるパスの候補の選択数ｑkは、予め第１選択部２７毎に独立した値に設定される。そして、それぞれの第１選択部２７は、選択されたｑk個のパスの候補およびそのＰＭを第２選択部２８へ出力する。第２選択部２８に入力されるパスの候補の総数Ｑは、例えば以下のように表される。
【数８】
2019102950.tif 000010
【００７７】
第２選択部２８は、各第１選択部２７から出力されたパスの候補の総数Ｑが予め設定されたリスト数Ｌ以下である場合、各第１選択部２７から出力されたパスの候補およびそのＰＭをパス制御部２１へ出力する。一方、各第１選択部２７から出力されたパスの候補の総数Ｑが、リスト数Ｌより多い場合、第２選択部２８は、ＰＭの値が小さい順にリスト数Ｌ分のパスの候補を選択する。そして、第２選択部２８は、選択されたパスの候補およびそのＰＭをパス制御部２１へ出力する。
【００７８】
［マルチビットＳＣデコーダ２６］
図１７は、実施例３における各マルチビットＳＣデコーダ２６の一例を示すブロック図である。本実施例におけるマルチビットＳＣデコーダ２６は、ＰＭ更新部２６０、ＰＭ更新部２６１、記憶部２６２、判定部２６３、およびｎ−ｍステージＬＬＲ演算部２６４を有する。ｎ−ｍステージＬＬＲ演算部２６４は、ｎ−ｍの各ステージにおいてブランチ毎のＬＬＲを算出し、算出されたＬＬＲをＰＭ更新部２６０およびＰＭ更新部２６１へそれぞれ出力する。なお、以下では、各ステージにおいてブランチ毎のＬＬＲを算出する処理を、ｎ−ｍステージＬＬＲ演算と記載する場合がある。
【００７９】
記憶部２６２は、情報−フローズンビット系列において、フローズンビットのインデックスの値を記憶する。なお、記憶部２６２は、情報ビットのインデックスの値を記憶していてもよい。判定部２６３は、各インデックスの値において記憶部２６２を参照し、当該インデックスの値が情報ビットシンボルのインデックスであるか、あるいは、フローズンシンボルのインデックスであるかを判定する。そして、判定部２６３は、判定結果をＰＭ更新部２６０およびＰＭ更新部２６１へそれぞれ出力する。
【００８０】
ＰＭ更新部２６０は、判定部２６３によって情報ビットシンボルのインデックスであると判定された場合、上位の情報ビットに対応する部分符号化ビットに対応するパスの候補に、下位の情報ビットに対応する部分符号化ビットに対応する複数のブランチ（図１５の例では、「００」、「１０」、「０１」、および「１１」のそれぞれに対応するブランチ）を追加する。そして、ＰＭ更新部２６０は、追加されたブランチ毎に、当該ブランチが追加されたパスの候補を新たなパスの候補とする。そして、ＰＭ更新部２６０は、パスの候補のＰＭに、ｎ−ｍステージＬＬＲ演算部２６４によって算出されたブランチのＬＬＲを加算することにより、新たなパスの候補のＰＭを更新する。そして、ＰＭ更新部２６０は、新たなパスの候補とその更新後のＰＭを第２選択部２８へ出力する。
【００８１】
ＰＭ更新部２６１は、判定部２６３によってフローズンシンボルのインデックスであると判定された場合、フローズンシンボルの値である「００」に対応するブランチをパスの候補に追加する。そして、ＰＭ更新部２６１は、ブランチが追加されたパスの候補を新たなパスの候補とする。そして、ＰＭ更新部２６１は、パスの候補のＰＭに、ｎ−ｍステージＬＬＲ演算部２６４によって算出されたブランチのＬＬＲを加算することにより、新たなパスの候補のＰＭを更新する。そして、ＰＭ更新部２６１は、新たなパスの候補とその更新後のＰＭを第２選択部２８へ出力する。
【００８２】
［復号装置２０の動作］
図１８は、実施例３における復号装置２０の動作の一例を示すフローチャートである。復号装置２０は、例えば、所定長Ｎの符号を受信する都度、本フローチャートに示す動作を開始する。
【００８３】
まず、復号装置２０は、各部を初期化する（Ｓ２００）。ステップＳ２００では、例えば、情報−フローズンビット系列のインデックスを示す変数ｉの値が０に初期化される。
【００８４】
次に、パス制御部２１は、変数ｉの値がＭＢシンボル数Ｎm未満であるか否かを判定する（Ｓ２０１）。変数ｉの値がＮmの値未満である場合（Ｓ２０１：Ｙｅｓ）、それぞれのマルチビットＳＣデコーダ２６内のｎ−ｍステージＬＬＲ演算部２６４は、ｎ−ｍステージＬＬＲ演算を実行する（Ｓ２０２）。そして、判定部２６３は、記憶部２６２を参照し、変数ｉに対応するインデックスのＭＢシンボルが情報ビットシンボルであるか否かを判定する（Ｓ２０３）。変数ｉに対応するインデックスのＭＢシンボルが情報ビットシンボルである場合（Ｓ２０３：Ｙｅｓ）、ＰＭ更新部２６０は、パスの候補に複数のブランチを追加し、追加されたブランチ毎に、当該ブランチが追加されたパスの候補を新たなパスの候補とする。そして、ＰＭ更新部２６０は、パスの候補のＰＭに、ｎ−ｍステージＬＬＲ演算部２６４によって算出されたブランチのＬＬＲを加算することにより、新たなパスの候補のＰＭを更新する（Ｓ２０４）。
【００８５】
次に、それぞれの第１選択部２７は、マルチビットＳＣデコーダ２６から出力されたパスの候補の中から、ＰＭの値が小さい順に選択数ｑ個分のパスの候補を選択する１段階目の選択処理を実行する（Ｓ２０５）。なお、選択数ｑは、予め第１選択部２７毎に独立した値に設定されているため、第１選択部２７間で異なる値であり得る。
【００８６】
次に、第２選択部２８は、それぞれの第１選択部２７から出力されたパスの候補の中から、ＰＭの値が小さい順に、最大Ｌ個のパスの候補を選択する２段階目の選択処理を実行する（Ｓ２０６）。そして、パス制御部２１は、第２選択部２８によって選択されたパスの候補に基づいて、推定ビットの再符号化処理を実行する（Ｓ２０７）。そして、パス制御部２１は、変数ｉを１増やし（Ｓ２０８）、再びステップＳ２０１に示した処理を実行する。
【００８７】
ステップＳ２０３において、変数ｉに対応するインデックスのＭＢシンボルがフローズンシンボルである場合（Ｓ２０３：Ｎｏ）、ＰＭ更新部２６１は、フローズンシンボルの値である「００」に対応するブランチをパスの候補に追加する。そして、ＰＭ更新部２６１は、ブランチが追加されたパスの候補を新たなパスの候補とする。そして、ＰＭ更新部２６１は、パスの候補のＰＭに、ｎ−ｍステージＬＬＲ演算部２６４によって算出されたフローズンシンボルのブランチのＬＬＲを加算することにより、新たなパスの候補のＰＭを更新する（Ｓ２０９）。そして、ステップＳ２０７に示した処理が実行される。
【００８８】
ステップＳ２０１において、変数ｉの値がＮmの値Ｎ以上である場合（Ｓ２０１：Ｎｏ）、パス制御部２１は、第２選択部２８によって選択されたパスの候補の中からＰＭが最小のパスの候補を選択することにより、最良のパスを選択する（Ｓ２１０）。パス制御部２１は、選択されたパスの候補に対応する部分符号ビットから情報−フローズンビット系列を特定し、特定された情報−フローズンビット系列に対してＣＲＣ等の誤り訂正の処理を施して情報ビットを復号する。そして、パス制御部２１は、復号された情報ビットを出力する。
【００８９】
［実施例３の効果］
以上、実施例３について説明した。本実施例において、復号装置２０のプロセッサは、Ｐｏｌａｒ符号により符号化された符号系列からＳＣＬ復号方式により情報ビット系列を復号する復号装置であって、プロセッサと、プロセッサに接続されたメモリとを備える。プロセッサは、情報ビット系列の候補を順次特定する際のパスの候補数を制限する選択数ｑの値を、下位の情報ビットにおける複数のブランチが追加される上位の情報ビットのブランチ毎に、独立した値に設定する。これにより、復号装置２０は、ＳＣＬ復号方式の処理における処理時間および処理量を削減することができる。
【００９０】
また、本実施例において、復号装置２０のプロセッサは、マルチビット逐次キャンセレーションリスト復号方式であって、パスの候補を２段階で選択する方式において、情報ビット系列に含まれる上位の情報ビットの値に対応するブランチに対して追加された複数のブランチの中から、１段階目で選択されるブランチの選択数ｑの値を、上位の情報ビットの値に対応するパスの候補毎に独立した値に設定する。
【実施例４】
【００９１】
実施例４は、実施例３における１段階目の選択処理をさらに高速化する例である。本実施例４では、２段階選択方式を用いたマルチビットＳＣＬ復号方式において、１段階目の選択方法が実施例３とは異なる。以下では、実施例３と異なる点を中心に説明する。
【００９２】
本実施例において、追加尤度量の全体は、ＭＢシンボルの再符号化ビットβ＝ｂＵに対して、各ビットの対数尤度比αiの硬判定ビットが異なる場合に、ペナルティ量として|αi|を追加することで求められる。ｂはＭＢシンボルであり、生成行列Ｕは、以下のように表される。
【数９】
2019102950.tif 000011
なお、追加尤度量は、例えばＭｉｎ−Ｓｕｍ近似において求められるが、追加尤度量の算出方法はＭｉｎ−Ｓｕｍ近似に限定されない。
【００９３】
本実施例では、選択処理が行われる前にある程度その大きさの順番は確定している。特に、まったくペナルティがない場合、尤度Ｌiは最小となり、Ｌi＝０となる。一方、１個のビットだけが硬判定と再符号化ビットとの間で異なる場合（以下、「不一致ビット」と記載する）は、Ｌi＝|αi|となり、不一致ビットが２個以上含まれる場合よりも尤度Ｌiの値は小さい可能性が高い。
【００９４】
図１９は、実施例４におけるペナルティーテーブルの一例を示す図である。図１９に示されたペナルティ量は、不一致ビットに対応する追加尤度量の一例である。また、追加尤度は、尤度のオフセットの一例である。本実施例では、例えば、異なるビットが１個以下の場合のパターンだけに限定して、パスの候補が選択される。本実施例では、例えば選択数ｑk＝Ｍ＋１＝５に設定される。なお、選択数ｑkの値を大きくすれば、最良のパスが選択される可能性が高まるため、特性が向上する。
【００９５】
なお、本実施例における復号装置２０および各マルチビットＳＣデコーダ２６の構成は、図１６および図１７を用いて説明した実施例３における復号装置２０および各マルチビットＳＣデコーダ２６の構成と同様である。また、図１９に示されたペナルティーテーブルは、例えば、各マルチビットＳＣデコーダ２６内の記憶部２６２に格納される。
【００９６】
［復号装置２０の動作］
図２０は、実施例４における復号装置２０の動作の一例を示すフローチャートである。なお、図２０において、図１８に示された処理と同じ符号が付された処理は、以下に説明する点を除き、図１８において説明された処理と同様であるため、重複する説明を省略する。
【００９７】
ステップＳ２０３において、変数ｉに対応するインデックスのＭＢシンボルが情報ビットシンボルである場合（Ｓ２０３：Ｙｅｓ）、マルチビットＳＣデコーダ２６は、ＰＭ簡易更新処理を実行する（Ｓ２２０）。ステップＳ２２０では、ｎ−ｍステージＬＬＲ演算部２６４は、ＭＢシンボルの再符号化ビットと、各ビットの対数尤度比αiの硬判定ビットとを比較し、不一致ビットを特定する。そして、ｎ−ｍステージＬＬＲ演算部２６４は、記憶部２６２内のペナルティーテーブルを参照して、特定された不一致ビットに対応するペナルティ量を取得し、取得されたペナルティ量をＰＭ更新部２６０およびＰＭ更新部２６１へそれぞれ出力する。ＰＭ更新部２６０は、パスの候補に複数のブランチを追加し、追加されたブランチ毎に、当該ブランチが追加されたパスの候補を新たなパスの候補とする。そして、ＰＭ更新部２６０は、パスの候補のＰＭに、ｎ−ｍステージＬＬＲ演算部２６４から出力されたペナルティ量を加算することにより、新たなパスの候補のＰＭを更新する。
【００９８】
次に、それぞれの第１選択部２７は、マルチビットＳＣデコーダ２６から出力されたパスの候補の中から、ＰＭの値が小さい順に選択数ｑ個分のパスの候補を選択する１段階目の選択処理を実行する（Ｓ２２１）。例えば選択数ｑkがＭ＋１＝５である場合、ステップＳ２２１において、それぞれの第１選択部２７は、例えば、マルチビットＳＣデコーダ２６で加算されたペナルティ量の数が１個以下のパスの候補を選択する。これにより、本実施例の第１選択部２７は、複数のＰＭの値を比較する処理を省略することができる。これにより、１段階目の選択処理が簡素化され、１段階目の選択処理が高速に実施される。
【００９９】
［実施例４の効果］
以上、実施例４について説明した。本実施例において、復号装置２０のプロセッサは、マルチビット逐次キャンセレーションリスト復号方式であって、パスの候補を２段階で選択する方式において、情報ビット系列に含まれる上位の情報ビットの値に対応するブランチに対して追加された複数のブランチのそれぞれに対して、再符号化された部分符号ビットと硬判定ビットによって求まる部分符号ビットとの間で一致していないビットの数に応じて追加尤度量を適用する。そして、復号装置２０は、１段階目の選択において、適用された追加尤度量が少ない順に所定数のブランチを選択する。これにより、復号装置２０は、ＳＣＬ復号方式の処理における処理時間および処理量を削減することができる。
【０１００】
また、本実施例において、復号装置２０のプロセッサは、情報ビット系列に含まれる上位の情報ビットの値に対応するブランチに対して追加された複数のブランチのそれぞれに対して、追加尤度量を特定する。そして、復号装置２０のプロセッサは、特定された追加尤度量を、上位の情報ビットに対応するブランチを含むパスの候補の尤度に加算する。これにより、復号装置２０は、ＳＣＬ復号方式の処理における処理時間および処理量を削減することができる。
【０１０１】
［ハードウェア］
上記した各実施例１〜４における復号装置２０は、例えば図２１に示すようなハードウェアにより実現される。図２１は、復号装置２０のハードウェアの一例を示す図である。復号装置２０は、例えば図２１に示すように、メモリ２００、プロセッサ２０１、およびインターフェイス回路２０２を有する。
【０１０２】
インターフェイス回路２０２は、復調装置１８等の他の装置との間で有線通信を行うためのインターフェイスである。メモリ２００には、例えば復号装置２０の機能を実現するための各種プログラム等が格納される。プロセッサ２０１は、メモリ２００から読み出されたプログラムを実行することにより、復号装置２０の各機能を実現する。
【０１０３】
例えば実施例１における復号装置２０では、メモリ２００内に、パス制御部２１、複数のＳＣデコーダ２２、選択部２３、およびリスト数切替部２４の各機能を実現するためのプログラムが格納される。メモリ２００は、メモリ２００から読み出されたプログラムを実行することにより、パス制御部２１、複数のＳＣデコーダ２２、選択部２３、およびリスト数切替部２４の各機能を実現する。
【０１０４】
また、例えば実施例２における復号装置２０では、メモリ２００内に、パス制御部２１、複数のＳＣデコーダ２２、選択部２３、および硬判定指示部２５の各機能を実現するためのプログラムが格納される。メモリ２００は、メモリ２００から読み出されたプログラムを実行することにより、パス制御部２１、複数のＳＣデコーダ２２、選択部２３、および硬判定指示部２５の各機能を実現する。
【０１０５】
また、例えば実施例３または４における復号装置２０では、メモリ２００内に、パス制御部２１、複数のマルチビットＳＣデコーダ２６、複数の第１選択部２７、および第２選択部２８の各機能を実現するためのプログラムが格納される。メモリ２００は、メモリ２００から読み出されたプログラムを実行することにより、パス制御部２１、複数のマルチビットＳＣデコーダ２６、複数の第１選択部２７、および第２選択部２８の各機能を実現する。
【０１０６】
なお、メモリ２００内のプログラムやデータ等は、必ずしも全てが最初からメモリ２００内に記憶されていなくてもよい。例えば、受信装置１６に挿入されるメモリカードなどの可搬型記録媒体に各プログラムやデータ等が記憶され、復号装置２０がこのような可搬型記録媒体から各プログラムやデータ等を取得して実行するようにしてもよい。また、各プログラムやデータ等を記憶させた他のコンピュータまたはサーバ装置などから、無線通信回線、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介して、復号装置２０が各プログラムを取得して実行するようにしてもよい。
【０１０７】
＜その他＞
なお、開示の技術は、上記した各実施例に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。
【０１０８】
例えば、上記した実施例３において、選択数ｑkは、下位の情報ビットにおける複数のブランチが追加される上位の情報ビットのブランチ毎に、独立した値に設定されるが、開示の技術はこれに限られない。例えば、選択数ｑkは、下位の情報ビットにおける複数のブランチが追加される上位の情報ビットのブランチ毎に同じ数に設定され、情報ビット系列中における情報ビットの位置毎に、独立した値に設定されてもよい。特に、選択数ｑkは、インデックスの値が大きい情報ビットが含まれるブロックに設定される選択数の値ほど、インデックスの値が小さい情報ビットが含まれるブロックに設定される選択数の値よりも小さい値に設定されてもよい。
【０１０９】
また、上記した各実施例において、復号装置２０が有するそれぞれの処理ブロックは、各実施例におけるそれぞれの装置の理解を容易にするために、主な処理内容に応じて機能別に区分したものである。そのため、処理ブロックの区分方法やその名称によって、開示の技術が制限されることはない。また、上記した各実施例における復号装置２０がそれぞれ有する各処理ブロックは、処理内容に応じてさらに多くの処理ブロックに細分化されてもよいし、複数の処理ブロックが１つの処理ブロックに統合されてもよい。また、それぞれの処理ブロックによって実行される処理は、ソフトウェアによる処理として実現されてもよく、ＡＳＩＣ（Application  Specific  Integrated  Circuit）等の専用のハードウェアにより実現されてもよい。
【符号の説明】
【０１１０】
１０  通信システム
１１  送信装置
１２  無線送信機
１３  変調装置
１４  符号化装置
１６  受信装置
１７  無線受信機
１８  復調装置
２０  復号装置
２００  メモリ
２０１  プロセッサ
２０２  インターフェイス回路
２１  パス制御部
２２  ＳＣデコーダ
２２０  ＰＭ更新部
２２１  ＰＭ更新部
２２２  記憶部
２２３  判定部
２２４  ｎステージＬＬＲ演算部
２２５  ＰＭ更新部
２２６  スイッチ
２３  選択部
２４  リスト数切替部
２５  硬判定指示部
２６  マルチビットＳＣデコーダ
２６０  ＰＭ更新部
２６１  ＰＭ更新部
２６２  記憶部
２６３  判定部
２６４  ｎ−ｍステージＬＬＲ演算部
２７  第１選択部
２８  第２選択部
【図１】
2019102950.tif 000012
【図２】
2019102950.tif 000013
【図３】
2019102950.tif 000014
【図４】
2019102950.tif 000015
【図５】
2019102950.tif 000016
【図６】
2019102950.tif 000017
【図７】
2019102950.tif 000018
【図８】
2019102950.tif 000019
【図９】
2019102950.tif 000020
【図１０】
2019102950.tif 000021
【図１１】
2019102950.tif 000022
【図１２】
2019102950.tif 000023
【図１３】
2019102950.tif 000024
【図１４】
2019102950.tif 000025
【図１５】
2019102950.tif 000026
【図１６】
2019102950.tif 000027
【図１７】
2019102950.tif 000028
【図１８】
2019102950.tif 000029
【図１９】
2019102950.tif 000030
【図２０】
2019102950.tif 000031
【図２１】
2019102950.tif 000032