Writing acceleration method and device, equipment and medium

By obtaining and converting touch screen messages and generating writing acceleration trajectory, the delay problem of electronic whiteboards when handling touch events is solved, faster writing experience and accuracy are achieved, and the adaptability and cost problems of hardware acceleration are avoided.

CN119311155APending Publication Date: 2025-01-14NEW H3C INTELLIGENCE TERMINAL CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411369530.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-27
Publication Date
2025-01-14

AI Technical Summary

Technical Problem

Existing electronic whiteboards have long data conversion, verification and processing processes when processing touch events, resulting in writing delays, and poor hardware acceleration adaptability and high cost, making it difficult to reduce writing delays without using hardware acceleration.

Method used

By obtaining the touch screen message and report descriptor of the driver layer, converting it into touch data, generating a writing acceleration track, directly obtaining the touch screen message from the driver layer and using the report descriptor unique to the humanistic interface device to reduce writing delay.

Benefits of technology

It realizes reducing writing delay without using hardware acceleration, improving writing experience and accuracy, and enhancing the user's touch operation processing efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119311155A_ABST
    Figure CN119311155A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of communication equipment, and discloses a writing acceleration method, device and equipment and a medium, the method is applied to touchable equipment, and the touchable equipment is provided with a touch screen; the method comprises the following steps: when a touch screen receives a touch operation, obtaining a touch screen message of a driving layer and a report descriptor corresponding to the touch screen message; converting the touch screen message of the driving layer into touch data of a touch screen according to the report descriptor; the touch data comprises at least one touch coordinate of the touch operation on the touch screen; and generating a writing acceleration track according to the touch data. According to the method, the specific report descriptor of the somatological interface equipment can be used for directly processing the touch screen message, so that the generated writing acceleration track can be more quickly displayed on the touch screen compared with a normal writing track, and the writing delay of the touchable equipment is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of communication equipment, and in particular to a writing acceleration method, device, equipment and medium. Background Art

[0002] An electronic whiteboard is an application for writing on a touch screen. It receives touch events reported by the system and then draws the track of touch movement on the screen.

[0003] Data is received from the bus, reported by the touch screen device, and reaches the whiteboard application to monitor the touch event. In the middle, it includes a long process of data conversion, verification, and processing. Therefore, there will be a significant time difference between the data reception and the application layer monitoring the event. This time difference may vary depending on the specific hardware. In order to reduce the delay, hardware acceleration is usually required, but hardware acceleration has poor adaptability to various platforms and is costly.

[0004] In view of this, a writing acceleration method is needed that can reduce writing delay and enhance writing experience without using hardware acceleration. Summary of the invention

[0005] In view of this, the present invention provides a writing acceleration method to reduce writing delay and enhance writing experience.

[0006] In a first aspect, the present invention provides a writing acceleration method, which is applied to a touchable device having a touch screen; the method comprises: when the touch screen receives a touch operation, obtaining a touch screen message of a driving layer and a report descriptor corresponding to the touch screen message; according to the report descriptor, converting the touch screen message of the driving layer into touch data of the touch screen; the touch data comprises at least one touch coordinate of the touch operation on the touch screen; and generating a writing acceleration trajectory according to the touch data.

[0007] In the embodiment of the present application, the touch screen is used as a human body interface device of a touchable device. When the touch screen receives a touch operation, a corresponding touch screen message is generated in the driver layer. At this time, the touchable device can directly obtain the corresponding touch screen message from the driver layer, as well as the report descriptor corresponding to the touch screen message. Through the report descriptor, the touchable device can directly convert the obtained touch screen message into touch data, that is, at least one touch coordinate on the touch screen, thereby generating a writing acceleration trajectory. The above scheme can directly obtain the touch screen message from the driver layer, and since the touch screen is used as a human body interface device, the report descriptor unique to the human body interface device can be used to directly process the touch screen message, so that the generated writing acceleration trajectory can be displayed on the touch screen faster than the normal writing trajectory, thereby reducing the writing delay of the touchable device.

[0008] In an optional implementation, the touch screen message of the driver layer is converted into touch data of the touch screen according to the report descriptor, including: obtaining the logical range of the touch coordinates according to the report descriptor; determining at least one touch coordinate according to the logical range of the touch coordinates, each point value in the touch screen message and the display parameters of the touch screen.

[0009] In this embodiment, the touch coordinates are determined according to the report descriptor, so as to ensure the accuracy of the touch coordinates, thereby improving the accuracy of the touch operation. The touch coordinates are determined according to the logical range of the touch coordinates, the values ​​of each point in the touch screen message, and the display parameters of the touch screen, so as to improve the writing experience of the user.

[0010] In an optional embodiment, a writing acceleration trajectory is generated based on touch data, including: obtaining a touch state included in a touch operation; the touch state includes at least one of touch down and touch up; and generating a writing acceleration trajectory based on each touch coordinate and the touch state included in the touch operation.

[0011] In this embodiment, by acquiring the touch state and touch coordinates in the touch operation, the user's writing trajectory can be generated in real time, thereby improving the user experience.

[0012] In an optional embodiment, a writing acceleration trajectory is generated according to each touch coordinate and the touch state included in the touch operation, including: when a touch coordinate with a touch state of touch pressing is received, determining whether the contact ID of the touch coordinate is included in the cache list; the contact ID corresponds to the touch operation; if the contact ID of the touch coordinate is not included in the cache list, a pressing trajectory is generated correspondingly at the touch coordinate; if the contact ID of the touch coordinate exists in the cache list, a moving trajectory is generated correspondingly according to the touch coordinate.

[0013] In this embodiment, by determining whether the touch ID of the touch coordinates of the touch is in the cache list, determining to generate a pressing trajectory or a moving trajectory, the user's touch experience can be optimized and the accuracy of writing acceleration trajectory generation can be improved.

[0014] In an optional implementation, generating a corresponding moving track according to the touch coordinates includes: acquiring the touch coordinates and the previous coordinates having the same contact point ID as the touch coordinates; and generating the moving track between the touch coordinates and the previous coordinates.

[0015] In this embodiment, by acquiring the touch coordinates and the previous coordinates of the same contact ID to generate a moving trajectory, the trajectories of different contact IDs can be distinguished, multi-person accelerated drawing can be achieved, and the user experience is improved.

[0016] In an optional implementation, the method further includes: when the touch screen receives a touch operation, processing the touch data of the driver layer through the UI framework layer to generate and display a normal writing trajectory.

[0017] In this embodiment, the user can choose to write a normal trajectory or an accelerated trajectory, which improves the applicability and flexibility of the method and improves the user's writing experience.

[0018] In an optional implementation, the method further includes: displaying the accelerated writing trajectory and maintaining a target duration; the target duration is greater than a delay duration; and the delay duration is the time difference between generating a normal writing trajectory and generating an accelerated writing trajectory.

[0019] In this embodiment, the accelerated writing track is written and maintained for a target duration longer than the delay duration, which can ensure that the normal writing track and the accelerated writing track can be connected and have a small overlap. At the same time, the survival time of the contact point coordinates of the writing accelerated track is limited, which can improve the performance of writing acceleration.

[0020] In a second aspect, the present invention provides a writing acceleration device, which includes: an acquisition module, which is used to acquire the touch screen message of the driving layer and the report descriptor corresponding to the touch screen message when the touch screen receives a touch operation; a conversion module, which is used to convert the touch screen message of the driving layer into touch data of the touch screen according to the report descriptor; the touch data includes at least one touch coordinate of the touch operation on the touch screen; and a generation module, which is used to generate a writing acceleration trajectory according to the touch data.

[0021] In a third aspect, the present invention provides a computer device, comprising: a memory and a processor, the memory and the processor being communicatively connected to each other, the memory storing computer instructions, and the processor executing the writing acceleration method of the first aspect or any corresponding embodiment thereof by executing the computer instructions.

[0022] In a fourth aspect, the present invention provides a computer-readable storage medium having computer instructions stored thereon, the computer instructions being used to enable a computer to execute the writing acceleration method of the first aspect or any corresponding embodiment thereof. BRIEF DESCRIPTION OF THE DRAWINGS

[0023] In order to more clearly illustrate the specific implementation methods of the present invention or the technical solutions in the prior art, the drawings required for use in the specific implementation methods or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some implementation methods of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0024] Figure 1is a schematic diagram of a scene according to an embodiment of the present invention;

[0025] Figure 2 is a schematic diagram of a touch screen data transmission process according to an embodiment of the present invention;

[0026] Figure 3 is a schematic flow chart of a writing acceleration method according to an embodiment of the present invention;

[0027] Figure 4 is a flow chart of another writing acceleration method according to an embodiment of the present invention;

[0028] Figure 5 is a flow chart of another writing acceleration method according to an embodiment of the present invention;

[0029] Figure 6 is a structural block diagram of a writing acceleration device according to an embodiment of the present invention;

[0030] Figure 7 It is a schematic diagram of the hardware structure of a computer device according to an embodiment of the present invention. DETAILED DESCRIPTION

[0031] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present invention.

[0032] Figure 1 A schematic diagram of a scenario applicable to the touch recognition method provided in the embodiment of the present application. Figure 1 , the application scenario includes a touch object and a touchable device 100 .

[0033] The touchable device 100 may be any device that uses a capacitive touch component to implement a touch function, such as a smart interactive tablet, a mobile phone, a tablet computer (pad), a vehicle-mounted device, a wearable device, etc. Figure 1 In the description, the touchable device 100 is taken as a tablet computer as an example.

[0034] The touch-enabled device has a touch screen, and a touch object can touch the touch screen to provide input to the touch-enabled device 100. The touch-enabled device 100 performs an operation in response to the input based on the input of the touch object. The touch object mentioned here can be any object that can perform a touch operation on the touch-enabled device 100, such as a stylus 200, a user's finger 300, etc.

