Searching and Matching unrecognized handwriting
First Claim
1. A method of operating a machine including a signal source for providing data based on gestures, memory for storing data based on gestures, and a processor connected for receiving signals;
- the method comprising;
receiving target gesture-based data from the signal source;
the target gesture-based data including a plurality of target sample data points ordered in time indicating a first path of motion over a first interval of time of a target gesture;
accessing a gesture-based data structure, referred to hereafter as a corpus data structure, stored in the machine memory;
the corpus data structure including a plurality of corpus gestures;
each respective corpus gesture including a plurality of sample corpus data points ordered in time indicating a respective path of motion over a respective interval of time of the respective corpus gesture;
performing a grouping operation using the corpus sample data points included in the corpus data structure to produce a plurality of corpus gesture sequences of sample data points;
each corpus gesture sequence including at least two time-ordered consecutive sample data points included in a respective one of the corpus gestures in the corpus data structure;
a first one of the corpus gesture sequences sharing time-ordered consecutive sample data points in common with a second one of the corpus gesture sequences such that when a single corpus gesture included in the corpus data structure indicates a sequence of handwritten symbols, overlapping first and second corpus gesture sequences indicate first and second overlapping subsequences of handwritten symbols;
comparing the target gesture-based data to each of the corpus gesture sequences to determine whether the target gesture-based data matches at least one of the corpus gesture sequences; and
producing a matching list of matching corpus gesture sequences that match the target gesture-based data without assigning a semantic label to any respective one of the matching corpus gesture sequences identifying the respective matching corpus gesture sequence;
the list including, for each matching corpus gesture sequence, a location in the corpus data structure of the matching corpus gesture sequence.
4 Assignments
0 Petitions
Accused Products
Abstract
A method and system provide for searching and matching gesture-based data such as handwriting without performing a recognition process on the handwritten gesture data to convert it to a standard computer-coded form. Target data collected as sample data points of spatial coordinates over time are concatenated into a single target gesture sequence of sample data points. The sample data points comprising the gesture-based data structure to be searched (the corpus) are grouped into corpus gesture sequences for matching against the target gesture sequence. Matching may be done by any suitable method, and a novel signal comparison technique based on dynamic time warping concepts is illustrated. The result of the matching is a list of the locations of the matching corpus gesture sequences in the corpus, which in turn may be used for further processing, such as the display of an image of the matching corpus gestures for a system user. The ability to determine the existence and location of a gesture in the corpus that matches a target gesture is the basis for performing a variety of additional functions, such as a "find and replace" function and the ability to use gestures as keywords to index a gesture-based data structure without performing recognition on either the keyword gestures or the gesture-based data structure. The technique is suitable for inclusion in any system that accepts gesture-based data, such as a personal digital assistant (PDA) or other pen-based computing device.
191 Citations
23 Claims
-
1. A method of operating a machine including a signal source for providing data based on gestures, memory for storing data based on gestures, and a processor connected for receiving signals;
- the method comprising;
receiving target gesture-based data from the signal source;
the target gesture-based data including a plurality of target sample data points ordered in time indicating a first path of motion over a first interval of time of a target gesture;accessing a gesture-based data structure, referred to hereafter as a corpus data structure, stored in the machine memory;
the corpus data structure including a plurality of corpus gestures;
each respective corpus gesture including a plurality of sample corpus data points ordered in time indicating a respective path of motion over a respective interval of time of the respective corpus gesture;performing a grouping operation using the corpus sample data points included in the corpus data structure to produce a plurality of corpus gesture sequences of sample data points;
each corpus gesture sequence including at least two time-ordered consecutive sample data points included in a respective one of the corpus gestures in the corpus data structure;
a first one of the corpus gesture sequences sharing time-ordered consecutive sample data points in common with a second one of the corpus gesture sequences such that when a single corpus gesture included in the corpus data structure indicates a sequence of handwritten symbols, overlapping first and second corpus gesture sequences indicate first and second overlapping subsequences of handwritten symbols;comparing the target gesture-based data to each of the corpus gesture sequences to determine whether the target gesture-based data matches at least one of the corpus gesture sequences; and producing a matching list of matching corpus gesture sequences that match the target gesture-based data without assigning a semantic label to any respective one of the matching corpus gesture sequences identifying the respective matching corpus gesture sequence;
the list including, for each matching corpus gesture sequence, a location in the corpus data structure of the matching corpus gesture sequence. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 14, 15, 16, 17, 18, 19)
- the method comprising;
-
11. A processor-controlled machine comprising:
-
a signal source for providing target gesture-based data including a plurality of target sample data points ordered in time indicating a first path of motion over a first interval of time of a target gesture; a processor connected for receiving the target gesture-based data from the signal source; and memory for storing data;
the data stored in the memory including instruction data indicating instructions the processor can execute, and a gesture-based data structure, referred to hereafter as a corpus data structure;
the corpus data structure including a plurality of corpus gestures;
each respective corpus gesture including a plurality of sample corpus data points ordered in time indicating a respective path of motion over a respective interval of time of the respective corpus gesture;the processor being further connected for accessing the data stored in the memory; the processor, in executing the instructions in response to receiving the target gesture-based data from the signal source, performing a grouping operation using the corpus sample data points included in the corpus data structure to produce a plurality of corpus gesture sequences of corpus sample data points;
each corpus gesture sequence including at least two time-ordered consecutive corpus sample data points included in a respective one of the corpus gestures in the corpus data structure;
a first one of the corpus gesture sequences sharing time-ordered consecutive sample data points in common with a second one of the corpus gesture sequences such that when a single corpus gesture included in the corpus data structure indicates a sequence of handwritten symbols, overlapping first and second corpus gesture sequences indicate first and second overlapping subsequences of handwritten symbols;comparing the target gesture-based data to each of the corpus gesture sequences to determine whether the target gesture-based data matches one of the corpus gesture sequences; and producing a list of matching corpus gesture sequences that match the target gesture-based data without assigning a semantic label to any respective one of the matching corpus gesture sequences identifying the respective matching corpus gesture sequence;
the list including, for each corpus gesture sequence, the location in the corpus data structure of the matching corpus gesture sequence. - View Dependent Claims (20, 21)
-
-
12. An article of manufacture for use in a processor-controlled machine that includes a user input device for receiving signals indicating actions and requests of a machine user;
- memory for storing data;
a storage medium access device for accessing a medium that stores data; and
a processor connected for receiving data from the user input device and for accessing the data stored in the memory;
the processor further being connected for receiving data from the storage medium access device;
the article comprising;a data storage medium that can be accessed by the storage medium access device when the article is used in the machine; and data stored in the data storage medium so that the storage medium access device can provide the stored data to the processor when the article is used in the machine; the stored data including target gesture receiving instruction data indicating input instructions the processor can execute to receive target gesture-based data from the user input device;
the target gesture-based data including a plurality of target sample data points ordered in time indicating a first path of motion over a first interval of time of a target gesture;the stored data further including operation performing instruction data indicating response instructions the processor can execute to perform operations for searching for the target gesture-based data in a gesture-based data structure stored in the memory, in response to the target gesture-based data;
the gesture-based data structure being hereafter referred to as a corpus data structure;
the corpus data structure including a plurality of corpus gestures;
each respective corpus gesture including a plurality of sample corpus data points ordered in time indicating a respective path of motion over a respective interval of time of the respective corpus gesture;when the target gesture-based data is received, execution of the response instructions causing the processor to perform a grouping operation using the corpus sample data points included in the corpus data structure to produce a plurality of corpus gesture sequences of sample data points;
each corpus gesture sequence including at least two time-ordered consecutive sample data points included in a respective one of the corpus gestures in the corpus data structure;
a first one of the corpus gesture sequences sharing time-ordered consecutive sample data points in common with a second one of the corpus gesture sequences such that when a single corpus gesture included in the corpus data structure indicates a sequence of handwritten symbols, overlapping first and second corpus gesture sequences indicate first and second overlapping subsequences of handwritten symbols;execution of the response instructions further causing the processor to compare the target gesture-based data to each of the corpus gesture sequences to determine whether the target gesture-based data matches at least one of the corpus gesture sequences; when a corpus gesture sequence is matched to the target gesture-based data, execution of the response instructions causing the processor to produce a list of matching corpus gesture sequences without assigning a semantic label to any respective one of the matching corpus gesture sequences identifying the respective matching corpus gesture sequence;
the list of matching corpus gesture sequences including the location in the corpus data structure of each matching corpus gesture sequence. - View Dependent Claims (22, 23)
- memory for storing data;
Specification