IP Library Granted Patent US 9,223,417
Granted Patent B1
US 9,223,417 · App. 12/363,364 · Granted Dec 29, 2015

Method and apparatus for on-the-run processing of electronic ink using digital filtering and adaptive parameterization

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 9,223,417
App. No.
12/363,364
Granted
Dec 29, 2015
Kind
B1
Abstract

A method and system for on-the-run processing of source data is disclosed. In one embodiment, the system includes an input device to trace the moving object, such as a pen, an on-the-run filter, coupled to the input device, to perform denoising of the source data without noticeable shrinkage of the trace using recursive reparameterization filtering, and a storage device, coupled to the on-the-run filter, to compress and store the data.

Claims (82)

1. A system comprising:

an input device to trace a moving object and provide source data points corresponding to different locations of the moving object, wherein resampled data points are added in response to new source data points becoming available; and

a first on-the-run filter, coupled to the input to provide output points corresponding to the source data and the resampled data points wherein the first on-the-run filter uses recursive reparameterization to progressively adjust positions of the resampled data points based on the output points and the resampled data points in response to the new source data points being added and wherein a subset of the resampled data points and the output points form a reference polygon that is used to adjust positions of the resampled data points.

2. The system of claim 1 further comprising:

a display device, coupled to the first on-the-run filter, to display the output points.

3. The system of claim 1 , further comprising:

a storage device, coupled to the first on-the-run filter, to compress and store the output points.

4. The system of claim 3 further comprising:

a decoder, coupled to the storage device, to reconstruct the output data points.

5. The system of claim 1 wherein the source data points are treated as vertices of a source polygon that includes the resampled data points.

6. The system of claim 1 , further comprising:

a second on-the-run filter that-uses recursive reparameterization to further adjust positions of the resampled data points.

7. A system comprising:

an input device to trace a moving object and provide source data points corresponding to different locations of the moving object, wherein resampled data points are added in response to new source data points becoming available; and

a first on-the-run filter, coupled to the input to provide output points corresponding to the source data and the resampled data points wherein the first on-the-run filter uses recursive reparameterization to progressively adjust positions of the resampled data points based on the output points and the resampled data points in response to the new source data points being added and wherein each of the output points is a weighted average of a subset of the resampled data points.

8. The system of claim 7 , further comprising:

a display device, coupled to the first on-the-run filter, to display the output points.

9. The system of claim 8 , further comprising:

a decoder, coupled to the storage device, to reconstruct the output data points.

10. The system of claim 7 , further comprising:

a storage device, coupled to the first on-the-run filter, to compress and store the output points.

11. The system of claim 7 , wherein the source data points are treated as vertices of a source polygon that includes the resampled data points.

12. The system of claim 7 , further comprising:

a second on-the-run filter that-uses recursive reparameterization to further adjust positions of the resampled data points.

13. A method for handling electronic ink using a processor, comprising:

receiving source data from an input device that traces a moving object to provide source data points corresponding to different locations of the moving object;

adding resampled data points in response to new source data points becoming available;

providing output points corresponding to the source data and the resampled data points;

using a first on-the-run filter that provides recursive reparameterization to progressively adjust positions of the resampled data points based on the output points and the resampled data points in response to the source data points being added; and

forming a reference polygon using a subset of the resampled data points and the output points, wherein the reference polygon is used to adjust positions of the resampled data points.

14. The method of claim 13 further comprising:

displaying the output points using a display device coupled to the first on-the-run filter.

15. The method of claim 13 , further comprising:

compressing and storing the output data points using a storage device coupled to the first on-the-run filter.

16. The method of claim 15 further comprising:

reconstructing the compressed output data points using a decoder coupled to the storage device.

17. The method of claim 13 wherein the source data points are treated as vertices of a source polygon that includes the resampled data points.

18. The method claim 13 , further comprising:

using a second on-the-run filter that provides recursive reparameterization to further adjust positions of the resampled data points.

19. A method for handling electronic ink using a processor, comprising:

receiving source data from an input device that traces a moving object to provide source data points corresponding to different locations of the moving object;

adding resampled data points in response to new source data points becoming available;

providing output points corresponding to the source data and the resampled data points; and

using a first on-the-run filter that provides recursive reparameterization to progressively adjust positions of the resampled data points based on the output points and the resampled data points in response to the source data points being added wherein each of the output points is a weighted average of a subset of the resampled data points.

20. The method of claim 19 , further comprising:

displaying the output points using a display device coupled to the first on-the-run filter.

21. The method of claim 19 , further comprising:

compressing and storing the output data points using a storage device coupled to the first on-the-run filter.

22. The method of claim 21 , further comprising:

reconstructing the compressed output data points using a decoder coupled to the storage device.

23. The method of claim 19 wherein the source data points are treated as vertices of a source polygon that includes the resampled data points.

