1. Field of the Invention
The invention relates to apparatus for displaying pages of an electronic book, such apparatus being known as e-book readers (also known as e-readers or e-book terminals) having a touch screen for receiving user inputs, and a method of receiving user inputs to a touch screen.
2. Description of the Related Art
In conventional e-book readers (also referred to as e-readers or e-book terminals), it is known to have a specific menu providing a bookmark button to allow a bookmark to be set up for the page that is currently selected. One problem with this is that the user must learn how to use the user interface, and know how to find the bookmark button. In addition, the user has to go through the process of opening the menu and pressing the bookmark button.
According to an aspect of the present invention, there is provided apparatus for displaying an electronic book comprising: a touch screen configured to display a selected page of textual information of an electronic book, said touch screen having a touch input device configured to generate signals in response to a touch input on said touch screen; and a processor comprising: a touch acquisition module configured to obtain touch position information of a touch input from said touch input device; a gesture recognition module configured to determine if a touch input is a bookmark gesture in dependence of whether said touch position information is within a bookmark area or not within said bookmark area; and a bookmark processing module configured to generate a bookmark for the selected page when a bookmark gesture is recognized by said gesture recognition module.
Therefore, as a consequence, the user is able to set up a bookmark and delete an existing bookmark in the e-book reader in a natural and instinctive manner, and similar to the way the user may add or remove a bookmark in a book.
Particularly, the user can naturally set up and release (or delete) a bookmark of the page by applying touch, drag, touch-hold, stroke gesture, and touch with constant pressure to a part of the page, for example a corner or an edge.
A schematic diagram of an e-book reader 100 embodying the present invention, and allowing bookmarks to be set up by a method according to the present invention, is shown in
The e-book reader 100 comprises a computer readable medium, in the form of memory 101, a processor 130, and a touch screen 150 comprising a display unit 110, and a touch input device 120.
The memory (101) may be implemented as a storage media such as a hard disk, magnetic media such as a floppy disk or magnetic tape, a CD-ROM drive, optical recording media (optical media) like DVD, magneto-optical media such as a floptical disk, a ROM, a RAM, flash memory, etc.
The memory 101 stores reference data for the operation of a program (hereinafter called ‘e-book application’) run by the processor 130, for controlling and displaying the e-book contents. Particularly, the memory 101 stores e-book contents for the aforementioned e-book application and comprises a plurality of contents and bookmark configuration information for each page.
The display unit 110 provides multiple pages for data display. Contents requested by the e-book application for display are indicated on the screen, along with appropriate graphics.
In the present embodiment, the touch input device 120 of the touch screen 150 is of a conventional type, in which the electrical resistance changes with applied force (or pressure). In the present embodiment the touch input device is of a type including a quantum tunnelling composite material such as QTC (manufactured by Peratech Limited in the UK), but alternative embodiments include the use of an FSR (Force Sensing Resistor) material. Also, in an alternative embodiment the touch input device is of the type in which sensing circuitry senses electrical changes caused by deformation of the outer shape of the touch screen by applied force (or pressure).
In some embodiments of the present invention the touch input device 120 is of a known type configured to receive single touches while other embodiments use known types of touch input device configured to receive multiple simultaneous touches. In each case, the touch applied to the touch input device by a hand or pen of a user is converted into electrical signals that are supplied to the processor 130.
Under the instructions of the e-book application and according to requests of a user, the processor 130 manages the e-book contents saved in memory 101 and displays e-book content on the display unit 110.
The processor 130 comprises an initialization part 131, the touch acquisition unit 133, and the bookmark gesture recognition part 135 and bookmark processing unit 137.
The bookmark gesture recognition part (135), itself, includes a valid touch recognition part (135A) and a gesture decision unit (135B).
The touch input device 120 and the display unit 110 of the e-book reader 100 are arranged in the an embodiment of the invention as shown in the
The touch input device 120 is shown in
A touch input device 120′, having an alternative arrangement to that to
The supporting plate 201 locates against the lower part of the touch input device 120′ in order to allow the touch input device 120′ to recognize touches on top of the display unit 110′, while preventing touches to the lower surface, which would otherwise result in false detection of a user's touch.
In the arrangement of
A selected page that is of interest to the user, which is selected as the user manipulates the e-book reader, is received by the initialization part 131, and displayed by the display unit 110. At least one corner or at least one edge portion of the touch screen 150, which displays the selected page, is defined as the bookmark area, and this is used by the valid touch recognition part 135A of the described bookmark gesture recognition part 135 as will be described below.
The bookmark areas according to two embodiments of the present invention, are shown in
In the embodiment of
It should be understood that the bookmark area may comprises several areas, as in
In an alternative embodiment (not shown), the initialization part 131 defines the bookmark area as an edge portion of the touch screen having a fixed width on the displayed page. That is, the bookmark area is oblong and extends along an edge of the screen, such as the upper edge or a side edge. In addition, in an embodiment, the initialization part 131 defines the aforementioned bookmark area as an area which is shown on the display as folded sheet (of paper) to represent the aforementioned bookmark (as will be described below).
The touch acquisition unit 133 is configured to get the location information of an acknowledged touch through the touch input device 120 from a user, and provide the location information to the bookmark gesture recognition part 135. In other words, the touch acquisition unit 133, having touch recognition software, acquires touch position information corresponding to the touch received by the touch input device 120 and then transfers the position information to the bookmark gesture recognition part 135.
The bookmark gesture recognition part 135 is configured to recognise a user's gesture as a bookmarking gesture if the touch position information corresponds to a touch position, or touch positions, included in the bookmark area. In other words, the bookmark gesture recognition part 135 determines whether the touch position information is included in the bookmark area and, if the bookmark gesture recognition part 135 confirms that the touch position information is included in the bookmark area, then the bookmark gesture recognition part 135 recognizes the touch as a valid touch and then determines whether the position information of the touch or touches relate to a predefined bookmark gesture.
If the bookmark gesture recognition part 135 determines that touch position information corresponds to a touch position that is not in the bookmark area, then it decides that the received gesture is not a bookmark gesture.
The valid touch recognition part 135A is configured to decide whether touch position information, generated during a touch by the user, corresponds to valid touch positions, based on whether the location of the touch is within the bookmark area.
In the particular case in which the initialization part 131 defines the bookmark area as a rectangle in four corners of the screen, the valid touch recognition part 135A determines whether the location of a touch is included in the ith bookmark area (Bi) through a condition, such a that given in the following conditional statement, Conditional Statement 1. In this way it determines if the touch is valid.
Conditional Statement 1
Alternatively, in the case in which the initialization part 131 defines the bookmark area as the quadrant in four corners of the screen, the valid touch recognition part 135A determines whether, or not, the location (PT=(XT, YT)) of touch belongs to the bookmark area (Bi) through a condition like the following (Conditional Statement 2), and the valid touch recognition part 135A determines whether the touch is a valid touch.
Alternatively Conditional Statement 2 may be expressed as:
Similarly, in alternative embodiments in which the initialization part 131 defines the edge area or a folding area as the bookmark area, the valid touch recognition part 135A determines if the touch is valid by using the conditions for the edge area or folding area respectively.
When the valid touch recognition part 135A determines that a touch is a valid touch, the gesture decision unit 135B is configured to determine whether a bookmark gesture has occurred, in dependence upon whether one or more parameters of the received valid touch or touches has exceeded a respective threshold.
When the valid touch recognition part 135A determines that a touch is a valid touch, the gesture decision unit 135B decides whether a bookmark gesture has occurred in dependence upon at least one of several factors, the factors being: a number of valid touches whose number of occurrences exceeds a predefined threshold number; touch hold time that is longer than a predefined threshold period; and a drag (touch) whose length across the touch screen is longer than a predefined threshold length. If the gesture decision unit 135B determines that a bookmark gestured has occurred, the gesture decision unit 135B displays appropriate graphics, such as a graphic showing that the page is folded and this graphic is synchronized with the occurrence of the bookmark gesture. Thus, the generation of this graphic and the user's bookmark gesture appear to the user to occur simultaneously, thereby giving the user a similar experience to that of creating a real bookmark.
Here, the bookmark gesture is the specific gesture in which the user touches the screen of the e-book reader in order to request the establishment of the bookmark. An example of this will be explained with reference to
A valid touch 401 generated by a user 402 on the touch screen 150 is shown in
The gesture decision unit 1358 determines whether the touch or the drag created in
In the case of
In the case of
In the present embodiment, the gesture decision unit 135B recognizes a bookmark gesture through an algorithm like the following (Conditional Statement 3).
The above conditional statement is activated after the user's touch is finished. Here, PT={PT(1), PT(2), . . . , PT(N)} is the set of touch points which belongs to the user's touch.
GESTURE_BOOKMARKING flag means that the gesture decision unit 135B recognizes the user's touch as a bookmarking gesture.
Moreover, for the drag, in which the user moves the object (hand or the pen) contacted with the touch input device 120 in order to generate touch input, the location information of touch and the location information of the previous touch are compared by the gesture decision unit 135B to determine whether a bookmark gesture has been inputted.
In other words, in cases where the gesture decision unit 135B detects that the distance of the position-to-position of the location of a touch and a previous touch is greater than the preset threshold, it determines the drag as the bookmark gesture. This process can be implemented through the following conditional statement (Conditional Statement 4).
In Conditional Statement 4, the location information of the present touch is the PT (n)=(XT(n), YT(n)), and the location information of the previous touch is PT (n−1)=(XT(n−1), YT(n−1)). In cases where length of the drag is larger than the threshold length (TH D), the drag of the bookmark gesture is identified and it is acknowledged. Here, SQRT means the square root function.
In cases where the bookmark gesture is identified by the bookmark gesture recognition part 135B, bookmark gesture recognition part 135B indicates to the bookmark processing unit 137 that a bookmark gesture is detected, and, in response, the bookmark processing unit 137 establishes a bookmark for the page currently displayed.
Moreover, as the bookmark gesture is acknowledged the bookmark processing unit 137 automatically sets up a bookmark for the current page or alternatively it displays a separate confirmation window (as illustrated in the drawing 5) and the selection of the user can be input to the bookmark processing unit 137 to confirm that the current page should be bookmarked or should not be.
An example page 501 view of the e-book reader 100 illustrated in
In the case of the
The e-book reader 600 of the
The processor 630 comprises an initialization part 631, a touch acquisition unit 633, a bookmark gesture recognition part 635, a confirmation recognition part 636, and a bookmark processing unit 637. Particularly, the initialization part 631, the touch acquisition unit 633, and the bookmark gesture recognition part 635 can be implemented identically with the configuration of the corresponding reference numerals 131, 133, 135 of the e-book terminal of
The confirmation recognition part (636) is arranged to recognize a bookmark confirmation gesture of the user based on the location information of a touch. When the confirmation recognition part (636) indicates that a bookmark confirmation gesture has been identified, the bookmark processing unit (637) sets up a bookmark for the current page of interest.
Here, the bookmark confirmation gesture is the specific gesture in which the user touches the screen of the e-book reader in order to confirm the establishment of the bookmark, and this will be explained through the examples illustrated in
A first example of bookmark creation is illustrated by
A second example of bookmark creation is illustrated by
As will be described further below, having received a bookmark gesture, in some embodiments of the present invention the e-book 600 is configured to display a line across the corner of the displayed page, as if the page had a folded corner. The displayed line acknowledges the receipt of the bookmark gesture and prompts the user to provide the confirmation gesture of
It should be understood that alternative embodiments are envisaged in which valid touches are generated other than by those described in
The confirmation recognition part 636 is configured to determine whether the second touch or the drag is a bookmark confirmation gesture depending on one of several factors. In alternative embodiments, it decides depending upon whether the second touch hold 722 is more than a predefined threshold confirmation period (i.e. a predefined length of time), whether the valid touch is a drag 742, 752 over the screen that is longer than a threshold confirmation length, and/or whether a reference count that the confirmation gesture generated is greater than a predefined number.
Therefore, the confirmation recognition part 636 can sense the touch hold 722 more than the threshold period in the case of
In a preferred embodiment, the e-book comprises a pressure acquisition unit (not illustrated). The processor 630 obtains the pressure information from a first touch and/or a second touch. In this case, depending on whether the pressure information obtained through the pressure acquisition unit is equal to, or greater than, a threshold pressure value or not, the confirmation recognition part 636 determines whether or not a bookmark confirmation gesture is generated.
In the examples of
A user 750 is shown in
That is, the confirmation recognition part 636 can recognize whether the touch of the user is the bookmark confirmation gesture, or not, based on the location information of first touches 801, 811, 821 and simultaneous second touches 802, 812, 822.
In some embodiments, such as that of
It will be understood that in a similar manner a line such as line 840 may also be presented to the user of a single-touch touch screen, such as touch screen 650 in
A corner of the touch screen 650′ is shown in
The line 840 indicates to the user where the stroke gesture should be made in order to input the second touch and confirm that the displayed page should be bookmarked. However, if the user had to accurately stroke along the line this could prove impossible. Consequently, the e-book reader defines a folding area 900 that extends along the line 840 so that a part of the folding area extends by at least a minimum distance 901 to each side of the line. Consequently, the line 840 indicates to the user where the folding area is, and therefore where the stroke gesture should be made, but the finite width of the folding area allows for some inaccuracy by the user.
For the confirmation recognition part 636 to recognise a stroke as a second valid touch confirming the generation of a bookmark, it requires that the stroke start within the folding area, finish within the folding area and have a length that is greater than a preset threshold length. For example, in
It should be noted that one corner is shown in
The folding line 840 of the bookmark can be expressed mathematically as ax+by+c=0. Here, a, b, and c are parameters determined according to the form of the bookmark.
It will be understood that the processor 630 (or processor 130) periodically samples the touch position information generated by the touch screen, and consequently, for one touch of the screen, such as a stroke, the processor identifies a contiguous series of information of touch points included in the stroke. Thus, for one stroke, if the location of the k numbered touch points (i.e the information of the kth touch point of the stroke) is PT(k)=(xk, yk), then the distance d(k) between the folding line (840) and the k number touch location (PT(k)) can be calculated with the following equation (Equation 1).
In addition, the length of the path of the stroke may be expressed in the following equation (Equation 2) from the first to the Nth point of the path. i.e. from k=0 to k=N, where PT(k) is the second touch location at the k number moment. In the Equation 2, the distance between two points “a” and “b” is denoted by d(a, b).
LPT=d(PT(1),PT(0))+d(PT(2),PT(1))+ . . . +d(PT(N),PT(N−1)) Equation 2
The stroke gesture recognition method as described above may be used by the bookmark gesture recognition part 135 or 635 in a process of recognising the bookmark gesture or the confirmation recognition part 636 in a process of recognising the bookmark confirmation gesture. Moreover, in cases where the touch input device 620 is implemented as the multi-touch pad it can recognize whether the stroke gesture was generated during the second touch. To do this, the relevant process (i.e. the bookmark gesture recognition part 135 or 635 or the confirmation recognition part 636) determines whether all of the points along the stroke were within the fold area and determines whether the length of the stroke was longer than the preset threshold length. If both are found to be true then the processor (130 or 630 respectively) determines that a touch stroke (or stroke gesture) has been received.
That is, using d(k) of equation 1 and LPT of equation 2, the processes make their respective determinations as follows:
In an alternative embodiment, in a simpler version of the above Stroke Test, the shortest distance between the start (initial) point and the end point is used instead of LPT. That is, instead of determining whether LPT is greater than the threshold distance (D), it is determined whether the distance between the first point and last point of a stroke is greater than a threshold distance.
A flow chart of a bookmark set up method embodying the present invention is shown in
The touch of a user on the touch screen generates touch signals and at step 1000 the touch acquisition unit of the processor gets the location information of a plurality of touch points in the touch. Although this is shown as a single step, it should be understood that the processor (130 or 630) continues to obtain current touch information from the touch screen during the subsequent process steps.
At step 1010 it is determined whether or not acquired touch information represents a touch in the bookmark area, and, if not, the process goes to END. If the touch information is found to be in the bookmark area at step 1010, then step 1020 is performed.
At step 1020, the bookmark gesture recognition part of the processor processes the location information that is being received to determine whether a bookmark gesture is recognised. If it is determined at step 1030 that a bookmark gesture is not being received, then the process goes to END.
If a bookmark gesture is recognised at step 1020, it is acknowledged at step 1030 by displaying a graphic in the currently displayed page to indicate that the bookmark gesture has been received. In one embodiment, as described above, the displayed graphic is the folded corner in the currently displayed page. In an alternative embodiment this takes the form of another visual acknowledgement, for example a confirmation window, such as that shown in
When the step 1030 is completed, the gesture decision unit of the processor then determines, at step 1040, based upon the currently received touch information, whether a bookmark confirmation gesture is received, confirming that a bookmark should be generated. If a bookmark confirmation gesture is not received, the process goes to END.
When a bookmark confirmation gesture is received at step 1040, a bookmark is generated for the currently displayed page and confirmed on the display unit at step 1050.
In a further alternative embodiment, such as described above in respect of
The recognition process of the bookmark gesture of step 1020 of
Initially in step 1020, the step 1101 determines whether the current touch information corresponds to a valid bookmark touch. In the present embodiment this takes the form of determining whether the touch information corresponds to a touch located inside the bookmark area. In an alternative embodiment, the e-book reader has a touch screen that also provides an output signal providing a measurement of pressure applied during the touch. Thus, in such embodiments, the step 1101 takes the form of determining both whether the touch information corresponds to a touch within the bookmark area and whether the touch measurement is above a preset pressure threshold.
If touch information corresponds to a valid bookmark touch, then the process enters step 1102 where it is determined whether a touch parameter has exceeded a bookmark threshold value. In the present embodiment this step takes the form of determining whether the touch information corresponded to a drag over the preset threshold length. In alternative embodiments, this step takes the form of determining whether the touch is held for more than a threshold period. In some alternative embodiments, more than one parameter is used. For example, the process may determine if the touch information corresponds to a drag over the preset threshold length and for more than a threshold period of time.
If it is determined at step 1102 that the touch parameter has been exceeded then the process determines that a bookmark gesture has been received and it enters step 1030, where the bookmark gesture is acknowledged. Alternatively, if it is found that the threshold value has not been exceeded at step 1102, then the process goes to END.
The recognition process for the bookmark confirmation gesture at step 1040 of
Initially at step 1201 it is determined whether the current touch information is valid for a bookmark confirmation gesture. In the present embodiment this takes the form of determining whether the touch information corresponds to a touch located inside the bookmark confirmation area. The bookmark confirmation area in the present embodiment is the fold area, as described with reference to
If it is determined at step 1201 that the touch information is not valid for a bookmark confirmation gesture, the process goes to END.
If it is determined at step 1201 that the touch information is valid for a bookmark confirmation gesture, the process enters step 1202 where the same question as step 1201 is asked again. However, this time, if the question is answered negatively, indicating that the gesture does not meet the requirements for a bookmark confirmation gesture, the process goes to END and a bookmark is not generated. If the question at step 1202 is answered in the positive, the process enters step 1203 where it is determined whether a touch parameter has exceeded a confirmation threshold value.
In the present embodiment step 1203 takes the form of determining whether the touch information corresponds to a stroke within the fold area (as described with respect to
If it is determined at step 1203 that the touch parameter has been exceeded then the process determines that a bookmark confirmation gesture has been received and it enters step 1050, where the bookmark is generated and the bookmark generation is acknowledged on the screen to the user. If it is found that the threshold value has not been exceeded at step 1203 then the process goes to END.
Alternatively, if it is determined at step 1202 that the touch is not a valid touch then the process goes to END.
Although the above description has focussed upon the creation of a bookmark for a displayed page, it is also envisaged that a bookmark for a displayed page be released (i.e. removed) by similar gestures to those described for the creation of the bookmark. For example, in an embodiment, when a displayed page has a bookmark, this bookmark is cancelled by providing a drag within the bookmark area over a distance that is greater than a threshold length. In alternative embodiments, the bookmark is cancelled by a valid touch in the form of a stroke gesture in the fold area, and constant pressure within the valid touch is more than the reference count, or a touch and hold in the bookmark area, etc.
Although the above description and in particular