(57)【特許請求の範囲】
【請求項１】
第１の対象画像を含む第１の画像を表す第１の画像データと、第２の対象画像を含む第２の画像を表す第２の画像データと、を取得する画像取得部と、
前記第１の対象画像の第１方向の端と前記第１の画像の前記第１方向の端との間に含まれる第１の画素の個数が基準以上であるか否かを判断する第１の判断部と、
前記第１の対象画像の前記第１方向と反対の第２方向の端と前記第１の画像の前記第２方向の端との間に含まれる連続する第２の画素の個数が基準以上であるか否かを判断する第２の判断部と、
前記第１の対象画像の前記第１方向と前記第２方向のうちの一方の端に沿う端部画像と、前記第２の対象画像の前記第１方向と前記第２方向のうちの一方の端に沿う端部画像と、が重なる第１種の配置位置を探索する第１の探索処理を実行することによって、前記第１の対象画像と前記第２の対象画像との相対的な配置位置を決定する第１の位置決定部と、
決定済の前記配置位置に前記第１の対象画像と前記第２の対象画像とが配置され、前記第１の対象画像と前記第２の対象画像とで１個の対象物を示す配置済画像を表す配置済画像データを生成する画像生成部と、
を備え
前記第１の位置決定部は、
前記第１の画素の個数が基準未満である場合には、前記第１の対象画像の前記第１方向の端に沿う端部画像と、前記第２の対象画像の前記第１方向の端に沿う端部画像と前記第２の対象画像の前記第２方向の端に沿う端部画像とのうちの少なくとも一方と、を用いて前記第１の探索処理を実行し、
前記第１の画素の個数が基準以上である場合には、前記第１の対象画像の前記第１方向の端に沿う端部画像を用いずに前記第１の探索処理を実行し、
前記第２の画素の個数が基準未満である場合には、前記第１の対象画像の前記第２方向の端に沿う端部画像と、前記第２の対象画像の前記第１方向の端に沿う端部画像と前記第２の対象画像の前記第２方向の端に沿う端部画像とのうちの少なくとも一方と、を用いて前記第１の探索処理を実行し、
前記第２の画素の個数が基準以上である場合には、前記第１の対象画像の前記第２方向の端に沿う端部画像を用いずに前記第１の探索処理を実行する、画像処理装置。
【請求項２】
請求項１に記載の画像処理装置であって、さらに、
前記第２の対象画像の前記第１方向の端と前記第２の画像の前記第１方向の端との間に含まれる第３の画素の個数が基準以上であるか否かを判断する第３の判断部と、
前記第２の対象画像の前記第２方向の端と前記第２の画像の前記第２方向の端との間に含まれる第４の画素の個数が基準以上であるか否かを判断する第４の判断部と、
を備え、
前記第１の位置決定部は、
前記第３の画素の個数が基準未満である場合には、前記第２の対象画像の前記第１方向の端に沿う端部画像と、前記第１の対象画像の前記第１方向の端に沿う端部画像と前記第１の対象画像の前記第２方向の端に沿う端部画像とのうちの少なくとも一方と、を用いて前記第１の探索処理を実行し、
前記第３の画素の個数が基準以上である場合には、前記第２の対象画像の前記第１方向の端に沿う端部画像を用いずに前記第１の探索処理を実行し、
前記第４の画素の個数が基準未満である場合には、前記第２の対象画像の前記第２方向の端に沿う端部画像と、前記第１の対象画像の前記第１方向の端に沿う端部画像と前記第１の対象画像の前記第２方向の端に沿う端部画像とのうちの少なくとも一方と、を用いて前記第１の探索処理を実行し、
前記第４の画素の個数が基準以上である場合には、前記第２の対象画像の前記第２方向の端に沿う端部画像を用いずに前記第１の探索処理を実行する、画像処理装置。
【請求項３】
請求項２に記載の画像処理装置であって、
前記第１の位置決定部は、
前記第１の画素の個数が基準未満であり、かつ、前記第２の画素の個数が基準以上であり、かつ、前記第３の画素が基準未満であり、かつ、前記第４の画素の個数が基準以上である場合には、前記第１の対象画像の前記第２方向の端に沿う端部画像と前記第２の対象画像の前記第２方向の端に沿う端部画像とを用いずに、前記第１の対象画像の前記第１方向の端に沿う端部画像と前記第２の対象画像の前記第１方向の端に沿う端部画像とを用いて、前記第１の探索処理を実行する、画像処理装置。
【請求項４】
請求項１から請求項３のいずれかに記載の画像処理装置であって、さらに、
前記第１の対象画像の前記第１方向と前記第２方向のうちの一方の端に沿う端部画像と、前記第２の対象画像の前記第１方向と前記第２方向のうちの一方の端に沿う端部画像と、が重ならない第２種の配置位置を探索する第２の探索処理を実行することによって、前記第１の対象画像と前記第２の対象画像との相対的な配置位置を決定する第２の位置決定部を備え、
前記第１の位置決定部は、前記第１の画素の個数が基準以上である場合には、前記第１の対象画像の前記第１方向の端に沿う端部画像を用いて、前記第１の探索処理を実行せず、
前記第２の位置決定部は、前記第１の画素の個数が基準以上である場合には、前記第１の対象画像の前記第１方向の端に沿う端部画像を用いて、前記第２の探索処理を実行する、画像処理装置。
【請求項５】
請求項４に記載の画像処理装置であって、
前記第１の位置決定部は、前記第１の画素の個数が基準以上であり、かつ、前記第２の画素の個数が基準以上である場合には、前記第１の探索処理を実行せず、
前記第２の位置決定部は、前記第１の画素の個数が基準以上であり、かつ、前記第２の画素の個数が基準以上である場合には、前記第２の探索処理を実行する、画像処理装置。
【請求項６】
請求項４または請求項５に記載の画像処理装置であって、
前記第１の位置決定部は、前記第１の画素の個数が基準未満であり、かつ、前記第２の画素の個数が基準未満である場合には、前記第１の探索処理を実行し、
前記第２の位置決定部は、前記第１の画素の個数が基準未満であり、かつ、前記第２の画素の個数が基準未満である場合には、前記第２の探索処理を実行しない、画像処理装置。
【請求項７】
請求項２または請求項３に記載の画像処理装置であって、さらに、
前記第１の対象画像の前記第１方向と前記第２方向のうちの一方の端に沿う端部画像と、前記第２の対象画像の前記第１方向と前記第２方向のうちの一方の端に沿う端部画像と、が重ならない第２種の配置位置を探索する第２の探索処理を実行することによって、前記第１の対象画像と前記第２の対象画像との相対的な配置位置を決定する第２の位置決定部を備え、
前記第２の位置決定部は、前記第１の画素と前記第２の画素とのうちの一方の個数が基準以上であり、かつ、前記第３の画素と前記第４の画素とのうちの一方の個数が基準以上である場合には、前記第１の画素と前記第２の画素とのうちの他方の個数、および、前記第３の画素と前記第４の画素とのうちの他方の個数に拘わらずに、前記第１の対象画像の前記第１方向と前記第２方向のうちのいずれかの端と、前記第２の対象画像の前記第１方向と前記第２方向のうちのいずれかの端と、の全ての組み合わせについて、前記第２の探索処理を実行する、画像処理装置。
【請求項８】
請求項１から請求項７のいずれかに記載の画像処理装置であって、さらに、
前記第１の対象画像の前記第１方向と前記第２方向のうちのいずれかの端と、前記第２の対象画像の前記第１方向と前記第２方向のうちのいずれかの端と、の複数個の組み合わせのそれぞれについて前記第１の探索処理を実行する場合に、前記複数個の組み合わせのそれぞれについて、組み合わせを構成する２個の端に沿う２個の端部画像のヒストグラムを生成するヒストグラム生成部と、
前記ヒストグラムを用いて、前記２個の端部画像の前記ヒストグラムの類似度が高い順に、前記複数個の組み合わせに対する前記第１の探索処理の順序を決定する順序決定部と、
を備え、
前記第１の位置決定部は、
前記決定済の順序に従って、前記複数個の組み合わせについて、前記第１の探索処理を実行し、
前記複数個の組み合わせのうち、特定の組み合わせについて、前記第１種の配置位置を決定した場合に、前記複数個の組み合わせのうち、前記特定の組み合わせより前記決定済の順序が後の組み合わせについて、前記第１の探索処理を実行しない、画像処理装置。
【請求項９】
第１の対象画像を含む第１の画像を表す第１の画像データと、第２の対象画像を含む第２の画像を表す第２の画像データと、を取得する画像取得部と、
前記第１の対象画像の複数個の端のうちのいずれかの端と、前記第２の対象画像の複数個の端のうちのいずれかの端と、の複数個の組み合わせのそれぞれについて、組み合わせを構成する２個の端に沿う２個の端部画像のヒストグラムを生成するヒストグラム生成部と、
前記ヒストグラムを用いて、前記２個の端部画像のヒストグラムの類似度が高い順に、前記複数個の組み合わせに対する探索処理の順序を決定する順序決定部であって、前記探索処理は、前記第１の対象画像のいずれかの端に沿う端部画像と前記第２の対象画像のいずれかの端に沿う端部画像とを対応付ける位置を探索する処理である、前記順序決定部と、
前記探索処理を実行することによって、前記第１の対象画像と前記第２の対象画像との相対的な配置位置を決定する位置決定部と、
決定済の前記配置位置に前記第１の対象画像と前記第２の対象画像とが配置され、前記第１の対象画像と前記第２の対象画像とで１個の対象物を示す配置済画像を表す配置済画像データを生成する画像生成部と、
を備え、
前記位置決定部は、
前記決定済の順序に従って、前記複数個の組み合わせについて、前記探索処理を実行し、
前記複数個の組み合わせのうち、特定の組み合わせについて、前記配置位置を決定した場合に、前記複数個の組み合わせのうち、前記特定の組み合わせより前記決定済の順序が後の組み合わせについて、前記探索処理を実行しない、画像処理装置。
【請求項１０】
第１の対象画像を含む第１の画像を表す第１の画像データと、第２の対象画像を含む第２の画像を表す第２の画像データと、を取得する画像取得部と、
前記第１の対象画像の複数個の端のうちのいずれかの端と、前記第２の対象画像の複数個の端のうちのいずれかの端と、の複数個の組み合わせのそれぞれについて、組み合わせを構成する２個の端に沿う２個の端部画像のヒストグラムを生成するヒストグラム生成部と、
前記ヒストグラムを用いて、前記複数個の組み合わせのそれぞれについて、前記２個の端部画像のヒストグラムの類似度が基準以上であるか否かを判断する判断部と、
前記複数個の組み合わせのそれぞれについて、前記２個の端部画像の複雑さを示す特徴値を算出する算出部と、
前記複数個の組み合わせのうち、前記２個の端部画像のヒストグラムの前記類似度が前記基準以上である組み合わせについて、前記２個の端部画像の複雑さが高い順に、前記組み合わせに対する探索処理の順序を決定する順序決定部であって、前記探索処理は、前記第１の対象画像のいずれかの端に沿う端部画像と前記第２の対象画像のいずれかの端に沿う端部画像とを対応付ける位置を探索する処理である、前記順序決定部と、
前記探索処理を実行することによって、前記第１の対象画像と前記第２の対象画像との相対的な配置位置を決定する位置決定部と、
決定済の前記配置位置に前記第１の対象画像と前記第２の対象画像とが配置され、前記第１の対象画像と前記第２の対象画像とで１個の対象物を示す配置済画像を表す配置済画像データを生成する画像生成部と、
を備え、
前記位置決定部は、
前記決定済の順序に従って、前記複数個の組み合わせについて、前記探索処理を実行し、
前記複数個の組み合わせのうち、特定の組み合わせについて、前記配置位置を決定した場合に、前記複数個の組み合わせのうち、前記特定の組み合わせより前記決定済の順序が後の組み合わせについて、前記探索処理を実行しない、画像処理装置。
【請求項１１】
第１の対象画像を含む第１の画像を表す第１の画像データと、第２の対象画像を含む第２の画像を表す第２の画像データと、を取得する画像取得機能と、
前記第１の対象画像の第１方向の端と前記第１の画像の前記第１方向の端との間に含まれる第１の画素の個数が基準以上であるか否かを判断する第１の判断機能と、
前記第１の対象画像の前記第１方向と反対の第２方向の端と前記第１の画像の前記第２方向の端との間に含まれる連続する第２の画素の個数が基準以上であるか否かを判断する第２の判断機能と、
前記第１の対象画像の前記第１方向と前記第２方向のうちの一方の端に沿う端部画像と、前記第２の対象画像の前記第１方向と前記第２方向のうちの一方の端に沿う端部画像と、が重なる第１種の配置位置を探索する第１の探索処理を実行することによって、前記第１の対象画像と前記第２の対象画像との相対的な配置位置を決定する第１の位置決定機能と、
決定済の前記配置位置に前記第１の対象画像と前記第２の対象画像とが配置され、前記第１の対象画像と前記第２の対象画像とで１個の対象物を示す配置済画像を表す配置済画像データを生成する画像生成機能と、
をコンピュータに実現させ、
前記第１の位置決定機能は、
前記第１の画素の個数が基準未満である場合には、前記第１の対象画像の前記第１方向の端に沿う端部画像と、前記第２の対象画像の前記第１方向の端に沿う端部画像と前記第２の対象画像の前記第２方向の端に沿う端部画像とのうちの少なくとも一方と、を用いて前記第１の探索処理を実行し、
前記第１の画素の個数が基準以上である場合には、前記第１の対象画像の前記第１方向の端に沿う端部画像を用いずに前記第１の探索処理を実行し、
前記第２の画素の個数が基準未満である場合には、前記第１の対象画像の前記第２方向の端に沿う端部画像と、前記第２の対象画像の前記第１方向の端に沿う端部画像と前記第２の対象画像の前記第２方向の端に沿う端部画像とのうちの少なくとも一方と、を用いて前記第１の探索処理を実行し、
前記第２の画素の個数が基準以上である場合には、前記第１の対象画像の前記第２方向の端に沿う端部画像を用いずに前記第１の探索処理を実行する、コンピュータプログラム。
【請求項１２】
第１の対象画像を含む第１の画像を表す第１の画像データと、第２の対象画像を含む第２の画像を表す第２の画像データと、を取得する画像取得機能と、
前記第１の対象画像の複数個の端のうちのいずれかの端と、前記第２の対象画像の複数個の端のうちのいずれかの端と、の複数個の組み合わせのそれぞれについて、組み合わせを構成する２個の端に沿う２個の端部画像のヒストグラムを生成するヒストグラム生成機能と、
前記ヒストグラムを用いて、前記２個の端部画像のヒストグラムの類似度が高い順に、前記複数個の組み合わせに対する探索処理の順序を決定する順序決定機能であって、前記探索処理は、前記第１の対象画像のいずれかの端に沿う端部画像と前記第２の対象画像のいずれかの端に沿う端部画像とを対応付ける位置を探索する処理である、前記順序決定機能と、
前記探索処理を実行することによって、前記第１の対象画像と前記第２の対象画像との相対的な配置位置を決定する位置決定機能と、
決定済の前記配置位置に前記第１の対象画像と前記第２の対象画像とが配置され、前記第１の対象画像と前記第２の対象画像とで１個の対象物を示す配置済画像を表す配置済画像データを生成する画像生成機能と、
をコンピュータに実現させ、
前記位置決定機能は、
前記決定済の順序に従って、前記複数個の組み合わせについて、前記探索処理を実行し、
前記複数個の組み合わせのうち、特定の組み合わせについて、前記配置位置を決定した場合に、前記複数個の組み合わせのうち、前記特定の組み合わせより前記決定済の順序が後の組み合わせについて、前記探索処理を実行しない、コンピュータプログラム。
【請求項１３】
第１の対象画像を含む第１の画像を表す第１の画像データと、第２の対象画像を含む第２の画像を表す第２の画像データと、を取得する画像取得機能と、
前記第１の対象画像の複数個の端のうちのいずれかの端と、前記第２の対象画像の複数個の端のうちのいずれかの端と、の複数個の組み合わせのそれぞれについて、組み合わせを構成する２個の端に沿う２個の端部画像のヒストグラムを生成するヒストグラム生成機能と、
前記ヒストグラムを用いて、前記複数個の組み合わせのそれぞれについて、前記２個の端部画像のヒストグラムの類似度が基準以上であるか否かを判断する判断機能と、
前記複数個の組み合わせのそれぞれについて、前記２個の端部画像の複雑さを示す特徴値を算出する算出機能と、
前記複数個の組み合わせのうち、前記２個の端部画像のヒストグラムの前記類似度が前記基準以上である組み合わせについて、前記２個の端部画像の複雑さが高い順に、前記組み合わせに対する探索処理の順序を決定する順序決定機能であって、前記探索処理は、前記第１の対象画像のいずれかの端に沿う端部画像と前記第２の対象画像のいずれかの端に沿う端部画像とを対応付ける位置を探索する処理である、前記順序決定機能と、
前記探索処理を実行することによって、前記第１の対象画像と前記第２の対象画像との相対的な配置位置を決定する位置決定機能と、
決定済の前記配置位置に前記第１の対象画像と前記第２の対象画像とが配置され、前記第１の対象画像と前記第２の対象画像とで１個の対象物を示す配置済画像を表す配置済画像データを生成する画像生成機能と、
をコンピュータに実現させ、
前記位置決定機能は、
前記決定済の順序に従って、前記複数個の組み合わせについて、前記探索処理を実行し、
前記複数個の組み合わせのうち、特定の組み合わせについて、前記配置位置を決定した場合に、前記複数個の組み合わせのうち、前記特定の組み合わせより前記決定済の順序が後の組み合わせについて、前記探索処理を実行しない、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、第１の対象画像と第２の対象画像とが配置され、第１の対象画像と第２の対象画像とで１個の対象物を示す配置済画像を表す配置済画像データを生成する技術に関する。
【背景技術】
【０００２】
特許文献１には、繋ぎ合わせ処理を行う複数枚の原稿を順次にスキャンして得られる原稿データを用いて、スキャンされた複数個の原稿を繋ぎ合わせた画像を表す画像データを生成する技術が開示されている。この技術では、各原稿を繋ぎ合わせ得る複数個の辺の組み合わせについて、繋ぎ合わせ処理を実行して、特徴が一致した辺で原稿を繋ぎ合わせている。あるいは、この技術では、ユーザが原稿の繋ぎ合わせの手順を入力している場合には、その手順に従って、原稿の繋ぎ合わせを実行している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平６−１６４８９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記技術では、例えば、原稿の繋ぎ合わせの手順が入力されない場合には、繋ぎ合わせ得る複数個の辺の組み合わせについて、それぞれ、繋ぎ合わせ処理を実行するので、画像データを生成するための処理時間が過度に長くなる可能性があった。
【０００５】
本明細書は、第１の画像と第２の画像とが配置され、第１の対象画像と第２の対象画像とで１個の対象物を示す配置済画像を表す画像データを生成する際の処理時間を低減できる新たな技術を開示する。
【課題を解決するための手段】
【０００６】
本明細書に開示された技術は、以下の適用例として実現することが可能である。
【０００７】
［適用例１］第１の対象画像を含む第１の画像を表す第１の画像データと、第２の対象画像を含む第２の画像を表す第２の画像データと、を取得する画像取得部と、前記第１の対象画像の第１方向の端と前記第１の画像の前記第１方向の端との間に含まれる第１の画素の個数が基準以上であるか否かを判断する第１の判断部と、前記第１の対象画像の前記第１方向と反対の第２方向の端と前記第１の画像の前記第２方向の端との間に含まれる連続する第２の画素の個数が基準以上であるか否かを判断する第２の判断部と、前記第１の対象画像の前記第１方向と前記第２方向のうちの一方の端に沿う端部画像と、前記第２の対象画像の前記第１方向と前記第２方向のうちの一方の端に沿う端部画像と、が重なる第１種の配置位置を探索する第１の探索処理を実行することによって、前記第１の対象画像と前記第２の対象画像との相対的な配置位置を決定する第１の位置決定部と、決定済の前記配置位置に前記第１の対象画像と前記第２の対象画像とが配置され、前記第１の対象画像と前記第２の対象画像とで１個の対象物を示す配置済画像を表す配置済画像データを生成する画像生成部と、を備え、前記第１の位置決定部は、前記第１の画素の個数が基準未満である場合には、前記第１の対象画像の前記第１方向の端に沿う端部画像と、前記第２の対象画像の前記第１方向の端に沿う端部画像と前記第２の対象画像の前記第２方向の端に沿う端部画像とのうちの少なくとも一方と、を用いて前記第１の探索処理を実行し、前記第１の画素の個数が基準以上である場合には、前記第１の対象画像の前記第１方向の端に沿う端部画像を用いずに前記第１の探索処理を実行し、前記第２の画素の個数が基準未満である場合には、前記第１の対象画像の前記第２方向の端に沿う端部画像と、前記第２の対象画像の前記第１方向の端に沿う端部画像と前記第２の対象画像の前記第２方向の端に沿う端部画像とのうちの少なくとも一方と、を用いて前記第１の探索処理を実行し、前記第２の画素の個数が基準以上である場合には、前記第１の対象画像の前記第２方向の端に沿う端部画像を用いずに前記第１の探索処理を実行する、画像処理装置。
【０００８】
上記構成によれば、第１の画素の個数が基準以上である場合には、第１の対象画像の第１方向の端に沿う端部画像を用いずに第１の探索処理が実行され、第２の画素の個数が基準以上である場合には、第１の対象画像の第２方向の端に沿う端部画像を用いずに第１の探索処理が実行される。この結果、第１の探索処理の処理時間を低減できる。したがって、配置済画像を表す画像データを生成する際の処理時間を低減できる。
【０００９】
［適用例２］第１の対象画像を含む第１の画像を表す第１の画像データと、第２の対象画像を含む第２の画像を表す第２の画像データと、を取得する画像取得部と、前記第１の対象画像の複数個の端のうちのいずれかの端と、前記第２の対象画像の複数個の端のうちのいずれかの端と、の複数個の組み合わせのそれぞれについて、組み合わせを構成する２個の端に沿う２個の端部画像のヒストグラムを生成するヒストグラム生成部と、前記ヒストグラムを用いて、前記２個の端部画像のヒストグラムの類似度が高い順に、前記複数個の組み合わせに対する探索処理の順序を決定する順序決定部であって、前記探索処理は、前記第１の対象画像のいずれかの端に沿う端部画像と前記第２の対象画像のいずれかの端に沿う端部画像とを対応付ける位置を探索する処理である、前記順序決定部と、前記探索処理を実行することによって、前記第１の対象画像と前記第２の対象画像との相対的な配置位置を決定する位置決定部と、決定済の前記配置位置に前記第１の対象画像と前記第２の対象画像とが配置され、前記第１の対象画像と前記第２の対象画像とで１個の対象物を示す配置済画像を表す配置済画像データを生成する画像生成部と、を備え、前記位置決定部は、前記決定済の順序に従って、前記複数個の組み合わせについて、前記探索処理を実行し、前記複数個の組み合わせのうち、特定の組み合わせについて、前記配置位置を決定した場合に、前記複数個の組み合わせのうち、前記特定の組み合わせより前記決定済の順序が後の組み合わせについて、前記探索処理を実行しない、画像処理装置。
【００１０】
上記構成によれば、２個の端部画像のヒストグラムの類似度が高い組み合わせに対する探索処理の順序が先になるように決定された順序に従って、探索処理が実行され、特定の組み合わせについて配置位置が決定された場合に、複数個の組み合わせのうち、特定の組み合わせより決定済の順序が後の組み合わせについて、探索処理が実行されないので、第１の探索処理の処理時間を低減できる。したがって、配置済画像を表す画像データを生成する際の処理時間を低減できる。
【００１１】
なお、本発明は、種々の形態で実現することが可能であり、例えば、画像処理方法および画像処理装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体（例えば、一時的ではない記録媒体）、等の形態で実現することができる。
【図面の簡単な説明】
【００１２】
【図１】画像処理システムの構成を示すブロック図である。
【図２】画像処理システム１０００の動作を示すシーケンス図である。
【図３】原稿の一例を示す図である。
【図４】スキャンパターンＡの第１の説明図である。
【図５】スキャンパターンＡの第２の説明図である。
【図６】スキャン画像の一例を示す図である。
【図７】配置済画像の一例を示す図である。
【図８】余白量判定処理のフローチャートである。
【図９】第１実施例の処理対象決定処理のフローチャートである。
【図１０】第１実施例の配置位置決定処理のフローチャートである。
【図１１】第１の探索処理のフローチャートである。
【図１２】第１の探索処理の説明図である。
【図１３】スキャンパターンＢの説明図である。
【図１４】スキャンパターンＢで生成されるスキャン画像の一例を示す図である。
【図１５】第２の探索処理のフローチャートである。
【図１６】第２の探索処理の説明図である。
【図１７】画素復元処理のフローチャートである。
【図１８】図１６（Ａ）の参照範囲ＲＥｂ近傍の拡大図である。
【図１９】第２実施例の処理対象決定処理のフローチャートである。
【図２０】第２実施例の配置位置決定処理のフローチャートである。
【図２１】第３実施例の配置位置決定処理のフローチャートである。
【図２２】第３実施例の処理順序決定処理のフローチャートである。
【図２３】２個の端部画像のＲ成分のヒストグラムの一例を示す図である。
【図２４】第４実施例の配置順序決定処理のフローチャートである。
【発明を実施するための形態】
【００１３】
Ａ．第１実施例：
Ａ−１：画像処理システム１０００の構成
図１は、画像処理システムの構成を示すブロック図である。画像処理システム１０００は、画像処理装置としてのサーバ４００と、複合機２００と、を備えている。サーバ４００は、インターネット７０に接続されており、複合機２００は、ＬＡＮ（Local Area Networkの略称）８０を介して、インターネット７０に接続されている。この結果、サーバ４００と複合機２００は、ＬＡＮ８０とインターネット７０とを介して、通信可能である。また、ＬＡＮ８０には、ユーザの端末装置であるパーソナルコンピュータ５００が接続されていても良い。
【００１４】
サーバ４００は、サーバ４００のコントローラの一例としてのＣＰＵ４１０と、ＤＲＡＭなどの揮発性記憶装置４２０と、ハードディスクドライブやフラッシュメモリなどの不揮発性記憶装置４３０と、インターネット７０などのネットワークに接続するためのインタフェースを含む通信部４８０と、を備えている。揮発性記憶装置４２０には、ＣＰＵ４１０が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域４２１が設けられている。不揮発性記憶装置４３０には、コンピュータプログラム４３１と、ＵＩデータ群４３３と、が格納されている。
【００１５】
コンピュータプログラム４３１、および、ＵＩデータ群４３３は、例えば、サーバ４００の管理者によって、インターネット７０を介してサーバ４００にアップロードされることにより、サーバ４００にインストールされる。または、コンピュータプログラム４３１、および、ＵＩデータ群４３３は、例えば、ＤＶＤ−ＲＯＭなどに格納された形態で提供され、サーバ４００の管理者によって、サーバ４００にインストールされても良い。ＣＰＵ４１０は、コンピュータプログラム４３１を実行することにより、後述する画像処理を実現する。
【００１６】
複合機２００は、複合機２００のコントローラの一例としてのＣＰＵ２１０と、ＤＲＡＭなどの揮発性記憶装置２２０と、フラッシュメモリやハードディスクドライブなどの不揮発性記憶装置２３０と、プリンタ部２４０と、スキャナ部２５０と、タッチパネルやボタンなどの操作部２６０と、液晶ディスプレイなどの表示部２７０と、外部機器と通信を行う通信部２８０と、を備えている。例えば、通信部２８０は、ＬＡＮ８０などのネットワークに接続するためのインタフェースや、ＵＳＢメモリなどの外部記憶装置と接続するためのインタフェースを含んでいる。
【００１７】
揮発性記憶装置２２０には、ＣＰＵ２１０が処理を行う際に生成される種々のデータを一時的に格納するバッファ領域２２１が設けられている。不揮発性記憶装置２３０には、制御プログラム２３１が格納されている。制御プログラム２３１は、複合機２００の製造時に不揮発性記憶装置２３０に予め格納されて提供され得る。これに代えて、制御プログラム２３１は、例えば、インターネットを介して接続されたサーバからダウンロードされる形態、あるいは、ＣＤ−ＲＯＭなどに記録された形態で提供され得る。
【００１８】
プリンタ部２４０は、インクジェット方式やレーザー方式などの印刷方式を用いて印刷を実行する。スキャナ部２５０は、ＣＣＤやＣＭＯＳなどの光電変換素子を用いて光学的に原稿を読み取ることによってカラー画像やグレー画像を表すスキャンデータを生成する。スキャナ部２５０は、いわゆるフラットベッド式の後述する原稿台２５５を備えている。
【００１９】
ＣＰＵ２１０は、制御プログラム２３１を実行することにより、複合機２００の制御を実行する。例えば、ＣＰＵ２１０は、プリンタ部２４０やスキャナ部２５０を制御して、コピー処理、印刷処理、スキャン処理などを実行する。さらに、ＣＰＵ２１０は、サーバ４００にアクセスして、サーバ４００が提供するサービスを利用することができる。
【００２０】
Ａ−２：画像処理システム１０００の動作
図２は、画像処理システム１０００の動作を示すシーケンス図である。このシーケンス図の処理は、複合機２００が、サーバ４００が提供する画像生成サービスの利用指示を、ユーザから受け付けた場合に開始される。この画像生成サービスは、詳細は後述するが、複数個のスキャンデータによって表される複数個の画像が配置され、複数個の画像で１個の対象物（具体的には、後述する原稿１０）を示す配置済画像を表す配置済画像データを生成するサービスである。複数個のスキャンデータは、詳細は後述するが、例えば、１回で読み取り可能なサイズより大きなサイズの原稿を、複数回に分けて読み取ることによって生成される。
【００２１】
処理が開始されると、Ｓ５では、複合機２００のＣＰＵ２１０は、サービス開始要求を、サーバ４００に対して送信する。サーバ４００のＣＰＵ４１０は、サービス開始要求を受信すると、図１に示されるＵＩデータ群４３３から画像生成サービスの提供に必要なＵＩデータを選択し、Ｓ１０にて、該ＵＩデータを複合機２００に対して送信する。ＵＩデータは、具体的には、ユーザインタフェース画面（以下、ＵＩ画面とも呼ぶ）を表す画面データと、制御データと、を含む。この制御データは、例えば、ＵＩ画面を利用して複合機２００が後述するＳ１５のスキャン処理などの所定の処理を行うために必要な各種のデータを含む。例えば、制御データは、複合機２００が実行すべき処理を行うために必要な情報、例えば、画像ファイルの送信先アドレスなどを含む。複合機２００が実行すべき処理は、例えば、後述するＳ２０にて画像ファイルをサーバ４００へ送信する処理を含む。
【００２２】
Ｓ１５では、ＣＰＵ２１０は、受信したＵＩデータに基づいて、複数個のスキャンデータを生成するスキャン処理を実行する。スキャン処理では、ＣＰＵ２１０は、ユーザが用意した原稿を２回に分けて読み取ることによって、２個のスキャンデータを生成する。本実施例のスキャンデータは、例えば、０〜２５５の２５６階調の値で表されるＲＧＢの各成分の成分値を画素ごとに含むＲＧＢ画像データである。
【００２３】
図３は、原稿の一例を示す図である。この原稿１０のサイズは、本実施例では、Ａ３サイズである。線ＣＬは、Ａ３サイズの原稿１０の長手方向の中央部に位置し、原稿１０の短辺と平行な線である。左領域１０Ｌは、原稿１０の左側の半分の領域、すなわち、線ＣＬより左側の領域である。右領域１０Ｒは、原稿１０の右側の半分の領域、すなわち、原稿１０の線ＣＬより右側の領域である。左領域１０Ｌのサイズ、および、右領域１０Ｒのサイズは、Ａ４サイズである。なお、Ａ３サイズ、および、Ａ４サイズは、ＩＳＯ（International Organization for Standardizationの略）２１６で定められている紙の寸法である。
【００２４】
図３の符号１０Ｌ、１０Ｒが付された矢印は、領域１０Ｌ、１０Ｒの位置と向きを示す。すなわち、これらの矢印が配置された位置、および、これらの矢印が示す向きに、これらの領域１０Ｌ、１０Ｒが配置されていることを意味している。後述する図（例えば、図４）では、領域１０Ｌ、１０Ｒ内の画像の図示を省略して、符号付きの矢印のみで、これらの領域１０Ｌ、１０Ｒの位置および向きを図示する場合がある。
【００２５】
図４、図５は、スキャンパターンＡの説明図である。スキャナ部２５０の原稿台２５５（図４（Ａ）、図４（Ｂ））の長手方向の長さは、Ａ４サイズの長手方向の長さである２９７ｍｍより少しだけ（例えば、数センチ）長い。そして、原稿台の短手方向の長さは、ＡＮＳＩ／ＡＳＭＥ（American National Standards Institute／American Society of Mechanical Engineersの略）Ｙ１４．１で定められている紙の寸法であるレターサイズの短手方向の長さである２１５．９ｍｍより少しだけ（例えば、数センチ）長い。すなわち、本実施例では、１回で読み取ることができる原稿の最大サイズは、Ａ４サイズより大きくＡ３サイズより小さいサイズである。このために、本実施例では、２回に分けてＡ３サイズの原稿１０を読み取る。
【００２６】
第１実施例のスキャン処理は、図４、図５のスキャンパターンＡの方法で、２回の読み取りが実行されて、２個のスキャンデータが生成される。
【００２７】
（スキャンパターンＡ）
スキャンパターンＡでは、原稿１０は、折り曲げられることなく、原稿台２５５に配置される。スキャンパターンＡの２回の読み取りの一方では、図４に示すように、左領域１０Ｌと、右領域１０Ｒのうちの左領域１０Ｌと接する部分領域ＣＡＲと、を含む領域内の画像（以下、左側原稿画像ＡＩＬとも呼ぶ）が読み取られて、左側原稿画像ＡＩＬを示す左側スキャンデータが生成される。スキャンパターンＡの２回の読み取りの他方では、図５に示すように、右領域１０Ｒと、左領域１０Ｌのうちの右領域１０Ｒと接する部分領域ＣＡＬと、を含む領域内の画像（以下、右側原稿画像ＡＩＲとも呼ぶ）が読み取られて、右側原稿画像ＡＩＲを示す右側スキャンデータが生成される。左側原稿画像ＡＩＬと、右側原稿画像ＡＩＲと、のうちのいずれが先に読み取られるかは、ユーザ次第であり、複合機２００やサーバ４００は、いずれが先に読み取られたかを認識できない。
【００２８】
左側原稿画像ＡＩＬの読み取りには、図４（Ａ）、（Ｂ）に示す２種類の態様がある。いずれの態様が用いられるかは、ユーザ次第であり、複合機２００やサーバ４００は、用いられた態様を認識できない。態様１では、ユーザは、図４（Ａ）に示すように、原稿１０の画像が配置された原稿面が原稿台２５５側を向き、かつ、原稿面の左領域１０Ｌが奥側（図４（Ａ）の上側）に、原稿面の右領域１０Ｒが手前側（図４（Ａ）の下側）に位置するように、原稿１０を原稿台２５５上に配置する。このとき、原稿台２５５上に、左領域１０Ｌの全体が、原稿台２５５上に位置するように、原稿１０が配置されるので、右領域１０Ｒの少なくとも一部は、原稿台２５５より手前側にはみ出す。
【００２９】
態様２では、ユーザは、図４（Ｂ）に示すように、原稿１０の画像が配置された原稿面が原稿台２５５側を向き、かつ、原稿面の左領域１０Ｌが手前側（図４（Ｂ）の下側）に、原稿面の右領域１０Ｒが奥側（図４（Ｂ）の上側）に位置するように、原稿１０を原稿台２５５上に配置する。このとき、原稿台２５５上に、左領域１０Ｌの全体が、原稿台２５５上に位置するように、原稿１０が配置されるので、右領域１０Ｒの少なくとも一部は、原稿台２５５より奥側にはみ出す。
【００３０】
図４（Ｃ）〜（Ｆ）には、左側原稿画像ＡＩＬの読み取りの態様１、２で生成される左側スキャンデータによって表される左側スキャン画像の一例が示されている。これらの左側スキャン画像ＡＬａ〜ＡＬｄや、後述する右側スキャン画像ＡＲａ〜ＡＲｂは、原稿台２５５の形状に対応する矩形を有している。これらのスキャン画像は、原稿台２５５の長辺に沿った方向を縦方向とし、原稿台２５５の図４（Ａ）、（Ｂ）における左方向を上方向として、原稿台２５５上に配置された画像を表す。態様１における原稿台２５５に対する原稿１０の上方向（図４（Ａ）の矢印の方向）と、態様２における原稿台２５５に対する原稿１０の上方向（図４（Ｂ）の矢印の方向）とは、逆向きになる。このために、態様１で生成される左側スキャン画像ＡＬａ、ＡＬｂ（図４（Ｃ）、（Ｄ））内の左側原稿画像ＡＩＬと、態様２で生成される左側スキャン画像ＡＬｃ、ＡＬｄ（図４（Ｅ）、（Ｆ））内の左側原稿画像ＡＩＬとは、上下方向が逆になっている。
【００３１】
これらの左側スキャン画像ＡＬａ〜ＡＬｄでは、左右の端のうち、少なくとも原稿１０の中央近傍の部分領域ＣＡＲに対応する端に、余白ＭＧが現れない。これは、図４（Ａ）、（Ｂ）を参照して説明したように、読み取りの際に、原稿１０の右領域１０Ｒは、原稿台２５５の片側にはみ出すからである。
【００３２】
左側スキャン画像ＡＬａ〜ＡＬｄでは、左右の端のうち、原稿１０の左端に対応する端に、余白ＭＧが現れる場合と、余白ＭＧが現れない場合と、がある。例えば、態様１（図４（Ａ））では、原稿１０の左端（図４（Ａ）の上端）と、原稿台２５５の対応する端（図４（Ａ）の上端）と、の間に、隙間がない場合には、図４（Ｃ）の左側スキャン画像ＡＬａのように、原稿１０の左端に対応する端に余白ＭＧが現れない。一方、当該隙間がある場合には、図４（Ｄ）の左側スキャン画像ＡＬｂのように、原稿１０の左端に対応する端に余白ＭＧが現れる。態様２（図４（Ｂ））でも、図４（Ｅ）、（Ｆ）に示すように、同様である。
【００３３】
右側原稿画像ＡＩＲの読み取りには、左側原稿画像ＡＩＬと同様に、図５（Ａ）、（Ｂ）に示す２種類の態様がある。いずれの態様が用いられるかは、ユーザ次第であり、複合機２００やサーバ４００は、用いられた態様を認識できない。右側原稿画像ＡＩＲの態様１では、図５（Ａ）に示すように、左側原稿画像ＡＩＬの態様１（図４（Ａ））と同様の向きで、原稿１０が原稿台２５５上に配置される。このとき、原稿台２５５上に、右領域１０Ｒの全体が、原稿台２５５上に位置するように、原稿１０が配置されるので、左領域１０Ｌの少なくとも一部は、原稿台２５５より奥側にはみ出す。
【００３４】
右側原稿画像ＡＩＲの態様２では、右側原稿画像ＡＩＲの態様２では、図５（Ｂ）に示すように、左側原稿画像ＡＩＬの態様２（図４（Ｂ））と同様の向きで、原稿１０が原稿台２５５上に配置される。このとき、原稿台２５５上に、右領域１０Ｒの全体が、原稿台２５５上に位置するように、原稿１０が配置されるので、左領域１０Ｌの少なくとも一部は、原稿台２５５より手前側にはみ出す。
【００３５】
図５（Ｃ）〜（Ｆ）には、右側原稿画像ＡＩＲの読み取りの態様１、２で生成される右側スキャンデータによって表される右側スキャン画像の一例が示されている。上述した左側スキャン画像ＡＬａ〜ＡＬｄと同様に、態様１で生成される右側スキャン画像ＡＲａ、ＡＲｂ（図５（Ｃ）、（Ｄ））内の右側原稿画像ＡＩＲと、態様２で生成される右側スキャン画像ＡＲｃ、ＡＲｄ（図５（Ｅ）、（Ｆ））内の右側原稿画像ＡＩＲとは、上下方向が逆になっている。また、上述した左側スキャン画像ＡＬａ〜ＡＬｄと同様に、右側スキャン画像ＡＲａ〜ＡＲｄでは、左右の端のうち、少なくとも原稿１０の中央近傍の部分領域ＣＡＬに対応する端に、余白ＭＧが現れず、原稿１０の右端に対応する端に、余白ＭＧが現れる場合と、余白ＭＧが現れない場合と、がある。
【００３６】
以上の説明から解るように、スキャンパターンＡで生成されるスキャン画像（左側スキャン画像ＡＬ、または、右側スキャン画像ＡＲ）は、左右の両端に余白がない両側余白無画像（例えば、図４（Ｃ）、（Ｅ）の画像ＡＬａ、ＡＬｃ、および、図５（Ｃ）、（Ｅ）の画像ＡＲａ、ＡＲｃ）と、左右の端のうちの一方の端に余白ＭＧがなく、他方の端に余白ＭＧがある片側余白有画像（例えば、図４（Ｄ）、（Ｆ）の画像ＡＬｂ、ＡＬｄ、および、図５（Ｄ）、（Ｆ）の画像ＡＲｂ、ＡＲｄ）と、のいずれかである。
【００３７】
図２のＳ１５で１回目の読み取りで生成されるスキャンデータを第１スキャンデータと呼び、２回目の読み取りで生成されるスキャンデータを第２スキャンデータである。上記説明から解るように、第１スキャンデータは、左側スキャンデータと右側スキャンデータとのうちの一方であり、第２スキャンデータは、左側スキャンデータと右側スキャンデータとのうちの他方である。Ｓ１５のスキャン処理において、第１スキャンデータ、および、第２スキャンデータは、それぞれ、所定のフォーマットのファイル、例えば、ＪＰＥＧ（Joint Photographic Experts Groupの略）フォーマットの画像ファイルに変換される。
【００３８】
図２のＳ２０では、ＣＰＵ２１０は、第１スキャンデータの画像ファイル（第１画像ファイルとも呼ぶ）と、第２スキャンデータの画像ファイル（第２画像ファイルとも呼ぶ）と、をサーバ４００に対して送信する。この結果、Ｓ２５にて、サーバ４００のＣＰＵ４１０は、これらの２個の画像ファイルを取得する。ＣＰＵ４１０は、これらの画像ファイルから第１スキャンデータおよび第２スキャンデータ取得して、バッファ領域４２１に格納する。例えば、ＪＰＥＧ形式の画像ファイルが用いられる場合には、画像ファイルから、所定の変換処理によって、ＲＧＢ画像データに変換されたスキャンデータが取得されて、バッファ領域４２１に格納される。
【００３９】
図６は、取得される第１、第２スキャンデータによって表される第１、第２スキャン画像の一例を示す図である。この例では、図６（Ａ）の第１スキャン画像Ｉ１１は、図４（Ａ）の態様１によって生成された左側スキャン画像であり、図６（Ｂ）の第２スキャン画像Ｉ２１は、図５（Ｂ）の態様２によって生成された右側スキャン画像である。したがって、第１スキャン画像Ｉ１１は、左側原稿画像ＡＩＬと、左側原稿画像ＡＩＬより外側の余白ＭＧと、を含む。第２スキャン画像Ｉ２１は、右側原稿画像ＡＩＲと、右側原稿画像ＡＩＲより外側の余白ＭＧと、を含む。余白ＭＧは、原稿台２５５を読み取った領域であるので、原稿台２５５の色を示す値（ＲＧＢ値）有している。余白ＭＧの色は、本実施例では、白色であるが、黒色であっても良いし、グレーであっても良い。スキャン画像Ｉ１１、Ｉ２１において、原稿画像ＡＩＬ、ＡＩＲが傾いているのは、スキャンデータの生成時に、原稿台２５５に配置された原稿１０が傾いていたためである。
【００４０】
Ｓ３０では、ＣＰＵ４１０は、第１スキャンデータと第２スキャンデータとに対して、それぞれ、傾き補正処理を実行する。具体的には、ＣＰＵ４１０は、処理対象のスキャンデータに対してハフ変換やエッジ検出処理などの公知の処理を実行して、スキャン画像（Ｉ１１またはＩ２１）内の原稿画像（ＡＩＬまたはＡＩＲ）の上端を検出する。ＣＰＵ４１０は、原稿画像（ＡＩＬまたはＡＩＲ）の上端と、スキャン画像（Ｉ１１またはＩ２１）の上端と、が、平行になるように、スキャン画像（Ｉ１１またはＩ２１）を回転して、補正済のスキャン画像を表す補正済のスキャンデータを生成する。ここで、検出すべき原稿画像の端は、上端に代えて、下端でも良いが、右端や左端でないことが好ましい。これは、スキャン画像（Ｉ１１またはＩ１２）内の原稿画像（ＡＩＬまたはＡＩＲ）の左右の端の一方は、原稿１０の端を表していないからである。
【００４１】
後述する余白量判定処理では、縦方向のラインごとに余白ラインを判断するので、このように予め傾き補正を実行することによって、処理対象のスキャン画像内で原稿画像が傾いている場合であっても、後の余白量判定処理によって、余白量が基準量以上であるか否かを精度良く判断することができる。
【００４２】
図６（Ｂ）には、補正済の第１スキャン画像Ｉ１２および第２スキャン画像Ｉ２２が示されている。補正済のスキャン画像Ｉ１２、Ｉ２２には、原稿画像（ＡＩＬまたはＡＩＲ）および余白ＭＧの外側に、追加画素によって構成される追加領域ＡＡが追加されている。これは、処理の便宜上、補正済のスキャン画像Ｉ１２、Ｉ２２を、上下の端が横方向と平行で、かつ、左右の端が上下方向と平行な矩形の画像として扱うためである。ＣＰＵ４１０は、追加領域ＡＡを、他の領域と区別して特定できるように、追加領域ＡＡ内の画素と、他の領域内の画素と、を二値化したマスク画像（図示省略）を生成して、バッファ領域４２１に保存する。以下では、傾き補正処理済の第１、第２スキャンデータを、単に、第１スキャンデータ、第２スキャンデータとも呼ぶ。
【００４３】
図２のＳ３５では、ＣＰＵ４１０は、第１スキャン画像Ｉ１２の右端の余白量判定処理を実行する。Ｓ４０では、ＣＰＵ４１０は、第１スキャン画像Ｉ１２の左端の余白量判定処理を実行する。Ｓ４５では、ＣＰＵ４１０は、第２スキャン画像Ｉ２２の右端の余白量判定処理を実行する。Ｓ５０では、ＣＰＵ４１０は、第２スキャン画像Ｉ２２の左端の余白量判定処理を実行する。これらの余白量判定処理は、処理対象のスキャン画像の処理対象の端の余白量（右端または左端の余白量）が基準以上であるか否かを判定する処理である。具体的には、図６（Ｂ）のスキャン画像Ｉ１２、Ｉ２２のうちの処理対象のスキャン画像内の原稿画像（ＡＩＬまたはＡＩＲ）の処理対象の端（右端または左端）から該スキャン画像の処理対象の端までの間の余白量が基準以上であるか否かが所定の判定条件に基づいて判定される。余白量判定処理については、後述する。
【００４４】
図２のＳ５５では、ＣＰＵ２１０は、処理対象決定処理を実行する。処理対象決定処理は、第１スキャン画像Ｉ１２の内の原稿画像の左端ＬＴ１と右端ＲＴ１とから選択される第１端と、第２スキャン画像Ｉ２２内の原稿画像の左端ＬＴ２と右端ＲＴ２とから選択される第２端と、の複数個の組み合わせのうち、続くＳ６５の配置位置決定処理において配置位置を決定するための探索処理（後述）の処理対象とすべき２端の組み合わせを、決定する処理である。図６（Ｂ）のスキャン画像Ｉ１２、Ｉ２２の例では、第１スキャン画像Ｉ１２内の原稿画像の右端ＲＴ１と、第２スキャン画像Ｉ２２内の原稿画像の左端ＬＴ２と、を接合することで、原稿１０を再現できることは明らかである。しかしながら、実際には、第１スキャン画像Ｉ１２と第２スキャン画像Ｉ２２との一方は、図４（Ｃ）〜（Ｆ）の左側スキャン画像ＡＬａ〜ＡＬｄのいずれかである可能性があり、他方は、図５（Ｃ）〜（Ｆ）の右側スキャン画像ＡＲａ〜ＡＲｄのいずれかである可能性がある。したがって、第１スキャン画像Ｉ１２内の原稿画像の左端ＬＴ１と右端ＲＴ１とのうちのいずれの端と、第２スキャン画像Ｉ２２内の原稿画像の左端ＬＴ２と右端ＲＴ２とのうちのいずれの端と、の組み合わせで、端部を接合することが、原稿１０を再現するために適切であるかを、ＣＰＵ４１０は、この段階では、認識できない。処理対象決定処理では、Ｓ３５〜Ｓ５０の余白量判定処理の結果を用いて、処理対象とすべき２端の組み合わせを、決定する。処理対象決定処理については、後述する。
【００４５】
Ｓ６５では、ＣＰＵ４１０は、配置位置決定処理を実行する。配置位置決定処理は、第１種の配置位置を決定するための第１の探索処理（後述）を実行して、原稿１０を適切に表すことができる２個の原稿画像ＡＩＬ、ＡＩＲの相対的な位置を決定する処理である。第１種の配置位置は、左側原稿画像ＡＩＬの一部と、右側原稿画像ＢＩＲの一部と、が重なる相対的な位置である。配置位置決定処理は、処理対象決定処理の結果を用いて実行される。配置位置決定処理については、後述する。
【００４６】
Ｓ７０では、ＣＰＵ４１０は、配置済画像生成処理を実行する。配置済画像生成処理では、第１スキャンデータと第２スキャンデータとを用いて、左側原稿画像ＡＩＬと、右側原稿画像ＡＩＲと、が配置された配置済画像を表す配置済画像データが生成される。配置済画像において、右側原稿画像ＡＩＲと左側原稿画像ＡＩＬは、配置位置決定処理にて決定済の相対的な位置に配置される。この結果、２個の原稿画像ＡＩＬ、ＡＩＲで、図３の原稿１０を示す１個の配置済画像を表す配置済画像データが生成される。
【００４７】
図７は、配置済画像の一例を示す図である。図７の配置済画像ＯＩＡでは、配置位置決定処理によって決定される上述した第１種の配置位置に、スキャン画像Ｉ１２、Ｉ２２内の原稿画像ＡＩＬ、ＡＩＲが配置される。
【００４８】
配置済画像ＯＩＡにおいて、左側原稿画像ＡＩＬと右側原稿画像ＡＩＲとが互いに重なり合う領域内の画素の値（すなわち、ＲＧＢ値）には、一方の原稿画像、例えば、右側原稿画像ＡＩＲ内の画素の値が優先的に採用される。配置済画像ＯＩＡにおいて原稿１０を表す領域内に、スキャン画像Ｉ１２、Ｉ２２の追加領域ＡＡ内の追加画素が配置されないように、追加画素は、配置済画像生成処理において適宜に削除される。
【００４９】
なお、ＣＰＵ４１０は、生成された配置済画像データを所定の形式の画像ファイルに変換することによって、配置済画像を表す配置済画像ファイルを生成する。例えば、ＲＧＢ画像データである配置済画像データが、ＪＰＥＧ圧縮されることによって、ＪＰＥＧ形式の配置済画像ファイルが生成される。なお、変形例では、配置済画像データから、ＰＤＦ形式の配置済画像ファイルが生成されてもよい。
【００５０】
図２のＳ７５では、ＣＰＵ４１０は、生成された配置済画像ファイルを複合機２００に対して送信する。複合機２００のＣＰＵ２１０は、配置済画像ファイルを受信すると、受信した配置済画像ファイルを不揮発性記憶装置２３０に格納するとともに、ユーザに配置済画像ファイルを受信したことを通知する。配置済画像ファイルは、ユーザの利用に供される。例えば、複合機２００は、ユーザの指示に基づいて、配置済画像ファイルを用いて、配置済画像ＯＩＡを印刷することができる。
【００５１】
なお、図２に破線で示すＳ６０の処理順序決定処理は、第１実施例では、実行されない。理順序決定処理は、第３、第４実施例にて実行されるので、第３、第４実施例にて説明する。
【００５２】
Ａ−３．余白量判定処理：
Ｓ３５〜Ｓ５０の４個の余白量判定処理について説明する。４個の余白量判定処理は、処理対象のスキャン画像と、処理対象の端と、が異なることを除いて、同一の処理である。
【００５３】
図８は、余白量判定処理のフローチャートである。Ｓ１００では、ＣＰＵ４１０は、処理開始位置ＳＴＰを決定する。処理開始位置ＳＴＰは、処理対象のスキャン画像の横方向の特定の位置である。処理開始位置ＳＴＰは、処理対象のスキャン画像の処理対象の端の近傍、本実施例では、図６（Ｂ）のスキャン画像Ｉ１２、Ｉ２２の右端や左端の近傍に決定される。具体的には、処理対象のスキャン画像が第１スキャン画像Ｉ１２であり、処理対象の端が右端である場合には、処理開始位置ＳＴＰは、図６（Ｂ）に示すように、傾き補正前のスキャン画像Ｉ１１の右上および右下の頂点のうち、傾き補正済の第１スキャン画像Ｉ１２の右端から離れている頂点の横方向の位置に決定される。また、処理対象のスキャン画像が第２スキャン画像Ｉ２２であり、処理対象の端が左端である場合には、処理開始位置ＳＴＰは、図６（Ｂ）に示すように、傾き補正前のスキャン画像Ｉ２１の左上および左下の頂点のうち、傾き補正済の第２スキャン画像Ｉ２２の左端から離れている頂点の横方向の位置に決定される。
【００５４】
Ｓ１０５では、ＣＰＵ４１０は、スキャン画像内の複数本の縦方向の画素のラインの中から、１本の注目ラインを選択する。複数本の縦方向の画素のラインは、横方向の位置が互いに等しく、縦方向に沿って並ぶ複数個の画素をそれぞれ含む。最初の注目ラインは、処理開始位置ＳＴＰの画素のラインである。注目ラインは、処理開始位置ＳＴＰから、スキャン画像の処理対象の端から離れる方向、すなわち、処理対象の端が右端である場合には左方向に向かって、処理対象の端が左端である場合には右方向に向かって順次に選択される。
【００５５】
Ｓ１１０では、ＣＰＵ４１０は、注目ラインに含まれる複数個の画素から、１個の注目画素を選択する。注目画素は、注目ラインの上端から下端に向かって１個ずつ順次に選択される。
【００５６】
Ｓ１１５では、ＣＰＵ４１０は、注目画素が、余白が有するべき特定色を有する特定色画素であるか否かを判断する。余白が有するべき特定色は、原稿台２５５の色であり、本実施例では、白である。ＣＰＵ４１０は、注目画素が、特定色を示す所定範囲内の画素の値（ＲＧＢ値）を有する場合には、注目画素が特定色画素であると判断し、特定色を示す範囲外の画素の値を有する場合には、注目画素が特定色とは異なる色を有する非特定色画素であると判断する。
【００５７】
注目画素が特定色画素である場合には（Ｓ１１５：ＹＥＳ）、ＣＰＵ４１０は、Ｓ１２０にて、画素カウンタＷＣに１を加算する。画素カウンタＷＣは、縦方向に連続する特定色画素の個数をカウントするためのカウンタである。Ｓ１２５では、ＣＰＵ４１０は、ノイズカウンタＮＣを初期化する、すなわち、初期値「０」にする。ノイズカウンタＮＣは、縦方向に連続する非特定色画素の個数をカウントするためのカウンタである。
【００５８】
注目画素が非特定色画素である場合には（Ｓ１１５：ＮＯ）、ＣＰＵ４１０は、Ｓ１３０にて、ノイズカウンタＮＣに１を加算する。Ｓ１３５では、ＣＰＵ４１０は、ノイズカウンタＮＣが所定の閾値ＴＨｎ以上であるか否かを判断する。閾値ＴＨｎは、例えば、２〜５個である。
【００５９】
ノイズカウンタＮＣが所定の閾値ＴＨｎ以上である場合には（Ｓ１３５：ＹＥＳ）、ＣＰＵ４１０は、Ｓ１４０にて、現在の画素カウンタＷＣが、現在の最大連続数ＷＣｍより大きいか否かを判断する。画素カウンタＷＣが、最大連続数ＷＣｍより大きい場合には（Ｓ１４０：ＹＥＳ）、ＣＰＵ４１０は、Ｓ１４５にて、最大連続数ＷＣｍの値を、画素カウンタＷＣの値に更新して、Ｓ１５０に処理を進める。画素カウンタＷＣが、最大連続数ＷＣｍ未満である場合には（Ｓ１４０：ＮＯ）、ＣＰＵ４１０は、Ｓ１４５をスキップして、Ｓ１５０に処理を進める。Ｓ１５０では、ＣＰＵ４１０は、画素カウンタＷＣの値を初期化する。
【００６０】
ノイズカウンタＮＣが所定の閾値ＴＨｎ未満である場合には（Ｓ１３５：ＮＯ）、ＣＰＵ４１０は、上述のＳ１４０〜Ｓ１５０をスキップして、Ｓ１５５に処理を進める。
【００６１】
Ｓ１５５では、注目ラインの全ての画素を注目画素として処理したか否かを判断する。未処理の画素がある場合には（Ｓ１５５：ＮＯ）、ＣＰＵ４１０は、Ｓ１１０に戻って、未処理の画素を注目画素として選択する。全ての画素が処理された場合には（Ｓ１５５：ＹＥＳ）、ＣＰＵ４１０は、上述したＳ１４０、Ｓ１４５と同様の処理を実行する。すなわち、Ｓ１６０にて、現在の画素カウンタＷＣが、現在の最大連続数ＷＣｍより大きいか否かが判断され、画素カウンタＷＣが最大連続数ＷＣｍより大きい場合には（Ｓ１６０：ＹＥＳ）、Ｓ１６５にて、最大連続数ＷＣｍの値が画素カウンタＷＣの値に更新される。そして、画素カウンタＷＣが最大連続数ＷＣｍ未満である場合には（Ｓ１６０：ＮＯ）、Ｓ１６５はスキップされる。
【００６２】
Ｓ１７０に処理が進んだ時点での最大連続数ＷＣｍは、注目ラインにおいて、縦方向に連続する特定色画素の個数の最大値を示している。なお、上述の説明から解るように、一の特定色画素と他の特定色画素とが実際に縦方向に連続している場合だけでなく、一の特定色画素と他の特定色画素との間に、閾値ＴＨｎ未満の非特定色画素が存在する場合であっても、当該一の特定色画素と他の特定色画素とは縦方向に連続していると判断される。これは、スキャン画像の余白部分には、様々な原因、例えば、スキャナ部２５０のイメージセンサの特性や原稿台２５５の汚れなどに起因して、非特定色画素が、ノイズとして含まれ得るからである。換言すれば、本実施例では、一の特定色画素と他の特定色画素との間に閾値ＴＨｎ以上の非特定色画素が存在しないことが、注目ライン内の一の特定色画素と他の特定色画素とが縦方向に連続すると判断するための連続条件である、と言うことができる。変形例としては、連続条件は、特定色画素が実際に縦方向に連続していることであっても良い。
【００６３】
Ｓ１７０では、ＣＰＵ４１０は、最大連続数ＷＣｍが閾値ＴＨｍ以上であるか否かを判断する。閾値ＴＨｍは、例えば、処理対象のスキャン画像の縦方向の画素数の５０％の値に設定される。最大連続数ＷＣｍが閾値ＴＨｍ以上である場合には、注目ラインは余白を構成する余白ラインであると、判断することができる。このために、最大連続数ＷＣｍが閾値ＴＨｍ以上である場合には（Ｓ１７０：ＹＥＳ）、ＣＰＵ４１０は、Ｓ１７５にて、余白ラインの本数をカウントするための余白カウンタＷＬに１を加算する。
【００６４】
最大連続数ＷＣｍが閾値ＴＨｍ未満である場合には、注目ラインは余白を構成する余白ラインではなく、原稿画像の右端を構成するラインであると、判断することができる。このために、最大連続数ＷＣｍが閾値ＴＨｍ未満である場合には（Ｓ１７０：ＮＯ）、ＣＰＵ４１０は、Ｓ１９０にて、現在の余白カウンタＷＬの値を、処理対象のスキャン画像の余白ライン数ＷＬＮとして決定して、Ｓ１９５に処理を進める。余白ライン数ＷＬＮは、スキャン画像の右側の余白の横方向の長さを示す指標値である。
【００６５】
Ｓ１８０では、ＣＰＵ４１０は、処理対象のスキャン画像内の全てのラインを注目ラインとして処理したか否かを判断する。通常は、注目ラインが原稿画像の右端に達した時点で、上述したＳ１９０を経由して余白量判定処理は終了される。したがって、全てのラインが処理されることは、例えば、処理対象のスキャン画像に原稿画像が含まれていない場合などのイレギュラーな場合を除いて、発生しない。スキャン画像内に未処理のラインがある場合には（Ｓ１８０：ＮＯ）、ＣＰＵ４１０は、Ｓ１８５にて、画素カウンタＷＣ、ノイズカウンタＮＣ、最大連続数ＷＣｍを初期化した後に、Ｓ１０５に戻って、現在の注目ラインの次の注目ラインを選択する。次の注目ラインは、処理対象の端が右端である場合には、現在の注目ラインの左側に隣接するラインであり、処理対象の端が左端である場合には、現在の注目ラインの右側に隣接するラインである。スキャン画像内の全てのラインを処理した場合には（Ｓ１８０：ＹＥＳ）、ＣＰＵ４１０は、Ｓ１９０にて、現在の余白カウンタＷＬの値を、処理対象のスキャン画像の余白ライン数ＷＬＮとして決定して、Ｓ１９５に処理を進める。
【００６６】
Ｓ１９５では、ＣＰＵ４１０は、余白ライン数ＷＬＮが閾値ＴＨｗ以上であるか否かを判断する。余白ライン数ＷＬＮが閾値ＴＨｗ以上である場合に（Ｓ１９５：ＹＥＳ）、ＣＰＵ４１０は、Ｓ１９７にて、処理対象のスキャン画像の余白量は基準以上であると判定して、余白量判定処理を終了する。余白ライン数ＷＬＮが閾値ＴＨｗ未満である場合に（Ｓ１９５：ＮＯ）、ＣＰＵ４１０は、Ｓ１９８にて、処理対象のスキャン画像の余白量は基準未満であると判定して、余白量判定処理を終了する。閾値ＴＨｗは、例えば、処理対象のスキャン画像の横方向の解像度が３００ｄｐｉである場合に、２０本である。
【００６７】
以上説明した余白量判定処理によれば、ＣＰＵ４１０は、画素の値が特定の判定条件を満たす画素、具体的には、画素の値が特定色を示す所定範囲内にある画素を、特定色画素であると判定し（Ｓ１１５）、縦方向に特定色画素が連続することを示す連続条件を満たす特定色画素の個数、すなわち、最大連続数ＷＣｍを、算出する（Ｓ１２０〜Ｓ１６５）。そして、ＣＰＵ４１０は、最大連続数ＷＣｍを用いて、余白量が基準以上であるか否かを判断する（Ｓ１７０〜Ｓ１９８）。この結果、余白量が基準以上であるか否かを適切に判断できる。余白は、連続する特定色画素によって構成されると考えられるからである。
【００６８】
具体的には、ＣＰＵ４１０は、縦方向の複数個のラインのうち、最大連続数ＷＣｍが閾値ＴＨｍ以上であり、かつ、処理対象のスキャン画像内の原稿画像の処理対象の端（右端または左端）と、該スキャン画像の処理対象の端と、の間に位置する余白ラインの本数を示す余白ライン数ＷＬＮを算出し（Ｓ１７０〜Ｓ１９０）、余白ライン数ＷＬＮを用いて、余白量が基準以上であるか否かを判断する。
【００６９】
以上のように、本実施例の余白量判定処理では、縦方向に連続する比較的多くの特定色画素を含む余白ラインが横方向に連続する本数である余白ライン数ＷＬＮが閾値ＴＨｗ以上であるか否かを判定条件として、余白量が基準以上であることを判断している。この判定条件は、原稿画像の右端と該スキャン画像の右端との間に含まれる縦方向や横方向に連続する複数個の特定色画素の個数が基準以上であることを示す条件である、と言うことができる。
【００７０】
処理対象のスキャン画像が、両側余白無画像（例えば、図４（Ｃ）、（Ｅ）の画像ＡＬａ、ＡＬｃ、および、図５（Ｃ）、（Ｅ）の画像ＡＲａ、ＡＲｃ）である場合には、該スキャン画像の左端の余白量と右端の余白量とは、いずれも基準未満であると判断される。処理対象のスキャン画像が、片側余白無画像（例えば、図４（Ｄ）、（Ｆ）の画像ＡＬｂ、ＡＬｄ、および、図５（Ｄ）、（Ｆ）の画像ＡＲｂ、ＡＲｄ）である場合には、該スキャン画像の左右の端のうち一端は、余白量が基準未満であると判断され、他端は、余白量が基準以上であると判断される。
【００７１】
Ａ−４．処理対象決定処理：
図２のＳ５５の処理対象決定処理について説明する。図９は、第１実施例の処理対象決定処理のフローチャートである。Ｓ２０５では、ＣＰＵ４１０は、以下の（１）〜（４）の４個の２端の組み合わせの中から、注目する２端の組み合わせを選択する。
（１）第１スキャン画像Ｉ１２内の原稿画像の左端ＬＴ１と、第２スキャン画像Ｉ２２内の原稿画像の左端ＬＴ２
（２）第１スキャン画像Ｉ１２内の原稿画像の左端ＬＴ１と、第２スキャン画像Ｉ２２内の原稿画像の右端ＲＴ２
（３）第１スキャン画像Ｉ１２内の原稿画像の右端ＲＴ１と、第２スキャン画像Ｉ２２内の原稿画像の左端ＬＴ２
（４）第１スキャン画像Ｉ１２内の原稿画像の右端ＲＴ１と、第２スキャン画像Ｉ２２内の原稿画像の右端ＲＴ２
これらの２端の組み合わせのいずれ１個を構成する２端で、２個のスキャン画像Ｉ１２、Ｉ２２を接合することで、原稿１０を適切に再現することができる。
【００７２】
Ｓ２１０では、ＣＰＵ４１０は、注目する２端の組み合わせを構成する２端の余白量は、両方とも基準未満であるか否かを判断する。２端の余白量が基準以上であるか、基準未満であるかは、図２のＳ３５〜Ｓ５０の余白量判定処理にて決定済である。
【００７３】
２端の余白量が両方とも基準未満である場合には（Ｓ２１０：ＹＥＳ）、Ｓ２１５にて、ＣＰＵ４１０は、注目する２端の組み合わせは、第１の探索処理の処理対象であると決定する。第１の探索処理については、後述するが、処理対象の２端の組み合わせを構成する第１スキャン画像Ｉ１２の一端に沿う端部画像と、処理対象の２端の組み合わせを構成する第２スキャン画像Ｉ２２の一端に沿う端部画像と、が重なる第１種の配置位置を探索する処理である。原稿１０を適切に再現するために接合すべき端は、図３の原稿１０の中央部ＣＡ、すなわち、部分領域ＣＡＬまたは部分領域ＣＡＲに対応する端であるので、スキャン画像Ｉ１２、Ｉ２２において余白がほとんどない端であるからである。
【００７４】
２端の余白量のうち、少なくとも一方が基準以上である場合には（Ｓ２１０：ＮＯ）、Ｓ２２０にて、ＣＰＵ４１０は、注目する２端の組み合わせは、第１の探索処理の処理対象でないと、決定する。スキャン画像Ｉ１２、Ｉ２２においてある程度の余白が存在する端は、原稿１０を適切に再現するために接合すべき端ではないからである。
【００７５】
Ｓ２２５では、全ての２端の組み合わせを注目する２端の組み合わせとして選択したか否かを判断する。未選択の２端の組み合わせがある場合には（Ｓ２２５：ＮＯ）、ＣＰＵ４１０は、Ｓ２０５に戻って、当該２端の組み合わせを、注目する２端の組み合わせとして選択する。全ての２端の組み合わせが選択済である場合には（Ｓ２２５：ＹＥＳ）、処理対象決定処理を終了する。
【００７６】
以上説明した処理対象決定処理では、第１スキャン画像Ｉ１２と第２スキャン画像Ｉ２２との両方が、両側余白無画像である場合には、上述した（１）〜（４）の全ての２端の組み合わせが第１の探索処理の処理対象であると決定される。
【００７７】
第１スキャン画像Ｉ１２と第２スキャン画像Ｉ２２とのうちの一方が、片側余白無画像であり、他方が両側余白無画像である場合には、片側余白無画像の左右の端のうち、余白量が基準未満である端を含む２端の組み合わせが、第１の探索処理の処理対象であると決定され、余白量が基準以上である端を含む２端の組み合わせが、第１の探索処理の処理対象でないと決定される。例えば、第１スキャン画像Ｉ１２が、図４（Ｆ）の片側余白無画像ＡＬｄであり、第２スキャン画像Ｉ２２が、図５（Ｃ）の両側余白無画像ＡＲａである場合には、上述した（１）、（２）の２端の組み合わせが、第１の探索処理の処理対象であると決定され、（２）、（４）の２端の組み合わせが、第１の探索処理の処理対象でないと決定される。
【００７８】
第１スキャン画像Ｉ１２と第２スキャン画像Ｉ２２との両方が、片側余白無画像である場合には、一方の片側余白無画像の余白量が基準未満である端と、他方の片側余白無画像の余白量が基準未満である端と、から構成される２端の組み合わせが、第１の探索処理の処理対象であると決定され、それ以外の２端の組み合わせが、第１の探索処理の処理対象でないと決定される。例えば、第１スキャン画像Ｉ１２が、図４（Ｆ）の片側余白無画像ＡＬｄであり、第２スキャン画像Ｉ２２が、図５（Ｄ）の片側余白無画像ＡＲｂである場合には、上述した（１）の２端の組み合わせが、第１の探索処理の処理対象であると決定され、（２）〜（４）の２端の組み合わせが、第１の探索処理の処理対象でないと決定される。
【００７９】
Ａ−５．配置位置決定処理：
図２のＳ６５の配置位置決定処理について説明する。図１０は、第１実施例の配置位置決定処理のフローチャートである。Ｓ２３０では、ＣＰＵ４１０は、上述した（１）〜（４）の２端の組み合わせのうち、処理対象決定処理にて第１の探索処理の処理対象であると決定された１個以上の２端の組み合わせの中から、１個の組み合わせを選択する。Ｓ２３５では、ＣＰＵ４１０は、選択された２端の組み合わせについて第１の探索処理を実行する。
【００８０】
図１１は、第１の探索処理のフローチャートである。図１２は、第１の探索処理の説明図である。図１２では、図６（Ｂ）の第１スキャン画像Ｉ１２内の原稿画像の右端ＲＴ１と、第２スキャン画像Ｉ２２内の原稿画像の右端ＲＴ２と、の組み合わせが、処理対象の２端の組み合わせである場合を例として図示されている。以下、処理対象の２端の組み合わせを構成する端（例えば、図１２の第１スキャン画像Ｉ１２内の原稿画像の右端ＲＴ１や、第２スキャン画像Ｉ２２内の原稿画像の右端ＲＴ２）を各スキャン画像の処理対象の端とも呼ぶ。
【００８１】
Ｓ３００では、ＣＰＵ４１０は、スキャン画像Ｉ１２、Ｉ２２に対して、余白の削除と回転を実行する。具体的には、各スキャン画像の処理対象の端の余白が除去される。具体的には、処理対象の端の余白量判定処理にて、余白ラインであると判断されたラインと、余白ラインより外側の部分（すなわち、処理開始位置ＳＴＰより外側の部分）と、をスキャン画像Ｉ１２、Ｉ２２から削除する。また、第１スキャン画像Ｉ１２と第２スキャン画像Ｉ２２とを左右に並べた場合に、第１スキャン画像Ｉ１２の処理対象の端と、第２スキャン画像Ｉ２２の処理対象の端と、が互いに対向するように、スキャン画像を回転させる。例えば、図１２の例では、第１スキャン画像Ｉ１２内の右端と、第２スキャン画像Ｉ２２内の右端と、の余白が削除され、これらの２端が対向するように、第２スキャン画像Ｉ２２が１８０度回転されている。処理対象の端の余白量は、基準以下であり、実質的に余白はないので、実質的には、処理開始位置ＳＴＰ（図６（Ｂ））より右側の僅かな部分だけが削除されるだけである。図１２では、原稿画像ＡＩＬ、ＡＩＲの内部の図示は省略し、符号付きの矢印のみを図示する。
【００８２】
Ｓ３０２では、ＣＰＵ４１０は、第２スキャン画像Ｉ２２内に、第２スキャン画像Ｉ２２の一部の領域である基準領域ＳＰａを決定する。図１２に示すように、基準領域ＳＰａは、第２スキャン画像Ｉ２２内の所定の位置に配置された所定のサイズの矩形領域に決定される。また、基準領域ＳＰａは、第２スキャン画像Ｉ２２の処理対象の端の近傍に、当該処理対象の端に沿って配置される。例えば、基準領域ＳＰａの横方向の長さは、例えば、５０画素〜１５０画素であり、基準領域ＳＰａの縦方向の長さは、第２スキャン画像Ｉ２２の縦方向の長さの１／４〜１／２である。
【００８３】
Ｓ３０５では、ＣＰＵ４１０は、候補領域を決定するための所定の参照範囲ＲＥａに基づいて決定される複数個の候補領域の中から、１個の注目候補領域を決定する。参照範囲ＲＥａは、例えば、図１２に示すように、第１スキャン画像Ｉ１２の処理対象の端の近傍部分に破線で示す範囲である。参照範囲ＲＥａは、縦Ｍ１画素×横Ｎ１画素分の矩形の範囲である（Ｍ１、Ｎ１は、２以上の整数）。Ｎ１は、例えば、数１００であり、Ｍ１は、例えば、数十から数百である。参照範囲ＲＥａの右端は、例えば、第１スキャン画像Ｉ１２の右端と一致している。参照範囲ＲＥａの横方向の幅は、例えば、原稿１０における中央部ＣＡの幅に相当する長さを有している。第１スキャン画像Ｉ１２における参照範囲ＲＥａの縦方向の中心の位置は、第２スキャン画像Ｉ２２における基準領域ＳＰａの上端と同じである。
【００８４】
ＣＰＵ４１０は、参照範囲ＲＥａ内の（Ｍ１×Ｎ１）個の画素位置から、１個の注目画素位置を選択する。ＣＰＵ４１０は、当該注目画素位置に、基準領域ＳＰａの左上の画素Ｐｄ（図１２）が位置するように、基準領域ＳＰａを配置した場合に、基準領域ＳＰａと重なる第１スキャン画像Ｉ１２内の領域が注目候補領域として特定される。候補領域が設定され得る領域である探索領域ＳＡａは、図１２に示すように、第１スキャン画像Ｉ１２の処理対象の端に沿う領域である。
【００８５】
１個の注目候補領域が特定されると、Ｓ３１０では、ＣＰＵ４１０は、注目候補領域の類似率（ＳＣ／Ｎｔ）を算出する。注目候補領域の類似率（ＳＣ／Ｎｔ）は、注目候補領域と、基準領域ＳＰａとが類似している程度を示す指標値である。
【００８６】
類似率（ＳＣ／Ｎｔ）の算出方法は、以下のとおりである。先ず、ＣＰＵ４１０は、注目候補領域内の複数個の画素を１個ずつ注目画素として選択して、注目画素が、類似画素であるか非類似画素であるかを判断する。具体的には、ＣＰＵ４１０は、注目候補領域内の注目画素の成分値と、当該注目画素に対応する基準領域ＳＰａ内の画素の成分値と、の差ΔＶＰを算出する。注目画素に対応する基準領域ＳＰａ内の画素は、注目候補領域と基準領域ＳＰａとを重ねた場合に、注目画素と重なる基準領域ＳＰａ内の画素である。差ΔＶＰを算出すべき２個の画素の成分値を、（Ｒ１、Ｇ１、Ｂ１）と（Ｒ２、Ｇ２、Ｂ２）とする。差ΔＶＰは、例えば、３種類の成分値間の差分の絶対値の和で表される。すなわち、差ΔＶＰは、（Ｒ１−Ｒ２）の絶対値と、（Ｇ１−Ｇ２）の絶対値と、（Ｂ１−Ｂ２）の絶対値と、の合計値で表される。
【００８７】
ＣＰＵ４１０は、算出された差ΔＶＰが、所定の基準値ＴＨ１以下である場合には、注目画素が類似画素であると判断し、算出された差ΔＶＰが、所定の基準値ＴＨ１より大きい場合には、注目画素が非類似画素であると判断する。差ΔＶＰが、所定の基準値ＴＨ１以下である場合には、注目候補領域内の注目画素の色と、当該注目画素に対応する基準領域ＳＰａ内の画素の色とは、類似すると判断できるからである。
【００８８】
ＣＰＵ４１０は、注目候補領域内の類似画素の個数ＳＣを、注目候補領域内の画素の総数Ｎｔで除することによって、注目候補領域の類似率（ＳＣ／Ｎｔ）を算出する。類似率（ＳＣ／Ｎｔ）は、注目候補領域内の画素の総数Ｎｔに対する類似画素の個数ＳＣの割合である。類似率（ＳＣ／Ｎｔ）が大きいほど、基準領域ＳＰａと、注目候補領域とは、類似している。
【００８９】
Ｓ３１５は、ＣＰＵ４１０は、類似率（ＳＣ／Ｎｔ）が、閾値ＴＨ２以上であるか否かを判断する。即ち、ＣＰＵ４１０は、現在の注目候補領域が基準領域ＳＰａに類似しているか否かを判断する。
【００９０】
類似率（ＳＣ／Ｎｔ）が、閾値ＴＨ２以上である場合、即ち、現在の注目候補領域が基準領域ＳＰａに類似していると判断する場合には（Ｓ３１５：ＹＥＳ）、ＣＰＵ４１０は、Ｓ３２０にて、現在の注目候補領域を、基準領域ＳＰａに類似する類似領域として記憶して、Ｓ３２５に処理を進める。
【００９１】
類似率（ＳＣ／Ｎｔ）が、閾値ＴＨ２未満である場合には（Ｓ３１５：ＮＯ）、ＣＰＵ４１０は、Ｓ３２０をスキップして、Ｓ３２５に処理を進める。
【００９２】
Ｓ３２５では、ＣＰＵ４１０は、参照範囲ＲＥａ内の（Ｍ１×Ｎ１）個の画素位置に対応する（Ｍ１×Ｎ１）個の候補領域の全てを注目候補領域として処理したか否かを判断する。未処理の候補領域がある場合には（Ｓ３２５：ＮＯ）、ＣＰＵ４１０は、Ｓ３０５に戻って、未処理の候補領域を注目候補領域として特定する。全ての候補領域が処理された場合には（Ｓ３２５：ＹＥＳ）、ＣＰＵ４１０は、Ｓ３３０に処理を進める。
【００９３】
Ｓ３３０では、ＣＰＵ４１０は、（Ｍ１×Ｎ１）個の候補領域の中に１個以上の類似領域があるか否かを判断する。すなわち、Ｓ３２０にて類似領域として記憶された候補領域が１個以上あるか否かが判断される。１個以上の類似領域がある場合には（Ｓ３３０：ＹＥＳ）、Ｓ３３５にて、ＣＰＵ４１０は、１個以上の類似領域の中から、Ｓ３１０にて算出された類似率（ＳＣ／Ｎｔ）が最も高い１個の類似領域ＣＰａを、現在の処理対象の２端の組み合わせにおける最終的な１個の類似領域ＣＰａとして決定する。１個の類似領域ＣＰａが決定されると、第１の探索処理は、終了される。
【００９４】
１個以上の類似領域がない場合には（Ｓ３３０：ＮＯ）、ＣＰＵ４１０は、Ｓ３３５をスキップして、第１の探索処理を終了する。したがって、この場合には、類似領域ＣＰａは決定されない。
【００９５】
第１の探索処理が終了すると、図１０のＳ２４０では、第１の探索処理の処理対象であると決定された２端の組み合わせを全て選択したか否かを判断する。未選択の２端の組み合わせがある場合には（Ｓ２４０：ＮＯ）、ＣＰＵ４１０は、Ｓ２３０に戻って、当該２端の組み合わせを選択する。全ての処理対象の２端の組み合わせが選択済である場合には（Ｓ２４０：ＹＥＳ）、ＣＰＵ４１０は、Ｓ２４５に処理を進める。
【００９６】
Ｓ２４５では、ＣＰＵ４１０は、処理対象の２端の組み合わせの中に、図１１の第１の探索処理のＳ３３５にて、類似領域ＣＰａが決定された２端の組み合わせがあるか否かを判断する。通常は、互いを接合することで原稿１０を正しく再現できる２端の組み合わせが処理対象である場合には、第１の探索処理にて類似領域ＣＰａが決定される可能性が高く、原稿１０を正しく再現できる２端の組み合わせが処理対象でない場合には、第１の探索処理にて類似領域ＣＰａが決定されない可能性が高い。
【００９７】
類似領域ＣＰａが決定された２端の組み合わせが１個以上ある場合には（Ｓ２４５：ＹＥＳ）、Ｓ２５０にて、ＣＰＵ４１０は、当該１個以上の２端の組み合わせのうち、類似率（ＳＣ／Ｎｔ）が最も高い類似領域ＣＰａが決定された２端の組み合わせにて、第１種の配置位置を決定する。すなわち、その２端の組み合わせについての第１の探索処理で用いられた基準領域ＳＰａと、決定された類似領域ＣＰａと、が重なるように、第１スキャン画像Ｉ１１と第１スキャン画像Ｉ１２との相対的な配置位置（すなわち、左側原稿画像ＡＩＬと右側原稿画像ＡＩＲとの相対的な配置位置）が、決定される。例えば、上述した図７の配置済画像ＯＩＡの例では、図６（Ｂ）の第１スキャン画像Ｉ１２内の原稿画像の右端ＲＴ１と、第２スキャン画像Ｉ２２内の原稿画像の右端ＲＴ２と、の組み合わせが、配置位置を決定すべき２端の組み合わせである。この配置済画像ＯＩＡでは、第１スキャン画像Ｉ１２内の原稿画像の右端ＲＴ１に沿う類似領域ＣＰａと、第２スキャン画像Ｉ２２内の原稿画像の右端ＲＴ２に沿う基準領域ＳＰｂと、が重なるように、配置位置が決定される。
【００９８】
類似領域ＣＰａが決定された２端の組み合わせがない場合には（Ｓ２４５：ＮＯ）、Ｓ２５５にて、ＣＰＵ４１０は、２個のスキャン画像Ｉ１２、Ｉ２２（２個の原稿画像ＡＩＬ、ＡＩＲ）の相対的な配置位置をデフォルトの位置に決定する。デフォルトの位置は、例えば、単純に第１スキャン画像Ｉ１２の右端と第２スキャン画像Ｉ２２の左端とが、全長において接する位置である。
【００９９】
以上説明した第１実施例によれば、原稿画像（ＡＩＬまたはＡＩＲ）を含む第１スキャン画像Ｉ１２を表す第１のスキャンデータと、原稿画像（ＡＩＬまたはＡＩＲ）を含む第２スキャン画像Ｉ２２を表す第２の画像データと、が取得される（図２のＳ２５、Ｓ３０）。そして、第１スキャン画像Ｉ１２の左右の両端の余白量が基準以上であるか否かがそれぞれ判断される（図２のＳ３５、４０）。そして、第１スキャン画像Ｉ１２の左右の両端の余白量が基準以上であるか否かを用いて、図９に示すように、処理対象の２端の組み合わせが決定され、図１０に示すように、処理対象に決定された２端の組み合わせについて第１の探索処理が実行されることによって、２個の原稿画像ＡＩＬ、ＡＩＲの第１種の配置位置が決定される。
【０１００】
例えば、第１スキャン画像Ｉ１２の右端の余白量が基準未満である場合には、図９の処理対象決定処理では、第１スキャン画像Ｉ１２内の原稿画像の右端ＲＴ１と第２スキャン画像Ｉ２２内の原稿画像の右端ＲＴ２との組み合わせと、第１スキャン画像Ｉ１２内の原稿画像の右端ＲＴ１と第２スキャン画像Ｉ２２内の原稿画像の左端ＬＴ２との組み合わせと、の少なくとも一方が、処理対象の２端の組み合わせとして決定される。したがって、この場合には、図１０の配置位置決定処理では、右端ＲＴ１に沿う端部画像と、右端ＲＴ２に沿う端部画像と左端ＬＴ２に沿う端部画像とのうちの少なくとも一方を用いて、第１の探索処理（図１０のＳ２３５）が実行される。
【０１０１】
逆に、第１スキャン画像Ｉ１２の右端の余白量が基準以上である場合には、図９の処理対象決定処理では、第１スキャン画像Ｉ１２内の原稿画像の右端ＲＴ１を含む２端の組み合わせは、処理対象の２端の組み合わせに決定されない。したがって、この場合には、図１０の配置位置決定処理では、右端ＲＴ１に沿う端部画像を用いずに、第１の探索処理（図１０のＳ２３５）が実行される。
【０１０２】
そして、例えば、第１スキャン画像Ｉ１２の左端の余白量が基準未満である場合には、図９の処理対象決定処理では、第１スキャン画像Ｉ１２内の原稿画像の左端ＬＴ１と第２スキャン画像Ｉ２２内の原稿画像の右端ＲＴ２との組み合わせと、第１スキャン画像Ｉ１２内の原稿画像の左端ＬＴ１と第２スキャン画像Ｉ２２内の原稿画像の左端ＬＴ２との組み合わせと、の少なくとも一方が、処理対象の２端の組み合わせとして決定される。したがって、この場合には、図１０の配置位置決定処理では、左端ＬＴ１に沿う端部画像と、右端ＲＴ２に沿う端部画像と左端ＬＴ２に沿う端部画像とのうちの少なくとも一方を用いて、第１の探索処理（図１０のＳ２３５）が実行される。
【０１０３】
逆に、第１スキャン画像Ｉ１２の左端の余白量が基準以上である場合には、図９の処理対象決定処理では、第１スキャン画像Ｉ１２内の原稿画像の左端ＬＴ１を含む２端の組み合わせは、処理対象の２端の組み合わせに決定されない。したがって、この場合には、図１０の配置位置決定処理では、左端ＬＴ１に沿う端部画像を用いずに、第１の探索処理（図１０のＳ２３５）が実行される。
【０１０４】
この結果、第１スキャン画像Ｉ１２内の原稿画像のうち、余白量が基準以上である端に沿う端部画像を用いずに第１の探索処理が実行されるので、適切な配置位置の決定に寄与しない第１の探索処理が実行されることを抑制できる。この結果、第１の探索処理の処理時間を低減できる。したがって、配置済画像を表す画像データを生成する際の処理時間を低減できる。
【０１０５】
さらに、第１実施例では、第２スキャン画像Ｉ２２の左右の両端の余白量が基準以上であるか否かがそれぞれ判断される（図２のＳ４５、４０）。そして、第２スキャン画像Ｉ２２の左右の両端の余白量が基準以上であるか否かを用いて、図９に示すように、処理対象の２端の組み合わせが決定され、図１０に示すように、処理対象に決定された２端の組み合わせについて第１の探索処理が実行されることによって、２個の原稿画像ＡＩＬ、ＡＩＲの第１種の配置位置が決定される。
【０１０６】
例えば、第２スキャン画像Ｉ２２の右端の余白量が基準未満である場合には、図９の処理対象決定処理では、第２スキャン画像Ｉ２２内の原稿画像の右端ＲＴ２と第１スキャン画像Ｉ１２内の原稿画像の右端ＲＴ１との組み合わせと、第２スキャン画像Ｉ２２内の原稿画像の右端ＲＴ２と第１スキャン画像Ｉ１２内の原稿画像の左端ＬＴ１との組み合わせと、の少なくとも一方が、処理対象の２端の組み合わせとして決定される。したがって、この場合には、図１０の配置位置決定処理では、右端ＲＴ２に沿う端部画像と、右端ＲＴ１に沿う端部画像と左端ＬＴ１に沿う端部画像とのうちの少なくとも一方を用いて、第１の探索処理（図１０のＳ２３５）が実行される。
【０１０７】
逆に、第２スキャン画像Ｉ２２の右端の余白量が基準以上である場合には、図９の処理対象決定処理では、第２スキャン画像Ｉ２２内の原稿画像の右端ＲＴ２を含む２端の組み合わせは、処理対象の２端の組み合わせに決定されない。したがって、この場合には、図１０の配置位置決定処理では、右端ＲＴ２に沿う端部画像を用いずに、第１の探索処理（図１０のＳ２３５）が実行される。
【０１０８】
そして、例えば、第２スキャン画像Ｉ２２の左端の余白量が基準未満である場合には、図９の処理対象決定処理では、第２スキャン画像Ｉ２２内の原稿画像の左端ＬＴ２と第１スキャン画像Ｉ１２内の原稿画像の右端ＲＴ１との組み合わせと、第２スキャン画像Ｉ２２内の原稿画像の左端ＬＴ２と第１スキャン画像Ｉ１２内の原稿画像の左端ＬＴ１との組み合わせと、の少なくとも一方が、処理対象の２端の組み合わせとして決定される。したがって、この場合には、図１０の配置位置決定処理では、左端ＬＴ２に沿う端部画像と、右端ＲＴ１に沿う端部画像と左端ＬＴ１に沿う端部画像とのうちの少なくとも一方を用いて、第１の探索処理（図１０のＳ２３５）が実行される。
【０１０９】
逆に、第２スキャン画像Ｉ２２の左端の余白量が基準以上である場合には、図９の処理対象決定処理では、第２スキャン画像Ｉ２２内の原稿画像の左端ＬＴ２を含む２端の組み合わせは、処理対象の２端の組み合わせに決定されない。したがって、この場合には、図１０の配置位置決定処理では、左端ＬＴ２に沿う端部画像を用いずに、第１の探索処理（図１０のＳ２３５）が実行される。
【０１１０】
この結果、第２スキャン画像Ｉ２２内の原稿画像のうち、余白量が基準以上である端に沿う端部画像を用いずに第１の探索処理が実行されるので、適切な配置位置の決定に寄与しない第１の探索処理が実行されることをさらに抑制できる。この結果、第１の探索処理の処理時間をさらに低減できる。したがって、配置済画像を表す画像データを生成する際の処理時間をさらに低減できる。
【０１１１】
より具体的には、第１スキャン画像Ｉ１２の右端の余白量が基準未満であり、かつ、第１スキャン画像Ｉ１２の左端の余白量が基準以上であり、かつ、第２スキャン画像Ｉ２２の右端の余白量が基準未満であり、かつ、第２スキャン画像Ｉ２２の左端の余白量が基準以上である場合には、第１スキャン画像Ｉ１２内の原稿画像の右端ＲＴ１と、第２スキャン画像Ｉ２２内の原稿画像の右端ＲＴ２と、の組み合わせが、処理対象の２端の組み合わせに決定され、それ以外の２端の組み合わせは処理対象の２端の組み合わせに決定されない。したがって、この場合には、第１スキャン画像Ｉ１２内の原稿画像の左端ＬＴ１に沿う端部画像と、第２スキャン画像Ｉ２２内の原稿画像の左端ＬＴ２に沿う端部画像と、を用いずに、第１スキャン画像Ｉ１２内の原稿画像の右端ＲＴ１に沿う端部画像と、第２スキャン画像Ｉ２２内の原稿画像の右端ＲＴ２に沿う端部画像と、を用いて、第１の探索処理が実行される。したがって、余白量が基準以上であるかに基づいて、必要な端部画像のみを用いて第１の探索処理が実行されるので、配置済画像を表す画像データを生成する際の処理時間をさらに低減できる
【０１１２】
以上の説明から解るように、第１スキャン画像Ｉ１２内の原稿画像が、第１の対象画像の例であり、第２スキャン画像Ｉ２２内の原稿画像が、第２の対象画像の例である。また、右端は、第１方向の端の例であり、左端は、第２方向の端の例である。また、特定色画素は、第１〜第４の画素の例である。
【０１１３】
Ｂ．第２実施例：
Ｂ−１．スキャンパターンＢ
第２実施例では、図４、図５のスキャンパターンＡの方法に加えて、以下に説明するスキャンパターンＢの方法で、２回の読み取りが実行されて、２個のスキャンデータが生成される可能性がある。
【０１１４】
図１３は、スキャンパターンＢの説明図である。スキャンパターンＢでは、図１３（Ａ）に示すように、原稿１０は、折れ線ＶＬで二つ折りにされた状態で、スキャナ部２５０によって読み取られる。折れ線ＶＬは、図３の線ＣＬと同じ位置の線である。従って、二つ折りにされた状態の原稿１０のサイズは、Ａ４サイズである。二つ折りにされた状態の原稿１０の一方の面には右領域１０Ｒが位置し、他方の面には、左領域１０Ｌが位置する。
【０１１５】
スキャンパターンＢの２回の読み取りの一方では、図１３（Ｂ）、（Ｃ）に示すように、左領域１０Ｌを含み、右領域１０Ｒを含まない画像（以下、左側原稿画像ＢＩＬとも呼ぶ）が読み取られて、左側原稿画像ＢＩＬを示す左側スキャンデータが生成される。スキャンパターンＢの２回の読み取りの他方では、図１３（Ｄ）、（Ｅ）に示すように、右領域１０Ｒを含み、左領域１０Ｌを含まない画像（以下、右側原稿画像ＢＩＲとも呼ぶ）が読み取られて、右側原稿画像ＢＩＲを示す右側スキャンデータが生成される。左側原稿画像ＢＩＬと、右側原稿画像ＢＩＲと、のうちのいずれが先に読み取られるかは、ユーザ次第であり、複合機２００やサーバ４００は、いずれが先に読み取られたかを認識できない。
【０１１６】
左側原稿画像ＢＩＬの読み取りには、図１３（Ｂ）、（Ｃ）に示す２種類の態様がある。態様１、２ではともに、図１３（Ｂ）、（Ｃ）に示すように、左領域１０Ｌが原稿台２５５側を向き、右領域１０Ｒが原稿台２５５の反対側を向いている。態様１では、図１３（Ｂ）に示すように、原稿１０の折れ線ＶＬを原稿台２５５の手前側（図１３（Ｂ）の下側）に向けて、原稿１０が原稿台２５５上に配置される。態様２では、図１３（Ｃ）に示すように、原稿１０の折れ線ＶＬを原稿台２５５の奥側（図１３（Ｃ）の上側）に向けて、原稿１０が原稿台２５５上に配置される。
【０１１７】
右側原稿画像ＢＩＲの読み取りには、図１３（Ｄ）、（Ｅ）に示す２種類の態様がある。態様１、２ではともに、図１３（Ｄ）、（Ｅ）に示すように、右領域１０Ｒが原稿台２５５側を向き、左領域１０Ｌが原稿台２５５の反対側を向いている。態様１では、図１３（Ｄ）に示すように、原稿１０の折れ線ＶＬを原稿台２５５の手前側（図１３（Ｄ）の下側）に向けて、原稿１０が原稿台２５５上に配置される。態様２では、図１３（Ｅ）に示すように、原稿１０の折れ線ＶＬを原稿台２５５の奥側（図１３（Ｅ）の上側）に向けて、原稿１０が原稿台２５５上に配置される。
【０１１８】
いずれの原稿画像ＢＩＬ、ＢＩＲの読み取りにおいても、いずれの態様が用いられるかは、ユーザ次第であり、複合機２００やサーバ４００は、用いられた態様を認識できない。
【０１１９】
図１４は、スキャンパターンＢで生成されるスキャンデータによって表されるスキャン画像の一例を示す図である。図１４（Ａ）、（Ｂ）の左側スキャン画像ＢＬａ、ＢＬｂは、左側原稿画像ＢＩＬの読み取りの態様１、２で生成される左側スキャン画像の一例である。図１４（Ｃ）、（Ｄ）の右側スキャン画像ＢＲａ、ＢＲｂは、右側原稿画像ＢＩＲの読み取りの態様１、２で生成される右側スキャン画像の一例である。２つ折りにされた状態の原稿１０の短手方向の長さＷＢ（図１３（Ａ））は、原稿台２５５の短手方向の長さＷＴ（図１３（Ｂ））より短い。このために、スキャンパターンＢが用いられる場合には、左側スキャン画像および右側スキャン画像において、左右の端の少なくとも一方には、ある程度の余白ができ、他方には、余白ができる場合とできない場合とがある（図１４（Ａ）〜（Ｄ））。
【０１２０】
以上の説明から解るように、スキャンパターンＢで生成されるスキャン画像（左側スキャン画像ＢＬ、または、右側スキャン画像ＢＲ）は、左右の両端に余白がある両側余白有画像（例えば、図１４（Ｂ）、（Ｄ）の画像ＢＬｂ、ＢＲｂ）と、左右の端のうちの一方の端に余白ＭＧがなく、他方の端に余白ＭＧがある片側余白有画像（例えば、図１４（Ａ）、（Ｃ）の画像ＢＬａ、ＢＲａ）と、のいずれかである。
【０１２１】
第２実施例では、図２のＳ５５の処理対象決定処理と、Ｓ６５の配置位置決定処理とが、第１実施例と異なっている。他の処理は、第１実施例と同じである。
【０１２２】
Ｂ−２．第２の探索処理：
第２実施例の後述する配置位置決定処理では、第１実施例で説明した図１１の第１の探索処理とともに、第２の探索処理が併用される。第２の探索処理は、スキャン画像Ｉ１２、Ｉ２２が、スキャンパターンＢを用いて生成される場合に適した探索処理である。第２の探索処理は、第１スキャン画像Ｉ１２内の原稿画像と、第２スキャン画像Ｉ２２内の原稿画像と、の相対的な配置位置として、２個の原稿画像が重ならない第２種の配置位置を決定する処理である。説明の便宜上、第２の探索処理について、先に説明する。
【０１２３】
図１５は、第２の探索処理のフローチャートである。図１６は、第２の探索処理の説明図である。第１の探索処理と同様に、処理対象の２端の組み合わせを構成する第１スキャン画像Ｉ１２の一端に沿う端部画像と、処理対象の２端の組み合わせを構成する第２スキャン画像Ｉ２２の一端に沿う端部画像と、を用いて実行される。ここでは、スキャンパターンＢを用いて生成される２個のスキャンデータによって表される図１６（Ａ）に示す２個のスキャン画像Ｉ１２ｂ、Ｉ２２ｂを例として、第２の探索処理を説明する。図１６（Ａ）の第１スキャン画像Ｉ１２ｂは、左側原稿画像ＢＩＬを含み、第２スキャン画像Ｉ２２ｂは、右側原稿画像ＢＩＲを含む。ここでは、第１スキャン画像Ｉ１２ｂ内の原稿画像ＢＩＬの右端ＲＴ１ｂと、第２スキャン画像Ｉ２２ｂ内の原稿画像ＢＩＲの左端ＬＴ２ｂと、の組み合わせが、処理対象の２端の組み合わせである場合を例として説明する。
【０１２４】
Ｓ４００では、ＣＰＵ４１０は、図１１のＳ３００と同様に、スキャン画像Ｉ１２ｂ、Ｉ２２ｂに対して、余白の削除と回転を実行する。図１６（Ａ）のスキャン画像Ｉ１２ｂ、Ｉ２２ｂは、Ｓ４００の処理後の画像であるので、第１スキャン画像Ｉ１２ｂの右端に余白はなく、第２スキャン画像Ｉ２２ｂの左端に余白はない。
【０１２５】
Ｓ４０１では、ＣＰＵ４１０は、スキャン画像Ｉ１２ｂ、Ｉ２２内の原稿画像ＢＩＬ、ＢＩＲにおいて欠損している画素を復元する画素復元処理を実行する。図１６（Ａ）には、画素復元処理によって復元される複数個の画素が位置する復元領域ＡＤ１、ＡＤ２が図示されている。上述したように、スキャンパターンＢでは、二つ折りにされた原稿１０が読み取られる。このために、原稿１０の折れ線ＶＬ上に位置するごく細い線状の領域の画像は、スキャンパターンＢを用いて生成されるスキャン画像Ｉ１２ｂ、Ｉ２２ｂ内の原稿画像ＢＩＬ、ＢＩＲのいずれにも表れておらず、欠損している。図１６（Ａ）の復元領域ＡＤ１、ＡＤ２は、原稿１０の折れ線ＶＬ上に位置するごく細い線状の領域に対応している。
【０１２６】
第２の探索処理では、第１スキャン画像Ｉ１２、Ｉ２２内の原稿画像の処理対象の端を、原稿の折れ線ＶＬに対応する端であると想定する。このために、第１復元領域ＡＤ１は、スキャン画像Ｉ１２内の原稿画像の処理対象の端の外側に隣接して設けられ、第２復元領域ＡＤ２は、第２スキャン画像Ｉ２２内の原稿画像の処理対象の端の外側に隣接して設けられる。図１６（Ａ）の例では、第１復元領域ＡＤ１は、第１スキャン画像Ｉ１２ｂ内の左側原稿画像ＢＩＬの右端ＲＴ１ｂの外側に隣接し、第２復元領域ＡＤ２は、第２スキャン画像Ｉ２２ｂ内の右側原稿画像ＢＩＲの左端ＬＴ２ｂの外側に隣接している。復元領域ＡＤ１、ＡＤ２は、隣接する原稿画像の縦方向の全長に亘って上端から下端まで延びるごく細い線状の領域である。復元領域ＡＤ１、ＡＤ２の隣接する端と垂直な方向の幅、すなわち、図１６（Ａ）の横方向の幅ΔＷは、実験的に予め決められた値である。本実施例では、幅ΔＷは、スキャン画像Ｉ１２ｂ、Ｉ２２ｂの横方向の解像度が、３００ｄｐｉである場合に、３画素である。
【０１２７】
図１７は、画素復元処理のフローチャートである。Ｓ５００では、ＣＰＵ４１０は、スキャン画像Ｉ１２ｂ、Ｉ２２ｂから、注目画像を選択する。Ｓ５０５では、ＣＰＵ４１０は、注目画像内の原稿画像の処理対象の端に沿って、上述した復元領域を設定する。例えば、第１スキャン画像Ｉ１２ｂが注目画像である場合には、第１スキャン画像Ｉ１２ｂ内の左側原稿画像ＢＩＬの右端ＲＴ１ｂに沿って第１復元領域ＡＤ１が設定される。
【０１２８】
Ｓ５１０では、ＣＰＵ４１０は、復元領域内の注目ラインを選択する。例えば、本実施例では、復元領域の横方向の幅ΔＷは３画素であるので、上下方向に延びる３本の画素のラインを含んでいる。ＣＰＵ４１０は、３本の画素のラインの中から、１本の注目ラインを、注目画像に近い側から順に選択する。例えば、図１７の右側に示すように、第１復元領域ＡＤ１は、３本のラインＬ１〜Ｌ３を含んでいる。したがって、第１スキャン画像Ｉ１２ｂが注目画像である場合には、最初にラインＬ１が、注目ラインとして選択され、次にラインＬ２が注目ラインとして選択される。
【０１２９】
Ｓ５１５では、ＣＰＵ４１０は、注目ラインに含まれる複数個の画素から１個の注目画素を選択する。例えば、注目ラインに含まれる複数個の画素から、上側から下側に向かって順次に注目画素が選択される。
【０１３０】
Ｓ５２０では、ＣＰＵ４１０は、注目画素の複数個の近傍画素の値を用いて、注目画素の値（本実施例では、ＲＧＢ値）を決定する。例えば、図１６（Ａ）のスキャン画像Ｉ１２ｂが注目画像である場合には、注目画素の値は、注目画素より左側に位置する４個の近傍画素の値を用いて決定される。例えば、図１６の右側に示すラインＬ１の画素Ｘが注目画素である場合には、４個の近傍画素は、ラインＬ１の左側に隣接するラインＬａの３個の画素Ａ、Ｂ、Ｃと、ラインＬａの左側に隣接するラインＬｂの１個の画素Ｄである。画素Ａは、注目画素より左側に位置する画素のうち、注目画素に最も近い第１近傍画素であり、画素Ｂ、Ｃは、注目画素に２番目に近い第２近傍画素であり、画素Ｄは、注目画素に３番目に近い第３近傍画素である。画素Ｘの特定の成分値（例えば、Ｒ成分の値）Ｖｘは、画素Ａ〜Ｄの特定の成分値Ｖａ〜Ｖｄを用いて、以下の式（ａ）によって算出される。
【０１３１】
Ｖｘ＝Ｋａ×Ｖａ＋Ｋｂ×Ｖｂ＋Ｋｃ×Ｖｃ＋Ｋｄ×Ｖｄ  ...（ａ）
ここで、Ｋａ〜Ｋｄは、画素Ａ〜Ｄとのそれぞれと画素Ｘとの距離に応じて予め決定された係数である。係数Ｋａ〜Ｋｄは、Ｋａ〜Ｋｄの合計値が１であり、かつ、画素Ｘとの距離が短いほど大きな値となるように、決定されている。本実施例では、Ｋａ＝０．５、Ｋｂ＝Ｋｃ＝０．２、Ｋｄ＝０．１である。
【０１３２】
ＣＰＵ４１０は、式（ａ）を用いて、注目画素のＲＧＢの３個の成分の値をそれぞれ算出することによって、注目画素のＲＧＢ値を決定する。
【０１３３】
なお、図示は省略するが、図１６（Ａ）の第２スキャン画像Ｉ２２ｂが注目画像である場合には、注目画素の値は、注目画素より右側に位置する４個の近傍画素の値を用いて決定される。
【０１３４】
Ｓ５２５では、ＣＰＵ４１０は、注目ラインの全ての画素を注目画素として処理したか否かを判断する。未処理の画素がある場合には（Ｓ５２５：ＮＯ）、ＣＰＵ４１０は、Ｓ５１５に戻って、未処理の画素を注目画素として選択する。全ての画素が処理された場合には（Ｓ５２５：ＹＥＳ）、ＣＰＵ４１０は、Ｓ５３０にて、注目画像について設定された復元領域の全てのラインを注目ラインとして処理したか否かを判断する。未処理のラインがある場合には（Ｓ５３０：ＮＯ）、ＣＰＵ４１０は、Ｓ５１０に戻って、未処理のラインを注目ラインとして選択する。全てのラインが処理された場合には（Ｓ５３０：ＹＥＳ）、ＣＰＵ４１０は、Ｓ５３５に処理を進める。
【０１３５】
Ｓ５３５では、ＣＰＵ４１０は、スキャン画像Ｉ１２、Ｉ２２の両方を処理したか否かを判断する。ＣＰＵ４１０は、両方のスキャン画像を処理していない場合には（Ｓ５３５：ＮＯ）、Ｓ５００に戻って未処理のスキャン画像を注目画像として選択する。ＣＰＵ４１０は、両方のスキャン画像を処理済である場合には（Ｓ５３５：ＹＥＳ）、画素復元処理を終了する。
【０１３６】
処理対象の２端の組み合わせが、原稿１０を正しく再現できる組み合わせである場合には、第１復元領域ＡＤ１内の複数個の第１復元画素によって構成される線状の画像と、第２復元領域ＡＤ２内の複数個の右側復元画素によって構成される線状の画像は、ともに、原稿１０の折れ線ＶＬ上に位置する線状の画像を表す画像になる。したがって、この場合には、第１復元領域ＡＤ１内の画像と、第２復元領域ＡＤ２内の画像とは、互いに類似する部分を含むと考えられる。
【０１３７】
画素復元処理が終了すると、図１５のＳ４０２では、ＣＰＵ４１０は、基準領域ＳＰｂを決定する。本実施例では、第２復元領域ＡＤ２の全体が、基準領域ＳＰｂとして決定される。これに代えて、第２復元領域ＡＤ２の一部分や、第２復元領域ＡＤ２と、第２復元領域ＡＤ２と隣接する原稿画像の一部によって構成される領域が、基準領域ＳＰｂとして決定されても良い。
【０１３８】
Ｓ４０５では、ＣＰＵ４１０は、候補領域を決定するための所定の参照範囲ＲＥｂに基づいて決定される複数個の候補領域の中から、１個の注目候補領域を決定する。参照範囲ＲＥｂは、例えば、図１６（Ａ）に示すように、第１スキャン画像Ｉ１２ｂの右上部分に破線で示す範囲である。
【０１３９】
図１８は、図１６（Ａ）の参照範囲ＲＥｂ近傍の拡大図である。参照範囲ＲＥｂは、縦Ｍ２画素×横Ｎ２画素分の矩形の範囲である（Ｍ２、Ｎ２は、２以上の整数）。Ｎ２は、例えば、約１０であり、Ｍ２は、例えば、数十から数百である。参照範囲ＲＥｂの右端は、第１スキャン画像Ｉ１２ｂの右側の第１復元領域ＡＤ１の右端と一致している。参照範囲ＲＥｂの縦方向の中心は、第１スキャン画像Ｉ１２ｂの上端に位置している。
【０１４０】
ＣＰＵ４１０は、参照範囲ＲＥｂ内の（Ｍ２×Ｎ２）個の画素位置から、１個の注目画素位置を選択する。ＣＰＵ４１０は、当該注目画素位置に、基準領域ＳＰｂの左上の画素Ｐｃ（図１６（Ａ））が位置するように、基準領域ＳＰｂを配置した場合に、基準領域ＳＰｂと重なる第１スキャン画像Ｉ１２ｂまたは復元領域ＡＤ１内の領域を注目候補領域として特定する。このように、参照範囲ＲＥｂ内の（Ｍ２×Ｎ２）個の画素位置が、（Ｍ２×Ｎ２）個の候補領域と１対１で対応している。例えば、図１８のハッチングで示す候補領域ＮＴ１は、参照範囲ＲＥｂ内の右上の画素位置Ｐｔ１が注目画素位置である場合に特定される。図１８のハッチングで示す候補領域ＮＴ２は、参照範囲ＲＥｂ内の左下の画素位置Ｐｔ２が注目画素位置である場合に特定される。候補領域が設定され得る領域である探索領域ＳＡｂは、図１８に示すように、参照範囲ＲＥｂの左端の位置ＬＰより右側に位置する領域である。第１配置位置決定処理の探索領域ＳＡｂは、第１復元領域ＡＤ１と、第１スキャン画像Ｉ１２ｂの一部分の領域と、を含む。
【０１４１】
例えば、最初の注目候補領域は、図１４の候補領域ＮＴ１である。そして、注目候補領域ＮＴ１を特定するための参照範囲ＲＥｂ内の画素位置を、候補領域ＮＴ１を特定する際の位置から縦方向や横方向に１画素刻みで移動させることで、（Ｍ２×Ｎ２）個の候補領域から１個の注目候補領域が順次に特定される。
【０１４２】
Ｓ４１０〜Ｓ４３５の処理は、図１１のＳ３１０〜Ｓ３３５の処理と同一である。すなわち、すなわち、Ｓ４１０〜Ｓ４３５の処理で、探索領域ＳＡｂ内に設定される（Ｍ２×Ｎ２）個の注目領域の中に、１個以上の類似領域ＣＰｂが存在する場合には、基準領域ＳＰｂとの類似率が最も高い１個の類似領域ＣＰｂが、処理対象の２端の組み合わせにおける類似領域ＣＰｂとして決定されて、第２の探索処理が終了される。（Ｍ２×Ｎ２）個の注目領域の中に、１個も類似領域ＣＰｂが存在しない場合には、類似領域ＣＰｂが決定されることなく、第２の探索処理が終了される。
【０１４３】
Ｂ−３．処理対象決定処理：
次に、第２実施例の処理対象決定処理について説明する。第２実施例の処理対象決定処理では、第１の探索処理の処理対象である２端の組み合わせに加えて、第２の探索処理の処理対象である２端の組み合わせが決定される。
【０１４４】
図１９は、第２実施例の処理対象決定処理のフローチャートである。Ｓ６０５では、ＣＰＵ４１０は、第１スキャン画像Ｉ１２の左右の両端の余白量が、基準値未満であるか否かを判断する。第１スキャン画像Ｉ１２の両端の余白量が基準値未満である場合には（Ｓ６０５：ＹＥＳ）、Ｓ６１０にて、ＣＰＵ４１０は、第１スキャン画像Ｉ１２を、両側余白無画像として決定する。第１スキャン画像Ｉ１２の左右の少なくとも一方の端の余白量が基準値以上である場合には（Ｓ６０５：ＮＯ）、Ｓ６１５にて、ＣＰＵ４１０は、第１スキャン画像Ｉ１２を、余白有画像として決定する。余白有画像は、上述した片側余白有画像と、両側余白有画像と、を含む概念である。
【０１４５】
Ｓ６２０では、ＣＰＵ４１０は、第２スキャン画像Ｉ２２の左右の両端の余白量が、基準値未満であるか否かを判断する。第２スキャン画像Ｉ２２の両端の余白量が基準値未満である場合には（Ｓ６２０：ＹＥＳ）、Ｓ６２５にて、ＣＰＵ４１０は、第２スキャン画像Ｉ２２を、両側余白無画像として決定する。第２スキャン画像Ｉ２２の左右の少なくとも一方の端の余白量が基準値以上である場合には（Ｓ６２０：ＮＯ）、Ｓ６３０にて、ＣＰＵ４１０は、第２スキャン画像Ｉ２２を、余白有画像として決定する。
【０１４６】
Ｓ６３５では、ＣＰＵ４１０は、スキャン画像Ｉ１２、Ｉ２２の両方が両側余白無画像であるか否かを判断する。スキャン画像Ｉ１２、Ｉ２２の両方が両側余白無画像である場合には（Ｓ６３５：ＹＥＳ）、Ｓ６４５に処理を進める。スキャン画像Ｉ１２、Ｉ２２の少なくとも一方が余白有画像である場合には（Ｓ６３５：ＮＯ）、Ｓ６４０にて、ＣＰＵ４１０は、スキャン画像Ｉ１２、Ｉ２２の一方が両側余白無画像であるか否かを判断する。スキャン画像Ｉ１２、Ｉ２２の一方が両側余白無画像である場合には（Ｓ６４０：ＹＥＳ）、スキャン画像Ｉ１２、Ｉ２２の一方が両側余白無画像であり、他方が余白有画像である。この場合には、ＣＰＵ４１０は、Ｓ６５５に処理を進める。スキャン画像Ｉ１２、Ｉ２２の一方が両側余白無画像でない場合には（Ｓ６４０：ＮＯ）、スキャン画像Ｉ１２、Ｉ２２の両方が余白有画像である。この場合には、ＣＰＵ４１０は、Ｓ６６５に処理を進める。
【０１４７】
スキャン画像Ｉ１２、Ｉ２２の両方が両側余白無画像である場合には、先ず、Ｓ６４５では、ＣＰＵ４１０は、全ての２端の組み合わせ、すなわち、上述した（１）〜（４）の２端の組み合わせを、第１の探索処理の処理対象であると決定する。この場合には、スキャンパターンＡが用いられたと考えられ、（１）〜（４）の２端の組み合わせの全てについて、原稿１０を正しく再現できる組み合わせである可能性があるからである。
【０１４８】
そして、Ｓ６５０では、ＣＰＵ４１０は、全ての２端の組み合わせを、第２の探索処理の処理対象でないと決定する。すなわち、この場合には、後述する配置位置決定処理において、第２の探索処理は実行されない。スキャンパターンＢでは、両側余白無画像がスキャン画像として生成されることはないので、少なくとも一方のスキャン画像が、両側余白無画像である場合には、スキャンパターンＡが用いられたと考えられるからである。この結果、不要な第２の探索処理が実行されることを抑制して、配置位置決定処理の処理時間を低減することができる。
【０１４９】
スキャン画像Ｉ１２、Ｉ２２の一方が両側余白無画像であり、他方が余白有画像である場合には、先ず、Ｓ６５５では、ＣＰＵ４１０は、図９のＳ２０５〜Ｓ２２５を実行して、第１の探索処理の処理対象とする２端の組み合わせと、第１の探索処理の処理対象としない２端の組み合わせと、を決定する。この結果、第１実施例と同様に、原稿１０を正しく再現できる可能性がある２端の組み合わせのみが、第１の探索処理の処理対象とされるので、配置位置決定処理の処理時間を低減することができる。なお、この場合には、スキャン画像Ｉ１２、Ｉ２２の一方が両側余白無画像である時点で、スキャンパターンＡが用いられたと考えられる。上述したように、スキャンパターンＢでは、両側余白無画像がスキャン画像として生成されることはないからである。したがって、この場合には、スキャン画像Ｉ１２、Ｉ２２の他方の余白有画像は、片側余白有画像である、と考えられる。両側余白有画像は、スキャンパターンＢでは生成され得るが、スキャンパターンＡでは生成され得ないからである。
【０１５０】
そして、Ｓ６６０では、Ｓ６５０と同様に、ＣＰＵ４１０は、全ての２端の組み合わせを、第２の探索処理の処理対象でないと決定する。上述したように、スキャンパターンＢでは、両側余白無画像がスキャン画像として生成されることはないからである。この結果、不要な第２の探索処理が実行されることを抑制して、配置位置決定処理の処理時間を低減することができる。
【０１５１】
スキャン画像Ｉ１２、Ｉ２２の両方が余白有画像である場合には、先ず、Ｓ６６５では、Ｓ６５５と同様に、ＣＰＵ４１０は、図９のＳ２０５〜Ｓ２２５を実行して、第１の探索処理の処理対象とする２端の組み合わせと、第１の探索処理の処理対象としない２端の組み合わせと、を決定する。この処理により、スキャン画像Ｉ１２、Ｉ２２の両方が片側余白有画像である場合には、第１スキャン画像Ｉ１２の余白量が基準未満である端と、第２スキャン画像Ｉ２２の余白量が基準未満である端と、の組み合わせが、第１の探索処理の処理対象であると決定される。そして、他の３個の２端の組み合わせが、第１の探索処理の処理対象でないと決定される。また、スキャン画像Ｉ１２、Ｉ２２の少なくとも一方が両側余白有画像である場合には、全ての２端の組み合わせが、第１の探索処理の処理対象でないと決定される。スキャンパターンＡが用いられる場合には、両側余白有画像がスキャン画像として生成されることはないからである。この結果、スキャンパターンＡが用いられた可能性がある場合に、原稿１０を正しく再現できる可能性がある２端の組み合わせのみが、第１の探索処理の処理対象であるとされ、スキャンパターンＡが用いられた可能性がない場合には、全ての２端の組み合わせが第１の探索処理の処理対象でないとされる。したがって、配置位置決定処理の処理時間を低減することができる。
【０１５２】
そして、Ｓ６７０では、ＣＰＵ４１０は、４個の２端の組み合わせの全てを、第２の探索処理の処理対象であると決定する。この場合には、スキャンパターンＢが用いられた可能性があり、スキャンパターンＢが用いられた場合には、（１）〜（４）の２端の組み合わせの全てについて、原稿１０を正しく再現できる組み合わせである可能性があるからである。
【０１５３】
このように、第１の探索処理と第２の探索処理のそれぞれについて、処理対象とする２端の組み合わせと、処理対処としない２端の組み合わせと、が決定されると、処理対象決定処理は、終了される。
【０１５４】
以上説明した処理対象決定処理によれば、スキャン画像Ｉ１２、Ｉ２２の左右の端の余白量が基準以上であるか否かに基づいて、第１の探索処理と第２の探索処理のそれぞれについて、処理対象とする２端の組み合わせと、処理対処としない２端の組み合わせと、を適切に決定できる。この結果、不要な第１の探索処理や、第２の探索処理が実行されることを抑制して、配置位置決定処理の処理時間を低減することができる。
【０１５５】
Ｂ−４：配置位置決定処理：
次に、第２実施例の配置位置決定処理について説明する。図２０は、第２実施例の配置位置決定処理のフローチャートである。Ｓ７０５では、ＣＰＵ４１０は、上述した配置位処理対象決定処理にて、第１の探索処理の処理対象であると決定された１個以上の２端の組み合わせがあるか否かを判断する。
【０１５６】
第１の探索処理の処理対象であると決定された１個以上の２端の組み合わせがある場合には（Ｓ７０５：ＹＥＳ）、Ｓ７１０にて、ＣＰＵ４１０は、該１個以上の２端の組み合わせから、１個の処理対象の２端の組み合わせを選択する。Ｓ７１５では、選択済の処理対象の２端の組み合わせについて、第１の探索処理を実行する。Ｓ７２０では、ＣＰＵ４１０は、第１の探索処理の処理対象であると決定された上述の１個以上の２端の組み合わせの全てについて、処理したか否かを判断する。未処理の２端の組み合わせがある場合には（Ｓ７２０：ＮＯ）、Ｓ７１０に戻って、該２端の組み合わせを選択する。上述の１個以上の２端の組み合わせの全てについて、処理した場合には（Ｓ７２０：ＹＥＳ）、ＣＰＵ４１０は、Ｓ７２５に処理を進める。
【０１５７】
第１の探索処理の処理対象であると決定された２端の組み合わせがない場合には（Ｓ７０５：ＮＯ）、ＣＰＵ４１０は、Ｓ７１０〜Ｓ７２０をスキップして、Ｓ７２５に処理を進める。
【０１５８】
Ｓ７２５では、ＣＰＵ４１０は、上述した配置位処理対象決定処理にて、第２の探索処理の処理対象であると決定された１個以上の２端の組み合わせがあるか否かを判断する。
【０１５９】
第２の探索処理の処理対象であると決定された１個以上の２端の組み合わせがある場合には（Ｓ７２５：ＹＥＳ）、Ｓ７３０にて、ＣＰＵ４１０は、該１個以上の２端の組み合わせから、１個の処理対象の２端の組み合わせを選択する。Ｓ７３５では、選択済の処理対象の２端の組み合わせについて、第２の探索処理を実行する。Ｓ７４０では、ＣＰＵ４１０は、第２の探索処理の処理対象であると決定された上述の１個以上の２端の組み合わせの全てについて、処理したか否かを判断する。未処理の２端の組み合わせがある場合には（Ｓ７４０：ＮＯ）、Ｓ７３０に戻って、該２端の組み合わせを選択する。上述の１個以上の２端の組み合わせの全てについて、処理した場合には（Ｓ７４０：ＹＥＳ）、ＣＰＵ４１０は、Ｓ７４５に処理を進める。
【０１６０】
第２の探索処理の処理対象であると決定された２端の組み合わせがない場合には（Ｓ７２５：ＮＯ）、ＣＰＵ４１０は、Ｓ７３０〜Ｓ７４０をスキップして、Ｓ７４５に処理を進める。
【０１６１】
Ｓ７４５では、ＣＰＵ４１０は、処理対象の２端の組み合わせの中に、Ｓ７１５の第１の探索処理またはＳ７３５の第２の探索処理にて、類似領域が決定された２端の組み合わせがあるか否かを判断する。通常は、スキャンパターンＡが用いられた場合には、互いを接合することで原稿１０を正しく再現できる２端の組み合わせについての第１の探索処理にて類似領域ＣＰａが決定される可能性が高い。また、スキャンパターンＢが用いられた場合には、互いを接合することで原稿１０を正しく再現できる２端の組み合わせについての第２の探索処理にて類似領域ＣＰｂが決定される可能性が高い。
【０１６２】
類似領域が決定された２端の組み合わせが１個以上ある場合には（Ｓ７４５：ＹＥＳ）、Ｓ７５５にて、ＣＰＵ４１０は、当該１個以上の２端の組み合わせのうち、類似率が最も高い類似領域が決定された２端の組み合わせにて、配置位置を決定する。
【０１６３】
類似率が最も高い類似領域が、Ｓ７１５の第１の探索処理にて決定された場合には、第１実施例と同様に、その２端の組み合わせについての第１の探索処理で用いられた基準領域ＳＰａと、決定された類似領域ＣＰａと、が重なるように、２個のスキャン画像Ｉ１１、Ｉ１２の第１種の配置位置（すなわち、２個の原稿画像の第１種の配置位置）が、決定される（図７参照）。
【０１６４】
一方、類似率が最も高い類似領域が、Ｓ７３５の第２の探索処理にて決定された場合には、第２の探索処理にて決定された類似率が最も高い類似領域ＣＰｂの位置に基づいて、２個のスキャン画像Ｉ１１、Ｉ１２の第２種の配置位置（すなわち、２個の原稿画像の第２種の配置位置）が、決定される。図１６（Ｂ）の例を参照して説明する。図１６（Ｂ）の例では、類似率が最も高い類似領域ＣＰｂが決定された２端の組み合わせは、第１スキャン画像Ｉ１２ｂ内の原稿画像の右端ＲＴ１ｂと、第２スキャン画像Ｉ２２ｂ内の原稿画像の左端ＬＴ２ｂと、の組み合わせである。この例に示すように、類似率が最も高い類似領域ＣＰｂが決定された２端の組み合わせを構成する２端が、所定の隙間ΔＩＴを開けて対向するように、横方向の相対的な配置位置が決定される。そして、類似率が最も高い類似領域ＣＰｂに対応する参照範囲ＲＥｂ内の画素位置Ｐｓが特定される。例えば、類似率が最も高い類似領域ＣＰｂが、図１８の候補領域ＮＴ１である場合には、参照範囲ＲＥｂの画素位置Ｐｔ１が、該類似領域ＣＰｂに対応する参照範囲ＲＥｂ内の画素位置Ｐｓである。そして、図１６（Ｂ）に示すように、特定された参照範囲ＲＥｂ内の画素位置Ｐｓの縦方向の位置が、第２スキャン画像Ｉ２２の上端の縦方向の位置として決定される。なお、図１６（Ｂ）では、図の煩雑を避けるために、スキャン画像Ｉ１２ｂ、Ｉ２２ｂ内の余白と追加領域の図示を省略している。参照範囲ＲＥｂは、第１スキャン画像Ｉ１２ｂに対して設定されているので、これによって、スキャン画像Ｉ１２ｂ、Ｉ２２ｂの相対的な縦方向の位置が決定される。
【０１６５】
類似領域が決定された２端の組み合わせがない場合には（Ｓ７４５：ＮＯ）、Ｓ７５０にて、ＣＰＵ４１０は、２個のスキャン画像Ｉ１２、Ｉ２２（２個の原稿画像ＡＩＬ、ＡＩＲ）の相対的な配置位置をデフォルトの位置に決定する。デフォルトの位置は、例えば、第１実施例のデフォルトの位置と同じである。
【０１６６】
以上説明した第２実施例によれば、第１スキャン画像Ｉ１２の右端の余白量が基準以上である場合には、図１９の処理対象決定処理にて、第１スキャン画像Ｉ１２内の原稿画像の右端を含む２端の組み合わせは、第１の探索処理の処理対象に決定されない。したがって、この場合には、第１スキャン画像Ｉ１２内の原稿画像の右端に沿う端部画像を用いて、第１の探索処理が実行されない。また、この場合には、図１９の処理対象決定処理にて、第１スキャン画像Ｉ１２内の原稿画像の右端を含む２端の組み合わせは、第２の探索処理の処理対象に決定され得る。したがって、この場合には、この結果、第１スキャン画像Ｉ１２内の原稿画像の右端に沿う端部画像を用いて、第２の探索処理が実行される。
【０１６７】
以上のように、第１スキャン画像Ｉ１２の右端の余白量が基準以上である場合に、第１スキャン画像Ｉ１２内の原稿画像の右端に沿う端部画像を用いて実行されるべき第２の探索処理が実行され、実行される必要がない第１の探索処理が実行されない。この結果、探索処理に要する処理時間を低減することができる。また、誤った種類の探索処理が用いられることによって、誤った配置位置が決定される可能性を低減することができる。
【０１６８】
さらに、第１スキャン画像Ｉ１２が両側余白有画像である場合、すなわち、第１スキャン画像Ｉ１２の右端の余白量が基準以上であり、かつ、第１スキャン画像Ｉ１２の左端の余白量が基準以上である場合には、スキャンパターンＡが用いられた可能性が低く、スキャンパターンＢが用いられたと考えられる。この場合には、図１９の処理対象決定処理のＳ６６５にて、全ての２端の組み合わせは、第１の探索処理の処理対象に決定されない（図９のＳ２０５〜Ｓ２２５参照）。そして、この場合には、全ての２端の組み合わせが、第２の探索処理の処理対象に決定される（図１９のＳ６７０）。このように、この場合には、ＣＰＵ４１０は、第１の探索処理を実行せず、第２の探索処理を実行する。したがって、不要な第１の探索処理を実行することなく、第２の探索処理だけが実行されるので、適切な配置位置を決定することができるとともに、処理時間を低減することができる。
【０１６９】
さらに、第１スキャン画像Ｉ１２が両側余白無画像である場合、すなわち、第１スキャン画像Ｉ１２の右端の余白量が基準未満であり、かつ、第１スキャン画像Ｉ１２の左端の余白量が基準未満である場合には、スキャンパターンＢが用いられた可能性が低く、スキャンパターンＡが用いられたと考えられる。この場合には、図１９の処理対象決定処理のＳ６４５またはＳ６５５にて、少なくとも１個の２端の組み合わせが、第１の探索処理の処理対象に決定される。そして、この場合には、全ての２端の組み合わせは、第２の探索処理の処理対象に決定されない（図１９のＳ６５０またはＳ６６０）。このように、この場合には、ＣＰＵ４１０は、第１の探索処理を実行し、第２の探索処理を実行しない。したがって、不要な第２の探索処理を実行することなく、第１の探索処理だけが実行されるので、適切な配置位置を決定することができるとともに、処理時間を低減することができる。
【０１７０】
さらに、２個のスキャン画像Ｉ１２、Ｉ２２の両方が、余白有画像（両側余白有画像または片側余白有画像）である場合、すなわち、第１スキャン画像Ｉ１２の左右のうちの一方の端の余白量が基準以上であり、かつ、第２スキャン画像Ｉ２２の左右のうちの少なくとも一方の端の余白量が基準以上である場合には、図１９のＳ６７０が実行されて、全ての２端の組み合わせが、第２の探索処理の処理対象であると決定される。したがって、この場合には、ＣＰＵ４１０は、第１スキャン画像Ｉ１２の左右のうちの他方の端の余白量、および、第２スキャン画像Ｉ２２の左右のうちの他方の端の余白量に拘わらずに、全ての２端の組み合わせについて、第２の探索処理を実行する。
【０１７１】
スキャンパターンＢが用いられる場合には、各スキャン画像の左右の少なくとも一方の端に余白ができる（図１４）。そして、この場合には、余白量だけでは、第２の探索処理の処理対象とすべき２端の組み合わせと、第２の探索処理の処理対象とすべきでない２端の組み合わせと、を分離できない。本実施例では、このような場合に、全ての２端の組み合わせについての第２の探索処理が実行されるので、適切な配置位置を決定することができる。
【０１７２】
ところで、スキャンパターンＡが用いられる場合には、図３の原稿１０の中央部ＣＡは、図６（Ａ）に示すように、第１スキャン画像Ｉ１２内の原稿画像と、第２スキャン画像Ｉ２２内の原稿画像と、の両方に現れる。このために、このために、これらの２個の原稿画像が重なる第１種の配置位置を決定することが適切である。一方、スキャンパターンＢが用いられる場合には、原稿１０の折れ線ＶＬ上に位置する線状の画像は、第１スキャン画像Ｉ１２内の原稿画像と、第２スキャン画像Ｉ２２内の原稿画像と、のいずれにも表れない。また、これらの２個の原稿画像の両方に表れる原稿１０上の領域は存在しない。このために、これらの２個の原稿画像が重ならない第２種の配置位置を決定することが適切である。本実施例によれば、用いられたスキャンパターンに応じた適切な探索処理を実行することによって、適切な配置位置が決定される。この結果、原稿１０を適切に再現できる処理済画像を表す処理済画像データを生成するこができる。
【０１７３】
Ｃ．第３実施例：
第３実施例では、図２のＳ６５の配置位置決定処理が、第１実施例と異なっている。また、第３実施例では、図２のＳ５５の処理対象決定処理と、Ｓ６５の配置位置決定処理と、の間に、図２に破線で示す処理順序決定処理が行われる。第３実施例のその他の処理は、第１実施例と同じである。また、第３実施例では、第１実施例と同様に、スキャンパターンＡが用いられることが想定されており、スキャンパターンＢが用いられることは、想定されていない。
【０１７４】
Ｃ−１．配置位置決定処理：
図２１は、第３実施例の配置位置決定処理のフローチャートである。Ｓ２６０では、図１０のＳ２３０と同様に、ＣＰＵ４１０は、処理対象決定処理にて第１の探索処理の処理対象であると決定された１個以上の２端の組み合わせの中から、１個の組み合わせを選択する。Ｓ２６５では、図１０のＳ２３５と同様に、ＣＰＵ４１０は、選択された２端の組み合わせについて第１の探索処理を実行する。
【０１７５】
Ｓ２７０では、ＣＰＵ４１０は、Ｓ２６５の第１の探索処理にて、選択された２端の組み合わせについて、類似領域ＣＰａが決定されたか否かを判断する。類似領域ＣＰａが決定された場合には（Ｓ２７０：ＹＥＳ）、Ｓ２７５にて、ＣＰＵ４１０は、現在の処理対象の２端の組み合わせにて、第１種の配置位置を決定して、配置位置決定処理を終了する。すなわち、現在の処理対象の２端の組み合わせについての第１の探索処理で用いられた基準領域ＳＰａと、決定された類似領域ＣＰａと、が重なるように、第１スキャン画像Ｉ１１と第２スキャン画像Ｉ２２との相対的な配置位置が、決定される。
【０１７６】
類似領域ＣＰａが決定されなかった場合には（Ｓ２７０：ＮＯ）、Ｓ２８０にて、ＣＰＵ４１０は、第１の探索処理の処理対象であると決定された２端の組み合わせを全て選択したか否かを判断する。未選択の２端の組み合わせがある場合には（Ｓ２８０：ＮＯ）、ＣＰＵ４１０は、Ｓ２６０に戻って、当該２端の組み合わせを選択する。全ての処理対象の２端の組み合わせが選択済である場合には（Ｓ２８０：ＹＥＳ）、Ｓ２８５にて、ＣＰＵ４１０は、２個のスキャン画像Ｉ１２、Ｉ２２の相対的な配置位置をデフォルトの位置に決定して、配置位置決定処理を終了する。
【０１７７】
以上の説明から解るように、第３実施例では、第１の探索処理の処理対象であると決定された２端の組み合わせが複数ある場合において、第１の組み合わせについての第１の探索処理にて、類似領域ＣＰａが決定された場合には、第１の組み合わせより処理順序が後の第２の組み合わせについて、第１の探索処理は、実行されない。この点が、処理対象決定処理にて処理対象であると決定された２端の組み合わせの全てについて、必ず第１の探索処理が実行される第１実施例と異なる。
【０１７８】
このために、第３実施例では、第１の探索処理の処理対象であると決定された２端の組み合わせが複数ある場合には、これらの２端の組み合わせについて、第１の探索処理を行う処理順序を、原稿１０を正しく再現できる可能性が高い順から先に処理されるように決定することで、全体の処理時間を低減することができる。そこで、本実施例では、図２のＳ６０の処理順序決定処理が追加されている。
【０１７９】
Ｃ−２．処理順序決定処理：
図２２は、第３実施例の処理順序決定処理のフローチャートである。Ｓ８００では、ＣＰＵ４１０は、処理対象決定処理にて第１の探索処理の処理対象であると決定された２端の組み合わせが複数個あるか否かを判断する。第１の探索処理の処理対象であると決定された２端の組み合わせが１個である場合には（Ｓ８００：ＮＯ）、処理順序を決める必要がないので、ＣＰＵ４１０は、処理を終了する。
【０１８０】
第１の探索処理の処理対象であると決定された２端の組み合わせが複数個ある場合には（Ｓ８００：ＹＥＳ）、Ｓ８０５にて、ＣＰＵ４１０は、該複数個の２端の組み合わせの中から、１個の組み合わせを選択する。Ｓ８１０では、ＣＰＵ４１０は、選択された２端の組み合わせを構成する第１スキャン画像Ｉ１２内の原稿画像の端に沿う第１の端部画像ＴＩ１と、選択された２端の組み合わせを構成する第２スキャン画像Ｉ２２内の原稿画像の端に沿う第２の端部画像ＴＩ２と、のヒストグラムをそれぞれ生成する。
【０１８１】
具体例として、図６（Ｂ）には、選択された２端の組み合わせを構成する２端が、第１スキャン画像Ｉ１２内の原稿画像の右端ＲＴ１と、第２スキャン画像Ｉ２２内の原稿画像の右端ＲＴ２と、である場合の、第１の端部画像ＴＩ１および第２の端部画像ＴＩ２が図示されている。この例に示すように、端部画像ＴＩ１、ＴＩ２は、スキャン画像Ｉ１２、Ｉ２２の処理対象の端（図６（Ｂ）ではいずれも右端）に沿って、当該処理対象の端の全長に亘って延びる部分画像である。端部画像ＴＩ１、ＴＩ２の横方向の幅Ｗｐは、例えば、原稿１０の中央部ＣＡ（図３）の幅Ｗｃａ、すなわち、２個のスキャン画像Ｉ１２、Ｉ２２の両方に表現され得る領域の幅Ｗｃａに基づいて、予め定められた値である。幅Ｗｃａの最大値は、例えば、想定される原稿１０の特定方向の幅ＷＳ（図３の例では、Ａ３の長手方向の幅）と、該原稿１０の読み取り時に原稿１０の特定方向に対応する原稿台２５５の方向の幅ＷＴ（図４の例では、原稿台２５５の短手方向の幅）と、に基づいて定まる値（２×ＷＴ−ＷＳ）である。幅Ｗｐは、例えば、幅Ｗｃａの最大値の７０％〜１００％の値に設定される。
【０１８２】
ＣＰＵ４１０は、第１の端部画像ＴＩ１のＲＧＢの各成分値のヒストグラムと、第２の端部画像ＴＩ２のＲＧＢの各成分のヒストグラムと、をそれぞれ生成する。例えば、Ｒ成分のヒストグラムは、対象の端部画像内の各画素を、各画素が有するＲ成分値に応じて、複数のクラスに分類することによって生成される。本実施例では、Ｒ成分値が取り得る２５６階調の階調値のそれぞれを、１個のクラスとして、ヒストグラムデータが生成される。他の成分値のヒストグラムについても同様である。
【０１８３】
なお、ヒストグラムは、端部画像ＴＩ１、ＴＩ２内の全ての画素について生成されなくても良く、端部画像ＴＩ１、ＴＩ２内の一部の画素について生成されても良い。例えば、端部画像ＴＩ１、ＴＩ２内に均一に分散するように選択された一部の画素、例えば、数画素おきに選択された一部の画素について、ヒストグラムが生成されても良い。また、ヒストグラムは、ＲＧＢの各成分のヒストグラムに限らず、例えば、輝度、彩度、色相のうちの全部または一部のヒストグラムであっても良い。
【０１８４】
図２３は、端部画像ＴＩ１、ＴＩ２のＲ成分のヒストグラムの一例を示す図である。破線は、第１の端部画像ＴＩ１のヒストグラムであり、実線は、第２の端部画像ＴＩ２のヒストグラムである。
【０１８５】
Ｓ８１５では、ＣＰＵ４１０は、第１の端部画像ＴＩ１のヒストグラムと、第２の端部画像ＴＩ２のヒストグラムと、の重複面積Ｓｏｖを算出する。図２３には、Ｒ成分の重複面積が、ハッチングで図示されている。例えば、ＣＰＵ４１０は、Ｒ成分のヒストグラムの２５６個のクラスのそれぞれについて、第１の端部画像ＴＩ１のヒストグラムの画素数（度数）と、第２の端部画像ＴＩ２のヒストグラムの画素数（度数）と、のうちの小さい方の値を特定する。そして、ＣＰＵ４１０は、２５６個のクラスのそれぞれについて特定された該小さい方の値の合計値を、Ｒ成分の重複面積として算出する。ＣＰＵ４１０は、Ｇ成分、Ｂ成分についても同様に重複面積を算出し、ＲＧＢの３個の成分の重複面積の合計値を、重複面積Ｓｏｖとして算出する。重複面積Ｓｏｖは、２個の端部画像ＴＩ１、ＴＩ２のヒストグラムの類似度を示す特徴値である。重複面積Ｓｏｖが大きいほど、２個の端部画像ＴＩ１、ＴＩ２のヒストグラムが類似していることを示す。変形例では、ＲＧＢの３個の成分のいずれか一つの重複面積を重複面積Ｓｏｖとして算出してもよい。また、特に、ヒストグラムとして、輝度を生成する場合は、輝度のみを用いて重複面積Ｓｏｖを算出してもよい。
【０１８６】
Ｓ８２０では、処理対象であると決定された２端の組み合わせを全て選択したか否かを判断する。未選択の２端の組み合わせがある場合には（Ｓ８２０：ＮＯ）、ＣＰＵ４１０は、Ｓ８０５に戻って、当該２端の組み合わせを選択する。全ての処理対象の２端の組み合わせが選択済である場合には（Ｓ８２０：ＹＥＳ）、ＣＰＵ４１０は、Ｓ８２５に処理を進める。Ｓ８２５に処理が進んだ時点では、処理対象であると決定された２端の組み合わせの全てについて、重複面積Ｓｏｖが算出されている。
【０１８７】
Ｓ８２５では、ＣＰＵ４１０は、重複面積Ｓｏｖが大きい順に、処理対象であると決定された複数個の２端の組み合わせの処理順序を決定して、処理順序決定処理を終了する。
【０１８８】
以上説明した第３実施例によれば、複数個の２端の組み合わせのそれぞれについて第１の探索処理を実行する場合に、複数個の２端の組み合わせのそれぞれについて、組み合わせを構成する２個の端に沿う２個の端部画像ＴＩ１、ＴＩ２のヒストグラムを生成される（Ｓ８１０）。そして、該ヒストグラムを用いて、２個の端部画像ＴＩ１、ＴＩ２のヒストグラムの類似度が比較的高い組み合わせに対する第１の探索処理の順序が、２個の端部画像ＴＩ１、ＴＩ２のヒストグラムの類似度が比較的低い組み合わせに対する第１の探索処理の順序より先になるように、複数個の２端の組み合わせの処理順序が決定される（Ｓ８１５、Ｓ８２５）。この結果、２個の端部画像ＴＩ１、ＴＩ２のヒストグラムの類似度が高い組み合わせに対する第１の探索処理の順序が先になるように決定された処理順序に従って、第１の探索処理が実行され、特定の組み合わせについて配置位置が決定された場合に、複数個の組み合わせのうち、特定の組み合わせより決定済の順序が後の組み合わせについて、第１の探索処理が実行されないので、第１の探索処理の処理時間をより低減できる。原稿１０を再現できる組み合わせを構成する２端の端部画像ＴＩ１、ＴＩ２は、他の組み合わせを構成する２端の端部画像ＴＩ１、ＴＩ２より類似した画像であると考えられるからである。そして、第１の探索処理と比較して、ヒストグラムの生成処理に要する処理時間は、大幅に短いので、処理順序決定処理を追加することによる処理時間の増加よりも、第１の探索処理の処理時間をより低減できる期待値の方が大きい。
【０１８９】
Ｄ．第４実施例：
第４実施例は、配置順序決定処理が、第３実施例と異なる。第４実施例の他の処理は、第３実施例と同じである。図２４は、第４実施例の配置順序決定処理のフローチャートである。図２４のＳ９００〜Ｓ９１５の処理は、図２２のＳ８００〜Ｓ８１５の処理と同じである。
【０１９０】
Ｓ９２０では、ＣＰＵ４１０は、選択された２端の組み合わせについて算出された重複面積Ｓｏｖは、閾値ＴＨｓ以上であるか否かを判断する。閾値ＴＨｓは、２個の端部画像ＴＩ１、ＴＩ２が、ある程度類似していることを示す重複面積Ｓｏｖの値に実験的に予め決定される値である。例えば、閾値ＴＨｓは、第１の端部画像ＴＩ１のヒストグラムの面積の３０〜６０％の値である。
【０１９１】
重複面積Ｓｏｖが閾値ＴＨｓ以上である場合には（Ｓ９２０：ＹＥＳ）、ＣＰＵ４１０は、Ｓ９３０にて、選択された２端の組み合わせを優先対象に決定する。重複面積Ｓｏｖが閾値ＴＨｓ未満である場合には（Ｓ９２０：ＮＯ）、ＣＰＵ４１０は、Ｓ９３５にて、選択された２端の組み合わせを非優先対象に決定する。
【０１９２】
Ｓ９４０では、ＣＰＵ４１０は、２個の端部画像ＴＩ１、ＴＩ２のヒストグラムのダイナミックレンジＤＲを算出する。例えば、第１の端部画像ＴＩ１のＲ成分のヒストグラムの画素数（度数）が、最小値（０）のクラスから最小値より大きな成分値のクラスに向かって順次に加算される。そして、当該加算値が第１の端部画像ＴＩ１の画素数の所定割合（本実施例では５％）を超えた時点におけるクラスのＲ成分値が、下限値Ｒ１に決定される。さらに、第１の端部画像ＴＩ１のＲ成分のヒストグラムの画素数（度数）が、最大値（２５５）のクラスからから最大値より小さな成分値のクラスに向かって順次に加算される。そして、当該加算値が、上記所定割合（本実施例では５％）を超えた時点におけるクラスのＲ成分値が、上限値Ｒ２に決定される。第１の端部画像ＴＩ１のＲ成分値のダイナミックレンジＤＲ１＿Ｒは、（Ｒ２−Ｒ１）に決定される。同様にして、第２の端部画像ＴＩ２のＲ成分値のダイナミックレンジＤＲ２＿Ｒが決定され、２個の端部画像ＴＩ１、ＴＩ２のＲ成分値のダイナミックレンジの和（ＤＲ１＿Ｒ＋ＤＲ２＿Ｒ）が、Ｒ成分のダイナミックレンジＤＲ＿Ｒとして算出される。同様にして、Ｇ成分、および、Ｂ成分のダイナミックレンジＤＲ＿Ｇ、ＤＲ＿Ｂが算出され、３個の成分のダイナミックレンジの和が、算出すべきダイナミックレンジＤＲとして算出される（ＤＲ＝ＤＲ＿Ｒ＋ＤＲ＿Ｇ＋ＤＲ＿Ｂ）。
【０１９３】
ダイナミックレンジＤＲは、２個の端部画像ＴＩ１、ＴＩ２の複雑さを示す特徴値である。例えば、２個の端部画像ＴＩ１、ＴＩ２が、原稿１０の背景などのベタ領域などの比較的単純な画像を表す場合には、該２個の端部画像ＴＩ１、ＴＩ２のダイナミックレンジＤＲは、比較的小さくなる。２個の端部画像ＴＩ１、ＴＩ２が、原稿１０内のオブジェクトなどの比較的複雑な画像を表す場合には、該２個の端部画像ＴＩ１、ＴＩ２のダイナミックレンジＤＲは、比較的大きくなる。
【０１９４】
Ｓ９４５では、処理対象であると決定された２端の組み合わせを全て選択したか否かを判断する。未選択の２端の組み合わせがある場合には（Ｓ９４５：ＮＯ）、ＣＰＵ４１０は、Ｓ９０５に戻って、当該２端の組み合わせを選択する。全ての処理対象の２端の組み合わせが選択済である場合には（Ｓ９４５：ＹＥＳ）、ＣＰＵ４１０は、Ｓ９５０に処理を進める。Ｓ９５０に処理が進んだ時点では、処理対象であると決定された２端の組み合わせの全てについて、２個の端部画像ＴＩ１、ＴＩ２のダイナミックレンジＤＲが算出されるとともに、当該２端の組み合わせの全てが、優先対象か非優先対象のいずれかに決定されている。
【０１９５】
Ｓ９５０では、ＣＰＵ４１０は、優先対象に決定された１個以上の２端の組み合わせについて、ダイナミックレンジＤＲが大きい順に、処理順序を決定する。
【０１９６】
Ｓ９５５では、ＣＰＵ４１０は、非優先対象に決定された１個以上の２端の組み合わせについて、ダイナミックレンジＤＲが大きい順に、処理順序を決定する。ただし、非優先対象に決定された１個以上の２端の組み合わせの処理順序は、優先対象に決定された１個以上の２端の組み合わせより後の順序に決定される。
【０１９７】
以上説明した第４実施例によれば、複数個の２端の組み合わせのそれぞれについて第１の探索処理を実行する場合に、複数個の２端の組み合わせのそれぞれについて、２個の端部画像ＴＩ１、ＴＩ２の複雑さを示す特徴値（具体的には、ダイナミックレンジＤＲ）が算出される（Ｓ９４０）。そして、２個の端部画像ＴＩ１、ＴＩ２の複雑さが比較的高い２端の組み合わせの処理順序が、２個の端部画像ＴＩ１、ＴＩ２の複雑さが比較的低い２端の組み合わせの処理順序より先になるように、複数個の２端の組み合わせの処理順序が決定される。
【０１９８】
原稿１０を正しく再現できる組み合わせを構成する２端の端部画像ＴＩ１、ＴＩ２は、原稿１０の中央部ＣＡを示す画像であるので、原稿１０の主要なオブジェクトを含む可能性が高い。このために、原稿１０を正しく再現できる組み合わせを構成する２端の端部画像ＴＩ１、ＴＩ２は、比較的複雑な画像である可能性が高い。一方、その他の組み合わせを構成する２端の端部画像ＴＩ１、ＴＩ２は、原稿１０の端部の領域を示す画像を含む。例えば、原稿１０の端部の領域は、背景などの単純な画像を含む場合があるので、中央部ＣＡと比較して単純な画像である場合がある。このために、上述のように、２個の端部画像ＴＩ１、ＴＩ２が複雑である２端の組み合わせを優先するように決定された処理順序に従って、第１の探索処理が実行することで、第１の探索処理の処理時間をより低減できる。さらに、原稿１０を正しく再現できない２端の組み合わせで、誤って配置位置が決定される可能性を低減することができる。
【０１９９】
Ｄ．変形例：
（１）上記第３、第４実施例のように図２のＳ６０の処理順序決定処理が実行される場合には、図２のＳ５５の処理対象決定処理は、省略されても良い。この場合には、図２のＳ６０にて、全ての２端の組み合わせについて、処理順序を決定すれば良い。この場合において、例えば、スキャンパターンＢのみが用いられることが想定される場合には、第１の探索処理に代えて、第２の探索処理が行われても良い。すなわち、第３、第４実施例で決定される配置位置は、２個の対象画像が重なる配置位置であっても重ならない配置位置であっても良く、一般的には、一方の対象画像のいずれかの端に沿う端部画像と他方の対象画像のいずれかの端に沿う端部画像とを対応付ける配置位置であれば良い。
【０２００】
（２）第２実施例において、図２のＳ３５およびＳ４０にて、第１スキャン画像Ｉ１２の両端の余白量が基準未満であると判断された場合には、スキャンパターンＡが用いられ、スキャンパターンＢが用いられていない、と考えられる。この場合には、ＣＰＵ４１０は、図２のＳ４５、Ｓ５０の第２スキャン画像Ｉ２２の余白量判定処理を省略しても良い。そして、Ｓ５５の処理対象決定処理では、ＣＰＵ４１０は、全ての２端の組み合わせを第１の探索処理の処理対象であると決定し、全ての２端の組み合わせを第２の探索処理の処理対象でないと決定しても良い。
【０２０１】
（３）第２実施例において、図２のＳ３５およびＳ４０にて、第１スキャン画像Ｉ１２の両端の余白量が基準以上であると判断された場合には、スキャンパターンＢが用いられ、スキャンパターンＡが用いられていない、と考えられる。この場合には、ＣＰＵ４１０は、図２のＳ４５、Ｓ５０の第２スキャン画像Ｉ２２の余白量判定処理を省略しても良い。そして、Ｓ５５の処理対象決定処理では、ＣＰＵ４１０は、全ての２端の組み合わせを第２の探索処理の処理対象であると決定し、全ての２端の組み合わせを第１の探索処理の処理対象でないと決定しても良い。
【０２０２】
（４）第３実施例にて算出される２個のヒストグラムの重複面積Ｓｏｖは、２個のヒストグラムの類似度を示す特徴値の一例であり、これに限られない。２個のヒストグラムの類似度を示す特徴値は、例えば、２個のヒストグラムの複数個のピーク位置の一致度などの他の特徴であっても良い。また、第３実施例に算出される２個のヒストグラムのダイナミックレンジは、２個の端部画像ＴＩ１、ＴＩ２の複雑さを示す特徴値の一例であり、これに限られない。２個の端部画像ＴＩ１、ＴＩ２の複雑さを示す特徴値は、例えば、２個のヒストグラムの分散値や、２個の端部画像ＴＩ１、ＴＩ２のエッジ量などの他の特徴値であっても良い。
【０２０３】
（５）第１実施例において、図２のＳ４５、Ｓ５０の処理は、省略されても良い。すなわち、第１スキャン画像Ｉ１２の両端の余白量判定処理が実行され、第２スキャン画像Ｉ２２の余白量推定処理が省略されても良い。この場合には、例えば、第１スキャン画像Ｉ１２の左右の端のうちの一方の余白量のみが基準値未満である場合には、第１スキャン画像Ｉ１２の左右の端のうちの余白量のみが基準値未満である端を含む２個の組み合わせを、第１の探索処理の処理対象であると決定し、残りの２個の組み合わせを、第１の探索処理の処理対象でないと決定すれば良い。また、第１スキャン画像Ｉ１２の左右の両端の余白量が基準値未満である場合には、全ての組み合わせを、第１の探索処理の処理対象であると決定すれば良い。
【０２０４】
（６）スキャンパターンＢでは、折れ線ＶＬで二つ折りにされた原稿１０の両面を読み取ることによって、２個の原稿画像ＢＩＬ、ＢＩＲをそれぞれ含む画像を表すスキャンデータが生成されている（図２のＳ１５）。これに代えて、折れ線ＶＬで切断されて物理的に２つに分離された原稿１０を、２回に分けて読み取ることによって、２個の原稿画像ＢＩＬ、ＢＩＲをそれぞれ含む画像を表すスキャンデータが生成されてもよい。
【０２０５】
（７）上記実施例の余白量判定処理では、基本的には、スキャン画像の端と、原稿画像の端と、の間の領域が余白とされるが、原稿の端部（背景）が白であり、かつ、原稿台の色が白である場合には、原稿画像の端が判断できずに、スキャン画像の端と、原稿画像のオブジェクトの端と、の間が余白とされる可能性がある。この場合であっても、問題なく適切に配置済画像が生成される。具体的には、原稿の中央部（接続されるべき端）には、オブジェクトがあると想定されるので、スキャン画像の原稿の中央部に対応する端では、余白が正しく判断される。したがって、第１、第３実施例では、スキャン画像の両端のうち、原稿の中央部に対応する端では余白量が基準値未満となり、原稿の端部に対応する端では余白量が基準値以上となる。このために、結果的に原稿の中央部に対応する端が、配置済画像の中央部に位置するように、配置済画像が生成されることになる。また、第２および第４実施例では、必ず、原稿の中央部に対応する端を含む２端の組み合わせも、原稿の端部に対応する端を含む２端の組み合わせも探索処理の対象とされることになる。したがって、第１〜第４実施例のいずれでも、問題なく適切に配置済画像が生成される。
【０２０６】
（８）上記実施例では、２個のスキャン画像Ｉ１２、Ｉ２２内の２個の原稿画像が横方向に並んで配置される配置済画像を表す配置済画像データが生成される。これに代えて、一の原稿画像と、他の原稿画像と、が縦方向に並んで配置される配置済画像を表す配置済画像データが生成されても良い。この場合には、例えば、一の原稿画像を含むスキャン画像の下端の余白量と、他の原稿画像を含むスキャン画像の上端の余白量と、がそれぞれ基準以上であるか否かが判断される。そして、図２のＳ５５の処理対象決定処理では、当該判断結果に基づいて、２個の原稿画像の下端と上端との組み合わせについて、探索処理の処理対象とするか否かが決定されれば良い。また、図２のＳ６０の配置順序決定処理では、２個の原稿画像の下端と上端との組み合わせについて、処理順序が決定されれば良い。
【０２０７】
（９）上記実施例においてサーバ４００のＣＰＵ４１０によって実行される処理（例えば、図２のＳ２５〜Ｓ７０の処理）は、例えば、複合機２００のＣＰＵ２１０によって実行されても良い。この場合には、サーバ４００は不要であり、複合機２００が単体で図２の処理を実行すればよい。また、サーバ４００のＣＰＵ４１０によって実行される処理は、複合機２００と接続されたパーソナルコンピュータ５００（図１）のＣＰＵ（図示省略）によって実行されても良い。例えば、パーソナルコンピュータ５００のＣＰＵは、パーソナルコンピュータ５００にインストールされたスキャナドライバプログラムを実行することによって、これらの処理を実行しても良い。また、サーバ４００は、本実施例のように１つの計算機で構成されても良く、互いに通信可能な複数個の計算機を含む計算システムによって構成されていても良い。
【０２０８】
（１０）上記実施例では、サーバ４００は、図２のＳ２５にて、スキャンデータを画像ファイルの形式で取得し、図２のＳ７５にて、配置済画像データを画像ファイルの形式で出力（送信）している。これに代えて、例えば、上記変形例のように、複合機２００のＣＰＵ２１０がＳ２５〜Ｓ４５の処理を実行する場合には、ＣＰＵ２１０は、スキャナ部２５０を用いて生成されたスキャンデータを画像ファイルに変換することなく、そのまま取得しても良い。また、ＣＰＵ２１０は、配置済画像データを画像ファイルに変換することなく、そのまま配置済画像データを用いて用紙に印刷することによって、配置済画像データを出力しても良い。
【０２０９】
（１１）上記実施例では、２個の画像データを用いて、２個の原稿画像が配置された配置済画像を表す配置済像データが生成されている。これに限らず、任意の個数の画像データを用いて、１個の配置済画像が生成されても良い。例えば、４個の画像データを用いて、４個の原稿画像が配置された配置済画像を表す配置済画像データが生成されてもよい。
【０２１０】
（１２）上記実施例では、配置済画像データの生成に用いられる２個の画像データは、複合機２００のスキャナ部２５０によって生成される。これに限らず、光学的に読み取られた画像を表す種々の画像データを採用可能である。例えば、デジタルカメラによる撮影によって二つ折りにされた原稿１０の両面がそれぞれ光学的に読み取られることによって、２個の画像データが生成されても良い。あるいは、デジタルカメラによる撮影によって、原稿１０の左領域１０Ｌと部分領域ＣＡＲと、該原稿１０の右領域１０Ｒと部分領域ＣＡＬと、がそれぞれ光学的に読み取られることによって、２個の画像データが生成されても良い。また、これらの画像データは、読取装置（スキャナやデジタル）によって生成された画像データに限らず、描画作成や文書作成などのアプリケーションプログラムを用いて作成された画像データであっても良い。
【０２１１】
（１３）上記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。
【０２１２】
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【符号の説明】
【０２１３】
２００...複合機、２１０...ＣＰＵ、２２０...揮発性記憶装置、２２１...バッファ領域、２３０...不揮発性記憶装置、２３１...制御プログラム、２４０...プリンタ部、２５０...スキャナ部、２５５...原稿台、２６０...操作部、２７０...表示部、２８０...通信部、４００...サーバ、４１０...ＣＰＵ、４２０...揮発性記憶装置、４２１...バッファ領域、４３０...不揮発性記憶装置、４３１...コンピュータプログラム、４３３...ＵＩデータ群、４８０...通信部、５００...パーソナルコンピュータ、１０００...画像処理システム
【図１】
0006558094.tif 000002
【図２】
0006558094.tif 000003
【図３】
0006558094.tif 000004
【図４】
0006558094.tif 000005
【図５】
0006558094.tif 000006
【図６】
0006558094.tif 000007
【図７】
0006558094.tif 000008
【図８】
0006558094.tif 000009
【図９】
0006558094.tif 000010
【図１０】
0006558094.tif 000011
【図１１】
0006558094.tif 000012
【図１２】
0006558094.tif 000013
【図１３】
0006558094.tif 000014
【図１４】
0006558094.tif 000015
【図１５】
0006558094.tif 000016
【図１６】
0006558094.tif 000017
【図１７】
0006558094.tif 000018
【図１８】
0006558094.tif 000019
【図１９】
0006558094.tif 000020
【図２０】
0006558094.tif 000021
【図２１】
0006558094.tif 000022
【図２２】
0006558094.tif 000023
【図２３】
0006558094.tif 000024
【図２４】
0006558094.tif 000025