1-12. (canceled)
13. A method for operating a hand held optical pointing device, comprising:
capturing a plurality of arrays of data in a hand held optical pointing device representing light reflected from irregularities on a surface;
processing at least some of the plurality of arrays of data in the device to estimate movement of the device with respect to the surface during each of a plurality of measurement cycles; and
sending a series of estimated movement update signals to a computer, each such estimated movement update signal representing the estimated relative movement of the handheld optical pointing device with respect to the surface during more than one of the plurality of measurement cycles.
14. The method of claim 13 wherein the device is an optical mouse.
15. The method of claim 13 in which processing at least some of the plurality of arrays of data further comprises:
deriving and comparing information from at least some of the arrays of data to estimate movement.
16. The method of claim 13 wherein a rate at which the arrays of data are captured is higher than a rate at which the series of estimated movement update signals are sent to the computer.
17. The method of claim 13 wherein a rate at which the arrays of data are processed is higher than a rate at which the series of estimated movement update signals are sent to the computer.
18. The method of claim 13 wherein processing at least some of the plurality of arrays of data further comprises:
comparing information derived from a first array of data with information derived from a second array of data to estimate relative movement of the device with respect to the surface during a measurement cycle.
19. The method of claim 18 wherein comparing information derived from a first array of data with information derived from a second array of data to estimate relative movement further comprises:
comparing a portion of the second array with multiple shifted portions of the first array.
20. The method of claim 13 wherein processing at least some of the plurality of arrays of data further comprises:
altering an aspect of at least one of the first and second arrays of data for at least some of a plurality of comparisons therebetween to estimate relative movement of the device with respect to the surface.
21. The method of claim 20 in which altering an aspect of at least one of the first and second arrays of data further comprises:
reducing the data content of at least one of the first and second arrays of data, and then
estimating relative movement by comparing the first and second arrays of data.
22. The method of claim 21 wherein estimating relative movement by comparing the first and second arrays of data further comprises:
correlating at least a portion of a first array of data with at least a portion of a second array of data to estimate relative movement of the device with respect to the surface during a time period between the capture of the first and second arrays.
23. The method of claim 21 wherein comparing the first array of data with the second array of data to estimate relative movement further comprises:
estimating relative movement in accordance with a comparison between a shifted element of one of the first and second arrays of data with the other one of the first and second arrays of data.
24. The method of claim 13 wherein the relative movement estimated during each of the plurality of measurement cycles is related to a distance between elements of the arrays of captured data.
25. The method of claim 24 wherein the estimated movement update signal sent to the computer represents movement greater than the distance between elements of the arrays of captured data.
26. The method of claim 13 wherein processing at least some of the plurality of arrays of data in the device to estimate relative movement of the device with respect to the surface during each of a plurality of measurement cycles comprises:
comparing at least portions of a first and second of the arrays of data to estimate a relative movement, if any, of the device with respect to the surface during each of the plurality of measurement cycles; and
accumulating the estimated movement during a plurality of measurement cycles to determine a magnitude for the movement update data signal.
27. The method of claim 13 wherein sending a series of estimated movement update signals to a computer further comprises:
scaling the series of estimated movement update signals to indicate movement of a cursor on a display associated with the computer.
28. A method for operating an optical pointing device, comprising:
providing an array of photodetectors in an optical pointing device responsive to light reflected from irregularities on a surface;
capturing a plurality of arrays of data in the device from the array of photodetectors, each data array including data elements each representing light captured at one of the photodetectors at a selected time;
processing at least one data element in a first array of the plurality of arrays of data with a plurality of data elements in a second array to estimate any relative movement, during a time interval between the captures of the first and second arrays, between the device and the surface by comparing the at least one data element and one of the plurality of data elements;
combining a plurality of relative movement estimates to develop a combined estimate of relative movement between the device and the surface during a time interval greater than the time interval between the captures of the first and second arrays; and
selectively providing an update to a computer representing the combined relative movement estimate.
29. The method of claim 28 wherein the number of relative movement estimates to be represented by an update is selected in accordance with a function to be performed by the computer in response to the update.
30. The method of claim 29 wherein the function to be performed by the computer in response to the update is to control the position of a pointer in a display.
31. The method of claim 28 wherein selectively providing an update to a computer further comprises:
determining if the update represents a valid relative movement between the device and the surface.
32. The method of claim 28 wherein selectively providing an update to a computer further comprises:
determining if the update represents a valid relative movement with respect to an operation to be performed by the computer in response to the update.
33. The method of claim 28 wherein selectively providing an update to a computer further comprises:
providing the update unless the update represents movement of the device away from the surface.
34. The method of claim 28 wherein selectively providing an update to a computer further comprises:
sending an update different from the combined estimates of relative movement if the combined estimates do not represent a valid relative movement between the device and the surface.
35. The method of claim 28 wherein selectively providing an update to a computer further comprises:
scaling the update to indicate movement of a cursor on a display associated with the computer.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. In a processing device associated with a display device that has a plurality of pixels, each pixel having a plurality of separately controllable colored pixel sub-components, and wherein the colored sub-pixel components form colored stripes in either a horizontal or a vertical direction, a method of dropout control adapted to compensate for thin image features when rendering the image, comprising the acts of:
receiving a bitmap having a plurality of samples representing an image, each sample corresponding to one of the separately controllable sub-pixel components;
for a direction that is perpendicular to the stripping formed by the sub-pixel components, identifying a set of one or more horizontally adjacent sub-pixel component samples that fall within an outline of the bitmap image;
determining whether the set of one or more horizontally adjacent sub-pixel component samples comprises a minimum number of horizontally adjacent sub-pixel component samples; and
when it is determined that the set of one or more horizontally adjacent sub-pixel component samples fails to comprise the minimum number of horizontally adjacent sub-pixel component samples selectively adding additional sub-pixel components to the set of samples such that the set of samples comprises the minimum number of horizontally adjacent sub-pixel component samples.
2. A computer program product comprising a computer readable storage medium storing computer-executable instructions for implementing the method of claim 1.
3. The method of claims 1 or 2, wherein the set of samples comprises a mutually exclusive set of consecutive samples.
4. The method of claims 1 or 2, wherein the stripping is vertical, and wherein the samples of the set of samples comprise all of a group of consecutive samples for a row of samples.
5. The method of claims 1 or 2, wherein the minimum number of samples comprises the number of samples needed to compensate for thin image features.
6. The method of claim 4, wherein identifying a set of samples for a row of samples is conducted by processing discrete sections of the bitmap.
7. The method of claim 6, wherein the discrete sections of the bitmap are processed in a bitwise fashion.
8. The method of claim 6, wherein the discrete sections of the bitmap are processed utilizing an associative table.
9. The method of claim 8, wherein selectively adding samples comprises replacing the set of samples with an alternative pattern of samples from the associative table.
10. The method recited in claim 1, wherein the predetermined number is based on the font size of the image being displayed.
11. The method recited in claim 1, wherein the predetermined number is based on hinting of the image being displayed.
12. The method recited in claim 1, wherein the minimum predetermined number is also based on the resolution of a display screen on which the image is displayed.
13. The method recited in claim 1, wherein the predetermined number of samples is dependent upon a potential for inktraps and by treating closely spaced and disjointed sets of pixels differently than widely spaced and disjointed sets of pixels.
14. In a processing device associated with a display device that has a plurality of pixels, each pixel having a plurality of separately controllable colored pixel sub-components, and wherein the colored sub-pixel components form colored stripes in either a horizontal or a vertical direction, a method of dropout control adapted to compensate for thin image features when rendering the image, comprising the acts of:
receiving a bitmap having a plurality of samples representing an image;
identifying a set of adjacent pixel sub-component samples that are adjacent in a direction parallel to striping formed by the colored stripes, and wherein the set of samples comprise a mutually exclusive group of one or more adjacent samples that fall within an outline of the image;
calculating whether the set of samples comprises a minimum number of samples; and
selectively adding additional samples to the set of samples such that the set of samples comprises the minimum number of samples, and wherein the image is positioned vertically adjacent to a baseline and the additional samples added to the set of samples are uniformly added to portions of the image positioned above and below the baseline.
15. A computer program product comprising a computer readable storage medium storing computer-executable instructions for implementing the method of claim 14.