TOUCH DETERMINATION WITH INTERACTION COMPENSATION
A device implements a data processing method for an optical FTIR-based touch system. The touch system defines detection lines across a surface portion of a panel by propagating light inside the panel from a plurality of incoupling points to a plurality of outcoupling points, such that each location on the surface portion is illuminated by incident light rays. At least one light detector is coupled to the outcoupling points to generate an output signal. The device obtains signal values for the detection lines from the output signal and processes the signal values to at least partly compensate for variations in the apparent interaction among the subset of detection lines that interact with an object on the surface portion.
Latest FlatFrog Laboratories AB Patents:
The present application claims the benefit of Swedish patent application No. 1151261-3, filed Dec. 22, 2011, and U.S. provisional application No. 61/579291, filed Dec. 22, 2011, both of which are incorporated herein by reference.
TECHNICAL FIELDThe present invention relates to touch sensing systems that operate by light transmission inside light transmissive panels, and in particular to the processing of touch signals in such systems.
BACKGROUND ARTTouch sensing systems (“touch systems”) are in widespread use in a variety of applications. Typically, the touch systems are actuated by a touch object such as a finger or stylus, either in direct contact, or through proximity (i.e. without contact), with a touch surface. Touch systems are for example used as touch pads of laptop computers, in control panels, and as overlays to displays on e.g. hand held devices, such as mobile telephones. A touch panel that is overlaid on or integrated in a display is also denoted a “touch screen”. Many other applications are known in the art.
To an increasing extent, touch systems are designed to be able to detect two or more touches simultaneously, this capability often being referred to as “multi-touch” in the art.
There are numerous known techniques for providing multi-touch sensitivity, e.g. by using cameras to capture light scattered off the point(s) of touch on a touch panel, or by incorporating resistive wire grids, capacitive sensors, strain gauges, etc into a touch panel.
U.S. Pat. No. 7,432,893 discloses a touch system that is operated by transmission of light inside a light transmissive panel. The touch system comprises two or more light sources that emit light into the panel such that the light propagates inside the panel with internal reflections and is detected by detectors around the periphery of the panel. An object touching the panel may frustrate the light whereby part of the light will leave its original propagation path and the detected signal will decrease. The location of the touching object may be computed using triangulation.
US 2009/0153519 also discloses a touch system that is operated by internal transmission of light. The touch system is defined as a “tomograph” comprising a light transmissive panel with flow-ports around the edges. Light is injected at one flow-port, propagates by internal reflection inside the panel and is transmitted from the panel at another flow-port, where a detector is arranged to measure the received light energy. An object touching the panel frustrates the light inside the panel and thereby decreases the transmitted light. The location of the touching object is computed by processing the received light energy at the flow-ports using well-known tomography methods.
WO 2010/064983 discloses an improved technique for processing of touch signals that represent detected light energy on a plurality of detection lines that extend across a touch surface of a light transmissive panel. The touch signals are processed into normalized signals that represent a ratio between light that is transmitted inside the panel when no objects are touching the panel and the light that is transmitted when there is one or more objects touching the panel.
WO 2011/139213 discloses an improved technique for tomographic reconstruction based on the touch signals from a touch system that is operated by transmission of light inside a light transmissive panel. The touch signals, which represent detected energy on a plurality of detection lines across the touch surface, are processed to generate a set of matched samples, which are indicative of estimated detected energy for fictitious detection lines that have a location on the surface portion that matches a standard geometry for tomographic reconstruction. This technique enables the touch system to be designed with any arrangement of detection lines across the panel, i.e. even arrangements that are mismatched to conventional tomographic techniques.
There remains a need to further improve the techniques of enabling detection of touching objects in touch systems that operate by frustration of light that is transmitted inside a light transmissive panel.
SUMMARYIt is an objective of the invention to at least partly overcome one or more limitations of the prior art.
Another objective is to enable improved touch detection in an optical touch system that propagates light on a plurality of paths inside a light transmissive panel to one or more light detectors.
One or more of these objectives, as well as further objectives that may appear from the description below, are at least partly achieved by means of a method, a computer program product, a device and a touch-sensitive apparatus according to the independent claims, embodiments thereof being defined by the dependent claims.
A first aspect of the invention is a method of processing an output signal from a touch-sensitive apparatus. The touch-sensitive apparatus comprises a light transmissive panel configured to propagate light by internal reflections from a plurality of incoupling points to a plurality of outcoupling points, thereby defining detection lines that extend across a surface portion of the panel between pairs of incoupling and outcoupling points, wherein each location on the surface portion is illuminated by incident light rays such that an object in contact with the surface portion interacts with the incident light rays of a subset of the detection lines, the touch-sensitive apparatus further comprising at least one light detector coupled to the outcoupling points to generate the output signal. The method comprises a step of obtaining, based on the output signal, signal values for the detection lines, the signal values being indicative of an apparent interaction between the object and light propagating on the respective detection line, and a step of processing the signal values to generate touch data indicative of the location of the object on the surface portion. The step of processing comprises a step of generating compensated signal values by operating compensation data on the signal values to at least partly compensate for variations in the apparent interaction among the subset of the detection lines that interact with the object, wherein the compensation data is obtained to at least represent the variations that are caused by differences in incident power distribution among the subset of the detection lines, the incident power distribution being a distribution of power among the incident light rays on the respective detection line with respect to a normal direction of the surface portion, and a step of processing the compensated signal values to generate the touch data.
The first aspect is based on the insight by the present Applicant that this type of optical touch system exhibits an “interaction imbalance” (also denoted “attenuation imbalance” herein). The interaction imbalance features an apparent difference in interaction on different detection lines even though the detection lines interact with one and the same object. Such an interaction imbalance may cause inaccuracies in the generated touch data, or even make it difficult to generate the touch data. The interaction imbalance occurs for all detection lines that interact with the object. A detection line that extends across the surface portion typically includes light rays on many different “internal reflection paths”, which means that the light rays propagate with different reflection angles to the surface portion. The present Applicant has found that the interaction imbalance may be at least partly attributed to differences between the detection lines in the incident power distribution of the light rays that interact with the object. According to the first aspect, the compensation data is designed to account for these variations so as to compensate, wholly or partly, for the interaction imbalance. Each incident power distribution (denoted “power profile” in the detailed description) may be seen as a distribution of power among the incident light rays on the respective detection line with respect to a normal direction of the surface portion. The incident power distribution is thus a distribution of power/intensity/energy over different angles of incidence to the surface portion.
Thus, the inventive compensation is implemented to at least partly compensate for the interaction imbalance, i.e. for variations in the apparent interaction among the subset of detection lines that interact with the object. The apparent interaction denotes the interaction that may be derived from the output signal of the light detector(s) in the touch system, and the apparent interaction is embedded in the signal values that are obtained from the output signal. As noted above, the present invention is focused on compensating for the interaction imbalance that is caused by differences in the incident power distribution among the detection lines. These differences may originate at the incoupling points, e.g. that the light is injected into the panel with a different range of angles to the normal of the surface portion for different detection lines (also referred to as differences in the input power profile, Ein(θ)). The differences may also originate from phenomena such as bulk absorption in the light transmissive panel and reflection losses as the light propagates along the respective detection line. These phenomena may cause the incident power distribution of the light that reaches the detector(s) to vary between detection lines of different extent in the plane of the surface portion. Irrespective of origin, variations in the incident power distribution of the light that reaches the detector(s) may cause corresponding variations in the signal response of the light detector for different detection lines, resulting in variations in the apparent interaction. Further variations in the apparent interaction may occur if the range of reflection angles that generate a signal response at the light detector(s) differs between the detection lines (also referred to as differences in the sensitivity profile, X(θ)). Embodiments of the invention are configured to account for one or more of these causes for interaction imbalance.
Although the first aspect is defined in relation to a single object on the surface portion, it is understood that the compensation for interaction imbalance may be equally applied to other objects on the surface portion, irrespective of the type of object. It is also to be understood that the subset of the detection lines that interact with the object will change as the object is moved on the surface portion. The object may be a “touching object”, which denotes an object that is intentionally and actively brought into contact with the surface portion of the light transmissive panel by a user. For example, the touching object may be a finger or a stylus. However, the inventive compensation may also be applied to non-intentional objects, such as fingerprints, smear, spills, etc on the surface portion, if there is a desire to accurately identify such non-intentional objects.
According to the first aspect, the compensated signal values are processed to generate the touch data, which may include one of location coordinates, shape, area and size of the one or more objects. In one embodiment, the touch data is generated directly from the compensated signal values, e.g. by means of a triangulation technique. The use of compensated signal values may facilitate or enable such triangulation. In another embodiment, an image of the surface portion is first generated as a function of the compensated signal values, the image representing changes in local interaction with the propagating light caused by the one or more objects. For example, an image reconstruction algorithm may be operated on the compensated signal values. Then, the image is processed for determination of the touch data. The use of compensated signal values may suppress distortions in the image caused by the interaction imbalance. Furthermore, by effecting the compensation as a separate step upstream of the image generation, it is possible both to achieve a fast and well-controlled compensation and allow, if desired, for the use of existing and conventional techniques for image generation.
As will be further explained with reference to example embodiments, the signal values and the compensated signal values may but need not be in the same format. For example, the compensated signal values may be in a normalized format, e.g. attenuation or transmission, whereas the signal values may be in a format provided by the light detector(s), e.g. energy/power/intensity. Thus, even if the signal values are not given in an “interaction format”, they are nevertheless indicative of the apparent interaction between the object and the respective detection line.
In one embodiment, the compensated signal values are generated to indicate an equivalent interaction between the object and the subset of detection lines that interact with the object. This amounts to a compensation for “interaction imbalance”. An “equivalent interaction” may mean that the interaction is essentially the same for all detection lines that are affected by one and the same object. Alternatively, the compensated signal values are generated to also factor in the extent of the intersection between the detection line and the touching object, whereby the interaction may differ between the detection lines that are affected by one and the same object, but the interaction is still equivalent for these detection lines. It should be noted that the compensation for interaction imbalance need not compensate for differences in interaction between objects, although this is possible.
In one embodiment, the compensation data comprises compensation values, each compensation value being associated with one or more of the detection lines, and the compensated signal values may be generated by operating the compensation values on the signal values of the associated detection lines, e.g. by multiplication, division, addition or another mathematical operation. Each such compensation value may be given as a function of at least one of: a length of the respective detection line in the plane of the surface portion, a first propagation angle in the plane of the surface portion between the respective detection line and a reference direction from the incoupling point, and a second propagation angle in the plane of the surface portion between the respective detection line and a reference direction from the outcoupling point.
In one embodiment, the compensation values are pre-computed. In an alternative embodiment, the method is repeated at successive time points during operation of the touch-sensitive apparatus, and the compensation values are re-computed at said successive time points.
In one embodiment, the compensation values are generated by one of a reference measurement and a mathematical simulation model.
In one embodiment, each detection line is associated with one of the compensation values, and the compensation values are operated on the signal values by a function that causes the apparent interaction to be essentially unchanged for the detection lines that are free of interaction with the object.
In one embodiment, the signal values represent signal attenuation on the detection lines, the signal attenuation being zero in absence of interaction, and the step of generating the compensated signal values comprises multiplying the compensation value with the signal values of the associated detection line, wherein the compensation value is obtained to be proportional to the length of the associated detection line in the plane of the surface portion raised by an exponent α, wherein the exponent is given by 0.1<α<0.9, and preferably 0.3<α<0.6.
In one embodiment, the method further comprises a step of obtaining said compensation data, which comprises: identifying a preliminary location of the object on the surface portion, and obtaining the compensation data as a function of the preliminary location. The step of obtaining compensation data may further comprise: identifying, based on the preliminary location, the subset of the detection lines that interact with the object, and obtaining the compensation data for the subset of the detection lines. Alternatively or additionally, the compensation data may be obtained specifically for the preliminary location. Alternatively or additionally, the step of identifying the preliminary location comprises: obtaining input data based on the signal values; and processing the input data to identify the preliminary location of the object. The input data may comprise at least part of the signal values. Alternatively, the step of obtaining the input data may comprise: obtaining preliminary compensation data, and operating the preliminary compensation data on the signal values to generate pre-compensated signal values in which the variations in the apparent interaction are reduced, and processing the pre-compensated signal values to identify the preliminary location. In another alternative embodiment, the method is repeated at successive time points during operation of the touch-sensitive apparatus, and the step of identifying the preliminary location comprises: retrieving a location of the object given by the touch data generated at a previous time point.
The first aspect may be more generally defined as a method of processing an output signal from a touch-sensitive apparatus, which comprises a light transmissive panel configured to propagate light by internal reflections from a plurality of incoupling points to a plurality of outcoupling points, thereby defining detection lines that extend across a surface portion of the panel between pairs of incoupling and outcoupling points, and at least one light detector coupled to the outcoupling points to generate the output signal which is indicative of interaction between said one or more objects and light propagating on the detection lines. The method comprises a step of obtaining, based on the output signal, a signal value for each detection line; and a step of processing the signal values to generate touch data indicative of said one or more objects on the surface portion. The step of processing comprises a step of operating compensation data on the signal values to generate compensated signal values which indicate an equivalent interaction between each individual object and the light propagating on the detection lines that interact with the individual object; and a step of processing the compensated signal values to generate the touch data.
A second aspect of the invention is a computer program product comprising computer code which, when executed on a data-processing system, is adapted to carry out the method of the first aspect.
A third aspect of the invention is a device for processing an output signal from a touch-sensitive apparatus. The touch-sensitive apparatus comprises a light transmissive panel configured to propagate light by internal reflections from a plurality of incoupling points to a plurality of outcoupling points, thereby defining detection lines that extend across a surface portion of the panel between pairs of incoupling and outcoupling points, wherein each location on the surface portion is illuminated by incident light rays such that an object in contact with the surface portion interacts with the incident light rays of a subset of the detection lines. The touch-sensitive apparatus further comprises light detection means coupled to the outcoupling points to generate the output signal. The device comprises: means for receiving the output signal; means for obtaining, based on the output signal, signal values for the detection lines, the signal values being indicative of an apparent interaction between the object and light propagating on the respective detection line; and means for processing the signal values to generate touch data indicative of the object on the surface portion, wherein said means for processing comprises: means for generating compensated signal values by operating compensation data on the signal values to at least partly compensate for variations in the apparent interaction among the subset of the detection lines that interact with the object, wherein the compensation data is obtained to at least represent the variations that are caused by differences in incident power distribution among the subset of the detection lines, the incident power distribution being a distribution of power among the incident light rays on the respective detection line with respect to a normal direction of the surface portion; and means for processing the compensated signal values to generate said touch data.
A fourth aspect of the invention is a device for processing an output signal from the above-mentioned touch-sensitive apparatus. The device comprises: an input for the output signal; and a signal processor connected to the input and configured to obtain, based on the output signal, signal values for the detection lines, the signal values being indicative of an apparent interaction between the object and light propagating on the respective detection line; and process the signal values to generate touch data indicative of the object on the surface portion. The signal processor is further configured to generate compensated signal values by operating compensation data on the signal values to at least partly compensate for variations in the apparent interaction among the subset of the detection lines that interact with the object, wherein the compensation data is obtained to at least represent the variations that are caused by differences in incident power distribution among the subset of the detection lines, the incident power distribution being a distribution of power among the incident light rays on the respective detection line with respect to a normal direction of the surface portion; and process the compensated signal values to generate said touch data.
-
- A fifth aspect of the invention is a touch sensitive apparatus, comprising: a light transmissive panel configured to propagate light by internal reflections from a plurality of incoupling points to a plurality of outcoupling points, thereby defining detection lines that extend across a surface portion of the light transmissive panel between pairs of incoupling and outcoupling points, wherein each location on the surface portion is illuminated by incident light rays such that an object in contact with the surface portion interacts with the incident light rays of a subset of the detection lines; light providing means for providing the light at the incoupling points; light detection means coupled to the outcoupling points to generate an output signal; and the device according to the third or fourth aspect.
A sixth aspect of the invention is a touch-sensitive apparatus, comprising: a light transmissive panel configured to propagate light by internal reflections from a plurality of incoupling points to a plurality of outcoupling points, thereby defining detection lines that extend across a surface portion of the light transmissive panel between pairs of incoupling and outcoupling points, wherein each location on the surface portion is illuminated by incident light rays such that an object in contact with the surface portion interacts with the incident light rays of a subset of the detection lines; at least one light emitter optically coupled to the incoupling points to provide the light; at least one light detector optically coupled to the outcoupling points to generate an output signal; and the device according to the third or fourth aspect.
Any one of the above-identified embodiments of the first aspect may be adapted and implemented as an embodiment of the second to sixth aspects.
Still other objectives, features, aspects and advantages of the present invention will appear from the following detailed description, from the attached claims as well as from the drawings.
The present invention relates to techniques for processing the signal from a touch sensitive apparatus. The description starts out by presenting the concept of such a touch sensitive apparatus operating by frustrated total internal reflection (FTIR) of light. The description continues to present embodiments of the invention. Throughout the description the same reference numerals refer to the same elements.
1. Touch-Sensitive ApparatusTo sustain propagation by TIR, the light must have an angle of incidence (AOI) θ to the touch surface 4 that exceeds the critical angle at the touch surface 4, denoted θc herein, as is well-known to the skilled person. For brevity, the angle of incidence θ at the touch surface 4 is denoted “bounce angle” in the following.
The apparatus 100 allows an object 7 that is brought into close vicinity of, or in contact with, the touch surface 4 to interact with the propagating light at the point of touch. In this interaction, part of the light may be scattered by the object 7, part of the light may be absorbed by the object 7, and part of the light may continue to propagate in its original direction across the panel 1. Thus, the touching object 7 causes a local frustration of the total internal reflection, which leads to a decrease in energy (power/intensity) of the transmitted light, as indicated by the thinned lines downstream of the touching objects 7 in
The emitters 2 are distributed along the perimeter of the touch surface 4 to generate a corresponding number of light sheets inside the panel 1. In the example of
The above-mentioned incoupling and outcoupling points refer to the positions where the beams enter and leave, respectively, the panel 1. It should be understood that one emitter/sensor may be optically coupled to a number of incoupling/outcoupling points. In the example of
The sensors 3 collectively provide an output signal, which is received and sampled by a signal processor 10. The output signal contains a number of sub-signals, also denoted “projection signals”, each representing the energy (or equivalently, intensity or power) of light emitted by a certain light emitter 2 and received by a certain light sensor 3. Depending on implementation, the signal processor 10 may need to process the output signal for separation of the individual projection signals. Conceptually, the touch apparatus 100 is considered to define a grid of detection lines D on the touch surface 4, where each detection line D corresponds to a light propagation path from an emitter 2 to a sensor 3, as projected onto the touch surface 4. Thus, the projection signals represent the received energy/power/intensity of light on the individual detection lines D. It is realized that the touching object 7 results in a decrease (attenuation) of the received energy on one or more detection lines D.
As will be explained below, the signal processor 10 may be configured to process the projection signals so as to determine a distribution of attenuation values (for simplicity, referred to as an “attenuation pattern” or “attenuation image”) across the touch surface 4, where each attenuation value represents a local attenuation of light. The attenuation pattern may be represented in many different ways, e.g. as attenuation values arranged in a regular X,Y-grid, such as in an ordinary digital image, although other types of regular and non-regular grids are conceivable, e.g. hexagonal patterns or triangular meshes. The attenuation pattern may be further processed by the signal processor 10 or by a separate device (not shown) for touch determination, which may involve extraction of touch data, such as an estimated position (e.g. X,Y coordinates), shape or area of each touching object.
In the illustrated example, the apparatus 100 also includes a controller 12 which is connected to selectively control the activation of the emitters 2 and, possibly, the readout of data from the sensors 3. The signal processor 10 and the controller 12 may be configured as separate units, or they may be incorporated in a single unit. One or both of the signal processor 10 and the controller 12 may be at least partially implemented by software executed by a processing unit 14.
It is to be understood that
A reconstruction function or algorithm may be used for determining the attenuation pattern on the touch surface 4, based on the projection signals in the output signal. Embodiments of the invention may use any available algorithm for image reconstruction based on projection signal values, including tomographic reconstruction techniques such as Filtered Back Projection, FFT-based algorithms, ART (Algebraic Reconstruction Technique), SART (Simultaneous Algebraic Reconstruction Technique), etc. Alternatively, the reconstruction function may generate the attenuation pattern by adapting one or more basis functions and/or by statistical methods such as Bayesian inversion. Examples of such reconstruction functions designed for use in touch determination are found in WO 2010/006883, WO2009/077962, WO2011/049511, WO2011/139213, and WO2012/050510, all of which are incorporated herein by reference. Conventional reconstruction techniques are found in the mathematical literature, e.g. “The Mathematics of Computerized Tomography” by Natterer, and “Principles of Computerized Tomographic Imaging” by Kak and Slaney.
The reconstruction function is designed based on the assumption that the input values st at time point t depend on the attenuation pattern at according to a projection function , which reflects physical properties of the FTIR system: st=(at). The reconstruction algorithm is thus designed to reconstruct at from st by use of a reconstruction function: at=(st).
It is to be understood that the format of the input values st may be specific to the reconstruction function . To enable reconstruction of an attenuation pattern, the input values st may be represented as attenuation values for individual detection lines D. Such attenuation values may e.g. be based on transmission values obtained by dividing the projection value Ik of the k:th detection line by a respective reference value: Tk=Ik/REFk. By proper choice of reference values, the transmission values may be generated to represent the fraction (e.g. in the range [0, 1]) of the available light energy that has been measured on each of the detection lines. The input value of each detection line may e.g. be given by: sk=−log(Tk) or an approximation thereof, e.g. sk=1−Tk, which are both indicative of attenuation.
A reconstructed pattern at is illustrated in
The pattern may be reconstructed within one or more subareas of the touch surface. The subareas may be identified by analyzing intersections of detection lines across the touch surface, based on the above-mentioned projection signals. Such a technique for identifying subareas is further disclosed in WO2011/049513, which is incorporated herein by this reference.
It is also conceivable that the pattern is reconstructed by triangulation, e.g. as described in aforesaid U.S. Pat. No. 7,432,893.
The purpose of reconstructing the pattern is to be able to extract touch data, e.g. location coordinates for objects on the touch surface. In certain implementations, e.g. when using triangulation techniques, it may be possible to extract the touch data directly, i.e. without having to reconstruct any pattern. Thus, all examples herein that refer to reconstruction of a pattern or image may be modified for direct extraction of touch data.
3. Attenuation ImbalanceMost reconstruction functions presume an “attenuation balance” between all detection lines that pass any point on the touch surface 4, i.e. that a touching object 7 results in the same attenuation of all detection lines, at least if the object has the same extent along all detection lines. It may be difficult to achieve such attenuation balance in an FTIR system.
To explain some causes for the attenuation imbalance, reference is made to the top plan view of
As seen in
It is realized that the bulk absorption and the bounce loss will cause the power profile E(θ) to vary between detection lines D of different length, e.g. among the detection lines in
The skilled person understands that the projection values 1k measured for the detection lines D by the sensors 3 are also affected by the sensitivity profile of the individual sensor 3 as a function of bounce angle θ. The sensitivity profile, denoted X(θ), may be set by properties of the sensor 3 and its optical coupling to the panel 1. Reverting to
In the following, the attenuation imbalance that is caused by bulk absorption and bounce loss along the respective detection line, while assuming that the input power profile Ein(θ) and the sensitivity profile X(θ) are identical for all detection lines, is denoted “line imbalance”, since it originates from phenomena along each detection line. The attenuation imbalance that is caused by variations in the input power profile Ein(θ) and the sensitivity profile X(θ) between detection lines is denoted “external imbalance”.
An object 7 placed on the touch surface 4 at a particular position will interact with the light that impinges from within the panel 1 on the contact area between the object 7 and the touch surface 4 at that position. The degree of interaction has been found to be dependent on the angle of incidence of the light with respect to the normal of the touch surface 4. The angle of incidence corresponds to the above-mentioned bounce angle θ.
The present Applicant has also identified a further cause for attenuation imbalance, albeit most often of smaller magnitude than the causes discussed above, namely that the degree of interaction may depend on the location of the object along the individual detection line D. One cause for this effect may be that the FTIR system is not perfectly specular. Thereby, the relevant power profile that represent the light that reaches the outcoupling point may differ between different locations along the detection line D, i.e. the relevant power profile is no longer equal to the output power profile Eout(θ) as in a specular FTIR system.
4. Compensation for Attenuation ImbalanceIn a first embodiment, the input values st are compensated for the above-mentioned line imbalance, including the attenuation imbalance caused by the different lengths of the detection lines. As explained in Section 2, the input values st are derived from the projection signals It in a format matched to the reconstruction function P′, e.g. to represent attenuation or transmission.
Then the method proceeds to a step 52 of generating compensated input values. The input values are compensated, using compensation data, for variations in touch interaction that arise from the different lengths of the detection lines. The compensation data may be predefined and stored in an electronic memory for retrieval by step 52, as shown, but it is also conceivable that the compensation data is computed for each frame. The compensation data comprises a compensation value for each detection line. The compensation value may be obtained solely as a function of the length of the detection line. Alternatively, to compensate for the above-mentioned external imbalance, the compensation data may be obtained also as a function of the direction of the detection line in relation to a reference direction of the emitter and/or the detector associated with the detection line (cf. the propagation angle φ in relation to the main beam propagation direction ep in
It is to be noted that step 52 may operate the compensation values on the projection values It, the input values st, or any intermediate values generated in the process of converting the projection values It into input values st.
The compensation data may be obtained in a separate calibration process (reference measurement), e.g. by placing a known object on the touch surface, and obtaining the projection values and computing the corresponding input values for the detection lines that are affected by the object. The calibration values for the affected detection lines may then be set to minimize the attenuation imbalance among the input values and yield compensated input values with a given expected attenuation. Depending on implementation, the calibration process may be able to produce compensation data for correcting both line imbalance and external imbalance.
The result of a calibration process is shown in
In one implementation, one compensation value is calculated for each dot.
In another implementation, one compensation value is calculated for all detection lines of approximately the same length, e.g. by averaging the attenuation values of all detection lines that have a length within a specific interval.
In yet another implementation, a compensation function is adapted to the attenuation values in
Below follows a specific example of how a compensation function f may be used for generating the compensation values. In this example, the compensation function operates on transmission values Tk and results in compensated transmission values Tk* according to:
where dllk is the detection line length, and a is a constant that fits the compensation function f to measured transmission values, e.g. corresponding to the data in
If the input values st are defined to represent attenuation according to sk=−log(Tk), the compensation function may be applied directly on the input values to generate compensated input values:
sk*=−log(Tk*)=−log(Tk)·√{square root over (dllk/φ)}=sk·√{square root over (dllk/φ)}.
More generally, it has been found that the foregoing expressions Tk* and sk* may be given as a function of (dllk)α, where the exponent α is a fixed value given by 0.1< <0.9, and preferably 0.3 ≦α≦0.6. The value of exponent for a particular FTIR system may be determined by fitting the compensation function to measured attenuation values.
It is realized that the compensated input values sk* may be obtained by multiplying the input values sk by a respective constant, which may be pre-computed or computed on the fly based on the detection line length dllk. It is also possible to estimate an individual compensation value Ck for each detection line without explicitly factoring in the detection line length, i.e. sk*=sk·Ck.
As an alternative to the calibration process, the compensation data may be obtained by means of a simulation model for the FTIR system. The simulation model may be used for generating data corresponding to
It should be noted that step 52 compensates all detection lines for attenuation imbalance even if only certain detection lines are actually affected by touching objects and thereby exhibits the attenuation imbalance. Such a compensation approach might introduce distortions in the reconstructed attenuation pattern. This can be avoided if the compensation in step 52 inherently changes only the input values of those detection lines that are affected by a touching object. This may be achieved by defining the compensation function to operate on transmission or attenuation values. In the examples given above, Tk*=Tk=1 and s*=sk=0 for all detection lines that are essentially unaffected by touching objects.
The skilled person readily realizes that the first embodiment may be adapted to also compensate for the above-mentioned external imbalance.
Reverting to
Steps 50, 54 and 56 are identical to the first embodiment. After step 50, step 51A processes the projection values to generate a preliminary attenuation pattern. Step 51A may be identical to step 54, i.e. it may operate a reconstruction function on input values obtained from the projection values. However, it is conceivable that step 51A uses a different reconstruction function and/or operates on a smaller number of input values and/or produces an attenuation pattern of lower spatial resolution than step 54. It is to be noted that the input values are not compensated for attenuation imbalance. Then, step 51B detects touches in the preliminary attenuation pattern and identifies preliminary touch locations, and possibly preliminary extents (size/area/shape), for the detected touches. In step 52, compensation data is obtained based on the preliminary touch locations, and compensated signal values are generated. In step 54, the compensated signal values are processed to reconstruct the attenuation pattern, which is processed in step 56.
In the above-mentioned first variant, step 52 may apply compensation values as in the first embodiment, while refraining from compensating any detection lines that are deemed unaffected by touching objects. Step 52 may, e.g., map the preliminary touch locations, optionally together with the preliminary extents, against a known grid of detection lines, so as to identify all affected detection lines (cf.
In the above-mentioned second variant, step 52 may likewise map the preliminary touch locations against the grid of detection lines, so as to derive a position on each affected detection line. Step 52 may then apply a compensation function to suppress the influence of variations in the relevant power profile along the extent of the individual detection line. It is to be understood that the second variant may, and usually is, designed to compensate for other causes of attenuation imbalance as well. A combination of the first and second variants is conceivable.
In the first and second variants, it is also conceivable to include a compensation for the extent of the intersection between the detection line and the touching object.
Differences in the intersection extent between detection lines extent may lead to an attenuation imbalance, since a larger intersection extent may result in a larger attenuation. This extent-dependent attenuation imbalance may be counteracted by applying compensation values obtained as a function of the interaction extent. The intersection extent for the respective detection line may be obtained by mapping the preliminary location and the preliminary extent of the touch to the detection lines. However, it may be noted that the extent-dependent attenuation imbalance may be an acceptable or even desirable property of the input values for certain reconstruction functions, such as tomographic reconstruction functions. In these cases, the compensation for variations in intersection extent may be omitted.
In an alternative embodiment (not shown), steps 51A-51B are omitted and step 52 instead uses touch locations determined for an attenuation pattern reconstructed by step 54 in a previous frame. Provided that the frame repetition rate is high compared to the movement of objects on the touch surface, the touch locations in the previous frame may be a useful estimate of the touch locations in the current frame. Alternatively, the estimate may be given by predicted touch locations which are obtained as a function of touch locations determined in the previous frames.
The compensation method according to the various embodiments disclosed herein may be implemented by a data processing device (cf. 10 in
The device 10 may be implemented by special-purpose software (or firmware) run on one or more general-purpose or special-purpose computing devices. In this context, it is to be understood that each “element” or “means” of such a computing device refers to a conceptual equivalent of a method step, e.g. according to any of the first to third embodiments. There is not always a one-to-one correspondence between elements/means and particular pieces of hardware or software routines. One piece of hardware sometimes comprises different means/elements. For example, a processing unit may serve as one element/means when executing one instruction, but serve as another element/means when executing another instruction. In addition, one element/means may be implemented by one instruction in some cases, but by a plurality of instructions in some other cases. Naturally, it is conceivable that one or more elements (means) are implemented entirely by analog hardware components.
The software controlled device 10 may include one or more processing units (cf. 14 in
The invention has mainly been described above with reference to a few embodiments. However, as is readily appreciated by a person skilled in the art, other embodiments than the ones disclosed above are equally possible within the scope and spirit of the invention, which is defined and limited only by the appended patent claims.
In certain embodiments of the invention, the compensation data may be pre-computed and retrieved from memory. This may save processing time as the computation is performed only once, e.g. at start-up or during a factory calibration, instead of once for each frame. However, in some touch systems the memory may be limited, e.g. if an FPGA is used for processing, and it may be advantageous to re-compute all or part of the compensation data for each frame. All of the embodiments of the invention are equally applicable to generation of change values dst that are compensated for attenuation imbalance and then processed for reconstruction of an attenuation pattern dat.
Further, the format of the input values st depends on (or is given by) the reconstruction function and the desired/required accuracy of the reconstructed pattern. In alternative implementations, the format may e.g. be given as a transmission (e.g. given by the projection value normalized by the reference value), an energy difference (e.g. given by the difference between the projection value and the reference value), or a logarithm of the energy difference. As used hereinabove, a “logarithm” is intended to also encompass functions approximating a true logarithmic function, in any base. Furthermore, the input values may have any sign, i.e. they may or may not be multiplied by a negative value. Depending on the reconstruction function, it may even be possible to use the projection values as input values. Similar modifications may be made with respect to the generation of the attenuation pattern dat. Thus, on a more general level, the above-mentioned attenuation patterns at and dat may be regarded as “interaction patterns” or “images” of changes in local interaction with propagating light caused by one or more touching objects.
As noted above, it may be possible to determine the touch data without reconstructing an interaction pattern, e.g. by identifying the detection lines that have interacted with an object and performing triangulation based on these detection lines. It is realized that a suppression of the attenuation imbalance may facilitate the identification and use of these detection lines.
Claims
1. A method of processing an output signal from a touch-sensitive apparatus, the touch-sensitive apparatus comprising a light transmissive panel configured to propagate light by internal reflections from a plurality of incoupling points to a plurality of outcoupling points, thereby defining detection lines that extend across a surface portion of the panel between pairs of incoupling and outcoupling points, wherein each location on the surface portion is illuminated by incident light rays such that an object in contact with the surface portion interacts with the incident light rays of a subset of the detection lines, the touch-sensitive apparatus further comprising at least one light detector coupled to the outcoupling points to generate the output signal, wherein the method comprises:
- obtaining, based on the output signal, signal values for the detection lines, the signal values being indicative of an apparent interaction between the object and light propagating on the respective detection line; and
- processing the signal values to generate touch data indicative of the object on the surface portion;
- wherein said processing comprises: generating compensated signal values by operating compensation data on the signal values to at least partly compensate for variations in the apparent interaction among the subset of the detection lines that interact with the object, wherein the compensation data is obtained to at least represent the variations that are caused by differences in incident power distribution among the subset of the detection lines, the incident power distribution being a distribution of power among the incident light rays on the respective detection line with respect to a normal direction of the surface portion; and processing the compensated signal values to generate said touch data.
2.-21. (canceled)
Type: Application
Filed: Mar 16, 2017
Publication Date: Jun 29, 2017
Applicant: FlatFrog Laboratories AB (Lund)
Inventors: Mats Petter WALLANDER (Lund), Peter JUHLIN (Lund), Mattias Krus (Lund)
Application Number: 15/460,726