The instant application claims priority to Italian Patent Application No. TO2012A000864, filed Oct. 4, 2012, which application is incorporated herein by reference in its entirety.
This disclosure relates to finger sensing, e.g., in touch screens.
Various embodiments may relate to multi-touch shape recognition in touch-screen apparatuses.
A wide range of applications of touch screens involve finger-sensing technology: smart phones, tablet computers, navigators, interactive display devices of various kinds, control panels, and remote controls of various types are exemplary of such applications.
With the growing diffusion of consumer devices involving the use of touch screens, procedures capable of discriminating against other types of shapes and the shapes of one or more fingers play an increasing role.
These procedures may be functional, e.g., in discriminating unintentional touch or contact with the screen, which could undesirably activate specific functions. It is noted that in various sensing technologies, a finger that is approaching a touch screen may activate touch functionalities even before touching the screen.
Recognizing the presence and number of fingers which are simultaneously touching a screen is thus of interest for many types of applications, such as, e.g., those based on multi-finger tracking (zooming, swipe, figure rotation, gaming, finger painting, etc.).
Certain embodiments may relate to a corresponding system, a related touch-screen apparatus, as well as a related computer-program product, loadable in the memory of at least one computer device and including software code portions for performing the steps of a method of embodiments when the product is run on such a device. As used herein, reference to such a computer-program product is intended to be equivalent to reference to a computer-readable medium containing instructions for controlling an electronic device to coordinate the performance of a method of an embodiment. Reference to “at least one computer” is intended to highlight the possibility for certain embodiments to be implemented in a distributed/modular fashion.
In various embodiments, detection of multi-finger touches involves a supervised classification system.
In various embodiments, a touch map may be represented by three descriptors invariant to translation and rotation.
In various embodiments, multi-touch shape discrimination may be based on a classification system able to discriminate the touch(es) of one or more fingers against non-finger touches.
In various embodiments, finger classes may be defined involving touch shapes of one to ten fingers (i.e., two hands). Various embodiments can be theoretically extended to the detection of any number of fingers.
Various embodiments may also detect fingers that are very close to one another.
In various embodiments, non-finger classes may be defined involving, e.g., ear, half-ear, half-cheek, and cheek classes. In various embodiments, other non-finger classes may be defined.
In various embodiments, the setting of the procedure may be adapted to different screen sizes.
In various embodiments, detection of multi-finger touches may be used for different applications since, once plural touches are detected, then each peak in multi-finger tracking may become representative of a finger to track.
Various embodiments will now be described, by way of example only, with reference to the annexed figures, wherein:
Illustrated in the following description are various specific details aimed at an in-depth understanding of various exemplary embodiments. The embodiments may be obtained without one or more specific details, or through other methods, components, materials etc. In other cases, known structures, materials or operations are not shown or described in detail to avoid obscuring the various aspects of the embodiments. Reference to “an embodiment” in this description indicates that a particular configuration, structure, or characteristic described regarding the embodiment is included in at least one embodiment. Hence, expressions such as “in an embodiment”, possibly present in various parts of this description do not necessarily refer to the same embodiment. Furthermore, particular configurations, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
References herein are used for facilitating the understanding of the reader and thus they do not define the scope of protection or the range of the embodiments.
Various embodiments considered herein may detect and reject unintentional “touches” on a touch screen. Various embodiments may adopt different touch-screen sensing technologies as known in the art.
Although a flat screen S will be at least implicitly assumed throughout this detailed description of exemplary embodiments, those of skill in the art will promptly appreciate that the disclosure may also apply to non-flat screens. Consequently, although a flat screen S will be considered for exemplary purposes herein, various embodiments may also apply to non-flat screens.
Also, following the phraseology prevailing in this technical domain, a “touch” screen and a “touch” map or shape will be referred to throughout the instant detailed description of exemplary embodiments; in various sensing technologies (for instance in the case of mutual sensing technology with a high gain level) an object that is approaching a touch screen may activate touch functionalities even before actually touching the screen; various embodiments may thus extend also to objects, e.g., one or more fingers, not actually touching the screen but rather “hovering” at a small distance from the screen. Consequently, the “touch” maps or shapes as considered herein will be generally intended to be representative of maps or shapes produced by an object such as a finger interacting with a touch screen even in the possible absence of direct “physical” contact.
As used herein, a “finger” map will be one produced by one or more fingers (separated from one another or touching one another).
As used herein, a “non-finger” map will be one produced, e.g., by a cheek, an ear, a half cheek, or half ear.
Various embodiments may operate on raw map data captured by using any known touch-screen board, possibly equipped with a controller. The STMT05 S-Touch® FingerTip Multi-touch controller and a 4″ touch-capacitive display may be exemplary of a system adapted to process such map data.
In various embodiments, such data may be processed in a classification system of the supervised classifier type.
In various embodiments, such classification system may involve a training step or phase adapted to be performed off-line and a testing step or phase adapted to be performed in a continuous mode.
In various embodiments the data in the detection data map of the screen are arranged in a x, y, z space; in such a space a pixel (or “node”, according to the prevailing vocabulary of touch-screen technology, which may be adopted also in the annexed claims) having coordinates x, y in the map has associated a detection-intensity value z. In various embodiments, the value z may be representative of the touch data or the touch-panel electrical response, e.g., being proportional to the intensity of touch or (inversely) proportional to the distance of a finger/object from the screen plane.
Various embodiments may involve a transformation from the original x, y, z space to a new three-descriptor space for classification purposes.
For instance, in various embodiments, as schematically represented in
Various embodiments may adopt a type of classifier different from a classifier based on GM.
In various embodiments, as schematically represented in
In a step 22, the models, i.e., M1, M2, . . . , Mn are used to compute a log likelihood between the three descriptors representing the input test map TM, and all class models.
In various embodiments, the classification may be performed by computing the maximum of log-likelihood values to generate an output class OC.
In various embodiments, a dataset of touch maps may be collected for each class. As further detailed in the following, each map of datasets may be processed in order to extract three features which define a new map representation in the space of descriptors.
As schematically represented in
After the transformation, the map, designated TM3D, may be represented in a new 3-descriptor space by a point having three coordinates in such a space, namely Descriptor1, Descriptor2, Descriptor3.
As schematically represented in FIG. 5—and as will become clearer on the basis of the description of the transformation from the (x, y, z) space to the 3-descriptor space provided in the following—the “transformed” map TM3D may be regarded as including a plurality of class datasets (1-finger, 2-fingers, 3-fingers, . . . , ear, cheek, and so on) represented in the new 3-descriptor space.
In various embodiments, each of these datasets (each representative of a type of touch/interaction with the screen, see, e.g.,
In various embodiments as schematically represented in
In various embodiments, Log Likelihood processing 22 may include:
In various embodiments, the transformation (generally indicated 30 in
Exemplary of embodiments of such three descriptors may be:
In various embodiments, these descriptors may be extracted in a transformation module 30 by means of a function as exemplified in the following which detects local peaks in the input N×M map in the x, y, z space and the number of nodes (i.e., pixels) which lie under each peak bell (named Absorbed Pixel—AP).
i)—identifying the number of local peaks Pk numPeaks, this being the first descriptor), with k=1, . . . , Wpeaks;
ii)—identifying the number of pixels/nodes absorbed relative to each peak APPk.
The number of peaks extracted may be used as a first descriptor. Subsequently the values for APPk may be ordered (in any known manner) in a decreasing order, the maximum value (the first in the list) may be selected as a second descriptor (maxAP).
A third descriptor (Delta) may then be computed as:
Delta=f(APPk)=(Σ(AP(k)−AP(k+1))/(W−1)
where the summation extends over k=1, . . . , W−1 and W is the number of peaks extracted in the input map ITM.
Stated otherwise, the number of pixels/nodes absorbed APPk relative to each peak k (with k varying over the range 1 to W) may be regarded as the number of pixels lying under the “bell” of the k-th peak, while maxAP is the maximum value among all APPk's
The “physical” meaning of the parameter Delta may be at least approximately understood by considering that the ordered values of APPk's may be plotted as a function against a notional coordinate.
Such a function is adapted to be approximated by a piecewise-linear function, namely a function made up of subsequent linear (i.e., straight) portions, each having a respective angular coefficient (slope).
The parameter Delta may thus be regarded as representative of the (average, i.e., mean) value of the angular coefficients of the various portions of such an approximating function.
In the exemplary flowchart of
The procedure just exemplified may be ended when the step 104 reveals that the index i has reached its upper value N.
At that point, two data for the input map ITM are available:
As indicated, in an exemplary three descriptor space:
For instance, in various embodiments, a value for Delta may be computed based on the criteria exemplified in the following.
i) The values of APPk, as derived, e.g., from the procedure exemplified in the flowchart of
ii) The values/points thus ordered in an ordered decreasing series of values may then be joined in the x, y plane to produce a piecewise-linear approximating curve, including a first (straight) portion joining MV1 and MV2, a second portion connecting MV2 with MV3, a third portion connecting MV3 with MV4, and so on. Each one of these straight portions will have a respective angular coefficient: for instance the straight portion joining MV1 and MV2 will have an angular coefficient identified by the difference between MV1 and MV2 (e.g., (MV1−MV2)/(1−2)=−(MV2−MV1)).
iii) The descriptor Delta may then be computed as the average/mean value of the angular coefficients of the various portions constituting the piecewise-linear function, namely as (Σ(AP(k)−AP(k+1))/(W−1)
In brief, in various embodiments, a value for Delta may be computed by:
In various embodiments, processing as exemplified above may discriminate two different objects having similar 2D-shapes.
For instance,
While the corresponding 3D representations in the space (x, y, z), i.e., the plots of the intensity/strength of the sensing signal plotted as the third coordinate, namely z, may appear somewhat similar (see
As exemplified, these may possibly have more or less the same numPeaks coordinate (i.e., 4, which is more or less what
The foregoing provides a good example of how mapping to the (numPeaks, maxAP, Delta) space makes it possible to clearly distinguish, i.e., separate, each finger(s) class (both for training and for testing purposes, see
Tests performed have confirmed this for 1800 exemplary maps for each of eight classes, i.e., 1-finger to 5-fingers plus ear, half-ear/half-cheek (HEHC) and cheek, with training and testing involving capturing 14,400 samples balanced for each class.
In various embodiments, this may apply to shapes that otherwise, e.g., by relying just on the area or the contour shape in the (x, y, z) space, may appear to be very similar, the shapes of
Various embodiments may well “resolve” these cases since the descriptors considered may be robust to finger detection, while prone to reject other shapes. Various embodiments may detect even a relatively high number of adjacent fingers interacting with the screen, however rotated and positioned.
Especially when operating with larger screens (7″ and over), situations may arise where the screen, while being touched with one or more fingers, may be also touched—possibly inadvertently—by e.g., the palm of the hand.
Being able to recognize/discriminate a palm touching the display screen when using fingers may be helpful. This may be the case, for example, when the palm of one hand may touch the display while two fingers are being used to effect zooming.
Various embodiments as exemplified in the foregoing, and applying three descriptors (e.g., numPeaks, maxAP, Delta) over a map related to the whole screen may attempt to give only one shape in output for each touch frame in input. For instance, various embodiments as exemplified in the foregoing may yield as a result a “non-finger” shape if, while being acted upon by one or more fingers, the screen is (e.g., inadvertently) touched with a palm.
Various embodiments herein may deal also with such a contingency by considering various shapes on the screen separately.
Various embodiments, which may be suitable for use, e.g., in touch microcontrollers for 7″ and over 7″ display screens, may be adapted to detect (multi-) finger touch and palm touch by distinguishing the two, being thus able to discriminate them and single out finger touch.
Various embodiments may be based on map data analysis being no longer a global (i.e., whole screen) analysis, but a local analysis.
In various embodiments, local analysis may be based on considering each peak with its absorbed pixels as a “blob”, with each blob adapted to be regarded either as isolated from or adjacent (contiguous) to other blobs.
For instance, in various embodiments, when scanning an input map, e.g., from left to right and from top to bottom, one may detect (based on the same approach exemplified in the foregoing):
In various embodiments, each peak, with its APs, may be regarded as constituting a blob, and, in various embodiments possible adjacencies between blobs can be checked, for instance by forming a square symmetric matrix of adjacencies of dimensions, e.g., N×N, wherein rows and columns may represent peaks, and the element (x,y) in the matrix may store a value representative of adjacency between the blob containing the peak x and the blob containing the peak y.
In various embodiments, by reading the data in the touch map, matrix objects (simple or complex) may be identified, each object being represented by a group of three descriptors invariant to rotation and translation, namely:
In various embodiments, each touch shape may be distinguished by using the list of the peaks and their APs values.
Part b) of
In various embodiments, the matrix of adjacencies may allow verifying if a shape is isolated (single) or complex (composed). The exemplary matrix of adjacencies considered herein is symmetric, so that processing for extracting composed blobs may be limited to the upper diagonal values.
The map of the exemplary case of
The “micro” blobs B1 and B3 are adjacent, so they may be regarded as constituting a complex (composed) “macro” blob.
The micro blob B5 is isolated from the others, i.e., has no adjacency to any other blobs.
The micro blobs B2, B4 and B6, being adjacent, constitute a complex macro blob.
In various embodiments, each blob (simple or composed) may thus be allotted an adjacency value, e.g.:
B1+B3→adjacency value=2
B2+B4+B6→adjacency value=10
B5→adjacencies value=0
Adjacency values as exemplified in the foregoing may be allotted, e.g., by allotting to blob B5 (which is isolated from the others, with no adjacency, that is with zero adjacency) a value equal to zero, and by allotting to the other blobs adjacency values which are a function (e.g., the sum) of the number of contiguous pixels/nodes in the adjacent blobs.
In various embodiments, each object in the map may thus be recognized as belonging to one of the two types: simple and complex (or composed).
A simple object may be made up of one peak and may be represented by the number of pixels lying under the bell of the peak (Absorbed Pixels value). In various embodiments, it may be represented by a value of adjacency equal to zero, as it is isolated—i.e., not adjacent—with any other object.
A complex/composed object may include more than one peak and the APs of the object correspond to the sum of the singular APs belonging to the peaks composing the object.
In various embodiments, the third coordinate of the three descriptor space may thus be selected as the adjacency value representative of the extent said intensity peaks in the map are adjacent to one another.
In various embodiments, the second coordinate (AP) may thus be selected as either of the number of nodes absorbed under an isolated intensity peak (e.g., B5) or as the sum of the numbers of nodes absorbed under a plurality of adjacent intensity peaks (e.g., B1, B3 or B2, B4, B6).
It will be appreciated that a single blob (with no adjacencies) may not be necessarily representative of a finger; in fact it may also represent a palm, with e.g.:
In such a case, the palm may be recognized over a finger primarily on the basis of the second coordinate.
In various embodiments, an exemplary raw data set as represented in
While in terms of apparent shape in the (x, y, z) space—i.e., area and contour on the screen plane—three fingers touching a screen close to each other may be very similar to a palm, a system according to various embodiments may be able to identify as its final output three touching fingers in portion of a screen, irrespective of the possible presence of a palm touching another portion of the screen.
In various embodiments, this may involve distinguishing, in the data converted from the x, y, z space into the three-descriptor space:
Tests performed have confirmed reliability of operation over 300 maps for each class in the space of the three exemplary descriptors considered, demonstrating that even with only three descriptors the finger class may be well separated from other classes (e.g., palm).
Again, while reference has been previously made to a fusion matrix obtained by using a classifier based on a Gaussian mixture or GM, in various embodiments other types of classifiers (e.g., a simple decision tree) may be used while retaining the capability of discriminating finger touches from, e.g., palms.
Such an apparatus for identifying objects contact, on in the vicinity of, a touch screen may be disposed partially or totally on one or more integrated circuits, and may include, or may be coupled to, the touch screen. Furthermore, the system may perform functions, including functions described herein, in software, firmware, hardware, or in a combination or subcombination of software, hardware, and firmware.
Without prejudice to the underlying principles of the disclosure, the details and embodiments may thus vary, even appreciably, with respect to what has been described herein by way of non-limiting example only, without departing from the extent of protection of the disclosure.
From the foregoing it will be appreciated that, although specific embodiments have been described herein for purposes of illustration, various modifications may be made without deviating from the spirit and scope of the disclosure. Furthermore, where an alternative is disclosed for a particular embodiment, this alternative may also apply to other embodiments even if not specifically stated.
Number | Date | Country | Kind |
---|---|---|---|
TO2012A0864 | Oct 2012 | IT | national |
Number | Name | Date | Kind |
---|---|---|---|
5487172 | Hyatt | Jan 1996 | A |
6512838 | Rafii et al. | Jan 2003 | B1 |
20070268275 | Westerman et al. | Nov 2007 | A1 |
20080073525 | Gross et al. | Mar 2008 | A1 |
20080158175 | Hotelling et al. | Jul 2008 | A1 |
20080158178 | Hotelling et al. | Jul 2008 | A1 |
20080158185 | Westerman | Jul 2008 | A1 |
20090095540 | Zachut et al. | Apr 2009 | A1 |
20090262073 | Rigazio et al. | Oct 2009 | A1 |
20090284495 | Geaghan et al. | Nov 2009 | A1 |
20110025629 | Grivna et al. | Feb 2011 | A1 |
20110316767 | Avrahami | Dec 2011 | A1 |
20140055364 | Sze et al. | Feb 2014 | A1 |
20140098058 | Baharav et al. | Apr 2014 | A1 |
20140160064 | Yairi et al. | Jun 2014 | A1 |
Number | Date | Country |
---|---|---|
2012025733 | Mar 2012 | WO |
Entry |
---|
Search Report for Italian patent application No. TO20120864; The Hague, Holland; Jun. 20, 2013, 2 pages. |
Number | Date | Country | |
---|---|---|---|
20140098045 A1 | Apr 2014 | US |