(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025142672
(43)【公開日】2025-10-01
(54)【発明の名称】情報処理装置、情報処理方法、プログラム
(51)【国際特許分類】
G06T 19/00 20110101AFI20250924BHJP
G06F 3/01 20060101ALI20250924BHJP
G06F 3/04815 20220101ALI20250924BHJP
【FI】
G06T19/00 600
G06F3/01 510
G06F3/04815
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2024042166
(22)【出願日】2024-03-18
(71)【出願人】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110002860
【氏名又は名称】弁理士法人秀和特許事務所
(72)【発明者】
【氏名】▲高▼柳 渉
【テーマコード(参考)】
5B050
5E555
【Fターム(参考)】
5B050AA00
5B050BA04
5B050BA06
5B050BA09
5B050BA13
5B050CA01
5B050DA01
5B050EA19
5B050EA26
5B050FA02
5B050FA05
5E555AA27
5E555AA62
5E555AA74
5E555BA01
5E555BA38
5E555BB01
5E555BC04
5E555BE17
5E555CA42
5E555CB21
5E555CB23
5E555CB66
5E555CC01
5E555DA08
5E555DA09
5E555DB56
5E555DB57
5E555DC09
5E555DC35
5E555DC84
5E555DD07
5E555EA08
5E555EA11
5E555EA22
5E555FA00
(57)【要約】
【課題】MR技術において、衝突の危険をユーザに適切に通知可能な技術を提供する。
【解決手段】情報処理装置は、第1のオブジェクトおよび第2のオブジェクトを含む現実空間を撮像した撮像画像を取得する取得手段と、仮想物体を生成する生成手段と、前記撮像画像と前記仮想物体とを合成して、合成画像を生成する合成手段と、前記合成画像を表示するように表示手段を制御する表示制御手段と、前記合成画像が表す空間において前記第2のオブジェクトの手前に前記仮想物体が重畳する第1の場合には、 前記第1のオブ
ジェクトと前記第2のオブジェクトとの間の距離に応じた通知をユーザに行う通知手段と、を有する。
【選択図】
図6
【特許請求の範囲】
【請求項1】
第1のオブジェクトおよび第2のオブジェクトを含む現実空間を撮像した撮像画像を取得する取得手段と、
仮想物体を生成する生成手段と、
前記撮像画像と前記仮想物体とを合成して、合成画像を生成する合成手段と、
前記合成画像を表示するように表示手段を制御する表示制御手段と、
前記合成画像が表す空間において前記第2のオブジェクトの手前に前記仮想物体が重畳する第1の場合には、前記第1のオブジェクトと前記第2のオブジェクトとの間の距離に応じた通知をユーザに行う通知手段と、
を有することを特徴とする情報処理装置。
【請求項2】
前記第2のオブジェクトは、前記現実空間における複数のオブジェクトのうち、前記第1のオブジェクトの背後に位置し、かつ、前記第1のオブジェクトに最も近いオブジェクトである、
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記通知手段は、前記第1の場合には、前記第1のオブジェクトと前記第2のオブジェクトとの間の距離に応じて、前記第1のオブジェクトの表示の強調を制御することによって、前記通知を行う、
ことを特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
前記通知手段は、前記第1の場合には、前記第1のオブジェクトと前記第2のオブジェクトとの間の距離が短いほど、前記第1のオブジェクトの表示を強調する、
ことを特徴とする請求項3に記載の情報処理装置。
【請求項5】
前記通知手段は、前記第1の場合には、前記第1のオブジェクトと前記第2のオブジェクトとの間の距離に応じて、第1の装置の振動強度を制御することによって、前記通知を行う、
ことを特徴とする請求項1または2に記載の情報処理装置。
【請求項6】
前記通知手段は、前記第1の場合には、前記第1のオブジェクトと前記第2のオブジェクトとの間の距離に応じて、第2の装置から発せられる警告音の音量を制御することによって、前記通知を行う、
ことを特徴とする請求項1または2に記載の情報処理装置。
【請求項7】
前記通知手段は、前記第1の場合には、前記第1のオブジェクトと前記第2のオブジェクトとの間の距離に応じて、前記仮想物体の透過度を制御することによって、前記通知を行う、
ことを特徴とする請求項1または2に記載の情報処理装置。
【請求項8】
前記第1のオブジェクトは、体の一部である、
ことを特徴とする請求項1または2に記載の情報処理装置。
【請求項9】
前記第1のオブジェクトは、手である、
ことを特徴とする請求項8に記載の情報処理装置。
【請求項10】
前記第1のオブジェクトは、操作部材の一部である、
ことを特徴とする請求項1または2に記載の情報処理装置。
【請求項11】
前記通知手段は、前記第1の場合において、
前記合成画像が表す空間において前記第1のオブジェクトが前記仮想物体の手前に重畳する第2の場合には、前記第1のオブジェクトと前記第2のオブジェクトとの間の距離に応じて、前記第1のオブジェクトの表示の強調を制御することによって、前記通知を行い、
前記合成画像が表す空間において前記仮想物体が前記第1のオブジェクトの手前に重畳する第3の場合には、前記第1のオブジェクトの表示の強調を制御する以外の方法により、前記第1のオブジェクトと前記第2のオブジェクトとの間の距離に応じた通知をユーザに行う、
ことを特徴とする請求項1または2に記載の情報処理装置。
【請求項12】
前記通知手段は、前記第3の場合には、前記第1のオブジェクトと前記第2のオブジェクトとの間の距離に応じて、第1の装置の振動強度、第2の装置から発せられる警告音の音量、または、前記仮想物体の透過度を制御する、
ことを特徴とする請求項11に記載の情報処理装置。
【請求項13】
第1のオブジェクトおよび第2のオブジェクトを含む現実空間を撮像した撮像画像を取得する取得ステップと、
仮想物体を生成する生成ステップと、
前記撮像画像と前記仮想物体とを合成して、合成画像を生成する合成ステップと、
前記合成画像を表示するように表示手段を制御する表示制御ステップと、
前記合成画像が表す空間において前記第2のオブジェクトの手前に前記仮想物体が重畳する第1の場合には、前記第1のオブジェクトと前記第2のオブジェクトとの間の距離に応じた通知をユーザに行う通知ステップと、
を有することを特徴とする情報処理方法。
【請求項14】
コンピュータを、請求項1または2に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、プログラムに関する。
【背景技術】
【0002】
MRシステムにおいて、ユーザの実物の手の画像を使って、CGオブジェクトと手の前後関係をオクルージョンで表現するハンドマスキング技術がある。ハンドマスキング技術を用いることで、ユーザは、仮想のCGオブジェクトとユーザの手の前後関係を把握することができる。そして、ユーザは、CGオブジェクトがあたかも実在するオブジェクトのように感じられる。
【0003】
特許文献1では、ハンドマスクに関する技術が記載されている。特許文献2では、HMD(ヘッドマウントディスプレイ)がCGの背後に近づいた場合に、CGを透過度を変更する技術が記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2002-157606号公報
【特許文献2】特開2020-536305号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ハンドマスキング技術では、仮想のCGオブジェクトとHMDとの間にユーザの実物の手が位置する場合には、手の形にCGオブジェクトのマスキングが行われて、実物の手がユーザから見える。このことで、ユーザは、CGオブジェクトよりも手が前側にあるように見える。また、実物の手が仮想のCGオブジェクトよりも背後にある場合には、実物の手が仮想のCGオブジェクトによって隠される。このことでも、ユーザは、あたかも仮想のCGが実在しているかのような感覚を味わうことができる。
【0006】
しかし、ハンドマスキング技術では、仮想のCGオブジェクトの背後に実物のオブジェクトが隠れている場合には、ユーザは、実物のオブジェクトを見ることはできない。このため、ユーザは、ユーザの実物の手と実物のオブジェクトとの距離感を把握できず、接触の危険性を察知することができない。
【0007】
そこで、本発明は、MR技術において、衝突の危険をユーザに適切に通知可能な技術を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の1つの形態は、
第1のオブジェクトおよび第2のオブジェクトを含む現実空間を撮像した撮像画像を取得する取得手段と、
仮想物体を生成する生成手段と、
前記撮像画像と前記仮想物体とを合成して、合成画像を生成する合成手段と、
前記合成画像を表示するように表示手段を制御する表示制御手段と、
前記合成画像が表す空間において前記第2のオブジェクトの手前に前記仮想物体が重畳する第1の場合には、前記第1のオブジェクトと前記第2のオブジェクトとの間の距離に応じた通知をユーザに行う通知手段と、
を有することを特徴とする情報処理装置である。
【0009】
本発明の1つの態様は、
第1のオブジェクトおよび第2のオブジェクトを含む現実空間を撮像した撮像画像を取得する取得ステップと、
仮想物体を生成する生成ステップと、
前記撮像画像と前記仮想物体とを合成して、合成画像を生成する合成ステップと、
前記合成画像を表示するように表示手段を制御する表示制御ステップと、
前記合成画像が表す空間において前記第2のオブジェクトの手前に前記仮想物体が重畳する第1の場合には、前記第1のオブジェクトと前記第2のオブジェクトとの間の距離に応じた通知をユーザに行う通知ステップと、
を有することを特徴とする情報処理方法である。
【発明の効果】
【0010】
本発明によれば、MR技術において、衝突の危険をユーザに適切に通知可能な技術を提供できる。
【図面の簡単な説明】
【0011】
【
図1】実施形態に係るHMDシステムの構成図である。
【
図2】実施形態1に係るHMDシステムの構成図である。
【
図3】実施形態1に係るMR空間を説明する図である。
【
図4】実施形態1に係る手の表示の強調処理を説明する図である。
【
図5】実施形態1に係る手の表示の強調処理を説明する図である。
【
図6】実施形態1に係る手の表示の強調処理のフローチャートである。
【
図7】実施形態2に係るHMDシステムの構成図である。
【
図8】実施形態2に係る操作部材の表示の強調処理を説明する図である。
【
図9】実施形態2に係る足の表示の強調処理を説明する図である。
【
図10】実施形態2に係る強調処理のフローチャートである。
【
図11】実施形態3に係るHMDシステムの構成図である。
【
図12】実施形態3に係る通知処理の例1のフローチャートである。
【
図13】実施形態3に係る通知処理の例2のフローチャートである。
【
図14】実施形態3に係る通知処理の例3のフローチャートである。
【
図15】実施形態3に係る通知処理の例1を説明する図である。
【
図16】実施形態3に係る通知処理の例2を説明する図である。
【
図17】実施形態3に係る通知処理の例3を説明する図である。
【発明を実施するための形態】
【0012】
以下、本発明の各実施形態について、添付図面を参照して詳細に説明する。まず、各実施形態に共通する事項について説明する。
【0013】
まず、仮想のCGオブジェクトの背後に隠れた実物のオブジェクトと実物の手との接触を未然に防ぐ方法として、HMDが実物のオブジェクトに近づくとCGの透過度を上げて、ユーザに実物のオブジェクトを見えるようにする方法がある。しかしながら、この方法では、CGが実在するような没入感は得られず、作業の中断が発生してしまうなどのUX(User eXperience)上の課題もある。
【0014】
図1は、実施形態に係るHMDシステムの構成を示すブロック図である。HMDシステムは、現実空間の画像と仮想のコンピュータグラフィックス(CG)とを重ねて表示するヘッドマウントシステムである。このように、実施形態には、ユーザの頭部に装着可能なHMDを含む各種のHMDシステムに適用することができる。
【0015】
HMDシステムは、レンズユニット101、撮像部102、撮像処理部103、画像処理部104、画像合成部105、表示部106、接眼光学系107、撮像制御部108、HMD制御部109を有する。HMDシステムは、マスク生成部110、距離センサ111、センサ制御部112、電源部113、操作部114、揺れ検出部115、自己位置推定部116、スピーカー117、スピーカー制御部118、HMD通信制御部119を有する。HMDシステムは、ハプティクスデバイス120、ハプティクス制御部121、HMD通信部122、ハプティクス通信部123、オブジェクト距離取得部124、比較部125、背景距離取得部126、空間マップ生成部127を有する。HMDシステムは、記憶部128、CG生成部129、オブジェクト強調部130、透過変更部131、CG通信制御部132を有する。
【0016】
撮像部102は、レンズユニット101を介して、ユーザの手などの複数のオブジェクトを含む現実空間を撮像する。
【0017】
撮像部102から出力された画像(撮像画像)は、撮像処理部103および画像処理部104により画像処理が行われた後に、画像合成部105に送られる。画像合成部105は、CG生成部129により生成されたコンピュータグラフィックス(CG;仮想物体)と撮像画像とを合成して、合成画像を生成する。
【0018】
表示部106は、合成画像を表示する。合成画像は、接眼光学系107を通して目の網膜において結像される。
【0019】
撮像制御部108は、撮像部102における露出制御を行う。
【0020】
距離センサ111は、HMDに内蔵されている。距離センサ111は、センサ制御部112によって制御されることによって、距離情報を示す距離画像を撮像する。距離画像では、各画素が当該画素に写る物体(オブジェクト)までの距離を示す。
【0021】
スピーカー117は、スピーカー制御部118によって制御されることによって、音声を再生する装置である。ハプティクスデバイス120は、HMDとは別体部である。ハプティクスデバイス120は、ハプティクスの振動パターン(HMD通信部122からハプティクス通信部123が受け取った振動パターン)に応じて、振動する装置である。ハプティクスデバイス120は、ハプティクス制御部121によって制御される。
【0022】
電源部113は、システム全体の用途に応じて電源(電力)を供給する。操作部114は、ユーザがHMDシステムの操作に使用する操作部である。操作部114は、操作信号をHMD制御部109に出力する。振れ検出部115は、HMDに加わる振れ量を検出して、振れ量を示す検出信号を生成する。振れ検出部115は、画像処理部104による処理後の撮像画像とともに、検出信号を自己位置推定部116に出力する。自己位置推定部116は、振れ量を示す検出信号と撮像画像とに基づき、HMDの自己位置を推定する。
【0023】
HMD制御部109は、HMDシステム全体を統括制御する。HMD制御部109は、CPUを備える。HMD制御部109は、HMD通信制御部119を介して、CG通信制御部132と通信する。
【0024】
オブジェクト距離取得部124は、「撮像部102から得られた撮像画像(ステレオカメラ画像)」または/および「距離センサ111から得られる距離画像」に基づき、HMDから被写体までの距離を得る。具体的には、オブジェクト距離取得部124は、撮像部102または距離センサ111から得られた画像に基づき、特定のオブジェクトまでの距離を示す距離画像(以下、「オブジェクトマップ」と呼ぶ)を取得する。
【0025】
背景距離取得部126は、撮像部102または距離センサ111から得られた画像に基づき、背景の距離画像を取得する。空間マップ生成部127は、背景距離取得部126により得られた背景の距離画像に基づき、特定のオブジェクトを除いた現実空間の距離画像(以下、「空間マップ」と呼ぶ)を生成する。比較部125は、オブジェクトマップと空間マップとに基づき、特定のオブジェクトと背景との間の距離を算出する。
【0026】
マスク生成部110は、オブジェクトマップを用いて、CGを切り抜くためのマスクを生成する。CG生成部129は、CGを生成する。また、CG生成部129は、マスク生成部110により生成されたマスクを用いて、生成したCGからマスクの領域を切り抜く(除外する)。切り抜きが行われたCGは、画像合成部105により撮像画像と合成される。画像合成部105は、CGを含むMR画像を表示部106が表示するように表示制御を行う。
【0027】
オブジェクト強調部130は、特定のオブジェクトと背景の間の距離に応じて、特定のオブジェクトの領域を強調するような画像処理を行う。
【0028】
透過変更部131は、特定のオブジェクトと背景の間の距離に応じて、CGの透過度を変更する。
【0029】
スピーカー117は、比較部125で算出された特定のオブジェクトと背景の間の距離に応じて警告音の音量を制御することによって、衝突の危険性をユーザに通知する。
【0030】
次に、上記構成を有するHMDシステムの概略動作の1つの例について説明する。
【0031】
(1)レンズユニット101と撮像部102によって、手を含む現実空間を撮像した撮像画像が取得される。オブジェクト距離取得部124は、撮像画像に基づき、もしくは、距離センサ111から得た距離画像から、手の領域の距離画像を取得する。
【0032】
(2)背景距離取得部126は、撮像画像もしくは、距離センサ111から得られた距離画像に基づき、HMDから背景までの距離を取得する。空間マップ生成部127は、HMDから背景までの距離を示す距離画像に基づき、空間マップを生成する。比較部125は、手の距離と背景の距離を比較する。また、同時に、マスク生成部110は、ハンドマップに基づき、手のマスク画像を生成する。
【0033】
(3)オブジェクト強調部130とCG生成部129は、手のマスク画像と、手と背景の間の距離の情報とを取得する。オブジェクト強調部130は、手と背景の間の距離に応じて、手の画像に強調処理を行う。CG生成部129は、CGを生成する。CG生成部129は、CGにおいて手の領域と重なる領域が存在する場合には、その領域をCGから除外する。
【0034】
(4)画像合成部105は、強調処理が行われた手の画像とCG(手の領域が除外されたCG)とを合成して、合成画像を生成する。表示部106は、接眼光学系107を介してユーザに光を届けることによって、ユーザに合成画像を知覚させる。
【0035】
上記の処理によって、手と背景の距離に応じて、手の領域の強調表示が行われる。このため、手の領域の強調表示により手とオブジェクトとの衝突の危険をユーザに知らせることが可能なUX(User eXperience)が実現できる。
【0036】
<実施形態1>
実施形態1では、手とオブジェクトとの間の距離に応じて、手の領域の強調表示を行うHMDシステムついて説明する。HMDシステムは、HMD、デジタルカメラ、スマートフォンなどの任意の電子機器(装置)であり得る。
【0037】
図2は、実施形態1に係るHMDシステムの構成を示す。
図2は、
図1に示すHMDシステムの構成のうち、実施形態1に特に関係する構成を示す図である。
【0038】
HMDシステムは、光学系201、撮像センサ202、画像処理部203、合成部204、表示部206、カメラ制御部207、位置推定部208、CG生成部209、距離センサ210を有する。HMDシステムは、距離センサ制御部211、ハンドマップ取得部212、距離比較部213、マスク生成部214、距離画像取得部215、空間マップ生成部216、強調部217を有する。
【0039】
光学系201は、レンズユニット101を有する。
【0040】
撮像センサ202は、ユーザの手などの複数のオブジェクトを含む現実空間を撮像することによって、撮像画像を取得する。撮像センサ202は、撮像部102に相当する。
【0041】
画像処理部203は、撮像センサ202が取得した撮像画像に画像処理を行う。画像処理部203は、撮像処理部103および画像処理部104に相当する。
【0042】
カメラ制御部207は、撮像センサ202を制御する。カメラ制御部207は、撮像制御部108に相当する。
【0043】
位置推定部208は、撮像画像に基づき、撮像センサ202(HMD)の位置を推定する。位置推定部208は、揺れ検出部115および自己位置推定部116に相当する。
【0044】
距離センサ210は、被写体を撮像することによって、距離画像を取得する。距離センサ210は、距離センサ111に相当する。
【0045】
距離センサ制御部211は、距離センサ210を制御する。距離センサ制御部211は、センサ制御部112に相当する。
【0046】
距離画像取得部215は、撮像画像を距離画像に変換する。もしくは、距離画像取得部215は、距離センサ210から距離画像を取得する。また、距離画像取得部215は、撮像画像に基づき、距離センサ210から取得した距離画像を補正してもよい。以下では、距離画像取得部215が取得した距離画像を「全体距離画像」と呼ぶ。
【0047】
ハンドマップ取得部212は、全体距離画像に基づき、手の領域の距離情報を示す画像(「以下、ハンドマップ」と呼ぶ)を取得する。ハンドマップ取得部212は、オブジェクト距離取得部124に相当する。
【0048】
空間マップ生成部216は、全体距離画像に基づき、手を除いた現実空間の距離情報を示す画像として空間マップを取得する。空間マップ生成部216は、空間マップ生成部127に相当する。
【0049】
距離比較部213は、ハンドマップと空間マップとに基づき、手とオブジェクト(現実空間に存在するオブジェクト)との間の距離を算出する。なお、距離比較部213は、ハンドマップと空間マップとに基づく方法以外の方法によって、手とオブジェクトとの間の距離を算出してもよい。距離比較部213は、例えば、異なる視点から撮像された複数の
撮像画像に基づき、手とオブジェクトとの間の距離を算出してもよい。距離比較部213は、比較部125に相当する。
【0050】
マスク生成部214は、ハンドマップに基づき、手の領域のマスクを生成する。マスク生成部214は、マスク生成部110に相当する。
【0051】
CG生成部209は、位置推定部208が推定したHMDの位置に基づき、CG(仮想物体)を生成する。そして、CG生成部209は、手の領域のマスクに基づき、手の領域にCGとが重なると判定した場合には、CGから手の領域に該当する範囲を除外する。CG生成部209は、CG生成部129に相当する。
【0052】
強調部217は、手とオブジェクトとの間の距離(距離比較部213により算出された距離)に応じて、手の領域の強調度合いを制御する。強調部217は、オブジェクト強調部130に相当する。
【0053】
合成部204は、「CG」と「強調処理が行われた手の画像」とを合成することによって、合成画像を生成する。合成部204は、画像合成部105に相当する。
【0054】
表示部206は、合成画像を表示する。これによって、表示部206は、手と背景との間の距離に応じて強調表示がされた手の画像を表示可能である。このため、表示部206は、「CGの背後にある実物」と「手」との衝突の危険性を、ユーザに通知できる。表示部206は、表示部106に相当する。
【0055】
図3Cは、
図3Aに示す実物の机301に、
図3Bに示すCGのプリンタ302を重ねた画像303を表す図である。実物の机301の上には、ARマーカーが予め配置されている。そして、MRでは、ARマーカーの上にCGのプリンタを配置して、CGのプリンタを手で触れるようなユースケースが存在する。
【0056】
図4Aおよび
図4Bは、
図3Cに示す「実物の机の上に重ねて表示したCGのプリンタ」を実物のユーザの手で触れる機能に関する図である。また、
図4Bでは、実物の手とCGの裏に隠れている実物の机との間の距離に応じて手の領域の強調表示が行われており、ユーザに衝突の危険が通知されている。
図4Aでは、CGのプリンタの奥に位置する実物の机から少し遠くに手401が位置するため、手401は強調処理が行われていない。一方で、
図4Bでは、CGのプリンタの奥に位置する実物の机に近くに手402が位置するため、手402は強調処理が行われている。このように、実物の手の領域の強調度合いによって、ユーザは、CGの奥に位置する実物の机と手との間の距離を大まかに把握することができる。このため、ユーザは、優れたUXによるMR体験が可能となる。
【0057】
図5Aおよび
図5Bは、CGの奥に位置する実物の机も可視化した図である。
図5Aでは、CGのプリンタの奥に位置する実物の机から少し遠くに手501が位置するため、手501は強調処理が行われていない。
図5Bでは、CGのプリンタの奥に位置する実物の机に近くに手502が位置するため、手502は強調処理が行われている。
【0058】
図6のフローチャートを参照して、実施形態1に係る手の領域の強調処理を説明する。なお、以下では、合成画像(合成画像が表現する空間)において、手とCG(仮想物体)が重畳する場合を前提について説明する。しかしながら、例えば、これ以外の場合(例えば、手とCGとが所定の距離よりも近い場合)などであっても、
図6のフローチャートの処理が実行されてもよい。また、合成画像(合成画像が表現する空間)において、手とCG(仮想物体)が重畳する場合以外には、手の領域の強調処理が行われなくてもよい。ステップS601では、本フローチャートが開始する。
【0059】
ステップS602では、距離画像取得部215は、撮像センサ202が取得した撮像画像に基づき、全体距離画像を取得する。もしくは、距離画像取得部215は、距離センサ210が取得した距離画像に基づき、全体距離画像を取得する。
【0060】
ステップS603では、空間マップ生成部216は、全体距離画像に基づき、現実空間のうち手を含まない空間の距離情報を示す空間マップを生成する。
【0061】
ステップS604では、ハンドマップ取得部212は、全体距離画像に基づき、ハンドマップを生成する。
【0062】
ステップS605では、マスク生成部214は、手の領域のマスクを生成する。
【0063】
ステップS606では、CG生成部209は、CGを生成する。そして、CG生成部209は、手の領域のマスクを用いて、マスクの領域をCGから除外する。または、CG生成部209は、CGのうち、マスクの領域を透明化する。
【0064】
ステップS607では、距離比較部213は、空間マップとハンドマップとに基づき、実物のオブジェクト(例えば、複数のオブジェクトのうち、手の奥(背後)に位置し、かつ、手に最も近いオブジェクト)と手との間の距離を算出する。
【0065】
ステップS608では、強調部217は、手から実物のオブジェクトまでの距離に応じて手の領域の表示の強調を制御する。なお、「手の領域の強調を制御する」とは、「手から実物のオブジェクトまでの距離に応じて手の領域の表示形態を制御する」と捉えててもよい。例えば、強調部217は、手から実物のオブジェクトまでの距離が短いほど、手の領域を明るくしたり、手の領域の色を特定の色に近づけたり、手の領域を大きくしたりする。
【0066】
ステップS608の処理は、合成画像が表す空間(MR空間)において、CGが実物のオブジェクトの手前に重畳する場合にのみ、実行されてもよい。なお、実物のオブジェクトの少なくとも一部が合成画像に表示されている場合には、強調部217は、「手から実物のオブジェクトまでの距離に応じて手の領域の表示の強調を制御すること」を実行しなくてもよい。この場合には、ユーザは、合成画像を見ることによって、手と実物のオブジェクトとの間の位置関係を推測し得るので、強調の必要性が低下する。また、強調が行われないことによって、ユーザのMRへの没入感を向上させることもできる。
【0067】
ステップS609では、強調部217は、終了条件が満たされるか否かを判定する。終了条件が満たされないと判定された場合には、ステップS602に戻る。終了条件が満たされたと判定された場合には、ステップS610において本フローチャートの処理が終了する。なお、本フローチャートの処理が終了すると、CGと撮像画像(手の領域の強調度合いが制御された撮像画像)とが合成された合成画像が合成部204によって生成されて、表示部206に合成画像が表示される。
【0068】
実施形態1によれば、HMDシステムは、「実物の手」と「CGよりも奥に位置する実物のオブジェクト」との間の距離に応じて、手の強調表示を行う。このことによって、HMDシステムは、CGに隠れている実物のオブジェクトとユーザの手が衝突しないように、ユーザに警告することが可能である。なお、実施形態1は、CGの透過度を変更したり、ユーザに警告音を発することによって、没入感をなくしたりや作業を中断する方法を用いる必要がない。このため、ユーザは、MRによるハンドマスク機能を体験することが可能な優れたUXを得られる。
【0069】
<実施形態2>
実施形態1では、手とオブジェクトとの間の距離に応じて、手の表示の強調度合いが制御された。しかしながら、手の代わりに、ユーザが自由に動かすことが可能な任意のオブジェクトが用いられてもよい。そこで、実施形態2では、HMDシステムは、「特定のオブジェクト(体の一部または操作部材)」と「特定のオブジェクト以外のオブジェクト」との間の距離に応じて、特定のオブジェクトの領域の強調処理を行う。以下、「特定のオブジェクト以外のオブジェクト」を、「一般オブジェクト」と呼ぶ。
【0070】
図7は、実施形態2に係るHMDシステムの構成を示す。HMDシステムは、光学系201、撮像センサ202、画像処理部203、合成部204、表示部206、カメラ制御部207、位置推定部208、CG生成部709、距離センサ210を有する。HMDシステムは、距離センサ制御部211、オブジェクトマップ取得部712、距離比較部713、マスク生成部714、距離画像取得部215、空間マップ生成部216、強調部717を有する。これらの構成のうち、
図2に示す構成については、実施形態1で説明した処理が行われるため説明を省略する。
【0071】
オブジェクトマップ取得部712は、距離画像取得部215が取得した全体距離画像に基づき、特定のオブジェクトの領域の距離情報を示す画像(以下、「オブジェクトマップ」と呼ぶ)を取得する。特定のオブジェクトは、ユーザが予め指定したオブジェクトであってもよいし、ユーザの手に最も近いオブジェクトであってもよい。
【0072】
距離比較部713は、オブジェクトマップと空間マップとに基づき、特定のオブジェクトと一般オブジェクト(背景など)との間の距離を比較する。
【0073】
マスク生成部714は、オブジェクトマップに基づき、特定のオブジェクトの領域のマスクを生成する。
【0074】
CG生成部709は、位置推定部208が推定したHMDの位置に基づき、CGを生成する。そして、CG生成部709は、特定のオブジェクトの領域のマスクに基づき、特定のオブジェクトの領域にCGが重なると判定した場合には、特定のオブジェクトの領域に該当する範囲をCGから除外する。
【0075】
強調部717は、特定のオブジェクトと一般オブジェクトの間の距離(距離比較部713により算出された距離)に応じて、特定のオブジェクトの領域の強調度合いを制御する。
【0076】
図8Aおよび
図8Bは、実物の机の上に重ねて表示したCGのプリンタを、ドライバなどの操作部材(特定のオブジェクト)で触れる機能に関する図である。また、
図8Aおよび
図8Bは、「実物のドライバなどの操作部材」と「CGの裏に隠れている実物の机」の間の距離に応じて、操作部材の領域の強調表示を行って、ユーザに衝突の危険を知らせるUIに関する。
【0077】
図8Aでは、CGのプリンタの奥に位置する実物の机から少し遠くに操作部材801が位置しているため、操作部材801は強調処理が行われていない。一方で、
図8Bでは、CGのプリンタの奥に位置する実物の机の近くに操作部材802が位置しているため、操作部材802は強調処理が行われている。このように、実物の操作部材の領域の強調度合いによって、ユーザは、CGの奥に位置する実物の机と操作部材との間の大まかな距離を把握することができる。
【0078】
図9Aおよび
図9Bは、実物の椅子の上に重ねて表示したCGの車の座席に乗る体験をする機能に関する図である。また、
図9Aおよび
図9Bは、実物の足(体の一部)を特定のオブジェクトとして扱い、「CGの裏に隠れている実物の椅子」と「実物の足」との間の距離に応じて、足の領域の強調表示を行う様子を説明する。
【0079】
図9Aでは、CGの車の奥に位置する実物の椅子から少し遠くに足901が位置するため、足901は強調処理が行われていない。
図9Bでは、CGのプリンタの奥に位置する実物の机に近くに足902が位置しているため、足902は強調処理が行われている。このように、実物の足の領域の強調度合いによって、ユーザは、CGの奥に位置する実物の椅子と足との間の大まかな距離を把握することができる。
【0080】
図10のフローチャートを参照して、実施形態2に係る処理を説明する。なお、
図10において、
図6のフローチャートと同名のステップについては、同様の処理が行われるため説明を省略する。
【0081】
ステップS1004では、オブジェクトマップ取得部712は、全体距離画像に基づき、オブジェクトマップを生成する。
【0082】
ステップS1005では、マスク生成部714は、特定のオブジェクトの領域のマスクを生成する。
【0083】
ステップS1006では、CG生成部709は、CGを生成する。そして、CG生成部709は、特定のオブジェクトの領域のマスクを用いて、特定のオブジェクトの領域に対応する範囲をCGから除外する。
【0084】
ステップS1007では、距離比較部713は、空間マップとオブジェクトマップとに基づき、特定のオブジェクトに最も近い実物のオブジェクト(一般オブジェクト)と特定のオブジェクトとの間の距離を算出する。
【0085】
ステップS1008では、強調部717は、距離比較部713により算出された距離に応じて、特定のオブジェクトの領域の強調を制御する。例えば、強調部717は、特定のオブジェクトから一般オブジェクトまでの距離が短いほど、ユーザが把握しやすいように特定のオブジェクトを強調する。具体的には、強調部717は、特定のオブジェクトから一般オブジェクトまでの距離が短いほど、特定のオブジェクトの領域を明るくしたり、特定のオブジェクトを大きくしたりする。ステップS1008の処理は、合成画像が表す空間(MR空間)において、CGが一般オブジェクトの手前に重畳する場合にのみ、実行されてもよい。
【0086】
実施形態2によれば、HMDシステムは、「特定のオブジェクト(操作部材の一部または体の一部)」と「CGの奥に位置する他のオブジェクト」との距離に応じて、特定のオブジェクトの強調表示を行う。このことで、HMDシステムは、CGに隠れている実物と特定のオブジェクトが衝突しないように、ユーザに警告することが可能である。HMDシステムは、CGの透過度を変更したり、ユーザに警告を発することによって、没入感をなくしたりや作業を中断する方法を用いない。このため、MRによるハンドマスク機能をユーザが体験することが可能な優れたUXを提供可能になる。
【0087】
<実施形態3>
実施形態3では、HMDシステムは、手がCGよりも手前に位置する場合には、手の領域の強調表示を行う。HMDシステムは、手がCGよりも奥に位置しており、手が見えない場合には、手の強調表示を行わない。この場合には、HMDシステムは、距離に応じて
ハプティクスデバイスの振動強度を変更する、距離に応じて警告音の音量を変更する、または、距離に応じてCGの透過度を変更する。
【0088】
図11は、実施形態3に係るHMDシステムの構成図を示す。実施形態3に係るHMDシステムは、
図7に示すHMDシステムの構成に加えて、ハプティクス制御部1118、音声制御部1119、ハプティクスデバイス1120、スピーカー1121を有する。新たに追加された構成は、特定のオブジェクトがCGよりも奥に位置するために、合成画像において特定のオブジェクトが表示されない場合に、衝突の危険性の通知処理を実行する。ハプティクスデバイス1120、スピーカー1121、および表示部206は、ユーザへの衝突の危険性の通知を行う構成であるため、これらの構成を併せて「通知部」と呼ぶこともできる。以下では、ハプティクスデバイス1120、スピーカー1121、および表示部206が実行する衝突の危険性の通知処理を説明する3つの例を示す。
【0089】
1つ目の例(例1)として、ハプティクス制御部1118は、特定のオブジェクトと一般オブジェクトとの間の距離に応じて、ハプティクス強度(振動強度)の制御パターンを切り替える。ハプティクスデバイス1120は、切り替えられた制御パターンに応じた振動を行って、特定のオブジェクトとCGの背後にある一般オブジェクトとの衝突の危険をユーザに知らせる。
【0090】
2つ目の例(例2)として、音声制御部1119は、特定のオブジェクトと一般オブジェクトとの間の距離に応じて、スピーカー1121の出力の音量を切り替える。スピーカー1121は、切り替えた出力の音量に応じて、特定のオブジェクトとCGの背後にある一般オブジェクトとの衝突の危険をユーザに知らせる音声を発する。
【0091】
3つ目の例(例3)として、CG生成部709は、特定のオブジェクトと一般オブジェクトとの間の距離に応じて、CGの透過度を変更する。合成部204は、透過度が変更されたCGを用いた合成を行う。表示部206は、透明度が変更されたCGを用いた合成画像を表示することによって、特定のオブジェクトとCGの背後にある一般オブジェクトとの衝突の危険をユーザに知らせる。
【0092】
このように、手などの特定のオブジェクトがCGより手前に位置する場合には、特定のオブジェクトの強調処理が行われる。一方で、手などの特定のオブジェクトがCGより後ろに位置する場合に、ハプティクス強度、音量、またはCGの透過度が変更される。このことによって、CGにより手などが隠れて見えない場合においても、CGの奥に位置する実物との衝突をユーザに知らせることができる。
【0093】
図12のフローチャートを参照して、上記の例1の場合の実施形態3に係る処理を説明する。
図12のうち、
図10のフローチャートのステップと同名のステップでは、実施形態2と同様の処理が実行されるため、説明を省略する。
【0094】
ステップS1201では、距離比較部713は、特定のオブジェクトがCGに埋もれる(特定のオブジェクトがCGよりも奥に位置する)か否かを判定する。特定のオブジェクトがCGに埋もれると判定された場合には、ステップS1202に進む。特定のオブジェクトがCGに埋もれないと判定された場合には、ステップS1005に進む。
【0095】
ステップS1202では、ハプティクス制御部1118は、距離比較部713により算出された距離に応じた振動強度を示すハプティクス信号を生成する。具体的には、ハプティクス制御部1118は、例えば、距離比較部713により算出された距離が短いほど、ハプティクス信号が示す振動強度を高くする。
【0096】
ステップS1203では、ハプティクス制御部1118は、生成したハプティクス信号をハプティクスデバイス1120に送信する。
【0097】
ステップS1204では、ハプティクスデバイス1120は、受信したハプティクス信号に応じた振動強度で振動する。
【0098】
図13のフローチャートを参照して、上記の例2の場合の実施形態3に係る処理を説明する。
図13のうち、
図10のフローチャートのステップと同名のステップでは、実施形態2と同様の処理が実行されるため、説明を省略する。
【0099】
ステップS1301では、距離比較部713は、特定のオブジェクトがCGに埋もれる(特定のオブジェクトがCGよりも奥に位置する)か否かを判定する。特定のオブジェクトがCGに埋もれると判定された場合には、ステップS1302に進む。特定のオブジェクトがCGに埋もれないと判定された場合には、ステップS1005に進む。
【0100】
ステップS1302では、音声制御部1119は、距離比較部713により算出された距離に応じた音量を示す音信号を生成する。具体的には、音声制御部1119は、例えば、距離比較部713により算出された距離が短いほど、音信号が示す音量を大きくする。
【0101】
ステップS1303では、音声制御部1119は、生成した音信号をスピーカー1121に送信する。
【0102】
ステップS1304では、スピーカー1121は、受信した音信号に応じた音量で、警告を示す音(音声)を出力する。
【0103】
図14のフローチャートを参照して、上記の例3の場合の実施形態3に係る処理を説明する。
図14のうち、
図10のフローチャートのステップと同名のステップでは、実施形態2と同様の処理が実行されるため、説明を省略する。
【0104】
ステップS1401では、距離比較部713は、特定のオブジェクトがCGに埋もれる(特定のオブジェクトがCGよりも奥に位置する)か否かを判定する。特定のオブジェクトがCGに埋もれると判定された場合には、ステップS1402に進む。特定のオブジェクトがCGに埋もれないと判定された場合には、ステップS1005に進む。
【0105】
ステップS1402では、CG生成部709は、生成したCGの透明度を、距離比較部713により算出された距離に応じて制御する。具体的には、CG生成部709は、例えば、距離比較部713により算出された距離が短いほど、CGの透明度を高くする。
【0106】
ステップS1403では、CG生成部709は、透明度を制御したCGを合成部204に送信する。
【0107】
ステップS1404では、合成部204は、透明度を制御したCGと撮像画像とを合成して、合成画像を生成する。
【0108】
図15Aでは、手がCGより手前に位置しているため、手と「CGの背後にある実物の机」との間の距離に応じて、手の領域の強調表示が行われている。
図15Bでは、手がCGより後ろに位置するため、手と「CGの背後にある実物の机」の間の距離に応じて、指に装着されたハプティクスデバイス1120の振動強度が変更されている。このことで、
図15Bに示すように、CGに手が隠れていても、ユーザは、CGに隠れた手と実物の机までの距離を直感的に把握できる。
【0109】
図16Aでは、手がCGより手前に位置しているため、手と「CGの背後にある実物の机」との間の距離に応じて、手の領域の強調表示が行われている。
図16Bでは、手がCGより後ろに位置するため、手と「CGの背後にある実物の机」の間の距離に応じて、スピーカー1121からの警告音の音量が変更されている。このことで、
図16Bに示すように、CGに手が隠れていても、ユーザは、CGに隠れた手と実物の机までの距離を直感的に把握できる。
【0110】
図17Aでは、手がCGより手前に位置しているため、手と「CGの背後にある実物の机」との間の距離に応じて、手の領域の強調表示が行われている。
図17Bでは、手がCGより後ろに位置するため、手と「CGの背後にある実物の机」の間の距離に応じて、CGの透過度が変更されている。このことで、
図17Bに示すように、CGに手が隠れていても、ユーザは、CGに隠れた手と実物の机までの距離を直感的に把握できる。
【0111】
実施形態3によれば、HMDシステムは、特定のオブジェクトがCGよりも後ろに位置しており、特定のオブジェクトが視認可能でない場合には、特定のオブジェクトの強調表示を行わない。この場合には、HMDシステムは、特定のオブジェクトと一般オブジェクトとの間の距離に応じてハプティクスデバイスの振動強度を変更する方法、当該距離に応じて警告音の音量を変更する方法、または、当該距離に応じてCGの透過度を変更する方法を用いる。このことによって、特定のオブジェクトがCGに隠れてしまった場合でも、ユーザは、特定のオブジェクトと他のオブジェクトとの距離を認識できる。ユーザは、特定のオブジェクトが他のオブジェクトに衝突する危険を回避できる。
【0112】
また、上記において、「AがB以上の場合にはステップS1に進み、AがBよりも小さい(低い)場合にはステップS2に進む」は、「AがBよりも大きい(高い)場合にはステップS1に進み、AがB以下の場合にはステップS2に進む」と読み替えてもよい。逆に、「AがBよりも大きい(高い)場合にはステップS1に進み、AがB以下の場合にはステップS2に進む」は、「AがB以上の場合にはステップS1に進み、AがBよりも小さい(低い)場合にはステップS2に進む」と読み替えてもよい。このため、矛盾が生じない限り、「A以上」は、「Aよりも大きい(高い;長い;多い)」と読み替えてよく、「A以下」は、「Aよりも小さい(低い;短い;少ない)」と読み替えてもよい。そして、「Aよりも大きい(高い;長い;多い)」は、「A以上」と読み替えてもよく、「Aよりも小さい(低い;短い;少ない)」は「A以下」と読み替えてもよい。
【0113】
なお、上述の各種制御は1つのハードウェア(例えばプロセッサーまたは回路)が行ってもよいし、そうでなくてもよい。複数のハードウェア(例えば、複数のプロセッサー、複数の回路、または1つ以上のプロセッサーと1つ以上の回路の組み合わせ)が処理を分担することで、装置全体の制御を行ってもよい。
【0114】
また、上記プロセッサーは、広義のプロセッサーであり、汎用のプロセッサーと専用のプロセッサーを含む。汎用のプロセッサーは、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)などである。専用のプロセッサーは、例えば、GPU(Graphics Processing Unit)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などである。プログラマブル論理デバイスは、例えば、FPGA(Field Programmable Gate Array)、CPLD(Complex Programmable Logic Device)などである。
【0115】
また、本発明の実施形態を詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。さらに、上述した各実施形態は本発明の一実施形態を示すものにすぎず、各実施形態を適宜組み合わせることも可能である。
【0116】
また、上述した実施形態においては、本発明をHMDシステム(HMD)に適用した場合を例にして説明したが、これはこの例に限定されず、撮像画像に画像処理を実行可能な電子機器または情報処理装置(情報処理システム)であれば適用可能である。電子機器または情報処理装置(情報処理システム)は、コンピュータ、スマートフォン、タブレット端末、デジタルカメラ、または、家電機器であってよい。
【0117】
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路によっても実現可能である。
【0118】
上記の実施形態の開示は、以下の構成、方法、およびプログラムを含む。
(構成1)
第1のオブジェクトおよび第2のオブジェクトを含む現実空間を撮像した撮像画像を取得する取得手段と、
仮想物体を生成する生成手段と、
前記撮像画像と前記仮想物体とを合成して、合成画像を生成する合成手段と、
前記合成画像を表示するように表示手段を制御する表示制御手段と、
前記合成画像が表す空間において前記第2のオブジェクトの手前に前記仮想物体が重畳する第1の場合には、前記第1のオブジェクトと前記第2のオブジェクトとの間の距離に応じた通知をユーザに行う通知手段と、
を有することを特徴とする情報処理装置。
(構成2)
前記第2のオブジェクトは、前記現実空間における複数のオブジェクトのうち、前記第1のオブジェクトの背後に位置し、かつ、前記第1のオブジェクトに最も近いオブジェクトである、
ことを特徴とする構成1に記載の情報処理装置。
(構成3)
前記通知手段は、前記第1の場合には、前記第1のオブジェクトと前記第2のオブジェクトとの間の距離に応じて、前記第1のオブジェクトの表示の強調を制御することによって、前記通知を行う、
ことを特徴とする構成1または2に記載の情報処理装置。
(構成4)
前記通知手段は、前記第1の場合には、前記第1のオブジェクトと前記第2のオブジェクトとの間の距離が短いほど、前記第1のオブジェクトの表示を強調する、
ことを特徴とする構成3に記載の情報処理装置。
(構成5)
前記通知手段は、前記第1の場合には、前記第1のオブジェクトと前記第2のオブジェクトとの間の距離に応じて、第1の装置の振動強度を制御することによって、前記通知を行う、
ことを特徴とする構成1から4のいずれかに記載の情報処理装置。
(構成6)
前記通知手段は、前記第1の場合には、前記第1のオブジェクトと前記第2のオブジェクトとの間の距離に応じて、第2の装置から発せられる警告音の音量を制御することによ
って、前記通知を行う、
ことを特徴とする構成1から5のいずれかに記載の情報処理装置。
(構成7)
前記通知手段は、前記第1の場合には、前記第1のオブジェクトと前記第2のオブジェクトとの間の距離に応じて、前記仮想物体の透過度を制御することによって、前記通知を行う、
ことを特徴とする構成1から6のいずれかに記載の情報処理装置。
(構成8)
前記第1のオブジェクトは、体の一部である、
ことを特徴とする構成1から7のいずれかに記載の情報処理装置。
(構成9)
前記第1のオブジェクトは、手である、
ことを特徴とする構成8に記載の情報処理装置。
(構成10)
前記第1のオブジェクトは、操作部材の一部である、
ことを特徴とする構成1から7のいずれかに記載の情報処理装置。
(構成11)
前記通知手段は、前記第1の場合において、
前記合成画像が表す空間において前記第1のオブジェクトが前記仮想物体の手前に重畳する第2の場合には、前記第1のオブジェクトと前記第2のオブジェクトとの間の距離に応じて、前記第1のオブジェクトの表示の強調を制御することによって、前記通知を行い、
前記合成画像が表す空間において前記仮想物体が前記第1のオブジェクトの手前に重畳する第3の場合には、前記第1のオブジェクトの表示の強調を制御する以外の方法により、前記第1のオブジェクトと前記第2のオブジェクトとの間の距離に応じた通知をユーザに行う、
ことを特徴とする構成1から10のいずれかに記載の情報処理装置。
(構成12)
前記通知手段は、前記第3の場合には、前記第1のオブジェクトと前記第2のオブジェクトとの間の距離に応じて、第1の装置の振動強度、第2の装置から発せられる警告音の音量、または、前記仮想物体の透過度を制御する、
ことを特徴とする構成11に記載の情報処理装置。
(方法)
第1のオブジェクトおよび第2のオブジェクトを含む現実空間を撮像した撮像画像を取得する取得ステップと、
仮想物体を生成する生成ステップと、
前記撮像画像と前記仮想物体とを合成して、合成画像を生成する合成ステップと、
前記合成画像を表示するように表示手段を制御する表示制御ステップと、
前記合成画像が表す空間において前記第2のオブジェクトの手前に前記仮想物体が重畳する第1の場合には、前記第1のオブジェクトと前記第2のオブジェクトとの間の距離に応じた通知をユーザに行う通知ステップと、
を有することを特徴とする情報処理方法。
(プログラム)
コンピュータを、構成1から12のいずれかに記載の情報処理装置の各手段として機能させるためのプログラム。
【符号の説明】
【0119】
202:撮像センサ、209:CG生成部、204:合成部、
206:表示部