ELECTRONIC APPARATUS AND METHOD

According to one embodiment, an electronic apparatus includes a hardware processor. The hardware processor sets a first attribute of strokes to be made on a screen, wherein the first attribute determines a degree of change in thicknesses or colors of the strokes according to a change of writing pressure of the strokes; receives a first stroke made on the screen; display the first stroke in accordance with the first attribute on the screen; determines a handwriting candidate conforming the first stroke, wherein the handwriting candidate includes a second attribute different from the first attribute; changes a form of the handwriting candidate in accordance with a difference between the first attribute and the second attribute; and displays the handwriting candidate according to the first attribute on the screen.

FIELD

Embodiments described herein relate generally to an electronic apparatus and a method.

BACKGROUND

Recently, an electronic apparatus equipped with a touchscreen display has become widespread for facilitating an input operation by a user. The input operation by the touchscreen display is used not only for providing an operation instruction to the electronic apparatus but also for inputting a document by handwriting.

A history is often used to assist input in order to facilitate inputting a document by handwriting. In many cases, however, input is executed in a completely different state from the state where the user actually handwritten and the user feels a sense of incongruity.

DETAILED DESCRIPTION

In general, according to one embodiment, an electronic apparatus includes a screen, a storage and a hardware processor. The screen is configured to detect a stroke made on the screen and display the stroke. The storage is configured to store a document. The hardware processor is configured to: display the document on the screen; set a first attribute of strokes to be made on the screen, wherein the first attribute determines a degree of change in thicknesses or colors of the strokes according to a change of writing pressure of the strokes; receive a first stroke made on the screen; display the first stroke in accordance with the first attribute on the screen; determine a handwriting candidate conforming the first stroke, wherein the handwriting candidate includes a second attribute different from the first attribute; change a form of the handwriting candidate in accordance with a difference between the first attribute and the second attribute; and display the handwriting candidate according to the first attribute on the screen.

FIG. 1is an exemplary perspective view showing an appearance of an electronic apparatus of an embodiment. The electronic apparatus is, for example, a pen-based portable electronic apparatus that permits a pen (stylus) or a finger to input handwriting. The electronic apparatus can be implemented as a tablet computer, a notebook computer, a smartphone, a PDA, etc. In the description below, it is assumed that the electronic apparatus is implemented as a tablet computer10. The tablet computer10is a portable electronic apparatus which is also called a tablet or a slate computer. As shown inFIG. 1, the tablet computer10comprises a body11and a touchscreen display17. The body11has a thin box-shaped housing. The touchscreen display17is attached to the body11to overlap the top surface of the body11.

A flat-panel display and a sensor are incorporated into the touchscreen display17. The sensor is configured to detect the 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) device. As the sensor, for example, a capacitive touch panel, an electromagnetic induction type digitizer and the like may be used. In the description below, it is assumed that two types of sensors, i.e., the digitizer and the touch panel are incorporated into the touchscreen display17.

The digitizer is provided under the screen of the flat-panel display, for example. The touch panel is provided on the screen of the flat-panel display, for example. The touch screen display17can detect not only a touch operation on the screen using a finger, but also a touch operation on the screen using a pen100. The pen100may be, for example, a digitizer pen (electromagnetic induction pen). The user can perform a handwriting input operation on the touchscreen display17by use of an external object (pen100or finger). During the handwriting input operation, a locus of the movement of the external object on the screen, i.e., a locus of a stroke input by handwriting is drawn in real time. The locus of each stroke is thereby displayed on the screen. The locus of the movement of the external object during the time when the external object is kept in contact with the screen corresponds to a stroke. A group of a large number of strokes, i.e., a group of a large number of loci corresponding to handwritten characters, figures or the like constitutes a handwritten document.

In the present embodiment, the handwritten document is stored in a storage medium not as image data but as time-series data indicative of a coordinate series of a locus of each stroke and indicative of the order relation of the strokes. The time-series data, which will be described in detail with reference toFIG. 4, indicates the order of making the strokes and includes stroke data items corresponding to the strokes, respectively. In other words, the time-series data means a group of time-series stroke data items corresponding to the respective strokes. Each stroke data item corresponds to a certain stroke and includes a coordinate data series (time-series coordinates) corresponding to respective points of a locus of the stroke. The order of arrangement of the stroke data items corresponds to the order of making the strokes, i.e., the stroke order.