[0035] The stylus pen 200 and the touchable device 100 can be connected by wire or interconnected through a communication network to achieve interaction. The communication network can be, but is not limited to, a short-range communication network such as a WI-FI hotspot network, a WI-FI peer-to-peer (P2P) network, a Bluetooth network, a zigbee network, or a near field communication (NFC) network. It should be understood that when the stylus pen 200 and the touchable device 100 are interconnected through a communication network, the two can each have a communication module and a communication antenna that can establish the communication network. Taking a Bluetooth network as an example, the two can each have a Bluetooth module and a Bluetooth antenna, so that a Bluetooth network can be established using the Bluetooth module and the Bluetooth antenna.

[0036] Please refer to Figure 2 , Figure 2 A schematic diagram of the process of data transmission of a touch screen is provided, and the touch screen is a human body interface device based on USB. When the writing track mode is the normal writing track mode, the data reported by the touch screen device is received from the bus, and then the data is passed through BusFilter.sys, HIDUSB.sys, HIDCLASS.sys, Win32K.sys and WPF framework in sequence, and finally displayed in the whiteboard application. Among them, HIDUSB.sys is a system driver file that allows the human body interface device to communicate with the operating system, HIDCLASS.sys is a class driver for the human body interface device, and can process the touch screen data. Win32K.sys is an important kernel mode driver in the Windows operating system, which is responsible for processing functions such as graphics display, window management and user interaction. The WPF (Windows Presentation Foundation) framework is a UI framework that can process the touch screen data to optimize the writing track.

[0037] A touch screen is an inductive liquid crystal display device that can accept touch input signals. On Windows systems, a touch screen is a human interface device. At the lowest level, the bus driver receives touch data from the touch screen hardware. These data are converted by a series of kernel drivers and finally expressed as system events that can be recognized by the user layer, such as touch press, lift, move, etc.

[0038] An electronic whiteboard is an application for writing on a touch screen. It receives event data such as touch press, lift, and move reported by the system, and draws the touch movement track on the screen. Generally speaking, electronic whiteboards are developed based on the UI (User Interface) framework.

[0039] In the WPF framework, data is received from the bus, reported by the touch screen device, and reaches the whiteboard application to monitor the touch event. In the middle, it includes a long process such as data conversion, verification and processing. Therefore, there will be a significant time difference between the data reception and the application layer monitoring the event. This time difference may vary depending on the specific hardware, ranging from tens to hundreds of milliseconds.

[0040] If the time difference is long, people will notice it clearly, which will greatly reduce the writing experience.

[0041] Therefore, a writing acceleration method is provided in the present application, such as Figure 2 As shown, the touch-enabled device can also use an upper filter driver BusFilter.sys driven by a USBHub to monitor the original touch screen data read by the USB driver layer and forward this data directly to the application layer. The touch-enabled device can then convert the acquired touch screen message into touch data by acquiring the report descriptor corresponding to the touch screen message. Improving the processing efficiency of the touch-enabled device for touch operations, that is, directly generating a writing acceleration track based on the touch data of the driver layer, can reduce the writing delay of the touch-enabled device.

[0042] According to an embodiment of the present invention, an embodiment of a writing acceleration method is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.

[0043] In this embodiment, a writing acceleration method is provided. The method is applied to a touch-enabled device. The touch-enabled device has a touch screen. The touch screen is a human body interface device of the touch-enabled device. Figure 3 is a flowchart of a writing method according to an embodiment of the present invention, such as Figure 3 As shown, the process includes the following steps:

[0044] Step S301: When the touch screen receives a touch operation, a touch screen message of the driver layer and a report descriptor corresponding to the touch screen message are obtained.

[0045] Among them, the touch screen message is data in a specific format used when the touch screen communicates with other electronic devices. The touch screen message includes information such as the coordinates of the touch points and the number of touch points. The structure and content of the touch screen message are defined by the report descriptor.

[0046] After detecting a touch event, the sensor inside the touch screen will collect relevant information about the touch point, including the touch point ID, touch status, and coordinates. Then, according to the format defined by the report descriptor, the relevant information of the touch point is converted into a touch screen message, and then the upper filter driver in the layered driver architecture monitors the touch screen message of the driver layer.

[0047] A layered driver consists of at least two drivers, each of which can create a device object and form a device object stack from high to low. IRP (I / O Request Packets) is usually transmitted to the top device object of the device stack, and then forwarded to the device objects at the lower level along the device stack. When the IRP request ends, the IRP will return along the reverse direction of the device stack.

[0048] In WDM (Windows Driver Model) and WDF (Windows Driver Frameworks), the operation of a device requires at least two device objects to be completed together. One is FDO (Function Device Object) and the other is PDO (Physical Device Object).

[0049] FDO is created by the function driver and attached to PDO (or other FDO). PDO is created by the bus driver and represents the physical device itself. The filter driver located above FDO is called the upper filter driver, and the driver located below FDO is called the lower filter driver. There may be a filter driver between PDO and FDO. The device object created by the filter driver is called FiDO (Filter Device Object).

[0050] After obtaining the report descriptor corresponding to the touch screen message, the message format can be determined by parsing the items in the report descriptor. The report descriptor is used to describe the purpose and format of the data transmitted between the human body interface device and the host. Through the report descriptor, the host can obtain the meaning of the data in the touch screen message. The message format of the touch screen message is not limited, which can expand the application scope of the method.

[0051] The report descriptor can be obtained by monitoring the descriptor of the driver layer. In an actual application, if an 8-byte data request instruction of "81 06 00 22 00 00XX XX" is monitored, the next packet of data returned by the touch screen is the report descriptor corresponding to the touch screen message format. Among them, "81" means that the host requests data input from the touch screen, "06" means that the requested data is a descriptor, "22" means that the requested description is a report descriptor, and "XX XX" means the length of the requested data. The length of the requested data may vary depending on the touch device.

[0052] Step S302: converting the touch screen message of the driver layer into touch data of the touch screen according to the report descriptor; the touch data includes at least one touch coordinate of the touch operation on the touch screen.

[0053] According to the report descriptor, the format of the touch screen message can be determined. By parsing the touch screen message, touch data can be obtained, wherein the touch data includes at least one coordinate of the touch operation on the touch screen, and can also obtain information such as touch status and user ID.

[0054] In an actual application, the touch screen message includes several bytes, each byte represents different touch data, and the touch data includes the touch state of the touch point, the low bit and the high bit of the X coordinate and the Y coordinate, etc.

[0055] After acquiring the touch data, it is also necessary to perform a proportional conversion to convert the touch coordinates into touch screen coordinates. The proportional factor between the touch coordinates and the touch screen coordinates can be determined by calculating the ratio of the screen resolution and the logical maximum value of the touch screen.

[0056] Step S303: Generate a writing acceleration trajectory according to the touch data.

[0057] After acquiring the touch data, the starting point and the ending point of the stroke can be determined according to the touch coordinates and the touch state contained in the touch data, thereby generating a writing acceleration trajectory. The generation method of the writing acceleration trajectory is not limited, and algorithms such as Bezier curves and spline curves can be used to generate a smooth writing trajectory.

[0058] In summary, in the embodiment of the present application, the touch screen is used as a human body interface device of a touchable device. When the touch screen receives a touch operation, a corresponding touch screen message is generated in the driver layer. At this time, the touchable device can directly obtain the corresponding touch screen message from the driver layer, as well as the report descriptor corresponding to the touch screen message. Through the report descriptor, the touchable device can directly convert the obtained touch screen message into touch data, that is, at least one touch coordinate on the touch screen, thereby generating a writing acceleration trajectory. The above scheme can directly obtain the touch screen message from the driver layer, and since the touch screen is used as a human body interface device, the report descriptor unique to the human body interface device can be used to directly process the touch screen message, so that the generated writing acceleration trajectory can be displayed on the touch screen faster than the normal writing trajectory, thereby reducing the writing delay of the touchable device.

[0059] In this embodiment, a writing acceleration method is provided. The method is applied to a touch-sensitive device. The touch-sensitive device has a touch screen. The touch screen is a human body interface device of the touch-sensitive device. Figure 4 is a flow chart of a writing acceleration method according to an embodiment of the present invention. Figure 4 As shown, the process includes the following steps:

[0060] Step S401: When the touch screen receives a touch operation, a touch screen message of the driver layer and a report descriptor corresponding to the touch screen message are obtained.

[0061] For details, please see Figure 3 Step S301 of the illustrated embodiment will not be described in detail here.

[0062] Step S402: converting the touch screen message of the driver layer into touch data of the touch screen according to the report descriptor; the touch data includes at least one touch coordinate of the touch operation on the touch screen.

[0063] Specifically, the above step S402 includes:

[0064] Step S4021, obtaining the logical range of the touch coordinates according to the report descriptor.

[0065] The touch coordinates include the touch horizontal coordinate and the touch vertical coordinate, and the logical range of the touch coordinates includes the numerical range of the touch horizontal coordinate and the numerical range of the touch vertical coordinate. According to the report descriptor, the touch screen message can be parsed to obtain the logical minimum and logical maximum of the touch point horizontal coordinate and the logical minimum and logical maximum of the touch point vertical coordinate from the touch screen message. In this way, the logical range of the touch coordinates can be determined.

[0066] Step S4022: determining at least one touch coordinate according to the logical range of the touch coordinate, the values ​​of each point in the touch screen message, and the display parameters of the touch screen.

[0067] According to the specifications of the touch screen, display parameters of the touch screen are determined, wherein the display parameters of the touch screen include screen resolution and screen zoom ratio, wherein the specifications of the touch screen can be acquired in real time from the touch-enabled device.

[0068] Each point value in the touch screen message represents the coordinate value of each touch point, and the coordinate value of the touch point includes a horizontal coordinate value and a vertical coordinate value.

[0069] According to the logical range of touch coordinates, the values ​​of each point in the touch screen message and the display parameters of the touch screen, the touch coordinates can be determined as shown in the following formula:

[0070] X=Tx / (XLogicMax-XLogicMin)*Width / ratio

[0071] Y=Ty / (YLogicMax-YLogicMin)*Height / ratio

