WO2021098878A1 - 一种预测手写笔绘制点的方法和设备 - Google Patents
一种预测手写笔绘制点的方法和设备 Download PDFInfo
- Publication number
- WO2021098878A1 WO2021098878A1 PCT/CN2020/130866 CN2020130866W WO2021098878A1 WO 2021098878 A1 WO2021098878 A1 WO 2021098878A1 CN 2020130866 W CN2020130866 W CN 2020130866W WO 2021098878 A1 WO2021098878 A1 WO 2021098878A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- points
- point
- predicted
- stylus
- reporting
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0346—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a three-dimensional [3D] space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0354—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of two-dimensional [2D] relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
- G06F3/03545—Pens or stylus
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0354—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of two-dimensional [2D] relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
- G06F3/03547—Touch pads, in which fingers can move on a surface
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/038—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/038—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
- G06F3/0383—Signal control means within the pointing device
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04883—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
Definitions
- This application relates to the application field of artificial intelligence (AI), and in particular to a method for predicting the drawing point of a stylus pen and a stylus pen.
- AI artificial intelligence
- the stylus pen is currently the most common accessory found on tablet computers, and it is often used in scenes such as taking notes and paintings in office.
- the experience of the stylus pen writing on the tablet computer is different from that of the ordinary pen writing on paper.
- touch, reporting, and drawing require equipment to process and calculate, the above process must have a certain time delay. Obviously, if the time delay is long, the user will see that the point displayed on the screen of the tablet computer does not overlap with the actual position written by the stylus, and there is a certain distance between them. In terms of user experience, it means that the stylus has very poor hand-handling when writing, which seriously affects the user experience.
- the embodiment of the application provides a method for predicting the points drawn by a stylus.
- the method predicts the position of the future points based on the information of the historical points, and draws the predicted points, so that the points drawn and displayed can be compared with the actual points.
- the reporting point is closer to the actual contact position of the stylus, ensuring that users can have a better handwriting experience when using it.
- a method for predicting drawing points of a stylus includes: obtaining multiple reporting points of the stylus; determining a prediction reporting point model according to the multiple reporting points; using the prediction reporting point model to predict, and obtaining at least one Predicted point; draw at least one predicted point, and display the drawn predicted point.
- the embodiment of the present application constructs a forecast report model based on the information of historical report points and obtains the forecast points. By drawing the predicted points and displaying them, the displayed points are closer to the actual touch points of the stylus than the actual reported points, which ensures that the user can have a better handwriting experience when using it.
- determining the forecast report point model according to multiple report points includes: determining coordinate information and time information of the multiple report points, where the coordinate information includes coordinate information in the X-axis direction and coordinate information in the Y-axis direction; For each direction of the X-axis direction and the Y-axis direction, the prediction report point model in the direction is obtained through the coordinate information and time information of the multiple report points in the direction.
- using a predictive point model for prediction includes: for each of the X-axis direction and the Y-axis direction, determining n according to the predictive point model in that direction The coordinate information of the predicted point in this direction, where n is a positive integer; according to the coordinate information of the predicted point in the X-axis direction and the coordinate information in the Y-axis direction, the coordinate information of n predicted points is obtained.
- the method further includes: determining the movement speed of the stylus based on multiple reporting points; determining the error between the predicted point and the actual reporting point corresponding to the predicted point; and according to the movement speed and error of the stylus, Adjust the number n of predicted points to n', where n'is the number of predicted points in the next prediction, and n'is a positive integer.
- the embodiment of the present application can also dynamically adjust the number of prediction points in combination with the movement speed of the stylus and/or the error of the prediction points, ensuring that the prediction points will not deviate from the correct trajectory, so that the user can have a better Follow handwriting and handwriting experience.
- adjusting the number n of predicted points according to the movement speed and error of the stylus includes: when the movement speed of the stylus is less than or equal to the movement speed threshold, and/or the error is greater than or equal to the error threshold, Reduce the number of n prediction points.
- the embodiment of the present application can reduce the number of prediction points prediction when the above conditions are met, thereby ensuring that the prediction point does not deviate too much from the correct trajectory when the user uses it, and at the same time, it can have a better handwriting experience and handwriting experience.
- obtaining multiple reporting points of the stylus pen includes: collecting touch information of the pen tip when the stylus pen is drawing; and determining the multiple reporting points of the stylus pen according to the touch information.
- drawing at least one predicted point and displaying the drawn predicted point includes: connecting two adjacent predicted points among the n predicted points to form a line segment; drawing the drawn line segment To display.
- the predictive reporting point model is a second-order Taylor expansion.
- a device for predicting a drawing point of a stylus includes: a processor for coupling with a memory, and reading and executing instructions stored in the memory; when the processor is running, the instructions are executed to make the processing.
- the device is also used to: obtain multiple report points of the stylus; determine the forecast report point model according to the multiple report points; use the forecast report point model to predict to obtain at least one forecast point; draw at least one forecast point; The predicted points drawn are displayed.
- the embodiment of the present application constructs a forecast report model based on the information of historical report points and obtains the forecast points. By drawing the predicted points and displaying them, the displayed points are closer to the actual touch points of the stylus than the actual reported points, which ensures that the user can have a better handwriting experience when using it.
- the processor is further configured to: determine coordinate information and time information of multiple reporting points, where the coordinate information includes coordinate information in the X-axis direction and coordinate information in the Y-axis direction; In each of the axial directions, the forecasted point model in that direction is obtained through the coordinate information and time information of multiple points in that direction.
- the processor is further configured to: for each of the X-axis direction and the Y-axis direction, determine the coordinate information of the n predicted points in the direction according to the predicted report point model in that direction , Where n is a positive integer; according to the coordinate information of the predicted point in the X-axis direction and the coordinate information in the Y-axis direction, the coordinate information of n predicted points is obtained.
- the device further includes: a sensor for acquiring contact information of the stylus, and obtaining a plurality of the reporting points according to the contact information; the processor is further configured to, according to the multiple reporting points Determine the movement speed of the stylus; determine the error between the predicted point and the actual reported point corresponding to the predicted point; according to the movement speed and error of the stylus, adjust the number of test points n to n', where n'is the next The number of prediction points in a prediction, n'is a positive integer.
- the embodiment of the application can also dynamically adjust the number of prediction points in combination with the movement speed of the stylus and/or the error of the prediction points, so as to ensure that the prediction points will not deviate too much from the correct trajectory when the user uses them, and at the same time, there can be more changes. Good experience with chirality and handwriting.
- the processor is further configured to reduce the number of n prediction points when the movement speed of the stylus is less than or equal to the movement speed threshold, and/or the error is greater than or equal to the error threshold.
- the embodiment of the present application can reduce the number of prediction points prediction when the above conditions are met, thereby ensuring that the prediction point does not deviate too much from the correct trajectory when the user uses it, and at the same time, it can have a better handwriting experience and handwriting experience.
- the senor is also used to collect touch information of the pen tip when the stylus is drawing; the processor is also used to determine multiple reporting points of the stylus based on the touch information.
- the processor is also used to connect two adjacent prediction points among the n prediction points to draw a line segment; the display is also used to display the drawn line segment.
- the predictive reporting point model is a second-order Taylor expansion.
- a computer-readable storage medium is provided, and instructions are stored in the computer-readable storage medium.
- the terminal executes any one of the methods of the first aspect.
- a computer program device containing instructions, which when running on a terminal, causes the terminal to execute any of the methods in the first aspect.
- the embodiment of the present application discloses a method and device for predicting a drawing point of a stylus pen. Predict the possible locations of future reporting points in advance through historical reporting points, and draw the locations of predicted points. It realizes that the drawn points are closer to the actual touch points of the stylus, which ensures that the user has better follow-up and better experience when using the stylus.
- FIG. 1 is a schematic diagram of a handwriting pen drawing scene provided by an embodiment of the application
- Figure 2 is a schematic diagram of the time delay between the stylus and the hand
- Figure 3 is a schematic diagram of the drawing and display process of the stylus
- Figure 4 is a schematic diagram of a system framework provided by an embodiment of the application.
- FIG. 5 is a flowchart of a method for predicting drawing points of a stylus provided by an embodiment of the application
- Figure 6 is a schematic diagram of the relationship between Taylor expansion and curve fitting
- FIG. 7 is a schematic diagram of drawing prediction points according to an embodiment of the application.
- FIG. 8 is a schematic diagram of an apparatus for predicting a drawing point of a stylus provided by an embodiment of the application.
- This application is mainly used by the user to write or draw on the mobile device with a stylus pen.
- the user uses the stylus 101 to draw or write on the display screen 102 of the terminal device.
- the stylus 101 will display a corresponding line on the path that the stylus 101 passes on the display screen 102, and the line represents the content drawn by the stylus 101.
- the stylus 101 draws and writes on the display screen 102, it can be displayed immediately when compared to using a normal pen to draw and write on paper.
- the terminal device needs to be displayed on the display screen 102 according to the stylus 101.
- Corresponding lines can be drawn only after calculating the contact points. Obviously, the process of drawing lines on the terminal device takes time. Therefore, when the line drawing is completed, the actual contact position of the stylus 101 may have continued to move backward.
- the schematic diagram shown in FIG. 2. It can be clearly seen that the actual touch point of the stylus and the drawing point are not the same position, which will cause the actual touch point of the user to move backward when the drawing point is drawn and displayed. For the user, serious problems will occur.
- the contact point is the point where the stylus 101 contacts the display screen 102
- the drawing point is the point that the terminal device draws and displays on the display screen according to the contact point.
- the reason for this phenomenon is that when the terminal device is drawing, it needs to obtain the report point obtained by the physical layer of the terminal device according to the contact, and then render the report point to obtain the drawing point and transmit it to the display screen to display the obtained drawing. point.
- the physical layer may also be referred to as the bottom layer, and the above two descriptions in this application can be used interchangeably.
- the display needs some time to respond.
- the display screen responds, there is a certain time delay between when the terminal device obtains the low-level reporting point, that is, the reporting point delay.
- the rendering of the report points reported by the physical layer also needs to be processed by the terminal device for a period of time before it can be completed, and finally displayed on the display screen. Therefore, there will be a certain distance between the displayed drawing point and the actual contact position of the stylus. More specifically, the process of generating a time delay when the display screen displays the drawing point can refer to the schematic diagram shown in FIG. 3.
- the terminal device draws in advance, the displayed drawing point and the actual touch point of the stylus will have a large deviation, which makes the user feel worse with the hand.
- a forecast report point model is obtained through multiple historical report points, and the forecast report point model is used to predict, and then the forecast points are drawn and displayed, so that the displayed points are closer to the actual touch of the stylus than the actual report points. Point the location to ensure that users can have a better follow-up and handwriting experience when using it.
- Figure 4 is a schematic diagram of a system framework provided by an embodiment of the application.
- the system architecture may be an Android-based system architecture, which includes a native framework layer (native), a framework layer (framework) and an application layer (application, APP).
- the native layer mainly includes some local services and some link libraries.
- This layer can be implemented in C and C++ languages. This layer is also used to drive interaction with the underlying hardware. Therefore, the terminal device can respond to the action of the stylus touching the display screen through this layer, and obtain the initial report point collected by the display screen.
- the reported point acquired by the native layer may include the coordinate information and absolute time of the point. Understandably, absolute time refers to the universal universal time, or Greenwich Mean Time.
- the native layer of the terminal device obtains the report point, it can also perform denoising processing on the obtained report point, and send the denoised report point to the prediction report point algorithm of the framework layer, and obtain the prediction report through this algorithm. Point model and prediction point. Then, the predicted points are sent to the stylus application of the APP layer through the prediction point application program interface (application programming interface, API).
- API application programming interface
- the framework layer also includes system services (system server), which are used to provide various possible services for the framework layer, such as input flinger.
- system server system services
- the input flinger is used to provide service support for events that occur on the display screen when the stylus moves on the display screen.
- the framework layer can also include other algorithms to complete any other possible functions, and upload data to other applications in the APP layer through corresponding other APIs to complete certain specific tasks.
- the stylus application at the APP layer After the stylus application at the APP layer receives the predicted prediction point through the prediction report API, it can render the received prediction point and display it on the display screen.
- the stylus application may be an application such as a memo, drawing, etc.
- the embodiment of the application adds the predictive reporting API and the predictive reporting algorithm in the framework layer, so that the stylus application of the APP layer can call the predictive reporting algorithm through the predictive reporting API in the framework layer, so that the user can use handwriting When using the pen, the drawn points can be made closer to the actual touch points of the stylus, which ensures that the user has better hand-handling and better experience when using the stylus.
- an embodiment of the present application also provides a method for predicting the drawing point of a stylus pen, for example, as shown in FIG. 5.
- the terminal device involved in the embodiment of the present application may be a terminal device with a display screen, and the display screen is a display screen with a touch function.
- the terminal device can be, but not limited to, any terminal device or portable terminal device with a touch-sensitive display screen, such as a mobile phone, a wearable device, a tablet computer, a personal digital assistant (PDA), a laptop computer (laptop), and a mobile computer.
- the method can include the following steps:
- the terminal device first obtains multiple reporting points of the stylus through the display screen.
- the terminal device can obtain multiple report points after the stylus pen touches. For example, a report point can be obtained.
- a report point can be obtained.
- the terminal device drives the display and obtains the touch information of the display, and determines the report based on the acquired touch information. point.
- the report point includes coordinate information and time information. The report point is reported to the framework layer, and the corresponding API in the framework layer continues to be transmitted to the application layer, and is drawn through the corresponding application and displayed on the display screen.
- the frequency at which the display collects touch information and the frequency at which the terminal device obtains the report points may be different.
- the display can collect 500 points per second to collect touch information, that is, collect one point every 2 milliseconds (ms).
- the frequency of obtaining the report point of the terminal device may be every 6 ms. Therefore, for the display, it is possible to record the touch information after collecting it, and wait for the terminal device to obtain it according to its preset frequency.
- the display saves 3 touch information after 6 ms, and the terminal device acquires the 3 touch information this time, and determines 3 corresponding reporting points according to the acquired 3 touch information.
- the specific frequencies of the display and the terminal device can be arbitrarily set according to actual conditions, and this application is not limited here.
- a report point may not be predicted, but the terminal device is used to draw and display normally.
- a is the reference number of historical reporting points, which can be preset.
- a may be 10, that is, the terminal device obtains the latest 10 reporting points.
- a can also be 30, that is, the terminal device obtains the latest 30 reporting points, which is not limited in this application.
- the terminal device does not make predictions because the number of historical reported points may be less than a. Instead, when the number of historical reported points meets a, proceed to the subsequent steps. .
- the terminal device can collect about 300 reporting points per second, for example, 30 reporting points can be collected in only about 100 milliseconds. If the value of a is 10, it only takes more than 30 milliseconds to complete. For the user, it is very short-lived, even difficult to detect, and will not cause a serious delay in the experience.
- the subsequent steps can also be performed according to the number of reported points currently obtained.
- the number of a may not be limited, but all the points reported when writing and drawing are performed with the current writing pen, and the subsequent steps are executed.
- S502 Determine a predictive reporting point model according to multiple reporting points.
- the terminal device determines a predictive reporting point model according to the multiple reporting points acquired in S501.
- the terminal device may construct a predictive reporting point model by means of machine learning based on the multiple reporting points obtained in S501.
- the movement trajectory of the stylus pen can finally be abstracted as a curve or a straight line, which can also be called a generic curve.
- the report points received by the terminal equipment from the bottom layer are all discrete points. Therefore, it is necessary to connect discrete reporting points into a curve.
- the curve can be regarded as the movement trajectory of the stylus, and the points on the curve are all the reporting points on the movement trajectory.
- the points on the motion trajectory can be divided into coordinates in the X-axis direction and coordinates in the Y-axis direction. And based on each direction, construct the time-coordinate function in the X-axis direction and the Y-axis direction respectively. It is understandable that the functions described below need to be constructed separately in the two directions of the X-axis direction and the Y-axis direction.
- Taylor polynomial can be used as a function to approximate any curve.
- Taylor polynomials can also be called Taylor expansions or Taylor formulas.
- Taylor expansions can be used as the initial prediction model, as shown in Formula 1.
- Figure 6 shows the fitting relationship between the Taylor expansion and the curve. It can be seen that when the number of items is 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, the curve described by the formula fits the real curve taller and taller. It is understandable that the more terms in the Taylor expansion, the more accurately f(t) can describe the true curve. Among them, the number of terms is the number of terms included in the Taylor expansion.
- f(t) means the coordinates in a certain direction at time t.
- t 0 represents the time of the latest reported point obtained
- t represents the time of the reported point to be predicted, that is, the time of the predicted point.
- both t and t 0 can be expressed in absolute time.
- tt 0 can be represented by ⁇ t, that is, ⁇ t represents the time difference between the predicted point and the latest reported point. For example, when ⁇ t is 2 milliseconds, f(t) represents the position of the predicted point 2 milliseconds after the predicted latest report point.
- formula 2 can also be equivalent to formula 3, namely
- s 0 is f(t 0 ), which represents the coordinate position of the latest reported point obtained. Since f(t) is a function based on time t, the derivative of position s at time t can represent velocity v, and the second derivative of position s at time t can represent acceleration a. At this time, formula 3 can also be equivalent to formula 4, that is
- the terminal device only needs to calculate the speed v and acceleration a through machine learning according to the acquired coordinate information and time information of the multiple historical reporting points, and then obtain the predicted reporting point model s ⁇ t , which is f( ⁇ t).
- the coordinate information of the historical report point should include the X axis coordinate and the Y axis coordinate of the report point.
- the change rate of the coordinates of two adjacent reporting points can be calculated according to the acquired position information of multiple historical reporting points, and then the interval between two adjacent reporting points can be obtained.
- the speed v is a through machine learning according to the acquired coordinate information and time information of the multiple historical reporting points, and then obtain the predicted reporting point model s ⁇ t , which is f( ⁇ t).
- the coordinate information of the historical report point should include the X axis coordinate and the Y axis coordinate of the report point.
- the change rate of the coordinates of two adjacent reporting points can be calculated according to the acquired position information of multiple historical reporting points, and then the interval between two adjacent reporting points
- the acceleration a within the interval between two adjacent reporting points can be obtained.
- the method of calculating the velocity v and the acceleration a by means of machine learning can also be performed in any other equivalent existing manner, which will not be repeated here.
- the prediction point model st in the X-axis direction and the Y-axis direction need to be determined respectively in the direction.
- the terminal device needs to obtain the predicted reporting point model s x ⁇ t in the X-axis direction according to the acquired coordinate information and time information of the multiple historical reporting points in the X-axis direction, and the terminal device also needs to obtain the predicted reporting point model s x ⁇ t in the X-axis direction according to the acquired
- the coordinate information and time information of the multiple historical reporting points in the Y-axis direction are used to obtain the predicted reporting point model s y ⁇ t in the Y-axis direction.
- the terminal device may incorporate predictive model points s x ⁇ t packets and packets prediction model s y ⁇ t points on the Y-axis direction on the X-axis direction, to obtain the final prediction model points reported s ⁇ t. In order to predict the X and Y coordinates of the predicted point according to the final predicted point model s ⁇ t.
- the terminal device may perform prediction based on the predicted point model in the X-axis direction and the Y-axis direction obtained in S502, and obtain at least one predicted point.
- the X-axis and Y-axis coordinates of a possible predicted point at a time point t after the current time t 0 can be obtained, and the position of the predicted point can be obtained through the X-axis and Y-axis coordinates.
- multiple prediction points at different time points can be obtained.
- n prediction points can be predicted, where n is a positive integer. In an example, the number of n can be preset.
- the number of n can also be dynamically changed.
- the terminal device can also calculate the movement speed of the stylus through the corresponding algorithm in the framework layer according to the coordinate information and time information of the reporting point acquired by the native layer. It is understandable that the specific method for calculating the movement speed of the stylus pen can refer to the existing method, which will not be repeated here in this application.
- n can be reduced to n'. For example, n is initially preset to 10, and when the movement speed of the stylus is greater than or equal to the preset movement speed threshold, n can be reduced from 10 to 5.
- the terminal device can also record the first time duration when the movement speed of the stylus is less than the movement speed threshold. If the first time duration is greater than or equal to the preset first stable duration threshold, it can also appropriately set n Increase to n”. For example, n is initially preset to 10, and when the first duration is greater than or equal to the preset first stable duration threshold, n can be increased from 10 to 15. Of course, the specific increase or decrease can be based on actual conditions. The situation is adjusted arbitrarily, and this application is not limited here.
- the number of predicted points n is adjusted, and the error between the predicted points and the actual reported points can also be referred to.
- the terminal device predicts the predicted point location of the current report point, if time t is used as a variable to predict the predicted point location after ⁇ t time, the terminal device will inevitably obtain the true report point location at that time point after ⁇ t time has passed. .
- the terminal device can compare the actual report point position at the time point with the previously predicted predicted point position, and obtain the error between the two positions. When the error is greater than or equal to the preset error threshold, n can be reduced to n'.
- n is initially preset to 10, and when the error is greater than or equal to the preset error threshold, n can be reduced from 10 to 5.
- the terminal device can also record the second time duration when the error is less than the preset error threshold. If the second time duration is greater than or equal to the preset second stable duration threshold, it can also increase n appropriately. Is n”.
- n is initially preset to 10, and when the second duration is greater than or equal to the preset second stable duration threshold, n can be increased from 10 to 15.
- the specific increase or decrease can be based on actual conditions Arbitrary adjustments are not limited in this application.
- the unit of the error threshold can be micrometers or millimeters, etc. Of course, other measurement units can also be used as the unit of the error threshold according to the actual situation, which is not limited in this application. .
- the movement speed of the stylus can be combined with the error between the actual reported point position and the predicted point position to finally adjust the number of predicted points n.
- n can be reduced to n'.
- n is initially preset to 10
- the movement speed of the stylus is greater than or equal to the preset movement speed threshold, or the error is greater than or equal to the preset error threshold, n can be reduced from 10 to 5. Only when the movement speed of the stylus is less than the preset movement speed threshold and the error is less than the preset error threshold, the value of n can be kept unchanged.
- the terminal device may also record that the movement speed of the stylus is less than the preset movement speed threshold, and the error is less than the preset error threshold for a third time period, if the third time period is greater than or equal to the preset third time period.
- n can also be appropriately increased to n".
- n is initially preset to 10
- n can be increased from 10 to 15
- the specific amount of increase or decrease can be adjusted arbitrarily according to the actual situation, which is not limited in this application.
- n is reduced to n'.
- n is initially preset to 10
- the movement speed of the stylus is greater than or equal to the preset movement speed threshold, and the error is greater than or equal to the preset error threshold, n is reduced from 10 to 5.
- the value of n can be kept unchanged.
- the terminal device may also record that the movement speed of the stylus is less than the preset movement speed threshold, or the fourth time period whose error is less than the preset error threshold, if the fourth time period is greater than or equal to the preset fourth time period.
- the stable duration threshold n can also be appropriately increased to n".
- n is initially preset to 10
- the fourth duration is greater than or equal to the preset fourth stable duration threshold, n can be increased from 10 to 15
- the specific amount of increase or decrease can be adjusted arbitrarily according to the actual situation, which is not limited in this application.
- n'obtained after adjusting n is the number of prediction points to be predicted by the terminal device in the next prediction.
- the terminal device when the terminal device is determined by the historical reporting points predicted packets point model in different directions, such as prediction reported site model s x ⁇ t and a prediction packets point model s in the Y-axis direction in the X-axis direction y ⁇ t, since The above model is a function based on time. Therefore, the terminal device can predict the report point at a time point ⁇ t after the latest report point according to the forecast report point model. Predict the coordinates of the predicted point at different time points according to different ⁇ t.
- the latest report point obtained at this time is point b, and the terminal device can predict the coordinate information of the predicted points c1, c2, c3, and c4 at different time points according to the predicted report point model obtained in S502.
- the terminal device can predict the coordinate information of the predicted points c1, c2, c3, and c4 at different time points according to the predicted report point model obtained in S502.
- error adjustment can be added in the above manner to help control the number of calculated prediction points, so that better prediction accuracy can be achieved in subsequent predictions.
- S504 Draw and display at least one predicted point.
- the terminal device reports the at least one predicted point obtained in S503 to the corresponding stylus application in the application layer, and renders the at least one predicted point through the application, and finally displays it on the display screen.
- some of the multiple predicted points can be drawn, or all predicted points can be drawn, and then the drawn predicted points can be displayed.
- the terminal device adjusts the polynomial parameters according to the speed and acceleration information of the historical report point, and estimates the predicted point through a time-based function. It is understandable that when speed and acceleration are used as vectors, they have corresponding directions. Therefore, when the speed and acceleration have directions, the terminal device can also learn polynomial parameters in combination with information such as direction, displacement change, and angle.
- the possible positions of future report points are predicted in advance through historical report points, and the positions of the predicted points are drawn. It realizes that the drawn points are closer to the actual touch points of the stylus, which ensures that the user has better follow-up and better experience when using the stylus.
- FIG. 8 is a schematic diagram of an apparatus for predicting a drawing point of a stylus provided by an embodiment of the application.
- an apparatus 800 for predicting a drawing point of a stylus may include a processor 801, a memory 802, a sensor 803, and a bus 804.
- the processor 801, the memory 802, and the sensor 803 in the device 800 may establish a communication connection through the bus 804.
- the processor 801 may be a CPU.
- the memory 802 may include a volatile memory (volatile memory), such as a random-access memory (RAM); the memory 802 may also include a non-volatile memory (English: non-volatile memory), such as a read-only memory (read-only memory, ROM), flash memory, hard disk drive (HDD), or solid state drive (SSD); the memory 802 may also include a combination of the foregoing types of memory.
- volatile memory such as a random-access memory (RAM)
- non-volatile memory English: non-volatile memory
- read-only memory read-only memory
- ROM read-only memory
- HDD hard disk drive
- SSD solid state drive
- the sensor 803 may be a display with a touch function.
- the sensor 803 may also include an acceleration sensor, a gyroscope, and the like.
- the processor 801 is configured to couple with the memory 802 and read and execute instructions in the memory 802; when the processor 801 is running, the instructions are executed, so that the processor 801 is also used to execute S501 and S504 in FIG. 5 above.
- the above-mentioned device 800 may further include a display for displaying the predicted points drawn in the above-mentioned method.
- the embodiments of the present application also provide a chip system, which can be applied to a terminal as in the foregoing embodiments, and the chip system includes at least one processor and at least one interface circuit.
- the processor may be the processor in the aforementioned terminal.
- the processor and the interface circuit can be interconnected by wires.
- the processor can receive and execute computer instructions from the memory of the above electronic device through the interface circuit.
- the terminal can be made to execute the steps in the above-mentioned embodiments.
- the chip system may also include other discrete devices, which are not specifically limited in the embodiment of the present application.
- the embodiment of the present application also provides a computer-readable storage medium for storing the computer instructions run by the above-mentioned terminal.
- the embodiments of the present application also provide a computer program product, which includes computer instructions run by the aforementioned terminal.
- a person of ordinary skill in the art can understand that all or part of the steps in the method of the foregoing embodiments can be implemented by a program instructing a processor to complete, and the program can be stored in a computer-readable storage medium, which is non-transitory ( English: non-transitory) media, such as random access memory, read-only memory, flash memory, hard disk, solid state drive, magnetic tape (English: magnetic tape), floppy disk (English: floppy disk), optical disc (English: optical disc) And any combination.
- non-transitory English: non-transitory
- media such as random access memory, read-only memory, flash memory, hard disk, solid state drive, magnetic tape (English: magnetic tape), floppy disk (English: floppy disk), optical disc (English: optical disc) And any combination.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请实施例涉及一种预测手写笔绘制点的方法,方法包括:获取手写笔的多个报点;根据多个报点确定预测报点模型;采用预测报点模型进行预测,得到至少一个预测点;绘制至少一个预测点,并将绘制的预测点进行显示。本申请实施例通过历史报点的信息,构造预测报点模型并得到预测点。通过绘制预测点并显示,使得显示的点比实际报点更贴近手写笔的实际触点位置,保障用户使用时可以有更好的跟手性以及手写体验。
Description
本申请要求在2019年11月22日提交国家专利局、申请号为201911155366.5、发明名称为“一种手写输入方法和终端”的中国专利申请的优先权,以及在2020年9月30日提交国家专利局、申请号为202011058380.6、发明名称为“一种预测手写笔绘制点的方法和设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及人工智能(artificial intelligence,AI)应用领域,尤其涉及一种预测手写笔绘制点方法和手写笔。
手写笔是目前平板电脑上最常见到的配件,其经常用于办公时记录笔记、绘画等场景。但是由于手写笔和平板电脑固有的一些特点,导致手写笔在平板电脑上进行书写时与普通笔在纸上进行书写时体验是具有差异性的。手写笔在平板电脑上进行书写时,由于触控、报点和绘制是需要设备进行处理计算的,因此上述过程必然具有一定的时延。显然,若时延较长,则用户在使用时将会看到平板电脑的屏幕上显示的点与手写笔书写的实际位置并不重叠,并且之间具有一定距离。对于用户体验上则意味着手写笔在书写时的跟手性非常不好,严重影响用户体验。
发明内容
本申请实施例提供了一种预测手写笔绘制点的方法,该方法通过历史报点的信息,预测未来报点的位置,并将预测的预测点进行绘制,从而实现绘制显示的点可以比实际报点更靠近手写笔的实际触点位置,保障用户使用时可以有更好的跟手性以及手写体验。
第一方面,提供了一种预测手写笔绘制点的方法,方法包括:获取手写笔的多个报点;根据多个报点确定预测报点模型;采用预测报点模型进行预测,得到至少一个预测点;绘制至少一个预测点,并将绘制的预测点进行显示。本申请实施例通过历史报点的信息,构造预测报点模型并得到预测点。通过绘制预测点并显示,使得显示的点比实际报点更靠近手写笔的实际触点位置,保障用户使用时可以有更好的跟手性以及手写体验。
在一个可能的实施方式中,根据多个报点确定预测报点模型包括:确定多个报点的坐标信息和时间信息,其中坐标信息包括X轴方向的坐标信息和Y轴方向的坐标信息;针对X轴方向、Y轴方向中的每个方向,通过多个报点在该方向上的坐标信息和时间信息,得到该方向上的预测报点模型。
在一个可能的实施方式中,采用预测报点模型进行预测,得到至少一个预测点包 括:针对X轴方向、Y轴方向中的每个方向,根据该方向上的预测报点模型,确定n个预测点在该方向上的坐标信息,其中,n为正整数;根据预测点在X轴方向上的坐标信息和在Y轴方向上的坐标信息,得到n个预测点的坐标信息。
在一个可能的实施方式中,方法还包括:根据多个报点确定手写笔的移动速度;确定预测点与该预测点对应的真实报点之间的误差;根据手写笔的移动速度和误差,将预测点的个数n调整为n’,其中n’为下一次预测时预测点的个数,n’为正整数。本申请实施例还可以结合手写笔的移动速度和/或预测点的误差情况,动态调整预测点的预测个数,保障了预测点不会偏离正确轨迹,从而在用户使用时可以有更好的跟手性以及手写体验。
在一个可能的实施方式中,根据手写笔的移动速度和误差,调整预测点的个数n包括:当手写笔的移动速度小于或等于移动速度阈值,和/或误差大于或等于误差阈值时,减少n个预测点的个数。本申请实施例可以在满足上述条件时,减少预测点预测的数量,从而保障了用户使用时不会使预测点过于偏离正确轨迹,同时可以有更好的跟手性以及手写体验。
在一个可能的实施方式中,获取手写笔的多个报点包括:当手写笔进行绘制时,采集笔尖的触控信息;根据触控信息确定手写笔的多个报点。
在一个可能的实施方式中,绘制至少一个预测点,并将绘制的预测点进行显示,包括:将n个预测点中相邻的两个预测点相连接,绘制形成一条线段;将绘制的线段进行显示。
在一个可能的实施方式中,预测报点模型为二阶泰勒展开式。
第二方面,提供了一种预测手写笔绘制点的设备,设备包括:处理器,用于与存储器耦合,以及读取并执行存储在存储器中的指令;当处理器运行时执行指令,使得处理器还用于:获取手写笔的多个报点;根据多个报点确定预测报点模型;采用预测报点模型进行预测,得到至少一个预测点;绘制至少一个预测点;显示器,用于将绘制的预测点进行显示。本申请实施例通过历史报点的信息,构造预测报点模型并得到预测点。通过绘制预测点并显示,使得显示的点比实际报点更靠近手写笔的实际触点位置,保障用户使用时可以有更好的跟手性以及手写体验。
在一个可能的实施方式中,处理器还用于:确定多个报点的坐标信息和时间信息,其中坐标信息包括X轴方向的坐标信息和Y轴方向的坐标信息;针对X轴方向、Y轴方向中的每个方向,通过多个报点在该方向上的坐标信息和时间信息,得到该方向上的预测报点模型。
在一个可能的实施方式中,处理器还用于:针对X轴方向、Y轴方向中的每个方向,根据该方向上的预测报点模型,确定n个预测点在该方向上的坐标信息,其中,n为正整数;根据预测点在X轴方向上的坐标信息和在Y轴方向上的坐标信息,得到n个预测点的坐标信息。
在一个可能的实施方式中,设备还包括:传感器,用于获取手写笔的触点信息,并根据所述触点信息得到多个所述报点;处理器还用于,根据多个报点确定手写笔的移动速度;确定预测点与该预测点对应的真实报点之间的误差;根据手写笔的移动速度和误差,将测试点的个数n调整为n’,其中n’为下一次预测时预测点的个数,n’ 为正整数。本申请实施例还可以结合手写笔的移动速度和/或预测点的误差情况,动态调整预测点的预测个数,从而保障了用户使用时不会使预测点过于偏离正确轨迹,同时可以有更好的跟手性以及手写体验。
在一个可能的实施方式中,处理器还用于:当手写笔的移动速度小于或等于移动速度阈值,和/或误差大于或等于误差阈值时,减少n个预测点的个数。本申请实施例可以在满足上述条件时,减少预测点预测的数量,从而保障了用户使用时不会使预测点过于偏离正确轨迹,同时可以有更好的跟手性以及手写体验的。
在一个可能的实施方式中,传感器还用于,当手写笔进行绘制时,采集笔尖的触控信息;处理器还用于,根据触控信息确定手写笔的多个报点。
在一个可能的实施方式中,处理器还用于,将n个预测点中相邻的两个预测点相连接,绘制形成一条线段;显示器还用于,将绘制的线段进行显示。
在一个可能的实施方式中,预测报点模型为二阶泰勒展开式。
第三方面,提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当指令在终端上运行时,使得终端执行第一方面任意一项的方法。
第四方面,提供了一种包含指令的计算机程序设备,当其在终端上运行时,使得终端执行第一方面中的任一项的方法。
本申请实施例公开了一种预测手写笔绘制点的方法和设备。通过历史的报点提前预测未来报点可能的位置,并将预测点的位置进行绘制。实现了绘制的点与手写笔实际触点位置更加贴近,保障了用户使用手写笔时具有更好的跟手性、体验更佳。
图1为本申请实施例提供的一种手写笔绘制场景示意图;
图2为手写笔跟手时延示意图;
图3为手写笔绘制、显示过程示意图;
图4为本申请实施例提供的系统框架示意图;
图5为本申请实施例提供的一种预测手写笔绘制点的方法流程图;
图6为泰勒展开式与曲线贴合关系示意图;
图7为本申请实施例提供的一种绘制预测点示意图;
图8为本申请实施例提供的一种预测手写笔绘制点的装置示意图。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
本申请主要应用在用户使用手写笔在移动设备上进行书写或绘画。例如图1示出的场景图,在该场景下用户使用手写笔101在终端设备的显示屏102上进行绘画或写字。此时手写笔101在显示屏102上经过的路径上会显示相应线条,该线条即表示手写笔101所描绘的内容。通常情况下,由于手写笔101是在显示屏102上进行绘画、书写,因此相比采用正常笔在纸上绘画、书写可以立即显示不同的是,终端设备需要根据手写笔101在显示屏102上的触点进行计算后才可绘制出相应线条。显然,终端设备绘制线条的过程是需要时间的。因此当线条绘制完成时,手写笔101的实际触点 位置可能已经向后继续移动了。
例如图2示出的示意图。可以明显看到,手写笔的实际触点与绘制点之间并不是同一个位置,这将导致绘制点绘制并显示时,用户实际触点已经向后移动,对于用户而言,则会出现严重的不跟手现象。其中,触点即手写笔101与显示屏102相接触的点,而绘制点则是终端设备根据触点绘制在显示屏上显示的点。这一现象出现的原因在于,终端设备在进行绘制时,需要获取终端设备物理层根据触点得到的报点,然后再将该报点进行渲染得到绘制点并传输至显示屏上显示得到的绘制点。可以理解的是物理层也可称为底层,本申请中上述两种描述可以任意互用。
然而,手写笔接触显示屏后,显示屏需要一定时间进行响应。同时,显示屏响应后,再到终端设备获取到底层报点之间,也存在一定的时延,即报点时延。以及对物理层上报的报点进行渲染也需要终端设备处理一段时间后才能完成,并最终经显示屏进行显示。因此才导致显示出的绘制点与手写笔的实际触点位置之间会存在一定距离。较为具体地,显示屏在显示绘制点时产生时延的过程可以参考图3示出的示意图。
若终端设备提前进行绘制,则显示出的绘制点与手写笔实际触点又会产生较大偏差,使得用户感觉更差的跟手性。
因此,本申请实施例通过多个历史报点得到预测报点模型,并通过预测报点模型进行预测,再将预测点进行绘制显示,使得显示的点比实际报点更靠近手写笔的实际触点位置,保障用户使用时可以有更好的跟手性以及手写体验。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行详细描述。
图4为本申请实施例提供的系统框架示意图。
通过图4可以看出,该系统架构可以是基于安卓(android)的系统架构,该架构包括本地框架层(native)、框架层(framework)和应用层(application,APP)。native层主要包括一些本地服务和一些链接库等。该层可以通过C和C++语言实现。该层还用于与底层的硬件进行驱动交互,因此,终端设备可以通过该层响应手写笔接触到显示屏的动作,并且获取到显示屏采集到的初始的报点。
在一个例子中,native层获取到的报点可以包括该点的坐标信息和绝对时间。可以理解的是,绝对时间指代国际上通用的世界时,或称格林尼治时间。终端设备的native层在获取到报点之后,还可以对获取到的报点进行去噪处理,并将去噪后的报点发送至framework层的预测报点算法,并通过该算法得到预测报点模型以及预测点。然后经过预测报点应用程序接口(application programming interface,API)将预测点发送至APP层的手写笔应用中。
其中,framework层中还包括系统服务(system server),用于为framework层提供各种可能用到的服务,例如触摸事件(input flinger)。input flinger用于为手写笔在显示屏上移动时在显示屏上发生的事件(event)提供服务支持。当然,framework层还可以包括其它算法,用于完成其它任意可能的功能,并通过相对应的其它API,将数据上传至APP层的其它应用,以完成某种特定的任务。
APP层的手写笔应用通过预测报点API接收到预测的预测点后,可以将接收到的预测点进行渲染并在显示屏上进行显示。在一些例子中,手写笔应用例如可以是备忘录、绘画等应用。
本申请实施例通过在framework层中新增了预测报点API和预测报点算法,使得APP层的手写笔应用可以通过framework层中的预测报点API调用预测报点算法,以便用户在使用手写笔应用时,可以使得绘制的点与手写笔实际触点位置更加贴近,保障了用户使用手写笔时具有更好的跟手性、体验更佳。
基于上述图4示出的框架,本申请实施例还提供了一种预测手写笔绘制点的方法,例如图5所示。
该方法可以应用在终端设备上。本申请实施例所涉及的终端设备可以是具有显示屏的终端设备,该显示屏为具有触摸功能的显示屏。终端设备可以但不限于手机、可穿戴设备、平板电脑、个人数字助理(personal digitalassistant,PDA)、膝上型计算机(laptop)、移动电脑等任意具有触摸功能显示屏的终端设备或便携式终端设备。该方法可以包括以下步骤:
S501,获取手写笔的多个报点。
终端设备首先通过显示屏获取手写笔的多个报点。
在一个例子中,当手写笔在显示屏上接触并滑动后,终端设备可以获取手写笔接触后的多个报点。例如可以获取a个报点。对于a个报点的获取,在一个例子中,可以是当手写笔与终端设备的显示器接触后,终端设备驱动显示器并获取到显示屏的触控信息,并通过获取到的触控信息确定报点。该报点包括坐标信息和时间信息。并将报点上报至framework层,并由framework层中相应的API继续传输至应用层,并通过相应的应用进行绘制并显示在显示屏上。
在一个例子中,终端设备在获取多个报点时,显示器采集触控信息的频率与终端设备获取报点的频率可能不同。例如显示器采集触控信息每秒可以采集500个点,即每2毫秒(ms)采集一个点。而终端设备的获取报点的频率可能是6ms获取一次。因此,对于显示器而言,可以在采集到触控信息后进行记录,并等待终端设备按照其预设的频率进行获取。例如显示器经过6ms保存了3个触控信息,终端设备则本次获取该3个触控信息,并根据获取到的3个触控信息确定3个对应的报点。当然,显示器和终端设备具体的频率可以根据实际情况进行任意设定,本申请在此不作限定。
可以理解的是,每一次手写笔刚开始进行书写、绘画时,对于前a个报点可以不进行预测,而是正常通过终端设备进行绘制显示。其中,a为历史报点的参考个数,可以是预先设置的。例如a可以为10,即终端设备获取最近的10个报点。当然在其它例子中,a还可以为30,即终端设备获取最近的30个报点,本申请不做限定。显然,终端设备在每次手写笔进行书写、绘画的初始阶段,由于历史报点个数可能不足a个,因此并不进行预测,而是在历史报点个数满足a时,再进行后续步骤。可以理解的是,由于终端设备每秒大约可以采集到300多个报点信息,因此,例如30个报点则仅需100毫秒左右即可采集到。若a数值为10个时,则仅需30多毫秒即可完毕。而对于用户而言是非常短暂的,甚至不易察觉,并不会造成严重的延时体验。
当然,在一些例子中,若获取到的报点个数未达到a时,也可以根据现有获取到的报点个数执行后续步骤。或者,在又一些例子中,可以不限制a的数量,而是采用本次写笔进行书写、绘画时的所有报点,执行后续步骤。
S502,根据多个报点确定预测报点模型。
终端设备根据S501获取到的多个报点确定预测报点模型。
在一个例子中,终端设备可以根据S501获取的多个报点,通过机器学习的方式构造预测报点模型。当用户使用手写笔在显示屏上进行书写、绘画的时候,无论采用的是哪种方式,最终都可以将手写笔的移动轨迹抽象为曲线或者直线,也可以统一称之为泛曲线。通常终端设备接收到来自底层的报点都是离散点。因此需要将离散的报点连接成曲线。显然,该曲线即可以看做手写笔的运动轨迹,曲线上的点即运动轨迹上的所有报点。由于手写笔的运动轨迹是随时间变化而变化的,因此,可以将运动轨迹上的点分为X轴方向的坐标和Y轴方向上的坐标。并基于每个方向,分别构建X轴方向和Y轴方向上的时间-坐标函数。可以理解的是,以下描述的函数均需要在X轴方向和Y轴方向这两个方向分别进行构建。
例如可以采用泰勒多项式作为逼近任意一条曲线的函数。泰勒多项式也可以称为泰勒展开式或是泰勒公式,在一个例子中,可以采用泰勒展开式作为初始的预测模型,例如公式1所示,
例如图6所示出的泰勒展开式与曲线的贴合关系。可以看出,当项数为3项、5项、7项、9项、11项、13项、15项、17项、19项、21项时,公式所描绘的曲线与真实曲线的贴合越来越高。可以理解的是,当泰勒展开式的项数越多,则f(t)越可以准确的描绘真实曲线。其中,项数即泰勒展开式中包含的项的个数。
但是由于项数过多则会导致公式变得非常复杂,并且还会使该公式的计算量变大。同时由于项数变多,还可能导致平滑的曲线会出现更多的弯折。显然,若在用户使用手写笔进行书写、绘画时,通常并不希望绘制的线条出现太多弯折。因此在一个例子,可以采用二阶的泰勒展开式作为预测报点模型,由于项数仅为3项,因此既可以保障函数的曲线较为平滑、与手写笔真实的路径相贴合,同时终端设备还可以快速计算该函数曲线,并不会造成严重的时延。
此时二阶泰勒展开式可以如公式2所示,
即
而f(t)即表示在t时刻下某个方向的坐标。其中t
0表示获取到的最新的报点的时间,t表示准备预测的报点的时间,即预测点的时间,在一个例子中,t与t
0可以均采用绝对时间表示。其中,t-t
0可以用Δt表示,即Δt表示预测点与获取到的最新报点之间的时间差。例如当Δt为2毫秒时,f(t)即表示预测最新报点之后2毫秒的预测点的位置。
此时,公式2还可以等效为公式3,即
其中,s
0即f(t
0),表示获取到的最新的报点的坐标位置。由于f(t)是基于时间t的函数,因此,位置s在时间t上的导数则可以表示速度v,而位置s在时间t上的二阶导数则可以表示加速度a。此时,公式3还可以等效为公式4,即
此时,终端设备只需要根据获取到的多个历史的报点的坐标信息和时间信息,通过机器学习的方式计算得到速度v和加速度a,然后便可得到预测报点模型s
Δt即f(Δt)。其中,历史的报点的坐标信息应当包含该报点的X轴坐标以及Y轴坐标。例如,针对X轴方向或Y轴方向,分别可以根据获取到的多个历史报点的位置信息,计算相邻两个报点坐标的变化率,则可以得到相邻两个报点间隔时间内的速度v。若再对速度v求得该相邻两个报点间隔时间内的导数,则可以得到相邻两个报点间隔时间内的加速度a。当然可以理解的是,通过机器学习的方式计算得到速度v和加速度a的方式还可以采用其它任意等效的现有方式进行,在此不再赘述。
可以理解的是,S502中需要在X轴方向和Y轴方向上分别确定该方向上的预测报点模型s
t。也就是说,终端设备需要根据获取到的多个历史报点在X轴方向上的坐标信息和时间信息,得到X轴方向上的预测报点模型s
xΔt,以及终端设备还需要根据获取到的多个历史报点在Y轴方向上的坐标信息和时间信息,得到Y轴方向上的预测报点模型s
yΔt。终端设备可以结合上述X轴方向上的预测报点模型s
xΔt以及Y轴方向上的预测报点模型s
yΔt,得到最终的预测报点模型s
Δt。以便根据最终的预测报点模型s
Δt,预测预测点的X、Y坐标。
S503,采用预测报点模型得到至少一个预测点。
终端设备可以基于S502中得到的X轴方向和Y轴方向上的预测报点模型进行预测,并得到至少一个预测点。在一个例子中,可以基于不同的Δt得到当前时刻t
0之后的某个时间点t可能的预测点的X轴坐标和Y轴坐标,并通过X轴坐标和Y轴坐标得到该预测点的位置。当然,若基于多个不同的Δt,则可以得到多个不同时间点的预测点。例如可以预测n个预测点,其中n为正整数。在一个例子中,n的个数可以预先设置。
当然,在另一个例子中,随着手写笔的移动,n的数量还可以动态变化。例如终端设备还可以根据native层获取到的报点的坐标信息和时间信息,通过framework层中的相应算法计算得到手写笔的移动速度。可以理解的是,具体计算得到手写笔的移动速度的方式可以参考现有方式,本申请在此不再赘述。当手写笔的移动速度大于或等于预设的移动速度阈值时,则可以将n减小为n’。例如,n初始预设为10,则当手写笔的移动速度大于或等于预设的移动速度阈值时,可以将n由10减少至5。当然若手写笔的移动速度小于预设的移动速度阈值时,则可以保持n的数值不变。当然在又一个例子中,终端设备还可以记录手写笔的移动速度小于移动速度阈值的第一时长,若第一时长大于或等于预设的第一稳定时长阈值时,则还可以适当的将n增加为n”。例如n初始预设为10,当第一时长大于或等于预设的第一稳定时长阈值时,可以将n由10增加至15。当然,对于具体增加减少的量可以根据实际情况进行任意调整,本 申请在此不作限定。
在又一个例子中,对于预测点n的数量进行调整,还可以参考预测点与实际报点的误差。当终端设备预测当前报点的预测点位置时,若以时间t为变量,预测Δt时间后的预测点位置,则在终端设备经过Δt时间后,必然可以获取到该时间点的真实报点位置。此时终端设备可以参考该时间点的真实报点位置与之前预测的预测点位置进行比较,并得到两个位置之间的误差。当该误差大于或等于预设的误差阈值时,可以将n减小为n’。例如,n初始预设为10,则该误差大于或等于预设的误差阈值时,可以将n由10减少至5。当然若该误差小于预设的误差阈值时,则可以保持n的数值不变。当然在又一个例子中,终端设备还可以记录该误差小于预设的误差阈值的第二时长,若第二时长大于或等于预设的第二稳定时长阈值时,则还可以适当的将n增加为n”。例如n初始预设为10,当第二时长大于或等于预设的第二稳定时长阈值时,可以将n由10增加至15。当然,对于具体增加减少的量可以根据实际情况进行任意调整,本申请在此不作限定。在一个例子中,误差阈值的单位可以是微米或是毫米等,当然还可以根据实际情况以其它度量单位作为误差阈值的单位,本申请在此不作限定。
再一个例子中,可以结合手写笔的移动速度,以及真实报点位置与预测点位置之间的误差,最终对预测点n的数量进行调整。例如,当存在手写笔的移动速度大于或等于预设的移动速度阈值,或误差大于或等于预设的误差阈值,则可以将n减小为n’。例如,n初始预设为10,则当出现手写笔的移动速度大于或等于预设的移动速度阈值,或误差大于或等于预设的误差阈值,便可以将n由10减少至5。只有当手写笔的移动速度小于预设的移动速度阈值,且误差小于预设的误差阈值时,可以保持n的数值不变。当然在又一个例子中,终端设备还可以记录手写笔的移动速度小于预设的移动速度阈值,且误差小于预设的误差阈值的第三时长,若第三时长大于或等于预设的第三稳定时长阈值时,则还可以适当的将n增加为n”。例如n初始预设为10,当第三时长大于或等于预设的第三稳定时长阈值时,可以将n由10增加至15。当然,对于具体增加减少的量可以根据实际情况进行任意调整,本申请在此不作限定。
或是在另一个例子中,当手写笔的移动速度大于或等于预设的移动速度阈值,且误差大于或等于预设的误差阈值,才将n减小为n’。例如,n初始预设为10,则当手写笔的移动速度大于或等于预设的移动速度阈值,且误差大于或等于预设的误差阈值时,将n由10减少至5。当手写笔的移动速度小于预设的移动速度阈值,或误差小于预设的误差阈值时,可以保持n的数值不变。当然在又一个例子中,终端设备还可以记录手写笔的移动速度小于预设的移动速度阈值,或误差小于预设的误差阈值的第四时长,若第四时长大于或等于预设的第四稳定时长阈值时,则还可以适当的将n增加为n”。例如n初始预设为10,当第四时长大于或等于预设的第四稳定时长阈值时,可以将n由10增加至15。当然,对于具体增加减少的量可以根据实际情况进行任意调整,本申请在此不作限定。
可以理解的是,上述对n进行调整后得到的n’即为终端设备在下一次进行预测时所要预测的预测点个数。
在一个例子中,当终端设备通过历史报点确定出不同方向上的预测报点模型,如X轴方向上的预测报点模型s
xΔt以及Y轴方向上的预测报点模型s
yΔt时,由于上述模型 是基于时间的函数,因此,终端设备可以根据预测报点模型预测出相较于最新的报点之后Δt时间点的报点。根据不同的Δt预测不同时间点的预测点坐标。例如图7所示,此时获取到的最新报点即点b,终端设备可以根据S502中得到的预测报点模型,预测出点不同时间点的预测点c1、c2、c3和c4的坐标信息。当然在一个例子中还可以有更多的预测点,例如n个。
然后,可以通过上述方式加入误差调节,帮助控制计算的预测点个数,以便在后续预测时可以实现更好的预测准确性。
S504,将至少一个预测点进行绘制,并进行显示。
终端设备将S503中得到的至少一个预测点,上报至应用层中相应的手写笔应用中,并通过应用将至少一个预测点进行渲染,最终在显示屏上进行显示。在一个例子中,若预测点为多个,可以绘制多个预测点中的部分预测点,或是将全部预测点进行绘制,然后显示绘制的预测点。
可以理解的是,在进行绘制时不仅仅绘制各个点,换句话说就是不仅仅将获取到的报点以及预测点的位置进行绘制。在一个例子中,若预测点之间位置间隔较远,则可以将相邻的两个预测点之间相连接,从而将S503中获取到的至少一个预测点绘制成一条线段。并通过显示屏显示该线段。当然还可以将首个绘制点与报点之间相连接,从而使得手写笔移动的路径上显示的是一条连贯的线段,而不是断开的多条线段。
此时还可以参考图7,当绘制并显示后,此时显示屏上显示的线段的终点位于c4点,而手写笔的实际触点为d点。可以很清楚的看到,两点之间的距离相较图2的距离减小了很多,也就是跟手时延得到的极大地改善。当然,为了保障预测得到的预测点不会越过手写笔的实际触点,可以预先设置一个预测点个数的上限。使得当预测的预测点最高为预测点个数上限时,仍然不会超过手写笔实际触点的位置。
上述过程通过S502中的公式4可以看出,终端设备根据历史报点的速度、加速度信息调整多项式参数,并通过基于时间的函数来进行预测点的估计。可以理解的是,当速度、加速度作为向量时,则具备了相应的方向。因此,当速度、加速度具有方向时,终端设备还可以结合方向、位移变化、角度等信息,学习多项式参数。
本申请实施例通过历史的报点提前预测未来报点可能的位置,并将预测点的位置进行绘制。实现了绘制的点与手写笔实际触点位置更加贴近,保障了用户使用手写笔时具有更好的跟手性、体验更佳。
图8为本申请实施例提供的一种预测手写笔绘制点的装置示意图。
如图8所示,提供了一种预测手写笔绘制点的装置800,该装置800可以包括处理器801、存储器802、传感器803以及总线804。装置800中的处理器801、存储器802、传感器803可以通过总线804建立通信连接。
处理器801可以为CPU。
存储器802可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器802也可以包括非易失性存储器(英文:non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器,硬盘(hard disk drive,HDD)或固态硬盘(solid state drive,SSD);存储器802还可以包括上述种类的存储器的组合。
传感器803可以是具有触摸功能的显示器。当然传感器803还可以包括加速度传感器、陀螺仪等。
处理器801,用于与存储器802耦合,以及读取并执行存储器802中的指令;当处理器801运行时执行指令,使得处理器801还用于执行上述图5中的S501和S504。
上述装置800还可以包括显示器,用于显示上述方法中绘制的预测点。
本申请实施例还提供一种芯片系统,该芯片系统可以应用于如前述实施例中的终端,该芯片系统包括至少一个处理器和至少一个接口电路。该处理器可以是上述终端中的处理器。处理器和接口电路可通过线路互联。该处理器可以通过接口电路从上述电子设备的存储器接收并执行计算机指令。当计算机指令被处理器执行时,可使得终端执行上述实施例中的各个步骤。当然,该芯片系统还可以包含其他分立器件,本申请实施例对此不作具体限定。
本申请实施例还提供一种计算机可读存储介质,用于存储上述终端运行的计算机指令。
本申请实施例还提供一种计算机程序产品,包括上述终端运行的计算机指令。
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令处理器完成,所述的程序可以存储于计算机可读存储介质中,所述存储介质是非短暂性(英文:non-transitory)介质,例如随机存取存储器,只读存储器,快闪存储器,硬盘,固态硬盘,磁带(英文:magnetic tape),软盘(英文:floppy disk),光盘(英文:optical disc)及其任意组合。
以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (10)
- 一种预测手写笔绘制点的方法,其特征在于,所述方法包括:获取手写笔的多个报点;根据多个所述报点确定预测报点模型;采用所述预测报点模型进行预测,得到至少一个预测点;绘制至少一个所述预测点,并将绘制的所述预测点进行显示。
- 如权利要求1所述的方法,其特征在于,所述根据多个所述报点确定预测报点模型包括:确定多个所述报点的坐标信息和时间信息,其中所述坐标信息包括X轴方向的坐标信息和Y轴方向的坐标信息;针对X轴方向、Y轴方向中的每个方向,通过多个所述报点在该方向上的坐标信息和时间信息,得到该方向上的所述预测报点模型。
- 如权利要求2所述的方法,其特征在于,所述采用所述预测报点模型进行预测,得到至少一个预测点包括:针对所述X轴方向、所述Y轴方向中的每个方向,根据该方向上的所述预测报点模型,确定n个预测点在该所述方向上的坐标信息,其中,n为正整数;根据所述预测点在所述X轴方向上的坐标信息和在所述Y轴方向上的坐标信息,得到n个所述预测点的坐标信息。
- 如权利要求3所述的方法,其特征在于,所述方法还包括:根据多个所述报点确定所述手写笔的移动速度;确定所述预测点与该所述预测点对应的真实报点之间的误差;根据所述手写笔的移动速度和所述误差,将所述预测点的个数n调整为n’,其中n’为下一次预测时预测点的个数,n’为正整数。
- 如权利要求4所述的方法,其特征在于,所述根据所述手写笔的移动速度和所述误差,调整所述预测点的个数n包括:当所述手写笔的移动速度小于或等于移动速度阈值,和/或所述误差大于或等于所述误差阈值时,减少所述n个预测点的个数。
- 如权利要求1所述的方法,其特征在于,所述获取手写笔的多个报点包括:当所述手写笔进行绘制时,采集笔尖的触控信息;根据所述触控信息确定所述手写笔的多个所述报点。
- 如权利要求3所述的方法,其特征在于,所述绘制至少一个所述预测点,并将绘制的所述预测点进行显示,包括:将n个所述预测点中相邻的两个所述预测点相连接,绘制形成一条线段;将绘制的所述线段进行显示。
- 如权利要求1-7任一所述的方法,其特征在于,所述预测报点模型为二阶泰勒展开式。
- 一种预测手写笔绘制点的设备,其特征在于,所述设备包括:处理器、存储器和显示器;所述处理器,用于与所述存储器耦合,以及读取并执行存储在所述存储器中的指令;当所述处理器运行时执行所述指令,使得所述设备还用于执行上述权利要求1-8任意一项所述的方法;显示器,用于显示上述权利要求1-8任意一项所述方法中绘制的预测点。
- 一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,其特征在于,当所述指令在终端上运行时,使得所述终端执行如权利要求1-8任意一项所述的方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US17/778,622 US12353651B2 (en) | 2019-11-22 | 2020-11-23 | Method and device for predicting drawn point of stylus |
| EP20890530.7A EP4047456A4 (en) | 2019-11-22 | 2020-11-23 | METHOD AND APPARATUS FOR PREDICTING THE CHARACTER POINT OF A STYLE |
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201911155366 | 2019-11-22 | ||
| CN201911155366.5 | 2019-11-22 | ||
| CN202011058380.6A CN112835455A (zh) | 2019-11-22 | 2020-09-30 | 一种预测手写笔绘制点的方法和设备 |
| CN202011058380.6 | 2020-09-30 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2021098878A1 true WO2021098878A1 (zh) | 2021-05-27 |
Family
ID=75923563
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2020/130866 Ceased WO2021098878A1 (zh) | 2019-11-22 | 2020-11-23 | 一种预测手写笔绘制点的方法和设备 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US12353651B2 (zh) |
| EP (1) | EP4047456A4 (zh) |
| CN (1) | CN112835455A (zh) |
| WO (1) | WO2021098878A1 (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP7284844B1 (ja) | 2022-03-08 | 2023-05-31 | レノボ・シンガポール・プライベート・リミテッド | 情報処理装置、及び制御方法 |
Families Citing this family (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20220105390A (ko) | 2021-01-20 | 2022-07-27 | 삼성전자주식회사 | 전자 장치 및 전자 장치의 전자 펜 포인터 표시 방법 |
| CN113885733B (zh) * | 2021-10-22 | 2024-06-18 | 深圳市泓宇星科技有限公司 | 一种笔迹轨迹预测方法 |
| WO2023115312A1 (zh) * | 2021-12-21 | 2023-06-29 | 京东方科技集团股份有限公司 | 手写笔迹生成方法、装置、计算机设备和可读介质 |
| CN114327148B (zh) * | 2021-12-31 | 2022-08-12 | 深圳市泓宇星科技有限公司 | 一种笔迹报点预测方法 |
| CN115576477B (zh) * | 2022-01-11 | 2024-07-02 | 荣耀终端有限公司 | 手写输入显示方法、电子设备及存储介质 |
| CN116560555B (zh) * | 2022-01-27 | 2026-01-20 | 荣耀终端股份有限公司 | 手写输入显示方法、电子设备及存储介质 |
| US12360660B2 (en) * | 2023-04-10 | 2025-07-15 | Microsoft Technology Licensing, Llc | Intent and target determination for digital handwriting input |
| CN117406904A (zh) * | 2023-09-26 | 2024-01-16 | 惠州Tcl移动通信有限公司 | 手写笔坐标预测方法、装置、电子设备及计算机存储介质 |
| US12399577B2 (en) * | 2024-01-05 | 2025-08-26 | Google Llc | Stylus three-dimensional trajectory prediction |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102622120A (zh) * | 2011-01-31 | 2012-08-01 | 宸鸿光电科技股份有限公司 | 多点触控面板的触碰轨迹追踪方法 |
| CN103049188A (zh) * | 2012-12-10 | 2013-04-17 | 华映视讯(吴江)有限公司 | 优化触碰轨迹的系统及优化触碰轨迹的方法 |
| US20170153768A1 (en) * | 2012-09-18 | 2017-06-01 | Egalax_Empia Technology Inc. | Prediction-based touch contact tracking |
| CN107436700A (zh) * | 2016-05-26 | 2017-12-05 | 华为终端(东莞)有限公司 | 数据处理方法及装置 |
Family Cites Families (28)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5229551A (en) * | 1991-11-04 | 1993-07-20 | Summagraphics Corporation | Hysteresis compensation for a digitizer tablet |
| CA2167237A1 (en) * | 1995-02-17 | 1996-08-18 | Steven Charles Dzik | Line smoothing techniques |
| JP3052997B2 (ja) * | 1996-01-12 | 2000-06-19 | 日本電気株式会社 | 手書き入力表示装置 |
| US5837947A (en) * | 1996-02-09 | 1998-11-17 | Symbios, Inc. | Method and apparatus for reducing noise in an electrostatic digitizing table |
| US7057615B2 (en) * | 2001-06-28 | 2006-06-06 | Microsoft Corporation | Method and system for representing and displaying digital ink |
| WO2007041523A2 (en) * | 2005-09-30 | 2007-04-12 | Sunfish Studio, Llc | System and method to compute narrow bounds on a modal interval polynomial function |
| US7623998B1 (en) * | 2006-03-01 | 2009-11-24 | Adobe Systems, Inc. | System and method for identifying Bezier curves from a shape |
| US20120050293A1 (en) * | 2010-08-25 | 2012-03-01 | Apple, Inc. | Dynamically smoothing a curve |
| US9542092B2 (en) | 2011-02-12 | 2017-01-10 | Microsoft Technology Licensing, Llc | Prediction-based touch contact tracking |
| US10061997B2 (en) * | 2011-04-11 | 2018-08-28 | Apple Inc. | Handwriting capture techniques |
| CN102890576B (zh) * | 2011-07-22 | 2016-03-02 | 宸鸿科技(厦门)有限公司 | 触控屏触摸轨迹检测方法及检测装置 |
| CN103105957B (zh) | 2011-11-14 | 2016-10-05 | 联想(北京)有限公司 | 显示方法和电子设备 |
| US20130136377A1 (en) * | 2011-11-29 | 2013-05-30 | Samsung Electronics Co., Ltd. | Method and apparatus for beautifying handwritten input |
| US20130271487A1 (en) * | 2012-04-11 | 2013-10-17 | Research In Motion Limited | Position lag reduction for computer drawing |
| WO2014032239A1 (zh) | 2012-08-29 | 2014-03-06 | 华为终端有限公司 | 一种终端设备获取指令的方法及终端设备 |
| KR102043148B1 (ko) * | 2013-02-19 | 2019-11-11 | 엘지전자 주식회사 | 이동 단말기 및 그의 터치 좌표 예측 방법 |
| US9529525B2 (en) * | 2013-08-30 | 2016-12-27 | Nvidia Corporation | Methods and apparatus for reducing perceived pen-to-ink latency on touchpad devices |
| JP2015072534A (ja) * | 2013-10-02 | 2015-04-16 | ソニー株式会社 | 情報処理装置、および情報処理方法、並びにプログラム |
| WO2015075930A1 (en) * | 2013-11-19 | 2015-05-28 | Wacom Co., Ltd. | Method and system for ink data generation, ink data rendering, ink data manipulation and ink data communication |
| US10241599B2 (en) | 2015-06-07 | 2019-03-26 | Apple Inc. | Devices and methods for processing touch inputs |
| WO2017110257A1 (ja) | 2015-12-21 | 2017-06-29 | ソニー株式会社 | 情報処理装置および情報処理方法 |
| US10338807B2 (en) * | 2016-02-23 | 2019-07-02 | Microsoft Technology Licensing, Llc | Adaptive ink prediction |
| GB201618288D0 (en) * | 2016-10-28 | 2016-12-14 | Remarkable As | Interactive displays |
| US10261685B2 (en) * | 2016-12-29 | 2019-04-16 | Google Llc | Multi-task machine learning for predicted touch interpretations |
| CN108885536B (zh) | 2017-03-07 | 2021-05-18 | 华为技术有限公司 | 一种跟手性补偿方法、装置及终端设备 |
| CN107273130B (zh) | 2017-06-20 | 2020-08-04 | 深圳市万普拉斯科技有限公司 | 加速界面绘制的方法、装置和终端 |
| CN108597006B (zh) * | 2018-04-28 | 2019-04-05 | 掌阅科技股份有限公司 | 手写笔迹的绘制方法、计算设备及计算机存储介质 |
| US11119589B2 (en) * | 2018-12-26 | 2021-09-14 | Wacom Co., Ltd. | Stylus and position calculation method |
-
2020
- 2020-09-30 CN CN202011058380.6A patent/CN112835455A/zh active Pending
- 2020-11-23 US US17/778,622 patent/US12353651B2/en active Active
- 2020-11-23 EP EP20890530.7A patent/EP4047456A4/en active Pending
- 2020-11-23 WO PCT/CN2020/130866 patent/WO2021098878A1/zh not_active Ceased
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102622120A (zh) * | 2011-01-31 | 2012-08-01 | 宸鸿光电科技股份有限公司 | 多点触控面板的触碰轨迹追踪方法 |
| US20170153768A1 (en) * | 2012-09-18 | 2017-06-01 | Egalax_Empia Technology Inc. | Prediction-based touch contact tracking |
| CN103049188A (zh) * | 2012-12-10 | 2013-04-17 | 华映视讯(吴江)有限公司 | 优化触碰轨迹的系统及优化触碰轨迹的方法 |
| CN107436700A (zh) * | 2016-05-26 | 2017-12-05 | 华为终端(东莞)有限公司 | 数据处理方法及装置 |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP4047456A1 |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP7284844B1 (ja) | 2022-03-08 | 2023-05-31 | レノボ・シンガポール・プライベート・リミテッド | 情報処理装置、及び制御方法 |
| JP2023131016A (ja) * | 2022-03-08 | 2023-09-21 | レノボ・シンガポール・プライベート・リミテッド | 情報処理装置、及び制御方法 |
| US11989372B2 (en) | 2022-03-08 | 2024-05-21 | Lenovo (Singapore) Pte. Ltd. | Information processing apparatus and controlling method |
Also Published As
| Publication number | Publication date |
|---|---|
| US12353651B2 (en) | 2025-07-08 |
| EP4047456A1 (en) | 2022-08-24 |
| EP4047456A4 (en) | 2022-12-21 |
| US20220413637A1 (en) | 2022-12-29 |
| CN112835455A (zh) | 2021-05-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2021098878A1 (zh) | 一种预测手写笔绘制点的方法和设备 | |
| US11126295B2 (en) | Devices and methods for processing touch inputs | |
| CN103220339B (zh) | 远程操作中的光标轨迹显示方法、装置和系统 | |
| CN107748639A (zh) | 一种曲线的编辑方法、装置、设备和存储介质 | |
| CN109656639B (zh) | 一种界面滚动方法、装置、设备及介质 | |
| CN107608619A (zh) | 用于触控屏的笔迹曲线生成方法、装置、设备和存储介质 | |
| CN113676586B (zh) | 触摸屏的显示方法及终端 | |
| TWI768407B (zh) | 預測控制方法、輸入系統及電腦可讀取記錄媒體 | |
| CN114327234B (zh) | 一种书写轨迹绘制方法及装置 | |
| TWI485582B (zh) | 修正觸碰位置的方法 | |
| CN113641260A (zh) | 触控轨迹预测方法、相关装置、设备及计算机存储介质 | |
| CN117131299A (zh) | 一种基于用户的页面布局方法及装置 | |
| WO2023231717A9 (zh) | 动效生成方法、装置、介质及设备 | |
| WO2021134358A1 (zh) | 人机交互方法、装置和系统 | |
| CN108885556B (zh) | 控制数字输入 | |
| CN110020301A (zh) | 网页浏览方法及装置 | |
| US20190287279A1 (en) | Dynamic Path Modification and Extension | |
| CN116880943A (zh) | 一种基于预览图的长文签署方法、设备及介质 | |
| CN115607967A (zh) | 显示位置调整方法、装置、存储介质与电子设备 | |
| CN113168254A (zh) | 续笔方法与显示终端 | |
| CN115454236A (zh) | 基于机器视觉的手势光标映射方法、网络设备及存储介质 | |
| WO2026020333A1 (zh) | 一种界面交互方法、装置、设备和存储介质 | |
| WO2026085971A1 (zh) | 手势交互控制方法、装置、设备及存储介质 | |
| CN116560557A (zh) | 笔迹显示方法、终端设备及计算机可读存储介质 | |
| CN119536887A (zh) | 样式变换方法、装置、电子设备及计算机存储介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20890530 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2020890530 Country of ref document: EP Effective date: 20220520 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| WWG | Wipo information: grant in national office |
Ref document number: 17778622 Country of ref document: US |


