WO2015107692A1 - 手書きのための電子機器および方法 - Google Patents

手書きのための電子機器および方法 Download PDF

Info

Publication number
WO2015107692A1
WO2015107692A1 PCT/JP2014/050961 JP2014050961W WO2015107692A1 WO 2015107692 A1 WO2015107692 A1 WO 2015107692A1 JP 2014050961 W JP2014050961 W JP 2014050961W WO 2015107692 A1 WO2015107692 A1 WO 2015107692A1
Authority
WO
WIPO (PCT)
Prior art keywords
stroke
strokes
input
handwriting
handwritten
Prior art date
Application number
PCT/JP2014/050961
Other languages
English (en)
French (fr)
Inventor
筒井 秀樹
Original Assignee
株式会社 東芝
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社 東芝 filed Critical 株式会社 東芝
Priority to JP2015557684A priority Critical patent/JPWO2015107692A1/ja
Priority to PCT/JP2014/050961 priority patent/WO2015107692A1/ja
Publication of WO2015107692A1 publication Critical patent/WO2015107692A1/ja
Priority to US15/009,622 priority patent/US20160147437A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0236Character input methods using selection techniques to select from displayed items
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/142Image acquisition using hand-held instruments; Constructional details of the instruments
    • G06V30/1423Image acquisition using hand-held instruments; Constructional details of the instruments the instrument generating sequences of position coordinates corresponding to handwriting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/18Extraction of features or characteristics of the image
    • G06V30/1801Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes or intersections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/32Digital ink
    • G06V30/36Matching; Classification
    • G06V30/387Matching; Classification using human interaction, e.g. selection of the best displayed recognition candidate

