WO2016031016A1 - 電子機器、方法及びプログラム - Google Patents
電子機器、方法及びプログラム Download PDFInfo
- Publication number
- WO2016031016A1 WO2016031016A1 PCT/JP2014/072569 JP2014072569W WO2016031016A1 WO 2016031016 A1 WO2016031016 A1 WO 2016031016A1 JP 2014072569 W JP2014072569 W JP 2014072569W WO 2016031016 A1 WO2016031016 A1 WO 2016031016A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- character
- stroke
- height
- input
- line
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 32
- 238000012545 processing Methods 0.000 claims abstract description 73
- 230000000295 complement effect Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 10
- 230000009467 reduction Effects 0.000 description 10
- 230000007704 transition Effects 0.000 description 4
- 101100309712 Arabidopsis thaliana SD11 gene Proteins 0.000 description 3
- 230000005674 electromagnetic induction Effects 0.000 description 3
- 101100309717 Arabidopsis thaliana SD22 gene Proteins 0.000 description 2
- 229920001690 polydopamine Polymers 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005057 finger movement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction 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/0488—Interaction 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
Definitions
- the embodiment of the present invention relates to a technique for inputting characters by handwriting.
- Handwritten characters may be displayed as text after being recognized, but are often displayed as graphics as they are. Character typefaces, particularly alphabets, are designed along several horizontal lines, and the vertical display position and the vertical size (height) differ depending on the type of character. For example, the upper end of a lowercase letter that includes a descender, such as “y”, and the uppercase letter of a lowercase letter that does not include an ascender or descender, such as “x”, are the same, but the lowercase letter that includes a descender includes the ascender or descender. There is no lower case lower end. However, if handwritten characters are displayed as they are without paying attention to the display position and size of each character, the display positions and heights of the characters are not uniform, and the appearance may be poor.
- An object of the present invention is to provide an electronic device, a method, and a program for displaying the handwritten characters in the same position and height.
- the electronic apparatus determines a display, display control means for displaying a stroke input on the display on the display, a character type corresponding to the plurality of input strokes, Processing means for adjusting the display size of the character corresponding to the plurality of input strokes according to the type of the character and determining the display position of the character after the size adjustment according to the reference line of the typeface.
- FIG. 1 is an exemplary perspective view showing an appearance of an electronic apparatus according to the embodiment.
- FIG. 2 is an exemplary block diagram illustrating a cooperative operation between the electronic device and another device.
- FIG. 3 is a diagram illustrating an example of a handwritten document handwritten on the touch screen display.
- FIG. 4 is a diagram showing an example of time-series information that is a set of stroke data.
- FIG. 5 is an exemplary block diagram showing a system configuration of the electronic apparatus.
- FIG. 6 is an exemplary block diagram illustrating a functional configuration of a handwritten note application program executed by the electronic device.
- FIG. 7 is an exemplary diagram showing various lines defining the design of a European document body.
- FIG. 8 is an exemplary flowchart showing handwriting input processing according to the embodiment.
- FIG. 8 is an exemplary flowchart showing handwriting input processing according to the embodiment.
- FIG. 10A is a diagram exemplarily showing screen transition of the touch screen display in the handwriting input process using the input prediction function.
- FIG. 10B is a diagram exemplarily showing the handwritten character recognition and type determination processing of FIG. 10A.
- FIG. 11A is a diagram exemplarily showing screen transition of the touch screen display in the handwriting input process using the input prediction function.
- FIG. 11B is a diagram exemplarily showing the handwritten character recognition and type determination processing of FIG. 11A.
- FIG. 12A is a diagram exemplarily showing screen transition of the touch screen display in the handwriting input process using the input prediction function.
- FIG. 12B is a diagram exemplarily showing the handwritten character recognition and type determination processing of FIG.
- FIG. 13A is a diagram exemplarily showing screen transition of the touch screen display during the handwriting input process using the input prediction function.
- FIG. 13B is a diagram exemplarily showing the handwritten character recognition and type determination processing of FIG. 13A.
- FIG. 14 is a diagram exemplarily showing an outline of display size / position adjustment according to the embodiment.
- FIG. 15 is a diagram exemplarily showing an outline of display size adjustment without position adjustment.
- FIG. 16 is an exemplary block diagram illustrating a functional configuration of a handwritten note application program executed by the electronic device of the second embodiment.
- FIG. 17 is an exemplary flowchart showing the handwriting input process of the second embodiment.
- FIG. 18 is a diagram exemplarily showing an outline of display size / position adjustment according to the second embodiment.
- FIG. 1 is a perspective view illustrating an example of an external appearance of an electronic apparatus according to an embodiment.
- the electronic device is, for example, a pen-based portable electronic device that can be handwritten with a pen or a finger.
- the electronic device can be realized as a tablet computer, a notebook personal computer, a smartphone, a PDA, or the like.
- a case where the electronic apparatus is realized as the tablet computer 10 will be described.
- the tablet computer 10 is a portable electronic device that is also called a tablet or a straight computer.
- the main body 11 has a thin box-shaped housing.
- the touch screen display 17 is attached to the upper surface of the main body 11 so as to overlap.
- the touch screen display 17 includes a flat panel display and a sensor 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.
- the touch screen display 17 can detect not only a touch operation on the screen using a finger but also a touch operation on the 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 the pen 100 (pen input mode).
- pen input mode a trajectory of the movement of the pen 100 on the screen, that is, a stroke handwritten by a handwriting input operation is obtained, and a plurality of characters input by handwriting based on this are displayed on the screen.
- the locus of movement of the pen 100 during the period in which the pen 100 is in contact with the screen corresponds to one stroke.
- a plurality of strokes constitute characters, symbols, and the like.
- a set of many strokes corresponding to a handwritten character, a handwritten figure, a handwritten table, and the like constitute a handwritten document.
- the handwritten document is stored in the storage medium as time-series information (handwritten document data) indicating not the image data but the coordinate sequence constituting each stroke and the order relation (handwritten order) between the strokes.
- the 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 stroke.
- the order of arrangement of the stroke data corresponds to the order in which the strokes are handwritten.
- the tablet computer 10 can read existing arbitrary time-series information from the storage medium and display a handwritten document corresponding to the time-series information, that is, a plurality of strokes indicated by the time-series information on the screen.
- the plurality of strokes indicated by the time series information are also a plurality of strokes input by handwriting.
- the tablet computer 10 of the present embodiment also has a touch input mode for performing a handwriting input operation with a finger without using the pen 100.
- the touch input mode is valid, the user can perform a handwriting input operation on the touch screen display 17 using a finger.
- the touch input mode a trajectory of finger movement on the screen, that is, a stroke handwritten by a handwriting input operation is obtained, and thereby a plurality of strokes input by handwriting are displayed on the screen.
- Tablet computer 10 has an editing function.
- This editing function is an arbitrary handwritten part (handwritten character in a displayed handwritten document selected by the range selection tool in response to an editing operation by the user using the eraser tool, the range selection tool, and other various tools. , Handwritten marks, handwritten figures, handwritten tables, etc.) can be deleted or moved. Also, an arbitrary handwritten part in the handwritten document selected by the range selection tool can be designated as a search key for searching for a handwritten document.
- recognition processing such as handwritten character recognition / handwritten figure recognition / handwritten table recognition can be performed on an arbitrary handwritten portion in a handwritten document selected by the range selection tool.
- the handwritten document can be managed as one or a plurality of pages.
- a group of time-series information that fits on one screen may be recorded as one page by dividing time-series information (handwritten document data) by area units that fit on one screen.
- the page size may be variable.
- the page size can be expanded to an area larger than the size of one screen, a handwritten document having an area larger than the screen size can be handled as one page.
- the page may be reduced, or the display target portion in the page may be moved by vertical and horizontal scrolling.
- FIG. 2 shows an example of a cooperative operation between the tablet computer 10 and an external device.
- the tablet computer 10 includes a wireless communication device such as a wireless LAN, and can execute wireless communication with the personal computer 1.
- the tablet computer 10 can also perform communication with the server 2 on the Internet 3 using a wireless communication device.
- 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 data) to the personal computer 1 and record it in the HDD of the personal computer 1 (upload).
- the personal computer 1 may authenticate the tablet computer 10 at the start of communication.
- a dialog prompting the user to input an ID or password may be displayed on the screen of the tablet computer 10, and the ID of the tablet computer 10 and the like are automatically transmitted from the tablet computer 10 to the personal computer 1. May be.
- the tablet computer 10 can handle a large amount of time-series information or large-capacity time-series information.
- the tablet computer 10 reads (downloads) any one or more time-series information recorded in the HDD of the personal computer 1 and displays the stroke indicated by the read time-series information on the screen of the display 17 of the tablet computer 10. Can be displayed.
- a list of thumbnails obtained by reducing each page of the plurality of pieces of time-series information may be displayed on the screen of the display 17, or one page selected from these thumbnails may be displayed on the screen of the display 17. You may display with normal size.
- 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 time series information (handwritten document data) to the server 2 via the Internet and record it in the storage device 2A of the server 2 (upload). Further, the tablet computer 10 reads (downloads) arbitrary time series information recorded in the storage device 2A of the server 2, and displays a stroke indicated by the time series information on the screen of the display 17 of the tablet computer 10. Can do.
- the storage medium in which the time series information 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 document handwritten on the touch screen display 17 using the pen 100 or the like.
- the handwritten character “a” is expressed 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 also sampled, 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 represented by two strokes handwritten using the pen 100 or the like, that is, two trajectories.
- FIG. 4 shows time-series information 200 corresponding to the document 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 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 “ ⁇ ” shaped stroke of the handwritten character “a”, that is, n pieces of coordinate data SD11.
- SD12,... SD1n The stroke data SD2 includes coordinate data series corresponding to each point on 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.
- Each coordinate data indicates an X coordinate and a Y coordinate corresponding to one point having a stroke.
- 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 the 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.
- the handwritten time may be either an absolute time (for example, year / month / day / hour / minute / second) or a relative time based on a certain time.
- the absolute time for example, year / month / day / hour / minute / second
- each coordinate data in the stroke data indicates a difference from the absolute time.
- the relative time may be added as time stamp information T.
- each coordinate data may include a pressure P due to an external object (for example, the pen 100) touching the screen when a point corresponding to the coordinates is handwritten.
- the handwritten stroke is stored not as an image or a character recognition result but as time-series information 200 including a set of time-series stroke data.
- time-series information 200 including a set of time-series stroke data.
- the structure of the time-series information 200 according to the present embodiment can be commonly used in various countries around the world with different languages.
- FIG. 5 is a diagram showing 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 components in the tablet computer 10.
- the CPU 101 executes various software loaded into the main memory 103 from the nonvolatile memory 106 that is a storage device.
- These software include an operating system (OS) 201 and various application programs.
- the application program includes a handwritten note application program 202.
- This handwritten note application program 202 has a function of adjusting the size / position of the handwritten character to be displayed (vertical height in a horizontal row) in addition to the function of generating time-series information from the handwritten stroke described above.
- a position adjustment function and an input prediction function that suggests (displays) candidate character strings that are predicted to be input based on one or more strokes input by handwriting.
- the handwritten note application program 202 can complement a character string in the middle of input by selecting a candidate in the middle of input, for example, by this input prediction function.
- 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 arranged 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, the contact pressure, and the like.
- the wireless communication device 107 is a device configured to execute 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 powering 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 is a WYSIWYG application capable of handling handwritten document data.
- the handwritten note application program 202 includes, for example, 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 an input.
- a prediction processing unit 308 and the like are provided.
- 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, movement (slide), and release.
- a touch is an event indicating that an external object has touched the screen.
- the movement (slide) is an event indicating that the contact position is moved while the 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 movement (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 from the touch screen display 17 the locus of movement of the contact position, that is, the coordinate sequence corresponding to the stroke.
- 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 an arbitrary stroke in a plurality of displayed strokes using an eraser tool or the like.
- the user can specify a range of an arbitrary part in the displayed handwritten page by using a range specification tool for enclosing an arbitrary part on the screen with a circle or a square.
- the input prediction processing unit 308 acquires a stroke group corresponding to one or more strokes input by handwriting from the time-series information 200 (handwritten document information) input in the past and stored in the handwritten note database 402A.
- the input prediction processing unit 308 recommends the acquired stroke group to the user by displaying the acquired stroke group on the screen as a stroke candidate that complements handwritten input.
- the input prediction processing unit 308, based on one or more input strokes and the stored handwritten document information, the stroke group (for example, handwritten character string, handwritten figure, etc.) that the user intends to handwrite. ).
- This prediction may be performed not only when inputting characters by handwriting but also when inputting search keywords by handwriting.
- the input prediction processing unit 308 executes a process for displaying a stroke group obtained by prediction as a recommended stroke candidate on the screen.
- the number of candidates to be acquired and the number of candidates displayed on the screen at the same time may be the same, or the number of candidates to be acquired may be larger than the number of candidates that can be displayed at one time.
- an order indicating the degree corresponding to one or more strokes input by handwriting is given to the stroke group to be acquired, and the number of higher-order stroke groups that can be displayed on the screen at a time is regarded as a candidate, and less Even if the stroke groups of the ranks are acquired, they may not be regarded as candidates.
- the stroke corresponding to the acquired stroke data is displayed following the input stroke.
- a stroke group input in the past starting from the stroke “a” for example, the handwritten word “access” is displayed as a stroke candidate.
- the stroke candidate “access” is adopted as the input stroke, and the stroke in the middle of handwriting is complemented by the input stroke.
- the user does not necessarily have to hand-write the total number of strokes, and can easily input many strokes by handwriting.
- the stroke candidate display may be ignored and the stroke to be input may be continuously written. That is, the second stroke, for example, “p” is written on the second character “c” of the stroke candidate “access”. Thereby, a stroke group starting with the strokes “a” and “p” is acquired and displayed.
- Recommended stroke candidates are not limited to handwritten words but may be handwritten phrases. For example, when the stroke “J” is input by handwriting, the phrase of the handwritten character string “January 13, 2014” input in the past may be displayed as a stroke candidate.
- the candidate acquisition unit 308A performs morphological analysis of the handwritten document information stored in the handwritten note database 402A by background processing, executes character recognition processing on the stroke set constituting the handwritten document, and executes the handwritten document.
- morphemes, words, phrases and the like are classified into morphemes, words, phrases and the like. Candidates are selected from this classification unit.
- the number of stroke candidates that can be displayed simultaneously on the screen is limited, so acquire 3 to 5 stroke candidates and display a list.
- the stroke “a” is input by handwriting
- the handwritten words “apple”, “area”, “august”, etc. are presented as candidates
- the stroke “p” is input by handwriting
- the words “apple”, “appril”, “application”, etc. are presented as candidates. If the candidate contains a stroke that the user intends to input, select the candidate by tapping, etc., and the handwritten input stroke will be replaced with the selected candidate, and the handwritten input will be completed. To do.
- the handwritten input stroke may be left as it is, and the subsequent portions may be added. Both are collectively referred to as handwriting input stroke complementation.
- the user does not necessarily have to hand-write the total number of strokes, and can easily input many strokes by handwriting. If only a smaller number of stroke candidates than the number of lines that can be displayed are obtained, a blank line is created in the list display.
- the input prediction processing unit 308 includes a set of strokes stored in the handwritten note database 402A (
- the stroke candidate database 402B may be created based on handwritten document information.
- the stroke candidate database 402B may include a plurality of entries respectively corresponding to a plurality of types of character strings. Each entry may store a stroke data group corresponding to the character string of the entry.
- the input prediction processing unit 308 may first recognize one or more strokes input by the user. Then, the input prediction processing unit 308 refers to the stroke candidate database 402B and finds a character string that matches the character recognition result (character string) of one or more input strokes. The input prediction processing unit 308 acquires a stroke data group corresponding to the found character string from the stroke candidate database 402B as a stroke data group corresponding to one or more input strokes. Alternatively, each entry in the stroke candidate database 402B may store a stroke data group corresponding to the character string of the entry and a feature amount of each stroke in the stroke data group. As the feature amount of a certain stroke, any feature that can represent the handwritten feature of the 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 input prediction processing unit 308 may acquire a stroke data group having a feature amount similar to the feature amount of one or more input strokes from the stroke candidate database 402B.
- the input prediction processing unit 308 includes a candidate acquisition unit 308A, a size / position adjustment unit 308B, and a candidate presentation unit 308C.
- the candidate acquisition unit 308A refers to the stroke candidate database 402B and acquires a stroke data group (stroke candidate) corresponding to one or more input strokes.
- the candidate presentation unit 308C displays the acquired stroke data group on the screen as stroke candidates and recommends them to the user. When one of the one or more displayed stroke candidates is selected by the user, the selected stroke candidate is adopted as the input stroke, and the stroke in the middle of handwriting is complemented by the stroke candidate.
- the size / position adjusting unit 308B adjusts the display size / position of the stroke candidate when displaying the stroke candidate that complements the stroke in the middle of handwriting input.
- Fig. 7 illustrates the alphabet typeface.
- the alphabet typeface is defined by an ascender line, a cap line, a mean line (or x height line), a base line, and a descender line as a reference for aligning heights.
- the baseline is an imaginary line that aligns all uppercase letters with the lower end of the lowercase letters without an ascender.
- the assender line is an imaginary line for aligning the lower-case upper ends of the ascenders such as “f”, “h”, and “l”.
- the cap line is a virtual line for aligning the upper ends of all uppercase letters.
- the mean line is an imaginary line for aligning upper ends of lowercase letters that do not have ascenders such as “x” and “c”.
- the descender line is a virtual line for aligning the lower end of the lower case letters with descenders such as “g”, “j”, “p”, “q”, “y”. Since the interval (relative ratio) of each line is determined, if any one line is determined, the other lines are obtained from the ruled line interval and the relative ratio.
- the height of lowercase letters without ascenders and descenders is x height.
- the height of the capital letter is the cap height.
- the height of capital letters with descenders is cap height + descender.
- the height of the lowercase letter with the assender is x height + ascender.
- the height of the lowercase letter with the descender is x height + descender.
- FIG. 7 shows an English alphabet. In the non-English alphabet, there is a lowercase letter having both an ascender and a descender, and the height is x height + assender + descender.
- the non-alphabet height is the spacing between the ruled lines.
- FIG. 8 is a flowchart showing the handwriting input process.
- the pen locus display processing unit 301 When a handwriting input operation is performed with the pen 100 or a finger, the pen locus display processing unit 301 generates stroke data corresponding to the locus and displays the stroke (blocks 802 and 804).
- the time-series information generating unit 302 generates time-series information (stroke data arranged in time-series order) based on the coordinate sequence corresponding to the locus by the handwriting input operation, and temporarily stores the time-series information in the work memory 401 ( Block 806).
- the candidate acquisition unit 308A When the candidate acquisition unit 308A receives stroke data corresponding to one stroke from the time-series information generation unit 302, the candidate acquisition unit 308A detects that the input of one stroke is completed, and calculates a feature amount using the stroke data (block 808). ).
- the candidate presenting unit 308C determines a stroke candidate using the calculated feature amount (first feature amount) and the feature amount (second feature amount) corresponding to each stroke candidate in the stroke candidate database 402B, Display (block 810). Specifically, when the input stroke is a stroke constituting a character string (character) being input, the candidate presentation unit 308C includes one or more characters constituting the character string being input including the calculated feature amount.
- the candidate presentation unit 308C displays the calculated feature amount (first feature amount) and the feature amount corresponding to the stroke candidate in the stroke candidate database 402B ( The second feature amount) is used to calculate the similarity of each stroke candidate to the input stroke.
- the candidate presenting unit 308C displays a predetermined number of stroke candidates with a high degree of similarity in descending order of similarity.
- the input prediction processing unit 308 determines whether or not one of the displayed stroke candidates is selected. If none of the displayed stroke candidates is selected, the process returns to block 802 and the above-described processing for displaying the stroke candidates corresponding to the input handwritten character string (stroke) is continued.
- the size / position adjustment unit 308B recognizes the selected stroke candidate as a character.
- the size / position adjustment unit 308B acquires one character from the character string of the recognition result in block 818, and determines the character type or attribute in block 820.
- FIG. 852 Details of character type discrimination are shown in FIG. At block 852, it is determined whether the character type is alphabetic. If not (in the case of Japanese characters, etc.), at block 854, the non-alphabetic flag is turned on. Japanese characters do not have a plurality of height standards as shown in FIG. 7, and all the characters have the same size / height. You can align characters.
- block 856 determines whether the character type is uppercase. In the case of a capital letter such as “I” shown in FIG. 7, it is determined in block 857 whether or not the character type is a capital letter having a descender. If the uppercase letter does not have a descender, the cap height flag is turned on at block 858, and the character type determination process ends. The height of the character whose cap height flag is on is the cap height. In the case of a capital letter having a descender, the cap height & descender flag is turned on in block 859, and the character type determination process ends. The height of a character whose cap height & descender flag is on is cap height + descender.
- block 860 determines whether the character type is a lower case letter with an ascender and a descender. If the lowercase letter has an ascender and a descender, the ascender & descender flag is turned on in block 862, and the character type determination process ends.
- the height of the character with the ascender & descender flag on is x height + ascender + descender.
- the character type is not a lowercase letter with an ascender and a descender
- the ascender flag is turned on in block 866, and the character type determination process ends.
- the height of the character with the ascender flag turned on is x height + ascender.
- the character type is not a lowercase letter with an ascender, it is determined at block 868 whether the character type is a lowercase letter with a descender. In the case of a small letter having a descender such as “y” shown in FIG. 7, the descender flag is turned on in block 870 and the character type determination process ends. The height of the lowercase letter when the descender flag is on is x height + descender.
- the x height flag is turned on at block 872, and the character type determination process ends.
- the height of the character whose x height flag is on is x height + ascender + descender.
- the size / position adjusting unit 308B determines whether or not the character is the first alphabet of the character string of the recognition result in block 822. In the case of the first alphabet, in block 824, the size / position adjusting unit 308B determines the position (height) between the ruled lines of various lines in FIG. 7 according to the character type.
- the positions of the remaining lines are obtained from the defined cap line and base line.
- the positions of the remaining lines are determined from the defined cap line, base line, and descender line. If the ascender & descender flag is in lower case, the positions of the remaining lines are determined from the defined ascender line, base line, and descender line. If the ascender flag is lowercase, the position of the remaining lines is determined from the defined ascender line and the base line. If the descender flag is lowercase, the position of the remaining lines is obtained from the defined descender line and mean line. If the x height flag is lower case, the remaining line positions are determined from the defined mean line and the base line. That is, the positions of various lines between ruled lines are determined according to the handwritten position of the first alphabet.
- the size / position adjustment unit 308B determines in block 830 whether the character is the last character of the character string of the recognition result. If it is not the last character, the process returns to block 818 and the next character type discrimination process (block 820) is performed. When the type determination processing is performed up to the last character, first, in order to adjust the display size, the size / position adjustment unit 308B obtains the size (circumscribed rectangle) of the stroke candidate (before character recognition) in block 832.
- stroke candidates are displayed in the middle of handwriting, and when any stroke candidate is selected, the stroke in the middle of handwriting is complemented by the stroke candidates.
- the stroke candidate is also a character string handwritten by the user in the past, the size when it was input in the past may be different from the size of the stroke currently being handwritten. Therefore, when a stroke in the middle of handwriting is complemented by a stroke candidate, the shape of the stroke candidate is not changed so that the size of the character string is uniform, but the display size is enlarged / reduced. Enlarging / reducing may be performed at the same magnification in the vertical and horizontal directions, or may be enlarged / reduced only in the vertical direction.
- the size / position adjusting unit 308B determines an enlargement / reduction ratio of the display size of the stroke candidate according to the type of characters constituting the stroke candidate in block 834. Specifically, a flag given to a character constituting a stroke candidate is referred to, and an enlargement / reduction ratio of the entire stroke candidate is determined based on the height of the highest character.
- the magnification is determined so that the height of the circumscribed rectangle becomes the ruled line interval.
- the magnification is determined so that the height of the circumscribed rectangle is x height + ascender + descender .
- the height of the circumscribed rectangle is the cap height + descender.
- magnification is determined so that the height of the circumscribed rectangle is x height + ascender or descender.
- the display size of the selected stroke candidate is enlarged / reduced so as to coincide with the height corresponding to the various character types shown in FIG.
- lowercase letters and uppercase letters are not enlarged / reduced to the same size, and even if the size is changed, the appearance does not deteriorate.
- the user is not careful when handwriting, even if characters are roughly input in an unbalanced size, it will be changed to an appropriate size according to the character type, so a beautiful handwritten character will be displayed Is done. If the size is changed at the same vertical and horizontal magnification, the size can be made uniform while maintaining the user's handwritten shape, and the user's handwriting shape does not change.
- the size / position adjusting unit 308B determines the display position of the enlarged / reduced stroke candidate (the circumscribed rectangle) according to the type of characters constituting the stroke candidate. Specifically, the lower end of the display position of the stroke candidate is set as a baseline or descender line according to the flag of the characters constituting the stroke candidate. Since the size has been adjusted, if the lower ends are aligned, the upper ends are also aligned. For example, when there is a character whose non-alphabet flag is on in a stroke candidate, the display position is determined so that the base of the enlarging / reducing circumscribed rectangle is located on the lower ruled line.
- the display position is determined so that the base of the enlargement / reduction circumscribed rectangle is located on the descender line. Is done. If there is no character for which the non-alphabet flag is on, a descender flag, or a character for which the ascender & descender flag is on among stroke candidates, the display position is determined so that the base of the enlarging / reducing circumscribed rectangle is located at the baseline.
- step 838 the input prediction processing unit 308 supplements a stroke in the middle of handwriting with a stroke candidate.
- Completion includes a case where a stroke in the middle of handwriting is replaced with a stroke candidate, and a case where a handwritten input stroke is left as it is and a subsequent portion is added, but here the former is replaced. Since the stroke candidates are adjusted in size in block 834 and their positions are also adjusted in block 836, the heights of handwritten characters are aligned in a balanced manner regardless of the character size of the stroke candidates.
- FIG. 10A horizontal ruled lines are displayed on the screen at regular intervals during handwriting input.
- the three strokes constituting the first character “I” are handwritten.
- the movement trajectory of the pen 100 or the like is sampled to obtain stroke data.
- the handwritten stroke “I” is displayed.
- the stroke candidate “I” is subjected to character recognition processing and is recognized as “capital letter I” which is the first alphabet. Since the letter “I” is an uppercase letter, the height is the cap height, and the reference lines for the height are the cap line and the baseline. The positions of other lines, ascender lines, mean lines, and descender lines are obtained from the cap line and the base line. Thereby, the positions of various lines defining the alphabet typeface are determined.
- the stroke “I” is enlarged / reduced so that the circumscribed rectangle coincides with the cap height, and the display position is determined so that the base of the encircled circumscribed rectangle is positioned at the base line (see FIG. 10A). .
- the selected stroke candidate is subjected to character recognition processing, and is recognized as “wear (consisting of ordinary lowercase letters)” as shown in FIG. 11B. Since each character of “wear” is all lowercase, the height is x height. Therefore, the stroke candidate “wear” is enlarged / reduced so that the circumscribed rectangle coincides with the x height, and the display position is determined so that the base of the circumscribed rectangle after the enlargement / reduction is positioned at the base line (FIG. 12A). As a result, the lower ends of the strokes “I” and “wear” coincide with the baseline.
- the selected stroke candidate is subjected to character recognition processing, and is recognized as “my” (consisting of ordinary lowercase letters and lowercase letters with descenders) as shown in FIG. 12B. Since the highest height character in the stroke candidate “my” is “lowercase y with descender”, the stroke candidate “my” is enlarged / reduced so that the circumscribed rectangle matches x height + decender, and The display position is determined so that the base of the circumscribed rectangle after the enlargement / reduction is positioned on the descender line (see FIG. 13A). That is, the lower ends of the strokes “I”, “wear”, and “m” coincide with the base line, and the lower ends of the stroke “y” ⁇ coincide with the descender line. The upper ends of the strokes “I”, “wear” and “my” coincide with the mean line.
- the stroke candidate “shift” Since the highest height character in the stroke candidate “shift” is “lowercase h with ascender”, the stroke candidate “shift” is expanded / reduced so that the circumscribed rectangle matches x height + ascender, and The display position is determined so that the base of the circumscribed rectangle after the enlargement / reduction is positioned at the baseline. That is, the lower ends of the strokes “I”, “wear”, “m”, and “shift” coincide with the baseline, and the lower ends of the stroke “y” y coincide with the descender line.
- FIG. 14 shows a state where strokes in the middle of input shown in FIGS. 10A to 13A are complemented by stroke candidates.
- uppercase letters, lowercase letters, and lowercase letters with descenders / ascenders are displayed at a prescribed height along a prescribed line, so that the appearance of handwritten characters is good.
- FIG. 15 shows a case where the circumscribed rectangle of the stroke candidate is simply enlarged / reduced to fit between the ruled lines.
- a word composed of only x-height lowercase characters such as “wear” is expanded to the entire line, and there is a possibility that the display balance with words including descender / ascendered lowercase characters is deteriorated.
- the size and display position are adjusted according to the type and attribute of the character corresponding to the candidate stroke. Therefore, regardless of the size and position of the candidate stroke when handwritten, all characters can be displayed in a balanced manner. Therefore, when a stroke in the middle of input is complemented by a stroke candidate that has been input in the past, the stroke is positioned along the baseline or descender line of the character corresponding to the stroke in the middle of input and the same size as the character. Thus, the display size / position of the stroke candidates can be adjusted, and as a result, good-looking handwritten characters can be input efficiently.
- the candidate stroke height reference is acquired, and the candidate stroke is displayed during complement display.
- the height in the line is aligned according to the character type and displayed in a balanced manner without impairing the user's visual quality. It is possible to align in the direction.
- FIG. 16 shows a functional configuration of the handwritten note application program 202 of the second embodiment.
- the first embodiment relates to display size / position adjustment when a stroke input halfway is complemented by a stroke candidate
- the second embodiment does not complement the input stroke using the stroke candidate
- the present invention relates to an example of adjusting the display size / position for each character in real time when handwritten.
- the handwritten note application program 202 includes, for example, 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 the like.
- the input prediction processing unit 308 provided in the first embodiment is not provided.
- the pen locus display processing unit 301 includes a character size / position adjusting unit 301A, and adjusts the character size / position when displaying the pen locus.
- FIG. 17 is a flowchart showing the handwriting input process.
- the pen locus display processing unit 301 When a handwriting input operation is performed with the pen 100 or a finger, the pen locus display processing unit 301 generates stroke data corresponding to the locus (block 902).
- the time-series information generating unit 302 generates time-series information (stroke data arranged in time-series order) based on the coordinate sequence corresponding to the locus by the handwriting input operation, and temporarily stores the time-series information in the work memory 401 ( Block 904).
- the pen locus display processing unit 301 detects that one character has been input (Yes in block 906), in block 910, the input stroke is recognized.
- the character size / position adjustment unit 301 ⁇ / b> A determines the character type in block 912.
- the character type discrimination is the same as in FIG.
- the pen locus display processing unit 301 obtains the character size (circumscribed rectangle) corresponding to the input stroke in block 914, and in block 916, the character type.
- the enlargement / reduction ratio of the character display size is determined according to the above. Specifically, the flag given to the character is referred to in the character type determination process in block 912, and the enlargement / reduction ratio of the character is determined.
- the magnification is determined so that the height of the circumscribed rectangle becomes the ruled line interval.
- the magnification is determined so that the height of the circumscribed rectangle is x height + ascender + descender.
- the magnification is determined such that the height of the circumscribed rectangle is cap height + descender.
- the ascender flag or descender flag is on
- the magnification is determined so that the height of the circumscribed rectangle is x height + ascender or descender.
- the x height flag is on, the magnification is determined so that the height of the circumscribed rectangle becomes the x height.
- lowercase letters and uppercase letters are not enlarged / reduced to the same size, and even if the size of the handwritten stroke is changed, the appearance does not deteriorate.
- the size will be changed to an appropriate size according to the character type, so that the handwritten characters that look beautiful will be displayed Is done.
- the pen locus display processing unit 301 determines whether or not the character is the first alphabet in block 920. In the case of the first alphabet, the pen locus display processing unit 301 (character size / position adjustment unit 301A) displays enlarged / reduced characters in block 922, and in block 924, displays various lines in FIG. 7 according to the character type. Determine the position (height) between the ruled lines.
- the positions of the remaining lines are obtained from the defined cap line and base line.
- the positions of the remaining lines are obtained from the defined cap line, base line, and descender line.
- the ascender & descender flag is on, the positions of the remaining lines are obtained from the defined ascender line, base line, and descender line.
- the ascender flag is on, the positions of the remaining lines are obtained from the defined ascender line and the base line.
- the descender flag is on, the positions of the remaining lines are obtained from the defined descender line and mean line.
- the positions of the remaining lines are obtained from the defined mean line and base line. That is, the positions of various lines between ruled lines are determined according to the handwritten position of the first alphabet.
- the pen locus display processing unit 301 determines the display position of the enlarged / reduced character (circumscribed rectangle) in accordance with the type of character in block 930. Specifically, the lower end of the display position is set as a base line or descender line according to the character flag. Since the size has been adjusted, if the lower ends are aligned, the upper ends are also aligned. For example, when the non-alphabet flag is on, the display position is determined such that the base of the enlargement / reduction circumscribed rectangle is located on the lower ruled line.
- the display position is determined so that the base of the enlargement / reduction circumscribed rectangle is located on the descender line. In other cases, the display position is determined so that the base of the enlarging / reducing circumscribed rectangle is located at the base line.
- Pen trajectory display processing unit 301 (character size / position adjusting unit 301A) displays a character after size / height adjustment in block 932 instead of a character consisting of a handwritten stroke. For this reason, handwritten characters are displayed with good balance regardless of the character size and height position of the handwritten stroke.
- block 934 it is determined whether or not the handwriting is finished. If not, the process returns to block 902 and the handwriting of the stroke is continued.
- FIG. 18 shows an operation of appropriately adjusting the display size / position of a character by judging the type and attribute of the character based on the result of character recognition even if handwritten without minding the size and position of each character.
- An example is shown.
- characters other than “y” are aligned with the base line at the bottom, and only “y” is aligned with the descender line, and the height direction is aligned.
- a handwritten character string is obtained.
- the interval (ratio) of each line shown in FIG. 7 has been described as a predetermined fixed interval. However, when the interval (upper margin) between the upper ruled line and the ascender line is changed, the interval (ratio) of each line is changed. It may be changed.
- 1st Embodiment demonstrated the aspect which displays multiple stroke candidates which complement a handwritten input stroke, and complements an input stroke with the selected stroke candidate, it is the same also in the aspect which acquires and complements a single stroke candidate. Applicable to. That is, even when the acquired single stroke candidate is complemented by the input stroke, the processing can be performed in the same manner as in FIG. 8 (however, processing related to selection of a stroke is omitted).
- the entire character string constituting the stroke candidate is integrally adjusted in size / position.
- the size / position may be adjusted for each character.
- the type of each character constituting the stroke candidate is determined. Since the size adjustment is performed based on the character having the largest size, when the ascender & descender flag is turned on in block 862, the remaining character type is determined. The determination may be omitted and the flow may be terminated.
- SYMBOLS 10 Tablet computer, 17 ... Touch screen display, 17A ... LCD, 100 ... Pen, 202 ... Handwritten note application program, 301 ... Trajectory display processing part, 302 ... Time series information generation part, 308 ... Input prediction processing part, 308A ... Candidate acquisition unit, 308B ... size / position adjustment unit, 308C ... candidate presentation unit, 402B ... stroke candidate database.
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Character Discrimination (AREA)
Abstract
実施形態によれば、電子機器は、ディスプレイと、ディスプレイ上で入力されたストロークを前記ディスプレイ上で表示するための表示制御手段と、入力された複数のストロークに対応する文字の種類を判定し、その文字の種類に応じて、入力された複数のストロークに対応する文字の表示サイズを調整し、サイズ調整後の文字の表示位置を書体の基準ラインに応じて定める処理手段とを具備する。
Description
本発明の実施形態は文字を手書き入力する技術に関する。
近年、タブレット、PDA、スマートフォンといった種々の電子機器が開発されている。従来の電子機器では、文字やコマンドの入力はキーボード、マウス等により文字やコマンドを表すコードを入力することにより行なわれている。近年の電子機器では、この入力を容易にするために、タッチスクリーンディスプレイを備える。画面上で手書き、あるいは画面にタッチすることにより、文字、図形、コマンド等を入力することができるようになっている。
手書き入力の際には、画面に罫線が表示され、それに合わせて文字が手書きされる。手書き文字は、文字認識されてテキストとして表示してもよいが、そのまま図形として表示することも多い。文字書体、特にアルファベットは、幾つかの水平線に沿ってデザインされており、文字の種類に応じて縦方向の表示位置と、縦方向のサイズ(高さ)が異なる。例えば、“y”等のようにディセンダを含む小文字の上端と“x”等のようにアセンダ、ディセンダを含まない小文字の上端は同じであるが、ディセンダを含む小文字の下端はアセンダ、ディセンダを含まない小文字の下端より下である。しかし、各文字の表示位置とサイズに注意を払わないで手書きした文字をそのまま表示すると、文字の表示位置や高さが不揃いで見映えが悪いことがある。
従来の電子機器は、手書き入力した文字の表示に際し、文字の位置や高さが不揃いで見映えが悪い場合がある。
本発明の目的は手書き文字の位置や高さを揃えて表示する電子機器、方法及びプログラムを提供することである。
実施形態によれば、電子機器は、ディスプレイと、ディスプレイ上で入力されたストロークを前記ディスプレイ上で表示するための表示制御手段と、入力された複数のストロークに対応する文字の種類を判定し、その文字の種類に応じて、入力された複数のストロークに対応する文字の表示サイズを調整し、サイズ調整後の文字の表示位置を書体の基準ラインに応じて定める処理手段とを具備する。
以下、実施形態について図面を参照して説明する。
図1は、実施形態に係る電子機器の外観の一例を示す斜視図である。電子機器は、例えば、ペンまたは指によって手書き入力可能なペン・ベースの携帯型電子機器である。電子機器は、タブレットコンピュータ、ノートブック型パーソナルコンピュータ、スマートフォン、PDA等として実現され得る。ここでは、この電子機器がタブレットコンピュータ10として実現されている場合を説明する。タブレットコンピュータ10は、タブレットまたはストレートコンピュータとも称される携帯型電子機器である。本体11は、薄い箱形の筐体を有している。
本体11の上面にタッチスクリーンディスプレイ17が重ね合わされるように取り付けられている。タッチスクリーンディスプレイ17は、フラットパネルディスプレイと、フラットパネルディスプレイの画面上のペンまたは指の接触位置を検出するように構成されたセンサとを含む。フラットパネルディスプレイは、例えば、液晶表示装置(LCD)であってもよい。センサとしては、例えば、静電容量方式のタッチパネル、電磁誘導方式のデジタイザなどを使用することができる。以下では、デジタイザとタッチパネルの2種類のセンサの双方がタッチスクリーンディスプレイ17に組み込まれている場合を説明する。このため、タッチスクリーンディスプレイ17は、指を使用した画面に対するタッチ操作のみならず、ペン100を使用した画面に対するタッチ操作も検出することもできる。
ペン100は例えばデジタイザペン(電磁誘導ペン)であってもよい。ユーザは、ペン100を使用してタッチスクリーンディスプレイ17上で手書き入力操作を行うことができる(ペン入力モード)。ペン入力モードにおいては、画面上のペン100の動きの軌跡、つまり手書き入力操作によって手書きされるストロークが求められ、これに基づいて手書き入力された複数の文字が画面上に表示される。ペン100が画面に接触されている期間のペン100の動きの軌跡が1つのストロークに相当する。複数のストロークが文字、記号等を構成する。手書きされた文字、手書きされた図形、手書きされた表、などに対応する多数のストロークの集合が手書き文書を構成する。
実施形態では、手書き文書は、イメージデータではなく、各ストロークを構成する座標列と、ストローク間の順序関係(手書きされた順番)とを示す時系列情報(手書き文書データ)として記憶媒体に保存される。時系列情報は、複数のストロークにそれぞれ対応する時系列のストロークデータの集合を意味する。各ストロークデータは、ある一つのストロークに対応し、このストローク上の点それぞれに対応する座標データ系列(時系列座標)を含む。これらストロークデータの並びの順序は、ストロークそれぞれが手書きされた順序に相当する。
タブレットコンピュータ10は、記憶媒体から既存の任意の時系列情報を読み出し、この時系列情報に対応する手書き文書、つまりこの時系列情報によって示される複数のストロークを画面上に表示することができる。時系列情報によって示される複数のストロークも、手書きによって入力される複数のストロークである。
さらに、本実施形態のタブレットコンピュータ10は、ペン100を使用せずに、指で手書き入力操作を行うためのタッチ入力モードも有している。タッチ入力モードが有効な場合、ユーザは、指を使用してタッチスクリーンディスプレイ17上で手書き入力操作を行うことができる。タッチ入力モードにおいては、画面上の指の動きの軌跡、つまり手書き入力操作によって手書きされるストロークが求められ、これによって手書きにより入力された複数のストロークが画面上に表示される。
タブレットコンピュータ10は編集機能を有している。この編集機能は、消しゴムツール、範囲選択ツール、および他の各種ツール等を用いたユーザによる編集操作に応じて、範囲選択ツールによって選択される表示中の手書き文書内の任意の手書き部分(手書き文字、手書きマーク、手書き図形、手書き表、等)を削除または移動することができる。また、範囲選択ツールによって選択される手書き文書内の任意の手書き部分を、手書き文書を検索するための検索キーとして指定することもできる。また、範囲選択ツールによって選択される手書き文書内の任意の手書き部分に対して、手書き文字認識/手書き図形認識/手書き表認識のような認識処理を実行することもできる。
本実施形態では、手書き文書は、1つまたは複数のページとして管理されうる。この場合、時系列情報(手書き文書データ)を1つの画面に収まる面積単位で区切ることによって、1つの画面に収まる時系列情報のまとまりを1つのページとして記録してもよい。あるいは、ページのサイズを可変できるようにしてもよい。この場合、ページのサイズは1つの画面のサイズよりも大きい面積に広げることができるので、画面のサイズよりも大きな面積の手書き文書を一つのページとして扱うことができる。1つのページ全体をディスプレイに同時に表示できない場合、そのページを縮小してするようにしてもよいし、縦横スクロールによってページ内の表示対象部分を移動するようにしてもよい。
図2は、タブレットコンピュータ10と外部装置との連携動作の一例を示している。タブレットコンピュータ10は、無線LANなどの無線通信デバイスを備えており、パーソナルコンピュータ1との無線通信を実行することができる。タブレットコンピュータ10は、無線通信デバイスを使用してインターネット3上のサーバ2との通信を実行することもできる。サーバ2はオンラインストレージサービス、他の各種クラウドコンピューティングサービスを実行するサーバであってもよい。
パーソナルコンピュータ1はハードディスクドライブ(HDD)のようなストレージデバイスを備えている。タブレットコンピュータ10は、時系列情報(手書き文書データ)をパーソナルコンピュータ1に送信して、パーソナルコンピュータ1のHDDに記録することができる(アップロード)。タブレットコンピュータ10とパーソナルコンピュータ1との間のセキュアな通信を確保するために、通信開始時には、パーソナルコンピュータ1がタブレットコンピュータ10を認証するようにしてもよい。この場合、タブレットコンピュータ10の画面上にユーザに対してIDまたはパスワードの入力を促すダイアログを表示してもよいし、タブレットコンピュータ10のIDなどを自動的にタブレットコンピュータ10からパーソナルコンピュータ1に送信してもよい。
これにより、タブレットコンピュータ10内のストレージの容量が少ない場合でも、タブレットコンピュータ10が多数の時系列情報あるいは大容量の時系列情報を扱うことが可能となる。
さらに、タブレットコンピュータ10は、パーソナルコンピュータ1のHDDに記録されている任意の1以上の時系列情報を読み出し(ダウンロード)、その読み出した時系列情報によって示されるストロークをタブレットコンピュータ10のディスプレイ17の画面に表示することができる。この場合、複数の時系列情報それぞれのページを縮小することによって得られるサムネイルの一覧をディスプレイ17の画面上に表示してもよいし、これらサムネイルから選ばれた1ページをディスプレイ17の画面上に通常サイズで表示してもよい。
さらに、タブレットコンピュータ10が通信する先はパーソナルコンピュータ1ではなく、上述したように、ストレージサービスなどを提供するクラウド上のサーバ2であってよい。タブレットコンピュータ10は、時系列情報(手書き文書データ)をインターネットを介してサーバ2に送信して、サーバ2のストレージデバイス2Aに記録することができる(アップロード)。さらに、タブレットコンピュータ10は、サーバ2のストレージデバイス2Aに記録されている任意の時系列情報を読み出して(ダウンロード)、その時系列情報によって示されるストロークをタブレットコンピュータ10のディスプレイ17の画面に表示することができる。
このように、本実施形態では、時系列情報が保存される記憶媒体は、タブレットコンピュータ10内のストレージデバイス、パーソナルコンピュータ1内のストレージデバイス、サーバ2のストレージデバイスのいずれであってもよい。
次に、図3及び図4を参照して、ユーザによって手書きされたストローク(手書きの文字、マーク、図形、表など)と時系列情報との関係について説明する。図3は、ペン100などを使用してタッチスクリーンディスプレイ17上に手書きされる文書の例を示している。
一般的に、文書では、一旦手書きされた文字や図形などの上に、さらに別の文字や図形などが手書きされるというケースが多い。図3においては、文字”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を含む。なお、座標データの数はストロークデータ毎に異なっていてもよい。
各座標データは、ストロークのある1点に対応するX座標及びY座標を示す。例えば、座標データSD11は、“∧”形状のストロークの始点のX座標“X11”及びY座標“Y11”を示す。SD1nは、“∧”形状のストロークの終点のX座標“X1n”及びY座標“Y1n”を示す。
また、各座標データは、その座標に対応する点が手書きされた時点に対応するタイムスタンプ情報Tを含んでいてもよい。手書きされた時点は、絶対時間(例えば、年月日時分秒)と、ある時点を基準とした相対時間のいずれであってもよい。例えば、各ストロークデータに、ストロークが書き始められた絶対時間(例えば、年月日時分秒)をタイムスタンプ情報として付加し、さらに、ストロークデータ内の各座標データに、絶対時間との差分を示す相対時間をタイムスタンプ情報Tとして付加してもよい。各座標データにタイムスタンプ情報Tが追加された時系列情報を使用することにより、ストローク間の時間的関係をより精度よく表すことができる。
さらに、各座標データは、その座標に対応する点が手書きされた時点の、外部オブジェクト(例えば、ペン100)が画面に接触されたことによる圧力Pを含んでいてもよい。
本実施形態では、上述したように、手書きされるストロークは、イメージや文字認識結果ではなく、時系列のストロークデータの集合から構成される時系列情報200として記憶されるので、言語に依存せずに手書きの文字や図形を扱うことができる。よって、本実施形態の時系列情報200の構造は、使用言語が異なる世界中の様々な国で共通に使用できる。
図5は、タブレットコンピュータ10のシステム構成を示す図である。
タブレットコンピュータ10は、CPU101、システムコントローラ102、主メモリ103、グラフィクスコントローラ104、BIOS-ROM105、不揮発性メモリ106、無線通信デバイス107、エンベデッドコントローラ(EC)108等を備える。
タブレットコンピュータ10は、CPU101、システムコントローラ102、主メモリ103、グラフィクスコントローラ104、BIOS-ROM105、不揮発性メモリ106、無線通信デバイス107、エンベデッドコントローラ(EC)108等を備える。
CPU101は、タブレットコンピュータ10内の各種コンポーネントの動作を制御するプロセッサである。CPU101は、ストレージデバイスである不揮発性メモリ106から主メモリ103にロードされる各種ソフトウェアを実行する。これらソフトウェアには、オペレーティングシステム(OS)201、及び各種アプリケーションプログラムが含まれている。アプリケーションプログラムには、手書きノートアプリケーションプログラム202が含まれている。この手書きノートアプリケーションプログラム202は、上述した手書きされたストロークから時系列情報を生成する機能に加えて、表示する手書き文字のサイズ/位置(水平方向の行における垂直方向の高さ)を調整するサイズ/位置調整機能、手書き入力された1以上のストロークに基づいて、入力が予測される文字列の候補を示唆(表示)する入力予測機能も有する。手書きノートアプリケーションプログラム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は、手書き文書データを扱うことが可能なWYSIWYGアプリケーションである。この手書きノートアプリケーションプログラム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は、過去に入力され手書きノートデータベース402Aに保存されている時系列情報200(手書き文書情報)から、手書きによって入力される1以上のストロークに対応するストローク群を取得する。入力予測処理部308は、取得されたストローク群を、手書き入力を補完するストローク候補として画面上に表示することによって、この取得されたストローク群をユーザに推薦する。換言すれば、入力予測処理部308は、入力される1以上のストロークと記憶されている手書き文書情報とに基づいて、ユーザが手書きしようとしているストローク群(例えば、手書き文字列、手書き図形、等)を予測する。この予測は、文字の手書き入力時のみならず、検索キーワードを手書き入力する際に実施しても良い。
入力予測処理部308は、予測によって得られるストローク群を画面上に推薦ストローク候補として表示するための処理を実行する。取得する候補の数と、画面に一度に表示する候補の数は一致しても良いし、取得する候補の数が一度に表示できる候補の数より多くても良い。あるいは、取得するストローク群に対して、手書きによって入力される1以上のストロークに対応する程度を示す順位を付与して、画面に一度に表示できる数の上位のストローク群を候補と見なし、それ以下の順位のストローク群は取得されても候補と見なさなくてもよい。
単数の候補を取得し、単数の候補を表示する場合、取得されたストロークデータに対応するストロークが、入力されたストロークに続けて表示される。例えば、ストローク“a”が手書きによって入力された場合には、ストローク“a”から始まる過去に入力されたストローク群、例えば手書きの語“access”が、ストローク候補として表示される。もしユーザによってストローク候補“access”を入力ストロークとして採用する操作、例えば、ストローク候補“access”に後続する位置に新たなストロークを手書きによって入力する操作など、が行われた場合には、ストローク候補“access”が入力ストロークとして採用されて、手書き途中のストロークが入力ストロークにより補完される。これにより、ユーザは必ずしも全画数手書きする必要がなく、多くのストロークを手書きによって容易に入力できる。
ユーザが入力したいストロークがストローク候補“access”ではない場合、ストローク候補の表示を無視して、入力したいストロークを書き続ければよい。すなわち、ストローク候補“access”の2番目の文字“c”の上に、2番目のストローク、例えば“p”を書く。これにより、ストローク“a”、“p”で始まるストローク群が取得され、表示される。
推薦されるストローク候補は、手書きの語に限らず、手書きのフレーズであってもよい。例えば、ストローク“J”が手書きによって入力された場合には、過去に入力された手書き文字列“January 13,2014”のフレーズが、ストローク候補として表示されてもよい。
このため、候補取得部308Aは、手書きノートデータベース402Aに保存される手書き文書情報の形態素解析をバックグラウンド処理で行い、手書き文書を構成するストローク集合に対して文字認識処理を実行して、手書き文書を構成する全てのストロークを形態素、単語、文節等に分類している。候補はこの分類の単位から選ばれる。
複数の候補を取得し、取得した複数の候補を同時に表示する場合、画面上に同時に表示できるストローク候補の数は限りがあるので、3~5程度のストローク候補を取得し、一覧を表示することが多い。例えば、ストローク“a”が手書きによって入力された場合、手書きの語“apple”、“area”、“august”等が候補として提示され、次いでストローク“p”が手書きによって入力された場合、手書きの語“apple”、“april”、“application”等が候補として提示される。候補の中にユーザが入力する予定のストロークが含まれている場合、その候補を、タップ等により、選ぶと、手書き入力済みストロークが、選択された候補により置き換えられて表示され、手書き入力が完了する。あるいは、置き換えではなく、手書き入力済みストロークはそのまま残し、それ以降の部分が付け足されても良い。両者を合わせて手書き入力ストロークの補完と称する。これにより、ユーザは必ずしも全画数手書きする必要がなく、多くのストロークを手書きによって容易に入力できる。なお、表示可能な行数より少ない数のストローク候補しか求められなかった場合、一覧表示に空白行ができる。
手書きによって入力された1以上のストロークを含むストロークデータ群を手書きノートデータベース402Aから容易に取得できるようにするために、入力予測処理部308は、手書きノートデータベース402Aに格納されているストロークの集合(手書き文書情報)に基づいて、ストローク候補データベース402Bを作成しても良い。ストローク候補データベース402Bは、複数種の文字列にそれぞれ対応する複数のエントリを備えていてもよい。各エントリは、エントリの文字列に対応するストロークデータ群を格納していてもよい。
入力予測処理部308は、まず、ユーザによって入力された1以上のストロークを文字認識してもよい。そして、入力予測処理部308は、ストローク候補データベース402Bを参照し、入力された1以上のストロークの文字認識結果(文字列)に前方一致する文字列を見つけ出す。入力予測処理部308は、見つけ出した文字列に対応するストロークデータ群を、入力された1以上のストロークに対応するストロークデータ群としてストローク候補データベース402Bから取得する。あるいは、ストローク候補データベース402Bの各エントリは、エントリの文字列に対応するストロークデータ群と、ストロークデータ群内の各ストロークの特徴量とを格納していてもよい。あるストロークの特徴量としては、ストロークの手書き特徴を表すことができる任意の特徴を使用することができる。例えば、特徴量としては、ストロークの形状、ストロークの筆画方向、ストロークの傾斜、等を表す特徴量データを使用しても良い。この場合、入力予測処理部308は、入力された1以上のストロークの特徴量に類似する特徴量を有するストロークデータ群をストローク候補データベース402Bから取得してもよい。
入力予測処理部308は、候補取得部308A、サイズ/位置調整部308B、候補提示部308Cを備える。候補取得部308Aは、ストローク候補データベース402Bを参照して、入力された1以上のストロークに対応するストロークデータ群(ストローク候補)を取得する。候補提示部308Cは、取得されたストロークデータ群をストローク候補として画面上に表示して、ユーザに推薦する。表示されている1以上のストローク候補の一つがユーザによって選択された場合、選択されたストローク候補が入力ストロークとして採用され、手書き途中のストロークがストローク候補により補完される。サイズ/位置調整部308Bは、手書き入力途中のストロークを補完するストローク候補を表示する際、ストローク候補の表示サイズ/位置を調整する。
図7は、アルファベットの書体を説明する。アルファベットの書体は、高さを揃える基準としてのアッセンダライン、キャップライン、ミーンライン(あるいはxハイトライン)、ベースライン、ディセンダラインにより定義される。ベースラインは全ての大文字と、アッセンダが無い小文字の下端を揃えるための仮想の線である。アッセンダラインは、“f”、“h”、“l”等のアッセンダが有る小文字の上端を揃えるための仮想の線である。キャップラインは、全ての大文字の上端を揃えるための仮想の線である。ミーンラインは“x”、“c”等のアッセンダが無い小文字の上端を揃えるための仮想の線である。ディセンダラインは、“g”、“j”、“p”、“q”、“y”等のディセンダが有る小文字の下端を揃えるための仮想の線である。各ラインの間隔(相対的な比率)は決まっているので、いずれか1つのラインが決まれば、他のラインは罫線の間隔と、相対的な比率から求められる。
手書きの際は、一定間隔の水平な罫線あるいは一定間隔の格子が画面に引かれ、上下の罫線間に文字が手書きされる。アッセンダラインは上側の罫線より多少下側に、ディセンダラインは下側の罫線より多少上側に定義される。
アッセンダ、ディセンダが無い小文字の高さはxハイトである。大文字の高さはキャップハイトである。ディセンダがある大文字の高さはキャップハイト+ディセンダである。アッセンダが有る小文字の高さはxハイト+アッセンダである。デッセンダが有る小文字の高さはxハイト+デッセンダである。図7は英語のアルファベットを示すが、英語以外のアルファベットでは、アッセンダ、ディセンダがともに有る小文字もあり、その高さはxハイト+アッセンダ+デッセンダである。非アルファベットの高さは罫線の間隔である。
図8は手書き入力処理を示すフローチャートである。ペン100あるいは指で手書き入力操作が行われると、ペン軌跡表示処理部301は、軌跡に対応するストロークデータを生成し、ストロークを表示する(ブロック802、804)。時系列情報生成部302は、手書き入力操作による軌跡に対応する座標列に基づいて時系列情報(時系列順に並べられたストロークデータ)を生成し、その時系列情報を作業メモリ401に一時保存する(ブロック806)。
候補取得部308Aは、時系列情報生成部302から、1ストロークに対応するストロークデータを受け取ると、1ストロークの入力が完了したことを検出し、ストロークデータを用いて特徴量を算出する(ブロック808)。候補提示部308Cは、算出された特徴量(第1特徴量)と、ストローク候補データベース402B内の各ストローク候補に対応する特徴量(第2特徴量)とを用いて、ストローク候補を決定し、表示する(ブロック810)。具体的には、入力ストロークが入力途中の文字列(文字)を構成するストロークである場合、候補提示部308Cは、算出された特徴量を含む、入力途中の文字列の文字を構成する1以上の手書きストロークに対応する特徴量(第1特徴量)と、ストローク候補データベース402B内の各ストローク候補に対応する特徴量(第2特徴量)とを用いて、各ストローク候補の入力ストロークに対する類似度を算出する。また、入力ストロークが文字列を構成する先頭のストロークである場合、候補提示部308Cは、算出された特徴量(第1特徴量)と、ストローク候補データベース402B内のストローク候補に対応する特徴量(第2特徴量)とを用いて、各ストローク候補の入力ストロークに対する類似度を算出する。候補提示部308Cは類似度の高い所定数のストローク候補を類似度の高い順に表示する。
ブロック814で、入力予測処理部308は、表示されたストローク候補の内の1つが選択されたか否かを判定する。表示されたストローク候補がいずれも選択されない場合、ブロック802に戻り、入力される手書き文字列(ストローク)に応じたストローク候補を表示するための上述の処理が続けられる。
表示されたストローク候補の内の1つが選択された場合、ブロック816で、サイズ/位置調整部308Bは選択されたストローク候補を文字認識する。サイズ/位置調整部308Bは、ブロック818で、認識結果の文字列から1文字を取得し、ブロック820で文字種類または属性を判別する。
文字種類の判別の詳細を図9に示す。ブロック852で、文字種類がアルファベットであるか否かが判定される。否の場合(日本語文字等の場合)、ブロック854で、非アルファベットフラグがオンとされる。日本語文字等は、図7のような複数の高さ基準が無く、全ての文字が同じサイズ/高さであるので、一つの端部、例えば下端をある基準線に合わせるだけで、全ての文字の位置を揃えることができる。
文字種類がアルファベットである場合、ブロック856で、文字種類が大文字であるか否かが判別される。図7に示す“I”のような大文字の場合、ブロック857で、文字種類がディセンダを有する大文字であるか否かが判別される。ディセンダを有しない大文字の場合、ブロック858で、キャップハイトフラグがオンとされ、文字種類判別処理は終了する。キャップハイトフラグがオンの文字の高さはキャップハイトである。ディセンダを有する大文字の場合、ブロック859で、キャップハイト&ディセンダフラグがオンとされ、文字種類判別処理は終了する。キャップハイト&ディセンダフラグがオンの文字の高さはキャップハイト+ディセンダである。
文字種類が大文字ではない場合、ブロック860で、文字種類がアセンダとディセンダとを有する小文字であるか否かが判別される。アセンダとディセンダとを有する小文字の場合、ブロック862で、アセンダ&ディセンダフラグがオンとされ、文字種類判別処理は終了する。アセンダ&ディセンダフラグがオンの文字の高さはxハイト+アセンダ+デッセンダである。
文字種類がアセンダとディセンダとを有する小文字ではない場合、ブロック864で、文字種類がアセンダを有する小文字であるか否かが判別される。図7に示す“d”のようなアセンダを有する小文字の場合、ブロック866で、アセンダフラグがオンとされ、文字種類判別処理は終了する。アセンダフラグがオンの文字の高さはxハイト+アセンダである。
文字種類がアセンダを有する小文字ではない場合、ブロック868で、文字種類がディセンダを有する小文字であるか否かが判別される。図7に示す“y”のようなディセンダを有する小文字の場合、ブロック870で、ディセンダフラグがオンとされ、文字種類判別処理は終了する。ディセンダフラグがオンの小文字の高さはxハイト+デッセンダである。
文字種類がアセンダもディセンダも有しない小文字の場合(例えば、図7に示す“x”)、ブロック872で、xハイトフラグがオンとされ、文字種類判別処理は終了する。xハイトフラグがオンの文字の高さはxハイト+アセンダ+デッセンダである。
図8のブロックB820の文字種類判別が終了すると、サイズ/位置調整部308Bは、ブロック822で、その文字が認識結果の文字列の最初のアルファベットであるか否か判定する。最初のアルファベットの場合、ブロック824で、サイズ/位置調整部308Bは、文字種類に応じて図7の各種ラインの罫線間の位置(高さ)を決定する。
例えば、キャップハイトフラグがオンである大文字の場合、定義されているキャップラインとベースラインとから残りのラインの位置が求められる。キャップハイト&ディセンダフラグがオンである大文字の場合、定義されているキャップラインとベースラインとディセンダラインとから残りのラインの位置が求められる。アセンダ&ディセンダフラグがオンである小文字の場合、定義されているアセンダライン、ベースライン、ディセンダラインとから残りのラインの位置が求められる。アセンダフラグがオンである小文字の場合、定義されているアセンダラインとベースラインとから残りのラインの位置が求められる。ディセンダフラグがオンである小文字の場合、定義されているディセンダラインとミーンラインとから残りのラインの位置が求められる。xハイトフラグがオンである小文字の場合、定義されているミーンラインとベースラインとから残りのラインの位置が求められる。すなわち、最初のアルファベットの手書き位置に応じて、罫線間の各種ラインの位置が決まる。
最初のアルファベットでない場合、サイズ/位置調整部308Bは、ブロック830で、その文字が認識結果の文字列の最後の文字であるか否か判定する。最後の文字でない場合、ブロック818に戻り、次の1文字の種類判別処理(ブロック820)が行なわれる。最後の文字まで種類判別処理が行われると、先ず表示サイズを調整するために、サイズ/位置調整部308Bは、ブロック832で、ストローク候補(文字認識前)のサイズ(外接矩形)を求める。
前述したように、手書き途中でストローク候補が表示され、いずれかのストローク候補が選択されると、手書き途中のストロークがストローク候補により補完される。ただし、ストローク候補も過去にユーザが手書きした文字列であるので、過去に入力した時のサイズと、現在手書き途中のストロークのサイズが異なることもある。そのため、手書き途中のストロークがストローク候補により補完された場合、文字列のサイズが揃うように、ストローク候補の形状は変えないが、表示サイズを拡大/縮小する。拡大/縮小は縦横同じ倍率で行っても良いし、縦方向のみ拡大/縮小しても良い。
サイズ/位置調整部308Bは、ブロック834で、ストローク候補を構成する文字の種類に応じてストローク候補の表示サイズの拡大/縮小率を決定する。具体的には、ストローク候補を構成する文字に与えられたフラグが参照され、最も高い高さの文字の高さに基づいてストローク候補全体の拡大/縮小倍率が決定される。
例えば、ストローク候補中に非アルファベットフラグがオンである文字がある場合、外接矩形の高さが罫線間隔となるように倍率が決定される。
ストローク候補中に非アルファベットフラグがオンである文字は無いが、アセンダ&ディセンダフラグがオンである大文字がある場合、外接矩形の高さがxハイト+アセンダ+ディセンダとなるように倍率が決定される。
ストローク候補中に非アルファベットフラグがオンである文字とアセンダ&ディセンダフラグがオンである大文字は無いが、キャップハイト&ディセンダフラグがオンである大文字がある場合、外接矩形の高さがキャップハイト+ディセンダとなるように倍率が決定される。
ストローク候補中に非アルファベットフラグがオンである文字とアセンダ&ディセンダフラグがオンである大文字とキャップハイト&ディセンダフラグがオンである大文字は無いが、アセンダフラグあるいはディセンダフラグがオンである小文字がある場合、外接矩形の高さがxハイト+アセンダあるいはディセンダとなるように倍率が決定される。
ストローク候補中に非アルファベットフラグがオンである文字とアセンダ&ディセンダフラグがオンである大文字とキャップハイト&ディセンダフラグがオンである大文字とアセンダフラグあるいはディセンダフラグがオンである小文字は無いが、xハイトフラグがオンである小文字がある場合、外接矩形の高さがxハイトとなるように倍率が決定される。
以上により、選択されたストローク候補の表示サイズが図7に示す各種の文字種類に応じた高さに一致するように拡大/縮小される。これにより、例えば小文字と大文字が同じサイズに拡大/縮小されることはなく、サイズを変更しても見映えが悪くなることがない。さらに、ユーザが手書きの際に慎重にならなくても、バランスの悪いサイズで文字をラフに入力したとしても、文字種類に応じた適切なサイズに変更されるので、綺麗に見える手書き文字が表示される。なお、縦横同じ倍率でサイズを変更すれば、ユーザの手書き形状を保ったままサイズを均一にすることができ、ユーザの筆跡形状が変わることが無い。
次に、サイズ/位置調整部308Bは、ブロック836で、拡大/縮小したストローク候補(外接矩形)の表示位置をストローク候補を構成する文字の種類に応じて決定する。具体的には、ストローク候補を構成する文字のフラグに応じてストローク候補の表示位置の下端がベースライン、あるいはディセンダラインとされる。サイズが調整済みであるので、下端を揃えれば、上端も揃うことになる。例えば、ストローク候補中に非アルファベットフラグがオンである文字がある場合、拡大/縮小外接矩形の底辺が下側の罫線に位置するように表示位置が決定される。ストローク候補中に非アルファベットフラグがオンである文字は無いが、ディセンダフラグあるいはアセンダ&ディセンダフラグがオンの文字がある場合、拡大/縮小外接矩形の底辺がディセンダラインに位置するように表示位置が決定される。ストローク候補中に非アルファベットフラグがオンである文字、ディセンダフラグあるいはアセンダ&ディセンダフラグがオンの文字が無い場合、拡大/縮小外接矩形の底辺がベースラインに位置するように表示位置が決定される。
入力予測処理部308は、ブロック838で、手書き途中のストロークをストローク候補により補完する。補完は、手書き途中のストロークをストローク候補で置き換える場合と、手書き入力済みストロークはそのまま残し、それ以降の部分が付け足される場合を含むが、ここでは、前者の置き換えを行なう。ストローク候補はブロック834でサイズが調整され、ブロック836で位置も調整されているので、ストローク候補の文字サイズに関わらず、手書き文字の高さがバランスよく揃えられる。
以下、“I wear my shirt”を手書きする状況を例に取り、実施形態の動作を説明する。図10Aに示すように、手書き入力の際は、画面に一定間隔で水平な罫線が表示される。先ず、最初の文字“I”を構成する3つのストロークを手書きする。ペン100等の動きの軌跡は、サンプリングされて、ストロークデータが得られる。ストロークデータを画面に表示することにより、手書きストローク“I”が表示される。
1あるいは複数のストロークが入力されると、ストローク候補データベース402Bの中から類似しているストローク候補がいくつか検索され、画面の例えば左下に“I”、“I'm”、“Ice”、“ITC”が表示される。この中でストローク候補“I”が選択されると、手書きストロークが選択されたストローク候補により補完される。ストローク候補の表示の際に次のようにサイズ、位置が調整される。
図10Bに示すように、ストローク候補“I”は文字認識処理され、最初のアルファベットである“大文字のI”として認識される。文字“I”は大文字なので、高さがキャプハイトであり、高さの基準ラインはキャップラインとベースラインである。他のライン、アセンダライン、ミーンライン、ディセンダラインの位置は、キャップラインとベースラインから求められる。これにより、アルファベットの書体を定義する各種ラインの位置が決定される。ストローク“I”は外接矩形がキャップハイトと一致するように拡大/縮小され、かつ、拡大/縮小後の外接矩形の底辺がベースラインに位置するように表示位置が決定される(図10A参照)。
次に、図11Aに示すように文字列“we”を構成するストロークが入力されると、画面の例えば左下にストローク候補“wear”、“weak”、“were”、“weapon”が表示される。この中でストローク候補“were”が選択されると、手書きストローク“we”が選択されたストローク候補“wear”により補完される。ストローク候補の表示の際に次のようにサイズ、位置が調整される。
選択ストローク候補は文字認識処理され、図11Bに示すように、“(普通の小文字からなる)wear”として認識される。“wear”の各文字は全て小文字なので、高さがxハイトである。そのため、ストローク候補“wear”は外接矩形がxハイトと一致するように拡大/縮小され、かつ、拡大/縮小後の外接矩形の底辺がベースラインに位置するように表示位置が決定される(図12A参照)。この結果、ストローク“I”、“wear”の下端はベースラインに一致する。
次に、図12Aに示すように文字“m”を構成するストロークが入力されると、画面の例えば左下にストローク候補“my”、“me”、“mine”、“money”が表示される。この中でストローク候補“my”が選択されると、手書きストローク“m”が選択されたストローク候補“my”により補完される。候補の表示の際に次のようにサイズ、位置が調整される。
選択ストローク候補は文字認識処理され、図12Bに示すように、“(普通の小文字とディセンダ付き小文字からなる)my”として認識される。ストローク候補“my”の中の最も高い高さの文字は“ディセンダ付き小文字y”であるので、ストローク候補“my”は外接矩形がxハイト+ディセンダと一致するように拡大/縮小され、かつ、拡大/縮小後の外接矩形の底辺がディセンダラインに位置するように表示位置が決定される(図13A参照)。すなわち、ストローク“I”、“wear”、“m”の下端はベースラインに一致し、ストローク“y” の下端はディセンダラインに一致する。ストローク“I”、“wear”、“my”の上端はミーンラインに一致する。
次に、図13Aに示すように文字列“sh”を構成するストロークが入力されると、画面の例えば左下にストローク候補“shoes”、“shirt”、“shrine”、“schoo”が表示される。この中でストローク候補“shirt”が選択されると、選択ストローク候補は文字認識処理され、図13Bに示すように、“(普通の小文字とアセンダ付き小文字からなる)shirt”として認識される。ストローク候補“shirt”の中の最も高い高さの文字は“アセンダ付き小文字h”であるので、ストローク候補“shirt”は外接矩形がxハイト+アセンダと一致するように拡大/縮小され、かつ、拡大/縮小後の外接矩形の底辺がベースラインに位置するように表示位置が決定される。すなわち、ストローク “I”、“wear”、“m”、“shirt”の下端はベースラインに一致し、ストローク“y” の下端はディセンダラインに一致する。
図14は図10Aから図13Aに示す入力途中のストロークがストローク候補により補完される様子を示す。このように、大文字、小文字、ディセンダ/アセンダ付き小文字毎に規定のラインに沿って、規定の高さで表示されるので、手書き文字の見映えが良い。比較のために、単純にストローク候補の外接矩形を罫線間に収まるように拡大/縮小した場合を図15に示す。図15では、”wear”等のxハイトの小文字のみで構成される単語が行全体に拡大され、ディセンダ/アセンダ付き小文字を含む単語との表示上のバランスが悪くなる可能性がある。
以上説明したように、本実施形態によれば、手書き途中のストロークが候補ストロークにより補完され表示される際に、候補ストロークに対応する文字の種類、属性に応じてサイズ、表示位置が調整されるので、候補ストロークの手書き時のサイズ、位置に関わらず、全ての文字をバランスよく表示することができる。そのため、入力途中のストロークが過去に入力したストローク候補により補完される際、入力途中のストロークに対応する文字のベースラインあるいはディセンダラインに沿った位置で、かつ、該文字のサイズと同じサイズとなるようにストローク候補の表示サイズ/位置を調整することができ、その結果、見映えのよい手書き文字を効率よく入力することができる。例えば、候補ストロークの文字認識結果から、候補ストロークがディセンダ、アセンダ、キャップハイト、xハイトといった文字種のどれを持つか判定し、候補ストロークの高さ基準を取得しておき、補完表示時に、候補ストロークの外接矩形を算出し、外接矩形サイズ、高さ基準を基に候補ストロークを行内の高さを文字種類に合わせて揃えて表示することにより、ユーザの見た目の品位を損なうことなく、バランスよく行方向に位置合わせすることが可能である。
図16は第2実施形態の手書きノートアプリケーションプログラム202の機能構成を示す。第1実施形態は、途中まで入力したストロークがストローク候補により補完される際の表示サイズ/位置調整に関するが、第2実施形態は、ストローク候補を用いて入力ストロークを補完するのではなく、文字を手書き入力する際にリアルタイムに文字毎の表示サイズ/位置を調整する例に関する。
この手書きノートアプリケーションプログラム202は、例えば、ペン軌跡表示処理部301、時系列情報生成部302、編集処理部303、ページ保存処理部304、ページ取得処理部305、手書き文書表示処理部306等を備え、第1実施形態で設けられていた入力予測処理部308は設けられていない。ペン軌跡表示処理部301は、文字サイズ/位置調整部301Aを含み、ペン軌跡を表示する際に文字サイズ/位置を調整する。
図17は手書き入力処理を示すフローチャートである。ペン100あるいは指で手書き入力操作が行われると、ペン軌跡表示処理部301は、軌跡に対応するストロークデータを生成する(ブロック902)。時系列情報生成部302は、手書き入力操作による軌跡に対応する座標列に基づいて時系列情報(時系列順に並べられたストロークデータ)を生成し、その時系列情報を作業メモリ401に一時保存する(ブロック904)。
ペン軌跡表示処理部301は、1文字が入力されたことを検出すると(ブロック906のイエス)、ブロック910で、入力されたストロークを文字認識する。文字サイズ/位置調整部301Aは、ブロック912で文字種類を判別する。文字種類の判別は図9と同じである。
文字種類判別が終了すると、ペン軌跡表示処理部301(文字サイズ/位置調整部301A)は、ブロック914で、入力ストロークに対応する文字のサイズ(外接矩形)を求め、ブロック916で、文字の種類に応じて文字の表示サイズの拡大/縮小率を決定する。具体的には、ブロック912の文字種類の判別処理において文字に与えられたフラグが参照され、文字の拡大/縮小倍率が決定される。
例えば、非アルファベットフラグがオンである場合、外接矩形の高さが罫線間隔となるように倍率が決定される。アセンダ&ディセンダフラグがオンである場合、外接矩形の高さがxハイト+アセンダ+ディセンダとなるように倍率が決定される。キャップハイト&ディセンダフラグがオンである場合、外接矩形の高さがキャップハイト+ディセンダとなるように倍率が決定される。アセンダフラグあるいはディセンダフラグがオンである場合、外接矩形の高さがxハイト+アセンダあるいはディセンダとなるように倍率が決定される。xハイトフラグがオンである場合、外接矩形の高さがxハイトとなるように倍率が決定される。これにより、入力された手書きストロークに対応する文字の表示サイズが図7に示す各種の文字種類に応じた高さに一致するように拡大/縮小される。
これにより、例えば小文字と大文字が同じサイズに拡大/縮小されることはなく、手書きストロークのサイズを変更しても見映えが悪くなることがない。さらに、ユーザが手書きの際に慎重にならなくても、ラフにバランスの悪いサイズで文字を入力したとしても、文字種類に応じた適切なサイズに変更されるので、綺麗に見える手書き文字が表示される。
ペン軌跡表示処理部301(文字サイズ/位置調整部301A)は、ブロック920で、その文字が最初のアルファベットであるか否か判定する。最初のアルファベットの場合、ペン軌跡表示処理部301(文字サイズ/位置調整部301A)は、ブロック922で、拡大/縮小文字を表示し、ブロック924で、文字種類に応じて図7の各種ラインの罫線間の位置(高さ)を決定する。
例えば、キャップハイトフラグがオンの場合、定義されているキャップラインとベースラインとから残りのラインの位置が求められる。キャップハイト&ディセンダフラグがオンの場合、定義されているキャップラインとベースラインとディセンダラインとから残りのラインの位置が求められる。アセンダ&ディセンダフラグがオンの場合、定義されているアセンダライン、ベースライン、ディセンダラインとから残りのラインの位置が求められる。アセンダフラグがオンの場合、定義されているアセンダラインとベースラインとから残りのラインの位置が求められる。ディセンダフラグがオンの場合、定義されているディセンダラインとミーンラインとから残りのラインの位置が求められる。xハイトフラグがオンの場合、定義されているミーンラインとベースラインとから残りのラインの位置が求められる。すなわち、最初のアルファベットの手書き位置に応じて、罫線間の各種ラインの位置が決まる。
最初のアルファベットでない場合、ペン軌跡表示処理部301(文字サイズ/位置調整部301A)は、ブロック930で、拡大/縮小した文字(外接矩形)の表示位置を文字の種類に応じて決定する。具体的には、文字のフラグに応じて表示位置の下端がベースライン、あるいはディセンダラインとされる。サイズが調整済みであるので、下端を揃えれば、上端も揃うことになる。例えば、非アルファベットフラグがオンの場合、拡大/縮小外接矩形の底辺が下側の罫線に位置するように表示位置が決定される。ディセンダフラグあるいはアセンダ&ディセンダフラグがオンの場合、拡大/縮小外接矩形の底辺がディセンダラインに位置するように表示位置が決定される。それ以外の場合、拡大/縮小外接矩形の底辺がベースラインに位置するように表示位置が決定される。
ペン軌跡表示処理部301(文字サイズ/位置調整部301A)は、ブロック932で、手書きストロークからなる文字に換えてサイズ/高さ調整後の文字を表示する。このため、手書きストロークの文字サイズ、高さ位置に関わらず、手書き文字がバランス良く表示される。ブロック934で手書きが終了か否か判定され、終了でなければ、ブロック902に戻り、ストロークの手書きが続けられる。
図18は各文字のサイズ、位置を気にせずに手書きしても、文字認識の結果に基づいてから文字の種類、属性を判断して、文字の表示サイズ/位置を適切に調整する動作の一例を示す。図18では、手書き時の位置、サイズが不揃いでも、“y”以外の文字は下端がベースラインに位置合わせされ、“y”のみ下端がディセンダラインに位置合わせされ、高さ方向の位置が揃った手書き文字列が得られる。
以上説明したように、本実施形態によれば、入力された手書きストロークに対応する文字の種類、属性に応じてサイズ、表示位置をリアルタイムに調整するので、手書き時のサイズ、位置に関わらず、全ての文字をバランスよく表示することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
例えば、図8、図9、図17のフローチャートで説明した実施形態の処理手順は全てソフトウェアによって実行することができる。このため、この処理手順を実行するプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのプログラムを通常のコンピュータにインストールして実行するだけで、実施形態と同様の効果を容易に実現することができる。
図7に示す各ラインの間隔(比率)は既定の固定間隔であると説明したが、上側の罫線とアセンダラインとの間隔(上マージン)が変更された場合、各ラインの間隔(比率)を変更してもよい。
第1実施形態は手書き入力ストロークを補完するストローク候補を複数表示して、選択されたストローク候補で入力ストロークを補完する態様を説明したが、単数のストローク候補を取得して補完する態様でも、同様に適用できる。すなわち、取得された単一のストローク候補を入力されたストロークにより補完する場合も、図8と同様(ただし、ストロークの選択に関する処理は省略)に処理できる。
第1実施形態では、ストローク候補を構成する文字列全体を一体としてサイズ/位置調整したが、第2実施形態のように、1文字毎にサイズ/位置調整してもよい。
図9は、ストローク候補を構成する各文字の種類を判別するが、サイズ調整は最も大きいサイズの文字に基づいて行なうので、ブロック862でアセンダ&ディセンダフラグがオンされると、残りの文字の種類判別は省略して、フローを終了しても良い。
10…タブレットコンピュータ、17…タッチスクリーンディスプレイ、17A…LCD、100…ペン、202…手書きノートアプリケーションプログラム、301…軌跡表示処理部、302…時系列情報生成部、308…入力予測処理部、308A…候補取得部、308B…サイズ/位置調整部、308C…候補提示部、402B…ストローク候補データベース。
Claims (15)
- ディスプレイと、
前記ディスプレイ上で入力されたストロークを前記ディスプレイ上で表示するための表示制御手段と、
入力された複数のストロークに対応する文字の種類を判定し、その文字の種類に応じて、前記入力された複数のストロークに対応する文字の表示サイズを調整し、サイズ調整後の文字の表示位置を書体の基準ラインに応じて定める処理手段と、
を具備する電子機器。 - 入力された複数のストロークに対応する文字の種類がアルファベットである場合、前記文字の種類は、大文字、小文字の区別と、アセンダ、ディセンダの有無の少なくとも1つを用いて判定され、前記基準ラインは、アセンダライン、キャップライン、ミーンライン、ベースライン、ディセンダラインの少なくとも1つを具備する請求項1記載の電子機器。
- 前記処理手段は、文字の種類が大文字である場合、高さがキャップハイトとなるように、文字の種類がアセンダ付き小文字の場合、高さがxハイト+アセンダとなるように、文字の種類がディセンダ付き小文字の場合、高さがxハイト+ディセンダとなるように文字の高さを調整する請求項2記載の電子機器。
- 前記処理手段は、最初に入力された文字の種類に応じて前記基準ラインの位置を決め、2番目以降に入力された文字の高さを文字の種類に応じた基準ライン間の高さに合わせて調整し、サイズ調整後の文字の表示位置を前記ベースラインあるいはディセンダラインに応じて定める請求項2記載の電子機器。
- 前記処理手段は、
入力された複数の第1ストロークを記憶するメモリと、
入力された第2ストロークに類似する第1ストロークを前記メモリから読み出し、既に表示されているストロークに続けて表示するストローク補完手段と、
前記ストローク補完手段により表示される前記第1ストロークに対応する文字または文字列を、既に表示されている文字あるいは文字列と同じサイズとなるようにサイズ調整し、サイズ調整後の第1ストロークに対応する文字または文字列の表示位置を前記ベースラインあるいはディセンダラインに応じて定めるストローク調整手段を具備する請求項2記載の電子機器。 - ディスプレイ上で入力されたストロークを前記ディスプレイ上で表示する方法であって、
入力された複数のストロークに対応する文字の種類を判定することと、
その文字の種類に応じて、前記入力された複数のストロークに対応する文字の表示サイズを調整することと、
サイズ調整後の文字の表示位置を書体の基準ラインに応じて定めることと、
を具備する方法。 - 入力された複数のストロークに対応する文字の種類がアルファベットである場合、前記文字の種類は、大文字、小文字の区別と、アセンダ、ディセンダの有無の少なくとも1つを用いて判定され、前記基準ラインは、アセンダライン、キャップライン、ミーンライン、ベースライン、ディセンダラインの少なくとも1つを具備する請求項6記載の方法。
- 前記調整することは、文字の種類が大文字の場合、高さがキャップハイトとなるように、文字の種類がアセンダ付き小文字の場合、高さがxハイト+アセンダとなるように、文字の種類がディセンダ付き小文字の場合、高さがxハイト+ディセンダとなるように文字の高さを調整する請求項7記載の方法。
- 前記調整することは、最初に入力された文字の種類に応じて前記基準ラインの位置を決め、2番目以降に入力された文字の高さを文字の種類に応じた基準ライン間の高さに合わせて調整することを具備し、
前記定めることは、サイズ調整後の文字の表示位置を前記ベースラインあるいはディセンダラインに応じて定める請求項7記載の方法。 - 前記調整することは、
入力された複数の第1ストロークをメモリに記憶することと、
入力された第2ストロークに類似する第1ストロークを前記メモリから読み出し、既に表示されているストロークに続けて表示することと、
表示される前記第1ストロークに対応する文字または文字列を、既に表示されている文字あるいは文字列と同じサイズとなるようにサイズ調整することと、
を具備し、
前記定めることは、サイズ調整後の第1ストロークに対応する文字または文字列の表示位置を前記ベースラインあるいはディセンダラインに応じて定めることを具備する請求項7記載の方法。 - コンピュータにより実行されるプログラムであって、前記プログラムは、ディスプレイ上で入力されたストロークを前記ディスプレイ上で表示するプログラムであって、前記プログラムは前記コンピュータに、
入力された複数のストロークに対応する文字の種類を判定することと、
その文字の種類に応じて、前記入力された複数のストロークに対応する文字の表示サイズを調整することと、
サイズ調整後の文字の表示位置を書体の基準ラインに応じて定めることと、
を実行させるためプログラム。 - 入力された複数のストロークに対応する文字の種類がアルファベットである場合、前記文字の種類は、大文字、小文字の区別と、アセンダ、ディセンダの有無の少なくとも1つを用いて判定され、
前記基準ラインは、アセンダライン、キャップライン、ミーンライン、ベースライン、ディセンダラインの少なくとも1つを具備する請求項11記載のプログラム。 - 前記調整することは、文字の種類が大文字の場合、高さがキャップハイトとなるように、文字の種類がアセンダ付き小文字の場合、高さがxハイト+アセンダとなるように、文字の種類がディセンダ付き小文字の場合、高さがxハイト+ディセンダとなるように文字の高さを調整する請求項12記載のプログラム。
- 前記調整することは、最初に入力された文字の種類に応じて前記基準ラインの位置を決め、2番目以降に入力された文字の高さを文字の種類に応じた基準ライン間の高さに合わせて調整することを具備し、
前記定めることは、サイズ調整後の文字の表示位置を前記ベースラインあるいはディセンダラインに応じて定める請求項12記載のプログラム。 - 前記調整することは、
入力された複数の第1ストロークをメモリに記憶することと、
入力された第2ストロークに類似する第1ストロークを前記メモリから読み出し、既に表示されているストロークに続けて表示することと、
表示される前記第1ストロークに対応する文字または文字列を、既に表示されている文字あるいは文字列と同じサイズとなるようにサイズ調整することと、
を具備し、
前記定めることは、サイズ調整後の第1ストロークに対応する文字または文字列の表示位置を前記ベースラインあるいはディセンダラインに応じて定めることを具備する請求項12記載のプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2014/072569 WO2016031016A1 (ja) | 2014-08-28 | 2014-08-28 | 電子機器、方法及びプログラム |
JP2016545163A JPWO2016031016A1 (ja) | 2014-08-28 | 2014-08-28 | 電子機器、方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2014/072569 WO2016031016A1 (ja) | 2014-08-28 | 2014-08-28 | 電子機器、方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016031016A1 true WO2016031016A1 (ja) | 2016-03-03 |
Family
ID=55398954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2014/072569 WO2016031016A1 (ja) | 2014-08-28 | 2014-08-28 | 電子機器、方法及びプログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPWO2016031016A1 (ja) |
WO (1) | WO2016031016A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190026019A1 (en) * | 2016-01-07 | 2019-01-24 | Myscript | System and method for mixed content digital ink interactivity |
JP2023088511A (ja) * | 2021-12-15 | 2023-06-27 | レノボ・シンガポール・プライベート・リミテッド | 情報処理装置、及び制御方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05282128A (ja) * | 1992-03-31 | 1993-10-29 | Hitachi Ltd | 手書き文字入力方式及び装置 |
JPH076204A (ja) * | 1993-03-04 | 1995-01-10 | Internatl Business Mach Corp <Ibm> | 手書き文字認識システムにおけるライン・スペース及びベース・ラインの調整方法 |
JPH09305299A (ja) * | 1996-05-13 | 1997-11-28 | Nec Corp | インクノート機能での自動文字サイズ判別機能 |
JP2010160210A (ja) * | 2009-01-06 | 2010-07-22 | Sharp Corp | データ表示装置、データ表示方法、そのためのコンピュータプログラム、及び当該コンピュータプログラムを記録した記録媒体 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7848573B2 (en) * | 2003-12-03 | 2010-12-07 | Microsoft Corporation | Scaled text replacement of ink |
JP2013182512A (ja) * | 2012-03-02 | 2013-09-12 | Casio Comput Co Ltd | 手書き文字処理装置およびプログラム |
-
2014
- 2014-08-28 JP JP2016545163A patent/JPWO2016031016A1/ja active Pending
- 2014-08-28 WO PCT/JP2014/072569 patent/WO2016031016A1/ja active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05282128A (ja) * | 1992-03-31 | 1993-10-29 | Hitachi Ltd | 手書き文字入力方式及び装置 |
JPH076204A (ja) * | 1993-03-04 | 1995-01-10 | Internatl Business Mach Corp <Ibm> | 手書き文字認識システムにおけるライン・スペース及びベース・ラインの調整方法 |
JPH09305299A (ja) * | 1996-05-13 | 1997-11-28 | Nec Corp | インクノート機能での自動文字サイズ判別機能 |
JP2010160210A (ja) * | 2009-01-06 | 2010-07-22 | Sharp Corp | データ表示装置、データ表示方法、そのためのコンピュータプログラム、及び当該コンピュータプログラムを記録した記録媒体 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190026019A1 (en) * | 2016-01-07 | 2019-01-24 | Myscript | System and method for mixed content digital ink interactivity |
US10852938B2 (en) * | 2016-01-07 | 2020-12-01 | Myscript | System and method for mixed content digital ink interactivity |
JP2023088511A (ja) * | 2021-12-15 | 2023-06-27 | レノボ・シンガポール・プライベート・リミテッド | 情報処理装置、及び制御方法 |
JP7368442B2 (ja) | 2021-12-15 | 2023-10-24 | レノボ・シンガポール・プライベート・リミテッド | 情報処理装置、及び制御方法 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2016031016A1 (ja) | 2017-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5458161B1 (ja) | 電子機器および方法 | |
JP5349645B1 (ja) | 電子機器および手書き文書処理方法 | |
JP6189451B2 (ja) | 手書き文書情報を処理するための電子機器および方法 | |
US20150169948A1 (en) | Electronic apparatus and method | |
JP2015162088A (ja) | 電子機器、方法及びプログラム | |
JP5395927B2 (ja) | 電子機器および手書き文書検索方法 | |
JP5355769B1 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP5694234B2 (ja) | 電子機器、手書き文書表示方法、及び表示プログラム | |
JP2014086006A (ja) | 電子機器および方法 | |
JP6464504B6 (ja) | 電子機器、処理方法およびプログラム | |
JP6426417B2 (ja) | 電子機器、方法及びプログラム | |
WO2014147712A1 (ja) | 情報処理装置、情報処理方法及びプログラム | |
WO2015087379A1 (ja) | 手書き文書情報を処理するための電子機器および方法 | |
US9183276B2 (en) | Electronic device and method for searching handwritten document | |
JP6081606B2 (ja) | 電子機器および方法 | |
JP2014203393A (ja) | 電子機器、手書き文書処理方法、及び手書き文書処理プログラム | |
JP6342194B2 (ja) | 電子機器、方法及びプログラム | |
WO2016031016A1 (ja) | 電子機器、方法及びプログラム | |
JP6223687B2 (ja) | 電子機器および手書き文書検索方法 | |
JP5735126B2 (ja) | システムおよび筆跡検索方法 | |
JP5717831B2 (ja) | 電子機器および手書き文書処理方法 | |
WO2015107692A1 (ja) | 手書きのための電子機器および方法 | |
JP5330576B1 (ja) | 情報処理装置および筆跡検索方法 | |
JP6039066B2 (ja) | 電子機器、手書き文書検索方法およびプログラム | |
JP2018018366A (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: 14900945 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2016545163 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: 14900945 Country of ref document: EP Kind code of ref document: A1 |