The tablet computer10can read arbitrary existing time-series data (handwritten document data) from the storage medium and display, on the screen, a handwritten document corresponding to the time-series data, i.e., loci corresponding to the strokes indicated by the time-series data, respectively. The tablet computer10further comprises an edit function. By the edit function, an arbitrary stroke, character or the like in a displayed handwritten document can be erased or moved in accordance with an editing operation by the user using an eraser tool, a range specification tool or other tools. The edit function further includes a function of undoing several handwriting operations.

The tablet computer10further has a stroke completion (stroke recommendation) function. The stroke completion function is a function to assist a handwriting input operation by the user such that the user can easily input a number of character strings by handwriting.

FIG. 2shows an example of a collaborative operation by the tablet computer10and external devices. The tablet computer10can operate in cooperation with a personal computer1and a cloud. That is, the tablet computer10comprises a wireless communication device such as a wireless LAN device and can perform wireless communication with the personal computer1. The tablet computer10can also communicate with a server2on the Internet. The server2may be a server providing various cloud computing services such as an online storage service.

The personal computer1comprises a storage device such as a hard disk drive (HDD). The tablet computer10can transmit time-series data (handwritten document) to the personal computer1through the network and store the data on the HDD of the personal computer1(upload).

Therefore, the tablet computer10can process a great number of items of time-series data (handwritten documents) or large volume time-series data (handwritten document) even if the storage capacity of the tablet computer10is small.

The tablet computer10can also read one or more arbitrary handwritten documents stored on the HDD of the personal computer1(download). The tablet computer10can display a locus of each stroke indicated by the read handwritten documents on the screen of the touchscreen display17of the tablet computer10. In this case, a list of thumbnails obtained by scaling down each page of the time-series data items may be displayed on the screen of the touchscreen display17, or a certain page selected from the thumbnails may be displayed on the screen of the touchscreen display17in a normal size.

As described above, the tablet10may communicate with the server2on the cloud providing a storage service, etc., instead of the personal computer1. The tablet computer10can transmit a handwritten document to the server2through the network and store the data in a storage device2A of the server2(upload). The tablet computer10can also read an arbitrary handwritten document stored in the storage device2A of the server2(download). The tablet computer10can display a locus of each stroke indicated by the read handwritten document on the screen of the touchscreen display17of the tablet computer10.

As described above, in the present embodiment, a handwritten document may be stored in any one of the storage device of the tablet computer10, the storage device of the personal computer1and the storage device of the server2.

Next, a relationship between strokes (characters, marks, figures [diagrams], tables, etc.) handwritten by the user and a handwritten document is described with reference toFIG. 3andFIG. 4.FIG. 3shows an example of a handwritten character string handwritten on the touchscreen display17by use of the pen100, etc.

In the handwritten document, a character or figure may often be handwritten on an already handwritten character or figure. InFIG. 3, it is assumed that a character string “ABC” is handwritten in the order “A”, “B” and “C”, and thereafter an arrow is handwritten close to the handwritten character “A”.

The handwritten character “A” is expressed by two strokes (a locus in the form of “̂” and a locus in the form of “−”), i.e., two loci handwritten by using the pen100, etc. The first handwritten locus of the pen100in the form of “̂” is sampled in real time, for example, at regular intervals, and time-series coordinates SD11, SD12, . . . , SD1ncorresponding to the stroke in the form of “̂” can be thereby achieved. In the same way, the second handwritten locus of the pen100in the form of “−” is sampled in real time at regular intervals, and time-series coordinates SD21, SD21, . . . , SD2ncorresponding to the stroke in the form of “−” can be thereby achieved.

The handwritten character “B” is expressed by two strokes, i.e., two loci handwritten by using the pen100, etc. The handwritten character “C” is expressed by a stroke, i.e., a locus handwritten by using the pen100, etc. The handwritten arrow is expressed by two strokes, i.e., two loci handwritten by using the pen100, etc.

FIG. 4shows time-series data200corresponding to the handwritten character string ofFIG. 3. The time-series data200includes stroke data items SD1, SD2, . . . , SD7. In the time-series data200, these stroke data items SD1, SD2. . . , SD7are arranged on a time-series basis in the stroke order, i.e., in the order of making the strokes.

In the time-series data200, the first and second stroke data items SD1and SD2indicate the two strokes of the handwritten character “A”, respectively. The third and fourth stroke data items SD3and SD4indicate the two strokes constituting the handwritten character “B”, respectively. The fifth stroke data item SD5indicates the stroke constituting the handwritten character “C”. The sixth and seventh stroke data items SD6and SD7indicate the two strokes constituting the handwritten arrow, respectively.