24. The method of claim 19 , further comprising:

using a second on-the-run filter that provides recursive reparameterization to further adjust positions of the resampled data points.

25. A non-transitory computer-readable medium containing software that handles electronic ink, the software running on a processor and comprising:

executable code that receives source data from an input device that traces a moving object to provide source data points corresponding to different locations of the moving object;

executable code that adds resampled data points in response to new source data points becoming available;

executable code that provides output points corresponding to the source data and the resampled data points;

executable code that uses a first on-the-run filter that provides recursive reparameterization to progressively adjust positions of the resampled data points in response to the source data points being added; and

executable code that forms a reference polygon using a subset of the resampled data points and the output points, wherein the reference polygon is used to adjust positions of the resampled data points.

26. The non-transitory computer-readable medium of claim 25 further comprising:

executable code that displays the output points using a display device coupled to the first on-the-run filter.

27. The non-transitory computer-readable medium of claim 25 , further comprising:

executable code that compresses and stores the output data points using a storage device coupled to the first on-the-run filter.

28. The non-transitory computer-readable medium of claim 27 further comprising:

executable code that reconstructs the compressed output data points using a decoder coupled to the storage device.

29. The non-transitory computer-readable medium of claim 25 wherein the source data points are treated as vertices of a source polygon that includes the resampled data points.

30. The non-transitory computer-readable medium of claim 25 , further comprising:

executable code that uses a second on-the-run filter that provides recursive reparameterization to further adjust positions of the resampled data points.

31. A non-transitory computer-readable medium containing software that handles electronic ink, the software running on a processor and comprising:

executable code that receives source data from an input device that traces a moving object to provide source data points corresponding to different locations of the moving object;

executable code that adds resampled data points in response to new source data points becoming available;

executable code that provides output points corresponding to the source data and the resampled data points; and

executable code that uses a first on-the-run filter that provides recursive reparameterization to progressively adjust positions of the resampled data points in response to the source data points being added wherein each of the output points is a weighted average of a subset of the resampled data points.

32. The non-transitory computer-readable medium of claim 31 further comprising:

executable code that displays the output points using a display device coupled to the first on-the-run filter.

33. The non-transitory computer-readable medium of claim 31 , further comprising:

executable code that compresses and stores the output data points using a storage device coupled to the first on-the-run filter.

34. The non-transitory computer-readable medium of claim 33 further comprising:

executable code that reconstructs the compressed output data points using a decoder coupled to the storage device.

35. The non-transitory computer-readable medium of claim 31 wherein the source data points are treated as vertices of a source polygon that includes the resampled data points.

36. The non-transitory computer-readable medium of claim 31 , further comprising:

executable code that uses a second on-the-run filter that provides recursive reparameterization to further adjust positions of the resampled data points.

Assignments (10)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2024
From: EVERNOTE CORPORATION
To: BENDING SPOONS S.P.A.
Reel/Frame 066288/0195 →
RELEASE OF SECURITY INTEREST Recorded Mar 17, 2023
From: MUFG BANK, LTD.
To: EVERNOTE CORPORATION
Reel/Frame 063116/0260 →
RELEASE OF SECURITY INTEREST Recorded Oct 8, 2021
From: EAST WEST BANK
To: EVERNOTE CORPORATION
Reel/Frame 057852/0078 →
SECURITY INTEREST Recorded Oct 6, 2021
From: EVERNOTE CORPORATION
To: MUFG UNION BANK, N.A.
Reel/Frame 057722/0876 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT TERMINATION AT R/F 040192/0720 Recorded Oct 22, 2020
From: SILICON VALLEY BANK
To: EVERNOTE CORPORATION
Reel/Frame 054145/0452 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT TERMINATION AT R/F 040240/0945 Recorded Oct 22, 2020
From: HERCULES CAPITAL, INC.
To: EVERNOTE CORPORATION; EVERNOTE GMBH
Reel/Frame 054213/0234 →
SECURITY INTEREST Recorded Oct 19, 2020
From: EVERNOTE CORPORATION
To: EAST WEST BANK
Reel/Frame 054113/0876 →
SECURITY INTEREST Recorded Oct 5, 2016
From: EVERNOTE CORPORATION; EVERNOTE GMBH
To: HERCULES CAPITAL, INC., AS AGENT
Reel/Frame 040240/0945 →
SECURITY AGREEMENT Recorded Sep 30, 2016
From: EVERNOTE CORPORATION
To: SILICON VALLEY BANK
Reel/Frame 040192/0720 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2009
From: POLYAKOV, VLADISLAV; GORBATOV, BORIS; TRUSHKIN, FEDOR; PASHINTSEV, ALEXANDER
To: EVERNOTE CORPORATION
Reel/Frame 022183/0624 →