(57)【要約】【課題】ＯＳ切り替え専用の入力デバイス以外からの入力に基づきＯＳを切り替えることができるようにする。【解決手段】第１の処理部１ａは、第１のオペレーティングシステムに基づく処理を実行する。第２の処理部１ｂは、第２のオペレーティングシステムに基づく処理を実行する。送信部１ｃは、第１の処理部１ａまたは第２の処理部１ｂのいずれか一方が送信先として設定されており、設定された送信先に入力情報を送信する。切替制御部１ｅは、切替要求５を受信した場合、送信部１ｃの送信先の設定を、現在の送信先以外の第１の処理部１ａまたは第２の処理部１ｂに切り替える。第１の処理部１ａは、さらに、送信部１ｃから受信した入力情報に基づいて切替指示を検出し、切替指示を検出した場合、切替制御部１ｅに切替要求５を送信する。【選択図】図１
2012155600.tif 000002
【特許請求の範囲】
【請求項１】
第１のオペレーティングシステムに基づく処理を実行する第１の処理部と、
第２のオペレーティングシステムに基づく処理を実行する第２の処理部と、
前記第１の処理部または前記第２の処理部のいずれか一方が設定された送信先の設定に応じて入力情報を送信する送信部と、
前記送信先の設定の切替要求を受信した場合に、前記送信先の設定を、設定された送信先以外の前記第１の処理部または前記第２の処理部に切り替える切替制御部と、を有し、
前記第１の処理部が、
前記送信部から受信した入力情報が、前記第１のオペレーティングシステムで定義された切替条件に合致する場合に、前記切替制御部に切替要求を送信する、
ことを特徴とする情報処理装置。
【請求項２】
表示部と、
表示対象の画像を指定する表示対象情報を受信すると、前記第１の処理部で生成された画像、または前記第２の処理部で生成された画像のうち、該表示対象情報によって指定された画像を前記表示部に表示させる制御を行う表示制御部と、をさらに有し、
前記切替制御部は、切替要求を受信した場合、現在の表示されている画像とは別の画像を指定した表示対象情報を、前記表示制御部に送信することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記第１の処理部は、入力情報で示される操作対象の位置が、予め定義された検知領域内の場合に、切替要求を送信することを特徴とする請求項１または２のいずれかに記載の情報処理装置。
【請求項４】
前記第１の処理部は、入力情報で示される操作対象の位置が、予め定義された検知領域内であることを検出後、入力情報で示される操作対象の位置が時間経過と共に移動した場合に、切替要求を送信することを特徴とする請求項１または２のいずれかに記載の情報処理装置。
【請求項５】
前記第１の処理部は、入力情報で示される操作対象の位置が、予め定義された検知領域内であることを検出後、入力情報で示される操作対象の位置が時間経過と共に該検知領域内を移動した場合に、切替要求を送信することを特徴とする請求項１または２のいずれかに記載の情報処理装置。
【請求項６】
複数の領域情報を記憶する記憶部をさらに有し、
前記第１の処理部は、生成した画像の向きに応じて前記記憶部から領域情報を選択し、選択した領域情報で示される領域を前記検知領域とすることを特徴とする請求項４または５のいずれかに記載の情報処理装置。
【請求項７】
前記第１の処理部は、入力情報で示される操作対象の位置の移動速度を計算し、
前記切替制御部は、移動速度に応じて画面をスクロールさせる移動量を計算し、前記第１の処理部で生成された画像から前記第２の処理部で生成された画像への、該移動量分のスクロール指示を、前記表示制御部に送信し、
前記表示制御部は、スクロール指示を受信すると、該スクロール指示で示される移動量だけ、前記第１の処理部で生成された画像から前記第２の処理部で生成された画像へスクロールする画像を表示させることを特徴とする請求項２記載の情報処理装置。
【請求項８】
位置情報で示される位置のパターンを記憶する記憶部をさらに有し、
前記第１の処理部は、入力情報で示される操作対象の位置の発生パターンが、前記記憶部に記憶されたパターンに合致する場合に、切替要求を送信することを特徴とする請求項１または２のいずれかに記載の情報処理装置。
【請求項９】
入力情報で示される操作対象の位置のパターンを記憶する記憶部をさらに有し、
前記第１の処理部は、入力情報で示される操作対象の位置の発生パターンが、前記記憶部に記憶されたパターンに合致する場合に、検知領域を示す画像を表示させ、入力情報で示される操作対象の位置が、該検知領域内であることを検出後、タッチセンサが出力した位置情報で示される位置が時間経過と共に移動した場合に、切替要求を送信することを特徴とする請求項１または２のいずれかに記載の情報処理装置。
【請求項１０】
情報処理装置が、
第１のオペレーティングシステムに基づく第１の処理を実行すると共に、第２のオペレーティングシステムに基づく第２の処理を実行し、
前記第１の処理の処理過程で受け付けた入力情報が、前記第１のオペレーティングシステムで定義された切替条件に合致する場合、前記第１の処理によって切替要求を出力し、
切替要求が出力された場合、以後の入力情報を、前記第２の処理で処理させる、
ことを特徴とする制御方法。
【請求項１１】
情報処理装置に、
第１のオペレーティングシステムに基づく第１の処理を実行すると共に、第２のオペレーティングシステムに基づく第２の処理を実行し、
前記第１の処理の処理過程で受け付けた入力情報が、前記第１のオペレーティングシステムで定義された切替条件に合致する場合、該第１の処理によって切替要求を出力し、
切替要求が出力された場合、以後の入力情報を、前記第２の処理で処理させる、
処理を実行させることを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は複数のＯＳ（Operating System）を動作させることができる情報処理装置、制御方法、および制御プログラムに関する。
【背景技術】
【０００２】
コンピュータが組み込まれた機器は、組み込み機器と呼ばれる。組み込み機器の中には、例えば携帯端末装置のような携帯型の組み込み機器がある。
近年の携帯型の組み込み機器で使用されているＣＰＵ（Central Processing Unit）は、以前に比べ性能が向上している。ＣＰＵの性能が向上したことで、例えば組み込み機器のハードウェア環境を仮想化して、仮想マシンによって処理を実行することも可能となってきている。例えば、複数の仮想マシンそれぞれで異なるＯＳを動作させることも可能である。
【０００３】
ところで、携帯型の組み込み機器は、大画面化・小型化の傾向にある。大画面化と小型化を同時に進めるため、多くの携帯型の組み込み機器では、文字などの入力は、物理的なキーボード以外の入力装置を用いて行われる。例えば、組み込み機器には、タッチセンサ付き表示装置が搭載される。タッチセンサ付き表示装置は、タッチパネルまたはタッチスクリーンと呼ばれることもある。文字入力が必要な場面では、例えば、ソフトウェアで実現したキーボードがタッチセンサ付き表示装置に表示され、タッチセンサ付き表示装置へのタッチ操作によって文字が入力される。
【０００４】
ただし、１つの仮想マシンで実行されているＯＳが全画面領域を制御している場合、タッチセンサ付き表示装置へのタッチ操作は、表示されているＯＳに対する指示として検出され、仮想マシンの管理機能（例えばハイパーバイザ）への指示とはならない。そのため、例えば、この管理機能に、組み込み機器で動作する複数のＯＳのうちのいずれのＯＳに画面領域を制御させる（フォアグラウンドで動作させる）かを切り替える処理を実行させたい場合であっても、タッチセンサ付き表示装置の画面領域へのタッチ操作は、その画面領域を制御するＯＳへの指示とされてしまう。従来の組み込み機器には、フォアグラウンドで動作する仮想マシンの切り替えに利用可能な入力装置が設けられている。例えば、フォアグラウンドの仮想マシンドメインの切り替え用のキーパッドを設けることが考えられている。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Sang-bum Suh、"Secure Architecture and Implementation of Xen on ARM for Mobile Devices"、[online]、April 17, 2007、［平成２２年１２月１４日検索］、インターネット<URL:http://www.xen.org/files/xensummit_4/Secure_Xen_ARM_xen-summit-04_07_Suh.pdf>
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、入力情報の送信先とするＯＳの切り替えのために、キーパッドのような切り替え専用の入力装置を設けることは、機器の小型化の阻害要因となる。なお、このような問題は、組み込み機器に限らず情報処理装置一般に当てはまる。
【０００７】
１つの側面では、本発明は切り替え専用の入力装置以外からの入力に基づき、入力情報の送信先とするＯＳを切り替えることができる情報処理装置、制御方法、および制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
１つの案では、第１の処理部、第２の処理部、送信部、および切替制御部を有する情報処理装置が提供される。第１の処理部は、第１のオペレーティングシステムに基づく処理を実行する。第２の処理部は、第２のオペレーティングシステムに基づく処理を実行する。送信部は、第１の処理部または第２の処理部のいずれか一方が設定された送信先の設定に応じて入力情報を送信する。切替制御部は、送信先の設定の切替要求を受信した場合に、送信先の設定を、設定された送信先以外の第１の処理部または第２の処理部に切り替える。そして、第１の処理部は、送信部から受信した入力情報が、第１のオペレーティングシステムで定義された切替条件に合致する場合、切替制御部に切替要求を送信する。
【０００９】
また他の１つの案では、上記情報処理装置の処理部と同様の処理を行う制御方法が提供される。
また他の１つの案では、上記処理部の処理を情報処理装置に実行させる制御プログラムが提供される。
【発明の効果】
【００１０】
切り替え専用の入力装置以外からの入力に基づき、入力情報の送信先とするＯＳを切り替えることが可能となる。
【図面の簡単な説明】
【００１１】
【図１】第１の実施の形態の機能を示す図である。
【図２】第２の実施の形態のシステム構成例を示す図である。
【図３】携帯端末装置のハードウェア構成例を示す図である。
【図４】ＯＳ起動時の携帯端末装置の機能を示すブロック図である。
【図５】切替制御部の内部構造の一例を示す図である。
【図６】ＯＳ起動後の携帯端末装置の機能を示す図である。
【図７】第２の実施の形態におけるＶＭ切り替え操作の一例を示す図である。
【図８】第２の実施の形態のＶＭ切替処理の手順を示すシーケンス図である。
【図９】第２の実施の形態のＶＭ切替判断処理の手順を示すフローチャートである。
【図１０】第２の実施の形態の切替制御処理の手順を示すフローチャートである。
【図１１】仮切替要求の通信例を示す図である。
【図１２】ＬＣＤの表示切替処理の一例を示す図である。
【図１３】送信先切替処理の一例を示す図である。
【図１４】第３の実施の形態におけるＶＭ切り替え操作の一例を示す図である。
【図１５】画像合成例を示す図である。
【図１６】第３の実施の形態のＶＭ切替処理の前半を示すシーケンス図である。
【図１７】入力解析部で生成される座標リストの一例を示す図である。
【図１８】第３の実施の形態のＶＭ切替処理の後半を示すシーケンス図である。
【図１９】第３の実施の形態のＶＭ切替判断処理の手順を示すフローチャートである。
【図２０】第３の実施の形態の切替制御処理の手順を示すフローチャートである。
【図２１】第４の実施の形態の携帯端末装置の機能を示すブロック図である。
【図２２】検知領域記憶部のデータ構造の一例を示す図である。
【図２３】第４の実施の形態におけるＶＭ切り替え操作の一例を示す図である。
【図２４】第４の実施の形態のＶＭ切替処理を示すシーケンス図である。
【図２５】第５の実施の形態の携帯端末装置の機能を示すブロック図である。
【図２６】ジェスチャ情報記憶部のデータ構造の一例を示す図である。
【図２７】第５の実施の形態におけるＶＭ切り替え操作の一例を示す図である。
【図２８】第５の実施の形態のＶＭ切替処理を示すシーケンス図である。
【図２９】第６の実施の形態の携帯端末装置の機能を示すブロック図である。
【図３０】第６の実施の形態におけるＶＭ切り替え操作の一例を示す第１の図である。
【図３１】第６の実施の形態におけるＶＭ切り替え操作の一例を示す第２の図である。
【図３２】第６の実施の形態におけるＶＭ切り替え操作の一例を示す第３の図である。
【図３３】第６の実施の形態のＶＭ切替処理の第１のシーケンス図である。
【図３４】第６の実施の形態のＶＭ切替処理の第２のシーケンス図である。
【図３５】第６の実施の形態のＶＭ切替処理の第３のシーケンス図である。
【図３６】第６の実施の形態のＶＭ切替処理の第４のシーケンス図である。
【図３７】通知ドライバリストのデータ構造の一例を示す図である。
【図３８】第４の実施の形態の変形例を示す図である。
【図３９】第５の実施の形態の変形例を示す図である。
【図４０】第６の実施の形態の変形例を示す図である。
【図４１】第６の実施の形態の変形例におけるＶＭ切替処理の第１のシーケンス図である。
【図４２】第６の実施の形態の変形例におけるＶＭ切替処理の第２のシーケンス図である。
【図４３】第６の実施の形態の変形例におけるＶＭ切替処理の第３のシーケンス図である。
【図４４】第６の実施の形態の変形例におけるＶＭ切替処理の第４のシーケンス図である。
【発明を実施するための形態】
【００１２】
以下、本実施の形態について図面を参照して説明する。
〔第１の実施の形態〕
図１は、第１の実施の形態の機能を示す図である。情報処理装置１には、入力装置２と表示装置３とが接続されている。入力装置２は、例えばタッチパッド、マウス、キーボードなどである。表示装置３は、例えば、ＬＣＤ（Liquid Crystal Display）装置、有機ＥＬディスプレイ（organic electroluminescence display）などである。
【００１３】
情報処理装置１は、第１の処理部１ａ、第２の処理部１ｂ、送信部１ｃ、表示制御部１ｄ、および切替制御部１ｅを有する。
第１の処理部１ａは、第１のオペレーティングシステム（ＯＳ）に基づく処理を実行する。例えば、ハードウェア環境を仮想化することで情報処理装置１内に生成される仮想マシンによって、第１の処理部１ａが実現される。また、第１の処理部１ａは、送信部１ｃから受信した入力情報４が、第１のＯＳで定義された切替条件に合致する場合、切替制御部１ｅに切替要求を送信する。例えば第１のＯＳには、画像６内の予め設定された検知領域への操作入力があることが、切替条件として定義されている。この場合、第１の処理部１ａは、送信１ｃから受信した入力情報が、生成した画像６内の検知領域への操作入力を示す入力情報であるか否か判断し、検知領域への操作入力を示す入力情報検知領域への操作入力を示す入力情報である場合に、切替要求を送信する。
【００１４】
第２の処理部１ｂは、第２のＯＳに基づく処理を実行する。例えば、情報処理装置１内に生成される仮想マシンによって、第２の処理部１ｂが実現される。
送信部１ｃは、第１の処理部１ａまたは第２の処理部１ｂのいずれか一方が送信先として設定されており、設定された送信先に入力情報４を送信する。図１の例では、入力情報４は、入力装置２から入力されている。なお、ネットワークなどを介して接続された装置から、ネットワーク経由で入力情報４が入力される場合もある。
【００１５】
表示制御部１ｄは、表示対象の画像を指定する表示対象情報を受信すると、第１の処理部１ａで生成された画像６、または第２の処理部１ｂで生成された画像７のうち、表示対象情報によって指定された画像を表示装置３に表示させる制御を行う。例えば表示制御部１ｄは、表示装置３に対して指定された画像が格納された記憶領域のアドレス８を送信することで、そのアドレス８に格納されている画像を表示装置３に表示させる。
【００１６】
切替制御部１ｅは、切替要求５を受信した場合、送信部１ｃの送信先の設定を、現在の送信先以外の前記第１の処理部または前記第２の処理部に切り替える。また切替制御部１ｅは、切替要求５を受信した場合、現在の表示されている画像とは別の画像を指定した表示対象情報を、表示制御部１ｄに送信する。
【００１７】
このような情報処理装置１において、例えば送信部１ｃにおいて、送信先として第１の処理部１ａが設定されており、第１の処理部１ａで生成された画像６が、表示対象として指定されているものとする。この状況で入力装置２から入力情報４が入力された場合、入力情報４は送信部１ｃで受信され、第１の処理部１ａに送信される。第１の処理部１ａは、第１のＯＳに基づいて、入力情報４を処理する。この際、第１の処理部１ａは、入力情報４が、第１のＯＳで定義された切替条件に合致する場合、切替要求５を切替制御部１ｅに送信する。
【００１８】
切替要求５を受信した切替制御部１ｅは、送信部１ｃの送信先の設定を、第２の処理部１ｂに切り替える。すると、以後入力される入力情報は、送信部１ｃによって第２の処理部１ｂに送信される。
【００１９】
また切替要求５を受信した切替制御部１ｅは、第２の処理部１ｂで生成された画像７を指定した表示対象情報を、表示制御部１ｄに送信する。すると、表示制御部１ｄにより、表示対象の画像が、第２の処理部１ｂで生成された画像７に変更され、画像７が表示装置３に表示される。
【００２０】
このように、第１の実施の形態によれば、複数のＯＳそれぞれに基づいて複数の処理が実行されている状況下で、ＯＳを実行している処理部に対する入力情報に基づいて、入力情報の送信先や、表示対象画像を切り替えることができる。このとき、入力情報４は、切り替え専用に設けられた入力装置からの入力でなくてもよい。従って、切り替え専用の入力装置以外からの入力に基づき、フォアグラウンドで動作させるＯＳを切り替えることが可能となる。その結果、切り替え専用の入力装置を設けずに済み、機器の小型化を促進させることができる。
【００２１】
なお、ＯＳに定義されている切替条件には、例えば、ソフトボタンを押下する入力情報の検出がある。他の切替条件としては、所定の領域内の操作対象位置の移動を示す入力情報の検出がある。さらの他の切替条件としては、所定のパターンに沿った入力情報の検出がある。以下、さまざまな切替条件に応じたＯＳの切替処理について、第２の〜第６の実施の形態で詳細に説明する。
【００２２】
〔第２の実施の形態〕
次に、第２の実施の形態について説明する。第２の実施の形態は、複数の仮想マシンそれぞれで実行されるＯＳに、ソフトアイコンによる切替ボタンと切替操作判断部とを設ける形態である。第２の実施の形態に係る携帯端末装置は、切替ボタンの押下によって表示対象とする仮想マシンを変更し、押下した切替ボタンを離すことによってＶＭ切替を確定する。
【００２３】
なお、以下の説明では、仮想マシンをＶＭ（virtual machine）と呼ぶ。
図２は、第２の実施の形態のシステム構成例を示す図である。携帯端末装置１００は、例えばアクセスポイント装置１１との間で無線通信を行うことができる。ネットワーク１０には、サーバ１２などが接続されている。携帯端末装置１００は、アクセスポイント装置１１を経由して、サーバ１２と通信を行うことができる。例えば携帯端末装置１００は、サーバ１２からソフトウェアをダウンロードすることができる。
【００２４】
サーバ１２は、光ディスク１３などの可搬型の記録媒体からデータを読み取るドライブ装置を有している。光ディスク１３は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク１３には、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。サーバ１２は、光ディスク１３から読み取ったＯＳや各種ドライバなどのソフトウェアを、携帯端末装置１００に送信することもできる。
【００２５】
携帯端末装置１００は、組み込み機器の一例であり、予め内部の記憶媒体に格納されたソフトウェアや、サーバ１２などから取得したソフトウェアを実行可能なコンピュータを内蔵している。携帯端末装置１００は、内部のコンピュータにより、仮想マシンを生成することができる。仮想マシンは、ＣＰＵ、主記憶、入出力装置などのコンピュータ資源を仮想化したものである。生成された各仮想マシンは、１つのコンピュータとして使用することができる。
【００２６】
また携帯端末装置１００は、タッチセンサ付き表示装置１１０を有している。タッチセンサ付き表示装置１１０は、表示された画像に対するユーザからの接触を検出することができる。携帯端末装置１００は、ユーザが接触した位置に表示されている要素に応じて、処理を実行する。
【００２７】
図３は、携帯端末装置のハードウェア構成例を示す図である。携帯端末装置１００は、ＣＰＵ１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０３を介してメモリ１０２と複数の周辺機器が接続されている。
【００２８】
メモリ１０２は、携帯端末装置１００の主記憶装置として使用される。メモリ１０２には、ＣＰＵ１０１に実行させるＯＳのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。またメモリ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。メモリ１０２としては、例えばＲＡＭなどの半導体記憶装置が用いられる。
【００２９】
バス１０３に接続されている周辺機器には、タッチセンサ付き表示装置１１０が構成要素であるＬＣＤ装置１１１とタッチセンサ１１２とがある。ＬＣＤ装置１１１は、液晶を利用した表示装置である。タッチセンサ１１２は、接触を検知するための素子を配置した透明なスクリーンである。ＬＣＤ装置１１１は、タッチセンサ１１２で表面が覆われている。そのため、ＬＣＤ装置１１１に表示された要素をユーザが触れると、接触位置がタッチセンサで検出される。
【００３０】
バス１０３にはさらに、フラッシュメモリ１２１、カメラ１２２、モーションセンサ１２３、方位センサ１２４、位置センサ１２５、スピーカ１２６、機能ボタン１２７、および無線通信インタフェース１２８が接続されている。
【００３１】
フラッシュメモリ１２１は、不揮発性記憶素子の一種である。フラッシュメモリ１２１としては、例えばＮＡＮＤ型フラッシュメモリがある。フラッシュメモリ１２１には、例えばハイパーバイザ、ＯＳ、ドライバ、およびアプリケーションなどのソフトウェアが格納される。ＣＰＵ１０１は、フラッシュメモリ１２１からソフトウェアを読み出して、処理を実行する。
【００３２】
カメラ１２２は、ＣＣＤイメージセンサ（Charge Coupled Device Image Sensor）などの撮像素子によって、レンズを介して入射した画像を電気信号に変換する。モーションセンサ１２３は、３次元で加速度を検出するセンサである。方位センサ１２４は、携帯端末装置１００の向き（方位）を検出するセンサである。位置センサ１２５は、例えばＧＰＳ（Global Positioning System）の衛星からの信号を受信して、携帯端末装置１００の位置を検出する。スピーカ１２６は、ＣＰＵ１０１から送られた電気信号を音声に変換して出力する。機能ボタン１２７は、電源ボタンなどハードウェア的なボタンである。無線通信インタフェース１２８は、無線によって通話やデータ通信を行う。無線通信インタフェース１２８は、例えば第３世代移動通信システムによる通信や、Ｗｉ−Ｆｉ（Wireless Fidelity）による通信を行うことができる。
【００３３】
なお、図３に示した携帯端末装置１００の機能ボタン１２７は、仮想マシンの切り替えに用いるボタンではない。すなわち、携帯端末装置１００は、タッチセンサ１１２以外に、仮想マシンの切り替えに用いる入力機器を有していないことから、小型化が促進されている。
【００３４】
このようなハードウェア構成の携帯端末装置１００において、複数のＶＭを用いた処理が実行される。
図４は、ＯＳ起動時の携帯端末装置の機能を示すブロック図である。携帯端末装置１００は、ハイパーバイザ１３０を有している。コンピュータの機能を仮想化する。具体的には、ハイパーバイザ１３０は、ＣＰＵ１０１、メモリ１０２、および入出力装置を仮想化する。仮想化される入出力装置には、ＬＣＤ装置１１１やタッチセンサ１１２が含まれる。ハイパーバイザ１３０が仮想的に生成したコンピュータがＶＭである。ハイパーバイザ１３０が生成するＶＭには、管理ＶＭ１４０、ドライバＶＭ１５０，１６０、およびＯＳを実行するＶＭ１７０，１８０などがある。ＶＭ１７０，１８０には、識別子（ＶＭＩＤ）が設定されている。例えばＶＭ１７０のＶＭＩＤは「ＶＭ＃１」であり、ＶＭ１８０のＶＭＩＤは「ＶＭ＃２」である。
【００３５】
管理ＶＭ１４０では、ＯＳ起動部１４１とＶＭ間通信設定部１４２とが実行される。ＯＳ起動部１４１は、ＯＳを実行するＶＭ１７０に対して、ＯＳの実行を指示する。例えば、ＯＳ起動部１４１は、フラッシュメモリ１２１に格納されている複数のＯＳプログラムのうちの１つの実行を、ＶＭ１７０，１８０それぞれに指示する。各ＶＭ１７０，１８０は、指定されたＯＳのプログラムのブートシーケンスを実行することにより、それぞれＯＳ１７０ａ，１８０ａを起動する。ここで、ＯＳ１７０ａの識別子は「ＯＳ＃１」、ＯＳ１８０ａの識別子は「ＯＳ＃２」であるものとする。
【００３６】
ＶＭ間通信設定部１４２は、ＶＭで実行されている機能に対して、ＶＭ間通信を可能とする設定を行う。例えばＶＭ間通信設定部１４２には、ＶＭ１７０，１８０で起動されるＯＳ１７０ａ，１８０ａの識別子と、そのＯＳに通信を許可するドライバＶＭ１５０，１６０内の要素との対応関係を示す情報が予め設定されている。ＯＳとの通信を許可するドライバＶＭ１５０，１６０内の要素は、ＶＭ対応タッチセンサドライバ１５１、ＶＭ対応ＬＣＤドライバ１６１、切替制御部１６２などである。
【００３７】
そしてＶＭ間通信設定部１４２は、例えばＶＭ１７０で起動されたＯＳ１７０ａに対して、そのＯＳ１７０ａの通信相手として許可する他のＶＭのＶＭＩＤや、共有メモリ領域を送信する。同様に、他のＯＳ１８０ａやドライバＶＭ１５０，１６０内の要素に対しても、通信相手として許可するＶＭのＶＭＩＤや、共有メモリ領域が送信される。各ＶＭにおいて、他のＶＭとの共有メモリ領域はチャネルとして認識される。すなわち、各ＶＭが他のＶＭに対応するチャネルへのデータ送信処理を行うと、送信データが共有メモリ領域に書き込まれる。
【００３８】
各ＶＭ内のＯＳや要素は、通信相手のＶＭに送信するデータを、通信相手のＶＭに対応する共有メモリ領域に格納する。各ＶＭは、自己に対応するＶＭ間通信用の共有メモリ領域に対して他のＶＭから格納されたデータを、その共有メモリ領域から取得する。このようにして、ＶＭ間での通信が可能となる。なおＶＭ間通信の方式として、別の方式を適用することも可能である。例えばハイパーバイザ１３０内で仮想ネットワークを構築し、各ＶＭ内のＯＳが、ネットワーク通信と同様の処理で他のＶＭ内のＯＳと通信できるようにすることも可能である。その場合、ＶＭ間通信設定部１４２から各ＶＭ内のＯＳには、通信相手の仮想ネットワーク上でのアドレスや通信ポートが送信される。
【００３９】
ドライバＶＭ１５０は、タッチセンサ１１２からの入力切替を行うＶＭである。ドライバＶＭ１５０では、ＶＭ対応タッチセンサドライバ１５１が実行される。ＶＭ対応タッチセンサドライバ１５１は、タッチセンサ１１２からの入力信号の出力先を切り替える。すなわちユーザがタッチセンサ１１２の表面にユーザの指などが接触すると、接触位置がタッチセンサ１１２からＶＭ対応タッチセンサドライバ１５１に入力される。また、ＶＭ対応タッチセンサドライバ１５１には、ドライバＶＭ１６０で実行されている切替制御部１６２から、タッチセンサ１１２によるフォアグラウンドで動作させるＶＭの識別子（ＶＭＩＤ）が送信される。ＶＭ対応タッチセンサドライバ１５１は、タッチセンサ１１２から入力された情報を、切替制御部１６２により指定されたＯＳ内のタッチセンサドライバに送信する。
【００４０】
ドライバＶＭ１６０は、ＬＣＤ装置１１１への出力切替を行うＶＭである。また、ドライバＶＭ１６０は、タッチセンサ１１２から入力された情報の送信先のＶＭの決定、およびＬＣＤ装置１１１で表示する画像情報の取得元となるＶＭの決定を行う。そのためにドライバＶＭ１６０は、ＶＭ対応ＬＣＤドライバ１６１と切替制御部１６２とを有する。
【００４１】
ＶＭ対応ＬＣＤドライバ１６１は、ＬＣＤ装置１１１に対して、表示する画像データが格納されたフレームバッファの記憶領域を指示する。例えばＶＭ１７０で動作しているＯＳ１７０ａの画像データをＬＣＤ装置１１１に表示させる場合、ＶＭ対応ＬＣＤドライバ１６１は、ＶＭ１７０内のフレームバッファのアドレスをＬＣＤ装置１１１に送信する。なおＶＭ対応ＬＣＤドライバ１６１は、どのＶＭの画像をＬＣＤ装置１１１に表示させるのかは、切替制御部１６２からの指示に従う。例えばＶＭ対応ＬＣＤドライバ１６１には、切替制御部１６２からＬＣＤ装置１１１への表示対象のＶＭの識別子（ＶＭＩＤ）が送信される。ＶＭ対応ＬＣＤドライバ１６１は、切替制御部１６２により指定されたＶＭで実行されているＯＳのフレームバッファのアドレスをＬＣＤ装置１１１に送信する。
【００４２】
切替制御部１６２は、タッチセンサ１１２による操作対象とするＶＭの切り替え、およびＬＣＤ装置１１１への表示対象とするＶＭの切り替えを制御する。例えば切替制御部１６２は、操作対象となっているＶＭからのフロント切替通知に応じて、次の操作対象候補となるＶＭのＶＭＩＤを判断する。切替制御部１６２は、操作対象候補のＶＭを表示対象のＶＭに決定し、そのＶＭのＶＭＩＤをＶＭ対応ＬＣＤドライバ１６１に送信する。また切替制御部１６２は、操作対象となっているＶＭからのフロント切替確定通知に応じて、操作対象候補のＶＭへの操作対象の切替を決定する。そして切替制御部１６２は、操作対象候補であったＶＭのＶＭＩＤを、操作対象のＶＭのＶＭＩＤとしてＶＭ対応タッチセンサドライバ１５１に送信する。
【００４３】
図５は、切替制御部の内部構造の一例を示す図である。切替制御部１６２は、ＶＭ切替テーブル１６２ａ、操作対象ポインタ１６２ｂ、および表示対象ポインタ１６２ｃを有している。ＶＭ切替テーブル１６２ａ、操作対象ポインタ１６２ｂ、および表示対象ポインタ１６２ｃは、共にメモリ１０２内に格納される。
【００４４】
ＶＭ切替テーブル１６２ａには、操作対象のＶＭおよび表示対象のＶＭを切り替える際の順番が定義されている。図５の例では、ＶＭ切替テーブル１６２ａには、操作ＶＭと次候補ＶＭとの欄が設けられている。各欄の横方向に並べられた情報同士が対応付けられている。
【００４５】
操作ＶＭの欄には、ハイパーバイザ１３０により生成されたＶＭのＶＭＩＤが設定されている。なお操作ＶＭの欄には、ユーザインタフェースを有するプログラムを実行しているＶＭのＶＭＩＤが設定される。例えば、ＯＳが実行されているＶＭのＶＭＩＤが、操作ＶＭの欄に設定される。この場合、デバイスドライバを実行しているドライバＶＭ１５０，１６０のＶＭＩＤは、操作ＶＭの欄には設定されない。また、管理ＶＭ１４０が新たなＯＳの起動指示の受け付け用のユーザインタフェースを有していれば、管理ＶＭ１４０のＶＭＩＤを操作ＶＭの欄に設定しておくこともできる。
【００４６】
次候補ＶＭの欄には、操作ＶＭの欄の対応するＶＭＩＤで示されるＶＭがユーザからの操作対象であった場合に、ＶＭ切り替え処理によって次に操作対象となるＶＭのＶＭＩＤが設定される。例えば図５の例では、「ＶＭ＃１」のＶＭが操作対象の場合、ＶＭ切り替えが行われると、次候補ＶＭである「ＶＭ＃３」が操作対象となる。
【００４７】
操作対象ポインタ１６２ｂには、現在においてユーザからの操作対象となっているＶＭを示すポインタが設定される。例えば操作対象ポインタ１６２ｂには、ＶＭ切替テーブル１６２ａの操作ＶＭの欄における、現在において操作対象となっているＶＭのＶＭＩＤの位置を示す情報（図中矢印で示す）が設定される。図５の例では、「ＶＭ＃１」のＶＭが現在の操作対象ＶＭであることが、操作対象ポインタ１６２ｂに示されている。
【００４８】
表示対象ポインタ１６２ｃには、現在において表示対象となっているＶＭを示すポインタが設定される。例えば表示対象ポインタ１６２ｃには、ＶＭ切替テーブル１６２ａの操作ＶＭの欄における、現在において表示対象となっているＶＭのＶＭＩＤの位置を示す情報（図中矢印で示す）が設定される。図５の例では、「ＶＭ＃２」のＶＭが現在の表示対象のＶＭであることが、表示対象ポインタ１６２ｃに示されている。
【００４９】
ＶＭ切替処理開始前は、操作対象ポインタ１６２ｂと表示対象ポインタ１６２ｃとは、同じ位置を指し示している。そして、切替制御部１６２により、ＶＭ切替テーブル１６２ａに示された順番で、操作対象のＶＭおよび表示対象のＶＭの切り替えが行われる。すなわち切替制御部１６２は、操作対象のＶＭを切り替えるタイミングになると、操作対象ポインタ１６２ｂの内容を、現在の操作対象のＶＭの次候補ＶＭを指し示すように変更する。また切替制御部１６２は、表示対象のＶＭを切り替えるタイミングになると、表示対象ポインタ１６２ｃの内容を、現在の表示対象のＶＭの次候補ＶＭを指し示すように変更する。
【００５０】
例えば操作対象ポインタ１６２ｂと表示対象ポインタ１６２ｃとが、操作ＶＭの欄の「ＶＭ＃１」の位置を指しているものとする。この状態で、タッチセンサ付き表示装置１１０へのユーザからの操作によりＶＭ切替処理が開始されると、まず表示対象ポインタ１６２ｃが、次候補ＶＭの位置を指し示すように更新される。すなわち「ＶＭ＃１」に対応する次候補ＶＭ「ＶＭ＃２」である。そこで表示対象ポインタ１６２ｃは、操作ＶＭの欄の「ＶＭ＃２」の位置を指し示すように更新される。この状態で、ＶＭの切り替えが確定すると、表示対象ポインタ１６２ｃと同じ位置を指し示すように、操作対象ポインタ１６２ｂが更新される。すなわち操作対象ポインタ１６２ｂは、操作ＶＭの欄の「ＶＭ＃２」の位置を指し示すように更新される。
【００５１】
第２の実施の形態では、ユーザによる切替ボタンの押下を検出したタイミングが、表示対象のＶＭを切り替えるタイミングである。また、ユーザによる切替ボタンの押下からの解放を検出したタイミングが、操作対象のＶＭを切り替えるタイミングである。
【００５２】
次に、ＶＭ１７０，１８０で起動されたＯＳ１７０ａ，１８０ａ内の機能について説明する。
図６は、ＯＳ起動後の携帯端末装置の機能を示す図である。なお図６では、管理ＶＭ１４０については省略されている。
【００５３】
ＶＭ１７０は、ゲストＯＳと呼ばれるＯＳ、およびそのＯＳ上で実行されるアプリケーションソフトウェアを実行する。なお図６では、ＯＳの機能を実現する要素のうち、ＶＭ切替の制御に関連する要素のみを示している。
【００５４】
ＶＭ１７０は、ＯＳの機能を実現する要素として、メニュー制御部１７１、切替ボタン制御部１７２、および入出力ドライバ１７３を有する。メニュー制御部１７１は、ＬＣＤ装置１１１に操作用のメニューを表示する。メニューには、例えば複数の操作項目が含まれている。メニュー制御部１７１は、タッチセンサ１１２に対してユーザが接触した位置に表示されている操作対象項目に対応する処理機能に対し、ボタン押下を示す情報を送信する。
【００５５】
切替ボタン制御部１７２は、メニュー内の操作対象項目の１つである切替ボタンに対応付けられた処理機能である。切替ボタン制御部１７２は、切替ボタンに対するボタン押下を示す情報をメニュー制御部１７１から取得すると、ボタン押下イベントを切替操作判断部１７３ｆに送信する。ボタン押下イベントは、例えば切替操作判断部１７３ｆを起動する関数の実行命令である。また切替ボタン制御部１７２は、切替ボタンが押下状態から解放されると、ボタン解放イベントを切替操作判断部１７３ｆに送信する。
【００５６】
入出力ドライバ１７３は、入力信号の解析、および画像出力を行う。また入出力ドライバ１７３は、操作対象を他のＶＭへ切り替える要求を、切替制御部１６２へ送信する。そのために入出力ドライバ１７３は、タッチセンサドライバ１７３ａ、入力解析部１７３ｂ、画像制御部１７３ｃ、ＬＣＤドライバ１７３ｄ、フレームバッファ１７３ｅ、および切替操作判断部１７３ｆを有する。
【００５７】
タッチセンサドライバ１７３ａは、タッチセンサ１１２からの信号を受信する。タッチセンサドライバ１７３ａは、受信した信号を入力解析部１７３ｂに渡す。入力解析部１７３ｂは、タッチセンサ１１２から入力された信号を解析して、タッチセンサ１１２へのユーザの接触状況を判断する。例えば、ユーザがタッチセンサ１１２に新たに接触したのか、接触状態が終了（リリース）したのかが判断される。入力解析部１７３ｂは、判断結果をメニュー制御部１７１に送信する。例えば入力解析部１７３ｂは、接触された位置の座標やリリースされた位置の座標を、メニュー制御部１７１に送信する。
【００５８】
画像制御部１７３ｃは、ＬＣＤ装置１１１に表示する画像データを生成する。例えば画像制御部１７３ｃは、メニュー制御部１７１からメニューの情報を取得し、画像データを生成する。画像制御部１７３ｃは、生成した画像データをＬＣＤドライバ１７３ｄに渡す。
【００５９】
ＬＣＤドライバ１７３ｄは、画像制御部１７３ｃから渡された画像データをＬＣＤ装置１１１に表示可能なビットマップ形式の画像に変換し、フレームバッファ１７３ｅに格納する。
【００６０】
フレームバッファ１７３ｅは、ビットマップの画像を記憶する。例えば、メモリ１０２内の記憶領域の一部がフレームバッファ１７３ｅとして使用される。
切替操作判断部１７３ｆは、切替ボタン制御部１７２から出力されたボタン押下イベントに応じて、ＶＭの切替判断を行う。例えば切替操作判断部１７３ｆは、ボタン押下イベントが入力されると、切替モードを「Ｏｎ」にする。切替モードとは、ゲストＯＳの動作モードである。操作対象のＶＭの切り替え制御中であれば切替モードは「Ｏｎ」であり、操作対象のＶＭの切替制御中でなければ切替モードは「Ｏｆｆ」である。切替操作判断部１７３ｆは、例えば切替ボタン制御部１７２からボタン解放イベントが入力されると、切替モードを「Ｏｆｆ」に設定する。切替モードが「Ｏｎ」（切り替え制御中）に設定されている間、タッチセンサ１１２に入力される操作情報が、ＬＣＤ装置１１１に表示するＶＭを変更させるための情報として扱われる。切替操作判断部１７３ｆは、切替モードを「Ｏｎ」したときに、例えば切替制御部１６２に、ＶＭの仮切替要求を送信する。また切替操作判断部１７３ｆは、切替モードを「Ｏｆｆ」したときに、例えば切替制御部１６２に、ＶＭの切替確定要求を送信する。なお仮切替要求は、例えば表示対象のＶＭの切替を要求するコマンドである。また切替確定要求は、例えば操作対象のＶＭを、現在表示対象のＶＭに切り替えることを要求するコマンドである。
【００６１】
ＶＭ１８０は、ＯＳの機能を実現する要素として、メニュー制御部１８１、切替ボタン制御部１８２、および入出力ドライバ１８３を有する。また入出力ドライバ１８３は、タッチセンサドライバ１８３ａ、入力解析部１８３ｂ、画像制御部１８３ｃ、ＬＣＤドライバ１８３ｄ、フレームバッファ１８３ｅ、および切替操作判断部１８３ｆを有する。ＶＭ１８０内の各要素の機能は、ＶＭ１７０内の同名の要素の機能と同じである。
【００６２】
なお、図６に示す各要素間を結ぶ線は、主な通信経路を示すものであり、図示した通信経路以外の通信経路も設定可能である。
以上のような機能の携帯端末装置１００により、複数のＯＳがＶＭによって実行されると共に、タッチセンサへのユーザからの操作入力によって、操作対象となるＶＭの切り替えが行われる。
【００６３】
図６に示すように切替操作判断部１７３ｆ，１８３ｆを、ＶＭごとにＯＳのデバイスドライバとして設けた場合、例えば切替操作判断部１７３ｆ，１８３ｆの機能が、各ＯＳのアプリケーションソフトウェアによって実現できる。そして、切り替え操作開始を示すイベントを発生させる切替ボタン制御部１７２，１８２がメニュー画面上のソフトアイコン（切替ボタン）に対応付けられていることで、ソフトアイコン押下によって、切り替え操作開始を示すイベントが発生する。
【００６４】
例えばＶＭ１７０内の切替ボタン制御部１７２で発生した切り替え操作開始を示すイベントは、切替操作判断部１７３ｆで受信される。切り替え操作開始を示すイベントを受信した切替操作判断部１７３ｆは、ＶＭ仮切替要求を切替制御部１６２に送る。切替制御部１６２は、予め設定された切り替え順序情報から、次に表示対象とするＶＭを選択する。
【００６５】
例えばＶＭ１８０が表示対象として選択された場合、ＶＭ１８０で実行されているＯＳのフレームバッファのアドレスが、ＶＭ対応ＬＣＤドライバ１６１を介してＬＣＤ装置１１１に設定される。その結果、ＬＣＤ装置１１１に表示される画像は、ＶＭ１８０がＯＳを実行することで生成した画像に切り替えられる。その後、切替ボタン押下の状態が解放（リリース）状態になることによって、切替確定要求が発生する。切替確定要求は、切替操作判断部１７３ｆで受信される。切替確定要求を受信した切替操作判断部１７３ｆにより、現在の表示対象のＶＭ１８０を切り替え先として確定するためのＶＭ切替確定要求が、切替制御部１６２に送られる。すると切替制御部１６２により、タッチセンサ１１２からの位置情報の送信先が、現在の表示対象のＶＭ１８０に切り替えられる。
【００６６】
図７は、第２の実施の形態におけるＶＭ切り替え操作の一例を示す図である。図７には、ＶＭ１７０からＶＭ１８０へ、操作対象、および表示対象を切り替える場合の例を示している。第１の状態は、表示対象の切替前の状態である。第２の状態は、表示対象切替後の状態である。
【００６７】
ＶＭ１７０では「ＯＳ＃１」のＯＳ１７０ａが実行されている。そのＯＳ１７０ａのメニュー画面２０には、ソフトアイコンとして、切替ボタン２１と複数の機能ボタン２２〜２６が表示されている。
【００６８】
切替ボタン２１は、切替ボタン制御部１７２に対応するボタンである。機能ボタン２２〜２６は、ＯＳ１７０ａに実装されたアプリケーションソフトウェアなどの各種機能に対応するボタンである。
【００６９】
メニュー画面２０に含まれる切替ボタン２１が押下されると、ＶＭの切り替えが行われる。例えばユーザが指４１で切替ボタン２１を押下すると、表示対象のＶＭが切り替えられる。図５に示したＶＭ切替テーブル１６２ａでは、「ＶＭ＃１」の次候補ＶＭは「ＶＭ＃２」である。そこでＶＭＩＤが「ＶＭ＃１」のＶＭ１７０のメニュー画面２０中の切替ボタン２１が押下されると、表示対象のＶＭがＶＭ１８０に切り替えられる。
【００７０】
表示対象のＶＭが切り替えられると、携帯端末装置１００には、ＶＭ１８０で実行されているＯＳ１８０ａのメニュー画面３０が表示される。ＯＳ１８０ａのメニュー画面３０には、切替ボタン３１と複数の機能ボタン３２〜３６が表示されている。なお、ユーザが指４１でタッチセンサ付き表示装置１１０に接触している間は、表示対象はＶＭ１８０に切り替わっているが、操作対象はＶＭ１７０のままとなっている。ここで、ユーザが指４１を携帯端末装置１００のタッチセンサ付き表示装置１１０から離す（リリースする）と、操作対象のＶＭが、ＶＭ１７０からＶＭ１８０に切り替えられる。
【００７１】
すなわち切替ボタン２１の押下操作で、携帯端末装置１００に表示するＶＭの画面が変更され、切替ボタン２１のリリースによってＶＭの切替が確定される。切替の確定によって、タッチセンサからの入力経路も表示しているＶＭに切り替えられる。
【００７２】
次に、ＶＭ切替処理の手順を詳細に説明する。
図８は、第２の実施の形態のＶＭ切替処理の手順を示すシーケンス図である。以下、図８に示す処理をステップ番号に沿って説明する。
【００７３】
［ステップＳ１１］ユーザ４０が、タッチセンサ１１２の切替ボタン２１に対応する部分を押下する。
［ステップＳ１２］タッチセンサ１１２は、ユーザ４０の押下操作による指４１の接触位置を検知し、接触があったことを示す情報を、ＶＭ対応タッチセンサドライバ１５１に送信する。接触があったことを示す情報には、接触された位置の座標が含まれる。
【００７４】
［ステップＳ１３］ＶＭ対応タッチセンサドライバ１５１は、接触があったことを示す情報を受け取ると、操作対象ポインタ１６２ｂを参照し、現在において操作対象となっているＶＭを判断する。図８の例では、ＶＭ１７０が操作対象であるものとする。そしてＶＭ対応タッチセンサドライバ１５１は、操作対象のＶＭ１７０のタッチセンサドライバ１７３ａに対して、接触があったことを示す情報を送信する。この情報には、接触された位置の座標が含まれる。
【００７５】
［ステップＳ１４］タッチセンサドライバ１７３ａは、接触があったことを示す情報を受け取ると、入力解析部１７３ｂに対して、接触があったことを示す情報を送信する。この情報には、接触された位置の座標が含まれる。
【００７６】
［ステップＳ１５］入力解析部１７３ｂは、接触があったことを示す情報を取得すると、取得した情報を解析する。例えば、直前まで接触がなかった位置に新たに接触があったのであれば、入力解析部１７３ｂは、接触が開始されたと判断する。この場合、入力解析部１７３ｂは、接触開始を示す情報をメニュー制御部１７１に送信する。接触開始を示す情報には、接触が開始された位置の座標が含まれる。
【００７７】
［ステップＳ１６］メニュー制御部１７１は、接触開始を示す情報を取得すると、接触が開始された位置に表示されているオブジェクトを判断する。接触が開始された位置に、処理機能が対応付けられたオブジェクト（例えばボタン）が表示されている場合、メニュー制御部１７１は、そのオブジェクトに対応する機能を実行する。図８の例では、接触が開始された位置に、切替ボタン２１が表示されているものとする。この場合、メニュー制御部１７１は、切替ボタン制御部１７２に対してボタン押下を示す情報を送信する。ボタン押下を示す情報には、接触された位置を示す座標が含まれる。
【００７８】
［ステップＳ１７］切替ボタン制御部１７２は、ボタン押下を示す情報を取得すると、ボタン押下イベントを、切替操作判断部１７３ｆに送信する。
［ステップＳ１８］切替操作判断部１７３ｆは、ボタン押下イベントを取得すると、切替モードを「Ｏｎ」に変更する。そして切替操作判断部１７３ｆは、次候補へのＶＭ仮切替要求を、切替制御部１６２に送信する。
【００７９】
［ステップＳ１９］切替制御部１６２は、ＶＭ切替テーブル１６２ａと操作対象ポインタ１６２ｂとを参照し、次候補のＶＭを特定する。すなわち切替制御部１６２は、操作対象ポインタ１６２ｂで指し示されているＶＭの次候補ＶＭとして設定されているＶＭＩＤを取得する。そして切替制御部１６２は、表示切替要求をＶＭ対応ＬＣＤドライバ１６１に送信する。表示切替要求には、次候補のＶＭのＶＭＩＤが含まれる。
【００８０】
［ステップＳ２０］ＶＭ対応ＬＣＤドライバ１６１は、表示切替要求に応じて、表示対象のフレームバッファを選択する。例えばＶＭ対応ＬＣＤドライバ１６１は、各ＶＭ１７０，１８０のＶＭＩＤそれぞれに対応付けて、それぞれで動作しているＯＳ１７０ａ，１８０ａのフレームバッファのアドレスが設定されている。ＶＭ対応ＬＣＤドライバ１６１は、表示切替要求に含まれるＶＭＩＤで示されたＶＭで動作しているＯＳのフレームバッファのアドレスを選択する。図８の例では、ＶＭ１７０で動作しているＯＳのフレームバッファのアドレスが選択される。
【００８１】
なお現段階では、表示対象の切り替えは未確定であり、切り替えがキャンセルされる可能性が残されている。そこでＶＭ対応ＬＣＤドライバ１６１は、例えば、表示対象のＶＭの切り替え前のフレームバッファのアドレスをメモリに保持しておく。ＶＭ対応ＬＣＤドライバ１６１は、切り替えがキャンセルされた場合には、保持しておいた表示対象のＶＭの切り替え前のフレームバッファのアドレスをＬＣＤ装置１１１に指定することで、表示対象のＶＭを元に戻すことができる。
【００８２】
［ステップＳ２１］ＶＭ対応ＬＣＤドライバ１６１は、表示バッファ指定をＬＣＤ装置１１１に送信する。表示バッファ指定には、ステップＳ２０で選択したフレームバッファのアドレスによって、ＬＣＤ装置１１１で表示する画像の格納場所が指定されている。するとＬＣＤ装置１１１は、表示する画像の取得元を、表示バッファ指定によって指定されたフレームバッファに切り替える。
【００８３】
このようにして、表示対象のＶＭが切り替えられ、次候補のＶＭで実行されているＯＳの画面がＬＣＤ装置１１１に表示される。
［ステップＳ２２］ユーザ４０は、表示されたＯＳに操作対象を切り替えるのであれば、タッチセンサ付き表示装置１１０から、指等の接触部を離す。すなわち、切替ボタンの解放（リリース）が行われる。
【００８４】
［ステップＳ２３］タッチセンサ１１２は、切替ボタンが解放されたことを検知し、接触状態が解放されたことを示す情報をＶＭ対応タッチセンサドライバ１５１に送信する。
［ステップＳ２４］ＶＭ対応タッチセンサドライバ１５１は、接触状態が解放されたことを示す情報を受け取ると、操作対象ポインタ１６２ｂを参照し、現在において操作対象となっているＶＭを判断する。図８の例では、ＶＭ１７０が操作対象であるものとする。そしてＶＭ対応タッチセンサドライバ１５１は、操作対象のＶＭ１７０のタッチセンサドライバ１７３ａに対して、接触状態が解放されたことを示す情報を送信する。
【００８５】
［ステップＳ２５］タッチセンサドライバ１７３ａは、接触状態が解放されたことを示す情報を受け取ると、入力解析部１７３ｂに対して、接触状態が解放されたことを示す情報を送信する。
【００８６】
［ステップＳ２６］入力解析部１７３ｂは、接触状態が解放されたことを示す情報を取得すると、取得した情報を解析する。例えば、接触されていた位置の移動を経ずに接触状態が解放されたのであれば、入力解析部１７３ｂは、接触終了と判断する。この場合、入力解析部１７３ｂは、接触終了を示す情報をメニュー制御部１７１に送信する。
【００８７】
なお、接触されていた位置が移動された後に接触状態が解放された場合、例えば入力解析部１７３ｂは、ボタン表示位置の変更操作が行われたものと解釈し、変更後の位置をメニュー制御部１７１に送信する。
【００８８】
［ステップＳ２７］メニュー制御部１７１は、接触終了を示す情報を取得すると、接触状態が終了したオブジェクトに対して、ボタン解放を示す情報を送信する。図８の例では、切替ボタン制御部１７２に対してボタン解放を示す情報が送信される。
【００８９】
［ステップＳ２８］切替ボタン制御部１７２は、ボタン解放を示す情報を取得すると、ボタン解放イベントを、切替操作判断部１７３ｆに送信する。
［ステップＳ２９］切替操作判断部１７３ｆは、ボタン解放イベントを取得すると、切替モードを「Ｏｆｆ」に変更する。そして切替操作判断部１７３ｆは、次候補への切替の確定を示すＶＭ切替確定要求を、切替制御部１６２に送信する。
【００９０】
［ステップＳ３０］切替制御部１６２は、ＶＭ切替確定要求を取得すると、表示切替の確定を示す表示切替要求を、ＶＭ対応ＬＣＤドライバ１６１に送信する。ＶＭ対応ＬＣＤドライバ１６１では、ステップＳ２０で選択したフレームバッファを、表示バッファとして確定する。
【００９１】
［ステップＳ３１］切替制御部１６２は、ＶＭ対応ＬＣＤドライバ１６１から、表示切替の確定結果を取得する。例えば切替制御部１６２は、ＶＭ対応ＬＣＤドライバ１６１に対して、現在の表示対象のフレームバッファに対応するＶＭＩＤを要求する。切替制御部１６２は、ＶＭ対応ＬＣＤドライバ１６１から応答されたＶＭＩＤが、切替先として確定したＶＭのＶＭＩＤと一致することを確認する。
【００９２】
［ステップＳ３２］切替制御部１６２は、表示対象のＶＭの切替が確定すると、操作切替要求を、ＶＭ対応タッチセンサドライバ１５１に送信する。操作切替要求には、切替先として確定したＶＭのＶＭＩＤが含まれる。
【００９３】
［ステップＳ３３］ＶＭ対応タッチセンサドライバ１５１は、操作切替要求を取得すると、操作切替要求で指定されたＶＭＩＤに対応するＶＭに、操作対象を切り替える。すなわちＶＭ対応タッチセンサドライバ１５１は、以後のタッチセンサ１１２からの入力情報を、操作切替要求で指定されたＶＭＩＤに対応するＶＭに送信する。
【００９４】
このようにして、タッチセンサ１１２へのユーザからの操作入力に応じたＶＭの切替が行われる。以下、切替操作判断部１７３ｆと切替制御部１６２との処理について、詳細に説明する。
【００９５】
図９は、第２の実施の形態のＶＭ切替判断処理の手順を示すフローチャートである。以下、図９に示す処理をステップ番号に沿って説明する。
［ステップＳ４１］切替操作判断部１７３ｆは、切替ボタン制御部１７２からのイベントを取得する。
【００９６】
［ステップＳ４２］切替操作判断部１７３ｆは、切替モードが「Ｏｎ」か否かを判断する。なお切替モードの初期状態は「Ｏｆｆ」である。切替操作判断部１７３ｆは、切替モードが「Ｏｎ」であれば処理をステップＳ４６に進める。切替操作判断部１７３ｆは、切替モードが「Ｏｆｆ」であれば処理をステップＳ４３に進める。
【００９７】
［ステップＳ４３］切替操作判断部１７３ｆは、切替モードが「Ｏｆｆ」の場合、取得したイベントがボタン押下イベントか否かを判断する。切替操作判断部１７３ｆは、ボタン押下イベントであれば処理をステップＳ４４に進める。切替操作判断部１７３ｆは、ボタン押下イベントでなければ処理を終了する。
【００９８】
［ステップＳ４４］切替操作判断部１７３ｆは、切替モードを「Ｏｎ」にする。
［ステップＳ４５］切替操作判断部１７３ｆは、ＶＭ仮切替要求を切替制御部１６２に送信する。その後、処理が終了する。
【００９９】
［ステップＳ４６］切替操作判断部１７３ｆは、切替モードが「Ｏｎ」の場合、取得したイベントがボタン解放イベントか否かを判断する。切替操作判断部１７３ｆは、ボタン解放イベントであれば処理をステップＳ４７に進める。切替操作判断部１７３ｆは、ボタン解放イベントでなければ処理を終了する。
【０１００】
［ステップＳ４７］切替操作判断部１７３ｆは、切替モードを「Ｏｆｆ」にする。
［ステップＳ４８］切替操作判断部１７３ｆは、ＶＭ切替確定要求を、切替制御部１６２に送信する。その後、処理が終了する。
【０１０１】
このようにして、切替ボタン制御部１７２から取得したイベントに応じた処理が行われる。例えば、ボタン押下イベントを受信した場合、切り替えモードの初期状態のままであり、「Ｏｆｆ」状態であると判断される。さらに、ボタン押下イベントか否かの判定においてＹＥＳと判断され、切替モードが「Ｏｎ」に変更される。そして、切替制御部１６２に対して、ＶＭ仮切替要求が送信される。
【０１０２】
他方、ボタン解放イベントを受信した場合、その時の切替モードは「Ｏｎ」状態なので、ボタン解放イベントか否かが判断する。切替モードは「Ｏｎ」の状態で発行されるイベントのうち、ボタン解放イベント以外のイベントとしては、例えば横移動のイベントがある。ボタン解放イベントであれば、切替モードが「Ｏｆｆ」に設定される。そして、切替制御部１６２に、ＶＭ切替確定要求が送信される。
【０１０３】
このようにして、切り替えソフトボタンからのボタン押下イベントとボタン解放イベントに応じて、切り替え操作開始を示すＶＭ仮切替要求や切替確定要求が出される。
次に、切替制御部１６２による切替制御処理を詳細に説明する。
【０１０４】
図１０は、第２の実施の形態の切替制御処理の手順を示すフローチャートである。以下、図１０に示す処理をステップ番号に沿って説明する。
［ステップＳ５１］切替制御部１６２は、他のＶＭからのメッセージを受信する。
【０１０５】
［ステップＳ５２］切替制御部１６２は、受信したメッセージが操作対象のＶＭからのメッセージか否かを判断する。切替制御部１６２は、操作対象のＶＭからのメッセージであれば、処理をステップＳ５３に進める。切替制御部１６２は、操作対象のＶＭ以外のＶＭからのメッセージであれば、切替制御処理を終了する。
【０１０６】
［ステップＳ５３］切替制御部１６２は、受信したメッセージの内容が、ＶＭ仮切替要求か否かを判断する。切替制御部１６２は、ＶＭ仮切替要求であれば処理をステップＳ５４に進める。切替制御部１６２は、ＶＭ仮切替要求でなければ処理をステップＳ５７に進める。
【０１０７】
［ステップＳ５４］切替制御部１６２は、ＶＭ仮切替要求を受信した場合、現在表示対象のＶＭの次候補ＶＭを取得する。具体的には、切替制御部１６２は、ＶＭ切替テーブル１６２ａの中から、表示対象ポインタ１６２ｃで指し示されている操作ＶＭを特定する。そして、切替制御部１６２は、特定した操作ＶＭに対応付けられた次候補ＶＭのＶＭＩＤを取得する。
【０１０８】
［ステップＳ５５］切替制御部１６２は、次候補ＶＭへの画面切替指示を行う。具体的には、切替制御部１６２は、表示対象ポインタ１６２ｃで指し示された位置のＶＭのＶＭＩＤを指定した表示切替要求を、ＶＭ対応ＬＣＤドライバ１６１に送信する。
【０１０９】
［ステップＳ５６］切替制御部１６２は、表示対象のＶＭを更新する。例えば、切替制御部１６２は、ステップＳ５４で取得した次候補ＶＭを操作ＶＭとするＶＭ切替テーブル１６２ａ内のレコードの位置を、表示対象ポインタ１６２ｃに設定する。その後、処理が終了する。
【０１１０】
［ステップＳ５７］切替制御部１６２は、取得したメッセージの内容がＶＭ切替要求でない場合、ＶＭ切替確定要求か否かを判断する。切替制御部１６２は、ＶＭ切替確定要求であれば、処理をステップＳ５８に進める。また切替制御部１６２は、ＶＭ切替確定要求でなければ、処理を終了する。
【０１１１】
［ステップＳ５８］切替制御部１６２は、ＶＭ切替確定要求を取得した場合、表示対象のＶＭを、操作対象のＶＭとする。具体的には、切替制御部１６２は、表示対象ポインタ１６２ｃに設定されている情報を、操作対象ポインタ１６２ｂに設定する。これにより、操作対象ポインタ１６２ｂと表示対象ポインタ１６２ｃとは、ＶＭ切替テーブル１６２ａ内の同じレコードを指し示すこととなる。
【０１１２】
［ステップＳ５９］切替制御部１６２は、表示切替確定指示を行う。具体的には、切替制御部１６２は、ＶＭ対応ＬＣＤドライバ１６１に対して、表示切替確定を示す表示切替要求を送信する。その後、切替制御部１６２は、ＶＭ対応ＬＣＤドライバ１６１から表示切替の確定結果を取得し、正しく切り替えられたことを確認する。
【０１１３】
［ステップＳ６０］切替制御部１６２は、操作対象ＶＭの切替指示を行う。具体的には、切替制御部１６２は、ＶＭ対応タッチセンサドライバ１５１に対して、切替先のＶＭのＶＭＩＤを指定した操作切替要求を送信する。切替先のＶＭのＶＭＩＤは、操作対象ポインタ１６２ｂで指し示されている位置に設定されているＶＭＩＤである。その後、処理が終了する。
【０１１４】
図１１は、仮切替要求の通信例を示す図である。ＶＭ１７０の切替操作判断部１７３ｆは、切替要求送信先１７３−１を保持している。切替要求送信先１７３−１は、仮切替要求の送信先となるチャネルの識別番号（チャネル番号）である。切替要求送信先１７３−１のチャネル番号は、例えばＶＭ１７０内のＯＳ１７０ａの起動時に、ＶＭ間通信設定部１４２により通知される。図１１の例では、切替要求送信先１７３−１として「channel#1」が設定されている。
【０１１５】
ハイパーバイザ１３０は、ＶＭ間の通信に用いるチャネルに対応するリングバッファ１３１を有している。図１１に示すリングバッファ１３１は、チャネル番号「channel#1」のチャネルに対応付けられており、ＶＭ１７０からドライバＶＭ１６０への情報の送信に使用される。リングバッファ１３１は、ＶＭ１７０の共有メモリ１７４内のアドレスを示すインデックスを格納する単位記憶領域が複数設けられている。またリングバッファ１３１には、送信側カレントポインタと受信側カレントポインタとが設定されている。
【０１１６】
送信側カレントポインタは、情報を送信するＶＭ１７０が次にインデックスを書き込む単位記憶領域の位置を示す情報である。送信側カレントポインタは、単位記憶領域にインデックスが書き込まれるごとに、指し示す単位記憶領域が１つずつずらされる。リングバッファ１３１の最後尾の単位記憶領域にインデックスが書き込まれた場合、送信側カレントポインタが指し示す位置は、リングバッファ１３１の先頭の単位記憶領域の位置に変更される。
【０１１７】
受信側カレントポインタは、情報を受信するドライバＶＭ１６０が、次にインデックスを読み出す単位記憶領域の位置を示すポインタである。受信側カレントポインタは、単位記憶領域からインデックスが読み出されるごとに、指し示す単位記憶領域が１つずつずらされる。リングバッファ１３１の最後尾の単位記憶領域からインデックスが読み出された場合、送信側カレントポインタが指し示す位置は、リングバッファ１３１の先頭の単位記憶領域の位置に変更される。
【０１１８】
切替操作判断部１７３ｆは、仮切替要求をドライバＶＭ１６０に送信する場合、仮切替要求を共有メモリ１７４に格納する。なお仮切替要求は、例えばＶＭの仮切替を要求するコマンドである。次に切替操作判断部１７３ｆは、切替要求送信先１７３−１から、ドライバＶＭ１６０への情報の送信に使用するチャネルのチャネル番号を取得する。次に切替操作判断部１７３ｆは、取得したチャネル番号に対応するリングバッファ１３１における送信側カレントポインタで示される単位記憶領域に、仮切替要求を格納した共有メモリ１７４内の位置を示すインデックスを格納する。するとハイパーバイザ１３０により、送信側カレントポインタが示す単位記憶領域の位置が、次の単位記憶領域の位置にずらされる。
【０１１９】
さらに切替操作判断部１７３ｆは、切替要求送信先１７３−１で示されるチャネル番号を指定して、情報送信イベントの発生を示すハイパーバイザコールをハイパーバイザ１３０に対して出力する。するとハイパーバイザ１３０は、指定されたチャネルの受信側であるドライバＶＭ１６０に対して、チャネル番号を指定して、受信情報の発生を示すシグナルを出力する。ドライバＶＭ１６０の切替制御部１６２は、シグナルを受け取ることで受信情報があることを認識し、リングバッファ１３１の受信側カレントポインタで示される単位記憶領域からインデックスを読み出す。するとハイパーバイザ１３０により、受信側カレントポインタが示す単位記憶領域の位置が、次の単位記憶領域の位置にずらされる。
【０１２０】
リングバッファ１３１からインデックスを読み出した切替制御部１６２は、ＶＭ１７０の共有メモリ１７４内のインデックスで示される位置から、仮切替要求を取得する。
このようにして、ＶＭ１７０からドライバＶＭ１６０へ、仮切替要求が送信される。なお、図１１では仮切替要求の送信処理として説明したが、切替確定要求も同様の処理によって送信することができる。
【０１２１】
次に、ＶＭ対応ＬＣＤドライバ１６１による画面切替処理について詳細に説明する。
図１２は、ＬＣＤの表示切替処理の一例を示す図である。メモリ１０２の記憶領域には、ハイパーバイザ用領域１０２ａ、ＶＭ＃１用領域１０２ｂ、ＶＭ＃２用領域１０２ｃが設けられている。ＶＭ＃１用領域１０２ｂには、ＶＭＩＤが「ＶＭ＃１」であるＶＭ１７０のフレームバッファ領域１０２ｄが含まれている。フレームバッファ領域１０２ｄの開始アドレスは「add#1」である。ＶＭ＃２用領域１０２ｃには、ＶＭＩＤが「ＶＭ＃２」であるＶＭ１８０のフレームバッファ領域１０２ｅが含まれている。フレームバッファ領域１０２ｅの開始アドレスは「add#2」である。
【０１２２】
ＶＭ対応ＬＣＤドライバ１６１は、フレームバッファアドレスリスト１６１ａを有している。フレームバッファアドレスリスト１６１ａには、各ＶＭに対応付けて、ＶＭのフレームバッファ領域の開始アドレスが設定されている。
【０１２３】
ＬＣＤ装置１１１は、ＤＭＡ（Direct Memory Access）制御部１１１ａ、フレームバッファ１１１ｂ、表示制御部１１１ｃ、および液晶画面１１１ｄを有している。ＤＭＡ制御部１１１ａは、取得元開始アドレス１１１ｅを内部のメモリに保持している。取得元開始アドレス１１１ｅは、画像データの取得元となるフレームバッファの開始アドレスである。ＤＭＡ制御部１１１ａは、メモリ１０２内の取得元開始アドレス１１１ｅに示されたアドレスから開始されるフレームバッファ領域内の画像データを所定間隔（例えば１秒間に６０回）で定期的に、フレームバッファ１１１ｂにＤＭＡ転送する。フレームバッファ１１１ｂは、画面に表示する画像データを記憶するメモリである。表示制御部１１１ｃは、フレームバッファ１１１ｂに格納された画像データに基づいて、液晶画面１１１ｄに画像を表示させる回路である。液晶画面１１１ｄは、液晶を用いた表示装置である。
【０１２４】
ここで、ドライバＶＭ１６０内の切替制御部１６２が、ＶＭＩＤ「ＶＭ＃２」に更新する場合を想定する。この場合、切替制御部１６２により、表示対象ポインタ１６２ｃ（図５参照）の指し示す位置が、ＶＭ切替テーブル１６２ａ内の「ＶＭ＃２」の位置に変更される。すると、切替制御部１６２からＶＭ対応ＬＣＤドライバ１６１へ、表示対象ポインタ１６２ｃが指し示す位置のＶＭＩＤ「ＶＭ＃２」が出力される。
【０１２５】
ＶＭ対応ＬＣＤドライバ１６１は、ＶＭＩＤ「ＶＭ＃２」を受信すると、フレームバッファアドレスリスト１６１ａを参照し、ＶＭＩＤ「ＶＭ＃２」に対応するアドレス「add#2」を取得する。そしてＶＭ対応ＬＣＤドライバ１６１は、取得したアドレス「add#2」を、ＬＣＤ装置１１１に送信する。
【０１２６】
ＬＣＤ装置１１１のＤＭＡ制御部１１１ａは、受信したアドレス「add#2」を取得元開始アドレス１１１ｅとして記憶する。そしてＤＭＡ制御部１１１ａは、アドレス「add#2」から開始されるフレームバッファ領域１０２ｅ内の画像データを、定期的にフレームバッファ１１１ｂにＤＭＡ転送する。フレームバッファ１１１ｂに書き込まれた画像データの内容は、表示制御部１１１ｃにより液晶画面１１１ｄに表示される。
【０１２７】
このようにして、表示画面が切り替えられる。
次に、タッチセンサからの入力の送信先切替処理について詳細に説明する。
図１３は、送信先切替処理の一例を示す図である。ＶＭ対応タッチセンサドライバ１５１は、操作ＶＭ情報１５１ａとチャネルリスト１５１ｂとを記憶している。操作ＶＭ情報１５１ａは、現在の操作対象となっているＶＭのＶＭＩＤである。チャネルリスト１５１ｂには、ＯＳを実行するＶＭごとに、ＶＭへの入力情報の送信に使用するチャネルのチャネル番号が設定されている。なお、各ＶＭに対応するチャネルのチャネル番号は、ＯＳを実行するＶＭが起動された際に、ＶＭ間通信設定部１４２によって通知される。
【０１２８】
またＶＭ対応タッチセンサドライバ１５１は、ＶＭ間通信に使用する共有メモリ１５１ｃを有している。
ＶＭ対応タッチセンサドライバ１５１は、ドライバＶＭ１６０内の切替制御部１６２からＶＭ間通信によりＶＭＩＤ「ＶＭ＃２」を取得する。なお、切替制御部１６２からＶＭ対応タッチセンサドライバ１５１へのＶＭ間通信の方法は、図１１に示した仮切替要求の通信方法と同様である。ＶＭ対応タッチセンサドライバ１５１は、切替制御部１６２からＶＭＩＤ「ＶＭ＃２」を受け取ると、そのＶＭＩＤを操作ＶＭ情報１５１ａとして記憶する。
【０１２９】
その後、タッチセンサ１１２から、例えば接触した位置の座標が入力される。するとＶＭ対応タッチセンサドライバ１５１は、入力された座標を共有メモリ１５１ｃに格納する。次にＶＭ対応タッチセンサドライバ１５１は、チャネルリスト１５１ｂから、操作ＶＭ情報１５１ａで示されるＶＭＩＤ「ＶＭ＃２」に対応するチャネルＩＤ「channel#12」を取得する。さらにＶＭ対応タッチセンサドライバ１５１は、取得したチャネルＩＤ「channel#12」に対応する、ハイパーバイザ１３０内のリングバッファに、座標を格納した共有メモリ１５１ｃ内の位置を示すインデックスを格納する。そしてＶＭ対応タッチセンサドライバ１５１は、チャネルＩＤ「channel#12」への送信情報があることを示すハイパーバイザコールを、ハイパーバイザ１３０に出力する。ＶＭ対応タッチセンサドライバ１５１がこのような動作を行うことで、図１１に示した仮切替要求のＶＭ間通信と同様のＶＭ間通信により、タッチセンサ１１２からの入力情報が、現在の操作対象のＶＭに送信される。
【０１３０】
以上のようにして、タッチセンサ付き表示装置１１０への操作によりＶＭの切り替えが可能となり、携帯端末装置１００の小型化が促進されている。しかも、フォアグラウンドで動作しているＶＭを全画面で表示している状態からＶＭの切り替えが可能であり、表示画面を有効に利用できる。
【０１３１】
さらに、ＶＭの切り替え操作の検出やＶＭ切り替え制御をＶＭ上で実行するため、物理ボタン押下のように、ハイパーバイザ１３０で入出力経路の切り替え機能を持たなくてもＶＭの切り替えが可能となる。また、切替モードを管理し、切り替えが確定するまでは仮切り替えとして表示対象のＶＭのみを切り替えるため、ユーザは、入力経路を切り替える前に表示されたＶＭの画像を参照して、切り替え先のＶＭが適切かどうかを判断することができる。
【０１３２】
〔第３の実施の形態〕
次に、第３の実施の形態について説明する。第３の実施の形態は、ＬＣＤ装置１１１に表示された切替ボタン押下後の指の横移動の操作により、表示対象ＶＭを更新するものである。なお第３の実施の形態における携帯端末装置の機能構成は、図４、図６に示した第２の実施の形態の構成と同様である。ただし、第３の実施の形態は、ドライバＶＭ１６０内にフレームバッファが設けられている。またＶＭ対応ＬＣＤドライバ１６１が、各ＶＭ１７０，１８０のＬＣＤドライバ１７３ｄ，１８３ｄから画像を取得した画像の合成画像を格納する。以下、図４、図６に示した各要素を用いて、第３の実施の形態について説明する。
【０１３３】
図１４は、第３の実施の形態におけるＶＭ切り替え操作の一例を示す図である。図１４には、ＶＭ１７０からＶＭ１８０へ、操作対象、および表示対象を切り替える場合の例を示している。第１の状態は、表示対象の切替前の状態である。第２の状態は、表示対象切替中の状態である。第３の状態は、表示対象切替後の状態である。
【０１３４】
ユーザが指４１で切替ボタン３１を押下し、指４１をタッチセンサ付き表示装置１１０に接触させたまま横移動させる（第１の状態）。すると、携帯端末装置１００は、移動速度に応じた量だけ、表示対象のＶＭで動作しているＯＳ（ＯＳ＃１）の画像を横にスクロールさせる（第２の状態）。図１４の例では、移動方向と反対方向に画像がスクロールしている。この際、表示対象のＶＭで動作しているＯＳ（ＯＳ＃１）の画像がスクロールした分だけ、次候補となるＶＭで動作しているＯＳ（ＯＳ＃２）の画像が表示される。そして、ユーザが指４１をタッチセンサ付き表示装置１１０から離すと、そのとき画面の半分以上で表示されているＶＭのＯＳが画面全体に表示される（第３の状態）。そして画面全体に表示されたＯＳを実行しているＶＭが操作対象となる。
【０１３５】
このようにスクロールさせながら画面を徐々に切り替えることで、切替ボタン３１を離すまでの間に、切替先のＶＭが適切かどうかを判断できる。
なお図１４の例では、指４１をタッチセンサ付き表示装置１１０に接触させた状態で、指４１を右に移動させた場合、正の方向の横移動と判断される。正の方向への横移動であれば、表示対象のＶＭが次候補ＶＭに切り替えられる。他方、指４１をタッチセンサ付き表示装置１１０に接触させた状態で、指４１を左に移動させた場合、負の方向の横移動と判断される。負の方向への横移動であれば、表示対象のＶＭが、前の順番のＶＭに切り替えられる。
【０１３６】
ソフトアイコンである切替ボタン２１を使用している場合、切替モードが「Ｏｎ」であるのは、切替ボタン２１を押下した状態にある場合である。切替モードが「Ｏｎ」の状態で、指を横移動させることで、指の移動速度が算出され、その移動速度から画面をスクロールするための移動量が求められる。そして、２つのＯＳの画像が結合され、タッチセンサ付き表示装置１１０に表示される画面が、算出された移動量分だけ横にスクロールされる。
【０１３７】
なお図１４に示す第２の状態のような画面は、フレームバッファ内の画像を合成することで生成される。このとき、操作対象ポインタ１６２ｂ（図５参照）で示されたＶＭで実行されているＯＳの画像が左側に表示され、表示対象ポインタ１６２ｃ（図５参照）で示されたＶＭで実行されているＯＳの画像が右側に表示されている。すなわち図１４に示す第２の状態では、操作対象ポインタ１６２ｂで示されたＶＭと表示対象ポインタ１６２ｃで示されたＶＭとの両方が表示対象となっている。
【０１３８】
図１５は、画像合成例を示す図である。例えば表示対象をＶＭ１７０からＶＭ１８０に切り替える場合、フレームバッファ１７３ｅ内の画像と、フレームバッファ１８３ｅ内の画像とが合成される。例えばＶＭ対応ＬＣＤドライバ１６１が各ＯＳのフレームバッファから合成対象画像を取得する。この際、ＶＭ対応ＬＣＤドライバ１６１は、表示対象のＶＭで実行されているＯＳのフレームバッファ１７３ｅ内の画像のうち、左端から、スクロールによる移動量分の距離離れた位置までの矩形の領域を除外した残りの領域の画像を、合成対象画像とする。またＶＭ対応ＬＣＤドライバ１６１は、次候補のＶＭで実行されているＯＳのフレームバッファ１８３ｅ内の画像のうち、左端から、画面の横幅からスクロールによる移動量分の距離だけ離れた位置までの矩形の領域の画像を、合成対象画像とする。そしてＶＭ対応ＬＣＤドライバ１６１は、表示対象のＶＭの合成対象画像を左側に、次候補のＶＭの合成対象画像を右側に配置した合成画像を、フレームバッファ１６１ｂに格納する。ＶＭ対応ＬＣＤドライバ１６１が、ＬＣＤ装置１１１に対してフレームバッファ１６１ｂのアドレスを指定して画面表示を行わせることで、合成された画像が表示される。
【０１３９】
なお、ＬＣＤ装置１１１内部で画像の合成機能を備えている場合、ＶＭ対応ＬＣＤドライバ１６１がフレームバッファ１６１ｂを有していなくてもよい。その場合、例えばＶＭ対応ＬＣＤドライバ１６１は、合成画像に含まれる合成対象画像が格納されている各フレームバッファのアドレスと、各フレームバッファから読み出す画像の領域、およびその画像の表示位置をＬＣＤ装置１１１に送信する。
【０１４０】
以下、第３の実施の形態におけるＶＭ切替処理を詳細に説明する。
図１６は、第３の実施の形態のＶＭ切替処理の前半を示すシーケンス図である。以下、図１６に示す処理をステップ番号に沿って説明する。なお、ステップＳ７１〜Ｓ７８の処理は、図８に示すステップＳ１１〜Ｓ１８の処理と同じである。
【０１４１】
［ステップＳ７９］切替制御部１６２は、表示対象のＶＭの次候補ＶＭを取得し、表示対象のＶＭと、そのＶＭの次候補ＶＭとの表示画面の合成指示をＶＭ対応ＬＣＤドライバ１６１に送信する。表示画面の合成指示には、次候補のＶＭのＶＭＩＤが含まれる。
【０１４２】
［ステップＳ８０］ＶＭ対応ＬＣＤドライバ１６１は、表示対象のＶＭと、そのＶＭの次候補ＶＭとのそれぞれのＯＳのフレームバッファ内の画像を結合した合成画像を生成する。
【０１４３】
なお、切替ボタン押下直後においては、移動量は「０」であり、表示対象のＶＭで実行されているＯＳの画像全体が、合成対象画像となる。
［ステップＳ８１］ＶＭ対応ＬＣＤドライバ１６１は、表示する画像が格納されたフレームバッファのアドレスを含む表示バッファ指定を、ＬＣＤ装置１１１に送信する。
【０１４４】
［ステップＳ８２］ユーザ４０が切替ボタン３１を押下したまま指４１を横に移動させる。
［ステップＳ８３］タッチセンサ１１２は、ユーザ４０の指４１の接触位置を検知し、接触があったことを示す情報を、ＶＭ対応タッチセンサドライバ１５１に送信する。接触があったことを示す情報には、接触された位置の座標が含まれる。なお、タッチセンサ１１２による接触位置の検知は、所定のサンプリング周期で繰り返し行われる。
【０１４５】
［ステップＳ８４］ＶＭ対応タッチセンサドライバ１５１は、接触があったことを示す情報を受け取ると、操作対象ポインタ１６２ｂを参照し、現在において操作対象となっているＶＭを判断する。そしてＶＭ対応タッチセンサドライバ１５１は、操作対象のＶＭ１７０のタッチセンサドライバ１７３ａに対して、接触があったことを示す情報を送信する。この情報には、接触された位置の座標が含まれる。
【０１４６】
［ステップＳ８５］タッチセンサドライバ１７３ａは、接触があったことを示す情報を受け取ると、入力解析部１７３ｂに対して、接触があったことを示す情報を送信する。この情報には、接触された位置の座標が含まれる。
【０１４７】
［ステップＳ８６］入力解析部１７３ｂは、接触があったことを示す情報を取得すると、座標リストを更新する。具体的には入力解析部１７３ｂは、横移動によって取得した座標を、座標の取得時刻に対応付けて座標リストに登録する。タッチセンサ１１２が所定のサンプリング周期で接触された位置の座標を取得するため、座標リストには、ユーザ４０が指４１を横移動している間、継続して座標が蓄積されていく。
【０１４８】
［ステップＳ８７］切替ボタン制御部１７２は、入力解析部１７３ｂが有する座標リストを取得する。
［ステップＳ８８］切替ボタン制御部１７２は、ボタン移動イベントを切替操作判断部１７３ｆに対して送信する。ボタン移動イベントには、座標リストが含まれる。
【０１４９】
［ステップＳ８９］切替操作判断部１７３ｆは、ボタン移動イベントを取得すると、切替ボタン３１の移動開始時からの移動速度を計算する。そして切替操作判断部１７３ｆは、移動速度を指定したＶＭ仮切替要求を切替制御部１６２に送信する。
【０１５０】
［ステップＳ９０］切替制御部１６２は、移動速度に基づいて、移動量を計算する。
［ステップＳ９１］切替制御部１６２は、移動量を指定したスクロール指示をＶＭ対応ＬＣＤドライバ１６１に送信する。
【０１５１】
［ステップＳ９２］ＶＭ対応ＬＣＤドライバ１６１は、指定された移動量に応じて、表示対象のＶＭで実行されているＯＳのフレームバッファ内の合成対象画像と、次候補のＶＭで実行されているＯＳのフレームバッファ内の合成対象画像とを決定する。そして、ＶＭ対応ＬＣＤドライバ１６１は、決定した合成対象画像を結合した合成画像を生成する。
【０１５２】
［ステップＳ９３］ＶＭ対応ＬＣＤドライバ１６１は、合成画像が格納されているフレームバッファのアドレスをＬＣＤ装置１１１に指定する。これにより、スクロールさせた画面が表示される。
【０１５３】
図１７は、入力解析部で生成される座標リストの一例を示す図である。座標リスト６０には、座標に対応付けて、座標の取得時刻が設定されている。座標は、例えばタッチセンサ１１２の横方向をｘ軸（右方向が正）、縦軸をｙ軸（下方向が正）とし、左上の角を原点とした座標系での接触位置の座標である。このような座標と時刻との組が、所定のサンプリング周期で座標リスト６０に追加される。
【０１５４】
このような座標リストを参照して、移動速度を計算できる。例えば、同じ座標が続いている間は、接触させた指４１を動かしていないため、移動速度の計算から除外する。例えば切替操作判断部１７３ｆは、座標の変化があった時点の最初の座標から最新の座標までの座標間の距離を計算する。図１７の例では、時刻「ｔ１２」に取得した座標「ｘ２，ｙ２」が、座標の変化があった時点の最初の座標である。第３の実施の形態では、画面を横にスクロールさせるため、例えばｙ軸の値の差分を距離とする。さらに切替操作判断部１７３ｆは、座標の変化があった時点の最初の座標から最新の座標までの経過時間を計算する。例えば切替操作判断部１７３ｆは、最新の座標の取得時刻から、座標の変化があった最初の座標の取得時刻を減算し、経過時間とする。そして切替操作判断部１７３ｆは、距離を経過時間で除算した結果を、移動速度とする。
【０１５５】
移動速度が求まると、切替制御部１６２によってスクロールの移動量が計算される。移動量は、移動速度から下記のように求められる。
横移動の増加量＝移動粒度（固定値）×移動速度    ・・・（１）
移動量＝前回の移動量＋横移動の増加量            ・・・（２）
ここで移動粒度は、画面を横スクロールさせる際の最小の移動量であり、予め設定された固定値である。例えば、ＬＣＤ装置１１１の画面の横サイズが３ｃｍの場合、移動粒度を０．５ｃｍとすると、移動速度が１の時に、画面の横移動の増加量が０．５ｃｍとなる。また、前回の移動量が画面の横サイズを超えた場合は、式（２）の計算の前に以下の計算を行う。
前回の移動量＝前回の移動量−横サイズ            ・・・（３）
式（３）の「＝」の記号は、右辺の値を左辺に代入することを示す代入演算子である。これにより移動量が、表示対象ポインタで指定される表示対象のＶＭと、そのＶＭの次候補のＶＭとのそれぞれのＯＳの表示バッファの関係に閉じることとなる。
【０１５６】
図１８は、第３の実施の形態のＶＭ切替処理の後半を示すシーケンス図である。以下、図１８に示す処理をステップ番号に沿って説明する。なお、ステップＳ９４〜Ｓ１０１の処理は、図８に示すステップＳ２２〜Ｓ２９の処理と同じである。
【０１５７】
［ステップＳ１０２］切替制御部１６２は、ＶＭ切替確定要求を取得すると、その時点で画面の半分以上で表示されているＶＭを判断する。切替制御部１６２は、画面の半分以上に表示されているＶＭを操作対象のＶＭとする。そして、切替制御部１６２は、操作対象のＶＭのＶＭＩＤを指定し、そのＶＭへの表示切替の確定を示す表示切替要求を、ＶＭ対応ＬＣＤドライバ１６１に送信する。
【０１５８】
［ステップＳ１０３］ＶＭ対応ＬＣＤドライバ１６１は、表示切替要求に応じて、表示対象のフレームバッファを選択する。
［ステップＳ１０４］ＶＭ対応ＬＣＤドライバ１６１は、表示バッファ指定をＬＣＤ装置１１１に送信する。表示バッファ指定には、ステップＳ１０３で選択したフレームバッファのアドレスによって、ＬＣＤ装置１１１で表示する画像の格納場所が指定されている。するとＬＣＤ装置１１１は、表示する画像の取得元を、表示バッファ指定によって指定されたフレームバッファに切り替える。
【０１５９】
［ステップＳ１０５］切替制御部１６２は、ＶＭ対応ＬＣＤドライバ１６１から、表示切替の確定結果を取得する。
［ステップＳ１０６］切替制御部１６２は、表示対象のＶＭの切替が確定すると、操作切替要求を、ＶＭ対応タッチセンサドライバ１５１に送信する。操作切替要求には、切替先として確定したＶＭのＶＭＩＤが含まれる。
【０１６０】
［ステップＳ１０７］ＶＭ対応タッチセンサドライバ１５１は、操作切替要求を取得すると、操作切替要求で指定されたＶＭＩＤに対応するＶＭに、操作対象を切り替える。すなわちＶＭ対応タッチセンサドライバ１５１は、以後のタッチセンサ１１２からの入力情報を、操作切替要求で指定されたＶＭＩＤに対応するＶＭに送信する。
【０１６１】
このようにして、切替ボタン３１を押下した状態での指の横移動によって、画面スクロールによって徐々に表示対象のＶＭを変更することができる。そして、切替ボタン３１から指を離した時点で画面により多く表示されているＶＭが、操作対象のＶＭに決定される。
【０１６２】
以下、切替操作判断部１７３ｆと切替制御部１６２との処理を詳細に説明する。
図１９は、第３の実施の形態のＶＭ切替判断処理の手順を示すフローチャートである。以下、図１９に示す処理をステップ番号に沿って説明する。
【０１６３】
［ステップＳ１１１］切替操作判断部１７３ｆは、切替ボタン制御部１７２からのイベントを取得する。
［ステップＳ１１２］切替操作判断部１７３ｆは、切替モードが「Ｏｎ」か否かを判断する。なお切替モードの初期状態は「Ｏｆｆ」である。切替操作判断部１７３ｆは、切替モードが「Ｏｎ」であれば処理をステップＳ１１６に進める。切替操作判断部１７３ｆは、切替モードが「Ｏｆｆ」であれば処理をステップＳ１１３に進める。
【０１６４】
［ステップＳ１１３］切替操作判断部１７３ｆは、切替モードが「Ｏｆｆ」の場合、取得したイベントがボタン押下イベントか否かを判断する。切替操作判断部１７３ｆは、ボタン押下イベントであれば処理をステップＳ１１４に進める。切替操作判断部１７３ｆは、ボタン押下イベントでなければ処理を終了する。
【０１６５】
［ステップＳ１１４］切替操作判断部１７３ｆは、切替モードを「Ｏｎ」にする。
［ステップＳ１１５］切替操作判断部１７３ｆは、ＶＭ仮切替要求を切替制御部１６２に送信する。なお、ステップＳ１１７の後にステップＳ１１５を実行する場合、切替操作判断部１７３ｆは、移動量と移動速度を含むＶＭ仮切替要求を送信する。その後、処理が終了する。
【０１６６】
［ステップＳ１１６］切替操作判断部１７３ｆは、切替モードが「Ｏｎ」の場合、取得したイベントが横移動イベントか否かを判断する。切替操作判断部１７３ｆは、横移動イベントであれば処理をステップＳ１１７に進める。切替操作判断部１７３ｆは、横移動イベントでなければ、処理をステップＳ１１８に進める。横移動イベントでない場合とは、ボタン解放イベントの場合である。
【０１６７】
［ステップＳ１１７］切替操作判断部１７３ｆは、横移動イベントであれば、座標リストに基づいて、切替ボタン３１を押下した指４１の移動速度を算出する。その後、処理がステップＳ１１５に進められる。
【０１６８】
［ステップＳ１１８］切替操作判断部１７３ｆは、ボタン解放イベントであれば、切替モードを「Ｏｆｆ」にする。
［ステップＳ１１９］切替操作判断部１７３ｆは、ＶＭ切替確定要求を切替制御部１６２に送信する。その後、処理が終了する。
【０１６９】
このようにして、切り替えソフトボタンからのボタン押下イベント、横移動イベント、およびボタン解放イベントに応じて、切り替え操作開始を示すＶＭ仮切替要求や切替確定要求が出される。
【０１７０】
次に、切替制御部１６２による切替制御処理を詳細に説明する。
図２０は、第３の実施の形態の切替制御処理の手順を示すフローチャートである。以下、図２０に示す処理をステップ番号に沿って説明する。
【０１７１】
［ステップＳ１２１］切替制御部１６２は、他のＶＭからのメッセージを受信する。
［ステップＳ１２２］切替制御部１６２は、受信したメッセージが操作対象のＶＭからのメッセージか否かを判断する。切替制御部１６２は、操作対象のＶＭからのメッセージであれば、処理をステップＳ１２３に進める。切替制御部１６２は、操作対象のＶＭ以外のＶＭからのメッセージであれば、切替制御処理を終了する。
【０１７２】
［ステップＳ１２３］切替制御部１６２は、受信したメッセージの内容が、ＶＭ仮切替要求か否かを判断する。切替制御部１６２は、ＶＭ仮切替要求であれば処理をステップＳ１２４に進める。切替制御部１６２は、ＶＭ仮切替要求でなければ処理をステップＳ１３０に進める。
【０１７３】
［ステップＳ１２４］切替制御部１６２は、ＶＭ仮切替要求を受信した場合、受信したＶＭ仮切替要求により移動量と移動速度との通知あるか否かを判断する。切替制御部１６２は、移動量と移動速度とが通知された場合、処理をステップＳ１２８に進める。切替制御部１６２は、移動量と移動速度とが通知されていない場合、処理をステップＳ１２５に進める。
【０１７４】
［ステップＳ１２５］切替制御部１６２は、移動量と移動速度とが通知されていなければ、現在表示対象のＶＭの次候補ＶＭを取得する。
［ステップＳ１２６］切替制御部１６２は、次候補ＶＭのＶＭＩＤを指定して、表示対象のＶＭと次候補ＶＭとの画面合成指示をＶＭ対応ＬＣＤドライバ１６１に送信する。
【０１７５】
［ステップＳ１２７］切替制御部１６２は、表示対象のＶＭを更新する。具体的には、切替制御部１６２は、ステップＳ１２５で取得した次候補ＶＭを操作ＶＭとするＶＭ切替テーブル１６２ａ内のレコードの位置を、表示対象ポインタ１６２ｃに設定する。その後、処理が終了する。
【０１７６】
［ステップＳ１２８］切替制御部１６２は、移動量と移動速度とが通知されている場合、移動量を計算する。
［ステップＳ１２９］切替制御部１６２は、ＶＭ対応ＬＣＤドライバ１６１に対して、移動量を指定してスクロールを指示する。その後、処理が終了する。
【０１７７】
［ステップＳ１３０］切替制御部１６２は、メッセージがＶＭ仮切替要求ではない場合、ＶＭ切替確定要求か否かを判断する。切替制御部１６２は、ＶＭ切替確定要求であれば、処理をステップＳ１３１に進める。切替制御部１６２は、ＶＭ切替確定要求でなければ処理を終了する。
【０１７８】
［ステップＳ１３１］切替制御部１６２は、画面の半分以上に表示されているＶＭを操作対象のＶＭに決定する。例えば切替制御部１６２は、前回の移動量の計算で算出した移動量が、ＬＣＤ装置１１１の画面の横幅の半分未満であれば、スクロール前に表示対象だったＶＭを操作対象ＶＭに決定する。また切替制御部１６２は、前回の移動量の計算で算出した移動量が、ＬＣＤ装置１１１の画面の横幅の半分以上であれば、ステップＳ１２７で表示対象とされたＶＭを操作対象ＶＭに決定する。
【０１７９】
［ステップＳ１３２］切替制御部１６２は、ステップＳ１３１で決定された操作対象のＶＭと、操作対象ポインタ１６２ｂで示される操作対象のＶＭとを比較し、操作対象のＶＭに変更があるか否かを判断する。切替制御部１６２は、操作対象のＶＭに変更がない場合、処理をステップＳ１３３に進める。切替制御部１６２は、操作対象のＶＭに変更がある場合、処理をステップＳ１３４に進める。
【０１８０】
［ステップＳ１３３］切替制御部１６２は、ステップＳ１２７で更新した表示対象のＶＭを、元のＶＭに戻す。すなわち切替制御部１６２は、表示対象ポインタ１６２ｃに、操作対象ポインタ１６２ｂと同じ値を設定する。その後、処理が終了する。
【０１８１】
［ステップＳ１３４］切替制御部１６２は、表示切替確定指示を行う。具体的には、切替制御部１６２は、ＶＭ対応ＬＣＤドライバ１６１に対して、表示切替確定を示す表示切替要求を送信する。このとき送信される表示切替確定要求には、表示対象ポインタ１６２ｃで示される表示対象のＶＭのＶＭＩＤが含まれる。その後、切替制御部１６２は、ＶＭ対応ＬＣＤドライバ１６１から表示切替の確定結果を取得し、正しく切り替えられたことを確認する。
【０１８２】
［ステップＳ１３５］切替制御部１６２は、操作対象ＶＭの切替指示を行う。具体的には、切替制御部１６２は、ＶＭ対応タッチセンサドライバ１５１に対して、切替先のＶＭのＶＭＩＤを指定した操作切替要求を送信する。切替先のＶＭのＶＭＩＤは、操作対象ポインタ１６２ｂで示されているＶＭのＶＭＩＤである。その後、処理が終了する。
【０１８３】
このようにして、操作対象のＶＭ上で実行されているＯＳの切替ボタンに対する、タッチセンサを用いた横移動操作によって、ＶＭの切替が可能となる。
〔第４の実施の形態〕
次に第４の実施の形態について説明する。第４の実施の形態では、タッチセンサ付き表示装置の特定領域を、各ＯＳに共通の検知領域として設定する。例えば、画面の上辺に沿った細長い領域を、検知領域とする。携帯端末装置は、検知領域への入力を検知することで、表示対象のＶＭおよび操作対象のＶＭを切り替える。
【０１８４】
図２１は、第４の実施の形態の携帯端末装置の機能を示すブロック図である。なお図２１に示すブロック図には、ＶＭで実行するＯＳを起動後の状態を示している。
携帯端末装置２００は、ＬＣＤ装置２１１とタッチセンサ２１２とで構成されるタッチセンサ付き表示装置を有する。また携帯端末装置２００は、図３に示した第１の実施の形態と同様のハードウェア構成で実現され、ＣＰＵにより、ハイパーバイザ２３０を実行する。ハイパーバイザ２３０は、ドライバＶＭ２５０，２６０と、ＯＳを実行する２つのＶＭ２７０，２８０を生成している。
【０１８５】
ドライバＶＭ２５０は、タッチセンサ２１２からの入力切替を行うＶＭである。ドライバＶＭ２５０は、ＶＭ対応タッチセンサドライバ２５１を有する。ＶＭ対応タッチセンサドライバ２５１は、タッチセンサ２１２からの入力信号の出力先を切り替える。
【０１８６】
ドライバＶＭ２６０は、ＬＣＤ装置２１１への出力切替を行うＶＭである。また、ドライバＶＭ２６０は、タッチセンサ２１２から入力された情報の送信先のＶＭの決定、およびＬＣＤ装置２１１で表示する画像情報の取得元となるＶＭの決定を行う。そのためにドライバＶＭ２６０は、ＶＭ対応ＬＣＤドライバ２６１と切替制御部２６２とを有する。
【０１８７】
ＶＭ対応ＬＣＤドライバ２６１は、ＬＣＤ装置２１１に対して、表示する画像データが格納されたフレームバッファの記憶領域を指示する。切替制御部２６２は、タッチセンサ２１２による操作対象とするＶＭの切り替え、およびＬＣＤ装置２１１への表示対象とするＶＭの切り替えを制御する。
【０１８８】
ＶＭ２７０は、ＯＳの機能を実現する要素として、メニュー制御部２７１、および入出力ドライバ２７３を有する。入出力ドライバ２７３は、タッチセンサドライバ２７３ａ、入力解析部２７３ｂ、画像制御部２７３ｃ、ＬＣＤドライバ２７３ｄ、フレームバッファ２７３ｅ、切替操作判断部２７３ｆ、および検知領域記憶部２７３ｇを有する。ＶＭ２７０内の切替操作判断部２７３ｆ、および検知領域記憶部２７３ｇ以外の各要素の機能は、図６に示したＶＭ１７０内の同名の要素と同じである。
【０１８９】
切替操作判断部２７３ｆは、検知領域に対するユーザからの入力内容を検知し、ＶＭ仮切替要求やＶＭ切替確定要求を、切替制御部２６２に送信する。検知領域記憶部２７３ｇは、ＬＣＤ装置２１１の表示画面のうち、画面の切り替えに使用する領域（検知領域）を示す情報を記憶する。
【０１９０】
ＶＭ２８０は、ＯＳの機能を実現する要素として、メニュー制御部２８１、および入出力ドライバ２８３を有する。入出力ドライバ２８３は、タッチセンサドライバ２８３ａ、入力解析部２８３ｂ、画像制御部２８３ｃ、ＬＣＤドライバ２８３ｄ、フレームバッファ２８３ｅ、切替操作判断部２８３ｆ、および検知領域記憶部２８３ｇを有する。ＶＭ２８０内の各要素の機能は、ＶＭ２７０内の同名の要素と同じである。
【０１９１】
なお、図２１に示す各要素間を結ぶ線は、主な通信経路を示すものであり、図示した通信経路以外の通信経路も設定可能である。
このように切替操作判断部２７３ｆ，２８３ｆを、各ＯＳの入出力ドライバ２７３，２８３内に設けた場合、タッチセンサ付き表示装置の画面の検知領域（例えば、画面の上辺と端末のフレーム境界）が設定される。設定された検知領域への入力を検知することでＶＭの切り替え処理が開始される。
【０１９２】
次に、検知領域記憶部２７３ｇのデータ構造について説明する。
図２２は、検知領域記憶部のデータ構造の一例を示す図である。検知領域記憶部２７３ｇは、検知領域を定義する領域管理テーブル２７３ｈを有している。領域管理テーブル２７３ｈには、領域ＩＤ、上座標、および下座標の欄が設けられている。
【０１９３】
領域ＩＤの欄には、検知領域ごとに、その検知領域の識別子（領域ＩＤ）が設定される。図２２の例では、「領域Ａ」と「領域Ｂ」とが、領域ＩＤの欄に設定されている。上座標の欄には、対応する検知領域の左上の角の座標が設定される。下座標の欄には、対応する検知領域の右下の角の座標が設定される。
【０１９４】
図２２の例では、「領域Ａ」は、画面が縦の場合の検知領域が設定されている。例えばＬＣＤ装置２１１の画面の短辺の長さがａピクセル（ａは、１以上の整数）、長辺の長さがｂピクセル（ｂは、１以上の整数）とする。
【０１９５】
画面を縦にして携帯端末装置２００を使用する場合、横サイズが「ａ」となる。第４の実施の形態では、上辺に沿った細長い領域を、検知領域とする。そのため上座標が（０，０）、下座標が（ａ，１）となる。他方、画面を横にして携帯端末装置２００を使用する場合、横サイズが「ｂ」となる。そのため上座標が（０，０）、下座標が（ｂ，１）となる。
【０１９６】
図２３は、第４の実施の形態におけるＶＭ切り替え操作の一例を示す図である。図２３には、ＶＭ２７０からＶＭ２８０へ、操作対象、および表示対象を切り替える場合の例を示している。第１の状態は、表示対象の切替前の状態である。第２の状態は、表示対象切替中の状態である。第３の状態は、表示対象切替後の状態である。
【０１９７】
ＶＭ２７０で実行されているＯＳのメニュー画面７０には、ソフトアイコンとして、複数の機能ボタン７１〜７６が表示されている。またメニュー画面７０の上側の辺に沿って、検知領域４２が定義されている。
【０１９８】
ユーザが指４１で、タッチセンサ付き表示装置２１０に表示されている検知領域４２内を押下し、指４１をタッチセンサ付き表示装置２１０に接触させたまま横移動させる（第１の状態）。すると、携帯端末装置２００では、移動速度に応じた量だけ、表示対象のＶＭで動作しているＯＳの画像を横にスクロールさせる（第２の状態）。図２３の例では、移動方向と反対方向に画像がスクロールしている。この際、表示対象のＶＭで動作しているＯＳの画像がスクロールした分だけ、次候補となるＶＭで動作しているＯＳの画像が表示される。そして、ユーザが指４１をタッチセンサ付き表示装置２１０から離すと、そのとき画面の半分以上で表示されているＶＭのＯＳが画面全体に表示される（第３の状態）。そして画面全体に表示されたＯＳを実行しているＶＭが操作対象となる。
【０１９９】
このようにして、検知領域４２を押下した状態での指４１の横移動により、画面を切り替えることができる。すなわち、タッチセンサ付き表示装置２１０の検知領域４２を、ＶＭ切り替えの指示に使用している場合、切替モードが「Ｏｎ」（切り替え制御中）であるのは、検知領域に指４１を接触させた状態である。指４１を接触させた状態で、指を横移動させることで、ＯＳのフロント画面だけが横スクロールするように表示される。
【０２００】
以下、第４の実施の形態におけるＶＭ切替処理を詳細に説明する。
図２４は、第４の実施の形態のＶＭ切替処理を示すシーケンス図である。以下、図２４に示す処理をステップ番号に沿って説明する。
【０２０１】
［ステップＳ１４１］ユーザ４０が、タッチセンサ２１２の検知領域４２に対応する部分を押下する。
［ステップＳ１４２］タッチセンサ２１２は、ユーザ４０の押下操作による指４１の接触位置を検知し、接触があったことを示す情報を、ＶＭ対応タッチセンサドライバ２５１に送信する。接触があったことを示す情報には、接触された位置の座標が含まれる。
【０２０２】
［ステップＳ１４３］ＶＭ対応タッチセンサドライバ２５１は、接触があったことを示す情報を受け取ると、タッチセンサドライバ２７３ａに対して、接触があったことを示す情報を送信する。この情報には、接触された位置の座標が含まれる。
【０２０３】
［ステップＳ１４４］タッチセンサドライバ２７３ａは、接触があったことを示す情報を受け取ると、切替操作判断部２７３ｆに対して、接触があったことを示す情報を送信する。この情報には、接触された位置の座標が含まれる。
【０２０４】
［ステップＳ１４５］切替操作判断部２７３ｆは、接触があったことを示す情報を取得すると、座標リストを更新する。切替操作判断部２７３ｆが更新する座標リストのデータ構造は、図１７に示した座標リスト６０と同様である。
【０２０５】
［ステップＳ１４６］切替操作判断部２７３ｆは、切替モード判断を行う。具体的には切替操作判断部２７３ｆは、現在の切替モードが「Ｏｎ」か「Ｏｆｆ」かを判断する。切替モードの初期状態は「Ｏｆｆ」であり、図１７の例ではステップＳ１４５において切替モードが「Ｏｆｆ」であると判断される。
【０２０６】
［ステップＳ１４７］切替操作判断部２７３ｆは、切替モードを「Ｏｎ」に設定する。
［ステップＳ１４８］切替操作判断部２７３ｆは、ＶＭ仮切替要求を切替制御部２６２に送信する。
【０２０７】
［ステップＳ１４９］切替制御部２６２は、次候補のＶＭを特定する。そして切替制御部２６２は、表示対象のＶＭと、そのＶＭの次候補ＶＭとの表示画面の合成指示をＶＭ対応ＬＣＤドライバ２６１に送信する。
【０２０８】
［ステップＳ１５０］ＶＭ対応ＬＣＤドライバ２６１は、表示対象のＶＭと、そのＶＭの次候補ＶＭとのそれぞれのＯＳのフレームバッファ内の画像を結合した合成画像を定義する。
【０２０９】
［ステップＳ１５１］ＶＭ対応ＬＣＤドライバ２６１は、表示する画像が格納されたフレームバッファのアドレスを含む表示バッファ指定を、ＬＣＤ装置２１１に送信する。
［ステップＳ１５２］ユーザ４０が検知領域４２内を押下したまま指４１を横に移動させる。
【０２１０】
［ステップＳ１５３］タッチセンサ２１２は、ユーザ４０の指４１の接触位置を検知し、接触があったことを示す情報を、ＶＭ対応タッチセンサドライバ２５１に送信する。接触があったことを示す情報には、接触された位置の座標が含まれる。
【０２１１】
［ステップＳ１５４］ＶＭ対応タッチセンサドライバ２５１は、接触があったことを示す情報を受け取ると、タッチセンサドライバ２７３ａに対して、接触があったことを示す情報を送信する。この情報には、接触された位置の座標が含まれる。
【０２１２】
［ステップＳ１５５］タッチセンサドライバ２７３ａは、接触があったことを示す情報を受け取ると、切替操作判断部２７３ｆに対して、接触があったことを示す情報を送信する。この情報には、接触された位置の座標が含まれる。
【０２１３】
［ステップＳ１５６］切替操作判断部２７３ｆは、接触があったことを示す情報を取得すると、座標リストを更新する。具体的には切替操作判断部２７３ｆは、横移動によって取得した座標を、座標の取得時刻に対応付けて座標リストに登録する。
【０２１４】
［ステップＳ１５７］切替操作判断部２７３ｆは、ユーザ４０による接触位置の移動開始時からの移動速度を計算する。そして切替操作判断部２７３ｆは、移動速度を指定したＶＭ仮切替要求を切替制御部２６２に送信する。なお、移動速度の計算方法は、第３の実施の形態と同様である。
【０２１５】
［ステップＳ１５８］切替制御部２６２は、移動速度に基づいて、移動量を計算する。
［ステップＳ１５９］切替制御部２６２は、移動量を指定したスクロール指示をＶＭ対応ＬＣＤドライバ２６１に送信する。
【０２１６】
［ステップＳ１６０］ＶＭ対応ＬＣＤドライバ２６１は、指定された移動量に応じて、表示対象のＶＭで実行されているＯＳのフレームバッファ内の合成対象画像と、次候補のＶＭで実行されているＯＳのフレームバッファ内の合成対象画像とを決定する。そして、ＶＭ対応ＬＣＤドライバ２６１は、決定した合成対象画像を結合した合成画像を生成する。
【０２１７】
［ステップＳ１６１］ＶＭ対応ＬＣＤドライバ２６１は、合成画像が格納されている各フレームバッファのアドレスをＬＣＤ装置２１１に指定する。これにより、スクロールさせた画面が表示される。
【０２１８】
［ステップＳ１６２］ユーザ４０は、画面の半分以上に表示されたＯＳに操作対象を切り替えるのであれば、タッチセンサ付き表示装置２１０から、指等の接触部を離す。すなわち、スクリーンの解放（リリース）が行われる。
【０２１９】
［ステップＳ１６３］タッチセンサ２１２は、接触されていた位置が解放されたことを検知し、接触状態が解放されたことを示す情報をＶＭ対応タッチセンサドライバ２５１に送信する。
【０２２０】
［ステップＳ１６４］ＶＭ対応タッチセンサドライバ２５１は、接触状態が解放されたことを示す情報を受け取ると、タッチセンサドライバ２７３ａに対して、接触状態が解放されたことを示す情報を送信する。
【０２２１】
［ステップＳ１６５］タッチセンサドライバ２７３ａは、接触状態が解放されたことを示す情報を受け取ると、切替操作判断部２７３ｆに対して、接触状態が解放されたことを示す情報を送信する。
【０２２２】
［ステップＳ１６６］切替操作判断部２７３ｆは、接触状態が解放されたことを示す情報を取得すると、切替モードを「Ｏｆｆ」に変更する。
［ステップＳ１６７］切替操作判断部２７３ｆは、次候補への切替の確定を示すＶＭ切替確定要求を、切替制御部２６２に送信する。
【０２２３】
［ステップＳ１６８］切替制御部２６２は、ＶＭ切替確定要求を取得すると、その時点で画面の半分以上で表示されているＶＭを判断する。切替制御部２６２は、画面の半分以上に表示されているＶＭを、操作対象のＶＭと判断する。そして、切替制御部２６２は、操作対象のＶＭのＶＭＩＤを指定し、そのＶＭへの表示切替の確定を示す表示切替要求を、ＶＭ対応ＬＣＤドライバ２６１に送信する。
【０２２４】
［ステップＳ１６９］ＶＭ対応ＬＣＤドライバ２６１は、表示切替要求に応じて、表示対象のフレームバッファを選択する。
［ステップＳ１７０］ＶＭ対応ＬＣＤドライバ２６１は、表示バッファ指定をＬＣＤ装置２１１に送信する。表示バッファ指定には、ステップＳ１６９で選択したフレームバッファのアドレスによって、ＬＣＤ装置２１１で表示する画像の格納場所が指定されている。するとＬＣＤ装置２１１は、表示する画像の取得元を、表示バッファ指定によって指定されたフレームバッファに切り替える。
【０２２５】
［ステップＳ１７１］切替制御部２６２は、ＶＭ対応ＬＣＤドライバ２６１から、表示切替の確定結果を取得する。
［ステップＳ１７２］切替制御部２６２は、表示対象のＶＭの切替が確定すると、操作切替要求を、ＶＭ対応タッチセンサドライバ２５１に送信する。操作切替要求には、切替先として確定したＶＭのＶＭＩＤが含まれる。
【０２２６】
［ステップＳ１７３］ＶＭ対応タッチセンサドライバ２５１は、操作切替要求を取得すると、操作切替要求で指定されたＶＭＩＤに対応するＶＭに、操作対象を切り替える。すなわちＶＭ対応タッチセンサドライバ２５１は、以後のタッチセンサ２１２からの入力情報を、操作切替要求で指定されたＶＭＩＤに対応するＶＭに送信する。
【０２２７】
このようにして、ＯＳを実行するＶＭ２７０，２８０において、タッチセンサ２１２から入力された接触位置の座標が、検知領域４２内かどうかを判断することができる。そして検知領域４２内への接触であれば、切替モードを「Ｏｎ」にして、指４１の横移動の速度に応じて画面をスクロールさせ、ＶＭを切り替えることができる。
【０２２８】
しかも第４の実施の形態では、携帯端末装置２００の持ち方（縦表示用に持つか、横表示用に持つか）に応じて、検知領域を変更することができる。すなわち切替操作判断部２７３ｆは、モーションセンサで検出される加速度から、重力の方向を判断する。そして切替操作判断部２７３ｆは、重力の方向が、画面の長辺と平行に近ければ、縦表示を行っていると判断する。また切替操作判断部２７３ｆは、重力の方向が、画面の短辺と平行に近ければ、横表示を行っていると判断する。切替操作判断部２７３ｆは、縦表示の場合、図２２に示す「領域Ａ」を、検知領域と判断する。また切替操作判断部２７３ｆは、横表示の場合、図２２に示す「領域Ｂ」を、検知領域と判断する。
【０２２９】
なお検知領域は、ユーザが任意に切替操作判断部２７３ｆ，２８３ｆに指定することもできる。また、切替操作判断部２７３ｆ，２８３ｆが、各ＶＭ２７０，２８０で動作しているＯＳのＬＣＤドライバ２７３ｄ，２８３ｄから、現在の画面の表示方向を示す情報を取得するようにしてもよい。
【０２３０】
〔第５の実施の形態〕
次に第５の実施の形態について説明する。第５の実施の形態は、特別な切り替え用の領域を必要とせず、共通のジェスチャ操作で、フロント切り替えの操作を行うものである。第５の実施の形態では、仮想環境で動くＯＳで共通となるジェスチャ操作を予め設定する。例えば、２本指でタップを２回すると、切り替え用のジェスチャ操作であるというような内容を設定する。
【０２３１】
図２５は、第５の実施の形態の携帯端末装置の機能を示すブロック図である。なお図２５に示すブロック図には、ＶＭで実行するＯＳを起動後の状態を示している。
携帯端末装置３００は、ＬＣＤ装置３１１とタッチセンサ３１２とで構成されるタッチセンサ付き表示装置を有する。また携帯端末装置３００は、図３に示した第１の実施の形態と同様のハードウェア構成で実現され、ＣＰＵにより、ハイパーバイザ３３０を実行する。ハイパーバイザ３３０は、ドライバＶＭ３５０，３６０と、ＯＳを実行する２つのＶＭ３７０，３８０を生成している。
【０２３２】
ドライバＶＭ３５０は、タッチセンサ３１２からの入力切替を行うＶＭである。ドライバＶＭ３５０は、ＶＭ対応タッチセンサドライバ３５１を有する。ＶＭ対応タッチセンサドライバ３５１は、タッチセンサ３１２からの入力信号の出力先を切り替える。
【０２３３】
ドライバＶＭ３６０は、ＬＣＤ装置３１１への出力切替を行うＶＭである。また、ドライバＶＭ３６０は、タッチセンサ３１２から入力された情報の送信先のＶＭの決定、およびＬＣＤ装置３１１で表示する画像情報の取得元となるＶＭの決定を行う。そのためにドライバＶＭ３６０は、ＶＭ対応ＬＣＤドライバ３６１と切替制御部３６２とを有する。
【０２３４】
ＶＭ対応ＬＣＤドライバ３６１は、ＬＣＤ装置３１１に対して、表示する画像データが格納されたフレームバッファの記憶領域を指示する。切替制御部３６２は、タッチセンサ３１２による操作対象とするＶＭの切り替え、およびＬＣＤ装置３１１への表示対象とするＶＭの切り替えを制御する。
【０２３５】
ＶＭ３７０は、ＯＳの機能を実現する要素として、メニュー制御部３７１、および入出力ドライバ３７３を有する。入出力ドライバ３７３は、タッチセンサドライバ３７３ａ、入力解析部３７３ｂ、画像制御部３７３ｃ、ＬＣＤドライバ３７３ｄ、フレームバッファ３７３ｅ、切替操作判断部３７３ｆ、およびジェスチャ情報記憶部３７３ｇを有する。ＶＭ３７０内の切替操作判断部３７３ｆ、およびジェスチャ情報記憶部３７３ｇ以外の各要素の機能は、図６に示したＶＭ１７０内の同名の要素と同じである。
【０２３６】
切替操作判断部３７３ｆは、タッチセンサ３１２に対して行われるユーザの操作から、ＶＭ切替指示のジェスチャを検知し、ＶＭ仮切替要求やＶＭ切替確定要求を、切替制御部３６２に送信する。ジェスチャ情報記憶部３７３ｇは、ＶＭ切替指示のジェスチャであると認識する条件を記憶する。
【０２３７】
ＶＭ３８０は、ＯＳの機能を実現する要素として、メニュー制御部３８１、および入出力ドライバ３８３を有する。入出力ドライバ３８３は、タッチセンサドライバ３８３ａ、入力解析部３８３ｂ、画像制御部３８３ｃ、ＬＣＤドライバ３８３ｄ、フレームバッファ３８３ｅ、切替操作判断部３８３ｆ、およびジェスチャ情報記憶部３８３ｇを有する。ＶＭ３８０内の各要素の機能は、ＶＭ３７０内の同名の要素と同じである。
【０２３８】
なお、図２５に示す各要素間を結ぶ線は、主な通信経路を示すものであり、図示した通信経路以外の通信経路も設定可能である。
第５の実施の形態では、タッチセンサ付き表示装置３１０への操作として特定のジェスチャ（例えば、２本指で画面をタップ）を示す情報が、予め設定される。切替操作判断部３７３ｆがそのジェスチャ入力を検知することで、切り替え操作が開始される。
【０２３９】
図２６は、ジェスチャ情報記憶部のデータ構造の一例を示す図である。図２６の例では、ジェスチャ情報記憶部３７３ｇには、接触箇所の数、連続接触回数、および接触間隔によって、ＶＭ切替を指定するジェスチャと認識する条件が定義されている。接触箇所の数は、同時に何箇所の接触が必要かを示している。連続接触回数は、連続して何回の接触が必要かを示している。接触間隔は、連続した接触であると判断するための時間間隔が設定されている。
【０２４０】
図２６の例では、接触箇所の数が「２カ所」、連続接触回数が「２回」、接触間隔が「０．１８秒〜０．９秒」である。この場合、ユーザは、指を２本そろえて、タッチセンサ３１２を連続して２回叩くように接触させることで、ＶＭ切替の指示を携帯端末装置３００に入力することができる。
【０２４１】
図２７は、第５の実施の形態におけるＶＭ切り替え操作の一例を示す図である。図２７には、ＶＭ３７０からＶＭ３８０へ、操作対象、および表示対象を切り替える場合の例を示している。第１の状態は、表示対象の切替前の状態である。第２の状態は、表示対象切替後の状態である。
【０２４２】
ユーザが２本の指４１ａ，４１ｂで、タッチセンサ付き表示装置３１０の画面を２回連続で叩くジェスチャを行う（第１の状態）。すると携帯端末装置３００では、ＶＭ切替指示であると認識し、現在表示されているＯＳを実行しているＶＭの次候補ＶＭが、表示対象のＶＭおよび操作対象のＶＭに決定される。そして表示対象かつ操作対象に決定されたＶＭで実行されているＯＳの画像が、タッチセンサ付き表示装置３１０に表示される（第２の状態）。
【０２４３】
このようにして、簡単なジェスチャ動作により、画面上にＶＭの切り替えに使用するアイコンなどを表示せずに、ＶＭの切り替えが可能となる。
以下、第５の実施の形態におけるＶＭ切替処理を詳細に説明する。
【０２４４】
図２８は、第５の実施の形態のＶＭ切替処理を示すシーケンス図である。以下、図２８に示す処理をステップ番号に沿って説明する。
［ステップＳ１８１］ユーザ４０が２本の指で、タッチセンサ３１２の２箇所を同時に押下する。
【０２４５】
［ステップＳ１８２］タッチセンサ３１２は、押下された２箇所の接触を検知し、接触があったことを示す情報を、ＶＭ対応タッチセンサドライバ３５１に送信する。接触があったことを示す情報には、接触された２箇所それぞれの位置の座標が含まれる。
【０２４６】
［ステップＳ１８３］ＶＭ対応タッチセンサドライバ３５１は、接触があったことを示す情報を受け取ると、タッチセンサドライバ３７３ａに対して、接触があったことを示す情報を送信する。この情報には、接触された２箇所それぞれの位置の座標が含まれる。
【０２４７】
［ステップＳ１８４］タッチセンサドライバ３７３ａは、接触があったことを示す情報を受け取ると、切替操作判断部３７３ｆに対して、接触があったことを示す情報を送信する。この情報には、接触された２箇所それぞれの位置の座標が含まれる。
【０２４８】
［ステップＳ１８５］切替操作判断部３７３ｆは、接触があったことを示す情報を取得すると、座標リストを更新する。切替操作判断部３７３ｆが更新する座標リストのデータ構造は、図１７に示した座標リスト６０と同様である。ただし、２箇所が同時に接触された場合、同一時刻で２つの点の座標が座標リスト６０に登録される。
【０２４９】
［ステップＳ１８６］切替操作判断部３７３ｆは、ジェスチャ照合を開始する。例えば切替操作判断部３７３ｆは、ジェスチャ情報記憶部３７３ｇに登録されている接触箇所の数と、接触があったことを示す情報で示される座標の数が一致したことを確認し、ジェスチャ照合を開始する。
【０２５０】
［ステップＳ１８７］ユーザ４０は、ＶＭ切替を指示するジェスチャを行う。すなわち、ユーザ４０は、ステップＳ１８１におけるスクリーンの押下から連続して、２本の指でタッチセンサ３１２の２箇所を同時に押下する。
【０２５１】
その後のステップＳ１８８〜Ｓ１９１の処理は、ステップＳ１８２〜Ｓ１８５と同じである。
［ステップＳ１９２］切替操作判断部３７３ｆは、ジェスチャ照合を行う。例えば切替操作判断部３７３ｆは、ジェスチャ照合が開始されたときの２箇所の接触箇所における連続接触回数を数える。なお、切替操作判断部３７３ｆは、図２６に示すジェスチャ情報記憶部３７３ｇを参照し、０．１８〜０．９秒の間隔を置いて連続してタッチセンサ３１２に接触されたときに、連続接触があったと判断する。そして切替操作判断部３７３ｆは、連続して２回の接触があった場合、ＶＭ切替を指示するジェスチャが行われたと判断する。
【０２５２】
［ステップＳ１９３］切替操作判断部３７３ｆは、ＶＭ切替を指示するジェスチャが行われたと判断した場合、ＶＭ仮切替要求を切替制御部３６２に送信する。
［ステップＳ１９４］切替制御部３６２は、次候補のＶＭを特定する。そして切替制御部３６２は、表示切替要求をＶＭ対応ＬＣＤドライバ３６１に送信する。表示切替要求には、次候補のＶＭのＶＭＩＤが含まれる。
【０２５３】
［ステップＳ１９５］ＶＭ対応ＬＣＤドライバ３６１は、表示切替要求に応じて、表示対象のフレームバッファを選択する。
［ステップＳ１９６］ＶＭ対応ＬＣＤドライバ３６１は、表示バッファ指定をＬＣＤ装置３１１に送信する。するとＬＣＤ装置３１１は、表示する画像の取得元を、表示バッファ指定によって指定されたフレームバッファに切り替える。
【０２５４】
このようにして、表示対象のＶＭが切り替えられる。
［ステップＳ１９７］ユーザ４０は、画面の半分以上に表示されたＯＳに操作対象を切り替えるのであれば、タッチセンサ付き表示装置３１０から、指等の接触部を離す。すなわち、スクリーンの解放（リリース）が行われる。
【０２５５】
［ステップＳ１９８］タッチセンサ３１２は、接触されていた位置が解放されたことを検知し、接触状態が解放されたことを示す情報をＶＭ対応タッチセンサドライバ３５１に送信する。
【０２５６】
［ステップＳ１９９］ＶＭ対応タッチセンサドライバ３５１は、接触状態が解放されたことを示す情報を受け取ると、タッチセンサドライバ３７３ａに対して、接触状態が解放されたことを示す情報を送信する。
【０２５７】
［ステップＳ２００］タッチセンサドライバ３７３ａは、接触状態が解放されたことを示す情報を受け取ると、切替操作判断部３７３ｆに対して、接触状態が解放されたことを示す情報を送信する。
【０２５８】
［ステップＳ２０１］切替操作判断部３７３ｆは、接触状態が解放されたことを示す情報を取得すると、ジェスチャ照合を終了する。
［ステップＳ２０２］切替操作判断部３７３ｆは、次候補への切替の確定を示すＶＭ切替確定要求を、切替制御部３６２に送信する。
【０２５９】
［ステップＳ２０３］切替制御部３６２は、ＶＭ切替確定要求を取得すると、表示切替の確定を示す表示切替要求を、ＶＭ対応ＬＣＤドライバ３６１に送信する。ＶＭ対応ＬＣＤドライバ３６１では、ステップＳ１９５で選択したフレームバッファを、表示バッファとして確定する。
【０２６０】
［ステップＳ２０４］切替制御部３６２は、ＶＭ対応ＬＣＤドライバ３６１から、表示切替の確定結果を取得する。
［ステップＳ２０５］切替制御部３６２は、表示対象のＶＭの切替が確定すると、操作切替要求を、ＶＭ対応タッチセンサドライバ３５１に送信する。操作切替要求には、切替先として確定したＶＭのＶＭＩＤが含まれる。
【０２６１】
［ステップＳ２０６］ＶＭ対応タッチセンサドライバ３５１は、操作切替要求を取得すると、操作切替要求で指定されたＶＭＩＤに対応するＶＭに、操作対象を切り替える。すなわちＶＭ対応タッチセンサドライバ３５１は、以後のタッチセンサ３１２からの入力情報を、操作切替要求で指定されたＶＭＩＤに対応するＶＭに送信する。
【０２６２】
このようにして携帯端末装置３００は、ユーザ４０によるジェスチャ操作を検出し、切り替え操作開始要求であることを認識すると、表示対象のＶＭおよび操作対象のＶＭを切り替えることができる。
【０２６３】
〔第６の実施の形態〕
次に、第６の実施の形態について説明する。第５の実施の形態では、ジェスチャ操作で次画面に切り替えているが、第６の本実施の形態に係る携帯端末装置では、ジェスチャ操作で、ＶＭを切り替えるモードに移行し、ソフトアイコンを画面にオーバレイの形で表示する。オーバレイ表示とは、１つの画像に別の画像を重ね合わせて表示することである。第６の実施の形態では、ＯＳの画面の上に、ソフトアイコンの１つである切替ボタンが重ねて表示される。ユーザが、表示されたソフトアイコンを押下し、指を横移動させることで、第３の実施の形態に示したようなスクロールによる表示対象とするＶＭの切替操を可能とする。第６の実施の形態によれば、第２の実施の形態のように、各ＯＳのメニュー画面に切り替え用のソフトアイコンを保持しなくてもよい。また第４の実施の形態のように、端末画面上に特別な領域を設定しなくてもよい。
【０２６４】
図２９は、第６の実施の形態の携帯端末装置の機能を示すブロック図である。なお図２９に示すブロック図には、ＶＭにおいてＯＳを起動した後の状態を示している。
携帯端末装置４００は、ＬＣＤ装置４１１とタッチセンサ４１２とで構成されるタッチセンサ付き表示装置を有する。また携帯端末装置４００は、図３に示した第１の実施の形態と同様のハードウェア構成で実現され、ＣＰＵにより、ハイパーバイザ４３０を実行する。ハイパーバイザ４３０は、ドライバＶＭ４５０，４６０と、ＯＳを実行する２つのＶＭ４７０，４８０を生成している。
【０２６５】
ドライバＶＭ４５０は、タッチセンサ４１２からの入力切替を行うＶＭである。ドライバＶＭ４５０は、ＶＭ対応タッチセンサドライバ４５１を有する。ＶＭ対応タッチセンサドライバ４５１は、タッチセンサ４１２からの入力信号の出力先を切り替える。
【０２６６】
ドライバＶＭ４６０は、ＬＣＤ装置４１１への出力切替を行うＶＭである。また、ドライバＶＭ４６０は、タッチセンサ４１２から入力された情報の送信先のＶＭの決定、およびＬＣＤ装置４１１で表示する画像情報の取得元となるＶＭの決定を行う。そのためにドライバＶＭ４６０は、ＶＭ対応ＬＣＤドライバ４６１、および切替制御部４６２を有する。
【０２６７】
ＶＭ対応ＬＣＤドライバ４６１は、ＬＣＤ装置４１１に対して、表示する画像データが格納されたフレームバッファの記憶領域を指示する。切替制御部４６２は、タッチセンサ４１２による操作対象とするＶＭの切り替え、およびＬＣＤ装置４１１への表示対象とするＶＭの切り替えを制御する。
【０２６８】
ＶＭ４７０は、ＯＳの機能を実現する要素として、メニュー制御部４７１、および切替ボタン制御部４７２、および入出力ドライバ４７３を有する。切替ボタン制御部４７２は、ソフトボタンの１つである切替ボタンの表示、非表示などを制御する。
【０２６９】
入出力ドライバ４７３は、タッチセンサドライバ４７３ａ、入力解析部４７３ｂ、画像制御部４７３ｃ、ＬＣＤドライバ４７３ｄ、フレームバッファ４７３ｅ、切替操作判断部４７３ｆ、およびジェスチャ情報記憶部４７３ｇを有する。ＶＭ４７０内の各要素の機能は、図６に示したＶＭ１７０内の同名の要素と同じである。
【０２７０】
切替操作判断部４７３ｆは、タッチセンサ４１２に対して行われるユーザの操作から、切替ボタンの表示を指示するジェスチャを検知し、切替ボタン表示要求を、切替ボタン制御部４７２に送信する。ジェスチャ情報記憶部４７３ｇは、切替ボタン表示を指示するジェスチャであると認識する条件を記憶する。
【０２７１】
ＶＭ４８０は、ＯＳの機能を実現する要素として、メニュー制御部４８１、切替ボタン制御部４８２、および入出力ドライバ４８３を有する。入出力ドライバ４８３は、タッチセンサドライバ４８３ａ、入力解析部４８３ｂ、画像制御部４８３ｃ、ＬＣＤドライバ４８３ｄ、フレームバッファ４８３ｅ、切替操作判断部４８３ｆ、およびジェスチャ情報記憶部４８３ｇを有する。ＶＭ４８０内の各要素の機能は、ＶＭ４７０内の同名の要素と同じである。
【０２７２】
なお、図２９に示す各要素間を結ぶ線は、主な通信経路を示すものであり、図示した通信経路以外の通信経路も設定可能である。
第６の実施の形態のジェスチャ情報記憶部４７３ｇのデータ構造は、図２６に示した第５の実施の形態のジェスチャ情報記憶部３７３ｇと同様である。
【０２７３】
図３０は、第６の実施の形態におけるＶＭ切り替え操作の一例を示す第１の図である。第１の状態は、切替ボタン表示前の状態である。第２の状態は、切替ボタン表示後の状態である。
【０２７４】
ユーザが２本の指４１ａ，４１ｂで、タッチセンサ付き表示装置４１０の画面を２回連続で叩くジェスチャを行う（第１の状態）。すると携帯端末装置４００では、切替ボタンの表示指示であると認識する。切替ボタン９１が、例えばそして表示対象かつ操作対象に決定されたＶＭで実行されているＯＳの画像が、オーバレイの形で、タッチセンサ付き表示装置４１０に表示される（第２の状態）。
【０２７５】
図３１は、第６の実施の形態におけるＶＭ切り替え操作の一例を示す第２の図である。第３の状態は、切替ボタンを横移動時の状態である。第４の状態は、切替ボタンを解放後の状態である。
【０２７６】
ユーザが指４１で切替ボタン９１を押下し、指４１をタッチセンサ付き表示装置４１０に接触させたまま横移動させる。すると、携帯端末装置４００は、移動速度に応じた量だけ、表示対象のＶＭで動作しているＯＳ（ＯＳ＃１）の画像を横にスクロールさせる（第３の状態）。図３１の例では、移動方向と反対方向に画像がスクロールしている。この際、表示対象のＶＭで動作しているＯＳ（ＯＳ＃１）の画像がスクロールした分だけ、次候補となるＶＭで動作しているＯＳ（ＯＳ＃２）の画像が表示される。そして、ユーザが指４１をタッチセンサ付き表示装置４１０から離すと、切替ボタン９１が所定のホームポジションに移動する（第４の状態）。なお、図３１に示す第４の状態は、画面の横幅分の移動量だけスクロールさせた後に指４１を離した結果、ＶＭ４８０で実行されているＯＳの画像が表示されている。
【０２７７】
図３２は、第６の実施の形態におけるＶＭ切り替え操作の一例を示す第３の図である。第５の状態は、切替ボタン押下時の状態である。第６の状態は、ＶＭ切替確定後の状態である。
【０２７８】
ユーザが指４１で切替ボタン９１を押下する（第５の状態）。そして、ユーザが指４１をタッチセンサ付き表示装置４１０から離すと、そのとき表示対象となっているＶＭへの切替が確定し、切替ボタン９１が画面から消える（第６の状態）。そして画面全体に表示されたＯＳを実行しているＶＭが操作対象となる。
【０２７９】
このように、タッチセンサ付き表示装置４１０へのＶＭの切り替えの操作として特定のジェスチャを使用する場合、切替モードが「Ｏｎ」（切り替え制御中）であるのは、特定のジェスチャにより表示された切替ボタン９１が押下された後である。切替ボタン９１を押下した状態で指を横移動させることで、ＬＣＤ装置４１１の画面が横スクロールするように表示される。この場合、ＶＭ切替確定要求は、切替ボタン９１を消去する操作で発生する。
【０２８０】
以下、第６の実施の形態におけるＶＭ切替処理を詳細に説明する。
図３３は、第６の実施の形態のＶＭ切替処理の第１のシーケンス図である。以下、図３３に示す処理をステップ番号に沿って説明する。なお、ステップＳ２１１〜Ｓ２２１の処理は、図２８に示す第５の実施の形態のステップＳ１８１〜Ｓ１９１の処理と同じである。
【０２８１】
［ステップＳ２２２］切替操作判断部４７３ｆは、ジェスチャ照合を行う。例えば切替操作判断部４７３ｆは、ジェスチャ照合が開始されたときの２箇所の接触箇所における連続接触回数を数える。そして切替操作判断部４７３ｆは、連続して２回の接触があった場合、切替ボタンの表示を指示するジェスチャが行われたと判断する。
【０２８２】
［ステップＳ２２３］切替操作判断部４７３ｆは、切替ボタンの表示を指示するジェスチャが行われたと判断した場合、切替ボタン表示要求を切替ボタン制御部４７２に送信する。
【０２８３】
［ステップＳ２２４］切替ボタン制御部４７２は、切替ボタンの表示要求をメニュー制御部４７１に対して送信する。
［ステップＳ２２５］メニュー制御部４７１は、切替ボタンの画像データを指定して、画像制御部４７３ｃに対して切替ボタン表示要求を送信する。
【０２８４】
［ステップＳ２２６］画像制御部４７３ｃは、切替ボタンの画像を含む画像データへの更新要求をＬＣＤドライバ４７３ｄに送信する。
［ステップＳ２２７］ＬＣＤドライバ４７３ｄは、切替ボタンの画像を含む画像データをフレームバッファに書き込む。フレームバッファ４７３ｅの画像データは、ＬＣＤ装置４１１に転送され、画面に表示される。
【０２８５】
［ステップＳ２２８］ユーザ４０は、タッチセンサ付き表示装置４１０から、指等の接触部を離す。すなわち、スクリーンの解放（リリース）が行われる。
［ステップＳ２２９］タッチセンサ４１２は、スクリーンの解放を検知し、接触状態が解放されたことを示す情報をＶＭ対応タッチセンサドライバ４５１に送信する。
【０２８６】
［ステップＳ２３０］ＶＭ対応タッチセンサドライバ４５１は、接触状態が解放されたことを示す情報を受け取ると、タッチセンサドライバ４７３ａに対して、接触状態が解放されたことを示す情報を送信する。
【０２８７】
［ステップＳ２３１］タッチセンサドライバ４７３ａは、接触状態が解放されたことを示す情報を受け取ると、切替操作判断部４７３ｆに対して、接触状態が解放されたことを示す情報を送信する。
【０２８８】
［ステップＳ２３２］切替操作判断部４７３ｆは、ジェスチャ照合処理を終了する。
図３４は、第６の実施の形態のＶＭ切替処理の第２のシーケンス図である。以下、図３４に示す処理をステップ番号に沿って説明する。
【０２８９】
［ステップＳ２４１］ユーザ４０が、タッチセンサ４１２の切替ボタン９１に対応する部分を押下する。
［ステップＳ２４２］タッチセンサ４１２は、ユーザ４０の押下操作による指４１の接触位置を検知し、接触があったことを示す情報を、ＶＭ対応タッチセンサドライバ４５１に送信する。接触があったことを示す情報には、接触された位置の座標が含まれる。
【０２９０】
［ステップＳ２４３］ＶＭ対応タッチセンサドライバ４５１は、接触があったことを示す情報を受け取ると、タッチセンサドライバ４７３ａに対して、接触があったことを示す情報を送信する。この情報には、接触された位置の座標が含まれる。
【０２９１】
［ステップＳ２４４］タッチセンサドライバ４７３ａは、接触があったことを示す情報を受け取ると、切替操作判断部４７３ｆに対して、接触があったことを示す情報を送信する。この情報には、接触された位置の座標が含まれる。
【０２９２】
［ステップＳ２４５］切替操作判断部４７３ｆは、接触があったことを示す情報を受け取ると、切替ボタン制御部４７２に対して、ボタン押下を示す情報を送信する。この情報には、接触された位置の座標が含まれる。
【０２９３】
［ステップＳ２４６］切替ボタン制御部４７２は、ボタン押下を示す情報を取得すると、ボタン押下イベントを、切替操作判断部４７３ｆに送信する。
［ステップＳ２４７］切替操作判断部４７３ｆは、ボタン押下イベントを取得すると、切替モードを「Ｏｎ」に変更する。そして切替操作判断部４７３ｆは、次候補へのＶＭ仮切替要求を、切替制御部４６２に送信する。
【０２９４】
［ステップＳ２４８］切替制御部４６２は、表示対象のＶＭの次候補ＶＭを取得し、表示対象のＶＭと、そのＶＭの次候補ＶＭとの表示画面の合成指示をＶＭ対応ＬＣＤドライバ４６１に送信する。表示画面の合成指示には、次候補のＶＭのＶＭＩＤが含まれる。
【０２９５】
［ステップＳ２４９］ＶＭ対応ＬＣＤドライバ４６１は、表示対象のＶＭと、そのＶＭの次候補ＶＭとのそれぞれのＯＳのフレームバッファ内の画像を結合した合成画像を生成する。
【０２９６】
［ステップＳ２５０］ＶＭ対応ＬＣＤドライバ４６１は、表示する画像が格納されたフレームバッファのアドレスを含む表示バッファ指定を、ＬＣＤ装置４１１に送信する。
［ステップＳ２５１］ユーザ４０は、指４１をタッチセンサ４１２から離さずに、横移動させる。
【０２９７】
［ステップＳ２５２］タッチセンサ４１２は、ユーザ４０の指４１の接触位置を検知し、接触があったことを示す情報を、ＶＭ対応タッチセンサドライバ４５１に送信する。接触があったことを示す情報には、接触された位置の座標が含まれる。
【０２９８】
［ステップＳ２５３］ＶＭ対応タッチセンサドライバ４５１は、接触があったことを示す情報を受け取ると、現在において操作対象となっているＶＭを判断する。そしてＶＭ対応タッチセンサドライバ４５１は、タッチセンサドライバ４７３ａに対して、接触があったことを示す情報を送信する。この情報には、接触された位置の座標が含まれる。
【０２９９】
［ステップＳ２５４］タッチセンサドライバ４７３ａは、切替操作判断部４７３ｆに対して、接触があったことを示す情報を送信する。この情報には、接触された位置の座標が含まれる。
【０３００】
［ステップＳ２５５］切替操作判断部４７３ｆは、接触があったことを示す情報を取得すると、座標リストを更新する。
［ステップＳ２５６］切替ボタン制御部４７２は、切替操作部４３が有する座標リストを取得する。
【０３０１】
［ステップＳ２５７］切替ボタン制御部４７２は、座標リストに基づいて、切替ボタン９１の移動開始時からの移動速度を計算する。そして切替ボタン制御部４７２は、移動速度を指定したＶＭ仮切替要求を切替制御部４６２に送信する。
【０３０２】
［ステップＳ２５８］切替制御部４６２は、移動速度に基づいて、スクロールの移動量を計算する。
［ステップＳ２５９］切替制御部４６２は、移動量を指定したスクロール指示をＶＭ対応ＬＣＤドライバ４６１に送信する。
【０３０３】
［ステップＳ２６０］ＶＭ対応ＬＣＤドライバ４６１は、指定された移動量に応じて、合成画像を生成する。
［ステップＳ２６１］ＶＭ対応ＬＣＤドライバ４６１は、合成画像が格納されているフレームバッファのアドレスをＬＣＤ装置４１１に指定する。これにより、スクロールさせた画面が表示される。
【０３０４】
図３５は、第６の実施の形態のＶＭ切替処理の第３のシーケンス図である。以下、図３５に示す処理をステップ番号に沿って説明する。
［ステップＳ２７１］ユーザ４０は、タッチセンサ付き表示装置４１０から指等の接触部を離す。
【０３０５】
［ステップＳ２７２］タッチセンサ４１２は、切替ボタン９１が解放されたことを検知し、接触状態が解放されたことを示す情報をＶＭ対応タッチセンサドライバ４５１に送信する。
【０３０６】
［ステップＳ２７３］ＶＭ対応タッチセンサドライバ４５１は、接触状態が解放されたことを示す情報を受け取ると、タッチセンサドライバ４７３ａに対して、接触状態が解放されたことを示す情報を送信する。
【０３０７】
［ステップＳ２７４］タッチセンサドライバ４７３ａは、接触状態が解放されたことを示す情報を受け取ると、切替操作判断部４７３ｆに対して、接触状態が解放されたことを示す情報を送信する。
【０３０８】
［ステップＳ２７５］切替操作判断部４７３ｆは、接触状態が解放されたことを示す情報を受け取ると、切替モードを「Ｏｆｆ」に変更し、切替ボタン制御部４７２に対してボタン解放を示す情報を送信する。
【０３０９】
［ステップＳ２７６］切替ボタン制御部４７２は、ステップＳ２５６で取得した座標リストに基づいて、切替ボタン９１が、最初の表示位置（ホーム座標）から移動しているか否かをチェックする。
【０３１０】
［ステップＳ２７７］切替ボタン制御部４７２は、切替ボタン９１がホーム座標から移動している場合、ホーム座標を指定したボタン移動要求を切替制御部４６２に送信する。
［ステップＳ２７８］切替制御部４６２は、現在の切替ボタン９１の位置からホーム座標までの移動量を計算する。そして切替制御部４６２は、ＶＭ対応ＬＣＤドライバ４６１に対して、移動量を指定したボタン移動要求を送信する。
【０３１１】
［ステップＳ２７９］ＶＭ対応ＬＣＤドライバ４６１は、切替ボタン９１のアイコン画像を、現在の表示対象のＶＭで動作しているＯＳのフレームバッファ内の画像にオーバレイ表示した画像を生成する。このときの切替ボタン９１のアイコン画像は、指定された移動量だけ移動させた位置に配置される。切替制御部４６２からはホーム座標までの移動量が指定されているため、結果的に、切替ボタン９１のアイコン画像がホーム座標の位置に配置されることとなる。
【０３１２】
［ステップＳ２８０］ＶＭ対応ＬＣＤドライバ４６１は、表示する画像が格納されたフレームバッファのアドレスを含む表示バッファ指定を、ＬＣＤ装置４１１に送信する。
図３６は、第６の実施の形態のＶＭ切替処理の第４のシーケンス図である。以下、図３６に示す処理をステップ番号に沿って説明する。
【０３１３】
［ステップＳ２９１］ユーザ４０が、タッチセンサ４１２の切替ボタン９１に対応する部分を押下する。
［ステップＳ２９２］タッチセンサ４１２は、ユーザ４０の押下操作による指４１の接触位置を検知し、接触があったことを示す情報を、ＶＭ対応タッチセンサドライバ４５１に送信する。接触があったことを示す情報には、接触された位置の座標が含まれる。
【０３１４】
［ステップＳ２９３］ＶＭ対応タッチセンサドライバ４５１は、接触があったことを示す情報を受け取ると、タッチセンサドライバ４７３ａに対して、接触があったことを示す情報を送信する。この情報には、接触された位置の座標が含まれる。
【０３１５】
［ステップＳ２９４］タッチセンサドライバ４７３ａは、接触があったことを示す情報を受け取ると、切替操作判断部４７３ｆに対して、接触があったことを示す情報を送信する。この情報には、接触された位置の座標が含まれる。
【０３１６】
［ステップＳ２９５］切替操作判断部４７３ｆは、接触があったことを示す情報を受け取ると、切替ボタン制御部４７２に対してボタン押下を示す情報を送信する。ボタン押下を示す情報には、接触された位置を示す座標が含まれる。
【０３１７】
［ステップＳ２９６］切替ボタン制御部４７２は、ボタン押下を示す情報を取得すると、ボタン押下イベントを、切替操作判断部４７３ｆに送信する。切替操作判断部４７３ｆは、ボタン押下イベントを取得すると、切替モードを「Ｏｎ」に変更する。
【０３１８】
［ステップＳ２９７］ユーザ４０は、表示されたＯＳに操作対象を切り替えるのであれば、タッチセンサ付き表示装置４１０から、指等の接触部を離す。すなわち、切替ボタンの解放（リリース）が行われる。
【０３１９】
［ステップＳ２９８］タッチセンサ４１２は、切替ボタンが解放されたことを検知し、接触状態が解放されたことを示す情報をＶＭ対応タッチセンサドライバ４５１に送信する。
【０３２０】
［ステップＳ２９９］ＶＭ対応タッチセンサドライバ４５１は、接触状態が解放されたことを示す情報を受け取ると、タッチセンサドライバ４７３ａに対して、接触状態が解放されたことを示す情報を送信する。
【０３２１】
［ステップＳ３００］タッチセンサドライバ４７３ａは、接触状態が解放されたことを示す情報を受け取ると、切替操作判断部４７３ｆに対して、接触状態が解放されたことを示す情報を送信する。
【０３２２】
［ステップＳ３０１］切替操作判断部４７３ｆは、接触状態が解放されたことを示す情報を取得すると、切替モードを「Ｏｆｆ」に変更する。そして切替操作判断部４７３ｆは、切替ボタン制御部４７２に対してボタン解放を示す情報を送信する。
【０３２３】
［ステップＳ３０２］切替ボタン制御部４７２は、ステップＳ２５６で取得した座標リストに基づいて、切替ボタン９１が、最初の表示位置（ホーム座標）から移動しているか否かをチェックする。
【０３２４】
［ステップＳ３０３］切替ボタン制御部４７２は、切替ボタン９１がホーム座標から移動していない場合、メニュー制御部４７１に対して切替ボタン非表示要求を送信する。
［ステップＳ３０４］メニュー制御部４７１は、画像制御部４７３ｃに対して、切替ボタン非表示要求を送信する。
【０３２５】
［ステップＳ３０５］画像制御部４７３ｃは、切替ボタンのアイコン画像を除外した画像を生成し、その画像への更新要求をＬＣＤドライバ４７３ｄに送信する。
［ステップＳ３０６］ＬＣＤドライバ４７３ｄは、切替ボタンのアイコン画像を除外した画像をフレームバッファに書き込む。すると、フレームバッファ内の画像データがＬＣＤ装置４１１に転送され、切替ボタンを含まない画像が表示される。
【０３２６】
［ステップＳ３０７］切替操作判断部４７３ｆは、切替の確定を示すＶＭ切替確定要求を、切替制御部４６２に送信する。
［ステップＳ３０８］切替制御部４６２は、ＶＭ切替確定要求を取得すると、その時点で画面の半分以上で表示されているＶＭを操作対象のＶＭとする。そして、切替制御部４６２は、操作対象のＶＭのＶＭＩＤを指定し、そのＶＭへの表示切替の確定を示す表示切替要求を、ＶＭ対応ＬＣＤドライバ４６１に送信する。
【０３２７】
［ステップＳ３０９］ＶＭ対応ＬＣＤドライバ４６１は、表示切替要求に応じて、表示対象のフレームバッファを選択する。
［ステップＳ３１０］ＶＭ対応ＬＣＤドライバ４６１は、表示バッファ指定をＬＣＤ装置４１１に送信する。するとＬＣＤ装置４１１は、表示する画像の取得元を、表示バッファ指定によって指定されたフレームバッファに切り替える。
【０３２８】
［ステップＳ３１１］切替制御部４６２は、ＶＭ対応ＬＣＤドライバ４６１から、表示切替の確定結果を取得する。
［ステップＳ３１２］切替制御部４６２は、表示対象のＶＭの切替が確定すると、操作切替要求を、ＶＭ対応タッチセンサドライバ４５１に送信する。操作切替要求には、切替先として確定したＶＭのＶＭＩＤが含まれる。
【０３２９】
［ステップＳ３１３］ＶＭ対応タッチセンサドライバ４５１は、操作切替要求を取得すると、操作切替要求で指定されたＶＭＩＤに対応するＶＭに、操作対象を切り替える。すなわちＶＭ対応タッチセンサドライバ４５１は、以後のタッチセンサ４１２からの入力情報を、操作切替要求で指定されたＶＭＩＤに対応するＶＭに送信する。
【０３３０】
このようにして、第６の実施の形態に係る携帯端末装置４００では、まず切替ボタン表示用のジェスチャ操作を認識して、切替ボタン９１を画面に表示する。その後、携帯端末装置４００は、ユーザ４０による切替ボタン９１の押下および横移動を検出して、画面をスクロールさせながら表示対処のＶＭを切り替える。切替ボタン９１が解放されると、携帯端末装置４００は、切替ボタン９１をホームポジションに移動させる。そして、切替ボタン９１を移動させずに、押下と解放が行われると、携帯端末装置４００は、切替ボタン９１を画面から消し、現在表示されているＯＳを実行しているＶＭに、タッチセンサ４１２からの入力経路を切り替える。
【０３３１】
これにより、通常使用時には、ＶＭ切り替え用のボタンや領域を設けずに済み、画面を有効利用できる。そして、ＶＭを切り替える際には、画面のスクロールによるＶＭ切り替えが可能となる。
【０３３２】
〔その他の実施の形態〕
第２〜第６の実施の形態では、ＶＭに対する操作入力に使用する入力デバイスがタッチセンサのみである。そのため、入力デバイス用のドライバＶＭは、ＶＭ対応タッチセンサドライバを実行するＶＭだけである。しかし、携帯端末装置に他の入力デバイスを設けることもできる。例えば、物理的なキーを有するキーパッドや、ポインティングデバイスである。タッチセンサ以外にも入力デバイスがある場合、各入力デバイスに対応するドライバＶＭが生成され、各ドライバＶＭにおいて入力デバイスのドライバが実行される。このように入力デバイス用のドライバＶＭが多数ある場合には、例えば切替制御部に送信ドライバリストを持たせる。
【０３３３】
図３７は、通知ドライバリストのデータ構造の一例を示す図である。通知ドライバリスト９２には、ＶＭＩＤ、ドライバ名、およびポート番号の欄が設けられている。ＶＭＩＤの欄には、操作切替要求の送信相手とするドライバＶＭのＶＭＩＤが設定される。ドライバ名の欄には、送信相手のドライバＶＭで実行されているデバイスドライバの名称が設定される。ポート番号の欄には、送信相手のドライバＶＭ内のデバイスドライバとの通信に使用する通信ポートの番号が設定される。
【０３３４】
このように、通知ドライバリスト９２には、入力デバイス用のドライバＶＭで実行されているデバイスドライバのリストが登録されている。切替制御部は、操作対象のＶＭを切り替える場合、新たに決定した操作対象のＶＭのＶＭＩＤを、通知ドライバリスト９２に登録されているすべてのデバイスドライバに送信する。これにより、すべての入力デバイスからの操作の対象となるＶＭを切り替えることができる。
【０３３５】
また、第４の実施の形態に示した切替操作判断部２７３ｆ、２８３ｆと検知領域記憶部２７３ｇ，２８３ｇ（図２１参照）とは、例えばドライバＶＭ内に設けることもできる。
図３８は、第４の実施の形態の変形例を示す図である。図３８において、図２１に示した要素と同じ機能の要素には、図２１の要素と同じ符号を付し、説明を省略する。
【０３３６】
携帯端末装置２００ａのドライバＶＭ２５０ａは、ＶＭ対応タッチセンサドライバ２５１ａ、切替操作判断部２５２、および検知領域記憶部２５３を有する。その一方、ＶＭ２７０ａ，２８０ａは、図２１に示した切替操作判断部２７３ｆ、２８３ｆと検知領域記憶部２７３ｇ，２８３ｇを有していない。
【０３３７】
ドライバＶＭ２５０ａのＶＭ対応タッチセンサドライバ２５１ａは、図２１に示したＶＭ対応タッチセンサドライバ２５１が有する機能に加え、タッチセンサ２１２からの入力情報を切替操作判断部２５２に送信する機能を有する。切替操作判断部２５２は、図２１に示した切替操作判断部２７３ｆと同じ機能を有する。検知領域記憶部２５３は、図２１に示した検知領域記憶部２７３ｇと同じ機能を有する。
【０３３８】
第４の実施の形態の変形例の処理手順は、ＶＭ対応タッチセンサドライバ２５１ａと切替操作判断部２５２との間で直接通信が行われることを除き、図２４に示した第４の実施の形態の処理手順と同様である。ただし、図２４に示したＶＭ対応タッチセンサドライバ２５１は、図３８に示すＶＭ対応タッチセンサドライバ２５１ａに置き換えられる。また図２４に示した切替操作判断部２７３ｆは、図３８に示す切替操作判断部２５２に置き換えられる。
【０３３９】
このように切替操作判断部２５２と検知領域記憶部２５３とをドライバＶＭ２５０ａ内に設けることにより、ＶＭ２７０ａ，２８０ａで実行されるＯＳに対して、ＶＭ切替用の機能を組み込まずにすむ。
【０３４０】
同様に、第５の実施の形態に示した切替操作判断部３７３ｆ、３８３ｆとジェスチャ情報記憶部３７３ｇ，３８３ｇ（図２５参照）とを、例えばドライバＶＭ内に設けることもできる。
【０３４１】
図３９は、第５の実施の形態の変形例を示す図である。図３９において、図２５に示した要素と同じ機能の要素には、図２５の要素と同じ符号を付し、説明を省略する。
携帯端末装置３００ａのドライバＶＭ３５０ａは、ＶＭ対応タッチセンサドライバ３５１ａ、切替操作判断部３５２、およびジェスチャ情報記憶部３５３を有する。その一方、ＶＭ３７０ａ，３８０ａは、図２５に示した切替操作判断部３７３ｆ、３８３ｆとジェスチャ情報記憶部３７３ｇ，３８３ｇを有していない。
【０３４２】
ドライバＶＭ３５０ａのＶＭ対応タッチセンサドライバ３５１ａは、図２５に示したＶＭ対応タッチセンサドライバ３５１が有する機能に加え、タッチセンサ３１２からの入力情報を切替操作判断部３５２に送信する機能を有する。切替操作判断部３５２は、図２５に示した切替操作判断部３７３ｆと同じ機能を有する。ジェスチャ情報記憶部３５３は、図２５に示したジェスチャ情報記憶部３７３ｇと同じ機能を有する。
【０３４３】
第５の実施の形態の変形例の処理手順は、ＶＭ対応タッチセンサドライバ３５１ａと切替操作判断部３５２との間で直接通信が行われることを除き、図２８に示した第５の実施の形態の処理手順と同様である。ただし、図２８に示したＶＭ対応タッチセンサドライバ３５１は、図３９に示すＶＭ対応タッチセンサドライバ３５１ａに置き換えられる。また図２８に示した切替操作判断部３７３ｆは、図３９に示す切替操作判断部３５２に置き換えられる。
【０３４４】
このように切替操作判断部３５２とジェスチャ情報記憶部３５３とをドライバＶＭ３５０ａ内に設けることにより、ジェスチャによってＶＭ切替を行う場合であっても、ＶＭ３７０ａ，３８０ａで実行されるＯＳに対して、ＶＭ切替用の機能を組み込まずにすむ。
【０３４５】
同様に、第６の実施の形態に示した切替操作判断部４７３ｆ、４８３ｆ、ジェスチャ情報記憶部４７３ｇ，４８３ｇ、および切替ボタン制御部４７２，４８２（図２９参照）を、例えばドライバＶＭ内に設けることもできる。
【０３４６】
図４０は、第６の実施の形態の変形例を示す図である。図４０において、図２９に示した要素と同じ機能の要素には、図２９の要素と同じ符号を付し、説明を省略する。
携帯端末装置４００ａのドライバＶＭ４５０ａは、ＶＭ対応タッチセンサドライバ４５１ａ、切替操作判断部４５２、およびジェスチャ情報記憶部４５３を有する。ドライバＶＭ４６０ａは、ＶＭ対応ＬＣＤドライバ４６１、切替制御部４６２ａ、および切替ボタン制御部４６３を有する。その一方、ＶＭ４７０ａ，４８０ａは、図２９に示した切替操作判断部４７３ｆ、４８３ｆ、ジェスチャ情報記憶部４７３ｇ，４８３ｇ、および切替ボタン制御部４７２，４８２を有していない。
【０３４７】
ドライバＶＭ４５０ａのＶＭ対応タッチセンサドライバ４５１ａは、図２９に示したＶＭ対応タッチセンサドライバ４５１が有する機能に加え、タッチセンサ４１２からの入力情報を切替操作判断部４５２に送信する機能を有する。切替操作判断部４５２は、図２９に示した切替操作判断部４７３ｆと同じ機能を有する。ジェスチャ情報記憶部４５３は、図２９に示したジェスチャ情報記憶部４７３ｇと同じ機能を有する。
【０３４８】
ドライバＶＭ４６０ａの切替制御部４６２ａは、図２９に示した切替制御部４６２が有する機能に加え、切替ボタン制御部４６３からの入力情報を切替操作判断部４５２に送信する機能を有する。切替操作判断部４５２は、図２９に示した切替操作判断部４７３ｆと同じ機能を有する。ジェスチャ情報記憶部４５３は、図２９に示したジェスチャ情報記憶部４７３ｇと同じ機能を有する。
【０３４９】
以下、第６の実施の形態の変形例におけるＶＭ切替処理を詳細に説明する。
図４１は、第６の実施の形態の変形例におけるＶＭ切替処理の第１のシーケンス図である。以下、図４１に示す処理をステップ番号に沿って説明する。
【０３５０】
［ステップＳ４１１］ユーザ４０が２本の指で、タッチセンサ４１２の２箇所を同時に押下する。
［ステップＳ４１２］タッチセンサ４１２は、押下された２箇所の接触を検知し、接触があったことを示す情報を、ＶＭ対応タッチセンサドライバ４５１ａに送信する。接触があったことを示す情報には、接触された２箇所それぞれの位置の座標が含まれる。
【０３５１】
［ステップＳ４１３］ＶＭ対応タッチセンサドライバ４５１ａは、接触があったことを示す情報を受け取ると、切替操作判断部４５２に対して、接触があったことを示す情報を送信する。この情報には、接触された２箇所それぞれの位置の座標が含まれる。
【０３５２】
［ステップＳ４１４］切替操作判断部４５２は、接触があったことを示す情報を取得すると、座標リストを更新する。切替操作判断部４５２が更新する座標リストのデータ構造は、図１７に示した座標リスト６０と同様である。ただし、２箇所が同時に接触された場合、同一時刻で２つの点の座標が座標リスト６０に登録される。
【０３５３】
［ステップＳ４１５］切替操作判断部４５２は、ジェスチャ照合を開始する。例えば切替操作判断部４５２は、ジェスチャ情報記憶部４５３に登録されている接触箇所の数と、接触があったことを示す情報で示される座標の数が一致したことを確認し、ジェスチャ照合を開始する。
【０３５４】
［ステップＳ４１６］ユーザ４０は、ＶＭ切替を指示するジェスチャを行う。すなわち、ユーザ４０は、ステップＳ４１１におけるスクリーンの押下から連続して、２本の指でタッチセンサ４１２の２箇所を同時に押下する。
【０３５５】
その後のステップＳ４１７〜Ｓ４１９の処理は、ステップＳ４１２〜Ｓ４１４と同じである。
［ステップＳ４２０］切替操作判断部４５２は、ジェスチャ照合を行う。例えば切替操作判断部４５２は、ジェスチャ照合が開始されたときの２箇所の接触箇所における連続接触回数を数える。そして切替操作判断部４５２は、連続して２回の接触があった場合、切替ボタンの表示を指示するジェスチャが行われたと判断する。
【０３５６】
［ステップＳ４２１］切替操作判断部４５２は、切替ボタンの表示を指示するジェスチャが行われたと判断した場合、切替ボタン表示要求を切替ボタン制御部４６３に送信する。
【０３５７】
［ステップＳ４２２］切替ボタン制御部４６３は、切替ボタン表示要求を、切替制御部４６２ａに送信する。
［ステップＳ４２３］切替制御部４６２ａは、切替ボタン表示要求を、ＶＭ対応ＬＣＤドライバ４６１に送信する。
【０３５８】
［ステップＳ４２４］ＶＭ対応ＬＣＤドライバ４６１は、切替ボタン９１のアイコン画像を、現在の表示対象のＶＭで動作しているＯＳのフレームバッファ内の画像にオーバレイ表示した画像を生成する。この際、切替ボタン９１が、画面内の予め決められた位置（ホーム座標）に表示されるように、合成画像が生成される。
【０３５９】
［ステップＳ４２５］ＶＭ対応ＬＣＤドライバ４６１は、表示する画像が格納されたフレームバッファのアドレスを含む表示バッファ指定を、ＬＣＤ装置４１１に送信する。
［ステップＳ４２６］ユーザ４０は、タッチセンサ付き表示装置４１０から、指等の接触部を離す。すなわち、スクリーンの解放（リリース）が行われる。
【０３６０】
［ステップＳ４２７］タッチセンサ４１２は、スクリーンの解放を検知し、接触状態が解放されたことを示す情報をＶＭ対応タッチセンサドライバ４５１ａに送信する。
［ステップＳ４２８］ＶＭ対応タッチセンサドライバ４５１ａは、接触状態が解放されたことを示す情報を受け取ると、切替操作判断部４５２に対して、接触状態が解放されたことを示す情報を送信する。
【０３６１】
［ステップＳ４２９］切替操作判断部４５２は、ジェスチャ照合処理を終了する。
図４２は、第６の実施の形態の変形例におけるＶＭ切替処理の第２のシーケンス図である。なお図４２のステップＳ４３１，Ｓ４３２，Ｓ４３４〜Ｓ４４１，Ｓ４４３〜Ｓ４４９の処理は、それぞれ図３４に示すステップＳ２４１，Ｓ２４２，Ｓ２４５〜Ｓ２５２，Ｓ２５５〜Ｓ２６１の処理と同じである。図４２の処理のうち、図３４の処理と異なるのは、ステップＳ４３３，Ｓ４４２の処理である。以下、この２つのステップの処理について説明する。
【０３６２】
［ステップＳ４３３］ＶＭ対応タッチセンサドライバ４５１ａは、接触があったことを示す情報を受け取ると、切替操作判断部４５２に対して、接触があったことを示す情報を送信する。この情報には、接触された位置の座標が含まれる。
【０３６３】
［ステップＳ４４２］ＶＭ対応タッチセンサドライバ４５１ａは、接触があったことを示す情報を受け取ると、現在において操作対象となっているＶＭを判断する。そしてＶＭ対応タッチセンサドライバ４５１ａは、切替操作判断部４５２に対して、接触があったことを示す情報を送信する。この情報には、接触された位置の座標が含まれる。
【０３６４】
このように図４２の処理では、ＶＭ対応タッチセンサドライバ４５１ａから直接、切替操作判断部４５２に情報が通知される。
図４３は、第６の実施の形態の変形例におけるＶＭ切替処理の第３のシーケンス図である。なお図４３のステップＳ４５１，Ｓ４５２，Ｓ４５４〜Ｓ４５９の処理は、それぞれ図３５に示すステップＳ２７１，Ｓ２７２，Ｓ２７５〜Ｓ２８０の処理と同じである。図４３の処理のうち、図３５の処理と異なるのは、ステップＳ４５３の処理である。以下、このステップの処理について説明する。
【０３６５】
［ステップＳ４５３］ＶＭ対応タッチセンサドライバ４５１ａは、接触状態が解放されたことを示す情報を受け取ると、切替操作判断部４５２に対して、接触状態が解放されたことを示す情報を送信する。
【０３６６】
図４４は、第６の実施の形態の変形例におけるＶＭ切替処理の第４のシーケンス図である。以下、図４４に示す処理をステップ番号に沿って説明する。
［ステップＳ４７１］ユーザ４０が、タッチセンサ４１２の切替ボタン９１に対応する部分を押下する。
【０３６７】
［ステップＳ４７２］タッチセンサ４１２は、ユーザ４０の押下操作による指４１の接触位置を検知し、接触があったことを示す情報を、ＶＭ対応タッチセンサドライバ４５１ａに送信する。接触があったことを示す情報には、接触された位置の座標が含まれる。
【０３６８】
［ステップＳ４７３］ＶＭ対応タッチセンサドライバ４５１ａは、接触があったことを示す情報を受け取ると、切替操作判断部４５２に対して、接触があったことを示す情報を送信する。この情報には、接触された位置の座標が含まれる。
【０３６９】
［ステップＳ４７４］切替操作判断部４５２は、接触があったことを示す情報を受け取ると、切替ボタン制御部４６３に対してボタン押下を示す情報を送信する。ボタン押下を示す情報には、接触された位置を示す座標が含まれる。
【０３７０】
［ステップＳ４７５］切替ボタン制御部４６３は、ボタン押下を示す情報を取得すると、ボタン押下イベントを、切替操作判断部４５２に送信する。切替操作判断部４５２は、ボタン押下イベントを取得すると、切替モードを「Ｏｎ」に変更する。
【０３７１】
［ステップＳ４７６］ユーザ４０は、表示されたＯＳに操作対象を切り替えるのであれば、タッチセンサ付き表示装置４１０から、指等の接触部を離す。すなわち、切替ボタンの解放（リリース）が行われる。
【０３７２】
［ステップＳ４７７］タッチセンサ４１２は、切替ボタンが解放されたことを検知し、接触状態が解放されたことを示す情報をＶＭ対応タッチセンサドライバ４５１ａに送信する。
【０３７３】
［ステップＳ４７８］ＶＭ対応タッチセンサドライバ４５１ａは、接触状態が解放されたことを示す情報を受け取ると、切替操作判断部４５２に対して、接触状態が解放されたことを示す情報を送信する。
【０３７４】
［ステップＳ４７９］切替操作判断部４５２は、接触状態が解放されたことを示す情報を取得すると、切替モードを「Ｏｆｆ」に変更する。そして切替操作判断部４５２は、切替ボタン制御部４６３に対してボタン解放を示す情報を送信する。
【０３７５】
［ステップＳ４８０］切替ボタン制御部４６３は、ステップＳ４４３で取得した座標リストに基づいて、切替ボタン９１が、最初の表示位置（ホーム座標）から移動しているか否かをチェックする。
【０３７６】
［ステップＳ４８１］切替ボタン制御部４６３は、切替ボタン９１がホーム座標から移動していない場合、切替制御部４６２ａに対して切替ボタン非表示要求を送信する。
［ステップＳ４８２］切替制御部４６２ａは、ＶＭ対応ＬＣＤドライバ４６１に対して、切替ボタン非表示要求を送信する。
【０３７７】
［ステップＳ４８３］ＶＭ対応ＬＣＤドライバ４６１は、各ＯＳのフレームバッファ内の画像を合成し、切替ボタン９１のアイコン画像を除外した画像を生成する。
［ステップＳ４８４］ＶＭ対応ＬＣＤドライバ４６１は、合成画像が格納されているフレームバッファのアドレスをＬＣＤ装置４１１に指定する。
【０３７８】
［ステップＳ４８５］切替操作判断部４５２は、ステップＳ４７９の処理に加え、切替の確定を示すＶＭ切替確定要求を、切替制御部４６２ａに送信する。
［ステップＳ４８６］切替制御部４６２ａは、ＶＭ切替確定要求を取得すると、その時点で画面の半分以上で表示されているＶＭを操作対象のＶＭとする。そして、切替制御部４６２ａは、操作対象のＶＭのＶＭＩＤを指定し、そのＶＭへの表示切替の確定を示す表示切替要求を、ＶＭ対応ＬＣＤドライバ４６１に送信する。
【０３７９】
［ステップＳ４８７］ＶＭ対応ＬＣＤドライバ４６１は、表示切替要求に応じて、表示対象のフレームバッファを選択する。
［ステップＳ４８８］ＶＭ対応ＬＣＤドライバ４６１は、表示バッファ指定をＬＣＤ装置４１１に送信する。するとＬＣＤ装置４１１は、表示する画像の取得元を、表示バッファ指定によって指定されたフレームバッファに切り替える。
【０３８０】
［ステップＳ４８９］切替制御部４６２ａは、ＶＭ対応ＬＣＤドライバ４６１から、表示切替の確定結果を取得する。
［ステップＳ４９０］切替制御部４６２ａは、表示対象のＶＭの切替が確定すると、操作切替要求を、ＶＭ対応タッチセンサドライバ４５１ａに送信する。操作切替要求には、切替先として確定したＶＭのＶＭＩＤが含まれる。
【０３８１】
［ステップＳ４９１］ＶＭ対応タッチセンサドライバ４５１ａは、操作切替要求を取得すると、操作切替要求で指定されたＶＭＩＤに対応するＶＭに、操作対象を切り替える。すなわちＶＭ対応タッチセンサドライバ４５１ａは、以後のタッチセンサ４１２からの入力情報を、操作切替要求で指定されたＶＭＩＤに対応するＶＭに送信する。
【０３８２】
第４から第６の実施の形態の応用例で示したように、切替指示の入力を検出する機能を、ＯＳが動作するＶＭとは別のドライバＶＭに設けることも可能である。
また上記の各実施の形態および応用例では携帯端末装置の例を示したが、各実施の形態のＶＭ切替機能は、携帯端末装置以外のコンピュータにも実装可能である。
【０３８３】
さらに、上記の各実施の形態および応用例では、タッチセンサによる入力の例を示したが、他の入力装置からのＯＳに対する入力情報に基づいて、ＶＭ切替指示を検出することもできる。例えばマウスやタブレットなどのポインティングデバイスからの入力情報に基づいて、ＶＭ切替指示を検出できる。ポインティングデバイスからの入力情報は、画面上の座標に変換できるため、座標に変換後は、タッチセンサの入力情報と同様に処理することができる。
【０３８４】
さらに、上記の各実施の形態および応用例では、仮切替要求で表示対象を切り替え、切替確定要求で操作対象を切り替えているが、表示対象と操作対象との切り替えを、同じタイミングで行ってもよい。例えば、仮切替要求が出されたタイミングで、表示対象と操作対象との両方を切り替えてもよい。また切替確定要求が出されたタイミングで、表示対象と操作対象との両方を切り替えてもよい。
【０３８５】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、携帯端末装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ／ＲＷなどがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disc）などがある。
【０３８６】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０３８７】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０３８８】
また、上記の処理機能の少なくとも一部を、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＰＬＤ（Programmable Logic Device）などの電子回路で実現することもできる。
【０３８９】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【０３９０】
以上の実施の形態に開示された技術には、以下の付記に示す技術が含まれる。
（付記１）  第１のオペレーティングシステムに基づく処理を実行する第１の処理部と、
第２のオペレーティングシステムに基づく処理を実行する第２の処理部と、
前記第１の処理部または前記第２の処理部のいずれか一方が設定された送信先の設定に応じて入力情報を送信する送信部と、
前記送信先の設定の切替要求を受信した場合に、前記送信先の設定を、設定された送信先以外の前記第１の処理部または前記第２の処理部に切り替える切替制御部と、を有し、
前記第１の処理部が、
前記送信部から受信した入力情報が、前記第１のオペレーティングシステムで定義された切替条件に合致する場合に、前記切替制御部に切替要求を送信する、
ことを特徴とする情報処理装置。
【０３９１】
（付記２）  表示部と、
表示対象の画像を指定する表示対象情報を受信すると、前記第１の処理部で生成された画像、または前記第２の処理部で生成された画像のうち、該表示対象情報によって指定された画像を前記表示部に表示させる制御を行う表示制御部と、をさらに有し、
前記切替制御部は、切替要求を受信した場合、現在の表示されている画像とは別の画像を指定した表示対象情報を、前記表示制御部に送信することを特徴とする付記１記載の情報処理装置。
【０３９２】
（付記３）  前記第１の処理部は、入力情報で示される操作対象の位置が、予め定義された検知領域内の場合に、切替要求を送信することを特徴とする付記１または２のいずれかに記載の情報処理装置。
【０３９３】
（付記４）  前記第１の処理部は、入力情報で示される操作対象の位置が、予め定義された検知領域内であることを検出後、入力情報で示される操作対象の位置が時間経過と共に移動した場合に、切替要求送信することを特徴とする付記１または２のいずれかに記載の情報処理装置。
【０３９４】
（付記５）  前記検知領域は、表示対象の画像内のソフトボタンの表示領域であることを特徴とする付記３または４のいずれかに記載の情報処理装置。
（付記６）  前記第１の処理部は、入力情報で示される操作対象の位置が、予め定義された検知領域内であることを検出後、入力情報で示される操作対象の位置が時間経過と共に該検知領域内を移動した場合に、切替要求を送信することを特徴とする付記１または２のいずれかに記載の情報処理装置。
【０３９５】
（付記７）  前記検知領域は、表示装置の画面の少なくとも１辺の縁に沿った領域であることを特徴とする付記６記載の情報処理装置。
（付記８）  複数の領域情報を記憶する記憶部をさらに有し、
前記第１の処理部は、生成した画像の向きに応じて前記記憶部から領域情報を選択し、選択した領域情報で示される領域を前記検知領域とすることを特徴とする付記４乃至７のいずれかに記載の情報処理装置。
【０３９６】
（付記９）  前記第１の処理部は、入力情報で示される操作対象の位置の移動速度を計算し、
前記切替制御部は、移動速度に応じて画面をスクロールさせる移動量を計算し、前記第１の処理部で生成された画像から前記第２の処理部で生成された画像への、該移動量分のスクロール指示を、前記表示制御部に送信し、
前記表示制御部は、スクロール指示を受信すると、該スクロール指示で示される移動量だけ、前記第１の処理部で生成された画像から前記第２の処理部で生成された画像へスクロールする画像を表示させることを特徴とする付記２記載の情報処理装置。
【０３９７】
（付記１０）  位置情報で示される位置のパターンを記憶する記憶部をさらに有し、
前記第１の処理部は、入力情報で示される操作対象の位置の発生パターンが、前記記憶部に記憶されたパターンに合致する場合に、切替要求を送信することを特徴とする付記１または２のいずれかに記載の情報処理装置。
【０３９８】
（付記１１）  入力情報で示される操作対象の位置のパターンを記憶する記憶部をさらに有し、
前記第１の処理部は、入力情報で示される操作対象の位置の発生パターンが、前記記憶部に記憶されたパターンに合致する場合に、検知領域を示す画像を表示させ、入力情報で示される操作対象の位置が、該検知領域内であることを検出後、タッチセンサが出力した位置情報で示される位置が時間経過と共に移動した場合に、切替要求を送信することを特徴とする付記１または２のいずれかに記載の情報処理装置。
【０３９９】
（付記１２）  表示装置と、
前記表示装置の表示領域と少なくとも一部の領域が重複するセンサ領域内の接触された位置を示す位置情報を、前記送信部に対して出力するタッチセンサと、
をさらに有することを特徴とする付記１乃至１１のいずれかに記載の情報処理装置。
【０４００】
（付記１３）  情報処理装置が、
第１のオペレーティングシステムに基づく第１の処理を実行すると共に、第２のオペレーティングシステムに基づく第２の処理を実行し、
前記第１の処理の処理過程で受け付けた入力情報が、前記第１のオペレーティングシステムで定義された切替条件に合致する場合、前記第１の処理によって切替要求を出力し、
切替要求が出力された場合、以後の入力情報を、前記第２の処理で処理させる、
ことを特徴とする制御方法。
【０４０１】
（付記１４）  情報処理装置に、
第１のオペレーティングシステムに基づく第１の処理を実行すると共に、第２のオペレーティングシステムに基づく第２の処理を実行し、
前記第１の処理の処理過程で受け付けた入力情報が、前記第１のオペレーティングシステムで定義された切替条件に合致する場合、該第１の処理によって切替要求を出力し、
切替要求が出力された場合、以後の入力情報を、前記第２の処理で処理させる、
処理を実行させることを特徴とする制御プログラム。
【符号の説明】
【０４０２】
１  情報処理装置
１ａ  第１の処理部
１ｂ  第２の処理部
１ｃ  送信部
１ｄ  表示制御部
１ｅ  切替制御部
２  入力装置
３  表示装置
４  入力情報
５  切替要求
６，７  画像
８  アドレス
【図１】
2012155600.tif 000003
【図２】
2012155600.tif 000004
【図３】
2012155600.tif 000005
【図４】
2012155600.tif 000006
【図５】
2012155600.tif 000007
【図６】
2012155600.tif 000008
【図７】
2012155600.tif 000009
【図８】
2012155600.tif 000010
【図９】
2012155600.tif 000011
【図１０】
2012155600.tif 000012
【図１１】
2012155600.tif 000013
【図１２】
2012155600.tif 000014
【図１３】
2012155600.tif 000015
【図１４】
2012155600.tif 000016
【図１５】
2012155600.tif 000017
【図１６】
2012155600.tif 000018
【図１７】
2012155600.tif 000019
【図１８】
2012155600.tif 000020
【図１９】
2012155600.tif 000021
【図２０】
2012155600.tif 000022
【図２１】
2012155600.tif 000023
【図２２】
2012155600.tif 000024
【図２３】
2012155600.tif 000025
【図２４】
2012155600.tif 000026
【図２５】
2012155600.tif 000027
【図２６】
2012155600.tif 000028
【図２７】
2012155600.tif 000029
【図２８】
2012155600.tif 000030
【図２９】
2012155600.tif 000031
【図３０】
2012155600.tif 000032
【図３１】
2012155600.tif 000033
【図３２】
2012155600.tif 000034
【図３３】
2012155600.tif 000035
【図３４】
2012155600.tif 000036
【図３５】
2012155600.tif 000037
【図３６】
2012155600.tif 000038
【図３７】
2012155600.tif 000039
【図３８】
2012155600.tif 000040
【図３９】
2012155600.tif 000041
【図４０】
2012155600.tif 000042
【図４１】
2012155600.tif 000043
【図４２】
2012155600.tif 000044
【図４３】
2012155600.tif 000045
【図４４】
2012155600.tif 000046