JP3793050B2 - Multiple arithmetic circuit - Google Patents
Multiple arithmetic circuit Download PDFInfo
- Publication number
- JP3793050B2 JP3793050B2 JP2001203530A JP2001203530A JP3793050B2 JP 3793050 B2 JP3793050 B2 JP 3793050B2 JP 2001203530 A JP2001203530 A JP 2001203530A JP 2001203530 A JP2001203530 A JP 2001203530A JP 3793050 B2 JP3793050 B2 JP 3793050B2
- Authority
- JP
- Japan
- Prior art keywords
- sum
- unit
- value
- pixel
- arithmetic circuit
- 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.)
- Expired - Fee Related
Links
Images
Description
【0001】
【発明の属する技術分野】
本発明は、任意の被演算値が5の整数倍であるか否かを判定する倍数演算回路に関する。
【0002】
【従来の技術】
一般に、パターンマッチング等の画像処理においては、自然数aが特定の整数値の整数倍であるか否かを判定することが多い。例えば、自然数aが2n の整数倍であるか否かを判定することがある。この場合は、自然数aを示すビット列の下位のnビットが全て0であるか否かにより判定を行う。
【0003】
ただし、通常は、その様な簡単な処理だけでは、判定を行うことができない。例えば、自然数aが5の整数倍であるか否かを判定する場合は、除算回路によって自然数aを5で除算し、その剰余(あまり)が0であるか否かにより判定を行う。
【0004】
【発明が解決しようとする課題】
しかしながら、除算回路(あるいは乗算回路)の回路規模は、加算回路の100倍程度である。このため、自然数aが特定の整数値の整数倍であるか否かを判定するための回路規模が大きくなり、製造コスト及び運転コスト(消費電力等)が高くなるという問題があった。また、回路構成も複雑化するので、回路設計のミスが多くなったり、製品のバグが出易くなった。更に、回路構成の複雑化により、信号の入力から演算結果の出力までの時間が非常に長くなり、回路の動作クロックを高速化したとしても、演算時間を満足し得る程には短くすることはできなかった。
【0005】
このため、従来より、除算回路の回路規模を低減するための種々の提案がなされている。例えば、特開昭61−95444号公報に記載の装置では、ガウス関数を用いて、nビットの列をm桁のビット列部分に分解し、各ビット列部分毎に演算を行うことにより、nビットの列をmで割ったときの剰余を求めている。
【0006】
また、特開平8−202533号公報に記載の装置では、被除数をnビットずつに区画し、それぞれのnビット毎に、nビットに全て0の幾つかの下位ビットを連結したビット列を生成し、このビット列を(2n −1)の値を持つ除数で割って、その商及び剰余を求め、それぞれのnビット毎に求められた各商を加算し、また各剰余を加算することにより、各商の加算値の桁上げ値を算出し、各商の加算値と桁上げ値を加算することにより、被除数を(2n −1)の値を持つ除数で割ったときの商を求めている。
【0007】
ところが、この様な従来の回路は、任意の被演算値が特定値の整数倍であるか否かを判定するだけのものではないため、この判定のために適用するならば、無駄な回路部分が多く、演算動作の高速化やコストの点で好ましくなかった。
【0008】
そこで、本発明は、上記従来の問題点に鑑みてなされたものであり、任意の被演算値が5の整数倍であるか否かを判定することを前提とし、回路規模が小さく、回路構成が簡単であり、コストの低減や高速動作を実現することが可能な倍数演算回路を提供することを目的とする。
【0009】
【課題を解決するための手段】
上記課題を解決するために、本発明は、被演算値を示す2進数のビット列をnビットの各ビット列部分に区切る区画手段と、各ビット列部分によって示されるそれぞれの値の総和を求める加算手段と、この総和が予め設定された基準値以下であるか否かを判定し、基準値以下である場合は、この総和と予め設定された倍数情報とを比較して、被演算値が5の整数倍であるか否かを判定し、基準値以下でない場合は、この総和を新たな被演算値として加算手段に与えるデコーダ手段とを備えている。
【0010】
この様な構成の本発明によれば、加算手段による加算を行っているものの、除算や乗算を行っていない。また、デコーダ手段は、加算手段によって求められた総和と倍数情報を比較するだけであって、複雑な処理を行っていない。このため、回路規模を小さくしたり、処理速度を高速化することができる。
【0011】
また、本発明においては、区画手段は、加算手段において扱い得るビット幅以下のnビットを設定している。
【0012】
この様に加算手段において扱い得るビット幅以下のnビットを設定すれば、加算手段による処理に無駄が無くなり、加算処理の効率を向上させることができる。
【0013】
更に、本発明においては、加算手段は、各ビット列部分によって示されるそれぞれの値の重み付けを行ってから、重み付けされた該各値の総和を求めて、この総和をデコーダ手段に与えている。
【0014】
この様な重み付けを行なえば、被演算値が5の整数倍であるときに、各ビット列部分によって示される各値の総和が5の倍数となる。これにより、加算手段によって求められた総和と比較される倍数情報の情報量を少なくすることができる。
【0015】
また、本発明においては、デコーダ手段は、基準値以下の5の倍数の全てを倍数情報として記憶する記憶手段を備え、総和が基準値以下である場合は、この総和が記憶手段内の各倍数のいずれかに一致するか否かにより、被演算値が5の整数倍であるか否かを判定している。
【0016】
この様に基準値以下の5の倍数の全てを倍数情報として記憶するのであれば、倍数情報の情報量が少なく、記憶手段の記憶容量が小さくて済む。
【0017】
【発明の実施の形態】
以下、本発明の実施形態を添付図面を参照して詳細に説明する。
【0018】
図1は、本発明の倍数演算回路の一実施形態を適用したディジタル複写機を示す側面図である。図1に示す様に、このディジタル複写機30は、スキャナ部31とレーザー記録部32から構成されている。
【0019】
スキャナ部31は、透明ガラスからなる原稿載置台35、原稿を原稿載置台35へと自動的に搬送するための両面対応自動原稿送り装置(RADF)36、及び原稿載置台35上の原稿の画像を走査して読み取るためのスキャナユニット40を備えている。
【0020】
両面対応自動原稿送り装置36は、図示しない原稿トレイ上に複数枚の原稿を置くと、これらの原稿を1枚ずつ自動的に引き出して原稿載置台35へと搬送する。また、この両面対応自動原稿送り装置36は、いずれも図示していないが、2つの搬送経路を選択的に切り替える搬送経路切替え手段、これらの搬送経路を通過する原稿を検出するセンサー群、この装置36を制御する制御部等を備えている。2つの搬送経路は、オペレータによって選択され、一方が原稿の片面のみを読み取るときに選択され、他方が原稿の両面を読み取るときに選択される。
【0021】
スキャナユニット40は、第1走査ユニット40a、第2走査ユニット40b、光学レンズ43及びCCD44を備えている。第1走査ユニット40aは、原稿載置台35上の原稿面を露光するランプリフレクターアッセンブリ41と、原稿からの反射光を反射する第1ミラー42aとを含む。第2走査ユニット40bは、第1ミラー42aからの反射光を更に反射する第2及び第3ミラー42b、42cを含む。光学レンズ43は、第1、第2及び第3ミラー42a、42b、42cによって反射された反射光を集光して、光像(原稿画像)をCCD44の受光面に形成する。CCD44は、この光像を読み取って、原稿画像を示す画像信号を出力する。
【0022】
スキャナユニット40と両面対応自動原稿送り装置36は、相互に関連して動作している。これにより、原稿載置台35に原稿が載置される度に、この原稿載置台35の下面に沿ってスキャナユニット40が移動され、この原稿の画像が読み取られる。
【0023】
第1走査ユニット40aは、原稿載置台35に沿って、図面上左から右へと一定速度Vで移動し、また第2走査ユニット40bは、速度1/2Vで同一方向に移動する。これに伴い、CCD44による各主走査ラインの読み取りが繰り返され、CCD44からは原稿画像を示す画像信号が順次出力される。
【0024】
この画像信号は、A/D変換されてから、画像データとして後述する画像処理部へと送られ、各種の処理を施されてからメモリに一旦記憶される。そして、画像データがメモリから適宜に読み出されてレーザプリンター部32に与えられる。レーザプリンター部32は、この画像データによって示される画像を記録用紙に記録する。
【0025】
このレーザープリンター部32は、記録用紙を搬送する搬送機構50、レーザー書き込みユニット(LSU)46、及び電子写真プロセス部47を備えている。レーザー書き込みユニット46は、いずれも図示していないが、レーザー光を出射する半導体レーザ光源、このレーザー光を等角速度で偏向するポリゴンミラー、及びこの偏向されたレーザー光が電子写真プロセス部47の感光体ドラム481上で等角速度で移動する様に補正するf−θレンズ等を備えている。このレーザー書き込みユニット46では、メモリから読み出された画像データ、又は外部装置から転送されてきた画像データを受け取り、この画像データに応じて半導体レーザ光源から出射されるレーザー光の強度を制御する。
【0026】
電子写真プロセス部47は、静電潜像を形成する感光体ドラム481、感光体ドラム481を一様に帯電させる帯電器482、感光体ドラム481の静電潜像にトナーを付着させる現像器483、感光体ドラム481のトナー像を記録用紙に転写する転写器484、感光体ドラム481から記録用紙を剥離する剥離器、感光体ドラム481の残留トナーを除去するクリーニング器486、及び感光体ドラム481を除電する除電器等を備えている。
【0027】
尚、電子写真プロセス部47による記録画素密度は、1000×1000dpiである。
【0028】
記録用紙を搬送する搬送機構50は、記録用紙を収納する各カセット給紙装置51、52、53、手差しされた記録用紙を供給する手差し供給装置54、各カセット給紙装置51、52、53及び手差し供給装置54のいずれかからの記録用紙を電子写真プロセス部47の転写器484へと導く搬送部56、電子写真プロセス部47によって記録用紙に転写されたトナー像を定着させる定着器49、及び記録用紙の裏面にも画像を記録するときに、記録用紙を電子写真プロセス部47に再度導く再供給部55を備えている。
【0029】
更に、定着器49の下流側には、画像が記録された記録用紙を受け取り、この記録用紙を処理するフィニッシャー34が配置されている。
【0030】
ここで、レーザー書き込みユニット46は、メモリから読み出された画像データを与えられ、この画像データに応じてレーザー光の強度を制御しつつ、このレーザー光によって電子写真プロセス部47の感光体ドラム481を繰り返し主走査する。これによって感光体ドラム481に静電潜像が形成され、この静電潜像が現像されてトナー像となり、このトナー像が記録用紙に転写されて、記録用紙上のトナー像が定着される。そして、この記録用紙は、定着器49から排紙ローラ57を経由してフィニッシャー34へと搬送される。
【0031】
一方、ディジタル複写機30は、ファクシミリ受信装置101を有している。このファクシミリ受信装置101は、回線網を通じてファクシミリ通信されてきた画像データを受信したり、レーザー制御部32を制御して、画像データによって示される画像を記録用紙に記録して出力させる。
【0032】
図2は、ファクシミリ受信装置101の構成を示すブロック図である。図2に示す様に、このファクシミリ受信装置101は、ファクシミリインターフェース(ファクシミリI/O)102、入力データ処理部103、第1バッファ104、パターンマッチング部105、第2バッファ106、及び微調整部107を備えている。
【0033】
ファクシミリI/O102は、回線網を通じてファクシミリ通信されてきた画像データ(例えばGIII ;204×196dpi)を受信するためのインターフェースである。入力データ処理部103は、この受信した画像データを該ファクシミリ受信装置101において扱い易い形態に変換する。
【0034】
第1バッファ104は、入力データ処理部103とパターンマッチング部105との間に処理速度の差があっても、パターンマッチング部105による処理が滞りなく行われる様に、画像データを一時的に記憶する。従って、第1バッファ104は、画像データを入力データ処理部103から受け取って記憶し、パターンマッチング部105の処理速度に応じて、この画像データをパターンマッチング部105に順次出力する。
【0035】
パターンマッチング部105は、204×196dpiの画像データをパターンマッチング手法を用いた変倍処理によって5×5倍に拡大し、1020×980dpiの拡大画像データを生成する。この変倍処理については、後で詳しく述べる。
【0036】
第2バッファ106は、パターンマッチング部105と微調整部107との間に処理速度の差があっても、微調整部107による処理が滞りなく行われる様に、拡大画像データを一時的に記憶する。従って、第2バッファ106は、拡大画像データをパターンマッチング部105から受け取って記憶し、微調整部107の処理速度に応じて、この拡大画像データを微調整部107に順次出力する。
【0037】
微調整部107は、拡大画像データを変倍し、電子写真プロセス部47による記録画素密度に整合する様に、拡大画像データを1000×1000dpiの記録画像データに変換する。そして、微調整部107は、記録画像データをレーザプリンター部32のLSU46に出力する。この変換処理については、後で詳しく述べる。
【0038】
LSU46は、記録画像データに応じて半導体レーザ光源から出射されるレーザー光の強度を制御し、感光体ドラム481上に静電潜像を形成する。
【0039】
次に、パターンマッチング部105による画像データの変倍処理について詳しく説明する。
【0040】
パターンマッチング部105は、例えば図3に示す様な画像を示す画像データを入力して、この画像の各画素毎に、画素を5×5の画素群に拡張するという処理を画像データに施し、これによって拡大画像を示す拡大画像データを生成する。また、元の画像の注目画素の色(白又は黒)と、その周囲の他の各画素の色に基づいて、5×5の各画素の色を求めて設定する。
【0041】
ここで、例えば図3に示す画像の画素Aに注目し、この注目画素Aを5×5の画素群に拡張する。この場合は、まず注目画素Aの周辺領域121に含まれる32の各画素を抽出する。図4は、注目画素A及び周辺領域121に含まれる32の各画素を拡大して示している。そして、黒の画素を1と認識し、白の画素を0と認識して、注目画素Aの値及び32の各画素の値にそれぞれの重み付けを行い、図5に示す様な33ビットのデータを生成する。
【0042】
また、重み付けされた33ビットのデータとして、多様なデータパターンを予め想定し、各データパターンに対応する5×5の画素群のそれぞれのパターンを予め設定しておく。図6は、重み付けされた33ビットの多様なデータパターンと、各データパターンに対応するそれぞれの識別番号を記録したルックアップテーブルを示している。図7は、各識別番号に対応する5×5の画素群のそれぞれのパターンを記録したパターンテーブルを示している。
【0043】
パターンマッチング部105は、図5に示す33ビットのデータを図6に示すルックアップテーブルの各データパターンと照合し、各データパターンのうちから図5に示す33ビットのデータに一致するものを検索し、一致したデータパターンに対応する識別番号を図6に示すルックアップテーブルから読み出し、この識別番号に対応する5×5の画素群のパターンを図7に示すパターンテーブルから読み出す。
【0044】
例えば、図5に示す33ビットのデータ(S8,S7,S6,S5,S4,S3,S2,S1,S0,T5,T4,T3,T2,T1,T0,B5,B4,B3,B2,B1,B0,L5,L4,L3,L2,L1,L0,R5,R4,R3,R2,R1,R0)=(0,0,1,0,1,1,0,1,1,0,0,0,0,0,1,0,1,1,1,1,1,0,0,0,0,0,0,1,0,1,0,0,0 )とすると、このデータパターンに対応する識別番号15を図6に示すルックアップテーブルから読み出し、この識別番号15に対応する5×5の画素群のパターンを図7に示すパターンテーブルから読み出す。
【0045】
こうしてパターンマッチング部105は、各画素を順次注目し、各注目画素毎に、注目画素を5×5の画素群に拡張し、5×5の画素群のパターン(各画素の値)を第2バッファ106に出力する。
【0046】
次に、微調整部107による画像データの変換処理について詳しく説明する。
【0047】
微調整部107は、電子写真プロセス部47による記録画素密度に整合する様に、1020×980dpiの拡大画像データに対して補間及び間引き処理を施して、1000×1000dpiの記録画像データを生成する。すなわち、横方向には、拡大画像データをBX倍率(BX=1000/1020)だけ縮小し、縦方向には、拡大画像データをBY倍率(BY=1000/980)だけ拡大し、これにより記録画像データを生成する。
【0048】
ここで、微調整部107は、図8に示す様な座標系を有している。この座標系は、それぞれの基準位置に配置された各○の間を4096分割したXY座標系である。
【0049】
微調整部107は、次式(1)、次式(2)、BX倍率、及びBY倍率に基づいて、解像度を変換された記録画像データによって示される各記録画素の位置(HX,HY)を設定する。
【0050】
HX=n・4096/BX(nは整数) …(1)
HY=m・4096/BY(mは整数) …(2)
ただし、実際には、4096/BXの値及び4096/BYの値をそれぞれの整数値に丸め込む。
【0051】
ここでは、BX=1000/1020であるから、上式(1)により、各記録画素の位置HX=0、4178、8356、12534、16712、…となる。また、BY=1000/980であるから、上式(2)により、各記録画素の位置HY=0、4014、8028、12042、16056、…となる。
【0052】
微調整部107は、拡大画像データを先に述べた拡張された5×5の画素群の単位で第2バッファ106から順次読み出し、5×5の各画素を図8に示す座標系の各○の基準位置に配置する。また、微調整部107は、各記録画素を図8に示す座標系の各□の位置(HX,HY)に配置しつつ、各記録画素の色を最寄りの○の画素と同一色に設定する。例えば、記録画素の位置が(4178,0)であれば、最も近い基準位置が(4096,0)であるので、記録画素の色を該基準位置の画素と同一色に設定する。同様に、記録画素の位置が(8356,0)であれば、記録画素の色を最も近い基準位置(8192,0)の画素と同一色に設定し、記録画素の位置が(4178,4015)であれば、記録画素の色を最も近い基準位置(4096,4096)の画素と同一色に設定する。
【0053】
一方、5×5の画素群を第2バッファ106から順次読み出しつつ、各記録画素の色を設定するに際しては、記録画素に最も近い基準位置の画素が読み出されていなければ、記録画素の色を設定することができない。そこで、記録画素に最も近い基準位置の座標を4096で割って、その商が5の倍数であるか否かを判定し、5の倍数であれば、次の5×5の画素群のうちに記録画素に最も近い基準位置の画素が含まれるので、次の5×5の画素群を第2バッファ106から読み出している。
【0054】
こうして生成された各記録画素を示す記録画像データは、微調整部107からレーザプリンター部32のLSU46に送出され、記録画像データに応じたレーザー光がLSU46から感光体ドラム481上に照射される。
【0055】
ところで、本実施形態の倍数演算回路は、ディジタル複写機30におけるファクシミリ受信装置101の微調整部107に内蔵されており、先に述べた記録画素に最も近い基準位置の座標を4096で割った商が5の倍数であるか否かを判定するために用いられている。
【0056】
図9は、本実施形態の倍数演算回路108の構成を示すブロック図である。尚、この倍数演算回路108においては、2進数のビット列を扱う。
【0057】
図9に示す様に、この倍数演算回路108は、区画設定部109と、加算回路110と、デコーダ部111とを備えている。
【0058】
区画設定部109は、記録画素に最も近い基準位置の座標値をnビット単位(例えばn=4)で区切り、4ビットの各ビット列を生成し、これらのビット列を加算回路110に出力する。
【0059】
加算回路110は、4ビットの各ビット列によって示されるそれぞれの値の総和を求め、この総和をデコーダ部111に出力する。
【0060】
デコーダ部111は、予め設定された基準値「1111000」(10進数で120)以下であって、かつ値「101」(10進数で5)の倍数の全て(10進数で5、10、15、20、……、115、120)を記憶部112に予め記憶している。そして、デコーダ部111は、加算回路110によって求められた総和が基準値以下であるか否かを判定し、基準値以下であれば、この総和を記憶部112内の各倍数と照合して、この総和が各倍数のいずれかに一致すると、記録画素に最も近い基準位置の座標値が5の倍数であると判定し、この総和が各倍数のいずれにも一致しなければ、記録画素に最も近い基準位置の座標値が5の倍数でないと判定し、この5の倍数であるか否かの判定結果を出力する。
【0061】
また、デコーダ部111は、総和が基準値以下でなければ、この総和を区画設定部109に出力する。この場合、この総和が区画設定部109によって4ビット単位の各ビット列に区切られ、加算回路110によって4ビットの各ビット列の値の総和が再び求められ、この総和がデコーダ部111に与えられる。従って、総和が基準値以下となるまで、この総和がデコーダ部111から区画設定部109に戻され、区画設定部109及び加算回路110による処理が繰り返される。
【0062】
図10は、倍数演算回路108による演算処理過程を例示している。ここでは、記録画素に最も近い基準位置の座標値として、2進数の「11001000」が区画設定部109に与えれられる。区画設定部109は、この座標値を4ビットの各ビット列「1100」と「1000」(10進数で12と8)に区画する。そして、加算回路110は、各ビット列「1100」と「1000」によって示されるそれぞれの値の総和として「10100」(10進数で20)を求める。更に、デコーダ部111は、この総和「10100」が基準値「1111000」以下であると判定し、この総和を記憶部112内の各倍数と照合して、この総和「10100」が記憶部112内の1つの倍数「10100」(10進数で20)に一致することから、記録画素に最も近い基準位置の座標値が5の倍数であると判定する。
【0063】
この様に本実施形態の倍数演算回路108では、座標値を4ビットの各ビット列に区画し、各ビット列の値の総和を求め、この総和を予め設定された各倍数と照合することにより、座標値が5の倍数であるか否かを判定している。このため、除算回路や乗算回路を用いたり、商及び剰余を求める従来の演算回路と比較すると、回路規模が極めて小さく、回路構成が簡単であり、製造コスト及び運転コストが低く、処理の高速動作を実現することができる。
【0064】
尚、本発明は、上記実施形態に限定されるものではなく、多様に変形することができる。例えば、デコーダ部111の記憶部112の記憶容量に応じて、記憶部112に予め記憶しておく5の倍数の個数を増減しても良い。例えば、8ビットで表わし得る5の倍数の全てを記憶部112に記憶しても良い。5の倍数の個数を減少すれば、記憶部112の記憶容量が小さくて済み、また5の倍数の個数を増大すれば、総和を区画設定部109に戻す回数が減少し、演算量が減って、処理動作が高速化する。
【0065】
また、倍数演算回路と他の簡単な演算回路との組みあわせにより、5以外の倍数を判定することができる。例えば、被演算値の最下位ビットが0であるか否かを判定する他の演算回路を組みあわせれば、被演算値が偶数及び奇数のいずれであるかを判定することができるので、被演算値が10の倍数であるか否かを判定することが可能になる。
【0066】
更に、区画設定部109においては、被演算値を4ビットの各ビット列に区画するのではなく、加算回路110により扱い得るビット幅の各ビット列に区画しても良い。例えば、被演算値を6ビットの各ビット列に区画しても構わない。この場合は、各ビット列に対して、その最下位ビットから4、1、4、1、…という重み付け、あるいは1、4、1、4、…という重み付けを行ない、この重み付けをなされた各ビット列の値の総和を加算回路110により求める。これにより、被演算値が5の倍数であるか否かの判定をデコーダ部111により行なうことが可能になる。ただし、被演算値を4ビットの各ビット列に区画した場合は、その様な重み付けを行なう必要がない。
【0067】
更に、ここでは、倍数演算回路をファクシミリ受信装置101の微調整部107に適用しているが、これに限定されるものではなく、その用途は多様である。例えば、複数のメモリA〜Eのアドレスとして、メモリAのアドレス0〜4、メモリBのアドレス5〜9、メモリCのアドレス10〜14、メモリDのアドレス15〜19、メモリEのアドレス20〜24が設定されている場合は、倍数演算回路によってアドレスが5の倍数であるか否かを判定し、5の倍数であれば、メモリを切り替えるという用途がある。
【0068】
【発明の効果】
以上説明した様に本発明によれば、加算手段による加算を行っているものの、除算や乗算を行っていない。また、デコーダ手段は、加算手段によって求められた総和と倍数情報を比較するだけであって、複雑な処理を行っていない。このため、回路規模を小さくしたり、処理速度を高速化することができる。
【0069】
また、本発明によれば、加算手段において扱い得るビット幅以下のnビットを設定することにより、加算手段による処理に無駄を無くして、加算処理の効率を向上させている。
【0070】
更に、本発明によれば、加算手段は、各ビット列部分によって示されるそれぞれの値の重み付けを行ってから、重み付けされた該各値の総和を求めて、この総和をデコーダ手段に与えている。この様な重み付けを行なえば、被演算値が5の整数倍であるときに、各ビット列部分によって示される各値の総和が5の倍数となる。これにより、加算手段によって求められた総和と比較される倍数情報の情報量を少なくすることができる。
【0071】
また、本発明によれば、デコーダ手段は、基準値以下の5の倍数の全てを倍数情報として記憶する記憶手段を備え、この総和が記憶手段内の各倍数のいずれかに一致するか否かにより、被演算値が5の整数倍であるか否かを判定している。この様に基準値以下の5の倍数の全てを倍数情報として記憶するのであれば、倍数情報の情報量が少なく、記憶手段の記憶容量が小さくて済む。
【図面の簡単な説明】
【図1】本発明の倍数演算回路の一実施形態を適用したディジタル複写機を示す側面図である。
【図2】図1のディジタル複写機におけるファクシミリ受信装置の構成を示すブロック図である。
【図3】画像を例示する図である。
【図4】図3の画像を部分的に拡大して示す図である。
【図5】図4の画像部分の各画素のビットを示す図である。
【図6】重み付けされた33ビットの多様なデータパターンと、各データパターンに対応するそれぞれの識別番号を記録したルックアップテーブルを示す図である。
【図7】各識別番号に対応する5×5の画素群のそれぞれのパターンを記録したパターンテーブルを示す図である。
【図8】図2のファクシミリ受信装置における微調整部により扱われる座標系を示す図である。
【図9】本実施形態の倍数演算回路の構成を示すブロック図である。
【図10】図9の倍数演算回路による演算処理過程を例示する図である。
【符号の説明】
101 ファクシミリ受信装置
102 ファクシミリインターフェース(ファクシミリI/O)
103 入力データ処理部
104 第1バッファ
105 パターンマッチング部
106 第2バッファ
107 微調整部
108 倍数演算回路
109 区画設定部
110 加算回路
111 デコーダ部[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a multiple arithmetic circuit that determines whether or not an arbitrary operand value is an integer multiple of 5.
[0002]
[Prior art]
In general, in image processing such as pattern matching, it is often determined whether or not the natural number a is an integer multiple of a specific integer value. For example, the natural number a is 2 n It may be determined whether or not it is an integer multiple of. In this case, the determination is made based on whether all the lower n bits of the bit string indicating the natural number a are 0 or not.
[0003]
However, usually, determination cannot be performed only by such simple processing. For example, when determining whether or not the natural number a is an integer multiple of 5, the division number divides the natural number a by 5 and determines whether or not the remainder (too much) is 0.
[0004]
[Problems to be solved by the invention]
However, the circuit scale of the divider circuit (or multiplier circuit) is about 100 times that of the adder circuit. For this reason, there is a problem that the circuit scale for determining whether or not the natural number a is an integer multiple of a specific integer value increases, and the manufacturing cost and the operating cost (power consumption, etc.) increase. Also, since the circuit configuration is complicated, circuit design mistakes and product bugs are likely to occur. Furthermore, due to the complexity of the circuit configuration, the time from signal input to calculation result output becomes very long, and even if the operation clock of the circuit is increased, the time required to satisfy the calculation time cannot be shortened. could not.
[0005]
For this reason, conventionally, various proposals have been made to reduce the circuit scale of the divider circuit. For example, in the apparatus described in Japanese Patent Application Laid-Open No. 61-95444, an n-bit string is decomposed into m-digit bit string parts using a Gaussian function, and an operation is performed for each bit string part. Find the remainder when the column is divided by m.
[0006]
Further, in the apparatus described in JP-A-8-202533, the dividend is divided into n bits, and for each n bits, a bit string in which some lower bits of all 0s are connected to n bits is generated, This bit string is (2 n -1) Divide by a divisor having a value to obtain its quotient and remainder, add each quotient obtained for each n bits, and add each remainder to add the digit of the added value of each quotient By calculating the carry value and adding the addition value and carry value of each quotient, the dividend is calculated as (2 n The quotient obtained by dividing by a divisor having a value of -1) is obtained.
[0007]
However, such a conventional circuit is not only for determining whether or not an arbitrary operand value is an integer multiple of a specific value. In many cases, it was not preferable in terms of high-speed operation and cost.
[0008]
Therefore, the present invention has been made in view of the above-described conventional problems, and is based on the premise that it is determined whether or not an arbitrary operation value is an integer multiple of 5. An object of the present invention is to provide a multiple arithmetic circuit that is simple and can realize cost reduction and high-speed operation.
[0009]
[Means for Solving the Problems]
In order to solve the above-mentioned problems, the present invention provides partition means for dividing a binary bit string indicating an operand value into n bit string parts, and adding means for calculating the sum of the values indicated by the bit string parts. Then, it is determined whether or not the sum is less than or equal to a preset reference value. If the sum is less than or equal to the reference value, the sum is compared with preset multiple information, and the operand value is an integer of 5 Decoder means is provided for determining whether or not the value is double and if the sum is not less than or equal to the reference value, the sum is given to the adding means as a new operand value.
[0010]
According to the present invention having such a configuration, although addition is performed by the adding means, division and multiplication are not performed. The decoder means only compares the sum obtained by the adding means with the multiple information, and does not perform complicated processing. For this reason, the circuit scale can be reduced and the processing speed can be increased.
[0011]
In the present invention, the partitioning means sets n bits that are less than or equal to the bit width that can be handled by the adding means.
[0012]
If n bits that are smaller than the bit width that can be handled by the adding means are set in this way, the processing by the adding means is not wasted, and the efficiency of the adding process can be improved.
[0013]
Further, in the present invention, the adding means weights each value indicated by each bit string portion, obtains the sum of the weighted values, and gives the sum to the decoder means.
[0014]
If such weighting is performed, when the operand value is an integer multiple of 5, the sum of the values indicated by the bit string portions is a multiple of 5. Thereby, the information amount of the multiple information compared with the sum total calculated | required by the addition means can be decreased.
[0015]
In the present invention, the decoder means comprises storage means for storing all multiples of 5 less than or equal to the reference value as multiple information, and when the sum is less than or equal to the reference value, this sum is a multiple of each of the storage means. It is determined whether or not the operand value is an integer multiple of 5 depending on whether or not it matches any of the above.
[0016]
If all the multiples of 5 below the reference value are stored as multiple information in this way, the information amount of the multiple information is small and the storage capacity of the storage means is small.
[0017]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
[0018]
FIG. 1 is a side view showing a digital copying machine to which an embodiment of a multiple arithmetic circuit of the present invention is applied. As shown in FIG. 1, the
[0019]
The
[0020]
When a plurality of documents are placed on a document tray (not shown), the double-sided
[0021]
The
[0022]
The
[0023]
The
[0024]
This image signal is A / D converted and then sent as image data to an image processing unit, which will be described later. After various processing, the image signal is temporarily stored in the memory. Then, the image data is appropriately read from the memory and given to the
[0025]
The
[0026]
The
[0027]
The recording pixel density by the
[0028]
The
[0029]
Further, a
[0030]
Here, the
[0031]
On the other hand, the digital copying
[0032]
FIG. 2 is a block diagram illustrating a configuration of the
[0033]
The facsimile I /
[0034]
The
[0035]
The
[0036]
The
[0037]
The
[0038]
The
[0039]
Next, image data scaling processing by the
[0040]
The
[0041]
Here, for example, attention is paid to the pixel A of the image shown in FIG. 3, and the target pixel A is expanded to a 5 × 5 pixel group. In this case, first, 32 pixels included in the
[0042]
Also, various data patterns are assumed in advance as the weighted 33-bit data, and each pattern of a 5 × 5 pixel group corresponding to each data pattern is set in advance. FIG. 6 shows a look-up table in which various weighted 33-bit data patterns and respective identification numbers corresponding to the respective data patterns are recorded. FIG. 7 shows a pattern table in which each pattern of a 5 × 5 pixel group corresponding to each identification number is recorded.
[0043]
The
[0044]
For example, the 33-bit data (S8, S7, S6, S5, S4, S3, S2, S1, S0, T5, T4, T3, T2, T1, T0, B5, B4, B3, B2, B1 shown in FIG. , B0, L5, L4, L3, L2, L1, L0, R5, R4, R3, R2, R1, R0) = (0,0,1,0,1,1,0,1,1,0,0) , 0,0,0,1,0,1,1,1,1,1,0,0,0,0,0,0,1,0,1,0,0,0) The
[0045]
In this way, the
[0046]
Next, image data conversion processing by the
[0047]
The
[0048]
Here, the
[0049]
The
[0050]
HX = n · 4096 / BX (n is an integer) (1)
HY = m · 4096 / BY (m is an integer) (2)
However, in practice, the value of 4096 / BX and the value of 4096 / BY are rounded to the respective integer values.
[0051]
Here, since BX = 1000/1020, the positions HX = 0, 4178, 8356, 12534, 16712,... Since BY = 1000/980, the position HY = 0, 4014, 8028, 12042, 16056,... Of each recording pixel is obtained by the above equation (2).
[0052]
The
[0053]
On the other hand, when setting the color of each recording pixel while sequentially reading out the 5 × 5 pixel group from the
[0054]
The recording image data indicating each recording pixel generated in this way is sent from the
[0055]
By the way, the multiple arithmetic circuit of this embodiment is built in the
[0056]
FIG. 9 is a block diagram showing the configuration of the multiple
[0057]
As shown in FIG. 9, the multiple
[0058]
The
[0059]
The
[0060]
The
[0061]
In addition, the
[0062]
FIG. 10 exemplifies a calculation process performed by the
[0063]
As described above, in the multiple
[0064]
In addition, this invention is not limited to the said embodiment, It can deform | transform variously. For example, the number of multiples of 5 stored in advance in the
[0065]
Further, multiples other than 5 can be determined by a combination of a multiple arithmetic circuit and another simple arithmetic circuit. For example, if another arithmetic circuit that determines whether or not the least significant bit of the operand value is 0 can be combined, it can be determined whether the operand value is even or odd. It becomes possible to determine whether or not the value is a multiple of 10.
[0066]
Further, the
[0067]
Further, here, the multiple arithmetic circuit is applied to the
[0068]
【The invention's effect】
As described above, according to the present invention, although addition is performed by the adding means, division and multiplication are not performed. The decoder means only compares the sum obtained by the adding means with the multiple information, and does not perform complicated processing. For this reason, the circuit scale can be reduced and the processing speed can be increased.
[0069]
In addition, according to the present invention, by setting n bits that are equal to or smaller than the bit width that can be handled by the adding means, the processing by the adding means is eliminated and the efficiency of the adding process is improved.
[0070]
Further, according to the present invention, the adding means weights each value indicated by each bit string portion, obtains the sum of the weighted values, and gives the sum to the decoder means. If such weighting is performed, when the operand value is an integer multiple of 5, the sum of the values indicated by the bit string portions is a multiple of 5. Thereby, the information amount of the multiple information compared with the sum total calculated | required by the addition means can be decreased.
[0071]
Further, according to the present invention, the decoder means comprises storage means for storing all multiples of 5 below the reference value as multiple information, and whether or not this sum matches any of the multiples in the storage means. Thus, it is determined whether the operand value is an integer multiple of 5. If all the multiples of 5 below the reference value are stored as multiple information in this way, the information amount of the multiple information is small and the storage capacity of the storage means is small.
[Brief description of the drawings]
FIG. 1 is a side view showing a digital copying machine to which an embodiment of a multiple arithmetic circuit of the present invention is applied.
2 is a block diagram showing a configuration of a facsimile receiving apparatus in the digital copying machine of FIG. 1. FIG.
FIG. 3 is a diagram illustrating an image.
4 is a partially enlarged view showing the image of FIG. 3. FIG.
5 is a diagram illustrating a bit of each pixel in the image portion of FIG. 4;
FIG. 6 is a diagram showing a look-up table in which various weighted 33-bit data patterns and respective identification numbers corresponding to the data patterns are recorded.
FIG. 7 is a diagram showing a pattern table in which respective patterns of 5 × 5 pixel groups corresponding to respective identification numbers are recorded.
8 is a diagram showing a coordinate system handled by a fine adjustment unit in the facsimile receiving apparatus of FIG. 2;
FIG. 9 is a block diagram showing a configuration of a multiple arithmetic circuit according to the present embodiment.
10 is a diagram exemplifying an arithmetic processing process by a multiple arithmetic circuit in FIG. 9;
[Explanation of symbols]
101 Facsimile receiver
102 Facsimile interface (facsimile I / O)
103 Input data processing unit
104 First buffer
105 Pattern matching section
106 Second buffer
107 Fine adjustment section
108 multiple arithmetic circuit
109 Section setting section
110 Adder circuit
111 Decoder part
Claims (4)
各ビット列部分によって示されるそれぞれの値の総和を求める加算手段と、
この総和が予め設定された基準値以下であるか否かを判定し、基準値以下である場合は、この総和と予め設定された倍数情報とを比較して、被演算値が5の整数倍であるか否かを判定し、基準値以下でない場合は、この総和を新たな被演算値として加算手段に与えるデコーダ手段と
を備えることを特徴とする倍数演算回路。Partition means for dividing a binary bit string indicating an operand value into each bit string portion of n bits;
Adding means for calculating the sum of the respective values indicated by each bit string portion;
It is determined whether or not the sum is equal to or less than a preset reference value. If the sum is equal to or less than the reference value, the sum is compared with preset multiple information, and the operand value is an integer multiple of 5 A multiple arithmetic circuit comprising: decoder means for determining whether or not the sum is not equal to or less than a reference value and providing the sum to the adding means as a new operand value.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001203530A JP3793050B2 (en) | 2001-07-04 | 2001-07-04 | Multiple arithmetic circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001203530A JP3793050B2 (en) | 2001-07-04 | 2001-07-04 | Multiple arithmetic circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003015864A JP2003015864A (en) | 2003-01-17 |
JP3793050B2 true JP3793050B2 (en) | 2006-07-05 |
Family
ID=19040143
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001203530A Expired - Fee Related JP3793050B2 (en) | 2001-07-04 | 2001-07-04 | Multiple arithmetic circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3793050B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5169760B2 (en) | 2008-01-28 | 2013-03-27 | 富士通株式会社 | Communication device, reception data size check method, multiple determination circuit, and multiple determination method |
-
2001
- 2001-07-04 JP JP2001203530A patent/JP3793050B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003015864A (en) | 2003-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6084988A (en) | Image processing apparatus | |
JP3203144B2 (en) | Printing control device | |
JPH11175710A (en) | Picture forming device | |
JP2001036734A (en) | Picture processor | |
JP3793050B2 (en) | Multiple arithmetic circuit | |
JP2958981B2 (en) | Document detection device | |
JP5282470B2 (en) | Image processing apparatus, image forming apparatus, and image processing method | |
JP2002014805A (en) | Multiple arithmetic circuit | |
JP3137334B2 (en) | Digital image data processing device | |
JP2752018B2 (en) | Image forming device | |
JP3801840B2 (en) | Image processing device | |
JP2977608B2 (en) | Image edge processing device | |
JP3691732B2 (en) | Image processing device | |
JPH10186768A (en) | Image forming device | |
JP4012833B2 (en) | Image rotation processing apparatus, image rotation processing method, and storage medium | |
JP3021027B2 (en) | Digital image data processing device | |
JP2002084414A (en) | Image processing method and unit and program, and storage medium | |
JP2958984B2 (en) | Image processing device | |
JP3014877B2 (en) | Image processing device | |
JP3151729B2 (en) | Image reading device and image forming device | |
EP0680197A2 (en) | Color image forming apparatus | |
JP2004215242A (en) | Data processor, image processor, and image forming apparatus | |
JPH0662216A (en) | Image forming device | |
JP2922629B2 (en) | Digital image data processing device | |
JP2719473B2 (en) | Image forming device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040611 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060404 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060406 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090414 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100414 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100414 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110414 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120414 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120414 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130414 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |