以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
1.システム構成例
図1は、本実施形態に係る画像読取装置11の斜視図である。図1に示すように、本実施形態の画像読取装置11は、本体12と、画像読取対象である原稿Dが載置(セット)される載置面13とを備える。なお、本実施形態ではA0やA1等の大判原稿を読み取り対象とする画像読取装置11を想定しているため、載置面13の原稿Dの搬送方向Yでの長さは、原稿Dの長さに比べて短く、原稿Dの先端部の載置に用いられる。原稿の先端部とは、画像読取装置11によって最初に読み取られる側の端部を表す。
載置面13に載置された原稿Dは、本体12の前面部に開口する給送口12Aへ給送される。給送された原稿Dは、本体12内を所定の搬送経路32(図2参照)に沿って搬送され、その搬送途中の読取位置で画像が読み取られた後、本体12の後側上部に開口する排出口12Bから排出され、例えば排出ガイド18に沿って、本体12の前方側に搬送される。なお、幅方向Xを画像読取装置11が原稿Dの画像を読み取るときの主走査方向とし、搬送方向Yを副走査方向とする。
図1に示した画像読取装置11は、例えば専用の取り付け治具により複合機(MFP:Multifunction Peripheral)に取り付けられるとともに電気的に接続される。この場合、ユーザーからの入力操作を複合機の操作部により受け付け、複合機の表示部により各種情報をユーザーに表示する。読み取られたデータは複合機の記憶部に記憶される。記憶されたデータは、複合機での印刷に用いられてもよいし、ネットワークを介してPC等の機器に送信され、送信先の機器で利用されてもよい。或いは、本実施形態の画像読取装置11は、複合機と接続せずに動作可能な機器であってもよい。この場合の画像読取装置11は、例えば不図示の表示部や操作部を有し、PC等の機器と接続可能に構成される。
図2は、原稿Dの搬送及び読み取り動作を説明する図であって、画像読取装置11の断面の一部を簡略化して示す図である。図2に示すように、画像読取装置11の本体12内には、原稿Dを搬送する搬送機構31が設けられる。搬送機構31は、載置面13に載置された原稿Dを、給送口12Aから本体12内へ案内しつつ給送し、給送した原稿Dを搬送経路32に沿って一定の搬送速度で搬送する。
搬送機構31は、本体12内の搬送経路32の上流端位置に配置された一対の給送ローラー対33と、給送ローラー対33よりも搬送方向下流側に配置された一対の給送ローラー対34と、搬送方向Yに原稿Dの読取位置を挟んで上流側に配置された一対の搬送ローラー対35と、下流側に配置された一対の搬送ローラー対36とを備える。
給送ローラー対33,34は、駆動ローラー33A,34Aと従動ローラー33B,34Bとにより構成される。また、搬送ローラー対35,36は、駆動ローラー35A,36Aと従動ローラー35B,36Bとにより構成される。各従動ローラー33B~36Bは、それぞれが対をなす駆動ローラー33A~36Aの回転により連れ回りする。複数のローラー対33~36を構成する各駆動ローラー33A~36Aは、それらの動力源である搬送モーター(不図示)の動力により回転駆動する。
図2に示すように、給送ローラー対33,34及び搬送ローラー対35,36により本体12内に形成された搬送経路32の途中の読取位置には、読取部40が設けられている。読取部40は、複数の読取部を含み、図2では読取部40が、第1読取部40Aと、第2読取部40Bと、第3読取部40Cを含む例を示している。読取部40(40A、40B、40C)は、搬送中の原稿Dに光を照射可能な光源41(41A、41B、41C)と、主走査方向(幅方向X)に延びるイメージセンサー42(42A、42B、42C)とにより構成される。なお、ここでは片面スキャンを行う例を示したが、搬送経路32を挟み込むように読取部40を設けることで、原稿の両面スキャンが可能に構成されてもよい。
光源41は、例えばLED(light emitting diode)や蛍光ランプなどにより構成される。イメージセンサー42は、光源41から射出された光が原稿D等で反射した反射光を受光し、受光した光を電気信号に変換して受光量に応じた値の画素信号を出力する。イメージセンサー42は、例えばリニアイメージセンサーである。画像読取装置11は、カラースキャンとモノクロスキャン(グレースケールスキャン)とが可能である。カラースキャン方式には、イメージセンサーがモノクロで、RGB各色の光源を時系列で順番に発光させてイメージセンサーからRGB各色の画素信号を順番に取得する方式と、イメージセンサーがカラーフィルターで覆われたRGB各色の光電変換素子を備え、白色光源を発光させて各光電変換素子からRGBの各画素信号を取得する方式とがある。カラースキャン方式はどちらの方式でもよい。なお、図2では、読取部40ごとに光源41を設ける例を示したが、1つの光源41を複数の読取部40で共有してもよい。
イメージセンサー42は、複数の光電変換素子を主走査方向Xに沿って一列に配置した、例えばコンタクト型イメージセンサーである。さらにイメージセンサー42は、具体的にはCMOS(Complementary Metal Oxide Semiconductor)方式の素子をパッケージにしたイメージセンサーチップである。
さらに、イメージセンサー42と搬送経路32を挟んで対向する位置には、色基準板43が配置されている。色基準板43はシェーディング補正用の白基準値を得るためのもので、白色を呈する白基準板又はグレー(灰色)を呈するグレー基準板が用いられる。グレー基準板は、色基準板43を原稿の背景(グレー背景)として読み取った読取データから、原稿と背景との色又は輝度値の違いを基に、原稿Dの位置及び領域を検出するために用いられる。
なお、図1、図2は画像読取装置11の構成の一例であり、具体的な外観や内部構造は種々の変形実施が可能である。例えば、原稿Dを固定し、イメージセンサー42を移動させることで読み取りを行ってもよい。なお、後述する斜行補正処理は原稿Dを搬送する場合に特に重要となる。
図3は、複数のイメージセンサー42の配置を説明する図である。図3に示すように、複数のイメージセンサー42は、主走査方向に沿って配置される。イメージセンサー42の数は3個に限定されず、4個以上でもよい。図3に示すように、主走査方向に沿って複数のイメージセンサー42を並べることで、原稿Dを読み取り可能な幅が広くなる。
隣接する2つのイメージセンサー42Aとイメージセンサー42Bは、副走査方向での位置が異なり、且つ、主走査方向で端部が重複する位置に設けられる。図3の例であれば、イメージセンサー42Bは、イメージセンサー42Aに比べてY方向にY12だけずれた位置に配置される。また、イメージセンサー42Aの左側の端からイメージセンサー42Bの左側の端までのX方向の長さはX12であり、X12はイメージセンサー42の横幅に比べて小さい。同様に、隣接する2つのイメージセンサー42Bとイメージセンサー42Cは、副走査方向での位置が異なり、且つ、主走査方向で端部が重複する位置に設けられる。
なお、イメージセンサー42Aとイメージセンサー42Cの副走査方向での位置が同じ例を示した。本実施形態のイメージセンサー42は、副走査方向での位置が第1位置である第1イメージセンサー群と、副走査方向での位置が第2位置である第2イメージセンサー群と、を含み、第1イメージセンサー群に含まれるイメージセンサー42と、第2イメージセンサー群に含まれるイメージセンサー42とが、主走査方向に沿って交互に配置される構成である。図3の例であれば、第1イメージセンサー群とはイメージセンサー42A及びイメージセンサー42Cであり、第2イメージセンサー群とはイメージセンサー42Bである。ただし、隣接する2つのイメージセンサー42の副走査方向での位置が異なり、主走査方向で端部が重複するという条件が満たされればよく、イメージセンサー42の配置はこれに限定されない。例えば、イメージセンサー42Aとイメージセンサー42Cの副走査方向での位置が異なってもよい。なお、念のために記載しておくと、ここで群としているのは、イメージセンサーが1個でも複数でもよく、複数のイメージセンサーの集合に限定されない。
図4は、画像読取装置11のうち、2つのイメージセンサー42からの画像データの合成処理に係る部分についての構成例である。画像読取装置11は、読み取り対象の画像の第1領域を読み取る第1センサーと、読み取り対象の画像のうち、前記第1領域と一部が重複する第2領域を読み取る第2センサーと、を含む。以下、第1センサーがイメージセンサー42Aであり、第2センサーがイメージセンサー42Bであるものとして説明する。この場合、第1領域とはイメージセンサー42Aの横幅、及びイメージセンサー42Aと原稿Dの位置関係によって決定される領域であり、具体的には副走査方向に長い矩形領域である。第2領域とはイメージセンサー42Bの横幅、及びイメージセンサー42Bと原稿Dの位置関係によって決定される領域であり、具体的には副走査方向に長い矩形領域である。
また画像読取装置11は、第1センサーの読み取りにより生成された第1画像データと、第2センサーの読み取りにより生成された第2画像データとの合成処理を行って合成画像を生成する第1プロセッサー100を含む。第1画像データとは、第1センサーによる読み取り結果であって、原稿Dの第1領域に対応する画像データである。第2画像データとは、第2センサーによる読み取り結果であって、原稿Dの第2領域に対応する画像データである。
第1プロセッサー100が行う本実施形態の各処理、各機能は、ハードウェアを含むプロセッサーにより実現できる。例えば本実施形態の各処理は、プログラム等の情報に基づき動作するプロセッサーと、プログラム等の情報を記憶するメモリーにより実現できる。ここでのプロセッサーは、例えば各部の機能が個別のハードウェアで実現されてもよいし、或いは各部の機能が一体のハードウェアで実現されてもよい。また、複数のハードウェアを連携させて一の機能を実現させていても良い。例えば、プロセッサーはハードウェアを含み、そのハードウェアは、デジタル信号を処理する回路及びアナログ信号を処理する回路の少なくとも一方を含むことができる。例えば、プロセッサーは、回路基板に実装された1又は複数の回路装置や、1又は複数の回路素子で構成することができる。ここでの回路装置はIC(Integrated Circuit)等であり、回路素子とは抵抗やキャパシター等である。プロセッサーは、例えばCPU(Central Processing Unit)であってもよい。ただし、プロセッサーはCPUに限定されるものではなく、GPU(Graphics Processing Unit)、或いはDSP(Digital Signal Processor)等、各種のプロセッサーを用いることが可能である。またプロセッサーはASIC(application specific integrated circuit)によるハードウェア回路でもよい。またプロセッサーは、複数のCPUにより構成されていてもよいし、複数のASICによるハードウェア回路により構成されていてもよい。また、プロセッサーは、複数のCPUと、複数のASICによるハードウェア回路と、の組み合わせにより構成されていてもよい。第1プロセッサー100は、狭義にはプロセッサーコアに加えて、メモリーやデータ転送用のインターフェースが1つのチップ上に実装されたSoC(System-on-a-chip)である。後述する第2プロセッサー110及び第3プロセッサー120についても同様である。
また図4に示すように、画像読取装置11は、第1アナログフロントエンド60Aと第2アナログフロントエンド60Bを含む。そして第1プロセッサー100は、第1アナログフロントエンド60Aからの第1画像データと、第2アナログフロントエンド60Bからの第2画像データに基づいて、デジタル信号処理により合成画像を生成する処理を行う。
図5は、原稿Dとイメージセンサー42の関係を説明する図である。原稿Dは、搬送方向であるY方向に搬送される。イメージセンサー42Aは、RAに示した領域の画像を読み取る。イメージセンサー42Bは、RBに示した領域の画像を読み取る。イメージセンサー42Cは、RCに示した領域の画像を読み取る。なお、原稿Dの先端がイメージセンサー42に到達する前に読み取りを開始し、原稿Dの終端がイメージセンサー42を通過した後に読み取りを継続することで、副走査方向にオーバースキャン領域を設けることが可能である。また、図5に示したように、イメージセンサー42が設けられる幅を、想定される原稿Dの幅よりも広くすることで、主走査方向にオーバースキャン領域を設けることも可能である。オーバースキャン領域を設けることで、原稿Dが搬送方向に対して斜行した場合の傾き補正等が可能になる。ここでのオーバースキャン領域とは、斜行非発生である理想的な搬送状態であるときに、原稿Dのデータが存在しない領域である。
図5のRAのうち、少なくとも原稿Dを読み取った範囲が、本実施形態の第1領域に対応する。同様に、RBのうち、少なくとも原稿Dを読み取った範囲が第2領域に対応し、RCのうち、少なくとも原稿Dを読み取った範囲が第3領域に対応する。ただしRA全体を第1領域とし、RB全体を第2領域とし、RC全体を第3領域としてもよい。
図6は、イメージセンサー42A~42Cでの読み取り結果を表す図である。図6のIAがイメージセンサー42Aの読み取り結果に対応する第1画像データであり、IBがイメージセンサー42Bの読み取り結果に対応する第2画像データであり、ICがイメージセンサー42Cの読み取り結果に対応する第3画像データである。
図5に示したように、イメージセンサー42Bと、イメージセンサー42Aとでは副走査方向での位置が異なる。よって同じタイミングで読み取る画像を比較した場合、イメージセンサー42Bがイメージセンサー42Aに比べて、Y12に対応する画素分だけ遅れることになる。よって図6に示したように、読み取りタイミングが揃うように画像を並べた場合、第2画像データ(IB)は、第1画像データ(IA)及び第3画像データ(IC)に比べて、下方向にズレが生じる。
図7は、副走査方向での位置を補正する処理の説明図である。イメージセンサー42Aとイメージセンサー42Bの取り付け位置の差であるY12は、画像読取装置11の設計段階で既知のデータである。よって第1プロセッサー100は、Y12に対応する画素数分だけ、第2画像データを相対的に上方向に移動させる処理により、副走査方向の位置を補正する。
また図5に示したように、隣り合うイメージセンサー42は主走査方向で端部が重複するため、第1領域と第2領域は一部が重複する。この領域を、以下では重複領域とする。そのため、重複領域に対応する第1画像データ(OA)と重複領域に対応する第2画像データ(OBL)は、共通の画像を読み取ったデータとなる。同様に、第2領域と第3領域の重複領域に対応する第2画像データ(OBR)と当該重複領域に対応する第3画像データ(OC)は、共通の画像を読み取ったデータとなる。なお、第1領域と第2領域の重複領域と、第2領域と第3領域の重複領域を区別する場合、前者を第1重複領域と表記し、後者を第2重複領域と表記する。なお、画像を解析することでY12を計算して副走査方向の位置を補正しても良い。この解析とは例えば、第1領域の第1重複領域における画像のパターンと第2領域の第1重複領域における画像のパターンとが一致するために必要な画素数の計算である。
図8は、主走査方向での位置を補正する処理の説明図である。イメージセンサー42Aとイメージセンサー42Bの取り付け位置の差であるX12は、画像読取装置11の設計段階で既知のデータである。よって画像読取装置11は、第1画像データの左側の端から、X12に対応する画素数分だけ離れた位置に、第2画像データの左側の端が位置するように、主走査方向の位置を補正する。同様に、第1画像データの左側の端から、X13に対応する画素数分だけ離れた位置に、第3画像データの左側の端が位置するように、第3画像データに対する主走査方向の位置を補正する。
図7及び図8に示した位置補正を行うことで、複数のイメージセンサー42により取得された複数の画像データを、適切な位置関係で合成することが可能になる。
ただし、図3や図5に示したように、本実施形態の画像読取装置11は、3つ以上のイメージセンサー42を含む。第1画像データ~第3画像データを1つのプロセッサーで合成する場合、3つの画像データを受信するためのインターフェースを有し、且つ、3つの画像データの合成処理を実行可能なプロセッサーを用いる必要がある。ここでのインターフェースは、イメージセンサー42からの画像データを受信するインターフェースであり、例えばLVDS(Low voltage differential signaling)である。ただしインターフェースは、他のシリアルインターフェースを用いてもよいし、パラレルインターフェースを用いてもよい。また、インターフェースはイメージセンサー42から直接、画像データを受信するものに限定されず、図4に例示したように、アナログフロントエンドを経由して画像データを受信するインターフェースであってもよい。両面スキャンを考慮して表用と裏用との2つの画像データの受信、処理が可能なプロセッサーは広く用いられているが、3つ以上の画像データを対象としたプロセッサーは専用品となり、開発コストが大きい。
図9は、2つの画像データの受信、処理が可能なプロセッサーを2つ用いて、3つの画像データを処理する構成の比較例である。比較例の第1プロセッサー20は、2つの入力インターフェースを用いて、第1画像データと第2画像データを受信し、合成処理を行って第1合成画像を生成する。また、比較例の第2プロセッサー21は、第3アナログフロントエンド60Cを介して第3画像データを受信する。第1プロセッサー20は、プロセッサー間の通信配線を用いて、第2プロセッサー21から第3画像データを受信し、第1合成画像と第3画像データの合成処理を行って、出力画像を生成する。プロセッサー間の通信配線は、例えばUSB(Universal Serial Bus)であり、画像データを受信するためのインターフェースとは異なるものである。このようにすることで、2つの画像データの受信、処理が可能なプロセッサーを用いて3つの画像データを処理することが可能になるため、3つの入力インターフェースを備えた専用プロセッサーを用意する従来の構成よりは、コストダウンができ望ましい。
ただし図9の構成では、第1プロセッサー20が2つの画像データの合成処理を行って第1合成画像を生成するのに対して、第2プロセッサー21は、第3画像データを受信するのみであって、画像処理を行う場合でも当該画像処理はシェーディング補正等の前処理に限定される。さらに、第1合成画像の生成後に、さらに第3画像データとの合成処理を実行する必要がある。つまり、第1プロセッサー20に処理が偏った上に、2つの合成処理を順次実行する。これは例えば、第1プロセッサー20が個体差の補正等の処理を2回ずつ実行し、場合によってはさらに切り出し処理や傾き補正処理を実行するということであるため、第1プロセッサー20での処理がボトルネックとなり、読み取り処理の高速化が難しい。具体的には、イメージセンサー42Aとイメージセンサー42Bの合計での出力データレートより、第1プロセッサー20での処理能力が劣る場合、イメージセンサー42の能力をフルに発揮できず、読取速度が遅くなる。
図10は、本実施形態の画像読取装置11の構成例である。画像読取装置11は、第1領域を読み取る第1センサーと、第2領域を読み取る第2センサーと、第3領域を読み取る第3センサーを含む。以下、第1センサーがイメージセンサー42Aであり、第2センサーがイメージセンサー42Bであり、第3センサーがイメージセンサー42Cであるものとする。第3領域とはイメージセンサー42Cの横幅、及びイメージセンサー42Cと原稿Dの位置関係によって決定される領域であり、具体的には副走査方向に長い矩形領域である。第3領域は、具体的には第2領域と一部が重複し、第1領域と重複しない領域である。第3画像データとは、第3センサーによる読み取り結果であって、原稿Dの第3領域に対応する画像データである。
さらに画像読取装置11は、第1プロセッサー100と第2プロセッサー110を含む。第1プロセッサー100は、第1センサーの読み取りによる第1画像データと、第2センサーの読み取りによる第2画像データとに基づいて、第1領域と第2領域とを含む第1合成画像を生成する第1合成処理を行う。第2プロセッサー110は、第2画像データと、第3センサーの読み取りによる第3画像データとに基づいて、第2領域と第3領域とを含む第2合成画像を生成する第2合成処理を行う。そして画像読取装置11は、第1合成画像と第2合成画像との連結処理を行って、出力画像を生成する。ここで、連結処理とは合成処理よりも処理量が少ない処理である。
第1合成画像を生成する第1合成処理は、第1センサーと第2センサーの個体差等を補正する必要があり、例えば後述する図13~図18の処理が必要となる。また、第1合成処理は、連結処理のための前処理として、図25を用いて後述する切り出し処理と傾き補正処理を含む斜行補正処理が必要となる場合がある。第2合成画像を生成する第2合成処理も、同様に、第2センサーと第3センサーの個体差等を補正する必要があり、場合によっては斜行補正処理が必要になる。これに対して、第1合成画像と第2合成画像の連結処理は、個体差の補正、切り出し処理、傾き補正処理といった合成処理で行う処理が不要である。例えば、第1合成画像の右端の画素と第2合成画像の左端の画素を単純に連結する連結処理により、出力画像を生成できる。
図10に示した本実施形態の構成では、相対的に処理負荷の大きい第1合成画像の合成処理と、第2合成画像の合成処理を、第1プロセッサー100と第2プロセッサー110により並列に処理が可能である。即ち本実施形態の構成によれば、開発コストの高い専用プロセッサーを用いることなく、さらに比較例と比べても高速での読み取り処理が可能な画像読取装置11を実現できる。さらに、第2の実施形態で後述するように斜行補正処理を行う場合、当該処理は負荷が大きく高速化を妨げる要因となり得る。その点、本実施形態の画像読取装置11は、斜行補正処理を2つのプロセッサーで並列に実行可能であるため、斜行補正実行時の高速化も可能である。
なお図10に示したように、画像読取装置11は、第1アナログフロントエンド60Aと、第2アナログフロントエンド60Bと、第3アナログフロントエンド60Cを含む。第1アナログフロントエンド60Aは、第1のセンサーからのアナログ信号のA/D変換を行って、デジタルデータである第1画像データを第1プロセッサー100に出力する。第3アナログフロントエンド60Cは、第3のセンサーからのアナログ信号のA/D変換を行って、デジタルデータである第3画像データを第2プロセッサー110に出力する。
第2アナログフロントエンド60Bは、第2のセンサーからのアナログ信号のA/D変換を行って、デジタルデータである第2画像データを第1プロセッサー100及び第2プロセッサー110に出力する。このように、第2画像データを2つのプロセッサーに分配することで、読み取りの高速化が可能になる。なお図10では、第2アナログフロントエンド60Bの出力を分配する分配器70を示したが、第2アナログフロントエンド60Bが直接第1プロセッサー100及び第2プロセッサー110に接続される構成としてもよい。分配器70は、狭義には分配回路である。
このようにすれば、画像合成に関する処理をデジタル処理により実現できる。デジタル的に補正処理を行うことで、状況に応じた処理を容易に実現できる。また各プロセッサーは、オフセット処理や斜行補正処理等の種々の処理が必要となるところ、デジタル的に処理を行うことで、アナログ回路を用いる場合に比べて回路規模の抑制が可能である。
なお、本実施形態で合成処理の対象となる第1画像データ~第3画像データは、第1アナログフロントエンド60A~第3アナログフロントエンド60Cの出力そのものであってもよいが、これには限定されない。例えば第1プロセッサー100は、第1アナログフロントエンド60Aからの第1画像データ及び第2アナログフロントエンド60Bからの第2画像データに対して、シェーディング補正等の公知の前処理を行い、前処理後の第1画像データ及び第2画像データを対象として合成処理を行ってもよい。即ち、本実施形態における「第1センサーの読み取りによる第1画像データ」とは、第1センサーの出力であるアナログ信号に対して、少なくともA/D変換処理を含む前処理が行われたデータであって、当該前処理にはアナログ的なゲイン処理や、デジタル的なシェーディング補正処理等、種々の処理を含むことが可能である。第2画像データ及び第3画像データについても同様である。
図10の例では、第1プロセッサー100は、第2プロセッサー110から第2合成画像を取得し、第1合成画像と第2合成画像とに基づく連結処理を行って、出力画像を生成する。即ち、出力画像の生成処理は第1プロセッサー100が行う。このようにすれば、2つの画像データの合成処理を行うプロセッサーを、出力画像の生成にも利用できる。第1プロセッサー100と第2プロセッサー110との通信は、上述したようにUSB等の通信配線により実現できる。
ただし画像読取装置11の構成は図10に限定されない。例えば画像読取装置11は、図11に示すように、第1プロセッサー100から第1合成画像を取得し、第2プロセッサー110から第2合成画像を取得し、第1合成画像と第2合成画像とに基づく連結処理を行って、出力画像を生成する第3プロセッサー120を含んでもよい。
図10の構成において、第1プロセッサー100で生成された出力画像は、USB等の通信配線(出力インターフェース)によりPC等の機器に出力される。ただし、第1プロセッサー100の性能によっては、出力インターフェースを用いた転送能力が十分でない場合がある。イメージセンサー42Aとイメージセンサー42Bの合計での出力データレートより、第1プロセッサー100の転送能力が劣ることで、イメージセンサーの能力をフルに発揮できず、読取速度が遅くなるおそれがある。
その点、図11の構成では、第1プロセッサー100が第3プロセッサー120に出力する対象は第1合成画像であるため、出力画像に比べてデータ量が少ない。そのため、第1プロセッサー100の転送能力がボトルネックとなることを抑制可能である。第3プロセッサー120として、第1プロセッサー100よりも転送能力が高いプロセッサーを用いることで、読み取り処理の高速化が可能である。
2.第1の実施形態
まず第1の実施形態について説明する。第1の実施形態では、原稿領域RDの切り出し処理や傾き補正処理を行わないシンプルな実施形態を説明する。
2.1 処理の流れ
図12は、第1の実施形態の処理の流れを説明する図である。読み取り処理では、搬送機構31により原稿Dが搬送経路32に沿って搬送され、イメージセンサー42Aによる第1領域の読み取り(S201)、イメージセンサー42Bによる第2領域の読み取り(S202)、イメージセンサー42Cによる第3領域の読み取り(S203)が行われる。
第1プロセッサー100は、第1センサーの読み取りによる第1画像データと、第2センサーの読み取りによる第2画像データの取り込み処理を行う(S204A)。第2プロセッサー110は、第2センサーの読み取りによる第2画像データと、第3センサーの読み取りによる第3画像データの取り込み処理を行う(S204B)。なお、図12では図面を簡略化するため、第1アナログフロントエンド60A、第2アナログフロントエンド60B、及び第3アナログフロントエンド60Cを省略している。
第1プロセッサー100は、取り込んだ第1画像データと第2画像データの間の位置ズレを補正する(S205A)。また第2プロセッサー110は、取り込んだ第2画像データと第3画像データの間の位置ズレを補正する(S205B)。S205A及びS205Bの処理は、図7で説明した副走査方向の位置補正、及び図8で説明した主走査方向の位置補正である。
次に第1プロセッサー100は、位置補正後の第1画像データと第2画像データの合成処理を行う(S206A)。また第2プロセッサー110は、位置補正後の第2画像データと第3画像データの合成処理を行う(S206B)。S206A及びS206Bでは、イメージセンサー間の個体差や、読み取り時の姿勢を考慮した補正処理が必要となる。
よって、第1プロセッサー100は、第1領域と第2領域が重複する第1重複領域を第1センサーが読み取った読み取り結果と、第1重複領域を第2センサーが読み取った読み取り結果とに基づいて、第1画像データと第2画像データを合成する第1合成処理を行って第1合成画像を生成する。第2プロセッサー110は、第2領域と第3領域が重複する第2重複領域を第2センサーが読み取った読み取り結果と、第2重複領域を第3センサーが読み取った読み取り結果とに基づいて、第2画像データと第3画像データを合成する第2合成処理を行って第2合成画像を生成する。第1重複領域では、第1センサーと第2センサーは共通の画像を読み取っている。そのため、第1重複領域の読み取り結果を用いることで、個体差や原稿姿勢の差を考慮した適切な補正処理が可能になる。同様に、第2重複領域の読み取り結果を用いることで、第2センサーと第3センサーの間の個体差や原稿姿勢の差を考慮した適切な補正処理が可能になる。
次に、第2プロセッサー110は、合成処理結果である第2合成画像を第1プロセッサー100に出力し、第1プロセッサー100は、第2合成画像の取り込み処理を行う(S207)。第1プロセッサー100は、S206Aで生成した第1合成画像と、S207で取り込んだ第2合成画像を連結する処理を行って、出力画像を生成する(S208)。第1プロセッサー100は、生成した出力画像をPC等に出力する(S209)。図11に示したように、S207、S208及びS209の処理が第1プロセッサー100と第2プロセッサー110とのいずれとも異なる第3プロセッサー120により行われてもよい。この出力画像は、有線又は無線のネットワークを介してファイルとしてPCに出力してもよいし、FAX信号としてFAX装置に出力しても良いし、自装置のメモリーカードスロットにセットされているメモリーカードにファイルとして出力してもよいし、自装置の中の印刷機構を用いて印刷物として印刷出力をしても良い。
なお、各プロセッサーが原稿D全体の画像データを取り込んだ後、画像データ全体を対象として、位置補正以降の処理を実行する形態とすることは妨げられない。ただし各イメージセンサー42での読み込みはラインごとに行われる。ここでのラインとは、原稿Dのうち、副走査方向における所与の1画素分の範囲を抽出した、主走査方向に長い矩形領域を表す。また以下では、読み取り結果である画像データのうち、副走査方向における所与の1画素分のデータについても、ラインとの表記を用いる。例えば、「画像データの所与のライン」とは、当該画像データのうち、副走査方向における所与の1画素分を抽出したデータを表す。
各プロセッサーでのデータ取り込み(S204A、S204B)、位置補正(S205A、S205B)も画像データの1ラインごとに逐次実行可能である。図13等を用いて後述するように、2つの画像データの合成処理(S206A、S207A)もライン単位での処理が可能である。よって、イメージセンサー42で1ライン分のデータの読み取りが完了したら、第1プロセッサー100による処理(S204A~S206A)と、第2プロセッサー110による処理(S204B~S206B)が、ライン単位で逐次実行されてもよい。
また第2合成画像の取り込み(S207)や、連結処理(S208)も、ライン単位での逐次処理が可能である。さらに言えば、出力画像を1枚の画像として形成する処理や、PDFやJPEG等の形式に変換する処理をPC等のドライバーソフトウェアで実行する場合、第1プロセッサー100による出力処理(S209)についても、ライン単位での逐次処理が可能である。
2.2 合成処理の具体例
合成処理について詳細に説明する。なお、以下では第1プロセッサー100による第1画像データと第2画像データの合成処理について説明するが、第2プロセッサー110による第2画像データと第3画像データの合成処理についても同様である。また、合成処理は以下の処理に限定されず、種々の変形実施が可能である。
2.2.1 概要
本実施形態に係る第1プロセッサー100は、第1領域と第2領域の重複領域を第1センサーが読み取った読み取り結果と、当該重複領域を第2センサーが読み取った読み取り結果と、に基づいて、重複領域からの距離に応じて値が変化する補正値を算出する。そして第1プロセッサー100は、第1画像データ及び第2画像データの少なくとも一方に対して、補正値によるオフセット処理を行って合成画像を生成する。
本実施形態の手法では、まず補正処理がオフセット処理により実行される。オフセット処理とは、補正値の加算処理又は減算処理である。換言すれば、本実施形態の処理回路は、第1画像データ及び第2画像データに対して、ゲイン補正を行わずに合成画像を生成する。これにより、上述したゲイン処理に伴う過剰な補正等を抑制できる。ここでの補正値は、正の値と負の値の両方を取りうる。即ち、補正値が正の値であれば、オフセット処理とは画素値を増加させる処理であり、補正値が負の値であれば、オフセット処理とは画素値を減少させる処理である。また、以下の説明では、オフセット処理による画素値の変動量を、「変動幅」、「増加幅」、「減少幅」と表記する。これらは補正値の絶対値であり、正の値である。ゲイン処理ではないため、過補正を抑制可能である。なお、ここでの画素値とは、モノクロ画像データにおける輝度値であってもよいし、カラー画像データにおけるR画素値、B画素値、G画素値や輝度値、彩度値、色相値であってもよい。本実施形態ではカラー画像データを用いて、R画像データ、B画像データ、G画像データのそれぞれに対して、オフセット処理が実行される。
また、本実施形態では、第1プロセッサー100は、重複領域から離れるほど0に近づく傾向の補正値により、オフセット処理を行って合成画像を生成する。ここで、重複領域から離れるほど0に近づく傾向の補正値というのは、位置と補正値の大きさの関係を一次式に近似した場合に重複領域から離れるほど0に近づく式になることを言う。例えば、重複領域からの距離から離れるほど常に0に近づくという狭義単調変化をするものはもちろん、ある領域では補正値が変わらず別の領域では常に0に近づくという広義単調変化ものも含む。このようにすれば、重複領域から離れるほどに、画素値の変動幅が小さくなる。そのため、重複領域から求められる2つの評価値の差が大きい場合にも、重複領域以外の領域に過剰な補正を行うことを抑制できる。また、第1画像データと第2画像データのつなぎ目のレベル差を目立たなくする補正処理が可能になる。特にイメージセンサー42Bのように左右両側に重複領域がある場合、イメージセンサー42Bの中央付近は補正値が0でイメージセンサー42Bの端部にある重複領域に向かうにつれて徐々に画素値の変動幅を増やしていくようにすることが望ましい。これによって、重複領域及び重複領域近傍の領域を用いて第1画像データと第2画像データを滑らかにつなげつつ第2画像データと第3画像データを滑らかにつなげることを容易にすることが可能になる。
図13は、合成処理を説明するフローチャートである。この処理が開始されると、まず第1プロセッサー100は、第1画像データ及び第2画像データに対する位置補正処理を行う(S101)。S101の処理は、図12のS205A、S205Bに対応する。次に第1プロセッサー100は、第1画像データのうちの重複領域のデータと、第2画像データのうちの重複領域のデータとに基づいて、補正値の決定に用いる評価値を算出する(S102)。さらに第1プロセッサー100は、評価値に基づいて補正値を決定し、第1画像データに対するオフセット処理を行う(S103)。また第1プロセッサー100は、評価値に基づいて補正値を決定し、第2画像データに対するオフセット処理を行う(S104)。S103とS104の処理は、順序を入れ替えてもよいし、並列に実行されてもよい。
S103及びS104の実行後、オフセット処理後の第1画像データとオフセット処理後の第2画像データの重複領域のブレンド処理を行う(S105)。S102~S105の処理により、所与の1ラインを対象とした画像データの合成処理が完了する。第1プロセッサー100は、画像データの全ラインに対して合成処理を行ったか否かを判定し(S106)、全ラインの処理が終了したら(S106でYes)、合成処理を終了する。未処理のラインが残っている場合には(S106でNo)、S102に戻り、次のラインを対象とした合成処理を実行する。以下、S102~S105の各処理について詳細に説明する。
2.2.2 評価値の算出処理
S102で示した評価値の算出処理を説明する。図14は、所与のラインでの第1画像データの画素値、及び第2画像データの画素値を表す図である。図14の横方向が主走査方向を表し、SPは第1センサーであるイメージセンサー42Aの主走査方向での位置、及び第2センサーであるイメージセンサー42Bの主走査方向での位置を表す。なおSPは、各イメージセンサー42の副走査方向での位置関係は特に考慮していない。また、D1は第1画像データの画素値を表すグラフであり、D2は第2画像データの画素値を表すグラフである。グラフの縦軸は画素値に対応する。
図15は、本実施形態における座標系の設定処理、及び評価値算出処理を説明する図である。まず座標系について説明する。本実施形態では、第1画像データのうち、所与の画素数の範囲を対象としてオフセット処理が行われる。ここでは、オフセット処理の対象領域の画素数をXmergeとする。以下、オフセット処理の対象領域を補正対象領域と表記する。ここでXmergeは、第1センサーであるイメージセンサー42Aの横幅に対応する画素数以下の値である。より具体的には、Xmergeは、イメージセンサー42Aの横幅に対応する画素数の半分以下の値である。
また、第2画像データについても、一部の範囲がオフセット処理の対象となり、補正対象領域の画素数をXmergeとする。ここでは、第1画像データと第2画像データとで、補正対象領域の画素数が共通である例を説明するが、画像データに応じて補正対象領域の画素数を異ならせてもよい。
また、重複領域の画素数をXoverとする。本実施形態ではつなぎ目を目立たなくする必要があり、重複領域を包含し、且つ、重複領域よりも広い範囲を補正対象領域とする必要がある。つまりXmerge>Xoverである。
X1軸は、主走査方向に設定される軸であって、重複領域の第2画像データ側の端点のX1座標値がXmergeとなる座標軸である。重複領域の第2画像データ側の端点とは、第1画像データの端点であり、第1画像データの補正対象領域の一方側の端点に他ならない。よってX1軸の原点が、第1画像データの補正対象領域の他方側の端点となる。
またX2軸は、主走査方向に設定される軸であって、重複領域の第1画像データ側の端点を原点とする座標軸である。重複領域の第1画像データ側の端点とは、第2画像データの端点であり、第2画像データの補正対象領域の一方側の端点である。よってこのように原点を設定した場合、第2画像データの補正対象領域の他方側端点のX2座標値がXmergeとなる。
図14に示したように、X1座標値がx1<0となる範囲にも第1画像データは存在するが、本実施形態ではオフセット処理の対象外である。また、x1>Xmergeの範囲には、そもそもイメージセンサー42Aが存在しない。よって第1画像データのオフセット処理では、X1座標値として、0≦x1≦Xmergeの範囲となるx1を考慮する。以下、X1座標値がx1となる箇所での第1画像データの画素値をD1(x1)と表記する。同様に、第2画像データに対するオフセット処理では、X2座標値として、0≦x2≦Xmergeの範囲となるx2を考慮し、X2座標値がx2となる箇所での第2画像データの画素値をD2(x2)と表記する。
本実施形態の第1プロセッサー100は、重複領域を第1センサーが読み取った画素値の平均値、及び重複領域を第2センサーが読み取った画素値の平均値に基づいて、補正値を算出する。図15の例であれば、重複領域を第1センサーが読み取った画素値とは、(Xmerge-Xover)≦x1≦XmergeでのD1(x1)であり、重複領域を第2センサーが読み取った画素値とは、0≦x2≦XoverでのD2(x2)である。
重複領域では同じ画像が読み取り対象となるため、D
1とD
2は、イメージセンサー42の個体差や、原稿Dの姿勢差がなければ理想的には一致するはずである。重複領域を第1センサーが読み取った画素値の特性と、重複領域を第2センサーが読み取った画素値の特性の差がわかれば、当該差を抑制するような処理により、つなぎ目を適切に補正できる。この際、当該特性を表す評価値として平均値のような統計量を用いることで、評価値を求める処理や、評価値に基づいて補正値を求める処理を容易にできる。重複領域を第1センサーが読み取った画素値の平均値D
1aveは、下式(1)で求められ、重複領域を第2センサーが読み取った画素値の平均値D
2aveは、下式(2)で求められる。なお、下式(1)、(2)では単純平均を用いたが、平均値として加重平均やトリム平均を用いる変形実施が可能である。また、前述したとおり、D
1とD
2は理想的には一致するはずである。評価値や補正値に適宜上限値を設定することにより、D
1とD
2の差が突発的な要因で大きい値になったとしても過補正を抑制することができる。
2.2.3 第1画像データに対するオフセット処理
S103で示した第1画像データに対するオフセット処理を説明する。第1プロセッサー100は、重複領域を第1センサーが読み取った画素値の平均値D
1ave、及び重複領域を第2センサーが読み取った画素値の平均値D
2ave、及び第1画像データのうちオフセット処理が行われる領域の長さであるXmergeに基づいて求められる係数をAとした場合に、下式(3)により第1画像データに対するオフセット処理を行う。下式(3)において、X
1座標値が0≦x
1≦Xmergeを満たすx
1でのオフセット処理後の第1画像データの画素値がD’
1(x
1)である。
図15に示したように、上記設定であればx
1が大きくなるほど、重複領域に近づく。即ち、上式(3)の例であれば、補正値A×x
1は、重複領域側で絶対値が大きく、重複領域から離れるほど、即ちX
1軸の負方向側に向かうほど、値が0に近づく線形な値が設定される。上式(3)では、補正対象領域の端点であるx
1=0では補正値が0となるため、補正対象領域と対象外の領域との境界を滑らかに接続可能である。このような補正値を用いることで、重複領域以外の過補正を抑制しつつ、つなぎ目のレベル差を目立たなくする補正処理が実現できる。なお、具体的なオフセット処理は、例えば下式(4)により行われる。
図16は、上式(4)のオフセット処理を説明する図である。上述したように、x1=0で補正値が0となり、x1が増加するほど絶対値が増加する補正値を設定する。ただし、つなぎ目のレベル差を低減するという意味では、D1の変化幅とD2の変化幅の合計が|D1ave-D2ave|となれば十分であり、それを超える補正は過補正となるおそれがある。よって上式(3)の補正係数Aは、|A×Xmerge|≦|D1ave-D2ave|となるように設定される。
図16において、x1=2×Xmerge-Xoverとは、X2軸におけるx2=Xmergeとなる点、即ち第2画像データの補正対象領域の端点に対応する。このようにすれば、第1画像データの補正対象領域と第2画像データの補正対象領域を合わせた領域の中で、主走査方向の位置に応じて直線的に値が変化する補正値を設定できる。
この場合の係数Aは、LCに示した直線の値から、D1aveを引いた値となる。ここではD1ave>D2aveであるためA<0である。オフセット処理によるD1の変動幅は、x1=0のときに0であり、x1が増加するほど大きくなり、x1=2×Xmerge-Xoverで最大値|D1ave-D2ave|になる。ただし、x1は0≦x1≦Xmergeとなるため、D1の変動幅は|D1ave-D2ave|よりも小さい範囲に抑えられ、適切な補正値の設定が可能になる。
なお、図17を用いて後述するように、第2画像データに対しても同様の手法により補正値を設定することで、重複領域での第1画像データの変動量と第2画像データの変動量の和を、|D1ave-D2ave|とすることが可能になる。換言すれば、重複領域において、評価値の差分を解消するような補正値を設定することが可能になる。
2.2.4 第2画像データに対するオフセット処理
S104で示した第2画像データに対するオフセット処理を説明する。第2画像データに対するオフセット処理も、第1画像データと同様である。第1プロセッサー100は、D
1ave、D
2ave、Xmergeに基づいて求められる係数をBとした場合に、下式(5)により第2画像データに対するオフセット処理を行う。下式(5)において、オフセット処理後の第2画像データの画素値がD’
2(x
2)である。またBの絶対値が過剰に大きくなることが好ましくない点も、第1画像データと同様である。よって、具体的なオフセット処理は、例えば下式(6)により行われる。
図17は、上式(6)のオフセット処理を説明する図である。図17のLCに示した直線は、図16のLCと共通である。x2=-(Xmerge-Xover)とは、X1軸の原点、即ち第1画像データの補正対象領域の端点に対応する。図17のLCの傾きに対応する補正係数を用いることで、第1画像データの補正対象領域と第2画像データの補正対象領域を合わせた領域の中で、主走査方向の位置に応じて直線的に値が変化する補正値を設定できる。
この場合の係数Bは、上式(5)の係数の符号を反転させた値となり、LCに示した直線の値から、D2aveを引いた値となる。ここではD1ave>D2aveであるためB>0である。オフセット処理によるD2の変動幅は、x2=Xmergeのときに0であり、x2が減少するほど大きくなり、x2=-(Xmerge-Xover)で最大値|D1ave-D2ave|になる。ただし、x2は0≦x2≦Xmergeとなるため、D2の変動幅は|D1ave-D2ave|よりも小さい範囲に抑えられる。これにより、第1画像データに対するオフセット処理による画素値の変動幅と、第2画像データに対するオフセット処理による画素値の変動幅の両方を考慮した、適切な補正値の設定が可能になる。
2.2.5 重複領域のブレンド処理
S105で示した重複領域のブレンド処理について説明する。以上で説明した処理により、オフセット処理後の第1画像データとオフセット処理後の第2画像データが求められている。
図18は、オフセット処理後の第1画像データの画素値D1’と、オフセット処理後の第2画像データの画素値D2’を表す図である。なお図18の横軸をX軸とし、X軸は上記X1軸と同様の位置に原点が設定される主走査方向の軸である。X座標値がxである場合のオフセット処理後の第1画像データの画素値をD1’(x)とし、オフセット処理後の第2画像データの画素値をD2’(x)とする。
図18から明らかなように、D1’(x)とD2’(x)はオフセット処理前に比べて画素値の差が小さくなると考えられるが、多くのケースにおいて、値が完全に一致するものではない。重複領域では、2つの画素値が存在するため、最終的な出力画像の画素値を決定する処理が必要となる。
第1プロセッサー100は、第1画像データ及び第2画像データに対して、補正値によるオフセット処理を行い、オフセット処理後の第1画像データ及びオフセット処理後の第2画像データを合成して、合成画像のうち重複領域に対応する領域の画像を生成する。このようにすれば、重複領域における合成画像の画素値を適切に決定することが可能になる。
なお、x<Xmerge-Xoverでは第1画像データのみが存在し、第2画像データが存在しない。よって、x=Xmerge-Xoverの近傍でD2’(x)の寄与度を高くしてしまうと、重複領域とそれ以外の領域の境界で画素値に飛びが発生するおそれがある。よってx=Xmerge-Xoverに近い領域ではD1’(x)の寄与度を高くするとよい。例えば、D1’(x)とD2’(x)をα:(1-α)の割合でブレンドする場合、x=Xmerge-Xoverではα=1とすることが好ましい。同様に、x=XmergeではD2’(x)の寄与度を高くするために、α=0とすることが好ましい。
よって第1プロセッサー100は、下式(7)~(9)により、合成画像の画素値D’(x)を決定する。x=Xmerge-Xoverでは、下式(7)と下式(8)が一致する。x=Xmergeでは、下式(7)と下式(9)が一致する。Xmerge-Xover<x<Xmergeでは、xが増加するほどD
1’(x)の寄与度が下がり、D
2’(x)の寄与度が上がるような係数が決定される。
なお、以上ではX
1軸、X
2軸、X軸を基準として各式を説明したが、座標系の設定について種々の変形実施が可能であることは、当業者であれば容易に理解できるであろう。例えば、画像読取装置11の主走査方向をX軸とし、重複領域の2つの端点のうち、第1センサー側の端点のX座標値をx
Aとし、第2センサー側の端点のX座標値をx
Bとしてもよい。この場合、重複領域は、X座標値がx
A≦x≦x
Bを満たす範囲となる。オフセット処理後の第1画像データの画素値をD’
1(x)とし、オフセット処理後の第2画像データの画素値をD
2’(x)とし、合成画像の画素値をD’(x)とした場合に、上式(7)は、下式(10)のように変形可能である。
図19は、各画像データの画素値が一様である場合の合成処理を説明する図である。B1は、本実施形態のオフセット処理を行わない場合のブレンド処理結果を表す。B1からわかるように、重複領域を単純に合成した場合、画素値が急峻に変化してしまい、つなぎ目が目立ってしまう。B2は、本実施形態のブレンド処理結果を表す。直線的に変化する補正値を用いたオフセット処理により第1画像データと第2画像データを補正し、補正後にブレンド処理を行うため、B1に比べてつなぎ目での画素値の変化が緩やかになる。つまり本実施形態ではつなぎ目を目立たなくするような補正処理を実現できる。
2.3 第1合成画像と第2合成画像
次に、オフセット処理の対象となる補正対象領域の長さと、第1合成画像と第2合成画像の境界について詳細に説明する。本実施形態の画像読取装置11は、少なくとも3つのイメージセンサー42を含む。両端以外のイメージセンサー42は、主走査方向の一端側で所与のイメージセンサー42と読み取る領域が重複し、且つ、主走査方向の他端側で他のイメージセンサー42と読み取る領域が重複する。図5の例であれば、イメージセンサー42Bの読み取り領域(RB)は、図面左側でイメージセンサー42Aの読み取り領域(RA)と重複し、右側でイメージセンサー42Cの読み取り領域(RC)と重複する。
図20は、第2画像データに対するオフセット処理を説明する図である。図20に示したしたように、第2画像データは、一端からXmergeの範囲で第1画像データとの合成処理に伴うオフセット処理が行われ、他端からXmergeの範囲で第3画像データとの合成処理に伴うオフセット処理が行われる。ここでは、第2画像データの主走査方向での画素数をXsとする。
第1重複領域を用いたオフセット処理の結果を出力画像に反映させることを考えれば、第1合成画像は、第1画像データと、第2画像データのうち少なくとも左端からXmergeの範囲(C1)とを合成した画像とすべきである。図20において、C2が左端からXmergeの位置を表す。同様に、第2重複領域を用いたオフセット処理の結果を出力画像に反映させることを考えれば、第2合成画像は、第3画像データと、第2画像データのうち少なくとも右端からXmergeの範囲(C3)とを合成した画像とすべきである。図20において、C4が右端からXmergeの位置を表す。
図20のように、Xmerge≦Xs/2であれば、第1画像データ側のオフセット処理の補正対象領域と、第3画像データ側のオフセット処理の補正対象領域とは重複しない。この場合、C2とC4の間に第1合成画像と第2合成画像の境界であるBDを設定する。BDは、例えば第2画像データの主走査方向での中心である。BDを第2画像データの中心とした場合、読み取り対象の画像の第2領域のうち、半分の処理を第1プロセッサー100が担当し、もう半分を第2プロセッサー110が担当することになる。つまり、合成処理(S206A、S206B)の負荷を均等に分割することが可能になる。
一方、Xmerge>Xs/2である場合、2つの補正対象領域が重複してしまう。この場合、C2が第2画像データの中心よりも右側となり、C4が中心よりも左側になる。境界BDを第2画像データの中心とした場合、第1重複領域に基づくオフセット処理が行われた領域の一部が第1合成画像から除外されてしまう。同様に、第2重複領域に基づくオフセット処理が行われた領域の一部が第2合成画像から除外されてしまう。また、第1合成画像と第2合成画像を滑らかに連結するための処理が発生するおそれがある。
1つの境界BDを設定するのではなく、C2よりも左側の領域を用いて第1合成画像を生成し、C4よりも右側の領域を用いて第2合成画像を生成することも考えられる。ただし、この場合、第1合成画像と第2合成画像が重複してしまう。2つの合成画像が重複する場合、第1プロセッサー100は、当該重複する部分において、2つの合成画像の画素値に基づいて新たな画素値を算出する必要がある。
そもそも、上述したオフセット処理は、図19のB2に示したように、2つの画像データのつなぎ目を目立たなくするものである。つまりXmergeは、画素の変化を緩やかにする程度の幅を有する、という条件を満たせば十分である。より具体的には、単位長さあたりの補正量の変化量を知覚的に目立たないように設定し、想定されるセンサー間の誤差の程度から、設定した単位長さあたりの補正量の変化量を満たすようにXmergeを設定することが好ましい。
よって第1プロセッサー100は、第1画像データのうちの、第1センサーの主走査方向での長さの半分よりも短い領域に対して、補正値によるオフセット処理を行い、第2画像データのうちの、第2センサーの主走査方向での長さの半分よりも短い領域に対して、補正値によるオフセット処理を行って、第1合成画像を生成することが望ましい。
3.第2の実施形態
本実施形態では、原稿Dの斜行を補正する手法について説明する。第1合成処理及び第2合成処理は、図13を用いて上述した狭義の合成処理に加えて、斜行補正処理を含む。
3.1 処理の流れ
図21は、原稿Dに斜行が発生した場合の説明図である。図21のIA、IB、ICは、それぞれ位置補正後の第1画像データ、第2画像データ、第3画像データを表す。図21のRDが、原稿Dが存在すると判定された領域である。以下、原稿Dが存在すると判定された領域を原稿領域RDと表記する。図21のX軸及びY軸は、画像データに対して設定される座標系であって、X軸が主走査方向に対応しY軸が副走査方向に対応する。ただし、図21の例ではイメージセンサー42によって先に読み込まれる側をY軸の負方向に設定している。
図2に示したように、イメージセンサー42と搬送経路32を挟んで対向する位置には、色基準板43が配置されている。色基準板43は、原稿の下地の色とは異なる色となっている。原稿Dの下地の色は例えば白色であり、色基準板43の色は例えばグレーである。よって第1プロセッサー100は、画像データの各画素に対して、色基準板43と同じ色であるか否かを判定することで、画像データから原稿領域RDを検出することが可能である。
傾き補正では、原稿領域RDの検出結果に基づいて、原稿Dの傾き角度θと、原稿の幅Wdが検出される。例えば、画像データを上側から1ラインずつ原稿領域RDを検出していき、最初に原稿領域RDが発見された点を第1基準点P1とする。ここで上側とは時系列的に先に取得される側を表し、図21の例であればy軸負方向側である第1基準点P1は、原稿先端部の一方側の端点に対応する点である。
P1発見後、さらに1ラインずつ原稿領域RDの検出を継続し、最初に1ラインの原稿のデータが最大になるラインを探索する。当該ラインは、第2基準点P2を含むラインである。第2基準点P2は、原稿先端部のうちの第1基準点P1とは異なる側の端点である。
P1の座標値を(x1,y1)、P2の座標値を(x2,y2)とした場合、傾き角度θは下式(11)により算出され、原稿Dの幅Wdは下式(12)により算出される。
θ=arctan((y2-y1)/(x2-x1)) …(11)
Wd=|x2-x1|/cosθ …(12)
図21に示すように、オーバースキャン領域を含む全画像データから、原稿領域RDを切り出す切り出し処理、及び、θだけ回転させる傾き補正処理を行うことで、原稿Dの斜行を補正できる。以下、切り出し処理と傾き補正処理を組み合わせた処理を、斜行補正処理とも表記する。斜行補正処理では、処理後の画像の画素値を1画素ずつ決定する処理を行う。図21に示したように、斜行補正処理後の画像の左上の画素は、元の画像データの第1基準点P1に対応することがわかっている。ただし、斜行している分、元の画像データの1画素と、処理後の画像の1画素が正確に対応するわけではない。よって斜行補正では、第1基準点P1の周辺画素を用いて、出力画像の左上の画素値を決定する。例えば、第1基準点P1を含む周辺4画素の平均や、周辺9画素の平均が用いられる。或いは、単純な平均ではなく何らかの重み付けをしてもよい。他の画素についても同様であり、元の画像データから対応する画素を特定し、当該画素を含む複数の画素の画素値に基づいて、画素値の演算処理が行われる。
ここで、斜行補正処理の対象としては、第1画像データ~第3画像データの全体を合成した後の画像を用いることが考えられる。例えば第1プロセッサー100は、図12のS208の連結処理で生成された画像に対して斜行補正処理を行い、処理結果を出力画像として出力する。この場合、1つのイメージセンサー42の読み取り結果に対して、斜行補正処理を行う従来手法と同様に考えることが可能である。
ただし、斜行補正処理は、上述したように各画素に対して、複数の画素値の平均値等を演算する必要があり、処理負荷が大きい。合成処理をS206AとS206Bに分割することで負荷を分散したにもかかわらず、負荷の大きい斜行補正処理が第1プロセッサー100に集中してしまったのでは読み取り処理を高速化する効果が損なわれてしまう。
よって本実施形態では、第1プロセッサー100が行う第1合成処理は、切り出し処理と傾き補正処理を含む。第2プロセッサー110が行う第2合成処理は、切り出し処理と傾き補正処理を含む。そして画像読取装置11は、切り出し処理と傾き補正処理を含む第1合成処理によって生成された第1合成画像と、切り出し処理と傾き補正処理を含む第2合成処理によって生成された第2合成画像との連結処理を行って、出力画像を生成する。出力画像の生成は、第1プロセッサー100が行ってもよいし、第3プロセッサー120が行ってもよい。このようにすれば、斜行補正処理についても、第1プロセッサー100と第2プロセッサー110で処理負荷を分散できるため、読み取り処理の高速化を実現できる。連結処理の前処理として斜行補正処理が行われているため、連結処理は、切り出し処理と傾き補正処理を含む必要がなく、合成処理に比べて負荷が軽い。
この際、画像読取装置11は、第1センサーの出力、第2センサーの出力、及び第3センサーの出力が合成された画像に基づいて、読み取り対象である原稿が読み取られた領域である原稿領域RDの検出処理を行う。そして検出された原稿領域RDに基づいて、読み取り対象の原稿幅情報の検出、及び傾き角度情報の検出を行う。そして第1プロセッサー100は、原稿幅情報及び傾き角度情報に基づいて、第1合成処理に含まれる切り出し処理と傾き補正処理を行い、第2プロセッサー110は、原稿幅情報及び傾き角度情報に基づいて、第2合成処理に含まれる切り出し処理と傾き補正処理を行う。
ここで、原稿幅情報とは、原稿Dの幅を表す情報であり、傾き角度情報とは、理想的な状態に対する原稿Dの傾き角度を表す情報である。原稿幅情報は、具体的には原稿Dの幅Wdであるが、原稿幅を表す他の情報に拡張可能である。なお、ここではWdは画像データに基づいて検出されるため、画素数を表す情報であることが想定されるが、ミリメートル等の単位に換算して処理してもよい。同様に、傾き角度情報は、具体的には理想的な姿勢に対する傾き角度θであるが、傾き角度を表す他の情報に拡張可能である。
原稿幅情報と傾き角度情報の検出の際には、第1画像データ~第3画像データの全体を対象とする必要性は低い。図21の例であれば、第1基準点P1と第2基準点P2を検出できれば、原稿幅Wdと傾き角度θを算出可能である。よって、先頭から所定ライン分の第1センサーの出力、第2センサーの出力、及び第3センサーの出力が合成された画像に基づいて、原稿領域RDの検出、及び原稿幅情報と傾き角度情報の検出が行われる。ここでの所定ラインは例えば100ラインであるが、種々の変形実施が可能である。
第1プロセッサー100には第3画像データが入力されないため、図21の例であれば第2基準点P2を検出できない。第2プロセッサー110には第1画像データが入力されないため、図21の例であれば第1基準点P1を検出できない。そのため、各プロセッサー単体では原稿幅Wdの検出ができず、第1合成画像と第2合成画像の境界BDの設定が容易でない場合がある。その点、本実施形態ではあらかじめ3つの画像データを合成して切り出し処理と傾き補正処理に必要なパラメーターを取得するため、各プロセッサーでの処理を適切に実行可能である。
図22は、第2の実施形態の処理の流れを説明する図である。本実施形態では、まず原稿幅Wd及び傾き角度θを検出するための予備的な読み込み処理が実行される。具体的には、搬送機構31により原稿Dが所定ライン分だけ搬送経路32に沿って搬送され、イメージセンサー42Aによる第1領域の読み取り(S301)、イメージセンサー42Bによる第2領域の読み取り(S302)、イメージセンサー42Cによる第3領域の読み取り(S303)が行われる。S301~S303の読み取りは、原稿Dの先頭側の所定ライン分を対象とした読み取りである。
予備的な読み取りは、切り出し処理及び傾き補正処理用のWd及びθを検出するために行われるものである。原稿領域RDとそれ以外の領域を識別可能であれば十分であるため、イメージセンサー42の間の明るさや色味の違いは問題とならない。よって、S308で後述する合成処理も、補正処理を伴わない単純な処理でよく、2つのプロセッサーで負荷を分散する必要性が低い。
よって第1プロセッサー100は、第1センサーの読み取りによる第1画像データと、第2センサーの読み取りによる第2画像データの取り込み処理を行う(S304)。第2プロセッサー110は、第3センサーの読み取りによる第3画像データの取り込み処理を行う(S305)。さらに第1プロセッサー100は、第2プロセッサー110から第3画像データの取り込み処理を行う(S306)。
第1プロセッサー100は、取り込んだ第1画像データ、第2画像データ、及び第3画像データの間の位置ズレを補正し(S307)、合成処理を行う(S308)。S308の処理では、例えば第1重複領域に対応する画素値として、第1画像データと第2画像データのいずれか一方の画素値を選択するシンプルな処理により実現できる。第2重複領域についても同様である。S308の処理により、第1画像データ~第3画像データの先頭側の所定ラインを合成した画像が取得される。なお、第2プロセッサー110が第2画像データと第3画像データの両方を取り込み、位置補正処理及び合成処理を2つのプロセッサーで並列に実行することは妨げられない。
次に第1プロセッサー100は、S308で取得された画像に基づいて、原稿幅Wdと傾き角度θを検出する(S309)。具体的には、原稿領域RDの検出、第1基準点P1及び第2基準点P2の検出、及び上式(11)、(12)の演算が行われる。検出された原稿幅Wdと傾き角度θは、第2プロセッサー110にも送信される。
次に、原稿Dを読み取り開始位置まで引き戻す制御が行われ(S310)、再度、読み取り処理が開始される。具体的には、各イメージセンサー42による原稿Dの読み取り(S311~S313)、第1プロセッサー100と第2プロセッサー110によるデータ取り込み(S314A、S314B)、位置補正(S315A、S315B)、合成処理(S316A、S316B)が行われる。S316A及びS316Bに示す処理は、第1合成処理及び第2合成処理のうち、斜行補正処理を行う前までの処理(狭義の合成処理)を表す。S311からS316A、S316Bまでの処理は、第1の実施形態(S201~S203、S204A~S206A、S204B~S206B)と同様である。
次に第1プロセッサー100は、S316Aにおける合成処理結果に対する切り出し処理及び傾き補正処理を行って第1合成画像を生成する(S317A)。第2プロセッサー110は、S316Bにおける合成処理結果に対する切り出し処理及び傾き補正処理を行って第2合成画像を生成する(S317B)。S317A、S317Bの処理は、具体的には斜行補正処理後の画像の各画素値を演算する処理である。
次に、第2プロセッサー110は、切り出し処理及び傾き補正処理後の第2合成画像を第1プロセッサー100に出力し、第1プロセッサー100は、当該第2合成画像の取り込み処理を行う(S318)。第1プロセッサー100は、S317Aの処理後の第1合成画像と、S318で取り込んだ第2合成画像を連結する処理を行って、出力画像を生成する(S319)。第1プロセッサー100は、生成した出力画像をPC等に出力する(S320)。ここで、連結する処理は、切り出し処理及び傾き補正処理といった処理を改めて行わないため、その処理の分合成画像を生成する際の合成処理よりも高速に処理することができる。
3.2 切り出し処理、傾き補正処理
切り出し処理及び傾き補正処理(S317A、S317B)の詳細について説明する。上述したように、斜行補正処理自体は公知の手法である。ただし、図22のS317A、S317Bに示したように、斜行補正処理を2つのプロセッサーで分散処理する場合、斜行補正処理後の第1合成画像と、斜行補正処理後の第2合成画像の境界BDには留意すべきである。
例えば第1の実施形態と同様に、第2画像データの主走査方向での中央近傍に、副走査方向に沿った方向の境界BDを設定することが考えられる。図23は、副走査方向に沿った方向の境界BDを設定した場合の斜行補正処理を説明する図である。図23に示したように、第1プロセッサー100は、原稿領域RDのうち、台形形状の領域を対象として斜行補正処理を行う。同様に、第2プロセッサー110は、原稿領域RDのうち、台形形状の領域を対象として斜行補正処理を行う。以下、原稿領域RDのうち、第1プロセッサー100による斜行補正処理の対象領域を第1原稿領域RD1と表記し、第2プロセッサー110による斜行補正処理の対象領域を第2原稿領域RD2と表記する。
第1の実施形態のように、第1合成画像と第2合成画像が長方形である場合、第1合成画像と第2合成画像が連結される位置は、副走査方向での位置によらず一定である。そのため、所与のラインで主走査方向での位置合わせを行ってしまえば、他のラインについても同様の位置で連結することで、出力画像を生成できる。ただし斜行補正処理後の第1合成画像と第2合成画像が台形である場合、図23から明らかなように、副走査方向での位置に応じて、主走査方向での連結位置が変動してしまう。
図24は、台形の連結処理を説明する図であり、斜行補正処理後の第1合成画像と第2合成画像を画素単位で表現した図である。なお図24では説明を簡略化するため、少数の画素のみを例示している。台形の連結では、例えば、第1プロセッサー100のバッファーは、斜行補正処理後の第1合成画像として、台形の画像そのものを記憶するのではなく、当該台形に外接する長方形の画像(D1)を記憶しておく。長方形のうち元の台形から外れる範囲(D2)では、当該画素に画素値が存在しないことが識別可能な情報を記憶しておく。第2合成画像についても同様であり、台形に外接する長方形の画像(D3)を記憶し、画素値が存在する領域と、非存在の領域(D4)を識別可能にしておく。その上で、主走査方向での位置合わせをして2つの長方形(D1とD3)を合成する。例えば、D5の画素とD6の画素を連結されるように、2つの長方形の一部を重複させる。D1とD3の重複領域では、D1とD3のうちの一方は画素値が存在し、他方は画素値が非存在となる。よって、第1プロセッサー100は、存在する側の画素値を重複領域での画素値として選択する。
以上のように、台形の連結処理は、長方形の連結処理を拡張することで実現可能である。また台形の連結処理は上記以外の手法でも実現可能である。ただし、どのような連結処理を行うにせよ、長方形の連結処理と比較した場合、バッファーに保持しておくデータ量が増えてしまったり、長方形の連結では不要であった処理が追加されてしまったりする。第1プロセッサー100の連結処理がソフトウェアにより実現される場合、処理の追加は比較的容易であるが、記憶するデータ量の増大が問題となるおそれがある。また第1プロセッサー100の連結処理がASIC等のハードウェア回路で実現されていた場合、処理を追加すること自体が困難な場合もある。
以上を考慮して、本実施形態では、斜行補正処理後の第1合成画像と、斜行補正処理後の第2合成画像が、いずれも矩形領域となるように、境界BDを設定する。
図25は、基本的な境界BDの設定例である。境界BDは、第1基準点P1と第2基準点P2の中点を一端とし、副走査方向に対してθだけ傾いた線分である。換言すれば、境界BDは原稿領域RDを縦方向に分割する線分であって、BDにより設定される第1原稿領域RD1及び第2原稿領域RD2は、それぞれ原稿領域RDの半分の幅(Wd/2)を有する長方形である。図25に示した境界BDを用いた場合、斜行補正処理後の第1合成画像と第2合成画像の境界BDは、副走査方向に沿った方向となる。即ち、副走査方向での位置によらず、境界BDの主走査方向での位置が一定となり、第1の実施形態と同様に、連結処理を容易に実現することが可能になる。
ただし、第1基準点P1と第2基準点P2の中点を一端とし、副走査方向に対してθだけ傾いた線分、という条件で境界BDを設定した場合、当該境界BDの第1画像データ~第3画像データ上での位置は、原稿領域RDの位置に応じて変化することになる。原稿Dの斜行度合いが大きい場合、境界BDの一部が第2画像データの中央付近から大きく外れる場合がある。斜行度合いが大きいとは、具体的には、傾き角度θが大きい場合や、原稿Dが主走査方向で一方側に偏っている場合が考えられる。
図26は、斜行度合いが大きい場合の原稿領域RDと境界BDを説明する図である。図26は、図25に比べて傾き角度θが大きく、境界BDも副走査方向に対して大きく傾く。図26では、図25に比べてP3が右方向に移動し、P4が左方向に移動している。
出力画像を適切に生成するために境界BDが満たすべき条件はいくつか考えられる。まず境界BDは、第2領域外となること、即ち第2画像データの範囲外となることは許容されない。第2画像データの範囲外とは、第1画像データのみが存在する範囲(E1)、又は、第3画像データのみが存在する範囲(E2)である。
境界BDがE1に存在した場合、第2原稿領域RD2の一部がE1に含まれてしまう。つまり第2プロセッサー110は、斜行補正後の第2合成画像を、E1に示した領域の画素値から生成する必要がある。しかし第2プロセッサー110には第1画像データが入力されないため、斜行補正後の第2合成画像の一部を生成できない。また、境界BDがE2に存在した場合、第1原稿領域RD1の一部がE2に含まれてしまう。しかし第1プロセッサー100には第3画像データが入力されないため、斜行補正後の第1合成画像の一部を生成できない。
境界BDが第2領域に含まれれば、画像データが存在しないという状況は回避可能である。ただし、それだけでは適切な出力画像の生成には不十分である。なぜなら、第2領域と第3領域が重複する第2重複領域では、イメージセンサー間の個体差等を補正するために、第2画像データと第3画像データの両方が必要となる。
図26の例では、境界BDが第2重複領域に対応するE4に含まれるため、第1原稿領域RDの一部(E5)がE4に含まれる。第1プロセッサー100は、E4に対応する第2画像データは取得しているが、第3画像データが取得されないため、補正処理を実行できない。結果として、E5に対応する領域ではイメージセンサー42Bとイメージセンサー42Cの間の個体差等の影響が残ってしまい、出力画像での明るさや色味が不自然になるおそれがある。第1領域と第2領域が重複する第1重複領域に境界BDが存在する場合も同様である。図26の例では、第2原稿領域RD2の一部(E6)が、第1重複領域に対応する領域(E3)に含まれる。つまり第1画像データを取得できない第2プロセッサー110が、第1重複領域を処理対象としてしまい、出力画像の明るさや色味が不自然になるおそれがある。
よって画像読取装置11は、原稿幅情報及び傾き角度情報に基づいて、原稿領域RDのうち第1プロセッサー100による切り出し処理と傾き補正処理の対象となる第1原稿領域RD1と、原稿領域RDのうち第2プロセッサー110による切り出し処理と傾き補正処理の対象となる第2原稿領域RD2の境界BDを設定する処理を行う。そして設定された境界BDが第1領域又は第3領域に対応する領域に含まれると判定された場合に、斜行エラーと判定する。
このようにすれば、斜行補正処理の実行が困難となる程度に斜行度合いが大きい場合に、斜行エラーと判定することが可能になる。斜行エラーと判定された場合、画像読取装置11は、表示部等を用いて、ユーザーに斜行エラーを報知し、原稿Dの再セットを促す。なお画像読取装置11は、斜行エラー時に他の処理を実行してもよい。
具体的な斜行エラー判定は以下のように行われる。なお、以下では原稿Dの左側(イメージセンサー42A側)が搬送方向Yに突出する例を説明する。原稿Dの右側(イメージセンサー42C側)が搬送方向Yに突出する場合にも、各式を適宜変更することで、同様に考えることが可能である。第1基準点P1と第2基準点P2の座標を上述のように設定した場合、境界BDの一端の座標値(x3,y3)は下式(13)で表される。よって、第3画像データの端部の主走査方向での座標値xth3に対して、x3>xth3の場合に、境界BDが第3領域に含まれると判定される。
また、境界BDの他端の座標値(x4,y4)は、原稿の長さLを用いて下式(14)で表される。よって、第1画像データの端部の主走査方向での座標値xth1に対して、x4<xth1の場合に、境界BDが第1領域に含まれると判定される。
なお、原稿の長さLは、実際に原稿終端の読み取り処理が行われるまで不明である。しかし、斜行度合いが大きい場合に読み取りを継続した場合、原稿Dが給紙口等に干渉し破損するおそれがある。つまり斜行エラーは、読み取りの早い段階で判定したいという要求がある。よって画像読取装置11は、原稿の長さLを下式(15)により推定する。ここでのβは原稿Dの縦横比であり、例えば√2である。このようにすれば、原稿の長さLを読み取りの初期段階、例えばS309でWdが求められた段階で推定できるため、斜行エラーを早期に判定可能である。例えば、境界BDの設定や斜行エラー判定は、図22のS309のタイミングで、第1プロセッサー100により実行される。
L=β×Wd …(15)
3.3 切り出し処理、傾き補正処理の変形例
斜行補正処理は、いくつかの変形実施が可能である。例えば画像読取装置11は、境界BDを原稿領域RDの中央に固定するのではなく、可変に設定してもよい。
図27は、本変形例の処理を説明する図である。図27のBDが、原稿領域RDの中心に設定される境界の例である。図27では、原稿Dが主走査方向のイメージセンサー42A側に偏ったため、境界BDの下部が第1領域に含まれている。第2原稿領域RD2の一部(F1)が第1重複領域に含まれるため、第1画像データを取得しない第2プロセッサー110は、F1の画素値を適切に演算できない。
これに対して、図27では傾き角度θが相対的に小さいため、境界BDの上部と第2重複領域との距離が相対的に大きく、余裕がある。よって境界BDを右方向に平行移動する。図27のBD’が平行移動後の境界を表す。これにより、境界BD’が第1領域と第3領域のいずれにも含まれない状態を実現できる。
具体的には、境界BDの端点をP4からP4’に変更する。P4’の主走査方向での座標値xth1は既知であり、P4’の座標値(x4’,y4’)は下式(16)により求められる。また、境界BDの他方側の端点P3はP3’に変更される。P3からP3’へ向かうベクトルは、P4からP4’へ向かうベクトル(x4’-x4,y4’-y4)と等しい。よってP3’の座標値(x3’,y3’)は下式(17)により求められる。
x3’≦xth3であれば、境界BD’は第3領域に含まれないため、図27の例と同様に適切な境界が設定されたと判定できる。このように境界を変更することで、適切な斜行補正処理を実現できる。なお、x3’>xth3であれば、境界BD’が第3領域に含まれると判定される。即ち、境界BDの位置を調整しても、適切な斜行補正処理を実行できないと判定される。
図28は、本変形例の斜行補正処理に関連する処理を説明するフローチャートである。この処理が開始されると、まず基準となる境界BDが、第1領域と第3領域のいずれかに含まれるかを判定する(S401)。基準となる境界BDとは、例えば原稿領域RDの中央に設定される境界である。S401でNoの場合、境界BDを用いて適切な斜行補正処理を実現できるため、実際の斜行補正処理に移行する(S402)。図28の処理が図22のS309で実行される場合、S402に移行したことを条件にS310以降の処理が開始され、S317A、S317Bの処理が実行される。ただし、図28の処理がS317Aの実行前の他のタイミングで実行されてもよい。
S401でYesの場合、境界BDの一方側の端点が第1領域に含まれ、他方側の端点が第3領域に含まれるかを判定する(S403)。S403でYesの場合、図26に示したように斜行度合いが大きく、境界BDを調整する余地がない状況であるため、斜行エラーと判定される(S404)。
S403でNoの場合、境界BDの調整を試行する(S405)。例えば境界BDの一方側の端点が第1領域に含まれ、他方側の端点が第3領域に含まれない場合、当該境界BDを第3領域側に平行移動する。これは、両方の端点が第1領域に含まれる場合も含む。また境界BDの一方側の端点が第3領域に含まれ、他方側の端点が第1領域に含まれない場合、当該境界BDを第1領域側に平行移動する。
S405の処理後、調整が成功したか否かを判定する(S406)。具体的には、調整の結果、境界BDが第1領域と第3領域のいずれにも含まれなくなったか否かを判定する。S406でYesの場合、斜行補正処理に移行し(S402)、Noの場合、斜行エラーと判定する(S404)。
また斜行エラーと判定する条件をさらに厳しく設定する変形実施も可能である。第1画像データと第2画像データの合成処理が図12を用いて上述したオフセット処理に基づいて行われる場合、第2画像データの端部からXmergeの範囲がオフセット処理の対象となる。図20を用いて上述したように、合成画像のうち、第2画像データの左端からXmergeの範囲(C1)は、第1画像データに基づいて画素値が決定されるべき領域であり、第1画像データが入力されない第2プロセッサー110での処理が困難である。同様に、第2画像の右端からXmergeの範囲(C3)は、第3画像データに基づいて画素値が決定されるべき領域であり、第3画像データが入力されない第1プロセッサー100での処理が困難である。即ち、境界BDの存在が許容される範囲は、第2画像データのうち、各端部からオフセット処理の補正対象領域Xmergeを除いた領域としてもよい。図20の例であれば、境界BDがC1及びC3の少なくとも一方の領域に存在する場合、斜行エラーと判定する。
また本実施形態の画像読取装置11、第1プロセッサー100、第2プロセッサー110、第3プロセッサー120は、その処理の一部または大部分をプログラムにより実現してもよい。この場合には、CPU等のプロセッサーがプログラムを実行することで、本実施形態の画像読取装置11等が実現される。具体的には、非一時的な情報記憶媒体に記憶されたプログラムが読み出され、読み出されたプログラムをCPU等のプロセッサーが実行する。ここで、コンピューターにより読み取り可能な媒体である情報記憶媒体は、プログラムやデータなどを格納するものである。情報記憶媒体の機能は、DVDやCD等の光ディスク、HDD、或いはメモリーなどにより実現できる。そして、CPU等のプロセッサーは、情報記憶媒体に格納されるプログラムに基づいて本実施形態の種々の処理を行う。即ち、情報記憶媒体には、本実施形態の各部としてコンピューターを機能させるためのプログラムが記憶される。
また本実施形態の手法は、図12、図13、図22、図28に示した工程の一部又は全部を実行する画像データの生成方法、画像読取装置11の制御方法、画像読取装置11の作動方法、或いは画像処理方法に適用できる。本実施形態に係る画像データの生成方法は、上述してきた第1センサー、第2センサー、第3センサーを有する画像読取装置11を用いた画像データの生成方法であって、第1センサーの読み取りによる第1画像データと、第2センサーの読み取りによる第2画像データとに基づいて、第1領域と前記第2領域とを含む第1合成画像を生成し、第2画像データと、第3センサーの読み取りによる第3画像データとに基づいて、第2領域と第3領域とを含む第2合成画像を生成し、第1合成画像と第2合成画像との合成処理を行って、出力画像の画像データを生成する。
以上、本発明を適用した実施形態およびその変形例について説明したが、本発明は、各実施形態やその変形例そのままに限定されるものではなく、実施段階では、発明の要旨を逸脱しない範囲内で構成要素を変形して具体化することができる。例えば、発明の要旨を逸脱しない範囲内で処理の順番を入れ替えることもできる。また信号を光ファイバーを用いた光通信を用いて伝えても良いし、無線通信を用いて伝えても良い。また、上記した各実施形態や変形例に開示されている複数の構成要素を適宜組み合わせることによって、種々の発明を形成することができる。例えば、各実施形態や変形例に記載した全構成要素からいくつかの構成要素を削除してもよい。各実施形態や変形例に記載していない信号処理や画像処理をいずれかのアナログフロントエンドやプロセッサーで実行しても良い。プロセッサーがアナログフロントエンドの機能を備えることで、センサーチップの出力が直接プロセッサーの入力インターフェースから入力されても良い。さらに、異なる実施の形態や変形例で説明した構成要素を適宜組み合わせてもよい。また、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。このように、発明の主旨を逸脱しない範囲内において種々の変形や応用が可能である。例えば、斜行に備えてオーバースキャン領域を読み取る場合は、オーバースキャン領域の色基準板43を読み取った画像も含めて画像センサーからの画像データを入力インターフェースを介して取得し、合成処理の中で切り出し処理を行い、合成後の合成画像は色基準板43を読み取った画像も含まない原稿の画像のみを第2プロセッサー110から第1プロセッサー100が取得するようにしても良い。