(57)【要約】【課題】入力されるデジタル信号からビット数を減らした演算処理を行っても、元のデータの滑らかさや周波数特性が損なわれないようにする。【解決手段】連続的な関係を持つデジタル信号Ｘｎが順次入力され、各デジタル信号に対して所定の演算を行い、その演算結果を出力する信号処理装置１０であって、入力されたデジタル信号Ｘｎに対して所定の演算を行い、得られた演算結果を四捨五入し、出力に必要な上位部のみを抽出する上位部抽出手段（上位ビットレジスター１３及び上位ビット加算器１５）と、得られた演算結果と前記上位部抽出手段により抽出された上位部との差を算出する差算出手段（下位ビットレジスター１４及び下位ビット加算器１６）と、前記差算出手段で算出された値を次のデジタル信号に対して加算する帰還手段（端数処理レジスター１８から入力用加算器１２への入力）とを備える。【選択図】        図１
2004266715.tif 000002
【特許請求の範囲】
【請求項１】
連続的な関係を持つデジタル信号が順次入力され、各デジタル信号に対して所定の演算を行い、その演算結果を出力する信号処理装置であって、
入力されたデジタル信号に対して所定の演算を行う演算手段と、
前記演算手段により得られた演算結果を四捨五入し、出力に必要な上位部のみを抽出する上位部抽出手段と、
前記演算手段により得られた演算結果と、前記上位部抽出手段により抽出された上位部との差を算出する差算出手段と、
前記差算出手段で算出された値そのもの、又は前記差算出手段で算出された値に所定の演算を行った演算値を、次のデジタル信号に対して加算する帰還手段と
を備えることを特徴とする信号処理装置。
【請求項２】
請求項１に記載の信号処理装置において、
連続的な関係を持つ第１デジタル信号群が順次入力された後、次の連続的な関係を持つ第２デジタル信号群が順次入力されるときに、前記第１デジタル信号群の最後のデジタル信号の処理によって前記差算出手段で算出された値そのもの又は前記差算出手段で算出された値に所定の演算を行った演算値であって前記帰還手段により前記第２デジタル信号群の最初のデジタル信号に加算すべき値を、リセットするか、又は特定値が加算されるように制御する
ことを特徴とする信号処理装置。
【請求項３】
請求項１に記載の信号処理装置において、
前記帰還手段は、前記差算出手段で算出された値に１未満の値を乗じて得た値を、次のデジタル信号に対して加算する
ことを特徴とする信号処理装置。
【請求項４】
請求項１に記載の信号処理装置において、
オーバーサンプリングによって取得したデジタル信号を前記演算手段に入力する
ことを特徴とする信号処理装置。
【請求項５】
連続的な関係を持つデジタル信号が順次入力され、各デジタル信号に対して所定の演算を行い、その演算結果を出力するために信号処理装置を機能させるための信号処理装置用プログラムであって、
前記信号処理装置を
入力されたデジタル信号に対して所定の演算を行う演算手段、
前記演算手段により得られた演算結果を四捨五入し、出力に必要な上位部のみを抽出する上位部抽出手段、
前記演算手段により得られた演算結果と、前記上位部抽出手段により抽出された上位部との差を算出する差算出手段、
前記差算出手段で算出された値そのもの、又は前記差算出手段で算出された値に所定の演算を行った演算値を、次のデジタル信号に対して加算する帰還手段
として機能させる
ことを特徴とする信号処理装置用プログラム。
【請求項６】
請求項５に記載の信号処理装置用プログラムにおいて、
前記信号処理装置を
連続的な関係を持つ第１デジタル信号群が順次入力された後、次の連続的な関係を持つ第２デジタル信号群が順次入力されるときに、前記第１デジタル信号群の最後のデジタル信号の処理によって前記差算出手段で算出された値そのもの又は前記差算出手段で算出された値に所定の演算を行った演算値であって前記帰還手段により前記第２デジタル信号群の最初のデジタル信号に加算すべき値を、リセットするか、又は特定値が加算されるように制御する手段
として機能させる
ことを特徴とする信号処理装置用プログラム。
【請求項７】
請求項５に記載の信号処理装置用プログラムにおいて、
前記信号処理装置を
前記帰還手段が、前記差算出手段で算出された値に１未満の値を乗じて得た値を、次のデジタル信号に対して加算する手段
として機能させる
ことを特徴とする信号処理装置用プログラム。
【請求項８】
請求項５に記載の信号処理装置用プログラムにおいて、
前記信号処理装置を
オーバーサンプリングによって取得したデジタル信号を前記演算手段に入力する手段
として機能させる
ことを特徴とする信号処理装置用プログラム。
【請求項９】
連続的な関係を持つデジタル信号が順次入力され、各デジタル信号に対して所定の演算を行い、その演算結果を出力するために信号処理装置を機能させるプログラムを記録した信号処理装置で読み取り可能な、信号処理装置用プログラムを記録した記録媒体であって、
前記信号処理装置を
入力されたデジタル信号に対して所定の演算を行う演算手段、
前記演算手段により得られた演算結果を四捨五入し、出力に必要な上位部のみを抽出する上位部抽出手段、
前記演算手段により得られた演算結果と、前記上位部抽出手段により抽出された上位部との差を算出する差算出手段、
前記差算出手段で算出された値そのもの、又は前記差算出手段で算出された値に所定の演算を行った演算値を、次のデジタル信号に対して加算する帰還手段
として機能させるためのプログラムを記録した
ことを特徴とする信号処理装置用プログラムを記録した記録媒体。
【請求項１０】
請求項９に記載の信号処理装置用プログラムを記録した記録媒体において、
前記信号処理装置を
連続的な関係を持つ第１デジタル信号群が順次入力された後、次の連続的な関係を持つ第２デジタル信号群が順次入力されるときに、前記第１デジタル信号群の最後のデジタル信号の処理によって前記差算出手段で算出された値そのもの又は前記差算出手段で算出された値に所定の演算を行った演算値であって前記帰還手段により前記第２デジタル信号群の最初のデジタル信号に加算すべき値を、リセットするか、又は特定値が加算されるように制御する手段
として機能させるためのプログラムを記録した
ことを特徴とする信号処理装置用プログラムを記録した記録媒体。
【請求項１１】
請求項９に記載の信号処理装置用プログラムを記録した記録媒体において、
前記信号処理装置を
前記帰還手段が、前記差算出手段で算出された値に１未満の値を乗じて得た値を、次のデジタル信号に対して加算する手段
として機能させるためのプログラムを記録した
ことを特徴とする信号処理装置用プログラムを記録した記録媒体。
【請求項１２】
請求項９に記載の信号処理装置用プログラムを記録した記録媒体において、
前記信号処理装置を
オーバーサンプリングによって取得したデジタル信号を前記演算手段に入力する手段
として機能させるためのプログラムを記録した
ことを特徴とする信号処理装置用プログラムを記録した記録媒体。
【請求項１３】
連続的な関係を持つデジタル信号が順次入力され、各デジタル信号に対して所定の演算を行い、その演算結果を出力するために信号処理装置を機能させる信号処理方法であって、
入力されたデジタル信号に対して所定の演算を行う演算ステップ、
前記演算ステップにより得られた演算結果を四捨五入し、出力に必要な上位部のみを抽出する上位部抽出ステップ、
前記演算ステップにより得られた演算結果と、前記上位部抽出ステップにより抽出された上位部との差を算出する差算出ステップ、
前記差算出ステップで算出された値そのもの、又は前記差算出ステップで算出された値に所定の演算を行った演算値を、次のデジタル信号に対して加算する帰還ステップ
を含むことを特徴とする信号処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば画像情報や音声情報のような連続信号をデジタル変換によって別の情報にフィルターをかけたり、レベルを可変等することで、変換するときに用いられる信号処理装置、信用処理装置用プログラム、信号処理装置用プログラムを記録した記録媒体、及び信号処理方法に関するものである。
【０００２】
【従来の技術】
従来のこの種の信号処理装置において、例えば入力データに対して所定の演算を行い、その演算結果を出力する場合に、演算結果（出力データ）が入力データのビット長よりも長くなるようなときは、演算結果を入力データのビット長に合わせるための処理が必要となる。
【０００３】
図６は、このような処理方法を説明するための図である。図６において、Ｐｎは、デジタル化された入力データであり、Ｑｎは、Ｐｎを制御するためのデータであり、一般には１以下の値である。そして、これらのＰｎとＱｎとを乗算器１に入力し、出力Ｘｎ（＝Ｐｎ×Ｑｎ）を得る。ここで、Ｘｎは、一般に、入力データであるＰｎのビット数と、Ｑｎのビット数との和のビット数となる。
【０００４】
そして、このような出力値Ｘｎでは、入力データＰｎとビット数が異なってしまうので、元のＰｎのビット数に変換する必要がある。
このため、Ｘｎをさらに閾値処理器２に入力して、Ｘｎのビット長の短縮化処理を行う。これにより、所定のビット長にされた出力データＹｎを得るようにする。なお、出力データＹｎは、必ずしも入力データＰｎと同一のビット長とは限らない。
【０００５】
以上のような閾値処理において、一般に、（１）切り捨て、（２）切り上げ、又は（３）四捨五入、等が知られている。
図７は、入力値Ｘに対し、演算値Ｙ＝０．０２Ｘ＋１であるとき、演算値Ｙの整数部のみが出力値として求められる場合に、小数点以下の切り捨てと、四捨五入による結果をグラフにして示す図である（なお、図７では、切り上げの例は省略している）。
【０００６】
例えば、四捨五入の場合には、入力値Ｘが２５未満までは、演算値Ｙの整数部は、１であるが、入力値Ｘが２５のときに、その値が２になることを図示している。なお、図７より明らかであるが、四捨五入や切り捨ての場合には、演算値Ｙの整数部の変化は、ステップ状にしか生じない（滑らかでない）。
【０００７】
【発明が解決しようとする課題】
しかし、前述の従来の技術において、（１）切り捨て、（２）切り上げ、又は（３）四捨五入のいずれの方法であっても、大なり小なりの誤差が生じてしまう。例えば四捨五入では、長い間の平均値を見れば、誤差は０であるのに対して、切り捨てでは、各演算段階で平均して、０．５の誤差が出る。また、四捨五入にしても、平均化しないで考えると、変化点付近では最大の誤差となる。そして、前述の例のように、入力値Ｘが単純な直線の場合には、入力値Ｘの変化につれて誤差は増減を繰り返すが、入力値Ｘが変化点付近に集中する場合や、入力値Ｘに対して変化率が遅い場合には、演算値Ｙは、長い間、大きな誤差を伴ったまま変化しない状態が続いてしまう場合があるという問題がある。
【０００８】
また、入力データと出力データとのビット数の差が大きい場合には、出力データの蓄積値と入力データの蓄積値とでは、かなりの累積誤差となってしまう。このように累積誤差が問題になるような場合には、信号処理のビット数を大きくとり、誤差が少なくなるようにし、累積誤差によって特定方向に出力データが偏らないような工夫がなされる。
【０００９】
なお、誤差が問題となるかどうかは、出力データの使用目的やビット数にもよるが、通常は、最終的に要求される誤差の程度に対して十分に許容できる範囲に誤差が収まるようなビット数が選定されるので、誤差は問題とならない。
すなわち、処理ビット数を増加させたり、メモリー容量を増加させたりすることで、誤差が問題にならない程度にすることが可能である。
【００１０】
しかし、ビット数を増加させて対応できないもの（少ないビット数で対応しなければならないもの）も存在するのが実情である。例えば、ＯＮ／ＯＦＦでしか対応できないものや、本来は連続制御を行いたいがＯＮ／ＯＦＦで対応した方がエネルギー効率等の点で有利になる場合が挙げられる。
【００１１】
また、デジタルオーディオにおけるレベル調整、デジタル画像におけるコントラスト変更等、元々固定のビット数を割り当てられていた信号で、動作範囲を狭められた場合には、その信号振幅に対して与えられるビット数は少なくなるので、信号に対する相対誤差はレベルが小さくなればなるほど増大してしまう。
【００１２】
さらにまた、サーマル方式のインクジェットプリンタにおける信号処理においては、インク液滴を一定量しか吐出することができないので、記録媒体上に対し、インク液滴を吐出する／しないかの２値制御となる。このような点画で中間階調を得る場合には、面積変調によるのが一般的であるが、誤差拡散やディザー法等の従来の技術では、満足な階調特性を得るためには、演算量が増えてしまうという問題がある。このために、回路規模が大きくなる、又はソフトウェア処理時の速度が遅くなるという問題があった。
【００１３】
したがって、本発明が解決しようとする課題は、入力されるデジタル信号からビット数を減らした演算処理を行っても、元のデータの滑らかさや周波数特性が損なわれないようにすることである。
【００１４】
【課題を解決するための手段】
本発明は、以下の解決手段によって、上述の課題を解決する。
本発明の１つである請求項１の発明は、連続的な関係を持つデジタル信号が順次入力され、各デジタル信号に対して所定の演算を行い、その演算結果を出力する信号処理装置であって、入力されたデジタル信号に対して所定の演算を行う演算手段と、前記演算手段により得られた演算結果を四捨五入し、出力に必要な上位部のみを抽出する上位部抽出手段と、前記演算手段により得られた演算結果と、前記上位部抽出手段により抽出された上位部との差を算出する差算出手段と、前記差算出手段で算出された値そのもの、又は前記差算出手段で算出された値に所定の演算を行った演算値を、次のデジタル信号に対して加算する帰還手段とを備えることを特徴とする。
【００１５】
（作用）
上記発明においては、四捨五入によって発生した誤差は、差算出手段によって算出され、その算出された値、又はその算出された値に所定の演算を行った演算値が、帰還手段によって次のデジタル信号に対して加算される。
したがって、演算によって発生した誤差が、順次、次のデジタル信号に加算され、誤差が累積しないようになる。
【００１６】
【発明の実施の形態】
以下、図面等を参照して、本発明の一実施形態について説明する。
（第１実施形態）
図１は、本発明による信号処理装置の第１実施形態を示すブロック図である。なお、図１に示した信号処理装置１０は、ハードウェアによる実現（例えば、信号処理回路）を想定したものであるが、ソフトウェアにより実現することも可能である。また、図１に示す全てのレジスター１１等は、同一のクロック信号に同期して動作するように形成されている。
【００１７】
なお、本実施形態では、以下に説明するように、従来技術で示したものと同様に、
Ｙ＝０．０２Ｘ＋１
の演算を行い（本発明における演算手段に相当する処理）、その演算結果中、整数部のみを出力に必要な上位部として抽出し（本発明における上位部抽出手段に相当する処理）、小数部を誤差として取り扱う。
【００１８】
図１において、入力レジスター１１は、Ｎビットのデジタル信号が入力される部分である。また、この入力レジスター１１に入力されたデジタル信号は、入力用加算器１２に入力される。さらに、入力用加算器１２には、前回の演算で発生した誤差が入力される。そして、入力されたデジタル信号と、入力された誤差とが入力用加算器１２によって加算される。
さらに、その加算結果が、上位ビットレジスター１３と、下位ビットレジスター１４とに出力される。
【００１９】
図１に示すように、入力されたＮビットのデジタル信号Ｘｎのうち、上位ビットレジスター１３に出力されるデジタル信号のビット数をＫビットとしたとき、下位ビットレジスター１４に出力されるビット数は、（Ｎ−Ｋ）ビットとなる。
そして、下位ビットレジスター１４の出力値が、０．５を超えているか否かが判別され、０．５以上であると判別されたときは、１の値を上位ビット加算器１５に入力し、上位ビットの繰り上げ処理を行う。これにより、上位ビットレジスター１３からの出力値に１が加算される。
【００２０】
さらに、１の値を上位ビット加算器１５に入力したときは、その繰り上げに伴う誤差を、下位ビット加算器１６に入力する（本発明における差算出手段に相当する処理）。例えば、下位ビットレジスター１４の出力値が０．７であり、０．５以上であると判別されて１の値が上位ビット加算器１５に入力されたときは、この繰り上げによって発生した誤差は、「−０．３」である。したがって、この「−０．３」の値を下位ビット加算器１６に入力する。
【００２１】
なお、以上のように繰り上げを行ったときは、下位ビットレジスター１４からの出力値をＰとすると、
（１−Ｐ）×（−１）
の値を下位ビット加算器１６に入力することとなる。
【００２２】
これに対し、０．５未満であると判別されたときは、１の値を上位ビット加算器１５に入力することはない。そして、その値（小数部）そのものを、下位ビット加算器１６に入力する（上述と同様に、本発明における差算出手段に相当する処理）。
以上より、抽出された整数部に対して四捨五入が行われる。
【００２３】
また、上位ビット加算器１５からの出力値は、出力レジスター１７にＫビットの値として送られ、そのデータＹｎが出力される。
一方、下位ビット加算器１６からの出力値は、端数処理レジスター１８に入力され、その端数のビット数（桁数）をそろえる処置が行われる。そして、この処理後の値が、入力用加算器１２に入力されることにより、誤差が帰還される（本発明における帰還手段に相当する処理）。
【００２４】
以上の処理について、さらに詳しく説明する。
先ず、入力される連続した値が、｛Ｘ１、Ｘ２、Ｘ３、・・｝で表される実数の数列とする。
各実数Ｘ１、Ｘ２、・・は、それぞれ、整数部Ａと小数部Ｂとからなり、
Ｘｎ＝Ａｎ＋Ｂｎ
の形で与えられるものとする。
【００２５】
そして、四捨五入して整数部のみを抽出した出力値をＹｎとしたとき、
Ｘ１＝Ａ１＋Ｂ１
に対して、
2004266715.tif 000003
（ここで、［Ｘｎ］は、Ｘｎを適当な位で、例えば小数部を四捨五入する操作を意味する。）
となる。
【００２６】
そして、Ｙ１＝Ａ１であったとき（切り上がらなかったとき）は、
2004266715.tif 000004
となる。
一方、Ｙ１＝Ａ１＋１であったとき（切り上がったとき）は、
2004266715.tif 000005
となる。
【００２７】
以上のようにして、順次、Ｙｎを求めることができる。
そして、本実施形態の場合には、四捨五入して生じた誤差は、次の演算時に処理（加算）されるので、例えばＹ１の算出において切り上げが生じ、
Ｙ１＝Ａ１＋１
となり、Ｙ１の出力が実際の入力Ｘ１より大きくなってしまっても、次のＹ２の算出では、その誤差分だけ減算されるので、Ｙ１＋Ｙ２で考えると、差し引きゼロの誤差となる。
【００２８】
このようにして、演算を続けていき、Ｙ１〜Ｙｎを算出したときの総和（Ｙ１＋Ｙ２＋・・＋Ｙｎ）は、
ＳＵＭ（Ｙｎ）
＝（Ａ１＋１＊  ）＋（Ａ２＋１＊  ）＋（Ａ３＋１＊  ）＋・・＋（Ａｎ＋１＊  ）＋（Ｂ１−１＊  ）＋（Ｂ２−１＊  ）＋（Ｂ３−１＊  ）・・＋（Ｂｎ−１＊  ）
＝Ｘ１＋Ｘ２＋Ｘ３＋・・＋Ｘｎ
（ここで、「１＊  」は、四捨五入で繰り上がったときのみ１となることを意味する。）
となる。
上記の式において、（Ａ１＋１＊  ）〜（Ａｎ＋１＊  ）は、整数部を意味し、（Ｂ１−１＊  ）〜（Ｂｎ−１＊  ）は、小数部を意味する。
【００２９】
上記式において、例えばＡ１の項で１が立ったときは、Ｂ１の項でも１が立つこととなる。
したがって、結果として、Ｙ１〜Ｙｎまでを加算したときは、四捨五入に伴い発生する誤差は、打ち消され、差し引きゼロとなる（すなわち、誤差が累積しないことになる）。
【００３０】
すなわち、Ｙｎ（出力値）の総和は、Ｘｎ（入力値）の総和に等しくなる。
これにより、処理するデータが連続するときには、十分なビット数が確保できれば、誤差は原理的にはないこととなる。
【００３１】
図２は、以上のようにして、
Ｙ＝０．０２Ｘ＋１
の演算を行ったときの結果をグラフにして示す図である。なお、グラフでは、従来技術で示した、単なる四捨五入との差を比較して示している。
図２において、単なる四捨五入の方法では、小数点以下の数値が閾値に達しない限り、出力が変化しない。これに対し、本実施形態の方法では、その都度、四捨五入で生じた端数が次の入力値に加算されるので、変化の頻度が高くなる。そして、その頻度は、入力値と出力値の差、すなわち誤差の量（絶対値）に比例する。また、出力値は、２つの値の間を行き来するので、フィルター等で平均化を行えば、滑らかに値を変化させることができる。
【００３２】
さらにまた、各演算の直近の誤差は、四捨五入の影響を受けて通常の四捨五入時の２倍にも達するが、各変化の幅が狭いので、入力値Ｘの移動平均の誤差は少ないことを意味する。図２中、「５区間移動平均」として示した曲線は、連続する５点の平均値を表したものであるが、この曲線から、誤差の振幅が小さくなっていることが分かる。
【００３３】
このように、本実施形態のような方法を用いれば、最も誤差の大きくなる付近で頻繁に２つの出力値の間を行き来するので、平均的には、その比率での中間値を表わすことができる。さらに、誤差成分を高い周波数に集中させることができるので、簡単な（低次の）ローパスフィルターを通すだけで、高調波成分（誤差）の少ない出力を得ることができるようになる。
【００３４】
次に、端数処理レジスター１８から、入力用加算器１２への誤差入力処理についての他の例を説明する。
上述のように、連続するデジタル信号が順次入力される場合には、その都度、誤差を算出して入力用加算器１２に入力するように制御する。
しかし、例えばＸｎ＝Ａｎ＋Ｂｎの形で与えられる入力値に対して、入力Ｘｎがなくなると、端数Ｂｎも全く発生しなくなってしまう。これにより、次の入力に加算されるべきＢｎがそのまま保存され、次の有効なＸｎが入力されるまで保存される。
【００３５】
ところが、このＢｎは、次の演算とは全く関係のない端数であるので、保存されることに意味がないばかりか、次の入力値Ｘｎによっては、悪影響を及ぼしてしまう場合がある。
すなわち、次に入力されるＸｎの値に誤差が全くない、例えば出力値Ｙｎとほぼ同一値のような場合であっても、前回の演算によって保存されている誤差が例えば０．５を超えているようなときには、異なった結果（Ｘｎ＋１、又はＸｎ−１）が出力されてしまう。
【００３６】
このようなことを避けるためには、一連のデジタル信号（第１デジタル信号群）の演算が終了し、例えば次の入力値Ｘｎがゼロとなったときは、端数処理レジスター１８に記憶されている誤差（次の入力値に加算すべき誤差）をゼロにリセットする方法が挙げられる。
このように制御することで、次の一連のデジタル信号（第２デジタル信号群）Ｘｎが入力されたときは、初期状態を常に同一条件にして演算を開始することができるようになる。
【００３７】
一方、端数処理レジスター１８に記憶されている数値を利用して、次の演算結果に特定の効果をもたらすことができる。
例えば、同期したクロック信号で複数同時の処理を実行するような場合において、出力の変化に一定の関係（例えば同時には変化させることなく、少しずつ、ずらした時刻又は位置で変化させるように制御する）を持たせることができる。
【００３８】
図３は、図２と同様の処理を、２つの処理（処理Ａと処理Ｂ）を同時に行いながら位相を変化させたときの例をグラフにして示す図である。図３において、実線は処理Ａを示し、破線は処理Ｂ（Ａ＋０．５）を示している。
【００３９】
また、図４は、上記の処理を面積変調による点画のような画像処理に応用した例を示す図である。図４では、１から１００まで１ステップずつ変化する数値をデータ入力として閾値１００で２値化し、帰還させた誤差を加算した数値が１００を超えたときにドットを形成するようにしたものである。なお、図４では、図中、矢印方向（上から下方向）を時間軸にとっている。すなわち、一番上が最初の入力値に対応するドットとなる。また、図中、横方向は、独立して５０個の処理を行ったものである。
【００４０】
図４において、左側の図では、初期値（図中、一番上）で、横方向の５０個のデータに対して、１〜１００までの乱数を与えたものである。
これに対し、右側の図では、初期値として、１００以下の６個の数値（１６の倍数である１６、３２、４８、６４、８０、及び９６の値であって、順番を適当に変えたもの）を繰り返し与えたものである。
このように、複数の処理を並設して行う画像処理のような場合には、与える初期値によって初期位相が変化することを利用して、種々の変化を設けることが可能となる。
【００４１】
（第２実施形態）
図５は、本発明による信号処理装置の第２実施形態（信号処理装置１０Ａ）を示すブロック図であり、第１実施形態の図１に対応する図である。
第１実施形態では、端数（誤差）の値そのものを、次の入力される値Ｘｎに加算するようにしたが、第２実施形態では、乗算器２１を追加した例を示している。すなわち、下位ビット加算器１６で処理された端数は、乗算器２１に入力され、本実施形態では、１未満の定数α（１未満の定数であれば、いかなる値でも良いが、例えば０．７５）を端数にかけるようにしている。
【００４２】
これにより、上述したように、例えば長い間、Ｘｎが入力されないような場合には、毎回少しずつ端数が小さくなり、ゼロに収束する（減衰する）ようになる。したがって、長い間、Ｘｎが入力されなくなったときに、次にＸｎが入力されたときは、加算される誤差（端数）が極めて小さい値となっているので、この値を入力値Ｘｎに加算して演算を行ったとしても、初期状態にほぼ等しい状態で演算を行うことができる。
【００４３】
なお、本実施形態では、演算処理に伴う誤差が次々と、次の入力値Ｘｎに加算されるように、すなわち誤差がフィードバックされるようにしているので、演算に伴う誤差成分を、高い周波数に集中させることができる。そして、その効果は、オーバーサンプリング、すなわちナイキスト周波数の２倍を超える周波数でサンプリング（標本化）することで、さらに高い周波数に演算誤差を配置することができる。よって、基底周波数成分をほとんど損なうことなく、低次の出力高調波カットフィルターを用いて高調波を減衰させることができる。
【００４４】
以上の信号処理装置１０、１０Ａは、単に閾値を誤差なく処理することに限らず、多値はもちろんのこと、２値にも応用することができる。それらの例としては、（１）電力制御（照明・温度制御・運動制御）、（２）計測・指示（メーター）、（３）液量制御（インクジェットプリンタ等）、等が挙げられる。
【００４５】
また、本発明の信号処理装置が、誤差拡散による方法と本質的に異なる点について言及する。
誤差拡散による方法では、２次元のデータを処理するために、主として画像処理に用いられるものであるが、本発明は、基本的には連続する一連の１次元のデータを処理するために用いられる。
また、誤差拡散による方法では、誤差の重み付けを行った上で、近隣の複数のデータに加算する（２次元に分散させる）ものである。
【００４６】
これに対し、本発明（請求項１）では、誤差の値そのものを、次の入力に加算するだけである。さらに、本発明では、プリロード等の形で、演算開始時の初期値を任意に設定できるものである。
また、本発明は、誤差拡散のように大きなメモリを必要とせず、演算時間を短縮することができる。
【００４７】
以上、本発明の一実施形態について説明したが、本発明は、上記実施形態に限定されることなく、種々の変形が可能である。
例えば、どこで四捨五入をするかは任意である。また、四捨五入をすることによって上位部のみを抽出するときに、どの部分を上位部とするかについても任意である。上位部及び下位部ともに小数である場合や、整数である場合もある。
【００４８】
なお、上記実施形態においては、図１及び図５に示した内容をハードウェアを用いて実現する場合について説明したが、上述したように、本発明は、ソフトウェアを用いても実現することもできる。すなわち、図１及び図５に示した（無論、本発明は、上記実施形態に限定されるものではない）内容を、信号処理装置用プログラムの形で提供し、信号処理装置で機能させるようにしても、本発明の目的を達成することができる。また、本発明は、信号処理装置を機能させるための信号処理装置用プログラムとして実現可能なのであるから、この信号処理装置用プログラムをＣＤ−ＲＯＭ等の記録媒体に記録して、信号処理装置用プログラムを記録した記録媒体として提供することもできる。
【００４９】
【発明の効果】
本発明によれば、システムを複雑にすることなく、かつ、メモリ容量を増やす等のコストを高くすることなく、信号処理時の演算結果の精度を高めることができるとともに、演算時間の短縮化を図ることができる。
【図面の簡単な説明】
【図１】本発明による信号処理装置の第１実施形態を示すブロック図である。
【図２】演算結果をグラフにして示す図である。
【図３】図２と同様の処理を２つの処理（処理Ａと処理Ｂ）を同時に行いながら位相を変化させたときの例をグラフにして示す図である。
【図４】本実施形態の処理を面積変調による点画のような画像処理に応用した例を示す図である。
【図５】本発明による信号処理装置の第２実施形態を示すブロック図である。
【図６】従来のデータの処理方法を説明するための図である。
【図７】入力値と出力値との関係について、小数点以下の切り捨てと四捨五入とをグラフにして示す図である。
【符号の説明】
１０、１０Ａ  信号処理装置
１１  入力レジスター
１２  入力用加算器
１３  上位ビットレジスター
１４  下位ビットレジスター
１５  上位ビット加算器
１６  下位ビット加算器
１７  出力レジスター
１８  端数処理レジスター
２１  乗算器
【図１】
2004266715.tif 000006
【図２】
2004266715.tif 000007
【図３】
2004266715.tif 000008
【図４】
2004266715.tif 000009
【図５】
2004266715.tif 000010
【図６】
2004266715.tif 000011
【図７】
2004266715.tif 000012