IP Library Granted Patent US 7,190,375
Granted Patent B2
US 7,190,375 · App. 10/680,305 · Granted Mar 13, 2007

Rendering ink strokes of variable width and angle

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,190,375
App. No.
10/680,305
Granted
Mar 13, 2007
Kind
B2
Abstract

Apparatus and methods for dynamically rendering digital ink strokes of arbitrary stroke width while a user is drawing the ink strokes. An ink rendering system may receive sampled pen tip positions associated with a stylus or pen on a digitizer. The ink rendering system may further determine pen tip instances having particular shapes, sizes, and/or rotations, and may determine connecting shapes, preferably quadrangles, that connect between the pen tip instances. Smoothing techniques may also be used for existing digital ink.

Claims (33)

1. A method for smoothing a digital ink stroke, comprising the steps of:

receiving a user input that includes the digital ink stroke;

determining a width and a rotation of the digital ink stroke at a plurality of sampling locations;

for each of the plurality of sampling locations having a prior one of the sampling locations before the sampling location in the ink stroke and having a later one of the sampling locations after the sampling location in the ink stroke, determining a smoothed width at the sampling location as a combination of the determined width at the sampling location, the determined width at the prior sampling location, and the determined width at the later sampling location;

for each of the plurality of sampling locations having the prior sampling location and the later sampling location, determining a smoothed rotation of the sampling location as a combination of the determined rotation of the sampling location, the determined rotation of the prior sampling location, and the determined rotation of the later sampling location; and

displaying a representation of the digital ink stroke having the smoothed widths and the smoothed rotations at the plurality of sampling locations.

2. The method of claim 1 wherein the step of determining includes determining a pen tip instance at each of the sampling locations, each pen tip instance having an associated size, the width at each sampling location depending upon the size of the respective pen tip instance.

3. The method of claim 1 , wherein the step of smoothing includes smoothing using a least-squares algorithm.

4. A method for smoothing a digital ink stroke, comprising the steps of:

receiving a user input that includes the digital ink stroke;

determining a plurality of pen tip instances of the digital ink stroke, each of the pen tip instances having an associated rotation;

smoothing the rotations of the plurality of pen tip instances; and

displaying a representation of the ink stroke including a representation of the pen tip instances having the smoothed rotations.

5. The method of claim 4 , wherein the step of smoothing includes smoothing using a least-squares algorithm.

6. The method of claim 1 , wherein the step of determining includes determining each smoothed width in accordance with the following:

the smoothed width at the sampling location=

A1*(the determined width at the prior sampling location)+

A2*(the determined width at the sampling location)+

A3*(the determined width at the later sampling location),

wherein A1, A2, and A3 is each a constant.

7. The method of claim 1 , wherein the steps of determining the smoothed width and the smoothed rotation include determining a fitting curve P that minimizes the following:

Σ{ a ( C i −P i ) 2 +b[W ( C i )− W ( P i )] 2 +c[R ( C i )− R ( P i )] 2 },

wherein a, b, and c are constants, C i are the sampling points, W(C i ) are the determined widths for the sampling points, R(C i ) are the determined rotations of the sampling points P i are locations of points on the fitting curve P, W(P i ) are widths for each point P i , and R(P i ) are rotations for each point P i .

8. The method of claim 4 , wherein the step of smoothing includes, for each of the plurality of pen tip instances having a prior one of the pen tip instances before the pen tip instance in the ink stroke and having a later one of the pen tip instances after the pen tip instance in the ink stroke, determining a smoothed rotation at the pen tip instance as a combination of the rotation of the pen tip instance, the rotation of the prior pen tip instance, and the rotation of the later pen tip instance.

9. The method of claim 4 , wherein the step of smoothing includes, for each of the plurality of pen tip instances having a prior one of the pen tip instances before the pen tip instance in the ink stroke and having a later one of the pen tip instances after the pen tip instance in the ink stroke, determining a smoothed rotation at the pen tip instance as:

the smoothed rotation at the pen tip instance=

A1* (the rotation of the prior pen tip instance)+

A2*(the rotation of the pen tip instance)+

A3*(the rotation of the later pen tip instance),

wherein A1, A2, and A3 is each a constant.

10. The method of claim 4 , wherein the step of smoothing includes determining a fitting curve P that minimizes the following:

Σ c[R ( C i )− R ( P i )] 2 ,

wherein c is a constant, C i are the pen tip instances, R(C i ) are the rotations of the pen tip instances, P i are locations of points on the fitting curve P, and R(P i ) are rotations for each point P i .

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034541/0477 →