The present invention relates to an interactive input system and to an illumination assembly therefor.
Interactive input systems that allow users to input ink 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 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.
Although passive touch systems provide some advantages over active touch systems and work extremely well, using both active and passive pointers in conjunction with a touch system provides more intuitive input modalities with a reduced number of processors and/or processor load.
Camera-based touch systems having multiple input modalities have been considered. For example, 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 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.
Although Ogawa is able to determine the difference between two passive pointers, the Ogawa system suffers disadvantages when detecting a finger that occludes illumination reflected by the retroreflective tape. The geometry of the Ogawa system does not allow the retroreflective tape to perform at its best and as a result, the white image of the retroreflective tape may vary in intensity over its length. It has been considered to place multiple light emitting diodes at spaced locations with each light emitting diode being responsible for illuminating a portion of the outline frame. In this case, the power outputs of the various light emitting diodes are adjusted depending on whether the light emitting diodes are responsible for illuminating a close portion of the outline frame or a far portion of the outline frame. As will be appreciated, improved lighting designs for interactive input systems are desired.
It is therefore an object of the present invention at least to provide a novel interactive input system and a novel illumination assembly therefor.
Accordingly, in one aspect there is provided an illumination assembly comprising at least two proximate radiation sources directing radiation into a region of interest, each of said radiation sources having a different emission angle.
In one embodiment, the radiation sources are positioned adjacent an imaging assembly of the interactive input system that captures images of the region of interest. Each of the radiation sources is positioned proximate to the center line of the imaging assembly. The radiation sources are mounted on a board positioned on the imaging assembly. The board has an opening therein through which the imaging assembly looks. The radiation sources are mounted on the board on opposite sides of the opening. The radiation source having a narrow emission angle is positioned in the view of the imaging assembly. A shield inhibits stray light from the radiation source having the narrow emission angle from impinging on the imaging assembly.
In another embodiment, a lens is associated with at least one of the radiation sources. The lens shapes illumination emitted by the associated radiation source prior to the illumination entering the region of interest. The lens is shaped to provide a reflective component that redirects the off optical axis illumination rays and a refractive component that redirects near optical axis illumination rays.
According to another aspect there is provided an illumination assembly comprising at least one radiation source emitting illumination having a near-Lambertian directivity pattern and a lens associated with said radiation source, said lens shaping the illumination emitted by said radiation source to reduce diverging illumination rays along a selected axis.
According to yet another aspect there is provided an interactive input system comprising at least one imaging device capturing images of a region of interest surrounded at least partially by a reflective bezel and at least two radiation sources directing radiation into the region of interest, each of said radiation sources having a different emission angle.
Embodiments will now be described more fully with reference to the accompanying drawings in which:
a to 10c are image frames captured by the imaging assembly of
a to 11c show plots of normalized VIPdark, VIPretro and D(x) values calculated for the pixel columns of the image frames of
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 to 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 to 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 IR light source 82 in this embodiment comprises a pair of commercially available infrared light emitting diodes (LEDs) 82a and 82b respectively. The IR LEDs 82a and 82b are mounted on a board 82c positioned over the image sensor 70. The board 82c helps to shield the image sensor 70 from ambient light and light from external light sources and has a rectangular opening 82d therein through which the image sensor 70 looks giving the image sensor an unobstructed view of the region of interest and the bezel segments 40 to 44. Each IR LED is positioned on an opposite side of the image sensor 70 proximate the centerline of the image sensor. IR LED 82a is a wide beam LED and has a radiation emission angle equal to approximately 120°. IR LED 82b is a narrow beam LED and has a radiation emission angle equal to approximately 26°. The narrow beam IR LED 82b is mounted on a shield 82e that positions the narrow beam IR LED 82b in front of the image sensor 70. The shield 82e inhibits stray light from the narrow beam IR LED 82b from hitting the image sensor 70 directly.
The wide beam IR LED 82 emits IR illumination generally over the entire region of interest. The narrow beam IR LED 82b is aimed so that IR illumination emitted thereby is directed towards the portions of the bezel segments that meet at the opposite diagonal corner of the display surface 24 as shown in
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 that are brought into proximity with the display surface 24 and within the fields of view of the imaging assemblies 60. For ease of discussion, the operation of the interactive input system 20, when a passive pointer is brought into proximity with the display surface 24, will firstly be described.
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 connects the IR light source 82 to the power supply 84 and then disconnects the IR light source 82 from the power supply 84 so that each IR light source 82 turns on and off. 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 82 is on and one image frame is captured when the IR light source 82 is off.
When the IR light sources 82 are on, the LEDs of the IR light sources flood the region of interest over the display surface 24 with infrared illumination. Infrared illumination that impinges on the IR radiation absorbing bands 104 of the bezel segments 40 to 44 is not returned to the imaging assemblies 60. Infrared illumination that impinges on the retro-reflective bands 102 of the bezel segments 40 to 44 is returned to the imaging assemblies 60. As mentioned above, the configuration of the IR LEDs of each IR light source 82 is selected so that the retro-reflective bands 102 are generally evenly illuminated over their entire lengths. As a result, in the absence of a pointer, the image sensor 70 of each imaging assembly 60 sees a bright band 160 having a substantially even intensity over its length disposed between an upper dark band 162 corresponding to the IR radiation absorbing bands 104 and a lower dark band 164 corresponding to the display surface 24 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 discontinuity of light within the image frames rather than 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 82 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 and the upper and lower dark bands 162 and 164 as shown in
The controller 120 processes successive image frames output by the image sensor 70 of each imaging assembly 60 in pairs. In particular, when one image frame is received, the controller 120 stores the image frame in a buffer. When the successive image frame 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 in successive image frames will typically not change significantly and as a result, ambient light is substantially cancelled out and does not appear in the difference image frame.
Once the difference image frame has been generated, the controller 120 processes the difference image frame and generates discontinuity values that represent the likelihood that a pointer exists in the difference image frame. When no pointer is in proximity with the display surface 24, the discontinuity values are high. When a pointer is in proximity with the display surface 24, some of the discontinuity 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 discontinuity values for each difference image frame, the controller 120 calculates a vertical intensity profile (VIPretro) for each pixel column of the difference image frame between bezel lines Bretro
The VIPretro for each pixel column is calculated by summing the intensity values I of N pixels in that pixel column between the bezel lines Bretro
B
i
retro
T(x)=ceil[Bretro
B
i
retro
B(x)=floor[Bretro
B
f
retro
T(x)=Bi
B
f
retro
B(x)=Bretro
The VIPretro for the pixel column is then calculated by summing the intensity values I of the N pixels along the pixel column that are between the bezel lines Bretro
VIPretro(x)=(Bf
where N=(Bi
The VIPdark for each pixel column is calculated by summing the intensity values I of K pixels in that pixel column between the bezel lines Bdark
B
i
retro
T(x)=ceil[Bretro
B
i
retro
B(x)=floor[Bretro
B
f
retro
T(x)=Bi
B
f
retro
B(x)=Bretro
The VIPdark for each pixel column is calculated in a similar manner by summing the intensity values I of the K pixels along the pixel column that are between the bezel lines Bdark
VIPdark(x)=(Bf
where K=(Bi
The VIPs are subsequently normalized by dividing them by the corresponding number of pixel rows (N for the retro-reflective regions, and K for the dark regions). The discontinuity value D(x) for each pixel column is then calculated by determining the difference between VIPretro and VIPdark according to:
D(x)=VIPretro(x)−VIPdark(x)
a shows plots of the normalized VIPdark, VIPretro and D(x) values calculated for the pixel columns of the image frame of
Once the discontinuity values D(x) for the pixel columns of each difference image frame have been determined, the resultant D(x) curve for each difference image frame is examined to determine if the D(x) curve falls below a threshold value signifying the existence of a pointer and if so, to detect left and right edges in the D(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 D(x) curve is computed to form a gradient curve ∇D(x). If the D(x) curve drops below the threshold value signifying the existence of a pointer, the resultant gradient curve ∇D(x) will include a region bounded by a negative peak and a positive peak representing the edges formed by the dip in the D(x) curve. In order to detect the peaks and hence the boundaries of the region, the gradient curve ∇D(x) is subjected to an edge detector.
In particular, a threshold T is first applied to the gradient curve ∇D(x) so that, for each position x, if the absolute value of the gradient curve ∇D(x) is less than the threshold, that value of the gradient curve ∇D(x) is set to zero as expressed by:
∇D(x)=0, if |∇D(x)|<T
Following the thresholding procedure, the thresholded gradient curve ∇D(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 ∇D(x). To calculate the left edge, the centroid distance CDleft is calculated from the left spike of the thresholded gradient curve ∇D(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 ∇D(x), i is iterated from 1 to the width of the left spike of the thresholded gradient curve ∇D(x) and Xleft is the pixel column associated with a value along the gradient curve ∇D(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 ∇D(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 ∇D(x) starting from the pixel column Xright according to:
where xj is the pixel column number of the j-th pixel column in the right spike of the thresholded gradient curve ∇D(x), j is iterated from 1 to the width of the right spike of the thresholded gradient curve ∇D(x) and Xright is the pixel column associated with a value along the gradient curve ∇D(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 ∇D(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 triangulation in a manner similar to 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.
The emission angles of the IR LEDs 82a and 82b set forth above are exemplary and those of skill in the art will appreciate that the emission angles may be varied. In addition, one or more of the IR light sources 82 may be provided with more than two IR LEDs. Depending on the size and geometry of the display surface 24 and hence bezel, the number and configuration of the IR LEDs may vary to suit the particular environment.
For example, if desired, rather than including IR LEDs with different emission angles, the IR light sources 82 may comprise a series of spaced, surface mount IR LEDs proximate to the imaging assemblies 60, with each IR LED having the same emission angle and being responsible for illuminating an associated section of the bezel. For IR LEDs associated with far bezel portions, the power output of these LEDs can be increased as compared to the power output of IR LEDs associated with near portions of the bezel to ensure the bezel is generally evenly illuminated. As is known, commercially available surface mount IR LEDs have near-Lambertian directivity patterns meaning that they radiate light in all directions in a hemisphere. As a result, illumination emitted by such IR LEDs will pass over the bezel. To reduce the amount of wasted illumination, if surface mount IR LEDSs are employed, one or more of the IR LEDs can be fitted with a tuned lens 300 as shown in
The tuned lens 300 in this embodiment is formed of molded, substantially optically transparent plastic such as for example PC, PMMA, Zeonor etc. The body 302 of the lens 300 has a generally semi-spherical cavity 304 that receives the IR LED 306. The IR LED 306 is positioned so that it is centered in-line with the optical axis OA of the lens 300. The lens body 302 is configured to provide a TIR component and a refractive component and has five (5) optically active surfaces. The refractive component of the lens body 302 comprises generally parabolic surfaces 310 and 312 having the same optical axis. Parabolic surface 310 transects the cavity 304. Parabolic surface 312 is provided on the distal end of the lens body 302. Near optical axis illumination rays emitted by the IR LED 306 pass through parabolic surface 310 of the lens body 302 and are refracted by the parabolic surface 312 so that the near optical axis illumination rays exit the lens 300 traveling generally parallel to the optical axis OA in the z-direction.
The TIR component of the lens body 302 comprises three surfaces 320, 322 and 324. Off optical axis illumination rays emitted by the IR LED 306 pass through surface 320 of the lens body 302 and are redirected through total internal reflection by surface 322 of the lens body so that the illumination rays exit distal surface 324 of the lens 300 traveling generally parallel to the optical axis OA in the z-direction. The surface 322 is generally rotationally parabolic. The surface 324 as well as the surfaces 310 and 312 generally have no rotational symmetry and are represented in the design by two-dimensional polynomials of even powers.
As will be appreciated, the illumination output by the lens 300 is collimated in the vertical z-direction and divergent horizontally along the optical axis OA. The lens design has freedom to completely collimate or to control the degree of collimation or divergence in both directions to achieve the desired beam shape. As a result, the lens 300 focuses illumination so that the amount of emitted illumination that passes over the bezel or is directed into the display surface 24 is reduced thereby increasing the illumination that impinges on the bezel.
Those of skill in the art will appreciate that the configuration of the lens 300 may change depending on the size of the display surface 24 and hence bezel. If desired, the lens 300 may be used with IR LEDs of differing emission angles to reduce the amount of light emitted by these IR LEDs that passes over the bezel or is directed into the display surface 24. Although infrared illumination sources are described, those of skill in the art will appreciate that other illumination sources may be used. For example, the illumination source may be an incandescent light bulb or other suitable source. Irrespective of the illumination source used, emitted illumination may be directed to the lens indirectly using a mirrored surface or optical collection device.
Rather than using a pointer to interact with the display surface, a pen tool P having a body 200, a tip assembly 202 at one end of the body 200 and a tip assembly 204 at the other end of the body 200 as shown in
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 to 44 is shown as comprising a pair of bands having different reflective properties, namely retro-reflective and IR radiation absorbing. Those of skill in the art will appreciate that the order of the bands may be reversed. Also, bands having different reflective properties may be employed. For example, rather then using a retro-reflective band, a band formed of highly reflective material may be used. Alternatively, bezel segments comprising more than two bands with the bands having differing or alternating reflective properties may be used. For example, each bezel segment may comprise two or more retro-reflective bands and two or more radiation absorbing bands in an alternating arrangement. Alternatively, one or more of the retro-reflective bands may be replaced with a highly reflective band.
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.