This invention generally relates to electronic devices, and more specifically relates to sensor devices and using sensor devices for producing user interface inputs.
Proximity sensor devices (also commonly called touch sensor devices) are widely used in a variety of electronic systems. A proximity sensor device typically includes a sensing region, often demarked by a surface, in which input objects may be detected. Example input objects include fingers, styli, and the like. The proximity sensor device may utilize one or more sensors based on capacitive, resistive, inductive, optical, acoustic and/or other technology. Further, the proximity sensor device may determine the presence, location and/or motion of a single input object in the sensing region, or of multiple input objects simultaneously in the sensor region.
The proximity sensor device may be used to enable control of an associated electronic system. For example, proximity sensor devices are often used as input devices for larger computing systems, including: notebook computers and desktop computers. Proximity sensor devices are also often used in smaller systems, including: handheld systems such as personal digital assistants (PDAs), remote controls, and communication systems such as wireless telephones and text messaging systems. Increasingly, proximity sensor devices are used in media systems, such as CD, DVD, MP3, video or other media recorders or players. The proximity sensor device may be integral or peripheral to the computing system with which it interacts.
In the past, some proximity sensor devices have had limited ability to detect and distinguish between one or more objects in the sensing region. For example, some capacitive sensor devices may detect a change in capacitance resulting from an object or objects being in the sensing region but may not be able to reliably determine if the change was caused by one object or multiple objects in the sensing region. This limits the flexibility of the proximity sensor device in providing different types of user interface actions in response to different numbers of objects or gestures with different numbers of objects.
This limitation is prevalent in some capacitive sensors generally referred to as “profile sensors”. Profile sensors use arrangements of capacitive electrodes to generate signals in response one or more objects in the sensing region. Taken together, these signals comprise a profile that may be analyzed determine the presence and location of objects in the sensing region. In a typical multi-dimensional sensor, capacitance profiles are generated and analyzed for each of multiple coordinate directions. For example, an “X profile” may be generated from capacitive electrodes arranged along the X direction, and a “Y profile” may be generated for electrodes arranged in the Y direction. These two profiles are then analyzed to determine the position of any object in the sensing region.
Because of ambiguity in the capacitive response, it may be difficult for the proximity sensor to reliably determine if the capacitive profile is the result of one or more objects in the sensing region. This may limit the ability of the proximity sensor to distinguish between one or more objects and thus to provide different interface actions in response to different numbers of objects.
Thus, what is needed are improved techniques for quickly and reliably distinguishing between one or more objects in a sensing region of a proximity sensor device, and in particular, object(s) in the sensing region of capacitive profile sensors. Other desirable features and characteristics will become apparent from the subsequent detailed description and the appended claims, taken in conjunction with the accompanying drawings and the foregoing technical field and background.
The embodiments of the present invention provide a device and method that facilitates improved sensor device usability. Specifically, the device and method provide improved device usability by facilitating the reliable determination of the number objects in a sensing region of a capacitive sensors. For example, the device and method may determine if one object or multiple objects are in the sensing region. The determination of the number of objects in the sensing region may be used to facilitate different user interface actions in response to different numbers of objects, and thus may improve sensor device usability.
In one embodiment, a sensor device comprises an array of capacitive sensing electrodes and a processing system coupled to the electrodes. The capacitive sensing electrodes are configured to generate sensing signals that are indicative of objects in a sensing region. The processing system is configured to receive sensing signals from the capacitive sensing electrodes and generate a plurality of sensing values, each of the plurality of sensing values corresponding to a sensing electrode in the first array of capacitive sensing electrodes. The processing system is further configured to produce a plurality of positional values corresponding to a plurality of groups of electrodes in the first array of capacitive sensing electrodes; analyze the plurality of positional values to determine if one or more clusters exist in the plurality of positional values; and determine a number of objects in the sensing region from the determined one or more clusters in the plurality of positional values. Thus, the sensor device facilitates the determination of the number of objects in the sensing region, and may be used to facilitate different user interface actions in response to different numbers of objects.
In another embodiment, a method is provided for determining a number of objects in a sensing region of a capacitive sensor with a first array of capacitive sensing electrodes. In this embodiment, the method comprises the steps of receiving sensing signals from the first array of capacitive sensing electrodes, generating a plurality of sensing values, each of the plurality of sensing values corresponding to a sensing electrode in the first array of capacitive sensing electrodes, producing a plurality of positional values corresponding to a plurality of groups of electrodes in the array of sensing electrodes, analyzing the plurality of positional values to determine if one or more clusters exist in the plurality of positional values; and determining a number of objects in the sensing region from the determined one or more clusters in the plurality of positional values. Thus, the method facilitates the determination of the number of objects in the sensing region, and may thus be used to facilitate different user interface actions in response to different numbers of objects.
The preferred exemplary embodiment of the present invention will hereinafter be described in conjunction with the appended drawings, where like designations denote like elements, and wherein:
The following detailed description is merely exemplary in nature and is not intended to limit the invention or the application and uses of the invention. Furthermore, there is no intention to be bound by any expressed or implied theory presented in the preceding technical field, background, brief summary or the following detailed description.
The embodiments of the present invention provide a device and method that facilitates improved sensor device usability. Specifically, the device and method provide improved device usability by facilitating the reliable determination of the number objects in a sensing region of a capacitive sensors. For example, the device and method may determine if one object or multiple objects are in the sensing region. The determination of the number of objects in the sensing region may be used to facilitate different user interface actions in response to different numbers of objects, and thus may improve sensor device usability.
Turning now to the drawing figures,
The input device 116 is adapted to provide user interface functionality by facilitating data entry responsive to sensed objects. Specifically, the processing system 119 is configured to determine positional information for multiple objects sensed by a sensor in the sensing region 118. This positional information may then be used by the system 100 to provide a wide range of user interface functionality.
The input device 116 is sensitive to input by one or more input objects (e.g. fingers, styli, etc.), such as the position of an input object 114 within the sensing region 118. “Sensing region” as used herein is intended to broadly encompass any space above, around, in and/or near the input device in which sensor(s) of the input device is able to detect user input. In a conventional embodiment, the sensing region of an input device extends from a surface of the sensor of the input device in one or more directions into space until signal-to-noise ratios prevent sufficiently accurate object detection. The distance to which this sensing region extends in a particular direction may be on the order of less than a millimeter, millimeters, centimeters, or more, and may vary significantly with the type of sensing technology used and the accuracy desired. Thus, embodiments may require contact with the surface, either with or without applied pressure, while others do not. Accordingly, the sizes, shapes, and locations of particular sensing regions may vary widely from embodiment to embodiment.
Sensing regions with rectangular two-dimensional projected shape are common, and many other shapes are possible. For example, depending on the design of the sensor array and surrounding circuitry, shielding from any input objects, and the like, sensing regions may be made to have two-dimensional projections of other shapes. Similar approaches may be used to define the three-dimensional shape of the sensing region. For example, any combination of sensor design, shielding, signal manipulation, and the like may effectively define a sensing region 118 that extends some distance into or out of the page in
In operation, the input device 116 suitably detects one or more input objects (e.g. the input object 114) within the sensing region 118. The input device 116 thus includes a sensor (not shown) that utilizes any combination sensor components and sensing technologies to implement one or more sensing regions (e.g. sensing region 118) and detect user input such as presences of object(s). Input devices may include any number of structures, including one or more capacitive sensor electrodes, one or more other electrodes, or other structures adapted to detect object presence. Devices that use capacitive electrodes for sensing are advantageous to ones requiring moving mechanical structures (e.g. mechanical switches) as they may have a substantially longer usable life.
For example, sensor(s) of the input device 116 may use arrays or other patterns of capacitive sensor electrodes to support any number of sensing regions 118. Examples of the types of technologies that may be used to implement the various embodiments of the invention may be found in U.S. Pat. Nos. 5,543,591, 5,648,642, 5,815,091, 5,841,078, and 6,249,234.
In some capacitive implementations of input devices, a voltage is applied to create an electric field across a sensing surface. These capacitive input devices detect the position of an object by detecting changes in capacitance caused by the changes in the electric field due to the object. The sensor may detect changes in voltage, current, or the like.
As another example, some capacitive implementations utilize transcapacitive sensing methods based on the capacitive coupling between sensor electrodes. Transcapacitive sensing methods are sometimes also referred to as “mutual capacitance sensing methods.” In one embodiment, a transcapacitive sensing method operates by detecting the electric field coupling one or more transmitting electrodes with one or more receiving electrodes. Proximate objects may cause changes in the electric field, and produce detectable changes in the transcapacitive coupling. Sensor electrodes may transmit as well as receive, either simultaneously or in a time multiplexed manner. Sensor electrodes that transmit are sometimes referred to as the “transmitting sensor electrodes,” “driving sensor electrodes,” “transmitters,” or “drivers”—at least for the duration when they are transmitting. Other names may also be used, including contractions or combinations of the earlier names (e.g. “driving electrodes” and “driver electrodes.” Sensor electrodes that receive are sometimes referred to as “receiving sensor electrodes,” “receiver electrodes,” or “receivers”—at least for the duration when they are receiving. Similarly, other names may also be used, including contractions or combinations of the earlier names. In one embodiment, a transmitting sensor electrode is modulated relative to a system ground to facilitate transmission. In another embodiment, a receiving sensor electrode is not modulated relative to system ground to facilitate receipt.
In
The processing system 119 may provide electrical or electronic indicia based on positional information and force information of input objects (e.g. input object 114) to the electronic system 100. In some embodiments, input devices use associated processing systems to provide electronic indicia of positional information and force information to electronic systems, and the electronic systems process the indicia to act on inputs from users. One example system response is moving a cursor or other object on a display, and the indicia may be processed for any other purpose. In such embodiments, a processing system may report positional and force information to the electronic system constantly, when a threshold is reached, in response criterion such as an identified stroke of object motion, or based on any number and variety of criteria. In some other embodiments, processing systems may directly process the indicia to accept inputs from the user, and cause changes on displays or some other actions without interacting with any external processors.
In this specification, the term “processing system” is defined to include one or more processing elements that are adapted to perform the recited operations. Thus, a processing system (e.g. the processing system 119) may comprise all or part of one or more integrated circuits, firmware code, and/or software code that receive electrical signals from the sensor and communicate with its associated electronic system (e.g. the electronic system 100). In some embodiments, all processing elements that comprise a processing system are located together, in or near an associated input device. In other embodiments, the elements of a processing system may be physically separated, with some elements close to an associated input device, and some elements elsewhere (such as near other circuitry for the electronic system). In this latter embodiment, minimal processing may be performed by the processing system elements near the input device, and the majority of the processing may be performed by the elements elsewhere, or vice versa.
Furthermore, a processing system (e.g. the processing system 119) may be physically separate from the part of the electronic system (e.g. the electronic system 100) that it communicates with, or the processing system may be implemented integrally with that part of the electronic system. For example, a processing system may reside at least partially on one or more integrated circuits designed to perform other functions for the electronic system aside from implementing the input device.
In some embodiments, the input device is implemented with other input functionality in addition to any sensing regions. For example, the input device 116 of
Likewise, any positional information determined a processing system may be any suitable indicia of object presence. For example, processing systems may be implemented to determine “one-dimensional” positional information as a scalar (e.g. position or motion along a sensing region). Processing systems may also be implemented to determine multi-dimensional positional information as a combination of values (e.g. two-dimensional horizontal/vertical axes, three-dimensional horizontal/vertical/depth axes, angular/radial axes, or any other combination of axes that span multiple dimensions), and the like. Processing systems may also be implemented to determine information about time or history.
Furthermore, the term “positional information” as used herein is intended to broadly encompass absolute and relative position-type information, and also other types of spatial-domain information such as velocity, acceleration, and the like, including measurement of motion in one or more directions. Various forms of positional information may also include time history components, as in the case of gesture recognition and the like. As will be described in greater detail below, positional information from the processing systems may be used to facilitate a full range of interface inputs, including use of the proximity sensor device as a pointing device for selection, cursor control, scrolling, and other functions.
In some embodiments, an input device such as the input device 116 is adapted as part of a touch screen interface. Specifically, a display screen is overlapped by at least a portion of a sensing region of the input device, such as the sensing region 118. Together, the input device and the display screen provide a touch screen for interfacing with an associated electronic system. The display screen may be any type of electronic display capable of displaying a visual interface to a user, and may include any type of LED (including organic LED (OLED)), CRT, LCD, plasma, EL or other display technology. When so implemented, the input devices may be used to activate functions on the electronic systems. In some embodiments, touch screen implementations allow users to select functions by placing one or more objects in the sensing region proximate an icon or other user interface element indicative of the functions. The input devices may be used to facilitate other user interface interactions, such as scrolling, panning, menu navigation, cursor control, parameter adjustments, and the like. The input devices and display screens of touch screen implementations may share physical elements extensively. For example, some display and sensing technologies may utilize some of the same electrical components for displaying and sensing.
It should be understood that while many embodiments of the invention are to be described herein the context of a fully functioning apparatus, the mechanisms of the present invention are capable of being distributed as a program product in a variety of forms. For example, the mechanisms of the present invention may be implemented and distributed as a sensor program on computer-readable media. Additionally, the embodiments of the present invention apply equally regardless of the particular type of computer-readable medium used to carry out the distribution. Examples of computer-readable media include various discs, memory sticks, memory cards, memory modules, and the like. Computer-readable media may be based on flash, optical, magnetic, holographic, or any other storage technology.
As noted above, the input device 116 is adapted to provide user interface functionality by facilitating data entry responsive to sensed proximate objects and the force applied by such objects. Specifically, the input device 116 provides improved device usability by facilitating the reliable determination of the number objects in the sensing region 118. For example, the input device 116 may determine if one object or multiple objects are in the sensing region 118. The determination of the number of objects in the sensing region 118 may be used in determining positional information for the one or multiple objects, and further may be used to provide different user interface actions in response to different numbers of objects, and thus may improve sensor device usability.
In a typical embodiment, the input device 116 comprises an array of capacitive sensing electrodes and a processing system 119 coupled to the electrodes. The capacitive sensing electrodes are configured to generate sensing signals that are indicative of objects in the sensing region 118. The processing system 119 receives sensing signals from the capacitive sensing electrodes and generates a plurality of sensing values, each of the plurality of sensing values corresponding to a sensing electrode in the array of capacitive sensing electrodes.
From those sensing values, the processing system 119 can determine positional information for objects in the sensing region. And in accordance with the embodiments of the invention, the processing system 119 is configured to determine if one or more objects is in the sensing region 118, and may thus distinguish between situations where one object is in the sensing region 118 and situations where two objects are in the sensing region 118. To facilitate this determination, the sensing region 118 is configured to produce a plurality of positional values from the sensing signals received from the electrodes. These positional values correspond to a plurality of groups of electrodes in the first array of capacitive sensing electrodes. The processing system 119 is configured to analyze the plurality of positional values to determine if one or more clusters exist in the plurality of positional values, and determine a number of objects in the sensing region from the determined one or more clusters in the plurality of positional values. Thus, the processing system 119 facilitates the determination of the number of objects in the sensing region 118, and may thus be used to facilitate different user interface actions in response to different numbers of objects.
As noted above, the input device 116 may be implemented with a variety of different types and arrangements of capacitive sensing electrodes. To name several examples, the capacitive sensing device may be implemented with electrode arrays that are formed on multiple substrate layers, typically with the electrodes for sensing in one direction (e.g., the “X” direction) formed on a first layer, while the electrodes for sensing in a second direction (e.g., the “Y” direction are formed on a second layer. In other embodiments, the electrodes for both the X and Y sensing may be formed on the same layer. In yet other embodiments, the electrodes may be arranged for sensing in only one direction, e.g., in either the X or the Y direction. In still another embodiment, the electrodes may be arranged to provide positional information in polar coordinates, such as “r” and “θ” as one example. In these embodiments the electrodes themselves are commonly arranged in a circle or other looped shape to provide “θ”, with the shapes of individual electrodes used to provide “r”.
Also, a variety of different electrode shapes may be used, including electrodes shaped as thin lines, rectangles, diamonds, wedge, etc. Finally, a variety of conductive materials and fabrication techniques may be used to form the electrodes. As one example, the electrodes are formed by the deposition and etching of conductive ink on a substrate.
Turning now to
In the example of
Again, it should be emphasized that the sensing electrodes 200 are just one example of the type of electrodes that may be used to implement the embodiments of the invention. For example, some embodiments would include more or less numbers of electrodes. In other examples, the electrodes may be formed on multiple layers. In yet other examples, the electrodes may implemented with an array of electrodes that have multiple rows and columns of discrete electrodes.
Turning now to
Turning now to
Turning now to
Turning now to
The first step 1102 is to generate sensing values with a plurality of capacitive electrodes. As noted above, a variety of different technologies may be used in implementing the input device, and these various implementations may generate signals indicative of object presence in a variety of formats. As one example, the input device may generate signals that correlate to the magnitude of a measured capacitance associated with each electrode. These signals may be based upon measures of absolute capacitance, transcapacitance, or some combination thereof. Furthermore, these signals may then be sampled, amplified, filtered, or otherwise conditioned as desirable to generate sensing values corresponding to the electrodes in the input device.
The next step 1104 is to produce positional values corresponding to a plurality of groups of electrodes. In this step, sensing values corresponding to subsets of electrodes, referred to herein as groups of electrodes, are used to generate the positional values. The groups of electrodes used for generating positional values may be selected and defined in a variety of ways. As one specific example, each group of electrodes may comprise a specified number of electrodes. Furthermore, each group of electrodes may comprise non-overlapping electrodes (where each electrode is only in one group) or overlapping electrodes (where some electrodes are members of multiple groups). In one specific embodiment, each group of electrodes comprises three electrodes, with the groups overlapping such that each electrode is a member of multiple groups of electrodes.
Turning briefly to
Turning briefly to
Returning to
As one specific example, where each group of sensing values includes three sensing values a, b, and c, where sensing value b corresponds to the ith electrode, sensing value a corresponds to the i−1 electrode, and sensing value c corresponds to the i+1 electrode, the positional value xi corresponding to these sensing values may be determined by:
In Equation 1, the positional value xi indicates the position of the extrema in the sensing values as determined from the sensing values a, b, and c. Thus, fi is a fractional offset for the location of the extrema as measured from the location i of the electrode corresponding to sensing value b. In general, Equation 1 subtracts sensing values from adjacent electrodes in each group of electrodes and divides the difference by twice the maximum of the subtracted sensing values. This serves as an interpolation of the sensing values and is thus an approximation of the extrema in the sensing values. Stated more specifically, Equation 1 provides an estimation of the location of the extrema generated from the group of sensing values a, b and c.
Turning now to
Turning now to
Returning to
The next step 1108 is to determine a number of objects in the sensing region from the determined one or more clusters. Again, this step may involve the determination of the actual count of objects in the sensing region (e.g., 1, 2, 3, etc.), or it may more simply involve the determination that one or more objects are in the sensing region.
Turning now to
It should be noted that while the example of
Once the number of objects has been determined, it may be used for facilitating different user interface actions in response to different numbers of objects and thus can improve sensor device usability. For example, the determination that multiple fingers are in a sensing region may be used to initiate gestures such as enhanced scrolling, selecting, etc.
Thus, a sensor device is provided that comprises an array of capacitive sensing electrodes and a processing system coupled to the electrodes. The capacitive sensing electrodes are configured to generate sensing signals that are indicative of objects in a sensing region. The processing system is configured to receive sensing signals from the capacitive sensing electrodes and generate a plurality of sensing values, each of the plurality of sensing values corresponding to a sensing electrode in the first array of capacitive sensing electrodes. The processing system is further configured to produce a plurality of positional values corresponding to a plurality of groups of electrodes in the first array of capacitive sensing electrodes; analyze the plurality of positional values to determine if one or more clusters exist in the plurality of positional values; and determine a number of objects in the sensing region from the determined one or more clusters in the plurality of positional values. Thus, the sensor device facilitates the determination of the number of objects in the sensing region, and can thus be used to facilitate different user interface actions in response to different numbers of objects.
The embodiments and examples set forth herein were presented in order to best explain the present invention and its particular application and to thereby enable those skilled in the art to make and use the invention. However, those skilled in the art will recognize that the foregoing description and examples have been presented for the purposes of illustration and example only. The description as set forth is not intended to be exhaustive or to limit the invention to the precise form disclosed.