(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-31
(45)【発行日】2022-11-09
(54)【発明の名称】映像表示装置及び映像表示方法
(51)【国際特許分類】
G06F 3/01 20060101AFI20221101BHJP
G09B 29/10 20060101ALI20221101BHJP
【FI】
G06F3/01 510
G09B29/10 A
(21)【出願番号】P 2021501411
(86)(22)【出願日】2019-02-26
(86)【国際出願番号】 JP2019007184
(87)【国際公開番号】W WO2020174554
(87)【国際公開日】2020-09-03
【審査請求日】2021-08-20
(73)【特許権者】
【識別番号】000005810
【氏名又は名称】マクセル株式会社
(74)【代理人】
【識別番号】110001689
【氏名又は名称】青稜弁理士法人
(72)【発明者】
【氏名】中出 眞弓
(72)【発明者】
【氏名】伊藤 保
(72)【発明者】
【氏名】橋本 康宣
【審査官】円子 英紀
(56)【参考文献】
【文献】特開2012-063253(JP,A)
【文献】特開平06-258088(JP,A)
【文献】特開2001-134595(JP,A)
【文献】特開2008-157880(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01
G09B 29/10
(57)【特許請求の範囲】
【請求項1】
ユーザが
頭部に装着して使用し、該ユーザの移動軌跡を映像で表示する映像表示装置において、
当該映像表示装置を携帯した前記ユーザの位置と方向
と頭部の高さを検出するセンサと、
前記センサの検出結果から前記ユーザの移動軌跡の情報を取得する軌跡情報取得部と、
前記軌跡情報取得部にて取得した前記ユーザの軌跡情報と、前記ユーザを示す仮想映像であるアバターの情報を保存する記憶部と、
前記ユーザの移動軌跡を前記アバターで表示する表示部と、
前記軌跡情報取得部と前記表示部を制御する制御部と、を備え、
前記制御部は、
前記センサが検出した前記ユーザの位置と方向と頭部の高さを、前記軌跡情報として前記記憶部に保存し、
前記記憶部に保存された前記アバターの情報から前記アバターを生成するとともに、前記センサにより現在の前記ユーザの視界領域を求め、
前記記憶部に保存された前記ユーザの軌跡情報をもとに、現在の前記ユーザの視界領域に合わせ、前記ユーザの移動軌跡に前記生成したアバターを配置して前記表示部に表示
し、
前記アバターを前記ユーザの移動軌跡に沿って移動させる際に、時間的に新しい軌跡情報から古い軌跡情報に向かって移動させ、
前記アバターを生成して表示させるとき、前記記憶部に保存された前記ユーザの頭部の高さと方向の情報をもとに、前記ユーザの身長情報と比較して、前記アバターの姿勢と顔の向きを決定することを特徴とする映像表示装置。
【請求項2】
請求項1記載の映像表示装置において、
前記制御部は、現在の前記ユーザの視界領域内に前記アバターを配置できないとき、前記ユーザに対し、視野方向を変えさせる、または前記アバターの見える位置まで移動させるための誘導処理を行うことを特徴とする映像表示装置。
【請求項3】
請求項1記載の映像表示装置において、
前記軌跡情報取得部は、前記ユーザの移動軌跡の情報を予め定めた単位時間毎に取得して、各軌跡ポイントの位置座標を前記記憶部に保存し、
前記制御部は、前記単位時間毎、あるいは前記単位時間に任意の係数を乗じた時間毎に、前記記憶部から各軌跡ポイントの位置座標を読み出して、該位置座標に前記アバターを配置することを特徴とする映像表示装置。
【請求項4】
請求項3記載の映像表示装置において、
前記軌跡情報取得部は、各軌跡ポイントの位置座標を、時間的に1つ前の軌跡ポイントの位置座標との差分値として前記記憶部に保存するとともに、少なくとも終点の軌跡ポイントの位置座標は、絶対値として前記記憶部に保存することを特徴とする映像表示装置。
【請求項5】
請求項3記載の映像表示装置において、
さらに外景を撮影する撮像部を備え、
前記撮像部で撮影した撮影データを、撮影位置である撮影ポイントと対応付けて前記記憶部に保存し、
前記制御部は、前記アバターの位置が前記撮影ポイントにあるとき、前記記憶部に保存された撮影データの映像を前記表示部に表示することを特徴とする映像表示装置。
【請求項6】
請求項5記載の映像表示装置において、
前記制御部は、前記撮像部で撮影した撮影データのうち、前記ユーザの移動軌跡の方向が変化した撮影ポイントにおいて撮影された映像を前記記憶部に保存し、
前記制御部は、前記アバターの位置が前記ユーザの移動軌跡の方向が変化した撮影ポイントにあるとき、前記記憶部に保存された撮影データの映像を前記表示部に表示することを特徴とする映像表示装置。
【請求項7】
請求項3記載の映像表示装置において、
さらに外景を撮影する撮像部を備え、
前記表示部には、前記撮像部で撮影されている現在の映像を表示するとともに、
前記制御部は、前記表示部に表示されている外景の映像に合わせ、前記ユーザの移動軌跡に基づき前記アバターを重畳して表示することを特徴とする映像表示装置。
【請求項8】
ユーザが携帯し、該ユーザの移動軌跡を映像で表示する映像表示装置において、
当該映像表示装置を携帯した前記ユーザの位置と方向を検出するセンサと、
前記センサの検出結果から前記ユーザの移動軌跡の情報を取得する軌跡情報取得部と、
前記軌跡情報取得部にて取得した前記ユーザの軌跡情報と、前記ユーザを示す仮想映像であるアバターの情報を保存する記憶部と、
前記ユーザの移動軌跡を前記アバターで表示する表示部と、
前記軌跡情報取得部と前記表示部を制御する制御部と、を備え、
前記制御部は、
前記記憶部に保存された前記アバターの情報から前記アバターを生成するとともに、前記センサにより現在の前記ユーザの視界領域を求め、
前記記憶部に保存された前記ユーザの軌跡情報をもとに、現在の前記ユーザの視界領域に合わせ、前記ユーザの移動軌跡に前記生成したアバターを配置して前記表示部に表示し、
前記アバターを前記ユーザの移動軌跡に沿って移動させる際に、時間的に新しい軌跡情報から古い軌跡情報に向かって移動させ、前記アバターを移動させるときの体の向きを、前記アバターの進行方向とは逆向きに表示することを特徴とする映像表示装置。
【請求項9】
複数のユーザが
頭部に装着して使用する複数の映像表示装置を接続して、該複数のユーザの移動軌跡を前記複数の映像表示装置にて映像で表示する映像表示システムにおいて、
前記複数の映像表示装置は、それぞれ、
当該映像表示装置を携帯した当該ユーザの位置と方向
と頭部の高さを検出するセンサと、
前記センサの検出結果から当該ユーザの移動軌跡の情報を取得する軌跡情報取得部と、
前記軌跡情報取得部にて取得した当該ユーザの軌跡情報と、当該ユーザと他のユーザを示す仮想映像であるそれぞれのアバターの情報を保存する記憶部と、
他のユーザが携帯する他の映像表示装置との間でそれぞれのユーザの軌跡情報を送受信する通信処理部と、
それぞれのユーザの移動軌跡をそれぞれのアバターで表示する表示部と、
前記軌跡情報取得部、前記通信処理部、前記表示部を制御する制御部と、を備え、
前記制御部は、
前記センサが検出した前記ユーザの頭部の高さと方向の情報を前記軌跡情報として前記記憶部に保存し、
前記記憶部に保存されたアバターの情報からそれぞれのユーザのアバターを生成するとともに、前記センサにより現在の当該ユーザの視界領域を求め、
前記記憶部に保存された当該ユーザの軌跡情報と、前記通信処理部にて受信した他のユーザの軌跡情報をもとに、現在の当該ユーザの視界領域に合わせ、当該ユーザと他のユーザの移動軌跡に前記生成したそれぞれのアバターを配置して前記表示部に表示
し、
前記アバターを当該ユーザと他のユーザの移動軌跡に沿って移動させる際に、時間的に新しい軌跡情報から古い軌跡情報に向かって移動させ、前記アバターを生成して表示させるとき、前記記憶部に保存された前記ユーザの頭部の高さと方向の情報をもとに、前記ユーザの身長情報と比較して、前記アバターの姿勢と顔の向きを決定することを特徴とする映像表示システム。
【請求項10】
ユーザ
が頭部に装着して使用する移動軌跡を映像で表示する映像表示方法において、
前記ユーザの位置と
前記ユーザの頭部の高さと方向を検出し前記ユーザの移動軌跡の情報を取得するステップと、
取得した前記ユーザの軌跡情報を記憶部に保存するステップと、
前記ユーザを示す仮想映像であるアバターを生成するステップと、
現在の前記ユーザの視界領域を求めるステップと、
前記記憶部に保存された前記ユーザの軌跡情報をもとに、現在の前記ユーザの視界領域に合わせ、前記ユーザの移動軌跡に前記生成したアバターを配置して表示部に表示するステップと、
前記アバターを前記ユーザの移動軌跡に沿って移動させる際に、時間的に新しい軌跡情報から古い軌跡情報に向かって移動させ、前記アバターを生成して表示させるとき、前記記憶部に保存された前記ユーザの頭部の高さと方向の情報をもとに、前記ユーザの身長情報と比較して、前記アバターの姿勢と顔の向きを決定するステップと、
を備えることを特徴とする映像表示方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、携帯型の映像表示装置及び映像表示方法に関する。
【背景技術】
【0002】
近年、スマートフォンを代表とする携帯型の映像表示装置が世の中に普及している。中でも、ユーザの頭部に装着するヘッドマウントディスプレイ(以下、HMD:Head Mounted Display)は、眼鏡型の表示画面上に、現実空間の映像とコンピュータ等により作成した拡張現実(AR:Augmented Reality)の映像とを重畳させて表示するものである。さらにHMDにセンサを取り付けることで、センサで取得した情報をAR映像として表示画面に表示することができる。例えば特許文献1には、ユーザの行動履歴を描写する携帯端末として、自己の端末の位置情報などを取得する端末情報取得手段と、周囲を撮像したカメラ画像を生成するカメラ手段と、予め取得した行動履歴と、カメラ手段の撮像範囲と、に基づいて表示すべき行動履歴描写情報(アバター)を算出する描写履歴算出手段と、行動履歴描写情報をカメラ画像に描写した合成画像を生成する画像合成手段と、合成画像を表示する表示手段と、を備える構成が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ユーザが、複雑な経路を移動しているうちに、途中立ち寄った場所や戻り経路を失念するケースが、高齢者の中に多く見受けられる。このような場合、ナビゲーション装置のように、出発地を設定すればそこに戻る代表的な経路を案内する方法があるが、ユーザが実際に通過した経路と同一に案内するとは限らず、途中の経路を正確に再現することは期待できない。
【0005】
前記特許文献1では、ユーザが行動履歴の記録を指示すると、行動履歴サーバに登録される。そして、行動履歴サーバから所望のユーザの行動履歴を取得して、ユーザの位置情報に従いアバターをカメラ画像に重ねて表示するものである。しかし前記特許文献1では、任意の他のユーザの行動履歴を取得して表示することを想定しており、ユーザ本人の行動履歴を表示することは特に考慮されていない。また、行動履歴を表示する際、ユーザが移動した地点に移動した順序にアバターが表示されるので、戻り経路を失念したユーザに対し、現在位置から帰路の道順を案内するツールとしては適していない。
【0006】
本発明の目的は、ユーザが実際に移動した経路に沿って戻り経路を案内する映像表示装置を提供することである。
【課題を解決するための手段】
【0007】
前記課題を解決するため、本発明の映像表示装置は、当該映像表示装置を携帯したユーザの位置と方向を検出するセンサと、センサの検出結果からユーザの移動軌跡の情報を取得する軌跡情報取得部と、軌跡情報取得部にて取得したユーザの軌跡情報と、ユーザを示す仮想映像であるアバターの情報を保存する記憶部と、ユーザの移動軌跡をアバターで表示する表示部と、軌跡情報取得部と表示部を制御する制御部と、を備える。ここに制御部は、記憶部に保存されたアバターの情報からアバターを生成するとともに、センサにより現在のユーザの視界領域を求め、記憶部に保存されたユーザの軌跡情報をもとに、現在のユーザの視界領域に合わせ、ユーザの移動軌跡にアバターを配置して表示部に表示する構成とする。制御部は、アバターをユーザの移動軌跡に沿って移動させる際に、時間的に新しい軌跡情報から古い軌跡情報に向かって移動させる。
【発明の効果】
【0008】
本発明によれば、移動の際に途中立ち寄った場所や戻り経路を失念したユーザに対し、戻り経路を分かりやすく案内することができる。
【図面の簡単な説明】
【0009】
【
図3】通信処理部による外部機器との接続構成例を示す図。
【
図7A】位置情報を保存する軌跡情報保存テーブル。
【
図7B】位置情報を差分値で保存する差分軌跡情報保存テーブル。
【
図7C】開始時/終了時の位置情報を保存する始点・終点位置座標テーブル。
【
図8A】静止画を保存する静止画データ格納テーブル。
【
図9A】アバター表示処理の全体を示すフローチャート。
【
図11B】アバターが向きを変えた表示例を示す図。
【
図12】HMDの操作に使用する音声コマンドの例を示すテーブル。
【
図14A】実施例2の位置情報を保存する2次元軌跡情報保存テーブル。
【
図14B】開始時/終了時の2次元始点・終点位置座標テーブル。
【
図17A】実施例7における軌跡情報保存テーブル。
【
図18】実施例8のスマートフォンの外観を示す図。
【
図19】実施例9の複数のHMDを接続した映像表示システムの構成を示す図。
【発明を実施するための形態】
【0010】
以下、本発明の実施形態を、頭部装着型の映像表示装置であるヘッドマウントディスプレイ(HMD)の例を中心に説明する。
【実施例1】
【0011】
図1は、実施例1に係るHMDの外観図を示す。HMD1はメガネ型形状で、前面にはユーザが映像を視認する表示部72や外景を撮影する撮像部71が配置され、テンプル部(つる)91には、後述する各種処理部が格納されている。また、テンプル部91内の一部の処理部は、HMD本体と分離して別の筐体に格納し、HMD本体とケーブルで接続する構成でも良い。
【0012】
図2は、HMD1の内部構成を示すブロック図である。HMD1は、主制御部10、システムバス30、記憶部40、センサ部50、通信処理部60、映像処理部70、音声処理部80、操作入力部90で構成される。
【0013】
主制御部10は、所定の動作プログラムに従ってHMD1全体を制御するマイクロプロセッサユニットである。システムバス30は、主制御部10とHMD1内の各構成ブロックとの間で各種コマンドやデータなどの送受信を行うためのデータ通信路である。
【0014】
記憶部40は、HMD1の動作を制御するための各種プログラム41、動作設定値や後述するセンサ部からの検出値やコンテンツを含むオブジェクトなどの各種データ42を格納し、各種プログラム動作で使用するワークエリア43を有する。その際記憶部40は、ネットワーク上からダウンロードした動作プログラムや前記動作プログラムで作成した各種データ、ダウンロードした動画や静止画や音声等のコンテンツを記憶可能である。また、撮像部71で撮影した動画や静止画等のデータを記憶可能である。記憶部40は、HMD1に外部から電源が供給されていない状態であっても記憶している情報を保持する必要がある。従って、例えば、フラッシュROMやSSD(Solid State Drive)などの半導体素子メモリ、HDD(Hard Disc Drive)などの磁気ディスクドライブ、等のデバイスが用いられる。なお、記憶部40に記憶された前記各動作プログラムは、ネットワーク上の各サーバ装置からのダウンロード処理により更新及び機能拡張することが可能である。
【0015】
センサ部50は、HMD1の各種の状態を検出するため、GPS(Global Positioning System)センサ51、地磁気センサ52、距離センサ53、加速度センサ54、ジャイロセンサ55、高度センサ56等で構成される。これらのセンサ群により、HMD1の位置、傾き、方角、動き、高度等を検出する。これ以外に、照度センサ、近接センサ等、他のセンサを備えていても良い。
【0016】
通信処理部60は、LAN(Local Area Network)通信部61と、電話網通信部62で構成される。LAN通信部61はアクセスポイント等を介してインターネット等のネットワークと接続され、ネットワーク上の各サーバ装置とデータの送受信を行う。アクセスポイント等との接続はWi-Fi(登録商標)等の無線接続で行われて良い。
【0017】
電話網通信部62は移動体電話通信網の基地局等との無線通信により、電話通信(通話)及びデータの送受信を行う。基地局等との通信はW-CDMA(Wideband Code Division Multiple Access)(登録商標)方式やGSM(登録商標)(Global System for Mobile communications)方式、LTE(Long Term Evolution)方式、或いはその他の通信方式によって行われて良い。LAN通信部61と電話網通信部62は、それぞれ符号化回路や復号回路やアンテナ等を備える。また、通信処理部60が、Bluetooth(登録商標)通信部や赤外線通信部等、他の通信部をさらに備えていても良い。
【0018】
映像処理部70は、撮像部71と表示部72で構成される。撮像部71は、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)センサ等の電子デバイスを用いてレンズから入力した光を電気信号に変換することにより、外景の被写体の画像データを入力するカメラユニットである。表示部72は、例えばレーザープロジェクターとハーフミラー等を使った透過型ディスプレイの表示デバイスであり、画像データをHMD1のユーザに提供する。
【0019】
音声処理部80は、音声入出力部81と音声認識部82と音声復号部83とで構成される。音声入出力部81の音声入力はマイクであり、ユーザの声などを音声データに変換して入力する。また、音声入出力部81の音声出力はスピーカであり、ユーザに必要な音声情報等を出力する。音声認識部82は、入力された音声情報を解析し、指示コマンド等を抽出する。音声復号部83は、符号化音声信号の復号処理や音声合成処理を行う。
【0020】
操作入力部90は、HMD1に対する操作指示の入力を行う指示入力部である。操作入力部90は、ボタンスイッチ等を並べた操作キー等で構成されるが、さらにその他の操作デバイスを備えても良い。例えば、通信処理部60を利用し、有線通信または無線通信により接続された別体の携帯端末機器を用いてHMD1の操作を行っても良い。また、音声処理部80の音声認識部82を利用して、操作指示の音声コマンドによりHMD1の操作を行っても良い。
【0021】
なお、
図2に示したHMD1の構成例は、本実施例に必須ではない構成も多数含んでいるが、これらが備えられていない構成であっても本実施例の効果を損なうことはない。逆に、デジタル放送受信機能や電子マネー決済機能等、図示していない構成をさらに加えても良い。
【0022】
図3は、上記の通信処理部60による外部機器との接続構成例を示す図である。HMD1のLAN通信部61は、アクセスポイントである無線ルータ4を介して、インターネット等のネットワーク5と接続する。ネットワーク5にはサーバ6が接続されており、HMD1のLAN通信部61を介してデータの送受信を行なう。
【0023】
図4は、HMD1の機能ブロックの構成を示す図である。
HMD1全体の制御処理は、主に、主制御部10が記憶部40の各種プログラム41及び各種データ42を用いて実行する。HMD1における処理は、ユーザの移動軌跡の情報を収集し保存する軌跡収集処理(S100)と、保存した軌跡情報に基づいてユーザを示す仮想映像であるアバターを表示するアバター表示処理(S200)で構成される(それぞれ破線と鎖線で示す)。
【0024】
軌跡収集処理(S100)では、各種センサ情報取得機能11によりセンサ部50の各種センサからの情報を取得し、軌跡情報処理機能12により取得した各種センサからの情報を内部で処理しやすい軌跡情報に変換する。変換処理された軌跡情報は軌跡情報保存機能13にて保存する。また、軌跡情報取得途上でユーザにより撮影指示があった場合は、映像処理部70の撮像部71を用いて撮影が行なわれる。その場合の撮影処理は撮影データ取得機能14により行われ、取得した撮影データは軌跡情報に関連付けられて撮影データ保存機能15にて保存する。
【0025】
アバター表示処理(S200)では、アバター情報保存機能16に予め保存されたユーザのアバター情報を読み出し、アバター生成機能17により生成されたアバターを、アバター表示機能18により表示する。アバターの表示位置は、軌跡情報保存機能13に保存された軌跡情報に基づいて決定する。但し、視界算出機能19により、アバターの表示位置がHMD1の視界に存在するかどうかを判断し、存在しない場合はアバターを表示しない。また、撮影データ再生機能20では、撮影データ保存機能15に保存された撮影データを経路軌跡に合わせて再生する。
【0026】
軌跡情報保存機能13、撮影データ保存機能15、アバター情報保存機能16などの保存機能は、
図3で示したように、通信処理部60のLAN通信部61を介して外部のサーバ6に保存させることもできる。
【0027】
図5は、ユーザの軌跡収集の例を示す模式図である。この例では、HMD1を装着したユーザ2が、軌跡ポイント501、502、503、504、の順番に移動している(●印で示す)。また移動方向が90度変化した軌跡ポイント503(曲がり角)において、撮像部71により被写体510を撮影している。よってこの軌跡ポイント503は撮影ポイントとなる。ここで撮影する対象は、立ち寄った場所、曲がり角、経路を間違った場所、その地点で見かけた動植物や建物等、ユーザの意思により決定されるが、後で経路軌跡を再現するときにその撮影映像が再生されるものとなる。
【0028】
図6は、HMD1の軌跡収集処理(S100)を示すフローチャートであり、
図5の軌跡模式図を例としている。この処理手順は、記憶部40の各種プログラム41に格納されている。
S110:ユーザ2の指示で軌跡収集処理(S100)を開始する。軌跡収集開始の指示は、本実施例ではユーザ2の音声で行う。例えば、音声コマンド「キセキカイシ」を発声すると、音声認識部82は軌跡収集処理の開始指示であると判断する。
【0029】
S111:軌跡ポイントのポイント番号の初期化を行なう。ここでは、ポイント番号pの初期値として0を設定し、軌跡収集処理の開始時点のポイント番号p=0とする。
S112:タイマーを起動する。タイマーは、主制御部10に内蔵されているクロックを用いて計時する。タイマーを使用するのは、ユーザの軌跡ポイントのデータを一定時間(単位時間)の間隔で収集するためである。
【0030】
S113:HMD1の位置をセンサ部50からの情報により検出し(各種センサ情報取得機能11)、保存データの形式に変換して(軌跡情報処理機能12)、記憶部40の各種データ42に保存する(軌跡情報保存機能13)。HMD1の平面上の位置は、センサ部50のGPSセンサ51にて検出する。複数のGPS衛星からの電波を受信することにより、HMD1のグローバル位置座標(経度・緯度)を検出することができる。また、高度は、センサ部50の高さセンサ56により検出することができる。例えば、気圧を計測して高度を算出する。
【0031】
HMD1の位置情報は、GPS衛星からのGPS情報以外にも、Wi-Fi(登録商標)、Bluetooth(登録商標)、携帯基地局から発信される情報などを使ってグローバル位置情報を取得することもできるので、GPS情報が取得できない場合は、それらの情報によりHMD1の位置情報を取得する。勿論、GPS情報とともに他の情報を組み合わせてもよい。以下、グローバル位置情報を取得するための情報を「GPS情報等」と呼ぶ。
【0032】
なお、上記グローバル位置情報が常に精度良く取得できる環境下であれば、ユーザの軌跡情報をグローバル位置情報を用いた空間座標系に配置することができる。一方、軌跡取得開始位置を原点とした独自の空間座標系(ローカル座標系)を生成し、センサ部50の加速度センサ54やジャイロセンサ55等で検出したユーザの移動距離や移動方向から位置の変化を算出して、ローカル座標系に配置してもよい。そして、グローバル位置情報を精度良く取得できる地点でグローバル位置情報を取得し、ローカル座標系の位置情報と対応付けることにより、例えば、連続して軌跡を取得しない場合や他人の軌跡情報を見る場合にも適用できる。
【0033】
S114:ユーザにより撮影指示があるかどうかを判断し、撮影指示がある場合はS115へ進み、撮影指示がない場合はS116へ進む。なお、撮像部71の撮影機能では、静止画撮影と動画撮影の2つの撮影モードを用意している。これらを区別するため、例えば、静止画の撮影指示には音声コマンド「サツエイ」を、動画の撮影指示には音声コマンド「サツエイカイシ」を用いる。また、動画については撮影終了の指示として音声コマンド「サツエイオワリ」を用いる。
S115:HMD1の前方にある被写体を映像処理部5の撮像部71で撮影し(撮影データ取得機能14)、撮影データを記憶部40の各種データ42として保存する(撮影データ保存機能15)。
【0034】
S116:ユーザにより軌跡情報取得処理の終了の指示がなされたかどうかを判断する。例えば、音声コマンド「キセキオワリ」により、軌跡収集処理の終了指示であると判断する。終了が指示された場合は、S117に進み軌跡情報取得処理を終了する。軌跡情報取得処理の終了が指示されなかった場合は、S118に進む。
S118:単位時間を経過したかどうかを判断する。具体的にはタイマーが単位時間を越えたかどうかで判断する。単位時間を経過した場合はS119へ進み、単位時間を経過していない場合はS114へ戻る。
S119:ポイント番号pに1を加算し、S112へ戻りタイマーをリセットして再度起動する。
【0035】
以上の軌跡収集処理(S100)により、ユーザの軌跡ポイント(位置情報)を一定時間の間隔で収集することができる。例えばタイマーの単位時間を1秒に設定することで、HMD1の軌跡を1秒毎に保存することができる。また、これに並行してユーザの指示により途中の被写体を撮影し、保存することができる。
【0036】
ここで、上記の軌跡収集処理(S100)により記憶部40に保存される軌跡情報データ(データテーブル)について、2つの方式を説明する。
【0037】
図7Aは、位置情報を測定値のまま保存する軌跡情報保存テーブル710を示す。項目として、各軌跡ポイントの順序を示すポイント番号711と、その軌跡ポイントに対応する位置座標712から構成される。位置座標712は、GPS情報等からの平面的位置情報(X,Y)と高度センサ56による高度(Y)の値を用いる。ポイント番号0は軌跡収集処理が開始(S110)された時点の位置座標(X
0,Y
0,Z
0)、ポイント番号1は単位時間(ここでは1秒とする)後の位置座標(X
1,Y
1,Z
1)である。ポイント番号kは、k秒後にユーザから撮影指示(S114)があった時点の位置座標(X
k,Y
k,Z
k)である。ポイント番号nは開始からn秒後に軌跡収集処理が終了(S117)した時点の位置座標(X
n,Y
n,Z
n)である。
【0038】
なお、データテーブルでは位置座標712は固定長サイズのデータなので、時系列に記録すれば、ポイント番号711のデータは省略できる。つまり、目的とするポイント番号pの位置座標のデータは、固定長サイズの倍数値pにより検索することができる。
【0039】
ここで、GPS情報等から位置情報が取得できない場合は、センサ部50の加速度センサ54やジャイロセンサ55などの相対値情報(差分値情報)で一旦保存する。そして、いずれかの軌跡ポイントで、GPS情報等からの位置情報(絶対値情報)が取得できた段階で、一旦保存した相対値を絶対値に補正することで対応する。
【0040】
図7Bは、位置情報を差分値で保存する差分軌跡情報保存テーブル720を示す。軌跡ポイント間で測定値の変化が少ない場合には、測定値そのままではなく差分値(変化量)で保存する方が、保存するデータ量を低減することができ実用的である。
【0041】
項目として、ポイント番号721と、その軌跡ポイントに対応する差分位置座標722から構成される。差分位置座標722では、直前の軌跡ポイントの位置座標と、現時点での軌跡ポイントの位置座標との差分値を記述する。すなわち、平面位置座標の差分値(ΔX,ΔY)は、2つの軌跡ポイント間の経度方向の距離と緯度方向の距離で記述している。高さ方向の差分値(ΔZ)についても距離で記述する。
【0042】
ポイント番号1は、軌跡収集処理が開始された時点から1秒後の差分位置座標(ΔX1,ΔY1,ΔZ
1)、ポイント番号kはk秒後の差分位置座標(ΔXk,ΔYk,ΔZ
k)、ポイント番号nは軌跡収集処理が終了した時点(開始からn秒後)の差分位置座標(ΔXn,ΔYn,ΔZ
n)をそれぞれ示している。前記
図7A(軌跡情報保存テーブル710)の位置座標712の値との関係は、
ΔX
p=X
p-X
p-1,ΔY
p=Y
p-Y
p-1,ΔZ
p=Z
p-Z
p-1
となる。
【0043】
図7Cは、軌跡収集の開始時/終了時の位置情報を保存する始点・終点位置座標テーブル730を示す。このテーブルは、
図7Bの差分軌跡情報保存テーブル720を用いて、アバターの表示位置(絶対位置)を算出するときに必要になる。
【0044】
項目は、軌跡収集の開始点か終了点かを区別する始点/終点区別731と、それぞれの位置情報を絶対値で示す位置座標732から構成される。当然ながら、始点は、
図7A(軌跡情報保存テーブル710)のポイント番号0での位置座標(X
0,Y
0,Z
0)に等しく、終点は、ポイント番号nの位置座標(X
n,Y
n,Z
n)に等しい。
【0045】
このように、始点と終点の位置情報(絶対値)732を保存しておけば、
図7Bの差分軌跡情報保存テーブル720を
図7Aの軌跡情報保存テーブル710に変換することができる。特に、終点の位置座標(X
n,Y
n,Z
n)を保存しておくことで、アバターの表示を効率良く実行できるようになる。その理由を説明する。
【0046】
後述するように、アバターの表示は軌跡の終点(ポイント番号n)から時間を逆行させて行う。その際、表示を開始する終点の位置座標が分からない場合には、これを算出するために、
図7Cの始点の位置座標(X
0,Y
0,Z
0)に、
図7Bの全ての差分位置座標722を加算せねばならなくなる。終点の位置座標(X
n,Y
n,Z
n)が分かっていれば、始めにその位置座標にアバターを表示する。次にアバターを表示する位置は、現在の位置座標から
図7Cのポイント番号nにおける差分位置座標(ΔXn,ΔYn,ΔZ
n)を減算することで容易に算出できる。以後同様に繰り返せばよい。
【0047】
これらの軌跡情報(軌跡情報保存テーブル710、差分軌跡情報保存テーブル720、始点・終点位置座標テーブル730)は、記憶部40の各種データ42に保存するだけでなく、
図3で説明したように、ネットワーク5を介して外部のサーバ6に、軌跡ポイント毎もしくは軌跡情報のテーブルが完了した時点で、保存することもできる。サーバ6にデータを保存することにより、HMD1に保存するデータ量を削減することができる。
【0048】
次に、撮影データの保存について説明する。撮影データは静止画と動画の両方に対応している。
図8Aは、静止画を保存する静止画データ格納テーブル810を示す。静止画データ格納テーブル810は、撮影指示があった時点の軌跡ポイントを示すポイント番号811、撮影方向を示す撮影方向812、撮影データサイズ813、撮影データ814から構成される。この例では、軌跡ポイントk(ポイント番号k)の地点で、HMD1がΘ
kの方向で撮影し、撮影データサイズM
kの撮影データD
kを、記憶部40の各種データ42に保存(S115)している。
【0049】
前記した軌跡情報保存テーブル710と、本例の静止画データ格納テーブル810とを紐付けして保存することにより、単位時間(ここでは1秒)毎のHMD1の移動位置に同期して撮影した静止画映像を再生することができる。
【0050】
図8Bは、動画を保存する動画データ格納テーブル820を示す。動画データ格納テーブル820は、
図8Aの静止画の場合と同様に、撮影指示があった時点の軌跡ポイントを示すポイント番号821、撮影開始時の撮影方向822、撮影データサイズ823、撮影データ824から構成される。さらに動画の場合、撮影時刻(開始および終了)825を記述している。これは、動画撮影が複数の軌跡ポイントにまたがって撮影している場合に対応するためである。動画を単位時間毎(1秒毎)に再生すれば、アバター表示の時刻と同期させることができる。
【0051】
この例では、軌跡ポイントk(ポイント番号k)の地点で、HMD1がΘkの方向で開始時刻Tksから撮影を開始し、終了時刻Tkeまで撮影したデータサイズMkの撮影データDkを、記憶部40の各種データ42に保存(S115)している。動画データの再生は、HMDの表示画面全体でも良いが、本例では、縮小子画面で表示し、動画撮影開始時刻Tksから動画撮影終了時刻Tkeまで再生する。
【0052】
これらの撮影データの情報(静止画データ格納テーブル810、動画データ格納テーブル820)についても、
図3で説明したように、ネットワーク5を介して外部のサーバ6に保存することにより、HMD1に保存すべきデータ量を削減することができる。
【0053】
次に、HMD1のアバター表示処理(S200)について説明する。この処理手順は、記憶部40の各種プログラム41に格納されている。アバターの表示は、アバター情報保存機能16からアバター情報を抽出して(アバター生成機能17)、HMD1の表示部72にアバターを表示する(アバター表示機能18)。アバターの形状は、ユーザと等身大の大きさで、アバターの身長はユーザ自身が設定する。便宜的には、起立した状態で、センサ部50の距離センサ53により、地面からの距離(HMD1の地面からの高さ)に10cmを加えた高さを身長とすることもできる。アバターの表示位置は、軌跡情報保存テーブル710等に保存されている位置情報に従い、HMDの表示部72に背景映像に重畳して表示する。
【0054】
使用する軌跡情報や撮影データが、HMD内の各種データ42に保存されている場合はその軌跡情報や撮影データを使用するが、通信処理部60のLAN通信部61を介して外部のサーバ6に保存している場合は、サーバ6から入手して使用する。
【0055】
本実施例では、ユーザの軌跡ポイントに基づいて、時間的に新しい軌跡情報から古い軌跡情報へ逆戻りさせてアバターを表示する。このように時間的に逆行した表示順とすることで、ユーザは終点(現在地点)から始点(出発地点)まで実際に通過した同じ経路で戻ることができる。
【0056】
図9Aは、アバター表示処理(S200)の全体を示すフローチャートである。
S210:アバター表示処理(S200)を開始する。本例では、ユーザがアバター表示開始を意味する音声コマンド「アバターカイシ」を発声することにより、アバター表示開始指示と判断する。
【0057】
S211:ユーザが装着している現時点のHMD1の位置と方向を検出する。検出方法は前記軌跡収集処理(S100)におけるS113と同様に、センサ部50のGPSセンサ51、地磁気センサ52、高さセンサ56等で行う。
S212:軌跡情報保存テーブル710(または差分軌跡情報保存テーブル720)を参照し、現時点のHMD1の位置に最も近い位置座標のポイント番号sを検索する。すなわち、現在位置が軌跡収集の終点であればs=nとなるが、もしユーザがその後終点から移動した場合にはs≠nとなることもある。
S213:表示するポイント番号mの初期値として、現在位置に最も近いポイント番号sを設定する。これにより、ユーザの現在位置に近い軌跡ポイントから表示を行うことができる。
【0058】
S214:タイマーを起動する。タイマーは、主制御部10に内蔵されているクロックを用いる。タイマーを使用するのは、ユーザの軌跡が一定時間間隔(単位時間)で収集されているので、これに合わせて表示するためである。ただし、アバター表示に使用する単位時間を、軌跡収集処理の単位時間と異ならせ、任意の係数を乗じた時間とすることもできる。例えば、アバター表示に使用する単位時間を、1/2の時間(本例では0.5秒)に設定すれば、表示したアバターを2倍速で移動させることができる。逆に、アバター表示に使用する単位時間を、2倍の時間(本例では2秒)に設定すれば、表示したアバターを1/2速(スロー)で移動させることができる。また、軌跡ポイントと軌跡ポイントとの間にアバターを順次(例えば1/24秒毎)補間して表示することにより、アバターを動画表示(アニメーション)することもできる。
【0059】
S215:アバターを表示する位置と方向を算出する。軌跡情報が軌跡情報保存テーブル710に保存されている場合は、ポイント番号mに対応する位置座標712の値(Xm,Ym,Zm)を読み出して、アバターを平面的位置(Xm,Ym)、高度(Zm)に配置する。
軌跡情報が差分軌跡情報保存テーブル720に保存されている場合は、ポイント番号(m+1)における差分位置座標722の値(差分値)を読み出して、前回の表示位置(ポイント番号=m+1)から減算する。すなわち、
Xm=Xm+1-ΔXm+1,Ym=Ym+1-ΔYm+1,Zm=Zm+1-ΔZm+1
となる。ただし、初回(m=s)については、始点・終点位置座標テーブル730に記述された終点の位置座標(Xn,Yn,Zn)、およびポイント番号sまでの差分位置座標722の値を用いて算出する。
アバターの向いている方向は、便宜的に、前回の軌跡ポイント(m+1)と今回の軌跡ポイント(m)を結ぶ方向とする。
【0060】
S216:現時点のHMD1の位置と方向を検出する。これはS211と同じ処理であり、初回(m=s)についてはS211で検出済みなので省略できる。
S217:視界算出機能19により、現時点のHMD1の位置と方向から、HMD1の表示領域、すなわちユーザの視野領域を求め、S215で算出したアバターの配置位置が表示領域内かどうかを判断する。HMD1の表示領域内にアバターを配置できると判断した場合はS218へ進み、アバターを配置できないと判断した場合はS300の救済処理を行う。S300の救済処理では、ユーザに対し視野方向を変えさせるとかユーザをアバターの見える位置まで移動させるなどの誘導処理を行うもので、詳細は
図9Bで後述する。このS217の判断処理とS300の救済処理により、ユーザの視界内にアバターを配置させることができ、ユーザはアバターを見失うことなく、あるいはアバターを追い越すことなく移動(追跡)することができる。
【0061】
S218:HMD1の表示領域内にアバターが表示できると判断した場合は、アバター情報保存機能16からアバター情報を読み出してアバターを生成する。そして、HMD1の表示部72に、S215で算出したアバターの表示位置と方向となるようアバターを表示する。
【0062】
S219:静止画データ格納テーブル810または動画データ格納テーブル820を参照し、表示している現在のポイント番号mが撮影ポイントkであるかどうかを判断する。軌跡ポイントが撮影ポイントであると判断した場合は、S220へ進む。撮影ポイントでないと判断した場合は、S222へ進む。
S220:現時点が撮影ポイントであることを報知する。撮影ポイントの報知方法は、表示中のアバターの色を変えたり、アバターをブリンク(点滅)させたりすることでユーザに知らせる。
S221:ユーザの指示により、静止画データ格納テーブル810または動画データ格納テーブル820から該当する撮影データを読み出して再生する。撮影データの再生は、音声コマンド「サイセイ」により実行する。撮影データの再生は、HMDの表示画面全体でも良いが、本例では、縮小子画面で表示し、一定の時間表示を継続した後に撮影データの再生を終了する。
【0063】
S222:ユーザにより、アバター表示処理の終了が指示されたかどうかを判断する。例えば、音声コマンド「アバターオワリ」により、アバター表示処理の終了指示であると判断する。アバター表示処理の終了が指示された場合は、S226へ進み、アバター表示処理を終了する。
S223:単位時間を経過したかどうかを判断する。単位時間を経過したと判断した場合は、S224へ進む。単位時間を経過しないと判断した場合は、S222へ戻る。
S224:ポイント番号mから1を減算して新しいポイント番号とする。これにより、時間的に遡った1つ前の軌跡ポイントに戻る。
【0064】
S225:新しいポイント番号mの値が0未満になったかどうか(すなわち軌跡の始点m=0を越えたかどうか)を判断する。ポイント番号mの値が0未満にならなかった場合は、S214に戻り、次の軌跡ポイントについてアバター表示を継続する。ポイント番号mの値が0未満になった場合は、全ての軌跡ポイントでのアバターの表示が完了しているので、S226に進みアバター表示処理を終了する。
【0065】
図9Bは、
図9Aにおける救済処理(S300)を示すフローチャートである。この処理は、S217の判定でNoの場合、すなわちアバターを表示領域内に配置できない場合に実施する。処理終了後はS211へ戻る。
【0066】
S301:視界算出機能20により、HMD1の方向転換でアバターを配置可能かを判断する。可能であればS302へ進み、不可能である場合はS303へ進む。
S302:HMDがアバターの存在方向に向いていない場合に該当するので、ユーザにHMDの方向を転換するように音声又は表示でガイドする。例えば、音声処理部80の音声復号部83により音声ガイド「ミギ」、「ヒダリ」等を発生する。その際、アバターを画面に出して発声させても良い。その後、S211へ戻る。
【0067】
ここで
図10Aは、S302の方向転換ガイド表示の例を示す図である。表示画面400にアバター3が出現して、右側にアバターが存在する旨のメッセージ401を表示している。これに呼応してユーザが右側を向くと、
図9AのS216でHMDの新たな方向を検出する。S217の判定では新たな表示領域内にアバターが存在することになり、S218でアバターを表示することができる。
【0068】
S303:S301でHMD1の方向転換ではアバターの配置が不可能な場合、現在位置が軌跡収集したいずれのポイントからも離れている場合と考えられる。そこで、ユーザを近接ポイントへ誘導するために、地図情報が取得できるかどうかを判断する。例えば、ナビゲーションアプリを利用できる場合はS304へ進む。地図情報が取得できない場合はS306へ進む。
【0069】
S304:ナビゲーションアプリを利用して、S212で検索した最も近い軌跡ポイントsへのルート解析を行う。
S305:軌跡ポイントsまでのルート情報(新たな軌跡ポイント)を軌跡情報保存テーブル710に追加する。その後S211へ戻り、追加した軌跡ポイントを含めてアバターの表示対象位置となる。その結果、S217ではHMDの表示領域内にアバターが配置されることになり、S218でアバターを表示することができる。
【0070】
S306:S303で地図情報を取得できない場合は、最も近い軌跡ポイントsへの移動方角をユーザに提示する。提示方法は、音声またはAR表示で行う。その後、S211へ戻る。ユーザは提示された方角に移動すると、最も近い軌跡ポイントsへ近づくことができる。その結果、S217では表示領域内にアバターが配置されることになり、S218でアバターを表示することができる。
【0071】
ここで
図10Bは、S306の移動方角ガイド表示の例を示す図である。表示画面400には、ユーザが移動すべき方角をAR表示402により知らせている。AR表示402は進む方向が分かればよく、文字やアイコン(矢印)等を用いている。
【0072】
以上のように、アバターをHMD表示領域に配置できないと判断した場合は、S300の救済処理を行うことで、ユーザをアバターの見える位置や方向に誘導することができる。これにより、ユーザはアバターを見失うことなく移動(追跡)することができる。
【0073】
図11Aと
図11Bは、アバターの表示例を示す図である。この例は、前記
図5に示した軌跡収集時の模式図に対応させている。
図11Aの表示画面400では、軌跡収集したHMDの各軌跡ポイントを時間的に逆行させてアバター3を表示する。すなわち、アバター3の表示位置を軌跡ポイント504、503、502、501(●印で表示)の順に、矢印方向に移動させて表示する。この中で軌跡ポイント503は撮影ポイントkであるので、他の位置と識別するため◎印で表示している。また、軌跡収集処理の過程でユーザ2(HMD)が向いていた方向を再現するため、アバター3を移動させるときの体の向きを、アバター3の進行方向とは逆向き(後ろ向き)の姿勢として、元来た経路を戻る様子を示している。
【0074】
図11Bの表示画面400は、軌跡ポイント503でのアバター3の表示状態を示す。軌跡ポイント503は曲がり角なので、アバター3の向きを変えている。またこの軌跡ポイント503は撮影ポイントであるので、アバター3の色を変えて表示している。ここでユーザが撮影データの再生を指示すると、撮影ポイントにて撮影した被写体510の画像510’が表示される。
【0075】
本例では、戻り経路の道順をユーザに知らせるため、表示画面400上に軌跡ポイント(●印)と進行方向(矢印)を表示しているが、これらを非表示とすることもできる。
また、アバターの軌跡ポイントを単位時間(1秒)毎に表示しているが、これに限らず、他の時間間隔で表示することもできる。例えば、1/24秒毎に補間して表示すると、アバターが映画のような滑らかな動画で表示される。
【0076】
次に、HMD1に対するユーザの操作方法について説明する。上記したように、本実施例では、ユーザの操作として音声コマンドを使用している。
図12は、HMDの操作に使用する音声コマンドの例を示すテーブルである。音声コマンドテーブル600の項目は、コマンドの分類601と、ユーザの発する音声コマンド602と、コマンドの名称603と、処理内容604から構成されている。
【0077】
音声コマンドの分類601は、軌跡収集関連とアバター表示関連に分けられる。軌跡収集関連の音声コマンド602には、軌跡収集処理を開始する「キセキカイシ」「キセキスタート」、軌跡収集処理を終了する「キセキオワリ」「キセキエンド」、静止画を撮影する「サツエイ」「キロク」、動画撮影を開始する「サツエイカイシ」「キロクスタート」、動画撮影を終了する「サツエイオワリ」「キロクエンド」などがある。
【0078】
アバター表示関連の音声コマンド602には、アバター表示処理を開始する「アバターカイシ」「アバタースタート」、アバター表示処理を終了する「アバターオワリ」「アバターエンド」、静止画もしくは動画を再生する「サイセイ」「サツエイデータ」などがある。なお、ここに掲げた音声コマンドは一例であり、ユーザの好みに応じて適宜設定できることは言うまでもない。
【0079】
一方HMD1は、音声処理部80の音声復号部83の音声合成機能を用いて、ユーザの発した音声コマンドに対応する音声応答を行なうことができる。その結果、例えば、ユーザの音声コマンドと同じ音声(オウム返し)で応答することや、ユーザの音声コマンドの確認の音声応答などが可能となる。例えば、HMDからの問合せ「XXデスネ?」に対して、ユーザの返答が「ハイ」ならば確認の音声「XXヲジッコウシマス」で応答し、ユーザの返答が「イイエ」ならば確認の音声「XXヲトリケシマス」で応答する。なお、ユーザが返答で用いる音声コマンド「ハイ」、「イイエ」は
図12には記載していないが、これらも音声コマンドテーブル600に含まれることは言うまでもない。
さらに、音声復号部83の音声合成機能を用いて、右方向への回転を促す音声「ミギ」や、左方向への回転を促す音声「ヒダリ」などの合成音声を発生させることができる。これは、
図9BのS306の工程で利用することができる。
【0080】
HMD1に対する操作指示は、音声コマンド以外の方法でも実現できる。例えば、HMD1の表示画面に操作メニューを表示して、ユーザがジェスチャー(手・指の動き)で選択するものである。その場合、映像処理部70の撮像部71によりユーザの指を撮影し、その撮影映像から指の動きを認識して操作に利用することができる。
【0081】
図13は、ユーザの指による操作指示を説明する図である。HMD1の操作画面410には、選択メニューとして、例えば「写真」メニュー411と、「ビデオ」メニュー412が表示されている。メニュー表示は、半透明とするのが好ましいがこれに限定する訳ではない。
【0082】
ユーザが例えば「ビデオ」メニュー412を選択するため、指415をHMD1の外側から表示画面410に近づけると、撮像部71は、表示画面410に向かって次第に大きくなる指映像415を検出する。また、指映像415が「ビデオ」メニュー412に向かっていることを認識し、「ビデオ」が選択指定されたと判断する。それ以外の操作として、軌跡収集やアバター表示の開始時は、単に「開始」メニューのみを表示し、終了時は単に「終了」メニューを表示する。そして、撮像部71によるユーザの指映像415の接近を検出して、開始または終了が指示されたと判断する。
これ以外に、HMD1の操作入力部90にタッチセンサを設け、HMD1にユーザの手や指が触れたことを検出する方式でも良い。
【0083】
実施例1によれば、移動の際に途中立ち寄った場所や戻り経路を失念したユーザに対し、戻り経路を分かりやすく案内することができる
【実施例2】
【0084】
実施例1では、HMDの位置座標を3次元(X,Y,Z)で保存していたが、実施例2では、2次元(X,Y)の位置座標で保存する場合について説明する。実施例2におけるHMDの基本構成は実施例1と同様であり、実施例1との相違点について説明する。
【0085】
通常の平坦な地面での移動状態では高さ方向の変化は少ないので、高さ方向のデータを省略しても、平面位置座標に基づきアバターを表示させることができる。軌跡収集処理は実施例1(
図6)と同じフローチャート(S100)で行う。そして、収集したデータを、
図14Aと
図14Bに示すテーブルで保存する。
【0086】
図14Aは、2次元軌跡情報保存テーブル740を示すが、ここでは位置情報を差分値で保存している。項目として、各軌跡ポイントの番号を示すポイント番号741と、その軌跡ポイントの平面位置を示す差分位置座標742から構成される。差分位置座標742は前記
図7Bのように、位置座標の絶対値ではなく、隣接する軌跡ポイント間の差分値(変化量)として、保存するデータ量を低減させている。
【0087】
本例では、単位時間を1秒に設定しているので、ポイント番号1は、軌跡収集処理が開始された時点から1秒後の差分位置座標(ΔX1,ΔY
1)、ポイント番号kはk秒後の差分位置座標(ΔXk,ΔY
k)、ポイント番号nは軌跡収集処理が終了した時点(開始からn秒後)の差分位置座標(ΔXn,ΔY
n)をそれぞれ示している。差分位置座標の求め方は、実施例1(
図7B)と同様である。
【0088】
図14Bは、軌跡収集の開始時/終了時の位置情報を保存する2次元始点・終点位置座標テーブル750を示す。このテーブルは、
図14Aの2次元差分軌跡情報保存テーブル740を用いて、アバターの表示位置(絶対位置)を算出するときに必要になる。
【0089】
項目は、軌跡収集の開始点か終了点かを区別する始点/終点区別751と、それぞれの位置情報を絶対値で示す位置座標752から構成され、前記
図7Cと同様である。ただし位置座標752において、始点の位置座標(X
0,Y
0,Z
0)のみが高さ方向の位置座標(Z
0)を保存している。これは、軌跡情報取得中に高度変化量が所定の値(閾値)を超えた場合に対応するためである。
【0090】
実施例2では2次元の位置座標のみを扱っているが、高度が変化する場合については次のように処理する。
坂道を上る(下る)場合は、HMDの平面的位置座標の変化(ΔX,ΔY)が直線的であり、HMDの高度の変化(ΔZ)も直線的になる。階段を上る(下る)場合は、HMDの平面的位置座標の変化(ΔX,ΔY)が階段幅分であり、HMDの高度の変化(ΔZ)も階段の段差分になる。
【0091】
エスカレータの場合は、HMDの平面的位置座標の変化(ΔX,ΔY)が直線的であり、HMDの高度の変化(ΔZ)も直線的になる。坂道との識別は、エスカレータの方が加速度の変化量が少ないことから判別する。エレベータの場合は、HMDの平面的位置座標がほとんど変化しないで(ΔX=0,ΔY=0)、HMDの高度のみが変化する(ΔZ≠0)。
【0092】
このように、坂道、階段、エスカレータ、エレベータ等で移動する場合は、平面的位置座標と高度の検出値にそれぞれ特徴的な変化(ΔX,ΔY)、(ΔZ)が生じるので、アバターを表示する際には、この変化を捉えて経路情報(坂道、階段、エスカレータ、エレベータ等)を表示する。また、坂道、階段、エスカレータ、エレベータ等の映像と重畳して表示することで、臨場感にあふれたアバターを表示できる。さらに、地下街マップ等の地図情報とリンクすることにより、大きな効果が得られる。
【0093】
高度変化量が所定の値(閾値)を超えた場合は、2次元の軌跡情報保存テーブル740,750による軌跡収集処理を軌跡Aとして終了する。そして新規に、実施例1の3次元の軌跡情報保存テーブル710~730による軌跡収集処理に移行し、軌跡Bとする。その後、高度変化量が閾値に収まった場合に、2次元の軌跡情報保存テーブル740,750による軌跡収集処理を再開して軌跡Cとする。
この手法により、保存するデータ量を極力少なくすることができる。勿論、実施例2の2次元軌跡情報保存テーブル740,750から、実施例1の3次元の軌跡情報保存テーブル710~730に変換することも可能である。
【0094】
前記した実施例1,2では、センサ部50のGPSセンサ51によりGPS情報(位置情報)の取得が比較的容易な屋外を想定したが、地下街や屋内のようにGPS情報の取得が困難な場合がある。GPS情報が取得できない場合は、センサ部50の加速度センサ54やジャイロセンサ55などからの情報により補完する。
【0095】
始点から終点まで一度もGPS情報等から位置情報が取得できなかった場合は、始点の位置座標がX0=0,Y0=0のまま格納する。その場合は、高さの位置座標についても、Z0=0として格納する。さらに、終点の位置座標については、始点から終点までの全ての差分位置座標を積算して算出する。
【実施例3】
【0096】
実施例1では、アバター表示の際、アバターの向きを進行方向と逆にして、後ろ向きでアバターを進行させた。これに対し実施例3では、アバターの向きを進行方向に向けて表示する。
図15は、実施例3におけるアバター表示の模式図である。表示画面400において、アバター3を進行方向に向く姿勢(前向き)で表示している。すなわち、現在の軌跡ポイント503から次の軌跡ポイント502へのベクトル方向にアバター3の向きを設定している。これにより、実施例1(
図11B)に示したようなアバターの向きにより生じるユーザの違和感(アバターの進行方向とアバターの向きが一致しないこと)を解消することができる。
【0097】
なお、アバターの向きを前向き(実施例3)にするか、あるいは後ろ向き(実施例1)にするかは、ユーザの好みにも依存する。よって、アバターの向きをいずれの表示形態にするかをユーザが選択して設定できる構成がより好ましい。
【実施例4】
【0098】
実施例4では、HMDの視界に建物等が存在し、アバターがその陰に位置するときにはアバターを非表示にする。
図16は、実施例4におけるアバター表示の模式図である。ここでは、アバター3を後ろ向きで進行させている。そして移動経路の近くに建物521と建物522が存在し、アバター3が建物521で隠れる場合を示している。このような場合には、アバター3は建物521により隠れる部分を表示しないように制御する。アバター3が隠れるか否かは、建物521、522とアバター3までの距離を比較することで判断でき、建物521、522までの距離は距離センサ53で測定可能である。
【0099】
これにより、HMDを介して視認できる実空間にアバターを重ねて表示するとき、違和感のない現実的な表示が可能になる。なお、アバター全体が隠れてこれを完全に非表示にすると、それ以降追跡することができなくなる恐れがある。そこで、隠れたアバターの部分を半透明に表示することで、追跡可能にする構成でも良い。
【0100】
建物521や建物522の映像は、例えば、道路沿いの風景をパノラマ写真で提供するインターネットサービスであるのストリートビュー(Google社)などを利用して表示することもできる。また、HMD1の位置・方向により、建物等に付随する建物等の名称なども利用することができる。
【実施例5】
【0101】
実施例5では、撮影の指示をユーザではなく、自動的に撮影する構成とする。
HMDの撮像部71は、始点から撮影を開始し、現時点から一定時間(例えば、軌跡収集処理で使用する軌跡ポイント間の単位時間の2倍の長さ)の映像を、常にループ撮影して一時保存する。これにより自動的に撮影される映像は、現時点から一定時間(例えば2秒)だけ遡った動画もしくは静止画となる。静止画の場合は、軌跡ポイントと次の軌跡ポイントとの間に、1個もしくは2個程度の静止画を一時保存するだけで十分機能は発揮できる。そして、移動経路中の特異箇所、例えば移動方向を変えた地点において撮影した映像を残すようにする。
【0102】
自動撮影の具体的動作を、前記
図5の軌跡収集模式図を用いて説明する。
図5において、軌跡ポイント504の時点では、軌跡ポイント502から軌跡ポイント504までの映像(単位時間の2倍の長さ)が一時保存されている。ただし、軌跡ポイント503において移動方向(ポイント間の移動ベクトル)が90度変化している。そこで、移動ベクトルの方向が大きく変化する直前の映像として、軌跡ポイント502から軌跡ポイント503までに撮影した映像を自動的に保存する。保存する軌跡ポイント503の映像データは、動画(軌跡ポイント503までに撮影した動画フレーム)でも、静止画(軌跡ポイント503の撮影データ)でも良い。
【0103】
実施例5の撮影方法によれば、ユーザが進行方向を変えた場合に進行方向を変える直前の進行方向の映像が保存されるので、ユーザの記憶を呼び起こすのに最適な映像を表示することができる。
【実施例6】
【0104】
実施例6では、軌跡収集処理においてユーザの姿勢等の情報も収集して、アバターを表示する際に反映させるようにした。
例えば、センサ部50の距離センサ53により、地面もしくは床面からHMD1までの距離(すなわちユーザの頭部の高さ)を検出し、軌跡ポイント毎に収集する。この検出値をユーザの身長(既知)と比較することで、HMD1を装着したユーザの姿勢(立っている、座っている、しゃがんでいる、寝ている等)を推定することができる。この姿勢情報を表示するアバターに反映させて、立っているアバターや座っているアバターなどの表示を行う。
【0105】
また、センサ部50の地磁気センサ52により、HMD1を装着したユーザの顔の向きが分かる。この顔の向きの情報を表示するアバターに反映させ、軌跡ポイント毎にアバターの顔の向き変えるようにする。なお、アバターの体の向きは、顔の向きで推定して変化させても良いが、軌跡ポイント間のベクトル情報(進行方向)に合わせても良い。これらの表示により、より臨場感のあるアバターを表示することができる。
【実施例7】
【0106】
実施例7では、軌跡収集処理において各軌跡ポイントを通過した時刻を記憶しておき、アバター表示の際、表示画面に通過時刻を表示する。
図17Aは、実施例7における軌跡情報保存テーブル710’の例を示す。実施例1(
図7A)の軌跡情報保存テーブル710に対し、各軌跡ポイントを通過した通過時刻713を追加して記載している。
【0107】
図17Bは、アバターの表示例を示す図である。表示画面400には、アバター3の表示とともに通過時刻420を表示している。この時刻は、
図17Aの軌跡情報保存テーブル710’において、現在アバターを表示しているポイント番号711に対応する通過時刻713を参照すればよい。
【0108】
このように実施例7によれば、現在表示している軌跡ポイントをユーザがいつ通過したかが表示されるので、ユーザの記憶を呼び起こすのに有効な情報となる。
【実施例8】
【0109】
実施例8では、携帯型の映像表示装置としてHMDの代わりにスマートフォンを使用する場合について説明する。スマートフォンは、HMDとほぼ同じハードウェア構成及びソフトウェア構成を有し、同等の機能を実現できる。
【0110】
図18は、スマートフォン9の外観を示す図であり、(a)は映像を表示する正面側、(b)はカメラを有する背面側である。
(b)に示すように背面側にはカメラ901を有し、外景を撮影する。スマートフォン9の内部には、3次元位置やカメラ901の方向を検出するセンサを有し、HMDと同等に軌跡情報を収集することができる。
【0111】
(a)に示すように正面側には、タッチパネルが組み込まれた表示画面902を有し、外景にカメラ901を向けて撮影した映像を表示する。そして表示画面902には、表示されている外景の映像に合わせ、前記収集した軌跡情報に基づき、実施例1(
図11A)と同様にアバター3を重畳して表示することができる。
【0112】
HMDと比較するとスマートフォン9の場合には、軌跡情報収集における撮影処理では、その都度カメラ901を被写体に向けて撮影する必要があり、撮影ポイントが多くなると撮影操作が煩雑になる。また、自動撮影については、ユーザがカメラ901の撮影方向を一定に維持するのは、現実的でないなどの欠点もある。しかしながら、既存のスマートフォンで軌跡情報収集をすることができるので、利便性が向上する。但し、ユーザが撮影しながら移動するには困難が伴うので、主要なポイントのみ単独で行なう方が現実的である。
【0113】
ここでは、携帯型の映像表示装置としてスマートフォンを例に挙げたが、同等及び近似のハードウェア構成やソフトウェア構成があれば、本実施例の動作を実現することができる。例えば、ノートPCやタブレットPC等にも適用可能である。
【実施例9】
【0114】
実施例9では、HMDを装着した複数のユーザが連携して使用する映像表示システムについて説明する。
図19は、複数のHMDを接続した映像表示システムの構成を示す図である。ここでは、2人のユーザ2a,2bの場合を示し、それぞれHMD1aとHMD1bを装着している。2人以外の場合も同様である。
【0115】
ユーザ2aが装着したHMD1aは、無線ルータ4a及びネットワーク5を介して外部のサーバ6に接続されている。また、ユーザ2bが装着したHMD1bは、無線ルータ4b及びネットワーク5を介して、同じサーバ6に接続されている。HMD1a(ユーザ2a)とHMD1b(ユーザ2b)が近距離の場合は、無線ルータ4a,4bを共通とすることができる。
【0116】
この場合、それぞれのHMD1a,1bではそれぞれのユーザ2a,2bの軌跡収集を行う。そして、HMD1aを装着したユーザ2aの軌跡情報と、HMD1bを装着したユーザ2bの軌跡情報は、共通のサーバ6に保存する。その後、サーバ6から2人の軌跡情報を読み出して、それぞれのHMD1a,1bにて、2人の仮想映像である2つのアバターとして表示する。これにより、それぞれの軌跡をアバターにより相互に参照することができる。
【0117】
図20は、複数のアバターの表示例を示す模式図である。例えばHMD1aの表示画面400aには、HMD1aを装着したユーザ2aのアバター3aに加えて、HMD1bを装着したユーザ2bのアバター3bが表示されている。そして、2人が行動した軌跡520a、520bがそれぞれの軌跡ポイント(●印と▲印)で表示され、2人の位置関係を時間を逆行させて表示することができる。この例では軌跡ポイント521の交差点で2人が合流したことが分かる。HMD1bの表示画面400bでも、同様に表示される。
【0118】
このように実施例9によれば、複数のユーザのお互いの軌跡を相互に確認することができる。この結果付随的な効果として、軌跡収集中に他のユーザが視界から外れた場合、他のユーザの位置を即座に知ることができる。
【0119】
本実施例の実用的な形態として、Bluetooth(登録商標)などの近距離無線通信を用いて、携帯型情報端末間で通信を行うことにより、無線ルータ4やネットワーク5を介したサーバ6を使用しない構成も可能である。例えば、親子連れで移動中に子供にスマートフォンを携帯させ、子供が行方不明になったような場合に、親のHMDまたはスマートフォンで即座に探すことができる。
【0120】
以上、本発明の実施形態の例を実施例1~9を用いて説明したが、言うまでもなく、本発明の技術を実現する構成は前記実施例に限られるものではなく、様々な変形例が考えられる。例えば、ある実施例の構成の一部を他の実施例の構成と置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。これらは全て本発明の範疇に属するものである。また、文中や図中に現れる数値やメッセージ等もあくまでも一例であり、異なるものを用いても本発明の効果を損なうことはない。
【0121】
前述した本発明の機能等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現しても良い。また、マイクロプロセッサユニット等がそれぞれの機能等を実現するプログラムを解釈して実行することによりソフトウェアで実現しても良い。ハードウェアとソフトウェアを併用しても良い。前記ソフトウェアは、製品出荷の時点で、予めHMD1の各種プログラム41等に格納された状態であっても良い。製品出荷後に、インターネット上の各種サーバ装置等から取得するものであっても良い。また、メモリカードや光ディスク等で提供される前記ソフトウェアを取得するものであっても良い。
【0122】
また、図中に示した制御線や情報線は説明上必要と考えられるものを示しており、必ずしも製品上の全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えても良い。
【符号の説明】
【0123】
1…HMD(映像表示装置)、2…ユーザ、3…アバター、4…無線ルータ、5…ネットワーク、6…サーバ、9…スマートフォン(映像表示装置)10…主制御部、40…記憶部、50…センサ部、51…GPSセンサ、52…地磁気センサ、53…距離センサ、56…高度センサ、60…通信処理部、70…映像処理部、71…撮像部、72…表示部、80…音声処理部、90…操作入力部。