(57)【特許請求の範囲】
【請求項１】
テイルバイティング畳み込み符号化された受信データをビタビアルゴリズムに基づいて復号する復号処理部と、
前記復号処理部へ入力される受信データのうち、フレームの先頭から第１の数の受信データを保持し、前記復号処理部への１フレーム分の受信データの入力が終了した後に、保持している受信データを前記復号処理部へ出力するデータ保持部と、
を備え、
前記復号処理部は、
受信データが入力される毎にビタビアルゴリズムに基づく状態毎のブランチメトリックを計算するブランチメトリック計算部と、
前記ブランチメトリックに基づいて、前記状態の各々に対応する生き残りパスを特定するとともに、生き残りパスのパスメトリックを算出する生き残りパス特定部と、
前記生き残りパス特定部で特定された各生き残りパスに基づいて決まる値を、それぞれが前記状態と対応付けられた複数のシフトレジスタに格納して保持する生き残りパス記憶部と、
前記生き残りパス記憶部の前記複数のシフトレジスタから出力される値のうち、前記生き残りパス特定部で算出された最新のパスメトリックの中で尤度の最も高いパスメトリックに対応するものを復号結果として出力する出力選択部と、
を備え、
前記第１の数が１フレームに含まれる受信データの数よりも大きい場合、
前記データ保持部は、複数のフレームにわたって受信データを保持し、保持している受信データの数が前記第１の数に達した場合、前記復号処理部への１フレーム分の受信データの入力が終了するのを待ち、前記復号処理部への１フレーム分の受信データの入力が終了した後に、保持している受信データを出力する、
ことを特徴とする復号装置。
【請求項２】
テイルバイティング畳み込み符号化された受信データをビタビアルゴリズムに基づいて復号する復号処理部と、
前記復号処理部へ入力される受信データのうち、フレームの先頭から第１の数の受信データを保持し、前記復号処理部への１フレーム分の受信データの入力が終了した後に、保持している受信データを前記復号処理部へ出力するデータ保持部と、
を備え、
前記復号処理部は、
受信データが入力される毎にビタビアルゴリズムに基づく状態毎のブランチメトリックを計算するブランチメトリック計算部と、
前記ブランチメトリックに基づいて、前記状態の各々に対応する生き残りパスを特定するとともに、生き残りパスのパスメトリックを算出する生き残りパス特定部と、
前記生き残りパス特定部で特定された各生き残りパスに基づいて決まる値を、それぞれが前記状態と対応付けられた複数のシフトレジスタに格納して保持する生き残りパス記憶部と、
前記生き残りパス記憶部の前記複数のシフトレジスタから出力される値のうち、前記生き残りパス特定部で算出された最新のパスメトリックの中で尤度の最も高いパスメトリックに対応するものを復号結果として出力する出力選択部と、
を備え、
前記復号処理部から出力される復号結果の誤りを検出する誤り検出部と、
前記復号処理部から出力される復号結果を並べ替えてから出力することが可能な並べ替え部と、
前記誤り検出部における誤り検出結果に基づいて前記データ保持部および前記並べ替え部を制御する動作制御部と、
を備え、
前記データ保持部は、前記復号処理部へ入力される前記受信データを受け取り、受け取った受信データを前記復号処理部へ出力するとともに保持し、前記復号処理部へ１フレーム分の受信データの出力が終了すると、保持している受信データの中から第２の数の受信データを選択して前記復号処理部へ出力し、
前記動作制御部は、前記誤り検出部で誤りが検出されない場合、前記並べ替え部に対して前記復号結果を並べ替えずに出力するよう指示し、前記誤り検出部で誤りが検出された場合には、前記データ保持部に対して、前記復号処理部へ最初に出力する受信データの位置を変更して１フレーム分のデータおよび前記第２の数の受信データを再度出力するよう指示するとともに、前記並べ替え部に対して、前記復号結果を前記データ保持部への指示内容に対応する順番に並べ替えてから出力するよう指示する、
ことを特徴とする復号装置。
【請求項３】
テイルバイティング畳み込み符号化された受信データをビタビアルゴリズムに基づいて復号する復号処理部と、
前記復号処理部へ入力される受信データのうち、フレームの先頭から第１の数の受信データを保持し、前記復号処理部への１フレーム分の受信データの入力が終了した後に、保持している受信データを前記復号処理部へ出力するデータ保持部と、
を備え、
前記復号処理部は、
受信データが入力される毎にビタビアルゴリズムに基づく状態毎のブランチメトリックを計算するブランチメトリック計算部と、
前記ブランチメトリックに基づいて、前記状態の各々に対応する生き残りパスを特定するとともに、生き残りパスのパスメトリックを算出する生き残りパス特定部と、
前記生き残りパス特定部で特定された各生き残りパスに基づいて決まる値を、それぞれが前記状態と対応付けられた複数のシフトレジスタに格納して保持する生き残りパス記憶部と、
前記生き残りパス記憶部の前記複数のシフトレジスタから出力される値のうち、前記生き残りパス特定部で算出された最新のパスメトリックの中で尤度の最も高いパスメトリックに対応するものを復号結果として出力する出力選択部と、
を備え、
前記復号処理部から出力される復号結果の誤りを検出する誤り検出部と、
前記復号処理部から出力される復号結果を保持する復号結果保持部と、
前記誤り検出部における誤り検出結果に基づいて前記データ保持部、前記生き残りパス記憶部および前記復号結果保持部を制御する動作制御部と、
を備え、
前記データ保持部は、前記復号処理部へ入力される前記受信データを受け取り、受け取った受信データを前記復号処理部へ出力するとともに保持し、前記復号処理部へ１フレーム分の受信データの出力が完了すると、保持している受信データの中から第３の数の受信データを選択して前記復号処理部へ出力し、
前記生き残りパス記憶部は、前記出力選択部に対して出力する値の出力元のレジスタを変更可能な構成であり、
前記動作制御部は、
前記誤り検出部で誤りが検出されない場合、前記復号結果保持部に対して保持している復号結果を出力するよう指示し、
前記誤り検出部で誤りが検出された場合には、前記データ保持部に対して、前記第３の数を変更した上で１フレーム分の受信データおよび前記第３の数の受信データを再度出力するよう指示し、前記生き残りパス記憶部に対して、前記データ保持部への指示内容に対応するレジスタを前記出力元とするよう指示し、前記復号結果保持部に対して、保持している復号結果を廃棄するよう指示する、
ことを特徴とする復号装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テイルバイティング（Tail-Biting）畳み込み符号を復号する復号装置に関する。
【背景技術】
【０００２】
従来のテイルバイティング畳み込み符号の復号装置が特許文献１に記載されている。特許文献１に記載の復号装置においては、まず、復号の対象となる受信フレームに対して、復号対象のビット系列の後端部分を含んだ系列をプレフィックスとして復号対象のビット系列の先頭に付加するとともに、復号対象のビット系列の前端部分を含んだ系列をポストフィックスとして復号対象のビット系列の末尾に付加して受信フレームを再構成する。次に、復号装置は、再構成した受信フレームを、テイルバイティング畳み込み符号の生成で用いられたものと同一の生成多項式に基づき設計されたゼロテイリング畳み込み符号の復号器で復号する。このとき、復号装置は、ビタビ復号アルゴリズムにより尤度の高いパスを選択し、選択したパスをパスメモリに保持し、再構成した受信フレームのデータをすべて入力した後に、選択したパスをトレースバックすることにより復号結果を生成する。【０００３】
また、従来のテイルバイティング畳み込み符号の他の復号装置が非特許文献１に記載されている。非特許文献１に記載の復号装置では、復号対象のビット系列の前端部分を含んだ系列をポストフィックスとして付加して受信フレームを再構成する。そして、復号装置は、再構成した受信フレームに対して、すべての状態のパスメトリック値の初期値を同一の値にして、ビタビ復号アルゴリズムにより尤度の高いパスを選択した結果をパスメモリに保持する。復号装置は、再構成した受信フレームのデータをすべて入力した後に、最もパスメトリックの値が大きくなるパスをトレースバックすることにより復号結果を生成する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第５３１５４４９号公報
【非特許文献】
【０００５】
【非特許文献１】“To  Bite  or  Not  to  Bite-A  Study  of  Tail  Bits  versus  Tail-Biting”  Personal,  Indoor  and  Mobile  Radio  Communications,  1996.  PIMRC'96,  Seventh  IEEE  International  Symposium,  Volume  2,  Oct.  15-18,  1996,  Page(s):317  -  321.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載の復号装置および非特許文献１に記載の復号装置は、再構成した受信フレームのデータの入力が完了した後にトレースバック処理を実行し、復号結果を生成する。そのため、復号遅延が大きくなる、という問題があった。【０００７】
本発明は、上記に鑑みてなされたものであって、テイルバイティング畳み込み符号の復号処理における復号遅延を抑制可能な復号装置を得ることを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明にかかる復号装置は、テイルバイティング畳み込み符号化された受信データをビタビアルゴリズムに基づいて復号する復号処理部と、復号処理部へ入力される受信データのうち、フレームの先頭から第１の数の受信データを保持し、復号処理部への１フレーム分の受信データの入力が終了した後に、保持している受信データを復号処理部へ出力するデータ保持部と、を備える。復号処理部は、受信データが入力される毎にビタビアルゴリズムに基づく状態毎のブランチメトリックを計算するブランチメトリック計算部と、ブランチメトリックに基づいて、状態の各々に対応する生き残りパスを特定するとともに、生き残りパスのパスメトリックを算出する生き残りパス特定部とを備える。また、復号処理部は、生き残りパス特定部で特定された各生き残りパスに基づいて決まる値を、それぞれが状態と対応付けられた複数のシフトレジスタに格納して保持する生き残りパス記憶部と、生き残りパス記憶部の複数のシフトレジスタから出力される値のうち、生き残りパス特定部で算出された最新のパスメトリックの中で尤度の最も高いパスメトリックに対応するものを復号結果として出力する出力選択部と、を備える。第１の数が１フレームに含まれる受信データの数よりも大きい場合、データ保持部は、複数のフレームにわたって受信データを保持し、保持している受信データの数が第１の数に達した場合、復号処理部への１フレーム分の受信データの入力が終了するのを待ち、復号処理部への１フレーム分の受信データの入力が終了した後に、保持している受信データを出力する。
【発明の効果】
【０００９】
本発明にかかる復号装置は、テイルバイティング畳み込み符号の復号処理における復号遅延を抑制することができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１にかかる復号装置の構成例を示す図
【図２】実施の形態１にかかる復号装置への受信データの入力タイミングと復号装置からの復号結果の出力タイミングとの関係を示す図
【図３】実施の形態１にかかる復号装置の各部を専用のハードウェアで実現する場合のハードウェアの構成例を示す図
【図４】実施の形態１にかかる復号装置の各部を制御回路で実現する場合のハードウェアの構成例を示す図
【図５】実施の形態２にかかる復号装置への受信データの入力タイミングと復号装置からの復号結果の出力タイミングとの関係を示す図
【図６】実施の形態３にかかる復号装置の構成例を示す図
【図７】実施の形態３にかかる復号装置への受信データの入力タイミングと復号装置からの復号結果の出力タイミングとの関係を示す図
【図８】実施の形態４にかかる復号装置の構成例を示す図
【図９】実施の形態４にかかる復号装置への受信データの入力タイミングと復号装置からの復号結果の出力タイミングとの関係を示す図
【発明を実施するための形態】
【００１１】
以下に、本発明の実施の形態にかかる復号装置を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１２】
実施の形態１．
図１は、本発明の実施の形態１にかかる復号装置の構成例を示す図である。実施の形態１にかかる復号装置１は、データ退避部１１、選択部１２、ブランチメトリック計算部１３、ＡＣＳ（Add  Compare  Select）計算部１４、パスメトリック記憶部１５、生き残りパス記憶部１６、最大値検出部１７および出力選択部１８を備える。復号装置１は、テイルバイティング畳み込み符号化されたデータを、ビタビアルゴリズムに基づくビタビ復号処理により復号する。ブランチメトリック計算部１３、ＡＣＳ計算部１４、パスメトリック記憶部１５、生き残りパス記憶部１６、最大値検出部１７および出力選択部１８は、外部から入力されるテイルバイティング畳み込み符号化された受信データを、１フレーム分の受信データ毎にビタビアルゴリズムに基づいて復号する復号処理部３０を構成する。
【００１３】
データ保持部であるデータ退避部１１は、外部から復号装置１へ入力される受信データのうち、フレームの先頭から予め決められた一定数の受信データを一定時間保持してから出力する退避処理を実行する。
【００１４】
選択部１２は、外部から復号装置１へ入力される受信データおよびデータ退避部１１から入力される受信データの一方を選択して出力する。
【００１５】
ブランチメトリック計算部１３は、選択部１２から入力された受信データに基づいて、時点ごとにブランチメトリックを計算する。本実施の形態では、受信信号とレプリカ信号とが合致しているほど、ブランチメトリック値が大きくなるようにする。
【００１６】
生き残りパス特定部であるＡＣＳ計算部１４は、ブランチメトリックに基づいて、各状態に対応する生き残りパスを特定するとともに、生き残りパスのパスメトリックを計算する。具体的には、ＡＣＳ計算部１４は、ビタビアルゴリズムに基づく各状態について、更新後のパスメトリックの候補をブランチメトリックおよび後述するパスメトリック記憶部１５で保持されているパスメトリックを用いて２つずつ算出し、算出した２つの候補のうち、尤度の高い方を選択して更新後のパスメトリックとする。本実施の形態における尤度の高い方とは、パスメトリックの大きい方とする。ＡＣＳ計算部１４は、各状態の更新後のパスメトリックをパスメトリック記憶部１５に出力する。更新後のパスメトリックに対応するパスが生き残りパスとなる。また、ＡＣＳ計算部１４は、特定した生き残りパス、すなわち更新後のパスメトリックを選択する処理における選択結果を生き残りパス記憶部１６に通知する。
【００１７】
パスメトリック記憶部１５は、ＡＣＳ計算部１４から出力された各状態のパスメトリックを受け取り保持する。なお、パスメトリック記憶部１５は、各状態のパスメトリックをＡＣＳ計算部１４から最初に受け取る前は、各状態のパスメトリックの初期値として同じ値を保持しているものとする。
【００１８】
生き残りパス記憶部１６は、ＡＣＳ計算部１４から通知された選択結果に基づいて後述する処理を行うことにより、ＡＣＳ計算部１４が特定した状態毎の生き残りパスを記憶するとともに、各状態に対応する復号結果の候補を出力する。
【００１９】
最大値検出部１７は、パスメトリック記憶部１５が保持している各状態の尤度のもっとも大きなもの、すなわちパスメトリックの中から値が最大のものを検出する。
【００２０】
出力選択部１８は、生き残りパス記憶部１６から出力される復号結果の候補のうち、最大値検出部１７で検出されたパスメトリックに対応する候補を選択し、復号結果として出力する。
【００２１】
次に、実施の形態１にかかる復号装置１の全体の動作について説明する。ここでは、データの送信側で使用されている畳み込み符号器の拘束長をＫとして説明を行う。
【００２２】
復号装置１には、畳み込み符号化された１フレーム分の受信データである受信系列がＮ時点分の受信データとして順番に入力される。なお、Ｎは正の整数であり、復号後のビット数に相当する。Ｎ時点分の受信データは、選択部１２に入力される。また、各受信データはデータ退避部１１にも入力され、データ退避部１１は、入力された受信系列の先頭からＭ時点までのＭ個の受信データを抽出して一定時間保持する。なお、本実施の形態ではＭをＮ以下の正の整数とする。Ｍは第１の数であり、ＭがＮよりも大きい場合の復号装置１の動作については実施の形態２で説明する。
【００２３】
選択部１２は、先頭からＮ時点までの受信系列が入力されている場合は、入力された受信データを選択してブランチメトリック計算部１３に出力する。また、選択部１２は、全ての受信データすなわちＮ時点までのＮ個の受信データが入力された後は、データ退避部１１が保持しているＭ個の受信データを先頭から順番に選択してブランチメトリック計算部１３に出力する。この結果、ブランチメトリック計算部１３には、１フレーム分の受信データが先頭から順番に入力され、１フレーム分の受信データの入力が完了すると、入力が完了した１フレーム分の受信データのうち、先頭からＭ番目までの受信データが再度入力される。
【００２４】
ブランチメトリック計算部１３は、選択部１２から受信データが入力される毎に、時点ごとにブランチメトリックを計算する。なお、ブランチメトリック計算部１３は、既存の方法を使用してブランチメトリックを計算する。ブランチメトリック計算部１３は、例えば、受信信号とレプリカ信号とが合致しているほど値が大きくなるようにブランチメトリックを計算する。ブランチメトリックは、２K-1個の状態のそれぞれに対して２つずつ算出される。ブランチメトリック計算部１３は、計算したブランチメトリックをＡＣＳ計算部１４に出力する。
【００２５】
ＡＣＳ計算部１４は、ブランチメトリック計算部１３からブランチメトリックが入力されるごとに、入力されたブランチメトリックと、パスメトリック記憶部１５で保持されているパスメトリックとに基づいて、最新のパスメトリックを求める。例えば、ＡＣＳ計算部１４は、まず、パスメトリック記憶部１５で保持されている、各状態のパスメトリックに対して、１つの状態につき２つ存在しているブランチメトリックのそれぞれを加算し、各状態のパスメトリックの候補を２つずつ作成する。ＡＣＳ計算部１４は、各状態について、２つの候補のうち値が小さい方のパスメトリックを選択して最新のパスメトリックとする。なお、ＡＣＳ計算部１４は、各状態の２つのブランチメトリックのうち、値が小さい方を選択する処理を先に行い、選択したブランチメトリックをパスメトリックに加算して最新のパスメトリックを求めるようにしてもよい。ＡＣＳ計算部１４は、各状態の最新のパスメトリックをパスメトリック記憶部１５に出力する。この結果、パスメトリック記憶部１５が保持している各状態のパスメトリックが最新のパスメトリックに更新される。また、ＡＣＳ計算部１４は、最新のパスメトリックとして選択した候補に対応する状態の番号を選択結果として生き残りパス記憶部１６に出力する。
【００２６】
ＡＣＳ計算部１４の動作の具体例について説明する。２K-1個の各状態の番号をＡ（＝０，１，２，…，２K-1−１）とし、番号がＡの状態を「状態（Ａ）」で表すとすると、ＡＣＳ計算部１４は、状態（Ａ）の最新のパスメトリックを求める場合、まず、パスメトリック記憶部１５から、状態（Ａ／２）のパスメトリックを読み出す。ここで「Ａ／２」は、Ａを２で割った商を表すものとする。例えば、Ａ＝０の場合はＡ／２＝０であり、Ａ＝５の場合はＡ／２＝２である。ＡＣＳ計算部１４は、次に、読み出した状態（Ａ／２）のパスメトリックに対して、状態（Ａ／２）から状態（Ａ）に接続するブランチのブランチメトリックを加算して、状態（Ａ）のパスメトリックの第１の候補とする。また、ＡＣＳ計算部１４は、状態（Ａ）のパスメトリックに対して、状態（Ａ／２＋２K-2）から状態（Ａ）に接続するブランチのブランチメトリックを加算して、状態（Ａ）のパスメトリックの第２の候補とする。そして、ＡＣＳ計算部１４は、状態（Ａ）のパスメトリックの第１の候補および第２の候補のうち、値が大きい方を選択して状態（Ａ）の最新のパスメトリックとする。この場合、ＡＣＳ計算部１４は、最新のパスメトリックに対応している状態の番号、すなわち、Ａ／２またはＡ／２＋２K-2を、状態（Ａ）に対応する選択結果として生き残りパス記憶部１６に通知する。
【００２７】
生き残りパス記憶部１６は、２K-1個のＭ段のシフトレジスタ（以下、Ｍ段シフトレジスタ）を備えており、Ｍ段シフトレジスタの各々は、各状態に対応付けられている。Ｍ段シフトレジスタの段数は、データ退避部１１が一定時間保持する受信データの長さと等しい。生き残りパス記憶部１６は、ＡＣＳ計算部１４から各状態に対応する選択結果として、対応する状態の番号が通知されると、以下の手順を実行し、各状態に対応するＭ段シフトレジスタで記憶している生き残りパスを更新する。このとき、生き残りパス記憶部１６は、各Ｍ段シフトレジスタにそれまで格納されていたビットのうち、最上位のビットすなわちＭ段目のレジスタである最上段のレジスタに格納されていたビットを、各生き残りパスに対応する復号結果の候補として出力選択部１８へ出力する。
【００２８】
生き残りパスを更新する処理では、生き残りパス記憶部１６は、まず、状態（Ａ）に対応付けられたＭ段シフトレジスタについて、状態（Ａ／２）に対応付けられたＭ段シフトレジスタに格納された値、および、状態（Ａ／２＋２K-2）に対応付けられたＭ段シフトレジスタに格納された値のうち、ＡＣＳ計算部１４から通知された選択結果に対応する方のＭ段シフトレジスタに格納された値を読み出し、これを１ビットシフトさせて、状態（Ａ）のＭ段シフトレジスタに代入する。生き残りパス記憶部１６は、次に、状態の番号Ａが偶数の場合は状態（Ａ）に対応付けられたＭ段シフトレジスタの最下位のビットとして‘０’を代入し、状態の番号Ａが奇数の場合は状態（Ａ）に対応付けられたＭ段シフトレジスタの最下位のビットとして‘１’を代入する。このように、Ｍ段シフトレジスタに格納されるビット列は、ＡＣＳ計算部１４で特定された各状態の生き残りパスに基づいて決まる。生き残りパス記憶部１６が各状態に対応する生き残りパスを更新する動作の具体例を以下に示す。
【００２９】
状態１の最新のパスメトリックに対応している選択結果として「状態０」が通知された場合の生き残りパス記憶部１６の動作は次のようになる。この場合、生き残りパス記憶部１６は、状態０に対応付けられたＭ段シフトレジスタに格納されている値を読み出し、読み出した値を１ビットシフトさせるとともに最下位ビットとして‘１’を付加して、状態１に対応付けられたＭ段シフトレジスタに代入する。また、状態２の最新のパスメトリックに対応している選択結果として「状態３」が通知された場合の生き残りパス記憶部１６の動作は次のようになる。この場合、生き残りパス記憶部１６は、状態３に対応付けられたＭ段シフトレジスタに格納されている値を読み出し、読み出した値を１ビットシフトさせるとともに最下位ビットとして‘０’を付加して、状態２に対応付けられたＭ段シフトレジスタに代入する。
【００３０】
最大値検出部１７は、２K-1個の各状態のパスメトリックの中から尤度が最大のものすなわちパスメトリックが最小のものを検出し、検出したパスメトリックに対応する状態番号を出力選択部１８に出力する。
【００３１】
出力選択部１８は、入力時点が（Ｍ＋１）以降となった場合、すなわち、先頭からＭ＋１時点目以降の受信データが復号装置１に入力されるようになった場合、生き残りパス記憶部１６から出力される復号結果の候補のうち、最大値検出部１７から出力された状態番号に対応するＭ段シフトレジスタから出力されたものを復号結果として出力する処理を開始する。
【００３２】
復号装置１の各部が上述した処理を繰り返し実行することにより、復号装置１は、図２に示すようなタイミングで、受信データの入力をしながら復号結果の出力ができるようになる。すなわち、復号装置１は、受信データの先頭から数えて（Ｍ＋１）時点〜（Ｍ＋Ｎ）時点において、Ｎビットの受信データの復号結果を出力する。よって、復号装置１は、復号遅延を小さくすることができ、性能の劣化を小さくすることができる。なお、図２は、実施の形態１にかかる復号装置１への受信データの入力タイミングと復号装置１からの復号結果の出力タイミングとの関係を示す図である。
【００３３】
以上のように、本実施の形態にかかる復号装置１は、受信データの先頭から予め決められた長さの一部の受信データについて、ブランチメトリック計算部１３およびこの後段の各処理部が復号処理を行うとともに、データ退避部１１が一時的に保持する。ブランチメトリック計算部１３およびこの後段の各処理部は、１フレーム分の受信データが入力された後は、データ退避部１１が一時的に保持している受信データに対して、先頭から順番に復号処理を行う。これにより、テイルバイティング畳み込み符号の復号処理における復号遅延を小さくすることができる。また、復号装置１において、データ退避部１１が一時的に保持する受信データの長さは、ブランチメトリック計算部１３およびこの後段の各処理部への受信データの入力が開始されてから復号結果の出力が開始となるまでの間に、ブランチメトリック計算部１３に入力される受信データの長さと等しい。これにより、復号遅延をさらに小さくすることができる。
【００３４】
ここで、復号装置１のハードウェア構成について説明する。復号装置を構成しているデータ退避部１１、選択部１２、ブランチメトリック計算部１３、ＡＣＳ計算部１４、パスメトリック記憶部１５、生き残りパス記憶部１６、最大値検出部１７および出力選択部１８は、処理回路により実現される。すなわち、復号装置１は、受信データのうちの先頭のあらかじめ定められた長さのデータをデータ退避部１１に保持するとともに、ビタビ復号処理を実行する回路へ入力し、すべてのデータの入力が完了した後、データ退避部１１に保持した受信データを選択してビタビ復号処理を実行する回路へ入力することにより、受信フレームの再構成を行ない、ビタビ復号処理を行った際のすべての状態の復号結果の候補の中からパスメトリックの尤度が最も大きな状態の復号結果を、１時点分の受信データが入力される毎に１ビットずつ選択して出力するための処理回路を備える。処理回路は、専用のハードウェアであっても、プロセッサとメモリとを含んだ制御回路であってもよい。
【００３５】
図３は、復号装置１の各部を専用のハードウェアで実現する場合のハードウェアの構成例を示す図である。復号装置１のデータ退避部１１、選択部１２、ブランチメトリック計算部１３、ＡＣＳ計算部１４、パスメトリック記憶部１５、生き残りパス記憶部１６、最大値検出部１７および出力選択部１８を専用のハードウェアで実現する場合、専用のハードウェアである処理回路１００は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field  Programmable  Gate  Array）、またはこれらを組み合わせたものが該当する。データ退避部１１、選択部１２、ブランチメトリック計算部１３、ＡＣＳ計算部１４、パスメトリック記憶部１５、生き残りパス記憶部１６、最大値検出部１７および出力選択部１８のそれぞれを複数の処理回路を組み合わせて実現してもよいし、各部の機能をまとめて単一の処理回路で実現してもよい。
【００３６】
図４は、復号装置１の各部を制御回路で実現する場合のハードウェアの構成例を示す図である。復号装置１を制御回路で実現する場合、制御回路は、プロセッサ１０１およびメモリ１０２を備える。プロセッサ１０１は、ＣＰＵ（Central  Processing  Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、ＤＳＰともいう）、システムＬＳＩ（Large  Scale  Integration）などである。メモリ１０２としては、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリー、ＥＰＲＯＭ（Erasable  Programmable  Read  Only  Memory）、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read-Only  Memory）等の、不揮発性または揮発性の半導体メモリが一般的に使用されるが、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等であってもよい。
【００３７】
データ退避部１１、選択部１２、ブランチメトリック計算部１３、ＡＣＳ計算部１４、パスメトリック記憶部１５、生き残りパス記憶部１６、最大値検出部１７および出力選択部１８を制御回路で実現する場合、これらの各部の機能は、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアとの組み合わせにより実現される。ソフトウェアおよびファームウェアはプログラムとして記述され、メモリ１０２に格納される。プロセッサ１０１は、メモリ１０２に記憶されたプログラムを読み出して実行することにより、復号装置１の各部の機能を実現する。すなわち、復号装置１は、制御回路により実行されるときに、受信データのうちの先頭のあらかじめ定められた長さのデータを退避させるとともに、ビタビ復号処理の実行部へ入力し、すべてのデータの入力が完了した後、退避させた受信データをビタビ復号処理の実行部へ入力することにより、受信フレームの再構成を行うステップ、ビタビ復号処理を行った際のすべての状態の復号結果の候補の中からパスメトリックの尤度が最も大きな状態の復号結果を、１時点分の受信データが入力される毎に１ビットずつ選択して出力するステップ、が結果的に実行されることになるプログラムを格納するためのメモリ１０２を備える。また、このプログラムは、データ退避部１１、選択部１２、ブランチメトリック計算部１３、ＡＣＳ計算部１４、パスメトリック記憶部１５、生き残りパス記憶部１６、最大値検出部１７および出力選択部１８の手順や方法をコンピュータに実行させるものであるともいえる。
【００３８】
なお、データ退避部１１、選択部１２、ブランチメトリック計算部１３、ＡＣＳ計算部１４、パスメトリック記憶部１５、生き残りパス記憶部１６、最大値検出部１７および出力選択部１８について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。例えば、ブランチメトリック計算部１３およびＡＣＳ計算部１４については専用のハードウェアとしての処理回路１００でその機能を実現し、残りの各部についてはプロセッサ１０１がメモリ１０２に格納されたプログラムを読み出して実行することによりその機能を実現するようにしてもよい。
【００３９】
このように、処理回路は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせによって、復号装置１が有する各機能を実現することができる。
【００４０】
実施の形態２．
実施の形態１では、データ退避部１１に退避するＭ時点分のデータが、受信データよりも短い場合の復号処理について説明した。これに対して、実施の形態２では、データ退避部１１に退避するＭ時点分のデータが受信データよりも長くなる場合の復号処理について説明する。なお、実施の形態２にかかる復号装置の構成は実施の形態１にかかる復号装置１の構成と同じである。実施の形態２にかかる復号装置と実施の形態１にかかる復号装置１との違いは、データ退避部１１および選択部１２の動作である。
【００４１】
図５は、実施の形態２にかかる復号装置への受信データの入力タイミングと復号装置からの復号結果の出力タイミングとの関係を示す図である。図５に示した例の場合、データ退避部１１は、受信データ＃１および＃２の全てと、受信データ＃３の先頭から途中までとを保持する。
【００４２】
次に、実施の形態２にかかる復号装置の動作を説明する。ここでは、実施の形態１にかかる復号装置１の動作と異なる部分について、図５を参照しながら説明する。実施の形態２にかかる復号装置において、データ退避部１１は、受信データが入力されると、先頭からＭ番目までの受信データの系列を保持する。図５に示した例の場合、データ退避部１１は、受信データ＃１および＃２の全ての系列と、受信データ＃３の先頭から途中までの系列とを保持する。選択部１２は、受信データ＃１、＃２および＃３の全ての系列をブランチメトリック計算部１３へ入力させた後、データ退避部１１が保持している系列をブランチメトリック計算部１３へ入力させる。ブランチメトリック計算部１３、ＡＣＳ計算部１４、パスメトリック記憶部１５、生き残りパス記憶部１６、最大値検出部１７および出力選択部１８の動作は実施の形態１と同様である。
【００４３】
このように、本実施の形態にかかる復号装置１において、データ退避部１１は、１フレームあたりの受信データの数が少ない場合、複数のフレームにわたって受信データを保持する。選択部１２は、データ退避部１１が保持する受信データの数が必要数に達すると、次のフレームのブランチメトリック計算部１３への出力を開始する前に、データ退避部１１が保持している受信データをブランチメトリック計算部１３へ出力する。これにより、フレーム長が短い場合でも実施の形態１と同様の効果を得ることができる。
【００４４】
実施の形態３．
図６は、実施の形態３にかかる復号装置の構成例を示す図である。実施の形態３にかかる復号装置１ａは、ブランチメトリック計算部１３、ＡＣＳ計算部１４、パスメトリック記憶部１５、生き残りパス記憶部１６、最大値検出部１７、出力選択部１８、受信データ保持部１９、誤り検出部２０、動作制御部２１および並べ替え部２２を備える。ブランチメトリック計算部１３、ＡＣＳ計算部１４、パスメトリック記憶部１５、生き残りパス記憶部１６、最大値検出部１７および出力選択部１８は、実施の形態１で説明した復号装置１の同じ符号が付された各構成要素と同一である。そのため、これらの構成要素については説明を省略する。
【００４５】
受信データ保持部１９は、受信データを一旦保持し、動作制御部２１からの指示に従い保持しているデータを出力する。誤り検出部２０は、復号結果に誤りがあるか否かを判定する。誤り検出部２０は、例えば、ＣＲＣ（Cyclic  Redundancy  Check）により復号結果の誤りを検出する。動作制御部２１は、誤り検出部２０における誤り検出結果に基づいて、受信データ保持部１９および並べ替え部２２の動作を制御する。並べ替え部２２は、動作制御部２１から並べ替え実施の指示を受けていない場合、出力選択部１８から出力される復号結果をそのまま、最終的な復号結果として出力し、動作制御部２１から並べ替え実施の指示を受けた場合、出力選択部１８から出力される復号結果を指示内容に従って並べ替えた上で、最終的な復号結果として出力する。
【００４６】
次に、実施の形態３にかかる復号装置１ａの動作について説明する。なお、実施の形態１にかかる復号装置１と異なる部分について説明を行う。実施の形態１と同様に、復号後のビット数をＮとする。
【００４７】
復号装置１ａには１フレーム分の受信データが順次入力され、入力された受信データは受信データ保持部１９で一旦保持される。動作制御部２１は、受信データの復号開始時点では、受信データ保持部１９に対して、先頭の受信データから順に、最後の受信データであるＮ時点の受信データまで出力し、その後は、再度、先頭から順に、Ｍ時点の受信データまでを出力するよう指示する。この指示を受けた受信データ保持部１９は、受信系列の先頭から最後まで順番に出力し、さらに、先頭からＭ時点までを出力する。ブランチメトリック計算部１３、ＡＣＳ計算部１４、パスメトリック記憶部１５、生き残りパス記憶部１６、最大値検出部１７および出力選択部１８は、実施の形態１と同様の処理を実行して受信系列を復号し、出力選択部１８は、ブランチメトリック計算部１３にＭ＋１時点の受信データが入力された時点で復号結果の出力を開始し、先頭からＮ時点までの受信系列に対する復号結果を順次出力する。並べ替え部２２は、出力選択部１８から出力された復号結果を誤り検出部２０へ出力するとともに、一旦保持する。
【００４８】
誤り検出部２０は、並べ替え部２２から出力された１フレーム分の復号結果に対して誤り検出処理を行い、検出結果、すなわち誤りを検出したか否かを動作制御部２１へ出力する。
【００４９】
動作制御部２１は、誤り検出部２０で誤りが検出されない場合、並べ替え部２２に対して、保持している復号結果の出力を指示する。この指示を受けた並べ替え部２２は、一旦保持しておいた１フレーム分の復号結果を最終的な復号結果として外部へ出力する。この場合、動作制御部２１は、受信データ保持部１９に対して、外部へ出力した復号結果に対応する１フレーム分の受信データの廃棄を指示する。この指示を受けた受信データ保持部１９は、受信データを廃棄する。
【００５０】
また、動作制御部２１は、誤り検出部２０で誤りが検出された場合、受信データ保持部１９に対して、先頭からＰ時点の受信系列およびこれに続くＰ＋１時点からＮ時点までの受信データを順番に出力し、その後は先頭からＰ＋Ｍ時点までの受信データを順番に出力するよう指示する。Ｐは正の整数、Ｐ＋Ｍ≦Ｎとする。Ｐは第２の数である。この指示を受けた受信データ保持部１９は、Ｐ時点の受信データを最初に出力する受信データとして、受信系列のＰ時点からＮ時点までを出力し、さらに、先頭からＰ＋Ｍ時点までを出力する。この結果、ブランチメトリック計算部１３には、１フレーム分のＮ個の受信データをＰビットローテードシフトしてＰ時点の受信データが先頭となっている受信系列が入力される。この場合、動作制御部２１は、並べ替え部２２に対して、一旦保持しておいた１フレーム分の復号結果を廃棄するとともに、出力選択部１８から新たに出力される復号結果の並べ替えを行うよう指示する。具体的には、動作制御部２１は、出力選択部１８から新たに出力される最初の復号結果がＰ番目の復号結果となり、かつ最後の復号結果がＰ−１番目の復号結果となるよう、並べ替え部２２に対して並べ替えを指示する。この指示を受けた並べ替え部２２は、一旦保持しておいた１フレーム分の復号結果を廃棄し、その後、出力選択部１８から新たに出力された１フレーム分の復号結果を指示内容に従って並べ替えた上で誤り検出部２０へ出力するとともに、一旦保持する。
【００５１】
以下、復号装置１ａの各部は、上述した処理、具体的には、復号結果に誤りが無ければ、並べ替え部２２が保持している復号結果を最終的な復号結果として出力し、復号結果に誤りがあれば、上記Ｐの値、すなわち受信データ保持部１９が最初に出力する受信データを変更して再度復号を実行する処理、を繰り返す。ただし、処理の繰り返し回数は、予め決められた規定回数までとする。上記処理を規定回数繰り返して得られた復号結果が誤りを含んでいる場合、並べ替え部２２は、保持している復号結果と、出力する復号結果が誤りを含んでいることを示す情報とを外部へ出力する。
【００５２】
復号装置１ａの各部が上述した処理を実行することにより、復号装置１ａは、図７に示すようなタイミングで、復号結果を出力する。すなわち、復号装置１ａは、繰り返し実行する各復号処理において、ブランチメトリック計算部１３に入力される受信データの先頭から数えて（Ｍ＋１）時点〜（Ｍ＋Ｎ）時点において、Ｎビットの受信データの復号結果を出力する。なお、図７は、実施の形態３にかかる復号装置１ａへの受信データの入力タイミングと復号装置１ａからの復号結果の出力タイミングとの関係を示す図である。
【００５３】
以上のように、本実施の形態にかかる復号装置１ａは、受信データを保持する受信データ保持部１９と、復号結果の誤りを検出する誤り検出部２０と、復号結果を並べ替えて出力することが可能な並べ替え部２２と、誤り検出結果に基づいて、受信データ保持部１９が受信系列を出力する順番および並べ替え部２２が復号結果を出力する順番を制御する動作制御部２１を備え、誤りが検出されなくなるか規定回数に達するまで、ブランチメトリック計算部１３およびこの後段の各処理部が、受信データ保持部１９で保持されている受信データを繰り返し復号する。これにより、実施の形態１と同様の効果が得られるとともに、復号性能を向上させることができる。また、簡単な構成で繰り返し復号を実現できる。
【００５４】
本実施の形態にかかる復号装置１ａは、実施の形態１にかかる復号装置１と同様に、図３または図４に示した構成のハードウェアにより実現することが可能である。
【００５５】
実施の形態４．
図８は、実施の形態４にかかる復号装置の構成例を示す図である。実施の形態４にかかる復号装置１ｂは、ブランチメトリック計算部１３、ＡＣＳ計算部１４、パスメトリック記憶部１５、最大値検出部１７、出力選択部１８、受信データ保持部１９、誤り検出部２０、動作制御部２１ｂ、生き残りパス記憶部２３および復号結果保持部２４を備える。ブランチメトリック計算部１３、ＡＣＳ計算部１４、パスメトリック記憶部１５、生き残りパス記憶部２３、最大値検出部１７および出力選択部１８は、復号処理部３０ｂを構成する。ブランチメトリック計算部１３、ＡＣＳ計算部１４、パスメトリック記憶部１５、最大値検出部１７、出力選択部１８、受信データ保持部１９および誤り検出部２０は、実施の形態３で説明した復号装置１ａの同じ符号が付された各構成要素と同一である。そのため、これらの構成要素については説明を省略する。
【００５６】
動作制御部２１ｂは、誤り検出部２０における誤り検出結果に基づいて、受信データ保持部１９、生き残りパス記憶部２３および復号結果保持部２４の動作を制御する。生き残りパス記憶部２３は、実施の形態１で説明した生き残りパス記憶部１６を構成している複数のＭ段シフトレジスタのそれぞれを、段数がＭｋ段のシフトレジスタ（以下、Ｍｋ段シフトレジスタ）に置き換えたものである。なお、ｋは、復号結果の誤りを検出した場合に復号装置１ｂが復号処理を繰り返す回数の最大値とする。生き残りパス記憶部２３は、動作制御部２１ｂから指示された位置のレジスタに格納されているビットを復号結果として出力選択部１８へ出力する。ＡＣＳ計算部１４におけるブランチの選択結果が入力された場合に生き残りパス記憶部２３が実行する処理は、動作制御部２１ｂから指示された位置のレジスタに格納されているビットを復号結果として出力選択部１８へ出力する点を除いて、生き残りパス記憶部１６と同様である。復号結果保持部２４は、出力選択部１８から出力された復号結果を受け取り、動作制御部２１ｂから出力指示を受けるまで保持する。
【００５７】
次に、実施の形態４にかかる復号装置１ｂの動作について説明する。なお、実施の形態３にかかる復号装置１ａと異なる部分について説明を行う。実施の形態３と同様に、復号後のビット数をＮとする。
【００５８】
復号装置１ｂには１フレーム分の受信データが順次入力され、入力された受信データは受信データ保持部１９で一旦保持される。動作制御部２１ｂは、受信データの復号開始時点では、受信データ保持部１９に対して、先頭の受信データから順に、最後の受信データであるＮ時点の受信データまで出力し、その後は、再度、先頭から順に、Ｍ１時点の受信データまでを出力するよう指示する。この指示を受けた受信データ保持部１９は、受信系列の先頭から最後までを順番に出力し、さらに、先頭からＭ１時点までを出力する。これと並行して、動作制御部２１ｂは、生き残りパス記憶部２３に対して、Ｍｋ段シフトレジスタのＭ１段目のレジスタに格納されたビットを各状態に対応する復号結果として出力するよう指示する。ブランチメトリック計算部１３、ＡＣＳ計算部１４、パスメトリック記憶部１５、生き残りパス記憶部２３、最大値検出部１７および出力選択部１８は、実施の形態１と同様の処理を実行して受信系列を復号する。ただし、生き残りパス記憶部２３は、出力選択部１８へ復号結果を出力する際、各Ｍｋ段シフトレジスタのＭ１段目のレジスタに格納されているビットを出力する。なお、出力選択部１８が出力する復号結果は、復号結果保持部２４および誤り検出部２０への入力となる。復号結果保持部２４は、出力選択部１８から出力された復号結果を一旦保持する。
【００５９】
動作制御部２１ｂは、誤り検出部２０で誤りが検出されない場合、復号結果保持部２４に対して、保持している復号結果の出力を指示する。この指示を受けた復号結果保持部２４は、一旦保持しておいた１フレーム分の復号結果を最終的な復号結果として外部へ出力する。この場合、動作制御部２１ｂは、受信データ保持部１９に対して、外部へ出力した復号結果に対応する１フレーム分の受信データの廃棄を指示する。この指示を受けた受信データ保持部１９は、受信データを廃棄する。
【００６０】
また、動作制御部２１ｂは、誤り検出部２０で誤りが検出された場合、受信データ保持部１９に対して、先頭の受信データから順に、最後の受信データであるＮ時点の受信データまで出力し、その後は、再度、先頭から順に、Ｍ２時点の受信データまでを出力するよう指示する。この指示を受けた受信データ保持部１９は、受信系列の先頭から最後まで順番に出力し、さらに、先頭からＭ２時点までを出力する。これと並行して、動作制御部２１ｂは、生き残りパス記憶部２３に対して、Ｍｋ段シフトレジスタのＭ２段目のレジスタに格納されたビットを各状態に対応する復号結果として出力するよう指示する。ブランチメトリック計算部１３、ＡＣＳ計算部１４、パスメトリック記憶部１５、生き残りパス記憶部２３、最大値検出部１７および出力選択部１８は、実施の形態１と同様の処理を実行して受信系列を復号する。ただし、生き残りパス記憶部２３は、出力選択部１８へ復号結果を出力する際、各Ｍｋ段シフトレジスタのＭ２段目のレジスタに格納されているビットを出力する。また、動作制御部２１ｂは、復号結果保持部２４に対して、一旦保持しておいた１フレーム分の復号結果を廃棄するよう指示する。この指示を受けた復号結果保持部２４は、一旦保持しておいた１フレーム分の復号結果を廃棄する。
【００６１】
以下、動作制御部２１ｂの各部は、上述した処理、具体的には、復号結果に誤りが無ければ、復号結果保持部２４が保持している復号結果を最終的な復号結果として出力し、復号結果に誤りがあれば、受信データ保持部１９が出力する受信データの数を変更して再度復号を実行する処理、を繰り返す。ただし、処理の繰り返し回数は、予め決められた規定回数ｋまでとする。すなわち、生き残りパス記憶部２３が各Ｍｋ段シフトレジスタのＭｋ段目のレジスタに格納されているビットを出力した場合、繰り返し復号が終了となる。上記処理を規定回数繰り返して得られた復号結果が誤りを含んでいる場合、復号結果保持部２４は、保持している復号結果と、出力する復号結果が誤りを含んでいることを示す情報とを外部へ出力する。なお、Ｍ１，Ｍ２，…，Ｍｋは第３の数である。
【００６２】
復号装置１ｂの各部が上述した処理を実行することにより、復号装置１ｂは、図９に示すようなタイミングで、復号結果を出力する。なお、図９は、実施の形態４にかかる復号装置１ｂへの受信データの入力タイミングと復号装置１ｂからの復号結果の出力タイミングとの関係を示す図である。
【００６３】
以上のように、本実施の形態にかかる復号装置１ｂは、Ｍｋ段シフトレジスタで構成された生き残りパス記憶部２３と、受信データを保持する受信データ保持部１９と、復号結果の誤りを検出する誤り検出部２０と、復号結果を保持する復号結果保持部２４と、誤り検出結果に基づいて、受信データ保持部１９、生き残りパス記憶部２３および復号結果保持部２４を制御する動作制御部２１ｂを備え、ブランチメトリック計算部１３へ入力する受信データの長さを変更しながら、誤りが検出されなくなるか規定回数に達するまで、受信データを繰り返し復号する。これにより、実施の形態３と同様の効果が得られる。
【００６４】
本実施の形態にかかる復号装置１ｂは、実施の形態１にかかる復号装置１と同様に、図３または図４に示した構成のハードウェアにより実現することが可能である。
【００６５】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【００６６】
１，１ａ，１ｂ  復号装置、１１  データ退避部、１２  選択部、１３  ブランチメトリック計算部、１４  ＡＣＳ計算部、１５  パスメトリック記憶部、１６，２３  生き残りパス記憶部、１７  最大値検出部、１８  出力選択部、１９  受信データ保持部、２０  誤り検出部、２１，２１ｂ  動作制御部、２２  並べ替え部、２４  復号結果保持部、３０，３０ｂ  復号処理部。
【図１】
0006552765.tif 000002
【図２】
0006552765.tif 000003
【図３】
0006552765.tif 000004
【図４】
0006552765.tif 000005
【図５】
0006552765.tif 000006
【図６】
0006552765.tif 000007
【図７】
0006552765.tif 000008
【図８】
0006552765.tif 000009
【図９】
0006552765.tif 000010