(57)【特許請求の範囲】
【請求項１】
撮影位置が異なる複数の撮影装置によって撮影された複数の画像それぞれから生成された複数の部分画像同士が重複なく並べて生成された合成画像に並べられた前記部分画像の輪郭上にあるエッジを含む領域を複数の領域に分割し、分割後の前記複数の領域を、処理対象となる領域に決定する決定部と、
前記合成画像の生成元である前記複数の画像から、決定された前記処理対象となる領域と類似する類似領域を検索する検索部と、
検索された類似領域を前記処理対象となる領域に重畳する合成部と、
を備える画像処理装置。
【請求項２】
撮影位置が異なる複数の撮影装置によって撮影された複数の画像それぞれから生成された複数の部分画像同士が重複なく並べて生成された合成画像に並べられた前記部分画像の輪郭上にあるエッジを含む領域を複数の領域に分割し、分割後の前記複数の領域を、処理対象となる領域に決定する決定部と、
前記合成画像の生成元である前記複数の画像から、決定された前記処理対象となる領域と類似する類似領域を検索する検索部と、
検索された類似領域を前記処理対象となる領域に重畳する合成部と、
を備え、
前記検索部は、前記合成画像の生成元である前記複数の画像から、変換を許容しながら前記処理対象となる領域と最も類似する類似領域を検索する画像処理装置。
【請求項３】
前記合成部は、検索された前記類似領域に対して前記類似領域の検索の際に前記合成画像の前記領域の変換に用いた変換の逆変換を行うことによって得られる逆変換後の領域を前記領域に重畳する、請求項２に記載の画像処理装置。
【請求項４】
撮影位置が異なる複数の撮影装置によって撮影された複数の画像それぞれから生成された複数の部分画像同士が重複なく並べて生成された合成画像に並べられた前記部分画像の輪郭上にあるエッジを含む領域を複数の領域に分割し、分割後の前記複数の領域を、処理対象となる領域に決定する決定ステップと、
前記合成画像の生成元である前記複数の画像から、決定された前記処理対象となる領域と類似する類似領域を検索する検索ステップと、
検索された類似領域を前記処理対象となる領域に重畳する合成ステップと、
を有する画像処理方法。
【請求項５】
撮影位置が異なる複数の撮影装置によって撮影された複数の画像それぞれから生成された複数の部分画像同士が重複なく並べて生成された合成画像に並べられた前記部分画像の輪郭上にあるエッジを含む領域を複数の領域に分割し、分割後の前記複数の領域を、処理対象となる領域に決定する決定ステップと、
前記合成画像の生成元である前記複数の画像から、決定された前記処理対象となる領域と類似する類似領域を検索する検索ステップと、
検索された類似領域を前記処理対象となる領域に重畳する合成ステップと、
を有し、
前記検索ステップにおいて、前記合成画像の生成元である前記複数の画像から、変換を許容しながら前記領域と最も類似する類似領域を検索する画像処理方法。
【請求項６】
請求項１又は２に記載の画像処理装置としてコンピュータを機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の撮影装置によって撮影された画像の処理技術に関する。
【背景技術】
【０００２】
近年、３６０度のパノラマ画像を撮影できるカメラ（以下、「全天球カメラ」という。）が普及し始めている。全天球カメラによって撮影されたパノラマ画像（以下、「全天球画像」という。）は、所望の視点位置に全天球カメラを設置することで撮影することができる。しかしながら、競技中の競技者の邪魔となるためサッカーコートやバスケットコートなどの競技用コートの中には全天球カメラを設置することができない。そのため、競技用コートの中の所望の視点位置における競技中の全天球画像を撮影することができない。
【０００３】
そこで、全天球カメラを設置することのできない場所に仮想的な視点である仮想視点を設定して、この仮想視点において全天球カメラで撮影したかのような全天球画像を、コートの外側に設置された複数のカメラによって撮影された画像を合成することによって得る技術が提案されている（例えば、非特許文献１参照）。以下の説明において、仮想視点における全天球画像を、仮想全天球画像と記載する。
【０００４】
仮想全天球画像を複数のカメラによって撮影された画像の合成によって得るシステムの具体例について説明する。
図９は、従来システムにおいて仮想全天球画像を得るためのシステムを示す図である。図９に示すように、画像処理システム１は、全天球カメラ２と、複数のカメラ３−１、３−２、３−３、・・・、３−Ｎ（以下、「カメラ群３」という。）（Ｎは４以上の整数）と、画像処理装置４と、表示装置５とを備える。画像処理システム１は、競技用コート１０内に仮想視点１１を設定した場合に、競技用コート１０外に設置したカメラ群３によって撮影された画像の合成によって仮想視点１１における仮想全天球画像を得る。
【０００５】
全天球カメラ２は、全天球画像を撮影するカメラである。全天球カメラ２は、競技が行われる前のタイミングで競技用コート１０内の仮想視点１１の位置に設置される。全天球カメラ２は、仮想視点１１の位置から、仮想全天球画像の背景となる画像（以下、「背景画像」という。）を撮影する。全天球カメラ２で撮影された背景画像は、画像処理装置４に入力されて蓄積される。このように、画像処理装置４は、予め背景画像を蓄積する。
【０００６】
競技用コート１０の周囲には、カメラ群３が設置されている。カメラ群３の各カメラ３−１、３−２、３−３、・・・、３−Ｎは、それぞれ仮想視点１１を含む画角となるように競技用コート１０の周囲に設置されている。カメラ群３の各カメラ３−１、３−２、３−３、・・・、３−Ｎは、仮想視点１１を含む領域を撮影する。画像処理装置４は、カメラ群３によって撮影された画像に対して画像処理を施して、背景画像に画像処理後の画像を合成して仮想全天球画像を生成する。表示装置５は、液晶ディスプレイ、有機ＥＬ（Electro Luminescence）ディスプレイ、ＣＲＴ（Cathode Ray Tube）ディスプレイ等の画像表示装置である。表示装置５は、画像処理装置４で生成した仮想全天球画像を表示する。
【０００７】
次に、画像処理システム１における画像処理の具体例について図１０を用いて説明する。
図１０は、画像処理システム１における画像処理の流れを説明するための図である。図１０（ａ）は、背景画像２０の具体例を示す図である。背景画像２０には、仮想視点１１を中心として全方位（３６０度）の被写体が撮影されている。背景画像２０は、競技用コート１０内に人物がいない状態で撮影される画像であるので競技用コート１０内には人物が撮影されない。
【０００８】
図１０（ｂ）は、各カメラ３−１、３−２及び３−３で撮影された画像を示す図である。図１０（ｂ）には、左からカメラ３−１で撮影された画像２１と、カメラ３−２で撮影された画像２２と、カメラ３−３で撮影された画像２３とが示されている。画像処理装置４は、画像２１〜２３のそれぞれから仮想視点１１を含む領域２１１、２２１、２３１を抽出する。画像処理装置４は、抽出した領域２１１、２２１、２３１の画像に対して、画像処理を行うことで背景画像２０に合成可能な部分画像２１１ａ、２２１ａ、２３１ａを生成する。
【０００９】
画像処理装置４は、背景画像２０に対して部分画像２１１ａ、２２１ａ、２３１ａを合成することによって仮想全天球画像２４を生成する。図１０（ｃ）は、画像処理装置４が生成する仮想全天球画像２４の例を示す図である。図１０（ｃ）に示すように、仮想全天球画像２４の所定の領域には部分画像２１１ａ、２２１ａ、２３１ａが合成されている。そのため、仮想全天球画像２４として、競技用コート１０上に物体（例えば、人物）が撮影されている画像が生成される。
【００１０】
従来の画像処理システム１は、合成に用いているカメラ群３の光学中心及び仮想視点１１において想定する全天球カメラの光学中心はそれぞれ異なる。そのため、合成された仮想全天球画像２４は幾何学的に正しくない画像を含む。これを防ぐためには、画像処理装置４は、部分画像２１１ａ、２２１ａ、２３１ａを、仮想視点１１からの距離を示す奥行きの一点で整合性が保たれるよう画像処理を行い背景画像２０に合成する必要がある。しかしながら、整合性が保たれる奥行きに存在せずに別の奥行に存在している物体（例えば、人物）の部分画像を合成する場合には、画像処理により奥行きの整合性を保つことができない。このような奥行に整合性のない物体は、仮想全天球画像２４において、その画像が分身（多重像）したり、消失したりする現象が発生する。
【００１１】
以下に、図１１を用いて仮想全天球画像２４において、物体の画像が分身したり、消失したりする現象について説明する。図１１は、画像処理システム１における課題を説明するための図である。図１１において、撮影範囲４１は、カメラ３−１の撮影範囲において図１０（ｂ）に示した領域２１１の撮影範囲を示す。撮影範囲４２は、カメラ３−２の撮影範囲において図１０（ｂ）に示した領域２２１の撮影範囲を示す。撮影範囲４３は、カメラ３−３の撮影範囲において図１０（ｂ）に示した領域２３１の撮影範囲を示す。また、仮想視点１１からの距離（奥行）が異なる３つの物体（例えば、人物）４９〜５１が存在する。
【００１２】
図１１において破線で示している仮想視点１１からの第１の距離を示す奥行４６は、各撮影範囲４１〜４３が、重なりなく並んでいる。このような奥行４６に位置する被写体４９は、その画像が分身したり消失したりすることがなく、奥行に整合性のある被写体である。仮想視点１１からの第２の距離を示す奥行４７は、各撮影範囲４１〜４３が、横線部分４４に示すように重なっている。このような奥行４７に位置する被写体５０は、その画像が分身してしまうので、奥行に整合性のない被写体となる。仮想視点１１からの第３の距離を示す奥行４８は、各撮影範囲４１〜４３の間が斜線部分４５に示すように空いている。このような奥行４８に位置する被写体５１は、その画像の一部が消失してしまうので、奥行に整合性のない被写体となる。
【先行技術文献】
【非特許文献】
【００１３】
【非特許文献１】高橋康輔、外３名、「複数カメラ映像を用いた仮想全天球映像合成に関する検討」、社団法人電子情報通信学会、信学技報、2015年6月、vol.115、no.76、p.43-48
【発明の概要】
【発明が解決しようとする課題】
【００１４】
仮想全天球画像において物体が存在する領域は、人が注視する領域（以下、「視聴領域」という。）である可能性が高い。そのため、視聴領域に存在する物体に多重像や消失が発生してしまうと、仮想全天球画像の品質が低下してしまうという問題がある。このような問題は、仮想全天球画像に限らず、複数のカメラで撮影された画像を用いて生成される合成画像全てに共通する課題である。
【００１５】
上記事情に鑑み、本発明は、複数のカメラで撮影された画像を用いて生成される合成画像の品質低下を抑制する技術の提供を目的としている。
【課題を解決するための手段】
【００１６】
本発明の一態様は、複数の撮影装置によって撮影された複数の画像に基づいて生成された合成画像から処理を行う対象となる領域を決定する決定部と、前記合成画像の生成元である前記複数の画像から、決定された前記領域と類似する類似領域を検索する検索部と、検索された類似領域を前記領域に重畳する合成部と、を備える画像処理装置である。
【００１７】
本発明の一態様は、上記の画像処理装置であって、前記検索部は、前記合成画像の生成元である前記複数の画像から、変換を許容しながら前記領域と最も類似する類似領域を検索する。
【００１８】
本発明の一態様は、上記の画像処理装置であって、前記合成部は、検索された前記類似領域に対して前記類似領域の検索の際に前記合成画像の前記領域の変換に用いた変換の逆変換を行うことによって得られる逆変換後の領域を前記領域に重畳する。
【００１９】
本発明の一態様は、複数の撮影装置によって撮影された複数の画像に基づいて生成された合成画像から処理を行う対象となる領域を決定する決定ステップと、前記合成画像の生成元である前記複数の画像から、決定された前記領域と最も類似する類似領域を検索する検索ステップと、検索された類似領域を前記領域に重畳する合成ステップと、を有する画像処理方法である。
【００２０】
本発明の一態様は、複数の撮影装置によって撮影された複数の画像に基づいて生成された合成画像から処理を行う対象となる領域を決定する決定ステップと、前記合成画像の生成元である前記複数の画像から、決定された前記領域と最も類似する類似領域を検索する検索ステップと、検索された類似領域を前記領域に重畳する合成ステップと、をコンピュータに実行させるためのコンピュータプログラムである。
【発明の効果】
【００２１】
本発明により、複数のカメラで撮影された画像を用いて生成される合成画像の品質低下を抑制することが可能となる。
【図面の簡単な説明】
【００２２】
【図１】本発明における画像処理システム１００のシステム構成を示す図である。
【図２】中間画像の一例を示す図である。
【図３】抽出領域情報テーブルの具体例を示す図である。
【図４】部分領域抽出部８０４による部分領域の抽出処理を説明するための図である。
【図５】画像合成部８０６の処理を説明するための図である。
【図６】仮想全天球画像の一例を示す図である。
【図７】画像処理装置８０の処理の流れを示すフローチャートである。
【図８】１つの入力画像から複数の部分領域を抽出する場合に用いられる抽出領域情報テーブルの具体例を示す図である。
【図９】従来システムにおいて仮想全天球画像を得るためのシステムを示す図である。
【図１０】画像処理システム１における画像処理の流れを説明するための図である。
【図１１】画像処理システム１における課題を説明するための図である。
【発明を実施するための形態】
【００２３】
以下、本発明の一実施形態を、図面を参照しながら説明する。
図１は、本発明における画像処理システム１００のシステム構成を示す図である。
画像処理システム１００は、全天球カメラ６０、複数のカメラ７０−１〜７０−Ｍ（Ｍは２以上の整数）及び画像処理装置８０を備える。なお、以下の説明では、カメラ７０−１〜７０−Ｍについて特に区別しない場合には、カメラ７０と記載する。
【００２４】
全天球カメラ６０は、撮影対象領域８１内の仮想視点８２の位置に設置される。撮影対象領域８１は、例えばサッカーコートやバスケットコートなどの競技用コートなどである。仮想視点８２は、所定の領域（本実施形態では、撮影対象領域８１）内に仮想的に設定された視点である。全天球カメラ６０は、仮想視点８２の位置における全天球画像を撮影する。本実施形態における全天球画像は、仮想視点８２を中心として撮影対象領域８１全体を含む。全天球カメラ６０による処理は、画像処理装置８０による処理の開始前に行われる。全天球カメラ６０は、撮影した全天球画像を背景画像として画像処理装置８０に出力する。
【００２５】
Ｍ台のカメラ７０−１、７０−２、・・・、７０−Ｍは、撮影対象領域８１の外側に設けられ、画像を動画（映像）で撮影するカメラであり、仮想視点８２を含む領域を撮影する。Ｍ台のカメラ７０−１、７０−２、・・・、７０−Ｍのそれぞれで撮影された動画は、複数フレームの画像により構成される。図１に示すように、カメラ７０−１には仮想視点８２の位置上を通過する光線７１が入力され、カメラ７０−２には仮想視点８２の位置上を通過する光線７２が入力される。以下、カメラ７０に入力される光線を実光線と記載する。図１では示していないが、カメラ７０は撮影対象領域８１の周囲に設置される。つまり、カメラ７０は、それぞれ仮想視点８２を含む画角となるように撮影対象領域８１の周囲を取り囲むように設置される。図１においてＭは、２以上の整数であり、同程度の画質の仮想全天球画像を得ようとするのであれば撮影対象領域８１が大きいほど大きな値となる。また、撮影対象領域８１の大きさが同じであれば、Ｍの値が大きい程、合成領域（仮想全天球画像において、Ｍ台のカメラ７０からの画像を合成した領域）の面積が大きくなり、あるいは合成領域の大きさが同じであれば合成領域における画質が向上す仮想全天球画像の画質を高いものにしようとするほど大きな値となる。
【００２６】
画像処理装置８０は、Ｍ台のカメラ７０−１、７０−２、・・・、７０−Ｍのそれぞれで撮影されたそれぞれの動画から入力画像を事前に取得する。撮影されたそれぞれの動画は複数フレームの画像で構成されており、本実施形態における画像処理装置８０は処理対象となるフレームの画像を入力画像として取得する。画像処理装置８０は、全天球カメラ６０によって撮影された全天球画像と、Ｍ台のカメラ７０−１、７０−２、・・・、７０−Ｍのそれぞれで撮影された動画からそれぞれ取得された入力画像とに基づいて仮想全天球画像を生成する。
【００２７】
次に、画像処理装置８０の機能構成について説明する。画像処理装置８０は、バスで接続されたＣＰＵ（Central Processing Unit）やメモリや補助記憶装置などを備え、画像処理プログラムを実行する。画像処理プログラムの実行によって、画像処理装置８０は、画像入力部８０１、中間画像生成部８０２、抽出領域情報記憶部８０３、部分領域抽出部８０４、背景画像記憶部８０５、画像合成部８０６、画像処理部８０７を備える装置として機能する。なお、画像処理装置８０の各機能の全て又は一部は、ＡＳＩＣ（Application Specific Integrated Circuit）やＰＬＤ（Programmable Logic Device）やＦＰＧＡ（Field Programmable Gate Array）等のハードウェアを用いて実現されてもよい。また、画像処理プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、画像処理プログラムは、電気通信回線を介して送受信されてもよい。
【００２８】
画像入力部８０１は、カメラ７０−１、７０−２、・・・、７０−Ｍそれぞれによって同時刻に撮影された複数の入力画像を入力する。画像入力部８０１は、入力された複数の入力画像を中間画像生成部８０２に出力する。
中間画像生成部８０２は、画像入力部８０１から出力された複数の入力画像を入力とする。中間画像生成部８０２は、入力された複数の入力画像のうち隣接する２台のカメラ７０それぞれによって同時刻に撮影された入力画像に基づいて、２視点（２台のカメラ７０での撮影位置）の間の撮影位置における画像（以下、「中間画像」という。）を生成する。例えば、中間画像生成部８０２は、Ｖｉｅｗ  Ｍｏｒｐｈｉｎｇを利用することによって中間画像を生成する。中間画像生成部８０２は、生成した中間画像と、中間画像の生成に利用した複数の入力画像を部分領域抽出部８０４に出力する。Ｖｉｅｗ  Ｍｏｒｐｈｉｎｇは、２視点で撮影された画像と、各画像の対応点を入力として中間画像を生成する手法である。なお、対応点は手動で与えられてもよいし、ＳＵＲＦ（Speeded Up Robust Features）やＳＩＦＴ（Scale-invariant feature transform）などの技術を適用して与えられてもよい。Ｖｉｅｗ  Ｍｏｒｐｈｉｎｇの手法は、例えば参考文献１に記載の技術を用いることができる。
［参考文献１］Seitz, S. M., and C. R. Dyer. "View Morphing, 1996.", Siggraph 1996 Conference Proceedings, Annual Conference Series. 1996.
中間画像の生成結果を図２に示す。
【００２９】
図２は、中間画像の一例を示す図である。
図２では、以下に示すカメラ配置の下で生成された中間画像を示している。
カメラ配置は、水平方向に２個以上、かつ、仮想視点８２を中心として円周状、かつ、カメラ７０の撮影方向として仮想視点８２を含むように配置されている。なお、ここで示したカメラ配置は一例であり、カメラ７０の撮影方向として仮想視点８２を含むように配置されていれば、その他の配置であってもよい。
図２において、画像８３はカメラ７０−１によって撮影された画像を表し、画像８４はカメラ７０−２によって撮影された画像を表し、画像８５は中間画像を表す。また、光線７１及び７２は実光線を表し、光線７３は仮想光線を表す。ここで、仮想光線とは、仮想的に得られる光線である。実光線が含まれる２視点の各画像を用いて生成される中間画像は、実光線と同様に仮想視点８２の位置上を通過する仮想光線を含む。なお、図２では、中間画像が１つの場合を例に示しているが、中間画像は複数生成されてもよい。中間画像の生成数は、事前に中間画像生成部８０２に入力される。例えば、ユーザが不図示の入力装置を用いて中間画像の生成数を入力してもよい。入力装置は、キーボード、ポインティングデバイス（マウス、タブレット等）、タッチパネル、ボタン等の既存の入力装置を用いて構成される。
【００３０】
図１に戻って、画像処理装置８０の説明を続ける。
抽出領域情報記憶部８０３は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。抽出領域情報記憶部８０３は、抽出領域情報テーブルを記憶する。抽出領域情報テーブルは、全天球画像に合成するために各画像（入力画像及び中間画像）から抽出する領域に関する情報を表すレコード（以下、「抽出領域情報レコード」という。）で構成される。
【００３１】
図３は、抽出領域情報テーブルの具体例を示す図である。
抽出領域情報テーブルは、抽出領域情報レコードを複数有する。抽出領域情報レコードは、画像ＩＤ及び抽出領域情報の各値を有する。画像ＩＤの値は、領域の抽出対象となる画像を識別するための識別情報を表す。図３において、画像ＩＤ“Ｉ１”及び“Ｉ１０”は、隣り合うカメラ７０のそれぞれで撮影された入力画像の識別情報を表す。図３において、画像ＩＤ“Ｉ２”〜“Ｉ９”は、中間画像の識別情報を表す。抽出領域情報の値は、同じ抽出領域情報レコードの画像ＩＤで識別される画像から抽出する領域（以下、「抽出領域」という。）に関する情報を表す。抽出領域情報の具体例として、左上座標、幅及び高さがある。左上座標は、抽出領域の入力画像中での左上の座標を表す。幅は、抽出領域の入力画像中での幅を表す。高さは、抽出領域の入力画像中での高さを表す。なお、幅及び高さは、抽出領域の左上座標を基準とし、かつ、抽出領域中に仮想視点を含む範囲に設定される。
【００３２】
図３に示される例では、抽出領域情報テーブルには複数の抽出領域情報レコードが登録されている。図３において、抽出領域情報テーブルの最上段に登録されている抽出領域情報レコードは、画像ＩＤの値が“Ｉ１”、左上座標の値が“（Ａ，Ｂ）”、幅の値が“Ｃ”、高さの値が“Ｄ”である。すなわち、画像ＩＤ“Ｉ１”で識別される画像から、画像の左上座標（Ａ，Ｂ）、幅Ｃ、高さＤで表される領域を抽出することが表されている。
なお、図３では、一つの画像から一つの部分領域を利用する場合の抽出領域情報テーブルを示している。また、後述する図８では、一つの画像から複数の部分領域を利用する場合の抽出領域情報テーブルを示している。図８についての説明は後述するためここでは省略する。
【００３３】
図１に戻って、画像処理装置８０の説明を続ける。
部分領域抽出部８０４は、中間画像生成部８０２から出力された中間画像及び入力画像と、抽出領域情報記憶部８０３に記憶されている抽出領域情報テーブルとを入力とする。部分領域抽出部８０４は、入力された抽出領域情報テーブルの抽出領域情報に基づいて、入力された各画像（入力画像及び中間画像）から全天球画像に重畳させる仮想視点８２の位置を含む部分領域を抽出する。以下、部分領域抽出部８０４によって抽出された部分領域を部分領域画像と記載する。部分領域抽出部８０４は、各画像の各部分領域画像を画像合成部８０６に出力する。
【００３４】
図４は、部分領域抽出部８０４による部分領域の抽出処理を説明するための図である。
図４では、２視点（カメラ７０−１及び７０−２）それぞれで撮影された画像８３及び画像８４と、画像８３及び画像８４から生成された中間画像８５とから部分領域を抽出する処理について説明する。カメラ７０−１及び７０−２は、図４に示すように仮想視点８２の位置を撮影するように設置されている。部分領域抽出部８０４は、抽出領域情報テーブルに基づいて、各画像（入力画像及び中間画像）から部分領域を抽出する。例えば、部分領域抽出部８０４は、画像８３から部分領域８６を抽出する。部分領域抽出部８０４は、部分領域の抽出の一例として、図４に示すように部分領域を短冊形に抽出する。また、部分領域抽出部８０４は、画像８４から部分領域８７を抽出する。そして、部分領域抽出部８０４は、中間画像８５から部分領域８８を抽出する。このように、部分領域抽出部８０４は、抽出領域情報テーブルで予め定められた情報に基づいて部分領域を抽出する。
【００３５】
例えば、部分領域抽出部８０４は、中間画像が３個生成される場合には、画像が５個（入力画像２個＋中間画像３個）の場合の抽出領域情報テーブルを用いて各画像から抽出する領域を決定し、決定した領域を各画像から抽出する。部分領域抽出部８０４が部分領域を抽出する際の理想的なケースとしては、画像中の重畳する対象となる領域の横画素数分の画像から光学中心となるラインの部分領域を抽出することが挙げられる。例えば、画像中の重畳する対象となる領域の横画素の数が１０である場合、１０個の画像それぞれから光学中心となるラインの部分領域を抽出することによって光学的に正しい合成画像を生成することができる。
【００３６】
背景画像記憶部８０５は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。背景画像記憶部８０５は、全天球カメラ６０によって撮影された全天球画像を背景画像として記憶する。ここで、背景画像は、合成画像の元となる画像を表す。背景画像は、例えば、あらかじめ仮想視点で撮影した画像でも良いし、縦横の画素数が決まっているだけの全画素の輝度値が一定の画像であってもよい。
画像合成部８０６は、部分領域抽出部８０４から出力された部分領域画像と、背景画像記憶部８０５に記憶されている背景画像とを入力とする。画像合成部８０６は、入力された部分領域画像を、背景画像に重畳することによって合成画像である仮想全天球画像を生成する。より具体的には、画像合成部８０６は、部分領域画像の画素値で、全天球画像上の部分領域画像が対応する位置の画素値を置き換えることによって全天球画像に部分領域画像を重畳する。画像合成部８０６は、生成した仮想全天球画像を画像処理部８０７に出力する。
画像処理部８０７は、画像合成部８０６から出力された仮想全天球画像を入力とする。画像処理部８０７は、入力された仮想全天球画像に対して画像の品質を向上させるための画像処理を行う。
【００３７】
画像合成部８０６の処理について図５を用いて具体的に説明する。図５は、画像合成部８０６の処理を説明するための図である。
まず、画像合成部８０６の処理を行う前に以下のような事前処理が行なわれる。
図５において、隣り合うカメラ７０をＣｉ、Ｃｉ＋１とし、それらカメラで撮影した画像をそれぞれＩｉ、Ｉｉ＋１とする。さらに、あるカメラＣｉについて、Ｃｉの光学中心と仮想視点８２とを結んだ直線上に基準物体（チェスボードやボール）を設置する。そして、その基準物体上の点をｐｉとしたとき、ｐｉの全天球画像上への投影点をｑ’ｉとし、Ｃｉの画像Ｉｉ上の投影点をｑｉとする。この時、ｑ’ｉとｑｉは対応付いている。そのため、画像合成部８０６は、あるカメラＣｉについて合成時にはｑ’ｉの画素値としてｑｉの画素値を利用する。例えば、画像合成部８０６は、あるカメラＣｉから抽出した部分領域画像を全天球画像に重畳する場合には、全天球画像上のｑ’ｉと部分領域画像に含まれるｑｉとが重なるように部分領域画像を全天球画像に重畳する。
【００３８】
同様に、あるカメラＣｉ＋１について、Ｃｉ＋１の光学中心と仮想視点８２とを結んだ直線上に基準物体（チェスボードやボール）を設置する。そして、その基準物体上の点をｐｉ＋１としたとき、ｐｉ＋１の全天球画像上への投影点をｑ’ｉ＋１とし、Ｃｉ＋１の画像Ｉｉ＋１上の投影点をｑｉ＋１とする。この時、ｑ’ｉ＋１とｑｉ＋１は対応付いている。そのため、画像合成部８０６は、あるカメラＣｉ＋１について合成時にはｑ’ｉ＋１の画素値としてｑｉ＋１の画素値を利用する。例えば、画像合成部８０６は、あるカメラＣｉ＋１から抽出した部分領域画像を全天球画像に重畳する場合には、全天球画像上のｑ’ ｉ＋１と部分領域画像に含まれるｑｉ＋１とが重なるように部分領域画像を全天球画像に重畳する。
【００３９】
次に、ｑ’ｉ−ｑ’ｉ＋１間に存在するピクセルに対し、中間視点における仮想視点８２の位置の画素ｑｊｉ,ｉ＋１を対応付ける。この対応付けの方法としては、どのような方法であってもよい。例えば、ｑ’ｉ−ｑ’ｉ＋１間に存在するピクセルが２ピクセルであり、ｖｉｅｗ  ｍｏｒｐｈｉｎｇで２視点の中間画像を作成した場合には、それぞれの画像における仮想視点（ｑｊｉ,ｉ＋１, ｑｊ＋１ｉ,ｉ＋１）の位置を２ピクセルに対応づける。
上記のような対応付けを，部分領域画像に含まれる全てのピクセルについて実施する。
画像合成部８０６は、上述した対応付けの結果をテーブルとして記憶しておき、中間画像から抽出された部分領域画像を全天球画像に重畳する。画像合成部８０６は、この処理を部分領域画像全て対して行うことによって仮想全天球画像を生成する。上記の方法によって、生成される仮想全天球画像の具体例を図６に示す。
【００４０】
図６は、仮想全天球画像の一例を示す図である。
図６に示されるように、仮想全天球画像９０は、全天球画像に対して各画像から抽出された部分領域画像が合成される。なお、図６では、図４に示す各画像８３、８４及び８５のそれぞれから抽出された部分領域画像８６、８７及び８８が仮想全天球画像９０上のどの部分に含まれるのかを示している。
【００４１】
次に、画像処理部８０７の具体的な処理について説明する。
まず、画像処理部８０７（決定部）は、全天球画像に重畳された部分領域画像で構成される領域（以下、「処理対象領域」という。）中から処理対象となる小領域（パッチ）を決定する。この方法としては、処理対象画像の輪郭上に存在し、周辺のエッジの強いパッチから選定する方法などが挙げられる。ここで、決定された小領域をｐ（Ｘ，Ｙ）とする。（Ｘ，Ｙ）は、小領域の左上の座標を表す。次に、画像処理部８０７（検索部）は、決定した小領域ｐ（Ｘ，Ｙ）の画素を基に、中間画像の生成元である２視点の入力画像から類似パッチを検索する。類似パッチとは、選択した小領域の画素に最も画素が類似する小領域を表す。画像処理部８０７は、以下の式に基づいて、類似パッチｐ（ａ’，ｂ’）を検索する。
【００４２】
ｐ（ａ’，ｂ’）＝ａｒｇｍｉｎ＿｛ａ，ｂ｝Ｓｉｍ（ｐ（ａ，ｂ），ｐ（Ｘ，Ｙ））
【００４３】
ここで、Ｓｉｍ（）は小領域の類似度を表し、ユークリッド距離などが利用可能である。また、（ａ，ｂ）は、入力画像から選択される小領域の左上の座標を表す。類似パッチの検索には、パッチマッチの手法が用いられてもよい。画像処理部８０７（合成部）は、検索した類似パッチｐ（ａ’，ｂ’）を、処理対象領域から検索した小領域ｐ（Ｘ，Ｙ）に重畳する。具体的には、画像処理部８０７は、検索した類似パッチｐ（ａ’，ｂ’）の画素で、処理対象領域から検索した小領域ｐ（Ｘ，Ｙ）の画素を置き換える。画像処理部８０７は、上記の処理を処理対象領域に対して行う。
以上で、画像処理部８０７の処理についての説明を終了する。
【００４４】
図７は、画像処理装置８０の処理の流れを示すフローチャートである。なお、図７の説明では、２視点（例えば、カメラ７０−１及びカメラ７０−２）によって撮影された画像が入力される場合を例に説明する。
画像入力部８０１は、カメラ７０−１及びカメラ７０−２それぞれによって撮影された画像を入力する（ステップＳ１０１）。画像入力部８０１は、入力された各入力画像を画像生成部８０２に出力する。中間画像生成部８０２は、画像入力部８０１から出力された各入力画像を入力とする。中間画像生成部８０２は、入力された各入力画像に基づいて、カメラ７０−１及びカメラ７０−２の２視点の間の中間画像を生成する（ステップＳ１０２）。中間画像生成部８０２が生成する中間画像の生成数は、事前に入力される。中間画像生成部８０２は、生成した中間画像及び各入力画像を部分領域抽出部８０４に出力する。また、中間画像生成部８０２は、各入力画像を画像処理部８０７に出力する。次に、部分領域抽出部８０４は、中間画像生成部８０２から出力された中間画像及び各入力画像と、領域の抽出数と、抽出領域情報記憶部８０３に記憶されている抽出領域情報テーブルとを入力とする。部分領域抽出部８０４は、入力された抽出領域情報テーブルと、領域の抽出数とに基づいて、各入力画像から部分領域を抽出する（ステップＳ１０３）。この処理によって、部分領域抽出部８０４は、各画像から部分領域画像を生成する。部分領域抽出部８０４は、生成した部分領域画像を画像合成部８０６に出力する。画像合成部８０６は、部分領域抽出部８０４から出力された複数の部分領域画像と、背景画像記憶部８０５に記憶されている背景画像とを入力とする。画像合成部８０６は、入力された背景画像に部分領域画像を重畳することによって仮想全天球画像を生成する（ステップＳ１０４）。画像合成部８０６は、生成した仮想全天球画像を画像処理部８０７に出力する。
【００４５】
その後、画像処理部８０７は、中間画像生成部８０２から出力された入力画像と、画像合成部８０６から出力された仮想全天球画像とを入力とする。画像処理部８０７は、入力された仮想全天球画像上から小領域を決定する（ステップＳ１０５）。具体的には、画像処理部８０７は、処理対象領域から小領域を決定する。次に、画像処理部８０７は、決定した小領域の画素を基に、入力された入力画像中から類似パッチを検索する（ステップＳ１０６）。その後、画像処理部８０７は、検索した類似パッチを、ステップＳ１０５の処理で決定した小領域に重畳する（ステップＳ１０７）。画像処理部８０７は、処理対象領域全てに対してステップＳ１０５からステップＳ１０７までの処理を実行したか否か判定する（ステップＳ１０８）。
処理対象領域全てに対してステップＳ１０５からステップＳ１０７までの処理を実行している場合（ステップＳ１０８−ＹＥＳ）、画像処理装置８０は処理を終了する。
一方、処理対象領域全てに対してステップＳ１０５からステップＳ１０７までの処理を実行していない場合（ステップＳ１０８−ＮＯ）、画像処理部８０７はステップＳ１０５以降の処理を繰り返し実行する。
【００４６】
以上のように構成された画像処理システム１００によれば、複数のカメラで撮影された画像を背景画像に合成することによって生成される合成画像の品質低下を抑制することが可能になる。以下、この効果について詳細に説明する。
複数の部分領域画像を合成した仮想全天球画像は、各部分領域画像の境界部分において見た目に違和感が生じるおそれがある。これは、仮想全天球画像の品質を低下させる要因となる。そこで、画像処理装置８０は、合成後の部分領域画像に対してより高品質化を目的とした処理を行う。これにより、各部分領域画像の境界部分において見た目の違和感を低減させることができる。そのため、複数のカメラで撮影された画像を用いて生成される合成画像の品質低下を抑制することが可能になる。
【００４７】
また、画像処理システム１００では、隣り合うカメラ７０それぞれで撮影された画像に基づいて、隣り合うカメラ７０の間の撮影位置における中間視点の画像を生成する。したがって、隣り合うカメラ７０の間の撮影位置における画像を補間することができる。これにより、カメラ７０の間の撮影位置における中間視点の画像を撮影するためのカメラを備える必要がない。そのため、従来のシステムより少ない台数のカメラ７０を用いて理想的な仮想全天球画像を生成することができる。
【００４８】
また、画像処理装置８０は、隣り合うカメラ７０それぞれで撮影された画像に基づいて、隣り合うカメラ７０の間の撮影位置における中間視点の画像を生成する。これにより、画像処理装置８０は、カメラ７０が設置されていない位置からの仮想視点における光線を含む画像を生成する。画像処理装置８０は、生成した画像と、カメラ７０で撮影された画像とからそれぞれ仮想視点を含む領域を抽出する。そして、画像処理装置８０は、抽出した領域を、背景画像に重畳することによって仮想全天球画像を生成する。これにより、多重像や消失の発生を抑制することができる。
【００４９】
＜変形例＞
本実施形態では、背景画像である全天球画像に部分領域画像を重畳する構成を示したが、これは一例であり本発明はこれに限定される必要はない。例えば、本発明は、Ｖｉｅｗ  Ｍｏｒｐｈｉｎｇを利用して生成した中間画像を少なくとも１枚用いて部分領域画像を生成し、生成した部分領域画像を並べることが出来ればよい。この場合、画像処理装置８０は、背景画像記憶部８０５を備える必要がない。
本実施形態では、仮想視点８２において事前に撮影された全天球画像を合成画像の元となる画像として説明したが、合成画像の元となる画像は何の情報も入っていない黒い画像であってもよい。ここで、何の情報も入っていない黒い画像とは、縦横の画素数が決まっているだけの画像を表す。この場合、画像合成部８０６は、抽出された部分領域画像を黒い画像に重畳することによって合成画像を生成する。なお、このように構成される場合、画像処理装置８０は、背景画像記憶部８０５を備える必要がない。
本実施形態では、中間画像生成部８０２は、画像入力部８０１に入力された入力画像を用いて中間画像を生成する構成を示したが、中間画像生成部８０２は入力画像が記憶されている記憶部から入力画像を読み出して、読み出した入力画像を入力とすることによって中間画像を生成してもよい。なお、このように構成される場合、記憶部にはカメラ７０それぞれによって撮影された入力画像が時系列順に記憶される。
【００５０】
画像の重畳の方法として、以下の（１）、（２）のような方法が用いられてもよい。
（１）部分領域画像（例えば、短冊形に抽出された画像）を重複させながら重畳する。そして、重複部分は、いずれかの画像の画素値を優先して利用してもよいし、両方の画像の重複部分の画素値の重みづけ平均を利用してもよい。
このように構成される場合、抽出領域情報テーブルにおける幅の値が、隣接する部分領域画像が重複するような値に設定される。
（２）部分領域画像（例えば、短冊形に抽出された画像）を、所定の領域をあけながら重畳する。そして、所定の領域を補完する。
このように構成される場合、抽出領域情報テーブルにおける幅の値が、隣接する部分領域画像が所定の領域を挟むような値に設定される。所定の領域は、例えば所定の領域に隣接する２つの部分領域画像に基づいて、所定の領域の右側に隣接する部分領域画像の左上座標及び左下座標と、所定の領域の左側に隣接する部分領域画像の右上座標及び右下座標とで囲まれる領域を表す。そして、画像処理部８０７は、所定の領域を、所定の領域に隣接する部分領域画像の生成元である入力画像を用いて補完する。補完には、既存の技術が用いられる。例えば、補完に用いられる処理の一例として、パッチベースの手法が用いられてもよい。また、この方法は、部分領域画像を並べる場合にも適用可能である。
【００５１】
本実施形態では、１つの入力画像から１つの部分領域を抽出する構成を示したが、１つの入力画像から複数の部分領域を抽出するように構成されてもよい。このように構成される場合、部分領域抽出部８０４は図８に示す抽出領域情報テーブルを用いて入力画像から部分領域を抽出する。
図８は、１つの入力画像から複数の部分領域を抽出する場合に用いられる抽出領域情報テーブルの具体例を示す図である。
図８に示す抽出領域情報テーブルは、抽出領域情報レコードを複数有する。抽出領域情報レコードは、部分領域ＩＤ及び抽出領域情報の各値を有する。部分領域ＩＤの値は、抽出する部分領域を識別するための識別情報を表す。抽出領域情報の値は、同じ抽出領域情報レコードの部分領域ＩＤで識別される部分領域に関する情報を表す。抽出領域情報の具体例として、画像ＩＤ、左上座標、幅及び高さがある。画像ＩＤは、部分領域ＩＤで識別される部分領域の抽出対象となる画像を識別するための識別情報を表す。左上座標は、抽出する領域の左上の座標を表す。幅は、抽出する領域の幅を表す。幅は、抽出する領域の左上座標を基準とする。高さは、抽出する領域の高さを表す。
【００５２】
図８に示される例では、抽出領域情報テーブルには複数の抽出領域情報レコードが登録されている。図８において、抽出領域情報テーブルの最上段に登録されている抽出領域情報レコードは、部分領域ＩＤの値が“Ｐ１”、画像ＩＤの値が“Ｉ１”、左上座標の値が“（Ａ，Ｂ）”、幅の値が“Ｃ”、高さの値が“Ｄ”である。すなわち、部分領域ＩＤ“Ｐ１”で識別される部分領域を抽出する対象となる画像が画像ＩＤ“Ｉ１”で識別される画像であり、画像ＩＤ“Ｉ１”の画像の左上座標（Ａ，Ｂ）、幅Ｃ、高さＤで表される領域を抽出することが表されている。
また、図８において、抽出領域情報テーブルの２段目に登録されている抽出領域情報レコードは、部分領域ＩＤの値が“Ｐ２”、画像ＩＤの値が“Ｉ１”、左上座標の値が“（Ａ１，Ｂ１）”、幅の値が“Ｃ”、高さの値が“Ｄ”である。すなわち、部分領域ＩＤ“Ｐ２”で識別される部分領域を抽出する対象となる画像が画像ＩＤ“Ｉ１”で識別される画像であり、画像ＩＤ“Ｉ１”の画像の左上座標（Ａ１，Ｂ１）、幅Ｃ、高さＤで表される領域を抽出することが表されている。
このような抽出領域情報テーブルを用いることによって、部分領域抽出部８０４は１つの画像から複数の部分領域を抽出する。
【００５３】
本実施形態において、全天球画像に部分領域抽出部８０４によって抽出された部分領域画像を重畳する場合、各部分領域画像の間の境界領域において重複が発生する場合がある。このような場合、画像合成部８０６は、合成処理の後にＰｏｉｓｓｏｎ  Ｂｌｅｎｄｉｎｇを利用してもよい。Ｐｏｉｓｓｏｎ  Ｂｌｅｎｄｉｎｇの手法は、例えば参考文献２に記載の技術を用いることができる。
［参考文献２］Perez, Patrick, Michel Gangnet, and Andrew Blake. "Poisson image editing."ACM Transactions on Graphics (TOG). Vol. 22. No. 3. ACM, 2003.
【００５４】
画像処理部８０７は、以下のような処理を行ってもよい。
まず、画像処理部８０７は、処理対象領域から処理対象となる小領域（パッチ）ｐ（Ｘ，Ｙ）を決定する。次に、画像処理部８０７は、決定した小領域ｐ（Ｘ，Ｙ）の画素を基に、中間画像の生成元である２視点の入力画像から小領域ｐ（Ｘ，Ｙ）の変換を許容しながら類似パッチを検索する。変換の例として、拡大・縮小、回転、アフィン変換、ホモグラフィ距離などがある。本実施形態では、どの変換が用いられてもよい。画像処理部８０７は、以下の式に基づいて、類似パッチｐ（ａ’，ｂ’，Ａ’）を検索する。
【００５５】
ｐ（ａ’，ｂ’，Ａ’）＝ａｒｇｍｉｎ＿｛ａ，ｂ，Ａ｝Ｓｉｍ（ｐ（ａ，ｂ），Ａ（ｐ（Ｘ，Ｙ）））
【００５６】
ここで、Ｓｉｍ（）は小領域の類似度を表し、ユークリッド距離などが利用可能である。また、（ａ，ｂ）は入力画像から検索される小領域の左上の座標を表し、Ａ（Ｉ）は中間画像Ｉの変換を表す。画像処理部８０７は、検索した類似パッチｐ（ａ’，ｂ’，Ａ’）の逆変換Ａ’−１（ｐ（ａ’，ｂ’））を施した後の小領域を、処理対象領域から検索した小領域ｐ（Ｘ，Ｙ）に重畳する。画像処理部８０７は、上記の処理を処理対象領域全体に対して行う。
このように小領域の変換を許容しながら類似パッチを検索することによって、より高品質な仮想全天球画像を生成することが可能になる。なお、画像処理部８０７は、合成画像の生成元である複数の画像全体を変換して（合成画像側は変換せず）、変換後の画像の中から類似パッチを検索してもよい。この場合、画像処理部８０７は、逆変換しない状態の類似パッチを探索結果として取得し、取得した類似パッチを合成画像の対応する箇所に重畳する。
画像処理部８０７は、複数のカメラ７０によって撮影された複数の画像から生成された合成画像であれば、どのような合成画像に対しても上記の処理を行ってもよい。
本実施形態では、カメラ７０を水平方向に並べた構成を例に説明したが、本発明はカメラ７０を縦方向に並べた場合であっても適用可能である。
【００５７】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００５８】
６０…全天球カメラ，  ７０（７０−１〜７０−Ｍ）…カメラ，  ４、８０…画像処理装置，  ８０１…画像入力部，  ８０２…中間画像生成部，  ８０３…抽出領域情報記憶部，  ８０４…部分領域抽出部，  ８０５…背景画像記憶部，  ８０６…画像合成部，  ８０７…画像処理部
【図１】
0006416740.tif 000002
【図２】
0006416740.tif 000003
【図３】
0006416740.tif 000004
【図４】
0006416740.tif 000005
【図５】
0006416740.tif 000006
【図６】
0006416740.tif 000007
【図７】
0006416740.tif 000008
【図８】
0006416740.tif 000009
【図９】
0006416740.tif 000010
【図１０】
0006416740.tif 000011
【図１１】
0006416740.tif 000012