The present invention relates to touch-sensitive panels and data processing techniques in relation to such panels.
To an increasing extent, touch-sensitive panels are being used for providing input data to computers, electronic measurement and test equipment, gaming devices, etc. The panel may be provided with a graphical user interface (GUI) for a user to interact with using e.g. a pointer, stylus or one or more fingers. The GUI may be fixed or dynamic. A fixed GUI may e.g. be in the form of printed matter placed over, under or inside the panel. A dynamic GUI can be provided by a display screen integrated with, or placed underneath, the panel or by an image being projected onto the panel by a projector.
There are numerous known techniques for providing touch sensitivity to the panel, e.g. by using cameras to capture light scattered off the point(s) of touch on the panel, or by incorporating resistive wire grids, capacitive sensors, strain gauges, etc into the panel.
US2004/0252091 discloses an alternative technique which is based on frustrated total internal reflection (FTIR). Light sheets are coupled into a panel to propagate inside the panel by total internal reflection. When an object comes into contact with a surface of the panel, two or more light sheets will be locally attenuated at the point of touch. Arrays of light sensors are located around the perimeter of the panel to detect the received light for each light sheet. A coarse tomographic reconstruction of the light field across the panel surface is then created by geometrically back-tracing and triangulating all attenuations observed in the received light. This is stated to result in data regarding the position and size of each contact area.
US2009/0153519 discloses a panel capable of conducting signals. A “tomograph” is positioned adjacent the panel with signal flow ports arrayed around the border of the panel at discrete locations. Signals (b) measured at the signal flow ports are tomographically processed to generate a two-dimensional representation (x) of the conductivity on the panel, whereby touching objects on the panel surface can be detected. The presented technique for tomographic reconstruction is based on a linear model of the tomographic system, Ax=b. The system matrix A is calculated at factory, and its pseudo inverse A−1 is calculated using Truncated SVD algorithms and operated on the measured signals to yield the two-dimensional (2D) representation of the conductivity: x=A−1b. The suggested method is both demanding in the term of processing and lacks suppression of high frequency components, possibly leading to much noise in the 2D representation.
US2009/0153519 also makes a general reference to Computer Tomography (CT). CT methods are well-known imaging methods which have been developed for medical purposes. CT methods employ digital geometry processing to reconstruct an image of the inside of an object based on a large series of projection measurements through the object. Various CT methods have been developed to enable efficient processing and/or precise image reconstruction, e.g. Filtered Back Projection, ART, SART, etc. Often, the projection measurements are carried out in accordance with a standard geometry which is given by the CT method. Clearly, it would be desirable to capitalize on existing CT methods for reconstructing the 2D distribution of an energy-related parameter (light, conductivity, etc) across a touch surface based on a set of projection measurements.
It is an object of the invention to enable touch determination on a panel based on projection measurements by use of existing CT methods.
Another objective is to provide a technique that enables determination of touch-related data at sufficient precision to discriminate between a plurality of objects in simultaneous contact with a touch surface.
This and other objects, which may appear from the description below, are at least partly achieved by means of a method of enabling touch determination, a computer program product, a device for enabling touch determination, 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 enabling touch determination based on an output signal from a touch-sensitive apparatus. The touch-sensitive apparatus comprises a panel configured to conduct signals from a plurality of peripheral incoupling points to a plurality of peripheral outcoupling points, thereby defining detection lines that extend across a surface portion of the panel between pairs of incoupling and outcoupling points, at least one signal generator coupled to the incoupling points to generate the signals, and at least one signal detector coupled to the outcoupling points to generate the output signal. The method comprises: processing the output signal to generate a set of data samples, wherein each data sample is indicative of detected energy on one of the detection lines and is defined by a signal value and first and second dimension values in a two-dimensional sample space, wherein the first and second dimension values define the location of the detection line on the surface portion, and wherein the data samples are non-uniformly arranged in the sample space; obtaining adjustment factors for the set of data samples, wherein each adjustment factor is representative of the local density of data samples in the sample space for a respective data sample; and processing the set of the data samples by tomographic reconstruction, while applying the adjustment factors, to generate data indicative of a reconstructed distribution of an energy-related parameter within at least part of the surface portion.
In one embodiment, the adjustment factor for a given data sample is calculated to represent the number of data samples within a region around the given data sample in the sample space.
In another embodiment, the adjustment factor for a given data sample is calculated to represent an average of a set of smallest distances between the given data sample and neighboring data samples in the sample space.
In yet another embodiment, the adjustment factor for a given data sample is calculated to represent an extent of a Voronoi cell or a set of Delaunay triangles in the sample space for the given data sample.
In yet another embodiment, the reconstructed distribution comprises spatial data points, each spatial data point having a unique location on the surface portion and corresponding to a predetermined curve in the sample space, and the adjustment factor for a given data sample is calculated, for each spatial data point in a set of spatial data points, to represent the interaction between the predetermined curve of the spatial data point and a two-dimensional basis function located at the given data sample, wherein the basis function is given an extent in the sample space that is dependent on the local density. The interaction may be calculated by evaluating a line integral of the basis function, along the predetermined curve.
In one embodiment, the step of obtaining comprises: obtaining, for each spatial data point, a set of adjustment factors associated with a relevant set of data samples. The step of processing the set of data samples may comprise: reconstructing each spatial data point by: scaling the signal value of each data sample in the relevant set of data samples by its corresponding adjustment factor and summing the thus-scaled signal values.
In one embodiment, the predetermined curve is designed to include the shape of a predetermined one-dimensional filter function which extends in the first dimension of the sample space and which is centered on and reproduced at plural locations along the curve. In this embodiment, the interaction may be calculated by evaluating a surface integral of the combination of the predetermined curve and the basis function.
In one embodiment, the step of processing the output signal comprises: obtaining a measurement value for each detection line and applying a filter function to generate a filtered signal value for each measurement value, wherein the filtered signal values form said signal values of the data samples. The filter function may be a predetermined one-dimensional filter function which is applied in the first dimension of the sample space.
Alternatively or additionally, the step of applying the filter function may comprise: obtaining estimated signal values around each measurement value in the first dimension, and operating the filter function on the measurement value and the estimated signal values. The filtered signal value may be generated as a weighted summation of the measurement values and the estimated signal values based on the filter function. The estimated signal values may be obtained as measurement values of other detection lines, said other detection lines being selected as a best match to the extent of the filter function in the first dimension, or the estimated signal values may be generated at predetermined locations around the measurement value in the sample space.
In one embodiment, the estimated signal values are generated by interpolation in the sample space based on the measurement values. Each estimated signal value may be generated by interpolation of measurement values of neighboring data samples in the sample space. Alternatively or additionally, the step of processing the output signal further may comprise: obtaining a predetermined two-dimensional interpolation function with nodes corresponding to the data samples, and calculating the estimated signal values according to the interpolation function and based on the measurement values of the data samples.
In one embodiment, the reconstructed distribution comprises spatial data points, each spatial data point having a unique location on the surface portion and corresponding to a predetermined curve in the sample space, and wherein the step of processing the set of data samples comprises: generating filtered signal values for the data samples by scaling the signal value of each data sample by a weight given by a predetermined filter function based on the distance of the data sample from the curve in the first dimension, and evaluating each spatial data point by: scaling the filtered signal value by the adjustment factor of the corresponding data sample and summing the thus-scaled filtered signal values.
In one embodiment, the step of processing the set of data samples comprises: calculating Fourier transformation data for the data samples with respect to the first dimension only, and generating said data indicative of the reconstructed distribution by operating a two-dimensional inverse Fourier transform on the Fourier transformation data, wherein the adjustment factors are applied in the step of calculating Fourier transformation data. The step of calculating the Fourier transformation data may comprise: transforming the data samples to a Fourier domain to produce uniformly arranged Fourier-transformed data samples with respect to the first and second dimensions, and transforming the Fourier-transformed data samples back to the sample space with respect to the second dimension only.
In one embodiment, the first dimension value is a distance of the detection line in the plane of the panel from a predetermined origin, and the second dimension value is a rotation angle of the detection line in the plane of the panel.
In an alternative embodiment, the first dimension value is a rotation angle of the detection line in the plane of the panel, and the second dimension value is an angular location of the incoupling or outcoupling point of the detection line.
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 enabling touch determination based on an output signal from a touch-sensitive apparatus. The touch-sensitive apparatus comprises a panel configured to conduct signals from a plurality of peripheral incoupling points to a plurality of peripheral outcoupling points, thereby defining detection lines that extend across a surface portion of the panel between pairs of incoupling and outcoupling points, signal generating means coupled to the incoupling points to generate the signals, and signal detecting means coupled to the outcoupling points to generate the output signal. The device comprises: means for processing the output signal to generate a set of data samples, wherein each data sample is indicative of detected energy on one of the detection lines and is defined by a signal value and first and second dimension values in a two-dimensional sample space, wherein the first and second dimension values define the location of the detection line on the surface portion, and wherein the data samples are non-uniformly arranged in the sample space; means for obtaining adjustment factors for the set of data samples, wherein each adjustment factor is representative of the local density of data samples in the sample space for a respective data sample; and means for processing the set of the data samples by tomographic reconstruction, while applying the adjustment factors, to generate data indicative of a reconstructed distribution of an energy-related parameter within at least part of the surface portion.
A fourth aspect of the invention is a touch-sensitive apparatus, comprising: a panel configured to conduct signals from a plurality of peripheral incoupling points to a plurality of peripheral outcoupling points, thereby defining detection lines that extend across a surface portion of the panel between pairs of incoupling and outcoupling points; means for generating the signals at the incoupling points; means for generating an output signal based on detected signals at the outcoupling points; and the device for enabling touch determination of the third aspect.
A fifth aspect of the invention is a touch-sensitive apparatus, comprising: a panel configured to conduct signals from a plurality of peripheral incoupling points to a plurality of peripheral outcoupling points, thereby defining detection lines that extend across a surface portion of the panel between pairs of incoupling and outcoupling points; at least one signal generator coupled to the incoupling points to generate the signals; at least one signal detector coupled to the outcoupling points to generate an output signal; and a signal processor connected to receive the output signal and configured to: process the output signal to generate a set of data samples, wherein each data sample is indicative of detected energy on one of the detection lines and is defined by a signal value and first and second dimension values in a two-dimensional sample space, wherein the first and second dimension values define the location of the detection line on the surface portion, and wherein the data samples are non-uniformly arranged in the sample space; obtain adjustment factors for the set of data samples, wherein each adjustment factor is representative of the local density of data samples in the sample space for a respective data sample; and process the set of the data samples by tomographic reconstruction, while applying the adjustment factors, to generate data indicative of a reconstructed distribution of an energy-related parameter within at least part of the surface portion.
Any one of the embodiments of the first aspect can be combined with the second to fifth 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.
Embodiments of the invention will now be described in more detail with reference to the accompanying schematic drawings.
The present invention relates to techniques for enabling extraction of touch data for at least one object, and typically multiple objects, in contact with a touch surface of a touch-sensitive apparatus. The description starts out by presenting the underlying concept of such a touch-sensitive apparatus, especially an apparatus operating by frustrated total internal reflection (FTIR) of light. The description continues to generally explain and exemplify the theory of tomographic reconstruction and its use of standard geometries. Then follows an example of an overall method for touch data extraction involving tomographic reconstruction. Finally, different inventive aspects of applying techniques for tomographic reconstruction for touch determination are further explained and exemplified.
Throughout the description, the same reference numerals are used to identify corresponding elements.
1. Touch-Sensitive Apparatus
The arrangement of sensors is electrically connected to a signal processor 10, which samples and processes an output signal from the arrangement. The output signal is indicative of the received energy at each sensor 3. As will be explained below, the signal processor 10 may be configured to process the output signal by a tomographic technique to recreate an image of the distribution of an energy-related parameter (for simplicity, referred to as “energy distribution” in the following) across the touch surface 1. The energy distribution 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 a position (e.g. x, y coordinates), a shape or an area of each touching object.
In the example of
The touch-sensitive apparatus 100 may be designed to be used with a display device or monitor, e.g. as described in the Background section. Generally, such a display device has a rectangular extent, and thus the touch-sensitive apparatus 100 (the touch surface 1) is also likely to be designed with a rectangular shape. Further, the emitters 2 and sensors 3 all have a fixed position around the perimeter of the touch surface 1. Thus, in contrast to a conventional tomographic apparatus used e.g. in the medical field, there will be no possibility of rotating the complete measurement system. As will be described in further detail below, this puts certain limitations on the use of standard tomographic techniques for recreating/reconstructing the energy distribution within the touch surface 1.
In the following, embodiments of the invention will be described in relation to an exemplifying arrangement of emitters 2 and sensors 3. This arrangement, shown in
It is to be understood that this arrangement is given merely for the purpose of illustration and the concepts of the invention are applicable irrespective of aspect ratio, shape of the touch surface, and arrangement of emitters and sensors.
In the embodiments shown herein, at least a subset of the emitters 2 may be arranged to emit energy in the shape of a beam or wave that diverges in the plane of the touch surface 1, and at least a subset of the sensors 3 may be arranged to receive energy over a wide range of angles (field of view). Alternatively or additionally, the individual emitter 2 may be configured to emit a set of separate beams that propagate to a number of sensors 3. In either embodiment, each emitter 2 transmits energy to a plurality of sensors 3, and each sensor 3 receives energy from a plurality of emitters 2.
The touch-sensitive apparatus 100 may be configured to permit transmission of energy in one of many different forms. The emitted signals may thus be any radiation or wave energy that can travel in and across the touch surface 1 including, without limi-tation, light waves in the visible or infrared or ultraviolet spectral regions, electrical energy, electromagnetic or magnetic energy, or sonic and ultrasonic energy or vibration energy.
In the following, an example embodiment based on propagation of light will be described.
As shown in
The touch-sensitive apparatus 100 may be operated to measure the energy of the light transmitted through the panel 4 on a plurality of detection lines. This may, e.g., be done by activating a set of spaced-apart emitters 2 to generate a corresponding number of light sheets inside the panel 4, and by operating a set of sensors 3 to measure the transmitted energy of each light sheet. Such an embodiment is illustrated in
The light sensors 3 collectively provide an output signal, which is received and sampled by the signal processor 10. The output signal contains a number of sub-signals, also denoted “projection signals”, each representing the energy of light emitted by a certain light emitter 2 and received by a certain light sensor 3, i.e. the received energy on a certain detection line. Depending on implementation, the signal processor 10 may need to process the output signal for identification of the individual sub-signals. Irrespective of implementation, the signal processor 10 is able to obtain an ensemble of measurement values that contains information about the distribution of an energy-related parameter across the touch surface 1.
The light emitters 2 can be any type of device capable of emitting light in a desired wavelength range, for example a diode laser, a VCSEL (vertical-cavity surface-emitting laser), or alternatively an LED (light-emitting diode), an incandescent lamp, a halogen lamp, etc.
The light sensors 3 can be any type of device capable of detecting the energy of light emitted by the set of emitters, such as a photodetector, an optical detector, a photo-resistor, a photovoltaic cell, a photodiode, a reverse-biased LED acting as photodiode, a charge-coupled device (CCD) etc.
The emitters 2 may be activated in sequence, such that the received energy is measured by the sensors 3 for each light sheet separately. Alternatively, all or a subset of the emitters 2 may be activated concurrently, e.g. by modulating the emitters 2 such that the light energy measured by the sensors 3 can be separated into the sub-signals by a corresponding de-modulation.
Reverting to the emitter-sensor-arrangements in
In a variant of the interleaved arrangement, the emitters 2 and sensors 3 may partially or wholly overlap, as seen in a plan view. This can be accomplished by placing the emitters 2 and sensors 3 on opposite sides of the panel 4, or in some equivalent optical arrangement.
It is to be understood that
2. Transmission
As indicated in
In the following, Tk is the transmission for the k:th detection line, Tv is the transmission at a specific position along the detection line, and λv is the relative attenuation at the same point. The total transmission (modeled) along a detection line is thus:
The above equation is suitable for analyzing the attenuation caused by discrete objects on the touch surface, when the points are fairly large and separated by a distance. However, a more correct definition of attenuation through an attenuating medium may be used:
In this formulation, Ik represents the transmitted energy on detection line Dk with attenuating object(s), l0,k represents the transmitted energy on detection line Dk without attenuating objects, and a(x) is the attenuation coefficient along the detection line Dk. We also let the detection line interact with the touch surface along the entire extent of the detection line, i.e. the detection line is represented as a mathematical line.
To facilitate the tomographic reconstruction as described in the following, the measurement values may be divided by a respective background value. By proper choice of background values, the measurement values are thereby converted into transmission values, which thus represent the fraction of the available light energy that has been measured on each of the detection lines.
The theory of the Radon transform (see below) deals with line integrals, and it may therefore be proper to use the logarithm of the above expression:
log(T)=log(e−∫a(x)dx)=−∫a(x)dx
3. Tomographic Techniques
Tomographic reconstruction, which is well-known per se, may be based on the mathematics describing the Radon transform and its inverse. The following theoretical discussion is limited to the 2D Radon transform. The general concept of tomography is to do imaging of a medium by measuring line integrals through the medium for a large set of angles and positions. The line integrals are measured through the image plane. To find the inverse, i.e. the original image, many algorithms use the so-called Projection-Slice Theorem.
Several efficient algorithms have been developed for tomographic reconstruction, e.g. Filtered Back Projection (FBP), FFT-based algorithms, ART (Algebraic Reconstruction Technique), SART (Simultaneous Algebraic Reconstruction Technique), etc. FBP is a widely used algorithm, and there are many variants and extensions thereof. Below, a brief outline of the underlying mathematics for FBP is given, for the sole purpose of facilitating the following discussion about the inventive concept and its merits.
3.1 Projection-Slice Theorem
Many tomographic reconstruction techniques make use of a mathematical theorem called Projection-Slice Theorem. This Theorem states that given a two-dimensional function ƒ(x, y), the one- and two-dimensional Fourier transforms 1 and 2, a projection operator that projects a two-dimensional (2D) function onto a one-dimensional (1D) line, and a slice operator S1 that extracts a central slice of a function, the following calculations are equal:
1ƒ(x,y)=S12ƒ(x,y)
This relation is illustrated in
3.2 Radon Transform
First, it can be noted that the attenuation vanishes outside the touch surface. For the following mathematical discussion, we define a circular disc that circumscribes the touch surface, Ωr={x: |x|≦r}, with the attenuation field set to zero outside of this disc. Further, the projection value for a given detection line is given by:
Here, we let θ=(cos φ, sin φ) be a unit vector denoting the direction normal to the detection line, and s is the shortest distance (with sign) from the detection line to the origin (taken as the centre of the screen, cf.
Our goal is now to reconstruct the attenuation field a(x) given the measured Radon transform, g=a. The Radon transform operator is not invertible in the general sense. To be able to find a stable inverse, we need to impose restrictions on the variations of the attenuation field.
One should note that the Radon transform is the same as the above-mentioned projection operator in the Projection-Slice Theorem. Hence, taking the 1D Fourier transform of g(φ, s) with respect to the s variable results in central slices from the 2D Fourier transform of the attenuation field a(x).
3.3 Continuous Vs. Discrete Tomography
The foregoing sections 3.1-3.2 describe the mathematics behind tomographic reconstruction using continuous functions and operators. However, in a real world system, the measurement data represents a discrete sampling of functions, which calls for modifications of the algorithms. For a thorough description of such modifications, we refer to the mathematical literature, e.g. “The Mathematics of Computerized Tomography” by Natterer, and “Principles of Computerized Tomographic Imaging” by Kak and Slaney.
When operating on discretely sampled functions, certain reconstruction techniques may benefit from a filtering step designed to increase the amount of information about high spatial frequencies. Without the filtering step, the information density will be much higher at low frequencies, and the reconstruction will yield a blurring from the low frequency components.
The filtering step may be implemented as a multiplication/weighting of the data points in the 2D Fourier transform plane. This multiplication with a filter Wb in the Fourier domain may alternatively be implemented as a convolution by a filter wb(s) in the spatial domain, i.e. with respect to the s variable, using the inverse Fourier transform of the weighting function. The multiplication/weighting function in the 2D Fourier transform plane is rotationally symmetric. Thus, we can make use of the Projection-Slice Theorem to get the corresponding 1D convolution kernel in the projection domain, i.e. the kernel we should use on the projections gathered at specific angles. This also means that the convolution kernel will be the same for all projection angles.
In the literature, several implementations of the filter can be found, e.g. Ram-Lak, Shepp-Logan, Cosine, Hann, and Hamming.
4. Parallel Geometry for Tomographic Processing
Tomographic processing is generally based on standard geometries. This means that the mathematical algorithms presume a specific geometric arrangement of the detection lines in order to attain a desired precision and/or processing efficiency. The geometric arrangement may be selected to enable a definition of the projection values in a 2D sample space, e.g. to enable the above-mentioned filtering in one of the dimensions of the sample space before the back projection, as will be further explained below.
In conventional tomography, the measurement system (i.e. the location of the incoupling points and/or outcoupling points) is controlled or set to yield the desired geometric arrangement of detection lines. Below follows a brief presentation of the parallel geometry, which is standard geometry widely used in conventional tomography e.g. in the medical field.
The parallel geometry is exemplified in
Below, the use of a parallel geometry in tomographic processing is further exemplified in relation to a known attenuation field shown in
The filtering step, i.e. convolution, is now done with respect to the s variable, i.e. in the vertical direction in
Since the filtering step is a convolution, it may be computationally more efficient to perform the filtering step in the Fourier domain. For each column of values in the φ-s-plane, a discrete 1D Fast Fourier transform is computed. Then, the thus-transformed values are multiplied by the 1D Fourier transform of the filter kernel. The filtered sinogram v is then obtained by taking the inverse Fourier transform of the result.
The next step is to apply the back projection operator #. Fundamental to the back projection operator is that a single position in the attenuation field is represented by a sine function in the sinogram. Thus, to reconstruct each individual attenuation value in the attenuation field, the back projection operator corresponds to a summation of the values of the filtered sinogram along the corresponding sine function. This can be expressed as
where θ=(cos φj, sin φj), p is the number of projection angles, and xi=(xi, yi) is a point in the attenuation field (i.e. a location on the touch surface 1).
To illustrate this concept,
Since the location of a reconstructed attenuation value will not coincide exactly with all of the relevant detection lines, it may be necessary to perform linear interpolation with respect to the s variable where the sine curve crosses between two sampling points. The interpolation is exemplified in
(1−z26)·(w*g)26,176+z26·(w*g)26,177
+(1−z27)·(w*g)27,175+z27·(w*g)27,176
+(1−z28)·(w*g)28,173+z28·(w*g)28,174
The weights zi in the linear interpolation is given by the normalized distance from the sine curve to the sampling point, i.e. 0≦zi<1.
By using linear interpolation in the back projection operator, the time complexity of the reconstruction process is O(n3), where n may indicate the number of incoupling and outcoupling points on one side of the touch surface, or the number of rows/columns of reconstruction points (see below).
An alternative approach is to compute the filtered values at the crossing points by applying individual filtering kernels. The time complexity of such a reconstruction process is O(n4).
The standard techniques for tomographic processing as described above presume a regular arrangement of the sampling points in the φ-s-plane, e.g. as exemplified in
As a further example of irregular sampling points,
The inventors have realized that the standard techniques for tomographic processing cannot be used to reconstruct the attenuation field a(x) on the touch surface, at least not with adequate precision, due to the irregular sampling.
5. Use of Tomographic Processing for Touch Determination
In its various aspects, the invention relates to ways of re-designing tomographic techniques so as to accommodate for irregular sampling, viz. such that the tomographic techniques use the same amount of information from all relevant parts of the sample space. In various embodiments, this is achieved by introducing an adjustment factor, ρk, which represents the local density of sampling points in the sample space. By clever use of the adjustment factor, it is possible to adapt existing tomographic techniques so as to enable reconstruction of the attenuation field for arbitrary patterns of detection lines on the touch surface, i.e. also including non-uniform arrangements of sampling points in the sample space.
In a preparatory step 20, the signal processor obtains adjustment factors, and possibly other processing parameters (coefficients), to be used in the tomographic reconstruction. In one embodiment, the adjustment factors are pre-computed and stored on an electronic memory, and the signal processor retrieves the pre-computed adjustment factors from the memory. Each adjustment factor is computed to be representative of the local density of data samples in the sample space for a respective sampling point. This means that each detection line is associated with one or more adjustment factors. In a variant (not shown), the signal processor obtains the adjustments factors by intermittently re-computing or updating the adjustment factors, or a subset thereof, during execution of the method, e.g. every n:th sensing instance. The computation of adjustment factors will be further exemplified in Chapter 6.
Each sensing instance starts by a data collection step 22, in which measurement values are sampled from the light sensors 2 in the FTIR system, typically by sampling a value from each of the aforesaid sub-signals. The data collection step 22 results in one projection value for each detection line (sampling point). It may be noted that the data may, but need not, be collected for all available detection lines in the FTIR system. The data collection step 22 may also include pre-processing of the measurement values, e.g. filtering for noise reduction, conversion of measurement values into transmission values (or equivalently, attenuation values), conversion into logarithmic values, etc.
In a reconstruction step 24, an “attenuation field” across the touch surface is reconstructed by processing of the projection data from the data collection step 22. The attenuation field is a distribution of attenuation values across the touch surface (or a relevant part of the touch surface), i.e. an energy-related parameter. As used herein, “the attenuation field” and “attenuation values” may be given in terms of an absolute measure, such as light energy, or a relative measure, such as relative attenuation (e.g. the above-mentioned attenuation coefficient) or relative transmission. The reconstruction step operates a tomographic reconstruction algorithm on the projection data, where the tomographic reconstruction algorithm is designed to apply the adjustment factors to at least partly compensate for variations in the local density of sampling points in the sample space.
The tomographic processing may be based on any known algorithm for tomographic reconstruction. The tomographic processing will be further exemplified in Chapter 7 with respect to algorithms for Back Projection, algorithms based on Fourier transformation and algorithms based on Hough transformation.
The attenuation field 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.
In a subsequent extraction step 26, the reconstructed attenuation field is processed for identification of touch-related features and extraction of touch data. Any known technique may be used for isolating true (actual) touch points within the attenuation field. For example, ordinary blob detection and tracking techniques may be used for finding the actual touch points. In one embodiment, a threshold is first applied to the attenuation field, to remove noise. Any areas with attenuation values that exceed the threshold, may be further processed to find the center and shape by fitting for instance a two-dimensional second-order polynomial or a Gaussian bell shape to the attenuation values, or by finding the ellipse of inertia of the attenuation values. There are also numerous other techniques as is well known in the art, such as clustering algorithms, edge detection algorithms, etc.
Any available touch data may be extracted, including but not limited to x,y coordinates, areas, shapes and/or pressure of the touch points.
After step 26, the extracted touch data is output, and the process returns to the data collection step 22.
It is to be understood that one or more of steps 20-26 may be effected concurrently. For example, the data collection step 22 of a subsequent sensing instance may be initiated concurrently with step 24 or 26.
The touch data extraction process is typically executed by a data processing device (cf. signal processor 10 in
The data processing 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; 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 serves as one element/means when executing one instruction, but serves 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. Such a software controlled computing device may include one or more processing units, e.g. a CPU (“Central Processing Unit”), a DSP (“Digital Signal Processor”), an ASIC (“Application-Specific Integrated Circuit”), discrete analog and/or digital components, or some other programmable logical device, such as an FPGA (“Field Programmable Gate Array”). The data processing device 10 may further include a system memory and a system bus that couples various system components including the system memory to the processing unit. The system bus may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. The system memory may include computer storage media in the form of volatile and/or non-volatile memory such as read only memory (ROM), random access memory (RAM) and flash memory. The special-purpose software, and the adjustment factors, may be stored in the system memory, or on other removable/non-removable volatile/non-volatile computer storage media which is included in or accessible to the computing device, such as magnetic media, optical media, flash memory cards, digital tape, solid state RAM, solid state ROM, etc. The data processing device 10 may include one or more communication interfaces, such as a serial interface, a parallel interface, a USB interface, a wireless interface, a network adapter, etc, as well as one or more data acquisition devices, such as an A/D converter. The special-purpose software may be provided to the data processing device 10 on any suitable computer-readable medium, including a record medium, a read-only memory, or an electrical carrier signal.
6. Computation of Adjustment Factors
In this chapter we introduce the concept of “density of detection lines”, which is a measure of the angular and spatial distribution of detection lines on the touch surface. Recalling that a detection line is equivalent to a sampling point in the sampling space, the density of detection lines may be given by the density of sampling points (cf.
There are many different ways of generating a measure of the local density of sampling points, to be used for calculating the adjustment factors for the tomographic processing. Below, a few examples are listed.
Each of these examples will now be described in further detail in separate sections 6.1-6.5. It should be noted that in these, and all other examples, the adjustment factors may be (and typically are) pre-computed and stored for retrieval during touch determination (cf. step 20 in
6.1 Number of Nearby Sampling Points (ρkλ)
The local density for a specific detection line may be determined by finding the number of detection lines that fall within a given distance λ from the specific detection line. The distance is measured in the sample space, i.e. the φ-s-plane. To facilitate the definition of distance, it may be preferable to at least approximately normalize the dimensions (φ, s) of the sample space. For example, if the projection angle spans 0≦φ<π, the distance s may be scaled to fall within the same range. The actual scaling typically depends on the size of the touch system, and theoretical recommendations are found in the literature.
The adjustment factor is proportional to the inverse of the number of nearby detection lines, i.e. 1/9 and ⅕, respectively. This means that a lower weight will be given to information from several detection lines that represent almost the same information in the attenuation field.
In this example, the adjustment factor is denoted ρkλ and is computed according to:
6.2 Average Distance (ρkN)
The local density for a specific detection line may be determined by computing the distance to the N closest detection lines.
In this example, the adjustment factor is denoted ρkN and is computed according to:
where Nk is the set of detection lines closest to detection line k.
6.3 Voronoi Areas (ρkVA)
The adjustment factors may be computed based on the extent of the Voronoi cell (as measured in the sample space) of the detection line. Voronoi cells are obtained by defining the sampling points in the sample space as Voronoi sites in a Voronoi diagram. A Voronoi diagram is a well-known mathematical technique to decompose a metric space based on distances to a specified discrete set of objects in the space. Specifically, a site in the Voronoi diagram has a Voronoi cell which contains all points that are closer to the site than to any other site.
It may be advantageous to normalize the adjustment factors such that the total area equals a given value e.g. unity. Special care may need to be taken when defining Voronoi cells at the edge of the sample space, since these cells will have an infinite area unless a constraint is added for the size of these cells. When the sample space is IL-periodic, it may be sufficient to only add constraint edges respect to the s dimension if the sample points are properly mirrored between φ=0 and φ=π.
The adjustment factor is denoted ρkVA and is computed according to:
ρkVA=voronoi_area((φk,sk)).
Compared to ρkλ and ρkN, the computation of ρkVA obviates the need to set potentially arbitrary computation parameters, such as the distance λ in the sample space and the number N and the definition of neighboring sampling points.
6.4 Delaunay Triangles (ρkDA)
The adjustment factors may be computed based on the extent of the Delaunay triangles (in the sample space) for the detection line. The Delaunay triangles are obtained by defining the sampling points as corners of a mesh of non-overlapping triangles and computing the triangles using the well-known Delaunay algorithm. To achieve triangles with reduced skewness, if deemed necessary, the dimensions of the sample space (φ,s) may be rescaled to the essentially same length before applying the Delaunay triangulation algorithm.
In this example, the adjustment factor is denoted ρkDA and is computed according to:
ρkDA=delaunay_area((φk,sk)).
6.5 Interpolating Basis Functions
By assigning a density-dependent basis function to each detection line (in the sample space) and evaluating the reconstruction algorithm for each basis function separately, it is possible to compute high precision adjustment factors. One major benefit of using basis functions is that they enable the use of higher order interpolation when computing the adjustment factor for each detection line. The following examples are all given for reconstruction algorithms that are based on the back projection operation (#). In the following example, the basis functions are defined based on Delaunay triangles for each detection line (in the sample space), but it should be understood that any density-dependent basis function could be used.
6.5.1 Line Integrals (ρk,iD1,ρk,iV0)
In the following, a first order interpolating Delaunay triangle basis function is denoted bkD1.
Before exemplifying the computation of adjustment factors, it is to be recalled that a reconstruction point in the attenuation field corresponds to a reconstruction line (curve) in the sample space. As explained above (Chapter 4), the reconstruction line is a sine curve for the back projection operator. This is further illustrated in
The adjustment factors for a given detection line (sampling point) with respect to a reconstruction line may be computed by evaluating the line integral for the reconstruction line running through the basis function. The reconstruction line σi is defined by σi=(φ,xi·θ), where θ=(cos φ, sin φ) and xi=(xi, yi) is the reconstruction point on the touch surface that corresponds to the reconstruction line.
ρk,iD1=∫bkD1(φ,xi·θ)dφ.
In an alternative embodiment, the basis functions are defined based on the Voronoi cells of the sampling points. In such an example, the adjustment factor is denoted ρk,iV0 and is computed according to:
ρk,iV0=∫bkV0(φ,xi·θ)dφ,
with bkV0 being the zero-order interpolating Voronoi basis function.
It should be noted that ΣkbkD1(φ, s) is set to a fixed value, e.g. 1, for all values of (φ, s) that fall within the valid region of sample space. This equation should hold for all relevant basis functions.
6.5.2 Surface Integrals (ρk,iwD1,ρk,iwV0)
Below, the computation of an advanced adjustment factor will be exemplified, specifically an adjustment factor for a sampling point to be processed for tomographic reconstruction using back projection and filtering. In this case, the computation is not limited to evaluating line integrals for the interaction between the basis function and the reconstruction line. Instead, a two-dimensional (surface) integral is evaluated for this interaction. In the following examples, the basis function is given by Delaunay triangles and is defined to be linearly interpolating. It is to be understood that other types of basis functions may be used e.g. to achieve other interpolations, such as nearest neighbor interpolation, second order interpolation or higher, continuously differentiable interpolation, etc.
In the back projection operation, the values of the sampling points should be weighted with the effect of the 1D filter.
In this example, the adjustment factor is denoted ρk,iwD1 and is computed according to:
ρk,iwD1=∫wi(φ,s)·bkD1dφds.
Conceptually, this equation can be understood to reflect the notion that each detection line (sampling point) is not limited only to the sampling point but has an extended influence in the sample space via the extent of the basis function. A single detection line will thus contribute to the values of the φ-s-plane in a region around the actual detection line in the sample space, the contribution being zero far away and having support, i.e. being greater than zero, only in a local neighborhood of the detection line. Higher density of detection lines (sampling points) in the sample space yields smaller support and lower density gives larger support. When a single adjustment factor ρk,iwD1 is to be computed, all but the k:th detection line can be set to zero, before the above integral (sum) is computed. The integration (summation) is done in both dimensions φ, s. Clearly, the adjustment factors account for variations in the local density of detection lines.
As noted above, the adjustment factor for detection line D2′ is ρk,iwD1=0. This value of the adjustment factor accounts not only for the interaction between the reconstruction line and the sampling point, but also the influence of the 1D filter. This could be compared to the adjustment factor ρk,iDA, which was computed to 0.32 for detection line D2′ in Section 6.4 above. After adding the influence of the 1D filter (Δs=1.5 for detection line D2′ and wb(Δs)=−1.5), this equals −1.5*0.32=−0.0034. Thus, the use of a surface integral results in a different adjustment factor, which may be more suitable for certain implementations of the touch system. However, the choice of technique for calculating the adjustment factors is a tradeoff between computational complexity and precision of the reconstructed attenuation field, and any of the adjustment factors presented herein may find its use depending on the circumstances.
In an alternative embodiment, the basis functions are instead defined based on the Voronoi cells of the sampling points. In this example, the adjustment factor is denoted ρk,iwV0 and is computed according to:
ρk,iwV0=∫wi(φ,s)·bkV0dφds.
7. Tomographic Reconstruction Using Adjustment Factors
There are numerous available techniques for reconstructing an attenuation field based on a set of projection values. The following description will focus on three main techniques, and embodiments thereof, namely Back Projection, Fourier Transformation and Hough Transformation. Common to all embodiments is that existing reconstruction techniques are re-designed, by the use of the adjustment factors, to operate on data samples that have an irregular or non-uniform arrangement in the sample space. Thus, the reconstruction step (cf. 24 in
For each embodiment, the application of adjustment factors will be discussed, and reference will be made to the different variants of adjustment factors discussed in sections 6.1-6.5. Furthermore, the processing efficiency of the embodiments will be compared using Landau notation as a function of n, with n being the number of incoupling and outcoupling points on one side of the touch surface. In some embodiments, a reconstructed attenuation field containing n2 reconstruction points will be presented. The reconstructed attenuation field is calculated based on projection values obtained for the reference image in
7.1 Unfiltered Back Projection
As an alternative to filtered back projection, it is possible to do an unfiltered back projection and do the filtering afterwards. In this case, the filtering process involves applying a two-dimensional sharpening filter. If the two-dimensional sharpening filter is applied in the spatial domain, the time complexity of the unfiltered back projection is O(n4). If the filtering is done in the Fourier domain, the time complexity may be reduced.
The unfiltered back projection involves evaluating reconstruction lines in the sample space, using adjustment factors computed by means of interpolating basis functions, as described above in section 6.5. As mentioned in that section, use of interpolating basis functions results in a correction for the local density of sampling points.
In this embodiment, the reconstruction function F(ρk,g(φk,sk)) is given by a first sub-function that performs the back projection at desired reconstruction points in the attenuation field:
and a second sub-function that applies the 2D sharpening filter on the reconstructed attenuation field.
In this embodiment, the adjustment factor ρk may be any adjustment factor calculated based on an interpolating basis function, such as ρk,iD1 or ρk,iV0.
It can also be noted that since several adjustment factors ρk,i are zero, the sum needs only be computed for a relevant subset of the sampling points, namely over all k where ρk,i>TH, where TH is a threshold value, e.g. 0.
The time complexity of the back projection operator is O(n3), assuming that there are O(n) non-zero adjustment factors for each reconstruction point.
7.2 Filtered Back Projection, First Embodiment
In a first embodiment of filtered back projection, a reconstruction line in the sample space (cf.
In this embodiment, the reconstruction function F(ρk,g(φk,sk)) is given by
The time complexity of the reconstruction function is O(n4). In this function, g(φk,sk) is the projection value of detection line k, (φk,sk) is the position of the detection line k in the sample space, and wb(Δs) is the 1D filter given as a function of distance Δs to the reconstruction line in the s dimension. The distance is computed as Δs=sk−xi·θk where xi is the reconstruction point (in the attenuation field) and θk=(cos φk, sin φk). The operation of the reconstruction function is illustrated in
In this embodiment, the adjustment factor ρk may be any adjustment factor that directly reflects the separation of sampling points in the sample space, such as ρkVA, ρkλ, ρkN, and ρkDA.
There are many different 1D filters wb(Δs) that may be used. The 1D filter may be defined as a continuous function of distance Δs.
7.3 Filtered Back Projection, Second Embodiment
In a second embodiment of filtered back projection, a reconstruction line in the sample space is evaluated by extending the influence of the sampling points by the use of interpolating basis function and by including the 1D filter in the reconstruction line.
In this embodiment, the reconstruction function F(ρk,g(φk,sk)) is given by
In this embodiment, the adjustment factor ρk may be any adjustment factor originating from a surface integral through interpolating basis functions in the sample space, such as ρk,iwD1 or ρk,iwV0.
The time complexity of the reconstruction function is O(n4). It can be noted that the time for executing the reconstruction (cf. step 24 in
7.4 Filtered Back Projection, Third Embodiment
In a third embodiment of filtered back projection, the filtering step is performed locally around each individual sampling point in the sample space using the 1D filter. The filtering is operated on synthetic projection values at synthetic sampling points which are generated from the projection values of the sampling points, e.g. by interpolation. The synthetic projection values are estimated signal values that are generated around each projection value at given locations in the s dimension.
Furthermore, the third embodiment evaluates a reconstruction line in the sample space by computing a line integral through interpolating basis functions arranged at the actual sampling points.
In this embodiment, the reconstruction function F(φk,g(φk,sk)) is given by a first sub-function that creates 2M synthetic sampling points g(φk,m,sk,m) with respect to the s dimension, and a second sub-function that applies a discrete 1D filter (in the s dimension) on the collection of sampling points (actual and synthetic) to calculate a filtered value for each actual sampling point:
and a third sub-function that performs the back projection at desired reconstruction points in the attenuation field, based on the filtered values:
In the above expressions g(φk,0,sk,0)≡g(φk,sk), i.e. an actual sampling point. The adjustment factor ρk may be any adjustment factor originating from a line integral through interpolating basis functions in the sample space, such as ρk,iD1 or ρk,iV0. It can also be noted that since several adjustment factors ρk,i are zero, the sum needs only be computed for a relevant subset of the sampling points, namely over all k where ρk,i>TH, where TH is a threshold value, e.g. 0.
Any suitable 1D filter may be used, e.g. the one shown in
The time complexity of the reconstruction function is O(n3). This is based on the fact that the number of sampling points are O(n2), that the first sub-function computes O(M·n2) synthetic projection values, with M being O(n), that the second sub-function accesses each synthetic sampling point once, and that the third sub-function accesses O(n) filtered values to generate each of O(n2) reconstruction points, giving a total time complexity of O(n3).
As noted above, the generation of synthetic projection values may be achieved by interpolating the original sampling points. The objective of the interpolation is to find an interpolation function that can produce interpolated values at specific synthetic sampling points in the sample space given a set of measured projection values at the actual sampling points. Many different interpolating functions can be used for this purpose, i.e. to interpolate data points on a two-dimensional grid. Input to such an interpolation function is the actual sampling points in the sample space as well as the measured projection value for each actual sampling point. Most interpolating functions involve a linear operation on the measured projection values. The coefficients in the linear operation are given by the known locations of the actual sampling points and the synthetic sampling point in the sample space. The linear operator may be pre-computed and then applied on the measured projection values in each sensing instance (cf. iteration of steps 22-26 in
7.5 Filtered Back Projection, Fourth Embodiment
In a fourth embodiment of filtered back projection, the filtering step is performed locally around each individual sampling point in the sample space using a 1D filter. In contrast to the third embodiment, the filtering is not operated on synthetic projection values, but on the projection values of adjacent actual sampling points that are forced into the 1D filter. The projection values of adjacent sampling points thus form estimated signal values around each projection value in the s dimension. In the following example, the 1D filter is a (−1, 2, −1) kernel which is operated with respect to the dimension.
Furthermore, the fourth embodiment evaluates a reconstruction line in the sample space by computing a line integral through interpolating basis functions arranged at the actual sampling points.
The adjacent sampling points are generally selected as a best match to the extent of the filter kernel in the s dimension of the sample space.
For the interleaved arrangement (
In this embodiment, the reconstruction function F(ρk,g(φk,sk)) is given by a first sub-function that finds the adjacent sampling points, g(φk′, sk′) and g(φk″,sk″), a second-sub-function that applies the filter kernel on the relevant sampling points:
v(φk,sk)=−g(φk′,sk′)+2·g(φk,sk)−g(φk″,sk″),
and a third sub-function that performs the back projection at desired reconstruction points in the attenuation field, based on the filtered values:
The adjustment factor ρk may be any adjustment factor originating from a line integral through interpolating basis functions in the sample space, such as ρk,iD1 or ρk,iV0. It can also be noted that since several adjustment factors ρk,i are zero, the sum needs only be computed for a relevant subset of the sampling points, namely over all k where ρk,i>TH, where TH is a threshold value, e.g. 0. It is also conceivable to add an overall scaling factor to the back projection operator to achieve a desired reconstruction result.
It should be realized that other filter kernels may be used, although it for practical reasons may be preferable to limit the kernel to 3-15 values.
7.6 Fourier Transformation Techniques
It is also possible to use so-called NUFFT algorithms in the reconstruction step (24 in
To simplify the following presentation, the theory of NED algorithms in general and the inventive modification in particular has been separated into Chapter 8.
In one embodiment, the reconstruction function F(ρk,g(φk,sk)) is given by four consecutive sub-functions. A first sub-function operates a 2D forward NED FFT on the projection values to generate the Fourier transform of g(φk,sk):
Thereby, the Fourier transform is computed with respect to both dimensions φ, s. The forward NED FFT applies adjustment factors to compensate for varying density of sampling points in the sample space. The evaluation of the first sub-function typically operates on pre-computed adjustment factors and other pre-computed coefficients of the forward NED FFT (see Chapter 8).
A second sub-function operates a regular 1D inverse Fourier transform (e.g. an FFT) with respect to the φ dimension:
This is done since the Projection-Slice Theorem is valid only for Fourier transforms with respect to the s dimension, i.e. one-dimensional transforms of the different projections. The second sub-function results in a polar coordinate representation, possibly oversampled, of the Fourier transform of the attenuation field to be reconstructed.
A third sub-function, which is optional, applies a smoothing filter F(r/Q) to ĝ(j,r) and may also apply a scaling factor ρr to scale the result to an appropriate level:
{circumflex over (f)}(j,r)=F(r/Q)·ρr·ĝ(j,r).
A fourth sub-function operates a 2D inverse NED FFT on the polar representation {circumflex over (f)}(j,r) to generate the attenuation field:
The inverse NED FFT may or may not be designed in correspondence with the forward NED FFT.
The time complexity of the reconstruction function is O(n2·log(n)).
In this embodiment, the adjustment factor ρk may be any one of a, ρkλ, ρkN, ρkVA, ρkDA, ρk,m{circumflex over (φ)}D1, or ρk,m{circumflex over (φ)}V0. The last two adjustment factors are obtained similarly to the adjustment factors ρk,iwD1 and ρk,iwV0 respectively, i.e. via surface integrals through interpolating basis functions (section 6.5). However, instead of reproducing a 1D filter, wb, along the reconstruction line, the interpolating function {circumflex over (φ)} is reproduced along the reconstruction line. The interpolating function {circumflex over (φ)} is defined in Chapter 8.
7.7 Hough Transformation Techniques
The Hough transform is a method for extracting features. It is mainly used in image analysis and computer vision. The main idea is to find geometric objects within a certain class of geometric shapes by a voting procedure. The voting procedure is carried out in the parameter space of the representation of the geometric objects. Generally, the objects are found as local maxima in a so-called accumulator space.
The original algorithm is a method for finding lines in a digital image. The original algorithm is outlined below, followed by ways to modify and use the Hough transformation for finding touches in the sinogram directly, without filtering and back projection.
As noted in Chapter 4 above, any line in a two-dimensional (image) plane can be represented by an angle, γ, and the smallest distance to the origin, r. This means that any given line can be defined as a point in the γ-r-plane. The inverse is also true; any point (pixel) in the image plane can be represented by a curve in the γ-r-plane. This curve represents all the different lines that the point can be a part of. This is the fundament of the Hough transform. For each point in the image plane, the value (weight) of the point is added to the corresponding line in the γ-r-plane (in an accumulator image). When all points in the image plane have been processed, the lines present in the image can be found as local maxima in the accumulator image. The position of a local maximum identifies the values of the two parameters γ, r for the line. The presence of several local maxima would indicate that there are several different lines in the image.
The line detection algorithm cannot be directly applied for reconstructing the attenuation field based on the measured projection values. However, a modification of the Hough transform can be used for finding sine curves (i.e. reconstruction lines) present in the sinogram. It can be noted that all sine curves have the same periodicity, 2π, and that a sine curve can be represented by an amplitude, A, and a phase, φ. Hence, for all sampling points in the sinogram, the weight of the sampling point is added to all corresponding sine curves in the accumulator image. The weight of the sampling point is given by the projection value modified by the adjustment factor ρk, such that the projection value is compensated for the local density of sample points. In this embodiment, the adjustment factor ρk may be any adjustment factor that directly reflects the separation of sampling points in the sample space, such as ρkVA, ρkλ, ρkN, and ρkDA. When all sampling points have been processed, touches are found as local maxima in the accumulator image.
The modified Hough transform algorithm has a time complexity of O(n3), since O(n1) values are added to the accumulator image for each detection line, the number of detection lines being O(n2). The process for finding local maxima has a lower time complexity.
8. NUFFT Theory and Modification of NED FFT
NUFFT algorithms come in many different names: Non-Uniform FFT (NUFFT/NFFT), Generalized FFT (GFFT), Non-uniform DFT (NDFT), Non-Equispaced Result FFT (NER), Non-Equispaced Data FFT (NED), Unequally spaced FFT (USFFT). There are many different variants of NUFFT algorithms; some use least-squares, some use iterative solutions and some use Fourier expansion (Shannon's sampling theorem) to re-map the non-uniform data points to an equispaced grid, which is amenable to fast algorithms. Below, the underlying theory will be presented based on the sampling theorem. Further details are found in the article “Non-Equispaced Fast Fourier Transforms with Applications to Tomography”, by Karsten Fourmont, in Journal of Fourier Analysis and Applications. Volume 9, Issue 5, 2003, pages 431-450.
The Fourier transform of non-equispaced data, zk=z(xk), where xk∈[−N/2, N/2], can be evaluated at equispaced grid points l=−N/2, . . . , (N/2)−1. The equation is a forward NED (Non-Equispaced Data) function that can be written as:
The goal is now to express every single part of the summation above as a sum, i.e.
using a suitable weight function τ(xk, m).
As will be shown, this equation can be adapted to use standard FFT algorithm implementations. Consider Shannon's theorem for a band limited function ƒ with bandwidth <π:
If ƒ is chosen to represent a single function in a Fourier expansion, the above equation becomes:
The exponential on the right-hand side resembles a component of an FFT function. However, the sinc function may not decay fast enough to allow for rapid computation. To achieve rapid computation, we may give up the requirement of finding a band-limited function, and instead use an essentially band-limited function. In this way, a function may be found that has a rapid decay while also providing a rapid decay in its Fourier transform. For example, the following interpolating function may be used:
To get better resolution in the frequency domain, oversampling may be introduced, given by a factor c. The oversampling factor can be as low as 3/2, but for the examples herein c=2. We also require that φ(ω) has compact support and is continuously differentiable in [−α, α] and is non-zero in [−π/c, π/c]. The Fourier transform of φ(ω) is preferably as small as possible outside of [−M, M] since this will make the summation fast and exact.
The best solution for φ(ω) is the prolate spheroidal wave functions. These functions are, however, difficult to use and instead Kaiser-Bessel window functions may be used as approximate solution:
The first function, {circumflex over (φ)}(x), is taken to be zero when x2≧M2·I0 is the modified Bessel function of the first kind. By choosing ω=2π·l/(c·N) and x=c·xk, we get efficient equations for the NED algorithm.
It should be noted that inverse NED algorithms perform all steps equal to the forward NED algorithm but uses an ordinary IFFT instead.
8.1 1D NED Algorithm, Modified with Adjustment Factors
Below, we give a practical implementation for a NED algorithm for one-dimensional transforms. The NED equation is given by:
for l=−N/2, . . . , N/2−1. The NED equation includes an adjustment factor ρk, which compensates for the varying density of sampling points. The adjustment factor will be discussed in more detail below.
The above NED equation may be modified to utilize regular FFT implementations. If it is assumed that {circumflex over (φ)}, φ, and zk are zero outside their area of definition, it is now possible to convert the NED equation to:
where we have introduced the following notations:
To make the algorithm as fast as possible, most of the coefficients above may be pre-computed.
The equation can be rewritten, by introducing a new index q=μk+m:
for q=−cN/2, . . . , cN/2−1, and where
Non-zero terms of uq occur only for |q+ctN−μk|≦M, which means that each uq is the sum of all non-equispaced zk, multiplied with their respective adjustment factor, within distance ≦M; with distance computed modulo cN.
It should be clear from the above rewritten equation that an ordinary FFT may be used for solving the NED problem.
It should be noted that μk is the nearest equispaced sampling point in the FFT input. The input for the NED FFT comprises the projection values of the non-equispaced sampling points zk, the sampling points xk, the oversampling factor c, with a total length c·N suitable for FFT, the interpolation length M, and the coefficients φk, μk and of {circumflex over (φ)}k,m which may be pre-computed.
8.2 2D NED Algorithm, Modified with Adjustment Factors
The above 1D NED algorithm is easily extendable to more dimensions. In two dimensions, the NED problem may be formulated as
for l,n=−N/2, . . . , N/2−1
It should be noted that the (xk, yk) values are not necessarily a tensor product of two coordinates and therefore cannot be written, in the general form, as two indices, i.e. one for each dimension. The weighing factor is, on the other hand, chosen as a tensor product, φ(x, y)=φ(y)·φ(y). To make the 2D NED algorithm as fast as possible, most coefficients may be pre-computed:
The execution of the 2D NED algorithm thus comprises the steps:
It should be noted that different M may be used for the two different directions, this is also true for c and N.
8.3 Adjustment Factors in NED Algorithms
The need for using adjustment factors in the NED algorithms above becomes apparent when the density of sampling points xk is very unevenly distributed. It can be noted that uq is defined as the sum of the neighboring xk (within distance M) multiplied by the {circumflex over (φ)} function. For the sake of argument, let {circumflex over (φ)}=1. Then, the sum will depend on the number of sampling points that contribute to a particular uq value. Consider, for example, if the function
zk=1,℄k
is sampled twice for u0 and once for u1. This would make the resulting uq values differ when they in fact should be identical. This serious artifact is overcome by scaling the {circumflex over (φ)}km coefficients by the adjustment factor ρk. As explained in section 7.6, the adjustment factor ρt may be any one of ρkλ, ρkN, ρkVA or ρkDA. As also explained in section 7.6, the adjustment factor may be computed as the product of interpolation basis functions, for instance bkD1 or bkV0, for a given sampling point with the two-dimensional extent of the interpolating function {circumflex over (φ)}. This would render a set of adjustment factors ρk,m{circumflex over (φ)}D1 and ρk,m{circumflex over (φ)}V0 respectively. These adjustment factors are also extendible into two dimensions as ρk,m
8.4 Notes on FFT Implementations
In this chapter, the Fourier transform is defined as:
Many efficient implementations of the FFT algorithm are defined as:
It is possible to utilize existing FFT implementations by swapping the first and last parts of the data before and after the FFT. Another way is to modulate the input by the sequence 1, −1, 1, −1, . . . and then modulate the output by the same sequence. The sequence is actually the Nyquist frequency e−πi·k.
It is also possible to utilize special FFT implementations that only handle real input for the Fourier transform and real output for the inverse Fourier transform.
It is also possible that there is a need to take special care with the multiplication constants in the Fourier transforms of the particular FFT implementation, i.e. whether or not multiplication of 1/√{square root over (2π)} is done symmetrically or is absent.
9. Concluding Remarks
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.
For example, although the detection lines have been represented as sampling points in the φ-s-plane, it should be realized any other parameter representation of the detection lines can be used. For example, the detection lines can be represented in a β-α-plane, as is used in a fan geometry which is standard geometry widely used in conventional tomography e.g. in the medical field. The fan geometry is exemplified in
It is also to be understood that the reconstructed attenuation field may be subjected to post-processing before the touch data extraction (step 26 in
Furthermore, the reconstructed attenuation field need not represent the distribution of attenuation coefficient values within the touch surface, but could instead represent the distribution of energy, relative transmission, or any other relevant entity derivable by processing of projection values given by the output signal of the sensors. Thus, the projection values (“data samples”) may represent measured energy, differential energy (e.g. given by a measured energy value subtracted by a background energy value for each detection line), relative attenuation, relative transmission, a logarithmic attenuation, etc. The person skilled in the art realizes that there are other ways of generating projection values based on the output signal. For example, each individual projection signal included in the output signal may be subjected to a high-pass filtering in the time domain, whereby the thus-filtered projection signals represent background-compensated energy and can be sampled for generation of projection values.
Furthermore, all the above embodiments, examples, variants and alternatives given with respect to an FTIR system are equally applicable to a touch-sensitive apparatus that operates by transmission of other energy than light. In one example, the touch surface may be implemented as an electrically conductive panel, the emitters and sensors may be electrodes that couple electric currents into and out of the panel, and the output signal may be indicative of the resistance/impedance of the panel on the individual detection lines. In another example, the touch surface may include a material acting as a dielectric, the emitters and sensors may be electrodes, and the output signal may be indicative of the capacitance of the panel on the individual detection lines. In yet another example, the touch surface may include a material acting as a vibration conducting medium, the emitters may be vibration generators (e.g. acoustic or piezoelectric transducers), and the sensors may be vibration sensors (e.g. acoustic or piezoelectric sensors).
Number | Date | Country | Kind |
---|---|---|---|
1051061 | Oct 2010 | SE | national |
This application is the national phase under 35 U.S.C. §371 of PCT International Application No. PCT/SE2011/051201 which has an International filing date of Oct. 7, 2011, which claims priority to Swedish patent application number 1051061-8 filed Oct. 11, 2010, and to U.S. Provisional patent application No. 61/391,764 filed Oct. 11, 2010. The present application claims the benefit of Swedish patent application No. 1051061-8, filed on Oct. 11, 2010, and U.S. provisional application No. 61/391,764, filed on Oct. 11, 2010, both of which are incorporated herein by reference.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/SE2011/051201 | 10/7/2011 | WO | 00 | 6/4/2013 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2012/050510 | 4/19/2012 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
4891829 | Deckman | Jan 1990 | A |
5345490 | Finnigan et al. | Sep 1994 | A |
6972753 | Kimura et al. | Dec 2005 | B1 |
7065234 | Du et al. | Jun 2006 | B2 |
7432893 | Ma et al. | Oct 2008 | B2 |
20040252091 | Ma et al. | Dec 2004 | A1 |
20050143923 | Keers | Jun 2005 | A1 |
20060114237 | Crockett et al. | Jun 2006 | A1 |
20070014486 | Schiwietz | Jan 2007 | A1 |
20070075648 | Blythe et al. | Apr 2007 | A1 |
20080130979 | Ren et al. | Jun 2008 | A1 |
20090153519 | Suarez et al. | Jun 2009 | A1 |
20100039405 | Chen et al. | Feb 2010 | A1 |
20110069807 | Dennerlein | Mar 2011 | A1 |
Number | Date | Country |
---|---|---|
WO-2007092316 | Aug 2007 | WO |
WO 2007112742 | Oct 2007 | WO |
WO-2008150325 | Dec 2008 | WO |
WO 2009048365 | Apr 2009 | WO |
WO 2010006882 | Jan 2010 | WO |
WO 2010006883 | Jan 2010 | WO |
WO 2010006884 | Jan 2010 | WO |
WO 2010006885 | Jan 2010 | WO |
WO 2010006886 | Jan 2010 | WO |
WO 2010064983 | Jun 2010 | WO |
WO 2011049513 | Apr 2011 | WO |
WO 2011139213 | Nov 2011 | WO |
Entry |
---|
Kak et al, “Principles of Computerized Tomographic Imaging”, (1999), The Institute of Electrical Engineers, Inc. |
Natterer, “The Mathematics of Computerized Tomography”, Classics in Applied Mathematics; 32, 2001, pp. 1-222. |
Karsten Fourmont, Non-Equispaced Fast Fourier Transforms with Applications to Tomography, The Journal of Fourier Analysis and Applications, vol. 9, Issue 5, 2003, pp. 431-450. |
Frank Natterer, et al., “Mathematical Methods in Image Reconstruction, Chapter 5: Reconstruction Algorithms”, Jan. 1, 2001, Siam Books, Philadelphia, USA, XP002715809, ISBN: 978-0-89871-622-1 pp. 81-137. |
Zienkiewicz, et al., “Finite Element Method—Its Basis and Fundamentals (6th Edition), Chapter 8: Automatic Mesh Generation”, Dec. 31, 2005, Elsevier, XP002718826, ISBN: 978-0-7506-6320-5, pp. 264-328. |
Extended European Search Report dated Jan. 28, 2014, issued in European Patent Application No. 11832837.6. |
Number | Date | Country | |
---|---|---|---|
20130249833 A1 | Sep 2013 | US |
Number | Date | Country | |
---|---|---|---|
61391764 | Oct 2010 | US |