Each stroke data item includes a coordinate data series (time-series coordinates) corresponding to a stroke, i.e., coordinates corresponding to points on a locus of the stroke, respectively. In each stroke data item, coordinates are arranged on a time-series basis in the order of making the stroke. For instance, regarding the handwritten character “A”, the stroke data item SD1includes a coordinate data series (time-series coordinates) corresponding to points on the locus of the stroke “A” of the handwritten character “A”, respectively, i.e., n coordinate data items SD11, SD12, . . . , SD1n.The stroke data item SD2includes a coordinate data series corresponding to points on the locus of the stroke “−” of the handwritten character “A”, respectively, i.e., n coordinate data items SD21, SD22, . . . SD2n.The number of coordinate data items may be different for each stroke data item. That is, since a locus of the pen100is sampled in real time at regular intervals, the number of coordinate data items increases as a stroke becomes longer or a speed of handwriting the stroke increases.

Each coordinate data item indicates an x-coordinate and a y-coordinate corresponding to a certain point on a corresponding locus. For instance, the coordinate data item SD11indicates the x-coordinate (X11) and the y-coordinate (Y11) of the start point of the stroke “̂”. The coordinate data item SD1nindicates the x-coordinate (X1n) and the y-coordinate (Y1n) of the end point of the stroke “̂”.

Each coordinate data item may further include timestamp data T corresponding to a time at which a point corresponding to the coordinates was handwritten. The point-handwritten time may be an absolute time (for example, year, month, day, hour, second) or a relative time with respect to a certain time. For instance, an absolute time (for example, year, month, day, hour, second) when writing of a stroke has been started may be added to each stroke data item as timestamp data, and a relative time indicative of a difference from the absolute time may be further added to each coordinate data item in the stroke data item as timestamp data T.

By using time-series data in which timestamp data T is added to each coordinate data item as describe above, a temporal relationship between strokes can be expressed with higher accuracy.

Data (Z) indicative of writing pressure may also be added to each coordinate data item.

The time-series data200having the structure shown inFIG. 4can indicate not only each stroke but also a temporal relationship between strokes. Therefore, even if the tip of the handwritten arrow overlaps or is close to the handwritten character “A” as shown inFIG. 3, the handwritten character “A” and the tip of the arrow can be processed as different characters or figures by using the time-series data200. The timestamp data T may be used as optional data and stroke data items without time stamp data T may be used as the above-described time-series data.

In addition, as described above, a handwritten document is stored not as an image or a result of character recognition, but as a group of time-series stroke data items in the present embodiment. Thus, handwritten characters can be processed independently of language. Therefore, the structure of the time-series data200of the present embodiment can be commonly used in various countries having different languages around the world.

FIG. 5is an exemplary diagram showing a system configuration of the tablet computer10.

As shown inFIG. 5, the tablet computer10comprises a CPU101, a system controller102, a main memory103, a graphics controller104, a BIOS-ROM105, a nonvolatile memory106, a wireless communication device107, an embedded controller (EC)108, etc.

The CPU101is a processor (a hardware processor) which controls operations of various modules in the tablet computer10. The CPU101executes various computer programs loaded from the nonvolatile memory106serving as a storage device into the main memory103. The programs include an operating system (OS)201and various application programs. The application programs include a handwritten note application program202. The handwritten note application program202has a function of creating and displaying the handwritten document described above, a function of editing the handwritten document, a stroke completion function, etc.

The CPU101also executes a basic input/output system (BIOS) stored in the BIOS-ROM105. The BIOS is a program for hardware control.

The system controller102is a device which connects between a local bus of the CPU101and various components. The system controller102is equipped with a memory controller which executes access control of the main memory103. The system controller102also has a function of communicating with the graphics controller104via a serial bus conforming to the PCI Express standard.

The graphics controller104is a display controller which controls an LCD17A used as a display monitor of the tablet computer10. A display signal generated by the graphics controller104is transmitted to the LCD17A. The LCD17A displays a screen image based on the display signal. A touch panel17B and a digitizer17C are provided on the LCD17A. The touch panel17B is a capacitive pointing device to execute input on the screen of the LCD17A. The contact position, the movement of the contact position, etc., of the finger on the screen are detected by the touch panel17B. The digitizer17C is an electromagnetic induction type pointing device to execute input on the screen of the LCD17A. The contact position, the movement of the contact position, etc., of the pen100on the screen are detected by the digitizer17C.

