Sign up to receive free email alerts when patent applications with chosen keywords are publishedSIGN UP

Abstract:

An optical control system is described, which employs a series of optical
emitters and detectors arranged about a touch area. The emitters are
driven by a series of orthogonal functions, and the system is operable to
correlate the signals received at the detectors with the modulation
functions to determine the amount of energy received by the detectors
from each of the emitters. This system means that all or many emitters
can be modulated simultaneously, so the scanning process is accelerated.
Also, the energy estimates arrived at by correlation with the modulating
functions are largely unaffected by external interference signals as well
by each other. An additional benefit of the present invention is that the
correlation processing makes use of many detector samples and tends to
yield results which have higher resolution than the sample values
themselves, due to the averaging of noise over the sample set.

Claims:

1. An optical touch detection system comprising: a touch sensitive area
for which touch events are to be detected; emitters and detectors
arranged around a periphery of the touch sensitive area, the emitters
producing optical beams received by the detectors, the touch events
disturbing the optical beams; and an optical control system coupled,
directly or indirectly, to the emitters and detectors, the optical
control system configured to: control activation of a plurality of the
emitters and detectors simultaneously according to a modulation scheme in
which the optical beam produced by each emitter is modulated with a
different orthogonal function; and correlate output from the detectors
regarding which optical beams have been disturbed by the touch events
with the modulation functions to determine the touch events.

2. The optical touch detection system of claim 1, wherein each orthogonal
function is orthogonal with respect to every other orthogonal function.

3. The optical touch detection system of claim 1, wherein the different
orthogonal functions are differentiated using amplitude modulation.

4. The optical touch detection system of claim 1, wherein at least one of
said detectors is positioned to receive optical energy from more than one
of said optical emitters.

5. The optical touch detection system of claim 1, wherein disturbing an
optical beam comprises changing an amount of energy received at least one
detector relative to an amount of energy transmitted from at least
detector.

6. The optical touch detection system of claim 1, wherein each of the
modulation functions keeps at least a minimum number of emitters
simultaneously active to reduce a current consumption in the optical
touch detection system.

7. The optical touch detection system of claim 1, wherein each of the
modulation functions keeps less than a maximum number of emitters
simultaneously active to reduce a dynamic range of light levels received
at a detector.

8. The optical touch detection system of claim 1, wherein the modulation
functions are non-periodic functions.

9. The optical touch detection system of claim 1, wherein the optical
control system comprises a memory configured to store the modulation
functions, and a drive circuitry configured to access the modulation
functions and to control the operation of the emitters and detectors
based on the modulation functions.

10. The optical touch detection system of claim 1, wherein the optical
control system comprises a variable timing mechanism configured to vary a
modulation function with a non-periodic frequency.

11. The optical touch detection system of claim 10, wherein the variable
timing mechanism is further configured to vary sampling of detector
output according to the non-periodic frequency.

12. The optical touch detection system of claim 1 comprising a noise
detection mechanism configured to sample detector output before and after
emitter activation to determine a noise level before and after
activation.

13. The optical touch detection system of claim 12 wherein the noise
detection mechanism is further configured to interpolate a noise level
during emitter activation based on the noise level before and after
activation.

14. The optical touch detection system of claim 13 wherein the noise
detection mechanism is further configured determine energy incident on
the detectors based on detector output sampled during emitted activation
and based on the noise level during emitter activation.

15. The optical touch detection system of claim 13 wherein the noise
level during emitter activation is used to determine an emitter power
level.

16. A method for determining simultaneous touch events on a touch
sensitive area, the touch sensitive area having emitters and detectors
arranged around its periphery, the emitters producing optical beams
received by the detectors, the touch events disturbing the optical beams,
the method comprising: activating a plurality of the emitters and
detectors simultaneously according to a modulation scheme in which the
optical beam produced by each emitter is modulated with a different
orthogonal function; and determining the touch events based on which
beams have been disturbed by the touch events and based on the modulation
functions.

