(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-14
(45)【発行日】2022-12-22
(54)【発明の名称】表示端末、表示制御システムおよび表示制御方法
(51)【国際特許分類】
G09G 5/00 20060101AFI20221215BHJP
G09G 5/377 20060101ALI20221215BHJP
G09G 5/08 20060101ALI20221215BHJP
G09G 5/36 20060101ALI20221215BHJP
G09G 5/02 20060101ALI20221215BHJP
G09G 5/22 20060101ALI20221215BHJP
G06F 3/01 20060101ALI20221215BHJP
【FI】
G09G5/00 530M
G09G5/00 550C
G09G5/36 520M
G09G5/00 510H
G09G5/08 D
G09G5/36 510V
G09G5/36 520P
G09G5/02 B
G09G5/00 510Q
G09G5/22 660Z
G09G5/00 510A
G06F3/01 510
(21)【出願番号】P 2020559642
(86)(22)【出願日】2018-12-13
(86)【国際出願番号】 JP2018045883
(87)【国際公開番号】W WO2020121483
(87)【国際公開日】2020-06-18
【審査請求日】2021-06-03
(73)【特許権者】
【識別番号】000005810
【氏名又は名称】マクセル株式会社
(74)【代理人】
【識別番号】110000442
【氏名又は名称】弁理士法人武和国際特許事務所
(72)【発明者】
【氏名】塩川 淳司
(72)【発明者】
【氏名】橋本 康宣
(72)【発明者】
【氏名】渡辺 光信
【審査官】橋本 直明
(56)【参考文献】
【文献】米国特許出願公開第2018/0046245(US,A1)
【文献】特開2013-196492(JP,A)
【文献】特開2018-132847(JP,A)
【文献】国際公開第2014/141504(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G09G 5/00
G09G 5/377
G09G 5/08
G09G 5/36
G09G 5/02
G09G 5/22
G06F 3/01
(57)【特許請求の範囲】
【請求項1】
ディスプレイを備える表示端末であって、
予め定めた撮影範囲のカラー画像を取得するカラー画像カメラと、
前記撮影範囲の距離画像を取得する距離画像カメラと、
仮想オブジェクトと、前記仮想オブジェクトに対する操作指示を受け付けるポイントである操作ポイントと、を前記ディスプレイに表示させる表示制御部と、を備え、
前記表示制御部は、
前記カラー画像と前記距離画像とを用いて前記撮影範囲内の構造物の3次元マップを生成する空間認識部と、
前記3次元マップと表示させる前記仮想オブジェクトの実空間上の配置位置データとに基づいて、視線方向に関して前記構造物の背後になる当該仮想オブジェクトの領域を背面領域として特定し、前記背面領域を表示させないように処理をした表示データを生成する表示データ生成部と、
前記表示データを補正して前記背面領域を前記ディスプレイに表示させる表示補正部と、を備え、
前記表示補正部により前記表示データを補正して前記背面領域および前記背面領域の操作ポイントを表示させる場合、前記構造物が
突き破られている様子または前記構造物に穴が開いた様子を示す付加オブジェクトを前記仮想オブジェクトの周囲に表示させること
を特徴とする表示端末。
【請求項2】
ディスプレイを備える表示端末であって、
予め定めた撮影範囲のカラー画像を取得するカラー画像カメラと、
前記撮影範囲の距離画像を取得する距離画像カメラと、
仮想オブジェクトと、前記仮想オブジェクトに対する操作指示を受け付けるポイントである操作ポイントと、を前記ディスプレイに表示させる表示制御部と、を備え、
前記表示制御部は、
前記カラー画像と前記距離画像とを用いて前記撮影範囲内の構造物の3次元マップを生成する空間認識部と、
前記3次元マップと表示させる前記仮想オブジェクトの実空間上の配置位置データとに基づいて、視線方向に関して前記構造物の背後になる当該仮想オブジェクトの領域を背面領域として特定し、前記背面領域を表示させないように処理をした表示データを生成する表示データ生成部と、
前記表示データを補正して前記背面領域を前記ディスプレイに表示させる表示補正部と、を備え、
前記表示補正部により前記表示データを補正して前記背面領域および前記背面領域の操作ポイントを表示させる場合、前記構造物が割れた状態または前記仮想オブジェクトが沈みこむことにより前記構造物が変化した状態を示す付加オブジェクトを前記仮想オブジェクトの周囲に表示させること
を特徴とする表示端末。
【請求項3】
請求項1
または請求項2に記載の表示端末であって、
前記表示制御部は、前記表示データ生成部により生成された前記表示データを用いて、
前記背面領域を表示させないようにして前記仮想オブジェクトを表示する場合、前記付加オブジェクトを表示しないこと
を特徴とする表示端末。
【請求項4】
請求項1
または請求項2に記載の表示端末であって、
前記表示制御部は、複数の付加オブジェクトを記憶する記憶部を備え、
前記空間認識部により認識した構造物の種類または材質に応じて、前記記憶部から抽出した付加オブジェクトを表示すること
を特徴とする表示端末。
【請求項5】
請求項1
または請求項2に記載の表示端末であって、
前記表示制御部は、前記撮影範囲内に、前記構造物よりも大きい第二の構造物が前記構造物の背後にある場合、前記第二の構造物のカラー画像を用いて前記付加オブジェクトを表示させること
を特徴とする表示端末。
【請求項6】
請求項1
または請求項2に記載の表示端末であって、
前記表示補正部は、前記仮想オブジェクトの表示方向の変化に追随して前記付加オブジェクトを変形して表示させること
を特徴とする表示端末。
【請求項7】
請求項1
または請求項2に記載の表示端末であって、
音声出力装置と、当該音声出力装置から音声を出力させる音声出力制御部と、をさらに備え、
前記音声出力制御部は、前記表示制御部が前記付加オブジェクトを表示させる際、予め定めた音声を、前記音声出力装置から出力させること
を特徴とする表示端末。
【請求項8】
請求項
7に記載の表示端末であって、
前記表示補正部は、前記音声を表す文字列をさらに表示させること
を特徴とする表示端末。
【請求項9】
請求項1
または請求項2に記載の表示端末であって、
前記表示制御部は、前記カラー画像カメラで取得した前記撮影範囲の前記カラー画像に前記仮想オブジェクトを重畳して表示させること
を特徴とする表示端末。
【請求項10】
請求項1から
9いずれか1項に記載の表示端末であって、
当該表示端末は、ヘッドマウントディスプレイであること
を特徴とする表示端末。
【請求項11】
請求項
1から9いずれか1項に記載の表示端末であって、
当該表示端末は、携帯型情報処理装置であること
を特徴とする表示端末。
【請求項12】
ディスプレイと、予め定めた撮影範囲のカラー画像を取得するカラー画像カメラと、前記撮影範囲の距離画像を取得する距離画像カメラと、を備える表示端末の前記ディスプレイに仮想オブジェクトを表示させる表示制御システムであって、
前記カラー画像と前記距離画像とを用いて前記撮影範囲内の構造物の3次元マップを生成する空間認識部と、
前記3次元マップと表示させる前記仮想オブジェクトの実空間上の配置位置データとに基づいて、視線方向に関して前記構造物の背後になる当該仮想オブジェクトの領域を背面領域として特定し、前記背面領域を表示させないように処理をした表示データを生成する表示データ生成部と、
前記表示データを補正して前記背面領域を前記ディスプレイに表示させる表示補正部と、を備え、
前記表示補正部により前記表示データを補正して前記背面領域および前記背面領域の操作ポイントを表示させる場合、前記構造物が
突き破られている様子または前記構造物に穴が開いた様子を示す付加オブジェクトを前記仮想オブジェクトの周囲に表示させ、
前記操作ポイントは、当該操作ポイントを介して前記仮想オブジェクトに対する操作指示を受け付けるポイントであること
を特徴とする表示制御システム。
【請求項13】
ディスプレイと、予め定めた撮影範囲のカラー画像を取得するカラー画像カメラと、前記撮影範囲の距離画像を取得する距離画像カメラと、を備える表示端末の前記ディスプレイに仮想オブジェクトを表示させる表示制御システムであって、
前記カラー画像と前記距離画像とを用いて前記撮影範囲内の構造物の3次元マップを生成する空間認識部と、
前記3次元マップと表示させる前記仮想オブジェクトの実空間上の配置位置データとに基づいて、視線方向に関して前記構造物の背後になる当該仮想オブジェクトの領域を背面領域として特定し、前記背面領域を表示させないように処理をした表示データを生成する表示データ生成部と、
前記表示データを補正して前記背面領域を前記ディスプレイに表示させる表示補正部と、を備え、
前記表示補正部により前記表示データを補正して前記背面領域および前記背面領域の操作ポイントを表示させる場合、前記構造物が割れた状態または前記仮想オブジェクトが沈みこむことにより前記構造物が変化した状態を示す付加オブジェクトを前記仮想オブジェクトの周囲に表示させ、
前記操作ポイントは、当該操作ポイントを介して前記仮想オブジェクトに対する操作指示を受け付けるポイントであること
を特徴とする表示制御システム。
【請求項14】
ディスプレイと、予め定めた撮影範囲のカラー画像を取得するカラー画像カメラと、前記撮影範囲の距離画像を取得する距離画像カメラと、を備える表示端末の前記ディスプレイに仮想オブジェクトを表示させる表示制御方法であって、
前記カラー画像と前記距離画像とを用いて予め作成された前記撮影範囲内の構造物の3次元マップと、表示させる前記仮想オブジェクトの実空間上の配置位置データとに基づいて、視線方向に関して前記構造物の背後になる当該仮想オブジェクトの領域を背面領域として特定し、前記背面領域を表示させないように処理をした表示データを生成し、
前記表示データを補正して前記背面領域および前記背面領域の操作ポイントを前記ディスプレイに表示させる場合、前記構造物が
突き破られている様子または前記構造物に穴が開いた様子を示す付加オブジェクトを前記仮想オブジェクトの周囲に表示させ、
前記操作ポイントは、当該操作ポイントを介して前記仮想オブジェクトに対する操作指示を受け付けるポイントであること
を特徴とする表示制御方法。
【請求項15】
ディスプレイと、予め定めた撮影範囲のカラー画像を取得するカラー画像カメラと、前記撮影範囲の距離画像を取得する距離画像カメラと、を備える表示端末の前記ディスプレイに仮想オブジェクトを表示させる表示制御方法であって、
前記カラー画像と前記距離画像とを用いて予め作成された前記撮影範囲内の構造物の3次元マップと、表示させる前記仮想オブジェクトの実空間上の配置位置データとに基づいて、視線方向に関して前記構造物の背後になる当該仮想オブジェクトの領域を背面領域として特定し、前記背面領域を表示させないように処理をした表示データを生成し、
前記表示データを補正して前記背面領域および前記背面領域の操作ポイントを前記ディスプレイに表示させる場合、前記構造物が割れた状態または前記仮想オブジェクトが沈みこむことにより前記構造物が変化した状態を示す付加オブジェクトを前記仮想オブジェクトの周囲に表示させ、
前記操作ポイントは、当該操作ポイントを介して前記仮想オブジェクトに対する操作指示を受け付けるポイントであること
を特徴とする表示制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、表示端末における仮想オブジェクトの表示技術に関する。
【背景技術】
【0002】
HMD(ヘッドマウントディスプレイ;Head Mounted Display)等の表示端末に表示する、現実空間の物体に対してコンピュータによる情報を付加する拡張現実(AR、Augmented Reality)画像の視認性を向上させる技術がある。
例えば、特許文献1には、「表示部に、透過して視認される外界に重ね合わせて所定の画像を表示させる重畳画像表示制御部と、前記透過して視認される外界のうちの所定範囲を少なくとも撮像する撮像部と、撮像部によって得られた撮像画像から、前記所定の画像と位置が対応する所定範囲の部分画像を特定する部分画像特定部と、前記特定された部分画像についての色情報に応じて、重畳画像表示制御部によって表示される所定の画像の見え方を補正する視認性補正部と、を備える(要約抜粋)」外界を透過視認可能な表示部を備えた頭部装着型表示装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
AR画像で表示される仮想オブジェクト等は、当該仮想オブジェクトの周囲に予め設定された操作ポイントに対して指示を行うことにより、移動、回転、変形等の操作を行う。しかしながら、仮想オブジェクトの表示位置によっては、当該仮想オブジェクトの一部が周囲の構造物の背後となり、陰面消去され、それに伴い、必要な操作ポイントが表示されないことがある。このため、必ずしも高い操作性が得られない。一方、仮想オブジェクトの操作後の配置位置によらず、そのまま仮想オブジェクトを表示させると、現実感が得られない。
【0005】
本発明は、上記事情に鑑みてなされたもので、仮想オブジェクトの表示位置によらず、現実感を保ちつつ、高い操作性を実現する仮想オブジェクト表示技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明は、ディスプレイを備える表示端末であって、予め定めた撮影範囲のカラー画像を取得するカラー画像カメラと、前記撮影範囲の距離画像を取得する距離画像カメラと、仮想オブジェクトと、前記仮想オブジェクトに対する操作指示を受け付けるポイントである操作ポイントと、を前記ディスプレイに表示させる表示制御部と、を備え、前記表示制御部は、前記カラー画像と前記距離画像とを用いて前記撮影範囲内の構造物の3次元マップを生成する空間認識部と、前記3次元マップと表示させる前記仮想オブジェクトの実空間上の配置位置データとに基づいて、視線方向に関して前記構造物の背後になる当該仮想オブジェクトの領域を背面領域として特定し、前記背面領域を表示させないように処理をした表示データを生成する表示データ生成部と、前記表示データを補正して前記背面領域を前記ディスプレイに表示させる表示補正部と、を備え、前記表示補正部により前記表示データを補正して前記背面領域および前記背面領域の操作ポイントを表示させる場合、前記構造物が突き破られている様子または前記構造物に穴が開いた様子を示す付加オブジェクトを前記仮想オブジェクトの周囲に表示させることを特徴とする。
【発明の効果】
【0007】
本発明によれば、仮想オブジェクトの表示位置によらず、現実感を保ちつつ、高い操作性を実現する仮想オブジェクト表示技術を提供できる。上記した以外の課題、構成および効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0008】
【
図1】(a)~(c)は、本発明の実施形態の仮想オブジェクト表示処理の概要を説明するための説明図である。
【
図2】(a)は、本発明の実施形態のHMDのハードウェア構成図であり、(b)は、本発明の実施形態のHMDの外観図である。
【
図3】本発明の実施形態のHMDのコントローラの機能ブロック図である。
【
図4】(a)および(b)は、本発明の実施形態の仮想オブジェクト表示処理の概要を説明するための説明図である。
【
図5】本発明の実施形態の仮想オブジェクト表示処理のフローチャートである。
【
図6】(a)および(b)は、本発明の実施形態のディスプレイ表示を説明するための説明図である。
【
図7】(a)~(c)は、本発明の実施形態の仮想オブジェクト表示の態様の一例を説明するための説明図である。
【
図8】(a)~(c)は、本発明の実施形態の仮想オブジェクト表示の態様の他の例を説明するための説明図である。
【
図9】(a)および(b)は、本発明の実施形態の仮想オブジェクト表示の態様の変形例1を説明するための説明図である。
【
図10】本発明の実施形態の仮想オブジェクト表示の態様の変形例2を説明するための説明図である。
【
図11】本発明の実施形態の仮想オブジェクト表示の態様の変形例3を説明するための説明図である。
【
図12】本発明の実施形態の仮想オブジェクト表示の態様の変形例4を説明するための説明図である。
【
図13】本発明の実施形態の仮想オブジェクト表示の態様の変形例5を説明するための説明図である。
【
図14】本発明の実施形態の仮想オブジェクト表示の態様の変形例6を説明するための説明図である。
【発明を実施するための形態】
【0009】
以下、本発明の実施の形態について、図面を用いて説明する。以下、本明細書において、同一機能を有するものは、特に断らない限り同一の符号を付し、繰り返しの説明は省略する。なお、本発明はここで説明する実施形態に限定されるものではない。
【0010】
本実施形態では、表示端末として、ユーザ(装着者)が頭部に装着して用いるHMD(ヘッドマウントディスプレイ;Head Mounted Display)であって、透過型ディスプレイを備え、外界と表示画像との両方を視認可能な透過型(シースルー型)のHMDを例にあげて説明する。
【0011】
まず、本実施形態の概要を、
図1(a)から
図1(c)を用いて説明する。本実施形態では、
図1(a)に示すように、ユーザ201が、室内でHMD200を装着し、仮想オブジェクト100をHMD200のディスプレイに表示させて、操作する。
【0012】
HMD200は、実空間および仮想オブジェクト100の、距離情報(奥行情報)を持つ。従来は、HMD200のディスプレイには、
図1(b)に示すように、実空間の壁等の構造物300より奥に配置される仮想オブジェクト100の部分は、表示されない。従って、このような場合、ユーザ201は、仮想オブジェクト100の全容を把握することができない。
【0013】
また、一般に、仮想オブジェクト100は、仮想オブジェクト100上または周囲近傍に設定される操作ポイント(トランスフォームコントローラ)110を操作することにより、移動、回転、変形等の操作を行う。従って、
図1(b)のように表示された場合、構造物300の背後の部分の操作ポイント110は表示されないため、操作ができない。
【0014】
本実施形態では、これを解決するため、
図1(c)に示すように、構造物300があったとしても、仮想オブジェクト100は、全ての操作ポイント110を表示させる。また、仮想オブジェクト100自体もその全体を表示させてもよい。また、このとき、本来は、表示されない部分まで表示されていることがわかるよう、付加オブジェクト400を表示してもよい。
【0015】
以下、このような表示制御を実現する本実施形態のHMD200について説明する。
【0016】
[ハードウェア構成図]
図2(a)は、HMD200のハードウェア構成図である。また、
図2(b)は、本実施形態のHMD200の外観図である。
【0017】
本実施形態のHMD200は、基本的に汎用のコンピュータ(情報処理装置)と同様の構成を有する。すなわち、HMD200は、本図に示すように、コントローラ210と、カメラ214と、ディスプレイ215と、音声インタフェース(I/F)216と、通信I/F217と、センサ218と、各部を電気的に接続するバス219と、視線検出装置214cと、を備える。さらに、本実施形態のHMD200は、各部を支え、ユーザ201が装着するためのフレーム241を備える。
【0018】
コントローラ210は、予め定めたプログラムに従って、各種の処理を行う。本実施形態では、コントローラ210は、例えば、ディスプレイ215の所定の位置に、仮想オブジェクト100を表示させる。
【0019】
本実施形態のコントローラ210は、CPU211と、RAM212と、ROM213と、を備える。CPU211は、予めROM213に格納されたプログラムを、RAM212にロードして実行することにより、各種の機能を実現する。なお、RAM212およびROM213は、特に区別する必要がない場合は、両者を合わせて記憶装置230(
図3参照)と呼ぶ。なお、コントローラ210は、例えば、フレーム241上に配置される。
【0020】
カメラ214は、カラー画像カメラ214aと、距離画像カメラ214bと、を備える。カラー画像カメラ214aは、ユーザ201の視野範囲を含む撮影範囲を撮影し、カラー画像を取得する。また、距離画像カメラ214bは、カラー画像カメラ214aと略同範囲の撮影範囲の距離画像を取得する。カメラ214(カラー画像カメラ214aおよび距離画像カメラ214b)は、例えば、フレーム241の最前部(最もディスプレイ215側)の、上記撮影範囲を撮影可能な位置に配置される。
【0021】
ディスプレイ215は、カメラ214で取得した画像、HMD200内で生成された表示データが表示されるデバイスである。ディスプレイ215は、例えば、透過型の液晶デバイスや有機ELデバイス、あるいはMEMS(micro electro mechanical systems)を用いた光走査型のデバイス等で構成される。しかしながら、デバイスはこれに限定されず、ディスプレイ215上に映像を表示しつつ、ディスプレイ215の向こう側が透けて見える透過型ディスプレイ構造を実現可能なデバイスであればよい。
【0022】
本実施形態のHMD200では、透過型のディスプレイ215が、ユーザ201の片眼または両眼の前で支持される。なお、ディスプレイ215は、任意の形状をとることができる。ディスプレイ215は、右および左の表示パネルを備えてもよい、また、ディスプレイ215には、グラフィカルユーザI/Fの1つまたは複数のUIオブジェクトが表示されてもよい。
【0023】
音声I/F216は、例えば、マイク、スピーカ、ブザー等の音声出力装置である。音声I/F216は、外界の音の入力と、HMD200内で作成した音や通信I/F217を介して送られてくる音声や音楽等の音の出力とを行う。本実施形態では、音声I/F216は、備えなくてもよい。
【0024】
通信I/F217は、符号回路や復号回路、アンテナ等を備え、ネットワークを介して、他装置とのデータの送受信(データ通信)を行う。本実施形態では、通信I/F217は、図示を省略したアクセスポイント等を介して、または、図示を省略した移動体電話通信網の基地局等を介して、ネットワークと接続するI/Fである。通信I/F217を介して、HMD200は、ネットワークに接続された各サーバとのデータ送受信を行う。
【0025】
HMD200と前記アクセスポイントとの接続は、例えば、Wi-Fi(登録商標)等の無線通信方式やその他の通信方式により行われる。HMD200と前記移動体電話通信網の基地局との接続は、例えば、W-CDMA(登録商標)(Wideband Code Division Multiple Access)方式やGSM(登録商標)(Global System for Mobile communications)方式、LTE(Long Term Evolution)方式、或いはその他の通信方式によって行われる。なお、本実施形態のHMD200は、通信I/F217を備えなくてもよい。
【0026】
センサ218は、HMD200の現在位置、傾き、速度、ユーザ201による操作等を検出する。HMD200は、センサ218として、例えば、GPS受信機218a等の位置情報取得センサ、ジャイロセンサ218b、加速度センサ218c、地磁気センサ218d、タッチセンサ218e等を備える。なお、センサ218は、全てを備えなくてもよい。
【0027】
視線検出装置214cは、ユーザ201の視線方向を検出する。視線検出装置214cは、例えば、ユーザ201の視線方向を検出する視線検出カメラ等で実現される。視線検出カメラは、ユーザ201の眼の虹彩、瞳孔等を撮影範囲に含むよう取り付けられる。
【0028】
フレーム241は、ディスプレイ215、カメラ214、コントローラ210等のHMD200の構成品を支持する。
【0029】
[機能ブロック]
次に、本実施形態のコントローラ210が実現する、仮想オブジェクト表示に関連する機能を説明する。
図3は、本実施形態のHMD200の、仮想オブジェクト表示処理に関連する機能の機能ブロック図である。本図に示すように、本実施形態のコントローラ210は、画像取得部228と、表示制御部220と、音声出力制御部229と、の機能を実現する。また、表示制御部220は、空間認識部221と、指示受付部222と、表示データ生成部223と、表示補正部224と、を備える。
【0030】
各機能は、CPU211がROM213に格納されたプログラムを、RAM212にロードして実行することにより実現される。
【0031】
また、記憶装置230には、カラー画像データ231と、距離画像データ232と、空間認識データ233と、仮想オブジェクトデータ(仮想OJTデータ)234と、付加オブジェクトデータ(付加OJTデータ)235と、音声データ236と、が記憶される。
【0032】
カラー画像データ231は、カラー画像カメラ214aで取得した画像である。距離画像データ232は、距離画像カメラ214bで取得した画像である。
【0033】
画像取得部228は、カラー画像カメラ214aおよび距離画像カメラ214bでそれぞれ取得したカラー画像および距離画像を、カラー画像データ231および距離画像データ232として、記憶装置230に記憶する。本実施形態では、カラー画像および距離画像は、略同期して取得される。
【0034】
空間認識部221は、周囲の実空間を認識し、その結果を、空間認識データ233として、記憶装置230に記憶する。認識は、略同時に取得したカラー画像データ231および距離画像データ232を用いて行う。
【0035】
空間認識部221は、ユーザ201のスキャン動作に従って、所定の時間間隔で、各画像データから、撮影範囲にある構造物300の3次元データ(3次元マップ)である空間認識データ233を生成し、記憶装置230に記憶する。周囲のスキャンは、例えば、起動直後に、初期設定として、ユーザ201が行う。
【0036】
空間認識データ233は、例えば、3次元空間全体を定義するワールド座標系で作成される。一例として、このワールド座標系の原点および各軸方向として、空間認識開始の指示を受け付けた際の、HMD200本体の位置および向き(初期姿勢)で特定される、HMD200のローカル座標系の原点および各軸方向を用いる。この座標系では、例えば、HMD200本体の初期姿勢において、HMD200のディスプレイ215上の所定位置を原点として、ディスプレイ215内をxy平面として、z軸方向は、xy平面(ディスプレイ215面)に垂直な方向とする。
【0037】
なお、ユーザ201のスキャン動作によるHMD200のローカル座標系の、ワールド座標系に対する変位量および回転量は、各種センサ218により得られるデータを用いて算出される。
【0038】
なお、空間認識は、例えば、既存のSpatial Mapping等の技術を用いて行う。すなわち、本実施形態のHMD200は、カラー画像カメラ214aおよび距離画像カメラ214bにより周囲をスキャンする。そして、その結果を用いて、空間認識部221が、Spatial Mapping等のアプリケーションを用いて3次元データを生成する。空間認識データ233は、例えば、メッシュデータとして保持される。
【0039】
また、このとき、3次元データだけでなく、構造物300の種類を認識するSpatial Understandingも同時に行うよう構成してもよい。空間認識部221は、Spatial Understandingにより、撮影範囲内の構造物300の材質、種類を認識できる。すなわち、構造物300が、例えば、「壁」、「床」、「天井」のいずれであるか等を認識することができる。本実施形態の空間認識部221は、空間認識データ233の属性データとして、これらの認識結果を記憶装置230に格納する。
【0040】
指示受付部222は、ユーザ201から、ディスプレイ215に表示される仮想オブジェクト100に対する表示指示および操作指示を受け付ける。表示指示および操作指示は、例えば、視線(ゲイズ)によるもの、手指の動き(ジェスチャ)によるものなどがある。
【0041】
ゲイズに用いられる視線方向の情報は、例えば、視線検出装置214cを用いて検出される。
【0042】
ジェスチャには、例えば、仮想オブジェクト100の操作ポイント110に対するクリックイベント(エアタップ)、タップアンドホールド、ブルーム等がある。指示受付部222は、カラー画像カメラ214aおよび距離画像カメラ214bの撮影範囲内に設けられたジェスチャフレーム内での手指の動きを検出し、表示指示、操作指示等を検出する。
【0043】
例えば、表示指示を受け付けた場合、指示受付部222は、仮想オブジェクトデータ234から指示された仮想オブジェクト100のデータを抽出し、後述の表示データ生成部223に表示データを生成させる。
【0044】
また、操作指示を受け付けた場合、指示受付部222は、当該操作を検出し、後述の表示データ生成部223に通知する。
【0045】
表示データ生成部223は、指示受付部222を介したユーザ201の指示に従って、仮想オブジェクトデータ234から、指示された仮想オブジェクト100をディスプレイ215の所定の位置に所定の形状で表示させる表示データを生成する。指示受付部222の指示に従って生成された表示データをディスプレイ215に表示することにより、仮想オブジェクト100は、ユーザ201の指示に従って、移動し、回転し、変形するよう表示される。
【0046】
このとき、表示データ生成部223は、ユーザ201の視線方向(ユーザ201が装着しているHMD200の空間上の座標位置、上下左右の向きの情報から算出)で、構造物300の背後になる仮想オブジェクト100の領域を背面領域101として特定した表示データを生成する。背面領域101(
図4)は、空間認識部221が生成した3次元マップ(空間認識データ233)と表示させる仮想オブジェクト100の実空間上の配置位置データとに基づいて特定される。なお、実空間上の配置位置データは、上記空間認識部221が空間認識に用いる座標系と同じ座標系で登録される。
【0047】
なお、仮想オブジェクト100の実空間上の配置位置データは、表示させる仮想オブジェクト100の、仮想オブジェクトデータ234から得る。仮想オブジェクトデータ234は、各仮想オブジェクト100の、サイズ、形状、初期の配置位置情報を含む。初期の配置位置情報は、例えば、各仮想オブジェクト100に予め設定された配置位置ポイント、操作ポイント110等について、登録される。配置位置ポイントは、例えば、仮想オブジェクト100の3次元の重心位置等である。また、操作ポイント110は、上述のように、仮想オブジェクト100の表示形状変形の指示を受け付けるポイントである。
【0048】
表示データ生成部223は、指示受付部222の指示を現在の配置位置情報に反映することにより、表示させる仮想オブジェクト100に対応した仮想オブジェクトデータ234の、最新の配置位置情報を得る。そして、表示データ生成部223は、配置位置ポイントの最新の配置位置情報と、サイズ、形状等の情報を用いて、仮想オブジェクト100の実空間上の配置位置データを得る。
【0049】
表示データ生成部223は、さらに、その最新の実空間上の配置位置データを用いて、表示させる仮想オブジェクト100の背面領域101を特定する。例えば、表示データ生成部223は、仮想オブジェクト100の実空間上の配置位置データに基づいて、仮想オブジェクト100の、ユーザ201が装着しているHMD200の空間上の座標位置、上下左右の向きの情報から算出される仮想オブジェクトまでの距離、仮想オブジェクト100の形状データ、構造物300の座標位置から奥行情報として特定する。
【0050】
そして、奥行情報のうち、構造物300の奥行情報より相対的に奥に位置する仮想オブジェクト100の領域(部分)および操作ポイント110を、背面領域101とする。
【0051】
なお、背面領域101は、通常の処理では、陰面処理を行う領域である。例えば、
図4(a)に示すように、仮想オブジェクト100の一部が壁、家具等の構造物300の奥に配置される場合、従来、表示データ生成部223は、仮想オブジェクト100のこの背面領域101に対し、陰面処理を施し、表示させないよう表示データを生成する。
【0052】
しかしながら、本実施形態では、よりユーザフレンドリな表示を目指すため、表示補正部224が、このような場合であっても、
図4(b)に示すように、仮想オブジェクト100の全体および付随する操作ポイント110を表示させるよう表示を補正する。このような処理を、表示補正部224が行う。
【0053】
表示補正部224は、表示する仮想オブジェクトデータ234に背面領域101がある場合、当該仮想オブジェクトデータ234の表示データを補正する。
【0054】
具体的には、表示補正部224は、背面領域101に対する陰面処理をキャンセルする。そして、背面領域101も、構造物300が存在しないかのように表示されるよう表示データを補正する。すなわち、表示補正部224は、仮想オブジェクトデータ234の一部の領域が、構造物300よりも奥の場合であっても、当該領域も表示されるよう、表示データを補正する。
【0055】
さらに、表示補正部224は、このとき、仮想オブジェクト100が本来の表示態様ではないことを示すため、付加オブジェクト400を表示させる。付加オブジェクト400は、例えば、仮想オブジェクト100が、構造物300を突き破っている様子、構造物300に穴をあけた様子を表す等、仮想オブジェクト100の表示を、より自然に、現実感があるよう見せるためのオブジェクトである。
【0056】
表示させる付加オブジェクト400のデータは、記憶装置230の付加オブジェクトデータ235として予め用意される。付加オブジェクトデータ235は、付加オブジェクト400の表示態様、初期サイズ、仮想オブジェクト100の表示位置に対する初期表示位置等の情報が対応づけて登録される。
【0057】
なお、表示補正部224は、ユーザ201の操作により仮想オブジェクト100の、ユーザ201の視線方向に対する表示方向が変化した場合、それに追随して、付加オブジェクト400の表示形状を変形してもよい。さらに、ユーザ201の視線方向の移動により仮想オブジェクト100の表示方向が変化した場合も、同様に、付加オブジェクト400の表示形状を変形してもよい。付加オブジェクト400の変形は、例えば、視線方向の変化に伴う仮想オブジェクト100の表示を変形する処理に用いるプログラムと同じプログラムに従って行う。
【0058】
次に、本実施形態のコントローラ210による、仮想オブジェクト100の表示処理の流れを説明する。
図5は、本実施形態の仮想オブジェクト表示処理の処理フローである。なお、空間認識処理は、初期処理として既に行われているものとする。また、仮想オブジェクト100は、全体が表示される位置に表示されているものとする。
【0059】
ユーザ201から指示受付部222を介して、終了指示を受け付けるまで、表示データ生成部223および表示補正部224は、以下の処理を繰り返す(ステップS1101)。
【0060】
ユーザ201から指示受付部222を介して、仮想オブジェクト100に対する移動操作を受け付けると(ステップS1102)、表示データ生成部223は、表示データを生成する(ステップS1103)。
【0061】
ステップS1103では、表示データ生成部223は、まず、当該仮想オブジェクト100のディスプレイ215上の表示位置を算出する。そして、表示データ生成部223は、視線方向を特定し、仮想オブジェクト100の対応する仮想オブジェクトデータ234に従って、奥行情報を算出する。また、構造物300の奥行情報も算出する。そして、表示データ生成部223は、表示データ上の背面領域101を特定する。
【0062】
次に、表示データ生成部223は、表示する仮想オブジェクト100に背面領域101があるか否かを判別する(ステップS1104)。
【0063】
背面領域101が無い場合(S1104;No)、表示データ生成部223は、その旨、表示補正部224に通知する。そして、表示補正部224は、そのまま、ディスプレイ215の、ステップS1103で算出した位置に、当該仮想オブジェクト100の表示データを表示する(ステップS1112)。そしてコントローラ210は、次の操作指示を待つ。
【0064】
背面領域101が有る場合(S1104;Yes)、表示データ生成部223は、仮想オブジェクト100の全体が背面領域101であるか否かを判別する(ステップS1105)。
【0065】
全体が背面領域101であれば(S1105;Yes)、表示データ生成部223は、その旨、表示補正部224に通知する。そして、表示補正部224は、そのまま、当該仮想オブジェクト100の表示を消去し(ステップS1111)、処理を終了する。
【0066】
一方、全体が背面領域101でない場合(S1105;No)、すなわち、仮想オブジェクト100の一部に背面領域101が有る場合、表示データ生成部223は、その旨、表示補正部224に通知する。そして、表示補正部224は、上述の手法で仮想オブジェクト100の表示データを補正する(ステップS1106)。ここでは、表示補正部224は、仮想オブジェクト100の全ての操作ポイント110および当該操作ポイント110により操作する仮想オブジェクト100の部分を表示させるよう表示データを補正する。そして、表示補正部224は、補正後の表示データを、ディスプレイ215のステップS1103で算出した位置に表示する(ステップS1107)。
【0067】
その後、表示補正部224は、記憶装置230から付加オブジェクトデータ235を取得し、仮想オブジェクト100の背面領域101に重畳して表示する(ステップS1108)。そして、コントローラ210は、次の操作指示を待つ。
【0068】
以上の処理を、具体例で説明する。なお、ディスプレイ215には、
図6(a)に示すように、ディスプレイ215で規定される枠内215aに、仮想オブジェクト100および付加オブジェクト400が表示される。ここで、構造物300は、実空間の実オブジェクトである。以下の表示態様の説明では、ディスプレイ215の枠は省略し、
図6(b)に示すように、ディスプレイ215を通して見える実オブジェクトと、仮想オブジェクト100等の表示データと、のみを記載し、説明する。
【0069】
例えば、
図7(a)に示す位置に、仮想オブジェクト100が表示されているものとする。これに対し、ユーザ201が、実空間で、その手指202により、矢印203の方向に、押すように操作指示(ジェスチャ)を行う。これを続けることにより、仮想オブジェクト100の、実空間の実オブジェクトである構造物300に対する表示位置は移動する。
【0070】
本実施形態によれば、
図7(b)に示すように、仮想オブジェクト100の一部の領域の表示位置が、構造物300より奥になっても、仮想オブジェクト100は、その操作ポイント110とともに、全体が表示される。また、このとき、あたかも構造物300である壁に、穴があいたかのように、付加オブジェクト400が表示される。
【0071】
さらに、このとき、
図7(c)に示すように、音声出力制御部229が、音声出力を行うよう構成してもよい。表示補正部224は、付加オブジェクト400を表示させる場合、音声出力制御部229にその旨通知する。音声出力制御部229は、表示補正部224より通知を受けると、音声データ236から音声を抽出し、音声I/F216から出力する。
【0072】
なお、音声データ236は、構造物300の材質に対応づけて、異なるデータを登録しておいてもよい。構造物300の材質は、例えば、上述の空間認識部221によるSpatial Understandingにより認識する。
【0073】
さらに、このとき、出力される音声データ236を文字列で表す擬音語を表示させてもよい。例えば、
図7(c)に示す「バリッ」等である。この場合、記憶装置230に、音声データ236に対応づけて、当該音声データ236を文字列で表す擬音語データ237を予め登録しておく。そして、表示補正部224は、出力される音声データ236に対応づけて登録される擬音語データ237を、付加オブジェクト400近傍に表示させるよう表示データを生成する。
【0074】
なお、吹き出しをさらに表示し、擬音語データ237を、その吹き出しの中に表示させてもよい。また、音声データ236の出力無しに、擬音語データ237のみを表示させてもよい。
【0075】
また、表示補正部224は、仮想オブジェクト100が、構造物300にめり込むほどに、付加オブジェクト400の形状を、追随させて変化させる。例えば、
図8(a)に示すように、仮想オブジェクト100が、水平方向の幅の大きさが異なる2つの直方体を組み合わせた形状を有する場合を例にあげて説明する。ここでは、仮想オブジェクト100は、矢印203の方向に、水平方向の幅が小さい直方体の方から構造物300に押し込まれるものとする。
【0076】
この場合、表示補正部224は、
図8(b)に示すように、仮想オブジェクト100の、水平方向の幅に応じて付加オブジェクト400の大きさを加工して表示させる。具体的には、
図8(a)のように、水平方向の幅が小さい直方体の領域が構造物300に仮想的にめり込んでいる場合は、小さいサイズで付加オブジェクト400を表示させる。一方、水平方向の幅が、
図8(a)の場合より大きい領域が構造物300に仮想的にめりこんでいる場合は、
図8(b)に示すように、
図8(a)よりも大きいサイズの付加オブジェクト400を表示させる。
【0077】
また、ユーザ201の立ち位置の変化により、視線方向が変化する。例えば、
図8(c)に示すように、ユーザ201が、構造物300である壁に対向した場合、仮想オブジェクト100のワールド座標系における表示位置が同じであっても、
図8(a)や
図8(b)の場合とは、仮想オブジェクト100の表示態様が変化する。これに伴い、仮想オブジェクト100の表示形状も変化する。
【0078】
この場合も、表示補正部224は、
図8(c)に示すように、仮想オブジェクト100の表示形状の変化に追随し、付加オブジェクト400の表示形状を変化させて表示させてもよい。
【0079】
以上説明したように、本実施形態のHMD200は、予め定めた撮影範囲のカラー画像を取得するカラー画像カメラ214aと、略同じ撮影範囲の距離画像を取得する距離画像カメラ214bと、ディスプレイ215と、仮想オブジェクト100をディスプレイ215に表示させる表示制御部220と、を備える。そして、表示制御部220は、カラー画像と距離画像とを用いて撮影範囲内の構造物300の3次元マップを生成する空間認識部221と、3次元マップと表示させる仮想オブジェクト100の実空間上の配置位置データとに基づいて、視線方向に関して構造物300の背後になる仮想オブジェクト100の領域を背面領域101として特定した表示データを生成する表示データ生成部223と、表示データを補正してディスプレイ215に表示させる表示補正部224と、を備える。また、表示補正部224は、背面領域101の操作ポイント110を表示させるよう表示データを補正する。そして、操作ポイント110は、当該操作ポイント110を介して仮想オブジェクト100に対する操作指示を受け付けるポイントである。
【0080】
このように、本実施形態によれば、本来ならば表示されない、構造物300の背後になる、仮想オブジェクト100の背面領域101の操作ポイント110も表示される。従って、ユーザ201の操作により、仮想オブジェクト100が移動したとしても、移動後の仮想オブジェクト100に対して操作を行うことができる。
【0081】
また、表示補正部224は、背面領域101の操作ポイント110を表示させる際、当該背面領域101も表示させるとともに、仮想オブジェクト100の周囲に付加オブジェクト400を表示させる。このため、本実施形態によれば、仮想オブジェクト100のディスプレイ215上の表示位置によらず、自然な見え方を犠牲にせず、現実感を保ちながら、高い操作性を実現できる。
【0082】
[変形例1]
なお、一部に背面領域101のある仮想オブジェクト100の表示は、上記に限定されない。例えば、表示補正部224は、仮想オブジェクト100を、背面領域101と、それ以外の領域(以下、前面領域と呼ぶ。)102と、を区別可能なように表示してもよい。
【0083】
例えば、
図9(a)に示すように、表示補正部224は、背面領域101と前面領域102との間にライン121が表示されるよう表示データを補正する。また、
図9(b)に示すように、表示補正部224は、背面領域101が、本来の仮想オブジェクト100の表面とは異なる表面態様122で表示されるよう、表示データを補正する。
図9(a)および
図9(b)の補正態様は、組み合わせてもよい。
【0084】
[変形例2]
また、付加オブジェクト400は、強調表示されてもよい。強調表示される付加オブジェクト400の一例を
図10に示す。付加オブジェクト400の強調表示態様は、予め付加オブジェクトデータ235に登録しておいてもよい。また、各種の画像加工ソフトウェアを用いて、表示補正部224が登録されている付加オブジェクト400を強調表示態様に加工し、表示させてもよい。
【0085】
付加オブジェクト400を、強調表示することにより、仮想オブジェクト100が、本来の表示態様とは異なることを、ユーザ201は、把握し易い。すなわち、ユーザ201は、本来であれば、見えない領域まで表示されていることを、ユーザ201は、より直感的に把握することができる。
【0086】
[変形例3]
また、付加オブジェクトデータ235として、仮想オブジェクト100が押し込まれる構造物300の材質および/または種類に応じて異なるテクスチャのものが用意されていてもよい。この場合、表示補正部224は、空間認識部221による空間認識データ233を参照し、構造物300の材質および/または種類を特定する。そして、表示補正部224は、特定した材質および/または種類に応じたテクスチャの付加オブジェクトデータ235を抽出し、付加オブジェクト400として表示させる。
【0087】
例えば、構造物300が、壁等の硬い材質である場合、
図10に示すような、壁が割れたような状態を表す付加オブジェクト400が、付加オブジェクトデータ235として用意される。一方、構造物300が、クッション等の柔らかい素材である場合、
図11に示すように、仮想オブジェクト100が構造物300に沈み込むような状態を表す付加オブジェクト402が用意され、表示される。
【0088】
さらに、このとき、強調表示の態様も、構造物300の材質および/または種類、あるいは、付加オブジェクト400のテクスチャに応じて変更するよう構成してもよい。
【0089】
[変形例4]
また、表示補正部224は、付加オブジェクト400として、カラー画像データ231の一部を切り取って用いてもよい。特に、
図12に示すように、仮想オブジェクト100が押し込まれる構造物300の、さらに背後の構造物301と同じテクスチャの画像を用いてもよい。この場合、表示補正部224は、付加オブジェクト400の配置位置に応じて、空間認識データ233を用いて、付加オブジェクトデータ235を加工する。そして、表示補正部224は、加工後の付加オブジェクトデータ235を配置する。
【0090】
このように、付加オブジェクト400として、背景画像と同じテクスチャのデータを用いることにより、ユーザ201は、本実施形態の仮想オブジェクト100の表示態様を、より自然に受け止めることができる。
【0091】
[変形例5]
なお、上記実施形態では、仮想オブジェクト100が、全てが背面領域101になるような位置に移動操作された場合、仮想オブジェクト100の表示を消去するよう構成しているが、これに限定されない。全体が背面領域101となる場合であっても、仮想オブジェクト100および/または操作ポイント110を表示させてもよい。
【0092】
例えば、
図13に示すように、表示補正部224は、算出された位置に仮想オブジェクト100が表示されるよう表示データを補正する。さらに、表示補正部224は、手前に、付加オブジェクトとして、操作用のミニチュア仮想オブジェクト401を表示させてもよい。この場合、表示補正部224は、仮想オブジェクト100からミニチュア仮想オブジェクト401を生成し、表示させる。
【0093】
これにより、たとえ仮想オブジェクト100の全体が、構造物300よりも奥行方向奥に配置された場合であっても、ユーザ201は、現実感を保ちつつ、操作を行うことができる。
【0094】
[変形例6]
また、ディスプレイ215は、非透過型であってもよい。この場合、
図14に示すように、表示補正部224は、カラー画像カメラ214aで取得したカラー画像(スルー画像500)に、仮想オブジェクト100および付加オブジェクト400を重畳表示させる。
【0095】
この場合、例えば、表示端末は、透過型ディスプレイを備えるHMD200に限定されない。例えは、非透過型ディスプレイを備えるHMD、携帯端末等の可搬型または携帯型情報処理装置であってもよい。
【0096】
[変形例7]
また、操作指示の入力は、視線、ジェスチャだけに限定されない。音声、モーションコントローラ等を用いてもよい。
【0097】
[変形例8]
なお、上記実施形態では、仮想オブジェクト100の全ての操作ポイント110が表示されるよう、表示補正部224は、仮想オブジェクト100の表示を補正しているが、これに限定されない。表示する操作ポイント110は、背面領域101の一部の操作ポイント110であってもよい。すなわち、背面領域101の、少なくとも1つの操作ポイント110が表示されてもよい。
【0098】
また、仮想オブジェクト100の形状についても同様で、必ずしも全体を表示させる必要はない。背面領域101の一部の領域を表示させてもよい。
【0099】
なお、本発明は上記した実施形態および変形例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施形態および変形例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態または変形例の構成の一部を他の実施形態や変形例の構成に置き換えることが可能である。また、ある実施形態または変形例の構成に他の実施形態または変形例の構成を加えることも可能である。さらに、各実施形態または変形例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0100】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ部や、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
【0101】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【0102】
100:仮想オブジェクト、101:背面領域、102:前面領域、110:操作ポイント、121:ライン、122:表面態様、
200:HMD、201:ユーザ、202:手指、203:矢印、210:コントローラ、211:CPU、212:RAM、213:ROM、214:カメラ、214a:カラー画像カメラ、214b:距離画像カメラ、214c:視線検出装置、215:ディスプレイ、215a:枠内、216:音声I/F、217:通信I/F、218:センサ、218a:GPS受信機、218b:ジャイロセンサ、218c:加速度センサ、218d:地磁気センサ、218e:タッチセンサ、219:バス、
220:表示制御部、221:空間認識部、222:指示受付部、223:表示データ生成部、224:表示補正部、228:画像取得部、229:音声出力制御部、
230:記憶装置、231:カラー画像データ、232:距離画像データ、233:空間認識データ、234:仮想オブジェクトデータ、235:付加オブジェクトデータ、236:音声データ、237:擬音語データ、
241:フレーム、
300:構造物、301:構造物、400:付加オブジェクト、401:ミニチュア仮想オブジェクト、402:付加オブジェクト、500:スルー画像