The wireless communication device107is a device configured to execute wireless communication such as wireless LAN or 3G mobile communication. The EC108is a shingle-chip microcomputer including an embedded controller for power management. The EC108has a function of powering on or off the tablet computer10in accordance with a power button operation by the user.

Next, a functional structure of the handwritten note application program202is described with reference toFIG. 6.

The handwritten note application program202comprises a pen setting module301, a pen locus display processor302, a time-series data generator303, a page storage processor304, a page acquisition processor305, a handwritten document display processor306, an editing processor307, a stroke completion processor308, etc.

The handwritten note application program202creates, displays and edits a handwritten document by using stroke data input by use of the touchscreen display17. The touchscreen display17is configured to detect occurrence of events such as a touch, move (slide) and release. A touch is an event indicating that an external object has touched the screen. A move (slide) is an event indicating that a contact position has been moved while the external object is kept in contact with the screen. A release is an event indicating that the external object has been lifted from the screen.

The handwritten note application program202displays a page editing screen500for creating, displaying and editing a handwritten document on the touchscreen display17.FIG. 7is an exemplary illustration showing an example of the page editing screen500displayed by the handwritten notebook application program202.

On the page editing screen500shown inFIG. 7, a rectangular area500A surrounded by dashed lines is a handwriting input area in which handwriting input is possible. In the handwriting input area500A, an input event from the digitizer17C is used for displaying (drawing) a stroke but is not used as an event indicating a gesture such as a tap. In areas other than the handwriting input area500A, an input event from the digitizer17C can also be used as an event indicating a gesture such as a tap.

On the page editing screen500, an input event from the touch panel17B is used as an event indicating a gesture such as a tap but is not used for displaying (drawing) a locus of a stroke.

The page editing screen500further displays a quick-select menu including three types of pens501to503, a range selection pen504and an erasing pen505. The user can switch pen types to be used by tapping any one of the pens (buttons) in the quick-select menu with the pen100or the finger. For example, it is assumed that a black pen501, a red pen502and a highlighter503are registered by the user. In this case, for example, when a handwriting input operation using the pen100is performed on the page editing screen500when the black pen501has been selected by a tap gesture by the user using the pen100or the finger, the handwritten note application program202displays the locus of a black stroke on the page editing screen500in accordance with the movement of the pen100. In each of the three types of pens501to503in the quick-select menu, a frequently-used combination of color, width, etc., of the pen can be set.

The page editing screen500further displays a menu button511. The menu button511is a button for displaying a menu. The user can display a set of software buttons as a menu on the page editing screen500by operating the menu button511. The set of software buttons includes a button for calling up a pen setting screen600for setting a combination of color, width, etc., of each of the three types of pens501to503in the quick-select menu.

FIG. 8is an exemplary illustration showing an example of the pen setting screen600displayed by the handwritten notebook application program202.

The pen setting screen600comprises a field601for setting the pen type, a field602for setting the line color, a field603for setting the line width and a field604for setting the line transparency. The user can set a combination of color, width, etc., of each of the three types of pens501to503in the quick-select menu by the pen setting screen600. The line transparency is transparency of background color. Setting the line transparency means setting the thickness (depth) of line.

The pen setting module301sets a display (drawing) form of a locus of a stroke such as coloring of the stroke in accordance with a user operation to the three types of pens (buttons)501to503in the quick-select menu on the page editing screen500and a user operation on the pen setting screen600.

The pen locus display processor302and the time-series data generator303receive a touch or move (slide) event generated by the touchscreen display17, and thereby detect a handwriting input operation. The touch event includes coordinates of a contact position. The move (slide) event also includes coordinates of a contact position as a destination. Therefore, the pen locus display processor302and the time-series data generator303can receive a series of coordinates corresponding to a locus of the movement of the contact position from the touchscreen display17.

The pen locus display processor302functions as a display processor configured to display a stroke input by handwriting on the screen of the touchscreen display17. The pen locus display processor302receives the coordinate series from the touchscreen display17. The pen locus display processor302also receives data on writing pressure from the touchscreen display17. Based on the coordinate series and the data on writing pressure received from the touchscreen display17and data on a combination of line color, line width, etc., set by the pen setting module301, the pen locus display processor302displays loci of strokes input by a handwriting input operation using the pen100, etc., on the screen of the LCD17A in the touchscreen display17.

The time-series data generator303receives the coordinate series output from the touchscreen display17. The time-series data generator303generates stroke data items (time-series data items) corresponding to the strokes based on the coordinate series. These stroke data items, i.e., coordinates corresponding to each point on each stroke and timestamp data of each stroke may be temporally stored in a work memory401. The data on writing pressure output from the touchscreen display17and the data on a combination of line color, line width, etc., set by the pen setting module301are also included in each stroke data item as attribute data.

