(57)【特許請求の範囲】
【請求項１】
画像データを記憶する記憶手段と、
前記記憶手段と汎用バスを介して接続され、前記記憶手段から前記汎用バスを介して入力された画像データに画像処理を行う画像処理手段とを有し、
前記画像処理手段は、
前記汎用バスを介して入力された画像データを記憶する第１記憶部と、
前記第１記憶部から転送される画像データに対して変倍処理を行う変倍処理部と、
前記第１記憶部から前記変倍処理部に画像データを転送するための同期信号を所定の周期で発生させる発生部と、
前記変倍処理部により変倍処理された画像データを記憶する第２記憶部と、
前記第２記憶部に記憶された画像データを前記汎用バスへ出力する出力部と、
前記発生部による同期信号の発生を制御する制御部とを有し、
前記制御部は、前記変倍処理部が拡大処理を行う場合の前記所定の周期が、前記変倍処理部が縮小処理を行う場合の前記所定の周期より長くなるよう制御するとともに、前記第２記憶部から前記出力部へ転送すべき画像データがない場合は前記同期信号を発生させ、前記第２記憶部から前記出力部へ転送すべき画像データがある場合は前記同期信号を発生させないよう制御することを特徴とする画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置に関し、特に、ＰＣＩバス等の汎用バスに接続される画像処理ユニット（ボード）の制御に関するものである。
【０００２】
【従来の技術】
従来、複写（コピー）を行う原稿を読み取って、それらの画像データをハードディスクなどの記憶装置に記憶し、ネットワークを介して他のプリンタに出力する機能を備えたデジタル複写機が知られている。これらのデジタル複写機は、外部のコンピュータから印刷データを入力し、プリントアウトするプリント機能や公衆回線からのＦＡＸ受信機能など複数機能を搭載しており、マルチファンクション装置と呼ばれている。
【０００３】
また、これらのマルチファンクション装置はＰＣＩバスなどの汎用バスを備えており、ユーザの要望に応じて画像変倍処理などの複数の画像処理ボードを接続することが可能である。
【０００４】
【発明が解決しようとする課題】
しかしながら、この様なマルチファンクション装置においてＰＣＩバスにより画像処理ボードを追加する方式は、拡張性が高い反面、汎用バスを時分割で使用しているために、途中で処理を中断させない様に各々の画像処理ボードに多くの画像メモリ（ページメモリ）を必要とし、システム全体のコストアップの原因となっていた。
【０００５】
また、ＰＣＩバスからのデータおよびタイミングをラスタ変換すると、ＦＩＦＯ等のラインメモリだけで処理が可能になるが、ＰＣＩバスが他のボードにより占有されている場合にはデータが入力できないあるいは処理された画像データが出力できないために、ラインメモリのＦＩＦＯがオーバフローして画像データが消えてしまうという問題が発生し安定性のあるシステムとは言えなかった。
【０００６】
本発明は、このような状況のもとでなされたもので、変倍処理部における画像データの入出力を安定に行うことのできる画像処理装置を提供することを目的とするものである。
【０００７】
【課題を解決するための手段】
前記目的を達成するため、本発明では、画像処理装置を次の（１）のとおりに構成する。
（１）画像データを記憶する記憶手段と、
前記記憶手段と汎用バスを介して接続され、前記記憶手段から前記汎用バスを介して入力された画像データに画像処理を行う画像処理手段とを有し、
前記画像処理手段は、
前記汎用バスを介して入力された画像データを記憶する第１記憶部と、
前記第１記憶部から転送される画像データに対して変倍処理を行う変倍処理部と、
前記第１記憶部から前記変倍処理部に画像データを転送するための同期信号を所定の周期で発生させる発生部と、
前記変倍処理部により変倍処理された画像データを記憶する第２記憶部と、
前記第２記憶部に記憶された画像データを前記汎用バスへ出力する出力部と、
前記発生部による同期信号の発生を制御する制御部とを有し、
前記制御部は、前記変倍処理部が拡大処理を行う場合の前記所定の周期が、前記変倍処理部が縮小処理を行う場合の前記所定の周期より長くなるよう制御するとともに、前記第２記憶部から前記出力部へ転送すべき画像データがない場合は前記同期信号を発生させ、前記第２記憶部から前記出力部へ転送すべき画像データがある場合は前記同期信号を発生させないよう制御する画像処理装置。
【００１２】
【発明の実施の形態】
以下本発明の実施の形態を画像処理装置の実施例により詳しく説明する。
【００１３】
【実施例】
図１は、実施例である“画像処理装置”の構成を示すブロック図で、画像制御装置と、標準バスであるＰＣＩバスにより接続された２値画像変倍等の画像処理ボードおよびその他の処理を行うＰＣＩボードから構成されている。
【００１４】
図１において、画像制御装置１００は、画像入力デバイスであるスキャナ部２００や画像出力デバイスであるプリンタ部３００と接続し、一方ではＬＡＮ７００や公衆回線（ＷＡＮ）８００と接続することで、画像情報やデバイス情報の入出力を行うコントローラである。
【００１５】
この画像制御装置１００は、多機能デジタル複写機、あるいは次世代複写機などとも呼ばれているスキャナ部２００とプリンタ部３００を備えたマルチファンクション装置に内蔵されている。
【００１６】
ＣＰＵ１０１はシステム全体を制御するコントローラである。ＲＡＭ１０２はＣＰＵ１０１が動作するためのシステムワークメモリであり、画像データを一時記憶するための画像メモリとしても使用される共有メモリである。ＲＯＭ１０３はブートＲＯＭであり、システムのブートプログラムが格納されている。ＨＤＤ１０４はハードディスクドライブで、システムソフトウェア，画像データ，画像出力装置の機能情報を格納する。操作部Ｉ／Ｆ１０６は操作部（ＵＩ）１７０とのインタフェース部で、操作部１７０に表示する画像データを操作部１７０に対して出力する。また、操作部１７０から本システム使用者が入力した情報を、ＣＰＵ１０１に伝える役割をする。Ｎｅｔｗｏｒｋ１１０はＬＡＮ７００に接続し、情報の入出力を行う。ＭＯＤＥＭ１２０は公衆回線８００に接続し、情報の入出力を行う。以上のデバイスがシステムバス１０７上に配置される。
【００１７】
Ｉｍａｇｅ  Ｂｕｓ  Ｉ／Ｆ１０５は、システムバス１０７と画像データを高速で転送する画像バス１０８を接続し、データ構造を変換するバスブリッジである。画像バス１０８は高速バスでシステムバス１０７に比べて高速に画像データがアクセスできるように構成される。画像バス１０８上には以下のデバイスが配置される。ラスターイメージプロセッサ（ＲＩＰ）１５０はＰＤＬコードをビットマップイメージに展開する。スキャナ画像処理部４００は、スキャナ２００からの入力画像データに対し補正，加工，編集を行う。例えばスキャナ部２００の画像データのＭＴＦを補正するための空間フィルタ、コピー動作時の拡大縮小など多値の変倍処理、スキャナ部２００で読み取った輝度データである画像データを濃度データに変換する為に行うテーブル変換処理、多値の画像データを誤差拡散やスクリーン処理よって２値化処理が行われて画像バス１０８上に転送される。
【００１８】
また編集処理においては、コピーする原稿に書かれたマーカペンで囲まれた閉領域を認識して、閉領域内の画像データに対して、影つけ，網掛け，ネガポジ反転等の画像加工処理を行う。プリンタ画像処理部５００は、プリント出力画像データに対して、文字のエッジを滑らかにするためのスムージング処理等を行いプリンタ部３００へデータを出力する。スムージング処理とは２値化された画像データに対してジャギー（斜め線等の白黒境界部に現れる画像のがさつき）を滑らかにする処理である。画像圧縮／伸張部１４０は、多値画像データはＪＰＥＧ、２値画像画像データはＪＢＩＧ，ＭＭＲ，ＭＨの圧縮伸張処理を行う。１３０はＰＣＩブリッジでシステムバス１０７と後述するＰＣＩバス１０９間のデータを変換するためのバスブリッジである。１６０はバスアービタでＰＣＩバス１０９に接続されているＰＣＩデバイスのバス調停を行う。
【００１９】
ＰＣＩバス１０９は、全ての信号線がＰＣＩクロックに同期した３２ビットの信号を扱う同期バスで、アドレスとデータを同じ信号線で時分割（マルチプレクス）で使用してデータ転送が行われる。特に最初にアドレスを指定し以降はデータを連続して転送するバースト転送が可能で画像データなど高速に転送することが可能である。
【００２０】
２値画像変倍処理部１８０は、本発明を特徴づける処理モジュールであり、詳しい処理内容は後述する。基本的には、２値画像データを入力し変倍処理を行い再び２値画像を出力する画像変倍手段である。ＰＣＩボード（１）１９０、ＰＣＩボード（２）１９１はＰＣＩバス１０９に接続されるボードで例えばＣＰＵ１０１のアクセラレータや別の画像処理ボードであり、画像制御装置１００に対してコネクタを介して必要に応じて接続される。
【００２１】
図２はマルチファンクション装置であるスキャナ部２００およびブリンタ部３００の断面図を示したものである。スキャナ部２００の原稿給送装置２０１は原稿を最終頁から順にｌ枚ずつプラテンガラス２０２上へ給送し、原稿の読み取り動作終了後、プラテンガラス２０２上の原稿を排出するものである。原稿がプラテンガラス２０２上に搬送されると、ランプ２０３を点灯し、そしてスキャナユニット２０４の移動を開始させて、原稿を露光走査する。この時の原稿からの反射光は、ミラー２０５，２０６，２０７およびレンズ２０８によってＣＣＤイメージセンサ（以下ＣＣＤという）２０９へ導かれる。このように走査された原稿の画像はＣＣＤ２０９によって読み取られる。ＣＣＤ２０９から出力される画像データは、スキャナ画像処理４００で所定の処理が施される。プリンタ部３００のレーザドライバ３２１はレーザ発光部３０１を駆動するものであり、プリンタ画像処理５００で処理された画像データに応じたレーザ光をレーザ発光部３０１に発光させる。このレーザ光は感光ドラム３０２に照射され、感光ドラム３０２にはレーザ光に応じた潜像が形成される。この感光ドラム３０２の潜像の部分には現像器３０３によって現像剤が付着される。そして、レーザ光の照射開始と同期したタイミングで、カセット３０４およびカセット３０５のいずれかから記録紙を給紙して転写部３０６へ搬送し、感光ドラム３０２に付着された現像剤を記録紙に転写する。現像剤の乗った記録紙は定着部３０７に搬送され、定着部３０７の熱と圧力により現像剤は記録紙に定着される。定着部３０７を通過した記録紙は排出ローラ３０８によって排出され、ソータ３２０は排出された記録紙をそれぞれのビンに収納して記録紙の仕分けを行う。なお、ソータ３２０は仕分けが設定されていない場合は最上ビンに記録紙を収納する。また、両面記録が設定されている場合は、排出ローラ３０８のところまで記録紙を搬送した後、排出ローラ３０８の回転方向を逆転させ、フラッパ３０９によって再給紙搬送路へ導く。多重記録が設定されている場合は、記録紙を排出ローラ３０８まで搬送しないようにフラッパ３０９によって再給紙搬送路へ導く。再給紙搬送路へ導かれた記録紙は前述したタイミングで転写部３０６へ給紙される。
【００２２】
また、本マルチファンクション装置においては、大容量の画像を記憶するハードディスク１０４を備えているので、スキャナ部２００で読み取った画像やＲＩＰ１５０でＰＤＬ画像を展開したものをハードディスク１０４に記憶しておき順番を変えて読み出してソート機能を実現できる。その場合にはソータ３２０の各ビンをプリントする使用者別のメールボックスとして利用することが可能である。
【００２３】
次に図１を用いて、本発明にかかる、ＰＣＩバスを使った機能ボード（特に２値画像変倍１８０）の動作フローについて説明する。
【００２４】
スキャナ２００で読み取られた画像データは、スキャナ画像処理４００で所定の画像処理が行われて２値画像に変換されて画像バス１０８上に転送される。２値画像データは画像圧縮／伸張部１４０にてＪＢＩＧにより圧縮処理が行われ、画像バス１０８，Ｉｍａｇｅ  Ｂｕｓ  Ｉ／Ｆ１０５を介してシステムバス１０７上に転送されてハードディスク１０４で記憶される。
【００２５】
同様にＬＡＮ７００から入力されたデータは、圧縮された画像データであればＮｅｔｗｏｒｋ１１０を介してハードディスク１０４に記憶される。非圧縮の画像データなら一度、画像圧縮／伸張部１４０で圧縮が行われてからハードディスク１０４に記憶されることになる。ハードディスク１０４に記憶した画像データのプリント，２値画像変倍処理を行う場合には、ハードディスク１０４から読み出された圧縮された画像データは、画像圧縮／伸張部１４０で伸張されてからＲＡＭ１０２に書き込まれる。ＲＡＭ１０２に書き込まれた画像データは、プリントの場合にはプリンタ画像処理部５００においてスムージング処理により画像のエッジ部を滑らかにしてからプリンタ３００にて出力される。
【００２６】
また、２値画像変倍処理が行われる場合には、システムにおける共有メモリであるＲＡＭ１０２に記憶された画像データは、システムバス１０７を介してＰＣＩブリッジ１３０でタイミング変換が行われてＰＣＩバス１０９上へ転送される。この際にＰＣＩバス１０９に接続された他のＰＣＩボード１９０，１９１とバス競合が発生しないようにバスアービタ１６０によりバスの調停が行われる。
【００２７】
ＰＣＩバス１０９に接続された２値画像変倍処理部１８０は所定の倍率で変倍処理を行い、ＰＣＩバス１０９，ＰＣＩブリッジ１３０，システムバス１０７を経由してＲＡＭ１０２に書き込まれる。ＲＡＭ１０２に書き込まれた後の画像データは、プリント画像処理部５００で処理が行われてプリンタ３００においてプリントされる。このように、プリンタあるいはスキャナなどリアルタイムで処理を行う場合には、非圧縮で一度ＲＡＭ１０２に画像データを書き込み、その後に２値画像変倍処理やプリンタ出力される。
【００２８】
以下、図３〜４において２値画像変倍の原理について説明する。処理の高速化のために演算処理はハードウエアにて行われるが具体的な回路構成等については後述する。
【００２９】
画像を変倍する処理として、変倍後の注目画素に最も近い元の画像データの画素を選択するニアレスネイバー法が知られている。この方法は最近傍の画素データを使用するだけであるために、モアレの発生や拡大時の画素が荒く見えるなどの画像劣化がひどい。そこで本実施例で使用する２値画像変倍処理は、変倍率に応じてローパスフィルタの特性を制御可能な変倍処理を持ち、不必要に解像度を落とすこと無く、かつモアレなどの周期的な縞模様の発生を抑えた変倍画像を作成する。また２値画像を入力し、多値画像に変換するが続けて２値化まで行い２値画像出力として、画像記憶容量，転送量ともに最小限に抑えることができる。
【００３０】
図３により、変倍率に応じてローパスフィルタの特性を制御する変倍処理部の構成，動作を説明する。１２０１は変倍率入力部、１２０２はアドレス演算処理部、１２０３は位相情報変更処理部、１２０４は係数演算処理部、１２０６はデジタルフィルタ処理部、１２０７はルックアップテーブル（ＬＵＴ）処理部、１２０８は２値化処理部である。１２０５は画像記憶部で図１におけるＲＡＭ１０２と同じものである。変倍率入力部１２０１から変倍率が入力される。これは前述のＣＰＵ１０１から入力されることになる。
【００３１】
位相情報変更手段１２０３は、該変倍率を受け取り、変倍率に応じて位相情報制御パラメータを出力し、また、変倍率に応じて初期位相パラメータをアドレス演算処理部１２０４に出力する。
【００３２】
アドレス演算処理部１２０２は、該変倍率と初期位相パラメータを受け取り、出力画像の画素位置を１画素毎に移動させてアドレス演算をする。具体的には、出力画像上の注目画素が、元画像上のどの画素位置にあたるかを該変倍率から演算し、位相情報を係数演算処理部１２０４に、元画像の画素位置情報をフィルタ処理部１２０６に出力する。
【００３３】
係数演算処理部１２０４は、位相情報と位相情報制御パラメータを入力し、注目画素の近傍に位置する元画像８×８画素それぞれと注目画素との距離を計算し、距離と位相情報制御パラメータに応じて、フィルタに用いるためのフィルタ係数を演算する。その後フィルタ処理部１２０６に各画素の係数をセットする。
【００３４】
画像記憶部１２０５からフィルタ処理部１２０６に、画像データは入力される。画像記憶部１２０５（図１におけるＲＡＭ１０２）に記憶された１ビットの画像データはフィルタ処理部１２０６に入る前に擬似的に８ビットの画像データに変換される。
【００３５】
フィルタ処理部１２０６は、アドレス演算処理部１２０２からの画素位置情報をもとに、処理される元画像の８×８画素のデータを画像記憶部１２０５から受け取り、該フィルタ係数をもとに畳み込み演算をし、多値画像データを出力する。ＬＵＴ１２０７は、該多値画像データを受け取り、レベルに応じた出力値をテーブルを参照して出力する。２値化処理部１２０８は、ＬＵＴ１２０７からの出力結果を２値化して、画像記憶部１２０５に２値画像データとして出力する。以上のような原理により２値画像変倍部１８０は、２値画像データを入力し変倍して再び２値画像データを出力することになる。本実施例では、中間状態の多値画像データをスプールすることなく、２値画像データを出力することで、画像記憶部１２０５の使用容量，画像転送量を最小限に抑えることができる。
【００３６】
図４は、注目画素と注目画素近傍の元画像上の画素を表わした図であり、Ｘマークが注目画素で、○マークが元画像上の画素を表わす。本実施例では、８×８個のフィルタを用いるため、該注目画素近傍の元画像上の画素を８×８個だけ用いることになる。また、注目画素Ｘ（バツ）は、常に該注目画素近傍の元画像上の画素の
３≦ｉ＜４、３≦ｊ＜４
内にくるように設定される。また、アドレス演算処理で出力される該元画像の画素位置情報  ＯＸ，ＯＹは、ｉ＝３、ｊ＝３の位置となるように設定される。
【００３７】
ここで該注目画素近傍の元画像上の画素と注目画素との距離を主走査、副走査独立に求める。後述する回路では、副走査方向に処理を行い、次にその結果を元に主走査方向の処理を行っている。
【００３８】
また、元画像の画素数に対して変換後の画素数（注目画素のこと）が、主／副走査方向で共に端部で８画素あるいは８ラインだけ少なくなってしまう。そこで端部処理として元画像に対してダミーデータを８画素／８ラインだけ追加後に行うことで処理後の画素数を減らさないようにしている。
【００３９】
図５はＰＣＩバスの機能ボードの一つである２値画像変倍部１８０の構成を示すブロック図である。
【００４０】
ＰＣＩコア１８００は、ＰＣＩバスの規格に準拠してプロトコル，タイミング，データの有効幅，エラー処理等を制御するもので、ＰＣＩ転送のＴａｒｇｅｔ動作，Ｍａｓｔｅｒ動作に対応している。１８０１はＰＣＩ・Ｉ／Ｆ回路でＰＣＩバスからの転送される３２ビット幅の画像データを後述の変倍処理部１８０２用に１ビットにラスタ変換したり、変倍処理部１８０２で変倍された１ビットのラスタデータをＰＣＩバスに転送するために３２ビット幅に変換するためのインタフェース回路である。またＰＣＩバスと後段ブロックのラスタ処理におけるタイミング変換する制御回路およびライン変換用のＦＩＦＯを備えていて、ラスタ変換された１ビットの画像データＩｄａｔａ、副走査方向のイネーブル信号ＩＶＥｘと同期信号ＩＶＳｘ、主走査方向のイネーブル信号ＩＨＥｘと同期信号ＩＨＳｘを生成したり、変倍処理部からのデータ要求信号ＩＤａｔａＲＥＱに基づいてラスタデータＩｄａｔａを出力する機能を持っている。また、本発明にかかるエラー処理もこのブロック内で行われる。１８０２は変倍処理部でＰＣＩ・Ｉ／Ｆ回路１８０１からの主走査方向および副走査方向のタイミング信号に基づいて所定の倍率で画像データＩｄａｔａの変換処理が行われる。このブロックは前述の図３，４で説明したアルゴリズムで実現されており、処理の関係で１ビットの画像データを擬似的に８ビットに置き換えてから変倍処理を行い、８ビットの画像信号Ｖｉｄｅｏを出力する。この内部にはラインメモリのＦＩＦＯや演算処理のデータを記憶するＳＲＡＭがある。変倍処理部１８０２で変換された８ビットの画像信号Ｖｉｄｅｏは、画像有効信号ＶＥｘおよびＨＥｘと共に出力され、ＬＵＴ部１８０３のテーブル（ＳＲＡＭで構成）により例えば濃度変換等が行われる（ＬＵＴ部１８０３は図３におけるＬＵＴ１２０７と同じものである）。その後、２値化回路部１８０４により擬似中間調処理やスクリーン処理などにより２値化処理が行われる。２値化回路部１８０４内にも数ラインのラインメモリを備えているが詳細は省略する（２値化回路部１８０４は、図３における２値化処理１２０８と同じものである）。２値化された１ビットの画像データＯｄａｔａは、主走査有効信号ＯＨＥｘ、副走査有効信号ＯＶＥｘと共にＰＣＩ・Ｉ／Ｆ回路１８０１に出力されてＰＣＩバスに必要な３２ビットの画像データに変換される。
【００４１】
図６，７を用いて２値画像変倍ボード１８０におけるラインメモリの動作について説明する。図６は、図５におけるＰＣＩ・Ｉ／Ｆ回路１８０１の内部、図７は、図５における変倍処理部１８０２の内部ブロックを示したものである。
【００４２】
図６のＰＣＩコア部１８００は、ＰＣＩバスと２値画像変倍ボード１８０とのバス制御を行うためのＰＣＩコアと呼ばれているもので、ＤＭＡコントローラであるＤＭＡ  ｃｏｎｔ（Ｃｈ１）１８１４，ＤＭＡ  ｃｏｎｔ．（ｃｈ２）１８１５およびデータをバッファリングするＦＩＦＯ１８１３，ＦＩＦＯ１８１６とそれぞれの制御行うコントローラブロック  Ｔａｒｇｅｔ  Ｃｏｎｔｒｏｌｌ１８１０，Ｍａｓｔｅｒ  Ｃｏｎｔｒｏｌｌ１８１２、ターゲット動作のためのＰｅｒｉｐｈｅｒａｌ  Ｉ／Ｆ１８１１で構成されている。２値画像変換ボード１８０がマスタになり画像データの読み出し，書き込みを行う為にＤＭＡ回路が２チャンネル備えている。また、このボードがターゲットになり図１におけるＣＰＵ１０１がマスタで画像データが送られるターゲット回路を１チャンネル備えている。このターゲット動作では画像データが送られて来る以外に、２値画像変倍１８０の内部のＳＲＡＭへの変倍に必要なパラメータの書き込み、ＬＵＴメモリへの変換データの書き込み、動作モード等の設定のためのレジスタへの書き込みもこの動作モードを使って行われる。
【００４３】
この２値画像変倍ボード１８０のＰＣＩバス上でのデータの受け渡しには、３２ビット画像を８回連続で転送するバーストモードが用いられている。そのために内部のＦＩＦＯは８ダブル・ワード（以下、８Ｄｗｏｒｄと表示）の容量を持っている。
【００４４】
ＰＣＩ・Ｉ／Ｆ回路部１８０１は、ＰＣＩバスと変倍処理に必要なラスタ変換を行うブロックでデータ幅の変換，ラスタ処理のためのタイミング信号生成、および本本発明にかかるエラー検知を行うブロックで構成されている。１８２０はＦＩＦＯで、ＦＩＦＯ  ｃｏｎｔｒｏｌ（３）１８２１により制御されてターゲット動作における画像データの一時保存が行われる。ＰＣＩコア内部と同様に８Ｄｗｏｒｄの容量を持っている。１８２７はＦＩＦＯで、ＦＩＦＯ  ｃｏｎｔｒｏｌ（１）１８２８により制御されてマスタ動作におけるＦＩＦＯ１８１３からの読み出しデータの一時保存が行われる。
【００４５】
１８３０はＦＩＦＯで、ＦＩＦＯ  ｃｏｎｔｒｏｌ（２）１８３１により制御されてマスタ動作における変倍処理データのＦＩＦＯ１８１６への書き込みデータの一時保存が行われる。
【００４６】
一般的には、ＰＣＩバスにおけるＤＭＡ転送は連続したアドレス空間に対して行われる（連続ＤＭＡ転送と呼ぶ）。本実施例における２値画像変倍処理などはラスタ処理で行われるために連続したアドレス空間だけでなく矩形で切り出した領域に対してもＤＭＡ転送できるのが好ましい（ここでは矩形ＤＭＡ転送と呼ぶ）。そこでマスタ動作において通常の連続ＤＭＡ転送以外に所定の矩形領域を転送するための矩形ＤＭＡ制御回路を２チャンネル備えている。１８２６は矩形ＤＭＡ制御（１）でマスタリード用、１８２９は矩形ＤＭＡ制御（２）でマスタライト用である。この矩形ＤＭＡ制御は、ＰＣＩコア部１８００内のＤＭＡ制御回路であるＤＭＡ  ｃｏｎｔ（ｃｈ１）１８１４，ＤＭＡ  ｃｏｎｔ（ｃｈ２）１８１５をライン毎にＰＣＩ転送における先頭アドレスを制御して矩形制御を行う。この動作モードによりＲＡＭ１０２に記憶されている画像データより所定の矩形領域を切り出して２値画像処理を行ったり、処理結果をメモリ内の任意の位置に自由に書き込みを行うことが可能になる。
【００４７】
１８２２はセレクタで、ターゲット動作時の画像データであるＦＩＦＯ１８２０、マスタ動作時の画像データであるＦＩＦＯ１８２７を動作モードに応じて選択する。１８２３はパラレル−シリアル変換を行う回路でＰＣＩからの３２ビットの画像データを１ビットの画像データに変換する回路である。１ビットに変換された画像データは、一度８１９２ビットの容量を持つＦＩＦＯ１８２４に記憶されて順次後段の変倍処理１８０２へ要求信号ＩｄａｔａＲＥＱにより送られる。Ｐ−Ｓ変換１８２３およびＦＩＦＯ１８２４はＣｏｎｔｒｏｌ回路（Ｒｅａｄ）１８２５に制御される。この制御回路により有効画像信号ＩＶＥｘ，ＩＨＥｘ，同期信号ＩＶＳｘ，ＩＨＳｘが作られる。また画像データＩｄａｔａに端部処理のためのダミーデータの挿入が行われる。ダミーデータの値はＰＣＩバスを介して内部レジスタへ設定可能であるが、通常は白データを意味する１の値を設定する。
【００４８】
１８３２はシリアル−パラレル変換を行う回路で２値変倍処理が行われた１ビットの画像データをＰＣＩバスのデータ幅３２ビットに変換するための回路である。２値化処理が行われた画像データは一度８１９２ビットのＦＩＦＯ１８３３に記憶されてからＳ−Ｐ変換部１８３２に転送される。Ｓ−Ｐ変換１８３２およびＦＩＦＯ１８３３はＣｏｎｔｒｏｌ回路（Ｗｒｉｔｅ）１８３５に制御される。
この制御回路は２値化回路１８０４からのイネーブル信号ＯＶＥｘ，ＯＨＥｘに基づいて制御を行い、ＦＩＦＯ１８３０を介してＦＩＦＯ１８１６へ画像データを転送する。
【００４９】
図７は、変倍処理部１８０２の構成を示すブロック図である。図４で説明したとおり、副走査８ライン，主走査８画素の処理を行い変倍処理を行うので内部には８１９２ビットの容量をもつラインメモリが８ライン分、シフトレジスタで構成された８画素のデータを記憶するものである。それ以外に主走査方向の演算処理のために１ライン分のラインメモリを備えている。このＦＩＦＯのメモリ幅は、縮小時と拡大時では処理の順番が違うために縮小時に必要な１０ビットで構成されている。また主走査，副走査を同時処理を行うと大きなメモリや制御回路が必要になる為に、副走査方向の処理を行った結果に対して主走方向の処理を行うことでメモリ容量や回路規模を節約している。
【００５０】
ＰＣＩ・Ｉ／Ｆ回路１８０１から入力された画像データは、８ライン分の容量を持つラインメモリ１８４０に書き込まれ、順にラインシフトが行われてライン毎の出力Ｐ０，Ｐ１，〜Ｐ７のデータが出力される。
【００５１】
１８４３は主走査タイミング制御回路で、主走査変倍率の設定、各種タイミング信号により副走査におけるタイミングを生成する。１８４１は、Ｙ係数テーブルで、図３における係数演算処理１２０４に相当する部分で予めＳＲＡＭに必要な係数データがＰＣＩバスを介して書き込まれている。容量としては１１ビット幅の係数データが８ライン分でかつ３２個の位相（ｐｈａｓｅ）に分けて記憶される。畳み込み演算部１８４２は図３におけるフィルタ処理１２０６に相当するもので、８ライン分のラインメモリ１８４０から入力された１ビットの画像データＰ０〜Ｐ７とＹ係数テーブル１８４１から読み出された１１ビットの係数データＣ０〜Ｃ７の畳み込み演算を行うブロックである。演算結果としては符号付き１０ビットのデータとして出力される。副走査方向の演算後に主走査方向の演算が行われる。この主走査方向の演算は、変倍率に応じて処理の順番が異なる。縮小時には元データから処理後のデータが減る方向にあるので最初に畳み込み演算を行ってから一度ラインメモリ１８４７に書き込み、結果を出力時には有効画像データのみを出力させるように制御される。拡大時には元データより処理結果のデータが増えるので、先にラインメモリにデータ１８４７を書き込み、読み出しに元データの読み出しを制御してから畳込み演算が行われる。このように変倍率により処理に順番を変えることで常に出力結果として有効データのみを後段の処理ブロックへ出力することが可能になる。
【００５２】
１８４４はマルチプレクサで、縮小時は、畳み込み演算部１８４２のデータを選択、拡大時はラインメモリ１８４７から読み出されたデータを選択するものである。マルチプレクサ１８４４より出力されたデータは８段のフリップフロップで構成されたシフトレジスタ１８４５により主走査方向にビットシフトされる。１９４９はＸ係数テーブルで、Ｙ係数テーブル１８４１と同様に予め変倍率に応じた係数データがＰＣＩバスを介して書き込まれている。このメモリ容量もＹ係数テーブルと同じである。シフトレジスタ１８４５からのデータＰ０〜Ｐ７とＸ係数テーブル１８４９から読み出された係数データＣ０〜Ｃ７は同様に畳み込み演算が行われる。拡大時にはそのままマルチプレクサであるＭＵＸ１８５１を介して８ビットの画像データとして出力される。１８４６はマルチプレクサで拡大時には畳み込み演算部１８４２のデータ、縮小時には畳み込み演算部１８５０のデータを選択してラインメモリ１８４７へ転送する。ラインメモリ１８４７は拡大時にはＭＵＸ１８４４へ、縮小時にはＭＵＸ１８５１へ読み出しデータを出力する。主走査方向の演算も副走査タイミング制御回路１８４８により制御されている。副走査タイミング制御回路１８４８は、副走査変倍率により動作が制御されてラインメモリ１８４７，シフトレジスタ１８４５等に対してタイミング信号を与える。また後段ブロックに対して有効信号，同期信号などタイミング信号も出力する。このように変倍処理部１８０２においてラインメモリであるＦＩＦＯを用いてライン毎の処理が行われている。
【００５３】
連続ＤＭＡ転送における、元画像を読み込み時（マスタリード）におけるＲＡＭ１０２の関係を図８、処理結果の書き込み時（マスタライト）におけるＲＡＭ１０２の関係を図９に示す。図８と図９のＲＡＭ１０２のアドレスは重ならないように異なるアドレス領域に設定されている。またハッチング部のメモリ空間は連続アドレスになっている。
【００５４】
図８のＸｓｉｚｅは元画像の主走査方向の画素数、Ｙｓｉｚは副走査方向のライン数を表している。図９のＰｉｘＮｏは処理後の主走査方向の画素数、ＬｉｎｅＮｏは副走査方向のライン数を表しており、それらの関係は次の通りである。
【００５５】
ＰｉｘＮｏ＝Ｘｓｉｚｅ×主走査方向の変倍率
ＬｉｎｅＮｏ＝Ｙｓｉｚｅ×副走査方向の変倍率
連続ＤＭＡ転送におけるＰＣＩ転送数（３２ビットを１回の転送数）は、主走査のＰＣＩ転送数にライン数をかけたものを設定することになる。また、ＰＣＩバスの転送単位は３２ビット、主走査方向のデータ数は画素単位（１ビット）単位なので、主走査方向の最後で３２ビットに満たない転送においては０または１のダミーデータを埋めて転送を行う。
【００５６】
矩形ＤＭＡ転送における元画像を読み込み時（マスタリード）におけるＲＡＭ１０２の関係を図１０、処理結果の書き込み時（マスタライト）におけるＲＡＭ１０２の関係を図１１に示す。図１０と図１１のＲＡＭ１０２のアドレスは重ならないように異なるアドレス領域に設定されている。図においてハッチング領域が連続したメモリ空間より矩形で切り出す領域である。
【００５７】
図１０のＸｗｉｄｔｈ＿ＲＤは、元画像が記憶されたメモリ領域の主走査方向の幅（３２ビット単位）、ＳＴＡＤＲ＿ＲＤは読み出すメモリ領域の先頭アドレス、Ｘｓｉｚｅは元画像の主走査方向の画素数、Ｙｓｉｚは副走査方向のライン数を表している。Ｘｓｉｚｅ＿ｓｔａｒｔは、ＳＴＡＤＲ＿ＲＤの３２ビットのデータの先頭の何ビット目から矩形処理をするかを指定する値である。この値を設定することで矩形領域において画素単位での指定が可能になる。図１１のＸｗｉｄｔｈ＿ＷＲは、処理画像を記憶するメモリ領域の主走査方向の幅（３２ビット単位）、ＳＴＡＤＲ＿ＷＲは書き込むメモリ領域の先頭アドレス、ＰｉｘＮｏは処理後の主走査方向の画素数、ＬｉｎｅＮｏは副走査方向のライン数を表しており、それらの関係は次の通りである。
【００５８】
ＰｉｘＮｏ＝Ｘｓｉｚｅ×主走査方向の変倍率
ＬｉｎｅＮｏ＝Ｙｓｉｚｅ×副走査方向の変倍率
次のラインの先頭アドレス＝ＳＴＡＤＲ＿ＲＤ＋Ｘｗｉｄｔｈ＿ＲＤ
次のラインの先頭アドレス＝ＳＴＡＤＲ＿ＷＲ＋Ｘｗｉｄｔｈ＿ＷＲ
矩形ＤＭＡ転送におけるＰＣＩ転送数（３２ビットを１回の転送数）は、主走査のＰＣＩ転送数を設定することになる。図６で説明した矩形ＤＭＡ制御（１）１８２６、矩形ＤＭＡ制御（２）１８２９の制御回路により主走査方向に１ライン分転送したら次のラインに相当するメモリの先頭アドレスが指定され、同様に所定の転送が行われる。また、ＰＣＩバスの転送単位は３２ビット、主走査方向のデータ数は画素単位（１ビット）単位なので主走査方向の最後で３２ビットに満たない転送においては０または１のダミーデータを埋めて転送を行う。
【００５９】
前述したようにＰＣＩバスからの入力された３２ビット単位の画像信号は、図５のＰＣＩ・Ｉ／Ｆ回路１８０１において１ビットのシリアル信号に変換されると同時に２値変倍処理のためにタイミング信号も同期信号ＩＨＳｘであるラスタ変換される。この同期信号ＩＨＳｘの周期は主走査方向の倍率に応じてＰＣＩバスを介して設定される内部レジスタの値により変更する必要がある。
【００６０】
図１２を用いてＰＣＩ・Ｉ／Ｆ回路１８０１から出力される主走査方向の同期信号ＩＨＳｘの周期について説明する。ＩＨＳｘの周期は、内部レジスタ（以下Ｈｓｘ＿Ｃｏｕｎｔと呼ぶ）に以下のルールに従って設定される。変倍率が等倍あるいは縮小の場合には、処理後の主走査方向のデータ数が元データに対して増えることがないのＸｓｉｚｅをもとに以下の様に設定される。
また、拡大時においては、ＰｉｘＮｏ（Ｘｓｉｚｅ×主走査方向の変倍率）にもとづいて設定される。
【００６１】
等倍／縮小の場合  ＨＳｘ＿Ｃｏｕｎｔ＝６＋（Ｘｓｉｚｅ＋８）＋２０以上を設定
拡大の場合  ＨＳｘ＿Ｃｏｕｎｔ＝６＋ＰｉｘＮｏ＋２０以上を設定
最後の２０の値は、ＬＵＴ回路１８０３，２値化回路部１８０４における処理の遅延量を表したものである。図１２において有効画素領域の前後の４画素分は２値画像変倍における端部処理を行う際のダミー信号で、図５のＰＣＩ・Ｉ／Ｆ回路１８０１においてＰＣＩバスから入力された元データに対して自動的に挿入される。
【００６２】
主走査有効信号ＩＨＥｘは、元画像の有効幅を示す信号で主走査画素数Ｘｓｉｚｅにダミー信号８クロック分を加えたものが有効期間としてＬレベルで出力される。
【００６３】
図１３において副走査方向の同期信号ＩＶＳｘおよび他の信号について説明する。ＩＶＳｘは副走査同期信号で画像１ページに１回だけ最初に出力される。Ｉｄａｔａは１ライン毎の画像信号を示したもので、先端および後端に４ライン分の端部処理に必要なダミー信号が出力される
ＩＤａｔａＲＥＱは変倍処理部１８０２からＰＣＩ・Ｉ／Ｆ回路部１８０１へのデータ出力を要求する信号で、倍率に応じて変倍処理部１８０２内のタイミング発生回路により作られる。図１３は副走査方向を２００％に拡大するために元画像の画像信号Ｉｄａｔａの出力を１ライン毎に制限している。つまり画像信号Ｉｄａｔａの出力がない期間を用いて拡大データを演算し後段のＬＵＴ１８０３以降のブロックへデータを転送する。
【００６４】
ＩＤａｔａＲＥＱ信号は、Ｈレベルでデータ出力を要求、Ｌレベルでデータ出力を禁止する。等倍および縮小時においては元画像をそのまま出力する、あるいは元画像の全てから縮小画像データを演算ためにＩＤａｔａＲＥＱ信号は常にＨレベルの信号が出力されることになる。
【００６５】
ＩＶＥｘ信号は副走査方向における画像有効信号で、変倍後のライン数ＬｉｎｅＮｏにダミー信号８ライン分を加えたものが有効期間としてＬレベルで出力される。
【００６６】
図１４において、画像処理結果をＰＣＩバス１０９へ転送する際のエラー検出についてのタイミングを示す。２値画像変倍ボード１８０におけるエラー検知として、ＰＣＩ関係のエラー検知の他に次の２種類のエラー検知動作を持っている。
【００６７】
これらのエラー検知は、２値画像変倍１８０がＦＩＦＯなどのラインメモリしか持たないためＰＣＩバスの動作速度が遅くなった場合でもデータが上書きされないようにし、所定時間以上（ラインカウント）経過した場合にはエラー信号を発生する。ＰＣＩバスで割込み許可になっている場合には、割込みＩＮＴＡ＃が出力される。
【００６８】
（１）ＰＣＩバス１０９へのデータ出力時に所定時間内にＰＣＩバスが受け取れない場合
レジスタにエラーを検出する所定のライン数を設定する。ライン数とは、図５における主走査方向の同期信号ＩＨＳｘの周期を１ラインとした時の数である。使用するＰＣＩバスのパフォーマンスにより最適ならエラー検知のライン数を設定する。たとえばＰＣＩバスのパフォーマンスが高い時には数値は小さくても良い。ＰＣＩバスからの応答しない時間がラインカウント値より長くなると、割込み要因レジスタを１にセットする。
【００６９】
割込み許可ビットが１ならＩＮＴＡ＃を出力する。
【００７０】
（２）ＰＣＩバス１０９からのデータ入力時に所定時間内にＰＣＩバスからのデータ入力されない場合
前述と同様にレジスタにエラーを検出する所定のライン数を設定する。ＰＣＩバスからの応答しない時間がラインカウント値より長くなると、割込み要因レジスタを１にセットする。
【００７１】
割込み許可ビットが１ならＩＮＴＡ＃を出力する。
【００７２】
エラー検出の仕組みを、前記（１）の処理後のデータをＰＣＩバスを介して書き込む際を例に説明する。（２）の場合においても同様の動作が行われる。
【００７３】
変倍処理部１８０２から要求される主走査同期信号ＩＨＳｘを所定の周期で発生させる際に、ＯｄａｔａＲＥＱのレベルを検知し、ＩＨＳｘが出力されるタイミングでＯｄａｔａＲＥＱ信号のレベルがＨの場合にはＩＨＳｘを出力（Ｌレベル）する。ＯｄａｔａＲＥＱ信号のレベルがＬベルの場合にはＩＨＳｘを出力させない（Ｈレベル）。次に再びＩＨＳｘが出力されるタイミングでＯｄａｔａＲＥＱ信号を確認し有効になるまでＩＨＳｘを間引く処理を行う。ただし、図１４において、ＩＨＳｘが間引かれた場合でも、この期間における主走査有効信号ＩＨＥｘは一度だけ出力される。
【００７４】
▲１▼ＯｄａｔａＲＥＱ信号は、２値化回路部１８０４の出力データＯｄａｔａをＰＣＩ−Ｉ／Ｆ回路１８０１に転送するための出力用ＦＩＦＯ（ダブルバッファ方式を想定）の状態に応じて生成する。
【００７５】
▲２▼前記出力用ＦＩＦＯのリード側（ＰＣＩ−Ｉ／Ｆ回路１８０１への出力側）の全データの出力が完了したことを条件として次ラインのＩＨＳｘ信号の出力を許可する。
【００７６】
▲３▼実際にはＦＩＦＯのリードアドレス（またリード側のｅｍｐｔｙ情報）を監視して、そのラインの最終アドレス時点でＯｄａｔａＲＥＱ信号をｔｒｕｅにすればよい。
【００７７】
▲４▼本来ＩＨＳｘ信号が出力されるタイミングであっても、ＯｄａｔａＲＥＱがｆａｌｓｅであればＩＨＳｘは出力しない（次ラインのタイミングまで休み）。
【００７８】
▲５▼所定ライン期間待ってもＯｄａｔａＲＥＱがｔｒｕｅにならない（ＩＨＳｘ信号が出力できない）場合はエラーとみなす。
【００７９】
▲６▼前記▲５▼の“エラーとみなす”ライン数は内部レジスタにより設定する。
【００８０】
ＰＣＩバスにおける割込み出力ＩＮＴＡ＃の出力は、割込み要因レジスタによりＰＣＩバスのエラー要因と一緒に論理和されて出力される。
【００８１】
以上説明したように、本実施例によれば、ＰＣＩバスに接続された画像処理ボードにおいてラスタ変換する場合に、ＰＣＩバスのデータが入力あるいは出力できない場合にはラインメモリの処理に用いる同期信号を出力しないようにすることで、ＰＣＩバス上に接続された他のＰＣＩボードによりバスが占有された場合においてもラインメモリのオーバフローを起こさせないようにすることができる。
【００８２】
また、所定の期間たってもＰＣＩバスに対してアクセスできない場合はエラー信号を発生して画像処理ボードの処理を停止することでシステムとして安定な動作を行うことができる。
【００８３】
本実施例ではＰＣＩバスを例に説明したが、時分割でバスを利用したり、共有メモリを持つ他の汎用バスあるいは独自バスにおいても同様の効果が得られる。
【００８４】
本実施例では、ＰＣＩバスの３２ビット幅のデータを１ビット幅のデータにラスタ変換する場合について説明したが、このビット幅に限定するものではなくページメモリを持たずラインメモリだけで処理を行う場合にも同じ効果が得られる。
【００８５】
以上説明したように、本発明によれば、記憶部から変倍処理部に画像データを転送するための同期信号の発生周期を変倍率に応じて適切に制御するとともに、変倍処理された画像データを汎用バスに出力できない場合に同期信号を発生させないことで画像データを消失させずに変倍処理を中断する画像処理装置を提供することができる。
【図面の簡単な説明】
【図１】  実施例の構成を示すブロック図
【図２】  スキャナ部とプリンタ部の構成を示す断面図
【図３】  ２値画像変倍の原理を示すブロック図
【図４】  ２値画像変倍の注目画素と変換画素の関係を示す図
【図５】  ２値画像変倍部の構成を示すブロック図
【図６】  図５のＰＣＩコアとＰＣＩ・Ｉ／Ｆ回路の構成を示すブロック図
【図７】  図５の変倍処理部の構成を示すブロック図
【図８】  連続ＤＭＡ転送における元画像のメモリ状態を示す図
【図９】  連続ＤＭＡ転送における処理後のメモリ状態を示す図
【図１０】  矩形ＤＭＡ転送における元画像のメモリ状態を示す図
【図１１】  矩形ＤＭＡ転送における処理後のメモリ状態を示す図
【図１２】  主走査同期信号とこれに関係するタイミング信号を示す図
【図１３】  副走査同期信号とこれに関係するタイミング信号を示す図
【図１４】  エラー検出のタイミングと原理を示す図
【符号の説明】
１００      画像制御装置
１０２      ＲＡＭ
１８０      ２値画像変倍
１８０１    ＰＣＩ・Ｉ／Ｆ回路
１８０２    変倍処理
【図１】
0004027133.tif 000002
【図２】
0004027133.tif 000003
【図３】
0004027133.tif 000004
【図４】
0004027133.tif 000005
【図５】
0004027133.tif 000006
【図６】
0004027133.tif 000007
【図７】
0004027133.tif 000008
【図８】
0004027133.tif 000009
【図９】
0004027133.tif 000010
【図１０】
0004027133.tif 000011
【図１１】
0004027133.tif 000012
【図１２】
0004027133.tif 000013
【図１３】
0004027133.tif 000014
【図１４】
0004027133.tif 000015