[0072] Among them, X is the touch horizontal coordinate in the touch coordinate, Tx is the horizontal coordinate value of the touch point, XLogicMax is the logical minimum value of the touch point horizontal coordinate, XLogicMin is the logical maximum value of the touch point horizontal coordinate, Width is the screen resolution width of the touch screen, and ratio is the screen zoom ratio. Y is the touch vertical coordinate in the touch coordinate, Ty is the vertical coordinate value of the touch point, YLogicMax is the logical minimum value of the touch point vertical coordinate, YLogicMin is the logical maximum value of the touch point vertical coordinate, and Height is the screen resolution height of the touch screen.

[0073] Step S403: generating a writing acceleration trajectory according to the touch data.

[0074] Specifically, the above step S403 includes:

[0075] Step S4031, acquiring a touch state included in the touch operation; the touch state includes at least one of touch down and touch up.

[0076] In the embodiment of the present application, the touch screen message can be parsed by parsing the report descriptor to directly obtain the touch state. The sensor of the touch screen determines whether the touch state of the touch point is touch-down or touch-up based on the changes in the collected induction quantity. In the case where the touch screen is a resistive touch screen, when the user uses a finger or a stylus to apply enough pressure so that the two conductive layers of the touch screen are in contact, a touch-down touch state is generated. When the user removes the finger or stylus, the two conductive layers separate, the pressure disappears, and a touch-up state is generated.

[0077] Step S4032: Generate a writing acceleration trajectory according to each touch coordinate and the touch state included in the touch operation.

[0078] The touch state included in the touch operation can be used to determine whether the user starts touching, moves touching, or ends touching. Combined with the various touch coordinates, the starting point and ending point of the trajectory can be determined. Then, a writing acceleration trajectory can be generated through relevant algorithms, where the algorithms can be Bezier curves, spline curves, etc.

[0079] Before determining the starting point and the ending point of the trajectory, the touch coordinates may be preprocessed to reduce the jitter of the touch data and the impact on the user's writing experience. The data preprocessing may include denoising, smoothing, and the like.

[0080] In some optional implementations, the above step S4032 includes:

[0081] Step a1: when receiving the touch coordinates of the touch state being touch pressed, determining whether the cache list contains the contact point ID of the touch coordinates; the contact point ID corresponds to the touch operation.

[0082] When receiving the touch coordinates with the touch state being touch pressed, the contact ID of the touch coordinates can be obtained first, and then the contact IDs of all the contacts in the cache list can be traversed to determine whether the contact ID of the touch coordinates is stored in the cache list. If it is stored in the cache list, a confirmation message is returned, and if it is not stored in the cache list, a negative message is returned.

[0083] Step a2: if the cache list does not contain the contact point ID of the touch coordinates, a pressing trajectory is generated correspondingly at the touch coordinates.

[0084] If the cache list does not contain the contact ID of the touch coordinates, it means that the touch is newly generated, the user has just touched the screen, and the contact ID has not been added to the cache list, so a pressing track is generated correspondingly at the touch coordinates.

[0085] Step a3: if the touch point ID of the touch coordinates exists in the cache list, a corresponding moving track is generated according to the touch coordinates.

[0086] If the touch point ID of the touch coordinates exists in the cache list, it means that the same user has not stopped touching the screen, and the movement trajectory can be generated according to the touch coordinates.

[0087] By determining whether the touch ID of the touch coordinates of the touch pressed is in the cache list, determining to generate a pressing trajectory or a moving trajectory, the user's touch experience can be optimized and the accuracy of writing acceleration trajectory generation can be improved.

[0088] In some optional implementations, the above step a3 includes:

[0089] Step a31, obtaining the touch coordinates and the previous coordinates having the same contact point ID as the touch coordinates.

[0090] Among them, the touch coordinates can be obtained by parsing the touch screen message according to the report descriptor. After each acquisition, the touch coordinates can be stored in the cache list and released together with the touch ID after the target time. The previous coordinates with the same touch ID as the touch coordinates can be obtained by reading the cache list.

[0091] Step a32, generating a moving track between the touch coordinates and the previous coordinates.

[0092] By calculating the difference between the touch coordinates and the previous coordinates, the movement vector can be obtained, and then a series of intermediate points are generated according to the touch coordinates and the movement vector to obtain the movement trajectory.

[0093] By obtaining the touch coordinates and previous coordinates of the same contact ID and generating a moving trajectory, the trajectories of different contact IDs can be distinguished, multi-person accelerated drawing can be achieved, and the user experience is improved.

[0094] In summary, in the embodiment of the present application, the touch screen is used as a human body interface device of a touchable device. When the touch screen receives a touch operation, a corresponding touch screen message is generated in the driver layer. At this time, the touchable device can directly obtain the corresponding touch screen message from the driver layer, as well as the report descriptor corresponding to the touch screen message. Through the report descriptor, the touchable device can directly convert the obtained touch screen message into touch data, that is, at least one touch coordinate on the touch screen, thereby generating a writing acceleration trajectory. The above scheme can directly obtain the touch screen message from the driver layer, and since the touch screen is used as a human body interface device, the report descriptor unique to the human body interface device can be used to directly process the touch screen message, so that the generated writing acceleration trajectory can be displayed on the touch screen faster than the normal writing trajectory, thereby reducing the writing delay of the touchable device.

