JP2017529623A - ウェットインク予測器 - Google Patents
ウェットインク予測器 Download PDFInfo
- Publication number
- JP2017529623A JP2017529623A JP2017515707A JP2017515707A JP2017529623A JP 2017529623 A JP2017529623 A JP 2017529623A JP 2017515707 A JP2017515707 A JP 2017515707A JP 2017515707 A JP2017515707 A JP 2017515707A JP 2017529623 A JP2017529623 A JP 2017529623A
- Authority
- JP
- Japan
- Prior art keywords
- ink
- touch screen
- point
- wet ink
- points
- 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/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/0416—Control or interface arrangements specially adapted for digitisers
- G06F3/04162—Control or interface arrangements specially adapted for digitisers for exchanging data with external devices, e.g. smart pens, via the digitiser sensing hardware
-
- 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/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/0416—Control or interface arrangements specially adapted for digitisers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/171—Editing, e.g. inserting or deleting by use of digital ink
-
- 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/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
- G06F3/0233—Character input methods
- G06F3/0237—Character input methods using prediction or retrieval techniques
-
- 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/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0354—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
- G06F3/03545—Pens or stylus
-
- 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/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/0412—Digitisers structurally integrated in a display
-
- 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/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/0414—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means using force sensing means to determine a position
-
- 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
- G06F3/04883—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 for inputting data by handwriting, e.g. gesture or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/142—Image acquisition using hand-held instruments; Constructional details of the instruments
- G06V30/1423—Image acquisition using hand-held instruments; Constructional details of the instruments the instrument generating sequences of position coordinates corresponding to handwriting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/144—Image acquisition using a slot moved over the image; using discrete sensing elements at predetermined points; using automatic curve following means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/32—Digital ink
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/32—Digital ink
- G06V30/333—Preprocessing; Feature extraction
- G06V30/347—Sampling; Contour coding; Stroke extraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/041—Indexing scheme relating to G06F3/041 - G06F3/045
- G06F2203/04104—Multi-touch detection in digitiser, i.e. details about the simultaneous detection of a plurality of touching locations, e.g. multiple fingers or pen and finger
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/041—Indexing scheme relating to G06F3/041 - G06F3/045
- G06F2203/04106—Multi-sensing digitiser, i.e. digitiser using at least two different sensing technologies simultaneously or alternatively, e.g. for detecting pen and finger, for saving power or for improving position detection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- User Interface Of Digital Computer (AREA)
- Control Of Indicators Other Than Cathode Ray Tubes (AREA)
- Controls And Circuits For Display Device (AREA)
- Character Discrimination (AREA)
- Processing Or Creating Images (AREA)
Abstract
スタイラス、マウス、指(もしくは他のタッチ入力)、または他の描画装置などの物体を用いてユーザがインクコンテンツを作成中にインクの表示に対するレイテンシーを改善するためのシステムおよび方法が提供される。ユーザによって作成されたインクコンテンツを表示するための時間を低減させる、または最小化するために、本明細書に記載された技術の態様は、実際のウェットインクと共に表示することができる予測ウェットインクを生成する。予測ウェットインクは、アクティブなインクセグメントを予測距離延在させることによって計算される。予測距離は、アクティブなウェットインクセグメントに対する終了インク点と書込み物体の先端部との間の距離であることが意図されている。一態様において、予測距離は、タッチ装置の現在のレイテンシー期間および書込み物体の速度を判定することによって計算される。
Description
タブレット計算装置(または同様のタイプの組込み装置)は、ユーザが装置にデータを入力できるようにするタッチスクリーンをしばしば含む。ユーザによるデータ入力は、指またはスタイラス(もしくはペン)などの書込み物体を使用して行われることがある。書込み物体から装置への入力は、「インク」として表示される。
インクは、計算装置が処理し、操作することができるようにデジタル化されて、表示される。これは、デジタル化されたインクを装置上のオペレーティングシステムに送出し、プロセッサにインクを処理させ、次に、処理されたインクをグラフィックスカードに送ることによって行うことができる。次いで、グラフィックスカードは、(ユーザの動作の結果である)インクをモニターまたはディスプレイ上に描写する。
現在のインク描写技法の1つの欠陥は、レイテンシーがもたらされることである。ペンおよび指は、速く、事実上瞬時である傾向があるが、インクの描写は、遅れる傾向がある。実際、全インク描写プロセスは、約50〜100ミリ秒程度、またはさらに大きいことがあるレイテンシーをもたらす可能性がある。インク描写中のこのレイテンシーは、遅く厄介なユーザ体験を助長する可能性がある。
特に、このレイテンシーは、物体を直接操作する知覚のバリアを壊すという点で望ましくない影響である。もちろん、これらは、ほとんど、同じ場所が共用される体験がある状況で知覚される。言い換えれば、(スタイラスによってタブレット計算装置またはタッチスクリーン上に書くなどの)入力および出力が互いに同じ場所を共用する場合に、レイテンシーの影響が最も大きい。
マウスまたは書込み物体、例えば、指、スタイラス、アクティブペンもしくは表示領域のインクコンテンツに対する所望の位置をトレースするための他の描画装置などを用いてユーザがインクコンテンツを作成中に、インクの表示に対するレイテンシーを改善するためのシステムおよび方法が提供される。スタイラス/マウス/タッチ入力/他の装置を使用してユーザによって作成されるインクコンテンツを表示するための時間を低減させ、または最小化するために、本明細書に記載された技術の態様は、実際のウェットインクと共に表示することができる予測ウェットインクを生成する。予測ウェットインクは、アクティブなインクセグメントを予測距離延在させることによって計算される。予測距離は、アクティブなウェットインクセグメントに対する終了インク点と書込み物体の先端部との間の距離であることが意図されている。一態様において、予測距離は、タッチ装置の現在のレイテンシー期間および書込み物体の速度を判定することによって計算される。その場合、予測距離は、書込み物体がその速度で現在のレイテンシー期間に移動する距離である。さらにまたはあるいは、予測距離は、速度および加速度の両方を使用して計算されてもよい。
加えて、本明細書に記載された技術の態様は、生の圧力データが存在しない場所の圧力データをインク描写エンジンに対して生成することができる。生の圧力データは、感圧性タッチ面、アクティブペンなどによって生成されることがある。しかしながら、ユーザが書き込む多くの装置は、感圧性ではない。本明細書に記載された技術の態様は、圧力の代わりに書込み物体の速度を使用してインク描写エンジンに供給することができる圧力データを生成する。圧力データは、インク幅および/または他のインクパラメータを設定するためにインク描写エンジンによって使用されることがある。
本概要は、詳細な説明において以下でさらに記載される簡略化された形態の概念のうちのある選択されたものを紹介するために提供される。本概要は、特許請求された主題の主要な特徴または本質的な特徴を識別することは意図されておらず、特許請求された主題の範囲を判定する際の助けとして分離して使用されることも意図されていない。
本明細書に記載された技術について、添付図を参照して以下で詳細に記載する。
様々な態様において、スタイラス、マウス、指(もしくは他のタッチ入力)、または他の描画装置を用いてユーザがインクコンテンツを作成中にインクの表示レイテンシーを低減させるためのシステムおよび方法が提供される。特に、書込み物体のルートを予想し、予測ウェットインクを描写することによって、書込み物体がある点でタッチスクリーンに接触してから、ウェットインクがタッチスクリーン上に現れるその点を表現するまでのレイテンシーを低減させることができる。
「デジタルインク」は、デジタイザタブレット上のマウス、スタイラス/ペンなどの書込み物体、容量性のタッチデジタイザ上の容量性のスタイラスもしくは容量性の物体(例えば、指)、またはタッチセンシティブ表示画面を利用しても利用しなくてもよいデジタイザタブレットと一体化された表示画面上のスタイラス/ペンにより記録される1つまたは複数のストロークを指す。本明細書で使用されるように、用語「インク」は、「デジタルインク」と区別なく使用され、「デジタルインク」を指す。さらに、用語「書込み物体」は、ペン、スタイラス、指、またはタッチ入力を提供することができる他の任意の器具であってもよい。各ストロークは、1つまたは複数のインク点として記憶されてもよく、各インク点は、一例に過ぎないが、圧力、傾斜、アジマス、および入力器具の位置に対応する座標(x、y)を含む様々な特性を含むことができる。インク点は、書込み物体がタッチ面と接触した実際の接触点と区別可能である。例えば、ユーザは、計算機装置のタッチセンシティブ表示画面に沿ってペンを移動させ、それにより直線または曲線を描画することができ、計算機装置は、ユーザが入力器具を移動させるとともに、ある時間にわたって(または当業者に知られているようなその他の任意の間隔で)入力器具の先端位置の軌道に沿って座標(x、y)をサンプリングすることができる。これらの座標は、ユーザによって入力された曲線または直線に沿った接触点を表し、本明細書では「接触点」と呼ばれる。接触点は、タッチインターフェースに関連付けられたハードウェアコンポーネントによって生成することができる。一般に、ハードウェアコンポーネントは、各接触点を形成するためにタイムスタンプおよび位置情報を割り当てることができる。
書かれたテキストは、直線セグメントによって接続された一連の座標よりも多くの情報を伝えることができる。例えば、書かれたインクは、ペン圧力(インクの太さによる)、ペン角度(直線または曲線のセグメントの形状、および不連続点のまわりのインクの挙動による)、ならびにペン先の速度(直線または曲線の全体にわたる直線性、線幅および線幅の変化による)を反映するように変化する。インクのこれらのさらなる特性を処理することによって、分析される書かれたテキストの感情、個性、強調点などを明らかにすることができる。
デジタルインクは、ストロークのシーケンスまたはストロークの何らかの任意の集合を指すことができ、各ストロークが点のシーケンスから構成される。ストロークは、同時に描画されまたは収集されたものであってもよく、あるいは別個の時間および位置で、ならびに別個の理由で描画されまたは収集されたものであってもよい。各点は、デカルト座標(X、Y)、極座標(r、Θ)、および当技術分野で知られている他の技法を含む様々な公知の技法を使用して表されてもよい。デジタルインクは、圧力、角度、速度、色、スタイラスサイズ、およびインク不透明度を含む特性の表現を含んでもよい。デジタルインクは、他の情報のなかでもとりわけ、ページにインクをどのように堆積させたかの順序(ほとんどの西洋言語に対しては左から右へ、次いで下へのラスタパターン)、タイムスタンプ(インクをいつ堆積させたかを示す)、インクの作成者の表示、および作成装置(インクが描画されたマシンの識別情報またはインクを堆積させるために使用されたペンの識別情報のうちの少なくとも1つ)を含む他の特性をさらに含んでもよい。
インク描写エンジンは、入力として接触点を捉え、インクセグメントを形成する「インク点」を生成することができる。インク描写エンジンは、オペレーティングシステムの一部、インクを受け取るアプリケーションの一部、またはスタンドアロンのアプリケーションであってもよい。インク点は、デジタルインクを描写するために使用され、このデジタルインクが、ユーザが見る表示された内容である。インク描写エンジンは、接触点を使用する様々な平滑化アルゴリズムおよび/またはフィルタを用いて、ユーザが紙に描いた外観に非常によく似た、複数のインク点を含むストロークを形成することができる。個々のインク点の位置は、個々の接触点の位置とは異なることができるが、接触点は、時にはインク点と一致することがある。
インク点を生成する前に、接触点は、フィルタされ、さもなければ処理され、インクを生成するために使用される後続のプロセスの性能を改善することができる。一態様において、接触点は、複数のフィルタされた接触点を生成するために処理される。本明細書で使用されるように、用語「接触点」は、フィルタされた接触点を含むことができる。したがって、接触点がインク生成プロセスまたは他の計算への入力として記載される場合、フィルタされた接触点または生の接触点を意味する場合がある。反対に、フィルタされた接触点は、生の接触点を含まない。
一態様において、セグメント発生器を使用して、一連の複数の接触点、またはことによると複数のフィルタされた接触点を使用して計算されたインク点を含むインクセグメントを形成する。インクセグメントは、インクの色および幅のような表示特性と共に、セグメントのインク点を使用して、ウェットインクとしてディスプレイ上に描写されることがある。インクセグメントは、開始インク点から終了インク点まで延びる。
ユーザによって作成されたインクコンテンツを描写することに関する困難さの1つは、ユーザの動作が結果としてインクコンテンツの表示となって見えるように、インクコンテンツを十分に素早く表示することである。インクコンテンツ作成のためのユーザ動作に対する応答において、わずか約50ミリ秒以下の遅延をユーザは、知覚することができると判定された。ユーザによって作成されているインクコンテンツの表示の遅延が、終了インク点と書込み物体の先端部との間のギャップとして目に見える場合、コンテンツ作成は、書込み面上で物理的なペンを使用してインクを作成する感覚をもはや有さない場合があるため、この遅延は、ユーザ体験を混乱させる可能性がある。
本明細書に記載された技術の態様は、予測ウェットインクを生成することによってこの難題を克服する。予測ウェットインクは、アクティブなインクセグメントを、予測距離延在させることによって計算される。予測距離は、終了インク点と書込み物体の先端部との間の距離であることが意図されている。一態様において、予測距離は、タッチ装置上での現在のレイテンシー期間および書込み物体の速度を判定することによって計算される。その場合、予測距離は、書込み物体がその速度で現在のレイテンシー期間に移動する距離である。
書込み物体の速度は、最後の2つの接触点のタイムスタンプを使用して計算されてもよく、または、現在のインクストロークにおける点をすべて含むいくつかの接触点を使用して計算されてもよい。本明細書で使用されるように、インクストロークは、ペンダウン事象とペンアップ事象との間に生成されるデジタルインクである。ペンダウン事象は、最初の接触点が書込み物体によって生成されるときに発生する。ペンアップ事象は、タッチスクリーンと書込み物体との間の接触を検出しないことに相当する。一態様において、最近の接触点は、速度計算において先行する接触点よりも多くの重みを与えられる。
本明細書で使用されるように、「接触」は、文字通りの接触が生じていない近接を意味することができる。書込み物体が実際にタッチスクリーンに接触していない場合、一部のタッチ面は、スクリーンへの書込み物体の近接を感知することができる。そのような近接検出は、「接触」と考えられてもよく、ペンダウン事象および「接触点」を生成するために使用されてもよい。
一態様において、書込み物体の加速度も予測距離を判定するために使用される。加速度は、一連の接触点にわたって計算されることがある。
一部の態様において、本明細書に記載されるシステムおよび方法の恩恵は、インクコンテンツの表示に対する目に見えるレイテンシーを低減させるためにコンピュータの性能を改善することである。また、そのような改善は、インクコンテンツの作成中にユーザ体験の改善に結びつく可能性がある。
様々な態様において、本明細書に記載されるシステムおよび方法によって、ユーザが、入力装置、例えば、スタイラス、タッチ入力を受け取るためのタッチインターフェース、マウス、または表示エリア内部のカーソルの移動を制御することができる別の装置を使用して、インク入力を作成することが可能となる場合がある。
定義
以下の議論では、本明細書に記載された技術によるシステムおよび方法の例は、マイクロソフト(登録商標)の動作環境に基づいた動作環境を使用して、例示されることがあるが、態様は、この環境に限定されない。さらに、ある用語は、様々な態様を記載する際に参照をしやすくするために使用される。以下の明示的な定義は、様々な態様についての理解を助けるために提供される。
以下の議論では、本明細書に記載された技術によるシステムおよび方法の例は、マイクロソフト(登録商標)の動作環境に基づいた動作環境を使用して、例示されることがあるが、態様は、この環境に限定されない。さらに、ある用語は、様々な態様を記載する際に参照をしやすくするために使用される。以下の明示的な定義は、様々な態様についての理解を助けるために提供される。
本明細書で利用されるように、「デジタルインク」は、特性を有するストロークのシーケンスまたは集合である。ストロークのシーケンスは、順序づけられた形態のストロークを含むことができる。シーケンスは、捕捉された時間によって、またはストロークがページ上に現れる場所によって、あるいはインクの作成者による協力状況において順序づけされることがある。他の順序が可能である。ストロークの集合は、ストロークのシーケンスまたは無秩序のストローク、あるいはそれらの任意の組合せを含んでもよい。さらに、一部の特性は、各ストロークまたはストロークの点に対して固有であってもよい(例えば、圧力、速度、角度など)。これらの特性は、インクのレベルではなく、ストロークまたは点のレベルで記憶されることがある。
本明細書で利用されるように、「点」は、空間における位置を規定する情報である。例えば、点は、捕捉空間(例えば、デジタイザ上の点)、仮想インク空間(捕捉されたインクが配置される空間の座標)、および/または表示空間(ディスプレイ装置の点またはピクセル)に対して規定されてもよい。
本明細書で利用されるように、「ストローク」は、捕捉された点のシーケンスまたは集合である。例えば、描写されるとき、点のシーケンスは、線で接続されてもよい。あるいは、ストロークは、ある点と次の点の方向を向くベクトルとして表されてもよい。要するに、ストロークは、点および/または点を接続したものの背後にある表現に関係なく、インクに関連する点またはセグメントのあらゆる表現を包含することが意図されている。
本明細書で利用されるように、「筆記具」は、デジタルインクに対応するストロークを提供するための装置である。例えば、筆記具は、ペン、指、スタイラス、およびデジタルインク対応面によって感知することができる先のとがった物体を含むことができる。
ウェットインク:インクストロークが進行中に、すなわち接触(例えば、ペン)が表面からまだ持ち上げられていない間に、描写されるインク。様々な態様において、ウェットインク上の一部は、予測インクを含むことができる。
ドライインク:インクストロークが完了した後に、描写されたまたは再描写されたインク、あるいは入力以外のソース(残存するインクコンテンツ)からロードされたインクデータから描写されたインク。
予測インク:ユーザがインクストロークを続けようと意図している場所の予測に基づいて描写されるインク。予測インクストロークは、ウェットインクストロークの最後の描写されたピクセルに対応する開始点から終了点まで延びることができる。ウェットインクストロークの最後の描写されたピクセルは、タッチスクリーン上のユーザ入力に基づいて判定される。最後の点は、ストロークが完了するまで、新しいウェットインクがストロークに追加されるとともに絶えず変化する。
半ドライインク:ドライインク層に同期中の中間層のインク。
予測インクプロセスフロー
ここで、図1を参照すると、本明細書に記載された技術の態様による、予測インクを生成するためのプロセスフロー100が示されている。プロセスフロー100は、スマートフォン、タブレット、ラップトップ、または知覚画素ディスプレイなどのタッチセンシティブ装置上で動作するインクエンジンによって行うことができる。インクエンジンは、装置のオペレーティングシステムと一体化されてもよく、スタンドアロンのアプリケーションであってもよく、描画もしくは筆記アプリケーションなどの手書き入力を受け取るアプリケーションと一体化されてもよい。工程102で、点情報が受け取られる。点情報は、スタイラス、アクティブペン、または指などの筆記具が接触したタッチスクリーン面上の特定の接触点を指定することができる。接触点は、フィルタされた接触点を指すこともある。
ここで、図1を参照すると、本明細書に記載された技術の態様による、予測インクを生成するためのプロセスフロー100が示されている。プロセスフロー100は、スマートフォン、タブレット、ラップトップ、または知覚画素ディスプレイなどのタッチセンシティブ装置上で動作するインクエンジンによって行うことができる。インクエンジンは、装置のオペレーティングシステムと一体化されてもよく、スタンドアロンのアプリケーションであってもよく、描画もしくは筆記アプリケーションなどの手書き入力を受け取るアプリケーションと一体化されてもよい。工程102で、点情報が受け取られる。点情報は、スタイラス、アクティブペン、または指などの筆記具が接触したタッチスクリーン面上の特定の接触点を指定することができる。接触点は、フィルタされた接触点を指すこともある。
判定ポイント104で、点情報は、点が新しいインクストロークの開始を表すかどうかを判定するために評価される。新しいインクストロークの開始は、ペンダウン事象に相当してもよい。ペンダウン事象は、筆記具がタッチスクリーンに接触するときに生じることがある。ペンダウン事象の直後に受け取られた点は、ストロークの最初の点である可能性がある。ペンアップ事象が生じる前ではなく、ペンダウン事象の後に受け取られた点は、同一のストロークの一部と考えられてもよい。ペンアップ事象は、筆記具のタッチスクリーンとの接触が途絶える、またはしきい値期間よりも長い期間途絶える場合に生じる。言い換えると、ペンアップ事象は、タッチ面がペンのタッチ面との接触を検出するのを停止する、またはしきい値時間よりも長い期間ペンの検出を停止する場合に生じる。
工程102で受け取られた点が新しいストロークの開始である場合、工程106で、フィッタが初期化される。フィッタの初期化は、新しいストロークの処理に備えて新しいフィッタプロセスの初期化または進行中プロセスからのデータの消去を含んでもよい。フィッタは、後でより詳細に記載されるが、要するに、フィッタは、ストローク内部の点を辿るウェットインクを生成する。異なるタイプのフィッタが使用されてもよい。1つのタイプのフィッタは、ドットを接続するように、点を接続することができる。第2のタイプのフィッタは、接触点を追跡するが、ストロークに関連付けられたすべての所与の接触点と交差することも、交差しないこともある比較的滑らかな線の描画を試みることができる。第2のタイプのフィッタは、インクストロークを共に形成する一連の湾曲したセグメントを生成することができる。
フィッタ状態が初期化された後、点が返される。点を返すことによって、点は、ストロークと関連付けられ、さらなる点が受け取られるとともに、後続の処理のために保存されてもよい。例えば、他の点と共にその点は、ウェットインクのセグメントを生成するために処理されてもよい。
判定ポイント104で判定されるように、点がストロークの開始点でない場合、工程110でフィッタが実行される。言及したように、フィッタは、ストロークの一部として受け取られた点を、各点を辿るウェットインクのセグメントを描写するために使用することができる入出力データとしてとらえる。
判定ポイント112で、新しい点がフィッタ内部のアクティブなセグメント内部でよく一致しているかどうかが判定される。一態様において、フィッタは、セグメントのシーケンスを生成する。セグメントは、直線または曲線の形態をとることがある。ある点では、新しい点は、既存のセグメントに厳密には一致しない場合がある。例えば、ユーザが自身の筆跡の方向を急に調整または変更する場合、調整後に受け取られた最初の点は、以前の点と一致しない場合がある。一致がよくないことが検出されると、フィッタ状態は、工程114で更新され、新しいセグメントを生成する準備を行い、既存のセグメントは、工程116で終結する。異なるセグメントが同一のストロークの一部であってもよい。言及したように、ストロークは、ペンダウンおよびその後のペンアップ事象によって規定することができる。
判定ポイント112で、新しい点がよく一致している場合、判定ポイント118で、ストローク内部に、生成された複数のセグメントがあるかどうかが判定される。さらなるセグメントが存在する場合、工程120で、新しい点を使用してセグメント間の関係を更新することができる。更新は、工程120でC1連続性アルゴリズムを実行することによって達成されてもよい。判定ポイント118で1つのセグメントのみが存在する場合、または以前のセグメントの連続性が工程120で更新された後、予測インクが工程122で計算される。言及したように、予測インクは、実際のウェットインクが終了した場所の端部に表示される。実際のウェットインクが生成されるとともに、予測インクが置き換えられるが、新しい予測インクが、ペンアップ事象においてストロークが終了するまで連続的に生成されてもよい。
予測インクは、ディスプレイ上に描写される実際のウェットインクが終了するところと、タッチスクリーン上の書込み物体の先端部との間のギャップを埋めようと試みる。一態様において、ウェットインクの端部と書込み物体の先端との間の距離は、システム内部のレイテンシーを判定することによって初めに判定される。レイテンシーは、生の点データを生成する、タッチスクリーンに関連付けられたハードウェア処理パイプライン、ならびに、ウェットインクを生成するために生の点データを処理する描写パイプラインの遅延によって引き起こされることがある。言い換えれば、筆記具は、ウェットインクを生成することができる速さよりも速くタッチスクリーンを横切って移動することができる。
予測インクの例
ここで、図2を参照すると、レイテンシーによって引き起こされたウェットインクのギャップが示されている。図2は、インクストローク205が進行しているタッチスクリーンディスプレイ200を示す。インクストローク205は、タッチスクリーンディスプレイを横切って筆記具212を移動させるユーザの手210によって生成される。見て分かるように、インクストローク205のウェットインクは、終了インク点206で終了する。装置およびインク処理エンジン内部のレイテンシーは、インクの進行が書込み物体の先端部213よりも遅れる原因となる。この遅れによって、ウェットインク終了点206と筆記具212の先端部213との間にギャップ214が生じる。本明細書に記載された技術の態様において、予測インク(図2には示さず)は、ウェットインク終了点206と書込み物体の先端部213との間のギャップ214にまたがるように生成される。
ここで、図2を参照すると、レイテンシーによって引き起こされたウェットインクのギャップが示されている。図2は、インクストローク205が進行しているタッチスクリーンディスプレイ200を示す。インクストローク205は、タッチスクリーンディスプレイを横切って筆記具212を移動させるユーザの手210によって生成される。見て分かるように、インクストローク205のウェットインクは、終了インク点206で終了する。装置およびインク処理エンジン内部のレイテンシーは、インクの進行が書込み物体の先端部213よりも遅れる原因となる。この遅れによって、ウェットインク終了点206と筆記具212の先端部213との間にギャップ214が生じる。本明細書に記載された技術の態様において、予測インク(図2には示さず)は、ウェットインク終了点206と書込み物体の先端部213との間のギャップ214にまたがるように生成される。
ここで、図3を参照すると、予測インクの不正確な生成が示されている。タッチスクリーン300は、タッチスクリーン300を横切って筆記具312の先端部313を走らせるユーザ310によって生成されたアクティブなストローク305を示す。ウェットインクは、インク終了点306で終了する。この場合、予測ウェットインク315(破線)が実際のウェットインク(実線)の端部に追加されている。長さ314は、予測ウェットインク315がウェットインクのインク終了点306と筆記具312の先端部313との間の距離を相当量307超える原因となる。本明細書に記載された技術の態様は、ウェットインクのインク終了点306と筆記具312の先端部313との間の距離を正確に予測することによって、ウェットインクの過度の超過を生成しないようにする。
ここで、図4を参照すると、本明細書に記載された技術の態様による、正確にサイズが調整された予測インクが示されている。タッチスクリーン400は、タッチスクリーン400を横切って筆記具412の先端部413を走らせるユーザ410によって生成されたアクティブなインクストローク405を示す。ウェットインクを含むアクティブなストロークは、インク終了点406で終了する。予測インクは、インク終了点406から始まって、点407まで延び、この点407がタッチスクリーン上で先端部413に対応する。ウェットインクのインク終了点406と筆記具の先端部との間の差に相当する長さ414を有する予測インクを、本明細書に記載された技術の態様により生成することができる。より詳細に説明されるように、本明細書に記載された技術の態様は、筆記具の前に飛び出す予測インク、または描写されたインクと書込み物体の先端部413との間にギャップを露出させる、筆記具よりも遅れる予測インクを生成しないようにしようとする。
図5は、例示的な接触点、ウェットインク点、ウェットインク、および予測インクを示す。接触点は、第1の接触点502、第2の接触点504、第3の接触点506、最後から2番目の接触点508、および終了接触点510を含む。ウェットインク530は、第1の接触点502、第1のウェットインク点520、第2のウェットインク点522、第3のウェットインク点524、および終了接触点510を通って描画されている。態様において、ウェットインク点は、ベジェ近似を使用して計算することができる。第2の接触点504、第3の接触点506、および最後から2番目の接触点508は、ベジェ近似における制約条件として働くことができる。ウェットインク540は、表面を横切る書込み物体の速度および任意選択により加速度を使用して、ベジェ近似を再パラメータ化することによって計算することができる。ウェットインク530は、インクセグメントの一部を形成することができる。
予備フィルタリング
言及したように、本明細書に記載された技術の態様は、接触点をフィルタしてフィルタされた接触点の集合を生成することができる。接触点が多くのノイズを有する、またはあまりよい品質でないシナリオでは、フィッティングアルゴリズムの出力は、1セグメント当たりフィッティングされる点が少ないために「滑らか」に見えないことがある。一態様において、入力点は、フィッティングされる曲線からせいぜい10ヒメトリック単位しか離れていないため、ジッタの多いデータは、この限度をしばしば超えることが多い。結果として得られるベジェ曲線は、それでも入力点と一致するが、誤差がハードウェアによってもたらされるため、ユーザが意図したものに見えない可能性が最も高い。フィッティング誤差公差を増加させてジッタの影響を弱めることができるが、これは、インキング中にインク形状が目に見えて変化するという望ましくない影響を生成する。フィッティング誤差公差を増加させる代わりに、この問題を軽減する1つの仕方は、フィッティングアルゴリズムを実行する前に各点をフィルタに通すことによって、入力点を前処理することである。フィルタリング入力の短所は、レイテンシーの増加である。フィルタリングによって引き起こされるレイテンシーは、予測インクの長さを判定するために使用されるレイテンシーに含まれることがある。
言及したように、本明細書に記載された技術の態様は、接触点をフィルタしてフィルタされた接触点の集合を生成することができる。接触点が多くのノイズを有する、またはあまりよい品質でないシナリオでは、フィッティングアルゴリズムの出力は、1セグメント当たりフィッティングされる点が少ないために「滑らか」に見えないことがある。一態様において、入力点は、フィッティングされる曲線からせいぜい10ヒメトリック単位しか離れていないため、ジッタの多いデータは、この限度をしばしば超えることが多い。結果として得られるベジェ曲線は、それでも入力点と一致するが、誤差がハードウェアによってもたらされるため、ユーザが意図したものに見えない可能性が最も高い。フィッティング誤差公差を増加させてジッタの影響を弱めることができるが、これは、インキング中にインク形状が目に見えて変化するという望ましくない影響を生成する。フィッティング誤差公差を増加させる代わりに、この問題を軽減する1つの仕方は、フィッティングアルゴリズムを実行する前に各点をフィルタに通すことによって、入力点を前処理することである。フィルタリング入力の短所は、レイテンシーの増加である。フィルタリングによって引き起こされるレイテンシーは、予測インクの長さを判定するために使用されるレイテンシーに含まれることがある。
いくつかの異なるフィルタリング方法が可能である。ノイズをフィルタする第1の方法は、入力点の移動平均をとることである。一例は、各入力点が以前のおよび後続の点を用いて平均される3点平均である。具体的には、入力点{p0、...、pn-1}が与えられると、結果として生じる点
点は、次の点がわかるまで計算することができず、それによって、次の入力点を受け取るのにかかる時間だけレイテンシーが増加することに留意されたい。これは、平均値により多くの点を含むように拡張することができる。例えば、5点平均は、5つの連続した点の平均をとる。
EAn無限インパルス応答(IIR)フィルタは、本明細書に記載された技術の態様と共に使用することができる第2のフィルタである。IIRは、結果として生じる値が以前の値すべてに依存する移動平均に似ている。指数IIRフィルタによって、以前の点の重みは、指数関数的に減少する。現在の平滑化された点
αは、現在の入力点および以前の平滑化された点の重みを決定するパラメータである。
指数フィルタの適用は、フィルタされた点が曲線の内側に向かう傾向がある移動平均と同様の影響を有することに注目されたい。また、より大きな重みが以前の点にかけられる(すなわち、αがより小さい)場合、結果として生じる点は、実際の入力点よりもさらに遅れる。また、結果として生じるストロークの終了点は、目に見えて最後の実際の入力点よりも遅れる。これは、最後の入力点が、結果として生じるストロークの最後の点であると規定される移動平均とは異なる。
現在の速度または他の要因に基づいてαを変えることが可能であることに留意されたい。例えば、αは、平滑化された点が大幅に遅れずに、かつレイテンシーがそれほど感知されないように、より速い速度に対してはより大きくすることができる。速度計算には入力点のタイムスタンプを知る必要があることに留意されたい。したがって、生の接触点を使用して速度を判定してもよい。別の態様において、フィルタされた接触点は、対応する生の接触点と同一のタイムスタンプ情報を含む。
インクフィッタ
言及したように、図1を参照して言及したフィッタなどのフィッタは、入力として接触点を受け取り、ウェットインクおよびドライインクの両方を形成するために使用されるインク点を生成する。一態様において、三次ベジェフィッタは、三次ベジェセグメントを生成する。フィッティングアルゴリズムは、三次ベジェセグメントの集合によってインク点のストロークを近似する。ベジェセグメントは、ベジェアルゴリズムを使用して生成された曲線である。ベジェセグメントの一方の端部は、接触点上にある。端部点間の接触点は、ベジェアルゴリズムのための制御点となることができる。接触点は、ベジェアルゴリズムによって生成された曲線上になくてもよい。アルゴリズムがある時点で1つの接触点に与えられると、新しい点それぞれに対して、アルゴリズムは、アクティブなベジェセグメントを更新し、またはその点をアクティブなセグメントと十分によく一致させることができない場合は、新しいセグメントを開始する。一致は、セグメント化ロジックを使用して評価することができる。
言及したように、図1を参照して言及したフィッタなどのフィッタは、入力として接触点を受け取り、ウェットインクおよびドライインクの両方を形成するために使用されるインク点を生成する。一態様において、三次ベジェフィッタは、三次ベジェセグメントを生成する。フィッティングアルゴリズムは、三次ベジェセグメントの集合によってインク点のストロークを近似する。ベジェセグメントは、ベジェアルゴリズムを使用して生成された曲線である。ベジェセグメントの一方の端部は、接触点上にある。端部点間の接触点は、ベジェアルゴリズムのための制御点となることができる。接触点は、ベジェアルゴリズムによって生成された曲線上になくてもよい。アルゴリズムがある時点で1つの接触点に与えられると、新しい点それぞれに対して、アルゴリズムは、アクティブなベジェセグメントを更新し、またはその点をアクティブなセグメントと十分によく一致させることができない場合は、新しいセグメントを開始する。一致は、セグメント化ロジックを使用して評価することができる。
三次ベジェフィッタは、アクティブな点の集合を維持する。新しい点が受け取られるごとに、その点は、その集合に追加され、フィッタは、新しい三次ベジェ近似を計算する。三次ベジェ近似は、他の点と一致しない点を受け取り、それによってアクティブなセグメントを終結させ、新しいセグメントを開始するまで更新し続ける。単一のストロークは、複数のセグメントを含むことができる。各セグメントは、接続され、第1のセグメントの終点は、次のセグメントの始点である。言い換えれば、隣接するセグメントは、接触点を共有する。したがって、ストロークの始点は、セグメント化ロジックによってリセットされることがあるため、アクティブな集合は、必ずしもすべての点を含んでいるとは限らない。三次ベジェセグメントB(t)は、その4つの制御点C0、C1、C2、C3によって規定される。すなわち、
B(t)=(1−t)3C0+3(1−t)2tC1+3(1−t)t2C2+t3C3、t∈[0,1]
B(t)=(1−t)3C0+3(1−t)2tC1+3(1−t)t2C2+t3C3、t∈[0,1]
任意の所与の時点で、アルゴリズムは、アクティブな点の集合S_k={p_0、p_l、...、p_(k-1)}を、1つの単一ベジェセグメントB(t)とフィッティングさせる。フィッティング作業は、最小化問題として定式化される。すなわち、
D*(t)=argminBE
D*(t)=argminBE
ここでEは、以下でより完全に記載されるある誤差関数である。
P(t)、t∈[0、1]が記述される暗黙のポリラインであり、集合がSkとする。その場合、
P(0)=p0
P(1)=pk−1
P(0)=p0
P(1)=pk−1
ポリライン上の点とベジェとの間の距離を計算することは、費用がかかるため、様々な態様において、同一のパラメータ値tでポリラインおよびベジェをサンプリングすることによって得られる2点間の距離の近似値を求める。すなわち、
その場合、最小化が望まれる誤差関数は、次のように規定することができる。すなわち、
N=kおよびtiは、P(ti)=pi、i=0、1、...、k−1となるように選択されてもよく、それにより誤差関数は、Sk内のすべての点かつそれらの点のみを評価する。しかしながら、三次近似が用いられているため、サンプルは、少なくとも4つの点を含む。
最小化問題の変数は、Bの制御点である。C=[C0、C1、C2、C3]を制御点のベクトルとする。勾配降下手法を使用して、最適値を見出す。すなわち、
更新ルールのパラメータαは、収束率を制御する。一般に、値が大きいほど必要とされる反復は、少なくなるが、同時に、αが大きい場合、計算は、不安定になる可能性がある。利用することができる1つの例示的なパラメータαは、次のとおりである。すなわち、
さらに、フィッティング誤差に全く改善をもたらさなかった反復の数でαを割ることによって発散のリスクを軽減することができる。
更新ルールには、三次ベジェ近似の4つの制御点に対応する4つの自由度があることに留意されたい。しかしながら、次節に記載されるセグメント化コンポーネント230は、スプラインに所望の解析特性(例えば、連続性)を付与するためにこれらの自由度のうちの一部を使用する。
セグメント化
セグメント化ロジックは、2つの基本タスクを達成する。第1に、セグメント化ロジックは、新しいベジェ近似を開始するべきか、現在の近似を更新するべきかどうかを判定する。第2に、セグメント化ロジックは、新しい近似または曲線を開始するときは常に、三次ベジェフィッタを再構成することによって、スプラインに対して解析特性(最も注目すべきはC0またはC1連続性)を実施する。本明細書で利用されるように、また、当業者によって理解されるように、「連続性」は、隣接するベジェ曲線が接続する接合部での相対的な平滑度を指す。「C0連続性」は、隣接するベジェ曲線が同一の端部点を共有する状況を指す。「C1連続性」は、隣接するベジェ曲線が同一の端部点および同一の微分係数の両方を共有する状況を指す。
セグメント化ロジックは、2つの基本タスクを達成する。第1に、セグメント化ロジックは、新しいベジェ近似を開始するべきか、現在の近似を更新するべきかどうかを判定する。第2に、セグメント化ロジックは、新しい近似または曲線を開始するときは常に、三次ベジェフィッタを再構成することによって、スプラインに対して解析特性(最も注目すべきはC0またはC1連続性)を実施する。本明細書で利用されるように、また、当業者によって理解されるように、「連続性」は、隣接するベジェ曲線が接続する接合部での相対的な平滑度を指す。「C0連続性」は、隣接するベジェ曲線が同一の端部点を共有する状況を指す。「C1連続性」は、隣接するベジェ曲線が同一の端部点および同一の微分係数の両方を共有する状況を指す。
新しいベジェ近似を開始するべきか、現在の近似を更新するべきかという判定は、フィッティングの品質に基づく。より具体的には、新しいベジェ近似を開始するべきか、現在の近似を更新するべきかという判定は、受け取ったデジタル化されたインク点と、三次ベジェフィッタによって計算された最良近似との間の最大距離に基づく。態様において、カットオフしきい値は、10ヒメトリック単位(0.1mm)であってもよく、このしきい値を超える点では、ユーザビリティ研究のユーザは、新しい点が到来するとともに(新しい点に延在する以外は)、インクの変化が目に見てわかることを示した。しかしながら、しきい値は、描写されているときのインクの物理的サイズと相関があることに留意されたい。例えば、ウェットインク(すなわち、入力器具が受取り面から解放される前に、ストローク動作中に描写されるインク)が10倍の倍率で描写されている場合は、しきい値は、おそらく10倍小さい必要があり、さもなければ、ユーザは、インクの変化に気づく。もちろん、ドライインク(すなわち、入力器具が受取り面から解放されたときの受取り面上のインク)は、変化しない(すなわち、セグメント化は既に行われている)ため、この点は、ウェットインクに対してのみ意味がある。しきい値は、以前のインク点の任意の量、そのようなインク点の任意の特徴(例えば、座標、圧力、傾斜、ねじれなど)の関数であってもよく、および/または装置依存性(例えば、DPI、利用可能なメモリ、CPU、GPUなど)があってもよいことにさらに留意されたい。あらゆる、そのような変形形態、およびそれらの任意の組合せは、本明細書に記載された技術の範囲内であると考えられる。
セグメント化ロジックによって達成される他の重要なタスクは、スプラインに対して所望の解析特性を付与することである。少なくとも、スプラインは、接続されていなければならず(C0連続性)、このことは、各ベジェ曲線またはセグメントの第1の制御点が以前の曲線またはセグメントの最後の制御点と一致していなければならず、それによって1つの自由度を失うことを意味する。すなわち、
C0連続性:Cs−1、3=Cs、0
C0連続性:Cs−1、3=Cs、0
C0連続性は、スプラインが接続されていることを保証するが、滑らかなインクを生成するのには十分ではない。本明細書に記載された技術の態様によると、好ましくないアーチファクトは、C1連続性を付与することによって除去することができる。パラメトリックC1連続性は、t=0でのセグメントの微分係数がt=1での以前のセグメントの微分係数と一致することを必要とする。すなわち、
B’ s(0)=B’ s−1(1)⇒Cs、1−Cs、0=Cs−1、3−Cs−1、2
B’ s(0)=B’ s−1(1)⇒Cs、1−Cs、0=Cs−1、3−Cs−1、2
しかしながら、良好なフィッティングの生成に対する自由をほとんど残さないパラメトリックC1連続性が付与される場合、別の自由度が失われる。幸運にも、スプラインが滑らかに見えるために必要なのは、(パラメトリックとは対照的に)幾何学的C1連続性だけであり、この幾何学的C1連続性は、制約が少なく、第2の制御点の方向のみを制約すればよい。すなわち、
幾何学的C1連続性:Cs、1−Cs、0=β(Cs−1、3−Cs−1、2)、β>0
幾何学的C1連続性:Cs、1−Cs、0=β(Cs−1、3−Cs−1、2)、β>0
本明細書の実施形態によると、幾何学的C1連続性は、更新ルールが適用された後に、必要な方向に第2の制御点を投影することによって付与されてもよい。
予測インク計算
ここで、図6を参照すると、本明細書に記載された技術の態様による、ディスプレイ装置上に予測ウェットインクコンテンツを描写する方法600を示す流れ図が提供されている。工程610で、タッチスクリーンの表面を横切る書込み物体によって作られた経路上の複数の接触点が受け取られる。
ここで、図6を参照すると、本明細書に記載された技術の態様による、ディスプレイ装置上に予測ウェットインクコンテンツを描写する方法600を示す流れ図が提供されている。工程610で、タッチスクリーンの表面を横切る書込み物体によって作られた経路上の複数の接触点が受け取られる。
工程620で、入力として複数の接触点を使用してアクティブな三次ベジェ近似が計算される。アクティブなベジェ近似は、開始接触点および終了接触点を有する。ベジェ近似の生成については上記された。
工程630で、書込み物体がある位置でタッチスクリーンに接触してから、その位置に対応する点を考慮に入れたウェットインクをタッチスクリーンディスプレイ上に表示するまでレイテンシー期間が判定される。一態様において、レイテンシー期間は、20ms以上、例えば30ms以上、または例えば40ms以上、または例えば50ms以上、または例えば60ms以上、または例えば80ms以上、または例えば100ms以上であると判定される。一態様において、レイテンシーは、レイテンシーを計算する関数を呼び出すことによって判定される。この関数は、オペレーティングシステムAPIまたは他のメカニズムによって呼び出されてもよい。レイテンシーは、代わりに描画時間として記載されてもよい(すなわち、描画される点がスクリーン上に現れるのにかかる時間)。
工程640で、タッチスクリーンを横切る書込み物体の速度が判定される。速度は、ウェットインクの一部である接触点間の距離およびそれらの点間の距離を使用して判定されてもよい。任意選択により、加速度も判定することができる。一態様において、速度は、ウェットインクに対して最後に受け取った2つの接触点に対して計算される。別の態様において、アクティブなストロークにおける接触点はすべて考慮され、より最近の点により多くの重みが与えられる。加速度も、最後の3つ以上の点に対して、またはより多くの重みが与えられるより最近の点を有するさらなる点を使用して計算することができる。
工程650で、書込み物体がその速度でレイテンシー期間に移動する予測距離が判定される。この計算については以下でより詳細に記載される。
工程660で、終了点から予測距離延在する新しい三次ベジェ近似が計算される。
工程670で、アクティブなベジェ近似に基づいた実際のウェットインクが、新しい三次ベジェ近似に基づいた予測ウェットインクと共に描写される。
ここで、図7を参照すると、本明細書に記載された技術の態様による、接触点に圧力データを割り当てるための方法700が提供されている。工程710で、複数の接触点がタッチスクリーン装置で受け取られる。接触点は、タッチスクリーン装置と一体化されたタッチスクリーン面を横切る書込み物体によって作られた経路上にある。
工程720で、複数のフィルタされた接触点が生成される。一態様において、フィルタされた点は、複数の接触点に対してEAn無限インパルス応答型フィルタを実行することによって生成される。他のフィルタリング方法が可能である。
工程730で、入力として複数のフィルタされた接触点を使用してアクティブな三次ベジェ近似が計算される。開始接触点および終了接触点を有するアクティブな三次ベジェ近似。
工程740で、タッチスクリーン装置に対するウェットインクレイテンシー期間が判定される。工程750で、タッチスクリーンを横切る書込み物体の速度が判定される。
工程760で、書込み物体がその速度でウェットインクレイテンシー期間に移動する予測距離が判定される。予測距離を計算する場合、加速度も考慮することができる。
工程770で、終了点から予測距離延在する新しい三次ベジェ近似が計算される。前述したように新しい三次ベジェ近似を計算することができる。
工程780で、アクティブなベジェ近似に基づいたウェットインクが、新しい三次ベジェ近似に基づいた予測ウェットインクと共に描写される。予測ウェットインクは、ウェットインクの終了点から延在することができる。さらなるウェットインクが描写されるとともに、さらなるウェットインクは、予測ウェットインクに取って代わることができる。
ここで、方法600および700の様々な態様について以下でより詳細に記載する。
予測インクを生成するために、現在のベジェセグメントを延在させるべき量が計算される。
一旦ウェットインクレイテンシーが判定されると、筆記具の速度を計算して、予測インクが実際のウェットインクの端部から延在すべき距離を判定することができる。一態様において、筆記具の加速度が予測インクの距離を計算するために筆記具の速度と共に考慮される。次いで、予測インクは、再パラメータ化によってセグメントを延在させることによって生成される。
前述したように、ノイズおよびジッタを除去するためにフィルタによって接触点データを前処理することができることに留意されたい。また、タイムスタンプのフィルタリングによって、以降の計算中にゼロによる割り算の原因となる二重タイムスタンプの問題を回避する。現在のベジェセグメントによってフィッティングされる少なくとも3つの入力点がある場合、延在するベジェセグメントの長さは、点n−1と点n−2間の速度v0、および点n−2と点n−3間の速度v1を計算することによって以下のように計算される。すなわち、
αは、書込み物体の加速度である。α<0の場合は、予測される速度が負となる可能性があるため、
現在のセグメントの弧長を計算した後、Tに対応する延在させる量である、
圧力シミュレーション
加えて、本明細書に記載された技術の態様は、生の圧力データが存在しない場所の圧力データをインク描写エンジンに対して生成することができる。生の圧力データは、感圧性タッチ面、アクティブペンなどによって生成されることがある。しかしながら、ユーザが書き込む多くの装置は、感圧性ではない。本明細書に記載された技術の態様は、圧力の代わりに書込み物体の速度を使用して、インク描写エンジンに供給することができる圧力データを生成することができる。圧力データは、インク幅および/または他のインクパラメータを設定するためにインク描写エンジンによって使用されることがある。
加えて、本明細書に記載された技術の態様は、生の圧力データが存在しない場所の圧力データをインク描写エンジンに対して生成することができる。生の圧力データは、感圧性タッチ面、アクティブペンなどによって生成されることがある。しかしながら、ユーザが書き込む多くの装置は、感圧性ではない。本明細書に記載された技術の態様は、圧力の代わりに書込み物体の速度を使用して、インク描写エンジンに供給することができる圧力データを生成することができる。圧力データは、インク幅および/または他のインクパラメータを設定するためにインク描写エンジンによって使用されることがある。
本明細書に記載された技術の態様において、ペン速度がペン圧力の代わりに使用され、すなわち、結果として生じるインクの太さを設定するために使用される。本明細書で使用されるように、インクの太さは、インクの断面の幅を指し、断面は、インクストロークにほぼ垂直にとられる。図8は、異なる区間で異なる太さを有するインク800を示す。インクは、インク点820、インク点822、インク点824、およびインク点828を通過する。一態様において、異なるインク点は、異なる圧力値に関連付けられている。圧力が高いほど、第1の断面802のようにより太いインクを作成することができる。圧力が低いほど、第2の断面804のようにより細い線を作成することができる。
一般に、より高い速度は、軽い圧力の代わりとして働き、その結果としてより太いインクとなる。また、より低い速度は、高い圧力の代わりとして働き、その結果としてより細いインクとなる。
ここで、図9を参照すると、本明細書に記載された技術の態様による、接触点に圧力データを割り当てるための方法900が提供されている。
工程910で、圧力情報に関連付けられていない第1の接触点をタッチスクリーンから受け取る。第1の接触点は、タッチスクリーンの表面を横切る書込み物体によって作られた経路上の複数の接触点のうちの1つである。
工程920で、複数の接触点内部の第2の接触点との間で書込み物体の速度が判定される。
工程920で、速度に対応する圧力が判定される。
工程930で、圧力が第1の接触点に関連付けられ、更新された第1の接触点を生成する。
工程940で、更新された第1の接触点を使用してデジタルインクを描写する。第1の接触点は、デジタルインクを描写するインク描写エンジンに伝達することができる。
ここで、方法900の詳細が提供される。インクを作成するために使用される装置(複数可)が入力圧力を効果的に処理することができない場合、本明細書に記載された技術の態様は、圧力の代わりに速度を使用することができる。しきい値工程として、本明細書に記載された技術の態様は、装置が接触点に関連する、または異なるチャネルによる圧力データを提供していないことを判定することができる。一部の装置は、圧力データを接触点に関連付けることができない。この場合、圧力が検出不能であるのは、ハードウェア、ハードウェア上のソフトウェア、または組合せが原因である場合がある。
ポインター情報において捕捉されたペン先端部圧力を使用することによって自然で美しいインクを得るためにアクティブペン技術を活用する努力がなされた。ペン先端部圧力は、インクストロークの幅と関連付けることができ、したがって、インクストロークの幅は、圧力が高い場合はより太く、圧力が低い場合は、より細くなる。これは、書き手が紙の上に物理的なインキングを行うことによって生成するもののそのままの類似物である。しかしながら、このモデルは、タッチインキングまたはパッシブペン(スタイラス)インキングには直接的に当てはまらず、その理由は、ハードウェアから提供される圧力情報がないためである。圧力データが存在しない場合、インクストロークは、ユーザの字体にかかわらず常に同一の幅を有し、全く単調に見える。
タッチインク品質を、アクティブペンによって生成することができるものと同等となるように改善するために、本明細書に記載された技術の態様は、インキング中の書込み物体の移動速度によってペン先端部圧力をシミュレートするアルゴリズムを使用する。基本的な前提は、遅い、持続的な書込みがより太いストロークを作成し、速い、迅速なインキングがより細いストロークを作成するということである。本明細書に記載された技術の態様は、速度変化によってユーザの意図を捕捉し、その意図をストロークの外観に反映する。
速度は、2つの連続したインク点間の距離(DPIを単位とする)をサンプリング時間(例えば、60hzデジタイザ上で16ms)で割ることによって計算されてもよい。その場合、速度を圧力にマッピングするためにシミュレーション関数が必要であり、したがって、シミュレーション関数を、ストローク幅がアクティブペンに対して導出される同様の計算において使用することができる。1つの方法は、XY座標において速度のベクトルを得ることである。次いで、ベクトルの絶対値の対数が計算され、圧力にマッピングされる。
次いで、この圧力Pを速度ベクトルに関連付けられた接触点(複数可)に関連付けることができる。同一の速度を仮定すると、異なるインキング体験に対してより太いストロークを得るために、対数は、log5またはlog10などのより大きな底で置き換えられてもよいことに留意されたい。
デジタルインク環境
図10は、本明細書に記載された技術の態様を実践するのに適した例示的なデジタルインク環境1000を示す。デジタルインク環境1000は、タブレット、PC、ラップトップ、スマートフォン、または後に記載される計算装置1100などの他の計算装置上に存在してもよい。デジタルインク環境1000は、マイクロソフト(登録商標)の動作環境に基づき、その環境の術語を使用する。本明細書に記載された技術の態様は、この環境に限定されない。
図10は、本明細書に記載された技術の態様を実践するのに適した例示的なデジタルインク環境1000を示す。デジタルインク環境1000は、タブレット、PC、ラップトップ、スマートフォン、または後に記載される計算装置1100などの他の計算装置上に存在してもよい。デジタルインク環境1000は、マイクロソフト(登録商標)の動作環境に基づき、その環境の術語を使用する。本明細書に記載された技術の態様は、この環境に限定されない。
図10は、この環境の異なる態様において生成することができるレイテンシーを示す。例えば、ハードウェアエコシステム1006は、入力を処理する(例えば、接触点データを生成する)ために15ms、およびインクを描写するために24msを生成することができる。低レベル入力およびグラフィックス層1005は、さらに1msを追加することができる。入力およびコンポジター層1004は、24msを生成することができる。これらの数字は、装置により変わる場合があり、ここでは例として単に提供されている。図示されない、インク描写プロセスの他の態様がレイテンシーを生成することができる。これらの数字を仮定すると、レイテンシーの合計は、64msになる。本明細書に記載された技術の態様において、予測器コンポーネント1020は、所与の速度およびベジェ近似を使用して、将来に向けて予測ウェットインクを64msで描画することができる。
デジタルインク環境1000の他の層は、アプリケーションおよびシェル層1001、UIフレームワーク層1002、ならびにDirectInk層1003を含む。アプリケーションおよびシェル層1001は、シェルサブコンポーネント1010およびダイレクトインクアプリケーション1012を含む。所与の装置にインストールされたダイレクトインクアプリケーションは、変わる場合がある。UIフレームワーク層1002は、UI Frameworkサブコンポーネント1014、Inkアプリケーションプログラムインターフェース(API)1016、およびDirectX API1018を含む。ダイレクトインク層1003は、ダイレクトマニピュレーションサブコンポーネント1022、およびDirectInkサブコンポーネント1019を含む。InputおよびCompositor層は、入力サブコンポーネント1024、およびコンポジターサブコンポーネント1026を含む。低レベル入力およびグラフィックス層は、低レベル入力サブコンポーネント1028およびグラフィックスサブコンポーネント1030を含む。ハードウェアエコシステム1006は、タッチ機能性と関連する様々なハードウェアドライバを含むハードウェアサブコンポーネント1032を含むことができる。
コンピューティング環境
図11は、本明細書に記載された技術の実施形態を実施するのに適した例示的なコンピューティング環境を示すブロック図である。全体的に各図を、初めに特に図11を、さらに計算装置1100を参照すると、計算装置1100は、計算装置1100によって描写されたデジタルインクを選択するように構成されている。計算装置1100は、適切なコンピューティング環境の一例に過ぎず、本明細書に記載された技術の実施形態の使用法および機能性の範囲に関していかなる限定も示唆することは意図されていない。また、計算装置1100は、図示される、任意の1つのコンポーネントまたはコンポーネントの組合せに関連する依存性もしくは要求を有するとして解釈されるべきでない。
図11は、本明細書に記載された技術の実施形態を実施するのに適した例示的なコンピューティング環境を示すブロック図である。全体的に各図を、初めに特に図11を、さらに計算装置1100を参照すると、計算装置1100は、計算装置1100によって描写されたデジタルインクを選択するように構成されている。計算装置1100は、適切なコンピューティング環境の一例に過ぎず、本明細書に記載された技術の実施形態の使用法および機能性の範囲に関していかなる限定も示唆することは意図されていない。また、計算装置1100は、図示される、任意の1つのコンポーネントまたはコンポーネントの組合せに関連する依存性もしくは要求を有するとして解釈されるべきでない。
本明細書に記載された技術の実施形態は、コンピュータ実行命令を含む計算機コードまたはマシン使用可能な命令の一般的な文脈において記載されることがある。これらの命令は、コンピュータまたは他のマシン(例えば、個人用携帯情報端末または他のハンドヘルド装置)によって実行されるプログラムコンポーネントを含んでもよい。一般に、ルーチン、プログラム、アプリケーション、オブジェクト、コンポーネント、データ構造などを含むプログラムコンポーネントは、特定のタスクを行う、または特定の抽象データ型を実施するコードを指す。本明細書に記載された技術の実施形態は、ハンドヘルド装置、タブレットコンピュータ、ゲーミング装置、民生用電子機器、汎用コンピュータ、専門計算装置などを含む様々なシステム構成において実践されてもよい。また、本明細書に記載された技術の実施形態は、分散コンピューティング環境またはクラウド環境において実践されてもよく、タスクは、通信ネットワークによってリンクされた遠隔処理装置によって行われる。
当業者には理解されるように、計算装置1100は、ハードウェア、ファームウェア、ソフトウェア、またはハードウェアとソフトウェアの組合せを含むことができる。ハードウェアは、メモリに記憶された命令を実行するように構成されたプロセッサおよびメモリを含む。命令に関連付けられたロジックは、全体がまたは一部分が、ハードウェアロジックにおいて直接実施されてもよい。例えば、限定することなく、例示的なタイプのハードウェアロジックは、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、システムオンチップ(SOC)、または複合プログラマブルロジックデバイス(CPLD)を含む。ハードウェアロジックによって、計算装置は、ユーザからデジタルインクストロークを受け取るグラフィカルユーザインターフェースを生成することができる。装置は、グラフィカルユーザインターフェースにおいて入力としてデジタルインクストロークを受け取るように構成される。ある実施形態において、計算装置は、デジタルインク描写モードとデジタルインク選択モードとの間で切り替わる。ユーザから受け取った動作に基づいて、計算装置は、インク対応面上で描写されたデジタルインクストロークを選択することができる。装置は、ある実施形態において、デジタルインクストロークを修正するためのコマンドボックスを表示することができる。
引き続き図11を参照すると、計算装置1100は、直接または間接的に以下の装置、すなわち、メモリ1112、1つまたは複数のプロセッサ1114、1つまたは複数のプレゼンテーションコンポーネント1116、入力/出力(I/O)ポート1118、I/Oコンポーネント1120、および例示的な電源1122を結合するバス1110を含む。バス1110は、1つまたは複数のバス(アドレスバス、データバス、またはそれらの組合せなど)であってもよいものを表す。図11の様々なブロックは、明瞭にするために線によって示されているが、実際には、様々なコンポーネントの線引きは、それほど明瞭ではなく、比喩的には、線は、より正確には灰色で、曖昧である。例えば、ディスプレイ装置などのプレゼンテーションコンポーネントは、I/Oコンポーネントと考えられてもよい。また、プロセッサは、メモリを有する。本発明者は、そのようなことは、当技術分野の特質であると認識しており、図11の図面は、本明細書に記載された技術の1つまたは複数の実施形態に関連して使用することができる例示的な計算装置の単なる例示であることを繰り返し述べる。「ワークステーション」、「サーバー」、「ラップトップ」、「ハンドヘルド装置」などはすべて図1の範囲にあると考えられ、「コンピュータ」または「計算装置」を指すため、そうしたカテゴリー間の区別はなされない。
計算装置1100は、典型的には様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、計算装置1100によってアクセス可能なあらゆる利用可能な媒体であってもよく、揮発性および不揮発性媒体、取外し可能および取外し不可能媒体を含む。コンピュータ可読媒体は、コンピュータ記憶装置媒体および通信媒体を備えてもよい。
コンピュータ記憶装置媒体は、情報を記憶するための任意の方法または技術、例えば、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータにおいて実施される揮発性および不揮発性、取外し可能および取外し不可能媒体を含む。コンピュータ記憶装置媒体は、限定されないが、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、電子的消去可能プログラマブル読み取り専用メモリ(EEPROM)、フラッシュメモリ、もしくは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)、もしくは他のホログラフィックメモリ、磁気カセット、磁気テープ、磁気ディスク記憶装置、もしくは他の磁気記憶装置、または、所望のデータをコード化するために使用することができ、計算装置1100によってアクセスすることができるその他の媒体を含む。ある実施形態において、コンピュータ記憶装置媒体は、フラッシュメモリのような有形のコンピュータ記憶装置媒体から選択されてもよい。これらのメモリ技術は、データを瞬間的に、一時的に、または永久に記憶することができる。コンピュータ記憶装置は、通信媒体を含まず、除外する。コンピュータ記憶装置媒体は、非一時的であり、伝播されるデータ信号を除外する。
一方、通信媒体は、典型的にはコンピュータ可読命令、データ構造、プログラムモジュール、または搬送波などの変調データ信号もしくは他の輸送メカニズムにおける他のデータを包含し、すべての情報送達媒体を含む。用語「変調データ信号」は、信号中の情報をコード化するようなやり方で設定されたまたは変更された信号特性の1つまたは複数を有する信号を意味する。例として、限定することなく、通信媒体は、有線ネットワークまたは直接有線接続などの有線媒体、ならびに音響、RF、赤外線および他の無線媒体などの無線媒体を含む。
メモリ1112は、揮発性および/または不揮発性メモリの形態のコンピュータ記憶装置媒体を含む。メモリは、取外し可能であっても、取外し不可能であっても、またはそれらの組合せであってもよい。例示的なハードウェア装置は、固体メモリ、ハードドライブ、光ディスクドライブなどを含む。計算装置1100は、メモリ1112またはI/Oコンポーネント1120などの様々なエンティティからデータを読み込む1つまたは複数のプロセッサを含む。プレゼンテーションコンポーネント(複数可)1116は、ユーザまたは他の装置にデータ表示を提示する。例示的なプレゼンテーションコンポーネント1116は、ディスプレイ装置、デジタルインク対応面、スピーカー、印刷コンポーネント、振動コンポーネントなどを含む。I/Oポート1118によって、計算装置1100は、I/Oコンポーネント1120を含む他の装置に論理的に結合することができ、I/Oコンポーネント1120の一部は、内蔵されていてもよい。例示的なI/Oコンポーネントは、マイクロホン、ジョイスティック、ゲームパッド、衛星放送アンテナ、スキャナー、プリンター、ワイヤレス装置、コントローラ(筆記具、スタイラス、キーボード、およびマウスなど)、または自然なユーザインターフェース(NUI)を含む。I/Oコンポーネント1120は、面センサ1120aおよびインクデジタイザ1120bを含むことができる。面センサ1120aは、筆記具からの相互作用を受け取る。次に、感知された相互作用情報は、インクデジタイザ1120bによって一連の接触点としてデジタル化され得る。接触点は、上記の、インク描写エンジンに対する入力として使用することができる。
NUIは、ジェスチャー(例えば、手、顔、体など)、声、またはユーザによって生成された他の生理的入力を処理する。これらの入力の一部は、デジタルインク対応面上で描写されるデジタルインクとして解釈されることがある。NUIの入力は、さらなる処理のために適切なネットワーク要素に送信されてもよい。NUIは、音声認識、タッチおよびスタイラス認識、顔認識、生体認識、スクリーン上のおよびスクリーンに隣接するジェスチャー認識、エアージェスチャー、ならびに計算装置1100のディスプレイに関連付けられた頭および目の追跡の任意の組合せを実施する。計算装置1100は、ジェスチャー検出および認識のために、ステレオカメラシステムなどの深度カメラ、赤外線カメラシステム、RGBカメラシステム、表面センサ、およびこれらの組合せを装備することができる。さらに、計算装置1100は、動きまたは圧力を検出することが可能な加速度計またはジャイロスコープを装備することができる。加速度計またはジャイロスコープの出力は、記憶および処理のためにメモリに提供される。さらに、加速度計またはジャイロスコープの出力は、没入型の拡張現実または仮想現実を描写するために、計算装置1100のディスプレイに提供される。
無線機1124は、無線通信を送受信する。計算装置1100は、様々なワイアレスネットワーク上で通信および媒体を受信するようになされたワイヤレス端末であってもよい。計算装置1100は、他の装置と通信するために、例えば、符号分割多元接続(「CDMA」)、モバイル用グローバルシステム(「GSM」)、または時分割多元接続(「TDMA」)などのワイヤレスプロトコルを介して通信することができる(図11に示さず)。無線通信は、短距離接続、長距離接続、または短距離および長距離のワイヤレス通信接続の両方の組合せであってもよい。「短い」および「長い」タイプの接続に言及する場合、2つの装置間の空間的な関係に言及する意図はない。代わりに、短距離および長距離を異なるカテゴリーまたはタイプの接続として一般的に言及する(すなわち、一次接続および二次接続)。短距離接続は、802.11プロトコルを使用するWLAN接続などのワイヤレス通信ネットワークへのアクセスを提供する装置(例えば、モバイルホットスポット)へのWi−Fi(登録商標)接続を含んでもよい。別の計算装置へのブルートゥース(登録商標)接続は、短距離接続の第2の例である。長距離接続は、CDMA、GPRS、GSM(登録商標)、TDMA、および802.16プロトコルのうちの1つまたは複数を使用する接続を含んでもよい。
本明細書に記載された技術の実施形態は、特定の実施形態に関連して記載されており、これらの実施形態は、すべての点で限定ではなくむしろ例示であることが意図されている。代替の実施形態は、本明細書に記載された技術が本明細書の範囲から逸脱せずに関係する当業者には明らかになるであろう。
ある一定の特徴および副組合せが有益であり、他の特徴および副組合せに関係なく用いられてもよいことが理解されるだろう。これは、特許請求の範囲内であると考えられ、特許請求の範囲内にある。
Claims (15)
- プロセッサと、
タッチスクリーンと、
前記プロセッサによって実行されたとき、前記タッチスクリーンの表面を横切る物体によって作られた経路上の複数の接触点を受け取るステップ、入力として前記複数の接触点を使用して、アクティブな三次ベジェ近似を計算ステップであって、前記アクティブな三次ベジェ近似が開始接触点および終了接触点を有するステップ、前記タッチスクリーンに対するウェットインクレイテンシー期間を判定するステップ、前記物体が前記ウェットインクレイテンシー期間に進む予測距離を判定するステップ、前記終了接触点から前記予測距離延在する新しい三次ベジェ近似を計算するステップ、および前記新しい三次ベジェ近似に基づいた予測ウェットインクと共に前記アクティブな三次ベジェ近似に基づいたウェットインクを描写するステップ、含む、前記タッチスクリーン上に予測ウェットインクを描写するための方法を行うコンピュータ実行命令を有するコンピュータ記憶装置と、
を備える、タッチスクリーンディスプレイ装置。 - 前記方法が前記タッチスクリーンを横切る前記物体の速度を判定するステップをさらに含み、前記予測距離が前記速度を使用して判定される、
請求項1に記載のタッチスクリーンディスプレイ装置。 - 前記方法が前記タッチスクリーンを横切る前記物体の加速度を判定するステップをさらに含み、前記予測距離が前記速度および前記加速度を使用して判定される、
請求項2に記載のタッチスクリーンディスプレイ装置。 - 前記方法が、入力として前記速度を使用して、前記ウェットインクに対する太さを計算するステップをさらに含む、
請求項2に記載のタッチスクリーンディスプレイ装置。 - 前記終了接触点が、前記複数の接触点における他のすべての接触点に関連付けられたタイムスタンプの後に続くタイムスタンプを有する、請求項1に記載のタッチスクリーンディスプレイ装置。
- 前記ウェットインクレイテンシー期間が、前記物体がある接触点で前記タッチスクリーンに接触するときの第1の時点と、ウェットインクがウェットインク計算への入力として前記接触点を使用して描写されるときの第2の時点との間の時間量である、請求項1に記載のタッチスクリーンディスプレイ装置。
- 前記物体が指である、請求項1に記載のタッチスクリーンディスプレイ装置。
- タッチスクリーン装置において、前記タッチスクリーン装置と一体化されたタッチスクリーンの表面を横切る物体によって作られた経路上の複数の接触点を受け取るステップ、複数のフィルタされた接触点を生成するステップ、入力として前記複数のフィルタされた接触点を使用して、アクティブな三次ベジェ近似を計算するステップであって、前記アクティブな三次ベジェ近似が開始接触点および終了接触点を有する、ステップ、前記タッチスクリーン装置に対するウェットインクレイテンシー期間を判定するステップ、前記物体が前記ウェットインクレイテンシー期間に進む予測距離を判定するステップ、前記終了接触点から前記予測距離延在する新しい三次ベジェ近似を計算するステップ、および前記新しい三次ベジェ近似に基づいた予測ウェットインクと共に前記アクティブな三次ベジェ近似に基づいたウェットインクを描写するステップ、
を含む、タッチスクリーン装置上に予測ウェットインクを描写するための方法。 - 前記ウェットインクレイテンシー期間が、前記物体がある位置で前記タッチスクリーンに接触してから、前記位置に対応する点を考慮に入れたウェットインクを前記タッチスクリーン上に表示するまでの時間量である、請求項8に記載の方法。
- 前記複数のフィルタされた接触点が前記複数の接触点に対してEAn無限インパルス応答フィルタを実行することによって生成される、請求項8に記載の方法。
- 前記方法が前記タッチスクリーンを横切る前記物体の速度を判定するステップをさらに含み、前記予測距離が前記速度を使用して判定される、請求項8に記載の方法。
- 前記方法が、入力として前記速度を使用して、前記ウェットインクに対する太さを計算するステップをさらに含む、請求項11に記載の方法。
- 前記速度が、2つの連続したインク点間の距離を前記タッチスクリーンに対するサンプリング時間で割ることによって計算される、請求項11に記載の方法。
- プロセッサと、
タッチスクリーンと、
前記プロセッサによって実行されたとき、圧力情報に関連付けられていない第1の接触点を前記タッチスクリーンから受け取るステップであって、前記第1の接触点が前記タッチスクリーンの表面を横切る物体によって作られた経路上の複数の接触点のうちの1つである、ステップ、前記第1の接触点における前記物体の速度を判定するステップ、前記速度に対応する圧力を判定するステップ、前記圧力を前記第1の接触点に割り当て、更新された第1の接触点を生成するステップ、および前記更新された第1の接触点を使用してデジタルインクを描写するステップ、含む、接触点に圧力データを割り当てるための方法を行うコンピュータ実行命令を有するコンピュータ記憶装置と、
を備える、タッチスクリーンディスプレイ装置。 - 前記方法が前記更新された第1の接触点に関連付けられた前記圧力を使用して前記デジタルインクの太さを判定するステップをさらに含む、請求項14に記載のタッチスクリーンディスプレイ装置。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462057025P | 2014-09-29 | 2014-09-29 | |
US62/057,025 | 2014-09-29 | ||
US14/856,167 US10338725B2 (en) | 2014-09-29 | 2015-09-16 | Wet ink predictor |
US14/856,167 | 2015-09-16 | ||
PCT/US2015/051828 WO2016053727A1 (en) | 2014-09-29 | 2015-09-24 | Wet ink predictor |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017529623A true JP2017529623A (ja) | 2017-10-05 |
Family
ID=55584365
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017515707A Pending JP2017529623A (ja) | 2014-09-29 | 2015-09-24 | ウェットインク予測器 |
Country Status (11)
Country | Link |
---|---|
US (2) | US10338725B2 (ja) |
EP (2) | EP3201740B1 (ja) |
JP (1) | JP2017529623A (ja) |
KR (1) | KR102412021B1 (ja) |
CN (1) | CN107003993B (ja) |
AU (1) | AU2015324295A1 (ja) |
BR (1) | BR112017004012A2 (ja) |
CA (1) | CA2961254A1 (ja) |
MX (1) | MX2017004057A (ja) |
RU (1) | RU2017108531A (ja) |
WO (1) | WO2016053727A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021162894A (ja) * | 2020-03-30 | 2021-10-11 | 東芝情報システム株式会社 | タッチパネル装置及びタッチパネル用プログラム |
WO2023157556A1 (ja) * | 2022-02-21 | 2023-08-24 | 株式会社ワコム | ペン及びペン位置検出装置を含むシステム、ペン位置検出装置、並びに、ペンに内蔵されるハプティクス素子を動作させる方法 |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10725650B2 (en) * | 2014-03-17 | 2020-07-28 | Kabushiki Kaisha Kawai Gakki Seisakusho | Handwritten music sign recognition device and program |
KR102314110B1 (ko) * | 2014-09-16 | 2021-10-18 | 삼성디스플레이 주식회사 | 시각화 가속부를 포함하는 터치 표시 장치 |
US9633466B2 (en) * | 2014-09-29 | 2017-04-25 | Microsoft Technology Licensing, Llc | Low latency ink rendering pipeline |
BR112017010463A2 (pt) * | 2014-11-18 | 2018-04-03 | Tactual Labs Co | sistema e método para temporizar detecção de entrada, renderização, e exibição para minimizar latência |
US9756375B2 (en) * | 2015-01-22 | 2017-09-05 | Microsoft Technology Licensing, Llc | Predictive server-side rendering of scenes |
EP3250993B1 (en) | 2015-01-28 | 2019-09-04 | FlatFrog Laboratories AB | Dynamic touch quarantine frames |
EP3256936A4 (en) | 2015-02-09 | 2018-10-17 | FlatFrog Laboratories AB | Optical touch system comprising means for projecting and detecting light beams above and inside a transmissive panel |
US10554713B2 (en) | 2015-06-19 | 2020-02-04 | Microsoft Technology Licensing, Llc | Low latency application streaming using temporal frame transformation |
KR102400705B1 (ko) | 2015-12-09 | 2022-05-23 | 플라트프로그 라보라토리즈 에이비 | 개선된 스타일러스 식별 |
US20170236318A1 (en) * | 2016-02-15 | 2017-08-17 | Microsoft Technology Licensing, Llc | Animated Digital Ink |
CN108700940A (zh) | 2016-05-10 | 2018-10-23 | 谷歌有限责任公司 | 体量虚拟现实键盘方法、用户接口和交互 |
US9847079B2 (en) * | 2016-05-10 | 2017-12-19 | Google Llc | Methods and apparatus to use predicted actions in virtual reality environments |
US10126873B2 (en) * | 2016-06-24 | 2018-11-13 | Wacom Co., Ltd. | Stroke continuation for dropped touches on electronic handwriting devices |
GB201618288D0 (en) * | 2016-10-28 | 2016-12-14 | Remarkable As | Interactive displays |
PT3667475T (pt) | 2016-12-07 | 2022-10-17 | Flatfrog Lab Ab | Dispositivo tátil curvo |
CN110300950B (zh) | 2017-02-06 | 2023-06-16 | 平蛙实验室股份公司 | 触摸感测系统中的光学耦合 |
US10627910B2 (en) * | 2017-02-21 | 2020-04-21 | Adobe Inc. | Stroke operation prediction for three-dimensional digital content |
EP3602258B1 (en) | 2017-03-22 | 2024-05-08 | FlatFrog Laboratories AB | Pen differentiation for touch displays |
CN110663015A (zh) | 2017-03-28 | 2020-01-07 | 平蛙实验室股份公司 | 触摸感应装置和用于组装的方法 |
US10657682B2 (en) | 2017-04-12 | 2020-05-19 | Adobe Inc. | Drawing curves in space guided by 3-D objects |
CN111052058B (zh) | 2017-09-01 | 2023-10-20 | 平蛙实验室股份公司 | 改进的光学部件 |
CN107608619A (zh) * | 2017-09-20 | 2018-01-19 | 广州视源电子科技股份有限公司 | 用于触控屏的笔迹曲线生成方法、装置、设备和存储介质 |
US11567610B2 (en) | 2018-03-05 | 2023-01-31 | Flatfrog Laboratories Ab | Detection line broadening |
US11106312B2 (en) | 2018-03-08 | 2021-08-31 | Flatfrog Laboratories Ab | Touch apparatus |
US10924525B2 (en) | 2018-10-01 | 2021-02-16 | Microsoft Technology Licensing, Llc | Inducing higher input latency in multiplayer programs |
CN109558059B (zh) * | 2018-11-12 | 2021-10-22 | 大陆汽车车身电子系统(芜湖)有限公司 | 手写轨迹绘制方法及装置 |
US11943563B2 (en) | 2019-01-25 | 2024-03-26 | FlatFrog Laboratories, AB | Videoconferencing terminal and method of operating the same |
CN111974616B (zh) * | 2019-10-23 | 2023-01-03 | 广东安达智能装备股份有限公司 | 一种点胶方法、装置、计算机设备及存储介质 |
GB2591766B (en) | 2020-02-04 | 2023-02-08 | Peratech Holdco Ltd | Maintaining pressure input paths |
KR20220131982A (ko) | 2020-02-10 | 2022-09-29 | 플라트프로그 라보라토리즈 에이비 | 향상된 터치-감지 장치 |
US10976867B1 (en) * | 2020-03-06 | 2021-04-13 | Wacom Co., Ltd. | System and method providing pen up positioning assist for a sensor surface |
KR20220049407A (ko) * | 2020-10-14 | 2022-04-21 | 삼성전자주식회사 | 디스플레이 장치 및 그 제어 방법 |
CN112306301A (zh) * | 2020-11-02 | 2021-02-02 | 北京小米移动软件有限公司 | 触控数据的处理方法、装置、设备及存储介质 |
CN112506413B (zh) * | 2020-12-16 | 2022-06-07 | Oppo广东移动通信有限公司 | 触控点预测方法、装置、终端设备及计算机可读存储介质 |
KR20220109250A (ko) * | 2021-01-28 | 2022-08-04 | 삼성전자주식회사 | 터치 입력의 가속도 및/또는 각 가속도를 이용하여 예측 알고리즘의 적용 여부를 판단하는 전자 장치 및 그 제어 방법 |
JP2022133602A (ja) * | 2021-03-02 | 2022-09-14 | シャープ株式会社 | タッチ入力装置、タッチ入力方法、及びタッチ入力プログラム |
KR20230018096A (ko) | 2021-07-29 | 2023-02-07 | 삼성전자주식회사 | 전자 장치 및 입력 좌표 예측 방법 |
US20230419033A1 (en) * | 2022-06-28 | 2023-12-28 | Microsoft Technology Licensing, Llc | Generating predicted ink stroke information using text-based semantics |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1717681B1 (en) | 1998-01-26 | 2015-04-29 | Apple Inc. | Method for integrating manual input |
US6771266B2 (en) | 2001-01-16 | 2004-08-03 | Microsoft Corporation | Method and apparatus for improving the appearance of digitally represented handwriting |
US7057615B2 (en) | 2001-06-28 | 2006-06-06 | Microsoft Corporation | Method and system for representing and displaying digital ink |
US20040140962A1 (en) | 2003-01-21 | 2004-07-22 | Microsoft Corporation | Inertial sensors integration |
GB2406028A (en) * | 2003-09-11 | 2005-03-16 | Autodesk Canada Inc | Tangent handle adjustment for Bezier curves |
US7437003B1 (en) | 2003-12-16 | 2008-10-14 | Evernote Corp. | System and method for handling electronic ink |
US7697002B2 (en) * | 2007-01-25 | 2010-04-13 | Ricoh Co. Ltd. | Varying hand-drawn line width for display |
KR100869712B1 (ko) | 2007-02-09 | 2008-11-21 | (주)펜앤프리 | 필기 입력 방법 및 장치와 이를 이용하는 입력 시스템 |
US8014630B1 (en) | 2007-05-02 | 2011-09-06 | Evernote Corporation | Method and apparatus for representing image data using digital filtering and adaptive parameterization |
KR101080255B1 (ko) * | 2009-07-21 | 2011-11-08 | (주)펜앤프리 | 필기 패턴에 따른 필기 정보 입력 장치 및 필기 정보 입력 방법 |
US9529842B2 (en) * | 2009-12-28 | 2016-12-27 | International Business Machines Corporation | Dynamically creating queries to find related records in a database |
WO2011099439A1 (ja) * | 2010-02-09 | 2011-08-18 | マークデバイシス株式会社 | 反共振周波数可変型複合共振回路 |
US8847961B2 (en) | 2010-06-14 | 2014-09-30 | Microsoft Corporation | Geometry, speed, pressure, and anti-aliasing for ink rendering |
US9189147B2 (en) * | 2010-06-22 | 2015-11-17 | Microsoft Technology Licensing, Llc | Ink lag compensation techniques |
CN201811064U (zh) * | 2010-07-27 | 2011-04-27 | 张冰 | 一种圣诞灯 |
CN102622120B (zh) | 2011-01-31 | 2015-07-08 | 宸鸿光电科技股份有限公司 | 多点触控面板的触碰轨迹追踪方法 |
US10452790B2 (en) * | 2011-03-17 | 2019-10-22 | Aditazz, Inc. | System and method for evaluating the energy use of multiple different building massing configurations |
US10061997B2 (en) * | 2011-04-11 | 2018-08-28 | Apple Inc. | Handwriting capture techniques |
TW201322070A (zh) * | 2011-11-21 | 2013-06-01 | Novatek Microelectronics Corp | 雜訊過濾方法 |
KR20130060145A (ko) * | 2011-11-29 | 2013-06-07 | 삼성전자주식회사 | 수기 입력의 처리 방법 및 장치 |
US20130271487A1 (en) * | 2012-04-11 | 2013-10-17 | Research In Motion Limited | Position lag reduction for computer drawing |
JP6034138B2 (ja) * | 2012-11-01 | 2016-11-30 | 株式会社東芝 | 電子機器、筆跡表示方法およびプログラム |
TW201435666A (zh) * | 2013-03-06 | 2014-09-16 | Waltop Int Corp | 電磁筆控制方法 |
US9529525B2 (en) * | 2013-08-30 | 2016-12-27 | Nvidia Corporation | Methods and apparatus for reducing perceived pen-to-ink latency on touchpad devices |
US9753579B2 (en) * | 2014-02-04 | 2017-09-05 | Sony Corporation | Predictive input system for touch and touchless displays |
US20150242115A1 (en) * | 2014-02-21 | 2015-08-27 | Qualcomm Incorporated | Systems and methods for improved signal to noise ratio in touch systems |
-
2015
- 2015-09-16 US US14/856,167 patent/US10338725B2/en active Active
- 2015-09-24 BR BR112017004012A patent/BR112017004012A2/pt not_active Application Discontinuation
- 2015-09-24 MX MX2017004057A patent/MX2017004057A/es unknown
- 2015-09-24 KR KR1020177011642A patent/KR102412021B1/ko active IP Right Grant
- 2015-09-24 JP JP2017515707A patent/JP2017529623A/ja active Pending
- 2015-09-24 EP EP15778818.3A patent/EP3201740B1/en active Active
- 2015-09-24 AU AU2015324295A patent/AU2015324295A1/en not_active Abandoned
- 2015-09-24 CA CA2961254A patent/CA2961254A1/en active Pending
- 2015-09-24 WO PCT/US2015/051828 patent/WO2016053727A1/en active Application Filing
- 2015-09-24 RU RU2017108531A patent/RU2017108531A/ru not_active Application Discontinuation
- 2015-09-24 EP EP20158834.0A patent/EP3680757B1/en active Active
- 2015-09-24 CN CN201580052906.0A patent/CN107003993B/zh active Active
-
2019
- 2019-03-25 US US16/363,008 patent/US10719168B2/en active Active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021162894A (ja) * | 2020-03-30 | 2021-10-11 | 東芝情報システム株式会社 | タッチパネル装置及びタッチパネル用プログラム |
JP7163545B2 (ja) | 2020-03-30 | 2022-11-01 | 東芝情報システム株式会社 | タッチパネル装置及びタッチパネル用プログラム |
WO2023157556A1 (ja) * | 2022-02-21 | 2023-08-24 | 株式会社ワコム | ペン及びペン位置検出装置を含むシステム、ペン位置検出装置、並びに、ペンに内蔵されるハプティクス素子を動作させる方法 |
Also Published As
Publication number | Publication date |
---|---|
US10719168B2 (en) | 2020-07-21 |
US20160092021A1 (en) | 2016-03-31 |
WO2016053727A1 (en) | 2016-04-07 |
EP3680757B1 (en) | 2023-11-29 |
CN107003993B (zh) | 2020-07-31 |
CN107003993A (zh) | 2017-08-01 |
US20190220137A1 (en) | 2019-07-18 |
MX2017004057A (es) | 2017-06-12 |
EP3680757A1 (en) | 2020-07-15 |
KR20170061703A (ko) | 2017-06-05 |
EP3201740B1 (en) | 2020-03-18 |
CA2961254A1 (en) | 2016-04-07 |
AU2015324295A1 (en) | 2017-03-16 |
BR112017004012A2 (pt) | 2017-12-05 |
RU2017108531A (ru) | 2018-09-17 |
EP3201740A1 (en) | 2017-08-09 |
US10338725B2 (en) | 2019-07-02 |
KR102412021B1 (ko) | 2022-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10719168B2 (en) | Wet ink predictor | |
JP6918053B2 (ja) | デジタルインクの平滑化及びgpu−対応レンダリング | |
US9207858B2 (en) | Method and apparatus for drawing and erasing calligraphic ink objects on a display surface | |
US10139937B2 (en) | Multi-modal user expressions and user intensity as interactions with an application | |
JP6869249B2 (ja) | 2つのタイプのインクベクトルデータを生成して選択的に出力する方法及びシステム | |
US9020266B2 (en) | Methods and devices for processing handwriting input | |
US20160048318A1 (en) | Detecting selection of digital ink | |
US20150091832A1 (en) | Information processing apparatus, information processing method, and program | |
US9262012B2 (en) | Hover angle | |
US10338807B2 (en) | Adaptive ink prediction | |
US9898841B2 (en) | Synchronizing digital ink stroke rendering | |
US20140253558A1 (en) | Systems and methods for sketch processing | |
JP2015203955A (ja) | デジタイザペンによる描画制御装置、描画制御方法および描画制御用プログラム | |
CN110162251A (zh) | 图像缩放方法及装置、存储介质、电子设备 | |
TW201911235A (zh) | 線段平滑化方法、系統以及電腦可讀取媒體 | |
WO2021161769A1 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
JP2021105913A (ja) | 情報処理システム、情報処理方法、プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A529 | Written submission of copy of amendment under article 34 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A529 Effective date: 20170519 |