(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-25
(45)【発行日】2022-12-05
(54)【発明の名称】画像処理装置、画像処理方法およびプログラム
(51)【国際特許分類】
G06T 19/00 20110101AFI20221128BHJP
G09G 5/00 20060101ALI20221128BHJP
G09G 5/36 20060101ALI20221128BHJP
G09G 5/38 20060101ALI20221128BHJP
H04N 5/232 20060101ALI20221128BHJP
【FI】
G06T19/00 A
G09G5/00 510A
G09G5/00 510V
G09G5/00 550C
G09G5/36 520D
G09G5/38 Z
H04N5/232 380
(21)【出願番号】P 2018125941
(22)【出願日】2018-07-02
【審査請求日】2021-06-30
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100124442
【氏名又は名称】黒岩 創吾
(72)【発明者】
【氏名】石井 正俊
【審査官】岡本 俊威
(56)【参考文献】
【文献】国際公開第2013/175923(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 17/00-19/20
G09G 5/00- 5/42
H04N 5/232
(57)【特許請求の範囲】
【請求項1】
撮像画像の撮像画像データを取得する第1の取得手段と、
前記撮像画像データを用いて、前記撮像画像の少なくとも一部を表示システムに表示した場合の表示画像を生成する第1の生成手段と、
前記撮像画像と前記表示画像とを、前記表示システムとは異なる表示装置の一つのスクリーン上に配置して表示するための表示画像データを生成する第2の生成手段とを有することを特徴とする画像処理装置。
【請求項2】
前記表示システムは、湾曲スクリーンであることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記表示システムは、複数の平面ディスプレイを組み合わせた構成であることを特徴とする請求項1に記載の画像処理装置。
【請求項4】
前記表示システムの構成を示す表示システム情報を取得する第2の取得手段を有し、
前記第1の生成手段は、前記表示システム情報と前記撮像画像データとに基づいて、仮想空間において前記表示システムに対応するオブジェクトに前記表示画像をレンダリングすることで、前記表示画像を生成することを特徴とする請求項1乃至3の何れか一項に記載の画像処理装置。
【請求項5】
前記仮想空間における仮想視点の位置を設定する第1の設定手段を有し、
前記第1の設定手段は、前記表示装置の姿勢に関する姿勢情報を取得し、前記姿勢情報に基づいて前記仮想視点を設定することを特徴とする請求項4に記載の画像処理装置。
【請求項6】
前記表示装置は、ヘッドマウントディスプレイであることを特徴とする請求項1乃至5の何れか一項に記載の画像処理装置。
【請求項7】
前記表示システムを鑑賞する際の理想視点の位置を設定する第2の設定手段を有し、
前記第2の設定手段は、前記オブジェクトを前記仮想空間に配置し、前記理想視点の位置から前記オブジェクトに前記表示画像を逆射影することを特徴とする請求項4に記載の画像処理装置。
【請求項8】
前記撮像画像を撮像している時の撮像装置の撮像パラメータを取得する第3の取得手段とを有し、
前記第1の生成手段は、前記撮像パラメータに基づいて、前記撮像装置が撮像している画像を前記仮想空間に表示するための画像を生成することを特徴とする請求項4に記載の画像処理装置。
【請求項9】
前記取得された撮像画像と前記生成された表示画像は、前記スクリーン上で重複しないことを特徴とする請求項1乃至5の何れか一項に記載の画像処理装置。
【請求項10】
コンピュータを、請求項1乃至9の何れか一項に記載の画像処理装置として機能させるためのプログラム。
【請求項11】
撮像画像の撮像画像データを取得し、
前記撮像画像データを用いて、前記撮像画像の少なくとも一部を表示システムに表示した場合の表示画像を生成し、
前記撮像画像と前記表示画像とを、前記表示システムとは異なる表示装置の一つのスクリーン上に配置して表示するための表示画像データ生成することを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、広視野に画像を表示する表示システムをシミュレーションする技術に関する。
【背景技術】
【0002】
従来、画像を表示する表示システムの一つとして、鑑賞者の視野を覆うように配置された表示画面に画像を表示することで、鑑賞者に高い臨場感を与えるシステムが知られている。特許文献1は、鑑賞者に凹面を向けた球面状の広視野角のスクリーンに画像を表示する方法が記載されている。この方法によれば、平面状の画像を球面形状に貼り付けるマッピング処理を行うことで、スクリーンに表示する画像を生成している。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
このような広視野に画像を表示する表示システムにおいては、撮像して得られた平面状の画像に対して所定の幾何変換や射影変換を実行した画像が表示画像として用いられる。そのため従来においては、撮像した画像が表示システムに表示された時の見えは、実際の表示システムを設置した環境において画像を表示しなければ確認できなかった。
【0005】
そこで本発明は、表示システムに画像が表示された環境を仮想視点から鑑賞した画像を生成することで、表示システムに画像が表示された時の見えを提示することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するため本発明は、撮像画像の撮像画像データを取得する第1の取得手段と、前記撮像画像データを用いて、前記撮像画像の少なくとも一部を表示システムに表示した場合の表示画像を生成する第1の生成手段と、前記撮像画像と前記表示画像とを、前記表示システムとは異なる表示装置の一つのスクリーン上に配置して表示するための表示画像データを生成する第2の生成手段とを有することを特徴とする。
【発明の効果】
【0007】
表示システムに画像が表示された環境を仮想視点から鑑賞した時の画像を生成することで、表示システムに画像が表示された時の見えを提示することができる。
【図面の簡単な説明】
【0008】
【
図1】本実施形態における撮影支援システムの概要および、シミュレーションの対象となる表示環境を示す図
【
図4】画像処理装置が実行する画像処理のフローチャート
【
図6】パラメータ設定用のグラフィカルユーザインターフェース(GUI)を示す図
【
図7】表示システムおよび第1の画面オブジェクトを説明する図
【
図10】投影画像と第1のテクスチャとの関係を示す図
【
図12】画像処理装置が実行する画像処理のフローチャートを示す図
【
図13】第2の画面オブジェクトの表示切替え用GUIを示す図
【発明を実施するための形態】
【0009】
以下、本発明に適用可能な実施形態について、添付の図面を参照して説明する。なお、以下の実施形態は本発明を必ずしも限定するものではなく、また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【0010】
<第1実施形態>
本実施形態では、撮影した画像が実際の表示システムにおいてどのように表示されるかをHMD(ヘッドマウントディスプレイ)に表示する撮影支援システムについて説明する。
図1は、本実施形態における撮影支援システムの概要および、シミュレーションの対象となる表示システムを説明する図である。本実施形態における撮影支援システムでは、撮影した画像が、広視野に画像を表示できる表示システムに表示されることを想定している。
図1(b)は、本実施形態がシミュレーションの対象とする広視野に画像を表示可能な表示システムの一例を示す図である。この表示システムでは、それぞれ画像を表示可能な3つのディスプレイが視聴者の視野を覆うように配置された表示部105を有する。表示システムにおいて、3つのディスプレイそれぞれに表示される画像は、1つの撮像画像106から生成される。撮像画像における領域109は表示部における左ディスプレイに、領域108は中央ディスプレイに、領域107は右ディスプレイに表示される。このように表示システムに画像を表示すると、表示システムの視聴者に対して、表示されている画像を撮影した場にいるかのような臨場感を与えることができる。
【0011】
ただし、撮像装置101を用いて撮影している際には、撮像中の画像が表示システムにおいてどのように表示されるのかがわかりにくい。そこで本実施形態では、撮像している画像が表示システムに表示された表示環境を仮想空間に構築し、ユーザの姿勢方向に応じて仮想空間における表示画像を生成し、表示することで、HMDを装着しているユーザに表示システムのシミュレーションを表示する。
【0012】
図1は、本実施形態が想定する撮影支援システムの例を示す。本実施形態における撮影支援システムは、動画を撮像可能な撮像装置101、各種画像処理を行う画像処理装置102、第1の表示装置103、第2の表示装置104から構成される。撮像装置101は、例えば広角レンズを備えるビデオカメラを用いる。第1の表示装置103は、GUI(グラフィカルユーザインターフェース)を表示するための装置であり、液晶ディスプレイなどの一般的なモニタを用いる。第2の表示装置104は、表示画像を表示するための装置であり、ユーザの頭部の動きに応じた画像を表示が可能なHMDを用いる。HMDは、ユーザの頭部の位置と姿勢を取得可能なセンサを備えているものとする。これは、例えば加速度センサ、ジャイロセンサに加えて、HMDに組付けられた赤外光LEDと図示しない外部赤外光カメラでの組み合わせによって構成される。HMDはこれらのセンサの情報や赤外光カメラが取得した情報を出力する。
【0013】
画像処理装置102は、例えばPC(パーソナルコンピュータ)を用いる。撮像装置101から動画を取得し、各種画像処理を施して表示画像を生成して第2の表示装置104に表示画像を表示する。また、画像処理装置102は、第1の表示装置103に各種処理に必要なパラメータを設定するためのGUI画面を表示させる。第1の表示装置103におけるGUIを介して入力されたユーザの操作に基づいて、画像処理装置102は画像処理に必要な各種パラメータを取得する。
【0014】
図2は、本実施形態における画像処理装置102のハードウェア構成を示す。CPU201は、RAM202をワークメモリとして、ROM203及びハードディスクドライブ(HDD)205に格納されたプログラムを実行し、システムバス200を介して後述する各構成を制御する。これにより、後述する様々な処理が実行される。HDDI/F204は、例えばシリアルATA(SATA)等のインタフェイスであり、HDD205や光ディスクドライブなどの二次記憶装置を接続する。CPU201は、HDDI/F204を介して、HDD205からのデータ読み出し、およびHDD205へのデータ書き込みが可能である。さらにCPU201は、HDD205に格納されたデータをRAM202に展開し、同様に、RAM202に展開されたデータをHDD205に保存することが可能である。そしてCPU201は、RAM202に展開したデータをプログラムとみなし、実行することができる。
【0015】
入力I/F206は、例えばUSBやIEEE1394等のシリアルバスインタフェイスであり、キーボードやマウスなどの入力デバイス207を接続する。CPU201は、入力I/F206を介して入力デバイス207からデータを読み込むことが可能である。表示I/F208は、例えばDVIやHDMI(登録商標)等のインタフェイスであり、液晶ディスプレイやプロジェクタ、HMDなどの表示デバイス209を接続する。CPU201は、表示I/F208を介して表示デバイス209にデータを送り、表示を実行させることができる。本実施形態において表示デバイス209は、
図1に示す第1の表示装置103である液晶ディスプレイ、および第2の表示装置104であるHMDである。映像入力I/F210は、例えばSDIやHDMIなどのインタフェイスであり、ビデオカメラなどの撮像デバイス211を接続する。CPU201は、映像入力I/F210を介して撮像デバイス211から動画データなどの映像データを取得することができる。本実施形態において撮像デバイス211は、
図1に示す撮像装置101である。位置姿勢センサI/F212は、例えばUSBなどのインタフェイスである。位置姿勢センサI/F212は、第2の表示装置104に付帯する加速度センサやジャイロセンサなどの位置姿勢センサ213と、表示装置104に配置された既知の赤外線LEDのパターンを取得するための赤外線カメラを接続する。CPU201は、位置姿勢センサI/Fを介して位置姿勢センサ213からユーザの頭部の位置と、頭部の向きや傾きを算出するための姿勢情報を取得する。
【0016】
図3は、本実施形態における画像処理装置102の詳細な機能構成を示すブロック図である。
図2において画像処理装置102は、画像取得部301、理想視点設定部302、撮像パラメータ設定部303、位置姿勢取得部304、仮想空間設定部305、表示画像生成部310、出力部309を有する。さらに表示画像生成部310は、第1のテクスチャ生成部306、第2のテクスチャ生成部307、レンダリング部308を有する。
【0017】
画像取得部301は、撮像装置101から動画のフレーム画像を取得し、入力画像として第1のテクスチャ生成部306、および第2のテクスチャ生成部307に出力する。
【0018】
理想視点設定部302は、表示システムにおける表示部に表示された画像を鑑賞する際の理想的な視点の位置を仮想空間内の原点として設定する。理想視点設定部302は設定した仮装空間を示す情報を、仮想空間設定部305、および第1のテクスチャ生成部306に出力する。
【0019】
撮像パラメータ設定部303は、撮像装置101に関わる情報として、ユーザが第1の表示装置に表示されたGUIを介して入力したレンズの焦点距離、射影方式、および撮像センサのサイズを取得する。撮像パラメータ設定部303は、取得した撮像パラメータを設定し、第1のテクスチャ生成部306に出力する。
【0020】
位置姿勢取得部304は、HMDからHMDを装着しているユーザの頭部の位置および向きや傾きなどの姿勢を算出するための姿勢情報を取得する。位置姿勢取得部304は、取得した姿勢情報をレンダリング部308に出力する。
【0021】
仮想空間設定部305は、シミュレーションのターゲットとなる実際の表示システムをシミュレーションするための仮想空間を設定する。まず仮想空間設定部305は、実際の表示システムにおける表示部の構成を示す表示システム情報に基づいて、表示部(ディスプレイ)に対応する第1の画面オブジェクトを配置する。ここでは第1の画面オブジェクトは、
図7に示すように3つの平面画面が連結され、上方から見た時に等脚台形を描くようなオブジェクトである。また仮想空間設定部305は、撮像装置101が撮像している動画のフレーム画像をそのままの画角で表示するための第2の画面オブジェクトを仮想空間に配置する。第2の画面オブジェクトは、矩形である。また仮想空間設定部305は、仮想空間においてシミュレーションされる表示システムのリアリティを向上させるために床や背景を表示するためのオブジェクトも仮想空間内に配置する。そして、これらの仮想空間の情報を第2のテクスチャ生成部307とレンダリング部308に出力する。
【0022】
第1のテクスチャ生成部306は、理想視点位置を示す情報と撮像パラメータに基づいて、動画のフレーム画像から第1の画面オブジェクトに表示するための第1のテクスチャを生成し、レンダリング部308に出力する。第2のテクスチャ生成部307は、動画のフレーム画像から第2の画面オブジェクトに表示するための第2のテクスチャを生成し、レンダリング部308に出力する。
【0023】
レンダリング部308は、各種入力された情報に基づいてレンダリング処理を行い、HMDに表示する画像を生成し、出力部309に出力する。出力部309は、レンダリング部308により生成された表示画像をHMDに出力し、表示を制御する。
【0024】
以下、本実施形態の画像処理装置102が実行する処理の流れについて説明する。
図4は、画像処理装置102が実行する処理のフローチャートである。CPU201は、ROM203又はHDD204に格納された
図4に示すフローチャートを実現するプログラムを読み出して、RAM202をワークエリアとして実行する。これによりCPU201は、
図3に示す各機能構成としての役割を果たす。なお、以降のフローチャートにおいては各工程(ステップ)を「S」と表記することとする。
【0025】
S401において仮想空間設定部305は、シミュレーションのターゲットとなる実際の表示環境に配置された表示システムの表示部(ディスプレイ)を仮想空間内に再現するための第1の画面オブジェクトを設定する。仮想空間設定部305は、表示部である各ディスプレイのサイズや配置に関する表示システム情報を、第1の表示装置103に表示されたGUIを介して入力されるユーザの指示により取得する。
図6に、パラメータを設定するためのGUIの例を示す。ユーザは表示装置構成のドロップダウンリスト604から所望の表示システム構成を選択する。
図6では、「180インチ3面 120°」が選択されていることを示している。これは、180インチのディスプレイが3面、接する2つのディスプレイが120°の角度をなすように配置された表示システムであることを意味する。ドロップダウンリスト604にある各表示システムの候補それぞれについては、表示システムの構成に対応するオブジェクトの頂点座標やUB座標などを記述したオブジェクトファイルがHDD104に格納されている。ユーザにより表示システム構成が選択されると、仮想空間設定部305は、オブジェクトファイルの中から、選択された表示システム構成に対応するファイルを読み込み、第1の画面オブジェクトを生成する。なお、オブジェクトファイルには例えば、CG(コンピュータグラフィックス)分野において一般的に用いられるOBJファイルなどの公知のファイルフォーマットを用いればよい。本実施形態では、ドロップダウンリストを通して間接的にオブジェクトファイルを選択するようにしたが、ファイル選択ダイアログを用いて直接所望のファイルを選択するようにしてもよい。
【0026】
図7に本実施形態における第1の画面オブジェクトの例を示す。第1の画面オブジェクトは、3つの平面画面それぞれに対応する3つの矩形オブジェクトによって構成される。1つの矩形オブジェクトは、幅Wsc、高さHscの大きさを持つ。また、センターの矩形オブジェクトと左右の矩形オブジェクトそれぞれとは、角度θscをなすように接している。なおここでは角度θscは120°である。また各矩形オブジェクトは、均等メッシュで構成されているものとする。
【0027】
S402において仮想空間設定部305は、仮想空間における床面901と背景を設定する。
図9は、仮想空間における床面を示す図である。仮想空間設定部305は、所定サイズの平面を床面901とし、床面901に対して第1の画面オブジェクト701が垂直に接地する位置に床面901を配置する。また仮想空間設定部305は、ユーザが明らかに床であることを認知できるようなテクスチャを設定する。ここでは床面901として絨毯のテクスチャが設定される。あるいは、実際の表示システムが配置されている環境における床面の写真をテクスチャとして設定するようにしてもよい。仮想空間設定部305は、第1の画面オブジェクトに表示された画像を鑑賞する際に視覚的に邪魔にならないように、第1の画面オブジェクト、第2の画面オブジェクト、床面以外の背景部分を黒色として設定する。あるいは、実際の表示システムが配置された表示環境を撮影して取得した環境マップを用いて背景として設定してもよい。その場合、例えば十分大きなキューブ型のオブジェクトで全体を囲い、この内側に環境マップをテクスチャとして貼りこんでレンダリングするようにすればよい。
【0028】
S403において理想視点設定部302は、実際の表示システムが配置された表示環境において、表示部を鑑賞する際の理想的な視点の位置を設定する。本実施形態では、
図7に示すように、表示システムにおける中央ディスプレイの中心から距離Dview離れた位置に理想視点の位置を設定する。本実施形態では、この理想視点の位置を原点とするXYZ直交座標系を用いて仮想空間を設定する。Y軸は床面に直交し、Z軸は第1の画面オブジェクトのうち中央の矩形オブジェクトに直交する向きに設定されている。ここで理想視点設定部302は、S401において設定された第1の画面オブジェクト701の頂点座標を、ここで設定した座標系に基づいて補正する。
【0029】
S404において撮像パラメータ設定部303は、接続されている撮像装置101の撮像パラメータを設定する。撮像パラメータ設定部303は、第1の表示装置103に表示されたGUIを介して入力されるユーザの指示に基づいて、撮像パラメータを設定する。
図6に示すGUIにおいて、ユーザがレンズ射影方式ドロップダウンリスト601から、現在使用している撮像装置101のレンズ射影方式に対応する項目を選択する。撮像パラメータ設定部303は、選択されたレンズ射影方式を示すパラメータを設定する。
図6では「中心射影」が選択されていることを示している。また、レンズ焦点距離スライダー602を用いて、ユーザは撮像装置101のレンズの焦点距離を入力する。入力された焦点距離に基づいて撮像パラメータ設定部303は、撮像装置101のレンズの焦点距離を示すパラメータを設定する。さらに、センササイズドロップダウンリスト603から、現在使用している撮像装置101のセンササイズに対応する項目をユーザが選択する。撮像パラメータ設定部303は、選択されたセンササイズを示すパラメータを設定する。センササイズは、センササイズドロップダウンリスト603の各項目に対して縦横の寸法をあらかじめ紐づけておく。
【0030】
S405において画像取得部301は、撮像装置101が撮像している動画の1フレームを示すフレーム画像データを取得する。
【0031】
S406において位置姿勢取得部304は、ユーザの頭部の位置および向きや傾きなどの姿勢を示す姿勢情報を取得する。位置姿勢取得部304は、HMDから加速度センサとジャイロセンサの情報を取得し、さらにHMDに組付けられた既知の赤外線LEDのパターンを赤外線カメラにより取得する。そしてこれらの情報に基づき、公知の三次元位置姿勢推定アルゴリズムにより推定することで位置姿勢情報を導出する。なお、推定された位置姿勢を示す座標系は、
図7に示す仮想空間内に設定した座標系と一致しており、さらに原点が一致するようにあらかじめキャリブレーションされているものとする。
【0032】
S407において仮想空間設定部305は、第2の画面オブジェクト801を設定する。第2の画面オブジェクト801は、S405において取得したフレーム画像データが示す画像を表示するためのオブジェクトである。つまり第2の画面オブジェクト801には、撮像装置101が撮像している全画角の画像が表示される。第2の画面オブジェクト801は、均等メッシュで構成された平面か矩形のオブジェクトであり、撮影時の補助的な情報として使用される。第2の画面オブジェクト801のアスペクト比は、S405で取得したフレーム画像のアスペクト比と一致するように設定する。
図8は、第2の画面オブジェクト801の例を示す図である。仮想空間設定部305は、仮想空間において、第2の画面オブジェクト801を第1の画面オブジェクト701よりもユーザから見て手前側に配置する。さらに仮想空間設定部305は、ユーザが視点位置803から第1の画面オブジェクト701を見た際の視野802に重ならない位置に第2の画面オブジェクト801を配置する。また仮想空間設定部305は、ユーザが見やすいように、画面の法線の向きがおよそユーザの頭の位置に向くように第2のオブジェクト801を設定するのが好ましい。
【0033】
S408において表示画像生成部310は、前のステップで設定、取得された情報やデータに基づいてHMDに表示するための表示画像を生成する。処理の詳細は後述する。S409において制御部(不図示)は、HMDのフレームレートに基づいた待機処理を行う。例えば、フレームレートが60fpsの場合、S405からS409までの処理時間が合計で約16msecとなるように処理時間を調整する。
【0034】
S410において出力部310は、S408において生成された表示画像をHMDへと出力し、表示させる。S411において制御部(不図示)は、表示を終了するかどうかを判定する。
図6に示すGUIにおいて、ユーザにより終了ボタン607が押された場合、HMDへの表示制御を終了する。終了ボタン607が押されていない場合は、S405に戻り次のフレーム画像データを取得し、処理を継続する。
【0035】
次に、表示画像生成処理の詳細を説明する。表示画像生成処理では、第1の画面オブジェクト701に表示するための第1のテクスチャと、第2の画面オブジェクト801に表示するための第2のテクスチャが生成される。さらに、これまでに設定された仮想空間の情報と、撮像装置101から取得した動画のフレーム画像データを用いてレンダリング処理を行い、HMDに表示するための表示画像を生成する。第1の画面オブジェクト701は、シミュレーション対象である表示システムが実空間に配置された表示環境において、実際の表示部に表示された画像をシミュレーションするための仮想オブジェクトである。つまり、第1のテクスチャは、表示部における映像の見えを再現するための画像となる。一方、第2のテクスチャは、撮像装置101から取得したフレーム画像データと一致し、撮像装置101が撮影している画角を確認する目的で、第2の画面オブジェクト801に設定される。
【0036】
図5は、表示画像生成部310が実行する表示画像生成処理の詳細を示すフローチャートである。以下フローチャートの各ステップについて説明する。
【0037】
S501において第1のテクスチャ生成部306は、第1の画面オブジェクト701に表示するための第1のテクスチャを生成する。第1のテクスチャ生成部306は、光軸がZ軸正の向き、仮想カメラの上方向がY軸正の向きを示すように原点に仮想カメラを設定する。つまりここで第1のテクスチャ生成部306は、理想視点の位置に配置した仮想カメラを設定する。第1のテクスチャ生成部306は、S404において設定された撮像パラメータに基づいて、取得したフレーム画像を、設定した仮想カメラから第1の画面オブジェクト701に対して逆射影することで第1のテクスチャを生成する。このようにして生成された第1のテクスチャは、第1の画面オブジェクト701に設定してレンダリングされる。第1のテクスチャが設定された第1の画面オブジェクト701は、実際の表示環境に配置された表示システムに画像を表示した時の見えを表現している。そのためHMDを見ているユーザは、撮影中のシーンが表示システムに表示された見えを、幾何的に正しく再現された状態で鑑賞することができる。
図10は、フレーム画像において、第1のテクスチャとして使用される領域を示した図である。このように、第1の画面オブジェクト701には、フレーム画像の一部領域が表示されることとなる。
【0038】
S502において第2のテクスチャ生成部307は、第2の画面オブジェクト801に表示するための第2のテクスチャを生成する。第2のテクスチャは、撮像装置101から取得したフレーム画像そのものをテクスチャとして設定する。つまり第2のテクスチャは、撮影装置101が撮影している画角を確認可能な画像である。
【0039】
S503においてレンダリング部308は、仮想空間を仮想視点から鑑賞した時の画像をHMDに表示するための表示画像として生成する。具体的にはレンダリング部308は、これまでに設定された第1の画面オブジェクト701、第2の画面オブジェクト801、床および背景を含む仮想空間の情報と、第1のテクスチャおよび第2のテクスチャを用いてレンダリング処理を実行する。レンダリング部308は、レンダリングの際に用いる仮想カメラとして、HMDの右目に対応する仮想カメラと、左目に対応する仮想カメラを設定する。レンダリング部308は、HMDの視野角、表示パネルの解像度などを考慮して、レンダリングに使用する仮想カメラの画角などのカメラパラメータを設定する。またレンダリング部308は、S406において取得したユーザの頭部の姿勢情報に一致するように仮想カメラの位置姿勢を設定する。その際レンダリング部308は、左右の目の眼幅に基づいて、それぞれの仮想カメラの間の距離が眼幅と一致するように、2つの仮想カメラの位置を補正する。レンダリング部308は、このように設定された仮想カメラを仮想視点として仮想空間をレンダリングする。さらに、レンダリングされた画像は、HMDの接眼レンズを通してみた際に歪みなく表示されるように、HMDの接眼レンズの歪曲収差に基づいて、幾何的に補正しておく。
【0040】
図11に表示画像の例を示す。
図11(a)は、HMDを装着しているユーザが正面を向いている場合の表示画像を示している。これに対し、例えばユーザが右方向に45度程度頭を回転させた場合、表示画像は
図12(b)のように変化する。つまり、ユーザがあたかも仮想空間内を移動、あるいは見回しているかのような表現を行うことができる。これは、実際に表示システムを設置している表示環境において、ユーザが表示部を、同じように移動したり見回したりしながら見た場合に、映像がどのように見えるのかをシミュレーションしていることとなる。この際、
図11からもわかるように、第1の画面オブジェクトについては仮想空間内における絶対座標は変化していないが、第2の画面オブジェクト801については、ユーザの頭部の位置姿勢に追従するようにレンダリングされることとなる。
【0041】
以上の通り本実施形態では、仮想空間内に、シミュレーション対象の表示システムにおける表示部に対応する第1の画面オブジェクト、撮像装置101の画角を確認するための第2の画面オブジェクト、および床や背景を仮想空間に設定する。そして、撮像装置101から取得した動画のフレーム画像を用い、ユーザの頭部の位置姿勢に基づいたレンダリング処理を行って表示画像を生成する。この際に、本実施形態に示すようにHMDを用いて立体視かつユーザの頭部の位置や姿勢に応じて表示画像が生成される。ユーザが装着しているHMDに生成した表示画像を表示することで、あたかも実際の表示環境に身を置いて映像を鑑賞しているような体験をユーザに提供することができる。
【0042】
撮影現場に表示システムを仮設して、その場で表示システムに表示される画像を確認することは現実的には難しい。しかしながら本実施形態のように、表示システムが設置された表示環境にいるかのようにシミュレーションすることで、被写体の見切れなどのフレーミングの撮影支援につながる。さらに、実際の表示環境で表示した際により臨場感の高まるカメラワークやフレーミングを撮影時に確認し、実施することができる。さらに仮想空間内には、表示システムに表示されたシミュレーション画像の他に、撮像装置からリアルタイムに取得した撮影中の画像もそのまま表示する。これにより、撮影中の映像と、撮影した映像に基づいて表示システムに画像を表示した際の見え方を比較しながら確認することができる。
【0043】
<第2実施形態>
第2実施形態では、ユーザの指示に基づいて第2の画面オブジェクト801のレンダリングを制御する方法について説明する。第1実施形態で説明したように、第2の画面オブジェクト801は撮像装置101の画角を確認するために、仮想空間内に設定される仮想オブジェクトである。本実施形態では、HMDに表示される表示画像において、ユーザの指示に基づいてこの第2の画面オブジェクト801の表示・非表示を切り替える。なお、第1実施形態と同じ構成については同様の符号を付し、詳細な説明を省略する。
【0044】
以下、本実施形態の画像処理装置が実行する処理の流れについて説明する。
図12は、本実施形態における画像処理のフローチャートである。
【0045】
S1201において仮想空間設定部305は、シミュレーションのターゲットとなる実際の表示環境に配置された実ディスプレイを仮想空間内に再現するための第1の画面オブジェクトを設定する。S1202において仮想空間設定部305は、床面901と背景を設定する。S1203において理想視点設定部302は、実際の表示環境において実ディスプレイを見る際の理想的な視点位置を設定する。
【0046】
S1204において撮像パラメータ設定部303は、接続されている撮像装置101の設定に合わせて撮像パラメータを設定する。S1205において画像取得部301は、撮像装置101から動画のフレーム画像データを1フレーム取得する。S1206において位置姿勢取得部304は、ユーザの姿勢情報を取得する。S1207において第1のテクスチャ生成部306は、第1の画面オブジェクト701に表示するための第1のテクスチャを生成する。
【0047】
S1208において制御部(不図示)は、全画角表示を行うかどうかを判定する。これは
図6に示すGUIにおいて全画角表示ON/OFFチェックボックス606の状態を取得することによって行われる。全画角表示ON/OFFチェックボックス606がチェックされている場合、全画角表示を行うものと判断し、S1209へ進む。全画角表示ON/OFFチェックボックス606がチェックされていない場合、全画角表示を行わないものと判断し、S1211へ進む。
【0048】
S1209において仮想空間設定部305は、第2の画面オブジェクト801を設定する。S1210において第2のテクスチャ生成部307は、第2の画面オブジェクト801に表示するための第2のテクスチャを生成する。S1211においてレンダリング部308は、これまでに設定された仮想空間の情報と、第1のテクスチャおよび第2のテクスチャを用いてレンダリング処理を実行し、HMDへ表示するための表示画像を生成する。処理の詳細はS503において説明した処理を同様であるが、S1208において、全画角表示を行わないと判断された場合、表示画像には第2の画面オブジェクト801がレンダリングされない状態となる。
図13に、全画角表示ON/OFFチェックボックス606の状態によって表示画像がどのように変化するかを図示する。
図13(a)は、全画角表示ON/OFFチェックボックス606がチェックされている場合の表示画像の例を示している。
図13(b)は、全画角表示ON/OFFチェックボックス606がチェックされていない場合の表示画像の例を示している。
【0049】
S1212において制御部(不図示)は、HMDのフレームレートに基づいた待機処理を行う。例えば、フレームレートが60fpsの場合、S1205からS1212までの処理時間が合計で約16msecとなるように処理時間を調整する。S1213において表示画像出力部310は、S1211で生成された表示画像をHMDへと出力し、表示を行う。
【0050】
S1214において図示しない制御部は、表示を終了するかどうかを判断する。
図6に示すGUIにおいて、ユーザにより終了ボタン607が押された場合、HMDへの表示を終了する。終了ボタン607が押されていない場合は、S1205に戻り処理を継続する。
【0051】
撮影中に表示システムにおいてどのように撮像中の画像が表示されるかを確認したい場合は、第2の画面オブジェクトを表示することにより、撮影支援につながる。一方、撮影中であっても表示システムにおける映像の見えだけを確認したい場合や、すでに撮影済の映像が表示システムにおける表示部に適したコンテンツであるかどうかを確認した場合などは、第2の画面オブジェクトは不要である。そこで本実施形態では、HMDに表示される表示画像において、ユーザの指示に基づいてこの第2の画面オブジェクト801の表示・非表示を切り替えることができる。これにより、ユーザの要望に沿った表示システムのシミュレーション画像を提供できる。
【0052】
<その他の実施形態>
なお、本実施形態において説明したように、複数の平面ディスプレイを接するように配置された表示システムのシミュレーションをする場合、第1の画面オブジェクト701が複数の矩形オブジェクトがつながった形で構成される。表示画像生成部310は、矩形オブジェクトの境界の視認性を向上させるために、例えば表示画像において、複数の矩形オブジェクトの境界に対応する画素を黒色などの視認しやすい画素値に変換するようにしてもよい。あるいは仮想空間設定部305が、第1の画面オブジェクトを設定する際に、複数の矩形オブジェクトの境界に隙間ができるように頂点座標を補正してもよい。矩形オブジェクトの頂点座標を補正することで、レンダリング結果の表示画像において矩形オブジェクト間の境界線強調することができる。
図14は、境界の視認性を向上させた場合の表示画像の例を示す。
図14(a)は境界の視認性を向上していない場合の表示画像を示している。この図から見てわかるように、境界の視認性が十分でない場合、3つの矩形オブジェクトの境界がどこにあるのか、あるいは、そもそも3つの平面で構成されているのかをユーザに一目で理解させることは困難である。これに対して、
図14(b)は、境界の視認性を向上させた場合の表示画像の例を示している。こちらは、隣接する矩形オブジェクト間の境界が黒色の線で描画されているため、ユーザに一目でそれぞれの平面の矩形オブジェクトの境界を認知させることが可能となる。
【0053】
また、本実施形態では、表示システム構成として「180インチ3面 120°」が選択された場合の例について説明した。例えば、ユーザがGUIにおいて、表示システム構成604を切り替えた場合に、設定されたパラメータに追従して表示画像を変化させるようにしてもよい。ここでは、表示装置構成604が変更された場合に表示画像がどのように変わるかを説明する。まず、「180インチ3面 120°」が選択されている場合の表示画像は
図15(a)に示すような画像1501となる。このとき第1の画面オブジェクト1503は、真上からみた形状を示している。第1の画面オブジェクト1503は、3つの平面によって等脚台形の上辺および2つの脚を構成するように設定される。これに対して、視点位置1505から点線で示す画角で生成された表示画像の例が画像1501である。次に、この状態から、ユーザが例えば「Curved 4.5R 2.5H 150°」に表示装置構成の設定を切り替えた場合、表示画像は
図15(b)に示すような画像1502に切り替わる。「Curved 4.5R 2.5H 150°」は、平面ディスプレイを視点位置側に中心を持つように湾曲させた湾曲ディスプレイを意味する。このとき第1の画面オブジェクト1504は、アールが4.5m、高さが2.5mの円柱の側面を150°切り取ったような形状を持つ曲面ディスプレイを想定した第1の画面オブジェクトを真上から見た形状になる。これに対して、視点位置1506から点線で示す画角で生成された表示画像の例が画像1502である。このように、ユーザが表示システム構成604の設定を変更すると、設定された表示システム構成に映像を表示した際の見えをシミュレートするようにHMDの表示画像が変化する。
【0054】
また、上述実施形態において表示画像生成部310は、HMDを装着しているユーザの位置姿勢に応じて表示画像を変化させた。これにより、あたかも実際の表示環境に身を置いて映像を鑑賞しているような体験を提供する処理について説明した。しかしながら、レンダリング時にユーザの位置姿勢を使用するかどうかを判定する処理を設けてもよい。例えば、撮影行為を行っている際にユーザがどのような姿勢をとっていたとしても、常に正面に第1の画面オブジェクトの中心がくるような表示となる方が好ましい状況がある。そのため、ユーザの指示によりユーザの位置姿勢を使用しないと判定された場合には、レンダリング時の仮想カメラの位置を原点に固定し、さらに仮想カメラの光軸向きをZ軸正の方向、仮想カメラの上方向をY軸正の方向に固定すればよい。なお、ユーザの位置姿勢を使用するかどうかを指定する手段として、
図6に示すGUI上に位置姿勢のON/OFFチェックボックスを別途設け、これを介してユーザが直接位置姿勢を使用するかどうかを選択するようにすればよい。あるいは、撮像装置101から別途録画中かどうかを示すデータを受信するようにして、録画中の場合はユーザの位置姿勢を使用しないモードに自動的に変更されるようにしてもよい。
【0055】
また、上述の実施形態においては、仮想空間をレンダリングすることで生成される表示画像を、第2の表示装置104であるHMDに表示する形態を例に説明した。しかしながら第2の表示装置104は、HMD以外の表示装置を用いることもできる。例えば、第2の表示装置104として、スマートフォンやタブレットなどの携帯型情報端末を適用してもよい。スマートフォンやタブレットの場合も、情報端末の姿勢や向きを検出することができるため、上述の実施形態と同様に情報端末から姿勢や向きに関する情報を取得し、仮想空間を端末の向きに応じてレンダリングすることで、表示画像を生成し、出力すればよい。あるいは、第2の表示装置104として、パーソナルコンピュータや入力装置(マウスやタッチパネルディスプレイを適用することもできる。ただし通常のディスプレイの場合は、姿勢情報を取得できない場合もある。その場合は、ディスプレイ上に仮想空間を仮想視点からレンダリングした表示画像を表示し、ユーザに提示する。このとき表示画像にはマウスやタッチパネルを用いた操作を介して、ユーザが仮想視点を設定可能なようにすること望ましい。入力装置を介して指定された視点位置に応じて、レンダリングした表示画像を表示すればよい。
【0056】
なお上述の実施形態では、CPU201がプログラムを実行することで
図3に示す各構成を実現するソフトウェアを例に説明した。しかしながら
図3に示す各構成の一部またはすべてを、専用の処理回路によって実現することもできる。このように本発明は、上述の実施形態の機能を実現するプログラムを、ネットワークや記憶媒体を介してシステムや装置に供給し、そのシステムや装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0057】
302 理想視点設定部
303 撮像パラメータ設定部
304 位置姿勢取得部
305 仮想空間設定部
306 第1のテクスチャ生成部
307 第2のテクスチャ生成部
308 レンダリング部