(57)【要約】      （修正有）【課題】画面のデータの取得が完了する前に段階的に画面が表示される場合に、意図と異なる操作に応じた処理の実行を抑制する電子機器、機器制御プログラム及び機器制御方法を提供する。【解決手段】通信端末１は、表示画面を構成するデータをネットワークを介して取得する。また、通信端末は、データの全ての取得が完了する前から、取得されたデータの部分を用いて表示画面の構成を解析し、表示画面の構成要素であるオブジェクトのレイアウト位置を計算するレンダリング処理を開始し、表示装置に表示画面を表示させる。更に、表示装置の表示が更新されてからの経過時間に応じて、更新後の画面上で選択されたオブジェクトに対応する処理を実行するか否かを制御する。【選択図】図１
2017062555.tif 000002
【特許請求の範囲】
【請求項１】
表示画面を構成するデータをネットワークを介して取得する取得部と、
前記取得部によって前記データの全ての取得が完了する前から、前記取得されたデータの部分を用いて、前記表示画面の構成を解析する解析処理と、前記解析処理の結果を用いて前記表示画面の構成要素であるオブジェクトの前記表示画面上のレイアウト位置を計算するレイアウト計算処理とを含む、レンダリング処理を開始し、表示装置に前記表示画面を表示させる描画部と、
前記描画部によって表示装置の表示が更新されてからの経過時間に応じて、更新後の画面上で選択された前記オブジェクトに対応する処理を実行するか否かを制御する制御部と、
を含む電子機器。
【請求項２】
前記制御部は、前記表示装置に表示された画面上で選択された前記オブジェクトの座標を、前記オブジェクトに対応付けられた処理を行う処理部へ出力する一方で、前記描画部によって前記表示装置に前記更新後の画面が表示されてから所定期間が経過するまでの間に前記更新後の画面上で選択された前記オブジェクトの座標は前記処理部に出力せずに破棄する
請求項１記載の電子機器。
【請求項３】
前記描画部は、前記表示装置に画面を表示する毎に、表示した画面に含まれる前記オブジェクトの座標を記憶し、
前記制御部は、前記表示装置に前記更新後の画面が表示されてから所定期間が経過するまでの間に、前記更新後の画面上で選択された前記オブジェクトの座標上に位置する第１のオブジェクトが、前記更新後の画面より前に表示された画面における、前記更新後の画面上で選択された前記オブジェクトの座標上に位置する第２のオブジェクトと異なる場合、前記更新後の画面上の前記第２のオブジェクトの座標を、前記オブジェクトに対応付けられた処理を行う処理部へ出力する
請求項１記載の電子機器。
【請求項４】
前記描画部は、前記更新後の画面に含まれるオブジェクト毎の座標及び表示時刻を含む、前記更新後の画面に対応する画面構成情報を生成し、
前記制御部は、前記更新後の画面に対応する画面構成情報を参照して、前記更新後の画面上で選択された前記オブジェクトの座標上に位置するオブジェクトの表示時刻を前記所定期間の開始時刻とする
請求項２または請求項３記載の電子機器。
【請求項５】
前記描画部は、前記更新後の画面に含まれるオブジェクト毎の座標と、前記更新後の画面の前記表示装置への表示が完了した時刻を含む、前記更新後の画面に対応する画面構成情報を生成し、
前記制御部は、前記更新後の画面に対応する画面構成情報を参照して、前記更新後の画面の前記表示装置への表示が完了した時刻を前記所定期間の開始時刻とする
請求項２または請求項３記載の電子機器。
【請求項６】
前記制御部は、前記表示画面を構成するデータのスループットが遅くなるにしたがって、前記所定期間を長く設定する
請求項２〜請求項５の何れか１項に記載の電子機器。
【請求項７】
コンピュータに、
表示画面を構成するデータをネットワークを介して取得し、
前記データの全ての取得が完了する前から、前記取得されたデータの部分を用いて、前記表示画面の構成を解析する解析処理と、前記解析処理の結果を用いて前記表示画面の構成要素であるオブジェクトの前記表示画面上のレイアウト位置を計算するレイアウト計算処理とを含む、レンダリング処理を開始し、表示装置に画面を表示させ、
前記表示装置の表示が更新されてからの経過時間に応じて、更新後の画面上で選択された前記オブジェクトに対応する処理を実行するか否かを制御する
処理を実行させる機器制御プログラム。
【請求項８】
コンピュータに、
表示画面を構成するデータをネットワークを介して取得し、
前記データの全ての取得が完了する前から、前記取得されたデータの部分を用いて、前記表示画面の構成を解析する解析処理と、前記解析処理の結果を用いて前記表示画面の構成要素であるオブジェクトの前記表示画面上のレイアウト位置を計算するレイアウト計算処理とを含む、レンダリング処理を開始し、表示装置に画面を表示させ、
前記表示装置の表示が更新されてからの経過時間に応じて、更新後の画面上で選択された前記オブジェクトに対応する処理を実行するか否かを制御する
処理を実行させる機器制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の技術は、電子機器、機器制御プログラム、及び機器制御方法に関する。
【背景技術】
【０００２】
スマートフォンまたはタブレット端末等の通信機能を備えた通信端末の中には、通信端末の向きを検出し、検出した向きに応じてユーザが読みやすい方向に画面の向きを変更する機能を備えているものがある。しかし、例えばユーザが画面上のタッチパネルを押下してボタン操作を行おうとした際に、ユーザが意識せずに通信端末の向きが変化してしまうことがある。このため、画面の向きが変更されてから予め定めた時間が経過するまで、ユーザによるタッチパネルの押下を無効にする手法が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−２０５３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記手法は、ユーザ操作の直前に画面の向きが変化した場合に対応する技術であり、画面の向き以外の画面の変化に対応することができない。
【０００５】
例えば、通信端末でホームページ等を閲覧するブラウジングを行う際、データの受信状況が良好でない場合、全ての情報が画面に表示されるまでに時間を要し、画面表示完了までの間、受信済みのデータに基づいて画面が適宜更新される場合がある。
【０００６】
こうした状況では、例えば全ての情報が表示される前にユーザが画面に表示されているボタン等のオブジェクトを押下しようとした直前に画面が更新され、ユーザが意図しないオブジェクト（例えば他のボタン）を押下する操作が行われてしまうことがある。
【０００７】
一つの側面として、開示の技術は、画面のデータの取得が完了する前に段階的に画面が表示される場合に、意図と異なる操作に応じた処理の実行を抑制することを目的とする。
【課題を解決するための手段】
【０００８】
一つの態様では、電子機器は、表示画面を構成するデータをネットワークを介して取得する。また、電子機器は、データの全ての取得が完了する前から、取得されたデータの部分を用いて表示画面の構成を解析し、表示画面の構成要素であるオブジェクトのレイアウト位置を計算するレンダリング処理を開始し、表示装置に表示画面を表示させる。更に、電子機器は、表示装置の表示が更新されてからの経過時間に応じて、更新後の画面上で選択されたオブジェクトに対応する処理を実行するか否かを制御する。
【発明の効果】
【０００９】
一つの側面として、画面のデータの取得が完了する前に段階的に画面が表示される場合に、意図と異なる操作に応じた処理の実行を抑制することができる、という効果を有する。
【図面の簡単な説明】
【００１０】
【図１】第１実施形態に係る通信端末の構成の一例を示す図である。
【図２】画面構成情報の一例を示す図である。
【図３】画面構成情報の一例を示す図である。
【図４】通信端末をコンピュータで実現する場合の構成の一例を示す図である。
【図５】ペイント処理の流れの一例を示すフローチャートである。
【図６】第１実施形態に係る配信制御処理の流れの一例を示すフローチャートである。
【図７】第１実施形態に係る通信端末でのＵＩオブジェクト選択動作の一例を示す図である。
【図８】第２実施形態に係る通信端末の構成の一例を示す図である。
【図９】リングバッファによる画面構成情報の記憶管理の一例を示す図である。
【図１０】第２実施形態に係る配信制御処理の流れの一例を示すフローチャートである。
【図１１】ジェスチャ座標補正処理の流れの一例を示すフローチャートである。
【図１２】補正量算出処理の流れの一例を示すフローチャートである。
【図１３】ジェスチャ座標補正処理の変形例におけるフローチャートである。
【図１４】第２実施形態に係る通信端末でのＵＩオブジェクト選択動作の一例を示す図である。
【図１５】画面構成情報の一例を示す図である。
【図１６】ＵＩオブジェクトの誤選択の発生例を説明する模式図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して開示の技術の実施形態の一例を詳細に説明する。なお、同じ働きを担う構成要素または処理には、全図面を通して同じ符号を付与し、重複する説明を適宜省略する場合がある。
【００１２】
図１６は、ユーザが表示装置３０の画面に表示されているオブジェクトを押下しようとした直前に画面が更新され、ユーザが意図しないオブジェクトを押下するといった誤選択の発生例を示す図である。
【００１３】
図１６に示す通信端末９０の画面更新前の例では、画面にボタンＡが表示され、ユーザがボタンＡを押下して、ボタンＡを選択しようとしている状態を示している。
【００１４】
こうした状況において、ボタンＡの押下前に通信端末がコンテンツに関する残りのデータを受信すると、画面が更新され、画面更新前にボタンＡがあった位置に別のオブジェクト、例えばボタンＢが表示されることがある。
【００１５】
したがって、場合によっては、ユーザは選択しようとしたボタンＡではなく、誤ってボタンＢを選択してしまい、ボタンＢに対応付けられた処理が実行されることがある。
【００１６】
以降では、図１６の例のように、画面のデータの取得が完了する前に段階的に画面が表示される場合であっても、意図と異なる操作に応じた処理の実行を抑制することができる通信端末について説明する。
【００１７】
（第１実施形態）
多くの場合、通信端末には、例えばインターネットに接続されたサーバから受信した情報（コンテンツ）を解析し、受信したコンテンツを通信端末の画面に表示する閲覧アプリケーション（ブラウザ）がインストールされている。通信端末の画面に表示されるコンテンツは、例えば画像及び文字等といった画面に表示される構成要素を含む。以降、通信端末の画面に表示されるコンテンツの構成要素の各々を「ＵＩ(User Interface)オブジェクト」という。また、コンテンツに対して最終的に表示される画面を「表示画面」という。
【００１８】
ＵＩオブジェクトには、テキストまたは画像等、様々な種類が存在するが、ＵＩオブジェクトの中には、例えばボタンまたはチェックボックス等のように、ユーザがマウスやタッチパネルを用いて操作可能な構成要素が含まれる。
【００１９】
以降では、インターネットに接続されたサーバから受信したコンテンツを画面に表示し、コンテンツに含まれるＵＩオブジェクトのユーザ操作を受け付ける通信端末の処理について説明する。
【００２０】
図１は、第１実施形態に係る通信端末１の構成の一例を示す図である。図１に示すように、通信端末１は、通信部１０、描画部２０、表示装置３０、受付部４０、選択処理部５０、及び制御部６０を含む。
【００２１】
通信部１０は、後述する描画部２０の分離部２１と接続され、例えばインターネットに接続された特定のサーバから指定したコンテンツを受信して分離部２１に供給する。
【００２２】
なお、ここでは一例として、コンテンツをインターネット上のサーバから受信するものとして説明するが、コンテンツを特定の組織内ネットワークであるイントラネットから受信するようにしても良い。また、インターネット或いはイントラネットとの接続形態に関しても、有線、無線、又は有線と無線との混在等、何れの接続形態であってもよい。
【００２３】
通信部１０で受信したコンテンツは、例えば、通信端末１の画面におけるＵＩオブジェクトの表示位置、並びに、フォントの種類、大きさ、及び色等といった表示レイアウトを規定するマークアップ言語を用いて作成されていることがある。コンテンツを作成するマークアップ言語としては、例えばＨＴＭＬ（Hyper Text Markup Language）及びＣＳＳ（Cascading Style Sheets）が用いられる。なお、コンテンツは、開示の技術の表示画面を構成するデータの一例であり、コンテンツにはマークアップ言語の他、画像データ、動画データおよび音声データ等が含まれてもよい。
【００２４】
ＨＴＭＬは、どのようなＵＩオブジェクトを画面に表示するかといった、情報構造に関する指示をブラウザに与える言語である。一方、ＣＳＳは、ＨＴＭＬで指示されたＵＩオブジェクトを、画面内のどの位置にどのように表示するかといった装飾に関する指示をブラウザに与える言語である。
【００２５】
したがって、描画部２０は、通信部１０から受信したコンテンツを、ＨＴＭＬで指定された情報構造と、ＣＳＳで指定された装飾と、に分けて各々解析し、指定されたＵＩオブジェクトを指定された表示レイアウトで表示装置３０の画面に描画する。
【００２６】
そのため、描画部２０は、分離部２１、ＨＴＭＬ受信部２２、ＤＯＭツリー作成部２３、ＣＳＳ受信部２４、ＣＳＳＯＭツリー作成部２５、レンダーツリー作成部２６、レイアウト部２７、ペイント部２８、及びＵＩイベント処理部２９を含む。なお、「ＤＯＭ」はDocument Object Modelの略称であり、「ＣＳＳＯＭ」は、Cascading Style Sheets Object Modelの略称である。
【００２７】
分離部２１は、通信部１０、ＨＴＭＬ受信部２２、及びＣＳＳ受信部２４に接続される。分離部２１は、通信部１０から受け付けたコンテンツを、ＨＴＭＬで記載されている情報（ＨＴＭＬ情報）と、ＣＳＳで記載されている情報（ＣＳＳ情報）と、に分離して、ＨＴＭＬ情報をＨＴＭＬ受信部２２に、ＣＳＳ情報をＣＳＳ受信部２４に供給する。
【００２８】
ＨＴＭＬ受信部２２は、分離部２１、ＤＯＭツリー作成部２３、及びＵＩイベント処理部２９と接続される。
【００２９】
ＨＴＭＬ受信部２２は、分離部２１から受け付けたＨＴＭＬ情報を解析し、コンテンツに含まれるＵＩオブジェクトが選択された際の処理をＵＩオブジェクト毎に取得する。ＨＴＭＬ受信部２２は、取得した各ＵＩオブジェクトに対応する処理内容を、ＵＩオブジェクト名と対応づけてＵＩイベント処理部２９に供給する。
【００３０】
ここで、ＵＩオブジェクト名とは、例えば、ＨＴＭＬ情報においてＵＩオブジェクトを特定するために付与された名称である。例えば、選択された際に関数func1()を実行するボタンを表示するためのコード：<input type=“button” name=“button1” value=“button1”onClick=func1()>の場合、name属性で示される“button1”がＵＩオブジェクト名である。また、関数func1()が“button1”に対応する処理内容である。
【００３１】
また、ＨＴＭＬ受信部２２は、分離部２１から受け付けたＨＴＭＬ情報を、ＤＯＭツリー作成部２３が読み取り可能な表記形態に整え、ＤＯＭツリー作成部２３に供給する。
【００３２】
ＤＯＭツリー作成部２３は、ＨＴＭＬ受信部２２及びレンダーツリー作成部２６と接続される。
【００３３】
ＤＯＭツリー作成部２３は、ＨＴＭＬ受信部２２から受け付けたＨＴＭＬ情報をノード単位に分割する。ここでノードとは、例えば<html>、<body>といったＨＴＭＬタグ、ＨＴＭＬタグ内に記述されている属性（例えば、<A>タグのhref属性や<img>タグのsrc属性）、及びテキスト等、ＨＴＭＬ情報を構成する要素の各々をいう。
【００３４】
そして、ＤＯＭツリー作成部２３は、ＨＴＭＬ情報全体を示すdocumentノードをルートとして、ＨＴＭＬ情報に含まれるノードの階層構造（ＤＯＭツリー）を作成する。ＤＯＭツリー作成部２３は、作成したＤＯＭツリーをレンダーツリー作成部２６に供給する。
【００３５】
一方、ＣＳＳ受信部２４は、分離部２１及びＣＳＳＯＭツリー作成部２５と接続される。ＣＳＳ受信部２４は、分離部２１から受け付けたＣＳＳ情報を、ＣＳＳＯＭツリー作成部２５が読み取り可能な表記形態に整え、ＣＳＳＯＭツリー作成部２５に供給する。
【００３６】
ＣＳＳＯＭツリー作成部２５は、ＣＳＳ受信部２４及びレンダーツリー作成部２６と接続される。
【００３７】
ＣＳＳＯＭツリー作成部２５は、ＣＳＳ受信部２４から受け付けたＣＳＳ情報を解析して、表示レイアウトを規定したＣＳＳ構造体（ＣＳＳＯＭ）の階層構造（ＣＳＳＯＭツリー）を作成し、作成したＣＳＳＯＭツリーをレンダーツリー作成部２６に供給する。
【００３８】
レンダーツリー作成部２６は、ＤＯＭツリー作成部２３、ＣＳＳＯＭツリー作成部２５、及びレイアウト部２７と接続される。
【００３９】
レンダーツリー作成部２６は、ＤＯＭツリー作成部２３からＤＯＭツリーを受け付けると共に、ＣＳＳＯＭツリー作成部２５からＣＳＳＯＭツリーを受け付ける。レンダーツリー作成部２６は、ＤＯＭツリーのノードとＣＳＳＯＭツリーのＣＳＳ構造体を対応付け、各ノードのうち、表示装置３０に表示され、視覚的に認識できるノードをＣＳＳ構造体と共に表示順に並べた階層構造（レンダーツリー）を作成する。
【００４０】
なお、レンダーツリーは、単に視覚的に認識できるノード、すなわちＵＩオブジェクトの表示順序を規定した情報であり、ＵＩオブジェクトの大きさや表示装置３０の画面におけるＵＩオブジェクトの表示位置までの規定は行われていない。
【００４１】
レンダーツリー作成部２６は、作成したレンダーツリーをレイアウト部２７に供給する。
【００４２】
レイアウト部２７は、レンダーツリー作成部２６、ペイント部２８、ＵＩイベント処理部２９、及び制御部６０と接続される。
【００４３】
レイアウト部２７は、レンダーツリー作成部２６から受け付けたレンダーツリーのＣＳＳ構造体、及び予め規定されている表示装置３０の画面サイズ情報から、ＵＩオブジェクトの大きさ及び表示装置３０の画面におけるＵＩオブジェクトの表示位置を決定する。
【００４４】
また、レイアウト部２７は、各ＵＩオブジェクトの大きさ、及び画面における表示位置を記録した画面構成情報３２を作成する。
【００４５】
図２は、画面構成情報３２の一例を示す図である。
【００４６】
画面構成情報３２は、各々のＵＩオブジェクトに対して、例えばＨＴＭＬ情報におけるＵＩオブジェクト名、ＵＩオブジェクトを特定するための識別子、並びに、ＵＩオブジェクトの高さ及び幅を記録した情報を含む。また、画面構成情報３２は、表示装置３０の画面におけるＵＩオブジェクトのＸ座標及びＹ座標を記録した情報を含む。なお、図２に示した画面構成情報３２に記録される情報は一例であり、例えばＵＩオブジェクトの描画色等、他の情報が含まれる場合がある。
【００４７】
ここで、ＵＩオブジェクト名は、ＵＩオブジェクトに対応するノードのノード名を表し、ＵＩオブジェクトのＸ座標及びＹ座標は、例えば、ＵＩオブジェクトの種類毎に予め定めた位置（例えばボタンであればボタンの左上の位置）の座標を示す。ＵＩオブジェクトのＸ座標及びＹ座標は、例えば表示装置３０の画面左上を原点として、画面横方向をＸ軸、画面縦方向をＹ軸としたＸＹ座標系での座標を示す。このＵＩオブジェクトの座標を規定する座標系は一例であり、例えば、画面右上を原点とする他の座標系を用いても良いことは言うまでもない。ＵＩオブジェクトのＸ座標及びＹ座標は、適用する座標系に応じて設定される。
【００４８】
このように、画面構成情報３２は、高さ及び幅の情報によってＵＩオブジェクトの大きさを示し、Ｘ座標及びＹ座標の情報によって、表示装置３０の画面におけるＵＩオブジェクトの表示位置を示す。
【００４９】
レイアウト部２７は、画面構成情報３２を作成した後、描画要求をペイント部２８に供給する。
【００５０】
ペイント部２８は、レイアウト部２７及び表示装置３０に接続され、レイアウト部２７から描画要求を受け付けると、レイアウト部２７で作成された画面構成情報３２に基づいて、表示装置３０の画面にＵＩオブジェクトを含むコンテンツを描画する。
【００５１】
また、ペイント部２８は、ＵＩオブジェクト毎に、表示装置３０の画面にＵＩオブジェクトを描画し終えた時刻（表示時刻）を記録し、画面構成情報３２Ａを生成する。
【００５２】
図３は、画面構成情報３２Ａの一例を示す図である。図３に示すように、画面構成情報３２Ａには各々のＵＩオブジェクトに対して、表示時刻が対応付けられる。例えば、表示時刻Ｔｎ（ｎ＝１、２、・・・）は、「10:18:59」のように「時：分：秒」で表されるが、表示時刻Ｔｎの記録形態はこれに限らず、ミリ秒またはマイクロ秒の単位まで記録するようにしても良い。
【００５３】
なお、ここでは一例として、表示装置３０の画面にＵＩオブジェクトを描画し終えた時刻を表示時刻としたが、例えばＵＩオブジェクトを描画し始めた時刻等を表示時刻としても良い。
【００５４】
ＵＩイベント処理部２９は、ＨＴＭＬ受信部２２、レイアウト部２７、及び後述する制御部６０と接続される。
【００５５】
前述したＨＴＭＬ受信部２２の説明で述べたように、ＵＩイベント処理部２９は、各ＵＩオブジェクトに対応する処理内容をＨＴＭＬ受信部２２から受け付け、ＵＩオブジェクト毎にＵＩオブジェクトが選択された場合の処理内容を管理する。
【００５６】
ＵＩイベント処理部２９は、例えばユーザが選択した表示装置３０の画面上の位置を示す座標を制御部６０から受け付けると、レイアウト部２７の画面構成情報３２Ａを参照して、当該座標上に位置するＵＩオブジェクトを特定する。
【００５７】
具体的には、ＵＩイベント処理部２９は、例えば図３に示した画面構成情報３２Ａの行データ毎に、高さ、幅、Ｘ座標、及びＹ座標の各値を取得し、画面上におけるＵＩオブジェクトの表示範囲を算出する。そして、ＵＩイベント処理部２９は、制御部６０から受け付けた座標がＵＩオブジェクトの表示範囲に含まれる場合に、当該座標を表示範囲に含むＵＩオブジェクトを、当該座標上に位置するＵＩオブジェクトとして特定する。
【００５８】
ＵＩイベント処理部２９は、特定したＵＩオブジェクトのＵＩオブジェクト名に対応する処理内容を参照し、当該処理内容に従った処理を実行する。なお、ＵＩイベント処理部２９は、開示の技術における処理部の一例である。
【００５９】
ここで、描画部２０でのコンテンツの描画処理について更に説明する。
【００６０】
インターネットに接続されたサーバからコンテンツを取得する場合、通信環境によってコンテンツの取得時間が変動する場合がある。
【００６１】
例えば、通信端末１とインターネットに接続されたサーバとを接続する通信回線の通信帯域が狭くなるにつれて、コンテンツ全体を取得し終えるまでに要する時間が長くなることがある。また、当該通信回線として無線回線を用いている場合には、電波の受信状況が悪くなるにつれて、コンテンツ全体を取得し終えるまでに要する時間が長くなることがある。
【００６２】
一般的に、コンテンツの取得を指示してから表示装置３０にコンテンツが描画され始めるまでの表示待ち時間が長くなるにつれて、表示待ち時間に対するストレスを感じるユーザの数が増加する。
【００６３】
したがって、描画部２０では、コンテンツ全体を取得し終わってからコンテンツの描画を開始するのではなく、コンテンツの一部分でも取得できれば、その都度、画面構成情報３２を作成し、コンテンツの描画の更新を行う。こうすることで、通信端末１は、受信したコンテンツを受信状況に合わせて段階的に表示装置３０の画面に表示する。
【００６４】
一方、受付部４０は、図示しない入力装置及び選択処理部５０と接続され、ユーザが選択した表示装置３０の画面上の座標（タッチイベント座標）を、図示しない入力装置から受け付ける。
【００６５】
入力装置としては、例えば表示装置３０の画面上に設置されたタッチパネルが用いられるが、入力装置はタッチパネルに限定されない。例えば、マウスまたは視線検知装置等、表示装置３０の画面の位置が指定できる装置であれば何れの装置も入力装置として用いることができる。
【００６６】
受付部４０は、タッチイベント座標を図示しない入力装置から受け付けると、当該タッチイベント座標を選択処理部５０に供給する。
【００６７】
選択処理部５０は、タッチイベント受信部５１、ジェスチャ変換部５２、及びジェスチャ配信部５３を含み、受付部４０から受信したタッチイベント座標をジェスチャ座標に変換して、制御部６０に供給する。
【００６８】
例えば、ユーザがタッチパネルを指で押下して表示装置３０の画面の一部を選択している最中にユーザの指が動いてしまうことがある。この場合、選択処理部５０は、ユーザの１回の選択操作で複数のタッチイベント座標を受信してしまい、ユーザが選択しようとした画面上の位置が不明確となる状況が発生する。したがって、選択処理部５０は、ユーザが１回の選択操作に要すると考えられる期間（選択期間）に受付部４０から受信したタッチイベント座標に基づいて、ユーザが選択しようとした画面上の座標、すなわちジェスチャ座標を算出する。
【００６９】
タッチイベント受信部５１は、受付部４０及びジェスチャ変換部５２と接続される。タッチイベント受信部５１は、タッチイベント座標を受け付けると、タッチイベント座標を受信してから選択期間が経過するまでに、複数のタッチイベント座標を受信したか確認した上で、受信したタッチイベント座標をジェスチャ変換部５２に供給する。選択期間に複数のタッチイベント座標を受信した場合には、タッチイベント受信部５１は、選択期間に受信した全てのタッチイベント座標をジェスチャ変換部５２に供給する。
【００７０】
ジェスチャ変換部５２は、タッチイベント受信部５１及びジェスチャ配信部５３と接続され、タッチイベント受信部５１から受け付けたタッチイベント座標をジェスチャ座標に変換する。なお、タッチイベント座標からジェスチャ座標への変換方法に制限はなく、例えば、複数のタッチイベント座標の平均座標をジェスチャ座標とする等の方法が用いられる。また、その他の変形例として、タッチイベント座標をそのままジェスチャ座標として扱っても良い。換言すると、ジェスチャ変換部５２を省略し、タッチイベント受信部５１が受付部４０から受け付けたタッチイベント座標をそのままジェスチャ座標としてジェスチャ配信部５３へ供給しても良い。
【００７１】
ジェスチャ変換部５２は、算出したジェスチャ座標をジェスチャ配信部５３に供給する。
【００７２】
ジェスチャ配信部５３は、ジェスチャ変換部５２及び制御部６０に接続される。ジェスチャ配信部５３は、ジェスチャ変換部５２から受け付けたジェスチャ座標を制御部６０に供給することで、ユーザによって特定のＵＩオブジェクトが選択されたことを制御部６０に通知する。
【００７３】
制御部６０は、ジェスチャ配信部５３、ＵＩイベント処理部２９、及びレイアウト部２７と接続される。制御部６０は、ジェスチャ配信部５３からジェスチャ座標を受け付けると、ユーザによって選択されたＵＩオブジェクトを、当該ジェスチャ座標及び画面構成情報３２Ａを用いて特定する。
【００７４】
そして、制御部６０は、受け付けたジェスチャ座標が、選択されたＵＩオブジェクトの表示時刻から所定期間が経過するまでに受け付けたジェスチャ座標であれば当該ジェスチャ座標を破棄する。一方、制御部６０は、受け付けたジェスチャ座標が、選択されたＵＩオブジェクトの表示時刻から所定期間が経過した後に受け付けたジェスチャ座標であれば、当該ジェスチャ座標をＵＩイベント処理部２９に供給する。以後、ＵＩイベント処理部２９は、前述した処理を行い、選択されたＵＩオブジェクトに対応付けられた処理を実行する。
【００７５】
このようにして通信端末１は、通信回線を経由して取得したコンテンツを表示装置３０の画面に描画すると共に、ユーザが選択した画面上のＵＩオブジェクトを認識し、ＵＩオブジェクトに対応付けられた処理を実行する。
【００７６】
なお、描画部２０は、通信端末１にインストールされたブラウザによって実現されることがある。また、通信端末１は、例えばスマートフォン、タブレット端末、またはパーソナルコンピュータ等、ダウンロードしたコンテンツを画面を表示可能な機器が想定される。
【００７７】
次に、図４に、通信端末１をコンピュータで実現する場合の構成図の一例を示す。
【００７８】
コンピュータ１００は、ＣＰＵ１０２、メモリ１０４、及び不揮発性の記憶部１０６を含む。ＣＰＵ１０２、メモリ１０４、及び不揮発性の記憶部１０６は、バス１０８を介して互いに接続される。また、コンピュータ１００は、入力装置１１２、通信装置１１４、及び表示装置３０と、コンピュータ１００と、を接続してデータを送受信するＩ／Ｏ（Input/Output）１１０を備え、Ｉ／Ｏ１１０はバス１０８に接続される。
【００７９】
入力装置１１２は、例えばマウス及びタッチパネル等の、コンピュータ１００のユーザがコンピュータ１００に表示装置３０の画面上の選択位置を指示する入力デバイスを含んでも良い。また、入力装置１１２は、例えばＣＤ−ＲＯＭ又はフラッシュメモリ等の記録媒体１１６に記録されるデータを読み取るための読み取り装置を含むこともできる。
【００８０】
通信装置１１４は、例えばインターネット等の通信回線に接続されたサーバとデータを送受信するための通信プロトコルを含み、後述する通信プロセスの指示に基づいて、指定されたサーバからコンテンツを受信する。なお、図４の例では、通信装置１１４をコンピュータ１００と独立した装置として示しているが、通信装置１１４をコンピュータ１００に内蔵するようにしても良い。同様に、表示装置３０及び入力装置１１２をコンピュータ１００に内蔵するようにしても良い。
【００８１】
なお、記憶部１０６は、ＨＤＤ(Hard Disk Drive)又はフラッシュメモリ等によって実現できる。
【００８２】
記憶部１０６には、コンピュータ１００を図１に示す通信端末１として機能させるための機器制御プログラム１２０が記憶される。記憶部１０６に記憶される機器制御プログラム１２０は、通信プロセス１２２、描画プロセス１２４、受付プロセス１２６、選択処理プロセス１２８、及び制御プロセス１３０を含む。
【００８３】
ＣＰＵ１０２は、機器制御プログラム１２０を記憶部１０６から読み出してメモリ１０４に展開し、機器制御プログラム１２０に含まれる各プロセスを実行することで、コンピュータ１００が図１に示す通信端末１として動作する。
【００８４】
また、ＣＰＵ１０２が通信プロセス１２２を実行することで、コンピュータ１００が図１に示す通信部１０として動作する。また、ＣＰＵ１０２が描画プロセス１２４を実行することで、コンピュータ１００が図１に示す描画部２０として動作する。また、ＣＰＵ１０２が受付プロセス１２６を実行することで、コンピュータ１００が図１に示す受付部４０として動作する。また、ＣＰＵ１０２が選択処理プロセス１２８を実行することで、コンピュータ１００が図１に示す選択処理部５０として動作する。また、ＣＰＵ１０２が制御プロセス１３０を実行することで、コンピュータ１００が図１に示す制御部６０として動作する。
【００８５】
なお、コンピュータ１００は、例えば半導体集積回路、より詳しくはＡＳＩＣ(Application Specific Integrated Circuit)等で実現することも可能である。また、ＣＰＵ１０２には時刻を管理するカレンダ機能が内蔵され、機器制御プログラム１２０に含まれる各プロセスは、予め用意されたＡＰＩ(Application Programming Interface)を用いることで、現在時刻をＣＰＵ１０２から取得することができる。
【００８６】
次に、第１実施形態に係る通信端末１の作用について説明する。通信端末１における描画部２０のペイント部２８は、通信部１０から受信したコンテンツを表示装置３０の画面に描画するペイント処理を実行する。
【００８７】
図５は、ペイント部２８におけるペイント処理の流れの一例を示すフローチャートである。
【００８８】
ステップＳ１００において、ペイント部２８は、描画要求をレイアウト部２７から受信したか否かを判定し、描画要求を受信していない場合、すなわち、否定判定の場合には、描画要求をレイアウト部２７から受信するまでステップＳ１００の処理を繰り返す。一方、描画要求を受信した場合、すなわち、肯定判定の場合には、ステップＳ１１０に移行する。
【００８９】
ステップＳ１１０において、ペイント部２８は、レイアウト部２７で作成された画面構成情報３２に基づいて、表示装置３０の画面にＵＩオブジェクトを含むコンテンツを描画する。なお、レイアウト部２７によって生成された画面構成情報３２は、例えばメモリ１０４の予め定めた領域に記憶されている。この際、ペイント部２８は、ＵＩオブジェクト毎の表示時刻を、例えばメモリ１０４の予め定めた領域に記憶する。
【００９０】
ステップＳ１２０において、ペイント部２８は、ステップＳ１１０でメモリに記憶した表示時刻を、画面構成情報３２の対応するＵＩオブジェクトの表示時刻欄に追加して、画面構成情報３２Ａを生成し、ペイント処理を終了する。なお、図５に示すペイント処理の流れは一例であり、その変形例として、ステップＳ１１０とステップＳ１２０との実行順序を逆転させても良い。
【００９１】
一方、制御部６０は、タッチパネルが配置された表示装置３０の画面をユーザが押下した際にジェスチャ配信部５３から配信されるジェスチャ座標の配信を、ＵＩイベント処理部２９に配信するか否かを制御する配信制御処理を実行する。
【００９２】
図６は、制御部６０における配信制御処理の流れの一例を示すフローチャートである。
【００９３】
ステップＳ２００において、制御部６０は、ジェスチャ座標をジェスチャ配信部５３から受信したか否かを判定する。ジェスチャ座標をジェスチャ配信部５３から受信していない場合、すなわち、ステップＳ２００の判定処理が否定判定の場合には、ジェスチャ座標をジェスチャ配信部５３から受信するまでステップＳ２００の処理を繰り返す。一方、ジェスチャ座標をジェスチャ配信部５３から受信した場合、すなわち、ステップＳ２００の判定処理が肯定判定の場合には、ステップＳ２１０に移行する。
【００９４】
ステップＳ２１０において、制御部６０は、図５のステップＳ１２０で生成された画面構成情報３２Ａを参照して、画面構成情報３２Ａに含まれるＵＩオブジェクトの中から、ジェスチャ座標上に位置するＵＩオブジェクトを特定する。
【００９５】
ステップＳ２２０において、制御部６０は、ＡＰＩを用いて現在時刻をＣＰＵ１０２から取得する。なお、現在時刻の取得方法はこれに限られず、例えばインターネットに接続されている時刻サーバから取得するようにしても良い。
【００９６】
ステップＳ２３０において、制御部６０は、メモリ１０４の予め定めた領域に予め記憶されている閾値を取得する。
【００９７】
この閾値は、何れかのＵＩオブジェクトが画面に表示されてから、ユーザによって当該ＵＩオブジェクトが選択されるまでの時間が当該閾値以下の場合、コンテンツの更新によってオブジェクトの誤選択が発生する可能性が高くなると考えられる値に設定される。
【００９８】
そして、制御部６０は、ステップＳ２２０で取得した現在時刻からステップＳ２１０で特定したＵＩオブジェクトの表示時刻を引いた時間差（選択時間差）を算出し、選択時間差が閾値以下であるか否かを判定する。選択時間差が閾値以下である場合、すなわち、ステップＳ２３０の判定処理が肯定判定の場合にはステップＳ２４０に移行する。
【００９９】
ステップＳ２３０の判定処理が肯定判定であるということは、画面にＵＩオブジェクトが表示されてから、閾値によって示される所定期間が経過するまでの間に、ユーザが当該ＵＩオブジェクトを誤って選択した可能性があることを意味する。
【０１００】
ユーザは画面に表示されたコンテンツ内容を確認した上で、ユーザが所望する処理に対応したボタン等のＵＩオブジェクトを選択する。すなわち、人間の知覚運動過程において、画面に表示されたコンテンツ内容からの視覚刺激を知覚し、判断や反応選択、反応の運動実行などの種々の処理過程による反応時間（例えば数百ミリ秒）が存する。したがって、制御部６０は、通常であればＵＩオブジェクトが画面に表示されてから閾値で表される所定期間が経過した後に、ジェスチャ座標を受信する。一方、ＵＩオブジェクトが画面に表示されてから、閾値で表される所定期間内にＵＩオブジェクトが選択される状況は、ユーザがＵＩオブジェクトを選択する直前に、画面上のコンテンツが更新されたためであると考えることができる。
【０１０１】
すなわち、ユーザは、表示装置３０の画面に表示されている画面更新後のジェスチャ座標上に位置するＵＩオブジェクトを選択しようとしたのではなく、画面更新前のジェスチャ座標上に位置するＵＩオブジェクトを選択しようとしたと考えることができる。
【０１０２】
したがって、ステップＳ２４０において、制御部６０は、ステップＳ２００で受信したジェスチャ座標を破棄して、図６に示す配信制御処理を終了する。
【０１０３】
一方、選択時間差が閾値より大きい場合、すなわち、ステップＳ２３０の判定処理が否定判定の場合には、ステップＳ２５０に移行する。
【０１０４】
この場合、画面にＵＩオブジェクトが表示されて所定期間が経過した後に、ユーザが当該ＵＩオブジェクトを選択していることから、ユーザは自らの意思によって当該ＵＩオブジェクトを選択したと考えられる。
【０１０５】
したがって、ステップＳ２５０において、制御部６０は、ステップＳ２００で受信したジェスチャ座標をＵＩイベント処理部２９に出力する。ＵＩイベント処理部２９は、ジェスチャ座標を制御部６０から受け付けると、ジェスチャ座標上に位置するＵＩオブジェクトに対応した処理を実行する。
【０１０６】
図７は、選択時間差が閾値以下の場合における、通信端末１でのＵＩオブジェクト選択動作の例を示す図である。ユーザが画面更新前の表示装置３０のボタンＡを押下しようとした際に画面が更新され、画面更新後においてボタンＢを押下してしまった場合でも、通信端末１は、ボタンＢの押下に対応したジェスチャ座標を破棄する。したがって、ユーザが選択しようと意図したボタンＡとは異なるボタンＢに対応した処理を抑制することができる。
【０１０７】
このように第１実施形態に係る通信端末１によれば、コンテンツに含まれるＵＩオブジェクトの表示時刻を記録する。そして、通信端末１は、ユーザが画面を選択した際に通知されるジェスチャ座標上に位置するＵＩオブジェクトの表示時刻と、ジェスチャ座標の受信時刻と、から選択時間差を算出し、選択時間差が閾値以下であれば、ジェスチャ座標を破棄する。
【０１０８】
したがって、通信端末１は、例えばインターネットに接続されたサーバからコンテンツを受信する際の受信状況が悪く、コンテンツが断片的に受信され、画面が順次更新される場合でも、ユーザの意図と異なる操作に応じた処理の実行を抑制することができる。
【０１０９】
また、通信端末１は、コンテンツの受信速度の変化に応じて閾値を変化させることで、画面の更新頻度に応じた閾値を設定する。したがって、閾値を固定した場合と比較して、画面の更新に伴い、ユーザの意図と異なる操作に応じた処理の実行を更に抑制することができる。
【０１１０】
（第２実施形態）
第１実施形態では、選択時間差が閾値以下であれば、画面の押下に伴って通知されるジェスチャ座標を破棄することで、ユーザが選択しようとしたＵＩオブジェクトと異なる他のＵＩオブジェクトが選択されないようにした。
【０１１１】
第２実施形態では、選択時間差が閾値以下の場合に、画面の押下に伴って通知されるジェスチャ座標を補正することで、ユーザが選択しようとしたＵＩオブジェクトと異なる他のＵＩオブジェクトが選択されないようにする。
【０１１２】
図８は、第２実施形態に係る通信端末２の構成の一例を示す図である。第２実施形態に係る通信端末２の構成が、図１に示した第１実施形態に係る通信端末１の構成と異なる点は、制御部６０が制御部６０Ａに置き換えられると共に、レイアウト部２７がレイアウト部２７Ａに置き換えられた点である。また、ペイント部２８がペイント部２８Ａに置き換えられる。レイアウト部２７及びペイント部２８がそれぞれレイアウト部２７Ａ及びペイント部２８に置き換えられたことに伴い、描画部２０が描画部２０Ａに置き換えられる。
【０１１３】
以下では、通信端末１と異なる点を中心に第２実施形態に係る通信端末２の説明を行う。通信端末１と同様の点については、説明を省略する。
【０１１４】
レイアウト部２７Ａは、レンダーツリー作成部２６、ペイント部２８、ＵＩイベント処理部２９、及び制御部６０Ａと接続される。
【０１１５】
レイアウト部２７Ａは、第１実施形態に係るレイアウト部２７の処理と同様の処理を実行する。ただし、レイアウト部２７Ａは、作成した画面構成情報３２をリングバッファに記憶する。
【０１１６】
ペイント部２８Ａも、第１実施形態に係るペイント部２８の処理と同様の処理を実行するが、リングバッファに記憶されている最新の画面構成情報３２に含まれるＵＩオブジェクト毎に表示時刻を記録して画面構成情報３２Ａを生成する。
【０１１７】
一方、制御部６０Ａは、レイアウト部２７、ＵＩイベント処理部２９、及びジェスチャ配信部５３と接続される。
【０１１８】
制御部６０Ａは、ジェスチャ配信部５３からジェスチャ座標を受け付けると、リングバッファに記憶されている画面構成情報３２Ａのうち、表示装置３０に表示中のコンテンツに対応した最新の画面構成情報３２Ａを参照する。そして、制御部６０Ａは、ジェスチャ座標上に位置するＵＩオブジェクトを当該最新の画面構成情報３２Ａから特定する。
【０１１９】
また、制御部６０Ａは、ジェスチャ座標上に位置するＵＩオブジェクトに対する選択時間差を算出する。選択時間差が閾値以下であれば、制御部６０Ａは、リングバッファに記憶されている最新の画面構成情報３２Ａ以外の他の画面構成情報３２Ａの各々を参照し、ジェスチャ座標上に位置するＵＩオブジェクトを当該他の画面構成情報３２Ａの各々から特定する。
【０１２０】
以降では、最新の画面構成情報３２Ａを用いて特定した、ジェスチャ座標上に位置するＵＩオブジェクトを「表示ＵＩオブジェクト」という。また、最新の画面構成情報３２Ａ以外の他の画面構成情報３２Ａを用いて特定した、ジェスチャ座標上に位置するＵＩオブジェクトを「比較ＵＩオブジェクト」という。
【０１２１】
制御部６０Ａは、各々の比較ＵＩオブジェクトの中に表示ＵＩオブジェクトの識別子と異なるＵＩオブジェクトが少なくとも１つ含まれる場合に、ジェスチャ座標を補正する。具体的には、制御部６０Ａは、最新の画面構成情報３２Ａにおいて、ジェスチャ座標が比較ＵＩオブジェクトと同じ識別子を有するＵＩオブジェクトの表示領域に含まれるように、ジェスチャ座標を補正する。
【０１２２】
次に、通信端末２をコンピュータで実現する場合の構成について説明する。通信端末２をコンピュータで実現する場合の構成は図４と同様の構成となるが、描画部２０が描画部２０Ａに置き換えられることに伴い、描画プロセス１２４が描画プロセス１２４Ａに置き換えられる。また、制御部６０が制御部６０Ａに置き換えられることに伴い、制御プロセス１３０が制御プロセス１３０Ａに置き換えられる。
【０１２３】
また、描画プロセス１２４Ａ及び制御プロセス１３０Ａへの置き換えに伴い、機器制御プログラム１２０が機器制御プログラム１２０Ａに置き換えられる。
【０１２４】
ＣＰＵ１０２は、機器制御プログラム１２０Ａを記憶部１０６から読み出してメモリ１０４に展開し、機器制御プログラム１２０Ａに含まれる各プロセスを実行することで、コンピュータ１００Ａが通信端末２として動作する。
【０１２５】
また、ＣＰＵ１０２が描画プロセス１２４Ａを実行することで、コンピュータ１００Ａが図８に示す描画部２０Ａとして動作する。また、ＣＰＵ１０２が制御プロセス１３０Ａを実行することで、コンピュータ１００Ａが図８に示す制御部６０Ａとして動作する。
【０１２６】
なお、コンピュータ１００Ａは、例えば半導体集積回路、より詳しくはＡＳＩＣ等で実現することも可能である。
【０１２７】
次に、第２実施形態に係る通信端末２の作用について説明する。なお、ペイント部２８Ａの処理によって、リングバッファには既に画面更新毎の画面構成情報３２Ａが記憶されているものとする。
【０１２８】
ここで、リングバッファとは、複数の記憶領域を用いてデータを記憶する記憶形態の１つであり、具体的には、例えばメモリ１０４の予め定めた領域に、記憶領域の配列として生成される。
【０１２９】
図９は、リングバッファ６を用いた画面構成情報３２Ａの記憶管理の一例を示す図である。図９では、リングバッファ６の記憶領域の数をｎ(ｎは２以上の整数)としている。
【０１３０】
図９（Ａ）に示すように、レイアウト部２７Ａは、始めに配列番号０の記憶領域に画面構成情報３２を記憶し、その後、配列番号１の記憶領域、配列番号２の記憶領域、・・・の順に画面構成情報３２を記憶する。なお、レイアウト部２７Ａは、前回記憶した画面構成情報３２の記憶先（最新領域）を示すインデックス５を管理する。
【０１３１】
図９（Ａ）の例では、インデックス５が配列番号６の記憶領域を示していることから、配列番号６の記憶領域に最新の画面構成情報３２Ａが記憶されている。また、レイアウト部２７Ａは、インデックス５に基づいて、次に記憶する画面構成情報３２の記憶先を判定する。図９（Ａ）の例では、インデックス５が配列番号６の記憶領域を示していることから、レイアウト部２７Ａは、配列番号６の次の配列番号、すなわち、配列番号７の記憶領域に、次の画面構成情報３２を記憶する。
【０１３２】
図９（Ｂ）に示すように、レイアウト部２７Ａは、リングバッファ６の全ての記憶領域に画面構成情報３２を記憶すると、画面構成情報３２の書込み先を配列番号が最も小さい記憶領域、すなわち、配列番号０の記憶領域に戻す。そして、図９（Ｃ）に示すように、レイアウト部２７Ａは、配列番号０の記憶領域から配列番号（ｎ−１）の記憶領域に向かって順に画面構成情報３２を上書きしながら、ｎ個分の画面構成情報３２を記憶する処理を繰り返す。
【０１３３】
ペイント部２８Ａは、コンテンツの描画毎にインデックス５を参照し、最新領域の画面構成情報３２に含まれるＵＩオブジェクト毎に、表示装置３０の画面にＵＩオブジェクトを描画し終えた時刻（表示時刻）を記録し、画面構成情報３２Ａを生成する。したがって、リングバッファ６には、画面構成情報３２Ａが時系列に沿って記憶される。なお、レイアウト部２７Ａは、通信端末２が起動する際、リングバッファ６に含まれる各記憶領域を予め定めた値（初期値）で初期化する。
【０１３４】
制御部６０Ａは、タッチパネルが配置された表示装置３０の画面をユーザが押下した際に、ジェスチャ配信部５３から配信されるジェスチャ座標を状況に応じて補正した上でＵＩイベント処理部２９に配信する配信制御処理を実行する。
【０１３５】
図１０は、制御部６０Ａにおける配信制御処理の流れの一例を示すフローチャートである。
【０１３６】
ステップＳ２００〜Ｓ２３０、及びＳ２５０については、図６に示した第１実施形態に係る配信制御処理と同様であるため説明を省略する。
【０１３７】
図１０に示す配信制御処理の場合、ステップＳ２３０の判定処理において、選択時間差が閾値以上である場合には、ステップＳ２６０に移行する。
【０１３８】
ステップＳ２６０において、制御部６０Ａは、画面に表示中のコンテンツに対応した、リングバッファ６のインデックス５が指し示す最新の画面構成情報３２Ａを参照する。そして、制御部６０Ａは、最新の画面構成情報３２Ａの中から、ステップＳ２１０の処理で特定したＵＩオブジェクト、すなわち表示ＵＩオブジェクトの識別子をメモリ１０４に記憶する。
【０１３９】
ステップＳ２７０において、制御部６０Ａは、表示ＵＩオブジェクトの選択に関して誤選択の可能性があるか推定する。そして、制御部６０Ａは、誤選択の可能性が推定される場合、ユーザが本来選択しようとしたＵＩオブジェクトの表示領域にジェスチャ座標が含まれるようにジェスチャ座標を補正するジェスチャ座標補正処理を実行する。
【０１４０】
図１１は、制御部６０Ａにおけるジェスチャ座標補正処理の流れの一例を示すフローチャートである。
【０１４１】
まず、ステップＳ４００において、制御部６０Ａは、ステップＳ４１０〜Ｓ４７０の処理の繰り返し数を表す探索回数Ｐを０に初期化する。
【０１４２】
ステップＳ４１０において、制御部６０Ａは、探索回数Ｐがリングバッファ６に含まれる記憶領域の数ｎと一致するか否かを判定する。なお、後述するように、制御部６０Ａがリングバッファ６に含まれる各画面構成情報３２Ａに対して、ステップＳ４１０〜Ｓ４７０の処理を実行した場合に、探索回数Ｐがリングバッファ６に含まれる記憶領域の数ｎと一致する。すなわち、ステップＳ４１０の判定処理は、リングバッファ６に含まれる画面構成情報３２Ａを処理対象としたステップＳ４１０〜Ｓ４７０のループ処理の終了判定として機能する。
【０１４３】
ステップＳ４１０の判定処理が否定判定の場合、すなわち、探索回数Ｐがリングバッファ６に含まれる記憶領域の数ｎと異なる場合には、ステップＳ４２０に移行する。
【０１４４】
ステップＳ４２０において、制御部６０Ａは、探索回数Ｐが“０”であるか否かを判定し、探索回数Ｐが“０”の場合にはステップＳ４７０に移行する。
【０１４５】
図１１に示すジェスチャ座標補正処理の実行直後は、ステップＳ４００で探索回数が“０”に初期化されるため、ステップＳ４２０の判定処理ではステップＳ４７０に移行することになる。
【０１４６】
ステップＳ４７０において、制御部６０Ａは探索回数Ｐを１つ増加し、ステップＳ４１０に移行する。こうして探索回数Ｐが１以上になると、ステップＳ４２０の判定処理ではステップＳ４３０に移行することになる。
【０１４７】
ステップＳ４３０において、制御部６０Ａはリングバッファ６を参照して、配列番号が［最新領域の配列番号−Ｐ］で表される記憶領域（比較対象領域）に画面構成情報３２Ａが記憶されているか、すなわち空き領域でないか確認する。なお、最新領域の配列番号はインデックス５から取得することができる。また、記憶領域が空き領域であるか否かは、通信端末２が起動する際に、記憶領域に設定した初期値が記憶されているか否かによって判定することができる。制御部６０Ａは、記憶領域に初期値が記憶されていれば空き領域であると判定する。
【０１４８】
また、制御部６０Ａは、［最新領域の配列番号−Ｐ］が負値ｓとなった場合、配列番号が（ｎ−｜ｓ｜）で表される記憶領域を比較対象領域として、当該比較対象領域に画面構成情報３２Ａが記憶されているか確認する。記号“｜ｓ｜”は負値ｓの絶対値を示す。
【０１４９】
ステップＳ４３０の判定処理が否定判定、すなわち、比較対象領域が空き領域の場合、これ以降の比較対象領域には画面構成情報３２Ａが含まれていないことになるため、ユーザは当初から表示ＵＩオブジェクトを選択しようとしたと推定できる。したがって、ステップＳ４１０〜Ｓ４７０のループ処理を終了してステップＳ４９０に移行する。一方、肯定判定、すなわち、比較対象領域に画面構成情報３２Ａが記憶されている場合には、ステップＳ４４０に移行する。
【０１５０】
ステップＳ４４０において、制御部６０Ａは、画面構成情報３２ＡをステップＳ４３０で選択した比較対象領域から取得する。ステップＳ４４０で制御部６０Ａが取得する画面構成情報３２Ａは、表示装置３０の画面に現在表示されているコンテンツに対応した最新の画面構成情報３２Ａではなく、過去のコンテンツ描画に対応した画面構成情報３２Ａである。
【０１５１】
ステップＳ４５０において、制御部６０Ａは、ステップＳ４４０で取得した比較対象領域の画面構成情報３２Ａを参照して、当該画面構成情報３２Ａに含まれるＵＩオブジェクトの中から、ジェスチャ座標上に位置するＵＩオブジェクトを特定する。なお、ステップＳ４５０で、比較対象領域の画面構成情報３２Ａから特定されたＵＩオブジェクトを、「比較ＵＩオブジェクト」という。
【０１５２】
ステップＳ４６０において、制御部６０Ａは、図１０のステップＳ２６０でメモリ１０４に記憶した表示ＵＩオブジェクトの識別子と、ステップＳ４５０で特定した比較ＵＩオブジェクトの識別子が一致するか否かを判定する。当該判定が肯定判定の場合、すなわち、表示ＵＩオブジェクトの識別子と比較ＵＩオブジェクトの識別子が一致する場合は、ステップＳ４７０に移行する。なお、図１１に示すジェスチャ座標補正処理の変形例として、当該ステップＳ４６０の判定で肯定判定の場合に、ステップＳ４１０乃至ステップＳ４７０のループ処理を終了させて、ステップＳ４９０へ移行しても良い。短時間（たとえばステップＳ２３０の閾値で表される所定期間）に複数回の画面の更新が生じていないときは、一つ前の時点の画面構成情報３２Ａから特定される比較ＵＩオブジェクトと表示ＵＩオブジェクトとが一致していると判定することで、ユーザが意図したＵＩオブジェクトが選択されたとみなせるためである。
【０１５３】
一方、否定判定の場合、すなわち、表示ＵＩオブジェクトの識別子と比較ＵＩオブジェクトの識別子が一致しない場合は、ステップＳ４８０に移行する。この場合、ジェスチャ座標上に位置するＵＩオブジェクトが更新されたことを意味するため、ユーザは比較ＵＩオブジェクトを選択しようとした際にコンテンツが更新され、表示ＵＩオブジェクトを誤って選択したものと推定できる。したがって、ステップＳ４８０で、最新の画面構成情報３２Ａにおいて、ジェスチャ座標が比較ＵＩオブジェクトと同じ識別子を有するＵＩオブジェクトの表示領域に含まれるように、ジェスチャ座標の補正量を算出する補正量算出処理を実行する。なお、補正量算出処理の詳細については後ほど説明する。
【０１５４】
リングバッファ６に含まれる何れの比較対象領域の比較ＵＩオブジェクトの識別子も表示ＵＩオブジェクトの識別子と一致する場合、ステップＳ４１０〜Ｓ４７０の処理が繰り返され、探索回数Ｐがリングバッファ６に含まれる記憶領域の数ｎと一致する。したがって、ステップＳ４１０の判定処理ではステップＳ４９０に移行する。
【０１５５】
この場合、リングバッファ６に記憶される何れの画面構成情報３２Ａも、ジェスチャ座標上に同じＵＩオブジェクトが位置していることを意味している。したがって、ユーザは当初から表示ＵＩオブジェクトを選択しようとしたと推定される。
【０１５６】
したがって、ステップＳ４９０において、制御部６０Ａは、図１０のステップＳ２００で受信したジェスチャ座標をＵＩイベント処理部２９に出力する。ＵＩイベント処理部２９は、ジェスチャ座標を制御部６０Ａから受け付けると、ジェスチャ座標上に位置する表示ＵＩオブジェクトに対応した処理を実行する。
【０１５７】
一方、図１２は、図１１のステップＳ４８０における補正量算出処理の流れの一例を示すフローチャートである。
【０１５８】
まず、ステップＳ５００において、制御部６０Ａは、図１１のステップＳ４６０の判定処理で、表示ＵＩオブジェクトとは異なる識別子を有すると判定された比較ＵＩオブジェクトの識別子を取得する。そして、制御部６０Ａは、最新の画面構成情報３２Ａを参照して、当該取得した識別子と同じ識別子を有するＵＩオブジェクト（選択先ＵＩオブジェクト）を特定する。
【０１５９】
また、制御部６０Ａは、最新の画面構成情報３２Ａを参照して、選択先ＵＩオブジェクトのＸ座標と、表示ＵＩオブジェクトのＸ座標と、の差分ΔＸを算出する。更に、制御部６０Ａは、最新の画面構成情報３２Ａを参照して、選択先ＵＩオブジェクトのＹ座標と、表示ＵＩオブジェクトのＹ座標と、の差分ΔＹを算出する。
【０１６０】
ステップＳ５１０において、制御部６０Ａは、図１０のステップＳ２００で受信したジェスチャ座標のＸ座標に、ステップＳ５００で算出した差分ΔＸを加算すると共に、ジェスチャ座標のＹ座標に、同じくステップＳ５００で算出した差分ΔＹを加算する。
【０１６１】
差分ΔＸ及び差分ΔＹが加算されたジェスチャ座標は、表示ＵＩオブジェクトの表示領域ではなく、選択先ＵＩオブジェクトの表示領域に含まれる。
【０１６２】
したがって、ステップＳ５２０において、制御部６０Ａは、ステップＳ５１０でジェスチャ座標に差分ΔＸ及び差分ΔＹを加算した補正ジェスチャ座標を、ＵＩイベント処理部２９に出力する。ＵＩイベント処理部２９は、補正ジェスチャ座標を制御部６０Ａから受け付けると、最新の画面構成情報３２Ａを参照して、補正ジェスチャ座標上に位置するＵＩオブジェクト、すなわち選択先ＵＩオブジェクトに対応した処理を実行する。
【０１６３】
以上により、図１０に示した制御部６０Ａにおける配信制御処理が終了する。
【０１６４】
なお、図１１のステップＳ４００では、探索回数Ｐを０に初期化する例を示したが、探索回数Ｐの初期化方法はこれに限定されない。例えば、探索回数Ｐを１に初期化するようにしても良い。この場合、ステップＳ４２０の判定処理は不要となる。
【０１６５】
また、リングバッファ６の記憶領域の数ｎが大きく設定されるにつれて、記憶領域の中に、現在の時刻から図１０のステップＳ２３０で用いた閾値だけ遡った時刻より前に記憶された画面構成情報３２Ａが記憶される可能性が大きくなる。
【０１６６】
現在の時刻から閾値だけ遡った時刻より前に記憶された画面構成情報３２Ａに含まれるＵＩオブジェクトについては、ＵＩオブジェクトが表示されてからユーザが選択するまでの期間が比較的長い。したがって、コンテンツの更新によるＵＩオブジェクトの誤選択の判定対象に含まなくてもよい。
【０１６７】
したがって、図１３に示すように、ステップＳ４５０とステップＳ４６０の間にステップＳ４５５を設け、現在時刻から比較ＵＩオブジェクトの表示時刻を引いた選択時間差が閾値より大きい場合には、ステップＳ４１０〜Ｓ４７０のループ処理を終了しても良い。
【０１６８】
具体的には、ステップＳ４５５において、制御部６０Ａは、ステップＳ４５０で特定した比較ＵＩオブジェクトの表示時刻と、図１０のステップＳ２２０で取得した現在時刻と、に基づいて選択時間差を算出する。そして、制御部６０Ａは、算出した選択時間差が図１０のステップＳ２３０の判定処理で用いた閾値以下であるか否かを判定する。選択時間差が閾値以下、すなわち、肯定判定の場合にはステップＳ４６０に移行し、比較ＵＩオブジェクトの識別子と表示ＵＩオブジェクトの識別子とが一致するか判定する。
【０１６９】
一方、選択時間差が閾値より大きい場合、すなわち、否定判定の場合には、ステップＳ４９０に移行する。これは、ステップＳ２３０の閾値で表される所定期間に亘って、比較ＵＩオブジェクトの識別子と表示ＵＩオブジェクトの識別子が一致している場合には、ユーザが意図したＵＩオブジェクトが選択されたとみなせるためである。
【０１７０】
このように、制御部６０Ａは、表示時刻から算出した選択時間差が閾値より大きくなる比較ＵＩオブジェクトを、ＵＩオブジェクトの誤選択の判定対象に含めないようにすることで、ジェスチャ座標を補正するか否かの判定精度を向上することができる。また、リングバッファ６に記憶される全ての画面構成情報３２Ａについて比較ＵＩオブジェクトの識別子と表示ＵＩオブジェクトの識別子を比較する場合に比べて、ジェスチャ座標補正処理に要する時間を短縮することができる。
【０１７１】
更に、ＵＩオブジェクトの誤選択の判定対象に、現在時刻より前の所定期間に記憶された画面構成情報３２Ａだけを含めるようにする他の変形例として、閾値で表される所定期間が経過したタイミングでリングバッファ６を初期化する方法が考えられる。
【０１７２】
この場合、例えばペイント部２８Ａは、コンテンツの描画毎に、コンテンツの描画が完了したことを通知する描画完了通知を制御部６０Ａに出力する。
【０１７３】
制御部６０Ａは、リングバッファ６に画面構成情報３２Ａが１つ含まれ、かつ、描画完了通知をペイント部２８Ａから受け付けたタイミングでタイマを起動する。当該タイマのタイムアウト時間は、ステップＳ２３０の判定の際に用いる閾値に設定される。
【０１７４】
タイマがタイムアウトするまでにコンテンツの更新が行われた場合、更新したコンテンツに応じた画面構成情報３２Ａがリングバッファ６に記憶される。しかし、制御部６０Ａは、タイマがタイムアウトした際にリングバッファ６の各記憶領域を初期値で初期化し、リングバッファ６に記憶されていた画面構成情報３２Ａを消去する。
【０１７５】
すなわち、リングバッファ６には、現在時刻より前の閾値で表される所定期間に記憶された画面構成情報３２Ａだけが含まれる。したがって、図１１に示すジェスチャ座標補正処理において、閾値で表される所定期間が経過したタイミングでリングバッファ６を初期化しない場合と比較して、ジェスチャ座標を補正するか否かの判定精度を向上することができる。
【０１７６】
図１４は、選択時間差が閾値以下の場合で、かつ、表示ＵＩオブジェクトと比較ＵＩオブジェクトとが異なる場合における、通信端末２でのＵＩオブジェクト選択動作の例を示す図である。図１４の例では、ボタンＡが比較ＵＩオブジェクトであり、ボタンＢが表示ＵＩオブジェクトである。
【０１７７】
ユーザがボタンＡを押下しようとした際に画面が更新され、画面更新後にボタンＢを押下してしまった場合でも、通信端末２は、ボタンＢを押下した際のジェスチャ座標を、画面更新後のボタンＡの表示領域内に補正する。したがって、ボタンＢに対応した処理は実行されず、ユーザが選択しようとしたボタンＡに対応した処理が実行されるため、ユーザの意図と異なる操作に応じた処理の実行を抑制することができる。
【０１７８】
このように第２実施形態に係る通信端末２によれば、リングバッファ６を用いてコンテンツの描画更新毎に生成される画面構成情報３２Ａを時系列に沿って管理する。そして、通信端末２は、ＵＩオブジェクトの選択時間差が閾値以下の場合で、かつ、表示ＵＩオブジェクトと比較ＵＩオブジェクトとが異なる場合、表示中の画面内で比較ＵＩオブジェクトと同じＵＩオブジェクトを示すようにジェスチャ座標を補正する。
【０１７９】
したがって、通信端末２は、例えばインターネットに接続されたサーバからコンテンツを受信する際の受信状況が悪く、コンテンツが断片的に受信され、画面が順次更新される場合であっても、ユーザは正しいＵＩオブジェクトを選択することができる。すなわち、画面の更新に伴う、ユーザの意図と異なる操作に応じた処理の実行を抑制することができる。
【０１８０】
なお、各実施形態では、ＵＩオブジェクト毎に表示時刻を記録し、画面構成情報３２Ａを生成した。しかし、画面構成情報３２Ａにおける表示時刻の記録方法はこれに限られない。
【０１８１】
例えば、ＵＩオブジェクト個々の描画終了時刻ではなく、受信した時点におけるコンテンツに含まれる全てのＵＩオブジェクトを描画して、画面の更新が終了した時刻を表示時刻として記録するようにしても良い。
【０１８２】
図１５は、画面構成情報３２Ａの変形例（画面構成情報３２Ｂ）を示す図である。図１５に示すように、例えば画面の更新が終了した時刻をＴ１とすれば、各ＵＩオブジェクトの表示時刻はＴ１で表される。
【０１８３】
この場合、ＵＩオブジェクト毎に表示時刻を記録する必要がないため、画面構成情報３２ＡのようにＵＩオブジェクト毎に表示時刻を記録する場合に比べて、画面構成情報３２Ａを生成する描画部２０、２０Ａの負荷が軽減される。
【０１８４】
このように、画面構成情報３２Ａにおける表示時刻には、コンテンツの描画処理における任意の時点の時刻を用いることができる。
【０１８５】
また、図６及び図１０におけるステップＳ２３０の判定に用いる閾値は固定値ではなく、コンテンツの受信スループットに応じて変更するようにしても良い。
【０１８６】
例えば、通信回線におけるコンテンツの受信状況が悪くなり、コンテンツの受信スループットが遅くなるにつれて、表示画面の描画完了までに要する時間が長くなる。したがって、コンテンツの受信スループットが現状の受信スループットより速い場合と比較して、ユーザがＵＩオブジェクトを選択する直前に画面が更新される可能性が高くなる。
【０１８７】
そこで、コンテンツの描画完了に要する時間の延長にあわせて閾値を大きくすることで、図６及び図１０におけるステップＳ２３０の判定処理で選択時間差が閾値以下となる確率が大きくなる。したがって、ユーザの意図と異なる操作に応じた処理の実行を更に抑制することができる。
【０１８８】
一方、通信回線におけるコンテンツの受信状況が改善され、コンテンツの受信スループットが速くなるにつれて、表示画面の描画完了までに要する時間が短くなる。したがって、コンテンツの受信スループットが現状の受信スループットより遅い場合と比較して、ユーザがＵＩオブジェクトを選択する直前に画面が更新される可能性が低くなる。
【０１８９】
そこで、コンテンツの描画完了に要する時間の短縮にあわせて閾値を小さくしても、ユーザの意図と異なる操作に応じた処理が実行される可能性は小さい。例えば、コンテンツの受信に用いている無線回線の品質が所定値以上であり良好であることを検知した場合、通信回線におけるコンテンツの受信状況が良好であると判断し、第１の閾値を設定しても良い。そして、無線回線の品質が所定値未満に劣化したことを検知した場合、通信回線におけるコンテンツの受信状況が悪いと判断し、第１の閾値よりも大きい値の第２の閾値を設定しても良い。したがって、無線回線の品質が劣化している場合には、無線回線品質が良好である場合と比較して、表示画面の描画完了までに要する時間が長くなる傾向を有することから、閾値を大きくすることができる。これにより、図６及び図１０におけるステップＳ２３０の判定処理で選択時間差が閾値以下となる確率が高くなり、ユーザの意図と異なる操作に応じた処理の実行を更に抑制することができる。
【０１９０】
また、各実施形態では、画面が順次更新される例として、例えばインターネットに接続されたサーバからコンテンツを受信する際の受信状況が悪い場合を用いて説明した。しかし、画面が順次更新される例はこれに限られない。
【０１９１】
例えば、通信端末１、２において、機器制御プログラム１２０、１２０Ａとは異なる他のアプリケーションが実行され、一時的にＣＰＵ１０２の負荷が高くなっている状況において、コンテンツを表示装置３０に表示する場合も画面が順次更新されることがある。
【０１９２】
以上、各実施形態を用いて開示の技術を説明したが、開示の技術は各実施形態に記載の範囲には限定されない。開示の技術の要旨を逸脱しない範囲で各実施形態に多様な変更又は改良を加えることができ、当該変更又は改良を加えた形態も開示の技術の技術的範囲に含まれる。例えば、開示の技術の要旨を逸脱しない範囲で処理の順序を変更してもよい。
【０１９３】
また、各実施形態では、機器制御プログラム１２０、１２０Ａが記憶部１０６に予め記憶（インストール）されている態様を説明したが、これに限定されるものではない。開示の技術に係る機器制御プログラムは、コンピュータ読取可能な記録媒体１１６に記録された形態で提供することも可能である。例えば、開示の技術に係る機器制御プログラムは、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、またはＵＳＢメモリ等の可搬型記録媒体に記録された形態で提供することも可能である。また、開示の技術に係る機器制御プログラムは、フラッシュメモリ等の半導体メモリ等に記録された形態で提供することも可能である。
【０１９４】
以上の各実施形態を含む実施形態に関し、更に以下の付記を開示する。
【０１９５】
（付記１）
表示画面を構成するデータをネットワークを介して取得する取得部と、
前記取得部によって前記データの全ての取得が完了する前から、前記取得されたデータの部分を用いて、前記表示画面の構成を解析する解析処理と、前記解析処理の結果を用いて前記表示画面の構成要素であるオブジェクトの前記表示画面上のレイアウト位置を計算するレイアウト計算処理とを含む、レンダリング処理を開始し、表示装置に前記表示画面を表示させる描画部と、
前記描画部によって表示装置の表示が更新されてからの経過時間に応じて、更新後の画面上で選択された前記オブジェクトに対応する処理を実行するか否かを制御する制御部と、
を含む電子機器。
【０１９６】
（付記２）
前記制御部は、前記表示装置に表示された画面上で選択された前記オブジェクトの座標を、前記オブジェクトに対応付けられた処理を行う処理部へ出力する一方で、前記描画部によって前記表示装置に前記更新後の画面が表示されてから所定期間が経過するまでの間に前記更新後の画面上で選択された前記オブジェクトの座標は前記処理部に出力せずに破棄する
付記１記載の電子機器。
【０１９７】
（付記３）
前記描画部は、前記表示装置に画面を表示する毎に、表示した画面に含まれる前記オブジェクトの座標を記憶し、
前記制御部は、前記表示装置に前記更新後の画面が表示されてから所定期間が経過するまでの間に、前記更新後の画面上で選択された前記オブジェクトの座標上に位置する第１のオブジェクトが、前記更新後の画面より前に表示された画面における、前記更新後の画面上で選択された前記オブジェクトの座標上に位置する第２のオブジェクトと異なる場合、前記更新後の画面上の前記第２のオブジェクトの座標を、前記オブジェクトに対応付けられた処理を行う処理部へ出力する
付記１記載の電子機器。
【０１９８】
（付記４）
前記描画部は、前記更新後の画面に含まれるオブジェクト毎の座標及び表示時刻を含む、前記更新後の画面に対応する画面構成情報を生成し、
前記制御部は、前記更新後の画面に対応する画面構成情報を参照して、前記更新後の画面上で選択された前記オブジェクトの座標上に位置するオブジェクトの表示時刻を前記所定期間の開始時刻とする
付記２または付記３記載の電子機器。
【０１９９】
（付記５）
前記描画部は、前記更新後の画面に含まれるオブジェクト毎の座標と、前記更新後の画面の前記表示装置への表示が完了した時刻を含む、前記更新後の画面に対応する画面構成情報を生成し、
前記制御部は、前記更新後の画面に対応する画面構成情報を参照して、前記更新後の画面の前記表示装置への表示が完了した時刻を前記所定期間の開始時刻とする
付記２または付記３記載の電子機器。
【０２００】
（付記６）
前記制御部は、前記表示画面を構成するデータのスループットが遅くなるにしたがって、前記所定期間を長く設定する
付記２〜付記５の何れか１項に記載の電子機器。
【０２０１】
（付記７）
コンピュータに、
表示画面を構成するデータをネットワークを介して取得し、
前記データの全ての取得が完了する前から、前記取得されたデータの部分を用いて、前記表示画面の構成を解析する解析処理と、前記解析処理の結果を用いて前記表示画面の構成要素であるオブジェクトの前記表示画面上のレイアウト位置を計算するレイアウト計算処理とを含む、レンダリング処理を開始し、表示装置に画面を表示させ、
前記表示装置の表示が更新されてからの経過時間に応じて、更新後の画面上で選択された前記オブジェクトに対応する処理を実行するか否かを制御する
処理を実行させる機器制御プログラム。
【０２０２】
（付記８）
前記表示装置に表示された画面上で選択された前記オブジェクトの座標を、前記オブジェクトに対応付けられた処理を行う処理部へ出力する一方で、前記表示装置に前記更新後の画面が表示されてから所定期間が経過するまでの間に前記更新後の画面上で選択された前記オブジェクトの座標は前記処理部に出力せずに破棄する
付記７記載の機器制御プログラム。
【０２０３】
（付記９）
前記表示装置に画面が表示される毎に、表示された画面に含まれる前記オブジェクトの座標を記憶し、前記表示装置に前記更新後の画面が表示されてから所定期間が経過するまでの間に、前記更新後の画面上で選択された前記オブジェクトの座標上に位置する第１のオブジェクトが、前記更新後の画面より前に表示された画面における、前記更新後の画面上で選択された前記オブジェクトの座標上に位置する第２のオブジェクトと異なる場合、前記更新後の画面上の前記第２のオブジェクトの座標を、前記オブジェクトに対応付けられた処理を行う処理部へ出力する
付記７記載の機器制御プログラム。
【０２０４】
（付記１０）
前記更新後の画面に含まれるオブジェクト毎の座標及び表示時刻を含む、前記更新後の画面に対応する画面構成情報を生成し、
前記更新後の画面に対応する画面構成情報を参照して、前記更新後の画面上で選択された前記オブジェクトの座標上に位置するオブジェクトの表示時刻を前記所定期間の開始時刻とする
付記８または付記９記載の機器制御プログラム。
【０２０５】
（付記１１）
前記更新後の画面に含まれるオブジェクト毎の座標と、前記更新後の画面の前記表示装置への表示が完了した時刻を含む、前記更新後の画面に対応する画面構成情報を生成し、
前記更新後の画面に対応する画面構成情報を参照して、前記更新後の画面の前記表示装置への表示が完了した時刻を前記所定期間の開始時刻とする
付記８または付記９記載の機器制御プログラム。
【０２０６】
（付記１２）
前記表示画面を構成するデータのスループットが遅くなるにしたがって、前記所定期間を長く設定する
付記８〜付記１１の何れか１項に記載の機器制御プログラム。
【０２０７】
（付記１３）
コンピュータに、
表示画面を構成するデータをネットワークを介して取得し、
前記データの全ての取得が完了する前から、前記取得されたデータの部分を用いて、前記表示画面の構成を解析する解析処理と、前記解析処理の結果を用いて前記表示画面の構成要素であるオブジェクトの前記表示画面上のレイアウト位置を計算するレイアウト計算処理とを含む、レンダリング処理を開始し、表示装置に画面を表示させ、
前記表示装置の表示が更新されてからの経過時間に応じて、更新後の画面上で選択された前記オブジェクトに対応する処理を実行するか否かを制御する
処理を実行させる機器制御方法。
【０２０８】
（付記１４）
前記表示装置に表示された画面上で選択された前記オブジェクトの座標を、前記オブジェクトに対応付けられた処理を行う処理部へ出力する一方で、前記表示装置に前記更新後の画面が表示されてから所定期間が経過するまでの間に前記更新後の画面上で選択された前記オブジェクトの座標は前記処理部に出力せずに破棄する
付記１３記載の機器制御方法。
【０２０９】
（付記１５）
前記表示装置に画面が表示される毎に、表示された画面に含まれる前記オブジェクトの座標を記憶し、前記表示装置に前記更新後の画面が表示されてから所定期間が経過するまでの間に、前記更新後の画面上で選択された前記オブジェクトの座標上に位置する第１のオブジェクトが、前記更新後の画面より前に表示された画面における、前記更新後の画面上で選択された前記オブジェクトの座標上に位置する第２のオブジェクトと異なる場合、前記更新後の画面上の前記第２のオブジェクトの座標を、前記オブジェクトに対応付けられた処理を行う処理部へ出力する
付記１３記載の機器制御方法。
【０２１０】
（付記１６）
前記更新後の画面に含まれるオブジェクト毎の座標及び表示時刻を含む、前記更新後の画面に対応する画面構成情報を生成し、
前記更新後の画面に対応する画面構成情報を参照して、前記更新後の画面上で選択された前記オブジェクトの座標上に位置するオブジェクトの表示時刻を前記所定期間の開始時刻とする
付記１４または付記１５記載の機器制御方法。
【０２１１】
（付記１７）
前記更新後の画面に含まれるオブジェクト毎の座標と、前記更新後の画面の前記表示装置への表示が完了した時刻を含む、前記更新後の画面に対応する画面構成情報を生成し、
前記更新後の画面に対応する画面構成情報を参照して、前記更新後の画面の前記表示装置への表示が完了した時刻を前記所定期間の開始時刻とする
付記１４または付記１５記載の機器制御方法。
【０２１２】
（付記１８）
前記表示画面を構成するデータのスループットが遅くなるにしたがって、前記所定期間を長く設定する
付記１４〜付記１７の何れか１項に記載の機器制御方法。
【０２１３】
（付記１９）
コンピュータに、
表示画面を構成するデータをネットワークを介して取得し、
前記データの全ての取得が完了する前から、前記取得されたデータの部分を用いて、前記表示画面の構成を解析する解析処理と、前記解析処理の結果を用いて前記表示画面の構成要素であるオブジェクトの前記表示画面上のレイアウト位置を計算するレイアウト計算処理とを含む、レンダリング処理を開始し、表示装置に画面を表示させ、
前記表示装置の表示が更新されてからの経過時間に応じて、更新後の画面上で選択された前記オブジェクトに対応する処理を実行するか否かを制御する
処理を実行させる機器制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【符号の説明】
【０２１４】
１（２）・・・通信端末、５・・・インデックス、６・・・リングバッファ、１０・・・通信部、２０（２０Ａ）・・・描画部、２１・・・分離部、２２・・・ＨＴＭＬ受信部、２３・・・ＤＯＭツリー作成部、２４・・・ＣＳＳ受信部、２５・・・ＣＳＳＯＭツリー作成部、２６・・・レンダーツリー作成部、２７・・・レイアウト部、２８（２８Ａ）・・・ペイント部、２９・・・ＵＩイベント処理部、３０・・・表示装置、３２（３２Ａ、３２Ｂ）・・・画面構成情報、４０・・・受付部、５０・・・選択処理部、５１・・・タッチイベント受信部、５２・・・ジェスチャ変換部、５３・・・ジェスチャ配信部、６０（６０Ａ）・・・制御部、１００（１００Ａ）・・・コンピュータ、１０２・・・ＣＰＵ、１０４・・・メモリ、１０６・・・記憶部、１０８・・・バス、１１２・・・入力装置、１１４・・・通信装置、１１６・・・記録媒体、１２０（１２０Ａ）・・・機器制御プログラム
【図１】
2017062555.tif 000003
【図２】
2017062555.tif 000004
【図３】
2017062555.tif 000005
【図４】
2017062555.tif 000006
【図５】
2017062555.tif 000007
【図６】
2017062555.tif 000008
【図８】
2017062555.tif 000009
【図９】
2017062555.tif 000010
【図１０】
2017062555.tif 000011
【図１１】
2017062555.tif 000012
【図１２】
2017062555.tif 000013
【図１３】
2017062555.tif 000014
【図７】
2017062555.tif 000015
【図１４】
2017062555.tif 000016
【図１５】
2017062555.tif 000017
【図１６】
2017062555.tif 000018