This application claims priority under 35 U.S.C. §119 from Chinese Patent Application No. 201110097928.2 filed Apr. 19, 2011, the entire contents of which are incorporated herein by reference.
1. Field of the Invention
The present invention generally relates to information processing technical field, and more particularly, to a method and system for revising user input position.
2. Description of Related Art
With the development of the information technology, the forms of information terminals are numerous. For example, cell phone, navigator, hand computer, pad computer, kiosk, handheld game machine and the like have become popular. However, when a user uses these information apparatuses, there are some bad user experiences. For example, sometimes the user wants to click on an application, but since the position pressed by the finger or the position pressed by the inputter is shifted, undesired applications are clicked on. The time of the user is wasted and thus, creates a bad user experience. It normally needs the user to repeat or carefully click on the desired application, to make the user enters into the correct application. With the wide usage of touch screens, the inconvenient experience of the user becomes an important problem to solve.
The prior art attempts to improve such experience of the user. In U.S patent application publication No. US2010/0302212A1, the invention proposes obtaining and setting a series of finger characters from different users' fingers, and then performing characterized operations on the screen according to these characters, such as providing big icons for big fingers, and providing small icons for small fingers, and so on. However, the method needs the user and the software to make a relatively big change, and is not convenient when using it.
Thus, a method and system for revising user input position is needed.
One aspect of the invention provides a method for revising user input position. The method includes detecting input position of a user, revising the input position of the user based on a predefined revising model, to obtain an accurate position, where, a wrong input position of the user is at least analyzed in advance to obtain the revising model, and in response to obtaining the accurate position, triggering an application corresponding to the accurate position.
Another aspect of the invention provides a system for revising user input position. The system includes a detecting unit, to detect input position of a user, a revising unit, to revise the input position of the user based on a predefined revising model, to obtain an accurate position, where, a wrong input position of the user is at least analyzed in advance by an analyzing unit to obtain the revising model, and a triggering unit, to, in response to obtaining the accurate position, trigger an application corresponding to the accurate position.
In yet another aspect of the invention provides a computer readable storage medium. The computer readable storage medium tangibly embodies a computer readable program code having computer readable instructions which, when implemented, cause a computer to carry out the steps of a method including detecting input position of a user, revising the input position of the user based on a predefined revising model, to obtain an accurate position, where, a wrong input position of the user is at least analyzed in advance to obtain the revising model, and in response to obtaining the accurate position, triggering an application corresponding to the accurate position.
With the technology for automatically revising the input position of the user on the touch screen provided by the invention, it is possible to help the user more conveniently locate the needed content, so as to save the time of the user and improve the user experience.
The features and advantages of the embodiments of the invention will be particularly explained with reference to the appended drawings. If possible, the same or like reference number denotes the same or like component in the drawings and the description. In the drawings:
Below, the exemplary embodiments of the invention will be described in detail with reference to the drawings in which the embodiments of the invention are illustrated, and like reference number always indicates the same element. It should be understood that the invention is not limited to the disclosed exemplary embodiments. It should be also understood that not every feature of the method and apparatus is necessary for implementing the invention to be protected by any claim. In addition, in the whole disclosure, when displaying or describing the process or the method, the steps of the method can be executed in any order or simultaneously, unless it is clear from the context that one step depends on another previously-executed step. In addition, there can be prominent time interval between the steps.
Every user has a unique fixed usage habit. For example, some users have thick fingers, and in the case of small buttons, in order to clearly see the application corresponding to the accurate position, their input positions to be clicked on often shift down and make errors. This habit is difficult to correct in a short time period. Based on this finding, it is proposed a first embodiment for revising user input position of the invention.
As shown in
This embodiment obtains shown revising model by at least analyzing the wrong input position of the user in advance, which will be descried in detail in the subsequent preferred embodiments. Due to relative fixed feature of the user's usage habit, such revising model is relatively effective. In step 105, in response to obtaining the accurate position, an application corresponding to the accurate position is triggered. The adjusted accurate position is used as the input of the user to trigger the application which is desired by the user to launch. The bad user experience due to wrongly clicking can be avoided. The original clicking habit of the user is remained in order to make the user's input natural and smooth.
Thus, it can be seen that the wrong click of the user follows the pattern of: wrong input position->undesired application->back->accurate position->desired application, in which the accurate position refers to a response area corresponding to the application which is truly desired by the user to use. Such pattern can be used to determine the actions of the wrong input position of the user: obtaining an input position of the user; and in response to obtaining a back action and an action for re-determining the accurate position of the user, determining the input position of the user as a wrong input position. The method for detecting the wrong input position of the user can be realized to monitor the input position path of the user in real time, and can be preferably realized to store the input position path of the user as a log which can be analyzed offline after a certain data is accumulated.
In order to assure more accurate and complete revising model,
In step 403, based on an association between the correct input position of the user and the accurate position, a sample set is formed. Such sample set can include samples related to wrong input positions of the embodiment as shown in
Below, the method for how the revising model is obtained based on the sample set will be described in detail in combination with
The example of the negative samples is that the user desires to click on B1, but in fact the user does not click on B1, but on adjacent area around B1, such as hollow points in
the positive sample coordinates: P={(xp, yp)|p∈A∩(xp, yp)∈R}
the negative sample coordinates: N={(xp,yp)|p∈A∩(xp,yp)∉R}
The learning process of the revising model is divided into two steps of:
Step 1: Bias Learning of a Single Button
The learning of this step can be realized by many existing methods, and two particular learning methods are exemplified as follows:
1. Mathematical Expectation
For the B1 button as shown in
Input: A=P∪N , i.e., the coordinates of all the positive and negative samples; the coordinate of the centroid point of the button B1 is
xb1 and yb1 are length and width of the button B1 respectively.
Output: Δx & Δy.
The calculation formula is:
|A| indicates the number of the sets in the set A. Δx indicates the x coordinate shift of the sequential user input positions to be rectified for the button B1. Δy indicates the y coordinate shift of the sequential user input positions to be rectified for the button B1.
2. Mean Value Function
For the B1 button as shown in
Input: A=P∪N , i.e., the coordinates of all the positive and negative samples; the coordinate of the centroid point of the button B1 is
xb1 and yb1 are length and width of the button B1 respectively.
Output: Δx & Δy.
The calculation formula is:
Δx=med{xp−xc|p∈A}
Δy=med{yp−yc|p∈A}
med indicates taking the mean value of the set.
Step 2: Average Bias Learning of all the Buttons
Within one screen, there are several available triggering area for several buttons, each available triggering are corresponding to a group of Δx&Δy. The adjustment for the whole screen can take the mean value as follows:
ΔX indicates the x coordinate adjustment of the sequential user input positions within the scope of the whole screen. ΔY indicates the y coordinate adjustment of the sequential user input positions within the scope of the whole screen. Num (buttons) indicates the number of the buttons which undergo the sample learning in the whole screen. Thus, the samples of a limited number of buttons in the whole screen can be learned, to apply for the whole input screen, thereby improving the efficiency of learning. The revising model can be obtained based on the above obtained adjustment values: (x, y)=(x+ΔX, y+ΔY), that is, for a sequential user input position (x, y), it can be revised as its accurate position (x+ΔX, y+ΔY) by the revising model.
It is to be noted, the person skilled in the art can easily obtain said revising model based on the application and according to other suitable learning model. In addition, the above rectangle “button” from is only exemplary, and the “button” can also be in a form of a line of words or other patterns and so on.
In steps 703 and 705, correct position inputs and wrong position inputs are recognized. Since the determined corresponding function or application has determined accurate position, it only needs to compare the input position with the accurate position to obtain whether the input position of the user is correct or wrong. The respective input positions as samples form a sample set. In step 708, the revising model is obtained based on said sample set.
In step 805, the input position path of the user is quantization-analyzed, to obtain a sample set including positive samples and negative samples. In step 807, a revising model is obtained based on the sample set. The revising model as shown in
The second stage is the stage for revising the input position of the user. In step S809, the user performs a new touch operation, in step 811, the new touch position of the user is detected, in step 803, the detected touch position is revised as an accurate position according to the obtained revising model, and based on the determined accurate position, in step 815, the information apparatus triggers the corresponding application according to the accurate position to respond to the new touch operation of the user. As shown in
Another aspect of the invention provides a system for revising user input position as shown in
Preferably, said analyzing means 1001 is further configured to obtain the revising model by analyzing a correct input position of the user in advance.
Preferably, said analyzing means 1001 includes: a wrong position obtaining means, configured to obtain the wrong input position of the user; a sample set forming means, configured to, based on an association between the wrong input position of the user and the accurate position, form a sample set; and a revising model forming means, configured to, based on said sample set, form said revising model.
Preferably, wrong position obtaining means includes: an user input position obtaining means, configured to obtain an input position of the user; and a wrong input position determining means, configured to, in response to obtaining a back action and an action for re-determining the accurate position of the user, determine the input position of the user as a wrong input position.
Preferably, the analyzing means 1005 further includes: a user correct input position obtaining means, configured to obtain the correct input position of the user; a sample set forming means, configured to, based on an association between the correct input position of the user and the accurate position, form a sample set; and a revising model forming means, configured to, based on said sample set, form said revising model.
Preferably, the revising model is formed based on the sample set, and according to one of the Mathematical Expectation Model and the Mean Value Model.
Preferably, the system further includes: a recorder, for recording an input path of the user.
Preferably, the system has a touch screen.
Although the exemplary embodiments of the invention are described here with reference to the drawings, it should be understood that the invention is not limited to these precise embodiments, and the person skilled in the art can make various modifications to the embodiments without departing from the scope and the principle of the invention. All these variations and modifications are intended to be contained in the scope of the invention defined by the appended claims.
According to the above description, the person skilled in the art will know that the invention can be embodied as a system, a method or a computer program product. Thus, the invention can be implemented in particular in following forms, i.e., a whole hardware, a whole software (including firmwares, residing softwares, microcodes), or a combination of the software parts normally called “circuit”, “module” or “system” in the text and the hardware parts. In addition, the invention can also adopt the form of computer program product in any medium of expression, with computer-usable program codes included in the medium.
Any combination of one or more computer-usable or computer-readable mediums can be used. The computer-usable or computer-readable mediums can be, but not limited to for example, electric, magnetic, optic, electro-magnetic, infrared, or semiconductor system, apparatus, device or transmission medium. More particular examples of the computer-readable mediums include: electric connection with one or more wires, portable computer disk, hard disk, Random Access Memory (RAM), Read Only Memory (ROM), Erasable Programmable Read Only Memory (EPROM or flash memory), optical fiber, portable Compact Disk Read Only Memory (CD-ROM), optical storage device, such as transmission medium supporting Internet or Intranet, or magnetic storage device.
It is appreciated that, the computer-usable or computer-readable mediums can be even papers or other suitable mediums with programs printed thereon, because such paper or other mediums can be for example, electrically scanned to electrically obtain the program, and then compiled, interpreted or processed in a suitable manner, and stored in a computer memory as necessary. In the context of this document, the computer-usable or computer-readable medium can be any medium for containing, storing, transferring, transporting, or transmitting programs to be used by instruction execution system, apparatus or device, or to be associated with the instruction execution system, apparatus or device. The computer-usable medium can include data signal embodying the computer-usable program codes, transmitted in the base band or as a part of the carrier. The computer-usable program codes can be transmitted by any suitable medium, including, but not limited to, wireless, wired, cable, RF and so on.
The computer program codes for performing the operations of the invention can be composed in any combination of one or more programming languages including Object-Oriented programming languages, such as Java, Smalltalk, C++ and so on, and normal process programming languages, such as “C” programming language or like programming languages. The program codes can be executed entirely on the user's computer, partially on the user's computer, as one independent software package, partially on the user's computer and partially on a remote computer, or entirely on the remote computer or a Web server. In the latter case, the remote computer can be connected to the user's computer by any type of network, including Local Area Network (LAN) or Wide Area Network (WAN), or to external computers (by for example the Internet web service provider using Internet).
In addition, each block of the flowchart and/or block diagram, and the combinations of blocks in the flowchart and/or block diagram of the invention can be realized by computer program instructions, which can be provided to processors of general computers, dedicated computers or other programmable data processing apparatus to produce one machine to enable generating the means for the functions/operations prescribed in blocks in the flowchart and/or block diagram by these instructions executed by the computers or other programmable data processing apparatus.
These computer program instructions can also be stored in computer-readable mediums capable of instructing computers or other programmable data processing apparatus to operate in a particular manner. Thus, the instructions stored in the computer-readable medium generate a manufacture of instruction means for realizing the functions/operations prescribed in blocks in the flowchart and/or block diagram.
The computer program instructions can also be loaded into a computer or other programmable data processing apparatus, to enable the computer or other programmable data processing apparatus to execute a series of operation steps, to generate the process realized by the computer, thereby providing a process of realizing the functions/operations prescribed in blocks in the flowchart and/or block diagram in the instructions executed on the computer or other programmable apparatus.
The flowcharts and the block diagrams in the drawings illustrate the possible architecture, the functions and the operations of the system, the method and the computer program product according the embodiments of the invention. In this regard, each block in the flowcharts or block diagrams can represent a portion of a module, a program segment or a code, and said portion of the module, the program segment or the code includes one or more executable instructions for implementing the defined logical functions.
It should be also noted that in some implementations as alternatives, the functions labeled in the blocks can occur in an order different from the order labeled in the drawings. For example, two sequentially shown blocks can be substantially executed in parallel in fact, and they sometimes can also be executed in a reverse order, which is defined by the referred functions. It also should be also noted that, each block in the flowcharts and/or the block diagrams and the combination of the blocks in the flowcharts and/or the block diagrams can be implemented by a dedicated system based on hardware for executing the defined functions or operations, or can be implemented by a combination of the dedicated hardware and computer instructions.
Number | Date | Country | Kind |
---|---|---|---|
201110097928.2 | Apr 2011 | CN | national |