(58)【調査した分野】(Int.Cl.,DB名)
前記画像処理手段は、前記予め定められた処理単位が1又は複数のライン単位である場合に、前記画像処理の処理単位を当該1又は複数のライン単位よりも小さい単位に変更すること
を特徴とする請求項1に記載の画像処理装置。
前記画像処理手段は、前記画像処理を予め定められた方向に沿って行うとともに、前記向き変更手段による変更が行われる場合には、当該画像処理による前記画像データの処理方向を当該予め定められた方向とは異なる方向に変更すること
を特徴とする請求項1又は2に記載の画像処理装置。
前記画像処理手段は、前記画像処理の前段の処理による処理単位の前記画像データがメモリに書き込まれる方向に合わせて、当該画像処理による当該画像データの処理方向を変更すること
を特徴とする請求項4に記載の画像処理装置。
前記画像処理手段は、前記画像処理を予め定められた開始位置から順次行うとともに、前記向き変更手段による変更が行われる場合には、当該画像処理の開始位置を当該予め定められた開始位置とは異なる位置に変更すること
を特徴とする請求項1乃至5の何れか1項に記載の画像処理装置。
【発明を実施するための形態】
【0008】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
【0009】
<画像処理装置のハードウェア構成>
まず、本実施の形態に係る画像処理装置100のハードウェア構成について説明する。
図1は、本実施の形態に係る画像処理装置100のハードウェア構成例を示す図である。本実施の形態に係る画像処理装置100は、例えば、画像読み取り機能(スキャン機能)、印刷機能(プリンタ機能)、複写機能(コピー機能)及びファクシミリ機能等の各種の画像処理機能を備えた、いわゆる複合機である。
【0010】
図示するように、本実施の形態に係る画像処理装置100は、制御部110と、HDD(Hard Disk Drive)120と、操作パネル130と、画像読取部140と、画像形成部150と、通信インタフェース(以下、「通信I/F」と表記する)160とを備える。なお、これらの各機能部はバス170に接続されており、このバス170を介してデータの授受を行う。
【0011】
制御部110は、画像処理装置100の各部の動作を制御する。この制御部110は、CPU(Central Processing Unit)110a、RAM(Random Access Memory)110b、ROM(Read Only Memory)110cにより構成される。
CPU110aは、ROM110c等に記憶された各種プログラムをRAM110bにロードして実行することにより、画像処理装置100における各機能を実現する。RAM110bは、CPU110aの作業用メモリ等として用いられるメモリ(記憶部)である。ROM110cは、CPU110aが実行する各種プログラム等を記憶するメモリ(記憶部)である。
なお、本実施の形態では、保持手段の一例として、RAM110bが用いられる。
【0012】
HDD120は、各種データを記憶する記憶部である。HDD120には、例えば、通信I/F160によって外部から受信した画像データ等が記憶される。
【0013】
操作パネル130は、各種の情報を表示すると共に、各種の機能を用いた動作を行うためのユーザからの操作を受け付ける。操作パネル130としては、例えばタッチパネルディスプレイを例示することができる。
【0014】
画像読取部140は、用紙等の記録材(原稿)に形成されている画像を読み取って、読み取った画像を示す画像データ(画像情報)を生成する。ここで、画像読取部140は、例えばスキャナーであり、光源から原稿に照射した光に対する反射光をレンズで縮小してCCD(Charge Coupled Devices)で受光するCCD方式や、LED光源から原稿に順に照射した光に対する反射光をCIS(Contact Image Sensor)で受光するCIS方式のものを用いるとよい。
【0015】
より具体的には、画像読取部140は、例えば、撮像素子の移動方向(副走査方向)に直交する主走査方向単位に原稿を読み取って、画像データを生成する。言い換えると、画像読取部140は、主走査方向に沿ったライン単位での画像読み取りを副走査方向に亘って行うことにより、画像データを生成する。
【0016】
画像形成部150は、用紙等の記録材に画像を形成する印刷機構である。ここで、画像形成部150は、例えばプリンターであり、感光体に付着させたトナーを記録材に転写して像を形成する電子写真方式や、インクを記録材上に吐出して像を形成するインクジェット方式のものを用いるとよい。
【0017】
通信I/F160は、不図示のネットワークを介して他の装置との間で各種データの送受信を行う通信インタフェースである。
【0018】
そして、この画像処理装置100では、制御部110による制御の下、画像読取部140によってスキャン機能が実現され、画像形成部150によってプリンター機能が実現され、画像読取部140及び画像形成部150によってコピー機能が実現され、画像読取部140、画像形成部150及び通信I/F160によってファクシミリ機能が実現される。
【0019】
<画像処理装置の機能構成>
次に、本実施の形態に係る画像処理装置100の機能構成について説明する。
図2は、本実施の形態に係る画像処理装置100の機能構成例を示したブロック図である。本実施の形態に係る画像処理装置100は、画像データ取得部101と、画像処理順序決定部102と、画像処理方向決定部103と、最小単位情報格納部104と、画像処理単位決定部105と、画像処理部106と、画像処理制御部107とを備える。
【0020】
画像データ取得部101は、画像読取部140が原稿上の画像を読み取って生成した画像データを取得する。
【0021】
画像処理部106は、画像データに対して各種の画像処理を実行する。各画像処理では、処理後の画像データが順次メモリ(RAM110b)に書き込まれる(蓄積される)。ここで、画像処理部106が実行する画像処理は、第1処理、回転処理、拡大処理、第2処理、第3処理の5つに分類される。なお、画像処理部106による画像処理が全て完了した後は、例えば画像形成部150にて印刷が行われる。
【0022】
第1処理は、回転処理及び拡大処理の前に行われる処理であり、例えば、画像データに対して、文字エッジ検出処理、フィルタ処理や色変換処理等が行われる。ここでの色変換処理では、例えば、RGBの色空間(24bit)の画像データを、Labの色空間(24bit)の画像データに変換する。文字エッジ検出処理やフィルタ処理は、複数ラインを参照して行う処理であり、1ラインの画素数が増えると、その分、ラインメモリの容量が増加する。
【0023】
第2処理は、回転処理及び拡大処理の後に行われる処理であり、例えば、画像データに対して、ガンマ補正やハーフトーン処理、色変換処理、階調補正処理等が行われる。ここでの色変換処理では、例えば、Labの色空間(24bit)の画像データを、CMYKの色空間(32bit)の画像データに変換する。
【0024】
第3処理では、誤差拡散処理(以下、ED(Error Diffusion)処理と称する)等が行われる。ED処理では、誤差を周辺画素位置に伝搬させる必要があることから、主走査方向のページ幅分を連続して処理する必要がある。
【0025】
拡大処理とは、画像の向きに合わせて画像データを拡大する処理である。回転処理とは、画像の向きに合わせて例えば90度単位に、あるいは、画像の傾きを補正するために微小角度で、画像データを回転させる処理(画像データの向きを変更する処理)である。さらに説明すると、回転処理では、回転前の画像データをメモリから読み出す方向と、回転後の画像データをメモリに書き込む方向とを変えることにより、画像の縦横変換が行われる。
【0026】
例として、A4横の画像をA3縦の用紙に印刷する場合、第1処理に対しては画像読取部140によりライン単位で画像が入力され、第1処理もライン単位やバンド単位で処理が行われる。そして、第1処理を行った後に回転処理と拡大処理を行うことで、第1処理に含まれる文字エッジ検出処理やフィルタ処理のためのラインメモリの増加を防ぐことができる。また、第3処理のED処理を行う前に回転処理と拡大処理が完了している必要があるため、中間データサイズを考慮して、CMYKの色空間(32bit)に変換される前のLabの色空間(24bit)に対して、つまり第2処理の前の段階で、回転処理と拡大処理が行われる。
【0027】
画像処理順序決定部102は、画像データの画素単位での画像処理の実行順序を決定する。画像処理の実行順序は、実行する画像処理の内容(アルゴリズム)に応じて決定される。例えば、複数の画像処理を実行する場合、各画像処理について、他の画像処理との関係で前段の処理であるか又は後段の処理であるかが決定される。
【0028】
より具体的には、画像処理の順序は、例えば、印刷時の設定である印刷モードや、カラー設定、用紙の給紙方向等の情報に応じて決定される。このような印刷時の設定は、例えば印刷時にユーザが操作パネル130を操作することにより設定される。
なお、印刷モードとは、画像形成部150で印刷を行う際の印刷形態であり、例えば、写真原稿用の写真モード、文字原稿用の文字モード等が存在する。また、カラー設定は、印刷時の色設定であり、例えば、カラー、グレー、白黒等の設定が存在する。用紙の給紙方向は、画像形成部150に対する用紙の搬送方向であり、例えば、横送り(LEF(Long Edge Feed))、縦送り(SEF(Short Edge Feed))等が存在する。
【0029】
画像処理方向決定部103は、各画像処理について、画像処理を開始するメモリ上の開始位置を決定する。また、画像処理方向決定部103は、各画像処理について、処理単位の画像データの入力方向(即ち、画像データをメモリから読み出す場合の処理単位毎の読み出し方向)と、その処理単位の画像データの出力方向(即ち、画像データをメモリに書き込む場合の処理単位毎の書き込み方向)とを決定する。
【0030】
ここで、画像処理方向決定部103は、各画像処理について、例えば、その前段に行われる画像処理の開始位置、言い換えると、前段の画像処理により画像データの書き込みが開始されるメモリの位置に基づいて、画像処理を開始するメモリ上の開始位置を決定する。また、画像処理方向決定部103は、各画像処理について、例えば、その前段に行われる画像処理の処理単位毎の書き込み方向、言い換えると、前段の画像処理により処理単位の画像データがメモリに書き込まれる方向に基づいて、画像処理の処理単位毎の読み出し方向を決定する。
【0031】
さらに説明すると、画像処理方向決定部103は、画像データに対して回転処理が行われる場合には、回転処理に合わせて、その後に行われる画像処理の開始位置を変更する。言い換えると、画像処理部106による画像処理は、予め定められた開始位置から順次行われるが、回転処理が行われる場合には、その後に行われる画像処理の開始位置は予め定められた開始位置から異なる位置に変更される。付言すると、画像処理部106による画像処理では、メモリ上の予め定められた開始位置から順次画像データの読み出しが行われるが、回転処理が行われる場合には、予め定められた開始位置とは異なる位置から読み出しが行われる。
【0032】
また、画像処理方向決定部103は、処理方向を決定する対象の画像処理について、処理の最小単位がバンド単位である場合には、データの転送効率を考慮して、バンド単位で副走査方向に処理を行うことを決定する。また、画像処理方向決定部103は、処理方向を決定する対象の画像処理について、処理の最小単位がタイル単位である場合、その画像処理が回転処理でなければ、前段の画像処理の処理単位毎の書き込み方向と同じ方向を、タイル単位毎の読み出し方向・書き込み方向とする。一方、その画像処理が回転処理であれば、前段の画像処理の処理単位毎の書き込み方向と同じ方向をタイル単位毎の読み出し方向とし、指定された方向に回転した方向をタイル単位毎の書き込み方向とする。
【0033】
さらに説明すると、画像処理方向決定部103は、画像データに対して回転処理が行われる場合には、回転処理に合わせて、その後に行われる画像処理の処理方向を変更する。言い換えると、画像処理部106による画像処理は、予め定められた方向に沿って行われるが、回転処理が行われる場合には、その後に行われる画像処理の処理方向は予め定められた方向とは異なる方向に変更される。
【0034】
最小単位情報格納部104は、各画像処理について、画像処理を実行可能な画像データの最小単位を示す情報(以下、最小単位情報と称する)を格納する。実行可能な画像データの最小単位は、各画像処理のアルゴリズムにより予め決まっている。例えば、ライン単位、タイル単位、バンド単位等が例示される。ライン単位とは、画像データに対する一方向(主走査方向)の1ラインを示す。タイル単位とは、主走査方向に数画素、副走査方向に数ライン分の矩形に区切られた単位である。バンド単位とは、1以上のライン単位(例えば、1ライン、2ライン等)を示す。本実施の形態では、ライン単位は、バンド単位に包含される概念として、バンド単位として扱うものとする。
【0035】
画像処理単位決定部105は、各画像処理について、画像処理を実行する際の画像データの処理単位を決定する。ここで、画像処理単位決定部105は、各画像処理について、例えば、最小単位情報格納部104から取得した最小単位情報、前段の画像処理の処理単位、及び前段の画像処理の処理単位毎の書き込み方向を基に、画像処理の処理単位を決定する。
【0036】
ここで、画像処理単位決定部105は、回転処理が行われる前の画像処理については、処理単位をバンド単位と決定する。また、画像処理単位決定部105は、回転処理については、回転角度に応じて処理単位を決定する。例えば、回転角度が90度、270度の場合には、回転処理の処理単位をタイル単位とする。一方、例えば、回転角度が180度の場合には、回転処理の処理単位をタイル単位又はバンド単位とする。さらに、画像処理単位決定部105は、回転処理が行われた後の画像処理については、その画像処理の最小単位と前段の画像処理の処理単位とが共にタイル単位で、かつ前段の画像処理の処理単位毎の書き込み方向が副走査方向の場合に限って、処理単位をタイル単位とし、それ以外の場合には処理単位をバンド単位と決定する。
【0037】
さらに説明すると、画像処理単位決定部105は、画像データに対して回転処理が行われる場合には、回転処理に合わせて、その後に行われる画像処理の処理単位を変更する。言い換えると、画像処理部106による画像処理は、予め定められた処理単位の画像データ毎に順次行われるが、回転処理が行われる場合には、その後に行われる画像処理の処理単位は予め定められた処理単位とは異なる単位に変更される。
【0038】
例えば、画像処理の最小単位情報が1画素の場合、画像処理単位決定部105は、その画像処理の処理単位をM×Nのタイル処理と決定する。MやNの値は、例えば、画像処理の中間データを格納するメモリの容量やメモリ転送時のバースト長を基に予め設定した値が用いられる。また、例えば、7画素×7ラインのフィルタ処理等、1画素の処理結果を得るために周辺画素を参照する必要がある場合には、その分の6画素、6ラインを加味し、(M+6)×(N+6)のタイルを処理単位としてもよい。
【0039】
画像処理制御部107は、画像処理部106による画像処理を制御する。ここで、画像処理制御部107は、画像処理順序決定部102が決定した順序に従って、画像処理の進捗に合わせて次に実行する画像処理を決定しながら、各種の画像処理を実行させる。より具体的には、例えば、2つの連続する画像処理に関して、後段の画像処理は、前段の画像処理によって画像データがメモリに蓄積されるのを待ち合わせる。そして、後段の画像処理の処理単位分の画像データがメモリに蓄積されると、画像処理方向決定部103が決定した処理方向に沿って、後段の画像処理が開始される。
【0040】
また、
図2に示す画像処理装置100を構成する各機能部は、ソフトウェアとハードウェア資源とが協働することにより実現される。具体的には、画像処理装置100を
図1に示したハードウェア構成にて実現した場合、例えば、ROM110cに格納されているOS(Operating System)のプログラムやアプリケーション・プログラムが、RAM110bに読み込まれてCPU110aに実行されることにより、画像データ取得部101、画像処理順序決定部102、画像処理方向決定部103、画像処理単位決定部105、画像処理部106、画像処理制御部107等の各機能が実現される。また、最小単位情報格納部104は、例えばRAM110bやHDD120等の記憶手段により実現される。
【0041】
また、本実施の形態では、画像取得手段の一例として、画像データ取得部101が用いられる。向き変更手段、画像処理手段の一例として、画像処理部106が用いられる。
【0042】
<画像処理装置による処理の流れの説明>
次に、画像処理装置100による処理の流れについて説明する。ここでは、従来の処理と比較して説明を行う。
図3(a)、(b)は、従来の処理の流れの一例を説明するための図である。また、
図3(c)は、本実施の形態に係る画像処理装置100による処理の流れの一例を説明するための図である。
図3(a)〜(c)に示す例では、原稿1ページ分の画像データの処理を行うものとして説明する。
【0043】
まず、
図3(a)、(b)を参照しながら、従来の処理の流れについて説明する。
図3(a)、(b)に示す例では、従来の処理として、ASIC(Application Specific Integrated Circuit)を用いたハードウェア処理により各種の画像処理が行われる。ASICとは、ある特定の用途に特化して製造された集積回路である。個々の画像処理はメモリを介して接続され、処理に必要な量の画像データがメモリに蓄積されたら、画像処理部に画像データが転送され、画像処理が行われた後、処理結果がメモリに転送される。
【0044】
図3(a)に示す例では、画像データに対して回転処理と拡大処理を行わずに、第1処理、第2処理及び第3処理で等倍処理を行うものとする。この場合、画像読取部140による画像読み取りがライン単位に順次行われ、生成された画像データに対して、順次、第1処理、第2処理及び第3処理が行われる。より具体的には、まず、1ライン目の画像読み取りが行われ、1ライン目の画像データがメモリに格納される。その後、1バンド分の画像データがメモリに格納されたタイミングで、1バンド目の画像データに対して、第1処理、第2処理及び第3処理が行われる。また、1バンド目の画像データに対して第1処理、第2処理及び第3処理が行われている間に、次の2バンド目の画像読み取りが行われる。そのため、1バンド目の画像データに対する第1処理、第2処理及び第3処理が終了すると、メモリに格納されている2バンド目の画像データに対して、続けて第1処理、第2処理及び第3処理が行われる。このようにして、待ち時間なく、第1処理、第2処理及び第3処理がバンド単位に行われる。
【0045】
次に、
図3(b)に示す例では、画像データに対して、第1処理、第2処理及び第3処理に加えて、270度の回転処理と拡大処理も行うものとする。ここで、回転処理はタイル単位で処理が行われるが、上述したように、メモリから回転前の画像データをタイル単位で読み出す方向と、回転後の画像データをメモリにタイル単位で書き込む方向とを変えて画像の縦横変換を行うため、回転処理の前後で画像データの向きが変わることとなる。その結果、回転処理後にバンド単位で画像処理を行う場合に、画像データの読み込みを開始するメモリ上の開始位置が固定されていたり、メモリから画像データを読み出す方向が固定されていたりすると、メモリ上の読み込み位置に回転後の画像データが蓄積されるまでの待ち時間が発生する場合がある。
【0046】
より具体的には、
図3(b)に示す例では、まず、1ライン目の画像読み取りが行われ、1ライン目の画像データがメモリに格納される。その後、1バンド分の画像データがメモリに格納されたタイミングで、1バンド目の画像データに対して、第1処理が行われる。なお、図示の例では、第1処理の出力するバンドのライン数が、回転処理のタイル高さと等しいものとする。1バンド分の画像データに対して第1処理が完了すると、タイル単位での回転処理を実行し、回転方向に応じた位置から、タイル単位での回転結果がメモリに格納される。そして、1バンド分の画像データに対して回転処理が行われる。ここで、拡大処理、第2処理及び第3処理は実行されず、待ち時間が発生する。この間、2バンド目の画像読み取りが行われる。そして、2バンド目の画像データがメモリに格納された後、第1処理と回転処理が行われるが、拡大処理、第2処理及び第3処理は実行されず、再び待ち時間が発生する。
【0047】
このようにして、第1処理と回転処理は順次行われるが、拡大処理、第2処理及び第3処理は実行されず待ち時間が発生する。そして、メモリに原稿1ページ分全ての回転処理結果が蓄積された後、メモリ上の画像データを読み込み可能となり、拡大処理、第2処理及び第3処理がバンド単位で実行されることとなる。このように、
図3(b)に示す例では、拡大処理の前に、バンド毎に待ち時間が発生することとなる。
【0048】
次に、
図3(c)を参照しながら、本実施の形態に係る画像処理装置100による処理の流れについて説明する。
図3(c)に示す例では、
図3(b)に示す例と同様に、第1処理、第2処理及び第3処理に加えて、270度の回転処理と拡大処理も行うものとする。拡大処理及び第2処理は、タイル分割により処理が可能なため、最小単位はタイル単位が指定される。一方、第3処理のED処理は、上述したように、ライン単位での処理が必須のため、最小単位にバンド単位が指定される。また、本実施の形態では、上述したように、ソフトウェア処理(CPU110aによる処理)により各種の画像処理が行われる。
【0049】
ここで、画像処理順序決定部102は、画像データに対して実行される画像処理の順序を決定する。また、画像処理単位決定部105は、各画像処理について、個々の画像処理の処理単位を決定する。さらに、画像処理方向決定部103は、各画像処理について、画像処理の開始位置、処理単位毎の読み出し方向、処理単位毎の書き込み方向を決定する。そして、画像処理部106は、各部の決定に基づいて各画像処理を順次実行する。
【0050】
その結果、
図3(c)に示すように、第1処理はバンド単位で行われる。また、回転処理はタイル単位で、270度の回転処理結果が副走査方向にメモリに書き込まれる。ここで、拡大処理は、最小単位がタイル単位であり、前段の回転処理の処理単位もタイル単位である。また、回転処理の処理単位毎の書き込み方向は副走査方向である。よって、画像処理単位決定部105は、拡大処理の処理単位をタイル単位と決定する。また、拡大処理は回転を伴わない画像処理のため、画像処理方向決定部103は、走査方向を回転処理から引き継ぎ、回転処理の書き込み方向と同じ副走査方向を、処理単位(ここでは、タイル単位)毎の読み出し方向・書き込み方向として決定する。
【0051】
同様に、第2処理についても、処理単位はタイル単位、処理単位毎の読み出し方向・書き込み方向は副走査方向として決定される。さらに、第3処理のED処理は、最小単位がバンド単位である。よって、画像処理単位決定部105は、ED処理の処理単位をバンド単位と決定する。また、画像処理方向決定部103は、処理単位であるバンドを副走査方向に順次走査することを決定する。
【0052】
さらに説明すると、
図3(c)に示す例では、まず、1ライン目の画像読み取りが行われ、1ライン目の画像データがメモリに格納される。その後、1バンド分の画像データがメモリに格納されたタイミングで、1バンド目の画像データに対して、第1処理が行われる。なお、図示の例では、第1処理の出力するバンドのライン数が、回転処理のタイル高さと等しいものとする。1バンド分の画像データに対して第1処理が完了すると、1バンド分よりも小さい1タイル分の画像データに対して回転処理及び拡大処理、第2処理が実行される。ここで、回転処理に合わせて画像処理の開始位置、処理方向及び処理単位を変更することにより、拡大処理と第2処理は、原稿1ページ分の画像データがメモリに蓄積されるのを待つことなく実行される。第3処理は処理単位がバンド単位で副走査方向に走査されるため待ち状態となるが、拡大処理や第2処理を実行中に2バンド目の画像読み取りが行われ、続けて2バンド目の画像データに対して、第1処理、回転処理、拡大処理及び第2処理が行われる。
【0053】
このようにして、本実施の形態では、第1処理、回転処理、拡大処理、第2処理を順次処理することが可能となり、待ち時間を減らすことができる。そして、メモリに原稿1ページ分全ての回転処理結果が蓄積された後、メモリ上の画像データを読み込み可能となり、第3処理がバンド単位で実行されることとなる。このようにして、順次、第1処理、回転処理、拡大処理、第2処理及び第3処理が実行される。
【0054】
このように、本実施の形態では、回転処理に合わせて画像処理の開始位置、処理方向及び処理単位を変更し、各画像処理を順次実行する。その結果、本実施の形態では、
図3(b)に示す場合と比べて、画像処理を完了させるまでの時間が短縮されることとなる。
【0055】
図4−1は、
図3(b)で示した従来の処理について説明するための図である。
図4−2は、本実施の形態に係る画像処理装置100による処理について説明するための図である。
図4−1及び
図4−2に示す例では、原稿1ページ分が11バンドに相当するものとして説明する。
【0056】
図4−1に示すように、従来の処理では、ライン単位で画像読み取りが行われ、1バンド分の画像データがメモリに格納されたタイミングで画像処理が開始される。そして、第1処理が、順次バンド単位で実行される。その後、1バンド分の画像データを入力として、タイル単位で回転処理が実行される。ここで、第1処理の出力1バンド分の回転処理が完了した後には、続けて拡大処理以降の処理は行われずに、次のバンド単位で第1処理が行われるが、次のバンドの画像データを画像読取部140から取得してメモリに格納されるまでの待ち時間が発生する。このようにしてバンド毎に第1処理と回転処理が行われ、1ページ分(ここでは、11バンド分)の画像データに対して第1処理と回転処理が終了すると、拡大処理、第2処理及び第3処理がバンド単位で順次実行される。
【0057】
一方、
図4−2に示すように、本実施の形態では、ライン単位で画像読み取りが行われ、1バンド分の画像データがメモリに格納されたタイミングで画像処理が開始される。そして、第1処理が順次バンド単位で実行される。その後、1バンド分の画像データを入力として、タイル単位で回転処理が実行される。さらに、本実施の形態では、タイル単位で、順次、拡大処理及び第2処理が実行される。そして、1ページ分(ここでは、11バンド分)の画像データに対して、第1処理、回転処理、拡大処理及び第2処理が終了すると、最後に第3処理がまとめて実行される。
【0058】
<画像処理装置による画像処理の具体例>
次に、本実施の形態に係る画像処理装置100による画像処理について、具体例を挙げて説明する。ここでは、従来の処理と比較して説明を行う。
図5−1(a)、
図5−2(a)は、
図3(b)で示した従来の処理の具体例を示す図である。また、
図5−1(b)、
図5−2(b)は、本実施の形態に係る画像処理装置100による処理の具体例を示す図である。
【0059】
ここで、
図5−1、
図5−2に示す例では、原稿1ページ分の画像データの処理を行うものとして説明する。また、画像データに対して、第1処理、回転処理、拡大処理、第2処理及び第3処理が行われる。図示の例では、第1色変換処理は第1処理である。第2色変換処理は第2処理である。ED処理は第3処理である。
【0060】
図5−1(a)、
図5−2(a)を参照しながら、従来の処理の流れについて説明する。まず、
図5−1(a)に示すように、主走査方向(図中右方向)に沿ってスキャン(画像読み取り)がライン単位に行われる。次に、1バンド分の画像データがメモリに格納されたタイミングで、画像データの横方向(主走査方向、図中右方向)に沿って、第1色変換処理が1バンド分の画像データに対して行われる。次に、画像データを時計回りに270度回転する回転処理がタイル単位で行われる。
【0061】
次に、
図5−2(a)に示すように、拡大処理がバンド単位で行われる。ここで、従来の処理では、拡大処理の開始位置はメモリ上の符号1Aの位置として予め定められている。また、画像データの処理方向についても、図中横方向(主走査方向)のバンド単位で、図中下方向(副走査方向)に行われることが予め定められている。よって、拡大処理では、図中の斜線で示すメモリ上の領域3Aに対して読み取りが行われる。一方、前段の回転処理は、
図5−1(a)に示すように、図中上方向(副走査方向)に処理が行われる。その結果、メモリ上の符号2Aの位置に画像データが蓄積されるまで、即ち、回転処理によって原稿1ページ分の画像データがメモリに蓄積されるまで、拡大処理が開始されないこととなる。
【0062】
したがって、従来の処理では、例えば、
図3(b)で説明したように、拡大処理、第2処理(第2色変換処理)及び第3処理(ED処理)を開始する前に、回転処理が完了してメモリに原稿1ページ分の画像データが蓄積されるまで待ち合わせる。そして、メモリに原稿1ページ分の画像データが蓄積されると、拡大処理、第2処理及び第3処理が開始される。ここでは、1バンド目の画像データに対して、拡大処理、第2処理及び第3処理が順次実行される。その後、副走査方向に、拡大処理、第2処理及び第3処理がバンド単位で順次実行される。
【0063】
次に、
図5−1(b)、
図5−2(b)を参照しながら、本実施の形態に係る画像処理装置100による処理の流れについて説明する。まず、画像読取部140が主走査方向に沿ってスキャンを開始すると、画像処理順序決定部102は、画像処理の順序を決定する。ここでは、第1色変換処理、回転処理、拡大処理、第2色変換処理、ED処理の順に行うことを決定する。また、画像処理方向決定部103は、各画像処理について開始位置及び処理方向を決定する。さらに、画像処理単位決定部105は、各画像処理について画像データの処理単位を決定する。
【0064】
そして、画像処理制御部107は、画像処理部106に対して、各種の画像処理を実行させる。より具体的には、
図5−1(b)に示すように、第1色変換処理は、画像読み取りが行われた画像データに対してバンド単位に順次処理が行われる。次に、回転処理では、前段の第1色変換処理が行われた画像データをタイル単位で順次時計回りに270度回転させて、画像データの向きを変更した後、図中上方向(副走査方向)にタイル単位の画像データをメモリに格納する。
【0065】
次に、拡大処理は、前段の回転処理が行われたタイル単位の画像データに対して図中上方向(副走査方向)に走査することで、順次処理が行われる。ここで、拡大処理の最小単位と前段の回転処理の処理単位とはタイル単位であり、前段の回転処理の書き込み方向は副走査方向であるため、タイル単位で拡大処理が行われる。また、前段の回転処理の処理方向に合わせて、言い換えると、回転処理により画像データがメモリに蓄積される方向に合わせて、拡大処理の処理方向は図中上方向(副走査方向)と決定される。さらに、拡大処理の開始位置は、前段の回転処理により画像データがメモリに蓄積される開始位置に合わせて、メモリ上の符号1Bの位置に決定される。
【0066】
付言すると、
図5−2(a)に示すように、従来のASIC処理では、拡大処理はバンド単位で図中下方向(副走査方向)に処理されたが、本実施の形態では、拡大処理はタイル単位での図中上方向(副走査方向)の処理に変更される。また、従来のASIC処理では、拡大処理の開始位置はメモリ上の符号1Aの位置であったが、本実施の形態では、拡大処理の開始位置はメモリ上の符号1Bの位置に変更される。
【0067】
次に、第2色変換処理の最小単位と前段の拡大処理の処理単位とはタイル単位であり、前段の拡大処理の書き込み方向は図中上方向(副走査方向)であるため、タイル単位で第2色変換処理が行われる。また、前段の拡大処理の処理方向に合わせて、言い換えると、拡大処理(又は回転処理)により画像データがメモリに蓄積される方向に合わせて、処理方向は図中上方向(副走査方向)と決定される。さらに、第2色変換処理の開始位置は、前段の拡大処理により画像データがメモリに蓄積される開始位置に合わせて、メモリ上の符号1Bの位置に決定される。
【0068】
付言すると、
図5−2(a)に示すように、従来のASIC処理では、第2色変換処理はバンド単位で図中下方向(副走査方向)に処理されたが、本実施の形態では、第2色変換処理はタイル単位での図中上方向(副走査方向)の処理に変更される。また、従来のASIC処理では、第2色変換処理の開始位置はメモリ上の符号1Aの位置であったが、本実施の形態では、第2色変換処理の開始位置はメモリ上の符号1Bの位置に変更される。
【0069】
なお、ED処理については最小単位がバンド単位であるため、処理単位もバンド単位となる。ED処理は最後にまとめて行われる。また、データの転送効率を考慮して、従来と同様に、バンド単位で図中下方向(副走査方向)にED処理が行われる。その結果、例えば、
図5−2(b)に示すように、メモリ上の符号2Bの位置に画像データが蓄積されるまで、即ち、原稿1ページ分の画像データがメモリに蓄積されるまで、ED処理が開始されないこととなる。第2色変換処理が完了し、メモリに原稿1ページ分の画像データが蓄積されるまで待ち合わせた後、図中の斜線で示すメモリ上の領域3Bに対して読み取りが行われ、ED処理が開始される。
【0070】
そこで、第2色変換処理が完了すると、次の画素に対する第1色変換処理が開始される。このようにして、ED処理を除く各画像処理が、処理単位毎に順次行われる。そして、1ページ分の画像データについて、第1処理、回転処理、拡大処理及び第2処理が完了すると、
図5−2(b)に示すように、ED処理がバンド単位で順次実行される。
【0071】
以上説明したように、本実施の形態において、画像処理方向決定部103は、各画像処理について、画像処理を開始するメモリ上の開始位置及び画像処理の処理方向を決定する。また、画像処理単位決定部105は、各画像処理について画像データの処理単位を決定する。本実施の形態に係る画像処理装置100を用いることにより、例えば、画像処理の開始位置や処理方向が固定されていたり、処理単位がバンド単位で固定されていたりする場合と比較して、画像処理の待ち時間が削減され、画像処理を完了させるまでの時間が短縮される。
【0072】
また、本実施の形態において、各画像処理のタイル単位は異なるサイズであってもよい。例えば、
図5−2(b)に示す例で、拡大処理のタイル単位と第2色変換処理のタイル単位とが異なるサイズであってもよい。例えば、拡大処理のタイル単位が64画素×64画素、第2色変換処理のタイル単位が256画素×256画素の場合には、拡大処理が256画素×256画素分行われた後に、第2色変換処理がタイル単位(256画素×256画素)で行われる。また、例えば、拡大処理のタイル単位が256画素×256画素、第2色変換処理のタイル単位が64画素×64画素の場合には、拡大処理がタイル単位(256画素×256画素)で行われた後に、第2色変換処理が256画素×256画素分行われる。
【0073】
さらに、上述した例では、画像処理単位決定部105は、回転処理が行われた後の画像処理について、その画像処理の最小単位と前段の画像処理の処理単位とが共にタイル単位で、かつ前段の画像処理の処理単位毎の書き込み方向が副走査方向の場合、処理単位をタイル単位としたが、処理単位をバンド単位としてもよい。
例えば、
図5−2(b)に示す例で、拡大処理や第2色変換処理について、図中縦方向(副走査方向)のバンド単位で、図中右方向(主走査方向)に処理を行うこととしてもよい。この場合も、拡大処理や第2色変換処理を実行するために原稿1ページ分の画像データが蓄積されるまで待ち合わせることなく、拡大処理や第2色変換処理が実行される。なお、
図5−2(b)に示す例で処理単位をバンド単位とする場合は、副走査方向のバンドとなるため、
図5−2(a)に示す主走査方向のバンドとは処理単位が異なる。また、例えば、図中上方向(副走査方向)を処理方向としてタイル単位で画像処理を行う場合は、図中右方向(主走査方向)を処理方向としてバンド単位で処理を行う場合と比較して、画像データを蓄積するために必要なメモリの容量が少なくて済むといえる。
【0074】
また、本実施の形態に係る画像処理装置100は、回転処理の回転角度が90度単位でない場合にも同様の処理を行ってももちろんよい。この場合、例えば、画像処理方向決定部103は、主走査方向(又は副走査方向)から回転角度だけ回転した方向を、回転処理が行われた後の画像処理の処理方向として決定する。
【0075】
なお、本実施の形態に係る画像処理装置100は、画像データに対する回転処理や拡大処理を行わない場合にも同様の処理を行ってももちろんよい。
【0076】
また、本発明の実施の形態を実現するプログラムは、通信手段により提供することはもちろん、CD−ROM等の記録媒体に格納して提供することも可能である。
【0077】
なお、上記では種々の実施形態および変形例を説明したが、これらの実施形態や変形例どうしを組み合わせて構成してももちろんよい。
また、本開示は上記の実施形態に何ら限定されるものではなく、本開示の要旨を逸脱しない範囲で種々の形態で実施することができる。