(57)【要約】【課題】利用時における安全性を向上させることが可能なシースルー型表示装置、システム、プログラム及び情報処理方法を提供すること。【解決手段】本技術に係るシースルー型表示装置は、エラー検出部と、表示制御部とを具備する。エラー検出部はエラーを検出する。表示制御部は、エラー検出部の検出結果に基づいて、シースルー型ディスプレイの表示を制御する。【選択図】図１８
2018135135.tif 000002
【特許請求の範囲】
【請求項１】
エラーを検出するエラー検出部と、
前記エラー検出部の検出結果に基づいて、シースルー型ディスプレイの表示を制御する表示制御部と
を具備するシースルー型表示装置。
【請求項２】
請求項１に記載のシースルー型表示装置であって、
前記エラー検出部は、シースルー型表示装置と外部との通信エラーを検出する
シースルー型表示装置。
【請求項３】
請求項１に記載のシースルー型表示装置であって、
前記エラー検出部は、ファームウェアに含まれるモジュールにおいて生じたエラーを検出する
シースルー型表示装置。
【請求項４】
請求項１に記載のシースルー型表示装置であって、
前記エラー検出部は、ファームウェアに含まれる複数のモジュールの間の通信エラーを検出する
シースルー型表示装置。
【請求項５】
請求項１に記載のシースルー型表示装置であって、
前記エラー検出部は、ハードウェアのエラーを検出する
シースルー型表示装置。
【請求項６】
請求項１に記載のシースルー型表示装置であって、
前記エラー検出部は、アプリケーション上のエラーを検出する
シースルー型表示装置。
【請求項７】
請求項１に記載のシースルー型表示装置であって、
前記エラー検出部は、アプリケーションとファームウェアの間の通信エラーを検出する
シースルー型表示装置。
【請求項８】
請求項１に記載のシースルー型表示装置であって、
前記エラー検出部は、エラーのレベルを判別し、
前記表示制御部は、前記エラー検出部によって判別されたエラーのレベルに基づいて前記シースルー型ディスプレイの表示を制御する
シースルー型表示装置。
【請求項９】
請求項８に記載のシースルー型表示装置であって、
前記エラー検出部は、前記エラー検出部によって判別されたエラーのレベルに基づいて前記シースルー型ディスプレイの輝度を調整する
シースルー型表示装置。
【請求項１０】
請求項８に記載のシースルー型表示装置であって、
前記エラー検出部は、前記エラー検出部によって判別されたエラーのレベルに基づいて前記シースルー型ディスプレイが備える調光素子の透過率を調整する
シースルー型表示装置。
【請求項１１】
請求項８に記載のシースルー型表示装置であって、
前記エラー検出部は、前記エラー検出部によって判別されたエラーのレベルに基づいて前記シースルー型ディスプレイにおける表示画像の位置及びサイズの少なくとも一方を調整する
シースルー型表示装置。
【請求項１２】
請求項１に記載のシースルー型表示装置であって、
ユーザの頭部に装着され、前記ユーザの眼前に配置されるシースルー型ディスプレイを備える
シースルー型表示装置。
【請求項１３】
請求項１に記載のシースルー型表示装置であって、
自動車又は自動二輪車に搭載される
シースルー型表示装置。
【請求項１４】
シースルー型ディスプレイを備えるシースルー型表示装置と、
前記シースルー型表示装置と接続される情報処理装置と
を具備するシステムであって、
エラーを検出するエラー検出部と、
前記エラー検出部の検出結果に基づいて、前記シースルー型ディスプレイの表示を制御する表示制御部とを備える
システム。
【請求項１５】
請求項１４に記載のシステムであって、
前記エラー検出部は、前記シースルー型表示装置と前記情報処理装置の通信エラーを検出する
システム。
【請求項１６】
請求項１４に記載のシステムであって、
前記エラー検出部は、前記シースルー型表示装置上で動作するアプリケーションと、前記情報処理装置上で動作するアプリケーションの間の通信エラーを検出する
システム。
【請求項１７】
請求項１４に記載のシステムであって、
前記エラー検出部は、前記シースルー型表示装置のファームウェアと、前記情報処理装置のライブラリの間の通信エラーを検出する
システム。
【請求項１８】
シースルー型ディスプレイを備えるシースルー型表示装置と、
前記シースルー型表示装置と接続される第１の情報処理装置と、
前記第１の情報処理装置と接続される第２の情報処理装置と
を具備するシステムであって、
エラーを検出するエラー検出部と、
前記エラー検出部の検出結果に基づいて、前記シースルー型ディスプレイの表示を制御する表示制御部とを備える
システム。
【請求項１９】
エラーを検出するエラー検出部と、
前記エラー検出部の検出結果に基づいて、シースルー型ディスプレイの表示を制御する表示制御部と
として情報処理装置を機能させるプログラム。
【請求項２０】
エラー検出部が、エラーを検出し、
表示制御部が、前記エラー検出部の検出結果に基づいて、シースルー型ディスプレイの表示を制御する
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、シースルー型ディスプレイに画像を表示することが可能なシースルー型表示装置、当該シースルー型表示装置を含むシステム、当該シースルー型表示装置の制御に係る情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
シースルー型表示装置は、シースルー（透過型）ディスプレイに画像を表示可能な表示装置であり、近年では眼鏡型表示装置の普及が進んでいる。シースルー型表示装置の操作には、コントローラやシースルー型表示装置に搭載されたセンサ等が用いられる（特許文献１参照）。シースルー型表示装置では、ユーザの視界に画像が重畳されるため、周辺環境等に応じて表示画像を調整し、ユーザの視界を確保するものが開発されている。【０００３】
例えば、特許文献２には、ユーザの周囲に存在する障害物をディスプレイに重畳させて危険回避を誘導することが可能なヘッドマウントディスプレイが開示されている。また、特許文献３には外界障害物との距離を近接センサによって測定し、システムが危険と評価した場合に眼前のディスプレイを物理的に脱落させることが可能なヘッドマウントディスプレイが開示されている。【０００４】
さらに、特許文献４にはユーザの周囲に存在する障害物との距離を近接センサによって測定し、システムが接近又は接触を検出した場合に、眼前のディスプレイの位置を変更することが可能なヘッドマウントディスプレイが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−１９５８６７号公報
【特許文献２】特開２０１３−２５７７１６号公報
【特許文献３】特開２０１０−１４１４５３号公報
【特許文献４】特開２００４−２３３９４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１のように、センサ等を用いたセンサによって操作する構成では、ユーザの意図によって操作することとなるため、ユーザが異常を認識できない危険回避を行うことができない。また、特許文献２乃至４のように、ユーザの周囲に存在する障害物をセンサにて検出する構成では、障害物以外の危険を検出することができない。【０００７】
以上のような事情に鑑み、本技術の目的は、利用時における安全性を向上させることが可能なシースルー型表示装置、システム、プログラム及び情報処理方法を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本技術の一形態に係るシースルー型表示装置は、エラー検出部と、表示制御部とを具備する。
上記エラー検出部はエラーを検出する。
上記表示制御部は、上記エラー検出部の検出結果に基づいて、シースルー型ディスプレイの表示を制御する。【０００９】
この構成によれば、エラー検出部によって検出されたエラーに基づいて表示制御部がシースルー型ディスプレイの表示を制御するため、エラーの発生に応じてユーザの視界確保やエラーメッセージの提示等が可能となる。【００１０】
上記エラー検出部は、シースルー型表示装置と外部との通信エラーを検出してもよい。【００１１】
上記エラー検出部は、ファームウェアに含まれるモジュールにおいて生じたエラーを検出してもよい。【００１２】
上記エラー検出部は、ファームウェアに含まれる複数のモジュールの間の通信エラーを検出してもよい。【００１３】
上記エラー検出部は、ハードウェアのエラーを検出してもよい。【００１４】
上記エラー検出部は、アプリケーション上のエラーを検出してもよい。【００１５】
上記エラー検出部は、アプリケーションとファームウェアの間の通信エラーを検出してもよい。【００１６】
上記エラー検出部は、エラーのレベルを判別し、上記表示制御部は、上記エラー検出部によって判別されたエラーのレベルに基づいて上記シースルー型ディスプレイの表示を制御してもよい。【００１７】
上記エラー検出部は、上記エラー検出部によって判別されたエラーのレベルに基づいて上記シースルー型ディスプレイの輝度を調整してもよい。【００１８】
上記エラー検出部は、上記エラー検出部によって判別されたエラーのレベルに基づいて上記シースルー型ディスプレイが備える調光素子の透過率を調整してもよい。【００１９】
上記エラー検出部は、上記エラー検出部によって判別されたエラーのレベルに基づいて上記シースルー型ディスプレイにおける表示画像の位置及びサイズの少なくとも一方を調整してもよい。【００２０】
上記シースルー型表示装置は、ユーザの頭部に装着され、上記ユーザの眼前に配置されるシースルー型ディスプレイを備えてもよい。【００２１】
上記シースルー型表示装置は、自動車又は自動二輪車に搭載されてもよい。【００２２】
上記目的を達成するため、本技術の一形態に係るシステムは、シースルー型表示装置と、情報処理装置とを具備するシステムであって、エラー検出部と、表示制御部とを備える。
上記エラー検出部は、エラーを検出する。
上記表示制御部は、上記エラー検出部の検出結果に基づいて、上記シースルー型ディスプレイの表示を制御する。【００２３】
上記エラー検出部は、上記シースルー型表示装置と上記情報処理装置の通信エラーを検出してもよい。【００２４】
上記エラー検出部は、上記シースルー型表示装置上で動作するアプリケーションと、上記情報処理装置上で動作するアプリケーションの間の通信エラーを検出してもよい。【００２５】
上記エラー検出部は、上記シースルー型表示装置のファームウェアと、上記情報処理装置のライブラリの間の通信エラーを検出してもよい。【００２６】
上記目的を達成するため、本技術の一形態に係るシステムは、シースルー型ディスプレイを備えるシースルー型表示装置と、上記シースルー型表示装置と接続される第１の情報処理装置と、上記第１の情報処理装置と接続される第２の情報処理装置とを具備するシステムであって、エラー検出部と、表示制御部とを備える。
上記エラー検出部は、エラーを検出する。
上記表示制御部は、上記エラー検出部の検出結果に基づいて、上記シースルー型ディスプレイの表示を制御する。【００２７】
上記目的を達成するため、本技術の一形態に係るプログラムは、エラー検出部と、表示制御部ととして情報処理装置を機能させる。
上記エラー検出部は、エラーを検出する。
上記表示制御部は、上記エラー検出部の検出結果に基づいて、上記シースルー型ディスプレイの表示を制御する。【００２８】
上記目的を達成するため、本技術の一形態に係る情報処理方法は、エラー検出部が、エラーを検出する。表示制御部が、上記エラー検出部の検出結果に基づいて、シースルー型ディスプレイの表示を制御する。
【発明の効果】
【００２９】
以上のように、本技術によれば、利用時における安全性を向上させることが可能なシースルー型表示装置、システム、プログラム及び情報処理方法を提供することが可能である。なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
【図面の簡単な説明】
【００３０】
【図１】本技術の第１の実施態様に係るシステムの模式図である。
【図２】同システムの機能的構成を示すブロック図である。
【図３】同システムの動作を示すシーケンス図である。
【図４】本技術の第２の実施態様に係るシステムの模式図である。
【図５】同システムの機能的構成を示すブロック図である。
【図６】同システムの動作を示すシーケンス図である。
【図７】本技術の第３の実施態様に係るシステムの模式図である。
【図８】同システムの機能的構成を示すブロック図である。
【図９】同システムの動作を示すシーケンス図である。
【図１０】本技術の第４の実施態様に係るシステムの模式図である。
【図１１】同システムの機能的構成を示すブロック図である。
【図１２】同システムの動作を示すシーケンス図である。
【図１３】本技術の実施形態に係るシステムが備えるシースルー型表示装置のハードウェア構成を示すブロック図である。
【図１４】同システムのソフトウェアパッケージを示す模式図である。
【図１５】同システムが備えるシースルー型表示装置のファームウェアが備えるモジュールを示す模式図である。
【図１６】同システムが備えるシースルー型表示装置のファームウェアが備えるモジュールの階層を示す模式図である。
【図１７】同システムの機能的構成を示すブロック図である。
【図１８】同システムの動作を示すフローチャートである。
【図１９】同システムの動作を示すシーケンス図である。
【図２０】同システムの動作を示すシーケンス図である。
【図２１】同システムの動作を示すシーケンス図である。
【図２２】同システムの動作を示すシーケンス図である。
【図２３】同システムの動作を示すシーケンス図である。
【図２４】同システムの動作を示すシーケンス図である。
【図２５】同システムの動作を示すシーケンス図である。
【図２６】同システムを構成する機器のハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【００３１】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００３２】
なお、説明は以下の順序で行うものとする。
１．システム構成
２．シースルー型表示装置のハードウェア構成
３．ソフトウェアパッケージ
４．システムの機能的構成及び動作
５．システムの具体的処理
６．システムの動作シナリオ
７．ハードウェア構成
８．補足
【００３３】
（１．システム構成）
本実施形態に係るシステムは、次に示す４つの実施態様のいずれかによって実現することが可能である。
【００３４】
＜１．１  シースルー型表示装置単体＞
図１は、第１の実施態様に係るシステム１０の概略的な構成を示す図であり、図２は、システム１０の概略的な機能構成を示すブロック図である。図１及び図２に示すように、システム１０はシースルー型表示装置１００を含む。
【００３５】
［シースルー型表示装置］
シースルー型表示装置１００は、ディスプレイユニット１１０と、コントロールユニット１６０とを含む。ディスプレイユニット１１０は、例えば眼鏡型の筐体を有し、ユーザ（観察者）の頭部に装着される。コントロールユニット１６０は、ディスプレイユニット１１０にケーブルで接続される。
【００３６】
ディスプレイユニット１１０は、図１に示されるように、ディスプレイ１１２を備える。ディスプレイ１１２は光透過性を有する導光板と、コントロールユニット１６０の制御に従って導光板に画像表示光を射出する光源から構成されている。ユーザの眼には、実空間から入射して導光板を透過する光と、導光板によって光源から導光された画像表示光とが入射する。これによって、ディスプレイユニット１１０を装着したユーザは、実空間に重畳される画像を知覚することができる。調光素子１１３は、コントロールユニット１６０の制御に従って実空間からディスプレイ１１２を透過する光の透過量を調節する。なお、光源から導光板を介して画像表示光を出射させるための構成には、例えば特許４７７６２８５号公報に記載されたような技術が用いられてもよい。ディスプレイユニット１１０は、このような構成のための図示しない光学系をさらに備えてもよい。
【００３７】
さらに、ディスプレイユニット１１０は、図２に示すように、モーションセンサ１１６、照度センサ１１８及びカメラ１２０を備えてもよい。モーションセンサ１１６は、例えば、３軸加速度センサ、３軸ジャイロセンサ、および３軸地磁気センサを含む。これらのセンサによって検出されるディスプレイユニット１１０の加速度、角速度、および方位に基づいて、ディスプレイユニット１１０の姿勢や動き（変位および回転）を特定することができる。照度センサ１１８は、ディスプレイユニット１１０に入射する光の照度を検出する。カメラ１２０は、実空間の画像を撮影する。カメラ１２０によって撮影される画像は、例えば、実空間におけるユーザの視界に対応する画像として扱われる。
【００３８】
コントロールユニット１６０は、プロセッサ１６２と、メモリ１６４と、通信装置１６６と、入力キー１６８と、タッチセンサ１７０と、マイクロフォン１７２と、スピーカ１７４と、ケーブル挿抜センサ１７８と、バッテリー１８０とを備える。プロセッサ１６２は、メモリ１６４に格納されたプログラムに従って動作することによって各種の機能を実現する。プロセッサ１６２は、ケーブルを介した有線通信によってディスプレイユニット１１０に制御信号を送信し、またディスプレイ１１２やモーションセンサ１１６のための電源を提供する。また、プロセッサ１６２は、ディスプレイユニット１１０に備えられるモーションセンサ１１６、およびカメラ１２０から出力されたデータを取得し、これらに基づく処理を実行する。
【００３９】
メモリ１６４は、プロセッサ１６２の動作のためのさまざまなデータを格納する。例えば、メモリ１６４は、プロセッサ１６２が各種機能を実現するためのプログラムを格納する。また、メモリ１６４は、ディスプレイユニット１１０のモーションセンサ１１６、およびカメラ１２０から出力されたデータを一時的に格納する。通信装置１６６は、スマートフォン等の外部機器との間で無線通信を実行する。無線通信には、例えばＢｌｕｅｔｏｏｔｈ（登録商標）またはＷｉ−Ｆｉなどが用いられる。入力キー１６８は、例えば戻るキーやＰＴＴ（Push to Talk）キーなどを含み、シースルー型表示装置１００に対するユーザ操作を取得する。タッチセンサ１７０も同様にシースルー型表示装置１００に対するユーザ操作を取得する。より具体的には、例えば、タッチセンサ１７０は、ユーザによるタップやスワイプなどの操作を取得する。
【００４０】
マイクロフォン１７２は、音声を音声信号に変換し、プロセッサ１６２に提供する。スピーカ１７４は、プロセッサ１６２の制御に従って音声を出力する。ケーブル挿抜センサ１７８は、コントロールユニット１６０とディスプレイユニット１１０とを接続するケーブルの接続状態を検出するセンサである。ケーブル挿抜センサ１７８は、例えば、ケーブルが完全に接続された状態と、ケーブルが不完全に接続された状態（完全には接続されていないが接続は維持されている状態）と、ケーブルが接続されていない状態とを検出可能でありうる。バッテリー１８０は、コントロールユニット１６０およびディスプレイユニット１１０の全体に電源を供給する。
【００４１】
なお、シースルー型表示装置１００では、プロセッサ１６２やマイクロフォン１７２、スピーカ１７４、バッテリー１８０などをコントロールユニット１６０に搭載し、ディスプレイユニット１１０とコントロールユニット１６０とを分離してケーブルで接続することによって、ディスプレイユニット１１０の小型化および軽量化を図っている。コントロールユニット１６０もまたユーザによって携帯されるため、可能な限り小型化および軽量化することが望ましい。
【００４２】
なお、シースルー型表示装置１００は、ディスプレイユニット１１０とコントロールユニット１６０が一体的に構成されたものであってもよい。また、シースルー型表示装置１００は、図１に示すような眼鏡型表示装置に限られず、自動車のフロントガラス近傍又は自動二輪車のハンドル近傍等に搭載されるような表示装置であってもよい。
【００４３】
図３は、システム１０の動作を示すシーケンス図である。同図に示すように、シースルー型表示装置１００においてはグラスアプリケーション(GlassApp)１９１から送信された画像がディスプレイ１１２に供給（２：send image)され、ディスプレイ１１２に表示される。グラスアプリケーション１９１はシースルー型表示装置１００上で動作するアプリケーションであり、詳細は後述する。
【００４４】
＜１．２  シースルー型表示装置及びスマートフォン＞
図４は、第２の実施態様に係るシステム２０の概略的な構成を示す図であり、図５は、システム２０の概略的な機能構成を示すブロック図である。図４及び図５に示すように、システム２０は、シースルー型表示装置１００及びスマートフォン２００を含む。なお、スマートフォン２００はＰＣ等でもよい。
【００４５】
［シースルー型表示装置］
シースルー型表示装置１００は、第１の実施態様と同様の構成を有するが、通信装置１６６は、Ｂｌｕｅｔｏｏｔｈ（登録商標）またはＷｉ−Ｆｉ等によってスマートフォン２００との間で通信を実行することが可能に構成されている。
【００４６】
［スマートフォン］
スマートフォン２００は、プロセッサ２０２と、メモリ２０４と、通信装置２０６，２０８と、センサ２１０と、ディスプレイ２１２と、タッチパネル２１４と、ＧＰＳ（Global Positioning System）受信機２１６と、マイクロフォン２１８と、スピーカ２２０と、バッテリー２２２とを備える。プロセッサ２０２は、メモリ２０４に格納されたプログラムに従って動作することによって各種の機能を実現する。プロセッサ２０２がシースルー型表示装置１００のコントロールユニット１６０が備えるプロセッサ１６２と協働して各種の機能を実現することによって、コントロールユニット１６０の小型化および軽量化が可能になる。メモリ２０４は、スマートフォン２００の動作のためのさまざまなデータを格納する。例えば、メモリ２０４は、プロセッサ２０２が各種機能を実現するためのプログラムを格納する。また、メモリ２０４は、センサ２１０やＧＰＳ受信機２１６によって取得されたデータ、およびシースルー型表示装置１００との間で送受信されるデータを、一時的または継続的に格納する。
【００４７】
通信装置２０６は、シースルー型表示装置１００のコントロールユニット１６０が備える通信装置１６６との間で、Ｂｌｕｅｔｏｏｔｈ（登録商標）またはＷｉ−Ｆｉなどを用いた無線通信を実行する。センサ２１０は、例えば加速度センサ、角速度センサ、地磁気センサ、または照度センサなどを含み、スマートフォン２００のさまざまな状態を検出する。ディスプレイ２１２は、プロセッサ２０２の制御に従って各種の画像を表示する。タッチパネル２１４は、ディスプレイ２１２上に配置され、ディスプレイ２１２に対するユーザのタッチ操作を取得する。ＧＰＳ受信機２１６は、スマートフォン２００の緯度、経度、および高度を測定するためのＧＰＳ信号を受信する。マイクロフォン２１８は、音声を音声信号に変換し、プロセッサ２０２に提供する。スピーカ２２０は、プロセッサ２０２の制御に従って音声を出力する。バッテリー２２２は、スマートフォン２００の全体に電源を供給する。
【００４８】
図６は、システム２０の動作を示すシーケンス図である。同図に示すように、シースルー型表示装置１００においてはグラスアプリケーション１９１から送信された画像がディスプレイ１１２に供給（２：send image)され、ディスプレイ１１２に表示される。また、スマートフォンアプリケーション（SmartPhoneApp)１９２からグラスアプリケーション１９１に所定の入力(５：some input)が実行され、それに基づいてグラスアプリケーション１９１から送信された画像がディスプレイ１１２に供給（６：send image)され、ディスプレイ１１２に表示される。スマートフォンアプリケーション１９２はスマートフォン２００上で動作するアプリケーションであり、詳細は後述する。
【００４９】
＜１．３  シースルー型表示装置及びサーバ＞
図７は、第３の実施態様に係るシステム３０の概略的な構成を示す図であり、図８は、システム３０の概略的な機能構成を示すブロック図である。図７及び図８に示すように、システム３０は、シースルー型表示装置１００及びサーバ３００を含む。シースルー型表示装置１００とサーバ３００は、通信装置３１０を介して直接に、又はインターネット等のコンピュータネットワークを介して接続されている。
【００５０】
［シースルー型表示装置］
シースルー型表示装置１００は、第１の実施態様と同様の構成を有するが、通信装置１６６は、Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｗｉ−Ｆｉ又は携帯電話回線等によってサーバ３００との間で通信を実行することが可能に構成されている。
【００５１】
［サーバ］
サーバ３００は、プロセッサ３０２と、メモリ３０４と、通信装置３０６とを備える。なお、サーバ３００は、例えばネットワーク上で複数のサーバ装置が協働することによって実現されてもよいが、ここでは説明を簡単にするために仮想的な単一の装置として説明する。プロセッサ３０２は、メモリ３０４に格納されたプログラムに従って動作することによって各種の機能を実現する。サーバ３００のプロセッサ３０２は、例えば、シースルー型表示装置１００から受信したリクエストに応じて各種の情報処理を実行し、結果をシースルー型表示装置１００に送信する。メモリ３０４は、サーバ３００の動作のためのさまざまなデータを格納する。例えば、メモリ３０４は、プロセッサ３０２が各種機能を実現するためのプログラムを格納する。メモリ３０４は、さらに、シースルー型表示装置１００からアップロードされたデータを一時的または継続的に格納してもよい。通信装置３０６は、シースルー型表示装置１００のコントロールユニット１６０が備える通信装置１６６にコンピュータネットワーク等を介して接続され、通信装置１６６と通信を行う。
【００５２】
図９は、システム３０の動作を示すシーケンス図である。同図に示すように、シースルー型表示装置１００においてはグラスアプリケーション１９１から送信された画像がディスプレイ１１２に供給（２：send image）され、ディスプレイ１１２に表示される。また、クラウドアプリケーション（CloudApp)１９３からグラスアプリケーション１９１に所定の入力（５：some input）が実行され、それに基づいてグラスアプリケーション１９１から送信された画像がディスプレイ１１２に供給（６:send image)され、ディスプレイ１１２に表示される。クラウドアプリケーション１９３はサーバ３００上で動作するアプリケーションであり、詳細は後述する。
【００５３】
＜１．４  シースルー型表示装置、スマートフォン及びサーバ＞
図１０は、第４の実施態様に係るシステム４０の概略的な構成を示す図であり、図１１は、システム４０の概略的な機能構成を示すブロック図である。図１０及び図１１に示すように、システム４０は、シースルー型表示装置１００、スマートフォン２００及びサーバ３００を含む。シースルー型表示装置１００とスマートフォン２００は無線通信等によって接続され、スマートフォン２００とサーバ３００は、通信装置３１０を介して直接に、又はインターネット等のコンピュータネットワークを介して接続されている。
【００５４】
［シースルー型表示装置］
シースルー型表示装置１００は、第１の実施態様と同様の構成を有するが、通信装置１６６は、Ｂｌｕｅｔｏｏｔｈ（登録商標）またはＷｉ−Ｆｉ等によってスマートフォン２００との間で通信を実行することが可能に構成されている。
【００５５】
［スマートフォン］
スマートフォン２００は、第２の実施態様と同様の構成を有するが、通信装置２０８は、Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｗｉ−Ｆｉ又は携帯電話回線等によってサーバ３００との間で通信を実行することが可能に構成されている。なお、スマートフォン２００はＰＣ等でもよい。
【００５６】
［サーバ］
サーバ３００は、プロセッサ３０２と、メモリ３０４と、通信装置３０６とを備える。なお、サーバ３００は、例えばネットワーク上で複数のサーバ装置が協働することによって実現されてもよいが、ここでは説明を簡単にするために仮想的な単一の装置として説明する。プロセッサ３０２は、メモリ３０４に格納されたプログラムに従って動作することによって各種の機能を実現する。サーバ３００のプロセッサ３０２は、例えば、スマートフォン２００から受信したリクエストに応じて各種の情報処理を実行し、結果をスマートフォン２００に送信する。メモリ３０４は、サーバ３００の動作のためのさまざまなデータを格納する。例えば、メモリ３０４は、プロセッサ３０２が各種機能を実現するためのプログラムを格納する。メモリ３０４は、さらに、スマートフォン２００からアップロードされたデータを一時的または継続的に格納してもよい。通信装置３０６は、スマートフォン２００が備える通信装置２０８にコンピュータネットワーク等を介して接続され、通信装置２０８と通信を行う。
【００５７】
図１２は、システム４０の動作を示すシーケンス図である。同図に示すように、シースルー型表示装置１００においてはグラスアプリケーション１９１から送信された画像がディスプレイ１１２に供給（２：send image）され、ディスプレイ１１２に表示される。また、クラウドアプリケーション１９３からスマートフォンアプリケーション１９２に所定の入力（５：some input)が実行され、それに基づいてスマートフォンアプリケーション１９２からグラスアプリケーション１９１に所定の入力(６：some input)が実行される。それに基づいてグラスアプリケーション１９１から送信された画像がディスプレイ１１２に供給(８：send image)され、ディスプレイ１１２に表示される。
【００５８】
本実施形態に係るシステムは、上記第１〜第４の実施態様に係るシステムのうちいずれであってもよい。以下、本実施形態に係るシステムをシステム１０００とする。
【００５９】
（２．シースルー型表示装置のハードウェア構成）
図１３は、上記実施態様１乃至４に係るシースルー型表示装置１００の詳細なハードウェア構成を示す模式図である。同図に示すように、シースルー型表示装置１００は、ハードウェア構成としてＣＰＵ１３１、ＲＯＭ１３２、ＲＡＭ１３３、ディスプレイドライバ１３４、９軸センサ１３５及びＷｉＦｉ／ＢＴ  ＢＬＥデバイス１３６を備える。これらのハードウェア構成によって、上記各実施態様における機能構成が実現されている。
【００６０】
ＣＰＵ１３１は、演算処理装置および制御装置として機能し、ＲＯＭ１３２、ＲＡＭ１３３等に記録された各種プログラムに従って、シースルー型表示装置１００内の動作全般またはその一部を制御する。ＲＯＭ１３２は、ＣＰＵ１３１が使用するプログラムや演算パラメータなどを記憶する。ＲＡＭ１３３は、ＣＰＵ１３１の実行において使用するプログラムや、その実行において適宜変化するパラメータなどを一次記憶する。
【００６１】
ディスプレイドライバ１３４は、バス１３７によってＣＰＵ１３１及びディスプレイ１１２に接続され、ＣＰＵ１３１による制御に基づいてディスプレイ１１２を駆動し、ディスプレイに画像を表示させる。９軸センサ１３５は３軸加速度センサ、３軸ジャイロセンサ及び３軸地磁気センサから構成され、シースルー型表示装置１００の向きや加速度等を検出する。９軸センサ１３５はＩＺＣバス１３８によってＣＰＵ１３１と接続され、検出結果をＣＰＵ１３１に供給する。ＷｉＦｉ／ＢＴ  ＢＬＥデバイス１３６は、ＵＡＲＴバス１３９及びＳＤＩＯバス１４０によってＣＰＵ１３１と接続され、ＣＰＵ１３１による制御に基づいてＷｉＦｉ、ＢＴ（Bluetooth（登録商標））又はＢＬＥ（Bluetooth（登録商標） Low Energy)を利用した通信を行う。
【００６２】
（３．ソフトウェアパッケージ）
図１４は、システム１０００のソフトウェアパッケージを示す模式図である。同図に示すように、シースルー型表示装置１００上ではグラスアプリケーション（Glass App)１９１が動作する。グラスアプリケーション１９１はＳＥ（Smart Eyeglass)ファームウェア１９４を利用して構成されている。
【００６３】
また、スマートフォン２００上ではスマートフォンアプリケーション(SmartPhone App)１９２が動作し、サーバ３００上ではクラウドアプリケーション（Cloud App)１９３が動作する。スマートフォンアプリケーション１９２はＳＥライブラリ（Library)１９５を利用して構成され、クラウドアプリケーション１９３はＳＥライブラリ１９６を利用して構成されている。
【００６４】
シースルー型表示装置１００の機能は、ＳＥファームウェア１９４、ＳＥライブラリ１９５及びＳＥライブラリ１９６の連携で各アプリケーションが利用することができる。
【００６５】
図１５は、ＳＥファームウェア１９４を構成するモジュールを示す模式図である。同図に示すように、ＳＥファームウェア１９４は、ウオッチドッグ５０１、ＳＥコア５０２、ＳＥコントローラ５０３、ディスプレイドライバ５０４、プロトコルドライバ５０５、センサドライバ５０６、デバッグドライバ５０７、システムマネージャ５０８、セッティング５０９及びデバッグモジュール５１０の各モジュールを含む。各モジュールの詳細については後述する。
【００６６】
図１６は、各モジュールの階層を示す模式図である。同図に示すように各モジュールはＳＥファームウェア及びグラスアプリケーション（SE Firmware + GlassApp)６０１に含まれている。コントローラ（Controller)６０２はスマートフォンアプリケーション１９２及びクラウドアプリケーション１９３のいずれか一方又は両方によって実現される。ウオッチドッグ５０１はソフトウェアであるウォッチドック（Soft WD）に含まれ、ＳＥコントローラ５０３及びセッティング５０９はアプリケーションソフトウェア（App）に含まれている。ＳＥコントローラ５０３にアプリケーションを実装することでグラスアプリケーション（GlassApp)１９１を実現することができる。
【００６７】
また、ＳＥコア５０２、システムマネージャ５０８及びデバッグドライバ５０７はミドルウェア（MW）に含まれ、ディスプレイドライバ５０４、センサドライバ５０６、デバッグドライバ５０７及びプロトコルドライバ５０５はドライバ（Driver)に含まれている。
【００６８】
図１６において実線矢印は、一定周期の処理で異常検出トリガーの発信である。また、破線矢印は、アプリケーションの異常評価、異常時のアプリケーション復帰及びアプリケーション切り替えの処理である。一点鎖線矢印はシースルー型表示装置１００全体の異常評価及び異常時の復帰等の処理である。二点鎖線矢印はネットワークを介したコントローラ６０２を含めてシステム全体の異常評価及び異常時のシステム復帰等の処理である。
【００６９】
（４．システムの機能的構成及び動作）
本実施形態に係るシステム１０００の機能的構成及び動作について説明する。
【００７０】
＜４−１．エラー検出及びディスプレイ表示制御＞
図１７は、システム１０００の機能的構成を示すブロック図である。同図に示すように、システム１０００はエラー検出部１００１、表示制御部１００２及びディスプレイ１１２から構成されている。
【００７１】
エラー検出部１００１は、システム１０００において生じるエラーを検出する。エラー検出部１００１が検出するエラーの詳細については後述するが、上記各モジュールでのソフトウェア上のエラー又はハードウェア上のエラー、各モジュール間の通信エラー、アプリケーション上のエラー、アプリケーションとファームウェア間の通信エラー、アプリケーション間の通信エラー、機器間のエラー等の各種エラーである。エラー検出部１００１は、エラーを検出すると検出結果を表示制御部１００２に供給する。
【００７２】
エラー検出部１００１として機能する構成は、ウオッチドッグ５０１、ＳＥコア５０２、ＳＥコントローラ５０３、ディスプレイドライバ５０４、プロトコルドライバ５０５、センサドライバ５０６、ＳＥライブラリ１９５、ＳＥライブラリ１９６、スマートフォンアプリケーション１９２、クラウドアプリケーション１９３又はスマートフォン２００若しくはサーバ３００のプラットフォームのシステムである。
【００７３】
表示制御部１００２は、エラー検出部１００１によるエラーの検出結果に基づいてディスプレイ１１２の表示を制御する。表示制御部１００２による表示の制御は特に限定されないが、ディスプレイ１１２の表示がユーザの視界を妨げないように表示を変更するものが好適である。具体的には表示制御部１００２は、エラー検出部１００１からエラーの検出結果が供給されると、ディスプレイ１１２の表示画像を消す、調光素子を消す、エラーメッセージを表示する、表示画像の位置をずらす、表示画像を縮小する等の制御を行う。
【００７４】
この他にも表示制御部１００２は、例えば国際公開第２０１３／１９０７６６号に記載されているようにディスプレイ１１２の周縁部に表示画像を配置することができる。また、表示制御部１００２はディスプレイ１１２にエラーメッセージを表示した際、国際公開第２０１４／１２８８０９号に記載されているように、ユーザの動作を検出してエラーメッセージを視認性の高い位置に表示させてもよい。
【００７５】
表示制御部１００２として機能する構成は、ＳＥファームウェア１９４であり、より具体的にはウオッチドッグ５０１、ＳＥコア５０２、ＳＥコントローラ５０３、ディスプレイドライバ５０４、プロトコルドライバ５０５又はセンサドライバ５０６である。
【００７６】
これにより、システム１０００においてエラーが発生した場合にユーザの視界が確保され、ユーザの危険が回避される。また、この処理はＳＥファームウェア１９４等の比較的ハードウェアに近い階層で実施されるため、アプリケーションのフリーズ等が生じた場合であっても表示制御処理が妨げられず、安全性が高い。
【００７７】
＜４−２．エラーレベルに応じたディスプレイ表示制御＞
エラー検出部１００１は、エラーの検出と共にエラーのレベルを判定してもよい。レベルは例えばレベル０〜３の４段階とすることができ、以下に一例を示す。
【００７８】
レベル０  ユーザに与える危険がない
レベル１  ユーザに与える危険度が非常に高く、復帰に非常に時間がかかる
レベル２  ユーザに与える危険度がある程度高く、復帰にある程度時間がかかる
レベル３  ユーザに与える危険度が小さく、復帰に時間がかからない
【００７９】
エラー検出部１００１は、エラーのレベルを表示制御部１００２に供給する。表示制御部１００２は、エラー検出部１００１からエラーのレベルが供給されると、エラーのレベルに基づいてディスプレイ１１２の表示を制御する。
【００８０】
表示制御部１００２は例えば、エラーのレベルに基づいてディスプレイ１１２の輝度を調整し、あるいはディスプレイ１１２が備える調光素子の透過率を調整することができる。また、表示制御部１００２はエラーのレベル基づいてディスプレイ１１２における位置及びサイズの少なくとも一方を調整することができる。
【００８１】
具体的には表示制御部１００２は、エラーのレベルが、ユーザに対する危険度が小さい場合にはディスプレイ１１２の表示に若干の変更を加え、エラーのレベルが、ユーザに対する危険度が大きい場合にはディスプレイ１１２の表示に大幅な変更を加える等の制御を行うことができる。以下に、エラーのレベルに応じた表示制御の一例を示す。
【００８２】
レベル０  表示を変更しない 
レベル１．ａ  表示画像を消去する、又は調光素子の動作を停止させて明るさを最大とする
レベル１．ｂ  表示画像を消去してエラーメッセージを視界の妨げとならない位置に表示する
レベル２．ａ  表示画像の位置をずらして視界を確保する（例、表示画像を下、上、右、又は左にずらす）
レベル２．ｂ  表示画像の細部を縮小する、又は縮小して位置をずらず（例、縦横比を維持したまま縮小、縦長に圧縮、横長に圧縮等）
レベル３  ディスプレイの明るさを小さくする、又は調光素子の透過率を小さくする
【００８３】
このように、システム１０００がエラーのレベルに応じてディスプレイ１１２の表示制御を行うことにより、ユーザに与える危険度に応じて適切な表示制御を実現することが可能となる。
【００８４】
（５．システムの具体的処理）
上述したシステム１０００のエラー検出及び表示制御（フェイルセーフ処理）の具体的処理について説明する。
【００８５】
＜５−１エラー検出及びフェイルセーフ処理＞
図１８は、システム１０００のフェイルセーフ処理を示すフローチャートである。
【００８６】
図１８に示すように、システム稼動中（Ｓｔ１０１）においてエラー検出部１００１がエラーを検出する（Ｓｔ１０２）と、エラーレベルの高低を判定する（Ｓｔ１０３）。エラーレベルが高い場合（Ｓｔ１０３：high)、原因究明処理（Ｓｔ１０４）が実行され、原因究明が成功する（Ｓｔ１０５：ture）すると、稼動状態（Ｓｔ１０１）に戻る。原因究明が失敗（Ｓｔ１０５：fail）すると、表示制御部１００２がフェイルセーフ処理（Ｓｔ１０６）を実行する。また、表示制御部１００２はエラーレベルが低い場合（Ｓｔ１０３：low)もフェイルセーフ処理（Ｓｔ１０６）を実行する。
【００８７】
図１９は、原因究明処理（Ｓｔ１０４）及びフェイルセーフ処理（Ｓｔ１０５）を実行する場合のシーケンス図である。同図に示すように、エラー検出部１００１（図中では例としてクラウドアプリケーション１９３）がエラーを検出（１：detect erro）すると、ＳＥファームウェア１９４、ＳＥライブラリ１９５及びＳＥライブラリ１９６内の原因究明用機能を呼び出し（１．１〜４）、原因究明処理（total self diagnosis)を実行する。
【００８８】
続いて、ＳＥファームウェア１９４、ＳＥライブラリ１９５及びＳＥライブラリ１９６内のフェイルセーフ機能を呼びだし（５〜８）、ＳＥファームウェア１９４がフェイルセーフ処理（９：execute fail safe process）を実行する。その後、フェイルセーフ処理の実行が各アプリケーションに通知（１０〜１２）される。
【００８９】
図２０は、原因究明処理（Ｓｔ１０４）を実行せずにフェイルセーフ処理（Ｓｔ１０５）を実行する場合のシーケンス図である。この場合、エラー検出部１００１（図中では例としてクラウドアプリケーション１９３）がエラーを検出（１：detect erro）すると、ＳＥファームウェア１９４、ＳＥライブラリ１９５及びＳＥライブラリ１９６内のフェイルセーフ機能を呼びだし（１．１〜４）、ＳＥファームウェア１９４がフェイルセーフ処理（５：execute fail safe process）を実行する。その後、フェイルセーフ処理の実行が各アプリケーションに通知（６〜８）される。
【００９０】
＜５−２．ＳＥファームウェア単体でのエラー検出及びフェイルセーフ処理＞
図２１及び図２２は、ＳＥファームウェア１９４が単体でエラー検出を実行する場合のシーケンス図である。なお、図２１と図２２は連続したシーケンス図を分割して示すものである。
【００９１】
シースルー型表示装置１００内でＳＥファームウェア１９４がエラーを検出（５〜９のいずれか）すると、ＳＥファームウェア１９４内でフェイルセーフ処理（７：fail saef process)が実行される。さらにＳＥファームウェア１９４はそのステータスをグラスアプリケーション１９１に通知（１０：notify fatal status)し、スマートフォンアプリケーション１９２及びクラウドアプリケーション１９３への通知（１１：notify status)や復帰処理が実行される。
【００９２】
＜５−３．スマートフォンアプリケーション又はクラウドアプリケーションでのエラー検出部及びフェイルセーフ処理＞
図２３は、機器間又はシースルー型表示装置１００以外の機器において生じたエラーを検出する場合のシーケンス図である。
【００９３】
スマートフォン２００又はサーバ３００側でエラーを検出（１〜４のいずれか）すると、スマートフォンアプリケーション１９２又はクラウドアプリケーション１９３がＳＥライブラリ１９５又はＳＥライブラリ１９６の機能でフェイルセーフ処理を実行（１０、１２：execute fail safe process)する。
【００９４】
また、ＳＥファームウェア１９４とＳＥライブラリ１９５又はＳＥライブラリ１９６の間でエラーを検出する（８）とＳＥファームウェア１９４がフェイルセーフ処理を実行（１１：fail safe process)する。そのステータスはスマートフォンアプリケーション１９２、クラウドアプリケーション１９３又は外部機器８０３へ通知される。
【００９５】
＜５−４．エラー検出及びフェイルセーフ処理の具体例＞
上記のように、各モジュール、ＳＥライブラリ又はアプリケーションはエラー検出部及び表示制御部として機能する。以下それぞれがエラー検出部及び表示制御部として動作する際の具体例について説明する。
【００９６】
ウオッチドッグ５０１は、定期的にハードリソース、ソフトモジュールを監視しグラスシステム異常を検出するモジュールであり、ハードウォッチドッグ機能を利用するソフトウェア全体のフリーズ検出を実行する。
【００９７】
ウオッチドッグ５０１は定期的にハードウォッチドッグのフラグをクリアするが、一定時間内にクリアできないとハードウォッチドッグ出力がアサートされ、ディスプレイドライバ１３４のリセットによってディスプレイ１１２の表示を消灯する。その後、ＣＰＵ１３１のリセットによるシステム復帰を行う。
【００９８】
ＳＥコア５０２は、ディスプレイ１１２の表示及びセンサ値処理のためのプロトコルを管理し、実行するモジュールである。
【００９９】
ＳＥコア５０２は、動的メモリ確保を使ったプログラムでメモリ確保時のメモリ不足による確保に失敗した場合、継続処理不可能と判断してディスプレイ１１２の表示を消去し、視界を妨げないような状態表示を行う。続いてＳＥコア５０２は自己の復帰処理を行い、正常に戻れば、ＳＥコア処理を継続する。
【０１００】
また、ＳＥコア５０２は、ＣＰＵ１３１がメモリ管理ユニットを備える場合、プログラムがメモリアクセス違反を起こした際のシグナル通知によりディスプレイ１１２の表示を消去し、視界を妨げないような状態表示を行う。続いてＳＥコア５０２は自己の復帰処理を行い、正常に戻れば、ＳＥコア処理を継続する。
【０１０１】
また、ＳＥコア５０２は、プロトコルで規定された仕様に沿ってないコマンドパケットを受信した場合、視界確保できるように表示中の画像を縮小し、異常パケット受領通知を返送することで、正常なコマンドパケットの再送を促し、システムの復帰を促す。
【０１０２】
また、ＳＥコア５０２は、ディスプレイ１１２に表示するデータを送信するコマンドパケットが仕様に違反していることを検出すると、表示中の画像の輝度を下げて視界確保すると共にコマンドパケット仕様違反を通知することで正常なデータの再送を促しシステムの復帰を行う。
【０１０３】
ＳＥコントローラ５０３は、シースルー型表示装置１００のシステムの状態を管理し、各状態に対して定義されたイベントを受けると状態遷移するモジュールである。
【０１０４】
ＳＥコントローラ５０３は、任意の状態に対してその状態に定義していないイベント、もしくは、定義されたイベント処理が規定されていないものを受けてシステム異常と判断した場合、ディスプレイ１１２の表示を消去し、異常処理を行う。
【０１０５】
ディスプレイドライバ５０４は、ハードウェアであるディスプレイドライバ１３４の操作を行うモジュールである。
【０１０６】
ディスプレイドライバ５０４は、起動時に設定したレジスタ値を定期的に読出する。設定値が不整合となった場合には、ディスプレイドライバ５０４はハードウェアにおいてＣＰＵ１３１とディスプレイドライバ１３４間の接続不良ノイズによる通信不良に起因するディスプレイ表示制御の不正状態と判断してディスプレイ１１２の表示を消去する。
【０１０７】
また、ディスプレイドライバ５０４は、ディスプレイ１１２の表示データの左右、上下シフト又は反転のためのレジスタ値の変更時や書き込み後、同じ値を読みだした際に値が一致するか否かを判定する。ディスプレイドライバ５０４は、値が一致しない場合にはハードウェア上でＣＰＵ１３１とディスプレイドライバ１３４の間の接続不良ノイズによる通信不良によるディスプレイ表示制御の不正状態と判断してディスプレイ１１２の表示を消去する。
【０１０８】
プロトコルドライバ５０５は、プロトコル送受信のためのハード通信路のデバイスの操作を行うモジュールである。
【０１０９】
プロトコルドライバ５０５は、プロトコル送信時にＵＡＲＴデバイスの応答がない場合、シースルー型表示装置１００へのプロトコル送信がシースルー型表示装置１００側で受信できない、又はシースルー型表示装置１００からのプロトコル送信ができないためディスプレイ１１２の更新ができないと判断し、ディスプレイ１１２を消灯する。
【０１１０】
センサドライバ５０６は、９軸センサ１３５等の各種センサの操作を行うモジュールである。
【０１１１】
センサドライバ５０６は、センサ値によるディスプレイ１１２の表示のために、センサ電源をオンとした際にＩ２Ｃコマンドエラー発生した場合、センサ利用不可と判断しセンサが使えない旨をディスプレイ１１２に表示する。
【０１１２】
また、センサドライバ５０６は、定期的にセンサ値を取得し、その値をもとにあるアルゴリズムで計算した結果をディスプレイ１１２の表示に使っている間、一定時間以上Ｉ２Ｃセンサ値通知が受信できない場合、正常なディスプレイ表示ができないと判断し、その旨をディスプレイ１１２に表示する。
【０１１３】
ＳＥライブラリ１９５及びＳＥライブラリ１９６（以下、ＳＥライブラリ）はシースルー型表示装置１００のディスプレイ表示、センサ値取得のための機能をアプリケーションが使うためのライブラリである。ＳＥライブライラリ内でエラーが発生した場合、ＳＥライブラリからフェイルセーフ処理要求をＳＥファームウェア１９４に対して行い、視界を確保できるようなディスプレイ表示に切り替え、その状態になったことをスマートフォンアプリケーション１９２又はクラウドアプリケーション１９３に通知する。
【０１１４】
スマートフォンアプリケーション１９２は、スマートフォン２００上で動作するアプリケーションである。スマートフォンアプリケーション１９２内でエラーが発生した場合、スマートフォンアプリケーション１９２はフェイルセーフ処理要求をＳＥライブラリ１９５に対して行い、要求を受けたＳＥライブラリ１９５がフェイルセーフ処理要求をＳＥファームウェア１９４に対して行い、視界を確保できるようなディスプレイ表示に切り替える。
【０１１５】
また、スマートフォンアプリケーション１９２は、自己と外部サービス間の通信に異常を検出した場合、フェイルセーフ処理要求をＳＥライブラリ１９５に対して行い、要求を受けたＳＥライブラリ１９５がフェイルセーフ処理要求をＳＥファームウェア１９４に対して行い、視界を確保できるようなディスプレイ表示に切り替える。
【０１１６】
クラウドアプリケーション１９３は、サーバ３００上で動作するアプリケーションである。クラウドアプリケーション１９３内でエラーが発生した場合、クラウドアプリケーション１９３はフェイルセーフ処理要求をＳＥライブラリ１９６に対して行い、要求を受けたＳＥライブラリ１９６がフェイルセーフ処理要求をＳＥファームウェア１９４に対して行い、視界を確保できるようなディスプレイ表示に切り替える。
【０１１７】
また、クラウドアプリケーション１９３は、自己と外部サービス間の通信に異常を検出した場合、フェイルセーフ処理要求をＳＥライブラリ１９６に対して行い、要求を受けたＳＥライブラリ１９６がフェイルセーフ処理要求をＳＥファームウェア１９４に対して行い、視界を確保できるようなディスプレイ表示に切り替える。
【０１１８】
スマートフォンクラウドシステム（SmartPhneCloudSys)８０２は、スマートフォン又はクラウドサービスのプラットフォームのシステムである。ＳＥライブラリ（ＳＥライブラリ１９５又はＳＥライブラリ１９６）が例外受信でＳＥライブラリとＳＥファームウェア１９４で構成されるシステムが正常に機能しないと判断した場合、ＳＥライブラリからフェイルセーフ処理要求をＳＥファームウェア１９４に対して行い、視界を確保できるようなディスプレイ表示に切り替える。また、ＳＥライブラリはその状態になったことをスマートフォンアプリケーション１９２又はクラウドアプリケーション１９３に通知する。
【０１１９】
（６．システムの動作シナリオ）
本実施形態に係るシステム１０００の動作シナリオについて説明する。
【０１２０】
＜６−１．レベル０＞
エラー検出部１００１が、検出したエラーのレベルがレベル０（ユーザに与える危険度がない）と判定した場合、システム１０００は以下のような動作を実行する。
１：ＳＥコントローラ５０３が異常なイベントを受信
２：エラー処理を行う
３：システム１０００が正常に復帰
４：（無処理）
【０１２１】
＜６−２．エラーレベル１に対する処理＞。
エラー検出部１００１が、検出したエラーのレベルがレベル１（ユーザに与える危険度が非常に高く、復帰に非常に時間がかかる）と判定した場合、システム１０００は以下のような動作を実行する。
１： システム１０００のデフォルトがレベル１．ａに設定されて製品出荷される
２： ユーザがエラーを表示させたいのでレベル１．ｂに設定しなおす
３：ＳＥコア５０２が処理中に必要なメモリを確保するが失敗する
４：ＳＥコア５０２内のエラー処理を事項するが、処理を継続できない条件になる
５：レベル１．ｂのフェイルセーフ処理を実行する
６：ＳＥコア５０２の再起動を行い、復帰処理で正常に戻る
【０１２２】
＜６−３．エラーレベル２に対する処理＞＞
エラー検出部１００１が、検出したエラーのレベルがレベル２（ユーザに与える危険度がある程度高く、復帰にある程度時間がかかる）と判定した場合、システム１０００は以下のような動作を実行する。
１：システム１０００のデフォルトがレベル２．ａに設定されて製品出荷される
２：ユーザがエラーを表示させたいのでレベル２．ｂに設定しなおす
３：スマートフォンアプリケーション１９２がアプリケーション内でエラーを検出する
４：レベル２．ｂのフェイルセーフ処理を実行する
５：スマートフォンアプリケーション１９２がエラー処理を行い、復帰処理で正常に戻る
【０１２３】
＜６−４．エラーレベル３に対する処理＞
エラー検出部１００１が、検出したエラーのレベルがレベル３（ユーザに与える危険度が小さく、復帰に時間がかからない）と判定した場合、システム１０００は以下のような動作を実行する。
１：クラウドアプリケーション１９３が外部サービスを使ってアプリケーション実行する
２：クラウドアプリケーション１９３が外部サービスとの通信異常を検出する
３：レベル３のフェイルセーフ処理を実行する
４：外部サービスとの通信が復帰して正常処理に戻る
【０１２４】
＜６−５．ナビゲーション中の処理＞
シースルー型表示装置を着用したユーザが、シースルー型表示装置においてTurn by Turnナビゲーションのアプリケーション実行中に曲がり角に近づいた時、進行方向を示す矢印が大きく表示されたタイミングでシースルー型表示装置とスマートフォンの接続障害が発生すると、矢印が表示されたままとなる。
【０１２５】
システム１０００では、ＳＥファームウェア１９４とＳＥライブラリ１９５間で通信するシステムで、その通信が可能な状態を確認するための疎通確認用パケット交換に失敗したことを検知してフェイルセーフ処理する。これにより、矢印が表示されたままとなることが回避される。
【０１２６】
図２４及び図２５は、本シナリオにおけるシーケンス図である。なお、図２４と図２５は連続したシーケンス図を分割して示すものである。同図に示すように、スマートフォンアプリケーション１９２、ウェブＡＰＩ８０６及びＳＥライブラリ１９５の間でナビゲーションのための通信（１〜３．１）が実行され、ＳＥファームウェア１９４とグラスアプリケーション１９１の間でナビゲーションのための通信（３．１．１．１〜３．１．１．１．２）が実行される。さらに、ＳＥファームウェア１９４によってディスプレイ１１２にナビゲーション情報が供給（３．１．１．１．２．１）される。ＳＥファームウェア１９４とＳＥライブラリ１９５の通信で通信が途絶（stall communication)すると、ディスプレイが消去（１３．１）される。
【０１２７】
＜６−６．ユーザの動作による表示制御＞
自動二輪車で車線変更する時にシースルー型表示装置１００でスピードメーターとウインカーなどの表示を見ながら後右(左)下方向に視線を向けて後続車がいないことを安全に確認するためにスピードメーター、ウインカーなどが視界の邪魔にならない様にする。
【０１２８】
シースルー型表示装置１００はモーションセンサ１１６によって頭の回転を検知し、右(左)回転が検出された場合(後右(左)下に視線)に以下のいずれかのように表示を制御する。
【０１２９】
Ａ:表示を消す
Ｂ:表示を薄くする
Ｃ：左(右)側に表示をずらす
Ｄ:左(右)側に表示を縮小表示する、
【０１３０】
Ａ〜Ｄは、例えば、自動二輪車の速度が速い、又は急加速した場合はより安全なＡ、制限速度に対して余裕がある、かつ加速していない場合は表示の連続性を持たせて見やすい、疲れない、更に品位をあげるためにＤのアニメーションを行う等によって選択することができる。
【０１３１】
＜６−７．ユーザの動作による表示制御＞
シースルー型表示装置１００にスピードメーター表示しながら、自動二輪車のメーターを見ると同じ情報が重畳され、ディスプレイ１１２の表示が視界の妨げにならないようにする。
【０１３２】
自動二輪車のスピードメーターをディスプレイ１１２表示させた状態で、ユーザがスピードメーターを見るために下方向に頭を向けた時、自動二輪車の速度が０に近い場合は、表示し続け、仕様によってスピードメーター以外のナビゲーション地図を表示等行う。
【０１３３】
また、自動二輪車の速度が０でない(走行中)、また、加速度が検知できる場合は、スピードメーターが見づらいのでグラス表示を薄くする/縮小する/表示場所を上にする等視界の妨げにならないようにする、もしくは、加速度がある値より大きい(急加速)の場合は、ディスプレイ１１２の表示を消去する等を行う。
【０１３４】
＜６−８．環境による表示制御＞
好天の日に自動二輪車で走行中にスピードメーターをディスプレイ１１２に表示する際、調光素子で遮光すると見やすいが、トンネルに入ると暗くなるため見づらくなる。このため、調光素子の遮光率を下げて外界を見やすくする。
【０１３５】
調光素子で遮光中に、照度センサ１１８の出力によって暗くなったことを検知した場合、自動二輪車の減速を検知すると、次第に調光素子の遮光率を下げて目を慣れさせ、表示品位を向上させる。自動二輪車の減速を検知しないと、瞬間的に遮光率を最小として視界を確保する。
【０１３６】
（７．ハードウェア構成）
次に、図２６を参照して、本開示の実施形態に係る電子機器のハードウェア構成について説明する。図２６は、本開示の実施形態に係る電子機器のハードウェア構成例を示すブロック図である。図示された電子機器９００は、例えば、上記の実施形態におけるシースルー型表示装置１００、スマートフォン２００及びサーバ３００を実現しうる。
【０１３７】
電子機器９００は、ＣＰＵ（Central Processing unit）９０１、ＲＯＭ（Read Only Memory）９０３、およびＲＡＭ（Random Access Memory）９０５を含む。また、電子機器９００は、ホストバス９０７、ブリッジ９０９、外部バス９１１、インターフェース９１３、入力装置９１５、出力装置９１７、ストレージ装置９１９、ドライブ９２１、接続ポート９２３、通信装置９２５を含んでもよい。さらに、電子機器９００は、必要に応じて、撮像装置９３３、およびセンサ９３５を含んでもよい。電子機器９００は、ＣＰＵ９０１に代えて、またはこれとともに、ＤＳＰ（Digital Signal Processor）またはＡＳＩＣ（Application Specific Integrated Circuit）と呼ばれるような処理回路を有してもよい。
【０１３８】
ＣＰＵ９０１は、演算処理装置および制御装置として機能し、ＲＯＭ９０３、ＲＡＭ９０５、ストレージ装置９１９、またはリムーバブル記録媒体９２７に記録された各種プログラムに従って、電子機器９００内の動作全般またはその一部を制御する。ＲＯＭ９０３は、ＣＰＵ９０１が使用するプログラムや演算パラメータなどを記憶する。ＲＡＭ９０５は、ＣＰＵ９０１の実行において使用するプログラムや、その実行において適宜変化するパラメータなどを一次記憶する。ＣＰＵ９０１、ＲＯＭ９０３、およびＲＡＭ９０５は、ＣＰＵバスなどの内部バスにより構成されるホストバス９０７により相互に接続されている。さらに、ホストバス９０７は、ブリッジ９０９を介して、ＰＣＩ（Peripheral Component Interconnect/Interface）バスなどの外部バス９１１に接続されている。
【０１３９】
入力装置９１５は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチおよびレバーなど、ユーザによって操作される装置である。入力装置９１５は、例えば、赤外線やその他の電波を利用したリモートコントロール装置であってもよいし、電子機器９００の操作に対応した携帯電話などの外部接続機器９２９であってもよい。入力装置９１５は、ユーザが入力した情報に基づいて入力信号を生成してＣＰＵ９０１に出力する入力制御回路を含む。ユーザは、この入力装置９１５を操作することによって、電子機器９００に対して各種のデータを入力したり処理動作を指示したりする。
【０１４０】
出力装置９１７は、取得した情報をユーザに対して視覚的または聴覚的に通知することが可能な装置で構成される。出力装置９１７は、例えば、ＬＣＤ（Liquid Crystal Display）、ＰＤＰ（Plasma Display Panel）、有機ＥＬ（Electro-Luminescence）ディスプレイなどの表示装置、スピーカおよびヘッドホンなどの音声出力装置、ならびにプリンタ装置などでありうる。出力装置９１７は、電子機器９００の処理により得られた結果を、テキストまたは画像などの映像として出力したり、音声または音響などの音声として出力したりする。
【０１４１】
ストレージ装置９１９は、電子機器９００の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置９１９は、例えば、ＨＤＤ（Hard Disk Drive）などの磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイスなどにより構成される。このストレージ装置９１９は、ＣＰＵ９０１が実行するプログラムや各種データ、および外部から取得した各種のデータなどを格納する。
【０１４２】
ドライブ９２１は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブル記録媒体９２７のためのリーダライタであり、電子機器９００に内蔵、あるいは外付けされる。ドライブ９２１は、装着されているリムーバブル記録媒体９２７に記録されている情報を読み出して、ＲＡＭ９０５に出力する。また、ドライブ９２１は、装着されているリムーバブル記録媒体９２７に記録を書き込む。
【０１４３】
接続ポート９２３は、機器を電子機器９００に直接接続するためのポートである。接続ポート９２３は、例えば、ＵＳＢ（Universal Serial Bus）ポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ（Small Computer System Interface）ポートなどでありうる。また、接続ポート９２３は、ＲＳ−２３２Ｃポート、光オーディオ端子、ＨＤＭＩ（登録商標）（High-Definition Multimedia Interface）ポートなどであってもよい。接続ポート９２３に外部接続機器９２９を接続することで、電子機器９００と外部接続機器９２９との間で各種のデータが交換されうる。
【０１４４】
通信装置９２５は、例えば、通信ネットワーク９３１に接続するための通信デバイスなどで構成された通信インターフェースである。通信装置９２５は、例えば、有線または無線ＬＡＮ（Local Area Network）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、またはＷＵＳＢ（Wireless USB）用の通信カードなどでありうる。また、通信装置９２５は、光通信用のルータ、ＡＤＳＬ（Asymmetric Digital Subscriber Line）用のルータ、または、各種通信用のモデムなどであってもよい。通信装置９２５は、例えば、インターネットや他の通信機器との間で、ＴＣＰ／ＩＰなどの所定のプロトコルを用いて信号などを送受信する。また、通信装置９２５に接続される通信ネットワーク９３１は、有線または無線によって接続されたネットワークであり、例えば、インターネット、家庭内ＬＡＮ、赤外線通信、ラジオ波通信または衛星通信などである。
【０１４５】
撮像装置９３３は、例えば、ＣＣＤ（Charge Coupled Device）またはＣＭＯＳ（Complementary Metal Oxide Semiconductor）などの撮像素子、および撮像素子への被写体像の結像を制御するためのレンズなどの各種の部材を用いて実空間を撮像し、撮像画像を生成する装置である。撮像装置９３３は、静止画を撮像するものであってもよいし、また動画を撮像するものであってもよい。
【０１４６】
センサ９３５は、例えば、加速度センサ、ジャイロセンサ、地磁気センサ、光センサ、音センサなどの各種のセンサである。センサ９３５は、例えば電子機器９００の筐体の姿勢など、電子機器９００自体の状態に関する情報や、電子機器９００の周辺の明るさや騒音など、電子機器９００の周辺環境に関する情報を取得する。また、センサ９３５は、ＧＰＳ（Global Positioning System）信号を受信して装置の緯度、経度および高度を測定するＧＰＳセンサを含んでもよい。
【０１４７】
以上、電子機器９００のハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。かかる構成は、実施する時々の技術レベルに応じて適宜変更されうる。
【０１４８】
（８．補足）
本開示の実施形態は、例えば、上記で説明したような電子機器、システム、電子機器またはシステムで実行される方法、電子機器を機能させるためのプログラム、およびプログラムが記録された一時的でない有形の媒体を含みうる。
【０１４９】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属する。
【０１５０】
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
【０１５１】
なお、本技術は以下のような構成もとることができる。
【０１５２】
（１）
エラーを検出するエラー検出部と、
上記エラー検出部の検出結果に基づいて、シースルー型ディスプレイの表示を制御する表示制御部と
を具備するシースルー型表示装置。
【０１５３】
（２）
上記（１）に記載のシースルー型表示装置であって、
上記エラー検出部は、シースルー型表示装置と外部との通信エラーを検出する
シースルー型表示装置。
【０１５４】
（３）
上記（１）に記載のシースルー型表示装置であって、
上記エラー検出部は、ファームウェアに含まれるモジュールにおいて生じたエラーを検出する
シースルー型表示装置。
【０１５５】
（４）
上記（１）に記載のシースルー型表示装置であって、
上記エラー検出部は、ファームウェアに含まれる複数のモジュールの間の通信エラーを検出する
シースルー型表示装置。
【０１５６】
（５）
上記（１）に記載のシースルー型表示装置であって、
上記エラー検出部は、ハードウェアのエラーを検出する
シースルー型表示装置。
【０１５７】
（６）
上記（１）に記載のシースルー型表示装置であって、
上記エラー検出部は、アプリケーション上のエラーを検出する
シースルー型表示装置。
【０１５８】
（７）
上記（１）に記載のシースルー型表示装置であって、
上記エラー検出部は、アプリケーションとファームウェアの間の通信エラーを検出する
シースルー型表示装置。
【０１５９】
（８）
上記（１）から（７）のうちいずれか一つに記載のシースルー型表示装置であって、
上記エラー検出部は、エラーのレベルを判別し、
上記表示制御部は、上記エラー検出部によって判別されたエラーのレベルに基づいて上記シースルー型ディスプレイの表示を制御する
シースルー型表示装置。
【０１６０】
（９）
上記（８）に記載のシースルー型表示装置であって、
上記エラー検出部は、上記エラー検出部によって判別されたエラーのレベルに基づいて上記シースルー型ディスプレイの輝度を調整する
シースルー型表示装置。
【０１６１】
（１０）
上記（８）に記載のシースルー型表示装置であって、
上記エラー検出部は、上記エラー検出部によって判別されたエラーのレベルに基づいて上記シースルー型ディスプレイが備える調光素子の透過率を調整する
シースルー型表示装置。
【０１６２】
（１１）
上記（８）に記載のシースルー型表示装置であって、
上記エラー検出部は、上記エラー検出部によって判別されたエラーのレベルに基づいて上記シースルー型ディスプレイにおける表示画像の位置及びサイズの少なくとも一方を調整する
シースルー型表示装置。
【０１６３】
（１２）
上記（１）から（１１）のうちいずれか一つに記載のシースルー型表示装置であって、
ユーザの頭部に装着され、前記ユーザの眼前に配置されるシースルー型ディスプレイを備える
シースルー型表示装置。
【０１６４】
（１３）
上記（１）から（１１）のうちいずれか一つに記載のシースルー型表示装置であって、
自動車又は自動二輪車に搭載される
シースルー型表示装置。
【０１６５】
（１４）
シースルー型ディスプレイを備えるシースルー型表示装置と、
上記シースルー型表示装置と接続される情報処理装置と
を具備するシステムであって、
エラーを検出するエラー検出部と、
上記エラー検出部の検出結果に基づいて、上記シースルー型ディスプレイの表示を制御する表示制御部とを備える
システム。
【０１６６】
（１５）
上記（１４）に記載のシステムであって、
上記エラー検出部は、上記シースルー型表示装置と上記情報処理装置の通信エラーを検出する
システム。
【０１６７】
（１６）
上記（１４）に記載のシステムであって、
上記エラー検出部は、上記シースルー型表示装置上で動作するアプリケーションと、上記情報処理装置上で動作するアプリケーションの間の通信エラーを検出する
システム。
【０１６８】
（１７）
上記（１４）に記載のシステムであって、
上記エラー検出部は、上記シースルー型表示装置のファームウェアと、上記情報処理装置のライブラリの間の通信エラーを検出する
システム。
【０１６９】
（１８）
シースルー型ディスプレイを備えるシースルー型表示装置と、
上記シースルー型表示装置と接続される第１の情報処理装置と、
上記第１の情報処理装置と接続される第２の情報処理装置と
を具備するシステムであって、
エラーを検出するエラー検出部と、
上記エラー検出部の検出結果に基づいて、上記シースルー型ディスプレイの表示を制御する表示制御部とを備える
システム。
【０１７０】
（１９）
エラーを検出するエラー検出部と、
上記エラー検出部の検出結果に基づいて、シースルー型ディスプレイの表示を制御する表示制御部と
として情報処理装置を機能させるプログラム。
【０１７１】
（２０）
エラー検出部が、エラーを検出し、
表示制御部が、上記エラー検出部の検出結果に基づいて、シースルー型ディスプレイの表示を制御する
情報処理方法。
【符号の説明】
【０１７２】
１０、２０、３０、４０…システム
１００…シースルー型表示装置
１１０…ディスプレイユニット
１１２…ディスプレイ
１９１…グラスアプリケーション
１９２…スマートフォンアプリケーション
１９２…スマートフォンアプリ
１９３…クラウドアプリケーション
１９４…ＳＥファームウェア
１９５…ＳＥライブラリ
１９６…ＳＥライブラリ
１０００…システム
１００１…エラー検出部
１００２…表示制御部
【図１】
2018135135.tif 000003
【図２】
2018135135.tif 000004
【図３】
2018135135.tif 000005
【図４】
2018135135.tif 000006
【図５】
2018135135.tif 000007
【図６】
2018135135.tif 000008
【図７】
2018135135.tif 000009
【図８】
2018135135.tif 000010
【図９】
2018135135.tif 000011
【図１０】
2018135135.tif 000012
【図１１】
2018135135.tif 000013
【図１２】
2018135135.tif 000014
【図１３】
2018135135.tif 000015
【図１４】
2018135135.tif 000016
【図１５】
2018135135.tif 000017
【図１６】
2018135135.tif 000018
【図１７】
2018135135.tif 000019
【図１８】
2018135135.tif 000020
【図１９】
2018135135.tif 000021
【図２０】
2018135135.tif 000022
【図２１】
2018135135.tif 000023
【図２２】
2018135135.tif 000024
【図２３】
2018135135.tif 000025
【図２４】
2018135135.tif 000026
【図２５】
2018135135.tif 000027
【図２６】
2018135135.tif 000028
【国際調査報告】
2018135135.tif 000029
2018135135.tif 000030
2018135135.tif 000031
2018135135.tif 000032