JP2019505045A - レイテンシを最小化するために入力検知、レンダリング、および表示の時間を測定するためのシステムおよびその方法 - Google Patents

レイテンシを最小化するために入力検知、レンダリング、および表示の時間を測定するためのシステムおよびその方法 Download PDF

Info

Publication number
JP2019505045A
JP2019505045A JP2018536510A JP2018536510A JP2019505045A JP 2019505045 A JP2019505045 A JP 2019505045A JP 2018536510 A JP2018536510 A JP 2018536510A JP 2018536510 A JP2018536510 A JP 2018536510A JP 2019505045 A JP2019505045 A JP 2019505045A
Authority
JP
Japan
Prior art keywords
touch
time
application
input
touch data
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
Application number
JP2018536510A
Other languages
English (en)
Inventor
デ アラウージョ,ブルーノ ロドリゲス
デ アラウージョ,ブルーノ ロドリゲス
ホルヘ ホタ コスタ,リカルド
ホルヘ ホタ コスタ,リカルド
フォーラインズ,クリフトン
Original Assignee
タクチュアル ラブズ シーオー.
タクチュアル ラブズ シーオー.
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by タクチュアル ラブズ シーオー., タクチュアル ラブズ シーオー. filed Critical タクチュアル ラブズ シーオー.
Publication of JP2019505045A publication Critical patent/JP2019505045A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • G06F3/0418Control or interface arrangements specially adapted for digitisers for error correction or compensation, e.g. based on parallax, calibration or alignment
    • G06F3/04184Synchronisation with the driving of the display or the backlighting unit to avoid interferences generated internally
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2310/00Command of the display device
    • G09G2310/06Details of flat display driving waveforms
    • G09G2310/067Special waveforms for scanning, where no circuit details of the gate driver are given
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2310/00Command of the display device
    • G09G2310/08Details of timing specific for flat panels, other than clock recovery
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/127Updating a frame memory using a transfer of data from a source area to a destination area

Abstract

開示されるシステムおよび方法は、一般的にタッチセンシティブデバイスに対するユーザー入力の分野に関し、特に、ユーザー入力システム、および直近の入力イベントとそのような入力を反映するレンダリングされたフレームの表示との間のレイテンシを減少させることができる方法に関する。一実施形態において、タッチセンシティブデバイスにおいて、入力タッチイベントと、入力タッチイベントを反映するフレームの表示との間のレイテンシを縮小する方法であって、該方法は、次のフレームリフレッシュの時間を推定する工程と、オペレーティングシステムから、入力タッチイベントを反映するタッチデータを受信する工程と、入力タッチイベントに関するアプリケーションを判定する工程と、アプリケーションが、受信したタッチデータを処理およびレンダリングするのにかかる時間を推定する工程と、アプリケーションへのタッチデータの送信が、少なくとも部分的に、アプリケーションがタッチデータを処理およびレンダリングするのにかかる推定時間と、次のフレームリフレッシュの推定時間とに基づいて、次のフレームリフレッシュの時間前にアプリケーションがタッチデータを処理しレンダリングすることを可能にする時間を判定する工程と、判定された時間の直前にタッチデータをアプリケーションに提供する工程と、を含む。
【選択図】図6

Description

