(57)【要約】接触データの獲得と、接触感知デバイスにおける関連付けられたタスクの処理の間の待ち時間を減少させるためのシステムおよび方法であって、当該接触感知デバイスは接触サンプリングレートで接触データを生成し得る感知システムを有し、かつリフレッシュレートでフレームを表示するディスプレイシステムを有するシステムおよび方法が開示されている。一実施形態において、当該システムは、接触感知システムから接触データをサンプリングするための時間間隔（ａ）、サンプリングされたデータから接触イベントデータを計算するための時間間隔（ｂ）、及びフレームバッファへのフレームのレンダリングのための時間間隔の少なくとも１つを推定する。当該システムは、前記推定の少なくとも一部に基づいて、(a)接触感知システムからの接触データをサンプリングすること（ａ）、サンプリングしたタッチデータからのイベントデータを計算すること（ｂ）、フレームバッファへのフレームのレンダリング（ｃ）のための時間間隔Ｔｃを決定する。当該システムは、ディスプレイシステムがフレームバッファからリフレッシュされる時間間隔Ｔｒを決定する。サンプリング開始時間は少なくともＴｒとＴｃの一部に基づいて計算される。接触感知システムのサンプリングはサンプリング開始時にサンプリングされた接触データを得るために始められる。接触イベント情報は、サンプリングされたデータから計算され、接触イベント情報を反映するフレームは時間Ｔｒ以前にフレームバッファにレンダリングされる。その後、該ディスプレイはフレームバッファからリフレッシュされる。【選択図】図４
2018503155.tif 000002
【特許請求の範囲】
【請求項１】
接触感知装置における接触データの取得と関連するレンダリングタスクの処理との間の待ち時間を減少させる方法であり、当該接触感知装置は、接触サンプリングレートで接触データを生成することができる接触サンプリングシステム、およびリフレッシュレートでフレームを表示するディスプレイシステムを有し、前記フレームは、前記接触感知システムへの入力を反映する、方法であって、
（ａ）前記接触感知システムから接触データをサンプリングするための時間、（ｂ）サンプリングされた接触データから接触イベントデータを計算するための時間、および（ｃ）フレームバッファへフレームをレンダリングするための時間のうちの少なくとも１つを推定すること、
（ａ）前記接触感知システムからの接触データのサンプリング、（ｂ）サンプリングされた接触データからの接触イベントデータの計算、および（ｃ）フレームバッファへのフレームのレンダリングのための時間Ｔｃを、推定値の少なくとも一部に基づいて決定すること、
前記ディスプレイシステムが前記フレームバッファからリフレッシュされる時間Ｔｒを決定すること、
ＴｒとＴｃの少なくとも一部に基づいたサンプリング開始時間を計算すること、
前記サンプリング開始時間に、サンプリングされた接触データを得るために前記接触感知システムのサンプリングを始めること、
前記サンプリングされた接触データから接触イベントデータを計算すること、
時間Ｔｒの前に前記フレームバッファへ、前記接触イベントデータを反映するフレームをレンダリングすること、
前記フレームバッファから前記ディスプレイシステムをリフレッシュすること、
を含む方法。
【請求項２】
前記フレームバッファから前記ディスプレイシステムをリフレッシュするステップは、ダブルバッファの第１および第２バッファを交換することを含む請求項１記載の方法。
【請求項３】
時間を決定するステップは、（ａ）前記接触感知システムから接触データをサンプリングする時間、（ｂ）サンプリングされた接触データから接触イベントデータを計算する時間、および（ｃ）前記フレームバッファへのフレームのレンダリングのための時間、のうちの少なくとも１つを測定することを含む請求項１記載の方法。
【請求項４】
時間を決定するステップは、前記接触感知システムから接触データをサンプリングし、サンプリングされた接触データから接触イベントデータを計算し、および以前のフレームを前記フレームバッファへレンダリングするために以前に必要とされた時間を測定することを含む請求項１記載の方法。
【請求項５】
時間を決定するステップは、前記ディスプレイシステムの前記リフレッシュレートを測定することを含む請求項１記載の方法。
【請求項６】
時間を決定するステップは、反復して実行される請求項１記載の方法。
【請求項７】
時間Ｔｒを決定するステップは、タイムスタンプと前記リフレッシュレートを利用して実行される請求項１記載の方法。
【請求項８】
時間を決定するステップは、時間を演繹的（ａ  ｐｒｉｏｒｉ）に決定することを含む請求項１記載の方法。
【請求項９】
時間を演繹的に決定する前記ステップは、測定を利用せずに、時間を決定することを含む請求項８記載の方法。
【請求項１０】
フレームバッファへのフレームのレンダリングのための時間は、前記フレームのレンダリングの完結および前記フレームバッファへの前記フレームのためのデータの書き込みのための時間を含む請求項１記載の方法。
【請求項１１】
レンダリングの開始は、レンダリングが完結し、レンダリングされた出力がディスプレイシステムのリフレッシュ前の所定の時間内に準備されるまで、遅延される請求項１記載の方法。
【請求項１２】
接触感知装置における接触データの取得と関連するレンダリングタスクの処理との間の待ち時間を減少させる方法であり、当該接触感知装置は、接触サンプリングレートで接触データを生成することができる接触サンプリングシステム、およびリフレッシュレートでフレームを表示するディスプレイシステムを有し、前記フレームは、前記接触感知システムへの入力を反映する、方法であって、
サンプリングされた接触データからの接触イベントデータを計算し、かつフレームバッファにフレームをレンダリングするために必要な時間Ｔｃを決定すること、
前記ディスプレイシステムが前記フレームバッファからリフレッシュされる時間Ｔｒを決定すること、
サンプリングされた接触データを作成するために前記接触感知システムをサンプリングすること、
サンプリングされた接触データから接触イベントデータを計算し、当該計算ステップの始めが少なくとも（Ｔｒ−Ｔｃ）と同じくらい早期である時間で発生するために遅延され、
時間Ｔｒの前に前記フレームバッファにフレームをレンダリングすること、
前記フレームバッファから前記ディスプレイシステムをリフレッシュすること、
を含む方法。
【請求項１３】
前記フレームバッファから前記ディスプレイシステムをリフレッシュすること、ステップは、ダブルバッファの第１および第２バッファを交換することを含む請求項１２記載の方法。
【請求項１４】
時間を決定するステップは、サンプリングされた接触データから接触イベントデータを計算するために以前に必要とされた時間を測定することを含む請求項１２記載の方法。
【請求項１５】
時間を決定するステップは、前記ディスプレイシステムの前記リフレッシュレートを測定することを含む請求項１２記載の方法。
【請求項１６】
時間を決定するステップは、反復して実行される請求項１２記載の方法。
【請求項１７】
時間Ｔｒを決定するステップは、タイムスタンプと前記リフレッシュレートを利用して実行される請求項１２記載の方法。
【請求項１８】
時間を決定するステップは、時間を演繹的に決定することを含む請求項１２記載の方法。
【請求項１９】
時間を演繹的に決定する前記ステップは、測定を利用せずに、時間を決定することを含む請求項１８記載の方法。
【請求項２０】
フレームバッファへのフレームのレンダリングのための時間は、前記フレームのレンダリングの完結および前記フレームバッファへの前記フレームのためのデータの書き込みのための時間を含む請求項１２記載の方法。
【請求項２１】
レンダリングの開始は、レンダリングが完結し、レンダリングされた出力がディスプレイシステムのリフレッシュ前の所定の時間内に準備されるまで、遅延される請求項１２記載の方法。
【請求項２２】
接触感知装置における接触データの取得と関連するレンダリングタスクの処理との間の待ち時間を減少させる方法であって、前記接触感知装置が
（ａ）接触サンプリングレートで接触データを生成しサンプリング同期（ｓｙｎｃ）を有することが可能な接触感知システム、および
（ｂ）リフレッシュ同期を有するリフレッシュレートでフレームを表示するディスプレイシステムを有し、
前記方法は、
サンプリング同期上の接触センサ出力のサンプリングおよびサンプリングレートでサンプリングバッファ中にサンプリングされた出力を置くことを始めること、
リフレッシュ同期上の複数のディスプレイバッファのうちの１つへのフレームレンダリングを始めること、
リフレッシュ同期上のレンダリングされたフレームに対応する画像を接触スクリーンディスプレイに表示すること、
サンプリングバッファ中に前記出力を収集するための推定時間に対応する時間Ｔｃを決定すること、
収集された出力から接触イベントデータを計算するための推定時間に対応する時間Ｔｍを決定すること、
前記接触イベントデータに対応するフレームのレンダリングのための推定時間に対応する時間Ｔｒを決定すること、
リフレッシュ同期、Ｔｃ、ＴｍおよびＴｒに基づく開始時間を計算すること、
前記開始時間に前記サンプリングバッファ中での前記出力の収集を始め、そのあと、接触イベントデータを収集された出力から計算し、前記接触イベントデータに対応するフレームをレンダリングすること
を含む方法。
【請求項２３】
時間Ｔｃを決定するステップは、前記接触感知システムから接触データをサンプリングするために以前に必要とされた時間を測定することを含む請求項２２記載の方法、。
【請求項２４】
時間Tｍを決定するステップは、サンプリングされた接触データから接触イベントデータを計算するために以前に必要とされた時間を測定することを含む請求項２２記載の方法。
【請求項２５】
時間Ｔｒを決定するステップは、前記フレームバッファに以前のフレームをレンダリングするために以前に必要とされた時間を測定することを含む請求項２２記載の方法。
【請求項２６】
時間Ｔｃの決定、時間Tｍの決定、または時間Ｔｒの決定の少なくとも１つは、前記ディスプレイシステムの前記リフレッシュレートの測定を含む請求項２２記載の方法。
【請求項２７】
時間を決定するステップは、反復して実行される請求項２２記載の方法。
【請求項２８】
時間Ｔｒを決定するステップは、タイムスタンプと前記リフレッシュレートを利用して実行される請求項２２記載の方法。
【請求項２９】
時間を決定するステップは、時間を演繹的に決定することを含む請求項２２記載の方法。
【請求項３０】
時間を演繹的に決定する前記ステップは、測定を利用せずに、時間を決定することを含む請求項２９記載の方法。
【請求項３１】
フレームのレンダリングのための時間は、前記フレームのレンダリングの完結および前記フレームバッファへの前記フレームのためのデータの書き込みのための時間を含む請求項２２記載の方法。
【請求項３２】
レンダリングの開始は、レンダリングが完結し、レンダリングされた出力がディスプレイシステムのリフレッシュ前の所定の時間内に準備されるまで、遅延される請求項２２記載の方法。
【請求項３３】
接触イベントデータの生成とそれに対応する接触感知装置のディスプレイに表示された画像の表示との間の待ち時間を減少させるための方法であって、
サンプリングレートで生じるサンプリング同期信号上の接触センサのサンプリングを始め、その後、サンプリングされた接触データに基づいて接触イベントデータを計算すること、
レンダリングを実行するために推定時間に対応する時間を決定すること、
リフレッシュレートで生じるリフレッシュ同期信号および所定の時間に基づく覚醒時間を形成すること、
前記覚醒時間で前記接触感知装置上で動くアプリケーションに前記接触イベントデータを送り、それによりレンダリングの実行を引き起こすこと、
リフレッシュ同期信号上でのレンダリングに対応する画像を接触スクリーンディスプレイ上に表示すること、
を含む方法。
【請求項３４】
接触感知装置における接触データの取得と関連するレンダリングタスクの処理との間の待ち時間を減少させる方法であり、当該接触感知装置は、接触サンプリングレートで接触データを生成することができる接触サンプリングシステム、およびリフレッシュレートでフレームを表示するディスプレイシステムを有し、前記フレームは、前記接触感知システムへの入力を反映する、方法であって、
（ａ）前記接触感知システムから接触データをサンプリングするための時間、（ｂ）サンプリングされた接触データから接触イベントデータを計算するための時間、および（ｃ）フレームバッファへフレームをレンダリングするための時間のうちの少なくとも１つを推定すること、
（ａ）前記接触感知システムからの接触データのサンプリング、（ｂ）サンプリングされた接触データからの接触イベントデータの計算、および（ｃ）フレームバッファへのフレームのレンダリングのための時間Ｔｃを、推定値の少なくとも一部に基づいて決定すること、
前記ディスプレイシステムが前記フレームバッファからリフレッシュされる時間Ｔｒを決定すること、
ＴｒとＴｃに基づいたサンプリング開始時間を計算すること、
前記サンプリング開始時間に、サンプリングされた接触データを得るために前記接触感知システムのサンプリングを始めること、
前記サンプリングされた接触データから接触イベントデータを計算すること、
時間Ｔｒの前に前記フレームバッファへ、前記接触イベントデータを反映するフレームをレンダリングすること、
前記フレームバッファから前記ディスプレイシステムをリフレッシュすること、
を含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は待ち時間の最小化のための入力感知、レンダリングおよび表示を時間調整するシステムおよび方法に関する。
【背景技術】
【０００２】
図１は、従来のダブルバッファの解決手段を図示するダイヤグラムを示す。図２および３は、従来のレンダリング（送り出し）（ｒｅｎｎｄａｒｉｎｇ）方法を図示するダイヤグラムを示す。
【発明の概要】
【０００３】
実施例では、方法は、接触感知装置における接触データの取得と関連するレンダリングタスクの処理との間の待ち時間を減少させるために提供される。前記接触感知装置は、（ａ）接触サンプリングレートで接触データを生成しサンプリング同期（ｓｙｎｃ）を有することが可能な接触感知システム、および（ｂ）リフレッシュ同期を有するリフレッシュレートでフレームを表示するディスプレイシステムを有する。サンプリング同期上で接触センサ出力のサンプリングが始められる。サンプリングレートでサンプリングバッファ中にサンプリングされた出力が置かれる。リフレッシュ同期上で複数のディスプレイバッファのうちの１つへのフレームレンダリングが始められる。リフレッシュ同期上でレンダリングされたフレームに対応する画像が接触スクリーンディスプレイに表示される。  サンプリングバッファ中に前記出力を収集するための推定時間に対応する時間Ｔｃが決定される。収集された出力から接触イベントデータを計算するための推定時間に対応する時間Ｔｍが決定される。前記接触イベントデータに対応するフレームのレンダリングのための推定時間に対応する時間Ｔｒが決定される。リフレッシュ同期、Ｔｃ、ＴｍおよびＴｒに基づく開始時間が計算される。そして、前記開始時間に前記サンプリングバッファ中での前記出力の収集が始められる。そのあと、接触イベントデータが収集された出力から計算される。前記接触イベントデータに対応するフレームがレンダリングされる。
【図面の簡単な説明】
【０００４】
本発明の先行および他の目的、特徴および利点は、添付の図面の中で例証されるような次の多くの特別の好適な実施の形態から明白になる。図面は、その中で参照文字は様々な図の全体にわたる同一部品を指す。図面は、発明の原理を示すうえで置かれたものであり、その代わりに必ずしも縮尺、強調しない。
【図１】従来のダブルバッファの解決手段を図示するダイヤグラムを示す。
【図２】従来のレンダリング（送り出し）（ｒｅｎｎｄａｒｉｎｇ）方法を図示するダイヤグラムを示す。
【図３】従来のレンダリング（送り出し）（ｒｅｎｎｄａｒｉｎｇ）方法を図示するダイヤグラムを示す。
【図４】より速いレンダリングおよびより速いスクリーンのリフレッシュにより、遅延（ラグ：ｌａｇ）を除去する解決手段の実施例を図示するダイヤグラムを示す。
【図５】より速いレンダリングおよびより速いスクリーンのリフレッシュにより、遅延（ラグ：ｌａｇ）を除去する解決手段の実施例を図示するダイヤグラムを示す。
【図６】ＧＵＩのレンダリングの時間調整をするシステムに提供される本件で開示されたシステムおよび方法の実施例を図示するダイヤグラムを示す。
【発明を実施するための形態】
【０００５】
本発明の好ましい実施例が詳細に言及される。それらの例は添付の図面の中で例証される。次の説明および図面は例証であり、制限として解釈されるべきではない。多数の特定の詳細は完全な理解を提供するために説明される。しかしながら、ある場合では、周知または従来の詳細は説明を不明瞭にしないようにするために記述されない。現在の開示での１つあるいは実施例への言及は必ずしも同じ実施例への言及ではない。そのような言及は少なくとも１つを意味する。
【０００６】
「実施例」あるいは「前記実施例」へのこの明細書中の言及は、実施例に関して記述された特別の特徴、構造あるいは特性が少なくとも開示の実施例に含まれることを意味する。「実施例中の」句の外観は必ずしもすべては、必ずしも様々な場所に明細書の中で同じ実施例を指していない。また、個別か他の実施例も他の実施例に相互排除でない。さらに、他のものによってではなくいくつかの実施例によって示されうる様々な特徴は記述される。同様に、他の実施例ではなくいくつかの実施例用の要求かもしれない様々な要求は記述される。
【０００７】
本発明は、入力感知の時間調整をするための装置および方法のブロック図および動作説明図を参照しながら下記に述べられる。ブロック図あるいは動作説明図の各ブロック、およびブロック図あるいは動作説明図中のブロックの組合せ、アナログあるいはデジタルハードウェアおよびコンピュータプログラム・インストラクションによって実行されうる。これらのコンピュータプログラムインストラクションはコンピュータが読込み可能な媒体上に記憶されうる、これらのコンピュータプログラムインストラクションは、汎用コンピュータのプロセッサ、専用計算機、ＡＳＩＣ、あるいは他のプログラマブルデータ・プロセシング装置に提供される。これらは、コンピュータあるいは他のプログラマブルデータ・プロセシング装置のプロセッサによって実行する、関数／行為を実行するインストラクションが、ブロック図または動作ブロックまたはブロックにおいてと指定された機能／行動を実行する。いくつかの代わりの実施では、ブロックに書き留められた関数／行為が、動作説明図に書き留められたオーダーから生じうる。例えば、連続して示された２つのブロックが実際本質的に同時に実行されうる。あるいは、ブロックは含まれていた機能性／行為に依存して、逆の順序の中で時々実行されうる。
【０００８】
双方向通信装置は、入力感知、処理、レンダリングのタスクおよび出力表示を含む複数の部分の組合せと見なすことができる。視覚的な応答へ入力感知（例えば：  指接触）変換するのに必要なパイプラインは、迅速ではない。動作はそれぞれ、全スクリーンを再度引くためにディスプレイが使用するプロセス情報あるいはディスプレイの場合には周波数に必要とされる時間のような多数の理由あるいは部分で待ち時間を導入する。そのように、これらの動作が並列で働いても、システムは動作が最も遅いのと同じくらいしか速くならない。例えば、ディスプレイは、６０Ｈｚごとを一度だけリフレッシュする。それは、他のものがすべて次のリフレッシュサイクルの前に、より速い（あるいは利用可能な）場合、システムがディスプレイは新しい情報を表示する準備ができるのを待つことを強いられることを意味する。
【０００９】
本発明は、待ち時間（すなわちシステムへの使用者入力とシステムのその入力に対するグラフィックな反応の間の時間）を減少することを目的とする。また、ディスプレイリフレッシュを入力捕獲および処理と同時にすることにより、最近の入力情報が表示されることを可能にすることも目的である。現在では、どんな入力情報もできるだけ早く処理され、次のリフレッシュサイクルを待つとしばしばおかれる。これは単独で待ち時間を導入し、全体的な待ち時間に反映されている。本願で示された方法の実施例に従って、システムは、レンダリングにちょうど間に合うために、次のリフレッシュがいつあるかを考慮し、最も新しいイベントを提供するために考慮する。
【００１０】
実施例では、ディスプレイをリフレッシュする時間、および入力センサをサンプリングし、かつ接触ポイントを計算するのに必要な時間は知られている。したがって、入力感知は、リフレッシュがほぼ開始するときに終了を一致させるために遅れる。実施例では、レンダリングが完結し、出力が次のディスプレイリフレッシュの準備ができるように、レンダリングは最後の可能性のモーメントに開始される。このジャスト・イン・タイムレンダリングは最近の入力イベントにアクセスするだろう。したがって、結果的に生じるディスプレイは、最低量の待ち時間のグラフィックスを含むだろう。
【００１１】
別の実施例では、リフレッシュするべき時間あるいは入力センサをサンプリングする時間は演繹的（ａ  ｐｒｉｏｒｉ）に知られておらず、測定を必要とする。測定はキー（ｋｅｙ）のタイムスタンプに基づいて、実行される。また、これは、我々が一時的な順序および順序付けを保証することを可能にする。測定によって、入力サンプリングレートおよびディスプレイリフレッシュレートは、知られるようになる。また、待ち時間を最小化するために上に概説されるようにグラフィックスのレンダリングの時間は計ることができる。
【００１２】
別の実施例では、そのような測定は外的測定装置およびユーザ入力（あるいは定数として定義された）を使用して検知される。
【００１３】
別の実施例では、これらの測定は、システム作業負荷によって変化し、測定は正確ではないが、単に、単にディスプレイの待ちを除去することを試みる。出力をレンダリングするのに必要な時間は、出力の複雑さおよび競合するシステムアクティビティの関数である（より複雑な出力は、一般に時間がかかり、ＣＰＵまたはＧＰＵにおけるアクティビティの計算はレンダリングなどを遅くする）。この実施例では、システムは、出力複雑さのモデル、キーとなる装置構成部品上の競合するアクティビティについての情報（ｋｎｏｕｗｌｅｄｇｅ）、以前のフレームを与えるのに必要な時間、および過去の同様の出力を与えるのに必要な時間のうちのいくつかの組合せに基づいたレンダリング時間を評価する。
【００１４】
別の実施例では、ディスプレイが出力の垂直方向リフレッシュ（ｖｅｒｔｉｃａｌ  ｒｅｆｒｅｓｈ）を完結し、適切なバッファのレンダリングが利用可能になるとすぐに、システムは出力をレンダリングする。レンダリングが完了した後、次の垂直方向リフレッシュまで、システムは、入力センサによって追加入力イベントサンプルに基づいたこのレンダリングを更新する。例えば、システムは、ＧＵＩのビュー（ｖｉｅｗ）をレンダリングし、次に、レンダリングが表示されるような時間まで、追加入力イベントに基づいて、当該ＧＵＩのビューを直す（ｔｒａｎｓｌａｔｅ）かもしれない。
【００１５】
図１はダブルバッファを用いた従来の解決手段を示す。そのような解決手段では、ディスプレイは、「フリップする（さっと動かす）」（ｆｌｉｐ）か、あるいはディスプレイに使用され、（ＡとＢ）をレンダリングする２つのバッファを「交換（スワップ）」（ｓｗａｐ）する。バッファＡが目に見えるときには、装置はバッファＢへレンダリングする。所定のレートで、システムは、バッファをフリップまたは交換する。その結果、バッファＢはそこで目に見えて、バッファＡはレンダリングされる。バッファがスクリーンの外にある場合、バッファはクリアされ、レンダリングされる。
【００１６】
図２および３は、従来のレンダリングの方法を示す。ＧＵＩは最近の入力データおよびアプリケーションの状態を用いてレンダリングされる。ＧＵＩがレンダリングされるときと、それがスクリーン上で最後に表示されるときとの間で、アプリケーションの状態（入力を含む）に違いがある場合、待ち時間（遅れ）が生じる。図３では、Ａをレンダリングする遅れは、Ａをレンダリングする開始と、スクリーン上のＡをレンダリングする結果を表示する垂直方向リフレッシュとの間の時間として示される。
【００１７】
図４および５は、より速くレンダリングしてより速くスクリーンをリフレッシュすることにより、遅れを減少するための解決手段の実施例を示す。例えば、解決手段の一つはそれらのシステムあるいは他のそのような改善されたものにより速いＧＰＵを含んでいるかもしれず、より速いリフレッシュレート（６０Ｈｚよりもむしろ１００Ｈｚと言う）でそれらのディスプレイを実行する。このようものでは、レンダリングされたグラフィックスはより速く作成され、そしてユーザに向けてスクリーンにより速く表示される。その結果、レンダリングの開始とユーザに向けてのＧＵＩの表示との間の時間を減少する。バッファをクリアにし、スクリーンの垂直方向リフレッシュの間でＧＵＩのレンダリングをする時間がある限り、このアプローチは、より有能なレンダリングをするエンジンおよびより速くより高価なディスプレイの出費で遅延を減少するだろう、遅れる。
【００１８】
図６は、ＧＵＩのレンダリングが、できるだけ垂直方向リフレッシュに近づくように終わるように時間調整されるシステムおよび方法の実施例を示す。このように、レンダリングは、ユーザからの最近の利用可能な入力、およびレンダリングされた画像を生成するための最近の利用可能なアプリケーションの状態を利用でき、それにより、遅延を減少できる。
【００１９】
実施例では、システムと方法は、接触感知装置における接触データの取得と関連するレンダリングタスクの処理との間の待ち時間を減少させるために提供される。当該接触感知装置は、接触サンプリングレートで接触データを生成することができる接触サンプリングシステム、およびリフレッシュレートでフレームを表示するディスプレイシステムを有する。前記システムは、（ａ）前記接触感知システムから接触データをサンプリングするための時間、（ｂ）サンプリングされた接触データから接触イベントデータを計算するための時間、および（ｃ）フレームバッファへフレームをレンダリングするための時間のうちの少なくとも１つを推定する。前記システムは、（ａ）前記接触感知システムからの接触データのサンプリング、（ｂ）サンプリングされた接触データからの接触イベントデータの計算、および（ｃ）フレームバッファへのフレームのレンダリングのための時間Ｔｃを、推定値の少なくとも一部に基づいて決定する。前記システムは、前記ディスプレイシステムが前記フレームバッファからリフレッシュされる時間Ｔｒを決定する。ＴｒとＴｃの少なくとも一部に基づいたサンプリング開始時間は計算される。前記サンプリング開始時間に、サンプリングされた接触データを得るために前記接触感知システムのサンプリングが始められる。前記サンプリングされた接触データから接触イベントデータが計算される。時間Ｔｒの前に前記フレームバッファへ、前記接触イベントデータを反映するフレームがレンダリングされる。ついで、前記フレームバッファから前記ディスプレイがリフレッシュされる。
【００２０】
実施例では、システムは、サンプリングされた接触データからの接触イベントデータを計算し、かつフレームバッファにフレームをレンダリングするために必要な時間Ｔｃを決定し、前記ディスプレイシステムが前記フレームバッファからリフレッシュされる時間Ｔｒを決定する。前記接触感知システムは、サンプリングされた接触データを作成するためにサンプリングされる。接触イベントデータは、サンプリングされた接触データから計算される。当該計算ステップの始めは、少なくとも（Ｔｒ−Ｔｃ）と同じくらい早期である時間で発生するために遅延される。時間Ｔｒの前に前記フレームバッファにフレームがレンダリングされる。前記フレームバッファから前記ディスプレイシステムがリフレッシュされる。
【００２１】
実施例では、方法は、接触感知装置における接触データの取得と関連するレンダリングタスクの処理との間の待ち時間を減少させるために提供される。前記接触感知装置は、（ａ）接触サンプリングレートで接触データを生成しサンプリング同期（ｓｙｎｃ）を有することが可能な接触感知システム、および（ｂ）リフレッシュ同期を有するリフレッシュレートでフレームを表示するディスプレイシステムを有する。サンプリング同期上で接触センサ出力のサンプリングが始められる。サンプリングレートでサンプリングバッファ中にサンプリングされた出力が置かれる。リフレッシュ同期上で複数のディスプレイバッファのうちの１つへのフレームレンダリングが始められる。リフレッシュ同期上でレンダリングされたフレームに対応する画像が接触スクリーンディスプレイに表示される。  サンプリングバッファ中に前記出力を収集するための推定時間に対応する時間Ｔｃが決定される。収集された出力から接触イベントデータを計算するための推定時間に対応する時間Ｔｍが決定される。前記接触イベントデータに対応するフレームのレンダリングのための推定時間に対応する時間Ｔｒが決定される。リフレッシュ同期、Ｔｃ、ＴｍおよびＴｒに基づく開始時間が計算される。そして、前記開始時間に前記サンプリングバッファ中での前記出力の収集が始められる。そのあと、接触イベントデータが収集された出力から計算される。前記接触イベントデータに対応するフレームがレンダリングされる。
【００２２】
この開示の全体にわたって、用語は「接触（ｔｏｕｃｈ、ｔｏｕｃｈｅｓ）」あるいは他の記述は、ユーザの指、スタイラス、対象（オブジェクト）あるいは身体の部分センサによって検知されるイベントまたは時間について記述するために使用されうる。いくつかの実施例では、ユーザがセンサまたはセンサが、それが具体化された装置に物理的接触したときにのみ、これらの検出が生じる。他の実施例では、センサは、接触面の上で距離をあけて浮上しているかまたは接触感知装置から離れた「接触」の検出を可能にするために調整されうる。したがって、感知される物理的接触の上で拠り所に該当するこの記載の範囲内における言語の使用は、記載された技術が、全てではないが、ここに記載されているもののうち、「接触」および「浮上」センサに均等に適用されるこれらの実施例のまさにそのものまたはほぼ全部のみに適用されることを意味することに取られるべきではない。
ここに使用されるように、名詞として用いられる「接触イベント」の語句、および「接触」の単語は、接触に近いもの、および接触イベントに近いもの、またはセンサを使用して識別されうる他のあらゆるジェスチャーを含む。
【００２３】
開示された少なくともいくつかの態様は、ソフトウェア上で少なくとも一部で具体化されうる。すなわち、この技術は、特定の目的、または一般的な目的のコンピュータシステムまたはそのプロセッサに対応する他のデータ処理装置で実行されうる。プロセッサは、メモリ内に含まれるインストラクションのシークエンスを実行するマイクロプロセッサのようなものであり、例えばＲＯＭ、揮発性ＲＡＭ、無揮発性メモリ、キャッシュあるいは遠隔ストレージ装置のようなものである。
【００２４】
実施例を実行するために実行されたルーチンは、「コンピュータプログラム」として呼ばれる、オペレーティングシステム、ファームウェア、ＲＯＭ、ミドルウェア、サービスデリバリープラットホーム、ＳＤＫ（ソフトウェア開発キット）構成部品、ウェブサービスあるいは他の特定のアプリケーション、インストラクションの構成部品、プログラム、対象（オブジェクト）、モジュールあるいはシークエンスの一部として実行されうる。これらのルーチンへの呼出しインターフェースは、ＡＰＩ（アプリケーションプログラムインターフェイス）としてソフトウェア開発コミュニティーに暴露されうる。コンピュータプログラムは、典型的には１つ以上のインストラクションを含む。インストラクションは、コンピュータ中の様々なメモリおよび記憶デバイスで様々な回数でセットされる。それは、コンピュータ中の１つ以上のプロセッサによって読まれ実行されたとき、コンピュータに、種々の態様を含むエレメントを実行するために必要な動作を実行させる。
【００２５】
機械可読媒体は、データ処理システムによって実行されたときにシステムに様々な方法を実行させるソフトウェアとデータを記憶するために使用することができる。実行可能なソフトウェアおよびデータは、例えばＲＯＭ、揮発性ＲＡＭ、無揮発メモリおよび／またはキャッシュ含む様々な場所に記憶されうる。このソフトウェアおよび／またはデータの部分はこれらの記憶デバイスのうちのいずれか１つに記憶されうる。さらに、データとインストラクションは、集中型サーバーあるいはピアツーピアネットワークから得ることができる。データとインストラクションの異なる部分は、異なる時に、異なる通信セッション、あるいは同じ通信セッションに、異なる集中型サーバーおよび／またはピアツーピアネットワークから得ることができる。データおよびインストラクションは、アプリケーションの実行に先立って全体的に得ることができる。あるいは、実行に必要とされたときに、ちょうど、データとインストラクションの部分を動的に（ダイナミックに）得ることができる。したがって、データとインストラクションは、時間の特別の場合の全体中の機械可読媒体上にあることは必要とされない。
【００２６】
コンピュータが読める媒体の例は、記録可能で、非記録可能な類型媒体、たとえば、揮発性、そして非揮発性メモリ装置、読み取り専用メモリ（ＲＯＭ）、ランダムアクセス記憶装置（ＲＡＭ）、フラッシュメモリ装置、フロッピーおよび他の取外し可能ディスク、磁気ディスク記憶装置媒体、特に光学的記憶媒体（例えばコンパクトディスクの読み出し専用のメモリ（ＣＤ  ＲＯＭＳ）、デジタルバーサタイルディスク（ＤＶＤ）、などを含んでいるが、これらに限定されていない。
【００２７】
一般に、機械可読媒体は、マシン（例えばコンピュータ、ネットワークデバイス、ツールを製造する携帯情報端末、１セットの１つ以上のプロセッサ、などを備えたすべてのデバイス）によってアクセス可能なフォームの情報を提供する（例えば店）あらゆる機構を含んでいる。
【００２８】
様々な実施例では、ハードワイヤードの（配線された）回路類はこの技術を実行するためにソフトウェアインストラクションと組み合わせて使用されてもよい。したがって、技術は、ハードウェア回路とソフトウェアのすべての特定の組合せ、または、データ処理システムによって実行されたインストラクションのためのすべての特別のソースのいずれにも限定されない。
【００２９】
上記の実施例およびプレファレンスは本発明の例証となる。それは、両方必要で、あらゆる組合せあるいは実施例を概説するか定義するためにはこのパテントのために意図されないということない。発明者は、１つ許すために十分な情報を公開した、発明の少なくとも１つの実施例を実行する技術に熟練している上記の説明および図面は、本発明の単に例証となる。また、それは構成部品、構造および処置中で変わる、次の請求項の中で定義されるような本発明のスコープから外れずに可能である。例えば、素子および（または）上に記述されたステップ、または特別のオーダーでの次の請求項で、発明から外れずに、異なる順に実行されうる。したがって、発明がその実施例に関して特に示され記述された一方、フォームと詳細の様々な変更が発明の趣旨およびスコープから外れずに、そこに行なわれうることは当業者によって理解されるだろう。
【図１】
2018503155.tif 000003
【図２】
2018503155.tif 000004
【図３】
2018503155.tif 000005
【図４】
2018503155.tif 000006
【図５】
2018503155.tif 000007
【図６】
2018503155.tif 000008
【手続補正書】
【提出日】平成28年6月28日(2016.6.28)
【手続補正１】
【補正対象書類名】図面
【補正対象項目名】図１
【補正方法】変更
【補正の内容】
【図１】
2018503155.tif 000009
【手続補正２】
【補正対象書類名】図面
【補正対象項目名】図２
【補正方法】変更
【補正の内容】
【図２】
2018503155.tif 000010
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】図３
【補正方法】変更
【補正の内容】
【図３】
2018503155.tif 000011
【手続補正４】
【補正対象書類名】図面
【補正対象項目名】図４
【補正方法】変更
【補正の内容】
【図４】
2018503155.tif 000012
【手続補正５】
【補正対象書類名】図面
【補正対象項目名】図５
【補正方法】変更
【補正の内容】
【図５】
2018503155.tif 000013
【手続補正６】
【補正対象書類名】図面
【補正対象項目名】図６
【補正方法】変更
【補正の内容】
【図６】
2018503155.tif 000014
【国際調査報告】
2018503155.tif 000015
2018503155.tif 000016