以下に添付図面を参照して、この発明にかかる画像処理装置及び画像処理方法の一実施の形態を詳細に説明する。
[第1の実施の形態]
まず、本実施の形態に係る画像処理装置のハードウェア構成について図1を用いて説明する。画像処理装置は、操作パネル80が接続されるコントローラ部60と、スキャナ81及びプロッタ82が接続されるエンジン部50とを備え、これらがPCI(Peripheral Component Interconnect)バスで接続される構成である。エンジン部50は、エンジンCPU(Central Processing Unit)51と、ROM(Read Only Memory)52と、RAM(Random Access Memory)53と、NVRAM(Non volatile Random Access Memory)54と、読み取り制御部55と、出力制御部56と、通信I/F(Interface)57とを備え、スキャナ81からの画像の入力や、プロッタ82への画像の出力を制御する。コントローラ部60は、コントローラCPU61と、ROM62と、RAM63と、NVRAM64と、入力画像処理部65と、操作部I/F67と、HDD(Hard Disk Drive)68と、HDDI/F69と、ネットワークI/F70と、出力画像処理部71と、通信I/F72とを備え、画像処理装置全体の制御と描画や、ネットワークを介した外部装置との通信や、操作パネル80からの入力及び操作パネル80への出力を制御するコントローラである。操作パネル80は、キーボードやマウスなどの操作入力部と、液晶ディスプレイ等の表示部とが一体的に形成されたものであり、操作入力部を介してユーザからの操作入力を受け付けたり、表示部に情報の表示を行ったりする。プロッタ82は、例えば、白黒プロッタ、1ドラムカラープロッタ、4ドラムカラープロッタであり、コントローラ部60及びエンジン部50の制御の下、画像を紙などの記録媒体に出力することにより、画像を印刷する。スキャナ81は、両面同時読取ユニット(不図示)に含まれており、図2に例示されるように、原稿の表面の画像を読み取る表面センサと、原稿の裏面の画像を読み取る裏面センサとにより各々読み取った各画像を表す画像データをエンジン部50の読み取り制御部55に出力する。即ち、スキャナ81は、原稿が読み取り対象として搬送された場合、一度の搬送でその両面の画像を読み取って、読み取った各画像をエンジン部50の読み取り制御部55に出力する。
次に、スキャナ81を含む両面同時読取ユニットの構成について図3を用いて説明する。両面同時読取ユニット150は、読み取り対象の原稿がセットされる原稿トレイ159と、原稿を搬送するための搬送ドラム155と、搬送された原稿の表面の画像を読み取るための表面CIS読取ユニット157と、搬送された原稿の裏面の画像を読み取るための裏面CIS読取ユニット158と、コンタクトガラスにより形成され、原稿がセットされる原稿板161と、原稿板161にセットされた原稿の画像を片面読取ユニット156と、基準白ローラ157r,158rとを少なくとも有する。同図の例では表面センサ及び裏面センサは、密着センサ(CIS:Contact Image Sensor)により実現される。上述した表面センサは、表面CIS読取ユニット157に含まれており、裏面センサは、裏面CIS読取ユニット158に含まれている。これらは対向して設置されるのではなく、対向する位置から少しずれて設置されている。このため、原稿の表面の画像が、裏面の画像よりも先に読み取られて、当該画像を表す画像データがエンジン部50の読み取り制御部55に出力され、裏面の画像が読み取られると、当該画像を表す画像データもエンジン部50の読み取り制御部55に出力される。エンジン部50に出力された画像データは、後述するように、1ライン毎に、表面又は裏面が切り替えられて、画像処理が行われる。尚、片面読取ユニット156は、CCD(Charge Coupled Device Image Sensor)3を含み、CCDにより照射された光を受光することにより原稿に表れる画像を読み取り、これをエンジン部50の読み取り制御部55に出力する。基準白ローラ157r,158rは、原稿を搬送するローラであり、白の基準となる反射特性の表面をもつローラである。基準白ローラ157rは、表面CIS読取ユニット157に対向して設けられ、原稿の表面に対する白の基準を提供するものであり、基準白ローラ158rは、裏面CIS読取ユニット158に対向して設けられ、原稿の裏面に対する白の基準を提供するものである。
次に、エンジン部50の構成について図1を用いて詳細に説明する。エンジンCPU51は、エンジン部50全体を制御するものであり、ROM52やNVRAM54に記憶された各種プログラムを実行することにより、各種機能をエンジン部50において実現させる。ROM52は、各種プログラムや各種データを記憶する。RAM53は、各種プログラムや各種データを一時的に記憶する。NVRAM54は、各種プログラムや各種データを記憶する。通信I/F57は、コントローラ部60の通信I/F72と接続され、コントローラ部60との通信を制御する。ここでは、通信I/F57と通信I/F72との間では、コントローラ部60からエンジン部50への指示や、当該コマンドに対するエンジン部50からの応答を示すコマンドが送受信される。出力制御部56は、コントローラ部60の出力画像処理部71から転送された画像データを用いてプロッタ82からの画像の出力を制御する。読み取り制御部55は、スキャナ81が原稿から読み取った表面の画像データや裏面の画像データの入力を受け付け、これらを入力画像処理部65に転送する。
ここで、読み取り制御部55の構成について図4を用いて詳細に説明する。読み取り制御部55は、第1ラインバッファ90と、第2ラインバッファ91と、ラインバッファ読み出し切替え部92と、ヘッダ情報付加部94と、データ転送部93とを有する。第1ラインバッファ90は、スキャナ81により読み取られた表面の画像を表す画像データを1ライン分記憶する。即ち、第1ラインバッファ90には、上述した表面CIS読取ユニット157の表面センサで読み取られた画像を表す画像データが、1ライン分記憶される。第2ラインバッファ91は、スキャナ81により読み取られた裏面の画像を表す画像データを1ライン分記憶する。即ち、第1ラインバッファ91には、上述した裏面CIS読取ユニット158の裏面センサで読み取られた画像を表す画像データが、1ライン分記憶される。
ラインバッファ読み出し切替え部92は、第1ラインバッファ90からの画像データの読み出しと、第2ラインバッファ91からの画像データの読み出しとを所定のライン数毎に切り替えて行ない、読み出した画像データをヘッダ情報付加部94に送る。このとき、ラインバッファ読み出し切替え部92は、ヘッダ情報付加部94に送る画像データが、表面の画像データか裏面の画像データかを示す情報(表/裏切り替え情報)を、1ライン毎に、ヘッダ情報付加部94に送る。第1ラインバッファ90から読み出した画像データは、表面の画像データであり、第2ラインバッファ91から読み出した画像データは、裏面の画像データであるから、これに基づいて、ラインバッファ読み出し切替え部92は、表/裏切り替え情報をヘッダ情報付加部94に送る。尚、上述したように、原稿の読み取りの開始時には、表面CIS読取ユニット157で読み取られた画像を表す画像データの方が、裏面CIS読取ユニット158で読み取られた画像を表す画像データよりも先にエンジン部50に出力されるため、第2ラインバッファ91より先に第1ラインバッファ90に画像データが記憶される。このため、ラインバッファ読み出し切替え部92は、第1ラインバッファ90からの画像データの読み出しから先に行う。
ここで、所定のライン数について説明する。後述する入力画像処理部65で画像処理としてJPEGの圧縮方式を用いて圧縮を行う場合、8ライン毎に圧縮を行う。このため、ラインバッファ読み出し切替え部92が、第1ラインバッファ90からの画像データの読み出しと、第2ラインバッファ91からの画像データの読み出しとの切り替えを8ライン毎に行うことで、入力画像処理部65で効率的な圧縮を行うことが可能になる。この8ラインが、所定のライン数に相当する。所定のライン数の値は、例えば、NVRAM54に設定されている。
ヘッダ情報付加部94は、ラインバッファ読み出し切替え部92から画像データ及び表/裏切り替え情報を受け取ると、1ライン毎に、当該画像データに対して表/裏切り替え情報を含むヘッダ情報を付加して、データ転送部93に送る。また、ヘッダ情報付加部94は、ラインバッファ読み出し切替え部92から送られた1ライン分の画像データの最後にラインの終端を示すEOL(End Of Line)情報を付加して、当該EOL情報及びヘッダ情報が付加された画像データをデータ転送部93に送る。EOL情報は、入力画像処理部65がラインの終端を判別するために用いられる。図5は、ヘッダ情報及びEOL情報が付加された画像データのデータ構成を例示する図である。同図では、ヘッダ情報は、ヘッダ情報が有効(ON=1)であるか無効(OFF=0)であるかを示すON/OFF情報と、ヘッダ情報のサイズを示すヘッダサイズ情報と、表/裏切り替え情報とを少なくとも含む。尚、ON/OFF情報は1bitであり、表/裏切り替え情報は、表面の画像データか裏面の画像データかを1bitで示すことが可能であり、ヘッダサイズ情報は3bitであり、その他3bitを未使用の予約情報としてヘッダ情報をbyte単位で構成する。このような構成によれば、ヘッダ情報を画像データから分離しやすくなる。
データ転送部93は、ラインバッファ読み出し切替え部92から送られた、ヘッダ情報及びEOL情報が付加された画像データを入力画像処理部65に転送する。
次に、コントローラ部60の構成について図1を用いて詳細に説明する。コントローラCPU61は、画像処理装置の全体制御をおこなうものであり、ROM62やHDD68やNVRAM64に記憶された各種プログラムを実行することにより、各種機能を画像処理装置において実現させる。ROM62は、各種プログラムや各種データを記憶する。RAM63は、各種プログラムや各種データを一時的に記憶する。また、RAM63には、エンジン部50で画像処理が行われた後の画像データが転送されて記憶される。NVRAM64は、各種プログラムや各種データを記憶する。HDD68は、各種プログラムや各種データを記憶する。HDDI/F69は、HDD68へのアクセスを制御する。操作部I/F67は、操作パネル80からの操作入力の受け付けや、操作パネル80への情報の表示を制御する。ネットワークI/F70は、ネットワークを介した外部装置との通信を制御する。ネットワークとは、例えば、例えば、LAN(Local Area Network)、イントラネット、イーサネット(登録商標)又はインターネットなどである。通信I/F72は、エンジン部50の通信I/F57と接続され、エンジン部50との通信を制御する。
入力画像処理部65には、スキャナ81で読み取られた画像を表す画像データが、エンジン部50の読み取り制御部55を介して転送され、入力画像処理部65は、当該画像データに対して圧縮などの各種画像処理を行なう。出力画像処理部71は、出力対象の画像を表す画像データに対して、画像をプロッタ82から出力するための例えば誤差拡散やガンマ変換等の各種画像処理を行ない、画像処理後の画像データをエンジン部50の出力制御部56に転送する。
ここで、入力画像処理部65の構成について図6を用いて詳細に説明する。入力画像処理部65は、ヘッダ情報分離部100と、データ圧縮部104と、データ転送部(DMAC)105と、第1データ転送設定部106と、第2データ転送設定部107とを有する。ヘッダ情報分離部100は、読み取り制御部55からヘッダ情報及びEOL情報が付加された画像データを受け取ると、ヘッダ情報及びEOL情報を画像データから分離して、画像データをデータ圧縮部104に送り、ヘッダ情報をデータ転送部105に送る。このとき、ヘッダ情報分離部100は、図5に例示されるヘッダ情報に含まれるヘッダサイズ情報を参照して、分離すべきヘッダ情報を判別して、ヘッダ情報及びEOL情報を画像データから分離する。尚、データ圧縮部104に送る画像データの転送単位は、以下で説明するデータ圧縮部104が圧縮可能なライン数(所定のライン数である)以上である。具体的には、例えば、データ圧縮部104がJPEGの圧縮方式を用いて圧縮を行う場合、8ライン毎に圧縮を行っているため、データ圧縮部104に送る画像データの転送単位は、8ライン以上となる。
データ圧縮部104は、ヘッダ情報分離部100から送られた画像データに対して、画像処理として、所定のライン数単位で圧縮を行い、圧縮後の画像データをデータ転送部105に送る。圧縮方式は、例えば、JPEGなどである。
第1データ転送設定部106は、圧縮後の表面の画像データをデータ転送部105がRAM63に転送する際の転送設定情報を設定する。転送設定情報とは、例えば、転送先の先頭アドレスや、転送データサイズなど、DMAC(Direct Memory Access Controller)による転送に必要な各情報を含む。DMACによる転送に必要な情報については周知であるためここではその説明を省略する。第2データ転送設定部107は、圧縮後の裏面の画像データをデータ転送部105がRAM63に転送する際の転送設定情報を設定する。尚、表面の画像データ及び裏面の画像データがRAM63に記憶される記憶領域は、各々異なるように割り当てられているとする。そして、第1データ転送設定部106が設定する転送設定情報の転送先の先頭アドレスは、表面の画像データに割り当てられた記憶領域内のものであり、第2データ転送設定部107が設定する転送設定情報の転送先の先頭アドレスは、裏面の画像データに割り当てられた記憶領域内のものであるとする。
データ転送部105は、DMAC(Direct Memory Access Controller)として機能するコントローラであり、ヘッダ情報分離部100から送られたヘッダ情報に含まれる表/裏切り替え情報を用いて、データ圧縮部104から送られた画像データが表面の画像データであるか否かを判定し、画像データが表面の画像データであると判定した場合、第1データ転送設定部106の設定した転送設定情報と共に当該画像データをRAM63に転送し、画像データが裏面の画像データであると判定した場合、第2データ転送設定部107の設定した転送設定情報と共に当該画像データをRAM63に転送する。このようにして、データ転送部105は、圧縮後の表面の画像データの転送先と、圧縮後の裏面の画像データの転送先とを切り替える。RAM63は、データ転送部105から転送された転送設定情報を用いて、共にデータ転送部105から転送された画像データを記憶する。この結果、RAM63には、表面の画像データと裏面の画像データとが分けて記憶されることになる。
次に、本実施の形態にかかる画像処理装置の行う処理の手順について説明する。まず、エンジン部50が行う読取処理の手順について図7を用いて説明する。エンジン部50の読み取り制御部55は、表面センサが原稿から読み取った表面の画像の入力を受け付け、当該画像を表す画像データを第1ラインバッファ90に記憶させ(ステップS1)、また、裏面センサが原稿から読み取った裏面の画像の入力を受け付け、当該画像を表す画像データを第2ラインバッファ91に記憶させる(ステップS2)。そして、読み取り制御部55は、ラインバッファ読み出し切替え処理を行う(ステップS3)。ここで、ラインバッファ読み出し切替え処理の手順について図8を用いて説明する。
読み取り制御部55は、第1ラインバッファ90に画像データ(表面の画像データ)が記憶されているか否かを判定する(ステップS20)。第1ラインバッファ90に画像データが記憶されている場合(ステップS20:YES)、読み取り制御部55は、第1ラインバッファ90から画像データを1ライン分読み出して(ステップS21)、当該画像データに対して、表面の画像データであることを示す表/裏切り替え情報を含むヘッダ情報を付加し、ラインの終端にEOL情報を付加する(ステップS22)。また、読み取り制御部55は、ライン数を1インクリメントすることにより、第1ラインバッファ90から読み出した画像データのライン数をカウントし、当該ライン数が所定のライン数に達しているか否かを判定する(ステップS23)。カウントしたライン数が所定のライン数に達している場合(ステップS23:YES)、読み取り制御部55は、カウントしたライン数を初期化して、ステップS24に進み、カウントしたライン数が所定のライン数に達していない場合(ステップS23:NO)、ステップS21に戻る。第1ラインバッファ90に画像データが記憶されていない場合も(ステップS20:NO)、ステップS24に進む。ステップS24では、読み取り制御部55は、第2ラインバッファ91に画像データ(裏面の画像データ)が記憶されているか否かを判定する。第2ラインバッファ91に画像データが記憶されている場合(ステップS24:YES)、読み取り制御部55は、第2ラインバッファ91から画像データを1ライン分読み出して(ステップS25)、当該画像データに対して、裏面の画像データであることを示す表/裏切り替え情報を含むヘッダ情報を付加し、ラインの終端にEOL情報を付加する(ステップS26)。また、読み取り制御部55は、ライン数を1インクリメントすることにより、第2ラインバッファ91から読み出した画像データのライン数をカウントし、当該ライン数が所定のライン数に達しているか否かを判定する(ステップS27)。カウントしたライン数が所定のライン数に達している場合(ステップS27:YES)、読み取り制御部55は、カウントしたライン数を初期化して、ステップS28に進み、カウントしたライン数が所定のライン数に達していない場合(ステップS27:NO)、ステップS25に戻る。第2ラインバッファ91に画像データが記憶されていない場合も(ステップS24:NO)、ステップS28に進む。ステップS28では、読み取り制御部55は、スキャナ81による画像の読み取りが終了したか否かを判定し、当該判定結果が否定的である場合(ステップS28:NO)、ステップS20に戻り、当該判定結果が肯定的である場合(ステップS28:YES)、処理を終了する。以上のようにして、所定のライン数毎に、第1ラインバッファ90からの表面の画像データの読み出し及び第2ラインバッファ91からの裏面の画像データの読み出しが交互に行われる。
図7の説明に戻る。読み取り制御部55は、ステップS3で読み出してヘッダ情報及びEOL情報を付加した画像データをコントローラ部60の入力画像処理部65に転送する(ステップS4)。
次に、コントローラ部60の行う入力画像処理の手順について図9を用いて説明する。コントローラ部60の入力画像処理部65は、エンジン部50の読み取り制御部55からヘッダ情報及びEOL情報が付加されて転送された画像データを受け取ると(ステップS40)、ヘッダ情報及びEOL情報を画像データから分離して(ステップS41)、当該画像データに対して、所定のライン数単位で圧縮を行う(ステップS42)。また、入力画像処理部65は、ステップS41で分離したヘッダ情報に含まれる表/裏切り替え情報を用いて、ステップS42で圧縮を行った画像データが表面の画像データか裏面の画像データかを判定して、判定結果に応じて、転送設定情報を設定して、DMACの機能により、当該転送設定情報と共に当該画像データをRAM63に転送する(ステップS43)。この結果、RAM63には、表面の画像データと裏面の画像データとが分けて記憶される。
以上のように、エンジン部50からコントローラ部60に対して、原稿から読み取った画像が表面のものなのか裏面のものなのかを示す表/裏切り替え情報をヘッダ情報に含ませて画像データに付加することにより、転送対象の画像データが表面のものなのか裏面のものなのかを示すために特別な信号等の通信を行うことなく、簡易な構成を実現することができる。
また、以上のような構成によれば、表面及び裏面のぞれぞれについて画像の読み取り及び当該画像に対する画像処理に係る時間を均等にすることが可能になる。
尚、原稿の両面の画像を同時に読み取り可能な従来の画像処理装置では、従来の技術欄で説明したように、1)〜3)の手順で、表面の画像データ及び裏面の画像データの転送をページ単位に行っており(図10参照)、裏面の画像データの転送は、1ページの表面の画像データの転送後に行われる。このため、表面の画像データに対する画像処理にかけられる時間には余裕があるものの、裏面の画像データの転送及び裏面の画像データに対する画像処理にかけられる時間は、表面の画像データに比べて短くする必要があった。従って、裏面の画像データに対する画像処理にかけられる時間に制約があり、全体の読み取り速度を上げることが困難であった(図11参照)。
一方、本実施の形態においては、表面の画像の読み取りが開始されて、当該画像を表す画像データがエンジン部50へ出力されるが、その最中に、裏面の画像の読み取りが開始されて、当該画像を表す画像データがエンジン部50へ出力される。エンジン部50での画像処理は、表面の画像データ及び裏面の画像データに対して所定のライン数毎に交互に行われる。このため、表面の画像及び裏面の画像に対して、略均等に読み取りが行われると共に、画像処理が行われる。図12は、本実施の形態において、表面の画像及び裏面の画像のそれぞれについて、その読み取りにかかる時間及びその画像データがエンジン部50へ出力されて行われる画像処理にかかる時間を対比する図である。
即ち、本実施の形態においては、ライン単位で表/裏切り替え情報を含むヘッダ情報を画像データに付加することで、ページ単位でなくライン単位で画像データを扱えるようになるため、ページ毎に画像データを蓄積するためのページメモリが不要になる。それと同時に、表面の画像データ及び裏面の画像データについて、図12に例示されるように、転送にかかる時間や画像処理にかかる時間がそれぞれ平均化され、それらの時間の偏りが解消される。その結果、裏面の画像データの読み取り終了を従来に比べて前倒し可能になり、全体の読み取り速度を上げることが可能になる。
[第2の実施の形態]
次に、画像処理装置及び画像処理方法の第2の実施の形態について説明する。なお、上述の第1の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
本実施の形態においては、画像処理装置は、原稿から読み取った画像がカラー画像であるかモノクロ画像であるかを判定し、当該画像がカラー画像であるか又はモノクロ画像であるかを示すカラー/モノクロ判定情報を表/裏切り替え情報と共に含むヘッダ情報を画像データに付加する。カラー画像とは、白黒のみならずその他の色により表現される画像である。このようなカラー画像を表す画像データは、色を示す色情報を含み、RGBの3色のそれぞれの各画像データを含む。モノクロ画像とは、白黒のみの色により表現される画像である。このようなモノクロ画像を表す画像データは、色を示す色情報を含まず、RGBのいずれか1色の画像データのみを含むようにすることが可能である。図13は、本実施の形態にかかる読み取り制御部55の構成を例示する図である。本実施の形態においては、読み取り制御部55は、第1ラインバッファ90と、第2ラインバッファ91と、ラインバッファ読み出し切替え部92と、ヘッダ情報付加部94と、データ転送部93とに加え、カラー判定部95を有する。
ラインバッファ読み出し切替え部92は、第1ラインバッファ90からの画像データの読み出しと、第2ラインバッファ91からの画像データの読み出しとを所定のライン数毎に切り替えて行ない、読み出した画像データをヘッダ情報付加部94に送ると共に、カラー判定部95に送る。カラー判定部95は、ラインバッファ読み出し切替え部92から送られた画像データに色情報が含まれるか否かを判定することにより、当該画像がカラー画像であるかモノクロ画像であるかを判定し、その判定の結果、当該画像がカラー画像であるか又はモノクロ画像であるかを示すカラー/モノクロ判定情報をヘッダ情報付加部94に送る。ヘッダ情報付加部94は、ラインバッファ読み出し切替え部92から画像データ及び表/裏切り替え情報を受け取り、カラー判定部95からカラー/モノクロ判定情報を受け取ると、1ライン毎に、当該画像データに対して表/裏切り替え情報及びカラー/モノクロ判定情報を含むヘッダ情報及び上述のEOL情報を付加して、データ転送部93に送る。
データ転送部93は、ヘッダ情報付加部94からヘッダ情報及びEOL情報が付加された画像データを受け取ると、当該ヘッダ情報に含まれるカラー/モノクロ判定情報を参照して、当該画像データによって表される画像がモノクロ画像であることがカラー/モノクロ判定情報によって示される場合、当該画像データについては、Gの1色のみの画像データを入力画像処理部65に転送する。即ち、この場合、データ転送部93は、RBの各色の画像データを入力画像処理部65に転送しない。
次に、入力画像処理部65の構成について第1の実施の形態と異なる点について図14を用いて説明する。ヘッダ情報分離部100は、読み取り制御部55からヘッダ情報及びEOL情報が付加された画像データを受け取ると、ヘッダ情報及びEOL情報を画像データから分離して、画像データ及びヘッダ情報に含まれるカラー/モノクロ判定情報をデータ圧縮部104に送り、ヘッダ情報をデータ転送部105に送る。データ圧縮部104は、ヘッダ情報分離部100から画像データ及びカラー/モノクロ判定情報を受け取ると、カラー/モノクロ判定情報を用いて、当該画像データによって表される画像がカラー画像であるかモノクロ画像であるかを判定し、当該判定の結果に応じた圧縮方式で、当該画像データに対して所定のライン数単位で圧縮を行い、圧縮後の画像データをデータ転送部105に送る。例えば、データ圧縮部104は、当該画像データによって表される画像がカラー画像であると判定した場合、当該画像データに対してJPEGの圧縮方式により圧縮を行い、当該画像データによって表される画像がモノクロ画像であると判定した場合、当該画像データに対してJBIGの圧縮方式により圧縮を行う。このように、データ圧縮部104は、画像データに対して、カラー画像又はモノクロ画像に適した圧縮方式で圧縮を行う。
次に、本実施の形態にかかる画像処理装置の行う処理の手順について説明する。本実施の形態では、図7に手順を示した読取処理において、ステップS3〜S4が第1の実施の形態と異なる。図15は、本実施の形態にかかる読取処理の手順を示すフローチャートである。図16は、ステップS3のラインバッファ読み出し切替え処理の詳細な手順を示すフローチャートである。本実施の形態においては、読み取り制御部55は、読み出した画像データに対して、カラー判定処理を行う(ステップS60)。図17は、カラー判定処理の手順を示すフローチャートである。読み取り制御部55は、ステップS21で読み出した画像データに色情報が含まれるか否かを判定することにより、当該画像データによって表される画像がカラー画像であるかモノクロ画像であるかを判定する(ステップS70)。読み取り制御部55は、当該画像がカラー画像であると判定した場合(ステップS70:YES)、当該画像がカラー画像であることを示すカラー/モノクロ判定情報を生成し(ステップS71)、当該画像がモノクロ画像であると判定した場合(ステップS70:NO)、当該画像がモノクロ画像であることを示すカラー/モノクロ判定情報を生成する(ステップS71)。図16の説明に戻る。ステップS60の後、読み取り制御部55は、ステップS21で読み出した画像データに対して、表面の画像データであることを示す表/裏切り替え情報及びステップS71又はS72で生成したカラー/モノクロ判定情報を含むヘッダ情報を付加し、ラインの終端にEOL情報を付加する(ステップS22A)。また、読み取り制御部55は、ステップS25で読み出した画像データに対して、カラー判定処理を行う(ステップS61)。このカラー判定処理の手順は、図17に示したものと同様であるためその説明を省略する。ステップS61の後、読み取り制御部55は、ステップS25で読み出した画像データに対して、裏面の画像データであることを示す表/裏切り替え情報及びステップS71又はS72で生成したカラー/モノクロ判定情報を含むヘッダ情報を付加し、ラインの終端にEOL情報を付加する(ステップS26A)。
図15の説明に戻る。ステップS3の後、読み取り制御部55は、ヘッダ情報に含まれるカラー/モノクロ判定情報を参照して、ステップS3で読み出した画像データによって表される画像がカラー画像であるかモノクロ画像であるかを判定する(ステップS80)。当該画像がカラー画像であると判定した場合(ステップS80:YES)、読み取り制御部55は、図7のステップS4と同様にして、ヘッダ情報及びEOL情報を付加した画像データをコントローラ部60の入力画像処理部65に転送する(ステップS81)。一方、当該画像がモノクロ画像であると判定した場合(ステップS80:NO)、読み取り制御部55は、Gの1色のみの画像データをヘッダ情報及びEOL情報が付加された状態でコントローラ部60の入力画像処理部65に転送する(ステップS82)。
次に、コントローラ部60の行う入力画像処理の手順について図18を用いて説明する。ステップS40〜S41は第1の実施の形態と同様である。ステップS90では、コントローラ部60の入力画像処理部65は、ステップS41で画像データから分離したヘッダ情報に含まれるカラー/モノクロ判定情報を参照して、ステップS40で受け取った画像データによって表される画像がカラー画像であるかモノクロ画像であるかを判定する(ステップS90)。カラー画像であると判定した場合(ステップS90:YES)、入力画像処理部65は、当該画像データに対して、カラー画像に適した圧縮方式としてJPEGの圧縮方式により圧縮を行い(ステップS91)、モノクロ画像であると判定した場合(ステップS90:NO)、当該画像データに対して、モノクロ画像に適した圧縮方式としてJBIGの圧縮方式により圧縮を行い(ステップS92)。ステップS43は第1の実施の形態と同様である。
以上のように、原稿から読み取った画像がカラー画像であるかモノクロ画像であるかを判定して、いずれであるかを示すカラー/モノクロ判定情報を含むヘッダ情報を画像データに付加することで、入力画像処理部65が、画像データに対して、カラー画像又はモノクロ画像にそれぞれ最適なアルゴリズムを適用して、画像処理として圧縮を行うことができる。また、原稿画像から読み取った画像がモノクロ画像である場合、入力画像処理部65に対してRBの各色の画像データを転送しないため、不要な画像データを転送せずに済む。
[第3の実施の形態]
次に、画像処理装置及び画像処理方法の第3の実施の形態について説明する。なお、上述の第1の実施の形態又は第2の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
本実施の形態においては、画像処理装置は、表面センサ及び裏面センサが各々読み取った画像のそれぞれについて、白紙の原稿から読み取られた画像であるか否かを判定し、白紙の原稿から読み取られた画像であるか否かを示す画像有無情報を含むヘッダ情報を、当該画像を表す画像データに対して付加する。図19は、本実施の形態にかかる読み取り制御部55の構成を例示する図である。本実施の形態においては、読み取り制御部55は、第1ラインバッファ90と、第2ラインバッファ91と、ラインバッファ読み出し切替え部92と、ヘッダ情報付加部94と、データ転送部93とに加え、白紙判定部96を有する。
ラインバッファ読み出し切替え部92は、第1ラインバッファ90からの画像データの読み出しと、第2ラインバッファ91からの画像データの読み出しとを所定のライン数毎に切り替えて行ない、読み出した画像データをヘッダ情報付加部94に送ると共に、白紙判定部96に送る。白紙判定部96は、ラインバッファ読み出し切替え部92から送られた画像データによって表される画像の特徴を解析して、当該画像の特徴量から、当該画像が白紙の原稿から読み取られた画像であるか否かを判定し、当該判定の結果に応じて、画像の有無を示す画像有無情報をヘッダ情報付加部94に送る。そして、白紙判定部96は、白紙の原稿から読み取られた画像であると判定した場合、画像がないことを示す画像有無情報をヘッダ情報付加部94に送り、白紙の原稿から読み取られた画像でないと判定した場合、画像があることを示す画像有無情報をヘッダ情報付加部94に送る。ヘッダ情報付加部94は、ラインバッファ読み出し切替え部92から画像データ及び表/裏切り替え情報を受け取り、白紙判定部96から画像有無情報を受け取ると、1ライン毎に、当該画像データに対して表/裏切り替え情報及び画像有無情報を含むヘッダ情報及び上述のEOL情報を付加して、データ転送部93に送る。データ転送部93は、ラインバッファ読み出し切替え部92から送られた、ヘッダ情報及びEOL情報が付加された画像データを入力画像処理部65に転送する。
次に、入力画像処理部65の構成について第1の実施の形態と異なる点について図6を用いて説明する。ヘッダ情報分離部100は、読み取り制御部55からヘッダ情報及びEOL情報が付加された画像データを受け取ると、ヘッダ情報及びEOL情報を画像データから分離して、画像データ及びヘッダ情報に含まれる画像有無情報をデータ圧縮部104に送り、ヘッダ情報をデータ転送部105に送る。データ圧縮部104は、ヘッダ情報分離部100から画像データ及び画像有無情報を受け取ると、画像有無情報を用いて、当該画像データに画像があるか否か、即ち、当該画像データによって表される画像が白紙の原稿から読み取られた画像であるか否かを判定し、当該画像が白紙の原稿から読み取られた画像であると判定した場合、当該画像データをダミーデータに置き換えて、当該ダミーデータに対して圧縮を行ない、圧縮後の画像データをデータ転送部105に送る。ダミーデータは、例えば、白紙に相当する画像として、同一の色で均一に表現された画像を表すものであり、NVRAM64に記憶されている。実際には、読み取り対象の原稿に画像が表れておらず、原稿が白紙である場合でも、表面センサ及び裏面センサとして用いられるCISなどのセンサや光源の性能のバラツキによる濃度の変動や、センサや原稿板161のゴミを読み取ってしまうことで不要な情報を画像として読み取ってしまうことがある。従って、そのような濃度の変動やゴミの影響を排除するため、データ圧縮部104は、ダミーデータを用いて圧縮を行う。一方、当該画像データによって表される画像が白紙の原稿から読み取られた画像でないと判定した場合、データ圧縮部104は、第1の実施の形態と同様にして当該画像データに対して圧縮を行ない、圧縮後の画像データをデータ転送部105に送る。
次に、本実施の形態にかかる画像処理装置の行う処理の手順について説明する。本実施の形態では、図7に手順を示した読取処理において、ステップS3が第1の実施の形態と異なる。図20は、ステップS3のラインバッファ読み出し切替え処理の詳細な手順を示すフローチャートである。本実施の形態においては、読み取り制御部55は、読み出した画像データに対して、白紙判定処理を行う(ステップS100)。図21は、白紙判定処理の手順を示すフローチャートである。読み取り制御部55は、ステップS21で読み出した画像データによって表される画像を解析して、当該画像が白紙の原稿から読み取られた画像であるか否かを判定する(ステップS110)。読み取り制御部55は、当該画像が白紙の原稿から読み取られた画像でないと判定した場合(ステップS110:NO)、画像があることを示す画像有無情報を生成し(ステップS111)、当該画像が白紙の原稿から読み取られた画像であると判定した場合(ステップS110:YES)、画像がないことを示す画像有無情報を生成する(ステップS112)。図20の説明に戻る。ステップS100の後、読み取り制御部55は、ステップS21で読み出した画像データに対して、表面の画像データであることを示す表/裏切り替え情報及びステップS71又はS72で生成した画像有無情報を含むヘッダ情報を付加し、ラインの終端にEOL情報を付加する(ステップS22B)。また、読み取り制御部55は、ステップS25で読み出した画像データに対して、白紙判定処理を行う(ステップS101)。この白紙判定処理の手順は、図21に示したものと同様であるためその説明を省略する。ステップS101の後、読み取り制御部55は、ステップS25で読み出した画像データに対して、裏面の画像データであることを示す表/裏切り替え情報及びステップS111又はS112で生成した画像有無情報を含むヘッダ情報を付加し、ラインの終端にEOL情報を付加する(ステップS26B)。その後のステップS4は第1の実施の形態と同様である。
次に、コントローラ部60の行う入力画像処理の手順について図22を用いて説明する。ステップS40〜S41は第1の実施の形態と同様である。ステップS120では、コントローラ部60の入力画像処理部65は、ステップS41で画像データから分離したヘッダ情報に含まれる画像有無情報を参照して、ステップS40で受け取った画像データに画像があるか否か、即ち、当該画像データによって表される画像が白紙の原稿から読み取られた画像であるか否かを判定する。当該画像が白紙の原稿から読み取られた画像であると判定した場合(ステップS120:YES)、入力画像処理部65は、当該画像データをダミーデータに置き換えて(ステップS121)、当該ダミーデータに対して圧縮を行う(ステップS42)。一方、当該画像データによって表される画像が白紙の原稿から読み取られた画像でないと判定した場合(ステップS120:NO)、入力画像処理部65は、第1の実施の形態と同様にして、当該画像データに対して圧縮を行う(ステップS42)。
以上のように、画像データによって表される画像が白紙の原稿から読み取られた画像であるか否かを判定し、当該判定の結果を示す画像有無情報を含むヘッダ情報を画像データに対して付加することにより、画像データに対して圧縮を行なう際に、白紙に相当するダミーデータを用いて圧縮を行うことが可能になる。このような構成によれば、例えば、原稿の画像を表面及び裏面から読み取ったものの、実際には片面しか画像が表れていない場合等に、圧縮効率を向上させ、圧縮を行なう際のデータ量を削減することが可能になる。
[第4の実施の形態]
次に、画像処理装置及び画像処理方法の第4の実施の形態について説明する。なお、上述の第1の実施の形態乃至第3の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
本実施の形態においては、画像処理装置は、原稿から読み取った画像を表す画像データに対して、当該画像データのサイズを示す画像サイズ情報を含むヘッダ情報を付加する。図23は、本実施の形態にかかる読み取り制御部55の構成を例示する図である。本実施の形態にかかる読み取り制御部55は、第1ラインバッファ90と、第2ラインバッファ91と、ラインバッファ読み出し切替え部92と、ヘッダ情報付加部94と、データ転送部93とに加え、表面ライン数カウンタ97と、裏面ライン数カウンタ98とを有する。
ラインバッファ読み出し切替え部92は、第1の実施の形態と同様にして、第1ラインバッファ90からの画像データの読み出しと、第2ラインバッファ91からの画像データの読み出しとを所定のライン数毎に切り替えて行ない、読み出した画像データをヘッダ情報付加部94に送る。このとき、ラインバッファ読み出し切替え部92は、データ転送部93に送る画像データが、表面の画像データか裏面の画像データかを示す表/裏切り替え情報を、1ライン毎に、ヘッダ情報付加部94に送る。更に、ラインバッファ読み出し切替え部92は、第1ラインバッファ90から読み出した表面の画像データを1ライン読み出してヘッダ情報付加部94に転送する毎に、その旨を示すライン処理情報を表面ライン数カウンタ97に送る。また、ラインバッファ読み出し切替え部92は、第2ラインバッファ91から読み出した裏面の画像データを1ライン読み出してヘッダ情報付加部94に転送する毎に、その旨を示すライン処理情報を裏面ライン数カウンタ98に送る。
表面ライン数カウンタ97は、ラインバッファ読み出し切替え部92から送られたライン処理情報を用いて、ヘッダ情報付加部94に転送された表面の画像データのライン数をカウントし、表面センサで読み取り対象の原稿の終端を検知したときに、読み取り対象の原稿のサイズを確定し、カウントしたライン数を示す画像サイズ情報をヘッダ情報付加部94に送る。その後、表面ライン数カウンタ97は、カウントしたライン数を初期化して「0」にする。尚、表面センサは、読み取り対象の原稿の終端を検知したときにその旨を表面ライン数カウンタ97に通知する。裏面ライン数カウンタ98は、ラインバッファ読み出し切替え部92から送られたライン処理情報を用いて、ヘッダ情報付加部94に転送された裏面の画像データのライン数をカウントし、裏面センサで読み取り対象の原稿の終端を検知したときに、読み取り対象の原稿のサイズを確定し、カウントしたライン数を示す画像サイズ情報をヘッダ情報付加部94に送る。その後、裏面ライン数カウンタ98は、カウントしたライン数を初期化して「0」にする。尚、裏面センサは、読み取り対象の原稿の終端を検知したときにその旨を裏面ライン数カウンタ98に通知する。
ヘッダ情報付加部94は、第1の実施の形態と同様にして、ラインバッファ読み出し切替え部92から画像データ及び表/裏切り替え情報を受け取ると、1ライン毎に、当該画像データに対して表/裏切り替え情報を含むヘッダ情報及びEOL情報を付加して、データ転送部93に送る。また、ヘッダ情報付加部94は、表面ライン数カウンタ97から画像サイズ情報を受け取ると、ラインバッファ読み出し切替え部92から受け取った表/裏切り替え情報によって表面の画像データであることが示される画像データについて、当該画像サイズ情報をヘッダ情報に含ませて、当該ヘッダ情報及びEOL情報が付加された画像データをデータ転送部93に送る。同様に、ヘッダ情報付加部94は、裏面ライン数カウンタ98から画像サイズ情報を受け取ると、ラインバッファ読み出し切替え部92から受け取った表/裏切り替え情報によって裏面の画像データであることが示される画像データについて、当該画像サイズ情報をヘッダ情報に含ませて、当該ヘッダ情報及びEOL情報が付加された画像データをデータ転送部93に送る。即ち、ヘッダ情報付加部94は、画像データのデータ転送部93への転送を開始した時点では、ヘッダ情報には画像サイズ情報を含ませず、読み取り対象の原稿のサイズが確定された時点で、ヘッダ情報に画像サイズ情報を含ませる。
図24は、本実施の形態にかかるヘッダ情報及びEOL情報が付加された画像データのデータ構成を例示する図である。同図に示されるように、ヘッダ情報には、画像データのライン数を示す画像サイズ情報が含まれる。このような構成によって、読み取り制御部55は、原稿から読み取られた画像のサイズを入力画像処理部65に予め通知する。
図25は、本実施の形態にかかる入力画像処理部65の構成を例示する図である。本実施の形態にかかる入力画像処理部65は、ヘッダ情報分離部100と、データ圧縮部104と、データ転送部105と、第1データ転送設定部106と、第2データ転送設定部107とに加え、ラインバッファを有する第1データ入力部108と、ラインバッファを有する第2データ入力部109と、データ切り替え制御部110とを有する。
ヘッダ情報分離部100は、読み取り制御部55からヘッダ情報及びEOL情報が付加された画像データを受け取ると、ヘッダ情報及びEOL情報を画像データから分離して、当該ヘッダ情報に含まれる表/裏切り替え情報によって表面の画像データであることが示される場合、当該画像データ及びヘッダ情報に含まれる画像サイズ情報を第1データ入力部108に送る。また、ヘッダ情報分離部100は、当該ヘッダ情報に含まれる表/裏切り替え情報によって裏面の画像データであることが示される場合、当該画像データ及びヘッダ情報に含まれる画像サイズ情報を第2データ入力部109に送る。
第1データ入力部108は、ヘッダ情報分離部100から画像データを受け取ると、当該画像データのライン数をカウントし、画像データをラインバッファに記憶させる。また、第1データ入力部108は、ヘッダ情報分離部100から画像サイズ情報を受け取ると、当該画像サイズ情報によって示されるライン数と、受け取った画像データについてカウントしたライン数とを比較して、後者のライン数が、圧縮に必要なライン数に不足する場合、不足分のライン数のダミーデータを生成して、これをラインバッファに記憶させることにより、画像データの補完を行なう。このダミーデータは、例えば、NVRAM64に記憶されている。尚、第1データ入力部108は、画像データの受け取りが終了すると、ライン数のカウントを初期化して「0」にする。第2データ入力部109は、ヘッダ情報分離部100から画像データを受け取ると、当該画像データのライン数をカウントし、画像データをラインバッファに記憶させる。また、第2データ入力部109は、ヘッダ情報分離部100から画像サイズ情報を受け取ると、当該画像サイズ情報によって示されるライン数と、受け取った画像データについてカウントしたライン数とを比較して、後者のライン数が、圧縮に必要なライン数に不足する場合、不足分のライン数のダミーデータを生成して、これをラインバッファに記憶させることにより、画像データの補完を行なう。尚、第2データ入力部109は、画像データの受け取りが終了すると、ライン数のカウントを初期化して「0」にする。
データ切り替え制御部110は、第1データ入力部108のラインバッファからの表面の画像データの読み出しと、第2データ入力部109のラインバッファからの裏面の画像データの読み出しとを適宜切り替えて、読み出した画像データをデータ圧縮部104に送ると共に、データ圧縮部104に送る画像データが、表面の画像データか裏面の画像データかを示す表/裏切り替え情報をデータ転送部105に送る。第1データ入力部108のラインバッファから読み出した画像データは、表面の画像データであり、第2データ入力部109から読み出した画像データは、裏面の画像データであるから、これに基づいて、データ切り替え制御部110は、表/裏切り替え情報をデータ転送部105に送る。
データ転送部105は、データ切り替え制御部110から送られた表/裏切り替え情報を用いて、データ圧縮部104から送られた画像データが表面の画像データであるか否かを判定し、画像データが表面の画像データであると判定した場合、第1データ転送設定部106の設定した転送設定情報と共に当該画像データをRAM63に転送し、画像データが裏面の画像データであると判定した場合、第2データ転送設定部107の設定した転送設定情報と共に当該画像データをRAM63に転送する。
次に、本実施の形態にかかる画像処理装置の行う処理の手順について説明する。ここでは、コントローラ部60の入力画像処理部65のうち、第1データ入力部108,第2データ入力部109及びデータ切り替え制御部110の各機能によってデータ圧縮部104へ画像データを送る際の処理の手順について図26を用いて説明する。尚、第1データ入力部108,第2データ入力部109の各機能によって実現される処理の手順は、略同様であるため、第1データ入力部108についてのみ説明する。尚、第1データ入力部108がカウントするライン数は予め初期化されているものとする。入力画像処理部65は、読み取り制御部55からヘッダ情報及びEOL情報が付加された画像データを受け取ると、ヘッダ情報及びEOL情報を画像データから分離して、当該ヘッダ情報に含まれる表/裏切り替え情報によって表面の画像データであることが示される場合、第1データ入力部108の機能により、画像サイズ情報によって示されるライン数を判別すると共に(ステップS140)、受け取った画像データをラインバッファに記憶させ(ステップS141)、当該画像データのライン数をカウントする(ステップS142)。そして、入力画像処理部65は、カウントしたライン数が8の倍数であるか否かを判定する(ステップS143)。当該判定結果が肯定的である場合(ステップS143:YES)、入力画像処理部65は、データ切り替え制御部110の機能により、第1データ入力部108のラインバッファに記憶された画像データをデータ圧縮部104に送ると共に、表面の画像データであることを示す表/裏切り替え情報をデータ転送部105に送り(ステップS144)、ステップS145に進む。ステップS143の判定結果が否定的である場合も(ステップS143:NO)、ステップS145に進む。
ステップS145では、入力画像処理部65は、カウントしたライン数と、画像サイズ情報から判別したライン数とを比較して、前者が後者以上であるか否かを判定する(ステップS145)。当該判定結果が否定的である場合(ステップS145:NO)、ステップS141に進み、当該判定結果が肯定的である場合(ステップS145:YES)、ステップS146に進む。ステップS146では、入力画像処理部65は、カウントしたライン数が8の倍数であるか否かを判定する。当該判定結果が否定的である場合(ステップS146:NO)、入力画像処理部65は、第1データ入力部108の機能により、ダミーデータを生成してこれをラインバッファに記憶させ(ステップS147)、ステップS142に戻る。ステップS146の判定結果が肯定的である場合(ステップS146:YES)、処理を終了する。
以上のように、原稿から読み取られた画像のサイズをヘッダ情報により入力画像処理部65に予め通知することで、入力画像処理部65は、画像処理に必要なライン数の不足を検知し、不足分を補って、画像データを補完することができる。これにより、画像処理のアルゴリズムを効率的に実現させることが可能になる。また、読み取り対象の原稿の終端を検知したときに、原稿のサイズを確定することで、原稿が長尺用紙のような不定型であっても、原稿から読み取った画像のサイズを検知することができる。
尚、画像処理装置は、読み取り対象の原稿のサイズを検知する原稿検知センサ(不図示)を備え、読み取り制御部55のヘッダ情報付加部94は、原稿検知センサで定型サイズ(例えばA4,B5など)の原稿のサイズを検知できた場合、ラインバッファ読み出し切替え部92から画像データ及び表/裏切り替え情報を受け取ると、1ライン毎に、当該画像データに対して表/裏切り替え情報及び検知された原稿のサイズを画像のサイズとして示す画像サイズ情報を含むヘッダ情報及びをEOL情報を付加して、データ転送部93に送るようにしても良い。この場合、ヘッダ情報付加部94は、画像データのデータ転送部93への転送を開始した時点で、ヘッダ情報に画像サイズ情報を含ませることができる。尚、画像サイズ情報は、画像のサイズとして、例えばA4,B5などの定型のサイズを識別する情報を示すようにしても良いし、定型のサイズに相当するライン数を示すようにしても良い。
[第5の実施の形態]
次に、画像処理装置及び画像処理方法の第5の実施の形態について説明する。なお、上述の第1の実施の形態乃至第4の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
上述の第4の実施の形態においては、画像処理装置は、表面センサ又は裏面センサで読み取り対象の原稿の終端を検知した場合、読み取り対象の原稿のサイズを確定し、当該原稿から読み取った画像のサイズとして、ライン数を示す画像サイズ情報をヘッダ情報に含ませた。本実施の形態においては、画像処理装置は、読み取り対象の原稿のサイズを確定した時点で、当該原稿から読み取った画像の画像データ全体のライン数ではなく、読み取りが終了した画像を表す画像データのうち、転送がまだ済んでいない画像データのライン数(残りのライン数)を示す画像サイズ情報をヘッダ情報に含ませる。画像サイズ情報によって示される残りのライン数が「0」になったときに、画像データの転送が全て終了したことが判別できる。本実施の形態にかかる読み取り制御部55の構成は、第1の実施の形態と略同様であり、図4に示したものと略同様であるが、以下の点で第1の実施の形態と異なる。
ラインバッファ読み出し切替え部92は、第1の実施の形態と同様にして、第1ラインバッファ90からの画像データの読み出しと、第2ラインバッファ91からの画像データの読み出しとを所定のライン数毎に切り替えて行ない、読み出した画像データをヘッダ情報付加部94に送る。このとき、ラインバッファ読み出し切替え部92は、データ転送部93に送る画像データが、表面の画像データか裏面の画像データかを示す表/裏切り替え情報を、1ライン毎に、ヘッダ情報付加部94に送る。更に、ラインバッファ読み出し切替え部92は、表面センサで読み取り対象の原稿の終端を検知したときに、読み取り対象の原稿のサイズを確定し、第1ラインバッファ90から読み出した画像データについて、残りのライン数を示す画像サイズ情報をヘッダ情報付加部94に送る。また、ラインバッファ読み出し切替え部92は、裏面センサで読み取り対象の原稿の終端を検知したときに、読み取り対象の原稿のサイズを確定し、第2ラインバッファ91から読み出した画像データについて、残りのライン数を示す画像サイズ情報をヘッダ情報付加部94に送る。尚、表面センサ及び裏面センサは各々、原稿の終端を検知したときにその旨をラインバッファ読み出し切替え部92に通知する。
ヘッダ情報付加部94は、第1の実施の形態と同様にして、ラインバッファ読み出し切替え部92から画像データ及び表/裏切り替え情報を受け取ると、1ライン毎に、当該画像データに対して表/裏切り替え情報を含むヘッダ情報及びEOL情報を付加して、データ転送部93に送る。また、ヘッダ情報付加部94は、ラインバッファ読み出し切替え部92から画像サイズ情報も受け取った場合、当該画像サイズ情報をヘッダ情報に含ませて、当該ヘッダ情報及びEOL情報が付加された画像データをデータ転送部93に送る。
本実施の形態にかかる入力画像処理部65の構成は、第4の実施の形態と略同様であり、図25に示されるものと略同様であるが、以下の点で第4の実施の形態と異なる。第1データ入力部108は、ヘッダ情報分離部100から画像データを受け取ると、当該画像データのライン数をカウントし、画像データをラインバッファに記憶させる。また、第1データ入力部108は、ヘッダ情報分離部100から画像サイズ情報を受け取った場合、当該画像サイズ情報によって示される残りのライン数が「0」であることを判別すると、と、受け取った画像データについてカウントしたライン数が、圧縮に必要なライン数に不足する場合、不足分のライン数のダミーデータを生成して、これをラインバッファに記憶させることにより、画像データの補完を行なう。尚、第1データ入力部108は、画像データの受け取りが終了すると、ライン数のカウントを初期化して「0」にする。第2データ入力部109は、ヘッダ情報分離部100から画像データを受け取ると、当該画像データのライン数をカウントし、画像データをラインバッファに記憶させる。また、第2データ入力部109は、ヘッダ情報分離部100から画像サイズ情報を受け取った場合、当該画像サイズ情報によって示される残りのライン数が「0」であることを判別すると、受け取った画像データについてカウントしたライン数が、圧縮に必要なライン数に不足する場合、不足分のライン数のダミーデータを生成して、これをラインバッファに記憶させることにより、画像データの補完を行なう。尚、第2データ入力部109は、画像データの受け取りが終了すると、ライン数のカウントを初期化して「0」にする。
次に、本実施の形態にかかる画像処理装置の行う処理の手順について説明する。ここでは、コントローラ部60の入力画像処理部65のうち、第1データ入力部108,第2データ入力部109及びデータ切り替え制御部110の各機能によってデータ圧縮部104へ画像データを送る際の処理の手順について図27を用いて説明する。尚、第1データ入力部108,第2データ入力部109の各機能によって実現される処理の手順は、略同様であるため、第1データ入力部108についてのみ説明する。尚、第1データ入力部108がカウントするライン数は予め初期化されているものとする。ステップS141〜S144は第4の実施の形態と同様である。ステップS150では、入力画像処理部65は、読み取り制御部55から受け取ったヘッダ情報に画像サイズ情報が含まれていた場合、当該画像サイズ情報によって示される残りのライン数が「0」であるか否かを判別し、当該判別結果が肯定的である場合、ステップS146に進み、当該判別結果が否定的である場合、ステップS141に戻る。
以上のように、読み取り対象の原稿の終端を検知したときに、当該原稿から読み取られた画像を表す画像データのうち、転送がまだ済んでいない画像データのライン数(残りのライン数)をヘッダ情報により入力画像処理部65に予め通知する。これにより、原稿が長尺用紙のような不定型であっても、入力画像処理部65は、画像処理に必要なライン数の不足を検知し、不足分を補って、画像データを補完することができる。この結果、画像処理のアルゴリズムを効率的に実現させることが可能になる。
また、従来では、エンジン部からコントローラ部に画像データが転送されなくなったことを監視して、タイムアウトなどで入力画像処理を終了していたが、本実施の形態によれば、入力画像処理を行っている最中に、読み取り対象の原稿の終端の検知に応じた情報を入力画像処理部65は受け取ることができるので、画像処理の終了等のタイミングを事前に判別することができ、入力画像処理の終了をスムーズに行える。このため、次の原稿に対する入力画像処理の開始を早く準備することが可能になる。
[変形例]
なお、本発明は前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。また、以下に例示するような種々の変形が可能である。
上述した各実施の形態において、画像処理装置で実行される各種プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また当該各種プログラムを、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成しても良い。
上述した各実施の形態においては、画像処理装置は、スキャナ81及びプロッタ82を備えるとしたが、これに限らず、例えば、スキャナ81のみを備えるものであっても良いし、スキャナ81の他、プリンタ及びファクシミリ装置のうち少なくとも1つを備えるものであっても良い。
上述した各実施の形態においては、表面センサ及び裏面センサを、CISにより実現させるようにした。CISの方がCCDより表面CIS読取ユニット157及び裏面CIS読取ユニット158をコンパクトに構成できるからである。しかし、CISの代わりに、表面センサ及び裏面センサのうち少なくとも一方をCCDにより実現しても良い。
上述した各実施の形態において、入力画像処理部65が行なう画像処理は、画像データの圧縮であるとしたが、これに限らず、様々な画像処理であっても良い。
上述した各実施の形態において、ヘッダ情報付加部94が画像データに対して付加するヘッダ情報の構成及びそのサイズは、上述の例に限らない。
また、ヘッダ情報付加部94は、1ライン毎に、画像データに対して表/裏切り替え情報を含むヘッダ情報を付加したが、これに限らず、入力画像処理部65が画像処理を行う際の画像データの処理単位との整合性が取れていれば、複数ラインをまとめたバンド単位で画像データに対してヘッダ情報を付加するようにしても良い。この場合、ヘッダ情報付加部94は、例えば、まとめたラインのライン幅(画素数)やライン数を示すライン幅情報を更に含むヘッダ情報を画像データに対して付加する。このようなヘッダ情報が付加された画像データが転送された場合、入力画像処理部65は、当該ヘッダ情報に含まれるライン幅情報によって、当該ヘッダ情報が付加された画像データの開始から終端までを判別することができる。このため、ヘッダ情報付加部94が1ラインの終端毎にEOL情報を画像データに対して付加しなくても、ライン毎の画像ズレがない画像を表す画像データを入力画像処理部65に提供することが可能になる。図28は、本変形例にかかるヘッダ情報が付加された画像データのデータ構成を例示する図である。同図に示されるヘッダ情報は、図28に例示されるヘッダ情報を拡張したものであり、ライン幅情報を更に含むものとなっている。また、ライン幅情報に加えて未使用の予約情報を含むbit数がbyte単位となるようにヘッダ情報の拡張部分を構成する。ヘッダサイズ情報は、この拡張部分を含むヘッダ情報のサイズを示すようにする。
上述した第2の実施の形態においては、モノクロ画像と判定した画像データについて、読み取り制御部55が、Gの1色のみの画像データを入力画像処理部65に転送するようにした。しかし、これに限らず、読み取り制御部55は、カラー画像であると判定した場合と同様に、RGBの3色のそれぞれの画像データを含む画像データを入力画像処理部65に転送し、入力画像処理部65のデータ圧縮部104が、ヘッダ情報に含まれるカラー/モノクロ判定情報を用いてモノクロ画像と判定した画像データについて、G以外のRBの2色の画像データを破棄しても良い。そして、データ圧縮部104は、Gの1色のみの画像データに対して、JBIGの圧縮方式により圧縮を行うようにする。
上述した第3の実施の形態においては、データ転送部93は、ヘッダ情報付加部94からヘッダ情報及びEOL情報が付加された画像データを受け取ると、当該ヘッダ情報に含まれる画像有無情報を参照して、当該画像データによって表される画像が白紙の原稿から読み取られた画像であることが画像有無情報によって示される場合、当該画像データを入力画像処理部65に転送しないようにしても良い。即ち、白紙の原稿から読み取った画像を表す画像データを、データ転送部93は入力画像処理部65に転送しないようにする。この場合、例えば、データ転送部93は、当該画像データによって表される画像が白紙の原稿から読み取られた画像であることを示す画像有無情報を含むヘッダ情報のみ入力画像処理部65に転送するようにしても良いし、第4の実施の形態で説明した画像サイズ情報のみ入力画像処理部65に転送するようにしても良い。このような構成によれば、不要な画像データの転送を低減することができ、白紙ではない原稿から読み取られた画像データのより高速な転送が可能になる。