# Patent

## Title
System and method for injecting ink into an application

## Abstract

A touch system includes a touch panel having a touch surface and a projector for projecting images onto the touch surface. A computer executing an applications program is coupled to the touch panel and the projector. The computer is responsive to contact output generated by the touch panel in response to proximity of a pointer to the touch surface and updates image data conveyed to the projector so that the images presented on the touch surface reflect the pointer activity. The computer executes a gesture responsive ink injection routine to detect when a selected gesture is made with the pointer on the touch surface. The gesture responsive ink injection routine performs recognition to convert ink drawn on the touch surface into a form suitable for the applications program when the selected gesture is recognized and enters the recognized text into the application.

## Background
FIELD OF THE INVENTION
The present invention relates generally to touch systems and in particular to a system and method for injecting ink into an application executed by a computer and displayed on a touch panel.
BACKGROUND OF THE INVENTION
Touch systems are well known in the art and many variations exist. In all cases, touch systems include a touch panel 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 that represent the positions on the touch surface where contacts are made. The contact position output is typically fed to a computer that executes one or more applications programs. The computer generates image data that is used to present images on the touch surface. The computer uses the contact position output to update the image data and thus, the images presented on the touch surface. In this manner, the images presented on the touch surface are updated to reflect the activity of the pointer on the touch surface.
For example, U.S. Pat. No. 5,448,263 to Martin, assigned to the assignee of the present invention, discloses a passive analog resistive touch panel coupled to a computer. The computer provides image data to a projector that projects images onto the touch surface of the touch panel. The touch panel includes a tool tray that supports a plurality of differently coloured pens. When a user contacts the touch surface either with a finger, other pointer or a pen, the touch panel outputs signals representing the contact position on the touch surface. The contact position data is conveyed to the computer and is mapped to the computer display. If a finger or other pointer is used to contact the touch surface, the touch system operates in a pointer mode and the contact position data is treated as a mouse event. This allows the user to operate the computer in a manner similar to using a computer mouse i.e. select menus, manipulate objects etc. simply by contacting the touch surface. If a pen is lifted from the tool tray and is used to contact the touch surface, the touch system operates in an ink mode and the contact position data is recorded as writing or drawing.
When the computer is running an applications program in a Windows environment, a computer desktop image is presented on the touch surface that includes icons representing the various applications programs available for selection. When an icon is selected, a window for the selected applications program is opened. The window typically includes a frame, one or more tool bars, optional scroll bars and an active area surrounded by the frame, tool bars and scroll bars. In the pointer mode, contacts on the touch surface are treated as mouse event input to the computer desktop. The computer in response to the mouse event input controls the computer desktop or selected applications program according to the touch panel output and updates the image data conveyed to the projector for display to reflect the pointer activity.
In the ink mode, an acetate image identical to the computer desktop image overlies the computer desktop image to provide a surface on which ink can be drawn. When a pen contacts the touch surface, the contact position data is treated as writing or drawing. In this case, the computer updates the image data conveyed to the projector for display so that the writing or drawing is displayed on the acetate image.
In many instances, it is desired to take handwritten information appearing on the acetate image and place it in the underlying applications program. Heretofore, there has been no convenient mechanism to achieve this.
It is therefore an object of the present invention to provide a novel system and method for injecting ink that is displayed on a touch panel into an application executed by a computer.
SUMMARY OF THE INVENTION
According to one aspect of the present invention there is provided a method of injecting ink into an application executed by a computer and displayed on a touch panel, said method comprising the steps of:
detecting when a predetermined gesture is made with a pointer on said touch panel, on which ink has been entered and overlies said application;
performing recognition to convert said ink into a form suitable for said application; and
entering the recognized ink into said application.
In a preferred embodiment, the predetermined gesture is a stationary pointer contact on the touch panel that is maintained for at least a threshold duration. It is also preferred that the recognized ink is entered into the application at the location on the touch panel whether the pointer is held. Preferably, the method further comprises the step of providing visual feedback on the touch panel while the pointer is being held on the touch panel. The method also includes the step of visually presenting the recognized ink on the touch panel prior to the entering.
In one embodiment, the recognized ink is presented as a selectable item in a menu. The entering is performed upon selection of the item. A clear writing item is also provided in the menu.
Alternatively, the visual feedback may be a display of the recognized ink. In this case, the recognized ink is the visual feedback and is presented visually when the percentage accuracy of recognition is over a threshold. In yet another embodiment, a number of options for the recognized ink are presented on the touch panel prior to the entering.
According to another aspect of the present invention there is provided a system for injecting ink into an application executed by a computer and displayed on a touch panel, said system comprising:
means for detecting when a predetermined gesture is made with a pointer on said touch panel, on which ink has been entered and overlies said application;
means for performing recognition to convert said ink into a form suitable for said application; and
means for entering the recognized ink into said application.
According to yet another aspect of the present invention there is provided a touch system comprising:
a touch panel having a touch surface;
a projector presenting images onto said touch surface; and
a computer executing an applications program and being coupled to said touch panel and said projector, said computer being responsive to contact output generated by said touch panel in response to proximity of a pointer to said touch surface and updating image data conveyed to said projector so that images presented on said touch surface reflect pointer activity, said computer executing a gesture responsive ink injection routine to detect when a selected gesture is made with said pointer on said touch surface, said gesture responsive ink injection routine performing recognition to convert ink drawn on said touch surface into a form suitable for said applications program when said selected gesture is recognized and entering said recognized ink into said applications program.
According to still yet another aspect of the present invention there is provided a computer program product including a computer readable medium having a computer program for injecting ink into an application executed by a computer and displayed on a touch panel embodied thereon, said computer program including:
computer program code for detecting when a predetermined gesture is made with a pointer on said touch panel, on which ink has been entered and overlies said application;
computer program code for performing recognition to convert said ink into a form suitable for said application; and
computer program code for entering the recognized ink into said application.
The present invention provides advantages in that recognized ink can be entered into an application quickly, easily and in an intuitive manner using a pointer gesture.



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 schematic diagram of an interactive touch system including a touch panel having a touch surface;
FIG. 2 is a view of a computer desktop image together with an acetate desktop image presented on the touch surface of the touch panel;
FIG. 3 is a view of a computer desktop image and overlying acetate image, each having a text field, presented on the touch surface of the touch panel;
FIG. 4 is the computer desktop image and overlying acetate image of FIG. 3 with writing applied to the acetate image;
FIG. 5 is a flow chart showing the steps performed by a gesture responsive ink injection routine;
FIG. 6 is the computer desktop image and overlying acetate image of FIG. 4 with a pointer held on the touch surface at the text field;
FIG. 7 is the computer desktop image and overlying acetate image of FIG. 6 including a menu that appears after the pointer has been held on the touch surface for a threshold duration;
FIG. 8 is the computer desktop image and overlying acetate image of FIG. 7 after the insert text menu item has been selected;
FIG. 9 is an alternative computer desktop image and overlying acetate image similar to FIG. 6 with a pointer held on the touch surface at the text field; and
FIG. 10 is the computer desktop image and overlying acetate image of FIG. 7 including a menu that appears after the pointer has been held on the touch surface for a threshold duration.



DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
Turning now to FIG. 1, an interactive touch system similar to that disclosed in U.S. Pat. No. 5,448,263 to Martin is shown and is generally identified by reference numeral 10. As can be seen, touch system 10 includes a touch panel 12 having a touch surface 14. The touch panel 12 in this embodiment is of the analog resistive type and includes a tool tray 15 that supports a plurality of differently coloured pens (not shown). Touch panel 12 is responsive to contacts on the touch surface 14 made using either a finger, other pointer or pen and generates output representative of the locations on the touch surface 14 where contacts are made. The contact position output of the touch panel 12 is fed to a computer 16 executing one or more applications programs and is treated either as mouse events or writing or drawing depending on the object used to contact the touch surface 14. Specifically, the contact position output of the touch panel 12 is treated as mouse events if a finger or other pointer is used to contact the touch surface 14. The contact position is however treated as writing or drawing when a pen is lifted from the tool tray 15 and is used to contact the touch surface 14. In this manner the touch system either operates in a pointer mode or ink mode depending on the object used to contact the touch surface 14. The computer 16 is also coupled to a front or rear projector 18 and provides image data to the projector. The projector 18 in turn presents images on the touch surface 14 of the touch panel. The touch panel 12, computer 16 and projector 18 form a closed-loop so that user contacts with the touch panel 12 can be recorded as writing or drawing or used to control execution of an applications program executed by the computer 16.
In the present embodiment, the computer 16 runs in a Windows environment and provides image data to the projector 18 so that a computer desktop image is presented on the touch surface 14. The computer desktop image presents one or more icons that can be selected to open associated applications programs. When an applications program is selected, a window for the applications program is opened. Turning now to FIG. 2, an applications program window 30 including an active area 32 bordered by a frame and one or more tool bars 34 is shown presented on the touch surface 14.
When a pen is used to contact the touch surface 14 and the touch system is conditioned to the ink mode, an acetate image 40 identical to the computer desktop image is displayed over the computer desktop image as shown FIG. 2. The acetate image 40 provides a surface for writing or drawing (commonly referred to as “ink”) so that the ink is not used by the computer 16 to update the underlying computer desktop image 30. Contact position data returned to the computer 16 by the touch panel 12 in response to pen contacts with the touch surface 14 are used by the computer to update the image data conveyed to the projector 18 so that the ink appears on the acetate image 40. As mentioned previously, once ink has been entered on the acetate image 40, in many cases it is desired to input, enter or apply (“inject”) the ink to an underlying applications program.
To facilitate injecting ink displayed on the acetate image 40 into the underlying applications program, the computer 16 executes a gesture responsive ink injection routine. In this manner, a user is able to inject ink displayed on the acetate image 40 into the applications program in a quick and easy manner.
Turning now to FIG. 3, an applications program window 50 including a text field 52 and an identical overlying acetate image are shown displayed on the touch surface 14 of touch panel 12. The applications program window 50 also includes an active area 56 accommodating the text field 52, a tool bar 58 and a border 60. FIG. 4 shows the applications program window 50 and overlying acetate image of FIG. 3 after a pen has been used to write the word “camfire” on the touch surface 14.
As mentioned above, the computer 16 is responsive to the output generated by the touch panel 12 in response to writing with a pen and provides updated image data to the projector 18 so that the image displayed on the touch surface 14 reflects the pen activity. The gesture responsive ink injection routine recognizes ink on the acetate image 40 in response to a predetermined gesture made on the touch panel 12 using the pen, and injects the ink into the applications program presented in the application program window 50. In the present embodiment, the gesture responsive ink injection routine recognizes handwriting on the acetate image 40 and injects corresponding text into the applications program presented in the application program window 50. Specifics of the gesture responsive ink injection routine will now be described with particular reference to FIGS. 5 to 8.
When a user wishes to inject writing as text into a text field of the applications program displayed within the window, the user simply needs to hold the pen against the touch surface 14 at the location where the writing is to be injected as indicated by the pen tip 62 in FIG. 6. In particular, when the pen contacts the touch surface 14 (see step 98 in FIG. 5), the gesture responsive ink injection routine initially assumes the pen contact is for the purpose of writing or drawing. If however, the pen remains stationary on the touch surface 14 for a short duration, in this embodiment 500 ms, the gesture response ink injection recognizes the stationary pen contact as the predetermined gesture (step 100). The gesture responsive ink injection routine in turn initiates a timer and records the location of the pen on the touch surface 14 (step 102). The gesture responsive ink injection routine then updates the image data conveyed to the projector 18 so that the displayed image provides visual feedback to the user signifying that the timer has been initiated. In this example, the phrase “click & hold” 64 is displayed below the text field 52 where the pointer is held (step 104).
Once the timer reaches a threshold value and the gesture has been maintained (step 106), the gesture responsive ink injection routine invokes a handwriting recognition routine to recognize the writing displayed on the acetate image (step 107) and updates the image data conveyed to the projector 18 so that a menu 70 is displayed adjacent the pen location as shown in FIG. 7 (step 108). In this example, the menu includes two items, namely a text item 72 that represents the result of the handwriting recognition routine, and a clear ink item 74. If the pen is moved from its location before the timer reaches the threshold count, the gesture responsive ink injection routine clears the timer and updates the image data conveyed to the projector 18 to remove the visual feedback (step 110). In the present embodiment, the threshold duration is 2 seconds. Those of skill in the art will however appreciate that this threshold duration is arbitrary and may be changed to suit the particular environment in which the touch system is being used.
If the user selects the text item 72, the gesture responsive ink injection routine inserts the result of the handwriting recognition routine as text into the applications program and updates the image data so that the image projected onto the touch surface 14 shows the selected text 76 inserted into the text field 52 as shown in FIG. 8 (step 112). During the text insertion process, the gesture responsive ink injection routines removes the acetate image and generates a mouse click event at the pen tip location 62. This causes the underlying applications program to set its input focus to the pen tip location 62. Keystrokes corresponding to the recognized text are then fed to the underlying applications program and the image data is updated so that the text is presented in the selected text field of the applications program. If the pen is still active i.e. it remains lifted from the tool tray 15, the acetate image is restored allowing inking to continue. If the user selects the clear item 74, the gesture responsive ink injection routine clears the result of the handwriting recognition routine and clears the timer (step 112).
As will be appreciated, the gesture responsive ink injection routine executed by the computer 16 allows writing made on the touch panel 12 to be inserted into an applications program quickly and easily using a pen gesture. Visual feedback allows the user to determine when gesture recognition is being performed and provides the user with the results of the handwriting recognition. In this manner, if the results of the handwriting recognition are accurate, the recognized handwriting can be easily selected so that the corresponding text can be injected into the applications program. If the results are inaccurate the results can be cleared and the process re-attempted.
Although the visual feedback signifying that the timer has been initiated is shown as the phrase “click & hold”, other forms of visual feedback can be used. For example, as shown in FIG. 9, the visual feedback may be the most likely result returned by the handwriting recognition routine. In this example, if the most likely result returned by the handwriting recognition routine has a percentage accuracy greater than or equal to 90%, the result 80 is displayed as the visual feedback. In this case, when the pen remains stationary on the touch surface 14 for the threshold duration, the gesture responsive ink injection routine automatically injects the result as text into the text field 52 of the applications program. If the most likely result has a percentage accuracy less than 90%, the “click & hold” phrase is presented as visual feedback. When the pen remains stationary on the touch surface 14 for the threshold duration, the gesture responsive ink injection routine presents a menu 82 that includes menu items representing the various potential results returned by the handwriting recognition routine as shown in FIG. 10.
The preferred embodiments describe the gesture used to invoke the gesture responsive ink injection routine as a stationary pointer condition that exceeds a threshold duration. It will however be appreciated that other suitable gestures can be used to invoke the gesture responsive ink injection routine such as for example a backwards V gesture.
Although the touch system has been described as switching between the pointer mode and the ink mode depending on the type of pointer used to contact the touch surface, this is for illustrative purposes only. For example, transitions between the pointer mode and ink mode can be achieved by selecting appropriate buttons on a small window that remains visible on the touch surface 14. In this manner, the same pointer can be used to generate mouse events or ink. The gesture responsive ink injection routine can be used in any touch system that includes a touch panel on which a computer image is presented. Such touch systems include active touch systems that make use of special pointers that emit signals such as infrared light, visible light, ultrasonic frequencies and electromagnetic frequencies in order to activate the touch surfaces. These touch systems also include passive surface acoustic wave or capacitive-type touch systems as well as camera-based touch systems such as that disclosed in International PCT Application No. WO 02/03316 to Smart Technologies Inc. et al., the assignee of the present invention.
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 injecting ink into an application executed by a computer and displayed on a touch surface, said method comprising the steps of:
displaying an acetate generally spanning the entire touch surface to provide a surface for ink;
detecting when ink has been input via one or more pointer contacts with said touch surface and displaying the input ink on the acetate;
detecting when a predetermined gesture is made with the pointer on said touch surface;
performing recognition on displayed ink based on the detected predetermined gesture and irrespective of the ink position on the acetate relative to a displayed input field within the application to convert said ink into a form suitable for said application; and
entering the converted ink into said application substantially at the position of the detected predetermined gesture.

