System and method for differentiating between pointers used to contact touch surface

Information

  • Patent Grant
  • 8456451
  • Patent Number
    8,456,451
  • Date Filed
    Monday, December 1, 2008
    15 years ago
  • Date Issued
    Tuesday, June 4, 2013
    11 years ago
Abstract
A touch system comprises a touch surface and at least one camera acquiring images of the touch surface. A pointer contact data generator generates pointer position data in response to pointer contact with the touch surface, the pointer position data representing where on the touch surface pointer contact is made. A processor communicates with the at least one camera and the pointer contact data generator. The processor analyzes acquired images to determine the type of pointer used to contact the touch surface, and processes the pointer position data in accordance with the determined type of pointer. In the preferred embodiment the processor distinguishes between pointer tip touch surface contacts, pointer backend touch surface contacts and finger touch surface contacts. A writing function is invoked in response to pointer tip touch surface contacts. An erase function is invoked in response to pointer backend touch surface contacts. Mouse events are generated in response to finger touch surface contacts.
Description
FIELD OF THE INVENTION

The present invention relates generally to touch systems and in particular to a touch system and method for differentiating between pointers used to contact a touch surface.


BACKGROUND OF THE INVENTION

Touch systems are well known in the art and typically include a touch screen having a touch surface on which contacts are made using a pointer. Pointer contacts with the touch surface are detected and are used to generate corresponding output pointer position data representing areas of the touch surface where the pointer contacts are made. There are basically two general types of touch systems available and they can be broadly classified as “active” touch systems and “passive” touch systems.


Active touch systems allow a user to generate pointer position data by contacting the touch surface with a special pointer that usually requires some form of on-board power source, typically batteries. The special pointer emits signals such as infrared light, visible light, ultrasonic frequencies, electromagnetic frequencies, etc. that activate the touch surface.


Passive touch systems allow a user to generate pointer position data by contacting the touch surface with a passive pointer and do not require the use of special pointers in order to activate the touch surface. A passive pointer can be a finger, a cylinder of some material, or any other suitable object that can be used to contact some predetermined area of interest on the touch surface. Since special active pointers are not necessary in passive touch systems, battery power levels and/or pointer damage, theft, or pointer misplacement are of no concern to users.


Although passive touch systems provide advantages over active touch systems, many prior art passive touch systems suffer disadvantages in that they are generally not able to tell what type of pointer is used to contact the touch surface i.e. whether a contact is made using a finger, stylus, pen, or the like.


To deal with this shortcoming, techniques have been considered to provide the ability to differentiate between pointers used to contact a touch surface. For example, U.S. Pat. No. 5,448,263 to Martin, assigned to SMART Technologies, Inc., assignee of the present invention, discloses a passive touch system including an analog resistive touch screen coupled to a computer. Image data generated by the computer is conveyed to a projector, which in turn projects a corresponding image on the touch surface of the touch screen. When a user contacts the touch surface of the touch screen, the touch screen generates pointer position data that is conveyed to the computer. Depending on the mode of operation of the touch system, the computer either records the pointer position data as writing or uses the pointer position data to control execution of an application programs executed by the computer. The computer also updates the image data so that the image presented on the touch surface by the projector reflects the pointer activity.


To assist the user in making pointer contacts on the touch surface, a tool tray is disposed adjacent the bottom edge of the touch surface. The tool tray includes a number of slots, each slot of which accommodates a different colored pen. When a pen is lifted from its slot, the touch screen generates pen color data that is conveyed to the computer allowing the computer to determine the color of the lifted pen. With the pen color known, when the touch system is in a write mode and the pen is used to contact the touch surface, the computer uses the pointer position data and the pen color data to update the image data so that writing in the color of the selected pen is projected onto the touch surface.


International PCT Application No. PCT/CA01/00980 filed on Jul. 5, 2001 and published under number WO 02/03316 on Jan. 10, 2002, assigned to SMART Technologies, Inc., assignee of the present invention, discloses a camera-based touch system comprising a touch screen that includes a passive 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 along the touch surface. The digital cameras acquire images of the touch surface from different locations and generate image data. The image data acquired by the cameras is processed by 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 relative to the touch surface using triangulation. The pointer location data is conveyed to a computer executing one or more application programs. The computer uses the pointer location data 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 used to control execution of an application program executed by the computer. Similar to the touch system disclosed in U.S. Pat. No. 5,448,263, the camera-based touch system also includes a tool tray accommodating a number of different colored pens that provides pen color data to the computer when a pen is lifted from the tool tray.


Although the above touch systems provide for discrimination between different color pens confusion can occur. For example, if a user lifts a pen from its slot in the tool tray and then uses a finger to write on the touch surface with the pen slot vacant, the computer will treat the pointer position data generated by the touch screen in response to the finger contact as if the pointer position data was generated in response to contacts made using the lifted pen.


Touch systems that treat pointer position data differently depending on the areas of the touch surface where contacts are made also exist. In these touch systems, when a computer desktop image is projected onto the touch surface, areas on the touch surface where inherent computer operating display elements such as tool bars, icons etc. are presented, are treated as non-active areas. Pointer contacts on the touch surface over the non-active areas are treated as mouse events irrespective of the type of pointer used to contact the touch surface. Pointer contacts on the touch surface within active areas are treated as writing. Although this type of touch system allows pointer contacts to be differentiated, differentiation of the pointer contacts is based on the areas of the touch surface where contacts are made and not based on pointer type. As will be appreciated touch systems that provide for better differentiation between pointers used to contact touch surfaces are desired.


It is therefore an object of the present invention to provide a novel touch system and method for differentiating between pointers used to contact a touch surface.


SUMMARY OF THE INVENTION

According to one aspect of the present invention there is provided a touch system comprising:


a touch surface to be contacted by a pointer;


at least one imaging device having a field of view looking generally along said touch surface; and


at least one processor communicating with said at least one imaging device and analyzing images acquired by said at least one imaging device to: (i) determine the type of pointer used to contact said touch surface; and (ii) determine the location on said touch surface where pointer contact is made.


According to another aspect of the present invention there is provided a method of updating image data used to present a displayed image on a touch surface in response to pointer contact on said touch surface, said method comprising the steps of:


displaying an image on said touch surface;


generating pointer position data in response to pointer contact with said touch surface and acquiring images of pointers used to contact said touch surface;


analyzing the acquired images to determine the type of pointer used to contact the touch surface; and


updating image data used to present the displayed image on said touch surface based on the generated pointer position data and the determined type of pointer.


According to yet another aspect of the present invention there is provided in a touch system including a touch surface, at least one pen tool to contact said touch surface, a processor recording data generated in response to contacts made on said touch surface using said at least pen tool and a camera to acquire an image of said at least one pen tool when said at least one pen tool is generally in contact with said touch surface, a method of updating recorded data comprising the steps of:


examining the acquired image to determine which end of the at least one pen tool is used to contact the touch surface; and


modifying the recorded data based on the end of the at least one pen tool that is used to contact the touch surface.


According to yet another aspect of the present invention there is provided in a touch system including a touch surface on which an image is presented, a processor responsive to contacts made on the touch surface using a pointer and generating image data used to present said image, a method of updating said image data comprising the step of:


assessing a pointer attribute to determine the type of pointer used to make said contacts; and


updating the image data based on the type of pointer and the pointer activity on the touch surface.


According to still yet another aspect of the present invention there is provided a touch system comprising:


a touch surface on which an image is presented; and


a processor responsive to pointer contacts on the touch surface and generating image data that is used to present said image, said processor assessing a pointer attribute to determine the type of pointer used to make contacts and updating the image data based on the type of pointer and the pointer activity on the touch surface.


According to still yet another aspect of the present invention there is provided a camera-based touch system comprising:


a pair of cameras at spaced locations having overlapping fields of view encompassing an area on which pointer contacts are to be made, said cameras acquiring images and generating corresponding image data; and


a processor receiving and processing the image data generated by said cameras to determine the location of a pointer relative to the area when the pointer is captured in images acquired by the cameras and analyzing the image data to determine the type of pointer used to contact the area.


According to still yet another aspect of the present invention there is provided an interactive input system comprising:


at least one imaging device having an input region within its field of view into which a pointer is moved to generate user input; and


at least one processor communicating with said at least one imaging device and analyzing each image acquired by said at least one imaging device to determine the type of pointer moved into said input region.


The present invention provides advantages in that the type of pointer used to contact the touch surface is determined automatically. This enables the touch system to differentiate between contacts made on the touch surface using a finger and pen tool accurately and quickly. As a result, a user is provided with the ability to write, draw or annotate with a pen tool and then immediately use a finger to generate mouse events and manipulate the pen tool input without having to put the pen tool down. This provides the user with a seamless ability to write into and control application programs without purposefully having to change the mode of operation of the touch system prior to initiating touch events with different pointers.


