Dynamically reconfigurable pixel array for optical navigation

Embodiments of an apparatus are described. In one embodiment, the apparatus is an optical navigation circuit. In particular, the optical navigation circuit may be part of an optical navigation device. The optical navigation circuit includes an image sensor, dynamic reconfiguration logic, and a digital signal processor. The image sensor includes a pixel array to generate a plurality of electrical signals corresponding to incident light at the pixel array. The dynamic reconfiguration logic is coupled to the image sensor. The dynamic reconfiguration logic is configured to receive the plurality of electrical signals from the pixel array and to generate a plurality of reconfigured electrical signals based on the plurality of electrical signals from the pixel array. The digital signal processor is coupled to the dynamic reconfiguration logic. The digital signal processor is configured to receive the plurality of reconfigured electrical signals from the dynamic reconfiguration logic.

BACKGROUND OF THE INVENTION

Conventional optical navigation sensors use a pixel array with uniformly sized pixels to obtain digital images for computing motion. However, there is no optimal pixel size for resolving the features of all types of surfaces or imaged scenes.

For optical mouse sensors, a typical imaged scene is a surface such as a desktop or a mouse pad. Since there are several types of surfaces, different pixel arrays perform differently on each type of surface. For example, larger pixel sizes allow for greater light sensitivity for operation on dark surfaces. Larger pixel sizes are not optimal, though, for surfaces with small features because pixel arrays with larger pixel sizes do not have the proper resolution for such surfaces. As another example, some highly repetitive surfaces such as halftones can cause tracking errors if the pixel pitch is such that motion cannot be distinguished from the repetition of the pattern.

Thus, conventional optical navigation sensors do not easily adapt to different types of scenes imaged for computing motion. In particular, the characteristics of the conventional pixel arrays are fixed and do not provide optimal functionality with a variety of imaged scenes.

SUMMARY OF THE INVENTION

Embodiments of an apparatus are described. In one embodiment, the apparatus is an optical navigation circuit. In particular, the optical navigation circuit may be part of an optical navigation device. The optical navigation circuit includes an image sensor, dynamic reconfiguration logic, and a digital signal processor. The image sensor includes a pixel array to generate a plurality of electrical signals corresponding to incident light at the pixel array. The dynamic reconfiguration logic is coupled to the image sensor. The dynamic reconfiguration logic is configured to receive the plurality of electrical signals from the pixel array and to generate a plurality of reconfigured electrical signals based on the plurality of electrical signals from the pixel array. The digital signal processor is coupled to the dynamic reconfiguration logic. The digital signal processor is configured to receive the plurality of reconfigured electrical signals from the dynamic reconfiguration logic.

Another embodiment of the apparatus is also described. The apparatus includes means for generating a dynamic reconfiguration trigger based on an analysis of a plurality of electrical signals from a pixel array of an optical navigational device. The apparatus also includes means for generating a plurality of reconfigured electrical signals in response to the dynamic reconfiguration trigger. In one embodiment, the plurality of reconfigured electrical signals is based on the plurality of electrical signals from the pixel array. The apparatus also includes means for processing the reconfigured electrical signals to identify a movement of the optical navigation device. Other embodiments of the apparatus are also described.

Embodiments of a method are also described. In one embodiment, the method is a dynamic reconfiguration method for a pixel array of an optical navigation device. The dynamic reconfiguration method includes receiving incident light at the pixel array to generate a plurality of electrical signals. The dynamic reconfiguration method also includes analyzing the plurality of electrical signals to determine whether to generate a dynamic reconfiguration trigger. The dynamic reconfiguration method also includes generating a plurality of reconfigured electrical signals in response to generation of the dynamic reconfiguration trigger. In one embodiment, the plurality of reconfigured electrical signals is based on the plurality of electrical signals from the pixel array. The dynamic reconfiguration method also includes processing the reconfigured electrical signals to identify a movement of the optical navigation device. Other embodiments of the method are also described.

DETAILED DESCRIPTION

FIG. 1depicts a schematic block diagram of one embodiment of an optical navigation system100. The illustrated optical navigation system100includes an optical navigation device102and a navigation surface104. The optical navigation device102emits a light signal which is at least partially reflected by the navigation surface104. The optical navigation device102detects the reflected light signal and processes the reflected light signal, as described below.

It should be noted that the distance between the optical navigation device102and the navigation surface104may vary depending on the application for which the optical navigation device102is used. In near-field applications, the optical navigation device102may be relatively close to the navigation surface104. For example, the optical navigation device102may be in physical contact with the navigation surface104, or the optical navigation device102may be within a few centimeters or inches of the navigation surface104. Alternatively, in far-field applications, the optical navigation device102may be relatively far from the navigation surface104. For example, the optical navigation device102may operate outside of the near-field optical range.

The depicted optical navigation device102includes a light source106, an optical navigation circuit108, a microcontroller110, and optical elements112and114. Other embodiments may include fewer or more components. For example, some embodiments of the optical navigation device102may exclude one or more of the optical elements112and114.

In one embodiment, the light source106is a light emitting diode (LED). In another embodiment, the light source106is a laser. Alternatively, the light source106may be another type of light source.

The depicted optical navigation circuit108includes an image acquisition system (IAS)120, a digital signal processor (DSP)122, and a driver124. In one embodiment, the driver124of the optical navigation circuit108controls the operation of the light source106(e.g., using a driver signal) to generate the light signal that is transmitted through the optical element112to the navigation surface104. The reflected light signal is then received through the other optical element114and detected by the image acquisition system120.

The depicted image acquisition system120includes an image sensor126, which includes a pixel array127. The image acquisition system120also includes dynamic reconfiguration logic128and an analog-to-digital converter (ADC)130. The dynamic reconfiguration logic128also may be referred to as a dynamic reconfiguration circuit.

In one embodiment, the image sensor126generates a plurality of electrical signals corresponding to incident light at the pixel array127. Each of the electrical signals corresponds to one of the picture elements (or pixels) of the pixel array127. In one embodiment, each pixel is a photosensor or other photosensitive device. The light signal reflected from the navigation surface104is incident on the pixel array127. In one embodiment, the optical element114facilitates resolution of microscopic surface images at the pixel array127. The image sensor126then transmits the plurality of electrical signals to the dynamic reconfiguration logic128.

In general, the dynamic reconfiguration logic128receives the plurality of electrical signals from the pixel array127of the image sensor126and generates a plurality of reconfigured electrical signals. The reconfigured electrical signals are based on the plurality of electrical signals from the pixel array127of the image sensor126. Exemplary descriptions of various reconfigured electrical signals, and how the reconfigured electrical signals are generated, are provided in more detail below. The dynamic reconfiguration logic128then transmits the reconfigured electrical signals to the analog-to-digital converter130. The analog-to-digital converter130converts the plurality of reconfigured electrical signals from analog signals to digital signals and then passes the digital signals to the digital signal processor122.

After the digital signal processor122receives the digital form of the reconfigured electrical signals from the analog-to-digital converter130of the image acquisition system120, the digital signal processor122may perform additional processing using the reconfigured electrical signals. The digital signal processor122then transmits one or more signals to the microcontroller110. Exemplary types of signals transmitted from the digital signal processor122of the optical navigation circuit108to the microcontroller110include channel quadrature signals based on Δx and Δy relative displacement values. These signals, or other signals, may be indicative of a movement of the optical navigation device102relative to the navigation surface104. Other embodiments of the digital signal processor122may transmit other types of signals to the microcontroller110. In one embodiment, the microcontroller110implements a variety of functions, including transmitting data to and receiving data from a host computer system (not shown).

FIG. 2depicts a schematic block diagram of one embodiment of the dynamic reconfiguration logic128of the image acquisition system120ofFIG. 1. The illustrated dynamic reconfiguration logic128includes a dynamic reconfiguration controller132, binning logic134, cropping logic136, and variable gain logic138. The dynamic reconfiguration logic128also includes trigger logic140. Alternatively, other embodiments of the dynamic reconfiguration logic128may exclude the trigger logic140.

In one embodiment, the dynamic reconfiguration controller132is configured to implement a dynamic reconfiguration mode. In general, a dynamic reconfiguration mode refers to any mode of operation of the dynamic reconfiguration logic128in which the plurality of electrical signals are received from the image sensor126and a plurality of reconfigured electrical signals are generated based on the original electrical signals from the image sensor126. Some examples of dynamic reconfiguration modes which may be implemented by the dynamic reconfiguration controller132include a binning mode, a cropping mode, and a variable gain mode. Some embodiments of the dynamic reconfiguration controller132may implement other types of dynamic reconfiguration modes. Additionally, some embodiments may implement a combination of dynamic reconfiguration modes.

In one embodiment, the dynamic reconfiguration controller132implements a dynamic reconfiguration mode in response to a dynamic reconfiguration trigger. In other words, the dynamic reconfiguration controller132generates the reconfigured electrical signals in response to a dynamic reconfiguration trigger. In one embodiment, the trigger logic140of the dynamic reconfiguration logic128generates the dynamic reconfiguration trigger. Alternatively, the dynamic reconfiguration trigger may be generated by the digital signal processor122. In this embodiment, the digital signal processor122sends the dynamic reconfiguration trigger to the dynamic reconfiguration logic128of the image acquisition system120.

In one embodiment, the dynamic reconfiguration trigger is a binning trigger. The binning trigger may be generated based on one or more indicators. Exemplary indicators for generating the binning trigger include a first pixel statistics indicator associated with a pixel mean, a second pixel statistics indicator associated with a pixel maximum, a third pixel statistics indicator associated with a pixel histogram, a smoothness indicator to indicate motion tracking smoothness of the optical navigation device, and an image autocorrelation indicator to indicate a pattern repetition of a surface such as the navigation surface104. Some embodiments of the trigger logic140may use other indicators or combinations of indicators.

In another embodiment, the dynamic reconfiguration trigger is a cropping trigger. The cropping trigger may be based on one or more indicators. Exemplary indicators for generating the cropping trigger include a time indicator to indicate a processing time of a motion computation, a smoothness indicator to indicate motion tracking smoothness of the optical navigation device, and an image autocorrelation indicator to indicate a pattern repetition of a surface such as the navigation surface104.

In another embodiment, the dynamic reconfiguration trigger is a variable gain trigger. The variable gain trigger may be generated based on one or more indicators. Exemplary indicators for generating the variable gain trigger include a first pixel statistics indicator associated with a pixel mean, a second pixel statistics indicator associated with a pixel maximum, a third pixel statistics indicator associated with a pixel histogram, and an image feature indicator to indicate an image feature count of an image received by the pixel array127. In one embodiment, the trigger logic140implements a bandpass filter142to generate the image feature indicator. Alternatively, the bandpass filter142may be implemented by the digital signal processor122or another component in the optical navigation circuit108. In another embodiment, separate bandpass filters142may be implemented in each of the trigger logic140and the digital signal processor122. Each bandpass filter142may have unique filter characteristics tailored to the separate operations of triggering and navigation.

One exemplary embodiment of a bandpass filter142is generated by convolving a highpass filter with a low pass filter. A suitable highpass filter is a Laplacian filter, which is commonly represented as a 3×3 matrix, with the following coefficients:

A suitable low pass filter is the following 2×2 summing matrix:

The bandpass filter142resulting from convolving the matrices L and S is represented by the following 4×4 matrix:

The dynamic reconfiguration controller132invokes different dynamic reconfiguration modes depending on the type of dynamic reconfiguration trigger generated by the trigger logic140. Each of the dynamic reconfiguration modes may use a specific type of logic. For example the binning mode134uses the binning logic134, the cropping mode uses the cropping logic136, and the variable gain mode uses the variable gain logic138. Each of these dynamic reconfiguration modes is described in more detail with reference toFIGS. 3-8.

FIGS. 3 and 4illustrate aspects of the binning mode. In one embodiment, the binning logic134is configured to combine subsets of the plurality of electrical signals to generate the plurality of reconfigured electrical signals. Thus, the number of reconfigured electrical signals is equal to the number of subsets. In other words, the binning logic134generates a reconfigured electrical signal that is based on multiple electrical signals from a subset, or group, of pixels in the pixel array127.