Definitions

  • the embodiments described herein relate to techniques for handwriting.
  • An object of one embodiment of the present invention is to provide an electronic device and a method capable of smoothly inputting many strokes by handwriting.
  • the electronic device includes display processing means and processing means.
  • the display processing means displays one or more first strokes input by handwriting on the screen.
  • the processing means executes processing for displaying a first stroke sequence corresponding to the one or more first strokes acquired from handwritten document information on the screen.
  • the first stroke sequence includes one or more second strokes and one or more third strokes subsequent to the one or more second strokes.
  • the processing means adopts the one or more second strokes as an input and uses the one or more third strokes as an input. Execute processing not to adopt as input.
  • FIG. 1 is an exemplary perspective view showing an appearance of an electronic apparatus according to the embodiment.
  • FIG. 2 is an exemplary diagram showing a cooperative operation between the electronic device of FIG. 1 and an external device.
  • FIG. 3 is a diagram showing an example of a handwritten document handwritten on the touch screen display of the electronic apparatus of FIG.
  • FIG. 4 is an exemplary diagram for explaining time-series information corresponding to the handwritten document of FIG.
  • FIG. 5 is an exemplary block diagram showing a system configuration of the electronic apparatus of FIG.
  • FIG. 6 is an exemplary block diagram illustrating a functional configuration of a handwritten note application program executed by the electronic device of FIG.
  • FIG. 7 is an exemplary flowchart for explaining the procedure of handwriting recommendation processing executed by the electronic apparatus of FIG.
  • FIG. 1 is an exemplary perspective view showing an appearance of an electronic apparatus according to the embodiment.
  • FIG. 2 is an exemplary diagram showing a cooperative operation between the electronic device of FIG. 1 and an external device.
  • FIG. 3 is a diagram showing
  • FIG. 8 is a diagram illustrating an example of a handwritten stroke displayed on the screen of the electronic apparatus of FIG.
  • FIG. 9 is a diagram showing an example of a recommended stroke sequence displayed by the electronic device of FIG.
  • FIG. 10 is an exemplary diagram showing a state in which the recommended stroke sequence of FIG. 9 is displayed at a position corresponding to the handwritten stroke of FIG.
  • FIG. 11 is an exemplary diagram showing a state where handwritten strokes are overwritten in an area corresponding to a part of the displayed recommended stroke sequence.
  • FIG. 12 is an exemplary diagram showing an operation of partially adopting a recommended stroke sequence as an input in response to overwriting of a handwritten stroke.
  • FIG. 13 is an exemplary diagram showing a state in which the handwritten input operation is continued ignoring the displayed recommended stroke sequence.
  • FIG. 10 is an exemplary diagram showing a state in which the recommended stroke sequence of FIG. 9 is displayed at a position corresponding to the handwritten stroke of FIG.
  • FIG. 11 is an exemplary diagram showing a state
  • FIG. 14 is an exemplary diagram showing an operation of disabling the entire recommended stroke sequence by continuing the handwriting input operation.
  • FIG. 15 is a diagram showing an example of a handwritten stroke displayed on the screen of the electronic apparatus of FIG.
  • FIG. 16 is a diagram illustrating an example of a recommended stroke sequence displayed by the electronic apparatus of FIG.
  • FIG. 17 is an exemplary diagram showing a state where the recommended stroke sequence of FIG. 16 is displayed at a position corresponding to the handwritten stroke of FIG.
  • FIG. 18 is an exemplary diagram showing a state where handwritten strokes are overwritten in an area corresponding to a part of the displayed recommended stroke sequence.
  • FIG. 19 is an exemplary diagram showing an operation of partially adopting a recommended stroke sequence as an input in response to overwriting of a handwritten stroke.
  • FIG. 19 is an exemplary diagram showing an operation of partially adopting a recommended stroke sequence as an input in response to overwriting of a handwritten stroke.
  • FIG. 20 is a diagram illustrating an example of a handwritten stroke displayed on the screen of the electronic apparatus of FIG.
  • FIG. 21 is a diagram showing an example of a recommended stroke sequence displayed by the electronic device of FIG. 22 is an exemplary diagram showing a state in which the recommended stroke sequence of FIG. 21 is displayed at a position corresponding to the handwritten stroke of FIG.
  • FIG. 23 is an exemplary diagram showing a state where handwritten strokes are overwritten in an area corresponding to a part of the displayed recommended stroke sequence.
  • FIG. 24 is an exemplary diagram showing an operation of partially adopting a recommended stroke sequence as an input in response to overwriting of a handwritten stroke.
  • FIG. 25 is a diagram showing an example of a handwritten stroke displayed on the screen of the electronic apparatus of FIG. FIG.
  • FIG. 26 is a diagram showing an example of a recommended stroke sequence displayed by the electronic device of FIG.
  • FIG. 27 is an exemplary diagram showing a state in which the recommended stroke sequence of FIG. 26 is displayed at a position corresponding to the handwritten stroke of FIG.
  • FIG. 28 is an exemplary diagram showing a state in which a handwritten stroke having a predetermined shape is overwritten in an area corresponding to a part of the displayed recommended stroke sequence.
  • FIG. 29 is an exemplary diagram showing an operation of rejecting a part or all of the recommended stroke sequence in response to overwriting of a handwritten stroke having a predetermined shape.
  • FIG. 30 is an exemplary diagram illustrating an example of handwriting candidates displayed on the screen of the electronic apparatus of FIG. 1.
  • FIG. 30 is an exemplary diagram illustrating an example of handwriting candidates displayed on the screen of the electronic apparatus of FIG. 1.
  • FIG. 31 is a diagram showing an example of a handwritten stroke displayed on the screen of the electronic apparatus of FIG.
  • FIG. 32 is a diagram showing an example of a recommended stroke sequence displayed by the electronic apparatus of FIG.
  • FIG. 33 is an exemplary diagram showing a state in which the recommended stroke sequence of FIG. 32 is displayed at a position corresponding to the handwritten stroke of FIG.
  • FIG. 34 is an exemplary diagram showing a state where a handwritten stroke is overwritten in an area corresponding to a part of the displayed recommended stroke sequence.
  • FIG. 35 is an exemplary diagram showing an operation of partially adopting a recommended stroke sequence as an input in response to overwriting of a handwritten stroke.
  • FIG. 36 is a diagram showing an example of a handwritten stroke displayed on the screen of the electronic apparatus of FIG. FIG.
  • FIG. 37 is a view showing an example of a recommended stroke sequence displayed by the electronic apparatus of FIG.
  • FIG. 38 is an exemplary diagram showing a state in which the recommended stroke sequence of FIG. 37 is displayed at a position corresponding to the handwritten stroke of FIG.
  • FIG. 39 is an exemplary diagram showing a state where handwritten strokes are overwritten in an area corresponding to a part of the displayed recommended stroke sequence.
  • FIG. 40 is an exemplary diagram showing an operation of partially adopting a recommended stroke sequence as an input in response to overwriting of a handwritten stroke.
  • FIG. 41 is an exemplary diagram illustrating a state in which a recommended stroke sequence corresponding to an input stroke is displayed.
  • FIG. 42 is an exemplary diagram showing a state in which a stroke having a predetermined shape is input to an area corresponding to a part of the recommended stroke sequence of FIG.
  • FIG. 43 is an exemplary diagram showing an operation of adopting a part or the whole of the recommended stroke sequence in response to the input of the stroke having the predetermined shape shown in FIG.
  • FIG. 44 is an exemplary diagram showing a state in which a stroke having a predetermined shape is input to an area corresponding to a part of a stroke sequence on the candidate list.
  • FIG. 45 is an exemplary diagram showing an operation of employing a part or all of the recommended stroke sequence in response to the input of the stroke having the predetermined shape shown in FIG.
  • FIG. 1 is a perspective view illustrating an external appearance of an electronic apparatus according to an embodiment.
  • This electronic device is, for example, a pen-based portable electronic device that can be input by handwriting with a pen (stylus) or a finger.
  • This electronic device can be realized as a tablet computer, a notebook personal computer, a smartphone, a PDA, or the like.
  • the tablet computer 10 is a portable electronic device that is also called a tablet or a slate computer.
  • the tablet computer 10 includes a main body 11 and a touch screen display 17.
  • the main body 11 has a thin box-shaped housing.
  • the touch screen display 17 is attached so as to overlap the upper surface of the main body 11.
  • the touch screen display 17 incorporates a flat panel display and a sensor.
  • the sensor is configured to detect a contact position of a pen or a finger on the screen of the flat panel display.
  • the flat panel display may be, for example, a liquid crystal display (LCD).
  • As the sensor for example, a capacitive touch panel, an electromagnetic induction digitizer, or the like can be used. In the following, it is assumed that two types of sensors, a digitizer and a touch panel, are incorporated in the touch screen display 17.
  • the digitizer is arranged, for example, on the lower side of the flat panel display screen.
  • a touch panel is arrange
  • the touch screen display 17 can detect not only a touch operation on a screen using a finger but also a touch operation on a screen using the pen 100.
  • the pen 100 may be a digitizer pen (electromagnetic induction pen), for example.
  • the user can perform a handwriting input operation on the touch screen display 17 using an external object (the pen 100 or a finger). During the handwriting input operation, the trajectory of the movement of the external object (pen 100 or finger) on the screen, that is, the trajectory of the stroke input by handwriting is drawn in real time, thereby displaying the trajectory of each stroke on the screen.
  • the trajectory of the movement of the external object while the external object is in contact with the screen corresponds to one stroke (one handwritten stroke).
  • a set of many strokes corresponding to handwritten characters or figures, that is, a set of many trajectories (handwriting) constitutes a handwritten document.
  • the handwritten document is stored in the storage medium as time series information indicating the coordinate sequence of the trajectory of each stroke and the order relationship between the strokes, not image data. Details of this time series information will be described later with reference to FIG. 4, and this time series information indicates the order in which a plurality of strokes are handwritten, and includes a plurality of stroke data respectively corresponding to the plurality of strokes.
  • this time-series information means a set of time-series stroke data respectively corresponding to a plurality of strokes.
  • Each stroke data corresponds to a certain stroke, and includes a coordinate data series (time series coordinates) corresponding to each point on the locus of this stroke.
  • the order of arrangement of the stroke data corresponds to the order in which the strokes are handwritten, that is, the stroke order.
  • the tablet computer 10 reads existing arbitrary time-series information (handwritten document information) from the storage medium, and displays a handwritten document corresponding to this time-series information, that is, a trajectory corresponding to each of a plurality of strokes indicated by this time-series information. Can be displayed on the screen. Furthermore, the tablet computer 10 has an editing function. This editing function is used to edit arbitrary strokes or arbitrary handwritten characters in the displayed handwritten document according to the editing operation by the user using the “eraser” tool, “range specification” tool, and other various tools. Can be deleted or moved. Further, this editing function includes a function for canceling a history of some handwriting operations.
  • the tablet computer 10 also has a handwriting recommendation (handwriting completion) function.
  • This handwriting function is a function for assisting the user's handwriting input operation so that many strokes can be easily input by handwriting.
  • FIG. 2 shows an example of cooperative operation between the tablet computer 10 and an external device.
  • the tablet computer 10 can cooperate with the personal computer 1 and the cloud. That is, the tablet computer 10 includes a wireless communication device such as a wireless LAN, and can execute wireless communication with the personal computer 1. Furthermore, the tablet computer 10 can also execute communication with the server 2 on the Internet.
  • the server 2 may be a server that executes an online storage service and other various cloud computing services.
  • the personal computer 1 includes a storage device such as a hard disk drive (HDD).
  • the tablet computer 10 can transmit time-series information (handwritten document) to the personal computer 1 via the network and record it on the HDD of the personal computer 1 (upload).
  • the tablet computer 10 can handle a large amount of time-series information (handwritten document) or a large amount of time-series information (handwritten document).
  • the tablet computer 10 can read out any one or more handwritten documents recorded in the HDD of the personal computer 1 (download).
  • the tablet computer 10 can display the locus of each stroke indicated by the read handwritten document on the screen of the touch screen display 17 of the tablet computer 10.
  • a list of thumbnails obtained by reducing each page of a plurality of handwritten documents may be displayed on the screen of the touch screen display 17, or one page selected from these thumbnails may be displayed on the touch screen display 17. It may be displayed in the normal size on the screen.
  • the destination to which the tablet computer 10 communicates may be the server 2 on the cloud that provides a storage service or the like, as described above, instead of the personal computer 1.
  • the tablet computer 10 can transmit a handwritten document to the server 2 via the network and record it in the storage device 2A of the server 2 (upload). Furthermore, the tablet computer 10 can read an arbitrary handwritten document recorded in the storage device 2A of the server 2 (download). The tablet computer 10 can display the locus of each stroke indicated by the read handwritten document on the screen of the touch screen display 17 of the tablet computer 10.
  • the storage medium in which the handwritten document is stored may be any one of the storage device in the tablet computer 10, the storage device in the personal computer 1, and the storage device in the server 2.
  • FIG. 3 shows an example of a handwritten character string handwritten on the touch screen display 17 using the pen 100 or the like.
  • the handwritten character “A” is represented by two strokes (“ ⁇ ” shape trajectory, “ ⁇ ” shape trajectory) handwritten using the pen 100 or the like, that is, two trajectories.
  • the trajectory of the first “ ⁇ ” -shaped pen 100 handwritten is sampled in real time, for example, at equal time intervals, thereby obtaining the time-series coordinates SD11, SD12,... SD1n of the “ ⁇ ” -shaped stroke.
  • the trajectory of the “ ⁇ ” shaped pen 100 to be handwritten next is sampled in real time at equal time intervals, thereby obtaining the time series coordinates SD21, SD22,... SD2n of the “ ⁇ ” shaped stroke.
  • the handwritten character “B” is represented by two strokes handwritten using the pen 100 or the like, that is, two trajectories.
  • the handwritten character “C” is represented by one stroke handwritten using the pen 100 or the like, that is, one locus.
  • the handwritten “arrow” is expressed by two strokes handwritten by using the pen 100 or the like, that is, two trajectories.
  • FIG. 4 shows time-series information 200 corresponding to the handwritten character string of FIG.
  • the time series information 200 includes a plurality of stroke data SD1, SD2,.
  • the stroke data SD1, SD2,..., SD7 are arranged in time series in the order of handwriting, that is, the order in which a plurality of strokes are handwritten.
  • the first two stroke data SD1 and SD2 indicate two strokes of the handwritten character “A”, respectively.
  • the third and fourth stroke data SD3 and SD4 indicate two strokes constituting the handwritten character “B”, respectively.
  • the fifth stroke data SD5 indicates one stroke constituting the handwritten character “C”.
  • the sixth and seventh stroke data SD6 and SD7 indicate two strokes constituting the handwritten “arrow”, respectively.
  • Each stroke data includes a coordinate data series (time series coordinates) corresponding to one stroke, that is, a plurality of coordinates corresponding to a plurality of points on the trajectory of one stroke.
  • a plurality of coordinates are arranged in time series in the order in which the strokes are written.
  • the stroke data SD1 is a coordinate data series (time series coordinates) corresponding to each point on the locus of the stroke of the “ ⁇ ” shape of the handwritten character “A”, that is, n coordinates.
  • Data SD11, SD12,... SD1n are included.
  • the stroke data SD2 includes coordinate data series corresponding to each point on the locus of the stroke of the “ ⁇ ” shape of the handwritten character “A”, that is, n pieces of coordinate data SD21, SD22,... SD2n. Note that the number of coordinate data may be different for each stroke data. That is, since the locus of the pen 100 is sampled in real time at equal time intervals, the number of coordinate data increases as the stroke length is longer or the stroke handwriting speed is slower.
  • Each coordinate data indicates an X coordinate and a Y coordinate corresponding to one point in the corresponding locus.
  • the coordinate data SD11 indicates the X coordinate (X11) and the Y coordinate (Y11) of the start point of the “ ⁇ ” -shaped stroke.
  • SD1n indicates the X coordinate (X1n) and Y coordinate (Y1n) of the end point of the “ ⁇ ” -shaped stroke.
  • each coordinate data may include time stamp information T corresponding to the time when the point corresponding to the coordinate is handwritten. Furthermore, information (Z) indicating writing pressure may be added to each coordinate data.
  • the handwritten document is stored as a set of time-series stroke data, not an image or a character recognition result, so that handwritten characters are handled without depending on the language of the handwritten characters. be able to. Therefore, the structure of the time-series information 200 according to the present embodiment can be used in common in various countries around the world with different languages.
  • FIG. 5 shows a system configuration of the tablet computer 10.
  • the tablet computer 10 includes a CPU 101, a system controller 102, a main memory 103, a graphics controller 104, a BIOS-ROM 105, a nonvolatile memory 106, a wireless communication device 107, an embedded controller (EC) 108, and the like. .
  • the CPU 101 is a processor that controls the operation of various modules in the tablet computer 10.
  • the CPU 101 executes various computer programs loaded into the main memory 103 from the nonvolatile memory 106 that is a storage device. These programs include an operating system (OS) 201 and various application programs.
  • the application program includes a handwritten note application program 202.
  • the handwritten note application program 202 has a function for creating and displaying the above-mentioned handwritten document, a function for editing a handwritten document, a handwriting recommendation function, and the like.
  • the CPU 101 also executes a basic input / output system (BIOS) stored in the BIOS-ROM 105.
  • BIOS is a program for hardware control.
  • the system controller 102 is a device that connects between the local bus of the CPU 101 and various components.
  • the system controller 102 also includes a memory controller that controls access to the main memory 103.
  • the system controller 102 also has a function of executing communication with the graphics controller 104 via a PCI EXPRESS serial bus or the like.
  • the graphics controller 104 is a display controller that controls the LCD 17 ⁇ / b> A used as a display monitor of the tablet computer 10.
  • a display signal generated by the graphics controller 104 is sent to the LCD 17A.
  • the LCD 17A displays a screen image based on the display signal.
  • a touch panel 17B and a digitizer 17C are disposed on the LCD 17A.
  • the touch panel 17B is a capacitance-type pointing device for inputting on the screen of the LCD 17A.
  • the touch position on the screen where the finger is touched and the movement of the touch position are detected by the touch panel 17B.
  • the digitizer 17C is an electromagnetic induction type pointing device for inputting on the screen of the LCD 17A.
  • the digitizer 17C detects the contact position on the screen where the pen 100 is touched, the movement of the contact position, and the like.
  • the wireless communication device 107 is a device configured to perform wireless communication such as wireless LAN or 3G mobile communication.
  • the EC 108 is a one-chip microcomputer including an embedded controller for power management.
  • the EC 108 has a function of turning on or off the tablet computer 10 in accordance with the operation of the power button by the user.
  • the handwritten note application program 202 includes a pen locus display processing unit 301, a time series information generation unit 302, an editing processing unit 303, a page storage processing unit 304, a page acquisition processing unit 305, a handwritten document display processing unit 306, and a handwriting recommendation processing unit. 308 and the like.
  • the handwritten note application program 202 creates, displays, and edits a handwritten document (handwritten data) by using stroke data input using the touch screen display 17.
  • the touch screen display 17 is configured to detect the occurrence of events such as “touch”, “move (slide)”, and “release”. “Touch” is an event indicating that an external object has touched the screen. “Move (slide)” is an event indicating that the contact position has been moved while an external object is in contact with the screen. “Release” is an event indicating that an external object has been released from the screen.
  • the pen locus display processing unit 301 and the time-series information generation unit 302 receive a “touch” or “move (slide)” event generated by the touch screen display 17, and thereby detect a handwriting input operation.
  • the “touch” event includes the coordinates of the contact position.
  • the “movement (slide)” event also includes the coordinates of the contact position of the movement destination. Therefore, the pen locus display processing unit 301 and the time-series information generation unit 302 can receive a coordinate sequence corresponding to the movement locus of the touch position from the touch screen display 17.
  • the pen locus display processing unit 301 functions as a display processing unit configured to display a stroke input by handwriting on the screen of the touch screen display 17.
  • the pen locus display processing unit 301 receives a coordinate sequence from the touch screen display 17. Based on this coordinate sequence, the pen locus display processing unit 301 displays a plurality of strokes input by a handwriting input operation using the pen 100 or the like on the screen of the LCD 17 ⁇ / b> A in the touch screen display 17.
  • the time series information generation unit 302 receives the above-described coordinate sequence output from the touch screen display 17. Based on this coordinate sequence, the time-series information generating unit 302 generates a plurality of stroke data (time-series information) corresponding to the above-described plurality of strokes. These stroke data, that is, the coordinates corresponding to each point of each stroke may be temporarily stored in the work memory 401.
  • the page storage processing unit 304 stores handwritten document information including a plurality of stroke data corresponding to a plurality of strokes in a handwritten note database 402A in the storage medium 402.
  • the storage medium 402 may be any of a storage device in the tablet computer 10, a storage device in the personal computer 1, and a storage device in the server 2.
  • the page acquisition processing unit 305 reads arbitrary handwritten document information from the storage medium 402.
  • the read handwritten document information is sent to the handwritten document display processing unit 306.
  • the handwritten document display processing unit 306 analyzes the handwritten document information, and displays a plurality of stroke trajectories indicated by the plurality of stroke data in the handwritten document information as a handwritten page on the screen based on the analysis result.
  • the editing processing unit 303 executes processing for editing the handwritten document (handwritten page) currently displayed. That is, the edit processing unit 303 executes an edit process for deleting or moving one or more strokes among the plurality of displayed strokes in accordance with an edit operation performed by the user on the touch screen display 17. . Further, the edit processing unit 303 updates the handwritten document in order to reflect the result of the editing process on the displayed handwritten document.
  • the user can delete any of the displayed strokes using the “Eraser” tool or the like. Further, the user can specify a range of an arbitrary portion in the displayed handwritten page by using a “range specification” tool for enclosing an arbitrary portion on the screen by a circle or a square.
  • the handwriting recommendation processing unit 308 is a processing unit configured to execute the handwriting recommendation function described above. In the handwriting recommendation process, the handwriting recommendation processing unit 308 acquires a stroke sequence corresponding to one or more strokes input by handwriting from a set of strokes input in the past (handwritten document information). Then, the handwriting recommendation processing unit 308 recommends the acquired stroke sequence to the user by displaying the acquired stroke sequence on the screen.
  • the handwriting recommendation processing unit 308 predicts a stroke string (for example, a handwritten character string, a handwritten figure, etc.) that the user is going to handwrite based on one or more input strokes and handwritten document information. . Then, the handwriting recommendation processing unit 308 executes processing for displaying a stroke sequence obtained by prediction as a recommended stroke sequence on the screen.
  • a stroke string for example, a handwritten character string, a handwritten figure, etc.
  • the stroke sequence input in the past starting from the stroke “a”, for example, the handwritten word “access” is displayed as the recommended stroke sequence. If an operation for adopting the handwritten word “access” as an input list by the user, for example, an operation of inputting a stroke by handwriting at a position following the handwritten word “access”, is performed.
  • the handwritten word “access” is adopted as input (input) and becomes the input handwritten character string.
  • the recommended stroke sequence is not limited to a handwritten word but may be a handwritten phrase.
  • the stroke sequence of the handwritten character string “January 13, 2014” input in the past may be displayed as the recommended stroke sequence.
  • one or more handwriting candidates corresponding to one or more strokes input by handwriting may be presented to the user.
  • a stroke (handwritten character string) “a” is input by handwriting
  • a list of handwriting candidates such as a handwritten word “add” and a handwritten word “access” is displayed to the user. May be presented. If the handwritten word “access” is selected by the user, the selected handwritten word “access” is adopted as an input and becomes the input handwritten character string.
  • An example of a stroke sequence corresponding to one or more input strokes is a plurality of strokes including strokes similar to the one or more input strokes.
  • the handwriting recommendation processing unit 308 searches for handwritten document information by obtaining a stroke sequence corresponding to one or more input strokes.
  • the handwriting recommendation processing unit 308 includes a set of strokes (handwritten document information stored in the handwritten note database 402A). ), The candidate stroke database 402B may be created.
  • the candidate stroke database 402B may include a plurality of entries respectively corresponding to a plurality of types of character strings. Each entry may store a stroke string (stroke data group) corresponding to the character string of this entry.
  • the handwriting recommendation processing unit 308 may first recognize characters of one or more strokes input by the user. Then, the handwriting recommendation processing unit 308 refers to the candidate stroke database 402B and finds a character string that matches forward with the character recognition result (character string) of the input one or more strokes. The handwriting recommendation processing unit 308 acquires a stroke sequence corresponding to the found character string from the candidate stroke database 402B as a stroke sequence corresponding to one or more input strokes.
  • each entry in the candidate stroke database 402B may store a stroke string (stroke data group) corresponding to the character string of this entry and a feature amount of each stroke in this stroke string.
  • stroke string stroke data group
  • feature amount of each stroke in this stroke string any feature that can represent the handwritten feature of this stroke can be used.
  • feature amount data representing a stroke shape, stroke stroke direction, stroke inclination, and the like may be used as the feature amount.
  • the handwriting recommendation processing unit 308 may acquire a stroke string having a feature amount similar to the input one or more stroke feature amounts from the candidate stroke database 402B.
  • the handwriting recommendation processing unit 308 includes a recommended stroke search unit 308A and a recommended stroke determination unit 308B.
  • the recommended stroke search unit 308A searches for a stroke sequence corresponding to one or more input strokes with reference to the candidate stroke database 402B.
  • the retrieved stroke sequence is displayed on the screen as a recommended stroke sequence.
  • the recommended stroke determination unit 308B executes processing for adopting a part of the recommended stroke sequence as an input. Assume that one or more first strokes input by handwriting are displayed on the screen.
  • the recommended stroke search unit 308A displays a recommended stroke sequence (first stroke sequence) corresponding to one or more first strokes acquired from the handwritten document information (candidate stroke database 402B) on the screen.
  • the recommended stroke sequence is a stroke sequence input in the past.
  • the recommended stroke sequence includes a plurality of strokes. In other words, the recommended stroke sequence includes one or more strokes (second stroke) and one or more other strokes (third stroke) following the one or more second strokes.
  • the recommended stroke determination unit 308B adopts the one or more second strokes as an input, and A process for not adopting one or more third strokes as an input is executed.
  • one or more strokes (fourth stroke) input on the non-accepted portion can be the basis for displaying the next recommended stroke sequence. That is, a new recommended stroke sequence corresponding to one or more fourth strokes may be displayed on the screen.
  • the portion to be rejected in the recommended stroke sequence is preceded. Only the part can be easily adopted as input.
  • the handwriting recommendation processing unit 308 may further include a recommended stroke presentation unit 308C.
  • the recommended stroke presenting unit 308C presents one or more handwriting candidates corresponding to one or more strokes input by handwriting to the user. When one of the one or more handwriting candidates is selected by the user, the selected handwriting candidate is displayed on the screen as the above-described recommended stroke sequence.
  • the flowchart of FIG. 7 shows the procedure of handwriting recommendation processing.
  • a stroke is input by a handwriting input operation performed on the editing screen (step S101)
  • the input stroke is displayed on the editing screen.
  • the handwriting recommendation processing unit 308 searches the stroke sequence corresponding to the input stroke with reference to the candidate stroke database 402B (step S102).
  • the handwriting recommendation processing unit 308 refers to the candidate stroke database 402B and returns to FIG.
  • the handwritten character string “apple” shown is searched as a recommended stroke string. Then, the handwriting recommendation processing unit 308 displays the handwritten character string “apple” on the editing screen 600 (step S103).
  • the handwriting recommendation processing unit 308 displays the recommended stroke sequence “apple” 700 at a position corresponding to the stroke 611 of “a”, as shown in FIG.
  • the recommended stroke sequence “apple” 700 may be displayed so that the head portion “a” of the recommended stroke sequence “apple” is overwritten on the area where the stroke 611 is written.
  • the recommended stroke sequence 700 is displayed in a form different from the input stroke. For example, if the stroke 611 is input by a handwriting input operation in a state where the current pen color is set to black, the stroke 611 is displayed in black.
  • the recommended stroke sequence 700 may be displayed in a color different from black, for example, in gray that is lighter than black.
  • the recommended stroke sequence 700 may be displayed in a color different from black, for example, red.
  • the transparency of the recommended stroke sequence 700 may be set high so that the stroke 611 can be seen through the recommended stroke sequence 700.
  • FIG. 10 it is assumed that the recommended stroke string 700 is displayed in gray and thick, and the transparency of each gray stroke is set high. In FIG. 10, this gray stroke is illustrated by a broken line. Thereby, it can be seen that the recommended stroke sequence 700 is a stroke different from the stroke input by handwriting.
  • step S104 the user starts to write the strokes 612 to 621 of the handwritten character string “ication” so as to overlap with the area corresponding to “e” in the displayed recommended stroke string 700 (FIG. 11).
  • the handwriting recommendation processing unit 308 determines that the position where the handwritten character string “ication” is written is from “e” in the recommended stroke string 700.
  • the position where the handwritten character string “ication” is written may be determined using, for example, an “overlap determination” method for determining whether or not there is an overlap between handwritten strokes.
  • the presence or absence of overlap can be determined using various methods.
  • the handwriting recommendation processing unit 308 may calculate the circumscribed rectangle of “e” and the input circumscribed rectangle of “i”. . If these circumscribed rectangles overlap at a rate equal to or greater than a certain threshold, the handwriting recommendation processing unit 308 may determine that “e” and “i” overlap.
  • step S105 the handwriting recommendation processing unit 308 determines “e” in the recommended stroke sequence 700 as a non-adopted portion that is not adopted as an input.
  • the handwriting recommendation processing unit 308 employs “appl” in the recommended stroke sequence 700 as an input.
  • the stroke 611 of “a” may be replaced by “appl” in the recommended stroke sequence 700, or “ppl” in the recommended stroke sequence 700 is added after the stroke 611 of “a”. Also good.
  • “Appl” is displayed in the same form (color, thickness, transparency, pen type) as that of the stroke being input.
  • the non-adopted portion “e” in the recommended stroke sequence 700 is not adopted as an input.
  • the non-adopted portion “e” is deleted and deleted from the editing screen 600, and the handwritten character string “application” including the complemented handwritten character string “appl” and the overwritten input handwritten character string “ication” is shown in FIG. Is displayed.
  • the user may simply ignore the recommended stroke sequence and continue to write the stroke sequence.
  • a stroke 611 of the handwritten character “a” is input by the user, and a stroke sequence of “application” input in the past is displayed as a recommended stroke sequence corresponding to the handwritten character “a”. Is assumed.
  • the user corresponds to “pp” in the displayed recommended stroke string “application” as shown in FIG.
  • the strokes 612 to 613 corresponding to the handwritten character string “bc” may be input by handwriting on the area.
  • the entire recommended stroke sequence 700 is not adopted, and the entire recommended stroke disappears (FIG. 14).
  • Inputting strokes 612 to 613 by handwriting into the region corresponding to “pp” is the same as writing “bc” following “a”. In this way, by ignoring the recommended stroke sequence 700 and continuing to write, the displayed recommended stroke sequence 700 as a whole can be rejected.
  • the handwriting recommendation processing unit 308 refers to the candidate stroke database 402B, The handwritten character string “Januity 13, 2013” shown in FIG. 16 is searched as a recommended stroke string. Then, the handwriting recommendation processing unit 308 displays the handwritten character string “Januity 13, 2013” on the editing screen 600 as a recommended stroke string 700, as shown in FIG.
  • the recommended stroke sequence “Januity 13, 2013” may be displayed so that the head portion “J” of the recommended stroke sequence “Januity 13, 2013” 700 is overwritten on the area corresponding to “J” input by handwriting. .
  • the user starts to write the strokes 613 to 614 of the handwritten character string “4” so as to overlap the area corresponding to “3” of the displayed recommended stroke string 700 (FIG. 18).
  • the handwriting recommendation processing unit 308 determines that the position where the handwritten character string “4” is written is “3” in the recommended stroke string 700. Then, the handwriting recommendation processing unit 308 executes processing for adopting “Januity 13, 201” in the recommended stroke sequence 700 as an input and not adopting “4” in the recommended stroke sequence 700 as an input. In other words, the strokes 611 and 612 corresponding to “J” are complemented by using the adopted portion “Januity 13, 201” in the recommended stroke sequence 700.
  • the strokes 611 and 612 of “J” may be replaced by the adopted portion “Januity 13, 201”.
  • the adopted part “Januity 13, 201” is displayed in the same form as the form of the stroke being input. Then, the non-adopted portion “3” in the recommended stroke string 700 is deleted and deleted from the editing screen 600, and the handwritten character string including the supplemented handwritten character string “Januity 13, 201” and the handwritten character string “4” overwritten.
  • the column “Januity 13, 2014” is displayed as shown in FIG.
  • the handwriting recommendation processing unit 308 refers to the candidate stroke database 402B, The handwritten character string “I like baseball” shown in FIG. 21 is searched as a recommended stroke string. Then, the handwriting recommendation processing unit 308 displays the handwritten character string “I like baseball” on the editing screen 600 as a recommended stroke string 700, as shown in FIG.
  • the recommended stroke sequence “I like baseball” may be displayed so that the head portion “I” of the recommended stroke sequence “I like baseball” 700 is overwritten on the area corresponding to the input strokes 611 to 613.
  • the user starts to write the strokes 614 to 619 of the handwritten character string “soccer” so as to overlap the area corresponding to “baseball” of the displayed recommended stroke string 700 (FIG. 23).
  • the handwriting recommendation processing unit 308 determines that the position where the handwritten character string “soccer” is written is “baseball” in the recommended stroke string 700. Then, the handwriting recommendation processing unit 308 executes processing for adopting “I like” in the recommended stroke sequence 700 as an input and not adopting “baseball” in the recommended stroke sequence 700 as an input. In other words, the strokes 611 to 613 corresponding to “I” are complemented using the adopted portion “I like” in the recommended stroke sequence 700.
  • the strokes 611 to 613 of “I” may be replaced by the adopted portion “I like”.
  • the adopted part “I like” is displayed in the same form as the stroke being input.
  • the non-adopted portion “baseball” in the recommended stroke sequence 700 is deleted and erased from the editing screen 600, and the handwritten character string including the supplemented handwritten character string “I like” and the handwritten character string “soccer” overwritten. “I like soccer” is displayed as shown in FIG.
  • a stroke corresponding to the horizontal line “-” may be used as a stroke having a predetermined shape.
  • the stroke corresponding to the horizontal line “-” is a stroke for designating a non-adopted portion in the recommended stroke sequence.
  • the stroke corresponding to the horizontal line “-” is used as a stroke for enabling a part or all of the recommended stroke sequence to be deleted even when there is no further writing.
  • the handwriting recommendation processing unit 308 When the stroke 611 corresponding to the handwritten character “a” is input by handwriting on the editing screen 600 as shown in FIG. 25, the handwriting recommendation processing unit 308 refers to the candidate stroke database 402B, and FIG. The handwritten character string “application” shown in FIG. Then, the handwriting recommendation processing unit 308 displays the handwritten character string “application” on the editing screen 600 as the recommended stroke string 700, as shown in FIG.
  • the recommended stroke sequence “application” 700 is displayed so that the top portion “a” of the recommended stroke sequence “application” 700 is overwritten on the area where the stroke 611 is written. Also good.
  • the user starts to write the stroke “-” 800 so as to overlap the area corresponding to “lication” in the displayed recommended stroke string 700 (FIG. 28).
  • the handwriting recommendation processing unit 308 determines that the position where the stroke “-” 800 is written is on an area corresponding to “lication” in the recommended stroke sequence 700.
  • the handwriting recommendation processing unit 308 determines not to adopt the area (“lication”) in which the stroke 800 of “ ⁇ ” is input.
  • the handwriting recommendation processing unit 308 adopts “app” in the recommended stroke sequence 700 as an input, and deletes “lication” in the recommended stroke sequence 700 and “-” stroke 800 input by handwriting. To do. As a result, the “lication” in the recommended stroke sequence 700 and the “ ⁇ ” stroke 800 input by handwriting are erased from the editing screen 600.
  • the stroke 611 corresponding to “a” is complemented using the adopted portion “app” in the recommended stroke sequence 700.
  • the stroke 611 of “a” may be replaced by the adopted portion “app”.
  • the adopted part “app” is displayed in the same form as the stroke being input. Then, the non-adopted portion “lication” and the stroke “ ⁇ ” 800 in the recommended stroke sequence 700 are deleted from the editing screen 600, and only the supplemented handwritten character string “app” is displayed as shown in FIG.
  • the entire recommended stroke sequence 700 may be rejected.
  • the “-” stroke 800 written on a part of the recommended stroke sequence 700 is not used as a stroke serving as a base for handwriting recommendation. Therefore, the recommended stroke sequence corresponding to the stroke “-” 800 is not displayed.
  • FIG. 30 shows an example of a candidate list 501 for presenting several handwriting candidates corresponding to the input stroke to the user.
  • a stroke 611 corresponding to the handwritten character “a” is input by a handwriting input operation performed on the editing screen 600.
  • the handwriting recommendation processing unit 308 acquires several handwriting candidates corresponding to the input stroke 611 (here, the handwritten character “a”) from the candidate stroke database 402B. Then, the handwriting recommendation processing unit 308 displays each of these handwriting candidates on the candidate list 501 on the editing screen 600.
  • the three stroke strings include a handwritten character string “apple”, a handwritten character string “ability”, and a handwritten character string “adaptor”.
  • the selected handwriting candidate becomes a recommended stroke sequence.
  • the recommended stroke sequence is displayed on the editing screen 600 so as to be overwritten on the stroke 611.
  • the handwriting recommendation processing unit 308 refers to the candidate stroke database 402B. Then, the handwritten character string “English” shown in FIG. 32 is searched as a recommended stroke string. Then, the handwriting recommendation processing unit 308 displays the handwritten character string “English” as the recommended stroke string 700 on the editing screen 600, as shown in FIG.
  • the recommended stroke sequence “English” 700 may be displayed so that the top portion “E” of the recommended stroke sequence “English” 700 is overwritten on the area where the strokes 611 and 612 are written.
  • the user starts to write the strokes 613 to 616 of the handwritten character string “and” so as to overlap the area corresponding to “ish” of the displayed recommended stroke string 700 (FIG. 34).
  • the handwriting recommendation processing unit 308 determines that the position where the handwritten character string “and” is written is “ish” in the recommended stroke string 700.
  • the handwriting recommendation processing unit 308 executes processing for adopting “Engl” in the recommended stroke sequence 700 as an input and not adopting “ish” in the recommended stroke sequence 700 as an input.
  • the strokes 611 and 612 corresponding to a part of “E” are complemented by using the adopted portion “Engl” in the recommended stroke sequence 700.
  • the adopted portion “Engl” is displayed in the same form as the stroke being input.
  • the above-described configuration in which the recommended stroke sequence is displayed when one or more strokes corresponding to a part of the character are input is also suitable for inputting Chinese characters by handwriting. This is because a Chinese character is usually composed of many strokes.
  • the handwriting recommendation processing unit 308 refers to the candidate stroke database 402B.
  • the stroke sequence of the handwritten Chinese character 900 shown in FIG. 37 is searched as the recommended stroke sequence. This is because the first two strokes of the stroke sequence of the handwritten Chinese character 900 have the same characteristics as the strokes 611 and 612.
  • the handwriting recommendation processing unit 308 displays the stroke sequence of the handwritten Chinese character 900 as the recommended stroke sequence 700 on the editing screen 600.
  • the handwritten kanji 900 (recommended stroke sequence 700) is displayed so that the first two strokes of the handwritten kanji 900 (recommended stroke sequence 700) are overwritten on the area where the strokes 611 and 612 are written. Also good.
  • a handwritten Chinese character 900 (recommended stroke sequence 700) is composed of several strokes constituting one component 700A and several strokes constituting another component 700B.
  • the user starts to write strokes 613 to 618 corresponding to one component of the handwritten Chinese character 850 so as to overlap the region corresponding to the component 700B of the displayed handwritten Chinese character 900 (recommended stroke sequence 700) (FIG. 39).
  • the handwriting recommendation processing unit 308 adopts processing for adopting the component 700A in the handwritten Chinese character 900 (recommended stroke sequence 700) as an input and not adopting the component 700B in the handwritten Chinese character 900 (recommended stroke sequence 700) as an input. Execute.
  • the strokes 611 and 612 are complemented using the component 700 ⁇ / b> A that is an adopted portion in the recommended stroke sequence 700.
  • the adopted component 700A is displayed in the same form as the stroke being input.
  • the component 700B which is a non-adopted portion in the handwritten Chinese character 900 (recommended stroke sequence 700) is deleted and erased from the editing screen 600, and the handwritten Chinese character 850 is displayed as shown in FIG.
  • a stroke having an arbitrary shape a stroke having an arbitrary shape can be used, but for example, a stroke corresponding to a frame shape such as a round shape or a square shape may be used.
  • the stroke corresponding to this frame shape is used as a stroke for designating an adopted portion in the recommended stroke sequence.
  • the stroke corresponding to this frame shape is used as a stroke for allowing a part or all of the recommended stroke sequence to be adopted even when there is no further writing.
  • the handwriting recommendation processing unit 308 converts the handwritten character string “application” into the recommended stroke sequence. 700 is displayed on the editing screen 600.
  • the recommended stroke sequence 700 is displayed on the editing screen 600 so that the head portion “a” of the recommended stroke sequence 700 overlaps the area corresponding to the stroke 611.
  • the user starts to write the stroke 900 in a frame shape so as to overlap the area corresponding to “appl” in the displayed recommended stroke string 700 or to surround the area corresponding to “appl” (FIG. 42). .
  • the handwriting recommendation processing unit 308 determines that the position where the frame-shaped stroke 900 is written is on an area corresponding to “appl” in the recommended stroke sequence 700.
  • the handwriting recommendation processing unit 308 determines an area (“appl”) in which the frame-shaped stroke 900 is input in the recommended stroke sequence 700 as an adopted unit.
  • the handwriting recommendation processing unit 308 adopts “appl” in the recommended stroke sequence 700 as an input, and deletes “ication” in the recommended stroke sequence 700 and the frame-shaped stroke 900 input by handwriting. .
  • “ication” in the recommended stroke sequence 700 and the frame-shaped stroke 900 input by handwriting are erased from the editing screen 600.
  • the stroke 611 corresponding to “a” is complemented using the adopted portion “appl” in the recommended stroke sequence 700.
  • the stroke 611 of “a” may be replaced by the adopted portion “appl”.
  • the adopted portion “appl” is displayed in the same form as the stroke being input. Then, the non-adopted portion “ication” and the frame-shaped stroke 900 in the recommended stroke sequence 700 are deleted from the editing screen 600, and only the supplemented handwritten character string “appl” is displayed as shown in FIG.
  • a frame-shaped stroke 900 is input on an area corresponding to the entire “application” of the recommended stroke sequence 700, the entire recommended stroke sequence 700 is adopted as an input.
  • the frame-shaped stroke 900 written on a part of the recommended stroke sequence 700 is not used as a stroke serving as a base for handwriting recommendation, like the stroke 800 of “ ⁇ ”. Therefore, a new recommended stroke sequence corresponding to the frame-shaped stroke 900 is not displayed.
  • the frame-shaped stroke 900 is input by handwriting on an area that does not overlap with the recommended stroke sequence 700, the frame-shaped stroke 900 is handled in the same manner as other normal strokes.
  • a stroke “-” 800 (a stroke for allowing a part or all of the recommended stroke sequence to be deleted even when there is no further writing) and a frame-shaped stroke 900 (more writing)
  • a stroke “-” 800 (a stroke for allowing a part or all of the recommended stroke sequence to be deleted even when there is no further writing)
  • a frame-shaped stroke 900 (more writing)
  • the case where both of the strokes for allowing part or all of the recommended stroke sequence to be adopted even in the case where there is nothing is defined is illustrated, but the configuration using only one of the types of strokes It may be applied.
  • the stroke eg “ication” is deleted.
  • a stroke having a specific shape (“ ⁇ ” stroke 800 or frame-shaped stroke 900) is input on the region corresponding to “appl” in the recommended stroke sequence 700 of FIG.
  • the unit 308 executes at least processing for deleting “ication” in the recommended stroke sequence 700 (processing for preventing “ication” from being adopted). This makes it possible to partially reflect the recommended stroke sequence on the handwritten page even when there is no further writing.
  • the frame-shaped stroke 900 may be input on a recommended stroke sequence displayed as a handwriting candidate on the candidate list 501.
  • FIG. 44 shows an example of this case.
  • the handwriting recommendation processing unit 308 adopts a process for adopting only “appl” in the stroke sequence “apple” as an input and not adopting “e” as an input. Execute. Then, the handwriting recommendation processing unit 308 displays the complementary handwritten character string “appl” on the editing screen 600 as shown in FIG.
  • the stroke for making it possible to employ a part or all of the stroke sequence may be a “ ⁇ ” stroke.
  • a recommended stroke sequence (first stroke sequence) corresponding to one or more first strokes input by handwriting is displayed on the screen.
  • the recommended stroke sequence includes one or more strokes (second stroke) and one or more other strokes (third stroke) following the one or more second strokes.
  • the recommended stroke determination unit 308B adopts the one or more second strokes as an input, and A process for not adopting one or more third strokes as an input is executed.
  • the user simply inputs a new stroke by handwriting from the portion that is to be rejected in the recommended stroke sequence, and easily uses only the portion preceding the portion that is to be rejected in the recommended stroke sequence as input. be able to.
  • the various processes of the present embodiment can be realized by a computer program. Therefore, the computer program can be installed and executed on a computer through a computer-readable storage medium that stores the computer program. Similar effects can be easily realized.
  • the CPU in the computer in which this computer program is installed can function as a processor configured to execute the handwriting recommendation process described above.
  • the GPU in this computer can function as a display processor configured to display each stroke on the screen.
  • the handwritten document processing function of this embodiment can be applied to a normal desktop personal computer.
  • a tablet or the like that is an input device for handwriting input may be connected to the desktop personal computer.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Character Discrimination (AREA)