Furthermore, since the type of pointer used to contact the touch surface is determined automatically, the need for tool tray electronics that generate pointer color data when a pointer is lifted from the tool tray is reduced or eliminated. This of course reduces costs.


In addition, since pointer contacts and pointer type are determined from images, multiple simultaneous contacts on the touch surface using different pointers can be determined.


The present invention also provides advantages in that since the touch system is able to differentiate between pointer tip and pointer backend contacts with the touch surface, different functions can be assigned to opposite ends of a pointer. As a result, a single pointer can be used to perform both a writing function and an erase function without purposefully having to change the mode of operation of the touch system. Using a pointer backend to initiate an erase function is of course highly user intuitive. Providing identifying glyphs on or shaping the tips of different pointers uniquely also allows different attributes, such as colors assigned to the different pointers, to be determined automatically.





BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the present invention will now be described more fully with reference to the accompanying drawings in which:



FIG. 1 is a schematic diagram of a camera-based touch system in accordance with the present invention;



FIG. 2 is a front elevation view of a touch screen forming part of the touch system of FIG. 1;



FIG. 3 is a schematic diagram of a digital camera forming part of the touch screen of FIG. 4;



FIG. 4 is a schematic diagram of a master controller forming part of the touch system of FIG. 1;



FIGS. 5
a, 5b and 5c show the steps performed by the computer during computation of a curve of growth;



FIGS. 6
a and 6b are elevation views of pen tools forming part of the touch screen of FIG. 2;



FIGS. 7
a and 7b are elevation views of alternative pen tools forming part of the touch screen of FIG. 2;



FIGS. 8 and 9 show typical fitting results generated by a computer forming part of the touch system of FIG. 1 in response to touch surface contacts made using a pen tool and finger, respectively; and



FIG. 10 is a schematic diagram of an alternative embodiment of a touch system in accordance with the present invention.





DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The present invention relates to a touch system and method that differentiates between 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 includes a touch surface to be contacted by a 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. Preferred embodiments of the present invention will now be described with reference to FIGS. 1 to 10.


Turning now to FIGS. 1 and 2, a camera-based touch system in accordance with the present invention is shown and is generally identified by reference numeral 50. Camera-based touch system 50 is similar to that disclosed in U.S. patent application Ser. No. (not available) for an invention entitled “Illuminated Bezel and Touch System Incorporating Same” filed on Jan. 30, 2003 assigned to SMART Technologies Inc., assignee of the present invention, the content of which is incorporated herein by reference. As can be seen, touch system 50 includes a touch screen 52 coupled to a digital signal processor (DSP) based master controller 54. Master controller 54 is also coupled to a computer 56. Computer 56 executes one or more application programs and provides computer-generated image output that is presented on the touch screen 52. The touch screen 52, master controller 54 and computer 56 form a closed-loop so that pointer contacts with the touch screen 52 can be recorded as writing or drawing or used to control execution of an application program executed by the computer 56.



FIG. 2 better illustrates the touch screen 52. Touch screen 52 in the present embodiment includes a high-resolution display device such as a plasma display 58, the front surface of which defines a touch surface 60. The touch surface 60 is bordered by an illuminated bezel or frame 62 coupled to the display device. Illuminated bezel 62 includes elongate side frame assembly 64 that are coupled to the sides of the plasma display 58. Each side frame assembly 64 accommodates a generally continuous illumination source 66. The ends of the side frame assembly 64 are joined by corner pieces 68 that house DSP-based CMOS digital cameras 70. Each digital camera is mounted within its respective corner piece 68 so that its field of view encompasses and looks across the entire touch surface 60.


A tool tray 76 is positioned adjacent the bottom edge of the touch surface 60 and accommodates a plurality of different color pointers in the form of pen tools 76a used to contact the touch surface 60 as shown in FIGS. 6a and 6b. Each pen tool has a generally conical tip 76b defining an opening angle ø. The opening angle is an invariant property of the pen tool irrespective of the pen tool orientation when captured in an image. In the present embodiment, the tool tray 76 is passive and simply provides a convenient location to place the pen tools. If desired however, the tool tray 76 may include active functionality.


One of the digital cameras within a corner piece 68 is shown in FIG. 3. As can be seen, each digital camera 70 includes a two-dimensional CMOS image sensor and associated lens assembly 80, a first-in-first-out (FIFO) buffer 82 coupled to the image sensor and lens assembly 80 by a data bus, and a digital signal processor (DSP) 84 coupled to the FIFO 82 by a data bus and to the image sensor and lens assembly 80 by a control bus (see FIG. 4). A boot EPROM 86 and a power supply subsystem 88 are also included. In the present embodiment, the CMOS camera image sensor is configured for a 20×648 pixel subarray that can be operated to capture image frames at rates in excess of 200 frames per second since arbitrary pixel rows can be selected. Also, since the pixel rows can be arbitrarily selected, the pixel subarray can be exposed for a greater duration for a given digital camera frame rate allowing for good operation in dark rooms as well as in lit rooms.


The DSP 84 provides control information to the image sensor and lens assembly 80 via the control bus. The control information allows the DSP 84 to control parameters of the image sensor and lens assembly 80 such as exposure, gain, array configuration, reset and initialization. The DSP 84 also provides clock signals to the image sensor and lens assembly 80 to control the frame rate of the image sensor and lens assembly 80.


An infrared pass filter 89 is provided on the digital camera image sensor and lens assembly 80 to blind the digital camera 70 to frequencies of light other than the light broadcasted by the illuminated bezel 62.


Master controller 54 is best illustrated in FIG. 4 and includes a DSP 90, a boot EPROM 92, a serial line driver 94 and a power supply subsystem 95. The DSP 90 communicates with the DSPs 84 of the digital cameras 70 over a data bus via a serial port 96 and communicates with the computer 56 over a data bus via a serial port 98 and the serial line driver 94.


The master controller 54 and each digital camera 70 follow a communication protocol that enables bi-directional communications via a common serial cable similar to a universal serial bus (USB). The transmission bandwidth is divided into thirty-two (32) 16-bit channels. Of the thirty-two channels, six (6) channels are assigned to each of the DSPs 84 in the digital cameras 70 in to the DSP 90 and the master controller 54 and the remaining two (2) channels are unused. The master controller 54 monitors the twenty-four (24) channels assigned to the DSPs 84 while the DSPs 84 monitor the six (6) channels assigned to the DSP 90 of the master controller 54. Communications between the master controller 54 and the digital camera 70 are performed as background processes in response to interrupts.


The operation of the touch system 50 will now be described. Each digital camera 70 acquires images looking along the touch surface 60 within the field of view of its image sensor and lens assembly 80 at a desired frame rate and processes each acquired image to determine if a pointer is in the acquired image. During image capture, the illuminated bezel provides adequate backlighting for the digital cameras 70. If a pointer is in the acquired image, the image is further processed to determine characteristics of the pointer contacting or hovering above the touch surface 60 such as pointer type. Pointer information packets (PIPs) including pointer characteristics, status and/or diagnostic information are then generated by the digital camera 70 and the PIPs are queued for transmission to the master controller 54. The digital cameras 70 also receive and respond to command PIPs generated by the master controller 54.


The master controller 54 polls the digital cameras 70 for PIPs. If the PIPs include pointer characteristic information, the master controller 54 triangulates pointer characteristics in the PIPs to determine the position of the pointer relative to the touch surface 60 in Cartesian rectangular coordinates and the type of pointer used to contact the touch surface 60. The master controller 54 in turn transmits calculated pointer position data, pointer type data, status and/or diagnostic information to the computer 56. In this manner, the pointer position data transmitted to the computer 56 can be recorded as writing or drawing or can be used to control execution of an applications program executed by the computer 56 depending on the type of pointer used to contact the touch surface 60. The computer 56 also updates the computer-generated image output conveyed to the plasma display 58 so that the information presented on the touch surface 60 reflects the pointer activity.


The master controller 54 also receives commands from the computer 56 and responds accordingly as well as generates and conveys commands to the digital camera 70. Specifics concerning the triangulation of pointer characteristics in PIPs are described in PCT Application No. WO 02/03316, assigned to SMART Technologies, Inc., assignee of the present invention, the content of which is incorporated herein by reference. Accordingly, specifics will not be described herein.


To enable automatic pointer discrimination, each DSP 84 is programmed to analyze the acquired images to determine whether a pen tool, or a finger is used to contact the touch surface 60. Each DSP 84 reports the determined pointer type to the master controller 54, which in turn reports the pointer type and pointer position to the computer 56. In this manner, since each DSP 84 can differentiate between the types of pointers used to contact the touch surface 60, the function assigned to each pointer can be determined from the images acquired by the digital cameras 70. This allows the computer 56 to process the pointer position and pointer type data and update the image data in the appropriate manner.


