The present invention relates to an interactive input system and to a bezel therefor.
Interactive input systems that allow users to inject input (e.g. digital ink, mouse events etc.) into an application program using an active pointer (eg. a pointer that emits light, sound or other signal), a passive pointer (eg. a finger, cylinder or other object) or other suitable input device such as for example, a mouse or trackball, are well known. These interactive input systems include but are not limited to: touch systems comprising touch panels employing analog resistive or machine vision technology to register pointer input such as those disclosed in U.S. Pat. Nos. 5,448,263; 6,141,000; 6,337,681; 6,747,636; 6,803,906; 7,232,986; 7,236,162; and 7,274,356 and in U.S. Patent Application Publication No. 2004/0179001 assigned to SMART Technologies ULC of Calgary, Alberta, Canada, assignee of the subject application, the contents of which are incorporated by reference; touch systems comprising touch panels employing electromagnetic, capacitive, acoustic or other technologies to register pointer input; tablet personal computers (PCs); laptop PCs; personal digital assistants (PDAs); and other similar devices.
Above-incorporated U.S. Pat. No. 6,803,906 to Morrison et al. discloses a touch system that employs machine vision to detect pointer interaction with a touch surface on which a computer-generated image is presented. A rectangular bezel or frame surrounds the touch surface and supports digital cameras at its corners. The digital cameras have overlapping fields of view that encompass and look generally across the touch surface. The digital cameras acquire images looking generally across the touch surface from different vantages and generate image data. Image data acquired by the digital cameras is processed by on-board digital signal processors to determine if a pointer exists in the captured image data. When it is determined that a pointer exists in the captured image data, the digital signal processors convey pointer characteristic data to a master controller, which in turn processes the pointer characteristic data to determine the location of the pointer in (x,y) coordinates relative to the touch surface using triangulation. The pointer coordinates are conveyed to a computer executing one or more application programs. The computer uses the pointer coordinates to update the computer-generated image that is presented on the touch surface. Pointer contacts on the touch surface can therefore be recorded as writing or drawing or used to control execution of application programs executed by the computer.
U.S. Patent Application Publication No. 2004/0179001 to Morrison et al. discloses a touch system and method that differentiates between passive pointers used to contact a touch surface so that pointer position data generated in response to a pointer contact with the touch surface can be processed in accordance with the type of pointer used to contact the touch surface. The touch system comprises a touch surface to be contacted by a passive pointer and at least one imaging device having a field of view looking generally along the touch surface. At least one processor communicates with the at least one imaging device and analyzes images acquired by the at least one imaging device to determine the type of pointer used to contact the touch surface and the location on the touch surface where pointer contact is made. The determined type of pointer and the location on the touch surface where the pointer contact is made are used by a computer to control execution of an application program executed by the computer.
In order to determine the type of pointer used to contact the touch surface, in one embodiment a curve of growth method is employed to differentiate between different pointers. During this method, a horizontal intensity profile (HIP) is formed by calculating a sum along each row of pixels in each acquired image thereby to produce a one-dimensional profile having a number of points equal to the row dimension of the acquired image. A curve of growth is then generated from the HIP by forming the cumulative sum from the HIP.
U.S. Pat. No. 7,202,860 to Ogawa discloses a camera-based coordinate input device allowing coordinate input using a pointer or finger. The coordinate input device comprises a pair of cameras positioned in the upper left and upper right corners of a display screen. The field of view of each camera extends to a diagonally opposite corner of the display screen in parallel with the display screen. Infrared emitting diodes are arranged close to the imaging lens of each camera and illuminate the surrounding area of the display screen. An outline frame is provided on three sides of the display screen. A narrow-width retro-reflection tape is arranged near the display screen on the outline frame. A non-reflective reflective black tape is attached to the outline frame along and in contact with the retro-reflection tape. The retro-reflection tape reflects the light from the infrared emitting diodes allowing the reflected light to be picked up as a strong white signal. When a user's finger is placed proximate to the display screen, the finger appears as a shadow over the bright image of the retro-reflection tape.
The video signals from the two cameras are fed to a control circuit, which detects the border between the white image of the retro-reflection tape and the outline frame. A horizontal line of pixels from the white image close to the border is selected. The horizontal line of pixels contains information related to a location where the user's finger is in contact with the display screen. The control circuit determines the coordinates of the touch position, and the coordinate value is then sent to a computer.
When a pen having a retro-reflective tip touches the display screen, the light reflected therefrom is strong enough to be registered as a white signal. The resulting image is not discriminated from the image of the retro-reflection tape. However, the resulting image is easily discriminated from the image of the black tape. In this case, a line of pixels from the black image close to the border of the outline frame is selected. Since the signal of the line of pixels contains information relating to the location where the pen is in contact with the display screen. The control circuit determines the coordinate value of the touch position of the pen and the coordinate value is then sent to the computer.
In the Ogawa coordinate input device, resolution issues can arise if a finger that is illuminated by ambient light and/or by other source light is brought into proximity of the cameras as the finger may appear as bright as or brighter than the retro-reflection tape in images captured by the cameras. In such cases, separating the pointer from the retro-reflection tape in the captured images can provide to be difficult. As will be appreciated, improvements in interactive input systems are sought.
It is therefore an object of the present invention at least to provide a novel interactive input system and a novel bezel therefor.
Accordingly, in one aspect there is provided an interactive input system comprising at least one imaging device having a field of view looking into a region of interest; a bezel at least partially surrounding the region of interest and having a surface in the field of view of the at least one imaging device; a first radiation source emitting radiation into the region of interest that is generally matched to the characteristics of the bezel so that the radiation emitted by the first radiation source is reflected by the bezel surface generally towards the at least one imaging device; and a second radiation source emitting radiation into the region of interest that is generally unmatched to the characteristics of the bezel so that the radiation emitted by the second radiation source is not reflected by the bezel surface.
In one embodiment, the interactive input system further comprises a first filter associated with the first radiation source through which radiation emitted by the first radiation source passes and a second filter on the bezel that is matched to the first filter. A third filter is associated with the second radiation source through which radiation emitted by the second radiation source passes. The third filter in unmatched to the first and second filters. Each of the first and second radiation sources comprises a light source. In one embodiment, each light source comprises one or more light emitting diodes. The first and second filters may take the form of polarizing filters having the same axis of polarization. In this case, the third filter is a polarizing filter having an axis of polarization generally orthogonal to the axes of polarization of the first and second filters.
In one embodiment, the interactive input system further comprises processes structure communicating with the at least one imaging device and processing image data output thereby. The processing structure compares image data acquired by the at least one imaging device when the first radiation source is on and the second radiation source is off, with image data acquired by the at least one imaging device when the first radiation source is off and the second radiation source is on. A switching circuit connects alternately the first and second radiation sources to a power source.
According to another aspect there is provided a bezel for an interactive touch surface comprising a reflective surface oriented to reflect radiation toward at least one imaging device and a filter overlying the reflective surface and matched to intermittent radiation emitted across said touch surface.
Embodiments will now be described more fully with reference to the accompanying drawings in which:
Turning now to
Assembly 22 comprises a frame assembly that is mechanically attached to the display unit and surrounds the display surface 24. Frame assembly comprises a bezel having three bezel segments 40, 42 and 44, four corner pieces 46 and a tool tray segment 48. Bezel segments 40 and 42 extend along opposite side edges of the display surface 24 while bezel segment 44 extends along the top edge of the display surface 24. The tool tray segment 48 extends along the bottom edge of the display surface 24 and supports one or more active pen tools P. The corner pieces 46 adjacent the top left and top right corners of the display surface 24 couple the bezel segments 40 and 42 to the bezel segment 44. The corner pieces 46 adjacent the bottom left and bottom right corners of the display surface 24 couple the bezel segments 40 and 42 to the tool tray segment 48. In this embodiment, the corner pieces 46 adjacent the bottom left and bottom right corners of the display surface 24 accommodate imaging assemblies 60 that look generally across the entire display surface 24 from different vantages. The bezel segments 40, 42 and 44 are oriented so that their inwardly facing surfaces are seen by the imaging assemblies 60.
Turning now to
The clock receiver 76 and serializer 78 employ low voltage, differential signaling (LVDS) to enable high speed communications with the DSP unit 26 over inexpensive cabling. The clock receiver 76 receives timing information from the DSP unit 26 and provides clock signals to the image sensor 70 that determines the rate at which the image sensor 70 captures and outputs image frames. Each image frame output by the image sensor 70 is serialized by the serializer 78 and output to the DSP unit 26 via the connector 72 and communication lines 28.
Turning now to
The interactive input system 20 is able to detect passive pointers such as for example, a user's finger, a cylinder or other suitable object as well as active pen tools P as shown in
During operation, the controller 120 conditions the clocks 130 and 132 to output clock signals that are conveyed to the imaging assemblies 60 via the communication lines 28. The clock receiver 76 of each imaging assembly 60 uses the clock signals to set the frame rate of the associated image sensor 70. In this embodiment, the controller 120 generates clock signals so that the frame rate of each image sensor 70 is twice the desired image frame output rate. The controller 120 also signals the current control module 80 of each imaging assembly 60 over the I2C serial bus. In response, each current control module 80 initially connects only the IR light source 82a to the power supply 84 and then disconnects the IR light source 82a from the power supply 84 and connects IR light source 82b to the power supply 84. The timing of the on/off IR light source switching is controlled so that for each pair of subsequent image frames captured by each image sensor 70, one image frame is captured when the IR light source 82a is on and one image frame is captured when the IR light source 82b is on.
When the IR light sources 82a are on, each LED of the IR light sources 82a floods the region of interest over the display surface 24 with infrared illumination that has been polarized by the filters 90. As the filters 90 are matched to the filters on the bezel segments 40, 42 and 44, the infrared illumination passes through the filters on the bezel segments and impinges on the retro-reflective bands 102. Infrared illumination that impinges on the retro-reflective bands 102 is returned to the imaging assemblies 60. As a result, in the absence of a pointer P, each imaging assembly 60 sees a bright band 160 having a substantially even intensity over its length and possibly ambient light from sources such as the sun, light bulbs, projectors as represented by the white circle 144 above the bright band 160 and/or reflections of ambient light from sources such as the sun, light bulbs, projectors as represented by the white circle 146 below the bright band 160 as shown in
When the IR light sources 82b are on, each LED of the IR light sources 82b floods the region of interest over the display surface 24 with infrared illumination that has been polarized by the filters 92. As the filters 92 are orthogonal (i.e. unmatched) to the filters over the retro-reflective bands 102 of the bezel segments 40, 42 and 44, the infrared illumination is unable to pass through the filters on the bezel segments. As a result, in the absence of a pointer P, the image sensor 70 of each imaging assembly 60 sees darkness and possibly the ambient light and reflections of ambient light as represented by the white circles 144 and 146 as shown in
As mentioned above, each image frame output by the image sensor 70 of each imaging assembly 60 is conveyed to the DSP unit 26. When the DSP unit 26 receives image frames from the imaging assemblies 60, the controller 120 processes the image frames to detect the existence of a pointer therein and if a pointer exists, to determine the position of the pointer relative to the display surface 24 using triangulation. To reduce the effects unwanted light may have on pointer discrimination, the controller 120 measures the difference in the intensity of light within the image frames to detect the existence of a pointer. There are generally three sources of unwanted light, namely ambient light, light from the display unit and infrared illumination that is emitted by the IR light sources 82 and scattered off of objects proximate to the imaging assemblies 60. As will be appreciated, if a pointer is close to an imaging assembly 60, infrared illumination emitted by the associated IR light source 82a may illuminate the pointer directly resulting in the pointer being as bright as or brighter than the retro-reflective bands 102 in captured image frames. As a result, the pointer will not appear in the image frames as a dark region interrupting the bright band 160 but rather will appear as a bright region 168 that extends across the bright band 160 as shown in
The controller 120 processes successive image frames output by the image sensor 70 of each imaging assembly 60 in pairs with one image frame captured with IR light source 82a on and the other image frame captured with IR light source 82b on. When the first image frame of a pair is received, the controller 120 stores the image frame in a buffer. When the successive image frame of the pair is received, the controller 120 similarly stores the image frame in a buffer. With the successive image frames available, the controller 120 subtracts the two image frames to form a difference image frame. Provided the frame rates of the image sensors 70 are high enough, ambient light levels and display unit light levels in successive image frames will typically not change significantly and as a result, ambient light and display unit light are substantially cancelled out and do not appear in the difference image frame. The end result is a high contrast image of the pointer and the retro-reflective band 102. Once the difference image frame has been generated, the controller 120 examines the intensity of the difference image frame for values that represent the bezel and the pointer. When no pointer is in proximity with the display surface 24, the intensity values are high and uninterrupted. When a pointer is in proximity with the display surface 24, some of the intensity values fall below a threshold value allowing the existence of the pointer in the difference image frame to be readily determined. In order to generate the intensity values for each difference image frame, the controller 120 calculates a vertical intensity profile (VIPretro) for each pixel column of the difference image frame.
Once the intensity values I(x) for the pixel columns of each difference image frame have been determined, the resultant I(x) curve for each difference image frame is examined to determine if the I(x) curve falls below a threshold value signifying the existence of a pointer and if so, to detect left and right edges in the I(x) curve that represent opposite sides of a pointer. In particular, in order to locate left and right edges in each difference image frame, the first derivative of the I(x) curve is computed to form a gradient curve ∇I(x). If the I(x) curve drops below the threshold value signifying the existence of a pointer, the resultant gradient curve ∇I(x) will include a region bounded by a negative peak and a positive peak representing the edges formed by the dip in the I(x) curve. In order to detect the peaks and hence the boundaries of the region, the gradient curve ∇I(x) is subjected to an edge detector.
In particular, a threshold T is first applied to the gradient curve ∇I(x) so that, for each position x, if the absolute value of the gradient curve ∇I(x) is less than the threshold, that value of the gradient curve ∇I(x) is set to zero as expressed by:
∇I(x)=0, if |∇I(x)|<T
Following the thresholding procedure, the thresholded gradient curve ∇I(x) contains a negative spike and a positive spike corresponding to the left edge and the right edge representing the opposite sides of the pointer, and is zero elsewhere. The left and right edges, respectively, are then detected from the two non-zero spikes of the thresholded gradient curve ∇I(x). To calculate the left edge, the centroid distance CDleft is calculated from the left spike of the thresholded gradient curve ∇I(x) starting from the pixel column Xleft according to:
where xi is the pixel column number of the i-th pixel column in the left spike of the gradient curve ∇I(x), i is iterated from 1 to the width of the left spike of the thresholded gradient curve ∇I(x) and Xleft is the pixel column associated with a value along the gradient curve ∇I(x) whose value differs from zero (0) by a threshold value determined empirically based on system noise. The left edge in the thresholded gradient curve ∇I(x) is then determined to be equal to Xleft+CDleft.
To calculate the right edge, the centroid distance CDright is calculated from the right spike of the thresholded gradient curve ∇I(x) starting from the pixel column Xright according to:
where xi is the pixel column number of the j-th pixel column in the right spike of the thresholded gradient curve ∇I(x), j is iterated from 1 to the width of the right spike of the thresholded gradient curve ∇I(x) and Xright is the pixel column associated with a value along the gradient curve ∇I(x) whose value differs from zero (0) by a threshold value determined empirically based on system noise. The right edge in the thresholded gradient curve is then determined to be equal to Xright+CDright.
Once the left and right edges of the thresholded gradient curve ∇I(x) are calculated, the midpoint between the identified left and right edges is then calculated thereby to determine the location of the pointer in the difference image frame.
After the location of the pointer in each difference frame has been determined, the controller 120 uses the pointer positions in the difference image frames to calculate the position of the pointer in (x,y) coordinates relative to the display surface 24 using well known triangulation such as that described in above-incorporated U.S. Pat. No. 6,803,906 to Morrison et al. The calculated pointer coordinate is then conveyed by the controller 120 to the computer 30 via the USB cable 32. The computer 30 in turn processes the received pointer coordinate and updates the image output provided to the display unit, if required, so that the image presented on the display surface 24 reflects the pointer activity. In this manner, pointer interaction with the display surface 24 can be recorded as writing or drawing or used to control execution of one or more application programs running on the computer 30.
If desired, as the image frames captured when the IR light sources 82b are on, include image data relating only to the pointer and not the bezel segments 40 to 44, these image frames can be separately analyzed to extract additional information concerning the pointer. For example, these image frames can be analyzed to verify display surface pointer contact and/or to recognize surface features of the pointer to determine the pointer type or in the case of multi-touch scenarios to disambiguate multiple pointers in contact with the display surface 24.
When the active pointer P is brought into proximity with the display surface 24, the IR light sources remain off so that the imaging assemblies see the pointer P as a bright region interrupting a dark band.
To reduce the amount of data to be processed, only the area of the image frames occupied by the bezel segments need be processed. A bezel finding procedure similar to that described in U.S. patent application Ser. No. 12/118,545 to Hansen et al. entitled “Interactive Input System and Bezel Therefor” filed on May 9, 2008 and assigned to SMART Technologies ULC of Calgary, Alberta, the content of which is incorporated herein by reference, may be employed to locate the bezel segments in captured image frames. Of course, those of skill in the art will appreciate that other suitable techniques may be employed to locate the bezel segments in captured image frames.
Although the use of polarizing filters associated with the IR light sources 82a and 82b and bezel segments 40, 42 and 44 has been described, those of skill in the art will appreciate that other types of filters can be used so that radiation emitted by the IR light sources 82a is reflected by the retro-reflective bands 102 and radiation emitted by the IR light sources 82b is blocked by the filter over the retro-reflective band of each bezel segment. For example, if a non-colored pointer (i.e. a white or grey pointer) that reflects radiation emitted by IR light sources 82a and 82b is used, different colored filters can be used with the IR light sources with the filters over the bezel segments being the same color as one of the filters associated with the light sources.
In an alternative embodiment, the IR light sources 82a and 82b are selected to emit radiation at different wavelengths in the visible or non-visible spectrum. For example, the IR light sources 82a may emit radiation at a wavelength of 850 nm and the IR light sources 82b may emit radiation at a wavelength of 880 nm. An IR filter is provided on the bezel segments 40, 42 and 44 that blocks the emitted radiation at wavelength 850 nm and that allows the emitted radiation at wavelength 880 nm to pass. An IR filter on the lens of each image sensor is matched to the emitted radiation at both wavelengths.
If desired, the IR light sources 82 can be further modulated as described in U.S. patent application Ser. No. 12/118,521 to McReynolds et al. entitled “Interactive Input System with Controlled Lighting” filed on May 9, 2008 and assigned to SMART Technologies ULC of Calgary, Alberta, the content of which is incorporated by reference. In this manner, image frames for each imaging assembly based only on the contribution of illumination from its associated IR light source can be generated. The modulated signals output by the pen tool P can also be modulated.
Although specific embodiments have been described above with reference to the figures, those of skill in the art will appreciate that other alternatives are available. For example, in the above embodiment, the DSP unit 26 is shown as comprising an antenna 136 and a wireless receiver 138 to receive the modulated signals output by the pen tool P. Alternatively, each imaging assembly 60 can be provided with an antenna and a wireless receiver to receive the modulated signals output by the pen tool P. In this case, modulated signals received by the imaging assemblies are sent to the DSP unit 26 together with the image frames. The pen tool P may also be tethered to the assembly 22 or DSP unit 26 allowing the signals output by the pen tool P to be conveyed to one or more of the imaging assemblies 60 or the DSP unit 26 or imaging assembly(s) over a wired connection.
In the above embodiments, each bezel segment 40, 42 and 44 is shown as comprising a single retro-reflective band. Those of skill in the art will appreciate that alternatives are available. For example, rather than using a retro-reflective band, a band formed of highly reflective material such as a micro-mirror array may be used. Alternatively, each bezel segment may comprise two or more retro-reflective bands and two or more filters covering the retro-reflective bands.
If desired the tilt of each bezel segment can be adjusted to control the amount of light reflected by the display surface itself and subsequently toward the image sensors 70 of the imaging assemblies 60.
Although the frame assembly is described as being attached to the display unit, those of skill in the art will appreciate that the frame assembly may take other configurations. For example, the frame assembly may be integral with the bezel 38. If desired, the assembly 22 may comprise its own panel to overlie the display surface 24. In this case it is preferred that the panel be formed of substantially transparent material so that the image presented on the display surface 24 is clearly visible through the panel. The assembly can of course be used with a front or rear projection device and surround a substrate on which the computer-generated image is projected.
Although the imaging assemblies are described as being accommodated by the corner pieces adjacent the bottom corners of the display surface, those of skill in the art will appreciate that the imaging assemblies may be placed at different locations relative to the display surface. Also, the tool tray segment is not required and may be replaced with a bezel segment.
Those of skill in the art will appreciate that although the operation of the interactive input system 20 has been described with reference to a single pointer or pen tool P being positioned in proximity with the display surface 24, the interactive input system 20 is capable of detecting the existence of multiple pointers/pen tools that are proximate to the touch surface as each pointer appears in the image frames captured by the image sensors.
Although preferred embodiments have been described, those of skill in the art will appreciate that variations and modifications may be made with departing from the spirit and scope thereof as defined by the appended claims.