<関連出願への相互参照>
本出願は2016年2月2日に出願された米国仮特許出願第62/290,347号の非仮出願であり、その優先権を主張し、その出願の全体の開示は、参照によって本明細書に組み込まれる。本出願は、2015年11月18日に出願された米国特許出願第14/945,083号の一部継続出願であり、その優先権を主張し、その出願の全体の開示は、参照によって本明細書に組み込まれ、米国特許出願第14/945,083号自体は2014年11月18日に出願された米国特許出願第62/081,261号の非仮出願であり、その優先権を主張する。本出願は著作権保護の対象となるものを含んでいる。著作権の所有者はそれが特許商標庁のファイルまたは記録に現われるため特許情報開示者による複製には反対しないが、そうでない場合には著作権をすべて留保する。
開示されたシステムおよび方法は、一般的にタッチセンシティブデバイスに対するユーザー入力の分野に関し、特に、直近の入力イベントとそのような入力を反映するレンダリングされたフレームの表示との間のレイテンシを縮小することができる、ユーザー入力のシステムおよび方法に関する。
本発明の前述および他の目的、特徴、ならびに利点は、添付の図面で例示されるような以下のより特定の好適な実施形態の説明から明白になり、図面中、参照文字が図面全体にわたって同一の部分を指す。図面は同一縮尺である必要はなく、その代わりに本発明の例示されている原則が強調されている。
従来のダブルバッファリングソリューションを例示するダイヤグラムを示す。 レンダリングの従来の方法を例示するダイヤグラムを示す。 レンダリングの従来の方法を例示するダイヤグラムを示す。 より速くレンダリングし、スクリーンをより速くリフレッシュすることによりラグを縮小するためのソリューションの実施形態を例示するダイヤグラムを示す。 より速くレンダリングし、スクリーンをより速くリフレッシュすることによりラグを縮小するためのソリューションの実施形態を例示するダイヤグラムを示す。 本明細書に開示されるシステム、およびGUIのレンダリングの時間を測定するシステムを提供する方法の実施形態を例示するダイヤグラムを示す。
ここで、本発明の好ましい実施形態が詳細に言及され、その例は添付の図面中で例示される。以下の記載及び図面は例示的なものであり、限定的なものとして解釈されるべきではない。多数の特定の詳細が、完全な理解をもたらすように記載される。しかし、特定の例において、記載を曖昧なものにすることを回避するために、周知又は従来の詳細は記載されない。本開示における1以上の実施形態に対する言及は、必ずしも同じ実施形態に対する言及ではなく、そのような言及は少なくとも1つを意味する。
本明細書における「一実施形態」または「実施形態」に対する言及は、実施形態に関連して記載される特定の機能、構造、または特徴が、本開示の少なくとも1つの実施形態に含まれることを意味している。本明細書の様々な場所にある句「一実施形態」の出現は、必ずしも全てが同じ実施形態を指しておらず、他の実施形態に相容れない別個の又は代替的な実施形態でもない。さらに、いくつかの実施形態により示されるが他の実施形態によっては示されない、様々な特徴が記載される。同様に、他の実施形態ではなく、いくつかの実施形態の必要条件となりうる様々な必要条件が記載される。
本発明は、レイテンシを最小化するために、入力検知、レンダリング、および表示の時間を測定するための方法およびデバイスのブロック図および操作上の例示を参照して下記に述べられる。ブロック図または操作上の例示の各ブロック、およびブロック図または操作上の例示のブロックの組み合せが、アナログまたはデジタルのハードウェアおよびコンピュータプログラム命令によって実施されうることを理解されたい。これらのコンピュータプログラム命令は、コンピュータ可読媒体に記憶され、かつ汎用コンピュータのプロセッサ、専用コンピュータ、ASIC、または他のプログラム可能データ処理装置に提供されることもあり、これにより、コンピュータのプロセッサ又は他のプログラム可能データ処理装置によって実行される命令が、ブロック図または操作ブロック(複数可)で指定された機能/動作を実施する。いくつかの代替的な実施において、ブロック内で留意される機能/動作は、操作上の例示において留意される順序とは異なる順序で生じることもある。例えば、連続して示される2つのブロックは実際に、関与する機能/動作に応じて、ほぼ同時に実行されるか、または時に逆の順序で実行されてもよい。
対話型デバイスは、知覚入力、処理およびレンダリングタスク、ならびに出力表示を含む複数の部分の構成物と見なすことができる。知覚入力(例えば:指タッチ)を視覚的な応答に変換するために必要とされるパイプラインは、即時ではなく;情報を処理するために必要な時間や、表示の場合はディスプレイがそのスクリーン全体またはその一部を再描画するために使用する周波数などの多数の理由で、各動作によってレイテンシがもたらされる。それゆえ、これらの動作が平行に行われても、可能な場合、そのシステムの動作は最も遅い動作にしかならない。例えば、ディスプレイは60Hzごとに一度しかリフレッシュできず、これは、それ以外の全ての動作が次のリフレッシュサイクルの前よりも速い(または利用可能である)場合、そのシステムのディスプレイが新しい情報の表示を準備するのを待たなければならないことを意味する。
本発明は、レイテンシ(すなわち、システムに対するユーザーの入力と、その入力に対するシステムのグラフィカルな応答との間の時間)を縮小することを目的とする。インプットキャプチャを同期して、ディスプレイリフレッシュにより処理することにより、直近の入力情報が表示されることを可能にすることも目的である。一般に、入力情報はできるだけ早く処理され、しばしば、次のリフレッシュサイクルを待たされる。これは単独で待機期間をもたらし、全体的なシステムレイテンシに反映される。本明細書で開示される方法の実施形態に従って、そのシステムは、いつが次のリフレッシュとなるか、かつレンダリングのためにジャスト・イン・タイムで、最新のイベントを提供することを考慮する。
一実施形態において、ディスプレイをリフレッシュする時間、および入力センサをサンプリングしタッチポイントを算出するために必要とされる時間は既知である。したがって、入力検知は、リフレッシュが始まりそうな時に終了するように遅延される。一実施形態において、レンダリングは最後の瞬間になって開始され、結果として、レンダリングが完了して出力は次のディスプレイリフレッシュができるようになる。このジャスト・イン・タイムのレンダリングは、直近の入力イベントを利用可能であり;したがって、結果としてもたらされる表示は、最低量のレイテンシでグラフィックスを含むだろう。
他の実施形態では、リフレッシュする時間または入力センサをサンプリングする時間は先験的には知られておらず、測定が必要となる。測定はキーとなるタイムスタンプに基づいて実行され、これにより、時間的な順序付けおよび順序制御を確かなものできる。測定することによって、入力サンプル速度およびディスプレイリフレッシュ速度が既知となり、レイテンシを最小化するために、上に概説されるようにグラフィックスのレンダリングの時間を測定することができる。
別の実施形態において、そのような測定値は、外部の測定設備およびユーザー入力を使用して検知される(あるいは定数として規定される)。
別の実施形態において、これらの測定は、システムの作業負荷に従って異なり、正確ではないが、表示のための待機時間を縮小するための単なる試みである。出力をレンダリングするために必要とされる時間は、出力の複雑性と競合するシステムアクティビティに応じる(より多くの複素出力は一般的にはレンダリングするためにより多くの時間を必要とし、CPUまたはGPUにおける競合するアクティビティはレンダリングを遅くする可能性がある、など)。本実施形態において、システムは:出力複雑性のモデルと;キーとなるシステムコンポーネントにおける競合するアクティビティの情報と;前フレームをレンダリングするために必要とされる時間と;過去に類似の出力をレンダリングするために必要とした時間と;のいくつかの組み合わせに基づいてレンダリング時間を推定する。
別の実施形態において、システムは、ディスプレイがその垂直リフレッシュを完了し、適切なバッファがレンダリング可能であるとすぐにその出力をレンダリングする。レンダリングが完了した後、および次の垂直リフレッシュまで、そのシステムは、入力センサによる付加的な入力イベントサンプルに基づいてこのレンダリングを更新する。例えば、システムはGUIのビューをレンダリングすることもあり、次にレンダリングが表示される必要がある時間までに、付加的な入力イベントに基づいてそのビューを転換する。
図1は、従来のダブルバッファリングソリューションを示す。そのようなソリューションでは、表示は、表示およびレンダリングするために使用される2つのバッファ間を「フリップ」または「スワップ」する(A&B)。バッファAが可視であるとき、デバイスはバッファBへとレンダリングする。予め決められたレートで、そのシステムは、現在Bが可視であり、Aがレンダリングされうるようにバッファをフリップ/スワップする。バッファがオフスクリーンであるときは、クリアされてレンダリングされる。
図2および3はレンダリングの従来の方法を示す。GUIは直近の入力データおよびアプリケーション状態を使用してレンダリングされる。GUIがレンダリングされるときと、GUIが最終的にスクリーンに表示されたときのアプリケーション状態(入力を含む)の間に差がある場合、レイテンシ(ラグ)が生じる。図3において、Aをレンダリングするラグは、Aのレンダリングの開始と、スクリーン上でAのレンダリングの結果を表示する垂直リフレッシュとの間の時間として示される。
図4および5は、より速くレンダリングし、スクリーンをより速くリフレッシュすることによりラグを縮小するためのソリューションの実施形態を示す。例えば、それらのシステム中に、より速いGPUまたは他のそのような改良を含ませることもあり、より速いリフレッシュレート(60Hzではなくむしろ100Hz)でそれらの表示を実行することもある。このようにして、レンダリングされたグラフィックスは両方ともより速く作成され、かつユーザーに対してより速くオンスクリーンで表示し、したがってレンダリングの開始とユーザーに対するGUIの表示との間の時間が縮小される。スクリーンの垂直リフレッシュ間に、バッファをクリアして、GUIをレンダリングする時間が存在する限り、このアプローチでは、より有能なレンダリングエンジンおよびより速くより高価なディスプレイを使用することで、ラグはさらに縮小されるだろう。
図6は、開示されたシステムおよび方法の実施形態を示し、ここで、GUIのレンダリングは、できるだけ垂直リフレッシュの近くで終了するように時間を測定される。このようにして、レンダリングは、レンダリングされた画像を生成するために、ユーザーからの直近の利用可能な入力および直近の利用可能なアプリケーション状態を使用することができ、したがってラグを縮小する。
一実施形態において、システムと方法は、タッチサンプリングレートでタッチデータを生成することができるタッチセンシングシステムと、リフレッシュレートでフレームを表示するディスプレイシステムとを有するタッチセンシティブデバイスにおいて、タッチデータの取得と関連付けられたレンダリングタスクの処理との間のレイテンシを減少させるために提供される。そのシステムは、(a)タッチセンシングシステムからタッチデータをサンプリングするための時間、(b)サンプリングされたタッチデータからのタッチイベントデータを算出するための時間、および(c)フレームバッファにフレームをレンダリングするための時間の少なくとも1つを推定する。システムは、(a)タッチセンシングシステムからのタッチデータをサンプリングする、(b)サンプリングされたタッチデータからのタッチイベントデータを算出する、および(c)その推定値に少なくとも部分的に基づいて、フレームバッファにフレームをレンダリングする、ための時間Tcを判定する。システムは、ディスプレイシステムがフレームバッファからリフレッシュされる時点Trを判定する。サンプリング開始時刻は、TrとTcに少なくとも部分的に基づいて算出される。タッチセンシングシステムのサンプリングは、サンプリング開始時刻にサンプリングされたタッチデータを得るように始められる。タッチイベントデータは、サンプリングされたタッチデータから算出され、タッチイベントデータを反映するフレーム、は時間Trより前にフレームバッファにレンダリングされる。その後、ディスプレイはフレームバッファからリフレッシュされる。
一実施形態において、システムは、サンプリングされたタッチデータからタッチイベントデータを算出し、フレームをフレームバッファにレンダリングするために必要とされる時間Tcと、ディスプレイシステムがフレームバッファからリフレッシュされる時点Trとを判定する。そのタッチセンシングシステムは、サンプリングされたタッチデータを作成するためにサンプリングされる。タッチイベントデータはサンプリングされたタッチデータから算出され、そしてこの算出工程の始まりは、少なくとも(Tr−Tc)と同じくらい早い時点で生じるように遅延される。フレームは時点Trよりも前にフレームバッファにレンダリングされ、その後ディスプレイシステムはフレームバッファからリフレッシュされる。
一実施形態において、(a)タッチサンプリングレートでタッチデータを生成し、サンプリング同期を有することができるタッチセンシングシステムと、(b)リフレッシュ同期を有する、リフレッシュレートでフレームを表示するディスプレイシステムと、を有するタッチセンシティブデバイスにおいて、タッチデータの取得と、関連付けられたレンダリングタスクの処理との間のレイテンシを減少させるための方法が提供される。タッチセンサー出力のサンプリングはサンプリング同期上で開始され、サンプリングされた出力はあるサンプリングレートでサンプリングバッファに格納される。複数の表示バッファの1つに対するフレームレンダリングはリフレッシュ同期上で開始され、レンダリングされたフレームに対応する表示画像はリフレッシュ同期で表示される。サンプリングバッファ中の出力を収集するための推定時間に相当する時間Tcは判定され、収集された出力からのタッチイベントデータを算出するための推定時間に相当する時間Tmは判定され、かつタッチイベントデータに相当するフレームをレンダリングするための推定時間に相当する時間Trは判定される。開始時刻はリフレッシュ同期、Tc、Tm、およびTr、に基づいて算出され、かつサンプリングバッファ中の出力の収集は開始時刻で開始される。その後、タッチイベントデータは収集された出力から算出され、そしてタッチイベントデータに相当するフレームがレンダリングされる。
一実施形態において、スワップバッファ持続時間は、アプリケーションによってレンダリングされた画像がディスプレイによって示される準備ができる時間を推定するために使用されてもよい。一実施形態において、画像アベイラビリティ(image availability)を推定するための代替的なストラテジーが使用されることがあり;例えば、限定されないが、画像アベイラビリティを推定するための代替的なストラテジーは、フレームバッファのバッファに基づく抽象的概念(例えばキュー、デュアルバッファ、トリプルバッファ(または任意のマルチバッファストラテジー)、スタック、ハッシュ、ヒープ、連結リスト、双方向リスト等)をモニタリングすることを含むこともある。一実施形態において、アプリケーションは、例えばレンダリングの開始とレンダリングの終了を示すことによって、レンダリングを実行するために必要とされる時間を特定することを可能にするAPIを提供することができる。一実施形態において、ランダムな時間が、レンダリングの期間の推定値として選択されることもある。
一実施形態において、入力サンプリングおよび/または出力処理の推定値は、スケジューリングを調節するために使用され;したがって、例えば、システム内の様々なプロセスによって得られた時間はモニタリングされることがあり、かつ入力サンプリングおよび/または出力処理のスケジューリングは、その時間を補正するために調節されることもある。一実施形態において、複数の重複するスケジュールが存在することもあり、レンダリングを実行するために得られる特定の時間を考慮して、複数の候補の出力が生成され、正しい1つが選択されるか、そうでなければ入力を処理する。一実施形態において、以下のうち1つ以上のものがモニタリングされることがある:サンプリング時間、(オペレーティングシステム、UIフレームワーク、アプリケーション、または他のプロセスの1つ以上の)算出時間、レンダリング、ハードウェアが所定の入力をレンダリングするのに必要な時間、およびアプリケーションに入力を送るのに必要な時間。一実施形態において、例えば、入出力処理のためのオペレーティングシステムによって得られる時間は、モニタリングされ、スケジューラに供給されうる。
一実施形態において、システムのレイテンシは、入力の処理、およびスクリーンにおけるそのエフェクトの表示をスケジューリングすることによって改善される。このようなことは、例えば、オペレーティングシステムがネイティブモードで利用され、レンダリング時にインサーションのためのアクセスが提供されない場合に望ましいこともある。処理工程の所定の持続時間の間に、その処理が、特定の入力の後、またはディスプレイの特定のリフレッシュの前に(あるいは、入力または表示に関して、繰り返される予め決められた又は継続的に調節されるスケジュールで)行われるようにスケジューリングすることにより、レイテンシの改善は達成されることもある。一実施形態において、出力および/または入力イベントはスキップされることもある。一実施形態において、いくつかの入力フレームからの入力イベントは、アプリケーションに送られるスケジューリングプロセスによってまとめられる。
論じられているように、スケジューリングは、アプリケーションのビューのレンダリングが行われるべき時間を判定するように実行される。一実施形態において、直近の入力が、処理されて、その結果がスクリーンに示されるものであることを確実とするために、アプリケーションに対する入力の送信がいつ実施されるか、およびどのサンプリングされた入力が含まれるべきであるかのスケジューリングを考慮する。一実施形態では、入力のスケジューリングは実施される。一実施形態では、出力のスケジューリングは実施される。一実施形態では、その両方が実施される。したがって、一実施形では、オペレーティングシステムは、アプリケーションへのイベントデータの送達を統合しスケジューリングするプロセスへイベントデータ(例えばタッチイベントデータ)を転送する。一実施形では、そのプロセスは、(類似のサンプリングレートで実行されこともあるし、されないこともある)複数のセンサからのイベントを含む、複数のイベントから統合されることもある。一実施形では、アプリケーションへの送信をスケジューリングすることは、統合されたイベントのための入力処理および出力処理の時間に基づきうる。一実施形では、統合されたイベントがフレームバッファの切り替えまでの残りの利用可能時間を超えると判定される場合、イベントの送信は次のフレームバッファの切り換え前の時点(例えば次のフレームバッファの切り換えの直前)まで延期されることもあるが、それでもなお、送信されたときの直近の情報を含むだろう。一実施形では、統合されたイベントがフレームバッファの切り換えまでの残りの利用可能時間を超えると判定される場合、統合されたイベントの1つ以上はスキップされることがあり、このように、入力はフレームバッファの切り換えにおける表示を可能にするために間引かれる。
一実施形では、複数の入力サンプルの同時の(またはほぼ同時の)処理が実施されることがある。そのような処理は、スケジューリングプロセスからの入力サンプリングの非干渉化を可能にする。したがって、一実施形では、入力の複数のサンプルが得られる。入力がアプリケーション状態を修正するために処理される時間が来たとき、その直近のイベントはその状態を更新するためにアプリケーションに送信される。一実施形態において、出力フレーム間のその状態を複数回更新するアプリケーションによって時間を縮小するために、そのアプリケーションは、更新(およびレンダリング)を実施することが適切なときに限り、入力を知らされることもある。このストラテジーは、直近のイベントをレンダリングすることによってのみレイテンシを縮小するのに効果的である間、スキップされたイベントは必要とされるまたは所望の情報を含むことが可能である。したがって、一実施形では、入力イベントはキューイングされ(そうでなければまとめられ/グループ化され)、グループとしてアプリケーションへ送られ(そうでなければ同時に、またはほぼ同時に処理され)、したがって、アプリケーションがその状態を更新する回数が減少する。入力イベントのそのような送信は、生じている更新の数を減少させ、特定の出力の方法/プロセスのための正しい時間において、入力イベントが伝達される尤度を増加させる。さらに、したがって、アプリケーションは、このキューイングの利点をなしで受信されるものと同じ(または大部分が同じ)入力を受信することもある。
本開示の全体にわたり、用語「タッチ(touch)」、「タッチ(touches)」、または他の記述語は、ユーザーの指、スタイラス、物体、又は身体部分がセンサにより検出される事象又は期間について記載するために使用されてもよい。いくつか実施形態では、ユーザーが、センサ、又はセンサが埋め込まれる装置と物理的に接触した場合にのみ、このような検出が生じる。他の実施形態では、センサは、タッチ表面上のある距離をホバリングしている「タッチ」、そうでなければタッチセンス装置から離れている「タッチ」の検出を可能にするように調整されうる。したがって、感知された物理接触への依存を示す本説明内の言葉の使用は、記載された技術がそれらの実施形態にのみしか適用されないことを意味するように解釈するべきではなく;実際に、本明細書に記載されるものの全てではないが、ほぼ全ては「タッチ」および「ホバリング」センサに等しく適用されるだろう。本明細書において使用されるように、フレーズ「タッチイベント」、および名詞として使用されたときの単語「タッチ」は、ニアタッチ(near touch)、ニアタッチイベント(near touch event)、またはセンサを使用して特定することができる他のいかなるジェスチャも含む。
少なくともいくつかの開示された態様は、ソフトウェア中で少なくとも部分的に具体化することができる。すなわち、技術は、メモリ、などのROM、揮発性RAM、不揮発性メモリ、キャッシュまたはリモートストレージデバイスに含まれていた命令のシーケンスを実行して、マイクロプロセッサーなどのそのプロセッサに応じて専用または汎用コンピュータシステム、または他のデータ処理システム中で実行されることがある。
実施形態を実行するために実行されるルーチンは、オペレーティングシステム、ファームウェア、ROM、ミドルウェア、サービス配信プラットフォーム、SDK(ソフトウェア開発キット)コンポーネント、ウェブサービス、または他の特定のアプリケーション、コンポーネント、プログラム、オブジェクト、モジュール、もしくは「コンピュータプログラム」と呼ばれる命令のシーケンスの一部として、実行されてもよい。これらのルーチンに対する呼び出しインターフェースは、API(アプリケーションプログラミングインタフェース)としてソフトウェア開発コミュニティーに公開することができる。コンピュータプログラムは、典型的には、コンピュータ内の様々なメモリおよび記憶デバイス中に、様々な時間において1つ以上の命令のセットを含み、そのセットは、コンピュータ内の1つ以上のプロセッサによって読み取られ実行されたとき、コンピュータに様々な態様に関する要素を実行するのに必要な操作を実施させる。
機械可読媒体は、データ処理システムによって実行されたときにシステムに様々な方法を実施させるソフトウェアおよびデータを記憶するために用いることができる。実行可能なソフトウェアおよびデータは、例えば、ROM、揮発性RAM、不揮発性メモリ、および/またはキャッシュを含む様々な場所に記憶されてもよい。このソフトウェアおよび/またはデータの部分は、これらの記憶デバイスのいずれか1つに記憶されてもよい。さらに、データおよび命令は集中型サーバまたはピアツーピア・ネットワークから取得することができる。データおよび命令の異なる部分は、様々な通信セッションまたは同じ通信セッション中に、様々な時間で、様々な集中型サーバおよび/またはピアツーピア・ネットワークから取得することができる。そのデータおよび命令の全体は、アプリケーションを実行する前に取得することができる。代替的に、そのデータおよび命令の部分は、実行に必要なとき、ジャスト・イン・タイムで動的に取得することができる。したがって、データおよび命令が、時間の特定の段階において、そのまま機械可読媒体上に存在することは要求されない。
コンピュータ可読媒体の例は、限定されないが、揮発性および非揮発性メモリ装置、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)、フラッシュメモリ装置、フロッピーディスクおよび他のリムーバブルディスク、磁気ディスク記憶媒体、光記録媒体(例えばコンパクトディスクリードオンリーメモリ(CD ROM)、デジタル多用途ディスク(DVD)等)などの、記録可能なタイプの媒体および非記録可能なタイプの媒体を含む。
一般的に、機械可読媒体は、マシン(例えばコンピュータ、ネットワークデバイス、携帯情報端末、製造ツール(manufacturing tool)、1つ以上のプロセッサのセットを備える任意のデバイス等)によってアクセス可能な形状で情報を提供する(例えば、記憶する)任意のメカニズムを含む。
実施形態では、ハードワイヤード回路は、その技術を実行するソフトウェア命令と組み合わせて用いられてもよい。したがって、その技術は、ハードウェア回路およびソフトウェアの任意の特定の組み合わせも、データ処理システムによって実行される命令のための任意の特定のソースも限定することはない。
上記の実施形態および選択物は本発明の例示となる。この特許のために、すべての組み合わせまたは実施形態を概説するまたは定義することは必要ではなく、それを意図してもいない。本発明者は、当業者が本発明の少なくとも1つの実施形態を実施することを可能にするために十分な情報を開示してきた。上記の記載および図面は、本発明の単なる例示であり、以下の請求項に定義されるような本発明の範囲から逸脱することなく、構成要素、構造、および手順を変更することが可能である。例えば、特定の順序で上記されたおよび/または以下の請求項中に記載された要素および/または工程は、本発明から逸脱することなく異なる順序で実施されてもよい。したがって、本発明はその実施形態に関連して具体的に示され記載されているが、形態および詳細の様々な変更は本発明の精神および範囲から逸脱することなくここでなされてもよいことが当業者によって理解される。

