Display device and display method for android system
By adopting the DRM driver architecture in the Android system, the application accesses the panel component to manage the displayed content, avoiding refresh conflicts and achieving synchronization between writing operations and the display screen under low hardware configuration conditions, thus improving the user experience of intelligent blackboards and handwriting tablets.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- BEIJING HITEVISION AIXUE EDUCATION TECH CO LTD
- Filing Date
- 2022-11-29
- Publication Date
- 2026-06-05
AI Technical Summary
Existing intelligent blackboards and writing tablets, with their low hardware configurations, suffer from lag or delays in writing operations and display updates, making them unable to effectively match.
It adopts a DRM driver architecture, accesses panel components through the application, avoids direct manipulation of the video memory buffer, uses rendering components to render content, and outputs to the display device through scanning components, so as to realize the synchronization of writing operations and display screen.
It improves the customer experience of writing display products, reduces or avoids screen flickering, and ensures the synchronization between writing operations and display updates.
Smart Images

Figure CN115756366B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of embedded device technology, and more particularly to a display device and display method for an Android system. Background Technology
[0002] Against the backdrop of educational modernization and informatization, more and more high-tech methods are being integrated with traditional teaching aids. Among existing technologies, intelligent blackboards and intelligent writing boards have emerged to replace traditional teaching tools such as blackboards and whiteboards.
[0003] This intelligent blackboard and intelligent writing board still retain the traditional blackboard writing function. At the same time, it can be combined with various multimedia, human-computer interaction, artificial intelligence and other functions to enhance the teaching scene and greatly improve the teaching quality of today's teachers and the learning efficiency of today's students.
[0004] However, existing intelligent blackboards and intelligent writing tablets also have some unresolved problems. For example, intelligent blackboards and intelligent writing tablets cannot quickly convert handwriting / drawing into words or pictures displayed on the board like physical writing; there are stutters or delays in the writing operation of electronic input devices and the response of electronic displays.
[0005] This technical challenge stems from the overall processing performance of the device. From sensor signal transmission, processor display information refresh, graphics processing unit rendering, to encoding and output, the entire process demands high performance from each hardware component and smooth software logic. For solutions with lower hardware configurations, or for low-priced / low-cost intelligent blackboards and writing tablets, a software logic design is urgently needed to improve the overall system processing speed without upgrading hardware configurations, thereby ensuring a certain degree of match between writing operations and display updates. Summary of the Invention
[0006] In view of at least one deficiency of the prior art, in a first aspect, the present invention provides a display device for an Android system, comprising:
[0007] Application components are configured to rewrite variable values in a preset memory space based on external trigger signals;
[0008] A panel component, comprising one or more panels, is configured to provide an interface for the application component to copy the modified variable value to a video memory buffer, wherein each panel has a corresponding video memory buffer.
[0009] A scanning component is configured to scan the video memory buffer to change the display content of the display device according to the rewritten variable values.
[0010] According to a first aspect of the invention, the scanning component is further configured to:
[0011] Scan the first video memory buffer, wherein the first video memory buffer is created based on parameters of the display device.
[0012] According to a first aspect of the invention, wherein the scanning component is further configured to: output parameters of the display device when the display device is started, and the panel component is further configured to:
[0013] The first video memory buffer is formatted according to the parameters of the display device;
[0014] Obtain the interface of the panel corresponding to the first video memory buffer;
[0015] Based on the interface of the corresponding panel, a mapping relationship is formed between the preset memory space and the first video memory buffer.
[0016] According to a first aspect of the invention, the device further comprises:
[0017] The rendering component is configured to render the contents of the first video memory buffer.
[0018] According to a first aspect of the invention, the panel assembly includes a plurality of panels, and the rendering assembly is further configured to:
[0019] The content in the video memory buffers corresponding to the multiple panels is rendered, and the rendered content is written to the first video memory buffer.
[0020] According to a first aspect of the invention, the rendering component is further configured to:
[0021] Display the contents of at least a portion of the panel's corresponding video memory buffer side-by-side at a preset ratio; or
[0022] Display the contents of at least a portion of the panel's corresponding video memory buffer with a preset transparency; or
[0023] Display the contents of at least some of the panels' memory buffers over the contents of other panels' memory buffers.
[0024] According to a first aspect of the invention, the device further comprises:
[0025] An encoding component, coupled to the scanning component, is configured to convert the scanning result of the scanning component into a timing display signal;
[0026] A connection component, coupled to the encoding component, is configured to output the timing display signal to a display device.
[0027] According to a first aspect of the invention, the display device is implemented by embedding a drm driver architecture in the Android system, or by using a drm driver architecture already included in the Android system.
[0028] Secondly, the present invention also provides a display method for an Android system, comprising:
[0029] The variable values in the preset memory space are rewritten according to the external trigger signal;
[0030] Call the panel interface function to copy the modified variable value to the panel's display memory buffer;
[0031] The video memory buffer is scanned to change the display content of the display device according to the rewritten variable values.
[0032] Thirdly, the present invention also provides a non-transitory computer-readable storage medium having computer-readable instructions stored thereon, which, when executed by a processor, cause the processor to perform the method described in the second aspect above.
[0033] The display device 100 or display method 10 for an Android system provided by one or more embodiments of the present invention adopts a DRM driver architecture, which allows applications to access the display memory buffer instead of directly manipulating it. This unified management of applications avoids refresh conflicts between applications and between applications and the Android system's own refresh mechanism, reducing or eliminating screen flickering. The display device 100 or display method 10 for an Android system provided by one or more embodiments of the present invention directly maps the memory results calculated by the CPU to the display memory buffer through panel identification, and then scans and outputs them to the display device through a scanning component. This achieves synchronization between writing operations and display screen updates, significantly improving the user experience of writing display products. Attached Figure Description
[0034] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings, without exceeding the scope of protection claimed by this application.
[0035] Figure 1 This invention illustrates a display device for an Android system provided by an embodiment of the present invention;
[0036] Figure 2 This invention illustrates a display device for an Android system provided by an embodiment of the present invention;
[0037] Figure 3A This invention illustrates a rendering effect of a rendering component in a display device for an Android system, provided by an embodiment of the present invention.
[0038] Figure 3B This invention illustrates another rendering effect of a rendering component in a display device for an Android system, provided by an embodiment of the present invention.
[0039] Figure 3C This invention illustrates another rendering effect of a rendering component in a display device for an Android system, provided by an embodiment of the present invention.
[0040] Figure 3D This invention illustrates another rendering effect of a rendering component in a display device for an Android system, provided by an embodiment of the present invention.
[0041] Figure 4 This invention illustrates a display device for an Android system provided by an embodiment of the present invention;
[0042] Figure 5 This invention illustrates a display method for an Android system provided by an embodiment of the present invention. Detailed Implementation
[0043] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this application. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0044] When performing writing operations in the Android system, the written content needs to be "moved" to the video memory so that it can be seen on the screen. Different chip products use different writing display technologies, such as different software or hardware architectures.
[0045] Among existing technologies, there are solutions that utilize the Android system's built-in refresh mechanism to complete the writing and display process. For chip products with high hardware performance (strong CPU processing power, high DDR bandwidth, and high GPU computing power), the process using the Android standard interface has virtually no latency, resulting in good display effects. However, for chip products with lower hardware configurations, using the Android system's built-in refresh mechanism will result in noticeable stuttering and latency between the writing operation and the display screen.
[0046] Existing technologies also include standard encapsulation solutions for writing and display, providing upper-layer application developers with a unified interface for UI development. For example, the access layer is encapsulated as a JNI for application calls, allowing direct manipulation of the frame buffer. However, this approach conflicts with Android's refresh mechanism, potentially causing screen flickering. Furthermore, direct manipulation of the frame buffer by the application results in the displaying the image without any rendering processing.
[0047] This invention provides a display device for the Android system. Utilizing a direct rendering manager architecture that interacts with the graphics card, applications access the panel through interface functions, and the manager then operates the framebuffer based on the panel's identifier. Applications do not directly manipulate the framebuffer; operations on the framebuffer are centrally managed, avoiding conflicts between applications and between applications and the system's refresh mechanisms. Furthermore, under the manager's control, the GPU renders the content in the framebuffer corresponding to the panel, avoiding the CPU handling all computational tasks. This prevents issues with low CPU processing power or low DDR memory bandwidth, which could negatively impact the display refresh rate and cause incompatibility between the displayed image and writing operations.
[0048] According to one embodiment of the present invention, such as Figure 1 As shown, the present invention provides a display device 100 for an Android system, including an application component 110, a panel component 120, and a scanning component 130. Wherein:
[0049] Application component 110 is configured to rewrite variable values in a preset memory space based on an external trigger signal. Optionally, application component 110 allocates memory space (i.e., preset memory space) based on parameters of the display device (one or more of the display device's width, height, pixel format, pixel size, and initial pixel value), and rewrites the variable values in the preset memory space in real time. For example: the display device's width * height = 3840 * 260, the pixel format is ARGB, and the initial value is white (255, 255, 255). Application component 110 allocates memory space (i.e., preset memory space) based on the above parameters of the display device, and this preset memory space can accommodate all pixel information on the display device. When application component 110 receives an external trigger signal, for example, the external trigger signal is the writing trajectory of a black pen, and the writing trajectory is a straight line, application component 110 rewrites the variable values in the preset memory space according to the external trigger signal, assigning the pixel value at the corresponding coordinates to black (0, 0, 0). Optionally, the variable values in the preset memory space also include coordinate information with a timestamp.
[0050] Those skilled in the art will readily understand that the external trigger signal can be obtained based on a sensor. The sensor that receives the external trigger signal can be integrated with the display device or can be independent of the display device. All of these implementations are within the protection scope of this invention.
[0051] Panel component 120 includes one or more panels configured to provide an interface for application component 110 to copy modified variable values to video memory, where each panel corresponds to a video memory buffer. Panel component 120 provides an interface for application component 110 to access one or more panels by calling interface functions. Application component 110 cannot directly manipulate the video memory buffer; it can only access the corresponding panel to copy variable values from a preset memory space to the video memory buffer. Essentially, panel component 120 adds a "tag" to the application, avoiding refresh conflicts between different applications or between the application and the Android system.
[0052] The scanning component 130 is configured to scan the video memory buffer to change the display content of the display device according to the rewritten variable value. The scanning component 130 scans the video memory buffer at a preset refresh rate and outputs the content in the video memory buffer to the display device for display. Optionally, one scanning component 130 corresponds to one display device, or there may be multiple display devices, each corresponding to a different scanning component 130, with different scanning components 130 scanning video memory buffers created for different display devices. There may also be cases where different scanning components 130 scan the same video memory buffer, thereby causing the display content to be cloned and displayed on multiple display devices. These embodiments are all within the protection scope of this invention.
[0053] The display device 100 for the Android system provided in the above embodiments of the present invention adopts a direct rendering manager architecture. Applications cannot directly manipulate the video memory buffer; instead, they access the panel through the application, mapping the user space to the corresponding panel's video memory buffer. Then, a scanning component scans the video memory buffer based on the panel information to obtain display information. This avoids conflicts between applications and between applications and the Android system's own refresh mechanism.
[0054] According to an embodiment of the present invention, in the display device 100 for the Android system, the scanning component 130 is further configured to:
[0055] Scan the first video memory buffer, which is created based on parameters of the display device.
[0056] The following describes the specific process of creating the first video memory buffer based on the parameters of the display device.
[0057] First, when the display device is started, the scanning component 130 corresponding to the display device outputs the parameters of the display device. Optionally, the parameters of the display device include one or more of the following: the width, height, pixel format, pixel size, and initial pixel value of the display device.
[0058] After obtaining the parameters of the display device, the panel assembly 120 formats the first video memory buffer according to the parameters of the display device. A video memory buffer (i.e., the first video memory buffer) is created that can hold all the pixel information of the display device.
[0059] Get the interface of the panel corresponding to the created video memory buffer (first video memory buffer). Alternatively, get the panel identifier corresponding to the created video memory buffer (first video memory buffer), and obtain the panel interface based on the panel identifier.
[0060] Based on the interface of the corresponding panel, a mapping relationship is formed between the preset memory space and the first video memory buffer. The application component 110 accesses the corresponding panel by calling the interface function 110, and forms a mapping relationship between the preset memory space applied for storing and rewriting pixel information and the created video memory buffer (first video memory buffer), for example, mmaping the first video memory buffer to the preset memory space.
[0061] The display device 100 for an Android system provided in the above embodiments of the present invention first selects a video memory buffer when the system starts. This video memory buffer is created according to the parameters of the display device, and the panel corresponding to this video memory buffer can be called the main panel. The application accesses the main panel by calling interface functions, forming a mapping relationship between the user space storing and rewriting pixel information and the video memory buffer corresponding to the main panel. When the application writes / rewrites variable information in the user space, the information in the video memory buffer corresponding to the main panel changes. Then, the scanning component scans and promptly reflects the changes in the display screen on the display device, thus accelerating the matching speed between writing operations and display screen refresh.
[0062] According to one embodiment of the present invention, such as Figure 2 As shown, the display device 100 for the Android system further includes: a rendering component 140. Wherein:
[0063] The rendering component 140 is configured to render the contents of the first video memory buffer.
[0064] like Figures 3A-3D As shown, the rendering component 140 renders the contents of the first video memory buffer, including but not limited to:
[0065] 1. Add the contents of the first video memory buffer to the display effects (e.g., Figure 3A (As shown).
[0066] 2. Display the contents of at least a portion of the panel's corresponding video memory buffer side-by-side at a preset ratio (e.g., ...). Figure 3B (As shown).
[0067] 3. Display the contents of at least a portion of the panel's corresponding video memory buffer with a preset transparency (e.g., Figure 3C (As shown).
[0068] 4. Display the content of at least some of the panels' corresponding video memory buffers above the content of other panels' corresponding video memory buffers (e.g., Figure 3D (As shown).
[0069] The application component 110 accesses different panels by calling interface functions, maps different content in the video memory buffers corresponding to different panels (in the video memory spaces created by different panels), and then "overlays" the different content in the video memory buffers corresponding to different panels through the above rendering.
[0070] According to one embodiment of the present invention, the rendering component 140 is further configured to: render the contents in the video memory buffers corresponding to multiple panels, and write the rendered contents into the first video memory buffer. That is, after the rendering component 140 completes one or more of the above-mentioned rendering, it writes the rendered contents into the first video memory buffer, and then scans it through the scanning component 130 and displays it on the display device.
[0071] The display device 100 for an Android system provided in one or more embodiments of the present invention renders the content in a first video memory buffer through a rendering component, or renders (calculates) the content in video memory buffers corresponding to multiple panels through a rendering component, writes the rendering (calculation) result into the first video memory buffer, and then scans the first video memory buffer through a scanning component to output the rendered display content to the display device. In one or more embodiments of the present invention, the rendering component undertakes part of the calculation task, thus eliminating the need to hand over all the calculation tasks to the CPU. Even when the CPU processing power is low, a high refresh rate can still be maintained, accelerating the matching between writing operations and display screen refresh.
[0072] According to an embodiment of the present invention, the panel component 120 includes a cursor panel. The application 110 rewrites the position coordinates of the cursor according to the external mouse signal, and accesses the cursor panel by calling the interface function to transmit the cursor position information. The rendering component 140 overlays the cursor position information onto the display content and writes it into the first video memory buffer.
[0073] According to an embodiment of the present invention, in a display device 100 for an Android system, the external trigger signal includes:
[0074] The user's writing / drawing trajectory on the display device, and / or the user's operations on the display device. These operations include, for example, changing the line thickness or color used for writing / drawing, switching, displaying side-by-side, or overlaying the interfaces used for writing / drawing (corresponding to different panels), etc.
[0075] Optionally, external trigger signals may also include user movement of the cursor.
[0076] Optionally, the external trigger signal is obtained through a sensor that is integrated with or independent of the display device.
[0077] According to an embodiment of the present invention, in the display device 100 for the Android system, the application component 110 is further configured to:
[0078] Switch the panel according to the external trigger signal.
[0079] In this embodiment, the application component 110 can switch panels according to external trigger signals, that is, select different working modes. The application component 110 accesses different panels by calling interface functions and maps the content to be written or operated in the video memory buffers corresponding to different panels (the video memory spaces created by different panels respectively).
[0080] According to one embodiment of the present invention, such as Figure 4 As shown, the display device 100 for the Android system further includes: an encoding component 150 and a connection component 160. Wherein:
[0081] Encoding component 150 is coupled to scanning component 130 and configured to convert the scanning result of scanning component 130 into a timing display signal. Encoding component 150 encodes the scanning result of scanning component 130 into a format suitable for output by a display device, such as a video signal mode.
[0082] The connection component 160 is coupled to the encoding component 150 and configured to output the timing display signal to a display device. The connection component 160 includes, for example, physical connectors such as HDMI, VGA, and DisplayPort.
[0083] According to one embodiment of the present invention, the display device 100 for the Android system is implemented by an embedded DRM driver architecture in the Android system, or by using a DRM driver architecture already included in the Android system. The panel component 120, scanning component 130, encoding component 150, and connection component 160 are all implemented by the DRM driver architecture, the rendering component 140 is implemented by the GPU, and the video memory buffer corresponding to the panel is created on the display storage space.
[0084] The following describes a specific implementation of the display device 100 using the embedded DRM driver architecture in the Android system.
[0085] The DRM standard display driver architecture is embedded into the Android system. One drm_FrameBuffer (video memory buffer) corresponds to one PLANE (panel), and each PLANE receives data from the drm_FrameBuffer. One CRTC (scanning component) can correspond to multiple PLANEs. The PLANEs send data to the CRTC for data scanning, synthesis, encoding, and then display on the screen.
[0086] First, open the DRM device (a device with an embedded DRM driver architecture in the Android system), obtain the CRTC ID (Scanning Component Identifier, configured to output parameter information corresponding to the display) of the current display, and obtain the width, height, and pixel width of the display based on the CRTC ID. Create a drm_FrameBuffer of the corresponding size (width * height * pixel width), obtain the corresponding PLANE ID, and mmap the drm_FrameBuffer to user space (preset memory space). The application can then write in the mmap's user space and actively refresh the corresponding PLANE ID at a preset refresh rate. After writing is complete, issue an exit command and release all allocated resources.
[0087] According to one embodiment of the present invention, such as Figure 5 As shown, the present invention also provides a display method 10 for an Android system, including steps S101 to S103. Wherein:
[0088] In step S101, the variable values in the preset memory space are rewritten according to the external trigger signal.
[0089] In step S102, the panel interface function is called to copy the modified variable value to the panel's display memory buffer.
[0090] In step S103, the video memory buffer is scanned to change the display content of the display device according to the rewritten variable values.
[0091] According to an embodiment of the present invention, the display method 10 for the Android system further includes:
[0092] Scan the first video memory buffer, which is created based on parameters of the display device.
[0093] According to an embodiment of the present invention, the display method 10 for the Android system further includes:
[0094] The first video memory buffer is formatted according to the parameters of the display device.
[0095] Obtain the interface of the panel corresponding to the first video memory buffer.
[0096] The preset memory space is mapped to the first video memory buffer through the interface of the corresponding panel.
[0097] According to an embodiment of the present invention, the display method 10 for the Android system further includes:
[0098] Render the contents of the first video memory buffer.
[0099] According to an embodiment of the present invention, the display method 10 for the Android system further includes:
[0100] The content in the video memory buffers corresponding to multiple panels is rendered, and the rendered content is written to the first video memory buffer.
[0101] According to an embodiment of the present invention, the display method 10 for the Android system further includes:
[0102] Display the contents of at least some of the panels in the video memory buffer side by side at a preset ratio.
[0103] Alternatively, the contents of at least a portion of the panel's corresponding video memory buffer can be overlaid with a preset transparency.
[0104] Alternatively, the contents of at least some of the panels' memory buffers can be displayed floating above the contents of other panels' memory buffers.
[0105] According to an embodiment of the present invention, the display method 10 for the Android system further includes:
[0106] Switch panels based on external trigger signals.
[0107] According to an embodiment of the present invention, the display method 10 for the Android system further includes:
[0108] The result of scanning the video memory buffer is converted into a timing display signal.
[0109] The timing display signal is output to the display device.
[0110] The specific limitations of the above-described display method 10 for the Android system are similar to the specific limitations of the display device 100 for the Android system described above. Please refer to the description of the display device 100 for the Android system above, and it will not be repeated here.
[0111] The display device 100 or display method 10 for an Android system provided by one or more embodiments of the present invention adopts a DRM driver architecture, which allows applications to access the display memory buffer instead of directly manipulating it. This unified management of applications avoids refresh conflicts between applications and between applications and the Android system's own refresh mechanism, reducing or eliminating screen flickering. The display device 100 or display method 10 for an Android system provided by one or more embodiments of the present invention directly maps the memory results calculated by the CPU to the display memory buffer through panel identification, and then scans and outputs them to the display device through a scanning component. This achieves synchronization between writing operations and display screen updates, significantly improving the user experience of writing display products.
[0112] According to one embodiment of the present invention, the present invention also provides a non-transitory computer-readable storage medium having computer-readable instructions stored thereon, which, when executed by a processor, cause the processor to perform the display method 10 for the Android system as described above.
[0113] The embodiments of this application have been described in detail above. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the embodiments above are only for the purpose of helping to understand the method and core ideas of this application. Furthermore, any changes or modifications made by those skilled in the art based on the ideas of this application, and on the specific implementation methods and application scope of this application, are all within the scope of protection of this application. Therefore, the content of this specification should not be construed as a limitation of this application.
Claims
1. A display device for an Android system, characterized in that, include: Application components are configured to rewrite variable values in a preset memory space based on external trigger signals; A panel component, including one or more panels, is configured to provide an interface so that the application component copies the rewritten variable value to a video memory buffer, wherein each panel has a corresponding video memory buffer. A scanning component is configured to scan the video memory buffer to change the display content of the display device according to the rewritten variable values; The scanning component is further configured to: Scan the first video memory buffer, wherein the first video memory buffer is created based on the parameters of the display device and the parameters of the display device are output when the display device is started; The panel assembly is further configured to: The first video memory buffer is formatted according to the parameters of the display device; Obtain the interface of the panel corresponding to the first video memory buffer; Based on the interface of the corresponding panel, a mapping relationship is formed between the preset memory space and the first video memory buffer.
2. The apparatus of claim 1, further comprising: The rendering component is configured to render the contents of the first video memory buffer.
3. The apparatus of claim 2, wherein the panel assembly comprises a plurality of panels, and the rendering assembly is further configured to: The content in the video memory buffers corresponding to the multiple panels is rendered, and the rendered content is written to the first video memory buffer.
4. The apparatus of claim 3, wherein the rendering component is further configured to: Display the contents of at least a portion of the panel's corresponding video memory buffer side-by-side at a preset ratio; or Display the contents of at least a portion of the panel's corresponding video memory buffer with a preset transparency; or Display the contents of at least some of the panels' memory buffers over the contents of other panels' memory buffers.
5. The apparatus of claim 1, further comprising: An encoding component, coupled to the scanning component, is configured to convert the scanning result of the scanning component into a timing display signal; A connection component, coupled to the encoding component, is configured to output the timing display signal to a display device.
6. The apparatus of claim 1, wherein the display device is implemented by an embedded drm driver architecture in the Android system, or by using a drm driver architecture already included in the Android system.
7. A display method for an Android system, characterized in that, include: The variable values in the preset memory space are rewritten according to the external trigger signal; Call the panel interface function to copy the modified variable value to the panel's display memory buffer; Scan the video memory buffer to change the display content of the display device according to the rewritten variable values; Scan the first video memory buffer, wherein the first video memory buffer is created based on parameters of the display device; The first video memory buffer is formatted according to the parameters of the display device; Obtain the interface of the panel corresponding to the first video memory buffer; The preset memory space is mapped to the first video memory buffer through the interface of the corresponding panel.
8. A non-transitory computer-readable storage medium having stored computer-readable instructions thereon, which, when executed by a processor, cause the processor to perform the method of claim 7.