(57)【特許請求の範囲】
【請求項１】
複数の画像を入力する入力手段と、
共通の被写体領域を含む複数の前記画像間の配置関係を示す配置情報を取得する取得手段と、
複数の写像方式の中からいずれか１つを前記配置情報に応じて選択する選択手段と、
前記写像方式を用いて前記複数の画像を合成して合成画像を生成する合成手段と、ユーザーの指示に応答して、前記写像方式を変更する変更手段と、
前記変更手段により変更された写像方式を用いて生成された合成画像の画角が、前記写像方式と対応する所定の画角範囲を超える場合、警告を発する警告手段とを備えたことを特徴とする画像合成装置。
【請求項２】
前記変更手段により変更された写像方式を用いて生成された合成画像の画角が、前記写像方式と対応する所定の画角範囲を超える場合、前記合成手段は前記所定の画角範囲内の合成画像を生成することを特徴とする請求項１に記載の画像合成装置。
【請求項３】
前記合成手段は、前記生成された合成画像のうち、余白を含まない矩形領域を計算することを特徴とする請求項２に記載の画像合成装置。
【請求項４】
複数の画像を入力する入力工程と、
共通の被写体領域を含む複数の前記画像間の配置関係を示す配置情報を取得する取得工程と、
複数の写像方式の中からいずれか１つを前記配置情報に応じて選択する選択工程と、
前記写像方式を用いて前記複数の画像を合成して合成画像を生成する合成工程と、
ユーザーの操作に応答して、前記写像方式を変更する変更工程と、
前記変更された写像方式を用いて生成された合成画像の画角が、前記写像方式と対応する所定の画角範囲を超える場合、警告を発する警告工程とを備えたことを特徴とする画像合成装置の制御方法。
【請求項５】
複数の画像を入力する入力工程と、
共通の被写体領域を含む複数の前記画像間の配置関係を示す配置情報を取得する取得工程と、
複数の写像方式の中からいずれか１つを前記配置情報に応じて選択する選択工程と、
前記写像方式を用いて前記複数の画像を合成して合成画像を生成する合成工程と、
ユーザーの操作に応答して、前記写像方式を変更する変更工程と、
前記変更された写像方式を用いて生成された合成画像の画角が、前記写像方式と対応する所定の画角範囲を超える場合、警告を発する警告工程とをコンピュータに実行させるためのコンピュータプログラムをコンピュータ読み出し可能に格納したことを特徴とする記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、隣接する画像が共通の被写体領域を有するような複数の画像を合成して、合成画像を生成する技術に関するものである。
【０００２】
【従来の技術】
従来より、複数の画像を合成処理してパノラマ画像を生成するものとして図１０に示すように、被写体を複数の領域に分割して撮像し、共通の被写体領域の画像情報を用いて１つの画像に合成する方法が知られている。図１１は、図１０をＸＺ面で示したものである。合成画像を合成する方法として、図１１に示すように、各撮像した画像を１つの平面８００に写像して合成する方式（平面写像方式）や、半径ｆの仮想の円筒面８０１に写像して合成する方式（円筒写像方式）等があった。なお、図１２は、平面８００に写像したときに得られる合成画像の模式図である。
【０００３】
【発明が解決しようとする課題】
しかしながら、従来のパノラマ画像合成方法では、予め決められた写像方式で合成するか、あるいはユーザーが手動で写像方式を設定する必要があったた。
【０００４】
例えば、横方向にパンニングした画像を平面写像で合成しようとした場合、図１２に示すように水平画角が広いために合成画像の端部での歪みが著しい画像が生成されてしまうことがあった。また、水平画角が１８０°以上の領域に対して平面写像方式による合成を設定した場合、１つの平面に写像して合成することは不可能であるために、装置に重大な不具合を生じる可能性があった。
【０００５】
さらに、被写体の撮影方法として図１０に示すように横方向に回転（パンニング）しながら撮影する方式のみではなく、縦方向に回転（チルト）しながら撮影する方式、また横及び縦方向の回転（パン・チルト）を混在して撮影する方式などの種々の撮影方法に対応して適切な写像方式を指定してすることは煩雑であったし、十分な知識を有していないユーザーにとっては、適切な写像方式の選択は困難であった。
【０００６】
そこで本願発明は、画像合成を行うときの写像方式の不適切な変更を行った際にも、ユーザーは動作の異常を認識しながら、合成画像を得られるようにすることを目的とする。
【０００７】
【課題を解決するための手段】
上記の課題を解決するため、本出願に係る発明の画像合成装置は、複数の画像を入力する入力手段と、共通の被写体領域を含む複数の前記画像間の配置関係を示す配置情報を取得する取得手段と、複数の写像方式の中からいずれか１つを前記配置情報に応じて選択する選択手段と、前記写像方式を用いて前記複数の画像を合成して合成画像を生成する合成手段と、ユーザーの指示に応答して、前記写像方式を変更する変更手段と、前記変更手段により変更された写像方式を用いて生成された合成画像の画角が、前記写像方式と対応する所定の画角範囲を超える場合、警告を発する警告手段とを備えたことを特徴とする。
【００１２】
【発明の実施の形態】
（第１の実施例）
図１は、本発明に係る第１の実施例のパノラマ画像合成方法及び装置の概略図である。図１において、１０１は画像入力部であり、合成に用いる複数の画像を入力する。１０２は、配置情報設定部であり入力した複数の画像の配置関係を設定する。１０３は、写像方式設定部であり、配置情報設定部の情報を基に自動的に合成画像の写像方式を設定する。１０４は、画像合成処理部であり、各画像間の合成パラメータを生成して合成画像を生成する。１０５は、合成画像の表示部であり、前記合成パラメータに基づいて前記複数の画像を合成した合成画像を表示する。１０７は、合成結果画像を記録媒体等に記録保存する。
【００１３】
１０１において複数の画像を入力する。画像の入力は、磁気ディスク等の記録媒体に記録された画像を読み込んでも良いし、デジタルカメラ等の撮像系を通して得られる画像信号を保持する不揮発性メモリ等から読み込むことも出来る。読み込んだ複数の画像は、メモリ１２０に一時保持される。これらの複数の画像がメモリ１２０より読み込まれ、配置用のディスプレイ１２２に表示される。図２の２００は配置用の画面の概略図である。ユーザーは、前記画面２００上で複数の画像間の配置を設定する。設定の方法としては、マウス１２３等の指示手段により各画像を画面上で移動させて設定することも可能であるし、画像の位置を表わす記号等を入力して設定しても良い。
【００１４】
またカメラ等において、撮影時に配置に関する情報を記録することによって、画像入力時には、画像と共に記録した配置情報を読込み、この配置情報に基づいて自動的に配置情報を設定することも可能である。
【００１５】
図３に配置パターンを示す。図３（ａ）は1次元横方向に撮像した場合の配置であり、図３（ｂ）は1次元縦方向に撮像した場合の配置、図３（ｃ）は2次元タイル状に撮像した場合の配置を表わす。
【００１６】
写像方式設定部１０３においては、前述の配置情報設定部１０２において設定された配置情報に基づいてパノラマ画像を合成する際の写像方式を設定する。
【００１７】
図３は、複数の画像間の配置により、どのような写像方式を設定するかの一例をを示す。写像方式の設定は、複数画像の配置が１次元横方向の場合には図３（ａ）に示す縦円筒の表面に張りつけるように写像する。また、図３（ｂ）に示すように配置が１次元縦方向の場合には、円筒を横に倒した横円筒の表面に合成画像を貼り付けるように写像する。さらに、図３（ｃ）に示すように２次元タイル状に配置されている場合には、図３（ｃ）の様に球表面に張りつけるように写像する。
【００１８】
上記のように設定すれば、例えば１次元横方向に撮影した場合には、合成画像の水平画角が広くなる（最大３６０°）ので図３（ａ）に示すような縦円筒の写像を設定することにより、合成画像が全撮影範囲を表現することが可能となる。他の配置の場合も同様に適切な写像方式を自動的に設定することにより、合成画像が撮影範囲全てを表現することが可能となる。
【００１９】
上記のように１０３において写像方式が設定されると、次に１０４において画像合成処理が実行される。写像方式の決定後は例えば特開平９−３２２０４０号に記載のような方法で合成パラメータを生成する。図５に画像合成処理部１０４の処理フローを示す。
【００２０】
５０１においては、図４に示したように隣接する２つの画像間の共通の被写体領域の画像情報を用いて、画像間の対応点を抽出する。対応点の抽出方法は相関法やテンプレートマッチング法などの公知の技術を用いることができる。
【００２１】
５０１において抽出した対応点情報を用いて前記合成パラメータを生成する。パラメータの生成は、例えば図４に示すように隣接する２つの画像において、画像４０１上の点Ｐ(x,y,z)とそれに対応する画像４０２上の点をＰ'(x',y',z')とすると、
【００２２】
【外１】
0004401484.tif 000002
より、２つの画像上の各画素の関係を８つのパラメータ（ｍ1〜ｍ8）により表わすことが可能となり、式（１）と各対応点の座標を利用して、８つの連立方程式を解くことにより前記の８つのパラメータ（ｍ1〜ｍ8）を算出すれば良い。また、より多くの対応点の情報を用いて、最小自乗法等の最適化処理を行えば、より正確にパラメータを推定することができる。
【００２３】
尚、点Ｐ'を点Ｐの撮像面と同じ距離１の平面に写像したとき、Ｘ-Ｙ座標としての（u',v'）はu'= x'/z',v'=y'/z'により得ることができる。
【００２４】
５０２において生成されるパラメータは、２つの画像間の関係式である。即ち図４の画像４０１の座標系を基準としたパラメータとして得られている。従って５０３においては、前記パラメータを全ての画像を合成する際の基準座標系に対するパラメータ（Ｍ1〜Ｍ8）に変換する処理を行う。
【００２５】
５０４及び５０５において、図１の１０３において設定された写像方式に応じて５０６〜５０８の各写像合成処理に分岐する。
【００２６】
以下において、各写像合成処理について説明する。
【００２７】
５０６においては、縦円筒写像合成を実行する。縦円筒写像は、図３（ａ）に示すような縦円筒に写像した合成画像を生成するものである。図６（ａ）は、縦円筒写像した合成画像の概略である。６０１は合成画像であり、座標は横軸がθ（deg.）、縦軸がｖである。従って、水平方向は-180deg.〜+180deg.の範囲を表わすことが可能となる。
【００２８】
図７は、縦円筒の断面を示したものである。図７において７０１は、図６（ａ）の縦円筒写像した合成画像６０１のライン６１０に沿った断面である。尚、円筒の半径は１としている。図６（ａ）の点Ｐ(θ，ｖ)は、図７の点Ｐと同一の点を表わす。写像合成を行うために円筒面上の点Ｐ(θ，ｖ)を以下によりＸＹＺ基準座標系に変換する。
【００２９】
ｘ＝ｓｉｎθ
ｙ＝ｖ          −（２）
ｚ＝ｃｏｓθ
【００３０】
変換した座標(x,y,z)より式（１）から、点Ｐ(θ，ｖ)に対応する座標（x',y',z'）が分かり、この座標の画素値を参照して、画像の合成に用いる。なお、前述の様にu'=x'/z',v'=y'/z'の変換を行って、画像上の点Ｐの座標（u',v'）の画素値を参照してもよい。
【００３１】
５０６の縦円筒写像合成は、図６（ａ）の各点（θ,ｖ）に対応する座標の画素値を上記の方法により生成して合成画像を得る。
【００３２】
５０７の横円筒写像合成は、図６（ｂ）の横円筒写像により合成画像６０２上の点Ｐ(u，φ)に対応するＸＹＺ座標を以下により生成する。
【００３３】
ｘ＝ｕ
ｙ＝ｓｉｎφ        −（３）
ｚ＝ｃｏｓφ
【００３４】
横円筒写像合成は、前記の縦円筒写像合成と同様の計算によって対応する点の画素値を得るものであるので、以後の説明は省略する。
【００３５】
５０８の球面写像合成は、図６（ｃ）に示すように球面写像により合成画像を生成する。合成画像の横軸は水平画角を縦軸は垂直画角を示し、水平方向は-180deg.〜+180deg.の範囲、垂直方向は-90deg.〜+90deg.の範囲を表わすことができる。合成画像上の点Ｐ(θ,φ)は図８に示すように以下の式によりＸＹＺ座標に変換する。
【００３６】
ｘ＝ｃｏｓφｓｉｎθ
ｙ＝ｓｉｎφ                −（４）
ｚ＝ｃｏｓφｃｏｓθ
【００３７】
尚、球の半径は１とする。
【００３８】
以下、前記の合成と同様に対応する点の画素値を得ることにより合成画像を生成する。
【００３９】
生成したパノラマ合成画像は、図１の合成画像表示部１０５によりディスプレイ１２２に表示し、また合成画像保存部１０７により磁気ディスク等の記録媒体１２１に記録して保存することができる。
【００４０】
尚、記録媒体は磁気ディスクに限らず公知のものを用いることができることは言うまでもない。
【００４１】
以上のように、画像の配置情報に基づいて最適な写像方式を設定することにより、写像方式を簡単に設定することが出来る。また、配置情報に基づいて自動的に写像方式を設定することで、合成に際して写像方式を手動で設定する手間を省き、特別な知識を必要とすることなくパノラマ合成画像を得ることができる。
【００４２】
なお、適切な写像方式を通知してから、画像合成時の実際の写像方法を指定させるようにしてもよく、この場合は、ユーザーに若干の手間は取らせるが、適切な写像方式を認識した上で、わざわざ異なる写像方式を選択出来るという、写像方式選択の柔軟性を持たせることも出来る。
【００４３】
（第２の実施例）
図９に本発明に係る第２の実施例のパノラマ画像合成方法及び装置のブロック図を示す。本実施例において特長的な部分は写像方式設定部１１０、画像合成処理部１０９及び写像方式変更部１０８である。他の第１実施例と同様の符号を付するものは同様であるので省略する。
【００４４】
１１０は、写像方式設定部であり基本動作は第１の実施例と同様である。１０２の配置情報に基づいて、１次元横方向の場合には縦円筒、１次元縦方向の場合には横円筒さらに２次元タイル状の場合には球面の各写像を設定する。但し、本実施例の写像方式設定部１１０は、不図示の焦点距離取得手段から画像の焦点距離に関する情報を得る。そして、この焦点距離情報から画像の水平画角Wh及び垂直画角Wvを生成する。
【００４５】
次に、配置情報により設定されている写像が例えば縦円筒の場合には、垂直画角Ｗｖを参照し、所定の基準値と比較する。ここで、Ｗｖが基準値より大きい場合には写像を縦円筒から球面写像に変更する。これは、縦円筒の垂直方向に関しては平面写像と同様の変換処理になるために、画角が広い場合には周辺での画質劣化が著しくなるためである。以上の様に、焦点距離の情報等も利用して写像方式を設定することによって、より正確な写像方式の選択が可能となる。
【００４６】
また、上記の例では、配列情報でまず写像方式を一旦選択した後に、水平画角Wh及び垂直画角Wvを参照して、写像方式の変更を行うことが出来る構成としたが、最初から、配列情報と画角の情報を用いて、写像方式を選択するようにしても良い。
【００４７】
また、写像方式変更手段を、写像方式設定部１１０と切り離して持たせ、ユーザーからの指示により、写像方式の変更を行えう様にしても良いが、この際にも、配列情報と画角の情報を用いて、好適と思われる写像方式を自動的にいくつか選んでおき、この中からユーザーが選択できるようにしても良い。
【００４８】
このような構成においては、写像方式変更の際にも、好適な写像方式を選択することが出来る。
【００４９】
１０９は、画像合成処理部であり基本動作は第１の実施例と同様である。本実施例の合成処理部１０９による縦円筒写像合成の概略図を図１３に示す。図１３（ａ）において斜線部は余白部であり、撮影画像の視野に含まれない領域を示す。合成画像は基本的には図１３（ａ）に示すように余白を含む画像として生成する。但し、同時に余白を含まない矩形の画像領域９００を算出して、図１３（ｂ）に示すように点線等で合成画像と共に表示する。
【００５０】
１０７の画像合成保存部においては、前記点線領域の内部のみを選択的に保存することも可能である。これにより、余白のない領域のみを印刷したり、保存したりすることが出来る。
【００５１】
さらに、合成画像においてＮ枚の各画像が占める領域を角度表現により生成して保持する。即ち画像ｋの占める領域Ｓｋを（θmin,φmin，θmax,φmax）のように、不図示のメモリ等に保持する。
【００５２】
１０８は、写像方式変更部であり合成画像の写像を任意に変更する部分である。基本的な写像方式は、１１０により自動的に設定されるが、生成された合成画像を確認した上で、任意の写像に変換することを可能とする。
【００５３】
ここで、１０８の動作について説明する。
【００５４】
図１３（ａ）に示す縦円筒写像合成した画像を平面写像に変更する場合を図１４に示す。図１４に示すように平面写像に変換した画像は画角が広くなるに従い大きく引き伸ばされた画像となる。平面写像方式は、理論的な画角の範囲が-90deg.〜+90deg.未満であり、実質的にはさらに狭い範囲となる。従って、写像変更部においては、変更される写像の種類に応じて表示可能画角範囲を予め設定する。そして、写像の変更に際して１０９において生成した各画像の全画像範囲において占める領域Ｓｋを参照して、前記写像の種類に応じて設定されている所定の表示可能画角範囲をオーバーする場合には警告を発する。そして、所定の画角範囲内の合成画像のみを生成して表示する。これにより、写像方式の不適切な変更を行った際にも、ユーザーは動作の異常を認識しながら、合成画像を得ることが出来る。
【００５５】
図１５は、１０８において平面写像に変更された画像の概略であり、表示可能な画角Ｒθ内の合成画像のみを生成している。また、余白を含まない画像領域も同時に再計算して点線で示している。
【００５６】
また、合成画像表示部１０５には画像情報として合成画像のサイズを画素単位のみではなく、角度単位で表示する。図１６は、表示される画像情報の概略である。さらに、ユーザーは入力手段１１１により保存したい画像範囲を画素単位あるいは角度単位で設定する。設定した画像範囲は、合成画像表示部１０５上の合成画像上に点線で示される。
【００５７】
さらに、設定した画像範囲に従って、画像合成保存部１０７は合成画像を記録媒体等に記録して保存する。尚、保存の際に画像サイズを任意の縮尺に変換して記録することも可能である。
【００５８】
（第３の実施例）
本発明に係る第３の実施例のパノラマ画像合成方法及び装置は、前述の実施例に対して選択される写像を平面写像と縦円筒写像の２つに限定したものである。これは、写像の種類を限定することにより処理の負荷を低減することが可能となるためである。
【００５９】
本発明に係るパノラマ画像合成方法及び装置のブロック図を図１７に示す。本実施例においては、写像の種類が平面と縦円筒写像に限定されるため写像方式設定部１３０が他の実施例と異なる。以下１３０の動作について説明する。
【００６０】
１３０においては、１０２において設定された配置情報に基づいて横方向及び縦方向の画像の数を算出する。ここで横方向ｍ枚で縦方向ｎ枚の場合、予め設定してある横及び縦方向の枚数の基準値ＴmとＴnと比較処理を行う。比較の結果により以下のように写像方式を設定する。
１）ｍ ≦ Ｔm かつ ｎ ≦ Ｔn のとき 平面写像
２）上記以外のとき 縦円筒写像
即ち、画像の枚数が少ない場合には合成された画像の画角もそれほど大きくないことが予想され、つまり合成画像の周辺の画像の歪が大きくないであろうと考えられ、画像の枚数が基準値以下の場合には平面写像を選択する。しかしながら基準値を超える場合には、歪みによる劣化の可能性が高まるので縦円筒写像を選択するものである。
【００６１】
尚、縦円筒写像の場合、合成画像の垂直方向は平面写像と同様の座標変換処理となるために、合成画像の垂直方向の画角が広くなると周辺部の画質が劣化し、画像としては意味のない場合がある。従って第２実施例に示したように表示可能な画角の基準値を設け、基準値内の画像のみを合成画像として生成するようにしても良い。
【００６２】
また、上記方式は画像の配置情報のみを用いて写像を設定しているが、不図示の手段により撮影時の焦点距離ｆを取得して
ｍ ≦ Ｔm かつ ｎ ≦ Ｔn かつ ｆ ≧ Ｔf のとき 平面写像
上記以外のとき 縦円筒写像
として写像方式を設定することも可能である。
【００６３】
さらに、ここでは写像の組み合わせとして平面写像と縦円筒写像を設定しているが、他の写像の組み合わせでも良いことは言うまでもない。例えば
ｍ ≧ Ｔm かつ ｎ ≦ Ｔnなら縦円筒写像
ｍ ≦ Ｔm かつ ｎ ≧ Ｔnなら横円筒写像
と設定してもよい。また、第１及び第２の実施例の写像に平面写像を加えて、上記の方式により平面写像を設定できるようにすることも当然可能である。このように配置情報として画像の縦・横の枚数も利用することにより、簡単な計算処理で、写像方式を決めることができる。
【００６４】
なお、本発明は複数の機器（たとえばホストコンピュータ、インタフェース機器、リーダ、プリンタ等）から構成されるシステムに適用しても、または一つの機器（たとえば複写機、ファクシミリ装置）からなる装置に適用してもよい。
【００６５】
また前述した実施形態の機能を実現する様に各種のデバイスを動作させる様に該各種デバイスと接続された装置あるいはシステム内のコンピュータに、前記実施形態機能を実現するためのソフトウエアのプログラムコードを供給し、そのシステムあるいは装置のコンピュータ（CPUあるいはMPU）を格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも本願発明の範疇に含まれる。
【００６６】
またこの場合、前記ソフトウエアのプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給するための手段、例えばかかるプログラムコードを格納した記憶媒体は本発明を構成する。
【００６７】
かかるプログラムコードを格納する記憶媒体としては例えばフロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM,、磁気テープ、不揮発性のメモリカード、ROM等を用いることが出来る。
【００６８】
またコンピュータが、供給されたプログラムコードを実行することにより、前述の実施形態の機能が実現されるだけではなく、そのプログラムコードが、コンピュータにおいて稼働しているOS(オペレーティングシステム)、あるいは他のアプリケーションソフト等と共同して前述の実施形態の機能が実現される場合にもかかるプログラムコードは本願発明の実施形態に含まれることは言うまでもない。
【００６９】
更に供給されたプログラムコードが、コンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後そのプログラムコードの指示に基づいてその機能拡張ボードや機能格納ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も本願発明に含まれることは言うまでもない。
【００７０】
【発明の効果】
以上説明したように、本出願に係る発明によれば、写像方式の不適切な変更を行った際にも、ユーザーは動作の異常を認識しながら、合成画像を得ることが出来る。
【図面の簡単な説明】
【図１】第１実施例のブロック図。
【図２】配置用画面の概略図。
【図３】写像方式設定の概略図。
【図４】合成パラメータの説明図。
【図５】第１実施例の処理フロー。
【図６】写像合成画像の概略図。
【図７】縦円筒写像の説明図。
【図８】球面写像の説明図。
【図９】第２実施例のブロック図。
【図１０】撮影の概略図。
【図１１】写像合成の概略図。
【図１２】平面写像合成の概略図。
【図１３】合成画像の概略図。
【図１４】平面写像の概略図。
【図１５】表示可能範囲の概略図。
【図１６】表示可能範囲設定の概略図。
【図１７】第３実施例のブロック図。
【符号の説明】
１０１  画像入力部
１０２  配置情報設定部
１０３  写像方式設定部
１０４  画像合成処理部
１０５  合成画像表示部
１０７  合成画像保存部
【図１】
0004401484.tif 000003
【図２】
0004401484.tif 000004
【図３】
0004401484.tif 000005
【図４】
0004401484.tif 000006
【図５】
0004401484.tif 000007
【図６】
0004401484.tif 000008
【図７】
0004401484.tif 000009
【図８】
0004401484.tif 000010
【図９】
0004401484.tif 000011
【図１０】
0004401484.tif 000012
【図１１】
0004401484.tif 000013
【図１２】
0004401484.tif 000014
【図１３】
0004401484.tif 000015
【図１４】
0004401484.tif 000016
【図１５】
0004401484.tif 000017
【図１６】
0004401484.tif 000018
【図１７】
0004401484.tif 000019