Description:

CROSS REFERENCE TO RELATED APPLICATIONS

[0001] This application is a continuation of co-pending U.S. application
Ser. No. 13/059,772, filed Feb. 18, 2011, which is a national stage entry
of PCT/EP2009/005739 filed Aug. 7, 2009, which claims priority to Irish
Patent Application S2008/0651 filed on Aug. 7, 2008. The subject matter
of all of the foregoing is incorporated herein by reference in their
entirety.

BACKGROUND

[0002] 1. Field of the Invention

[0003] This invention relates to optical control systems and devices, for
example, touch sensitive displays and touch sensitive overlays for
displays.

[0004] 2. Description of the Related Art

[0005] In a traditional optical touch overlay, optical emitters and
detectors are arranged along opposing edges of a rectangular touch
sensitive area. An orthogonal grid is formed by the optical beams between
the emitters and the corresponding detectors over the touch sensitive
area. The beams are scanned in sequence to determine if the path loss
indicates that there is an object (such as a finger or a stylus)
interrupting or modulating any of the beams.

[0006] The touch sensitive area may be an optically transparent planar
waveguide through which the beams pass by total internal reflection, or a
surface over which the beams pass in close proximity to the surface and
substantially parallel to the surface.

[0007] In the case of a waveguide, the material used can be a transparent
sheet of plastic or glass. An object such as a finger or a stylus coming
into contact with the transparent waveguide will have a higher refractive
index than the air normally surrounding the waveguide. The increase in
refractive index will disrupt total internal reflection of light energy
at the interface between the waveguide and the touching object, causing
increased light leakage from the waveguide over the area of contact. This
leakage attenuates any beams passing through the position of the touch
event. Correspondingly, the removal of the touching object will cause the
attenuation of the passing beams to be reduced as will be detectable at
the output of the associated detectors.

[0008] In the present specification the term "light" includes IR and UV
radiation, and the term "optical" is to be interpreted accordingly.

[0009] When the touch sensitive area is a surface over which the beams
pass, an object which is not optically transparent at the wavelength in
use will attenuate or interrupt the beams passing through the object
location.

[0010] This is illustrated in FIG. 1, where an opaque object 10 at
position T attenuates a beam 12 between an emitter 14 on the left side of
a touch sensitive area 16 and a detector 18 on the right side of the
touch area 16. The opaque object 10 also interrupts a beam 20 between
orthogonal axis emitters 22 and the corresponding detectors 24.

[0011] Scanning logic circuitry associated with the emitters and detectors
can determine the intersection point of one or more interrupted beam
paths and deduce the position of the interrupting object. The object must
be large enough to detectably attenuate at least one beam in one axis and
at least one beam in the orthogonal axis.

[0012] Such a panel traversed by optical paths can, in addition to the
detection of touch events, detect the operation of mechanical control
devices arranged along the optical paths. For example, a mechanical
button control may be inserted along an optical path whereby the button
control presents a minimal attenuation to optical energy when the button
actuator is in its resting position, but introduces significant optical
attenuation when the button actuator is pressed. This may be accomplished
by introducing an opaque vane into the optical path when the button is
pressed. Various mechanical designs for control devices may be used to
modulate the optical energy passing along the optical paths such that the
status of such control devices can be detected by processing the signals
from the optical detectors.

[0013] The use of amplitude modulation of optical emitter outputs in
optical touch and related optical control systems is well known.
Typically, a specific frequency of modulation is chosen which can readily
be separated from unwanted signals at the detector output by narrowband
filtering. This modulating signal can be applied to an emitter by using
it to modulate the current flowing through the emitter, which is usually
be a current controlled device such as an LED.

[0014] However, optical emitter and detector response times (often tens of
microseconds for detectors) and the need to be distant in frequency from
the harmonics of mains-powered light sources limit the range of usable
frequencies in low cost applications, so most devices using airborne
optical transmission have optical emitters which are amplitude modulated
by a fixed frequency in the 30 kHz to 80 kHz range.