The page storage processor304stores handwritten document data including the stroke data items corresponding to the strokes in a handwritten note database402A in a storage medium402. As described above, the storage medium402may be any one of the storage device of the tablet computer10, the storage device of the personal computer1and the storage device of the server2.

The page acquisition processor305reads arbitrary handwritten document data from the storage medium402. The read handwritten document data is transmitted to the handwritten document display processor306. The handwritten document display processor306analyzes the handwritten document data and displays, based on the analysis result, loci of strokes indicated by stroke data items in the handwritten document data as a handwritten page on the screen.

The editing processor307executes processing for editing the currently displayed handwritten document (handwritten page). That is, the editing processor307executes editing processing to delete or move at least one of the displayed strokes in accordance with an editing operation performed by the user on the touchscreen display17. In addition, the editing processor307updates the handwritten document so as to reflect a result of the editing processing in the currently displayed handwritten document.

The user can erase an arbitrary stroke of the displayed strokes by using, for example, an eraser tool. The user can execute range specification for arbitrary part of the displayed handwritten page by using a range specification tool for surrounding arbitrary part of the screen by a circle or rectangle.

The stroke completion processor308is a processor configured to carry out the above-described stroke completion function. The stroke completion processor308comprises a recommended stroke search module308A and a stroke attribute determination module308B. In a stroke completion process, the stroke completion processor308acquires one or more stroke series (handwritten character strings) corresponding to a stroke input by handwriting from a group of previously input strokes (handwritten document data) by the recommended stroke search module308A. The stroke completion processor308executes processing for displaying the acquired one or more stroke series on the screen as candidates for strokes that can be input (i.e., recommended strokes).

In other words, the stroke completion processor308predicts a stroke series (character string) that the user is going to handwrite based on the input stroke and the handwritten document data. Then, the stroke completion processor308shows the user several stroke series (handwritten character strings) obtained by the prediction as recommended strokes (candidate character strings).

For example, when a stroke (handwritten character) “a” is input by handwriting, a candidate such as a handwritten word “add” or “access” may be shown to the user. If the user selects the handwritten word “access”, the handwritten word “access” becomes an input handwritten character string. Therefore, the user can easily input a stroke series of the handwritten word “access”. The stroke completion processor308also determines an attribute of the handwritten word “access” by the stroke attribute determination module308B. The function of the stroke attribute determination module308B will be described later.

Handwritten character strings of any languages can be stored in handwritten document data. For example, various languages including English, Japanese and Chinese can be used. With respect to English handwritten character strings, a stroke series (handwritten character string) may be a stroke series corresponding to a string of block letters or a stroke series corresponding to a string of letters in script. A word handwritten in script is often constituted by a single stroke. Therefore, a stroke series acquired from the handwritten document data in the stroke completion process does not necessarily include strokes and may be constituted by a single stroke.

A stroke series corresponding to an input stroke may be, for example, strokes including a stroke similar to the input stroke or a single stroke partially similar to the input stroke. For example, a stroke series in which the first stroke (or the beginning of a stroke) is similar to the input stroke is acquired from the handwritten document data.

In order to easily acquire a stroke series corresponding to the input stroke from the handwritten document data, the stroke completion processor308may generate a candidate stroke database402B based on a group of strokes (handwritten document data) stored in the handwritten note database402A.

In the candidate stroke database402B, for example, a stroke series (stroke data group) and a result of character recognition (character string) corresponding to the stroke data group may be stored in a unit of a meaningful character string such as a word.

In this case, the stroke completion processor308may first execute character recognition of a stroke input by the user. Then, the stroke completion processor308refers to the candidate stroke database402B and finds a character string whose beginning matches a result of character recognition (character string) of the input stroke. The stroke completion processor308acquires a stroke series (stroke data group) corresponding to the found character string from the candidate stroke database402B as a stroke series corresponding to the input stroke.

Instead, in the candidate stroke database402B, for example, a stroke series (stroke data group) and a feature amount of each stroke corresponding to the stroke data group may be stored in a unit of a meaningful character string such as a word. As a feature amount of a stroke, an arbitrary feature that can express a feature of handwriting of the stroke can be used. For example, feature amount data indicating a shape, direction, slope, etc., of a stroke can be used as the feature amount. In this case, the stroke completion processor308may acquire a stroke series having a similar feature amount to the input stroke from the candidate stroke database402B. In this case, the stroke completion processor308can search and show recommended strokes (candidate character string), for example, when part of a character is input.

In the candidate stroke database402B, for example, a stroke series (stroke data group), a result of character recognition (character string) corresponding to the stroke data group and a feature amount of each stroke corresponding to the stroke data group may be stored in a unit of a meaningful character string such as a word.

The stroke completion processor308predicts a stroke series that the user is going to input based on the input stroke and the candidate stroke database402B. In the prediction process, the stroke completion processor308acquires several stroke series (character strings, etc.) corresponding to the input stroke from the candidate stroke database402B. Then, the stroke completion processor308executes processing for displaying the acquired stroke series on the screen as candidates for a handwritten character string predicted to be input (recommended strokes).

FIG. 9is an exemplary first illustration showing an example of candidates (recommended strokes) corresponding to the input stroke.

InFIG. 9, it is assumed that a stroke711corresponding to a handwritten character “a” is input by a handwriting input operation on the page editing screen500.

When the stroke711is input by handwriting, the stroke completion processor308acquires several stroke series (recommended strokes) corresponding to the input stroke711(in this case, the handwritten character “a”) from the candidate stroke database4023. Then, the stroke completion processor308displays the stroke series in the recommended stroke list701on the page editing screen500.

The input stroke711is processed as an undetermined stroke (or tentative stroke). The undetermined stroke means a stroke that is not yet reflected in a handwritten page. The undetermined stroke is a stroke to be subjected to stroke completion. Strokes predicted based on the undetermined stroke is shown to the user as recommended strokes. The stroke711may be displayed, for example, in a color different from the currently selected color such that the user can understand that the input stroke711is an undetermined stroke (tentative stroke).

InFIG. 9, it is assumed that four stroke series are shown as recommended strokes in the recommended stroke list701. InFIG. 9, the four stroke series include handwritten character strings “ability”, “access”, “adaptor” and “add”.

In this manner, several stroke series (handwritten character strings) beginning with the handwritten character “a” are shown to the user. These stroke series are stroke series (handwritten character strings) previously input by the user by handwriting.

FIG. 10is an exemplary second illustration showing an example of candidates (recommended strokes) corresponding to the input stroke.

InFIG. 10, it is assumed that strokes712and713corresponding to a handwritten character “p” are further input by a handwriting input operation on the page editing screen500after the stroke711corresponding to the handwritten character “a” is input. In this case, the recommended stroke list701is updated.

That is, the stroke completion processor308acquires several stroke series (recommended strokes) corresponding to the input strokes711,712and713(handwritten character string “ap”) from the candidate stroke database402B. Then, the stroke completion processor308displays these stroke series in the recommended stroke list701on the page editing screen500.

InFIG. 10, it is assumed that four handwritten stroke series, i.e., handwritten character strings “application”, “aperture”, “apex” and “apology” are shown in the recommended stroke list701as recommended strokes.

In this manner, several handwritten character strings beginning with “ap” are shown to the user.

When the user selects certain recommended strokes in the recommended stroke list701, the stroke completion processor308displays a stroke series corresponding to the selected recommended strokes on the page editing screen500. In other words, the stroke completion processor308completes the input handwritten strokes with the stroke series corresponding to the selected recommended strokes. In this manner, the user can easily input a desired word only by inputting part of the desired word by handwriting.

With respect to a character constituted by several strokes such as a kanji character, the user can input the character only by inputting part of the several strokes by handwriting.

With respect to a letter string in script, the user can input the letter string in script only by inputting the beginning of a single stroke constituting the letter string.

FIG. 11is an exemplary illustration showing an example of completing input handwritten strokes.

InFIG. 11, it is assumed that the handwritten character string “application” in the recommended stroke list701is selected. When the handwritten character string “application” is tapped by the pen100or the finger, the stroke completion processor308executes processing for displaying the selected handwritten character string “application” on the page editing screen50in cooperation with the pen locus display processor302or the handwritten document display processor306. In this case, the input strokes (strokes711,712and713inFIG. 10) are completed by the handwritten character string “application”. In other words, the display processor displays the selected handwritten character string “application” on the page editing screen500instead of the input strokes (strokes711,712and713inFIG. 10).

Then, the selected handwritten character string “application” becomes determined strokes and is reflected in the currently edited handwritten page. That is, the stroke data group of “application” acquired from the candidate stroke database402B is added to the handwritten page. If the handwritten character string “application” is a stroke series written in script, a single stroke data item corresponding to the handwritten character string “application” is added to the handwritten page.

As described above, in the stroke completion process, several handwritten character strings corresponding to strokes (tentative strokes) input by handwriting are shown to the user as recommended strokes. Then, the selected recommended strokes (handwritten character string) are displayed on the page editing screen500instead of the tentative strokes.

Since the recommended strokes are stroke series (handwritten character strings) previously input by handwriting, however, the color, width, etc., of each recommended stroke (handwritten character string) may be different from those of the character string that the user is going to write. Accordingly, if the selected recommended strokes are simply displayed on the page editing screen500, there is a possibility that recommended strokes (handwritten character string) having a color and width that are unnatural to the user are displayed.

Therefore, in the present embodiment, the stroke completion processor308determines an attribute of selected recommended strokes (722inFIG. 11) to be displayed on the page editing screen500instead of tentative strokes (721inFIG. 11), based on both of an attribute (writing pressure and setting data of used pen [data on combination of line color, line width, etc.]) of the tentative strokes and an attribute of the selected recommended strokes. The function of the stroke attribute determination module308B is hereinafter described.

First, a fundamental principle of displaying (drawing) a locus of a stroke by the handwritten notebook application program202is described with reference toFIG. 12andFIG. 13.

As described above, the user can switch pen types to be used by tapping the pens501to503in the quick-select menu displayed on the page editing screen500, and set a combination of color, width, etc., of each of the pens501to503in the quick-select menu by the pen setting screen600. In the description below, how a locus of a stroke is displayed (drawn) is described by assuming the following two cases: a case where a handwriting input operation is executed by the pen100when “brush” has been selected as the pen type; and a case where a handwriting input operation is executed by the pen100when “felt pen” has been selected as the pen type.

InFIG. 12, (A) shows an example of a display (drawing) pattern of a locus of a stroke in the case where “brush” is selected as the pen type in the field601of the pen setting screen600, and (B) shows an example of a display (drawing) pattern of a locus of a stroke when “felt pen” is selected as the pen type.

When “brush” is selected as the pen type, as shown inFIG. 12(A), a parameter for the brush which smoothly changes the color from the center to the edge (from deep to light) is applied as a parameter regarding the coloring of strokes. In the parameter for the brush, the distance between the center and the edge varies according to the width setting in the field603of the pen setting screen600and a peak level of thickness increases and decreases according to the transparency setting in the field604of the pen setting screen600. The parameter for the brush has characteristics of increasing both the width and the thickness as writing pressure increases. As a matter of course, the color set in the field602of the pen setting screen600is adopted as the color of a stroke.

When “felt pen” is selected as the pen type, as shown inFIG. 12(B), a parameter for the felt pen which does not change the color from the center to the edge is applied as a parameter regarding the coloring of strokes. That is, the degree of change in color is different for each pen type. In the parameter for the felt pen, the distance between the center and the edge varies according to the width setting in the field603of the pen setting screen600and a level of thickness entirely increases and decreases according to the transparency setting in the field604of the pen setting screen600. The parameter for the felt pen has characteristics of increasing only the width as writing pressure increases. As a matter of course, the color set in the field602of the pen setting screen600is adopted as the color of a stroke.

The handwritten note application program202displays (draws) a locus of a stroke by displaying (drawing) a circle at each sampling point Pn in coordinate data in a locus of a handwritten stroke as shown inFIG. 13based on parameters each having distinct characteristics. For example, in the case of the brush, the color is smoothly changed from the center to the edge (from deep to light), a visual effect of gradation can be achieved. In the example ofFIG. 13, it is assumed that a stroke is input by handwriting with constant writing pressure, but if the writing pressure is changed, the size and the thickness of each displayed (drawn) circle are adaptively changed.

In light of the fundamental principle, the above-described case of displaying selected recommended strokes on the page editing screen500instead of tentative strokes is described again.

For example, it is assumed that the color of the pen used to input the handwritten characters “ap” inFIG. 10, i.e., tentative strokes, by handwriting is red, and the color of the pen used to input the handwritten character string “application” displayed in the recommended stroke list701ofFIG. 10, i.e., recommended strokes, is black. If the handwritten character string “application” is selected by the user and the handwritten character string “application” is displayed (drawn) in black differently from the characters “ap” previously handwritten by the user and displayed in red, it is inevitable that the user feels a sense of incongruity. Therefore, if the user inputs “ap” in red by handwriting, the stroke attribute determination module308B determines an attribute of the handwritten character string “application” such that the handwritten character string “application” is displayed (drawn) in red regardless of the fact that the color of the handwritten character string “application”, which is recommended strokes, is black in contrast to red.

