IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

特許7581002画像処理装置、画像処理システム、画像処理方法、およびプログラム
<>
  • 特許-画像処理装置、画像処理システム、画像処理方法、およびプログラム 図1
  • 特許-画像処理装置、画像処理システム、画像処理方法、およびプログラム 図2
  • 特許-画像処理装置、画像処理システム、画像処理方法、およびプログラム 図3
  • 特許-画像処理装置、画像処理システム、画像処理方法、およびプログラム 図4
  • 特許-画像処理装置、画像処理システム、画像処理方法、およびプログラム 図5
  • 特許-画像処理装置、画像処理システム、画像処理方法、およびプログラム 図6
  • 特許-画像処理装置、画像処理システム、画像処理方法、およびプログラム 図7
  • 特許-画像処理装置、画像処理システム、画像処理方法、およびプログラム 図8
  • 特許-画像処理装置、画像処理システム、画像処理方法、およびプログラム 図9
  • 特許-画像処理装置、画像処理システム、画像処理方法、およびプログラム 図10
  • 特許-画像処理装置、画像処理システム、画像処理方法、およびプログラム 図11
  • 特許-画像処理装置、画像処理システム、画像処理方法、およびプログラム 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-01
(45)【発行日】2024-11-12
(54)【発明の名称】画像処理装置、画像処理システム、画像処理方法、およびプログラム
(51)【国際特許分類】
   G06T 19/00 20110101AFI20241105BHJP
   G06T 15/20 20110101ALI20241105BHJP
   H04N 21/234 20110101ALI20241105BHJP
   H04N 7/18 20060101ALI20241105BHJP
   H04N 23/90 20230101ALI20241105BHJP
