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

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

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

特開2024-175532情報処理装置、情報処理装置の制御方法、表示装置、表示装置の制御方法、システム、プログラム
<>
  • 特開-情報処理装置、情報処理装置の制御方法、表示装置、表示装置の制御方法、システム、プログラム 図1
  • 特開-情報処理装置、情報処理装置の制御方法、表示装置、表示装置の制御方法、システム、プログラム 図2
  • 特開-情報処理装置、情報処理装置の制御方法、表示装置、表示装置の制御方法、システム、プログラム 図3
  • 特開-情報処理装置、情報処理装置の制御方法、表示装置、表示装置の制御方法、システム、プログラム 図4
  • 特開-情報処理装置、情報処理装置の制御方法、表示装置、表示装置の制御方法、システム、プログラム 図5
  • 特開-情報処理装置、情報処理装置の制御方法、表示装置、表示装置の制御方法、システム、プログラム 図6
  • 特開-情報処理装置、情報処理装置の制御方法、表示装置、表示装置の制御方法、システム、プログラム 図7
  • 特開-情報処理装置、情報処理装置の制御方法、表示装置、表示装置の制御方法、システム、プログラム 図8
  • 特開-情報処理装置、情報処理装置の制御方法、表示装置、表示装置の制御方法、システム、プログラム 図9
  • 特開-情報処理装置、情報処理装置の制御方法、表示装置、表示装置の制御方法、システム、プログラム 図10
  • 特開-情報処理装置、情報処理装置の制御方法、表示装置、表示装置の制御方法、システム、プログラム 図11
  • 特開-情報処理装置、情報処理装置の制御方法、表示装置、表示装置の制御方法、システム、プログラム 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024175532
(43)【公開日】2024-12-18
(54)【発明の名称】情報処理装置、情報処理装置の制御方法、表示装置、表示装置の制御方法、システム、プログラム
(51)【国際特許分類】
   G06F 3/01 20060101AFI20241211BHJP
   G09G 5/00 20060101ALI20241211BHJP
   G09G 5/38 20060101ALI20241211BHJP