2. The method of claim 1 wherein said predetermined gesture is a stationary pointer contact on said touch surface exceeding a threshold duration.

3. The method of claim 2 wherein said converted ink is entered into the application at the location of said stationary pointer contact.

4. The method of claim 3 further comprising the step of providing visual feedback while said pointer is stationary on said touch surface.

5. The method of claim 4 further comprising the step of visually presenting the recognized ink prior to said entering.

6. The method of claim 5 wherein said recognized ink is presented as a selectable item in a menu, said entering being performed upon selection of said item.

7. The method of claim 6 wherein said menu further includes a clear ink item.

8. The method of claim 5 wherein a plurality of options for said recognized ink is visually presented prior to said entering.

9. The method of claim 8 wherein said recognized ink options are presented as selectable items in a menu, said entering being performed upon selection of one of said items.

10. The method of claim 9 wherein said menu further includes a clear ink item.

11. The method of claim 4 wherein said visual feedback is a display of said recognized ink.

12. The method of claim 11 wherein said recognized ink is said visual feedback when the percentage accuracy of said recognition is over a threshold.

13. The method of claim 12 wherein said percentage accuracy threshold is 90%.

14. A system for injecting ink into an application executed by a computer and displayed on a touch surface, said system comprising:
means for displaying an acetate generally spanning the entire touch surface to provide a surface for ink;
means for detecting when ink has been input via one or more pointer contacts with said touch surface and displaying the input ink on the acetate;
means for detecting when a predetermined gesture represented by physical interaction between the pointer and said touch surface is made;
means for performing recognition on displayed ink based on the detected predetermined gesture and irrespective of the ink position on the acetate relative to a displayed input field within the application to convert said ink into a form suitable for said application; and
means for entering the converted ink into said application substantially at the position of the detected predetermined gesture.