In order to determine the type of pointer used to contact the touch surface 60 from the images acquired by the digital cameras 70, each DSP 84 uses a curve of growth method 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 the images (FIG. 5a) thereby to produce a one-dimensional profile having a number of points equal to the row dimension of the image (see FIG. 5b). A curve of growth is then generated from the HIP by forming the cumulative sum from the HIP (FIG. 5c). In other words, starting at the left most point of the HIP, a successive integration of the HIP from the left most point of the HIP to the right most point of the HIP is performed. The resulting integrated area corresponds to a specific point on the curve of growth. For a pen tool, the curve of growth has a distinct non-linear shape, while for a finger tip, the curve of growth is very close to linear. This is due to the fact that the tip of the pen tool is generally conical whereas a fingers tip is generally cylindrical. To distinguish between non-linear and linear curves of growth, a least-squares line is fitted to the curve of growth, the linear trend from the curve of growth is subtracted and the sum of squares of residuals (otherwise known as 2vχ) is formed. The sum of squares of residuals is defined as:







X
v
2

=


1

N
-
2







i
=
1

N




[


C





O





G

-

C





A





L





C


]

2








The factor of N−2 is the number of degrees of freedom for a linear fit to N points. This number reduces the problem of pointer-finger recognition to just examining the value of the sum of squares of residuals. If the sum of squares of residuals is close to 1, then a finger tip is present while if it is much larger than a pen tool is present.


In the present embodiment, when the DSPs 84 identify the pointer that is used to contact the touch surface as a finger, the computer 56 treats the pointer contact as a mouse event. In this manner, a user is able to use a finger to manipulate (i.e. move, resize etc.) pen tool writing or control execution of an applications program with a pen tool in hand without having to change the mode of operation of the touch screen 52. When the DSPs 84 identify the pointer that is used to contact the touch surface as a pen tool, the computer 56 treats the pointer position data as writing.


If desired, different pen tools can be provided with uniquely shaped conical tips and assigned different attributes, each conical tip having a unique opening angle as shown in FIGS. 6a and 6b. In this case, if a pen tool is used to contact the touch surface 60, the DSPs 84 further analyze the images to recognize the unique shape of the pen tool tip.


To differentiate between different pen tools, the curves of growth are examined. Since the tip of each pen tool has its own unique shape, the curve of growth generated for each pen tool is different. This allows different pen tools used to contact the touch surface 60 to be determined. For example, if each pen tool is assigned a different color, the unique curve of growth generated for each pen tool can be used to assign the appropriate color to the pen tool so that writing made on the touch surface 60 using each pen tool appears in the appropriate color.


Although the pen tools are described as having conical tips with different opening angles, the various pen tools can be formed with different shaped tips of virtually any configuration that result in unique curves of growth being generated to provide for pointer discrimination.



FIGS. 7
a and 7b show alternative pen tools 78. In this embodiment, each pen tool 78 includes a cylindrical body 78a having a generally conical tip 78b at one end and a square backend 78c. A glyph or distinguishing mark 78d is provided on the pen tool 78 adjacent its tip 78b. The glyph 78d on each pen tool is different and represents a unique attribute, such as color, assigned to the pen tool. For example, in the present embodiment, the red pen tool has a single V-shaped groove on its tip 78b turned along the axis of the pen tool. The blue pen has two V-grooves on its tip 78b turned along the axis of the pen tool. The green pen has three V-shaped grooves on its tip 78b turned along the axis of the pen tool. The black pen tool is devoid of a glyph on its tip 78b. If the touch screen 52 includes additional different colored pen tools, different shaped glyphs are provided on the tips of these additional pen tools to allow the touch system 50 to determine their colors.


Although the operation of the touch system is described with reference to single contacts made on the touch surface 60, as will be appreciated by those skilled in the art, since camera images are used to determine pointer contacts, multiple pointer contacts on the touch surface 60 can be determined since each pointer will appear in the images captured by each camera. The type of each pointer can be determined in the same manner described above and used during processing of the resulting pointer location data. In this manner a user may contact the touch surface simultaneously with different color pen tools or with a pen tool an a finger.


In this embodiment, rather than relying on curves of growth to differentiate between the pointer used to contact the touch surface, each DSP 84 uses an artificial neural network (ANN) to determine the type of pointer used to contact the touch surface 60 from the images. As is well known ANN's are ideally suited to solving problems of an ambiguous nature such as multi-parameter target detection when the parameters are not known. There are no specific algorithms, procedures, or rules that are pre-programmed in an ANN, rather only a training method. The training method allows the ANN to establish its own set of parameters and rules to solve the pattern recognition problem.


In the present embodiment, the ANN is specifically trained to analyze the images acquired by the digital cameras 70 and recognize whether a pointer tip, a pointer backend, or a finger is used to contact the touch surface 60. During the analysis of each camera image, the ANN generates decision output that identifies the pointer used to contact the touch surface 60 with some degree of probability. For each set of images acquired by the digital cameras 70, the ANN decision output with the highest degree of probability is used by the computer 56.


When the ANN decision output identifies the pointer that is used to contact the touch surface 60 as a finger, the computer 56 treats the pointer contact data as a mouse event. In this manner, a user is able to use a finger to manipulate (i.e. move, resize etc.) pen tool writing input or control execution of application programs with a pen tool in hand without having to change the mode of operation of the touch screen. When the ANN decision output identifies the pointer that is used to contact the touch surface 60 as a pointer backend 78c, the computer 56 treats the pointer as an erase tool. The pointer backend makes a nice intuitive erase tool because the pen tool itself works like a pencil, its shape is distinct and it avoids the need for pointers to be switched in order to perform an erase function.


When the ANN decision output identifies the pointer that is used to contact the touch surface 60 as a pointer tip 78b, the computer 56 treats the pointer position data as writing or drawing. In order to determine the color to be assigned to the writing or drawing, the ANN further analyses the images acquired by the digital cameras 70 to recognize the glyph 78d on the pointer tip 78b, since the glyph on the pointer tip represents the color assigned to the pen tool.


During image analyses, a model fitting approach is used wherein each gray-level value at each pixel (i.e., (x, y) location) of a difference image is described by a model of several parameters. These model parameters include:


the mean gray level within the pointer, and that in the background;


the (x,y) location of the pointer tip 78b;


the orientation angles of the leading and trailing edges of the pointer tip; and


the resolution of the digital cameras 70 used to acquire the images.


The mathematical model functions are combinations of Gaussian error functions as disclosed by Blaszka, T. and Deriche, R. in “Recovering and Characterizing Image Features Using an Efficient Model Based Approach”, 1994, Rapport de recherche No. 2422, INRIA. Images are compared pixel-by-pixel, in order to fit the model to the image Statistically, this comparison is performed using the reduced chi-squared statistic







χ
v
2

=


1

N
-
M







i
,
j





[


I

i
,
j

obs

-

I

i
,
j

calc


]

2








Here, v=N−M is the number of degrees of freedom, i.e., the number of data points minus the number of parameters being fitted. To find the best-fit set of parameters, χv2 is minimized with respect to these parameters.


The minimization may be computed in any number of ways, but the most effective methods are Levenberg-Marquardt (LM), and Variable metric (VM). Both methods need the derivatives of χv2 with respect to each of the model parameters at each point on the image. As the model functions are nonlinear, these derivatives are best computed numerically, using either centered differences:









f



x


=



f


(

x
+
h

)


-

f


(

x
-
h

)




2

h







or forward differences:









f



x


=



f


(

x
+
h

)


-

f


(
x
)



h





Here, h□10−4 is a small number added to each parameter. So, at each point we compute the gradient of χv2:









χ
v
2


=

[





χ
v
2




A











χ
v
2




B











χ
v
2





x
0












χ
v
2





y
0












χ
v
2





θ
1












χ
v
2





θ
2












χ
v
2




σ



]





In the LM method, this gradient forms one row of the Jacobian matrix J. Assume for the moment that there is some initial set of parameters p which will allow J to be computed for the whole image. To improve this initial estimate, the LM method requires the solution of the matrix equation:

[JTJ+λI]Δp=−JTr

for the correction vector Δp, i.e.,

pnew=pold+Δp

Here, r is the residual vector, the difference between the observed and computed image brightness at each pixel. Effectively, this residual vector drives the solution process. The LM parameter λ is used to govern the convergence of this iterative procedure; if the magnitudes of the residuals are increasing, λ is increased, otherwise it decreases as the best-fit solution for p is approached. The LM method is a fast and robust procedure. However, it requires the storage and manipulation of some rather large matrices.


The VM method solves this problem in a convenient way; it constructs directly a matrix similar to:

[JTJ+λI]−1

known as the inverse Hessian. The Hessian itself rigorously is the matrix of all second derivatives of χv2 with respect to all of the model parameters. In other words, the calculation

