(57)【要約】【課題】  オクルージョンが発生しうる環境において仮想視点画像の画質を向上させること。【解決手段】  被写体を複数の視点から撮像するための複数のカメラに対応する複数のカメラ視点のうちオブジェクトのオクルージョンが発生していないカメラ視点を特定する。該特定したカメラ視点において撮像された画像中のオブジェクトを合成することで合成オブジェクトを生成し、該合成オブジェクトを含む画像を、仮想視点における画像として生成する。【選択図】  図１
2018026064.tif 000002
【特許請求の範囲】
【請求項１】
被写体を複数の視点から撮像するための複数のカメラに対応する複数のカメラ視点のうちオブジェクトのオクルージョンが発生していないカメラ視点を特定する特定手段と、
前記特定手段が特定したカメラ視点において撮像された画像中のオブジェクトを合成することで合成オブジェクトを生成し、該合成オブジェクトを含む画像を、仮想視点における画像として生成する生成手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記特定手段は、前記複数のカメラ視点のうち第１カメラ視点において撮像された画像中の複数のオブジェクトの位置を、前記複数のカメラ視点のうち第２カメラ視点において撮像された画像中の位置に変換した場合、前記複数のオブジェクトが前記第２カメラ視点における前記複数のオブジェクトより少ない数のオブジェクトに対応する場合、前記第２カメラ視点においてオクルージョンが発生していると判断することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記特定手段は、前記複数のオブジェクトの位置の変換の結果が前記第２カメラ視点において撮像された画像中のオブジェクトの領域内ではない場合には、該第２カメラ視点にてオクルージョンが発生していないと判断することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記生成手段は、前記仮想視点の位置と、前記特定手段が特定したカメラ視点の位置と、の間の距離に応じた合成比でもって、前記特定手段が特定したカメラ視点において撮像した画像中のオブジェクトを合成することを特徴とする請求項１乃至３の何れか１項に記載の画像処理装置。
【請求項５】
前記生成手段は、前記合成をモーフィングによって行うことを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記複数のカメラ視点は、撮像対象のフィールドを囲むように設置されていることを特徴とする請求項１乃至５の何れか１項に記載の画像処理装置。
【請求項７】
更に、
前記仮想視点における画像を出力する出力手段を備えることを特徴とする請求項１乃至６の何れか１項に記載の画像処理装置。
【請求項８】
被写体を複数の視点から撮像するための複数のカメラと、画像処理装置と、を有するシステムであって、
前記画像処理装置は、
前記複数のカメラに対応する複数のカメラ視点のうちオブジェクトのオクルージョンが発生していないカメラ視点を特定する特定手段と、
前記特定手段が特定したカメラ視点において撮像された画像中のオブジェクトを合成することで合成オブジェクトを生成し、該合成オブジェクトを含む画像を、仮想視点における画像として生成する生成手段と
を備えることを特徴とするシステム。
【請求項９】
画像処理装置が行う画像処理方法であって、
被写体を複数の視点から撮像するための複数のカメラに対応する複数のカメラ視点のうちオブジェクトのオクルージョンが発生していないカメラ視点を特定する特定工程と、
前記特定工程で特定したカメラ視点において撮像された画像中のオブジェクトを合成することで合成オブジェクトを生成し、該合成オブジェクトを含む画像を、仮想視点における画像として生成する生成工程と
を備えることを特徴とする画像処理方法。
【請求項１０】
コンピュータを、請求項１乃至７の何れか１項に記載の画像処理装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の視点からの撮像画像から仮想視点画像を生成するための技術に関するものである。
【背景技術】
【０００２】
昨今、複数のカメラをそれぞれ異なる位置に設置して多視点で同期撮影し、該撮影により得られた複数視点の画像（複数視点画像）を用いて任意の視点（仮想視点）から見たコンテンツ（仮想視点コンテンツ）を生成する技術が注目されている。このようにして複数視点画像から仮想視点コンテンツを生成する技術によれば、例えば、サッカーやバスケットボールのハイライトシーンを様々な角度から視聴閲覧することが出来るため、通常の画像と比較してユーザに高臨場感を与えることができる。
【０００３】
一方、複数視点画像に基づく仮想視点コンテンツの生成及び閲覧は、複数のカメラが撮影した画像をサーバなどの画像処理部に集約し、該画像処理部にてレンダリングなどの処理を施し、最後にユーザ端末に伝送することにより実現できる。
【０００４】
仮想視点の映像を生成する技術について、特許文献１に開示されている。特許文献１では、複数のカメラの映像の中のオブジェクトを抽出し、３次元座標を算出し、平面に再投影して仮想視点映像を生成する技術が開示されている。このようなシステムにおいては、人物等のオブジェクトが複数重なって手前のオブジェクトが奥のオブジェクトの一部を隠してしまう、いわゆるオクルージョンと呼ばれる状態が発生した場合に、再投影の位置を誤ってしまう場合があった。
【０００５】
特許文献２では、オクルージョンが発生した場合、複数のオブジェクトを分離する処理、オクルージョンが発生している視点以外の視点の映像からオブジェクトを取得する処理、及び、異なるフレームからオブジェクトを取得する処理などを組み合わせることが記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−１７０４８７号公報
【特許文献２】特開２０１４−１２００９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献２の手法にはそれぞれ課題がある。複数のオブジェクトを分離する処理は、例えば、オブジェクトの追跡処理を利用する手法や、画像認識、あるいは機械学習などの処理が必要となるが、これらの処理は負荷が大きい傾向がある。また、分離形状を誤るなどのエラーが起きるケースもあり、性能を上げることが難しい面もある。
【０００８】
また、オクルージョンが発生している視点以外の視点の映像からオブジェクトを取得する処理を行うと、仮想視点に対して向きが大きく異なるオブジェクトが取得されやすくなる。仮想視点からの位置が離れるほど本来のオブジェクト形状からの差が大きくなり、画質に対する影響は大きくなる。
【０００９】
また、異なるフレームからオブジェクトを取得する処理では、オクルージョンの発生している時間が長くなると、取得されるオブジェクトの時間の差が大きくなり、やはり画質に対する影響は大きくなるなどの課題があった。
【００１０】
本発明はこのような問題に鑑みてなされたものであり、オクルージョンが発生しうる環境において仮想視点画像の画質を向上させる。
【課題を解決するための手段】
【００１１】
本発明の一様態は、被写体を複数の視点から撮像するための複数のカメラに対応する複数のカメラ視点のうちオブジェクトのオクルージョンが発生していないカメラ視点を特定する特定手段と、前記特定手段が特定したカメラ視点において撮像された画像中のオブジェクトを合成することで合成オブジェクトを生成し、該合成オブジェクトを含む画像を、仮想視点における画像として生成する生成手段とを備えることを特徴とする。
【発明の効果】
【００１２】
本発明の構成によれば、オクルージョンが発生しうる環境において仮想視点画像の画質を向上させることができる。
【図面の簡単な説明】
【００１３】
【図１】システムの使用環境を示す図。
【図２】撮像画像の一例を示す図。
【図３】画像処理装置３の機能構成例を示すブロック図。
【図４】画像処理装置３が行う処理のフローチャート。
【図５】コンピュータ装置が行う処理のフローチャート。
【図６】コンピュータ装置のハードウェア構成例を示すブロック図。
【発明を実施するための形態】
【００１４】
以下、添付図面を参照し、本発明の実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施例の１つである。
【００１５】
［第１の実施形態］
本実施形態では、仮想視点コンテンツを生成するための画像処理装置の一例について説明する。本実施形態における仮想視点コンテンツとは、仮想的な視点から被写体を撮像した場合に得られる画像を模擬して生成される仮想視点画像を含むコンテンツである。仮想的な視点（仮想視点）は、ユーザ（オペレータ）により指定されても良いし、画像解析の結果等に基づいて自動的に指定されても良い。また、本実施形態の仮想視点コンテンツは、仮想的な視点から収音した場合に得られる音声を模擬して生成される仮想視点音声が含まれるようにしても良い。本実施形態では、仮想視点画像の生成方法について以下で詳細に説明する。
【００１６】
また、本実施形態の画像処理装置は、被写体を複数の視点から撮像するための複数のカメラに対応する複数のカメラ視点のうちオブジェクトのオクルージョンが発生していないカメラ視点を特定する。そして画像処理装置は、該特定したカメラ視点において撮像された画像中のオブジェクトを合成することで合成オブジェクトを生成し、該合成オブジェクトを含む画像を、仮想視点における画像として生成する。
【００１７】
なお、オクルージョンとは、人物等のオブジェクトが重なって手前のオブジェクトが奥のオブジェクトの一部を隠してしまう状態のことである。また、本実施形態では、動画や静止画を含む概念として、画像という表現を用いて説明する。すなわち、本実施形態の各構成要素は、画像が動画フォーマットに従ったものであっても、静止画フォーマットに従ったものであっても、処理可能である。
【００１８】
先ず、本実施形態に係るシステムの使用環境について、図１を用いて説明する。図１に示す如く、競技場１の周囲には複数のカメラ２が並べて配置されており、複数の方向から競技場１を撮影するようになっている。カメラ２はデータ伝送のための入出力ハードウェアを備えている。カメラ２同士は例えばネットワークケーブルを使ってリング型の接続がされていて、ネットワークを介して隣のカメラ２へ画像を伝送するようになっている。カメラ２のうちの一つは画像処理装置３に接続されており、全てのカメラ２の画像は画像処理装置３に伝送される。なお、全てのカメラ２の画像を画像処理装置３に伝送するための構成は上記構成に限らない。また、競技場１ではサッカーなどの競技が行われており、競技場１の中に被写体（オブジェクト）として複数の人物４がいるものとする。このとき、カメラ２Ａ、カメラ２Ｂ、カメラ２Ｃのそれぞれにおいて撮影される画像（撮像画像）の例を図２（Ａ）〜図２（Ｃ）に示す。カメラ２Ａ、カメラ２Ｂ、およびカメラ２Ｃはそれぞれ近接した視点ではあるものの、互いに異なる近い位置に設置されているので、図２のように視点が若干異なるような画像が得られる。
【００１９】
画像処理装置３では、各カメラ２の画像を受信し、該各カメラ２のうち一部のカメラ２の画像を用いて、仮想視点における画像（仮想視点画像）を生成する。画像処理装置３の機能構成例について、図３のブロック図を用いて説明する。図３に示した機能部は、画像処理装置３に内蔵されたＡＳＩＣ（ａｐｐｌｉｃａｔｉｏｎ ｓｐｅｃｉｆｉｃ ｉｎｔｅｇｒａｔｅｄ ｃｉｒｃｕｉｔ）やＦＰＧＡ（ｆｉｅｌｄ ｐｒｏｇｒａｍｍａｂｌｅ ｇａｔｅ ａｒｒａｙ）等のハードウェアにより実装される。制御部１２は、以下に説明する画像処理装置３の各機能部の動作制御を行う。
【００２０】
データ受信部５は、各カメラ２から送信された画像を受信し、該受信した画像を構成する各フレームの画像（撮像画像）を記録部６に記録する。記録部６はデータバス１３に接続されており、各機能部はこのデータバス１３を介して記録部６に対するデータの読み書きを行うことができる。
【００２１】
記録部６は、例えばハードディスクや、ＳＳＤ（ｓｏｌｉｄ ｓｔａｔｅ ｄｒｉｖｅ）、またはそれらの組み合わせなどで構成される記憶装置である。データ読出部７は、仮想視点画像を生成するために必要な撮像画像として他の機能部から要求された撮像画像を記録部６から読み出す。
【００２２】
例えば、カメラ２Ａ及びカメラ２Ｂに近接する仮想視点における仮想視点画像を画像処理装置３に生成させる指示（生成指示）が本装置に入力されたとする。この生成指示はユーザが不図示の入力インターフェースを操作することで本装置に入力される。このときデータ読出部７は記録部６から、カメラ２Ａにより撮像された撮像画像Ａと、カメラ２Ｂにより撮像された撮像画像Ｂ（撮像画像Ａと同時刻のフレームの撮像画像）と、を読み出す。なお、以下では、「同時刻」とは「同時刻と見なせる程度の誤差を含んでも良い」ものとする。撮像画像Ａは、例えば図２（Ａ）に示した撮像画像であり、撮像画像Ｂは、例えば図２（Ｂ）に示した撮像画像である。そしてデータ読出部７は、読み出した撮像画像Ａ及び撮像画像Ｂをオブジェクト検出部８（以下、検出部８と称する）に対して出力する。
【００２３】
検出部８は、撮像画像Ａ及び撮像画像Ｂのそれぞれからオブジェクトを検出することで、撮像画像をオブジェクトの領域（前景領域）と背景の領域（背景領域）とに分離する。この分離の方法としては、例えば、背景差分情報を用いる手法がある。この手法は、過去の一定時間の撮像画像の情報に基づいて背景情報を生成し、現在の撮像画像との差分をオブジェクトとする手法である。背景差分情報を用いるオブジェクト検出方法についてはさまざまな手法が知られているのでここでは詳細な説明は省く。オブジェクト検出についてはその他にも、特徴量や機械学習を用いる手法などが知られており、もちろんどのような手法を用いてもよい。
【００２４】
撮像画像Ａが図２（Ａ）に示した撮像画像であるとする。このとき検出部８は、該撮像画像中の２つのオブジェクトのそれぞれを検出し、その検出位置（例えばオブジェクトの領域の下端の位置）を求める。図２（Ａ）の場合、一方のオブジェクトの検出位置は（ｘ１，ｙ１）となっており、他方のオブジェクトの検出位置は（ｘ０，ｙ０）となっている。また、撮像画像Ｂが図２（Ｂ）に示した撮像画像であるとする。この撮像画像では２つのオブジェクトが重なっており（つまり撮像画像内でオブジェクト同士のオクルージョンが発生している）、然るに検出部８は、この２つのオブジェクトを１つのオブジェクトとして検出することになる。
【００２５】
そして検出部８は、撮像画像Ａ及び撮像画像Ｂのそれぞれについて、検出したオブジェクトの領域内の画像（テクスチャ）、オブジェクトの検出位置、背景領域内の画像（背景画像）を出力する。
【００２６】
オクルージョン検出部１０（以下、検出部１０と称する）は、撮像画像Ａ及び撮像画像Ｂのそれぞれについて、該撮像画像内でオブジェクト同士のオクルージョンが発生しているのか否かを判断する。撮像画像Ｂ内でオブジェクト同士のオクルージョンが発生しているのか否かを判断するための処理について、同処理のフローチャートを示す図４（Ａ）を用いて説明する。なお、撮像画像Ａや他の撮像画像内でオブジェクト同士のオクルージョンが発生しているのか否かの判断処理も同様にして行う。
【００２７】
ステップＳ１０１では、検出部１０は、撮像画像Ｂを撮像したカメラ（カメラ２Ｂ）に近接する位置に設置されているカメラによる撮像画像（撮像画像Ｂと同時刻のフレーム）におけるオブジェクトの検出位置を取得する。ここでは、カメラ２Ｂに隣接するカメラ２Ａによる撮像画像Ａにおけるオブジェクトの検出位置を取得する。図２（Ａ）の場合、検出位置（ｘ１，ｙ１）、（ｘ０，ｙ０）を取得する。
【００２８】
ステップＳ１０２で検出部１０は「カメラ２Ａが撮像する画像に映っているフィールド（地面）部分を、カメラ２Ｂが撮像する画像上のフィールド部分に一致させる透視変換」により、ステップＳ１０１で取得した検出位置を撮像画像Ｂ上の位置に変換する。この透視変換は行列演算によって実施されるが、この行列演算に使用する行列のパラメータは、カメラの設置時などにキャリブレーション処理によって予め決定されており、画像処理装置３内のメモリに保持されている。図２（Ａ）の場合、検出位置（ｘ１，ｙ１）、（ｘ０，ｙ０）を透視変換により変換することでそれぞれ、図２（Ｂ）に示す如く、撮像画像Ｂ上の位置（ｘ１’，ｙ１’）、（ｘ０’，ｙ０’）が得られる。
【００２９】
ステップＳ１０３では、検出部１０は、ステップＳ１０２で変換した２以上の位置が、撮像画像Ｂにおける１つのオブジェクトの領域内に含まれているか否かを判断する。この判断の結果、「ステップＳ１０２で変換した２以上の位置が、撮像画像Ｂにおける１つのオブジェクトの領域内に含まれている」という条件が満たされれば、撮像画像Ｂ内でオブジェクト同士のオクルージョンが発生していると判断することができる。すなわち、検出部１０は、複数のカメラ視点のうち第１カメラ視点において撮像された画像（撮像画像Ａ）中の複数のオブジェクトの位置を、第２カメラ視点において撮影された画像（撮像画像Ｂ）中の位置に変換する。そして、検出部１０は、変換後の複数のオブジェクトの位置が、該複数のオブジェクトより少ない数のオブジェクトに対応する場合、撮像画像Ｂにおいてオクルージョンが発生していると判断する。一方、この条件が満たされなければ、撮像画像Ｂ内でオブジェクト同士のオクルージョンは発生していないと判断することができる。図２（Ｂ）の場合、変換した２つの検出位置（ｘ１’，ｙ１’）、（ｘ０’，ｙ０’）が何れも、撮像画像Ｂにおける１つのオブジェクトの領域内に含まれているため、撮像画像Ｂ内でオブジェクト同士のオクルージョンが発生していると判断する。
【００３０】
なお、実際には座標変換における誤差などを考慮し、ステップＳ１０２で変換した２以上の位置が、撮像画像Ｂにおける１つのオブジェクトの領域の近傍の位置であれば、該２以上の位置は該領域内に含まれている、としても良い。
【００３１】
ここで、撮像画像Ｂにおいてオブジェクト同士のオクルージョンが発生していると判断された場合、カメラ２Ａ及びカメラ２Ｂに近接する仮想視点における仮想視点画像の生成に撮像画像Ｂを使用することはできない。そこで、撮像画像Ｂの代わりに、カメラ２Ａに近接する他のカメラ（カメラ２Ｂ以外）による撮像画像を使用する。
【００３２】
そこで撮像画像Ｂにおいてオブジェクト同士のオクルージョンが発生している場合、検出部８はデータ読出部７に指示し、カメラ２Ａに近接する他のカメラ（ただしカメラ２Ｂ以外）による撮像画像（撮像画像Ａと同時刻のフレームの撮像画像）を読み出させる。ここでは説明上、カメラ２Ｃによる撮像画像Ｃ（撮像画像Ａと同時刻のフレームの撮像画像）を読み出させる。
【００３３】
そして検出部８は、撮像画像Ｃに対し、撮像画像Ａ及び撮像画像Ｂに対して行った上記の処理と同様の処理を行うことで、撮像画像Ｃから、オブジェクトの領域内の画像（テクスチャ）、オブジェクトの検出位置、背景領域内の画像（背景画像）を検出する。そして検出部１０は撮像画像Ｃに対しても同様にして、撮像画像Ｃにおいてオブジェクト同士のオクルージョンが発生しているか否かを判断する。この判断の結果、撮像画像Ｃについても検出部１０がオブジェクト同士のオクルージョンが発生していると判断した場合には、更に、カメラ２Ａに近接する他のカメラ（ただしカメラ２Ｂ及びカメラ２Ｃ以外）による撮像画像を読み出させる。このように、できるだけカメラ２Ａに近接したカメラによる撮像画像であって、「オブジェクト同士のオクルージョンは発生していない撮像画像」を取得する。以下では、撮像画像Ｃについてはオブジェクト同士のオクルージョンが発生していないものとする。然るにこの場合、検出部８は、撮像画像Ａについて検出した情報及び撮像画像Ｃについて検出した情報を出力することになる。このように、本実施形態の検出部８は、複数のカメラ視点（図１にて示される複数のカメラの視点）から、オクルージョン（オブジェクトの重なり）が発生していないカメラ視点を特定する。
【００３４】
合成処理部１１は、仮想視点における画像中のオブジェクトを生成する処理を行う。合成処理部１１が行う処理について、同処理のフローチャートを示す図４（Ｂ）を用いて説明する。なお、合成処理部１１は、撮像画像Ｂにオブジェクト同士のオクルージョンが発生していない場合には動作せず、撮像画像Ｂにオブジェクト同士のオクルージョンが発生している場合に動作するものである。すなわち、合成処理部１１は、仮想視点に近接するカメラとして最初に決定したカメラのそれぞれの撮像画像にオブジェクト同士のオクルージョンが発生していない場合には動作しない。一方、合成処理部１１は、仮想視点に近接するカメラとして最初に決定したカメラのうち少なくとも一方のカメラの撮像画像にオブジェクト同士のオクルージョンが発生している場合に動作する。
【００３５】
ステップＳ１０４では、合成処理部１１は、検出部８が撮像画像Ａについて出力した情報及び撮像画像Ｃについて出力した情報を取得する。ステップＳ１０５では、合成処理部１１は、上記の生成指示に含まれている仮想視点の位置を取得する。
【００３６】
ステップＳ１０６で合成処理部１１は、カメラ２Ａの位置Ａとカメラ２Ｃの位置Ｃと仮想視点の位置Ｖとを用いて、撮像画像Ａ中のオブジェクトと撮像画像Ｃ中のオブジェクトとを合成して１つの合成オブジェクトを生成する場合におけるそれぞれのオブジェクトの合成比（混合比）を求める。これは、例えば、位置Ｖと位置Ａとの間の距離をＤＡ，位置Ｖと位置Ｃとの間の距離をＤＣとすると、撮像画像Ａ中のオブジェクトの合成比ＲＡをＤＣ／（ＤＡ＋ＤＣ）、撮像画像Ｃ中のオブジェクトの合成比ＲＣをＤＡ／（ＤＡ＋ＤＣ）とする。つまり、仮想視点により近いカメラによる撮像画像中のオブジェクトに対する合成比をより高くし、仮想視点により遠いカメラによる撮像画像中のオブジェクトに対する合成比をより低くする。
【００３７】
ステップＳ１０７で合成処理部１１は撮像画像Ａ中のオブジェクトのテクスチャの画素値をＲＡ倍したテクスチャＡと撮像画像Ｃ中のオブジェクトのテクスチャの画素値をＲＣ倍したテクスチャＣと、を合成して合成テクスチャ（合成オブジェクト）を生成する。このような２つのオブジェクトのテクスチャを合成する処理は、モーフィング処理に代表される周知の技術であるため、これに係る詳細な説明は省略する。ステップＳ１０８では、合成処理部１１は、ステップＳ１０７において生成した合成オブジェクトを、生成部９に対して出力する。
【００３８】
生成部９は、仮想視点画像を生成する。生成部９が行う処理について、同処理のフローチャートを示す図４（Ｃ）を用いて説明する。
【００３９】
ステップＳ１０９では、生成部９は、仮想視点画像における背景部分を生成する。背景部分の生成方法は特定の方法に限らない。例えば、検出部８が撮像画像Ａについて検出した背景画像を透視変換によって変換して、仮想視点画像における背景部分を生成しても良い。この透視変換に用いる行列は既知であるものとする。
【００４０】
ステップＳ１１０では、生成部９は、仮想視点が近接する２つのカメラの両方の撮像画像にオブジェクト同士のオクルージョンが発生していないか否かを判断する。上記の例では、撮像画像Ａ及び撮像画像Ｂの両方にオブジェクト同士のオクルージョンが発生していないか否かを判断する。この判断の結果、仮想視点が近接する２つのカメラの両方の撮像画像にオブジェクト同士のオクルージョンが発生していない場合には、処理はステップＳ１１１に進み、少なくとも一方に発生している場合には、処理はステップＳ１１２に進む。
【００４１】
ステップＳ１１１では、生成部９は、検出部８が撮像画像Ａから検出したオブジェクトのテクスチャを、該検出部８から取得する。ステップＳ１１２では、生成部９は、合成処理部１１が生成した合成オブジェクトを、該合成処理部１１から取得する。
【００４２】
ステップＳ１１３では、生成部９は、仮想視点画像上に配置するオブジェクトの位置を求める。ステップＳ１１１からステップＳ１１３に処理が進んだ場合、ステップＳ１１３では生成部９は、撮像画像Ａから検出したオブジェクトのテクスチャの「仮想視点画像上における配置位置」を求める。例えば、カメラによる撮像画像中の対象物が任意の視点における画像においてどのような位置に見えるのかの関係情報を予め求めておき、該関係情報を用いて撮像画像Ａ中のオブジェクトの検出位置を変換した位置を求める。
【００４３】
一方、ステップＳ１１２からステップＳ１１３に処理が進んだ場合、ステップＳ１１３では生成部９は、仮想視点画像上における合成オブジェクトの位置を求める。例えば、上記の関係情報を用いて撮像画像Ａ中のオブジェクトの検出位置を変換した位置を合成オブジェクトの位置とする。
【００４４】
ステップＳ１１１からステップＳ１１３を介してステップＳ１１４に処理が進んだ場合、ステップＳ１１４では、生成部９は、次のような処理を行う。すなわち、仮想視点画像上のステップＳ１１３で求めた位置（再投影座標）に、撮像画像Ａから検出したオブジェクトのテクスチャを配置（再投影）し、該配置後の仮想視点画像を出力する。
【００４５】
一方、ステップＳ１１２からステップＳ１１３を介してステップＳ１１４に処理が進んだ場合、ステップＳ１１４では、生成部９は、次のような処理を行う。すなわち、仮想視点画像上のステップＳ１１３で求めた位置（再投影座標）に合成オブジェクトを配置（再投影）し、該配置後の仮想視点画像を出力する。
【００４６】
なお、このとき、各オブジェクトの再投影座標を検査し、画像上において奥のオブジェクトから再投影をおこない、手前のオブジェクトが上書きされるようにする。この処理によりオブジェクト表示の前後関係を正しく表現することができる。
【００４７】
図２（Ａ）の撮像画像と図２（Ｃ）の撮像画像に基づく仮想視点画像の一例を図２（Ｄ）に示す。図２（Ｄ）の仮想視点画像は、カメラ２Ａとカメラ２Ｂの中間位置に仮想視点を設定した場合に生成される仮想視点画像である。また、生成部９による仮想視点画像の出力先については特定の出力先に限らない、例えば、画像処理装置３が有するモニタやプロジェクタに出力しても良いし、外部の端末装置に対して出力しても良い。
【００４８】
なお、本実施形態や以下の変形例において既知の情報として取り扱ったもの、例えば、各カメラ２の配置位置や上記の関係情報などは予め画像処理装置３内のメモリに登録されているものとする。
【００４９】
＜変形例＞
上記の「カメラ２Ａ及びカメラ２Ｂに近接する仮想視点における仮想視点画像を画像処理装置３に生成させる指示」には様々なものが考えられる。例えば、競技場１を俯瞰した俯瞰図に各カメラ２の配置図を重ねた図面を表示部に表示してユーザに提示し、ユーザは該図面上の任意の位置を仮想視点の位置として指定する。制御部１２は、図面上で指定された位置に近接するカメラを選択する。また、仮想視点の位置を、隣接するカメラ間の中点位置と規定する場合、ユーザは上記図面上で２つのカメラを指定することで、該２つのカメラの中点位置を仮想視点の位置として設定するようにしても良い。
【００５０】
また、第１の実施形態では、各カメラ２は競技場１を囲むように設置されているが、競技場１以外の撮像対象のフィールドを囲むように設置されているケースであっても、第１の実施形態は同様に適用することができる。
【００５１】
［第２の実施形態］
第１の実施形態では、図３に示した各機能部は何れもハードウェアで実装されるものとして説明した。しかし、記録部６をメモリで実装し、それ以外の機能部をソフトウェア（コンピュータプログラム）で実装しても良い。この場合、このソフトウェアを実行可能なコンピュータ装置は、上記の画像処理装置３に適用することができる。画像処理装置３に適用可能なコンピュータ装置のハードウェア構成例について、図６のブロック図を用いて説明する。
【００５２】
ＣＰＵ６０１はＲＡＭ６０２やＲＯＭ６０３に格納されているコンピュータプログラムやデータを用いて処理を実行する。これによりＣＰＵ６０１は、コンピュータ装置全体の動作制御を行うと共に、画像処理装置３が行うものとして上述した各処理を実行若しくは制御する。
【００５３】
ＲＡＭ６０２は、ＲＯＭ６０３や外部記憶装置６０６からロードされたコンピュータプログラムやデータ、Ｉ／Ｆ（インターフェース）６０７を介して外部から受信したデータを格納するためのエリアを有する。更にＲＡＭ６０２は、ＣＰＵ６０１が各種の処理を実行する際に用いるワークエリアを有する。このようにＲＡＭ６０２は各種のエリアを適宜提供することができる。ＲＯＭ６０３には、書き換え不要の本装置の設定データやブートプログラムなどが格納されている。
【００５４】
操作部６０４は、マウスやキーボードなどにより構成されており、本装置のユーザが操作することで各種の指示をＣＰＵ６０１に対して入力することができる。表示部６０５はＣＲＴや液晶画面などにより構成されており、ＣＰＵ６０１による処理結果を画像や文字などでもって表示することができる。なお、操作部６０４と表示部６０５とを一体化させてタッチパネル画面を構成しても良い。
【００５５】
外部記憶装置６０６は、ハードディスクドライブ装置に代表される大容量情報記憶装置である。外部記憶装置６０６には、ＯＳ（オペレーティングシステム）や、画像処理装置３が行うものとして上述した各処理をＣＰＵ６０１に実行若しくは制御させるためのコンピュータプログラムやデータが保存されている。このデータには、上記の説明において既知の情報として説明したものも含まれている。外部記憶装置６０６に保存されているコンピュータプログラムやデータは、ＣＰＵ６０１による制御に従って適宜ＲＡＭ６０２にロードされ、ＣＰＵ６０１による処理対象となる。上記の記録部６は、ＲＡＭ６０２や外部記憶装置６０６によって実装可能である。
【００５６】
Ｉ／Ｆ６０７は、外部の機器とのデータ通信を行うためのインターフェースとして機能するもので、例えば、Ｉ／Ｆ６０７には上記のカメラ２が接続されており、各カメラ２からの画像はこのＩ／Ｆ６０７を介して受信する。
【００５７】
ＣＰＵ６０１、ＲＡＭ６０２、ＲＯＭ６０３、操作部６０４、表示部６０５、外部記憶装置６０６、Ｉ／Ｆ６０７は何れもバス６０８に接続されている。なお、図６に示した構成は、画像処理装置３に適用可能なコンピュータ装置のハードウェア構成の一例に過ぎない。
【００５８】
このようなコンピュータ装置が第１の実施形態で説明した画像処理装置３の処理を実行する場合、コンピュータ装置は図５に示したフローチャートに従った処理を行うことになる。なお、図５の各ステップにおける処理の詳細については第１の実施形態で既に述べているため、ここでは簡単に説明する。
【００５９】
ステップＳ１１５では、ＣＰＵ６０１は、Ｉ／Ｆ６０７を介して受信した各カメラ２の撮像画像を外部記憶装置６０６に保存する。ステップＳ１１６では、ＣＰＵ６０１は、外部記憶装置６０６から仮想視点画像の生成に要する撮像画像をＲＡＭ６０２に読み出す。ステップＳ１１７ではＣＰＵ６０１は、ＲＡＭ６０２に読み出したそれぞれの撮像画像について検出部８による処理と同様の処理を行う。ステップＳ１１８ではＣＰＵ６０１は、検出部１０による処理と同様の処理を行う。
【００６０】
ステップＳ１１９ではＣＰＵ６０１は、仮想視点画像の生成に要する撮像画像（撮像画像Ａ及び撮像画像Ｂ）にオブジェクト同士のオクルージョンが発生しているか否かを判断する。この判断の結果、発生している場合には、処理はステップＳ１２１に進み、発生していない場合には、処理はステップＳ１２０に進む。
【００６１】
ステップＳ１２０ではＣＰＵ６０１は、撮像画像Ａから検出したオブジェクトのテクスチャを取得する。一方、ステップＳ１２１ではＣＰＵ６０１は、合成処理部１１による処理と同様の処理により合成オブジェクトを生成する。
【００６２】
ステップＳ１２２ではＣＰＵ６０１は、仮想視点画像上に配置するオブジェクトの位置を求め、ステップＳ１２３ではＣＰＵ６０１は、仮想視点画像における背景部分を生成部９と同様に生成する。そしてステップＳ１２４ではＣＰＵ６０１は、ステップＳ１２２で求めた位置にオブジェクトを配した仮想視点画像を生成し、該仮想視点画像を出力する。
【００６３】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６４】
８：検出部  ９：生成部  １０：検出部  １１：合成処理部
【図１】
2018026064.tif 000003
【図２】
2018026064.tif 000004
【図３】
2018026064.tif 000005
【図４】
2018026064.tif 000006
【図５】
2018026064.tif 000007
【図６】
2018026064.tif 000008