(58)【調査した分野】(Int.Cl.,DB名)
前記早送りするステップは、前記ヨー方向軸回りの前記一方の方向の傾きが前記第2の閾値より大きく第4の閾値以下である場合に前記360度動画を通常の再生速度の第1の倍数の速度で連続的に早送りし、前記ヨー方向軸回りの前記一方の方向の傾きが前記第4の閾値より大きい場合に前記360度動画を前記第1の倍数より大きい第2の倍数の速度で連続的に早送りするステップを含み、
前記巻き戻すステップは、前記ヨー方向軸回りの前記他方の方向の傾きが前記第3の閾値より大きく第5の閾値以下である場合に前記360度動画を通常の再生速度の第3の倍数の速度で連続的に巻き戻し、前記ヨー方向軸回りの前記他方の方向の傾きが前記第5の閾値より大きい場合に前記360度動画を前記第3の倍数より大きい第4の倍数の速度で連続的に巻き戻すステップを含む、請求項1に記載のプログラム。
前記早送りするステップ及び/又は前記巻き戻すステップは、前記サムネイルを除く前記ヘッドマウントディスプレイに表示される前記360度動画を不鮮明にするステップを含む、請求項2に記載のプログラム。
前記ヨー方向軸回りの傾きが前記第2の閾値以下又は前記第3の閾値以下に戻り、前記ピッチ方向軸回りの傾きが前記第1の閾値以下に戻ると、前記ヘッドマウントディスプレイ上で前記360度動画が通常の再生速度で表示される、請求項1、2、7及び8のいずれか1項に記載のプログラム。
前記第1のオブジェクト及び前記第2のオブジェクトが表示されている間、前記360度動画は前記ヘッドマウントディスプレイ上で通常の再生速度で再生される、請求項3又は10に記載のプログラム。
前記第1のオブジェクト及び前記第2のオブジェクトが表示されている間、前記360度動画は前記ヘッドマウントディスプレイ上で通常の再生速度で再生される、請求項4又は12に記載のプログラム。
【発明を実施するための形態】
【0007】
[本発明の実施形態の説明]
最初に、本発明の実施形態の内容を列記して説明する。本発明の実施形態によるコンピュータ・プログラムは、以下のような構成を備える。
【0008】
(項目1)
定まった時間軸を有する360度動画をヘッドマウントディスプレイに提供する方法をコンピュータに実行させるプログラムであって、前記方法は、
前記ヘッドマウントディスプレイが初期角度から傾くことに応答して、前記ヘッドマウントディスプレイに表示される前記360度動画の時間軸を、前記傾きに応じて制御するステップと、
制御された前記時間軸に基づいて前記360度動画の画像を生成するステップと、
生成された前記360度動画の画像を前記ヘッドマウントディスプレイに出力するステップと
を含む、プログラム。
本項目のプログラムによれば、HMDを用いて定まった時間軸を有する360度動画を視聴する際にユーザに快適な操作性を提供することができる。
【0009】
(項目2)
前記制御するステップは、
前記傾きが、前記初期角度に対するピッチ方向軸回りの一方の方向の傾きであり、第1の閾値より大きい場合において、
前記ヘッドマウントディスプレイが、さらに、前記初期角度に対してヨー方向軸回りの一方の方向に傾き、該傾きが第2の閾値より大きい場合に、前記360度動画を連続的に早送りするステップと、
前記ヘッドマウントディスプレイが、さらに、前記初期角度に対してヨー方向軸回りの他方の方向に傾き、該傾きが第3の閾値より大きい場合に、前記360度動画を連続的に巻き戻すステップと
を含む、項目1に記載のプログラム。
【0010】
(項目3)
前記早送りするステップは、前記ヨー方向軸回りの前記一方の方向の傾きが前記第2の閾値より大きく第4の閾値以下である場合に前記360度動画を通常の再生速度の第1の倍数の速度で連続的に早送りし、前記ヨー方向軸回りの前記一方の方向の傾きが前記第4の閾値より大きい場合に前記360度動画を前記第1の倍数より大きい第2の倍数の速度で連続的に早送りするステップを含み、
前記巻き戻すステップは、前記ヨー方向軸回りの前記他方の方向の傾きが前記第3の閾値より大きく第5の閾値以下である場合に前記360度動画を通常の再生速度の第3の倍数の速度で連続的に巻き戻し、前記ヨー方向軸回りの前記他方の方向の傾きが前記第5の閾値より大きい場合に前記360度動画を前記第3の倍数より大きい第4の倍数の速度で連続的に巻き戻すステップを含む、項目2に記載のプログラム。
【0011】
(項目4)
前記方法は、
前記傾きが、前記初期角度に対する前記ピッチ方向軸回りの前記一方の方向の傾きであり、前記第1の閾値より大きい場合に、前記ヘッドマウントディスプレイを装着するユーザの視線に対応する前記ヘッドマウントディスプレイ上の位置に第1のサムネイルを表示するステップと、
連続的に早送りされている前記360度動画の少なくとも一部分又は連続的に巻き戻されている前記360度動画の少なくとも一部分を前記第1のサムネイル内に表示するステップと
をさらに含む、項目2又は3に記載のプログラム。
【0012】
(項目5)
前記早送りするステップ及び/又は前記巻き戻すステップは、前記サムネイルを除く前記ヘッドマウントディスプレイに表示される前記360度動画を不鮮明にするステップを含む、項目4に記載のプログラム。
【0013】
(項目6)
前記ヨー方向軸回りの傾きが前記第2の閾値以下又は前記第3の閾値以下に戻り、前記ピッチ方向軸回りの傾きが前記第1の閾値以下に戻ると、前記ヘッドマウントディスプレイ上で前記360度動画が通常の再生速度で表示される、項目2から5のいずれか1項に記載のプログラム。
【0014】
(項目7)
前記制御するステップは、
前記傾きが、前記初期角度に対する前記ピッチ方向軸回りの他方の方向の傾きであり、第6の閾値より大きい場合に、
前記360度動画の時間軸を表す第1のオブジェクト及び前記第1のオブジェクトを操作するための第2のオブジェクトを前記ヘッドマウントディスプレイに表示するステップと、
前記ヘッドマウントディスプレイが、さらに、前記初期角度に対して前記ヨー方向軸回りの一方の方向に傾く場合に、前記第1のオブジェクト上で前記第2のオブジェクトを該方向に移動させるステップと、
前記ヘッドマウントディスプレイが、さらに、前記初期角度に対して前記ヨー方向軸回りの他方の方向に傾く場合に、前記第1のオブジェクト上で前記第2のオブジェクトを該方向に移動させるステップと、
前記ピッチ方向軸回りの傾きが前記第6の閾値以下に戻ると、前記第1のオブジェクト上の前記第2のオブジェクトの現在位置に対応する場面へと前記360度動画をスキップするステップと
を含む、項目2から6のいずれか1項に記載のプログラム。
【0015】
(項目8)
前記方法は、
前記傾きが、前記初期角度に対する前記ピッチ方向軸回りの前記他方の方向の傾きであり、前記第6の閾値より大きい場合に、前記ヘッドマウントディスプレイを装着するユーザの視線に対応する前記ヘッドマウントディスプレイ上の位置に第2のサムネイルを表示するステップと、
前記第1のオブジェクト上の前記第2のオブジェクトの現在位置に対応する前記360度動画の静止画の少なくとも一部分を前記第2のサムネイル内に表示するステップと
をさらに含む、項目7に記載のプログラム。
【0016】
(項目9)
前記第1のオブジェクト及び前記第2のオブジェクトが表示されている間、前記360度動画は前記ヘッドマウントディスプレイ上で通常の再生速度で再生される、項目7又は8に記載のプログラム。
【0017】
(項目10)
前記制御するステップは、
前記傾きが、前記初期角度に対するピッチ方向軸回りの一方の方向の傾きであり、第7の閾値より大きい場合に、
前記360度動画の時間軸を表す第1のオブジェクト及び前記第1のオブジェクトを操作するための第2のオブジェクトを前記ヘッドマウントディスプレイに表示するステップと、
前記ヘッドマウントディスプレイが、さらに、前記初期角度に対してヨー方向軸回りの一方の方向に傾く場合に、前記第1のオブジェクト上で前記第2のオブジェクトを該方向に移動させるステップと、
前記ヘッドマウントディスプレイが、さらに、前記初期角度に対して前記ヨー方向軸回りの他方の方向に傾く場合に、前記第1のオブジェクト上で前記第2のオブジェクトを該方向に移動させるステップと、
前記ピッチ方向軸回りの傾きが前記第7の閾値以下に戻ると、前記第1のオブジェクト上の前記第2のオブジェクトの現在位置に対応する場面へと前記360度動画をスキップするステップと
を含む、項目1に記載のプログラム。
【0018】
(項目11)
前記方法は、
前記傾きが、前記初期角度に対する前記ピッチ方向軸回りの前記一方の方向の傾きであり、前記第7の閾値より大きい場合に、前記ヘッドマウントディスプレイを装着するユーザの視線に対応する前記ヘッドマウントディスプレイ上の位置に第3のサムネイルを表示するステップと、
前記第1のオブジェクト上の前記第2のオブジェクトの現在位置に対応する前記360度動画の静止画の少なくとも一部分を前記第3のサムネイル内に表示するステップと
をさらに含む、項目10に記載のプログラム。
【0019】
(項目12)
前記第1のオブジェクト及び前記第2のオブジェクトが表示されている間、前記360度動画は前記ヘッドマウントディスプレイ上で通常の再生速度で再生される、項目10又は11に記載のプログラム。
【0020】
(項目13)
前記制御するステップは、
前記傾きが、前記初期角度に対する前記ピッチ方向軸回りの他方の方向の傾きであり、第8の閾値より大きい場合において、
前記ヘッドマウントディスプレイが、さらに、前記初期角度に対してヨー方向軸回りの一方の方向に傾き、該傾きが第9の閾値より大きい場合に、前記360度動画を通常の再生速度より遅い速度で連続的に進めるステップと、
前記ヘッドマウントディスプレイが、さらに、前記初期角度に対して前記ヨー方向軸回りの他方の方向に傾き、該傾きが第10の閾値より大きい場合に、前記360度動画を通常の再生速度より遅い速度で連続的に戻すステップと
を含む、項目2から6及び10から12のいずれか1項に記載のプログラム。
【0021】
(項目14)
前記制御するステップは、
前記ピッチ方向軸回りの傾きが前記第8の閾値以下に戻ると、前記連続的に進めるステップ又は前記連続的に戻すステップを続けるステップと、
前記ピッチ方向軸回りの傾きが再度前記第8の閾値より大きくなり、その後再度前記第8の閾値以下に戻ると、
前記360度動画を一時停止するステップ、又は
前記360度動画を通常の再生速度で進めるステップ
を含む、項目13に記載のプログラム。
【0022】
(項目15)
前記制御するステップは、
前記傾きが、前記初期角度に対する前記ピッチ方向軸回りの他方の方向の傾きであり、第8の閾値より大きい場合に、前記360度動画を通常の再生速度より遅い速度で連続的に進めるステップ
を含む、項目2から6及び10から12のいずれか1項に記載のプログラム。
【0023】
(項目16)
前記制御するステップは、
前記ピッチ方向軸回りの傾きが前記第8の閾値以下に戻ると、前記連続的に進めるステップを続けるステップと、
前記ピッチ方向軸回りの傾きが再度前記第8の閾値より大きくなり、その後再度前記第8の閾値以下に戻ると、
前記360度動画を一時停止するステップ、又は
前記360度動画を通常の再生速度で進めるステップ
を含む、項目15に記載のプログラム。
【0024】
(項目17)
プロセッサを備え、前記プロセッサが項目1から16のいずれか1項に記載のプログラムを実行することによって前記方法が実行されるコンピュータ。
【0025】
[本発明の実施形態の詳細]
以下、図面を参照して、本発明の例示的な実施形態について説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。以下の説明では、図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。
【0026】
図1は、本発明の実施形態にかかるHMD110を備えるHMDシステム100を示す。HMDシステム100は、ユーザの頭部150に装着されるHMD110と、制御回路部120と、動きセンサ130とを備える。
【0027】
HMD110は、非透過型の表示装置であるディスプレイ112と、センサ部114と、注視センサ140とを含む。制御回路部120は、ディスプレイ112に右目用画像と左目用画像を表示することにより、両目の視差を利用した3次元画像を仮想空間として提供する。ディスプレイ112がユーザの眼前に配置されることによって、ユーザは仮想空間に没入できる。本発明においては、360度動画によって提供される上下左右すべての方向を見渡すことができる仮想空間がHMD110を用いてユーザに提供される。仮想空間はまた、ユーザが操作可能な各種オブジェクト、メニュー画像等を含んでもよい。
【0028】
ディスプレイ112は、右目用画像を提供する右目用サブディスプレイと、左目用画像を提供する左目用サブディスプレイを含んでもよい。また、右目用画像と左目用画像を提供できれば、1つの表示装置で構成されていても良い。例えば、表示画像が一方の目にしか認識できないようにするシャッターを高速に切り替えることにより、右目用画像と左目用画像を独立して提供し得る。
【0029】
制御回路部120は、HMD110に接続されるコンピュータである。
図2は、制御回路部120の基本構成を概略的に示すブロック図である。
図2に示すように、制御回路部120は、データ伝送路としての通信バス206で互いに接続された処理回路202と、メモリ204と、記憶媒体208と、入出力インターフェース210と、通信インターフェース212とを含む。処理回路202は、CPU(Central Processing Unit)やMPU(Micro−processing unit)、GPU(Graphics Processing Unit)といった各種処理回路等を含んで構成され、制御回路部120及びHMDシステム100全体を制御する機能を有する。メモリ204は、ROM(Read Only Memory)やRAM(Random Access Memory)等を含んで構成され、処理回路202が使用するプログラムや演算パラメータなどの制御用データを一時的に記憶する。記憶媒体208は、フラッシュメモリやHDD(Hard Disc Drive)などの不揮発性記憶装置を含んで構成され、360度動画のデータ、各種画像やオブジェクトに関するデータ、シミュレーションプログラムやユーザの認証プログラムが格納され、さらに、各種データを管理するためのテーブルを含むデータベースが構築されていてもよい。入出力インターフェース210は、USB(Universal Serial Bus)端子やDVI(Digital Visual Interface)端子やHDMI(登録商標)(High−Definition Multimedia Interface)端子等の各種有線接続端子や、無線接続のための各種処理回路を含んで構成され、HMD110や動きセンサ130を含む各種センサ、外部コントローラ等を接続する。通信インターフェース212は、ネットワーク214を介して外部装置と通信するための各種有線接続端子や、無線接続のための各種処理回路を含んで構成され、LAN(Local Area Network)やインターネットを介して通信するための各種通信規格・プロトコルに適合するように構成されている。
【0030】
制御回路部120は、メモリ204や記憶媒体208に格納された所定のアプリケーションを実行し、360度動画を再生することにより、ディスプレイ112に仮想空間を提示する。また、メモリ204や記憶媒体208には、本発明の実施形態による、定まった時間軸を有する360度動画をヘッドマウントディスプレイに提供するためのプログラムが格納される。さらに、メモリ204や記憶媒体208には、仮想空間内に表示される各種オブジェクトを操作したり、各種メニュー画像等を表示・制御したりするためのプログラムが格納されてもよい。制御回路部120はHMD110に搭載されていなくてもよく、別のハードウェア(例えば公知のパーソナルコンピュータ、ネットワークを通じたサーバ・コンピュータ)として構成してもよい。また、制御回路部120は、一部の機能のみをHMD110に実装し、残りの機能を別のハードウェアに実装してもよい。
【0031】
動きセンサ130は、HMD110の位置や傾きに関する情報を検知する。動きセンサ130は、センサ部114と、検知部132とを含む。センサ部114は、複数の光源を含んでもよい。光源は、例えば赤外線を発するLEDである。検知部132は例えば赤外線センサであり、光源からの赤外線をHMD110の検知点として検知することで、ユーザの動きに応じたHMD110の現実空間内における位置や角度に関する情報を経時的に検知する。そして、検知部132により検知された情報の経時的変化に基づいて、HMD110の位置や角度の時間変化を決定し、HMD110の動きに関する情報を検知することができる。
【0032】
動きセンサ130によって取得される位置や傾きに関する情報を、
図3を参照して説明する。HMD110を装着したユーザの頭部150を中心として、3次元座標系を規定する。ユーザが直立する垂直方向をヨー方向とし、ヨー方向と直交しディスプレイ112の中心とユーザを結ぶ前後方向をロール方向とし、ヨー方向およびロール方向と直交する横方向をピッチ方向とする。これにより、ユーザの3次元空間内における位置の経時変化が取得される。また、ピッチ方向軸周りのHMD110の傾き角度としてのピッチ角、ヨー方向軸周りのHMD110の傾き角度としてのヨー角、ロール方向軸周りのHMD110の傾き角度としてのロール角が取得される。
【0033】
動きセンサ130は、ディスプレイ112の近くに固定されたセンサ部114と検知部132のうちの一方のみから構成されてもよい。センサ部114は、地磁気センサ、加速度センサ、ジャイロセンサであってもよく、これらの少なくとも1つを用いて、ユーザの頭部150に装着されたHMD110(特に、ディスプレイ112)の位置及び傾きを検知する。これにより、HMD110の動きに関する情報を検知することができる。例えば、角速度センサは、HMD110の動きに応じて、HMD110の3軸回りの角速度を経時的に検知し、各軸回りの角度の時間変化を決定することができる。この場合には、検知部132は不要である。また、検知部132は光学カメラを含んで構成されても良い。この場合には、画像情報に基づいてHMD110の動きに関する情報を検知することができ、センサ部114は不要である。
【0034】
動きセンサ130を用いてHMD110の位置や傾きに関する情報を検知する機能をポジション・トラッキングと称する。
図4は、動きセンサ130によるポジション・トラッキングと仮想空間402内に配置される仮想カメラ404との間の関係を示す。仮想カメラ404と動きセンサ130との間の位置関係を説明するために、以下では、動きセンサ130の位置は、検知部132を有する場合には検知部132の位置とし、検知部132を有しない場合にはセンサ部114の位置とする。仮想空間402の内部に仮想カメラ404が配置され、仮想空間402の外部(現実空間)に動きセンサ130が仮想的に配置される。
【0035】
仮想空間402は、略正方形または略長方形の複数のメッシュを有する天球状に形成される。各メッシュには仮想空間402の空間情報が関連付けられており、この空間情報に基づいて視界領域408(視界画像418)が定義される。本実施形態では、XZ面において、天球の中心406が仮想カメラ404と動きセンサ130を結ぶ線上に配置されるように調整することが好ましい。例えば、仮想カメラ404は、常に中心406に配置されてもよい。また、HMD110を装着したユーザが移動して仮想カメラ404の位置がX方向に移動した場合に、中心406が仮想カメラ404と動きセンサ130の線分上に位置するように、仮想空間402の領域が変更されてもよい。これらの場合には、仮想空間402における仮想カメラ404の位置は固定され、傾きのみが変化する。一方、動きセンサ130のXYZ方向への移動に連動して仮想カメラ404の位置を移動させるようにすれば、仮想空間402における仮想カメラ404の位置は可変に設定される。
【0036】
注視センサ140は、ユーザの右目及び左目の視線が向けられる方向を検知するアイトラッキング機能を有する。注視センサ140は、右目用センサと左目用センサを備えていることが好ましく、それぞれが右目と左目の視線が向けられる方向を検知することにより、ユーザが注視する視線方向を検知する。注視センサ140はアイトラッキング機能を有する公知のセンサを採用することができ、例えば、右目及び左目に赤外光を照射し、角膜や虹彩からの反射光を取得することにより、眼球の回転角を求めてもよい。
【0037】
図5に示すように、注視センサ140はユーザUの右目R及び左目Lの視線方向を検知する。ユーザUが近くを見ている場合には視線R1及びL1が検知され、両者の交点である注視点N1が特定される。また、ユーザが遠くを見ている場合には、視線R1及びL1よりロール方向とのなす角が小さい視線R2及びL2が特定される。注視点N1が特定されると、ユーザUの視線方向N0が特定される。視線方向N0はユーザUが両目により実際に視線が向けている方向である。視線方向N0は、例えばユーザUの右目R及び左目Lの中心と注視点N1が通る直線の伸びる方向として定義される。
【0038】
図6は、HMDシステム100における仮想空間402の表示処理等を実現するための、制御回路部120の機能を示すブロック図である。制御回路部120は、主に動きセンサ130、注視センサ140からの入力に基づいて、ディスプレイ112への画像出力を制御する。
【0039】
制御回路部120は、表示制御部602と、記憶部624とを備える。表示制御部602は、仮想空間画像生成部604と、HMD動作検知部606と、視線検知部608と、基準視線特定部610と、視界領域決定部612と、視界画像生成部614と、時間軸制御部616と、傾き判定部618と、サムネイル生成・表示部620と、オブジェクト生成・表示部622とを含む。記憶部624は、空間情報格納部626と、動画・画像格納部628とを含み、動きセンサ130や注視センサ140からの入力に対応した出力情報をディスプレイ112へ提供するための演算に必要な各種データを含む。動画・画像格納部628は360度動画を格納してもよい。
【0040】
図7は、360度動画の画像をHMD110に表示するための一般的な処理のフロー図である。
図6及び
図7を参照して、360度動画の画像を提供するためのHMDシステム100の一般的な処理を説明する。仮想空間402は、HMD110(注視センサ140、動きセンサ130)及び制御回路部120の相互作用によって提供され得る。
【0041】
処理はステップ702において開始する。ステップ704において、制御回路部120(仮想空間画像生成部604)は、空間情報格納部626を参照して、ユーザが没入する仮想空間402を構成する天球状の仮想空間画像410(
図4を参照)を生成する。動きセンサ130によってHMD110の位置や傾きが検知される。動きセンサ130によって検知された情報は制御回路部120に送信される。ステップ706において、HMD動作検知部606は、HMD110の位置情報や傾き情報を取得する。ステップ708において、取得された位置情報及び傾き情報に基づいて視界方向が決定される。
【0042】
注視センサ140がユーザの左右の目の眼球の動きを検出すると、当該情報が制御回路部120に送信される。ステップ710において、視線検知部608は、右目及び左目の視線が向けられる方向を特定し、視線方向N0を決定する。ステップ712において、基準視線決定部610は、HMD110の傾きにより決定された視界方向又はユーザの視線方向N0を基準視線412として決定する。
【0043】
ステップ714において、視界領域決定部612は、仮想空間402における仮想カメラ404の視界領域408を決定する。
図4に示すように、視界領域408は、仮想空間画像410のうちユーザの視界を構成する部分(視界画像418)である。視界領域408は基準視線412に基づいて決定され、基準視線412は仮想カメラ404の位置及び傾きに基づいて決定される。
図12(A)は、視界領域408をX方向から見たYZ面図であり、
図12(B)は、視界領域408をY方向から見たXZ面図である。
【0044】
視界領域408は、基準視線412と仮想空間画像410のYZ断面によって定義される範囲である第1領域414(
図12(A)参照)と、基準視線412と仮想空間画像410のXZ断面によって定義される範囲である第2領域416(
図12(B))とを有する。第1領域414は、基準視線412を中心として極角αを含む範囲として設定される。第2領域416は、基準視線412を中心として方位角βを含む範囲として設定される。
【0045】
ステップ716において、視界画像生成部614は、視界領域408に基づいて視界画像418を生成する。視界画像418は、左目用と右目用の2つの2次元画像を含み、これらがディスプレイ112に重畳されることにより、3次元画像としての仮想空間402がユーザに提供される。ステップ718において、表示制御部602は、視界画像418に関する情報をHMD110に出力する。HMD110は、受信した視界画像418の情報に基づいて、ディスプレイ112に視界画像418を表示する。
図12(C)は、このときにディスプレイ112に表示される視界画像418の一例である。処理はステップ720において終了する。
【0046】
図8は、本発明の一実施形態のプログラムにより実現される、定まった時間軸を有する360度動画の画像をHMD110に表示するための基本的な処理のフロー図である。
図7で説明した処理により、予め、HMD110の初期位置及び初期角度における360度動画の視界画像418が生成され、HMD110に出力され、HMD110に表示されているものとする。
【0047】
図8に示す処理に移行するために、何らかの特定の操作が必要とされてもよい。例えば、制御回路部120は、ユーザが特定方向を一定時間以上向いていると表示制御部602(HMD動作検知部606、視線検知部608、傾き判定部618など)が判定することに応答して、
図8の処理に移行してもよい。制御回路120はまた、ユーザが所定の回数(又はそれ以上)上下に頭を振った、ユーザが首を所定の回数(又はそれ以上)回した、ユーザがジャンプした、(コントローラを備えるHMDの場合)ユーザがコントローラを用いて所定の入力操作をした、(マイク機器を備えるHMDの場合)ユーザの声もしくはその他の所定の音声が入力された等と判定されたことに応答して、
図8の処理に移行してもよい。本発明の実施形態による
図8の処理へ移行するための様々な操作が考えられることが当業者により理解されよう。 処理はステップ802において開始する。HMD110を装着したユーザが首や頭を動かすことによってHMD110の傾きが変化すると、動きセンサ130によってHMD110の傾きに関する情報が検知され、当該情報が制御回路部120に送信される。ステップ804において、HMD動作検知部606は、受信した傾きに関する情報をHMD110の初期角度と比較して、HMD110の初期角度からの傾きに関する情報を取得する。ステップ806において、時間軸制御部616は、取得された傾き情報に基づいて、360度動画の時間軸を制御する。時間軸制御の具体的な処理については後述する。ステップ808において、制御回路120は、制御された時間軸に基づいて、360度動画の画像を生成する。例えば、制御回路120は、
図7において生成された視界画像418、ステップ806により得られた時間軸の情報、記憶部624に格納された360度動画の情報等に基づいて、HMD110に表示するべき画像を生成する。ステップ810において、表示制御部602は、生成された360度動画の画像をHMDに出力する。
【0048】
以下、
図6及び
図9以降を参照して、本発明の実施形態による、定まった時間軸を有する360度動画をHMDに提供するための処理について説明する。
図9は、
図8におけるステップ806から810の処理の具体例を示すフロー図である。処理はステップ902において開始する。ステップ904において、傾き判定部618は、傾き(ステップ804において取得された、初期角度からの傾き)が、ピッチ方向軸回りの一方の方向(上方向又は下方向、以下の例では上方向)の傾きであるか否か、及び第1の閾値より大きいか否かを判定する。第1の閾値は予め記憶部624に記憶されていてもよい。傾きがピッチ方向軸回りの一方の方向の傾きθ
1であり、第1の閾値T
1より大きい場合(ステップ904の「Y」)、処理はステップ906に進む。
図13(A)及び
図13(B)は、それぞれ、このときに視界領域408をX方向から見たYZ面図及び視界領域408をY方向から見たXZ面図の例である。以降、仮想空間402における仮想カメラ404の傾きを、現実空間におけるHMD110の傾きに対応するものとして示す。但し、仮想空間402における仮想カメラ404の傾きはHMD110の傾きと同じ値である必要はなく、HMD110の傾きの変化を反映するように変化すればよい。基準視線412は、点線矢印で示す元の方向から実線矢印で示す方向へ角度θ
1だけ変化している。ステップ906において、サムネイル生成・表示部620は、第1のサムネイル1302を生成し、注視センサ140や視線検知部608によって検知されたユーザの視線に対応するHMD110上の位置に表示する。
図13(C)は、このときにディスプレイ112に表示される視界画像418及び第1のサムネイル1302の一例である。第1のサムネイル1302は視界画像418に重ねて表示される。
図13において、基準視線412は、
図12の場合と比較して、ピッチ方向軸回りの上向きに変化している。このため、
図13(C)には、
図12(C)と比較して、仮想空間402内のより上部に対応する画像が表示されている。
【0049】
ステップ908において、HMD110がさらにヨー方向軸回りの一方の方向(右方向又は左方向、以下の例では右方向)に傾き、該傾きθ
2が第2の閾値T
2より大きいと傾き判定部618が判定すると、表示制御部602(時間軸制御部616)は360度動画を連続的に早送りする。
図14(A)及び
図14(B)は、それぞれ、このときに視界領域408をX方向から見たYZ面図及び視界領域408をY方向から見たXZ面図の例である。
図14(B)において、基準視線412は、点線矢印で示す元の方向から実線矢印で示す方向へ変化している。
【0050】
ステップ908において、HMDがさらにヨー方向軸回りの他方の方向(この例では左方向)に傾き、該傾きθ
2が第3の閾値T
3より大きいと傾き判定部618が判定すると、表示制御部602(時間軸制御部616)は360度動画を連続的に巻き戻す。
図15(A)及び
図15(B)は、それぞれ、このときに視界領域408をX方向から見たYZ面図及び視界領域408をY方向から見たXZ面図の例である。
図15(B)において、基準視線412は、点線矢印で示す元の方向から実線矢印で示す方向へ変化している。
【0051】
ステップ908において、さらに、サムネイル生成・表示部620は、連続的に早送りされている360度動画の少なくとも一部分又は連続的に巻き戻されている360度動画の少なくとも一部分を第1のサムネイル1302内に表示する。
図14(C)及び
図15(C)は、このときにディスプレイ112に表示される視界画像418及び第1のサムネイル1302の一例である。「×2」などのように、通常の再生速度に対する早送りや巻き戻しの速度が第1のサムネイル1302内に表示されてもよい。表示制御部602は、第1のサムネイル1302を除くHMDに表示される360度動画(ここでは、視界画像418)を、ぼかし処理を施す等の様々な方法で、不鮮明にしてもよい。これにより、ユーザは、第1のサムネイル1302を用いた早送り操作又は巻き戻し操作に集中できる。
【0052】
表示制御部602は、ヨー方向軸回りの一方の方向の傾きが第2の閾値T
2より大きく第4の閾値T
4以下である場合に360度動画を通常の再生速度の第1の倍数(例えば、2倍)の速度で連続的に早送りし、ヨー方向軸回りの一方の方向の傾きが第4の閾値T
4より大きい場合に360度動画を第1の倍数より大きい第2の倍数(例えば、3倍)の速度で連続的に早送りしてもよい。また、表示制御部602は、ヨー方向軸回りの他方の方向の傾きが第3の閾値T
3より大きく第5の閾値T
5以下である場合に360度動画を通常の再生速度の第3の倍数(例えば、2倍)の速度で連続的に巻き戻し、ヨー方向軸回りの他方の方向の傾きが第5の閾値T
5より大きい場合に360度動画を第3の倍数より大きい第4の倍数(例えば、3倍)の速度で連続的に巻き戻してもよい。上記のほか、早送り及び巻き戻しの速度を様々な条件で様々に設定することができる。
【0053】
ステップ910において、傾き判定部618は、ヨー方向軸回りの傾きが第2の閾値T
2以下又は第3の閾値T
3以下に戻り、ピッチ方向軸回りの傾きが第1の閾値T
1以下に戻るかを判定する。これらの傾きが上記の条件を満たす場合(ステップ910の「Y」)、処理はステップ924に進む。ステップ924において、表示制御部602は、HMD110上で360度動画を通常の再生速度で表示させる。
図16(A)及び
図16(B)は、それぞれ、このときに視界領域408をX方向から見たYZ面図及び視界領域408をY方向から見たXZ面図の例である。この例では、基準視線412は初期方向に戻っている。
図16(C)は、早送り後にディスプレイ112に表示される視界画像418の一例である。ステップ910において「N」である場合、処理はステップ908の前に戻ってもよい。ステップ925において処理は終了する。
【0054】
ステップ904において「N」の場合、処理はステップ912に進む。ステップ912において、傾き判定部618は、傾き(ステップ804において取得された、初期角度からの傾き)が、ピッチ方向軸回りの他方の方向(以下の例では下方向)の傾きであるか否か、及び第6の閾値より大きいか否かを判定する。第6の閾値は予め記憶部624に記憶されていてもよい。傾きθ
1がピッチ方向軸回りの他方の方向の傾きであり、第6の閾値T
6より大きい場合(ステップ912の「Y」)、処理はステップ914に進む。
図17(A)及び
図17(B)は、それぞれ、このときに視界領域408をX方向から見たYZ面図及び視界領域408をY方向から見たXZ面図の例である。
図17(A)において、基準視線412は、点線矢印で示す元の方向から実線矢印で示す方向へ変化している。ステップ914において、サムネイル生成・表示部620は、第2のサムネイル1702を生成し、ユーザの視線に対応するHMD110上の位置に表示する。一方、ステップ912の「N」の場合、処理はステップ904の前に戻ってもよい。
【0055】
ステップ916において、オブジェクト生成・表示部622は、360度動画の時間軸を表す第1のオブジェクト1704及び第1のオブジェクト1704を操作するための第2のオブジェクト1706をHMDに表示する。
図17(C)は、このときにディスプレイ112に表示される視界画像418、第2のサムネイル1702、第1のオブジェクト1704及び第2のオブジェクト1706の一例である。第2のサムネイル1702は第2のオブジェクト1706の近くに配置されてもよい。
【0056】
ステップ918において、オブジェクト生成・表示部622は、HMD110がさらにヨー方向軸回りの一方の方向(ここでは右方向)に傾く場合に、第1のオブジェクト1704上で第2のオブジェクト1706を該方向に移動させる。
図18(A)及び
図18(B)は、それぞれ、このときに視界領域408をX方向から見たYZ面図及び視界領域408をY方向から見たXZ面図の例である。サムネイル生成・表示部620は、第2のオブジェクト1706の現在位置に対応する360度動画の静止画の少なくとも一部分を第2のサムネイル1702内に表示する。
図18(C)は、このときにディスプレイ112に表示される視界画像418、第2のサムネイル1702、第1のオブジェクト1704及び第2のオブジェクト1706の一例である。現在の視界画像418とは異なる場面の画像が第2のサムネイル1702に表示されていることがわかる。
【0057】
ステップ918において、HMD110がさらにヨー方向軸回りの他方の方向に傾く場合、第1のオブジェクト1704上で第2のオブジェクト1706が該方向に移動される。
【0058】
ステップ920において、傾き判定部618は、ピッチ方向軸回りの傾きが初期角度に対して第6の閾値以下に戻るか否かを判定する。戻る場合(ステップ920の「Y」)、処理はステップ922に進み、表示制御部602は、第1のオブジェクト1704上の第2のオブジェクト1706の現在位置に対応する場面へと360度動画をスキップする。ステップ920の「N」の場合、処理はステップ918の前に戻ってもよい。
【0059】
ステップ924において、表示制御部602は、HMD上で360度動画を通常の再生速度で表示させる。
図19(A)及び
図19(B)は、それぞれ、このときに視界領域408をX方向から見たYZ面図及び視界領域408をY方向から見たXZ面図の例である。基準視線412は初期方向に戻っている。
図19(C)は、このときにディスプレイ112に表示される視界画像418の一例である。
図18(C)において第2のサムネイル1702に表示されていた場面へスキップしたことがわかる。ステップ925において処理は終了する。
【0060】
図10は、
図8におけるステップ806から810の処理の別の具体例を示すフロー図である。処理はステップ1002において開始する。ステップ1004から1010の処理はステップ904から910の処理と同様であるので、説明を省略する。
【0061】
ステップ1004において、HMD110の初期角度からの傾きがピッチ方向軸回りの一方の方向の傾きでなく及び/又は第1の閾値以下であると傾き判定部618が判定すると(ステップ1004の「N」)、処理はステップ1012に進む。ステップ1012において、傾き判定部618は、傾き(ステップ804において取得された、初期角度からの傾き)が、ピッチ方向軸回りの他方の方向(以下の例では下方向)の傾きであるか否か、及び当該傾きの大きさθ
1が第8の閾値より大きいか否かを判定する。第8の閾値は予め記憶部624に記憶されていてもよい。ステップ1012の「Y」の場合、処理はステップ1014に進む。一方、ステップ1012の「N」の場合、処理はステップ1004の前に戻ってもよい。
【0062】
ステップ1014において、HMD110がさらにヨー方向軸回りの一方の方向(この例では右方向)に角度θ
2だけ傾き、第9の閾値T
9より大きいと傾き判定部618が判定すると、表示制御部602は、360度動画を通常の再生速度より遅い速度で連続的に進める(スロー再生)。このときの速度は、角度θ
2の大きさに応じて様々に設定することができる。例えば、θ
2が第9の閾値T
9より大きく第11の閾値T
10以下である場合、上記速度は通常の再生速度の0.5倍であってもよい。また、θ
2が第11の閾値T
10より大きい場合、上記速度は通常の再生速度の0.25倍であってもよい。
図20(A)及び
図20(B)は、それぞれ、このときに視界領域408をX方向から見たYZ面図及び視界領域408をY方向から見たXZ面図の例である。基準視線412は、点線矢印で示す元の方向から実線矢印で示す方向へ変化している。
図20(C)は、このときにディスプレイ112に表示される視界画像418の一例である。360度動画がスロー再生される。
【0063】
また、ステップ1014において、HMD110がさらにヨー方向軸回りの他方の方向(この例では左方向)に傾き、当該傾きの大きさが第10の閾値より大きいと傾き判定部618が判定すると、表示制御部602は、360度動画を通常の再生速度より遅い速度で連続的に戻す(スロー巻き戻し)。
図22(A)及び
図22(B)は、それぞれ、このときに視界領域408をX方向から見たYZ面図及び視界領域408をY方向から見たXZ面図の例である。
図22(C)は、このときにディスプレイ112に表示される視界画像418の一例である。360度動画がスロー巻き戻しされる。
【0064】
なお、本発明の一実施形態においては、ステップ1014の処理に代えて別の処理を実行してもよい。例えば、ステップ1012の「Y」の場合に、表示制御部602は、360度動画を通常の再生速度より遅い速度で連続的に進めたり(スロー再生)、360度動画を通常の再生速度より遅い速度で連続的に戻したり(スロー巻き戻し)してもよい。
【0065】
ステップ1016において、ピッチ方向軸回りの傾きが一旦第8の閾値以下に戻ったと傾き判定部618が判定しても、表示制御部602は、ステップ1014で説明した連続的に進めるステップ又は連続的に戻すステップを続ける。
図21(A)及び(B)並びに
図23(A)及び(B)は、このときに視界領域408をX方向から見たYZ面図及び視界領域408をY方向から見たXZ面図の例である。いずれにおいても、基準視線412が初期方向に戻っていることがわかる。しかしながら、
図21(C)又は
図23(C)に示すように、360度動画のスロー再生又はスロー巻き戻しは続けられる。
【0066】
ステップ1018において、傾き判定部618は、ピッチ方向軸回りの傾きが、再度第8の閾値より大きくなり、その後再度第8の閾値以下に戻ったかを判定する。ステップ1018の「Y」の場合、処理はステップ1020に進み、表示制御部602は、360度動画を一時停止してもよい。あるいは、表示制御部602は、HMD110上で360度動画を通常の再生速度で表示させてもよい。ステップ1018の「N」の場合、処理はステップ1014の前に戻ってもよい。
【0067】
ステップ1022において、傾き判定部618は、ピッチ方向軸回りの傾きが、さらに再度第8の閾値より大きくなり、その後さらに再度第8の閾値以下に戻ったかを判定する。ステップ1022の「Y」の場合、処理はステップ1024に進み、表示制御部602は、HMD110上で360度動画を通常の再生速度で表示させる。ステップ1022の「N」の場合、処理はステップ1020の前に戻ってもよい。ステップ1025において処理は終了する。
【0068】
図11は、
図8におけるステップ806から810の処理の別の具体例を示すフロー図である。処理はステップ1102において開始する。ステップ1104において、傾き判定部618は、傾き(ステップ804において取得された、初期角度からの傾き)が、ピッチ方向軸回りの一方の方向(この例では上方向)の傾きであるか否か、及び第7の閾値より大きいか否かを判定する。第7の閾値は予め記憶部624に記憶されていてもよい。ステップ1104の「Y」の場合、処理はステップ1106に進む。ステップ1106から1114の処理はステップ914から922の処理と同様であるので説明を省略する。
【0069】
ステップ1104の「N」の場合、処理はステップ1116に進む。ステップ1116において、傾き判定部618は、傾きが、ピッチ方向軸回りの他方の方向(この例では下方向)の傾きであるか否か、及び第8の閾値より大きいか否かを判定する。ステップ1116の「Y」の場合、処理はステップ1118に進む。ステップ1118から1126の処理はステップ1014から1022の処理と同様である。ステップ1116の「N」の場合、処理はステップ1104の前に戻ってもよい。
【0070】
ステップ1128において、表示制御部1128は、HMD110上で360度動画を通常の再生速度で表示させる。ステップ1125において処理は終了する。
上述の実施形態によれば、HMDを用いて定まった時間軸を有する360度動画を視聴する際にユーザに快適な操作性を提供することができる。
【0071】
以上、本発明の実施形態によるコンピュータ及びプログラムについて具体的に説明したが、上述の実施形態は例示に過ぎず、本発明の範囲を限定するものではない。本発明の技術的思想は、プログラム及びコンピュータのほか、説明した実施形態のステップを含むコンピュータにより実施される方法を含む様々な態様で実施することが可能であることが理解されよう。また、本発明の趣旨及び範囲から逸脱することなく、実施形態の変更、追加、改良などを適宜行うことができることが理解されるべきである。本発明の範囲は、特許請求の範囲の記載に基づいて解釈されるべきであり、さらにその均等物を含むものと理解されるべきである。
【課題】ヘッドマウントディスプレイ(HMD)の傾きの方向と大きさに応じて、定まった時間軸を有する360度動画の時間軸の方向と再生の速度を制御するプログラム及びコンピュータを提供する。
【解決手段】定まった時間軸を有する360度動画をHMDに提供する方法をコンピュータに実行させるプログラムであって、HMDの初期角度からの傾きに関する情報を取得するステップ804と、HMDが初期角度から傾くことに応答して、HMDに表示される360度動画の時間軸を、傾きに応じて制御するステップ806と、制御された時間軸に基づいて360度動画の画像を生成するステップ808と、生成された360度動画の画像をHMDに出力するステップ810とを含む、プログラムである。