FIG. 3depicts a schematic diagram of one embodiment of a pixel array150to show binning. In the illustrated embodiment, the N×N pixel array150is subdivided into sixteen bins154, or groups of pixels152. Each bin154includes a B×B array of pixels152. Therefore, the resulting bin array is a P×P array of bins154. The electrical signals of the individual pixels152within a bin154are combined so that each bin154has one corresponding reconfigured electrical signal. For example, may be sixteen bins154in a 4×4 bin array (i.e., P=4), with each bin154including a 4×4 pixel array (i.e., B=4). B is also referred to as the binning factor because it designates how many pixels152are in each bin154. Since there are sixteen bins154in the illustrated embodiment, the binning logic134generates sixteen corresponding reconfigured electrical signals (e.g., one reconfigured electrical signal for each of the sixteen bins154) for the pixel array150, instead of 256 original electrical signals (e.g., one for each pixel152).

FIG. 4depicts a schematic block diagram of one embodiment of a pixel binning architecture. The dynamic reconfiguration controller132is coupled to the binning logic134to control the implementation of the binning mode. The binning logic134receives N×N electrical signals, where N×N represents the number of pixels152in the pixel array150. The binning logic134then combines the N×N electrical signals to generate P×P reconfigured electrical signals, where P×P represents the number of bins154(because there is one reconfigured electrical signal for each bin154).

It should be noted that the binning mode may reduce the complexity of processing because there are fewer reconfigured electrical signals (e.g., 16) than the number of original electrical signals (e.g., 256). Additionally, the binning mode may be used on relatively dark navigation surfaces104to effectively produce a larger, more sensitive response. When the navigation surface104is dark, the electrical signals produced by the image sensor126are relatively weak due to the limited amount of light reflected from the dark navigation surface104. Thus, combining multiple electrical signals together into a reconfigured electrical signal increases the strength of the signal and the sensitivity of the image sensor. Additionally, combining the electrical signals of multiple pixels152increases the effective pitch, or pixel size, of the image sensor126. For example, the effective pitch of the pixel array150may be increased from the original pixel pitch, x, to a larger pixel pitch, x′. When the optical navigation device102is used on a brighter, more reflective navigation surface104, the binning mode may be disabled so that the original electrical signals from the individual pixels152may be used to allow resolution of smaller features.

In order to illustrate the operation of the binning mode more thoroughly, the following examples are provided. These examples show how binning can be turned on and off. These examples also show how the binning factor can be dynamically adjusted when the binning mode is implemented.

In one example, an image resolved by the image sensor126may be too dark when the binning mode is off. This can be detected by determining that the maximum pixel value and the mean pixel value for the image are below a threshold, and the integration time is set at a maximum. Since integration time cannot be increased, in this example, the binning mode may be initiated, or turned on, to effectively increase the pixel pitch of the pixel array127. In one embodiment, the binning factor, B, is set to be dependent on a ratio of the target mean pixel value and the actual mean pixel value (e.g., B=target/actual).

In another example, an image has too few detectable features when the binning mode is operational. In other words, the image sensor126cannot resolve small features of the navigation surface104, for example, because the effective size of the pixel bins154is too large and the bins154are averaging out the small features when binning is on. This can be detected if the output of a bandpass filter is below a threshold, and if autocorrelation (e.g., after mean removal) is below a threshold. In order to address this issue, binning can be turned off.

In another example, autocorrelation may show closely spaced secondary peaks when binning is turned on. This indicates that the image has a repetitive pattern that is periodic near the effective pixel pitch. To address this issue, the binning factor, B, can be reduced. In one embodiment, the binning factor is reduced by an amount corresponding to the ratio of the target peak spacing and the actual peak spacing (e.g., B′=B*target/actual). Alternatively, the binning factor may be increased or reduced by another amount.

In another embodiment, the detected velocity of the optical navigation device102may be increasing when binning is turned off. This can be detected, for example, by measuring pixel displacement from the last frame by cross-correlation. To address this issue, the binning factor, B, may be increased. In one embodiment, the binning factor is increased by an amount corresponding to the ratio of the target tracking velocity and the current maximum velocity (e.g., B′=B*target/current max). Alternatively, the binning factor may be increased or reduced by another amount.

FIGS. 5-7illustrate aspects of the cropping mode. In one embodiment, the cropping logic136is configured to select a subset of the plurality of electrical signals to generate the plurality of reconfigured electrical signals and to exclude a non-selected subset of the plurality of electrical signals from the plurality of reconfigured electrical signals. In other words, the cropping logic136uses an exclusive subset of the original electrical signals to generate the reconfigured electrical signals.

FIG. 5depicts a schematic diagram of one embodiment of a pixel array to show cropping. In the illustrated embodiment, an M×M subset156of the N×N pixel array150is selected. The remaining pixels152are excluded, or cropped, from the selected subset156. The electrical signals of the pixels152within the subset156are then used as the reconfigured electrical signals. The electrical signals of the remaining, cropped pixels152are not used or included in the reconfigured electrical signals. For example, there are 64 reconfigured electrical signals (i.e., M=8) for the pixel array150, instead of 256 original electrical signals (i.e., N=16).

FIG. 6depicts a schematic diagram of another embodiment of a pixel array150to show cropping. In the illustrated embodiment, an M×L subset158of the N×N pixel array150is selected. The remaining pixels152are cropped from the selected subset158. The electrical signals of the pixels152within the subset156are then used as the reconfigured electrical signals. For example, there are 32 electrical signals for the pixel array150, instead of 256 original electrical signals. It should be noted that the configuration of the subsets156and158are not the same. Hence, the cropping logic136may use various subsets of the pixel array150, and the subsets may be any shape or arrangement, including continuous (i.e., selected pixels152are adjacent one another) and non-continuous (i.e., at least some of the selected pixels152are not adjacent to other selected pixels) configurations.

This type of cropping (or binning) may be useful in applications for tracking motion where the motion is known to occur predominantly in one direction. For example, a printer head moves predominately in the horizontal direction, and so a tracking motion sensor may use more pixels along a horizontal dimension than along a vertical dimension.

FIG. 7depicts a schematic block diagram of one embodiment of a pixel cropping architecture. The dynamic reconfiguration controller132is coupled to the cropping logic136to control the implementation of the cropping mode. The cropping logic136receives N×N electrical signals, where N×N is the number of pixels152in the pixel array150. The cropping logic136then selects a subset of the pixels152to generate M×M (or M×L) reconfigured electrical signals, where M×M (or M×L) is the number of selected pixels152.

It should be noted that the cropping mode may reduce the complexity of processing because there are fewer reconfigured electrical signals (e.g.,64) than the number of original electrical signals (e.g.,256). Also, some embodiments of the dynamic reconfiguration controller132may implement the cropping mode in combination with another dynamic reconfiguration mode such as the binning mode. Other embodiments of the cropping architecture may have other performance considerations.

Additionally, it should be noted that some embodiments of the dynamic reconfiguration logic128facilitate adaptively switching between different dynamic reconfiguration modes. For example, the dynamic reconfiguration logic128may facilitate switching between the binning mode and the cropping mode. This may allow a different type of pixel array126to be used compared to conventional pixel arrays. For example, a pixel array with smaller pixel pitch may be used because the dynamic reconfiguration logic128implements the cropping mode when the navigation surface104has small features and implements the binning mode when the navigation surface104is dark. It should also be noted that embodiments of dynamically switching between the cropping mode and the binning mode allow the image acquisition system120to process the same number of signals regardless of which mode is implemented. When the binning mode is implemented, the size of the bins154can be set so that the number of bins154is a predetermined number. Then when the cropping mode is implemented, the number of selected pixels152can be set to the same number as the number of bins154used in the binning mode. This provides the flexibility of switching between the binning and cropping modes, while processing the same number of signals for both modes.

