(57)【特許請求の範囲】
【請求項１】
画像の一部が互いに重複した少なくとも第１の画像とそれに隣接する第２の画像を合成する画像合成方法であって、
上記第１の画像上に設定された複数の領域に対応する上記第２の画像上の点を抽出する対応点抽出ステップと、
上記対応点抽出ステップで抽出された複数の対応点に基づいて、上記第１の画像と上記第２の画像を合成する際の接合位置を設定する接合位置設定ステップと、
上記接合位置設定ステップで設定された接合位置に基づいて、上記第１の画像と上記第２の画像を合成する際の合成パラメータを生成する生成ステップと、
上記接合位置設定ステップで設定された接合位置に含まれる上記対応点の各々が略一致するように上記第２の画像の接合位置の近傍の所定範囲に存在する画像情報を局所的に変換する変換ステップと、
上記第１の画像と、上記変換ステップで変換が行われた上記第２の画像とを上記合成パラメータに基づき合成する画像合成ステップとを含むことを特徴とする画像合成方法。
【請求項２】
上記接合位置設定ステップは、
上記対応点抽出ステップで抽出された各領域に対する対応点のばらつき度を生成する生成ステップと、
上記生成ステップで生成されたばらつき度に基づいて接合位置を設定する設定ステップとを含むことを特徴とする請求項１に記載の画像合成方法。
【請求項３】
画像の一部が互いに重複した少なくとも第１の画像とそれに隣接する第２の画像を合成する画像合成装置であって、
上記第１の画像上に設定された複数の領域に対応する上記第２の画像上の点を抽出する対応点抽出手段と、
上記対応点抽出手段で抽出された複数の対応点に基づいて、上記第１の画像と上記第２の画像を合成する際の接合位置を設定する接合位置設定手段と、
上記接合位置設定手段で設定された接合位置に基づいて、上記第１の画像と上記第２の画像を合成する際の合成パラメータを生成する生成手段と、
上記接合位置設定手段で設定された接合位置に含まれる上記対応点の各々が略一致するように上記第２の画像の接合位置の近傍の所定範囲に存在する画像情報を局所的に変換する変換手段と、
上記第１の画像と、上記変換手段で変換が行われた上記第２の画像とを上記合成パラメータに基づき合成する画像合成手段とを含むことを特徴とする画像合成装置。
【請求項４】
上記接合位置設定手段は、上記対応点抽出手段で抽出された各領域に対する対応点のばらつき度を生成する手段を含み、当該手段で生成されたばらつき度に基づいて接合位置を設定することを特徴とする請求項３に記載の画像合成装置。
【請求項５】
画像の一部が互いに重複した複数の画像を合成する画像合成システムであって、
請求項３又は請求項４に記載の画像合成装置を含むことを特徴とする画像合成システム。
【請求項６】
画像の一部が互いに重複した複数の画像を合成するための処理ステップをコンピュータに実行させるためのプログラムを格納したコンピュータ読み取り可能な記憶媒体であって、
上記処理ステップは、請求項１又は請求項２に記載の画像合成方法のステップを含むことを特徴とする記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の画像を合成して１枚の合成画像を得る画像合成方法、画像合成装置、画像合成システム、及びそれを実施するための処理ステップをコンピュータが読出可能に格納した記憶媒体に関するものである。
【０００２】
【従来の技術】
従来より、複数の画像を合成する装置として、画像の少なくとも一部が互いに重複している複数の画像を得て、それらの各画像を合成して１枚の画像（合成画像）を生成する装置が知られている。
【０００３】
このような画像合成装置では、例えば、図２１に示すように、先ず、風景の少なくとも一部が重複するように、撮影装置８００を状態８１１から状態８１２、状態８１３へと順次移動させて撮影する。
これにより、状態８１１で得られた撮影領域８２１の撮影画像（以下、画像８２１’と言う）、状態８１２で得られた撮影領域８２２の撮影画像（以下、画像８２２’と言う）、及び状態８１３で得られた撮影領域８２３の撮影画像（以下、画像８２３’と言う）が得られ、画像８２１’とそれに隣接する画像８２２’は、重複部分８３１で互いに重複したものとなり、また、画像８２２’とそれに隣接する画像８２３’は、重複部分８３２で互いに重複したものとなる。
そして、互いに隣接する画像間の相関処理による各画像の位置合わせを行って、アフィン変換等の座標変換処理を行うことで、画像８２１’、画像８２２’、及び画像８２３’を合成した１枚の合成画像を得る。
【０００４】
【発明が解決しようとする課題】
しかしながら、上述したような従来の画像合成装置において、複数の画像を合成する際の位置（上記図２１では、重複部分８３１及び８３２の位置、以下、接合位置とも言う）の設定等について特に開示したものはなかった。
このため、例えば、上記図２１の状態８１１及び８１２で撮影して得られた画像８２１’及び８２２’を、重複部分８３１で接合すると、図２２に示すように、視差等の影響により、重複部分８３１に存在する遠景の被写体８４０がずれて２重像が生じることがあった。
【０００５】
このように、従来では、各画像の接合位置の設定に関する処理が行われていなかったため、不適切な位置で各画像が接合されることがあり、この結果、良好な合成画像を得ることができなかった。
【０００６】
そこで、本発明は、上記のような欠点を除去するために成されたもので、常に良好な合成画像を得ることができる画像合成方法、及びそれを実施するための処理ステップをコンピュータが読出可能に格納した記憶媒体を提供することを目的とする。
また、常に良好な合成画像を得る画像合成装置及び画像合成システムを提供することを目的とする。
【０００７】
【課題を解決するための手段】
斯かる目的下において、第１の発明は、画像の一部が互いに重複した少なくとも第１の画像とそれに隣接する第２の画像を合成する画像合成方法であって、上記第１の画像上に設定された複数の領域に対応する上記第２の画像上の点を抽出する対応点抽出ステップと、上記対応点抽出ステップで抽出された複数の対応点に基づいて、上記第１の画像と上記第２の画像を合成する際の接合位置を設定する接合位置設定ステップと、上記接合位置設定ステップで設定された接合位置に基づいて、上記第１の画像と上記第２の画像を合成する際の合成パラメータを生成する生成ステップと、上記接合位置設定ステップで設定された接合位置に含まれる上記対応点の各々が略一致するように上記第２の画像の接合位置の近傍の所定範囲に存在する画像情報を局所的に変換する変換ステップと、上記第１の画像と、上記変換ステップで変換が行われた上記第２の画像とを上記合成パラメータに基づき合成する画像合成ステップとを含むことを特徴とする。
【００１３】
第２の発明は、上記第１の発明において、上記接合位置設定ステップは、上記対応点抽出ステップで抽出された各領域に対する対応点のばらつき度を生成する生成ステップと、上記生成ステップで生成されたばらつき度に基づいて接合位置を設定する設定ステップとを含むことを特徴とする。
【００１４】
第３の発明は、画像の一部が互いに重複した少なくとも第１の画像とそれに隣接する第２の画像を合成する画像合成装置であって、上記第１の画像上に設定された複数の領域に対応する上記第２の画像上の点を抽出する対応点抽出手段と、上記対応点抽出手段で抽出された複数の対応点に基づいて、上記第１の画像と上記第２の画像を合成する際の接合位置を設定する接合位置設定手段と、上記接合位置設定手段で設定された接合位置に基づいて、上記第１の画像と上記第２の画像を合成する際の合成パラメータを生成する生成手段と、上記接合位置設定手段で設定された接合位置に含まれる上記対応点の各々が略一致するように上記第２の画像の接合位置の近傍の所定範囲に存在する画像情報を局所的に変換する変換手段と、上記第１の画像と、上記変換手段で変換が行われた上記第２の画像とを上記合成パラメータに基づき合成する画像合成手段とを含むことを特徴とする。
【００２０】
第４の発明は、上記第３の発明において、上記接合位置設定手段は、上記対応点抽出手段で抽出された各領域に対する対応点のばらつき度を生成する手段を含み、当該手段で生成されたばらつき度に基づいて接合位置を設定することを特徴とする。
【００２１】
第５の発明は、画像の一部が互いに重複した複数の画像を合成する画像合成システムであって、上記第３の発明又は上記第４の発明に記載の画像合成装置を含むことを特徴とする。
【００２２】
第６の発明は、画像の一部が互いに重複した複数の画像を合成するための処理ステップをコンピュータに実行させるためのプログラムを格納したコンピュータ読み取り可能な記憶媒体であって、上記処理ステップは、上記第１の発明又は上記第２の発明に記載の画像合成方法のステップを含むことを特徴とする。
【００２３】
【発明の実施の形態】
以下、本発明の実施の形態について図面を用いて説明する。
【００２４】
（第１の実施の形態）
【００２５】
本発明は、例えば、図１に示すような画像合成装置１００に適用される。
この画像合成装置１００は、上記図１に示すように、画像入力回路１０１と、画像入力回路１０１の出力が供給される画像メモリ１０５及び相関処理回路１０２と、相関処理回路１０２の出力が供給される接合位置設定回路１０３と、接合位置設定回路１０３及び画像メモリ１０５の各出力が供給される合成パラメータ生成回路１０４と、合成パラメータ生成回路１０４の出力が供給される画像合成処理回路１０６と、画像合成処理回路１０６の出力が供給される合成画像メモリ１０７とを備えており、相関処理回路１０２には、画像メモリ１０５の出力も供給されるようになされている。
また、画像合成装置１００は、ＣＰＵ（Central Processing Unit ）１０８と、ＣＰＵ１０８よりアクセスされるメモリ１０９とを備えている。
【００２６】
上述のような画像合成装置１００全体の動作制御は、ＣＰＵ（Central Processing Unit ）１０８により行われる。また、画像合成装置１００全体をマイクロプロセッサ内にてソフトウェアで構成することもできる。
すなわち、メモリ１０９には、図２に示すようなフローチャートに従った処理プログラムを含む各種処理プログラム及び各種データ等が予め格納されている。そこで、複数の画像を合成する際には、上記図２の処理プログラムがメモリ１０９からＣＰＵ１０８により読み出されて実行されることにより、画像合成装置１００は以下のように動作する。
【００２７】
（ステップＳ２０１）
【００２８】
先ず、画像入力回路１０１は、画像の合成に用いる複数の画像データを順次入力する。このとき入力される画像データは、例えば、カメラ装置等の撮影装置で撮影して得られた画像信号をディジタル化した画像データとする。
尚、この画像入力回路１０１により入力される画像データとしては、撮影装置により得られる画像データに限らず、画像データが予め保持されている記録媒体や記憶素子から読み込んだ画像データ等としてもよい。
【００２９】
（ステップＳ２０２）
【００３０】
次に、画像メモリ１０５は、画像入力回路１０１で順次入力された画像データを一旦保持する。
【００３１】
（ステップＳ２０３）
【００３２】
次に、相関処理回路１０２は、画像入力回路１０１で２つの画像データが入力されたか否かを判別し、２つの画像データが入力されるまで、待ち状態となる。
【００３３】
（ステップＳ２０４）
【００３４】
そして、２つの画像データが入力されると、相関処理回路１０２は、その２つの画像データ、すなわち画像入力回路１０１により入力され画像メモリ１０５に一旦保持された２つの画像データに対して、相関演算処理を行う。
ここで、相関処理回路１０２で行われる相関演算処理は、例えば、図３に示すように、合成する２つの画像データを画像３００Ｌ及び３００Ｒとした場合、次のような手順１〜４により行われる。
【００３５】
手順１：  画像３００Ｌを基準画像として、その画像上の点Ｐijを中心としたｎ×ｍ画素からなる領域（テンプレート）３０１を設定する。
手順２：  他方の画像３００Ｒを参照画像として、その画像上にサーチエリア３１０を設定し、そのサーチエリア３１０内で、手順１で設定した領域３０１に対応した領域３０１’を移動させながら各移動点（ｘ，ｙ）における相関値Ｚmnを式（１）により求める。
【００３６】
【数１】
0004154023.tif 000002
【００３７】
手順３：  手順２で求めた各移動点における相関値Ｚmnを互いに比較することで、図４に示すように、最大の相関値Ｚmax を与える移動点（ｘmax ，ｙmax ）を抽出する。
手順４：  そして、最大の相関値Ｚmax を与える移動点（ｘmax ，ｙmax ）から、その点でのｘ方向及びｙ方向の移動量（ｍ’，ｎ’）を求め、画像３００Ｌでの点Ｐij（＝（ｘ，ｙ））に対する画像３００Ｒでの点（対応点）Ｐ’ijの座標（ｘ’，ｙ’）を、
ｘ’＝ｘ−ｍ’
ｙ’＝ｙ−ｎ’
により定める。
【００３８】
ここでは、相関処理回路１０２は、画像３００Ｌに領域３０１と同様の複数の領域３０２〜３０４を設定し、画像３００Ｒでの各領域３０１’〜３０４’に対する相関値Ｚmax1〜Ｚmax4及び対応点（ｘ1 ’，ｙ1 ’）〜（ｘ4 ’，ｙ4 ’）を手順１〜手順４により求め、それらを内部メモリ（図示せず）に保持する。
尚、以下の説明においても、合成する２つの画像データを、画像３００Ｌ及び３００Ｒとする。
【００３９】
（ステップＳ２０５）
【００４０】
次に、接合位置設定回路１０３は、相関処理回路１０２で得られた各領域３０１’〜３０４’に対するの相関値Ｚmax1〜Ｚmax4及び対応点（ｘ1 ’，ｙ1 ’）〜（ｘ4 ’，ｙ4 ’）を基に、画像３００Ｌと画像３００Ｒを合成する際の接合位置（以下、接合点或いは接合部とも言う）を設定する。
この接合点の設定は、次のようにして行われる。
【００４１】
まず、上述した相関処理回路１０２により、画像３００Ｌ上に設定された複数の領域３０１〜３０４に対して、画像３００Ｒ上における相関値Ｚmax1〜Ｚmax4、及び対応点（ｘ1 ’，ｙ1 ’）〜（ｘ4 ’，ｙ4 ’）が得られている。
そこで、接合位置設定回路１０３は、各相関値Ｚmax1〜Ｚmax4を比較して、最大の相関値を与える領域及び対応点を抽出する。例えば、領域３０１〜３０４に対する相関値Ｚmax1〜Ｚmax4が図５に示すような関係であった場合、領域３０３に対する相関値Ｚmax3が最大となっている。したがって、この場合には、最大の相関値Ｚmax3を与える画像３００Ｌでの領域３０３、及びそれに対する画像３００Ｒでの対応点（ｘ3 ’，ｙ3 ’）が抽出されることになる。
そして、接合位置設定回路１０３は、抽出した領域３０３の中心線３０３Ｓを接合ラインとする。
【００４２】
（ステップＳ２０６）
【００４３】
次に、合成パラメータ生成回路１０４は、接合位置設定回路１０３で抽出された最大の相関値を与える領域の情報を基に、画像３００Ｌと画像３００Ｒ、すなわち画像メモリ１０５に一旦保持されている画像３００Ｌと画像３００Ｒの合成パラメータを生成する。
ここでは、図６に示すように、関数値Ｚmax3を与える画像３００Ｌでの領域３０３が接合位置設定回路１０３で抽出されているため、合成パラメータ生成回路１０４は、この画像３００Ｌでの領域３０３と、画像３００Ｒでの領域３０３’とが一致するような合成パラメータを生成する。
【００４４】
（ステップＳ２０７）
【００４５】
次に、画像合成処理回路１０６は、合成パラメータ生成回路１０４で生成された合成パラメータを基に、画像３００Ｌと画像３００Ｒを合成する。合成する際の接合ラインは、接合位置設定回路１０３で得られた中心線３０３Ｓ（ステップＳ２０５）を用いる。したがって、画像３００Ｌと画像３００Ｒは、図７に示すように、領域３０３（３０３’）の中心線３０３Ｓを接合ラインとして合成されることになる。
このようにして合成して得られた合成画像は、合成画像メモリ１０７に保持される。
尚、このとき、合成画像を表示器（図示せず）で表示させるようにしてもよい。
【００４６】
上述のように、本実施の形態では、画像３００Ｌ上に設定した複数の領域３０１〜３０４に対する相関値Ｚmax1〜Ｚmax4に基づいて、画像３００Ｌと画像３００Ｒの接合位置を設定すると共に、接合位置近辺の画像情報を用いて、画像３００Ｌと画像３００Ｒを合成する際に用いる合成パラメータを生成するようにした。これにより、合成する画像３００Ｌと画像３００Ｒに遠近の被写体が混在する場合においても、接合部の画質を著しく向上させることができ、したがって、高品位な合成画像を得ることができる。
【００４７】
（第２の実施の形態）
【００４８】
本発明は、例えば、図８に示すような画像合成装置４００に適用される。
この画像合成装置４００は、上記図８に示すように、第１の実施の形態における画像合成装置１００（上記図１）と同様の構成としているが、画像合成装置１００が備える相関処理回路１０２の代わりに、対応点抽出回路４０１を備えた構成としている。また、画像合成装置３００は、合成パラメータ生成回路１０４と画像合成処理回路１０６間に局所変換処理回路４０２を備えた構成としている。すなわち、画像合成装置４００の特徴とするところは、対応点抽出回路４０１、対応点抽出回路４０１の出力が供給される接合位置設定回路１０３’、及び対応点抽出回路４０１の出力が供給される局所変換回路４０２が各々有する機能及びその動作にある。
【００４９】
このため、メモリ１０９には、上記図２の処理プログラムの代わりに、図９に示すようなフローチャートに従った処理プログラムが予め格納されている。そこで、複数の画像を合成する際には、上記図９の処理プログラムがメモリ１０９からＣＰＵ１０８により読み出されて実行されることにより、画像合成装置４００は以下のように動作する。
【００５０】
尚、上記図８の画像合成装置４００において、上記図１の画像合成装置１００と同様に機能する箇所には同じ符号を付し、その詳細な説明は省略する。また、上記図９のフローチャートにおいて、上記図２のフローチャートと同様に処理するステップには同じステップ番号を付し、その詳細な説明は省略する。以下では、第１の実施の形態と異なる箇所についてのみ、具体的に説明するものとする。
【００５１】
（ステップＳ２０１〜ステップＳ２０３）
【００５２】
先ず、画像入力回路１０１は、画像の合成に用いる複数の画像データを順次入力し、画像メモリ１０５は、画像入力回路１０１で順次入力された画像データを一旦保持する。
そこで、対応点抽出回路４０１は、画像入力回路１０１で２つの画像データが入力されたか否かを判別し、２つの画像データが入力されるまで、待ち状態となる。
【００５３】
（ステップＳ５０１）
【００５４】
そして、２つの画像データが入力されると、対応点抽出回路４０１は、その２つの画像データ、すなわち画像入力回路１０１により入力され画像メモリ１０５に一旦保持された２つの画像データ（以下、第１の実施の形態での説明と同様に、画像３００Ｌ及び３００Ｒとする）に対して、対応点抽出処理を行う。
ここで、対応点抽出回路４０１で行われる対応点抽出処理では、例えば、図１０に示すように、先ず、画像３００Ｌ上に、各々が点Ｐ11、Ｐ21、・・・、Ｐij、・・・を中心とする複数の領域（テンプレート）Ｔ11、Ｔ21、・・・、Ｔij、・・・  をメッシュ状に設定する。そして、画像３００Ｒ上に設定したサーチエリア３２０内で、例えば、点Ｐijを中心とする領域Ｔijに対する相関値を上記式（１）により算出し、画像３００Ｌでの点Ｐijに対する画像３００Ｒでの点（対応点）を抽出する。他の領域Ｔ11、Ｔ21、・・・についても同様の処理を行う。この結果、図１１に示すように、画像３００Ｌでの点Ｐ11、Ｐ21、・・・、Ｐij、・・・に対応する画像画像３００Ｒでの対応点Ｐ’11、Ｐ’21、・・・、Ｐ’ij、・・・が抽出されることになる。
尚、上記図１１において、”Ｐij”と”Ｐ’ij”が対応する点の組（ペア）を表す。
【００５５】
（ステップＳ２０５’）
【００５６】
次に、接合位置設定回路１０３’は、対応点抽出回路４０１で抽出された対応点Ｐ’11、Ｐ’21、・・・、Ｐ’ij、・・・の情報を基に、２つの画像３００Ｌ及び３００Ｒの接合点を設定する。
この接合点の設定は、次のようにして行われる。
【００５７】
まず、画像３００Ｌ上の複数の領域Ｔ11、Ｔ21、・・・、Ｔij、・・・は、メッシュ状に設定されているため、上記図１１に示すように、例えば、ラインＬ1 上の点Ｐ11、・・・、Ｐ1k、・・・は、同じＸ座標を有することになる。これに対して、画像３００Ｒ上の対応点Ｐ’11、・・・、Ｐ’1k、・・・のＸ座標は、各々左右にずれた位置に存在することになる。このずれは、主に各点に対応する被写体の奥行きに起因するものと考えられる。この結果、上記図２２に示したような、遠近が混在している被写体の画像を合成する際には、このずれが大きくなる。
【００５８】
そこで、この接合位置設定回路１０３’では、画像３００Ｌ上の各ライン（ここでは、ラインＬ1 、Ｌ2 、Ｌ3 、及びＬ4 とする）に存在する点に対する画像３００Ｒでの対応点のばらつきを評価して、画像３００Ｌと画像３００Ｒの接合点を設定する。
例えば、ラインＬ1 について、図１２に示すように、ラインＬ1 に存在する点Ｐ11、・・・、Ｐ1k、・・・に対する対応点Ｐ’11、・・・、Ｐ’1k、・・・のＸ座標の分散ε1 を得る。他のラインＬ2 、Ｌ3 、及びＬ4 についても同様にして、分散ε2 、ε3 、及びε4 を得る。そして、分散ε1 、ε2 、ε3 、及びε4 を比較し、その結果、例えば、分散ε1 が最小であった場合、この分散ε1 に対応するライン（接合ライン）Ｌ1 を接合点（接合位置）として設定する。
【００５９】
（ステップＳ２０６’）
【００６０】
次に、合成パラメータ生成回路１０４’は、接合位置設定回路１０３’で得られた接合位置（ここでは、接合ラインＬ1 とする）の情報を基に、画像３００Ｌと画像３００Ｒの合成パラメータを生成する。
ここでは、上記図１１に示したような、接合ラインＬ1 上の点Ｐ11、・・・、Ｐ1k、・・・に対する対応点Ｐ’11、・・・、Ｐ’1k、・・・の座標を用いて、合成パラメータを生成する。
具体的には、例えば、次のようにして、アフィン変換により画像３００Ｌと画像３００Ｒを合成する際の合成パラメータを生成する。
【００６１】
アフィン変換は、画像３００Ｌ上の座標を（ｘ，ｙ）、画像３００Ｒ上の座標を（ｘ’，ｙ’）とすると、
ｘ’＝  Ａｘ＋Ｂｙ＋Ｃ
ｙ’＝−Ｂｘ＋Ａｙ＋Ｄ                      ・・・式（２）
なる式（２）で表される。この式（２）において、”Ａ”、”Ｂ”、”Ｃ”、及び”Ｄ”は、パラメータを示す。
【００６２】
そこで、先ず、接合ラインＬ1 に対する対応点Ｐ’11、・・・、Ｐ’1k、・・・の座標（ｘ’，ｙ’）＝（ｘ’11，ｙ’11）、・・・、（ｘ’1k，ｙ’1k）、・・・を求める。次に、それらの座標（ｘ’11，ｙ’11）、・・・、（ｘ’1k，ｙ’1k）、・・・を用いて、上記式（２）で表されるアフィン変換を基に、最小二乗法による演算処理を行う。
最小二乗法による演算は、
【００６３】
【数２】
0004154023.tif 000003
【００６４】
なる式（３）（評価式）により表される。
アフィン変換の場合、上記式（３）における”Ｅ”は誤差を示す。したがって、この誤差Ｅが最小となるパラメータＡ、Ｂ、Ｃ、及びＤを求め、これらのパラメータを、画像３００Ｌと画像３００Ｒを合成する際に用いる合成パラメータとする。
【００６５】
（ステップＳ５０２）
【００６６】
一方、局所変換処理回路４０２は、接合位置設定回路１０３’で得られた接合位置（ここでは、接合ラインＬ1 とする）の情報を基に、その接合位置近辺の画像情報を局所的に変換する。このような局所変換処理回路４０２を設けることで、接合部の画質が更に向上することになる。
【００６７】
具体的には、例えば、図１３に示すように、接合ラインＬ1 で画像３００Ｌと画像３００Ｒを位置合わせした場合、画像３００Ｌの接合ラインＬ1 上に存在する点Ｐ11、Ｐ12、Ｐ13、Ｐ14、Ｐ15、・・・（図中では”×”で示す）の対応点Ｐ’11、Ｐ’12、Ｐ’13、Ｐ’14、Ｐ’15、・・・（図中では”■”で示す）が視野の関係で微妙にずれる。
そこで、このようなずれを解消するために、局所変換処理回路４０２では、接合ラインＬ1 近辺の画像を局所的に変換する。局所変換処理回路４０２での変換処理は、次のようにして行われる。
【００６８】
図１４において、ラインＬ’1 は、画像３００Ｌにおける接合ラインＬ1 を画像３００Ｒ上に投影したものである。
局所変換処理回路４０２は、先ず、画像３００Ｒ上の対応点Ｐ’11、Ｐ’12、Ｐ’13、Ｐ’14、Ｐ’15、・・・を、ラインＬ’1 上の点Ｑ1 、Ｑ2 、Ｑ3 、Ｑ4 、Ｑ5 、・・・に一致するように変換する。
ここでの変換処理では、対応点Ｐ’11、Ｐ’12、Ｐ’13、Ｐ’14、Ｐ’15、・・・に基づいた滑らかなフィッティング関数ｆｔを生成し、対応点Ｐ’11、Ｐ’12、Ｐ’13、Ｐ’14、Ｐ’15、・・・をフィッティング関数ｆｔ上に移動させる。
【００６９】
フィッティング関数ｆｔは、画像３００Ｒ上の対応点の座標（ｘ’，ｙ’）を用いて、例えば、２次関数でフィッティングする場合、
ｘ’＝ａｙ’2 ＋ｂｙ’＋ｃ              ・・・式（４）
なる式（４）により生成される。この式（４）における”ａ”、”ｂ”、及び”ｃ”は、係数を示す。
したがって、対応点Ｐ’11、Ｐ’12、Ｐ’13、Ｐ’14、Ｐ’15、・・・の各座標（ｘ’，ｙ’）＝（ｘ’11，ｙ’11）、（ｘ’12，ｙ’12）、（ｘ’13，ｙ’13）、（ｘ’14，ｙ’14）、（ｘ’15，ｙ’15）、・・・を用いて、
【００７０】
【数３】
0004154023.tif 000004
【００７１】
なる式（５）による最小二乗法による演算処理により、係数ａ、ｂ、及びｃを求める。
【００７２】
尚、ここでは、２次関数によりフィッティングするものとしたが、これに限らず、例えば、次数を対応点の座標情報等を用いて適切な値を設定する、或いは、スプライン関数等の多項式関数を用いて、フィッティングするようにしてもよい。
【００７３】
上述のようなフィッティングの後、局所変換処理回路４０２は、図１５に示すように、画像３００Ｒにおいて、画像を変換する範囲Ｂを設定する。そして、局所変換処理回路４０２は、設定した範囲Ｂ内の画像データを、フィッティング関数ｆｔがラインＬ’1 と一致するように、局所的に変形させる。
ここでの変形処理では、例えば、公知の画像変形処理を用いる。
尚、この変形処理の際に、スプライン関数を用いて各点の座標を滑らかに、且つ連続的に変形することで、高画質が得られる画像変形処理を実現できる。
【００７４】
上述のような処理を行う局所変換処理回路４０２により、接合部（ここでは、ラインＬ’1 ）の微小なずれが補正され、ずれ補正の精度の高い画像の合成が可能となる。
【００７５】
（ステップＳ２０７’）
【００７６】
次に、画像合成処理回路１０６’は、局所変換処理回路４０２で局所変換が行われた画像３００Ｒ、及び合成パラメータ生成回路１０４’で生成された合成パラメータを基に、画像３００Ｌと画像３００Ｒ（局所変換された画像）を合成する。
このとき、画像合成処理回路１０６は、画像３００Ｌを基準として、画像３００Ｒを局所変換した画像を、上記合成パラメータを用いて上記式（２）により座標変換して、合成画像の画素値を生成する。また、合成する際の接合ラインは、接合位置設定回路１０３’で得られた接合ラインＬ1 （ステップＳ２０５’）を用いる。
こののようにして合成して得られた合成画像は、合成画像メモリ１０７に保持される。
【００７７】
上述のように、本実施の形態では、画像３００Ｌ上に設定された各領域に対応する画像３００Ｒ上の対応点のばらつきを評価することで、接合部を設定し、その接合部近辺の画像を局所的に変換するようにした。これにより、合成する画像３００Ｌと画像３００Ｒに遠近の被写体が混在する場合においても、適切な接合部を設定することができ、且つ微小なずれを解消することができるため、さらに高品位な合成画像を得ることができる。
【００７８】
（第３の実施の形態）
【００７９】
本発明は、例えば、図１６に示すような画像合成装置６００に適用される。
この画像合成装置６００は、上記図１６に示すように、第２の実施の形態における画像合成装置４００（上記図８）と同様の構成としているが、接合位置設定回路６０１と合成パラメータ生成回路６０２が各々有する機能及び動作を特徴としている。
【００８０】
このため、メモリ１０９には、上記図９の処理プログラムの代わりに、図１７に示すようなフローチャートに従った処理プログラムが予め格納されている。そこで、複数の画像を合成する際には、上記図１７の処理プログラムがメモリ１０９からＣＰＵ１０８により読み出されて実行されることにより、画像合成装置６００は以下のように動作する。
【００８１】
尚、上記図１６の画像合成装置６００において、上記図８の画像合成装置４００と同様に機能する箇所には同じ符号を付し、その詳細な説明は省略する。また、上記図１７のフローチャートにおいて、上記図９のフローチャートと同様に処理するステップには同じステップ番号を付し、その詳細な説明は省略する。以下では、第２の実施の形態と異なる箇所についてのみ、具体的に説明するものとする。
【００８２】
（ステップＳ２０１〜ステップＳ２０３、ステップＳ５０１）
【００８３】
先ず、画像入力回路１０１は、画像の合成に用いる複数の画像データを順次入力し、画像メモリ１０５は、画像入力回路１０１で順次入力された画像データを一旦保持する。
そこで、対応点抽出回路４０１は、画像入力回路１０１で２つの画像データが入力されたか否かを判別し、２つの画像データが入力されるまで、待ち状態となる。
そして、２つの画像データが入力されると、対応点抽出回路４０１は、その２つの画像データ、すなわち画像入力回路１０１により入力され画像メモリ１０５に一旦保持された２つの画像データ（以下、第２の実施の形態での説明と同様に、画像３００Ｌ及び３００Ｒとする）に対して、対応点抽出処理を行う。
【００８４】
（ステップＳ７０１）
【００８５】
次に、接合位置設定回路６０１は、対応点抽出回路４０１で抽出された対応点Ｐ’11、Ｐ’21、・・・、Ｐ’ij、・・・の情報を基に、２つの画像３００Ｌ及び３００Ｒの接合点を設定する。
この接合点の設定は、次のようにして行われる。
【００８６】
図１８は、画像３００Ｌ上の点Ｐ11、Ｐ21、・・・、Ｐij、・・・と、その対応点Ｐ’11、Ｐ’21、・・・、Ｐ’ij、・・・とを示したものである。ここで、画像３００Ｒ上の対応点Ｐ’11、Ｐ’21、・・・、Ｐ’ij、・・・を、画像３００Ｌ上にプロットすると、例えば、画像３００Ｌ上の点Ｐ11（＝（ｘ11，ｙ11））と、その対応点Ｐ’11（＝（ｘ’11，ｙ’11））との間のシフト量は、図中の点線矢印３４０により表すことができる。
【００８７】
そこで、接合位置設定回路６０１は、上記図１８で表したようなシフト量を、点Ｐ11、Ｐ21、・・・、Ｐij、・・・に対して各々求め、それらを、図１９に示すように正規化する。そして、接合位置設定回路６０１は、正規化した各シフト量のうち、同じ程度のシフト量である点を連結して、ライン３５０を形成する。このライン３５０が接合点（接合位置）として設定されることになる。
【００８８】
（ステップＳ７０２）
【００８９】
次に、合成パラメータ生成回路６０２は、接合位置設定回路６０１により設定された接合位置（ここでは、上記図１９のライン３５０とする）上の点（画像３００Ｌ上の点）と、それに対応する画像３００Ｒ上の対応点との各座標情報を基に、第２の実施の形態と同様にして、合成パラメータを生成する。
例えば、上記図１９では、画像３００Ｌ上のライン３５０には、点Ｐ31、Ｐ32、Ｐ33、Ｐ24、及びＰ15が存在しているため、それに対応する画像３００Ｒ上の対応点は、Ｐ’31、Ｐ’32、Ｐ’33、Ｐ’24、及びＰ’15となる。したがって、これらの対応点Ｐ’31、Ｐ’32、Ｐ’33、Ｐ’24、及びＰ’15の座標（ｘ’，ｙ’）＝（ｘ’31，ｙ’31）、（ｘ’32，ｙ’32）、（ｘ’33，ｙ’33）、（ｘ’24，ｙ’24）、及び（ｘ’15，ｙ’15）を用いて、上記式（３）により、合成パラメータを生成する。
【００９０】
（ステップＳ５０２）
【００９１】
一方、局所変換処理回路４０２は、接合位置設定回路６０１により設定された接合位置（ここでは、上記図１９のライン３５０とする）上の点（画像３００Ｌ上の点）に対応する画像３００Ｒ上の対応点を基に、第２の実施の形態と同様にして、フィッティング関数を生成し、接合部近辺の画像を局所的に変換する。
【００９２】
（ステップＳ２０７’）
【００９３】
次に、画像合成処理回路１０６’は、局所変換処理回路４０２で局所変換が行われた画像３００Ｒ、及び合成パラメータ生成回路６０２で生成された合成パラメータを基に、画像３００Ｌと画像３００Ｒ（局所変換された画像）を合成して、図２０に示すような合成画像を得る。
このようにして合成して得られた合成画像は、合成画像メモリ１０７に保持される。
【００９４】
上述のように、第２の実施の形態では、画像３００Ｌ上に設定された各領域に対応する画像３００Ｒ上の対応点のばらつきを評価することで接合位置を設定したのに対して、本実施の形態では、画像３００Ｌ上の点と、それに対する画像３００Ｒ上のとの間のシフト量を正規化し、正規化したシフト量のうち同じ程度のシフト量である点を連結してラインを形成し、このラインを接合位置として設定するようにした。
このようにして接合位置を設定しても、第２の実施の形態と同様に、合成する画像３００Ｌと画像３００Ｒに遠近の被写体が混在する場合においても、適切な接合部を設定することができ、且つ微小なずれを解消することができるため、さらに高品位な合成画像を得ることができる。
【００９５】
尚、上述の第３の実施の形態では、対応点のシフト量（正規化したシフト量）が同じ程度のものを連結することで、ライン３５０（接合ライン）を設定するようにしたが、これに限らず、例えば、対応点での相関値を基に接合ラインを形成する方式、或いは、接合ラインの滑らかさを評価する方式を用いて接合ラインを設定するようにしてもよい。
また、例えば、複数の原稿を合成して１枚の原稿を得る場合には、対応点でのエッジ強度を評価して、エッジ強度の低い対応点、すなわち文字等の間に存在する対応点を連結して接合ラインを形成する方式を用いるのが有効である。
さらに、重複する領域内に設定した複数の点を評価して、エッジ強度の低い点を基に、接合ラインを形成するようにしてもよい。
【００９６】
また、本発明の目的は、上述した実施の形態のサーバ及び端末の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読みだして実行することによっても、達成されることは言うまでもない。
この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施の形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することとなる。
【００９７】
プログラムコードを供給するための記憶媒体としては、ＲＯＭ、フロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード等を用いることができる。
【００９８】
また、コンピュータが読みだしたプログラムコードを実行することにより、上述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ等が実際の処理の一部又は全部を行い、その処理によって実施の形態の機能が実現される場合も含まれることは言うまでもない。
【００９９】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された拡張機能ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【０１００】
【発明の効果】
以上説明したように本発明によれば、画像間の対応する点に関する情報から適応的に接合位置（接合部）を設定して、各画像を合成するように構成したため、視差等を含む画像間の合成であっても、２重像等が生じるのを低減することができ、また、接合位置付近の画像を局所的に変換することで、接合位置の微小なずれを解消することができ、常に高画質の合成画像を得ることができる。
【０１０２】
また、対応点の相関値に基づいて接合位置を設定することで、合成する画像に対して最適な接合位置を設定することができる。
【０１０３】
また、対応点のばらつき度に基づいて接合位置を設定することで、視差等の影響を極力排除した領域を接合位置として設定することができる。
【０１０４】
また、対応点の相関値或いはばらつき度に基づいて接合位置を設定すると共に、その接合位置付近の画像を局所的に変換することで、接合位置の画質をさらに向上させることができる。
【０１０５】
また、本画像処理方法を実現するための処理ステップ（処理プログラム）を記憶媒体に記憶させることで、高画質の合成画像を得る、携帯性に優れた汎用の装置等を提供することができる。
【図面の簡単な説明】
【図１】第１の実施の形態において、本発明を適用した画像合成装置の構成を示すブロック図である。
【図２】上記画像合成装置にて実行される処理を説明するためのフローチャートである。
【図３】上記画像合成装置の相関処理回路で行われる相関演算処理を説明するための図である。
【図４】上記相関演算処理において、最大の相関値を与える移動点を抽出する処理を説明するための図である。
【図５】複数の領域に対する上記最大の相関値の関係の一例を説明するための図である。
【図６】上記複数の領域の各相関値のうち最大の相関値に対応する領域を基に合成パラメータを生成する処理を説明するための図である。
【図７】上記合成パラメータを基に画像を合成する処理を説明するための図である。
【図８】第２の実施の形態において、本発明を適用した画像合成装置の構成を示すブロック図である。
【図９】上記画像合成装置にて実行される処理を説明するためのフローチャートである。
【図１０】上記画像合成装置の対応点抽出回路で行われる対応点抽出処理を説明するための図である。
【図１１】上記対応点抽出処理で抽出される対応点を説明するための図である。
【図１２】上記対応点のばらつきを評価する処理を説明するための図である。
【図１３】画像を合成する際の接合位置での対応点のずれを説明するための図である。
【図１４】上記ずれを解消するための局所変換処理を説明するための図である。
【図１５】上記局所変換処理にて画像を変換する範囲を説明するための図である。
【図１６】第３の実施の形態において、本発明を適用した画像合成装置の構成を示すブロック図である。
【図１７】上記画像合成装置にて実行される処理を説明するためのフローチャートである。
【図１８】上記画像合成装置の接合位置設定回路にて行われる接合位置の設定を説明するための図である。
【図１９】上記接合位置設定回路で設定された接合位置の一例を説明するための図である。
【図２０】上記接合位置で接合して得られた合成画像の一例を説明するための図である。
【図２１】複数の画像の合成を説明するための図である。
【図２２】従来の画像合成処理を説明するための図である。
【符号の説明】
１００  画像合成装置
１０１  画像入力回路
１０２  相関処理回路
１０３  接合位置設定回路
１０４  合成パラメータ生成回路
１０５  画像メモリ
１０６  画像合成処理回路
１０７  合成画像メモリ
１０８  ＣＰＵ
１０９  メモリ
【図１】
0004154023.tif 000005
【図２】
0004154023.tif 000006
【図３】
0004154023.tif 000007
【図４】
0004154023.tif 000008
【図５】
0004154023.tif 000009
【図６】
0004154023.tif 000010
【図７】
0004154023.tif 000011
【図８】
0004154023.tif 000012
【図９】
0004154023.tif 000013
【図１０】
0004154023.tif 000014
【図１１】
0004154023.tif 000015
【図１２】
0004154023.tif 000016
【図１３】
0004154023.tif 000017
【図１４】
0004154023.tif 000018
【図１５】
0004154023.tif 000019
【図１６】
0004154023.tif 000020
【図１７】
0004154023.tif 000021
【図１８】
0004154023.tif 000022
【図１９】
0004154023.tif 000023
【図２０】
0004154023.tif 000024
【図２１】
0004154023.tif 000025
【図２２】
0004154023.tif 000026