Abstract

 実施形態によれば、電子機器は、手書きによって入力される1以上の第1ストロークを画面上に表示する。前記電子機器は、前記1以上の第1ストロークに対応する第1ストローク列を前記画面上に表示する。前記第1ストローク列は、1以上の第2ストロークと、1以上の第2ストロークに後続する1以上の第3ストロークとを含む。前記1以上の第3ストロークに対応する領域上に第4ストロークが手書きによって入力される場合、前記電子機器は、前記1以上の第2ストロークを入力として採用し且つ前記1以上の第3ストロークを入力として採用しないための処理を実行する。

Description

手書きのための電子機器および方法
 ここに記載される実施形態は、手書きのための技術に関する。
 近年、タブレット、PDA、スマートフォンといった種々の電子機器が開発されている。この種の電子機器の多くは、ユーザによる入力操作を容易にするために、タッチスクリーンディスプレイを備えている。
 また最近では、手書き文字列を扱うことが可能な電子機器も開発されている。
特開2005-25566号公報
 しかし、従来では、手書きによって多くのストロークをスムーズに入力するための技術については考慮されていないのが現状である。
 本発明の一形態の目的は、手書きによって多くのストロークをスムーズに入力することができる電子機器および方法を提供することである。
 実施形態によれば、電子機器は、表示処理手段と、処理手段とを具備する。前記表示処理手段は、手書きによって入力される1以上の第1ストロークを画面上に表示する。前記処理手段は、手書き文書情報から取得される、前記1以上の第1ストロークに対応する第1ストローク列を前記画面上に表示するための処理を実行する。前記第1ストローク列は、1以上の第2ストロークと、前記1以上の第2ストロークに後続する1以上の第3ストロークとを含む。前記1以上の第3ストロークに対応する領域上に第4ストロークが手書きによって入力される場合、前記処理手段は、前記1以上の第2ストロークを入力として採用し且つ前記1以上の第3ストロークを入力として採用しないための処理を実行する。
図1は実施形態に係る電子機器の外観を示す例示的な斜視図である。 図2は図1の電子機器と外部装置との連携動作を示す例示的な図である。 図3は図1の電子機器のタッチスクリーンディスプレイ上に手書きされる手書き文書の例を示す図である。 図4は図3の手書き文書に対応する時系列情報を説明するための例示的な図である。 図5は図1の電子機器のシステム構成を示す例示的なブロック図である。 図6は図1の電子機器によって実行される手書きノートアプリケーションプログラムの機能構成を示す例示的なブロック図である。 図7は図1の電子機器によって実行される筆跡推薦処理の手順を説明するための例示的なフローチャートである。 図8は図1の電子機器の画面上に表示される手書きストロークの例を示す図である。 図9は図1の電子機器によって表示される推薦ストローク列の例を示す図である。 図10は図8の手書きストロークに対応する位置に図9の推薦ストローク列が表示される状態を示す例示的な図である。 図11は表示された推薦ストローク列の一部に対応する領域に手書きストロークが上書きされた状態を示す例示的な図である。 図12は手書きストロークの上書きに応答して推薦ストローク列を入力として部分的に採用する動作を示す例示的な図である。 図13は表示される推薦ストローク列を無視して手書き入力操作が継続される状態を示す例示的な図である。 図14は手書き入力操作の継続によって推薦ストローク列全体を不採用にする動作を示す例示的な図である。 図15は図1の電子機器の画面上に表示される手書きストロークの例を示す図である。 図16は図1の電子機器によって表示される推薦ストローク列の例を示す図である。 図17は図15の手書きストロークに対応する位置に図16の推薦ストローク列が表示される状態を示す例示的な図である。 図18は表示される推薦ストローク列の一部に対応する領域に手書きストロークが上書きされた状態を示す例示的な図である。 図19は手書きストロークの上書きに応答して推薦ストローク列を入力として部分的に採用する動作を示す例示的な図である。 図20は図1の電子機器の画面上に表示される手書きストロークの例を示す図である。 図21は図1の電子機器によって表示される推薦ストローク列の例を示す図である。 図22は図20の手書きストロークに対応する位置に図21の推薦ストローク列が表示される状態を示す例示的な図である。 図23は表示される推薦ストローク列の一部に対応する領域に手書きストロークが上書きされた状態を示す例示的な図である。 図24は手書きストロークの上書きに応答して推薦ストローク列を入力として部分的に採用する動作を示す例示的な図である。 図25は図1の電子機器の画面上に表示される手書きストロークの例を示す図である。 図26は図1の電子機器によって表示される推薦ストローク列の例を示す図である。 図27は図25の手書きストロークに対応する位置に図26の推薦ストローク列が表示される状態を示す例示的な図である。 図28は表示される推薦ストローク列の一部に対応する領域に、予め決められた形状の手書きストロークが上書きされた状態を示す例示的な図である。 図29は予め決められた形状の手書きストロークの上書きに応答して推薦ストローク列の一部または全体を不採用にする動作を示す例示的な図である。 図30は図1の電子機器の画面上に表示される筆跡候補の例を示す例示的な図である。 図31は図1の電子機器の画面上に表示される手書きストロークの例を示す図である。 図32は図1の電子機器によって表示される推薦ストローク列の例を示す図である。 図33は図31の手書きストロークに対応する位置に図32の推薦ストローク列が表示される状態を示す例示的な図である。 図34は表示される推薦ストローク列の一部に対応する領域に手書きストロークが上書きされた状態を示す例示的な図である。 図35は手書きストロークの上書きに応答して推薦ストローク列を入力として部分的に採用する動作を示す例示的な図である。 図36は図1の電子機器の画面上に表示される手書きストロークの例を示す図である。 図37は図1の電子機器によって表示される推薦ストローク列の例を示す図である。 図38は図36の手書きストロークに対応する位置に図37の推薦ストローク列が表示される状態を示す例示的な図である。 図39は表示される推薦ストローク列の一部に対応する領域に手書きストロークが上書きされた状態を示す例示的な図である。 図40は手書きストロークの上書きに応答して推薦ストローク列を入力として部分的に採用する動作を示す例示的な図である。 図41は入力されたストロークに対応する推薦ストローク列が表示された状態を示す例示的な図である。 図42は図41の推薦ストローク列の一部に対応する領域に、予め決められた形状のストロークが入力された状態を示す例示的な図である。 図43は図42の予め決められた形状のストロークの入力に応答して推薦ストローク列の一部または全体を採用する動作を示す例示的な図である。 図44は候補リスト上のストローク列の一部に対応する領域に、予め決められた形状のストロークが入力された状態を示す例示的な図である。 図45は図44の予め決められた形状のストロークの入力に応答して推薦ストローク列の一部または全体を採用する動作を示す例示的な図である。
 以下、実施の形態について図面を参照して説明する。 
 図1は、一実施形態に係る電子機器の外観を示す斜視図である。この電子機器は、例えば、ペン(スタイラス)または指によって手書き入力可能なペン・ベースの携帯型電子機器である。この電子機器は、タブレットコンピュータ、ノートブック型パーソナルコンピュータ、スマートフォン、PDA等として実現され得る。以下では、この電子機器がタブレットコンピュータ10として実現されている場合を想定する。タブレットコンピュータ10は、タブレットまたはスレートコンピュータとも称される携帯型電子機器である。タブレットコンピュータ10は、図1に示すように、本体11とタッチスクリーンディスプレイ17とを備える。本体11は、薄い箱形の筐体を有している。タッチスクリーンディスプレイ17は、本体11の上面に重ね合わさるように取り付けられている。
 タッチスクリーンディスプレイ17には、フラットパネルディスプレイと、センサとが組み込まれている。センサは、フラットパネルディスプレイの画面上のペンまたは指の接触位置を検出するように構成されている。フラットパネルディスプレイは、例えば、液晶表示装置(LCD)であってもよい。センサとしては、例えば、静電容量方式のタッチパネル、電磁誘導方式のデジタイザなどを使用することができる。以下では、デジタイザとタッチパネルの2種類のセンサの双方がタッチスクリーンディスプレイ17に組み込まれている場合を想定する。
 デジタイザは、例えば、フラットパネルディスプレイの画面の下側に配置される。タッチパネルは、例えば、フラットパネルディスプレイの画面上に配置される。このタッチスクリーンディスプレイ17は、指を使用した画面に対するタッチ操作のみならず、ペン100を使用した画面に対するタッチ操作も検出することができる。ペン100は例えばデジタイザペン(電磁誘導ペン)であってもよい。ユーザは、外部オブジェクト(ペン100又は指)を使用してタッチスクリーンディスプレイ17上で手書き入力操作を行うことができる。手書き入力操作中においては、画面上の外部オブジェクト(ペン100又は指)の動きの軌跡、つまり手書きによって入力されるストロークの軌跡がリアルタイムに描画され、これによって各ストロークの軌跡が画面上に表示される。外部オブジェクトが画面に接触されている間の外部オブジェクトの動きの軌跡が1ストローク(1手書きストローク)に相当する。手書きされた文字または図形などに対応する多数のストロークの集合、つまり多数の軌跡(筆跡)の集合が手書き文書を構成する。
 本実施形態では、この手書き文書は、イメージデータではなく、各ストロークの軌跡の座標列とストローク間の順序関係とを示す時系列情報として記憶媒体に保存される。この時系列情報の詳細は図4を参照して後述するが、この時系列情報は、複数のストロークが手書きされた順を示し、且つ複数のストロークにそれぞれ対応する複数のストロークデータを含む。換言すれば、この時系列情報は、複数のストロークにそれぞれ対応する時系列のストロークデータの集合を意味する。各ストロークデータは、ある一つのストロークに対応し、このストロークの軌跡上の点それぞれに対応する座標データ系列(時系列座標)を含む。これらストロークデータの並びの順序は、ストロークそれぞれが手書きされた順序つまり筆順に相当する。
 タブレットコンピュータ10は、記憶媒体から既存の任意の時系列情報(手書き文書情報)を読み出し、この時系列情報に対応する手書き文書、つまりこの時系列情報によって示される複数のストロークそれぞれに対応する軌跡を画面上に表示することができる。さらに、タブレットコンピュータ10は編集機能を有している。この編集機能は、「消しゴム」ツール、「範囲指定」ツール、および他の各種ツール等を用いたユーザによる編集操作に応じて、表示中の手書き文書内の任意のストロークまたは任意の手書き文字等を削除または移動することができる。さらに、この編集機能は、幾つかの手書き操作の履歴を取り消す機能も含んでいる。
 さらに、タブレットコンピュータ10は、筆跡推薦(筆跡補完)機能も有している。この筆跡機能は、多くのストロークを手書きによって容易に入力できるようにするために、ユーザの手書き入力操作を補助するための機能である。
 図2は、タブレットコンピュータ10と外部装置との連携動作の例を示している。タブレットコンピュータ10は、パーソナルコンピュータ1やクラウドと連携することができる。すなわち、タブレットコンピュータ10は、無線LANなどの無線通信デバイスを備えており、パーソナルコンピュータ1との無線通信を実行することができる。さらに、タブレットコンピュータ10は、インターネット上のサーバ2との通信を実行することもできる。サーバ2はオンラインストレージサービス、他の各種クラウドコンピューティングサービスを実行するサーバであってもよい。
 パーソナルコンピュータ1はハードディスクドライブ(HDD)のようなストレージデバイスを備えている。タブレットコンピュータ10は、時系列情報(手書き文書)をネットワーク越しにパーソナルコンピュータ1に送信して、パーソナルコンピュータ1のHDDに記録することができる(アップロード)。
 これにより、タブレットコンピュータ10内のストレージの容量が少ない場合でも、タブレットコンピュータ10が多数の時系列情報(手書き文書)あるいは大容量の時系列情報(手書き文書)を扱うことが可能となる。
 さらに、タブレットコンピュータ10は、パーソナルコンピュータ1のHDDに記録されている任意の1以上の手書き文書を読み出すことすができる(ダウンロード)。タブレットコンピュータ10は、この読み出した手書き文書によって示されるストロークそれぞれの軌跡をタブレットコンピュータ10のタッチスクリーンディスプレイ17の画面に表示することができる。この場合、複数の手書き文書それぞれのページを縮小することによって得られるサムネイルの一覧をタッチスクリーンディスプレイ17の画面上に表示してもよいし、これらサムネイルから選ばれた1ページをタッチスクリーンディスプレイ17の画面上に通常サイズで表示してもよい。
 さらに、タブレットコンピュータ10が通信する先はパーソナルコンピュータ1ではなく、上述したように、ストレージサービスなどを提供するクラウド上のサーバ2であってよい。タブレットコンピュータ10は、手書き文書をネットワーク越しにサーバ2に送信して、サーバ2のストレージデバイス2Aに記録することができる(アップロード)。さらに、タブレットコンピュータ10は、サーバ2のストレージデバイス2Aに記録されている任意の手書き文書を読み出すことができる(ダウンロード)。タブレットコンピュータ10は、この読み出した手書き文書によって示されるストロークそれぞれの軌跡をタブレットコンピュータ10のタッチスクリーンディスプレイ17の画面に表示することができる。
 このように、本実施形態では、手書き文書が格納される記憶媒体は、タブレットコンピュータ10内のストレージデバイス、パーソナルコンピュータ1内のストレージデバイス、サーバ2のストレージデバイスのいずれであってもよい。
 次に、図3および図4を参照して、ユーザによって手書きされたストローク(文字、マーク、図形(線図)、表など)と手書き文書との関係について説明する。図3は、ペン100などを使用してタッチスクリーンディスプレイ17上に手書きされる手書き文字列の例を示している。
 手書き文書では、一旦手書きされた文字や図形などの上に、さらに別の文字や図形などが手書きされるというケースが多い。図3においては、「ABC」の手書き文字列が「A」、「B」、「C」の順番で手書きされ、この後に、手書きの矢印が、手書き文字「A」のすぐ近くに手書きされた場合が想定されている。
 手書き文字「A」は、ペン100などを使用して手書きされる2つのストローク(「∧」形状の軌跡、「-」形状の軌跡)によって、つまり2つの軌跡によって表現される。最初に手書きされる「∧」形状のペン100の軌跡は例えば等時間間隔でリアルタイムにサンプリングされ、これによって「∧」形状のストロークの時系列座標SD11、SD12、…SD1nが得られる。同様に、次に手書きされる「-」形状のペン100の軌跡も等時間間隔でリアルタイムにサンプリングされ、これによって「-」形状のストロークの時系列座標SD21、SD22、…SD2nが得られる。
 手書き文字「B」は、ペン100などを使用して手書きされた2つのストローク、つまり2つの軌跡によって表現される。手書き文字「C」は、ペン100などを使用して手書きされた1つのストローク、つまり1つの軌跡によって表現される。手書きの「矢印」は、ペン100などを使用して手書きされた手書きされた2つのストローク、つまり2つの軌跡によって表現される。
 図4は、図3の手書き文字列に対応する時系列情報200を示している。時系列情報200は、複数のストロークデータSD1、SD2、…、SD7を含む。時系列情報200内においては、これらストロークデータSD1、SD2、…、SD7は、筆跡順に、つまり複数のストロークが手書きされた順に時系列に並べられている。
 時系列情報200において、先頭の2つのストロークデータSD1、SD2は、手書き文字「A」の2つのストロークをそれぞれ示している。3番目と4番目のストロークデータSD3、SD4は、手書き文字「B」を構成する2つのストロークをそれぞれ示している。5番目のストロークデータSD5は、手書き文字「C」を構成する1つのストロークを示している。6番目と7番目のストロークデータSD6、SD7は、手書き「矢印」を構成する2つのストロークをそれぞれ示している。
 各ストロークデータは、一つのストロークに対応する座標データ系列(時系列座標)、つまり一つのストロークの軌跡上の複数の点それぞれに対応する複数の座標を含む。各ストロークデータにおいては、複数の座標はストロークが書かれた順に時系列に並べられている。例えば、手書き文字「A」に関しては、ストロークデータSD1は、手書き文字「A」の「∧」形状のストロークの軌跡上の点それぞれに対応する座標データ系列(時系列座標)、つまりn個の座標データSD11、SD12、…SD1nを含む。ストロークデータSD2は、手書き文字「A」の「-」形状のストロークの軌跡上の点それぞれに対応する座標データ系列、つまりn個の座標データSD21、SD22、…SD2nを含む。なお、座標データの数はストロークデータ毎に異なっていてもよい。すなわち、ペン100の軌跡は等時間間隔でリアルタイムにサンプリングされるので、ストロークの長さが長いほど、あるいはストロークの手書き速度が遅いほど、座標データの数は増加する。
 各座標データは、対応する軌跡内のある1点に対応するX座標およびY座標を示す。例えば、座標データSD11は、「∧」形状のストロークの始点のX座標(X11)およびY座標(Y11)を示す。SD1nは、「∧」形状のストロークの終点のX座標(X1n)およびY座標(Y1n)を示す。
 さらに、各座標データは、その座標に対応する点が手書きされた時点に対応するタイムスタンプ情報Tを含んでいてもよい。さらに、各座標データには、筆圧を示す情報(Z)を追加してもよい。
 さらに、本実施形態では、上述したように、手書き文書は、イメージまたは文字認識結果ではなく、時系列のストロークデータの集合として記憶されるので、手書き文字の言語に依存せずに手書き文字を扱うことができる。よって、本実施形態の時系列情報200の構造は、使用言語の異なる世界中の様々な国で共通に使用できる。
 図5は、タブレットコンピュータ10のシステム構成を示す。 
 タブレットコンピュータ10は、図5に示されるように、CPU101、システムコントローラ102、主メモリ103、グラフィクスコントローラ104、BIOS-ROM105、不揮発性メモリ106、無線通信デバイス107、エンベデッドコントローラ(EC)108等を備える。
 CPU101は、タブレットコンピュータ10内の各種モジュールの動作を制御するプロセッサである。CPU101は、ストレージデバイスである不揮発性メモリ106から主メモリ103にロードされる各種コンピュータプログラムを実行する。これらプログラムには、オペレーティングシステム(OS)201、および各種アプリケーションプログラムが含まれている。アプリケーションプログラムには、手書きノートアプリケーションプログラム202が含まれている。この手書きノートアプリケーションプログラム202は、上述の手書き文書を作成および表示する機能、手書き文書を編集する機能、および筆跡推薦機能等を有している。
 また、CPU101は、BIOS-ROM105に格納された基本入出力システム(BIOS)も実行する。BIOSは、ハードウェア制御のためのプログラムである。
 システムコントローラ102は、CPU101のローカルバスと各種コンポーネントとの間を接続するデバイスである。システムコントローラ102には、主メモリ103をアクセス制御するメモリコントローラも内蔵されている。また、システムコントローラ102は、PCI EXPRESS規格のシリアルバスなどを介してグラフィクスコントローラ104との通信を実行する機能も有している。
 グラフィクスコントローラ104は、タブレットコンピュータ10のディスプレイモニタとして使用されるLCD17Aを制御する表示コントローラである。このグラフィクスコントローラ104によって生成される表示信号はLCD17Aに送られる。LCD17Aは、表示信号に基づいて画面イメージを表示する。このLCD17A上にはタッチパネル17Bおよびデジタイザ17Cが配置されている。タッチパネル17Bは、LCD17Aの画面上で入力を行うための静電容量式のポインティングデバイスである。指が接触される画面上の接触位置および接触位置の動き等はタッチパネル17Bによって検出される。デジタイザ17CはLCD17Aの画面上で入力を行うための電磁誘導式のポインティングデバイスである。ペン100が接触される画面上の接触位置および接触位置の動き等はデジタイザ17Cによって検出される。
 無線通信デバイス107は、無線LANまたは3G移動通信などの無線通信を実行するように構成されたデバイスである。EC108は、電力管理のためのエンベデッドコントローラを含むワンチップマイクロコンピュータである。EC108は、ユーザによるパワーボタンの操作に応じてタブレットコンピュータ10を電源オンまたは電源オフする機能を有している。
 次に、図6を参照して、手書きノートアプリケーションプログラム202の機能構成について説明する。
 手書きノートアプリケーションプログラム202は、ペン軌跡表示処理部301、時系列情報生成部302、編集処理部303、ページ保存処理部304、ページ取得処理部305、手書き文書表示処理部306、および筆跡推薦処理部308等を備える。
 手書きノートアプリケーションプログラム202は、タッチスクリーンディスプレイ17を用いて入力されるストロークデータを使用することによって、手書き文書(手書きデータ)の作成、表示、編集等を行う。タッチスクリーンディスプレイ17は、「タッチ」、「移動(スライド)」、「リリース」等のイベントの発生を検出するように構成されている。「タッチ」は、画面上に外部オブジェクトが接触したことを示すイベントである。「移動(スライド)」は、画面上に外部オブジェクトが接触されている間に接触位置が移動されたことを示すイベントである。「リリース」は、画面から外部オブジェクトが離されたことを示すイベントである。
 ペン軌跡表示処理部301および時系列情報生成部302は、タッチスクリーンディスプレイ17によって発生される「タッチ」または「移動(スライド)」のイベントを受信し、これによって手書き入力操作を検出する。「タッチ」イベントには、接触位置の座標が含まれている。「移動(スライド)」イベントにも、移動先の接触位置の座標が含まれている。したがって、ペン軌跡表示処理部301および時系列情報生成部302は、タッチスクリーンディスプレイ17から、接触位置の動きの軌跡に対応する座標列を受信することができる。
 ペン軌跡表示処理部301は、手書きによって入力されるストロークをタッチスクリーンディスプレイ17の画面上に表示するように構成された表示処理部として機能する。ペン軌跡表示処理部301は、タッチスクリーンディスプレイ17から座標列を受信する。そして、この座標列に基づいて、ペン軌跡表示処理部301は、ペン100等を使用した手書き入力操作によって入力される複数のストロークをタッチスクリーンディスプレイ17内のLCD17Aの画面上に表示する。
 時系列情報生成部302は、タッチスクリーンディスプレイ17から出力される上述の座標列を受信する。この座標列に基づいて、時系列情報生成部302は、上述の複数のストロークに対応する複数のストロークデータ(時系列情報)を生成する。これらストロークデータ、つまり各ストロークの各点に対応する座標は作業メモリ401に一時保存してもよい。
 ページ保存処理部304は、複数のストロークに対応する複数のストロークデータを含む手書き文書情報を記憶媒体402内の手書きノートデータベース402Aに保存する。記憶媒体402は、上述したように、タブレットコンピュータ10内のストレージデバイス、パーソナルコンピュータ1内のストレージデバイス、サーバ2のストレージデバイスのいずれであってもよい。
 ページ取得処理部305は、記憶媒体402から任意の手書き文書情報を読み出す。読み出された手書き文書情報は手書き文書表示処理部306に送られる。手書き文書表示処理部306は、手書き文書情報を解析し、この解析結果に基づいて、手書き文書情報内の複数のストロークデータによって示される複数のストロークの軌跡を画面上に手書きページとして表示する。
 編集処理部303は現在表示中の手書き文書(手書きページ)を編集するための処理を実行する。すなわち、編集処理部303は、タッチスクリーンディスプレイ17上でユーザによって行われる編集操作に応じて、表示されている複数のストローク内の1以上のストロークを削除または移動等するための編集処理を実行する。さらに、編集処理部303は、編集処理の結果を表示中の手書き文書に反映するためにこの手書き文書を更新する。
 ユーザは、「消しゴム」ツール等を使用して、表示されている複数のストローク内の任意のストロークを削除することができる。また、ユーザは、画面上の任意の部分を丸または四角によって囲むための「範囲指定」ツールを使用して、表示されている手書きページ内の任意の部分を範囲指定することができる。
 筆跡推薦処理部308は、上述の筆跡推薦機能を実行するように構成された処理部である。筆跡推薦処理においては、筆跡推薦処理部308は、手書きによって入力される1以上のストロークに対応するストローク列を、過去に入力されたストロークの集合(手書き文書情報)から取得する。そして、筆跡推薦処理部308は、取得されたストローク列を画面上に表示することによって、この取得されたストローク列をユーザに推薦する。
 換言すれば、筆跡推薦処理部308は、入力される1以上のストロークと手書き文書情報とに基づいて、ユーザが手書きしようとしているストローク列(例えば、手書き文字列、手書き図形、等)を予測する。そして、筆跡推薦処理部308は、予測によって得られるストローク列を画面上に推薦ストローク列として表示するための処理を実行する。
 例えば、ストローク「a」が手書きによって入力された場合には、ストローク「a」から始まる過去に入力されたストローク列、例えば手書きの語「access」が、推薦ストローク列として表示される。もしユーザによって手書きの語「access」を入力ストとして採用するための操作、例えば、手書きの語「access」に後続する位置にストロークを手書きによって入力する操作など、が行われた場合には、この手書きの語「access」が入力(入力)として採用されて、入力された手書き文字列となる。
 推薦されるストローク列は、手書きの語に限らず、手書きのフレーズであってもよい。例えば、ストローク「J」が手書きによって入力された場合には、過去に入力された手書き文字列「January13,2014」のストローク列が、推薦ストローク列として表示されてもよい。
 また、筆跡推薦処理においては、手書きによって入力される1以上のストロークに対応する1以上の筆跡候補がユーザに提示されてもよい。この場合、例えば、ストローク(手書き文字列)「a」が手書きによって入力された場合には、手書きの語「add」、手書きの語「access」のような幾つかの筆跡候補のリストがユーザに提示されてもよい。もしユーザによって手書きの語「access」が選択されたならば、この選択された手書きの語「access」が、入力として採用されて、入力された手書き文字列となる。
 入力された1以上のストロークに対応するストローク列の例は、入力された1以上のストロークに類似するストロークを含む複数のストロークである。筆跡推薦処理部308は、入力された1以上のストロークに対応するストローク列を求めて手書き文書情報を検索する。
 入力された1以上のストロークに対応するストローク列を手書き文書情報から容易に取得できるようにするために、筆跡推薦処理部308は、手書きノートデータベース402Aに格納されているストロークの集合(手書き文書情報)に基づいて、候補ストロークデータベース402Bを作成しても良い。
 この候補ストロークデータベース402Bは、複数種の文字列にそれぞれ対応する複数のエントリを備えていてもよい。各エントリは、このエントリの文字列に対応するストローク列(ストロークデータ群)を格納していてもよい。
 この場合、筆跡推薦処理部308は、まず、ユーザによって入力された1以上のストロークを文字認識してもよい。そして、筆跡推薦処理部308は、候補ストロークデータベース402Bを参照し、この入力された1以上のストロークの文字認識結果(文字列)に前方一致する文字列を見つけ出す。筆跡推薦処理部308は、見つけ出した文字列に対応するストローク列を、入力された1以上のストロークに対応するストローク列として候補ストロークデータベース402Bから取得する。
 あるいは、候補ストロークデータベース402Bの各エントリは、このエントリの文字列に対応するストローク列(ストロークデータ群)と、このストローク列内の各ストロークの特徴量とを格納していてもよい。あるストロークの特徴量としては、このストロークの手書き特徴を表すことができる任意の特徴を使用することができる。例えば、特徴量としては、ストロークの形状、ストロークの筆画方向、ストロークの傾斜、等を表す特徴量データを使用しても良い。この場合、筆跡推薦処理部308は、入力された1以上のストロークの特徴量に類似する特徴量を有するストローク列を候補ストロークデータベース402Bから取得してもよい。
 筆跡推薦処理部308は、推薦ストローク検索部308A、および推薦ストローク確定部308Bを備える。推薦ストローク検索部308Aは、候補ストロークデータベース402Bを参照して、入力された1以上のストロークに対応するストローク列を検索する。検索されたストローク列は推薦ストローク列として画面上に表示される。
 推薦ストローク確定部308Bは、推薦ストローク列の一部を入力として採用するための処理を実行する。いま、手書きによって入力される1以上の第1ストロークが画面上に表示された場合を想定する。推薦ストローク検索部308Aは、手書き文書情報(候補ストロークデータベース402B)から取得される、1以上の第1ストロークに対応する推薦ストローク列(第1ストローク列)を画面上に表示する。推薦ストローク列は過去に入力されたストローク列である。推薦ストローク列は複数のストロークを含む。つまり、推薦ストローク列は、1以上のストローク(第2ストローク)と、1以上の第2ストロークに後続する1以上の別のストローク(第3ストローク)とを含む。1以上の第3ストロークに対応する領域上に新たな1以上のストローク(第4ストローク)が手書きによって入力される場合、推薦ストローク確定部308Bは、1以上の第2ストロークを入力として採用し且つ1以上の第3ストロークを入力として採用しないための処理を実行する。
 このように、推薦ストローク列の内、新たな1以上のストローク(第4ストローク)によって上書きされた部分(1以上の第3ストローク)は入力として採用されない。そして、推薦ストローク列の内の1以上の第2ストロークのみが入力として採用される。
 さらに、不採用部分上に入力された1以上のストローク(第4ストローク)は、次の推薦ストローク列を表示のベースとなり得る。つまり、1以上の第4ストロークに対応する新たな推薦ストローク列が画面上に表示されても良い。
 このように、本実施形態では、表示されている推薦ストローク列内の不採用にしたい部分上に新たな手書きストロークを入力するだけで、推薦ストローク列の内、この不採用にしたい部分に先行する部分のみを容易に入力として採用することができる。
 筆跡推薦処理部308は、さらに、推薦ストローク提示部308Cを備えていてもよい。推薦ストローク提示部308Cは、手書きによって入力される1以上のストロークに対応する1以上の筆跡候補をユーザに提示する。1以上の筆跡候補の一つがユーザによって選択された場合、この選択された筆跡候補が上述の推薦ストローク列として画面上に表示される。
 図7のフローチャートは、筆跡推薦処理の手順を示す。 
 編集画面上で行われる手書き入力操作によってストロークが入力されると(ステップS101)、その入力されたストロークが編集画面上に表示される。筆跡推薦処理部308は、候補ストロークデータベース402Bを参照して、入力されたストロークに対応するストローク列を検索する(ステップS102)。
 例えば、ユーザが手書き文字列「application」を手書きによって入力しようとしている場合を想定する。ここでは、手書き文字列「apple」が候補ストロークデータベース402Bに既に蓄積されているものとする。図8に示されているように編集画面600上に文字「a」に対応するストローク611が手書きによって入力されると、筆跡推薦処理部308は、候補ストロークデータベース402Bを参照して、図9に示される手書き文字列「apple」を推薦ストローク列として検索する。そして、筆跡推薦処理部308は、手書き文字列「apple」を編集画面600上に表示する(ステップS103)。
 ステップ103では、筆跡推薦処理部308は、図10に示されているように、推薦ストローク列「apple」700を、「a」のストローク611に対応する位置に表示する。この場合、ストローク611が書かれた領域上に推薦ストローク列「apple」の先頭部分「a」が上書きされるように推薦ストローク列「apple」700が表示されてもよい。この時、推薦ストローク列700はまだ入力として確定される前であるので、推薦ストローク列700は、入力されたストロークとは違う形態で表示される。例えば、現在のペンカラーが黒色に設定されている状態でストローク611が手書き入力操作によって入力されたならば、このストローク611は黒色で表示される。一方、推薦ストローク列700は、黒色と異なる色で、例えば、黒色よりも薄い色である灰色で表示されてもよい。または、推薦ストローク列700は、黒色と異なる色、例えば、赤色で表示されてもよい。または、ストローク611が推薦ストローク列700を通して透けて見えるように推薦ストローク列700の透過度を高く設定してもよい。図10では、推薦ストローク列700が灰色で太く表示されており、且つ灰色の各ストロークの透過度が高く設定されている場合が想定されている。図10では、この灰色のストロークは破線で図示されている。これにより、推薦ストローク列700が手書きによって入力されたストロークとは違うストロークであることが分かる。
 ユーザは、ステップS104において、表示されている推薦ストローク列700の「e」に対応する領域に重なるように手書き文字列「ication」のストローク612~621を書き始める(図11)。筆跡推薦処理部308は、手書き文字列「ication」が書かれた位置が推薦ストローク列700内の「e」からであることを判定する。手書き文字列「ication」が書かれた位置は、例えば、手書きストローク間の重なりの有無を判定する「重なり判定」方法を用いて判定しても良い。重なりの有無は種々の方法を用いて判定することができるが、例えば、筆跡推薦処理部308は、「e」の外接矩形と、入力される「i」の外接矩形とを計算してもよい。そして、これら外接矩形がある閾値以上の割合で重なっていれば、筆跡推薦処理部308は、「e」と「i」とが重なっていると判定しても良い。
 そして、ステップS105において、筆跡推薦処理部308は、推薦ストローク列700内の「e」を入力として採用しない非採用部分として決定する。筆跡推薦処理部308は、推薦ストローク列700の内の「appl」を入力として採用する。この場合、「a」のストローク611を推薦ストローク列700の内の「appl」によって置換してもよいし、「a」のストローク611の後に推薦ストローク列700の内の「ppl」を追加してもよい。「appl」は入力中のストロークの形態と同じ形態(色、太さ、透明度、ペン種)で表示される。推薦ストローク列700内の非採用部分「e」は入力として採用されない。非採用部分「e」は削除されて編集画面600から消され、補完された手書き文字列「appl」と上書き入力された手書き文字列「ication」とを含む手書き文字列「application」が図12のように表示される。
 なお、表示される推薦ストローク列700がユーザが入力したいストローク列とは違う場合には、ユーザは推薦ストローク列を無視してストローク列を書き続ければよい。
 図13の編集画面600では、ユーザによって手書き文字「a」のストローク611が入力され、過去に入力された「application」のストローク列が手書き文字「a」に対応する推薦ストローク列として表示された場合が想定されている。
 もし書きたい文字列が「application」ではなく「abc」の場合には、ユーザは、図13に示されているように、表示されている推薦ストローク列「application」内の「pp」に対応する領域上に、手書き文字列「bc」に対応するストローク612~613を手書きによって入力すればよい。これにより、推薦ストローク列700全体が採用されなくなり、推薦ストローク全体が消える(図14)。「pp」に対応する領域にストローク612~613を手書きによって入力することは、「a」に続いて「bc」を書くことと同じである。このように、推薦ストローク列700を無視して書き続けることで、表示された推薦ストローク列700全体を不採用にすることができる。
 次に、推薦ストローク列を部分的に採用する処理の別の例を説明する。 
 ここでは、ユーザが手書き文字列「Januaty13,2014」を入力しようとしている場合を想定する。また、手書き文字列「Januaty13,2013」が候補ストロークデータベース402Bに既に蓄積されているものとする。
 図15に示されているように編集画面600上に手書き文字「J」に対応するストローク611,612が手書きによって入力されると、筆跡推薦処理部308は、候補ストロークデータベース402Bを参照して、図16に示される手書き文字列「Januaty13,2013」を推薦ストローク列として検索する。そして、筆跡推薦処理部308は、図17に示すように、手書き文字列「Januaty13,2013」を推薦ストローク列700として編集画面600上に表示する。
 推薦ストローク列「Januaty13,2013」は、手書きによって入力された「J」に対応する領域上に推薦ストローク列「Januaty13,2013」700の先頭部分「J」が上書きされるように表示されてもよい。
 ユーザは、表示されている推薦ストローク列700の「3」に対応する領域に重なるように手書き文字列「4」のストローク613~614を書き始める(図18)。筆跡推薦処理部308は、手書き文字列「4」が書かれた位置が推薦ストローク列700内の「3」であることを判定する。そして、筆跡推薦処理部308は、推薦ストローク列700内の「Januaty13,201」を入力として採用し且つ推薦ストローク列700内の「4」を入力として採用しないための処理を実行する。換言すれば、「J」に対応するストローク611,612は推薦ストローク列700内の採用部分「Januaty13,201」を用いて補完される。この場合、「J」のストローク611,612が採用部分「Januaty13,201」によって置換されてもよい。採用部分「Januaty13,201」は入力中のストロークの形態と同じ形態で表示される。そして、推薦ストローク列700内の非採用部分「3」は削除されて編集画面600から消され、補完手書き文字列「Januaty13,201」と上書き入力された手書き文字列「4」とを含む手書き文字列「Januaty13,2014」が図19のように表示される。
 次に、推薦ストローク列を部分的に採用する処理のさらに別の例を説明する。 
 ここでは、ユーザが手書き文字列「I like soccer」を入力しようとしている場合を想定する。また、手書き文字列「I like baseball」が候補ストロークデータベース402Bに既に蓄積されているものとする。
 図20に示されているように編集画面600上に手書き文字「I」に対応するストローク611~613が手書きによって入力されると、筆跡推薦処理部308は、候補ストロークデータベース402Bを参照して、図21に示される手書き文字列「I like baseball」を推薦ストローク列として検索する。そして、筆跡推薦処理部308は、図22に示すように、手書き文字列「I like baseball」を推薦ストローク列700として編集画面600上に表示する。
 推薦ストローク列「I like baseball」は、入力されたストローク611~613に対応する領域上に推薦ストローク列「I like baseball」700の先頭部分「I」が上書きされるように表示されてもよい。
 ユーザは、表示されている推薦ストローク列700の「baseball」に対応する領域に重なるように手書き文字列「soccer」のストローク614~619を書き始める(図23)。筆跡推薦処理部308は、手書き文字列「soccer」が書かれた位置が推薦ストローク列700内の「baseball」であることを判定する。そして、筆跡推薦処理部308は、推薦ストローク列700内の「I like」を入力として採用し且つ推薦ストローク列700内の「baseball」を入力として採用しないための処理を実行する。換言すれば、「I」に対応するストローク611~613は推薦ストローク列700内の採用部分「I like」を用いて補完される。この場合、「I」のストローク611~613が採用部分「I like」によって置換されてもよい。採用部分「I like」は入力中のストロークの形態と同じ形態で表示される。そして、推薦ストローク列700内の非採用部分「baseball」は削除されて編集画面600から消され、補完手書き文字列「I like」と上書き入力された手書き文字列「soccer」とを含む手書き文字列「I like soccer」が図24のように表示される。
 次に、手書きによって入力される予め決められた形状のストロークを使用して、推薦ストローク列の一部または全てを不採用にする処理について説明する。
 予め決められた形状のストロークとしては、例えば、横線「─」に対応するストロークを使用してもよい。横線「─」に対応するストロークは、推薦ストローク列内の非採用部分を指定するためのストロークである。この横線「─」に対応するストロークは、それ以上書くことが無い場合においても推薦ストローク列の一部又は全部を削除できるようにするためのストロークとして用いられる。
 ここでは、ユーザが手書き文字列「app」を入力しようとしている場合を想定する。また手書き文字列「application」が候補ストロークデータベース402Bに既に蓄積されているものとする。
 図25に示されているように編集画面600上に手書き文字「a」に対応するストローク611が手書きによって入力されると、筆跡推薦処理部308は、候補ストロークデータベース402Bを参照して、図26に示される手書き文字列「application」を推薦ストローク列として検索する。そして、筆跡推薦処理部308は、図27に示されているように、手書き文字列「application」を推薦ストローク列700として編集画面600上に表示する。
 図27に示されているように、推薦ストローク列「application」700は、ストローク611が書かれた領域上に推薦ストローク列「application」700の先頭部分「a」が上書きされるように表示されてもよい。
 ユーザは、表示されている推薦ストローク列700内の「lication」に対応する領域に重なるように「-」のストローク800を書き始める(図28)。筆跡推薦処理部308は、「-」のストローク800が書かれた位置が推薦ストローク列700内の「lication」に対応する領域上であることを判定する。筆跡推薦処理部308は、「-」のストローク800が入力された領域(「lication」)を非採用とすることを決定する。
 そして、筆跡推薦処理部308は、推薦ストローク列700内の「app」を入力として採用し、且つ推薦ストローク列700内の「lication」と、手書きによって入力された「-」のストローク800とを削除する。これにより、推薦ストローク列700内の「lication」と手書きによって入力された「-」のストローク800とが編集画面600から消される。
 換言すれば、「a」に対応するストローク611は推薦ストローク列700内の採用部分「app」を用いて補完される。この場合、「a」のストローク611が採用部分「app」によって置換されてもよい。採用部分「app」は入力中のストロークの形態と同じ形態で表示される。そして、推薦ストローク列700内の非採用部分「lication」と「-」のストローク800とが編集画面600から消され、補完手書き文字列「app」だけが図29のように表示される。
 なお、推薦ストローク列700の「p」または「pp」上に「-」のストローク800が手書きによって入力された場合には、推薦ストローク列700全体が不採用となる。そして、推薦ストローク列700全体と「-」のストローク800とが削除されて編集画面600から消される。このことは、「a」の後に何も書かないことと同じである。
 また、推薦ストローク列700の「a」または「app」上に「-」のストローク800が手書きによって入力された場合にも、推薦ストローク列700全体が不採用となってもよい。
 また、推薦ストローク列700の一部上に書かれた「-」のストローク800は、筆跡推薦のベースとなるストロークとしては使用されない。したがって、「-」のストローク800に対応する推薦ストローク列が表示されることはない。
 「-」のストローク800が推薦ストローク列700と重ならない領域上に手書きによって入力された場合には、「-」のストローク800は、他の通常のストロークと同様に扱われる。
 図30は、入力されるストロークに対応する幾つかの筆跡候補をユーザに提示するための候補リスト501の例を示す。 
 ここでは、編集画面600上で行われる手書き入力操作によって、手書き文字「a」に対応するストローク611が入力された場合が想定されている。
 ストローク611が手書きによって入力された場合、筆跡推薦処理部308は、この入力されたストローク611(ここでは手書き文字「a」)に対応する幾つかの筆跡候補を候補ストロークデータベース402Bから取得する。そして、筆跡推薦処理部308は、これら筆跡候補それぞれを編集画面600上の候補リスト501上に表示する。
 図30においては、候補リスト501上に、3つのストローク列が筆跡候補として提示された場合が想定されている。ここでは、3つのストローク列は、手書き文字列「apple」、手書き文字列「ability」、手書き文字列「adaptor」を含む。
 このように、先頭の手書き文字が「a」で始まる幾つかのストローク列(手書き文字列)がユーザに筆跡候補として提示される。
 候補リスト501上の3つの筆跡候補の一つがユーザによって選択されると、選択された筆跡候補が推薦ストローク列となる。この推薦ストローク列は、ストローク611に上書きされるように編集画面600上に表示される。
 なお、これまでの説明では、ある手書き文字が入力された場合に推薦ストローク列が表示される場合を例示したが、必ずしも文字全体を手書き入力する必要は無く、文字の一部に対応する1以上のストロークが入力された段階で推薦ストローク列が表示される構成を適用してもよい。以下、この例について説明する。
 ここでは、ユーザが手書き文字列「England」を入力しようとしている場合を想定する。また手書き文字列「English」が候補ストロークデータベース402Bに既に蓄積されているものとする。
 図31に示されているように編集画面600上に手書き文字「E」の一部に対応するストローク611,612が手書きによって入力されると、筆跡推薦処理部308は、候補ストロークデータベース402Bを参照して、図32に示される手書き文字列「English」を推薦ストローク列として検索する。そして、筆跡推薦処理部308は、図33に示すように、手書き文字列「English」を推薦ストローク列700として編集画面600上に表示する。
 推薦ストローク列「English」700は、ストローク611,612が書かれた領域上に推薦ストローク列「English」700の先頭部分「E」が上書きされるように表示されてもよい。
 ユーザは、表示されている推薦ストローク列700の「ish」に対応する領域に重なるように手書き文字列「and」のストローク613~616を書き始める(図34)。筆跡推薦処理部308は、手書き文字列「and」が書かれた位置が推薦ストローク列700内の「ish」であることを判定する。そして、筆跡推薦処理部308は、推薦ストローク列700内の「Engl」を入力として採用し且つ推薦ストローク列700内の「ish」を入力として採用しないための処理を実行する。換言すれば、「E」の一部に対応するストローク611,612は推薦ストローク列700内の採用部分「Engl」を用いて補完される。採用部分「Engl」は入力中のストロークの形態と同じ形態で表示される。そして、推薦ストローク列700内の非採用部分「ish」は削除されて編集画面600から消され、補完手書き文字列「Engl」と上書き入力された手書き文字列「and」とを含む手書き文字列「England」が図35のように表示される。
 文字の一部に対応する1以上のストロークが入力された段階で推薦ストローク列を表示するという上述の構成は、漢字を手書きによって入力する場合にも好適である。なぜなら、通常、漢字は、多くのストロークから構成されているからである。
 ここでは、ユーザが図40に示す漢字850を手書きによって入力しようとしている場合を例にして説明する。また図37に示す手書きの漢字900に対応するストローク列が候補ストロークデータベース402Bに既に蓄積されているものとする。
 図36に示されているように編集画面600上に漢字850のストローク列の例えば最初の2ストローク611,612が手書きによって入力されると、筆跡推薦処理部308は、候補ストロークデータベース402Bを参照して、図37に示される手書きの漢字900のストローク列を推薦ストローク列として検索する。手書きの漢字900のストローク列の最初の2ストロークも、ストローク611,612と同様の特徴を有するからである。そして、筆跡推薦処理部308は、図38に示すように、手書きの漢字900のストローク列を推薦ストローク列700として編集画面600上に表示する。
 この場合、ストローク611、612が書かれた領域上に手書きの漢字900(推薦ストローク列700)の最初の2ストロークが上書きされるように、手書きの漢字900(推薦ストローク列700)が表示されてもよい。
 手書きの漢字900(推薦ストローク列700)は、その一成分700Aを構成する幾つかのストロークと他の成分700Bを構成する幾つかのストロークとから構成される。ユーザは、表示されている手書きの漢字900(推薦ストローク列700)の成分700Bに対応する領域に重なるように、手書きの漢字850の一成分に対応するストローク613~618を書き始める(図39)。筆跡推薦処理部308は、手書きの漢字900(推薦ストローク列700)内の成分700Aを入力として採用し且つ手書きの漢字900(推薦ストローク列700)内の成分700Bを入力として採用しないための処理を実行する。換言すれば、ストローク611,612は推薦ストローク列700内の採用部分である成分700Aを用いて補完される。採用部分である成分700Aは入力中のストロークの形態と同じ形態で表示される。そして、手書きの漢字900(推薦ストローク列700)内の非採用部分である成分700Bは削除されて編集画面600から消され、手書きの漢字850が図40のように表示される。
 次に、手書きによって入力される予め決められた形状のストロークを使用して、推薦ストローク列の一部または全てを採用する処理について説明する。
 予め決められた形状のストロークとしては、予め決められた任意の形状のストロークを使用することが出来るが、例えば、丸形状、四角形状のような枠形状に対応するストロークを使用してもよい。この枠形状に対応するストロークは、推薦ストローク列内の採用部分を指定するためのストロークとして使用される。この枠形状に対応するストロークは、それ以上書くことが無い場合においても推薦ストローク列の一部又は全部を採用できるようにするためのストロークとして用いられる。
 ここでは、ユーザが手書き文字列「appl」を入力しようとしている場合を想定する。また手書き文字列「application」が候補ストロークデータベース402Bに既に蓄積されているものとする。
 図41に示されているように、編集画面600上に手書き文字「a」に対応するストローク611が手書きによって入力されると、筆跡推薦処理部308は、手書き文字列「application」を推薦ストローク列700として編集画面600上に表示する。推薦ストローク列700は、この推薦ストローク列700の先頭部分「a」がストローク611に対応する領域に重なるように編集画面600上に表示される。
 ユーザは、表示されている推薦ストローク列700内の「appl」に対応する領域に重なるように、あるいは「appl」に対応する領域を囲むように、枠形状のストローク900を書き始める(図42)。筆跡推薦処理部308は、枠形状のストローク900が書かれた位置が推薦ストローク列700内の「appl」に対応する領域上であることを判定する。筆跡推薦処理部308は、推薦ストローク列700の内、枠形状のストローク900が入力された領域(「appl」)を採用部として決定する。
 そして、筆跡推薦処理部308は、推薦ストローク列700内の「appl」を入力として採用し、且つ推薦ストローク列700内の「ication」と、手書きによって入力された枠形状のストローク900とを削除する。これにより、推薦ストローク列700内の「ication」と手書きによって入力された枠形状のストローク900とが編集画面600から消される。
 換言すれば、「a」に対応するストローク611は推薦ストローク列700内の採用部分「appl」を用いて補完される。この場合、「a」のストローク611が採用部分「appl」によって置換されてもよい。採用部分「appl」は入力中のストロークの形態と同じ形態で表示される。そして、推薦ストローク列700内の非採用部分「ication」と枠形状のストローク900とが編集画面600から消され、補完手書き文字列「appl」だけが図43のように表示される。
 もし推薦ストローク列700の「application」全体に対応する領域上に枠形状のストローク900が入力されたならば、推薦ストローク列700全体が入力として採用される。
 なお、推薦ストローク列700の一部上に書かれた枠形状のストローク900は、「-」のストローク800と同様に、筆跡推薦のベースとなるストロークとしては使用されない。したがって、枠形状のストローク900に対応する新たな推薦ストローク列が表示されることはない。
 枠形状のストローク900が推薦ストローク列700と重ならない領域上に手書きによって入力された場合には、枠形状のストローク900は、他の通常のストロークと同様に扱われる。
 本実施形態では、「-」のストローク800(それ以上書くことが無い場合においても推薦ストローク列の一部又は全部を削除できるようにするためのストローク)と、枠形状のストローク900(それ以上書くことが無い場合においても推薦ストローク列の一部又は全部を採用できるようにするためのストローク)との双方が定義されている場合を例示したが、何れか一方のタイプのストロークだけを用いる構成を適用しても良い。
 どちらのタイプのストロークが図42の推薦ストローク列700内の先行する1以上のストローク(例えば「appl」)に対応する領域上に入力された場合でも、推薦ストローク列700内の後続する1以上のストローク(例えば「ication」)は削除される。換言すれば、図42の推薦ストローク列700内の「appl」に対応する領域上に特定形状のストローク(「-」のストローク800または枠形状のストローク900)入力された場合には、筆跡推薦処理部308は、少なくとも、推薦ストローク列700内の「ication」を削除するための処理(「ication」を採用しないようにするための処理)を実行する。これにより、それ以上書くことが無い場合においても推薦ストローク列を部分的に手書きページに反映することが可能となる。
 なお、枠形状のストローク900は、候補リスト501上に筆跡候補として表示される推薦ストローク列上に入力されても良い。図44はこの場合の例を示す。
 図44においては、ストローク611が手書きによって編集画面600に入力され、そして、筆跡推薦処理部308によって候補リスト501が編集画面600上に表示された場合が想定されている。
 候補リスト501上に筆跡候補として表示されているストローク列「apple」の「appl」に対応する領域上に枠形状のストローク900が手書きによって入力された場合、あるいは「appl」に対応する領域が任意の範囲指定ツールを用いて指定された場合、筆跡推薦処理部308は、ストローク列「apple」内の「appl」の部分だけを入力として採用し、「e」を入力として採用しないための処理を実行する。そして、筆跡推薦処理部308は、図45に示すように、補完手書き文字列「appl」を編集画面600上に表示する。
 なお、推薦ストローク列の一部又は全部を削除できるようにするためのストロークを使用せず、推薦ストローク列の一部又は全部を採用できるようにするためのストロークだけを使用する構成においては、推薦ストローク列の一部又は全部を採用できるようにするためのストロークは、「-」のストロークであってもよい。
 以上説明したように、本実施形態においては、手書きによって入力される1以上の第1ストロークに対応する推薦ストローク列(第1ストローク列)が画面上に表示される。推薦ストローク列(第1ストローク列)は、1以上のストローク(第2ストローク)と、1以上の第2ストロークに後続する1以上の別のストローク(第3ストローク)とを含む。1以上の第3ストロークに対応する領域上に新たな1以上のストローク(第4ストローク)が手書きによって入力される場合、推薦ストローク確定部308Bは、1以上の第2ストロークを入力として採用し且つ1以上の第3ストロークを入力として採用しないための処理を実行する。
 よって、ユーザは、推薦ストローク列内の不採用にしたい部分から新たなストロークを手書きによって入力するだけで、推薦ストローク列の内、不採用にしたい部分に先行する部分のみを容易に入力として使用することができる。
 したがって、推薦ストローク列全体を採用した後に推薦ストローク列の一部を消しゴムツールを用いて削除するといった煩雑な操作を行う必要がなくなり、多くのストロークを手書きによってスムーズに入力することができる。
 なお、本実施形態の各種処理はコンピュータプログラムによって実現することができるので、このコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのコンピュータプログラムをコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
 このコンピュータプログラムがインストールされたコンピュータ内のCPUは上述の筆跡推薦処理を実行するように構成されたプロセッサとして機能し得る。このコンピュータ内のGPUはストロークそれぞれを画面上に表示するように構成された表示プロセッサとして機能し得る。
 また、本実施形態では、タブレットコンピュータを使用する場合を例示して説明したが、本実施形態の手書き文書処理機能は、通常のデスクトップパーソナルコンピュータに適用することもできる。この場合、手書き入力のための入力デバイスであるタブレット等をデスクトップパーソナルコンピュータに接続すれば良い。
 本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。

Claims (15)

  1.  手書きによって入力される1以上の第1ストロークを画面上に表示する表示処理手段と、
     手書き文書情報から取得される、前記1以上の第1ストロークに対応する第1ストローク列を前記画面上に表示するための処理を実行する処理手段とを具備し、
     前記第1ストローク列は、1以上の第2ストロークと、前記1以上の第2ストロークに後続する1以上の第3ストロークとを含むものであって、
     前記1以上の第3ストロークに対応する領域上に第4ストロークが手書きによって入力される場合、前記処理手段は、前記1以上の第2ストロークを入力として採用し且つ前記1以上の第3ストロークを入力として採用しないための処理を実行する、電子機器。
  2.  前記1以上の第1ストロークは第1の形態で前記画面上に表示され、
     前記複数の第2ストロークは前記第1の形態と異なる第2の形態で前記画面上に表示される請求項1記載の電子機器。
  3.  前記処理手段は、前記手書き文書情報から取得される、前記1以上の第1ストロークに対応する1以上の筆跡候補を前記画面上に表示し、
     前記第1ストローク列は、前記1以上の筆跡候補から選択される第1筆跡候補に対応するストローク列である請求項1記載の電子機器。
  4.  前記1以上の第3ストロークに対応する領域上に第1の形状のストロークが入力される場合、前記処理手段は、前記1以上の第2ストロークを入力として採用し、且つ、前記画面上の前記1以上の第3ストロークおよび前記第1の形状のストロークを削除するための処理を実行する請求項1記載の電子機器。
  5.  前記1以上の第2ストロークに対応する領域上に第1の形状のストロークが入力される場合、前記処理手段は、少なくとも、前記画面上の前記1以上の第3ストロークを削除するための処理を実行する請求項1記載の電子機器。
  6.  手書きによって入力される第1ストロークを画面上に表示することと、
     手書き文書情報から取得される、前記1以上の第1ストロークに対応する第1ストローク列であって、1以上の第2ストロークと、前記1以上の第2ストロークに後続する1以上の第3ストロークとを含む第1ストローク列を、前記画面上に表示することと、
     前記1以上の第3ストロークに対応する領域上に第4ストロークが手書きによって入力される場合、前記1以上の第2ストロークを入力として採用し且つ前記1以上の第3ストロークを入力として採用しないための処理を実行することとを具備する方法。
  7.  前記1以上の第1ストロークは第1の形態で前記画面上に表示され、
     前記第1ストローク列は前記第1の形態と異なる第2の形態で前記画面上に表示される請求項6記載の方法。
  8.  前記手書き文書情報から取得される、前記1以上の第1ストロークに対応する1以上の筆跡候補を前記画面上に表示することをさらに具備し、
     前記第1ストローク列は、前記1以上の筆跡候補から選択される第1筆跡候補に対応するストローク列である請求項6記載の方法。
  9.  前記1以上の第3ストロークに対応する領域上に第1の形状のストロークが入力される場合、前記1以上の第2ストロークを入力として採用し、且つ、前記1以上の第3ストロークおよび前記第1の形状のストロークを削除することをさらに具備する請求項6記載の方法。
  10.  前記1以上の第2ストロークに対応する領域上に第1の形状のストロークが入力される場合、少なくとも、前記1以上の第3ストロークを削除するための処理を実行することをさらに具備する請求項6記載の方法。
  11.  コンピュータによって実行されるプログラムであって、前記プログラムは、
     手書きによって入力される第1ストロークを画面上に表示することと、
     手書き文書情報から取得される、前記1以上の第1ストロークに対応する第1ストローク列であって、1以上の第2ストロークと、前記1以上の第2ストロークに後続する1以上の第3ストロークとを含む第1ストローク列を、前記画面上に表示することと、
     前記1以上の第3ストロークに対応する領域上に第4ストロークが手書きによって入力される場合、前記1以上の第2ストロークを入力として採用し且つ前記1以上の第3ストロークを入力として採用しないための処理を実行することと
    の機能を実行するように前記コンピュータを制御するプログラム。
  12.  前記1以上の第1ストロークは第1の形態で前記画面上に表示され、
     前記第1ストローク列は前記第1の形態と異なる第2の形態で前記画面上に表示される請求項11記載のプログラム。
  13.  前記手書き文書情報から取得される、前記1以上の第1ストロークに対応する1以上の筆跡候補を前記画面上に表示する機能を実行するように前記コンピュータをさらに制御し、
     前記第1ストローク列は、前記1以上の筆跡候補から選択される第1筆跡候補に対応するストローク列である請求項11記載のプログラム。
  14.  前記1以上の第3ストロークに対応する領域上に第1の形状のストロークが入力される場合、前記1以上の第2ストロークを入力ストロークとして採用し、且つ、前記画面上の前記1以上の第3ストロークおよび前記第1の形状のストロークを削除する機能を実行するように前記コンピュータをさらに制御する請求項11記載のプログラム。
  15.  前記1以上の第2ストロークに対応する領域上に第1の形状のストロークが入力される場合、少なくとも、前記1以上の第3ストロークを削除するための処理を実行するように前記コンピュータをさらに制御する請求項11記載のプログラム。