pnew=pold+H−1Δp

is done by constructing H−1 directly from ∇χv2. The only minor drawback to this approach is that one must now use a line search to get Δp (and hence H−1) at each iteration, which means numerous evaluations of χv2 (but not its gradient). The VM method takes several iterations to converge, but each iteration is much faster than a single LM iteration.


The VM and LM iterative non-linear least-squares techniques adjust all of the model parameters simultaneously and have been found to:


locate the pointer tip or finger with a precision of approximately 0.1 pixel;


segment reliably the pointer tip or finger from the background; and


recognize reliably the type of pointer through the model resolution parameter.


These iterative non-linear least-squares techniques have also been found to yield sharper images when a pointer tip is used to contact the touch system as compared to when a finger is used to contact the touch surface, in terms of the model resolution parameter. This difference in image sharpness is due to the fact that the model describes the pointer as a corner, i.e., two straight lines connected at a common vertex and separated by a given angle. As will be appreciated, this model description fits the shape of a conical pointer tip much better than it does a finger. To compensate for this difference in image sharpness, the iterative non-linear least-squares technique adjusts the model resolution parameter accordingly. In other words, the iterative non-linear least-squares technique smoothes the corner in order to better approximate a finger shape. The end result is that the model resolution parameter tends statistically to be larger for fingers than for pen tools. The following is a typical result for the mean model resolution parameter:

custom characterσcustom character=1.62±0.31 (pen)
custom characterσcustom character=2.18±0.24 (finger)

where the units of measurement are pixels. These results were found by analyzing ten images at random from two video sequences (which typically contain 250 to 500 frames). Similar results were found for four other video sequences. FIGS. 8 and 9 show typical fittings generated by a MATLAB simulation in response to touch surface contacts made using a pen tool and a finger, respectively. Note that a larger value of χv2 is more an indication that the model assumptions have been broken in some way (i.e., it is not possible to model every light variation seen in an image).


Although the present technique to differentiate between pointers used to contact a touch system is described as being incorporated in a touch system that uses camera images to generate pointer position data, those of skill in the art will appreciate that the technique may be used in other interactive environments. For example, turning now to FIG. 10, a touch system similar to that disclosed in U.S. Pat. No. 5,448,263 to Martin, assigned to the assignee of the present invention, is shown. As can be seen, touch system 150 includes an analog resistive touch screen 152 having a touch surface 160 on which computer-generated images are projected. A pointer tray 164 is provided along the bottom edge of touch surface 160 and holds pointers in the form of pen tools that are used to contact the touch surface 160. The pointer tray 164, similar to the previous embodiment, simply provides a convenient location to store pen tools. A camera 170 that is aimed generally along the plane of the touch surface 160 is provided adjacent one side of the touch surface and captures images.


When a pointer contact is made on the touch surface 160, the touch screen 152 generates pointer position data output representing the location on the touch surface where the pointer contact is made. The pointer position data that is output by the touch screen 152 is conveyed to a computer 156. The computer 156 executes one or more application programs and provides computer-generated image output that is displayed on the touch surface 160 via a projector 158. The touch screen 152, computer 156 and projector 158 form a closed-loop so that pointer contacts with the touch surface 160 can be recorded as writing or drawing or used to control execution of application programs executed by the computer 156. The computer-generated image output by the computer 156 is also updated to reflect the pointer activity.


When the computer 156 receives pointer position data from the touch screen 152, the computer also receives pointer type data from the camera 170. The camera 170 processes captured images in the same manner described above to determine the type of pointer used to contact the touch surface 160 that resulted in the pointer position data being generated. In this manner, the computer can process the pointer position and pointer type data in the appropriate manner. If desired, the captured images can be conveyed to the computer 156 for processing to determine pointer type.


Although touch systems which make use of image data to determine the type of pointer used to contact the touch surface have been described above, automatic pointer differentiation in touch systems employing active pointers can also be achieved. For example, in one such touch system an electromagnetic digitizer is placed behind an analog resistive touch sensitive screen. When a finger is used to contact the touch sensitive screen, only the touch sensitive screen generates pointer position data. However, when an active pointer is used to contact the touch sensitive screen, both the touch sensitive screen and the electromagnetic digitizer generate pointer position data. This difference in pointer position data output is used by the computer to allow contacts made on the touch surface of the touch sensitive screen using an active pen and a finger to be automatically differentiated. The signature of the active pen can be selected to specify its color allowing the computer to determine the color of the active pen used to contact the touch surface.


Alternatively, active radio frequency (RF) pens can be used with an analog resistive touch sensitive screen having a controller capable of recording the RFID tags broadcast by such pens when they are used to contact the touch surface. Since the controller of the touch sensitive screen receives pointer position data and an RFID tag when an RF pen is used to contact the touch surface but only receiving pointer position data when a finger is used to contact the touch surface, the computer is able to differentiate automatically between finger and RF pen contacts on the touch surface. The RFID tag can also be selected to specify the color of the RF pen. Active pens can also be used with a camera-based touch system.


As will be appreciated by those of skill in the art, the present invention is suitable for use in basically any environment where it is desired to distinguish between pointers used to contact a touch surface so that different functions can be invoked automatically without purposefully having to change the mode of operation. Such environments include for example, electronic whiteboards, touch liquid crystal display (LCD) panels, personal digital assistants (PDAs) and portable touch systems.


Although preferred embodiments of the present invention have been described, those of skill in the art will appreciate that variations and modifications may be made without departing from the spirit and scope thereof as defined by the appended claims.

Claims
  • 1. A method of updating image data used to present an image on a display in response to pointer interaction on the display surface comprising: assessing pointer data derived from at least one captured image of the pointer to determine automatically whether the pointer interaction is carried out using a pen tool or a finger; and
  • 2. The method of claim 1 wherein during updating an editing function is performed when said pointer is pen tool and wherein a mouse event is invoked when said pointer is a finger.
  • 3. The method of claim 1 wherein when said pointer is a pen tool, the pointer shape is further assessed to determine whether the pen tool is a writing tool or an erase tool, when said pen tool is a writing tool, the image data being updated so that said image includes writing corresponding to the writing tool activity on said touch surface and when said pen tool is an erase tool, the image data being updated so that writing in said image corresponding to the erase tool activity on said touch surface is removed.
  • 4. The method of claim 3 wherein opposite ends of the pen tool constitute the writing tool and erase tool, said opposite ends having distinct shapes.
  • 5. A method of updating image data used to present a displayed image on a touch surface in response to pointer interaction with said touch surface, said method comprising: displaying an image on said touch surface;capturing images looking generally across said touch surface and processing the captured images to generate pointer data when pointer interaction with said touch surface occurs;determining the orientation of the sides of said pointer by fitting pointer data to a mathematical model to determine if the pointer interaction occurs using a pen tool or a finger; andupdating image data used to present the displayed image on said touch surface based on the generated pointer data and the determined type of pointer.
  • 6. The method of claim 5 wherein when said pointer is a pen tool, the pointer shape is examined to determine whether the pen tool is a writing tool or an erase tool, when said pen tool is a writing tool, the image data being updated so that said image includes writing corresponding to the writing tool interaction on said touch surface and when said pen tool is an erase tool, the image data being updated so that writing in said image corresponding to the erase tool interaction on said touch surface is removed.
  • 7. The method of claim 6 wherein opposite ends of the pen tool constitute the writing tool and erase tool, said opposite ends having distinct shapes.
  • 8. The method of claim 5 wherein during updating an editing function is performed when said pointer is pen tool and wherein a mouse event is invoked when said pointer is a finger.
  • 9. A method of updating image data used to present a displayed image on a touch surface in response to pointer contact on said touch surface, said method comprising the steps of: displaying an image on said touch surface;acquiring images of said touch surface and generating pointer data in response to pointer contact with said touch surface;analyzing the acquired images to determine the type of pointer used to contact the touch surface by fitting the pointer data to a mathematical model thereby to determine the orientation of the sides of the pointer; andupdating image data used to present the displayed image on said touch surface based on the generated pointer data and the determined type of pointer.
  • 10. The method of claim 9 wherein when said pointer is a pen tool, the pointer shape is examined to determine whether the pen tool is a writing tool or an erase tool, when said pen tool is a writing tool, the image data being updated so that said image includes writing corresponding to the writing tool activity on said touch surface and when said pen tool is an erase tool, the image data being updated so that writing in said image corresponding to the erase tool activity on said touch surface is removed.
  • 11. The method of claim 10 wherein opposite ends of the pen tool constitute the writing tool and erase tool, said opposite ends having distinct shapes.
  • 12. The method of claim 10 wherein during updating an editing function is performed when said pointer is pen tool and wherein a mouse event is invoked when said pointer is a finger.
  • 13. A touch system comprising: a touch surface on which an image is presented;processing structure responsive to pointer contacts on the touch surface; andat least one camera to acquire images of said pointer, wherein said processing structure processes said acquired images to determine whether said pointer is a pen tool or a finger based on the orientation of the sides of said pointer by fitting pointer data to a mathematical model and updates the presented image based on the type of pointer and the pointer activity on the touch surface.
  • 14. A touch system according to claim 13 wherein said processing structure edits said presented image when said pointer is a pen tool and invokes a mouse event when said pointer is a finger.
  • 15. A camera-based touch system comprising: at least two cameras having overlapping fields of view encompassing an area on which pointer contacts are to be made; andprocessing structure processing image data generated by said cameras to determine the location of a pointer relative to the area when the pointer is captured in images acquired by the cameras and to determine the type of pointer used to contact the area based on the orientation of the sides of the pointer by fitting pointer data to a mathematical model.
  • 16. A camera-based touch system according to claim 15 wherein said processing structure uses the determined location and pointer type to update a processor-generated image.
  • 17. A camera-based touch system according to claim 16 wherein said processor-generated image is presented on said area.
  • 18. A camera-based touch system according to claim 17 wherein said processing structure examines the orientation of the sides of the pointer to determine whether the pointer is a pen tool or a finger.
  • 19. A camera-based touch system according to claim 18 wherein, when said pointer is a pen tool, said processing structure performs a processor-generated image editing function.
  • 20. A camera-based touch system according to claim 18 wherein, when said pointer is a finger, said processing structure invokes a mouse event.
  • 21. A camera-based touch system according to claim 20 wherein, when said pointer is a pen tool, said processing structure performs a processor-generated image editing function.
