Method and apparatus for grouping and manipulating electronic representations of handwriting, printing and drawings
First Claim
1. A computerized method for automatically selecting a layer with which to process an input ink stroke representation in a system having a display device, a drawing layer that processes input as drawing strokes and a writing layer that processes input as writing strokes, the drawing and writing layers corresponding to a same area shown on the display device, said method comprising the steps of:
- determining bounds of the input ink stroke representation;
determining whether the bounds of the input stroke representation are greater than a predeterdmined size;
processing the input ink stroke representation with the drawing layer if the bounds of the input stroke representation are great than said predetermined side;
processing the input stroke representation with the writing layer if the bounds of the input ink stroke representation are not greater than said predetermined size;
determining whether the input ink stroke representation is a special case character; and
processing the input ink stroke representation using the operating system, wherein the special case character is processed by applying fuzzy logic to determine whether the input ink stroke representation is a tap gesture or a part of an ink character.
3 Assignments
0 Petitions
Accused Products
Abstract
A note taking system that integrates word-processing functionality and computerized drawing functionality for processing ink strokes comprises novel methods that provide this functionality such as: a method for modeless operation of the note taking system that automatically switches between providing word-processing functionality and drawing functionality; a novel method for processing ink strokes as drawings, a unique method for processing ink strokes as writing, and other methods for parsing the ink strokes into words, lines, and paragraphs. The present invention also includes additional methods for manipulating figures such as a division between line and shape type figures, and a special handle performing either rotation or re-sizing.
282 Citations
43 Claims
-
1. A computerized method for automatically selecting a layer with which to process an input ink stroke representation in a system having a display device, a drawing layer that processes input as drawing strokes and a writing layer that processes input as writing strokes, the drawing and writing layers corresponding to a same area shown on the display device, said method comprising the steps of:
-
determining bounds of the input ink stroke representation; determining whether the bounds of the input stroke representation are greater than a predeterdmined size; processing the input ink stroke representation with the drawing layer if the bounds of the input stroke representation are great than said predetermined side; processing the input stroke representation with the writing layer if the bounds of the input ink stroke representation are not greater than said predetermined size; determining whether the input ink stroke representation is a special case character; and processing the input ink stroke representation using the operating system, wherein the special case character is processed by applying fuzzy logic to determine whether the input ink stroke representation is a tap gesture or a part of an ink character.
-
-
2. A computerized method for processing ink stroke representations into groups for manipulation as words, lines and paragraphs, said method comprising the steps of:
-
grouping the ink stroke representations into a plurality of line groups based on a position of each ink stroke representation; combining the ink stroke representations of a selected line group into at least one word group; dividing a display area on a screen into a first zone, a second zone, and a third zone, the first, second and third zones extending in a first direction substantially perpendicular to a second direction in which the plurality of line groups extend; determining placement of the ink stroke representations for a first line group; determining placement of the ink stroke representations for a second line group, said second line group adjacent to and following the first line group; and combining the first and second line groups into a paragraph group if the first line group has strokes in third zone and the second line group has strokes in the first zone; and forming separate paragraphs with the first and second line groups if the first line group does not have a stroke in third zone or the second line group does not have a stroke in the first zone. - View Dependent Claims (3, 4)
-
-
5. A computerized method for grouping a plurality of ink stroke representations and associating them with a line area, said method comprising the steps of:
-
defining a plurality of line areas on a screen display; determining a bounding box for each of the ink stroke representations; dividing the plurality of ink stroke representations into word groups where each ink stroke representation in a word group has a bounding box within a predetermined distance of at least one other ink stroke representation in the word group; selecting a word group of ink stroke representations; calculating a weighted center for the selected word group based upon the bounding boxes of the ink stroke representations of the selected word group; and associating the ink stroke representations in the selected word group with the line area in which the weighted center for the selected word lies. - View Dependent Claims (6, 7)
-
-
8. A computerized method for processing a plurality of ink stroke representations associated with a line area into words, said method comprising the steps of:
-
a) retrieving a first ink stroke representation associated with the line area; b) calculating bounding bands for the first ink stroke representation; c) retrieving a second ink stroke representation d) calculating bounding bands for the second ink stroke representation; e) comparing the first ink stroke representation to the second ink stroke representation band by band; f) grouping the first ink stroke representation and the second ink stroke representation together as a first word, if any of the bounding bands of the first ink stroke representation are within a predetermined distance of corresponding bounding bands of the second ink stroke representation; g) grouping the first ink stroke representation as the first word and the second ink stroke representation as a second word, if none of the bounding bands of the first ink stroke representation are within a predetermined distance of corresponding bounding bands of the second ink stroke representation. - View Dependent Claims (9, 10)
-
-
11. A computerized method for combining a plurality of strokes associated with a selected line area together, said method comprising the steps of;
-
calculating a leftmost and a rightmost coordinate for a first stroke associated with the selected line area and a leftmost a rightmost coordinate for a second stroke associated with the selected line area; calculating a center point for the first stroke and a center point for the second stroke; comparing the center point of the first stroke to the leftmost and rightmost coordinates of the second stroke, and comparing the center point of the second stroke to the leftmost and rightmost coordinates of the first stroke; and combining the first stroke and the second stroke together as a single word group if the center point of the first stroke is horizontally between approximately the leftmost and the rightmost coordinates of the second stroke or if the center point of the second stroke is horizontally between approximately the leftmost and the rightmost coordinates of the first stroke; inputting a gesture over a word, the gesture indicating the word is to be split into two words; identifying a hot point for the gesture; determining the center point of each stroke forming the word; forming a left word with the strokes forming the word that have a center point to the left of the hot point of the gesture; forming a right word with the strokes forming the word that have a center point to the right of the hot point of the gesture; and inserting a predetermined amount of space between the right word and the left word. - View Dependent Claims (12, 13)
-
-
14. A computerized method for grouping a plurality of lines of ink stroke representations into paragraph groups, said method comprising the steps of:
-
dividing a display area on a screen into a left zone, a center zone and a right zone, the left, center, and right zones extending across the plurality of lines; determining a placement of the ink stroke representations on a first line; determining a placement of the ink stroke representations on a second line, said second line adjacent to and following the first line; and grouping the first line and the second line together as a paragraph group if the first line has ink stroke representations in the right zone and the second line has ink stroke representations in the left zone. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A computerized method for automatically categorizing a stroke as a line-type or shape-type, said method comprising the steps of:
-
determining a bounding box for the stroke; determining a length, L, of a longest side of the bounding box; determining a width, W, of an adjacent side the bounding box; determining a position of a beginning point of the stroke; determining a position of an ending point of the stroke; setting the stroke to be a line-type if the position of the beginning point is within a predetermined percentage of L and W of a first corner of the bounding box, and the position of the end point is within the predetermined percentage of L and W of a second corner of the bounding box, and wherein the first and second corners are opposite corners. - View Dependent Claims (20)
-
-
21. A computerized method for automatically categorizing a plurality of strokes as a line-type or shape-type object, said method comprising the steps of:
-
identifying the plurality of strokes for categorization; defining a single bounding box surrounding the identified plurality of strokes; determining a length, L, of a longest side of the bounding box; determining a width, W, of an adjacent side the bounding box; determining a position of a beginning point for each stroke in the identified plurality of strokes; determining a position of an ending point for each stroke in the identified plurality of strokes; setting the identified plurality of strokes to be a line-type object of for any stroke, the position of the stroke'"'"'s beginning point is within a predetermined percentage of L and W of a first corner of the bounding box, and the position of the stroke'"'"'s end point is within the predetermined percentage of L and W of a second corner of the bounding box, and wherein the first and second corners are opposite corners. - View Dependent Claims (22)
-
-
23. A computerized method for automatically resizing or rotating a displayed position of a drawing figure on a display device based upon a single input by the user, said method comprising the steps of:
-
determining a handle of an associated figure selected by the user; determining a direction in and an end point to which the handle is dragged by the user; determining a bounding box for the associated figure and a closest side of the bounding box; determining whether to rotate or resize the associated figure depending on the direction in which the handle is dragged; rotating the figure such that the handle is aligned with the endpoint if the direction the handle is dragged is substantially parallel to the closest side of the bounding box; and resizing the figure such that the handle is aligned with the endpoint if the direction the handle is dragged is substantially perpendicular to the closest side of the bounding box.
-
-
24. A computerized method for automatically identifying special characters that delineate outline-type formatting of paragraphs and inserting hanging indents, said method comprising the steps of:
-
retrieving words on a line; identifying a bullet character; determining a left boundary and a right boundary of the bullet character; determining a left boundary of a first word to the right of the bullet character; comparing the left boundary of the bullet character to leftmost boundaries of other words on preceding lines of a previous paragraph; and setting an outline level based on the comparing step and a position for the hanging indent at the left boundary of the first word. - View Dependent Claims (25)
-
-
26. A computerized method for combining a plurality of strokes associated with a selected line area together as words, said method comprising the steps of:
-
grouping the plurality of strokes into characters; determining measurement parameters about the characters including average character width; defining a membership function for joining two adjacent characters together as a word from the measurement parameters; retrieving a first character; retrieving a second character that is adjacent to the first character; determining measurement parameters between the first character and the second character; combining the first and second characters into a word using the defined membership function and the measurement parameters between the first character and the second character. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34)
-
-
35. A computerized method for generating highlighting on strokes input and displayed by a computer system, said method comprising the steps of:
-
retrieving strokes selected for highlighting; defining a bounding rectangle for the strokes, the bounding rectangle having a top, a bottom, a left side and a right side; horizontally subdividing the bounding rectangle at intervals having at least 1/4 of line height; generating a random number, h, between zero and 1/3 a line height for each horizontal subdivision; setting a point at one line height minus h and another point at h for each subdivision; creating a polygon by connecting the points proximate the top, the two points proximate the left side, points proximate the bottom and the two points proximate the right side of the bounding rectangle; and displaying an area enclosed by the polygon in a visually distinct manner. - View Dependent Claims (36, 37)
-
-
38. A computerized method for grouping a plurality of lines of ink stroke representations into paragraph groups, said method comprising the steps of:
-
dividing a display area on a screen into a first zone, a second zone, a third zone and a fourth zone, the first, second, third and fourth zones extending in a direction substantially perpendicular a direction in which the lines extend; determining placement of the ink stroke representations on a first line; determining placement of the ink stroke representations on a second line, said second line following the first line; and determining placement of the ink stroke representations on a third line, said third line following the second line; grouping the first line and the second line together as a paragraph group if the first line has ink stroke representations in the first and fourth zones and the second line has ink stroke representations in the first zone; and grouping the third line with the first line and the second line as a paragraph group if the second line has ink stroke representations in the fourth zone and the third line has ink stroke representations within a predetermined distance of a leftmost ink stroke representation of the second line. - View Dependent Claims (39)
-
-
40. The method of claim 48, further comprising the steps of:
-
performing character recognition on a first character in the first line area; determining whether the first character in the first line area is a valid bullet character; determining the position of the first character grouping the first line area and the second line area together as a paragraph group if (1) the first character in the first line is a valid bullet character, (2) the bullet character is positioned in the first or second zone, (3) the first line has ink stroke representations in the fourth zone, and (4) the second line has ink stroke representations in the first or second zone; and grouping the third line area with the first line area and the second line area as a paragraph group if the second line area has ink stroke representations in the fourth zone and the third line area has ink stroke representations within a predetermined distance of a leftmost ink stroke representations of the second line area. - View Dependent Claims (41)
-
-
42. A computerized method for grouping a plurality of lines of ink stroke representations into paragraph groups, said method comprising the steps of:
-
defining on a display area of a screen a plurality of line areas extending in a first direction; dividing the display area of the screen into a first zone and a second zone, the first and second zones extending in a second direction substantially perpendicular to the first direction and across the plurality of line areas; determining placement of the ink stroke representations in a first line area; determining placement of the ink stroke representations in a second line area, said second line area adjacent and following the first line area; grouping the ink stroke representations associated with the first line area and the second line area together as a paragraph group if the first line area has ink stroke representations in the second zone and the second line area has ink stroke representations in the first zone; and grouping the ink stroke representations associated with the first line area as a first paragraph group and the ink stroke representations associated with the second line area as a second paragraph group if the first line area does not have ink stroke representations in the second zone or the second line area does not have ink stroke representations in the first zone.
-
-
43. A computerized method for grouping a plurality of lines of ink stroke representations into paragraph groups, said method comprising the steps of:
-
identifying a current line; performing character recognition on a first character in the current line; determining whether the first character in the current line is a valid bullet character; and creating a new paragraph group beginning with the current line if the first character in the current line is a valid bullet character.
-
Specification