(57)【特許請求の範囲】
【請求項１】
入力機器より複数回に分けて読み込んだ入力画像を結合する装置であって、
前記読み込んだ複数の入力画像データのおおまかな重なり領域を検出する第一の重なり位置検出手段と、
該第一の重なり位置検出手段により検出されたおおまかな重なり領域を複数の矩形領域に分割し、該分割した矩形領域の中から、正確な重なり位置検出に用いる矩形領域と、結合面として用いる矩形領域とを抽出する第二の重なり位置検出手段と、
該第二の重なり位置検出手段により検出された前記正確な重なり位置検出に用いる矩形領域を用いて、前記複数の入力画像の正確な重なり位置を決定すると共に、前記結合面として用いる矩形領域において前記複数の入力画像を合成処理し、該複数の画像を結合する画像結合手段と、
を有することを特徴とする画像結合装置。
【請求項２】
入力機器より複数回に分けて読み込んだ入力画像を結合する装置であって、
前記読み込んだ複数の入力画像データを一時的に記憶すると共に、該入力画像データのデータ量を少なくした画像データを作成し、該作成した画像データを用いて前記複数の入力画像の結合位置関係とおおまかな重なり領域を検出する第一の重なり位置検出手段と、
前記読み込んだ各入力画像データを単一の色成分を持つ階調画像に変換した階調画像データを用い、該階調画像データにおいて前記第一の重なり位置検出手段により検出されたおおまかな重なり領域に対応する領域を、複数の矩形領域に分割し、該複数の矩形領域の中から、正確な重なり位置検出に用いる矩形領域と、画像の結合面に用いる矩形領域とを抽出する第二の重なり位置検出手段と、
前記読み込んだ各入力画像データを用い、該第二の重なり位置検出手段により検出された前記正確な重なり位置検出に用いる矩形領域を用いて、前記複数の入力画像の正確な重なり位置を決定すると共に、前記画像の結合面に用いる矩形領域において前記複数の入力画像を合成処理し、該複数の画像を結合する画像結合手段と、
を有することを特徴とする画像結合装置。
【請求項３】
前記結合位置関係は、前記複数の入力画像の一方の入力画像に対する他方の入力画像の鏡像反転有無及び／または回転角度であることを特徴とする請求項１または２に記載の画像結合装置。
【請求項４】
前記正確な重なり位置検出に用いる矩形領域は、前記複数の矩形領域のうち、所定の値以上の色差の濃度成分を含む矩形領域の中から選択されることを特徴とする請求項１〜３の何れかに記載の画像結合装置。
【請求項５】
前記正確な重なり位置検出に用いる矩形領域は、前記複数の矩形領域に含まれる複数の列から選択されることを特徴とする請求項４記載の画像結合装置。
【請求項６】
前記画像の結合面に用いる矩形領域は、前記複数の矩形領域のうち、所定の値以下の色差の濃度成分を含む矩形領域の中から選択されることを特徴とする請求項１〜４の何れかに記載の画像結合装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数回に分けて取りこんだ画像を結合する装置に関する。
【０００２】
【従来の技術、及び発明が解決しようとする課題】
近年、据え置き型のフラットベッドスキャナに加え、持ち運びが容易な手動操作型の小型ハンドヘルドスキャナが開発・製品化されている。ハンドヘルドスキャナは本体が小型であるため一度にスキャンできる幅が狭い。スキャナ幅を超える大きな画像を取り込むためには、画像を複数回に分けて取り込み合成する必要がある。または、スキャナ幅を超えない場合でも、ユーザが、複数回に分けてスキャンするような操作を行う場合が考えられる（スキャンの仕方はユーザの自由であるので、この様な事態も起こり得る）。
【０００３】
従来より、複数回に分けて取り込んだ画像を結合する技術はいくつか存在する。しかし、フルカラーの画像を結合するには、処理に必要なメモリ容量、処理時間が大きいといった問題がある。ＰＣ（パソコン；特にノート型パソコン、またはＰＤＡ／ハンドヘルドＰＣ等の携帯型情報処理装置）の処理能力は向上しているが、より画質を向上するため、画像のデータ量も増加しており、メモリ容量、処理時間の削減は必須である。
【０００４】
パノラマ写真等に関する公知の結合技術は、正立した画像に対して結合面が左右に限定することにより、処理時間をある程度短縮している。
しかしハンドヘルドスキャナでは、ユーザは紙面に対してどちらの方向からも読み取りが可能であるため（図２３、図２４）、画像の取り込み方向によっては入力画像が鏡像反転したり（図２５）、かつ／または、回転する場合がある為、２つの画像の重なり位置を検出するのに、非常に時間が掛かっていた。
【０００５】
例えば、図２６（ａ）に示すように、ハンドヘルドスキャナを用いてユーザが、１回目のスキャンを図の上から下方向（図の1)で示す）に行ない、２回目のスキャンを図の右から左方向（図の2)で示す）に行なったとすると、このハンドヘルドスキャナに接続されている情報処理端末（上記パソコン（特にノート型パソコン）、またはＰＤＡ／ハンドヘルドＰＣ等の携帯型情報処理装置）側に入力される２つの画像データ（第１の画像、第２の画像）は、図２６（ｂ）に示すようになる。
【０００６】
このような例では、まず、図２７（ａ）に示すように、第１の画像に対して第２の画像を上下左右に移動させて（勿論、その逆に、第２の画像を固定して、第１の画像を第２の画像の上下左右の位置に移動させてもよい）、重なり位置の検出を試みるが、当然、ここでは失敗する。
【０００７】
よって、次に、図２７（ｂ）に示すように、第２の画像を回転させて（ここでは、９０°回転させる）、再度、上記と同様に、第１の画像に対して第２の画像を上下左右に移動させて重なり位置の検出を試みると、今度は、第１の画像の右側に第２の画像を移動させたときに、重なり位置の検出できる（同図（ｃ））。
【０００８】
この例では、９０°回転させたときに重なり位置を検出できたが、更に回転させなければ（１８０°、２７０°）重なり位置を検出できない場合もある。更に、全ての回転角度（０°、９０°、１８０°、２７０°）で試してみても重なり位置を検出できない場合（すなわち、鏡像反転している場合）には、更に、第２の画像を鏡像反転させた上で、再度、０°、９０°、１８０°、２７０°の回転角度で重なり位置の検出を試みる必要がある。
【０００９】
上述したように、２つの画像の重なり位置の検出に多くのメモリ容量及び処理時間を要していた。すなわち、入力画像の回転角度（０°／９０°／１８０°／２７０°）の４通り、及び／または、鏡像反転有無（２通り）を判定する必要がある為に、回転角度（４通り）×鏡像反転有無で計８通り（更に、図２７（ａ）に示すような上下左右の検出を含めれば３２通り）の中のどれに当たるのかが分かるまでに多くのメモリ容量及び処理時間を要していた）。
【００１０】
このような問題に対して、従来より、ハードウェアによってスキャナの移動量や進行方向を検出して、結合に利用する方法がある。しかしながら、この方法では、このような検出を行うハードウェアが加わる分、コストが高くなる／スキャナのサイズや重量が増えるといった問題がある。
【００１１】
また、パノラマ写真等の結合技術においても、正立した画像に対して結合面を左右に限定するという前提がなければ、同じことが言える（よって、この場合、厳密に言えば、パノラマ写真とは言わないのかもしれないが、とにかく、本発明の対象は、ハンドヘルドスキャナで読取った画像データに限るものではなく、例えばディジタルカメラ／ディジタルＡＶなどで、ユーザが、左右に限定されることなく自由に撮影した画像データも対象とする。）
本発明の課題は、１つ目の画像に対し２つ目の画像が相対的に鏡像反転かつ/ または回転する場合であっても、スキャナの移動量や進行方向を検出するハードウェアを利用せずに、処理に必要なメモリ容量を削減し、高速かつ自動的に２つの画像を結合できる画像結合装置を提供することである。
【００１２】
【課題を解決するための手段】
本発明による請求項１記載の画像結合装置は、入力機器より複数回に分けて読み込んだ入力画像を結合する装置であって、前記読み込んだ複数の入力画像データよりデータ量を少なくした画像データを作成し、該作成した画像データを用いて前記複数の入力画像の結合位置関係とおおまかな重なり領域を検出する第一の重なり位置検出手段と、該第一の重なり位置検出手段により検出された結合位置関係とおおまかな重なり領域とに基づいて、前記複数の入力画像を結合する画像結合手段とを有するように構成する。
【００１３】
ユーザが、例えばハンドヘルドスキャナ等を用いて自由な操作で複数回に分けて画像を取込んだ場合、この複数の画像の結合位置関係（鏡像反転有無、回転角度）（更に上下左右の位置関係）がどのようになっているか分からない。
【００１４】
上記画像結合装置では、これを、第一の重なり位置検出手段によって例えば入力画像の縮小画像等のようなデータ量を少なくした画像データを用いて検出している（上下左右の位置関係は、おおまかな重なり領域より分かる）ので、画像結合手段は、この検出結果を用いて入力画像を必要に応じて鏡像反転／回転等させる等して入力画像を結合すれば済むので、処理が高速化でき、また処理に必要なメモリ容量も少なくて済む。
【００１５】
本発明による請求項２記載の画像結合装置は、入力機器より複数回に分けて読み込んだ入力画像を結合する装置であって、前記読み込んだ複数の入力画像データのおおまかな重なり領域を検出する第一の重なり位置検出手段と、該第一の重なり位置検出手段により検出されたおおまかな重なり領域を複数の矩形領域に分割し、該分割した矩形領域の中から、正確な重なり位置検出に用いる矩形領域と、結合面として用いる矩形領域とを抽出する第二の重なり位置検出手段と、該第二の重なり位置検出手段により検出された前記正確な重なり位置検出に用いる矩形領域を用いて、前記複数の入力画像の正確な重なり位置を決定すると共に、前記結合面として用いる矩形領域において前記複数の入力画像を合成処理し、該複数の画像を結合する画像結合手段とを有するように構成する。
【００１６】
上記画像結合装置によれば、正確な重なり位置検出に用いる矩形領域をそのまま結合面としても用いるのではなく、例えば色差の小さい濃度成分を多く含む矩形領域の中から選択された矩形領域を結合面として用いるようにすることで、例えば結合面が完全に一致しない場合でも、つなぎ目が目立たないように処理できる。
【００１７】
本発明による請求項３記載の画像結合装置は、入力機器より複数回に分けて読み込んだ入力画像を結合する装置であって、前記読み込んだ複数の入力画像データを一時的に記憶すると共に、該入力画像データのデータ量を少なくした画像データを作成し、該作成した画像データを用いて前記複数の入力画像の結合位置関係とおおまかな重なり領域を検出する第一の重なり位置検出手段と、前記読み込んだ各入力画像データを単一の色成分を持つ階調画像に変換した階調画像データを用い、該階調画像データにおいて前記第一の重なり位置検出手段により検出されたおおまかな重なり領域に対応する領域を、複数の矩形領域に分割し、該複数の矩形領域の中から、正確な重なり位置検出に用いる矩形領域と、画像の結合面に用いる矩形領域とを抽出する第二の重なり位置検出手段と、前記読み込んだ各入力画像データを用い、該第二の重なり位置検出手段により検出された前記正確な重なり位置検出に用いる矩形領域を用いて、前記複数の入力画像の正確な重なり位置を決定すると共に、前記画像の結合面に用いる矩形領域において前記複数の入力画像を合成処理し、該複数の画像を結合する画像結合手段とを有するように構成する。
【００１８】
上記画像結合装置によれば、まず、第一の重なり位置検出手段において例えば入力画像のグレースケールの縮小画像等のようなデータ量を少なくした画像データを用いて結合位置関係（鏡像反転有無、回転角度）とおおまかな重なり領域を検出し、次に第二の重なり位置検出手段において、入力画像データを単一の色成分を持つ階調画像に変換した階調画像データを用いて、正確な重なり位置検出に用いる矩形領域と、画像の結合面に用いる矩形領域とを抽出しており、画像結合手段がデータ量の多い入力画像を用いた処理を行う際には、これら第一の重なり位置検出手段、第二の重なり位置検出手段の処理結果を用いて処理を行なえば良いので、処理が高速化でき、また処理に必要なメモリ容量も少なくて済む。更に、たとえ結合面が完全に一致しない場合でも、つなぎ目が目立たないように処理できる。これは、特に入力画像がフルカラー画像である場合に顕著な効果を奏するものである。
【００１９】
【発明の実施の形態】
以下、図面を参照して、本発明の実施の形態について説明する。
尚、以下に述べる実施の形態の説明では、２つの画像を結合する場合について説明するが、本発明は２つの画像に限らず、３つ以上の画像を結合する場合にも適用可能である。
【００２０】
図１は、本発明の原理ブロック図である。
本発明は大きく分けて３つのステップ（処理段階）から構成される。
上述してある通り、ハンドヘルドスキャナは、手操作により走査するものであるため、ユーザは紙面に対してどちらの方向からも読み取りが可能であり、画像の取り込み方向によっては入力画像が鏡像反転かつ/または回転（９０°／１８ ０°／２７０°）する場合があり（更に、一方の画像に対して他方の画像を上下左右にずらして重なり位置を捜す必要がある）、重なり位置を検出するまでに多くの処理時間を要する。
【００２１】
本例では、この様な問題に対応する為に、画像の結合処理を３つの段階に分けている。
まず、第一段階の“おおまかな重なり位置検出”１においては、例えばハンドヘルドスキャナ等の入力機器４より入力される画像データのデータ量を非常に少なくした画像データ（例えば単一の階調画像の縮小画像）を用いて、２つの画像の結合位置関係（上記回転角度、及び／または、鏡像反転有無）を検出する。また、この検出した結合位置関係における２つの画像の“おおまかな重なり領域”を検出する（例えば後述する図６に示す領域／その座標データ）。尚、上記第一段階で行う全ての事を含む概念を“おおまかな重なり位置検出”と呼ぶ場合もある。尚、図２７（ａ）に示す上下左右の位置関係は、“おおまかな重なり領域”の座標データを見れば分かる。
【００２２】
このように、本例では、第一段階において、データ量が非常に少ない縮小画像を用いて（尚、スキャン画像がカラー画像である場合には、これを単一の階調画像（グレースケール）に変換して、その縮小画像（グレースケール縮小画像）を用いるものとする）、２つの画像の結合位置関係（回転角度、及び／または、鏡像反転有無）を特定し“おおまかな重なり領域”の検出するようにしたことを第１の特徴としている。
【００２３】
スキャンした画像データのままではデータ量が多い（特に、フルカラー画像の場合、非常にデータ量が多い）ので、これを用いて処理を行うと、多くの処理時間／メモリ容量が必要であったが、本例では、処理を複数の段階に分けて、第一段階では、データ量の少ない縮小画像を用いて、２つの画像の結合位置関係の特定と“おおまかな重なり領域”の検出に絞った処理を行っているので、全体としての処理の高速化も図ることができ、また、処理に必要なメモリ容量が少なくて済む。
【００２４】
次に、第二段階において、２つの画像の“正確な重なり位置検出”２の処理を行う。
ここでは、スキャン画像がフルカラー画像である場合には、これを単一の階調画像（グレースケール）に変換した画像データを用いる。そして、第一段階で検出した“おおまかな重なり領域”に基づいて、２つの画像の正確な重なり位置と結合面として用いる（つなぎ目；合成処理に用いる）領域を検出する。これは、“おおまかな重なり領域”を複数の矩形領域に分割し、色差の大きい濃度成分を多く含む矩形領域の中から正確な重なり位置検出に用いる領域を決定し、色差の小さい濃度成分を多く含む矩形領域の中から２つの画像の結合面として用いる矩形領域を決定する。
【００２５】
本例では、このように正確な重なり位置検出に用いる領域とは別に、色差の小さい濃度成分を多く含む矩形領域の中から結合面に用いる矩形領域を選択するようにしたことで、つなぎ目を目立たなくできるようにしたことを第２の特徴としている。
【００２６】
また、上記の様に分割した矩形領域を用いて、スキャンした１つ目の画像（以下、第１の画像という）に対するスキャンした２つ目の画像（以下、第２の画像という）の相対的な傾きを検出するようにしている。
【００２７】
そして、第三段階において初めて、データ量が多いスキャン画像（フルカラー画像等）を用いた処理を行う。上記第一段階、第二段階の処理結果により、２つの画像の結合位置関係（回転角度、及び／または、鏡像反転有無）、傾き、正確な重なり位置、及び結合面に用いる矩形領域が分かっているので、これらを用いて２つの画像を結合する。そして、この結合した画像を、出力画像５として、例えば表示出力、または印刷出力、あるいは記憶装置に記憶する等の出力処理を行う。
【００２８】
尚、ハンドヘルドスキャナの走査方向をユーザが入力／設定できる構成とした場合には、画像の結合面を特定できるため、処理時間を短縮することができる。
処理速度を優先する場合は、ユーザが走査方向を入力／指定する構成としてもよい。しかし、この場合、ユーザ負担が増すことになる。
【００２９】
本例では、このようなユーザ負担が増すことなく、またユーザは所望の方向から好きなように走査を行なってよく、装置側で高速に（更に比較的少ないメモリ容量で）自動的に補正を行なって２つの画像を結合する装置を提供するものである。
【００３０】
図２は、本実施の形態による画像結合装置における処理全体を概略的に示すフローチャート図である。
同図において、入力機器（本例では、手動操作型の小型ハンドヘルドスキャナとするが、これに限らず、ディジタルカメラ／ディジタルビデオカメラ等であってもよい）より取り込んだ１枚目の画像データ（第１の画像データ１０）を一旦メモリに格納する（ステップＳ１１）。次に、このメモリに格納した第１の画像データ１０を読み出し、それがＲＧＢ色成分を持つカラー画像（特に、フルカラーの画像）である場合には（ステップＳ１３，ＹＥＳ）、これを単一の色成分を持つ階調画像（グレースケール）に変換する（ステップＳ１３）。この階調画像の作成は、本例ではYCbCr変換を使用する。例えば、YCbCr変換のＹ成分に着目して階調画像を作成する。入力画像が単一の色成分を持つ画像であれば（ステップＳ１３，ＮＯ）、変換する必要はない。この第１の画像データ１０の階調画像データは、以下、ImgGray1(x,y)１１と記す。単一の色成分を持つ階調画像を利用 することで、複数の色成分を持つ画像を用いるよりも、使用するメモリ容量を削減し、高速に処理することが可能である。
【００３１】
尚、階調画像の作成は、上述した方法以外にも、例えば、差分フィルタを用いて微分値を画素成分とする画像を作成する方法や、RGB 色成分のうち１つの色成分を階調画像とする方法や、それ以外の変換方法を利用しても構わない。
【００３２】
次にステップＳ１５において、ImgGray1（x,y）１１を幾何学的に縮小変換す る。ここでは複数個の画素成分の平均値を取ることで縮小画像を作成する。例えば縮小率を１／ｎとした場合、「ｎ（ｘ方向）×ｎ（ｙ方向）」の領域の平均値を画素成分とする。尚、この第１の画像データのグレースケールの縮小画像データを、以下、ImgGray1´(x,y)１２と記す。縮小画像を利用することで、使用す るメモリ容量を削減し、高速に処理することが可能となる。
【００３３】
次に、２枚目の画像データ（第２の画像データ２０）を入力機器より取り込み（ステップＳ１６）、上述した第１の画像データに対する処理と同様の処理を行う。
【００３４】
すなわち、第２の画像データ２０を一旦メモリに格納すると共に（ステップＳ１７）、このメモリに格納した第２の画像データ２０を読み出し、これがカラー画像であれば（ステップＳ１８，ＹＥＳ）、単一の色成分を持つ階調画像に変換する（ステップＳ１９）。
【００３５】
尚、この第２の画像データ２０の階調画像を、以下、ImgGray2（x,y）２１と 記す。
そして、第２の画像の場合と同様にして、ImgGray2（x,y） を幾何学的に縮小し、縮小画像（以下、ImgGray2´（x,y）２２と記す）を作成する。
【００３６】
図３に、上記縮小画像作成のイメージを示す。
次に、これら２つの縮小画像（ImgGray1´（x,y）１２とImgGray2´（x,y）２２）を、ステップＳ２１に引数として渡し、ステップＳ２１において、１つ目の画像に対する２つ目の画像の結合位置関係（相対的な回転角度、及び／または、鏡像反転有無）を検出する。また、この結合位置関係における２つの画像のおおまかな重なり領域を検出する。
【００３７】
次に、上記単一の色成分を持つ階調画像（ImgGray1（x,y）１１、ImgGray2（x,y）２１）と、上記ステップＳ２１による検出結果を用いて、上記おおまかな重なり領域を複数の矩形領域に分割し、正確な重なり位置検出に用いる矩形領域と、結合面に用いる矩形領域を抽出する。また、必要に応じて、１つ目の画像に対する２つ目の画像の相対的な傾き角度を算出する（ステップＳ２２）。
【００３８】
そして、上記メモリに格納してある第１の画像、第２の画像の２つの入力画像（フルカラー等）を読み出し、上記ステップＳ２１、Ｓ２２の処理で得られている回転角度、鏡像反転有無、正確な重なり位置検出に用いる矩形領域、結合面に用いる矩形領域、傾き角度等の各種データを用いて、鏡像反転、回転、傾きを補正しながら、２つの入力画像を正確に、且つ、つなぎ目が目立たないようにして結合することができる（ステップＳ２３）。この結合画像を出力し、処理を終了する。
【００３９】
以下、上記ステップＳ２１、Ｓ２２、Ｓ２３の各々の処理の詳細について説明していく。尚、これらの説明においては、図２３で示したような縦方向に走査して取り込んだ２つの画像を例にとって説明する。
【００４０】
まず、図４は、ステップＳ２１の処理の詳細フローチャート図である。
引数には、上記の通り、単一の色成分を持つ階調画像を縮小して成る縮小画像ImgGray1´（x,y）１２、ImgGray2´（x,y）２２を受け取る。
【００４１】
まず、変数ｎを初期化（ｎ＝１）する（ステップＳ３１）。ハンドヘルドスキャナは手走査であるため、読み取り方向によって、画像が鏡像反転、回転する場合がある。第１の画像に対する第２の画像の相対的な回転角度（４通り）×鏡像反転有無で計８通り考えられる。
【００４２】
ここでは、ｎ＝１〜４が正立した画像に対する上記４通りの回転角度、ｎ＝５〜８が鏡像反転後の上記４通りの回転角度を意味するものとする。
よって、まず、正立した画像に対する上記４通りの回転角度の中の１つ（ｎ＝１）において、上記縮小画像ImgGray1´（x,y）１２、ImgGray2´（x,y）２２を用いて、２つの画像のマッチングを取り（ステップＳ３２）、重なり位置を検出できたか否かを判定する（ステップＳ３３）。
【００４３】
具体的には、最初は、ImgGray2´（x,y）２２の回転角度をｎ＝１で示される 回転角度（例えば０°）とし、ImgGray1´（x,y）１２に対してImgGray2´（x,y）２２を上下左右の各位置の移動させ、各々の位置でImgGray2´（x,y）を上下 左右にずらしていき画素と画素のマッチングを取る。
【００４４】
ここで、“上下左右にずらす”ことと“上下左右の各位置の移動させる”ことは異なる意味である。例えば、図５に示す一例は、ImgGray1´（x,y）１２の“ 右”にImgGray2´（x,y）２２を移動させた状態で、ImgGray2´（x,y）２２を上下左右にずらしながら画素と画素のマッチングを取る様子を示してある。
【００４５】
その際、１画素単位でずらしていくのではなく、数画素単位でずらしていっても構わない。ここでは正確な重なり位置を検出する必要はないため、１画素単位よりも数画素単位で画像をずらした方が高速化に処理することができる。マッチングの手法は、ハミング距離、ユークリッド距離等を使用し、距離が最小となる位置を重なり領域とする。但し、今回処理対象となっている回転角度において求めた最小距離Ｄmin が、ある閾値（Ｄthresh）未満とならない場合には（ステップＳ３３，ＮＯ）、この回転角度においては重なり領域は検出されないものと見做し、他の回転角度（または鏡像反転）についての処理に移る。（尚、マッチングの手法は、上記の例に限らず、他の手法（例えば、ＤＰマッチング等）を用いてもよい。また、尚、閾値（Ｄthresh）の値は、正しい回転角度（及び鏡像反転有無）でマッチング処理を行なった場合にのみその最小距離Ｄmin が閾値（Ｄthresh）未満となるような値を、設定しておく）。
【００４６】
図示の処理例では、重なり領域が検出されなかった場合には（ステップＳ３３，ＮＯ）、どちらか一方の縮小画像を回転させる（本例ではImgGray2´（x,y） ２２を時計回り方向に90°回転させるものとする）（ステップＳ３７）と共にｎの値をインクリメントし、再び上記ステップＳ３２、Ｓ３３の処理により重なり領域を捜す。
【００４７】
但し、その前に、ｎのカウント数がｎ＝４のときには（ステップＳ３４，ＹＥＳ）、ImgGray2´（x,y）２２ を鏡像反転する。また、ｎ＝８（ステップＳ３６，ＮＯ）の場合には本処理を終了する（この場合は、処理失敗である）。
【００４８】
つまり、上述してある通り、鏡像反転有無を含めた画像の回転角度は８通りであり、ｎ＝１〜４までの各回転角度（0°、90°、180°、270° ）についての処理で重なり領域が検出されなかったら、ｎ＝４の処理後に鏡像反転し、ｎ＝５〜８で鏡像反転＋回転角度（0°、90°、180°、270° ）のケースについても調べる（重なり領域が存在しないか捜す）。
【００４９】
そして、重なり領域が見つかった場合には（ステップＳ３３，ＹＥＳ）、そのときの回転角度（0°、90°、180°、270° のどれか）と鏡像反転有無のデータを出力すると共に、このおおまかに検出した重なり領域の座標データを出力する。これは、ImgGray1´（x,y）２１とImgGray2´（x,y）２２でそれぞれ求める。例えば、図６に示すような重なり領域が検出されたとすると、例えばImgGray2´（x,y）２２の重なり領域の座標点は図示の通り（A2'（x1,y1）, B2'（x2, y1）, C2'（x2, y1）, D2'（x2, y2））が、出力される。
【００５０】
このように、入力画像（フルカラー等）を単一の階調画像データに変換し、更にこれを縮小し、この縮小画像において数画素単位でマッチングを取るようにすることで、低メモリ／高速に画像のおおまかな重なり位置を検出することが可能となる。
【００５１】
次に、以下、第二段階の処理（ステップＳ２２の処理）について詳細に説明する。
図７は、ステップＳ２２の処理の詳細フローチャート図である。
【００５２】
ステップＳ２２の処理は、引数には、単一の階調画像データ（ImgGray1（x,y）１１、ImgGray2（x,y）２１）と、ステップＳ２１より出力される鏡像反転有無、回転角度、及び重なり領域の座標データを受け取る。
【００５３】
このように、第二段階の処理では、単一の階調画像データを用いて処理を行う。まず最初に、上記鏡像反転有無、回転角度、及び重なり領域の座標に基づいて、ステップＳ２１で検出した「縮小画像」の重なり領域を、「単一の階調画像」の重なり領域に対応させる。
【００５４】
すなわち、まず、鏡像反転させる必要があれば（ステップＳ４１，ＹＥＳ）、ImgGray2（x,y）２１を鏡像反転する（ステップＳ４２）。
次に、回転させる必要があれば（ステップＳ４３、ＹＥＳ）、ImgGray2（x,y）２１を上記ステップＳ２１で検出された角度分だけ回転させる（ステップＳ４４）。
【００５５】
そして、ステップＳ４５において、まず、ステップＳ２１で検出した縮小画像における重なり領域の座標を、縮小前の画像ImgGray1（x,y）１１、ImgGray2（x,y）２１における座標に対応させる。これは、仮に縮小率が“１／ＮＤ”であれば、検出した座標をＮＤ倍すればよい。図６において、ImgGray2´（x,y）２２ の重なり領域の座標をA2'（x1,y1）, B2'（x2, y1）, C2'（x2, y1）, D2'（x2, y2）とすると、縮小前の座標はそれぞれA2（ND×x1, ND×y1）, B2（ND×x2, ND×y1）, C2（ND×x2, ND×y1）, D2（ND×x2, ND×y2） となる（図８（ａ）に示すような、ImgGray2（x,y）２１に対応させた重なり領域３０が求められる）。
【００５６】
次に、 ImgGray2（x,y）２１における座標に対応させた上記重なり領域３０を、複数の矩形領域に分割する。ここでは、例えば図８（ｂ）に示す例のように、Ｍ行×Ｎ列の領域（正方形）に分割するものとするが、矩形領域は長方形、円形などそれ以外の形でも構わない。よって、以下、図示の例では各分割領域の形は正方形となっているが、正方形領域とは呼ばずに、矩形領域と呼ぶものとする。
【００５７】
次に、分割した矩形領域の中から色差の大きい濃度成分を多く含む矩形領域
（以下、第１の矩形領域と呼ぶ）を抽出する（ステップＳ４６）。
これは、例えば、各矩形領域を“１／ＮＳ”に縮小し、縮小画像を差分フィルタにかけ、画像中の線や縁を強調する。次に輪郭線追跡を行い、線や縁がある一定以上含まれており且つこれらがある一定以上の長さを持っていれば、この矩形領域を第１の矩形領域として抽出する。尚、“ある一定以上”の値は、予め適切と思われる値が設定されているものとする。
【００５８】
例えば、図８（ｂ）（図９（ａ））に示す例では、背景色と図（四角形、三角形、円形）の境界部分で色差が大きい。よって、このような境界部分を多く含む矩形領域を抽出していくと、例えば図９（ｂ）で斜線で示す矩形領域が、第１の矩形領域として抽出される。
【００５９】
実際の写真画像等では、背景や人物、山、木、川等それぞれの境界部分で色差が大きいため、このような色成分を含む矩形領域が、第１の矩形領域として抽出されることになる。
【００６０】
尚、上記色差の大きさに基づいて抽出する方法に限るわけではなく、例えば輝度成分を利用した画像を使用する場合には、輝度差が大きい矩形領域を抽出する。
【００６１】
色差の大きい矩形領域を使用して画像のマッチングを取ると、正確な重なり位置とそうではない位置とで大きな差がでる。例えば、ハミング距離やユークリッド距離等を利用したマッチング方法では、正確な重なり位置では値が小さくなり、そうでない位置では値が大きくなる。
【００６２】
よって、ステップＳ４６で抽出した第１の矩形領域は、正確な重なり位置検出の為に用いるのに適しているが、全て用いる必要はなく、例えばステップＳ４７で説明するように、その中から幾つかを選択して用いる。
【００６３】
ステップＳ４７においては、ステップＳ４６にて抽出した第１の矩形領域の中から、正確な重なり位置検出の為に用いる矩形領域を、上記重なり領域３０の長手方向（特に、図８における座標A2と座標C2とを結ぶライン）と平行な方向に選択していく。
【００６４】
これを、図９（ｂ）に示す例に対して行なった場合、図１０（ａ）に示すように、１列目〜３列目までの各列が抽出されることになり、このような場合には第１の矩形領域を最も多く含む列を選択する。
【００６５】
但し、図１０（ａ）の例では、向かって右側の列と左側の列が、同数（６個）の第１の矩形領域を含むので、このように第１の矩形領域を最も多く含む列が複数個ある場合には、図８における座標A2と座標C2とを結ぶラインに最も近い列を選択する。よって、ここでは図１０（ｂ）に示す様に、向かって左側の列を選択することになる。
【００６６】
但し、選択した列に含まれる第１の矩形領域の数が少ない場合（例えば、予め６個以上必要等と設定しておく）、他の列からも抽出する。但し、このように複数の列から抽出すると、逆に、正確な重なり位置検出に使用する矩形領域の数が多くなり過ぎることも考えられ、この場合、マッチングに要する処理時間が増加するため、１つの行から２つ以上の矩形領域を抽出しないようにする。このように複数の列から抽出する様子の一例を、図１１に示す。
【００６７】
図１１（ａ）に示す例では、２列目及び３列目が、抽出された第１の矩形領域（斜線で示す）を最も多く含む列であるが、とちらもその数は４個と少ないので、複数の列から抽出することになる。上記の通り、１つの行からは２つ以上の第１の矩形領域は抽出しないので、１つの行に複数の第１の矩形領域が存在する場合には、どれか１つを選択する。そして、どの行／列から抽出したのかを記録する。
【００６８】
図示の例では、図１１（ｂ）に示すように、１行１列、２行１列、３行３列、４行３列、８行２列、９行２列の６個の第１の矩形領域が選択される。
一方、上記の場合とは逆に、選択した列に含まれる第１の矩形領域の数が多過ぎる場合や、あるいは更に処理時間を短縮したい場合には、その列に含まれる第１の矩形領域の数を減らすようにしてもよい。但し、減らした結果、その列に含まれる第１の矩形領域が、列の上半分や下半分にかたまらないようにして、削減する第１の矩形領域を選択する（上下に幅広く選択する）。
【００６９】
次に、上記第１の矩形領域の中から選択された矩形領域毎に、ImgGray1（x,y）１１ とのずれを検出する（ステップＳ４８）。これは、上記第一段階の処理（ ステップＳ２１）で検出した“おおまかな重なり位置”から前後左右に１画素ずつずらしながらマッチングを取り、正確な重なり位置を検出する。マッチング手法自体は、ステップＳ２１と同様の方法を用いる。
【００７０】
ここで、もし傾きが存在するならば、上記矩形領域毎に検出した正確な重なり位置は、“おおまかな重なり位置”から左右（上下）方向にズレることになる。
例えば、図１２に示すように、元々スキャンした際に、第１の画像に対して第２の画像がθ°傾いていた場合、その縮小画像を用いたステップＳ２１の処理では、傾きを考慮せずに全体として“距離が最小となる”位置を求めている為、例えば図１３に示すように、傾きに応じたズレが生じることになる。
【００７１】
図１３の例では、傾きによって、円→四角→三角の順にズレが大きくなっていっている。
一方、上記矩形領域毎にマッチングする場合には、このような傾きによるズレは生じないので、各矩形領域毎にほぼ正確な重なり位置を検出できる。
【００７２】
以上のことから、もし第２の画像が傾いている場合には、矩形領域毎に検出した正確な重なり位置は、“おおまかな重なり位置”から左右（上下）方向にずれる。図１４に示す例のように、第２の画像が第１の画像に対して時計回りの方向に傾いている場合、図１０の１行目近くから抽出した矩形領域（三角の図形の部分）は大きく右にずれるが、Ｍ行目近くから抽出した矩形領域（円の図形の部分）のずれは少ない。図１４に示すように、ブロック（矩形領域）の左右（上下）方向へのずれが比例して変化すれば、ImgGray2（x,y）２１がθ°傾いているこ とが分かる。
【００７３】
以上のことより、まず、ステップＳ４８において、各矩形領域毎にズレを検出し、この検出したずれの大きさをＸ,Ｙ軸上にプロットする。
そして、ステップＳ４８の処理結果を用いて、ステップＳ４９において、直線の傾きを回帰分析等の手法を利用して算出することで、ImgGray1（x,y）１１に 対するImgGray2（x,y）２１の相対的な傾きを求めることができる。
【００７４】
このように矩形領域を上記重なり領域３０の長手方向（特に、図８における座標A2と座標C2とを結ぶライン）と平行な方向に選択し、矩形領域毎に第１の画像とのずれの量を計算することで、第２の画像の相対的な傾きの大きさを計算することができる。
【００７５】
例えば、回帰分析を利用した画像の傾きの算出方法の一例を、以下に説明する。
図１４には、第一の重なり位置検出で求めた重なり領域の元座標（黒四角で示す）、正確な重なり位置検出で求めた矩形領域の座標（バツで示す）を示してある。ここで、求める直線の式を、
ｙ（ｘ）＝ａｘ＋ｂとする（ａ；直線の傾き、ｂ；切片）。
【００７６】
次に、正確な重なり位置検出で求めた座標と元座標とのズレをそれぞれ（ｘｉ，ｆｉ）（ｉ＝１、２、・・・、ｎ）とする。ｎは、矩形領域の数を表し、ここではｎ＝３となる。
【００７７】
各点におけるｆｉとｙ（ｘｉ）との残差を
ｅ（ｘｉ）＝ｙ（ｘｉ）−ｆｉ＝（ａｘｉ＋ｂ）−ｆｉ
（ｉ＝１、２、・・・、ｎ）
とすると、残差の二乗和Ｊは、
【００７８】
【数１】
0004551018.tif 000002
【００７９】
となる。Ｊを評価関数とし、Ｊが最小になるようにａ，ｂの値を定めれば良い。つまり、Ｊをａ，ｂに関してそれぞれ以下のように偏微分する。
【００８０】
【数２】
0004551018.tif 000003
【００８１】
上記２つの式からａを計算すれば、直線の傾きを求めることができる。更に、傾き角度をθとすると、アークタンジェントを用いて、直線の傾きａからθを求めることができる。
【００８２】
次に、ステップＳ５０において、２つの画像の正確な重なり位置を検出する。ImgGray1（x,y）１１に対するImgGray2（x,y）２１の相対的な傾きがなければ、矩形領域毎に検出したずれから、正確な重なり位置を検出する（ステップＳ５０）。ImgGray1（x,y）１１と矩形領域とのマッチングを取った結果、距離が最小 となる矩形領域を重なり位置とする。
【００８３】
ステップＳ４８、Ｓ４９の処理を行なわない場合には、図１２が示すように、ステップＳ４７で抽出した矩形領域毎に、正確な重なり位置を検出する（ステップＳ５０）。これは、各矩形領域を、ステップ２１で検出した重なり位置から前後左右に１画素ずつずらしながら、ImgGrya1（x,y）１１と画素のマッチングを 取る。マッチング手法自体は、ステップ２１と同様の方法を用いるが、矩形領域毎に正確な重なり位置が算出される。例えばハミング距離やユークリッド距離等を用いる場合、最小の計算結果がでた位置を“正確な重なり位置”とする。また、あるしきい値を設け、それ以下である矩形領域から算出した重なり位置の平均を取っても良い。
【００８４】
以上の処理により、第１の画像に対して第２の画像が相対的に傾いていたとしても、２つの画像の正確な重なり位置を検出することができ、この検出結果を第三段階の処理（ステップＳ２３）に対して出力する。
【００８５】
次に、ステップＳ５１〜Ｓ５３の処理により、２つの画像の結合面（つなぎ目となる領域；合成処理を行う領域）を求める。
従来では、上記ステップＳ４６等で抽出した色差の大きい領域をマッチング処理に用いると共に結合面として用いていたが、そのようにすると、以下に述べる問題があった。
【００８６】
すなわち、例えば画像の傾きを完全に補正できなかった場合等には、色差の大きい領域を結合面に用いて２つの画像を結合すると、画像のつなぎ目が目立つといった問題がある。
【００８７】
これに対し、本例では、以下に説明するように、色差の小さい領域を結合面として用いるようにすることで、結合面が完全に一致しなくても、画像のつなぎ目を目立たなくすることができる。
【００８８】
まず、色差の小さい濃度成分を多く含む矩形領域（以下、第２の矩形領域と呼ぶ）を抽出する（ステップＳ５１）。これは、各矩形領域を“１／ＮＳ”に縮小し、縮小画像を差分フィルタにかけ、画像中の線や縁を強調する。そして、線や縁をある一定値以下しか持っておらず且つそれがある一定値以下の長さである領域を、合成処理領域の候補となる矩形領域として抽出する。すなわち、分割した矩形領域の中から色差の小さい濃度成分を多く含む矩形領域を、結合面に用いる領域の候補（第２の矩形領域）として抽出する。尚、上記“一定値”は、予め、適宜設定しておくものとする。
【００８９】
図１６、図１７に示す例では、背景色と図（四角形、三角形、円形）の境界部分では色差が大きいため、基本的には、このような境界部分を含む矩形領域以外の矩形領域（図１６、図１７で斜線で示す部分）が、第２の矩形領域として抽出されることになる。実際の写真画像等では、背景色など色差の小さい部分が抽出されることになる場合が多い。尚、図１６、図１７には、結合面に用いる矩形領域抽出の様子を分かり易くするために、重なり領域３０とは別の例の重なり領域４０を示してある。
【００９０】
次にステップＳ５２において、ステップＳ５１にて抽出した第２の矩形領域の中から、さらに上記重なり領域３０の長手方向（特に、図８における座標A2と座標C2とを結ぶライン）と平行な方向に領域を選択していく。
【００９１】
これは、図１６に示す例では、色差の小さい濃度成分を多く含む矩形領域（第２の矩形領域）を最も多く含む列（３列目）が、結合面に用いる領域として抽出される（図示の網かけで示す領域）。
【００９２】
但し、図１６に示す例のように、３列目における全ての“行”に「色差の小さい濃度成分を多く含む矩形領域」が存在する場合は良いが、そうでない場合、例えば、図１７に示す例のようにメインとなる列（４列目）のように上記第２の矩形領域が存在しない“行”が存在する場合、この“行”については左右隣の列から抽出する（これより、図１７で網かけで示す領域が、結合面に用いる領域として抽出される）。
【００９３】
すなわち、上記ステップＳ５１で抽出しステップＳ５２で選択する矩形領域は、結合面として使用するため、すべての行から抽出する必要があり、さらに上下方向に連続する必要があるため、列の中に色差の小さい濃度成分を多く含む矩形領域が含まれていない“行”があるならば、その“行”については左右隣の列から抽出する。例えば図１７に示す例では、色差の小さい濃度成分を多く含む矩形領域を最も多く含む列は、４列目ということになるが、４列目における３、４、７、８行目には「色差の小さい濃度成分を多く含む矩形領域」が含まれていないので、その左右隣の列（すなわち、３列目と５列目）から抽出する。その結果、ステップＳ５２で選択される矩形領域は、図１７では図示の網かけで示す領域ということになる。その際、何行／何列の矩形領域を抽出したのかを記憶しておく。
【００９４】
更に、左右隣の列にも「色差の小さい濃度成分を多く含む矩形領域」がなければ、色差の大きい濃度成分をある一定値以上含む矩形領域を選択してもよい。
上記のようにする理由は、結合面として用いる矩形領域が不連続になると、不連続部分で合成処理がかけられないため、つなぎ目が目立ってしまうからである。
【００９５】
最後にステップＳ５３において、ステップＳ５２にて抽出した連続領域を、２つの画像の結合面（つなぎ目）として決定する。
そして、第三段階の処理（ステップＳ２３）では、上記メモリに格納しておいたスキャン画像（第１の画像、第２の画像；例えばフルカラー）を読み出して、上記ステップＳ２１、Ｓ２２の処理により検出した 1）鏡像反転有無、2）回転 角度、3）傾きを用いて第１の画像、第２の画像の結合位置を補正する。
【００９６】
そして、上記ステップＳ５０とステップＳ５３とでそれぞれ求めた「正確な重なり位置」と「結合面として用いる矩形領域」とを用いて（例えば図１９に示すように求められている）、２つの画像を結合する。
【００９７】
特に「色差の小さい濃度成分を多く含む矩形領域」を結合面として用いて合成処理を行うことで（例えば図２０に示すように）、つなぎ目を目立たせずに２つの画像を結合することができる。
【００９８】
第三段階の処理（ステップＳ２３）では、引数に、上記メモリに格納した入力画像データ（第１の画像データ、第２の画像データ；例えばフルカラー）、図２のステップＳ２１において検出した鏡像反転有無・回転角度、ステップＳ２２において検出した２つの画像の正確な重なり位置、傾き角度、の各データを受け取る。
【００９９】
そして、詳しくは以下にステップＳ６１〜Ｓ７１の処理として述べるが、概略的には、上記鏡像反転有無、回転角度、傾き角度により補正しながら、２つの入力画像を、上記検出した正確な重なり位置で結合する。鏡像反転する場合は、画素の左右の座標を変換しながら結合する。回転と傾きを補正する場合は、回転式（行列式）を用いて、画素の座標を変換しながら結合する。
【０１００】
その際、上記結合面として用いられる矩形領域各々の領域の中で、合成処理を行う。合成処理は、上記各矩形領域毎に第１の画像１０と第２の画像２０の画素の平均を取る。また、平均ではなく、第１の画像１０と第２の画像２０に重み付けをとってもよい。そして、結合した画像を出力する。
【０１０１】
図１８は、第三段階（図２のステップＳ２３）の処理の詳細フローチャート図である。
まず、上記ステップＳ２１、Ｓ２２で検出した回転角度（ここでは、回転角度（０°／９０°／１８０°／２７０°）のデータを用いる）をrotate、傾き角度をskewとし、２つの角度の和を取る（θ＝rotate＋skew とする）（ ステップＳ６１）。
【０１０２】
ここで、θは、第２の画像の補正角度である。尚、rotate、skewは‘０’でも構わない。
次に、鏡像反転有りか否かを判定し（ステップＳ６２）、鏡像補正する必要があれば（ステップＳ６２，ＹＥＳ）、mirror_flag ＝‘１’とし（ステップＳ６３）、そうでなければ（ステップＳ６２，ＮＯ）、mirror_flag ＝‘０’とする（ステップＳ６４）。
【０１０３】
そして、以下のステップＳ６５〜Ｓ７１の処理により、２つの画像の結合画像を作成する。
以下の処理の前に、予め、結合画像のメモリ領域を確保しておき、第１の画像１０と第２の画像２０の値をコピーしていく。結合画像のサイズは、検出した重なり位置でそれぞれ２つの画像を分割し、結合面に使用する矩形領域を重ね合わせることで求めることができる。図１９に示すように、向かって結合面の左側が第１の画像１０の領域、右側が第２の画像２０の領域となる。
【０１０４】
ｉは、結合画像の画素のアドレスを表し、ｎは総画素数を表す。ｉが総画素数total_num を超えれば（ステップＳ６５，ＮＯ）、本処理を終了し、超えなければ（ステップＳ６５，ＹＥＳ）データのコピーを続ける。
【０１０５】
ｉが第１の画像１０の領域であれば（ステップＳ６６，ＹＥＳ）、第１の画像データからその画素値をコピーする（ステップＳ６７）。
ここで、θ！＝０であれば、回転した座標の画素値、さらに画像が鏡像反転していれば鏡像補正した座標の画素値を求める必要がある。回転座標の検出には、以下の式を使用する。
【０１０６】
ｘ１＝Ｘ１×cosθ−Ｙ１×sinθ
ｙ１＝Ｘ１×sinθ＋Ｙ１×cosθ
（Ｘ１，Ｙ１）は結合画像の中における第１の画像の座標値を表し、（ｘ１，ｙ１）は第１の画像の座標値とする。鏡像反転している場合には
（Ｘ１，Ｙ１）＝（−Ｘ１，Ｙ１）
とすれば良い。
【０１０７】
θ＝０であれば、
ｘ１＝Ｘ１
ｙ１＝Ｙ１
とする。
【０１０８】
一方、ｉが第２の画像２０の領域であれば（ステップＳ６８，ＹＥＳ）、上記ステップＳ６７の処理内容と同様の処理により、第２の画像データからその画素値をコピーする（ステップＳ６９）。
【０１０９】
ｉが第２の画像２０の領域でもない場合（ステップＳ６８，ＮＯ）とは、すなわち、ｉが上記ステップＳ５２にて抽出した「結合面として用いる矩形領域」内にある画素ということであり、この場合には、以下に説明するように、第１の画像の画素値と第２の画像の画素値とから、合成画像の画素値を決定する（合成処理を行う）。
【０１１０】
第１の画像の画素値をvalue1、第２の画像の画素値をvalue2、各々の係数を、va1、va2とすると、合成画像の画素値Ｍは以下の式により算出する。
Ｍ＝va1×value1＋va2×value2
（但し、係数va1、va2は、va1＋va2＝１を満たす値とする）
そして、ステップＳ７１においてｉの値をインクリメントし、次の画素について上述した処理を繰り返し行なっていく。
【０１１１】
以上述べたように、本例の画像結合装置によれば、スキャナ幅を超える写真や紙面、図柄等を複数回に分けて画像を入力する場合であって、ユーザがハンドヘルドスキャナ等を用いて上下左右どちらの方向から画像を読み込むか分からない場合であっても、特別のハードウェアを追加する必要なく、高速に（且つ処理に必要なメモリ容量を削減し）自動的に２つの画像を結合することができる。また、つなぎ目が目立たないようにできる。
【０１１２】
図２１は、本実施の形態による画像結合装置を実現する情報処理装置のハードウェア構成の一例を示す図である。
本実施の形態による画像結合装置を実現する情報処理装置は、上記の通り、パソコン（特にノート型パソコン）、ＰＤＡ／ハンドヘルドＰＣ等の携帯型情報処理装置等である。
【０１１３】
同図に示す情報処理装置５０は、ＣＰＵ５１、メモリ５２、入力装置５３、出力装置５４、外部記憶装置５５、媒体駆動装置５６、ネットワーク接続装置５７、画像入力装置６０等を有し、これらがバス５８に接続された構成となっている。同図に示す構成は一例であり、これに限るものではない。
【０１１４】
ＣＰＵ５１は、当該情報処理装置５０全体を制御する中央処理装置である。
メモリ５２は、プログラム実行、データ更新等の際に、外部記憶装置５５（あるいは可搬記憶媒体５９）に記憶されているプログラムあるいはデータを一時的に格納するＲＡＭ等のメモリである。ＣＰＵ５１は、メモリ５２に読み出したプログラム／データを用いて、上述してある各種処理を実行する。
【０１１５】
入力装置５３は、例えば、キーボード、マウス、あるいは「タッチパネル＋ペン」や音声入力／識別装置等である。
出力装置５４は、ディスプレイ等である。
【０１１６】
外部記憶装置５５は、例えば磁気ディスク装置、光ディスク装置、光磁気ディスク装置等であり、上述してきた画像結合装置としての各種機能を実現させる為のプログラム／データ等が格納されている。
【０１１７】
媒体駆動装置５６は、可搬記憶媒体５９に記憶されているプログラム／データ等を読み出す。可搬記憶媒体５９は、例えば、ＦＤ（フロッピーディスク）、ＣＤ−ＲＯＭ、その他、ＤＶＤ、光磁気ディスク等である。
【０１１８】
ネットワーク接続装置５７は、ネットワークに接続して、外部の情報処理装置とプログラム／データ等の送受信を可能にする構成である。
画像入力装置６０は、例えば上記ハンドヘルドスキャナ等である。
【０１１９】
図２２は、記録媒体の一例を示す図である。
図示のように、上記プログラム／データは、可搬記憶媒体５９に記憶されているプログラム／データ等を、情報処理装置側にロードして、メモリ５２に格納し実行するものであってもよいし、また、上記プログラム／データは、ネットワーク接続装置５７により接続しているネットワーク（インターネット等）を介して、外部の情報提供者側の装置６１の記憶装置６２に記憶されているプログラム／データをダウンロードするものであってもよい。
【０１２０】
本発明は、上記プログラム／データを格納した記憶媒体（可搬記憶媒体５９等）自体として構成することもできるし、上記プログラム／データを伝送させるネットワーク（伝送媒体）自体として構成することもできるし、ダウンロードする際にこの伝送媒体を介して伝送される伝送信号自体として構成することもできる。
【０１２１】
（付記１）  入力機器より複数回に分けて読み込んだ入力画像を結合する装置であって、
前記読み込んだ複数の入力画像データよりデータ量を少なくした画像データを作成し、該作成した画像データを用いて前記複数の入力画像の結合位置関係とおおまかな重なり領域を検出する第一の重なり位置検出手段と、
該第一の重なり位置検出手段により検出された結合位置関係とおおまかな重なり領域とに基づいて、前記複数の入力画像を結合する画像結合手段と、
を有することを特徴とする画像結合装置。
（付記２）  入力機器より複数回に分けて読み込んだ入力画像を結合する装置であって、
前記読み込んだ複数の入力画像データのおおまかな重なり領域を検出する第一の重なり位置検出手段と、
該第一の重なり位置検出手段により検出されたおおまかな重なり領域を複数の矩形領域に分割し、該分割した矩形領域の中から、正確な重なり位置検出に用いる矩形領域と、結合面として用いる矩形領域とを抽出する第二の重なり位置検出手段と、
該第二の重なり位置検出手段により検出された前記正確な重なり位置検出に用いる矩形領域を用いて、前記複数の入力画像の正確な重なり位置を決定すると共に、前記結合面として用いる矩形領域において前記複数の入力画像を合成処理し、該複数の画像を結合する画像結合手段と、
を有することを特徴とする画像結合装置。
（付記３）  入力機器より複数回に分けて読み込んだ入力画像を結合する装置であって、
前記読み込んだ複数の入力画像データを一時的に記憶すると共に、該入力画像データのデータ量を少なくした画像データを作成し、該作成した画像データを用いて前記複数の入力画像の結合位置関係とおおまかな重なり領域を検出する第一の重なり位置検出手段と、
前記読み込んだ各入力画像データを単一の色成分を持つ階調画像に変換した階調画像データを用い、該階調画像データにおいて前記第一の重なり位置検出手段により検出されたおおまかな重なり領域に対応する領域を、複数の矩形領域に分割し、該複数の矩形領域の中から、正確な重なり位置検出に用いる矩形領域と、画像の結合面に用いる矩形領域とを抽出する第二の重なり位置検出手段と、
前記読み込んだ各入力画像データを用い、該第二の重なり位置検出手段により検出された前記正確な重なり位置検出に用いる矩形領域を用いて、前記複数の入力画像の正確な重なり位置を決定すると共に、前記画像の結合面に用いる矩形領域において前記複数の入力画像を合成処理し、該複数の画像を結合する画像結合手段と、
を有することを特徴とする画像結合装置。
（付記４）  前記データ量を少なくした画像データは、前記入力画像データを、単一の色成分を持つ階調画像に変換した後、該単一の色成分を持つ階調画像を幾何学的に縮小して成る縮小画像であることを特徴とする付記１〜３の何れかに記載の画像結合装置。
（付記５）  前記結合位置関係は、前記複数の入力画像の一方の入力画像に対する他方の入力画像の鏡像反転有無及び／または回転角度であることを特徴とする付記１〜４の何れかに記載の画像結合装置。
（付記６）  前記正確な重なり位置検出に用いる矩形領域は、色差の大きい濃度成分を多く含む矩形領域の中から選択された矩形領域であり、
前記画像の結合面に用いる矩形領域は、色差の小さい濃度成分を多く含む矩形領域の中から選択された矩形領域であることを特徴とする付記２または３記載の画像結合装置。
（付記７）  前記第二の重なり位置検出手段は、更に、前記おおまかな重なり位置と、前記正確な重なり位置検出に用いる矩形領域を用いた正確な重なり位置とのずれに基づいて、回帰分析手法を利用して、前記複数の入力画像の相対的な傾きを算出することを特徴とする付記２または３記載の画像結合装置。
（付記８）  入力機器より複数回に分けて読み込んだ入力画像を結合する方法であって、
前記読み込んだ複数の入力画像データよりデータ量を少なくした画像データを作成し、該作成した画像データを用いて前記複数の入力画像の結合位置関係とおおまかな重なり領域を検出し、
該検出された結合位置関係とおおまかな重なり領域とに基づいて、前記複数の入力画像を結合することを特徴とする画像結合方法。
（付記９）  入力機器より複数回に分けて読み込んだ入力画像を結合する方法であって、
前記読み込んだ複数の入力画像データのおおまかな重なり領域を検出し、
該検出されたおおまかな重なり領域を複数の矩形領域に分割し、該分割した矩形領域の中から、正確な重なり位置検出に用いる矩形領域と、結合面として用いる矩形領域とを抽出し、
該検出された正確な重なり位置検出に用いる矩形領域を用いて、前記複数の入力画像の正確な重なり位置を決定すると共に、前記結合面として用いる矩形領域において前記複数の入力画像を合成処理し、該複数の画像を結合することを特徴とする画像結合方法。
（付記１０）  入力機器より複数回に分けて読み込んだ入力画像を結合する方法であって、
前記読み込んだ複数の入力画像データを一時的に記憶すると共に、該入力画像データのデータ量を少なくした画像データを作成し、該作成した画像データを用いて前記複数の入力画像の結合位置関係とおおまかな重なり領域を検出し、
前記読み込んだ各入力画像データを単一の色成分を持つ階調画像に変換した階調画像データを用い、該階調画像において前記検出されたおおまかな重なり領域に対応する領域を、複数の矩形領域に分割し、該複数の矩形領域の中から、正確な重なり位置検出に用いる矩形領域と、画像の結合面に用いる矩形領域とを抽出し、
前記読み込んだ各入力画像データを用い、前記抽出された正確な重なり位置検出に用いる矩形領域を用いて、該複数の入力画像の正確な重なり位置を決定すると共に、前記画像の結合面に用いる矩形領域において該複数の入力画像を合成処理し、該複数の画像を結合することを特徴とする画像結合方法。
（付記１１）  コンピュータにおいて用いられたとき、
入力機器により複数回に分けて読み込んだ画像を入力する機能と、
該複数の入力画像データよりデータ量を少なくした画像データを作成し、該作成した画像データを用いて前記複数の入力画像の結合位置関係とおおまかな重なり領域を検出する機能と、
該検出された結合位置関係とおおまかな重なり領域とに基づいて、前記複数の入力画像を結合する機能と、
を実現させるプログラムを記録した前記コンピュータ読取り可能な記録媒体。
（付記１２）  コンピュータにおいて用いられたとき、
入力機器により複数回に分けて読み込んだ画像を入力する機能と、
該複数の入力画像データのおおまかな重なり領域を検出する機能と、
該検出されたおおまかな重なり領域を複数の矩形領域に分割し、該分割した矩形領域の中から、正確な重なり位置検出に用いる矩形領域と、結合面として用いる矩形領域とを抽出する機能と、
該検出された正確な重なり位置検出に用いる矩形領域を用いて、前記複数の入力画像の正確な重なり位置を決定すると共に、前記結合面として用いる矩形領域において前記複数の入力画像を合成処理し、該複数の画像を結合する機能と、
を実現させるプログラムを記録した前記コンピュータ読取り可能な記録媒体。
（付記１３）  コンピュータにおいて用いられたとき、
入力機器により複数回に分けて読み込んだ画像を入力する機能と、
前記読み込んだ複数の入力画像データを一時的に記憶すると共に、該入力画像データのデータ量を少なくした画像データを作成し、該作成した画像データを用いて前記複数の入力画像の結合位置関係とおおまかな重なり領域を検出する機能と、
前記読み込んだ各入力画像データを単一の色成分を持つ階調画像に変換した階調画像データを用い、該階調画像において前記検出されたおおまかな重なり領域に対応する領域を、複数の矩形領域に分割し、該複数の矩形領域の中から、正確な重なり位置検出に用いる矩形領域と、画像の結合面に用いる矩形領域とを抽出する機能と、
前記読み込んだ各入力画像データを用い、前記抽出された正確な重なり位置検出に用いる矩形領域を用いて、該複数の入力画像の正確な重なり位置を決定すると共に、前記画像の結合面に用いる矩形領域において該複数の入力画像を合成処理し、該複数の画像を結合する機能と、
を実現させるプログラムを記録した前記コンピュータ読取り可能な記録媒体。
（付記１４）  コンピュータに、
入力機器により複数回に分けて読み込んだ画像を入力する機能と、
該複数の入力画像データよりデータ量を少なくした画像データを作成し、該作成した画像データを用いて前記複数の入力画像の結合位置関係とおおまかな重なり領域を検出する機能と、
該検出された結合位置関係とおおまかな重なり領域とに基づいて、前記複数の入力画像を結合する機能と、
を実現させるためのプログラム。
（付記１５）  コンピュータに、
入力機器により複数回に分けて読み込んだ画像を入力する機能と、
該複数の入力画像データのおおまかな重なり領域を検出する機能と、
該検出されたおおまかな重なり領域を複数の矩形領域に分割し、該分割した矩形領域の中から、正確な重なり位置検出に用いる矩形領域と、結合面として用いる矩形領域とを抽出する機能と、
該検出された正確な重なり位置検出に用いる矩形領域を用いて、前記複数の入力画像の正確な重なり位置を決定すると共に、前記結合面として用いる矩形領域において前記複数の入力画像を合成処理し、該複数の画像を結合する機能と、
を実現させるためのプログラム。
（付記１６）  コンピュータに、
入力機器により複数回に分けて読み込んだ画像を入力する機能と、
前記読み込んだ複数の入力画像データを一時的に記憶すると共に、該入力画像データのデータ量を少なくした画像データを作成し、該作成した画像データを用いて前記複数の入力画像の結合位置関係とおおまかな重なり領域を検出する機能と、
前記読み込んだ各入力画像データを単一の色成分を持つ階調画像に変換した階調画像データを用い、該階調画像において前記検出されたおおまかな重なり領域に対応する領域を、複数の矩形領域に分割し、該複数の矩形領域の中から、正確な重なり位置検出に用いる矩形領域と、画像の結合面に用いる矩形領域とを抽出する機能と、
前記読み込んだ各入力画像データを用い、前記抽出された正確な重なり位置検出に用いる矩形領域を用いて、該複数の入力画像の正確な重なり位置を決定すると共に、前記画像の結合面に用いる矩形領域において該複数の入力画像を合成処理し、該複数の画像を結合する機能と、
を実現させるためのプログラム。
【０１２２】
【発明の効果】
以上、詳細に説明したように、本発明の画像結合装置、その方法等によれば、一方の画像に対し他方の画像が相対的に鏡像反転かつ/または回転する場合であっても、画像入力機器の移動量や進行方向を検出するハードウェアを利用せずに、高速に自動的に２つの画像を結合することができる。且つ、処理に必要なメモリ容量を削減できる。これは、特に、入力画像がフルカラー画像である場合に顕著な効果を奏する。
【０１２３】
また、本発明の画像結合装置、その方法等によれば、２つの画像のつなぎ目が目立たないようにできる。
以上のことから、本発明はハンドヘルドヘルドスキャナ等による画像入力の操作性およびユーザインタフェースの改善に寄与するところが大きい。
【図面の簡単な説明】
【図１】本発明の原理ブロック図である。
【図２】本実施の形態による画像結合装置における処理全体を概略的に示すフローチャート図である。
【図３】縮小画像作成のイメージを示す図である。
【図４】図２のステップＳ２１の処理の詳細フローチャート図である。
【図５】縮小画像を用いて、おおまかな重なり領域を検出する様子を示す図である。
【図６】縮小画像を用いて検出したおおまかな重なり領域の座標データの一例を示す図である。
【図７】図２のステップＳ２２の処理の詳細フローチャート図である。
【図８】（ａ）はImgGray2（x,y） に対応させた重なり領域、（ｂ）はそれを複数の矩形領域に分割した状態を示す図である。
【図９】（ａ）は複数の矩形領域に分割した重なり領域、（ｂ）はそれから色差の大きな濃度成分を含む矩形領域を抽出した例を示す図である。
【図１０】抽出した矩形領域の中から、正確な重なり位置検出の為に用いる矩形領域を、重なり領域の長手方向と平行な方向に選択する様子を示す図である。
【図１１】正確な重なり位置検出の為に用いる矩形領域を、複数の列から選択する様子を示す図である。
【図１２】第１の画像に対して第２の画像が傾いている場合の様子を示す図である。
【図１３】傾きがある場合において、縮小画像を用いて、おおまかな重なり領域を検出した場合にずれが生じる様子を示す図である。
【図１４】回帰分析を利用した傾き角度の検出方法を説明する為の図である。
【図１５】正確な重なり位置検出の為に用いる矩形領域を用いて、この矩形領域毎に正確な重なり位置を検出する様子を示した図である。
【図１６】結合面に用いる矩形領域を抽出する様子を示す図である。
【図１７】結合面に用いる矩形領域を、隣接する列からも抽出する様子を示す図である。
【図１８】図２のステップＳ２３の処理の詳細フローチャート図である。
【図１９】正確な重なり位置検出に使用した領域／結合面に用いる領域を示す図である。
【図２０】結合面においてつなぎ目が目立たないように合成処理が行なわれて２つの画像が結合された様子を示す図である。
【図２１】本実施の形態による画像結合装置を実現する情報処理装置のハードウェア構成の一例を示す図である。
【図２２】記録媒体の一例を示す図である。
【図２３】ユーザの操作に応じて２つの画像の結合位置関係が変わる様子を示す図（その１）である。
【図２４】ユーザの操作に応じて２つの画像の結合位置関係が変わる様子を示す図（その２）である。
【図２５】画像が鏡像反転する例を示す図である。
【図２６】ユーザの操作に応じて、一方の画像に対して他方の画像が回転する場合を説明する為の図である。
【図２７】図２６の場合に対して、２つの画像の重なり位置を検出する様子を示す図である。
【符号の説明】
１  第一段階（おおまかな重なり位置検出）
２  第二段階（正確な重なり位置検出）
３  第三段階（結合処理）
４  入力機器
５  出力画像
１０  第１の画像
１１  ImgGray1（x,y）
１２  ImgGray1'（x,y）
２０  第２の画像
２１  ImgGray2（x,y）
２２  ImgGray2'（x,y）
３０  重なり領域
４０  重なり領域
５０  情報処理装置
５１  ＣＰＵ
５２  メモリ
５３  入力装置
５４  出力装置
５５  外部記憶装置
５６  媒体駆動装置
５７  ネットワーク接続装置
５８  バス
５９  可搬記録媒体
６０  画像入力装置
６１  外部の情報提供者側の装置
６２  記憶装置
【図１】
0004551018.tif 000004
【図２】
0004551018.tif 000005
【図３】
0004551018.tif 000006
【図４】
0004551018.tif 000007
【図５】
0004551018.tif 000008
【図６】
0004551018.tif 000009
【図７】
0004551018.tif 000010
【図８】
0004551018.tif 000011
【図９】
0004551018.tif 000012
【図１０】
0004551018.tif 000013
【図１１】
0004551018.tif 000014
【図１２】
0004551018.tif 000015
【図１３】
0004551018.tif 000016
【図１４】
0004551018.tif 000017
【図１５】
0004551018.tif 000018
【図１６】
0004551018.tif 000019
【図１７】
0004551018.tif 000020
【図１８】
0004551018.tif 000021
【図１９】
0004551018.tif 000022
【図２０】
0004551018.tif 000023
【図２１】
0004551018.tif 000024
【図２２】
0004551018.tif 000025
【図２３】
0004551018.tif 000026
【図２４】
0004551018.tif 000027
【図２５】
0004551018.tif 000028
【図２６】
0004551018.tif 000029
【図２７】
0004551018.tif 000030