[0015] Therefore, any device using optical detectors may receive external
interference originating from other devices with emitters radiating light
of a similar wavelength which is modulated by a similar range of
frequencies.

[0016] Optical scanning devices normally activate emitters (modulated or
unmodulated) in a sequential manner, so that the signal at one or more
active detectors can be associated with a known source emitter. This
prolongs the scanning process, particularly if modulation needs to be
detected for each emitter signal to be determined reliably.

[0017] The invention provides an optical control system comprising:

[0018] a plurality of optical emitters and a plurality of optical
detectors defining therebetween an area of optical paths whereby the
transmission of energy between an emitter and a detector may be modulated
by an optical interaction occurring in the vicinity of said area, wherein
at least one of said detectors is positioned to receive optical energy
from more than one of said optical emitters;

[0019] drive circuitry for driving a plurality of said optical emitters
simultaneously according to a modulation scheme in which each emitter is
modulated with a different modulation function, said functions being
orthogonal relative to one another;

[0020] correlation means associated with said at least one detector for
receiving an output therefrom and correlating said output with at least
those modulation functions driving those emitters which said at least one
detector is positioned to receive optical energy from, to thereby
determine the amount of energy incident on said at least one detector
from each of said emitters.

[0021] In the present invention, functions which are orthogonal to one
another are used to amplitude modulate the emitter devices, with one
orthogonal function allocated to each emitter. Preferably, each
modulating function has a broad frequency spectrum and a strongly
non-periodic nature in the time domain so that it will not correlate well
with interference signals, which are typically periodic.

[0022] In the present specification the term "orthogonal" refers to any
two chosen functions from a family of "orthogonal" functions having zero
cross-correlation.

[0023] Preferably, each modulating function has just two values over time
so that digital control of the emitter may be used for simplification of
the associated circuitry and processing. The depth modulation applied to
the emitter may be any value from greater than 0% up to 100%.

[0024] There exist families of complex functions which are orthogonal to
each other. If each emitter in a group of emitters is allocated a
function from an orthogonal family of functions, the emitters may be
simultaneously modulated by their respective functions but the energy
from each emitter arriving at a given detector will still be measurable
separately. By correlating the output from a detector which receives the
composite energy from at least one emitter with each of the modulation
functions in use, the resulting correlation values are accurate estimates
of the energy received from the emitter associated with each modulation
function.

BRIEF DESCRIPTION OF THE DRAWINGS

[0025] The invention will now be further described by way of example only
with reference to the accompanying drawings, in which:

[0026]FIG. 1 (previously described) is a schematic illustration of a
known optical touch detection system;

[0027] FIG. 2 is a block diagram of an optical control system;

[0028] FIG. 3 is a diagram which illustrates the wave forms associated
with a family of orthogonal functions such as may be used to drive the
emitters of the system of FIG. 2;

[0029]FIG. 4 is a diagram which illustrates strong and weak correlations
between detector outputs and an interference source;

[0030] FIG. 5 is a table of 16-bit words for use in driving a set of 16
emitters with reduced power requirements;

[0031] FIG. 6A is a flowchart of operation of a method for use in
interpolating a noise value during operation of the system of FIG. 2;

[0032] FIG. 6B is a waveform diagram illustrating how the method of FIG.
6A can be applied in practice; and

[0033] FIG. 7 is a flowchart of a method for selecting a set of modulation
functions or codes.

[0034] FIG. 2 shows the hardware sections of an optical control system.
The microprocessor 26 writes emitter modulation patterns to the emitter
register 28 under software control. The sample values for at least one of
the emitters 30 are written at the start of every sample interval. The
beams 32 travel across the touch sensitive area 34 and, if not
interrupted by an opaque object, arrive at a detector 36. The analogue
multiplexer 38 selects the analogue output of one detector 36 as directed
by the value in register 40 and routes it to the analogue-to-digital
converter 42 for conversion into numeric form for processing by the
microprocessor 26. The analogue multiplexer 38 may select the outputs of
more than one detector during a single sample interval.