【FI】
G06F3/01 510
G09G5/00 550C
G09G5/00 510A
G09G5/38 100
G09G5/00 510H
G09G5/00 510G
【審査請求】未請求
【請求項の数】24
【出願形態】OL
(21)【出願番号】P 2023093384
(22)【出願日】2023-06-06
(71)【出願人】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【弁理士】
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【弁理士】
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【弁理士】
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【弁理士】
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【弁理士】
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】上條 弘明
【テーマコード(参考)】
5C182
5E555
【Fターム(参考)】
5C182AB02
5C182AB08
5C182AB14
5C182AB25
5C182AB33
5C182BA01
5C182BA03
5C182BA04
5C182BA06
5C182BA14
5C182BA29
5C182BA39
5C182BA46
5C182BA47
5C182BC22
5C182BC25
5C182BC26
5C182CB42
5C182DA14
5C182DA44
5C182DA65
5E555AA64
5E555BA02
5E555BA04
5E555BA38
5E555BB38
5E555BC04
5E555CA04
5E555CA05
5E555CA10
5E555CA12
5E555CA15
5E555CA17
5E555CA41
5E555CA42
5E555CA44
5E555CA45
5E555CB21
5E555CB66
5E555DA08
5E555DA09
5E555FA00
(57)【要約】      (修正有)
【課題】ユーザが移動体に搭乗している場合、コントローラの慣性情報から移動体の動きとユーザ操作とを区別する装置を提供する。
【解決手段】表示装置HMD100は、コントローラ200の位置及び姿勢の少なくとも一方の変化量である第一の変化量を取得する取得手段(慣性計測部)と、表示装置の位置及び姿勢の少なくとも一方の変化量である第二の変化量を検出する加速度センサや角加速度センサといった慣性センサから構成される慣性計測装置(IMU;Inertial Measurement Unit))と、を有し、第一の変化量及び第二の変化量に基づく、位置及び姿勢の少なくとも一方の変化量である第三の変化量に基づいて、表示装置に仮想オブジェクトを表示する。
【選択図】図6
【特許請求の範囲】
【請求項1】
コントローラによって入力を受け付ける表示装置であって、
前記表示装置に仮想オブジェクトを表示する表示制御手段と、
前記コントローラの位置及び姿勢の少なくとも一方の変化量である第一の変化量を取得する取得手段と、
前記表示装置の位置及び姿勢の少なくとも一方の変化量である第二の変化量を検出する慣性センサと、を有し、
前記表示制御手段は、前記第一の変化量及び前記第二の変化量に基づく、位置及び姿勢の少なくとも一方の変化量である第三の変化量に基づいて、前記表示装置に前記仮想オブジェクトを表示する、
ことを特徴とする表示装置。
【請求項2】
前記第三の変化量は、前記コントローラと前記表示装置との相対的な変化量である、
ことを特徴とする請求項1に記載の表示装置。
【請求項3】
前記第三の変化量は、前記第一の変化量から前記第二の変化量を差し引いた変化量である、
ことを特徴とする請求項2に記載の表示装置。
【請求項4】
前記表示装置は、ユーザが乗っている移動体に固定されている、
ことを特徴とする請求項1乃至3のいずれか1項に記載の表示装置。
【請求項5】
撮像画像を取得する撮像手段と、
前記撮像画像に基づいて、前記表示装置の位置及び姿勢の少なくとも一方を推定する推定手段と、
前記推定手段の推定結果に基づいて、前記表示装置の位置及び姿勢の少なくとも一方の変化量である第四の変化量を取得する第四の取得手段と、をさらに有し、
前記表示制御手段は、前記第一の変化量、前記第二の変化量及び前記第四の変化量に基づく、前記第三の変化量に基づいて、前記表示装置に前記仮想オブジェクトを表示する、
ことを特徴とする請求項1に記載の表示装置。
【請求項6】
前記第三の変化量は、前記第一の変化量と前記第四の変化量とを足し合わせて、前記第二の変化量を差し引いて取得される変化量である、
ことを特徴とする請求項5に記載の表示装置。
【請求項7】
前記第三の変化量は、前記第二の変化量から前記第四の変化量を差し引いた変化量を、前記第一の変化量から差し引いて取得される変化量である、
ことを特徴とする請求項5に記載の表示装置。
【請求項8】
ユーザが移動体に乗って前記表示装置を使用する場合、
前記第三の変化量は、前記移動体と前記コントローラとの相対的な変化量である、
ことを特徴とする請求項5乃至7のいずれか1項に記載の表示装置。
【請求項9】
前記表示装置は、前記ユーザの頭部に装着される装置である、
ことを特徴とする請求項1乃至3、及び5乃至7のいずれか1項に記載の表示装置。
【請求項10】
前記表示制御手段は、前記第四の変化量に基づいて、前記表示装置に背景画像を表示する、
ことを特徴とする請求項5乃至7のいずれか1項に記載の表示装置。
【請求項11】
コントローラによって入力を受け付ける情報処理装置であって、
表示装置に仮想オブジェクトを表示する表示制御手段と、
前記コントローラの位置及び姿勢の少なくとも一方の変化量である第一の変化量を取得する第一の取得手段と、
前記表示装置の位置及び姿勢の少なくとも一方の変化量である第二の変化量を取得する第二の取得手段と、を有し、
前記表示制御手段は、前記第一の変化量及び前記第二の変化量に基づく、位置及び姿勢の少なくとも一方の変化量である第三の変化量に基づいて、前記表示装置に前記仮想オブジェクトを表示する、
ことを特徴とする情報処理装置。
【請求項12】
前記第三の変化量は、前記コントローラと前記表示装置との相対的な変化量である、
ことを特徴とする請求項11に記載の情報処理装置。
【請求項13】
前記第三の変化量は、前記第一の変化量から前記第二の変化量を差し引いた変化量である、
ことを特徴とする請求項12に記載の情報処理装置。
【請求項14】
前記表示装置から画像を取得する画像取得手段と、
前記画像に基づいて、前記表示装置の位置及び姿勢の少なくとも一方を推定する推定手段と、
前記推定手段の推定結果に基づいて、前記表示装置の位置及び姿勢の少なくとも一方の変化量である第四の変化量を取得する第四の取得手段と、をさらに有し、
前記表示制御手段は、前記第一の変化量、前記第二の変化量及び前記第四の変化量に基づく、位置及び姿勢の少なくとも一方の変化量である前記第三の変化量に基づいて、前記表示装置に前記仮想オブジェクトを表示する、
ことを特徴とする請求項11に記載の情報処理装置。
【請求項15】
前記第三の変化量は、前記第一の変化量と前記第四の変化量とを足し合わせて、前記第二の変化量を差し引いて取得される変化量である、
ことを特徴とする請求項14に記載の情報処理装置。
【請求項16】
前記第三の変化量は、前記第二の変化量から前記第四の変化量を差し引いた変化量を、前記第一の変化量から差し引いて取得される変化量である、
ことを特徴とする請求項14に記載の情報処理装置。
【請求項17】
ユーザが移動体に乗って前記表示装置を使用する場合、
前記第三の変化量は、前記移動体と前記コントローラとの相対的な変化量である、
ことを特徴とする請求項14乃至16のいずれか1項に記載の情報処理装置。
【請求項18】
前記表示制御手段は、前記第四の変化量に基づいて、前記表示装置に背景画像を表示する、
ことを特徴とする請求項14乃至16のいずれか1項に記載の情報処理装置。
【請求項19】
コントローラによって入力を受け付ける表示装置のシステムであって、
前記表示装置に仮想オブジェクトを表示する表示制御装置と、
前記コントローラの位置及び姿勢の少なくとも一方の変化量である第一の変化量を取得する取得装置と、
前記表示装置の位置及び姿勢の少なくとも一方の変化量である第二の変化量を検出する慣性センサと、を有し、
前記表示制御装置は、前記第一の変化量及び前記第二の変化量に基づく、位置及び姿勢の少なくとも一方の変化量である第三の変化量に基づいて、前記表示装置に前記仮想オブジェクトを表示する、
ことを特徴とする表示装置のシステム。
【請求項20】
コンピュータを請求項1又は5に記載の表示装置の各手段として機能させるためのプログラム。
【請求項21】
コントローラによって入力を受け付ける表示装置の制御方法であって、
前記表示装置に仮想オブジェクトを表示する表示制御ステップと、
前記コントローラの位置及び姿勢の少なくとも一方の変化量である第一の変化量を取得する取得ステップと、
前記表示装置の位置及び姿勢の少なくとも一方の変化量である第二の変化量を検出する検出ステップと、を有し、
前記表示制御ステップは、前記第一の変化量及び前記第二の変化量に基づく、位置及び姿勢の少なくとも一方の変化量である第三の変化量に基づいて、前記表示装置に前記仮想オブジェクトを表示する、
ことを特徴とする表示装置の制御方法。
【請求項22】
コントローラによって入力を受け付ける情報処理装置のシステムであって、
表示装置に仮想オブジェクトを表示する表示制御装置と、
前記コントローラの位置及び姿勢の少なくとも一方の変化量である第一の変化量を取得する第一の取得装置と、
前記表示装置の位置及び姿勢の少なくとも一方の変化量である第二の変化量を取得する第二の取得装置と、を有し、
前記表示制御装置は、前記第一の変化量及び前記第二の変化量に基づく、位置及び姿勢の少なくとも一方の変化量である第三の変化量に基づいて、前記表示装置に前記仮想オブジェクトを表示する、
ことを特徴とする情報処理装置のシステム。
【請求項23】
コンピュータを請求項11又は14に記載の情報処理装置の各手段として機能させるためのプログラム。
【請求項24】
コントローラによって入力を受け付ける情報処理装置の制御方法であって、
表示装置に仮想オブジェクトを表示する表示制御ステップと、
前記コントローラの位置及び姿勢の少なくとも一方の変化量である第一の変化量を取得する第一の取得ステップと、
前記表示装置の位置及び姿勢の少なくとも一方の変化量である第二の変化量を取得する第二の取得ステップと、を有し、
前記表示制御ステップは、前記第一の変化量及び前記第二の変化量に基づく、位置及び姿勢の少なくとも一方の変化量である第三の変化量に基づいて、前記表示装置に前記仮想オブジェクトを表示する、
ことを特徴とする情報処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、表示装置、情報処理装置に関するものである。
【背景技術】
【0002】
近年、HMD(Head Mounted Display)を利用して、現実空間とは異なる空間をユーザに感じさせるような、複合現実(Mixed Reality:MR)技術や仮想現実(Virtual Reality:VR)技術が知られている。このような技術において、ユーザがHMDを装着したまま、HMDに対する各種制御を行うことが検討されている。HMDは、HMDに内蔵している加速度センサや角速度センサの情報からHMDの位置や姿勢を取得して制御している。
【0003】
上述のようなHMDを、自動車などの乗物に搭乗して利用する場合、上述の加速度センサや角速度センサで得られる情報に、ユーザの動作だけでなく乗物の動作も含まれてしまう。そうすると、本来ユーザが見たい方向とは異なる映像が映像表示装置に表示されてしまうという問題が生じ得る。この問題を解消するために、特許文献1では、ユーザの身体に設置されたモーションセンサから取得したユーザの動作から、乗物に配置されたモーションセンサから取得した乗物の動作を減算して、HMDに表示する映像を決定する技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2019-049831号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上述の特許文献に開示された従来技術では、乗物に搭乗せずにHMDを使用する場合に必要のない、乗物に配置するためのモーションセンサを別途用意するという手間が生じる。そこで本発明は、ユーザが移動体に搭乗している場合であっても、上述のようなモーションセンサを別途用意することなく、移動体の動きとユーザ操作とを区別して操作が可能な表示装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明は上述した課題に鑑みてなされたものであり、表示装置から得られる慣性情報とコントローラから得られる慣性情報とに基づいて、コントローラを介した入力を受け付ける。
【発明の効果】
【0007】
本発明によれば、ユーザが移動体に搭乗している場合であっても、モーションセンサを別途用意することなく、移動体の動きとユーザ操作とを区別して操作が可能な表示装置を提供することができる。
【図面の簡単な説明】
【0008】
図1】第1の実施形態に係る情報処理システムを示す図である。
図2】第1の実施形態に係るHMDの構成の一例を説明する概略図である。
図3】第1の実施形態に係るコントローラの構成の一例を説明する概略図である。
図4】第1の実施形態に係るHMDを自動車の中で使用する例を説明する概略図である。
図5】第1の実施形態に係るコントローラの処理の手順を説明するフローチャート図である。
図6】第1の実施形態に係るHMDの処理の手順を説明するフローチャート図である。
図7】第1の実施形態に係るユーザ操作が発生しないシナリオを説明する図である。
図8】第1の実施形態に係るユーザ操作が発生するシナリオを説明する図である。
図9】第1の実施形態に係るユーザ操作が発生しないシナリオを説明する図である。
図10】第1の実施形態に係るユーザ操作が発生するシナリオを説明する図である。
図11】第2の実施形態に係るHMDの処理の手順を説明するフローチャート図である。
図12】第2の実施形態に係るユーザ操作が発生するシナリオを説明する図である。
【発明を実施するための形態】
【0009】
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0010】
(第1の実施形態)
図1を参照して、第1の実施形態に係る情報処理システム1について説明する。情報処理システム1は、HMD100、およびコントローラ200を有する。
【0011】
HMD100は、ユーザの頭部に装着される頭部装着型の表示装置(電子機器)である。HMD100には、HMD100がユーザの正面の範囲を撮像した撮像画像と、HMD100の姿勢に応じた形態のCG(コンピュータグラフィックス)などのコンテンツとが合成された合成画像が表示される。Bluetooth(登録商標)により、コントローラ200と接続され、コントローラ200による入力を受け付ける。
【0012】
コントローラ200は、HMD100の各種制御を行う。コントローラ200に対してユーザの操作が行われると、ユーザの操作に応じてHMD100が制御される。コントローラ200は、図1に示すように、ユーザの指に装着して支持可能な指輪型(リング型)の形状や手で保持する手持ち型の形状が考えられる。また、コントローラ200は、ディスプレイ表示上で決定操作や選択操作を行う物理的なボタンを有している。コントローラ200は、Bluetoothによる無線通信をHMD100と行う。なお、コントローラ200の形状は指輪型や手持ち型であるとしたが、指や手、又は腕で支持可能であれば、これに限定されるものではない。なお、ボタンは物理的なボタンであるとしたが、トラックパッド、タッチパネル、ホイール、トラックボールのように操作可能であればよい。
【0013】
なお、ここではHMD100とコントローラ200とで構成された情報処理システムとしたが、HMD100の各構成を、PC、スマートフォン、ゲーム機またはタブレット端末といった情報処理装置が有していてもよい。この場合、PCは、USBケーブル(登録商標)のような有線または、BluetoothやWi-Fi(Wireless Fidelity)(登録商標)のような無線によりHMD100と接続される。
【0014】
<HMDの内部構成>
図2を参照して、HMD100の内部構成を説明する。HMD100は、CPU101、RAM102、ROM103、システムバス104、GPU105、表示部106、通信部107、慣性計測部108、地磁気センサ109、撮像部110を有する。
【0015】
CPU101は、RAM102をワークメモリとして、ROM103に格納されたプログラムを実行し、システムバス104に接続された各構成を制御する。なお、CPU101が装置全体を制御する代わりに、複数のハードウェアが処理を分担することで、装置全体を制御してもよい。
【0016】
RAM102は、撮像部110で撮像された画像データを一時的に保持するバッファメモリや、表示部106の画像表示用メモリ、CPU101の作業領域等として使用される。
【0017】
ROM103は、電気的に消去・記録可能な不揮発性のメモリであり、CPU101で実行される後述のプログラム等が格納される。ROM103に格納されたプログラムには、後述するコントローラの慣性情報補正処理を実現するプログラムが含まれる。
【0018】
GPU105は、仮想空間上に仮想オブジェクト描画するグラフィックス処理装置である。CPU101は、GPU105で表示部106に表示する画像の表示制御を行う。
【0019】
表示部106は、描画されたグラフィックスの表示に利用される液晶パネルや有機ELパネルなどの出力機器である。ユーザがHMD100を装着している状態では、ユーザのそれぞれの眼の前に有機ELパネルが配される。
【0020】
通信部107は有線または無線通信機能を有し、コントローラ200の通信部205と通信し、データの送受信を行う。
【0021】
慣性計測部108は、HMD100の位置や姿勢を検出するためのセンサである。そして、慣性計測部108は、HMD100の位置や姿勢に対応するような、ユーザ(HMD100を装着したユーザ)の位置情報や姿勢情報を取得する。慣性計測部108は、加速度センサや、角加速度センサといった慣性センサから構成される慣性計測装置(IMU;Inertial Measurement Unit)を有する。慣性計測部108は、ユーザの位置情報や姿勢情報を取得する際に用いられ、CPU101はユーザの位置情報や姿勢情報を慣性計測部108から取得する。なお、慣性計測部108では姿勢情報のみ検出できてもよく、位置情報のみ検出できてもよく、姿勢情報と位置情報との両方が検出できてもよい。すなわち、姿勢情報および位置情報の少なくとも一方が検出できてもよい。
【0022】
地磁気センサ109は、HMD100の方角を検出するためのセンサである。CPU101はHMD100の方角の情報を地磁気センサ109から取得する。なお、地磁気センサ109は、慣性計測部108に含まれていてもよい。
【0023】
撮像部110は、HMD100の周辺環境を撮影するための装置である。撮像部110は、2台のカメラ(撮像装置)を含む。2台のカメラは、ユーザが通常時に見ている空間と同様の空間を映像や画像で撮影するために、HMD100の装着時のユーザの左右の眼の位置の近くに配置される。2台のカメラが撮影により被写体(ユーザの正面の範囲)を撮影した画像は、CPU101に出力される。また、撮像部110における2台のカメラは、ステレオカメラによる測距により、2台のカメラから被写体までの距離の情報を距離情報として取得できる。撮像部110からの画像をもとにCPU101がSLAM(Simultaneous Localization and Mapping)等の公知の技術によってHMD100の自己位置を推定する。HMD100の位置や姿勢の推定結果より、所定の時間のHMD100の変化量を算出する。なお、撮像部110は、映像を撮影して、出力していてもよい。なお、CPU101は、撮像部110からの映像から自己位置を推定するVisual SLAMの他、レーザーを使用したLiDAR SLAM(LiDAR;Light Detection And Ranging)によって自己位置を推定できてもよい。なお、ToFセンサ(ToF;Time of Flight)を使用したDepth SLAMによって自己位置を推定できてもよい。
【0024】
<コントローラの内部構成>
図3を参照して、コントローラ200の内部構成を説明する。
【0025】
コントローラ200は、CPU201、RAM202、ROM203、システムバス204、通信部205、慣性計測部206、地磁気センサ207を有する。
【0026】
CPU201はRAM202をワークメモリとして、ROM203に格納されたプログラムを実行し、システムバス204に接続された各構成を制御する。なお、CPU201が装置全体を制御する代わりに、複数のハードウェアが処理を分担することで、装置全体を制御してもよい。なお、CPU201がコントローラを制御する代わりに、CPU101がCPU201での処理を行ってもよい。
【0027】
RAM202は、慣性計測部206で検出された位置や姿勢に関するデータを一時的に保持するバッファメモリや、CPU201の作業領域等として使用される。
【0028】
ROM203は、電気的に消去・記録可能な不揮発性のメモリであり、CPU201で実行されるプログラム等が格納される。ROM203に格納されたプログラムには、後述するコントローラの姿勢、動き、方角をHMD100に送信する処理を実現するプログラムが含まれる。
【0029】
通信部205は有線または無線通信機能を有し、HMD100の通信部107と通信し、データの送受信を行う。
【0030】
慣性計測部206は、コントローラ200の位置や姿勢を検出するためのセンサである。そして、慣性計測部206は、コントローラ200の位置や姿勢に対応するような、ユーザ(コントローラ200を装着したユーザ)の手や指の位置情報や姿勢情報を取得する。慣性計測部206は、加速度センサや角加速度センサといった慣性センサから構成される慣性計測装置を有する。慣性計測部206は、ユーザの位置情報や姿勢情報を取得する際に用いられ、CPU201はユーザの位置情報や姿勢情報を慣性計測部206から取得する。なお、慣性計測部206では姿勢情報のみ検出できてもよく、位置情報のみ検出できてもよく、姿勢情報と位置情報との両方が検出できてもよい。すなわち、姿勢情報および位置情報の少なくとも一方が検出できてもよい。なお、慣性計測部206で検出されるユーザの位置情報や姿勢情報は、CPU101が取得していてもよい。
【0031】
地磁気センサ207は、コントローラ200の方角を検出するためのセンサである。CPU201はコントローラ200の方角を地磁気センサ207から取得する。
【0032】
<従来技術における操作例>
図4(a)、図4(b)を用いて、移動体である自動車に搭乗しているユーザがHMDを使用している場面を説明する。また、HMD100とコントローラ200との慣性情報に基づく従来の処理概要について説明する。
【0033】
図4(a)は、移動体の一例として自動車300に搭乗したユーザ600がHMD100を頭部に装着し、コントローラ200を指601に装着している場面を表す図である。また、自動車300は移動軌跡500に沿って移動した場合を想定しており、この移動の間、ユーザは自動車の中でHMD100とコントローラ200を静止した状態でユーザ操作を行わない場合を想定している。ここでは、角速度センサから取得される姿勢情報について説明し、加速度センサから取得される位置情報は省略する。また、ここでは簡易的に、Z軸を中心とした回転角度で変化量を示す。自動車301の時点では、ユーザ600の頭部に装着しているHMD100は慣性情報501に示されるような姿勢の変化が慣性計測部108で検出される。また、ユーザの指601に装着しているコントローラ200は慣性情報502に示されるような変化が慣性計測部206で検出される。すなわち、HMD100の慣性計測部108とコントローラ200の慣性計測部206では、自動車300から自動車301の姿勢の変化分が検出されている。
【0034】
図4(b)は、自動車300の時点でのHMD100の表示部106に表示されている仮想空間400の画面を表す図である。仮想空間400の画面は、HMD100の位置や姿勢に応じて、表示される画面が変化する。ここでは自動車に搭乗した状態で、金魚すくいのゲームを行う場面を想定している。また、コントローラ200の位置や姿勢に応じて、仮想空間400の仮想オブジェクトであるポイ401が表示される。ユーザは仮想空間でアバターが座った状態で金魚すくいをするゲームを想定し、アバターの位置は固定されており、ユーザは360度首を動かすことで金魚が泳ぐ水槽を眺める向きを変えることが出来る。この金魚すくいのゲームでは、ユーザが頭を動かすと、頭の位置および姿勢、すなわちHMD100の位置および姿勢に応じて、表示部106に表示される画面が変化する。ここでは、簡易的に、姿勢の変化によって画面が変わる場合を想定し、自動車の移動による自動車の位置の変化は考慮せず、自動車の移動によるユーザの姿勢の変化、すなわち自動車の移動によるユーザの向きの変化を考慮している。
【0035】
図4(a)で示されているように自動車300が90°右折し、自動車301の地点まで移動し、その移動中でユーザは全く動かなかったとする。自動車300に搭乗していなければ、ユーザは全く動かない場合、表示画面は変化しない。にもかかわらず、慣性計測部108で検出される慣性情報501に応じて、HMD100の表示部106に表示される画面が、頭を90°右に向けたときと同じように変化する。また、慣性計測部206で検出されたコントローラの慣性情報501に応じてHMD100で描画されている仮想空間400内のポイ401も90°右に移動することになる。すなわち、表示画面の背景映像が変更され、ポイ401の表示画面での位置は変化しない。この場合、ユーザは自動車の中で静止していたはずが、自動車の移動により、慣性情報が検出され、ユーザが動いたと見なされて画面や仮想オブジェクトが変化してしまう。
【0036】
以下、本発明の制御手段を例示する処理フローについて、図を参照しながら説明する。
【0037】
<コントローラのユーザ操作検出時の処理>
図5のフローチャート図を用いて、コントローラ200がユーザ操作検出時に行う処理について説明する。S500において、CPU201は、慣性計測部206からコントローラ200の慣性情報を検知したか、すなわちコントローラ200の位置や姿勢の変化が検出されたかを判定する。CPU201は、コントローラ200の慣性情報を検知した場合、S501に進む。CPU201は、コントローラ200の慣性情報を検知しなかった場合、S500の処理を繰り返す。
【0038】
S501において、CPU201は、慣性計測部206からコントローラ200の慣性情報を読み出す。
【0039】
S502において、CPU201は、コントローラ200の慣性情報を、通信部205を介してHMD100のCPU101へ送信する。なお、図5のフローチャートでは、CPU201による処理としたが、HMD100のCPU101がこのフローチャートに沿って処理を行ってもよい。
【0040】
<HMDのデータ受信時の処理>
図6のフローチャート図を用いて、HMD100がコントローラ200から慣性情報を受信して仮想オブジェクトを移動させる処理について説明する。
【0041】
S600において、CPU101は、ユーザの操作対象である仮想オブジェクトをGPU105で描画する制御を行い、S601に進む。
【0042】
S601において、CPU101は、ユーザの操作対象である仮想オブジェクトを表示部106で表示をする制御を行い、S602に進む。
【0043】
S602において、CPU101は、コントローラ200から慣性情報の受信を検知したことを判定する。CPU101は、コントローラ200から慣性情報の受信を検知した場合は、S603に進む。CPU101は、コントローラ200から慣性情報の受信を検知しない場合は、S602の処理を繰り返す。
【0044】
S603において、CPU101は、通信部107を介してコントローラ200の慣性情報を受信し、S604に進む。
【0045】
S604において、CPU101は、慣性計測部108からHMD100の慣性情報を読み出し、S605に進む。
【0046】
S605において、CPU101は、読み出したHMD100の慣性情報と受信したコントローラ200の慣性情報から移動体の移動量・回転量を算出する。ユーザに移動体に乗りながらHMD100を使用する場合、事前に頭をあまり振らないよう促すことで、HMD100の慣性情報を移動体の慣性情報とみなすことができる。なお、HMD100の慣性情報とコントローラ200の慣性情報との一致する成分の変化量を移動体の移動量・回転量としてもよい。
【0047】
S606において、CPU101は、コントローラ200の慣性情報から移動体の移動量・回転量を差し引いたユーザ操作によるコントローラの移動量・回転量を算出し、S607に進む。ここで、ユーザ操作によるコントローラの移動量・回転量とは、すなわちHMD100に対するコントローラ200の相対的な移動量・回転量にあたる。
【0048】
S607において、CPU101は、ユーザ操作によるコントローラの移動量・回転量に合わせて仮想オブジェクトの座標を移動させ、S600に進む。
【0049】
移動体の移動量・回転量の算出方法とコントローラの移動量・回転量の算出方法については、後述する。
【0050】
なお、図6のフローチャートにおいて、S604の処理の後、S606に進み、CPU101は、コントローラ200の慣性情報からHMD100の慣性情報を差し引いて、ユーザ操作によるコントローラの移動量・回転量を算出し、S607に進んでもよい。
【0051】
<移動体の回転量の算出方法とユーザ操作によるコントローラの回転量の算出方法>
図4(b)、図7(a)、図7(b)を用いて、HMDとコントローラとの慣性情報のうち、取得される角速度に基づいて、移動体の回転量を識別し、ユーザ操作によって加えられた操作量のみを抽出し、ユーザ操作として反映する例について説明する。ここでは、移動の間にユーザが動かない場合を想定する。ここでは、角速度センサから取得される姿勢情報について説明し、加速度センサから取得される位置情報は省略する。また、ここでは簡易的に、Z軸を中心とした回転角度で変化量を示す。
【0052】
図7(a)では、自動車300に搭乗したユーザ600がHMD100を頭部に装着し、コントローラ200を指601に装着している場面を表す図である。自動車300は移動軌跡500に沿って移動した場合を想定しており、この移動の間、ユーザは自動車の中でHMD100とコントローラ200を静止した状態でユーザ操作を行わない場合を想定している。自動車301の時点では、ユーザ600の頭部に装着しているHMD100は慣性情報511に示されるような姿勢の変化(θ2)が慣性計測部108で検出される。また、ユーザの指601に装着しているコントローラ200は慣性情報512に示されるような姿勢の変化(θ2)が慣性計測部206で検出される。すなわち、HMD100の慣性計測部108とコントローラ200の慣性計測部206では、自動車300から自動車301の姿勢の変化分(θ2)、すなわち自動車の向きの変化分(θ2)が検出されている。HMD100のCPU101は、コントローラ200の慣性情報512から、HMD100の慣性情報511を差し引くことで、ユーザの操作によるコントローラの回転量(θ1)を算出する。図7(a)では、ユーザ操作を行っていないため、ユーザ操作によるコントローラの回転量(θ1)は、0°である。
【0053】
図7(b)は、自動車301の時点でのHMD100の表示部106に表示されている仮想空間410の画面を表す図である。ユーザ操作を行っていないため、ユーザ操作によるコントローラの回転量(θ1)は、0°と算出されているため、図4(b)の表示画面から変化しない。
【0054】
図4(b)、図8(a)、図8(b)を用いて、HMDとコントローラとの慣性情報のうち、取得される角速度に基づいて、移動体の回転量を識別し、ユーザ操作によって加えられた操作量のみを抽出し、ユーザ操作として反映する例について説明する。ここでは、移動の間にユーザはHMD100を動かしておらず、コントローラ200のみを動かした場合を想定する。ここでは、角速度センサから取得される姿勢情報について説明し、加速度センサから取得される位置情報は省略する。また、ここでは簡易的に、Z軸を中心とした回転角度で変化量を示す。
【0055】
図8(a)では、自動車300に搭乗したユーザ600がHMD100を頭部に装着し、コントローラ200を指601に装着している場面を表す図である。また、自動車300は移動軌跡500に沿って移動した場合を想定している。この移動の間、ユーザは自動車の中でHMD100を動かしておらず、コントローラ200のみを動かした場合を想定している。コントローラ200はユーザの操作により姿勢が(θ1)だけ変化している。自動車301の時点では、ユーザ600の頭部に装着しているHMD100は慣性情報511に示されるような姿勢の変化(θ2)が慣性計測部108で検出される。また、ユーザの指601に装着しているコントローラ200は慣性情報512に示されるような姿勢の変化(θ1+θ2)が慣性計測部206で検出される。すなわち、HMD100の慣性計測部108とコントローラ200の慣性計測部206では、自動車300から自動車301の姿勢の変化分(θ2)、すなわち自動車の向きの変化分(θ2)が検出されている。HMD100のCPU101は、コントローラ200の慣性情報522(θ1+θ2)から、HMD100の慣性情報521(θ2)を差し引くことで、ユーザの操作によるコントローラの回転量(θ1)を算出する。
【0056】
図8(b)では、自動車301の時点でのHMD100の表示部106に表示されている仮想空間420の画面を表す図である。ユーザ操作を行ったため、ユーザ操作によるコントローラの回転量(θ1)に基づいて、図4(b)の表示画面から変化し、ポイ421は、コントローラの回転量523(θ1)だけ回転した状態でHMD100の表示部106に表示される。
【0057】
具体的に数値を当てはめると、自動車の向きの変化分(θ2=90°)の変化があり、ユーザはコントローラを回転量(θ1=45°)の分だけ動かしたとする。すると、HMD100の慣性計測部108では、(θ2=90°)、コントローラ200の慣性計測部206では、(θ1+θ2=135°)が検出される。HMD100のCPU101は、コントローラの回転量を差し引くことで、(θ1=45°)を算出するよう制御する。以上、前記説明した実施形態によって、ユーザが移動体に搭乗している場合であっても、コントローラの操作情報とHMDの操作情報とに基づいて、正確にユーザの操作を検出することを可能にしたHMDを提供することが可能である。
【0058】
なお、ここでは慣性計測部108と慣性計測部206とのそれぞれの慣性情報から回転量を算出したが、地磁気センサ109と地磁気センサ207とのそれぞれの地磁気情報から回転量を算出してもよい。
【0059】
<移動体の移動量の算出方法とユーザ操作によるコントローラの移動量の算出方法>
図9(a)、図9(b)を用いて、HMDとコントローラとの慣性情報のうち、取得される加速度に基づいて、移動体の移動量を識別し、ユーザ操作によって加えられた操作量のみを抽出し、ユーザ操作として反映する例について説明する。ここでは、移動の間にユーザが動かない場合を想定する。ここでは、加速度センサから取得される姿勢情報について説明し、角速度センサから取得される姿勢情報は省略する。また、ここでは簡易的に、X軸方向の位置の変化量を示す。
【0060】
図9(a)では、自動車300に搭乗したユーザ600がHMD100を頭部に装着し、コントローラ200を指601に装着している場面を表す図である。また、自動車300は移動軌跡530に沿って移動した場合を想定しており、この移動の間、ユーザは自動車の中でHMD100とコントローラ200を静止した状態でユーザ操作を行わない場合を想定している。自動車331の時点では、ユーザ600の頭部に装着しているHMD100は慣性情報531に示されるような位置の変化(Δ2)が慣性計測部108で検出される。また、ユーザの指601に装着しているコントローラ200は慣性情報532に示されるような位置の変化(Δ2)が慣性計測部206で検出される。すなわち、HMD100の慣性計測部108とコントローラ200の慣性計測部206では、自動車300から自動車331の位置の変化分(Δ2)が検出されている。HMD100のCPU101は、コントローラ200の慣性情報512から、HMD100の慣性情報511を差し引くことで、ユーザの操作によるコントローラの移動量(Δ1)、すなわち位置の変化量(Δ1)を算出する。図7(a)では、ユーザ操作を行っていないため、ユーザ操作によるコントローラの移動量(Δ1)は、0である。
【0061】
図9(b)は、自動車330の時点でのHMD100の表示部106に表示されている仮想空間430の画面を表す図である。仮想空間430の画面は、HMD100の位置や姿勢に応じて、表示される画面が変化する。ここでは自動車に搭乗した状態で、金魚すくいのゲームを行う場面を想定している。また、コントローラ200の位置や姿勢に応じて、仮想空間430の仮想オブジェクトであるポイ431が表示される。また、移動軌跡530に沿って移動した場合も、HMD100のCPU101で、ユーザ操作によるコントローラの移動量(Δ1)は、0であることが算出されるため、同じ画面が表示される。
【0062】
図9(b)、図10(a)、図10(b)を用いて、HMDとコントローラとの慣性情報のうち、取得される加速度に基づいて、移動体の移動量を識別し、ユーザ操作によって加えられた操作量のみを抽出し、ユーザ操作として反映する例について説明する。ここでは、移動の間にユーザはHMD100を動かしておらず、コントローラ200のみを動かした場合を想定する。ここでは、加速度センサから取得される姿勢情報について説明し、角速度センサから取得される姿勢情報は省略する。また、ここでは簡易的に、X軸方向の位置の変化量を示す。
【0063】
図10(a)では、自動車300に搭乗したユーザ600がHMD100を頭部に装着し、コントローラ200を指601に装着している場面を表す図である。また、自動車300は移動軌跡530に沿って移動した場合を想定している。この移動の間、ユーザは自動車の中でHMD100を動かしておらず、コントローラ200のみを動かした場合を想定している。コントローラ200はユーザの操作により位置が(Δ1)だけ変化している。自動車331の時点では、ユーザ600の頭部に装着しているHMD100は慣性情報541に示されるような位置の変化(Δ2)が慣性計測部108で検出される。また、ユーザの指601に装着しているコントローラ200は慣性情報542に示されるような位置の変化(Δ1+Δ2)が慣性計測部206で検出される。すなわち、HMD100の慣性計測部108とコントローラ200の慣性計測部206では、自動車300から自動車331の位置の変化分(Δ2)、すなわち自動車の移動の変化分(Δ2)が検出されている。HMD100のCPU101は、コントローラ200の慣性情報542(Δ1+Δ2)から、HMD100の慣性情報541(Δ2)を差し引くことで、ユーザの操作によるコントローラの移動量(Δ1)を算出する。
【0064】
図10(b)は、自動車331の時点でのHMD100の表示部106に表示されている仮想空間440の画面を表す図である。ユーザ操作を行ったため、ユーザ操作によるコントローラの移動量(Δ1)に基づいて、図9(b)の表示画面から変化し、ポイ441は、コントローラの移動量(Δ1)だけ移動した状態でHMD100の表示部106に表示される。以上、前記説明した実施形態によって、ユーザが移動体に搭乗している場合であっても、コントローラの慣性情報とHMDの慣性情報からユーザの移動操作を検出することを可能にしたHMDを提供することが可能である。
【0065】
なお、慣性計測部108や慣性計測部206で検出される加速度のままで差分をとってもよく、差分となる加速度を二回積分して移動量を算出してもよい。
【0066】
なお、第1の実施形態では、表示装置として、ユーザの頭部に装着するHMDとしたが、表示装置は、移動体に置かれている、または固定されているディスプレイを備えた装置であってもよい。この場合は、表示装置で取得される慣性情報が、移動体の慣性情報と一致すると見なし、コントローラから取得される慣性情報から、表示装置で取得される慣性情報を差し引くことで、ユーザ操作によるコントローラの移動量・回転量が算出できる。すなわち、移動体に対するコントローラ200の相対的な移動量・回転量が算出できる。
【0067】
(第2の実施形態)
第2の実施形態では、HMD100のCPU101は、SLAMといった技術によって、撮像部110の撮像画像に基づいて、HMD100の移動体の中での自己位置を推定する。第2の実施形態では、HMD100のCPU101は、移動体の中での自己位置を推定した結果、所定の時間の間に移動体の中で変化した位置や姿勢の変化量を算出できる。また、HMD100のCPU101は、HMD100の位置や姿勢の推定結果を用いて、仮想空間の背景画像の描画を行う。
【0068】
<HMDのデータ受信時の処理>
図11のフローチャート図を用いて、HMD100がコントローラ200から慣性情報を受信して仮想オブジェクトを移動させる処理について説明する。
【0069】
S600において、CPU101は、ユーザの操作対象である仮想オブジェクトをGPU105で描画する制御を行い、S601に進む。
【0070】
S601において、CPU101は、表示画面と、ユーザの操作対象である仮想オブジェクトとを、表示部106で表示をする制御を行い、S602に進む。
【0071】
S602において、CPU101は、コントローラ200から慣性情報の受信を検知したことを判定する。CPU101は、コントローラ200から慣性情報の受信を検知した場合は、S603に進む。CPU101は、コントローラ200から慣性情報の受信を検知しない場合は、S602の処理を繰り返す。
【0072】
S603において、CPU101は、通信部107を介してコントローラ200の慣性情報を受信し、S604に進む。
【0073】
S604において、CPU101は、慣性計測部108からHMD100の慣性情報を読み出し、S1105に進む。
【0074】
S1105において、CPU101は、撮像部110から画像取得を行った撮像画像に基づき、移動体の中での自己位置を推定する。HMD100の自己位置推定情報として、HMD100移動体の中での移動量および回転量を算出し、S1106に進む。
【0075】
S1106において、CPU101は、HMD100の慣性情報からHMD100の移動体の中での自己位置推定情報を差し引き、移動体の移動量および回転量を算出し、S1107に進む。
【0076】
S1107において、CPU101は、コントローラ200の慣性情報から移動体の移動量および回転量を差し引き、ユーザ操作によるコントローラ200の移動量および回転量を算出し、S1108に進む。ここで、ユーザ操作によるコントローラの移動量・回転量とは、すなわち移動体に対するコントローラ200の相対的な移動量・回転量にあたる。
【0077】
S1108において、CPU101は、HMD100の移動体の中での自己位置推定情報に基づいて、表示部106に表示する表示画面、すなわち背景画像をGPU105で描画する制御を行い、S1109に進む。
【0078】
S1109において、CPU101は、ユーザ操作によるコントローラ200の移動量および回転量に合わせて仮想オブジェクトの座標を移動させ、S600に進む。
【0079】
移動体の移動量および回転量の算出方法とユーザ操作によるコントローラ200の移動量および回転量の算出方法については、後述する。
【0080】
<移動体の回転量の算出方法とユーザ操作によるコントローラ200の回転量の算出方法>
図4(b)、図12(a)、図12(b)で、HMD100とコントローラ200とのそれぞれの角速度と、HMD100の移動体の中での自己位置推定情報とに基づいて、移動体の回転量を識別し、ユーザ操作による回転量のみを抽出して反映する例を説明する。ここでは、移動の間にユーザはHMD100とコントローラ200との両方を動かした場合を想定する。ここでは、角速度センサから取得される姿勢情報について説明し、加速度センサから取得される位置情報は省略する。また、ここでは簡易的に、Z軸を中心とした回転角度で変化量を示す。
【0081】
図12(a)では、自動車300に搭乗したユーザ600がHMD100を頭部に装着し、コントローラ200を指601に装着している場面を表す図である。また、自動車300は移動軌跡550に沿って移動した場合を想定している。この移動の間、ユーザは自動車の中でHMD100とコントローラ200との両方を動かした場合を想定している。コントローラ200はユーザの操作により姿勢が(θ3)だけ変化している。自動車351の時点では、姿勢の変化分(θ4)だけ姿勢が変化している。この時点で、ユーザ600の頭部に装着しているHMD100では自己位置推定情報として、姿勢の変化(θ5)がCPU101で算出される。ユーザ600の頭部に装着しているHMD100では慣性情報551に示されるような姿勢の変化(θ4+θ5)が慣性計測部108で検出される。また、ユーザの指601に装着しているコントローラ200では、慣性情報552に示されるような姿勢の変化(θ3+θ4)が慣性計測部206で検出される。
【0082】
HMD100のCPU101は、HMD100の慣性情報551(θ4+θ5)から、HMD100の移動体の中での自己位置推定情報に基づく姿勢の変化(θ5)を差し引くことで、移動体の回転量(θ4)を算出する。HMD100のCPU101は、コントローラ200の慣性情報552(θ3+θ4)から移動体の回転量(θ4)を差し引くことで、ユーザ操作による回転量(θ3)を算出する。なお、ここでは一度、移動体の回転量(θ4)を算出してからユーザ操作による回転量(θ3)を算出するとした。しかし、HMD100の移動体の中での自己位置推定情報に基づく姿勢の変化(θ5)と慣性情報552(θ3+θ4)とを足し合わせ、慣性情報551(θ4+θ5)を差し引いて、ユーザ操作による回転量(θ3)を一度に算出してもよい。
【0083】
図8(b)では、自動車351の時点でのHMD100の表示部106に表示されている仮想空間450の画面を表す図である。ユーザ操作を行ったため、ユーザ操作によるコントローラの回転量(θ3)に基づいて、図4(b)の表示画面から変化し、ポイ451は、コントローラの回転量(θ3)だけ回転した状態でHMD100の表示部106に表示される。また、HMD100の表示部106に表示される背景映像は、HMD100の移動体の中での自己位置推定情報に基づく姿勢の変化(θ5)だけ回転した状態でHMD100の表示部106に表示される。
【0084】
具体的に数値を当てはめると、自動車の向きの変化分(θ4=90°)の変化があり、ユーザはコントローラを回転量(θ3=45°)の分だけ動かしたとする。また、ユーザはHMD100を移動体の中で(θ5=45°)の分だけ動かしたとする。すると、HMD100の慣性計測部108では、(θ4+θ5=135°)、コントローラ200の慣性計測部206では、(θ3+θ4=135°)が検出される。HMD100のCPU101は、HMD100の慣性情報551(θ4+θ5=135°)から、HMD100の移動体の中での自己位置推定情報に基づく姿勢の変化(θ5=45°)を差し引くことで、移動体の回転量(θ4=45°)を算出する。HMD100のCPU101は、コントローラ200の慣性情報552(θ3+θ4=135°)から移動体の回転量(θ4=45°)を差し引くことで、ユーザ操作による回転量(θ3=45°)を算出する。以上、前記説明した実施形態によって、ユーザが移動体に搭乗している場合であっても、HMDの自己位置推定情報と、コントローラの慣性情報と、HMDの慣性情報から正確にユーザの操作を検出することを可能にしたHMDを提供することが可能である。
【0085】
(その他の実施形態)
なお、本発明は、以下の処理を実行することによっても実現される。即ち、上述の実施形態の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又は制御部やMPU等)がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【0086】
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。
【0087】
なお、上記の各実施形態(各変形例)の各機能部は、個別のハードウェアであってもよいし、そうでなくてもよい。2つ以上の機能部の機能が、共通のハードウェアによって実現されてもよい。1つの機能部の複数の機能のそれぞれが、個別のハードウェアによって実現されてもよい。1つの機能部の2つ以上の機能が、共通のハードウェアによって実現されてもよい。また、各機能部は、ASIC、FPGA、DSPなどのハードウェアによって実現されてもよいし、そうでなくてもよい。例えば、装置が、プロセッサと、制御プログラムが格納されたメモリ(記憶媒体)とを有していてもよい。そして、装置が有する少なくとも一部の機能部の機能が、プロセッサがメモリから制御プログラムを読み出して実行することにより実現されてもよい。
【0088】
[構成1]
コントローラによって入力を受け付ける表示装置であって、
前記表示装置に仮想オブジェクトを表示する表示制御手段と、
前記コントローラの位置及び姿勢の少なくとも一方の変化量である第一の変化量を取得する取得手段と、
前記表示装置の位置及び姿勢の少なくとも一方の変化量である第二の変化量を検出する慣性センサと、を有し、
前記表示制御手段は、前記第一の変化量及び前記第二の変化量に基づく、位置及び姿勢の少なくとも一方の変化量である第三の変化量に基づいて、前記表示装置に前記仮想オブジェクトを表示する、
ことを特徴とする表示装置。
【0089】
[構成2]
前記第三の変化量は、前記コントローラと前記表示装置との相対的な変化量である、
ことを特徴とする構成1に記載の表示装置。
【0090】
[構成3]
前記第三の変化量は、前記第一の変化量から前記第二の変化量を差し引いた変化量である、
ことを特徴とする構成1又は2に記載の表示装置。
【0091】
[構成4]
前記表示装置は、ユーザが乗っている移動体に固定されている、
ことを特徴とする構成1から3のいずれか1項に記載の表示装置。
【0092】
[構成5]
撮像画像を取得する撮像手段と、
前記撮像画像に基づいて、前記表示装置の位置及び姿勢の少なくとも一方を推定する推定手段と、
前記推定手段の推定結果に基づいて、前記表示装置の位置及び姿勢の少なくとも一方の変化量である第四の変化量を取得する第四の取得手段と、をさらに有し、
前記表示制御手段は、前記第一の変化量、前記第二の変化量及び前記第四の変化量に基づく、前記第三の変化量に基づいて、前記表示装置に前記仮想オブジェクトを表示する、
ことを特徴とする構成1に記載の表示装置。
【0093】
[構成6]
前記第三の変化量は、前記第一の変化量と前記第四の変化量とを足し合わせて、前記第二の変化量を差し引いて取得される変化量である、
ことを特徴とする構成5に記載の表示装置。
【0094】
[構成7]
前記第三の変化量は、前記第二の変化量から前記第四の変化量を差し引いた変化量を、前記第一の変化量から差し引いて取得される変化量である、
ことを特徴とする構成5に記載の表示装置。
【0095】
[構成8]
ユーザが移動体に乗って前記表示装置を使用する場合、
前記第三の変化量は、前記移動体と前記コントローラとの相対的な変化量である、
ことを特徴とする構成5から7のいずれか1項に記載の表示装置。
【0096】
[構成9]
前記表示装置は、前記ユーザの頭部に装着される装置である、
ことを特徴とする構成1から8のいずれか1項に記載の表示装置。
【0097】
[構成10]
前記表示制御手段は、前記第四の変化量に基づいて、前記表示装置に背景画像を表示する、
ことを特徴とする構成5から7のいずれか1項に記載の表示装置。
【0098】
[構成11]
コントローラによって入力を受け付ける情報処理装置であって、
表示装置に仮想オブジェクトを表示する表示制御手段と、
前記コントローラの位置及び姿勢の少なくとも一方の変化量である第一の変化量を取得する第一の取得手段と、
前記表示装置の位置及び姿勢の少なくとも一方の変化量である第二の変化量を取得する第二の取得手段と、を有し、
前記表示制御手段は、前記第一の変化量及び前記第二の変化量に基づく、位置及び姿勢の少なくとも一方の変化量である第三の変化量に基づいて、前記表示装置に前記仮想オブジェクトを表示する、
ことを特徴とする情報処理装置。
【0099】
[構成12]
前記第三の変化量は、前記コントローラと前記表示装置との相対的な変化量である、
ことを特徴とする構成11に記載の情報処理装置。
【0100】
[構成13]
前記第三の変化量は、前記第一の変化量から前記第二の変化量を差し引いた変化量である、
ことを特徴とする構成11又は12に記載の情報処理装置。
【0101】
[構成14]
前記表示装置から画像を取得する画像取得手段と、
前記画像に基づいて、前記表示装置の位置及び姿勢の少なくとも一方を推定する推定手段と、
前記推定手段の推定結果に基づいて、前記表示装置の位置及び姿勢の少なくとも一方の変化量である第四の変化量を取得する第四の取得手段と、をさらに有し、
前記表示制御手段は、前記第一の変化量、前記第二の変化量及び前記第四の変化量に基づく、位置及び姿勢の少なくとも一方の変化量である前記第三の変化量に基づいて、前記表示装置に前記仮想オブジェクトを表示する、
ことを特徴とする構成11に記載の情報処理装置。
【0102】
[構成15]
前記第三の変化量は、前記第一の変化量と前記第四の変化量とを足し合わせて、前記第二の変化量を差し引いて取得される変化量である、
ことを特徴とする構成14に記載の情報処理装置。
【0103】
[構成16]
前記第三の変化量は、前記第二の変化量から前記第四の変化量を差し引いた変化量を、前記第一の変化量から差し引いて取得される変化量である、
ことを特徴とする構成14に記載の情報処理装置。
【0104】
[構成17]
ユーザが移動体に乗って前記表示装置を使用する場合、
前記第三の変化量は、前記移動体と前記コントローラとの相対的な変化量である、
ことを特徴とする構成14から16のいずれか1項に記載の情報処理装置。
【0105】
[構成18]
前記表示制御手段は、前記第四の変化量に基づいて、前記表示装置に背景画像を表示する、
ことを特徴とする構成14から17のいずれか1項に記載の情報処理装置。
【0106】
[システム]
コントローラによって入力を受け付ける表示装置のシステムであって、
前記表示装置に仮想オブジェクトを表示する表示制御装置と、
前記コントローラの位置及び姿勢の少なくとも一方の変化量である第一の変化量を取得する取得装置と、
前記表示装置の位置及び姿勢の少なくとも一方の変化量である第二の変化量を検出する慣性センサと、を有し、
前記表示制御装置は、前記第一の変化量及び前記第二の変化量に基づく、位置及び姿勢の少なくとも一方の変化量である第三の変化量に基づいて、前記表示装置に前記仮想オブジェクトを表示する、
ことを特徴とする表示装置のシステム。
【0107】
[システム]
コントローラによって入力を受け付ける表示装置のシステムであって、
前記表示装置に仮想オブジェクトを表示する表示制御装置と、
前記コントローラの位置及び姿勢の少なくとも一方の変化量である第一の変化量を取得する取得装置と、
前記表示装置の位置及び姿勢の少なくとも一方の変化量である第二の変化量を検出する慣性センサと、
撮像画像を取得する撮像装置と、
前記撮像画像に基づいて、前記表示装置の位置及び姿勢の少なくとも一方を推定する推定装置と、
前記推定装置の推定結果に基づいて、前記表示装置の位置及び姿勢の少なくとも一方の変化量である第四の変化量を取得する第四の取得装置と、を有し、
前記表示制御装置は、前記第一の変化量、前記第二の変化量及び前記第四の変化量に基づく、前記第三の変化量に基づいて、前記表示装置に前記仮想オブジェクトを表示する、
ことを特徴とする表示装置のシステム。
【0108】
[プログラム]
コンピュータを構成1から10のいずれか1項に記載の表示装置の各手段として機能させるためのプログラム。
【0109】
[制御方法]
コントローラによって入力を受け付ける表示装置の制御方法であって、
前記表示装置に仮想オブジェクトを表示する表示制御ステップと、
前記コントローラの位置及び姿勢の少なくとも一方の変化量である第一の変化量を取得する取得ステップと、
前記表示装置の位置及び姿勢の少なくとも一方の変化量である第二の変化量を検出する検出ステップと、
撮像画像を取得する撮像ステップと、
前記撮像画像に基づいて、前記表示装置の位置及び姿勢の少なくとも一方を推定する推定ステップと、
前記推定ステップの推定結果に基づいて、前記表示装置の位置及び姿勢の少なくとも一方の変化量である第四の変化量を取得する第四の取得ステップと、を有し、
前記表示制御ステップは、前記第一の変化量、前記第二の変化量及び前記第四の変化量に基づく、前記第三の変化量に基づいて、前記表示装置に前記仮想オブジェクトを表示する、
ことを特徴とする表示装置の制御方法。
【0110】
[制御方法]
コントローラによって入力を受け付ける表示装置の制御方法であって、
前記表示装置に仮想オブジェクトを表示する表示制御ステップと、
前記コントローラの位置及び姿勢の少なくとも一方の変化量である第一の変化量を取得する取得ステップと、
前記表示装置の位置及び姿勢の少なくとも一方の変化量である第二の変化量を検出する検出ステップと、を有し、
前記表示制御ステップは、前記第一の変化量及び前記第二の変化量に基づく、位置及び姿勢の少なくとも一方の変化量である第三の変化量に基づいて、前記表示装置に前記仮想オブジェクトを表示する、
ことを特徴とする表示装置の制御方法。
【0111】
[システム]
コントローラによって入力を受け付ける情報処理装置のシステムであって、
表示装置に仮想オブジェクトを表示する表示制御装置と、
前記コントローラの位置及び姿勢の少なくとも一方の変化量である第一の変化量を取得する第一の取得装置と、
前記表示装置の位置及び姿勢の少なくとも一方の変化量である第二の変化量を取得する第二の取得装置と、を有し、
前記表示制御装置は、前記第一の変化量及び前記第二の変化量に基づく、位置及び姿勢の少なくとも一方の変化量である第三の変化量に基づいて、前記表示装置に前記仮想オブジェクトを表示する、
ことを特徴とする情報処理装置のシステム。
【0112】
[システム]
コントローラによって入力を受け付ける情報処理装置のシステムであって、
表示装置に仮想オブジェクトを表示する表示制御装置と、
前記コントローラの位置及び姿勢の少なくとも一方の変化量である第一の変化量を取得する第一の取得装置と、
前記表示装置の位置及び姿勢の少なくとも一方の変化量である第二の変化量を取得する第二の取得装置と、
前記表示装置から画像を取得する画像取得装置と、
前記画像に基づいて、前記表示装置の位置及び姿勢の少なくとも一方を推定する推定装置と、
前記推定装置の推定結果に基づいて、前記表示装置の位置及び姿勢の少なくとも一方の変化量である第四の変化量を取得する第四の取得装置と、を有し、
前記表示制御装置は、前記第一の変化量、前記第二の変化量及び前記第四の変化量に基づく、位置及び姿勢の少なくとも一方の変化量である前記第三の変化量に基づいて、前記表示装置に前記仮想オブジェクトを表示する、
ことを特徴とする情報処理装置のシステム。
【0113】
[プログラム]
コンピュータを構成11から18のいずれか1項に記載の情報処理装置の各手段として機能させるためのプログラム。
【0114】
[制御方法]
コントローラによって入力を受け付ける情報処理装置の制御方法であって、
表示装置に仮想オブジェクトを表示する表示制御ステップと、
前記コントローラの位置及び姿勢の少なくとも一方の変化量である第一の変化量を取得する第一の取得ステップと、
前記表示装置の位置及び姿勢の少なくとも一方の変化量である第二の変化量を取得する第二の取得ステップと、を有し、
前記表示制御ステップは、前記第一の変化量及び前記第二の変化量に基づく、位置及び姿勢の少なくとも一方の変化量である第三の変化量に基づいて、前記表示装置に前記仮想オブジェクトを表示する、
ことを特徴とする情報処理装置の制御方法。
【0115】
[制御方法]
コントローラによって入力を受け付ける情報処理装置の制御方法であって、
表示装置に仮想オブジェクトを表示する表示制御ステップと、
前記コントローラの位置及び姿勢の少なくとも一方の変化量である第一の変化量を取得する第一の取得ステップと、
前記表示装置の位置及び姿勢の少なくとも一方の変化量である第二の変化量を取得する第二の取得ステップと、
前記表示装置から画像を取得する画像取得ステップと、
前記画像に基づいて、前記表示装置の位置及び姿勢の少なくとも一方を推定する推定ステップと、
前記推定ステップの推定結果に基づいて、前記表示装置の位置及び姿勢の少なくとも一方の変化量である第四の変化量を取得する第四の取得ステップと、を有し、
前記表示制御ステップは、前記第一の変化量、前記第二の変化量及び前記第四の変化量に基づく、位置及び姿勢の少なくとも一方の変化量である前記第三の変化量に基づいて、前記表示装置に前記仮想オブジェクトを表示する、
ことを特徴とする情報処理装置の制御方法。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12