(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024076918
(43)【公開日】2024-06-06
(54)【発明の名称】プログラム、表示制御装置及び画像表示システム
(51)【国際特許分類】
G09G 5/00 20060101AFI20240530BHJP
G09G 5/36 20060101ALI20240530BHJP
G09G 5/377 20060101ALI20240530BHJP
G09G 5/38 20060101ALI20240530BHJP
G06T 19/00 20110101ALI20240530BHJP
H04N 13/344 20180101ALI20240530BHJP
H04N 13/383 20180101ALI20240530BHJP
H04N 13/361 20180101ALI20240530BHJP
H04N 13/239 20180101ALI20240530BHJP
【FI】
G09G5/00 550C
G09G5/36 500
G09G5/377 100
G09G5/00 530T
G09G5/00 550B
G09G5/38 100
G06T19/00 A
H04N13/344
H04N13/383
H04N13/361
H04N13/239
【審査請求】有
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2022188764
(22)【出願日】2022-11-25
(71)【出願人】
【識別番号】506113602
【氏名又は名称】株式会社コナミデジタルエンタテインメント
(74)【代理人】
【識別番号】100140660
【弁理士】
【氏名又は名称】森本 理恵
(74)【代理人】
【識別番号】100174148
【弁理士】
【氏名又は名称】森本 和教
(72)【発明者】
【氏名】岡村 憲明
【テーマコード(参考)】
5B050
5C061
5C182
【Fターム(参考)】
5B050BA11
5B050DA07
5B050EA07
5B050EA19
5B050FA06
5C061AA01
5C061AB04
5C061AB08
5C061AB12
5C061AB20
5C182AA02
5C182AA03
5C182AA04
5C182AA05
5C182AA06
5C182AA26
5C182AA31
5C182AB01
5C182AB02
5C182AB08
5C182AB14
5C182AB34
5C182AC02
5C182AC03
5C182AC43
5C182AC46
5C182BA01
5C182BA03
5C182BA04
5C182BA14
5C182BA29
5C182BA35
5C182BA39
5C182BA46
5C182BA56
5C182BA66
5C182BC01
5C182BC22
5C182BC25
5C182BC26
5C182CA21
5C182CB42
5C182CB47
5C182CB52
5C182CB54
5C182CB55
5C182CC21
5C182DA02
5C182DA04
5C182DA14
5C182DA44
5C182DA52
5C182DA65
(57)【要約】
【課題】複数のカメラで撮像した複数の画像を用いてHMDへVR画像を表示させる場合に、たとえ近距離撮影物を含んでいても違和感の少ないVR画像の表示制御を実現する。
【解決手段】視線方向特定部は、VR空間に対するユーザの視線の方向であるとする視線方向を特定する。画像生成部は、実空間を撮像する撮像方向がそれぞれ異なる複数のカメラによって撮像された複数の実写画像を、隣接する当該実写画像の視界領域の一部が互いに重なる重複領域が生じるようにVR空間に配置し、視線方向に応じたVR画像を生成する。また、画像生成部は、視線方向に基づいて、隣接する実写画像のうち、重複領域に表示する実写画像を動的に切り替える。
【選択図】
図14
【特許請求の範囲】
【請求項1】
両眼視差を利用した立体視画像として、仮想現実(VR)空間内の仮想視点からの視界を表すVR画像をヘッドマウントディスプレイの表示部に表示させるための制御を実行するコンピュータを、
前記VR空間に対するユーザの視線の方向であるとする視線方向を特定する視線方向特定部と、
実空間を撮像する撮像方向がそれぞれ異なる複数のカメラによって撮像された複数の実写画像を、隣接する当該実写画像の視界領域の一部が互いに重なる重複領域が生じるように前記VR空間に配置し、前記視線方向に応じた前記VR画像を生成する画像生成部と、
して機能させ、
前記画像生成部は、前記視線方向に基づいて、隣接する前記実写画像のうち、前記重複領域に表示する前記実写画像を動的に切り替える
プログラム。
【請求項2】
前記画像生成部は、前記仮想視点から所定の方向に基準方向を設定し、前記基準方向に対する前記視線方向に基づいて、前記重複領域に表示する前記実写画像を特定する
請求項1に記載のプログラム。
【請求項3】
前記画像生成部は、前記仮想視点から前記重複領域内の所定の位置の方向に前記基準方向を設定する
請求項2に記載のプログラム。
【請求項4】
前記画像生成部は、前記重複領域に表示する前記実写画像を切り替えたタイミングで、前記重複領域に表示する前記実写画像に応じて前記基準方向を変更する
請求項2に記載のプログラム。
【請求項5】
前記視線方向特定部は、前記ヘッドマウントディスプレイの向きに関する検出情報を取得し、当該検出情報に基づいて前記視線方向を特定する
請求項1に記載のプログラム。
【請求項6】
前記視線方向特定部は、前記ユーザの視線に関する検出情報を取得し、当該検出情報に基づいて前記視線方向を特定する
請求項1に記載のプログラム。
【請求項7】
隣接する前記実写画像同士の領域境界に、前記ユーザが視認可能な境界線を表示する境界線表示部として前記コンピュータを機能させる
請求項1に記載のプログラム。
【請求項8】
前記境界線表示部は、前記境界線またはその付近に、前記境界線を挟んでどちら側が前記重複領域であるかを示すための付加情報を表示する
請求項7に記載のプログラム。
【請求項9】
前記画像生成部は、前記重複領域に表示する前記実写画像を切り替える場合に、時間経過に応じて、一方の前記実写画像から他方の前記実写画像へと漸次切り替える
請求項7に記載のプログラム。
【請求項10】
前記画像生成部は、前記重複領域に表示する前記実写画像を切り替える場合に、時間経過に応じて、前記境界線を切り替え完了後に表示される位置の方へと漸次移動させながら、一方の前記実写画像から他方の前記実写画像へと漸次切り替える
請求項9に記載のプログラム。
【請求項11】
前記画像生成部は、前記視線方向に基づいて、前記重複領域に表示する前記実写画像の切替処理をすべきとの判定をしてから当該切替処理を開始するまでに、所定の待機期間を設ける
請求項1に記載のプログラム。
【請求項12】
前記画像生成部は、前記VR画像の前記表示部への表示制御中に、複数の前記実写画像の前記VR空間への配置状態を変更する
請求項1ないし11の何れか1項に記載のプログラム。
【請求項13】
複数の前記実写画像を撮像した複数の前記カメラの撮像方向の変化を特定する撮像方向特定部として前記コンピュータを機能させ、
前記画像生成部は、撮像方向特定部によって特定された前記撮像方向の変化に応じて、前記VR空間に配置する複数の前記実写画像全体の視界領域の方向を変更する
請求項1ないし11の何れか1項に記載のプログラム。
【請求項14】
両眼視差を利用した立体視画像として、仮想現実(VR)空間内の仮想視点からの視界を表すVR画像をヘッドマウントディスプレイの表示部に表示させるための制御を実行する表示制御装置であって、
前記VR空間に対するユーザの視線の方向であるとする視線方向を特定する視線方向特定部と、
実空間を撮像する撮像方向がそれぞれ異なる複数のカメラによって撮像された複数の実写画像を、隣接する当該実写画像の視界領域の一部が互いに重なる重複領域が生じるように前記VR空間に配置し、前記視線方向に応じた前記VR画像を生成する画像生成部と、
を含み、
前記画像生成部は、前記視線方向に基づいて、隣接する前記実写画像のうち、前記重複領域に表示する前記実写画像を動的に切り替える
表示制御装置。
【請求項15】
両眼視差を利用した立体視画像として、仮想現実(VR)空間内の仮想視点からの視界を表すVR画像を表示部に表示するヘッドマウントディスプレイと、前記VR画像を前記表示部に表示させるための制御を実行する表示制御装置と、を具備する画像表示システムであって、
前記表示制御装置は、
前記VR空間に対するユーザの視線の方向であるとする視線方向を特定する視線方向特定部と、
実空間を撮像する撮像方向がそれぞれ異なる複数のカメラによって撮像された複数の実写画像を、隣接する当該実写画像の視界領域の一部が互いに重なる重複領域が生じるように前記VR空間に配置し、前記視線方向に応じた前記VR画像を生成する画像生成部と、
を含み、
前記画像生成部は、前記視線方向に基づいて、隣接する前記実写画像のうち、前記重複領域に表示する前記実写画像を動的に切り替える
画像表示システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はプログラム、表示制御装置及び画像表示システムに関する。
【背景技術】
【0002】
従来より、両眼視差を利用した立体視可能な仮想現実(VR:Virtual Reality)画像を表示するヘッドマウントディスプレイ(HMD:Head Mounted Display)が知られている。このHMDでは、コンピュータによって生成されたVR空間や実空間を撮像した実写の画像(静止画または動画)等を表示できる。実写の画像の場合、例えば広角レンズを用いた1台のステレオカメラ等でも、ある程度の視野角を確保した広視野角画像を得られるが、カメラの視軸方向から大きく離れた方向では、立体視し難くなる。この立体視し難い問題を低減すべく、複数のカメラを利用して領域を分けて撮像した複数の画像を合成処理して、広視野角画像を得る方法もある(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
複数のカメラはそれぞれ体積を有し、撮像中心が一点に集中するように複数のカメラを配置することは物理的に不可能である。このため、複数のカメラで撮像した画像は、隣接画像間の領域境界でズレが発生し、継ぎ目(画素間の濃淡の極端な相違等)が生じることになる。このため、領域を分けた複数のカメラによる撮像では、最終的な一つの画像データにする場合、各カメラで撮像された画像を繋ぎ合わせるステッチング処理を行う必要がある。このステッチング処理は、専用のソフトウェアで自動で行うこともできるが、継ぎ目の分からないより自然な画像とするためには、人の手で手間を要して行う必要がある。ここで、隣接画像間のズレの度合いは、カメラと撮影対象との距離に依存し、撮影対象がカメラから近いほどズレの度合いも大きくなり、ステッチング処理も難しくなる。特にカメラと撮影対象との距離が一定以下(例えば2m以下等)の場合、前記ズレ度合いもかなり大きなものとなり、ステッチングは困難となる。このため、複数のカメラで撮像した複数の画像をステッチングにより合成する従来技術の場合、カメラから一定距離以下となるような近距離撮影物を含むVR画像を作成して、HMDに違和感の少ない表示をすることは、実質不可能であった。
【0005】
そこで、本発明の目的の一つは、複数のカメラで撮像した複数の画像を用いてHMDへVR画像を表示させる場合に、たとえ近距離撮影物を含んでいても違和感の少ないVR画像の表示制御を実現することである。
【課題を解決するための手段】
【0006】
本発明の一態様によるプログラムは、両眼視差を利用した立体視画像として、仮想現実(VR)空間内の仮想視点からの視界を表すVR画像をヘッドマウントディスプレイの表示部に表示させるための制御を実行するコンピュータを、前記VR空間に対するユーザの視線の方向であるとする視線方向を特定する視線方向特定部と、実空間を撮像する撮像方向がそれぞれ異なる複数のカメラによって撮像された複数の実写画像を、隣接する当該実写画像の視界領域の一部が互いに重なる重複領域が生じるように前記VR空間に配置し、前記視線方向に応じた前記VR画像を生成する画像生成部と、して機能させ、前記画像生成部は、前記視線方向に基づいて、隣接する前記実写画像のうち、前記重複領域に表示する前記実写画像を動的に切り替える。
【図面の簡単な説明】
【0007】
【
図1】本発明の一実施の形態に係る画像表示システムのハードウェア構成の一例を示す概略のブロック図である。
【
図3】VR空間内の仮想視点からの視界を表すVR画像を説明するための図である。
【
図4】1台のステレオカメラで撮像された実写画像の問題点を説明するための図である。
【
図5】複数のステレオカメラを利用して撮像する一例を示す図である。
【
図6】隣接する2台のカメラでそれぞれ撮像された画像間でズレが生じる例を説明するための図である。
【
図7】撮像方向が異なる2台のカメラで領域を2つに分けて撮像する一例を示す図である。
【
図8】撮像方向が異なる2台のカメラでそれぞれ撮像された実写画像の視界領域の一例を概念的に表す図である。
【
図9】隣接する実写画像の視界領域の一部が互いに重なる重複領域が生じるようにVR空間に配置した一例を概念的に表す図である。
【
図10】VR空間において重複領域に第1の画像を表示した一例を表す図である。
【
図11】VR空間において重複領域に第2の画像を表示した一例を表す図である。
【
図12】重複領域外に基準方向を設定した一例を示す図である。
【
図13】隣接する実写画像の現在の領域境界を基準に、重複領域に表示する実写画像を動的に切り替える一例を示す図である。
【
図14】表示制御装置の機能的な構成の一例を示す概略の機能ブロック図である。
【
図15】表示制御装置の処理の一例を示すフローチャートである。
【
図17】基準方向を変更する処理の一例を示すフローチャートである
【
図18】HMDの表示部に表示されている画面の一例を示す図である。
【
図19】HMDの表示部に表示されている画面の一例を示す図である。
【
図20】表示制御装置の機能的な構成の一例を示す概略の機能ブロック図である。
【
図21】境界線とともにグラデーション部を表示させた画面の一例を示す図である。
【
図22】境界線とともにグラデーション部を表示させた画面の一例を示す図である。
【
図23】境界線を表示する処理の一例を示すフローチャートである。
【
図24】実写画像を漸次切り替える処理の一例を示すフローチャートである。
【
図25】境界線が移動する画面の一例を示す図である。
【
図26】3台のカメラで撮像された左画像、正面画像および右画像のそれぞれの視界領域をVR空間に配置した一例を概念的に表す図である。
【
図27】重複領域における実写画像の切替処理の一例を示すフローチャートである。
【
図28】シーンによってVR空間への画像の配置状態が変更される一例を説明する図である。
【
図29】VR空間への画像の配置状態を変更する処理の一例を示すフローチャートである。
【
図30】
図26のカメラを右に回転させた場合のVR空間の視界領域の一例を概念的に表す図である。
【
図31】撮像方向の回転の情報を利用しない場合における、VR空間の視界領域の変化の一例を示す図である。
【
図32】撮像方向の回転の情報を利用した場合における、VR空間の視界領域の変化の一例を示す図である。
【
図33】VR空間の全体視界領域の方向を変更する処理の一例を示すフローチャートである。
【
図35】スタンドアローン型のHMD、又はHMDとして用いられる情報処理装置のハードウェア構成の一例を示す概略のブロック図である。
【発明を実施するための形態】
【0008】
以下、本発明の実施形態の一例を、図面を参照しながら説明する。
【0009】
[1.画像表示システムの構成例]
図1は、本発明の実施の形態に係る画像表示システム1のハードウェアの構成例を示す概略のブロック図である。この画像表示システム1は、HMD10と、HMD10に対する表示制御を実行する表示制御装置20とを含んでいる。
【0010】
HMD10は、ユーザの頭部に装着され(
図2参照)、左右両眼視差を利用した立体視可能な広視野角画像(静止画または動画)を表示可能である。また、HMD10は、ジャイロセンサ等のHMD10の動きや傾きを検出するセンサ12を搭載しており、HMD10を装着しているユーザの頭部の動きや傾きの変化などを検出し、その変化に応じてVR空間内の視界を表すVR画像を表示する。例えば、HMD10に表示されるVR画像は、ユーザの頭部が右方向を向けばVR空間内の右方向の視界に対応するVR画像に変化し、上をむけばVR空間内の上方向の視界に対応するVR画像に変化するので、あたかもその場にいるような没入感をユーザに与えることができる。
【0011】
HMD10は、主に、表示部11、センサ12、プロセッサ13、記憶装置14等を含む。
表示部11は、VR画像、テキスト等の各種情報を表示するディスプレイである。表示部11は、例えばハーフミラー等を利用することにより虚像を形成する虚像投影方式のディスプレイであってもよい。また、表示部11は、例えば、ユーザの目の水晶体を利用して網膜に、直接、VR画像を結像させる網膜投影方式のディスプレイであってもよい。表示部11は、VR空間内の仮想視点からの視界を表すVR画像として、両眼視差を利用した立体視画像(右目用画像及び左目用画像)を表示する。
【0012】
センサ12は、HMD10の回転角や傾きなどの姿勢情報を検出する。このセンサ12の出力により、HMD10の向きに関する検出情報を得ることができる。例えば、センサ12は、物体の角速度を検出する角速度センサ(ジャイロセンサ)である。なお、センサ12は、方向の変化を検出するセンサであってもよいし、方向そのものを検出するセンサであってもよい。例えば、センサ12は、ジャイロセンサに限られるものではなく、加速度センサ、角加速度センサ、傾斜センサ、地磁気センサ等であってもよく、これらを適宜組み合わせて実現することができる。
【0013】
プロセッサ13は、HMD10が備える各部を制御する制御中枢として機能する。例えば、プロセッサ13はCPU(Central Processing Unit)である。プロセッサ13は、CPUに加え、またはCPUに代えて、GPU(Graphics Processing Unit)、DSP(Digital Signal Processor)、またはFPGA(Field Programmable Gate Array)等のハードウェアを含んで構成されてもよい。プロセッサ13は、例えば、表示制御装置20から受信したVR画像信号を、インタフェースを介して表示部11に供給する制御を行う。
記憶装置14は、プロセッサ13が実行するプログラムを記憶したり、プロセッサ13が処理するデータやパラメータを一時的に記憶したりする。記憶装置14は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、VRAM(Video Random Access Memory)、補助記憶装置等を含む。補助記憶装置としては、不揮発性の半導体メモリ、ハードディスクドライブ、ソリッドステートドライブ等を用いることができる。
【0014】
また、HMD10は、ネットワークアダプタ等を備えており、ネットワーク経由でVR画像を入力できるようにしてもよい。また、HMD10は、その他に音声出力部、GPS(Global Positioning System)受信部等を備えていてもよい。
【0015】
表示制御装置20は、無線または有線でHMD10と通信可能に接続され、HMD10に対する表示制御を実行する。表示制御装置20は、例えば、据置型または携帯型のゲーム機である。表示制御装置20は、遊戯施設等に設置される業務用(商業用)ゲーム機であってもよい。あるいは、表示制御装置20は、パーソナルコンピュータ、タブレット型コンピュータ、スマートフォン、携帯電話端末、PHS(Personal Handy-phone System)端末、携帯情報端末(PDA:Personal Digital Assistant)、情報処理機能を備えた多機能型テレビジョン受像機(いわゆるスマートテレビ)等であってもよい。
【0016】
表示制御装置20は、主に、プロセッサ21、記憶装置22、操作部23、および通信部24を備え、これらはアドレスバス、データバス及びコントロールバス等を含むバスラインを介して相互に接続されている。なお、バスラインと各構成要素との間には必要に応じてインタフェース回路、画像処理部、またはサウンド処理部等が介在しているが、ここでは図示を省略している。
【0017】
プロセッサ21は、プログラムの命令を解釈して実行し、表示制御装置20全体の制御を行う。例えば、プロセッサ21はCPUである。プロセッサ21は、CPUに加え、またはCPUに代えて、GPU、DSP、またはFPGA等のハードウェアを含んで構成されてもよい。記憶装置22は、例えば、ROM、RAM、VRAM、補助記憶装置等を含む。ROMは、表示制御装置20の基本的な動作制御に必要なプログラムやデータ等を記憶している。RAMまたはVRAMは、各種プログラム及びデータを記憶し、プロセッサ21に対する作業領域を確保する。補助記憶装置は、プログラムや各種データ等を格納するものであり、例えば、不揮発性の半導体メモリ、ハードディスクドライブ、ソリッドステートドライブ等を用いることができる。
【0018】
また、表示制御装置20は、記録媒体ドライブを具備していてもよい。記録媒体ドライブとしては、例えば、DVD-ROMドライブ、CD-ROMドライブ、ハードディスクドライブ、光ディスクドライブ、フレキシブルディスクドライブ、シリコンディスクドライブ、カセット媒体読み取り機等が用いられる。この場合、記録媒体としては、DVD-ROM、CD-ROM、ハードディスク、光ディスク、フレキシブルディスク、半導体メモリ等が用いられる。記録媒体ドライブは、記録媒体から画像データ、音声データ及びプログラムデータを読み出し、読み出したデータをデコーダを介して記憶装置22のRAM等に供給する。
【0019】
例えば、VR画像用にあらかじめ実空間を撮像した実写画像を含む画像データ、当該画像データを含むゲーム等のプログラムは、記憶装置22(補助記憶装置等)に記憶されていたり、記録媒体ドライブから読み出される。
【0020】
操作部23は、ユーザが種々の操作命令を表示制御装置20に入力するためのものである。例えば、ユーザは、VR画像を見るための操作、またはVR画像を含むゲームの操作等を行う。操作部23の一例としては、タッチインタフェースを備えた位置入力部(タッチパネルの構成要素等)、物理的なボタン、コントローラ、アナログスティック、キーボード、ポインティングデバイス等を挙げることができる。また、マイクロフォン等の音声入力部から入力された音声を識別することにより、音声入力可能な操作部23として構成してもよい。また、操作部23は、ユーザのジェスチャによって操作を行うためのものであってもよい。
【0021】
通信部24は、図示しない通信インタフェースを備え、ゲーム等の実行時にデータ通信するための通信制御機能を有している。ここで、データ通信用の通信制御機能には、例えば、インターネット接続機能、無線LAN(Local Area Network)接続機能、所定の周波数帯(例えば2.4GHzの周波数帯)を用いた近距離無線通信機能などが含まれる。通信部24は、プロセッサ21からの命令に基づいて表示制御装置20をネットワークに接続するための接続信号を発信するとともに、通信相手側から送信されてきた情報を受信してプロセッサ21へ供給する。
【0022】
後述するように、本実施の形態の画像表示システム1または表示制御装置20は、VR画像をHMD10に表示させる場合に、ステッチング処理をせずとも、複数のカメラで撮像した複数の実写画像同士の継ぎ目(ズレ)の違和感を低減することができる。よって、ネットワーク経由で配信される遠隔地のライブ映像を通信部24で受信し、略リアルタイムでライブ映像をVR画像としてHMD10に表示させるようにすることも可能である。
【0023】
また、表示制御装置20には、HMD10の位置(またはHMD10を装着したユーザの頭の位置)の位置を検出するトラッキング部が接続されていてもよい。例えば、HMD10はトラッキング用の複数の光源(LED等)を備え、トラッキング部はHMD10を撮影するための撮影部を備える。所定位置に固定されたトラッキング部は、撮影部によって撮影される画像に写る複数の光源部の位置に基づいて、HMD10の位置を特定する。また、表示制御装置20は、液晶ディスプレイ又は有機EL(Electro-Luminescence)ディスプレイ等の表示部を備えていてもよい。
【0024】
[2.VR空間の方向について]
図2は、本実施形態に係るVR空間の方向の定義を示す図である。本実施形態では、VR空間内のVR画像を表示するHMD10を頭部に装着したユーザが直立する方向である垂直方向をZ軸とする。また、Z軸に直交する水平方向の軸であって、正面を向いたユーザの視線の方向(VR空間に対する基準の視線方向)をX軸とし、Z軸及びX軸と直交する水平方向の軸をY軸とする。
【0025】
例えば、画像表示システム1を起動した際に、HMD10の視軸方向(HMD10の表示部11の表示面と直交する方向)がVR空間に対する基準の視線方向として設定される。また、例えば、HMD10を頭部に装着して正面を向いたユーザが所定の操作をすることにより、VR空間に対する基準の視線方向を調整できるようにしてもよい。
【0026】
ここで、Z軸を軸とした回転方向への変化をヨー方向(左右方向)への変化、Y軸を軸とした回転方向への変化をピッチ方向(上下方向)への変化、X軸を軸とした回転方向への変化をロール方向への変化という。例えば、HMD10の上述したセンサ12は、各軸の回転方向(ヨー方向、ピッチ方向、およびロール方向)の角速度または角加速度を検出する。なお、ヨー方向への変化を左右方向への変化といい、また、ピッチ方向への変化を上下方向への変化ということがある。
【0027】
図3は、本実施形態に係るVR空間内の仮想視点からの視界を表すVR画像(視界画像)を説明するための図である。この図において、VR空間V内の仮想視点P(ユーザの仮想視点)をX軸、Y軸およびZ軸の交点(原点)とする。例えば、ユーザが正面を向いており、VR空間Vに対するユーザの視線の方向がX軸(基準の視線方向)にあるものとする。この場合、VR空間Vにおける仮想視点Pからの視界を表すVR画像の範囲は、基準の視線方向(X軸方向)を中心としたヨー角α(破線aと破線bとの内角、及び破線cと破線dとの内角)とピッチ角β(破線aと破線dとの内角、及び破線bと破線cとの内角)とで定まる範囲である。ここで、ヨー角αは水平視野角、ピッチ角βは垂直視野角であり、画像表示システム1においてHMD10に表示させるVR画像の視野角として予め設定されている。
【0028】
例えば、HMD10を装着したユーザの頭部がピッチ方向またはヨー方向に変化すると、HMD10の向き・姿勢の変化(HMD10の視軸方向の変化)がセンサ12等により検出される。このセンサ12等による検出情報に基づいて、表示制御装置20のプロセッサ21は、VR空間Vに対する視線方向がX軸方向(基準の視線方向)からピッチ方向またはヨー方向に変化したと判断する。このVR空間Vに対する視線方向の変化に応じて、表示部11に表示されるVR画像の範囲が変更される。同様に、HMD10を装着したユーザの頭部がロール方向に変化すると、その変化がセンサ12等により検出され、視線方向はX軸方向のまま、表示部11に表示されるVR画像の範囲がロール方向に回転する。このように、HMD10の向き(姿勢)に応じて、表示部11に表示されるVR画像の範囲が変更される。
【0029】
また、VR空間V内には、各種オブジェクト、線、記号、文字等の実写以外の表示対象を必要に応じて配置することもできる。例えば、後述の「境界線」等が実写のVR画像に重畳されて表示部11に表示されるようにしてもよい。
【0030】
なお、両眼視差を利用した立体視画像を表示する場合、右目用と左目用のそれぞれの仮想視点に対応する視線方向があり、それぞれの視線方向の右目用VR画像および左目用VR画像が、HMD10の表示部11に表示される。
【0031】
[3.カメラによって撮像される実写画像について]
本実施の形態の画像表示システム1では、実空間を撮像するカメラによって撮像された実写画像を用いて、両眼視差を利用した立体視可能なVR画像を生成してHMD10に表示させる。本実施の形態の画像表示システム1で使用される実写画像を説明する前に、1台のカメラによって撮像される実写画像等の問題点を説明する。
【0032】
図4は、左目用カメラ101および右目用カメラ102を備えた1台のカメラ100(いわゆるステレオカメラ)で撮像された実写画像の問題点を説明するための図である。カメラ100は、実空間の異なる位置にあり、カメラ100からは同じ距離に存在するオブジェクトAおよびBを撮像している。オブジェクトAはカメラ100の視軸方向(≒レンズ中心の方向)XCにあり、オブジェクトBは前記視軸方向XCに対して右の方向にある。オブジェクトAと左目用カメラ101および右目用カメラ102とのなす角度(輻輳角)θ1に比して、オブジェクトBと左目用カメラ101および右目用カメラ102とのなす角度θ2は、オブジェクトAおよびBがカメラ100から等距離にあるにも関わらず小さくなってしまう。このため、カメラ100の視軸方向XCから角度が大きく離れた方向については、距離感が認識し辛く立体視し難い画像になってしまうという問題がある。
【0033】
前記の問題を解決するためには、
図5に例示するように、実空間を撮像する撮像方向がそれぞれ異なる複数のカメラ100を利用して、撮像領域を分けて撮像することが有効である。
図5の例では、3台のカメラ100により、撮像領域を、左、正面および右の3つの領域に分けて撮像している。このように全体の撮像領域を複数に分割することで、それぞれの撮像領域内にカメラの視軸方向XCが存在し、視軸方向XCから角度が大きく離れる方向を少なくすることができる。このため、撮像方向がそれぞれ異なる複数のカメラ100で撮像した複数の画像を用いれば、立体視し難い画像になるという問題を低減することができる。
【0034】
なお、従来では、領域を分けた複数のカメラにより撮影された複数の画像を、最終的に一つの画像データにしていた。このため、各カメラで撮像された隣接する画像を繋ぎ合わせるステッチング処理を行う必要があった。このステッチング処理は、専用のソフトウェアで自動で行うこともできるが、継ぎ目の分からないより自然な画像とするためには、人の手で手間を要して行う必要がある。ステッチング処理に手間を要する要因の一つは、撮像に利用した各カメラの位置のズレにある。すなわち、複数のカメラは、互いに近接した位置に配置はするものの、実空間を撮像する以上、同時に完全に同一の位置に配置することは、物理的にできない。そのため、隣接するカメラで撮像された隣接画像間の領域境界付近でズレが生じることになる。これを以下に説明する。
【0035】
図6は、正面の領域を撮像するカメラ100aおよび右の領域を撮像するカメラ100bでそれぞれ撮像された画像間でズレが生じる例を説明するための図である。ここでは、便宜上、2台のカメラ100a・100bのそれぞれの左目用カメラ101で撮像する場合を例示して説明するが、右目用カメラ102で撮像する場合も同様である。撮像対象のオブジェクトCおよびDは、カメラ100aの右側、およびカメラ100bの左側に位置し、カメラ100a・100bの撮像領域の領域境界付近に存在する。また、オブジェクトCは、オブジェクトDよりも奥(カメラ100a・100bから離れた位置)に存在する。この場合、正面の領域を撮像するカメラ100aで撮像すると、オブジェクトDが奥にあるオブジェクトCよりも少し右側に位置するような画像が撮像される。一方、右の領域を撮像するカメラ100bで撮像すると、オブジェクトDがオブジェクトCより少し左側に位置するような画像が撮像される。このようにカメラ100a・100bは、それぞれ同じオブジェクトCおよびDを同時に撮像しているにもかかわらず、両者の撮像した画像には明らかなズレが生じる。
【0036】
従来のステッチング処理では、前述のような隣接する画像間のズレを、より自然な画像とするために、人の手で画像を加工する(ごまかす)必要があり、手間がかかることになる。前述の隣接画像間の領域境界付近のズレの度合いは、カメラ100a・100bと撮像対象との距離に依存する。すなわち、領域境界付近にある撮像対象(前記のオブジェクトC・D等)がカメラ100a・100bから十分遠い位置にある場合、隣接画像間のズレの度合いも小さくなるため、従来のステッチング処理も比較的容易である。一方、領域境界付近にある撮像対象がカメラ100a・100bから近い位置にある場合、隣接画像間のズレの度合いも相対的に大きくなり、ステッチングも難しくなる。特に、領域境界付近にある撮像対象とカメラ100a・100bとが一定以下(例えば2m以下など)の場合、隣接画像間のズレの度合いもかなり大きなものとなり、ステッチング処理は困難となる。そのため、複数のカメラで撮像した複数の画像をステッチングにより最終的に一つのVR画像データにしていた従来の場合、カメラから一定距離以下となるような近距離撮影物を含むVR画像データを作成することは、実質不可能であった。
【0037】
そこで、本実施の形態の画像表示システム1または表示制御装置20では、複数のカメラで撮像された複数の画像に対して、従来のステッチング処理を行わずに、以下に説明するVR画像の表示制御を実行する。
【0038】
[4.VR画像の表示制御]
本実施の形態の画像表示システム1または表示制御装置20において実行するVR画像表示制御の概要は、次のとおりである。すなわち、画像表示システム1または表示制御装置20は、実空間を撮像する撮像方向がそれぞれ異なる複数のカメラによって撮像された複数の実写画像を、ステッチング処理を行うことなく、VR空間に配置するという特徴的な処理を実行する。ここで、前記の複数の実写画像をVR空間に配置するに際して、隣接する実写画像の視界領域の一部が互いに重なる重複領域が生じるようにVR空間に配置する。そして、VR空間に対する視線方向(ユーザの視線の方向であると判断し得る方向)に応じて、前記重複領域における隣接する実写画像同士の領域境界を動的に変更する。これにより、隣接する実写画像の領域境界に発生し易い画像のズレをできるだけ視線方向から遠ざけ、ステッチング処理を行うことなく、前記画像のズレによる不自然さを低減したVR画像をHMD10に表示させるという特徴的な表示制御を実現する。
【0039】
この本実施の形態のVR画像表示制御を説明するに際し、以下では、説明を簡略化するため、水平視野角を拡大するために左右の2方向の領域に分けた例(すなわち、左方向および右方向をそれぞれ撮像する2台のカメラで撮像された2つの実写画像を用いた例)として説明する。なお、領域の分割数については、2以上であればよいので、例えば前述のように左方向、正面方向、右方向の3方向に分割してもよいし、さらに後方を加えた4方向に分割してもよい。さらに細かく例えば8方向の領域に分割してもよい。また、垂直視野角を拡大するために、例えば上下の2方向(または3以上の方向)に分割してもよい。
また、以下では、説明を簡略化するため、HMD10の傾きについては、ピッチ方向(上下方向)およびロール方向(視軸回転方向)を考慮せず、ヨー方向(左右方向)のみを考慮するものとする。
また、両眼視差を利用した立体視可能なVR画像がHMD10の表示部11に表示される場合、右目用VR画像および左目用VR画像がそれぞれ表示されるが、以降では説明を簡略化するために、右目用と左目用とを区別せずに説明する。
【0040】
図7は、撮像方向がそれぞれ異なる2台のステレオカメラで水平画角180度の領域を2つに分けて撮像する一例を示す図である。左方向の領域を撮像する第1のカメラ100Lの水平画角θP1は120度であり、右方向の領域を撮像する第2のカメラ100Rの水平画角θP2も120度である。第1のカメラ100Lの視軸方向XC1と第2のカメラ100Rの視軸方向XC2がなす角を60度とし、第1のカメラ100Lおよび第2のカメラ100Rが近接して配置される。
【0041】
図8は、第1のカメラ100Lにより撮像された第1の画像の視界領域A1および第2のカメラ100Rにより撮像された第2の画像の視界領域A2を概念的に表す図である。実際には、第1の画像の視界領域A1および第2の画像の視界領域A2のそれぞれには、右目用と左目用とがあるが、以下では右目用または左目用のいずれかとする。ここで、「視界領域」は、一のカメラで撮影された実写画像におけるHMD10の表示部11上で表示し得る領域であり、VR空間において当該実写画像が配置される領域とする。
図8の例では、第1の画像の視界領域A1の視野角θA1および第2の画像の視界領域A2の視野角θA2は、ともに120度である。そして、
図9に例示するように、隣接する視界領域A1・A2によって、180度の全体視界領域を構成する。
【0042】
図9は、左側の第1の画像の視界領域A1および右側の第2の画像の視界領域A2の一部が互いに重なる重複領域AOが生じるようにVR空間Vに配置した一例を概念的に表す図である。換言すれば、
図9は、第1の画像および第2の画像を配置したVR空間VのXY断面を概念的に表す図である(例えば
図10等、以降に示すVR空間Vを表す図も同様)。
図9の例では、VR空間Vの全体視界領域は180度であり、第1の画像の視界領域A1の視野角θA1=120度、第2の画像の視界領域A2の視野角θA2=120度であるため、両者が重複する重複領域AOの視野角θAO=60度となる。重複領域AOは、第1の画像および第2の画像の領域境界BD1・BD2に挟まれる領域である。
図9の例では、VR空間V内の仮想視点Pから重複領域AOの中心を通る方向がX軸の方向となる。そして、重複領域AOには、第1の画像または第2の画像の何れかが選択的に表示されることになる。また、第1の画像のみの視界領域(Y軸と領域境界BD2とに挟まれた領域)、および第2の画像のみの視界領域(Y軸と領域境界BD1とに挟まれた領域)は、ともに60度の視野角となる。
【0043】
図10は、VR空間Vにおいて重複領域AOに第1の画像(第1の画像の視界領域A1)を表示した一例を表す図である。また、
図11は、VR空間Vにおいて重複領域AOに第2の画像(第2の画像の視界領域A2)を表示した一例を表す図である。重複領域AOに左側の視界領域A1の第1の画像が選択的に表示された場合、
図10に例示するように、第1の画像と第2の画像との境界は、重複領域AOの右端の領域境界BD1になる。一方、重複領域AOに右側の視界領域A2の第2の画像が選択的に表示された場合、
図11に例示するように、第1の画像と第2の画像との境界は、重複領域AOの左端の領域境界BD2になる。このように、重複領域AOに表示する実写画像(第1の画像、第2の画像)を選択的に切り替えることにより、隣接する実写画像同士の領域境界(BD1、BD2)が変化する。
【0044】
重複領域AOに、第1の画像または第2の画像のどちらを表示するのかについては、視線方向Sに基づいて判定する。視線方向Sは、HMD10のセンサ12等による検出情報によって(すなわち、HMD10の向きによって)特定できる。そこで、HMD10の視軸方向を視線方向Sとみなして、HMD10のヨー方向の向きに基づいて重複領域AOに表示する実写画像を切り替える例を説明する。
なお、
図10および
図11において、HMD10の向き(HMD10の視軸方向)と、VR空間Vにおける重複領域AOの表示切り替えとの関係を示すために、仮想視点P付近にHMD10の向きのイメージを表示している(以降に示すVR空間Vを表す図も同様)。
【0045】
図10および
図11では、仮想視点Pから重複領域AOの中心を通る方向に、重複領域AOに表示する実写画像を切り替える判断基準となる「基準方向RD」を設定した例を示している。
図10の例では、視線方向S(HMD10の視軸方向)が、基準方向RDよりも左側(すなわち第1の画像側)にある。この場合、重複領域AOには左側の視界領域A1の第1の画像が表示される。またこの場合、第1の画像の視界領域A1と第2の画像の視界領域A2との境界は、領域境界BD1となるので、領域境界BD1は視線方向Sから離れている。
一方、
図11の例では、視線方向S(HMD10の視軸方向)が、基準方向RDよりも右側(すなわち第2の画像側)にある。この場合、重複領域AOには右側の視界領域A2の第2の画像が表示される。またこの場合、第1の画像の視界領域A1と第2の画像の視界領域A2との境界は、領域境界BD2となるので、領域境界BD2は視線方向Sから離れている。
【0046】
上記の例のように、特定の方向(上記の場合は仮想視点Pから重複領域AOの中心を通る方向)を基準方向RDとして、重複領域AOに表示する実写画像(第1の画像または第2の画像)を、HMD10の向き(HMD10の視軸方向)を視線方向Sとみなして動的に切り替える。これにより、隣接する実写画像の領域境界(BD1又はBD2)に発生し易い画像の継ぎ目(ズレ)をユーザの視線の方向から遠ざけることができ、継ぎ目の違和感を低減することができる。よって、たとえ近距離撮影物が領域境界またはその付近に存在していたとしても、ユーザにとっては違和感の少ないVR画像が表示される。また、ステッチングの工程が不要となるため、VR画像制作の手間を低減することもできる。
【0047】
(基準方向RDの設定について)
なお、上記では基準方向RDを、仮想視点Pから重複領域AOの中心を通る方向に設定する例を示したが、これに限定されない。基準方向RDは、VR空間V内における第1の画像および第2の画像が配置される視界領域内であれば、仮想視点Pからどの方向に設定してもよい。
【0048】
例えば、
図12に示すように、仮想視点Pから重複領域AO外の位置の方向に基準方向RDを設定することも可能である。
図12では、重複領域AOを含まない第2の画像のみの視界領域A2に、基準方向RDを設定した例を示している。この場合も、HMD10のヨー方向(左右方向)の向きの変化により、
図12中の(A)の状態から視線方向Sが基準方向RDを超えれば、
図12中の(B)に例示するように重複領域AOに表示される実写画像が、視界領域A1の第1の画像から視界領域A2の第2の画像に切り替わる。これにより、隣接する実写画像の領域境界が領域境界BD1から領域境界BD2に切り替わり、視線方向Sから領域境界が遠ざかる。但し、この場合、
図12中の(A)の状態において視線方向Sが基準方向RDを超えるまでに、視線方向Sが領域境界BD1を跨ぐことになる。このため、重複領域AOに表示される実写画像が第1の画像から第2の画像に切り替わる前に、領域境界BD1が視線方向Sと重なるタイミングが生じることになる。
【0049】
そこで、仮想視点Pから重複領域AO内の所定の位置(重複領域AOの中心であっても中心でなくてもよい)の方向に基準方向RDを設定することは、好ましい一態様である。この場合、基準方向RDが重複領域AO内に設定されることにより(
図10又は
図11参照)、視線方向Sが重複領域AOの現在の領域境界(BD1又はBD2)の方に向かっても、領域境界に到達する前に、視線方向Sが基準方向RDを超えるので、重複領域AOに表示する実写画像が切り替わる。これにより、視線方向Sが領域境界に到達する前に、領域境界は視線方向Sから遠ざかる。
【0050】
(基準方向を設定しない一態様)
次に、基準方向RDを設定することなく、視線方向Sに基づいて、隣接する実写画像(第1の画像および第2の画像)のうち、重複領域AOに表示する実写画像を動的に切り替える一態様を示す。この態様では、
図13に例示するように、隣接する実写画像の現在の領域境界(BD1またはBD2)を基準に、視線方向Sに基づいて、重複領域AOに表示する実写画像を動的に切り替える。
【0051】
例えば、
図13中の(A)に示すように、重複領域AOには左側の視界領域A1の第1の画像が表示されており、視線方向SがX軸にあるものとする。この場合、実写画像の切り替え基準は、現在の領域境界BD1である。ここからHMD10が右方向に回転し、
図13中の(B)に例示するように、視線方向S(HMD10の視軸)が領域境界BD1を超えた場合、重複領域AOに表示される実写画像が、第1の画像から右側の視界領域A2の第2の画像に切り替わる。これにより、実写画像の切り替え基準は、現在の領域境界BD2に変更される。ここからHMD10が左方向に回転し、
図13中の(C)に例示するように、視線方向SがX軸に戻っても、現在の領域境界BD2を超えていないので、重複領域AOに表示される実写画像は切り替わらない。ここからHMD10がさらに左方向に回転し、
図13中の(D)に例示するように、視線方向Sが領域境界BD2を超えた場合、重複領域AOに表示される実写画像が第2の画像から第1の画像に切り替わる。
【0052】
このように、隣接する実写画像(第1の画像および第2の画像)の現在の領域境界(BD1またはBD2)を基準とし、視線方向Sが現在の領域境界(BD1またはBD2)よりも第1の画像側(左側)にあれば第1の画像、第2の画像側(右側)にあれば第2の画像を重複領域AOに表示させるように、動的に切り替える。
【0053】
また、変形例として、次に示す態様により、重複領域AOに表示する実写画像を動的に切り替えてもよい。すなわち、隣接する実写画像の現在の領域境界(BD1またはBD2)に視線方向Sが所定以上近づいた場合(例えば、視線方向Sと現在の領域境界とのなす角度が所定値以下になった場合)に、重複領域AOに現在表示している実写画像を他方の実写画像に切り替えるようにしてもよい。この態様の場合、視線方向Sが領域境界に到達する前に重複領域AOに表示する実写画像が切り替えられ、領域境界は視線方向Sから遠ざかる。
【0054】
なお、
図9ないし
図13を用いた説明では、水平方向を複数領域に分割して水平視野角を拡大する表示制御について説明したが、垂直方向を複数領域に分割して垂直視野角を拡大する表示制御の場合は、ピッチ方向(上下方向)のHMD10の向きに基づいて、前述と同様の重複領域の画像の切替処理をすればよい。
【0055】
[5.表示制御装置の機能的構成]
図14は、表示制御装置20の機能的な構成の一例を示す概略の機能ブロック図である。表示制御装置20は、両眼視差を利用した立体視画像として、VR空間内の仮想視点からの視界を表すVR画像をHMD10の表示部11に表示させるための制御を実行する。
図14に示すように、表示制御装置20は、制御部30を含む。この制御部30は、例えば、記憶装置22に記憶されているプログラムをプロセッサ21が実行することにより実現される。制御部30は、視線方向特定部31と画像生成部32とを含む。
【0056】
視線方向特定部31は、VR空間に対するユーザの視線の方向であるとする視線方向を特定する機能を有する。ここで、「視線方向」とは、HMD10を装着したユーザのVR空間に対する視線の方向であると見做して特定される方向である。「視線方向」は、例えばHMD10のセンサ12等の検出情報に基づいて、略ユーザの視線の方向であると推定できればよく、HMD10を装着した実際のユーザの視線の方向と一致していてもよいし、実際のユーザの視線の方向とはズレが生じていてもよい。
【0057】
例えば、視線方向特定部31は、HMD10の向きに関する検出情報を取得し、当該検出情報に基づいて視線方向を特定することができる。ここで、「HMD10の向きに関する検出情報」とは、HMD10がユーザに装着されている状態において、ユーザが頭の向きを変えることによって変化するHMD10の向きに関する検出情報である。前記の「検出情報」は、HMD10の方向または方向の変化を検出するセンサ等の検出手段から取得できる。例えば、HMD10に内蔵されるセンサ12(角速度センサ、加速度センサ、または地磁気センサ等)の検出結果が、「HMD10の向きに関する検出情報」の一例に相当する。また、HMD10の外部に設けられた撮像部でHMD10を撮像し、HMD10の位置や方向を測定するトラッキングシステムの測定結果が、「HMD10の向きに関する検出情報」の一例に相当する。また、HMD10自体に搭載されている撮像部で撮像した周囲の物体を分析し、HMD10の位置や方向を測定するトラッキングシステムの測定結果が、「HMD10の向きに関する検出情報」の一例に相当する。
【0058】
また、視線方向特定部31は、ユーザの視線に関する検出情報を取得し、当該検出情報に基づいて前記視線方向を特定することができる。ここで、「ユーザの視線に関する検出情報」とは、HMD10がユーザに装着されている状態において、ユーザの視線の方向、動き等を検出した情報である。例えば、ユーザの眼球位置に基づいて視線の方向や動きを追跡するアイトラッキングシステムの測定結果が、「ユーザの視線に関する検出情報」の一例に相当する。
【0059】
画像生成部32は、実空間を撮像する撮像方向がそれぞれ異なる複数のカメラによって撮像された複数の実写画像を、隣接する当該実写画像の視界領域の一部が互いに重なる重複領域が生じるようにVR空間に配置し、前記視線方向に応じたVR画像を生成する機能を有する。
【0060】
ここで、前記「カメラ」とは、実空間を撮像するリアルカメラをいう。なお、「カメラ」自体は表示制御装置20の構成要素には含まれない。「カメラ」は、左右両眼視差を利用した立体視画像を得るために、左目用の画像を撮像する左目用光学系(左目用カメラ)と右目用の画像を撮像する右目用光学系(右目用カメラ)とを含む。例えば、ステレオカメラのように、1台のカメラで左目用光学系および右目用光学系を備えていてもよい。また、左目用カメラと右目用カメラとが別構成であってもよい。複数の実写画像から立体視可能な広視野角のVR画像を得るために、左目用および右目用それぞれについて、カメラは複数使用される。例えば、水平方向の視野角を広くした広視野角画像を得る場合、実空間内において撮像方向がそれぞれ異なるように水平方向に複数のカメラを配置してもよい。また、例えば、垂直方向の視野角を広くした広視野角画像を得る場合、実空間内において撮像方向がそれぞれ異なるように垂直方向に複数のカメラを配置してもよい。左目用および右目用それぞれについて、カメラの数は2以上であれば任意の数とすることができる。各カメラの画角も任意である。複数のカメラの画角が全て一致していてもよいし、一致していなくてもよい。
【0061】
また、前記「撮像方向」とは、実空間を撮像するカメラが撮像する向きに相当する方向であり、カメラが有する撮像光学系の光軸線における正面方向(被写体側を示す方向)のことを言う。
【0062】
また、前記「隣接する実写画像」とは、実空間を撮像する方向が異なり、撮像範囲が部分的に重複する、隣り合う2つのカメラで撮像された2つの実写画像のことである。ここで、隣り合う2つのカメラとは、左目用カメラ及び右目用カメラのことではなく、何れも左目用の実写画像を撮像する2つのカメラ、又は何れも右目用の実写画像を撮像する2つのカメラのことである。
「実写画像」は動画であってもよいし、静止画であってもよい。また、「実写画像」は事前に撮像された画像(映像)であってもよいし、略リアルタイムで撮像されたライブ画像(ライブ映像)であってもよい。
【0063】
また、前記「視界領域」は、一のカメラで撮影された実写画像におけるヘッドマウントディスプレイの表示部上で表示し得る領域であり、VR空間において当該実写画像が配置される領域である。例えば、水平画角θH1(例えば120度)および垂直画角θV1(例えば120度)のカメラで撮像された実写画像の視界領域は、基本的に、水平視野角θH2(=θH1)および垂直視野角θV2(=θV1)を有する領域となる。なお、水平画角θH1および垂直画角θV1のカメラで撮像された実写画像の視界領域を、VR空間に配置する際に狭くして、水平視野角θH2(<θH1)および垂直視野角θV2(<θV1)としてもよい。例えば、光学系の歪曲収差によるゆがみが発生し易い画像端部付近の領域を使用しないことにより、前述のように、VR空間に配置する際に実写画像の視界領域を狭くしてもよい。
【0064】
また、前記「重複領域」とは、VR空間において、隣接する2つの実写画像同士が部分的に重ねて配置された領域のことをいう。
図9ないし
図13の例では、重複領域AOの視野角を60度とした例を示したが、重複領域AOは60度よりも狭くてもよいし、60度よりも広くてもよい。「重複領域」の広さ(視野角)は任意に設定できる。後述するように、VR空間に重複領域が複数ある場合、すべての重複領域の広さ(視野角)を同一にしてもよいし、少なくとも一の重複領域の広さを他の重複領域の広さとは異ならせてもよい。
【0065】
画像生成部32は、複数の実写画像を、隣接する当該実写画像の視界領域の一部が互いに重なる重複領域が生じるようにVR空間に配置する画像配置部321を含む。画像配置部321は、VR空間を形成するための記憶装置22(VRAM等)の所定の記憶領域(VR空間に配置される複数の実写画像をそれぞれ記憶する記憶領域)に、複数の実写画像をそれぞれ記憶させる記憶制御を実行する。
図9ないし
図13の例では、画像配置部321は、記憶装置22におけるVR空間を形成するための所定の記憶領域に、第1の画像および第2の画像の各データを記憶させる。
【0066】
本実施形態では、表示対象の複数の実写画像のデータとともに、当該複数の実写画像をVR空間に配置するための配置情報が、当該複数の実写画像に関連付けられて記憶装置22に記憶されている。あるいは、表示対象の複数の画像を記録した記録媒体には、前記配置情報も併せて記録されている。そして、表示制御装置20のプロセッサ21が、記録媒体から表示対象の複数の画像のデータを読み出して記憶装置22に記憶させる場合、前記配置情報も併せて読み出して記憶装置22に保存し、VR空間への画像配置処理に使用する。あるいは、後述のように、略リアルタイムでライブ映像をVR画像としてHMD10に表示させる場合は、表示対象のライブ映像の画像とともに、前記配置情報も併せて入力(受信)し、VR空間への画像配置処理に使用する。
【0067】
前記配置情報としては、例えば、VR空間に配置される視界領域の数(画像の数)、全体視界領域の視野角、各視界領域の視野角、VR空間内における各視界領域の方向(VR空間内の位置)、重複領域の数、各重複領域の視野角、またはVR空間内における各重複領域の方向(位置)などの情報が含まれる。
例えば、実写画像ファイルのヘッダ部分に、前記配置情報が記録されていてもよい。あるいは、実写画像のファイル(データ)とは別のファイルとして、実写画像に関連付けられた情報として前記配置情報が記録されていてもよい。
【0068】
なお、本実施形態のVR画像(動画)の表示について予め規格化(標準化)し、規格に合致した実写画像を用いることを前提とするならば、前述の詳細な配置情報を、表示対象の複数の実写画像に関連付けて、実写画像とともに保存する必要はない。すなわち、VR空間に配置される視界領域の数(画像の数)、全体視界領域の視野角、各視界領域の視野角、VR空間内における各視界領域の方向(VR空間内の位置)、重複領域の数、各重複領域の視野角、またはVR空間内における各重複領域の方向(位置)などが、予め規格として定められている場合、画像配置部321は、当該規格の情報に基づいて、VR空間に各画像を配置できる。
【0069】
また、例えば、全体視界領域の視野角が180度の第1規格、220度の第2規格、270度の第3規格、360度の第4規格などのように、複数の規格を規定してもよい。この場合、表示対象の画像には、どの規格に準拠して撮像された画像であるかを示す規格情報が関連付けられておればよい。この場合、各規格情報が前述の「配置情報」の一例に相当する。
【0070】
また、ある程度の自由度を持たせた規格としてもよい。例えば、前述の配置情報のうちの一部のみを規格化し、その他の項目は任意に設定または変更できるようにしてもよい。例えば、全体視界領域の視野角は予め規格化されて定められているが、VR空間に配置される視界領域の数(画像の数)や各視界領域の視野角などは、任意に設定可能とする。この場合、規格情報および任意設定項目の内容を「配置情報」として、表示対象の画像に関連付けておけばよい。
【0071】
また、画像生成部32は、切替部322を含む。この切替部322は、前記視線方向特定部31によって特定された視線方向に基づいて、隣接する実写画像のうち、重複領域に表示する実写画像を動的に切り替える機能を有する。切替部322は、視線方向に基づいて、隣接する実写画像の領域境界が視線方向から遠ざかるように、隣接する実写画像のうち、重複領域に表示する実写画像を動的に切り替える。
【0072】
ここで、「視線方向に基づいて、隣接する実写画像のうち、重複領域に表示する実写画像を動的に切り替える」とは、重複領域に表示し得る隣接する2つの実写画像(第1の画像および第2の画像)のうち、何れの実写画像を重複領域に表示するのかを視線方向に基づいてその都度特定し、視線方向の変化に応じて重複領域に表示する実写画像を動的に切り替えることである。
例えば、
図10ないし
図12に示したように、隣接する第1の画像および第2の画像を切り替える基準となる基準方向RDを設定し、視線方向Sが基準方向RDより第1の画像側にある場合は第1の画像を、第2の画像側にある場合は第2の画像を、重複領域AOに表示することが、「視線方向に基づいて、隣接する実写画像のうち、重複領域に表示する実写画像を動的に切り替える」の一例に相当する。
【0073】
また、基準方向を設定することなく、視線方向に基づいて重複領域に表示する実写画像を動的に切り替えてもよい。例えば、
図13に例示したように、隣接する実写画像(第1の画像および第2の画像)の現在の領域境界(BD1またはBD2)を基準とし、視線方向Sが現在の領域境界よりも第1の画像側にあれば第1の画像、第2の画像側にあれば第2の画像を重複領域AOに表示することが、「視線方向に基づいて、隣接する実写画像のうち、重複領域に表示する実写画像を動的に切り替える」の一例に相当する。また、例えば、視線方向が隣接する実写画像同士の現在の領域境界に所定以上近づいた場合(視線方向と領域境界とのなす角度が所定値以下になった場合)に、重複領域に現在表示している実写画像を他方の実写画像に切り替えることが、「視線方向に基づいて、隣接する実写画像のうち、重複領域に表示する実写画像を動的に切り替える」の一例に相当する。
【0074】
また、「重複領域に表示する実写画像を切り替える」処理については、例えば、重複領域において、隣接する2つの実写画像を上下の異なるレイヤ(画層)に配置する。そして、下のレイヤー(背景)に配置した実写画像の透明度を0%のまま変化させず、上のレイヤー(前景)に配置した実写画像の透明度を、100%又は0%の何れかに切り替える。すなわち、重複領域における下のレイヤーに配置した実写画像を表示する場合は、上のレイヤーの透明度を100%に設定し、上のレイヤーに配置した実写画像を表示する場合は、上のレイヤーの透明度を0%に設定する。このように、重複領域において、隣接する2つの実写画像を上下の異なるレイヤに配置し、上のレイヤーに配置した実写画像の透明度を100%又は0%の何れかに切り替えることが、「重複領域に表示する実写画像を切り替える」の一例に相当する。
また、隣接する2つの実写画像を重複領域に重畳配置し、表示する方の実写画像の透明度を0%、他方の実写画像の透明度を100%としてもよい。すなわち、重畳配置した2つの実写画像の一方の透明度を0%、他方の実写画像の透明度を100%とし、表示する実写画像によって透明度を切り替えることが、「重複領域に表示する実写画像を切り替える」の一例に相当する。
また、隣接する2つの実写画像を重複領域に重畳配置するのではなく、表示する方の実写画像の重複領域に対応する部分のみを重複領域に配置し、配置する実写画像を切り替えることが、「重複領域に表示する実写画像を切り替える」の一例に相当する。
【0075】
重複領域の実写画像を切り替える切替期間は任意に設定できる。切替期間を略ゼロにしていきなり切り替えてもよいし、所定の切替期間(例えば0.3秒等)を設けてもよい。また、重複領域の実写画像を切り替える際に、隣接する2つの実写画像が例えば半透明合成等により両方とも表示される期間があってもよい。
【0076】
また、画像生成部32(画像生成部32の切替部322)は、仮想視点から所定の方向に基準方向を設定し、基準方向に対する視線方向に基づいて、重複領域に表示する実写画像を特定する機能を有する。ここで、「基準方向」とは、視線方向との関係で、重複領域に表示する実写画像を切り替えるか否かを判断するために設定される方向である。「基準方向」は、VR空間内の仮想視点から所定の方向に設定でき、VR空間内における隣接する実写画像が配置される視界領域内であれば、どの方向に設定してもよい。例えば、
図10および
図11に例示するように、VR空間内の仮想視点Pから重複領域AOの中心を通る方向RDが「基準方向」の一例に相当する。「基準方向」は固定であってもよいし、後述のように固定でなく変化する(前記所定の方向が変化する)ようにしてもよい。
【0077】
例えば、
図10に示すように、視線方向Sが基準方向RDより左側(第1の画像の視界領域A1側)にある場合、画像生成部32は、重複領域AOに表示する実写画像を第1の画像であると特定する。また、
図11に例示するように、視線方向Sが基準方向RDより右側(第2の画像の視界領域A2側)にある場合、画像生成部32は、重複領域AOに表示する実写画像を第2の画像であると特定する。
【0078】
画像生成部32(画像生成部32の切替部322)は、仮想視点から重複領域内の所定の位置の方向に基準方向を設定することが好ましい。ここで、「仮想視点から重複領域内の所定の位置の方向に基準方向を設定する」とは、基準方向を重複領域内に設定する(基準方向を示すベクトルが重複領域内に存在するように基準方向を設定する)ことである。この場合、
図10および
図11に例示するように、基準方向RDが重複領域AO内に設定されるので、視線方向Sが重複領域AOの領域境界(BD1またはBD2)の方に向かっても、領域境界に到達する前に、重複領域AOに表示する実写画像が切り替わり、よって領域境界も視線方向Sから遠ざかる。
【0079】
また、画像生成部32は、HMD10の向きに関する検出情報を取得し、当該検出情報に基づいて、HMD10の表示部11に表示させるVR画像の範囲を変更する機能を有する。例えば、画像生成部32は、HMD10に内蔵される角速度センサ等のセンサ12の検出結果に基づいて、VR空間における仮想視点Pからの視界の方向を変更し、HMD10の表示部11に表示させるVR画像の範囲を変更する。例えば、HMD10の視軸の方向を視界の方向として、HMD10の向きに応じてHMD10の表示部11に表示させるVR画像の範囲を変更する。
【0080】
[6.処理]
次に、本実施の形態の表示制御装置20で実行される処理の一例を以下に説明する。
図15は、表示制御装置20の処理の一例を示すフローチャートである。以下に説明する処理は、記憶装置22に記憶されているプログラムを、制御部30(表示制御装置20のプロセッサ21)が実行することにより実現される(
図17、
図23、
図24、
図27、
図29又は
図33の各フローチャートを参照した処理についても同様)。
ここでは、
図9ないし
図12を参照して説明したVR画像の表示制御処理の一例を説明する。
【0081】
制御部30は、
図10または
図12等に例示するように、VR空間Vに基準方向RDを設定する(S100)。
実空間を撮像する撮像方向がそれぞれ異なる2台のカメラによって撮像された実写画像(第1の画像および第2の画像)のデータは、例えば、記憶装置22または記録媒体等に格納されている。制御部30は、記憶装置22等から第1の画像、第2の画像、および配置情報を読み出す。そして制御部30は、配置情報に基づいて、第1の画像および第2の画像の視界領域A1・A2の一部が互いに重なる重複領域AOが生じるように、第1の画像および第2の画像をVR空間Vに配置する(S102)。例えば、制御部30は、重複領域AOにおいて、第1の画像と第2の画像とを、上下の異なるレイヤに配置する。例えば、第1の画像を下のレイヤとし、第2の画像を上のレイヤとして配置する。
【0082】
また、制御部30は、HMD10のセンサ12(例えば角速度センサ)から、HMD10の向きに関する検出情報を取得し(S104)、視線方向Sを特定する(S106)。そして、制御部30は、視線方向Sが基準方向RDよりも左側(第1の画像側)にあるか否かを判定し(S108)、YESであれば
図10に例示するように重複領域AOに第1の画像を表示させる(S110)。例えば、重複領域AOにおいて、第1の画像の透明度を0%で固定とし、第1の画像より上のレイヤに配置した第2の画像の透明度を100%とすることにより、重複領域AOに第1の画像を表示させる。一方、視線方向Sが基準方向RDよりも右側(第2の画像側)にあれば(S108でNO)、制御部30は、
図11に例示するように重複領域AOに第2の画像を表示させる(S112)。例えば、重複領域AOにおいて、第1の画像より上のレイヤに配置した第2の画像の透明度を0%とすることにより、重複領域AOに第2の画像を表示させる。このように、制御部30は、視線方向Sに基づいて、隣接する実写画像(第1の画像および第2の画像)のうち、重複領域AOに表示する実写画像を動的に切り替える制御を実行する。
【0083】
そして、制御部30は、前記S104のHMD10の向きに関する検出情報に基づいて、HMD10の向きに応じた範囲のVR画像を生成してHMD10へ出力する(S114)。例えば、制御部30は、レンダリング処理等を行って生成したVR画像をHMD10へ出力する。これにより、HMD10にはVR画像が表示される。
前記S102~S114の処理は、ユーザにより再生停止操作が行われる等により表示が終了(S116でYES)になるまで繰り返される。
【0084】
[7.基準方向を変更する態様]
前記の説明では、固定した基準方向RDを設定する例を示した。基準方向RDが固定されると、HMD10の視軸方向(視線方向S)が基準方向RD付近にある場合に、重複領域AOに表示される実写画像が頻繁に切り替わることが起こり得るため、ユーザにとって見辛い画像になってしまう可能性がある。そこで、重複領域AOに表示する実写画像の切り替えが実行されたタイミングで、基準方向RDがHMD10の視軸方向(視線方向S)から遠のくように、基準方向RDを変更する。これを以下に説明する。
【0085】
図16中の(A)に例示するように、重複領域AOに左側の視界領域A1の第1の画像が表示される場合、仮想視点Pから重複領域AOの中心を通る方向から右へ(例えば-20度)ずらした方向に、基準方向RD1が設定される。なお、角度は反時計回り(左回り)を正とする。この状態からHMD10の視軸方向(視線方向S)が右方向へ回転していき、視線方向Sが基準方向RD1を超えた場合、
図16中の(B)に例示するように重複領域AOに表示する実写画像が第1の画像から視界領域A2の第2の画像に切り替わる。この切り替わりのタイミングで(切り替わりと同時に)、基準方向がHMD10の視軸方向(視線方向S)から遠のくように左へ移動し、
図16中の(A)の基準方向RD1から、
図16中の(B)の基準方向RD2に変更される。すなわち、
図16中の(B)に例示するように、重複領域AOに右側の視界領域A2の第2の画像が表示される場合、仮想視点Pから重複領域AOの中心を通る方向から左へ(例えば20度)ずらした方向に、基準方向RDが設定される。
【0086】
また、
図16中の(B)の状態から、HMD10の視軸方向(視線方向S)が左方向へ回転していき、視線方向Sが基準方向RD2を超えた場合、
図16中の(A)に示すように、重複領域AOに表示する実写画像が第2の画像から視界領域A1の第1の画像に切り替わると同時に、基準方向RD2から基準方向RD1に変更される。なお、同時には略同時が含まれる。
【0087】
これは、重複領域AOに表示する実写画像が切り替えられたタイミングで基準方向(RD1又はRD2)を変更してヒステリシス制御を行う態様である。
また、重複領域AOに表示する実写画像が切り替えられた場合に、基準方向が視線方向Sから遠のくように、切り替えられた後の領域境界(BD1又はBD2)の方へ基準方向RDを移動させる態様でもある。
また、重複領域AOに表示される実写画像によって(視界領域A1の第1の画像か、視界領域A2の第2の画像かによって)、基準方向(RD1またはRD2)を変更する態様でもある。
【0088】
画像生成部32は、重複領域AOに表示する実写画像を切り替えたタイミングで、重複領域AOに表示する実写画像(視界領域A1の第1の画像か、視界領域A2の第2の画像かによって)に応じて基準方向(RD1又はRD2)を変更する機能を有する。
【0089】
次に、
図17を参照して、上述した基準方向を変更する処理の一例を説明する。
図17は、本実施形態に係る制御部30が実行する基準方向を変更する処理の一例を示すフローチャートである。
【0090】
制御部30は、
図16中の(A)または(B)に例示するように、重複領域AOに表示されている実写画像(視界領域A1の第1の画像または視界領域A2の第2の画像)に応じた基準方向(RD1又はRD2)を設定する(S200)。また、制御部30は、HMD10のセンサ12(例えば角速度センサ)から、HMD10の向きに関する検出情報を取得し(S202)、視線方向Sを特定する(S204)。また、制御部30は、現在の基準方向(RD1又はRD2)に対する視線方向Sに基づいて、重複領域AOに表示する実写画像を切り替える必要があるかを判断する(S206)。このS206でYESの場合、制御部30は、重複領域AOに表示する実写画像の切り替えを実行するとともに(S208)、基準方向を当該切り替え後の実写画像に応じた方向に変更する(S210)。一方、S206でNOの場合、S202へ戻る。
前記S202~S210の処理は、ユーザにより再生停止操作が行われる等により表示が終了(S212でYES)になるまで繰り返される。
【0091】
上記の態様によれば、基準方向(RD1又はRD2)は固定ではなく、重複領域AOに表示される実写画像が切り替えられたタイミングで、重複領域AOに表示される実写画像に応じて変更される。これにより、実写画像が切り替えられた後は一時的に基準方向が視線方向Sから遠のくため、重複領域AOに表示される実写画像が頻繁に切り替わることを低減できる。
【0092】
[8.現在の領域境界を視認可能に表示する態様]
本実施の形態の画像表示システム1では、重複領域AOに表示する実写画像(第1の画像又は第2の画像)を切り替えて、隣接する実写画像の領域境界(BD1又はBD2)を視線方向Sから遠ざけているが、現在の領域境界を敢えて視認可能に表示してもよい。これを以下に説明する。
【0093】
図18及び
図19は、HMD10の表示部11に表示されている画面の一例を示す図である。
図18に例示する画面G10には、
図10に例示するVR空間VにおけるHMD10の向きに応じた視界の範囲のVR画像が表示されている。すなわち、画面G10には、
図10のVR空間Vの仮想視点PからのHMD10の視軸方向(視線方向S)の視界を表すVR画像が表示されている。よって、重複領域AOには左側の視界領域A1の第1の画像が表示されていることになる。この画面G10には、隣接する実写画像(第1の画像及び第2の画像)同士の現在の領域境界BD1(重複領域AOの右端)に対応する部位に、境界線BL1が視認可能に表示される。例えば、境界線BL1は、ユーザが認識可能な線幅を有する黒の実線である。
【0094】
図18の画面G10を見ているユーザが頭(HMD10)を右方向に回転させた場合に表示される画面が、
図19に例示する画面G11である。この画面G11は、
図11に例示するVR空間VにおけるHMD10の向きに応じた視界の範囲のVR画像が表示されている。つまり、HMD10の視軸方向(視線方向S)が右に回転して基準方向RDを超えたため、
図18の画面G10のVR画像から、重複領域AOに表示される実写画像が切り替わったVR画像が、
図19に例示する画面G11に表示されている。この画面G11には、隣接する実写画像(第1の画像及び第2の画像)同士の現在の領域境界BD2(重複領域AOの左端)に対応する部位に、境界線BL2が視認可能に表示される。例えば、境界線BL2は、境界線BL1と同様の線幅を有する黒の実線である。
【0095】
図20に例示するように、表示制御装置20は、境界線表示部33を含む構成とすることができる。この境界線表示部33は、隣接する実写画像同士の領域境界に、ユーザが視認可能な境界線を表示する機能を有する。ここで、前記「隣接する実写画像同士の領域境界」とは、VR空間に配置された隣接する2つの実写画像(第1の画像及び第2の画像)の境界である。
図10及び
図11に例示するように、重複領域AOに表示される実写画像(視界領域A1の第1の画像、又は視界領域A2の第2の画像)によって、領域境界の位置(BD1又はBD2)は変化する。また、前記「境界線」とは、隣接する前記実写画像同士の領域境界をユーザが視認できるように、領域境界に表示される線である。「境界線」の色、線幅、透明度等は任意に設定できる。また、「境界線」は、例えば、実線、点線、一点鎖線、波線、二重線等、線の種類も任意に設定できる。また、「境界線」は、二次元的な線であってもよいし、立体(三次元)的に盛り上がった線であってもよい。
【0096】
境界線表示部33は、現在の領域境界(BD1又はBD2)の部分に境界線(BD1又はBD2)を配置し、実写のVR画像に境界線が重畳されて表示部11に表示されるようにする。
【0097】
画像の継ぎ目(ズレ)が生じている領域境界(BD1又はBD2)は、
図10及び
図11等に例示するように、視線方向Sに基づいて重複領域AOに表示される実写画像が切り替えられることにより変更される。つまり、ユーザが自らの意思で視線方向Sを変えることにより、画像の継ぎ目(ズレ)が生じている領域境界(BD1又はBD2)を変更できる。つまり、ユーザの見たい方向に画像の継ぎ目がある場合は、ユーザが自らの意思で視線方向Sを変えれば、見たい方向にあった画像の継ぎ目をなくして見やすい画像とすることができる。
そして、本態様によれば、隣接する実写画像同士の領域境界(BD1又はBD2)に、敢えて境界線(BL1又はBL2)を視認可能に表示することで、画像の継ぎ目(ズレ)が生じる領域境界がユーザに認識され易くしている。画像の継ぎ目の部分の境界線(BL1又はBL2)は、
図18及び
図19に例示するように、ユーザが自らの意思で視線方向Sを変えることにより変更でき、変更後においても画像の継ぎ目がどこに移動したかをユーザが認識し易くなる。つまり、領域境界(BD1又はBD2)に境界線(BL1又はBL2)を視認可能に表示することで、ユーザの見たい方向に境界線が表示されないように、隣接する実写画像のうち、重複領域AOにどちらの実写画像を表示して見るべきかのユーザの判断を容易にすることができる。
【0098】
HMD10の向きに関する検出情報(例えば角速度センサの検出情報)に基づいて視線方向Sが特定される場合、ユーザはHMD10を装着している頭の向きを調整して、HMD10の表示部11に表示されるVR画像の範囲を調整しつつ、境界線(BL1又はBL2)を変更すればよい。
【0099】
また、ユーザの視線に関する検出情報(例えば、アイトラッキングによる検出情報)に基づいて視線方向Sが特定される場合、ユーザは頭を動かさなくても視線を変えるだけで、領域境界(BD1又はBD2)に表示される境界線(BL1又はBL2)を変更できる。例えば、HMD10の向きに関する検出情報(例えば角速度センサの検出情報)に基づいて表示部11に表示させるVR画像の範囲を変更し、ユーザの視線に関する検出情報(例えば、アイトラッキングによる検出情報)に基づいて視線方向Sを特定する構成の場合は、ユーザは次のようにすれば見やすい画像を自らが調整できる。すなわち、ユーザは頭の向きを調整して、見たい方向の画像がHMD10の表示部11に表示されるようにVR画像の範囲を調整する。そして、見たい方向の画像が表示部11に表示されている状態で、視線の方向を調整し、境界線(BL1又はBL2)を変更すれば、たとえ見たい方向に境界線があってもそれを移動させて見やすい画像を表示させることができる。
なお、アイトラッキング等によるユーザの視線に関する検出情報に基づいて、表示部11に表示させるVR画像の範囲を変更し、且つ、重複領域AOに表示する実写画像を切り替える構成の場合は、ユーザは視線の方向を調整するだけで、見やすい画像を自らが調整できる。
【0100】
(境界線またはその付近に付加情報を表示する態様)
次に、隣接する実写画像のうち、重複領域AOにどちらの実写画像を表示して見るべきかのユーザの判断を、さらに容易にすることができる態様を以下に説明する。
【0101】
例えば、
図18に例示する画面G10には、境界線BL1が表示されているが、境界線BL1を挟んで左側が重複領域AOであるのか、それとも右側が重複領域AOであるのかを、ユーザは直ぐには認識し難い。また、隣接する実写画像(左側の第1の画像または右側の第2の画像)のうち、現在、重複領域AOにどちらの実写画像が表示されているのかを、ユーザは直ぐには認識し難い。また、重複領域AOにおける実写画像の切り替え(すなわち、境界線の変更)を発生させるためには、視線方向Sをどちらの方向へ変化させればよいのかを、ユーザは直ぐには認識し難い。
なお、上記のことが直ぐには認識し難い場合でも、ユーザが視線方向Sを左や右に変更してみれば、
図18に例示する画面G10から
図19に例示する画面G11になり、または画面G11から画面G10になるので、認識できるようになる。本態様では、境界線またはその付近に付加情報を表示することで、ユーザが視線方向Sをどちらの方向へ変化させればよいのかを認識し易くする。
【0102】
図21及び
図22は、境界線とともにグラデーション部を表示させた画面の一例を示す図である。
図21は、
図18に例示する画面G10に対応する画面G20であり、境界線BL1の右側に付加情報としてグラデーション部GD1を表示させた画面の一例を示す図である。
【0103】
図21の画面G20は、
図10のVR空間Vに対応している。よって、境界線BL1の左側は「左側の視界領域A1の第1の画像が表示されている重複領域AO」に対応しており、境界線BL1の右側の領域は、重複領域AOではない側(右側の視界領域A2のみの領域)である。つまり、画面G20のグラデーション部GD1は、境界線BL1を挟んで重複領域AOとは反対側に表示される。このグラデーション部GD1は、境界線BL1から離れるほど(
図21では右に向かうほど)連続的に又は段階的に濃度又は不透明度が低くなる黒い色のグラデーションを表示する半透明の領域である。グラデーション部GD1の幅(境界線BL1と直交する方向の距離)や色等は任意に設定可能である(下記グラデーション部GD2も同様である)。
【0104】
また、
図22は、
図19に例示する画面G11に対応する画面G21であり、境界線BL2の左側に付加情報としてグラデーション部GD2を表示させた画面の一例を示す図である。この
図22の画面G21は、
図11のVR空間Vに対応している。よって、境界線BL2の右側は「右側の視界領域A2の第2の画像が表示されている重複領域AO」に対応しており、境界線BL2の左側の領域は、重複領域AOではない側(左側の視界領域A1のみの領域)である。つまり、画面G21のグラデーション部GD2は、境界線BL2を挟んで重複領域AOとは反対側に表示される。このグラデーション部GD2は、境界線BL2から離れるほど(
図22では左に向かうほど)連続的に又は段階的に濃度又は不透明度が低くなるグラデーションを表示する半透明の領域である。グラデーション部GD2の色は、例えば黒色のグラデーションであるが、任意の色を設定できる。
【0105】
このように、境界線(BL1又はBL2)を挟んで重複領域AOの反対側にグラデーション部(GD1又はGD2)を表示する。これにより、ユーザは、境界線(BL1又はBL2)のグラデーション部(GD1又はGD2)とは反対側(
図21では境界線BL1の左側、
図22では境界線BL2の右側)が重複領域AOであると認識できる。また、ユーザは、重複領域AOには、現在、境界線(BL1又はBL2)を挟んでグラデーション部(GD1又はGD2)とは反対側の実写画像(
図21では左側の第1の画像、
図22では右側の第2の画像)が表示されているということが認識できる。また、ユーザは、グラデーション部(GD1又はGD2)が薄くなっている方向に(境界線BL1からグラデーション部のある方向に)視線方向Sを移動させると、重複領域AOにおける実写画像の切り替え(境界線の変更)を発生させ得ることが、直感的に認識できるようになる。
【0106】
つまり、グラデーション部(GD1又はGD2)は、「境界線を挟んでどちら側が重複領域であるかを示すための情報」、「隣接する実写画像のうち、重複領域に表示されている実写画像が何れであるかを示すための情報」、または「重複領域における実写画像の切り替えを発生させるために視線方向をどちらの方向へ変化させるべきかを示す情報」である。
【0107】
また、グラデーション部(GD1又はGD2)は、境界線(BL1又はBL2)の部分で発生している画像のズレ部分に重畳して表示されるので、当該画像のズレを目立たなくする効果も生じる。また、グラデーション部(GD1又はGD2)の濃度または不透明度の変化が、重複領域AOにおける実写画像の切り替えに必要な視線方向Sの変化の方向を自然に表す役目も担っている。よって、境界線と併せて表示する付加情報としては、グラデーション部(GD1又はGD2)を適用することが、好ましい態様の一つである。
【0108】
なお、境界線(BL1又はBL2)を挟んでどちら側が重複領域AOであるかが認識できればよいので、境界線(BL1又はBL2)を挟んで重複領域AO側にグラデーション部(GD1又はGD2)を表示してもよい。
【0109】
この態様の境界線表示部33は、前記境界線またはその付近に、前記境界線を挟んでどちら側が前記重複領域であるかを示すための付加情報を表示する機能を有する。ここで、「境界線を挟んでどちら側が重複領域であるかを示すための付加情報」とは、境界線またはその付近に表示される境界線の付加的な情報であり、現在、境界線を挟んでどちら側が重複領域であるかをユーザが認識できるように示すための情報である。例えば、前述のように、境界線(BL1又はBL2)を挟んで重複領域AOの反対側(または重複領域AO側)に表示されるグラデーション部(GD1又はGD2)は、「境界線を挟んでどちら側が重複領域であるかを示すための付加情報」の一例である。なお、付加情報はグラデーション部(GD1又はGD2)には限定されない。例えば、境界線(BL1又はBL2)に重ねてまたは境界線の付近に、境界線を挟んでどちら側が前記重複領域であるかを示す「矢印」又は「記号」等を表示してもよい。この場合、前記「矢印」又は「記号」等は付加情報の一例に相当する。
【0110】
なお、前記「矢印」又は「記号」等の付加情報も、「隣接する実写画像のうち、重複領域に表示されている実写画像が何れであるかを示すための情報」、または「重複領域における実写画像の切り替えを発生させるために視線方向をどちらの方向へ変化させるべきかを示す情報」の一例となる。
【0111】
境界線表示部33は、現在の領域境界(BD1又はBD2)の部分に境界線(BD1又はBD2)を配置するとともに、前述のグラデーション部(GD1又はGD2)等の付加情報を配置し、実写のVR画像に境界線および付加情報が重畳されて表示部11に表示されるようにする。
【0112】
次に、
図23を参照して、上述した境界線(BL1又はBL2)を表示する場合の処理の一例を説明する。
図23は、境界線を表示する場合における表示制御装置20の処理の一例を示すフローチャートである。
図23のフローチャートのS300~S312は、
図15のS100~S112と同じ処理であり、各処理の詳細説明は省略する。
制御部30は、視線方向Sに基づいて、隣接する実写画像(第1の画像および第2の画像)のうち、重複領域AOに表示する実写画像を動的に切り替える制御を実行する(S304~S312)。そして制御部30は、隣接する実写画像同士の領域境界(BD1又はBD2)の部分に、境界線(BL1又はBL2)を重畳する(S314)。さらに、制御部30は、例えば境界線(BL1又はBL2)を挟んで重複領域AOとは反対側の領域(重複領域AOに表示されていない方の実写画像の領域)に、グラデーション部(GD1又はGD2)を重畳する(S316)。そして、制御部30は、HMD10の向きに応じた範囲のVR画像を生成してHMD10へ出力する(S318)。これにより、HMD10には、境界線(BL1又はBL2)およびグラデーション部(GD1又はGD2)を含むVR画像が表示される。S302~S318の処理は、表示が終了(S320でYES)になるまで繰り返される。
なお、
図23のフローチャートにおいて、VR画像にグラデーション部(GD1又はGD2)を表示しない場合は、S316の処理を省略できる。
【0113】
(2つの境界線の表示形態を異ならせる態様)
境界線表示部33は、重複領域AOの一端(右端)の領域境界BD1に表示される境界線BL1と、その他端(左端)の領域境界BD2に表示されるの境界線BL2との表示形態を異ならせてもよい。ここで、「境界線の表示形態を異ならせる」とは、境界線の色、濃度、透明度、線幅、線の種類(実線、点線等)、または平面(二次元)的か立体(三次元)的か等を異ならせることをいう。これにより、水平視野角を拡大するために水平方向に配置される複数の画像を使用する場合、現在表示されている境界線(BL1又はBD2)が重複領域AOの左端の画像のズレの部分なのか、それとも右端の画像のズレの部分なのかをユーザが認識できるようになる。また、垂直視野角を拡大するために垂直方向に配置される複数の画像を使用する場合、現在表示されている境界線(BL1又はBD2)が重複領域AOの上端の画像のズレの部分なのか、それとも下端の画像のズレの部分なのかをユーザが認識できるようになる。この態様において、前述のグラデーション部GD1・GD2等の付加情報の表示を省略してもよいし、当該付加情報を境界線と併せて表示してもよい。
【0114】
(切替期間を設定する態様)
重複領域AOの2つ実写画像を切り替える際、いきなり一方から他方へと切り替えるのではなく、切替期間(例えば0.3秒等)を設け、時間経過に応じて切り替えを徐々に行うようにしてもよい。例えば、重複領域AOに表示する実写画像を一方から他方へ切り替える場合、切替期間に重複領域AOの表示をクロスフェードさせてもよい。これにより、重複領域AOの実写画像の切り替え前後で、より自然に境界線(BL1又はBL2)を視認し易くできる。これを以下に説明する。
【0115】
本態様の画像生成部32は、重複領域AOに表示する実写画像を切り替える場合に、時間経過に応じて、一方の実写画像から他方の実写画像へと漸次切り替える機能を有する。
ここで、「時間経過に応じて、一方の実写画像から他方の実写画像へと漸次切り替える」とは、切り替え開始から終了までの切替期間(例えば0.3秒等)を設け、切替期間における時間経過の中で、重複領域AOに現在表示されている実写画像(第1の画像または第2の画像)を、他方の実写画像へと徐々に切り替えることである。切替期間は任意に設定できる。
【0116】
例えば、前記切替期間に、重複領域に表示される切り替え対象の2つの実写画像を画像合成して、重複領域に表示する実写画像を一方から他方へと漸次切り替えることが、「時間経過に応じて、一方の実写画像から他方の実写画像へと漸次切り替える」の一例に相当する。前記画像合成の一例としては、アルファブレンド(半透明合成)がある。具体例としては、切替期間における時間経過に応じて、一方の実写画像の透明度を「0%から100%」に徐々に上げるとともに、他方の透明度「100%から0%」を徐々に下げて、両実写画像をアルファブレンドする。
また、例えば、重複領域において、隣接する2つの実写画像を上下の異なるレイヤに配置する。そして、下のレイヤー(背景)に配置した実写画像の透明度を0%のまま変化させず、上のレイヤー(前景)に配置した実写画像の透明度を、切替期間における時間経過に応じて、「0%から100%」又は「100%から0%」に徐々に変化させてもよい。例えば、上のレイヤーの実写画像から下のレイヤの実写画像に切り替える場合、切替期間における時間経過に応じて、上のレイヤーの実写画像の透明度を「0%から100%」に徐々に変化させる処理を行う。また、下のレイヤーの実写画像から上のレイヤの実写画像に切り替える場合、切替期間における時間経過に応じて、上のレイヤーの実写画像の透明度を「100%から0%」に徐々に変化させる処理を行う。
【0117】
また、前記切替期間に、重複領域に現在表示されている実写画像の画素を、他方の実写画像の画素に漸次置き替える処理を実行することが、「時間経過に応じて、一方の実写画像から他方の実写画像へと漸次切り替える」の一例に相当する。換言すれば、時間経過に応じて、重複領域に現在表示されている実写画像の画素の数(面積)が徐々に減少し、他方の実写画像の画素の数(面積)が徐々に増加するようにする処理が、「時間経過に応じて、一方の実写画像から他方の実写画像へと漸次切り替える」の一例に相当する。具体例としては、切替期間に、現在の領域境界側から切り替え完了後の領域境界側への方へと、徐々に画素を置き換えて、領域境界がスライドする(徐々に移動する)ようにすることが、「時間経過に応じて、一方の実写画像から他方の実写画像へと漸次切り替える」の一例に相当する。前記「画素を置き換える」には、重複領域の上下の異なるレイヤに配置された隣接する2つの実写画像において、上のレイヤの画素の透明度を「0%から100%に切り替える」又は「100%から0%に切り替える」ことを含む。また、前記「画素を置き換える」には、置き換えられる方の実写画像の画素の透明度を0%から100%へ、置き換える方の実写画像の対応する画素の透明度を100%から0%とすることを含む。その他、重複領域の中心から周囲に、周縁部から中心に、左端から右端に、右端から左端に、上端から下端に、または下端から上端に向かって徐々に画素が一方から他方へ切り替わるようにしてもよい。
【0118】
次に、
図24を参照して、上述した切替期間を設けた処理の一例を説明する。
図24は、表示制御装置20における重複領域に表示する実写画像を漸次切り替える処理の一例を示すフローチャートである。
制御部30は、HMD10のセンサ12(例えば角速度センサ)から、HMD10の向きに関する検出情報を取得し(S400)、視線方向Sを特定する(S402)。また、制御部30は、現在の基準方向(RD1又はRD2)に対する視線方向Sに基づいて、重複領域AOに表示する実写画像を切り替える必要があるかを判断する(S404)。このS404でYESの場合、制御部30は、変数αを初期値「255」に初期設定する(S406)。この変数αは、ステップS408における重複領域AOに配置される隣接する実写画像(第1の画像および第2の画像)の半透明合成(アルファブレンド)に用いられる「α値」であり、「0~255」の値をとり得る。また、「α値」は、ステップS410およびS412における境界線(BL1又はBL2)の不透明度の変更に用いられる。
【0119】
制御部30は、1フレーム毎にα値を所定量Δαずつ減算し、切替期間の時間経過に応じてα値を「255」から「0」へと徐々に小さくなるように変更する(S414)。例えば、切替期間を20フレーム期間とする。なお、1フレームは、例えば1/60秒である。例えば、1フレーム毎に減算する所定量Δαを「13」とすると、約0.3秒の切替期間でα値が「255」から「0」に徐々に変化することになる。
【0120】
S408では、制御部30は、重複領域AOにおいて、2つの実写画像(第1の画像および第2の画像)を半透明合成する。この場合、制御部30は、切り替え前に重複領域AOに表示されている方の画像(これを「切替前画像」と称する)の各画素のアルファ値を変数αの値に設定する。また、重複領域AOにおいて、切り替えられた後に表示される画像を「切替後画像」と称する。よって、半透明合成が実行される切替期間中において、重複領域AOにおける各画素の画素値は、「切替前画像の対応画素の画素値*α+切替後画像の対応画素の画素値*(255-α)」に設定される。
【0121】
また、S410では、制御部30は、切り替え前の境界線の不透明度をαに設定する。また、S412では、制御部30は、切り替え後の境界線の不透明度を(255-α)に設定して、切り替え後の領域境界の部分に重畳する。ここで、境界線は、α=255で完全に不透明な状態(透明度0%)となり、α値が小さくなるほど不透明度が低下し、α=0で完全に透明な状態(透明度100%)になる。
【0122】
前記のS408~S414は、α値=0になる(S416でYES)まで繰り返される。これにより、例えば、約0.3秒の切替期間でα値が「255」から「0」に徐々に変化し、重複領域AOにおいては、切替前画像の透明度が徐々に高くなる一方、切替後画像の透明度は徐々に低くなる。また、切替期間において、切り替え前の境界線と切り替え後の境界線とが同時に表示され、切替期間の時間経過に応じて、切り替え前の境界線の透明度が徐々に高くなる一方、切り替え後の境界線の透明度は徐々に低くなる。そして、最終的に、α値が「0」になった時点で(S416でYES)、重複領域AOの画像の切り替えが終了し、重複領域AOには切替後画像が表示されるとともに、切り替え前の境界線は消えて切り替え後の境界線が表示される。
【0123】
なお、ここでは、切替期間において、切り替え前の境界線と切り替え後の境界線とが透明度を変化させながら同時に表示される例を示したが、これに限定されない。重複領域AOにおける画像の切替処理(切替期間)が開始されたタイミングで、切り替え前の境界線を消去し、切替処理(切替期間)が終了したタイミングで、切り替え後の境界線を表示するようにしてもよい。この場合、
図24のS410およびS412を省略できる。あるいは、切替処理(切替期間)中において、切り替え前の境界線と切り替え後の境界線とを同じ透明度で表示し(どちらも不透明でもよい)、切替処理(切替期間)が終了したタイミングで、切り替え前の境界線を消去し、且つ、切り替え後の境界線を表示するようにしてもよい。
【0124】
(切替期間において境界線を移動表示させる態様)
前述の切替期間を設ける態様において、切替期間中に、境界線を切り替え完了後に表示される位置の方へと漸次移動させてもよい。例えば、重複領域AOに左側の視界領域A1の第1の画像が表示されている場合、
図21に例示するように画面G20には境界線BL1が表示されている。この状態から、重複領域AOに表示する実写画像を右側の視界領域A2の第2の画像に切り替えた場合、
図25に例示するように、一点鎖線で示す位置にあった境界線BL1は、境界線BL2の位置に変更される。この画像切り替えの際、切替期間(例えば0.3秒等)において、境界線は、一点鎖線で示すBL1の位置から、BL2の位置まで徐々に水平移動するように表示制御される。このようにしても、境界線の位置をユーザに自然に認識させることができる。
【0125】
この態様の画像生成部32は、重複領域AOに表示する実写画像を切り替える場合に、時間経過に応じて、境界線を切り替え完了後に表示される位置の方へと漸次移動させながら、一方の実写画像から他方の実写画像へと漸次切り替える機能を有する。
【0126】
例えば、重複領域AOの実写画像が左側の第1の画像から右側の第2の画像へ切り替えられる場合について説明する。
図25に例示するように、切替期間において、切り替え前の領域境界BD1から、切り替え完了後の領域境界BD2の方へと、境界線BLmoveを、漸次、水平移動させる。この際、重複領域AOにおいて、移動後の境界線BLmoveより右側の領域(切り替え前の領域境界BD1と移動後の境界線BLmoveとの間の領域)では、第1の画像の各画素を、対応する第2の画像の各画素へと置き換える。これにより、境界線BLmoveの左方向への水平移動に伴って、重複領域AOにおける境界線BLmoveより右側の各画素が第1の画像から第2の画像へと切り替わる。この処理は境界線BLmoveが、切り替え完了後の領域境界BD2に到達するまで繰り返される。境界線BLmoveが領域境界BD2に到達すると、境界線BL2として停止する。
重複領域AOの実写画像が右側の第2の画像から左側の第1の画像へ切り替えられる場合についても、上記と同様の処理が実行される。
【0127】
図25に例示するように、グラデーション部(GD1又はGD2)を付加情報として表示する場合、次のようにグラデーション部の表示を制御すればよい。例えば、重複領域AOの実写画像の切替処理(切替期間)が開始されたタイミングで、グラデーション部(GD1又はGD2)を消去し、切替処理(切替期間)が終了したタイミングで、グラデーション部を表示する。あるいは、境界線BLmoveの移動に連動して、グラデーション部も移動させてもよい。
【0128】
なお、切替期間中の時間経過に応じて境界線を移動表示させる構成において、重複領域AOにおける実写画像の切替処理は、上記に限定されるものではない。例えば、重複領域AOの実写画像の切替処理を、前述の半透明合成(アルファブレンド)により実行しながら、当該切替処理中の時間経過に応じて、境界線を切り替え完了後に表示される位置の方へと漸次移動させてもよい。
【0129】
[9.VR空間の全体視界領域を3つ以上の領域に分割する一例]
ここで、
図26を参照して、VR空間Vの全体視界領域を、左、正面および右の3つの領域に分割する例を説明する。ここでは、左、正面および右の各方向を撮像する水平画角120度の3台のステレオカメラによって撮像された左画像、正面画像および右画像を用いて、水平視野角270度の高視野角画像の再生を可能とする例を示す。
【0130】
図26は、左画像の視界領域AL、正面画像の視界領域AF、および右画像の視界領域ARを、VR空間Vに配置した一例を概念的に表す図である。VR空間Vでは、左画像の視界領域ALと正面画像の視界領域AFとの一部が互いに重なる第1の重複領域AO1が生じるように、画像の配置が制御される。また、正面画像の視界領域AFと右画像の視界領域ARとの一部が互いに重なる第2の重複領域AO2が生じるように、画像の配置が制御される。VR空間Vの全体視界領域の視野角θall=270度、左側の視界領域ALの視野角θAL=120度、正面の視界領域AFの視野角θAF=120度、右側の視界領域ARの視野角θAR=120度、第1の重複領域AO1の視野角θAO1=45度、第2の重複領域AO2の視野角θAO2=45度である。
また、重複領域AO1の実写画像(左画像または正面画像)を切り替えるための基準となる基準方向RD1は、仮想視点Pから重複領域AO1の中心の方向に設定されている。また、重複領域AO2の実写画像(正面画像または右画像)を切り替えるための基準となる基準方向RD2は、仮想視点Pから重複領域AO2の中心の方向に設定されている。
これは一例であり、全体視界領域の視野角、各画像の視界領域の視野角、各重複領域の視野角、または基準方向(有無、その方向)については、任意に設定可能である。
【0131】
この例のように、VR空間の全体視界領域を3つの領域に分割した場合、第1の重複領域AO1、および第2の重複領域AO2という2つの重複領域が生じる。第1及び第2の重複領域AO1、AO2のそれぞれについて、前述した重複領域に関する各処理(および以降に示す処理)を実行すればよい。すなわち、隣接する左画像の視界領域ALと正面画像の視界領域AFとの関係では、左画像は前述の「第1の画像」、正面画像は前述の「第2の画像」、第1の重複領域AO1は前述の「重複領域AO」に相当するので、前述した各処理等を適用できる。また、隣接する正面画像の視界領域AFと右画像の視界領域ARとの関係では、正面画像は前述の「第1の画像」、右画像は前述の「第2の画像」、第2の重複領域AO2は前述の「重複領域AO」に相当するので、前述した各処理等を適用できる。
【0132】
VR空間の全体視界領域を4つ以上の領域に分割する場合も同様である。n台(nは2以上の自然数)のカメラによって撮像されたnの実写画像をVR空間に配置する場合、(n-1)の重複領域が生じる。重複領域AOが複数ある場合、それぞれの重複領域に配置される隣接する画像の一方を「第1の画像」、他方を「第2の画像」と考えて、それぞれの重複領域AOに対して前述の各処理を適用すればよい。
【0133】
通常、HMD10の表示部11に表示される範囲の視界画像(VR画像)は、VR空間の全体視界領域の一部である。よって、少なくとも1つの重複領域AOが、表示部11に表示されるVR画像の範囲に含まれない場合、当該重複領域AOに対する画像切替処理等は不要であり、実行されないようにすることができる。
【0134】
[10.切替処理の実行開始までにタイムラグを設ける態様]
上記の重複領域AOの切替処理の際、処理の実行を開始するまでに所定のタイムラグ(例えば、0.5秒など)を設けてもよい。このようなタイムラグを設けることで、不要な切替処理を省くことができる。これを以下に説明する。
【0135】
ここでは、
図26に示すように、VR空間Vの領域が左、正面、および右の3方向である場合を例示する。HMD10を装着したユーザが、左側の視界領域ALおよび第1の重複領域AO1を含む範囲のVR画像を見ているものとする。そして、現在、第1の重複領域AO1には左画像が表示されているものとする。この状態から、ユーザが頭を右に大きく振ったことにより、正面を通り越して右側の視界領域ARまで、瞬時に、HMD10の視軸方向(視線方向S)が移動された場合を想定する。タイムラグの設定がない場合、第1の重複領域AO1における切替処理と、第2の重複領域AO2の切替処理とが、短時間の間に発生し得る。しかし、HMD10の視軸方向が右側の視界領域ARまで到達した時点で、第1の重複領域AO1は、既に、HMD10の表示部11に表示されるVR画像の範囲から外れていることがある。このような場合にも、敏感に反応して切替処理が実行されると、表示部11に表示されるVR画像に揺れが生じて視認性が悪くなる可能性がある。一方、前記のような場合、切替処理にタイムラグを設けることで、必要に応じて第2の重複領域AO2の切替処理だけを実行し、第1の重複領域AO1の切替処理を省くことができ、表示部11に表示される画像の視認性を向上できる。
なお、第1の重複領域AO1と第2の重複領域AO2とを区別しない説明においては、「重複領域AO」と記載する場合がある。
【0136】
この態様の画像生成部32は、視線方向Sに基づいて、重複領域AOに表示する実写画像の切替処理をすべきとの判定をしてから当該切替処理を開始するまでに、所定の待機期間を設ける機能を有する。ここで、待機期間が前述のタイムラグに相当する。
また、画像生成部32は、前記切替処理を開始するまでの前記待機期間の経過後に、当該切替処理をすべきか否かを再判定し、すべきと判定した場合のみ、当該切替処理を実行する。
【0137】
待機期間は、例えば、0.5秒であるが、これに限定されず、任意に設定可能である。HMD10の向きに関する検出情報(HMD10の角速度センサ等の検出情報)に基づいて視線方向Sを特定し、重複領域AOの切替処理の要否を判定する場合と、ユーザの視線に関する検出情報(アイトラッキング等の検出情報)に基づいて視線方向Sを特定し、重複領域AOの切替処理の要否を判定する場合とで、待機期間の長さを異ならせてもよい。すなわち、アイトラッキングでは、人の眼球運動の分析等により視線を追跡するので、視線方向Sは自由に動き易い。このため、HMD10の向きを検出する、いわゆるヘッドトラッキングに基づく判定よりも、ユーザの視線を追跡するアイトラッキングに基づく判定の方が、前記待機期間(タイムラグ)を長く設定する方がよい。すなわち、アイトラッキングに基づいて視線方向Sを特定して切替処理を実行する場合、眼球をよく動かすユーザの場合に、切替処理が頻繁に発生し、画像に揺れが生じ易くなるが、待機期間を長くすることにより、不要な切替処理を抑制し、画像の視認性を高めることができる。
【0138】
例えば、角速度センサ等によるヘッドトラッキング機能と、アイトラッキング機能とが両方搭載されているHMD10の場合では、重複領域AOの切替処理の要否の判定に、前記両機能の何れを使用するのかを、ユーザの操作により選択できるようにしてもよい。この場合、ユーザの選択に基づいて、待機期間を変更する。
【0139】
次に、
図27を参照して、上述したタイムラグを設けた処理の一例を説明する。
図27は、表示制御装置20における重複領域に表示する実写画像の切替処理の一例を示すフローチャートである。
制御部30は、HMD10のセンサ12(例えば角速度センサ)からの検出情報に基づいて視線方向Sを特定し、重複領域AOに表示する実写画像の切替処理の要否を判定する(S500)。制御部30は、切替処理が必要と判定した場合(S500でYES)、待機期間(例えば0.5秒)を設定し、計時を開始する(S502)。その後、制御部30は、待機期間が経過するまで、前記重複領域AOに対する切替処理を実行しない。制御部30は、待機期間の経過後に(S504でYES)、再度、HMD10のセンサ12からの検出情報に基づいて視線方向Sを特定し、重複領域AOに表示する実写画像の切替処理の要否を判定する(S506)。制御部30は、切替処理が必要と判定した場合(S506でYES)、切替処理を実行する(S508)。一方、制御部30は、切替処理が不要と判定した場合(S506でNO)、切替処理を実行せずに処理を終了する。切替処理が不要となる例としては、前述のように、対象の重複領域AOが、既に、HMD10の表示部11に表示されるVR画像の範囲から外れている場合がある。また、視線方向Sが基準方向RDを一旦超えたために、重複領域AOに対する切替処理が必要と判定された後、待機期間が経過するまでに、視線方向Sが、再度、基準方向RDを超えて元の位置付近まで戻って来た場合も、切替処理が不要となる。
【0140】
[11.VR空間への画像の配置状態を変更する態様]
例えば、
図9ないし
図11の例では、VR空間に配置される視界領域の数(画像の数)を2とし、水平視野角180度の全体視界領域を左右2つの領域としているが、これらは固定的なものではなく、表示対象の画像のシーン(場面)、内容などによって変化させてもよい。例えば、実写画像を用いたゲーム、その他のコンテンツでシーンが切り替わる場合に、そのシーンの内容に合わせて、VR空間に配置される視界領域の数(画像の数)、全体視界領域の視野角、またはVR空間内における各視界領域の方向(VR空間内の位置)等を変更してもよい。
【0141】
例えば、
図28に例示するように、あるシーンでは、同図中の(A)に例示するように、270度の全体視界領域を3つの領域に分けたものであり、別のシーンでは同図中の(B)に例示するように、220度の全体視界領域を2つの領域に分けたものにする。そして、シーンに応じて(A)の配置状態にしたり、(B)の配置状態にしたりする。例えば、基本的には(A)の配置を採用するが、前方の領域にしか注目せず、後方の領域の画像は不要とするシーンでは(B)の配置を採用する。
【0142】
さらに別のシーンでは、
図9に例示するように、180度の全体視界領域を2つの領域に分けたものにしてもよい。なお、全体視界領域を分けずに1つの領域(例えば140度の全体視界領域1つのみ)のシーンが一部に含まれていてもよい。
【0143】
例えば、あるシーンでは、
図26に示す3台のカメラ200を使用して、
図28中の(A)に例示するVR空間に配置される3つの画像を撮像する。また、別のシーンでは、前記3台のカメラ200のうちの隣接する2台のみを使用して、
図28中の(B)に例示するVR空間に配置される2つの画像を撮像する。この場合、必要に応じて3台のカメラ200のうちの少なくとも1のカメラのレンズを交換して画角を拡大(又は縮小)したり、各カメラ200の撮像方向(視軸の方向)を調整してもよい。例えば、室内のシーンから屋外のシーンへの切り替わりや、ある部屋のシーンから別の部屋のシーンへの切り替わりなどでは、各シーンを撮像するカメラ200の設置位置も変わるので、各シーンに適したVR空間への配置状態を考えて、実写画像を撮像すればよい。
【0144】
前述のように、表示対象の複数の実写画像のデータとともに、当該複数の実写画像をVR空間に配置するための配置情報が、当該複数の実写画像と関連付けられて記憶装置22に記憶されている。例えば、実空間におけるカメラの撮像場所が変わるシーン毎に、各シーンで撮像された条件に応じた前述の配置情報が生成され、各シーンに関連付けて、実写画像とともに記録される。このように、シーンに応じて複数の実写画像のVR空間への配置状態が適宜変更される場合、それぞれのシーンに関連付けられた配置情報が記憶装置22に記憶される。あるいは、実写画像ファイルのヘッダ等にシーン毎の配置情報が記録されており、実写画像の再生時に配置情報が読み出されて使用される。
【0145】
この態様の画像生成部32は、VR画像の表示部11への表示制御中に、複数の実写画像のVR空間への配置状態を変更する画像配置部321を含む。ここで、VR空間への配置状態の変更の対象となるものは、例えば、VR空間に配置される視界領域の数(画像の数)、全体視界領域の視野角、各視界領域の視野角、VR空間内における各視界領域の方向(位置)、重複領域の数、各重複領域の視野角、またはVR空間内における各重複領域の方向(位置)等である。これらの情報は、表示対象の複数の実写画像に関連付けて(例えば、複数の実写画像の各シーンに関連付けて)、配置情報として記録されている。
【0146】
例えば、
図28中の(A)のVR空間の配置状態では、視界領域の数(画像の数)=3、全体視界領域の視野角は「θall=270度」、全体視界領域の方向(VR空間内の位置)は「-135度~135度」、左側・正面・右側の各視界領域AL・AF・ARの視野角は「θAL=θAF=θAR=120度」、左側の視界領域ALの方向は「15度~135度」、正面の視界領域AFの方向は「-60度~60度」、右側の視界領域ARの方向は「-135度~-15度」、第1の重複領域AO1の視野角は「θAO1=45度」、第1の重複領域AO1の方向は「15度~60度」、第2の重複領域AO2の視野角は「θAO2=45度」、第2の重複領域AO1の方向は「-60~-15度」である。これらの情報の全部または一部が配置情報として記録されている。ここで示した方向の角度は、X軸方向(基準の視線方向)を0度とした水平方向の角度であり、垂直方向の角度はここでは省略している。
また、
図28中の(B)のVR空間の配置状態では、視界領域の数(画像の数)=2、全体視界領域の視野角は「θall=220度」、全体視界領域の方向は「-110度~110度」、左側・右側の各視界領域AL・AF・ARの視野角は「θAL=θAR=135度」等(以下省略)の情報が配置情報として記録されている。
【0147】
画像配置部321は、表示対象の複数の実写画像のVR空間への配置状態の変更の要否を、当該複数の実写画像に関連付けられている配置情報に基づいて判定し、当該配置情報に基づいて、配置状態を適宜変更する。
【0148】
本実施の形態の画像表示システム1では、前述のとおり、ステッチング処理により完成された1つのVR画像データが予め作成されるわけではなく、複数の実写画像をVR空間へ配置しながら、VR画像表示制御を実行する。よって、VR画像の再生中に、本態様のように、実写画像のVR空間への配置状態を適宜変更することも可能である。例えば、シーンに応じて、VR空間に配置される視界領域の数(実写画像の数)や全体視界領域の視野角等を変更したりできる。すなわち、シーン毎のVR空間の最適化を図ることができる。よって、シーン毎に不必要な視界領域を排除することが可能であり、画像データの量を削減することができる。
【0149】
また、シーン毎に不必要な視界領域を排除することにより、データ容量を削減できるだけでなく、不必要な視界領域を排除したシーンでは、HMD10の表示部11に表示されるVR画像の解像度を高めることもできる。すなわち、不必要な視界領域を排除した分、解像度の高いVR画像をVRAM等に展開できるようになる。例えば、
図28中の(A)のVR空間の配置状態よりも(B)の配置状態の方が、解像度の高いVR画像がHMD10の表示部11に表示される。よって、画像の解像度を高めたいシーンでは
図28中の(B)の配置状態を採用し、それ以外では(A)の配置状態を採用する等により、シーン毎のVR空間の最適化を図ってもよい。
【0150】
次に、
図29を参照して、本態様の処理の一例を説明する。
図29は、表示制御装置20におけるVR空間への画像の配置状態を変更する処理の一例を示すフローチャートである。
制御部30は、表示対象の複数の実写画像の配置情報を取得し(S600)、当該配置情報に基づいて、複数の実写画像のVR空間への配置状態を決定する(S602)。VR画像再生時は、ここで決定されたVR空間への配置状態が適用され、隣接する画像の視界領域の一部が互いに重なる重複領域AOが生じるようにVR空間に配置される。また、前述のように、視線方向S(例えばHMD10の視軸方向)に基づいて、重複領域AOに表示する実写画像が動的に切り替えられ、VR画像が生成される。また、制御部30は、VR画像の再生中にシーンが変更される場合(S604でYES)、変更後のシーンの配置情報を取得し(S606)、VR空間への画像の配置状態を変更すべきか否かを判定する(S608)。ここで、制御部30は、配置状態の変更が必要と判定した場合(S608でYES)、複数の実写画像のVR空間への配置状態を変更する(S610)。これにより、シーン変更後には、当該シーンに適したVR空間への配置状態が適用され、当該シーンの画像がVR空間に配置された上で、VR画像が生成される。S604~S610の処理は、表示が終了(S612でYES)になるまで繰り返される。
【0151】
[12.VR空間の全体視界領域の方向を変更する態様]
以上の説明では、表示対象の複数の実写画像を撮像するカメラに関し、実空間の撮像中にカメラの方向を変化させることは考慮していなかったが、撮像中にカメラの向きを変化させるようにしてもよい。その場合、その撮像中における撮像方向の変化を、VR空間の視界領域に反映させるようにしてもよい。
【0152】
例えば、
図26に例示するように、実空間を撮像する3台のカメラ200と、当該3台のカメラ200で撮像された各画像が配置されるVR空間Vの視界領域との関係があるものとする。すなわち、
図26の各カメラ200の撮像方向が、各カメラの基準撮像方向であり、正面のカメラ200の基準撮像方向が、VR空間VのX軸方向(基準の視線方向)に対応している。ここで、
図26の3台のカメラ200を右方向に回転した場合を
図30に例示する。
図30は、3台のカメラ200の撮像時の方向変化(撮像方向の回転)に応じて、当該3台のカメラ200で撮像された各画像が配置されるVR空間Vの全体視界領域も回転される関係を例示している。
【0153】
図26の例では、基準撮像方向のカメラ200で撮像された画像の場合、VR空間Vにおける全体視界領域の方向は、X軸方向(基準の視線方向)を0度として「-135度~135度」である。一方、
図30の例では、
図26の基準撮像方向から右に45度(すなわち-45度)だけカメラ200の撮像方向が回転している。この
図30のカメラ200で撮像された画像の場合、VR空間Vにおける全体視界領域の方向は、右に45度回転して「-180度~90度」に変化する。
【0154】
カメラ200の撮像方向の変化の情報は、撮像時にカメラ200に搭載された角速度センサ(ジャイロセンサ)等から検出して、撮像時に画像のデータとともに記録してもよい。あるいは、撮像後に、撮像された画像から既知の画像解析によって撮像方向の変化を特定し、撮像方向の変化の情報を、撮像された画像に関連付けて記録してもよい。あるいは、表示制御装置20は、画像の再生中に、撮像された画像から画像解析によって撮像方向の変化をリアルタイムで特定してもよい。
【0155】
例えば、実空間において、車が左から目の前を通過して右へ走り抜けていくようなシーンで、カメラを車の移動に合わせて左から右へ向きを変えながら撮像する場合を考える。
図31は、カメラ200の撮像方向の回転の情報を利用しない場合において、カメラ200で撮像された画像が配置されるVR空間Vの視界領域の変化の一例を示している。撮像方向の回転の情報を利用しない場合、カメラ200が回転しても、全体視界領域の方向は変化せず、常に、正面のカメラ200の撮像方向がVR空間VのX軸方向に対応することになる。よって、撮像方向の回転の情報を利用せずに、撮像された画像をHMD10に表示すると、隣接する画像の領域境界を跨がずに車の映像を表示することが可能になるが、車は移動しているにも関わらず、HMD10の視軸(視線方向S)に対して同じ方向に表示されるため、現実とは異なりリアリティは保てなくなる。
【0156】
図32は、カメラ200の撮像方向の回転の情報を利用した場合において、カメラ200で撮像された各画像が配置されるVR空間Vの視界領域の変化の一例を示している。撮像方向の回転の情報を利用する場合、撮像方向の回転に応じて、VR空間Vにおける全体視界領域の方向も回転する。この場合、撮像された画像をHMD10に表示すると、HMD10の視軸(視線方向S)に対しても左から右へと車が移動する映像が表示されることになる。よって、画像の再生中、車が左の方向に存在する場合は、ユーザがHMD10を左の方向に向けないと車が見えない(または、ユーザが正面を向いている場合に左の方向に車が見える)ことになる。ユーザは車のある方向に頭を向けることにより、車をしっかりと見ることができるようになり、リアリティのあるVR画像が表示できる。且つ、隣接する画像の領域境界(境界線を表示する場合は境界線)を跨がずに車の映像をHMD10の表示部11に表示することが可能になる。
【0157】
この態様の表示制御装置20の制御部30は、
図20に例示するように、撮像方向特定部34を含む構成とすることができる。この撮像方向特定部34は、複数の実写画像を撮像した複数のカメラの撮像方向の変化を特定する機能を有する。例えば、撮像方向特定部34は、複数の実写画像に関連付けて記録されている「撮像方向の変化の情報」を読み出して、撮像方向の変化を特定することができる。あるいは、撮像方向特定部34は、前記実写画像から画像解析によって撮像方向の変化を特定してもよい。
そして、画像生成部32は、撮像方向特定部34によって特定された前記撮像方向の変化に応じて、VR空間に配置する複数の実写画像全体の視界領域(全体視界領域)の方向を変更する機能を有する。
【0158】
次に、
図33を参照して、本態様の処理の一例を説明する。
図33は、表示制御装置20におけるVR空間の全体視界領域の方向を変更する処理の一例を示すフローチャートである。
制御部30は、VR画像の再生開始時に、VR空間における全体視界領域の方向を、基準撮像方向に対応する方向に初期化する(S700)。例えば、
図26に例示するように、全体視界領域の水平方向を「-135度~135度」にデフォルト設定し、仮想視点Pから正面の視界領域AFの中心の方向が、X軸方向(基準の視線方向)となるようにする。また、制御部30は、表示対象の複数の実写画像の撮像方向の変化の情報を取得し(S702)、撮像方向の変化を特定する(S704)。例えば、制御部30は、表示対象の複数の実写画像のデータとともに記録されている撮像方向の変化の情報を、例えば1フレーム毎に読み出して取得することにより、撮像方向の変化を特定する。そして、制御部30は、撮像方向が前フレームより変化したと判定した場合(S706でYES)、撮像方向の変化に応じて、VR空間における全体視界領域の方向を変更する(S708)。一方、撮像方向が変化していないと判定した場合は(S706でNO)、ステップS702に戻る。S702~S708の処理は、表示が終了(S710でYES)になるまで繰り返される。
【0159】
[13.まとめ]
以上の説明のように、本実施形態に係るプログラムは、両眼視差を利用した立体視画像として、VR空間V内の仮想視点Pからの視界を表すVR画像をHMD10の表示部11に表示させるための制御を実行する表示制御装置20(コンピュータの一例)を、視線方向特定部31と、画像生成部32として機能させるためのプログラムである。
本実施形態に係る表示制御装置20は、視線方向特定部31と、画像生成部32とを含む。視線方向特定部31は、前記VR空間に対するユーザの視線の方向であるとする視線方向Sを特定する。画像生成部32は、実空間を撮像する撮像方向がそれぞれ異なる複数のカメラによって撮像された複数の実写画像を、隣接する当該実写画像の視界領域の一部が互いに重なる重複領域AOが生じるように前記VR空間Vに配置し、前記視線方向Sに応じた前記VR画像を生成する。ここで、画像生成部32は、前記視線方向Sに基づいて、隣接する前記実写画像のうち、前記重複領域AOに表示する前記実写画像を動的に切り替える。
【0160】
ここで、本構成の「VR画像」は、HMD10の表示部11に表示される両眼視差を利用した立体視可能な実写画像であるが、実写以外の表示対象を「VR画像」に含めてもよい。例えば、CG(Computer Graphics)、各種オブジェクト、線、記号、文字等の実写以外の表示対象もVR空間内に配置し、これらを実写画像に重畳して「VR画像」としてもよい。「VR画像」には、AR(Augmented Reality:拡張現実)画像またはMR(Mixed Reality:複合現実)画像が含まれる。「VR画像」は静止画であってもよいし、動画であってもよい。「VR画像」は、例えばHMD10の表示部11に供給(伝送)される場合に、HMD10に応じた伝送フォーマットに適宜変換されてもよい。
【0161】
また、「HMD」は、例えば、
図34に示すように、ユーザの頭部に装着可能なアタッチメント(装着具)51と、当該アタッチメント51に対して取り付けられる、スマートフォン等の情報処理装置52とを含むHMD50であってもよい。この場合、情報処理装置52の表示部61がHMD50の表示部となる。また、「HMD」は、表示制御装置20の機能がHMD10と一体化された、いわゆるスタンドアローン型のHMDでもよい。また、「HMD」は、頭部に装着可能なゴーグル型または眼鏡型であってもよい。また、「HMD」は、狭義のHMDに限らず、例えば、ヘッドフォン、ヘッドセット(マイクつきヘッドフォン)、めがね型カメラ、耳かけカメラ、カメラつき帽子等にHMDとしての機能を持たせたものであってもよい。
【0162】
また、本実施形態に係る「表示制御装置」は、VR画像の生成等の情報処理機能を備えた装置であれば、様々なものが適用できる。例えば、据置型または携帯型のゲーム専用機、業務用(商業用)ゲーム機、パーソナルコンピュータ、タブレット型コンピュータ、スマートフォン、携帯電話端末、PHS端末、PDA、情報処理機能を備えた多機能型テレビジョン受像機等を、「表示制御装置」とすることができる。また、HMD自体がVR画像の生成等の情報処理機能を備えている場合は、HMDが本構成の「表示制御装置」となり得る。例えば、
図34に例示するように、アタッチメント51と情報処理装置52とを含むHMD50の場合、スマートフォン等の情報処理装置52が、本実施形態に係る「表示制御装置」の一例となる。また、前記スタンドアローン型のHMDが、本実施形態に係る「表示制御装置」の一例となる。
【0163】
上記の構成によれば、視線方向Sに基づいて重複領域AOに表示する実写画像を動的に切り替えることにより、重複領域AOにおける隣接する実写画像同士の領域境界(BD1又はBD2)をユーザの視線の方向から遠ざけることができる。これにより、領域境界に発生する「隣接する実写画像同士の継ぎ目(ズレ)」の違和感を低減することができる。前述のように、ステッチング処理を行う従来の技術では、カメラとの距離が一定以下(例えば2m以下)となるような近距離撮影物が画像の継ぎ目にあれば、ステッチングが困難となり、VR画像データを作成できなかった。これに対し、本構成によれば、カメラとの距離が一定以下となるような近距離撮影物が実写画像に含まれており、当該近距離撮影物が領域境界またはその付近に存在していたとしても、ユーザにとっては違和感の少ない立体視VR画像が表示される。つまり、近距離撮影物がVR空間内のどの位置に存在しても違和感の少ないVR画像を表示でき、近距離表示可能なVR画像表示制御を実現できる。
また、ステッチングの工程が不要となるため、VR画像制作の手間を低減することもできる。
また、ステッチングの工程が不要となるため、カメラが現在撮像している実写画像(ライブ映像)を使用して、実写画像同士の継ぎ目の違和感の少ないVR画像を、略リアルタイムで表示部11に表示させることができる。
【0164】
また、前記画像生成部32は、仮想視点Pから所定の方向に基準方向RDを設定し、基準方向RDに対する前記視線方向Sに基づいて、重複領域AOに表示する実写画像を特定するようにしてもよい。これにより、重複領域AOに表示する実写画像の切り替え制御を容易に実現できる。
【0165】
また、前記画像生成部32は、仮想視点Pから重複領域AO内の所定の位置の方向に基準方向RDを設定してもよい。これにより、基準方向RDが重複領域AO内に設定されるので、視線方向Sが重複領域AOの領域境界(BD1又はBD2)の方に向かっても、領域境界に到達する前に、重複領域に表示する実写画像が切り替わり、よって領域境界もユーザの視線の方向から遠ざかる。
【0166】
また、前記画像生成部32は、重複領域AOに表示する実写画像を切り替えたタイミングで、重複領域AOに表示する実写画像に応じて基準方向RDを変更してもよい。これにより、重複領域AOにおいて実写画像が切り替えられた後は一時的に基準方向RDが視線方向Sから遠のくため、重複領域AOに表示される実写画像が頻繁に切り替わることを低減できる。
【0167】
また、前記画像生成部32は、隣接する実写画像の現在の領域境界(BD1又はBD2)に対する視線方向Sに基づいて、重複領域AOに表示する実写画像を特定するようにしてもよい。これにより、基準方向を設定せずとも、重複領域AOに表示する実写画像の切り替え制御を容易に実現できる。また、重複領域AOに表示する実写画像が切り替えられたタイミングで、基準となる領域境界が変更されるので、前述の基準方向RDを変更する構成と同様の効果を奏する。すなわち、重複領域AOに表示される実写画像が頻繁に切り替わることを低減できる。
【0168】
また、前記画像生成部32は、隣接する実写画像の現在の領域境界(BD1またはBD2)に視線方向Sが所定以上近づいた場合(例えば、視線方向Sと現在の領域境界とのなす角度が所定値以下になった場合)に、重複領域AOに現在表示している実写画像を他方の実写画像に切り替えてもよい。この場合も基準方向を設定せずとも、重複領域AOに表示する実写画像の切り替え制御を容易に実現できる。また、視線方向Sが領域境界に到達する前に、重複領域に表示する実写画像が切り替わり、領域境界をユーザの視線の方向から遠ざけることができる。
【0169】
また、前記視線方向特定部31は、HMD10の向きに関する検出情報(例えば、角速度センサの検出情報)を取得し、当該検出情報に基づいて視線方向Sを特定してもよい。これにより、ユーザは、HMD10の向きを変化させることにより、重複領域AOに表示する実写画像を動的に切り替えることができる。
【0170】
また、前記視線方向特定部31は、ユーザの視線に関する検出情報(例えば、アイトラッキングの検出情報)を取得し、当該検出情報に基づいて視線方向Sを特定してもよい。これにより、ユーザは、目の動き(視線の向き)を変化させることにより、重複領域AOに表示する実写画像を動的に切り替えることができる。
【0171】
また、前記画像生成部32は、前記HMD10の向きに関する検出情報を取得し、当該検出情報に基づいて、前記表示部11に表示させる前記VR画像の範囲を変更してもよい。この構成によれば、HMD10の向きに応じて表示部11に表示されるVR画像の範囲が変更され、さらに表示部11に表示されるVR画像においては、視線方向Sに基づいて重複領域AOに表示する実写画像が動的に切り替えられる。ここで、HMD10の向きに関する検出情報に基づいて視線方向Sが特定される場合、ユーザは、HMD10の向きを調整することにより、表示部11に表示されるVR画像の範囲を変えながら、重複領域AOに表示する実写画像を動的に切り替えることができる。また、ユーザの視線に関する検出情報(例えば、アイトラッキングの検出情報)に基づいて視線方向Sが特定される場合、ユーザは、HMD10の向きを変えることにより、表示部11に表示されるVR画像の範囲を調整し、また、目の動き(視線の向き)を変えることにより重複領域AOに表示する実写画像を動的に切り替えることができる。
【0172】
また、表示制御装置20が境界線表示部33を含む構成としてもよい。境界線表示部33は、隣接する実写画像同士の領域境界(BD1又はBD2)に、ユーザが視認可能な境界線(BL1又はBL1)を表示する。このように、領域境界に敢えて境界線を視認可能に表示することで、画像の継ぎ目(ズレ)が生じる領域境界がユーザに認識され易くなる。これにより、ユーザの見たい方向に境界線が表示されないように、隣接する実写画像のうち、重複領域にどちらの実写画像を表示して見るべきかのユーザの判断を容易にすることができる。
また、境界線表示部33は、重複領域AOの一端の領域境界(BD1又はBD2)に表示される境界線(BL1又はBL2)と、その他端の領域境界に表示されるの境界線との表示形態を異ならせてもよい。これにより、現在表示されている境界線が重複領域の一端(例えば左端)の画像のズレの部分なのか、それとも他端(例えば右端)の画像のズレの部分なのかをユーザが認識できるようになる。
【0173】
また、境界線表示部33は、境界線(BL1又はBL1)またはその付近に、境界線を挟んでどちら側が重複領域AOであるかを示すための付加情報(例えば、グラデーション部(GD1またはGD2)を表示してもよい。このように、境界線を挟んでどちら側が重複領域であるかをユーザが認識できるようにすることで、どの方向に視線方向Sを変更すれば、重複領域AOに表示される実写画像が切り替わるかのユーザの判断が容易になる。
【0174】
また、前記付加情報は、境界線付近の実写画像に重畳され、境界線から離れるほど連続的に又は段階的に濃度又は不透明度が低くなる半透明のグラデーション部(GD1又はGD2)とすることができる。このグラデーション部は、境界線(BL1又はBL2)付近で発生している画像のズレを隠して目立たなくする効果を生じる。また、グラデーション部(GD1又はGD2)の濃度または不透明度の変化(濃い方から薄い方、又は薄い方から濃い方への変化)が、重複領域AOにおける実写画像の切り替えに必要な視線方向Sの変化の方向を自然に表す役目を担う。
【0175】
また、画像生成部32は、重複領域AOに表示する実写画像を切り替える場合に、時間経過に応じて、一方の実写画像から他方の実写画像へと漸次切り替えてもよい。例えば、切替期間(例えば0.3秒)において、切り替え対象の2つの実写画像をアルファブレンドしてクロスフェードさせてもよい。重複領域AOに表示する実写画像を一方から他方へと切り替える場合に、いきなり切り替えるよりも、切り替え開始から終了までの切替期間における時間経過の中で漸次切り替えることにより、より自然に、境界線を視認し易くできる。
【0176】
また、画像生成部32は、重複領域AOに表示する実写画像を切り替える場合に、時間経過に応じて、境界線(BL1又はBL1)を切り替え完了後に表示される位置の方へと漸次移動させながら、一方の実写画像から他方の実写画像へと漸次切り替えるようにしてもよい。このように、重複領域AOに表示する実写画像の切替期間中に、境界線を移動させることにより、変更される境界線の位置をユーザに自然に認識させることができる。
【0177】
また、画像生成部32は、視線方向に基づいて、重複領域AOに表示する実写画像の切替処理をすべきとの判定をしてから当該切替処理を開始するまでに、所定の待機期間を設けてもよい。これにより、待機期間中に視線方向が変化して、切替処理が不要となるような状態になった場合(例えば、機期間経過時には、既に、重複領域AOがHMD10の表示部11に表示されるVR画像の範囲から外れている場合等)に、不要な切替処理を省くことができる。
【0178】
また、角速度センサ等によるヘッドトラッキング機能と、アイトラッキング機能とが両方搭載されているHMD10の場合では、次のようにしてもよい。すなわち、画像生成部32は、HMD10の向きに関する検出情報と、ユーザの視線に関する検出情報(例えばアイトラッキングの検出情報)の何れに基づいて視線方向Sを特定するかを、ユーザの選択操作に基づいて変更するようにしてもよい。この場合、ユーザの選択に基づいて、待機期間を変更してもよい。例えば、ユーザの視線に関する検出情報に基づいて視線方向Sを特定する方が選択された場合に、待機期間をより長くしてもよい。また、ユーザによって頭の動かし方や目の動かし方に相違があるので、前記待機期間をユーザが任意に設定できるようにしてもよい。例えば、所定の範囲(例えば0.1秒~1.0秒の範囲)の中で、ユーザが待機期間を設定できるようにしてもよい。また、ヘッドトラッキングの場合の待機期間と、アイトラッキングの場合の待機期間とを、それぞれユーザが設定できるようにしてもよい。
【0179】
また、画像生成部32は、VR画像の表示部11への表示制御中に、複数の実写画像のVR空間への配置状態を変更するようにしてもよい。例えば、
図28に示すように、あるシーンでは例えば270度の全体視界領域を3つの領域に分けた配置状態にしたり、別のシーンでは例えば220度の全体視界領域を2つの領域に分けた配置状態にしたりする等、VR空間の視界領域の数や視界領域の方向などを、シーンの内容に応じて変更するようにしてもよい。
本実施の形態のVR画像の表示制御では、従来のようにステッチング処理により完成された1つのVR画像データが予め作成されるわけではなく、複数の実写画像をVR空間へ配置しながら、VR画像の表示制御が実行される。よって、VR画像の再生中に、実写画像のVR空間への配置状態を適宜変更することも可能である。例えば、前述のとおりシーンに応じて、VR空間に配置される視界領域の数(実写画像の数)や全体視界領域の視野角等を変更したりできる。すなわち、シーン毎のVR空間の最適化を図ることができる。よって、シーン毎に不必要な視界領域を排除することが可能であり、画像データの量を削減することができる。また、必要な視界領域を排除したシーンでは、HMD10の表示部11に表示されるVR画像の解像度を高めることができる。
【0180】
また、表示制御装置20が撮像方向特定部34を含む構成としてもよい。撮像方向特定部34は、複数の実写画像を撮像した複数のカメラの撮像方向の変化を特定する。そして、画像生成部32は、撮像方向特定部34によって特定された撮像方向の変化に応じて、VR空間に配置する複数の実写画像全体の視界領域の方向を変更する。この構成によれば、例えば移動している被写体(車等)の移動に合わせて、カメラの撮像方向が変化するような実写画像の場合、撮像方向の変化に応じてVR空間に配置される実写画像全体の視界領域の方向も変化する。よって、HMD10の表示部11には、視線方向Sに対して被写体が移動するリアリティのあるVR画像が表示できる。また、前述の被写体の移動に合わせた撮像時に、隣接する実写画像の領域境界を跨がないように被写体を撮像した実写画像を用意すれば、被写体が領域境界を跨がないような視認性に優れたVR画像の再生が可能となる。
【0181】
[14.変形例等]
以上、本発明の実施形態について説明したが、具体的な構成は上述の実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲の設計等も含まれる。また、上述した各構成や態様は、任意に組み合わせることができる。
【0182】
[14-1]以上の説明のとおり、本実施の形態の画像表示システムまたは表示制御装置は、重複領域に表示する実写画像を動的に切り替える表示制御により、ステッチング処理をせずとも、複数のカメラで撮像した複数の実写画像同士の継ぎ目(ズレ)の違和感を低減することができる。よって、実空間を撮像するカメラがリアルタイムで撮像した実写画像(ライブ映像)をそのまま使用して、VR画像としてHMD10に表示させるようにすることも可能である。
【0183】
例えば、
図26に例示するカメラ200を有線または無線で表示制御装置20と接続し、カメラ200で撮像したライブ映像を、HMD10にVR画像として表示させるようにすることも可能である。また、カメラ200および表示制御装置20を、インターネット等のネットワークを介して、データ通信可能に接続してもよい。この場合、カメラ200で撮像した遠隔地のライブ映像を、HMD10にVR画像として表示させるようにすることも可能である。また、ネットワーク上に、配信サービス機能を有するサーバを設定し、カメラ200で撮像したライブ映像を、サーバを介して、ネットワーク経由で配信してもよい。この場合、ネットワーク経由で配信される遠隔地のライブ映像を、表示制御装置20が受信し、略リアルタイムでライブ映像をVR画像としてHMD10に表示させるようにすることも可能である。
【0184】
すなわち、実空間を撮像する撮像方向がそれぞれ異なる複数のカメラと、前述の構成の表示制御装置と、HMDとを含む画像表示システム、または、前記複数のカメラと、配信サーバと、前述の構成の表示制御装置と、HMDとを含む画像表示システムにより、近距離撮影物を含むライブ映像をVR画像としてHMDに表示させるシステムを構築できる。
[14-2]以上では、両眼視差を利用した立体視画像として、VR空間内の仮想視点からの視界を表すVR画像をHMD10の表示部11に表示させるための表示制御について説明したが、両眼視差を利用しない非立体視画像、すなわち二次元(2D)画像の表示制御にも応用できる。すなわち、両眼視差を利用する場合、右目用画像と左目用画像のそれぞれについて、前述の各処理の全部または一部が実行されるが、2D画像では、右目および左目共通の画像に対して前述の各処理の全部または一部が実行される。立体視画像(右目用画像または左目用画像)と、非立体視画像(左右共通画像)とで処理自体に相違はなく、前述した各構成をそのまま非立体視画像の表示制御にも適用できる。
【0185】
つまり、立体視画像または非立体視画像として、VR空間内の仮想視点からの視界を表すVR画像(3D画像または2D画像)をHMDの表示部に表示させるための制御を実行する表示制御装置に適用できる。従来では、3D画像または2D画像の何れでも、実空間を複数のカメラで撮像した複数の実写画像を合成して、広視野角画像(動画または静止画)を作成する場合は、ステッチング処理により完成された1つの画像データが作成される。これに対し、本実施の形態では、立体視の有無にかかわらず、実空間を撮像する撮像方向がそれぞれ異なる複数のカメラによって撮像された複数の実写画像を、隣接する当該実写画像の視界領域の一部が互いに重なる重複領域が生じるようにVR空間に配置し、視線方向に基づいて、隣接する実写画像のうち、重複領域に表示する実写画像を動的に切り替える制御により、ステッチング処理をせずとも、実写画像同士の継ぎ目(ズレ)の違和感を低減した表示制御を実現できる。
【0186】
[14-3]以上では、画像をHMDの表示部に表示させるための表示制御について説明したが、HMD以外の表示部に画像を表示させるための表示制御にも応用できる。例えば、ユーザの頭等に装着しない通常のディスプレイ等の表示部に、高視野角の実写画像を表示する場合への応用について以下に説明する。
【0187】
実空間を複数のカメラで撮像した複数の実写画像を用いた高視野角の画像(例えば視野角360度の画像)を表示部に表示する場合、ユーザは例えばマウス、その他のポインティングデバイス等を用いて、表示部に表示される画像の範囲を変更する操作をしながら画像を見る。あるいは、表示部がタッチインタフェースを備えたタッチパネル等の場合、指またはスタイラスペン等でのタッチ操作により、表示部に表示される画像の範囲を変更しながら高視野角の画像を見る。あるいは、ユーザをカメラで撮像して手の動きを画像解析するハンドトラッキングシステムを利用し、ユーザの手のジェスチャで表示部に表示される画像の範囲を変更する操作をしながら画像を見るようにしてもよい。
この場合、表示部に表示されている現在の画像範囲の中心(画面の中心)にユーザの視点または視線があるものと判定し、視線方向を特定する。あるいは、例えば、表示部等に設けられたアイトラッキングシステム等によりユーザの視線に関する検出情報を取得し、当該検出情報に基づいて視線方向を特定してもよい。
【0188】
このように、HMD以外の表示部に、実空間を撮像する撮像方向がそれぞれ異なる複数のカメラによって撮像された複数の実写画像を用いた高視野角の画像を表示させる場合も、次のように表示制御すればよい。すなわち、前記の複数の実写画像を、隣接する実写画像の視界領域の一部が互いに重なる重複領域が生じるようにVR空間に配置し、視線方向に基づいて、隣接する実写画像のうち、重複領域に表示する実写画像を動的に切り替える。この表示制御により、HMD以外の表示部であっても、ステッチング処理をせずとも、実写画像同士の継ぎ目(ズレ)の違和感を低減した表示制御を実現できる。
なお、HMD以外の表示部に表示される高視野角の画像は、両眼視差を利用した立体視画像であっても、非立体視画像であってもよい。立体視画像を表示する場合、裸眼立体視可能な表示部に右目用と左目用との画像を表示させる。あるいは、専用メガネ(フレームシーケンシャル方式または偏光方式等の専用メガネ)を使用することを前提に、右目用と左目用との画像を表示部に交互に表示させる。
【0189】
[14-4]
図1に例示するように、HMD10および表示制御装置20がともにプロセッサおよび記憶装置を備えた情報処理装置(コンピュータ)としての構成・機能を有する場合、前述した制御部30の機能の一部を、本実施の形態に係るプログラムを実行するHMD10のプロセッサ13によって実現し、残りの機能を、本実施の形態に係るプログラムを実行する表示制御装置20のプロセッサ21によって実現してもよい。
図35は、表示制御装置20の機能がHMD10と一体化されたスタンドアローン型のHMD60、または
図34に例示するHMD50として用いられるスマートフォン等の情報処理装置52の構成の一例を示す概略のブロック図である。HMD60または情報処理装置52は、表示部61、センサ62、プロセッサ63、記憶装置64、操作部65、及び通信部66等を含む。これらの表示部61、センサ62、プロセッサ63、記憶装置64、操作部65、及び通信部66は、それぞれ前述の表示部11、センサ12、プロセッサ21、記憶装置22、操作部23、及び通信部24と同様の構成であり、その説明は省略する。なお、操作部65または通信部66については、外付け等による別構成としたり、省略したりしてもよい。このスタンドアローン型のHMD60または情報処理装置52の場合も、プロセッサおよび記憶装置を備えた情報処理装置(コンピュータ)としての構成・機能を有し、前述した制御部30の各機能は、本実施の形態に係るプログラムを実行するプロセッサ63によって実現される。
【0190】
[14-5]上述した制御部30の機能の一部または全部を、LSI(Large Scale Integration)等の集積回路により実現してもよい。また、上述の各機能を個別にプロセッサ化してもよい。あるいは、上述の機能の一部または全部を集積してプロセッサ化してもよい。
【0191】
[14-6]本実施の形態に係るコンピュータ読み取り可能なプログラムは、ハードディスク、光ディスク(CD-ROM、DVD-ROM等)、フレキシブルディスク、半導体メモリ等のコンピュータ読み取り可能な各種記録媒体に記録され、当該記録媒体から読み出されて、画像表示システム1又は表示制御装置20を構成するコンピュータにより実行される。また、プログラムのコンピュータへの提供は、インターネット、WAN、LANまたは専用回線等の通信回線を含むネットワークを介して行うこともできる。ファイルサーバ(オンラインストレージ)に記憶しておいたプログラムを、コンピュータが読み出してもよい。また、配信サーバから配信されるプログラムをコンピュータが受信してもよい。前記記録媒体には、プログラムを配信するために配信サーバからアクセス可能な内部または外部に設けられた記録媒体も含まれる。配信サーバの記録媒体に記憶されるプログラムのコードは、それを受信したコンピュータで直接実行可能な形式のコードでなくてもよい。すなわち、配信サーバからダウンロード後にコンピュータで実行可能にインストールできれば、配信サーバの記録媒体に記憶されるプログラムの形式は任意である。また、プログラムは、複数に分割されてそれぞれ異なるタイミングでダウンロードされた後に合体するものであってもよい。分割されたプログラムをそれぞれを配信する配信サーバが異なっていてもよい。また、コンピュータ読み取り可能な記録媒体には、ネットワークを介してプログラムを送信するサーバまたは受信するコンピュータにおける、RAM等の揮発性メモリのように、一定時間、プログラムを保持するものも含む。また、プログラムは、コンピュータに既に保存されているプログラムとの組み合わせで上述の機能を実現できる差分プログラムであってもよい。
【0192】
[15.付記]
以上の記載から本発明は例えば以下のように把握される。なお、本発明の理解を容易にするために添付図面の参照符号を便宜的に括弧書きにて付記するが、それにより本発明が図示の態様に限定されるものではない。
【0193】
1)本発明の一態様に係るプログラムは、両眼視差を利用した立体視画像として、仮想現実(VR)空間(V)内の仮想視点(P)からの視界を表すVR画像をヘッドマウントディスプレイ(10)の表示部(11)に表示させるための制御を実行するコンピュータを、前記VR空間に対するユーザの視線の方向であるとする視線方向(S)を特定する視線方向特定部(31)と、実空間を撮像する撮像方向がそれぞれ異なる複数のカメラによって撮像された複数の実写画像を、隣接する当該実写画像の視界領域(A1、A2)の一部が互いに重なる重複領域(AO)が生じるように前記VR空間に配置し、前記視線方向に応じた前記VR画像を生成する画像生成部(32)と、して機能させるものであり、前記画像生成部(32)は、前記視線方向に基づいて、隣接する前記実写画像のうち、前記重複領域に表示する前記実写画像を動的に切り替える。
ここで、前記「コンピュータ」は、少なくともプロセッサ及び記憶装置(メモリ)を含むものであればよい。例えば、VR画像の表示制御を行い得る、据置型または携帯型のゲーム専用機、業務用(商業用)ゲーム機、パーソナルコンピュータ、タブレット型コンピュータ、スマートフォン、携帯電話端末、PHS端末、PDA、情報処理機能を備えた多機能型テレビジョン受像機、その他プロセッサ及び記憶装置を含むものは全て「コンピュータ」に含まれる。また、プロセッサ及び記憶装置を含むHMD自体も「コンピュータ」に含まれる。例えば、
図34に例示するように、アタッチメント51と情報処理装置52とを含むHMD50の場合、スマートフォン等の情報処理装置52は「コンピュータ」に含まれる。また、スタンドアローン型のHMDも「コンピュータ」に含まれる。
【0194】
上記1)に記載の態様によれば、視線方向に基づいて重複領域に表示する実写画像を動的に切り替えることにより、重複領域における隣接する実写画像同士の領域境界をユーザの視線の方向から遠ざけることができる。これにより、領域境界に発生する「隣接する実写画像同士の継ぎ目(ズレ)」の違和感を低減することができる。よって、たとえ近距離撮影物が領域境界またはその付近に存在していたとしても、ユーザにとっては違和感の少ないVR画像が表示される。つまり、近距離撮影物がVR空間内のどの位置に存在しても違和感の少ないVR画像を表示でき、近距離表示可能なVR画像表示制御を実現できる。また、ステッチングの工程が不要となるため、VR画像制作の手間を低減することもできる。また、ステッチングの工程が不要となるため、カメラが現在撮像している実写画像(ライブ映像)を使用して、実写画像同士の継ぎ目の違和感の少ないVR画像を、略リアルタイムで表示部に表示させることができる。
【0195】
2)本発明の一態様では、上記1)に記載の態様において、前記画像生成部(32)は、前記仮想視点(P)から所定の方向に基準方向(RD、RD1、RD2)を設定し、前記基準方向に対する前記視線方向(S)に基づいて、前記重複領域(AO)に表示する前記実写画像を特定する。
【0196】
上記2)に記載の態様によれば、基準方向に対する視線方向に基づいて、重複領域に表示する実写画像の切り替え制御を容易に実現できる。
【0197】
3)本発明の一態様では、上記2)に記載の態様において、前記画像生成部(32)は、前記仮想視点(P)から前記重複領域(AO)内の所定の位置の方向に前記基準方向(RD、RD1、RD2)を設定する。
【0198】
上記3)に記載の態様によれば、基準方向が重複領域内に設定されるので、視線方向が重複領域の領域境界の方に向かっても、領域境界に到達する前に、重複領域に表示する実写画像が切り替わり、よって領域境界もユーザの視線の方向から遠ざかる。これにより、視認性に優れたVR画像表示制御を実現できる。
【0199】
4)本発明の一態様では、上記2)または3)に記載の態様において、前記画像生成部(32)は、前記重複領域(AO)に表示する前記実写画像を切り替えたタイミングで、前記重複領域に表示する前記実写画像に応じて前記基準方向(RD1、RD2)を変更する。
【0200】
上記4)に記載の態様によれば、基準方向は固定ではなく、重複領域に表示される実写画像が切り替えられたタイミングで、重複領域に表示される実写画像に応じて変更される。これにより、実写画像が切り替えられた後は一時的に基準方向が視線方向から遠のくため、重複領域に表示される実写画像の頻繁な切り替わりを低減することができる。
【0201】
5)本発明の一態様では、上記1)ないし4)の何れかに記載の態様において、前記視線方向特定部(31)は、前記ヘッドマウントディスプレイ(10)の向きに関する検出情報(例えば、角速度センサの検出情報)を取得し、当該検出情報に基づいて前記視線方向(S)を特定する。
【0202】
上記5)に記載の態様によれば、ユーザは、ヘッドマウントディスプレイの向きを変化させることにより、重複領域に表示する実写画像を動的に切り替えることができる。
【0203】
6)本発明の一態様では、上記1)ないし4)の何れかに記載の態様において、前記視線方向特定部(31)は、前記ユーザの視線に関する検出情報(例えば、アイトラッキングの検出情報)を取得し、当該検出情報に基づいて前記視線方向(S)を特定する。
【0204】
上記6)に記載の態様によれば、ユーザは、目の動き(視線の向き)を変化させることにより、重複領域に表示する実写画像を動的に切り替えることができる。
【0205】
7)本発明の一態様では、上記1)ないし6)の何れかに記載の態様において、隣接する前記実写画像同士の領域境界(BD1、BD2)に、前記ユーザが視認可能な境界線(BL1、BL1)を表示する境界線表示部(33)として前記コンピュータを機能させる。
【0206】
上記7)に記載の態様によれば、隣接する実写画像同士の領域境界に、敢えて境界線を視認可能に表示することで、画像の継ぎ目(ズレ)が生じる領域境界がユーザに認識され易くなる。これにより、ユーザの見たい方向に境界線が表示されないように、隣接する実写画像のうち、重複領域にどちらの実写画像を表示して見るべきかのユーザの判断を容易にすることができる。
【0207】
8)本発明の一態様では、上記7)に記載の態様において、前記境界線表示部(33)は、前記境界線(BL1、BL1)またはその付近に、前記境界線を挟んでどちら側が前記重複領域(AO)であるかを示すための付加情報(GD1、GD2)を表示する。
【0208】
上記8)に記載の態様によれば、境界線を挟んでどちら側が重複領域であるかをユーザが認識できるようにすることで、どの方向に視線方向を変更すれば、重複領域に表示される実写画像が切り替わるかのユーザの判断が容易になる。
【0209】
9)本発明の一態様では、上記1)ないし8)の何れかに記載の態様において、前記画像生成部(32)は、前記重複領域(AO)に表示する前記実写画像を切り替える場合に、時間経過に応じて、一方の前記実写画像から他方の前記実写画像へと漸次切り替える。
【0210】
上記9)に記載の態様によれば、重複領域に表示する前記実写画像を一方から他方へと切り替える場合に、いきなり切り替えるよりも、切り替え開始から終了までの切替期間における時間経過の中で漸次切り替えることにより、より自然に、境界線を視認し易くできる。
【0211】
10)本発明の一態様では、上記9)に記載の態様において、前記画像生成部(32)は、前記重複領域(AO)に表示する前記実写画像を切り替える場合に、時間経過に応じて、前記境界線(BL1、BL1)を切り替え完了後に表示される位置の方へと漸次移動させながら、一方の前記実写画像から他方の前記実写画像へと漸次切り替える。
【0212】
上記10)に記載の態様によれば、重複領域に表示する実写画像の切替期間中に、境界線を移動させることにより、変更される境界線の位置をユーザに自然に認識させることができる。
【0213】
11)本発明の一態様では、上記1)ないし10)の何れかに記載の態様において、前記画像生成部(32)は、前記視線方向(S)に基づいて、前記重複領域(AO)に表示する前記実写画像の切替処理をすべきとの判定をしてから当該切替処理を開始するまでに、所定の待機期間を設ける。
【0214】
上記11)に記載の態様によれば、重複領域に表示する実写画像の切替処理を開始するまでに所定の待機期間を設けることにより、待機期間中に視線方向が変化して当該切替処理が不要となるような状態になった場合に、不要な切替処理を省くことができる。
【0215】
12)本発明の一態様では、上記1)ないし11)の何れかに記載の態様において、前記画像生成部(32)は、前記VR画像の前記表示部への表示制御中に、複数の前記実写画像の前記VR空間(V)への配置状態を変更する。
【0216】
上記12)に記載の態様によれば、シーンに応じて、VR空間に配置される視界領域の数や全体視界領域の視野角等を変更したりできる。すなわち、シーン毎のVR空間の最適化を図ることができる。よって、シーン毎に不必要な視界領域を排除することが可能であり、画像データの量を削減することができる。また、必要な視界領域を排除したシーンでは、HMDの表示部に表示されるVR画像の解像度を高めることができる。
【0217】
13)本発明の一態様では、上記1)ないし11)の何れかに記載の態様において、複数の前記実写画像を撮像した複数の前記カメラの撮像方向の変化を特定する撮像方向特定部(34)として前記コンピュータを機能させ、前記画像生成部(32)は、撮像方向特定部によって特定された前記撮像方向の変化に応じて、前記VR空間(V)に配置する複数の前記実写画像全体の視界領域の方向を変更する。
【0218】
上記13)に記載の態様によれば、例えば移動している被写体(車等)の移動に合わせて、カメラの撮像方向が変化するような実写画像の場合、撮像方向の変化に応じてVR空間に配置される実写画像全体の視界領域の方向も変化する。よって、表示部には、視線方向に対して被写体が移動するリアリティのあるVR画像が表示できる。また、前述の被写体の移動に合わせた撮像時に、隣接する実写画像の領域境界を跨がないように被写体を撮像した実写画像を用意すれば、被写体が領域境界を跨がないような視認性に優れたVR画像の再生が可能である。
【0219】
14)本発明の一態様では、上記1)ないし13)の何れかに記載の態様において、前記画像生成部(32)は、前記視線方向(S)に基づいて、隣接する前記実写画像の領域境界(A1、A2)が前記視線方向から遠ざかるように、隣接する前記実写画像のうち、前記重複領域(AO)に表示する前記実写画像を動的に切り替える。これにより、上記1)に記載の態様と同様の効果を奏する。
【0220】
15)本発明の一態様では、上記1)ないし14)の何れかに記載の態様において、前記画像生成部(32)は、前記ヘッドマウントディスプレイ(10)の向きに関する検出情報を取得し、当該検出情報に基づいて、前記表示部(11)に表示させる前記VR画像の範囲を変更する。
【0221】
上記15)に記載の態様によれば、HMDの向きに関する検出情報に基づいて視線方向が特定される場合、ユーザは、HMDの向きを調整することにより、表示部に表示されるVR画像の範囲を変えながら、重複領域に表示する実写画像を動的に切り替えることができる。また、アイトラッキング等のユーザの視線に関する検出情報に基づいて視線方向が特定される場合、ユーザは、HMDの向きを変えることにより、表示部に表示されるVR画像の範囲を調整し、また、目の動き(視線の向き)を変えることにより重複領域に表示する実写画像を動的に切り替えることができる。
【0222】
16)本発明の一態様では、上記1)、5)ないし14)の何れかに記載の態様において、前記画像生成部(32)は、隣接する実写画像の現在の領域境界(BD1、BD2)に対する視線方向(S)に基づいて、重複領域AOに表示する実写画像を特定する。
【0223】
上記16)に記載の態様によれば、基準方向を設定せずとも、重複領域に表示する実写画像の切り替え制御を容易に実現できる。また、実写画像が切り替えられたタイミングで、基準となる領域境界が変更されるので、重複領域に表示される実写画像が頻繁に切り替わることを低減できる。
【0224】
17)本発明の一態様では、上記15)に記載の態様において、前記画像生成部(32)は、隣接する実写画像の現在の領域境界(BD1、BD2)に視線方向(S)が所定以上近づいた場合(例えば、視線方向と現在の領域境界とのなす角度が所定値以下になった場合)に、重複領域(AO)に現在表示している実写画像を他方の実写画像に切り替える。
【0225】
上記17)に記載の態様によれば、視線方向が領域境界に到達する前に、重複領域に表示する実写画像が切り替わり、領域境界をユーザの視線の方向から遠ざけることができる。
【0226】
18)本発明の一態様では、上記8)に記載の態様において、前記付加情報は、境界線(BL1、BL1)付近の実写画像に重畳され、境界線から離れるほど連続的に又は段階的に濃度又は不透明度が低くなる半透明のグラデーション部(GD1、GD2)を含む。
【0227】
上記18)に記載の態様によれば、境界線付近で発生している画像のズレをグラデーションにより隠して目立ち難くできる。また、グラデーションにより、実写画像の切り替えに必要な視線方向の変化の方向を自然に表すことができる。
【0228】
19)本発明の一態様では、上記7)ないし10)の何れかに記載の態様において、前記境界線表示部(33)は、重複領域(AO)の一端の領域境界(BD1又はBD2)に表示される境界線(BL1又はBL2)と、その他端の領域境界に表示されるの境界線との表示形態を異ならせる。
【0229】
上記19)に記載の態様によれば、水平視野角を拡大するために水平方向に配置される複数の画像を使用する場合、現在表示されている境界線が重複領域の左端の画像のズレの部分なのか、それとも右端の画像のズレの部分なのかをユーザが認識できるようになる。また、垂直視野角を拡大するために垂直方向に配置される複数の画像を使用する場合、現在表示されている境界線が重複領域の上端の画像のズレの部分なのか、それとも下端の画像のズレの部分なのかをユーザが認識できるようになる。
【0230】
20)本発明の一態様に係る表示制御装置(20)は、両眼視差を利用した立体視画像として、仮想現実(VR)空間(V)内の仮想視点(P)からの視界を表すVR画像をヘッドマウントディスプレイ(10)の表示部(11)に表示させるための制御を実行するものであって、前記VR空間に対するユーザの視線の方向であるとする視線方向(S)を特定する視線方向特定部(31)と、実空間を撮像する撮像方向がそれぞれ異なる複数のカメラによって撮像された複数の実写画像を、隣接する当該実写画像の視界領域(A1、A2)の一部が互いに重なる重複領域(AO)が生じるように前記VR空間に配置し、前記視線方向に応じた前記VR画像を生成する画像生成部(32)と、を含み、前記画像生成部(32)は、前記視線方向に基づいて、隣接する前記実写画像のうち、前記重複領域に表示する前記実写画像を動的に切り替える。これにより、上記1)に記載の態様と同様の効果を奏する。
【0231】
21)本発明の一態様に係る画像表示システム(1)は、両眼視差を利用した立体視画像として、仮想現実(VR)空間(V)内の仮想視点(P)からの視界を表すVR画像を表示部(11)に表示するヘッドマウントディスプレイ(10)と、前記VR画像を前記表示部に表示させるための制御を実行する表示制御装置(20)と、を具備するものであって、前記表示制御装置(20)は、前記VR空間に対するユーザの視線の方向であるとする視線方向(S)を特定する視線方向特定部(31)と、実空間を撮像する撮像方向がそれぞれ異なる複数のカメラ(200)によって撮像された複数の実写画像を、隣接する当該実写画像の視界領域(A1、A2)の一部が互いに重なる重複領域(AO)が生じるように前記VR空間に配置し、前記視線方向に応じた前記VR画像を生成する画像生成部(32)と、を含み、前記画像生成部(32)は、前記視線方向に基づいて、隣接する前記実写画像のうち、前記重複領域に表示する前記実写画像を動的に切り替える。これにより、上記1)に記載の態様と同様の効果を奏する。
【0232】
22)本発明の一態様に係る情報記憶媒体は、1)~19)のいずれかに記載の態様のプログラムを記録したコンピュータで読み取り可能な情報記憶媒体である。これにより、上記1)~19)に記載の態様と同様の効果を奏する。
【0233】
23)本発明の一態様に係る表示制御装置(20)の制御方法は、両眼視差を利用した立体視画像として、仮想現実(VR)空間(V)内の仮想視点(P)からの視界を表すVR画像をヘッドマウントディスプレイ(10)の表示部(11)に表示させるための制御を実行する表示制御装置(20)を制御する方法であって、前記VR空間に対するユーザの視線の方向であるとする視線方向(S)を特定する視線方向特定ステップ(S106)と、実空間を撮像する撮像方向がそれぞれ異なる複数のカメラによって撮像された複数の実写画像を、隣接する当該実写画像の視界領域(A1、A2)の一部が互いに重なる重複領域(AO)が生じるように前記VR空間に配置し(S102)、前記視線方向に応じた前記VR画像を生成する画像生成ステップ(S108~S114)と、を含み、前記画像生成ステップは、前記視線方向に基づいて、隣接する前記実写画像のうち、前記重複領域に表示する前記実写画像を動的に切り替えるステップ(S108~S112)を含む。これにより、上記1)に記載の態様と同様の効果を奏する。
【符号の説明】
【0234】
1…画像表示システム、10…HMD、11・61…表示部、12・62…センサ、13…プロセッサ、14…記憶装置、20…表示制御装置、21・63…プロセッサ、22・64…記憶装置、23・65…操作部、24・66…通信部、30…制御部、31…視線方向特定部、32…画像生成部、321…画像配置部、322…切替部、33…境界線表示部、34…撮像方向特定部、60…HMD(情報処理装置)、200…カメラ、A1・A2…視界領域、AO…重複領域、RD…基準方向、V…VR空間、S…視線方向、BL1・BL2…境界線、GD1・GD2…グラデーション部