JP6553710B2 - デジタルインクの平滑化及びgpu−対応レンダリング - Google Patents
デジタルインクの平滑化及びgpu−対応レンダリング Download PDFInfo
- Publication number
- JP6553710B2 JP6553710B2 JP2017507991A JP2017507991A JP6553710B2 JP 6553710 B2 JP6553710 B2 JP 6553710B2 JP 2017507991 A JP2017507991 A JP 2017507991A JP 2017507991 A JP2017507991 A JP 2017507991A JP 6553710 B2 JP6553710 B2 JP 6553710B2
- Authority
- JP
- Japan
- Prior art keywords
- ink
- point
- ink point
- bezier approximation
- approximation
- 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.)
- Active
Links
- 238000009877 rendering Methods 0.000 title claims description 39
- 238000009499 grossing Methods 0.000 title description 38
- 238000000034 method Methods 0.000 claims description 38
- 230000003796 beauty Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 17
- 239000012634 fragment Substances 0.000 description 14
- 238000012545 processing Methods 0.000 description 8
- 230000011218 segmentation Effects 0.000 description 8
- 238000013459 approach Methods 0.000 description 6
- 230000006399 behavior Effects 0.000 description 6
- 238000001514 detection method Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000000116 mitigating effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 241000699666 Mus <mouse, genus> Species 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012888 cubic function Methods 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
-
- 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/0416—Control or interface arrangements specially adapted for digitisers
-
- 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
- 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
- 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/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
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)
- Image Generation (AREA)
- Image Processing (AREA)
- Character Discrimination (AREA)
- Ink Jet (AREA)
- Processing Or Creating Images (AREA)
Description
この節では、ベジエフィッタ228がいかに3次ベジエ近似又は曲線でインク点のセットを近似するかを説明する。簡潔さのため、本説明では位置的情報のみを考慮する。しかしながら、計算式を任意の数のフィーチャまで拡張するのが簡単である。例えば、いくつかの実施例において、受信したインク点の半径(これは、入力ブラシストロークの印加圧力及びサイズに比例してもよい)が利用されてもよい。他の実施例において、傾斜、方位等の特性が使用されてもよい。このような任意且つすべてのフィーチャ、及びそれらの任意の組み合わせは、本発明の実施形態の範囲内であると考えられる。
B*(t)=argminBE
式中、Eは、以下により完全に説明される誤差関数である。
P(0)=p0
P(1)=pk−1
最少化問題の変数は、Bの制御点である。C=[C0、C1、C2、C3]を制御点のベクトルとする。最急降下アプローチを使用して、最適値を探す。
セグメント化要素230は、2つの基本タスクを達成する。第1に、新たなベジエ近位を開始すべきであるか、又は現在のものを更新すべきであるかを決定する。第2に、新たな近似又は曲線が開始されると随時、3次ベジエフィッタ228を再構成することにより、スプライン(とりわけ、C0又はC1連続性)上の解析特性を実施する。本明細書で利用される通り、また当分野において理解される通り、「連続性」とは、隣接のベジエ曲線が接続される接合部における相対的平滑度をいう。「C0連続性」とは、隣接のベジエ曲線が同一の終点を共有する状況をいう。「C1連続性」とは、隣接のベジエ曲線が同一の終点及び同一の導関数をともに共有する状況をいう。
時には、幾何学的C1連続性の実施の結果として、例えば図4に示す通り、望ましくない不安定な挙動の慣習を生じてしまう。この挙動は、多くの場合、C0連続スプラインに時折観察される尖点より悪く現れる。この挙動の根本的要因は、t=1における最後に実行されたベジエの導関数が対応のデジタル化された点に一致しないことのように見受けられる。従って、この問題は、図5に示す通り、t=1におけるベジエ近似の導関数がデジタル化された最後の2点を接続するベジエ近似又はセグメントの導関数と合致しなければならないという新たな制約をベジエフィッタ228に加えることにより、軽減されてもよい。本実施形態の範囲内において、他の軽減も可能であることに留意しなければならない。例えば、以前のベジエ及び現在のベジエの双方が更新されてもよい。或いは、2つのベジエが同時に合致されてもよく、2つの間に連続性が課され、合致要件が満たされなければ、その度に新たなベジエセグメントの対が開始されてもよい。
通常、C1連続性は望ましい特性であるが、実施が好都合でない場合もある。とりわけ、C1連続性は意図された尖点も除去してしまう。このため、セグメント化要素230はさらに、尖点検出の結果に基づき、C1連続性のためにベジエフィッタ228を構成するように構成される。
手書きでは、方向が鋭利に、且つ、予測不能に変化することが多いにあり、ユーザが随時ペン(又は、その他の入力機器)を持ち上げることがあって、予測を不要なものにするばかりか潜在的に有害なものとしてしまうため、入力機器の次のいくつかの位置を予測することは、解決の困難な問題である。
kを未来予測が望まれる点の数とし、
予測をレンダリングする最も簡易なオプションは、最後にデジタル化された点から予測点まで線を引くことである。しかしながら、より良いアプローチは、図6に示す通り(点線6)、ベジエ曲線の延長戦を引くことである。従って、インク予測要素232は、さらに、曲線が変化しないように、ベジエ曲線の再パラメータ化を行うように構成される。
Br(0)=Pt、
Br(1)=B(k・dt)
式中、Bは、当初のベジエであり、Brは、再パラメータ化されたものである。再パラメータ化は、常時実施可能であるため、そのコストは無視することができる。
合致及び予測の終了時、その結果は、ベジエ近似{Bt(t)}のセットと、対応する半径{Rt(t)}のセットである。通常、Btは、3次関数であり、4つの制御点、すなわち、Bi、0、Bi、1、Bi、2、Bi、3でパラメータ化される。状況によっては、Riは線形であり、開始半径及び終了半径のみによってパラメータ化される。
Ri(t)=(1−t)Ri、0+tRi、3
本発明の実施形態は、インクの取得及び合致が行われた後、且つ、レンダリングの実施前のインクに、任意の2Dアフィン変換(3×2マトリクス
与えられたストロークをレンダリングするために、各成分たるベジエ近似は、「平坦化」される。形式上、ti、jのセットが各(Bi,Ri)対に対して選択され、これらのtで関数が評価される(これは、逆に、本質的に曲線に合致する)。ti、jのセットを選択する正確な方法は、規定の実施である。一実施例において、米国特許第5,367,617号に記載の通り、ハイブリッド前進差分アルゴリズムを利用してもよく、この全体を本明細書に記したのと同様に参照としてここに組み込む。当業者は、全身差分等、その他の技術が当分野で一般的且つ周知であり、同様に利用されてもよいことを理解するであろう。
2つの他の頂点バッファもGPUに引き渡されるが、この一方は、円を近似する三角形メッシュを含み、他方は、台形を表す三角形メッシュである。これらのメッシュは、初期化中に一度演算され、キャッシュされ、次のレンダリング動作で再使用される。
CenterOrEdge:1ビット(0:中央、1:縁部)
InteriorOrExterior:1ビット(0:内部、1:外部)
Direction:float2(正規化)
(CenterOrEdge:1、InteriorOrExterior:0、Direction:(1,0))
頂点Dは、外側縁部頂点であり、以下の通り、記憶されるであろう。
StartOrEnd:1ビット(0:開始、1:終了)
InteriorOrExterior:1ビット(0:内側、1:外側)
TopOrBottom:1ビット(0:頂上部、1:底部)
(StartOrEnd:0、InteriorOrExterior:0、TopOrBottom:0)
(StartOrEnd:1、InteriorOrExterior:0、TopOrBottom:1)
この場合、レンダリングされているインクの半径に関わらず、独自の頂点の数が8に固定される。
一旦データがGPUにアップロードされると、ラスタ化の残りのステップが2つのパスで実施される。すなわち、1つは円のレンダリングであり、もう1つは台形のレンダリングである。一実施例では、例えば、後述する標準Direct3Dパイプラインの5つの段階(818、820、822、824、及び826)を使用して各パスを実施する。当業者は、OpenGL等の他のプラットフォームには、Direct3Dに直接類似する他の実施例も可能であることを理解及び認識するであろう。このような任意且つすべてのバリエーション、及びそれらの任意の組み合わせは、本発明の実施形態の範囲内であると考えられる。
入力アセンブラ818は、円形/台形メッシュ及びVB1内の頂点を採り、パイプラインの残りの部分による処理にそれらを準備するように構成される。部分的に、これには、VB1内の頂点に亘るメッシュのコピーを複製することが含まれる(「インスタンス化」として当業者には既知の一般的技術)。円形パスにおいて、入力アセンブラ818は、VB1内の頂点毎にメッシュのコピーを1つ割り当てるように構成される。台形パスにおいて、入力アセンブラ818は、VB1における連続頂点の対事に1つのコピーを割り当てる。入力アセンブラ818によって出力される頂点は、メッシュ及びVB1データの双方からの統合データを含む。
円形パス頂点形式:
(CenterOrEdge、InteriorOrExterior、Direction、pi、ri)
台形パス頂点形式:
(StartOrEnd、InteriorOrExterior、TopOrBottom、pi、ri、pi+1、ri+1)
本実施形態によると、入力アセンブラ818によって出力された各頂点を採り、それを位置及び不透明度に凝縮する頂点シェーダ820が提供される。円形パスについては、以下の計算式が使用される。
複製メッシュの頂点が一旦変換されると、対応する三角形は、ラスタライズ822を利用して、GPUによってラスタ化される。換言すると、三角形にカバーされた画素が特定され、画素シェーダ824がカバーされた画素毎に一度呼び出される。D3Dラスタ化は、当業者にとって既知であるため、本明細書ではさらなる説明を行わない。
画素シェーダ824は、ラスタライザ8222から不透明度を採り、それをインクの色の変調に使用する。
Coloroutput=Opacity*Colorinput
出力統合器826は、色値を受け取り、レンダリング対象乗にそれをブレンドするように構成される。出力統合は、当業者にとって既知であるため、本明細書中ではさらなる説明を行わない。
本明細書において上述した通り、本発明の実施形態は、2つの補助的関数、すなわちオフセット及びopacityModifierを使用する頂点シェーダ820を提供する。オフセットの目的は、画面空間内で頂点を1/2画素オフセットすることにより、アンチエイリアシングのシミュレーションを行うことである。レンダリングされている円/台形の寸法が1画素未満である場合、特別な論理が加えられ、このオフセットによって三角形の重畳を生じる機会を軽減してもよい。このような論理が実施されるとき、頂点の不透明度が対応して修正される。
Claims (9)
- ストローク受信面で受信したデジタルインク入力を平滑化するために、少なくとも1つのプロセッサを含んだ1つ以上の演算装置で実施される方法であって、
複数のインク点を受信してインク点の第1のセットを確立することと、
前記第1のセットに基づき、第1の3次ベジエ近似を演算することと、
前記第1のセットに対して時間的に後に続いて、第1の追加インク点を受信することと、
前記第1の追加インク点を受信することに少なくとも基づき、前記第1の追加インク点が前記第1の3次ベジエ近似に合致するか否かを動的に判定することと、
前記第1の追加インク点が前記第1の3次ベジエ近似に合致すると判定したことに少なくとも基づき、前記第1の追加インク点を含むように前記第1のセット及び前記第1の3次ベジエ近似を更新し、かつ、前記更新された第1のセットを含む第1の平滑化インク出力を生成することと、
前記第1の追加インク点が前記第1の3次ベジエ近似に合致しないと判定したことに少なくとも基づき、前記第1のセットを終了させてインク点の第2のセットを確立し、かつ、少なくとも前記第1の追加インク点を用いて第2の3次ベジエ近似を開始することと、
前記ストローク受信面に関連するディスプレイ上に、前記第1の平滑化インク出力をレンダリングすることと、
を含む、方法。 - 前記第1の追加インク点に対して時間的に後に続いて、第2の追加インク点を受信することと、
前記第2の追加インク点が、前記第1の3次ベジエ近似及び前記第2の3次ベジエ近似の一つに合致するか否かを判定することと、
をさらに含む、請求項1に記載の方法。 - 前記第2の追加インク点を含む第2の平滑化インク出力を生成してレンダリングすることをさらに含む、請求項2に記載の方法。
- 1つ以上の意図された尖点が存在するか否かを判定することをさらに備え、
意図された尖点が検出されない場合、前記第1の3次ベジエ近似及び前記第2の3次ベジエ近似の間にC1連続性を保存する、請求項1に記載の方法。 - 前記第1のセットにおける前記複数のインク点及び前記第1の追加インク点は、デジタル化されると連続的に受信され、
前記第1のアクティブベジエ近似は、入力機器が入力データの提供を継続している間に演算される、請求項1に記載の方法。 - 前記第1の追加インク点が前記第1の3次ベジエ近似に合致するか否かを判定することは、前記第1のセットにおける直前のインク点及び前記第1の追加インク点で記述される多角形と、前記第1の3次ベジエ近似と、の間の距離を近似することを備える、請求項1に記載の方法。
- 前記第1のセットにおける直前の前記インク点及び前記第1の追加インク点を接続する多角形と、前記第1の3次ベジエ近似と、の間の距離が閾値以下である場合、前記第1の追加インク点は、前記第1の3次ベジエ近似に合致すると判定する、請求項6に記載の方法。
- 前記閾値は、少なくとも部分的に、前記デジタルインクがレンダリングされるディスプレイの解像度と、前記デジタルインクをレンダリングする変換と、の一方又は双方に基づく、請求項7に記載の方法。
- 前記第1の3次ベジエ近似を未来に向かって拡張することにより、時間的に後の時点で受信される少なくとも1つの後続インク点を予測することをさらに備える、請求項1に記載の方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019125319A JP6918053B2 (ja) | 2014-09-15 | 2019-07-04 | デジタルインクの平滑化及びgpu−対応レンダリング |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/486,735 | 2014-09-15 | ||
US14/486,735 US9508166B2 (en) | 2014-09-15 | 2014-09-15 | Smoothing and GPU-enabled rendering of digital ink |
PCT/US2015/050097 WO2016044214A1 (en) | 2014-09-15 | 2015-09-15 | Smooothing and gpu-enabled rendering of digital ink |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019125319A Division JP6918053B2 (ja) | 2014-09-15 | 2019-07-04 | デジタルインクの平滑化及びgpu−対応レンダリング |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2017528812A JP2017528812A (ja) | 2017-09-28 |
JP2017528812A5 JP2017528812A5 (ja) | 2018-09-20 |
JP6553710B2 true JP6553710B2 (ja) | 2019-07-31 |
Family
ID=54251732
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017507991A Active JP6553710B2 (ja) | 2014-09-15 | 2015-09-15 | デジタルインクの平滑化及びgpu−対応レンダリング |
JP2019125319A Active JP6918053B2 (ja) | 2014-09-15 | 2019-07-04 | デジタルインクの平滑化及びgpu−対応レンダリング |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019125319A Active JP6918053B2 (ja) | 2014-09-15 | 2019-07-04 | デジタルインクの平滑化及びgpu−対応レンダリング |
Country Status (10)
Country | Link |
---|---|
US (2) | US9508166B2 (ja) |
EP (1) | EP3195094B1 (ja) |
JP (2) | JP6553710B2 (ja) |
KR (2) | KR102450683B1 (ja) |
CN (1) | CN106687891B (ja) |
AU (1) | AU2015318093B2 (ja) |
CA (1) | CA2959665C (ja) |
MX (1) | MX370913B (ja) |
RU (1) | RU2701471C2 (ja) |
WO (1) | WO2016044214A1 (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170236318A1 (en) * | 2016-02-15 | 2017-08-17 | Microsoft Technology Licensing, Llc | Animated Digital Ink |
US10235778B2 (en) * | 2016-03-25 | 2019-03-19 | Microsoft Technology Licensing, Llc | GPU-accelerated pencil ink effect rendering |
US10627910B2 (en) * | 2017-02-21 | 2020-04-21 | Adobe Inc. | Stroke operation prediction for three-dimensional digital content |
US10134158B2 (en) | 2017-02-23 | 2018-11-20 | Microsoft Technology Licensing, Llc | Directional stamping |
US10930045B2 (en) | 2017-03-22 | 2021-02-23 | Microsoft Technology Licensing, Llc | Digital ink based visual components |
US10147159B2 (en) | 2017-04-07 | 2018-12-04 | Microsoft Technology Licensing, Llc | Ink render using high priority queues |
US10657682B2 (en) | 2017-04-12 | 2020-05-19 | Adobe Inc. | Drawing curves in space guided by 3-D objects |
CN109544658B (zh) * | 2017-09-21 | 2022-03-25 | 腾讯科技(深圳)有限公司 | 地图的渲染方法和装置、存储介质、电子装置 |
WO2019200581A1 (zh) * | 2018-04-19 | 2019-10-24 | 深圳市汇顶科技股份有限公司 | 坐标平滑方法、触控芯片及电子终端 |
US10740966B2 (en) * | 2018-05-14 | 2020-08-11 | Microsoft Technology Licensing, Llc | Fake thickness on a two-dimensional object |
CN109408161A (zh) * | 2018-08-22 | 2019-03-01 | 安徽慧视金瞳科技有限公司 | 一种模拟毛笔笔触的绘制算法 |
CN113939569B (zh) * | 2019-07-29 | 2023-11-03 | 株式会社力森诺科 | 粘合片及粘合剂组合物 |
TWI774019B (zh) | 2020-07-13 | 2022-08-11 | 元太科技工業股份有限公司 | 電子紙顯示裝置及電子紙顯示面板的驅動方法 |
US12039641B2 (en) * | 2021-06-25 | 2024-07-16 | Tata Consultancy Limited Services | Symbol recognition from raster images of PandIDs using a single instance per symbol class |
JP7098799B1 (ja) * | 2021-07-08 | 2022-07-11 | レノボ・シンガポール・プライベート・リミテッド | 情報処理装置、情報処理システム、及び制御方法 |
TWI817840B (zh) * | 2022-11-23 | 2023-10-01 | 大陸商北京集創北方科技股份有限公司 | 觸摸軌跡優化方法、觸控裝置及資訊處理裝置 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5367617A (en) | 1992-07-02 | 1994-11-22 | Microsoft Corporation | System and method of hybrid forward differencing to render Bezier splines |
US6101280A (en) | 1994-07-04 | 2000-08-08 | Hewlett-Packard Company | Method and apparatus for compression of electronic ink |
US5694535A (en) * | 1995-03-24 | 1997-12-02 | Novell, Inc. | Direct interactive, constant-time curve apparatus and method |
US6278445B1 (en) * | 1995-08-31 | 2001-08-21 | Canon Kabushiki Kaisha | Coordinate input device and method having first and second sampling devices which sample input data at staggered intervals |
US5897213A (en) * | 1997-11-21 | 1999-04-27 | Bayside Controls, Inc. | Slide assembly for preloading roller bearings |
US6850228B1 (en) | 1999-10-29 | 2005-02-01 | Microsoft Corporation | Universal file format for digital rich ink data |
US6707473B2 (en) | 2001-08-01 | 2004-03-16 | Microsoft Corporation | Dynamic rendering of ink strokes with transparency |
US6909430B2 (en) | 2001-08-01 | 2005-06-21 | Microsoft Corporation | Rendering ink strokes of variable width and angle |
US20030123745A1 (en) | 2001-12-28 | 2003-07-03 | Mattias Bryborn | Method and apparatus for compression and reconstruction of electronic handwriting |
US7146046B2 (en) | 2002-06-24 | 2006-12-05 | Microsoft Corporation | Method and apparatus for scale independent cusp detection |
US7274831B2 (en) * | 2003-04-03 | 2007-09-25 | Microsoft Corporation | High quality anti-aliasing |
GB2406028A (en) * | 2003-09-11 | 2005-03-16 | Autodesk Canada Inc | Tangent handle adjustment for Bezier curves |
US7551187B2 (en) * | 2004-02-10 | 2009-06-23 | Microsoft Corporation | Systems and methods that utilize a dynamic digital zooming interface in connection with digital inking |
US7284192B2 (en) | 2004-06-24 | 2007-10-16 | Avaya Technology Corp. | Architecture for ink annotations on web documents |
US7574048B2 (en) * | 2004-09-03 | 2009-08-11 | Microsoft Corporation | Freeform digital ink annotation recognition |
WO2011044677A1 (en) | 2009-10-15 | 2011-04-21 | Smart Technologies Ulc | Method and apparatus for drawing and erasing calligraphic ink objects on a display surface |
KR101126167B1 (ko) * | 2010-06-07 | 2012-03-22 | 삼성전자주식회사 | 터치 스크린 및 디스플레이 방법 |
US20120050293A1 (en) * | 2010-08-25 | 2012-03-01 | Apple, Inc. | Dynamically smoothing a curve |
US9588951B2 (en) | 2010-12-06 | 2017-03-07 | Smart Technologies Ulc | Annotation method and system for conferencing |
CA2862431A1 (en) | 2012-01-11 | 2013-07-18 | Smart Technologies Ulc | Method of displaying input during a collaboration session and interactive board employing same |
AU2012202651A1 (en) * | 2012-05-04 | 2013-11-21 | Canon Kabushiki Kaisha | A method for stroking paths |
TWI486837B (zh) * | 2012-09-18 | 2015-06-01 | Egalax Empia Technology Inc | 基於預測的位置追蹤方法 |
KR101867494B1 (ko) | 2012-10-05 | 2018-07-17 | 텍추얼 랩스 컴퍼니 | 저지연 유저 입력 프로세싱과 피드백용 하이브리드 시스템 및 방법 |
CN102937848B (zh) * | 2012-12-04 | 2015-07-22 | 上海合合信息科技发展有限公司 | 对手写笔迹进行编辑处理的方法及电子设备 |
US20150301726A1 (en) * | 2014-04-16 | 2015-10-22 | Societe Bic | Systems and Methods for Displaying Free-Form Drawing on a Contact-Sensitive Display |
-
2014
- 2014-09-15 US US14/486,735 patent/US9508166B2/en active Active
-
2015
- 2015-09-15 CN CN201580049708.9A patent/CN106687891B/zh active Active
- 2015-09-15 KR KR1020227011163A patent/KR102450683B1/ko active IP Right Grant
- 2015-09-15 AU AU2015318093A patent/AU2015318093B2/en active Active
- 2015-09-15 EP EP15775037.3A patent/EP3195094B1/en active Active
- 2015-09-15 KR KR1020177010313A patent/KR102385256B1/ko active IP Right Grant
- 2015-09-15 JP JP2017507991A patent/JP6553710B2/ja active Active
- 2015-09-15 CA CA2959665A patent/CA2959665C/en active Active
- 2015-09-15 MX MX2017003419A patent/MX370913B/es active IP Right Grant
- 2015-09-15 WO PCT/US2015/050097 patent/WO2016044214A1/en active Application Filing
- 2015-09-15 RU RU2017108212A patent/RU2701471C2/ru active
-
2016
- 2016-08-16 US US15/238,336 patent/US9697625B2/en active Active
-
2019
- 2019-07-04 JP JP2019125319A patent/JP6918053B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
RU2701471C2 (ru) | 2019-09-26 |
CA2959665A1 (en) | 2016-03-24 |
KR20220047671A (ko) | 2022-04-18 |
AU2015318093A1 (en) | 2017-03-16 |
US9697625B2 (en) | 2017-07-04 |
CN106687891B (zh) | 2019-12-03 |
RU2017108212A3 (ja) | 2019-04-23 |
EP3195094B1 (en) | 2018-07-25 |
CN106687891A (zh) | 2017-05-17 |
US9508166B2 (en) | 2016-11-29 |
KR20170054519A (ko) | 2017-05-17 |
CA2959665C (en) | 2022-10-04 |
JP2017528812A (ja) | 2017-09-28 |
MX2017003419A (es) | 2017-06-19 |
AU2015318093B2 (en) | 2020-06-04 |
WO2016044214A1 (en) | 2016-03-24 |
EP3195094A1 (en) | 2017-07-26 |
KR102385256B1 (ko) | 2022-04-08 |
MX370913B (es) | 2020-01-09 |
JP6918053B2 (ja) | 2021-08-11 |
RU2017108212A (ru) | 2018-09-14 |
KR102450683B1 (ko) | 2022-10-04 |
US20160078649A1 (en) | 2016-03-17 |
US20160358348A1 (en) | 2016-12-08 |
BR112017003480A2 (pt) | 2017-12-12 |
JP2019204522A (ja) | 2019-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6553710B2 (ja) | デジタルインクの平滑化及びgpu−対応レンダリング | |
US10719168B2 (en) | Wet ink predictor | |
KR102337931B1 (ko) | 동적 가림 핸들링을 위한 시스템들 및 방법들 | |
JP6869249B2 (ja) | 2つのタイプのインクベクトルデータを生成して選択的に出力する方法及びシステム | |
US9207858B2 (en) | Method and apparatus for drawing and erasing calligraphic ink objects on a display surface | |
US11698788B2 (en) | Path simplification for computer graphics applications | |
JP5558949B2 (ja) | 画像処理装置、画像処理方法、およびプログラム | |
US8878848B2 (en) | Method and device for snapping normals to create fair 3D surfaces from edge curves | |
US20170148212A1 (en) | Color-based dynamic sub-division to generate 3d mesh | |
BR112017003480B1 (pt) | Método para suavização e renderização de tinta digital | |
JP7120690B2 (ja) | 関節位置推定装置、関節位置推定方法およびプログラム | |
TW201911235A (zh) | 線段平滑化方法、系統以及電腦可讀取媒體 |
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: 20170410 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180810 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180810 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190522 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20190605 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190704 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6553710 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |