Editing text in an image
First Claim
1. A method of operating a processor, the processor being connected for accessing an edit data structure, the edit data structure including a first two-dimensional array of data that defines a region of an image, the region including two or more elements in a first line, the elements including a first element;
- the processor further being connected for receiving requests for text editing operations;
the method comprising the steps of;
receiving a request for a character level text editing operation affecting the first element;
in response to the request, accessing the edit data structure to perform the character level text editing operation, the step of accessing the edit data structure to perform the operation comprising the substeps of;
accessing the first two-dimensional array of data;
obtaining a second two-dimensional array of data from the first two-dimensional array, the second two-dimensional array defining the first element and not defining any of the elements other than the first element; and
performing the operation using the second two-dimensional array.
3 Assignments
0 Petitions
Accused Products
Abstract
Character level text editing is performed on an image without recognizing characters, by operating on a character-size array obtained from a two-dimensional array defining an image region. A processor, in response to a request for a text editing operation, accesses an edit data structure that includes the image region array and performs the operation. The character-size array is obtained by dividing the image region array when necessary. An image region array that includes more than one line is divided along interline spaces. An image region array that includes one line is divided along intercharacter spaces. Character-size arrays are divided out of larger arrays by finding connected component bounding boxes, and then determining from the bounding boxes whether the connected components are likely to form a character. If so, the connected components are used to obtain the character-size array and spatial data about position, size, and shape of the character. Smaller arrays and spatial data can replace a larger array in the edit data structure. Smaller arrays are obtained only as necessary to perform a requested text editing operation, and if the edit data structure is not otherwise modified, obtaining a smaller array does not necessitate redrawing of the display. In addition to character level editing, a text editing operation can be performed on a sequence of arrays, such as a word, line, or a sequence that begins on one line and ends on another. The spatial data can be used to position arrays after insertion or deletion, to advance a cursor through the text, and to justify a line of arrays. A character-size array can be assigned to a keyboard key, and the key may then be used to insert that array into the text or to request a search for other arrays matching that array.
87 Citations
79 Claims
-
1. A method of operating a processor, the processor being connected for accessing an edit data structure, the edit data structure including a first two-dimensional array of data that defines a region of an image, the region including two or more elements in a first line, the elements including a first element;
- the processor further being connected for receiving requests for text editing operations;
the method comprising the steps of;receiving a request for a character level text editing operation affecting the first element; in response to the request, accessing the edit data structure to perform the character level text editing operation, the step of accessing the edit data structure to perform the operation comprising the substeps of; accessing the first two-dimensional array of data; obtaining a second two-dimensional array of data from the first two-dimensional array, the second two-dimensional array defining the first element and not defining any of the elements other than the first element; and performing the operation using the second two-dimensional array. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
- the processor further being connected for receiving requests for text editing operations;
-
18. A method of operating a processor, the processor being connected for accessing an edit data structure, the edit data structure including a first array data unit defining a first two-dimensional array of data that defines a region of an image, the region including two or more elements in a first line including a first element;
- the processor further being connected for receiving requests for text editing operations;
the method comprising the steps of;receiving a first request for a first character level text editing operation on the image; in response to the first request, accessing the edit data structure to perform the first text editing operation, the step of accessing the edit data structure to perform the first text editing operation comprising the substeps of; using the first array data unit to obtain the first two-dimensional array; obtaining first element spatial data from the first two-dimensional array, the first element spatial data indicating spatial information about the first element; and performing the first text editing operation using the first element spatial data. - View Dependent Claims (19, 20, 21)
- the processor further being connected for receiving requests for text editing operations;
-
22. A method of operating a processor, the processor being connected for accessing an edit data structure defining a version of an image, the edit data structure including a first array data unit defining a first two-dimensional array of data that defines a region of an image, the region including two or more elements in a first line including a first element;
- the processor further being connected for receiving requests for text editing operations;
the processor further being connected for providing views of the image for presentation by an image output device and for receiving the first request from a user input device, the image output device having a display, the user input device including a pointer control device for providing signals indicating positioning of a pointer on the display;the method comprising; accessing the edit data structure to provide a view of the version of the image for presentation by the image output device, the image output device presenting the view on the display, the view including the first line; receiving a first request for a first character level text editing operation on the image;
the act of receiving the first request comprising receiving a signal from the pointer control device indicating positioning of the pointer within the first element;in response to the first request, accessing the edit data structure to perform the first text editing operation, the act of accessing the edit data structure to perform the first text editing operation comprising; using the first array data unit to obtain the first two-dimensional array; obtaining first element spatial data from the first two-dimensional array, the first element spatial data indicating spatial information about the first element; and performing the first text editing operation using the first element spatial data.
- the processor further being connected for receiving requests for text editing operations;
-
23. A method of operating a processor, the processor being connected for accessing an edit data structure, the edit data structure including a first array data unit defining a first two-dimensional array of data that defines a region of an image, the region including two or more elements in a first line including a first element;
- the first element having a size, a shape, and a position;
the processor further being connected for receiving requests for text editing operations;the method comprising; receiving a first request for a first character level text editing operation on the image; in response to the first request, accessing the edit data structure to perform the first text editing operation, the act of accessing the edit data structure to perform the first text editing operation comprising; using the first array data unit to obtain the first two-dimensional array; obtaining first element spatial data from the first two-dimensional array, the first element spatial data indicating spatial information about the first element;
the spatial information being about at least one of the size, the shape, or the position of the first element; andperforming the first text editing operation using the first element spatial data.
- the first element having a size, a shape, and a position;
-
24. A method of operating a processor, the processor being connected for accessing an edit data structure, the edit data structure including a first array data unit defining a first two-dimensional array of data that defines a region of an image, the region including two or more elements in a first line including a first element;
- the processor further being connected for receiving requests for text editing operations;
the method comprising; receiving a first request for a first character level text editing operation on the image; in response to the first request, accessing the edit data structure to perform the first text editing operation, the act of accessing the edit data structure to perform the first text editing operation comprising; using the first array data unit to obtain the first two-dimensional array; obtaining first element spatial data and a second two-dimensional array from the first two-dimensional array, the first element spatial data indicating spatial information about the first element, the second two-dimensional array defining the first element and not defining any of the elements other than the first element;
the first element spatial data indicating spatial information about the second two-dimensional array; andperforming the first text editing operation using the first element spatial data. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
- the processor further being connected for receiving requests for text editing operations;
-
41. A method of operating a processor, the processor being connected for accessing an edit data structure, the edit data structure including a first array data unit defining a first two-dimensional array of data that defines a region of an image, the region including a text that includes first and second characters;
- the processor further being connected for receiving requests for text editing operations;
the method comprising the steps of;receiving a first request for a first text editing operation on the text, the first text editing operation affecting the first character; in response to the request, accessing the edit data structure to perform the first text editing operation, the step of accessing the edit data structure to perform the first text editing operation comprising the substeps of; using the first array data unit to obtain the first two-dimensional array; obtaining second and third two-dimensional arrays from the first two-dimensional array, the second two-dimensional array defining the first character, the third two-dimensional array defining the second character; obtaining second and third array data units respectively defining the second and third two-dimensional arrays; and performing the first text editing operation using the second array data unit. - View Dependent Claims (42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56)
- the processor further being connected for receiving requests for text editing operations;
-
57. A system comprising:
-
an edit data structure for including array data units, each defining a respective two-dimensional array of data, each respective two-dimensional array defining a respective region of an image that includes text; a processor;
the processor being connected for accessing the edit data structure;
the processor further being connected for receiving requests for text editing operations;
the processor, upon receiving a request for a first text editing operation affecting a character in the text, accessing a first array data unit in the edit data structure, the first array data unit defining a first two-dimensional array, the respective region defined by the first two-dimensional array including the character;
upon receiving the request for the first text editing operation, the processor further using the first array data unit to obtain the first two-dimensional array and obtaining a second two-dimensional array defining a respective region of the image from the first two-dimensional array, the respective region defined by the second two-dimensional array being a part of the respective region defined by the first two-dimensional array and including the character;
upon receiving the request for the first text editing operation, the processor further obtaining a second array data unit defining the second two-dimensional array. - View Dependent Claims (58, 59, 60, 61)
-
-
62. A method of operating a processor, the processor being connected for accessing first image data, the first image data including a first two-dimensional array of data that defines a first image, the first image including two or more characters in a first line, the characters including a first character;
- the processor further being connected for receiving requests for text editing operations;
the method comprising acts of;receiving a request for a character level text editing operation affecting the first character; in response to the request, using the first image data to produce second image data defining a second image, the act of using the first image data to produce second image data comprising; obtaining a second two-dimensional array of data from the first two-dimensional array, the second two-dimensional array defining the first character and not defining any of the characters other than the first character; and producing the second image data using the second two-dimensional array so that the second image differs from the first image in accordance with the character level text editing operation.
- the processor further being connected for receiving requests for text editing operations;
-
63. A method of operating a processor, the processor being connected for accessing first image data, the first image data including a first two-dimensional array of data that defines a first image, the first image including two or more characters in a first line including a first character;
- the processor further being connected for receiving requests for text editing operations;
the method comprising acts of;receiving a first request for a first character level text editing operation on the image; in response to the first request, using the first image data to produce second image data defining a second image, the act of using the first image data to produce the second image data comprising; obtaining first character spatial data from the first two-dimensional array, the first character spatial data indicating spatial information about the first character; and producing the second image data using the first character spatial data so that the second image differs from the first image in accordance with the first character level text editing operation.
- the processor further being connected for receiving requests for text editing operations;
-
64. A method of operating a processor, the processor being connected for accessing first image data, the first image data including a first two-dimensional array of data that defines a first image, the first image including a text that includes first and second characters;
- the processor further being connected for receiving requests for text editing operations;
the method comprising acts of;receiving a first request for a first text editing operation on the text, the first text editing operation affecting the first character; in response to the first request, using the first image data to produce second image data defining a second image, the act of using the first image data to produce the second image data comprising; obtaining second and third two-dimensional arrays of data from the first two-dimensional array, the second two-dimensional array defining the first character, the third two-dimensional array defining the second character; and producing the second image data using the second two-dimensional array so that the second image differs from the first image in accordance with the first text editing operation.
- the processor further being connected for receiving requests for text editing operations;
-
65. A system comprising:
-
first image data including a first two-dimensional array of data, the first two-dimensional array defining a first image that includes text, the text including a first character; a processor;
the processor being connected for accessing the first image data;
the processor further being connected for receiving requests for text editing operations;
the processor, upon receiving a request for a first text editing operation affecting the first character, using the first image data to produce second image data defining a second image by using the first two-dimensional array to obtain a second two-dimensional array defining a part of the first image that includes the first character and by using the second two-dimensional array to produce the second image data so that the second image differs from the first image in accordance with the first text editing operation.
-
-
66. A method of operating a processor, the processor being connected for accessing an edit data structure, the edit data structure including a first two-dimensional array of data that defines a region of an image, the region including two or more elements in a first line, the elements including a first element;
- the processor further being connected for receiving requests for text editing operations;
the method comprising the steps of;receiving a request for a character level text editing operation affecting the first element; in response to the request, accessing the edit data structure to perform the character level text editing operation, the step of accessing the edit data structure to perform the operation comprising the substeps of; accessing the first two-dimensional array of data; obtaining a second two-dimensional array of data from the first two-dimensional array, the second two-dimensional array defining the first element and not defining any of the elements other than the first element; and performing the operation using the second two-dimensional array;
the substep of performing the operation comprising including the second two-dimensional array in the edit data structure.
- the processor further being connected for receiving requests for text editing operations;
-
67. A method of operating a system that includes a processor, user input circuitry, image input circuitry, and image output circuitry;
- the processor being connected for receiving user signals indicating user actions from the user input circuitry;
the processor being connected for receiving image data defining images from the image input circuitry;
the processor being connected for providing image data defining images to the image output circuitry;
the image output circuitry being capable of presenting images to a user in response to image data defining images;
the method comprising acts of;receiving first input image data from the image input circuitry;
the first input image data including a first array of data defining a first image, the first image including two or more characters in a text;providing first output image data to the image output circuitry;
the first output image data defining a version of the first image;
the image output circuitry presenting the version of the first image to a user in response to the first output image data;receiving a first user signal from the user input circuitry;
the first user signal indicating a user request for a character level text editing operation on the first image;
the first user signal being provided by the user through an action in accordance with a conventional text editing system;
the conventional text editing system being a system that would operate on information defining character identities;in response to the first user signal, using the first input image data to obtain second output image data defining a second image that is a modified version of the first image that differs from the first image in accordance with the user request for the character level text editing operation; and providing the second output image data to the image output circuitry;
the image output circuitry presenting the second image to the user in response to the second output image data. - View Dependent Claims (68, 69, 70, 71, 72, 73, 74, 75)
- the processor being connected for receiving user signals indicating user actions from the user input circuitry;
-
76. A system comprising:
-
user input circuitry obtaining user signals indicating user actions; image input circuitry obtaining image data defining images; image output circuitry presenting images to a user in response to image data defining images; and a processor;
the processor being connected for receiving user signals from the user input circuitry;
the processor being connected for receiving image data from the image input circuitry;
the processor being connected for providing image data defining images to the image output circuitry;the processor, upon receiving first input image data from the image input circuitry, providing first output image data to the image output circuitry;
the first input image data including a first array of data defining a first image, the first image including two or more characters in a text;
the first output image data defining a version of the first image;
the image output circuitry presenting the version of the first image to a user in response to the first output image data;the processor, upon receiving a first user signal from the user input circuitry, using the first input image data to obtain second output image data defining a second image and providing the second output image data to the image output circuitry;
the first user signal indicating a user request for a character level text editing operation on the first image;
the first user signal being provided by the user through an action in accordance with a conventional text editing system;
the conventional text editing system being a system that would operate on information defining character identities;
the second image being a modified version of the first image that differs from the first image in accordance with the user request for the character level text editing operation;
the image output circuitry presenting the second image to the user in response to the second output image data. - View Dependent Claims (77, 78, 79)
-
Specification