JP7048520B2 - 頭部装着型表示装置および仮想空間表示制御方法 - Google Patents
頭部装着型表示装置および仮想空間表示制御方法 Download PDFInfo
- Publication number
- JP7048520B2 JP7048520B2 JP2019016073A JP2019016073A JP7048520B2 JP 7048520 B2 JP7048520 B2 JP 7048520B2 JP 2019016073 A JP2019016073 A JP 2019016073A JP 2019016073 A JP2019016073 A JP 2019016073A JP 7048520 B2 JP7048520 B2 JP 7048520B2
- Authority
- JP
- Japan
- Prior art keywords
- head
- virtual space
- unit
- user
- display device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- User Interface Of Digital Computer (AREA)
Description
本発明は、ユーザの頭部に装着して仮想空間の画像を表示する頭部装着型表示装置および仮想空間表示制御方法に関する。
近年、ユーザの頭部に装着して、現実空間に仮想空間の画像を重畳して表示するシースルー型頭部装着型表示装置(ヘッドマウントディスプレイとも呼ばれる)が注目されている。工場などでは、作業工程などのコンテンツを見ながら作業を行うケースがあるが、作業対象の近くにディスプレイなどの情報表示装置を配置することが難しい場合がある。そのようなとき、シースルー型頭部装着型表示装置を使用すれば、作業者は情報表示装置を手に持ったり、遠くの情報表示装置を見に行ったりする必要がなく、作業効率を改善することができる。
頭部装着型表示装置における仮想空間の表示制御については、ユーザの動きに応じて表示画像を切り替える構成とすることで使いやすいものとなる。例えば特許文献1に記載のヘッドマウントディスプレイでは、装着者が歩行中であることを検知したとき、仮想空間の特定の範囲に配置された表示オブジェクトを表示する。また、装着者が歩行中でないことを検知したとき、仮想空間における複数の表示オブジェクトの配置座標が固定されるように、装着者の頭部の動きに連動して表示オブジェクトを変更するものである。
また特許文献2に記載の表示装置では、表示動作のオン/オフや、表示動作態様、ソース切換など、各種の表示動作に関する制御として、ユーザの動作又は身体の状況に関する情報を取得し、その情報から使用者の意志又は状況を判定し、判定結果に基づいて適切な制御を行うものである。
作業者が、作業工程などのコンテンツを見ながら作業を行う場合、現実空間と仮想空間の位置関係が重要である。つまり、作業者が現実空間で動きながら作業するときに仮想空間を常に現実空間に重なるよう固定させると、仮想空間の画像が作業者の目前に存在して作業の妨げになる場合がある。逆に、仮想空間を現実空間から遠ざけて配置すると、作業者から見たい画像が遠くに離れてコンテンツが見にくくなり、いずれにしても作業者の見易い位置に仮想空間を配置することができない。
このような課題に関し、本発明者等は、従来は作業者の頭部と腰部の動きを区別しないで、作業者の視線方向だけに着目して表示画像を制御していたことに原因があることを見出した。
特許文献1に記載の方法では、装着者が歩行中か否かの検知と、装着者の頭部の動きの検知を行っているが、頭部と腰部の動きを区別して扱っていない。また、特許文献2に記載の方法では、ユーザの頭部の動きや身体全体の動きなどを検出しているが、これらの情報は表示制御を行うためのユーザの意志を判定するために用いられるものであるから、上記の課題を解決するものではない。
本発明は上記課題に鑑みなされたもので、頭部装着型表示装置において、ユーザの頭部と腰部の動きを区別して扱うことで、ユーザから見易い位置に仮想空間を配置してユーザの見たい画像を快適に選択表示することを目的とする。
本発明は、ユーザの頭部に装着して仮想空間の画像を表示する頭部装着型表示装置において、ユーザの頭部の動きを検出する第1センサと、ユーザの腰部の動きを検出する第2センサと、第1センサおよび第2センサの検出値からユーザの腰部に対する頭部の差分回転量を算出する頭部回転認識部と、1つ以上の表示する画像が予め位置決めして収納された仮想空間を保存する仮想空間保存部と、仮想空間保存部が保存する仮想空間に表示領域を決定して表示する画像を選択する表示制御部と、表示制御部により選択された画像を表示するディスプレイと、を備える。表示制御部は、頭部回転認識部が算出した頭部の差分回転量に応じて仮想空間に表示領域を決定し、決定した表示領域に位置する画像を選択してディスプレイに出力することを特徴とする。
本発明によれば、ユーザの動きに応じて仮想空間を現実空間に最適に配置し、ユーザは所望の画像を快適に選択して見ることができる。
以下、本発明の複数の実施形態について、図面を参照して説明する。
実施例1では、ユーザの頭部および腰部にセンサを装着して腰部に対する頭部の相対的動き(差分回転量)を検出し、これに応じて仮想空間内の表示領域を移動させる構成とした。
図1は、頭部装着型表示装置1を装着したユーザ2の状態を示す図である。また図2は、実施例1に係る頭部装着型表示装置1のハードウェア構成を示す図である。
図1は、頭部装着型表示装置1を装着したユーザ2の状態を示す図である。また図2は、実施例1に係る頭部装着型表示装置1のハードウェア構成を示す図である。
図1のように、ユーザ2は頭部に頭部装着型表示装置1を装着することで、ディスプレイ12に表示される画像を、前方の現実空間に重畳させて視認することができる。なお、以下の説明では、ユーザ2の左右方向をX軸、前後方向をY軸、上下方向をZ軸とする。
図2のように、頭部装着型表示装置1のハードウェアは、センサ11、ディスプレイ12、CPU(Central Processing Unit)13、ROM(Read Only Memory)14およびRAM(Random Access Memory)15等を備えている。
センサ11は2つ以上のセンサを含み、装着部位の動きに応じた検出値を出力する。ここでは、ユーザ2の頭部に装着する第1センサ11aと腰部に装着する第2センサ11bの2つを示している。第1センサ11aは頭部装着型表示装置1の本体と一体で取り付けられ、ユーザ2の頭部の動きを検出する。もちろん、第1センサ11aをユーザ2の頭部に直接取り付けてもよい。第2センサ11bは、ユーザ2の腰部に取り付けて、ユーザ2の腰部の動きを検出する。なお、腰部に取り付けた第2センサ11bは、頭部の動きとは別に体全体の動きを検出するためのもので、装着部位は、頭部のみを左右、上下、前後方向に動かした場合でもその位置や方向が変化しない部位であれば腰部以外に取り付けても構わない。
センサの種類としては、加速度センサ、角速度センサ、地磁気センサだけでなく、カメラ、マイクなども使用可能である。また、それぞれのセンサは、異なる種類のセンサであってもよく、複数のセンサを組み合わせた複合センサでもよい。なお、以下の説明では、加速度を取得可能なセンサと角速度を取得可能なセンサとする。
ディスプレイ12は、ROM14またはRAM15に保存された画像を表示する。ディスプレイ12の表示方式は、透過型ディスプレイでも非透過型ディスプレイでもよいが、以下では、現実空間に重畳させて画像を視認するため、透過型ディスプレイとして説明する。ディスプレイ12は、両眼用に2つ備えてもよいし、片眼用に1つ備えてもよい。
CPU13は、ROM14またはRAM15に格納されているプログラムを実行する。具体的には、CPU13がプログラムを実行することにより、頭部装着型表示装置1の各部の機能が実現される。ROM14は、CPU13が実行するプログラムおよび実行に必要な各種パラメータを格納するための記憶媒体である。RAM15は、ディスプレイ12で表示するための画像および各種情報を格納するための記憶媒体である。また、RAM15は、CPU13が使用するデータの一時保管領域としても機能する。頭部装着型表示装置1は、CPU13とROM14とRAM15をそれぞれ複数有する構成でもよい。
なお、頭部装着型表示装置1のハードウェア構成は、図2に示す構成に限定されない。例えばCPU13、ROM14、RAM15を頭部装着型表示装置1とは別体として設けるようにしてもよい。その場合、頭部装着型表示装置1は汎用のコンピュータ(例えばサーバコンピュータやパーソナルコンピュータ、スマートフォン等)を用いて実現するようにしてもよい。
また、複数のコンピュータをネットワークで接続して、頭部装着型表示装置1の各部の機能を各コンピュータが分担することもできる。一方で、頭部装着型表示装置1の機能の1つ以上を、専用のハードウェアを用いて実現することもできる。
図3は、頭部装着型表示装置1の機能構成を示すブロック図である。頭部装着型表示装置1は、前記した第1センサ11a、第2センサ11b、ディスプレイ12の他に、機能構成として頭部回転認識部21、表示制御部22、仮想空間保存部23を備える。
第1センサ11aおよび第2センサ11bは、それぞれ、頭部と腰部の加速度および角速度を測定し出力する。具体的には、例えば、3つ以上の加速度センサと2つ以上の角速度センサからなる。
頭部回転認識部21は、第1センサ11aおよび第2センサ11bから得られたそれぞれの装着部位の角速度から、ユーザ2の腰部に対する頭部の回転量(差分回転量)を算出する。これにより、ユーザ2の頭部だけが回転しているのか、腰部(胴体)ごと回転しているのかを識別できる。
仮想空間保存部23は、仮想空間VSを保存する。仮想空間VSには1つ以上のコンテンツ(画像)が予め位置決めして収納され、ユーザ2は、頭部装着型表示装置1を通して保存されたコンテンツを見ることができる。仮想空間保存部23は、具体的にはROM14またはRAM15で実現される。
表示制御部22は、頭部回転認識部21で算出した頭部の差分回転量を入力し、仮想空間保存部23内の仮想空間VSのうちユーザに提示する領域をどの部分にするかを決定し、決定した表示領域Sに位置するコンテンツ(画像)を選択して出力する。
ディスプレイ12は、表示制御部22から出力された表示領域Sのコンテンツ(画像)を表示する。
ディスプレイ12は、表示制御部22から出力された表示領域Sのコンテンツ(画像)を表示する。
次に、本実施例の頭部装着型表示装置1の動作を詳細に説明する。
第1センサ11aおよび第2センサ11bが含む2つ以上の角速度センサは、測定軸が互いに直交するように配置され、少なくとも装着部位の仰俯角速度(X軸周りの上下方向)および方位角速度(Z軸周りの左右方向)を計測する。
第1センサ11aおよび第2センサ11bが含む2つ以上の角速度センサは、測定軸が互いに直交するように配置され、少なくとも装着部位の仰俯角速度(X軸周りの上下方向)および方位角速度(Z軸周りの左右方向)を計測する。
頭部回転認識部21は、第1センサ11aおよび第2センサ11bから得られたそれぞれの装着部位の角速度から、ユーザ2の頭部の差分回転量、すなわち頭部仰俯角回転量Raxおよび頭部方位角回転量Razを出力する。頭部仰俯角回転量Raxは、頭部に装着された第1センサ11aが出力する仰俯角速度と、腰部に装着された第2センサ11bが出力する仰俯角速度の差分を時間積分することで求められる。同様にして、頭部方位角回転量Razは、頭部に装着された第1センサ11aが出力する方位角速度と、腰部に装着された第2センサ11bが出力する方位角速度の差分を時間積分することで求められる。
図4は、頭部の差分回転量に応じた表示領域の制御を説明する図である。仮想空間保存部23に保存される仮想空間VSには、複数のコンテンツの画像が、それぞれ仮想空間VS内の所定の位置に位置決めされて収納されている。この例では、3つのコンテンツA,B,Cが左右方向に位置をずらして収納されている。仮想空間VSの保存形式は、例えば、ビットマップイメージなどの画像ファイルである。ここで、頭部装着型表示装置1を装着したユーザ2がディスプレイ12にて見ることができるのは、仮想空間VSに収納されるコンテンツのうち、表示領域S(破線で示す)に位置するコンテンツだけであり、その表示領域Sは表示制御部22により決定される。この例では、表示領域Sは左側のコンテンツAに重なっており、ユーザ2はコンテンツAを見ることができる。
次に、表示制御部22による表示領域Sの制御方法を説明する。表示制御部22は、頭部回転認識部21から入力された頭部の差分回転量(頭部仰俯角回転量Raxおよび頭部方位角回転量Raz)からユーザの視線Lの方向を求め、これに合わせるように表示領域Sの位置を決定する。表示領域Sの位置は、表示領域Sの左上の座標(Xv、Yv)であり数式1に従って算出する。
ここに座標(Xv、Yv)は仮想空間の左上を原点として、Xvは右方向を正、Yvは下方向を正とする。Fhは仮想空間VSの横方向サイズ、Vhは表示領域Sの横方向のサイズ、Fwは仮想空間VSの縦方向のサイズ、Vwは表示領域Sの縦方向のサイズを示す。なお、本例では、仮想空間VSの視角は、横方向、縦方向のどちらも90°である。
次に、表示制御部22は、表示領域Sのコンテンツの画像を出力する。表示領域Sの画像とは、仮想空間VSの内、座標(Xv、Yv)を左上として、右方向にVh、下方向にVwの部分2次元データである。表示制御部22は、表示領域Sの画像を、例えばラスタースキャン方式で出力する。その結果、頭部と腰部が同じ方向(頭部方位角回転量Raz=0)のときはXv=(Fh-Vh)/2となり、表示領域S内の中央部に配置されたコンテンツBの画像を表示する。一方、図4のように頭部の方向が腰部に対して左に回転した場合(頭部方位角回転量Raz>0)には、左側に配置されたコンテンツAの画像を表示する。同様に、頭部の方向が腰部に対して上下方向に回転した場合には、頭部仰俯角回転量Raxに応じて表示する画像を選択する。
上記の表示制御部22の制御によれば、頭部の差分回転量を入力することによって、ユーザ2は、仮想空間VS内から表示領域Sに映すコンテンツA~Cを選択したことになる。そして、仮想空間VS内で表示領域Sが移動する(すなわちコンテンツを選択できる)のは頭部のみが動いた場合であり、頭部と腰部が一緒に動いた場合は仮想空間VS内の表示領域Sは固定され、常に同一のコンテンツ(例えばコンテンツB)の画像が表示される。言い換えれば、ユーザ2から見ると、仮想空間VSは常に腰部の方向に固定されている、あるいは腰部の方向に合わせて移動している、と言うことができる。
次に、上記の表示制御部22を有する頭部装着型表示装置1を用いた作業の例を説明する。比較のため、従来の方式として、仮想空間を現実空間に固定した場合の課題から説明する。
図5は、仮想空間を現実空間に固定した場合の作業例を示す図である。ここでは、現実空間には作業台Aと作業台Bが存在し、仮想空間VSには作業マニュアルなどのコンテンツCが収納されている。ここに、仮想空間VSの位置は現実空間に固定され、作業台Aと作業台Bに跨って配置されているとする。従来の頭部装着型表示装置1’では、仮想空間VS内で頭部装着型表示装置1’の正面方向に配置されたコンテンツを表示する。よって、頭部装着型表示装置1’を装着したユーザ2は、頭部の方向を変えることで、視線方向に配置されたコンテンツを見ることができる。その際、腰部の方向は関係しない。
ユーザ2が作業台Aで作業を行う場合は、作業で参照するコンテンツC(作業マニュアル)を作業台Aの位置ではなく、例えば右側にずらして配置することで、作業マニュアルを見ながらの作業が行い易くなる。よって、コンテンツCの位置は、仮想空間VSの右側(例えば作業台Bの位置)に配置するのが望ましい。
しかし、ユーザ2が隣の作業台Bで作業台Aと異なる作業をする場合、コンテンツCの表示位置が作業台Bと重なってしまい、作業台Bでの作業がやりにくくなるという課題がある。かりに、作業台Aの左側にコンテンツCを配置したとしても、作業台Bでの作業時にはコンテンツCまでの距離が遠くなることで、視線を動かす距離が長くなり、ユーザにとって使いにくいことは同様である。
図6は、本実施例における表示制御の効果を説明する図である。本実施例では、仮想空間を現実空間に固定するのではなく、図4で説明したように、ユーザ2から見ると、仮想空間VSは常にユーザの腰部の方向に固定されている。よって作業台Bでの作業時には、ユーザ2は体全体を作業台Bに向けることで、仮想空間VSはユーザの正面方向に移動する。これと同時に、仮想空間VS上のコンテンツCもユーザから見て右手方向に移動する。これによって、初期状態として図5のようにコンテンツCを作業台Aの右に配置した場合でも、作業台Bでの作業時には、体全体を作業台Bに向けることで、コンテンツCが作業台Bに重ならないようになる。ユーザがコンテンツCを見たいときは、腰部はそのままで頭部だけ右側を向ければよい。
すなわちこの効果は、図4で述べたように、頭部の差分回転量からユーザの視線方向を求め、これに合わせるように表示領域Sの位置を移動させること、その結果、仮想空間VSがユーザ2の体の正面に固定されていることに基づく。これにより、例えば、仮想空間VS上のコンテンツが、現実空間の見たい物体(作業台)に重なり合っている場合には、ユーザ2自身が体の向きを変えることによって仮想空間VSとコンテンツを動かすことができ、コンテンツおよび現実空間の視認性を向上させることができる。
実施例2では、実施例1の動作に加え、さらにユーザの頭部の前後方向の動き(差分移動量)を検出し、差分移動量に応じて仮想空間のサイズを拡大または縮小させる構成とする。これにより、例えばユーザが前傾姿勢になることで、表示画像のズーム操作を行うことができる。
図7は、実施例2に係る頭部装着型表示装置1aの機能構成を示すブロック図である。なお、実施例1(図3)と同一の構成、機能を有するものには同一の符号を付して、その詳細な説明を省略する。頭部装着型表示装置1aは、新たに、頭部移動認識部24と仮想空間拡縮部25を追加している。
本実施例では、第1センサ11aおよび第2センサ11bが含む3つ以上の加速度センサは、互いに測定軸が直交するように配置され、少なくとも装着部位の左右(X軸)、前後(Y軸)、上下(Z軸)の加速度を測定する。頭部移動認識部24は、第1センサ11aおよび第2センサ11bから得られたそれぞれの装着部位の加速度および角速度から、ユーザ2の腰部に対する頭部の前後(Y軸)方向の移動量(差分移動量)を算出する。すなわち、頭部のみが移動しているのか、腰部ごと移動しているのかを識別する。以下、頭部の前後方向の差分移動量を、頭部前方移動量Mと呼ぶ。また仮想空間拡縮部25は、頭部移動認識部24から入力する頭部前方移動量Mに応じて、仮想空間保存部23に保存されている仮想空間VSを拡大/縮小して出力する。
頭部移動認識部24の行う頭部前方移動量Mの算出方法を具体的な説明する。なお、説明を簡易にするために仰俯角については考慮しない。頭部移動認識部24は、まず、頭部の位置(Xat、Yat)を数式2に従って更新する。
ここに、θatは時刻tにおける頭部の角度、Vθaは頭部方位角速度、Δtは時刻t-1から時刻tまでの時間である。Vxaは時刻t-1から時刻tにおける頭部のX軸方向速度、Vyaは時刻t-1から時刻tにおける頭部のY軸方向速度である。Xatは時刻tにおける頭部X軸位置、Yatは時刻tにおける頭部Y軸位置である。Vθkは腰部方位角速度、Vxkは時刻t-1から時刻tにおける腰部のX軸方向速度、Vykは時刻t-1から時刻tにおける腰部のY軸方向速度である。なお、θatは腰部前方を角度0、VxaおよびVyaは頭部前方をY軸、Xat、Yat、Vxk、Vykは腰部前方をY軸とする。このとき、VxaおよびVyaは第1センサ11aに含まれる加速度センサの出力値の時間積分、VxkおよびVykは第2センサ11bに含まれる加速度センサの出力値の時間積分によって求められる。
次に、頭部前方移動量Mを求める。頭部位置(Xat,Yat)から、腰部位置を通るXZ面に平行な面への垂線の長さを頭部前方移動量Mとする(後述する図8(b)参照)。このように頭部前方移動量Mを求めることで、頭部を横に向けた状態で頭部を前方に動かした場合でも頭部前方移動量Mが変化するため、自然な拡縮処理(ズーム動作)を実現することができる。
図8は、頭部前方移動量Mに応じた仮想空間の拡縮処理を説明する図である。頭部装着型表示装置1aを装着したユーザ2の正面には仮想空間VSが配置されている。頭部装着型表示装置1aを介して見える仮想空間までの距離Laは、予め決められている。(a)はユーザ2が直立しているとき、(b)は、ユーザ2が前傾姿勢をしているときである。(a)の直立状態とは、頭部に装着された頭部装着型表示装置1の地平面に対する位置と、腰部の地平面に対する位置が一致している。このとき、頭部前方移動量Mは0となる。一方、(b)は前傾姿勢状態で、頭部装着型表示装置1aの地平面上の位置(Xat,Yat)と腰部の地平面上の位置に差がある。この差のうち、頭部の前方方向(Y方向)の位置の差が頭部前方移動量Mである。つまり、頭部前方移動量Mは、仮想空間VSにユーザの頭部のみがどれだけ近づいたかを表し、近づいた時をM>0、遠ざかった時をM<0とする。
仮想空間拡縮部25は、頭部移動認識部24が算出した頭部前方移動量Mに応じて、仮想空間保存部23に保存されている仮想空間VSを拡大または縮小して出力する。すなわち、M>0ならば拡大(ズームイン)、M<0ならば縮小(ズームアウト)するズーム動作となる。(b)はM>0で仮想空間VS’に拡大した場合を示す。
仮想空間拡縮部25は、まず、ズーム動作を行ったときの仮想空間までの距離Lbを求める。仮想空間距離Lbは、仮想空間距離Laと頭部前方移動量Mの差であり(Lb=La-M)、頭部を通り仮想空間VSに垂直な線分の長さである。次に、仮想空間VSの拡大率Zを計算する。拡大率Zは、仮想空間距離Laを仮想空間距離Lbで除算した値Z=La/Lbである。つまり、拡大率Z>1ならば仮想空間VSを拡大し、拡大率Z<1ならば仮想空間VSを縮小し、これにより仮想空間VSに含まれるコンテンツも拡縮される。拡縮する手法には、例えば、最近傍法、バイリニア法、バイキュービック法などのアルゴリズムを用いる。その後、拡縮した仮想空間VS’を出力する。出力形式は、ビットマップイメージなどの画像ファイル形式や、コンテンツの画像と座標の配列形式である。
表示制御部22は、仮想空間拡縮部25が出力する拡縮された仮想空間VS’のうち表示領域Sをどの部分にするかを決定し、表示領域Sのコンテンツをディスプレイ12へ出力する。表示領域Sの決定方法は実施例1と同様であり、頭部回転認識部21が出力する頭部の差分回転量に応じて表示領域Sを移動させる。なお、ディスプレイ12で見える表示領域Sの大きさと表示領域Sまでの距離Laは仮想空間VSの拡縮とは関係なく一定であるが、仮想空間VSを拡縮したことにより、ユーザ2が表示領域S内に視認する画像は上記拡大率Zだけ拡大または縮小されたものとなる。
実施例2によれば、前傾姿勢による頭部前方移動量を検出することで仮想空間VSを拡縮し、表示画像のズーム制御を行うことができる。これにより、ユーザにとって自然な動作で表示画像のズーム操作を行うことができる。
実施例3では、センサの検出値からユーザの歩行状態を判定し、実施例2で述べた表示画像の拡縮処理(ズーム動作)の有効/無効を制御する構成とする。これにより、例えばユーザが歩行時にふらつく場合でも、表示画像を安定化することができる。
図9は、実施例3に係る頭部装着型表示装置1bの機能構成を示すブロック図である。頭部装着型表示装置1bは、実施例2(図7)の構成に対し、歩行判定部26を追加している。なお、実施例2と同一の構成、機能を有するものには同一の符号を付して、その詳細な説明を省略する。
歩行判定部26は、ユーザ2が歩行しているかの判定を行う。歩行とは、腰部が所定以上の速度で移動するとともにこれに頭部が追従している状態である。よって、腰部と頭部の速度を比較することで判定する。歩行判定部26は、歩行している場合は歩行信号を、歩行していない場合は静止信号を頭部移動認識部24へ出力する。頭部移動認識部24は、歩行判定部26から入力した歩行信号または静止信号に応じて、算出した頭部前方移動量Mを修正し(有効または無効とし)、その結果仮想空間拡縮部25は仮想空間の拡縮処理を実行または中止する。
図10は、歩行判定と頭部前方移動量の修正処理のフローチャートである。
ステップS101:第1センサ11aおよび第2センサ11bからセンサ値を取得する。センサ値とは、それぞれの装着部位の加速度の値および角速度の値である。
ステップS102:頭部前方移動速度Vaおよび腰部前方移動速度Vkを数式3に従って計算する。ここに、頭部の位置(Xat、Yat)は前記数式2から求められ、Vykは数式2で用いた腰部のY軸方向速度である。
ステップS101:第1センサ11aおよび第2センサ11bからセンサ値を取得する。センサ値とは、それぞれの装着部位の加速度の値および角速度の値である。
ステップS102:頭部前方移動速度Vaおよび腰部前方移動速度Vkを数式3に従って計算する。ここに、頭部の位置(Xat、Yat)は前記数式2から求められ、Vykは数式2で用いた腰部のY軸方向速度である。
ステップS103:腰部前方移動速度Vkが閾値D1よりも大きいか判定する。Vkが閾値D1よりも大きい場合にはステップS104に遷移し、Vkが閾値D1以下である場合にはステップS107に遷移する。
ステップS104:頭部前方移動速度Vaと腰部前方移動速度Vkの速度差Vsを求める。
ステップS105:速度差Vsの絶対値が閾値D2よりも小さい場合にはステップS106に遷移する。速度差Vsの絶対値が閾値D2以上の場合には、ステップS407に遷移する。
ステップS104:頭部前方移動速度Vaと腰部前方移動速度Vkの速度差Vsを求める。
ステップS105:速度差Vsの絶対値が閾値D2よりも小さい場合にはステップS106に遷移する。速度差Vsの絶対値が閾値D2以上の場合には、ステップS407に遷移する。
ステップS106:頭部と腰部が一緒に移動している「歩行状態」であると判定して頭部移動認識部24へ歩行信号を出力し、ステップS108に遷移する。
ステップS107:ユーザは「静止状態」と判定して頭部移動認識部24へ静止信号を出力し、ステップS109に遷移する。
ステップS107:ユーザは「静止状態」と判定して頭部移動認識部24へ静止信号を出力し、ステップS109に遷移する。
ステップS108:頭部移動認識部24は、歩行判定部26から歩行信号を受け取った場合には、頭部のみの移動ではないと認識し頭部前方移動量Mを0(無効)として出力する。その結果、仮想空間拡縮部25は仮想空間の拡縮処理(ズーム動作)を中止する。
ステップS109:頭部移動認識部24は、歩行判定部26から静止信号を受け取った場合には、算出した頭部前方移動量Mを有効として出力する。そして仮想空間拡縮部25は、仮想空間の拡縮処理(ズーム動作)を実行する。
ステップS109:頭部移動認識部24は、歩行判定部26から静止信号を受け取った場合には、算出した頭部前方移動量Mを有効として出力する。そして仮想空間拡縮部25は、仮想空間の拡縮処理(ズーム動作)を実行する。
実施例4によれば、ユーザが歩行状態(速度D1より速く歩行)である場合には、表示画像の拡縮処理(ズーム動作)を中止させる。これにより、ユーザが歩行中でふらつく場合でも、頭部装着型表示装置1bの画像表示が見やすくなる効果がある。
実施例4では、仮想空間VSの拡縮処理前に、仮想空間VSの前処理として切り出しを行う構成とした。切り出し処理とは、拡縮処理に伴う仮想空間VSのサイズ変化分を事前に補正し、拡縮処理後の仮想空間VSのサイズを一定にするものである。これにより、拡縮処理(ズーム動作)時にも、仮想空間VS内の表示領域Sの選択(位置決め)を精度良く行うことができる。
図11は、実施例4に係る頭部装着型表示装置1cの機能構成を示すブロック図である。頭部装着型表示装置1cは、実施例2(図7)の構成に対し、仮想空間切り出し部27を追加している。なお、実施例2と同一の構成、機能を有するものには同一の符号を付して、その詳細な説明を省略する。
仮想空間切り出し部27は、仮想空間VSの切り出しを行う。ここに切り出し処理とは、仮想空間拡縮部25にて仮想空間VSを拡縮することにより生じる拡縮後の外形サイズの変化分を補正するように、事前に仮想空間VSの周辺部をトリミング(切り取り)またはパディング(埋め込み)する処理のことである。
そのため仮想空間切り出し部27は、頭部移動認識部24が出力する頭部前方移動量Mによって、仮想空間拡縮部25が行う仮想空間VSの拡縮処理の拡大率Zを計算する。実施例2(図8)で説明した通り、拡大率Zは仮想空間距離Laを仮想空間距離Lbで除算した値であり(Z=La/Lb)、頭部前方移動量Mを用いて算出する。
図12は、仮想空間の切り出し処理を説明する図である。(a)は切り出し前の仮想空間VS0を、(b)は切り出し後の仮想空間VS1を、(c)は拡縮処理後の仮想空間VS2を示す。
仮想空間切り出し部27は、拡大率Zに従い、仮想空間保存部23に保存された仮想空間VS0の切り出しを行う。切り出し形状は、仮想空間VS0の中心位置に合わせて、横の長さがFh/Z、縦の長さがFw/Zとなる長方形とする。このとき、拡大率Zが1より大きい場合は、長方形の外側の仮想空間部分をトリミングする。拡大率Zが1より小さい場合は、長方形と仮想空間の隙間に空白部をパディングする。このようにして仮想空間切り出し部27は、切り出し後の長方形の仮想空間VS1を仮想空間拡縮部25に出力する。
仮想空間拡縮部25は、仮想空間切り出し部27が切り出した仮想空間VS1を入力して、頭部前方移動量Mに従い拡縮処理を行う。その際、拡縮後の仮想空間2のサイズは、仮想空間保存部23に保存された元の仮想空間VS0のサイズと等しくなる。その後、表示制御部22は、頭部回転認識部21からの頭部差分回転量に応じて、仮想空間に対し表示領域Sを決定する。
実施例4によれば、仮想空間VSの拡縮前に仮想空間VSの切り出し処理を行うことで、拡縮処理(ズーム動作)を行っても仮想空間内の表示領域Sを精度良く位置決めできるという効果がある。
実施例5は、腰部の動きを検出する第2センサの代わりに、外部から腰部動き信号を受信する構成とする。
図13は、実施例5に係る頭部装着型表示装置1dのハードウェア構成を示す図である。本実施例の頭部装着型表示装置1dは、実施例1(図2)における2つのセンサのうち第2センサ11bを受信部16で置き換え、外部デバイス3から腰部動き信号を受信する構成としている。受信部16は、例えば、イーサネット(登録商標)、USB(Universal Serial Bus)などの通信手段であり、有線/無線接続のいずれでも良い。他の構成は、実施例1(図2)と同一である。
図14は、頭部装着型表示装置1dの機能構成を示すブロック図である。ここでは、実施例2(図7)と同様の機能を実現する構成例を示す。すなわち、第1センサ11aからの頭部動き信号と、受信部16で受信した腰部動き信号を用いて表示制御を行うため、頭部回転認識部21、頭部移動認識部24、表示制御部22、仮想空間拡縮部25、などを備えている。
受信部16は、外部デバイス3から腰部動き信号を受信する。腰部動き信号とは、ユーザの腰部の回転や移動を示す信号であり、例えば、外部に設置したカメラシステムや、腰部に取り付けたスマートフォンから取得することができる。
頭部回転認識部21は、第1センサ11aから得られた頭部の角速度および受信部16から得られた腰部の角速度から、ユーザ2の頭部の差分回転量(頭部仰俯角回転量Raxおよび頭部方位角回転量Raz)を算出して出力する。
頭部移動認識部24は、第1センサ11aから得られた頭部の移動量および受信部610から得られた腰部の移動量から、ユーザ2の頭部の差分移動量(頭部前方移動量M)を算出して出力する。
その後、表示制御部22は、頭部仰俯角回転量Raxおよび頭部方位角回転量Razに基づき、仮想空間VSの表示領域Sを決定する(実施例1と同様)。また、仮想空間拡縮部25は、頭部前方移動量Mに基づき、仮想空間VSのサイズを拡大または縮小する(実施例2と同様)。
なお、上記の表示制御では実施例2の仮想空間の拡縮処理に基づいて説明したが、さらに、実施例3で述べた歩行判定や、実施例4で述べた仮想空間の切り出し処理を組み合わせることも可能であることは言うまでもない。
実施例5によれば、ユーザは腰部に第2センサを装着することなく頭部の差分回転量や差分移動量を算出し、これに応じた表示制御を行うことができるので、頭部装着型表示装置1dの構成が簡素化できる効果がある。
実施例6では、第1、第2センサの代わりに、外部から頭部動き信号を受信する構成とする。
図15は、実施例6に係る頭部装着型表示装置1eのハードウェア構成を示す図である。本実施例の頭部装着型表示装置1eは、実施例1(図2)における第1、第2センサ11a,11bを受信部16で置き換え、外部デバイス3から頭部動き信号を受信する構成としている。受信部16は、例えば、イーサネット(登録商標)、USB(Universal Serial Bus)などの通信手段であり、有線/無線接続のいずれでも良い。他の構成は、実施例1(図2)と同一である。
図16は、頭部装着型表示装置1eの機能構成を示すブロック図である。ここでは、実施例1(図3)と同様の機能を実現する構成例を示す。すなわち、受信部16で受信した頭部動き信号を用いて表示制御を行うため、表示制御部22を備えている。
受信部16は、外部デバイス3から、腰部に対する頭部の動き信号として、実施例1で説明した頭部差分回転量(頭部仰俯角回転量Raxおよび頭部方位角回転量Raz)を受信する。
表示制御部22は、受信した頭部の差分回転量に応じて、仮想空間保存部23内の仮想空間VSのうちユーザに提示する表示領域Sを決定する。ディスプレイ12は、表示制御部22から出力された表示領域Sの画像(コンテンツ)を表示する。頭部の差分回転量に応じた表示領域の決定は、実施例1(図4~図6)に述べた通りである。
実施例6によれば、実施例1と同様に、ユーザ2から見て仮想空間VSは常に腰部の方向に固定されているので、作業者の動きに対して常に見易い位置に画像を表示することができる。さらに本実施例では、頭部装着型表示装置はユーザの動きを検出するセンサを含まない構成としたので、簡単な構成で実現できる。
なお、実施例6では実施例1の機能を実現する場合を説明したが、外部デバイス3から頭部の差分回転量だけでなく差分移動量を受信することも可能であり、これにより実施例2~実施例4の機能への拡張も可能であることは言うまでもない。
本発明は、上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した各実施例は、本発明を分かりやすく説明するために詳細に説明したものであり、本発明が、必ずしも説明した全ての構成要素を備えるものに限定されるものではない。また、ある実施例の構成の一部を、他の実施例の構成に置き換えることが可能であり、ある実施例の構成に、他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除および置換をすることが可能である。
また、上記各構成、機能、処理部および処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成および各機能は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現されてもよい。各機能を実現するプログラム、テーブルおよびファイル等の情報は、メモリ、ハードディスクおよびSSD(Solid State Drive)等の記憶装置、または、IC(Integrated Circuit)カード、SDカード、DVD等の記憶媒体に置くことができる。また、制御線および情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線および情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
本発明は、頭部装着型表示装置だけなく、頭部装着型表示装置で実行されるコンピュータ読み取り可能なプログラム、頭部装着型表示装置における処理方法等の様々な態様で提供することができる。
1,1a~1e:頭部装着型表示装置、2:ユーザ、3:外部デバイス、11,11a,11b:センサ、12:ディスプレイ、13:CPU、14:ROM、15:RAM、16:受信部、21:頭部回転認識部、22:表示制御部、23:仮想空間保存部、24:頭部移動認識部、25:仮想空間拡縮部、26:歩行判定部、27:仮想空間切り出し部、VS:仮想空間、S:表示領域。
Claims (9)
- ユーザの頭部に装着して仮想空間の画像を表示する頭部装着型表示装置において、
前記ユーザの頭部の動きを検出する第1センサと、
前記ユーザの腰部の動きを検出する第2センサと、
前記第1センサおよび前記第2センサの検出値から前記ユーザの腰部に対する頭部の差分回転量を算出する頭部回転認識部と、
1つ以上の表示する画像が予め位置決めして収納された前記仮想空間を保存する仮想空間保存部と、
前記仮想空間保存部が保存する前記仮想空間に表示領域を決定して表示する画像を選択する表示制御部と、
前記表示制御部により選択された画像を表示するディスプレイと、を備え、
前記表示制御部は、前記頭部回転認識部が算出した頭部の差分回転量に応じて前記仮想空間に表示領域を決定し、決定した表示領域に位置する画像を選択して前記ディスプレイに出力することを特徴とする頭部装着型表示装置。 - 請求項1に記載の頭部装着型表示装置であって、さらに、
前記第1センサおよび前記第2センサの検出値から前記ユーザの腰部に対する頭部の前方差分移動量を算出する頭部移動認識部と、
前記仮想空間保存部に保存されている前記仮想空間を拡大/縮小する仮想空間拡縮部と、を備え、
前記仮想空間拡縮部は、前記頭部移動認識部が算出した頭部の前方差分移動量に応じて前記仮想空間を拡大/縮小し、
前記表示制御部は、前記仮想空間拡縮部が拡大/縮小した前記仮想空間に対し、前記頭部回転認識部が算出した頭部の差分回転量に応じて表示領域を決定することを特徴とする頭部装着型表示装置。 - 請求項2に記載の頭部装着型表示装置であって、さらに、
前記第1センサおよび前記第2センサの検出値から、前記ユーザの腰部の前方移動速度Vkが閾値D1より大きく、頭部と腰部の前方移動速度差Vsの絶対値が閾値D2より小さいとき、前記ユーザは歩行中であると判定する歩行判定部、を備え、
前記歩行判定部が歩行中と判定した場合には、前記頭部移動認識部は、頭部の前方差分移動量を0として出力することを特徴とする頭部装着型表示装置。 - 請求項2に記載の頭部装着型表示装置であって、さらに、
前記仮想空間保存部に保存されている仮想空間の周辺部を切り取り/埋め込み(以下、切り出し処理)を行う仮想空間切り出し部、を備え、
前記仮想空間切り出し部は、前記頭部移動認識部が算出した頭部の前方差分移動量に応じて前記仮想空間の切り出し処理を行い、
前記仮想空間拡縮部は、前記仮想空間切り出し部が切り出し処理を行った前記仮想空間に対し、前記頭部移動認識部が算出した頭部の前方差分移動量に応じて拡大/縮小することを特徴とする頭部装着型表示装置。 - 請求項1ないし請求項4のいずれかに記載の頭部装着型表示装置であって、
前記第2センサに代えて、外部デバイスから前記ユーザの腰部の動き信号を受信する受信部を備え、
前記第2センサの検出値として、前記受信部の受信信号を用いることを特徴とする頭部装着型表示装置。 - ユーザの頭部に装着して仮想空間の画像を表示する頭部装着型表示装置において、
外部デバイスから、前記ユーザの腰部に対する頭部の差分回転量を示す信号を受信する受信部と、
1つ以上の表示する画像が予め位置決めして収納された前記仮想空間を保存する仮想空間保存部と、
前記仮想空間保存部が保存する前記仮想空間に表示領域を決定して表示する画像を選択する表示制御部と、
前記表示制御部により選択された画像を表示するディスプレイと、を備え、
前記表示制御部は、前記受信部が受信した頭部の差分回転量に応じて前記仮想空間に表示領域を決定し、決定した表示領域に位置する画像を選択して前記ディスプレイに出力することを特徴とする頭部装着型表示装置。 - 請求項6に記載の頭部装着型表示装置であって、さらに、
前記受信部は、外部デバイスから、前記ユーザの腰部に対する頭部の前方差分移動量を示す信号を受信するとともに、
前記仮想空間保存部に保存されている前記仮想空間を拡大/縮小する仮想空間拡縮部、を備え、
前記仮想空間拡縮部は、前記受信部が受信した頭部の前方差分移動量に応じて前記仮想空間を拡大/縮小し、
前記表示制御部は、前記仮想空間拡縮部が拡大/縮小した前記仮想空間に対し、前記受信部が受信した頭部の差分回転量に応じて表示領域を決定することを特徴とする頭部装着型表示装置。 - ユーザが装着した頭部装着型表示装置により仮想空間の画像表示を行う仮想空間表示制御方法において、
前記仮想空間に、予め1つ以上の表示する画像を位置決めして収納するステップと、
前記ユーザの腰部に対する頭部の差分回転量を取得するステップと、
取得した頭部の差分回転量に応じて前記仮想空間に表示領域を決定するステップと、
前記仮想空間から決定された表示領域に位置する画像を選択するステップと、
選択された画像を表示するステップと、
を備えることを特徴とする仮想空間表示制御方法。 - 請求項8に記載の仮想空間表示制御方法であって、さらに、
前記ユーザの腰部に対する頭部の前方差分移動量を取得するステップと、
取得した頭部の前方差分移動量に応じて前記仮想空間を拡大/縮小するステップと、を備え、
前記表示領域を決定するステップでは、拡大/縮小された前記仮想空間に対し、取得した頭部の差分回転量に応じて表示領域を決定することを特徴とする仮想空間表示制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019016073A JP7048520B2 (ja) | 2019-01-31 | 2019-01-31 | 頭部装着型表示装置および仮想空間表示制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019016073A JP7048520B2 (ja) | 2019-01-31 | 2019-01-31 | 頭部装着型表示装置および仮想空間表示制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020123260A JP2020123260A (ja) | 2020-08-13 |
JP7048520B2 true JP7048520B2 (ja) | 2022-04-05 |
Family
ID=71992780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019016073A Active JP7048520B2 (ja) | 2019-01-31 | 2019-01-31 | 頭部装着型表示装置および仮想空間表示制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7048520B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI757872B (zh) * | 2020-09-16 | 2022-03-11 | 宏碁股份有限公司 | 整合動作感測器的擴增實境系統與擴增實境顯示方法 |
CN114253389B (zh) * | 2020-09-25 | 2023-05-23 | 宏碁股份有限公司 | 整合动作感测器的增强现实系统与增强现实显示方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001103395A (ja) | 1999-09-30 | 2001-04-13 | Kawasaki Heavy Ind Ltd | ヘッド・マウント・ディスプレイ装置 |
WO2016002318A1 (ja) | 2014-06-30 | 2016-01-07 | ソニー株式会社 | 情報処理装置及び情報処理方法、コンピューター・プログラム、並びに画像処理システム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3795647B2 (ja) * | 1997-10-29 | 2006-07-12 | 株式会社竹中工務店 | ハンドポインティング装置 |
JP2014098564A (ja) * | 2012-11-13 | 2014-05-29 | Panasonic Corp | 情報表示装置 |
JP6633269B2 (ja) * | 2014-10-21 | 2020-01-22 | ローム株式会社 | 視覚補助システム |
-
2019
- 2019-01-31 JP JP2019016073A patent/JP7048520B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001103395A (ja) | 1999-09-30 | 2001-04-13 | Kawasaki Heavy Ind Ltd | ヘッド・マウント・ディスプレイ装置 |
WO2016002318A1 (ja) | 2014-06-30 | 2016-01-07 | ソニー株式会社 | 情報処理装置及び情報処理方法、コンピューター・プログラム、並びに画像処理システム |
Also Published As
Publication number | Publication date |
---|---|
JP2020123260A (ja) | 2020-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI574224B (zh) | An image processing apparatus, an image processing method, a video product processing apparatus, a recording medium, and an image display apparatus | |
JP6092437B1 (ja) | 仮想空間画像提供方法、及びそのプログラム | |
JP5614014B2 (ja) | 情報処理装置、表示制御方法及び表示制御プログラム | |
JP5472056B2 (ja) | 表示システム、表示処理装置、表示方法、および表示プログラム | |
JP6057396B2 (ja) | 3次元ユーザインタフェース装置及び3次元操作処理方法 | |
CN110913751B (zh) | 具有滑动检测和校正功能的可穿戴眼睛跟踪系统 | |
JP4677281B2 (ja) | 画像処理方法、画像処理装置 | |
JP7274510B2 (ja) | 仮想オブジェクト表示装置及び仮想オブジェクト表示方法 | |
US20180005424A1 (en) | Display control method and device | |
JP2017102603A (ja) | 画像処理装置、画像処理方法および画像処理プログラム | |
KR20150085797A (ko) | 정보처리장치 및 정보처리방법 | |
JP7048520B2 (ja) | 頭部装着型表示装置および仮想空間表示制御方法 | |
JP7406875B2 (ja) | 情報処理装置およびプログラム | |
US10573083B2 (en) | Non-transitory computer-readable storage medium, computer-implemented method, and virtual reality system | |
JP6723743B2 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
JP5597064B2 (ja) | 情報処理装置およびその方法 | |
JP2021135776A (ja) | 情報処理装置、情報処理方法、およびプログラム | |
JP4563723B2 (ja) | 指示動作認識装置及び指示動作認識プログラム | |
JP6582205B2 (ja) | 情報処理装置、情報処理装置のプログラム、ヘッドマウントディスプレイ、及び、情報処理システム | |
JP6975001B2 (ja) | 傾き測定装置及び傾き測定方法 | |
JP2018128739A (ja) | 画像処理装置、画像処理方法、コンピュータプログラム、及び記憶媒体 | |
JP7401245B2 (ja) | 画像合成装置、画像合成装置の制御方法およびプログラム | |
US20200258193A1 (en) | Information processing apparatus, information processing method, and storage medium | |
JP2019045997A (ja) | 情報処理装置及びその方法、プログラム | |
CN113412510A (zh) | 图像调整系统、图像调整装置以及图像调整方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210325 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220315 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220324 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7048520 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |