(57)【要約】  状態情報記憶部（１２１）は、仮想空間内における観察位置、観察方向、基体方向を記憶する。観察位置更新部（１１２）は、外部のコントローラに対してされた移動方向を示す指示入力が受け付けられると、基体方向を基準として指示入力に示された移動方向へ進むよう、観察位置を更新する。観察方向更新部（１１４）は、検知部（１１３）により検知された表示装置（１００）の向きの変化に応じて、観察方向を更新する。取得部（１１５）は、コントローラと、表示装置（１００）と、の相対的位置を取得する。基体方向更新部（１１６）は、観察方向と、取得された相対的位置と、に基づいて、基体方向を更新する。
2020026380.tif 000002
【特許請求の範囲】
【請求項１】
表示装置であって、
外部のコントローラに対してされた移動方向を示す指示入力を受け付ける受付部と、
前記表示装置の向きの変化を検知する検知部と、
仮想空間内における観察位置、観察方向、基体方向を記憶する記憶部と、
前記指示入力が受け付けられると、前記基体方向を基準として前記指示入力に示された移動方向へ進むよう、前記観察位置を更新する観察位置更新部と、
前記検知された表示装置の向きの変化に応じて、前記観察方向を更新する観察方向更新部と、
前記コントローラと、前記表示装置と、の相対的位置を取得する取得部と、
前記観察方向と、前記取得された相対的位置と、に基づいて、前記基体方向を更新する基体方向更新部と、
を備えることを特徴とする表示装置。
【請求項２】
前記取得部は、前記コントローラ、前記表示装置と、のいずれか少なくとも一方が有するセンサが他方を検知することにより、前記相対的位置を取得する、
請求項１に記載の表示装置。
【請求項３】
前記取得部は、前記コントローラが有する第１姿勢センサにより検知される第１向きと、前記表示装置が有する第２姿勢センサにより検知される第２向きと、の差分により推定された前記相対的位置を取得する、
請求項１に記載の表示装置。
【請求項４】
所定のパターンで点灯する発光部をさらに備え、
前記取得部は、前記コントローラが有するカメラにより撮像された画像における前記発光部の位置及び前記パターンに基づいて、前記コントローラにより特定された前記相対的位置を、前記コントローラから取得する、
請求項１に記載の表示装置。
【請求項５】
仮想空間内における観察位置、観察方向、基体方向が記憶される記憶部を備える表示装置が実行する表示方法であって、
外部のコントローラに対してされた移動方向を示す指示入力を受け付ける受付ステップと、
前記表示装置の向きの変化を検知する検知ステップと、
前記指示入力が受け付けられると、前記基体方向を基準として前記指示入力に示された移動方向へ進むよう、前記観察位置を更新する観察位置更新ステップと、
前記検知された表示装置の向きの変化に応じて、前記観察方向を更新する観察方向更新ステップと、
前記コントローラと、前記表示装置と、の相対的位置を取得する取得ステップと、
前記観察方向と、前記取得された相対的位置と、に基づいて、前記基体方向を更新する基体方向更新ステップと、
を備えることを特徴とする表示方法。
【請求項６】
仮想空間内における観察位置、観察方向、基体方向を記憶する記憶部を備えるコンピュータを、
外部のコントローラに対してされた移動方向を示す指示入力を受け付ける受付部、
表示装置の向きの変化を検知する検知部、
前記指示入力が受け付けられると、前記基体方向を基準として前記指示入力に示された移動方向へ進むよう、前記観察位置を更新する観察位置更新部と、
前記検知された表示装置の向きの変化に応じて、前記観察方向を更新する観察方向更新部、
前記コントローラと、前記表示装置と、の相対的位置を取得する取得部、
前記観察方向と、前記取得された相対的位置と、に基づいて、前記基体方向を更新する基体方向更新部、
として機能させることを特徴とするプログラム。
【請求項７】
仮想空間内における観察位置、観察方向、基体方向を記憶する記憶部を備えるコンピュータを、
外部のコントローラに対してされた移動方向を示す指示入力を受け付ける受付部、
表示装置の向きの変化を検知する検知部、
前記指示入力が受け付けられると、前記基体方向を基準として前記指示入力に示された移動方向へ進むよう、前記観察位置を更新する観察位置更新部と、
前記検知された表示装置の向きの変化に応じて、前記観察方向を更新する観察方向更新部、
前記コントローラと、前記表示装置と、の相対的位置を取得する取得部、
前記観察方向と、前記取得された相対的位置と、に基づいて、前記基体方向を更新する基体方向更新部、
として機能させることを特徴とするプログラムを記録した非一時的なコンピュータ読取可能な情報記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示装置、表示方法、プログラム、ならびに、非一時的なコンピュータ読取可能な情報記録媒体に関する。
【背景技術】
【０００２】
ヘッドマウントディスプレイによりユーザに仮想空間を提供する仮想現実（Virtual Reality）システムにおいて、仮想空間におけるユーザの分身であるキャラクタ（アバター）を操作する方法として、ユーザの視線方向を検知し、検知された視線方向に基づいてユーザが注視したと判定された位置にアバターを移動させる方法がある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−７２９９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一方、例えば、美術館が再現された仮想空間において、アバターが壁に掛けられた絵画を見ながら壁に沿って歩く場合のように、ユーザは、ユーザの視線方向と異なる方向にアバターを移動させたい場合もある。一般的に、仮想空間内のキャラクタの移動を操作する方法として、ユーザがコントローラ等の端末を介してキャラクタの移動方向を指示する方法がある。しかし、例えば、ユーザが自身の胴部を正面に向けつつ、頭部だけ横に向けた状態において、ユーザが直感的に自身の胴部の方向を基準として端末を介して移動方向を指示しても、ヘッドマウントディスプレイの向きのみ検出可能である場合には、ヘッドマウントディスプレイの向きに基づいて特定されるアバターの観察方向を基準として移動方向が指示されたとみなされ、ユーザが直感的に指示した移動方向と異なる方向にアバターが移動してしまうおそれがある。【０００５】
本発明は、上記の課題を解決するためのものであり、ユーザの直感的な指示入力に従って仮想空間内における観察位置を移動させることが可能な表示装置、表示方法、プログラム、ならびに、非一時的なコンピュータ読取可能な情報記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第１の観点に係る表示装置は、
表示装置であって、
外部のコントローラに対してされた移動方向を示す指示入力を受け付ける受付部と、
前記表示装置の向きの変化を検知する検知部と、
仮想空間内における観察位置、観察方向、基体方向を記憶する記憶部と、
前記指示入力が受け付けられると、前記基体方向を基準として前記指示入力に示された移動方向へ進むよう、前記観察位置を更新する観察位置更新部と、
前記検知された表示装置の向きの変化に応じて、前記観察方向を更新する観察方向更新部と、
前記コントローラと、前記表示装置と、の相対的位置を取得する取得部と、
前記観察方向と、前記取得された相対的位置と、に基づいて、前記基体方向を更新する基体方向更新部と、
を備えることを特徴とする。【０００７】
上記の観点に係る表示装置において、
前記取得部は、前記コントローラ、前記表示装置と、のいずれか少なくとも一方が有するセンサが他方を検知することにより、前記相対的位置を取得してもよい。【０００８】
上記の観点に係る表示装置において、
前記取得部は、前記コントローラが有する第１姿勢センサにより検知される第１向きと、前記表示装置が有する第２姿勢センサにより検知される第２向きと、の差分により推定された前記相対的位置を取得してもよい。【０００９】
上記の観点に係る表示装置において、
所定のパターンで点灯する発光部をさらに備え、
前記取得部は、前記コントローラが有するカメラにより撮像された画像における前記発光部の位置及び前記パターンに基づいて、前記コントローラにより特定された前記相対的位置を、前記コントローラから取得してもよい。【００１０】
本発明の第２の観点に係る表示方法は、
仮想空間内における観察位置、観察方向、基体方向が記憶される記憶部を備える表示装置が実行する表示方法であって、
外部のコントローラに対してされた移動方向を示す指示入力を受け付ける受付ステップと、
前記表示装置の向きの変化を検知する検知ステップと、
前記指示入力が受け付けられると、前記基体方向を基準として前記指示入力に示された移動方向へ進むよう、前記観察位置を更新する観察位置更新ステップと、
前記検知された表示装置の向きの変化に応じて、前記観察方向を更新する観察方向更新ステップと、
前記コントローラと、前記表示装置と、の相対的位置を取得する取得ステップと、
前記観察方向と、前記取得された相対的位置と、に基づいて、前記基体方向を更新する基体方向更新ステップと、
を備えることを特徴とする。【００１１】
本発明の第３の観点に係るプログラムは、
仮想空間内における観察位置、観察方向、基体方向を記憶する記憶部を備えるコンピュータを、
外部のコントローラに対してされた移動方向を示す指示入力を受け付ける受付部、
前記表示装置の向きの変化を検知する検知部、
前記指示入力が受け付けられると、前記基体方向を基準として前記指示入力に示された移動方向へ進むよう、前記観察位置を更新する観察位置更新部と、
前記検知された表示装置の向きの変化に応じて、前記観察方向を更新する観察方向更新部、
前記コントローラと、前記表示装置と、の相対的位置を取得する取得部、
前記観察方向と、前記取得された相対的位置と、に基づいて、前記基体方向を更新する基体方向更新部、
として機能させることを特徴とする。【００１２】
本発明の第４の観点に係る非一時的なコンピュータ読取可能な情報記録媒体は、
仮想空間内における観察位置、観察方向、基体方向を記憶する記憶部を備えるコンピュータを、
外部のコントローラに対してされた移動方向を示す指示入力を受け付ける受付部、
前記表示装置の向きの変化を検知する検知部、
前記指示入力が受け付けられると、前記基体方向を基準として前記指示入力に示された移動方向へ進むよう、前記観察位置を更新する観察位置更新部と、
前記検知された表示装置の向きの変化に応じて、前記観察方向を更新する観察方向更新部、
前記コントローラと、前記表示装置と、の相対的位置を取得する取得部、
前記観察方向と、前記取得された相対的位置と、に基づいて、前記基体方向を更新する基体方向更新部、
として機能させることを特徴とする。【００１３】
なお、上記情報記録媒体は、コンピュータとは独立して配布・販売することができる。ここで、非一時的な（non-transitory）情報記録媒体とは、有形な（tangible）情報記録媒体をいう。非一時的な情報記録媒体は、例えば、コンパクトディスク、フレキシブルディスク、ハードディスク、磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリである。また、一時的な（transitory）情報記録媒体とは、伝送媒体（伝搬信号）それ自体を示す。一時的な記録媒体は、例えば、電気信号、光信号、電磁波である。なお、一時的な（temporary）記憶領域とは、データやプログラムを一時的に記憶するための領域であり、例えばＲＡＭ（Random Access Memory）といった揮発性メモリである。
【発明の効果】
【００１４】
本発明によれば、ユーザの直感的な指示入力に応じて仮想空間内における観察位置を移動させることができる。
【図面の簡単な説明】
【００１５】
【図１】実施形態に係る表示装置のハードウェア構成を示す概略ブロック図である。
【図２】現実空間において表示装置とユーザの向きが変化する前の様子を示す上面図である。
【図３Ａ】ユーザが頭部の向きのみを回転させることにより現実空間において表示装置とユーザの向きが変化した後の様子を示す上面図である。
【図３Ｂ】ユーザが胴部の向きのみを回転させることにより現実空間において表示装置とユーザの向きが変化した後の様子を示す上面図である。
【図４】現実空間において表示装置とユーザの向きが変化する前の、仮想空間の様子を示す上面図である。
【図５Ａ】ユーザが頭部の向きのみを回転させることにより現実空間において表示装置とユーザの向きが変化した後の、仮想空間の様子を示す上面図である。
【図５Ｂ】ユーザが胴部の向きのみを回転させることにより現実空間において表示装置とユーザの向きが変化した後の、仮想空間の様子を示す上面図である。
【図６】実施形態に係る表示装置の機能構成を示す概略ブロック図である。
【図７】実施形態に係るコントローラの正面図である。
【図８】ユーザに装着された状態での実施形態に係る表示装置の外観図である。
【図９Ａ】相対的位置が０であるときの表示装置とコントローラの様子を示す上面図である。
【図９Ｂ】図９Ａに示す状態においてコントローラが撮影した画像である。
【図１０Ａ】相対的位置がφ１であるときの表示装置とコントローラの様子を示す上面図である。
【図１０Ｂ】図１０Ａに示す状態においてコントローラが撮影した画像である。
【図１１】実施形態に係る表示装置の制御部により実行される表示処理の流れを表すフローチャートである。
【図１２】変形例に係る現実空間において表示装置とユーザの向きが変化する前の様子を示す上面図である。
【発明を実施するための形態】
【００１６】
以下に本発明の実施形態を説明する。なお、本実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。従って、当業者であればこれらの各要素若しくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。また、本願発明の実施形態を図面を参照して説明するにあたり、図中同一又は相当する部分には同一符号を付す。
【００１７】
図１は、本実施形態に係る表示装置１００のハードウェア構成を示す概略ブロック図である。表示装置１００は、例えば、各種のセンサや制御装置を備えたヘッドマウントディスプレイにより構成される。スマートフォンやタブレットコンピュータ、ファブレット等をアタッチメントに装着することにより、ヘッドマウントディスプレイが構築されてもよい。この場合には、スマートフォン等のコンピュータを上記各部として機能させるためのプログラムを、当該スマートフォン等にて実行させることにより、表示装置１００が実現される。図１に示すように、表示装置１００は、制御部１０１と、ＲＯＭ（Read Only Memory）１０２と、ＲＡＭ１０３と、ディスプレイ１０４と、センサ部１０５と、操作部１０６と、通信部１０７とから構成され、各部は、バス１０８により接続されている。
【００１８】
制御部１０１は、例えばＣＰＵ（Central Processing Unit）から構成され、表示装置１００全体を制御する。
【００１９】
ＲＯＭ１０２は、制御部１０１が表示装置１００全体を制御するためのプログラムや各種データを格納する不揮発性メモリである。
【００２０】
ＲＡＭ１０３は、制御部１０１が生成した情報や、その情報の生成に必要なデータを一時的に格納するための揮発性メモリである。
【００２１】
ディスプレイ１０４は、ＬＣＤ（Liquid Crystal Display）およびバックライト等を備え、制御部１０１による制御の下、例えば、制御部１０１から出力された画像を表示する。
【００２２】
センサ部１０５は、姿勢センサや加速度センサを備え、表示装置１００の向きを検知する。センサ部１０５は、検知した表示装置１００の向きを表す信号を制御部１０１に出力する。
【００２３】
操作部１０６は、ボタン、キーボード、タッチパネル等の入力装置から構成される。操作部１０６は、表示装置１００のユーザからの操作入力を受け付け、受け付けた操作入力に対応する信号を制御部１０１に出力する。
【００２４】
通信部１０７は、後述するコントローラ２２０と通信するための通信インターフェースから構成される。通信部１０７は、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）等の無線通信規格のもと、コントローラ２２０と通信する。
【００２５】
次に、本実施形態での現実空間２０１と、表示装置１００に表示される仮想空間３０１と、における表示装置１００及びユーザ２０２の位置関係について説明する。図２は、現実空間２０１において表示装置１００とユーザ２０２の向き及び位置が変化する前（時刻ｔａ）の様子を示す上面図である。図４は、現実空間２０１において表示装置１００とユーザ２０２の向き及び位置が変化する前（時刻ｔａ）の、仮想空間３０１の様子を示す上面図である。また、図３Ａ及び図３Ｂは、現実空間２０１において表示装置１００とユーザ２０２の向き及び位置が変化した後（時刻ｔｂ）の様子を示す上面図である。なお、図３Ａは、ユーザ２０２が頭部２０３の向きのみを回転させて表示装置１００の向きを変化させた場合の現実空間２０１の様子を表す。また、図３Ｂは、ユーザ２０２が胴部２０４の向きのみを変化させた場合の現実空間２０１の様子を表す。図５Ａ及び図５Ｂは、現実空間２０１において表示装置１００とユーザ２０２の向き及び位置が変化した後（時刻ｔｂ）の、仮想空間３０１の様子を示す上面図である。なお、図５Ａは、ユーザ２０２が頭部２０３の向きのみを回転させて表示装置１００の向きを変化させた場合の仮想空間３０１の様子を表す。また、図５Ｂは、ユーザ２０２が胴部２０４の向きのみを変化させた場合の仮想空間３０１の様子を表す。以下、これらの図を参照して説明する。なお、これらの図においては、時刻ｔａから時刻ｔｂまでの時間の経過を表すために、英小文字を適宜付与している。以下の説明では、当該英小文字を適宜省略して説明する。
【００２６】
図２及び図３Ａ及び図３Ｂに示すように、現実空間２０１において、ユーザ２０２は、表示装置１００を眼前に装着している。ユーザ２０２が表示装置１００を装着しているときには、表示装置１００の表示方向２０５は、図４Ａ,図４Ｂ,図５Ａ及び図５Ｂに示す仮想空間３０１における後述するアバター４０１の観察方向３０２と逆向きになる。
【００２７】
また、現実空間２０１において、ユーザ２０２は、コントローラ２２０を把持している。コントローラ２２０は、表示装置１００により表示される仮想空間３０１に配置されたアバター４０１を操作するための端末である。アバター４０１は仮想空間３０１におけるユーザ２０２の分身として、コンピュータグラフィックスにより作成されたオブジェクトである。図４Ａ,図４Ｂ,図５Ａ及び図５Ｂに示すように、本実施形態において、アバター４０１は、人形状であって、アバター４０１の頭部４０２の位置が観察位置３０２、頭部４０２の視線方向が観察方向３０３、胴部４０３の正面方向が基体方向３０４に対応する。コントローラ２２０は、表示装置１００と例えばＢｌｕｅｔｏｏｔｈ（登録商標）により無線通信することができる。例えば、ユーザ２０２は、コントローラ２２０が備えるキーやタッチパネルを操作することにより、コントローラ２２０に対してアバター４０１の移動方向を示す指示入力を入力する。そして、コントローラ２２０は、入力された指示入力を表示装置１００に送信する。そして後述するように、表示装置１００は、コントローラ２２０から受信した指示入力及び表示装置１００の向きに基づいて、仮想空間３０１におけるアバター４０１の観察位置３０２、観察方向３０３、及び基体方向３０４を更新する。
【００２８】
なお、現実空間２０１における方位２１１と仮想空間３０１における方位３１１とは、ずれてもよいし、一致させてもよい。本実施形態において、両者はずれている。
【００２９】
図６は、本発明の実施形態に係る表示装置１００の機能構成を示す概略ブロック図である。図６に示すように、表示装置１００は、受付部１１１と、観察位置更新部１１２と、検知部１１３と、観察方向更新部１１４と、取得部１１５と、基体方向更新部１１６と、生成部１１７と、表示部１１８と、状態情報記憶部１２１とを備える。
【００３０】
状態情報記憶部１２１は、仮想空間３０１内におけるアバター４０１の観察位置３０２、観察方向３０３、基体方向３０４を記憶する。観察位置３０２、観察方向３０３、基体方向３０４は、後述するようにそれぞれ観察位置更新部１１２、観察方向更新部１１４、及び基体方向更新部１１６により更新される。状態情報記憶部１２１は、ＲＡＭ１０３により実現される。
【００３１】
受付部１１１は、コントローラ２２０に対してされた移動方向を示す指示入力を受け付ける。例えば、受付部１１１は、通信部１０７を介して、コントローラ２２０が受け付けた指示入力を示す信号をコントローラ２２０から受信する。本実施形態において、制御部１０１及び通信部１０７が協働して、受付部１１１として機能する。
【００３２】
観察位置更新部１１２は、受付部１１１により指示入力が受け付けられると、基体方向３０４を基準として、指示入力に示された方向へ進むよう、観察位置３０２を更新する。例えば、図２に示すように、受付部１１１が、時刻ｔａから時刻ｔｂまでの間、コントローラ２２０から前方向、すなわち胴部２０４ａの正面方向２０６ａに移動する指示入力を受け付けると、図５Ａ及び図５Ｂに示すように、観察位置更新部１１２は、状態情報記憶部１２１に記憶された現在の観察位置３０２ａを、状態情報記憶部１２１に記憶された現在の基体方向３０４ａを基準とした前方向、すなわち、基体方向３０４ａに速度Ｖで移動させた位置、すなわち、観察位置３０２ａから前方向に距離Ｖ×（ｔｂ−ｔａ）だけ離れた観察位置３０２ｂに更新する。
【００３３】
時刻ｔａから時刻ｔｂまでの時間間隔は、用途に応じて定めることができる。例えば、この時間間隔は、表示装置１００のディスプレイ１０４のリフレッシュ間隔（例えば、垂直同期周期）とすることができる。また、後述するように、処理は繰り返し行われるので、ある繰り返し単位における時刻ｔｂは、次の繰り返し単位における時刻ｔａとして解釈される。
【００３４】
本実施形態において、制御部１０１により、観察位置更新部１１２として機能する。
【００３５】
検知部１１３は、表示装置１００の現実空間２０１における向きの変化を検知する。例えば、検知部１１３は、センサ部１０５による測定結果から、現実空間２０１における基準軸に対する表示装置１００の表示方向２０５の変化を検知する。現実空間２０１における基準軸としては、現実空間２０１における重力方向、または表示装置１００のディスプレイ１０４の上下方向を採用するのが典型的である。
【００３６】
本実施形態において、制御部１０１およびセンサ部１０５が協働することにより、検知部１１３として機能する。
【００３７】
観察方向更新部１１４は、検知部１１３により検知された表示装置１００の向きに応じて、仮想空間３０１における観察方向３０３を更新する。例えば、まず、観察方向更新部１１４は、時刻ｔａから時刻ｔｂまでの間の検知部１１３により検知された表示装置１００の表示方向２０５の変化について、現実空間２０１における基準軸周りの回転量θを取得する。具体的には、図２において、ユーザ２０２が頭部２０３ａの向きを変える前は、表示方向２０５ａは、表示装置１００ａからユーザ２０２に向かっている。また、図３Ａにおいて、ユーザ２０２が頭部２０３ｂの向きを変えた後は、表示方向２０５ｂは、表示装置１００ｂからユーザ２０２に向かっている。表示方向２０５ａと表示方向２０５ｂとがなす角が基準軸周りの回転量θである。回転量θは、いわゆるヨー角に相当する。
【００３８】
そして、観察方向更新部１１４は、図５Ａに示すように、状態情報記憶部１２１に記憶された観察方向３０３ａを仮想空間３０１における観察位置３０２ａの基準軸周りに回転量θだけ回転させることにより、観察方向３０３ａを観察方向３０３ｂに更新する。
【００３９】
本実施形態において、制御部１０１が、観察方向更新部１１４として機能する。
【００４０】
取得部１１５は、コントローラ２２０から、コントローラ２２０と表示装置１００と、の相対的位置を取得する。
【００４１】
以下において、本実施形態における相対的位置の取得方法の一例について説明する。図７に本実施形態に係るコントローラ２２０の正面図を示す。本実施形態に係るコントローラ２２０は、スマートフォンであって、図７に示すように、正面に、タッチパネル２２１と、カメラ２２２と、を備える。タッチパネル２２１は、ユーザ２０２からの移動方向を示す指示入力を受け付ける。例えば、ユーザ２０２がタッチパネル２２１の表面を指でスライドさせる操作をした場合、タッチパネル２２１は、そのスライド方向を検知し、検知したスライド方向に対応する移動方向を示す指示入力を受け付けたと判定する。カメラ２２２は、表示装置１００を検知するセンサの一例であって、正面方向のシーンを撮影する。具体的には、カメラ２２２は、図２や図３に示すようにユーザ２０２に把持された状態で、表示装置１００を含む画像を撮影する。そして、コントローラ２２０は、撮影された画像における表示装置の位置に基づいて、コントローラ２２０と表示装置１００との相対的位置を特定する。
【００４２】
次に、カメラ２２２により撮影された画像における表示装置の位置に基づいて相対的位置を特定する方法の一例を詳細に説明する。図８にユーザに装着された時の本実施形態に係る表示装置１００の外観図を示す。図８に示すように、表示装置１００は、その底面の左右端部にマーカー５０１，５０２を有する。そして、コントローラ２２０は、カメラ２２０により撮影された画像中のマーカー５０１，５０２を認識し、画像におけるマーカー５０１，５０２の位置に基づいて、相対的位置を特定する。以下において、コントローラ２２０は、常にユーザ２０２の正面に位置するものとし、ユーザ２０２が正面を向いた状態における表示装置１００の表示方向２０５を基準方向２０７としたときの、基準方向２０７と表示方向２０５とがなす角を相対的位置φとして特定する。図９Ａ,図９Ｂ,図１０Ａ及び図１０Ｂに表示装置１００とコントローラ２２０の相対的位置と、その相対的位置においてカメラ２２０により撮影された画像の一例を示す。図９Ａは、相対的位置φが０であるときの表示装置１００とコントローラ２２０の様子を示す上面図である。この状態においてコントローラ２２０は、図９Ｂに示すような画像６０１を撮影する。図９Ｂに示すように、マーカー５０１，５０２は、画像６０１の縦方向の対称軸を中心に線対称となるように位置する。
【００４３】
図１０Ａは、相対的位置φ＝φ１（φ１＞０）であるときの表示装置１００とコントローラ２２０の様子を示す上面図である。この状態においてコントローラ２２０は、図１０Ｂに示すような画像６０２を撮影する。図１０Ｂに示すように、マーカー５０１，５０２は、図９Ｂの画像６０１におけるマーカー５０１，５０２の位置と比較して、右方向にずれた位置に位置する。
【００４４】
コントローラ２２０は、図９Ａ及び図９Ｂ、図１０Ａ及び図１０Ｂに示すような、相対的位置φと、その相対的位置φにおいてカメラ２２２により撮影された画像におけるマーカー５０１，５０２の位置関係とを予め保持しておくことにより、カメラ２２２により撮影された画像におけるマーカー５０１，５０２の位置関係から、相対的位置φを特定することができる。そして、コントローラ２２０は、特定した相対的位置φを表示装置１００に送信する。これにより、表示装置１００の取得部１１５は、通信部１０７を介してコントローラ２２０から相対的位置φを取得することができる。
【００４５】
本実施形態において、制御部１０１及び通信部１０７が協働して、取得部１１５として機能する。
【００４６】
基体方向更新部１１６は、観察方向３０３と、取得部１１５により取得された相対的位置と、に基づいて、基体方向３０４を更新する。
【００４７】
以下、取得部１１５が、基準方向２０７と表示方向２０５とがなす角を相対的位置φとしてコントローラ２２０から取得した場合の基体方向の更新例について説明する。例えば、取得部１１５が、コントローラ２２０から、時刻ｔｂにおける相対的位置としてφ＝φ１を取得したとき、相対的位置φが仮想空間３０１における観察方向３０３と基体方向３０４とがなす角に対応するため、図５Ｂに示すように観察方向３０３ｂとのなす角がφ１となるように基体方向３０４ｂを決定する。すなわち、基体方向更新部１１６は、状態情報記憶部１２１に記憶された観察方向３０３ｂを、状態情報記憶部１２１に記憶された観察位置３０２ａの基準軸周りに相対的位置φ１だけ回転させることにより、基体方向３０４ａを基体方向３０４ｂに更新する。
【００４８】
本実施形態において、制御部１０１が、基体方向更新部１１６として機能する。
【００４９】
生成部１１７は、状態情報ＤＢ１２１に記憶された観察位置３０２及び観察方向３０３に基づいて、仮想空間３０１を観察位置３０２から観察方向３０３に観察した様子を表す画像を生成する。具体的には、生成部１１７は、仮想空間内に配置されたオブジェクト（図示せず）の仮想空間３０１内における所定の位置及び形状に基づいて、透視投影等の技術を用いて、観察位置３０２から観察方向３０３に見たときの画像を生成する。例えば、生成部１１７は、図３Ａに示すようにユーザ２０２が頭部２０３の向きのみを回転させて表示装置１００の向きを変化させた場合、時刻ｔａにおいて、図５Ａに示す観察位置３０２ａから観察方向３０３ａに仮想空間３０１を観察した様子を表す画像を生成し、時刻ｔｂにおいて、図５Ａに示す観察位置３０２ｂから観察方向３０３ｂに仮想空間３０１を観察した様子を表す画像を生成する。また、生成部１１７は、図３Ｂに示すようにユーザ２０２が胴部２０４の向きのみを変化させた場合、時刻ｔａにおいて、図５Ｂに示す観察位置３０２ａから観察方向３０３ａに仮想空間３０１を観察した様子を表す画像を生成し、時刻ｔｂにおいて、図５Ｂに示す観察位置３０２ｂから観察方向３０３ｂに仮想空間３０１を観察した様子を表す画像を生成する。
【００５０】
本実施形態において、制御部１０１が、生成部１１７として機能する。
【００５１】
表示部１１８は、生成部１１７により生成された画像を、ディスプレイ１０４に表示する。
【００５２】
本実施形態において、制御部１０１及びディスプレイ１０４が協働して、表示部１１８として機能する。
【００５３】
次に、本発明の実施形態にかかる表示装置１００の動作について説明する。図１１は、表示装置１００の制御部１０１により実行される表示処理の流れを表すフローチャートである。本処理は、例えば、操作部１０６を介して本処理の開始指示を受け付けたことを契機として開始する。
【００５４】
まず、表示装置１００は、仮想空間３０１内において、観察位置３０２及び観察方向３０３を予め定められた初期状態に設定し、観察位置３０２及び観察方向３０３を状態情報記憶部１２１に保存する（ステップＳ１０１）。
【００５５】
次に、表示装置１００は、仮想空間３０１を初期化する（ステップＳ１０２）。この初期化の際には、表示装置１００は、例えば、仮想空間３０１内に配置されるオブジェクトの位置、形状、向き、外観を取得、設定したり、仮想空間３０１の無限遠方に配置されると想定される背景の画像等を取得、設定する。
【００５６】
次に、表示装置１００は、コントローラ２２０から指示入力を受け付けたか否かを判定する（ステップＳ１０３）。表示装置１００は、コントローラから指示入力を受け付けていないとき（ステップＳ１０３；Ｎｏ）、ステップＳ１０５に進む。
【００５７】
表示装置１００は、コントローラから指示入力を受け付けたとき（ステップＳ１０３；Ｙｅｓ）、状態情報記憶部１２１に記憶されている観察位置３０２を、受け付けた指示入力が示す移動方向に所定距離移動させた観察位置３０２に更新する（ステップＳ１０４）。
【００５８】
次に、表示装置１００は、表示装置１００の向きの変化を検知したか否かを判定する（ステップＳ１０５）。表示装置１００は、表示装置１００の向きの変化を検知していないとき（ステップＳ１０５；Ｎｏ）、ステップＳ１０７に進む。
【００５９】
表示装置１００は、表示装置１００の向きの変化を検知したとき（ステップＳ１０５；Ｙｅｓ）、状態情報記憶部１２１に記憶されている観察方向３０３を、検知された表示装置１００の向きの変化を表す回転量θに応じて更新する（ステップＳ１０６）。
【００６０】
次に、表示装置１００は、コントローラ２２０と表示装置１００との相対的位置を取得する（ステップＳ１０７）。そして、表示装置１００は、状態情報記憶部１２１に記憶されている観察方向３０３と、取得された相対的位置と、に基づいて、状態情報記憶部１２１に記憶されている基体方向３０４を更新する（ステップＳ１０８）。
【００６１】
そして、表示装置１００は、状態情報記憶部１２１に記憶された観察位置３０２から観察方向３０３に仮想空間３０１を観察した様子を表す画像を生成する（ステップＳ１０９）。
【００６２】
この後、表示装置１００は、ディスプレイ１０４の垂直同期割込が生じるまで待機してから（ステップＳ１１０）、生成された画像をディスプレイ１０４に転送してユーザに提示する（ステップＳ１１１）。
【００６３】
そして、表示装置１００は、仮想空間３０１の状態を更新する（ステップＳ１１２）。例えば、仮想空間３０１が時間の経過に応じて変化するコンピュータグラフィックスにより構成される場合には、オブジェクトの位置や向きを、当該オブジェクトに設定された速度、加速度、角速度、角加速度等により更新する物理シミュレーションを行ったり、予め定められた条件に基づいてオブジェクトを変形させる。
【００６４】
そして、表示装置１００は、ステップＳ１０３の処理に戻る。表示装置１００は、例えば操作部１０６を介して本処理の終了指示を受け付けるまで、繰り返し上記の処理を実行する。なおステップＳ１１０において待機することから、この処理の繰り返し周期は、垂直同期周期となる。
【００６５】
以上説明したように、本発明の実施形態に係る表示装置１００は、コントローラ２２０から移動方向を示す指示入力が受け付けられると、アバター４０１の基体方向を基準として指示入力に示された移動方向へ進むよう、アバターの観察位置を更新する。また、コントローラ２２０が有するカメラ２２２により撮像された画像における表示装置１００の位置を特定することにより、コントローラ２２０と、表示装置１００と、の相対的位置を取得する。そして、センサ部１０５により検知された表示装置の向きの変化に応じて更新されたアバター４０１の観察方向と、取得された相対的位置と、に基づいて、基体方向を更新する。このように、表示装置１００は、仮想空間３０１内のアバター４０１の頭部４０２の向きである観察方向３０２と、胴部４０３の向きである基体方向３０４を独立に管理するため、ユーザが自身の胴部２０４の正面方向２０６を基準とする移動方向を示す指示入力を直感的にコントローラ２２０に入力した場合であっても、そのユーザの直感的な指示入力に従って仮想空間内における観察位置３０２を移動させることができる。
【００６６】
また、表示装置１００は、コントローラ２２０がカメラ２２２により撮像された画像における表示装置１００の位置に基づいて特定した相対的位置をコントローラ２２０から取得する。そのため、表示装置１００は、コントローラ２２０と、表示装置１００と、を含む画像を撮影するためのカメラのような外部機器を用いずに相対的位置を取得することができ、安価な構成で実施することができる。
【００６７】
以上に本発明の実施形態について説明したが、上記実施形態は一例であり、本発明の適用範囲はこれに限られない。即ち、本発明の実施形態は種々の応用が可能であり、あらゆる実施の形態が本発明の範囲に含まれる。
【００６８】
例えば、上記の実施形態において、表示装置１００が２つのマーカー５０１，５０２を有する例について説明したが、表示装置１００が備えるマーカーの数はこれに限られない。表示装置１００は１つのマーカーを有してもよいし、３つ以上のマーカーを有してもよい。
【００６９】
また、上記の実施形態において、コントローラ２２０が備えるカメラ２２２が、表示装置１００が有するマーカー５０１，５０２を認識することにより、コントローラ２２０が表示装置１００との相対的位置を特定し、表示装置１００に特定した相対的位置を送信する例を説明した。しかし、表示装置１００が相対的位置を取得する方法は、これに限られない。例えば、表示装置１００がマーカー５０１，５０２の代わりに、表示装置１００の電源状態を示すＬＥＤ（Light Emitting Diode）といった発光部を有してもよい。この場合、例えば、表示装置１００が所定のパターンで発光部を点滅、または発光部の色調を変化させることにより、コントローラ２２０は、カメラ２２２による撮像画像から発光部を認識し、発光部の位置に基づいて相対的位置を特定することができる。
【００７０】
また、上記の実施形態において、コントローラ２２０が、相対的位置を特定し、表示装置１００に特定した相対的位置を送信することにより、表示装置１００が相対的位置を取得する例について説明した。しかし、表示装置１００が相対的位置を取得する方法はこれに限られない。例えば、表示装置１００がカメラを有し、コントローラ２２０がマーカーを有する場合、コントローラ２２０のカメラ２２２の代わりに、表示装置１００のカメラがコントローラ２２０を撮影し、その撮像画像内のマーカーの位置から、表示装置１００が相対的位置を特定してもよい。すなわち、コントローラ２２０と、表示装置１００とのいずれか少なくとも一方が有するセンサが他方を検知することにより、コントローラ２２０と表示装置１００との相対的位置を取得することができる。
【００７１】
また、上記の実施形態において、コントローラ２２０のカメラ２２２により撮像された画像に基づいて、マーカー５０１，５０２を認識できない場合のように、コントローラ２２０のカメラ２２２が表示装置１００を検知できない場合、表示装置１００は、コントローラ２２０が有する姿勢センサにより検知される第１向きと、表示装置１００のセンサ部１０５が有する姿勢センサにより検知される第２向きと、の差分により推定された相対的位置を取得してもよい。例えば、図１２に示すように、時刻ｔａにおいて、コントローラ２２０の姿勢センサが、第１向きとしてコントローラ２２０の表示方向２０８ａを検知し、表示装置１００のセンサ部１０５が有する姿勢センサが表示方向２０５ａを検知したとする。このとき、コントローラ２２０は、検知された表示方向２０８ａを表示装置１００に送信することにより、表示装置１００は、受信した表示方向２０８ａと、検知された表示方向２０５ａとの差分により、相対的位置φを推定することができる。また逆に、表示装置１００が検知した表示方向２０５ａをコントローラ２２０に送信し、コントローラ２２０が、検知した表示方向２０８ａと、受信した表示方向２０５ａとの差分により、相対的位置φを推定してもよい。この場合、コントローラ２２０が推定した相対的位置φを表示装置１００に送信することにより、表示装置１００は、相対的位置φを取得することができる。
【００７２】
なお、本発明に係る機能を実現するための構成を予め備えた表示装置１００として提供できることはもとより、プログラムの適用により、既存のパーソナルコンピュータや情報端末機器等を、本発明に係る表示装置１００として機能させることもできる。即ち、上記実施形態で例示した表示装置１００による各機能構成を実現させるためのプログラムを、既存のパーソナルコンピュータや情報端末機器を制御するＣＰＵ等が実行できるように、既存のパーソナルコンピュータや情報端末機器に適用することで、そのパーソナルコンピュータや情報端末機器を本発明に係る表示装置１００として機能させることができる。また、本発明に係る表示方法は、表示装置１００を用いて実施できる。
【００７３】
また、このようなプログラムは、上記に限られず、任意の方法で適用可能である。プログラムを、例えば、コンピュータが読取可能な記録媒体［ＣＤ−ＲＯＭ（Compact Disc Read-Only Memory）、ＤＶＤ（Digital Versatile Disc）、ＭＯ（Magneto Optical disc）等］に格納して適用できる他、インターネット等のネットワーク上のストレージにプログラムを格納しておき、これをダウンロードさせることにより適用することもできる。
【００７４】
なお、本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、この発明を説明するためのものであり、本発明の範囲を限定するものではない。即ち、本発明の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、この発明の範囲内とみなされる。
【産業上の利用可能性】
【００７５】
本発明によれば、画像を表示する表示装置、表示方法、プログラム、ならびに、非一時的なコンピュータ読取可能な情報記録媒体を提供することができる。
【符号の説明】
【００７６】
１００（１００ａ，１００ｂ）  表示装置
１０１  制御部
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  ディスプレイ
１０５  センサ部
１０６  操作部
１０７  通信部
１０８  バス
１１１  受付部
１１２  観察位置更新部
１１３  検知部
１１４  観察方向更新部
１１５  取得部
１１６  基体方向更新部
１１７  生成部
１１８  表示部
１２１  状態情報記憶部
２０１  現実空間
２０２  ユーザ
２０３（２０３ａ，２０３ｂ）  ユーザの頭部
２０４（２０４ａ，２０４ｂ）  ユーザの胴部
２０５（２０５ａ，２０５ｂ）  表示装置の表示方向
２０６（２０６ａ，２０６ｂ）  正面方向
２０７（２０７ａ，２０７ｂ）  基準方向
２０８ａ  コントローラの表示方向
２１１  現実空間の方位
２２０  コントローラ
２２１  タッチパネル
２２２  カメラ
３０１  仮想空間
３０２（３０２ａ，３０２ｂ）  観察位置
３０３（３０３ａ，３０３ｂ）  観察方向
３０４（３０４ａ，３０４ｂ）  基体方向
３１１  仮想空間の方位
４０１（４０１ａ，４０１ｂ）  アバター
４０２（４０２ａ，４０２ｂ）  アバターの頭部
４０３（４０３ａ，４０３ｂ）  アバターの胴部
５０１，５０２  マーカー
６０１，６０２  画像
【図１】
2020026380.tif 000003
【図２】
2020026380.tif 000004
【図３Ａ】
2020026380.tif 000005
【図３Ｂ】
2020026380.tif 000006
【図４】
2020026380.tif 000007
【図５Ａ】
2020026380.tif 000008
【図５Ｂ】
2020026380.tif 000009
【図６】
2020026380.tif 000010
【図７】
2020026380.tif 000011
【図８】
2020026380.tif 000012
【図９Ａ】
2020026380.tif 000013
【図９Ｂ】
2020026380.tif 000014
【図１０Ａ】
2020026380.tif 000015
【図１０Ｂ】
2020026380.tif 000016
【図１１】
2020026380.tif 000017
【図１２】
2020026380.tif 000018
【国際調査報告】
2020026380.tif 000019
2020026380.tif 000020