[0035] The touch sensitive area 34 can be an optically transparent planar
waveguide through which the beams pass by total internal reflection, or a
surface over which the beams pass in close proximity to the surface and
substantially parallel to the surface, to give two examples. The emitters
and detectors are shown as two simple arrays on opposite edges, but in
practice, emitters and detectors may be arranged around the entire
perimeter of the surface (e.g. all four edges of a rectangular surface)
to maximise the resolution of, the touch sensitive system.

[0036] The current drawn by the emitters 30 when they are radiating will
usually be substantial and it is advantageous to minimize the time for
which the emitters 30 are active. Therefore, it may be efficient in a
device with current limitations for the microprocessor 26 to update the
emitter register 28 at the start of every sample period and to control
the analogue multiplexer 38 by means of register 40 such that the signals
from more than one detector 36 are routed to the analogue-to-digital
converter 42 in rapid succession and the resulting sample values written
to RAM 44 for processing later. Before the first analogue-to-digital
conversion can be performed by the converter 42 in a given sample
interval, there may need to be a pause corresponding to at least the
response times of the emitters 30 and the detectors 36. When the sample
and store process is complete for all of the detectors 36, the sample
period can end and the next sample period can commence with the updating
of the emitter register 28. At least one digital sample of the output of
the detectors 36 is required for every update of the emitter register 28.
When there has been a sample interval with an emitter update and sample
acquisition for each bit of the modulating functions, the emitters 30 can
all be rendered inactive by the controlling software and the sample
values in the RAM 44 can be correlated with the modulating functions.

[0037] The use or a family of orthogonal modulation functions in the
present invention means that all or many emitters can be modulated
simultaneously, so the scanning process is accelerated. Also, the energy
estimates arrived at by correlation with the modulating functions are
largely unaffected by external interference signals as well by each
other. An additional benefit of the present invention is that the
correlation processing makes use of many detector samples and tends to
yield results which have higher resolution than the sample values
themselves, due to the averaging of noise over the sample set.

[0038] A given family of orthogonal functions will have a minimum period
over which the member functions of that family are fully orthogonal. That
minimum period will typically be a number of samples which is a power of
two. There will be more functions in an orthogonal family when the number
of samples is increased (i.e. a longer code length is used), permitting
more emitters to be simultaneously active. However, long codes will also
incur a longer scanning time for a given modulation rate. Ideally, the
shortest code length which provides an orthogonal modulation function for
each emitter in a group (where a group might be all of the emitters in a
system or might be the emitters relating to an X or Y axis) would be
used.

[0039] In selecting modulation functions from a family of orthogonal
functions, some may be more desirable than others. For example, the
families of Walsh functions are families of mainly complex orthogonal
functions where each has only two values over time, but some members are
purely periodic i.e. they are square waves with a constant period. The
non-periodic functions are to be preferred since the functions used
preferably have the broad spectrum mentioned above. However, this
constraint reduces the number of family members which can be used for a
given code length.

[0040] FIG. 3 shows an example family of orthogonal functions with a code
length of 16 samples. The cross correlation of any of these functions
with any other function in the family is zero over the code length.

[0041] Function numbers 3, 4, 7, 8, 9, 10, 11 and 12 have been marked with
an asterisk to indicate that these are preferable to the other family
members because they are non-periodic. (Even so, functions 4 and 12 are
still not ideal, as they have only one phase change and are therefore
substantially periodic.)

[0042] In an additional aspect of the invention, the emitter on and off
periods are varied in a complex manner. This permits the use of periodic
modulation functions. The sampling of the detectors must be varied
similarly so that the sample values presented to the correlation
processing will be essentially unaffected by the timing variations. The
timing variations can be derived from a complex function such as a
pseudorandom sequence and the variations are applied globally so that all
emitters change state at the same time and all detectors are sampled at
approximately the same time (the use of a multiplexed analogue-to-digital
converter means that they cannot be sampled truly simultaneously)