15. The system according to claim 14 wherein said predetermined gesture is a stationary pointer contact on said touch surface exceeding a threshold duration.

16. The system according to claim 15 wherein said converted ink is entered into said application at the location of said stationary pointer contact.

17. The system according to claim 16 wherein said recognition means converts said ink into text.

18. A touch system comprising:
a touch panel having a touch surface;
a projector presenting images that are visible on said touch surface; and
a computer executing an applications program and being coupled to said touch panel and said projector, said applications program being displayed on said touch surface, said computer being responsive to contact output generated by said touch panel in response to proximity of a pointer to said touch surface and updating image data conveyed to said projector so that images presented on said touch surface reflect pointer activity, said computer displaying an acetate generally spanning the entire touch surface to provide a surface for ink, detecting when ink has been input via one or more pointer contacts with said touch surface and displaying the input ink on the acetate, said computer further executing a gesture responsive ink injection routine to detect when a selected gesture is made with said pointer through physical contact of said pointer on said touch surface, said gesture responsive ink injection routine performing recognition on displayed ink based on the detected selected gesture and irrespective of the ink position on the acetate relative to a displayed input field of said application program to convert the ink on said acetate into a form suitable for said applications program when said selected gesture is recognized and entering said recognized ink into said applications program substantially at the position of the detected selected gesture.