In a similar way to color, the stroke attribute determination module308B determines the attribute of the recommended strokes to be displayed on the page editing screen500instead of the tentative strokes with respect to the pen type, width and transparency based on the attribute of the currently used pen. In other words, the parameter regarding coloring of strokes shown inFIG. 12is changed (as necessary). Therefore, when the tentative strokes are handwritten with the brush and the recommended strokes are handwritten with the felt pen, the recommended strokes (handwritten with the felt pen) can be displayed on the page editing screen500as if the recommended strokes are handwritten with the brush of the same width and transparency. The gradation shown inFIG. 13can also be expressed in the same way as the tentative strokes.

As described above, the width and thickness of a locus of a stroke can be changed depending on writing pressure. Therefore, the stroke attribute determination module308B determines the attribute of the recommended strokes to be displayed on the page editing screen500instead of the tentative strokes based on both the writing pressure of the tentative strokes and the writing pressure of the recommended strokes.

More specifically, the stroke attribute determination module308B first calculates an average value of the writing pressure of the tentative strokes. To calculate the average value, all the tentative strokes constituting grounds for searching the recommended strokes or a threshold number of strokes from the last stroke of the tentative strokes may be used. All the tentative strokes may be used when the number of tentative strokes is less than the threshold number. The average value calculated at this time is expressed as Pm.

Next, the stroke attribute determination module308B calculates an average value of the writing pressure of the recommended strokes (to be displayed on the page editing screen500instead of the tentative strokes). The average value calculated at this time is expressed as Ps. After calculating both the average values Pm and Ps, the stroke attribute determination module308B calculates a difference Pd between these average values by formula Pd=Pm−Ps.

Then, the stroke attribute determination module308B adds the difference Pd between the average values to writing pressure of each sampling point of the recommended strokes. If the average value Ps is greater than the average value Pm, the writing pressure is reduced.

In this manner, the recommended strokes can be displayed on the page editing screen500while reflecting changes in line width and thickness caused by changes in writing pressure at the time of handwriting input of the recommended strokes and matching the writing pressure of the recommended strokes to that of the tentative strokes.

As described above, the present embodiment can assist handwriting input without providing the user with a sense of incongruity by the function of the stroke attribute determination module308B.

As described above, handwritten character strings of any languages can be stored in handwritten document data. Therefore, when Japanese characters (that means “Tokyo” in Japanese) are handwritten as shown inFIG. 14, a plurality of Japanese character strings (each of those means “Tokyo-to Minato-ku”, “Tokyo-to Setagaya-ku” and “Tokyo-to Suginami-ku” in Japanese) can be displayed in the recommended stroke list701based on the handwritten Japanese characters (tentative strokes821). For example, when one of the plurality of Japanese character strings (that means “Tokyo-to Minato-ku” in Japanese) is selected as shown inFIG. 14, the selected character string (recommended strokes822) can be displayed as shown inFIG. 15without providing a sense of incongruity to the user who has handwritten the characters (that means “Tokyo” in Japanese), based on both the attribute of the handwritten characters (that means “Tokyo” in Japanese), which are tentative strokes, and the attribute of the selected character string (that means “Tokyo-to Minato-ku” in Japanese) displayed in the recommended stroke list701.

FIG. 16is an exemplary flowchart showing a procedure of stroke completion executed by the handwritten notebook application program202.

The stroke completion processor308inputs a stroke input by handwriting through the time-series data generator302(block A1). The stroke completion processor308searches recommended strokes from the candidate stroke database402B based on the input stroke by using the recommended stroke search module308A (block A2). The searched recommended strokes are displayed on the page editing screen500as a recommended stroke list701.

If any one of the recommended strokes in the recommended stroke list701is selected (block A3), the stroke completion processor308determines an attribute of the selected recommended stroke to be displayed on the page editing screen500instead of the stroke input by handwriting based on an attribute of the stroke input by handwriting and an attribute of the selected recommended stroke by using the stroke attribute determination module308B.

Then, the stroke completion processor308displays the selected recommended stroke on the page editing screen500instead of the stroke input by handwriting based on the determined attribute.

As described above, the tablet computer10can assist handwriting input without providing the user with a sense of incongruity.

Since the entire operation procedure of the embodiment can be implemented by software, the same advantage as the embodiment can be easily achieved by installing the software on a general computer through a computer-readable storage medium.