(57)【要約】【課題】  アプリケーションプログラムごとに適した操作部を用いて、利用者が利用可能な電子機器を提供する。【解決手段】  この電子機器は、記憶手段、画像投影手段、キー選択検知手段、アプリケーションプログラム実行管理手段及び表示制御手段を有する。画像投影手段は、記憶手段に記憶された画像データに基づいてキー配列画像を投影する。キー選択検知手段は、投影されたキー配列画像上のどのキーが選択されたかを検知する。アプリケーションプログラム実行管理手段は、選択されたアプリケーションプログラムを実行するとともに、そのアプリケーションプログラムの内容に従ってキー配列画像選択命令を生成する。表示制御手段は、そのキー配列画像選択命令に基づき、記憶手段に記憶された複数の画像データの中から１つの画像データを選択し、選択した画像データのキー配列画像を画像投影手段により投影させる。【選択図】  図１
2005250549.tif 000002
【特許請求の範囲】
【請求項１】
複数種類の仮想的なキー配列画像それぞれに対応した複数の画像データを記憶する記憶手段と、
該記憶手段に記憶された画像データに基づいて該キー配列画像を投影するための画像投影手段と、
該画像投影手段により投影されたキー配列画像上のどのキーが選択されたかを検知するキー選択検知手段とを備えた電子機器であって、
複数のアプリケーションプログラムの中から選択されたアプリケーションプログラムを実行するアプリケーションプログラム実行管理手段と、
該選択されたアプリケーションプログラムの内容に従って、キー配列画像選択命令を生成する命令生成手段と、
該命令生成手段で生成されたキー配列画像選択命令に基づき、上記記憶手段に記憶された複数の画像データの中から１つの画像データを選択し、選択した画像データのキー配列画像を上記画像投影手段により投影させる表示制御手段とを有し、
該アプリケーションプログラム実行管理手段は、該選択されたアプリケーションプログラムの実行中、該アプリケーションプログラムの内容に従い、上記キー選択検知手段により検知されたキーに対応するデータ処理を行うことを特徴とする電子機器。
【請求項２】
仮想的なキー配列画像を投影するための画像投影手段と、
該画像投影手段により投影されたキー配列画像上のどのキーが選択されたかを検知するキー選択検知手段とを備えた電子機器において、
複数のアプリケーションプログラムの中から選択されたアプリケーションプログラムを実行し、該アプリケーションプログラムの内容に従って上記キー選択検知手段により検知されたキーに対応するデータ処理を行うアプリケーションプログラム実行管理手段と、
該選択されたアプリケーションプログラムの内容に含まれる上記キー配列画像の画像データを読み出すデータ読出手段と、
該データ読出手段により読み出した画像データに基づくキー配列画像を、該選択されたアプリケーションプログラムの実行の際に、上記画像投影手段により投影させる表示制御手段とを有することを特徴とする電子機器。
【請求項３】
複数種類の仮想的なキー配列画像それぞれに対応した複数の画像データを記憶する記憶手段と、該記憶手段に記憶された画像データに基づいて該キー配列画像を投影するための画像投影手段と、該画像投影手段により投影されたキー配列画像上のどのキーが選択されたかを検知するキー選択検知手段と、該記憶手段に記憶された複数の画像データの中から１つの画像データを選択し、選択した画像データのキー配列画像を該画像投影手段により投影させる表示制御手段とを備えた電子機器に設けられるコンピュータを機能させるためのアプリケーションプログラムであって、
上記記憶手段に記憶された複数の画像データの中から上記画像投影手段に投影させるキー配列画像の画像データを上記表示制御手段に選択させるためのキー配列画像選択命令を生成する命令生成手段、及び、上記キー選択検知手段により検知されたキーに対応するデータ処理を行うデータ処理手段として、上記コンピュータを機能させることを特徴とするアプリケーションプログラム。
【請求項４】
仮想的なキー配列画像を投影するための画像投影手段と、該画像投影手段により投影されたキー配列画像上のどのキーが選択されたかを検知するキー選択検知手段と、複数のアプリケーションプログラムの中から選択されたアプリケーションプログラムを実行するアプリケーションプログラム実行管理手段と、該選択されたアプリケーションプログラムの内容に含まれる該キー配列画像の画像データを読み出すデータ読出手段と、該データ読出手段により読み出した画像データに基づくキー配列画像を、該選択されたアプリケーションプログラムの実行の際に、上記画像投影手段により投影させる表示制御手段とを有する電子機器に設けられるコンピュータを機能させるためのアプリケーションプログラムであって、
上記データ読出手段により読み出される上記キー配列画像の画像データを含んでおり、
上記キー選択検知手段により検知されたキーに対応するデータ処理を行うデータ処理手段として、上記コンピュータを機能させることを特徴とするアプリケーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字情報の入力、ゲーム等の各種アプリケーションの制御、音や画像の出力などのための所定のデータ処理を実行可能な個人用携帯型の情報端末（ＰＤＡ）あるいは携帯電話機等の移動体通信端末などの電子機器及びアプリケーションプログラムに関するものである。
【背景技術】
【０００２】
従来、この種の電子機器として、コンピュータ用の仮想的なキーボードの画像を投影する投影手段と、その仮想的なキーボード上でどのキーが選択されたかを検知する検知手段とを備えたＰＤＡが知られている（例えば、特許文献１、２及び３参照）。この情報端末では、例えば白い紙のように平らで明るい投影面上に、仮想的なキーボード画像を投影する。利用者は、投影面上に投影された仮想キーボードの仮想キーを指で打鍵したりポインター等の部材で指し示したりする動作によりキーを選択する。このキーを選択する動作は、レーザセンサ等からなる検知手段で検知され、実際のコンピュータ用の物理的なキーボード上のキーをあたかも打鍵したかのようにキー入力を行うことができる。
【０００３】
また、従来の電子機器の中には、プラットフォームに依存しないオブジェクト指向のプログラミング言語で記述されたアプリケーションプログラムを実行可能な移動体通信端末がある。例えば、ＪＡＶＡ（サンマイクロシステムズ社の登録商標。以下同様。）仮想マシン機能を実装し、ＪＡＶＡで記述されたアプリケーションプログラムを実行できるようにした携帯電話機が知られている（特許文献４参照）。このような携帯電話機では、所定のサーバからダウンロードするなどして取得した様々なアプリケーションプログラムを利用することが可能である。また、ＢＲＥＷ（クアルコム社の登録商標。以下同様。）のアプリケーション実行環境上で動作するアプリケーションプログラムなどについても、同様である。このようなアプリケーションプログラムを用いれば、携帯電話機を、ワードプロセッサ（ワープロ）、電子楽器、ゲーム機等の様々な用途に利用することが可能となる。
【０００４】
【特許文献１】特開２０００−８９８９９号公報
【特許文献２】米国特許第６，６１４，４２２号明細書
【特許文献３】特開２００３−１５２８５１号公報
【特許文献４】特開２０００−３４７８６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところが、移動体通信端末を利用者の使い勝手よく様々な用途に利用するためには、利用者が操作する操作部としては、移動体通信端末に設けられている物理的な操作部（テンキー等）では不十分である。なぜなら、利用者の使い勝手がよい操作部に求められるキー配列は、個々の用途に応じてそれぞれ異なるものだからである。例えば、移動体通信端末をワープロとして利用する場合、その操作部が、パーソナルコンピュータ（パソコン）で通常使用されるキーボードと同様の操作が可能なものであれば、利用者の使い勝手が向上する。また、移動体通信端末をゲーム機として利用する場合、その操作部が、一般のゲーム機のコントローラと同様の操作が可能なものであれば、利用者の使い勝手が向上する。
なお、移動体通信端末に限らず、様々なアプリケーションプログラムを実行可能なＰＤＡなどの他の電子機器についても、同様である。
【０００６】
本発明は、以上の背景に鑑みてなされたものであり、その目的とするところは、電子機器を様々な用途で利用可能にするアプリケーションプログラムごとに適した操作部を用いて、利用者がアプリケーションプログラムを利用することを可能にする電子機器及びアプリケーションプログラムを提供することである。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、請求項１の発明は、複数種類の仮想的なキー配列画像それぞれに対応した複数の画像データを記憶する記憶手段と、該記憶手段に記憶された画像データに基づいて該キー配列画像を投影するための画像投影手段と、該画像投影手段により投影されたキー配列画像上のどのキーが選択されたかを検知するキー選択検知手段とを備えた電子機器であって、複数のアプリケーションプログラムの中から選択されたアプリケーションプログラムを実行するアプリケーションプログラム実行管理手段と、該選択されたアプリケーションプログラムの内容に従って、キー配列画像選択命令を生成する命令生成手段と、該命令生成手段で生成されたキー配列画像選択命令に基づき、上記記憶手段に記憶された複数の画像データの中から１つの画像データを選択し、選択した画像データのキー配列画像を上記画像投影手段により投影させる表示制御手段とを有し、該アプリケーションプログラム実行管理手段は、該選択されたアプリケーションプログラムの実行中、該アプリケーションプログラムの内容に従い、上記キー選択検知手段により検知されたキーに対応するデータ処理を行うことを特徴とするものである。
この電子機器においては、複数のアプリケーションプログラムの中から、選択的にアプリケーションプログラムが実行される。そして、投影されたキー配列画像に対して利用者が操作することにより、実行されたアプリケーションプログラムの内容に従ったデータ処理が行われる。本電子機器において、利用者が操作するキー配列画像は、記憶手段に記憶されている複数種類のキー配列画像の中から、選択的に実行されるアプリケーションプログラムの内容に従って選択される。よって、利用者は、アプリケーションプログラムを使用する場合、そのアプリケーションプログラムに適したキー配列がなされたキー配列画像に対して操作を行うことが可能となる。
また、本電子機器においては、アプリケーションプログラムの内容に従ってキー配列画像選択命令が生成され、この命令に基づいて画像投影手段により投影させるキー配列画像が選択される。そして、本電子機器においては、未開発のアプリケーションプログラムに適すると予想される複数種類のキー配列画像を予め記憶手段に記憶しておくことができる。よって、アプリケーションプログラムの開発元は、新たなアプリケーションプログラムを開発する際、これに適したキー配列画像を選択するためのキー配列画像選択命令をそのアプリケーションプログラムの内容に付加すれば、キー配列画像を新たに独自で開発する必要がなくなる。その結果、アプリケーションプログラムの開発負担の増大を防ぐことが可能となる。
【０００８】
また、請求項２の発明は、仮想的なキー配列画像を投影するための画像投影手段と、該画像投影手段により投影されたキー配列画像上のどのキーが選択されたかを検知するキー選択検知手段とを備えた電子機器において、複数のアプリケーションプログラムの中から選択されたアプリケーションプログラムを実行し、該アプリケーションプログラムの内容に従って上記キー選択検知手段により検知されたキーに対応するデータ処理を行うアプリケーションプログラム実行管理手段と、該選択されたアプリケーションプログラムの内容に含まれる上記キー配列画像の画像データを読み出すデータ読出手段と、該データ読出手段により読み出した画像データに基づくキー配列画像を、該選択されたアプリケーションプログラムの実行の際に、上記画像投影手段により投影させる表示制御手段とを有することを特徴とするものである。
上記請求項１の電子機器において、利用者がアプリケーションプログラムに適したキー配列画像に対して操作を行うためには、そのアプリケーションプログラムに適したキー配列画像を予め取得し、これを記憶手段に記憶しておくという前処理が必要となる。この前処理が利用者にとって不便なものであると、当該電子機器の利便性が悪くなる。本請求項２の電子機器において、利用者が操作するキー配列画像は、そのアプリケーションプログラムに含まれている画像データに基づくものである。よって、そのキー配列画像の画像データは、これに対応するアプリケーションプログラムの取得の際に一緒に取得することができる。なお、アプリケーションプログラムの内容に含まれるキー配列画像の画像データは、アプリケーションプログラムの取得の際に一緒に取得されるものであればよく、アプリケーションプログラムのプログラム内部に組み込まれたものであっても、アプリケーションプログラムに付加された別のデータであってもよい。
【０００９】
また、請求項３の発明は、複数種類の仮想的なキー配列画像それぞれに対応した複数の画像データを記憶する記憶手段と、該記憶手段に記憶された画像データに基づいて該キー配列画像を投影するための画像投影手段と、該画像投影手段により投影されたキー配列画像上のどのキーが選択されたかを検知するキー選択検知手段と、該記憶手段に記憶された複数の画像データの中から１つの画像データを選択し、選択した画像データのキー配列画像を該画像投影手段により投影させる表示制御手段とを備えた電子機器に設けられるコンピュータを機能させるためのアプリケーションプログラムであって、上記記憶手段に記憶された複数の画像データの中から上記画像投影手段に投影させるキー配列画像の画像データを上記表示制御手段に選択させるためのキー配列画像選択命令を生成する命令生成手段、及び、上記キー選択検知手段により検知されたキーに対応するデータ処理を行うデータ処理手段として、上記コンピュータを機能させることを特徴とするものである。
このアプリケーションプログラムは、電子機器のコンピュータに、上記請求項１の電子機器が有する命令生成手段及びアプリケーションプログラム実行管理手段と同様の処理を実行させることができる。よって、本アプリケーションプログラムが電子機器において実行されることで、利用者は、当該アプリケーションプログラムに適したキー配列がなされたキー配列画像に対して操作を行うことが可能となる。また、本アプリケーションプログラムによれば、その開発元は、その開発にあたり、これに適したキー配列画像を選択するためのキー配列画像選択命令をそのアプリケーションプログラムの内容に付加するだけで、電子機器の記憶手段に記憶されているキー配列画像を利用することができる。よって、本アプリケーションプログラムに適したキー配列画像が予め記憶手段に記憶されていれば、キー配列画像を新たに独自で開発する必要がなくなり、開発負担の増大を防ぐことができる。
【００１０】
また、請求項４の発明は、仮想的なキー配列画像を投影するための画像投影手段と、該画像投影手段により投影されたキー配列画像上のどのキーが選択されたかを検知するキー選択検知手段と、複数のアプリケーションプログラムの中から選択されたアプリケーションプログラムを実行するアプリケーションプログラム実行管理手段と、該選択されたアプリケーションプログラムの内容に含まれる該キー配列画像の画像データを読み出すデータ読出手段と、該データ読出手段により読み出した画像データに基づくキー配列画像を、該選択されたアプリケーションプログラムの実行の際に、上記画像投影手段により投影させる表示制御手段とを有する電子機器に設けられるコンピュータを機能させるためのアプリケーションプログラムであって、上記データ読出手段により読み出される上記キー配列画像の画像データを含んでおり、上記キー選択検知手段により検知されたキーに対応するデータ処理を行うデータ処理手段として、上記コンピュータを機能させることを特徴とするものである。
このアプリケーションプログラムは、電子機器のコンピュータに、請求項２の電子機器が有するアプリケーションプログラム実行管理手段と同様の処理を実行させることができる。そして、本アプリケーションプログラムは、キー配列画像の画像データを含んでいるので、これをデータ読出手段で読み出し、その画像データに基づくキー配列画像を表示制御手段により画像投影手段で投影することが可能である。よって、本アプリケーションプログラムが電子機器に取得される際には、その電子機器で本アプリケーションプログラムを実行する際に用いるキー配列画像の画像データも一緒に、取得することができる。なお、アプリケーションプログラムの内容に含まれるキー配列画像の画像データは、アプリケーションプログラムの取得の際に一緒に取得されるものであればよく、アプリケーションプログラムのプログラム内部に組み込まれたものであっても、アプリケーションプログラムに付加された別のデータであってもよい。
【００１１】
なお、上記「キー配列画像」とは、電子機器に対して利用者がデータ入力や動作制御のための操作に使用する複数のキーが配列された仮想的な画像であり、投影面上に投影される２次元的な画像であってもいいし、あたかも３次元空間の中にキーが存在するように視認されるホログラフィー技術等によって３次元空間に投影される３次元的な画像であってもよい。また、この「キー配列画像」としては、パソコンで通常使用されるキーボードと同じようなキー配列を有する仮想的なキー配列画像、ピアノ等の楽器などの鍵盤と同じようなキー配列を有する仮想的なキー配列画像、ゲーム装置で使用されるコントローラと同じようなキー配列を有する仮想的なキー配列画像などがある。
また、上記「電子機器」には、移動体通信端末のほか、携帯型情報端末（ＰＤＡ：Personal Digital Assistance）やゲーム機等も含まれる。
また、上記「移動体通信端末」には、ＰＤＣ（Personal Digital Cellular）方式、ＧＳＭ（Global System for Mobile Communication）方式、ＴＩＡ（Telecommunications Industry Association）方式等の携帯電話機、ＩＭＴ（International Mobile Telecommunications）−２０００で標準化された携帯電話機が含まれる。また、「移動体通信端末」には、ＰＨＳ（Personal Handyphone Service）、自動車電話等の電話機のほか、携帯電話モジュールを付加した携帯型電子機器等も含まれる。
また、上記電子機器における制御は、それらに設けられたコンピュータで所定のプログラムを実行することによって実現することもできる。また、このコンピュータで用いるプログラム（請求項３及び４のアプリケーションプログラムを含む。）の受け渡しは、デジタル情報としてプログラムを記録したＦＤ，ＣＤ−ＲＯＭ等の記録媒体を用いて行なってもいいし、コンピュータネットワーク等の通信ネットワークを用いて行なってもよい。
【発明の効果】
【００１２】
請求項１乃至４の発明によれば、電子機器を様々な用途で利用可能にするアプリケーションプログラムごとに適した操作部を用いて、利用者がアプリケーションプログラムを利用することが可能となるという優れた効果が奏される。
特に、請求項１及び３の発明によれば、上記効果を得るためにアプリケーションプログラムの開発負担が増大するのを防ぐことも可能であるという優れた効果も奏される。
また、請求項２及び４の発明によれば、電子機器を様々な用途で利用可能にするアプリケーションプログラムごとに適した操作部となる各キー配列画像の取得が容易となるという優れた効果が奏される。加えて、請求項２及び４の発明によれば、各アプリケーションプログラムに対応する各キー配列画像はそれぞれ対応するアプリケーションプログラムと一緒に提供されることになる。よって、すべてのキー配列画像は、個々のアプリケーションプログラムに最適化された専用のキー配列がなされたものとすることができる。したがって、利用者は、アプリケーションプログラムを利用するにあたり、最適な操作部を操作することができるので、使い勝手がよくなるという優れた効果も奏される。
【発明を実施するための最良の形態】
【００１３】
〔実施形態１〕
以下、本発明の実施の形態（以下、本実施形態を「実施形態１」という。）を、図面を参照しながら説明する。
まず、本実施形態１に係る電子機器としての移動体通信端末である携帯電話機の全体構成について説明する。
図２は、本実施形態１に係る携帯電話機の概略構成の一例を示すブロック図である。
この携帯電話機の本体部分１００は、表示制御手段としての主制御部１１１、記憶手段としての内部メモリ１１２、通信手段としての無線通信部１１３及びアンテナ１１４を備えている。また、主制御部１１１には、音声処理部１１５を介してマイク１１６及びスピーカ１１７が接続され、画像処理部１１８を介して画像表示部１１９が接続され、更に携帯電話機本体に設けられているキー操作部１２０が接続されている。
また、本実施形態１の携帯電話機は、利用者が視認可能な外部投影面（以下、単に「投影面」という）２００に画像を投影するための画像投影手段としての画像投影部１３０と、人物や風景などの画像を撮像する撮像手段としてのカメラ部１４０とを備えている。さらに、同携帯電話機は、利用者が操作可能な投影面２００に投影された仮想的なキー配列画像上のどのキーが選択されたかを検知するキー選択検知手段としてのキー選択検知部１８０を備えている。画像投影部１３０及びキー選択検知部１８０の詳しい構成及び動作については後述する。
【００１４】
上記主制御部１１１は例えばＣＰＵ、キャッシュメモリ、システムバス等で構成され、所定の制御プログラムを実行することにより内部メモリ１１２や無線通信部１１３等の各部との間でデータの送受信を行ったり各部を制御したりする。また、主制御部１１１は、画像投影部１３０による画像投影やキー選択検知部１８０によるキー選択検知を制御する制御手段としても用いられる。更に、主制御部１１１は、キー選択検知部１８０から出力されるキー選択データに基づいて、その選択されたキーに対応する所定のデータ処理を実行するデータ処理手段としても用いられる。このデータ処理としては、例えば選択されたキーに対応する文字データをディスプレイに表示したり内部メモリに記憶したりするデータ処理や、ゲーム等のアプリケーションプログラムの実行内容を変化させたりするデータ処理が挙げられる。
【００１５】
上記内部メモリ１１２は例えばＲＡＭやＲＯＭなどの半導体メモリで構成され、主制御部１１１で実行する制御プログラムや各種データを記憶するものである。また、この内部メモリ１１２は、情報提供サイトなどからダウンロードした画像、音楽、プログラム等のコンテンツデータを記憶するコンテンツデータ記憶手段としても用いられる。更に、この内部メモリ１１２は、スピーカ１１７から出力する音のデータ、画像表示部１１９に表示する画像データ、画像投影部１３０で投影する画像データ、キー選択検知部１８０で検知したキー選択データを記憶するデータ記憶手段としても用いられる。
【００１６】
上記無線通信部１１３は主制御部１１１で制御され、アンテナ１１４を介して、所定の通信方式により通信ネットワークとしての携帯電話通信網の基地局との間で無線通信を行うものである。この無線通信により、特定の携帯電話機等との間で音声電話通信を行ったり、電子メールの送受信や情報提供サイトからのコンテンツダウンロード等のデータ通信を行ったりすることができる。
【００１７】
上記音声処理部１１５は、マイクロフォン１１６から入力された送話音声信号を所定方式で符号化して主制御部１１１に送る。また、この音声処理部１１５は、無線通信部１１３で受信した受話音声信号を復号化してスピーカ１１７から出力する。更に、この音声処理部１１５は、内部メモリ１１２に記憶されている着信メロディやアプリケーションプログラムで用いる効果音等の音信号をスピーカ１１７から出力する。音を出力する音出力手段は、音声処理部１１５及びスピーカ１１７を用いて構成されている。
【００１８】
上記画像処理部１１８は、無線通信部１１３で受信した画像データや、内部メモリ１１２に記憶されているアイコンやメニュー、着信通知画像等の画像データを処理し、液晶ディスプレイ（ＬＣＤ）等からなる画像表示部１１９に表示させる。
【００１９】
上記キー操作部１２０は、データ入力キー（テンキー、＊キー、＃キー）、通話開始キー、終話キー、スクロールキー、多機能キー等を備え、電話の発信や着信のほか、表示部１１９に表示される情報のスクロールや選択等に用いる。
また、このキー操作部１２０は、キー選択検知部１８０が有する複数のキー選択検知機能の少なくとも１つを指定するための指定手段としても用いられる。
【００２０】
また、本実施形態１の携帯電話機１００は、プラットフォームに依存しないオブジェクト指向プログラミングによって開発されたアプリケーションプログラムを実行可能に構成されている。具体的には、上記キー選択検知部１８０によるキー選択検知動作や、画像投影部１３０の起動及びその画像投影部１３０によるキー配列画像の投影動作は、アプリケーションプログラムからの指令に基づいて実行される。このアプリケーションプログラムとしては、ＪＡＶＡ（登録商標）、Ｃ、Ｃ＋＋等のプログラム言語で記述されたアプリケーションプログラムなどが挙げられる。また、これらのアプリケーションプログラムの実行環境は、ＪＡＶＡ（登録商標）のＶＭやＢＲＥＷ（登録商標）等のミドルウェアによって構築される。このアプリケーションプログラムは、携帯電話機１００にプレインストールされているものであってもいいし、通信ネットワークとしての携帯電話通信網を介してダウンロードサーバからダウンロードし携帯電話機１００に保存して登録したものでもよい。
【００２１】
図３は、その携帯電話機におけるソフトウェア構造の一例を示す説明図である。
本携帯電話機は、アプリケーションプログラムの実行環境を管理するアプリケーションプログラム実行管理手段としてのアプリケーションプログラム実行管理部１２５を備えている。このアプリケーションプログラム実行管理部１２５は、システムバス、ＣＰＵやＲＡＭ等で構成され、アプリケーションプログラムを実行するための所定のミドルウェアにしたがって動作する。アプリケーションプログラム実行管理部１２５は、図３のソフトウェア構造上において中央の「プログラム実行環境」に対応しており、オブジェクト指向プログラミングで開発されたアプリケーションプログラムに利用されるクラスライブラリ、実行環境管理ライブラリ、アプリケーション管理等のソフトウェアを提供し、アプリケーションプログラムの実行環境を管理する。
ここで、アプリケーションプログラムは、クラスライブラリＡＰＩ（アプリケーションインターフェース）を介して上記プログラム実行環境内にある関数等のクラスライブラリを呼び出して使用できるようになっている。この関数等のクラスライブラリの呼び出しの履歴は、アプリケーションプログラムの仮想的な実行環境（仮想マシン：ＶＭ）が終了するまで保持される。また、プログラム実行環境内の実行環境管理ライブラリは、電話機プラットフォームＡＰＩを介して後述の電話機プラットフォーム内の電話機プラットフォームライブラリを呼び出して使用できるようになっている。
上記画像投影及びキー選択検知の制御は、アプリケーションプログラム実行管理部１２５から主制御部１１１を介して画像投影部１３０やキー選択検知部１８０に制御指令を送ることによって実行する。なお、アプリケーションプログラム実行管理部１２５から画像投影部１３０やキー選択検知部１８０に制御指令を直接送ることによって実行するように構成してもよい。
【００２２】
図４は、上記画像投影部１３０の一構成例を示すブロック図である。
この画像投影部１３０はビーム光源１３１と光学スキャナー１３２とそれらを駆動するための駆動制御部１３３とを用いて構成されている。ビーム光源１３１としては、ＬＤ（半導体レーザ）やＬＥＤ（発光ダイオード）等を用いることができる。ビーム光源１３１から出射されるビーム光の強度は、主制御部１１１から送られてきた制御データに基づいて駆動制御部１３３により制御される。光学スキャナー１３２は、ビーム光源１３１から発したビーム光を２次元的に走査しながら投影面２００に投射する光学装置である。光学スキャナー１３２によるビーム光の走査は、ビーム光源１３１と同様に駆動制御部１３３により駆動制御される。この光学スキャナー１３２としては、例えば小型で高速走査が可能なガルバノミラーを用いたものを使用することができる。また、上記駆動制御部１３３は、画像データを記憶する画像メモリを有し、予め設定登録された投影対象の画像データや、主制御部１１１から制御データとともに送られてきた投影対象の画像データが記憶される。この画像メモリに記憶されている画像データに基づいて、上記ビーム光源１３１及び光学スキャナー１３２が駆動制御される。
上記ビーム光源１３１として互いに波長が異なる複数種類のビーム光（例えば３原色ビーム光）を出射可能なものを用い、各ビーム光を同時に走査して投射すれば、カラー画像を投影面２００上に投影することができる。
また、上記ビーム光源１３１として、互いに独立に強度制御可能な発光点が１列状に並んだ１次元アレイ素子からなる光源を用いることもできる。この場合は、光源から出射されたライン状の光を光学スキャナー１３２で１次元的に走査すればよい。
また、上記ビーム光源１３１として、互いに独立に強度制御可能な発光点が２次元的に並んだ２次元アレイ素子からなる光源を用いることもできる。この場合は、光学スキャナー１３２の代わりに、光源上に表示された２次元的な画像を拡大して投影面２００上に投影する拡大投影光学系を用いる。
【００２３】
図５は、上記画像投影部１３０の他の構成例を示すブロック図である。この画像投影部１３０は、ランプ等の光源１３４と、空間光変調器１３５と、拡大投影光学系１３６と、駆動制御部１３３とを用いて構成されている。
空間光変調器１３５としては、例えば通常の携帯電話機等で使用されている液晶ディスプレイを用いることができる。この場合は、透過型の液晶ディスプレイでの表示モードとは反対に画像を白黒反転させて表示する。このように白黒反転して表示した液晶ディスプレイの表面に光源１３４からの光を照射し、その反射像を拡大投影光学系１３６で拡大して投影面２００上に投影する。なお、この液晶ディスプレイとしては、通常の携帯電話機等で設けられている液晶ディスプレイを兼用してもよい。
また、空間光変調器１３５としては、互いに独立に傾きを制御可能な小型のミラーを２次元的に並べたものを使用することもできる。この場合は、画像データに基づいて、各ミラーの傾きを制御し、各ミラーから投影面２００側へ向かう光の反射光をオン／オフする。この空間光変調器１３５からの反射像は、拡大投影光学系１３６で拡大して投影面２００上に投影される。
【００２４】
図６は、更に他の構成例に係る画像投影部を備えた携帯電話機の内部構成図である。
本構成例の画像投影部１３０は、投影対象の光像を生成するための光生成部１３０’と、光生成部１３０’で生成した光像を投影面２００上に結像して投影するための投影結像光学系とを用いて構成されている。この光生成部１３０’としては、後述のＬＥＤ部１３７及び液晶パネル部１３８が兼用され、上記投影結像光学系としては後述のカメラ結像用光学系１５０が兼用されている。ＬＥＤ部１３７から出射した光は、画像データに基づいて制御された液晶パネル部１３８で変調され、これにより、投影対象の光像が生成される。この投影対象の光像は、投影結像用光学系として兼用したカメラ結像用光学系１５０によって投影面２００に投影される。
また、この構成例におけるカメラ機能は、光像を電気信号に変換して画像データを生成するカメラ部１４０と、撮像対象の光像をカメラ部１４０上に結像するためのカメラ結像用光学系１５０とにより実現される。カメラ部１４０は、ＣＭＯＳ型撮像デバイスやＣＣＤ型撮像デバイス等で構成され、これらの撮像デバイスの駆動や撮像した画像データの保存等は主制御部１１１によって制御される。カメラ結像用光学系１５０は、ズーム機能を持たせるように複数のレンズの位置を変化させる駆動機構を有し、この駆動機構は主制御部１１１から制御される。撮像対象の光像は、カメラ結像用光学系１５０でカメラ部１４０の受光面上に結像される。この結像された光像がカメラ部１４０で電気信号に変換されて画像データが生成される。カメラ部１４０で生成された画像データは、内部メモリ１１２等のデータ記憶部に保存される。
更に、この構成例における照明ランプ機能は、光源としてのＬＥＤ部１３７及び空間光変調部としての液晶パネル部１３８からなる光生成部１３０と、その光源から出射した光を拡散して外部の照射面に均一照射するための拡散照射用光学系１５５とにより実現される。ＬＥＤ部１３７は、例えば白色の高輝度発光ダイオードによって構成され、主制御部１１１によって発光のＯＮ／ＯＦＦ等が制御される。液晶パネル部１３８は、主制御部１１１からの制御データに基づいて、２次元的に形成された多数の画素の透過率を互いに独立に制御できるように構成されている。本構成例では、透過型の液晶パネルを用いているが、反射型の液晶パネルを用いてもよい。ＬＥＤ部１３７から出射した光は、全面の画素について光透過率が最大になるように制御された液晶パネル部１３８で均一に透過され、拡散照射対象の光が生成される。この液晶パネル部１３８で生成された拡散照射対象の光が拡散照射用光学系１５５で拡散させて外部の照射面に均一照射される。
【００２５】
図６に示す構成例では、上記カメラ機能及び照明ランプ機能と上記画像投影の機能を切り換えて利用するために、カメラ部１４０及び光生成部１３０’（ＬＥＤ部１３７及び液晶パネル部１３８）を所定の位置に連動して移動できるように構成されている。
図６（ａ）に示すようにカメラ機能及び照明ランプ機能を利用する場合は、カメラ部１４０及び光生成部１３０’（ＬＥＤ部１３７及び液晶パネル部１３８）を次の位置に移動させておく。すなわち、光生成部１３０’（ＬＥＤ部１３７及び液晶パネル部１３８）を、拡散照射用光学系１５５に向けて光を出射する拡散照射用位置Ａに移動させておく。また、カメラ部１４０を、カメラ結像用光学系１５０からの光像を受ける結像用位置Ｂに移動させておく。一方、図６（ｂ）に示すように画像投影の機能を利用する場合は、カメラ部１４０及び光生成部１３０’（ＬＥＤ部１３７及び液晶パネル部１３８）を、図中の黒塗りの矢印で示す方向に沿って次の位置に移動させておく。すなわち、光生成部１３０’（ＬＥＤ部１３７及び液晶パネル部１３８）を、カメラ部１４０と入れ替えて結像用位置Ｂに移動させておく。また、カメラ部１４０を、結像用位置Ｂから退避した退避位置Ｃに移動させておく。このように移動させた状態で、例えば待ち受け状態でカメラ結像用光学系１５０が露出した開口を所望の投影面２００に向けて机の上に置いたり、携帯電話機用の充電器にセットしたりしておく。また、利用者は、キー操作部１２０を操作することにより画像投影を行う画像投影モードのいずれかに設定する。
【００２６】
また、図７（ａ）に示すように携帯電話機の画像表示部１１９が２つの液晶ディスプレイ（正面ディスプレイ１１９ａ及び背面ディスプレイ１１９ｂ）で構成されている場合は、一方の背面ディスプレイ１１９ａを画像投影部の光源として兼用してもよい。この場合、背面ディスプレイ１１９ａに表示された画像は、拡大投影光学系１３６によって投影面２００上に投影される。この拡大投影光学系１３６は、携帯電話機本体１００に対して着脱可能に構成されている。通常は携帯電話機本体１００から取り外されており、画像投影に使用するときに、両端部に設けられた装着固定部１３６ａによって携帯電話機本体１００の背面ディスプレイ１１９ｂ上に装着することができる。また、図７（ｂ）のように背面ディスプレイ１１９ｂの画像を投影する場合は、背面ディスプレイ１１９ｂの光量を通常の画像表示時よりも高めるように主制御部１１１で制御するのが好ましい。この場合は、投影された画像の視認性を向上させることができる。また、図７（ａ）及び（ｂ）の構成において、背面ディスプレイ１１９ｂの画像を左右反転して投影する投影光学系１３６を使用する場合がある。この場合は、画像投影時に、通常の画像表示時とは左右反転させて背面ディスプレイ１１９ｂに画像を表示する。これにより、文字情報等の画像を通常の画像表示時と同じ左右正しい向きで投影することができる。
【００２７】
なお、画像投影部１３０の構成は図４〜図７の構成に限定されるものではない。例えば、ホログラム素子を用いて投影するような構成であってもよい。
【００２８】
図８（ａ）及び（ｂ）は、上記画像投影部１３０を備えた折り畳み式の携帯電話機１００の本体から離れた位置で利用者が操作可能な投影面上の所定の投影エリアに仮想的なキー配列画像を投影している様子を示した説明図である。図８（ａ）は、キー配列画像が、パソコンで通常使用されるキーボードの操作面を表すキーボード画像２１０である例を示すものである。図８（ｂ）は、キー配列画像が、ゲーム機で使用されるコントローラの操作面を表すゲームコントローラ画像３１０である例を示すものである。この携帯電話機１００は、画像投影部１３０の光出射口を所望の投影面に向けて机の上に置いたり、携帯電話機用の充電器にセットしたりしておく。この画像投影部１３０で投影エリアに投影されたキー配列画像２１０，３１０上のどのキーが選択されたかは、キー選択検知部１８０で検知される。
【００２９】
次に、本実施形態１の携帯電話機におけるキー選択検知部１８０について説明する。
図９は、上記キー選択検知部１８０の一構成例の概略構成を示すブロック図である。
このキー選択検知部１８０は、キー入力動作検知手段としてのキー入力動作検知部１６０と、キー選択データ生成手段としてのキー選択データ生成部１７０とを用いて構成されている。キー入力動作検知部１６０は、上記キー配列画像２１０，３１０上におけるキー選択のための指やポインター等のキー入力操作物のキー入力動作を検知するものであり、携帯電話機１００の本体部１００ａのヒンジ部近傍の両端に設けられた２つの光出射・検知部１６１，１６２と、光源駆動部１６３とを用いて構成されている。また、キー選択データ生成部１７０は、キー入力動作検知部１６０の検知結果に基づいてキー入力操作物によるキー入力動作に対応するキー選択データを生成するものである。
【００３０】
本実施形態１の携帯電話機でキー配列画像２１０，３１０を投影してキー入力を行うときは、図８（ａ）及び（ｂ）に示すように、蓋部１００ｂを回転軸Ａを中心に矢印Ｂのように１８０度回転させて携帯電話機を設置する。このように設置することにより、利用者がキー配列画像２１０，３１０上でキー入力操作を行いながら、表示部（液晶ディスプレイ）１１９に表示される文字情報や実行中のゲームなどの画像を確認することができる。
各光出射・検知部１６１，１６２は、レーザ光を出射する半導体レーザ等からなるレーザ光源１６１ａ，１６２ａと、フォトトランジスタやＣＣＤアレイ素子などからなる受光センサ１６１ｂ，１６２ｂとにより構成されている。レーザ光源１６１ａ，１６２ａはそれぞれ、キー配列画像２１０，３１０が投影されている投影エリアの面に沿ってその投影エリア上のキー配列画像２１０，３１０の全体をカバーするようにレーザ光を扇状にスキャンして出射する。受光センサ１６１ｂ，１６２ｂはそれぞれ、各レーザ光源１６１ａ，１６２ａからのレーザ光が利用者の指３００やポインター部材で遮られて反射してきた反射レーザ光を受光し、検知信号を出力する。
【００３１】
なお、図９の構成の場合、上記２つの受光センサ１６１ｂ，１６２ｂは、それぞれ組になっているレーザ光源からのレーザ光のみを受光する必要があるが、両方のレーザ光源１６１ａ，１６２ａから出射して反射した反射レーザ光を同時に受光して誤検知するおそれがある。例えば、レーザ光源１６１ａから出射して反射した反射レーザ光を、組になっている受光センサ１６１ｂではなく、もう一つの受光センサ１６２ｂで受光して誤検知する場合がある。そこで、上記誤検知を防止するために、各光出射・検知部１６１，１６２で用いるレーザ光の波長を互いに異ならせるのが好ましい。また、レーザ光の波長を異ならせる代わりに又はレーザ光の波長を異ならせるとともに、各光出射・検知部１６１，１６２で用いるレーザ光を互いに異なるコードで変調するようにしてもよい。この場合、各光出射・検知部１６１，１６２ではそれぞれ所定のコードで変調された反射レーザ光のみを受光して復調処理して検知信号として出力することができる。
【００３２】
上記光源駆動部１６３は、前述の主制御部１１１からの制御指令に応じて制御され、上記レーザ光源１６１ａ，１６２ａ及び受光センサ１６１ｂ，１６２ｂに所定の駆動電圧を印加したり駆動電流を供給したりする。また、光源駆動部１６３は、主制御部１１１からの制御指令に応じて、レーザ光源１６１ａ，１６２ａから出射されるレーザ光出射角度を変化させる。
【００３３】
上記キー選択データ生成部１７０は、前述の主制御部１１１からの制御指令に応じて制御され、上記受光センサ１６１ｂ，１６２ｂで反射レーザ光が検知されたときの各レーザ光出射角度θ１，θ２のデータを用いて演算することにより、どのキーが選択されたかを示すキー選択データを生成する。この演算は、上記投影しているキー配列画像２１０，３１０の種類に対応する所定の演算用データテーブルや演算アルゴリズムを用いて行われる。
なお、このキー選択データ生成部１７０は、主制御部１１１内に設け、主制御部１１１を兼用するように構成してもよい。
【００３４】
図１０は、キー配列画像を投影している携帯電話機の部分側面図である。また、図１１は、上記キー選択検知部１８０におけるキー選択検知の原理を説明する説明図である。なお、これらの図は、図８（ａ）に示すキーボード画像２１０に対応するものであるが、図８（ｂ）に示すゲームコントローラ画像３１０においても同様である。
図１０及び図１１において、例えば指３００やポインター等を符号２１０ａで示す選択対象のキー（例えば、アルファベットの「Ｇ」）の位置に移動させて選択すると、各光出射・検知部１６１，１６２のレーザ光源１６１ａ，１６２ａから角度を走査して出射されるレーザ光Ｌi1，Ｌi2が遮られて反射される。このレーザ光Ｌi1，Ｌi2はそれぞれ所定の出射角度θ１，θ２になったときに反射される。各反射レーザ光Ｌr1，Ｌr2はそれぞれ対応する受光センサ１６１ｂ，１６２ｂで受光される。この受光センサ１６１ｂ，１６２ｂで各反射レーザ光Ｌr1，Ｌr2が検知されたときのレーザ光源１６１ａ，１６２ａの出射角度θ１，θ２のデータが、上記キー選択データ生成部１７０に送られてキー選択データの生成に用いられる。すなわち、上記レーザ光源１６１ａ，１６２ａの出射角度θ１，θ２の値がわかると、選択されたキーの位置（図１１中の「Ｇ」キーの画像が投影された位置）が一意的に決まるため、その選択された「Ｇ」キーを識別するキー選択データを生成することができる。
２つのキーや３つ以上のキーを同時に選択した場合も、同様な原理により、各キーの選択を検知して複数のキー選択データを生成することができる。
【００３５】
なお、上記出射角度θ１，θ２の値からキー選択データを生成するときの演算用データテーブルは、上記画像投影部１３０で投影するキー配列画像２１０，３１０との関係で予め設定したものを用いる。または、上記キー配列画像２１０，３１０を用いたキー入力を行う前に、そのキー配列画像上の所定の基準キー（四隅のキーや中央のキー）について出射角度を測定し、その値を用いて演算用データテーブルを補正し、上記キー選択データをより正確に求めて生成するようにしてもよい。
【００３６】
また、上記図１１の例では、各光出射・検知部１６１，１６２における出射角度θ１，θ２の値を求めているが、図１２に示すように各光出射・検知部１６１，１６２と選択対象のキーとの距離Ｄ１，Ｄ２の値を求めるようにしてもよい。この距離Ｄ１，Ｄ２の値は、例えば、各光出射・検知部１６１，１６２の受光センサ１６１ｂ，１６２ｂで受光する各反射レーザ光Ｌr1，Ｌr2の減衰の程度から求めることができる。また、上記距離Ｄ１，Ｄ２の値は、出射レーザ光Ｌi1，Ｌi2とそれぞれ対応する反射レーザ光Ｌr1，Ｌr2との干渉から求めてもよい。
また、図８〜図１２の例では、光出射・検知部１６１，１６２を２箇所に設けているが、３箇所又は４箇所以上に設けて上記キー選択の検知をより正確に行うようにしてもよい。
また、利用者の指がホームポジションにあるときに上記光出射・検知部１６１，１６２からのレーザ光を遮っている場合は、選択対象のキー画像の上で指の上下動に伴う反射レーザ光の受光強度の変化を利用してもよい。例えば、利用者が選択対象のキー画像の上で指を上下動させたとき、受光センサ１６１ｂ，１６２ｂで受光する各反射レーザ光Ｌr1，Ｌr2の強度が一定期間だけゼロレベルになる。この各反射レーザ光Ｌr1，Ｌr2の強度の変化があったときに、そのキーが選択されたと判定し、キー選択データを生成する。
【００３７】
次に、本実施形態１に係る携帯電話機１００でアプリケーションプログラムを実行する際の動作について説明する。
まず、本携帯電話機１００で利用するアプリケーションプログラムを取得するための移動体通信システムについて説明する。
図１３は、本実施形態１に係る携帯電話機が利用可能な移動体通信システムの全体構成を説明するための説明図である。
この移動体通信システムにおいて、ユーザー１が使用する携帯電話機１００は、ユーザー１によって登録されたアプリケーションプログラムを、上記アプリケーションプログラム実行管理部１２５において実行可能な構成になっている。本実施形態１において、このアプリケーションプログラムは、プラットフォームに依存しないオブジェクト指向プログラミングによって開発されたものである。このようなアプリケーションプログラムとしては、ＪＡＶＡ（登録商標）で記述されたアプリケーションプログラム、ＢＲＥＷ（登録商標）のアプリケーション実行環境上で動作するアプリケーションプログラムなどが挙げられる。上記携帯電話機１００は、通信ネットワークとしての携帯電話通信網１０に接続可能である。また、この携帯電話通信網１０には、プログラム提供用サーバとしてのアプリケーションプログラムダウンロードサーバ（以下、「ダウンロードサーバ」という。）１１が接続されている。このダウンロードサーバ１１は、携帯電話機１００からのダウンロード要求を受け付けると、その要求に係るアプリケーションプログラムを携帯電話機１００に対して送信する。
【００３８】
ダウンロードサーバ１１から提供されるアプリケーションプログラムは、アプリケーションプログラムの開発元２から提供される。具体的には、例えば、アプリケーションプログラム開発元２側のパーソナルコンピュータ等から、専用回線や公衆回線を介してダウンロードサーバ１１にアップロードして提供する。なお、開発したアプリケーションプログラムを記録した光ディスクや磁気ディスク等の記録媒体を、アプリケーションプログラム開発元２からダウンロードサーバ１１を管理・運営する通信事業者に送り、その記録媒体内のアプリケーションプログラムをダウンロードサーバ１１で読み取るようにして、提供してもよい。このようにして提供されたアプリケーションプログラムは、携帯電話機１００から携帯電話通信網１０を介してダウンロード可能な状態でダウンロードサーバ１１に登録される。
【００３９】
図１４は、上記ダウンロードサーバ１１のハードウェア構成を示す概略構成図である。
このダウンロードサーバ１１は、システムバス１２、ＣＰＵ１３、内部記憶装置、外部記憶装置１６、入力装置１７及び出力装置１８を備えている。上記内部記憶装置は、ＲＡＭ１４やＲＯＭ１５等で構成されている。上記外部記憶装置１６は、ハードディスクドライブ（ＨＤＤ）や光ディスクドライブ等で構成されている。上記入力装置１７は、マウスやキーボード等で構成されている。上記出力装置１８は、ディスプレイやプリンタ等で構成されている。更に、このダウンロードサーバ１１は、携帯電話通信網１０を介して各ユーザー１の携帯電話機１００と通信するための携帯電話用通信装置１９を備えている。
上記ＣＰＵ１３やＲＡＭ１４等の構成要素は、システムバス１２を介して、互いにデータやプログラムの命令等のやり取りを行っている。このダウンロードサーバ１１を所定の手順に従って動作させるためのプログラムは、ＲＯＭ１５や外部記憶装置１６に記憶されており、必要に応じてＣＰＵ１３やＲＡＭ１４上の作業エリアに呼び出されて実行される。また、このダウンロードサーバ１１には、携帯電話機１００に提供するアプリケーションプログラムが外部記憶装置１６に記憶されている。ダウンロードサーバ１１は、携帯電話機１００からのダウンロード要求に応じ、ＣＰＵ１３、ＲＡＭ１４、携帯電話通信網用通信装置１９等が協働して、外部記憶装置１６に記憶されているアプリケーションプログラムを、携帯電話通信網１０を介して携帯電話機１００に送信する機能を有している。なお、このダウンロードサーバ１１は、専用の制御装置として構成してもいいし、汎用のコンピュータシステムを用いて構成してもよい。また、１台のコンピュータで構成してもいいし、複数の機能をそれぞれ受け持つ複数台のコンピュータをネットワークで結んで構成してもよい。
【００４０】
次に、本実施形態１に係る携帯電話機１００でアプリケーションプログラムを実行する際の動作について説明する。
図１は、本実施形態１におけるアプリケーションプログラムの実行処理の流れを示すフローチャートである。
アプリケーションプログラムを実行する場合、まず、ユーザー１は、その実行対象となるアプリケーションプログラムを上記ダウンロードサーバ１１からダウンロードして取得し、これを登録する。具体的には、ユーザー１は、携帯電話機１００のキー操作部１２０のキーを操作して、ダウンロードサーバ１１にアクセスする。これにより、ダウンロード可能なアプリケーションプログラムを選択するためのダウンロード選択画面が表示部１１９に表示される。そして、そのダウンロード選択画面において、実行対象となるアプリケーションプログラムを選択すると、主制御部１１１が無線通信部１１３を制御して、そのアプリケーションプログラムをダウンロードサーバ１１からダウンロードする。このようにしてダウンロードされたアプリケーションプログラムは、主制御部１１１により、内部メモリ１１２に記憶される。
【００４１】
ユーザー１は、ダウンロードしたアプリケーションプログラムを実行する場合、まず、キー操作部１２０のキーを操作して、実行するアプリケーションプログラムを選択するためのアプリケーション選択画面を表示部１１９上に表示させる。そして、そのアプリケーション選択画面において、実行対象のアプリケーションプログラムをキー操作部１２０のキーを操作して選択する。すると、図３に示した電話機プラットフォームすなわち図２に示した主制御部１１１に、アプリケーションプログラムの実行指示が入力される（Ｓ１）。これにより、主制御部１１１は、実行指示に係るアプリケーションプログラムを読み出してこれを起動する（Ｓ２）。アプリケーションプログラムが起動すると、図３に示したアプリケーション実行環境すなわち図２に示したアプリケーションプログラム実行管理部１２５上で、そのアプリケーションプログラムが動作する。
【００４２】
アプリケーションプログラムが起動すると、アプリケーションプログラム実行管理部１２５は、命令生成手段として機能し、アプリケーションプログラムの内容に従ってキー配列画像選択命令を生成する（Ｓ３）。このキー配列画像選択命令は、そのアプリケーションプログラムのプロパティ情報中に記述されたキー配列画像ＩＤに対応する認識エンジンの選択及びキー配列画像の選択を主制御部１１１に行わせるためのものである。本実施形態１において、携帯電話機１００の内部メモリ１１２には、図８（ａ）に示したキーボード画像２１０の画像データと、図８（ｂ）に示したゲームコントローラ画像３１０の画像データが、それぞれキー配列画像ＩＤに関連づけられた状態で、予め記憶されている。よって、本実施形態１においては、そのアプリケーションプログラムの開発元２は、そのアプリケーションプログラムに適したキー配列画像として、キーボード画像２１０かゲームコントローラ画像３１０のいずれかを選択し、選択したキー配列画像のＩＤを、そのアプリケーションプログラムのプロパティ情報に記述する。例えば、そのアプリケーションプログラムが文字入力に関するもの（ワープロ等）である場合、キーボード画像２１０に対応するキー配列画像ＩＤをプロパティ情報に記述する。また、例えば、そのアプリケーションプログラムがゲームアプリケーションに関するものである場合、ゲームコントローラ画像３１０に対応するキー配列画像ＩＤをプロパティ情報に記述する。本実施形態１によれば、アプリケーションプログラムの開発元２は、アプリケーションプログラムの開発の際に、予め携帯電話機１００に記憶されているキー配列画像を利用することで、独自にキー配列画像を作成する必要がなくなり、開発負担が軽減される。
なお、本実施形態１では、説明を簡単にするため、携帯電話機１００に予め記憶しておくキー配列画像は２種類であるが、より多くの種類のアプリケーションプログラムに対応させる場合には、３種類以上のキー配列画像を予め携帯電話機１００に記憶しておいてもよい。
【００４３】
アプリケーションプログラム実行管理部１２５で生成されたキー配列画像選択命令は、電話機プラットフォームの主制御部１１１に送られる。この命令を受けた主制御部１１１は、キー選択検知部１８０が複数有するキー選択検知機能（認識エンジン）の中から、その命令に係るキー配列画像ＩＤに対応した認識エンジンを選択する（Ｓ４）。具体的に説明すると、図９に示したように、キー選択検知部１８０のキー選択データ生成部１７０には、２種類のキー選択検知機能が備わっている。第１のキー選択検知機能は、図８（ａ）に示したキーボード画像２１０に対応したキーボード画像用認識エンジンで実現される。また、第２のキー選択検知機能は、図８（ｂ）に示したゲームコントローラ画像３１０に対応したゲームコントローラ画像用認識エンジンで実現される。各認識エンジンは、各用途のために予め設計された演算用データテーブル及び演算アルゴリズムに基づいて作成されたキー選択認識用演算プログラムで構成される。各認識エンジンは、演算用データテーブル及び演算アルゴリズムのうち少なくとも一方が互いに異なる。そして、主制御部１１１は、上記キー配列画像選択命令に係るキー配列画像ＩＤに対応した認識エンジンを指定するための指定データを、キー選択データ生成部１７０に送る。これにより、キー選択データ生成部１７０は、その指定データに基づき、指定された認識エンジンを用いてキー選択検知の処理を実行する。
【００４４】
また、上記キー配列画像選択命令を受けた主制御部１１１は、内部メモリ１１２の中から、その命令に係るキー配列画像ＩＤに対応した画像データを選択して読み出す。そして、画像投影部１３０を制御して、読み出した画像データに基づくキー配列画像２１０，３１０を投影面２００に投影させる（Ｓ５）。これにより、投影面２００には、起動したアプリケーションプログラムに適したキー配列画像２１０，３１０が投影される。そして、ユーザーは、アプリケーションプログラムを利用するために、そのキー配列画像２１０，３１０に対してキー操作を行うと（Ｓ６）、これがキー選択検知部１８０のキー入力動作検知部１６０で検知され、その検知結果がキー選択データ生成部１７０に送られる。キー選択データ生成部１７０は、その検知結果に基づき、上記Ｓ４において選択された認識エンジンを用いてキー選択検知の処理を実行して、キー選択データを生成し、これを主制御部１１１に送る。このキー選択データは、主制御部１１１からアプリケーションプログラム実行管理部１２５に送られる。アプリケーションプログラム実行管理部１２５は、データ処理手段として機能し、実行中のアプリケーションプログラムの内容に従い、そのキー選択データに基づいて選択されたキーに対応するデータ処理を行う（Ｓ７）。例えば、実行中のアプリケーションプログラムがワープロである場合、選択されたキーに対応する文字を表示部１１９に表示するためのデータ処理を行う。また、実行中のアプリケーションプログラムがゲームである場合、例えば表示部１１９に表示されているゲームキャラクタに、選択されたキーに対応する動作をさせるためのデータ処理を行う。
【００４５】
以上、本実施形態１によれば、実行するアプリケーションプログラムがワープロである場合には、利用者は、そのワープロに適した操作部（キーボード画像２１０）を操作してそのアプリケーションプログラムを利用することができる。また、実行するアプリケーションプログラムがゲームである場合には、利用者は、そのゲームに適した操作部（ゲームコントローラ画像３１０）を操作してそのアプリケーションプログラムを利用することができる。このように、利用者は、アプリケーションプログラムごとに適した操作部を操作してそのアプリケーションプログラムを利用できるので、利用者の使い勝手が向上する。しかも、本実施形態１によれば、キーボード等の物理的な操作部を接続したりすることなく、利用者が操作可能な面上に仮想的なキー配列画像２１０，３１０を投影し、そのキー配列画像上でキーを選択する操作を行うことができるので、携帯電話機１００の携帯性を確保することができる。
【００４６】
なお、本実施形態１では、キー配列画像２１０，３１０ごとに個別に認識エンジンを有し、アプリケーションプログラム実行管理部１２５で生成されたキー配列画像選択命令に基づいて、対応する認識エンジンを選択する場合を例に挙げた。すなわち、本実施形態の携帯電話機１００においては、そのキー選択検知部１８０が複数種類のキー選択検知機能（認識エンジン）を有しており、主制御部１１１が、アプリケーションプログラム実行管理部１２５で生成されたキー配列画像選択命令に基づいて、画像投影部１３０により投影されるキー配列画像２１０，３１０に対応した認識エンジンを選択する検知機能選択手段として機能する。そして、キー選択検知部１８０は、アプリケーションプログラムの実行中には、主制御部１１１により選択された認識エンジンを用いてキー検知処理を行う。しかし、複数のキー配列画像２１０，３１０に共通の認識エンジンを用いれば、認識エンジンの選択処理（Ｓ４）を不要とすることも可能である。例えば、キー入力動作検知部１６０の検知結果に基づいて投影エリア内で利用者が操作した操作位置の位置座標データを生成し、これをアプリケーションプログラム実行管理部１２５に受け渡すようにする。そして、個々のアプリケーションプログラムにおいて、位置座標データとキーとの対応関係を特定するようにすればよい。
【００４７】
〔実施形態２〕
次に、本発明の他の実施の形態（以下、本実施形態を「実施形態２」という。）を、図面を参照しながら説明する。なお、本実施形態２に係る携帯電話機の基本構成は、上記実施形態１と同様であるので、説明を省略する。
【００４８】
図１５は、本実施形態２におけるアプリケーションプログラムの実行処理の流れを示すフローチャートである。図１６は、本実施形態２におけるキー選択検知部４８０の一構成例の概略構成を示すブロック図である。
本実施形態２において、アプリケーションプログラムを実行する場合、上記実施形態１の場合と同様に、ユーザー１は、その実行対象となるアプリケーションプログラムを上記ダウンロードサーバ１１からダウンロードして取得し、これを登録する。
ここで、本実施形態２のアプリケーションプログラムには、そのアプリケーションプログラムの実行の際に画像投影部１３０により投影されるキー配列画像２１０，３１０の画像データが含まれている。なお、この画像データは、アプリケーションプログラムのプログラム内部に組み込まれたデータであっても、アプリケーションプログラムに付加された別のデータであってもよい。すなわち、この画像データは、少なくともアプリケーションプログラムの取得の際に一緒に取得されるものであればよい。このように、本実施形態２では、アプリケーションプログラムの実行の際に投影されるキー配列画像２１０，３１０の画像データはアプリケーションプログラムと一緒に提供される。よって、そのアプリケーションプログラムの開発元２は、そのアプリケーションプログラムに最適化されたキー配列がなされたキー配列画像を独自に作成し、そのアプリケーションプログラムの実行時に、このキー配列画像を用いて利用者に操作させることができる。例えば、そのアプリケーションプログラムが文字入力に関するもの（ワープロ等）である場合、図８（ａ）に示したキーボード画像２１０の画像データをそのアプリケーションプログラムに含ませれば、利用者は、使い勝手よくそのアプリケーションプログラムを利用することができる。また、例えば、そのアプリケーションプログラムがゲームアプリケーションに関するものである場合、図８（ｂ）に示したゲームコントローラ画像３１０の画像データをそのアプリケーションプログラムに含ませれば、利用者は、使い勝手よくそのアプリケーションプログラムを利用することができる。
【００４９】
なお、互いに異なるアプリケーションプログラムであっても、ともにゲームアプリケーションに関するもののように同種のアプリケーションプログラムであれば、キー配列画像を共用することも可能である。しかし、例えば、複数のアプリケーションプログラムがいずれもゲームアプリケーションに関するものであっても、例えばゲームに使用するボタン数が互いに異なる場合がある。そして、ゲームに使用するボタン数が４つである場合には、図８（ｂ）に示したゲームコントローラ画像３１０を利用することができない。逆に、ゲームに使用するボタン数が２つである場合には、図８（ｂ）に示したゲームコントローラ画像３１０では不要なボタンが存在し、利用者の操作ミスを引き起こす原因となる。このように同種のアプリケーションプログラムであっても、その具体的な内容によって最適なキー配列は異なる。したがって、アプリケーションプログラムの実行時に用いるキー配列画像を、個々のアプリケーションプログラムごとに個別に用意することは、利用者の使い勝手を高める上で重要である。
【００５０】
また、本実施形態２のアプリケーションプログラムには、そのアプリケーションプログラムの実行中にキー選択検知部４８０においてキー選択データの生成に用いられるキー選択検知用データも含まれている。このキー選択検知用データは、投影されるキー配列画像ごとにキー選択検知部４８０がそれぞれ異なるデータを用いたり又はそれぞれ異なる処理を行ったりする場合の、そのデータ又は処理に関わるデータである。本実施形態２のキー選択検知用データは、キー選択検知部４８０のキー選択データ生成部４７０における認識エンジンが用いる演算用データテーブルである。このキー選択検知用データが認識エンジンで用いられることで、このアプリケーションプログラムに含まれる画像データに基づくキー配列画像に対して利用者が操作したキーについて、正常なキー選択データを生成することができる。この他、キー選択検知用データは、認識エンジンで用いる演算アルゴリズムであってもよいし、演算用データテーブル及び演算アルゴリズムであってもよい。なお、このキー選択検知用データも、アプリケーションプログラムのプログラム内部に組み込まれたデータであっても、アプリケーションプログラムに付加された別のデータであってもよい。すなわち、少なくともアプリケーションプログラムの取得時に一緒に取得されるものであればよい。
【００５１】
ユーザー１は、ダウンロードしたアプリケーションプログラムを実行する場合、まず、キー操作部１２０のキーを操作して、実行するアプリケーションプログラムを選択するためのアプリケーション選択画面を表示部１１９上に表示させる。そして、そのアプリケーション選択画面において、実行対象のアプリケーションプログラムをキー操作部１２０のキーを操作して選択する。すると、図３に示した電話機プラットフォームすなわち図２に示した主制御部１１１に、アプリケーションプログラムの実行指示が入力される（Ｓ１１）。これにより、主制御部１１１は、実行指示に係るアプリケーションプログラムを読み出してこれを起動する（Ｓ１２）。アプリケーションプログラムが起動すると、図３に示したアプリケーション実行環境すなわち図２に示したアプリケーションプログラム実行管理部１２５上で、そのアプリケーションプログラムが動作する。
【００５２】
アプリケーションプログラムが起動すると、アプリケーションプログラム実行管理部１２５は、データ読出手段として機能し、アプリケーションプログラムから画像データ及びキー選択検知用データを読み出す（Ｓ１３）。そして、この画像データ及びキー選択検知用データは、アプリケーションプログラム実行管理部１２５で生成されたキー配列画像表示指令とともに、電話機プラットフォームの主制御部１１１に送られる。この指令を受けた主制御部１１１は、キー選択検知部４８０に対してキー選択検知用データを送り、このキー選択検知用データに係る演算用データテーブルを認識エンジンに登録する（Ｓ１４）。具体的に説明すると、図１６に示すように、キー選択検知部４８０のキー選択データ生成部４７０には、キー選択検知機能が備わっている。このキー選択検知機能は、当該アプリケーションプログラムに対応するキー配列画像が図８（ａ）に示したキーボード画像２１０である場合には、登録されたキー選択検知用データにより、そのキーボード画像２１０に対応したキーボード画像用認識エンジンで実現される。また、当該アプリケーションプログラムに対応するキー配列画像が図８（ｂ）に示したゲームコントローラ画像３１０である場合には、登録されたキー選択検知用データにより、そのキーボード画像３１０に対応したゲームコントローラ画像用認識エンジンで実現される。なお、認識エンジンは、登録されたキー選択検知用データによる演算用データテーブルと、演算アルゴリズムに基づいて作成されたキー選択認識用演算プログラムで構成される。キー選択データ生成部４７０は、登録されたキー選択検知用データに基づく認識エンジンを用いて、キー選択検知の処理を実行する。
【００５３】
また、上記キー配列画像表示指令を受けた主制御部１１１は、アプリケーションプログラム実行管理部１２５から受けた画像データに基づくキー配列画像２１０，３１０を、画像投影部１３０を制御して投影面２００に投影させる（Ｓ１５）。これにより、投影面２００には、起動したアプリケーションプログラムに含まれていた画像データに基づくキー配列画像、すなわち、そのアプリケーションプログラムに最適化されたキー配列画像が投影される。そして、ユーザーは、アプリケーションプログラムを利用するために、そのキー配列画像２１０，３１０に対してキー操作を行うと（Ｓ１６）、これがキー選択検知部４８０のキー入力動作検知部１６０で検知され、その検知結果がキー選択データ生成部４７０に送られる。キー選択データ生成部４７０は、その検知結果に基づき、上記Ｓ１４において登録されたキー選択検知用データに基づく認識エンジンを用いてキー選択検知の処理を実行して、キー選択データを生成し、これを主制御部１１１に送る。このキー選択データは、主制御部１１１からアプリケーションプログラム実行管理部１２５に送られる。アプリケーションプログラム実行管理部１２５は、データ処理手段として機能し、実行中のアプリケーションプログラムの内容に従い、上記実施形態１と同様に、そのキー選択データに基づいて選択されたキーに対応するデータ処理を行う（Ｓ１７）。
【００５４】
以上、本実施形態２によれば、実行するアプリケーションプログラムがワープロである場合には、利用者は、そのワープロに最適な操作部（キーボード画像２１０）を操作してそのアプリケーションプログラムを利用することができる。また、実行するアプリケーションプログラムがゲームである場合には、利用者は、そのゲームに最適な操作部（ゲームコントローラ画像３１０）を操作してそのアプリケーションプログラムを利用することができる。このように、利用者は、アプリケーションプログラムごとに最適な操作部を操作してそのアプリケーションプログラムを利用できるので、利用者の使い勝手が向上する。しかも、本実施形態２によれば、キーボード等の物理的な操作部を接続したりすることなく、利用者が操作可能な面上に仮想的なキー配列画像２１０，３１０を投影し、そのキー配列画像上でキーを選択する操作を行うことができるので、携帯電話機１００の携帯性を確保することができる。
【００５５】
なお、本実施形態２では、アプリケーションプログラムの起動時に、そのアプリケーションプログラムからキー選択検知用データを読み出して（Ｓ１３）、これを登録する（Ｓ１４）場合について説明したが、起動時以外のタイミングであってもよい。例えば、アプリケーションプログラムをダウンロードした時に、そのアプリケーションプログラムからキー選択検知用データを読み出して、これを登録するようにしてもよい。この場合、複数のアプリケーションプログラムをダウンロードした場合、複数のキー選択検知用データが登録され、キー選択検知部４８０には複数の認識エンジンが存在することになる。よって、アプリケーションプログラムの実行の際には、自己に含まれていたキー選択検知用データに係る認識エンジンを選択的に用いることになる。
また、本実施形態２では、アプリケーションプログラムの起動時に、そのアプリケーションプログラムから画像データを読み出して（Ｓ１３）、これに基づくキー配列画像２１０，３１０を投影する（Ｓ１５）場合について説明したが、別の工程を採用することもできる。例えば、アプリケーションプログラムをダウンロードした時に、そのアプリケーションプログラムから画像データを読み出して、これを内部メモリ１１２に登録しておき、アプリケーションプログラムの実行の際に、その画像データを読み出してこれに基づくキー配列画像２１０，３１０を投影するようにしてもよい。この場合、複数のアプリケーションプログラムをダウンロードした場合、複数の画像データが内部メモリ１１２に登録されるため、アプリケーションプログラムの実行の際には、自己に含まれていた画像データを選択的に読み出すことになる。
また、本実施形態２の携帯電話機１００においては、アプリケーションプログラムの内容に、その画像データに基づくキー配列画像に対応するキー選択検知用データが含まれている。そして、アプリケーションプログラム実行管理部１２５は、選択されたアプリケーションプログラムの内容に含まれる上記キー配列画像の画像データ及びキー選択検知用データを読み出し、キー選択検知部４８０は、アプリケーションプログラムの実行中、読み出したキー選択検知用データにより構築されるキー選択検知機能（認識エンジン）を用いてキー検知処理を行う。しかし、複数のキー配列画像２１０，３１０に共通の認識エンジンを用いれば、アプリケーションプログラムの内容にキー選択検知用データを含ませ、そのデータを読み出して認識エンジンを構築する必要はない。例えば、キー入力動作検知部１６０の検知結果に基づいて投影エリア内で利用者が操作した操作位置の位置座標データを生成し、これをアプリケーションプログラム実行管理部１２５に受け渡すようにする。そして、個々のアプリケーションプログラムにおいて、位置座標データとキーとの対応関係を特定するようにすればよい。
【００５６】
また、上述した各実施形態のキー選択検知部１８０，４８０は、レーザ光の反射を利用して携帯電話機本体に対する選択対象キーの位置の角度や距離を求めることによりキー選択を検知するように構成しているが、キー選択検知部は、この構成に限定されるものではない。
例えば、上記仮想的なキー配列画像上でキーを選択している指先やポインタ部材の動きを撮像し、その２次元的な画像又は３次元的な画像をパターン認識し、そのパターン認識結果に基づいてキー選択を検知するように構成してもよい。この場合は、図１７に示すように、上記指先やポインタ部材の動きの撮像に、携帯電話機１００に設けられているカメラ部１４０を兼用するように構成してもよい。このカメラ部１４０は、通常の動作モード実行中には人物や風景等の画像の撮影に使用されるとともに、仮想的なキー配列画像上でのキー入力動作モードの実行中にはキー入力動作をしている指先やポインタ部材の動きの撮像に使用される。なお、図１７の携帯電話機１００の構成例では、画像投影部１３０から出射したキー配列画像の光像が、携帯電話機本体に設けられたキー操作部１２０の上方を通過し、携帯電話機から離れた投影エリア上に投影される。このキー配列画像上で指先やポインタ部材の動きは、画像投影部１３０に隣接して設けられているカメラ部１４０で撮像される。カメラ部１４０で撮像された２次元的な画像又は３次元的な画像のデータは、携帯電話機内部に設けた画像処理部で処理され、キー選択の検知に用いられる。
また、上記キー選択検知部１８０を、上記レーザのような光ではなく超音波の反射を利用して指先やポインタ部材の位置を測定することによりキー選択を検知するように構成してもよい。
【００５７】
また、上述した各実施形態において、上記画像投影部１３０により、上記仮想的なキー配列画像だけでなく、上記表示部１１９で表示するような画像を投影するようにしてもよい。例えば、キー配列画像上で行うキー選択に関連した文字情報やゲーム等の画像も投影するようにしてもよい。この文字情報やゲーム等の画像は、例えば携帯電話機と上記仮想的なキー配列画像との間に投影すると視認しやすい。
【図面の簡単な説明】
【００５８】
【図１】本発明の実施形態１に係る携帯電話機でアプリケーションプログラムを実行する際の制御の流れを示すフローチャート。
【図２】同携帯電話機の概略構成の一例を示すブロック図。
【図３】同携帯電話機におけるソフトウェア構造の一例を示す説明図。
【図４】同携帯電話機の画像投影部の一構成例を示すブロック図。
【図５】同画像投影部の他の構成例を示すブロック図。
【図６】（ａ）及び（ｂ）は同画像投影部の更に他の構成例を示す携帯電話機の内部構成図。
【図７】（ａ）は同画像投影部の更に他の構成例を示すブロック図。（ｂ）は図６の画像投影部を備えた携帯電話機の部分側面図。
【図８】キー配列画像を投影している携帯電話機の斜視図。
【図９】同携帯電話機のキー選択検知部の一構成例を示すブロック図。
【図１０】キー配列画像を投影している携帯電話機の側面図。
【図１１】キー選択検知の原理を示す説明図。
【図１２】変形例に係るキー選択検知の原理を示す説明図。
【図１３】同携帯電話機が利用可能な移動体通信システムの全体構成を説明するための説明図。
【図１４】同移動体通信システムを構成するダウンロードサーバのハードウェア構成を示す概略構成図。
【図１５】本発明の実施形態２に係る携帯電話機でアプリケーションプログラムを実行する際の制御の流れを示すフローチャート。
【図１６】同携帯電話機のキー選択検知部の一構成例を示すブロック図。
【図１７】他の変形例に係る携帯電話機の斜視図。
【符号の説明】
【００５９】
１０  携帯電話通信網
１１  ダウンロードサーバ
１００  携帯電話機
１１１  主制御部
１１３  無線通信部
１１９  表示部（液晶ディスプレイ）
１３０  画像投影部
１２５  アプリケーションプログラム実行管理部
１６０  キー入力動作検知部
１６３  光源駆動部
１７０，４７０  キー選択データ生成部
１８０，４８０  キー選択検知部
２００  投影面
２１０  キーボード画像（キー配列画像）
２１０ａ  選択対象のキーの画像
３００  指
３１０  ゲームコントローラ画像（キー配列画像）
【図１】
2005250549.tif 000003
【図２】
2005250549.tif 000004
【図３】
2005250549.tif 000005
【図４】
2005250549.tif 000006
【図５】
2005250549.tif 000007
【図６】
2005250549.tif 000008
【図７】
2005250549.tif 000009
【図８】
2005250549.tif 000010
【図９】
2005250549.tif 000011
【図１０】
2005250549.tif 000012
【図１１】
2005250549.tif 000013
【図１２】
2005250549.tif 000014
【図１３】
2005250549.tif 000015
【図１４】
2005250549.tif 000016
【図１５】
2005250549.tif 000017
【図１６】
2005250549.tif 000018
【図１７】
2005250549.tif 000019