(57)【要約】【課題】  操作対象を、機能している形態で使用される操作手段に応じて切り替えながら表示することができる情報処理装置等を提供する。【解決手段】  情報処理装置は、第１の操作手段による操作を検出する第１の形態から、第２の操作手段による操作を検出する第２の形態に切り替えられたことが検出されると、前記第１の形態における表示手段への表示に用いられる表示記述のうち、前記第１の操作手段に関連付けられた操作対象に関する記述を、前記第２の操作手段に関連付けられた当該操作対象に関する記述に変換する変換手段と、前記変換手段により変換された記述を、前記第２の形態における前記表示手段に表示する描画手段とを備える。【選択図】      図１
2015185062.tif 000002
【特許請求の範囲】
【請求項１】
第１の操作手段による操作を検出する第１の形態から、第２の操作手段による操作を検出する第２の形態に切り替えられたことが検出されると、前記第１の形態における表示手段への表示に用いられる表示記述のうち、前記第１の操作手段に関連付けられた操作対象に関する記述を、前記第２の操作手段に関連付けられた当該操作対象に関する記述に変換する変換手段と、
前記変換手段により変換された記述を、前記第２の形態における前記表示手段に表示する描画手段と
を備えた情報処理装置。
【請求項２】
少なくとも前記第１の操作手段および前記第２の操作手段のいずれかによる操作を検出すると共に、当該操作が検出された時刻に基づいて、前記第１の操作手段または前記第２の操作手段のいずれによる操作を検出する形態であるかを判定する判定手段を
さらに備えた請求項１記載の情報処理装置。
【請求項３】
前記第１の操作手段または前記第２の操作手段による操作に関連して前記表示手段において示される位置に基づいて、前記表示記述のうち、前記変換手段による変換を開始する前記操作対象に関する記述を決定する決定手段を
さらに備えた請求項２記載の情報処理装置。
【請求項４】
前記判定手段は、前記操作としてポインティング操作を検出した場合、当該ポインティング操作を検出した時刻と、当該ポインティング操作に関連して前記表示手段において示される位置とに基づいて、前記第１の操作手段または前記第２の操作手段のいずれによる操作を検出する形態であるかを判定する
請求項２または３記載の情報処理装置。
【請求項５】
前記決定手段は、検出された時刻が最後である前記第１の操作手段または前記第２の操作手段による操作に関連して前記表示手段において示される位置に表示される前記操作対象に関する記述を、前記変換手段による変換を開始する前記操作対象に関する記述と決定する
請求項３記載の情報処理装置。
【請求項６】
前記決定手段は、前記第１の操作手段または前記第２の操作手段による複数の操作に関連して前記表示手段において示される位置から推定される位置に表示される前記操作対象に関する記述を、前記変換手段による変換を開始する前記操作対象に関する記述と決定する
請求項３記載の情報処理装置。
【請求項７】
前記判定手段は、前記操作として、キー操作を検出した場合、当該キー操作に関連付けられた文字と、当該キー操作が検出された時刻の間隔とに基づいて、前記第１の操作手段または前記第２の操作手段のいずれによる操作を検出する形態であるかを判定する
請求項２ないし６のいずれか１項記載の情報処理装置。
【請求項８】
第１の操作手段による操作を検出する第１の形態から、第２の操作手段による操作を検出する第２の形態に切り替えられたことが検出されると、前記第１の形態における表示手段への表示に用いられる表示記述のうち、前記第１の操作手段に関連付けられた操作対象に関する記述を、前記第２の操作手段に関連付けられた当該操作対象に関する記述に変換し、
前記変換された記述を、前記第２の形態における前記表示手段に表示する
情報処理方法。
【請求項９】
前記変換に際し、少なくとも前記第１の操作手段および前記第２の操作手段のいずれかによる操作を検出すると共に、当該操作が検出された時刻に基づいて、前記第１の操作手段または前記第２の操作手段のいずれによる操作を検出する形態であるかを判定する
請求項８記載の情報処理方法。
【請求項１０】
第１の操作手段による操作を検出する第１の形態から、第２の操作手段による操作を検出する第２の形態に切り替えられたことが検出されると、前記第１の形態における表示手段への表示に用いられる表示記述のうち、前記第１の操作手段に関連付けられた操作対象に関する記述を、前記第２の操作手段に関連付けられた当該操作対象に関する記述に変換する処理と、
前記変換された記述を、前記第２の形態における前記表示手段に表示する処理とを
コンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、操作手段を備えた情報処理装置におけるユーザインターフェース技術に関する。
【背景技術】
【０００２】
インターネットを経由して取得した情報を閲覧可能とする端末（Ｗｅｂクライアント）として、近年、デスクトップ型ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）やノート型ＰＣに加え、スマートデバイス（すなわちタブレット端末やスマートフォン）が利用されている。スマートデバイスは、一般に、画面サイズや操作方法がデスクトップ型ＰＣやノート型ＰＣとは異なるので、それぞれのデバイスに最適な画面を表示する技術が必要である。当該技術として、例えば、非特許文献１に開示されるレスポンシブＷｅｂデザインという手法が開発されている。レスポンシブＷｅｂデザインは、画面サイズ（特に横幅）に着目して、表示するレイアウトや画像サイズ、文字サイズを変更する手法である。
【０００３】
一方、ノート型ＰＣ（以降、「ノートＰＣ」と称する）として機能すると共に、例えば液晶画面を取り外したり折りたたんだりすることにより、タブレット端末として機能するノートＰＣ（いわゆるハイブリッドノートＰＣ）も開発されている。
【０００４】
ユーザは、一般に、ハイブリッドノートＰＣをタブレット端末として使用する際は、ポインティングデバイスとして指を使用し、ノートＰＣとして使用する際は、マウスまたはトラックパッドを使用する。このように、使用されるポインティングデバイスが異なることから、ユーザは所望の部分を表示するために、タブレット端末では指等による拡大縮小（ピンチアウト、ピンチイン）を利用し、ノートＰＣではマウス等によるスクロール移動を利用することが多い。つまり、タブレット端末とノートＰＣとでは、適切な操作手段が異なるので、両方の操作手段を利用できるハイブリッドノートＰＣにおいては、利用状況に応じて適切な操作手段を提供することが求められる。
【０００５】
ところで、Ｗｅｂサイトを閲覧可能とするブラウザソフトウェア製品には、ＯＳＳ（Ｏｐｅｎ  Ｓｏｕｒｃｅ  Ｓｏｆｔｗａｒｅ）や、商用ベンダにより開発された製品など、多様な製品がある。これらのソフトウエア製品は、それぞれがある程度のシェアを獲得している。このことから、Ｗｅｂサイトを構築する管理者等は、複数のブラウザにより共通にＷｅｂサイトが使えるように配慮しながら構築することが一般的になっている。
【０００６】
また、Ｗｅｂサイトにおいて、文字、画像、動画など、あらかじめ決められたコンテンツのみでなく、ＪａｖａＳｃｒｉｐｔ（登録商標）と呼ばれるプログラミング言語を用いて、動的に表示内容を変化させることも一般に行われている。ＪａｖａＳｃｒｉｐｔは、Ｗｅｂブラウザに含まれるＪａｖａＳｃｒｉｐｔエンジンで実行される、つまり、Ｗｅｂブラウザにより動作するので、ＪａｖａＳｃｒｉｐｔの動作には一定の制約がある。また、一般に、キーボードやマウスといったデバイスに関する情報を、ブラウザに依存することなく得ることは難しい。
【０００７】
例えば、特許文献１には、入力部および表示部を備えた情報処理装置において、オブジェクトを選択可能に表示するとともに、オブジェクトを部分的に選択することも可能にすることによって、優れた操作性を実現する情報処理装置が開示される。
【０００８】
また、特許文献２には、オブジェクトの選択、決定、結果物（関連する項目）の表示、結果物の選択、最終結果物の表示、という一連の処理を、簡易な接触動作、少ない動作数、および、直感的な接触動作で装置に行わせるということができる情報処理装置が開示される。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特許第５１０７４５３号公報
【特許文献２】特許第５１７２９９７号公報
【非特許文献】
【００１０】
【非特許文献１】http://www.atmarkit.co.jp/ait/articles/1301/28/news068.html  ２０１４年３月２０日検索
【発明の概要】
【発明が解決しようとする課題】
【００１１】
上述のように、操作手段の異なる二以上の形態で機能しうる情報処理装置において、操作対象を、機能している形態で使用される操作手段に応じて切り替えながら表示することができないという課題がある。
【００１２】
また、上記特許文献１および特許文献２には、操作性を向上させる技術は開示されるものの、使用される操作手段に応じて切り替えながら表示する技術は開示されていない。
【００１３】
本願発明は、上記課題を鑑みてなされたものであり、操作手段の異なる二以上の形態で機能しうる情報処理装置において、操作対象を、機能している形態で使用される操作手段に応じて切り替えながら表示することができる情報処理装置等を提供することを主要な目的とする。
【課題を解決するための手段】
【００１４】
本発明の第１の情報処理装置は、第１の操作手段による操作を検出する第１の形態から、第２の操作手段による操作を検出する第２の形態に切り替えられたことが検出されると、前記第１の形態における表示手段への表示に用いられる表示記述のうち、前記第１の操作手段に関連付けられた操作対象に関する記述を、前記第２の操作手段に関連付けられた当該操作対象に関する記述に変換する変換手段と、前記変換手段により変換された記述を、前記第２の形態における前記表示手段に表示する描画手段とを備える。
【００１５】
本発明の第１の情報処理方法は、第１の操作手段による操作を検出する第１の形態から、第２の操作手段による操作を検出する第２の形態に切り替えられたことが検出されると、前記第１の形態における表示手段への表示に用いられる表示記述のうち、前記第１の操作手段に関連付けられた操作対象に関する記述を、前記第２の操作手段に関連付けられた当該操作対象に関する記述に変換し、前記変換された記述を、前記第２の形態における前記表示手段に表示する。
【００１６】
なお同目的は、上記の各構成を有する情報処理装置または情報処理方法を、コンピュータによって実現するコンピュータ・プログラム、およびそのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記憶媒体によっても達成される。
【発明の効果】
【００１７】
本願発明によれば、操作手段の異なる二以上の形態で機能しうる情報処理装置において、操作対象を、機能している形態で使用される操作手段に応じて切り替えながら表示することができるという効果が得られる。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１の実施形態に係る情報処理装置の構成を示すブロック図である。
【図２】本発明の第１の実施形態に係る情報処理装置によるデバイスの種類を判定する処理を示すフローチャートである。
【図３】本発明の第１の実施形態に係る情報処理装置に記憶されるイベント情報の例を示す図である。
【図４】本発明の第１の実施形態に係る情報処理装置による判定処理の動作を示すフローチャートである。
【図５】本発明の第１の実施形態に係る情報処理装置においてポインティングデバイスが示す位置が連続的に移動する場合の一例について説明する図である。
【図６】本発明の第１の実施形態に係る情報処理装置においてポインティングデバイスが示す位置が連続的に移動しない場合の一例について説明する図である。
【図７】本発明の第１の実施形態に係る情報処理装置による画面部品の変換開始位置を決定する動作を示すフローチャートである。
【図８】本発明の第１の実施形態に係る情報処理装置におけるポインティングデバイスの軌跡と、画面部品との位置関係について説明する図である。
【図９】本発明の第１の実施形態に係る情報処理装置による画面部品の変換処理について説明するフローチャートである。
【図１０】本発明の第１の実施形態に係る情報処理装置に記憶される画面部品対応表を示す図である。
【図１１】本発明の第１の実施形態に係る情報処理装置に記憶されるボタンサイズ対応表を示す図である。
【図１２】本発明の第１の実施形態に係る情報処理装置によるコードの変換の一例を示す図である。
【図１３】本発明の第１の実施形態に係る情報処理装置によるコードの変換の他の例を示す図である。
【図１４】本発明の第２の実施形態に係る情報処理装置による判定処理を示すフローチャートである。
【図１５】本発明の第２の実施形態に係る情報処理装置による判定処理の動作を示すフローチャートである。
【図１６】本発明の第２の実施形態に係る情報処理装置に記憶されるイベント情報を示す図である。
【図１７】キーボードによる打鍵リズムについて説明する図である。
【図１８】ソフトキーボードによる打鍵リズムについて説明する図である。
【図１９】フリッカー入力方式について説明する図である。
【図２０】本発明の第３の実施形態に係る情報処理装置の構成の概要を示す図である。
【図２１】本発明の各実施形態に係る情報処理装置を実現可能な装置のハードウエア構成を例示する図である。
【発明を実施するための形態】
【００１９】
以下、本発明の実施形態について図面を参照して詳細に説明する。
【００２０】
第１の実施形態
図１は、本発明の第１の実施形態に係る情報処理装置（クライアント）１００の構成を示すブロック図である。図１に示すように、クライアント１００は、通信ネットワーク１５０を介してＷｅｂサーバ２００と通信可能である。
【００２１】
クライアント１００は、通信ネットワーク１５０を介してＷｅｂサーバ２００から取得した情報を閲覧可能とするＷｅｂクライアントである。クライアント１００は、また、ノートＰＣとして機能すると共に、例えば液晶画面を取り外したり折りたたんだりすることにより、タブレット端末として機能するハイブリッドノートＰＣである。
【００２２】
クライアント１００は、Ｗｅｂサーバ２００から取得した情報をユーザに提供するＷｅｂブラウザ１１０を実行する。Ｗｅｂブラウザ１１０は、イベント管理部１１１、デバイス種別検出部（判定手段）１１２、変換開始位置決定部（決定手段）１１３、画面部品変換部１１４、描画部１１５、イベント情報記憶部１１６、画面部品対応表記憶部１１７およびボタンサイズ対応表記憶部１１８を備える。
【００２３】
イベント管理部１１１は、クライアント１００に対して、図示しないポインティングデバイスやキーボード等の入力デバイスを含む操作手段から入力されるイベント（操作）を検出すると共に、検出したイベントに関するイベント情報をイベント情報記憶部１１６に格納する。デバイス種別検出部１１２は、クライアント１００が、ノートＰＣとして機能しているか、タブレット端末として機能しているかを検出する。変換開始位置決定部１１３は、クライアント１００が、動作モードを切り替えられたとき、切り替え後の操作手段の操作対象となる部品（オブジェクト）の表示に用いられる表示記述に関する変換を開始する位置を決定する。ここで、動作モードとは、クライアント１００が、ノートＰＣとして機能するモード、またはタブレット端末としての機能するモードを意味する。
【００２４】
画面部品変換部１１４は、上記動作モードの切り替えに応じて、切り替え後の操作手段の操作対象となる部品を表示するｈｔｍｌ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）文書に含まれる表示記述（プログラムコード）を変換する。描画部１１５は、通信ネットワーク１５０を介してＷｅｂサーバ２００から取得したｈｔｍｌ文書（コンテンツ）を解析すると共に、当該文書にしたがった画面イメージの描画を行う。描画部１１５はまた、画面部品変換部１１４により変換されたｈｔｍｌ文書にしたがった画面イメージの描画を行う。
【００２５】
イベント情報記憶部１１６は、操作手段を介して入力されるイベントに関するイベント情報を記憶する。画面部品対応表記憶部１１７は、クライアント１００の動作モードの切り替えに応じて表示を変換する部品の記述に関する画面部品対応表を記憶する。ボタンサイズ対応表記憶部１１８は、同じくクライアント１００の動作モードの切り替えに応じて、表示を変換する部品のサイズに関するサイズ対応表を記憶する。イベント情報記憶部１１６、画面部品対応表記憶部１１７およびボタンサイズ対応表記憶部１１８は、主記憶装置により実現されてもよいし、ｈｔｍｌ５技術によるＷｅｂストレージ等により実現されてもよい。
【００２６】
クライアント１００は、タブレット端末として機能している場合と、ノートＰＣとして機能している場合とで、使用される操作手段が異なる。そこで、クライアント１００は、動作モードが切り替えられるタイミングで、切り替え後の機能にて使用される操作手段による操作（イベント）の受け付け（検出）に適するように画面表示を切り替える。ここで、本実施形態において、クライアント１００が、タブレット端末として機能している場合の操作手段は指またはスタイラスペンであり、ノートＰＣとして機能している場合の操作手段はマウスであることを想定している。
【００２７】
図２は、上記切り替えのために、クライアント１００が備えるデバイス種別検出部１１２により、例えば定期的に操作手段の種類を検出する動作を示すフローチャートである。デバイス種別検出部１１２は、クライアント１００がタブレット端末として機能しているか、ノートＰＣとして機能しているかを、ポインティングイベントに基づいて判定する。すなわち、ポインティングデバイスがマウスであると推定された場合、クライアント１００は、ノートＰＣとして機能していると判定され、ポインティングデバイスが指またはスタイラスペンであると推定された場合、クライアント１００は、タブレット端末として機能していると判定される。なお、ポインティングイベント（ポインティング操作）とは、マウス、指、スタイラスペン等のポインティング手段を介してクライアント１００に入力されるイベントである。ポインティングイベントには、マウスイベント、指またはスタイラスペンによるタップイベント、フリックイベント等がある。なお、イベントには、ポインティングイベントの他に、キーボードを介した入力イベント等を含むキーイベント（キー操作）がある。
【００２８】
ここで、イベント管理部１１１は、例えば常時、クライアント１００に発生するイベントを監視すると共に、発生したイベントに関するイベント情報を、イベント情報記憶部１１６に格納する。図３は、イベント管理部１１１によりイベント情報記憶部１１６に記憶されるイベント情報の例を示す図である。図３に示すように、イベント管理部１１１は、イベント情報として、時刻、イベント種別およびイベント種別依存データとしてＸ位置およびＹ位置を含む。Ｘ位置およびＹ位置とは、図示しない表示画面を構成する２辺をＸ軸およびＹ軸と仮定したときの、Ｘ座標値およびＹ座標値に相当する値を示す。
【００２９】
図２に示すように、デバイス種別検出部１１２は、前回の上記判定から一定時間経過したか否かを調べる（ステップＳＴ２０１）。なお、デバイス種別検出部１１２は、上記判定を行うと、その時刻を保持しておく。デバイス種別検出部１１２は、前回の上記判定から一定時間経過したと判断すると、前回の判定以降ポインティングイベントがあったかどうかを調べる（ステップＳＴ２０２）。
【００３０】
すなわち、デバイス種別検出部１１２は、前回の上記判定を行った時刻と、図３に示すイベント情報に含まれる時刻とに基づいて、前回の判定以降ポインティングイベントがあったかどうかを調べる。
【００３１】
マウスイベント等のポインティングイベントがない場合（ステップＳＴ２０２においてＮｏ）、デバイス種別検出部１１２は、処理をステップＳＴ２０１に戻す。
【００３２】
ポインティングイベントがある場合（ステップＳＴ２０２においてＹｅｓ）、デバイス種別検出部１１２は、ポインティングイベントに基づく判定処理を実施する（ステップＳＴ２０３）。
【００３３】
図４は、図２に示したデバイス種別検出部１１２による判定処理（すなわち、ステップＳＴ２０３）の詳細を示すフローチャートである。図４を参照して、デバイス種別検出部１１２による判定処理について説明する。なお、以下の説明において、一般的なＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）アプリケーションにおける事例と同様に、ポインティングイベントの待ち合わせは、他のイベントを止めて固定的に待ち合わせるのではなく、キーイベント等の他のイベントを含めて待ち合わせるものとする。
【００３４】
デバイス種別検出部１１２は、ポインティングデバイスが示す現在位置と、現在時刻とを、イベント情報記憶部１１６に格納する（ステップＳＴ３０１）。デバイス種別検出部１１２は、デバイスの種類を、当該デバイスが示す軌跡に基づいて判定するため、その軌跡の判定に十分な数（量）の連続したイベント情報が格納されているかを判断する（ステップＳＴ３０２）。上記十分な数の連続したイベント情報が格納されているか否かは、所定の時間内に所定の数以上のイベントが発生しているか否かに基づいて判断する。
【００３５】
上記十分な数の連続したイベント情報が格納されていない場合（ステップＳＴ３０２においてＮｏ）、デバイス種別検出部１１２は、ポインティングデバイスによる次のイベントの発生を待つ（ステップＳＴ３０３）。イベントが発生すると、デバイス種別検出部１１２は、処理をステップＳＴ３０１に戻す。
【００３６】
一方、上記十分な数の連続したイベント情報が格納されている場合（ステップＳＴ３０２においてＹｅｓ）、デバイス種別検出部１１２は、上記十分な数に含まれるイベント情報に、ポインティングイベント以外（例えばキーイベント等）のイベントが含まれないかを調べる（ステップＳＴ３０４）。
【００３７】
ポインティングイベント以外のイベントが含まれる場合（ステップＳＴ３０４においてＮｏ）、デバイス種別検出部１１２は、ポインティングデバイスによる次のイベントの発生を待つ（ステップＳＴ３０３）。イベントが発生すると、デバイス種別検出部１１２は、処理をステップＳＴ３０１に戻す。
【００３８】
ポインティングイベント以外のイベントが含まれない場合（ステップＳＴ３０４においてＹｅｓ）、デバイス種別検出部１１２は、ポインティングデバイスの現在位置と、イベント情報に含まれる直近時刻におけるイベントの位置とに基づいて、ポインティングデバイスが連続的に移動しているかどうかを調べる（ステップＳＴ３０５）。ここで、ポインティングデバイスが連続的に移動していることは、例えば、過去のポインティングデバイスが示す位置をトレースすると共に、各位置において、直前時刻における位置との単位時間あたりの移動距離（すなわち平均速度）に、大幅な乖離がないことを確認することによって行われる。
【００３９】
あるいは、過去のポインティングデバイスが示す位置をスプライン近似曲線で結ぶと共に、なだらかな曲線で結べた場合に、ポインティングデバイスは連続的に移動していると判断してもよい。
【００４０】
図５は、ポインティングデバイスが示す位置が連続的に移動する場合の一例について説明する図である。図６は、ポインティングデバイスが示す位置が連続的に移動しない場合の一例について説明する図である。図５では、ユーザがマウスをクリックすることなく移動させた場合の、時刻ｔ１乃至ｔ５におけるマウスの位置を示す。図６では、時刻ｔ１乃至ｔ５におけるユーザの指の位置が示される。
【００４１】
上記調べた結果、ポインティングデバイスが示す位置が連続的に移動すると判定した場合、デバイス種別検出部１１２は、ポインティングデバイスをマウスであると推定すると共に、クライアント１００はノートＰＣとして機能していると判断する（ステップＳＴ３０６）。一方、ポインティングデバイスが示す位置が連続的に移動しないと判定した場合、デバイス種別検出部１１２は、ポインティングデバイスを指、またはスタイラスペンと推定すると共に、クライアント１００はタブレット端末として機能していると判断する（ステップＳＴ３０７）。デバイス種別検出部１１２は、判断した結果を保持しておく。
【００４２】
次に、画面部品の変換について説明する。
【００４３】
ここで、画面部品とは、画面に表示される部品（ＧＵＩオブジェクト）であり、例えば、コンボボックス、ボタン、チェックボックス等がある。これらの部品は、タブレット端末として機能するクライアント１００において画面表示する場合と、ノートＰＣとして機能するクライアント１００において画面表示する場合とで、その部品の機能を適切に表示する形式が異なる。このため、クライアント１００では、その動作モードが切り替わるタイミングで、画面部品を表示する形式を変換する。
【００４４】
変換開始位置決定部１１３は、上記変換を開始する表示画面における位置を決定する。これは、動作モード切り替えの前にクライアント１００において操作されている位置において、切り替え後も操作が継続される可能性が高いためである。すなわち、上記位置に表示される部品から、上記変換を開始すると共に、動作モードの切り替え後の画面に表示することにより、ユーザは、切り替え後も即座に操作が可能となる。
【００４５】
画面部品変換部１１４は、上記決定された位置から変換を開始する。まず、変換開始位置決定部１１３の動作について説明する。
【００４６】
図７は、変換開始位置決定部１１３による画面部品の変換開始位置を決定する動作を示すフローチャートである。また、図８は、ポインティングデバイスの軌跡と、画面部品との位置関係について説明する図である。図７および図８を参照して、変換開始位置決定部１１３による画面部品の変換開始位置を決定する動作について説明する。
【００４７】
ユーザは、例えば、クライアント１００の液晶画面を取り外したり、折りたたんだり、あるいは、操作手段をマウスから指に変更して画面をタップしたりすることにより、クライアント１００の動作モードを切り替える。
【００４８】
変換開始位置決定部１１３は、ユーザによる上記動作によりクライアント１００の動作モードが切り替えられたことに応じて、上述した画面部品に関する変換を開始する位置を決定する。
【００４９】
図７に示すように、変換開始位置決定部１１３は、イベント情報記憶部１１６に格納されるイベント情報に基づいて、切り替え前に発生した最後のイベントが、ポインティングイベントであるかどうかを判断する（ステップＳＴ４０１）。上記最後のイベントが、ポインティングイベントでない場合（ステップＳＴ４０１においてＮｏ）、変換開始位置決定部１１３は、最後のイベントはキーイベントであるとみなすと共に、キー入力のフォーカスが当たっている、すなわち、キー入力中の画面部品の位置を変換開始位置として決定する（ステップＳＴ４０２）。
【００５０】
一方、最後のイベントが、ポインティングイベントである場合（ステップＳＴ４０１においてＹｅｓ）、変換開始位置決定部１１３は、ポインティングデバイスの種類は、マウスであるか否かを判断する（ステップＳＴ４０３）。ここで、変換開始位置決定部１１３は、上記図４を参照して説明したようにデバイス種別検出部１１２が判定したポインティングデバイスの種類を参照する。ポインティングデバイスの種類がマウスでない場合（ステップＳＴ４０３においてＮｏ）、デバイス種別検出部１１２は、ポインティングデバイスを指またはスタイラスペンと推定すると共に、最後のイベントの位置を変換開始位置として決定する（ステップＳＴ４０４）。
【００５１】
一方、ポインティングデバイスの種類がマウスであると判断した場合（ステップＳＴ４０３においてＹｅｓ）、変換開始位置決定部１１３は、直近時刻におけるマウスイベントに関するイベント情報をイベント情報記憶部１１６から読み出すと共に、マウスの移動方向を計算（推定）する。そして、変換開始位置決定部１１３は、計算した方向にある最初の画面部品の位置を、変換開始位置として決定する（ステップＳＴ４０５）。
【００５２】
例えば、変換開始位置決定部１１３は、図８に示すように、ｔ１乃至ｔ５に示すマウスの位置に基づいて、そのマウスのさらなる移動方向を「ａ」に示すように計算（推定）すると共に、その方向に最初にある画面部品ｂの位置を変換開始位置として決定する。
【００５３】
次に、画面部品変換部１１４による画面部品を変換する動作について説明する。図９は、画面部品変換部１１４による画面部品の変換処理について説明するフローチャートである。
【００５４】
上述のように変換開始位置決定部１１３により変換開始位置が決定されると、画面部品変換部１１４は、決定された位置またはその位置付近に表示される画面部品に関する記述を、動作モードの切り替え後の機能に適した画面部品の表示に切り替えるために、変換する（ステップＳＴ５０１）。すなわち、画面部品変換部１１４は、現在表示される画面を構成するｈｔｍｌ文書に含まれる上記画面部品（ＧＵＩオブジェクト）に関する記述を、画面部品対応表に記載されている対応関係にしたがって、切り替え後の機能に適するように変換する。
【００５５】
図１０は、画面部品対応表記憶部１１７に記憶される画面部品対応表を示す図である。図１０に示すように、画面部品対応表記憶部１１７には、ノートＰＣに表示する場合の画面部品に関する記述と、タブレット端末に表示する場合の画面部品に関する記述とが関連付けられた画面部品対応表が格納される。
【００５６】
画面部品変換部１１４は、ｈｔｍｌ文書に、画面部品対応表に記載されるＧＵＩオブジェクトが含まれる場合、そのＧＵＩオブジェクトに関する記述を、タブレット端末用の記述からノートＰＣ用の記述に（あるいはその逆に）変換する。なお、Ｗｅｂサーバ２００から取得したｈｔｍｌ文書は、クライアント１００が備える記憶部に記憶されている。
【００５７】
続いて、画面部品変換部１１４は、ＧＵＩオブジェクトのうちソフトウエアボタン（以下、「ボタン」と略記する）のサイズに関する変換を行う（ステップＳＴ５０２）。図１１は、ボタンサイズ対応表記憶部１１８に記憶されるボタンサイズ対応表を示す図である。図１１に示すように、ボタンサイズ対応表記憶部１１８には、ノートＰＣに表示する場合のボタンのサイズと、タブレット端末に表示する場合のボタンのサイズとが関連付けられたボタンサイズ対応表が格納される。
【００５８】
このように、ボタン表示の際に、タブレット端末において表示する場合と、タブレット端末において表示する場合とで、表示するサイズが異なる場合がある。したがって、画面部品変換部１１４は、ｈｔｍｌ文書にボタンの記述が含まれる場合、そのボタンのサイズを、タブレット端末用のサイズからノートＰＣ用のサイズに（あるいはその逆に）、変換する。
【００５９】
図１２は、画面部品変換部１１４によるＧＵＩオブジェクトに関して、ＪａｖａＳｃｒｉｐｔフレームワークである「ｄｏｊｏ」により実装する場合の記述（コード）の変換の一例を示す図である。また、図１３は、ＣＳＳ（Ｃａｓｃａｄｅｄ  Ｓｔｙｌｅ  Ｓｈｅｅｔ）により実装する場合の、ボタンに関する記述（コード）の変換の一例を示す図である。上述のように、画面部品変換部１１４は、画面部品に関する記述を変換する。
【００６０】
上述のように画面部品に関する記述が変換されると、描画部１１５は、変換後の記述に基づいて、画面部品を、変換開始位置決定部１１３により決定された位置から、切り替え後のクライアント１００に画面表示する。
【００６１】
以上のように、本第１の実施形態によれば、クライアント１００は、デバイス種別検出部１１２により、ポインティングデバイスの種類に基づき動作モードを判定する。そして、画面部品変換部１１４は、動作モードの切り替えに応じて、ｈｔｍｌ文書に含まれる画面部品に関する記述を、切り替え後の動作モードに適した記述に変換する。この構成を採用することにより、本第１の実施形態によれば、ハイブリッドノートＰＣにおいて、ノートＰＣとしての機能またはタブレット端末としての機能に切り替えられることに応じて、それぞれの機能に適した画面表示が可能であるという効果が得られる。
【００６２】
また、上記切り替え後の画面表示のためのｈｔｍｌ文書を作成し直すのではなく、画面部品に関する記述を変換するので、１つの文書により上記画面表示の切り替えが可能となり、切り替え後の画面表示までの時間を短縮できるという効果が得られる。
【００６３】
また、変換開始位置決定部１１３は、動作モードの切り替え後にユーザが操作したい画面部品の位置を推定し、画面部品変換部１１４は、その位置またはその位置付近に表示される画面部品から、当該画面部品に関する記述の変換を開始する。この構成により、本第１の実施形態によれば、切り替え後にユーザが操作したいと推定される画面部品の表示が短時間で可能となるので、ユーザは切り替え後に操作を即座に開始でき、操作性がより向上するという効果が得られる。
【００６４】
第２の実施形態
次に、上述した第１の実施形態を基礎とする第２の実施形態について説明する。以下の説明では、第１の実施形態と同様の構成については同じ参照番号を付与することにより、重複する説明は省略する。本発明の第２の実施形態に係るクライアント１００は、第１の実施形態に係るクライアント１００の機能に加えて、キーイベントに基づくデバイスの判定機能を有する。
【００６５】
図１４は、本発明の第２の実施形態に係るクライアント１００による判定処理を示すフローチャートである。図１４に示す判定処理は、第１の実施形態において説明した図２に示すフローチャートに、ステップＳＴ６０１とステップＳＴ６０２とが追加された動作を示す。
【００６６】
すなわち、第２の実施形態に係るクライアント１００は、デバイス種別検出部１１２において、タブレット端末として機能しているかノートＰＣとして機能しているかを、ポインティングイベントのみでなく、キーイベントを識別することによって判定する。
【００６７】
クライアント１００は、デバイス種別検出部１１２により、第１の実施形態において説明したステップＳＴ２０１およびステップＳＴ２０２を実施する。ステップＳＴ２０２において、ポインティングイベントがないと判断した場合、デバイス種別検出部１１２は、イベント情報記憶部１１６に記憶されるイベント情報に基づいて、キーイベントの有無を判定する（ステップＳＴ６０１）。キーイベントがない場合、デバイス種別検出部１１２は、処理をステップＳＴ２０１に戻す。
【００６８】
一方、キーイベントがある場合、デバイス種別検出部１１２は、キーイベントに基づくデバイスの判定処理を実施する（ステップＳＴ６０２）。
【００６９】
図１５は、図１４に示すデバイス種別検出部１１２によるキーイベントに基づく判定処理（すなわち、ステップＳＴ６０２）の詳細を示すフローチャートである。図１５を参照して、デバイス種別検出部１１２によるキーイベントに基づく判定処理について説明する。なお、以下の説明において、一般的なＧＵＩアプリケーションにおける事例と同様に、キーイベントの待ち合わせは、他の処理を止めて固定的に待ち合わせるのではなく、ポインティングイベント等の他のイベントを含めて待ち合わせるものとする。
【００７０】
デバイス種別検出部１１２は、キーイベントの発生に応じて、発生時刻をイベント情報記憶部１１６に格納する（ステップＳＴ７０１）。図１６は、イベント管理部１１１によりイベント情報記憶部１１６に格納されたイベント情報を示す図である。図１６に示すように、デバイス種別検出部１１２は、発生時刻と、イベント種別（キーイベント）とを含むイベント情報をイベント情報記憶部１１６に格納する。
【００７１】
デバイス種別検出部１１２は、キー入力（即ち、ユーザのキータイプによる入力操作）の打鍵リズムに基づいて、入力デバイスがキーボード（すなわち動作モードがノートＰＣ）であるか、ソフトキーボード（すなわち動作モードがタブレット端末）であるかを判定する。
【００７２】
そこで、デバイス種別検出部１１２は、打鍵リズムにより入力デバイスの判定に必要な数の連続したイベント情報がイベント記憶部１１６に格納されているかを判断する（ステップＳＴ７０２）。上記必要な数の連続したイベント情報が格納されているか否かは、所定の時間内に所定の数以上のイベントが発生しているか否かに基づいて判断する。
【００７３】
上記必要な数の連続したイベント情報が格納されていない場合（ステップＳＴ７０２においてＮｏ）、デバイス種別検出部１１２は、次のキーイベントの発生を待つ（ステップＳＴ７０３）。キーイベントが発生すると、デバイス種別検出部１１２は、処理をステップＳＴ７０１に戻す。
【００７４】
一方、上記必要な数の連続したイベント情報が格納されている場合（ステップＳＴ７０２においてＹｅｓ）、デバイス種別検出部１１２は、上記必要な数に含まれるイベント情報に、キーイベント以外（例えばポインティングイベント等）のイベントが含まれないかを調べる（ステップＳＴ７０４）。
【００７５】
キーイベント以外のイベントが含まれる場合（ステップＳＴ７０４においてＮｏ）、デバイス種別検出部１１２は、キーデバイスによる次のキーイベントの発生を待つ（ステップＳＴ７０３）。イベントが発生すると、デバイス種別検出部１１２は、処理をステップＳＴ７０１に戻す。
【００７６】
キーイベント以外のイベントが含まれない場合（ステップＳＴ７０４においてＹｅｓ）、デバイス種別検出部１１２は、キーイベントがキーボードによる打鍵リズムで発生しているかを調べる（詳細は後述する）（ステップＳＴ７０５）。キーイベントがキーボードによる打鍵リズムで発生している場合、デバイス種別検出部１１２は、操作手段をキーボードであると推定すると共に、クライアント１００はノートＰＣとして機能していると判断する（ステップＳＴ７０６）。キーイベントがキーボードによる打鍵リズムで発生していない場合、デバイス種別検出部１１２は、操作手段をソフトキーボードであると推定すると共に、クライアント１００はタブレット端末として機能していると判断する（ステップＳＴ７０７）。
【００７７】
図１７は、キーボードによる打鍵リズムについて説明する図である。図１７では、ＱＷＥＲＴＹキーボードを用いて、ユーザが両手で「ｋｉｒａｍｅｋｉ」なる文字列をタイプする場合の時間間隔について示す。図１７に示すように、「ｋ」と「ｉ」との打鍵間隔は、「ｉ」と「ｒ」との打鍵間隔等より長い。これは、ＱＷＥＲＴＹキーボードを用いた場合、「ｋ」と「ｉ」は同一指により打鍵され、「ｉ」と「ｒ」は並列に移動可能な異なる指により打鍵されるからである。
【００７８】
図１８および図１９は、キーボード以外（、すなわちソフトキーボード）により「きらめき」と打鍵した場合の打鍵リズムについて説明する図である。図１８は、ユーザは、画面表示される、ひらがなの「あ段」を１回または複数回（２回の場合は「い段」、３回の場合は「う段」等）押すことにより、文字を入力することができる方式について示す。図１８の例では、ユーザは、「か」を２回押すことにより文字「き」を、「ら」を１回押すことにより文字「ら」を、「ま」を４回押すことにより文字「め」を、「か」を２回押すことにより文字「き」を入力する。この入力方式では、同一指を用いて入力されることが多く異なる指を用いて入力されることは少ないので、短い打鍵間隔は発生しにくく、打鍵間隔に大きな差は生じにくい。また、同じ文字の繰り返しが多く見られることもこの入力方式の特徴である。
【００７９】
図１９は、フリッカー入力方式について説明する図である。フリッカー入力方式とは、ユーザが、例えば、表示される「あ段」の文字に触れたのち上下左右に指をはじく（フリック動作）ことにより、文字を入力する方式である。上記はじく方向が、左の場合は「い段」、上の場合は「う段」、右の場合は「え段」、下の場合は「お段」の文字が、それぞれ入力される。図１９に示すように、フリッカー入力方式では、「あ段」の入力は１回、それ以外はフリック動作を入れて２回の同一指の入力がある、すなわち「１回入力」または「１回入力および１回フリック動作」という２種類の入力パターンが多く検出される。
【００８０】
デバイス種別検出部１１２は、キーイベントに関するイベント情報（すなわち、キー位置および発生時刻等）をイベント情報記憶部１１６から読み出すと共に、上述のように、キーイベントは、キーボードによる打鍵リズムで発生しているかどうかを推定する。
【００８１】
デバイス種別検出部１１２は、イベント情報記憶部１１６に格納されるイベント情報に基づいて、直近に発生したイベントの発生時刻の間隔を計算すると共に、隣り合ったイベントの発生時刻差を、上記打鍵リズムと比較する。その結果、デバイス種別検出部１１２は、上記いずれかの打鍵リズムと同じまたは略同じリズムで発生しているキーイベントがある場合、そのキーイベントは、上記該当する打鍵リズムを生じるキーボードまたはソフトキーボードに起因すると判定される。また、デバイス種別検出部１１２は、上記いずれかの打鍵リズムと同じまたは略同じリズムで発生しているイベントがない場合、処理をステップＳＴ７０１に戻してもよいし、キーイベントに基づくデバイスの推定をやめてもよい。
【００８２】
ここで、上記のようにキー入力の方式に基づいて、操作手段がキーボードまたはソフトキーボードであることを推定する場合、例えば、ユーザがＱＷＥＲＴＹキーボードを一本指にて操作する場合、ソフトキーボードによる入力であるとの誤判定が容易に起こりうる。このような誤判定を防ぐために、例えば、上述したように、ポインティングデバイスが示す軌跡に基づく判定と、上記キー入力の方式に基づく判定とを組み合わせて判定してもよい。あるいは、クライアント１００がタブレット端末として機能しているか、ノートＰＣとして機能しているかを示す情報を、ユーザから受け付けてもよい。あるいは、上記を組み合わせることにより、正確に入力デバイスの判定を行うようにしてもよい。
【００８３】
以上のように、本第２の実施形態によれば、デバイス種別検出部１１２は、キーイベントに基づいて打鍵リズムを推定することにより入力デバイスの種類を判定する。この構成により、本第２の実施形態によれば、上記第１の実施形態による効果に加えて、ユーザがキーボード入力を行っている場合にも、１つのコンテンツにより、タブレット端末またはノートＰＣそれぞれに適した画面表示に切り替えが可能となるという効果が得られる。
【００８４】
第３の実施形態
図２０は、本発明の第３の実施形態に係る情報処理装置８００の構成を示すブロック図である。情報処理装置８００は、変換部８０１、描画部８０２を備える。
【００８５】
変換部８０１は、第１の操作手段による操作を検出する第１の形態から、第２の操作手段による操作を検出する第２の形態に切り替えられたことが検出されると、前記第１の形態における表示手段への表示に用いられる表示記述のうち、前記第１の操作手段に関連付けられた操作対象に関する記述を、前記第２の操作手段に関連付けられた当該操作対象に関する記述に変換する。描画部８０２は、変換部８０１により変換された記述を、前記第２の形態における前記表示手段に表示する。
【００８６】
ここで、変換部８０１は、上記第１の実施形態において説明した画面部品変換部１１４に相当する。また、第１の操作手段または第２の操作手段は、上記第１の実施形態において説明したマウスまたは指（スタイラスペン）に相当する。
【００８７】
上記構成を採用することにより、本第３の実施形態によれば、操作手段の種類に応じて操作対象を表示できるので、当該操作対象を、機能している形態で使用される操作手段に応じて切り替えながら表示することができるという効果が得られる。
【００８８】
なお、図１、図２０に示した情報処理装置の各部は、図２１に例示するハードウエア資源において実現される。すなわち、図２１に示す構成は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２、外部接続インタフェース１３および記憶媒体１４を備える。ＣＰＵ１０は、ＲＯＭ１２または記憶媒体１４に記憶された各種ソフトウエア・プログラム（コンピュータ・プログラム）を、ＲＡＭ１１に読み出して実行することにより、情報処理装置の全体的な動作を司る。すなわち、上記各実施形態において、ＣＰＵ１０は、ＲＯＭ１２または記憶媒体１４を適宜参照しながら、情報処理装置が備える各機能（各部）を実行するソフトウエア・プログラムを実行する。
【００８９】
また、上述した各実施形態では、図１、図２０に示した情報処理装置における各ブロックに示す機能を、図２１に示すＣＰＵ１０が実行する一例として、ソフトウエア・プログラムによって実現する場合について説明した。しかしながら、図１、図２０に示した各ブロックに示す機能は、一部または全部を、ハードウエアとして実現してもよい。
【００９０】
また、各実施形態を例に説明した本発明は、情報処理装置に対して、上記説明した機能を実現可能なコンピュータ・プログラムを供給した後、そのコンピュータ・プログラムを、ＣＰＵ１０がＲＡＭ１１に読み出して実行することによって達成される。
【００９１】
また、係る供給されたコンピュータ・プログラムは、読み書き可能なメモリ（一時記憶媒体）またはハードディスク装置等のコンピュータ読み取り可能な記憶デバイスに格納すればよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムを表すコード或いは係るコンピュータ・プログラムを格納した記憶媒体によって構成されると捉えることができる。
【産業上の利用可能性】
【００９２】
本発明は、例えば、ハイブリッドノートＰＣに適用できる。
【符号の説明】
【００９３】
１０  ＣＰＵ
１１  ＲＡＭ
１２  ＲＯＭ
１３  外部接続インタフェース
１４  記憶媒体
１００、８００  情報処理装置
１１１  イベント管理部
１１２  デバイス種別検出部
１１３  変換開始位置決定部
１１４  画面部品変換部
１１５  描画部
１１６  イベント情報記憶部
１１７  画面部品対応表記憶部
１１８  ボタンサイズ対応表記憶部
１５０  通信ネットワーク
２００  Ｗｅｂサーバ
８０１  変換部
８０２  描画部
【図１】
2015185062.tif 000003
【図２】
2015185062.tif 000004
【図３】
2015185062.tif 000005
【図４】
2015185062.tif 000006
【図５】
2015185062.tif 000007
【図６】
2015185062.tif 000008
【図７】
2015185062.tif 000009
【図８】
2015185062.tif 000010
【図９】
2015185062.tif 000011
【図１０】
2015185062.tif 000012
【図１１】
2015185062.tif 000013
【図１２】
2015185062.tif 000014
【図１３】
2015185062.tif 000015
【図１４】
2015185062.tif 000016
【図１５】
2015185062.tif 000017
【図１６】
2015185062.tif 000018
【図１７】
2015185062.tif 000019
【図１８】
2015185062.tif 000020
【図１９】
2015185062.tif 000021
【図２０】
2015185062.tif 000022
【図２１】
2015185062.tif 000023