FIG. 8depicts a schematic block diagram of one embodiment of a variable gain architecture. In one embodiment, the variable gain architecture is used to implement the variable gain mode. It should be noted that the variable gain mode does not necessarily affect which pixel signals are used, in contrast to the binning mode and the cropping mode, described above. Therefore, a separate pixel array diagram is not provided in conjunction with this description of the variable gain mode. In one embodiment, the variable gain logic138provides programmable analog gain.

The variable gain architecture includes the dynamic reconfiguration controller132and the variable gain logic138. The dynamic reconfiguration controller132is coupled to the variable gain logic138to control the implementation of the variable gain mode. In one embodiment, the variable gain logic138is configured to vary an analog gain of at least one of the plurality of electrical signals to generate the plurality of reconfigured electrical signals. Since the number of signals used is not changed, the variable gain logic138has the same number of inputs and outputs. However, at least some of the reconfigured electrical signals output from the variable gain logic138are different from the electrical signals input to the variable gain logic138because the gain of one or more signals is modified to increase or decrease the strength of the corresponding signals.

It should be noted that the variable gain mode may allow the image sensor126to use shorter shutter times and faster frame rates, which in turn allows the image sensor126to resolve features on a darker navigation surface104. Additionally, the dynamic reconfiguration controller132may implement the variable gain mode in combination with another dynamic reconfiguration mode such as the binning mode or the cropping mode. Other embodiments of the variable gain architecture may have other performance considerations.

FIG. 9depicts a flow chart diagram of one embodiment of a dynamic reconfiguration method160for dynamically reconfiguring a pixel array126. Although references are made to the optical navigation system100ofFIG. 1, embodiments of the dynamic reconfiguration method160may be implemented in conjunction with other types of optical navigation systems.

At block162, the image acquisition system120obtains analog pixel data. In one embodiment, the image sensor126receives incident light at the pixel array126, which integrates an array of corresponding electrical signals. The electrical signals are then transmitted to the dynamic reconfiguration logic128. At block164, the dynamic reconfiguration logic128determines if there is a dynamic reconfiguration trigger. In one embodiment, the trigger logic140of the dynamic reconfiguration logic128analyzes the plurality of electrical signals to determine whether to generate a dynamic reconfiguration trigger. In one embodiment, the trigger logic140generates the dynamic reconfiguration trigger, as described above. Alternatively, the digital signal processor122may generate the dynamic reconfiguration trigger.

If a dynamic reconfiguration trigger is not generated, then at block166the dynamic reconfiguration logic128passes the original electrical signals to the analog-to-digital converter130, which generates digital pixel data based on the original analog pixel data. Otherwise, if a dynamic reconfiguration trigger is generated, then at block168the dynamic reconfiguration logic generates a plurality of reconfigured electrical signals based on the plurality of electrical signals from the pixel array126. The dynamic reconfiguration logic128then sends the reconfigured electrical signals to the analog-to-digital converter130. At block170, the analog-to-digital converter130generates digital pixel data based on the reconfigured analog pixel data.

After converting either the original electrical signals or the reconfigured electrical signals from analog signals to digital signals, then at block172the analog-to-digital converter130sends the digital pixel data to the digital signal processor122. At block174the digital signal processor122processes the digital pixel data. In one embodiment, the digital signal processor122processes the digital pixel data to identify a movement of the optical navigation device100relative to the navigation surface104. The digital signal processor122then outputs count signals such as the channel quadrature signals based on Δx and Δy relative displacement values, or other signals, to the microcontroller110. The depicted dynamic reconfiguration method160then ends.

It should be noted that the operation168to generate the reconfigured electrical signals may be implemented in various ways. In one embodiment, the reconfigured electrical signals may be generated using binned signals by combining subsets of the plurality of electrical signals. In another embodiment, the reconfigured electrical signals may be generated using cropped signals by selecting a subset of the plurality of electrical signals and excluding a non-selected subset of the plurality of electrical signals from the plurality of reconfigured electrical signals. In another embodiment, the reconfigured electrical signals may be generated using variable gain signals by varying the analog gain of the plurality of electrical signals. Other embodiments may use other types of signals to generate the reconfigured electrical signals.