[0095] In this embodiment, a writing acceleration method is provided. The method is applied to a touch-sensitive device. The touch-sensitive device has a touch screen. The touch screen is a human body interface device of the touch-sensitive device. Figure 5 is a flow chart of a writing acceleration method according to an embodiment of the present invention. Figure 5 As shown, the process includes the following steps:

[0096] Step S501, obtaining a writing trajectory mode, wherein the writing trajectory mode includes a normal writing trajectory mode and an accelerated writing trajectory mode.

[0097] The user can select the normal writing track mode and the accelerated writing track mode according to actual needs. If the writing effect of the writing track is required to be higher, the normal writing track mode is selected, and if the writing speed needs to be increased, the accelerated writing track mode is selected.

[0098] Step S502, when the writing trajectory mode is the normal writing trajectory mode, when the touch screen receives a touch operation, the touch data of the driving layer is processed through the UI framework layer to generate and display a normal writing trajectory.

[0099] When the writing track mode is the normal writing track mode, when the touch screen receives a touch operation, the driven touch data is processed through the UI framework layer, where the data processing includes verification, smoothing, noise reduction, contact point merging, etc. Then, each point of the touch data obtained from the UI framework layer is connected with a line segment, and Bezier curves are used at the connection of the line segments to optimize the writing track effect.

[0100] Step S503: when the writing track mode is the accelerated writing track mode, when the touch screen receives a touch operation, a touch screen message of the driver layer and a report descriptor corresponding to the touch screen message are obtained.

[0101] For details, please see Figure 3 Step S301 of the illustrated embodiment will not be described in detail here.

[0102] Step S504: converting the touch screen message of the driver layer into touch data of the touch screen according to the report descriptor; the touch data includes at least one touch coordinate of the touch operation on the touch screen.

[0103] For details, please see Figure 3 Step S302 of the illustrated embodiment will not be described in detail here.

[0104] Step S505: Generate a writing acceleration trajectory according to the touch data.

[0105] For details, please see Figure 3 Step S303 of the illustrated embodiment will not be described in detail here.

[0106] In some optional methods, the accelerated writing trajectory is displayed and maintained for a target duration; the target duration is greater than the delay duration; and the delay duration is the time difference between generating a normal writing trajectory and generating an accelerated writing trajectory.

[0107] Among them, when the touch state in the received touch data is touch pressed or touch moved, the contact point coordinates of this touch event can be used to write the acceleration trajectory, and the generation time of the contact point coordinates can be recorded. After the target time has passed, the contact point coordinates will no longer survive and need to be removed from the touch screen, and the writing trajectory drawn by the touch point will be removed.

[0108] In an actual application, any type of touch screen is used, and for the same touch event, the time when the corresponding touch data is obtained through the UI framework layer is the first time, and the time when the corresponding touch data is directly obtained through the touch screen message of the driver layer is the second time. The difference between the first time and the second time is the delay time. According to the delay time, the survival time of the touch point in the touch data directly obtained through the driver layer can be determined, where the survival time is greater than the delay time. The difference between the survival time and the delay time can be customized by the user. In an actual application, the difference between the survival time and the delay time is 20 milliseconds.

[0109] After the touch data is directly acquired through the driver layer, the generation time of the touch coordinates corresponding to the touch data can be recorded, and after the survival time has passed, the touch coordinates generated this time can be deleted.

[0110] In addition, the touch data obtained through the UI framework layer and the touch screen message directly obtained through the driver layer can independently draw the writing track. When multiple people are writing at the same time, the writing tracks of different users can be maintained according to the touch point ID.

[0111] Writing the accelerated track and maintaining the target duration longer than the delay duration can ensure that the normal writing track and the accelerated writing track can be connected and have a small overlap. At the same time, limiting the survival time of the contact point coordinates of the writing accelerated track can improve the performance of writing acceleration.

[0112] In summary, in the embodiment of the present application, the touch screen is used as a human body interface device of a touchable device. When the touch screen receives a touch operation, a corresponding touch screen message is generated in the driver layer. At this time, the touchable device can directly obtain the corresponding touch screen message from the driver layer, as well as the report descriptor corresponding to the touch screen message. Through the report descriptor, the touchable device can directly convert the obtained touch screen message into touch data, that is, at least one touch coordinate on the touch screen, thereby generating a writing acceleration trajectory. The above scheme can directly obtain the touch screen message from the driver layer, and since the touch screen is used as a human body interface device, the report descriptor unique to the human body interface device can be used to directly process the touch screen message, so that the generated writing acceleration trajectory can be displayed on the touch screen faster than the normal writing trajectory, thereby reducing the writing delay of the touchable device.

[0113] In addition, with the writing acceleration method provided in this embodiment, the user can choose to write a normal trajectory or a writing acceleration trajectory, thereby improving the applicability and flexibility of the method and enhancing the user's writing experience.

