JP2017062555A - 電子機器、機器制御プログラム、及び機器制御方法 - Google Patents
電子機器、機器制御プログラム、及び機器制御方法 Download PDFInfo
- Publication number
- JP2017062555A JP2017062555A JP2015186573A JP2015186573A JP2017062555A JP 2017062555 A JP2017062555 A JP 2017062555A JP 2015186573 A JP2015186573 A JP 2015186573A JP 2015186573 A JP2015186573 A JP 2015186573A JP 2017062555 A JP2017062555 A JP 2017062555A
- Authority
- JP
- Japan
- Prior art keywords
- screen
- display
- unit
- updated
- coordinates
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Telephone Function (AREA)
Abstract
【課題】画面のデータの取得が完了する前に段階的に画面が表示される場合に、意図と異なる操作に応じた処理の実行を抑制する電子機器、機器制御プログラム及び機器制御方法を提供する。【解決手段】通信端末1は、表示画面を構成するデータをネットワークを介して取得する。また、通信端末は、データの全ての取得が完了する前から、取得されたデータの部分を用いて表示画面の構成を解析し、表示画面の構成要素であるオブジェクトのレイアウト位置を計算するレンダリング処理を開始し、表示装置に表示画面を表示させる。更に、表示装置の表示が更新されてからの経過時間に応じて、更新後の画面上で選択されたオブジェクトに対応する処理を実行するか否かを制御する。【選択図】図1
Description
開示の技術は、電子機器、機器制御プログラム、及び機器制御方法に関する。
スマートフォンまたはタブレット端末等の通信機能を備えた通信端末の中には、通信端末の向きを検出し、検出した向きに応じてユーザが読みやすい方向に画面の向きを変更する機能を備えているものがある。しかし、例えばユーザが画面上のタッチパネルを押下してボタン操作を行おうとした際に、ユーザが意識せずに通信端末の向きが変化してしまうことがある。このため、画面の向きが変更されてから予め定めた時間が経過するまで、ユーザによるタッチパネルの押下を無効にする手法が開示されている。
しかしながら、上記手法は、ユーザ操作の直前に画面の向きが変化した場合に対応する技術であり、画面の向き以外の画面の変化に対応することができない。
例えば、通信端末でホームページ等を閲覧するブラウジングを行う際、データの受信状況が良好でない場合、全ての情報が画面に表示されるまでに時間を要し、画面表示完了までの間、受信済みのデータに基づいて画面が適宜更新される場合がある。
こうした状況では、例えば全ての情報が表示される前にユーザが画面に表示されているボタン等のオブジェクトを押下しようとした直前に画面が更新され、ユーザが意図しないオブジェクト(例えば他のボタン)を押下する操作が行われてしまうことがある。
一つの側面として、開示の技術は、画面のデータの取得が完了する前に段階的に画面が表示される場合に、意図と異なる操作に応じた処理の実行を抑制することを目的とする。
一つの態様では、電子機器は、表示画面を構成するデータをネットワークを介して取得する。また、電子機器は、データの全ての取得が完了する前から、取得されたデータの部分を用いて表示画面の構成を解析し、表示画面の構成要素であるオブジェクトのレイアウト位置を計算するレンダリング処理を開始し、表示装置に表示画面を表示させる。更に、電子機器は、表示装置の表示が更新されてからの経過時間に応じて、更新後の画面上で選択されたオブジェクトに対応する処理を実行するか否かを制御する。
一つの側面として、画面のデータの取得が完了する前に段階的に画面が表示される場合に、意図と異なる操作に応じた処理の実行を抑制することができる、という効果を有する。
以下、図面を参照して開示の技術の実施形態の一例を詳細に説明する。なお、同じ働きを担う構成要素または処理には、全図面を通して同じ符号を付与し、重複する説明を適宜省略する場合がある。
図16は、ユーザが表示装置30の画面に表示されているオブジェクトを押下しようとした直前に画面が更新され、ユーザが意図しないオブジェクトを押下するといった誤選択の発生例を示す図である。
図16に示す通信端末90の画面更新前の例では、画面にボタンAが表示され、ユーザがボタンAを押下して、ボタンAを選択しようとしている状態を示している。
こうした状況において、ボタンAの押下前に通信端末がコンテンツに関する残りのデータを受信すると、画面が更新され、画面更新前にボタンAがあった位置に別のオブジェクト、例えばボタンBが表示されることがある。
したがって、場合によっては、ユーザは選択しようとしたボタンAではなく、誤ってボタンBを選択してしまい、ボタンBに対応付けられた処理が実行されることがある。
以降では、図16の例のように、画面のデータの取得が完了する前に段階的に画面が表示される場合であっても、意図と異なる操作に応じた処理の実行を抑制することができる通信端末について説明する。
(第1実施形態)
多くの場合、通信端末には、例えばインターネットに接続されたサーバから受信した情報(コンテンツ)を解析し、受信したコンテンツを通信端末の画面に表示する閲覧アプリケーション(ブラウザ)がインストールされている。通信端末の画面に表示されるコンテンツは、例えば画像及び文字等といった画面に表示される構成要素を含む。以降、通信端末の画面に表示されるコンテンツの構成要素の各々を「UI(User Interface)オブジェクト」という。また、コンテンツに対して最終的に表示される画面を「表示画面」という。
多くの場合、通信端末には、例えばインターネットに接続されたサーバから受信した情報(コンテンツ)を解析し、受信したコンテンツを通信端末の画面に表示する閲覧アプリケーション(ブラウザ)がインストールされている。通信端末の画面に表示されるコンテンツは、例えば画像及び文字等といった画面に表示される構成要素を含む。以降、通信端末の画面に表示されるコンテンツの構成要素の各々を「UI(User Interface)オブジェクト」という。また、コンテンツに対して最終的に表示される画面を「表示画面」という。
UIオブジェクトには、テキストまたは画像等、様々な種類が存在するが、UIオブジェクトの中には、例えばボタンまたはチェックボックス等のように、ユーザがマウスやタッチパネルを用いて操作可能な構成要素が含まれる。
以降では、インターネットに接続されたサーバから受信したコンテンツを画面に表示し、コンテンツに含まれるUIオブジェクトのユーザ操作を受け付ける通信端末の処理について説明する。
図1は、第1実施形態に係る通信端末1の構成の一例を示す図である。図1に示すように、通信端末1は、通信部10、描画部20、表示装置30、受付部40、選択処理部50、及び制御部60を含む。
通信部10は、後述する描画部20の分離部21と接続され、例えばインターネットに接続された特定のサーバから指定したコンテンツを受信して分離部21に供給する。
なお、ここでは一例として、コンテンツをインターネット上のサーバから受信するものとして説明するが、コンテンツを特定の組織内ネットワークであるイントラネットから受信するようにしても良い。また、インターネット或いはイントラネットとの接続形態に関しても、有線、無線、又は有線と無線との混在等、何れの接続形態であってもよい。
通信部10で受信したコンテンツは、例えば、通信端末1の画面におけるUIオブジェクトの表示位置、並びに、フォントの種類、大きさ、及び色等といった表示レイアウトを規定するマークアップ言語を用いて作成されていることがある。コンテンツを作成するマークアップ言語としては、例えばHTML(Hyper Text Markup Language)及びCSS(Cascading Style Sheets)が用いられる。なお、コンテンツは、開示の技術の表示画面を構成するデータの一例であり、コンテンツにはマークアップ言語の他、画像データ、動画データおよび音声データ等が含まれてもよい。
HTMLは、どのようなUIオブジェクトを画面に表示するかといった、情報構造に関する指示をブラウザに与える言語である。一方、CSSは、HTMLで指示されたUIオブジェクトを、画面内のどの位置にどのように表示するかといった装飾に関する指示をブラウザに与える言語である。
したがって、描画部20は、通信部10から受信したコンテンツを、HTMLで指定された情報構造と、CSSで指定された装飾と、に分けて各々解析し、指定されたUIオブジェクトを指定された表示レイアウトで表示装置30の画面に描画する。
そのため、描画部20は、分離部21、HTML受信部22、DOMツリー作成部23、CSS受信部24、CSSOMツリー作成部25、レンダーツリー作成部26、レイアウト部27、ペイント部28、及びUIイベント処理部29を含む。なお、「DOM」はDocument Object Modelの略称であり、「CSSOM」は、Cascading Style Sheets Object Modelの略称である。
分離部21は、通信部10、HTML受信部22、及びCSS受信部24に接続される。分離部21は、通信部10から受け付けたコンテンツを、HTMLで記載されている情報(HTML情報)と、CSSで記載されている情報(CSS情報)と、に分離して、HTML情報をHTML受信部22に、CSS情報をCSS受信部24に供給する。
HTML受信部22は、分離部21、DOMツリー作成部23、及びUIイベント処理部29と接続される。
HTML受信部22は、分離部21から受け付けたHTML情報を解析し、コンテンツに含まれるUIオブジェクトが選択された際の処理をUIオブジェクト毎に取得する。HTML受信部22は、取得した各UIオブジェクトに対応する処理内容を、UIオブジェクト名と対応づけてUIイベント処理部29に供給する。
ここで、UIオブジェクト名とは、例えば、HTML情報においてUIオブジェクトを特定するために付与された名称である。例えば、選択された際に関数func1()を実行するボタンを表示するためのコード:<input type=“button” name=“button1” value=“button1”onClick=func1()>の場合、name属性で示される“button1”がUIオブジェクト名である。また、関数func1()が“button1”に対応する処理内容である。
また、HTML受信部22は、分離部21から受け付けたHTML情報を、DOMツリー作成部23が読み取り可能な表記形態に整え、DOMツリー作成部23に供給する。
DOMツリー作成部23は、HTML受信部22及びレンダーツリー作成部26と接続される。
DOMツリー作成部23は、HTML受信部22から受け付けたHTML情報をノード単位に分割する。ここでノードとは、例えば<html>、<body>といったHTMLタグ、HTMLタグ内に記述されている属性(例えば、<A>タグのhref属性や<img>タグのsrc属性)、及びテキスト等、HTML情報を構成する要素の各々をいう。
そして、DOMツリー作成部23は、HTML情報全体を示すdocumentノードをルートとして、HTML情報に含まれるノードの階層構造(DOMツリー)を作成する。DOMツリー作成部23は、作成したDOMツリーをレンダーツリー作成部26に供給する。
一方、CSS受信部24は、分離部21及びCSSOMツリー作成部25と接続される。CSS受信部24は、分離部21から受け付けたCSS情報を、CSSOMツリー作成部25が読み取り可能な表記形態に整え、CSSOMツリー作成部25に供給する。
CSSOMツリー作成部25は、CSS受信部24及びレンダーツリー作成部26と接続される。
CSSOMツリー作成部25は、CSS受信部24から受け付けたCSS情報を解析して、表示レイアウトを規定したCSS構造体(CSSOM)の階層構造(CSSOMツリー)を作成し、作成したCSSOMツリーをレンダーツリー作成部26に供給する。
レンダーツリー作成部26は、DOMツリー作成部23、CSSOMツリー作成部25、及びレイアウト部27と接続される。
レンダーツリー作成部26は、DOMツリー作成部23からDOMツリーを受け付けると共に、CSSOMツリー作成部25からCSSOMツリーを受け付ける。レンダーツリー作成部26は、DOMツリーのノードとCSSOMツリーのCSS構造体を対応付け、各ノードのうち、表示装置30に表示され、視覚的に認識できるノードをCSS構造体と共に表示順に並べた階層構造(レンダーツリー)を作成する。
なお、レンダーツリーは、単に視覚的に認識できるノード、すなわちUIオブジェクトの表示順序を規定した情報であり、UIオブジェクトの大きさや表示装置30の画面におけるUIオブジェクトの表示位置までの規定は行われていない。
レンダーツリー作成部26は、作成したレンダーツリーをレイアウト部27に供給する。
レイアウト部27は、レンダーツリー作成部26、ペイント部28、UIイベント処理部29、及び制御部60と接続される。
レイアウト部27は、レンダーツリー作成部26から受け付けたレンダーツリーのCSS構造体、及び予め規定されている表示装置30の画面サイズ情報から、UIオブジェクトの大きさ及び表示装置30の画面におけるUIオブジェクトの表示位置を決定する。
また、レイアウト部27は、各UIオブジェクトの大きさ、及び画面における表示位置を記録した画面構成情報32を作成する。
図2は、画面構成情報32の一例を示す図である。
画面構成情報32は、各々のUIオブジェクトに対して、例えばHTML情報におけるUIオブジェクト名、UIオブジェクトを特定するための識別子、並びに、UIオブジェクトの高さ及び幅を記録した情報を含む。また、画面構成情報32は、表示装置30の画面におけるUIオブジェクトのX座標及びY座標を記録した情報を含む。なお、図2に示した画面構成情報32に記録される情報は一例であり、例えばUIオブジェクトの描画色等、他の情報が含まれる場合がある。
ここで、UIオブジェクト名は、UIオブジェクトに対応するノードのノード名を表し、UIオブジェクトのX座標及びY座標は、例えば、UIオブジェクトの種類毎に予め定めた位置(例えばボタンであればボタンの左上の位置)の座標を示す。UIオブジェクトのX座標及びY座標は、例えば表示装置30の画面左上を原点として、画面横方向をX軸、画面縦方向をY軸としたXY座標系での座標を示す。このUIオブジェクトの座標を規定する座標系は一例であり、例えば、画面右上を原点とする他の座標系を用いても良いことは言うまでもない。UIオブジェクトのX座標及びY座標は、適用する座標系に応じて設定される。
このように、画面構成情報32は、高さ及び幅の情報によってUIオブジェクトの大きさを示し、X座標及びY座標の情報によって、表示装置30の画面におけるUIオブジェクトの表示位置を示す。
レイアウト部27は、画面構成情報32を作成した後、描画要求をペイント部28に供給する。
ペイント部28は、レイアウト部27及び表示装置30に接続され、レイアウト部27から描画要求を受け付けると、レイアウト部27で作成された画面構成情報32に基づいて、表示装置30の画面にUIオブジェクトを含むコンテンツを描画する。
また、ペイント部28は、UIオブジェクト毎に、表示装置30の画面にUIオブジェクトを描画し終えた時刻(表示時刻)を記録し、画面構成情報32Aを生成する。
図3は、画面構成情報32Aの一例を示す図である。図3に示すように、画面構成情報32Aには各々のUIオブジェクトに対して、表示時刻が対応付けられる。例えば、表示時刻Tn(n=1、2、・・・)は、「10:18:59」のように「時:分:秒」で表されるが、表示時刻Tnの記録形態はこれに限らず、ミリ秒またはマイクロ秒の単位まで記録するようにしても良い。
なお、ここでは一例として、表示装置30の画面にUIオブジェクトを描画し終えた時刻を表示時刻としたが、例えばUIオブジェクトを描画し始めた時刻等を表示時刻としても良い。
UIイベント処理部29は、HTML受信部22、レイアウト部27、及び後述する制御部60と接続される。
前述したHTML受信部22の説明で述べたように、UIイベント処理部29は、各UIオブジェクトに対応する処理内容をHTML受信部22から受け付け、UIオブジェクト毎にUIオブジェクトが選択された場合の処理内容を管理する。
UIイベント処理部29は、例えばユーザが選択した表示装置30の画面上の位置を示す座標を制御部60から受け付けると、レイアウト部27の画面構成情報32Aを参照して、当該座標上に位置するUIオブジェクトを特定する。
具体的には、UIイベント処理部29は、例えば図3に示した画面構成情報32Aの行データ毎に、高さ、幅、X座標、及びY座標の各値を取得し、画面上におけるUIオブジェクトの表示範囲を算出する。そして、UIイベント処理部29は、制御部60から受け付けた座標がUIオブジェクトの表示範囲に含まれる場合に、当該座標を表示範囲に含むUIオブジェクトを、当該座標上に位置するUIオブジェクトとして特定する。
UIイベント処理部29は、特定したUIオブジェクトのUIオブジェクト名に対応する処理内容を参照し、当該処理内容に従った処理を実行する。なお、UIイベント処理部29は、開示の技術における処理部の一例である。
ここで、描画部20でのコンテンツの描画処理について更に説明する。
インターネットに接続されたサーバからコンテンツを取得する場合、通信環境によってコンテンツの取得時間が変動する場合がある。
例えば、通信端末1とインターネットに接続されたサーバとを接続する通信回線の通信帯域が狭くなるにつれて、コンテンツ全体を取得し終えるまでに要する時間が長くなることがある。また、当該通信回線として無線回線を用いている場合には、電波の受信状況が悪くなるにつれて、コンテンツ全体を取得し終えるまでに要する時間が長くなることがある。
一般的に、コンテンツの取得を指示してから表示装置30にコンテンツが描画され始めるまでの表示待ち時間が長くなるにつれて、表示待ち時間に対するストレスを感じるユーザの数が増加する。
したがって、描画部20では、コンテンツ全体を取得し終わってからコンテンツの描画を開始するのではなく、コンテンツの一部分でも取得できれば、その都度、画面構成情報32を作成し、コンテンツの描画の更新を行う。こうすることで、通信端末1は、受信したコンテンツを受信状況に合わせて段階的に表示装置30の画面に表示する。
一方、受付部40は、図示しない入力装置及び選択処理部50と接続され、ユーザが選択した表示装置30の画面上の座標(タッチイベント座標)を、図示しない入力装置から受け付ける。
入力装置としては、例えば表示装置30の画面上に設置されたタッチパネルが用いられるが、入力装置はタッチパネルに限定されない。例えば、マウスまたは視線検知装置等、表示装置30の画面の位置が指定できる装置であれば何れの装置も入力装置として用いることができる。
受付部40は、タッチイベント座標を図示しない入力装置から受け付けると、当該タッチイベント座標を選択処理部50に供給する。
選択処理部50は、タッチイベント受信部51、ジェスチャ変換部52、及びジェスチャ配信部53を含み、受付部40から受信したタッチイベント座標をジェスチャ座標に変換して、制御部60に供給する。
例えば、ユーザがタッチパネルを指で押下して表示装置30の画面の一部を選択している最中にユーザの指が動いてしまうことがある。この場合、選択処理部50は、ユーザの1回の選択操作で複数のタッチイベント座標を受信してしまい、ユーザが選択しようとした画面上の位置が不明確となる状況が発生する。したがって、選択処理部50は、ユーザが1回の選択操作に要すると考えられる期間(選択期間)に受付部40から受信したタッチイベント座標に基づいて、ユーザが選択しようとした画面上の座標、すなわちジェスチャ座標を算出する。
タッチイベント受信部51は、受付部40及びジェスチャ変換部52と接続される。タッチイベント受信部51は、タッチイベント座標を受け付けると、タッチイベント座標を受信してから選択期間が経過するまでに、複数のタッチイベント座標を受信したか確認した上で、受信したタッチイベント座標をジェスチャ変換部52に供給する。選択期間に複数のタッチイベント座標を受信した場合には、タッチイベント受信部51は、選択期間に受信した全てのタッチイベント座標をジェスチャ変換部52に供給する。
ジェスチャ変換部52は、タッチイベント受信部51及びジェスチャ配信部53と接続され、タッチイベント受信部51から受け付けたタッチイベント座標をジェスチャ座標に変換する。なお、タッチイベント座標からジェスチャ座標への変換方法に制限はなく、例えば、複数のタッチイベント座標の平均座標をジェスチャ座標とする等の方法が用いられる。また、その他の変形例として、タッチイベント座標をそのままジェスチャ座標として扱っても良い。換言すると、ジェスチャ変換部52を省略し、タッチイベント受信部51が受付部40から受け付けたタッチイベント座標をそのままジェスチャ座標としてジェスチャ配信部53へ供給しても良い。
ジェスチャ変換部52は、算出したジェスチャ座標をジェスチャ配信部53に供給する。
ジェスチャ配信部53は、ジェスチャ変換部52及び制御部60に接続される。ジェスチャ配信部53は、ジェスチャ変換部52から受け付けたジェスチャ座標を制御部60に供給することで、ユーザによって特定のUIオブジェクトが選択されたことを制御部60に通知する。
制御部60は、ジェスチャ配信部53、UIイベント処理部29、及びレイアウト部27と接続される。制御部60は、ジェスチャ配信部53からジェスチャ座標を受け付けると、ユーザによって選択されたUIオブジェクトを、当該ジェスチャ座標及び画面構成情報32Aを用いて特定する。
そして、制御部60は、受け付けたジェスチャ座標が、選択されたUIオブジェクトの表示時刻から所定期間が経過するまでに受け付けたジェスチャ座標であれば当該ジェスチャ座標を破棄する。一方、制御部60は、受け付けたジェスチャ座標が、選択されたUIオブジェクトの表示時刻から所定期間が経過した後に受け付けたジェスチャ座標であれば、当該ジェスチャ座標をUIイベント処理部29に供給する。以後、UIイベント処理部29は、前述した処理を行い、選択されたUIオブジェクトに対応付けられた処理を実行する。
このようにして通信端末1は、通信回線を経由して取得したコンテンツを表示装置30の画面に描画すると共に、ユーザが選択した画面上のUIオブジェクトを認識し、UIオブジェクトに対応付けられた処理を実行する。
なお、描画部20は、通信端末1にインストールされたブラウザによって実現されることがある。また、通信端末1は、例えばスマートフォン、タブレット端末、またはパーソナルコンピュータ等、ダウンロードしたコンテンツを画面を表示可能な機器が想定される。
次に、図4に、通信端末1をコンピュータで実現する場合の構成図の一例を示す。
コンピュータ100は、CPU102、メモリ104、及び不揮発性の記憶部106を含む。CPU102、メモリ104、及び不揮発性の記憶部106は、バス108を介して互いに接続される。また、コンピュータ100は、入力装置112、通信装置114、及び表示装置30と、コンピュータ100と、を接続してデータを送受信するI/O(Input/Output)110を備え、I/O110はバス108に接続される。
入力装置112は、例えばマウス及びタッチパネル等の、コンピュータ100のユーザがコンピュータ100に表示装置30の画面上の選択位置を指示する入力デバイスを含んでも良い。また、入力装置112は、例えばCD−ROM又はフラッシュメモリ等の記録媒体116に記録されるデータを読み取るための読み取り装置を含むこともできる。
通信装置114は、例えばインターネット等の通信回線に接続されたサーバとデータを送受信するための通信プロトコルを含み、後述する通信プロセスの指示に基づいて、指定されたサーバからコンテンツを受信する。なお、図4の例では、通信装置114をコンピュータ100と独立した装置として示しているが、通信装置114をコンピュータ100に内蔵するようにしても良い。同様に、表示装置30及び入力装置112をコンピュータ100に内蔵するようにしても良い。
なお、記憶部106は、HDD(Hard Disk Drive)又はフラッシュメモリ等によって実現できる。
記憶部106には、コンピュータ100を図1に示す通信端末1として機能させるための機器制御プログラム120が記憶される。記憶部106に記憶される機器制御プログラム120は、通信プロセス122、描画プロセス124、受付プロセス126、選択処理プロセス128、及び制御プロセス130を含む。
CPU102は、機器制御プログラム120を記憶部106から読み出してメモリ104に展開し、機器制御プログラム120に含まれる各プロセスを実行することで、コンピュータ100が図1に示す通信端末1として動作する。
また、CPU102が通信プロセス122を実行することで、コンピュータ100が図1に示す通信部10として動作する。また、CPU102が描画プロセス124を実行することで、コンピュータ100が図1に示す描画部20として動作する。また、CPU102が受付プロセス126を実行することで、コンピュータ100が図1に示す受付部40として動作する。また、CPU102が選択処理プロセス128を実行することで、コンピュータ100が図1に示す選択処理部50として動作する。また、CPU102が制御プロセス130を実行することで、コンピュータ100が図1に示す制御部60として動作する。
なお、コンピュータ100は、例えば半導体集積回路、より詳しくはASIC(Application Specific Integrated Circuit)等で実現することも可能である。また、CPU102には時刻を管理するカレンダ機能が内蔵され、機器制御プログラム120に含まれる各プロセスは、予め用意されたAPI(Application Programming Interface)を用いることで、現在時刻をCPU102から取得することができる。
次に、第1実施形態に係る通信端末1の作用について説明する。通信端末1における描画部20のペイント部28は、通信部10から受信したコンテンツを表示装置30の画面に描画するペイント処理を実行する。
図5は、ペイント部28におけるペイント処理の流れの一例を示すフローチャートである。
ステップS100において、ペイント部28は、描画要求をレイアウト部27から受信したか否かを判定し、描画要求を受信していない場合、すなわち、否定判定の場合には、描画要求をレイアウト部27から受信するまでステップS100の処理を繰り返す。一方、描画要求を受信した場合、すなわち、肯定判定の場合には、ステップS110に移行する。
ステップS110において、ペイント部28は、レイアウト部27で作成された画面構成情報32に基づいて、表示装置30の画面にUIオブジェクトを含むコンテンツを描画する。なお、レイアウト部27によって生成された画面構成情報32は、例えばメモリ104の予め定めた領域に記憶されている。この際、ペイント部28は、UIオブジェクト毎の表示時刻を、例えばメモリ104の予め定めた領域に記憶する。
ステップS120において、ペイント部28は、ステップS110でメモリに記憶した表示時刻を、画面構成情報32の対応するUIオブジェクトの表示時刻欄に追加して、画面構成情報32Aを生成し、ペイント処理を終了する。なお、図5に示すペイント処理の流れは一例であり、その変形例として、ステップS110とステップS120との実行順序を逆転させても良い。
一方、制御部60は、タッチパネルが配置された表示装置30の画面をユーザが押下した際にジェスチャ配信部53から配信されるジェスチャ座標の配信を、UIイベント処理部29に配信するか否かを制御する配信制御処理を実行する。
図6は、制御部60における配信制御処理の流れの一例を示すフローチャートである。
ステップS200において、制御部60は、ジェスチャ座標をジェスチャ配信部53から受信したか否かを判定する。ジェスチャ座標をジェスチャ配信部53から受信していない場合、すなわち、ステップS200の判定処理が否定判定の場合には、ジェスチャ座標をジェスチャ配信部53から受信するまでステップS200の処理を繰り返す。一方、ジェスチャ座標をジェスチャ配信部53から受信した場合、すなわち、ステップS200の判定処理が肯定判定の場合には、ステップS210に移行する。
ステップS210において、制御部60は、図5のステップS120で生成された画面構成情報32Aを参照して、画面構成情報32Aに含まれるUIオブジェクトの中から、ジェスチャ座標上に位置するUIオブジェクトを特定する。
ステップS220において、制御部60は、APIを用いて現在時刻をCPU102から取得する。なお、現在時刻の取得方法はこれに限られず、例えばインターネットに接続されている時刻サーバから取得するようにしても良い。
ステップS230において、制御部60は、メモリ104の予め定めた領域に予め記憶されている閾値を取得する。
この閾値は、何れかのUIオブジェクトが画面に表示されてから、ユーザによって当該UIオブジェクトが選択されるまでの時間が当該閾値以下の場合、コンテンツの更新によってオブジェクトの誤選択が発生する可能性が高くなると考えられる値に設定される。
そして、制御部60は、ステップS220で取得した現在時刻からステップS210で特定したUIオブジェクトの表示時刻を引いた時間差(選択時間差)を算出し、選択時間差が閾値以下であるか否かを判定する。選択時間差が閾値以下である場合、すなわち、ステップS230の判定処理が肯定判定の場合にはステップS240に移行する。
ステップS230の判定処理が肯定判定であるということは、画面にUIオブジェクトが表示されてから、閾値によって示される所定期間が経過するまでの間に、ユーザが当該UIオブジェクトを誤って選択した可能性があることを意味する。
ユーザは画面に表示されたコンテンツ内容を確認した上で、ユーザが所望する処理に対応したボタン等のUIオブジェクトを選択する。すなわち、人間の知覚運動過程において、画面に表示されたコンテンツ内容からの視覚刺激を知覚し、判断や反応選択、反応の運動実行などの種々の処理過程による反応時間(例えば数百ミリ秒)が存する。したがって、制御部60は、通常であればUIオブジェクトが画面に表示されてから閾値で表される所定期間が経過した後に、ジェスチャ座標を受信する。一方、UIオブジェクトが画面に表示されてから、閾値で表される所定期間内にUIオブジェクトが選択される状況は、ユーザがUIオブジェクトを選択する直前に、画面上のコンテンツが更新されたためであると考えることができる。
すなわち、ユーザは、表示装置30の画面に表示されている画面更新後のジェスチャ座標上に位置するUIオブジェクトを選択しようとしたのではなく、画面更新前のジェスチャ座標上に位置するUIオブジェクトを選択しようとしたと考えることができる。
したがって、ステップS240において、制御部60は、ステップS200で受信したジェスチャ座標を破棄して、図6に示す配信制御処理を終了する。
一方、選択時間差が閾値より大きい場合、すなわち、ステップS230の判定処理が否定判定の場合には、ステップS250に移行する。
この場合、画面にUIオブジェクトが表示されて所定期間が経過した後に、ユーザが当該UIオブジェクトを選択していることから、ユーザは自らの意思によって当該UIオブジェクトを選択したと考えられる。
したがって、ステップS250において、制御部60は、ステップS200で受信したジェスチャ座標をUIイベント処理部29に出力する。UIイベント処理部29は、ジェスチャ座標を制御部60から受け付けると、ジェスチャ座標上に位置するUIオブジェクトに対応した処理を実行する。
図7は、選択時間差が閾値以下の場合における、通信端末1でのUIオブジェクト選択動作の例を示す図である。ユーザが画面更新前の表示装置30のボタンAを押下しようとした際に画面が更新され、画面更新後においてボタンBを押下してしまった場合でも、通信端末1は、ボタンBの押下に対応したジェスチャ座標を破棄する。したがって、ユーザが選択しようと意図したボタンAとは異なるボタンBに対応した処理を抑制することができる。
このように第1実施形態に係る通信端末1によれば、コンテンツに含まれるUIオブジェクトの表示時刻を記録する。そして、通信端末1は、ユーザが画面を選択した際に通知されるジェスチャ座標上に位置するUIオブジェクトの表示時刻と、ジェスチャ座標の受信時刻と、から選択時間差を算出し、選択時間差が閾値以下であれば、ジェスチャ座標を破棄する。
したがって、通信端末1は、例えばインターネットに接続されたサーバからコンテンツを受信する際の受信状況が悪く、コンテンツが断片的に受信され、画面が順次更新される場合でも、ユーザの意図と異なる操作に応じた処理の実行を抑制することができる。
また、通信端末1は、コンテンツの受信速度の変化に応じて閾値を変化させることで、画面の更新頻度に応じた閾値を設定する。したがって、閾値を固定した場合と比較して、画面の更新に伴い、ユーザの意図と異なる操作に応じた処理の実行を更に抑制することができる。
(第2実施形態)
第1実施形態では、選択時間差が閾値以下であれば、画面の押下に伴って通知されるジェスチャ座標を破棄することで、ユーザが選択しようとしたUIオブジェクトと異なる他のUIオブジェクトが選択されないようにした。
第1実施形態では、選択時間差が閾値以下であれば、画面の押下に伴って通知されるジェスチャ座標を破棄することで、ユーザが選択しようとしたUIオブジェクトと異なる他のUIオブジェクトが選択されないようにした。
第2実施形態では、選択時間差が閾値以下の場合に、画面の押下に伴って通知されるジェスチャ座標を補正することで、ユーザが選択しようとしたUIオブジェクトと異なる他のUIオブジェクトが選択されないようにする。
図8は、第2実施形態に係る通信端末2の構成の一例を示す図である。第2実施形態に係る通信端末2の構成が、図1に示した第1実施形態に係る通信端末1の構成と異なる点は、制御部60が制御部60Aに置き換えられると共に、レイアウト部27がレイアウト部27Aに置き換えられた点である。また、ペイント部28がペイント部28Aに置き換えられる。レイアウト部27及びペイント部28がそれぞれレイアウト部27A及びペイント部28に置き換えられたことに伴い、描画部20が描画部20Aに置き換えられる。
以下では、通信端末1と異なる点を中心に第2実施形態に係る通信端末2の説明を行う。通信端末1と同様の点については、説明を省略する。
レイアウト部27Aは、レンダーツリー作成部26、ペイント部28、UIイベント処理部29、及び制御部60Aと接続される。
レイアウト部27Aは、第1実施形態に係るレイアウト部27の処理と同様の処理を実行する。ただし、レイアウト部27Aは、作成した画面構成情報32をリングバッファに記憶する。
ペイント部28Aも、第1実施形態に係るペイント部28の処理と同様の処理を実行するが、リングバッファに記憶されている最新の画面構成情報32に含まれるUIオブジェクト毎に表示時刻を記録して画面構成情報32Aを生成する。
一方、制御部60Aは、レイアウト部27、UIイベント処理部29、及びジェスチャ配信部53と接続される。
制御部60Aは、ジェスチャ配信部53からジェスチャ座標を受け付けると、リングバッファに記憶されている画面構成情報32Aのうち、表示装置30に表示中のコンテンツに対応した最新の画面構成情報32Aを参照する。そして、制御部60Aは、ジェスチャ座標上に位置するUIオブジェクトを当該最新の画面構成情報32Aから特定する。
また、制御部60Aは、ジェスチャ座標上に位置するUIオブジェクトに対する選択時間差を算出する。選択時間差が閾値以下であれば、制御部60Aは、リングバッファに記憶されている最新の画面構成情報32A以外の他の画面構成情報32Aの各々を参照し、ジェスチャ座標上に位置するUIオブジェクトを当該他の画面構成情報32Aの各々から特定する。
以降では、最新の画面構成情報32Aを用いて特定した、ジェスチャ座標上に位置するUIオブジェクトを「表示UIオブジェクト」という。また、最新の画面構成情報32A以外の他の画面構成情報32Aを用いて特定した、ジェスチャ座標上に位置するUIオブジェクトを「比較UIオブジェクト」という。
制御部60Aは、各々の比較UIオブジェクトの中に表示UIオブジェクトの識別子と異なるUIオブジェクトが少なくとも1つ含まれる場合に、ジェスチャ座標を補正する。具体的には、制御部60Aは、最新の画面構成情報32Aにおいて、ジェスチャ座標が比較UIオブジェクトと同じ識別子を有するUIオブジェクトの表示領域に含まれるように、ジェスチャ座標を補正する。
次に、通信端末2をコンピュータで実現する場合の構成について説明する。通信端末2をコンピュータで実現する場合の構成は図4と同様の構成となるが、描画部20が描画部20Aに置き換えられることに伴い、描画プロセス124が描画プロセス124Aに置き換えられる。また、制御部60が制御部60Aに置き換えられることに伴い、制御プロセス130が制御プロセス130Aに置き換えられる。
また、描画プロセス124A及び制御プロセス130Aへの置き換えに伴い、機器制御プログラム120が機器制御プログラム120Aに置き換えられる。
CPU102は、機器制御プログラム120Aを記憶部106から読み出してメモリ104に展開し、機器制御プログラム120Aに含まれる各プロセスを実行することで、コンピュータ100Aが通信端末2として動作する。
また、CPU102が描画プロセス124Aを実行することで、コンピュータ100Aが図8に示す描画部20Aとして動作する。また、CPU102が制御プロセス130Aを実行することで、コンピュータ100Aが図8に示す制御部60Aとして動作する。
なお、コンピュータ100Aは、例えば半導体集積回路、より詳しくはASIC等で実現することも可能である。
次に、第2実施形態に係る通信端末2の作用について説明する。なお、ペイント部28Aの処理によって、リングバッファには既に画面更新毎の画面構成情報32Aが記憶されているものとする。
ここで、リングバッファとは、複数の記憶領域を用いてデータを記憶する記憶形態の1つであり、具体的には、例えばメモリ104の予め定めた領域に、記憶領域の配列として生成される。
図9は、リングバッファ6を用いた画面構成情報32Aの記憶管理の一例を示す図である。図9では、リングバッファ6の記憶領域の数をn(nは2以上の整数)としている。
図9(A)に示すように、レイアウト部27Aは、始めに配列番号0の記憶領域に画面構成情報32を記憶し、その後、配列番号1の記憶領域、配列番号2の記憶領域、・・・の順に画面構成情報32を記憶する。なお、レイアウト部27Aは、前回記憶した画面構成情報32の記憶先(最新領域)を示すインデックス5を管理する。
図9(A)の例では、インデックス5が配列番号6の記憶領域を示していることから、配列番号6の記憶領域に最新の画面構成情報32Aが記憶されている。また、レイアウト部27Aは、インデックス5に基づいて、次に記憶する画面構成情報32の記憶先を判定する。図9(A)の例では、インデックス5が配列番号6の記憶領域を示していることから、レイアウト部27Aは、配列番号6の次の配列番号、すなわち、配列番号7の記憶領域に、次の画面構成情報32を記憶する。
図9(B)に示すように、レイアウト部27Aは、リングバッファ6の全ての記憶領域に画面構成情報32を記憶すると、画面構成情報32の書込み先を配列番号が最も小さい記憶領域、すなわち、配列番号0の記憶領域に戻す。そして、図9(C)に示すように、レイアウト部27Aは、配列番号0の記憶領域から配列番号(n−1)の記憶領域に向かって順に画面構成情報32を上書きしながら、n個分の画面構成情報32を記憶する処理を繰り返す。
ペイント部28Aは、コンテンツの描画毎にインデックス5を参照し、最新領域の画面構成情報32に含まれるUIオブジェクト毎に、表示装置30の画面にUIオブジェクトを描画し終えた時刻(表示時刻)を記録し、画面構成情報32Aを生成する。したがって、リングバッファ6には、画面構成情報32Aが時系列に沿って記憶される。なお、レイアウト部27Aは、通信端末2が起動する際、リングバッファ6に含まれる各記憶領域を予め定めた値(初期値)で初期化する。
制御部60Aは、タッチパネルが配置された表示装置30の画面をユーザが押下した際に、ジェスチャ配信部53から配信されるジェスチャ座標を状況に応じて補正した上でUIイベント処理部29に配信する配信制御処理を実行する。
図10は、制御部60Aにおける配信制御処理の流れの一例を示すフローチャートである。
ステップS200〜S230、及びS250については、図6に示した第1実施形態に係る配信制御処理と同様であるため説明を省略する。
図10に示す配信制御処理の場合、ステップS230の判定処理において、選択時間差が閾値以上である場合には、ステップS260に移行する。
ステップS260において、制御部60Aは、画面に表示中のコンテンツに対応した、リングバッファ6のインデックス5が指し示す最新の画面構成情報32Aを参照する。そして、制御部60Aは、最新の画面構成情報32Aの中から、ステップS210の処理で特定したUIオブジェクト、すなわち表示UIオブジェクトの識別子をメモリ104に記憶する。
ステップS270において、制御部60Aは、表示UIオブジェクトの選択に関して誤選択の可能性があるか推定する。そして、制御部60Aは、誤選択の可能性が推定される場合、ユーザが本来選択しようとしたUIオブジェクトの表示領域にジェスチャ座標が含まれるようにジェスチャ座標を補正するジェスチャ座標補正処理を実行する。
図11は、制御部60Aにおけるジェスチャ座標補正処理の流れの一例を示すフローチャートである。
まず、ステップS400において、制御部60Aは、ステップS410〜S470の処理の繰り返し数を表す探索回数Pを0に初期化する。
ステップS410において、制御部60Aは、探索回数Pがリングバッファ6に含まれる記憶領域の数nと一致するか否かを判定する。なお、後述するように、制御部60Aがリングバッファ6に含まれる各画面構成情報32Aに対して、ステップS410〜S470の処理を実行した場合に、探索回数Pがリングバッファ6に含まれる記憶領域の数nと一致する。すなわち、ステップS410の判定処理は、リングバッファ6に含まれる画面構成情報32Aを処理対象としたステップS410〜S470のループ処理の終了判定として機能する。
ステップS410の判定処理が否定判定の場合、すなわち、探索回数Pがリングバッファ6に含まれる記憶領域の数nと異なる場合には、ステップS420に移行する。
ステップS420において、制御部60Aは、探索回数Pが“0”であるか否かを判定し、探索回数Pが“0”の場合にはステップS470に移行する。
図11に示すジェスチャ座標補正処理の実行直後は、ステップS400で探索回数が“0”に初期化されるため、ステップS420の判定処理ではステップS470に移行することになる。
ステップS470において、制御部60Aは探索回数Pを1つ増加し、ステップS410に移行する。こうして探索回数Pが1以上になると、ステップS420の判定処理ではステップS430に移行することになる。
ステップS430において、制御部60Aはリングバッファ6を参照して、配列番号が[最新領域の配列番号−P]で表される記憶領域(比較対象領域)に画面構成情報32Aが記憶されているか、すなわち空き領域でないか確認する。なお、最新領域の配列番号はインデックス5から取得することができる。また、記憶領域が空き領域であるか否かは、通信端末2が起動する際に、記憶領域に設定した初期値が記憶されているか否かによって判定することができる。制御部60Aは、記憶領域に初期値が記憶されていれば空き領域であると判定する。
また、制御部60Aは、[最新領域の配列番号−P]が負値sとなった場合、配列番号が(n−|s|)で表される記憶領域を比較対象領域として、当該比較対象領域に画面構成情報32Aが記憶されているか確認する。記号“|s|”は負値sの絶対値を示す。
ステップS430の判定処理が否定判定、すなわち、比較対象領域が空き領域の場合、これ以降の比較対象領域には画面構成情報32Aが含まれていないことになるため、ユーザは当初から表示UIオブジェクトを選択しようとしたと推定できる。したがって、ステップS410〜S470のループ処理を終了してステップS490に移行する。一方、肯定判定、すなわち、比較対象領域に画面構成情報32Aが記憶されている場合には、ステップS440に移行する。
ステップS440において、制御部60Aは、画面構成情報32AをステップS430で選択した比較対象領域から取得する。ステップS440で制御部60Aが取得する画面構成情報32Aは、表示装置30の画面に現在表示されているコンテンツに対応した最新の画面構成情報32Aではなく、過去のコンテンツ描画に対応した画面構成情報32Aである。
ステップS450において、制御部60Aは、ステップS440で取得した比較対象領域の画面構成情報32Aを参照して、当該画面構成情報32Aに含まれるUIオブジェクトの中から、ジェスチャ座標上に位置するUIオブジェクトを特定する。なお、ステップS450で、比較対象領域の画面構成情報32Aから特定されたUIオブジェクトを、「比較UIオブジェクト」という。
ステップS460において、制御部60Aは、図10のステップS260でメモリ104に記憶した表示UIオブジェクトの識別子と、ステップS450で特定した比較UIオブジェクトの識別子が一致するか否かを判定する。当該判定が肯定判定の場合、すなわち、表示UIオブジェクトの識別子と比較UIオブジェクトの識別子が一致する場合は、ステップS470に移行する。なお、図11に示すジェスチャ座標補正処理の変形例として、当該ステップS460の判定で肯定判定の場合に、ステップS410乃至ステップS470のループ処理を終了させて、ステップS490へ移行しても良い。短時間(たとえばステップS230の閾値で表される所定期間)に複数回の画面の更新が生じていないときは、一つ前の時点の画面構成情報32Aから特定される比較UIオブジェクトと表示UIオブジェクトとが一致していると判定することで、ユーザが意図したUIオブジェクトが選択されたとみなせるためである。
一方、否定判定の場合、すなわち、表示UIオブジェクトの識別子と比較UIオブジェクトの識別子が一致しない場合は、ステップS480に移行する。この場合、ジェスチャ座標上に位置するUIオブジェクトが更新されたことを意味するため、ユーザは比較UIオブジェクトを選択しようとした際にコンテンツが更新され、表示UIオブジェクトを誤って選択したものと推定できる。したがって、ステップS480で、最新の画面構成情報32Aにおいて、ジェスチャ座標が比較UIオブジェクトと同じ識別子を有するUIオブジェクトの表示領域に含まれるように、ジェスチャ座標の補正量を算出する補正量算出処理を実行する。なお、補正量算出処理の詳細については後ほど説明する。
リングバッファ6に含まれる何れの比較対象領域の比較UIオブジェクトの識別子も表示UIオブジェクトの識別子と一致する場合、ステップS410〜S470の処理が繰り返され、探索回数Pがリングバッファ6に含まれる記憶領域の数nと一致する。したがって、ステップS410の判定処理ではステップS490に移行する。
この場合、リングバッファ6に記憶される何れの画面構成情報32Aも、ジェスチャ座標上に同じUIオブジェクトが位置していることを意味している。したがって、ユーザは当初から表示UIオブジェクトを選択しようとしたと推定される。
したがって、ステップS490において、制御部60Aは、図10のステップS200で受信したジェスチャ座標をUIイベント処理部29に出力する。UIイベント処理部29は、ジェスチャ座標を制御部60Aから受け付けると、ジェスチャ座標上に位置する表示UIオブジェクトに対応した処理を実行する。
一方、図12は、図11のステップS480における補正量算出処理の流れの一例を示すフローチャートである。
まず、ステップS500において、制御部60Aは、図11のステップS460の判定処理で、表示UIオブジェクトとは異なる識別子を有すると判定された比較UIオブジェクトの識別子を取得する。そして、制御部60Aは、最新の画面構成情報32Aを参照して、当該取得した識別子と同じ識別子を有するUIオブジェクト(選択先UIオブジェクト)を特定する。
また、制御部60Aは、最新の画面構成情報32Aを参照して、選択先UIオブジェクトのX座標と、表示UIオブジェクトのX座標と、の差分ΔXを算出する。更に、制御部60Aは、最新の画面構成情報32Aを参照して、選択先UIオブジェクトのY座標と、表示UIオブジェクトのY座標と、の差分ΔYを算出する。
ステップS510において、制御部60Aは、図10のステップS200で受信したジェスチャ座標のX座標に、ステップS500で算出した差分ΔXを加算すると共に、ジェスチャ座標のY座標に、同じくステップS500で算出した差分ΔYを加算する。
差分ΔX及び差分ΔYが加算されたジェスチャ座標は、表示UIオブジェクトの表示領域ではなく、選択先UIオブジェクトの表示領域に含まれる。
したがって、ステップS520において、制御部60Aは、ステップS510でジェスチャ座標に差分ΔX及び差分ΔYを加算した補正ジェスチャ座標を、UIイベント処理部29に出力する。UIイベント処理部29は、補正ジェスチャ座標を制御部60Aから受け付けると、最新の画面構成情報32Aを参照して、補正ジェスチャ座標上に位置するUIオブジェクト、すなわち選択先UIオブジェクトに対応した処理を実行する。
以上により、図10に示した制御部60Aにおける配信制御処理が終了する。
なお、図11のステップS400では、探索回数Pを0に初期化する例を示したが、探索回数Pの初期化方法はこれに限定されない。例えば、探索回数Pを1に初期化するようにしても良い。この場合、ステップS420の判定処理は不要となる。
また、リングバッファ6の記憶領域の数nが大きく設定されるにつれて、記憶領域の中に、現在の時刻から図10のステップS230で用いた閾値だけ遡った時刻より前に記憶された画面構成情報32Aが記憶される可能性が大きくなる。
現在の時刻から閾値だけ遡った時刻より前に記憶された画面構成情報32Aに含まれるUIオブジェクトについては、UIオブジェクトが表示されてからユーザが選択するまでの期間が比較的長い。したがって、コンテンツの更新によるUIオブジェクトの誤選択の判定対象に含まなくてもよい。
したがって、図13に示すように、ステップS450とステップS460の間にステップS455を設け、現在時刻から比較UIオブジェクトの表示時刻を引いた選択時間差が閾値より大きい場合には、ステップS410〜S470のループ処理を終了しても良い。
具体的には、ステップS455において、制御部60Aは、ステップS450で特定した比較UIオブジェクトの表示時刻と、図10のステップS220で取得した現在時刻と、に基づいて選択時間差を算出する。そして、制御部60Aは、算出した選択時間差が図10のステップS230の判定処理で用いた閾値以下であるか否かを判定する。選択時間差が閾値以下、すなわち、肯定判定の場合にはステップS460に移行し、比較UIオブジェクトの識別子と表示UIオブジェクトの識別子とが一致するか判定する。
一方、選択時間差が閾値より大きい場合、すなわち、否定判定の場合には、ステップS490に移行する。これは、ステップS230の閾値で表される所定期間に亘って、比較UIオブジェクトの識別子と表示UIオブジェクトの識別子が一致している場合には、ユーザが意図したUIオブジェクトが選択されたとみなせるためである。
このように、制御部60Aは、表示時刻から算出した選択時間差が閾値より大きくなる比較UIオブジェクトを、UIオブジェクトの誤選択の判定対象に含めないようにすることで、ジェスチャ座標を補正するか否かの判定精度を向上することができる。また、リングバッファ6に記憶される全ての画面構成情報32Aについて比較UIオブジェクトの識別子と表示UIオブジェクトの識別子を比較する場合に比べて、ジェスチャ座標補正処理に要する時間を短縮することができる。
更に、UIオブジェクトの誤選択の判定対象に、現在時刻より前の所定期間に記憶された画面構成情報32Aだけを含めるようにする他の変形例として、閾値で表される所定期間が経過したタイミングでリングバッファ6を初期化する方法が考えられる。
この場合、例えばペイント部28Aは、コンテンツの描画毎に、コンテンツの描画が完了したことを通知する描画完了通知を制御部60Aに出力する。
制御部60Aは、リングバッファ6に画面構成情報32Aが1つ含まれ、かつ、描画完了通知をペイント部28Aから受け付けたタイミングでタイマを起動する。当該タイマのタイムアウト時間は、ステップS230の判定の際に用いる閾値に設定される。
タイマがタイムアウトするまでにコンテンツの更新が行われた場合、更新したコンテンツに応じた画面構成情報32Aがリングバッファ6に記憶される。しかし、制御部60Aは、タイマがタイムアウトした際にリングバッファ6の各記憶領域を初期値で初期化し、リングバッファ6に記憶されていた画面構成情報32Aを消去する。
すなわち、リングバッファ6には、現在時刻より前の閾値で表される所定期間に記憶された画面構成情報32Aだけが含まれる。したがって、図11に示すジェスチャ座標補正処理において、閾値で表される所定期間が経過したタイミングでリングバッファ6を初期化しない場合と比較して、ジェスチャ座標を補正するか否かの判定精度を向上することができる。
図14は、選択時間差が閾値以下の場合で、かつ、表示UIオブジェクトと比較UIオブジェクトとが異なる場合における、通信端末2でのUIオブジェクト選択動作の例を示す図である。図14の例では、ボタンAが比較UIオブジェクトであり、ボタンBが表示UIオブジェクトである。
ユーザがボタンAを押下しようとした際に画面が更新され、画面更新後にボタンBを押下してしまった場合でも、通信端末2は、ボタンBを押下した際のジェスチャ座標を、画面更新後のボタンAの表示領域内に補正する。したがって、ボタンBに対応した処理は実行されず、ユーザが選択しようとしたボタンAに対応した処理が実行されるため、ユーザの意図と異なる操作に応じた処理の実行を抑制することができる。
このように第2実施形態に係る通信端末2によれば、リングバッファ6を用いてコンテンツの描画更新毎に生成される画面構成情報32Aを時系列に沿って管理する。そして、通信端末2は、UIオブジェクトの選択時間差が閾値以下の場合で、かつ、表示UIオブジェクトと比較UIオブジェクトとが異なる場合、表示中の画面内で比較UIオブジェクトと同じUIオブジェクトを示すようにジェスチャ座標を補正する。
したがって、通信端末2は、例えばインターネットに接続されたサーバからコンテンツを受信する際の受信状況が悪く、コンテンツが断片的に受信され、画面が順次更新される場合であっても、ユーザは正しいUIオブジェクトを選択することができる。すなわち、画面の更新に伴う、ユーザの意図と異なる操作に応じた処理の実行を抑制することができる。
なお、各実施形態では、UIオブジェクト毎に表示時刻を記録し、画面構成情報32Aを生成した。しかし、画面構成情報32Aにおける表示時刻の記録方法はこれに限られない。
例えば、UIオブジェクト個々の描画終了時刻ではなく、受信した時点におけるコンテンツに含まれる全てのUIオブジェクトを描画して、画面の更新が終了した時刻を表示時刻として記録するようにしても良い。
図15は、画面構成情報32Aの変形例(画面構成情報32B)を示す図である。図15に示すように、例えば画面の更新が終了した時刻をT1とすれば、各UIオブジェクトの表示時刻はT1で表される。
この場合、UIオブジェクト毎に表示時刻を記録する必要がないため、画面構成情報32AのようにUIオブジェクト毎に表示時刻を記録する場合に比べて、画面構成情報32Aを生成する描画部20、20Aの負荷が軽減される。
このように、画面構成情報32Aにおける表示時刻には、コンテンツの描画処理における任意の時点の時刻を用いることができる。
また、図6及び図10におけるステップS230の判定に用いる閾値は固定値ではなく、コンテンツの受信スループットに応じて変更するようにしても良い。
例えば、通信回線におけるコンテンツの受信状況が悪くなり、コンテンツの受信スループットが遅くなるにつれて、表示画面の描画完了までに要する時間が長くなる。したがって、コンテンツの受信スループットが現状の受信スループットより速い場合と比較して、ユーザがUIオブジェクトを選択する直前に画面が更新される可能性が高くなる。
そこで、コンテンツの描画完了に要する時間の延長にあわせて閾値を大きくすることで、図6及び図10におけるステップS230の判定処理で選択時間差が閾値以下となる確率が大きくなる。したがって、ユーザの意図と異なる操作に応じた処理の実行を更に抑制することができる。
一方、通信回線におけるコンテンツの受信状況が改善され、コンテンツの受信スループットが速くなるにつれて、表示画面の描画完了までに要する時間が短くなる。したがって、コンテンツの受信スループットが現状の受信スループットより遅い場合と比較して、ユーザがUIオブジェクトを選択する直前に画面が更新される可能性が低くなる。
そこで、コンテンツの描画完了に要する時間の短縮にあわせて閾値を小さくしても、ユーザの意図と異なる操作に応じた処理が実行される可能性は小さい。例えば、コンテンツの受信に用いている無線回線の品質が所定値以上であり良好であることを検知した場合、通信回線におけるコンテンツの受信状況が良好であると判断し、第1の閾値を設定しても良い。そして、無線回線の品質が所定値未満に劣化したことを検知した場合、通信回線におけるコンテンツの受信状況が悪いと判断し、第1の閾値よりも大きい値の第2の閾値を設定しても良い。したがって、無線回線の品質が劣化している場合には、無線回線品質が良好である場合と比較して、表示画面の描画完了までに要する時間が長くなる傾向を有することから、閾値を大きくすることができる。これにより、図6及び図10におけるステップS230の判定処理で選択時間差が閾値以下となる確率が高くなり、ユーザの意図と異なる操作に応じた処理の実行を更に抑制することができる。
また、各実施形態では、画面が順次更新される例として、例えばインターネットに接続されたサーバからコンテンツを受信する際の受信状況が悪い場合を用いて説明した。しかし、画面が順次更新される例はこれに限られない。
例えば、通信端末1、2において、機器制御プログラム120、120Aとは異なる他のアプリケーションが実行され、一時的にCPU102の負荷が高くなっている状況において、コンテンツを表示装置30に表示する場合も画面が順次更新されることがある。
以上、各実施形態を用いて開示の技術を説明したが、開示の技術は各実施形態に記載の範囲には限定されない。開示の技術の要旨を逸脱しない範囲で各実施形態に多様な変更又は改良を加えることができ、当該変更又は改良を加えた形態も開示の技術の技術的範囲に含まれる。例えば、開示の技術の要旨を逸脱しない範囲で処理の順序を変更してもよい。
また、各実施形態では、機器制御プログラム120、120Aが記憶部106に予め記憶(インストール)されている態様を説明したが、これに限定されるものではない。開示の技術に係る機器制御プログラムは、コンピュータ読取可能な記録媒体116に記録された形態で提供することも可能である。例えば、開示の技術に係る機器制御プログラムは、CD−ROM、DVD−ROM、またはUSBメモリ等の可搬型記録媒体に記録された形態で提供することも可能である。また、開示の技術に係る機器制御プログラムは、フラッシュメモリ等の半導体メモリ等に記録された形態で提供することも可能である。
以上の各実施形態を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
表示画面を構成するデータをネットワークを介して取得する取得部と、
前記取得部によって前記データの全ての取得が完了する前から、前記取得されたデータの部分を用いて、前記表示画面の構成を解析する解析処理と、前記解析処理の結果を用いて前記表示画面の構成要素であるオブジェクトの前記表示画面上のレイアウト位置を計算するレイアウト計算処理とを含む、レンダリング処理を開始し、表示装置に前記表示画面を表示させる描画部と、
前記描画部によって表示装置の表示が更新されてからの経過時間に応じて、更新後の画面上で選択された前記オブジェクトに対応する処理を実行するか否かを制御する制御部と、
を含む電子機器。
表示画面を構成するデータをネットワークを介して取得する取得部と、
前記取得部によって前記データの全ての取得が完了する前から、前記取得されたデータの部分を用いて、前記表示画面の構成を解析する解析処理と、前記解析処理の結果を用いて前記表示画面の構成要素であるオブジェクトの前記表示画面上のレイアウト位置を計算するレイアウト計算処理とを含む、レンダリング処理を開始し、表示装置に前記表示画面を表示させる描画部と、
前記描画部によって表示装置の表示が更新されてからの経過時間に応じて、更新後の画面上で選択された前記オブジェクトに対応する処理を実行するか否かを制御する制御部と、
を含む電子機器。
(付記2)
前記制御部は、前記表示装置に表示された画面上で選択された前記オブジェクトの座標を、前記オブジェクトに対応付けられた処理を行う処理部へ出力する一方で、前記描画部によって前記表示装置に前記更新後の画面が表示されてから所定期間が経過するまでの間に前記更新後の画面上で選択された前記オブジェクトの座標は前記処理部に出力せずに破棄する
付記1記載の電子機器。
前記制御部は、前記表示装置に表示された画面上で選択された前記オブジェクトの座標を、前記オブジェクトに対応付けられた処理を行う処理部へ出力する一方で、前記描画部によって前記表示装置に前記更新後の画面が表示されてから所定期間が経過するまでの間に前記更新後の画面上で選択された前記オブジェクトの座標は前記処理部に出力せずに破棄する
付記1記載の電子機器。
(付記3)
前記描画部は、前記表示装置に画面を表示する毎に、表示した画面に含まれる前記オブジェクトの座標を記憶し、
前記制御部は、前記表示装置に前記更新後の画面が表示されてから所定期間が経過するまでの間に、前記更新後の画面上で選択された前記オブジェクトの座標上に位置する第1のオブジェクトが、前記更新後の画面より前に表示された画面における、前記更新後の画面上で選択された前記オブジェクトの座標上に位置する第2のオブジェクトと異なる場合、前記更新後の画面上の前記第2のオブジェクトの座標を、前記オブジェクトに対応付けられた処理を行う処理部へ出力する
付記1記載の電子機器。
前記描画部は、前記表示装置に画面を表示する毎に、表示した画面に含まれる前記オブジェクトの座標を記憶し、
前記制御部は、前記表示装置に前記更新後の画面が表示されてから所定期間が経過するまでの間に、前記更新後の画面上で選択された前記オブジェクトの座標上に位置する第1のオブジェクトが、前記更新後の画面より前に表示された画面における、前記更新後の画面上で選択された前記オブジェクトの座標上に位置する第2のオブジェクトと異なる場合、前記更新後の画面上の前記第2のオブジェクトの座標を、前記オブジェクトに対応付けられた処理を行う処理部へ出力する
付記1記載の電子機器。
(付記4)
前記描画部は、前記更新後の画面に含まれるオブジェクト毎の座標及び表示時刻を含む、前記更新後の画面に対応する画面構成情報を生成し、
前記制御部は、前記更新後の画面に対応する画面構成情報を参照して、前記更新後の画面上で選択された前記オブジェクトの座標上に位置するオブジェクトの表示時刻を前記所定期間の開始時刻とする
付記2または付記3記載の電子機器。
前記描画部は、前記更新後の画面に含まれるオブジェクト毎の座標及び表示時刻を含む、前記更新後の画面に対応する画面構成情報を生成し、
前記制御部は、前記更新後の画面に対応する画面構成情報を参照して、前記更新後の画面上で選択された前記オブジェクトの座標上に位置するオブジェクトの表示時刻を前記所定期間の開始時刻とする
付記2または付記3記載の電子機器。
(付記5)
前記描画部は、前記更新後の画面に含まれるオブジェクト毎の座標と、前記更新後の画面の前記表示装置への表示が完了した時刻を含む、前記更新後の画面に対応する画面構成情報を生成し、
前記制御部は、前記更新後の画面に対応する画面構成情報を参照して、前記更新後の画面の前記表示装置への表示が完了した時刻を前記所定期間の開始時刻とする
付記2または付記3記載の電子機器。
前記描画部は、前記更新後の画面に含まれるオブジェクト毎の座標と、前記更新後の画面の前記表示装置への表示が完了した時刻を含む、前記更新後の画面に対応する画面構成情報を生成し、
前記制御部は、前記更新後の画面に対応する画面構成情報を参照して、前記更新後の画面の前記表示装置への表示が完了した時刻を前記所定期間の開始時刻とする
付記2または付記3記載の電子機器。
(付記6)
前記制御部は、前記表示画面を構成するデータのスループットが遅くなるにしたがって、前記所定期間を長く設定する
付記2〜付記5の何れか1項に記載の電子機器。
前記制御部は、前記表示画面を構成するデータのスループットが遅くなるにしたがって、前記所定期間を長く設定する
付記2〜付記5の何れか1項に記載の電子機器。
(付記7)
コンピュータに、
表示画面を構成するデータをネットワークを介して取得し、
前記データの全ての取得が完了する前から、前記取得されたデータの部分を用いて、前記表示画面の構成を解析する解析処理と、前記解析処理の結果を用いて前記表示画面の構成要素であるオブジェクトの前記表示画面上のレイアウト位置を計算するレイアウト計算処理とを含む、レンダリング処理を開始し、表示装置に画面を表示させ、
前記表示装置の表示が更新されてからの経過時間に応じて、更新後の画面上で選択された前記オブジェクトに対応する処理を実行するか否かを制御する
処理を実行させる機器制御プログラム。
コンピュータに、
表示画面を構成するデータをネットワークを介して取得し、
前記データの全ての取得が完了する前から、前記取得されたデータの部分を用いて、前記表示画面の構成を解析する解析処理と、前記解析処理の結果を用いて前記表示画面の構成要素であるオブジェクトの前記表示画面上のレイアウト位置を計算するレイアウト計算処理とを含む、レンダリング処理を開始し、表示装置に画面を表示させ、
前記表示装置の表示が更新されてからの経過時間に応じて、更新後の画面上で選択された前記オブジェクトに対応する処理を実行するか否かを制御する
処理を実行させる機器制御プログラム。
(付記8)
前記表示装置に表示された画面上で選択された前記オブジェクトの座標を、前記オブジェクトに対応付けられた処理を行う処理部へ出力する一方で、前記表示装置に前記更新後の画面が表示されてから所定期間が経過するまでの間に前記更新後の画面上で選択された前記オブジェクトの座標は前記処理部に出力せずに破棄する
付記7記載の機器制御プログラム。
前記表示装置に表示された画面上で選択された前記オブジェクトの座標を、前記オブジェクトに対応付けられた処理を行う処理部へ出力する一方で、前記表示装置に前記更新後の画面が表示されてから所定期間が経過するまでの間に前記更新後の画面上で選択された前記オブジェクトの座標は前記処理部に出力せずに破棄する
付記7記載の機器制御プログラム。
(付記9)
前記表示装置に画面が表示される毎に、表示された画面に含まれる前記オブジェクトの座標を記憶し、前記表示装置に前記更新後の画面が表示されてから所定期間が経過するまでの間に、前記更新後の画面上で選択された前記オブジェクトの座標上に位置する第1のオブジェクトが、前記更新後の画面より前に表示された画面における、前記更新後の画面上で選択された前記オブジェクトの座標上に位置する第2のオブジェクトと異なる場合、前記更新後の画面上の前記第2のオブジェクトの座標を、前記オブジェクトに対応付けられた処理を行う処理部へ出力する
付記7記載の機器制御プログラム。
前記表示装置に画面が表示される毎に、表示された画面に含まれる前記オブジェクトの座標を記憶し、前記表示装置に前記更新後の画面が表示されてから所定期間が経過するまでの間に、前記更新後の画面上で選択された前記オブジェクトの座標上に位置する第1のオブジェクトが、前記更新後の画面より前に表示された画面における、前記更新後の画面上で選択された前記オブジェクトの座標上に位置する第2のオブジェクトと異なる場合、前記更新後の画面上の前記第2のオブジェクトの座標を、前記オブジェクトに対応付けられた処理を行う処理部へ出力する
付記7記載の機器制御プログラム。
(付記10)
前記更新後の画面に含まれるオブジェクト毎の座標及び表示時刻を含む、前記更新後の画面に対応する画面構成情報を生成し、
前記更新後の画面に対応する画面構成情報を参照して、前記更新後の画面上で選択された前記オブジェクトの座標上に位置するオブジェクトの表示時刻を前記所定期間の開始時刻とする
付記8または付記9記載の機器制御プログラム。
前記更新後の画面に含まれるオブジェクト毎の座標及び表示時刻を含む、前記更新後の画面に対応する画面構成情報を生成し、
前記更新後の画面に対応する画面構成情報を参照して、前記更新後の画面上で選択された前記オブジェクトの座標上に位置するオブジェクトの表示時刻を前記所定期間の開始時刻とする
付記8または付記9記載の機器制御プログラム。
(付記11)
前記更新後の画面に含まれるオブジェクト毎の座標と、前記更新後の画面の前記表示装置への表示が完了した時刻を含む、前記更新後の画面に対応する画面構成情報を生成し、
前記更新後の画面に対応する画面構成情報を参照して、前記更新後の画面の前記表示装置への表示が完了した時刻を前記所定期間の開始時刻とする
付記8または付記9記載の機器制御プログラム。
前記更新後の画面に含まれるオブジェクト毎の座標と、前記更新後の画面の前記表示装置への表示が完了した時刻を含む、前記更新後の画面に対応する画面構成情報を生成し、
前記更新後の画面に対応する画面構成情報を参照して、前記更新後の画面の前記表示装置への表示が完了した時刻を前記所定期間の開始時刻とする
付記8または付記9記載の機器制御プログラム。
(付記12)
前記表示画面を構成するデータのスループットが遅くなるにしたがって、前記所定期間を長く設定する
付記8〜付記11の何れか1項に記載の機器制御プログラム。
前記表示画面を構成するデータのスループットが遅くなるにしたがって、前記所定期間を長く設定する
付記8〜付記11の何れか1項に記載の機器制御プログラム。
(付記13)
コンピュータに、
表示画面を構成するデータをネットワークを介して取得し、
前記データの全ての取得が完了する前から、前記取得されたデータの部分を用いて、前記表示画面の構成を解析する解析処理と、前記解析処理の結果を用いて前記表示画面の構成要素であるオブジェクトの前記表示画面上のレイアウト位置を計算するレイアウト計算処理とを含む、レンダリング処理を開始し、表示装置に画面を表示させ、
前記表示装置の表示が更新されてからの経過時間に応じて、更新後の画面上で選択された前記オブジェクトに対応する処理を実行するか否かを制御する
処理を実行させる機器制御方法。
コンピュータに、
表示画面を構成するデータをネットワークを介して取得し、
前記データの全ての取得が完了する前から、前記取得されたデータの部分を用いて、前記表示画面の構成を解析する解析処理と、前記解析処理の結果を用いて前記表示画面の構成要素であるオブジェクトの前記表示画面上のレイアウト位置を計算するレイアウト計算処理とを含む、レンダリング処理を開始し、表示装置に画面を表示させ、
前記表示装置の表示が更新されてからの経過時間に応じて、更新後の画面上で選択された前記オブジェクトに対応する処理を実行するか否かを制御する
処理を実行させる機器制御方法。
(付記14)
前記表示装置に表示された画面上で選択された前記オブジェクトの座標を、前記オブジェクトに対応付けられた処理を行う処理部へ出力する一方で、前記表示装置に前記更新後の画面が表示されてから所定期間が経過するまでの間に前記更新後の画面上で選択された前記オブジェクトの座標は前記処理部に出力せずに破棄する
付記13記載の機器制御方法。
前記表示装置に表示された画面上で選択された前記オブジェクトの座標を、前記オブジェクトに対応付けられた処理を行う処理部へ出力する一方で、前記表示装置に前記更新後の画面が表示されてから所定期間が経過するまでの間に前記更新後の画面上で選択された前記オブジェクトの座標は前記処理部に出力せずに破棄する
付記13記載の機器制御方法。
(付記15)
前記表示装置に画面が表示される毎に、表示された画面に含まれる前記オブジェクトの座標を記憶し、前記表示装置に前記更新後の画面が表示されてから所定期間が経過するまでの間に、前記更新後の画面上で選択された前記オブジェクトの座標上に位置する第1のオブジェクトが、前記更新後の画面より前に表示された画面における、前記更新後の画面上で選択された前記オブジェクトの座標上に位置する第2のオブジェクトと異なる場合、前記更新後の画面上の前記第2のオブジェクトの座標を、前記オブジェクトに対応付けられた処理を行う処理部へ出力する
付記13記載の機器制御方法。
前記表示装置に画面が表示される毎に、表示された画面に含まれる前記オブジェクトの座標を記憶し、前記表示装置に前記更新後の画面が表示されてから所定期間が経過するまでの間に、前記更新後の画面上で選択された前記オブジェクトの座標上に位置する第1のオブジェクトが、前記更新後の画面より前に表示された画面における、前記更新後の画面上で選択された前記オブジェクトの座標上に位置する第2のオブジェクトと異なる場合、前記更新後の画面上の前記第2のオブジェクトの座標を、前記オブジェクトに対応付けられた処理を行う処理部へ出力する
付記13記載の機器制御方法。
(付記16)
前記更新後の画面に含まれるオブジェクト毎の座標及び表示時刻を含む、前記更新後の画面に対応する画面構成情報を生成し、
前記更新後の画面に対応する画面構成情報を参照して、前記更新後の画面上で選択された前記オブジェクトの座標上に位置するオブジェクトの表示時刻を前記所定期間の開始時刻とする
付記14または付記15記載の機器制御方法。
前記更新後の画面に含まれるオブジェクト毎の座標及び表示時刻を含む、前記更新後の画面に対応する画面構成情報を生成し、
前記更新後の画面に対応する画面構成情報を参照して、前記更新後の画面上で選択された前記オブジェクトの座標上に位置するオブジェクトの表示時刻を前記所定期間の開始時刻とする
付記14または付記15記載の機器制御方法。
(付記17)
前記更新後の画面に含まれるオブジェクト毎の座標と、前記更新後の画面の前記表示装置への表示が完了した時刻を含む、前記更新後の画面に対応する画面構成情報を生成し、
前記更新後の画面に対応する画面構成情報を参照して、前記更新後の画面の前記表示装置への表示が完了した時刻を前記所定期間の開始時刻とする
付記14または付記15記載の機器制御方法。
前記更新後の画面に含まれるオブジェクト毎の座標と、前記更新後の画面の前記表示装置への表示が完了した時刻を含む、前記更新後の画面に対応する画面構成情報を生成し、
前記更新後の画面に対応する画面構成情報を参照して、前記更新後の画面の前記表示装置への表示が完了した時刻を前記所定期間の開始時刻とする
付記14または付記15記載の機器制御方法。
(付記18)
前記表示画面を構成するデータのスループットが遅くなるにしたがって、前記所定期間を長く設定する
付記14〜付記17の何れか1項に記載の機器制御方法。
前記表示画面を構成するデータのスループットが遅くなるにしたがって、前記所定期間を長く設定する
付記14〜付記17の何れか1項に記載の機器制御方法。
(付記19)
コンピュータに、
表示画面を構成するデータをネットワークを介して取得し、
前記データの全ての取得が完了する前から、前記取得されたデータの部分を用いて、前記表示画面の構成を解析する解析処理と、前記解析処理の結果を用いて前記表示画面の構成要素であるオブジェクトの前記表示画面上のレイアウト位置を計算するレイアウト計算処理とを含む、レンダリング処理を開始し、表示装置に画面を表示させ、
前記表示装置の表示が更新されてからの経過時間に応じて、更新後の画面上で選択された前記オブジェクトに対応する処理を実行するか否かを制御する
処理を実行させる機器制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
コンピュータに、
表示画面を構成するデータをネットワークを介して取得し、
前記データの全ての取得が完了する前から、前記取得されたデータの部分を用いて、前記表示画面の構成を解析する解析処理と、前記解析処理の結果を用いて前記表示画面の構成要素であるオブジェクトの前記表示画面上のレイアウト位置を計算するレイアウト計算処理とを含む、レンダリング処理を開始し、表示装置に画面を表示させ、
前記表示装置の表示が更新されてからの経過時間に応じて、更新後の画面上で選択された前記オブジェクトに対応する処理を実行するか否かを制御する
処理を実行させる機器制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
1(2)・・・通信端末、5・・・インデックス、6・・・リングバッファ、10・・・通信部、20(20A)・・・描画部、21・・・分離部、22・・・HTML受信部、23・・・DOMツリー作成部、24・・・CSS受信部、25・・・CSSOMツリー作成部、26・・・レンダーツリー作成部、27・・・レイアウト部、28(28A)・・・ペイント部、29・・・UIイベント処理部、30・・・表示装置、32(32A、32B)・・・画面構成情報、40・・・受付部、50・・・選択処理部、51・・・タッチイベント受信部、52・・・ジェスチャ変換部、53・・・ジェスチャ配信部、60(60A)・・・制御部、100(100A)・・・コンピュータ、102・・・CPU、104・・・メモリ、106・・・記憶部、108・・・バス、112・・・入力装置、114・・・通信装置、116・・・記録媒体、120(120A)・・・機器制御プログラム
Claims (8)
- 表示画面を構成するデータをネットワークを介して取得する取得部と、
前記取得部によって前記データの全ての取得が完了する前から、前記取得されたデータの部分を用いて、前記表示画面の構成を解析する解析処理と、前記解析処理の結果を用いて前記表示画面の構成要素であるオブジェクトの前記表示画面上のレイアウト位置を計算するレイアウト計算処理とを含む、レンダリング処理を開始し、表示装置に前記表示画面を表示させる描画部と、
前記描画部によって表示装置の表示が更新されてからの経過時間に応じて、更新後の画面上で選択された前記オブジェクトに対応する処理を実行するか否かを制御する制御部と、
を含む電子機器。 - 前記制御部は、前記表示装置に表示された画面上で選択された前記オブジェクトの座標を、前記オブジェクトに対応付けられた処理を行う処理部へ出力する一方で、前記描画部によって前記表示装置に前記更新後の画面が表示されてから所定期間が経過するまでの間に前記更新後の画面上で選択された前記オブジェクトの座標は前記処理部に出力せずに破棄する
請求項1記載の電子機器。 - 前記描画部は、前記表示装置に画面を表示する毎に、表示した画面に含まれる前記オブジェクトの座標を記憶し、
前記制御部は、前記表示装置に前記更新後の画面が表示されてから所定期間が経過するまでの間に、前記更新後の画面上で選択された前記オブジェクトの座標上に位置する第1のオブジェクトが、前記更新後の画面より前に表示された画面における、前記更新後の画面上で選択された前記オブジェクトの座標上に位置する第2のオブジェクトと異なる場合、前記更新後の画面上の前記第2のオブジェクトの座標を、前記オブジェクトに対応付けられた処理を行う処理部へ出力する
請求項1記載の電子機器。 - 前記描画部は、前記更新後の画面に含まれるオブジェクト毎の座標及び表示時刻を含む、前記更新後の画面に対応する画面構成情報を生成し、
前記制御部は、前記更新後の画面に対応する画面構成情報を参照して、前記更新後の画面上で選択された前記オブジェクトの座標上に位置するオブジェクトの表示時刻を前記所定期間の開始時刻とする
請求項2または請求項3記載の電子機器。 - 前記描画部は、前記更新後の画面に含まれるオブジェクト毎の座標と、前記更新後の画面の前記表示装置への表示が完了した時刻を含む、前記更新後の画面に対応する画面構成情報を生成し、
前記制御部は、前記更新後の画面に対応する画面構成情報を参照して、前記更新後の画面の前記表示装置への表示が完了した時刻を前記所定期間の開始時刻とする
請求項2または請求項3記載の電子機器。 - 前記制御部は、前記表示画面を構成するデータのスループットが遅くなるにしたがって、前記所定期間を長く設定する
請求項2〜請求項5の何れか1項に記載の電子機器。 - コンピュータに、
表示画面を構成するデータをネットワークを介して取得し、
前記データの全ての取得が完了する前から、前記取得されたデータの部分を用いて、前記表示画面の構成を解析する解析処理と、前記解析処理の結果を用いて前記表示画面の構成要素であるオブジェクトの前記表示画面上のレイアウト位置を計算するレイアウト計算処理とを含む、レンダリング処理を開始し、表示装置に画面を表示させ、
前記表示装置の表示が更新されてからの経過時間に応じて、更新後の画面上で選択された前記オブジェクトに対応する処理を実行するか否かを制御する
処理を実行させる機器制御プログラム。 - コンピュータに、
表示画面を構成するデータをネットワークを介して取得し、
前記データの全ての取得が完了する前から、前記取得されたデータの部分を用いて、前記表示画面の構成を解析する解析処理と、前記解析処理の結果を用いて前記表示画面の構成要素であるオブジェクトの前記表示画面上のレイアウト位置を計算するレイアウト計算処理とを含む、レンダリング処理を開始し、表示装置に画面を表示させ、
前記表示装置の表示が更新されてからの経過時間に応じて、更新後の画面上で選択された前記オブジェクトに対応する処理を実行するか否かを制御する
処理を実行させる機器制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015186573A JP2017062555A (ja) | 2015-09-24 | 2015-09-24 | 電子機器、機器制御プログラム、及び機器制御方法 |
US15/273,153 US20170090727A1 (en) | 2015-09-24 | 2016-09-22 | Electronic device, device computer readable recording medium, and device control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015186573A JP2017062555A (ja) | 2015-09-24 | 2015-09-24 | 電子機器、機器制御プログラム、及び機器制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017062555A true JP2017062555A (ja) | 2017-03-30 |
Family
ID=58409244
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015186573A Pending JP2017062555A (ja) | 2015-09-24 | 2015-09-24 | 電子機器、機器制御プログラム、及び機器制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20170090727A1 (ja) |
JP (1) | JP2017062555A (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10379880B2 (en) * | 2016-09-25 | 2019-08-13 | International Business Machines Corporation | Recovering missed display advertising |
JP6844206B2 (ja) * | 2016-11-14 | 2021-03-17 | 富士通株式会社 | プログラム、情報処理方法、および情報処理装置 |
US10956507B2 (en) * | 2018-08-16 | 2021-03-23 | Rovi Guides, Inc. | Reaction compensated result selection |
US20220279233A1 (en) * | 2019-07-02 | 2022-09-01 | Lg Electronics Inc. | Display device |
JP2023050370A (ja) * | 2021-09-30 | 2023-04-11 | フォルシアクラリオン・エレクトロニクス株式会社 | 情報処理装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11334113B2 (en) * | 2013-05-20 | 2022-05-17 | Lenovo (Singapore) Pte. Ltd. | Disabling touch input to information handling device |
-
2015
- 2015-09-24 JP JP2015186573A patent/JP2017062555A/ja active Pending
-
2016
- 2016-09-22 US US15/273,153 patent/US20170090727A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20170090727A1 (en) | 2017-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2017062555A (ja) | 電子機器、機器制御プログラム、及び機器制御方法 | |
US20180068194A1 (en) | Method of receiving input characters and character input reception apparatus | |
US10452777B2 (en) | Display apparatus and character correcting method thereof | |
CN103365570B (zh) | 一种选择内容的方法及装置 | |
US10877592B2 (en) | Display control device, display control method, and display control system | |
JP5677591B2 (ja) | 判定装置及び判定プログラム | |
CN109992126A (zh) | 计算设备上的字符识别 | |
CN103533448B (zh) | 智能电视的光标控制方法和光标控制装置 | |
KR20130093672A (ko) | 중첩 수기를 위한 방법, 장치 및 컴퓨터 프로그램 제품 | |
US20150128177A1 (en) | Text information input method and apparatus | |
CN105607800A (zh) | 一种终端屏幕输入显示的方法及装置 | |
CN112799656B (zh) | 自动化操作的脚本文件配置方法、装置、设备和存储介质 | |
JP2014164368A (ja) | 入力支援装置、キーボード、情報処理端末、入力支援方法、及びプログラム | |
CN107168549B (zh) | 输入方法、显示装置及计算机可读存储介质 | |
WO2016170691A1 (ja) | 入力処理プログラム、入力処理装置、入力処理方法、文字特定プログラム、文字特定装置、及び文字特定方法 | |
JP5612796B1 (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
JP5057177B2 (ja) | 機器操作の支援システム | |
JP6416309B1 (ja) | 端末装置及びプログラム | |
JP2012078897A (ja) | 検索支援装置、検索支援方法および検索支援プログラム | |
US20110173573A1 (en) | Method for inputting a character in a portable terminal | |
US9524544B2 (en) | Information processing apparatus, information processing method, and non-transitory computer readable medium | |
CN113190125A (zh) | 输入矫正方法和装置 | |
JP2015109097A (ja) | 判定装置及び判定方法 | |
CN112558955A (zh) | 机器人的编程和控制方法、可读存储介质和计算设备 | |
CN113162840B (zh) | 显示方法、显示装置、电子设备及可读存储介质 |