Claims (2)

  1. 入力タッチイベントに対して感受的なタッチセンシングシステムに動作可能に接続されたオペレーティングシステムと、ディスプレイシステムとを有するタッチセンシティブデバイスにおいて、入力タッチイベントと、入力タッチイベントを反映するフレームの表示との間のレイテンシを縮小する方法であって、該ディスプレイシステムはリフレッシュレートでフレームを表示し、該方法は:
    次のフレームリフレッシュの時間を推定する工程と;
    オペレーティングシステムから、入力タッチイベントを反映するタッチデータを受信する工程と;
    入力タッチイベントに関するアプリケーションを判定する工程と;
    アプリケーションが、受信したタッチデータを処理およびレンダリングするのにかかる時間を推定する工程と;
    アプリケーションへのタッチデータの送信が、少なくとも部分的に、アプリケーションがタッチデータを処理およびレンダリングするのにかかる推定時間と、次のフレームリフレッシュの推定時間とに基づいて、次のフレームリフレッシュの時間の前にアプリケーションがタッチデータを処理しレンダリングすることが可能となる時間を判定する工程と;
    判定された時間の直前にタッチデータをアプリケーションに提供する工程と;
    を含むことを特徴とする方法。
  2. 入力タッチイベントに対して感受的なタッチセンシングシステムに動作可能に接続されたオペレーティングシステムと、ディスプレイシステムとを有するタッチセンシティブデバイスにおいて、最新の入力タッチイベントと、入力タッチイベントを反映するフレームの表示との間のレイテンシを縮小する方法であって、該ディスプレイシステムはリフレッシュレートでフレームを表示し、該方法は:
    次のフレームリフレッシュの時間を推定する工程と;
    オペレーティングシステムから、第1のアプリケーションに関する複数の入力タッチイベントを反映したタッチデータを受信する工程と;
    アプリケーションが、受信したタッチデータ中の複数の入力タッチイベントを処理およびレンダリングするのにかかる時間を推定する工程と;
    アプリケーションへのタッチデータの送信が、少なくとも部分的に、アプリケーションがタッチデータを処理およびレンダリングするのにかかる推定時間と、次のフレームリフレッシュの推定時間とに基づいて、次のフレームリフレッシュの時間前にアプリケーションがタッチデータを処理しレンダリングすることを可能にする時間を判定する工程と;
    判定された時間の直前にタッチデータをアプリケーションに提供する工程と;
    を含むことを特徴とする方法。
