以下、図面を参照して、本発明の実施形態について説明する。
(第1の実施形態)
図1は、第1の実施形態における画像処理システム及び視聴システムの概略を示す図である。図1に示す画像処理システム1Aにおいて、図15に示した従来の画像処理システム1と同じ構成には、同一符号を付しており、説明を簡略化する。
図1に示すように、画像処理システム1Aは、全天球カメラ2と、N台(N≧2)の複数のカメラ3−1、3−2、3−3、…、3−N(以下、カメラ群3とする。)と、画像処理装置30と、表示装置5とを備える。画像処理システム1Aは、フットサルのコート10内に仮想視点11を設定した場合に、コート10の周囲に設置したカメラ群3からの画像の合成によって仮想視点11における仮想全天球画像を得る。
全天球カメラ2は、全天球画像を撮影するカメラである。全天球カメラ2は、競技が行われる前のタイミングでコート10内の仮想視点11の位置に設置される。全天球カメラ2は、予め、仮想視点11の位置から仮想全天球画像の背景となる背景画像20を撮影する。全天球カメラ2で撮影された背景画像20は、画像処理装置4に入力されて蓄積される。全天球カメラ2は、競技中も仮想視点11に設置したままだと競技の支障となるため、競技開始前に仮想視点11の位置から取り除かれる。
コート10の周囲には、カメラ群3が設置されている。カメラ群3の各カメラ3−1、3−2、3−3、…、3−Nは、背景画像20に対して合成する部分画像を含む入力画像を動画で撮影するカメラであり、それぞれ仮想視点11を含む画角となるようにコート10の周囲を取り囲むように設置されている。カメラ群3によって撮影された動画(映像)は、複数フレームの画像により構成されており、画像処理装置4は、動画(映像)に含まれる処理対象となるフレームの画像を入力画像としている。Nは、2以上の整数であり、同程度の画質の仮想全天球画像を得ようとするのであればコート10が大きいほど大きな値となる。また、コート10の大きさが同じであれば、Nの値が大きい程、合成領域(仮想全天球画像において、背景画像20にカメラ群3からの画像を合成する領域)の面積が大きくなり、あるいは合成領域の大きさが同じであれば合成領域における画質が向上する。
画像処理装置30は、カメラ群3の各カメラ3−1、3−2、3−3、…、3−Nからの入力画像に対して画像処理を施して、全天球カメラ2より取得した背景画像20に画像処理後の入力画像を合成する処理を行う。表示装置5は、画像処理装置30で生成した仮想全天球画像を表示する装置であり、液晶ディスプレイ、ヘッドマウントディスプレイ(HMD)等である。
視聴システム9は、画像サーバ6と、ネットワーク7と、複数の視聴装置8とを備える。画像サーバ6は、ネットワーク7を介して画像処理装置30が生成した仮想全天球画像を配信するサーバである。ネットワーク7は、例えばインターネット等の通信網である。視聴装置8は、ネットワーク7に接続可能なユーザ端末81と、ユーザ端末81に接続されたHMD82とから構成される装置である。ユーザ端末81は、ネットワーク7を介して画像サーバ6が配信する仮想全天球画像を受信する機能と、受信した仮想全天球画像をHMD82で視聴可能な映像信号に変換してHMD82へ出力する機能とを備える。
なお、音声信号を処理する構成については図2に示していないが、画像データと音声データとを含む映像データを取得して配信する公知の技術を用いる構成であればよい。例えば、画像処理装置30は、コート10周辺の音声をマイクで集音して得た音声データを取得して、仮想全天球画像の画像データとともに所定の信号形式の映像データに変換して画像サーバ6に送信する。画像サーバ6は、受信した所定の信号形式の映像データを蓄積して、視聴装置8からの要求に応じて蓄積した映像データを配信する。
HMD82は、ユーザ端末81から映像信号等を受信する受信部と、受信部を介して受信した映像信号を表示する液晶ディスプレイや有機ELディスプレイ等で構成される画面と、視聴者の頭の動きを検出する検出部と、検出部が検出した結果をユーザ端末81に送信する送信部とを備える。HMD82の画面に表示される映像は、仮想全天球画像に基づいた仮想全天球映像の一部であり視野と呼ぶ。HMD82は、検出部が検出した視聴者の頭の動きに応じて表示する映像の範囲である視野を変更する機能を有する。
頭を上下左右に動かすことに応じて視聴している映像が変化するので、HMD82を頭に装着した視聴者は、仮想視点11の位置から競技を見ているかのような映像を視聴することができる。このように、HMD82を装着した視聴者は、あたかも仮想視点11に立って競技を観戦しているかのような臨場感のある映像を視聴することができる。
画像処理システム1Aにおいて処理される画像は、図16に示した従来の画像処理システム1で処理される画像と同様であるので、図16を用いて画像処理システム1Aの動作について簡単に説明する。全天球カメラ2は、コート10内の仮想視点11に設置されて、図16(A)に示す背景画像20を競技開始前に撮影する。競技が開始されるとカメラ群3の各カメラが撮影を開始する。例えば、カメラ群3内のカメラ3−1、3−2、3−3は、図16(B)に示す入力画像21〜23を撮影する。
画像処理装置30は、撮影された入力画像21〜23のそれぞれから仮想視点11を含み、かつ、競技中の選手を含む領域211、221、231を切り出す。画像処理装置30は、切り出した領域211、221、231の画像に対して、画像処理を行うことで背景画像20に貼り付け可能な部分画像211a、221a、231aを生成する。画像処理装置30は、背景画像20に対して部分画像211a、221a、231aを合成することで、図16(C)に示すような仮想全天球画像24を生成する。
なお、視聴システム9は、図1に示す構成に限定されるものではない。視聴システム9は、画像処理装置30が生成した仮想全天球画像を編集してから画像サーバ6へ出力する編集装置を備える構成等、仮想全天球画像をネットワーク7経由で配信可能な構成であればよい。視聴装置8の構成は、ネットワーク7を介して受信した仮想全天球画像の一部を歪みのない画像として画面に表示する構成であれば、どのような構成であってもよい。
次に、第1の実施形態における画像処理システム1Aの画像処理装置30の構成例について説明する。
図2は、第1の実施形態における画像処理装置30の構成例を示す図である。図2に示すように、画像処理装置30は、オブジェクト解析部31と、奥行取得部32と、合成情報取得部33と、画像入力部34と、画像切り出し部35と、画像合成部36と、表示処理部37と、キーボードやマウス等で構成され、奥行に関する情報を入力する入力部38と、奥行補間部39と、カメラ群3の各カメラが撮影した入力画像を格納する入力画像格納部301と、背景画像20を格納する背景画像格納部302と、オブジェクト情報格納部303と、合成情報テーブル304とを備える。
オブジェクト解析部31は、入力画像格納部301に格納されている入力画像を入力とし、入力画像中に含まれるオブジェクトを抽出する。ここでオブジェクトとは、背景画像20に含まれていないが入力画像に含まれている人物、物体(例えばボール)等である。オブジェクト解析部31は、抽出したオブジェクトに対して当該オブジェクトを識別するための識別子であるIDを付与して、ID及び抽出したオブジェクトに関する情報を含むオブジェクト情報として出力する。
カメラ群3の各カメラで撮影される入力画像は、所定のフレーム周期を有する動画像であり、各フレームには撮影時間が関連付けられている。オブジェクト解析部31は、入力された入力画像において時間方向に一連のフレームから抽出した同一オブジェクトに対して同じIDを付与し、撮影時刻も関連付けてオブジェクト情報として出力する。オブジェクト情報格納部303は、オブジェクト解析部31が出力するオブジェクト情報を入力とし、オブジェクトを抽出する対象とした入力画像のフレーム毎の撮影時刻に関連付けてオブジェクト解析部31が付与したIDを含むオブジェクトに関する情報を格納する。
例えば、オブジェクト解析部31は、カメラ3−1が撮影した撮影時刻t、t+1、t+2、…の一連のフレームである入力画像21から抽出したオブジェクトには、ID1の識別子を付与する。同様に、オブジェクト解析部31は、カメラ3−2が撮影した撮影時刻t、t+1、t+2、…の一連のフレームである入力画像22から抽出したオブジェクトには、ID2の識別子を付与し、カメラ3−3が撮影した撮影時刻t、t+1、t+2、…の一連のフレームである入力画像23から抽出したオブジェクトには、ID3の識別子を付与する。なお、オブジェクト解析部31が、抽出したオブジェクトに付与するIDは、オブジェクトを特定するものである。例えば、カメラ3−1及びカメラ3−2が同じオブジェクトを撮影した入力画像を出力している場合は、オブジェクト解析部31は、カメラ3−1及びカメラ3−2からの2つの入力画像を解析して、1つのIDを含む1つのオブジェクト情報を生成する。
オブジェクト解析部31は、入力画像を解析してオブジェクトを抽出する際に、オブジェクトの属性を示すラベルと、オブジェクトのコート10上の空間における三次元的な位置情報である三次元位置情報とを取得する。ラベルの具体例としては、人物であることを示す「人」、ボールであることを示す「ボール」、物体Aであることを示す「物体A」、物体Bであることを示す「物体B」、…等のカメラ群3の撮影範囲を移動する可能性のある物体を識別する情報を用いる。
オブジェクト解析部31は、オブジェクトを抽出するために入力画像を解析処理することで、オブジェクトが「人」、「ボール」、「物体A」、「物体B」のいずれに該当するのかを解析・判定して、その判定結果をラベルとして出力する。なお、オブジェクトが「人」、「ボール」、「物体A」、「物体B」のいずれに該当するのかを解析・判定する手法としては、公知の画像解析技術を用いる。例えば、画像の解析により人を検出する技術を開示する文献として以下の公知文献1がある。
公知文献1:山内悠嗣、外2名、「[サーベイ論文] 統計的学習手法による人検出」、電子情報通信学会技術研究報告、vol.112、no.197、PRMU2012-43、pp.113-126、2012年9月
また、オブジェクト解析部31は、入力画像内におけるオブジェクトの位置、オブジェクトを撮影したカメラ群3内の複数のカメラの位置及びその複数のカメラの撮影範囲(撮影方向及び画角)等の情報に基づいて、コート10上の空間におけるオブジェクトの三次元位置を取得する。このオブジェクトの三次元位置を取得する手法としては、図示しない測距センサ(ToF(Time of Flight)カメラなど)を用いる手法や、多視点カメラからの画像を利用する手法など公知の技術を用いる。また、カメラ群3で撮影した入力画像を表示装置5に表示させて、表示させた入力画像に基づいて、人が手入力により入力してもよい。また、オブジェクトの位置を特定する情報としては、三次元位置を特定する情報に替えて、コート10上の位置をコート10と平行な平面上の2次元座標で表して、その座標に基づいて2次元位置を特定する情報を用いてもよい。この2次元座標は、例えば、仮想視点11に対応する点を原点とするものである。
オブジェクト情報格納部303は、オブジェクト解析部31が抽出したオブジェクトに関する情報であるオブジェクト情報を、その撮影時刻に関連付けて格納する。オブジェクト情報は、オブジェクトを識別するIDと、オブジェクトの属性を示すラベルと、オブジェクトの三次元位置とを含む。
図3は、第1の実施形態におけるオブジェクト情報格納部303に格納するオブジェクト情報の一例を示す図である。図3に示すように、入力画像の各フレームの撮影時刻t、t+1、t+2、…に関連付けて複数のオブジェクト情報を格納している。撮影時刻tにおいては、オブジェクト1のオブジェクト情報として、ID1、ラベル1、三次元位置情報1が格納され、オブジェクト2のオブジェクト情報として、ID2、ラベル2、三次元位置情報2が格納されている。撮影時刻t+1、撮影時刻t+2においても、同じ情報が格納されている。
奥行取得部32は、オブジェクト情報格納部303に格納されているオブジェクト情報と、入力部38から入力されるオブジェクト情報とを入力とする。奥行取得部32は、オブジェクト情報格納部303よりオブジェクト情報を読み出して、各撮影時刻において、複数のオブジェクトの中から重要なオブジェクトである主オブジェクトを特定する。奥行取得部32は、仮想視点11から特定した主オブジェクトまでの距離を取得し、主オブジェクトに対応するカメラに対して取得した距離を奥行として設定する。重要なオブジェクトとは、例えば、仮想全天球画像の中で視聴者が注視する領域に存在するオブジェクトや、視聴者が注視する特定のオブジェクトなどである。
なお、主オブジェクトとして特定するオブジェクトは1つに限るものではなく、主オブジェクトとして複数のオブジェクトを特定してもよい。主オブジェクトが複数のオブジェクトを含む場合は、奥行取得部32は、例えば、仮想視点11から特定した複数の主オブジェクトまでの距離を、各主オブジェクトに対応するカメラに設定する奥行とする。ここで、主オブジェクトに対応するカメラとは、主オブジェクトから仮想視点11を通過する直線を引いた場合に、その直線に最も近い位置に設置されているカメラ群3内のカメラである。奥行取得部32は、主オブジェクトに対応するカメラを特定するカメラコードに関連づけて、主オブジェクトに対応するカメラに設定する奥行を出力する。
例えば、特定された主オブジェクトの数が4〜6個である場合、主オブジェクトに対応するカメラも同数程度であり、主オブジェクトに対応するカメラは、カメラ群3の一部である。カメラ群3には、主オブジェクトに対応するカメラ以外の他のカメラ(以下、主オブジェクトに対応していないカメラという。)が含まれる。奥行補間部39は、主オブジェクトに対応していないカメラに設定する奥行を、主オブジェクトに対応するカメラに設定された奥行を用いて補間して出力する。
奥行補間部39は、例えば、奥行取得部32が取得した全ての主オブジェクトの上を通る高次曲線である奥行線を求める。奥行補間部39は、主オブジェクトに対応していないカメラに対して、各カメラから仮想視点11を通る直線と、その奥行線との交点を求める。奥行補間部39は、主オブジェクトに対応していないカメラに対して、求めた交点から仮想視点11までの距離に基づき、奥行を設定する。
奥行補間部39は、主オブジェクトに対応していないカメラに対して、各カメラから仮想視点11を通る直線と、その奥行線との交点を求める。奥行補間部39は、主オブジェクトに対応していないカメラに対して、求めた交点から仮想視点11までの距離に基づき、奥行を設定する。
図4は、第1の実施形態における奥行補間部39の補間処理の概要を示す図である。図4において、オブジェクト53、54は、奥行取得部32が特定した主オブジェクトである。カメラ3−aは、主オブジェクトであるオブジェクト53に対応するカメラであり、カメラ群3に含まれるカメラの中で、オブジェクト53から仮想視点11を通る直線に最も近い位置に設置されている。カメラ3−dは、主オブジェクトであるオブジェクト54に対応するカメラであり、カメラ群3に含まれるカメラの中で、オブジェクト54から仮想視点11を通る直線に最も近い位置に設置されている。
奥行取得部32は、カメラ3−aに対して仮想視点11からオブジェクト53までの距離D1に基づいて、例えば、奥行D1を設定する。奥行取得部32は、カメラ3−dに対して仮想視点11からオブジェクト54までの距離D2に基づいて、例えば、奥行D2を設定する。カメラ3−aとカメラ3−dとの間には、複数のカメラが設置されているが、それら複数のカメラに含まれるカメラ3−bとカメラ3−cに対する奥行の設定について説明する。
奥行補間部39は、仮想視点11を囲むようにオブジェクト53、54を通る高次曲線である奥行線55を求める。奥行補間部39は、カメラ3−bから仮想視点11を通る直線と、奥行線55の交点を求めて、その交点から仮想視点11までの距離D3を、カメラ3−bに対する奥行として設定する。奥行補間部39は、カメラ3−cから仮想視点11を通る直線と、奥行線55の交点を求めて、その交点から仮想視点11までの距離D4を、カメラ3−cに対する奥行として設定する。
なお、奥行補間部39において、仮想視点11を囲むように全ての主オブジェクトの上を通過する高次曲線を奥行線としたが、これに限定されるものではない。例えば、奥行補間部39は、仮想視点11を囲むように全ての主オブジェクト上を通過する折れ線を求めて、この折れ線を奥行線としてもよい。また、奥行補間部39は、全ての主オブジェクトの近傍を通過して、かつ、仮想視点11を中心とする円を近似する近似曲線又は近似折れ線を求めて、その近似曲線又は近似折れ線を奥行線としてもよい。近似する仮想視点11を中心とする円としては、例えば、全ての主オブジェクトと仮想視点11との距離の平均値を半径とする円を用いる。また、全ての主オブジェクトの近傍を通過して、かつ、仮想視点11を中心とする円を近似する近似曲線又は近似折れ線とは、例えば、全ての主オブジェクト上を通過する高次曲線又は全ての主オブジェクト上を通過する折れ線における凹凸を、近似の対象となる仮想視点11を中心とする円に近づける処理により得られる。奥行補間部39は、全ての主オブジェクトの近傍を通る近似曲線として、例えば、全ての主オブジェクト上を通過する折れ線における凹凸をなだらかにしたような曲線を求めてもよい。
以上に説明したとおり、奥行補間部39は、全ての主オブジェクトの位置に応じて、全ての主オブジェクトの位置近傍を通る奥行線を求めて、奥行線に基づいて主オブジェクトに対応してない各カメラに対して奥行を設定する。
奥行取得部32は、複数の主オブジェクトの内、同一の視野に収まる主オブジェクトの仮想視点11までの距離の平均値を求めて、その視野に応じて設定する奥行として取得してもよい。この視野に応じて設定する奥行は、その視野の中心線に対応するカメラに設定される奥行である。視野の中心線に対応するカメラとは、視野の中心線をカメラ群3方向に延長した線に対して最も近い位置に設置されたカメラ群3内のカメラである。視野に応じて設定する奥行を取得した場合は、奥行取得部32は、視野の中心線に対応するカメラのカメラコードに取得した奥行を対応付けて出力する。
なお、視野に設定する奥行を取得する方法は、上述した同一視野内の主オブジェクトの奥行の平均値を求める方法に限定されるものではない。例えば、視野の中心線から同一視野内の各主オブジェクトまでの距離に重み係数を乗算してから加算平均して、その視野の奥行としてもよい。重み係数は、複数の主オブジェクトにおける、仮想視点11との位置関係、画面内での大きさ、ラベル及びそれらの組み合わせのいずれかに基づいて決定される。
また、奥行取得部32は、仮想視点11から各主オブジェクトまでの距離に基づいて奥行を取得したが、この限りではなく、仮想視点11から同一視野内の主オブジェクトまでの距離の平均値を奥行として取得してもよい。この場合も、仮想視点11から同一視野内の主オブジェクトまでの距離に重み係数を乗算してから加算平均して奥行を取得してもよい。重み係数は、複数の主オブジェクトにおける、仮想視点11との位置関係、画面内での大きさ、ラベル及びそれらの組み合わせのいずれかに基づいて決定される。
奥行取得部32は、予め各撮影時刻における主オブジェクトを特定しておく。具体的には、仮想全天球画像を作成するコンテンツ作成者が、各撮影時刻において視聴者が注視すると推定される領域又は視聴者が注視すると推定されるオブジェクトを特定する情報を入力部38から入力する。これにより、奥行取得部32は、入力された情報に基づいて各撮影時刻における主オブジェクトを特定する。
奥行取得部32において、主オブジェクトを特定する方法は、上述した方法に限定されるものではなく、色々な方法を用いてよい。例えば、撮影した入力画像における見る人の関心の度合いを示す顕著度を領域別に表したマップであるSaliency Map(サリエンシー マップ)を奥行取得部32に入力する。奥行取得部32では、入力されたSaliency Mapに基づいて視覚的に顕著な領域に存在するオブジェクトを主オブジェクトとして特定しても良い。また、予め被験者に入力画像である動画を視聴させ、各撮影時刻においてどの領域を見ていたかという視聴ログを奥行取得部32に入力し、入力された視聴ログに基づいて主オブジェクトを特定しても良い。
なお、Saliency Mapの求め方は公知の技術であり、例えば、以下の公知文献2に記載の技術を用いても良い。
公知文献2:Laurent Itti, Christof Koch, and Ernst Niebur,”A Model of Saliency-Based Visual Attention for Rapid Scene Analysis”,IEEE Transactions on Pattern Analysis and Machine Intelligence, 20(11):1254-1259 (1998)
合成情報テーブル304は、入力画像から仮想視点11を含む領域を切り出すための切り出し領域に関する情報である切出領域情報と、その切り出し領域に応じて切り出した画像を部分画像に変換するための情報である変換情報とを含む合成情報を格納する。部分画像は、切り出した画像を背景画像20の対応領域に違和感なく貼り付けるために、切り出した画像に対して上記変換情報に応じて拡大、縮小、回転等の変形処理を行って生成される。この変形処理は、例えば、画像に対してアフィン変換を施すことによって行う。画像に対してアフィン変換を施す場合の変換情報は、例えばアフィン変換行列である。以下、部分領域画像に対して行う変形処理としてアフィン変換を用いる例を示すが、変形処理はアフィン変換に限定される必要はなく、変換情報に応じて拡大、縮小、回転等による画像の変換を行う処理であればどのような処理であってもよい。合成情報テーブル304は、カメラ群3において処理対象となる入力画像を撮影したカメラを特定するカメラコードと、仮想視点11からの奥行と、その奥行に応じたアフィン変換行列である変換情報と、その奥行に応じた切出領域情報とを対応づけて格納するテーブルである。
アフィン変換行列は、以下に示す方法により予め取得して合成情報テーブル304に記憶しておく。例えば、仮想視点11から複数種類の距離(奥行)の位置に格子模様のチェスボードを設置して、仮想視点11に設置した全天球カメラ2で撮影したチェスボードを含む画像と、カメラ群3で撮影したチェスボードを含む画像とを比較する。そして両画像において、撮影したチェスボードの各格子が対応するように画像を変換するアフィン変換行列を求める。このようにして、チェスボードを設置した奥行に対応したアフィン変換行列を求める。
切出領域情報は、以下に示す方法により予め取得して合成情報テーブル304に記憶しておく。例えば、カメラ群3の内の隣接する2つのカメラで撮影された入力画像に同一の被写体(チェスボード)が存在する重複している領域がある場合は、一方の領域のみ残るように双方のカメラの画像に対する切り出し領域を設定する。切り出し領域は、仮想視点11から被写体(チェスボード)まで複数種類の距離について、カメラ群3に含まれるカメラ毎に求める。なお、双方のカメラの画像において、数画素〜数十画素の幅の重複領域を残すように切り出し領域を設定してもよい。
合成情報取得部33は、奥行取得部32又は奥行補間部39がカメラ群3の各カメラに設定した奥行を入力とし、入力された奥行に基づいて、合成情報テーブル304から、カメラ群3の各カメラで撮影された入力画像に対応する切り出し領域及びアフィン変換行列を含む合成情報を取得する。なお、合成情報テーブル304に格納されている奥行は数種類〜数十種類なので、奥行取得部32又は奥行補間部39が設定した奥行と同じ値の奥行のテーブルが無い場合が想定される。このような場合は、合成情報取得部33は、奥行取得部32又は奥行補間部39が設定した奥行の前後の値となる合成情報テーブル304に記録済の2つの奥行の値に対応する合成情報(切出領域情報及び変換情報)を用いて、奥行取得部32が取得した奥行に対応する合成情報を算出する。具体的には、上記記録済の2つの奥行の値に対応する切出領域情報の切り出し領域の座標値を線形補間することにより、その中間に位置する切り出し領域を特定する。上記記録済の2つの奥行の値に対応するアフィン変換行列の各係数を線形補間することにより、その中間値となるアフィン変換行列を算出する。
入力画像格納部301は、カメラ群3内の各カメラを特定するカメラコードに関連付けてカメラ群3の各カメラで撮影した入力画像を格納する。入力画像は、撮影時刻及び動画の画像データを含む。入力画像格納部301は、例えば、図16(B)に示す入力画像21を、カメラ3−1を特定するカメラコードに関連付けて格納し、入力画像22を、カメラ3−3を特定するカメラコードに関連付けて格納し、入力画像23を、カメラ3−3を特定するカメラコードに関連付けて格納する。
背景画像格納部302は、全天球カメラ2で撮影した全天球画像である背景画像20を格納する。背景画像格納部302は、例えば、コート10内の仮想視点11に設置した全天球カメラ2で撮影した図16(A)に示す背景画像20を格納する。格納する背景画像20は、1フレーム分の画像データでも所定時間分の動画の画像データでもよい。所定時間分の画像データを格納する場合は、背景画像20において周期的に変化する部分(例えば電光掲示板が映っている部分があり、かつ、電光掲示板の表示内容が周期的に変化している部分。)があれば、その周期に応じた時間分の画像データを背景画像20として格納すればよい。
画像処理装置30が全天球カメラ2から背景画像20を取得する構成はどのような構成であってもよい。例えば、画像処理装置30が全天球カメラ2と有線又は無線で通信可能な通信部を備えて、その通信部を介して背景画像20を取得する構成であってもよい。また、全天球カメラ2に着脱可能な記録媒体を用いて当該記録媒体に背景画像20を記録して、記録後の記録媒体を画像処理装置30に接続して、画像処理装置30が記録媒体から背景画像20を読み出す構成により、背景画像20を取得する構成であってもよい。また、画像処理装置30が、カメラ群3から入力画像を取得する構成も全天球カメラ2の場合と同様にどのような構成であってもよい。
画像入力部34は、入力画像格納部301に格納された入力画像と、背景画像格納部302に格納された背景画像20とを入力とする。画像入力部34は、入力画像格納部301から入力画像を取得し、背景画像格納部302から背景画像20を取得して、入力画像を画像切り出し部35へ出力し、背景画像20を画像合成部36へ出力する。画像切り出し部35は、画像入力部34が出力する入力画像と、合成情報取得部33が出力する合成情報とを入力とする。画像切り出し部35は、合成情報取得部33から入力された合成情報に含まれる切出領域情報に基づいて、カメラ群3の各カメラからの入力画像に対応する切り出し領域を特定し、入力画像から特定した切り出し領域を切り出して、切り出した画像を画像合成部36へ出力する。画像切り出し部35は、例えば、図16(B)に示す入力画像21〜23のそれぞれから切り出し領域211、221、231を切り出す処理を行う。
画像合成部36は、画像入力部34が出力する背景画像20と、画像切り出し部35が切り出した画像と、合成情報取得部33が取得した合成情報とを入力とし、画像切り出し部35が切り出した画像に対して、合成情報取得部33が取得した合成情報に含まれる変換情報のアフィン変換行列に基づいて変形処理を行い、部分画像を生成する。画像合成部36は、生成した部分画像をアフィン変換行列に基づいて背景画像20に貼り付けて合成することで仮想全天球画像を生成し、出力する。なお、アフィン変換行列は、背景画像20において部分画像を貼り付ける領域を示す情報を含む。画像合成部36は、生成した仮想全天球画像を画像サーバ6へ送信する機能を有する。
画像合成部36は、例えば、図16(B)に示す入力画像21〜23のそれぞれから切り出し領域211、221、231を切り出した画像に対して、アフィン変換行列に基づいた変形処理を行うことで、部分画像211a、221a、231aを生成する。画像合成部36は、例えば、背景画像20に対して、部分画像211a、221a、231aを所定の領域に貼り付けて合成することで図16(C)に示す仮想全天球画像24を生成する。
部分画像を背景画像20に貼り付けて仮想全天球画像24を生成した際に、隣り合う部分画像間の境界領域において重複が発生する場合がある。図5は、隣り合う部分画像間の境界領域において重複が発生する場合の具体例を示す図である。図5に示すように、仮想全天球画像24に貼り付けた部分画像211bと部分画像221bとが境界領域25において重複している。なお、図5に示す部分画像211bと部分画像221bが、図16(C)に示した部分画像211a及び部分画像221aと比較して異なる点は、両画像に重複する領域がある点である。
図5に示すように、部分画像211bと部分画像221bとが境界領域25において重複している場合には、画像合成部36は、重複している境界領域25に対して以下に示すブレンディング(Blending)処理を行う。画像合成部36は、Blendingパラメータαを定め、(式1)に基づいて重複している境界領域25の各ピクセルの値を算出する。
g(x、y)=αIi(x、y)+(1−α)Ii+1(x、y) … (式1)
(式1)において、x、yは、仮想全天球画像24上における水平方向、垂直方向の座標である。g(x、y)は、重複している境界領域25内の座標(x、y)の画素値の値である。Ii(x、y)とIi+1(x、y)は、カメラ群3内のカメラ3−iおよびカメラ3−(i+1)(iは1≦i≦N−1となる整数。)によって撮影された入力画像に基づいて生成された部分画像の座標(x、y)の画素値の値を表す。また、このαの値は重複している境界領域25で一定であるが、以下の(式2)に示すように変化させてもよい。
α(x)=(x−xs)/(xe−xs) … (式2)
(式2)において、xsおよびxeは、図5に示すように重複している境界領域25の両端のx座標であり、xs<xeである。
表示処理部37は、画像合成部36が出力する仮想全天球画像を入力とし、入力された仮想全天球画像を表示装置5において表示可能な映像信号に変換して出力する。仮想全天球画像24は、図16(C)に示す通り、歪みを含む画像であり、かつ、仮想視点11を中心とする360度の景色を含む画像であるので、表示処理部37は、仮想全天球画像から表示装置5に表示させる範囲の画像を切り出して、切り出した画像の歪みを補正する機能を有する。
画像処理装置30は、入力画像格納部301及び背景画像格納部302を備える構成としたが、これに限定されるものではない。例えば、入力画像格納部301及び背景画像格納部302を備える画像格納装置を別に設け、画像処理装置30は、画像格納装置から入力画像格納部301及び背景画像格納部302を取得する構成であってもよい。また、画像処理装置30は、背景画像格納部302を備え、入力画像格納部301を備えずに、カメラ群3から入力される入力画像をリアルタイムで取得して、取得した入力画像を順次処理する構成としてもよい。
上述した第1の実施形態においては、奥行取得部32及び奥行補間部39は、カメラに対して奥行を設定していたが、この構成に限られるものではない。奥行取得部32及び奥行補間部39は、カメラから出力される入力画像に対して奥行を設定してもよい。この場合には、奥行取得部32及び奥行補間部39は、入力画像を特定する情報である入力画像情報に関連付けて設定した奥行を出力する。入力画像情報には、少なくとも、入力画像を出力したカメラのカメラコード及び入力画像の撮影時刻に関する情報が含まれている。合成情報取得部33は、奥行取得部32又は奥行補間部39からの奥行と、入力画像情報に含まれているカメラコードとに基づいて、構成情報テーブル304から合成情報を取得する。
上述した第1の実施形態においては、奥行取得部32は、主オブジェクトに対応するカメラに対して奥行を設定し、奥行補間部39は、主オブジェクトに対応していないカメラに対して奥行を設定していたが、この構成に限られるものではない。奥行補間部39は、補間により求めた奥行線に基づいて、主オブジェクトに対応するカメラに対して奥行を設定してもよい。また、上述したように入力画像に対して奥行を設定する場合には、奥行補間部39は、補間により求めた奥行線に基づいて、主オブジェクトに対応する入力画像及び主オブジェクトに対応していない入力画像に対して奥行を設定してもよい。
次に、画像処理システム1Aにおいて1フレームの仮想全天球画像を作成する動作について説明する。図6は、第1の実施形態における画像処理装置30が1フレームの仮想全天球画像を作成する動作を示すフロー図である。図6に示す動作は、各撮影時刻における仮想全天球画像を生成する処理の前に、予めオブジェクト情報、合成情報、背景画像20及び入力画像を取得する処理も含まれる。
仮想視点11に全天球カメラ2を設置し、仮想視点11から所定の距離(奥行)にチェスボードを設置した後に、全天球カメラ2は、チェスボードを含む全天球画像を撮影する(ステップS101)。全天球カメラ2を仮想視点11から取り去って、カメラ群3の各カメラで、仮想視点11及びチェスボードを含む撮影範囲を撮影し、全天球カメラ2で撮影された全天球画像に含まれるチェスボードと、カメラ群3内の一つのカメラで撮影された画像に含まれるチェスボードとを対応させるための合成情報を求める(ステップS102)。なお、ステップS101、102におけるチェスボードの撮影は、仮想視点11から複数種類の距離にチェスボードを設置して行われる。
仮想視点11に全天球カメラ2を設置した後に、全天球カメラ2は、背景画像20を撮影する(ステップS103)。撮影された背景画像20は、背景画像格納部302に格納される。全天球カメラ2を仮想視点11から取り去った後であって、例えば競技開始と共に、カメラ群3は撮影を開始する。これにより、画像処理装置30は、カメラ群3が撮影した入力画像を入力画像格納部301に格納する。オブジェクト解析部31は、入力画像格納部301から入力画像を読み出して解析処理し、解析結果をオブジェクト情報格納部303に格納する。奥行取得部32は、オブジェクト情報格納部303に格納されているオブジェクトの中から、入力部38から入力された情報に基づいて主オブジェクトを特定する。奥行取得部32は、特定した主オブジェクトに対応するカメラに対して仮想視点11からの奥行を設定する。奥行補間部39は、奥行取得部32が特定した主オブジェクトの位置等に基づいて、主オブジェクトに対応していないカメラに対して奥行を設定する(ステップS104)。
合成情報取得部33は、奥行取得部32又は奥行補間部39がカメラ群3の各カメラに設定した奥行に基づいて、合成情報テーブル304から、各入力画像に対応する切り出し領域及びアフィン変換行列を含む合成情報を取得する(ステップS105)。ステップS105において、合成情報取得部33は、奥行取得部32又は奥行補間部39がカメラ群3の各カメラに設定した奥行と同じ値の奥行のテーブルが無い場合は、奥行取得部32又は奥行補間部39がカメラ群3の各カメラに設定した奥行の前後の値となる奥行に対応する合成情報に基づいて、奥行取得部32又は奥行補間部39がカメラ群3の各カメラに設定した奥行に対応する合成情報を求める。
画像切り出し部35は、合成情報取得部33が取得した合成情報に含まれる切出領域情報に基づいて、カメラ群3の各カメラからの入力画像に対応する切り出し領域を特定し、入力画像から特定した切り出し領域を切り出して、切り出した画像を画像合成部36へ出力する。画像合成部36は、画像切り出し部35が切り出した画像に対して、合成情報に含まれる変換情報のアフィン変換行列に基づいて変形処理を行い、部分画像を生成する。画像合成部36は、生成した部分画像をアフィン変換行列に基づいて背景画像20に貼り付けて合成することで仮想全天球画像を生成する(ステップS106)。
画像合成部36は、背景画像20に貼り付ける2つの部分画像間の境界領域において重複している場合には、重複している境界領域に対してブレンディング処理を行う(ステップS107)。画像合成部36が生成した仮想全天球画像は、例えば、画像サーバ6に蓄積される。画像サーバ6は、視聴装置8からの視聴要求に応じて蓄積した仮想全天球画像をネットワーク7経由で配信する。
上述した画像処理システム1Aの動作の変形例として、カメラ群3で撮影した入力画像をリアルタイムで背景画像20に合成して仮想全天球画像を生成する動作について説明する。リアルタイムで仮想全天球画像を生成する場合、画像処理システム1Aは、図6の処理において、ステップS101〜S103までの処理を事前に行い、ステップS104以降の処理をリアルタイムで行う。リアルタイムで仮想全天球画像を生成するとは、例えば、入力画像が1秒間に60フレームを有する動画像であれば、画像処理システム1Aが、その動画像の入力画像を処理して、1秒間に60フレームを有する仮想全天球画像を生成することである。
次に、第1の実施形態における画像処理装置30が動画の仮想全天球画像を作成する動作について説明する。図7は、第1の実施形態における画像処理装置30が動画の仮想全天球画像を作成する動作について説明するフロー図である。図7の動作においては、図6に示したステップS101〜ステップS104における入力画像の撮影までの処理は既に終えているものとする。図7に示すように、画像処理装置30は、最初の撮影時刻のフレームに対する処理を開始する(ステップS201)。
画像入力部34は、入力画像格納部301から入力画像を取得し、背景画像格納部302から背景画像20を取得して、入力画像を画像切り出し部35へ出力し、背景画像20を画像合成部36へ出力する(ステップS202)。奥行取得部32は、オブジェクト情報格納部303に格納されているオブジェクトの中から、入力部38から入力された情報に基づいて主オブジェクトを特定して、特定した主オブジェクトに対応するカメラに対して奥行を設定する。奥行補間部39は、奥行取得部32が特定した主オブジェクトの位置等に基づいて、主オブジェクトに対応していないカメラに対して奥行を設定する(ステップS203)。
合成情報取得部33は、奥行取得部32又は奥行補間部39がカメラ群3の各カメラに設定した奥行に基づいて、合成情報テーブル304から、各入力画像に対応する合成情報を取得する(ステップS204)。画像切り出し部35は、合成情報取得部33が取得した合成情報に基づいて、入力画像から切り出し領域を切り出して、切り出した画像を画像合成部36へ出力する。画像合成部36は、画像切り出し部35が切り出した画像に対して、合成情報に含まれるアフィン変換行列に基づいて変形処理を行い、部分画像を生成する。画像合成部36は、生成した部分画像をアフィン変換行列に基づいて背景画像20に貼り付けて合成して、仮想全天球画像を生成する(ステップS205)。画像処理装置30は、次の撮影時刻の入力画像があればステップS201に戻りループを継続し、次の撮影時刻の入力画像がなければ、ループを終了する(ステップS206)。
以上に説明したように、第1の実施形態における画像処理装置30は、視聴者が注目する主オブジェクトに対応したカメラに設定する奥行を求めて、求めた奥行に対応した部分画像を生成し、生成した部分画像を背景画像20に貼り付けることで仮想全天球画像を生成することができる。これにより、第1の実施形態における画像処理装置30は、仮想全天球画像に含まれる主オブジェクトである被写体において分身が起こったり、消失が起こったりすることを抑制することができる。第1の実施形態における画像処理装置30は、視聴品質の低下を抑制した仮想全天球画像を視聴者に提供することができる。
第1の実施形態における画像処理装置30は、仮想全天球画像を生成する場合以外にも、例えば、図4に示すカメラ3−a及びカメラ3−dからの2つの入力画像を合成して、仮想視点11から撮影したかのような仮想視点画像を生成する場合にも対応できる構成としてもよい。要は、画像合成部36は、部分画像を背景画像20への貼り付ける処理を必ずしも行う必要はない。この場合、第1の実施形態における画像処理装置30と同様に、2つの入力画像に含まれる各オブジェクト53、54に基づいた奥行D1、D2を取得し、この取得した奥行D1、D2に基づいて合成情報取得部33が合成情報を取得する。カメラ3−a及びカメラ3−dからの2つの入力画像は、奥行が異なるので、2つの入力画像の境界部分に対して、上述したブレンディング処理等を施してもよい。
ここで、複数の主オブジェクトに対応する複数のカメラに異なる奥行を設定して仮想全天球画像を合成する場合に、奥行補間部39による補間処理を行わなかったときの問題点について説明する。図8は、複数の主オブジェクトに対応する複数のカメラに異なる奥行を設定して仮想全天球画像を合成する場合に、奥行補間部39による補間処理を行わなかったときの問題点を説明する図である。なお、図8において、図4と同じ構成がある場合は、図4と同じ符号を付与している。
図8に示すように、主オブジェクトであるオブジェクト53を含む領域を撮影するカメラ3−a1、3−a、3−a2に対して、奥行56を設定して、設定した奥行56に応じた撮影範囲58−1〜58−3(=入力画像からの切り出し範囲)が設定されている。また、主オブジェクトであるオブジェクト54を含む領域を撮影するカメラ3−d1、3−d、3−d2に対して、奥行57を設定して、設定した奥行57に応じた撮影範囲58−4〜58−6が設定されている。
視聴者が、図8に示すような奥行を設定して生成した仮想全天球画像をHMDで視聴した場合について考える。視聴者が、頭の方向を動かすことによりオブジェクト53を含む領域を視聴していた状態から、オブジェクト54を含む領域を視聴する状態に視野を移行したとする。そうすると、視聴者は、視野の移行の途中において、奥行56に設定して生成した映像から、奥行56と異なる奥行57に設定して生成した映像に切り換わる境界線59を含む映像を視聴することとなる。この境界線59を含む映像は、奥行が急激に変わるため視聴者が違和感を覚えたり、不自然さを感じたりする可能性が高いという問題がある。
そこで、第1の実施形態の画像処理システム1Aにおいては、奥行補間部39を設けることにより、図4に示したとおり図8の場合と比べて各カメラに設定される奥行が急激に変化することを抑制している。これにより、複数の主オブジェクトに対応する複数のカメラに異なる奥行を設定して生成された仮想全天球画像を視聴する場合に、視聴者が、ある奥行の主オブジェクトを含む領域から異なる奥行の主オブジェクトを含む領域へ視野を移す途中で画像の不自然さを感じることを防ぐことができる。
(第1の実施形態の変形例)
上述した第1の実施形態では、1台のカメラが出力する1つの入力画像から1つの切り出し画像を切り出す場合を説明したが、これに限定されるものではない。1台のカメラが出力する1つの入力画像から複数の切り出し画像を切り出すように構成してもよい。この場合は、合成情報テーブル304は、カメラコードと、仮想視点11からの奥行と、その奥行に応じたアフィン変換行列である変換情報と、その奥行に応じた切出領域情報とを対応づけて格納する際に、奥行に応じた切出領域情報として、所定の数の切出領域情報を含むこととなる。合成情報テーブル304は、切り出し領域毎に、変換情報と、切出領域情報とを格納する。なお、変換情報および切出領域情報の求め方は、上述した方法と同様の方法により予め取得する。また、同一カメラ内における複数の切出領域情報は、上述した方法で求めた変換情報を用いて、以下の方法によって求めてもよい。
同一カメラ内における複数の切出領域情報は、仮想全天球画像を合成する上でカメラが取得した入力画像において、利用する領域を複数の部分領域に分割して、その部分領域に対して変換情報に含まれるアフィン変換行列の逆行列を用いて変換することで求めることができる。画像切り出し部35は、所定の数の切出領域情報に基づいて、入力画像から特定した複数の切り出し領域を切り出して、複数の切り出し画像を画像合成部36へ出力する。
1つの入力画像に対して複数の切り出し領域を設定して複数の切り出し画像を出力する場合は、奥行取得部32は、例えば、仮想視点11から特定した複数の主オブジェクトまでの距離を、各主オブジェクトに対応する切り出し領域(第1の領域)に対して設定する奥行とする。ここで、主オブジェクトに対応する切り出し領域とは、主オブジェクトから仮想視点11を通過する直線を引いた場合に、その直線に最も近い位置に設置されているカメラ群3内のカメラの撮像面の一部の領域である。奥行取得部32は、主オブジェクトに対応する切り出し領域を特定する切出領域情報及びカメラを特定するカメラコードに関連づけて、主オブジェクトに対応する切り出し領域に設定する奥行を出力する。奥行補間部39は、主オブジェクトに対応していない切り出し領域(第2の領域)に対して、各切り出し領域の中心から仮想視点11を通る直線と、その奥行線との交点を求める。奥行補間部39は、主オブジェクトに対応していない切り出し領域に対して、求めた交点から仮想視点11までの距離に基づき、奥行を設定する。
合成情報取得部33は、奥行取得部32又は奥行補間部39が各切り出し領域に設定した奥行を入力とし、入力された奥行に基づいて、合成情報テーブル304から、奥行に対応する切り出し領域及びアフィン変換行列を含む合成情報を取得する。画像合成部36は、画像入力部34が出力する背景画像20と、画像切り出し部35が切り出した複数の切り出し画像と、合成情報取得部33が取得した合成情報とを入力とする。画像合成部36は、画像切り出し部35が切り出した複数の切り出し画像に対して、合成情報取得部33が取得した合成情報に含まれる変換情報のアフィン変換行列に基づいて変形処理を行い、部分画像を生成する。画像合成部36は、生成した部分画像をアフィン変換行列に基づいて背景画像20に貼り付けて合成することで仮想全天球画像を生成し、出力する。
画像切り出し部35において、1台のカメラが出力する1つの入力画像から複数の切り出し画像を切り出す手法として、例えば、主オブジェクトの数によって切り出す領域の数を増減させる構成としてもよい。カメラが出力する入力画像から切り出す領域の数NiにおいてNi=1(初期値)として以下の方法により決定する。なお、合成先の背景画像20上において、カメラで撮影した入力画像を貼り付ける領域は既知であるとする。入力画像における主オブジェクトの位置情報は既知であるとする。画像切り出し部35は、オブジェクト情報格納部303に格納されているオブジェクト情報を参照可能であるとする。画像切り出し部35は、入力画像の各主オブジェクトを含む領域に対して設定された奥行を奥行取得部32又は奥行補間部39より取得する。
画像切り出し部35は、Ni=1の場合におけるスライスの領域内に含まれる主オブジェクトの数を、入力画像から切り出す領域の数Niとする。画像切り出し部35は、入力画像を、切り出す領域の数Ni個の部分領域に分割する。この時、各部分領域にはそれぞれ1つの主オブジェクトが含まれる。画像切り出し部35は、例えば、入力画像上における主オブジェクトの重心を結んだ直線に対して直交するような直線を引いて、その直線を境界線として分割する方法や、主オブジェクトを含むように矩形の領域を切り出す方法を用いる。
合成情報取得部33は、各部分領域に含まれる主オブジェクトの奥行に基づいて、各部分領域に対する変換情報を取得する。画像合成部36は、各部分領域に対して、合成情報取得部33が取得した変換情報を適用して変形処理を行って部分画像を生成し、生成した部分画像を背景画像20に合成する。なお、変形処理後の部分画像は、背景画像20上において貼り付け処理対象とする領域と一致しない場合がある。貼り付け処理対象とする領域をカバーするためには、少し大きめのサイズとなる部分領域を設定して切り出し処理を行う方法や、切り出した部分領域の画像を拡大処理する方法を用いる。
(第2の実施形態)
第2の実施形態における画像処理システムの構成例について説明する。
図9は、第2の実施形態における画像処理システムの構成例を示す図である。図9に示すとおり、第2の実施形態における画像処理システム1Bは、図1に示した第1の実施形態における画像処理システム1Aとほぼ同じ構成であり、図1と機能等が異なる構成要素には図1と異なる符号を付与している。
HMD82Aは、図1に示したHMD82が有する機能に加えて、画面に表示中の被写体の範囲を示す仮想視点11からの視野を検出する機能と、検出した視野に関する情報である視野情報をユーザ端末81Aに送信する機能とをさらに備える。ユーザ端末81Aは、図1に示したユーザ端末81が有する機能に加えて、HMD82Aから受信した視野情報をネットワーク7経由で画像サーバ6Aに送信する機能をさらに備える。画像サーバ6Aは、図1に示した画像サーバ6が有する機能に加えて、ユーザ端末81Aから受信した視野情報を画像処理システム1Bに送信する機能をさらに備える。
第2の実施形態における画像処理システム1Bは、ユーザ端末81A、ネットワーク7及び画像サーバ6Aを経由してHMD82Aから受信した視野情報に基づいて主オブジェクトを特定する点が第1の実施形態における画像処理システム1Aとは異なる。第2の実施形態における画像処理システム1Bは、受信した視野情報を用いることで、第1の実施形態の画像処理システム1Aと比べて、視聴者が注目する領域又は主オブジェクトを精度良く特定することを目的としている。
次に、第2の実施形態における画像処理システム1Bが備える画像処理装置30Aの構成例について説明する。
図10は、第2の実施形態における画像処理装置30Aの構成例を示す図である。図10に示す画像処理装置30Aは、図2に示した第1の実施形態における画像処理装置30と比較すると、オブジェクト解析部31Aと、奥行取得部32Aと、オブジェクト情報格納部303Aとを備え、奥行に関する情報を入力する入力部38を備えていない点で異なる。画像処理装置30Aにおいて、図2に示した画像処理装置30と同じ構成部分には、同じ符号を付与して、それらの説明は簡略化又は省略する。画像処理装置30Aは、HMD82Aを含む視聴装置8Aからネットワーク7及び画像サーバ6Aを介して視聴者の視野情報を受信する機能を有する。
図10に示すように、画像処理装置30Aは、オブジェクト解析部31Aと、奥行取得部32Aと、合成情報取得部33と、画像入力部34と、画像切り出し部35と、画像合成部36と、表示処理部37と、奥行補間部39と、カメラ群3の各カメラが撮影した入力画像を格納する入力画像格納部301と、背景画像20を格納する背景画像格納部302と、オブジェクト情報格納部303Aと、合成情報テーブル304とを備える。
オブジェクト解析部31Aは、画像サーバ6A等を経由したHMD82Aからの視野情報と、入力画像格納部301に格納されている入力画像とを入力とし、オブジェクト情報を出力する。オブジェクト解析部31Aは、図2に示したオブジェクト解析部31の機能に加えて、HMD82Aから受信した視野情報に基づいて、オブジェクトを解析する機能をさらに備える。オブジェクト情報格納部303Aは、図2に示したオブジェクト情報格納部303が格納する情報に加えて、視野情報に基づいた解析結果に関する情報をさらに格納する。奥行取得部32Aは、図2に示した奥行取得部32の機能に加えて、HMD82Aから受信した視野情報に基づいて、主オブジェクトを特定する機能をさらに備える。
奥行取得部32Aは、オブジェクト情報格納部303Aに格納されているオブジェクト情報と、画像サーバ6Aから入力される視野情報とを入力とする。奥行取得部32Aは、オブジェクト情報格納部303Aよりオブジェクト情報を読み出して、各撮影時刻において、視野に含まれる複数のオブジェクトの中から重要なオブジェクトである主オブジェクトを特定する。奥行取得部32Aは、仮想視点11から特定した主オブジェクトまでの距離を取得し、主オブジェクトに対応するカメラに対して取得した距離を奥行として設定し、出力する。重要なオブジェクトとは、例えば、仮想全天球画像の中で視聴者が注視する領域に存在するオブジェクトである。
奥行取得部32Aは、入力された視野情報と、オブジェクト情報格納部303Aから参照するオブジェクト情報との少なくとも一つに基づいて主オブジェクトを特定する。以下の説明において、視野情報に基づいて主オブジェクトを特定する方法として、「第1の方法」〜「第4の方法」の4種類の方法について説明する。なお、主オブジェクトとして特定するオブジェクトは1つに限るものではなく、主オブジェクトとして複数のオブジェクトを特定してもよい。
複数の主オブジェクトを特定する場合は、奥行取得部32Aは、例えば、仮想視点11から特定した複数の主オブジェクトまでの距離に基づいて、各主オブジェクトに対応するカメラに奥行を設定する。ここで、主オブジェクトに対応するカメラとは、主オブジェクトから仮想視点11を通過する直線を引いた場合に、その直線に最も近い位置に設置されているカメラ群3内のカメラである。奥行取得部32Aは、主オブジェクトに対応するカメラを特定するカメラコードに関連づけて、主オブジェクトに対応するカメラに設定する奥行を出力する。
例えば、特定された主オブジェクトの数が4〜6個である場合、主オブジェクトに対応するカメラも同数程度であり、主オブジェクトに対応するカメラは、カメラ群3の一部である。カメラ群3には、主オブジェクトに対応するカメラ以外の他のカメラ(以下、主オブジェクトに対応していないカメラという。)が含まれる。奥行補間部39は、主オブジェクトに対応していないカメラに設定する奥行を、主オブジェクトに対応するカメラに設定された奥行を用いて補間して出力する。
奥行補間部39は、奥行取得部32Aが取得した全ての主オブジェクト上を通る高次曲線である奥行線を求める。奥行補間部39は、主オブジェクトに対応していないカメラに対して、各カメラから仮想視点11を通る直線と、その奥行線との交点を求める。奥行補間部39は、主オブジェクトに対応していないカメラに対して、求めた交点から仮想視点11までの距離に基づき、奥行を設定する。
なお、奥行補間部39において、全ての主オブジェクト上を通過する高次曲線を奥行線としたが、これに限定されるものではない。例えば、奥行補間部39は、全ての主オブジェクト上を通過する折れ線を求めて、この折れ線を奥行線としてもよい。また、奥行補間部39は、全ての主オブジェクトの近傍を通過して、かつ、仮想視点11を中心とする円を近似する円近似曲線又は円近似折れ線を求めて、その円近似曲線又は円近似折れ線を奥行線としてもよい。
奥行取得部32Aは、複数の主オブジェクトの内、同一の視野に収まる主オブジェクトの仮想視点11までの距離の平均値を求めて、その視野に応じて設定する奥行として取得してもよい。この視野に応じて設定する奥行は、その視野の中心線に対応するカメラに設定される奥行である。視野の中心線に対応するカメラとは、視野の中心線をカメラ群3方向に延長した線に対して最も近い位置に設置されたカメラ群3内のカメラである。視野に応じて設定する奥行を取得した場合は、奥行取得部32Aは、視野の中心線に対応するカメラのカメラコードに取得した奥行を対応付けて出力する。
なお、主オブジェクトを特定する方法は、「第1の方法」〜「第4の方法」の4種類の方法に限定されるものではなく、視聴者の注視する領域又はオブジェクトを推定(又は特定)して、その推定(又は特定)した領域にあるオブジェクト又は推定(又は特定)したオブジェクトを主オブジェクトとする構成であればよい。例えば、ボールを用いた競技の映像であれば、「ボール」のラベルを有するオブジェクトが存在する領域を視聴者が注視する領域として推定し、推定した領域に含まれるオブジェクトであって「人」のラベルを有するオブジェクトを主オブジェクトとする構成でもよい。
合成情報取得部33は、奥行取得部32A又は奥行補間部39がカメラ群3の各カメラに設定した奥行に基づいて、合成情報テーブル304から、カメラ群3の各カメラで撮影された入力画像に対応する切り出し領域及びアフィン変換行列を含む合成情報を取得する。なお、合成情報取得部33は、合成情報テーブル304に格納されている奥行は数種類〜数十種類なので、奥行取得部32A又は奥行補間部39がカメラ群3の各カメラに設定した奥行と同じ値のテーブルが無い場合が想定される。このような場合は、合成情報取得部33は、奥行取得部32A又は奥行補間部39がカメラ群3の各カメラに設定した奥行の前後の値となる合成情報テーブル304に記録済の2つの奥行の値を用いて、奥行取得部32Aが取得した奥行に対応する合成情報を算出する(例えば線形補間等により算出する)。
(第1の方法)
第2の実施形態における視野情報に基づいて主オブジェクトを特定する「第1の方法」について説明する。
図11は、第2の実施形態における視野情報に基づいて主オブジェクトを特定する第1の方法を示す図である。図11に示すように、コート10内の仮想視点11の周りに、4つのオブジェクトOB−1〜OB−4が存在する。このオブジェクトOB−1〜OB−4は、例えば競技を行っている選手であり、「人」のラベルを有してオブジェクト情報格納部303Aに格納されている。
破線60で挟まれている領域が、HMD82Aで利用者が視聴している視野の範囲を示している。「第1の方法」では、奥行取得部32Aは、オブジェクト情報と、視野情報とを入力として、以下の処理によって奥行を取得する。オブジェクト情報は、仮想全天球画像24として撮影される撮影空間内に存在する全てのオブジェクトに関する三次元位置の情報を含む。視野情報は、仮想視点11の位置に関する情報と、視聴者の視線に関する情報とを含む。
まず、奥行取得部32Aは、視野情報に基づいて視野の中心となる中心線61を求める。次に、奥行取得部32Aは、オブジェクト情報に基づいて、中心線61に最も近い位置に存在するオブジェクトOB−4を主オブジェクトとして特定する。次に、奥行取得部32Aは、仮想視点11から主オブジェクトであるオブジェクトOB−4までの距離を奥行として取得する。点線62は、奥行取得部32Aが取得した奥行を示す。このようにして、奥行取得部32Aは、視野情報及びオブジェクト情報に基づいて主オブジェクトを特定して、主オブジェクトまでの奥行を取得する。
図12は、図11に示すオブジェクトにおいて奥行取得部32Aが中心線61(仮想視点11に視聴者がいると仮定した場合の、視聴者の視線に相当)に最も近い位置に存在するオブジェクトを特定する方法の具体例を示す図である。図12に示すように、奥行取得部32Aは、各オブジェクトOB−1〜OB−4から中心線61に対して垂線63−1〜63−4を引き、その垂線の長さが最短のオブジェクトを主オブジェクトとして特定する。図12の例では、奥行取得部32Aは、垂線63−4が最も短いので、オブジェクトOB−4を主オブジェクトとして特定する。
また、奥行取得部32Aは、中心線61に1番目に近い位置にあるオブジェクトOB−4と、2番目に近い位置にあるオブジェクトOB−1との2つのオブジェクトを主オブジェクトとして特定してもよい。この場合は、奥行取得部32Aは、仮想視点11からオブジェクトOB−1までの距離と、仮想視点11からオブジェクトOB−4までの距離との平均を奥行として取得する。また、奥行取得部32Aは、仮想視点11からオブジェクトOB−1までの距離と、仮想視点11からオブジェクトOB−4までの距離とに重み係数を乗算してから加算平均して奥行としてもよい。重み係数は、中心線61からオブジェクトOB−1、オブジェクトOB−4までの距離に応じて設定される値である。具体的には、中心線61から各オブジェクトまでの距離が短い程大きな値となるような重み係数を設定する。
「第1の方法」を用いることで、視聴者が注視している可能性の高い視野の中心線付近に位置するオブジェクトの奥行に応じて、画像切り出し部35及び画像合成部36の処理を行うことができる。第2の実施形態における画像処理装置30Aは、視聴者の注目する被写体(オブジェクト)の奥行に応じた合成処理を行うことで、仮想全天球画像に含まれる視聴者の注目する被写体における分身の発生を抑制することができ、視聴品質の低下を抑制した仮想全天球画像を視聴者に提供することができる。なお、「第1の方法」を行う場合は、オブジェクト解析部31A及びオブジェクト情報格納部303Aは、視野情報に応じたオブジェクトの解析等を行う必要がないので、図2に示したオブジェクト解析部31及びオブジェクト情報格納部303と同じ構成であってもよい。
(第2の方法)
第2の実施形態における視野情報に基づいて主オブジェクトを特定する「第2の方法」について説明する。「第2の方法」では、奥行取得部32Aは、オブジェクト情報と、視野情報とを入力として、以下の処理によって奥行を取得する。オブジェクト情報は、仮想全天球画像24内に存在する全てのオブジェクトの内、視野情報で特定される視聴者の視野の範囲に含まれるオブジェクトに関する三次元位置の情報と、視野内のオブジェクトの顕著度とを含む。視野情報は、仮想視点11の位置に関する情報と、視聴者の視野に関する情報とを含む。
図11と同じ配置でオブジェクトOB−1〜OB−4が存在し、視野も破線60で示す範囲である場合に、オブジェクト解析部31Aは、視野内に存在する入力画像に対してSaliency Map(サリエンシー マップ)を作成して、入力画像に含まれる各オブジェクトに顕著度(重要度)を付与する。具体的には、オブジェクト解析部31Aは、視野に含まれる入力画像における人の関心の度合いである顕著度を各画素で表したマップ、あるいは、画素毎の顕著度に基づいてクラスタリングした領域別の顕著度を表したマップであるSaliency Mapを作成する。入力画像における人の関心の度合いとは、人が入力画像を見た場合に関心を持つ度合いのことであり、例えば、入力画像に人の顔の画像の領域があれば、その領域は人が関心をもつ領域であり顕著度が高くなる。
オブジェクト解析部31Aは、作成したSaliency Mapに基づいて、各オブジェクトに対応する顕著度を付与し、オブジェクト情報として出力する。ここで、顕著度は、例えば、0〜4の数値であり大きな値を有するオブジェクトほど顕著なオブジェクトである。オブジェクト情報格納部303Aは、各オブジェクトの三次元位置の情報と、オブジェクト解析部31Aが各オブジェクトに付与した顕著度とを含むオブジェクト情報を入力とし、入力されたオブジェクト情報を格納する。
図13は、Saliency Mapの具体例を示す図である。図13においては、図11のオブジェクトOB−1を含む入力画像と、図11のオブジェクトOB−4を含む入力画像とに基づいて作成されたSaliency Map110、111を示している。また、図13に示すSaliency Mapは、顕著度に応じて濃度が決まっており、濃度が薄い程その領域の顕著度が高い。Saliency Map110において、領域110Aは他の領域よりも濃度が薄く顕著度=3であり、その他の斜線部分の領域は顕著度=0である。Saliency Map111において、領域111Aは他の領域よりも濃度が薄く顕著度=4であり、その他の斜線部分の領域は顕著度=0である。
Saliency Map110の領域110Aは、オブジェクトOB−1に対応した領域であることから、オブジェクト解析部31Aは、オブジェクトOB−1に顕著度=3を付与する。Saliency Map111の領域111Aは、オブジェクトOB−4に対応した領域であることから、オブジェクト解析部31Aは、オブジェクトOB−4に顕著度=4を付与する。そして、奥行取得部32Aは、オブジェクト情報格納部303Aからオブジェクト情報を参照して、顕著度が最も高いオブジェクトOB−4を主オブジェクトとして特定する。奥行取得部32Aは、特定した主オブジェクトOB−4のオブジェクト情報に含まれる三次元位置の情報と、視野情報に含まれる仮想視点11の位置に関する情報とに基づいて奥行を取得し、出力する。
オブジェクト解析部31Aは、カメラ群3の各カメラからの入力画像に対し、各入力画像の各画素毎に顕著度を付与したSaliency Mapを作成する。オブジェクト解析部31Aは、作成したSaliency Mapに基づいて、各オブジェクトに顕著度を付与する。なお、奥行取得部32Aは、各オブジェクトの顕著度に応じた重み係数を、仮想視点11から各オブジェクトまでの距離に乗算してから加算平均した値を奥行として取得する構成であってもよい。
オブジェクト解析部31Aは、入力画像中からオブジェクトOjの領域Rijを特定し、入力画像に対応するSaliency Mapにおける領域Rijも特定する。オブジェクト解析部31Aは、Saliency Mapの各画素に対してK−means等のクラスタリング処理を行い、顕著度に応じた複数のクラスタに分類する。オブジェクト解析部31Aは、各クラスタに属する画素の顕著度に基づいて、各クラスタの顕著度を算出する。オブジェクト解析部31Aは、各領域Rijに含まれるクラスタの顕著度に基づいて領域Rijの顕著度を算出する。オブジェクト解析部31Aは、領域Rijに対応するオブジェクトOjの顕著度を、複数のSaliency Mapの領域Rijの顕著度に基づいて算出する。上述したクラスタの顕著度、領域Rijの顕著度及びオブジェクトOjの顕著度を算出する際には、顕著度の平均値、最大値、最小値及び中央値のいずれかを用いてよい。
オブジェクトOjの顕著度を算出する他の例として、オブジェクト解析部31Aは、領域Rijに含まれる各画素の顕著度を算出し、各画素の顕著度に基づいて領域Rijの顕著度を算出してもよい。オブジェクト解析部31Aは、各入力画像から得られる領域Rijの顕著度に基づいて、オブジェクトOjの顕著度を算出する。本例における領域Rijの顕著度及びオブジェクトOjの顕著度を算出する際には、顕著度の平均値、最大値、最小値及び中央値のいずれかを用いてよい。なお、添え字jはオブジェクトを特定する数字であり、添え字iは、カメラ3−1〜3−Nのいずれかを特定するカメラ3−i(1≦i≦N)を示す。
「第2の方法」を用いることで、視聴者が注視している可能性の高いオブジェクトとして、視野内で最も顕著度の高いオブジェクトの奥行に応じて、画像切り出し部35及び画像合成部36の処理を行うことができる。これにより、視聴者が視野の中央から離れた周辺領域に存在する特徴的な被写体を注視した場合に対応することができる。「第2の方法」を用いた第2の実施形態における画像処理装置30Aは、視聴者の注目する被写体(オブジェクト)の奥行に応じた合成処理を行うことで、仮想全天球画像に含まれる視聴者の注目する被写体における分身の発生を抑制することができ、視聴品質の低下を抑制した仮想全天球画像を視聴者に提供することができる。
(第3の方法)
第2の実施形態における視野情報に基づいて主オブジェクトを特定する「第3の方法」について説明する。「第3の方法」では、奥行取得部32Aは、オブジェクト情報と、視野情報とを入力として、以下の処理によって奥行を取得する。オブジェクト情報は、仮想全天球画像24として撮影される撮影空間内に存在する全てのオブジェクトに関する三次元位置の情報と、各オブジェクトの属性を示すラベルとを含む。視野情報は、仮想視点11の位置に関する情報と、視聴者の視野に関する情報とを含む。
図11と同じ配置でオブジェクトOB−1〜OB−4が存在し、視野も破線60で示す範囲である場合に、奥行取得部32Aは、視野内に存在する各オブジェクトのオブジェクト情報をオブジェクト情報格納部303Aより入力されたオブジェクト情報の中から抽出する。奥行取得部32Aは、抽出したオブジェクト情報のうち、視野内に存在する各オブジェクトのラベルを参照して「人」のラベルのオブジェクトがあれば、そのオブジェクトを主オブジェクトとして特定する。奥行取得部32Aは、特定した主オブジェクトのオブジェクト情報に含まれる三次元位置の情報と、視野情報に含まれる仮想視点11の位置に関する情報とに基づいて奥行を取得し、出力する。
図11において視野に含まれているオブジェクトOB−1のラベルが「物体A」であり、オブジェクトOB−4のラベルが「人」である。このような場合に、奥行取得部32Aは、オブジェクトOB−4を特定オブジェクトとして特定する。なお、奥行取得部32Aは、各オブジェクトのラベルに応じた重み係数を、仮想視点11から各オブジェクトまでの距離に乗算してから加算平均した値を奥行として取得する構成であってもよい。
「第3の方法」を用いることで、視聴者が注視している可能性の高いオブジェクトとして、「人」のラベルを有するオブジェクトの奥行に応じて、画像切り出し部35及び画像合成部36の処理を行うことができる。「第3の方法」を用いた第2の実施形態における画像処理装置30Aは、物の被写体と、人の被写体との双方が視野内に存在する場合に、視聴者が注目すると推定される人の被写体の奥行に応じた合成処理を行うことで、仮想全天球画像に含まれる視聴者の注目する被写体における分身の発生を抑制することができ、視聴品質の低下を抑制した仮想全天球画像を視聴者に提供することができる。
上述した「第1の方法」〜「第3の方法」において、奥行取得部32Aは、中心線61からオブジェクトまでの距離に応じた重み係数、各オブジェクトの顕著度に応じた重み係数及び各オブジェクトのラベルに応じた重み係数のいずれかを用いて奥行を取得しているが、更に、オブジェクトの大きさに応じた重み係数、オブジェクトの動きに応じた重み係数を用いて奥行を取得する構成としてもよい。オブジェクト解析部31Aは、オブジェクトの大きさに関する情報であるサイズ情報と、オブジェクトの動きに関する情報である動き情報とを取得する機能を有する。
(第4の方法)
第2の実施形態における視野情報に基づいて主オブジェクトを特定する「第4の方法」について説明する。「第4の方法」では、奥行取得部32Aは、オブジェクト情報と、視野情報とを入力として、以下の処理によって奥行を取得する。オブジェクト情報は、仮想全天球画像24として撮影される撮影空間内に存在する全てのオブジェクトに関する三次元位置の情報と、視野情報で特定される視聴者の視野の範囲に含まれるオブジェクトに関する三次元位置の情報及び視野内のオブジェクトの顕著度と、各オブジェクトの属性を示すラベルとを含む。視野情報は、仮想視点11の位置に関する情報と、視聴者の視線及び視野に関する情報とを含む。
奥行取得部32Aは、上述した「第1の方法」〜「第3の方法」を複合した以下の(式3)に示すコスト関数Cjを用いて、Cjの値が最大(最大コスト)となるオブジェクトを主オブジェクトとして特定する。なお、a、b、cは任意の係数。
Cj=a/(オブジェクトOjの視野の中心線からの距離)+b×(オブジェクトOjの顕著度)+c×(オブジェクトOjのラベルが人か否か) … (式3)
「第4の方法」を用いることで、視聴者が注視している可能性の高いオブジェクトの奥行に応じて、画像切り出し部35及び画像合成部36の処理を行うことができる。「第4の方法」を用いた第2の実施形態における画像処理装置30Aは、係数a、b、cの値を調整することで、「第1の方法」〜「第3の方法」をそれぞれ単体で利用する場合より精度よく視聴者が注目するオブジェクトを推定することができる。よって、「第4の方法」を用いた第2の実施形態における画像処理装置30Aは、視聴者に注目される被写体の奥行に応じた合成処理を行うことで、仮想全天球画像に含まれる視聴者に注目される被写体における分身の発生を抑制することができ、視聴品質の低下を抑制した仮想全天球画像を視聴者に提供することができる。
次に、第2の実施形態における画像処理装置30Aが動画の仮想全天球画像を作成する動作について説明する。図14は、第2の実施形態における画像処理装置30Aが動画の仮想全天球画像を作成する動作について説明する図である。図14の動作においては、図6に示したステップS101〜ステップS104における入力画像の撮影までの処理は既に終えているものとする。図14に示すように、画像処理装置30Aは、最初の撮影時刻のフレームに対する処理を開始する(ステップS301)。
画像入力部34は、入力画像格納部301から入力画像を取得し、背景画像格納部302から背景画像20を取得して、入力画像を画像切り出し部35へ出力し、背景画像20を画像合成部36へ出力する(ステップS302)。画像処理装置30Aは、HMD82Aを含む視聴装置8Aからネットワーク7及び画像サーバ6Aを介して視聴者の視野情報を取得する。オブジェクト解析部31Aは、HMD82Aから受信した視野情報に基づいて、入力画像に含まれるオブジェクトを解析して、各オブジェクトに関する情報であるラベル、三次元位置情報及び顕著度等を取得する(ステップs303)。
奥行取得部32Aは、オブジェクト情報格納部303に格納されているオブジェクトの中から、オブジェクト情報及び視野情報に基づいて主オブジェクトを特定して、特定した主オブジェクトに対応するカメラに対して奥行を設定する。奥行補間部39は、奥行取得部32が特定した主オブジェクトの位置等に基づいて、主オブジェクトに対応していないカメラに対して奥行を設定する(ステップS304)。
合成情報取得部33は、奥行取得部32A又は奥行補間部39がカメラ群3の各カメラに設定した奥行に基づいて、合成情報テーブル304から、各入力画像に対応する合成情報を取得する(ステップS305)。画像切り出し部35は、合成情報取得部33が取得した合成情報に基づいて、入力画像から切り出し領域を切り出して、切り出した画像を画像合成部36へ出力する。画像合成部36は、画像切り出し部35が切り出した画像に対して、合成情報に含まれるアフィン変換行列に基づいて変形処理を行い、部分画像を生成する。画像合成部36は、生成した部分画像をアフィン変換行列に基づいて背景画像20に貼り付けて合成して、仮想全天球画像を生成する(ステップS306)。画像処理装置30Aは、次の撮影時刻の入力画像があればステップS301に戻りループを継続し、次の撮影時刻の入力画像がなければ、ループを終了する(ステップS307)。
以上に説明したように、第2の実施形態における画像処理装置30Aは、視野情報を考慮して視聴者が注目する主オブジェクトを特定し、特定した主オブジェクトに対応するカメラに設定する奥行を求めて、求めた奥行に対応した部分画像を生成し、生成した部分画像を背景画像20に貼り付けることで仮想全天球画像を生成することができる。これにより、第2の実施形態における画像処理装置30Aは、仮想全天球画像に含まれる主オブジェクトである被写体において分身が起こったり、消失が起こったりすることを抑制することができる。第2の実施形態における画像処理装置30Aは、視聴品質の低下を抑制した仮想全天球画像を視聴者に提供することができる。
第2の実施形態の画像処理装置30Aにおいては、奥行補間部39を設けることにより、第1の実施形態において説明した図4に示したとおり図8の場合と比べて各カメラに設定される奥行が急激に変化することを抑制している。これにより、複数の主オブジェクトに対応する複数のカメラに異なる奥行を設定して生成された仮想全天球画像を視聴する場合に、視聴者が、ある奥行の被写体から異なる奥行の被写体へ視野を移す途中で画像の不自然さを感じることを防ぐことができる。
なお、HMD82Aは、視聴者の視線を検出する機能と、検出した視聴者の視線に関する情報である視線情報をユーザ端末81Aに送信する機能とをさらに備えてもよい。この場合には、ユーザ端末81Aは、HMD82Aから受信した視線情報をネットワーク7経由で画像サーバ6Aに送信する機能をさらに備える。画像サーバ6Aは、ユーザ端末81Aから受信した視線情報を画像処理システム1Bに送信する機能をさらに備える。画像処理システム1Bは、視野に関する情報に加えて視線情報も考慮して、主オブジェクトを選択する。
上述した第1の実施形態の画像処理システム1A及び第2の実施形態の画像処理システム1Bは、仮想視点11に設置した全天球カメラ2で撮影した全天球画像を背景画像20としたが、仮想視点11に広角で撮影可能な広角カメラを設置して撮影した広角画像を背景画像20としてもよい。このような場合は、画像処理システム1A又は画像処理システム1Bは、広角画像である背景画像20に対して部分画像を合成することで仮想広角画像を生成する。ただし、視聴装置8又は視聴装置8Aで視聴可能な範囲は、広角画像に含まれる広角カメラで撮影した範囲となる。
上述した第1の実施形態の画像処理装置30及び第2の実施形態の画像処理装置30Aは、図2及び図10に具体的な構成を示したが、この構成に限定されるものではない。例えば、画像処理装置30を、入力画像格納部301及び背景画像格納部302を備える画像蓄積装置と、オブジェクト解析部31、オブジェクト情報格納部303、奥行取得部32、奥行補間部39及び入力部38を備える情報取得装置と、合成情報取得部33、画像入力部34、画像切り出し部35、画像合成部36、表示処理部37及び合成情報テーブル304を備える画像合成装置とから構成してもよい。また、画像処理装置30Aを、入力画像格納部301及び背景画像格納部302を備える画像蓄積装置と、オブジェクト解析部31A、オブジェクト情報格納部303A、奥行取得部32A及び奥行補間部39を備える情報取得装置と、合成情報取得部33、画像入力部34、画像切り出し部35、画像合成部36、表示処理部37及び合成情報テーブル304を備える画像合成装置とから構成されるようにしてもよい。
上述した第1の実施形態の画像処理システム1A及び第2の実施形態の画像処理システム1Bは、全天球カメラ2を含む構成としたが、背景画像20となる全天球画像を得ることができる構成であれば、全天球カメラ2を含まない構成でもよい。上述した第1の実施形態の画像処理装置30及び第2の実施形態の画像処理装置30Aは、入力画像格納部301と、背景画像格納部302とを備える構成としたが、これに限定されるものではない。画像処理装置30及び画像処理装置30Aは、入力画像格納部301及び背景画像格納部302を備えずに、入力画像格納部301及び背景画像格納部302を備える装置を別に設けてもよい。
第1の実施形態の視聴装置8及び第2の実施形態の視聴装置8Aは、HMD82(又はHMD82A)を備える構成であったが、HMDに替えて携帯型の表示装置を備える構成であってもよい。携帯型の表示装置は、装置本体の動きを検出する検出部を備え、検出部が検出した装置本体の動きに応じて表示する映像の範囲である視野を変更する機能を有する。視聴装置8又は視聴装置8Aは、携帯型の表示装置が通信機能や映像信号を処理する機能を有する場合は、ユーザ端末81又はユーザ端末81Aを省略した構成としてもよい。
第1、第2の実施形態における画像処理システム1A、1Bは、サッカー等のスポーツの映像やコンサート、ライブなどの映像のように、様々な奥行のオブジェクト(人など)がシーン内に存在し、視聴している領域や注視しているオブジェクトの奥行と、部分画像を全天球画像に合成する際に設定した奥行とが必ずしも合わないという問題を解決することができる。
上述した第1の実施形態における画像処理装置30又は第2の実施形態における画像処理装置30Aの備える各機能部は、例えば、コンピュータで実現することができる。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA(Field Programmable Gate Array)等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。