Correction of alignment and linearity errors in a stylus input system
First Claim
Patent Images
1. A method for correcting input errors in a data processing system using a stylus input device and a digitizer, comprising the steps of:
- (i) detecting an input point;
(ii) determining a sector of a linearity map in which the detected input point is located, wherein the linearity map comprises a non-linear array of points, each point comprising a predetermined screen point and a corresponding detected calibration point;
(iii) calculating a reference rectangle based on the detected point; and
(iv) calculating a screen point corresponding to the input point based at least in part on the reference rectangle and the linearity map.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system for correcting alignment and linearity errors in devices using a finger or stylus input device with a display device interactively coupled to a digitizer is disclosed. Touching intersections in a calibration grid on the display device may be performed to create a linearity map. Subsequently, detected stylus input is mapped to a sector in the linearity map, and resultant screen coordinates are calculated using ratios within a reference rectangle corresponding to the detected stylus input and the mapped sector.
-
Citations
23 Claims
-
1. A method for correcting input errors in a data processing system using a stylus input device and a digitizer, comprising the steps of:
-
(i) detecting an input point;
(ii) determining a sector of a linearity map in which the detected input point is located, wherein the linearity map comprises a non-linear array of points, each point comprising a predetermined screen point and a corresponding detected calibration point;
(iii) calculating a reference rectangle based on the detected point; and
(iv) calculating a screen point corresponding to the input point based at least in part on the reference rectangle and the linearity map. - View Dependent Claims (2, 3, 4, 8)
-
-
5. A method for correcting input errors in a data processing system using a stylus input device and a digitizer, comprising the steps of:
-
(i) detecting an input point;
(ii) determining a sector of a linearity map in which the detected input point is located;
(iii) calculating a reference rectangle based on the detected point; and
(iv) calculating a screen point corresponding to the input point based at least in part on the reference rectangle and the linearity map, wherein step (ii) comprises the steps of;
(a) maximizing the area of each sector to be a rectangle bounding the sector; and
(b) selecting any sector in whose bounding rectangle the detected point is located.
-
-
6. A method for correcting input errors in a data processing system using a stylus input device and a digitizer, comprising the steps of:
-
(i) detecting an input point;
(ii) determining a sector of a linearity map in which the detected input point is located;
(iii) calculating a reference rectangle based on the detected point; and
(iv) calculating a screen point corresponding to the input point based at least in part on the reference rectangle and the linearity map, wherein step (iii) comprises the steps of;
(a) determining a first vertical intersection point of the detected point'"'"'s y-axis with a sector boundary;
(b) determining a second vertical intersection point of the detected point'"'"'s y-axis with a sector boundary;
(c) determining a first horizontal intersection point of the detected point'"'"'s x-axis with a sector boundary;
(d) determining a second horizontal intersection point of the detected point'"'"'s x-axis with a sector boundary; and
(e) forming a rectangle wherein each side of the rectangle contains an intersection point.
-
-
7. A method for correcting input errors in a data processing system using a stylus input device and a digitizer, comprising the steps of:
-
(i) detecting an input point;
(ii) determining a sector of a linearity map in which the detected input point is located;
(iii) calculating a reference rectangle based on the detected point; and
(iv) calculating a screen point corresponding to the input point based at least in part on the reference rectangle and the linearity map, wherein step (iv) comprises the steps of;
(a) determining a first ratio of the distance of the detected point'"'"'s X-coordinate from a vertical side of the reference rectangle to a width of the reference rectangle;
(b) calculating the screen point'"'"'s X-coordinate so that the ratio of the distance of the screen'"'"'s point'"'"'s X-coordinate from a first corresponding side of a screen rectangle is the same as the first ratio;
(c) determining a second ratio of the distance of the detected point'"'"'s Y-coordinate from a horizontal side of the reference rectangle to a height of the reference rectangle; and
(d) calculating the screen point'"'"'s Y-coordinate so that the ratio of the distance of the screen'"'"'s point'"'"'s Y-coordinate from a second corresponding side of the screen rectangle is the same as the second ratio.
-
-
9. A data processing system comprising:
-
a digitizer for detecting user input from a user using a stylus input device;
a display screen coupled to the digitizer;
a processor; and
a memory storing computer readable instructions that, when executed by the processor, cause the data processing system to perform the steps of;
(i) detecting an input point on the digitizer from the stylus input device;
(ii) determining a sector of a linearity map in which the detected input point is located, wherein the linearity map comprises a non-linear array of points, each point comprising a predetermined screen point and a corresponding detected calibration point;
(iii) calculating a reference rectangle based on the detected point; and
(iv) calculating a screen point corresponding to the input point based on the reference rectangle and the linearity map. - View Dependent Claims (10, 11, 12)
-
-
13. A data processing system comprising:
-
a digitizer for detecting input from a user using a stylus input device;
a display screen coupled to the digitizer;
a processor; and
a memory storing computer readable instructions that, when executed by the processor, cause the data processing system to perform the steps of;
(i) detecting an input point on the digitizer from the stylus input device;
(ii) determining a sector of a linearity map in which the detected input point is located;
(iii) calculating a reference rectangle based on the detected point; and
(iv) calculating a screen point corresponding to the input point based on the reference rectangle and the linearity map, wherein step (ii) comprises the steps of;
(a) maximizing the area of each sector to be a rectangle bounding the sector; and
(b) selecting any sector in whose bounding rectangle the detected point is located.
-
-
14. A data processing system comprising:
-
a digitizer for detecting input from a user using a stylus input device;
a display screen coupled to the digitizer;
a processor; and
a memory storing computer readable instructions that, when executed by the processor, cause the data processing system to perform the steps of;
(i) detecting an input point on the digitizer from the stylus input device;
(ii) determining a sector of a linearity map in which the detected input point is located;
(iii) calculating a reference rectangle based on the detected point; and
(iv) calculating a screen point corresponding to the input point based on the reference rectangle and the linearity map, wherein step (iii) comprises the steps of;
(a) determining a first vertical intersection point of the detected point'"'"'s y-axis with a sector boundary;
(b) determining a second vertical intersection point of the detected point'"'"'s y-axis with a sector boundary;
(c) determining a first horizontal intersection point of the detected point'"'"'s x-axis with a sector boundary;
(d) determining a second horizontal intersection point of the detected point'"'"'s x-axis with a sector boundary; and
(e) forming a rectangle wherein each side of the rectangle contains at least one intersection point.
-
-
15. A data processing system comprising:
-
a digitizer for detecting input from a user using a stylus input device;
a display screen coupled to the digitizer;
a processor; and
a memory storing computer readable instructions that, when executed by the processor, cause the data processing system to perform the steps of;
(i) detecting an input point on the digitizer from the stylus input device;
(ii) determining a sector of a linearity map in which the detected input point is located;
(iii) calculating a reference rectangle based on the detected point; and
(iv) calculating a screen point corresponding to the input point based on the reference rectangle and the linearity map, wherein step (iv) comprises the steps of;
(a) determining a first ratio of the distance of the detected point'"'"'s X-coordinate from a vertical side of the reference rectangle to a width of the reference rectangle;
(b) calculating the screen point'"'"'s X-coordinate so that the ratio of the distance of the screen'"'"'s point'"'"'s X-coordinate from a first corresponding side of a screen rectangle is the same as the first ratio;
(c) determining a second ratio of the distance of the detected point'"'"'s Y-coordinate from a horizontal side of the reference rectangle to a height of the reference rectangle; and
(d) calculating the screen point'"'"'s Y-coordinate so that the ratio of the distance of the screen'"'"'s point'"'"'s Y-coordinate from a second corresponding side of the screen rectangle is the same as the second ratio.
-
-
16. A computer readable medium storing computer readable instructions that, when executed by a processor, cause a data processing device to perform the steps of:
-
(i) detecting an input point on a digitizer;
(ii) determining a sector of a linearity map in which the detected input point is located, wherein the linearity map comprises a non-linear array of points, each point comprising a predetermined screen point and a corresponding detected calibration point;
(iii) calculating a reference rectangle based on the detected point; and
(iv) calculating a screen point corresponding to the input point based at least in part on the reference rectangle and the linearity map. - View Dependent Claims (17, 18, 19, 23)
-
-
20. A computer readable medium storing computer readable instructions that, when executed by a processor, cause a data processing device to perform the steps of:
-
(i) detecting an input point on a digitizer;
(ii) determining a sector of a linearity map in which the detected input point is located;
(iii) calculating a reference rectangle based on the detected point; and
(iv) calculating a screen point corresponding to the input point based at least in part on the reference rectangle and the linearity map, wherein step (ii) comprises the steps of;
(a) maximizing the area of each sector to be a rectangle bounding the sector; and
(b) selecting any sector in whose bounding rectangle the detected point is located.
-
-
21. A computer readable medium storing computer readable instructions that, when executed by a processor, cause a data processing device to perform the steps of:
-
(i) detecting an input point on a digitizer;
(ii) determining a sector of a linearity map in which the detected input point is located;
(iii) calculating a reference rectangle based on the detected point; and
(iv) calculating a screen point corresponding to the input point based at least in part on the reference rectangle and the linearity map, wherein step (iii) comprises the steps of;
(a) determining a first vertical intersection point of the detected point'"'"'s y-axis with a sector boundary;
(b) determining a second vertical intersection point of the detected point'"'"'s y-axis with a sector boundary;
(c) determining a first horizontal intersection point of the detected point'"'"'s x-axis with a sector boundary;
(d) determining a second horizontal intersection point of the detected point'"'"'s x-axis with a sector boundary; and
(e) forming a rectangle wherein each side of the rectangle contains an intersection point.
-
-
22. A computer readable medium storing computer readable instructions that, when executed by a processor, cause a data processing device to perform the steps of:
-
(i) detecting an input point on a digitizer;
(ii) determining a sector of a linearity map in which the detected input point is located;
(iii) calculating a reference rectangle based on the detected point; and
(iv) calculating a screen point corresponding to the input point based at least in part on the reference rectangle and the linearity map, wherein step (iv) comprises the steps of;
(a) determining a first ratio of the distance of the detected point'"'"'s X-coordinate from a vertical side of the reference rectangle to a width of the reference rectangle;
(b) calculating the screen point'"'"'s X-coordinate so that the ratio of the distance of the screen'"'"'s point'"'"'s X-coordinate from a first corresponding side of a screen rectangle is the same as the first ratio;
(c) determining a second ratio of the distance of the detected point'"'"'s Y-coordinate from a horizontal side of the reference rectangle to a height of the reference rectangle; and
(d) calculating the screen point'"'"'s Y-coordinate so that the ratio of the distance of the screen'"'"'s point'"'"'s Y-coordinate from a second corresponding side of the screen rectangle is the same as the second ratio.
-
Specification