IP Library Granted Patent US 9,465,985
Granted Patent B2
US 9,465,985 · App. 14/290,945 · Granted Oct 11, 2016

Managing real-time handwriting recognition

Inventors: Mei-Qun Xia (San Francisco, CA); Jannes G. Dolfing (Daly City, CA); Ryan S. Dixon (Mountain View, CA); Karl M. Groethe (San Francisco, CA); Karan Misra (Mountain View, CA); Jerome R. Bellegarda (Saratoga, CA); Ueli Meier (Santa Cruz, CA)
Assignee: Apple Inc.
G06K9/00436G06F3/018G06F3/04883G06K9/00416G06K9/00422
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,465,985
App. No.
14/290,945
Granted
Oct 11, 2016
Kind
B2
Abstract

Methods, systems, and computer-readable media related to a technique for providing handwriting input functionality on a user device. A handwriting recognition module is trained to have a repertoire comprising multiple non-overlapping scripts and capable of recognizing tens of thousands of characters using a single handwriting recognition model. The handwriting input module provides real-time, stroke-order and stroke-direction independent handwriting recognition for multi-character handwriting input. In particular, real-time, stroke-order and stroke-direction independent handwriting recognition is provided for multi-character, or sentence level Chinese handwriting recognition. User interfaces for providing the handwriting input functionality are also disclosed.

Claims (44)

1. A non-transitory computer-readable media comprising instructions stored thereon, the instructions, when executed by one or more processors, cause the processors to perform operations comprising:

receiving a first handwriting input from a user, the first handwriting input comprising a plurality of handwritten strokes distributed along a respective writing direction associated with a handwriting input area of a handwriting input interface;

rendering each of the plurality of handwritten strokes in the handwriting input area as the handwritten stroke is provided by the user;

starting a respective fading process for the plurality of handwritten strokes of the first handwriting input, wherein during the respective fading process, the rendering of the plurality of handwritten strokes in the handwriting input area becomes increasingly faded;

receiving a second handwriting input from the user over a region of the handwriting input area occupied by a faded plurality of handwritten strokes of the first handwriting input; and

in response to receiving the second handwriting input:

rendering the second handwriting input in the handwriting input area; and

clearing all the faded plurality of handwritten strokes of the first handwriting input from the handwriting input area.

2. The media of claim 1 , comprising instructions, which when executed by the one or more processors, cause the processors to perform operations comprising:

generating one or more recognition results for the first handwriting input;

displaying the one or more recognition results in a candidate display area of the handwriting input interface; and

in response to receiving the second handwriting input, automatically, without user selection, entering a top-ranked recognition result displayed in the candidate display area into a text input area of the handwriting input interface.

3. The media of claim 1 , comprising instructions, which when executed by the one or more processors, cause the processors to perform operations comprising:

storing an input stack comprising the first handwriting input and the second handwriting input;

generating one or more multi-character recognition results each comprising a respective spatial sequence of characters recognized from a concatenation of the first handwriting input and the second handwriting input; and

displaying the one or more multi-character recognition results in a candidate display area of the handwriting input interface, while the rendering of the second handwriting input has replaced the rendering of the first handwriting input in the handwriting input area.

4. The media of claim 1 , wherein the respective fading process for each recognition unit is started when a predetermined time period has elapsed after the recognition unit is completed by the user.

5. The media of claim 1 , wherein the respective fading process for each recognition unit is started when the user has started inputting the strokes for a next recognition unit after the recognition unit.

6. The media of claim 1 , wherein an end state of the respective fading process for each recognition unit is a state with a predetermined minimum visibility for the recognition unit.

7. The media of claim 1 , wherein an end state of the respective fading process for each recognition unit is a state with zero visibility for the recognition unit.

8. The media of claim 1 , comprising instructions, which when executed by the one or more processors, cause the processors to perform operations comprising:

after a last recognition unit in the first handwriting input has become faded, receiving a predetermined revival input from the user; and

in response to receiving the predetermined revival input, reverting the last recognition unit from the faded state to an un-faded state.

9. The media of claim 8 , wherein the predetermined revival input is an initial contact detected on a deletion button provided in the handwriting input interface.

10. The media of claim 9 , wherein a sustained contact detected on the deletion button deletes the last recognition unit from the handwriting input area and revives the second to last recognition unit from the faded state to the un-faded state.

11. A method of providing real-time handwriting recognition, comprising:

at a device having one or more processors and memory:

receiving a first handwriting input from a user, the first handwriting input comprising a plurality of handwritten strokes distributed along a respective writing direction associated with a handwriting input area of a handwriting input interface;

rendering each of the plurality of handwritten strokes in the handwriting input area as the handwritten stroke is provided by the user;

starting a respective fading process for the plurality of handwritten strokes of the first handwriting input, wherein during the respective fading process, the rendering of the plurality of handwritten strokes in the handwriting input area becomes increasingly faded;

receiving a second handwriting input from the user over a region of the handwriting input area occupied by a faded plurality of handwritten strokes of the first handwriting input; and

in response to receiving the second handwriting input:

rendering the second handwriting input in the handwriting input area; and

clearing all the faded plurality of handwritten strokes of the first handwriting input from the handwriting input area.

12. A system, comprising:

one or more processors; and

memory having instructions stored thereon, the instructions, when executed by the one or more processors, cause the processors to perform operations comprising:

receiving a first handwriting input from a user, the first handwriting input comprising a plurality of handwritten strokes distributed along a respective writing direction associated with a handwriting input area of a handwriting input interface;

rendering each of the plurality of handwritten strokes in the handwriting input area as the handwritten stroke is provided by the user;

starting a respective fading process for the plurality of handwritten strokes of the first handwriting input, wherein during the respective fading process, the rendering of the plurality of handwritten strokes in the handwriting input area becomes increasingly faded;

receiving a second handwriting input from the user over a region of the handwriting input area occupied by a faded plurality of handwritten strokes of the first handwriting input; and

in response to receiving the second handwriting input:

rendering the second handwriting input in the handwriting input area; and

clearing all the faded plurality of handwritten strokes of the first handwriting input from the handwriting input area.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 27, 2015
From: XIA, MEI-QUN; DOLFING, JANNES G.; DIXON, RYAN S.; GROETHE, KARL M.; MISRA, KARAN; BELLEGARDA, JEROME R.; MEIER, UELI
To: APPLE INC
Reel/Frame 035273/0536 →
Continuity (2)
Provisional Application 61832908 · Jun 9, 2013
Related Publication 20140363083A1 · Dec 11, 2014