(57)【要約】【課題】ルックアップテーブルを使用することによる演算処理の高速化を実現しながらも、ルックアップテーブルを記憶するために必要なメモリ容量を節約することのできる演算装置を提供する。【解決手段】２ｎ桁（ｎ≧０の整数）の入力データに対する所定の演算結果が設定されたルックアップテーブル２７と、前記入力データに基づいてルックアップテーブル２７をアクセスするアドレス回路２８を備えた演算回路２６であって、アドレス回路２８に、入力データをｎ桁の上位データと下位データに分割し、夫々を大小比較する比較回路２８１と、比較回路２８１による比較結果に基づいて、上位データと下位データを入れ替えてルックアップテーブル２７をアクセスするスイッチ回路２８２を備えている。【選択図】図４
2010102583.tif 000002
【特許請求の範囲】
【請求項１】
２ｎ桁（ｎ≧０の整数）の入力データに対する所定の演算結果が設定されたルックアップテーブルと、前記入力データに基づいて前記ルックアップテーブルをアクセスするアドレス回路を備えた演算回路であって、
前記アドレス回路に、入力データをｎ桁の上位データと下位データに分割し、夫々を大小比較する比較回路と、前記比較回路による比較結果に基づいて、上位データと下位データを入れ替えて前記ルックアップテーブルをアクセスするスイッチ回路を備えた演算回路。
【請求項２】
前記演算回路が、ＲＭＳ演算回路である請求項１記載の演算回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２ｎ桁（ｎ≧０の整数）の入力データに対する所定の演算結果が設定されたルックアップテーブルと、前記入力データに基づいて前記ルックアップテーブルをアクセスするアドレス回路を備えた演算回路に関する。
【背景技術】
【０００２】
情報機器で実行される演算処理、例えば複写機で実行される画像処理は、年々複雑化されている一方で演算処理の高速化が求められている。
【０００３】
演算処理を高速化するために、例えば、演算処理の入力データとしての各変数と当該各変数に対する演算結果とを、ルックアップテーブルで予め登録しておくことで、演算処理のステップ数を減少させることが行われている。
【０００４】
例えば、特許文献１には、平方根を求める演算時間を短くすることを目的として、レジスタから出力される上位ｎ桁信号Ｈの各値と、当該各値に対する１／Ｈ´及び１／（２×Ｈ´）の各値を予め登録したテーブルＲＯＭを備え、当該テーブルＲＯＭを使用することによって上位ｎ桁信号Ｈを１／Ｈ´及び１／（２×Ｈ´）の各値に変換して記憶する平方根演算装置が開示されている。尚、上述において、Ｈ´はＨの平方根である。
【特許文献１】特開平３−７５９２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述のように、演算処理に使用する各変数と各変数に対する演算結果とを、ルックアップテーブルで予め登録し、演算処理に当該ルックアップテーブルを使用した場合、演算処理は高速化されるが、ルックアップテーブルを記憶するために必要なメモリ容量が大きくなるという問題が生じる虞がある。
【０００６】
本発明の目的は、上述の問題点に鑑み、ルックアップテーブルを使用することによる演算処理の高速化を実現しながらも、ルックアップテーブルを記憶するために必要なメモリ容量を節約することのできる演算装置を提供する点にある。
【課題を解決するための手段】
【０００７】
上述の目的を達成するため、本発明による演算回路の第一の特徴構成は、特許請求の範囲の書類の請求項１に記載したとおり、２ｎ桁（ｎ≧０の整数）の入力データに対する所定の演算結果が設定されたルックアップテーブルと、前記入力データに基づいて前記ルックアップテーブルをアクセスするアドレス回路を備えた演算回路であって、前記アドレス回路に、入力データをｎ桁の上位データと下位データに分割し、夫々を大小比較する比較回路と、前記比較回路による比較結果に基づいて、上位データと下位データを入れ替えて前記ルックアップテーブルをアクセスするスイッチ回路を備えた点にある。
【０００８】
各変数（例えば二つの変数Ｘ，Ｙ）に対する所定の演算結果Ｚが設定されたルックアップテーブルは、所定の演算として、一方の値（ａとする。）を変数Ｘに代入し他方の値（ｂとする。）を変数Ｙに代入した場合の演算結果Ｚの値と、他方の値ｂを変数Ｘに代入し一方の値ａを変数Ｙに代入した場合の演算結果Ｚの値とが同じ値となるような演算が採用された場合、図１に例示すように、各変数の値の組み合わせが同じであればＺの値が同じとなるようなテーブルとなる。
【０００９】
具体的に説明すると、図１は、演算結果Ｚとして変数Ｘと変数Ｙの加算値が設定されたルックアップテーブルであるが、この場合、変数Ｘ，Ｙの組み合わせが「２」と「３」であると、演算結果Ｚは、Ｘ＝２且つＹ＝３、及び、Ｘ＝３且つＹ＝２の何れの場合も「５」となる。
【００１０】
上述の構成によれば、ルックアップテーブル（以下、ＬＵＴとも記す。）が、各変数の値の組み合わせが同じであれば演算結果の値が同じとなるようなテーブル、例えば図１に示すテーブルである場合に、スイッチ回路によって、上位データ（図１ではＬＵＴ上で変数Ｘに適用されるとする。）の値が下位データ（図１ではＬＵＴ上で変数Ｙに適用されるとする。）の値より大きい値であると、上位データと下位データが入れ替えられる。つまり、元々ＬＵＴ上で変数Ｘに適用されていた上位データが下位データとして変数Ｙに適用されるようになり、元々ＬＵＴ上で変数Ｙに適用されていた下位データが上位データとして変数Ｘに適用されるようになる。
【００１１】
また、上位データの値が下位データの値以下であると、上位データと下位データは入れ替えられない。以上より、入力データを分割することで生成された二つのデータのうち、大きい方の値が常に変数Ｙに適用されることになる。
【００１２】
具体的に説明する。入力データが二進数で「００１１００１０」である場合、比較回路は、入力データを上位データ「００１１」と下位データ「００１０」に分割して、夫々を大小比較する。本例の場合、上位データが下位データより大きいので、スイッチ回路は、「００１０（十進数で「２」）」を下位データから上位データに入れ替え、「００１１（十進数で「３」）」を上位データから下位データに入れ替えて、図１のＬＵＴをアクセスする。つまり、Ｘ＝２且つＹ＝３として、図１のＬＵＴをアクセスし、図１中に斜線領域として示した「５」が導き出される。即ち、スイッチ回路は、Ｘ＝３且つＹ＝２として、図１のＬＵＴをアクセスしないのである。
【００１３】
以上より、上述の構成によれば、図１に示すルックアップテーブルの破線で示す部分をメモリに記憶しておく必要がなくなる。
【００１４】
逆に、スイッチ回路によって、上位データが下位データより小さい値である場合に、上位データと下位データが入れ替えられるようにしてもよく、この場合は、図１に示すルックアップテーブルの一点鎖線で示す部分をメモリに記憶しておく必要がなくなる。
【００１５】
その結果、図１に示すルックアップテーブルの破線で示す部分または一点鎖線で示す部分をメモリに記憶しておく必要がなくなるので、ルックアップテーブルを記憶するためのメモリ容量を少なくすることができる。
【００１６】
同第二の特徴構成は、同請求項２に記載した通り、上述の第一特徴構成に加えて、前記演算回路が、ＲＭＳ演算回路である点にある。
【００１７】
ＲＭＳ演算回路は、各変数の値の組み合わせが同じであれば演算結果の値が同じとなる演算である二乗平均平方根(RMS:Root Mean Square)演算を実行する回路であるため、本発明による演算回路の好適な適用例である。
【発明の効果】
【００１８】
以上説明したとおり、本発明によれば、ルックアップテーブルを使用することによる演算処理の高速化を実現しながらも、ルックアップテーブルを記憶するために必要なメモリ容量を節約することのできる演算装置を提供することができるようになった。
【発明を実施するための最良の形態】
【００１９】
以下、本発明による演算回路を、デジタル複写機の画像処理部に用いた実施形態について説明する。
【００２０】
デジタル複写機１は、図２（ａ）、（ｂ）に示すように、原稿画像を光電変換してデジタル画像データとして読み取る画像読取部２と、記録紙にデジタル画像データに基づく印刷画像を形成して出力する画像形成部３を備えている。
【００２１】
また、デジタル複写機１は、原稿をセットする原稿載置部４と、画像形成部３より用紙上に出力された印刷画像を加熱して用紙上に定着させる定着部５と、用紙を搬送する搬送部６と、用紙が収容された給紙部７と、各種のメニューを設定する複数のメニュー設定キー等が配置された操作部８等を備えて構成されている。
【００２２】
画像読取部２は、原稿載置部４にセットされた原稿を光学系を介して読み取るＣＣＤを備えた画像読取処理部と、読み取られた画像データのシェーディング補正やエッジ強度を求めるためのスムージング処理等を実行する画像処理部等を備えており、原稿載置部４にセットされた一連の原稿を順次読込んで、読み込んだデータを画像形成部３がトナー像を形成するのに適した電子データ（デジタル画像データ）に変換する。
【００２３】
画像形成部３は、図２（ｂ）に示すように、像担持体３１と、像担持体３１の周囲に順に配置され、像担持体３１を帯電処理する帯電部材３２と、帯電された像担持体３１を露光して静電潜像を形成する露光部３３と、像担持体３１に形成された静電潜像にトナーを静電付着させてトナー像を顕像化する現像部３４と、現像されたトナー像を用紙に転写する転写部３５と、転写後に像担持体３１に残留するトナーを除去して回収するクリーナ部３６と、像担持体３１表面の残留電位を落して均一にする除電ランプ３７等を備えて構成されている。
【００２４】
また、デジタル複写機１には、画像読取部２及び画像形成部３等のデジタル複写機１に備えられた各機能ブロックを制御する複数の制御部が設けられている。具体的には、デジタル複写機１を統括制御するシステム制御部、画像読取部２による原稿の読取動作を制御する画像読取制御部、画像形成部３を制御する画像形成制御部、定着部５を制御する定着制御部、及び操作部８を制御する操作制御部等で構成されている。
【００２５】
各制御部は、単一または複数の制御基板上に単一または複数のＣＰＵと、ＣＰＵにより実行される制御プログラムが格納されたＲＯＭと、制御データを格納するＲＡＭ（例えばＤＲＡＭ）と、制御対象である各種の負荷に信号を出力し、各種のセンサからの検出値を入力する入出力インタフェース回路等を備えている。各ＣＰＵは相互に内部バスで接続されて分散型の制御システムが構築されており、各ＣＰＵにより実行される制御プログラム及び関連するハードウェアにより各制御部が有するデジタル複写機１を動作させるための所定の機能が実現されるように構成されている。
【００２６】
以下、本発明による演算回路について説明する。本実施形態では、演算回路は、画像読取部２に備えられている。
【００２７】
図３に示すように、画像読取部２は、上述した画像読取処理部２１及び画像処理部２２の他、メモリコントローラ２３と、バスインタフェースユニット２４と、ハードディスクコントローラ２５等を備えており、夫々がデータバス２９で相互に接続されている。また、画像読取部２は、ＡＳＩＣ(Application Specific Integrated Circuit)やＦＰＧＡ(Field Programmable Gate Array)等のハードウェアで構成されている。
【００２８】
メモリコントローラ２３は、デジタル複写機１に備えられ例えば画像データを格納する画像メモリとして用いられるＤＤＲ(Double Data Rate)方式のメモリ２３１とのデータの入力及び出力を制御する。
【００２９】
バスインタフェースユニット２４は、上述した制御データ等を格納するＲＡＭ２４１とのデータの入力及び出力を制御する。
【００３０】
尚、メモリ２３１に制御データ等を格納してもよく、ＲＡＭ２４１に画像データを格納してもよい。
【００３１】
ハードディスクコントローラ２５は、デジタル複写機１に備えられ、大容量のデータを格納しておくために用いられるハードディスク２５１とのデータの入力及び出力を制御する。
【００３２】
画像処理部２２は、本発明による演算回路２６を備えている。本実施形態では、演算回路２６は、上述したスムージング処理を実行する過程において画素間の距離を求めること等を目的として、ＲＭＳ(Root Mean Square)演算回路で構成されている。
【００３３】
演算回路２６は、図４に示すように、２ｎ桁（ｎ≧０の整数）の入力データに対する所定の演算結果が設定されたルックアップテーブル２７と、入力データに基づいてルックアップテーブル２７をアクセスするアドレス回路２８を備えている。
【００３４】
入力データについて説明する。画像読取部２は、読み取られた画像データに基づいて、距離を求めるべき単数または複数の画素の組み合わせを判断し、距離を求めるべきと判断した画素の組み合わせの夫々について、所定方向（例えば主走査方向）の距離と前記所定方向に対する垂直方向（例えば副走査方向）の距離とを、以下で説明する入力データとして演算回路２６に出力する。
【００３５】
デジタル複写機１では、画像読取部２で読み取られた画像データを迅速に画像形成部３へ出力する必要があるため、スムージング処理も高速で行う必要がある。そして、スムージング処理で距離を求めるべき画素の組み合わせが多数存在する場合であっても、本発明の演算回路２６を用いることによって画素間の距離を求める演算の速度を高速化することができるので、スムージング処理を高速で行うことができるのである。
【００３６】
入力データは、２ｎ桁のバイナリデータであり、最上位ビット（ＭＳＢ）からＭＳＢより起算して下位方向にｎ桁目のビット（以下、中間ビットと記す。）までの上位データ（つまり、[２ｎ−１：ｎ]）が、距離を求める二個の画素の所定方向の距離を示し、中間ビットの次の下位ビットから最下位ビット（ＬＳＢ）までのｎ桁の下位データ（つまり、[ｎ−１：０]）が、距離を求める二個の画素の前記所定方向に対する垂直方向の距離を示している。
【００３７】
所定の演算は、以下の数１で示されるような演算である。数１において、変数Ａは、上位データと下位データのうち値の大きなデータであり、変数Ｂは、上位データと下位データのうち値の小さなデータであり、Ｃは画素間の距離である。尚、本実施形態では、上位データと下位データの値が同一の場合には、変数Ａが上位データとなり、変数Ｂが下位データに設定される。
【数１】
2010102583.tif 000003
【００３８】
ルックアップテーブル２７は、図５に示すように、変数Ａと変数Ｂに対するＣの値が設定されている。尚、図５において、Ｃの値が記載されていないが、Ｃの各要素には、当該各要素に対応する変数Ａと変数Ｂを数１に代入して演算を行った結果としてのＣの値が設定されている。
【００３９】
アドレス回路２８は、図４に示すように、入力データをｎ桁の上位データと下位データに分割し、夫々を大小比較する比較回路２８１と、比較回路２８１による比較結果に基づいて、上位データと下位データを入れ替えてルックアップテーブル２７をアクセスするスイッチ回路２８２を備えている。
【００４０】
以下、演算回路２６の処理について、図６に示すフローチャートに基づいて説明する。
【００４１】
演算回路２６に２ｎ桁のデータ（[２ｎ−１：０]）が入力されると、比較回路２８１は、当該データを、上位桁（[２ｎ−１：ｎ]）である上位データと下位桁（[ｎ−１：０]）である下位データとに分割する（Ｓ２）。
【００４２】
その後、比較回路２８１は、上位データの値と下位データの値の大小を比較する（Ｓ３）。
【００４３】
スイッチ回路２８２は、上位データの値が下位データの値以上である場合には、図５に示すようなルックアップテーブルにアクセスするに当たって、上位データを変数Ａ、下位データを変数Ｂとする（Ｓ４）。
【００４４】
一方、上位データの値が下位データの値より小さい場合には、上位データと下位データを入れ替える。つまり、ステップＳ２での分割時に上位データであったデータを下位データとし、ステップＳ２での分割時に下位データであったデータを上位データとする（Ｓ５）。その後、入れ替え後の上位データを変数Ａ、下位データを変数Ｂとしてルックアップテーブルにアクセスする（Ｓ４）。
【００４５】
演算回路２６は、ステップＳ４でのルックアップテーブルへのアクセスで得られた結果、つまり変数Ａ及び変数Ｂに対応する所定の演算結果Ｃを出力する（Ｓ６）。出力されたデータは、画像読取部２においてスムージング処理等に用いられる。
【００４６】
尚、本実施形態では、入力データは、クロック信号の立ち上がりのタイミングで演算回路２６の比較回路２８１に入力され、次回のクロック信号の立ち上がりまでに、演算結果Ｃが出力されるが、入力データの入力タイミングはクロック信号の立ち上がりタイミングに限らない。例えば、クロック信号の立下りタイミングであってもよい。
【００４７】
以下に、別実施形態について説明する。上述の実施形態では、スイッチ回路２８２は、図５に示すようなルックアップテーブルにアクセスするに当たって、上位データの値が下位データの値以上の場合に、上位データと下位データを入れ替えず、上位データの値が下位データの値より小さい場合に、上位データと下位データを入れ替える場合について説明したが、上位データと下位データを入れ替える条件はこれに限らない。
【００４８】
例えば、上位データの値が下位データの値以下の場合に、上位データと下位データを入れ替えず、上位データの値が下位データの値より大きい場合に、上位データと下位データを入れ替えてもよい。
【００４９】
上述の実施形態では、演算回路２６がＲＭＳ演算回路で構成されている場合について説明したが、入力される複数の変数の組み合わせが同じ場合に、出力される演算結果が同じとなるような演算を行う回路であるならば、ＲＭＳ演算回路に限らない。例えば、加算回路や乗算回路であってもよい。
【００５０】
上述の実施形態では、演算回路２６を、デジタル複写機１の画像処理部に用いた場合について説明した。しかし、入力される複数の変数の組み合わせが同じ場合に、出力される演算結果が同じとなるような演算を行う回路を搭載する必要のある機器であるならば、演算回路２６が用いられるのはデジタル複写機１の画像処理部に限らない。
【００５１】
上述の実施形態は何れも本発明の一実施例に過ぎず、当該記載により本発明の範囲が限定されるものではなく、各部の具体的構成は本発明による作用効果を奏する範囲において適宜変更することができることは言うまでもない。
【図面の簡単な説明】
【００５２】
【図１】従来のルックアップテーブルの説明図
【図２】（ａ）はデジタル複写機の外観図、（ｂ）はデジタル複写機の内部の説明図
【図３】画像読取部のブロック構成図
【図４】演算回路のブロック構成図
【図５】本発明のルックアップテーブルの説明図
【図６】演算回路の処理について説明するためのフローチャート
【符号の説明】
【００５３】
２６：演算回路
２７：ルックアップテーブル
２８：アドレス回路
２８１：比較回路
２８２：スイッチ回路
【図１】
2010102583.tif 000004
【図２】
2010102583.tif 000005
【図３】
2010102583.tif 000006
【図４】
2010102583.tif 000007
【図５】
2010102583.tif 000008
【図６】
2010102583.tif 000009