(57)【要約】【課題】最小限度の容量をもつメモリの付加するだけで、ビタビ復号器のトレースバック処理にかかる処理時間を効果的に削減すること。【解決手段】全ての経路についてのパスメトリックを算出した後にトレースバック処理を行うのではなく、経路選択を随時、行いながら、その選択されたパスについてのパス選択信号（これが復号データとなる）を、パスメモリ部１０５の行レジスタに動的に書き込む。このとき、パスセレクト信号制御部１０７、およびパスメモリ入力Ｉ／Ｆ部１０８、パスメモリ出力Ｉ／Ｆ部１０６により、選択されたパスについての一連のパス選択信号が１行に収まるように書き込みを制御し、最終時刻において、選択された経路に関するパス選択信号列を行レジスタから一気に読み出して、復号データとする。【選択図】    図１
2004153319.tif 000002
【特許請求の範囲】
【請求項１】
複数の行レジスタと、現時刻において取り得る複数の状態の各々に関して、その状態に至るパスの中から最も確からしいパスが選択されると、その選択されたパスについての過去の一連のパス選択情報に今回のパス選択情報が付加されて更新されたパス選択情報を、前記複数の行レジスタの一つに格納するレジスタアクセス制御回路と、
トレースバックの起点となる状態が決定されると、その状態に至るまでのパス選択情報を前記複数の行レジスタの一つから読み出し、その読み出したパス選択情報を復号データ列として出力するトレースバック処理手段と、
を有することを特徴とするビタビ復号装置。
【請求項２】
前記複数の行レジスタは、ビタビ復号のトレースバック処理に必要な最小限度のメモリ容量をもつことを特徴とする請求項１記載のビタビ復号装置。
【請求項３】
前時刻の状態から現時刻の状態に至るすべてのパスについてブランチメトリックを算出するブランチメトリック演算手段と、前記ブランチメトリック演算手段から算出されたブランチメトリックおよびパスメトリックより現時刻の各状態へ至るパスの中から最も確からしいパスを選択し、選択されたパスによって決定されるパスセレクト信号および現時刻の状態に至るまでのパスメトリックを出力するＡＣＳ演算手段と、前記ＡＣＳ演算手段より出力されたパスメトリックを記憶するパスメトリック記憶手段と、前記ＡＣＳ演算手段より出力されたパスセレクト信号を現時刻までの経路ごと１つの行に記憶するためのパスセレクト信号記憶手段と、トレースバックの起点となる状態が決定されると、前記パスセレクト信号記憶手段に記憶されたパスセレクト信号を読み出して、復号データとして出力するトレースバック処理手段と、を有することを特徴とするビタビ復号装置。
【請求項４】
前記パスセレクト記憶手段は、状態数ｍ×トレースバック長ｎの記憶要素、もしくは状態数ｍ×トレースバック長ｎの記憶要素にトレースバック長ｎの記憶要素を加えた数の記憶要素からなるパスセレクト信号を記憶するためのパスメモリ部を有することを特徴とする請求項３記載のビタビ復号装置。
【請求項５】
前記パスセレクト記憶手段は、前記パスメモリ部に記憶されている現時刻におけるある状態へ遷移する前時刻の２つの状態までのパスセレクト信号列を出力するパスメモリ出力インタフェース部を有することを特徴とする請求項３又は請求項４記載のビタビ復号装置。
【請求項６】
前記パスセレクト記憶手段は、前記パスメモリ出力インタフェース部より出力される２つのパスセレクト信号列のうち、前記ＡＣＳ演算手段により出力されるパスセレクト信号によってどちらか一方を選択し、その選択されたパスセレクト信号列に前記ＡＣＳ演算手段により出力されるパスセレクト信号を所定方向より付加することによりパスセレクト信号列を更新するためのパスメモリ制御部を有することを特徴とする請求項３乃至請求項５のいずれかに記載のビタビ復号装置。
【請求項７】
前記パスセレクト記憶手段は、前記パスメモリ制御回路により更新されたパスセレクト信号列を、現時刻における本状態以降での演算において本状態の演算で選択されたパスセレクト信号列を前記パスメモリ出力インタフェース部より再度出力として選択されない行のパスメモリ部への入力、もしくは現時刻における本状態以降での演算において本状態の演算で選択されたパスセレクト信号列を前記パスメモリ出力インタフェース部より再度出力として選択されない行がない場合はトレースバック長ｎの要素からなるパスメモリ部への入力とするパスメモリ入力インタフェース部を有することを特徴とする請求項３乃至請求項６のいずれかに記載のビタビ復号装置。
【請求項８】
前時刻の状態から現時刻の状態に至るすべてのパスについてブランチメトリックを算出するブランチメトリック演算工程と、前記ブランチメトリック演算工程において算出されたブランチメトリックおよびパスメトリックより現時刻の各状態へ至るパスの中から最も確からしいパスを選択し、選択されたパスによって決定されるパスセレクト信号および現時刻の状態に至るまでのパスメトリックを出力するＡＣＳ演算工程と、前記ＡＣＳ演算工程より出力されたパスメトリックを記憶するパスメトリック記憶工程と、前記ＡＣＳ演算工程より出力されたパスセレクト信号を現時刻までの経路ごと１つの行に記憶するためのパスセレクト信号記憶工程と、トレースバックの起点となる状態が決定されると、前記パスセレクト信号記憶工程において記憶されたパスセレクト信号列を復号データ列として出力するトレースバック処理工程と、を具備することを特徴とするビタビ復号方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ビタビ復号装置に関する。
【０００２】
【従来の技術】
ビタビ復号装置は、畳み込み符号などの最尤復号法に用いられるものであり、誤り訂正能力が高いことから、伝送経路誤りが生じやすい衛星通信、移動体通信等の伝送方式における復号器に用いられている。
【０００３】
ビタビ復号は、受信データ系列と期待データ系列との差分（ブランチメトリック）を求める処理、加算・比較・選択という単純な処理（ＡＣＳ：ＡＤＤ，ＣＯＭＰＡＲＥ，ＳＥＬＥＣＴ）の繰り返し処理と、最終的にデータを復号するトレースバック処理とで復号を実現するものである。
【０００４】
このビタビ復号では、情報ビット１ビットに対応する符号化データを得るごとに、その時刻での各状態のパスの信号間距離を計算し、生き残りパスを求める。以下にビタビ復号の処理を簡単に説明する。
【０００５】
例えば、符号化方式を畳み込み符号とする場合、畳み込み符号は入力ビットとそれに先行する一定数のビットとの排他的論理和により生成され、入力ビット１ビットに対応して複数の符号化データが生成される。
【０００６】
この符号化データに影響を与える入力情報ビット数のことを拘束長Ｋといい、その数は排他的論理和に用いられるシフトレジスタの段数に等しい。
【０００７】
この符号化データは、入力ビットと先行する（Ｋ−１）個の入力ビットの状態とで定まる。
【０００８】
この状態は、新たな情報ビットが入力することによって新たな状態に遷移するが、遷移可能な状態は、新たな入力ビットが０であるか１であるかによって決定される。この状態数は、（Ｋ−１）個のビットのそれぞれが０または１を取り得るから、２Ｋ−１個となる。
【０００９】
ビタビ復号では、受信した符号化系列を観測し、取り得るすべての状態遷移の中から最も確からしい状態を推定する。
【００１０】
そのために情報ビット１ビットに対応する符号化データを得るごとに、その時刻での各状態へのパスの信号間距離（メトリック）を計算し、同一状態に達するパスのうち、メトリックの小さいほうを生き残りパスとして残す。
【００１１】
図２は、拘束長Ｋの畳み込み符号器において、時刻ｔにおける状態Ｓ［２ｊ］およびＳ［２ｊ＋１］に対し（ｊは正整数）、１つ前の時刻ｔ−１の状態Ｓ［ｊ］とＳ［ｊ＋２Ｋ−２］とからの状態遷移を表す２本のパスがそれぞれ延びている様子を示している。
【００１２】
パスメトリックＡ１は、状態Ｓ［２ｊ］に遷移される際に出力される期待データ系列と受信データ系列との信号間距離（ブランチメトリックＢ１）と１つ前の時刻の状態Ｓ［ｊ］までのパスメトリックＰＭ［ｊ］との和である。
【００１３】
同様にパスメトリックＡ２は、状態Ｓ［２ｊ］に遷移される際に出力される期待データ系列と受信データ系列との信号間距離（ブランチメトリックＢ２）と１つ前の時刻の状態Ｓ［ｊ＋２Ｋ−２］までのパスメトリックＰＭ［ｊ＋２Ｋ−２］との和である。
【００１４】
こうして求めた、状態Ｓ［２ｊ］に入力するパスメリックＡ１、Ａ２を比較し、小さいほうのパスを生き残りパスとして選択し、選択されたパスのパスメトリックを現時刻での状態Ｓ［２ｊ］に至るまでのパスメトリックとしてパスメトリックを更新する。
【００１５】
さらに、どちらのパスが選択されたかという履歴をパスセレクト信号ＰＳ［ｉ］（ｉ＝０〜２Ｋ−１−１）として残しておく。
【００１６】
このとき選択されたパスの１つ前の状態番号が、選択されなかった他方のパスの１つ状態番号よりも小さければＰＳ［ｉ］＝０とし、大きければＰＳ［ｉ］＝１とする。
【００１７】
これらの処理を、状態数×トレースバック長だけの回数行ない、状態数×トレースバック長だけのパスセレクト信号と最終時刻での状態数だけのパスメトリックを得、これらの情報よりトレースバックを行ない、データを復号していく。
【００１８】
次に、トレースバック処理について図３を用いて簡単に説明する。
【００１９】
図３は、前述の状態数×トレースバック長だけの処理が終了した時点での各状態遷移の履歴を表したトレリス線図であり、拘束長３・トレースバック長７としたときの例である。
【００２０】
ただし各状態間の線上の数値は、それぞれの状態遷移におけるパスセレクト信号を表し、実線で示されたパスが生き残りパスであるとする。
【００２１】
トレースバック処理ではまず、最終時刻における各状態でのパスメトリックを参照してパスメトリックが最小となる状態を選択する。
【００２２】
ただし、符号化の入力データ列にテールビットとして既知のデータ列が付加されている場合は、そのテールビットにより示される状態を一意的に選択する（本例では、Ｓ［０］が選択されているものとしている）。
【００２３】
次に、選択された状態の最終時刻でのパスセレクト信号より１つ前の時刻での状態へ遡る。そしてこのときのパスセレクト信号を復号データとして出力する。以下、同様に、単位時刻ごとパスセレクト信号を基に状態を遡りながら（太線で示されたパス）、トレースバック長だけの復号データを出力することで符号化データ列を復号することができる（本例では１→０→１→１→０→０→０）。
【００２４】
しかし、ビタビ復号器では、トレースバック処理において、単位時刻ごとにパスセレクト信号を基に状態を過去に遡っていくことによりデータの復号を行なうため、そのデータの復号に時間がかかる。
【００２５】
トレースバック処理時における処理性能の低下を防止する技術としては、一対のパスメトリックバッファを設けて、一方のバッファから読み出したデータを他方のバッファに並び替えて書き込むことにより、トレースバック処理の簡単化を図る技術がある（下記特許文献１参照）。
【００２６】
【特許文献１】
特開２０００−１９６４６８号公報（図１など）
【００２７】
【発明が解決しようとする課題】
特許文献１に記載の技術では、バッファを２面使用するため、必要なメモリの容量が多い。このことは、ＩＣチップの専有面積の増大や回路の消費電力の増加につながる。
【００２８】
本発明はかかる点に鑑みてなされたものであり、本発明の目的は、最小限度の容量をもつメモリを付加するだけで、ビタビ復号器のトレースバック処理にかかる処理時間を削減するという効果を得ることにある。
【００２９】
【課題を解決するための手段】
本発明は、従来のビタビ復号装置にトレースバックに必要な最小限度の制御回路等を付加し、一つの新たなパスが選択される毎に、そのパス選択情報（パスセレクト信号であり、実際は、これが復号データを構成する）を、動的なアクセス制御を行って過去のデータとの整合性を保ちつつ、メモリに書き込む。
【００３０】
これにより、現時刻における各状態に至るまでの一列のパスセレクト信号をその状態までの経路ごと１つの行にそれぞれ記憶し、最終時刻においてトレースバック開始状態の番号が決定されるのと同時に復号データ列が１つの行に記憶されている状態が実現される。
【００３１】
したがって、最終時刻において、トレースバック処理の起点となる状態が決定されると、その状態に至るまでのパス選択情報列からなる１行のデータ列を一気に読み出すことで復号データ列を得ることができる。よって、高速にトレースバックを実現することが可能となる。
【００３２】
【発明の実施の形態】
本発明のビタビ復号装置の一つの態様では、前時刻の状態から現時刻の状態に至るすべてのパスについてブランチメトリックを算出するブランチメトリック演算手段と、前記ブランチメトリック演算手段から算出されたブランチメトリックおよびパスメトリックより現時刻の各状態へ至るパスの中から最も確からしいパスを選択し、選択されたパスによって決定されるパスセレクト信号および現時刻の状態に至るまでのパスメトリックを出力するＡＣＳ演算手段と、前記ＡＣＳ演算手段より出力されたパスメトリックを記憶するパスメトリック記憶手段と、前記ＡＣＳ演算手段より出力されたパスセレクト信号を現時刻までの経路ごと１つの行に記憶するためのパスセレクト信号記憶手段と、トレースバックの起点となる状態が決定されると、前記パスセレクト信号記憶手段に記憶されたパスセレクト信号を読み出して、復号データとして出力するトレースバック処理手段と、を有する構成を採る。
【００３３】
この構成によれば、現時刻までの復号データ系列が復号候補列としてＡＣＳ演算の処理単位ごとに一列の行に記憶されるため、前記パスメトリック記憶手段に記憶された現時刻までのパスメトリックあるいは一意的に決められた情報が得られると同時に復号データが一列のデータ系列として得られる。これにより従来のように一時刻ずつ状態を過去に遡ることなく復号データを得ることができる。
【００３４】
本発明のビタビ復号器の他の態様では、第１の態様において、前記パスセレクト記憶手段は、状態数ｍ×トレースバック長ｎの記憶要素、もしくは状態数ｍ×トレースバック長ｎの記憶要素およびトレースバック長ｎの記憶要素からなるパスセレクト信号を記憶するためのパスメモリ部を具備する構成を採る。
【００３５】
この構成によれば、メモリ部が状態数ｍ×トレースバック長ｎの要素、もしくは状態数ｍ×トレースバック長ｎの要素とトレースバック長ｎの要素からなるため、各状態までのトレースバック長分だけのパスセレクト信号を記憶することができる。
【００３６】
本発明の他の態様では、第１の態様または第２の態様において、前記パスセレクト記憶手段は、前記パスメモリ部に記憶されている現時刻におけるある状態へ遷移する前時刻の２つの状態までのパスセレクト信号列を出力するパスメモリ出力Ｉ／Ｆ部を具備する構成を採る。
【００３７】
この構成によれば、現時刻における各状態へ遷移する前時刻の２つの状態までのパスセレクト信号列を出力することができるため、現時刻における各状態までのパスセレクト信号候補列を出力できる。
【００３８】
また、本発明の他の態様では、第１の態様乃至第３の態様いずれかにおいて、前記パスメモリ出力Ｉ／Ｆ部より出力される２つのパスセレクト信号列のうち、前記ＡＣＳ演算手段により出力されるパスセレクト信号によってどちらか一方を選択し、その選択されたパスセレクト信号列に前記ＡＣＳ演算手段により出力されるパスセレクト信号を所定の方向より付加することによりパスセレクト信号列を更新するためのパスメモリ制御部を具備する構成を採る。
【００３９】
この構成によれば、前時刻の各状態までのパスセレクト信号系列に現時刻の各状態でのパスセレクト信号を付加することができるので、現時刻における各状態までの経路情報を加味したパスセレクト信号列を生成することができる。
【００４０】
本発明の他の態様では、第１の態様乃至第４の態様いずれかにおいて、前記パスメモリ制御回路により更新されたパスセレクト信号列を、現時刻における本状態以降での演算において本状態の演算で選択されたパスセレクト信号列を前記パスメモリ出力インタフェース部より再度出力として選択されない行のパスメモリ部への入力、もしくは現時刻における本状態以降での演算において本状態の演算で選択されたパスセレクト信号列を前記パスメモリ出力インタフェース部より再度出力として選択されない行がない場合はトレースバック長ｎの要素からなるパスメモリ部への入力とするパスメモリ入力インタフェース部を具備する構成を採る。
【００４１】
この構成によれば、更新されたパスセレクト信号を前記パスメモリ部への入力とすることができるため、現時刻における各状態までのパスセレクト信号列を記憶するためのメモリを状態数ｍ×トレースバック長ｎの記憶要素もしくは状態数ｍ×トレースバック長ｎの記憶要素とトレースバック長ｎの記憶要素からなるメモリで構成することができる。
【００４２】
本発明のビタビ復号方法の一つの態様では、前時刻の状態から現時刻の状態に至るすべてのパスについてブランチメトリックを算出するブランチメトリック演算工程と、前記ブランチメトリック演算工程において算出されたブランチメトリックおよびパスメトリックより現時刻の各状態へ至るパスの中から最も確からしいパスを選択し、選択されたパスによって決定されるパスセレクト信号および現時刻の状態に至るまでのパスメトリックを出力するＡＣＳ演算工程と、前記ＡＣＳ演算工程より出力されたパスメトリックを記憶するパスメトリック記憶工程と、前記ＡＣＳ演算工程より出力されたパスセレクト信号を現時刻までの経路ごと１つの行に記憶するためのパスセレクト信号記憶工程と、トレースバック処理の起点の状態が定まると、前記パスセレクト信号記憶工程において記憶されたパスセレクト信号列を復号データ列として出力するトレースバック処理工程と、を具備するようにした。
【００４３】
この方法によれば、現時刻までの復号データ系列がＡＣＳ演算の処理単位ごとに復号候補列として一列の行に記憶される。これにより、トレースバック処理において従来のように一時刻ずつ状態を過去に遡ることなく復号データを得ることができる。
【００４４】
以下、本発明の実施の形態について、図面を参照して具体的に説明する。
【００４５】
（実施の形態１）
図１は、本発明の実施の形態１に係る高速トレースバック回路の構成を示すブロック図である。
【００４６】
以下、図１の各ブロックについて説明する。
【００４７】
図１において、１００は本発明に係る高速トレースバック回路であり、ブランチメトリック演算手段１０１、ＡＣＳ演算手段１０２、パスメトリック記憶手段１０３、パスセレクト信号記憶手段１０４、パスセレクト信号制御手段１０８、トレースバック処理手段１０９から構成される。
【００４８】
ブランチメトリック演算手段１０１は、入力される符号化データについて、前時刻の状態から現時刻の状態に至るすべてのパスについてのブランチメトリックを演算する手段を備えており、ブランチメトリック１０１ａを算出し出力する。
【００４９】
ＡＣＳ演算手段１０２は、ブランチメトリック演算手段１０１より算出されたブランチメトリック１０１ａと与えられたパスメトリック１０３ａにより各状態へ至るパスの中から最も確からしいパスを選択し、その選択されたパスがどちらの状態からのパスであるかを示すパスセレクト信号１０２ａと現時刻での各状態にまで至るに要したパスメトリック１０２ｂを出力する。
【００５０】
パスメトリック記憶手段１０３は、ＡＣＳ演算手段１０２より出力されるパスメトリック１０２ｂを状態数分だけ記憶するメモリ領域を備えており、次時刻でのＡＣＳ演算を行なう際のＡＣＳ演算手段１０２の入力として、パスメトリック（全入力データ処理終了後の各状態でのパスメトリック）１０３ｂを出力する。
【００５１】
また復号を行なう符号化データの最終データが入力されＡＣＳ演算が終了した時点でパスメトリックが最小となっている状態によって決定される、もしくは一意的に決定されるトレースバック開始状態番号を出力する。
【００５２】
パスセレクト信号記憶手段１０４は、パスメモリ部１０５、パスメモリ出力インタフェース（Ｉ／Ｆ）部１０６、パスセレクト信号制御部１０７、パスメモリ入力インタフェース（Ｉ／Ｆ）部１０８より構成されている。
【００５３】
パスメモリ部１０５は、状態数ｍ×トレースバック長ｎのｍ行ｎ列の要素からなる２次元配列のメモリ、もしくは状態数ｍ×トレースバック長ｎのｍ行ｎ列の要素からなる２次元配列のメモリとトレースバック長ｎのｎ個の要素からなる１次元配列のメモリ領域を備えており、各状態までのトレースバック長ｎだけのパスセレクト信号が状態数分記憶でき、各行のパスセレクト信号列１０５ａを行単位で出力する。
【００５４】
パスメモリ出力Ｉ／Ｆ部１０６は、パスメモリ部１０５からのパスセレクト信号出力１０５ａのうち、現時刻のある状態へ遷移する前時刻における２つの状態までのパスセレクト信号列を選択する手段を備えており、選択された２つのパスセレクト信号列１０６ａおよび１０６ｂを１組として、１組もしくは２組以上を出力する。
【００５５】
パスセレクト信号制御部１０７は、パスメモリ出力Ｉ／Ｆ部１０６より出力されるパスセレクト信号列１０６ａおよび１０６ｂ（図１では、これらをまとめてＯＵＴと表記している）のうち、ＡＣＳ演算手段１０２より出力されるパスセレクト信号１０２ａによってどちらか一方を選択し、その選択されたパスセレクト信号列にＡＣＳ演算手段１０２より出力されるパスセレクト信号を一意的に決定された方向（所定方向）より付加することによりパスセレクト信号列を更新する手段を備えており、現時刻における各状態までの経路情報を加味したパスセレクト信号列１０７ａを出力する。
【００５６】
パスメモリ入力Ｉ／Ｆ部１０８は、パスメモリ部１０５の各行のうち、現時刻における本状態以降での演算においてパスメモリ出力Ｉ／Ｆ部１０６より再度出力として選択されないパスメモリ部１０５の行への入力として選択、もしくは現時刻における本状態以降での演算においてパスメモリ出力Ｉ／Ｆ部１０６より再度出力として選択されない行がない場合はパスメモリ部１０５のトレースバック長ｎの要素からなる行への入力として選択する手段を備えており、パスセレクト信号制御部１０７により更新されたパスセレクト信号列をパスメモリ部１０５の任意の行への入力とするようになっている。
【００５７】
パスセレクト信号記憶手段１０４におけるパスメモリ入力Ｉ／Ｆ部１０８，パスメモリ出力Ｉ／Ｆ部１０６は、パスセレクト信号制御部１０７が発する制御信号ＣＮＴにより制御される。
【００５８】
上記処理を各時刻の状態ごと、もしくは複数の状態を同時に行なうことにより、パスメモリ部１０５の各行には、各状態までの経路情報を加味したパスセレクト信号が格納され、トレースバック処理において、従来と異なり、単位時刻ごとにパスセレクト信号を基に状態を過去に遡っていくのではなく、トレースバック開始状態までのパスセレクト信号が格納されている行データを読み出すことで復号データを得ることが可能となり、これによりトレースバックの処理時間を短縮することができる。
【００５９】
次に、図１のビタビ復号器の動作について図４に示すフロー図を用いて、具体的に説明する。
【００６０】
まず、図４のステップＳ４０１において、高速トレースバックビタビ復号器１００が時刻ｔにおける符号化データを受信する。
【００６１】
次に、図４のステップＳ４０２において、受信した符号化データがブランチメトリック演算手段１０１に入力され、状態番号Ｎにおける受信期待値と受信した符号化データ系列のハミング距離あるいはユークリッド距離を求めることによりブランチメトリック１０１ａを算出する。
【００６２】
ここで状態番号Ｎにおける受信期待値は、たとえば受信した符号化データが図５に示すような畳み込み符号器５００によって符号化されたものである場合、その状態番号Ｎは畳み込み符号器のシフトレジスタ５０１に保持されている値によって決定されるものである。
【００６３】
その符号化出力系列５０２は畳み込み符号器のシフトレジスタ５０１に保持されている値と畳み込み符号器５００への入力５０３を排他的論理和ゲート５０４ａ〜５０４ｃによって演算された値として求められたものである。
【００６４】
このブランチメトリックの算出においては、受信期待値の生成を複数の状態に対して同時に行なうことで、ブランチメトリックを複数の状態番号に対して同時に算出することも可能である。
【００６５】
次に、図４のステップＳ４０３において、図２に示すようなバタフライ演算を行ない、ＡＣＳ演算を実行する。
【００６６】
つまり時刻ｔにおける状態番号Ｎに遷移しうる時刻ｔ−１での２つの状態でのパスメトリックとステップＳ４０２において求められた時刻ｔでの状態番号Ｎでのブランチメトリックより生き残りパスを選択し、どちらのパスが選択されたかを示すパスセレクト信号１０２ａと時刻ｔでの状態番号Ｎでのパスメトリック１０２ｂを出力する。このパスセレクト信号とパスメトリックの算出においては、ＡＣＳ演算器を複数個備えることで２つ以上の状態番号に対して同時に算出することが可能である。
【００６７】
次に、図４のステップＳ４０４において、ステップＳ４０３において算出されたパスメトリック１０２ｂを時刻ｔにおける状態番号Ｎでのパスメトリックとしてパスメトリック記憶手段１０３に記憶しておく。
【００６８】
次に、図４のステップＳ４０５において、ステップＳ４０３において算出されたパスセレクト信号によって、時刻ｔにおける状態番号Ｎに遷移しうる時刻ｔ−１での２つの状態までのパスセレクト信号列のうち一方を選択し、そのパスセレクト信号列の先頭もしくは末尾に時刻ｔにおける状態番号Ｎでのパスセレクト信号を付加し、この更新されたパスセレクト信号列をパスメモリ部１０５に記憶しておく。
【００６９】
ただし、パスメモリ部１０５に記憶する際には再度読み出さす必要の無いパスセレクト信号列上に上書きするよう記憶する。
【００７０】
次に、図４のステップＳ４０６において、ステップＳ４０２からＳ４０５までの処理を時刻ｔにおけるすべての状態に対する処理が終わるまで繰り返す。
【００７１】
次に、図４のステップＳ４０７において、ステップＳ４０２からＳ４０６までの処理をすべての符号化データを受信し終わるまで繰り返す。
【００７２】
次に、図４のステップＳ４０８からＳ４１０において、トレースバック開始状態番号が一意的に決められているかどうかを判断する。
【００７３】
符号化データにテールビット等の既知のビットが存在する場合はそのビットよりトレースバック開始状態番号が決められるのでステップＳ４１０に進み、トレースバック開始状態番号を決定する。符号化データにテールビット等の既知のビットが存在しない場合はステップＳ４０９に進み、パスメトリック記憶手段１０３に記憶されている各状態におけるパスメトリックを参照し、トレースバック開始状態番号を決定する。
【００７４】
次に、図４のステップＳ４１１において、ステップＳ４０９またはステップＳ４１０で求めたトレースバック開始状態番号までのパスセレクト信号が格納されている行のデータをパスメモリ部１０５より読み出す。
【００７５】
そして、図４のステップＳ４１２において、ステップＳ４１１で読み出されたデータ列を復号データとしてビタビ復号が終了となる。
【００７６】
次に、上記の処理が繰り返されたときのパスメモリ部１０５における記憶内容の変化を図６から図１３に示す。
【００７７】
ただし状態数は４で、トレースバック長は７とし、ステップＳ４０３におけるＡＣＳ演算は図２に示すバタフライ演算の２つの状態を同時に行なうものとし、パスセレクト信号は図３の各ノード上に示された値が出力されるものとする。
【００７８】
従来のトレースバック処理方法を用いたビタビ復号器では、ステップＳ４０７まで終了するとパスメモリには図１９に示すような値が記憶されていることになり、これをトレースバック処理において、トレースバック開始状態番号と０として単位時刻ごとにパスセレクト信号を基に状態を過去に遡っていくこと、復号データ１０１１０００が得られるが、データの復号を行なうためのトレースバック処理に７サイクルかかる。
【００７９】
これに対し本発明によるトレースバック方法を用いたビタビ復号では、最終時刻には、図１３（ｂ）に示すように、復号データ１０１１０００は、すでに１行のバッファ（行レジスタ）１３０５に整然と記憶されている。よって、一気にデータ列を読み出すことで復号データを得ることができる。
【００８０】
以下、順を追って説明する。
【００８１】
時刻ｔ０でのパスメモリ部１０５の各行の内容は図６に示すよう初期状態となっている。
【００８２】
次に、ｔ１における一回目のステップＳ４０５までの処理を行なうと、状態番号０（Ｓ（０））と状態番号１（Ｓ（１））のＡＣＳ演算が同時に行なわれるため、時刻ｔ１における状態番号０と状態番号１までのパスセレクト信号列を求めるには、まず時刻ｔ１において状態番号０と状態番号１に遷移しうる時刻ｔ０での状態番号０と状態番号２までのパスセレクト信号列が記憶されているパスメモリ部１０５の１行目と３行目を読み出し、そしてこのときのパスセレクト信号１０２ａにより決定される生き残りパスの方からのパスセレクト信号列に、そのパスセレクト信号１０２ａを付加し、パスメモリ部１０５の１行目と３行目にそれぞれ書き込む。この結果、パスメモリ部１０５は図７（ａ）のようになる。
【００８３】
この動作を図１４を用いて、より具体的に説明する。
【００８４】
図１４の左側の図から明らかなように、ここで、問題にするのは、時刻ｔ１における状態Ｓ（０），Ｓ（１）についてのパス選択である。
【００８５】
この時刻ｔ１の状態Ｓ（０）に至るパスとしては、一つ前の時刻ｔ０における状態Ｓ（０）またはＳ（２）からの２つのパスがある。
【００８６】
図１４では、状態Ｓ（０）からのパスが選択される。このパス選択を示すパス選択信号の値は“０”である。したがって、このパス選択信号は、結果的に、図１４の右側に示すように、パスメモリ部１０５の最上位の行Ａの左端に格納される。
【００８７】
同様に、時刻ｔ１の状態Ｓ（１）に至るパスとしては、一つ前の時刻ｔ０における状態Ｓ（０）またはＳ（２）からの２つのパスがある。
【００８８】
図１４では、状態Ｓ（０）からのパスが選択される。このパス選択を示すパス選択信号の値は“０”である。したがって、このパス選択信号は、結果的に、図１４の右側に示すように、パスメモリ部１０５の上から３番目の行Ｂの左端に格納される。
【００８９】
このように、新たにパスが選択されると、その選択された経路に繋がる過去の一連のパス選択信号を読み出し（図１４の説明では、この部分は省略されている）、その過去の一連のパス選択信号列に新たに選択されたパス選択信号（図１４では“０”）を付加し、その更新されたパス選択信号列を、パスメモリ部１０５に再書き込みする。
【００９０】
この再書き込み（パスメモリ部１０５へのライトアクセス）の際に留意すべきことは、次のＳ（２），Ｓ（３）についてのパス選択を行った際に必要となる、その状態に繋がる過去のパス選択信号を消さないようにすることである。
【００９１】
つまり、次の処理で必要となるかもしれないパス選択信号列が格納されている行を避けて、他の行（もはや必要ないパス選択信号が記憶されている行）に再度の書き込みをすることである。すなわち、次に必要となる過去のパス選択信号列を格納している行を避けて、適切な動的ライトアクセスを達成することが重要である。
【００９２】
図１４において、新たに選択されたパスを示すパス選択信号“０”をＡ，Ｂの各行にライトしているのは、その他の行には、次のパス選択時に必要となる過去のパス選択信号が格納されている（少なくともその可能性がある）からである（図１５参照）。
【００９３】
図７（ｂ）を参照して、次のステップについて説明する。
【００９４】
さらに時刻ｔ１における二回目のステップＳ４０５までの処理を行なうと、状態番号２と状態番号３のＡＣＳ演算が同時に行なわれるため、時刻ｔ１における状態番号２と状態番号３までのパスセレクト信号列を求めるには、まず時刻ｔ１において状態番号２と状態番号３に遷移しうる時刻ｔ０での状態番号１と状態番号３までのパスセレクト信号列が記憶されているパスメモリ部の２行目と４行目を読み出し、そしてこのときのパスセレクト信号１０２ａにより決定される生き残りパスの方からのパスセレクト信号列に、そのパスセレクト信号１０２ａを付加し、パスメモリ部１０５の２行目と４行目にそれぞれ書き込む。この結果パスメモリ部１０５は図７（ｂ）のようになる。
【００９５】
この動作を図１５を用いて、より具体的に説明する。
【００９６】
図１５の左側の図から明らかなように、ここで、問題にするのは、時刻ｔ１における状態Ｓ（２），Ｓ（３）についてのパス選択である。
【００９７】
この時刻ｔ１の状態Ｓ（２）に至るパスとしては、一つ前の時刻ｔ０における状態Ｓ（１）またはＳ（３）からの２つのパスがある。
【００９８】
図１５では、状態Ｓ（１）からのパスが選択される。このパス選択を示すパス選択信号の値は“０”である。したがって、このパス選択信号は、結果的に、図１５の右側に示すように、パスメモリ部１０５の上から２番目の行Ｃの左端に格納される。
【００９９】
同様に、時刻ｔ１の状態Ｓ（３）に至るパスとしては、一つ前の時刻ｔ０における状態Ｓ（１）またはＳ（３）からの２つのパスがある。
【０１００】
図１５では、状態Ｓ（３）からのパスが選択される。このパス選択を示すパス選択信号の値は“１”である。したがって、このパス選択信号は、結果的に、図１５の右側に示すように、パスメモリ部１０５の最下行Ｄの左端に格納される。
【０１０１】
図８（ａ）を参照して、次のステップを説明する。
【０１０２】
次に、ｔ２における一回目のステップＳ４０５までの処理を行なうと、状態番号０と状態番号１のＡＣＳ演算が同時に行なわれるため、時刻ｔ２における状態番号０と状態番号１までのパスセレクト信号列を求めるには、まず時刻ｔ２において状態番号０と状態番号１に遷移しうる時刻ｔ１での状態番号０と状態番号２までのパスセレクト信号列が記憶されているパスメモリ部１０５の１行目と２行目を読み出し、そしてこのときのパスセレクト信号１０２ａにより決定される生き残りパスの方からのパスセレクト信号列に、そのパスセレクト信号１０２ａを付加し、パスメモリ部１０５の１行目と２行目にそれぞれ書き込む。この結果パスメモリ部１０５は図８（ａ）のようになる。
【０１０３】
さらに、時刻ｔ２における二回目のステップＳ４０５までの処理を行なうと、状態番号２と状態番号３のＡＣＳ演算が同時に行なわれるため、時刻ｔ２における状態番号２と状態番号３までのパスセレクト信号列を求めるには、まず時刻ｔ２において状態番号２と状態番号３に遷移しうる時刻ｔ１での状態番号１と状態番号３までのパスセレクト信号列が記憶されているパスメモリ部の３行目と４行目を読み出し、そしてこのときのパスセレクト信号１０２ａにより決定される生き残りパスの方からのパスセレクト信号列に、そのパスセレクト信号１０２ａを付加し、パスメモリ部１０５の３行目と４行目にそれぞれ書き込む。この結果パスメモリ部１０５は図８（ｂ）のようになる。
【０１０４】
この動作を図１６および図１７を用いて、より具体的に説明する。
【０１０５】
図１６の左側の図から明らかなように、ここで、問題にするのは、時刻ｔ２における状態Ｓ（０），Ｓ（１）についてのパス選択である。
【０１０６】
この時刻ｔ２の状態Ｓ（０）に至るパスとしては、一つ前の時刻ｔ１における状態Ｓ（０）またはＳ（２）からの２つのパスがある。
【０１０７】
図１６では、状態Ｓ（０）からのパスが選択される。このパス選択を示すパス選択信号の値は“０”である。
【０１０８】
この場合には、図１６の右側に示すように、時刻ｔ１のＳ（０）に至るまでのパス選択信号列を記憶している最上位行Ａからそのパス選択信号列（図１６では図１４のステップにて蓄積されている“０”）を読み出し、そして、今回のパス選択を示す“０”を左側から付加して、再び、最上位のＡ行に書き込む。結果的に、過去のパス選択信号“０”は、１ビット右側にシフトされて再書き込みがなされることになる。
【０１０９】
時刻ｔ２における状態Ｓ（２），Ｓ（３）については、図１７に示すような動作となる。
【０１１０】
すなわち、状態Ｓ（２），状態Ｓ（３）のどちらについても、選択されるパスは時刻ｔ１における状態Ｓ（１）からのパスである。よって、時刻ｔ１における状態Ｓ（３）までの過去のパス選択信号列はもはや不要である。
【０１１１】
このことを考慮し、図１７の右側の上の図に示すように、時刻ｔ１の状態Ｓ（１）までのパス選択信号列を格納している（図１４参照）Ｂ行のパス選択信号列（ここでは“０”）を読み出し、この“０”に今回の新たなパス選択を示すパス選択信号“０”を左側から付加し、そして、Ｂ行ならびにＤ行に、再書き込みがなされる。
【０１１２】
以下同様にｔ７までの処理を行なうとパスメモリ部１０５の内容は図１３（ｂ）のようになる。このときパスメモリ部１０５の１行目には、符号化データ受信終了後の状態番号０までの経路情報を加味したパスセレクト信号が記憶されており、トレースバック開始状態番号を０とするとき、パスメモリ部１０５の１行目を読み出すことで復号データが得られることになり、読み出すためのバス幅を７ビットとすると１サイクルでトレースバック処理ができることとなる。
【０１１３】
上記では、状態数が４、トレースバック長が７の場合のときのみについて説明したが、状態数あるいはトレースバック長が上位以外の場合でも同様の方法を用いることでトレースバック処理にかかる時間を削減でき、高速に復号データを得ることができる。
【０１１４】
図１のパスセレクト信号記憶手段１０４における、パスメモリ入力Ｉ／Ｆ部１０８およびパスメモリ出力Ｉ／Ｆ部１０６は、例えば、図１８に示すような簡単な回路構成することができる。
【０１１５】
つまり、図１８のセレクタＳＥ１〜ＳＥ４の各々が、図１におけるパスメモリ入力Ｉ／Ｆ部１０８およびパスメモリ出力Ｉ／Ｆ部１０６として機能する。各セレクタＳＥ１〜ＳＥ４は、パスセレクト信号制御部１０７から出力される制御信号ＣＮＴ（この制御信号ＣＮＴが上述したパス選択信号として機能する）により制御される。
【０１１６】
また、図１のパスメモリ部１０５は、図１８に示すとおり、４つの行レジスタＢＦ１〜ＢＦ４により構成される。行レジスタＢＦ１〜ＢＦ４の各々は、各記憶要素への並列のライト、各記憶要素からの並列の読み込みが可能である。
【０１１７】
各行レジスタＢＦ１〜ＢＦ４から読み出されたパス選択信号列は、セレクタＳＥ１〜ＳＥ４を介して再び、行レジスタＢＦ１〜ＢＦ４のいずれかに書き込まれるか、または、パスセレクト信号制御部１０７に、出力信号ＯＵＴとして送られる。
【０１１８】
各行レジスタＢＦ１〜ＢＦ４への再書き込みの時には、パスセレクト信号制御部１０７から発せられる制御信号ＣＮＴ（上述したパス選択信号として機能する）自体が過去のパス選択信号列の端に付加され、その更新されたパス選択信号列が書き込みされることになる。結果的に、各行レジスタＢＦ１〜ＢＦ４への書き込みは、読み出し時のアドレスから１ビットだけシフトしたアドレスになされることになる。
【０１１９】
【発明の効果】
以上説明したように、本発明によれば、パスセレクト信号を算出するごとにパスセレクト信号列の内容を、経路情報を加味して記憶するため、ビタビ復号器のトレースバック処理にかかる処理時間を削減し、短時間でデータの復号を行なうことができる。
【０１２０】
しかも、トレースバック処理に必要な最小限度の容量のメモリと簡単なデジタル回路を付加するだけでよいため、集積回路チップの専有面積の増大を招くことがなく、実現も容易である。
【図面の簡単な説明】
【図１】本発明のビタビ復号器の一例の構成を示すブロック図
【図２】ビタビ復号における符号器の状態遷移のパスを示す状態遷移図
【図３】トレリス線図の一例を示す図
【図４】本発明によるビタビ復号の動作を説明するフロー図
【図５】畳み込み符号方式による符号化回路の一例を示す図
【図６】初期状態（ｔ０）におけるパスメモリ部に記憶されているパスセレクト信号を示す図
【図７】（ａ）時刻ｔ１における前半の処理終了後のパスメモリ部の内容を示す図
（ｂ）時刻ｔ１における後半の処理終了後のパスメモリ部の内容を示す図
【図８】（ａ）時刻ｔ２における前半の処理終了後のパスメモリ部の内容を示す図
（ｂ）時刻ｔ２における後半の処理終了後のパスメモリ部の内容を示す図
【図９】（ａ）時刻ｔ３における前半の処理終了後のパスメモリ部の内容を示す図
（ｂ）時刻ｔ３における後半の処理終了後のパスメモリ部の内容を示す図
【図１０】（ａ）時刻ｔ４における前半の処理終了後のパスメモリ部の内容を示す図
（ｂ）時刻ｔ４における後半の処理終了後のパスメモリ部の内容を示す図
【図１１】（ａ）時刻ｔ５における前半の処理終了後のパスメモリ部の内容を示す図
（ｂ）時刻ｔ５における後半の処理終了後のパスメモリ部の内容を示す図
【図１２】（ａ）時刻ｔ６における前半の処理終了後のパスメモリ部の内容を示す図
（ｂ）時刻ｔ６における後半の処理終了後のパスメモリ部の内容を示す図
【図１３】（ａ）時刻ｔ７における前半の処理終了後のパスメモリ部の内容を示す図
（ｂ）時刻ｔ７における後半の処理終了後のパスメモリ部の内容を示す図
【図１４】時刻ｔ１の前半の処理内容（主にパスメモリ部への再書き込み動作）を説明するための図
【図１５】時刻ｔ１の後半の処理内容（主にパスメモリ部への再書き込み動作）を説明するための図
【図１６】時刻ｔ２の前半の処理内容（主にパスメモリ部への再書き込み動作）を説明するための図
【図１７】時刻ｔ２の後半の処理内容（主にパスメモリ部への再書き込み動作）を説明するための図
【図１８】図１のパスメモリ入力Ｉ／Ｆ部、パスメモリ出力Ｉ／Ｆ部ならびにパスメモリ部の具体的な構成の一例を示す図
【図１９】従来のトレースバック処理方法によるビタビ復号器の処理終了時点でのパスメモリ部の内容
【符号の説明】
１００      本発明の高速トレースバックビタビ復号器本体
１０１      ブランチメトリック演算手段
１０１ａ    現時刻でのブランチメトリック
１０２      ＡＣＳ演算手段
１０２ａ    現時刻でのパスセレクト信号
１０２ｂ    現時刻でのパスメトリック
１０３      パスメトリック記憶手段
１０３ａ    前時刻でのパスメトリック
１０３ｂ    全入力データ処理終了後の各状態でのパスメトリック
１０４      パスセレクト記憶手段
１０５      パスメモリ部
１０５ａ    各状態までのパスセレクト信号列
１０６      パスメモリ出力Ｉ／Ｆ部
１０６ａ    選択されたパスセレクト信号列
１０６ｂ    選択されたパスセレクト信号列
１０７      パスセレクト信号制御部
１０７ａ    更新されたパスセレクト信号列
１０８      パスメモリ入力Ｉ／Ｆ部
１０９  トレースバック処理手段
１０９ａ    更新されたパスセレクト信号列
５００      畳み込み符号器
５０１      シフトレジスタ
５０２      符号化出力系列
５０３      符号化入力
５０４ａ、ｂ、ｃ    排他的論理和ゲート
６０１    パスメモリ部０行目
６０２    パスメモリ部１行目
６０３    パスメモリ部２行目
６０４    パスメモリ部３行目
７０１〜７０８  パスメモリ部
８０１〜８０８  パスメモリ部
９０１〜９０８  パスメモリ部
１００１〜１００８  パスメモリ部
１１０１〜１１０８  パスメモリ部
１２０１〜１２０８  パスメモリ部
１３０１〜１３０８  パスメモリ部
【図１】
2004153319.tif 000003
【図２】
2004153319.tif 000004
【図３】
2004153319.tif 000005
【図４】
2004153319.tif 000006
【図５】
2004153319.tif 000007
【図６】
2004153319.tif 000008
【図７】
2004153319.tif 000009
【図８】
2004153319.tif 000010
【図９】
2004153319.tif 000011
【図１０】
2004153319.tif 000012
【図１１】
2004153319.tif 000013
【図１２】
2004153319.tif 000014
【図１３】
2004153319.tif 000015
【図１４】
2004153319.tif 000016
【図１５】
2004153319.tif 000017
【図１６】
2004153319.tif 000018
【図１７】
2004153319.tif 000019
【図１８】
2004153319.tif 000020
【図１９】
2004153319.tif 000021