近年、周囲360度を含む全天の画像である全天球画像を撮影できるカメラ(以下、全天球カメラという。)およびその全天球画像の視聴において利用者が向いた方向を視聴することができるヘッドマウントディスプレイ(HMD)が普及し始めている。そして、ネットワークを介して全天球画像を配信するサービスが注目を集めている。上記のような全天球画像は、HMDで視聴することで高い臨場感を得ることができ、スポーツやアーティストのライブ等のコンテンツの視聴における利用が期待されている。
一般に、これらの全天球画像は、所望の視点に全天球カメラを設置することで撮影することができる。しかしながら、競技中のサッカーコートの中やバスケットコートの中は、全天球カメラを設置しようとすると競技者の邪魔となるため、全天球カメラを設置することができない。しかし、競技中のサッカーコートの中やバスケットコートの中に立っているかのような映像を視聴してみたいという要望がある。そこで、通常では全天球カメラを設置することのできない場所に仮想的な視点である仮想視点を設定して、仮想視点を含む領域を撮影する複数のカメラを設置し、それらのカメラからの画像を合成することにより、この仮想視点において全天球カメラで撮影したかのような全天球画像を得る技術が考案されている(例えば、非特許文献1)。以下の説明において、仮想視点における全天球画像を、仮想全天球画像という。
仮想全天球画像を複数のカメラからの画像の合成によって得る画像処理システムの具体例について説明する。図12は、従来の仮想全天球画像を得るための画像処理システムを示す図である。図12に示すように、画像処理システム1は、全天球カメラ2と、N台の複数のカメラ3−1、3−2、3−3、…、3−N(以下、カメラ群3とする。)と、画像処理装置4と、表示装置5とを備える。画像処理システム1は、フットサルのコート10内に仮想視点11を設定した場合に、コート10の周囲に設置したカメラ群3からの画像の合成によって仮想視点11における仮想全天球画像を得る。
全天球カメラ2は、全天球画像を撮影するカメラである。全天球カメラ2は、試合が行われる前のタイミングでコート10内の仮想視点11の位置に設置される。全天球カメラ2は、予め、仮想視点11の位置から仮想全天球画像の背景となる背景画像20を撮影する。全天球カメラ2で撮影された背景画像20は、画像処理装置4に入力されて蓄積される。
コート10の周囲には、N台の複数のカメラ群3が設置されている。図12においてNは4以上の自然数である。カメラ群3は、それぞれ仮想視点11を含む画角となるようにコート10の周囲に設置されている。画像処理装置4は、背景画像20に対して合成するため各カメラ群3が出力する入力画像に対して画像処理を行う。画像処理装置4は、全天球カメラ2より取得した背景画像20に画像処理後の入力画像を合成して仮想全天球画像を生成する。表示装置5は、画像処理装置4で生成した仮想全天球画像を表示する装置であり、液晶ディスプレイ等である。
画像処理システム1における画像処理の具体例を説明する。図13は、画像処理システム1における画像処理される画像の具体例を示す図である。図13(A)は、仮想視点11の位置に設置された全天球カメラ2で撮影された背景画像20の例を示す図である。仮想視点11を中心とする360度の画像となっている。背景画像20は、競技開始前に撮影される画像であるのでコート10内に競技を行う選手等は映っていない。
図13(B)は、左からカメラ3−1で撮影した入力画像21と、カメラ3−2で撮影した入力画像22と、カメラ3−3で撮影した入力画像23とを示している。画像処理装置4は、入力画像21〜23のそれぞれから仮想視点11を含み、かつ、フットサルの選手を含む領域211、221、231を切り出す。画像処理装置4は、切り出した領域211、221、231の画像に対して、画像処理を行うことで背景画像20に貼り付け可能な部分画像211a、221a、231aを生成する。
画像処理装置4は、背景画像20に対して部分画像211a、221a、231aを合成することで、仮想全天球画像24を生成する。図13(C)は、画像処理装置4が生成する仮想全天球画像24の例を示す図である。図13(C)に示すように、仮想全天球画像24は、所定の領域に部分画像211a、221a、231aを貼り付けているので、コート10上で競技を行っているフットサルの選手が映っている画像である。
従来の画像処理システム1は、合成に用いているカメラ群3の光学中心および仮想視点11において想定する仮想全天球カメラの光学中心はそれぞれ異なる。このため、合成された仮想全天球画像24は幾何学的に正しくない画像を含む。これを防ぐためには、画像処理装置4は、部分画像211a、221a、231aを、仮想視点11からの距離を示す奥行きの一点で整合性が保たれるよう画像処理を行い背景画像20に貼り付ける必要がある。しかしながら、整合性が保たれる奥行きに存在せずに別の奥行に存在している物体(例えば、競技中の選手)の部分画像を貼り付ける場合には、画像処理により奥行きの整合性を保つことができない。このような奥行に整合性のない物体は、仮想全天球画像24において、その画像が分身(多重像)したり、消失したりする現象が発生する。
以下に、図面を用いて仮想全天球画像24において、物体の画像が分身したり、消失したりする現象について説明する。図14は、画像処理システム1における課題を説明するための図である。図14において、撮影範囲41は、カメラ3−1の撮影範囲の一部であって図13(B)に示した領域211の撮影範囲を示す。撮影範囲42は、カメラ3−2の撮影範囲の一部であって図13(B)に示した領域221の撮影範囲を示す。撮影範囲43は、カメラ3−3の撮影範囲の一部であって図13(B)に示した領域231の撮影範囲を示す。すなわち、撮影範囲41〜43は、入力画像から切り出す切り出し領域に対応する撮影範囲を示している。また、仮想視点11からの距離(奥行)が異なる3つの被写体(選手)49〜51が存在する。
図14において破線で示している仮想視点11からの第1の距離を示す奥行46は、各撮影範囲41〜43が、重なりなく並んでいる。このような奥行46に位置する被写体49は、その画像が分身したり消失したりすることがなく、奥行に整合性のある被写体49である。仮想視点11からの第2の距離を示す奥行47は、各撮影範囲41〜43が、横線部分44に示すように重なっている。このような奥行47に位置する被写体50は、その画像が分身してしまうので、奥行に整合性のない被写体50となる。仮想視点11からの第3の距離を示す奥行48は、各撮影範囲41〜43の間が斜線部分45に示すように空いている。このような奥行48に位置する被写体51は、その画像の一部が消失してしまうので、奥行に整合性のない被写体51となる。
以下、図面を参照して、本発明の実施形態について説明する。
(第1の実施形態)
図1は、第1の実施形態における画像処理システムの概略を示す図である。図1に示す画像処理システム1Aにおいて、図12に示した従来の画像処理システム1と同じ構成には、同一符号を付しており、説明を簡略化する。
図1に示すように、画像処理システム1Aは、全天球カメラ2と、m台の複数のカメラシステム6−1、6−2、6−3、…、6−m(以下、カメラシステム群6とする。)と、画像処理装置30と、表示装置5とを備える。画像処理システム1Aは、フットサルのコート10内に仮想視点11を設定した場合に、コート10の周囲に設置したカメラシステム群6からの画像の合成によって仮想視点11における仮想全天球画像を得る。
全天球カメラ2は、全天球画像を撮影するカメラである。全天球カメラ2は、競技が行われる前のタイミングでコート10内の仮想視点11の位置に設置される。全天球カメラ2は、予め、仮想視点11の位置から仮想全天球画像の背景となる背景画像20を撮影する。全天球カメラ2で撮影された背景画像20は、画像処理装置4に入力されて蓄積される。全天球カメラ2は、競技中も仮想視点11に設置したままだと競技の支障となるため、競技開始前に仮想視点11の位置から取り除かれる。
コート10の周囲には、m台の複数のカメラシステム群6が設置されている。カメラシステム群6の各カメラシステム6−1、6−2、6−3、…、6−mは、背景画像20に対して合成する入力画像を動画で撮影するカメラシステムであり、それぞれ仮想視点11を含む画角となるようにコート10の周囲を取り囲むように設置されている。mは、2以上の整数であり、同程度の画質の仮想全天球画像を得ようとするのであればコート10が大きいほど大きな値となり、コート10の大きさが同じであれば仮想全天球画像の画質を高いものにしようとするほど大きな値となる。
画像処理装置30は、各カメラシステム群6からの入力画像に対して画像処理を施して、全天球カメラ2より取得した背景画像20に画像処理後の入力画像を合成する処理を行う。表示装置5は、画像処理装置30で生成した仮想全天球画像を表示する装置であり、液晶ディスプレイ、ヘッドマウントディスプレイ(HMD)等である。
表示装置5がHMDである場合、図1には示していないが画像処理装置30から映像信号等を受信する受信部と、受信部を介して受信した映像信号を表示する液晶ディスプレイや有機ELディスプレイ等で構成される画面と、視聴者の頭の動きを検出する検出部とを備える。HMDの画面に表示される映像は、仮想全天球画像に基づいた仮想全天球映像の一部であり視野と呼ぶ。HMDは、検出部が検出した視聴者の頭の動きに応じて表示する映像の範囲である視野を変更する機能を有する。
頭を上下左右に動かすことに応じて視聴している映像が変化するので、HMDを頭に装着した視聴者は、仮想視点11の位置から競技を見ているかのような映像を視聴することができる。このように、HMDを装着した視聴者は、あたかも仮想視点11に立って競技を観戦しているかのような臨場感のある映像を視聴することができる。
次に、カメラシステム群6の構成例について説明する。図2は、第1の実施形態におけるカメラシステム群6の構成例を示す図である。カメラシステム6−1は、仮想視点11の位置に焦点を有し仮想視点11からの光線を平行光にする凸レンズL−1と、放物面の形状をした鏡面を有し凸レンズL−1からの平行光を反射する放物面鏡M−1と、放物面鏡M−1の放物面の焦点に配置され放物面鏡M−1が反射する光線を受光するカメラC−1とを備える。放物面鏡M−1の軸と凸レンズL−1の軸は一致している。1つの放物面鏡M−1に対して、凸レンズL−1及びカメラC−1はそれぞれ1つずつ設置されている。凸レンズL−1の位置は光軸方向に可変であり、凸レンズL−1の焦点の位置にある仮想視点11を移動させることができる。なお、凸レンズL−1は、複数のレンズから構成されるものであってもよい。
カメラシステム6−2は、仮想視点11の位置に焦点を有し仮想視点11からの光線を平行光にする凸レンズL−2と、放物面の形状をした鏡面を有し凸レンズL−2からの平行光を反射する放物面鏡M−2と、放物面鏡M−2の放物面の焦点に配置され放物面鏡M−2が反射する光線を受光するカメラC−2とを備える。カメラシステム6−3は、仮想視点11の位置に焦点を有し仮想視点11からの光線を平行光にする凸レンズL−3と、放物面の形状をした鏡面を有し凸レンズL−3からの平行光を反射する放物面鏡M−3と、放物面鏡M−3の放物面の焦点に配置され放物面鏡M−3が反射する光線を受光するカメラC−3とを備える。上述した放物面鏡M−1の軸と凸レンズL−1の軸の関係及び放物面鏡M−1に対する凸レンズL−1及びカメラC−1の対応関係は、カメラシステム6−2、6−3についても同様である。
図2に示すように、カメラシステム6−1〜6−3は、凸レンズの物体側の焦点からでた光線は凸レンズに入射すると屈折して凸レンズの光軸と平行な光線となるという性質と、放物面の軸に平行に入射した光線は、全て放物面の焦点に集まるという性質とを利用して、仮想視点11からの光線を効率的にカメラC−1〜C−3に集光している。これにより、カメラシステム6−1〜6−3は、仮想視点11を視点とする撮影範囲12−1〜12−3に示す範囲をそれぞれ撮影することができる。各カメラシステム群6で撮影される入力画像は、所定のフレーム周期を有する動画像であり、各フレームには撮影時間が関連付けられている。なお、図2は、カメラシステム6−1〜6−3の3台のみ示しているが、他のカメラシステム6−4〜6−mについても同様の構成である。
次に、第1の実施形態における画像処理システム1Aの画像処理装置30の構成例について説明する。
図3は、第1の実施形態における画像処理装置30の構成例を示す図である。図3に示すように、画像処理装置30は、画像入力部31と、画像合成部32と、表示処理部33と、各カメラシステム群6が撮影した入力画像を格納する入力画像格納部301と、背景画像20を格納する背景画像格納部302と、入力画像の各画素と背景画像20の各画素との対応関係を示すテーブルを格納する対応情報テーブル303とを備える。
入力画像格納部301は、カメラシステム群6内の各カメラシステムを特定するカメラコードに関連付けて各カメラシステム群6で撮影した入力画像を格納する。入力画像は、撮影時刻と関連付けられた動画の画像データを含むものである。入力画像格納部301は、例えば、カメラシステム6−1で撮影した入力画像を、カメラシステム6−1を特定するカメラコードに関連付けて格納する。
背景画像格納部302は、全天球カメラ2で撮影した全天球画像である背景画像20を格納する。背景画像格納部302は、例えば、コート10内の仮想視点11に設置した全天球カメラ2で撮影した図13(A)に示す背景画像20を格納する。格納する背景画像20は、1フレーム分の画像データでも所定時間分の動画の画像データでもよい。所定時間分の画像データを格納する場合は、背景画像20において周期的に変化する部分(例えば電光掲示板が映っている部分があり、かつ、電光掲示板の表示内容が周期的に変化している部分。)があれば、その周期に応じた時間分の画像データを背景画像20として格納すればよい。
画像処理装置30が全天球カメラ2から背景画像20を取得する構成はどのような構成であってもよい。例えば、画像処理装置30が全天球カメラ2と有線又は無線で通信可能な通信部を備えて、その通信部を介して背景画像20を取得する構成であってもよい。また、全天球カメラ2に着脱可能な記録媒体を用いて当該記録媒体に背景画像20を記録して、記録後の記録媒体を画像処理装置30に接続して、画像処理装置30が記録媒体から背景画像20を読み出す構成により、背景画像20を取得する構成であってもよい。また、画像処理装置30が、カメラシステム群6から入力画像を取得する構成も全天球カメラ2の場合と同様にどのような構成であってもよい。
画像入力部31は、入力画像格納部301から入力画像を取得し、背景画像格納部302から背景画像20を取得して、入力画像及び背景画像20を画像合成部32へ出力する。画像合成部32は、対応情報テーブル303を参照して入力画像の各画素の値を、背景画像20の対応する画素の値として貼り付けて合成することで仮想全天球画像を生成する。
ここで、対応情報テーブル303に格納する入力画像の各画素と背景画像20の各画素との対応関係を示すテーブルの取得方法について説明する。図4は、入力画像の各画素と背景画像20の各画素との対応関係を示すテーブルの取得方法について説明する図である。図4に示すように、点光源54を全天球カメラ2及びカメラシステム6−1で撮影することでテーブルを取得する。なお、説明を簡単にするため図4では、カメラシステム6−1の処理のみを示しているが、他のカメラシステム6−2〜6−mにおいても同様の処理を行う。
まず、コート10内の仮想視点11に全天球カメラ2を設置して、図2に示したカメラシステム6−1の撮影範囲12−1内で点光源54を点灯する。図4において撮像面57は、全天球カメラ2において被写体像が結像する撮像面を仮想的に示したものである。点光源54からの光は、全天球カメラ2において撮像面57の画素57Aで受光される。全天球カメラ2は、点光源54を撮影した全天球画像55を出力する。図4に示すように、仮想視点11における全天球画像55には、画素55Aに点光源54の光が写っている。全天球画像55の画素55Aは、撮像面57の画素57Aに対応する画素である。点光源54を移動させて撮影範囲12−1の全ての画素に対応する位置で撮影を行う。撮影を終えると全天球カメラ2を仮想視点11から取り去る。
次に、カメラシステム6−1は、撮影範囲12−1内で点灯する点光源54を撮影して、画像56を出力する。図4において、撮像面58は、カメラC−1において被写体像が結像する撮像面を仮想的に示したものである。点光源54からの光線は、仮想視点11を通過して凸レンズL−1で屈折され、放物面鏡M−1で反射されてカメラC−1において撮像面58の画素58Aで受光される。図4に示すように、カメラシステム6−1で撮影した画像56には、画素56Aに点光源54の光が写っている。画像56の画素56Aは、撮像面58の画素58Aに対応する画素である。全天球カメラ2の時と同様に、点光源54を移動させてカメラシステム6−1の撮影範囲12−1の全ての画素に対応する位置で撮影を行う。点光源54を点灯させる位置とその順番は、全天球カメラ2の時と同じとする。
以上の処理により、同じ位置で点灯させた点光源54が写っている画素を対応させることで、入力画像の各画素と全天球画像(=背景画像20)の各画素との対応関係を示すテーブルを作成する。図5は、入力画像の各画素と全天球画像の各画素との対応関係を示す対応情報テーブル303の具体例を示す図である。図5に示すように、全天球画像の各画素の識別子qj(j=1〜Nq)及び画素アドレスを示すq1:(0、0)、q2:(0、1)、…、qNq:(3839、1919)と、カメラシステム群6の識別子Si(i=1〜M)及び識別子Siで特定されるカメラシステムからの入力画像の画素アドレスを示すS1、(100、50)、S1、(100、52)、…、Sm、(100、200)とを対応させている。
識別子S1、S2、…、Smは、カメラシステム6−1、6−2、…、6−mを特定する識別子である。図5に示した対応情報テーブル303は、全天球画像の全画素に対してカメラシステム群6の入力画像の画素との対応情報を格納したが、これに限定されるものではない。例えば、対応情報テーブル303は、全天球画像の一部の画素に対してのみカメラシステム群6の入力画像の画素との対応情報を格納してもよい。例えば、全天球画像において、カメラシステム群6が対応していない領域があれば、その領域の対応情報は格納する必要がない。このような対応情報テーブル303を備えることで、カメラシステム群6に備えられる放物面鏡M−1〜M−mの鏡面が理想的な放物面から多少ずれた曲率であったり、放物面鏡M−1〜M−m間で鏡面の曲率がばらついたりしても生成する全天球画像の画質への影響を抑えることができる。
次に、画像合成部32における、対応情報テーブル303を参照して入力画像の各画素の値を、背景画像20の対応する画素の値として貼り付ける処理について説明する。図6は、画像合成部32における合成処理を示すフロー図である。画像合成部32は、背景画像20の各画素qjに関するループを開始する(ステップS101)。具体的には、画像合成部32は、背景画像20の画素q1の処理から画素qNqまでの処理のループを開始する。
画像合成部32は、対応情報テーブル303を参照して、背景画像20の画素qjに対応するカメラシステムの識別子Si及び識別子Siのカメラシステムで撮影した入力画像の画素アドレスを特定し、特定した画素アドレスの画素の値を、背景画像20の画素qjの値とする(ステップS102)。画像合成部32は、背景画像20の画素qNq対する処理を終えたか否かを判断することで、ループを終了させるか否かを判断する(ステップS103)。ここで画素qNq対する処理を終えていなければ、画像合成部32は、ステップS101に戻り、画素qNq対する処理を終えていれば合成処理を終了する。以上の処理により、画像合成部32は、対応情報テーブル303を参照してカメラシステム群6からの入力画像の各画素の値を、背景画像20の対応する画素の値として貼り付けて合成して得た仮想全天球画像を出力する。
表示処理部33は、画像合成部32が出力する仮想全天球画像を表示装置5において表示可能な映像信号に変換して出力する。仮想全天球画像は、図13(C)に示した通り、歪みを含む画像であり、かつ、仮想視点11を中心とする360度の景色を含む画像であるので、表示処理部33は、仮想全天球画像から表示装置5に表示させる範囲の画像を切り出して、切り出した画像の歪みを補正する機能を有する。
画像処理装置30は、入力画像格納部301及び背景画像格納部302を備える構成としたが、これに限定されるものではない。例えば、入力画像格納部301及び背景画像格納部302を備える画像格納装置を別に設け、画像処理装置30は、画像格納装置から入力画像格納部301及び背景画像格納部302を取得する構成であってもよい。また、画像処理装置30は、入力画像格納部301を備えずに、カメラシステム群6から入力される入力画像をリアルタイムで取得して、取得した入力画像を順次処理する構成としてもよい。
次に、画像処理システム1Aにおいて仮想全天球画像を作成する動作について説明する。図7は、第1の実施形態における画像処理装置30が仮想全天球画像を作成する動作を示すフロー図である。図7に示す動作は、入力画像に基づいて各撮影時刻における仮想全天球画像を生成する処理の前に、予め対応情報テーブル303を取得する処理、背景画像20を取得して背景画像格納部302に格納する処理及び入力画像を取得して入力画像格納部301に格納する処理も含まれる。
仮想視点11に全天球カメラ2を設置し、点光源54を全天球画像の各画素に対応する位置に所定の順番で移動させて、移動先の各位置で点灯してその全天球画像を撮影する(ステップS201)。全天球カメラ2を仮想視点11から取り去って、カメラシステム群6の各カメラシステムは、点光源54をステップS201の時と同じ位置、同じ順番で移動させて、移動先の各位置で点灯してその画像をする。具体的には、カメラシステム群6の各カメラシステムは、自身の撮影範囲に点光源54が存在する場合に、画像の撮影を行う。同じ位置で点灯させた点光源54が写っている画素を対応させることで、全天球画像の各画素qjと識別子Siで特定されるカメラシステムで撮影され入力画像の画素との対応関係を示すテーブルである対応情報テーブル303を作成する(ステップS202)。
仮想視点11に全天球カメラ2が設置され、全天球カメラ2は、背景画像20を撮影する(ステップS203)。撮影された背景画像20は、背景画像格納部302に格納される。次に、全天球カメラ2を仮想視点11から取り去った後に、例えばコート10おける競技開始と共に、カメラシステム群6は入力画像の撮影を開始する(ステップS204)。これにより、画像処理装置30は、カメラシステム群6が撮影した入力画像を入力画像格納部301に格納する。
画像合成部32は、対応情報テーブル303を参照してカメラシステム群6からの入力画像の各画素の値を、背景画像20の対応する画素の値として貼り付けて合成して得た仮想全天球画像を出力する(ステップS205)。
以上に説明したように、第1の実施形態における画像処理装置30は、放物面鏡を備えカメラシステム群6を用いて所定の撮影範囲からの仮想視点11を通る光線に基づく被写体像を撮影して入力画像を取得し、この入力画像を背景画像20に合成して仮想全天球画像を生成することができる。これにより、第1の実施形態における画像処理装置30は、仮想全天球画像に含まれる被写体において分身が起こったり、消失が起こったりすることを抑制し、かつ、カメラシステム群6に含まれる各カメラシステムを所定の撮影範囲が重ならない間隔で設置することができる。すなわち、第1の実施形態における画像処理装置30は、仮想視点の周囲に設置するカメラシステムの数を抑制し、かつ、画質の劣化を抑制した仮想全天球画像を得ることができる。第1の実施形態における画像処理装置30は、仮想視点の周囲に設置する限られた数のカメラシステムの中で、より精度の高い仮想全天球画像を得ることができる。
上述した画像処理システム1Aの動作の変形例として、カメラシステム群6で撮影した入力画像をリアルタイムで背景画像20に合成して仮想全天球画像を生成する動作について説明する。リアルタイムで仮想全天球画像を生成する場合、画像処理システム1Aは、図7の処理において、ステップS201〜S203までの処理を事前に行い、ステップS204、S205の処理をリアルタイムで行う。リアルタイムで仮想全天球画像を生成するとは、例えば、入力画像が1秒間に60フレームを有する動画像であれば、画像処理システム1Aが、その動画像の入力画像を処理して、1秒間に60フレームを有する仮想全天球画像を生成することである。
ここで、カメラシステム群6における各カメラシステムの撮影範囲の広さと、その撮影範囲の広さに応じて必要となる各カメラシステムの設置個数(m個)との関係について説明する。図8は、カメラシステム群6における各カメラシステムの撮影範囲の広さと、その撮影範囲の広さに応じて必要となる各カメラシステムの設置個数(m個)との関係について説明する図である。図8では、凸レンズL−1と、放物面鏡M−1と、カメラC−1とを備えるカメラシステム6−1を例に挙げて説明する。
図8に示すように、凸レンズL−1の半径をrとし、凸レンズの焦点距離をfとする。また、凸レンズL−1の焦点f
1から凸レンズの両端へ入射する光線がなす角を角度θとすると、角度θは以下の(式1)で表される。
そして、カメラC−1の実質的な画角は、上記(式1)で求めた角度θである。撮影範囲の大きさが角度θであるカメラシステム6−1の個数は、背景画像20に対して合成したい範囲が角度θ
aである場合に、以下の(式2)を満たす個数mである。なお、(式2)において、θ
iとはカメラシステム6−i(1≦i≦m)の撮影範囲を示す。(式2)に示すように、背景画像20に対して合成したい範囲の角度θ
aの値が大きくなれば、カメラシステム6−1の個数mの値も大きくなる。
(第2の実施形態)
第2の実施形態におけるカメラシステムの構成例について説明する。図2等に示した第1の実施形態におけるカメラシステム群6の各カメラシステムの放物面鏡にはカメラが写り込んでいる領域がある。これに対して、第2の実施形態におけるカメラシステムは、各カメラシステムの放物面鏡においてカメラが写り込む領域を無くす(カメラが写り込まない領域のみ残す)構成としたものである。これにより、放物面鏡の軽量化および小型化を図ることができる。
図9は、第2の実施形態におけるカメラシステム6−1Aの構成例を示す図である。カメラシステム6−1Aは、凸レンズL−1と、カメラC−1と、欠損部90を有する放物面鏡M−1Aとを具備する。放物面鏡M−1Aの欠損部90は、図2に示した放物面鏡M−1においてカメラC−1が写り込む領域に穴をあけることで形成することができる。また、放物面鏡M−1Aは、更に図9の光軸から上半分又は下半分の領域を取り除いた構成としてもよく、目的とする撮影範囲に応じた領域に放物面となる鏡面を備える構成であればよい。
なお、カメラシステム6−1Aは、図1に示すようにコート10の周囲にm個配置されるものであり、m個のカメラシステム6−1Aの凸レンズL−1〜L−Mの物体側(放物面鏡M−1Aと反対側)の焦点は仮想視点11の位置に一致する。第2の実施形態におけるカメラシステム6−1Aを図1に示す画像処理システム1Aに適用することで、画像処理システム1Aの軽量化及び小型化を実現することができる。
(第3の実施形態)
第3の実施形態におけるカメラシステムの構成例について説明する。図2等に示した第1の実施形態におけるカメラシステム群6の各カメラシステムは放物面鏡を用いている。これに対して、第3の実施形態におけるカメラシステムは、楕円の一部と同じ曲率の曲面を有して光線を反射する楕円鏡を用いて較正したものである。これにより、仮想視点の位置をより柔軟に設定することができる。
図10は、第3の実施形態におけるカメラシステム6−1Bの構成例を示す図である。カメラシステム6−1Bは、凸レンズL−1a、L−1bと、カメラC−1と、楕円鏡M−1Bとを具備する。楕円鏡M−1Bの軸と、凸レンズL−1a、L−1bの軸は一致している。カメラC−1は、楕円鏡M−1Bの第1の焦点の位置に設置されている。楕円鏡M−1Bの第2の焦点は、凸レンズL−1aの焦点と同じ位置f0である。凸レンズL−1bの焦点は、仮想視点11と同じ位置f1である。
凸レンズL−1aと凸レンズL−1bとの間の距離をdiとし、楕円鏡M−1Bに基づく楕円の中心をOとし、楕円鏡M−1Bの焦点距離をfとし、凸レンズL−1aの焦点距離をf0とし、凸レンズL−1bの焦点距離をf1とする。仮想視点11から中心Oまでの距離は、f+f0+di+f1で求まる。すなわち、これらの各f、f0、di、f1の値を調整することで、仮想視点11の位置を調整することができる。
楕円鏡M−1Bの焦点距離fについては、本実施形態では固定であるが、後述する第4の実施形態に記載の構成とすることで調整することができる。凸レンズL−1aの焦点距離f0と、凸レンズL−1bの焦点距離f1とは、凸レンズL−1a、L−1aの製造時に任意の焦点距離を設定することができる。なお、凸レンズL−1a、L−1aの焦点距離を可変とする構成とすれば、製造後も焦点距離を変更可能である。凸レンズL−1aと凸レンズL−1bとの間の距離をdiは、凸レンズL−1a又は凸レンズL−1bを光軸方向に移動可能とする構成とすれば変更可能となる。
ここで、カメラシステム群6における各カメラシステム6−1Bの撮影範囲の広さと、その撮影範囲の広さに応じて必要となる各カメラシステム6−1Bの設置個数(m個)との関係について説明する。カメラC−1の画角をθ
0、カメラシステム6−1Bの撮影範囲をθ
1、楕円鏡M−1Bの焦点距離をf、凸レンズL−1aの焦点距離をf
0、凸レンズL−1bの焦点距離をf
1として、楕円鏡M−1Bに基づく楕円の中心を原点とするxy座標において、カメラC−1の画角θ
0とカメラシステム6−1Bの撮影範囲θ
1は、以下の(式3)、(式4)で表すことができる。
撮影範囲の大きさが角度θ
1であるカメラシステム6−1Bの個数は、背景画像20に対して合成したい範囲が角度θである場合に、以下の(式5)を満たす個数mである。なお、(式5)において、θ
1 iとはカメラシステム6−iB(1≦i≦m)の撮影範囲を示す。(式5)に示すように、背景画像20に対して合成したい範囲の角度θの値が大きくなれば、カメラシステム6−1Bの個数mの値も大きくなる。
なお、カメラシステム6−1Bは、図1に示すようにコート10の周囲にm個配置されるものであり、m個のカメラシステム6−1Bの凸レンズL−1b〜L−Mbの物体側(楕円鏡M−1Bと反対側)の焦点は仮想視点11の位置に一致する。第3の実施形態におけるカメラシステム6−1Bを図1に示す画像処理システム1Aに適用することで、画像処理システム1Aがコート10内に設定する仮想視点11の位置を柔軟に変更することができる。
(第4の実施形態)
第4の実施形態におけるカメラシステムの構成例について説明する。図10に示した第3の実施形態におけるカメラシステム6−1Bの楕円鏡M−1Bの曲率は固定である。これに対して、第4の実施形態におけるカメラシステムは、楕円鏡の曲率を変更可能に構成したものである。これにより、楕円鏡の鏡面に基づく楕円の焦点の位置を変更することができる。そして、楕円鏡の焦点距離fを変更することで、凸レンズL−1a、L−1bの先にある仮想視点11の位置を変更することができる。
図11は、第4の実施形態におけるカメラシステム6−1Baの構成例を示す図である。カメラシステム6−1Baは、カメラC−1a、焦点位置を変更可能な楕円鏡M−1Ba及び撮影方向を駆動する撮影方向駆動部84を備えるカメラ部85と、撮影方向駆動部84に対して撮影方向を制御する信号を出力するカメラ制御部86とを具備する。カメラC−1aは、駆動部83により図11に示す矢印方向(カメラC−1aの光軸方向)に位置を変更することができる。駆動部83は、楕円鏡M−1Baの焦点位置の変更に応じて、カメラC−1aの位置を変更する。
楕円鏡M−1Baは、平面鏡80−1〜80−5と、平面鏡80−1〜80−5のそれぞれに設けられ各平面鏡80−1〜80−5の角度及び位置を変更する鏡駆動部81−1〜81−5と、鏡駆動部81−1〜81−5に対して、平面鏡80−1〜80−5により第1の焦点(カメラシステム6−1Ba側の焦点)が所望の位置となる曲率の楕円を近似する配置となるよう制御信号を出力する鏡制御部82とを備える。楕円鏡M−1Baが近似する楕円の第1の焦点が変更されると、第2の焦点(凸レンズL−1aの焦点と重なっている焦点)までの距離も変更される。仮想視点11の位置で複数のカメラシステム6−1Ba〜6−mBaの凸レンズL−1bの焦点が重なるように、カメラ制御部86は、カメラ部85の撮影方向を制御する。
なお、カメラシステム6−1Baは、図1に示すようにコート10の周囲にm個配置されるものであり、m個のカメラシステム6−1Baの凸レンズL−1bの焦点は仮想視点11の位置に一致する。第4の実施形態におけるカメラシステム6−1Baを用いることで、カメラシステム6−1Baから仮想視点11までの距離を任意の距離に変更することができる。
なお、カメラシステム6−1Baの楕円鏡M−1Baにおいて、鏡面の楕円への近似の精度を変更するため平面鏡80−1〜80−5の数を変えてもよい。平面鏡の数を増やして個々の平面鏡のサイズを小さくするほど、楕円への近似の精度が高くなる。
上述した第1の実施形態の画像処理システム1Aは、仮想視点11に設置した全天球カメラ2で撮影した全天球画像を背景画像20としたが、仮想視点11に広角で撮影可能な広角カメラを設置して撮影した広角画像を背景画像20としてもよい。このような場合は、画像処理システム1Aは、広角画像である背景画像20に対して部分画像を合成することで仮想広角画像を生成する。ただし、仮想広角画像に写る範囲は、仮想全天球画像に比べて狭い範囲となる。
上述した第1の実施形態の画像処理システム1Aは、全天球カメラ2を含む構成としたが、背景画像20となる全天球画像を得ることができる構成であれば、全天球カメラ2を含まない構成でもよい。上述した第1の実施形態の画像処理装置30は、入力画像格納部301と、背景画像格納部302とを備える構成としたが、これに限定されるものではない。入力画像格納部301及び背景画像格納部302を備える装置を別に設けて、画像処理装置30は、その装置から入力画像及び背景画像20を取得する構成でもよい。
上述した第1の実施形態における画像処理装置30が備える各機能部及び第4の実施形態におけるカメラシステム6−1aが備える鏡制御部82及びカメラ制御部86は、例えば、コンピュータで実現することができる。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA(Field Programmable Gate Array)等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。