(57)【特許請求の範囲】
【請求項１】
コンピュータープログラムであって、
任意の処理を実行するプログラムから、前記プログラムが必要とする機能を指定した要求を受信する機能と、
前記要求に応じて、前記コンピュータープログラムを実行する情報処理装置が備える複数の入出力装置の中から、前記プログラムが必要とする前記機能に対応付けられている前記入出力装置のうちの少なくとも一部を動作させる機能と、
をコンピューターに実現させるための、コンピュータープログラムであって、
前記入出力装置のうちの少なくとも一部を動作させる機能は、
前記複数の入出力装置を前記プログラムが必要とする機能毎にグループ化することで前記対応付けを行う機能と、
各グループから少なくとも１つの前記入出力装置を所定の基準に基づいて選択する機能と、
前記要求に応じて、当該グループ内で選択されている前記入出力装置を動作させる機能と、を含み、
前記コンピュータープログラムは、さらに、
前記情報処理装置に接続されている入出力装置の情報が記憶されている機器個別情報であって、少なくとも、前記プログラムが必要とする前記機能の内容を表す機能名と、前記入出力装置の種類と、が対応付けて記憶されている機器個別情報を記憶する機能を、前記コンピューターに実現させることができ、
前記入出力装置のうちの少なくとも一部を動作させる機能は、前記機器個別情報を取得し、取得した前記機器個別情報の前記機能名を用いて前記グループ化を実施する機能を含み、
前記機器個別情報には、前記機能名に対応付けられて、さらに、前記プログラムが必要とする前記機能の種類と、前記情報処理装置において前記入出力装置が配置されている位置に関する情報と、が記憶され、
前記少なくとも１つの前記入出力装置を選択する機能は、
前記機器個別情報に記憶されている前記プログラムが必要とする前記機能の種類と、前記入出力装置の種類との関連度と、
前記入出力装置の性能と、
前記情報処理装置の利用者によって予め定めされている優先度と、
前記位置に関する情報と、
のうちの少なくともいずれか１つを基準として前記選択を実施する機能である、コンピュータープログラム。
【請求項２】
請求項１に記載のコンピュータープログラムであって、
前記少なくとも１つの前記入出力装置を選択する機能は、前記各グループから２つ以上の前記入出力装置を選択する機能であり、
前記選択されている前記入出力装置を動作させる機能は、
前記要求に応じて、当該グループ内で最も優先順位の高い前記入出力装置を動作させ、
動作させた前記入出力装置に異常がある場合は、当該グループ内で次に優先順位の高い前記入出力装置を動作させる機能である、コンピュータープログラム。
【請求項３】
請求項１または２に記載のコンピュータープログラムであって、
前記入出力装置のうちの少なくとも一部を動作させる機能は、
前記情報処理装置の前記複数の入出力装置と共に、前記情報処理装置に接続されている他の情報処理装置が備える複数の入出力装置を、前記プログラムが必要とする機能毎にグループ化することで前記対応付けを行った後、
前記選択および前記動作を実行する機能である、コンピュータープログラム。
【請求項４】
請求項１から請求項３のいずれか一項に記載のコンピュータープログラムであって、
前記複数の入出力装置をグループ化することで前記対応付けを行う機能は、前記グループ化の対象を、アクティブ状態である前記入出力装置に限定する機能である、コンピュータープログラム。
【請求項５】
請求項１から請求項４のいずれか一項に記載のコンピュータープログラムであって、
前記プログラムが必要とする前記機能を指定した前記要求とは、前記プログラムが必要とする前記機能の指定を含む関数と、前記プログラムが必要とする前記機能の指定を含む手順と、前記プログラムが必要とする前記機能の指定を含む命令と、のうちの少なくともいずれかである、コンピュータープログラム。
【請求項６】
情報処理装置であって、
任意の処理を実行するプログラムによって使用される複数の入出力装置と、
前記プログラムから受信した要求であって、前記プログラムが必要とする機能を指定した要求に応じて、前記複数の入出力装置の中から、前記機能に対応付けられている前記入出力装置のうちの少なくとも一部を動作させる主制御部と、
を備え、
前記主制御部は、
前記複数の入出力装置を前記プログラムが必要とする機能毎にグループ化することで前記対応付けを行い、
各グループから少なくとも１つの前記入出力装置を所定の基準に基づいて選択し、
前記要求に応じて、当該グループ内で選択されている前記入出力装置を動作させ、
前記情報処理装置は、さらに、
前記情報処理装置に接続されている入出力装置の情報が記憶されている機器個別情報であって、少なくとも、前記プログラムが必要とする前記機能の内容を表す機能名と、前記入出力装置の種類と、が対応付けて記憶されている機器個別情報を記憶する記憶部を備え、
前記主制御部は、前記機器個別情報を取得し、取得した前記機器個別情報の前記機能名を用いて前記グループ化を実施し、
前記機器個別情報には、前記機能名に対応付けられて、さらに、前記プログラムが必要とする前記機能の種類と、前記情報処理装置において前記入出力装置が配置されている位置に関する情報と、が記憶され、
前記主制御部は、前記少なくとも１つの前記入出力装置を選択する際に、
前記機器個別情報に記憶されている前記プログラムが必要とする前記機能の種類と、前記入出力装置の種類との関連度と、
前記入出力装置の性能と、
前記情報処理装置の利用者によって予め定めされている優先度と、
前記位置に関する情報と、
のうちの少なくともいずれか１つを基準として前記選択を実施する、
情報処理装置。
【請求項７】
情報処理装置を制御する方法であって、
任意の処理を実行するプログラムから、前記プログラムが必要とする機能を指定した要求を受信する工程と、
前記要求に応じて、前記情報処理装置が備える複数の入出力装置の中から、前記機能に対応付けられている前記入出力装置のうちの少なくとも一部を動作させる工程と、
を備え、
前記入出力装置のうちの少なくとも一部を動作させる工程は、
前記複数の入出力装置を前記プログラムが必要とする機能毎にグループ化することで前記対応付けを行う工程と、
各グループから少なくとも１つの前記入出力装置を所定の基準に基づいて選択する工程と、
前記要求に応じて、当該グループ内で選択されている前記入出力装置を動作させる工程と、を含み、
前記情報処理装置を制御する方法は、さらに、
前記情報処理装置に接続されている入出力装置の情報が記憶されている機器個別情報であって、少なくとも、前記プログラムが必要とする前記機能の内容を表す機能名と、前記入出力装置の種類と、が対応付けて記憶されている機器個別情報を記憶する工程を、含み、
前記入出力装置のうちの少なくとも一部を動作させる工程は、前記機器個別情報を取得し、取得した前記機器個別情報の前記機能名を用いて前記グループ化を実施する工程を含み、
前記機器個別情報には、前記機能名に対応付けられて、さらに、前記プログラムが必要とする前記機能の種類と、前記情報処理装置において前記入出力装置が配置されている位置に関する情報と、が記憶され、
前記少なくとも１つの前記入出力装置を選択する工程は、
前記機器個別情報に記憶されている前記プログラムが必要とする前記機能の種類と、前記入出力装置の種類との関連度と、
前記入出力装置の性能と、
前記情報処理装置の利用者によって予め定めされている優先度と、
前記位置に関する情報と、
のうちの少なくともいずれか１つを基準として前記選択を実施する工程である、
方法。
【請求項８】
コンピュータープログラムであって、
任意の処理を実行するプログラムから、前記プログラムが必要とする機能を指定した要求を受信する機能と、
前記要求に応じて、前記コンピュータープログラムを実行する情報処理装置が備える複数の入出力装置の中から、前記プログラムが必要とする前記機能に対応付けられている前記入出力装置のうちの少なくとも一部を動作させる機能と、
をコンピューターに実現させるための、コンピュータープログラムであって、
前記入出力装置のうちの少なくとも一部を動作させる機能は、
前記情報処理装置の前記複数の入出力装置と共に、前記情報処理装置に接続されている他の情報処理装置が備える複数の入出力装置を、前記プログラムが必要とする機能毎にグループ化することで前記対応付けを行う機能と、
前記対応付けの後に、各グループから少なくとも１つの前記入出力装置を所定の基準に基づいて選択する機能と、
前記対応付けの後に、前記要求に応じて、当該グループ内で選択されている前記入出力装置を動作させる機能と、を含む、コンピュータープログラム。
【請求項９】
請求項８に記載のコンピュータープログラムであって、さらに、
前記情報処理装置に接続されている入出力装置の情報が記憶されている機器個別情報であって、少なくとも、前記プログラムが必要とする前記機能の内容を表す機能名と、前記入出力装置の種類と、が対応付けて記憶されている機器個別情報を記憶する機能を、前記コンピューターに実現させることができ、
前記入出力装置のうちの少なくとも一部を動作させる機能は、前記機器個別情報を取得し、取得した前記機器個別情報の前記機能名を用いて前記グループ化を実施する機能を含む、コンピュータープログラム。
【請求項１０】
請求項９に記載のコンピュータープログラムであって、
前記機器個別情報には、前記機能名に対応付けられて、さらに、前記プログラムが必要とする前記機能の種類と、前記情報処理装置において前記入出力装置が配置されている位置に関する情報と、が記憶され、
前記少なくとも１つの前記入出力装置を選択する機能は、
前記機器個別情報に記憶されている前記プログラムが必要とする前記機能の種類と、前記入出力装置の種類との関連度と、
前記入出力装置の性能と、
前記情報処理装置の利用者によって予め定めされている優先度と、
前記位置に関する情報と、
のうちの少なくともいずれか１つを基準として前記選択を実施する機能である、コンピュータープログラム。
【請求項１１】
請求項８から請求項１０のいずれか一項に記載のコンピュータープログラムであって、
前記少なくとも１つの前記入出力装置を選択する機能は、前記各グループから２つ以上の前記入出力装置を選択する機能であり、
前記選択されている前記入出力装置を動作させる機能は、
前記要求に応じて、当該グループ内で最も優先順位の高い前記入出力装置を動作させ、
動作させた前記入出力装置に異常がある場合は、当該グループ内で次に優先順位の高い前記入出力装置を動作させる機能である、コンピュータープログラム。
【請求項１２】
請求項８から請求項１１のいずれか一項に記載のコンピュータープログラムであって、
前記複数の入出力装置をグループ化することで前記対応付けを行う機能は、前記グループ化の対象を、アクティブ状態である前記入出力装置に限定する機能である、コンピュータープログラム。
【請求項１３】
請求項８から請求項１２のいずれか一項に記載のコンピュータープログラムであって、
前記プログラムが必要とする前記機能を指定した前記要求とは、前記プログラムが必要とする前記機能の指定を含む関数と、前記プログラムが必要とする前記機能の指定を含む手順と、前記プログラムが必要とする前記機能の指定を含む命令と、のうちの少なくともいずれかである、コンピュータープログラム。
【請求項１４】
情報処理装置であって、
任意の処理を実行するプログラムによって使用される複数の入出力装置と、
前記プログラムから受信した要求であって、前記プログラムが必要とする機能を指定した要求に応じて、前記複数の入出力装置の中から、前記機能に対応付けられている前記入出力装置のうちの少なくとも一部を動作させる主制御部と、
を備え、
前記主制御部は、
前記情報処理装置の前記複数の入出力装置と共に、前記情報処理装置に接続されている他の情報処理装置が備える複数の入出力装置を、前記プログラムが必要とする機能毎にグループ化することで前記対応付けを行った後、
各グループから少なくとも１つの前記入出力装置を所定の基準に基づいて選択し、
前記要求に応じて、当該グループ内で選択されている前記入出力装置を動作させる、
情報処理装置。
【請求項１５】
情報処理装置を制御する方法であって、
任意の処理を実行するプログラムから、前記プログラムが必要とする機能を指定した要求を受信する工程と、
前記要求に応じて、前記情報処理装置が備える複数の入出力装置の中から、前記機能に対応付けられている前記入出力装置のうちの少なくとも一部を動作させる工程と、
を備え、
前記入出力装置のうちの少なくとも一部を動作させる工程は、
前記情報処理装置の前記複数の入出力装置と共に、前記情報処理装置に接続されている他の情報処理装置が備える複数の入出力装置を、前記プログラムが必要とする機能毎にグループ化することで前記対応付けを行う対応付け工程と、
前記対応付け工程の後に、各グループから少なくとも１つの前記入出力装置を所定の基準に基づいて選択する工程と、
前記対応付け工程の後に、前記要求に応じて、当該グループ内で選択されている前記入出力装置を動作させる工程と、を含む、
方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置に関する。
【背景技術】
【０００２】
頭部に装着する表示装置である頭部装着型表示装置（ヘッドマウントディスプレイ（Head Mounted Display、ＨＭＤ））が知られている。ＨＭＤは、例えば、液晶ディスプレイと光源とを利用して画像を表す画像光を生成し、生成された画像光を投写光学系や導光板等を利用して使用者の眼に導くことにより、使用者に虚像を認識させる。特許文献１には、ＨＭＤに予め記憶されている個別情報に応じた態様で、画像光を生成する技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１６３６３７号公報
【特許文献２】特開２００３−６１１６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述したＨＭＤには、例えば、オペレーティングシステムや、アプリケーションプログラムといった、任意の処理を実行するためのプログラムがインストールされている。これらのプログラムは、例えば、加速度センサー、ボタン、ＬＣＤといった、様々な種類の入出力装置を利用して、処理を実行する。従来、プログラムがどの種類の入出力装置を利用するかは、プログラムが実行する処理に必要とされる機能に応じて、予めプログラムの開発者によって定められ、プログラム内に記憶されていた。すなわち、従来では、プログラムの作成時において、プログラムの開発者は、使用する入出力装置の種類を意識する必要があるという課題があった。このような課題は、ＨＭＤに限らず、例えばパーソナルコンピューターや、スマートフォン等の情報処理装置全般に共通する課題であった。特許文献１、２に記載の技術では、上述の課題については何ら考慮されていない。
【０００５】
このため、情報処理装置用のプログラム開発において、使用する入出力装置の種類を意識する必要のないプログラム開発を可能とする情報処理装置を提供することが望まれていた。そのほか、情報処理装置には、小型化、低コスト化、省資源化、製造の容易化、使い勝手の向上等が望まれている。
【課題を解決するための手段】
【０００６】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態として実現することが可能である。
【０００７】
（１）本発明の一形態によれば、情報処理装置が提供される。この情報処理装置は；任意の処理を実行するプログラムによって使用される複数の入出力装置と；前記プログラムから受信した要求であって、前記プログラムが必要とする機能を指定した要求に応じて、前記複数の入出力装置の中から、前記機能に対応付けられている前記入出力装置のうちの少なくとも一部を動作させる主制御部と、を備える。この形態の情報処理装置によれば、主制御部は、プログラムから受信した機能を指定した要求に応じて、複数の入出力装置の中から、指定された機能に対応付けられている入出力装置のうちの少なくとも一部を動作させる。このため、プログラム開発者は、プログラムの作成時において使用する入出力装置の種類を意識する必要がなく、プログラム内に、使用したい「機能」を指定した要求を含めるだけでよい。この結果、情報処理装置用のプログラム開発において、使用する入出力装置の種類を意識する必要のないプログラム開発を実現させることができる。
【０００８】
（２）上記形態の情報処理装置において；前記主制御部は；前記複数の入出力装置を前記プログラムが必要とする機能毎にグループ化することで前記対応付けを行い；各グループから少なくとも１つの前記入出力装置を所定の基準に基づいて選択し；前記要求に応じて、当該グループ内で選択されている前記入出力装置を動作させてもよい。この形態の情報処理装置によれば、主制御部は、複数の入出力装置をプログラムが必要とする機能毎にグループ化することで、機能と入出力装置との対応付けを行う。また、主制御部は、プログラムから受信した機能を指定した要求に応じて、当該グループ内で選択されている入出力装置を動作させる。このため、主制御部は、プログラムが必要とする１つの機能に対して複数の入出力装置を割り当てることができ、割り当てられた複数の入出力装置のうちの少なくとも一部の入出力装置のみを動作させることができる。
【０００９】
（３）上記形態の情報処理装置では、さらに；前記情報処理装置に接続されている入出力装置の情報が記憶されている機器個別情報であって、少なくとも、前記機能の内容を表す機能名と、前記入出力装置の種類と、が対応付けて記憶されている機器個別情報を記憶する記憶部を備え；前記主制御部は、前記機器個別情報を取得し、取得した前記機器個別情報の前記機能名を用いて前記グループ化を実施してもよい。この形態の情報処理装置によれば、主制御部は、プログラムが必要とする機能の内容を表す機能名と、入出力装置の種類と、が対応付けて記憶されている機器個別情報を利用して、簡便に、機能毎の入出力装置のグループ化を実施することができる。
【００１０】
（４）上記形態の情報処理装置において；前記機器個別情報には、前記機能名に対応付けられて、さらに、前記機能の種類と、前記情報処理装置において前記入出力装置が配置されている位置に関する情報と、が記憶され；前記主制御部は；前記機器個別情報に記憶されている前記機能の種類と、前記入出力装置の種類との関連度と；前記入出力装置の性能と；前記情報処理装置の利用者によって予め定めされている優先度と；前記位置に関する情報と；のうちの少なくともいずれか１つを基準として前記選択を実施してもよい。この形態の情報処理装置によれば、主制御部は、機器個別情報に記憶されている機能の種類と入出力装置の種類との関連度を基準として入出力装置を選択することができるため、プログラムが必要とする機能の種類に対して、より関連性の高い入出力装置を選択することができる。また、主制御部は、入出力装置の性能を基準として入出力装置を選択することができるため、より性能の高い入出力装置を選択することができる。また、主制御部は、利用者によって予め定められている優先度を基準として入出力装置を選択することができるため、利用者の好みに合った入出力装置を選択することができる。また、主制御部は、情報処理装置において入出力装置が配置されている位置に関する情報を基準として入出力装置を選択することができるため、プログラムが必要とする機能の種類に対して、より関連性の高い入出力装置を選択することができる。
【００１１】
（５）上記形態の情報処理装置において；前記主制御部は；前記各グループから２つ以上の前記入出力装置を選択し；前記要求に応じて、当該グループ内で最も優先順位の高い前記入出力装置を動作させ；動作させた前記入出力装置に異常がある場合は、当該グループ内で次に優先順位の高い前記入出力装置を動作させてもよい。この形態の情報処理装置によれば、主制御部は、各グループから２つ以上の入出力装置を選択し、プログラムから受信した機能を指定した要求に応じて、当該グループ内で最も優先順位の高い入出力装置を動作させる。最初に動作させた入出力装置に異常がある場合、主制御部は、当該グループ内で次に優先順位の高い入出力装置を動作させる。このため、ある入出力装置に異常がある場合であっても、主制御部は、他の入出力装置を利用してプログラムからの要求に応じることができる。この結果、情報処理装置の可用性を向上させることができる。
【００１２】
（６）上記形態の情報処理装置において；前記主制御部は；前記情報処理装置の前記複数の入出力装置と共に、前記情報処理装置に接続されている他の情報処理装置が備える複数の入出力装置を、前記プログラムが必要とする機能毎にグループ化することで前記対応付けを行った後；前記選択および前記動作を実行してもよい。この形態の情報処理装置によれば、主制御部は、情報処理装置の入出力装置に加えて、情報処理装置に接続されている他の情報処理装置が備える入出力装置をも、プログラムから受信した機能を指定した要求に応じて動作させることができる。
【００１３】
（７）上記形態の情報処理装置において；前記主制御部は、前記グループ化の対象を、アクティブ状態である前記入出力装置に限定してもよい。この形態の情報処理装置によれば、主制御部は、グループ化の対象をアクティブ状態である入出力装置に限定するため、処理の遅延を抑制することができる。
【００１４】
（８）上記形態の情報処理装置において；前記機能を指定した前記要求とは、前記機能の指定を含む関数と、前記機能の指定を含む手順と、前記機能の指定を含む命令と、のうちの少なくともいずれかであってもよい。この形態の情報処理装置によれば、主制御部は、プログラム中において一般的に使用されている手段である、関数と、手順と、命令と、のうちの少なくともいずれかによる要求に応じて、入出力装置を動作させることができる。この結果、プログラム開発者における利便性を向上させることができる。
【００１５】
上述した本発明の各形態の有する複数の構成要素は全てが必須のものではなく、上述の課題の一部または全部を解決するため、あるいは、本明細書に記載された効果の一部または全部を達成するために、適宜、前記複数の構成要素の一部の構成要素について、その変更、削除、新たな構成要素との差し替え、限定内容の一部削除を行うことが可能である。また、上述の課題の一部または全部を解決するため、あるいは、本明細書に記載された効果の一部または全部を達成するために、上述した本発明の一形態に含まれる技術的特徴の一部または全部を上述した本発明の他の形態に含まれる技術的特徴の一部または全部と組み合わせて、本発明の独立した一形態とすることも可能である。
【００１６】
例えば、本発明の一形態は、複数の入出力装置と、主制御部と、の２つの要素のうちの一部または全部の要素を備えた装置として実現可能である。すなわち、この装置は、複数の入出力装置を有していてもよく、有していなくてもよい。また、この装置は、主制御部を有していてもよく、有していなくてもよい。こうした装置は、例えば情報処理装置として実現できるが、情報処理装置以外の他の装置としても実現可能である。前述した情報処理装置の各形態の技術的特徴の一部または全部は、いずれもこの装置に適用することが可能である。
【００１７】
なお、本発明は、種々の態様で実現することが可能であり、例えば、情報処理装置および情報処理装置の制御方法、情報処理装置を含む情報処理システム、頭部装着型表示装置および頭部装着型表示装置の制御方法、頭部装着型表示装置を含む画像表示システム、これらの方法、装置、システムの機能を実現するためのコンピュータープログラム、そのコンピュータープログラムを記録した記録媒体等の形態で実現することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態における情報処理装置の概略構成を示す説明図である。
【図２】情報処理装置としてのＨＭＤ１００の構成を機能的に示すブロック図である。
【図３】利用者に視認される虚像の一例を示す説明図である。
【図４】第１の機器個別情報の一例を示す説明図である。
【図５】第２の機器個別情報の一例を示す説明図である。
【図６】ブラックボックス化処理の手順を示すフローチャートである。
【図７】グループ化個別情報ＧＩの一例を示している。
【図８】モジュールについて説明するための説明図である。
【図９】モジュール化された各機能の一例を示している。
【図１０】各モジュール内で動作させる１つの入出力装置が選択された様子を示している。
【図１１】変形例におけるＨＭＤの外観の構成を示す説明図である。
【発明を実施するための形態】
【００１９】
Ａ．実施形態：
Ａ−１．情報処理装置の構成：
図１は、本発明の一実施形態における情報処理装置の概略構成を示す説明図である。本実施形態の情報処理装置１００は、頭部に装着する頭部装着型表示装置であり、ヘッドマウントディスプレイ（Head Mounted Display、ＨＭＤ）とも呼ばれる。ＨＭＤ１００は、使用者が、虚像を視認すると同時に外景も直接視認可能な光学透過型のヘッドマウントディスプレイである。本実施形態のＨＭＤ１００は、ＨＭＤ１００にインストールされているプログラムに対して、ＨＭＤ１００の入出力装置をブラックボックス化するための主制御部を備える。具体的には、主制御部は、ＨＭＤ１００にインストールされているプログラムから受信した要求であって、当該プログラムが必要とする機能を指定した要求に応じて、ＨＭＤ１００に接続されている複数の入出力装置の中から、要求された機能に対応付けられている入出力装置の内の少なくとも一部の入出力装置を動作させる。ここで「機能」とは、ＨＭＤ１００に接続されている入出力装置によって実現される役割を意味する。「機能」としては、十字キー操作機能、音量操作機能、画像表示機能、加速度取得機能、角速度取得機能等が例示される。
【００２０】
ＨＭＤ１００は、使用者の頭部に装着された状態において使用者に虚像を視認させる画像表示部２０と、画像表示部２０を制御する制御部（コントローラー）１０とを備えている。なお、以降の説明において、ＨＭＤ１００によって使用者が視認する虚像を便宜的に「表示画像」とも呼ぶ。また、ＨＭＤ１００が画像データーに基づいて生成された画像光を射出することを「画像を表示する」ともいう。
【００２１】
Ａ−１−１．画像表示部の構成：
図２は、情報処理装置としてのＨＭＤ１００の構成を機能的に示すブロック図である。図１に示すように、画像表示部２０は、利用者の頭部に装着される装着体であり、本実施形態では眼鏡形状である。画像表示部２０は、右保持部２１と、右表示駆動部２２と、左保持部２３と、左表示駆動部２４と、右光学像表示部２６と、左光学像表示部２８と、カメラ６１と、９軸センサー６６と、記憶部６２と、を備えている。以降、利用者が画像表示部２０を装着した状態における、画像表示部２０の各部の位置関係と機能について説明する。
【００２２】
図１に示すように、右光学像表示部２６および左光学像表示部２８は、利用者の右の眼前と、左の眼前とにそれぞれ位置するように配置されている。右光学像表示部２６の一端と左光学像表示部２８の一端とは、利用者の眉間に対応する位置で接続されている。図２に示すように、右光学像表示部２６は、右導光板２６１と調光板（図示省略）とを備えている。右導光板２６１は、光透過性の樹脂材料等によって形成され、右表示駆動部２２から出力された画像光を、所定の光路に沿って反射させつつ利用者の右眼ＲＥに導く。調光板は、薄板状の光学素子であり、画像表示部２０の表側（利用者の眼の側とは反対の側）を覆うように配置されている。調光板は、導光板２６１を保護し、導光板２６１の損傷や汚れの付着等を抑制する。また、調光板の光透過率を調整することによって、利用者の眼に入る外光量を調整して虚像の視認のしやすさを調整することができる。なお、調光板は省略可能である。
【００２３】
左光学像表示部２８は、左導光板２６２と調光板（図示省略）とを備えている。これらの詳細は、右光学像表示部２６と同様である。なお、右光学像表示部２６および左光学像表示部２８を総称して単に「光学像表示部」とも呼ぶ。光学像表示部は、画像光を用いて利用者の眼前に虚像を形成する限りにおいて任意の方式を用いることができ、例えば、回折格子を用いて実現されても良いし、半透過反射膜を用いて実現されても良い。
【００２４】
図１に示すように、右保持部２１は、右光学像表示部２６の他端ＥＲから利用者の側頭部に対応する位置にかけて延伸して設けられている。左保持部２３は、左光学像表示部２８の他端ＥＬから利用者の側頭部に対応する位置にかけて、延伸して設けられている。右保持部２１および左保持部２３は、眼鏡のテンプル（つる）のようにして、利用者の頭部に画像表示部２０を保持する。なお、右保持部２１および左保持部２３を総称して単に「保持部」とも呼ぶ。
【００２５】
図１に示すように、右表示駆動部２２は、右保持部２１の内側（利用者の頭部に対向する側）に配置されている。左表示駆動部２４は、左保持部２３の内側に配置されている。図２に示すように、右表示駆動部２２は、受信部（Ｒｘ）５３と、光源として機能する右バックライト（ＢＬ）制御部２０１および右バックライト（ＢＬ）２２１と、表示素子として機能する右ＬＣＤ（液晶ディスプレイ、Liquid Crystal Display）制御部２１１および右ＬＣＤ２４１と、右投写光学系２５１とを備えている。なお、右バックライト制御部２０１と、右ＬＣＤ制御部２１１と、右バックライト２２１と、右ＬＣＤ２４１とを総称して「画像光生成部」とも呼ぶ。受信部５３は、制御部１０と画像表示部２０との間におけるシリアル伝送のためのレシーバーとして機能する。右バックライト制御部２０１は、入力された制御信号に基づいて右バックライト２２１を駆動する。右バックライト２２１は、例えばＬＥＤ（Light Emitting Diode）やエレクトロルミネセンス（ＥＬ）等の発光体である。右ＬＣＤ制御部２１１は、受信部５３を介して入力されたクロック信号ＰＣＬＫと、垂直同期信号ＶＳｙｎｃと、水平同期信号ＨＳｙｎｃと、右眼用画像データーＤａｔａ１とに基づいて、右ＬＣＤ２４１を駆動する。右ＬＣＤ２４１は、複数の画素をマトリクス状に配置した透過型液晶パネルである。右投写光学系２５１は、右ＬＣＤ２４１から射出された画像光を並行状態の光束にするコリメートレンズである。
【００２６】
左表示駆動部２４は、受信部（Ｒｘ）５４と、光源として機能する左バックライト（ＢＬ）制御部２０２および左バックライト（ＢＬ）２２２と、表示素子として機能する左ＬＣＤ制御部２１２および左ＬＣＤ２４２と、左投写光学系２５２とを備えている。これらの詳細は、右表示駆動部２２と同様である。なお、右表示駆動部２２および左表示駆動部２４を総称して単に「表示駆動部」とも呼ぶ。
【００２７】
カメラ６１は、利用者の右側の目尻に対応する位置に配置されている。カメラ６１は、画像表示部２０の表側方向、換言すれば、ヘッドマウントディスプレイ１００を装着した状態における使用者の視界方向の外景（外部の景色）を撮像し、外景画像を取得する。カメラ６１はいわゆる可視光カメラであり、カメラ６１により取得される外景画像は、物体から放射される可視光から物体の形状を表す画像である。本実施形態におけるカメラ６１は単眼カメラであるが、ステレオカメラとしてもよい。
【００２８】
９軸センサー６６は、利用者の右側のこめかみに対応する位置に配置されている。９軸センサー６６は、加速度（３軸）、角速度（３軸）、地磁気（３軸）を検出するモーションセンサーである。９軸センサー６６は、画像表示部２０に設けられているため、画像表示部２０が頭部に装着されているときには、頭部の動きを検出する「動き検出部」として機能する。ここで、頭部の動きとは、頭部の速度・加速度・角速度・向き・向きの変化を含む。
【００２９】
記憶部６２は、ＲＯＭ、ＲＡＭ、ＤＲＡＭ、ハードディスク等によって構成されている。記憶部６２には、第２の機器個別情報６３が予め記憶されている。第２の機器個別情報６３には、画像表示部２０に接続されている入出力装置の情報が記憶されている。ここで「接続」とは、画像表示部２０の回路基板に内部的に接続されている（いわゆる内蔵の）入出力装置と、画像表示部２０に対して外部的に接続されている（いわゆる外付けの）入出力装置と、の両方を含む。内蔵および外付けの入出力装置における接続方法は、有線接続と、無線接続とのどちらでもよい。第２の機器個別情報６３の詳細は後述する。
【００３０】
図１に示すように、画像表示部２０は、画像表示部２０と制御部１０とを接続するための接続部４０を備えている。接続部４０は、制御部１０に接続される本体コード４８と、本体コード４８が分岐した右コード４２および左コード４４と、分岐点に設けられた連結部材４６と、を含んでいる。右コード４２は、右表示駆動部２２に接続され、左コード４４は、左表示駆動部２４に接続されている。連結部材４６には、イヤホンプラグ３０を接続するためのジャックが設けられている。イヤホンプラグ３０からは、右イヤホン３２および左イヤホン３４が延伸している。本体コード４８における連結部材４６とは反対側の端部には、コネクター（図示省略）が設けられている。このコネクターは、制御部１０に設けられたコネクター（図示省略）との嵌合／嵌合解除により、制御部１０と画像表示部２０との接続／接続解除を実現する。画像表示部２０と制御部１０とは、接続部４０を介して各種信号の伝送を行う。右コード４２と、左コード４４と、本体コード４８には、例えば、金属ケーブルや光ファイバーを採用することができる。
【００３１】
Ａ−１−２．制御部の構成：
図１に示すように、制御部１０はＨＭＤ１００を制御するための装置である。制御部１０は、決定キー１１と、点灯部１２と、表示切替キー１３と、トラックパッド１４と、輝度切替キー１５と、方向キー１６と、メニューキー１７と、電源スイッチ１８と、を備えている。決定キー１１は、押下操作を検出して、制御部１０において操作された内容を決定するための信号を出力する。点灯部１２は、例えばＬＥＤによって実現され、ＨＭＤ１００の動作状態（例えば電源のＯＮ／ＯＦＦ等）を発光状態によって通知する。表示切替キー１３は、押下操作を検出して、例えばコンテンツ動画の表示モードを３Ｄと２Ｄとに切り替える信号を出力する。トラックパッド１４は、トラックパッド１４の操作面上における利用者の指の操作を検出して、検出内容に応じた信号を出力する。トラックパッド１４としては、静電式や圧力検出式、光学式といった種々の方式を採用できる。輝度切替キー１５は、押下操作を検出して、画像表示部２０の輝度を増減する信号を出力する。方向キー１６は、上下左右方向に対応するキーへの押下操作を検出して、検出内容に応じた信号を出力する。電源スイッチ１８は、スイッチのスライド操作を検出することで、ＨＭＤ１００の電源投入状態を切り替える。
【００３２】
図２に示すように、制御部１０は、入力情報取得部１１０と、記憶部１２０と、電源１３０と、無線通信部１３２と、ＧＰＳモジュール１３４と、ＣＰＵ１４０と、インターフェイス１８０と、送信部（Ｔｘ）５１および５２とを備え、各部は図示しないバスにより相互に接続されている。
【００３３】
入力情報取得部１１０は、決定キー１１、表示切替キー１３、トラックパッド１４、輝度切替キー１５、方向キー１６、メニューキー１７、および、電源スイッチ１８に対する操作入力に応じた信号を取得する。入力情報取得部１１０は、上記以外の種々の方法を用いた操作入力を取得することができる。例えば、フットスイッチ（利用者の足により操作するスイッチ）による操作入力を取得してもよい。例えば、視線検出部によって検出された利用者の視線や、目の動きに対応付けられたコマンドによる操作入力を取得してもよい。このコマンドは利用者によって追加可能に設定されていてもよい。例えば、利用者の視界方向の画像を撮影するカメラを用いて利用者のジェスチャーを検知し、ジェスチャーに対応付けられたコマンドによる操作入力を取得してもよい。ジェスチャー検知の際は、利用者の指先や、利用者の手に付けられた指輪や、利用者の手にする医療器具等を動き検出のための目印にすることができる。フットスイッチや視線による操作入力を取得可能とすれば、利用者が手を離すことが困難である作業においても、入力情報取得部１１０は、利用者からの操作入力を取得することができる。
【００３４】
記憶部１２０は、ＲＯＭ、ＲＡＭ、ＤＲＡＭ、ハードディスク等によって構成されている。記憶部１２０には、オペレーティングシステム（ОＳ）をはじめとする種々のコンピュータープログラムが格納されている。また、記憶部１２０には、第１の機器個別情報１２２が予め記憶されている。第１の機器個別情報１２２には、制御部１０に接続されている入出力装置の情報が記憶されている。ここで「接続」とは、制御部１０の回路基板に内部的に接続されている入出力装置と、制御部１０に対して外部的に接続されている入出力装置と、の両方を含む。内蔵および外付けの入出力装置における接続方法は、有線接続と、無線接続とのどちらでもよい。第１の機器個別情報１２２の詳細は後述する。
【００３５】
電源１３０は、ＨＭＤ１００の各部に電力を供給する。電源１３０としては、例えば二次電池を用いることができる。
【００３６】
無線通信部１３２は、所定の無線通信規格に則って、外部装置との間で無線通信を行う。所定の無線通信規格とは、例えば、赤外線、Ｂｌｕｅｔｏｏｔｈ（登録商標）に例示される近距離無線通信、ＩＥＥＥ８０２．１１に例示される無線ＬＡＮ等である。
【００３７】
ＧＰＳモジュール１３４は、ＧＰＳ衛星からの信号を受信することにより、ＨＭＤ１００の使用者の現在位置を検出し、使用者の現在位置情報を表す現在位置情報を生成する。現在位置情報は、例えば緯度経度を表す座標によって実現することができる。
【００３８】
ＣＰＵ１４０は、記憶部１２０に格納されているコンピュータープログラムを読み出して実行することにより、主制御部３００、ＯＳ１５０、画像処理部１６０、音声処理部１７０、表示制御部１９０として機能する。
【００３９】
主制御部３００は、ＨＭＤ１００にインストールされているプログラムに対して、ＨＭＤ１００の入出力装置をブラックボックス化するための処理（以降「ブラックボックス化処理」とも呼ぶ。）を実行する。ここで、ＨＭＤ１００にインストールされているプログラムとは、ＯＳ１５０の機能を実現するためのプログラムと、画像処理部１６０の機能を実現するためのプログラムと、音声処理部１７０の機能を実現するためのプログラムと、表示制御部１９０の機能を実現するためのプログラムと、記憶部１２０に格納されている上記以外の種々のアプリケーションプログラムと、を含む。
【００４０】
画像処理部１６０は、インターフェイス１８０や無線通信部１３２を介して入力されるコンテンツ（映像）に基づいて信号を生成する。例えば、コンテンツがディジタル形式の場合、画像処理部１６０は、クロック信号ＰＣＬＫと、画像データーＤａｔａとを生成する。なお、ディジタル形式の場合、クロック信号ＰＣＬＫが画像信号に同期して出力されるため、垂直同期信号ＶＳｙｎｃおよび水平同期信号ＨＳｙｎｃの生成と、アナログ画像信号のＡ／Ｄ変換とは不要である。画像処理部１６０は、生成されたクロック信号ＰＣＬＫ、垂直同期信号ＶＳｙｎｃ、水平同期信号ＨＳｙｎｃと、記憶部１２０内のＤＲＡＭに格納された画像データーＤａｔａとを、送信部５１、５２を介して、画像表示部２０へ送信する。送信部５１を介して送信される画像データーＤａｔａを「右眼用画像データーＤａｔａ１」とも呼び、送信部５２を介して送信される画像データーＤａｔａを「左眼用画像データーＤａｔａ２」とも呼ぶ。なお、画像処理部１６０は、記憶部１２０に格納された画像データーＤａｔａに対して、解像度変換処理、輝度や彩度の調整といった種々の色調補正処理、キーストーン補正処理等の画像処理を実行してもよい。
【００４１】
表示制御部１９０は、右表示駆動部２２および左表示駆動部２４を制御する制御信号を生成する。具体的には、表示制御部１９０は、制御信号により、左右のＬＣＤ制御部２１１、２１２による左右のＬＣＤ２４１、２４２の駆動ＯＮ／ＯＦＦや、左右のバックライト制御部２０１、２０２による左右のバックライト２２１、２２２の駆動ＯＮ／ＯＦＦを個別に制御することにより、右表示駆動部２２および左表示駆動部２４のそれぞれによる画像光の生成および射出を制御する。表示制御部１９０は、これらの制御信号を、送信部５１、５２を介して画像表示部２０へ送信する。
【００４２】
音声処理部１７０は、コンテンツに含まれる音声信号を取得し、取得した音声信号を増幅して、右イヤホン３２の図示しないスピーカーと、左イヤホン３４の図示しないスピーカーとに対して供給する。
【００４３】
インターフェイス１８０は、所定の有線通信規格に則って、外部装置ＯＡとの間で通信を行う。所定の有線通信規格としては、例えば、ＭｉｃｒｏＵＳＢ（Universal Serial Bus）、ＵＳＢ、ＨＤＭＩ（High Definition Multimedia Interface、ＨＤＭＩは登録商標）、ＤＶＩ（Digital Visual Interface）、ＶＧＡ（Video Graphics Array）、コンポジット、ＲＳ−２３２Ｃ（Recommended Standard 232）、ＩＥＥＥ８０２．３に例示される有線ＬＡＮ等である。外部機器ОＡとしては、例えば、パーソナルコンピューターＰＣや携帯電話端末、ゲーム端末等を利用することができる。
【００４４】
図３は、利用者に視認される虚像の一例を示す説明図である。上述のようにして、ＨＭＤ１００の利用者の両眼に導かれた画像光が利用者の網膜に結像することにより、利用者は虚像ＶＩを視認する。図の例では、虚像ＶＩは、ＨＭＤ１００のＯＳ１５０の待ち受け画面である。また、利用者は、右光学像表示部２６および左光学像表示部２８を透過して外景ＳＣを視認する。このように、本実施形態のＨＭＤ１００の利用者は、視野ＶＲのうち虚像ＶＩが表示された部分については、虚像ＶＩと、虚像ＶＩの背後の外景ＳＣとを見ることができる。また、視野ＶＲのうち虚像ＶＩが表示されていない部分については、光学像表示部を透過して、外景ＳＣを直接見ることができる。
【００４５】
Ａ−２．機器個別情報：
図４は、第１の機器個別情報の一例を示す説明図である。第１の機器個別情報１２２には、制御部１０（図２）に接続されている入出力装置の情報が予め記憶されている。第１の機器個別情報１２２には、機能の情報と、入出力装置の情報と、が対応付けて記憶されている。
【００４６】
「機能の情報」は、機能（すなわち、入出力装置によって実現される役割）についての情報である。機能の情報には、種類と、機能名と、が含まれている。「種類」は、機能の種類を表す名称、換言すれば、機能の大まかな分類を表す名称である。「機能名」は、機能の実際の内容を表す名称である。
【００４７】
「入出力装置の情報」は、ＨＭＤ１００の制御部１０に接続されている入出力装置についての情報である。入出力装置の情報には、装置ＩＤと、モジュール内装置ＩＤと、種類と、位置と、が含まれている。「装置ＩＤ」は、入出力装置を相互に識別するために、各入出力装置に対して付与されている識別子である。「モジュール内装置ＩＤ」は、機能（機能名）と入出力装置（装置ＩＤ）との組み合わせを相互に識別するために付与されている識別子である。「種類」は、入出力装置の種類を表す名称、換言すれば、入出力装置がどのような働きをするのかを表す名称である。「位置」は、入出力装置が接続されている場所を表す記号である。本実施形態では、位置に「Ｃ」が格納されている場合、当該入出力装置は制御部１０に接続されていることを意味し、位置に「Ｈ」が格納されている場合、当該入出力装置は画像表示部２０に接続されていることを意味する。第１の機器個別情報１２２は、制御部１０に接続されている入出力装置についての情報であるため、位置には全て「Ｃ」が格納されている。なお、位置のフィールドにおいて、制御部１０に内蔵されている入出力装置と、制御部１０に外付けされている入出力装置とを区別してもよい。この場合、例えば、制御部１０に内蔵されている入出力装置の値を「ＣＩ」とし、制御部１０に外付けされている入出力装置の値を「ＣＯ」とすることができる。
【００４８】
例えば、エントリーＥ１０の例では、装置ＩＤ「Ｄ３」で識別され、かつ、制御部１０に接続されている「ＧＰＳ」は、「方位取得」機能を実現するために使用可能であることがわかる。また、「方位取得」機能を担う装置ＩＤ「Ｄ３」の「ＧＰＳ」には、モジュール内装置ＩＤ「ＳＭ２」が付与されていることがわかる。エントリーＥ１１の例では、装置ＩＤ「Ｄ６」で識別され、かつ、制御部１０に接続されている「カメラ」は、「画像取得」機能を実現するために使用可能であることがわかる。また、「画像取得」機能を担う装置ＩＤ「Ｄ６」の「カメラ」には、モジュール内装置ＩＤ「ＣＡ２」が付与されることがわかる。例えば、エントリーＥ１６、Ｅ１７の例では、装置ＩＤ「Ｄ１０」で識別され、かつ、制御部１０に接続されている「ボタン」は、「ミュート操作」機能と、「音量操作」機能と、を実現するために使用可能であることがわかる。また、「ミュート操作」機能を担う装置ＩＤ「Ｄ１０」の「ボタン」には、モジュール内装置ＩＤ「ＵＭ１」が付与されることがわかる。一方「音量操作」機能を担う装置ＩＤ「Ｄ１０」の「ボタン」には、モジュール内装置ＩＤ「ＵＶ１」が付与されることがわかる。この「ボタン」のように、１つの入出力装置が、複数の機能を担うことができる場合もある。
【００４９】
図５は、第２の機器個別情報の一例を示す説明図である。第２の機器個別情報６３には、画像表示部２０（図２）に接続されている入出力装置の情報が予め記憶されている。第２の機器個別情報６３には、第１の機器個別情報１２２と同様に、機能の情報と、入出力装置の情報と、が対応付けて記憶されている。「機能の情報」の詳細、および、「入出力装置の情報」の詳細については、第１の機器個別情報１２２と同様である。なお、位置のフィールドにおいて、画像表示部２０に内蔵されている入出力装置と、画像表示部２０に外付けされている入出力装置とを区別してもよい。この場合、例えば、画像表示部２０に内蔵されている入出力装置の値を「ＨＩ」とし、画像表示部２０に外付けされている入出力装置の値を「ＨＯ」とすることができる。
【００５０】
Ａ−３．ブラックボックス化処理：
図６は、ブラックボックス化処理の手順を示すフローチャートである。ブラックボックス化処理は、ＨＭＤ１００にインストールされている種々のプログラムに対して、ＨＭＤ１００の入出力装置をブラックボックス化するための処理である。ブラックボックス化処理は、主制御部３００により実行される。ブラックボックス化処理において、主制御部３００は、ＨＭＤ１００にインストールされているプログラムから受信した要求であって、当該プログラムが必要とする機能を指定した要求に応じて、ＨＭＤ１００に接続されている複数の入出力装置の中から、要求された機能に対応付けられている入出力装置の内の少なくとも一部の入出力装置を動作させる。
【００５１】
ステップＳ１００において主制御部３００は、ＨＭＤ１００の電源が投入されたことを検出する。ステップＳ１０２において主制御部３００は、記憶部１２０に記憶されている第１の機器個別情報１２２（図４）を取得する。ステップＳ１０４において主制御部３００は、記憶部６２に記憶されている第２の機器個別情報６３（図５）を取得する。
【００５２】
ステップＳ１０６において主制御部３００は、機能毎に入出力装置をグループ化する。具体的には、主制御部３００は、ステップＳ１０２において取得した第１の機器個別情報１２２（図４）と、ステップＳ１０４において取得した第２の機器個別情報６３（図５）とを、「機能名」を用いてグループ化し（換言すれば、同じ「機能名」を持つエントリーでグループを作成し）、グループ化の結果を、グループ化個別情報ＧＩとして記憶部１２０に記憶させる。グループ化個別情報ＧＩは「対応付け」として機能する。なお、主制御部３００は、本ステップのグループ化を、主制御部３００の内部だけで実施することとし、記憶部１２０への記憶は省略してもよい。
【００５３】
図７は、グループ化個別情報ＧＩの一例を示している。図７によれば、機能毎のグループ化（図６のステップＳ１０６）によって、Ｇ１〜Ｇ９の９つのグループが作成されることがわかる。例えば、グループＧ１は、「角速度取得」機能を実現するための入出力装置のグループである。グループＧ１によれば、装置ＩＤ「Ｄ２」の「ジャイロセンサー」を用いて「角速度取得」機能を実現可能であることがわかる。同様に、装置ＩＤ「Ｄ３」の「カメラ」を用いても「角速度取得」機能を実現可能であることがわかる。また、例えば、グループＧ６は、「ポインティング操作」機能を実現するための入出力装置のグループである。グループＧ６によれば、装置ＩＤ「Ｄ７」のトラックパッドを用いて「ポインティング操作」機能を実現可能であることがわかる。同様に、装置ＩＤ「Ｄ８」のマウス、または、装置ＩＤ「Ｄ９」の十字キーを用いても、「ポインティング操作」機能を実現可能であることがわかる。なお、カメラによって角速度を得るためには、まず、複数回にわたって経時的に撮影された画像から特徴点を抽出する。その後、特徴点の変化量および変化に掛かった時間（すなわち撮影間隔）を求めることで、角速度を得ることができる。同様にして、カメラで加速度を得ることもできる。
【００５４】
図６のステップＳ１０８において、主制御部３００は、グループ化した各機能をモジュール化する。具体的には、主制御部３００は、グループ化個別情報ＧＩ（図７）内の、機能毎の各グループに対応した機能毎のモジュールを、主制御部３００の内部にそれぞれ生成する。なお、ステップＳ１０８において、主制御部は、主制御部の内部に機能毎のモジュールを生成することに代えて、予め生成されているモジュールに対して入出力装置を割り当ててもよい。
【００５５】
図８は、モジュールについて説明するための説明図である。本実施形態における「モジュール」とは、所定の機能を実現するための１つ以上の入出力装置をまとめて部品化したソフトウェアである。また「モジュール」は、ＨＭＤ１００にインストールされている種々のプログラムからの機能を指定した要求に応じて、部品化された入出力装置の内の少なくとも一部の入出力装置を動作させるためのソフトウェアでもある。図８では、「角速度取得」機能を実現するための角速度取得モジュール３０１を例示して説明する。角速度取得モジュール３０１は、個別機能制御部３０１ａと、ジャイロセンサー用ドライバー３０１ｂと、カメラ用ドライバー３０１ｃとを備えている。破線で図示するジャイロセンサー用ドライバー３０１ｂとカメラ用ドライバー３０１ｃとは、ブラックボックス化処理（図６）のステップＳ１１０において、角速度取得モジュール３０１にジャイロセンサーの装置ＩＤと、カメラの装置ＩＤと、が記憶されることによって使用可能となる。
【００５６】
個別機能制御部３０１ａは、プログラムからの機能を指定した要求を受信した場合、ジャイロセンサー用ドライバー３０１ｂとカメラ用ドライバー３０１ｃとのうちのいずれか一方を用いて、ジャイロセンサーまたはカメラを動作させ、ジャイロセンサーまたはカメラによる検出値を取得する。個別機能制御部３０１ａは、検出値に対して必要に応じて演算を加えて、得られた値を「角速度」として、要求元のプログラムへ返却する。ここで、「機能を指定した要求」とは、例えば、モジュール（すなわち機能）の指定を含む関数、モジュールの指定を含む手順（プロパティの参照等）、モジュールの指定を含む命令等、種々の態様を採用することができる。図８の例では、「ｇｅｔＡＶ」という関数による要求を採用している。「ｇｅｔＡＶ」の「ＡＶ」部分が、角速度取得モジュール３０１、換言すれば、角速度取得機能の指定である。このため、異なるモジュールの場合、例えば「ｇｅｔＡＣ」のように、異なる関数となる。図８の例では、括弧内が何も指定されていないことから、引数の指定はない。しかし、例えば引数の指定によって、個別機能制御部３０１ａによる検出値の演算内容を指定可能な構成にしてもよい。このように、図８の例によれば、ＨＭＤ１００にインストールされているどのプログラムからでも「ｇｅｔＡＶ」という共通の形式を用いて、角速度取得モジュール３０１にアクセスし、角速度を取得することができる。
【００５７】
図９は、モジュール化された各機能の一例を示している。図９によれば、主制御部３００の内部には、グループ化個別情報ＧＩ（図７）内の９つのグループに対して、それぞれ対応したモジュールが作成されることがわかる。例えば、角速度取得モジュール３０１は、グループＧ１の「角速度取得」機能に対応したモジュール（ソフトウェア）である。また、加速度取得モジュール３０２は、グループＧ２の「加速度取得」機能に対応したモジュール（ソフトウェア）である。なお、各モジュールの構成および機能は、図８の説明と同様である。
【００５８】
図６のステップＳ１１０において、主制御部３００は、各モジュールに対して入出力装置を割り当てる。具体的には、主制御部３００は、機能毎のモジュール化（図６のステップＳ１０８）によって作成された各モジュールに対して、グループ化個別情報ＧＩ（図７）に基づき、当該機能を実現可能な入出力装置の「装置ＩＤ」と「モジュール内装置ＩＤ」と、を記憶させる。ここで、主制御部３００は、１つの機能を実現可能な入出力装置が複数ある場合、全ての入出力装置の装置ＩＤおよびモジュールＩＤを記憶させる。各モジュールに対して装置ＩＤおよびモジュールＩＤを記憶させることによって、各モジュールは、入出力装置のドライバーを介して入出力装置を使用することが可能となる（図８）。例えば、主制御部３００は、角速度取得モジュール３０１に対して、「角速度取得」機能を実現可能な「ジャイロセンサー」の装置ＩＤ「Ｄ２」およびモジュール内装置ＩＤ「ＳＧ１」と、同じく「角速度取得」機能を実現可能な「カメラ」の装置ＩＤ「Ｄ３」およびモジュール内装置ＩＤ「ＳＧ２」と、を記憶させる。なお、所定の機能を実現可能な入出力装置が１つしかない場合、モジュール内装置ＩＤの記憶は省略してもよい。
【００５９】
ステップＳ１１２において主制御部３００は、各モジュール内で動作させる入出力装置を１つ選択する。主制御部３００は、以下に例示するａ１〜ａ５のいずれかの基準に従って、モジュール内で動作させる入出力装置を選択することができる。基準ａ１〜ａ５は、単独で使用されてもよく、組み合わせて使用されてもよい。また、モジュール毎に異なる基準（単独または組み合わせ）が使用されてもよい。
【００６０】
（ａ１）グループ化個別情報ＧＩにおける、機能の情報の「種類」と、入出力装置の情報の「種類」との関連度を基準とする。関連度は、例えば文字列比較等のデーター比較を用いて求めることができる。例えば、主制御部３００は、機能の情報の「種類」が「センサー」である場合、入出力装置の情報の「種類」が「ＸＸＸセンサー」である入出力装置を優先的に選択する。なお、「Ｘ」は任意の文字列である。本基準を用いれば、主制御部３００は、機器個別情報（第１の機器個別情報１２２、第２の機器個別情報６３）に記憶されている機能の種類と入出力装置の種類との関連度を基準として、モジュール内で動作させる入出力装置を選択することができる。この結果、主制御部３００は、プログラムが必要とする機能の種類に対して、より関連性の高い入出力装置を選択することができる。
【００６１】
（ａ２）入出力装置の精度を基準とする。例えば、主制御部３００は、入出力装置の精度がより高い方の入出力装置を優先的に選択する。ここで「精度」には、入出力装置による検出精度、動作精度、演算精度、描画精度、取得精度、再生精度等、精度に関する全ての性能を含むことができる。主制御部３００は、入出力装置の「精度」を、入出力装置のデバイスドライバに問い合わせることで取得することができる。なお、本基準を採用する場合、第１の機器個別情報１２２と第２の機器個別情報６３とに対して、入出力装置の精度を記憶しておくための「精度」フィールドを設けてもよい。本基準を用いれば、主制御部３００は、入出力装置の精度を基準として入出力装置を選択することができるため、より精度の高い入出力装置を選択することができる。
【００６２】
（ａ３）入出力装置の速度を基準とする。例えば、主制御部３００は、入出力装置の速度がより速い方の入出力装置を優先的に選択する。ここで「速度」には、入出力装置の起動速度、検出速度、動作速度、演算速度、描画速度、取得速度、再生速度等、速度に関する全ての性能を含むことができる。主制御部３００は、入出力装置の「速度」を、入出力装置のデバイスドライバに問い合わせることで取得することができる。主制御部３００は、入出力装置の「速度」を、ベンチマーク（仮の命令を発行して処理速度を計測する処理）により取得してもよい。ベンチマークは、ＨＭＤ１００の電源投入時、入出力装置の検出時等、任意のタイミングで実行してよい。なお、本基準を採用する場合、第１の機器個別情報１２２と第２の機器個別情報６３とに対して、入出力装置の速度を記憶しておくための「速度」フィールドを設けてもよい。本基準を用いれば、主制御部３００は、入出力装置の速度を基準として入出力装置を選択することができるため、より速度の速い入出力装置を選択することができる。
【００６３】
（ａ４）ＨＭＤ１００の利用者によって予め定められた優先度を基準とする。例えば、主制御部３００は、機能毎に使用可能な全ての入出力装置の候補を利用者に示し、利用者による優先度の入力を受け付けてもよい。主制御部３００は、過去における機能毎の入出力装置の使用頻度に基づいて、優先度の初期値を利用者に提示してもよい。本基準を用いれば、主制御部３００は、利用者によって予め定められている優先度を基準として入出力装置を選択することができるため、利用者の好みに合った入出力装置を選択することができる。
【００６４】
（ａ５）ＨＭＤ１００において入出力装置が配置されている位置に関する情報を基準とする。例えば、主制御部３００は、制御部１０に配置されている方の入出力装置を優先的に選択する。また、主制御部３００は、画像表示部２０に配置されている方の入出力装置を優先的に選択してもよい。この結果、主制御部３００は、プログラムが必要とする機能の種類に対して、より関連性の高い入出力装置を選択することができる。
【００６５】
なお、基準ａ２の入出力装置の精度と、基準ａ３の入出力装置の速度とを総称して「入出力装置の性能」とも呼ぶ。入出力装置の性能には、例えば、ＬＣＤやカメラを駆動する際の画素数等、精度や速度以外の他の指標が含まれてもよい。
【００６６】
図１０は、各モジュール内で動作させる１つの入出力装置が選択された様子を示している。図１０において、ハッチングを付した入出力装置は、選択された入出力装置を示し、ハッチングを付していない入出力装置は、選択されなかった入出力装置を示している。図１０の例によれば、グループＧ１の「角速度取得」機能に対応したモジュール（角速度取得モジュール３０１）内においては、装置ＩＤ「Ｄ２」、モジュール内装置ＩＤ「ＳＧ１」の「ジャイロセンサー」が選択されていることがわかる。また、グループＧ２の「加速度取得」機能に対応したモジュール（加速度取得モジュール３０２）内においては、装置ＩＤ「Ｄ４」、モジュール内装置ＩＤ「ＳＡ１」の「加速度センサー」が選択されていることがわかる。
【００６７】
図６のステップＳ１１４において、主制御部３００は、ＨＭＤ１００にインストールされている種々のプログラムからの要求を受け付ける。「要求」とは、図８で説明した機能を指定した要求（関数、手順、命令等）を意味する。主制御部３００は、プログラムからの要求に応じて、要求により指定されたモジュールの個別機能制御部３０１ａを動作させる。個別機能制御部３０１ａは、ステップＳ１１２で選択されている入出力装置を動作させる。具体的には、個別機能制御部３０１ａは、ステップＳ１１２で選択されている装置が入力装置である場合、当該入力装置からの検出値を取得し、検出値を演算し、得られた値（角速度等）を戻り値として要求元のプログラムへ返却する。また、個別機能制御部３０１ａは、ステップＳ１１２で選択されている装置が出力装置である場合、当該出力装置を駆動（例えば、画像表示モジュール３０５であれば、ＬＣＤの駆動等）させる。この場合、戻り値の返却は省略してもよい。このように、個別機能制御部３０１ａの動作や、引数、戻り値の有無は、各モジュールが制御する入出力装置の性質によって異なる。その後、主制御部３００は、プログラムからの要求を引き続き待機する。
【００６８】
以上のように、上記実施形態のブラックボックス化処理（図６）によれば、主制御部３００は、ＨＭＤ１００にインストールされている種々のプログラムから受信した機能を指定した要求（すなわち、関数、手順、命令等の機能を指定した要求）に応じて、複数の入出力装置の中から、指定された機能に対応付けられている入出力装置のうちの少なくとも一部の入出力装置を動作させる。具体的には、主制御部３００は、複数の入出力装置をプログラムが必要とする機能毎にグループ化することで、機能と入出力装置との対応付けを行う（ステップＳ１０６）。また、主制御部３００は、プログラムから受信した機能を指定した要求に応じて、当該要求において指定されている機能でグループ化されると共に、当該グループ内で選択（ステップＳ１１２）されている入出力装置を動作させる（ステップＳ１１４）。このため、主制御部３００は、プログラムが必要とする１つの機能に対して複数の入出力装置を割り当てることができ、割り当てられた複数の入出力装置のうちの少なくとも一部の入出力装置のみを動作させることができる。このようにすれば、プログラム開発者は、プログラムの作成時において使用する入出力装置の種類を意識する必要がなく、プログラム内に、使用したい「機能」を指定した要求を含めるだけでよい。この結果、情報処理装置（ＨＭＤ１００）用のプログラム開発において、使用する入出力装置の種類を意識する必要のないプログラム開発を実現させることができる。
【００６９】
また、上記実施形態のブラックボックス化処理（図６）によれば、主制御部３００は、ＨＭＤ１００にインストールされているプログラムが必要とする機能の内容を表す「機能名」と、ＨＭＤ１００に接続されている入出力装置の「種類」と、が対応付けて記憶されている機器個別情報（第１の機器個別情報１２２および第２の機器個別情報６３）を利用して、簡便に、機能毎の入出力装置のグループ化を実施することができる。
【００７０】
さらに、上記実施形態のブラックボックス化処理（図６）によれば、主制御部３００は、プログラム中において一般的に使用されている手段である、関数と、手順と、命令と、のうちの少なくともいずれかによる要求に応じて、入出力装置を動作させることができる。この結果、プログラム開発者における利便性を向上させることができる。
【００７１】
Ａ−４．ブラックボックス化処理の変形：
上述したブラックボックス化処理は、以下のように変形してもよい。以下に示す変形は、単独で適用してもよいし、組み合わせて適用してもよい。
【００７２】
Ａ−４−１．変形１：
変形１では、主制御部３００は、２つ以上の入出力装置を選択することで、情報処理装置の可用性を向上させる。
【００７３】
図６のステップＳ１１２において主制御部３００は、各モジュール内で動作させる入出力装置を２つ以上選択する。主制御部３００は、選択された２つ以上の入出力装置に対して、１番目に優先順位の高い入出力装置はジャイロセンサー、２番目に優先順位の高い入出力装置はカメラ、のように、優先順位を付す。
【００７４】
ステップＳ１１４において主制御部３００は、ＨＭＤ１００にインストールされているプログラムからの要求により指定されたモジュール内において、優先順位が最も高い入出力装置を動作させる。主制御部３００は、動作させた入出力装置の挙動に異常を検知した場合、同モジュール内について、優先順位が次に高い入出力装置を動作させる。ここで、挙動に異常を検知した場合とは、例えば、入出力装置による検出値が通常あり得ない値である場合、入出力装置からの応答が所定時間ない場合、入出力装置からエラー応答を受信した場合、等がある。なお、３つ以上の入出力装置が選択されている場合は、同様の処理を繰り返えせばよい。
【００７５】
変形１によれば、主制御部３００は、ステップＳ１０６の各グループから２つ以上の入出力装置を選択し、プログラムから受信した機能を指定した要求に応じて、最初に、当該要求において指定されている機能でグループ化されると共に、当該グループ内で最も優先順位の高い入出力装置を動作させる。最初に動作させた入出力装置に異常がある場合、主制御部３００は、当該グループ内で次に優先順位の高い入出力装置を動作させる。このため、ある入出力装置に異常がある場合であっても、主制御部３００は、他の入出力装置を利用してプログラムからの要求に応じることができる。この結果、情報処理装置（ＨＭＤ１００）の可用性を向上させることができる。
【００７６】
なお、変形１において、入出力装置に対する優先順位の付与は、任意のタイミングとすることができる。例えば、主制御部３００は、ステップＳ１０６のグループ化の時点で、グループ化された入出力装置に対して優先順位を付与してもよい。この場合、ステップＳ１１２において主制御部３００は、各モジュール内で動作させる入出力装置を選択するだけでよい。
【００７７】
Ａ−４−２．変形２：
変形２では、主制御部３００は、ＨＭＤ１００に接続されている他の情報処理装置が備える入出力装置をも、ブラックボックス化処理の対象とする。
【００７８】
図６のステップＳ１００において主制御部３００は、ＨＭＤ１００の電源が投入されたことを検出すると共に、ＨＭＤ１００に接続されている他の情報処理装置の検出を試みる。なお、他の情報処理装置とは、ＨＭＤ、スマートフォン、パーソナルコンピューター等、任意の装置を採用可能である。ＨＭＤ１００と他の情報処理装置との間の接続は、無線ＬＡＮや近距離無線通信等の無線接続でもよいし、有線接続でもよい。
【００７９】
他の情報処理装置の接続を検出した場合、ステップＳ１０４において主制御部３００は、他の情報処理装置に接続されている入出力装置の情報を併せて取得する。ステップＳ１０６において主制御部は、第１の機器個別情報と、第２の機器個別情報と、他の情報処理装置に接続されている入出力装置の情報と、をグループ化する。その後のステップＳ１０８〜Ｓ１１４は、上記実施形態で説明した通りである。
【００８０】
なお、変形２において、ＨＭＤ１００の主制御部３００が、ＨＭＤ１００と接続されている他の情報処理装置を検出した場合、かつ、他の情報処理装置にも主制御部３００に相当する機能部（以降「他の情報処理装置の主制御部」とも呼ぶ。）が存在する場合、両装置の接続検出後に、以下のような処理を実施してもよい。
・図６のステップＳ１００とステップＳ１０２との間において、ＨＭＤ１００の主制御部３００は、他の情報処理装置の主制御部との間で、マスター・スレーブ関係を決定する。マスターとなった主制御部は、ＨＭＤ１００にインストールされているプログラム用と、他の情報処理装置にインストールされているプログラム用と、の２本のブラックボックス化処理を並行して実行する。
・ＨＭＤ１００の主制御部３００と、他の情報処理装置の主制御部と、がそれぞれ個別に、ブラックボックス化処理を実行する。この場合、図６のステップＳ１１４において、ＨＭＤ１００の主制御部３００は、ＨＭＤ１００にインストールされているプログラムからの要求を受け付け、他の情報処理装置の主制御部は、他の情報処理装置にインストールされているプログラムからの要求を受け付ける。
【００８１】
変形２によれば、主制御部３００は、情報処理装置（ＨＭＤ１００）に接続されている入出力装置に加えて、情報処理装置に接続されている他の情報処理装置が備える（接続されている）入出力装置をも選択すると共に、プログラムから受信した機能を指定した要求に応じて動作させることができる。
【００８２】
Ｂ．変形例：
上記実施形態において、ハードウェアによって実現されるとした構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されるとした構成の一部をハードウェアに置き換えるようにしてもよい。その他、以下のような変形も可能である。
【００８３】
・変形例１：
上記実施形態では、ＨＭＤの構成について例示した。しかし、ＨＭＤの構成は、本発明の要旨を逸脱しない範囲において任意に定めることが可能であり、例えば、各構成部の追加・削除・変換等を行うことができる。
【００８４】
上記実施形態における、制御部と、画像表示部とに対する構成要素の割り振りは、あくまで一例であり、種々の態様を採用可能である。例えば、以下のような態様としてもよい。（i）制御部にＣＰＵやメモリー等の処理機能を搭載、画像表示部には表示機能のみを搭載する態様、（ｉｉ）制御部と画像表示部との両方にＣＰＵやメモリー等の処理機能を搭載する態様、（ｉｉｉ）制御部と画像表示部とを一体化した態様（例えば、画像表示部に制御部が含まれ眼鏡型のウェアラブルコンピューターとして機能する態様）、（ｉｖ）制御部の代わりにスマートフォンや携帯型ゲーム機を使用する態様、（ｖ）制御部と画像表示部とを無線ＬＡＮや赤外線通信やＢｌｕｅｔｏｏｔｈ等の無線の信号伝送路を介した接続により接続し、接続部（コード）を廃した態様。なお、この場合において、制御部または画像表示部に対する給電をワイヤレスにより実施してもよい。
【００８５】
例えば、上記実施形態で例示した制御部、画像表示部の構成は任意に変更することができる。具体的には、例えば、上記実施形態では、制御部が送信部を備え、画像表示部が受信部を備えるものとしたが、送信部および受信部はいずれも、双方向通信が可能な機能を備えており、送受信部として機能してもよい。また、例えば、制御部が備えるとした操作用インターフェイス（各種キーやトラックパッド等）の一部を省略してもよい。また、制御部に操作用スティック等の他の操作用インターフェイスを備えてもよい。また、制御部にはキーボードやマウス等のデバイスを接続可能な構成として、キーボードやマウスから入力を受け付けるものとしてもよい。例えば、電源として二次電池を用いることしたが、電源としては二次電池に限らず、種々の電池を使用することができる。例えば、一次電池や、燃料電池、太陽電池、熱電池等を使用してもよい。
【００８６】
図１１は、変形例におけるＨＭＤの外観の構成を示す説明図である。図１１（Ａ）の例の場合、画像表示部２０ｘは、右光学像表示部２６に代えて右光学像表示部２６ｘを備え、左光学像表示部２８に代えて左光学像表示部２８ｘを備えている。右光学像表示部２６ｘと左光学像表示部２８ｘとは、上記実施形態の光学部材よりも小さく形成され、ＨＭＤの装着時における利用者の右眼および左眼の斜め上にそれぞれ配置されている。図１１（Ｂ）の例の場合、画像表示部２０ｙは、右光学像表示部２６に代えて右光学像表示部２６ｙを備え、左光学像表示部２８に代えて左光学像表示部２８ｙを備えている。右光学像表示部２６ｙと左光学像表示部２８ｙとは、上記実施形態の光学部材よりも小さく形成され、ＨＭＤの装着時における利用者の右眼および左眼の斜め下にそれぞれ配置されている。このように、光学像表示部は利用者の眼の近傍に配置されていれば足りる。また、光学像表示部を形成する光学部材の大きさも任意であり、光学像表示部が利用者の眼の一部分のみを覆う態様、換言すれば、光学像表示部が利用者の眼を完全に覆わない態様のＨＭＤとして実現することもできる。
【００８７】
例えば、制御部が備えるとした各処理部（例えば画像処理部、表示制御部等、主制御部）は、ＣＰＵがＲＯＭやハードディスクに格納されているコンピュータープログラムをＲＡＭに展開して実行することにより実現されるものとして記載した。しかし、これら機能部は、当該機能を実現するために設計されたＡＳＩＣ（Application Specific Integrated Circuit：特定用途向け集積回路）を用いて構成されてもよい。また、各処理部は、制御部ではなく画像表示部に配置されていてもよい。
【００８８】
例えば、ＨＭＤは、両眼タイプの透過型ＨＭＤであるものとしたが、単眼タイプのＨＭＤとしてもよい。また、利用者がＨＭＤを装着した状態において外景の透過が遮断される非透過型ＨＭＤとして構成してもよいし、非透過型ＨＭＤにカメラを搭載したビデオシースルーとして構成してもよい。また、例えば、画像表示部として、眼鏡のように装着する画像表示部に代えて、通常の平面型ディスプレイ装置（液晶ディスプレイ装置、プラズマディスプレイ装置、有機ＥＬディスプレイ装置等）を採用してもよい。この場合にも、制御部と画像表示部との間の接続は、有線の信号伝送路を介した接続であってもよいし、無線の信号伝送路を介した接続であってもよい。このようにすれば、制御部を、通常の平面型ディスプレイ装置のリモコンとして利用することもできる。また、例えば、画像表示部として、眼鏡のように装着する画像表示部に代えて、例えば帽子のように装着する画像表示部といった他の形状の画像表示部を採用してもよい。また、イヤホンは耳掛け型やヘッドバンド型を採用してもよく、省略しても良い。また、例えば、自動車や飛行機等の車両、またはその他の交通手段に搭載されるヘッドアップディスプレイ（ＨＵＤ、Head-Up Display）として構成されてもよい。また、例えば、ヘルメット等の身体防護具に内蔵されたＨＭＤとして構成されてもよい。また、例えば、ハンドヘルドディスプレイ（Hand Held Display）として構成されてもよい。
【００８９】
例えば、上記実施形態では、画像光生成部は、バックライトと、バックライト制御部と、ＬＣＤと、ＬＣＤ制御部とを用いて構成されるものとした。しかし、上記の態様はあくまで例示である。画像光生成部は、これらの構成部と共に、またはこれらの構成部に代えて、他の方式を実現するための構成部を備えていても良い。例えば、画像光生成部は、有機ＥＬ（有機エレクトロルミネッセンス、Organic Electro-Luminescence）のディスプレイと、有機ＥＬ制御部とを備える構成としても良い。また、例えば、画像生成部は、ＬＣＤに代えてデジタル・マイクロミラー・デバイス等を用いることもできる。また、例えば、レーザー網膜投影型の頭部装着型表示装置に対して本発明を適用することも可能である。
【００９０】
・変形例２：
上記実施形態では、主制御部によって生成されるモジュールの構成について例示した。しかし、モジュールの構成は、本発明の要旨を逸脱しない範囲において任意に定めることが可能であり、例えば、各構成部の追加・削除・変換等を行うことができる。
【００９１】
例えば、主制御部は、機能毎のサブモジュールを含んだ１つのモジュールを生成することとしてもよい。この場合、例えば、プログラムからの「機能の指定」は、関数の引数を用いて実現されてもよい。具体的には、プログラムは、角速度取得サブモジュールを使用する場合「ｇｅｔ（ａｖ）」と要求し、加速度取得サブモジュールを使用する場合「ｇｅｔ（ａｃ）」と要求してもよい。
【００９２】
例えば、モジュールおよびサブモジュールは、ライブラリープログラムとして実装されてもよい。
【００９３】
・変形例３：
上記実施形態では、ブラックボックス化処理の一例を示した。しかし、上記実施形態において示した処理の手順はあくまで一例であり、種々の変形が可能である。例えば、一部のステップを省略してもよいし、更なる他のステップを追加してもよい。また、実行されるステップの順序を変更してもよい。
【００９４】
例えば、ステップＳ１０２およびＳ１０４において主制御部は、第１の機器個別情報と、第２の機器個別情報とを取得することとした。しかし、主制御部は、これらの情報を取得することに代えて、これらの機器個別情報を自動で生成してもよい。例えば、主制御部は、ＨＭＤ対する入出力装置の接続を検出した際に、入出力装置の情報を取得することで、機器個別情報を自動で生成することができる。主制御部は、機器個別情報の生成に際して、例えば、装置のある情報（例えば型番）から装置の他の情報（例えば種類）を取得するために、外部（例えばインターネット上のサーバ）に接続してもよい。
【００９５】
例えば、ステップＳ１０６において主制御部は、現在ＨＭＤに接続されて、所定時間内に使用が可能であるアクティブ状態である入出力装置だけをグループ化の対象としてもよい。このようにすれば、使用可能となるまでに所定時間以上を要する入出力装置を選択した結果、処理が遅延することを抑制することができる。所定時間は任意に定めることができるが、処理遅延抑制のためには、例えば３秒以内等、短時間とされることが好ましい。
【００９６】
例えば、主制御部は、ＨＭＤに対する新たな入出力装置の接続を検出した際に、ステップＳ１０２〜Ｓ１１４の処理を再実行してもよい。このようにすれば、ブラックボックス化処理をプラグアンドプレイ方式で実行することができる。
【００９７】
例えば、主制御部は、利用者からの指定があった場合に、ステップＳ１１２で選択した入出力装置を、利用者の指定に応じて変更することができる。利用者の指定とは、例えば、使用したい入出力装置の近傍をノックする方式を採用してもよい。また、例えば、ＨＭＤの設定画面の中から選択させる方式を採用してもよく、使用したい入出力装置の名称を音声認識する方式を採用してもよい。
【００９８】
例えば、主制御部は、上記実施形態において、プログラムから受信した要求において指定された機能に対応したモジュールがない場合や、上記変形２において、選択された複数の入出力装置の全てにおいて挙動に異常を検知した場合に、ＨＭＤの利用者にその旨を知らせるための表示や通知を行ってもよい。また、この場合、要求元のプログラムは、指定した機能を使用せずに処理を進めてもよい。
【００９９】
・変形例４：
本発明は、上述の実施形態や実施例、変形例に限られるものではなく、その趣旨を逸脱しない範囲において種々の構成で実現することができる。例えば、発明の概要の欄に記載した各形態中の技術的特徴に対応する実施形態、実施例、変形例中の技術的特徴は、上述の課題の一部または全部を解決するために、あるいは、上述の効果の一部または全部を達成するために、適宜、差し替えや組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
【符号の説明】
【０１００】
１０…制御部
１１…決定キー
１２…点灯部
１３…表示切替キー
１４…トラックパッド
１５…輝度切替キー
１６…方向キー
１７…メニューキー
１８…電源スイッチ
２０…画像表示部
２１…右保持部
２２…右表示駆動部
２３…左保持部
２４…左表示駆動部
２６…右光学像表示部
２８…左光学像表示部
３０…イヤホンプラグ
３２…右イヤホン
３４…左イヤホン
４０…接続部
４２…右コード
４４…左コード
４６…連結部材
４８…本体コード
５１…送信部
５２…送信部
５３…受信部
５４…受信部
６１…カメラ
６２…記憶部
６３…第２の機器個別情報（機器個別情報）
６６…９軸センサー
１１０…入力情報取得部
１００…ＨＭＤ（情報処理装置）
１２０…記憶部
１２２…第１の機器個別情報（機器個別情報）
１３０…電源
１３２…無線通信部
１４０…ＣＰＵ
１６０…画像処理部
１７０…音声処理部
１８０…インターフェイス
１９０…表示制御部
２０１…右バックライト制御部
２０２…左バックライト制御部
２１１…右ＬＣＤ制御部
２１２…左ＬＣＤ制御部
２２１…右バックライト
２２２…左バックライト
２４１…右ＬＣＤ
２４２…左ＬＣＤ
２５１…右投写光学系
２５２…左投写光学系
２６１…右導光板
２６２…左導光板
３００…主制御部
３０１…角速度取得モジュール
３０１ａ…個別機能制御部
３０１ｂ…ジャイロセンサー用ドライバー
３０１ｃ…カメラ用ドライバー
３０２…加速度取得モジュール
３０３…方位取得モジュール
３０４…画像取得モジュール
３０５…画像表示モジュール
３０６…ポインティング操作モジュール
３０７…十字キー操作モジュール
３０８…ミュート操作モジュール
３０９…音量操作モジュール
ＰＣＬＫ…クロック信号
ＶＳｙｎｃ…垂直同期信号
ＨＳｙｎｃ…水平同期信号
Ｄａｔａ…画像データー
Ｄａｔａ１…右眼用画像データー
Ｄａｔａ２…左眼用画像データー
ＯＡ…外部機器
ＰＣ…パーソナルコンピューター
ＳＣ…外景
ＶＩ…虚像
ＶＲ…視野
ＲＥ…右眼
ＬＥ…左眼
ＥＲ…端部
ＥＬ…端部
【図１】
0006476781.tif 000002
【図２】
0006476781.tif 000003
【図３】
0006476781.tif 000004
【図４】
0006476781.tif 000005
【図５】
0006476781.tif 000006
【図６】
0006476781.tif 000007
【図７】
0006476781.tif 000008
【図８】
0006476781.tif 000009
【図９】
0006476781.tif 000010
【図１０】
0006476781.tif 000011
【図１１】
0006476781.tif 000012