【FI】
G06T19/00 A
G06T15/20 500
H04N21/234
H04N7/18 V
H04N23/90
【請求項の数】 18
(21)【出願番号】P 2020168045
(22)【出願日】2020-10-02
(65)【公開番号】P2022060058
(43)【公開日】2022-04-14
【審査請求日】2023-09-28
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】相澤 道雄
【審査官】鈴木 明
(56)【参考文献】
【文献】特開2020-086983(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 19/00
G06T 15/20
H04N 21/234
H04N 7/18
H04N 23/90
(57)【特許請求の範囲】
【請求項1】
第1の撮像装置群により複数の方向から撮像されることで得られた第1の画像群に基づき生成される仮想視点画像に対応する仮想視点を特定するための情報に基づいて決定された視線情報であって、前記第1の撮像装置群とは異なる第2の撮像装置群に含まれる複数の撮像装置の視線情報を取得する第1の取得手段と、
前記第2の撮像装置群によりオブジェクトが複数の方向から撮像されることに基づく第2の画像群を取得する第2の取得手段と、
前記第1の取得手段により取得された視線情報と、前記第2の取得手段により取得された第2の画像群とに基づいて、前記第1の撮像装置群が撮像する撮像空間における所定の位置に前記オブジェクトが存在する場合の仮想視点画像を生成する生成手段と、を有し、
前記第1の取得手段により取得される視線情報は、前記第2の撮像装置群が撮像する撮像空間の基準点と、前記第1の画像群に基づき生成された仮想視点画像を表示する表示部の位置と、前記表示部に表示されている前記仮想視点画像における仮想視点を特定するための情報と、前記所定の位置と、に基づき決定される前記第2の撮像装置群に含まれる複数の撮像装置の視線情報である
ことを特徴とする画像処理装置。
【請求項2】
前記第1の画像群に含まれるオブジェクトから指定されたオブジェクトの位置を取得する第3の取得手段をさらに有し、
前記所定の位置は、前記第3の取得手段により取得された、指定されたオブジェクトの位置に基づく位置である
ことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記第1の取得手段により取得される視線情報は、
前記指定されたオブジェクトの位置に前記基準点を合わせるためのパラメータと、前記表示部に表示されている仮想視点画像における仮想視点からの視線方向に、前記基準点から前記表示部への方向を合わせるためのパラメータと、に基づき決定された前記第2の撮像装置群に関する視線情報である
ことを特徴とする請求項に記載の画像処理装置。
【請求項4】
前記基準点は、前記第2の撮像装置群が撮像するオブジェクトの位置である
ことを特徴とする請求項またはに記載の画像処理装置。
【請求項5】
前記表示部は、前記第2の撮像装置群が撮像するオブジェクトから見える位置に設置されている
ことを特徴とする請求項からのいずれか1項に記載の画像処理装置。
【請求項6】
前記第1の画像群に含まれるオブジェクトを検出する検出手段をさらに有し
前記指定されたオブジェクトは、前記検出されたオブジェクトから指定されたオブジェクトである
ことを特徴とする請求項2または3に記載の画像処理装置。
【請求項7】
前記生成手段は、前記指定されたオブジェクトの形状を抑制する処理をする
ことを特徴とする請求項2または3または6に記載の画像処理装置。
【請求項8】
前記第1の取得手段は、前記第2の画像群に対応付ける時刻情報として、前記第1の画像群に基づき生成された仮想視点画像に対応付けられている時刻情報を取得する
ことを特徴とする請求項1からのいずれか1項に記載の画像処理装置。
【請求項9】
前記第2の撮像装置群が撮像するオブジェクトの近傍に設置されたボール発射装置を制御する制御手段をさらに有する
ことを特徴とする請求項1からのいずれか1項に記載の画像処理装置。
【請求項10】
前記制御手段は、前記第1の画像群に基づき生成された仮想視点画像における仮想視点からの視線方向に、前記第2の撮像装置群の撮像空間の基準点から前記第1の画像群に基づき生成された仮想視点画像を表示する表示部への方向を合わせるためのパラメータと、前記仮想視点画像におけるボールの移動する方向とに基づき、前記ボール発射装置によるボールの発射する方向を決定する
ことを特徴とする請求項に記載の画像処理装置。
【請求項11】
前記第2の撮像装置群が撮像する際に、前記表示部に表示されている前記仮想視点画像の仮想視点からの見えを規定する情報に少なくとも基づき、前記第2の撮像装置群に関する視線情報を変更する変更手段をさらに有し、
前記第1の取得手段は、前記変更手段が変更した前記第2の撮像装置群に関する視線情報を取得する
ことを特徴とする請求項からのいずれか1項に記載の画像処理装置。
【請求項12】
前記第1の画像群と前記第1の撮像装置群に関する視線情報とを取得する第4の取得手段と、
前記第1の画像群と前記第1の撮像装置群の視線情報とに基づき、前記第1の画像群に含まれるオブジェクトの三次元形状データを生成して、前記表示部に表示される仮想視点画像を生成する第2の生成手段と、をさらに有する
ことを特徴とする請求項からのいずれか1項に記載の画像処理装置。
【請求項13】
前記生成手段は、
前記第1の画像群に含まれるオブジェクトの三次元形状データと、前記第2の取得手段が取得した前記第2の画像群と前記第2の取得手段が取得した視線情報とに基づき生成した前記第2の画像群に含まれるオブジェクトの三次元形状データと、を合成して、前記合成した結果得られた三次元形状データに基づき、仮想視点画像を生成する
ことを特徴とする請求項12に記載の画像処理装置。
【請求項14】
前記生成手段によって生成された仮想視点画像を、前記表示部とは異なる第2の表示部に表示させる制御をする表示制御手段をさらに有する
ことを特徴とする請求項からのいずれか1項に記載の画像処理装置。
【請求項15】
前記第2の撮像装置群は、前記第2の撮像装置群の撮像空間の円周上に位置するようにそれぞれ配置されている
ことを特徴とする請求項1から14のいずれか1項に記載の画像処理装置。
【請求項16】
請求項1から15のいずれか1項に記載の画像処理装置と、
前記第1の画像群に基づき生成された仮想視点画像を、前記第2の撮像装置群が撮像するオブジェクトが見える位置にある表示部に表示する制御をする表示制御手段を有する装置と、
を有することを特徴とする画像処理システム。
【請求項17】
第1の撮像装置群により複数の方向から撮像されることで得られた第1の画像群に基づき生成される仮想視点画像に対応する仮想視点を特定するための情報に基づいて決定された視線情報であって、第1の撮像装置群とは異なる第2の撮像装置群に含まれる複数の撮像装置の視線情報を取得する第1の取得ステップと、
前記第2の撮像装置群によりオブジェクトが複数の方向から撮像されることに基づく第2の画像群を取得する第2の取得ステップと、
前記第1の取得ステップにより取得された視線情報と、前記第2の取得ステップにより取得された第2の画像群とに基づいて、前記第1の撮像装置群が撮像する撮像空間における所定の位置に前記オブジェクトが存在する場合の仮想視点画像を生成する生成ステップと、を有し、
前記第1の取得ステップにより取得される視線情報は、前記第2の撮像装置群が撮像する撮像空間の基準点と、前記第1の画像群に基づき生成された仮想視点画像を表示する表示部の位置と、前記表示部に表示されている前記仮想視点画像における仮想視点を特定するための情報と、前記所定の位置と、に基づき決定される前記第2の撮像装置群に含まれる複数の撮像装置の視線情報である
ことを特徴とする画像処理方法。
【請求項18】
コンピュータを、請求項1から15のいずれか1項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の技術は、撮像画像に基づくデータの生成に関する。
【背景技術】
【0002】
コンピュータグラフィックの技術を用いて、実際に撮像して得られた撮像画像に、当該撮像画像には含まれない別のオブジェクトの画像を合成する方法がある。
【0003】
特許文献1には、実際の試合の映像に、アーカイブされたデータから別の選手のグラフィックを合成することが記載されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2002-101400号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1には、撮像画像の撮像空間の任意の位置に、別の撮像空間のオブジェクトが合成された画像を生成する方法が記載されていない。
【0006】
本開示の技術は、撮像空間の任意の位置に、別の撮像空間のオブジェクトが合成された画像を生成することを目的とする。
【課題を解決するための手段】
【0007】
本開示の画像処理装置は、第1の撮像装置群により複数の方向から撮像されることで得られた第1の画像群に基づき生成される仮想視点画像に対応する仮想視点を特定するための情報に基づいて決定された視線情報であって、前記第1の撮像装置群とは異なる第2の撮像装置群に含まれる複数の撮像装置の視線情報を取得する第1の取得手段と、前記第2の撮像装置群によりオブジェクトが複数の方向から撮像されることに基づく第2の画像群を取得する第2の取得手段と、前記第1の取得手段により取得された視線情報と、前記第2の取得手段により取得された第2の画像群とに基づいて、前記第1の撮像装置群が撮像する撮像空間における所定の位置に前記オブジェクトが存在する場合の仮想視点画像を生成する生成手段と、を有し、前記第1の取得手段により取得される視線情報は、前記第2の撮像装置群が撮像する撮像空間の基準点と、前記第1の画像群に基づき生成された仮想視点画像を表示する表示部の位置と、前記表示部に表示されている前記仮想視点画像における仮想視点を特定するための情報と、前記所定の位置と、に基づき決定される前記第2の撮像装置群に含まれる複数の撮像装置の視線情報であることを特徴とする。
【発明の効果】
【0008】
本開示の技術によれば、撮像空間の任意の位置に、別の撮像空間のオブジェクトが合成された画像を生成することができる。
【図面の簡単な説明】
【0009】
図1】画像処理システムの構成を説明する図。
図2】画像処理システムの機能構成を説明する図。
図3】画像処理装置のハードウエア構成を説明する図。
図4】第1の撮像装置による撮像処理を説明するフローチャート。
図5】第2の撮像装置による撮像処理を説明するフローチャート。
図6】位置合わせ処理を説明するフローチャート。
図7】平行移動ベクトルを説明する図。
図8】回転行列の角度を説明する図。
図9】位置合わせ処理を説明するための図。
図10】合成仮想視点画像の生成処理を説明するフローチャート。
図11】ボール発射装置の制御処理を説明するフローチャート。
図12】ボールの向きを説明する図。
【発明を実施するための形態】
【0010】
以下、添付の図面を参照して、実施形態に基づいて本開示の技術の詳細を説明する。以下の実施形態は、本開示の技術を実施するにあたっての具体化の例を示したものに過ぎず、本開示の技術的範囲が限定的に解釈されるものではない。本開示の技術はその技術思想又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【0011】
<実施形態1>
[システム構成]
図1は、異なる撮像空間のオブジェクトの三次元モデルを合成して仮想視点画像を生成するための、本実施形態の画像処理システム1の構成を示す図である。仮想視点画像とは、実際に設置されているカメラの設置位置及び撮像方向とは異なる実在しないカメラの視点である仮想視点から見た画像であり、自由視点画像や任意視点画像とも呼ばれる。仮想視点画像を生成する技術によれば、例えば、サッカーやバスケットボールのハイライトシーンを様々な角度から視聴することが出来るため、通常の画像と比較してユーザに高臨場感を与えることが出来る。仮想視点画像は、動画であっても、静止画であってもよい。本実施形態では、仮想視点画像は動画であるものとして説明する。
【0012】
なお、本実施形態では説明の便宜上、仮想視点を表す概念として、仮想視点を仮想的なカメラ(仮想カメラ)に置き換えて説明する場合がある。このとき、仮想カメラの位置は仮想視点の位置、仮想視点からの視線方向は仮想カメラの姿勢にそれぞれ対応する。また、仮想視点画像は、仮想カメラにより仮想的に撮像されることにより得られる撮像画像に対応する。
【0013】
本実施形態の画像処理システム1は、第1の撮像装置110、第1の制御装置100、第2の撮像装置210、第2の制御装置200、仮想視点画像表示装置230、画像処理装置300、合成画像表示装置410、操作装置420を有する。各装置間は、例えばネットワーク231で接続され、IP通信などにより各種データを送受信する。
【0014】
第1の撮像装置110は、第1の撮像空間120を撮像する複数の撮像装置(撮像装置群)であり、例えば、静止画像及び動画像等の撮像画像を撮像可能な複数のデジタルカメラである。第1の撮像空間120は、第1のオブジェクトを含む撮像空間である。例えば、第1の撮像空間120はサッカーの試合が行われるスタジアムのフィールドであり、第1のオブジェクトはサッカーの選手122である。図1に示すように第1の撮像空間120がスタジアムのフィールドの場合、第1の撮像装置110は、スタジアムのフィールドの周囲に配置され、フィールドを様々な角度から時刻同期して撮像する。その結果、複数視点の撮像画像が得られる。本明細書では、第1のオブジェクトはサッカーの選手であるものとして説明する。
【0015】
第1の制御装置100は、第1の撮像装置110を制御して、第1の撮像装置110に第1の撮像空間120を時刻同期して撮像させる制御装置である。
【0016】
第2の撮像装置210は、第2の撮像空間220を撮像する複数の撮像装置であり、例えば、静止画像及び動画像等の撮像画像を撮像可能な複数のデジタルカメラである。第2の撮像空間220は、例えば、スタジアム内に設置されたスタジオである。図1に示すように、第2の撮像空間220には第2のオブジェクトが存在し、第2の撮像装置210は、スタジオ内の周囲に配置され、第2のオブジェクトを様々な角度から時刻同期して撮像する。その結果、複数視点の撮像画像が得られる。本明細書では、ユーザ222が第2のオブジェクトであるものとして説明する。なお、第2の撮像空間220は、第1の撮像装置110が設置されたスタジアムとは別の場所に設置されたスタジオであってもよい。また、第2の撮像空間220は、スタジオでなくてもよく、例えば、第1の撮像装置110が設置されたスタジアムとは別のスタジアムのフィールドであってもよい。
【0017】
第2の制御装置200は、第2の撮像装置210を制御して、第2の撮像装置210に第2の撮像空間220を時刻同期して撮像させる制御装置である。第2の制御装置200の機能の詳細については後述する。
【0018】
仮想視点画像表示装置230は、第1の撮像空間120の撮像画像に基づき画像処理装置300が生成した仮想視点画像を表示するための表示装置である。仮想視点画像表示装置230における画面を表示する表示部は、第2の撮像空間220の近傍の位置であって、ユーザ222が視聴可能な位置に設置される。第2の撮像空間220の近傍とは第2の撮像空間220を含んでもよい。つまり、仮想視点画像表示装置230は、ユーザ222が画面を視聴可能な位置であれば第2の撮像空間220内に設置されてもよい。本明細書の図で示した仮想視点画像表示装置230は、仮想視点画像表示装置230の表示部を指す。
【0019】
画像処理装置300は、例えば複数のサーバとデータベースとで構成される装置である。画像処理装置300は、第1の撮像装置110が時刻同期して撮像することよって得られた複数の撮像画像を取得して、第1の撮像空間120を仮想視点から見た仮想視点画像を生成する。また、画像処理装置300は、第1の撮像装置110の撮像画像に基づき生成された三次元モデルに、第2の制御装置200の撮像画像に基づき生成されたユーザ222の三次元モデルを合成して仮想視点画像を生成する装置である。この合成した結果得られた仮想視点画像を合成仮想視点画像と記す。図1の画像処理装置300は、スタジアムの近くに駐車された中継車310に設置された例である。画像処理装置300の機能の詳細については後述する。画像処理装置300は、中継車310に設置されていなくても別の場所に設置されていてもよい。
【0020】
操作装置420は、画像処理装置300が合成仮想視点画像を生成する際の仮想視点の位置および仮想視点からの視線方向を指示するための操作装置である。操作装置420を操作するオペレータ244は、画像処理システム1の運営者であってもよいしスタジアムを訪れた観客243でもよい。
【0021】
合成画像表示装置410は、画像処理装置300が生成した合成仮想視点画像を表示するための表示装置である。
【0022】
このように、画像処理システム1は、スタジアムで行われている試合を仮想視点から見た画像に、アトラクションの参加者であるユーザ222の画像を合成して、合成仮想視点画像を生成して表示するアトラクションを提供するためのシステムである。ユーザ222は、例えば、スタジアムを訪れた観客である。このアトラクションによればユーザ222は、フィールド内の選手122のプレイを追体験することができる。
【0023】
このため、図1では、第2の撮像装置210、第2の制御装置200、仮想視点画像表示装置230は、スタジアム内に設置されたブース内のスタジオに、アトラクションを提供するために配置されている例を示している。同様に、図1では、合成画像表示装置410は、スタジアムに設置される例を示している。このように、画像処理システム1によれば、スタジアムを訪れた観客243は、スタジアムで行われた実施の試合のほかに合成仮想視点画像も楽しむことができる。
【0024】
[機能構成]
図2は、画像処理システム1の機能構成を示す図である。図2を用いて、画像処理システム1を構成する各装置の機能について説明する。
【0025】
第1の制御装置100は、第1の撮像制御部101を有する。第1の撮像制御部101は、第1の撮像装置110を制御して、第1の撮像装置110に第1の撮像空間120を時刻同期して撮像させる。
【0026】
第2の制御装置200は、第2の撮像制御部201、撮像空間合わせ部202、表示制御部205、および受付部206を有する。
【0027】
第2の撮像制御部201は、時刻同期して第2の撮像装置210に第2の撮像空間220を撮像させる制御を行う。そして、その結果得られた複数の撮像画像(撮像画像群)を取得する。
【0028】
撮像空間合わせ部202は、時刻合わせ部203と、位置合わせ部204と、を有する。時刻合わせ部203は、第2の撮像装置210が撮像することによって得られた撮像画像に対応付ける時刻を、第1の撮像装置110の撮像画像に基づき生成された仮想視点画像の時刻に、フレームごとに合わせる処理を行う。位置合わせ部204は、第2の撮像装置210の位置および姿勢を規定するカメラパラメータを、仮想視点画像表示装置230に表示される仮想視点画像の仮想視点の情報等に基づき、フレームごとに変更する処理を行う。撮像空間合わせ部202の処理の詳細は後述する。
【0029】
表示制御部205は、画像処理装置300が生成した仮想視点画像を取得し、仮想視点画像表示装置230に取得した仮想視点画像を表示する制御を行う。なお、表示制御部205は、画像処理装置300の機能に含まれていてもよく、画像処理装置300の表示制御部が生成した仮想視点画像を仮想視点画像表示装置230に表示する制御を行ってもよい。受付部206は、第2のオブジェクト等のユーザによる第2の制御装置200の操作部(不図示)の操作を受け付ける。
【0030】
画像処理装置300は、オブジェクト検出部301、第1の撮像画像管理部302、仮想視点画像生成部303、第2の撮像画像管理部304、合成仮想視点画像生成部305、表示制御部306、および仮想視点制御部307を有する。さらに、画像処理装置300はボール発射制御部308を有する。
【0031】
オブジェクト検出部301は、第1の撮像装置110が撮像することによって得られた撮像画像から、第1の撮像空間120内の選手やボールなどのオブジェクトを検出する。
本実施形態では、受信したそれぞれの画像からイメージピラミッドを作成し、SVMなどを用いてオブジェクトを検出するものとして説明するが、オブジェクトの検出方法はこの方法に限られない。
【0032】
第1の撮像画像管理部302は、第1の撮像装置110が撮像することによって得られた複数の撮像画像(撮像画像群)と、オブジェクト検出部301がオブジェクトを検出した結果を記憶させて管理する。
【0033】
仮想視点画像生成部303は、第1の撮像装置110が撮像することによって得られた撮像画像に基づき、第1の撮像空間120を仮想視点から見た仮想視点画像を生成する。仮想視点画像を生成する方法は後述する。
【0034】
第2の撮像画像管理部304は、第2の撮像装置210が撮像することによって得られた撮像画像およびその撮像画像に関する情報を第2の制御装置200から取得し、取得したデータを記憶させて管理する。
【0035】
合成仮想視点画像生成部305は、第1の撮像空間の任意の位置にユーザ222の三次元モデルを合成して、ユーザ222が合成された第1の撮像空間を仮想視点から見た画像である合成仮想視点画像を生成する。合成仮想視点画像生成部305の処理の詳細は後述する。
【0036】
表示制御部306は、合成仮想視点画像生成部305が生成した合成仮想視点画像を、合成画像表示装置410に表示する制御を行う。仮想視点制御部307は、合成仮想視点画像を生成する際の仮想視点を指示するための、オペレータによる操作装置420の操作を受け付ける。
【0037】
ボール発射制御部308は、画像処理システム1と接続しているボール発射装置1206(図12参照)がボールを発射する時刻等を算出し、ボール発射装置1206にボールを発射する指示を行う等の制御を行う。なお、ボール発射装置1206およびボール発射制御部308については実施形態2で説明する。本実施形態では、ボール発射制御部308が無い形態でもよい。
【0038】
[ハードウエア構成]
画像処理装置300のハードウエア構成について、図3を用いて説明する。なお、第1の制御装置100、および第2の制御装置200のハードウエア構成も、以下で説明する画像処理装置300の構成と同様である。画像処理装置300は、CPU311、ROM312、RAM313、補助記憶装置314、表示部315、操作部316、通信I/F317、及びバス318を有する。
【0039】
CPU311は、ROM312やRAM313に格納されているコンピュータプログラムやデータを用いて画像処理装置300の全体を制御する。なお、画像処理装置300がCPU311とは異なる1又は複数の専用のハードウエアを有し、CPU311による処理の少なくとも一部を専用のハードウエアが実行してもよい。専用のハードウエアの例としては、ASIC(特定用途向け集積回路)、FPGA(フィールドプログラマブルゲートアレイ)、およびDSP(デジタルシグナルプロセッサ)などがある。ROM312は、変更を必要としないプログラムなどを格納する。RAM313は、補助記憶装置314から供給されるプログラムやデータ、及び通信I/F317を介して外部から供給されるデータなどを一時記憶する。補助記憶装置314は、例えばハードディスクドライブ等で構成され、画像データや音声データなどの種々のデータを記憶する。
【0040】
表示部315は、例えば液晶ディスプレイやLED等で構成され、ユーザが画像処理装置300を操作するためのGUI(Graphical User Interface)などを表示する。操作部316は、例えばキーボードやマウス、ジョイスティック、タッチパネル等で構成され、ユーザによる操作を受けて各種の指示をCPU311に入力する。CPU311は、表示部315を制御する表示制御部、及び操作部316を制御する操作制御部として動作する。
【0041】
通信I/F317は、画像処理装置300の外部の装置との通信に用いられる。例えば、画像処理装置300が外部の装置と有線で接続される場合には、通信用のケーブルが通信I/F317に接続される。画像処理装置300が外部の装置と無線通信する機能を有する場合には、通信I/F317はアンテナを備える。バス318は、画像処理装置300の各部をつないで情報を伝達する。
【0042】
本実施形態では表示部315と操作部316が画像処理装置300の内部に存在するものとするが、表示部315と操作部316との少なくとも一方が画像処理装置300の外部に別の装置として存在していてもよい。
【0043】
図2を用いて説明した、図1の画像処理システム1を構成する装置の各機能は、夫々の装置のCPUが所定のプログラムを実行することにより実現されるが、これに限られるものではない。他にも例えば、演算を高速化するためのGPU(Graphics Processing Unit)、または、FPGA(Field Programmable Gate Array)などのハードウエアが利用されてもよい。すなわち、本実施形態の画像処理システム1を構成する装置の図2の各機能部は、ソフトウエアと専用ICなどのハードウエアとの協働で実現されてもよいし、一部またはすべての機能がハードウエアのみで実現されてもよい。
【0044】
[第1の撮像装置による撮像処理について]
図4は、第1の撮像装置110が撮像した動画像のフレームにおける、フレームに含まれるオブジェクトと、フレームのタイムコードを保持する処理を説明するためのシーケンス図である。図3のシーケンス図で示されるそれぞれの装置における処理は、それぞれ装置のCPUがROMに記憶されているプログラムコードをRAMに展開し実行することにより行われる。また、図4におけるステップの一部または全部の機能を、それぞれの装置のASICや電子回路等のハードウエアで実現してもよい。なお、各処理の説明における記号「S」は、当該フローにおけるステップであることを示すこととし、以下のシーケンス図またはフローチャートでも同様とする。
【0045】
S401において第1の撮像制御部101は、第1の撮像装置110を構成する夫々の撮像装置の実際の位置および姿勢等を示す実カメラパラメータを推定するために、キャリブレーションを実行する。例えば、キャリブレーションは次のとおり実行する。
【0046】
第1の撮像空間120に、キャリブレーションパターンを印刷した多数のマーカーを配置する。これらのマーカーを、第1の撮像装置110が撮像し、撮像した結果得られた撮像画像に含まれるキャリブレーションパターンの位置を対応づける。第1の撮像制御部101は、対応付けられた位置に基づき、透視投影モデルを用いて、第1の撮像装置110を構成する夫々の撮像装置の実際の位置および姿勢を示す実カメラパラメータを算出する。撮像装置の位置tは、例えば、式1で示すベクトルで表す。
【0047】
【数1】
【0048】
撮像装置の姿勢Rは、例えば、式2で示す回転行列で表す。
【0049】
【数2】
【0050】
S402において第1の撮像制御部101は、S401で推定した第1の撮像装置110の実カメラパラメータを画像処理装置300へ送信する。
【0051】
S403において画像処理装置300の第1の撮像画像管理部302は、第1の撮像装置110の実カメラパラメータをROM312または補助記憶装置314等の記憶部へ記憶させる。
【0052】
次のS404~S408は、第1の撮像装置110が1フレームを撮像し、その結果得られたフレームから検出されたオブジェクトと、フレームのタイムコードと、を保持するための処理である。
【0053】
S404において第1の撮像制御部101は、第1の撮像装置110に、時刻を同期させて1フレームの撮像を指示する。第1の撮像装置110は、例えば、スタジアムで行われているサッカーの試合を撮像する。
【0054】
S405において第1の撮像制御部101は、S404の処理の結果得られた第1の撮像装置110を構成する複数の撮像装置からそれぞれ1フレーム分の画像データを取得することで複数視点のフレームの画像データを取得する。そして、第1の撮像制御部101は、複数視点のフレームの画像データとそのフレームのタイムコードとを画像処理装置300へ送信する。
【0055】
S406で画像処理装置300は、S405で送信された複数視点の1フレーム分の画像データとタイムコードとを受信する。
【0056】
S407においてオブジェクト検出部301は、S406で受信した画像データが示す画像内に含まれるオブジェクトを検出する。例えば、オブジェクト検出部301は、受信したそれぞれの画像からイメージピラミッドを作成し、SVMなどの手法を用いてオブジェクトを検出する。
【0057】
S408において第1の撮像画像管理部302は、受信した複数視点の1フレームの画像データと、そのフレームのタイムコードと、そのフレームから検出されたそれぞれのオブジェクトの位置とを、関連付けて記憶させる。
【0058】
S409において第1の撮像制御部101は、第1の撮像装置110に撮像を続行させるかを判定する。撮像を終了する場合、本フローチャートの処理を終了する。撮像を続行する場合は、S404へ戻り、再度、第1の撮像装置110に1フレームの撮像を指示する。本ステップでの判定方法は、例えば、画像処理システム1の運営者等による撮像終了の指示が受け付けられた場合に撮像を終了すると判定する。
【0059】
[第2の撮像装置による撮像処理について]
図5は、画像処理装置300が生成する仮想視点画像に合わせて、第2の撮像装置に第2の撮像空間を撮像させる処理を説明するフローチャートである。
【0060】
S501において第2の撮像制御部201が、第2の撮像装置210を構成する夫々の撮像装置の実際の位置および姿勢等を示す実カメラパラメータを推定するために、キャリブレーションを実行する。そして、第2の撮像制御部201は、第2の撮像装置210を構成する夫々の撮像装置の実カメラパラメータを取得する。キャリブレーションの方法は、S401の方法と同様の方法により行えばよい。
【0061】
S502において第2の撮像制御部201は、第2の撮像装置210の実カメラパラメータを記憶させる。
【0062】
次に、第2の制御装置200の操作部(不図示)を介して、第2のオブジェクトが追体験するシーンが指定される。S503において受付部206は、第2の制御装置200の操作部(不図示)の操作を受け付けて、追体験するシーンの情報を取得する。具体的には、追体験するシーンの開始時刻と終了時刻のタイムコードとが指定される。また追体験の対象であるオブジェクトが、オブジェクト検出部301が検出したオブジェクトのうちから指定される。例えば、サッカーの試合のシュートシーンを追体験するシーンとする場合、開始時刻としてシュートした時刻の10秒前のタイムコードが指定され、終了時刻としてゴールした時刻の10秒後のタイムコードが指定される。10秒は、一例であり、任意に時間が設定されてもよい。また、選手122がそのシーンにおけるシュートした選手とすると、選手122が追体験するオブジェクトとして指定される。本実施形態では、追体験する選手として選手122が指定されるものとして説明する。なお、運営者がいくつかのシーンと時刻とを関連付けて保存しておき、保存されたシーンの中から所望のシーンが指定できるようにしてもよい。
【0063】
次に、第2の制御装置200の操作部(不図示)を介して、第2のオブジェクトが追体験するシーンの再生速度が指示される。S504において受付部206は、第2の制御装置200の操作部(不図示)の操作を受け付けて、追体験するシーンの再生速度を取得する。再生速度が等速に指定された場合、ユーザ222は、選手122による実際の速さの動作で、指定したシーンを追体験することができる。一方、再生速度をスローに指定した場合、ユーザ222は、選手122のプレイをより容易に再現することができる。シーンの指定および再生速度の指定は、例えば、ユーザ222が第2の制御装置200の操作部(不図示)を操作して指定する。
【0064】
そして、受付部206は、指定された、シーンとオブジェクトと再生速度とを画像処理装置300へ送信する。
【0065】
S505において仮想視点画像生成部303は、指定された、シーンとオブジェクトと再生速度とを受信して保持する。
【0066】
次のS506~S509は、第1の撮像装置110の撮像に基づく動画像のフレームから、1フレーム分の仮想視点画像を生成する処理が行われる。
【0067】
S506において仮想視点画像生成部303は、後続のステップであるS509において生成する1フレームの仮想視点画像に対応付ける時刻を決定する。時刻とは、本実施形態ではタイムコードであるものして説明する。タイムコードとは[時:分:秒.フレーム]の形式で表される時刻情報である。ループ処理における1回目の本ステップの処理では、指定されたシーンの開始時刻のタイムコードを仮想視点画像の時刻として決定する。2回目以降の本ステップの処理では、設定されたシーンの再生速度に応じて時刻を決定する。
【0068】
例えば、フレームレートが60fps(frames per second)の仮想視点画像を生成する場合を例に説明する。この場合、シーンの再生速度が等速に指定されたときは、1/60秒ごとに1フレーム分タイムコードを進めて、そのタイムコードを仮想視点画像の時刻として決定する。シーンの再生速度が2倍のスロー再生に指定されたときは、1/30秒ごとに1フレーム分、タイムコードを進める。
【0069】
S507において仮想視点画像生成部303は、第1の撮像空間120を仮想視点から見た画像である仮想視点画像を生成するための仮想視点を設定する。具体的には、仮想視点の位置、仮想視点からの視線方向を示す姿勢などを表す仮想視点パラメータを設定する。仮想視点パラメータは、実カメラパラメータと同様のパラメータである。ただし、仮想カメラパラメータは実カメラパラメータとは異なり、第1の撮像装置110が実在しない位置に視点を設定することができる。
【0070】
本ステップで決定される仮想視点に基づき生成される仮想視点画像は、ユーザ222が視聴するための画像であり、ユーザ222は、その仮想視点画像を見ながら選手122のプレイを再現する。このため、本ステップで設定される仮想視点は、例えば、指定された選手122を第3者の視点から見た視点に設定する。この場合、仮想視点からの視線方向は、指定されたシーンがゴールシーンの場合、ゴールの方向に設定することで、ユーザはプレイを再現しやすくなる。または、仮想視点からの視線方向は指定された選手122の視線方向と同じにしてもよい。この場合、仮想視点の位置は指定された選手122の顔の位置に設定してもよい。このように仮想視点を設定した場合、ユーザ222の追体験の度合いを高めることができる。
【0071】
本ステップにおける仮想視点の設定は、仮想視点画像生成部303が指定されたシーンまたは指定されたオブジェクトに応じて決定してもよい。または、画像処理システム1の運営者が仮想視点を指定し、仮想視点画像生成部303が指定された仮想視点を設定してもよい。
【0072】
S508において仮想視点画像生成部303は、第1の撮像空間120内のオブジェクトの三次元形状を示す三次元モデル(三次元形状データとも記す)を1フレーム分生成する。三次元モデルの生成方法は、例えば次のとおりに行う。
【0073】
まず、第1の撮像画像管理部302が管理している第1の撮像空間120を撮像して得られた動画像のフレームから、S506で決定された時刻に対応するフレームを、第1の撮像装置110を構成する夫々の撮像装置が撮像した分それぞれ取得する。
【0074】
取得した複数視点の1フレームに対してオブジェクトの領域を検出する。オブジェクトを検出する処理は、オブジェクト検出部301の処理と同様の方法が用いられてもよし、背景画像との差分に基づき検出してもよい。そして、オブジェクトの形状を示すシルエット画像と、撮像画像から切り出されたオブジェクトのテクスチャを表すテクスチャ画像と、を生成する。
【0075】
そして、シルエット画像を用いて、例えば視体積交差法により、オブジェクトの三次元モデルを生成する。この際に、第1の撮像装置110の実カメラパラメータが必要になるため、第1の撮像画像管理部302が管理している実カメラパラメータを使用する。第1の撮像空間を撮像した第1の撮像装置110の実カメラパラメータは変更されることがない。
【0076】
S509において仮想視点画像生成部303は、S508で生成された第1の撮像空間120内のオブジェクトの三次元モデルを、S507で設定された仮想視点から見た画像になるようにレンダリングする。具体的には、仮想視点から見た三次元モデルに対して当該時刻のテクスチャ画像を用いて着色処理する。こうして1フレーム分の仮想視点画像が生成される。
【0077】
S510において仮想視点画像生成部303は、生成された1フレーム分の仮想視点画像、S506で決定された時刻、およびS507で設定された仮想視点の仮想視点パラメータを第2の制御装置200に送信する。さらに仮想視点画像生成部303は、生成された仮想視点画像における指定されたオブジェクトの位置を第2の制御装置200に送信する。本実施形態では選手122の位置が送信される。
【0078】
次のS511~515は、第2の撮像装置210の撮像に基づくフレームの時刻および、第2の撮像装置210のカメラパラメータを、生成された仮想視点画像に合わせる処理を行う。
【0079】
S511において第2の制御装置200は、仮想視点画像、タイムコード、仮想視点パラメータ、および指定されたオブジェクトの位置を受信する。
【0080】
S512において表示制御部205は、受信した仮想視点画像に受信したタイムコードを重畳させて、タイムコードが重畳された仮想視点画像を仮想視点画像表示装置230に表示させる。ユーザ222は表示される仮想視点画像を見て、例えば、選手122の動きに合わせて動作することにより選手122のプレイを真似する楽しみを味わうことができる。
【0081】
S513において時刻合わせ部203は、S515で第2の撮像装置210が撮像することによって得られるフレームに対応付ける時刻を決定する。仮想視点画像表示装置230に仮想視点画像に重畳して表示されているタイムコードと同じタイムコードを、次にS515で第2の撮像装置210が撮像することにより得られるフレームに対応付ける時刻として決定する。
【0082】
仮想視点画像表示装置230において仮想視点画像に重畳して表示されているタイムコードは、直前のS506で決定されてS511で受信したタイムコードである。この結果、第2の撮像装置210がこれからS515で撮像することによって得られるフレームのタイムコードが、仮想視点画像表示装置230に現在表示されている仮想視点画像のタイムコードと同じになるように決定される。このように、第1の撮像空間120の仮想視点画像の時刻に、第2の撮像空間の撮像画像の時刻を合わせることで、シーンを逆再生するなどゲーム性を高めた場合でも、ユーザ222は、仮想視点画像を見ながら選手122に動きを真似し易くすることができる。
【0083】
S514において位置合わせ部204は、第2の撮像装置210のカメラパラメータに対して位置合わせ処理を行う。この位置合わせ処理により、仮想視点からの視線方向等に応じて、第2の撮像装置210の位置と姿勢を示す実カメラパラメータが変更される。具体的な処理手順は後述する。位置合わせがされた第2の撮像装置210の変更後のカメラパラメータ(変更後カメラパラメータと呼ぶ)は、位置合わせ前の実カメラパラメータとは別に、一時的に保存される。
【0084】
S515において第2の撮像制御部201は、第2の撮像装置210を構成する撮像装置に時刻同期させて第2の撮像空間220を撮像させる。その結果、ユーザ222を含む1フレームの複数視点の画像データを得る。
【0085】
S516において第2の撮像制御部201は、S515で取得した複数視点のフレームを示す画像データと、S513で決定したフレームのタイムコードとを画像処理装置300へ送信する。さらに第2の撮像制御部201は、S514の結果得られた第2の撮像装置210を構成する撮像装置の変更後カメラパラメータを画像処理装置300へ送信する。変更後カメラパラメータは、画像処理装置300へ送信された後、第2の制御装置200の記憶部から削除される。
【0086】
S517において画像処理装置300の第2の撮像画像管理部304は、複数視点の1フレーム分の画像データと、そのフレームのタイムコードと、第2の撮像装置210の変更後カメラパラメータを受信する。
【0087】
S518において第2の撮像画像管理部304は、受信した複数視点の1フレーム分の画像データ、そのフレームのタイムコード、第2の撮像装置210の変更後カメラパラメータを関連付けて記憶させる。
【0088】
S519において第2の撮像制御部201は、第2の撮像空間の撮像を終了するか否かを判定する。S506で設定された時刻が、S503で指定されたシーンの終了時刻と等しい場合に撮像を終了すると判定する。撮像を終了する場合は処理を終了し、終了しない場合はS506へ戻り、処理を繰り返す。
【0089】
なお、第2の撮像装置210が1台の撮像装置である場合、第2の撮像制御部201は、第2の撮像装置210を制御し、ユーザ222を追いかけるように撮像する構成としてもよい。
【0090】
[位置合わせ処理について]
図6は、S514における位置合わせ部204の処理手順を説明するフローチャートである。位置合わせ処理では、三次元モデルを生成するために用いられる第2の撮像装置210のカメラパラメータを、仮想視点の視線情報等に基づき変更する。本実施形態では、図9(b)に示すように、第2の撮像空間220の座標系の原点を中心とする円の円周上に設置された第2の撮像装置210を構成する夫々の撮像装置のカメラパラメータを変更するものとして説明する。なお、第2の撮像装置210は円周上でなくてもよく、第2の撮像空間220の空間に合わせて設置されればよい。
【0091】
S601において位置合わせ部204は、第2の撮像空間220内に基準点を設定する。例えば第2の撮像空間220の中心を基準点に設定する。この場合、第2の撮像空間の撮像を通して基準点は変わらない。他にも例えば、第2のオブジェクト(ユーザ222)の位置を基準点に設定してもよい。この場合、第2のオブジェクトの移動に伴い基準点も移動する。
【0092】
S602において位置合わせ部204は、第2の撮像空間220内の基準点が、第1の撮像空間内の指定されたオブジェクトである第1のオブジェクト(選手122)の位置と等しくなるよう移動するための平行移動ベクトルΔtを算出する。第1の撮像空間120の座標系における第1のオブジェクト(選手122)の位置p1は式3で表すものとする。なお、第1のオブジェクト(選手122)の位置は、S511で受信したフレームにおける位置である。なお、第2の撮像空間220内の基準点が、第1の撮像空間内の選手等ではない、指定された特定の位置に合うように調整されてもい。
【0093】
【数3】
【0094】
また、第2の撮像空間220の座標系における基準点の位置p2を式4で表すものとする。
【0095】
【数4】
【0096】
平行移動ベクトルΔtは、式5で表される。
【0097】
【数5】
【0098】
図7は、本ステップの処理を説明するための図である。図7(a)は、第1の撮像空間120内の座標系を表す図であり、図7(a)の点は、指定された選手122の位置を示している。図7(b)は、第2の撮像空間220内の座標系を表す図である。基準点701は、S601で設定された基準点である。平行移動ベクトルΔtは式5から、図7(c)のように表される。
【0099】
S603において位置合わせ部204は、仮想視点画像表示装置230に表示された仮想視点画像を生成するために設定された仮想視点からの視線方向を取得する。つまりS507で設定された仮想視点パラメータから仮想視点からの視線方向v20を取得する。仮想カメラの姿勢Rは式6で表される。
【0100】
【数6】
【0101】
仮想視点からの視線方向v20は、式7で表される。
【0102】
【数7】
【0103】
S604において位置合わせ部204は、S601で設定した第2の撮像空間220内の基準点から仮想視点画像表示装置230への向きを算出する。第2の撮像空間220の座標系における仮想視点画像表示装置230の位置p3を式8で表す。
【0104】
【数8】
【0105】
第2の撮像空間220内の基準点から仮想視点画像表示装置230への向きv10は、式9で求められる。
【0106】
【数9】
【0107】
S605において位置合わせ部204は、xy平面において、基準点から仮想視点画像表示装置230への向きv10が、仮想視点からの視線方向v20と等しくなるように回転するための回転行列を算出する。まず、xy平面における、第2の撮像空間220内の基準点から仮想視点画像表示装置230への向きv10と、仮想視点からの視線方向v20と、のなす角θを求める。基準点から仮想視点画像表示装置230への向きv10をxy平面に投影したベクトルをv1とすると、v1は式10で表される。
【0108】
【数10】
【0109】
仮想視点からの視線方向v20をxy平面に投影したベクトルをv2とすると、v2は式11で表される。
【0110】
【数11】
【0111】
よって、θは式12で求めることができる。
【0112】
【数12】
【0113】
xy平面において、基準点から仮想視点画像表示装置230への向きv10が、仮想視点からの視線方向v20と等しくなるように回転する回転行列ΔRは式13で表される。
【0114】
【数13】
【0115】
図8は、本ステップの処理を説明するための図である。図8(a)は、第1の撮像空間120内の座標系を表す図であり、図中の点は指定されたオブジェクトである選手122の位置を示している。また、仮想カメラ801は、S507で設定された仮想視点の位置と仮想視点からの視線方向を表し、仮想視点からの視線方向v20は仮想カメラ801の向きで表している。図8(b)は、第2の撮像空間220内の座標系を表す図であり、基準点701はS601で設定された基準点である。向きv10は、基準点701から仮想視点画像表示装置230への向きを表す。図8(c)に示すように、θは、xy平面における、仮想視点からの視線方向v20と、基準点701から仮想視点画像表示装置230への向きv10とのなす角となる。
【0116】
S606において位置合わせ部204は、回転行列ΔRを用いて、第2の撮像装置210を構成する撮像装置の姿勢をθだけ回転するように撮像装置の姿勢を表す実カメラパラメータを変更して、変更後カメラパラメータを得る。変更後の、第2の撮像装置210を構成する夫々の撮像装置の姿勢R’は、式14で求められる。式14におけるRは、位置合わせ前の第2の撮像装置210を構成する夫々の撮像装置の姿勢である。これによりフレームごとに姿勢の位置合わせが可能になる。
【0117】
【数14】
【0118】
S607において位置合わせ部204は、算出された回転行列ΔRと平行移動ベクトルΔtとを用いて、第2の撮像装置210を構成する撮像装置の位置を示す実カメラパラメータを変更して、変更後カメラパラメータを得る。移動後の、第2の撮像装置210を構成する夫々の撮像装置の位置t’は、式15で求められる。式15におけるtは、本ステップによる位置合わせ前の第2の撮像装置210を構成する夫々の撮像装置の位置である。移動後の位置を示す変更後カメラパラメータを用いることによってフレームごとに第1の撮像空間との位置合わせが可能になる。
【0119】
【数15】
【0120】
変更後カメラパラメータはS501でキャリブレーションした結果得られた実カメラパラメータとは別に保存される。S606の処理の結果得られた回転後の姿勢と、S607の処理の結果得られた移動後の位置とを示す第2の撮像装置210の変更後カメラパラメータは、前述したように第2の制御装置200に一時的に記憶され、S516で画像処理装置300へ送信される。第2の撮像制御部201に保持されているS501でキャリブレーションした結果得られた実カメラパラメータは、本フローチャートの完了後も、変更されないで記憶されている。
【0121】
図9は、位置合わせ後の変更後カメラパラメータが示す撮像装置の位置と姿勢を説明するための図である。図9(a)は、第1の撮像空間120を示す図である。仮想カメラ801は、S507で設定された仮想視点の位置と仮想視点からの視線方向を表し、点は選手122の位置を表す。S601で第2の撮像空間220の座標系の原点に基準点が設定されたとすると、平行移動ベクトルΔtは図9(a)に示すように原点から選手122までのベクトルで表される。
【0122】
図9(b)は、第2の撮像空間220と、第2の撮像空間220に設置された第2の撮像装置210を構成する撮像装置の実際の位置と姿勢を示す図である。つまり、図9(b)中の撮像装置の位置および姿勢は、た第2の撮像装置210の実カメラパラメータが示す撮像装置の位置および姿勢を示す図である。第2の撮像装置210を構成する撮像装置のうちカメラAの位置と姿勢(向き)に着目して本フローチャートの処理の結果を説明する。
【0123】
図9(c)は、S606による実カメラパラメータを変更した結果得られる変更後カメラパラメータが示す撮像装置の向きを示す図である。点線の矢印はS606の処理が行われる前のカメラパラメータが示す撮像装置の向きを表し、実線の矢印はS606の処理が行われた後のカメラパラメータが示す撮像装置の向きを表す。図9(c)に示す通り、S606の処理の結果、撮像装置の向きがθだけ回転するように実カメラパラメータが変更される。図9(d)は、S607による実カメラパラメータを変更した結果得られる変更後カメラパラメータが示す撮像装置の位置を示す。図9(c)に示す通り、撮像装置の位置が原点を中心にθ回転して、Δtだけ平行移動した位置になるように実カメラパラメータが変更される。
【0124】
[合成仮想視点画像の生成処理について]
図10は、画像処理装置300が合成仮想視点画像を生成して、合成仮想視点画像を合成画像表示装置410に表示する処理を説明するためのフローチャートである。
【0125】
はじめに、オペレータ244が操作装置420を操作してシーンを指定する。オペレータ244が指定可能なシーンはS503で指定されたシーンである。S1001において仮想視点制御部307は、オペレータ244が操作装置420を介して指定したシーンを示す情報を取得する。
【0126】
次に、オペレータ244は、操作装置420を操作して、シーンの再生速度を指定する。オペレータが指定可能な再生速度には、等速再生、スロー再生などが含まれる。S1002において仮想視点制御部307は、オペレータ244が操作装置420を介して指定した再生速度を示す情報を取得する。
【0127】
S1003~S1008の処理は、指定されたシーンの1フレーム分の合成仮想視点画像を生成して合成仮想視点画像を表示させる処理である。
【0128】
オペレータ244が操作装置420を操作して、仮想視点の位置および仮想視点からの視線方向を指示する。合成仮想視点画像の開始時点では、指定されたシーンに応じてデフォルトの仮想視点が設定されているものとする。オペレータ244は仮想視点を、デフォルトの状態から、前後上下左右へ移動させ、パン、チルトのように向きを変更させ、ズームさせる等の操作することができる。S1003において仮想視点制御部307は、オペレータ244による操作装置420の操作の情報を取得して、仮想視点の位置および仮想視点からの視線方向を表す仮想視点パラメータを設定する。
【0129】
S1004において仮想視点制御部307は、指定された再生速度に応じて、合成仮想視点画像を生成するための時刻を更新する。時刻とは、具体的には、タイムコードである。ループ処理の1回目の本ステップの処理では、指定されたシーンの開始時のタイムコードが決定される。2回目以降の本ステップの処理では、指定されたシーンの再生速度に応じて時刻を更新する。更新の方法はS506で説明した方法と同様である。
【0130】
S1005において合成仮想視点画像生成部305は、S1003で設定された仮想視点パラメータとS1004で設定された時刻とを取得する。そして、合成仮想視点画像生成部305は、S1004で設定された時刻に対応する第1の撮像空間120内のオブジェクトの三次元モデルを生成する。生成の方法は、S508と同様であるため説明は省略する。または、図5のフローチャートの処理で生成された第1の撮像空間120内のオブジェクトの三次元モデルが記憶されている場合、本ステップでは三次元モデルは生成しないで、S1004で設定された時刻に対応する三次元モデルを取得してもよい。
【0131】
S1006において合成仮想視点画像生成部305は、S1005で設定された時刻に対応するユーザ222(第2のオブジェクト)の三次元モデルを生成する。例えば、次のとおりにユーザ222の三次元モデルを生成する。まず、第2の撮像画像管理部304が管理している第2の撮像装置210の撮像に基づく撮像画像から、S1004で設定された時刻に対応する、夫々の撮像装置の1フレームの画像データを取得する。取得した夫々の1フレームに対して、オブジェクトの領域を検出する。そして、視体積交差法を用いて第2のオブジェクトの三次元モデルを生成する。この際、ユーザ222を撮像した第2の撮像装置210のカメラパラメータが必要になるが、第2の撮像画像管理部304が管理している変更後カメラパラメータのうち、S1004で設定された時刻に対応する変更後カメラパラメータが用いられる。つまり、変更後カメラパラメータは、フレームごとに異なる値である。
【0132】
本ステップによって、選手122の位置にS601で設定した基準点が位置するようにユーザ222の三次元モデルが生成される。例えば、基準点をユーザ222の位置として設定した場合は、選手122の位置にユーザ222が位置するようにユーザ222の三次元モデルが生成される。
【0133】
S1007において合成仮想視点画像生成部305は、第1の撮像空間120内のオブジェクトの三次元モデルと、ユーザ222の三次元モデルとが同じ三次元空間に配置されるように生成した三次元モデルを合成する。
【0134】
ユーザ222を撮像した第2の撮像装置210の変更後カメラパラメータは、第1の撮像空間120の仮想視点画像に合わせて位置合わせされたものである。よって、S1006では、ユーザ222が第1の撮像空間120内の指定されたオブジェクトである選手122に基づく位置に存在するようにユーザ222の三次元モデルが生成されている。第1の撮像空間120のオブジェクトの三次元モデルと第2のオブジェクトの三次元モデルとを合わせることで、第1の撮像空間120のオブジェクトと共に第1の撮像空間120の所定の位置にユーザ222が存在する三次元モデルを得ることができる。
【0135】
そして、合成仮想視点画像生成部305は、合成された三次元モデルをS1003で設定された仮想視点から見た画像となるようにレンダリングして1フレームの合成仮想視点画像を生成する。背景は、第1の撮像空間120の背景を用いてレンダリングを行う。なお、合成仮想視点画像をレンダリングする際に、選手122の存在を抑制する処理が行われてもよい。例えば、選手122の三次元モデルを削除してもよい。または、選手122の三次元モデルを透過表示するようにレンダリングしてもよい。
【0136】
S1008において合成仮想視点画像生成部305は、生成された1フレーム分の合成仮想視点画像と、その時刻とを表示制御部306へ出力する。表示制御部306は、1フレームの合成仮想視点画像を合成画像表示装置410に表示する制御を行うことで、1フレームの合成仮想視点画像は観客243が視聴可能な合成画像表示装置410に表示される。このため、合成仮想視点画像は、合成仮想視点画像の視聴者である観客243に対し、ユーザ222による選手122のプレイの再現度合いを確認するという楽しみを提供できる。
【0137】
S1009において表示制御部306は、合成仮想視点画像の表示を終了するか否かを判定する。受信した時刻が、指定されたシーンの終了時刻と等しい場合に表示を終了すると判定する。表示を終了する場合は処理を終了し、終了しない場合はS1003へ戻り、表示を続ける。
【0138】
以上説明したように本実施形態では、仮想視点画像表示装置230に表示される仮想視点画像に応じて、ユーザを撮像する第2の撮像装置の位置および姿勢を示す視線情報であるカメラパラメータを変更する。そして、変更したカメラパラメータを用いてユーザ222の三次元モデルを生成することにより、第1の撮像空間120内の任意の位置に、任意の向きでユーザ222を合成した合成仮想視点画像を生成することができる。
【0139】
このカメラパラメータの変更はフレームごとに行われる。フレームごとにカメラパラメータを変更することにより、注目点(例えば選手122の位置)がフレームごとに異なる場合でも、注目点を基準とした位置にユーザ222を適切に合成された合成仮想視点画像を生成することができる。このため、野球のバッターのように指定されるオブジェクトの位置が固定されている場合だけでなく、サッカーのシュートシーンのように指定されるオブジェクトの位置および向きが変わる動的なシーンにもユーザを合成させることができる。
【0140】
また、第2の撮像空間内220の基準点をユーザ222の位置とした場合、ユーザの位置から仮想視点画像表示装置230の位置への向きに応じて、第2の撮像装置210のカメラパラメータを変更する。これにより、例えば、仮想視点画像を見て選手122のシュートの動作を真似て動作するユーザ222を適切な位置および向きで合成して合成仮想視点画像を生成することができる。
【0141】
本実施形態における画像処理システム1を構成する各装置の機能は、画像処理システム1を構成する装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても実現される。本実施形態における画像処理システム1を構成する各装置の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、画像処理システム1を構成する装置に供給してもよい。この場合、記憶媒体から読み出されたプログラムコード自体が本実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本実施形態を構成することになる。プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD-ROM,CD-R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。
【0142】
また、コンピュータが読み出したプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行うことで画像処理システム1を構成する各装置の機能が実現されてもよい。
【0143】
また、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれてもよい。そして、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行うことで本実施形態における画像処理システム1を構成する各装置の機能が実現されてもよい。
【0144】
なお、第2の撮像装置群に含まれる複数の撮像装置の視線情報を変更しなくてもよい。例えば、第1の撮像装置群により撮像される撮像空間の座標系と、第2の撮像装置群により撮像される撮像空間の座標系とを調整すればよい。例えば、第2の撮像空間の中心を基準点とする場合、座標変換を利用して、第2の撮像装置群により撮像された画像に基づいて生成されたオブジェクトの三次元モデルを、第1の撮像装置群により撮像される撮像空間の所定の位置及び向きで配置することができる。つまり、第2の撮像空間の中心を基準点と表示部の位置は、仮想視点の位置及び仮想視点からの視線方向とは関係なく、固定されるため、座標変換の係数が一意に決めることができる。そのため、座標変換の係数を予め取得しておくことで、処理負荷を軽減し、処理速度を向上させることができる。
【0145】
<実施形態2>
本実施形態では、第2の撮像空間に設置されたボール発射装置を用いて、ユーザがより臨場感もって第1のオブジェクトのプレイを追体験するための方法を説明する。本実施形態については、実施形態1からの差分を中心に説明する。特に明記しない部分については実施形態1と同じ構成および処理である。
【0146】
本実施形態で想定するシーンは、サッカーの試合において、選手122にパスされたボールを選手122がシュートしたシーンである。本実施形態では、ボール発射装置1206が実際にボールを発射することによって、当該シーンのパスを再現する方法を説明する。
【0147】
図11は、ボール発射制御部308の処理手順を説明するフローチャートである。本フローチャートの処理は、S503でシーンが指定された後、第2の撮像装置210がユーザの撮像を開始する前までに開始される。本フローチャートの処理では、選手122にパスされたボールを選手122がシュートしたシーンがS503で指定されたものとして説明する。
【0148】
S1101においてボール発射制御部308は、S503で指定されたシーンの中で、パスされたボールを選手122が受けた時刻のタイムコードを取得する。例えば、ボールを受けた時刻をユーザに指定させてもよい。
【0149】
S1102においてオブジェクト検出部301は、S1101で取得されたタイムコードにおけるボールが移動した向きを算出する。具体的には、オブジェクト検出部301は、取得されたタイムコードの1フレーム前のボールの位置と、取得されたタイムコードのフレームのボールの位置と、を検出する。そして、夫々の位置の差分からボールが移動する向きを算出する。
【0150】
図12は、本フローチャートの処理を説明するための図である。図12(a)は、第1の撮像空間120を示す図であり、本ステップの処理の結果、ボール1201の移動する向き1202が算出される。
【0151】
S1103においてボール発射制御部308は、S1102で算出されたボールが移動する向きを、第2の撮像空間220における向きに変換する。本実施形態では、仮想視点画像表示装置230へ表示する仮想視点画像を生成するための仮想視点からの視線方向は、フレームに基づき仮想視点画像生成部303が決定しているものとして説明する。
【0152】
ボール発射制御部308は、S1101で取得されたタイムコードにおける仮想視点からの視線方向を取得し、さらにそのタイムコードにおける回転行列ΔRをS605で説明した方法で算出して、その逆行列ΔR-1を算出する。第2の撮像空間220におけるボールの向きは式16によって算出される。
第2の撮影撮像空間における向き=ΔR-1・第1の撮像空間でボールが移動する向き
(式16)
【0153】
図12(b)は第2の撮像空間220を示す図である。図12(a)で示した第1の撮像空間120でのボールが移動する向き1202は、本ステップの処理の結果、向き1204に変換される。向き1204は、基準点701から仮想視点画像表示装置230への向きV10を、仮想カメラの向きと同じ向きとした場合の、ボールが移動する向きである。
【0154】
S1104においてボール発射制御部308は、ボール発射装置1206のボール発射位置1203から第2の撮像空間220内のキック位置への向きが、S1103で算出された向き1204と等しくなるような位置を決定する。そしてボール発射装置1206のボール発射位置が決定した位置になるようにボール発射装置1206を移動させる。例えば、図12(b)は、第2の撮像空間220の中心がキック位置1205とした例である。図12(b)では、ボール発射位置1203からキック位置1205への向きが、S1103で算出された向き1204と等しくなるようにボール発射装置1206が移動されたようすを示している。ボール発射装置1206がボールを発射するために移動可能な位置が限られている場合、S1103で算出された向き1204とボール発射位置1203からキック位置1205への向きとが最も近くなる位置にボール発射装置1206を移動させる。
【0155】
次に、ユーザ222によって第2の制御装置200の操作部(不図示)を介して発射されるボールの速度が指定される。例えば、高速、中速、低速のようにいくつかの候補の中から、ユーザ222は何れかの速度を指定する。S1105において受付部206は、ユーザが指定した速度が受け付け、ボール発射制御部308はユーザが指定した速度を取得する。
【0156】
S1106においてボール発射制御部308は、ボールを発射する時刻を示すタイムコードを算出する。例えば、ボール発射位置1203からキック位置1205までの距離を、ユーザによって指定されたボールの速度で割り、ボールがボール発射位置1203からキック位置1205へ到達するまでの時間を求める。そして、選手122がボールを受けた時刻から、先に求めた時間を引いて得られた時刻を、ボールを発射する時刻を示すタイムコードとして算出する。
【0157】
その後、図5のフローチャートの処理を進めることで、S1107においてボール発射制御部308は、仮想視点画像表示装置230に表示された仮想視点画像のタイムコードを取得する。
【0158】
S1108においてボール発射制御部308は、取得したタイムコードがボールを発射する時刻のタイムコードと等しいか否かを判定する。等しい場合はS1109へ進む。等しくない場合はS1107へ戻る。
【0159】
S1109においてボール発射制御部308は、ボール発射装置1206に、キック位置1205へ向けて指定された速度でボールを発射させる。
【0160】
以上説明したように、本実施形態によれば、ボール発射装置を用いることにより、ユーザがより臨場感もって第1のオブジェクトのプレイを追体験することができる。
【0161】
<その他の実施形態>
上述した実施形態では、第1の制御装置100、第2の制御装置200、画像処理装置300の機能はそれぞれ装置に有するものとして説明した。他にも、1つのまたは2つの装置により、図2で示した、第1の制御装置100、第2の制御装置200、および画像処理装置300の機能が実現されてもよい。例えば、画像処理装置300が、第1の制御装置100、第2の制御装置200の機能を有していてもよい。
【0162】
本開示は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0163】
300 画像処理装置
302 第1の撮像画像管理部
304 第2の撮像画像管理部
305 合成仮想視点画像生成部
230 仮想視点画像表示装置
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12