JP2001069015A - ビタビ復号器 - Google Patents
ビタビ復号器Info
- Publication number
- JP2001069015A JP2001069015A JP24247999A JP24247999A JP2001069015A JP 2001069015 A JP2001069015 A JP 2001069015A JP 24247999 A JP24247999 A JP 24247999A JP 24247999 A JP24247999 A JP 24247999A JP 2001069015 A JP2001069015 A JP 2001069015A
- Authority
- JP
- Japan
- Prior art keywords
- update
- memory
- metric
- path metric
- adder
- 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.)
- Granted
Links
Landscapes
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
Abstract
更新計算を行うビタビ復号器のACS演算を、メモリへ
のアクセス回数を低減し、さらなる高速化を図って、一
層効率よく実行することを可能とする。 【解決手段】 更新用Aメモリ部10は、更新用Aメモ
リ11〜14に分割され、これらのアクセスは、更新用
Aメモリ選択器15によって制御される。更新用Bメモ
リ部20は、更新用Bメモリ21〜24に分割されて構
成され、これらのアクセスは、更新用Bメモリ選択器2
5によって制御される。ACS演算部30aおよび30
bは、更新用Aメモリ部10に格納された更新前パスメ
トリックおよび枝メトリックを用いてパスメトリックの
更新演算を行う。ACS演算部30aおよびACS演算
部30bから出力された更新後パスメトリックは、それ
ぞれ更新用Bメモリ部20に格納される。
Description
るビット誤りを低減するための手法の一つとして畳み込
み符号化処理と組み合わせて用いられるビタビ復号処理
に関し、特にビタビ復号処理の主要演算であるパスメト
リックの更新計算の改善を図ったビタビ復号器に関す
る。
映像および音声等のデータの高速データ伝送において、
データのビット誤りを低減する手法として、畳み込み符
号化とビタビ復号によるアルゴリズムが用いられてい
る。このようなビタビ復号処理の主要演算として、パス
メトリックの更新演算がある。これは、畳み込み符号器
により符号化された信号を受信側で復号するために、畳
み込み符号器の各状態に対応するパスメトリックを更新
するものである。
階の状態は各々2つの状態があり、それぞれについて、
更新前パスメトリックと対応するブランチメトリックと
の加算を行い、これらの加算結果を相互に大小比較し
て、一方(小さい方)を更新後パスメトリック値として
選択する。この一連の演算は、加算、比較および選択を
行うことからACS(Add Compare Select)演算と称され
ている。1組の畳み込み符号データに対し、畳み込み符
号器の全状態について、このようなパスメトリック更新
演算を行うこととなる。近年、データ伝送の大容量化に
伴い、このようなビタビ復号処理の高速化が要求されて
いる。
10−242871号公報においては、ビタビ復号処理
においてパスメトリックの更新を効率よく行う手法が提
案されている。この特開平10−242871号公報に
開示された手法を用いるデータ処理装置は、図5に示す
ように構成される。
メトリックを格納するメモリ110、メモリ110にア
ドレス(番地)を指示するポインタ111、更新後パス
メトリックを格納するメモリ120、メモリ120にア
ドレスを指示するポインタ121、ACS演算を行うA
CS演算部130、ブランチメトリックを格納するレジ
スタ141〜148、スワッパ149、メモリ110か
ら読み出された更新前パスメトリックをACS演算部1
30に転送するデータバス151aおよび151b、A
CS演算部130から出力された更新後パスメトリック
をメモリ120に転送するデータバス152、並びにポ
インタ111および121を制御するポインタ制御部6
0により構成される。
読み出されてデータバス151aに転送された更新前パ
スメトリックとレジスタ141〜148からスワッパ1
49を介して読み出されたブランチメトリックとを加算
する第1の加算器131a、メモリ110から読み出さ
れてデータバス151bに転送された更新前パスメトリ
ックとレジスタ141〜148からスワッパ149を介
して読み出されたブランチメトリックとを加算する第2
の加算器131b、第1および第2の加算器131aお
よび131bの加算結果データの大小を比較する比較器
132、比較器132による比較結果によって第1およ
び第2の加算器131aおよび131bの加算結果デー
タのいずれか一方を選択出力する選択手段としてのセレ
クタ133、並びにセレクタ133の出力データすなわ
ち更新後パスメトリックを保持するラッチ134を備え
ている。また、レジスタ141〜148およびスワッパ
149によってブランチメトリック格納手段140が構
成されている。
み出した更新前パスメトリックを基にしてACS演算を
行い、更新後パスメトリックをメモリ120に格納す
る。メモリ110では1回のACS演算に必要な2個の
更新前パスメトリックが、最下位ビット以外のビットが
共通の偶数番地と奇数番地にそれぞれ格納されており、
これら2個の更新前パスメトリックを1回のアクセスで
読み出すことが可能になっている。ACS演算部130
は、処理の第1のサイクルにおいて、メモリ110をア
クセスして読み出した2個の更新前パスメトリックを基
にしてACS演算を行い第1の更新後パスメトリックを
求め、処理の第2のサイクルにおいて、メモリ110を
アクセスせずに、先に第1のサイクルにおいて読み出し
た2個の更新前パスメトリックを基にしてACS演算を
行い、第2の更新後パスメトリックを求める。
セスを図6を参照して説明する。図6(a)に示すよう
にデータ“a′0”または“a′1”に、“1”または
“0”からなる入力データ“ai”が入力され、“ai
+a′”となる場合を考える。この場合、図6(b)に
示すように、更新後に状態“0a′”になり得るのは、
状態“a′0”および“a′1”であり、また、状態
“1a′”になり得るのも、状態“a′0”および
“a′1”である。遷移時の符号化出力は、トランスペ
アレントな符号であり、更新後の状態“0a′”および
“1a′”の更新後パスメトリックを求めるために用い
る枝メトリック値も共通に使用することができる。
のに必要な2個の更新前パスメトリックは、演算の過程
において2回用いられる。このため、メモリ110にお
ける2個の更新前パスメトリックは、本来2回アクセス
する必要があるが、上述の手法によればこれら2個の更
新前パスメトリックのアクセスを1回のアクセスで済ま
せることができる。したがって、更新前パスメトリック
に対するアクセス回数を半減させることができ、処理の
高速化が実現される。
−242871号公報の技術においては、更新後パスメ
トリック値を1つずつメモリ120に格納するため、メ
モリ120への書込アクセスは、全状態について行う必
要があり、メモリ120への書込アクセス数は変わらな
い。このことは、ビタビ復号処理のさらなる高速化への
妨げとなっている。
もので、ビタビ復号処理において、パスメトリックの更
新計算を行うビタビ復号器のACS演算を、メモリへの
アクセス回数を低減し、さらなる高速化を図って、一層
効率よく実行することを可能とするビタビ復号器を提供
することを主な目的としている。
め、本発明に係るビタビ復号器は、それぞれ4個ずつに
分割され且つ各分割領域毎に各々所定個数の記憶領域を
有し、更新前並びに更新後パスメトリックを格納する第
1および第2の格納手段と、前記第1および第2の格納
手段について、それぞれ各2個ずつの分割領域毎の2個
の記憶領域を順次選択指定する第1および第2のメモリ
選択手段と、2個ずつの枝メトリックを順次生成する枝
メトリック生成手段と、それぞれ、前記第1および第2
の格納手段のうちの一方の格納手段の前記第1または第
2のメモリ選択手段により選択された2個の記憶領域か
ら読み出した2個の更新前パスメトリックと前記枝メト
リック生成手段により生成された第1および第2の枝メ
トリックとを用いてACS(Add Compare Select)演算
を行なって、第1および第2の更新後パスメトリックを
生成して、前記第1および第2の格納手段のうちの他方
の格納手段の前記第1または第2のメモリ選択手段によ
り選択された2個の記憶領域に格納させる第1および第
2のACS演算手段と、を具備する。
々は、それぞれ更新前パスメトリックと枝メトリックを
加算する第1および第2の加算手段と、前記第1および
第2の加算手段の加算結果を比較する比較手段と、前記
比較手段の比較結果に基づき前記第1および第2の加算
手段の加算結果のうちの一方を選択する選択手段と、前
記選択手段により選択された前記加算結果をラッチ出力
するラッチ手段と、を含んでいてもよい。
更新前パスメトリック格納用に、他方を更新後パスメト
リック格納用に用い、且つこれら更新前パスメトリック
格納用と、更新後パスメトリック格納用とを、交互に切
換えて用いる手段であってもよい。
れ4個ずつに分割され且つ各分割領域毎に各々所定個数
の記憶領域を有する第1および第2の格納手段に、更新
前並びに更新後パスメトリックを格納し、前記第1およ
び第2の格納手段について、それぞれ各2個ずつの分割
領域毎の2個の記憶領域を、第1および第2のメモリ選
択手段により順次選択指定して、第1および第2のAC
S演算手段により、それぞれ、前記第1および第2の格
納手段のうちの一方の格納手段の前記第1または第2の
メモリ選択手段により選択された2個の記憶領域から読
み出した2個の更新前パスメトリックと、枝メトリック
生成手段により生成された第1および第2の枝メトリッ
クとを用いてACS演算を行なって、第1および第2の
更新後パスメトリックを生成して、前記第1および第2
の格納手段のうちの他方の格納手段の前記第1または第
2のメモリ選択手段により選択された2個の記憶領域に
格納させる。したがって、更新後パスメトリックを求め
るときに、更新前パスメトリックを前記第1および第2
の格納手段の一方に1回アクセスするだけで、ACS演
算に必要な2個の更新前パスメトリックを読み出すこと
ができるだけでなく、これら2個の更新前パスメトリッ
クから求められる2個の更新後パスメトリックを同時に
求めることができ、さらに求めた2個の更新後パスメト
リックを前記第1および第2の格納手段の他方に格納す
ることができ、アクセス回数の低減が可能となり、パス
メトリック更新処理の高速化を実現することができる。
て図面を参照して説明する。すなわち、図1〜図5を参
照して、本発明によるビタビ復号器の実施の形態を説明
する。図1は、本発明の実施の形態に係るビタビ復号器
の構成を示しており、図2は、図1におけるACS演算
部の詳細な構成を示している。図3は、図1のビタビ復
号器における更新前パスメトリックのメモリ部への格納
状態を模式的に示し、図4は、図1のビタビ復号器にお
ける更新後パスメトリックのメモリ部への格納状態を模
式的に示している。
リ部10、更新用Aメモリ選択器15、更新用Bメモリ
部20、更新用Bメモリ選択器25、第1のACS演算
部30a、第2のACS演算部30b、枝メトリック生
成部40、第1のAデータバス51a、第2のAデータ
バス51b、第1のBデータバス52aおよび第2のB
データバス52bを備えている。更新用Aメモリ部10
は、第1の更新用Aメモリ11、第2の更新用Aメモリ
12、第3の更新用Aメモリ13および第4の更新用A
メモリ14を有し、更新用Bメモリ部20は、第1の更
新用Bメモリ21、第2の更新用Bメモリ22、第3の
更新用Bメモリ23および第4の更新用Bメモリ24を
有している。
新前パスメトリックを格納する更新用Aメモリ部10、
更新後パスメトリックを格納する更新用Bメモリ部20
を有する。更新用Aメモリ部10は、第1〜第4の更新
用Aメモリ11〜14に分割されて構成されており、こ
れら第1〜第4の更新用Aメモリ11〜14へのアクセ
スは、更新用Aメモリ選択器15によって制御される。
同様に、更新用Bメモリ部20は、第1〜第4の更新用
Bメモリ21〜24に分割されて構成されており、これ
ら第1〜第4の更新用Bメモリ21〜24のアクセス
は、更新用Bメモリ選択器25によって制御される。パ
スメトリックの更新演算を行うACS演算部は、いわゆ
る2式構成であり、第1のACS演算部30aの出力で
ある更新後パスメトリックは、第1のBデータバス52
aに出力され、第2のACS演算部30bの出力である
更新後パスメトリックは、第2のBデータバス52bに
出力され、それぞれ更新用Bメモリ部20に格納され
る。
aおよび30bの両者に共通のブロック図を示す。第1
または第2のACS演算部30aまたは30bは、いず
れも、第1の加算器31a、第2の加算器31b、比較
器32、選択器33およびラッチ34を具備する。
10から読み出されて第1のAデータバス51aを転送
された更新前パスメトリックと、枝メトリック生成部4
0から与えられる枝メトリックとを加算する。第2の加
算器31bは、更新用Aメモリ部10から読み出され
て、第2のAデータバス51bを転送された更新前パス
メトリックと枝メトリック生成部40から与えられる枝
メトリックとを加算する。比較器32は、第1の加算器
31aと第2の加算器31bの出力結果の大小比較を行
う。選択器33は、比較器32の比較結果から第1の加
算器31aと第2の加算器31bの加算結果のうちのい
ずれか一方を選択する。そして、ラッチ34は、選択器
33により選択された第1の加算器31aまたは第2の
加算器31bの加算結果を保持する。
メトリックをPM(A)、状態Aの更新後パスメトリック
をPM′(A)とする。また、状態Aから状態Bへの枝メ
トリックをBM(A,B)とする。
の拘束長KがK=5、符号化率RがR=1/2のパスメ
トリック更新を行うものである。更新用Aメモリ部1
0、更新用Bメモリ部20は16(=2(K−1)=2
(5−1))個の状態にそれぞれ対応するパスメトリッ
ク領域を有している。図3は、更新用Aメモリ部10の
更新前パスメトリックの格納状態を模式的に示してい
る。
は、4個の更新用Aメモリ11〜14で構成され、更新
用Aメモリ11(SEL=[00])の番地0000h(“h”は1
6進表記であることを示す)にはPM(0000)が、番地00
01hにはPM(0100)が、番地0002hにはPM(0010)が、番
地0003hにはPM(0110)がそれぞれ格納され、更新用A
メモリ12(SEL=[01])の番地0000hにはPM(0001)
が、番地0001hにはPM(0101)が、番地0002hにはPM(0
011)が、番地0003hにはPM(0111)がそれぞれ格納さ
れ、更新用Aメモリ13(SEL=[10])の番地0000hには
PM(1000)が、番地0001hにはPM(1100)が、番地0002h
にはPM(0011)が、番地0003hにはPM(0111)がそれぞ
れ格納され、更新用Aメモリ14(SEL=[11])の番地00
00hにはPM(1001)が、番地0001hにはPM(1101)が、番
地0002hにはPM(1011)が、番地0003hにはPM(1111)が
それぞれ格納される。
しを行うべき2個のメモリからなるメモリのペアが、更
新用Aメモリ選択器15によって選択される。選択され
たメモリのペアから読み出されたデータは、一方は第1
のAデータバス51aに、他方は第2のAデータバス5
1bに出力される。
スメトリックを格納するものであり、書き込みを行うべ
き2個のメモリからなるメモリのペアが、更新用Bメモ
リ選択器25によって選択される。そして、第1のAC
S演算部30aおよび第2のACS演算部30bから出
力されたデータを、それぞれ第1のBデータバス52a
および第2のBデータバス52bを介して、これら選択
されたメモリのペアに書き込む。
形態に係るビタビ復号器の動作を説明する。なお、ビタ
ビ復号において、一般的に枝メトリックについて数1の
関係式が成り立つ。この関係式が成り立つことは、当該
技術分野の技術者においては自明である。
ずれかの値をとる。
パスメトリックPM′(0000)、および、状態「1000」の
更新後パスメトリックPM′(1000)を求める。
[00]およびSEL[01]である更新用Aメモリ11および1
2を選択し、番地0000hを指定する。この結果、更新用
Aメモリ部10は、第1のAデータバス51aに更新用
Aメモリ11に格納していたPM(0000)を出力し、第2
のAデータバス51bに更新用Aメモリ12に格納して
いたPM(0001)を出力する。
て、第1の加算器31aは、第1のAデータバス51a
を介して転送されたPM(0000)と枝メトリック生成部4
0により生成された枝メトリックBM(0000,0000)とを
加算する。一方、第2の加算器31bは、第2のAデー
タバス51bを介して転送されたPM(0001)と枝メトリ
ック生成部40により生成された枝メトリックBM(000
1,0000)とを加算する。比較器32は、第1の加算器3
1aの加算結果値と第2の加算器31bの加算結果値と
の大小比較を行って選択信号を選択器33に送り、第1
の加算器31aの加算結果値と第2の加算器31bの加
算結果値とのうちの一方を選択して出力させる。ラッチ
34は、選択器33の出力値である更新後パスメトリッ
クPM′(0000)を保持する。
は、第1の加算器31aは、第1のAデータバス51a
を介して転送されたPM(0000)と枝メトリック生成部4
0により生成された枝メトリックBM(0000,1000)(=B
M(0001,0000))とを加算する。一方、第2の加算器31
bは、第2のAデータバス51bを介して転送されたP
M(0001)と枝メトリック生成部40により生成された枝
メトリックBM(0001,1000)(=BM(0000,0000))とを加
算する。比較器32は、第1の加算器31aの加算結果
値と第2の加算器31bの加算結果値との大小比較を行
って選択信号を選択器33に送り、第1の加算器31a
の加算結果値と第2の加算器31bの加算結果値とのう
ちの一方を選択して出力させる。ラッチ34は、選択器
33の出力値である更新後パスメトリックPM′(1000)
を保持する。
メトリックPM′(0000)を第1のBデータバス52aに
出力し、第2のACS演算部30bは、更新後パスメト
リックPM′(1000)を第2のBデータバス52bに出力
する。更新用Bメモリ選択器25は、SEL[00]およびSEL
[10]である更新用Bメモリ21および23を選択し、番
地0000hを指定する。この結果、更新用Bメモリ21の
番地0000hにPM′(0000)が格納され、更新用Bメモリ
23の番地0000hにPM′(1000)が格納される。
新後パスメトリックPM′(0100)、および、状態「110
0」の更新後パスメトリックPM′(1100)を求める。
の上位ビットを0→1とし、SEL[10]およびSEL[11]である
更新用Aメモリ13および14を選択し、番地はそのま
ま0000hを指定する。この結果、更新用Aメモリ部10
はAデータバス51aには、更新用Aメモリ13に格納
していたPM(1000)を出力し、Aデータバス51bに
は、更新用Aメモリ14に格納していたPM(1001)を出
力する。
て、第1の加算器31aは、Aデータバス51aを介し
て転送されたPM(1000)と枝メトリック生成部40によ
り生成された枝メトリックBM(1000,0100)とを加算す
る。一方、第2の加算器31bは、Aデータバス51b
を介して転送されたPM(1001)と枝メトリック生成部4
0により生成された枝メトリックBM(1001,0100)とを
加算する。比較器32は、第1の加算器31aの加算結
果値と第2の加算器31bの加算結果値との大小比較を
行って選択信号を選択器33に送り、第1の加算器31
aの加算結果値と第2の加算器31bの加算結果値との
うちの一方を選択して出力する。ラッチ34は、選択器
33の出力値である更新後パスメトリックPM′(0100)
を保持する。
は、第1の加算器31aは、Aデータバス51aを介し
て転送されたPM(1000)と枝メトリック生成部40によ
り生成された枝メトリックBM(1000,1100)(=BM(100
1,0100))とを加算する。一方、第2の加算器31bは、
Aデータバス51bを介して転送されたPM(1001)と枝
メトリック生成部40により生成された枝メトリックB
M(1001,1100)(=BM(1000,0100))とを加算する。比較
器32は、第1の加算器31aの加算結果値と第2の加
算器31bの加算結果値との大小比較を行って選択信号
を選択器33に送り、第1の加算器31aの加算結果値
と第2の加算器31bの加算結果値とのうちの一方を選
択して出力する。ラッチ34は、選択器33の出力値で
ある更新後パスメトリックPM′(1100)を保持する。
ックPM′(0100)をBデータバス52aに出力し、AC
S演算部30bは、更新後パスメトリックPM′(1100)
をBデータバス52bに出力する。更新用Bメモリ選択
器25は、SELは変更せず、SEL[00]およびSEL[10]であ
る更新用Bメモリ21および23を選択したままとし
て、番地を+1hし、番地0001hを指定する。この結果、更
新用Bメモリ21の番地0001hにPM′(0100)が格納さ
れ、更新用Bメモリ23の番地0001hにPM′(1100)が
格納される。
新後パスメトリックPM′(0010)、および、状態「101
0」の更新後パスメトリックPM′(1010)を求める。
[00]およびSEL[01]である更新用Aメモリ11および1
2を選択し、番地を+1hして、番地0001hを指定する。こ
の結果、更新用Aメモリ部10はAデータバス51aに
更新用Aメモリ11に格納していたPM(0100)を出力
し、Aデータバス51bに更新用Aメモリ12に格納し
ていたPM(0101)を出力する。
て、第1の加算器31aは、Aデータバス51aを介し
て転送されたPM(0100)と枝メトリック生成部40によ
り生成された枝メトリックBM(0100,0010)とを加算す
る。一方、第2の加算器31bは、Aデータバス51b
を介して転送されたPM(0101)と枝メトリック生成部4
0により生成された枝メトリックBM(0101,0010)とを
加算する。比較器32は、第1の加算器31aの加算結
果値と第2の加算器31bの加算結果値との大小比較を
行って選択信号を選択器33に送り、第1の加算器31
aの加算結果値と第2の加算器31bの加算結果値との
うちの一方を選択して出力する。ラッチ34は、選択器
33の出力値である更新後パスメトリックPM′(0010)
を保持する。
て、第1の加算器31aは、Aデータバス51aを介し
て転送されたPM(0100)と枝メトリック生成部40によ
り生成された枝メトリックBM(0100,1010)(=BM(010
1,0010))とを加算する。一方、第2の加算器31bは、
Aデータバス51bを介して転送されたPM(0101)と枝
メトリック生成部40により生成された枝メトリックB
M(0101,1010)(=BM(0100,0010))とを加算する。比較
器32は、第1の加算器31aの加算結果値と第2の加
算器31bの加算結果値との大小比較を行って選択信号
を選択器33に送り、第1の加算器31aの加算結果値
と第2の加算器31bの加算結果値とのうちの一方を選
択して出力する。ラッチ34は、選択器33の出力値で
ある更新後パスメトリックPM′(1010)を保持する。
ックPM′(0010)をBデータバス52aに出力し、AC
S演算部30bは、更新後パスメトリックPM′(1010)
をBデータバス52bに出力する。更新用Bメモリ選択
器25は、SELを変更せず、SEL[00]およびSEL[10]であ
る更新用Bメモリ21および23を選択したままとし、
番地を+1hして、番地0002hを指定する。この結果、更新
用Bメモリ21の番地0002hにPM′(0010)が格納さ
れ、更新用Bメモリ23の番地0002hにPM′(1010)が
格納される。
更新後パスメトリックPM′(0110)、および、状態「11
10」の更新後パスメトリックPM′(1110)を求める。
の上位ビットを0→1として、SEL[10]およびSEL[11]であ
る更新用Aメモリ13および14を選択し、番地はその
まま0001hを指定する。この結果、更新用Aメモリ部1
0はAデータバス51aに更新用Aメモリ13に格納し
ていたPM(1100)を出力し、Aデータバス51bに更新
用Aメモリ14に格納していたPM(1101)を出力する。
て、第1の加算器31aは、Aデータバス51aを介し
て転送されたPM(1100)と枝メトリック生成部40によ
り生成された枝メトリックBM(1100,0110)とを加算す
る。一方、第2の加算器31bは、Aデータバス51b
を介して転送されたPM(1101)と枝メトリック生成部4
0により生成された枝メトリックBM(1101,0110)とを
加算する。比較器32は、第1の加算器31aの加算結
果値と第2の加算器31bの加算結果値との大小比較を
行って選択信号を選択器33に送り、第1の加算器31
aの加算結果値と第2の加算器31bの加算結果値との
うちの一方を選択して出力する。ラッチ34は、選択器
33の出力値である更新後パスメトリックPM′(0110)
を保持する。
は、第1の加算器31aは、Aデータバス51aを介し
て転送されたPM(1100)と枝メトリック生成部40によ
り生成された枝メトリックBM(1100,1110)(=BM(110
1,0110))とを加算する。一方、第2の加算器31bは、
Aデータバス51bを介して転送されたPM(1101)と枝
メトリック生成部40により生成された枝メトリックB
M(1101,1110)(=BM(1100,0110))とを加算する。比較
器32は、第1の加算器31aの加算結果値と第2の加
算器31bの加算結果値との大小比較を行って選択信号
を選択器33に送り、第1の加算器31aの加算結果値
と第2の加算器31bの加算結果値とのうちの一方を選
択して出力する。ラッチ34は、選択器33の出力値で
ある更新後パスメトリックPM′(1110)を保持する。
ックPM′(0110)をBデータバス52aに出力し、AC
S演算部30bは、更新後パスメトリックPM′(1110)
をBデータバス52bに出力する。更新用Bメモリ選択
器25は、SELは変更せずに、SEL[00]およびSEL[10]で
ある更新用Bメモリ21および23を選択したままと
し、番地を+1hして、番地0003hを指定する。この結果、
更新用Bメモリ21の番地0003hにPM′(0110)が格納
され、更新用Bメモリ23の番地0003hにPM′(1110)
が格納される。
パスメトリックPM′(0001)、および、状態「1001」の
更新後パスメトリックPM′(1001)を求める。
の上位ビットを1→0として、SEL[00]およびSEL[01]であ
る更新用Aメモリ11および12を選択し、番地を+1h
して、0002hを指定する。この結果、更新用Aメモリ部
10はAデータバス51aに更新用Aメモリ11に格納
していたPM(0010)を出力し、Aデータバス51bに更
新用Aメモリ12に格納していたPM(0011)を出力す
る。
て、第1の加算器31aは、Aデータバス51aを介し
て転送されたPM(0000)と枝メトリック生成部40によ
り生成された枝メトリックBM(0010,0001)とを加算す
る。一方、第2の加算器31bは、Aデータバス51b
を介して転送されたPM(0011)と枝メトリック生成部4
0により生成された枝メトリックBM(0011,0001)とを
加算する。比較器32は、第1の加算器31aの加算結
果値と第2の加算器31bの加算結果値との大小比較を
行って選択信号を選択器33に送り、第1の加算器31
aの加算結果値と第2の加算器31bの加算結果値との
うちの一方を選択して出力する。ラッチ34は、選択器
33の出力値である更新後パスメトリックPM′(0001)
を保持する。
て、第1の加算器31aは、Aデータバス51aを介し
て転送されたPM(0010)と枝メトリック生成部40によ
り生成された枝メトリックBM(0010,1001)(=BM(001
1,0001))とを加算する。一方、第2の加算器31bは、
Aデータバス51bを介して転送されたPM(0011)と枝
メトリック生成部40により生成された枝メトリックB
M(0011,1001)(=BM(0010,0001))とを加算する。比較
器32は、第1の加算器31aの加算結果値と第2の加
算器31bの加算結果値との大小比較を行って選択信号
を選択器33に送り、第1の加算器31aの加算結果値
と第2の加算器31bの加算結果値とのうちの一方を選
択して出力する。ラッチ34は、選択器33の出力値で
ある更新後パスメトリックPM′(1001)を保持する。
ックPM′(0001)をBデータバス52aに出力し、AC
S演算部30bは、更新後パスメトリックPM′(1001)
をBデータバス52bに出力する。更新用Bメモリ選択
器25は、SELの下位ビットを0→1として、SEL[01]およ
びSEL[11]である更新用Bメモリ22および24を選択
し、番地0000hを指定する。この結果、更新用Bメモリ
22の番地0000hにPM′(0001)が格納され、更新用B
メモリ24の番地0000hにPM′(1001)が格納される。
更新後パスメトリックPM′(0101)、および、状態「11
01」の更新後パスメトリックPM′(1101)を求める。
の上位ビットを0→1として、SEL[10]およびSEL[11]であ
る更新用Aメモリ13および14を選択し、番地はその
まま0002hを指定する。この結果、更新用Aメモリ部1
0はAデータバス51aに更新用Aメモリ13に格納し
ていたPM(1010)を出力し、Aデータバス51bに更新
用Aメモリ14に格納していたPM(1011)を出力する。
て、第1の加算器31aは、Aデータバス51aを介し
て転送されたPM(1010)と枝メトリック生成部40によ
り生成された枝メトリックBM(1010,0101)とを加算す
る。一方、第2の加算器31bは、Aデータバス51b
を介して転送されたPM(1011)と枝メトリック生成部4
0により生成された枝メトリックBM(1011,0101)とを
加算する。比較器32は、第1の加算器31aの加算結
果値と第2の加算器31bの加算結果値との大小比較を
行って選択信号を選択器33に送り、第1の加算器31
aの加算結果値と第2の加算器31bの加算結果値との
うちの一方を選択して出力する。ラッチ34は、選択器
33の出力値である更新後パスメトリックPM′(0101)
を保持する。
て、第1の加算器31aは、Aデータバス51aを介し
て転送されたPM(1010)と枝メトリック生成部40によ
り生成された枝メトリックBM(1010,1101)(=BM(101
1,0101))とを加算する。一方、第2の加算器31bは、
Aデータバス51bを介して転送されたPM(1001)と枝
メトリック生成部40により生成された枝メトリックB
M(1011,1101)(=BM(1010,0101))とを加算する。比較
器32は、第1の加算器31aの加算結果値と第2の加
算器31bの加算結果値との大小比較を行って選択信号
を選択器33に送り、第1の加算器31aの加算結果値
と第2の加算器31bの加算結果値とのうちの一方を選
択して出力する。ラッチ34は、選択器33の出力値で
ある更新後パスメトリックPM′(1101)を保持する。
ックPM′(0101)をBデータバス52aに出力し、AC
S演算部30bは、更新後パスメトリックPM′(1101)
をBデータバス52bに出力する。更新用Bメモリ選択
器25は、SELは変更せず、SEL[01]およびSEL[11]であ
る更新用Bメモリ22および24を選択したままとし、
番地を+1hして、番地0001hを指定する。この結果、更新
用Bメモリ22の番地0001hにPM′(0101)が格納さ
れ、更新用Bメモリ24の番地0001hにPM′(1101)が
格納される。
更新後パスメトリックPM′(0011)、および、状態「10
11」の更新後パスメトリックPM′(1011)を求める。
[00]およびSEL[01]である更新用Aメモリ11および1
2を選択し、番地を+1hして、番地0003hを指定する。こ
の結果、更新用Aメモリ部10はAデータバス51aに
更新用Aメモリ11に格納していたPM(0110)を出力
し、Aデータバス51bに更新用Aメモリ12に格納し
ていたPM(0111)を出力する。
て、第1の加算器31aは、Aデータバス51aを介し
て転送されたPM(0110)と枝メトリック生成部40によ
り生成された枝メトリックBM(0110,0011)とを加算す
る。一方、第2の加算器31bは、Aデータバス51b
を介して転送されたPM(0111)と枝メトリック生成部4
0により生成された枝メトリックBM(0111,0011)とを
加算する。比較器32は、第1の加算器31aの加算結
果値と第2の加算器31bの加算結果値との大小比較を
行って選択信号を選択器33に送り、第1の加算器31
aの加算結果値と第2の加算器31bの加算結果値との
うちの一方を選択して出力する。ラッチ34は、選択器
33の出力値である更新後パスメトリックPM′(0011)
を保持する。
て、第1の加算器31aは、Aデータバス51aを介し
て転送されたPM(0110)と枝メトリック生成部40によ
り生成された枝メトリックBM(0110,1011)(=BM(011
1,0011))とを加算する。一方、第2の加算器31bは、
Aデータバス51bを介して転送されたPM(0111)と枝
メトリック生成部40により生成された枝メトリックB
M(0111,1011)(=BM(0110,0011))とを加算する。比較
器32は、第1の加算器31aの加算結果値と第2の加
算器31bの加算結果値との大小比較を行って選択信号
を選択器33に送り、第1の加算器31aの加算結果値
と第2の加算器31bの加算結果値とのうちの一方を選
択して出力する。ラッチ34は、選択器33の出力値で
ある更新後パスメトリックPM′(1011)を保持する。
ックPM′(0011)をBデータバス52aに出力し、AC
S演算部30bは、更新後パスメトリックPM′(1011)
をBデータバス52bに出力する。更新用Bメモリ選択
器25は、SELは変更せず、SEL[01]およびSEL[11]であ
る更新用Bメモリ22および24を選択したままとし、
番地を+1hして、番地0002hを指定する。この結果、更新
用Bメモリ22の番地0002hにPM′(0011)が格納さ
れ、更新用Bメモリ24の番地0002hにPM′(1011)が
格納される。
更新後パスメトリックPM′(0111)、および、状態「11
11」の更新後パスメトリックPM′(1111)を求める。
の上位ビットを0→1として、SEL[10]およびSEL[11]であ
る更新用Aメモリ13および14を選択し、番地はその
まま0003hを指定する。この結果、更新用Aメモリ部1
0はAデータバス51aに更新用Aメモリ13に格納し
ていたPM(1110)を出力し、Aデータバス51bに更新
用Aメモリ14に格納していたPM(1111)を出力する。
て、第1の加算器31aは、Aデータバス51aを介し
て転送されたPM(1110)と枝メトリック生成部40によ
り生成された枝メトリックBM(1110,0111)とを加算す
る。一方、第2の加算器31bは、Aデータバス51b
を介して転送されたPM(1111)と枝メトリック生成部4
0により生成された枝メトリックBM(1111,0111)とを
加算する。比較器32は、第1の加算器31aの加算結
果値と第2の加算器31bの加算結果値との大小比較を
行って選択信号を選択器33に送り、第1の加算器31
aの加算結果値と第2の加算器31bの加算結果値との
うちの一方を選択して出力する。ラッチ34は、選択器
33の出力値である更新後パスメトリックPM′(0111)
を保持する。
て、第1の加算器31aは、Aデータバス51aを介し
て転送されたPM(1110)と枝メトリック生成部40によ
り生成された枝メトリックBM(1110,1111)(=BM(111
1,0111))とを加算する。一方、第2の加算器31bは、
Aデータバス51bを介して転送されたPM(1101)と枝
メトリック生成部40により生成された枝メトリックB
M(1111,1111)(=BM(1110,0111))とを加算する。比較
器32は、第1の加算器31aの加算結果値と第2の加
算器31bの加算結果値との大小比較を行って選択信号
を選択器33に送り、第1の加算器31aの加算結果値
と第2の加算器31bの加算結果値とのうちの一方を選
択して出力する。ラッチ34は、選択器33の出力値で
ある更新後パスメトリックPM′(1111)を保持する。
ックPM′(0111)をBデータバス52aに出力し、AC
S演算部30bは、更新後パスメトリックPM′(1110)
をBデータバス52bに出力する。更新用Bメモリ選択
器25は、SELは変更せず、SEL[01]およびSEL[11]であ
る更新用Bメモリ22および24を選択したままとし、
番地を+1hして、番地0003hを指定する。この結果、更新
用Bメモリ22の番地0003hにPM′(0111)が格納さ
れ、更新用Bメモリ24の番地0003hにPM′(1111)が
格納される。
新後パスメトリックの格納状態を示す。
に全て格納されると、更新用Aメモリ部10と更新用B
メモリ部20のリード/ライトが切り替えられ、役割が
入れ替わる。メモリのアドレス構成は同様であり、処理
は同様にして、更新用Bメモリ部20から更新前パスメ
トリックを読み出し、更新用Aメモリ部10へ更新後パ
スメトリックを格納することとなる。このようにして、
パスメトリックの更新を繰り返し行うことができる。
図2のビタビ復号器においては、更新後パスメトリック
を求める時に、更新前パスメトリックを格納する更新用
Aメモリ部10を1回アクセスするだけでACS演算に
必要な2個の更新前パスメトリックを読み出すことがで
きる。また、この2個の更新前パスメトリックから求め
られる2個の更新後パスメトリックを同時に求めること
ができる。そして、求めた2個の更新後パスメトリック
を同時にメモリに格納することができることから、更新
用Aメモリ部10へのアクセス回数を減らすと共に更新
用Bメモリ部20へのアクセス回数を減らすことが可能
となる。
び更新用Bメモリ部20等のメモリは、必ずしも一般的
なメモリである必要はなく、他の格納手段、例えばレジ
スタ等、に変更してもよい。また、上述した実施の形態
においては、畳み込み符号の拘束長K=5である場合の
ビタビ復号器を例にとって説明したが、3以上の任意の
拘束長の畳み込み符号に対して、上述と同様にして同様
に本発明によるビタビ復号器を実現することが可能であ
る。このときの状態数は、2(K−1)個となるため、
例えば、宇宙通信等でよく用いられる拘束長が7の場合
には64個のパスメトリックを格納できるように格納手
段を構成すればよい。
器によれば、更新後パスメトリックを求めるときに、更
新前パスメトリックを格納手段に1回アクセスするだけ
で、ACS演算に必要な2個の更新前パスメトリックを
読み出すことができるだけでなく、この2個の更新前パ
スメトリックから求められる2個の更新後パスメトリッ
クを同時に求めることができ、求めた2個の更新後パス
メトリックを同時に格納手段に格納することができるこ
とから、格納時にもアクセス回数の低減が可能となる。
このような処理により、ビタビ復号器におけるパスメト
リック更新処理の高速化を実現することができる。
施の形態にのみ限定されることなく、その要旨を変更し
ない限り、本発明の技術思想の範囲内において、種々に
変形して実施し得ることは明らかである。
ビタビ復号処理において、パスメトリックの更新計算を
行うビタビ復号器のACS演算を、メモリへのアクセス
回数を低減し、さらなる高速化を図って、一層効率よく
実行することを可能とするビタビ復号器を提供すること
ができる。
を示すブロック図である。
are Select)演算部の詳細な構成を示すブロック図であ
る。
新用Aメモリ部の更新前パスメトリックの格納状態を示
す模式図である。
新用Bメモリ部の更新後パスメトリックの格納状態を示
す模式図である。
の構成を示すブロック図である。
説明するための模式図である。
Claims (3)
- 【請求項1】それぞれ4個ずつに分割され且つ各分割領
域毎に各々所定個数の記憶領域を有し、更新前並びに更
新後パスメトリックを格納する第1および第2の格納手
段と、 前記第1および第2の格納手段について、それぞれ各2
個ずつの分割領域毎の2個の記憶領域を順次選択指定す
る第1および第2のメモリ選択手段と、 2個ずつの枝メトリックを順次生成する枝メトリック生
成手段と、 それぞれ、前記第1および第2の格納手段のうちの一方
の格納手段の前記第1または第2のメモリ選択手段によ
り選択された2個の記憶領域から読み出した2個の更新
前パスメトリックと前記枝メトリック生成手段により生
成された第1および第2の枝メトリックとを用いてAC
S(Add Compare Select)演算を行なって、第1および
第2の更新後パスメトリックを生成して、前記第1およ
び第2の格納手段のうちの他方の格納手段の前記第1ま
たは第2のメモリ選択手段により選択された2個の記憶
領域に格納させる第1および第2のACS演算手段と、
を具備することを特徴とするビタビ復号器。 - 【請求項2】前記第1および第2のACS演算手段の各
々は、それぞれ更新前パスメトリックと枝メトリックを
加算する第1および第2の加算手段と、 前記第1および第2の加算手段の加算結果を比較する比
較手段と、 前記比較手段の比較結果に基づき前記第1および第2の
加算手段の加算結果のうちの一方を選択する選択手段
と、 前記選択手段により選択された前記加算結果をラッチ出
力するラッチ手段と、を含むことを特徴とする請求項1
に記載のビタビ復号器。 - 【請求項3】前記第1および第2の格納手段は、一方を
更新前パスメトリック格納用に、他方を更新後パスメト
リック格納用に用い、且つこれら更新前パスメトリック
格納用と、更新後パスメトリック格納用とを、交互に切
換えて用いる手段であることを特徴とする請求項1また
は2に記載のビタビ復号器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24247999A JP3548949B2 (ja) | 1999-08-30 | 1999-08-30 | ビタビ復号器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24247999A JP3548949B2 (ja) | 1999-08-30 | 1999-08-30 | ビタビ復号器 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001069015A true JP2001069015A (ja) | 2001-03-16 |
JP3548949B2 JP3548949B2 (ja) | 2004-08-04 |
Family
ID=17089707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP24247999A Expired - Fee Related JP3548949B2 (ja) | 1999-08-30 | 1999-08-30 | ビタビ復号器 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3548949B2 (ja) |
-
1999
- 1999-08-30 JP JP24247999A patent/JP3548949B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP3548949B2 (ja) | 2004-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5946361A (en) | Viterbi decoding method and circuit with accelerated back-tracing and efficient path metric calculation | |
JP3515720B2 (ja) | ビタビ復号器 | |
JPS62233933A (ja) | ヴイタビ復号法 | |
JPH1174801A (ja) | 演算処理装置 | |
JPH0964755A (ja) | ビタビ復号方法及びビタビ復号装置 | |
US8401126B2 (en) | Viterbi decoding apparatus | |
US6351839B1 (en) | State metric memory of viterbi decoder and its decoding method | |
US20010044921A1 (en) | Viterbi decoder with high speed processing function | |
JP2003530753A (ja) | 高速acsビタビデコーダの実行のためにメモリ内の状態の距離を効率的に読出して記憶するための方法および装置 | |
JP2798123B2 (ja) | ビタビ復号装置 | |
JP2001069015A (ja) | ビタビ復号器 | |
EP1417768B1 (en) | High performance turbo and viterbi channel decoding in digital signal processors | |
JPH01295533A (ja) | ビタビ復号器 | |
JP3253906B2 (ja) | データ処理装置及びデータ処理方法 | |
JP4047697B2 (ja) | ビタビ復号装置 | |
US6125153A (en) | Data processor and data processing method | |
KR19990076528A (ko) | 비터비 알고리즘 처리를 위한 가산 비교 선택 고속화 장치 및방법 | |
JP2002185337A (ja) | 基地局装置 | |
JP2000278145A (ja) | ビタビ復号器 | |
JP3259343B2 (ja) | ビタビ復号器 | |
JPH07245567A (ja) | ビタビ復号演算装置 | |
KR19980075724A (ko) | 비터비 디코더의 어드레스 발생방법 | |
KR100259194B1 (ko) | 비터비 디코더 | |
US7032098B2 (en) | Data-driven type information processing apparatus and information processing method allowing for effective use of memory | |
JP3634333B2 (ja) | ディジタル信号処理プロセッサ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040323 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040408 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080430 Year of fee payment: 4 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090430 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100430 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110430 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120430 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120430 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130430 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |