(57)【要約】【課題】第１の画像内の参照領域に類似する第２の画像内の対象領域を決定するための処理時間を低減する。【解決手段】画像処理装置は、第１の画像内の一部の領域である参照領域を決定する参照領域決定部と、参照領域の位置を示す位置情報と、参照領域の外形に関する外形情報と、を用いて、第２の画像内の一部の領域である探索領域を決定する探索領域決定部と、参照領域に対応する第２の画像内の対応領域を、第２の画像の探索領域内から決定する対応領域決定部と、第１の画像データと第２の画像データとを用いて、参照領域と対応領域とが重なるように、第１の画像と第２の画像とが合成された合成画像を表す合成画像データを生成する生成部と、を備える。【選択図】  図１２
2015213253.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置であって、
第１の画像を表す第１の画像データと、第２の画像を表す第２の画像データと、を取得する取得部と、
前記第１の画像データを用いて、前記第１の画像内の一部の領域である参照領域を決定する参照領域決定部と、
前記第２の画像データと、前記参照領域の位置を示す位置情報と、前記参照領域の外形に関する外形情報と、を用いて、前記第２の画像内の一部の領域である探索領域を決定する探索領域決定部と、
前記参照領域に類似する前記第２の画像内の対応領域を、前記第２の画像の前記探索領域内から決定する対応領域決定部と、
前記第１の画像データと前記第２の画像データとを用いて、前記参照領域と前記対応領域とが重なるように、前記第１の画像と前記第２の画像とが合成された合成画像を表す合成画像データを生成する生成部と、
を備える、画像処理装置。
【請求項２】
請求項１に記載の画像処理装置であって、
前記探索領域決定部は、
前記第１の画像の基準の位置である第１の基準位置を示す情報と、前記第２の画像の基準の位置である第２の基準位置を示す情報と、を取得し、
前記参照領域の位置と前記第１の基準位置との関係と、前記第２の基準位置と、に基づいて、前記探索領域の位置を決定する、画像処理装置。
【請求項３】
請求項２に記載の画像処理装置であって、
前記第１の基準位置は、前記参照領域の基準の位置を示す情報であり、
前記第２の基準位置は、前記探索領域の基準の位置を示す情報であり、
前記第１の基準位置を示す情報と、前記第２の基準位置を示す情報とは、それぞれに、第１の方向の位置を示す情報と、第１の方向と垂直な第２の方向の位置を示す情報と、を含み、
前記第１の方向は、前記合成画像において前記第１の画像と前記第２の画像とが並ぶ方向であり、
前記探索領域決定部は、前記参照領域の位置が前記第１の基準位置に対して前記第１の方向にずれている場合には、前記探索領域の位置が前記第２の基準位置に対して前記第１の方向にずれ、かつ、前記参照領域の位置が前記第１の基準位置に対して前記第２の方向にずれている場合には、前記探索領域の位置が前記第２の基準位置に対して前記第２の方向にずれるように、前記探索領域の位置を決定する、画像処理装置。
【請求項４】
請求項１〜３のいずれかに記載の画像処理装置であって、
前記探索領域決定部は、
前記参照領域の基準となる第１の基準領域の外形を示す情報と、前記探索領域の基準となる第２の基準領域の外形を示す情報とを、取得し、
前記探索決定部は、前記参照領域の外形と前記第１の基準領域の外形との関係と、前記第２の基準領域の外形と、に基づいて、前記探索領域の外形を決定する、画像処理装置。
【請求項５】
請求項４に記載の画像処理装置であって、
前記探索領域決定部は、
前記参照領域の第１の方向の長さと前記第１の基準領域の前記第１の方向の長さとの比率を用いて、前記探索領域の前記第１の方向の長さを決定する、画像処理装置。
【請求項６】
請求項５に記載の画像処理装置であって、
前記第１の方向は、生成されるべき前記合成画像において前記第１の画像と前記第２の画像とが並ぶ方向であり、
前記探索領域決定部は、
前記探索領域の前記第１の方向と垂直な第２の方向の長さを、前記参照領域の前記第２の方向の長さに決定する、画像処理装置。
【請求項７】
請求項５または６に記載の画像処理装置であって、
前記探索領域決定部は、前記探索領域の前記第１の方向の長さを、前記第２の基準領域の前記第１の方向の長さより小さな値に決定する、画像処理装置。
【請求項８】
請求項４〜７のいずれかに記載の画像処理装置であって、
前記探索領域決定部は、前記参照領域の外形と前記第１の基準領域の外形との関係と、前記第２の基準領域の外形と、に基づいて決定された前記探索領域が、前記第２の画像より外側の領域を含む場合には、修正後の前記探索領域が第２の画像内に含まれるように、前記探索領域を修正する、画像処理装置。
【請求項９】
請求項４〜８のいずれかに記載の画像処理装置であって、
前記第２の基準領域は、前記第２の画像の第１の方向の端に沿って配置され、
前記第１の基準領域は、前記第１の画像の前記第１の方向とは反対方向の端に沿って配置され、
前記第１の方向は、生成されるべき前記合成画像において前記第１の画像と前記第２の画像とが並ぶ方向である、画像処理装置。
【請求項１０】
請求項１〜９のいずれかに記載の画像処理装置であって、
前記探索領域決定部は、
前記参照領域の第１の方向の長さが長いほど、前記探索領域の前記第１の方向の長さを長く決定する、画像処理装置。
【請求項１１】
請求項１〜１０のいずれかに記載の画像処理装置であって、
前記位置情報は、前記参照領域の位置を特定する座標を含み、
前記外形情報は、前記参照領域のサイズを示す第１の方向の長さと、前記第１の方向と垂直な第２の方向の長さと、を含む。
【請求項１２】
請求項１〜１１のいずれかに記載の画像処理装置であって、
前記参照領域決定部は、前記第１の画像内の複数個の画素の値のばらつきに基づいて、前記参照領域を決定し、
前記探索領域決定部は、ばらつきに基づいて決定された前記参照領域に応じて、前記探索領域を決定する、画像処理装置。
【請求項１３】
請求項１〜１２のいずれかに記載の画像処理装置であって、
前記第１の画像データは、原稿の第１の領域を光学的に読み取ることによって得られる画像データであり、
前記第２の画像データは、前記原稿の第２の領域を光学的に読み取ることによって得られる画像データである、画像処理装置。
【請求項１４】
コンピュータプログラムであって、
第１の画像を表す第１の画像データと、第２の画像を表す第２の画像データと、を取得する取得機能と、
前記第１の画像データを用いて、前記第１の画像内の一部の領域である参照領域を決定する参照領域決定機能と、
前記第２の画像データと、前記参照領域の位置を示す位置情報と、前記参照領域の外形に関する外形情報と、を用いて、前記第２の画像内の一部の領域である探索領域を決定する探索領域決定機能と、
前記参照領域に類似する前記第２の画像内の対応領域を、前記第２の画像の前記探索領域内から決定する対応領域決定機能と、
前記第１の画像データと前記第２の画像データとを用いて、前記参照領域と前記対応領域とが重なるように、前記第１の画像と前記第２の画像とが合成された合成画像を表す合成画像データを生成する生成機能と、
をコンピュータに実現させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、第１の画像内の参照領域に類似する第２の画像内の対象領域を決定する技術に関する。
【背景技術】
【０００２】
第１の画像と第２の画像とが合成された画像を表す出力画像データを生成する技術が知られている。例えば、特許文献１に開示された技術では、一度には読み取れない大きさの原稿を、スキャナを用いて２回に分けて読み取ることによって、第１の画像を表すスキャンデータと、第２の画像を表すスキャンデータと、が取得される。そして、２個のスキャンデータを用いて、第１の画像と第２の画像とが合成された合成画像を表す合成画像データが生成される。第１の画像と第２の画像とを合成する位置は、パターンマッチングを用いて決定される。パターンマッチングは、第１の画像内の一部の領域と類似する領域を第２の画像内において探索する処理である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−２３５３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記技術では、パターンマッチングにおいて探索対象とされる第２の画像内の範囲が十分に適正化されているとは言えなかった。このために、第１の画像内の参照領域に類似する第２の画像内の対象領域を決定するための処理時間が長くなる可能性があった。
【０００５】
本発明は、第１の画像内の参照領域に類似する第２の画像内の対象領域を決定するための処理時間を低減することができる新たな技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の適用例として実現することが可能である。
【０００７】
［適用例１］画像処理装置であって、第１の画像を表す第１の画像データと、第２の画像を表す第２の画像データと、を取得する取得部と、前記第１の画像データを用いて、前記第１の画像内の一部の領域である参照領域を決定する参照領域決定部と、前記第２の画像データと、前記参照領域の位置を示す位置情報と、前記参照領域の外形に関する外形情報と、を用いて、前記第２の画像内の一部の領域である探索領域を決定する探索領域決定部と、前記参照領域に類似する前記第２の画像内の対応領域を、前記第２の画像の前記探索領域内から決定する対応領域決定部と、前記第１の画像データと前記第２の画像データとを用いて、前記参照領域と前記対応領域とが重なるように、前記第１の画像と前記第２の画像とが合成された合成画像を表す合成画像データを生成する生成部と、を備える、画像処理装置。
【０００８】
上記構成によれば、参照領域の位置情報と外形情報とを用いて、適切な位置に配置され適切なサイズを有する探索領域が決定されため、第２の画像内の一部の領域である探索領域を用い、効率良く対応領域を決定することができる。したがって、第１の画像内の参照領域に類似する第２の画像内の対象領域を決定するための処理時間を低減することができる。
【０００９】
なお、本発明は、種々の形態で実現することが可能であり、例えば、画像読取装置、画像処理装置や画像読取装置の制御方法、これらの装置または方法を実現するためのコンピュータプ口グラム、そのコンピュータプログラムを記録した記録媒体、等の形態で実現することができる。
【図面の簡単な説明】
【００１０】
【図１】実施例における画像処理システムの構成を示すブロック図である。
【図２】画像処理システム１０００の動作を示すシーケンス図である。
【図３】本実施例で用いられる原稿の一例を示す図である。
【図４】ＵＩ画面の一例を示す図である。
【図５】スキャン画像の一例を示す図である。
【図６】合成画像３０の一例を示す図である。
【図７】参照領域決定処理のフローチャートである。
【図８】参照領域決定処理の説明図である。
【図９】ばらつき画素と非ばらつき画素とを説明する図である。
【図１０】参照領域配置処理のフローチャートである。
【図１１】ばらつき領域ＶＡに基づいて決定される参照領域ＲＡ１の一例を示す図である。
【図１２】探索領域決定処理のフローチャートである。
【図１３】探索領域決定処理の説明図である。
【図１４】対応領域決定処理のフローチャートである。
【図１５】探索領域ＳＡ１内に特定されるべき複数個の候補領域について説明する図である。
【発明を実施するための形態】
【００１１】
Ａ．実施例：
Ａ−１：画像処理システム１０００の構成
図１は、実施例における画像処理システムの構成を示すブロック図である。画像処理システム１０００は、画像処理装置としてのサーバ４００と、複合機２００と、を備えている。サーバ４００は、インターネット７０に接続されており、複合機２００は、ＬＡＮ（Local Area Network）８０を介して、インターネット７０に接続されている。この結果、サーバ４００と複合機２００は、ＬＡＮ８０とインターネット７０とを介して、通信可能である。また、ＬＡＮ８０には、複合機２００のユーザのパーソナルコンピュータ５００が接続されていても良い。
【００１２】
サーバ４００は、ＣＰＵ４１０と、ＤＲＡＭなどの揮発性記憶装置４２０と、ハードディスクドライブやフラッシュメモリなどの不揮発性記憶装置４３０と、インターネット７０などのネットワークに接続するためのインタフェースを含む通信部４８０と、を備えている。揮発性記憶装置４２０には、ＣＰＵ４１０が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域４２１が設けられている。不揮発性記憶装置４３０には、コンピュータプログラム４３１と、ＵＩデータ群４３３と、が格納されている。
【００１３】
コンピュータプログラム４３１、および、ＵＩデータ群４３３は、例えば、サーバ４００の管理者によって、インターネット７０を介してサーバ４００にアップロードされることにより、サーバ４００にインストールされる。または、コンピュータプログラム４３１、および、ＵＩデータ群４３３は、例えば、ＤＶＤ−ＲＯＭなどに格納された形態で提供され、サーバ４００の管理者によって、サーバ４００にインストールされても良い。ＣＰＵ４１０は、コンピュータプログラム４３１を実行することにより、後述する画像処理を実現する。
【００１４】
複合機２００は、ＣＰＵ２１０と、ＤＲＡＭなどの揮発性記憶装置２２０と、フラッシュメモリやハードディスクドライブなどの不揮発性記憶装置２３０と、プリンタ部２４０と、スキャナ部２５０と、タッチパネルやボタンなどの操作部２６０と、液晶ディスプレイなどの表示部２７０と、外部機器と通信を行う通信部２８０と、を備えている。例えば、通信部２８０は、ＬＡＮ８０などのネットワークに接続するためのインタフェースや、外部記憶装置（例えば、ＵＳＢメモリ）と接続するためのインタフェースを含んでいる。
【００１５】
揮発性記憶装置２２０には、ＣＰＵ２１０が処理を行う際に生成される種々のデータを一時的に格納するバッファ領域２２１が設けられている。不揮発性記憶装置２３０には、制御プログラム２３１が格納されている。
【００１６】
プリンタ部２４０は、インクジェット方式やレーザー方式などの印刷方式を用いて印刷を実行する。スキャナ部２５０は、光電変換素子（例えば、ＣＣＤ、ＣＭＯＳ）を用いて光学的に原稿を読み取ることによってカラー画像やグレー画像を表すスキャンデータを生成する。スキャナ部２５０は、いわゆるフラットベッド式の原稿台を備えている。なお、原稿台の長手方向のサイズは、ＩＳＯ（International Organization for Standardizationの略称）２１６で定められている紙の寸法を規定するＡ４サイズの長手方向の長さである２９７ｍｍより少しだけ（例えば、数センチ）長いサイズである。そして、原稿台の短手方向のサイズは、ＡＮＳＩ／ＡＳＭＥ（American National Standards Institute／American Society of Mechanical Engineersの略称）Ｙ１４．１で定められている紙の寸法を規定するレターサイズの短手方向の長さである２１５．９ｍｍより少しだけ（例えば、数センチ）長いサイズである。本実施例では、１回で読み取ることができる原稿の最大サイズは、Ａ４サイズより大きくＡ３サイズ（ＩＳＯで定められている紙の寸法）より小さいサイズである。具体的には、スキャナ部２５０は、長手方向の長さがＡ４サイズの長手方向の長さより少しだけ長く、かつ、短手方向の長さがレターサイズの短手方向の長さより少しだけ長い原稿を読み取り、当該原稿のサイズの画像を表す画像データを生成する。このために、後述するように、Ａ３サイズの原稿の長手方向の中央付近が重複するように、Ａ３サイズの原稿を２回に分けて読み取ることができる。
【００１７】
ＣＰＵ２１０は、制御プログラム２３１を実行することにより、複合機２００の制御を実行する。例えば、ＣＰＵ２１０は、プリンタ部２４０やスキャナ部２５０を制御して、コピー処理、印刷処理、スキャン処理などを実行する。さらに、ＣＰＵ２１０は、サーバ４００にアクセスして、サーバ４００が提供するサービスを利用するサービス利用処理を、実行することができる。
【００１８】
Ａ−２：画像処理システム１０００の動作
図２は、画像処理システム１０００の動作を示すシーケンス図である。このシーケンス図の処理は、複合機２００が、サーバ４００が提供する画像生成サービスの利用指示を、ユーザから受け付けた場合に開始される。この画像生成サービスは、詳細は後述するが、複数個のスキャンデータによって表される複数個のスキャン画像を合成するサービスである。複数個のスキャンデータは、詳細は後述するが、例えば、１回で読み取り可能なサイズより大きなサイズの原稿を、複数回に分けて読み取ることによって生成される。
【００１９】
処理が開始されると、Ｓ５では、複合機２００のＣＰＵ２１０は、サービス開始要求を、サーバ４００に対して送信する。サーバ４００のＣＰＵ４１０は、サービス開始要求を受信すると、ＵＩデータ群４３３（図１）から画像生成サービスの提供に必要なＵＩデータを選択し、該ＵＩデータを複合機２００に対して送信する（Ｓ１０）。ＵＩデータは、具体的には、ユーザインタフェース画面（以下、ＵＩ画面）を表す画面データと、制御データと、を含む。この制御データは、例えば、ＵＩ画面を利用して複合機２００が所定の処理（具体的には、後述するＳ１５のスキャン処理）を行うために必要な各種のデータを含む。例えば、制御データは、ＵＩ画面（例えば、図４）を介して受け付けたユーザの指示に基づいて、複合機２００が実行すべき処理（例えば、サーバ４００へのスキャンデータの送信）を行うために必要な情報（例えば、スキャンデータの送信先アドレス）を含む。
【００２０】
Ｓ１５では、ＣＰＵ２１０は、受信したＵＩデータに基づいて、複数個のスキャンデータを生成するスキャン処理を実行する。スキャン処理では、ＣＰＵ２１０は、ユーザが用意した原稿を２回に分けて読み取ることによって、２個のスキャンデータを生成する。本実施例のスキャンデータは、ＲＧＢの各成分の値（例えば、０〜２５５の２５６階調の値）を画素ごとに含むＲＧＢ画像データである。
【００２１】
図３は、本実施例で用いられる原稿の一例を示す図である。図３の原稿１０のサイズは、スキャナ部２５０が１回で読み取り可能なサイズ（本実施例では、Ａ４サイズより少し大きなサイズ）の約２倍のサイズ（本実施例では、Ａ３サイズ）である。
【００２２】
図４は、ＵＩ画面の一例を示す図である。先ず、ＣＰＵ２１０は、図４のＵＩ画面ＵＧ１を表示部２７０に表示する。例えば、ＵＩ画面ＵＧ１は、原稿台への原稿１０の適切な設置を促すメッセージＭＳ１と、スキャンボタンＳＢと、キャンセルボタンＣＢと、を含んでいる。ユーザは、ＵＩ画面ＵＧ１に従って、原稿１０の左側の約半分の領域１０Ｌ（図３）を読み取ることができるように、原稿１０を原稿台に設置し、スキャンボタンＳＢを押下する。スキャンボタンＳＢの押下に応じて、ＣＰＵ２１０は、スキャナ部２５０を制御して原稿を読み取ることによって、左側スキャンデータを生成する。
【００２３】
図５は、スキャン画像の一例を示す図である。図５（Ａ）には、左側スキャンデータによって表される左側スキャン画像２０Ｌが示されている。左側スキャン画像２０Ｌは、原稿１０の左側の約半分の領域１０Ｌ（図３）を示す左側原稿画像ＨＩＬと、余白ＷＢＬと、を含んでいる。
【００２４】
次に、ＣＰＵ２１０は、所定のＵＩ画面（図示省略）を表示部２７０に表示する。このＵＩ画面は、ＵＩ画面ＵＧ１と同様に、原稿台への原稿１０の適切な設置を促すメッセージと、スキャンボタンと、キャンセルボタンと、を含んでいる。ユーザは、ＵＩ画面に従って、原稿１０の右側の約半分の領域１０Ｒ（図３）を読み取ることができるように、原稿１０を原稿台に設置し、スキャンボタンを押下する。ＣＰＵ２１０は、スキャンボタンの押下に応じて、スキャナ部２５０を制御して原稿を読み取ることによって、右側スキャンデータを生成する。
【００２５】
図５（Ｂ）には、右側スキャンデータによって表される右側スキャン画像２０Ｒが示されている。右側スキャン画像２０Ｒは、原稿１０の右側の約半分の領域１０Ｒ（図３）を示す右側原稿画像ＨＩＲと、余白ＷＢＲと、を含んでいる。
【００２６】
ここで、図３の原稿１０の横方向の中央部ＣＡを表す画像は、左側スキャン画像２０Ｌの右端に沿った領域と、右側スキャン画像２０Ｒの左端に沿った領域と、の両方に含まれている。すなわち、図５にハッチングで示すように、左側スキャン画像２０Ｌは、原稿１０の中央部ＣＡを表す画像ＣＩＬを含み、右側スキャン画像２０Ｒは、原稿１０の中央部ＣＡを表す画像ＣＩＲを含んでいる。これは、例えば、ＵＩ画面や複合機２００の説明書などによって、原稿１０の中央部ＣＡが、右側スキャンデータの生成時と左側スキャンデータの生成時との両方で読み取られるように、原稿１０を原稿台に設置するように、ユーザに指示することによって、実現される。なお、左側スキャン画像２０Ｌ内の画像ＣＩＬと、右側スキャン画像２０Ｒ内の画像ＣＩＲとは、ともに原稿１０の中央部ＣＡを表しているが、ユーザによって原稿台に設置された原稿１０の位置、スキャナ部２５０の光電変換素子の特性などによって、面積や色などに多少の差は、生じ得る。
【００２７】
図２のＳ２０では、ＣＰＵ２１０は、右側スキャン画像２０Ｒを表す右側スキャンデータと、左側スキャン画像２０Ｌを表す左側スキャンデータと、をサーバ４００に対して送信する。この結果、Ｓ２５にて、サーバ４００のＣＰＵ４１０は、右側スキャンデータと、左側スキャンデータと、取得して、バッファ領域４２１に格納する。
【００２８】
Ｓ３０では、ＣＰＵ４１０は、右側スキャンデータを用いて、参照領域決定処理を実行する。参照領域決定処理は、右側スキャンデータによって表される右側スキャン画像２０Ｒの一部の領域である参照領域ＲＡ１を決定する処理である。なお、参照領域決定処理の詳細は、後述する。
【００２９】
Ｓ３２では、ＣＰＵ４１０は、探索領域決定処理を実行する。探索領域決定処理は、左側スキャンデータを用いて、左側スキャン画像２０Ｌ内の一部の領域である探索領域ＳＡ１を決定する処理である。なお、探索領域決定処理の詳細は、後述する。
【００３０】
Ｓ３５では、ＣＰＵ４１０は、対応領域決定処理を実行する。対応領域決定処理は、右側スキャン画像２０Ｒ内の参照領域ＲＡ１に対応する左側スキャン画像２０Ｌ内の対応領域ＣＰを決定する処理である。参照領域ＲＡ１に対応する対応領域ＣＰは、次のように定義できる。右側スキャン画像２０Ｒ内の参照領域ＲＡ１（図５（Ｂ））内に表されている原稿１０の一部分を特定部分ＳＰＴ（図３）とする。参照領域ＲＡ１に対応する対応領域ＣＰは、左側スキャン画像２０Ｌにおいて、原稿１０の特定部分ＳＰＴを表す領域である。対応領域ＣＰは、Ｓ３２の探索領域決定処理によって左側スキャン画像２０Ｌ内に決定された探索領域ＳＡ１内から決定される。なお、対応領域処理の詳細は、後述する。
【００３１】
Ｓ４０では、ＣＰＵ４１０は、合成処理を実行する。合成処理では、右側スキャンデータと左側スキャンデータとを用いて、右側スキャン画像２０Ｒ内の右側原稿画像ＨＩＲと、左側スキャン画像２０Ｌ内の左側原稿画像ＨＩＬとが合成された合成画像３０を表す合成画像データが生成される。
【００３２】
図６は、合成画像３０の一例を示す図である。図６に示すように、合成画像３０において、右側原稿画像ＨＩＲと左側原稿画像ＨＩＬとは、右側原稿画像ＨＩＲ内の参照領域ＲＡ１と、左側原稿画像ＨＩＬ内の対応領域ＣＰと、が重なるように、合成される。合成画像３０において、右側原稿画像ＨＩＲと左側原稿画像ＨＩＬとが互いに重なり合う領域内の画素の値には、例えば、右側原稿画像ＨＩＲ（右側スキャン画像２０Ｒ）内の画素の値が優先的に採用される。これによって、右側原稿画像ＨＩＲと左側原稿画像ＨＩＬとが合成されて、図３の原稿１０を表す合成画像３０が生成される。
【００３３】
なお、後述する対応領域決定処理において、参照領域ＲＡ１に対応する対応領域ＣＰを決定できなかった場合には、例えば、機械的に、左側スキャン画像２０Ｌの右端の辺と、右側スキャン画像２０Ｒの左端の辺と、が接するように、２個のスキャン画像が合成された合成画像を表す合成画像データが生成される（図示省略）。
【００３４】
図２のＳ４５では、ＣＰＵ４１０は、生成された合成画像データを複合機２００に対して送信する。複合機２００のＣＰＵ２１０は、合成画像データを受信すると、受信した合成画像データを不揮発性記憶装置２３０に格納するとともに、ユーザに合成画像データを受信したことを通知する。合成画像データは、ユーザの利用に供される。例えば、複合機２００は、ユーザの指示に基づいて、合成画像データを用いて、合成画像３０を印刷することができる。
【００３５】
以上説明した画像処理システム１０００によれば、一の原稿１０（図３）からそれぞれ別の領域を読み取ることによって得られる複数個の画像データ（具体的には、右側スキャンデータと左側スキャンデータ）を用いて、一の原稿１０を表す合成画像データを生成することができる。
【００３６】
次に、図２のＳ３０で示した参照領域決定処理を説明する。図７は、参照領域決定処理のフローチャートである。図８は、参照領域決定処理の説明図である。Ｓ１０５では、ＣＰＵ４１０は、ＣＰＵ４１０は、右側スキャン画像２０Ｒ内に、配置範囲ＦＡを決定する。決定された配置範囲ＦＡの内側に、参照領域決定処理によって、参照領域ＲＡ１が決定される。配置範囲ＦＡの位置、形状、サイズ（すなわち、縦方向および横方向の画素数）は、予め定められている。
【００３７】
具体的には、配置範囲ＦＡは、図５（Ｂ）に示すように、右側スキャン画像２０Ｒの４つの端のうち、原稿１０の中央部ＣＡを表す画像ＣＩＲが位置している端、本実施例では、右側スキャン画像２０Ｒの左端に沿って配置される。
【００３８】
配置範囲ＦＡの横方向の長さ（すなわち、短手方向の長さ）は、右側スキャン画像２０Ｒにおいて、原稿１０の中央部ＣＡを表す画像ＣＩＲの横方向の幅より狭いことが好ましい。配置範囲ＦＡの縦方向の長さ（すなわち、長手方向の長さ）は、右側スキャン画像２０Ｒの縦方向の長さと等しい。
【００３９】
Ｓ１１０では、ＣＰＵ４１０は、配置範囲ＦＡに配置する単位領域のサイズを決定する。本実施例では、単位領域のサイズは、予め定められた値に決定される。例えば、１個の単位領域の横方向のサイズは、例えば、１〜２画素程度であり、１個の単位領域の縦方向のサイズは、右側スキャン画像２０Ｒの縦方向の画素数の１／６〜１／３程度である。
【００４０】
Ｓ１１５では、ＣＰＵ４１０は、配置範囲ＦＡ内の複数個の単位領域の中から、１個の注目単位領域を選択する。図８（Ａ）には、配置範囲ＦＡ内の複数個の単位領域が示されている。説明のために、配置範囲ＦＡ内の画素の座標を、右方向を正方向とするＸ軸と下方向を正方向とするＹ軸とを有し、配置範囲ＦＡの左上の画素を（１、１）とする２次元座標系を用いて表す。
【００４１】
図８（Ａ）には、４つの単位領域ＵＡａ〜ＵＡｄが示されている。単位領域ＵＡａの上端および左端は、配置範囲ＦＡの上端および左端と一致する。単位領域ＵＡｂの下端および左端は、配置範囲ＦＡの下端および左端と一致する。単位領域ＵＡｃの上端および右端は、配置範囲ＦＡの上端および右端と一致する。単位領域ＵＡｄの下端および右端は、配置範囲ＦＡの下端および右端と一致する。
【００４２】
先ず、左上の端の単位領域ＵＡａが最初の注目単位領域として選択される。そして、図８（Ａ）に矢印で示すように、１画素ずつ下方向に位置がずれた単位領域が、順次に選択される。そして、左下の端の単位領域ＵＡｂが選択されると、左上の端の単位領域ＵＡａの位置から１画素だけ右方向にずれた部分画像が選択される。その後は、再び１画素ずつ下方向に位置がずれた部分画像が、順次に選択される。最後に選択される部分画像は、右下の端の単位領域ＵＡｄである。
【００４３】
１個の注目単位領域が選択されると、Ｓ１２０では、ＣＰＵ４１０は、注目単位領域内の複数個の画素を、ばらつき画素と、非ばらつき画素と、に分類し、ばらつき画素の個数（ばらつき画素数）ＶＣｕを算出する。
【００４４】
図９は、ばらつき画素と非ばらつき画素とを説明する図である。ＣＰＵ４１０は、注目単位領域内の複数個の画素を１個ずつ注目画素ＴＰとして選択して、注目画素ＴＰを中心とする横３画素×３画素分の領域ＦＬ内の画素を用いて、注目画素ＴＰのばらつき値Ｖを算出する。まず、図９の式に示すように、ＣＰＵ４１０は、注目画素ＴＰの値（Ｒ０、Ｇ０、Ｂ０）と、周囲の８個の画素の値（Ｒｎ、Ｇｎ、Ｂｎ）のそれぞれと、の差分ΔＶｎを算出する。ｎは、注目画素ＴＰの周囲の８個の画素を識別する１〜８までの番号であり、図９の領域ＦＬ内の各画素に付された番号である。ＣＰＵ４１０は、図９に式で示すように、算出された８個の差分ΔＶｎの合計値を、注目画素ＴＰのばらつき値Ｖとして算出する。注目画素ＴＰのばらつき値Ｖが、所定の閾値Ｖｔｈ以上である場合には、注目画素ＴＰは、ばらつき画素に分類され、所定の閾値Ｖｔｈ未満である場合には、注目画素ＴＰは、非ばらつき画素に分類される。
【００４５】
Ｓ１２５では、ＣＰＵ４１０は、注目単位領域のばらつき画素数ＶＣｕと、所定の閾値ＶＣｔｈと、を比較する。注目単位領域のばらつき画素数ＶＣｕが、閾値ＶＣｔｈ以上である場合には（Ｓ１３０：ＹＥＳ）、Ｓ１３５において、ＣＰＵ４１０は、注目単位領域の左上の画素の座標ＵＰ（Ｘ１、Ｙ１）を、内部の画素の値のばらつきが比較的大きい単位領域（以下、ばらつき単位領域とも呼ぶ）を示す情報として記憶する。注目単位領域のばらつき画素数ＶＣｕが、閾値ＶＣｔｈ未満である場合には（Ｓ１３０：ＮＯ）、ＣＰＵ４１０は、Ｓ１３５をスキップして、Ｓ１４０に処理を進める。
【００４６】
Ｓ１４０では、ＣＰＵ４１０は、配置範囲ＦＡ内の全ての単位領域（図８（Ａ））を注目単位領域として処理したか否かを判断する。未処理の単位画像がある場合には（Ｓ１４０：ＮＯ）、ＣＰＵ４１０は、Ｓ１１５に戻る。全ての単位領域が処理された場合には（Ｓ１４０：ＹＥＳ）、Ｓ１４５において、ＣＰＵ４１０は、上述したＳ１３５にて１個以上の単位領域の座標Ｐ（Ｘ１、Ｙ１）が記憶されているか否かを判断する。
【００４７】
単位領域の座標ＵＰ（Ｘ１、Ｙ１）が記憶されていない場合には（Ｓ１４５：ＮＯ）、Ｓ１５０において、ＣＰＵ４１０は、基準参照領域ＲＡ０（デフォルトの領域）を、参照領域ＲＡ１として決定する。基準参照領域ＲＡ０については後述する。単位領域の座標ＵＰ（Ｘ１、Ｙ１）が記憶されている場合には（Ｓ１４５：ＹＥＳ）、Ｓ１５５において、ＣＰＵ４１０は、参照領域配置処理を実行する。
【００４８】
図１０は、参照領域配置処理のフローチャートである。先ず、図１０の参照領域配置処理が開始される時点で、配置範囲ＦＡ内には、複数個のばらつき単位領域が特定されている（図８（Ｂ））。図８（Ｂ）において、黒い丸は、特定されたばらつき単位領域の左上の画素（領域特定画素とも呼ぶ）の位置を示している。
【００４９】
Ｓ２０５では、ＣＰＵ４１０は、特定された複数個のばらつき単位領域の中から、互いに近接している１個以上のばらつき単位領域（以下、近接ばらつき単位領域群と呼ぶ）を選択する。具体的には、ＣＰＵ４１０は、所定の大きさの判定枠ＪＨ（図８（Ｂ））を用いて配置範囲ＦＡ内を走査して、内部に含まれる領域特定画素の個数が最大である判定枠ＪＨの位置を決定する。
【００５０】
図８（Ｂ）には、内部に含まれる領域特定画素の個数が最大である判定枠ＪＨが示されている。図８（Ｂ）に示す判定枠ＪＨには、５個の領域特定画素ＵＰ１〜ＵＰ５が含まれている。ＣＰＵ４１０は、さらに、これらの５個の領域特定画素ＵＰ１〜ＵＰ５との距離が、基準距離Ｄｔｈより近い領域特定画素を特定する。図８（Ｂ）の例では、領域特定画素ＵＰ１〜ＵＰ５との距離が、基準距離Ｄｔｈより近い２個の領域特定画素Ｐ６、Ｐ７が特定される。この結果、図８（Ｂ）の例では、７個の領域特定画素ＵＰ１〜ＵＰ７に対応する７個のばらつき単位領域が、近接ばらつき単位領域群として選択される。
【００５１】
Ｓ２１０では、ＣＰＵ４１０は、近接ばらつき単位領域群によって規定される領域ＶＡ（以下、ばらつき領域ＶＡとも呼ぶ）内の画素数ＰＣを算出する。図８（Ｃ）には、近接ばらつき単位領域群によって規定されるばらつき領域ＶＡの一例を示す図である。ばらつき領域ＶＡは、近接ばらつき単位領域群に含まれる１個以上のばらつき単位領域のうちの少なくとも一個の単位領域に含まれる複数個の画素によって構成される。
【００５２】
Ｓ２１５〜Ｓ２４０では、ＣＰＵ４１０は、算出された画素数ＰＣと、３個の画素数閾値ＰＣｔｈ１〜ＰＣｔｈ３（ＰＣｔｈ１＜ＰＣｔｈ２＜ＰＣｔｈ３）と、を比較することによって、参照領域ＲＡ１を決定する。
【００５３】
先ず、Ｓ２１５では、ＣＰＵ４１０は、画素数ＰＣが、第１の画素数閾値ＰＣｔｈ１未満であるか否かを判断する。画素数ＰＣが、第１の画素数閾値ＰＣｔｈ１未満である場合には（Ｓ２１５：ＹＥＳ）、Ｓ２３０において、ＣＰＵ４１０は、基準参照領域ＲＡ０（後述）のサイズ（デフォルトのサイズ）の領域を、参照領域ＲＡ１として決定する。この場合には、ばらつき領域ＶＡが過度に小さいので、参照領域ＲＡ１が過度に小さくならないように、ばらつき領域ＶＡの重心位置を中心とするデフォルトのサイズの領域が、参照領域ＲＡ１として決定される。
【００５４】
画素数ＰＣが、第１の画素数閾値ＰＣｔｈ１以上である場合には（Ｓ２１５：ＮＯ）、Ｓ２２０において、ＣＰＵ４１０は、画素数ＰＣが、第２の画素数閾値ＰＣｔｈ２未満であるか否かを判断する。画素数ＰＣが、第２の画素数閾値ＰＣｔｈ２未満である場合には（Ｓ２２０：ＹＥＳ）、Ｓ２４０において、ＣＰＵ４１０は、ばらつき領域ＶＡの外接矩形を、参照領域ＲＡ１として決定する。図１１は、ばらつき領域ＶＡに基づいて決定される参照領域ＲＡ１の一例を示す図である。図１１（Ａ）には、特定のばらつき領域ＶＡ１の外接矩形が、特定の参照領域ＲＡ１１として決定される例が示されている。
【００５５】
画素数ＰＣが、第２の画素数閾値ＰＣｔｈ２以上である場合には（Ｓ２２０：ＮＯ）、Ｓ２２５において、ＣＰＵ４１０は、画素数ＰＣが、第３の画素数閾値ＰＣｔｈ３未満であるか否かを判断する。画素数ＰＣが、第３の画素数閾値ＰＣｔｈ３未満である場合には（Ｓ２２５：ＹＥＳ）、Ｓ２３５において、ＣＰＵ４１０は、ばらつき領域ＶＡの内接矩形を、参照領域ＲＡ１として決定する。図１１（Ｂ）には、特定のばらつき領域ＶＡ２の内接矩形が、特定の参照領域ＲＡ１２として決定される例が示されている。
【００５６】
画素数ＰＣが、第３の画素数閾値ＰＣｔｈ３以上である場合には（Ｓ２２５：ＮＯ）、Ｓ２３０において、ＣＰＵ４１０は、デフォルトのサイズの領域を、参照領域ＲＡ１として決定する。この場合は、ばらつき領域ＶＡが過度に大きいので、参照領域ＲＡ１が過度に大きくならないように、デフォルトサイズの領域が、参照領域ＲＡ１として決定される。参照領域ＲＡ１が決定されると、参照領域決定処理は終了される。以上の説明から解るように、本実施例の参照領域決定処理では、配置範囲ＦＡ内の比較的ばらつきが大きな部分画像の領域が、参照領域ＲＡ１として決定される。図５（Ｂ）には、右側スキャン画像２０Ｒの配置範囲ＦＡ内に決定された参照領域ＲＡ１の一例が図示されている。
【００５７】
次に図２のＳ３２の探索領域決定処理について説明する。図１２は、探索領域決定処理のフローチャートである。図１３は、探索領域決定処理の説明図である。図１３（Ａ）には、探索領域ＳＡ１の基準となる領域である基準探索領域ＳＡ０の例が示されている。図１３（Ｂ）には、参照領域ＲＡ１の基準となる領域である基準参照領域ＲＡ０の例が示されている。図１３（Ｃ）には、探索領域決定処理によって決定されるべき探索領域ＳＡ１の例が示されている。図１３（Ｄ）には、上述した参照領域決定処理（図７）によって決定された参照領域ＲＡ１の例が示されている。
【００５８】
図１２のＳ３０５では、ＣＰＵ４１０は、図７の参照領域決定処理によって決定された参照領域ＲＡ１の位置情報と外形情報とを取得する。上述したように参照領域ＲＡ１は、右側スキャン画像２０Ｒ内に決定される領域である。参照領域ＲＡ１の位置情報は、具体的には、参照領域ＲＡ１の左上の画素の位置を示す左上座標（Ｒｘ１、Ｒｙ１）である（図１３（Ｄ））。参照領域ＲＡ１の外形情報は、具体的には、参照領域ＲＡ１の幅Ｒｗ１と高さＲｈ１である（図１３（Ｄ））。幅は、横方向の長さを意味し、高さは、縦方向の長さを意味する。
【００５９】
図１３（Ｄ）に示すように、参照領域ＲＡ１の左上座標（Ｒｘ１、Ｒｙ１）は、右方向を正方向とするＸ軸と下方向を正方向とするＹ軸とを有し、右側スキャン画像２０Ｒの左上の画素の座標を（０、０）とする２次元座標系を用いて表される。また、参照領域ＲＡ１の幅Ｒｗ１と高さＲｈ１は、画素数で表される。
【００６０】
Ｓ３１０では、ＣＰＵ４１０は、基準参照領域ＲＡ０の位置情報と外形情報、具体的には、基準参照領域ＲＡ０の左上の画素の位置を示す左上座標（Ｒｘ０、Ｒｙ０）と、幅Ｒｗ０と、高さＲｈ０と、を取得する（図１３（Ｂ））。基準参照領域ＲＡ０の左上座標（Ｒｘ０、Ｒｙ０）は、参照領域ＲＡ１の左上座標（Ｒｘ１、Ｒｙ１）と同じ座標系を用いて表される。基準参照領域ＲＡ０の幅Ｒｗ０と高さＲｈ０は、画素数で表される。
【００６１】
基準参照領域ＲＡ０は、右側スキャン画像２０Ｒ上に予め規定された領域であり、これらの位置情報と外形情報は、予め定められた値が取得される。本実施例では、基準参照領域ＲＡ０は、右側スキャン画像２０Ｒの左端と上端とに接する矩形の領域である。したがって、基準参照領域ＲＡ０の左上座標は、右側スキャン画像２０Ｒの左上座標と一致している。すなわち、左上座標（Ｒｘ０、Ｒｙ０）＝（０、０）である。
【００６２】
また、基準参照領域ＲＡ０の幅Ｒｗ０は、例えば、５画素〜２０画素である。基準参照領域ＲＡ０の高さＲｈ０は、右側スキャン画像２０Ｒの高さの１／４〜１／２である。
【００６３】
Ｓ３１５では、ＣＰＵ４１０は、基準探索領域ＳＡ０の位置情報と外形情報、具体的には、基準探索領域ＳＡ０の右上の画素の位置を示す右上座標（Ｓｘ０、Ｓｙ０）と、幅Ｓｗ０と、高さＳｈ０と、を取得する（図１３（Ａ））。基準探索領域ＳＡ０の右上座標（Ｓｘ０、Ｓｙ０）は、右方向を正方向とするＸ軸と下方向を正方向とするＹ軸とを有し、左側スキャン画像２０Ｌの左上の画素の座標を（０、０）とする２次元座標系を用いて表される。
【００６４】
基準探索領域ＳＡ０は、左側スキャン画像２０Ｌ上に予め規定された領域であり、これらの位置情報と外形情報は、予め定められた値が取得される。本実施例では、基準探索領域ＳＡ０は、左側スキャン画像２０Ｌの右端と上端とに接する矩形の領域である。したがって、基準探索領域ＳＡ０の右上座標は、右側スキャン画像２０Ｒの右上座標と一致している。
【００６５】
また、基準探索領域ＳＡ０の幅Ｓｗ０は、例えば、左側スキャン画像２０Ｌの幅の１／４〜１／２である。基準探索領域ＳＡ０の高さは、上述した基準参照領域ＲＡ０の高さと同じである。すなわち、基準探索領域ＳＡ０の高さは、左側スキャン画像２０Ｌの高さの１／４〜１／２である。
【００６６】
Ｓ３２０〜Ｓ３６０の処理によって、決定すべき探索領域ＳＡ１が決定される。具体的には、図１３（Ｃ）に示すように、探索領域ＳＡ１は、左側スキャン画像２０Ｌ上に配置される矩形の領域である。探索領域ＳＡ１は、探索領域ＳＡ１の右上の画素の位置を示す右上座標（Ｓｘ１、Ｓｙ１）と、探索領域ＳＡ１の幅Ｓｗ１と、探索領域ＳＡ１の高さＳｈ１と、によって定義される。したがって、Ｓ３２０〜Ｓ３６０の処理によって、右上座標（Ｓｘ１、Ｓｙ１）と、幅Ｓｗ１と、高さＳｈ１と、が決定されることによって、探索領域ＳＡ１が決定される。
【００６７】
Ｓ３２０では、ＣＰＵ４１０は、探索領域ＳＡ１の右上座標（Ｓｘ１、Ｓｙ１）のＹ座標Ｓｙ１を決定する。具体的には、右上座標（Ｓｘ１、Ｓｙ１）のＹ座標Ｓｙ１は、参照領域ＲＡ１の左上座標（Ｒｘ１、Ｒｙ１）のＹ座標Ｒｙ１と同じ値に決定される（Ｓｙ１＝Ｒｙ１）。
【００６８】
Ｓ３２５では、ＣＰＵ４１０は、探索領域ＳＡ１の右上座標（Ｓｘ１、Ｓｙ１）のＸ座標Ｓｘ１を決定する。具体的には、右上座標（Ｓｘ１、Ｓｙ１）のＸ座標Ｓｘ１は、基準探索領域ＳＡ０の右上座標（Ｓｘ０、Ｓｙ０）のＸ座標Ｓｘ０に、（Ｒｘ１−Ｒｘ０）を加算した値に決定される（Ｓｘ１＝Ｓｘ０＋（Ｒｘ１−Ｒｘ０））。（Ｒｘ１−Ｒｘ０）は、基準参照領域ＲＡ０から見て参照領域ＲＡ１が右方向にずれている量（以下、参照領域ＲＡ１の横ずれ量と呼ぶ。）を表している。したがって、探索領域ＳＡ１の右上座標（Ｓｘ１、Ｓｙ１）のＸ座標Ｓｘ１は、基準探索領域ＳＡ０の右上座標（Ｓｘ０、Ｓｙ０）のＸ座標Ｓｘ０を、参照領域ＲＡ１の横ずれ量（Ｒｘ１−Ｒｘ０）分だけ、同じ方向にずらした位置に決定される。
【００６９】
Ｓ３３５では、ＣＰＵ４１０は、探索領域ＳＡ１の高さＳｈ１を決定する。具体的には、探索領域ＳＡ１の高さＳｈ１は、参照領域ＲＡ１の高さＲｈ１と同じ値に決定される（Ｓｈ１＝Ｒｈ１）。
【００７０】
Ｓ３４０では、ＣＰＵ４１０は、探索領域ＳＡ１の幅Ｓｗ１を決定する。具体的には、探索領域ＳＡ１の幅Ｓｗ１は、基準参照領域ＲＡ０の幅Ｒｗ０に対する参照領域ＲＡ１の幅Ｒｗ１の比率（Ｒｗ１／Ｒｗ０）を、基準探索領域ＳＡ０の幅Ｓｗ０に乗じた値に決定される（Ｓｗ１＝（Ｒｗ１／Ｒｗ０）×Ｓｗ０）。
【００７１】
Ｓ３４５では、ＣＰＵ４１０は、Ｓ３４０で決定された探索領域ＳＡ１の幅Ｓｗ１が、所定の条件を満たすか否かを判断する。所定の条件は、Ｓｗ１＜（Ｓｗ０＋Ｓｘ１−Ｓｘ０）、かつ、（Ｓｘ１−Ｓｘ０）＞０である。この条件は、基準探索領域ＳＡ０の左端のＸ座標（Ｓｘ０−Ｓｗ０）より、探索領域ＳＡ１の左端のＸ座標（Ｓｘ１−Ｓｗ１）が右側にある場合に、すなわち、（（Ｓｘ０−Ｓｗ０）＜（Ｓｘ１−Ｓｗ１））である場合に、満たされる。換言すれば、この条件が満たされない場合は、探索領域ＳＡ１の左端が、基準探索領域ＳＡ０の左端より左側に位置しており、探索領域ＳＡ１が過度に左側に拡がっていることを意味している。
【００７２】
上記の所定の条件が満たされない場合には（Ｓ３４５：ＮＯ）、Ｓ３５０において、ＣＰＵ４１０は、探索領域ＳＡ１の幅Ｓｗ１を修正する。具体的には、基準探索領域ＳＡ０の左端のＸ座標（Ｓｘ０−Ｓｗ０）と、探索領域ＳＡ１の左端のＸ座標（Ｓｘ１−Ｓｗ１）とが同じになるように、すなわち、（Ｓｘ０−Ｓｗ０）＝（Ｓｘ１−Ｓｗ１）となるように、幅Ｓｗ１の値を修正する（Ｓｗ１＝Ｓｗ０＋Ｓｘ１−Ｓｘ０）。
【００７３】
上記の所定の条件が満たされる場合には（Ｓ３４５：ＹＥＳ）、ＣＰＵ４１０は、Ｓ３５０をスキップして、処理をＳ３５５に進める。
【００７４】
Ｓ３５５では、ＣＰＵ４１０は、探索領域ＳＡ１の右上座標（Ｓｘ１、Ｓｙ１）のＸ座標Ｓｘ１が、左側スキャン画像２０Ｌ内に位置しているか否かを判断する。具体的には、探索領域ＳＡ１の右上座標（Ｓｘ１、Ｓｙ１）のＸ座標Ｓｘ１が、左側スキャン画像２０Ｌの右上座標のＸ座標より大きいか否かを判断する。なお、本実施例では、左側スキャン画像２０Ｌの右上座標は、基準探索領域ＳＡ０の右上座標（Ｓｘ０、Ｓｙ０）と一致している。ＣＰＵ４１０は、Ｓｘ１が、左側スキャン画像２０Ｌの右端のＸ座標（本実施例ではＳｘ０）より大きい場合には、Ｓｘ１が、左側スキャン画像２０Ｌ内に位置していないと判断する。
【００７５】
探索領域ＳＡ１の右上座標（Ｓｘ１、Ｓｙ１）のＸ座標Ｓｘ１が、左側スキャン画像２０Ｌ内に位置していない場合には（Ｓ３５５：ＮＯ）、Ｓ３６０において、ＣＰＵ４１０は、Ｓｘ１の値を左側スキャン画像２０Ｌの右端のＸ座標（本実施例では、基準探索領域ＳＡ０の右上座標（Ｓｘ０、Ｓｙ０）のＸ座標Ｓｘ０）に修正して、探索領域決定処理を終了する。図１３（Ｃ）には、修正後の右上座標（Ｓｘ１ａ、Ｓｙ１）が図示されている（Ｓｘ１ａ＝Ｓｘ０）。
【００７６】
探索領域ＳＡ１の右上座標（Ｓｘ１、Ｓｙ１）のＸ座標Ｓｘ１が、左側スキャン画像２０Ｌ内に位置している場合には（Ｓ３５５：ＹＥＳ）、ＣＰＵ４１０は、Ｓ３６０をスキップして、探索領域決定処理を終了する。図１３（Ｃ）の例では、ハッチングされた領域が最終的に探索領域ＳＡ１として決定される。
【００７７】
次に、図２のＳ３５の対応領域決定処理について説明する。図１４は、対応領域決定処理のフローチャートである。Ｓ４１０では、ＣＰＵ４１０は、探索領域ＳＡ１内に特定されるべき複数個の候補領域の中から、１個の注目候補領域を特定する。
【００７８】
図１５は、探索領域ＳＡ１内に特定されるべき複数個の候補領域について説明する図である。候補領域の形状およびサイズは、図７の参照領域決定処理によって右側スキャン画像２０Ｒ内に決定された参照領域ＲＡ１（図５（Ｂ））に応じて決定される。まず、参照領域ＲＡ１と同じ形状およびサイズを有する枠ＮＰが、探索領域ＳＡ１の少なくとも一部とが重なるように、探索領域ＳＡ１に対して配置される。そして、枠ＮＰ内の領域のうち、探索領域ＳＡ１と重なる領域が注目候補領域として特定される。
【００７９】
図１５（Ａ）の枠ＮＰａは、最も右側かつ上側に配置される枠である。この枠ＮＰａの左上の画素Ｐａの座標を（ｋ、１）とする。なお、画素Ｐａの座標を（ｋ、１）は、参照領域決定処理の説明の便宜のために用いる座標であり、上述した探索領域決定処理において探索領域ＳＡ１を定義するために用いられた座標系の座標とは無関係である。後述する画素Ｐｂ〜Ｐｄの座標についても同様である。画素Ｐａの横方向（Ｘ軸方向）の位置は、探索領域ＳＡ１の右端の画素の横方向の位置と同じである。画素Ｐａの縦方向（Ｙ軸方向）の位置は、探索領域ＳＡ１の上端の画素より所定長（具体的には、５０〜１００画素分の長さ）だけ上方に位置している。したがって、図１５（Ａ）においてハッチングで示すように、枠ＮＰａ内の領域のうち、左端の１本の画素のライン上に位置する複数個の画素の下側の一部分の領域が、探索領域ＳＡ１と重なっている。
【００８０】
図１５（Ｂ）の枠ＮＰｂは、最も右側かつ下側に配置される枠である。この枠ＮＰｂの左上の画素Ｐｂの座標を（ｋ、ｍ）とする。画素Ｐｂの横方向の位置は、探索領域ＳＡ１の右端の画素の横方向の位置と同じである。画素Ｐｂの縦方向の位置は、探索領域ＳＡ１の下端の画素より所定長だけ下方に位置している。したがって、図１５（Ｂ）においてハッチングで示すように、枠ＮＰｂ内の領域のうち、左端の１本の画素のライン上に位置する複数個の画素の上側の一部分の領域が、探索領域ＳＡ１と重なっている。
【００８１】
図１５（Ｃ）の枠ＮＰｃは、最も左側かつ上側に配置される枠である。この枠ＮＰｃの左上の画素Ｐｃの座標を（１、１）とする。画素Ｐｃの横方向の位置は、探索領域ＳＡ１の左端の画素の横方向の位置と同じである。画素Ｐｃの縦方向の位置は、探索領域ＳＡ１の上端の画素より所定長だけ上方に位置している。したがって、図１５（Ｃ）においてハッチングで示すように、枠ＮＰｃ内の領域のうち、下側の一部分の領域が探索領域ＳＡ１と重なっている。
【００８２】
図１５（Ｄ）の枠ＮＰｄは、最も左側かつ下側に配置される枠である。この枠ＮＰｄの左上の画素Ｐｄの座標を（１、ｍ）とする。画素Ｐｄの横方向の位置は、探索領域ＳＡ１の左端の画素の横方向の位置と同じである。画素Ｐｃの縦方向の位置は、探索領域ＳＡ１の下端の画素より所定長だけ下方に位置している。したがって、図１５（Ｄ）においてハッチングで示すように、枠ＮＰｃ内の領域のうち、上側の一部分の領域が探索領域ＳＡ１と重なっている。
【００８３】
複数個の候補領域を特定するために配置される枠ＮＰの左上の画素の座標は、（ｐ、ｑ）で表される（ｋ×ｍ）個の座標の中から、順次に選択される。ここで、ｐは、１以上ｋ以下の任意の整数であり、ｑは、１以上ｍ以下の任意の整数である。したがって、探索領域ＳＡ１には、（ｋ×ｍ）個の枠ＮＰが配置可能である。換言すれば、探索領域ＳＡ１内には、（ｋ×ｍ）個の候補領域が特定可能である。
【００８４】
図１５（Ａ）〜図１５（Ｃ）に矢印で示すように、これらの（ｋ×ｍ）個の枠ＮＰの中から、右上の端の枠ＮＰａ（図１５（Ａ））が配置されるべき枠ＮＰとして最初に選択される。そして、次回の注目候補領域が特定されるときに、１画素ずつ下方向に位置がずれた枠ＮＰが、順次に選択される。そして、右下の端の枠ＮＰｂ（図１５（Ｂ））が選択されると、右上の端の枠ＮＰａの位置から１画素だけ左方向にずれた枠ＮＰが選択される。その後は、再び１画素ずつ下方向に位置がずれた枠ＮＰが、順次に選択される。最後に選択される枠ＮＰは、左下の端の枠ＮＰｄ（図１５（Ｄ））である。
【００８５】
図１５（Ａ）〜図１５（Ｄ）の枠ＮＰａ〜ＮＰｄのように、ほとんどの場合に枠ＮＰの一部が探索領域ＳＡ１より外側に位置するので、注目候補領域の大きさは、図５（Ｂ）の参照領域ＲＡ１より小さくなる。
【００８６】
１個の注目候補領域が特定されると、Ｓ４１５では、ＣＰＵ４１０は、注目候補領域内の全ての画素のうち、１個の画素を注目画素として選択する。
【００８７】
Ｓ４２０では、ＣＰＵ４１０は、注目候補領域内の注目画素の値と、当該注目画素に対応する参照領域ＲＡ１内の画素の値と、の差ΔＶＰを算出する。注目画素に対応する参照領域ＲＡ１内の画素は、注目候補領域内の画像と参照領域ＲＡ１内の画像とを、注目候補領域を特定する際に用いた枠ＮＰと、参照領域ＲＡ１の外縁とが一致するように重ねた場合に、注目画素と重なる参照領域ＲＡ１内の画素である。差ΔＶＰを算出すべき２個の画素の値を、（Ｒ１、Ｇ１、Ｂ１）と（Ｒ２、Ｇ２、Ｂ２）とする。差ΔＶＰは、３種類の成分値間の差分の絶対値の和で表される。すなわち、差ΔＶＰは、（Ｒ１−Ｒ２）の絶対値と、（Ｇ１−Ｇ２）の絶対値と、（Ｂ１−Ｂ２）の絶対値と、の合計値で表される。
【００８８】
続くＳ４２５では、ＣＰＵ４１０は、算出された差ΔＶＰが、所定の基準値ＴＨ１以下であるか否かを判断する。差ΔＶＰが、所定の基準値ＴＨ１以下である場合には（Ｓ４２５：ＹＥＳ）、Ｓ４３０において、ＣＰＵ４１０は、類似画素数ＳＣをカウントアップする。差ΔＶＰが、所定の基準値ＴＨ１以下である場合には、注目候補領域内の注目画素と、当該注目画素に対応する参照領域ＲＡ１内の画素とは、類似する画素であると判断できるからである。
【００８９】
差ΔＶＰが、所定の基準値ＴＨ１より大きい場合には（Ｓ４２５：ＮＯ）、ＣＰＵ４１０は、Ｓ４３０をスキップして、処理をＳ４３５に進める。基準値ＴＨ１は、例えば、１０〜４０とされる。
【００９０】
Ｓ４３５では、ＣＰＵ４１０は、注目候補領域内の全ての画素を注目画素として処理したか否かを判断する。未処理の画素がある場合には（Ｓ４３５：ＮＯ）、ＣＰＵ４１０は、Ｓ４１５に戻って、未処理の画素を注目画素として選択する。全ての画素が処理された場合には（Ｓ４３５：ＹＥＳ）、ＣＰＵ４１０は、Ｓ４４０に処理を進める。
【００９１】
Ｓ４４０では、ＣＰＵ４１０は、参照領域ＲＡ１と、注目候補領域と、の類似度（ＳＣ／Ｎｔ）を算出する。類似度（ＳＣ／Ｎｔ）は、注目候補領域内の画素の総数Ｎｔに対する類似画素数ＳＣの割合である。類似度（ＳＣ／Ｎｔ）が大きいほど、参照領域ＲＡ１と、注目候補領域とは、類似している。
【００９２】
Ｓ４４５では、ＣＰＵ４１０は、類似度（ＳＣ／Ｎｔ）が、閾値ＴＨ２以上であるか否かを判断する。即ち、ＣＰＵ４１０は、現在の注目候補領域が参照領域ＲＡ１に類似しているか否かを判断する。
【００９３】
類似度（ＳＣ／Ｎｔ）が、閾値ＴＨ２以上である場合、即ち、現在の注目候補領域が参照領域ＲＡ１に類似していると判断する場合には（Ｓ４４５：ＹＥＳ）、Ｓ４５０において、ＣＰＵ４１０は、現在の注目候補領域を、参照領域ＲＡ１に類似する対応領域ＣＰとして決定して、対応領域決定処理を終了する。
【００９４】
類似度（ＳＣ／Ｎｔ）が、閾値ＴＨ２未満である場合には（Ｓ４４５：ＮＯ）、Ｓ４５５において、ＣＰＵ４１０は、探索領域ＳＡ１内の全ての候補領域（図１５）を注目候補領域として処理したか否かを判断する。未処理の候補領域がある場合には（Ｓ４５５：ＮＯ）、ＣＰＵ４１０は、Ｓ４６０において、類似画素数ＳＣを初期化したうえで、Ｓ４１０に戻って、未処理の候補領域を注目候補領域として選択する。全ての候補領域が処理された場合には（Ｓ４５５：ＹＥＳ）、ＣＰＵ４１０は、参照領域ＲＡ１に対応する対応領域ＣＰを決定できないまま、対応領域決定処理を終了する。
【００９５】
図５（Ａ）には、左側スキャン画像２０Ｌ内に、決定された対応領域ＣＰが図示されている。
【００９６】
以上説明した実施例によれば、探索領域決定処理において、参照領域ＲＡ１の位置を示す位置情報（具体的には、図１３（Ｄ）の左上座標（Ｒｘ１、Ｒｙ１））と、参照領域ＲＡ１の外形に関する外形情報（具体的には、図１３（Ｄ）の幅Ｒｗ１、高さＲｈ１）と、を用いて、探索領域ＳＡ１が決定される（図１２のＳ３２０〜Ｓ３４０）。そして、対応領域決定処理（図１４、図１５）では、決定された探索領域ＳＡ１内から対応領域ＣＰが決定される。この結果、効率良く対応領域ＣＰを決定することができる。したがって、合成画像データを生成するための処理時間を低減することができる。
【００９７】
より詳しく説明すると、例えば、複合機２００のスキャナ部２５０の仕様などによって、左側スキャン画像２０Ｌ内の左側原稿画像ＨＩＬに対して、右側スキャン画像２０Ｒ内の右側原稿画像ＨＩＲの位置が縦方向にずれる量は、所定の想定範囲内に収まる。したがって、参照領域ＲＡ１の高さＲｈ１に対して、探索領域ＳＡ１の高さＳｈ１が過度に大きいと、探索領域ＳＡ１のうち、対応領域ＣＰが存在しない領域が過度に大きくなる。そうすると、対応領域ＣＰとはなり得ない候補領域を注目候補領域として、対応領域ＣＰを探索する処理（図１４の対応領域決定処理のＳ４１５〜Ｓ４４５）が実行される頻度が高くなる。そうすると、合成画像データを生成するための処理時間が必要以上に長くなる可能性がある。また、左側スキャン画像２０Ｌと右側スキャン画像２０Ｒにおいて、共通に含まれる原稿１０の中央部ＣＡの横方向の幅は、所定の想定範囲内に収まるので、参照領域ＲＡ１の幅Ｒｗ１に対して、探索領域ＳＡ１の幅Ｓｗ１が過度に大きくても、同様に、処理時間が必要以上に長くなる可能性がある。また、参照領域ＲＡ１の位置に対して、探索領域ＳＡ１の位置が適切な位置にない場合には、探索領域ＳＡ１内に、探索すべき対応領域ＣＰが確実に含まれるようにするために、探索領域ＳＡ１のサイズ（幅および高さ）を大きくせざるを得なくなるので、処理時間が必要以上に長くなる可能性がある。上記実施例によれば、参照領域ＲＡ１の位置情報と外形情報とを用いて、適切な位置に配置され、適切なサイズを有する探索領域ＳＡ１が決定されるので、このような不都合を避けて、合成画像データを生成するための処理時間を低減することができる。
【００９８】
また、参照領域ＲＡ１の位置に対して、探索領域ＳＡ１の位置が適切な位置にない場合には、探索領域ＳＡ１内に探索すべき対応領域ＣＰが含まれない可能性が高くなる。この結果、参照領域ＲＡ１に対応する対応領域ＣＰを探索することができずに、２個の画像が精度良く結合された合成画像を表す合成画像データを生成することができない可能性がある。本実施例によれば、参照領域ＲＡ１の位置情報と外形情報とを用いて、適切な位置に配置され、適切なサイズを有する探索領域ＳＡ１が決定されるので、探索すべき対応領域ＣＰが含まれるように、適切な探索領域ＳＡ１を決定することができる。この結果、２個の画像が精度良く結合された合成画像を表す合成画像データを生成することができる。
【００９９】
さらに、上記実施例の探索領域決定処理では、参照領域ＲＡ１の基準の位置である第１の基準位置を示す情報として、基準参照領域ＲＡ０の左上座標（Ｒｘ０、Ｒｙ０）が取得される（Ｓ３１０）。また、探索領域ＳＡ１の基準の位置である第２の基準位置を示す情報として基準探索領域ＳＡ０の右上座標（Ｓｘ０、Ｓｙ０）が取得される（Ｓ３１５）。そして、参照領域ＲＡ１の位置と第１の基準位置との関係と、第２の基準位置と、に基づいて、探索領域ＳＡ１の位置が決定される。この結果、参照領域ＲＡ１の位置と、基準参照領域ＲＡ０および基準探索領域ＳＡ０の位置とに応じて、適切な探索領域を決定することができる。
【０１００】
具体的には、探索領域ＳＡ１の位置を規定する座標（Ｓｘ１、Ｓｙ１）は、図１３（Ａ）〜（Ｄ）に示すように、参照領域ＲＡ１の位置が第１の基準位置（すなわち、基準参照領域ＲＡ０の位置）に対して右方向にずれている場合には、探索領域ＳＡ１の位置が第２の基準位置（すなわち、基準探索領域ＳＡ０の位置）に対して右方向にずれ、かつ、参照領域ＲＡ１の位置が第１の基準位置に対して上方向にずれている場合には、探索領域ＳＡ１の位置が第２の基準位置に対して上方向にずれるように、探索領域ＳＡ１の位置が決定される。これは、参照領域ＲＡ１が右側スキャン画像２０Ｒの左端から比較的離れた位置、すなわち、基準参照領域ＲＡ０の位置から右側にずれた位置に決定された場合には、対応領域ＣＰは、左側スキャン画像２０Ｌ内においてより右端に近い位置に存在する可能性が高いからである。参照領域ＲＡ１が右側スキャン画像２０Ｒ内の比較的上側に決定された場合には、対応領域ＣＰは、左側スキャン画像２０Ｌ内の比較的上側に存在する可能性が高いからである。この結果、参照領域ＲＡ１の位置と基準参照領域ＲＡ０の位置との間の縦方向および横方向の関係に応じて、適切な探索領域ＳＡ１を決定することができる。
【０１０１】
さらに、上記実施例の探索領域決定処理では、基準参照領域ＲＡ０の外形を示す情報（具体的には、幅Ｒｗ０と高さＲｈ０）と、基準探索領域ＳＡ０の外形を示す情報（具体的には、幅Ｓｗ０と高さＳｈ０）とが、取得される（Ｓ３１０、Ｓ３１５）。そして、参照領域ＲＡ１の外形と基準参照領域ＲＡ０の外形との関係と、基準探索領域ＳＡ０の外形と、に基づいて、探索領域ＳＡ１の外形が決定される。具体的には、図１３（Ａ）〜（Ｄ）に示すように、参照領域ＲＡ１の幅Ｒｗ１が基準参照領域ＲＡ０の幅Ｒｗ０より長いほど、探索領域ＳＡ１の幅Ｓｗ１は、基準探索領域ＳＡ０の幅Ｓｗ０より長くされる。そして、参照領域ＲＡ１の高さＲｈ１が基準参照領域ＲＡ０の高さＲｈ０より大きいほど、探索領域ＳＡ１の高さＳｈ１は、基準探索領域ＳＡ０の高さＳｈ０より大きくされる。この結果、参照領域ＲＡ１の外形と、基準参照領域ＲＡ０の外形と、基準探索領域ＳＡ０の外形とに応じて、適切な探索領域ＳＡ１の外形を決定することができる。
【０１０２】
より具体的には、探索領域ＳＡ１の幅Ｓｗ１は、参照領域ＲＡ１の幅Ｒｗ１と基準参照領域ＲＡ０の幅Ｒｗ０との比率（Ｒｗ１／Ｒｗ０）を用いて、決定される（Ｓ３４０）。この結果、参照領域ＲＡ１と基準参照領域ＲＡ０との間の幅の関係に応じて、適切な探索領域ＳＡ１の幅を決定することができる。また、探索領域ＳＡ１の高さＳｈ１は、参照領域ＲＡ１の高さＲｈ１に決定される（Ｓ３３５）。この結果、探索領域ＳＡ１の高さＳｈ１を参照領域ＲＡ１の高さＲｈ１に応じて適切に決定することができる。換言すれば、探索領域ＳＡ１の高さＳｈ１や幅Ｓｈ１が、参照領域ＲＡ１に対して過度に大きくなることや、過度に小さくなることを抑制して、合成画像データを生成するための処理時間の低減や、合成画像における２個の画像の結合精度の向上を実現することができる。
【０１０３】
さらに、探索領域ＳＡ１の左端が、基準探索領域ＳＡ０の左端より左側に位置しないように、探索領域ＳＡ１の幅Ｓｗ１が修正される（図３のＳ３４５、Ｓ３５０）。換言すれば、探索領域ＳＡ１の幅Ｓｗ１は、基準探索領域ＳＡ０の幅Ｓｗ０より小さな値に決定される。この結果、探索領域ＳＡ１の幅Ｓｗ１が過度に長くなることを抑制して、合成画像データを生成するための処理時間が過度に長くなることを抑制することができる。
【０１０４】
さらに、参照領域ＲＡ１の外形と基準参照領域ＲＡ０の外形との関係と、基準探索領域ＳＡ０の外形と、に基づいて決定された探索領域ＳＡ１が、左側スキャン画像２０Ｌより外側の領域を含む場合には、修正後の探索領域ＳＡ１が左側スキャン画像２０Ｌに含まれるように、探索領域ＳＡ１が修正される（図３のＳ３５５、Ｓ３６０）。この結果、左側スキャン画像２０Ｌに含まれる適切な探索領域ＳＡ１を決定することができる。
【０１０５】
また、図１３（Ｂ）に示すように、基準参照領域ＲＡ０は、右側スキャン画像２０Ｒの左方向（Ｘ軸方向の反対方向）の端に沿って配置されている。そして、図１３（Ａ）に示すように、基準探索領域ＳＡ０は、左側スキャン画像２０Ｌの右方向の端に沿って配置されている。ここで、Ｘ軸方向は、本実施例において、生成されるべき合成画像において左側スキャン画像２０Ｌと右側スキャン画像２０Ｒとが並ぶ方向と言うことができる。上記構成によれば、適切な基準領域を用いて、合成画像データを生成するための対応領域を決定するために適切な探索領域ＳＡ１を決定することができる。
【０１０６】
さらに、参照領域決定処理（図７〜図９）では、右側スキャン画像２０Ｒ内の複数個の画素の値のばらつきに基づいて参照領域ＲＡ１が決定される。例えば、参照領域ＲＡ１の位置、大きさ、サイズは、それぞれ、右側スキャン画像２０Ｒの配置範囲ＦＡ内の複数個の画素の値に基づいて決定されている。具体的には、画素の値のばらつきが比較的大きい単位領域を含むように、参照領域ＲＡ１が決定される（図８など）。そして、対応領域決定処理（図１４）では、ばらつきに基づいて決定された参照領域に応じて、複数個の候補領域が特定される。この結果、参照領域ＲＡ１に対応する適切な対応領域ＣＰが容易に決定される。
【０１０７】
より具体的に説明すると、画素の値のばらつきが比較的小さい領域は、特徴が乏しい。このために、画素の値のばらつきが比較的小さい領域が参照領域ＲＡ１に決定されると、左側スキャン画像２０Ｌ内の対応領域ＣＰを決定することが困難になる可能性がある。例えば、左側スキャン画像２０Ｌ内の誤った領域が、対応領域ＣＰに決定されやすい。画素のばらつきが比較的小さい領域には、例えば、背景を示す領域や、オブジェクトの内部の色の変化が乏しい領域などが含まれる。
【０１０８】
これに対して、画素の値のばらつきが比較的大きな領域は、エッジなどを比較的多く含むので、特徴的な部分を含む可能性が高い。このために、画素の値のばらつきが比較的大きな領域が参照領域ＲＡ１に決定されると、左側スキャン画像２０Ｌ内の対応領域ＣＰを容易に決定できる。換言すれば、ばらつきが比較的小さい領域を基準にするよりも、ばらつきが比較的大きい領域を基準にするほうが、対応領域ＣＰに対応する対応領域ＣＰを精度良く決定できる。あるいは、ばらつきが比較的小さい領域を基準にするよりも、ばらつきが比較的大きい領域を基準にするほうが、対応領域ＣＰのサイズが小さくても適切な対応領域ＣＰを決定できるので、処理時間が短くなる。
【０１０９】
Ｂ．変形例
（１）上記実施例では、参照領域ＲＡ１の位置情報として、左上座標（Ｒｘ１、Ｒｙ１）が用いられ、参照領域ＲＡ１の外形情報として、幅Ｒｗ１と高さＲｈ１が用いられている。これに代えて、参照領域ＲＡ１の位置情報と外形情報とを兼ねる情報として、参照領域ＲＡ１の対角を形成する２つの頂点に位置する２つの画素の座標が用いられても良い。具体的には、左上の画素を表す左上座標と、右下の画素を表す右下座標と、の組み合わせが用いられても良い。また、参照領域ＲＡ１の位置情報と外形情報とを兼ねる情報として、参照領域ＲＡ１の４つの頂点に位置する４つの画素の座標が用いられても良い。上述したいずれの位置情報であっても、参照領域ＲＡ１の右側スキャン画像２０Ｒ上の位置を特定することができる。また、上述したいずれの外形情報であっても、参照領域ＲＡ１のサイズを示す幅と高さとを特定することができる。
【０１１０】
なお、基準参照領域ＲＡ０の位置情報および外形情報、基準探索領域ＳＡ０の位置情報および外形情報も、参照領域ＲＡ１の位置情報および外形情報と同様に、矩形の対角を形成する２つの頂点に位置する２つの画素の座標や、矩形の４つの頂点に位置する４つの画素の座標が用いられても良い。
【０１１１】
（２）上記実施例では、探索領域ＳＡ１を決定するために、参照領域ＲＡ１の位置情報と外形情報に加えて、基準参照領域ＲＡ０や基準探索領域ＳＡ０の位置情報や外形情報が用いられている。これに代えて、ＣＰＵ４１０は、基準参照領域ＲＡ０や基準探索領域ＳＡ０の位置情報や外形情報を用いることなく、参照領域ＲＡ１の位置情報と外形情報のみを用いて、参照領域ＲＡ１を決定しても良い。例えば、ＣＰＵ４１０は、探索領域ＳＡ１の高さを、参照領域ＲＡ１の高さと同じ高さに決定する。そして、ＣＰＵ４１０は、探索領域ＳＡ１の幅を、参照領域ＲＡ１の幅の所定数倍（例えば、２０倍）に決定する。そして、ＣＰＵ４１０は、探索領域ＳＡ１の縦方向の位置を、参照領域ＲＡ１の縦方向の位置と同じ位置に決定する。そして、ＣＰＵ４１０は、探索領域ＳＡ１の横方向の位置を、探索領域ＳＡ１の右端の位置が、左側スキャン画像２０Ｌの右端と同じ位置となるように、決定する。
【０１１２】
（３）上記実施例では、探索領域ＳＡ１を決定するために、基準参照領域ＲＡ０の位置と参照領域ＲＡ１の位置との関係と、基準探索領域ＳＡ０の位置と、を用いている。これに代えて、ＣＰＵ４１０は、右側スキャン画像２０Ｒの基準の位置（例えば、右側スキャン画像２０Ｒの左上の画素の位置）と、参照領域ＲＡ１の位置と、の関係と、左側スキャン画像２０Ｌの基準の位置（例えば、左側スキャン画像２０Ｌの右上の画素の位置）と、を用いて、探索領域ＳＡ１を決定しても良い。例えば、ＣＰＵ４１０は、右側スキャン画像２０Ｒの左上の画素の位置に対する参照領域ＲＡ１の左上の画素の位置と、左側スキャン画像２０Ｌの右上の画素の位置に対する探索領域ＳＡ１の右上の画素の位置とが、鏡像の関係になるように、探索領域ＳＡ１を決定しても良い。
【０１１３】
（４）２個のスキャンデータによって表される２個の画像を、第１の画像と、第２の画像とする。上記実施例では、第１の画像（具体的には、右側スキャン画像２０Ｒ）の左端近傍と、第２の画像（具体的には、左側スキャン画像２０Ｌ）の右端近傍と、が結合されるように、合成画像が生成されている。これに代えて、例えば、２個のスキャンデータの生成に用いられる一つの原稿に応じて、第１の画像の右端近傍と、第２の画像の左端近傍とが、結合されるように、合成画像が生成されてもよい。あるいは、第１の画像の下端近傍と、第２の画像の上端近傍とが、結合されるように、合成画像が生成されても良く、第１の画像の上端近傍と、第２の画像の下端近傍と、が結合されるように、合成画像が生成されてもよい。
【０１１４】
そして、このような第１の画像と第２の画像との結合の態様は、予め決められていても良いし、上述した４個の結合の態様の全てについて、それぞれ、参照領域ＲＡ１の決定と、対応領域ＣＰの決定と、を実行しても良い。後者の場合には、参照領域ＲＡ１と対応領域ＣＰとの類似度が最も高い結合の態様で、第１の画像と第２の画像とが結合された合成画像を表す合成画像データが生成されてもよい。
【０１１５】
４個の結合の態様によって、決定される参照領域ＲＡ１や探索領域ＳＡ１は異なる。また、４個の結合の態様によって、用いられる基準参照領域ＲＡ０や基準探索領域ＳＡ０は異なる。例えば、第１の画像の下端近傍と、第２の画像の上端近傍とが、結合されるように、合成画像が生成される場合を考える。この場合には、例えば、第１の画像の下端近傍に参照領域ＲＡ１が決定され、第２の画像の上端近傍に、探索領域ＳＡ１が決定される。例えば、基準参照領域ＲＡ０は、第１の画像の下端に沿って配置され、基準探索領域ＳＡ０は、第２の画像の上端に沿って配置される。そして、例えば、探索領域ＳＡ１の幅は、参照領域ＲＡ１の幅と同じに決定され、探索領域ＳＡ１の高さは、参照領域ＲＡ１の高さと基準参照領域ＲＡ０の高さとの比率に、基準探索領域ＳＡ０の高さを乗じた値に決定される。
【０１１６】
（５）上記実施例では、探索領域ＳＡ１の高さＳｈ１は、参照領域ＲＡ１の高さＲｈ１と同じにされる（図１２のＳ３３５）。これは、上記実施例では、右側スキャン画像２０Ｒ内の右側原稿画像ＨＩＲと、左側スキャン画像２０Ｌ内の左側原稿画像ＨＩＬとの、縦方向のずれ量が比較的小さいことを想定して、基準探索領域ＳＡ０の高さＳｈ０と、基準参照領域ＲＡ０の高さＲｈ０と、が等しい値とされているからである（Ｓｈ０＝Ｒｈ０（図１３））。例えば、右側スキャン画像２０Ｒ内の右側原稿画像ＨＩＲと、左側スキャン画像２０Ｌ内の左側原稿画像ＨＩＬとの、縦方向のずれ量が比較的大きいことを想定される場合には、基準探索領域ＳＡ０の高さＳｈ０が、基準参照領域ＲＡ０の高さＲｈ０より大きくされ得る（Ｓｈ０＞Ｒｈ０）。
【０１１７】
この場合には、探索領域ＳＡ１の高さＳｈ１は、参照領域ＲＡ１と基準参照領域ＲＡ０との高さの比率（Ｒｈ１／Ｒｈ０）に、基準探索領域ＳＡ０の高さＳｈ０を乗じた値に決定されても良い（Ｓｈ１＝（Ｒｈ１／Ｒｈ０）×Ｓｈ０）。あるいは、探索領域ＳＡ１の高さＳｈ１は、参照領域ＲＡ１の高さＲｈ１に、想定される縦方向のずれ量を考慮して決定された所定長Ｍのマージンを加算した値に決定されても良い（Ｓｈ１＝Ｓｈ０＋Ｍ）。一般的には、探索領域ＳＡ１の高さＳｈ１は、参照領域ＲＡ１の高さＲｈ１が大きいほど大きくなるように決定されることが好ましい。
【０１１８】
（６）参照領域ＲＡ１の位置情報は、座標とは異なる情報であっても良い。例えば、参照領域ＲＡ１の位置情報は、参照領域ＲＡ１の縦方向の位置を３段階（具体的には、上、中、下）で表す情報であっても良い。参照領域ＲＡ１の外形情報は、幅と高さとは異なる情報であっても良い。例えば、参照領域ＲＡ１の外形情報は、参照領域ＲＡ１のサイズを３段階（具体的には、大、中、小）で表す情報であっても良い。この場合には、例えば、参照領域決定処理では、ＣＰＵ４１０は、右側スキャン画像２０Ｒ内の複数個の画素の値のばらつきに基づいて、３段階の位置情報と３段階の外形情報とを組み合わせて得られる９種類のパターンに対応する９種類の参照領域の中から、１個の参照領域ＲＡ１を決定する。そして、ＣＰＵ４１０は、決定された参照領域ＲＡ１に対応する９種類のパターンに対応する９種類の探索領域の中から、１個の探索領域ＳＡ１を決定しても良い。
【０１１９】
（７）上記実施例では、２個のスキャンデータを用いて、２個のスキャン画像が合成された合成画像を表す合成画像データが生成されている。これに限らず、任意の個数のスキャンデータを用いて合成画像データが生成されても良い。例えば、４個のスキャン画像データを用いて、４個のスキャン画像が合成された合成画像を表す合成画像データが生成されてもよい。
【０１２０】
（８）上記実施例では、合成画像データの生成に用いられる２個の画像データは、複合機２００のスキャナ部２５０によって原稿が読み取られることによって生成される２個のスキャンデータである。これに代えて、２個の画像データは、デジタルカメラによって原稿の複数個の領域を撮影することによって、２個の画像データが生成されても良い。
【０１２１】
（９）上記実施例では、合成画像データの生成に用いられる２個のスキャンデータは、１つの原稿１０を読み取って得られる右側スキャンデータと左側スキャンデータである。これに代えて、２個のスキャンデータは、２個の原稿をそれぞれ読み取って得られる２個のスキャンデータであっても良い。
【０１２２】
（１０）上記実施例においてサーバ４００のＣＰＵ４１０によって実行される処理（例えば、図２のＳ２５〜Ｓ４０の処理）は、例えば、複合機２００のＣＰＵ２１０によって実行されても良い。この場合には、サーバ４００は不要であり、複合機２００が単体で図２の処理を実行すればよい。また、サーバ４００のＣＰＵ４１０によって実行される処理は、複合機２００と接続されたパーソナルコンピュータ５００（図１）のＣＰＵ（図示省略）によって実行されても良い。例えば、パーソナルコンピュータ５００のＣＰＵは、パーソナルコンピュータ５００にインストールされたスキャナドライバプログラムを実行することによって、これらの処理を実行しても良い。また、サーバ４００は、本実施例のように１つの計算機で構成されても良く、複数個の計算機を含む計算システムによって構成されていても良い。
【０１２３】
（１１）上記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。
【符号の説明】
【０１２４】
２００...複合機、２１０...ＣＰＵ、２２０...揮発性記憶装置、２２１...バッファ領域、２３０...不揮発性記憶装置、２３１...制御プログラム、２４０...プリンタ部、２５０...スキャナ部、２６０...操作部、２７０...表示部、２８０...通信部、４００...サーバ、４１０...ＣＰＵ、４２０...揮発性記憶装置、４２１...バッファ領域、４３０...不揮発性記憶装置、４３１...コンピュータプログラム、４３３...ＵＩデータ群、４８０...通信部、５００...パーソナルコンピュータ、１０００...画像処理システム
【図１】
2015213253.tif 000003
【図２】
2015213253.tif 000004
【図３】
2015213253.tif 000005
【図４】
2015213253.tif 000006
【図５】
2015213253.tif 000007
【図６】
2015213253.tif 000008
【図７】
2015213253.tif 000009
【図８】
2015213253.tif 000010
【図９】
2015213253.tif 000011
【図１０】
2015213253.tif 000012
【図１１】
2015213253.tif 000013
【図１２】
2015213253.tif 000014
【図１３】
2015213253.tif 000015
【図１４】
2015213253.tif 000016
【図１５】
2015213253.tif 000017