[0043] An external interference signal is likely to be modulated in a
periodic manner and FIG. 4 shows that it is possible that it will
correlate with a periodic emitter modulation function of similar
frequency and phase. Function 13 in FIG. 4 is the modulation function 13
from the family of functions shown in FIG. 3. Function 13 of the example
family is periodic and the transition between samples is marked with an
arrow. It will be evident from the diagram that the external periodic
interference signal shown is of similar frequency and phase to function
13 and would correlate strongly with function 13.

[0044] In accordance with this additional aspect of the present invention,
function 13' in FIG. 4 has the same sequence of values as function 13,
but the timing between the application of the function values to the
associated emitter is varied and inconsistent. The transition between
samples is again marked with an arrow. The detector sampling is varied in
the same way so the correlation with the emitter modulation functions
will be unchanged while the correlation with external periodic
interference signals, which are similar in frequency to the nominal
frequency of the modulating function, will be significantly reduced.

[0045] This timing variation can be applied even if only non-periodic
emitter modulation functions are being used, so that the spectral
components of the emitter modulation function are spread in frequency
around the harmonics of the nominal modulation frequency. This will
increase the rejection of typical interference signals, particularly when
short code lengths are used.

[0046] In another aspect of the invention, members of a family of
orthogonal functions may be chosen such that the number of emitters
active at any stage during the length of the codes is limited to a
maximum number. Without applying this criterion, many combinations of
orthogonal functions will result in at least one step in the code length
where all or all but one of the emitters are active.

[0047] If the code length is large, the number of available orthogonal
functions may be large--tens of thousands for a 32-bit code length--and
iterative methods can be used to select functions with the minimum number
of simultaneous `1` or `0` values (whichever value corresponds to an
emitter being activated).

[0048] FIG. 5 lists a set of values (in decimal and binary) for modulating
16 emitters with every bit in the binary representation word assigned to
an emitter and with modulating functions of 32 bits in length. A given
bit position in each of the 32 words represents the values of one
orthogonal function. The set of values listed is suitable for driving
emitters where an emitter is activated by a `1` value in the
corresponding bit of each 16-bit word. None of the functions listed are
periodic.

[0049] Thus, for each emitter, the sequence of values used to drive the
emitter through a series of 32 "on" or "off" states is found by reading
down the columns. Each row is a 16 bit word used to drive the 16
different emitters to the on or off state represented by a different
position. So, for example, the first word (decimal 19418=binary
0100101111011010) is written to the register at the start of the first
sample interval and determines that each of the first, third, fourth,
sixth, eleventh, fourteenth and sixteenth emitters is driven to an "off"
state, while the remaining emitters are driven to the "on" state during
this first sample interval. The emitter states for the second sample
interval are determined by the second row (decimal 40557=binary
1001111001101101), switching the first emitter on, the second emitter
off, leaving the third emitter on, and so on.

[0050] The functions used to generate the list shown in FIG. 5 have been
iteratively selected to minimise the number of emitters active at any
time. In the case of the functions listed, there is no word which would
activate more than 11 emitters at once. An advantage of this aspect of
the invention is that it reduces the dynamic range of the light levels
received at a detector. This can be translated into an improved
signal-to-noise ratio in the signal acquired by the A/D converter used to
digitize analogue detector outputs. An additional advantage of using
functions selected in this way is reduced peak current demand caused by
the relatively high operating current drawn by the emitters and reduced
variation in current demand (power line noise) over the code length.

[0051] In some applications, it may also be advantageous to select
functions where the minimum number of emitters that would be
simultaneously active is large, so that the variation in light level at a
detector and the variation in current consumption is kept to a minimal
value. With the example functions shown in FIG. 5, there are never fewer
than 3 emitters active at a time, so the range of light levels at the
detectors will vary between the output of 3 emitters and the output 11
emitters, assuming none of the beams are interrupted. This may also be
advantageous in other circumstances, such as where the detectors are
phototransistors, a minimum illumination level biases the
phototransistors into a relatively linear part of their characteristic
curve.