[0114] In this embodiment, a writing acceleration device is also provided, which is used to implement the above-mentioned embodiments and preferred implementation modes, and the descriptions that have been made will not be repeated. As used below, the term "module" can be a combination of software and / or hardware that implements a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.

[0115] This embodiment provides a writing acceleration device, such as Figure 6 As shown, including:

[0116] The acquisition module 601 is used to acquire the touch screen message of the driver layer and the report descriptor corresponding to the touch screen message when the touch screen receives a touch operation;

[0117] The conversion module 602 is used to convert the touch screen message of the driver layer into touch data of the touch screen according to the report descriptor; the touch data includes at least one touch coordinate of the touch operation on the touch screen;

[0118] The generating module 603 is used to generate a writing acceleration trajectory according to the touch data.

[0119] In some optional implementations, the conversion module 602 includes:

[0120] The logical range acquisition submodule is used to obtain the logical range of the touch coordinates according to the report descriptor;

[0121] The coordinate determination submodule is used to determine at least one touch coordinate according to the logical range of the touch coordinate, the values ​​of each point in the touch screen message and the display parameters of the touch screen.

[0122] In some optional implementations, the generating module 603 includes:

[0123] A state acquisition submodule, used to acquire a touch state included in the touch operation; the touch state includes at least one of touch down and touch up;

[0124] The acceleration trajectory generation submodule is used to generate a writing acceleration trajectory according to each touch coordinate and the touch state included in the touch operation.

[0125] In some optional implementations, the acceleration trajectory generating unit includes:

[0126] A judgment unit, configured to determine whether the cache list contains a touch point ID of the touch coordinates when receiving a touch coordinate whose touch state is touch pressed; the touch point ID corresponds to the touch operation;

[0127] A first result unit, configured to generate a pressing track at the touch coordinates if the touch point ID of the touch coordinates is not included in the cache list;

[0128] The second result unit is used to generate a corresponding moving track according to the touch coordinates if the touch point ID of the touch coordinates exists in the cache list.

[0129] In some optional embodiments, the second result unit includes:

[0130] A coordinate acquisition subunit, used to acquire the touch coordinates and the previous coordinates having the same contact point ID as the touch coordinates;

[0131] The generation subunit is used to generate a moving track between the touch coordinates and the previous coordinates.

[0132] In some optional embodiments, the writing acceleration device further comprises:

[0133] The normal track writing module 604 is used to process the touch data of the driver layer through the UI framework layer when the touch screen receives a touch operation, and generate and display a normal writing track.

[0134] In some optional embodiments, the writing acceleration device further comprises:

[0135] The delay module 605 is used to display the accelerated writing trajectory and maintain the target duration; the target duration is greater than the delay duration; the delay duration is the time difference between generating the normal writing trajectory and generating the accelerated writing trajectory.

[0136] The further functional description of each of the above modules and units is the same as that of the above corresponding embodiments and will not be repeated here.

[0137] The writing acceleration device in this embodiment is presented in the form of a functional unit, where the unit refers to an ASIC (Application Specific Integrated Circuit) circuit, a processor and memory that executes one or more software or fixed programs, and / or other devices that can provide the above functions.

[0138] The embodiment of the present invention also provides a computer device having the above Figure 6 The writing acceleration device shown.

[0139] See also Figure 7 , Figure 7 is a schematic diagram of the structure of a computer device provided by an optional embodiment of the present invention, such as Figure 7As shown, the computer device includes: one or more processors 10, a memory 20, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. Various components are connected to each other using different buses for communication, and can be installed on a common mainboard or installed in other ways as needed. The processor can process the instructions executed in the computer device, including instructions stored in or on the memory to display the graphical information of the GUI on an external input / output device (such as, a display device coupled to the interface). In some optional embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Similarly, multiple computer devices can be connected, and each device provides some necessary operations (for example, as a server array, a group of blade servers, or a multi-processor system). Figure 7 A processor 10 is taken as an example.

[0140] The processor 10 may be a central processing unit, a network processor or a combination thereof. The processor 10 may further include a hardware chip. The hardware chip may be a dedicated integrated circuit, a programmable logic device or a combination thereof. The programmable logic device may be a complex programmable logic device, a field programmable gate array, a general purpose array logic or any combination thereof.

[0141] The memory 20 stores instructions executable by at least one processor 10, so that at least one processor 10 executes the method shown in the above embodiment.

[0142] The memory 20 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function; the data storage area may store data created according to the use of the computer device, etc. In addition, the memory 20 may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some optional embodiments, the memory 20 may optionally include a memory remotely arranged relative to the processor 10, and these remote memories may be connected to the computer device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0143] The memory 20 may include a volatile memory, such as a random access memory; the memory may also include a non-volatile memory, such as a flash memory, a hard disk or a solid state drive; the memory 20 may also include a combination of the above types of memory.

[0144] The computer device also includes an input device 30 and an output device 40. The processor 10, the memory 20, the input device 30 and the output device 40 may be connected via a bus or other means. Figure 7 The example of connecting through bus is taken in the following.