PCT/JP2014/050961 2014-01-20 2014-01-20 手書きのための電子機器および方法 WO2015107692A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2015557684A JPWO2015107692A1 (ja) 2014-01-20 2014-01-20 手書きのための電子機器および方法
PCT/JP2014/050961 WO2015107692A1 (ja) 2014-01-20 2014-01-20 手書きのための電子機器および方法
US15/009,622 US20160147437A1 (en) 2014-01-20 2016-01-28 Electronic device and method for handwriting

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/050961 WO2015107692A1 (ja) 2014-01-20 2014-01-20 手書きのための電子機器および方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/009,622 Continuation US20160147437A1 (en) 2014-01-20 2016-01-28 Electronic device and method for handwriting

Publications (1)

Publication Number Publication Date
WO2015107692A1 true WO2015107692A1 (ja) 2015-07-23

Family

ID=53542609

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/050961 WO2015107692A1 (ja) 2014-01-20 2014-01-20 手書きのための電子機器および方法

Country Status (3)

Country Link
US (1) US20160147437A1 (ja)
JP (1) JPWO2015107692A1 (ja)
WO (1) WO2015107692A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6430198B2 (ja) * 2014-09-30 2018-11-28 株式会社東芝 電子機器、方法及びプログラム
US10248880B1 (en) * 2016-06-06 2019-04-02 Boston Inventions, LLC Method of processing and recognizing hand-written characters
JP2022065419A (ja) * 2020-10-15 2022-04-27 セイコーエプソン株式会社 表示方法、及び表示装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10124502A (ja) * 1996-10-22 1998-05-15 Hitachi Ltd 文書処理装置
JP2004046325A (ja) * 2002-07-09 2004-02-12 Sharp Corp データ入力装置、データ入力プログラムおよびデータ入力プログラムを記録した記録媒体
JP2005251222A (ja) * 2005-04-01 2005-09-15 Sharp Corp 手書き入力装置、手書き入力プログラム、および、プログラム記録媒体
JP2007265171A (ja) * 2006-03-29 2007-10-11 Toshiba Corp 入力装置およびその方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10124502A (ja) * 1996-10-22 1998-05-15 Hitachi Ltd 文書処理装置
JP2004046325A (ja) * 2002-07-09 2004-02-12 Sharp Corp データ入力装置、データ入力プログラムおよびデータ入力プログラムを記録した記録媒体
JP2005251222A (ja) * 2005-04-01 2005-09-15 Sharp Corp 手書き入力装置、手書き入力プログラム、および、プログラム記録媒体
JP2007265171A (ja) * 2006-03-29 2007-10-11 Toshiba Corp 入力装置およびその方法

Also Published As

Publication number Publication date
JPWO2015107692A1 (ja) 2017-03-23
US20160147437A1 (en) 2016-05-26

Similar Documents

Publication Publication Date Title
JP6189451B2 (ja) 手書き文書情報を処理するための電子機器および方法
JP5349645B1 (ja) 電子機器および手書き文書処理方法
JP6270565B2 (ja) 電子機器および方法
JP2015162088A (ja) 電子機器、方法及びプログラム
JP2016071819A (ja) 電子機器および方法
JP6180888B2 (ja) 電子機器、方法およびプログラム
JP6010253B2 (ja) 電子機器、方法およびプログラム
JP6426417B2 (ja) 電子機器、方法及びプログラム
US20150146986A1 (en) Electronic apparatus, method and storage medium
JP5395927B2 (ja) 電子機器および手書き文書検索方法
JP5694234B2 (ja) 電子機器、手書き文書表示方法、及び表示プログラム
JP2015114976A (ja) 電子機器及び方法
JP5925957B2 (ja) 電子機器および手書きデータ処理方法
WO2014147712A1 (ja) 情報処理装置、情報処理方法及びプログラム
JP6054547B2 (ja) 手書き文書情報を処理するための電子機器および方法
JP6430198B2 (ja) 電子機器、方法及びプログラム
WO2015107692A1 (ja) 手書きのための電子機器および方法
JP6342194B2 (ja) 電子機器、方法及びプログラム
JP5735126B2 (ja) システムおよび筆跡検索方法
WO2016031016A1 (ja) 電子機器、方法及びプログラム
JP6039066B2 (ja) 電子機器、手書き文書検索方法およびプログラム
JP6465414B2 (ja) 電子機器、方法及びプログラム
JP6499198B2 (ja) 手書きのための電子機器および方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14878717

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2015557684

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14878717

Country of ref document: EP

Kind code of ref document: A1