JPH07168808A - 信号処理装置 - Google Patents
信号処理装置Info
- Publication number
- JPH07168808A JPH07168808A JP34286593A JP34286593A JPH07168808A JP H07168808 A JPH07168808 A JP H07168808A JP 34286593 A JP34286593 A JP 34286593A JP 34286593 A JP34286593 A JP 34286593A JP H07168808 A JPH07168808 A JP H07168808A
- Authority
- JP
- Japan
- Prior art keywords
- output
- selector
- register
- input
- value
- 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.)
- Pending
Links
Landscapes
- Complex Calculations (AREA)
- Image Processing (AREA)
- Processing Of Color Television Signals (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
(57)【要約】
【構成】 乗算器100 は、2データの乗算を行う。第1
の算術演算器200 は2データの加算、減算を行い、演算
結果を正の値にして出力し、演算結果の符号フラグを出
力する。一方の選択器9は、乗算器100 、第1の算術演
算器200 、定数レジスタ8の各出力と、初期値とを選択
する。他方の選択器10は、閾値演算部400 の閾値演算
出力値と、第2の算術演算器300 の出力と、定数レジス
タ8の出力と、初期値とを選択する。第2の算術演算器
300 は、一方の選択器9、他方の選択器10の各出力を
入力し、加算、減算を行うと共に、演算結果を正の値に
して出力し、演算結果の符号フラグを出力する。閾値演
算部400 は、第1、第2の閾値演算出力値を有し、これ
らの値と、閾値と、入力データとを、第1の算術演算器
200 および第2の算術演算器300 の符号フラグに基づき
選択して出力する。 【効果】 積和演算、差の絶対値の累算、閾値演算を一
つのユニットで行える。
の算術演算器200 は2データの加算、減算を行い、演算
結果を正の値にして出力し、演算結果の符号フラグを出
力する。一方の選択器9は、乗算器100 、第1の算術演
算器200 、定数レジスタ8の各出力と、初期値とを選択
する。他方の選択器10は、閾値演算部400 の閾値演算
出力値と、第2の算術演算器300 の出力と、定数レジス
タ8の出力と、初期値とを選択する。第2の算術演算器
300 は、一方の選択器9、他方の選択器10の各出力を
入力し、加算、減算を行うと共に、演算結果を正の値に
して出力し、演算結果の符号フラグを出力する。閾値演
算部400 は、第1、第2の閾値演算出力値を有し、これ
らの値と、閾値と、入力データとを、第1の算術演算器
200 および第2の算術演算器300 の符号フラグに基づき
選択して出力する。 【効果】 積和演算、差の絶対値の累算、閾値演算を一
つのユニットで行える。
Description
【0001】
【産業上の利用分野】本発明は、主として画像処理で行
われる積和演算、差の絶対値の累算、閾値演算、制限付
き演算を実行する信号処理装置に関する。に関するもの
である。
われる積和演算、差の絶対値の累算、閾値演算、制限付
き演算を実行する信号処理装置に関する。に関するもの
である。
【0002】
【従来の技術】画像処理において、計算機内部での色デ
ータは、一般にRGB(Red ,Green,Blue)で扱われ
ることが多く、また、画像データの圧縮を行う場合に
は、RGBの色空間からYUVの色空間に変換すること
が一般的である。尚、ここで、Yは輝度、U,Vは色差
である。そして、この色変換は、次のように表される。
図2は、色変換に関する演算式の説明図である。即ち、
RGBからYUVへの色変換は、図中の式(1)に示さ
れる。また、式(1)中、[Ry、Gy、By][R
u、Gu、Bu][Rv、Gv、Bv]は、各色成分に
対応した変換係数である。
ータは、一般にRGB(Red ,Green,Blue)で扱われ
ることが多く、また、画像データの圧縮を行う場合に
は、RGBの色空間からYUVの色空間に変換すること
が一般的である。尚、ここで、Yは輝度、U,Vは色差
である。そして、この色変換は、次のように表される。
図2は、色変換に関する演算式の説明図である。即ち、
RGBからYUVへの色変換は、図中の式(1)に示さ
れる。また、式(1)中、[Ry、Gy、By][R
u、Gu、Bu][Rv、Gv、Bv]は、各色成分に
対応した変換係数である。
【0003】また、画像データの伸長を行う場合には、
YUVの色空間からRGBの色空間に変換することが一
般的であり、この色変換は図2中の式(2)に示されて
いる。また、式(2)中、[Yr、Ur、Vr][Y
g、Ug、Vg][Yb、Ub、Vb]は、各色成分に
対応した変換係数である。
YUVの色空間からRGBの色空間に変換することが一
般的であり、この色変換は図2中の式(2)に示されて
いる。また、式(2)中、[Yr、Ur、Vr][Y
g、Ug、Vg][Yb、Ub、Vb]は、各色成分に
対応した変換係数である。
【0004】このような色変換を行う構成について、従
来では、例えば特開平3−154980号公報や、特開
平4−21191号公報等に示されたものがあった。そ
して、このような色変換は、式(1)、(2)で示され
るように、積和演算となる。
来では、例えば特開平3−154980号公報や、特開
平4−21191号公報等に示されたものがあった。そ
して、このような色変換は、式(1)、(2)で示され
るように、積和演算となる。
【0005】次に、画像データの圧縮や伸長の手法とし
て、離散コサイン変換(DCT:Discrete Cosine Tran
sform )等の直交変換が知られている。これは、変換領
域で見た場合に、信号エネルギが特定の係数に集中する
ことを利用してこれらの係数を重点的に符号化伝送しよ
うとするものである。
て、離散コサイン変換(DCT:Discrete Cosine Tran
sform )等の直交変換が知られている。これは、変換領
域で見た場合に、信号エネルギが特定の係数に集中する
ことを利用してこれらの係数を重点的に符号化伝送しよ
うとするものである。
【0006】図3は、離散コサイン変換に関する演算式
の説明図である。例えば、N×N画素の画像データf
(i,j)(i=1〜N,j=1〜N)に対する離散コ
サイン変換は、図3中の式(3)で表される。また、逆
離散コサイン変換は図3中の式(4)で表される。そし
て、2次元の離散コサイン変換は、iについての1次元
の離散コサイン変換と、jについての1次元離散コサイ
ン変換に分割でき、これらは、図3中の式(5)、
(6)で表される。また、逆離散コサイン変換も同様
に、図3中の式(7)、(8)で表される。
の説明図である。例えば、N×N画素の画像データf
(i,j)(i=1〜N,j=1〜N)に対する離散コ
サイン変換は、図3中の式(3)で表される。また、逆
離散コサイン変換は図3中の式(4)で表される。そし
て、2次元の離散コサイン変換は、iについての1次元
の離散コサイン変換と、jについての1次元離散コサイ
ン変換に分割でき、これらは、図3中の式(5)、
(6)で表される。また、逆離散コサイン変換も同様
に、図3中の式(7)、(8)で表される。
【0007】このような離散コサイン変換を行う演算装
置については、従来では、例えば特開平4−531号公
報や特開平4−43461号公報等に示されるものがあ
った。そして、これらの演算は、式(3)〜(8)で示
されるように、積和演算となる。
置については、従来では、例えば特開平4−531号公
報や特開平4−43461号公報等に示されるものがあ
った。そして、これらの演算は、式(3)〜(8)で示
されるように、積和演算となる。
【0008】次に、画像のフィルタリング等では、2次
元コンボリューション処理が行われる。これは、輪郭の
ぼけを除去するエッジ強調処理等で用いる。図4は、2
次元コンボリューション処理に関する演算式の説明図で
ある。この2次元コンボリューション処理とは、注目画
素をP(i,j)、係数をW(x,y)とすると、コン
ボリューションPconv(i,j)は、図中の式(9)で
表される。但し、M=2m−1(m=2,3,4,…)
である。そして、これも、式(9)で示されるように積
和演算となり、このようなコンボリューションを行う装
置としては、例えば特開平3−282977号公報等に
示されている。
元コンボリューション処理が行われる。これは、輪郭の
ぼけを除去するエッジ強調処理等で用いる。図4は、2
次元コンボリューション処理に関する演算式の説明図で
ある。この2次元コンボリューション処理とは、注目画
素をP(i,j)、係数をW(x,y)とすると、コン
ボリューションPconv(i,j)は、図中の式(9)で
表される。但し、M=2m−1(m=2,3,4,…)
である。そして、これも、式(9)で示されるように積
和演算となり、このようなコンボリューションを行う装
置としては、例えば特開平3−282977号公報等に
示されている。
【0009】また、高能率な動画像圧縮符号化の手法と
して、例えば、“蓄積メディア用動画像符号化技術”
テレビジョン学会 Vol.45,No.7,p807
〜812,1991等に示されているように、動き補償
フレーム間予測符号化が知られている。これは、参照フ
レームに対する動きベクトルを求めて、この動きに対応
した位置の画素との差分と動きベクトルを符号化するも
のである。
して、例えば、“蓄積メディア用動画像符号化技術”
テレビジョン学会 Vol.45,No.7,p807
〜812,1991等に示されているように、動き補償
フレーム間予測符号化が知られている。これは、参照フ
レームに対する動きベクトルを求めて、この動きに対応
した位置の画素との差分と動きベクトルを符号化するも
のである。
【0010】図5は、動き補償フレーム間予測符号化に
関する演算式の説明図である。予測フレームのブロック
をPf(i+nx,j+ny):0≦nx≦k,0≦n
y≦kとし、Pf(i+nx,j+ny)に対する参照
フレームのブロックをSf{(i+nx)+mx,(j
+ny)+my}:−r≦mx≦+r,−r≦my≦+
rとすると、動きベクトルを検出するためのブロック間
の差分Msは、図中の式(10)で表される。これは、
式から明らかなように、差の絶対値の累算となる。そし
て、このような差の絶対値演算を行う演算装置として
は、例えば特開平4−84317号公報等に示されてい
る。
関する演算式の説明図である。予測フレームのブロック
をPf(i+nx,j+ny):0≦nx≦k,0≦n
y≦kとし、Pf(i+nx,j+ny)に対する参照
フレームのブロックをSf{(i+nx)+mx,(j
+ny)+my}:−r≦mx≦+r,−r≦my≦+
rとすると、動きベクトルを検出するためのブロック間
の差分Msは、図中の式(10)で表される。これは、
式から明らかなように、差の絶対値の累算となる。そし
て、このような差の絶対値演算を行う演算装置として
は、例えば特開平4−84317号公報等に示されてい
る。
【0011】また、多値画像の2値化や多値画像の特定
の画素値領域に対する処理等では、閾値演算が必要とな
る。更に、画像データは通常整数で扱われるため、色変
換やDCTを整数演算器で行う場合、小数点の位置を変
更することになる。そのため、演算結果に対して小数点
の位置を元に戻すことが必要となる。
の画素値領域に対する処理等では、閾値演算が必要とな
る。更に、画像データは通常整数で扱われるため、色変
換やDCTを整数演算器で行う場合、小数点の位置を変
更することになる。そのため、演算結果に対して小数点
の位置を元に戻すことが必要となる。
【0012】そして、積和演算では、入力データビット
幅より大きい値を扱うことになる。例えば、8ビットの
画素データの積和演算で、32ビット幅の累算器を用
い、その結果を16ビットで出力する場合、オーバフロ
ーやアンダフローの発生が予想される。これに対し、画
像処理ではオーバフローやアンダフローを最大値や最小
値で出力することがあり、そのため、演算結果を目的と
する画素値の範囲に収めるために、上限や下限を設定し
た制限付き演算が必要となる。
幅より大きい値を扱うことになる。例えば、8ビットの
画素データの積和演算で、32ビット幅の累算器を用
い、その結果を16ビットで出力する場合、オーバフロ
ーやアンダフローの発生が予想される。これに対し、画
像処理ではオーバフローやアンダフローを最大値や最小
値で出力することがあり、そのため、演算結果を目的と
する画素値の範囲に収めるために、上限や下限を設定し
た制限付き演算が必要となる。
【0013】
【発明が解決しようとする課題】上記のように、従来の
画像処理装置等の信号処理装置では、上記の積和演算、
差の絶対値の累算、閾値演算等の処理を行う必要がある
が、このような演算を行うためには、それぞれの演算に
対応した演算器を用意する必要があり、従って、構成が
複雑となり、コスト高となる問題があった。
画像処理装置等の信号処理装置では、上記の積和演算、
差の絶対値の累算、閾値演算等の処理を行う必要がある
が、このような演算を行うためには、それぞれの演算に
対応した演算器を用意する必要があり、従って、構成が
複雑となり、コスト高となる問題があった。
【0014】本発明は、上記従来の問題点を解決するた
めになされたもので、画像処理等で行われる積和演算、
差の絶対値の累算、閾値演算等の処理を、一つの演算ユ
ニットで行うことができ、コスト低減を図ることのでき
る信号処理装置を提供することを目的とする。
めになされたもので、画像処理等で行われる積和演算、
差の絶対値の累算、閾値演算等の処理を、一つの演算ユ
ニットで行うことができ、コスト低減を図ることのでき
る信号処理装置を提供することを目的とする。
【0015】
【課題を解決するための手段】第1発明の信号処理装置
は、乗算器と、第1の算術演算器と、第2の算術演算器
と、閾値演算部と、定数レジスタと、一方の選択器と、
他方の選択器とを備え、前記乗算器は、任意の2データ
を入力して、乗算を行い、前記第1の算術演算器は、前
記任意の2データを入力し、加算または減算を行うと共
に、演算結果が負である時、符号を反転して正の値にし
て出力し、かつ演算結果の符号フラグを出力し、前記一
方の選択器は、前記乗算器の出力と、前記第1の算術演
算器の出力と、前記定数レジスタの出力と、初期値とを
選択し、前記他方の選択器は、前記閾値演算部から出力
される閾値演算出力値と、前記第2の算術演算器の出力
と、前記定数レジスタの出力と、前記初期値とを選択
し、前記定数レジスタは、任意の値を保持し、前記第2
の算術演算器は、前記一方の選択器の出力と、他方の選
択器の出力とを入力し、加算または減算を行うと共に、
演算結果が負である時、符号を反転して正の値にして出
力し、かつ演算結果の符号フラグを出力し、前記閾値演
算部は、第1、第2の閾値演算出力値を有し、閾値が一
つの場合、前記2データの入力を当該閾値と任意のデー
タとし、かつ、第1の算術演算器の符号フラグで前記第
1、第2の閾値演算出力値のいずれか一方を選択して閾
値演算出力値として、これを前記他方の選択器に出力
し、閾値が第1、第2の閾値である場合、前記2データ
の入力を、前記第1の閾値と任意のデータとすると共
に、前記定数レジスタの値を前記第2の閾値とし、か
つ、前記第1の算術演算器の符号フラグに基づき前記第
1、2の閾値の選択と、前記第1、2の閾値演算出力の
選択とを行い、かつ、前記第1の算術演算器の符号フラ
グと前記第2の算術演算器の符号フラグに基づき、前記
選択した第1または第2の閾値と前記任意のデータとの
いずれか一方の選択を行うと共に、前記第1または第2
の閾値演算出力値と前記任意のデータのいずれか一方の
選択を行い、かつ、これら選択結果のいずれか一方を選
択して閾値演算結果を出力することを特徴とするもので
ある。
は、乗算器と、第1の算術演算器と、第2の算術演算器
と、閾値演算部と、定数レジスタと、一方の選択器と、
他方の選択器とを備え、前記乗算器は、任意の2データ
を入力して、乗算を行い、前記第1の算術演算器は、前
記任意の2データを入力し、加算または減算を行うと共
に、演算結果が負である時、符号を反転して正の値にし
て出力し、かつ演算結果の符号フラグを出力し、前記一
方の選択器は、前記乗算器の出力と、前記第1の算術演
算器の出力と、前記定数レジスタの出力と、初期値とを
選択し、前記他方の選択器は、前記閾値演算部から出力
される閾値演算出力値と、前記第2の算術演算器の出力
と、前記定数レジスタの出力と、前記初期値とを選択
し、前記定数レジスタは、任意の値を保持し、前記第2
の算術演算器は、前記一方の選択器の出力と、他方の選
択器の出力とを入力し、加算または減算を行うと共に、
演算結果が負である時、符号を反転して正の値にして出
力し、かつ演算結果の符号フラグを出力し、前記閾値演
算部は、第1、第2の閾値演算出力値を有し、閾値が一
つの場合、前記2データの入力を当該閾値と任意のデー
タとし、かつ、第1の算術演算器の符号フラグで前記第
1、第2の閾値演算出力値のいずれか一方を選択して閾
値演算出力値として、これを前記他方の選択器に出力
し、閾値が第1、第2の閾値である場合、前記2データ
の入力を、前記第1の閾値と任意のデータとすると共
に、前記定数レジスタの値を前記第2の閾値とし、か
つ、前記第1の算術演算器の符号フラグに基づき前記第
1、2の閾値の選択と、前記第1、2の閾値演算出力の
選択とを行い、かつ、前記第1の算術演算器の符号フラ
グと前記第2の算術演算器の符号フラグに基づき、前記
選択した第1または第2の閾値と前記任意のデータとの
いずれか一方の選択を行うと共に、前記第1または第2
の閾値演算出力値と前記任意のデータのいずれか一方の
選択を行い、かつ、これら選択結果のいずれか一方を選
択して閾値演算結果を出力することを特徴とするもので
ある。
【0016】第2発明の信号処理装置は、第1発明にお
いて、出力処理部と、演算結果選択器とを備え、前記出
力処理部は、予め、出力ビット幅を設定すると共に、こ
のビット幅で表せる最大値と最小値とを有し、第2の算
術演算器の出力を入力して、当該第2の算術演算器の出
力が、前記出力ビット幅より大きい場合は前記最大値
を、前記第2の算術演算器の出力が、前記出力ビット幅
より小さい場合は前記最小値を出力し、前記演算結果選
択器は、前記出力処理部の出力と、閾値演算部の出力と
を選択して演算結果として出力することを特徴とするも
のである。
いて、出力処理部と、演算結果選択器とを備え、前記出
力処理部は、予め、出力ビット幅を設定すると共に、こ
のビット幅で表せる最大値と最小値とを有し、第2の算
術演算器の出力を入力して、当該第2の算術演算器の出
力が、前記出力ビット幅より大きい場合は前記最大値
を、前記第2の算術演算器の出力が、前記出力ビット幅
より小さい場合は前記最小値を出力し、前記演算結果選
択器は、前記出力処理部の出力と、閾値演算部の出力と
を選択して演算結果として出力することを特徴とするも
のである。
【0017】
【作用】第1発明の信号処理装置においては、積和演算
は、二つの入力データを乗算器に入力し乗算を行い、そ
の結果を第2の算術演算器の一方の入力レジスタに保持
する。これと同時に、次の乗算も続けて行う。第2の算
術演算器の他方の入力レジスタは、初期値として“0”
を設定しておく。そして、第2の算術演算器の二つの入
力レジスタの加算を行い、その結果を第2の算術演算器
の“0”を保持していた入力レジスタに入れ累算を行
う。そして、次の乗算器からの乗算結果と累算結果が保
持された入力レジスタとの加算を行い累算を続ける。こ
れを繰り返すことにより、積和演算を行うことができ
る。
は、二つの入力データを乗算器に入力し乗算を行い、そ
の結果を第2の算術演算器の一方の入力レジスタに保持
する。これと同時に、次の乗算も続けて行う。第2の算
術演算器の他方の入力レジスタは、初期値として“0”
を設定しておく。そして、第2の算術演算器の二つの入
力レジスタの加算を行い、その結果を第2の算術演算器
の“0”を保持していた入力レジスタに入れ累算を行
う。そして、次の乗算器からの乗算結果と累算結果が保
持された入力レジスタとの加算を行い累算を続ける。こ
れを繰り返すことにより、積和演算を行うことができ
る。
【0018】差の絶対値の累算は、二つの入力データを
第1の算術演算器に入力して、一方のデータから他方の
データを減算し、その結果が負でない場合は演算結果を
そのまま、また、前記結果が負である場合は、符号を反
転し正の値にして差の絶対値演算を行い、第2の算術演
算器の一方のレジスタに保持する。これと同時に、次の
差の絶対値演算も続けて行う。第2の算術演算器の他方
の入力レジスタは、初期値として“0”を設定してお
く。そして、第2の算術演算器の二つの入力レジスタの
加算を行い、その結果を第2の算術演算器の“0”を保
持していた入力レジスタに入れ、累算を行う。そして、
次の第1の算術演算器からの差の絶対値演算の結果と、
累算結果が保持された入力レジスタとの加算を行い累算
を続ける。これを繰り返すことにより、差の絶対値の累
算を行うことができる。
第1の算術演算器に入力して、一方のデータから他方の
データを減算し、その結果が負でない場合は演算結果を
そのまま、また、前記結果が負である場合は、符号を反
転し正の値にして差の絶対値演算を行い、第2の算術演
算器の一方のレジスタに保持する。これと同時に、次の
差の絶対値演算も続けて行う。第2の算術演算器の他方
の入力レジスタは、初期値として“0”を設定してお
く。そして、第2の算術演算器の二つの入力レジスタの
加算を行い、その結果を第2の算術演算器の“0”を保
持していた入力レジスタに入れ、累算を行う。そして、
次の第1の算術演算器からの差の絶対値演算の結果と、
累算結果が保持された入力レジスタとの加算を行い累算
を続ける。これを繰り返すことにより、差の絶対値の累
算を行うことができる。
【0019】閾値演算は、閾値が一つの場合、閾値を一
方の入力から、データを他方の入力から第1の算術演算
器に入力し、減算を行い、その結果の符号フラグによ
り、閾値演算部の内部に設定されている第1、第2の閾
値演算出力値を選択し、他方の選択器に出力する。そし
て、選択制御部により、他方の選択器で閾値演算部から
の出力を選択し、第2の算術演算器の一方の入力レジス
タに入力する。また、選択制御部により一方の選択器で
値“0”を選択し、第2の算術演算部の他方の入力レジ
スタに入力する。第2の算術演算器で、両方の入力レジ
スタの加算を行う。これにより閾値演算を行うことがで
きる。
方の入力から、データを他方の入力から第1の算術演算
器に入力し、減算を行い、その結果の符号フラグによ
り、閾値演算部の内部に設定されている第1、第2の閾
値演算出力値を選択し、他方の選択器に出力する。そし
て、選択制御部により、他方の選択器で閾値演算部から
の出力を選択し、第2の算術演算器の一方の入力レジス
タに入力する。また、選択制御部により一方の選択器で
値“0”を選択し、第2の算術演算部の他方の入力レジ
スタに入力する。第2の算術演算器で、両方の入力レジ
スタの加算を行う。これにより閾値演算を行うことがで
きる。
【0020】閾値が二つの場合、第1の閾値を一方の入
力から入力すると共に、定数レジスタに第2の閾値を保
持してこれを入力し、かつ、第1の閾値を一方の入力か
ら、また、データを他方の入力から入力して、これらの
減算を行う第1の算術演算器の符号フラグに基づき、第
1、2の閾値の選択と、第1、2の閾値演算出力値の選
択とを行う。そして、第1の算術演算器の符号フラグ
と、第2の算術演算器の符号フラグに基づき、前記選択
した第1または第2の閾値と、データとのいずれか一方
を選択すると共に、前記第1または第2の閾値演算出力
値と、データとのいずれか一方を選択する。更に、これ
ら二つの選択結果のいずれか一方を選択して閾値演算結
果として出力する。これにより閾値が二つの場合も、そ
の閾値演算を行うことができる。
力から入力すると共に、定数レジスタに第2の閾値を保
持してこれを入力し、かつ、第1の閾値を一方の入力か
ら、また、データを他方の入力から入力して、これらの
減算を行う第1の算術演算器の符号フラグに基づき、第
1、2の閾値の選択と、第1、2の閾値演算出力値の選
択とを行う。そして、第1の算術演算器の符号フラグ
と、第2の算術演算器の符号フラグに基づき、前記選択
した第1または第2の閾値と、データとのいずれか一方
を選択すると共に、前記第1または第2の閾値演算出力
値と、データとのいずれか一方を選択する。更に、これ
ら二つの選択結果のいずれか一方を選択して閾値演算結
果として出力する。これにより閾値が二つの場合も、そ
の閾値演算を行うことができる。
【0021】第2発明の信号処理装置においては、第2
の算術演算器の出力が、出力処理部に入力レジスタを介
して入力される。出力処理部は、第2の算術演算器の演
算出力が出力ビット幅で表せる値よりも大きい場合は、
予め設定した最大値を出力し、第2の算術演算器の演算
出力が出力ビット幅で表せる値よりも小さい場合は、予
め設定した最小値を出力する。演算結果選択器は、出力
処理部の出力と、閾値演算部の演算結果出力を入力し、
いずれか一方を選択して、演算結果として出力する。
の算術演算器の出力が、出力処理部に入力レジスタを介
して入力される。出力処理部は、第2の算術演算器の演
算出力が出力ビット幅で表せる値よりも大きい場合は、
予め設定した最大値を出力し、第2の算術演算器の演算
出力が出力ビット幅で表せる値よりも小さい場合は、予
め設定した最小値を出力する。演算結果選択器は、出力
処理部の出力と、閾値演算部の演算結果出力を入力し、
いずれか一方を選択して、演算結果として出力する。
【0022】
【実施例】以下、本発明の実施例を図面を用いて詳細に
説明する。図1は、本発明の信号処理装置の構成図であ
る。図の装置は、乗算器100、第1の算術演算器20
0、第2の算術演算器300、閾値演算部400、出力
処理部500、乗算器入力選択器1、入力レジスタ2〜
6、11〜13、選択制御部7、定数レジスタ8、一方
の選択器9、他方の選択器10、演算結果選択器14、
出力レジスタ15からなる。
説明する。図1は、本発明の信号処理装置の構成図であ
る。図の装置は、乗算器100、第1の算術演算器20
0、第2の算術演算器300、閾値演算部400、出力
処理部500、乗算器入力選択器1、入力レジスタ2〜
6、11〜13、選択制御部7、定数レジスタ8、一方
の選択器9、他方の選択器10、演算結果選択器14、
出力レジスタ15からなる。
【0023】これらは、以下に示すように接続されてい
る。図において、S0、S1はこの信号処理装置への入
力である。乗算器入力選択器1は、S0と値“1”を入
力とし、一方を選択し、その選択結果を入力レジスタ2
に出力する。入力レジスタ2,3は乗算器100の入力
レジスタであり、入力レジスタ3にはS1が接続されて
いる。また、入力レジスタ4,5は第1の算術演算器2
00の入力レジスタであり、入力レジスタ4にはS0
が、入力レジスタ5にはS1が接続されている。
る。図において、S0、S1はこの信号処理装置への入
力である。乗算器入力選択器1は、S0と値“1”を入
力とし、一方を選択し、その選択結果を入力レジスタ2
に出力する。入力レジスタ2,3は乗算器100の入力
レジスタであり、入力レジスタ3にはS1が接続されて
いる。また、入力レジスタ4,5は第1の算術演算器2
00の入力レジスタであり、入力レジスタ4にはS0
が、入力レジスタ5にはS1が接続されている。
【0024】乗算器100は、入力レジスタ2,3の値
を入力するよう構成されている。即ち、乗算器入力選択
器1の出力とS1とを入力し、出力を一方の選択器9の
入力に接続している。第1の算術演算器200は、S0
とS1を、入力レジスタ4,5を介して入力とし、出力
を一方の選択器9に接続する。一方の選択器9は、乗算
器100の出力と、第1の算術演算器200の出力と、
定数レジスタ8の出力と、値“0”とを入力とし、その
うちの一つを選択し、出力を第2の算術演算器300の
一方の入力と、閾値演算部400に接続する。他方の選
択器10は、定数レジスタ8の出力と、閾値演算部40
0からの閾値演算出力値と、第2の算術演算器300か
らの出力と、値“0”とを入力とし、そのうち一つを選
択し、出力を第2の算術演算器300の他方の入力に接
続する。
を入力するよう構成されている。即ち、乗算器入力選択
器1の出力とS1とを入力し、出力を一方の選択器9の
入力に接続している。第1の算術演算器200は、S0
とS1を、入力レジスタ4,5を介して入力とし、出力
を一方の選択器9に接続する。一方の選択器9は、乗算
器100の出力と、第1の算術演算器200の出力と、
定数レジスタ8の出力と、値“0”とを入力とし、その
うちの一つを選択し、出力を第2の算術演算器300の
一方の入力と、閾値演算部400に接続する。他方の選
択器10は、定数レジスタ8の出力と、閾値演算部40
0からの閾値演算出力値と、第2の算術演算器300か
らの出力と、値“0”とを入力とし、そのうち一つを選
択し、出力を第2の算術演算器300の他方の入力に接
続する。
【0025】選択制御部7は、第1の算術演算器200
の出力する符号フラグに基づき、一方の選択器9と他方
の選択器10の入力の選択を決定する。定数レジスタ8
は、処理に応じて任意の値を保持する。第2の算術演算
器300は、一方の選択器9の出力と、他方の選択器1
0の出力を入力とし、その出力を入力レジスタ13と、
他方の選択器10に接続する。入力レジスタ13は出力
処理部500に入力するデータを保持するためのレジス
タである。
の出力する符号フラグに基づき、一方の選択器9と他方
の選択器10の入力の選択を決定する。定数レジスタ8
は、処理に応じて任意の値を保持する。第2の算術演算
器300は、一方の選択器9の出力と、他方の選択器1
0の出力を入力とし、その出力を入力レジスタ13と、
他方の選択器10に接続する。入力レジスタ13は出力
処理部500に入力するデータを保持するためのレジス
タである。
【0026】出力処理部500の出力は演算結果選択器
14の一方の入力に接続され、演算結果選択器14の他
方の入力は閾値演算部400の閾値演算結果出力が接続
されている。出力レジスタ15は、演算結果選択器14
の出力、即ち演算結果を保持する。閾値演算部400
は、S0を入力レジスタ6に保持し、これを入力する。
また、第1の算術演算器200および第2の算術演算器
300の符号フラグと、定数レジスタ8の値とを入力
し、閾値演算出力値を他方の選択器10に出力する。
14の一方の入力に接続され、演算結果選択器14の他
方の入力は閾値演算部400の閾値演算結果出力が接続
されている。出力レジスタ15は、演算結果選択器14
の出力、即ち演算結果を保持する。閾値演算部400
は、S0を入力レジスタ6に保持し、これを入力する。
また、第1の算術演算器200および第2の算術演算器
300の符号フラグと、定数レジスタ8の値とを入力
し、閾値演算出力値を他方の選択器10に出力する。
【0027】次に、各部の機能について説明する。上記
の乗算器100、第1の算術演算器200、第2の算術
演算器300、出力処理部500、閾値処理部400の
各入力部に接続された入力レジスタ2〜6、11〜13
によって、乗算器100〜出力処理部はそれぞれパイプ
ライン動作が可能となっている。
の乗算器100、第1の算術演算器200、第2の算術
演算器300、出力処理部500、閾値処理部400の
各入力部に接続された入力レジスタ2〜6、11〜13
によって、乗算器100〜出力処理部はそれぞれパイプ
ライン動作が可能となっている。
【0028】第1の算術演算器200は、加算、減算の
機能と、演算結果が負である時、符号を反転し正の値に
して出力する機能を持つ。更に、演算結果の符号フラグ
を閾値演算部400に送る機能を有している。第2の算
術演算器300は、加算、減算の機能と、この出力を他
方の選択器10を通して入力レジスタ12に保持する累
算の機能を有すると共に、演算結果の符号フラグを閾値
演算部400に送る機能を有している。閾値演算部40
0は、第1の算術演算器200および第2の算術演算器
300の出力する符号フラグに基づき、閾値(T1,T
2)、閾値演算出力値(TR1,TR2)および入力デ
ータPを選択して出力する機能を有している。
機能と、演算結果が負である時、符号を反転し正の値に
して出力する機能を持つ。更に、演算結果の符号フラグ
を閾値演算部400に送る機能を有している。第2の算
術演算器300は、加算、減算の機能と、この出力を他
方の選択器10を通して入力レジスタ12に保持する累
算の機能を有すると共に、演算結果の符号フラグを閾値
演算部400に送る機能を有している。閾値演算部40
0は、第1の算術演算器200および第2の算術演算器
300の出力する符号フラグに基づき、閾値(T1,T
2)、閾値演算出力値(TR1,TR2)および入力デ
ータPを選択して出力する機能を有している。
【0029】出力処理部500は、第2の算術演算器3
00の出力に対し、シフト処理を行うと同時に、その結
果が出力データビット幅で表される値より大きい時、こ
の出力データビット幅で表される最大値を出力し、前記
結果が出力データビット幅で表される値より小さい時、
この出力データビット幅で表される最小値を出力するこ
とにより、制限付き演算を行う機能を有している。
00の出力に対し、シフト処理を行うと同時に、その結
果が出力データビット幅で表される値より大きい時、こ
の出力データビット幅で表される最大値を出力し、前記
結果が出力データビット幅で表される値より小さい時、
この出力データビット幅で表される最小値を出力するこ
とにより、制限付き演算を行う機能を有している。
【0030】次に、上記信号処理装置による積和演算、
差の絶対値の累算、閾値演算、制限付き演算の概要を説
明する。積和演算は、S0とS1を乗算器100に入力
し乗算を行い、その結果を第2の算術演算器300の一
方の入力レジスタ11に保持する。これと同時に、次の
乗算も続けて行う。第2の算術演算器300の他方の入
力レジスタ12は、初期値として“0”を設定してお
く。そして、第2の算術演算器300の二つの入力レジ
スタ11,12の加算を行い、その結果を第2の算術演
算器300の“0”を保持していた入力レジスタ12に
入れ累算を行う。そして、次の乗算器100からの乗算
結果と累算結果が保持された入力レジスタ12との加算
を行い累算を続ける。これを繰り返すことにより、積和
演算を行うことができる。
差の絶対値の累算、閾値演算、制限付き演算の概要を説
明する。積和演算は、S0とS1を乗算器100に入力
し乗算を行い、その結果を第2の算術演算器300の一
方の入力レジスタ11に保持する。これと同時に、次の
乗算も続けて行う。第2の算術演算器300の他方の入
力レジスタ12は、初期値として“0”を設定してお
く。そして、第2の算術演算器300の二つの入力レジ
スタ11,12の加算を行い、その結果を第2の算術演
算器300の“0”を保持していた入力レジスタ12に
入れ累算を行う。そして、次の乗算器100からの乗算
結果と累算結果が保持された入力レジスタ12との加算
を行い累算を続ける。これを繰り返すことにより、積和
演算を行うことができる。
【0031】差の絶対値の累算は、S0とS1を第1の
算術演算器200に入力して、S0からS1を減算し、
その結果が負でない場合は演算結果をそのまま、また、
前記結果が負である場合は、符号を反転し正の値にして
差の絶対値演算を行い、第2の算術演算器300の一方
のレジスタ11に保持する。これと同時に、次の差の絶
対値演算も続けて行う。第2の算術演算器300の他方
の入力レジスタ12は、初期値として“0”を設定して
おく。そして、第2の算術演算器300の二つの入力レ
ジスタ11,12の加算を行い、その結果を第2の算術
演算器300の“0”を保持していた入力レジスタ12
に入れ、累算を行う。そして、次の第1の算術演算器2
00からの差の絶対値演算の結果と、累算結果が保持さ
れた入力レジスタ12との加算を行い累算を続ける。こ
れを繰り返すことにより、差の絶対値の累算を行うこと
ができる。
算術演算器200に入力して、S0からS1を減算し、
その結果が負でない場合は演算結果をそのまま、また、
前記結果が負である場合は、符号を反転し正の値にして
差の絶対値演算を行い、第2の算術演算器300の一方
のレジスタ11に保持する。これと同時に、次の差の絶
対値演算も続けて行う。第2の算術演算器300の他方
の入力レジスタ12は、初期値として“0”を設定して
おく。そして、第2の算術演算器300の二つの入力レ
ジスタ11,12の加算を行い、その結果を第2の算術
演算器300の“0”を保持していた入力レジスタ12
に入れ、累算を行う。そして、次の第1の算術演算器2
00からの差の絶対値演算の結果と、累算結果が保持さ
れた入力レジスタ12との加算を行い累算を続ける。こ
れを繰り返すことにより、差の絶対値の累算を行うこと
ができる。
【0032】閾値演算は、閾値が一つの場合、閾値Tを
S0から、入力データPをS1から第1の算術演算器2
00に入力し、減算を行い、その結果の符号フラグによ
り、閾値演算部400の内部に設定されている閾値演算
出力値TR1、TR2を選択し、他方の選択器10に出
力する。そして、選択制御部7により、他方の選択器1
0で閾値演算部400からの出力を選択し、第2の算術
演算器300の一方の入力レジスタ11に入力する。ま
た、選択制御部7により一方の選択器9で値“0”を選
択し、第2の算術演算部300の他方の入力レジスタ1
2に入力する。第2の算術演算器300で、両方の入力
レジスタ11,12の加算を行う。これにより閾値演算
を行うことができる。
S0から、入力データPをS1から第1の算術演算器2
00に入力し、減算を行い、その結果の符号フラグによ
り、閾値演算部400の内部に設定されている閾値演算
出力値TR1、TR2を選択し、他方の選択器10に出
力する。そして、選択制御部7により、他方の選択器1
0で閾値演算部400からの出力を選択し、第2の算術
演算器300の一方の入力レジスタ11に入力する。ま
た、選択制御部7により一方の選択器9で値“0”を選
択し、第2の算術演算部300の他方の入力レジスタ1
2に入力する。第2の算術演算器300で、両方の入力
レジスタ11,12の加算を行う。これにより閾値演算
を行うことができる。
【0033】閾値が二つの場合、第1の閾値T1をS0
から入力すると共に、定数レジスタ8に第2の閾値T2
を保持してこれを入力し、かつ、第1の閾値T1をS0
から、また、入力データPをS1から入力してこれらの
減算を行う第1の算術演算器200の符号フラグに基づ
き、第1、2の閾値T1、T2の選択と、第1、2の閾
値演算出力値TR1、TR2の選択とを行う。そして、
第1の算術演算器200の符号フラグと、第2の算術演
算器300の符号フラグに基づき、前記選択した第1ま
たは第2の閾値T1、T2と、入力データPとのいずれ
か一方を選択すると共に、前記第1または第2の閾値演
算出力値TR1、TR2と、入力データPとのいずれか
一方を選択する。更に、これら二つの選択結果のいずれ
か一方を選択して閾値演算結果として出力する。これに
より閾値が二つの場合も、その閾値演算を行うことがで
きる。
から入力すると共に、定数レジスタ8に第2の閾値T2
を保持してこれを入力し、かつ、第1の閾値T1をS0
から、また、入力データPをS1から入力してこれらの
減算を行う第1の算術演算器200の符号フラグに基づ
き、第1、2の閾値T1、T2の選択と、第1、2の閾
値演算出力値TR1、TR2の選択とを行う。そして、
第1の算術演算器200の符号フラグと、第2の算術演
算器300の符号フラグに基づき、前記選択した第1ま
たは第2の閾値T1、T2と、入力データPとのいずれ
か一方を選択すると共に、前記第1または第2の閾値演
算出力値TR1、TR2と、入力データPとのいずれか
一方を選択する。更に、これら二つの選択結果のいずれ
か一方を選択して閾値演算結果として出力する。これに
より閾値が二つの場合も、その閾値演算を行うことがで
きる。
【0034】制限付き演算は、上記の出力処理部500
の説明で示した機能により行うことができる。
の説明で示した機能により行うことができる。
【0035】次に、本発明の一実施例を図を用いて詳細
に説明する。図6は、図1に示した信号処理装置におけ
る乗算器100の内部構成を示す図である。図におい
て、101aおよび101bは、2段パイプラインから
なる乗算部であり、これら乗算部101a,101b間
にパイプラインレジスタ102が設けられている。尚、
乗算部101a,101bの代わりに、予め乗算結果を
ROMに格納し、これを出力するよう構成してもよい。
に説明する。図6は、図1に示した信号処理装置におけ
る乗算器100の内部構成を示す図である。図におい
て、101aおよび101bは、2段パイプラインから
なる乗算部であり、これら乗算部101a,101b間
にパイプラインレジスタ102が設けられている。尚、
乗算部101a,101bの代わりに、予め乗算結果を
ROMに格納し、これを出力するよう構成してもよい。
【0036】図7は、第1および第2の算術演算器20
0,300の内部構成を示す図である。これら第1、2
の算術演算器200,300は、演算部201、パイプ
ラインレジスタ202、203、符号反転回路204、
セレクタ205、AND回路206から構成されてい
る。演算部201は入力レジスタ4,5に保持されてい
る値を入力し、加算、減算を行うもので、その演算結果
をパイプラインレジスタ202に出力する。また、演算
部201は、その演算結果の符号をパイプラインレジス
タ203に出力し、パイプラインレジスタ203はこれ
を保持する。また、パイプラインレジスタ203の符号
は、符号フラグとして閾値演算部400に出力されると
共に、AND回路206に入力されている。
0,300の内部構成を示す図である。これら第1、2
の算術演算器200,300は、演算部201、パイプ
ラインレジスタ202、203、符号反転回路204、
セレクタ205、AND回路206から構成されてい
る。演算部201は入力レジスタ4,5に保持されてい
る値を入力し、加算、減算を行うもので、その演算結果
をパイプラインレジスタ202に出力する。また、演算
部201は、その演算結果の符号をパイプラインレジス
タ203に出力し、パイプラインレジスタ203はこれ
を保持する。また、パイプラインレジスタ203の符号
は、符号フラグとして閾値演算部400に出力されると
共に、AND回路206に入力されている。
【0037】符号反転回路204は、パイプラインレジ
スタ202に保持されている値の符号反転を行うもので
ある。セレクタ205はパイプラインレジスタ202の
値と、符号反転回路204の値を、AND回路206の
出力に基づいて選択するセレクタであり、その出力は、
第1の算術演算器200では一方の選択器9に、また、
第2の算術演算器300では、入力レジスタ13と他方
の選択器10に接続されている。AND回路206は、
パイプラインレジスタ203の符号と絶対値演算信号を
入力し、その出力をセレクタ205に送出するものであ
る。
スタ202に保持されている値の符号反転を行うもので
ある。セレクタ205はパイプラインレジスタ202の
値と、符号反転回路204の値を、AND回路206の
出力に基づいて選択するセレクタであり、その出力は、
第1の算術演算器200では一方の選択器9に、また、
第2の算術演算器300では、入力レジスタ13と他方
の選択器10に接続されている。AND回路206は、
パイプラインレジスタ203の符号と絶対値演算信号を
入力し、その出力をセレクタ205に送出するものであ
る。
【0038】図8は、閾値演算部400の内部構成を示
す図である。閾値演算部400は、パイプラインレジス
タ401,406〜414、レジスタ403,404、
セレクタ402,405,415〜418、Ex−OR
回路419からなる。パイプラインレジスタ401は、
入力レジスタ6に保持されている入力データを保持する
レジスタである。セレクタ402は、第1の算術演算器
200におけるパイプラインレジスタ203からの符号
フラグに基づき、パイプラインレジスタ401からのデ
ータと、定数レジスタ8からのデータを選択するセレク
タであり、その出力をパイプラインレジスタ409に送
出するよう構成されている。レジスタ403、404は
閾値演算出力値TR1、TR2をそれぞれ設定するため
のレジスタである。
す図である。閾値演算部400は、パイプラインレジス
タ401,406〜414、レジスタ403,404、
セレクタ402,405,415〜418、Ex−OR
回路419からなる。パイプラインレジスタ401は、
入力レジスタ6に保持されている入力データを保持する
レジスタである。セレクタ402は、第1の算術演算器
200におけるパイプラインレジスタ203からの符号
フラグに基づき、パイプラインレジスタ401からのデ
ータと、定数レジスタ8からのデータを選択するセレク
タであり、その出力をパイプラインレジスタ409に送
出するよう構成されている。レジスタ403、404は
閾値演算出力値TR1、TR2をそれぞれ設定するため
のレジスタである。
【0039】セレクタ405は、第1の算術演算器20
0におけるパイプラインレジスタ203からの符号フラ
グに基づき、レジスタ403からのデータとレジスタ4
04からのデータとを選択するセレクタで、その出力
は、他方の選択器10の入力およびパイプラインレジス
タ408に接続されている。パイプラインレジスタ40
6は、第1の算術演算器200におけるパイプラインレ
ジスタ203からの符号フラグを保持ためのレジスタ、
パイプラインレジスタ407は、一方の選択器9からの
データを保持するレジスタである。
0におけるパイプラインレジスタ203からの符号フラ
グに基づき、レジスタ403からのデータとレジスタ4
04からのデータとを選択するセレクタで、その出力
は、他方の選択器10の入力およびパイプラインレジス
タ408に接続されている。パイプラインレジスタ40
6は、第1の算術演算器200におけるパイプラインレ
ジスタ203からの符号フラグを保持ためのレジスタ、
パイプラインレジスタ407は、一方の選択器9からの
データを保持するレジスタである。
【0040】また、パイプラインレジスタ410は、第
2の算術演算器300の符号フラグを保持するレジス
タ、パイプラインレジスタ411は、パイプラインレジ
スタ406のデータを保持するレジスタ、パイプライン
レジスタ412は、パイプラインレジスタ407からの
データを保持するレジスタ、パイプラインレジスタ41
3は、パイプラインレジスタ408からのデータを保持
するレジスタ、パイプラインレジスタ414は、パイプ
ラインレジスタ409からのデータを保持するレジスタ
である。
2の算術演算器300の符号フラグを保持するレジス
タ、パイプラインレジスタ411は、パイプラインレジ
スタ406のデータを保持するレジスタ、パイプライン
レジスタ412は、パイプラインレジスタ407からの
データを保持するレジスタ、パイプラインレジスタ41
3は、パイプラインレジスタ408からのデータを保持
するレジスタ、パイプラインレジスタ414は、パイプ
ラインレジスタ409からのデータを保持するレジスタ
である。
【0041】セレクタ415は、パイプラインレジスタ
410とパイプラインレジスタ411のデータを入力と
するEx−OR回路419の出力信号と、Ex−OR回
路419の反転出力信号を選択するセレクタである。セ
レクタ416は、セレクタ415からの出力信号に基づ
き、パイプラインレジスタ412のデータと、パイプラ
インレジスタ413のデータとを選択するセレクタであ
る。また、セレクタ417は、セレクタ416と同様
に、セレクタ415からの出力信号に基づき、パイプラ
インレジスタ412のデータと、パイプラインレジスタ
414のデータとを選択するセレクタである。更に、セ
レクタ418は、セレクタ416の出力とセレクタ41
7の出力を選択し、その出力を閾値演算結果として演算
結果選択器14の入力に送出するセレクタである。
410とパイプラインレジスタ411のデータを入力と
するEx−OR回路419の出力信号と、Ex−OR回
路419の反転出力信号を選択するセレクタである。セ
レクタ416は、セレクタ415からの出力信号に基づ
き、パイプラインレジスタ412のデータと、パイプラ
インレジスタ413のデータとを選択するセレクタであ
る。また、セレクタ417は、セレクタ416と同様
に、セレクタ415からの出力信号に基づき、パイプラ
インレジスタ412のデータと、パイプラインレジスタ
414のデータとを選択するセレクタである。更に、セ
レクタ418は、セレクタ416の出力とセレクタ41
7の出力を選択し、その出力を閾値演算結果として演算
結果選択器14の入力に送出するセレクタである。
【0042】図9は、出力処理部500の内部構成を示
す図である。出力処理部500は、シフタ502、レジ
スタ503,506,507、オーバフロー/アンダフ
ロー判定回路505、セレクタ508,509から構成
されている。図において、501は入力レジスタ13か
らのデータを模式的に示したもので、このデータ501
がシフタ502に入力されるよう構成されている。シフ
タ502は、入力レジスタ13からのデータをシフトす
る回路であり、レジスタ503に設定された大きさのシ
フトを行い、データ504として出力するものである。
尚、レジスタ503は、シフト量を設定するためのレジ
スタである。また、504aはデータ504におけるオ
ーバフロー/アンダフローを判定する部分のデータを示
している。
す図である。出力処理部500は、シフタ502、レジ
スタ503,506,507、オーバフロー/アンダフ
ロー判定回路505、セレクタ508,509から構成
されている。図において、501は入力レジスタ13か
らのデータを模式的に示したもので、このデータ501
がシフタ502に入力されるよう構成されている。シフ
タ502は、入力レジスタ13からのデータをシフトす
る回路であり、レジスタ503に設定された大きさのシ
フトを行い、データ504として出力するものである。
尚、レジスタ503は、シフト量を設定するためのレジ
スタである。また、504aはデータ504におけるオ
ーバフロー/アンダフローを判定する部分のデータを示
している。
【0043】オーバフロー/アンダフロー判定回路50
5は、データ504aに対し、オーバフローとアンダフ
ローを判定する回路であり、その判定出力をセレクタ5
08とセレクタ509のセレクト信号として出力するよ
う構成されている。レジスタ506、507は、制限付
き演算での上限値と下限値を設定するレジスタであり、
セレクタ508は、これら上限値と下限値を、オーバフ
ロー/アンダフロー判定回路505のセレクト信号に基
づき選択する。また、セレクタ509は、オーバフロー
/アンダフロー判定回路505のセレクト信号に基づ
き、セレクタ508の出力と、シフタ502からのデー
タを選択するセレクタで、その出力を演算結果選択器1
4の入力に送出するよう構成されている。
5は、データ504aに対し、オーバフローとアンダフ
ローを判定する回路であり、その判定出力をセレクタ5
08とセレクタ509のセレクト信号として出力するよ
う構成されている。レジスタ506、507は、制限付
き演算での上限値と下限値を設定するレジスタであり、
セレクタ508は、これら上限値と下限値を、オーバフ
ロー/アンダフロー判定回路505のセレクト信号に基
づき選択する。また、セレクタ509は、オーバフロー
/アンダフロー判定回路505のセレクト信号に基づ
き、セレクタ508の出力と、シフタ502からのデー
タを選択するセレクタで、その出力を演算結果選択器1
4の入力に送出するよう構成されている。
【0044】次に、各演算を詳細に説明する。 《積和演算》S0を乗算器入力選択器1により選択し、
乗算器100の入力レジスタ2で保持する。これと同時
にS1を乗算器100の入力レジスタ3に保持する。次
に、乗算器100により、入力レジスタ2と入力レジス
タ3の各データを乗算する。パイプライン動作であるの
で、乗算部101aでの演算結果がパイプラインレジス
タ102に保持されると同時に、次のデータを入力レジ
スタ2,3に保持する。
乗算器100の入力レジスタ2で保持する。これと同時
にS1を乗算器100の入力レジスタ3に保持する。次
に、乗算器100により、入力レジスタ2と入力レジス
タ3の各データを乗算する。パイプライン動作であるの
で、乗算部101aでの演算結果がパイプラインレジス
タ102に保持されると同時に、次のデータを入力レジ
スタ2,3に保持する。
【0045】次に、一方の選択器9により乗算器100
の出力を選択し、第2の算術演算器300の入力レジス
タ11に保持する。この時、第2の算術演算器300の
入力レジスタ12の初期値として値“0”が設定されて
いるものとする。次に、第2の算術演算器300により
入力レジスタ11,12のデータを加算し、その結果を
第2の算術演算器300の入力レジスタ12に保持す
る。これと同時に次の乗算結果を一方の選択器9を通し
て入力レジスタ11に保持する。これを繰り返すこと
で、入力レジスタ12に累算結果が保持され、積和演算
を実行することができる。
の出力を選択し、第2の算術演算器300の入力レジス
タ11に保持する。この時、第2の算術演算器300の
入力レジスタ12の初期値として値“0”が設定されて
いるものとする。次に、第2の算術演算器300により
入力レジスタ11,12のデータを加算し、その結果を
第2の算術演算器300の入力レジスタ12に保持す
る。これと同時に次の乗算結果を一方の選択器9を通し
て入力レジスタ11に保持する。これを繰り返すこと
で、入力レジスタ12に累算結果が保持され、積和演算
を実行することができる。
【0046】尚、累算の回数は、図示省略したカウンタ
に設定する。また、累算結果は、まるめの処理を必要と
する場合、まるめに必要な値を定数レジスタ8に予め設
定しておき、演算結果を入力レジスタ13に保持する。
尚、出力処理部500での処理については、後述する。
に設定する。また、累算結果は、まるめの処理を必要と
する場合、まるめに必要な値を定数レジスタ8に予め設
定しておき、演算結果を入力レジスタ13に保持する。
尚、出力処理部500での処理については、後述する。
【0047】《差の絶対値の累積演算》S0を第1の算
術演算器200の入力レジスタ4に、S1を入力レジス
タ5に保持する。次に、第1の算術演算器200により
入力レジスタ4から入力レジスタ5のデータを減算す
る。パイプライン動作であるので、演算部201での演
算結果がパイプラインレジスタ202に保持されると同
時に、次のデータを入力レジスタ4,5に保持する。次
に、パイプラインレジスタ202のデータに対して絶対
値処理を行う。符号反転回路204は、パイプラインレ
ジスタ202のデータの符号を反転し、その結果をセレ
クタ205の入力に送る。
術演算器200の入力レジスタ4に、S1を入力レジス
タ5に保持する。次に、第1の算術演算器200により
入力レジスタ4から入力レジスタ5のデータを減算す
る。パイプライン動作であるので、演算部201での演
算結果がパイプラインレジスタ202に保持されると同
時に、次のデータを入力レジスタ4,5に保持する。次
に、パイプラインレジスタ202のデータに対して絶対
値処理を行う。符号反転回路204は、パイプラインレ
ジスタ202のデータの符号を反転し、その結果をセレ
クタ205の入力に送る。
【0048】ここで、演算部201での演算結果が負の
場合、セレクタ205は、符号フラグを保持したパイプ
ラインレジスタ203の信号と絶対値演算であることに
より作られたセレクト信号で、符号反転回路204の出
力を選択し、その結果を一方の選択器9の入力に送る。
また、演算部201での演算結果が正の場合、セレクタ
205は、符号フラグを保持したパイプラインレジスタ
203の信号と絶対値演算であることにより作られたセ
レクト信号で、パイプラインレジスタ202の出力を選
択し、その結果を一方の選択器9の入力に送る。
場合、セレクタ205は、符号フラグを保持したパイプ
ラインレジスタ203の信号と絶対値演算であることに
より作られたセレクト信号で、符号反転回路204の出
力を選択し、その結果を一方の選択器9の入力に送る。
また、演算部201での演算結果が正の場合、セレクタ
205は、符号フラグを保持したパイプラインレジスタ
203の信号と絶対値演算であることにより作られたセ
レクト信号で、パイプラインレジスタ202の出力を選
択し、その結果を一方の選択器9の入力に送る。
【0049】次に、一方の選択器9により第1の算術演
算器200の出力を選択し、第2の算術演算器300の
入力レジスタ11に保持する。この時、第3の算術演算
器300の入力レジスタ12の初期値として値“0”が
設定されているものとする。次に、第2の算術演算器3
00により入力レジスタ11,12のデータを加算し、
その結果を第2の算術演算器300の入力レジスタ12
に保持する。これと同時に次の絶対値演算の結果を、一
方の選択器9を通して入力レジスタ11に保持する。
算器200の出力を選択し、第2の算術演算器300の
入力レジスタ11に保持する。この時、第3の算術演算
器300の入力レジスタ12の初期値として値“0”が
設定されているものとする。次に、第2の算術演算器3
00により入力レジスタ11,12のデータを加算し、
その結果を第2の算術演算器300の入力レジスタ12
に保持する。これと同時に次の絶対値演算の結果を、一
方の選択器9を通して入力レジスタ11に保持する。
【0050】また、累算回数は、図示省略したカウンタ
に設定する。そして、累算結果は、まるめの処理を必要
とする場合、まるめに必要な値を定数レジスタ8に予め
設定しておき、入力レジスタ11のデータと、定数レジ
スタ8のデータを第2の算術演算器300で加算し、出
力処理部500の入力レジスタ13に保持する。尚、出
力処理部500での処理については、後述する。このよ
うにして差の絶対値の累算を行うことができる。
に設定する。そして、累算結果は、まるめの処理を必要
とする場合、まるめに必要な値を定数レジスタ8に予め
設定しておき、入力レジスタ11のデータと、定数レジ
スタ8のデータを第2の算術演算器300で加算し、出
力処理部500の入力レジスタ13に保持する。尚、出
力処理部500での処理については、後述する。このよ
うにして差の絶対値の累算を行うことができる。
【0051】《閾値演算》この実施例では、閾値が一つ
の場合と、二つの場合について説明する。図10は、閾
値が一つの場合で、入力Pに対する閾値Tの閾値演算機
能を示す図である。 (1)P<T の時、TR2 T≦Pの時、TR1 (2)P<T の時、 P T≦Pの時、TR1 (3)P<T の時、TR2 T≦Pの時、 P ここで、閾値演算出力値TR1はレジスタ403に、閾
値演算出力値TR2はレジスタ404に保持する。
の場合と、二つの場合について説明する。図10は、閾
値が一つの場合で、入力Pに対する閾値Tの閾値演算機
能を示す図である。 (1)P<T の時、TR2 T≦Pの時、TR1 (2)P<T の時、 P T≦Pの時、TR1 (3)P<T の時、TR2 T≦Pの時、 P ここで、閾値演算出力値TR1はレジスタ403に、閾
値演算出力値TR2はレジスタ404に保持する。
【0052】先ず、(1)の場合の演算についてその動
作を説明する。閾値TをS0から入力し、第1の算術演
算器200の入力レジスタ4に、入力データPをS1か
ら入力し、第1の算術演算器200の入力レジスタ5に
保持する。次に、第1の算術演算器200により入力レ
ジスタ4の値(=T)から、入力レジスタ5の値(=
P)を減算する。パイプライン動作であるので、乗算部
201での演算による符号フラグをパイプラインレジス
タ203に保持すると同時に、次のデータを入力レジス
タ4,5に保持する。
作を説明する。閾値TをS0から入力し、第1の算術演
算器200の入力レジスタ4に、入力データPをS1か
ら入力し、第1の算術演算器200の入力レジスタ5に
保持する。次に、第1の算術演算器200により入力レ
ジスタ4の値(=T)から、入力レジスタ5の値(=
P)を減算する。パイプライン動作であるので、乗算部
201での演算による符号フラグをパイプラインレジス
タ203に保持すると同時に、次のデータを入力レジス
タ4,5に保持する。
【0053】そして、パイプラインレジスタ203の値
が正である場合(P<T)、セレクタ405によりレジ
スタ404(=TR2)を選択し、その出力を他方の選
択器10の入力に送る。また、パイプラインレジスタ2
03の値が正でない場合(T≦P)、セレクタ405に
よりレジスタ403(=TR1)を選択し、その出力を
他方の選択器10の入力に送る。
が正である場合(P<T)、セレクタ405によりレジ
スタ404(=TR2)を選択し、その出力を他方の選
択器10の入力に送る。また、パイプラインレジスタ2
03の値が正でない場合(T≦P)、セレクタ405に
よりレジスタ403(=TR1)を選択し、その出力を
他方の選択器10の入力に送る。
【0054】また、(1)の閾値演算の場合は、選択制
御部7により、一方の選択器9は、値“0”を選択し、
他方の選択器10は、閾値演算部400からのデータを
選択するように設定する。そして、一方の選択器9の出
力を第2の算術演算器300の入力レジスタ11に、他
方の選択器10の出力を第2の算術演算器300の入力
レジスタ12に保持する。
御部7により、一方の選択器9は、値“0”を選択し、
他方の選択器10は、閾値演算部400からのデータを
選択するように設定する。そして、一方の選択器9の出
力を第2の算術演算器300の入力レジスタ11に、他
方の選択器10の出力を第2の算術演算器300の入力
レジスタ12に保持する。
【0055】次に、第2の算術演算器300により、入
力レジスタ11,12のデータを加算し、その結果を出
力処理部500の入力レジスタ13に保持する。尚、出
力処理部500での処理については、後で述べる。この
ようにして(1)の閾値演算を行うことができる。
力レジスタ11,12のデータを加算し、その結果を出
力処理部500の入力レジスタ13に保持する。尚、出
力処理部500での処理については、後で述べる。この
ようにして(1)の閾値演算を行うことができる。
【0056】次に、(2)の場合の演算についてその動
作を説明する。閾値TをS0から入力し、第1の算術演
算器200の入力レジスタ4に、入力データPをS1か
ら入力し、第1の算術演算器200の入力レジスタ5
と、乗算器100の入力レジスタ3に、そして、乗算器
入力選択器1で値“1”を選択し、入力レジスタ2に保
持する。
作を説明する。閾値TをS0から入力し、第1の算術演
算器200の入力レジスタ4に、入力データPをS1か
ら入力し、第1の算術演算器200の入力レジスタ5
と、乗算器100の入力レジスタ3に、そして、乗算器
入力選択器1で値“1”を選択し、入力レジスタ2に保
持する。
【0057】次に、第1の算術演算器200により、入
力レジスタ4の値(=T)から、入力レジスタ5の値
(=P)を減算すると同時に、乗算器100により、入
力レジスタ2の値(=1)と入力レジスタ3の値(=
P)の乗算を行う。パイプライン動作であるので、演算
部201での演算による符号フラグをパイプラインレジ
スタ203に保持すると同時に、乗算部101aでの演
算による結果を、パイプラインレジスタ102に保持す
ると同時に、次のデータを入力レジスタ4,5,および
入力レジスタ2,3に保持する。
力レジスタ4の値(=T)から、入力レジスタ5の値
(=P)を減算すると同時に、乗算器100により、入
力レジスタ2の値(=1)と入力レジスタ3の値(=
P)の乗算を行う。パイプライン動作であるので、演算
部201での演算による符号フラグをパイプラインレジ
スタ203に保持すると同時に、乗算部101aでの演
算による結果を、パイプラインレジスタ102に保持す
ると同時に、次のデータを入力レジスタ4,5,および
入力レジスタ2,3に保持する。
【0058】そして、パイプラインレジスタ203の値
が正である場合(P<T)、選択制御部7により、一方
の選択器9は、乗算器100からのデータ(=P)を選
択し、他方の選択器10は、値“0”を選択する。ま
た、パイプラインレジスタ203の値が正でない場合
(T≦P)、セレクタ405により、レジスタ403
(TR1)を選択し、その出力を他方の選択器10の入
力に送ると同時に、選択制御部7により、一方の選択器
9は、値“0”を選択し、他方の選択器10は、閾値演
算部400からのデータを選択する。
が正である場合(P<T)、選択制御部7により、一方
の選択器9は、乗算器100からのデータ(=P)を選
択し、他方の選択器10は、値“0”を選択する。ま
た、パイプラインレジスタ203の値が正でない場合
(T≦P)、セレクタ405により、レジスタ403
(TR1)を選択し、その出力を他方の選択器10の入
力に送ると同時に、選択制御部7により、一方の選択器
9は、値“0”を選択し、他方の選択器10は、閾値演
算部400からのデータを選択する。
【0059】そして、一方の選択器9の出力を、第2の
算術演算器300の入力レジスタ11に、他方の選択器
10の出力を、第2の算術演算器300の入力レジスタ
12に保持する。
算術演算器300の入力レジスタ11に、他方の選択器
10の出力を、第2の算術演算器300の入力レジスタ
12に保持する。
【0060】次に、第2の算術演算器300により、入
力レジスタ11,12のデータを加算し、その結果を出
力処理部500の入力レジスタ13に保持する。尚、出
力処理部での処理については、後で述べる。このように
して(2)の閾値演算を行うことができる。
力レジスタ11,12のデータを加算し、その結果を出
力処理部500の入力レジスタ13に保持する。尚、出
力処理部での処理については、後で述べる。このように
して(2)の閾値演算を行うことができる。
【0061】次に、(3)の場合の演算についてその動
作を説明する。閾値TをS0から入力し、第1の算術演
算器200の入力レジスタ4に、入力データPをS1か
ら入力し、第1の算術演算器200の入力レジスタ5
と、乗算器100の入力レジスタ3に、そして乗算器入
力選択器1で値“1”を選択し、入力レジスタ2に保持
する。
作を説明する。閾値TをS0から入力し、第1の算術演
算器200の入力レジスタ4に、入力データPをS1か
ら入力し、第1の算術演算器200の入力レジスタ5
と、乗算器100の入力レジスタ3に、そして乗算器入
力選択器1で値“1”を選択し、入力レジスタ2に保持
する。
【0062】次に、第1の算術演算器200により、入
力レジスタ4の値から入力レジスタ5の値を減算すると
同時に、乗算器100により、入力レジスタ2の値と入
力レジスタ3の値の乗算を行う。パイプライン動作であ
るので、演算部201での演算による符号フラグをパイ
プラインレジスタ203に保持すると同時に、乗算部1
01aでの演算による結果をパイプラインレジスタ10
2に保持すると同時に、次のデータを入力レジスタ4,
5および入力レジスタ2,3に保持する。
力レジスタ4の値から入力レジスタ5の値を減算すると
同時に、乗算器100により、入力レジスタ2の値と入
力レジスタ3の値の乗算を行う。パイプライン動作であ
るので、演算部201での演算による符号フラグをパイ
プラインレジスタ203に保持すると同時に、乗算部1
01aでの演算による結果をパイプラインレジスタ10
2に保持すると同時に、次のデータを入力レジスタ4,
5および入力レジスタ2,3に保持する。
【0063】そして、パイプラインレジスタ203の値
が正である場合(P<T)、セレクタ405により、レ
ジスタ404(TR2)を選択し、その出力を他方の選
択器10の入力に送ると同時に、選択制御部7により、
一方の選択器9は、値“0”を選択し、他方の選択器1
0は、閾値演算部400からのデータを選択する。
が正である場合(P<T)、セレクタ405により、レ
ジスタ404(TR2)を選択し、その出力を他方の選
択器10の入力に送ると同時に、選択制御部7により、
一方の選択器9は、値“0”を選択し、他方の選択器1
0は、閾値演算部400からのデータを選択する。
【0064】また、パイプラインレジスタ203の値が
正でない場合(T≦P)、選択制御部7により、一方の
選択器9は、乗算器100からのデータ(=P)を選択
し、他方の選択器10は、値“0”を選択する。そし
て、一方の選択器9の出力を第2の算術演算器300の
入力レジスタ11に、他方の選択器10の出力を第2の
算術演算器300の入力レジスタ12に保持する。
正でない場合(T≦P)、選択制御部7により、一方の
選択器9は、乗算器100からのデータ(=P)を選択
し、他方の選択器10は、値“0”を選択する。そし
て、一方の選択器9の出力を第2の算術演算器300の
入力レジスタ11に、他方の選択器10の出力を第2の
算術演算器300の入力レジスタ12に保持する。
【0065】次に、第2の算術演算器300により、入
力レジスタ11,12のデータを加算し、その結果を出
力処理部500の入力レジスタ13に保持する。尚、出
力処理部での処理については、後で述べる。このように
して(3)の閾値演算を行うことができる。
力レジスタ11,12のデータを加算し、その結果を出
力処理部500の入力レジスタ13に保持する。尚、出
力処理部での処理については、後で述べる。このように
して(3)の閾値演算を行うことができる。
【0066】次に、閾値が二つの場合を説明する。図1
1は、閾値が二つの場合で、入力Pに対する閾値T1,
T2(T2≦T1)の閾値演算機能を示す図である。 (1) T1≦Pの時、TR1 T2≦P<T1 の時、 P P<T2 の時、TR2 (2) T1≦Pの時、 P T2≦P<T1 の時、TR2 P<T2 の時、 P (3) T1≦Pの時、T1 T2≦P<T1 の時、 P P<T2 の時、T2 (4) T1≦Pの時、 P T2≦P<T1 の時、T2 P<T2 の時、 P
1は、閾値が二つの場合で、入力Pに対する閾値T1,
T2(T2≦T1)の閾値演算機能を示す図である。 (1) T1≦Pの時、TR1 T2≦P<T1 の時、 P P<T2 の時、TR2 (2) T1≦Pの時、 P T2≦P<T1 の時、TR2 P<T2 の時、 P (3) T1≦Pの時、T1 T2≦P<T1 の時、 P P<T2 の時、T2 (4) T1≦Pの時、 P T2≦P<T1 の時、T2 P<T2 の時、 P
【0067】ここで、TR1は、レジスタ403に、T
R2は、レジスタ404に、閾値T2は、定数レジスタ
8に保持し、閾値T1は、S0から入力し、選択制御部
7により、一方の選択器9は、乗算器100からのデー
タを選択し、他方の選択器10は、定数レジスタ8から
のデータを選択し、演算結果選択器14は、セレクタ4
18を選択する。
R2は、レジスタ404に、閾値T2は、定数レジスタ
8に保持し、閾値T1は、S0から入力し、選択制御部
7により、一方の選択器9は、乗算器100からのデー
タを選択し、他方の選択器10は、定数レジスタ8から
のデータを選択し、演算結果選択器14は、セレクタ4
18を選択する。
【0068】先ず、上記(1)の場合の演算についてそ
の動作を説明する。閾値T1をS0から入力し、第1の
算術演算器200の入力レジスタ4に、入力データPを
S1から入力し、第1の算術演算器200の入力レジス
タ5と、乗算器100の入力レジスタ3に、そして乗算
器入力選択器1で値“1”を選択し、入力レジスタ2に
保持する。
の動作を説明する。閾値T1をS0から入力し、第1の
算術演算器200の入力レジスタ4に、入力データPを
S1から入力し、第1の算術演算器200の入力レジス
タ5と、乗算器100の入力レジスタ3に、そして乗算
器入力選択器1で値“1”を選択し、入力レジスタ2に
保持する。
【0069】次に、第1の算術演算器200により、入
力レジスタ4の値から入力レジスタ5の値を減算すると
同時に、乗算器100により、入力レジスタ2の値と入
力レジスタ3の値の乗算を行う。パイプライン動作であ
るので、演算部201での演算による符号フラグをパイ
プラインレジスタ203に保持すると同時に、乗算部1
01aでの演算による結果をパイプラインレジスタ10
2に保持すると同時に、次のデータを入力レジスタ4,
5および入力レジスタ2,3に保持する。
力レジスタ4の値から入力レジスタ5の値を減算すると
同時に、乗算器100により、入力レジスタ2の値と入
力レジスタ3の値の乗算を行う。パイプライン動作であ
るので、演算部201での演算による符号フラグをパイ
プラインレジスタ203に保持すると同時に、乗算部1
01aでの演算による結果をパイプラインレジスタ10
2に保持すると同時に、次のデータを入力レジスタ4,
5および入力レジスタ2,3に保持する。
【0070】そして、パイプラインレジスタ203の値
が正である場合(P<T1)、セレクタ405により、
レジスタ404(TR2)を選択し、その出力をパイプ
ラインレジスタ408に送る。また、パイプラインレジ
スタ203の値が正でない場合(T1≦P)、セレクタ
405により、レジスタ403(TR1)を選択し、そ
の出力をパイプラインレジスタ408に送る。
が正である場合(P<T1)、セレクタ405により、
レジスタ404(TR2)を選択し、その出力をパイプ
ラインレジスタ408に送る。また、パイプラインレジ
スタ203の値が正でない場合(T1≦P)、セレクタ
405により、レジスタ403(TR1)を選択し、そ
の出力をパイプラインレジスタ408に送る。
【0071】そして、一方の選択器9の出力(=P)
を、第2の算術演算器300の入力レジスタ11と、閾
値演算部400のパイプラインレジスタ407に、他方
の選択器10の出力(T2)を、第2の算術演算器30
0の入力レジスタ12に、パイプラインレジスタ203
からの値を、パイプラインレジスタ406に、セレクタ
405からの値を、パイプラインレジスタ408に保持
する。
を、第2の算術演算器300の入力レジスタ11と、閾
値演算部400のパイプラインレジスタ407に、他方
の選択器10の出力(T2)を、第2の算術演算器30
0の入力レジスタ12に、パイプラインレジスタ203
からの値を、パイプラインレジスタ406に、セレクタ
405からの値を、パイプラインレジスタ408に保持
する。
【0072】次に、第2の算術演算器300により、入
力レジスタ12の値から入力レジスタ11の値を減算
し、その演算による符号フラグをパイプラインレジスタ
410に保持すると同時に、パイプラインレジスタ40
6のデータをパイプラインレジスタ411に保持すると
同時に、パイプラインレジスタ407のデータをパイプ
ラインレジスタ412に保持すると同時に、パイプライ
ンレジスタ408のデータをパイプラインレジスタ41
3に保持する。
力レジスタ12の値から入力レジスタ11の値を減算
し、その演算による符号フラグをパイプラインレジスタ
410に保持すると同時に、パイプラインレジスタ40
6のデータをパイプラインレジスタ411に保持すると
同時に、パイプラインレジスタ407のデータをパイプ
ラインレジスタ412に保持すると同時に、パイプライ
ンレジスタ408のデータをパイプラインレジスタ41
3に保持する。
【0073】また、(1)の閾値演算の場合には、セレ
クタ415は、パイプラインレジスタ410と411の
Ex−ORを選択し、セレクタ418は、セレクタ41
6の出力を選択する。
クタ415は、パイプラインレジスタ410と411の
Ex−ORを選択し、セレクタ418は、セレクタ41
6の出力を選択する。
【0074】そして、パイプラインレジスタ410の値
が正で、かつパイプラインレジスタ411の値が正の場
合(P<T2)、セレクタ415からの信号により、セ
レクタ416でパイプラインレジスタ413(TR2)
を選択し、その出力をセレクタ418に送る。
が正で、かつパイプラインレジスタ411の値が正の場
合(P<T2)、セレクタ415からの信号により、セ
レクタ416でパイプラインレジスタ413(TR2)
を選択し、その出力をセレクタ418に送る。
【0075】また、パイプラインレジスタ410の値が
正でなく、かつパイプラインレジスタ411の値が正の
場合(T2≦P<T1)、セレクタ415からの信号に
より、セレクタ416でパイプラインレジスタ412
(P)を選択し、その出力をセレクタ418に送る。
正でなく、かつパイプラインレジスタ411の値が正の
場合(T2≦P<T1)、セレクタ415からの信号に
より、セレクタ416でパイプラインレジスタ412
(P)を選択し、その出力をセレクタ418に送る。
【0076】更に、パイプラインレジスタ411の値が
正でない場合(T1≦P)、セレクタ415からの信号
により、セレクタ416でパイプラインレジスタ413
(TR1)を選択し、その出力をセレクタ418に送
る。そして、セレクタ418でセレクタ416の出力を
選択し、その出力を演算結果選択器14に送る、そし
て、演算結果選択器14で、セレクタ418の出力を選
択し、その出力をパイプラインレジスタ15に保持す
る。このようにして(1)の閾値演算を行うことができ
る。
正でない場合(T1≦P)、セレクタ415からの信号
により、セレクタ416でパイプラインレジスタ413
(TR1)を選択し、その出力をセレクタ418に送
る。そして、セレクタ418でセレクタ416の出力を
選択し、その出力を演算結果選択器14に送る、そし
て、演算結果選択器14で、セレクタ418の出力を選
択し、その出力をパイプラインレジスタ15に保持す
る。このようにして(1)の閾値演算を行うことができ
る。
【0077】次に(2)の場合の演算についてその動作
を説明する。閾値T1をS0から入力し、第1の算術演
算器200の入力レジスタ4に、入力データPをS1か
ら入力し、第1の算術演算器200の入力レジスタ5
と、乗算器100の入力レジスタ3に、そして乗算器入
力選択器1で値“1”を選択し、入力レジスタ2に保持
する。
を説明する。閾値T1をS0から入力し、第1の算術演
算器200の入力レジスタ4に、入力データPをS1か
ら入力し、第1の算術演算器200の入力レジスタ5
と、乗算器100の入力レジスタ3に、そして乗算器入
力選択器1で値“1”を選択し、入力レジスタ2に保持
する。
【0078】次に、第1の算術演算器200により、入
力レジスタ4の値から入力レジスタ5の値を減算すると
同時に、乗算器100により、入力レジスタ2の値と入
力レジスタ3の値の乗算を行う。パイプライン動作であ
るので、演算部201での演算による符号フラグをパイ
プラインレジスタ203に保持すると同時に、乗算部1
01aでの演算による結果をパイプラインレジスタ10
2に保持すると同時に、次のデータを入力レジスタ4,
5および入力レジスタ2,3に保持する。
力レジスタ4の値から入力レジスタ5の値を減算すると
同時に、乗算器100により、入力レジスタ2の値と入
力レジスタ3の値の乗算を行う。パイプライン動作であ
るので、演算部201での演算による符号フラグをパイ
プラインレジスタ203に保持すると同時に、乗算部1
01aでの演算による結果をパイプラインレジスタ10
2に保持すると同時に、次のデータを入力レジスタ4,
5および入力レジスタ2,3に保持する。
【0079】そして、パイプラインレジスタ203の値
が正である場合(P<T1)、セレクタ405により、
レジスタ404(TR2)を選択し、その出力をパイプ
ラインレジスタ408に送る。
が正である場合(P<T1)、セレクタ405により、
レジスタ404(TR2)を選択し、その出力をパイプ
ラインレジスタ408に送る。
【0080】また、パイプラインレジスタ203の値が
正でない場合(T1≦P)、セレクタ405により、レ
ジスタ403(TR1)を選択し、その出力をパイプラ
インレジスタ408に送る。
正でない場合(T1≦P)、セレクタ405により、レ
ジスタ403(TR1)を選択し、その出力をパイプラ
インレジスタ408に送る。
【0081】更に、一方の選択器9の出力(P)を、第
2の算術演算器300の入力レジスタ11と、閾値演算
部400のパイプラインレジスタ407に、他方の選択
器10の出力(T2)を、第2の算術演算器300の入
力レジスタ12に、パイプラインレジスタ203からの
値を、パイプラインレジスタ406に、セレクタ405
からの値を、パイプラインレジスタ408に保持する。
2の算術演算器300の入力レジスタ11と、閾値演算
部400のパイプラインレジスタ407に、他方の選択
器10の出力(T2)を、第2の算術演算器300の入
力レジスタ12に、パイプラインレジスタ203からの
値を、パイプラインレジスタ406に、セレクタ405
からの値を、パイプラインレジスタ408に保持する。
【0082】次に、第2の算術演算器300により、入
力レジスタ12の値から入力レジスタ11の値を減算
し、その演算による符号フラグをパイプラインレジスタ
410に保持すると同時に、パイプラインレジスタ40
6のデータをパイプラインレジスタ411に保持すると
同時に、パイプラインレジスタ407のデータをパイプ
ラインレジスタ412に保持すると同時に、パイプライ
ンレジスタ408のデータをパイプラインレジスタ41
3に保持する。
力レジスタ12の値から入力レジスタ11の値を減算
し、その演算による符号フラグをパイプラインレジスタ
410に保持すると同時に、パイプラインレジスタ40
6のデータをパイプラインレジスタ411に保持すると
同時に、パイプラインレジスタ407のデータをパイプ
ラインレジスタ412に保持すると同時に、パイプライ
ンレジスタ408のデータをパイプラインレジスタ41
3に保持する。
【0083】また、(2)の閾値演算の場合には、セレ
クタ415は、パイプラインレジスタ410とパイプラ
インレジスタ411のEx−ORの反転を選択し、セレ
クタ418は、セレクタ416の出力を選択する。
クタ415は、パイプラインレジスタ410とパイプラ
インレジスタ411のEx−ORの反転を選択し、セレ
クタ418は、セレクタ416の出力を選択する。
【0084】そして、パイプラインレジスタ410の値
が正で、かつパイプラインレジスタ411の値が正の場
合(P<T2)、セレクタ415からの信号により、セ
レクタ416でパイプラインレジスタ412(P)を選
択し、その出力をセレクタ418に送る。
が正で、かつパイプラインレジスタ411の値が正の場
合(P<T2)、セレクタ415からの信号により、セ
レクタ416でパイプラインレジスタ412(P)を選
択し、その出力をセレクタ418に送る。
【0085】また、パイプラインレジスタ410の値が
正でなく、かつパイプラインレジスタ411の値が正の
場合(T2≦P<T1)、セレクタ415からの信号に
より、セレクタ416でパイプラインレジスタ413
(TR2)を選択し、その出力をセレクタ418に送
る。
正でなく、かつパイプラインレジスタ411の値が正の
場合(T2≦P<T1)、セレクタ415からの信号に
より、セレクタ416でパイプラインレジスタ413
(TR2)を選択し、その出力をセレクタ418に送
る。
【0086】更に、パイプラインレジスタ411の値が
正でない場合(T1≦P)、セレクタ415からの信号
により、セレクタ416でパイプラインレジスタ412
(P)を選択し、その出力をセレクタ418に送る。
正でない場合(T1≦P)、セレクタ415からの信号
により、セレクタ416でパイプラインレジスタ412
(P)を選択し、その出力をセレクタ418に送る。
【0087】そして、セレクタ418でセレクタ416
の出力を選択し、その出力を演算結果選択器14に送
る。更に、演算結果選択器14で、セレクタ418の出
力を選択し、その出力をパイプラインレジスタ15に保
持する。このようにして(2)の閾値演算を行うことが
できる。
の出力を選択し、その出力を演算結果選択器14に送
る。更に、演算結果選択器14で、セレクタ418の出
力を選択し、その出力をパイプラインレジスタ15に保
持する。このようにして(2)の閾値演算を行うことが
できる。
【0088】次に、(3)の場合の演算についてその動
作を説明する。閾値T1をS0から入力し、第1の算術
演算器200の入力レジスタ4と、閾値演算部の入力レ
ジスタ6に、入力データPをS1から入力し、第1の算
術演算器200の入力レジスタ5と、乗算器100の入
力レジスタ3に、そして乗算器入力選択器1で値“1”
を選択し、入力レジスタ2に保持する。
作を説明する。閾値T1をS0から入力し、第1の算術
演算器200の入力レジスタ4と、閾値演算部の入力レ
ジスタ6に、入力データPをS1から入力し、第1の算
術演算器200の入力レジスタ5と、乗算器100の入
力レジスタ3に、そして乗算器入力選択器1で値“1”
を選択し、入力レジスタ2に保持する。
【0089】次に、第1の算術演算器200により、入
力レジスタ4の値から入力レジスタ5の値を減算すると
同時に、乗算器100により、入力レジスタ2の値と入
力レジスタ3の値の乗算を行う。パイプライン動作であ
るので、演算部201での演算による符号フラグをパイ
プラインレジスタ203に保持すると同時に、乗算部1
01aでの演算による結果をパイプラインレジスタ10
2に保持すると同時に、入力レジスタ6のデータをパイ
プラインレジスタ401に保持すると同時に、次のデー
タを入力レジスタ4,5,2,3および入力レジスタ6
に保持する。
力レジスタ4の値から入力レジスタ5の値を減算すると
同時に、乗算器100により、入力レジスタ2の値と入
力レジスタ3の値の乗算を行う。パイプライン動作であ
るので、演算部201での演算による符号フラグをパイ
プラインレジスタ203に保持すると同時に、乗算部1
01aでの演算による結果をパイプラインレジスタ10
2に保持すると同時に、入力レジスタ6のデータをパイ
プラインレジスタ401に保持すると同時に、次のデー
タを入力レジスタ4,5,2,3および入力レジスタ6
に保持する。
【0090】そして、パイプラインレジスタ203の値
が正である場合(P<T1)、セレクタ402により、
定数レジスタ8(T2)を選択し、その出力をパイプラ
インレジスタ409に送る。
が正である場合(P<T1)、セレクタ402により、
定数レジスタ8(T2)を選択し、その出力をパイプラ
インレジスタ409に送る。
【0091】また、パイプラインレジスタ203の値が
正でない場合(T1≦P)、セレクタ402により、パ
イプラインレジスタ401(T1)を選択し、その出力
をパイプラインレジスタ409に送る。
正でない場合(T1≦P)、セレクタ402により、パ
イプラインレジスタ401(T1)を選択し、その出力
をパイプラインレジスタ409に送る。
【0092】そして、一方の選択器9の出力(P)を、
第2の算術演算器300の入力レジスタ11と、閾値演
算部400のパイプラインレジスタ407に、他方の選
択器10の出力(T2)を、第2の算術演算器300の
入力レジスタ12に、パイプラインレジスタ203から
の値を、パイプラインレジスタ406に、セレクタ40
2からの値を、パイプラインレジスタ409に保持す
る。
第2の算術演算器300の入力レジスタ11と、閾値演
算部400のパイプラインレジスタ407に、他方の選
択器10の出力(T2)を、第2の算術演算器300の
入力レジスタ12に、パイプラインレジスタ203から
の値を、パイプラインレジスタ406に、セレクタ40
2からの値を、パイプラインレジスタ409に保持す
る。
【0093】次に、第2の算術演算器300により、入
力レジスタ12の値から入力レジスタ11の値を減算
し、その演算による符号フラグをパイプラインレジスタ
410に保持すると同時に、パイプラインレジスタ40
6のデータをパイプラインレジスタ411に保持すると
同時に、パイプラインレジスタ407のデータをパイプ
ラインレジスタ412に保持すると同時に、パイプライ
ンレジスタ409のデータをパイプラインレジスタ41
4に保持する。
力レジスタ12の値から入力レジスタ11の値を減算
し、その演算による符号フラグをパイプラインレジスタ
410に保持すると同時に、パイプラインレジスタ40
6のデータをパイプラインレジスタ411に保持すると
同時に、パイプラインレジスタ407のデータをパイプ
ラインレジスタ412に保持すると同時に、パイプライ
ンレジスタ409のデータをパイプラインレジスタ41
4に保持する。
【0094】また、(3)の閾値演算の場合には、セレ
クタ415は、パイプラインレジスタ410と411の
Ex−ORを選択し、セレクタ418は、セレクタ41
7の出力を選択する。
クタ415は、パイプラインレジスタ410と411の
Ex−ORを選択し、セレクタ418は、セレクタ41
7の出力を選択する。
【0095】そして、パイプラインレジスタ410の値
が正で、かつパイプラインレジスタ411の値が正の場
合(P<T2)、セレクタ415からの信号により、セ
レクタ417でパイプラインレジスタ414(T2)を
選択し、その出力をセレクタ418に送る。
が正で、かつパイプラインレジスタ411の値が正の場
合(P<T2)、セレクタ415からの信号により、セ
レクタ417でパイプラインレジスタ414(T2)を
選択し、その出力をセレクタ418に送る。
【0096】また、パイプラインレジスタ410の値が
正でなく、かつパイプラインレジスタ411の値が正の
場合(T2≦P<T1)、セレクタ415からの信号に
より、セレクタ417でパイプラインレジスタ412
(P)を選択し、その出力をセレクタ418に送る。
正でなく、かつパイプラインレジスタ411の値が正の
場合(T2≦P<T1)、セレクタ415からの信号に
より、セレクタ417でパイプラインレジスタ412
(P)を選択し、その出力をセレクタ418に送る。
【0097】更に、パイプラインレジスタ411の値が
正でない場合(T1≦P)、セレクタ415からの信号
により、セレクタ417でパイプラインレジスタ414
(T1)を選択し、その出力をセレクタ418に送る。
正でない場合(T1≦P)、セレクタ415からの信号
により、セレクタ417でパイプラインレジスタ414
(T1)を選択し、その出力をセレクタ418に送る。
【0098】そして、セレクタ418でセレクタ416
の出力を選択し、その出力を演算結果選択器14に送
る。更に、演算結果選択器14で、セレクタ418の出
力を選択し、その出力をパイプラインレジスタ15に保
持する。このようにして(3)の閾値演算を行うことが
できる。
の出力を選択し、その出力を演算結果選択器14に送
る。更に、演算結果選択器14で、セレクタ418の出
力を選択し、その出力をパイプラインレジスタ15に保
持する。このようにして(3)の閾値演算を行うことが
できる。
【0099】次に(4)の場合の演算についてその動作
を説明する。閾値T1をS0から入力し、第1の算術演
算器200の入力レジスタ4と、閾値演算部の入力レジ
スタ6に、入力データPをS1から入力し、第1の算術
演算器200の入力レジスタ5と、乗算器100の入力
レジスタ3に、そして乗算器入力選択器1で値“1”を
選択し、入力レジスタ2に保持する。
を説明する。閾値T1をS0から入力し、第1の算術演
算器200の入力レジスタ4と、閾値演算部の入力レジ
スタ6に、入力データPをS1から入力し、第1の算術
演算器200の入力レジスタ5と、乗算器100の入力
レジスタ3に、そして乗算器入力選択器1で値“1”を
選択し、入力レジスタ2に保持する。
【0100】次に、第1の算術演算器200により、入
力レジスタ4の値から入力レジスタ5の値を減算すると
同時に、乗算器100により、入力レジスタ2の値と入
力レジスタ3の値の乗算を行う。パイプライン動作であ
るので、演算部201での演算による符号フラグをパイ
プラインレジスタ203に保持すると同時に、乗算部1
01aでの演算による結果をパイプラインレジスタ10
2に保持すると同時に、入力レジスタ6のデータをパイ
プラインレジスタ401に保持すると同時に、次のデー
タを入力レジスタ4,5,2,3および入力レジスタ6
に保持する。
力レジスタ4の値から入力レジスタ5の値を減算すると
同時に、乗算器100により、入力レジスタ2の値と入
力レジスタ3の値の乗算を行う。パイプライン動作であ
るので、演算部201での演算による符号フラグをパイ
プラインレジスタ203に保持すると同時に、乗算部1
01aでの演算による結果をパイプラインレジスタ10
2に保持すると同時に、入力レジスタ6のデータをパイ
プラインレジスタ401に保持すると同時に、次のデー
タを入力レジスタ4,5,2,3および入力レジスタ6
に保持する。
【0101】そして、パイプラインレジスタ203の値
が正である場合(P<T1)、セレクタ402により、
定数レジスタ8の値(T2)を選択し、その出力パイプ
ラインレジスタ409に送る。
が正である場合(P<T1)、セレクタ402により、
定数レジスタ8の値(T2)を選択し、その出力パイプ
ラインレジスタ409に送る。
【0102】また、パイプラインレジスタ203の値が
正でない場合(T1≦P)、セレクタ402により、パ
イプラインレジスタ401(T1)を選択し、その出力
をパイプラインレジスタ409に送る。
正でない場合(T1≦P)、セレクタ402により、パ
イプラインレジスタ401(T1)を選択し、その出力
をパイプラインレジスタ409に送る。
【0103】そして、一方の選択器9の出力(P)を、
第2の算術演算器300の入力レジスタ11と、閾値演
算器400のパイプラインレジスタ407に、他方の選
択器10の出力(T2)を、第2の算術演算器300の
入力レジスタ12に、パイプラインレジスタ203から
の値を、パイプラインレジスタ406に、セレクタ40
2からの値を、パイプラインレジスタ409に保持す
る。
第2の算術演算器300の入力レジスタ11と、閾値演
算器400のパイプラインレジスタ407に、他方の選
択器10の出力(T2)を、第2の算術演算器300の
入力レジスタ12に、パイプラインレジスタ203から
の値を、パイプラインレジスタ406に、セレクタ40
2からの値を、パイプラインレジスタ409に保持す
る。
【0104】次に、第2の算術演算器300により、入
力レジスタ12の値から入力レジスタ11の値を減算
し、その演算による符号フラグをパイプラインレジスタ
410に保持すると同時に、パイプラインレジスタ40
6のデータをパイプラインレジスタ411に保持すると
同時に、パイプラインレジスタ407のデータをパイプ
ラインレジスタ412に保持すると同時に、パイプライ
ンレジスタ409のデータをパイプラインレジスタ41
4に保持する。
力レジスタ12の値から入力レジスタ11の値を減算
し、その演算による符号フラグをパイプラインレジスタ
410に保持すると同時に、パイプラインレジスタ40
6のデータをパイプラインレジスタ411に保持すると
同時に、パイプラインレジスタ407のデータをパイプ
ラインレジスタ412に保持すると同時に、パイプライ
ンレジスタ409のデータをパイプラインレジスタ41
4に保持する。
【0105】また、(4)の閾値演算の場合には、セレ
クタ415は、パイプラインレジスタ410と411の
Ex−ORの反転を選択し、セレクタ418は、セレク
タ417の出力を選択する。
クタ415は、パイプラインレジスタ410と411の
Ex−ORの反転を選択し、セレクタ418は、セレク
タ417の出力を選択する。
【0106】そして、パイプラインレジスタ410の値
が正で、かつ413の値が正の場合(P<T2)、セレ
クタ415からの信号により、セレクタ417でパイプ
ラインレジスタ412(P)を選択し、その出力をセレ
クタ418に送る。
が正で、かつ413の値が正の場合(P<T2)、セレ
クタ415からの信号により、セレクタ417でパイプ
ラインレジスタ412(P)を選択し、その出力をセレ
クタ418に送る。
【0107】また、パイプラインレジスタ410の値が
正でなく、かつ411の値が正の場合(T2≦P<T
1)、セレクタ415からの信号により、セレクタ41
7でパイプラインレジスタ414(T2)を選択し、そ
の出力をセレクタ418に送る。
正でなく、かつ411の値が正の場合(T2≦P<T
1)、セレクタ415からの信号により、セレクタ41
7でパイプラインレジスタ414(T2)を選択し、そ
の出力をセレクタ418に送る。
【0108】更に、パイプラインレジスタ411の値が
正でない場合(T1≦P)、セレクタ415からの信号
により、セレクタ417でパイプラインレジスタ412
(P)を選択し、その出力をセレクタ418に送る。
正でない場合(T1≦P)、セレクタ415からの信号
により、セレクタ417でパイプラインレジスタ412
(P)を選択し、その出力をセレクタ418に送る。
【0109】そして、セレクタ418でセレクタ416
の出力を選択し、その出力を演算結果選択器14に送
る。
の出力を選択し、その出力を演算結果選択器14に送
る。
【0110】また、演算結果選択器14で、セレクタ4
18の出力を選択し、その出力をパイプラインレジスタ
15に保持する。このようにして(4)の閾値演算を行
うことができる。
18の出力を選択し、その出力をパイプラインレジスタ
15に保持する。このようにして(4)の閾値演算を行
うことができる。
【0111】《制限付き演算》積和演算では、入力デー
タビット幅より大きい値を扱うことになる。例えば、従
来の技術で示したように、8ビットの画素データの積和
演算で、32ビット幅の累算器を使い、その結果を16
ビットで出力する場合、オーバフローやアンダフローの
発生が予想される。これに対し画像処理では、オーバフ
ローやアンダフローを最大値や最小値で出力することが
あり、そのため、演算結果を目的とする画素値の範囲に
収めるために上限や下限を設定した制限付き演算が必要
となる。
タビット幅より大きい値を扱うことになる。例えば、従
来の技術で示したように、8ビットの画素データの積和
演算で、32ビット幅の累算器を使い、その結果を16
ビットで出力する場合、オーバフローやアンダフローの
発生が予想される。これに対し画像処理では、オーバフ
ローやアンダフローを最大値や最小値で出力することが
あり、そのため、演算結果を目的とする画素値の範囲に
収めるために上限や下限を設定した制限付き演算が必要
となる。
【0112】第2の算術演算器300は、32ビットの
結果を出力し、そのビット幅のデータが入力レジスタ1
3に保持されているとする。そして、図9に示す出力処
理部500は、16ビット幅の結果を出力し、シフトは
右シフトで、シフト量は、15ビット以下で、シフタ5
02からの出力のLSBの16ビットがセレクタ402
の入力となり、上限は506に、下限は507に設定さ
れているものとする。
結果を出力し、そのビット幅のデータが入力レジスタ1
3に保持されているとする。そして、図9に示す出力処
理部500は、16ビット幅の結果を出力し、シフトは
右シフトで、シフト量は、15ビット以下で、シフタ5
02からの出力のLSBの16ビットがセレクタ402
の入力となり、上限は506に、下限は507に設定さ
れているものとする。
【0113】入力レジスタ13からのデータは、シフタ
502によりレジスタ503に設定されたシフト量のシ
フトを行う。シフタ502は、レジスタ503に設定さ
れた大きさの右シフトを行う。シフタ502の出力は、
データ504で示すように、LSBの16ビットは、セ
レクタ509の入力となる。
502によりレジスタ503に設定されたシフト量のシ
フトを行う。シフタ502は、レジスタ503に設定さ
れた大きさの右シフトを行う。シフタ502の出力は、
データ504で示すように、LSBの16ビットは、セ
レクタ509の入力となる。
【0114】また、データ504aは、データ504a
=32(レジスタ503に設定された値)−16+1で
求められる。シフタ502の出力から、データ504a
のビット幅の部分を、オーバフロー/アンダフロー判定
回路505に取り、オーバフロー/アンダフローの判定
を行う。その結果により、上限値/下限値を設定したレ
ジスタ506,507をセレクタ508により選択し、
その出力をセレクタ509の入力として送る。
=32(レジスタ503に設定された値)−16+1で
求められる。シフタ502の出力から、データ504a
のビット幅の部分を、オーバフロー/アンダフロー判定
回路505に取り、オーバフロー/アンダフローの判定
を行う。その結果により、上限値/下限値を設定したレ
ジスタ506,507をセレクタ508により選択し、
その出力をセレクタ509の入力として送る。
【0115】そして、シフタ502からの出力が、16
ビットの最大値を超える値である時、オーバフロー/ア
ンダフロー判定回路505により、セレクタ509でセ
レクタ508の出力を選択し、その出力をセレクタ50
9の入力に送る。更に、オーバフロー/アンダフロー判
定回路505により、セレクタ509でセレクタ508
を選択し、その出力を演算結果選択器14の入力に送
る。
ビットの最大値を超える値である時、オーバフロー/ア
ンダフロー判定回路505により、セレクタ509でセ
レクタ508の出力を選択し、その出力をセレクタ50
9の入力に送る。更に、オーバフロー/アンダフロー判
定回路505により、セレクタ509でセレクタ508
を選択し、その出力を演算結果選択器14の入力に送
る。
【0116】また、シフタ502からの出力が、16ビ
ットの最小値より小さい値である時、オーバフロー/ア
ンダフロー判定回路505により、セレクタ508でレ
ジスタ507を選択し、その出力をセレクタ509の入
力に送る。そして、オーバフロー/アンダフロー判定回
路505により、セレクタ509でセレクタ508の出
力を選択し、その出力を演算結果選択器14の入力に送
る。
ットの最小値より小さい値である時、オーバフロー/ア
ンダフロー判定回路505により、セレクタ508でレ
ジスタ507を選択し、その出力をセレクタ509の入
力に送る。そして、オーバフロー/アンダフロー判定回
路505により、セレクタ509でセレクタ508の出
力を選択し、その出力を演算結果選択器14の入力に送
る。
【0117】一方、シフタ502からの出力が、16ビ
ットで表せる値である時、オーバフロー/アンダフロー
判定回路505により、セレクタ509でシフタ502
からの出力のLSBの16ビットを選択し、その出力を
演算結果選択器14の入力に送る。このようにして、制
限付き演算を行うことができる。
ットで表せる値である時、オーバフロー/アンダフロー
判定回路505により、セレクタ509でシフタ502
からの出力のLSBの16ビットを選択し、その出力を
演算結果選択器14の入力に送る。このようにして、制
限付き演算を行うことができる。
【0118】また、シフト量が16ビットの場合は、デ
ータ504のLSBの16ビットをセレクタ509で選
択し、シフト量が16ビットを超える場合は、算術右シ
フトにより符号拡張を行うことで同様の演算ができる。
ータ504のLSBの16ビットをセレクタ509で選
択し、シフト量が16ビットを超える場合は、算術右シ
フトにより符号拡張を行うことで同様の演算ができる。
【0119】尚、上記実施例では、信号処置装置として
画像処置装置の場合を説明したが、これに限定されるも
のではなく、積和演算、差の絶対値の累積、閾値演算、
制限付き演算を行う装置であれば、種々の信号処理に適
用可能である。
画像処置装置の場合を説明したが、これに限定されるも
のではなく、積和演算、差の絶対値の累積、閾値演算、
制限付き演算を行う装置であれば、種々の信号処理に適
用可能である。
【0120】
【発明の効果】以上説明した第1発明の信号処理装置に
よれば、乗算器と、第1の算術演算器と、第2の算術演
算器と、閾値演算部と、定数レジスタと、一方の選択器
と、他方の選択器とを備え、これらの信号接続を制御す
ることによって、積和演算、差の絶対値の累積および閾
値演算を行うようにしたので、各演算毎に演算ユニット
を必要とせず、上記各演算を行う装置を構成する場合
に、本発明の信号処理装置のみで構成することができ、
構成の簡素化が図れ、コスト低減に寄与することができ
る。また、本発明の信号処理装置を複数用いることによ
って、各演算が同一の演算ユニットで行えるため、低コ
スト化を図りながら、処理を高速に行うことができる。
よれば、乗算器と、第1の算術演算器と、第2の算術演
算器と、閾値演算部と、定数レジスタと、一方の選択器
と、他方の選択器とを備え、これらの信号接続を制御す
ることによって、積和演算、差の絶対値の累積および閾
値演算を行うようにしたので、各演算毎に演算ユニット
を必要とせず、上記各演算を行う装置を構成する場合
に、本発明の信号処理装置のみで構成することができ、
構成の簡素化が図れ、コスト低減に寄与することができ
る。また、本発明の信号処理装置を複数用いることによ
って、各演算が同一の演算ユニットで行えるため、低コ
スト化を図りながら、処理を高速に行うことができる。
【0121】第2発明の信号処理装置によれば、第1発
明の信号処理装置に加えて、制限付き演算を行う出力処
理部を設けたので、例えば画像処理における制限付き演
算等を含む演算を一つの演算ユニットで構成でき、更
に、信号処理の効率化および低コスト化を図ることがで
きる。
明の信号処理装置に加えて、制限付き演算を行う出力処
理部を設けたので、例えば画像処理における制限付き演
算等を含む演算を一つの演算ユニットで構成でき、更
に、信号処理の効率化および低コスト化を図ることがで
きる。
【図1】本発明の信号処理装置の構成図である。
【図2】色変換に関する演算式の説明図である。
【図3】離散コサイン変換に関する演算式の説明図であ
る。
る。
【図4】2次元コンボリューション処理に関する演算式
の説明図である。
の説明図である。
【図5】動き補償フレーム間予測符号化に関する演算式
の説明図である。
の説明図である。
【図6】本発明の信号処理装置における乗算器の内部構
成を示すブロック図である。
成を示すブロック図である。
【図7】本発明の信号処理装置における第1,2の算術
演算器の内部構成を示すブロック図である。
演算器の内部構成を示すブロック図である。
【図8】本発明の信号処理装置における閾値演算部の内
部構成を示すブロック図である。
部構成を示すブロック図である。
【図9】本発明の信号処理装置における出力処理部の内
部構成を示すブロック図である。
部構成を示すブロック図である。
【図10】本発明の信号処理装置における閾値が一つの
場合の説明図である。
場合の説明図である。
【図11】本発明の信号処理装置における閾値が二つの
場合の説明図である。
場合の説明図である。
100 乗算器 200 第1の算術演算器 300 第2の算術演算器 400 閾値演算部 500 出力処理部 8 定数レジスタ 9 一方の選択器 10 他方の選択器
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 G06T 5/00 5/20 H04N 7/30 9/74 Z G06F 15/66 M 15/68 310 A 400 J H04N 7/133 Z
Claims (2)
- 【請求項1】 乗算器と、第1の算術演算器と、第2の
算術演算器と、閾値演算部と、定数レジスタと、一方の
選択器と、他方の選択器とを備え、 前記乗算器は、任意の2データを入力して、乗算を行
い、 前記第1の算術演算器は、前記任意の2データを入力
し、加算または減算を行うと共に、演算結果が負である
時、符号を反転して正の値にして出力し、かつ演算結果
の符号フラグを出力し、 前記一方の選択器は、前記乗算器の出力と、前記第1の
算術演算器の出力と、前記定数レジスタの出力と、初期
値とを選択し、 前記他方の選択器は、前記閾値演算部から出力される閾
値演算出力値と、前記第2の算術演算器の出力と、前記
定数レジスタの出力と、前記初期値とを選択し、 前記定数レジスタは、任意の値を保持し、 前記第2の算術演算器は、前記一方の選択器の出力と、
他方の選択器の出力とを入力し、加算または減算を行う
と共に、演算結果が負である時、符号を反転して正の値
にして出力し、かつ演算結果の符号フラグを出力し、 前記閾値演算部は、第1、第2の閾値演算出力値を有
し、 閾値が一つの場合、 前記2データの入力を当該閾値と任意のデータとし、か
つ、第1の算術演算器の符号フラグで前記第1、第2の
閾値演算出力値のいずれか一方を選択して閾値演算出力
値として、これを前記他方の選択器に出力し、 閾値が第1、第2の閾値である場合、 前記2データの入力を、前記第1の閾値と任意のデータ
とすると共に、前記定数レジスタの値を前記第2の閾値
とし、かつ、前記第1の算術演算器の符号フラグに基づ
き前記第1、2の閾値の選択と、前記第1、2の閾値演
算出力の選択とを行い、かつ、前記第1の算術演算器の
符号フラグと前記第2の算術演算器の符号フラグに基づ
き、前記選択した第1または第2の閾値と前記任意のデ
ータとのいずれか一方の選択を行うと共に、前記第1ま
たは第2の閾値演算出力値と前記任意のデータのいずれ
か一方の選択を行い、かつ、これら選択結果のいずれか
一方を選択して閾値演算結果を出力することを特徴とす
る信号処理装置。 - 【請求項2】 出力処理部と、演算結果選択器とを備
え、 前記出力処理部は、 予め、出力ビット幅を設定すると共に、このビット幅で
表せる最大値と最小値とを有し、 第2の算術演算器の出力を入力して、当該第2の算術演
算器の出力が、前記出力ビット幅より大きい場合は前記
最大値を、前記第2の算術演算器の出力が、前記出力ビ
ット幅より小さい場合は前記最小値を出力し、 前記演算結果選択器は、 前記出力処理部の出力と、閾値演算部の出力とを選択し
て演算結果として出力することを特徴とする請求項1記
載の信号処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34286593A JPH07168808A (ja) | 1993-12-15 | 1993-12-15 | 信号処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34286593A JPH07168808A (ja) | 1993-12-15 | 1993-12-15 | 信号処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH07168808A true JPH07168808A (ja) | 1995-07-04 |
Family
ID=18357100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP34286593A Pending JPH07168808A (ja) | 1993-12-15 | 1993-12-15 | 信号処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH07168808A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009099119A (ja) * | 2007-05-30 | 2009-05-07 | Avago Technologies Ecbu Ip (Singapore) Pte Ltd | 累積および平均化を用いる適応バッファ値のためのバッファ管理 |
US7554556B2 (en) | 2004-05-17 | 2009-06-30 | Murata Kikai Kabushiki Kaisha | Color image processing device and color image processing method |
-
1993
- 1993-12-15 JP JP34286593A patent/JPH07168808A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7554556B2 (en) | 2004-05-17 | 2009-06-30 | Murata Kikai Kabushiki Kaisha | Color image processing device and color image processing method |
JP2009099119A (ja) * | 2007-05-30 | 2009-05-07 | Avago Technologies Ecbu Ip (Singapore) Pte Ltd | 累積および平均化を用いる適応バッファ値のためのバッファ管理 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4231620B2 (ja) | 画像処理方法および装置 | |
US7162090B2 (en) | Image processing apparatus, image processing program and image processing method | |
JPH05502534A (ja) | ディジタル画像のノイズ除去システムおよび方法 | |
JPH0613914A (ja) | 乗算不要の離散的コサイン変換方式および装置 | |
JP3356516B2 (ja) | 動画像符号化装置 | |
EP0523924B1 (en) | Image signal processing apparatus | |
CN102271251B (zh) | 无失真的图像压缩方法 | |
JPH05260313A (ja) | 離散余弦変換(dct)によるデータ処理方法、dct方法、およびdctデータ処理回路 | |
US5748793A (en) | Quick image processor of reduced circuit scale with high image quality and high efficiency | |
JP2001028691A (ja) | 画像処理装置 | |
JPH07168808A (ja) | 信号処理装置 | |
JP3288811B2 (ja) | ビデオコーデックにおける後処理フィルタ制御方式及び後処理フィルタ制御回路 | |
JP3695451B2 (ja) | 画像サイズの変更方法及装置 | |
KR20030025058A (ko) | 완전 탐색블록 정합회로 및 완전 탐색블록 정합방법 | |
KR100231901B1 (ko) | 하나의 명령 주기내에서 0으로 반올림된 두 정수의 평균을 계산하는 방법 및 장치 | |
JP2001204044A (ja) | 画像処理方法および画像処理装置 | |
JP2885039B2 (ja) | 動きベクトル検出回路 | |
JPH08204957A (ja) | 画像処理方法 | |
JP3652380B2 (ja) | 離散コサイン変換装置及び逆離散コサイン変換装置 | |
JP3669052B2 (ja) | 離散コサイン変換装置 | |
JP3911784B2 (ja) | 画像圧縮装置及び画像圧縮方法 | |
JP2002197075A (ja) | データ処理装置及びその制御方法、データ処理方法、コンピュータ可読メモリ | |
JPH08305684A (ja) | バタフライ演算装置及び逆離散余弦変換装置 | |
JP3895031B2 (ja) | 行列ベクトル乗算器 | |
JP2698824B2 (ja) | ディスクリートコサイン変換装置 |