(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）、ＩＥＥＥ８０２．３に例示される有線ＬＡＮ等である。外部機器ОＡとしては、例えば、パーソナルコンピューターＰＣや携帯電話端末、ゲーム端末等を利用することができる。
【００４６】
図３は、利用者に視認される虚像の一例を示す説明図である。上述のようにして、ＨＭＤ１００の利用者の両眼に導かれた画像光が利用者の網膜に結像することにより、利用者は虚像ＶＩを視認する。図の例では、虚像ＶＩは、ＨＭＤ１００のＯＳ１５０の待ち受け画面である。また、利用者は、右光学像表示部２６および左光学像表示部２８を透過して外景ＳＣを視認する。このように、本実施形態のＨＭＤ１００の利用者は、視野ＶＲのうち虚像ＶＩが表示された部分については、虚像ＶＩと、虚像ＶＩの背後の外景ＳＣとを見ることができる。また、視野ＶＲのうち虚像ＶＩが表示されていない部分については、光学像表示部を透過して、外景ＳＣを直接見ることができる。
【００４７】
Ａ−２．情報処理装置のプラットフォーム：
図４は、情報処理装置としてのＨＭＤ１００のプラットフォームの説明図である。プラットフォームとは、ＨＭＤ１００にインストールされているアプリケーションを動作させるために必要な、基盤となるハードウェア資源、ＯＳ、ミドルウェア等の集合である。本実施形態のプラットフォーム５００は、アプリケーション層５１０と、フレームワーク層５２０と、ライブラリー層５３０と、カーネル層５４０と、ハードウェア層５５０と、を含んでいる。各層５１０〜５５０は、プラットフォーム５００に含まれているハードウェア資源、ＯＳ、ミドルウェア等を概念的に層分けしている。フレームワーク層５２０と、ライブラリー層５３０と、カーネル層５４０とによって、ＯＳ１５０（図２）の機能が実現される。なお、図４では、説明上必要としない構成要素は図示を省略する。
【００４８】
アプリケーション層５１０は、ＯＳ１５０上において所定の処理を実行するためのアプリケーションソフトウェアの集合である。アプリケーション層５１０に含まれている各アプリケーションソフトウェアを、以降「アプリ」または「アプリケーション」とも呼ぶ。アプリケーション層５１０には、ＨＭＤ１００に予めインストールされているアプリと、ＨＭＤ１００の利用者がインストールしたアプリと、の両方が含まれる。
【００４９】
図４の例では、アプリケーション層５１０には、ホームアプリ５１１と、画像処理部アプリ５１２と、表示制御部アプリ５１３と、音声処理部アプリ５１４と、カメラアプリ５１６と、が含まれている。ホームアプリ５１１は、ＨＭＤ１００のホーム画面を提供する。画像処理部アプリ５１２は、画像処理部１６０（図２）の機能を実現する。表示制御部アプリ５１３は、表示制御部１９０（図２）の機能を実現する。音声処理部アプリ５１４は、音声処理部１７０（図２）の機能を実現する。ゲームアプリ５１５は、ゲーム機能を提供する。カメラアプリ５１６は、カメラ機能を提供する。
【００５０】
フレームワーク層５２０は、アプリケーション層５１０のアプリケーションソフトウェアに共通する基本的なプログラム構造や、機能セットを実装したプログラムの集合である。本実施形態では、フレームワーク層５２０に含まれる要素の例示は省略する。
【００５１】
ライブラリー層５３０は、特定の機能を実現するためのプログラムを、他のプログラム（例えばアプリケーション層５１０のアプリ）から使用できるように部品化したライブラリーソフトウェアの集合である。ライブラリー層５３０に含まれている各ライブラリーソフトウェアを、以降「ライブラリー」とも呼ぶ。ライブラリーは、単独では実行できず、他のプログラムから呼び出される形で実行される。
【００５２】
図４の例では、ライブラリー層５３０には、認証部ライブラリー５３１と、変更部ライブラリー５３２と、ディスプレイライブラリー５３３と、オーディオライブラリー５３４と、センサーライブラリー５３５と、カメラライブラリー５３６と、ＨＴＭＬ（Hyper Text Markup Language）ライブラリー５３７と、が含まれている。認証部ライブラリー５３１は、アプリケーション層５１０のアプリの正当性を認証するための認証処理を実行する。以降、認証部ライブラリー５３１を単に「認証部５３１」とも呼ぶ。変更部ライブラリー５３２は、認証処理の結果に応じて、アプリによるハードウェア資源（詳細は後述）の使用可能な程度を変更する変更処理を実行する。以降、変更部ライブラリー５３２を単に「変更部５３２」とも呼ぶ。ディスプレイライブラリー５３３は、右ＬＣＤ２４１および左ＬＣＤ２４２（図２）を駆動する。オーディオライブラリー５３４は、右イヤホン３２および左イヤホン３４（図２）に内蔵されている音声ＩＣ（Integrated Circuit）を駆動する。センサーライブラリー５３５は、９軸センサー６６（図２）を駆動すると共に、９軸センサー６６による検出値を取得し、検出値をアプリに提供するための情報へ加工する。カメラライブラリー５３６は、カメラ６１（図２）を駆動すると共に、カメラ６１による検出値を取得し、検出値から外景画像を生成する。ＨＴＭＬライブラリー５３７は、ウェブページ記述用言語で記載されたデーターを解釈して画面表示用の文字や画像の配置を計算する。
【００５３】
図５は、一のライブラリーの中に複数のライブラリーが存在する場合を示す説明図である。ライブラリー層５３０に含まれているライブラリーの中には、図５に示すように、階層構造によって一のライブラリーの中に複数のライブラリー（ライブラリーソフトウェア）が含まれているものがある。図５の例では、センサーライブラリー５３５の中には、標準ライブラリーと、特別ライブラリーと、の２種類のライブラリーが含まれている。標準ライブラリーは、標準的な機能を備えるライブラリーであって、第１の速度で９軸センサー６６を駆動すると共に、第１の精度で９軸センサー６６による検出値を取得する。特別ライブラリーは、標準ライブラリーよりも優れた機能を備えるライブラリーであって、第１の速度よりも高速な第２の速度で９軸センサー６６を駆動すると共に、第１の精度よりも高精度な第２の精度で９軸センサー６６による検出値を取得する。その後、標準ライブラリーおよび特別ライブラリーは、必要に応じて取得した検出値の演算（例えばデータ補正等）を行う。アプリによってセンサーライブラリー５３５が使用される場合、上述した２種類のライブラリーのうちの、いずれか１つが使用される。なお、ここではセンサーライブラリー５３５を例示したが、他のライブラリーについても、一のライブラリーの中に複数のライブラリーが存在していてもよい。
【００５４】
図４のカーネル層５４０は、ＯＳ１５０の基本機能を実装したプログラムの集合である。カーネル層５４０は、ソフトウェア（ライブラリー層５３０）とハードウェア（ハードウェア層５５０）とのやり取りを管理し、両者の架け橋として機能する。
【００５５】
図４の例では、カーネル層５４０には、右ＬＣＤ２４１および左ＬＣＤ２４２用のＬＣＤドライバー５４１と、音声ＩＣ用の音声ＩＣドライバー５４２と、９軸センサー６６用のセンサードライバー５４３と、カメラ６１に内蔵されている画像センサー用の画像センサードライバー５４４と、が含まれている。
【００５６】
ハードウェア層５５０は、ＨＭＤ１００に組み込まれている実際のハードウェア資源である。本実施形態において「ハードウェア資源」とは、ＨＭＤ１００に接続されてＨＭＤ１００に組み込まれているデバイスを意味する。すなわち、ハードウェア資源には、ＨＭＤ１００のマザーボードに内部的に接続されているデバイス（例えば、９軸センサー６６のセンサーデバイス、カメラ６１の画像センサーデバイス、トラックパッド１４のセンサーデバイス等）と、インターフェイス１８０を介してＨＭＤ１００に外部的に接続されているデバイス（例えば、外付けのモーションセンサーデバイス、外付けのＵＳＢデバイス等）と、の両方が含まれる。
【００５７】
図４の例では、ハードウェア層５５０には、右ＬＣＤ２４１および左ＬＣＤ２４２としてのＬＣＤデバイス５５１と、音声ＩＣデバイス５５２と、９軸センサー６６のセンサーデバイス５５３と、カメラ６１の画像センサーデバイス５５４と、が含まれている。
【００５８】
図４において破線で囲んだライブラリーと、ドライバーと、デバイスとは、それぞれ対応関係にあり、協働して動作する。例えば、センサーライブラリー５３５のうちの標準ライブラリーまたは特別ライブラリーのうちのいずれか一方（図５）と、センサードライバー５４３と、センサーデバイス５５３と、は９軸センサー６６の機能を実現するために協働して動作する。すなわち、ライブラリー層５３０のセンサーライブラリー５３５と、カーネル層５４０のセンサードライバー５４３とは、アプリが、ハードウェア資源（ハードウェア層５５０）としてのセンサーデバイス５５３を使用するためのプログラム（ソフトウェア）であると言える。また、１つのハードウェア資源としてのセンサーデバイス５５３を使用可能とするために、図５で説明したように、センサーデバイス５５３に複数のライブラリー（標準ライブラリー、特別ライブラリー）が割り当てられている場合がある。
【００５９】
一方、図４において、例えば、ライブラリー層５３０のＨＴＭＬライブラリー５３７は、ハードウェア資源と対応関係になく、ハードウェア資源に依存しない。このように、ＨＭＤ１００に組み込まれ、ハードウェア資源に依存しないプログラム（ソフトウェア）を、本実施形態では「ソフトウェア資源」とも呼ぶ。ソフトウェア資源としては、フレームワーク層５２０、ライブラリー層５３０、カーネル層５４０の各層に含まれる種々のプログラムが想定される。なお、ソフトウェア資源についても、図５に示すように、一のライブラリーの中に複数のライブラリー（ライブラリーソフトウェア）が含まれていてよい。
【００６０】
Ａ−３．変更処理：
図６は、変更処理の手順を示す説明図である。変更処理は、アプリに対する認証処理の結果に応じて、当該アプリによるハードウェア資源の使用可能な程度を変更するための処理である。本実施形態では、アプリケーション層５１０に含まれているアプリであって、ハードウェア資源を使用しようとするアプリは全て、変更処理の対象となる。以降の説明では、ハードウェア資源を使用しようとしたアプリとして、ホームアプリ５１１を例示し、ホームアプリ５１１を「要求元アプリ５１１」と呼ぶ。また、要求元アプリ５１１が使用しようとしたハードウェア資源として、９軸センサー６６のセンサーデバイス５５３を例示する。なお、図６では、説明上必要としない構成要素は図示を省略する。
【００６１】
ステップＳ１０２において要求元アプリ５１１は、要求元アプリ５１１の初期化処理の一環として、アプリ名５１１ｎと、鍵５１１ｋと、を認証部５３１へ送信する。「アプリ名」とは、アプリを一意に識別するために付与されている名称である。アプリ名は、アプリ開発者によって付与され、アプリ内に記憶されている。「鍵」とは、アプリの正当性を認証するために用いられる鍵である。鍵は、プラットフォーム５００の提供者からアプリ開発者に提供され、アプリ内に記憶されている。
【００６２】
ステップＳ１０４において、アプリ名５１１ｎと鍵５１１ｋとを受信した認証部５３１は、要求元アプリ５１１の正当性を認証するための認証処理を実行する。認証処理の詳細は後述する。
【００６３】
ステップＳ１０６において、要求元アプリ５１１の認証に成功した場合、換言すれば要求元アプリ５１１の正当性が確認できた場合、認証部５３１は、変更部５３２にアプリ名５１１ｎを登録する（記憶させる）。一方、要求元アプリ５１１の認証に失敗した場合、換言すれば要求元アプリ５１１の正当性が確認できなかった場合、認証部５３１は、何もしない。なお、要求元アプリ５１１の認証に失敗した場合、認証部５３１は、要求元アプリ５１１に「認証に失敗した旨」のエラーメッセージを返却してもよい。
【００６４】
ステップＳ１０８において要求元アプリ５１１は、要求元アプリ５１１の初期化処理の一環として、要求元アプリ５１１が使用しようとしているハードウェア資源（センサーデバイス５５３）に対応したライブラリー（センサーライブラリー５３５）のインスタンスを生成する。このインスタンスの生成のために、要求元アプリ５１１は、センサーライブラリー５３５に対してライブラリーを要求する。なお、「インスタンスの生成」とは、物理的なメモリーの割り当てや、変数の受け渡し等を行うことによって、アプリ内でライブラリーを使用可能な状態にすることを意味する。
【００６５】
ステップＳ１１０において、要求元アプリ５１１からの要求を取得したライブラリー（センサーライブラリー５３５）は、当該要求元アプリ５１１が認証に成功したアプリか否かを確認する。本実施形態の場合、変更部５３２にアプリ名が記憶されている場合、当該アプリは認証に成功したアプリである。一方、変更部５３２にアプリ名が記憶されていない場合、当該アプリは認証に失敗したアプリ、または、認証を経ていない不正なアプリである。このためセンサーライブラリー５３５は、変更部５３２を参照することによって、要求元アプリ５１１が認証に成功したアプリか否かを確認することができる。
【００６６】
ステップＳ１１２においてライブラリー（センサーライブラリー５３５）は、ステップＳ１１０で確認した要求元アプリ５１１の認証の結果に応じて、対応するライブラリーを要求元アプリ５１１へ返す。具体的には、センサーライブラリー５３５は、要求元アプリ５１１が認証に成功したアプリである場合（認証の結果：成功）、特別ライブラリーを要求元アプリ５１１へ返す。センサーライブラリー５３５は、要求元アプリ５１１が認証に失敗したアプリである場合（認証の結果：失敗）、または、要求元アプリ５１１が認証を経ていないアプリである場合（認証の結果：失敗）、標準ライブラリーを要求元アプリ５１１へ返す。
【００６７】
上述したステップＳ１０８〜Ｓ１１２を介して、要求元アプリ５１１の内部には、センサーライブラリー５３５の標準ライブラリーと、特別ライブラリーと、のうちのいずれか一方に基づいたインスタンスが生成される。以降では、標準ライブラリーに基づき生成されたインスタンスを「標準インスタンス」とも呼び、特別ライブラリーに基づき生成されたインスタンスを「特別インスタンス」とも呼ぶ。図６では、説明の便宜上、標準インスタンスと特別インスタンスとの両方を図示している。
【００６８】
ステップＳ１１４において要求元アプリ５１１は、ステップＳ１０８〜Ｓ１１２を介して生成されたインスタンスを介して、「関数」と呼ばれる命令を発行することによって、ハードウェア資源（センサーデバイス５５３）を使用する。図６の例では、要求元アプリ５１１が、標準インスタンスにおいて使用する関数と、特別インスタンスにおいて使用する関数とは、同じ関数Ａである。しかし、図５で説明した通り、標準インスタンスの元となる標準ライブラリーは第１の精度で９軸センサー６６の検出値を取得し、特別インスタンスの元となる特別ライブラリーは第２の精度（第１の精度よりも高精度）で９軸センサー６６の検出値を取得する。このため、同じ関数Ａを用いた場合であっても、標準インスタンスを介して関数Ａを発行した場合と、特別インスタンスを介して関数Ａを発行した場合とでは、得られる値が異なる。
【００６９】
以上のように、第１実施形態の変更処理（図６）によれば、変更部５３２は、認証（ステップＳ１０４）の結果に応じて、要求元アプリ５１１によるハードウェア資源の使用可能な程度を変更する（ステップＳ１０８〜Ｓ１１２）。具体的には、変更部５３２は、認証に成功した場合に要求元アプリ５１１が使用できるハードウェア資源の性能を、認証に失敗した場合に要求元アプリ５１１が使用できるハードウェア資源の性能よりも高くする。このため、認証に成功した特定のアプリケーションと、認証に失敗した他のアプリケーションとの間で、ハードウェア資源を使用可能な程度に差を設けることができる。
【００７０】
さらに、第１実施形態の変更処理のステップＳ１１２によれば、変更部５３２は、機能が異なる複数のライブラリー（すなわち、標準ライブラリーと特別ライブラリー）のうちの、認証の結果に対応する一のライブラリーを要求元アプリ５１１へ返すことで、一のライブラリーを、要求元アプリ５１１に対して使用可能とする。このため変更部５３２は、簡便に、要求元アプリ５１１が使用できるハードウェア資源の性能を変えることができる。
【００７１】
さらに、第１実施形態の変更処理のステップＳ１１４によれば、要求元アプリ５１１は、使用可能とされたライブラリー（標準ライブラリー、特別ライブラリー）に関係なく、単一の命令（すなわち、関数Ａ）を介してライブラリーを使用することができる。このため、要求元アプリ５１１側では使用可能となっているライブラリーを意識する必要がなく、アプリケーション開発の容易化に資する。
【００７２】
さらに、第１実施形態の変更処理によれば、変更処理は、要求元アプリ５１１の初期化時に一時に実行される。この結果、要求元アプリ５１１は、初期化が終了した後においては、ハードウェア資源を使用可能な程度の範囲内で自由に使用することができる。また、第１実施形態の変更処理によれば、標準ライブラリーは、第１の速度で９軸センサー６６を駆動すると共に、第１の精度で９軸センサー６６による検出値を取得する。特別ライブラリーは、第１の速度よりも高速な第２の速度で９軸センサー６６を駆動すると共に、第１の精度よりも高精度な第２の精度で９軸センサー６６による検出値を取得する。なお、第１、２の速度と第１、２の精度とのいずれか一方は同じであってもよい。ここで言う「速度」には、ハードウェア資源の起動速度、検出速度、動作速度、演算速度、描画速度、取得速度、再生速度等、速度に関する全ての性能を含むことができる。また「精度」には、ハードウェア資源による検出精度、動作精度、演算精度、描画精度、取得精度、再生精度等、精度に関する全ての性能を含むことができる。また、標準ライブラリーと特別ライブラリーとの間には、速度・精度以外にも、性能に差異があってもよい。この際は、例えば、ＬＣＤやカメラを駆動する際の画素数であってもよい。このようにすれば、変更部５３２は、認証に成功した特定のアプリケーションと、認証に失敗した他のアプリケーションとの間で、ハードウェア資源の精度と、ハードウェア資源の動作速度と、のうちの少なくとも一方に差を設けることができる。
【００７３】
Ａ−４．変更処理の変形：
上述した変更処理は、以下のように変形してもよい。以下に示す変形は、単独で適用してもよいし、組み合わせて適用してもよい。
【００７４】
Ａ−４−１．変形１：
図７は、変形１における変更処理の手順を示す説明図である。変形１における変更処理では、認証に失敗した要求元アプリ５１１にハードウェア資源を使用させない。図６との違いは、ステップＳ１１２に代えてＳ２１２を備える点と、ステップＳ１１４に代えてＳ２１４を備える点と、センサーライブラリー５３５が複数のライブラリーを含んでいない点である。
【００７５】
ステップＳ２１２においてライブラリー（センサーライブラリー５３５）は、要求元アプリ５１１が認証に成功したアプリである場合（認証の結果：成功）、センサーライブラリー５３５を要求元アプリ５１１へ返す。センサーライブラリー５３５は、要求元アプリ５１１が認証に失敗したアプリである場合（認証結果：失敗）、または、要求元アプリ５１１が認証を経ていないアプリである場合（認証の結果：失敗）、何もしない。
【００７６】
ステップＳ１０８、Ｓ１１０、Ｓ２１２を介して、認証に成功した要求元アプリ５１１の内部には、センサーライブラリー５３５に基づいたインスタンスが生成される。一方、認証に失敗した要求元アプリ５１１の内部には、センサーライブラリー５３５に基づいたインスタンスは生成されない。
【００７７】
ステップＳ２１４において要求元アプリ５１１は、ステップＳ１０８、Ｓ１１０、Ｓ２１２を介して生成されたインスタンスを介して、関数Ａを発行する。認証に成功した要求元アプリ５１１では、関数Ａの発行により値が得られるが、認証に失敗した要求元アプリ５１１では、関数Ａの発行によりエラーメッセージ（ｅｒｒ）が返却される。
【００７８】
以上のように、変更処理の変形１（図７）によれば、変更部５３２は、認証（ステップＳ１０４）の結果に応じて、認証に成功した特定のアプリケーションにはＨＭＤ１００（情報処理装置）の持つハードウェア資源を使用させ、認証に失敗した他のアプリケーションにはＨＭＤ１００の持つハードウェア資源を使用させない、という態様を実現することができる。
【００７９】
Ａ−４−２．変形２：
図８は、変形２における変更処理の手順を示す説明図である。変形２における変更処理では、要求元アプリ５１１が複数の関数を使用する。図６との違いは、ステップＳ１１４に代えてＳ３１４を備える点である。
【００８０】
ステップＳ３１４において要求元アプリ５１１は、ステップＳ１０８〜Ｓ１１２を介して生成されたインスタンスを介して関数を発行することで、ハードウェア資源を使用する。図８の例では、要求元アプリ５１１が、特別インスタンスにおいて使用する関数Ａとは、標準インスタンスにおいて使用する関数Ｂとが、それぞれ異なる。例えば、要求元アプリ５１１が、特別インスタンスを介して関数Ｂ（標準インスタンス用の関数）を発行した場合や、標準インスタンスを介して関数Ａ（特別インスタンス用の関数）を発行した場合、要求元アプリ５１１にはエラーメッセージが返却される。
【００８１】
以上のように、変更処理の変形２（図８）によれば、要求元アプリ５１１は、使用可能とされたライブラリー（標準ライブラリー、特別ライブラリー）に対応した異なる命令（関数Ｂ、関数Ａ）を介してライブラリーを使用することができる。このため、要求元アプリ５１１側では使用可能となっているライブラリーを意識する必要が生じ、「認証に成功した特定のアプリケーションと、認証に失敗した他のアプリケーションとの間では、ハードウェア資源を使用可能な程度に差がある」旨を、アプリケーション開発者へ啓蒙することができる。
【００８２】
Ａ−４−３．変形３：
図９は、変形３における変更処理の手順を示す説明図である。変形３における変更処理では、要求元アプリ５１１がハードウェア資源を使用する都度、要求元アプリ５１１の正当性を認証する。図６との違いは、ステップS１０２に代えてS４０２、S４０３を備える点と、ステップS１１４に代えてS４１４を備える点である。
【００８３】
ステップS４０２において要求元アプリ５１１は、要求元アプリ５１１の初期化処理を行う。この際、要求元アプリ５１１は、要求元アプリ５１１が使用しようとしているハードウェア資源（センサーデバイス５５３）に対応したライブラリー（センサーライブラリー５３５）のインスタンスの生成を行わない。
【００８４】
ステップS４０３において、要求元アプリ５１１がハードウェア資源（センサーデバイス５５３）を使用する際、換言すれば、要求元アプリ５１１が関数を発行する際、要求元アプリ５１１は、アプリ名５１１ｎと、鍵５１１ｋと、を認証部５３１へ送信する。
【００８５】
ステップS４１４において要求元アプリ５１１は、ステップS１０８〜S１１２を介して生成されたインスタンスを介して関数を発行することで、ハードウェア資源を使用する。その後、要求元アプリ５１１は、ステップS１０８〜S１１２を介して生成されたインスタンスを破棄する。ここでインスタンスを破棄することにより、要求元アプリ５１１は、ハードウェア資源（センサーデバイス５５３）を使用しようとする都度、換言すれば、要求元アプリ５１１が関数を発行する都度、ステップS４０３、S１０４〜S１０８、S４１４の処理を繰り返す必要が生じる。
【００８６】
以上のように、変更処理の変形３（図９）によれば、変更処理は、要求元アプリ５１１がハードウェア資源を使用する際に実行される。この結果、認証部５３１は、要求元アプリ５１１がハードウェア資源を使用する都度、要求元アプリ５１１の正当性を認証することができるため、プラットフォーム５００におけるセキュリティレベルを向上させることができる。
【００８７】
Ａ−４−４．変形４：
変形４における変更処理では、アプリケーション層５１０に含まれているアプリであって、ソフトウェア資源を使用しようとするアプリに対して、認証処理を実施し、認証処理の結果に応じて当該アプリによるソフトウェア資源の使用可能な程度を変更する。詳細は、図６〜図９で説明した変更処理の「ハードウェア資源」を「ソフトウェア資源」と読み替えればよい。なお、ソフトウェア資源とは、ＨＭＤ１００に組み込まれ、ハードウェア資源に依存しないプログラムである。
【００８８】
以上のように、変更処理の変形４によれば、変更部５３２は、認証（図６〜図９、ステップＳ１０４）の結果に応じて要求元アプリ５１１によるソフトウェア資源の使用可能な程度を変更する（ステップＳ１０８〜Ｓ１１２）。このため、認証に成功した特定のアプリケーションと、認証に失敗した他のアプリケーションとの間で、ソフトウェア資源を使用可能な程度に差を設けることができる。例えば、変形１（図７）を組み合わせることによって、特定のアプリケーションにはＨＭＤ１００（情報処理装置）の持つソフトウェア資源を使用させ、他のアプリケーションにはＨＭＤ１００の持つソフトウェア資源を使用させない、という態様を実現することができる。また、例えば、変更処理（図６）を組み合わせることによって、変更部５３２は、特定のアプリケーションが使用できるソフトウェア資源の性能を、他のアプリケーションが使用できるソフトウェア資源の性能よりも高くすることもできる。
【００８９】
Ａ−５．認証処理：
図１０は、認証処理の手順を示す説明図である。認証処理は、ハードウェア資源を使用しようとしたアプリの正当性を認証するための処理であり、変更処理のサブルーチンとして実行される。以降の説明では、ハードウェア資源を使用しようとしたアプリとして、ホームアプリ５１１を例示し、ホームアプリ５１１を「要求元アプリ５１１」と呼ぶ。
【００９０】
ステップS１２において要求元アプリ５１１は、アプリ名５１１ｎと、鍵５１１ｋと、を認証部５３１へ送信する。詳細は、変更処理のステップS１０２において説明した通りである。
【００９１】
ステップS１４において認証部５３１は、認証部５３１内に予め記憶されている認証情報５３１ｓと、要求元アプリ５１１から受信したアプリ名５１１ｎとをハッシュ演算する。「認証情報」とは、認証処理において、要求元アプリ５１１の正当性を確認するために使用される情報であり、例えば任意の文字列とすることができる。なお、プラットフォーム５００の提供者は、要求元アプリ５１１へ提供する鍵５１１ｋを生成する際に、ステップＳ１４で使用する認証情報５３１ｓと同じ情報を使用する。
【００９２】
ステップＳ１６において認証部５３１は、ステップＳ１４のハッシュ演算の結果得られた試行鍵と、要求元アプリ５１１から受信した鍵５１１ｋとを照合し、両者が一致すれば要求元アプリ５１１は正当なアプリであると判断し（認証の結果：成功）、一致しなければ要求元アプリ５１１は正当なアプリでないと判断する（認証の結果：失敗）。
【００９３】
このように、第１実施形態の認証処理（図１０）によれば、認証部５３１は、要求元アプリ５１１の正当性を認証するため、認証によって「認証に成功した特定のアプリケーション」と「認証に失敗した他のアプリケーション」とを区別することができる。また、要求元アプリ５１１は、アプリ名５１１ｎ（名称）と鍵５１１ｋとを認証部５３１へ送信し、認証部５３１は、要求元アプリ５１１から受信した５１１ｎと予め記憶されている認証情報５３１ｓとを用いたハッシュ演算によって試行鍵を生成し、生成した試行鍵と要求元アプリ５１１から受信した鍵５１１ｋとが一致するか否かによって、要求元アプリ５１１の正当性を認証する。この結果、要求元アプリ５１１に配布する鍵５１１ｋの生成に使用する認証情報５３１ｓを認証部５３１内で秘匿することができるため、認証処理におけるセキュリティを向上させることができる。
【００９４】
Ａ−６．認証処理の変形：
上述した認証処理は、以下のように変形してもよい。
【００９５】
図１１は、変形における認証処理の手順を示す説明図である。変形における認証処理では、複数の認証情報を用いて要求元アプリ５１１の正当性の有無と、要求元アプリ５１１の正当性のレベルと、を認証する。図１０との違いは、異なる認証情報を用いて、ステップＳ１２〜Ｓ１６を複数回繰り返す点である。
【００９６】
認証部５３１内には、第１の認証情報５３１ｓａと、第１の認証情報５３１ｓａとは異なる第２の認証情報５３１ｓｂと、が予め記憶されている。また、プラットフォーム５００の提供者は、要求元アプリ５１１へ提供する鍵５１１ｋを生成する際に、第１の認証情報５３１ｓａと、第２の認証情報５３１ｓｂと、のうちのいずれか一方と同じ情報を使用する。
【００９７】
認証部５３１は、要求元アプリ５１１から受信したアプリ名５１１ｎと、鍵５１１ｋと、第１の認証情報５３１ｓａと、を用いてステップＳ１２〜Ｓ１６を実行する。各ステップの詳細は図１０と同様である。ステップＳ１６において鍵５１１ｋと、第１の認証情報５３１ｓａを用いて得られた第１の試行鍵とが一致すれば、認証部５３１は、要求元アプリ５１１は正当なアプリ、かつ、要求元アプリ５１１の正当性のレベルは「１」であると判断する（認証の結果：成功）。
【００９８】
認証部５３１は、要求元アプリ５１１から受信したアプリ名５１１ｎと、鍵５１１ｋと、第２の認証情報５３１ｓｂと、を用いてステップＳ１２〜Ｓ１６を再び実行する。ステップＳ１６において鍵５１１ｋと、第２の認証情報５３１ｓｂを用いて得られた第２の試行鍵とが一致すれば、認証部５３１は、要求元アプリ５１１は正当なアプリ、かつ、要求元アプリ５１１の正当性のレベルは「２」であると判断する（認証の結果：成功）。
【００９９】
認証部５３１は、複数回実行したステップＳ１２〜Ｓ１６の全てにおいて、鍵５１１ｋと試行鍵とが一致しなかった場合、要求元アプリ５１１は正当なアプリでないと判断する（認証の結果：失敗）。
【０１００】
以上のように、認証処理の変形によれば、認証部５３１は、第１の認証情報５３１ｓａと、第２の認証情報５３１ｓｂとを用いて、要求元アプリ５１１の正当性の有無と、要求元アプリ５１１の正当性のレベルと、を認証することができる。この結果、認証部５３１は、認証によって「認証に成功した特定のアプリケーション」と「認証に失敗した他のアプリケーション」とを区別するだけでなく、「認証に成功した第１の特定のアプリケーション」と、「認証に成功した第２の特定のアプリケーション」と、「認証に失敗した他のアプリケーション」との区別をすることも可能となる。この結果、例えば、認証に成功した第１の特定のアプリケーション（純正アプリ）の場合は、ＧＰＳモジュール１３４のＧＰＳ分解能の精度を１０ｃｍ以内とし、認証に成功した第２の特定のアプリケーション（互換アプリ）の場合は、ＧＰＳモジュール１３４のＧＰＳ分解能の精度を１ｍ以内とし、認証に失敗した他のアプリケーション（一般アプリ）の場合は、ＧＰＳモジュール１３４のＧＰＳ分解能の精度を１０ｍ以内とする、ということが可能となる。
【０１０１】
なお、上記の変形では、２つの認証情報を用いる例について説明したが、３つ以上の認証情報を用いてもよい。また、変形における認証処理を採用した場合、図６、図８、図９で説明した変更処理において、変更部５３２は、要求元アプリ５１１の正当性のレベルに応じて、それぞれ異なるライブラリー（例えば、標準ライブラリー、第１の特別ライブラリー、第２の特別ライブラリー）を、要求元アプリ５１１へ提供してもよい。
【０１０２】
Ｂ．第２実施形態：
本発明の第２実施形態では、アプリに対して予め鍵を記憶させるための構成について説明する。以下では、第１実施形態と異なる構成および動作を有する部分についてのみ説明する。なお、図中において第１実施形態と同様の構成部分については先に説明した第１実施形態と同様の符号を付し、その詳細な説明を省略する。
【０１０３】
図１２は、第２実施形態における処理手順を示すシーケンス図である。図１２に示すように、第２実施形態では、第１実施形態で説明した情報処理装置（ＨＭＤ１００）に加えてさらに、アプリ開発環境としてのＰＣ６００と、ＳＤＫ（Software Development Kit）提供サーバー７００と、アプリ提供サーバー８００と、を備えている。ＨＭＤ１００と、ＰＣ６００と、ＳＤＫ提供サーバー７００と、アプリ提供サーバー８００とは、例えばインターネットを介して相互に接続されている。なお、ＰＣ６００は「クライアント装置」として機能し、ＳＤＫ提供サーバー７００は「サーバー装置」として機能する。
【０１０４】
情報処理装置としてのＨＭＤ１００の構成、ＨＭＤ１００において実行される変更処理および認証処理については、上述した第１実施形態と同様である。
【０１０５】
図１３は、ＳＤＫ提供サーバー７００の構成を機能的に示すブロック図である。ＳＤＫ提供サーバー７００は、ＣＰＵ７１０と、ＲＯＭ７２０と、ＲＡＭ７３０と、通信インターフェイス（Ｉ／Ｆ）７４０と、記憶部７５０と、を備え、各部は図示しないバスにより相互に接続されている。
【０１０６】
ＣＰＵ７１０は、ＲＯＭ７２０や記憶部７５０に格納されているコンピュータープログラムをＲＡＭ７３０に展開して実行することにより、ＳＤＫ提供サーバー７００の各部を制御する。そのほか、ＣＰＵ７１０は、鍵生成部７１２、提供部７１４、送受信部７１６としても機能する。鍵生成部７１２は、アプリに配布するための鍵を生成する。提供部７１４は、ＰＣ６００に対して、アプリ開発環境としてのＳＤＫを提供する。
【０１０７】
通信インターフェイス７４０は、無線通信インターフェイスと、有線通信インターフェイスとを含んでいる。無線通信インターフェイスは、図示しない送受信回路を含み、アンテナを介して受信した電波の復調とデーターの生成、および、アンテナを介して送信する電波の生成と変調を行う。有線通信インターフェイスは、有線ケーブルを介して他の装置と接続される。
【０１０８】
記憶部７５０は、ＲＯＭ、ＲＡＭ、ＤＲＡＭ、ハードディスク等によって構成されている。記憶部７５０は、鍵テーブル７５２と、ＳＤＫ７５４と、認証情報５３１ｓと、を含んでいる。鍵テーブル７５２は、アプリ名と、鍵と、を含んでいる。「アプリ名」とは、アプリを一意に識別するために付与されている名称である。「鍵」とは、アプリの正当性を認証するために用いられる鍵である。ＳＤＫ７５４は、アプリを作成するためにソフトウェア技術者（すなわちＰＣ６００の利用者）が使用する開発ツールのセット、すなわち、開発用プログラムである。認証情報７５６は、認証部５３１内に予め記憶されている認証情報５３１ｓと同じ情報である。
【０１０９】
図１２のステップＳ２２においてＰＣ６００は、ＳＤＫ提供サーバー７００に対して、これから開発しようとしているアプリ名（ｘｙｚ）の登録を要求する。
【０１１０】
ステップＳ２４においてＳＤＫ提供サーバー７００の鍵生成部７１２は、ＰＣ６００から受信したアプリ名（ｘｙｚ）と、記憶部７５０に記憶されている認証情報７５６と、に基づいて、アプリ名に応じた鍵（ＸＸ２）を生成する。鍵生成部７１２は、ＰＣ６００から受信したアプリ名と生成した鍵とを対応付けて、鍵テーブル７５２に記憶させる。この結果、鍵テーブル７５２のエントリＥ２には、アプリ名「ｘｙｚ」に対応させて、鍵「ＸＸ２」が記憶される。
【０１１１】
ステップＳ２６においてＳＤＫ提供サーバー７００の提供部７１４は、記憶部７５０に記憶されているＳＤＫ７５４を取得し、ステップＳ２４で生成された鍵（ＸＸ２）をＳＤＫ７５４に組み込み、ＳＤＫ７５４を更新する。ステップＳ２８において提供部７１４は、更新したＳＤＫ７５４をＰＣ６００へ送信する。
【０１１２】
ステップＳ３０においてＰＣ６００は、ＳＤＫ７５４を使用してアプリを作成する。ステップＳ３２においてＰＣ６００は、アプリをコンパイル（実行ファイルの作成）する。この際、ＳＤＫ７５４に組み込まれている鍵（ＸＸ２）が、アプリの実行ファイルに取り込まれ、アプリ内に記憶される。ステップＳ３４においてＰＣ６００は、作成したアプリの実行ファイルを、アプリ提供サーバー８００へ送信する。
【０１１３】
ステップＳ３６においてアプリ提供サーバー８００は、ＰＣ６００から受信した実行ファイルを「アプリ」として、利用者向けのアプリストアに並べる（ストアを更新する）。ステップＳ３８においてＨＭＤ１００は、アプリ提供サーバー８００に対して、所望のアプリのダウンロードを要求する。ステップＳ４０においてアプリ提供サーバー８００は、指定されたアプリをＨＭＤ１００へ送信する。アプリ提供サーバー８００からＨＭＤ１００へ送信されるアプリ（実行ファイル）には、ＳＤＫ提供サーバー７００から提供された鍵（ＸＸ２）が予め記憶されている。
【０１１４】
このようにすれば、ＳＤＫ提供サーバー７００（サーバー装置）は、アプリケーションの正当性を認証するための鍵（ＸＸ２）と、アプリケーションの開発を支援するためのＳＤＫ７５４（開発用プログラム）と、を一体にしてＰＣ６００（クライアント装置）へ提供することができる。この結果、ＰＣ６００によって作成されるアプリケーションに対して、鍵（ＸＸ２）を予め記憶させることを容易化できる。また、ＳＤＫ提供サーバー７００の提供者と、プラットフォーム５００（図４）の提供者と、が同一または協力関係にあれば、鍵の配布から鍵を用いた認証までの一連の処理をスムーズかつ効果的に進めることができる。
【０１１５】
Ｃ．変形例：
上記実施形態において、ハードウェアによって実現されるとした構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されるとした構成の一部をハードウェアに置き換えるようにしてもよい。その他、以下のような変形も可能である。
【０１１６】
・変形例１：
上記実施形態では、ＨＭＤの構成について例示した。しかし、ＨＭＤの構成は、本発明の要旨を逸脱しない範囲において任意に定めることが可能であり、例えば、各構成部の追加・削除・変換等を行うことができる。
【０１１７】
上記実施形態における、制御部と、画像表示部とに対する構成要素の割り振りは、あくまで一例であり、種々の態様を採用可能である。例えば、以下のような態様としてもよい。（ｉ）制御部にＣＰＵやメモリー等の処理機能を搭載、画像表示部には表示機能のみを搭載する態様、（ｉｉ）制御部と画像表示部との両方にＣＰＵやメモリー等の処理機能を搭載する態様、（ｉｉｉ）制御部と画像表示部とを一体化した態様（例えば、画像表示部に制御部が含まれ眼鏡型のウェアラブルコンピューターとして機能する態様）、（ｉｖ）制御部の代わりにスマートフォンや携帯型ゲーム機を使用する態様、（ｖ）制御部と画像表示部とを無線ＬＡＮや赤外線通信やＢｌｕｅｔｏｏｔｈ等の無線の信号伝送路を介した接続により接続し、接続部（コード）を廃した態様。なお、この場合において、制御部または画像表示部に対する給電をワイヤレスにより実施してもよい。
【０１１８】
例えば、上記実施形態で例示した制御部、画像表示部の構成は任意に変更することができる。具体的には、例えば、上記実施形態では、制御部が送信部を備え、画像表示部が受信部を備えるものとしたが、送信部および受信部はいずれも、双方向通信が可能な機能を備えており、送受信部として機能してもよい。また、例えば、制御部が備えるとした操作用インターフェイス（各種キーやトラックパッド等）の一部を省略してもよい。また、制御部に操作用スティック等の他の操作用インターフェイスを備えてもよい。また、制御部にはキーボードやマウス等のデバイスを接続可能な構成として、キーボードやマウスから入力を受け付けるものとしてもよい。例えば、電源として二次電池を用いることしたが、電源としては二次電池に限らず、種々の電池を使用することができる。例えば、一次電池や、燃料電池、太陽電池、熱電池等を使用してもよい。
【０１１９】
図１４は、変形例におけるＨＭＤの外観の構成を示す説明図である。図１４（Ａ）の例の場合、画像表示部２０ｘは、右光学像表示部２６に代えて右光学像表示部２６ｘを備え、左光学像表示部２８に代えて左光学像表示部２８ｘを備えている。右光学像表示部２６ｘと左光学像表示部２８ｘとは、上記実施形態の光学部材よりも小さく形成され、ＨＭＤの装着時における利用者の右眼および左眼の斜め上にそれぞれ配置されている。図１４（Ｂ）の例の場合、画像表示部２０ｙは、右光学像表示部２６に代えて右光学像表示部２６ｙを備え、左光学像表示部２８に代えて左光学像表示部２８ｙを備えている。右光学像表示部２６ｙと左光学像表示部２８ｙとは、上記実施形態の光学部材よりも小さく形成され、ＨＭＤの装着時における利用者の右眼および左眼の斜め下にそれぞれ配置されている。このように、光学像表示部は利用者の眼の近傍に配置されていれば足りる。また、光学像表示部を形成する光学部材の大きさも任意であり、光学像表示部が利用者の眼の一部分のみを覆う態様、換言すれば、光学像表示部が利用者の眼を完全に覆わない態様のＨＭＤとして実現することもできる。
【０１２０】
例えば、制御部が備えるとした各処理部（例えば画像処理部、表示制御部等）は、ＣＰＵがＲＯＭやハードディスクに格納されているコンピュータープログラムをＲＡＭに展開して実行することにより実現されるものとして記載した。しかし、これら機能部は、当該機能を実現するために設計されたＡＳＩＣ（Application Specific Integrated Circuit：特定用途向け集積回路）を用いて構成されてもよい。
【０１２１】
例えば、ＨＭＤは、両眼タイプの透過型ＨＭＤであるものとしたが、単眼タイプのＨＭＤとしてもよい。また、利用者がＨＭＤを装着した状態において外景の透過が遮断される非透過型ＨＭＤとして構成してもよいし、非透過型ＨＭＤにカメラを搭載したビデオシースルーとして構成してもよい。また、例えば、画像表示部として、眼鏡のように装着する画像表示部に代えて、通常の平面型ディスプレイ装置（液晶ディスプレイ装置、プラズマディスプレイ装置、有機ＥＬディスプレイ装置等）を採用してもよい。この場合にも、制御部と画像表示部との間の接続は、有線の信号伝送路を介した接続であってもよいし、無線の信号伝送路を介した接続であってもよい。このようにすれば、制御部を、通常の平面型ディスプレイ装置のリモコンとして利用することもできる。また、例えば、画像表示部として、眼鏡のように装着する画像表示部に代えて、例えば帽子のように装着する画像表示部といった他の形状の画像表示部を採用してもよい。また、イヤホンは耳掛け型やヘッドバンド型を採用してもよく、省略しても良い。また、例えば、自動車や飛行機等の車両、またはその他の交通手段に搭載されるヘッドアップディスプレイ（ＨＵＤ、Head-Up Display）として構成されてもよい。また、例えば、ヘルメット等の身体防護具に内蔵されたＨＭＤとして構成されてもよい。
【０１２２】
例えば、上記実施形態では、画像光生成部は、バックライトと、バックライト制御部と、ＬＣＤと、ＬＣＤ制御部とを用いて構成されるものとした。しかし、上記の態様はあくまで例示である。画像光生成部は、これらの構成部と共に、またはこれらの構成部に代えて、他の方式を実現するための構成部を備えていても良い。例えば、画像光生成部は、有機ＥＬ（有機エレクトロルミネッセンス、Organic Electro-Luminescence）のディスプレイと、有機ＥＬ制御部とを備える構成としても良い。また、例えば、画像生成部は、ＬＣＤに代えてデジタル・マイクロミラー・デバイス等を用いることもできる。また、例えば、レーザー網膜投影型の頭部装着型表示装置に対して本発明を適用することも可能である。
【０１２３】
・変形例２：
上記実施形態では、プラットフォームの構成について例示した。しかし、プラットフォームの構成は、本発明の要旨を逸脱しない範囲において任意に定めることが可能であり、例えば、各構成部の追加・削除・変換等を行うことができる。
【０１２４】
例えば、ライブラリー層５３０に含まれている各ライブラリーソフトウェアが、それぞれ、認証部ライブラリーと、変更部ライブラリーとの機能を有していてもよい。この場合、図５に示したような独立した認証部ライブラリーと変更部ライブラリーとは省略可能である。
【０１２５】
例えば、ライブラリー層５３０には、認証部ライブラリーと変更部ライブラリーとの機能を統合した１つのライブラリーソフトウェアが含まれる構成としてもよい。この場合も、図５に示したような独立した認証部ライブラリーと変更部ライブラリーとは省略可能である。
【０１２６】
・変形例３：
上記実施形態では、変更処理と認証処理との一例を示した。しかし、上記実施形態において示した処理の手順はあくまで一例であり、種々の変形が可能である。例えば、一部のステップを省略してもよいし、更なる他のステップを追加してもよい。また、実行されるステップの順序を変更してもよい。
【０１２７】
例えば、変更処理において変更部は、アプリケーション層５１０に含まれている一部のアプリに対してのみ、変更処理を実施、または、変更処理の対象外としてもよい。具体的には、アプリに優先度を設定して、変更部は、アプリの優先度が所定値よりも高いか低いかに応じて、当該アプリが変更処理の実施対象であるか否かを決定してもよい。例えば、変更部は、アプリがＨＭＤに予めインストールされていたか否かに応じて、当該アプリが変更処理の実施対象であるか否かを決定してもよい。例えば、アプリに種類を設定して、変更部は、アプリが所定の種類に該当するか否かに応じて、当該アプリが変更処理の実施対象であるか否かを決定してもよい。例えば、変更部は、アプリが予め記憶されているパターンファイルに一致するか否かに応じて、当該アプリが変更処理の実施対象であるか否かを決定してもよい。
【０１２８】
例えば、変更処理において変更部は、要求元アプリから自発的にアプリ名と、鍵とが送信されなかった場合に、要求元アプリに対してアプリ名と鍵とを送信するように要求してもよい。
【０１２９】
例えば、変更処理において変更部は、標準ライブラリーと特別ライブラリーとを使い分けることによって、要求元アプリによるハードウェア資源の使用可能な程度を変更した。しかし、変更部は、ライブラリーを使い分けると共に、または、ライブラリーを使い分けることに代えて、ＨＭＤに組み込まれている複数のハードウェア資源について、１つのハードウェア資源を単独で使用するか、複数のハードウェア資源を組み合わせて使用するか、を変更することで、要求元アプリによるハードウェア資源の使用可能な程度を変更してもよい。例えば、ＧＰＳモジュールのＧＰＳ分解能が１ｍだとした場合、ＧＰＳモジュールと変位センサーとを組み合わせることで、ＧＰＳ分解能を１０ｃｍまで向上させることができる。変更部は、認証に成功した場合には、要求元アプリにＧＰＳモジュールと変位センサーとを組み合わせて使用することを可能とし、認証に失敗した場合には、要求元アプリにＧＰＳモジュールだけを使用することを可能としてもよい。
【０１３０】
例えば、認証処理において認証部は、アプリ名と特定情報とを用いたハッシュ演算に代えて、要求元アプリから受信したアプリ名が、認証部に予め記憶されている「許可アプリ名のリスト」にあるか否か、という方法を用いて、要求元アプリの正当性を認証してもよい。
【０１３１】
例えば、認証処理において認証部は、ハッシュ演算以外の既知の認証方法（例えば、ＤＥＳ（Data Encryption Standard）、ＡＥＳ（Advanced Encryption Standard）等）を利用して、要求元アプリの正当性を認証してもよい。
【０１３２】
例えば、ＨＭＤに組み込まれているハードウェア資源に応じて、または、要求元アプリが発行しようとする関数に応じて、図６で説明した変更処理と、図７で説明した変形１における変更処理と、図８で説明した変形２における変更処理と、図９で説明した変形３における変更処理と、変形４における変更処理と、を使い分けてもよい。
【０１３３】
・変形例４：
本発明は、上述の実施形態や実施例、変形例に限られるものではなく、その趣旨を逸脱しない範囲において種々の構成で実現することができる。例えば、発明の概要の欄に記載した各形態中の技術的特徴に対応する実施形態、実施例、変形例中の技術的特徴は、上述の課題の一部または全部を解決するために、あるいは、上述の効果の一部または全部を達成するために、適宜、差し替えや組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
【符号の説明】
【０１３４】
１０…制御部
１１…決定キー
１２…点灯部
１３…表示切替キー
１４…トラックパッド
１５…輝度切替キー
１６…方向キー
１７…メニューキー
１８…電源スイッチ
２０…画像表示部
２１…右保持部
２２…右表示駆動部
２３…左保持部
２４…左表示駆動部
２６…右光学像表示部
２８…左光学像表示部
３０…イヤホンプラグ
３２…右イヤホン
３４…左イヤホン
４０…接続部
４２…右コード
４４…左コード
４６…連結部材
４８…本体コード
５１…送信部
５２…送信部
５３…受信部
５４…受信部
６１…カメラ
６６…９軸センサー
１１０…入力情報取得部
１００…ＨＭＤ（情報処理装置）
１２０…記憶部
１２２…画像設定
１２４…元画像ファイル
１２６…連動動作設定
１２８…アイコン情報
１３０…電源
１３２…無線通信部
１４０…ＣＰＵ
１６０…画像処理部
１７０…音声処理部
１８０…インターフェイス
１９０…表示制御部
２０１…右バックライト制御部
２０２…左バックライト制御部
２１１…右ＬＣＤ制御部
２１２…左ＬＣＤ制御部
２２１…右バックライト
２２２…左バックライト
２４１…右ＬＣＤ
２４２…左ＬＣＤ
２５１…右投写光学系
２５２…左投写光学系
２６１…右導光板
２６２…左導光板
５００…プラットフォーム
５１０…アプリケーション層
５１１…要求元アプリ、ホームアプリ
５１１ｋ…鍵
５１１ｎ…アプリ名
５１２…画像処理部アプリ
５１３…表示制御部アプリ
５１４…音声処理部アプリ
５１５…ゲームアプリ
５１６…カメラアプリ
５２０…フレームワーク層
５３０…ライブラリー層
５３１…認証部ライブラリー（認証部）
５３１ｓ…認証情報
５３２…変更部ライブラリー（変更部）
５３３…ディスプレイライブラリー
５３４…オーディオライブラリー
５３５…センサーライブラリー
５３６…カメラライブラリー
５３７…ライブラリー
５４０…カーネル層
５４２…音声ＩＣドライバー
５４３…センサードライバー
５４４…画像センサードライバー
５５０…ハードウェア層（ハードウェア資源）
５５２…音声ＩＣデバイス
５５３…センサーデバイス
５５４…画像センサーデバイス
６００…ＰＣ（クライアント装置）
７００…ＳＤＫ提供サーバー（サーバー装置）
７１０…ＣＰＵ
７１２…鍵生成部
７１４…提供部
７１６…送受信部
７４０…通信インターフェイス
７５０…記憶部
７５２…鍵テーブル
７５６…認証情報
８００…アプリ提供サーバー
ＰＣＬＫ…クロック信号
ＶＳｙｎｃ…垂直同期信号
ＨＳｙｎｃ…水平同期信号
Ｄａｔａ…画像データー
Ｄａｔａ１…右眼用画像データー
Ｄａｔａ２…左眼用画像データー
ＯＡ…外部機器
ＰＣ…パーソナルコンピューター
ＳＣ…外景
ＶＩ…虚像
ＶＲ…視野
ＲＥ…右眼
ＬＥ…左眼
ＥＲ…端部
ＥＬ…端部
【図１】
0006561436.tif 000002
【図２】
0006561436.tif 000003
【図３】
0006561436.tif 000004
【図４】
0006561436.tif 000005
【図５】
0006561436.tif 000006
【図６】
0006561436.tif 000007
【図７】
0006561436.tif 000008
【図８】
0006561436.tif 000009
【図９】
0006561436.tif 000010
【図１０】
0006561436.tif 000011
【図１１】
0006561436.tif 000012
【図１２】
0006561436.tif 000013
【図１３】
0006561436.tif 000014
【図１４】
0006561436.tif 000015