[0052] In yet another aspect of the present invention, more than the
requisite single sample of a detector output is acquired during a sample
interval. At least one of the additional samples taken is acquired with
the emitters inactive.

[0053] The taking of additional samples when the emitters are inactive is
well known for the purposes of ambient light compensation. However, it is
also advantageous to take such samples with a precise timing relationship
to the modulation of the emitters to minimize the effects of rapidly
modulated interference as well as ambient light. This can be accomplished
by acquiring samples of the detector output before and after the emitters
are active for a given step of their emitter functions.

[0054] FIG. 6a shows an example of a sampling sequence in accordance with
this additional aspect of the present invention. The timescale shown
covers one bit period in the length of a code. First, the emitters are
forced off and a sample is taken when the detectors have settled at the
resulting light level. The sample value acquired will be determined by
the amount of external light which is effectively unmodulated, such as
sunlight, and the amount of modulated light, such as incandescent light,
which is incident upon the given detector. A second sample is taken
during the emitter activation period. It is during this time that the
various functions allocated to each emitter specify whether the
corresponding emitter should be activated or not for this bit period.
FIG. 6b shows an example of a bit period where at least one of the
emitter functions dictates that the associated emitter is to be
activated. A third sample is taken after the emitter has been turned off
after the emitter activation period.

[0055] If the `before` and `after` samples are acquired with a known
timing relative to the `during` sample (when the emitters are emitting or
not as determined by the current phase of their corresponding modulation
functions), an intermediate estimate of the `during` sample with the
emitters off can be interpolated. If the time between the `before` and
`during` samples and the `during` and `after` samples is the same, the
interpolation is simply the sum of the `before` and `after` sample values
divided by 2. This interpolated value can be subtracted from the actual
sample acquired during the emitter activation time to compensate for
ambient light and interference of low frequency relative to the sample
rate.

[0056] Preferably, the interval between all three samples is short
relative to the modulation rate of typical interferers.

[0057] A useful value can be derived from the `before` and `after` samples
when the difference between them is calculated. This gives an approximate
measure of the noise and interference present at frequencies which are
high relative to the sampling rate. This noise estimate can
advantageously be used to generate alarms or inhibit the generation of
scan data if the amount of noise and interference is excessive (meaning
the scan data is of dubious quality).

[0058] By comparing the noise estimate with the results of the correlation
process, the signal-to-noise ratio of the signal at a detector can be
estimated for each emitter. This can be used to control the emitter power
as described in our co-pending specification (PCT application claiming
priority from Irish Patent Application S2008/0653).

[0059] When sampling rapidly and with fixed timing, the `before` sample of
one function bit period may be the `after` sample of the previous bit
period.

[0060] FIG. 7 is a flowchart showing one way of generating a set of
modulation functions. A set of aperiodic sequences of the required length
is generated and tested for mutual orthogonality. The number of ones
and/or zeroes in each position is checked across the set of sequences. If
a threshold has been set (e.g. no more than 11 ones in the same position
in each of 16 sequences) then a comparison is made with this threshold,
and additional candidate sequences are substituted until the threshold is
met. If no threshold has been set, the process continues by discarding
and replacing sequences until an optimal solution is reached.

[0061] Alternatively, one could generate families of mutually orthogonal
sequences and, within each such family, select the required number of
functions (e.g. 16 functions to drive a group of 16 emitters) based on
the optimal solution in terms of highest minimum number of simultaneous
"off" states and/or lowest maximum number of simultaneous "on" states.
This could be repeated for several such families of mutually orthogonal
functions up to and including exhaustively testing all such sequences of
length N to find the optimal solution.

[0062] The invention is not limited to the embodiment described herein but
can be amended or modified without departing from the scope of the
present invention.