JP2018536510A 2016-02-02 2017-02-02 レイテンシを最小化するために入力検知、レンダリング、および表示の時間を測定するためのシステムおよびその方法 Pending JP2019505045A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662290347P 2016-02-02 2016-02-02
US62/290,347 2016-02-02
PCT/US2017/016222 WO2017136554A1 (en) 2016-02-02 2017-02-02 System and method for timing input sensing, rendering, and display to minimize latency

Publications (1)

Publication Number Publication Date
JP2019505045A true JP2019505045A (ja) 2019-02-21

Family

ID=59501044

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018536510A Pending JP2019505045A (ja) 2016-02-02 2017-02-02 レイテンシを最小化するために入力検知、レンダリング、および表示の時間を測定するためのシステムおよびその方法

Country Status (4)

Country Link
JP (1) JP2019505045A (ja)
CN (1) CN109074189A (ja)
DE (1) DE112017000610T5 (ja)
WO (1) WO2017136554A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110971972B (zh) * 2019-11-27 2021-12-17 北京凯视达科技股份有限公司 用于播放视频的方法和装置、存储介质、电子设备
CN113867517A (zh) * 2020-06-30 2021-12-31 北京小米移动软件有限公司 触控方法、装置、电子设备和存储介质
CN111984181A (zh) * 2020-09-09 2020-11-24 Oppo(重庆)智能科技有限公司 一种画面刷新方法、装置、终端设备及存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8614690B2 (en) * 2008-09-26 2013-12-24 Apple Inc. Touch sensor panel using dummy ground conductors
US8947420B2 (en) * 2011-05-27 2015-02-03 Nokia Corporation Processing image content for content motion or touch input
EP2620843A1 (en) * 2012-01-27 2013-07-31 Research In Motion Limited Electronic device including touch-sensitive display
US8797340B2 (en) * 2012-10-02 2014-08-05 Nvidia Corporation System, method, and computer program product for modifying a pixel value as a function of a display duration estimate
US9430067B2 (en) * 2013-01-11 2016-08-30 Sony Corporation Device and method for touch detection on a display panel
US9703473B2 (en) * 2013-01-24 2017-07-11 Facebook, Inc. Predicting touch input
US9529525B2 (en) * 2013-08-30 2016-12-27 Nvidia Corporation Methods and apparatus for reducing perceived pen-to-ink latency on touchpad devices
CN103593155B (zh) * 2013-11-06 2016-09-07 华为终端有限公司 显示帧生成方法和终端设备
US9293119B2 (en) * 2014-01-06 2016-03-22 Nvidia Corporation Method and apparatus for optimizing display updates on an interactive display device
US10156976B2 (en) * 2014-01-30 2018-12-18 Samsung Display Co., Ltd. System and method in managing low-latency direct control feedback
US9710098B2 (en) * 2014-03-31 2017-07-18 Samsung Display Co., Ltd. Method and apparatus to reduce latency of touch events
US9354744B2 (en) * 2014-06-09 2016-05-31 Sony Corporation Adaptive touch panel synchronization