Parent Case Info

This application is a continuation of U.S. patent application Ser. No. 10/384,783, filed Mar. 11, 2003, the contents of which are incorporated herein by reference.

US Referenced Citations (415)
Number Name Date Kind
2769374 Sick Nov 1956 A
3025406 Stewart et al. Mar 1962 A
3128340 Harmon Apr 1964 A
3187185 Milnes Jun 1965 A
3360654 Muller Dec 1967 A
3478220 Milroy Nov 1969 A
3613066 Cooreman Oct 1971 A
3764813 Clement et al. Oct 1973 A
3775560 Ebeling et al. Nov 1973 A
3857022 Rebane et al. Dec 1974 A
3860754 Johnson et al. Jan 1975 A
4107522 Walter Aug 1978 A
4144449 Funk et al. Mar 1979 A
4243879 Carroll et al. Jan 1981 A
4247767 O'Brien et al. Jan 1981 A
4420261 Barlow et al. Dec 1983 A
4459476 Weissmueller et al. Jul 1984 A
4468694 Edgar Aug 1984 A
4507557 Tsikos Mar 1985 A
4550250 Mueller et al. Oct 1985 A
4553842 Griffin Nov 1985 A
4558313 Garwin et al. Dec 1985 A
4639720 Rympalski et al. Jan 1987 A
4672364 Lucas Jun 1987 A
4673918 Adler et al. Jun 1987 A
4703316 Sherbeck Oct 1987 A
4710760 Kasday Dec 1987 A
4737631 Sasaki et al. Apr 1988 A
4742221 Sasaki et al. May 1988 A
4746770 McAvinney May 1988 A
4762990 Caswell et al. Aug 1988 A
4766424 Adler et al. Aug 1988 A
4782328 Denlinger Nov 1988 A
4811004 Person et al. Mar 1989 A
4818826 Kimura Apr 1989 A
4820050 Griffin Apr 1989 A
4822145 Staelin Apr 1989 A
4831455 Ishikawa May 1989 A
4851664 Rieger Jul 1989 A
4868551 Arditty et al. Sep 1989 A
4868912 Doering Sep 1989 A
4888479 Tamaru Dec 1989 A
4893120 Doering et al. Jan 1990 A
4916308 Meadows Apr 1990 A
4928094 Smith May 1990 A
4943806 Masters et al. Jul 1990 A
4980547 Griffin Dec 1990 A
4990901 Beiswenger Feb 1991 A
5025314 Tang et al. Jun 1991 A
5025411 Tallman et al. Jun 1991 A
5097516 Amir Mar 1992 A
5103085 Zimmerman Apr 1992 A
5105186 May Apr 1992 A
5109435 Lo et al. Apr 1992 A
5130794 Ritcher Jul 1992 A
5140647 Ise et al. Aug 1992 A
5148015 Dolan Sep 1992 A
5162618 Knowles Nov 1992 A
5162783 Moreno Nov 1992 A
5164714 Wehrer Nov 1992 A
5168531 Sigel Dec 1992 A
5179369 Person et al. Jan 1993 A
5196835 Blue et al. Mar 1993 A
5196836 Williams Mar 1993 A
5239152 Caldwell et al. Aug 1993 A
5239373 Tang et al. Aug 1993 A
5272470 Zetts Dec 1993 A
5317140 Dunthorn May 1994 A
5359155 Helser Oct 1994 A
5374971 Clapp et al. Dec 1994 A
5414413 Tamaru et al. May 1995 A
5422494 West et al. Jun 1995 A
5448263 Martin Sep 1995 A
5457289 Huang et al. Oct 1995 A
5483261 Yasutake Jan 1996 A
5483603 Luke et al. Jan 1996 A
5484966 Segan Jan 1996 A
5490655 Bates Feb 1996 A
5502568 Ogawa et al. Mar 1996 A
5525764 Junkins et al. Jun 1996 A
5528263 Platzker et al. Jun 1996 A
5528290 Saund Jun 1996 A
5537107 Funado Jul 1996 A
5554828 Primm Sep 1996 A
5581276 Cipolla et al. Dec 1996 A
5581637 Cass et al. Dec 1996 A
5591945 Kent Jan 1997 A
5594469 Freeman et al. Jan 1997 A
5594502 Bito et al. Jan 1997 A
5617312 Iura et al. Apr 1997 A
5638092 Eng et al. Jun 1997 A
5670755 Kwon Sep 1997 A
5686942 Ball Nov 1997 A
5698845 Kodama et al. Dec 1997 A
5729704 Stone et al. Mar 1998 A
5734375 Knox et al. Mar 1998 A
5736686 Perret, Jr. et al. Apr 1998 A
5737740 Henderson et al. Apr 1998 A
5739479 Davis-Cannon Apr 1998 A
5745116 Pisutha-Arnond Apr 1998 A
5764223 Chang et al. Jun 1998 A
5771039 Ditzik Jun 1998 A
5784054 Armstrong et al. Jul 1998 A
5785439 Bowen Jul 1998 A
5786810 Knox et al. Jul 1998 A
5790910 Haskin Aug 1998 A
5801704 Oohara et al. Sep 1998 A
5804773 Wilson et al. Sep 1998 A
5818421 Ogino et al. Oct 1998 A
5818424 Korth Oct 1998 A
5819201 DeGraaf Oct 1998 A
5825352 Bisset et al. Oct 1998 A
5831602 Sato et al. Nov 1998 A
5854491 Pryor et al. Dec 1998 A
5909210 Knox et al. Jun 1999 A
5911004 Ohuchi et al. Jun 1999 A
5914709 Graham et al. Jun 1999 A
5920342 Umeda et al. Jul 1999 A
5936615 Waters Aug 1999 A
5940065 Babb et al. Aug 1999 A
5943783 Jackson Aug 1999 A
5963199 Kato et al. Oct 1999 A
5982352 Pryor Nov 1999 A
5988645 Downing Nov 1999 A
5990874 Tsumura Nov 1999 A
6002808 Freeman Dec 1999 A
6008798 Mato, Jr. et al. Dec 1999 A
6029214 Dorfman et al. Feb 2000 A
6031531 Kimble Feb 2000 A
6061177 Fujimoto May 2000 A
6075905 Herman et al. Jun 2000 A
6076041 Watanabe Jun 2000 A
6091406 Kambara et al. Jul 2000 A
6100538 Ogawa Aug 2000 A
6104387 Chery et al. Aug 2000 A
6118433 Jenkin et al. Sep 2000 A
6122865 Branc et al. Sep 2000 A
6128003 Smith et al. Oct 2000 A
6141000 Martin Oct 2000 A
6144366 Numazaki et al. Nov 2000 A
6147678 Kumar et al. Nov 2000 A
6153836 Gosyk Nov 2000 A
6161066 Wright et al. Dec 2000 A
6179426 Rodriquez, Jr. et al. Jan 2001 B1
6188388 Arita et al. Feb 2001 B1
6191773 Maruno et al. Feb 2001 B1
6208329 Ballare Mar 2001 B1
6208330 Hasegawa et al. Mar 2001 B1
6209266 Branc et al. Apr 2001 B1
6215477 Morrison et al. Apr 2001 B1
6222175 Krymski Apr 2001 B1
6226035 Korein et al. May 2001 B1
6229529 Yano et al. May 2001 B1
6232962 Davis et al. May 2001 B1
6252989 Geisler et al. Jun 2001 B1
6256033 Nguyen Jul 2001 B1
6262718 Findlay et al. Jul 2001 B1
6310610 Beaton et al. Oct 2001 B1
6320597 Ieperen Nov 2001 B1
6323846 Westerman Nov 2001 B1
6326954 Van Ieperen Dec 2001 B1
6328270 Elberbaum Dec 2001 B1
6335724 Takekawa et al. Jan 2002 B1
6337681 Martin Jan 2002 B1
6339748 Hiramatsu Jan 2002 B1
6346966 Toh Feb 2002 B1
6352351 Ogasahara et al. Mar 2002 B1
6353434 Akebi Mar 2002 B1
6359612 Peter et al. Mar 2002 B1
6362468 Murakami et al. Mar 2002 B1
6377228 Jenkin et al. Apr 2002 B1
6384743 Vanderheiden May 2002 B1
6414671 Gillespie et al. Jul 2002 B1
6414673 Wood et al. Jul 2002 B1
6421042 Omura et al. Jul 2002 B1
6427389 Branc et al. Aug 2002 B1
6429856 Omura et al. Aug 2002 B1
6429857 Masters et al. Aug 2002 B1
6480187 Sano et al. Nov 2002 B1
6496122 Sampsell Dec 2002 B2
6497608 Ho et al. Dec 2002 B2
6498602 Ogawa Dec 2002 B1
6504532 Ogasahara et al. Jan 2003 B1
6507339 Tanaka Jan 2003 B1
6512513 Fleck et al. Jan 2003 B2
6512838 Rafii et al. Jan 2003 B1
6517266 Saund Feb 2003 B2
6518600 Shaddock Feb 2003 B1
6522830 Yamagami Feb 2003 B2
6529189 Colgan et al. Mar 2003 B1
6530664 Vanderwerf et al. Mar 2003 B2
6531999 Trajkovic Mar 2003 B1
6532006 Takekawa et al. Mar 2003 B1
6540366 Keenan et al. Apr 2003 B2
6540679 Slayton et al. Apr 2003 B2
6545669 Kinawi et al. Apr 2003 B1
6559813 DeLuca et al. May 2003 B1
6563491 Omura May 2003 B1
6567078 Ogawa May 2003 B2
6567121 Kuno May 2003 B1
6570103 Saka et al. May 2003 B1
6570612 Saund et al. May 2003 B1
6577299 Schiller et al. Jun 2003 B1
6587099 Takekawa Jul 2003 B2
6590568 Astala et al. Jul 2003 B1
6594023 Omura et al. Jul 2003 B1
6597348 Yamazaki et al. Jul 2003 B1
6597508 Seino et al. Jul 2003 B2
6603867 Sugino et al. Aug 2003 B1
6608619 Omura et al. Aug 2003 B2
6614422 Rafii et al. Sep 2003 B1
6624833 Kumar et al. Sep 2003 B1
6626718 Hiroki Sep 2003 B2
6630922 Fishkin et al. Oct 2003 B2
6633328 Byrd et al. Oct 2003 B1
6650318 Arnon Nov 2003 B1
6650822 Zhou Nov 2003 B1
6674424 Fujioka Jan 2004 B1
6683584 Ronzani et al. Jan 2004 B2
6690357 Dunton et al. Feb 2004 B1
6690363 Newton Feb 2004 B2
6690397 Daignault, Jr. Feb 2004 B1
6710770 Tomasi et al. Mar 2004 B2
6714311 Hashimoto Mar 2004 B2
6720949 Pryor et al. Apr 2004 B1
6736321 Tsikos et al. May 2004 B2
6738051 Boyd et al. May 2004 B2
6741250 Furlan et al. May 2004 B1
6747636 Martin Jun 2004 B2
6756910 Ohba et al. Jun 2004 B2
6760009 Omura et al. Jul 2004 B2
6760999 Branc et al. Jul 2004 B2
6774889 Zhang et al. Aug 2004 B1
6778207 Lee et al. Aug 2004 B1
6803906 Morrison et al. Oct 2004 B1
6828959 Takekawa et al. Dec 2004 B2
6829372 Fujioka Dec 2004 B2
6864882 Newton Mar 2005 B2
6911972 Brinjes Jun 2005 B2
6919880 Morrison et al. Jul 2005 B2
6927384 Reime et al. Aug 2005 B2
6933981 Kishida et al. Aug 2005 B1
6947032 Morrison et al. Sep 2005 B2
6954197 Morrison et al. Oct 2005 B2
6972401 Akitt et al. Dec 2005 B2
6972753 Kimura et al. Dec 2005 B1
6982697 Wilson et al. Jan 2006 B2
7002555 Jacobsen et al. Feb 2006 B1
7007236 Dempski et al. Feb 2006 B2
7015418 Cahill et al. Mar 2006 B2
7030861 Westerman et al. Apr 2006 B1
7057647 Monroe Jun 2006 B1
7058204 Hildreth et al. Jun 2006 B2
7075054 Iwamoto et al. Jul 2006 B2
7084857 Lieberman et al. Aug 2006 B2
7084859 Pryor Aug 2006 B1
7084868 Farag et al. Aug 2006 B2
7098392 Sitrick et al. Aug 2006 B2
7121470 McCall et al. Oct 2006 B2
7151533 Van Iperen Dec 2006 B2
7176904 Satoh Feb 2007 B2
7184030 McCharles et al. Feb 2007 B2
7187489 Miles Mar 2007 B2
7190348 Kennedy et al. Mar 2007 B2
7190496 Klug et al. Mar 2007 B2
7202860 Ogawa Apr 2007 B2
7227526 Hildreth et al. Jun 2007 B2
7232986 Worthington et al. Jun 2007 B2
7236162 Morrison et al. Jun 2007 B2
7237937 Kawashima et al. Jul 2007 B2
7242388 Lieberman et al. Jul 2007 B2
7265748 Ryynanen Sep 2007 B2
7268692 Lieberman Sep 2007 B1
7274356 Ung et al. Sep 2007 B2
7283126 Leung Oct 2007 B2
7283128 Sato Oct 2007 B2
7289113 Martin Oct 2007 B2
7302156 Lieberman et al. Nov 2007 B1
7305368 Lieberman et al. Dec 2007 B2
7330184 Leung Feb 2008 B2
7333094 Lieberman et al. Feb 2008 B2
7333095 Lieberman et al. Feb 2008 B1
7355593 Hill et al. Apr 2008 B2
7372456 McLintock May 2008 B2
7375720 Tanaka May 2008 B2
RE40368 Arnon Jun 2008 E
7411575 Hill et al. Aug 2008 B2
7414617 Ogawa Aug 2008 B2
7479949 Jobs et al. Jan 2009 B2
7492357 Morrison et al. Feb 2009 B2
7499037 Lube Mar 2009 B2
7532206 Morrison et al. May 2009 B2
7538759 Newton May 2009 B2
7559664 Walleman et al. Jul 2009 B1
7619617 Morrison et al. Nov 2009 B2
7692625 Morrison et al. Apr 2010 B2
20010019325 Takekawa Sep 2001 A1
20010022579 Hirabayashi Sep 2001 A1
20010026268 Ito Oct 2001 A1
20010033274 Ong Oct 2001 A1
20010050677 Tosaya Dec 2001 A1
20010055006 Sano et al. Dec 2001 A1
20020008692 Omura et al. Jan 2002 A1
20020015159 Hashimoto Feb 2002 A1
20020036617 Pryor Mar 2002 A1
20020041327 Hildreth et al. Apr 2002 A1
20020050979 Oberoi et al. May 2002 A1
20020064382 Hildrerth et al. May 2002 A1
20020067922 Harris Jun 2002 A1
20020075243 Newton Jun 2002 A1
20020080123 Kennedy et al. Jun 2002 A1
20020118177 Newton Aug 2002 A1
20020145595 Satoh Oct 2002 A1
20020163530 Takakura et al. Nov 2002 A1
20030001825 Omura et al. Jan 2003 A1
20030025951 Pollard et al. Feb 2003 A1
20030043116 Morrison et al. Mar 2003 A1
20030046401 Abbott et al. Mar 2003 A1
20030063073 Geaghan et al. Apr 2003 A1
20030071858 Morohoshi Apr 2003 A1
20030085871 Ogawa May 2003 A1
20030095112 Kawano et al. May 2003 A1
20030137494 Tulbert Jul 2003 A1
20030142880 Hyodo Jul 2003 A1
20030151532 Chen et al. Aug 2003 A1
20030151562 Kulas Aug 2003 A1
20030156118 Ayinde Aug 2003 A1
20030161524 King Aug 2003 A1
20030210803 Kaneda et al. Nov 2003 A1
20030227492 Wilde et al. Dec 2003 A1
20040001144 McCharles et al. Jan 2004 A1
20040012573 Morrison et al. Jan 2004 A1
20040021633 Rajkowski Feb 2004 A1
20040031779 Cahill et al. Feb 2004 A1
20040032401 Nakazawa et al. Feb 2004 A1
20040046749 Ideda Mar 2004 A1
20040051709 Ogawa et al. Mar 2004 A1
20040071363 Kouri et al. Apr 2004 A1
20040108990 Lieberman Jun 2004 A1
20040125086 Hagermoser et al. Jul 2004 A1
20040149892 Akitt et al. Aug 2004 A1
20040150630 Hinckley et al. Aug 2004 A1
20040169639 Pate et al. Sep 2004 A1
20040178993 Morrison et al. Sep 2004 A1
20040178997 Gillespie et al. Sep 2004 A1
20040179001 Morrison et al. Sep 2004 A1
20040189720 Wilson et al. Sep 2004 A1
20040201575 Morrison Oct 2004 A1
20040204129 Payne et al. Oct 2004 A1
20040218479 Iwamoto et al. Nov 2004 A1
20040221265 Leung et al. Nov 2004 A1
20040252091 Ma et al. Dec 2004 A1
20050052427 Wu et al. Mar 2005 A1
20050057524 Hill et al. Mar 2005 A1
20050077452 Morrison et al. Apr 2005 A1
20050083308 Homer et al. Apr 2005 A1
20050104860 McCreary et al. May 2005 A1
20050128190 Ryynanen Jun 2005 A1
20050151733 Sander et al. Jul 2005 A1
20050156900 Hill et al. Jul 2005 A1
20050190162 Newton Sep 2005 A1
20050241929 Auger et al. Nov 2005 A1
20050243070 Ung et al. Nov 2005 A1
20050248539 Morrison et al. Nov 2005 A1
20050248540 Newton Nov 2005 A1
20050270781 Marks Dec 2005 A1
20050276448 Pryor Dec 2005 A1
20060012579 Sato Jan 2006 A1
20060022962 Morrison et al. Feb 2006 A1
20060028456 Kang Feb 2006 A1
20060034486 Morrison et al. Feb 2006 A1
20060152500 Weng Jul 2006 A1
20060158437 Blythe et al. Jul 2006 A1
20060170658 Nakamura et al. Aug 2006 A1
20060192799 Vega et al. Aug 2006 A1
20060197749 Popovich Sep 2006 A1
20060202953 Pryor et al. Sep 2006 A1
20060227120 Eikman Oct 2006 A1
20060244734 Hill et al. Nov 2006 A1
20060274067 Hidai Dec 2006 A1
20060279558 Van Delden et al. Dec 2006 A1
20070002028 Morrison et al. Jan 2007 A1
20070019103 Lieberman et al. Jan 2007 A1
20070075648 Blythe et al. Apr 2007 A1
20070075982 Morrison et al. Apr 2007 A1
20070089915 Ogawa et al. Apr 2007 A1
20070116333 Dempski et al. May 2007 A1
20070126755 Zhang et al. Jun 2007 A1
20070139932 Sun et al. Jun 2007 A1
20070152984 Ording et al. Jul 2007 A1
20070152986 Ogawa et al. Jul 2007 A1
20070165007 Morrison et al. Jul 2007 A1
20070167709 Slayton et al. Jul 2007 A1
20070205994 van Ieperen Sep 2007 A1
20070236454 Ung et al. Oct 2007 A1
20070269107 Iwai et al. Nov 2007 A1
20070273842 Morrison Nov 2007 A1
20070290996 Ting Dec 2007 A1
20070291125 Marquet Dec 2007 A1
20080029691 Han Feb 2008 A1
20080042999 Martin Feb 2008 A1
20080055262 Wu et al. Mar 2008 A1
20080055267 Wu et al. Mar 2008 A1
20080062140 Hotelling et al. Mar 2008 A1
20080062149 Baruk Mar 2008 A1
20080068352 Worthington et al. Mar 2008 A1
20080083602 Auger et al. Apr 2008 A1
20080106706 Holmgren et al. May 2008 A1
20080122803 Izadi et al. May 2008 A1
20080129707 Pryor Jun 2008 A1
20080259050 Lin et al. Oct 2008 A1
20080259052 Lin et al. Oct 2008 A1
20090058832 Newton Mar 2009 A1
20090058833 Newton Mar 2009 A1
20090146972 Morrison et al. Jun 2009 A1
Foreign Referenced Citations (152)
Number Date Country
2003233728 Dec 2003 AU
2006243730 Nov 2006 AU
2058219 Apr 1993 CA
2367864 Apr 1993 CA
2219886 Apr 1999 CA
2251221 Apr 1999 CA
2267733 Oct 1999 CA
2268208 Oct 1999 CA
2252302 Apr 2000 CA
2350152 Jun 2001 CA
2412878 Jan 2002 CA
2341918 Sep 2002 CA
2386094 Dec 2002 CA
2372868 Aug 2003 CA
2390503 Dec 2003 CA
2390506 Dec 2003 CA
2432770 Dec 2003 CA
2493236 Dec 2003 CA
2448603 May 2004 CA
2453873 Jul 2004 CA
2460449 Sep 2004 CA
2521418 Oct 2004 CA
2481396 Mar 2005 CA
2491582 Jul 2005 CA
2563566 Nov 2005 CA
2564262 Nov 2005 CA
2501214 Sep 2006 CA
2606863 Nov 2006 CA
2580046 Sep 2007 CA
1310126 Aug 2001 CN
1784649 Jun 2006 CN
101019096 Aug 2007 CN
101023582 Aug 2007 CN
1440539 Sep 2009 CN
3836429 May 1990 DE
198 10 452 Dec 1998 DE
60124549 Sep 2007 DE
0125068 Nov 1984 EP
0279652 Aug 1988 EP
0347725 Dec 1989 EP
0420335 Apr 1991 EP
0 657 841 Jun 1995 EP
0762319 Mar 1997 EP
0829798 Mar 1998 EP
0897161 Feb 1999 EP
0911721 Apr 1999 EP
1059605 Dec 2000 EP
1262909 Dec 2002 EP
1739528 Jan 2003 EP
1739529 Jan 2003 EP
1297488 Apr 2003 EP
1420335 May 2004 EP
1 450 243 Aug 2004 EP
1457870 Sep 2004 EP
1471459 Oct 2004 EP
1517228 Mar 2005 EP
1550940 Jun 2005 EP
1611503 Jan 2006 EP
1674977 Jun 2006 EP
1741186 Jan 2007 EP
1766501 Mar 2007 EP
1830248 Sep 2007 EP
1877893 Jan 2008 EP
2279823 Sep 2007 ES
1575420 Sep 1980 GB
2176282 May 1986 GB
2204126 Nov 1988 GB
2263765 Aug 1993 GB
57-211637 Dec 1982 JP
61-196317 Aug 1986 JP
61-260322 Nov 1986 JP
62-005428 Jan 1987 JP
63-223819 Sep 1988 JP
3-054618 Mar 1991 JP
03-244017 Oct 1991 JP
4-350715 Dec 1992 JP
4-355815 Dec 1992 JP
5-181605 Jul 1993 JP
5-189137 Jul 1993 JP
5-197810 Aug 1993 JP
06-110608 Apr 1994 JP
7-110733 Apr 1995 JP
7-230352 Aug 1995 JP
8-016931 Feb 1996 JP
8-108689 Apr 1996 JP
8-240407 Sep 1996 JP
8-315152 Nov 1996 JP
9-091094 Apr 1997 JP
9-224111 Aug 1997 JP
9-319501 Dec 1997 JP
10-105324 Apr 1998 JP
10-222646 Aug 1998 JP
11-051644 Feb 1999 JP
11-064026 Mar 1999 JP
11-085376 Mar 1999 JP
11-110116 Apr 1999 JP
11-203042 Jul 1999 JP
11-212692 Aug 1999 JP
2000-105671 Apr 2000 JP
2000-132340 May 2000 JP
2001-075735 Mar 2001 JP
2001-142642 May 2001 JP
2001-282456 Oct 2001 JP
2001-282457 Oct 2001 JP
2002-055770 Feb 2002 JP
2002-236547 Aug 2002 JP
2003-65716 Mar 2003 JP
2003-158597 May 2003 JP
2003-167669 Jun 2003 JP
2003-173237 Jun 2003 JP
2005-108211 Apr 2005 JP
2005-182423 Jul 2005 JP
2005-202950 Jul 2005 JP
9807112 Feb 1998 WO
9908897 Feb 1999 WO
9921122 Apr 1999 WO
9928812 Jun 1999 WO
9940562 Aug 1999 WO
0124157 Apr 2001 WO
0131570 May 2001 WO
0163550 Aug 2001 WO
0191043 Nov 2001 WO
0203316 Jan 2002 WO
0207073 Jan 2002 WO
0227461 Apr 2002 WO
03104887 Dec 2003 WO
03105074 Dec 2003 WO
2004072843 Aug 2004 WO
2004090706 Oct 2004 WO
2004102523 Nov 2004 WO
2004104810 Dec 2004 WO
2005031554 Apr 2005 WO
2005034027 Apr 2005 WO
2005106775 Nov 2005 WO
2005107072 Nov 2005 WO
2006002544 Jan 2006 WO
2006092058 Sep 2006 WO
2006095320 Sep 2006 WO
2006096962 Sep 2006 WO
2006116869 Nov 2006 WO
2007003196 Jan 2007 WO
2007019600 Feb 2007 WO
2007037809 Apr 2007 WO
2007064804 Jun 2007 WO
2007079590 Jul 2007 WO
2007132033 Nov 2007 WO
2007134456 Nov 2007 WO
2008128096 Oct 2008 WO
2009029764 Mar 2009 WO
2009029767 Mar 2009 WO
2009146544 Dec 2009 WO
2010051633 May 2010 WO
Non-Patent Literature Citations (67)
Entry
Jul. 5, 2010 Office Action, with English translation, for Japanese Patent Application No. 2005-000268 (6 pages).
Villamor et al. “Touch Gesture Reference Guide”, Apr. 15, 2010.
“White Paper”, Digital Vision Touch Technology, Feb. 2003.
International Search Report for PCT/CA2008/001350 mailed Oct. 17, 2008 (5 Pages).
International Search Report and Written Opinion for PCT/CA2004/001759 mailed Feb. 21, 2005 (7 Pages).
International Search Report and Written Opinion for PCT/CA2009/000773 mailed Aug. 12, 2009 (11 Pages).
European Search Opinion for EP 07 25 0888 dated Jun. 22, 2007 (2 pages).
European Search Report for EP 07 25 0888 dated Jun. 22, 2007 (2 pages).
May 12, 2009 Office Action for Canadian Patent Application No. 2,412,878 (4 pages).
Tapper, C.C., et al., “On-Line Handwriting Recognition—A Survey”, Proceedings of the International Conference on Pattern Recognition (ICPR), Rome, Nov. 14-17, 1988, Washington, IEEE Comp. Soc. Press. US, vol. 2 Conf. 9, Nov. 14, 1988, pp. 1123-1132.
Press Release, “IntuiLab introduces IntuiFace, An interactive table and its application platform” Nov. 30, 2007.
Overview page for IntuiFace by IntuiLab, Copyright 2008.
NASA Small Business Innovation Research Program: Composite List of Projects 1983-1989, Aug. 1990.
Touch Panel, vol. 1 No. 1 (2005).
Touch Panel, vol. 1 No. 2 (2005).
Touch Panel, vol. 1 No. 3 (2006).
Touch Panel, vol. 1 No. 4 (2006).
Touch Panel, vol. 1 No. 5 (2006).
Touch Panel, vol. 1 No. 6 (2006).
Touch Panel, vol. 1 No. 7 (2006).
Touch Panel, vol. 1 No. 8 (2006).
Touch Panel, vol. 1 No. 9 (2006).
Touch Panel, vol. 1 No. 10 (2006).
Touch Panel, vol. 2 No. 1 (2006).
Touch Panel, vol. 2 No. 2 (2007).
Touch Panel, vol. 2 No. 3 (2007).
Touch Panel, vol. 2 No. 4 (2007).
Touch Panel, vol. 2 No. 5 (2007).
Touch Panel, vol. 2 No. 6 (2007).
Touch Panel, vol. 2 No. 7-8 (2008).
Touch Panel, vol. 2 No. 9-10 (2008).
Touch Panel, vol. 3 No. 1-2 (2008).
Touch Panel, vol. 3 No. 3-4 (2008).
Touch Panel, vol. 3 No. 5-6 (2009).
Touch Panel, vol. 3 No. 7-8 (2009).
Touch Panel, vol. 3 No. 9 (2009).
Touch Panel, vol. 4 No. 2-3 (2009).
Partial European Search Report for EP 03 25 7166 which was completed on May 19, 2006.
International Search Report with a date of mailing of Oct. 22, 2001 for PCT/CA 01/00980 with an International Filing Date of Jul. 5, 2001.
Bud K. Funk, CCDs in optical panels deliver high resolution, Electronic Design, Sep. 27, 1980, pp. 139-143.
Bernhard P. Wrobel, “Minimum Solutions for Orientation”, Calibration and Orientation of Cameras in Computer Vision, Springer Series in Infomation Sciences, vol. 34, 2001, pp. 28-33.
Kenichi Kanatani, “Camera Calibration”, Geometric Computation for Machine Vision, Oxford Engineering Science Series, vol. 37, 1993, pp. 56-63.
Richard Hartley and Andrew Zisserman, “Multiple View Geometry in Computer Vision”, Cambridge University Press, First published 2000, Reprinted (with corrections) 2001, pp. 70-73, 92-93 and 98-99.
Wolfgang Förstner, “On Estimating Rotations”, Festschrift für Prof. Dr.-Ing. Heinrich Ebner zum 60. Geburtstag, Herausg.: C. Heipke und H. Mayer, Lehrstuhl für Photogrammetrie und Fernerkundung, TU München, 1999, 12 pages. (http://www.ipb.uni-bonn.de/papers/#1999).
European Search Report for EP 04 25 1392 for a search that was completed on Jan. 11, 2007.
European Search Report for EP 06 01 9269 for a search that was completed on Nov. 9, 2006.
European Search Report for EP 06 01 9268 for a search that was completed on Nov. 9, 2006.
European Search Report for EP 02 25 3594 for a search that was completed on Dec. 14, 2005.
Fie-Yue Wang, et al., “Stereo camera calibration without absolute world coordinate information”, SPIE, vol. 2620, pp. 655-662, Jun. 14, 1995.
Notification of Transmittal of the International Search Report and the Written Opinion of the International Searching Authority regarding International Application No. PCT/CA2007/002184, as mailed on Mar. 13, 2008.
International Preliminary Report on Patentability, PCT/NZ2004/000029, May 20, 2005 (21 pages).
“International Preliminary Report on Patentability”, PCT/US2008/060102, Oct. 22, 2009 (9 pages).
International Search Report for PCT/CA2010/001085 mailed Oct. 12, 2010 (5 pages).
“International Application Serial No. PCT/US2008/060102, Search Report & Written opinion mailed Feb. 12, 2009” (14 pages).
International Application Serial No. PCT/US2008/074749, Search Report & Written Opinion mailed Feb. 11, 2009 (10 pages).
“International Application Serial No. PCT/US2008/074755, International Search Report and Written Opinion mailed Jan. 29, 2009” (14 pages).
International Search Report for PCT/NZ05/00092 Sep. 27, 2006 (4 pages).
Loinaz et al., “A 200-mW, 3.3-V, CMOS Color Camera IC Producing 352×288 24-B Video at 30 Frames/s,” IEEE Journal of Solid-StateCircuits,vol. 31,No. 12,Dec. 1998, pp. 2092-2103.
Yawcheng Lo, “Solid-state image sensor: technologies and applications,” Input/Output and Imaging Technologies, Y.T. Tsai, T-M. Kung, and J. Larsen, eds. SPIE Proceedings vol. 3422, pp. 70-80 (1998).
Touch Panel, vol. 5 No. 2-3 (Sep. 2010).
Touch Panel, vol. 5 No. 4 (Nov. 2010).
“Store Window Presentations”, Heddier Electronic.
“ThruGlass”, Projected Capacitive Touchscreencs Specifications, Micro Touch.
Benko, et al., “Precise Selection Techniques for Multi-Touch Screens”, Proc. ACM CHI 2006: Human Factors in Computer Systems, pp. 1263-1272.
Buxton, W., “Issues and Techniques in Touch-Sensitive Tablet Input,” Computer Graphics, 19(3), Proceedings of SIGGRAPH '85, 1985, pp. 215-223.
VGA-format CMOS Camera-on-a-Chip for Multimedia Applications, Photobit Corporation, 1999 (2 pages).
English Translation of Decision of Rejection for Japanese Patent Application No. 2002-507309, date of Decision: Aug. 18, 2011, 9 pages.
Related Publications (1)
Number Date Country
20090160801 A1 Jun 2009 US
Continuations (1)
Number Date Country
Parent 10384783 Mar 2003 US
Child 12325507 US