JPH0683586A - ディジタル演算回路 - Google Patents
ディジタル演算回路Info
- Publication number
- JPH0683586A JPH0683586A JP4234640A JP23464092A JPH0683586A JP H0683586 A JPH0683586 A JP H0683586A JP 4234640 A JP4234640 A JP 4234640A JP 23464092 A JP23464092 A JP 23464092A JP H0683586 A JPH0683586 A JP H0683586A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- data
- component
- arithmetic
- output
- 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)
Abstract
(57)【要約】
【目的】 演算回路の出力の値を正負均等に出来る。
【構成】 入力データである2次元周波数空間上の4×
4データの内、DC成分のみを入力段のセレクタ6を介
してバイパスさせる。他の成分(AC成分)は、第1の
4次内積演算回路1、第1の丸め回路4、並べ換え回路
3、第2の4次内積演算回路2、第2の丸め回路5の回
路に入力する。この回路の出力であるH2の値は、入力
としてDC成分がない(実際にはDC成分として0を入
力している)為、統計的にみて正負均等になる。従っ
て、誤差に偏りのない値(H2)に、DC成分を加算し
て、最終的な出力結果を得るようにすれば、最終的な出
力結果の誤差には偏りがなくなる。上述の加算は、最終
段にある加算器7で行われる。この加算は、整数(DC
成分)と整数(H2)との加算であり、出力も整数であ
る。
4データの内、DC成分のみを入力段のセレクタ6を介
してバイパスさせる。他の成分(AC成分)は、第1の
4次内積演算回路1、第1の丸め回路4、並べ換え回路
3、第2の4次内積演算回路2、第2の丸め回路5の回
路に入力する。この回路の出力であるH2の値は、入力
としてDC成分がない(実際にはDC成分として0を入
力している)為、統計的にみて正負均等になる。従っ
て、誤差に偏りのない値(H2)に、DC成分を加算し
て、最終的な出力結果を得るようにすれば、最終的な出
力結果の誤差には偏りがなくなる。上述の加算は、最終
段にある加算器7で行われる。この加算は、整数(DC
成分)と整数(H2)との加算であり、出力も整数であ
る。
Description
【0001】
【産業上の利用分野】本発明は、ディジタルデータの演
算処理の過程で丸め演算を伴うディジタル演算回路に関
するものである。
算処理の過程で丸め演算を伴うディジタル演算回路に関
するものである。
【0002】
【従来の技術】まず、予備知識として、丸め(即ち、四
捨五入)について説明する。例えば、小数点以下3桁の
2の補数表現:X.YZV(Xは整数部、Yは小数点以
下第1位の数で0または1、Zは小数点以下第2位の数
で0または1、Vは小数点以下第3位の数で0または
1)を、下位3ビット丸めて、整数部のみを出力する場
合を考える。
捨五入)について説明する。例えば、小数点以下3桁の
2の補数表現:X.YZV(Xは整数部、Yは小数点以
下第1位の数で0または1、Zは小数点以下第2位の数
で0または1、Vは小数点以下第3位の数で0または
1)を、下位3ビット丸めて、整数部のみを出力する場
合を考える。
【0003】Xが正のときは、 の8個の値は、全て{(X−1)+0.5}以上{X+
0.5}未満であるから、Xという整数に丸められる。
0.5}未満であるから、Xという整数に丸められる。
【0004】ところで、上述の8個の値、 の平均値は、 である。
【0005】このように、丸め演算で丸められた値と平
均値の間には0.0001分の違いを生じる。
均値の間には0.0001分の違いを生じる。
【0006】即ち、正の値に対して下位rビットを丸め
るとき、統計的に見て、丸められた方が平均値より、2
の(−r−1)乗だけ大きくなる。つまり、沢山の小数
点以下3桁の2の補数表現データ{Xi.YiZiV
i:i=1,2,3,...}の平均値と、それらデー
タを下位3ビット丸めて整数にした値の平均値との間に
は、2の(−r−1)乗=0.0001分の差がある。
るとき、統計的に見て、丸められた方が平均値より、2
の(−r−1)乗だけ大きくなる。つまり、沢山の小数
点以下3桁の2の補数表現データ{Xi.YiZiV
i:i=1,2,3,...}の平均値と、それらデー
タを下位3ビット丸めて整数にした値の平均値との間に
は、2の(−r−1)乗=0.0001分の差がある。
【0007】Xが負のときは、 の8個の値は、全て{(X−1)+0.5}を越え{X
+0.5}以下であるから、Xという整数に丸められ
る。
+0.5}以下であるから、Xという整数に丸められ
る。
【0008】ところで、上述の8個の値、 の平均値は、 である。このように、丸め演算で丸められた値と平均値
の間には−0.0001分の違いを生じる。
の間には−0.0001分の違いを生じる。
【0009】即ち、負の値に対して下位rビットを丸め
るとき、統計的に見て、丸められた方が平均値より、2
の(−r−1)乗だけ小さくなる。
るとき、統計的に見て、丸められた方が平均値より、2
の(−r−1)乗だけ小さくなる。
【0010】以上で、丸めについての予備知識を終り、
本題について述べる。
本題について述べる。
【0011】ディジタルデータの演算過程において、2
回以上の丸め演算を行うディジタル演算回路(または演
算プログラム)で、出力値が正(あるいは負)のみであ
る場合、演算誤差が正の方向(あるいは負の方向)に偏
るという欠点があった。
回以上の丸め演算を行うディジタル演算回路(または演
算プログラム)で、出力値が正(あるいは負)のみであ
る場合、演算誤差が正の方向(あるいは負の方向)に偏
るという欠点があった。
【0012】この欠点について 2次元4×4IDCT
(逆離散コサイン変換:Inverse Discre
te Cosine Transform)を例にとっ
て説明する。
(逆離散コサイン変換:Inverse Discre
te Cosine Transform)を例にとっ
て説明する。
【0013】2次元4×4DCT(離散コサイン変換:
Discrete CosineTransform)
とは、実空間上の4×4画像データ(各データは8ビッ
ト:0〜255の値)を2次元周波数空間上の4×4デ
ータ(DC(直流)成分とAC(交流)成分:各データ
は整数値に丸められているとする)に変換するものであ
り、2次元4×4IDCTは、上記2次元4×4DCT
により変換された周波数空間上のデータ(整数)を入力
として、実空間上の画像データ(整数)を出力として得
る変換である。
Discrete CosineTransform)
とは、実空間上の4×4画像データ(各データは8ビッ
ト:0〜255の値)を2次元周波数空間上の4×4デ
ータ(DC(直流)成分とAC(交流)成分:各データ
は整数値に丸められているとする)に変換するものであ
り、2次元4×4IDCTは、上記2次元4×4DCT
により変換された周波数空間上のデータ(整数)を入力
として、実空間上の画像データ(整数)を出力として得
る変換である。
【0014】つまり、2次元4×4IDCTは、 [Dij]=[Aij][Cij][Aji] 但し、
【数1】 である。
【0015】ここで、[Dij]及び[Cij]は、それぞ
れ実空間上の4×4画像データ(4×4行列)、2次元
周波数空間上の4×4データ(4×4行列)であり、
[Aij]、[Aji]は変換する為の4×4定数行列であ
る。[Aij]、[Aji]は、転置行列の関係になってい
る。また、[Cij]の左から[Aij]をかける操作は列
方向の1次元IDCTを行う操作であり、[Cij]の右
から[Aji]をかける操作は行方向の1次元IDCTを
行う操作であり、[Aij]、[Aji]を左右からかける
事により2次元IDCTは行われる。
れ実空間上の4×4画像データ(4×4行列)、2次元
周波数空間上の4×4データ(4×4行列)であり、
[Aij]、[Aji]は変換する為の4×4定数行列であ
る。[Aij]、[Aji]は、転置行列の関係になってい
る。また、[Cij]の左から[Aij]をかける操作は列
方向の1次元IDCTを行う操作であり、[Cij]の右
から[Aji]をかける操作は行方向の1次元IDCTを
行う操作であり、[Aij]、[Aji]を左右からかける
事により2次元IDCTは行われる。
【0016】この計算は、列方向の1次元IDCTを行
う第1の4次内積演算回路101と、行方向の1次元I
DCTを行う第2の4次内積演算回路102とにより行
われる。即ち、2次元4×4IDCT演算回路は図10
の構成となる。
う第1の4次内積演算回路101と、行方向の1次元I
DCTを行う第2の4次内積演算回路102とにより行
われる。即ち、2次元4×4IDCT演算回路は図10
の構成となる。
【0017】ただし、第1の4次内積演算回路101は
列方向の計算であり、第2の4次内積演算回路102は
行方向の計算であるため、第1の4次内積演算回路の出
力を直接に第2の4次内積演算回路の入力に接続するこ
とは出来ず、列方向から行方向への並べ変えを行う並べ
変え回路103を介することになる。
列方向の計算であり、第2の4次内積演算回路102は
行方向の計算であるため、第1の4次内積演算回路の出
力を直接に第2の4次内積演算回路の入力に接続するこ
とは出来ず、列方向から行方向への並べ変えを行う並べ
変え回路103を介することになる。
【0018】第1の4次内積演算回路101の具体的な
構成は、図10内に示されているようにAijとの乗算を
行う4つの乗算器とその出力である乗算結果を加算する
3つの加算器より成るが、その動作説明は周知の事実で
あり説明を省略する。第2の4次内積演算回路102に
ついても同様である。
構成は、図10内に示されているようにAijとの乗算を
行う4つの乗算器とその出力である乗算結果を加算する
3つの加算器より成るが、その動作説明は周知の事実で
あり説明を省略する。第2の4次内積演算回路102に
ついても同様である。
【0019】また、2次元4×4DCTにより作られた
2次元周波数空間上の4×4データ(図10の回路に入
力するデータ)は整数値に丸められている(小数点以下
を四捨五入している)為と、各4次内積演算回路におけ
るAij、Aji(無理数)との乗算は実際には有理数で近
似された値との乗算で行われる為、2次元4×4IDC
T演算回路の演算結果は整数とはならない。そこで、最
終段に丸め回路104を用いて、小数点以下を四捨五入
して整数値に丸めて出力している。
2次元周波数空間上の4×4データ(図10の回路に入
力するデータ)は整数値に丸められている(小数点以下
を四捨五入している)為と、各4次内積演算回路におけ
るAij、Aji(無理数)との乗算は実際には有理数で近
似された値との乗算で行われる為、2次元4×4IDC
T演算回路の演算結果は整数とはならない。そこで、最
終段に丸め回路104を用いて、小数点以下を四捨五入
して整数値に丸めて出力している。
【0020】さて、Aij、Aji(無理数)は普通小数点
以下10ビットぐらいの値に近似したものが使用され
る。従って、各4次内積演算回路で入力データと小数点
以下10ビットの数との乗算が行われるので、入力語長
に対して出力語長は長くなる。つまり、第1の4次内積
演算回路101は、入力として整数であるから出力とし
て(整数+小数点以下10ビット)という語長になる。
第2の4次内積演算回路102は、入力として(整数+
小数点以下10ビット:第1の4次内積演算回路101
の出力語長)であるから出力(図中のG0)として(整
数+小数点以下20ビット)という語長になる。
以下10ビットぐらいの値に近似したものが使用され
る。従って、各4次内積演算回路で入力データと小数点
以下10ビットの数との乗算が行われるので、入力語長
に対して出力語長は長くなる。つまり、第1の4次内積
演算回路101は、入力として整数であるから出力とし
て(整数+小数点以下10ビット)という語長になる。
第2の4次内積演算回路102は、入力として(整数+
小数点以下10ビット:第1の4次内積演算回路101
の出力語長)であるから出力(図中のG0)として(整
数+小数点以下20ビット)という語長になる。
【0021】この出力(整数+小数点以下20ビット)
を丸め回路104(図10でQ=20)で下位20ビッ
ト(つまり小数点以下)丸めて(四捨五入して)、最終
的な出力(整数:0〜255の画像データ)を得る。図
中のH0が最終的な出力(整数:0〜255の画像デー
タ)である。
を丸め回路104(図10でQ=20)で下位20ビッ
ト(つまり小数点以下)丸めて(四捨五入して)、最終
的な出力(整数:0〜255の画像データ)を得る。図
中のH0が最終的な出力(整数:0〜255の画像デー
タ)である。
【0022】丸めを行う前の値(G0)は、真の値と言
える。従って、沢山の画像データに対して行ったG0の
平均値は、この画像データの平均値と言える。それに対
して、H0は、下位20ビット丸めた値であり、沢山の
画像データに対して行ったH0の平均値は、2の−21
乗分、G0の平均値より大きくなる。
える。従って、沢山の画像データに対して行ったG0の
平均値は、この画像データの平均値と言える。それに対
して、H0は、下位20ビット丸めた値であり、沢山の
画像データに対して行ったH0の平均値は、2の−21
乗分、G0の平均値より大きくなる。
【0023】即ち、沢山の画像データに対して行ったH
0の平均値は、真の値の平均値よりも2の−21乗大き
くなる。しかし、2の−21乗はほとんど0であり、無
視できる誤差である。
0の平均値は、真の値の平均値よりも2の−21乗大き
くなる。しかし、2の−21乗はほとんど0であり、無
視できる誤差である。
【0024】このように最終段に1つだけ丸め回路を持
つのが理想的であり、この場合は演算誤差が正の方向に
ずれるということはない。無視できる程度のずれであ
る。
つのが理想的であり、この場合は演算誤差が正の方向に
ずれるということはない。無視できる程度のずれであ
る。
【0025】しかし、図10のように第1の4次内積演
算回路101の出力である、かなり長い語長を第2の4
次内積演算回路102に入力したのでは、第2の4次内
積演算回路102の回路規模が大きくなり過ぎてしま
い、非現実的である。
算回路101の出力である、かなり長い語長を第2の4
次内積演算回路102に入力したのでは、第2の4次内
積演算回路102の回路規模が大きくなり過ぎてしま
い、非現実的である。
【0026】そこで、実際には図11に示すように 第
1の4次内積演算回路111の出力を第1の丸め回路1
14により下位Rビット四捨五入して、語長を短くし
て、第2の4次内積演算回路112に入力するのが普通
である。
1の4次内積演算回路111の出力を第1の丸め回路1
14により下位Rビット四捨五入して、語長を短くし
て、第2の4次内積演算回路112に入力するのが普通
である。
【0027】例えば、図11でR=8、S=12の場
合、第1の4次内積演算回路111は入力として整数を
出力として(整数+小数点以下10ビット)という語長
になるが、これを第1の丸め回路114により下位8ビ
ット四捨五入して、(整数+小数点以下2ビット)とい
う語長にして、第2の4次内積演算回路112に入力す
る。
合、第1の4次内積演算回路111は入力として整数を
出力として(整数+小数点以下10ビット)という語長
になるが、これを第1の丸め回路114により下位8ビ
ット四捨五入して、(整数+小数点以下2ビット)とい
う語長にして、第2の4次内積演算回路112に入力す
る。
【0028】このように、第1の丸め回路114により
語長を短くすることにより、図10では、第2の4次内
積演算回路102にて入力語長(整数+小数点以下10
ビット)との計算を行わなくてはいけなかったが、図1
1では、(整数+小数点以下2ビット)で良くなり、回
路規模が小さくて済む。
語長を短くすることにより、図10では、第2の4次内
積演算回路102にて入力語長(整数+小数点以下10
ビット)との計算を行わなくてはいけなかったが、図1
1では、(整数+小数点以下2ビット)で良くなり、回
路規模が小さくて済む。
【0029】第2の4次内積演算回路112の出力は
(整数+小数点以下12ビット)となるので、これを第
2の丸め回路115により下位12ビット四捨五入し
て、最終的な出力(整数:0〜255の画像データ)を
得る。図中のG1が第2の丸め回路115により丸める
前の(整数+小数点以下12ビット)であり、H1が丸
めた後の(整数:0〜255の画像データ)である。
(整数+小数点以下12ビット)となるので、これを第
2の丸め回路115により下位12ビット四捨五入し
て、最終的な出力(整数:0〜255の画像データ)を
得る。図中のG1が第2の丸め回路115により丸める
前の(整数+小数点以下12ビット)であり、H1が丸
めた後の(整数:0〜255の画像データ)である。
【0030】ところで、沢山の画像データに対して行っ
たG1の平均値は、この画像データの平均値と言える。
勿論、1つの特定の画像データに対してG1を比較する
と、第1の丸め回路114による誤差分に対応して、差
が出てくる。しかし、第1の丸め回路114による誤差
を生じた分は、第2の内積演算回路112内の係数Aj
iと乗算により、正負均等の誤差となり、沢山の画像デ
ータに対して行ったG1の平均値は、この画像データの
平均値と言える。
たG1の平均値は、この画像データの平均値と言える。
勿論、1つの特定の画像データに対してG1を比較する
と、第1の丸め回路114による誤差分に対応して、差
が出てくる。しかし、第1の丸め回路114による誤差
を生じた分は、第2の内積演算回路112内の係数Aj
iと乗算により、正負均等の誤差となり、沢山の画像デ
ータに対して行ったG1の平均値は、この画像データの
平均値と言える。
【0031】さて、H1は、下位12ビット丸めた値で
あり、沢山の画像データに対して行ったH1の平均値
は、2の−13乗分、G1の平均値より大きくなる。
あり、沢山の画像データに対して行ったH1の平均値
は、2の−13乗分、G1の平均値より大きくなる。
【0032】即ち、沢山の画像データに対して行ったH
1の平均値は、真の値の平均値よりも2の−13乗大き
くなる。そして、2の−13乗は無視できない誤差であ
る。
1の平均値は、真の値の平均値よりも2の−13乗大き
くなる。そして、2の−13乗は無視できない誤差であ
る。
【0033】つまり、2回の丸め回路を通過することに
より、最終的な出力である画像データ(正の値)は丸め
による誤差が正の方向にずれてしまう。
より、最終的な出力である画像データ(正の値)は丸め
による誤差が正の方向にずれてしまう。
【0034】ちなみに、もし、最終的な出力が正のみで
なく、例えば、統計的に見て正負均等のデータであれ
ば、正の値は2の−13乗大きくなるし、負の値は2の
−13乗小さくなるので、誤差の平均は0となる。本発
明は後述にあるようにこの点に着目している。
なく、例えば、統計的に見て正負均等のデータであれ
ば、正の値は2の−13乗大きくなるし、負の値は2の
−13乗小さくなるので、誤差の平均は0となる。本発
明は後述にあるようにこの点に着目している。
【0035】このように理想的な丸めではないが現実的
な回路(図11)で求めた画像データ(H1)の分布
は、統計的に見て理想的な丸めを行うが非現実的な回路
(図10)で求めた理想的な画像データ(H0)よりも
正の方向にずれてしまう。
な回路(図11)で求めた画像データ(H1)の分布
は、統計的に見て理想的な丸めを行うが非現実的な回路
(図10)で求めた理想的な画像データ(H0)よりも
正の方向にずれてしまう。
【0036】出力が正のみの場合について述べたが、ほ
とんどの出力が正で例外的に時々負である場合も統計的
に見て同じように正の方向にずれる。
とんどの出力が正で例外的に時々負である場合も統計的
に見て同じように正の方向にずれる。
【0037】今、出力が正の値と考えて述べていたが、
負の値の時には逆に負の方向にずれてしまう。
負の値の時には逆に負の方向にずれてしまう。
【0038】
【発明が解決しようとする課題】解決しようとする問題
点は、ディジタルデータの演算過程において2回以上の
丸め演算を行うディジタル演算回路で、出力値が正、あ
るいは負のみである場合、統計的に見て演算誤差が正の
方向、あるいは負の方向に偏るという欠点があったとい
うものである。
点は、ディジタルデータの演算過程において2回以上の
丸め演算を行うディジタル演算回路で、出力値が正、あ
るいは負のみである場合、統計的に見て演算誤差が正の
方向、あるいは負の方向に偏るという欠点があったとい
うものである。
【0039】
【課題を解決するための手段】本発明による第1の手段
は、ディジタルデータの演算処理の過程で丸め演算を伴
うディジタル演算回路において、上記演算処理を行うた
めの入力データから特定の値を減算したデータを入力
し、上記演算処理を行った後その演算出力に上記特定の
値を加算して出力データを得るようにしたことを特徴と
するディジタル演算回路である。
は、ディジタルデータの演算処理の過程で丸め演算を伴
うディジタル演算回路において、上記演算処理を行うた
めの入力データから特定の値を減算したデータを入力
し、上記演算処理を行った後その演算出力に上記特定の
値を加算して出力データを得るようにしたことを特徴と
するディジタル演算回路である。
【0040】本発明による第2の手段は、ディジタルデ
ータの演算処理の過程で丸め演算を伴うディジタル演算
回路において、上記演算処理を行うための入力データか
らそのDC成分を減算したデータを入力し、上記演算処
理を行った後その演算出力に上記DC成分を加算して出
力データを得るようにしたことを特徴とするディジタル
演算回路である。
ータの演算処理の過程で丸め演算を伴うディジタル演算
回路において、上記演算処理を行うための入力データか
らそのDC成分を減算したデータを入力し、上記演算処
理を行った後その演算出力に上記DC成分を加算して出
力データを得るようにしたことを特徴とするディジタル
演算回路である。
【0041】本発明による第3の手段は、ディジタルデ
ータの演算処理の過程で丸め演算を伴うディジタル演算
回路において、上記演算処理を行うための入力データか
らそのDC成分の上位ビットを減算したデータを入力
し、上記演算処理を行った後その演算出力に上記上位ビ
ットを加算して出力データを得るようにしたことを特徴
とするディジタル演算回路である。
ータの演算処理の過程で丸め演算を伴うディジタル演算
回路において、上記演算処理を行うための入力データか
らそのDC成分の上位ビットを減算したデータを入力
し、上記演算処理を行った後その演算出力に上記上位ビ
ットを加算して出力データを得るようにしたことを特徴
とするディジタル演算回路である。
【0042】本発明による第4の手段は、ディジタルデ
ータの演算処理の過程で丸め演算を伴うディジタル演算
回路において、上記演算処理を行うための入力データか
らその平均値を減算したデータを入力し、上記演算処理
を行った後その演算出力に上記平均値を加算して出力デ
ータを得るようにしたことを特徴とするディジタル演算
回路である。
ータの演算処理の過程で丸め演算を伴うディジタル演算
回路において、上記演算処理を行うための入力データか
らその平均値を減算したデータを入力し、上記演算処理
を行った後その演算出力に上記平均値を加算して出力デ
ータを得るようにしたことを特徴とするディジタル演算
回路である。
【0043】
【作用】これによれば、演算回路の出力の値を正負均等
に出来、従来の欠点であった演算誤差が正の方向、ある
いは負の方向に偏るということをなくすことができる。
に出来、従来の欠点であった演算誤差が正の方向、ある
いは負の方向に偏るということをなくすことができる。
【0044】
【実施例】従来例と同様に2次元4×4IDCT演算回
路の場合について述べる。即ち、本発明を2次元4×4
IDCT演算回路に適用した場合を図1に示す。
路の場合について述べる。即ち、本発明を2次元4×4
IDCT演算回路に適用した場合を図1に示す。
【0045】この図1において、入力データである2次
元周波数空間上の4×4データの内、DC成分のみを入
力段のセレクタ6を介してバイパスさせる。他の成分
(AC成分)は、第1の4次内積演算回路1に入力す
る。
元周波数空間上の4×4データの内、DC成分のみを入
力段のセレクタ6を介してバイパスさせる。他の成分
(AC成分)は、第1の4次内積演算回路1に入力す
る。
【0046】第1の4次内積演算回路1、第1の丸め回
路4、並べ換え回路3、第2の4次内積演算回路2、第
2の丸め回路5については、従来の例(図11)と全く
同じなので、説明は省略する。
路4、並べ換え回路3、第2の4次内積演算回路2、第
2の丸め回路5については、従来の例(図11)と全く
同じなので、説明は省略する。
【0047】但し、この回路(第1の4次内積演算回路
1、第1の丸め回路4、並べ換え回路3、第2の4次内
積演算回路2、第2の丸め回路5)の出力であるH2の
値は、入力としてDC成分がない(実際にはDC成分と
して0を入力している)為、統計的にみて正負均等にな
る。
1、第1の丸め回路4、並べ換え回路3、第2の4次内
積演算回路2、第2の丸め回路5)の出力であるH2の
値は、入力としてDC成分がない(実際にはDC成分と
して0を入力している)為、統計的にみて正負均等にな
る。
【0048】従って、誤差に偏りのない値(H2)に、
DC成分を加算して、最終的な出力結果を得るようにす
れば、最終的な出力結果の誤差には偏りがなくなる。
DC成分を加算して、最終的な出力結果を得るようにす
れば、最終的な出力結果の誤差には偏りがなくなる。
【0049】上述の加算は、図1の最終段にある加算器
7で行われる。この加算は、整数(DC成分)と整数
(H2)との加算であり、出力も整数である。
7で行われる。この加算は、整数(DC成分)と整数
(H2)との加算であり、出力も整数である。
【0050】また、DC成分のみバイパスさせるので、
AC成分のみから計算された結果(H2)との時間的な
違いが生じて、最終段にある加算器でタイミング良く計
算できない事がありうるが、このときは、DC成分をバ
イパスさせるバイパス線にディレイ回路(図示せず)を
付加して、タイミングを合わせれば良い。
AC成分のみから計算された結果(H2)との時間的な
違いが生じて、最終段にある加算器でタイミング良く計
算できない事がありうるが、このときは、DC成分をバ
イパスさせるバイパス線にディレイ回路(図示せず)を
付加して、タイミングを合わせれば良い。
【0051】上述の説明では、図1に入力するデータ
(2次元周波数空間上の4×4データ)として整数を
そして出力として(小数点以下を丸めて)整数(0〜2
55)とする場合について述べたが、入力するデータ
(2次元周波数空間上の4×4データ)として整数をそ
して出力として(整数部下位2ビット以下を丸めて)4
の倍数(0、4、8、12、16、...、248、2
52)とする場合は、バイパスさせるデータとして、D
C成分(整数)の下位2ビットを除く上位ビットとし、
DC成分(整数)の下位2ビットは、他のAC成分と同
様に第1の内積演算回路1に入力する。
(2次元周波数空間上の4×4データ)として整数を
そして出力として(小数点以下を丸めて)整数(0〜2
55)とする場合について述べたが、入力するデータ
(2次元周波数空間上の4×4データ)として整数をそ
して出力として(整数部下位2ビット以下を丸めて)4
の倍数(0、4、8、12、16、...、248、2
52)とする場合は、バイパスさせるデータとして、D
C成分(整数)の下位2ビットを除く上位ビットとし、
DC成分(整数)の下位2ビットは、他のAC成分と同
様に第1の内積演算回路1に入力する。
【0052】H2は第2の丸め回路5により、整数部下
位2ビット以下を丸めて4の倍数とされる。これによ
り、H2は、正確には統計的に見て正負均等にはならな
い。なぜなら、DC成分として、第1の4次内積演算回
路1、第1の丸め回路4、並べ換え回路3、第2の4次
内積演算回路2、第2の丸め回路5の回路に、2ビット
の正のデータ(0〜3)を入力しているため、統計的に
見てH2は正の方向に0〜3程度ずれている。
位2ビット以下を丸めて4の倍数とされる。これによ
り、H2は、正確には統計的に見て正負均等にはならな
い。なぜなら、DC成分として、第1の4次内積演算回
路1、第1の丸め回路4、並べ換え回路3、第2の4次
内積演算回路2、第2の丸め回路5の回路に、2ビット
の正のデータ(0〜3)を入力しているため、統計的に
見てH2は正の方向に0〜3程度ずれている。
【0053】しかし、今、出力として0〜255程度の
値を考えており、0〜3程度の値は無視出来るほど小さ
いので、H2はほぼ統計的に見て正負均等であるといえ
る。従って、2回の丸めによって得られるH2は、その
値が正負均等であるから、誤差が正の方向にずれること
はない。
値を考えており、0〜3程度の値は無視出来るほど小さ
いので、H2はほぼ統計的に見て正負均等であるといえ
る。従って、2回の丸めによって得られるH2は、その
値が正負均等であるから、誤差が正の方向にずれること
はない。
【0054】このH2(4の倍数)と、DC成分の下位
2ビットを除く上位ビット(即ち4の倍数)との加算を
最終段の加算器7で計算し、出力として4の倍数の画像
データを得る。
2ビットを除く上位ビット(即ち4の倍数)との加算を
最終段の加算器7で計算し、出力として4の倍数の画像
データを得る。
【0055】図1において、DC成分(整数)を、下位
2ビットを除く上位ビット(即ち、下位2ビットを切り
捨てた値)と、下位2ビットとに分け、下位2ビットを
除く上位ビット(即ち、下位2ビットを切り捨てた値)
をバイパスしていたが、DC成分(整数)を、下位2ビ
ットを丸めた値と、DC成分からDC成分の下位2ビッ
トを丸めた値を引いた値(−2、−1、0、1)とに分
け、DC成分の下位2ビットを丸めた値をバイパスし、
DC成分からDC成分の下位2ビットを丸めた値を引い
た値(−2、−1、0、1)を、第1の4次内積演算回
路1、第1の丸め回路4、並べ換え回路3、第2の4次
内積積演算回路2、第2の丸め回路5の回路に入力して
も良い。
2ビットを除く上位ビット(即ち、下位2ビットを切り
捨てた値)と、下位2ビットとに分け、下位2ビットを
除く上位ビット(即ち、下位2ビットを切り捨てた値)
をバイパスしていたが、DC成分(整数)を、下位2ビ
ットを丸めた値と、DC成分からDC成分の下位2ビッ
トを丸めた値を引いた値(−2、−1、0、1)とに分
け、DC成分の下位2ビットを丸めた値をバイパスし、
DC成分からDC成分の下位2ビットを丸めた値を引い
た値(−2、−1、0、1)を、第1の4次内積演算回
路1、第1の丸め回路4、並べ換え回路3、第2の4次
内積積演算回路2、第2の丸め回路5の回路に入力して
も良い。
【0056】これにより、第1の4次内積演算回路1、
第1の丸め回路4、並べ換え回路3、第2の4次内積積
演算回路2、第2の丸め回路5の回路に入力されるDC
成分の値は、−2、−1、0、1のいずれかであり、平
均としてほぼ0である。故に、H2は統計的に見てさら
に正負均等に近づく。従って、さらに誤差がずれにくく
なる。
第1の丸め回路4、並べ換え回路3、第2の4次内積積
演算回路2、第2の丸め回路5の回路に入力されるDC
成分の値は、−2、−1、0、1のいずれかであり、平
均としてほぼ0である。故に、H2は統計的に見てさら
に正負均等に近づく。従って、さらに誤差がずれにくく
なる。
【0057】こうして上述の装置によれば、演算回路の
出力の値を正負均等に出来、従来の欠点であった演算誤
差が正の方向、あるいは負の方向に偏るということをな
くすことができるものである。
出力の値を正負均等に出来、従来の欠点であった演算誤
差が正の方向、あるいは負の方向に偏るということをな
くすことができるものである。
【0058】本願発明者は、既に8×8IDCTの計算
を行列分解することにより 簡単な回路構成で8×8I
DCTを計算できる回路を発明(特願平4−35149
号)しているが、この回路においても本発明は適用でき
る。
を行列分解することにより 簡単な回路構成で8×8I
DCTを計算できる回路を発明(特願平4−35149
号)しているが、この回路においても本発明は適用でき
る。
【0059】即ち図2は先に提案した回路である。この
図において、DC成分及びAC成分からなる入力データ
から、第1の並べ換え回路21、係数無理数の第1の4
次内積演算回路22、第1の丸め回路23、係数(0,
±1)の8次内積演算回路24、第2の丸め回路25、
第2の並べ換え回路26、係数±1の第2の4次内積演
算回路27、第3の丸め回路28、第3の並べ換え回路
29の回路を通じて出力データが取り出される。
図において、DC成分及びAC成分からなる入力データ
から、第1の並べ換え回路21、係数無理数の第1の4
次内積演算回路22、第1の丸め回路23、係数(0,
±1)の8次内積演算回路24、第2の丸め回路25、
第2の並べ換え回路26、係数±1の第2の4次内積演
算回路27、第3の丸め回路28、第3の並べ換え回路
29の回路を通じて出力データが取り出される。
【0060】この回路に対して、図3に示すように、入
力データをDC成分とAC成分とに分離し、AC成分は
上述の回路を通すと共に、出力側の加算器30で演算出
力に分離されたDC成分を加算する。このようにして本
発明は適用できる。5の構成である。
力データをDC成分とAC成分とに分離し、AC成分は
上述の回路を通すと共に、出力側の加算器30で演算出
力に分離されたDC成分を加算する。このようにして本
発明は適用できる。5の構成である。
【0061】さらに、本願発明者は、図4に示すように
4×4IDCTの回路構成についてもIDCTの計算を
行列分解することにより簡単な回路構成で計算できる回
路を発明しているが、この回路においても図5に示すよ
うに本発明は適用できる。
4×4IDCTの回路構成についてもIDCTの計算を
行列分解することにより簡単な回路構成で計算できる回
路を発明しているが、この回路においても図5に示すよ
うに本発明は適用できる。
【0062】また、本願発明者は、図6に示すように4
×8IDCTの回路構成についてもIDCTの計算を行
列分解することにより簡単な回路構成で計算できる回路
を発明しているが、この回路においても図7に示すよう
に本発明は適用できる。
×8IDCTの回路構成についてもIDCTの計算を行
列分解することにより簡単な回路構成で計算できる回路
を発明しているが、この回路においても図7に示すよう
に本発明は適用できる。
【0063】このように、IDCTや逆フーリエ変換で
は、DC成分が入力データとしてあり、このDC成分を
除く成分(AC成分)をIDCT演算回路、逆フーリエ
変換演算回路に入力し、その演算回路から得られた結果
(統計的に見て正負均等に表れる)にDC成分を後から
加える。これにより、正もしくは負の方向に誤差がずれ
ることはない。
は、DC成分が入力データとしてあり、このDC成分を
除く成分(AC成分)をIDCT演算回路、逆フーリエ
変換演算回路に入力し、その演算回路から得られた結果
(統計的に見て正負均等に表れる)にDC成分を後から
加える。これにより、正もしくは負の方向に誤差がずれ
ることはない。
【0064】すなわち図8に示すように、DC成分及び
AC成分からなる入力データから、第1の演算回路8
1、第1の丸め回路82、第2の演算回路83、第2の
丸め回路84を通じて出力データが取り出される回路に
おいて、入力データをDC成分とAC成分とに分離し、
AC成分は上述の回路を通すと共に、出力側の加算器8
5で演算出力に分離されたDC成分を加算する。このよ
うにして本発明は適用できる。
AC成分からなる入力データから、第1の演算回路8
1、第1の丸め回路82、第2の演算回路83、第2の
丸め回路84を通じて出力データが取り出される回路に
おいて、入力データをDC成分とAC成分とに分離し、
AC成分は上述の回路を通すと共に、出力側の加算器8
5で演算出力に分離されたDC成分を加算する。このよ
うにして本発明は適用できる。
【0065】しかし、例えば図9に示すように画像デー
タ(0〜255)に2次元ローパスフィルタをかけて、
低域成分のみの画像データを得るときなどは、DC成分
がいくらであるか分からない。この時は、図中に示すよ
うにDC成分の代わりに、0〜255の平均値(12
8)をDC成分とみなして、計算すればよい。
タ(0〜255)に2次元ローパスフィルタをかけて、
低域成分のみの画像データを得るときなどは、DC成分
がいくらであるか分からない。この時は、図中に示すよ
うにDC成分の代わりに、0〜255の平均値(12
8)をDC成分とみなして、計算すればよい。
【0066】
【発明の効果】この発明によれば、演算回路の出力の値
を正負均等に出来、従来の欠点であった演算誤差が正の
方向、あるいは負の方向に偏るということをなくすこと
ができるようになった。
を正負均等に出来、従来の欠点であった演算誤差が正の
方向、あるいは負の方向に偏るということをなくすこと
ができるようになった。
【図1】本発明によるディジタル演算回路の一例の構成
図である。
図である。
【図2】その説明のための図である。
【図3】その説明のための図である。
【図4】その説明のための図である。
【図5】その説明のための図である。
【図6】その説明のための図である。
【図7】その説明のための図である。
【図8】本発明の概念を示す図である。
【図9】本発明をローパスフィルタに適用した場合の構
成図である。
成図である。
【図10】従来のディジタル演算回路の構成図である。
【図11】従来のディジタル演算回路の構成図である。
1 第1の4次内積演算回路 2 第2の4次内積演算回路 3 並べ換え回路 4 第1の丸め回路 5 第2の丸め回路 6 セレクタ 7 加算器
Claims (4)
- 【請求項1】 ディジタルデータの演算処理の過程で丸
め演算を伴うディジタル演算回路において、 上記演算処理を行うための入力データから特定の値を減
算したデータを入力し、上記演算処理を行った後その演
算出力に上記特定の値を加算して出力データを得るよう
にしたことを特徴とするディジタル演算回路。 - 【請求項2】 ディジタルデータの演算処理の過程で丸
め演算を伴うディジタル演算回路において、 上記演算処理を行うための入力データからそのDC成分
を減算したデータを入力し、上記演算処理を行った後そ
の演算出力に上記DC成分を加算して出力データを得る
ようにしたことを特徴とするディジタル演算回路。 - 【請求項3】 ディジタルデータの演算処理の過程で丸
め演算を伴うディジタル演算回路において、 上記演算処理を行うための入力データからそのDC成分
の上位ビットを減算したデータを入力し、上記演算処理
を行った後その演算出力に上記上位ビットを加算して出
力データを得るようにしたことを特徴とするディジタル
演算回路。 - 【請求項4】 ディジタルデータの演算処理の過程で丸
め演算を伴うディジタル演算回路において、 上記演算処理を行うための入力データからその平均値を
減算したデータを入力し、上記演算処理を行った後その
演算出力に上記平均値を加算して出力データを得るよう
にしたことを特徴とするディジタル演算回路。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4234640A JPH0683586A (ja) | 1992-09-02 | 1992-09-02 | ディジタル演算回路 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4234640A JPH0683586A (ja) | 1992-09-02 | 1992-09-02 | ディジタル演算回路 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0683586A true JPH0683586A (ja) | 1994-03-25 |
Family
ID=16974199
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4234640A Pending JPH0683586A (ja) | 1992-09-02 | 1992-09-02 | ディジタル演算回路 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0683586A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5964824A (en) * | 1996-02-02 | 1999-10-12 | Nec Coporation | Two-dimensional IDCT circuit with input adder out output shifter for reducing addition operations during rounding-up |
-
1992
- 1992-09-02 JP JP4234640A patent/JPH0683586A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5964824A (en) * | 1996-02-02 | 1999-10-12 | Nec Coporation | Two-dimensional IDCT circuit with input adder out output shifter for reducing addition operations during rounding-up |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH076161A (ja) | 周波数から時間領域への変換方法及び装置 | |
| JPH02501601A (ja) | 2次元離散余弦変換プロセッサ | |
| US8924452B2 (en) | Fixed-coefficient variable prime length recursive discrete Fourier transform system | |
| US6304133B1 (en) | Moving average filter | |
| JPH04205026A (ja) | 除算回路 | |
| JPH09325955A (ja) | 二乗和の平方根演算回路 | |
| US6298368B1 (en) | Method and apparatus for efficient calculation of an approximate square of a fixed-precision number | |
| CN111630509B (zh) | 执行积和运算的运算电路 | |
| KR100402799B1 (ko) | 오차를 최소화할 수 있는 제곱근기 | |
| JP3185211B2 (ja) | 行列データ乗算装置 | |
| Chan et al. | Generalized approach for the realization of discrete cosine transform using cyclic convolutions | |
| JPH03661B2 (ja) | ||
| JPH10509011A (ja) | 改良されたディジタルフィルタ | |
| JP2869668B2 (ja) | ディジタルデータの離散フーリエ又はコサイン変換装置 | |
| JPH0981541A (ja) | 累算器 | |
| JPH0654307A (ja) | データ圧縮装置 | |
| JP2529229B2 (ja) | コサイン変換装置 | |
| JPH0644291A (ja) | 離散コサイン変換器及び情報符号化器 | |
| JP3046115B2 (ja) | 離散コサイン変換器 | |
| Pitchika et al. | Fast Base Extension using Single Redundant Modulus in a Residue Number System | |
| JP3652717B2 (ja) | 離散コサイン高速演算器 | |
| JPH05225224A (ja) | 離散コサイン変換器 | |
| JPS5833754A (ja) | デイジタル乗算回路 | |
| JP3225614B2 (ja) | データ圧縮装置 | |
| JPH0828646B2 (ja) | ディジタルフィルタ |