19. A touch system according to claim 18 wherein said recognized ink is converted into text.

20. A touch system according to claim 19 wherein said selected gesture is a stationary pointer contact on said touch surface exceeding a threshold duration.

21. A touch system according to claim 20 wherein said converted text is entered into said applications program at the location of said stationary pointer contact.

22. A touch system according to claim 21 wherein said gesture responsive ink injection routine provides visual feedback while said pointer is stationary on said touch surface.

23. A touch system according to claim 22 wherein said gesture responsive ink injection routine presents said recognized text as a selectable item in a menu.

24. A computer program product including a computer readable medium having a computer program for injecting ink into an application executed by a computer and displayed on a touch surface embodied thereon, said computer program including:
computer program code for displaying an acetate generally spanning the entire touch surface to provide a surface for ink;
computer program code for detecting when ink has been input via one or more pointer contacts with said touch surface and displaying the input ink on the acetate;
computer program code for detecting when a predetermined gesture as a result of physical interaction between the pointer and the touch surface is made;
computer program code for performing recognition on displayed ink based on the detected predetermined gesture and irrespective of the ink position on the acetate relative to a displayed input field within said application to convert said ink into a form suitable for said application; and
computer program code for entering the recognized ink into said application substantially at the position of the detected predetermined gesture.

25. A computer program product according to claim 24 wherein said computer program code for converting converts said ink into text.

