Pen Position Reporting Buffer for Smooth Pressure-Based Strokes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing pen input systems fail to accurately generate stroke data that reflects non-position data such as pen color and pressure, leading to abrupt changes in line width and transparency, which are aesthetically displeasing.
Innovation Solution
A method and device for deriving pen positions and transmitting reports that include a buffer area to store non-position data, ensuring up-to-date stroke data generation by writing non-position data to previously generated reports, and processing pen pressure values in response to pen-up events to mitigate abrupt changes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If non-position data is transmitted only when obtained from the pen, then the host computer can receive accurate pen pressure and color information, but stroke data cannot be generated for periods when non-position data is not transmitted, resulting in incomplete drawing representation
Solution Approach 1:
The device pre-generates report data structures in advance and fills them with position data as it becomes available. When non-position data (pen pressure, color) is later obtained, the system retroactively fills the corresponding fields in previously generated reports, ensuring complete stroke data without waiting for all information to be available simultaneously.
Solution Approach 2:
A buffer memory structure serves as an intermediary between the periodic position reporting and intermittent non-position data transmission. This buffer holds partially complete report data, allowing the system to maintain continuous stroke data generation while accommodating the asynchronous arrival of pen pressure and color information.
2Measurement precision
If the pen transmits pen pressure value continuously, then the host computer can generate stroke data with accurate line width and transparency, but the transmission data volume increases and processing complexity rises
Solution Approach 1:
Instead of transmitting pen pressure values continuously at every scanning cycle, the system transmits non-position data selectively when changes occur or at optimized intervals. This partial transmission approach maintains sufficient accuracy for stroke rendering while significantly reducing data volume and processing requirements compared to continuous transmission.
3Measurement precision
If pen pressure value changes abruptly at pen-up event, then the system accurately reflects the actual pen lifting action, but the drawn stroke data shows aesthetically displeasing sharp changes in line width and transparency
Solution Approach 1:
The system applies pen pressure smoothing processing in advance before generating stroke data. When abrupt pressure changes are detected (particularly at pen-up events), the system pre-processes these values to create gradual transitions, cushioning the impact of sudden changes and preventing aesthetically displeasing sharp variations in line width and transparency while preserving the essential pen-up detection accuracy.
Data Source
AI summary
A method performed by a device (e.g., touch controller) includes deriving a pen position, and transmitting a report indicating the derived pen position to a host computer. The report includes a first area storing position data indicating the derived position and a second area storing non-position data different from the position data. The method includes securing a buffer area for retaining a plurality of the reports in a memory, deriving the pen position at each determined scanning time, and generating a report including the position data indicating the derived position. The method includes storing the report in the buffer area and, in response to obtaining the non-position data, writing the non-position data in the second area of each of one or more of the reports stored in the buffer area. The method includes transmitting the plurality of the reports stored in the buffer area to the host computer.