Also Published As

Publication number Publication date
WO2017136554A1 (en) 2017-08-10
CN109074189A (zh) 2018-12-21
DE112017000610T5 (de) 2018-10-11

Similar Documents

Publication Publication Date Title
US10402009B2 (en) System and method for timing input sensing, rendering, and display to minimize latency
US20130283145A1 (en) Approximating Electronic Document Last Reading Position
EP3117602B1 (en) Metadata-based photo and/or video animation
CN107924667A (zh) 与预测性时移补偿相匹配的刷新率
US10831263B2 (en) Dynamic augmented reality media creation
KR20160146281A (ko) 전자 장치 및 전자 장치에서 이미지 표시 방법
JP2019505045A (ja) レイテンシを最小化するために入力検知、レンダリング、および表示の時間を測定するためのシステムおよびその方法
US20190028768A1 (en) Display method and device for attached media information
US20120300123A1 (en) Processing image content for content motion or touch input
US9116605B2 (en) System and method for generating event distribution information
JP2015114970A (ja) 情報処理装置および情報処理方法
CN113407138B (zh) 应用程序的画面处理方法、装置、电子设备及存储介质
US20160110002A1 (en) Touch Input Method and Apparatus
US9946398B2 (en) System and method for timing input sensing, rendering, and display to minimize latency
CN115079832A (zh) 虚拟现实场景的显示处理方法及虚拟现实设备
CN107798718B (zh) 一种动画回放方法和装置
US11036693B2 (en) Apparatus of continuous profiling for multicore embedded system and method of the same
JP2012002952A (ja) 画像表示制御装置及び画像表示制御方法
US10551957B2 (en) Latency reduction for detached content
CN111258415B (zh) 基于视频的肢体动作检测方法、装置、终端和介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200121

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210112

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210830