26. A computer program product according to claim 25 wherein said computer program code for detecting acknowledges the predetermined gesture when the predetermined gesture has been maintained for a threshold duration.

27. A computer program product according to claim 26 wherein said predetermined gesture is a stationary pointer contact on said touch surface.

28. A computer program product according to claim 27 wherein said computer program code for entering enters the converted text into said application at the location of said stationary pointer contact.

29. A method of injecting ink into an application executed by a computer and displayed so that said application is visible when looking at a touch surface, said application comprising an active region within and spaced from the boundaries of said touch surface, said method comprising:
displaying an acetate dimensioned to correspond generally to the dimensions of the touch surface to provide a surface for ink extending beyond said active region;
detecting when ink has been input via one or more pointer contacts with said touch surface and displaying the input ink on the acetate;
detecting when a predetermined gesture is made with the pointer through physical contact of said pointer on said touch surface;
performing recognition to convert said displayed ink into a form suitable for said application based on the detected predetermined gesture; and
entering the converted ink into said application substantially at the position of the detected predetermined gesture, for display in the active region thereof, thereby allowing displayed ink on the acetate both inside and outside of the active region to be converted and entered into said application.

30. The method of claim 29 wherein said predetermined gesture is a stationary pointer contact on said touch surface exceeding a threshold duration.

31. The method of claim 30 wherein said converted ink is entered into the application at the location of said stationary pointer contact.

32. The method of claim 31 further comprising the step of providing visual feedback while said pointer is stationary on said touch surface.

33. A touch sensitive device comprising:
a touch surface; and
processing structure executing an application program, said application program being displayed on said touch surface, said processing structure being responsive to contacts made on said touch surface using a pointer, said processing structure displaying an acetate that spans the touch surface to provide a surface for ink, detecting when ink has been input via one or more pointer contacts with said touch surface and displaying the input ink on the acetate, said processing structure further executing a gesture responsive ink injection routine to detect when a selected gesture is made with said pointer through physical contact of said pointer on said touch surface, said gesture responsive ink injection routine performing recognition on displayed ink based on the detected selected gesture irrespective of the ink position on the acetate relative to a displayed input field of said application program to convert ink on said acetate into a form suitable for said application program when said selected gesture is recognized and entering said converted ink into said application program substantially at the position of the detected selected gesture.

34. A method of injecting ink into an application executed by a computer and displayed within a window on a desktop so that said application is visible when looking at a touch surface, said method comprising:
displaying an acetate dimensioned to correspond generally to the dimensions of the touch surface to provide a surface for ink that is not constrained by said application window;
detecting when ink has been input via one or more pointer contacts with said touch surface and displaying the input ink on the acetate;
detecting when a predetermined gesture is made with the pointer through physical contact of said pointer on said touch surface;
performing recognition to convert said displayed ink into a form suitable for said application based on the detected predetermined gesture; and
entering the converted ink into said application substantially at the position of the detected predetermined gesture for display in the application window irrespective of the location of the displayed input ink on the acetate.

35. The method of claim 34 wherein said predetermined gesture is a stationary pointer contact on said touch surface exceeding a threshold duration.

36. The method of claim 35 wherein said converted ink is entered into the application at the location of said stationary pointer contact.

37. The method of claim 36 further comprising the step of providing visual feedback while said pointer is stationary on said touch surface.