[0145] The input device 30 can receive input digital or character information, and generate key signal input related to the user settings and function control of the computer device, such as a touch screen, a keypad, a mouse, a track pad, a touch pad, an indicator bar, one or more mouse buttons, a trackball, a joystick, etc. The output device 40 may include a display device, an auxiliary lighting device (e.g., an LED) and a tactile feedback device (e.g., a vibration motor), etc. The above-mentioned display device includes but is not limited to a liquid crystal display, a light emitting diode, a display and a plasma display. In some optional embodiments, the display device can be a touch screen.

[0146] The embodiment of the present invention also provides a computer-readable storage medium. The method according to the embodiment of the present invention can be implemented in hardware, firmware, or can be implemented as a computer code that can be recorded in a storage medium, or can be implemented as a computer code that is originally stored in a remote storage medium or a non-temporary machine-readable storage medium and will be stored in a local storage medium through a network download, so that the method described herein can be stored in such software processing on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only storage memory, a random access memory, a flash memory, a hard disk or a solid-state hard disk, etc.; further, the storage medium can also include a combination of the above types of memories. It can be understood that a computer, a processor, a microprocessor controller, or programmable hardware includes a storage component that can store or receive software or computer code. When the software or computer code is accessed and executed by a computer, a processor, or hardware, the method shown in the above embodiment is implemented.

[0147] A part of the present invention may be applied as a computer program product, such as a computer program instruction, which, when executed by a computer, can call or provide the method and / or technical solution according to the present invention through the operation of the computer. Those skilled in the art should understand that the existence of the computer program instruction in a computer-readable medium includes, but is not limited to, a source file, an executable file, an installation package file, etc., and accordingly, the way in which the computer program instruction is executed by the computer includes, but is not limited to: the computer directly executes the instruction, or the computer compiles the instruction and then executes the corresponding compiled program, or the computer reads and executes the instruction, or the computer reads and installs the instruction and then executes the corresponding installed program. Here, the computer-readable medium may be any available computer-readable storage medium or communication medium accessible to the computer.

[0148] Although the embodiments of the present invention have been described in conjunction with the accompanying drawings, those skilled in the art may make various modifications and variations without departing from the spirit and scope of the present invention, and such modifications and variations are all within the scope defined by the appended claims.

Claims

1. A writing acceleration method, characterized in that: The method is applied to a touchable device, and the touchable device has a touch screen; the method comprises: When the touch screen receives a touch operation, a touch screen message of the driver layer and a report descriptor corresponding to the touch screen message are obtained; According to the report descriptor, the touch screen message of the driver layer is converted into touch data of the touch screen; the touch data includes at least one touch coordinate of the touch operation on the touch screen; A writing acceleration trajectory is generated according to the touch data.

2. The method according to claim 1, characterized in that The step of converting the touch screen message of the driver layer into touch data of the touch screen according to the report descriptor includes: According to the report descriptor, obtaining the logical range of the touch coordinates; The at least one touch coordinate is determined according to the logic range of the touch coordinate, each point value in the touch screen message, and the display parameter of the touch screen.

3. The method according to claim 2, characterized in that Generating a writing acceleration trajectory according to the touch data includes: Acquire a touch state included in the touch operation; the touch state includes at least one of touch down and touch up; The writing acceleration trajectory is generated according to each of the touch coordinates and the touch state included in the touch operation.

4. The method according to claim 3, characterized in that The step of generating the writing acceleration trajectory according to each of the touch coordinates and the touch state included in the touch operation includes: When receiving the touch coordinates of the touch state being touch pressed, determining whether the cache list contains the contact point ID of the touch coordinates; the contact point ID corresponds to the touch operation; If the contact point ID of the touch coordinates is not included in the cache list, a pressing track is generated correspondingly at the touch coordinates; If the touch point ID of the touch coordinates exists in the cache list, a corresponding movement trajectory is generated according to the touch coordinates.

5. The method according to claim 4, characterized in that Generating a movement trajectory according to the touch coordinates includes: Acquire the touch coordinates and the previous coordinates having the same contact point ID as the touch coordinates; A movement track is generated between the touch coordinates and the previous coordinates.

6. The method according to any one of claims 1 to 5, characterized in that: The method further comprises: When the touch screen receives a touch operation, the touch data of the driver layer is processed through the UI framework layer to generate and display a normal writing trajectory.

7. The method according to claim 6, characterized in that The method further comprises: Display the accelerated writing trajectory and maintain the target duration; the target duration is greater than the delay duration; the delay duration is the time difference between generating the normal writing trajectory and generating the accelerated writing trajectory.

8. A writing acceleration device, characterized in that: The device comprises: An acquisition module, used for acquiring a touch screen message of a driver layer and a report descriptor corresponding to the touch screen message when the touch screen receives a touch operation; A conversion module, configured to convert the touch screen message of the driver layer into touch data of the touch screen according to the report descriptor; the touch data includes at least one touch coordinate of the touch operation on the touch screen; A generating module is used to generate a writing acceleration trajectory according to the touch data.

9. A computer device, characterized in that: include: A memory and a processor, wherein the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the writing acceleration method according to any one of claims 1 to 7 by executing the computer instructions.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the writing acceleration method according to any one of claims 1 to 7.