以下に、本発明にかかる画像処理装置および画像処理方法の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
(実施の形態)
図1は、本発明の実施の形態にかかる画像処理装置の外観斜視図であり、図2は、図1の画像処理装置の読み取り光学系の概略図であり、図3は、図1の画像処理装置の書き込み転写系の概略図である。
図1の画像処理装置は、ここではデジタル複写機10であって、自動原稿搬送装置(ADF)11に複数枚の原稿をセットすると、原稿台12上に原稿の読み取り面が下向きになるように一枚ずつ繰り出され、原稿画像が読み取られる。ユーザは、デジタル複写機10の操作部13を使って種々の編集要求を指示することができる。読み取られた原稿の画像データは、用紙カセット14にストックされている転写紙を使って、後述する書き込み転写系により転写される。
図2に示す読み取り光学系24は、原稿15の読み取り面が下向きになるように原稿台12上にセットされると、光源20によって照明され、その反射光がミラー21で反射されて、レンズや中継のミラー群などからなる光学系22を通り、順次収束されて反射され、イメージラインセンサを構成するCCD23により読み取られる。この読み取り光学系は、原稿15の読み取り面に対して白抜き矢印Aに示す副走査方向に移動しながら読み取り動作を行うことにより、原稿15の全面の画像データを読み取ることができる。
図3に示す書き込み転写系は、感光体31の表面を帯電体30によって帯電させ、これにレーザダイオード(LD)32からの書き込みレーザを感光体31に照射することにより、レーザを当てたところと当ててないところで帯電状態に差異を作り出し、帯電したところにトナー33を付着させる(現像処理)。
トナー33が付着した感光体31は、付着点34にて反対側から帯電させたローラ35によって転写紙にトナーを乗せ、これを定着ローラ36,37にて紙に固着させる。C(シアン)M(マゼンタ)Y(イエロー)K(ブラック)の4色を使って実現するカラー画像の場合は、このプロセスを4つの感光体構成で実現するもの、あるいは、1つの感光体を別々の色のトナーを使って4回転写する構成によりカラー画像を実現することができる。
図4は、本発明の実施の形態に係る画像処理装置(MFP)100の全体構成図を示している。同図に示す画像処理装置100は、読取り装置101と、プロッタ102と、HDD103と、外部I/F回路部104と、SDカードスロットル106と、バス制御装置107と、メモリ108と、操作表示部109と、CPU110と、N.B.(North Bridge)111と、メモリ112と、S.B.(South Bridge)113と、ROM114と、画像データ処理部115とを備えている。
読取り装置101は、CCD光電変換素子からなるラインセンサと、A/Dコンバータと、それらの駆動回路とを具備し、セットされた原稿をスキャンすることで原稿の濃淡情報をRGB各8ビットからなるデジタルの画像データとして出力する。図5は、図4の読取り装置101の処理ブロック図を示している。図5に示す読取り装置101は、図2の読取り光学系24で原稿の画像データを読み取り、CCD23から得られた輝度レベルをA−D変換部40でデジタル化して、シェーディング補正部41にて光源ムラなどの補正処理を行なって、濃度レベルに変換する。像域分離部42では、画像中のエッジ領域や網点領域などの領域情報を判定し、画像データと並行して出力する。フィルタ43では、MTF特性の補正が行なわれる。色変換部44では、蓄積画像の色空間を統一化させ、変倍部45では、蓄積すべき画像サイズ指定に合わせて、拡大/縮小処理が行なわれる。I/F回路46では、PCIを通して画像データを汎用バスに送り出す。
図4のプロッタ102は、CMYKからなる画像データを受け取ると、レーザービームを用いた電子写真プロセスを使って、転写紙に受け取った画像データを出力する。
外部I/F回路部104は、画像処理装置100と外部装置間で、各種データの送受信を行うために必要な物理的な接続を行うための回路である。本実施の形態では、外部I/F回路部104は、ネットワーク(イーサネット(R))を介してPC121と接続したり、SDカードスロット106を介してSDカードメモリ122と接続したりする。
PC121は、いわゆるパーソナルコンピュータであり、パーソナルコンピュータにインストールされたアプリケーションソフトやドライバを介して、ユーザは本画像処理装置100に対して各種制御や画像データの入出力を行う。SDメモリカード122は、フラッシュメモリを内蔵した小型メモリ装置の一種であり、簡易に着脱可能で携帯性に優れている。
HDD103は、デスクトップパソコンにも使用されている電子データを保存するための大型の記憶装置であり、本画像処理装置100内では主に画像データおよび当該画像データの付帯情報を蓄積する。また、本実施の形態では、IDEを拡張して規格化されているATAバス接続のハードディスクを使用している。
操作表示部109は、本画像処理装置100とユーザのインターフェースを行う部分であり、LCD(液晶表示装置)やキースイッチ等で構成されており、装置の各種状態や操作方法をLCDに表示し、ユーザからのキースイッチ入力を検知する。ユーザは、操作表示部109を操作して所望するモード(コピー動作、スキャナ動作、プリンタ動作、および画像処理等のモード)の設定を行う。
CPU110は、本画像処理装置100の制御全体を司るマイクロプロセッサである。本実施の形態では、例えば、Intel社(R)のx86系CPUを使用することができる。
N.B.111は、パーソナルコンピュータに使用されるチップセットのひとつであり、North Bridgeと呼ばれる汎用の電子デバイスである。主に、CPU−PCIブリッジを含むCPUシステムを構築する際によく使用されるバスのブリッジ機能を汎用回路化したもので、本実施の形態では、CPU−PCIバス、メモリコントローラ、AGBバスとの間をブリッジしている。
S.B.113は、パーソナルコンピュータに使用されるチップセットのひとつであり、South Bridgeと呼ばれる汎用の電子デバイスである。主にPCI−ISAブリッジを含むCPUシステムを構築する際によく使用されるバスのブリッジ機能を汎用回路化したもので、本実施の形態では、ROM114との間をブリッジしている。
ROM114は、CPU110が画像処理装置100の各部の制御を行う場合に使用するプログラム(ブートプログラムを含む)が格納されるメモリである。
メモリ112は、CPU110が画像処理装置100の各部の制御を行う際に、プログラムや中間処理データを一時的に記憶するメモリである。CPU110は高速処理が求められるため、通常起動時にROM114に記憶されたブートプログラムにてシステムを起動し、その後は高速にアクセス可能なメモリ112に展開されたプログラムによって処理を行う。本実施の形態では、メモリ112として、規格化されパーソナルコンピュータに使用されているDIMMを使用している。
バス制御装置107は、本画像処理装置100内で必要な画像データや制御コマンド等の各種データを送受信するデータバスの制御回路であり、画像の回転などの編集機能、あるいは複数種のバス規格間のブリッジ機能も有している。本実施の形態では、バス制御装置107は、操作表示部109、読取り装置101、プロッタ102、画像データ処理部115とは規格化された汎用拡張バスであるPCIバス、HDD103とはATAバス、メモリ108とはDIMMバス、N.B.111とはAGPバスを介して接続され、ASIC化されている。
メモリ108は、複数種のバス規格間をブリッジする際の速度差や、接続された部品自体の処理速度差を吸収するために、一時的にデータを記憶するためのメモリである。本実施の形態では、メモリ108として、規格化されパーソナルコンピュータに使用されているDIMMを使用している。
画像データ処理部115は、本画像処理装置100内で必要となる画像データに対する処理を行うものである。図6は、図4の画像データ処理部115の処理ブロック図を示している。画像データ処理部115は、図6に示すように、PCIバスからの各種データを送受するための回路であり、汎用拡張バスであるPCIバスと、画像データ処理部115内のローカルデータバスをブリッジするI/F回路50と、PCIバスから受け取ったデータに対して必要に応じて平滑化/MTFフィルタ処理を行なうポストフィルタ51と、RGB→CMYK変換を行なう色補正部52と、CMYKに変換された後のデータで画像のエッジ領域などを判定するCMYK特徴量抽出部53と、CMYKデータを受け取るとユーザの所望するモード情報に従って明るさを調整して出力するγ処理部54と、2bitや8bitなど、蓄積または出力画像の画像データフォーマットに合わせて量子化を行なう階調処理部55とを備えている。なお、γ処理部54では、CMYK特徴量抽出部53や図5の像域分離部42からの結果により、特定の領域でγカーブを変えることで階調性を変えることも可能である。また、階調処理部55では、量子化として単純なbit有効画素数に従った量子化のほか、誤差拡散処理やディザ処理も行なう。 さらに、階調処理部55では、CMYK特徴量抽出53や図5の像域分離部42からの結果により、特定の領域で誤差拡散処理などのテーブルを変えることで階調表現を変えることも可能である。
図4〜図6を参照しながら本実施の形態にかかる画像処理装置100の動作例[コピー動作、スキャナ動作、プリンタ動作]について説明する。
[コピー動作]
まず、ユーザは原稿を読取り装置101にセットし、操作表示部109で所望するモード等の設定とコピー開始の入力を行う。操作表示部109は、ユーザから入力された情報を機器内部の制御コマンドデータに変換して発行する。発行された制御コマンドデータは、PCIバス、バス制御装置107、AGBバスを介してCPU110に通知される。
CPU110は、コピー開始の制御コマンドデータに従って、コピー動作プロセスのプログラムを実行し、コピー動作に必要な設定や動作を順に行っていく。以下に動作プロセスを順に説明する。
読取り装置101では、原稿をスキャンし、RGB各8ビットからなる画像データをPCIバスおよびバス制御装置107を介してメモリ108に蓄積する。CPU110は、画像データ処理部115に、ユーザの所望するモードに従った処理の設定を行う。ここで、ユーザがデータ保存を所望する場合、メモリ108内のRGB各8ビットの画像データをHDD103に保存することにしてもよい。メモリ108に蓄積されたRGB各8ビットの画像データは、画像データ処理部115に送られる。
画像データ処理部115は、図6に示すI/F回路50を介してPCIバスからの各種データを送受信する。これは汎用拡張バスであるPCIバスと、画像データ処理内のローカルデータバスをブリッジする回路である。画像データ処理部115では、PCIバスから受信したRGB各8ビットの画像データに対して、ポストフィルタ51は必要に応じて平滑化、あるいはMTFフィルタ処理を行なう。
色補正部52では、RGBデータをCMYKデータに変換し、それをCMYK特徴量抽出部53にて画像のエッジ領域などを判定する。そして、γ処理部54では、CMYK各8ビットの画像データを受け取るとユーザが所望するモード情報に従って明るさを調整して出力する。また、γ処理部54では、CMYK特徴量抽出部53や図5の像域分離部42からの結果により、特定の領域でγカーブを変えることで階調性を変えることも可能である。
画像データ処理部115の階調処理部55では、2bitや8bitなど、蓄積あるいは出力画像の画像データフォーマットに合わせて量子化を行なう。量子化としては単純なbit有効画素数に従った量子化のほか、誤差拡散、ディザも行なう。 また、CMYK特徴量抽出部53や像域分離部42からの結果により、特定の領域で誤差拡散処理などのテーブルを変えることで階調表現を変えることも可能である。
画像データ処理部115で処理されたCMYK各2ビットの画像データは、I/F回路50により送出され、PCIバスおよびバス制御装置107を介して再度、メモリ108に蓄積される。ここで、ユーザがデータ保存を所望する場合、メモリ108内のCMYK各2ビットの画像データをHDD103に保存してもよい。
メモリ108に蓄積したCMYK各2ビットの画像データは、PCIバスおよびバス制御装置107を介して、プロッタ102へ送られる。プロッタ102は、受け取ったCMYK各2ビットの画像データを転写紙に出力し、原稿のコピーが生成される。
[スキャナ動作]
図4〜6を参照して、スキャナ動作を説明する。まず、ユーザは原稿を読取り装置101にセットし、所望するモード等の設定とスキャナ送信開始の入力を操作表示部109に行う。操作表示部109は、ユーザから入力された情報を、機器内部の制御コマンドデータに変換して発行する。発行された制御コマンドデータは、PCIバス、バス制御装置107、およびAGBバスを介してCPU110に通知される。
CPU110は、スキャナ開始の制御コマンドデータに従って、スキャナ送信動作プロセスのプログラムを実行し、スキャナ送信動作に必要な設定や動作を順に行っていく。以下に動作プロセスを順に説明する。
読取り装置101では、原稿をスキャンし、RGB各8ビットからなる画像データを、PCIバスおよびバス制御装置107を介してメモリ108に蓄積する。CPU110は、画像データ処理部115に、ユーザの所望するモードに従った処理の設定を行う。ここで、ユーザがデータ保存を所望する場合、メモリ108内のRGB各8ビットの画像データをHDD103に保存することにしてもよい。メモリ108に蓄積されたRGB各8ビットの画像データは、画像データ処理部115に送られる。
画像データ処理部115では、図6のI/F回路50を介してRGB各8ビットからなる画像データを受信すると、ポストフィルタ51で必要に応じて平滑化やMTFフィルタ処理が行なわれ、色補正部52でRGBデータをCMYKデータに変換し、CMYK特徴量抽出部53で画像のエッジ領域などを判定する。そして、γ処理部54で明るさが調整され、階調処理部55で階調が処理された後、RGB各8ビットの画像データは、I/F回路150により送出され、PCIバスおよびバス制御装置107を介して再度、メモリ108に蓄積される。ここで、ユーザがデータ保存を所望する場合、メモリ108内のRGB各8ビットの画像データをHDD103に保存してもよい。
メモリ108に蓄積されたRGB各8ビットの画像データは、バス制御装置107、AGBバス、N.B.111、PCIバス、および外部I/F回路104を介して、ネットワークを介して外部サーバーやPC121にスキャナ送信される。
[プリンタ動作]
図4〜図6を参照して、プリンタ動作を説明する。ユーザは、PC121のアプリケーションソフトを通じて電子ドキュメントの印刷を行う。PC121のプリンタドライバソフトは、印刷指定された電子ドキュメントのレンダリングを行いCMYKの画像データを生成する。
PC121は、ネットワークを介して、画像処理装置100にプリント要求および生成したCMYK各2ビットの画像データを送出する。CPU110は、外部I/F回路部104、PCIバス、N.B.111を介して、PC121からのプリント要求の制御コマンドデータを受け取ると、プリンタ動作プロセスのプログラムを実行し、必要な設定や動作を順に行っていく。以下に動作プロセスを順に説明する。
PC121からネットワークを介して送られてくるCMYK各2ビットの画像データは、外部I/F回路部104、PCIバス、N.B.111、およびバス制御装置107を介して、メモリ108に蓄積される。メモリ108に蓄積されたCMYK各2ビットの画像データは、画像データ処理部115に送られる。
画像データ処理部115では、図6のI/F回路50を介してCMYK各2ビットの画像データを受信すると、ポストフィルタ51で必要に応じて平滑化やMTFフィルタ処理が行なわれ、色補正部52でRGBデータをCMYKデータに変換し、CMYK特徴量抽出部53で画像のエッジ領域などを判定する。そして、γ処理部54でCMYK各2ビットの画像データをユーザが所望するモード情報に従って明るさを調整し、階調処理部55が階調処理を行う。画像データ処理部115で処理されたCMYK各2ビットの画像データは、I/F回路50により送出され、PCIバスおよびバス制御装置107を介して再度、メモリ108に蓄積される。メモリ108に蓄積されたCMYK各2bitの画像データは、PCIバスおよびバス制御装置107を介して、プロッタ102に送られる。プロッタ102は受け取ったCMYK各2bitの画像データを転写紙に出力し、プリンタ処理が行われる。
本実施の形態においては、ユーザから要求される画質を実現する他、スキャナやプロッタなどを備えた画像処理装置(MFP)の構造的な画像劣化を補正するため、CPU110は、画像データ処理部115に対して、画像の向きにあわせて画像処理を変更するように制御する。以下、その場合のCPU110の[制御例1]〜[制御例7]について説明する。
[制御例1]
図7〜図10を参照して、CPU110の制御例1を説明する。図7−1は、原稿の向きと転写紙の向きが同じ場合の例を示す図であり、図7−2は、原稿の向きと転写紙の向きが異なる場合の例を示す図であり、図8は、原稿の向きと転写紙の向きが異なる場合の画像データの流れを示す図であり、図9は、制御例1における制御データのやり取りを示す図であり、図10は、制御例1の制御手順を説明するフローチャートである。
まず、ユーザが図8に示す読取り装置101に原稿を設置し、操作表示部109にて転写紙を選択し、コピー動作を要求した場合について考える。転写紙の選択方法には、ユーザが直接転写紙を指定する手動用紙選択と、画像処理装置(MFP)100にお任せで転写紙を指定する自動用紙選択とがある。自動用紙選択では、どの用紙に転写するかを画像処理装置(MFP)100側で自動的に判断するものである。
上記した手動用紙選択と自動用紙選択のいずれの場合も、ユーザが設置した原稿の向きと選択された転写紙の向きとが、図7−1に示すように同じ場合と、図7−2に示すように異なる場合とがある。そこで、図8を用いて、原稿の向きと転写紙の向きが異なる場合の画像データの流れを説明する。
図8の矢印(1)に示すように、読取り装置101にて読み取られた原稿の画像データは、汎用バスに載って画像データ処理部115に送られる。このとき、汎用バスを介して画像データを画像データ処理部115に送る際に、一旦メモリ108を経由して(破線矢印部分)送ることも可能である。
画像データ処理部115で処理された画像データは、図8の矢印(2)に示すように、汎用バスを通ってメモリ108に格納される。ここでは、原稿の向きと転写紙の向きとが異なるため、図8の矢印(3)に示すように、一旦メモリ108に格納された画像データをバス制御装置107に通すことで、画像の向きを90°回転させ、メモリ108に再度貼り付ける。
メモリ108に格納された90°回転後の画像データは、図8の矢印(4)に示すように、プロッタ102に送られ、転写紙に印字されると同時に、HDD103にも画像データを送付して蓄積させる。
また、図8において、原稿の向きと転写紙の向きが同じ場合は、画像データを90°回転させる必要がないため、図8の矢印(3)に示す画像データの流れが不要となる。
続いて、制御例1における制御データの流れと、その制御手順とを図9および図10を用いて説明する。画像処理制御手段としてのCPU110は、図9の矢印(1)に示すように、操作表示部109からユーザによる画像処理の設定内容を受け取る(図10のステップS10)。
CPU110は、図9の矢印(2)に示すように、ユーザによる画像処理の設定内容に基づいて、読取り装置101に処理内容を伝え、読み取り処理を実行させる(図10のステップS11)。
CPU110は、図9の矢印(3)に示すように、読取り装置101で読み取られた原稿情報を受け取る(図10のステップS12)。
続いて、CPU110は、図9の矢印(4)に示すように、プロッタ102から転写紙の設置情報(転写紙の向き)を受け取る(図10のステップS13)。
CPU110は、受け取った原稿情報と転写紙の設置情報とを比較し、原稿と転写紙の画像の向きを判断する(図10のステップS14)。
図10のステップS14において、原稿と転写紙の向きが同じと判断すると、図9の矢印(5)に示すように、CPU110は同方向の画像処理を画像データ処理部115に設定する(図10のステップS15)。
また、図10のステップS14において、原稿と転写紙の向きが異なると判断すると、図9の矢印(5)に示すように、CPU110は90度ずれた方向の画像処理を画像データ処理部115に設定する(図10のステップS16)。
そして、これらの設定は読取り原稿毎に制御されるため、複数ページの読み取りや複数部を出力する際に、途中で用紙が切れた場合は、画像処理装置(MFP)100は、同じサイズの用紙が設置されているかを判断し、その用紙の向きが異なる場合は、設定を切り替えるようにする。
以上説明したように、制御例1によれば、CPU110は、原稿と転写紙との向きの関係を判断し、向きが同じなら同方向の処理を行い、向きが異なるなら90度ずれた方向の処理を行うように画像データ処理部115を制御する。このため、スキャナやプロッタの特性の影響を排除した適正な画像データを出力することが可能となる。
[制御例2]
図11〜図13を参照して、CPU110の制御例2を説明する。図11−1は、ユーザによる原稿方向の指定が主走査の向きとなるようにした場合の説明図であり、図11−2は、ユーザによる原稿方向の指定が副走査の向きとなるようにした場合の説明図であり、図12は、図11の原稿方向指定に対して選択された転写紙における画像回転の組み合わせ例を示す図であり、図13は、制御例2の制御手順を説明するフローチャートである。
操作表示部109において、ユーザが指定できる処理としては、原稿方向指定がある。例えば、図11−1に示すように、画像方向が主走査の向きとなるように指定する場合と、図11−2に示すように、画像方向が副走査の向きとなるように指定する場合とが考えられる。
制御例2では、ユーザによるそれぞれの原稿方向指定に対して、転写紙が縦あるいは横で選ばれた場合に、画像回転処理の有無の組み合わせを図12に示している。この場合の制御フローは、図13のようになる。
制御例2の制御手順を図13のフローチャートに基づいて説明する。CPU110は、操作表示部109からユーザの設定内容を受け取る(ステップS20)。この設定内容には、ユーザによる原稿方向指定が含まれる。
続いて、CPU110は、読取り装置101に対してその処理内容を伝え(ステップS21)、原稿の読み取り処理を実行させる。
CPU110は、読取り装置101で読み取られた原稿情報を受け取る(ステップS22)。また、CPU110は、これと並行してプロッタ102から転写紙の設置情報を受け取る(ステップS23)。
CPU110は、このようにして受け取ったユーザによる原稿方向指定内容(ステップS20)と、原稿の向きに関する情報(ステップS22)と、転写紙の選択情報(ステップS23)とを比較することによって、画像の向きが同じか否かを判断する(ステップS24)。
ステップS24において、画像の向きが同じであるとCPU110が判断すると、ステップS25に移行して、同方向の画像処理を画像データ処理部115に設定する。
また、ステップS24において、画像の向きが異なるとCPU110が判断すると、ステップS26に移行して、90度ずれた方向の画像処理を画像データ処理部115に設定する。
以上説明したように、制御例2によれば、CPU110は、ユーザによる原稿方向指定内容と、原稿向き情報と、転写紙選択情報とに基づいて画像の向きを判断し、画像の向きが同じなら同方向の処理を行い、画像の向きが異なるなら90度ずれた方向の処理を行うように画像データ処理部115を制御する。このため、スキャナやプロッタの特性の影響を排除した適正な画像データを出力することが可能となる。
[制御例3]
図14〜図18を参照して、CPU110の制御例3を説明する。図14−1は、2つの原稿を一つの転写紙にまとめて出力する集約処理例を示す図であり、図14−2は、4つの原稿を一つの転写紙にまとめて出力する集約処理例を示す図であり、図15−1は、図14−1の集約処理において指定した原稿方向が主走査の向きの場合の転写紙との関係を示す図であり、図15−2は、図14−1の集約処理において指定した原稿方向が副走査の向きの場合の転写紙との関係を示す図であり、図16は、図14−2の集約処理における原稿と転写紙との関係を示す図であり、図17は、制御例3における画像データの流れを示す図であり、図18は、制御例3の制御手順を説明するフローチャートである。
この制御例3では、ユーザが操作表示手段としての操作表示部109にて集約処理を指定することもできる。集約処理とは、画像編集処理の一つで、複数の原稿を一つの転写紙にまとめて出力するものである。図14−1は、2つの原稿を一つの転写紙(一面)にまとめて出力する2In1処理と称する集約処理であり、図14−2は、4つの原稿を一つの転写紙(一面)にまとめて出力する4In1処理と称する集約処理である。
そして、図15−1では、2In1の集約処理をユーザが選択し、かつ原稿の画像方向が主走査の向きを選択した場合の原稿と転写紙の向き(回転)の関係を示している。また、図15−2では、2In1の集約処理をユーザが選択し、かつ原稿の画像方向が副走査の向きを選択した場合の原稿と転写紙の向き(回転)の関係を示している。この2In1の集約処理の場合(図15−1、図15−2)の向きの関係は、集約処理を行なわない場合(図12)と反対の結果になっていることがわかる。
また、図16では、4In1の集約処理を選択した場合の原稿と転写紙の向き(回転)の関係を示している。この4In1の集約処理の場合(図16)の向きの関係は、集約処理を行なわない場合(図12)と同じ結果になっていることがわかる。
そこで、図17を用いて2In1の集約処理を行った場合の画像データの流れを説明する。図17の矢印(1)に示すように、読取り装置101にて読み取られた原稿の画像データは、汎用バスに載って画像データ処理部115に送られる。但し、このとき汎用バスから画像データ処理部115に送られる際に、破線矢印で示すように、一度メモリ108を経由してから画像データ処理部115に送ることも可能である。
そして、図17の矢印(2)に示すように、画像データ処理部115で処理された画像データは、汎用バスを通ってメモリ108に格納される。
また、集約処理される2枚目の原稿を読取り装置101にて読み取り、図17の矢印(1)と同様に画像データ処理部115に送られる。2枚目の原稿の画像データも画像データ処理部115で処理され、図17の矢印(2)と同様に汎用バスを通ってメモリ108に格納される。このメモリ108に格納されるイメージは、前に蓄積されている1枚目の画像と集約したイメージを作るよう、メモリ108上に格納される。
メモリ108に格納された集約イメージの画像データは、図17の矢印(5)に示すように、バス制御装置107を通って90°回転処理され、再度メモリ108に貼り付けられる。
メモリ108に格納された回転処理後の画像データは、図17の矢印(6)に示すように、プロッタ102に送って転写紙に印字すると同時に、HDD103にも画像データを送付し、蓄積することも可能である。
この制御例3におけるCPU110の制御手順について、図18のフローチャートを用いて説明する。CPU10は、操作表示部109からユーザの設定内容を受け取る(ステップS30)。このユーザの設定内容には、ユーザの設定した原稿の指定方向が含まれている。
CPU110は、読取り装置101に対して処理内容を伝え(ステップS31)、原稿の読み取り動作を実行させる。CPU110は、読取り装置101が読み取った原稿情報を受け取り(ステップS32)、また、プロッタ102から転写紙の設置情報も受け取る(ステップS33)。
そして、CPU110は、受け取った原稿の向き情報と、集約指定情報と、転写紙選択情報とを比較して、画像の向きが同じか否かを判断する(ステップS34)。ステップS34にて画像の向きが同じと判断された場合は、CPU110が画像データ処理部115に対して、同方向の処理を設定するように制御する(ステップS35)。また、ステップS34にて画像の向きが異なると判断された場合は、CPU110が画像データ処理部115に対して、90度ずれた方向の処理を設定するように制御する(ステップS36)。
以上説明したように、制御例3によれば、CPU110は、原稿の向き情報と、集約指定情報と、転写紙選択情報と画像の向きを判断し、画像の向きが同じなら同方向の処理を行い、画像の向きが異なるなら90度ずれた方向の処理を行うように画像データ処理部115を制御する。このため、スキャナやプロッタの特性の影響を排除した適正な画像データを出力することが可能となる。
[制御例4]
図19を参照して、CPU110の制御例4を説明する。図19は、ユーザが原稿方向と集約編集を同時に指定した場合の制御例4を説明するフローチャートである。図19では、ユーザが操作部表示部109にて原稿方向と集約編集とを同時に指定した場合である。
図19において、CPU110は、操作表示部109からユーザの設定内容を受け取る(ステップS40)。この設定内容には、ユーザが設定した原稿方向の指定情報が含まれている。
そして、CPU110は、読取り装置101に対して処理内容を伝え(ステップS41)、原稿の読み取り動作を実行させる。CPU110は、読取り装置101が読み取った原稿情報を受け取り(ステップS42)、また、プロッタ102から転写紙の設置情報も受け取る(ステップS43)。
そして、CPU110は、受け取った原稿方向の指定情報と、集約指定情報と、転写紙選択情報とを比較して、画像の向きが同じか否かを判断する(ステップS44)。ステップS44にて画像の向きが同じと判断された場合は、CPU110が画像データ処理部115に対して、同方向の処理を設定するように制御する(ステップS45)。また、ステップS44にて画像の向きが異なると判断された場合は、CPU110が画像データ処理部115に対して、90度ずれた方向の処理を設定するように制御する(ステップS46)。
以上説明したように、制御例4によれば、CPU110は、原稿方向指定情報と、集約指定情報と、転写紙選択情報とを比較して画像の向きを判断し、画像の向きが同じなら同方向の処理を行い、画像の向きが異なるなら90度ずれた方向の処理を行うように画像データ処理部115を制御する。このため、スキャナやプロッタの特性の影響を排除した適正な画像データを出力することが可能となる。
[制御例5]
図20〜図25を参照して、CPU110の制御例5を説明する。図20は、画像データ処理部115の階調処理部55をディザ処理部とした場合の構成ブロック図であり、図21−1は、4×4のディザマトリクス例を示す図であり、図21−2は、6×6のディザマトリクス例を示す図であり、図21−3は、8×8のディザマトリクス例を示す図であり、図22は、画像データ処理部115の階調処理部55を誤差拡散処理部とした場合の構成ブロック図であり、図23は、誤差拡散マトリクス例を示す図であり、図24は、変動しきい値マトリクス例を示す図であり、図25は、制御例5の制御手順を説明するフローチャートである。ここでは、画像の向きに合わせて処理を変更する画像データ処理部115内の階調処理部55について説明する。
図6に示す画像データ処理部115内の階調処理部55は、ユーザが要求する画像の種類によって選択される量子化処理が異なる。例えば、ディザ処理は、階調性を重視した画像や二値のプリンタ出力時に用いられ、誤差拡散処理は、階調性の保存と先鋭性のバランスを保った処理として適用される。
図20は、階調処理部55をディザ処理部とした場合の構成例であって、アドレスカウンタ制御60、しきい値テーブル制御部61、比較回路62などを備えている。アドレスカウンタ制御部60は、画像データの制御信号群であるxlgateとxfgateとを受け取り、主走査側および副走査側についてカウントを行なって、このカウント値をしきい値テーブル制御部61へ渡す。この主走査方向、および副走査方向のカウント値は、該当する画像データの位置を指し示すことになる。
しきい値テーブル制御部61は、図21−1〜図21−3に示す各ディザマトリクス例に示すように、選択されたしきい値テーブルの大きさ、4×4マトリクス/6×6マトリクス/8×8マトリクス等に従がってマトリクスを選択し、アドレスカウンタ制御部60から受け取った主走査/副走査方向のカウント値と比較して、処理する画像データの位置と一致するしきい値データをマトリクスの中から選び出し、比較回路62へ送る。例えば、図21−1に示す4×4マトリクスが選択された場合は、先頭ラインのしきい値は主走査方向に向かって、「aa ab ac ad aa ab ac ad aa ab ………」という流れでしきい値を繰り返す。また、主走査方向の先頭画素は副走査方向に向かって、「aa ba ca da aa ba ca da aa ba ………」という流れでしきい値を繰り返す。ここでは、一つのしきい値を使って量子化するため二値化処理であるが、しきい値テーブルを複数持つマトリクスで量子化を行うことにより多値化処理も可能となる。
また、図22は、階調処理部55を誤差拡散処理部とした場合の構成例であって、誤差加算部70、量子化部71、誤差算出部72、誤差マトリクス蓄積部73、誤差演算部74などを備えている。誤差加算部70は、処理対象画素となる入力画像データDijと、誤差演算部74から受け取った入力画像データDijに対しての周辺誤差情報Eを受け取り、それらの和を取って、誤差補正後の入力画素データSijを出力する。量子化部71は、誤差補正後の入力画素データSijと、CPU110から受け取った求める量子化数(入力画像データMビットに対し、Nビット、但しM>N)に合わせた量子化しきい値Tijを受け取り、階調処理を行なって、出力画像データGijを出力する。ここで、CPU110が量子化部71を通ってRAM75に設定するしきい値マトリクス例を図24に示している。
誤差算出部72は、誤差補正後の入力画素データSijと、出力画像データGijとを受け取って、入力画像データDijを量子化した際の量子化誤差Eijを求める。この量子化誤差Eijは、誤差マトリクス蓄積部73において、ラインメモリなどの記憶素子に対して、書き込み/読み出しされる。誤差演算部74は、誤差マトクリス蓄積部73から得られた、図23に示すような形状の誤差拡散マトリクスを生成し、各マトリクス係数に従って、処理対象画素となる入力画像データDijの周辺誤差情報を算出する。
図23に示すような誤差マトリクスとその係数の場合、注目画素Dijに対する周辺誤差情報Eは、E=(Di−2,j−1+2×Di−1,j−1+4× Di,j−1+2× Di+1,j−1+Di+2,j−1+2×Di−2,j+4×Di−1,j)/16で与えられる。
上記したように、図20のディザ処理部や図22の誤差拡散処理部では、マトリクスの形状や誤差拡散の係数の形によって方向性を持たせることで、人間の視覚的な特性や、画像処理装置(MFP)が持つバンディングなどの対応を行なっている。
図25を参照して、CPU110の制御例5の手順を説明する。図25において、CPU110は、操作表示部109からユーザの設定内容を受け取る(ステップS50)。この設定内容には、ユーザが設定した原稿方向の指定情報が含まれている。
そして、CPU110は、読取り装置101に対して処理内容を伝え(ステップS51)、原稿の読み取り動作を実行させる。CPU110は、読取り装置101が読み取った原稿情報を受け取り(ステップS52)、また、プロッタ102から転写紙の設置情報も受け取る(ステップS53)。
CPU110は、受け取った原稿情報と転写紙情報とを比較して、画像の向きが同じか否かを判断する(ステップS54)。ステップS54にて画像の向きが同じと判断された場合は、CPU110が画像データ処理部115に対して、CPU110が持つマトリクスや誤差拡散係数をそのまま設定するように制御する(ステップS55)。また、ステップS54にて画像の向きが異なると判断された場合は、CPU110が持つマトリクスや誤差拡散係数を90度回転して設定するように制御する(ステップS56)。
以上説明したように、制御例5によれば、CPU110は、原稿情報と転写紙情報とを比較して画像の向きを判断し、画像の向きが同じならCPU110が持つマトリクスや誤差拡散係数をそのまま設定し、画像の向きが異なるならCPU110が持つマトリクスや誤差拡散係数を90度回転して設定するように画像データ処理部115を制御する。このため、スキャナやプロッタの特性の影響を排除した適正な画像データを出力することが可能となる。
[制御例6]
図26を参照して、CPU110の制御例6を説明する。図26は、制御例6における画像データの流れを示す図である。ここでは、画像データ処理部115の内容を変更しないで、CPU110が原稿と転写紙の画像方向の違いを吸収する方法を図26に基づいて説明する。図26は、原稿と転写紙の画像の向きが異なる場合の画像データの流れを示している。
図26の矢印(1)に示すように、読取り装置101で読み取られた原稿の画像データは、汎用バスに載ってメモリ108へ送られる。
そして、図26の矢印(2)に示すように、メモリ108から画像データ処理部115に画像データが送られる。さらに、図26の矢印(3)に示すように、画像データ処理部115で処理された画像データは、汎用バスを通ってメモリ108に再び格納される。
メモリ108に格納された回転処理後の画像データは、図26の矢印(4)に示すように、プロッタ102に送って転写紙に印字すると同時に、HDD103にも画像データを送付し、蓄積することも可能である。
この制御例6では、原稿と転写紙の画像方向が異なっている場合、図26の回転処理手段としてのバス制御装置107を通ってメモリ108へ蓄積される時点で90°回転処理を行うように制御する。また、これ以外にも、図26のメモリ108から回転処理手段としてのバス制御装置107を通って汎用バスに画像データを流す際に、回転処理を行って出力するよう制御すれば、画像データ処理部115における制御内容の差を無くすことができる。
以上説明したように、制御例6によれば、原稿と転写紙の画像方向が異なっている場合、CPU110は、読取り装置101で読み取った画像データをメモリ108へ蓄積する前に通るバス制御装置107にて90°回転処理を行うように制御する。あるいは、CPU110は、一旦メモリ108に蓄積された画像データを汎用バスへ流す際に、バス制御装置107で回転処理を行ってから出力するように制御する。このため、画像データ処理部115における制御内容を変更することなく、スキャナやプロッタの特性の影響を排除した適正な画像データを出力することが可能となる。
[制御例7]
図27〜図28を参照して、CPU110の制御例7を説明する。図27は、画像データ処理部115を回路自由度の高いDSPを用いて構成した構成例を示す図であり、図28は、制御例7における画像データ処理部の構成例を示す図である。ここでは、一度決まった回路構成を後から変更し難いASIC(Application Specific Integrated Circuit)ではなく、回路自由度の高いDSP(Digital Signal Processor:デジタルシグナルプロセッサ)を用いて画像データ処理部115を構成した場合である。
図27に示す画像データ処理部115は、プロセッサ部81やメモリ部82などを含むDSP80で構成されており、メモリ部82に格納されたプログラムやデータによりプロセッサ部81を動作させることで、処理内容を自由に変更することが可能である。
そして、上記のように画像データ処理部115をDSP80で構成すると、HOST−CPU83と画像データ処理部115の部分が、図27に示すように、Host−CPU83とDSP80で表される。
Host−CPU83は、制御プログラムを格納するメモリ84を有しており、このメモリ84内にDSP80にダウンロードするプログラムが格納されている。
Host−CPU83がDSP80にプログラムをダウンロードする場合は、例えば、電源投入時のBoot処理時やリセット命令終了後などで、Host−CPU83のメモリ84内のDSPプログラム格納エリアの内容がDSP80のメモリ部82へ投入される。
従来の画像データ処理部は、ASICなどで構成されていたため、一度決まった回路構成を変更することが不可能であった。しかし、図27に示す制御例7のDSP80の内容は、Host−CPU83から設定されるプログラムの内容に依存して自由に変更が可能である。図28は、図27の画像データ処理部115を機能的に表現した模式図である。図28に示すように、画像データ処理部15の内容は、CPUからバスを介して設定されるI/Fプログラム90の内容に依存し、処理X群91の中から自由に処理内容を変更することが可能である。
以上説明したように、制御例7によれば、画像データ処理部115をDSPで構成することにより、ASICで構成した場合と比べて回路の自由度が広がるため、画像データ処理のバラエティを確保することが可能となる。
[プログラム]
なお、本発明の画像処理装置は、複数の機器(例えば、ホストコンピュータ、インターフェース機器、スキャナ、プリンタ等)から構成されるシステムに適用しても、1つの機器から構成される装置(ホストコンピュータ等)に適用しても良い。
また、本発明の目的は、上述した画像処理装置の機能を実現するソフトウエアのプログラムコードを記録した記録媒体を、システムまたは装置に供給し、そのシステムまたは装置のコンピュータ(または、CPU、MPU、DSP)が記録媒体に格納されたプログラムコードを実行することによっても達成することが可能である。この場合、記録媒体から読み出されたプログラムコード自体が前述した画像処理装置の機能を実現することになり、そのプログラムコードまたはそのプログラムを記憶した記録媒体は本発明を構成することになる。プログラムコードを供給するための記録媒体としては、FD、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリ、ROMなどの光記録媒体、磁気記録媒体、光磁気記録媒体、半導体記録媒体を使用することができる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した画像処理装置の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部、または全部を行い、その処理によって前述した画像処理装置の機能が実現される場合も含まれること言うまでもない。
また、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した画像処理装置の機能が実現される場合も含まれることは言うまでもない。