A display method, system, and storage medium
By introducing an image processing module and a display processing module into the control device, and adopting a double buffer exchange mechanism and SPR algorithm, the screen flickering problem of field-sequence LCD screens was solved, achieving screen continuity and full utilization of graphics card rendering capabilities, thus improving the user experience.
Patent Information
- Application Number
- CN202310753200.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-25
- Publication Date
- 2025-10-28
- Estimated Expiration
- 2043-06-25
AI Technical Summary
Field-sequence based LCD screens are prone to screen flicker at high refresh rates, resulting in a poor user experience and underutilization of the graphics card's rendering capabilities.
By introducing an image processing module and a display processing module into the control device, and adopting a double buffer exchange mechanism, the image rendering and display processes are executed separately to ensure that texture data and backlight data are displayed synchronously, and the SPR algorithm is used for subpixel rendering.
It achieves screen continuity, avoids screen flickering, makes full use of the graphics card's rendering capabilities, and improves the user experience.
Smart Images

Figure CN116798371B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of display technology, and more particularly to a display method, system, and storage medium. Background Technology
[0002] With the continuous development of display technology, VR (Virtual Reality) has become a new display method, featuring high resolution, immersive experience, and strong interactivity. Traditional VR screens mostly use LCD (Liquid Crystal Display) technology. When the pixel count of an LCD is insufficient, a screen-door effect occurs, causing users to see small square grids when wearing VR devices, affecting the user experience. To solve the screen-door effect, field-sequence based LCD screens emerged. However, field-sequence based LCD screens process images by splitting an image into multiple subframes and then combining these subframes into a single color image. This means that the refresh rate of a field-sequence based LCD screen is at least three times that of a traditional screen. Such a high refresh rate places higher demands on the graphics card required for rendering the image. When a synchronization signal arrives, if the graphics card has not yet completed processing the current subframe, the screen will display a repeated subframe from the previous display, resulting in screen flickering and severely impacting the user experience. Summary of the Invention
[0003] The present invention aims to solve at least one of the technical problems existing in the prior art, and proposes a display method, system and storage medium.
[0004] To achieve the above objectives, one aspect of the present invention provides a display method applied to a control device, the control device including an image processing module and an image display processing module; the image display processing module includes a control unit and a display processing unit. The method specifically includes the following steps:
[0005] The display processing unit acquires multi-frame texture data corresponding to the Nth frame original image from the second buffer frame by frame, and acquires backlight data corresponding to the multi-frame texture data corresponding to the Nth frame original image, and performs display in response to the synchronization signal; the first buffer stores multi-frame texture data corresponding to the (N+1)th frame original image; N is a positive integer; the number of frames of the texture data corresponds to the number of sub-pixels in the pixel unit of the original image;
[0006] After displaying the multi-frame texture data corresponding to the current Nth frame of the original image, the display processing unit sends an exchange signal to the control unit.
[0007] In response to the exchange signal, the control unit swaps the pointers of the first buffer and the second buffer;
[0008] After the control unit exchanges the pointers of the first buffer and the second buffer, it sends a rendering signal to the image processing module; the display processing unit obtains the texture data corresponding to the original image of the N+1th frame from the first buffer frame by frame, and obtains the backlight data corresponding to the texture data of the original image of the N+1th frame, and displays it in response to the synchronization signal;
[0009] In response to the rendering signal, the image processing module acquires the original image of the (N+2)th frame, parses and renders it to obtain multi-frame texture data corresponding to the original image of the (N+2)th frame, calculates the backlight data corresponding to the multi-frame texture data corresponding to the original image of the (N+2)th frame, and stores the multi-frame texture data corresponding to the original image of the (N+2)th frame in the second buffer.
[0010] In some embodiments, the display processing unit includes: a backlight display processing subunit and an image display processing subunit;
[0011] In the method, when displaying each frame of the original image, the image display processing subunit acquires multi-frame texture data corresponding to the original image, and the backlight display processing subunit acquires backlight data corresponding to the multi-frame texture data corresponding to the original image, and displays it in response to a synchronization signal; when displaying the texture data and the backlight data corresponding to the texture data in response to the synchronization signal, the start time of displaying the texture data is earlier than the start time of displaying the backlight data corresponding to the texture data.
[0012] In some embodiments, the image display processing subunit acquires multi-frame texture data corresponding to the original image, and the backlight display processing subunit acquires backlight data corresponding to the multi-frame texture data corresponding to the original image. The step of displaying the data in response to a synchronization signal includes:
[0013] The image display processing subunit acquires multi-frame texture data corresponding to the original image, and the backlight display processing subunit acquires backlight data corresponding to the multi-frame texture data corresponding to the original image. In response to the synchronization signal, the image display processing subunit sends the texture data to the screen frame by frame for display, and the backlight display processing subunit sends the backlight data corresponding to the texture data to the backlight frame by frame for display.
[0014] In some implementations, in the method, when displaying every two frames of texture data, the image display processing subunit responds to the first rendering command to obtain the current frame texture data, and the backlight display processing subunit obtains the backlight data corresponding to the current frame texture data.
[0015] In response to the first synchronization signal, the image display processing subunit sends the current frame texture data to the screen for display and sends the first backlight output signal to the backlight display processing subunit.
[0016] In response to the first backlight output signal, the backlight display processing subunit sends the backlight data corresponding to the current frame texture data to the backlight for display, and sends a second rendering command to the image display processing subunit.
[0017] The image display processing subunit responds to the second rendering command and obtains the next frame texture data, and the backlight display processing subunit obtains the backlight data corresponding to the next frame texture data;
[0018] The image display processing subunit responds to the second synchronization signal by sending the next frame texture data to the screen for display frame by frame, and sends the second backlight output signal to the backlight display processing subunit.
[0019] The backlight display processing subunit responds to the second backlight output signal by sending the backlight data corresponding to the next frame texture data to the backlight for display.
[0020] In some embodiments, the image processing module includes an image rendering unit and a backlight calculation unit;
[0021] In the method, when displaying each frame of the original image, the image rendering unit responds to the rendering signal, acquires the original image, parses it to obtain multiple sub-frame images corresponding to the original image, renders the texture data corresponding to the sub-frame images in sequence, and stores it; the number of sub-frame images corresponds to the number of sub-pixels in the pixel unit of the original image;
[0022] The backlight calculation unit performs calculations on multiple sub-frame images to obtain corresponding backlight data, and then stores it.
[0023] In some implementations, the step of sequentially rendering the texture data corresponding to the subframe images includes:
[0024] The corresponding texture data is obtained by sequentially calculating the sub-frame images using a rendering algorithm;
[0025] The step of calculating the corresponding backlight data for multiple sub-frame images includes:
[0026] The backlight calculation algorithm is used to calculate the corresponding backlight data of multiple sub-frame images.
[0027] In some implementations, the step of calculating the corresponding backlight data by using a backlight calculation algorithm on the subframe image includes:
[0028] The subframe image is calculated using a brightness compensation algorithm to obtain the compensated subframe image;
[0029] The corresponding backlight data is obtained by calculating the compensated subframe image using a backlight calculation algorithm.
[0030] In some implementations, the sub-pixels in the pixel unit of the original image are red, green, and blue, respectively.
[0031] In another aspect, the present invention provides a display system including a control device, the control device comprising an image processing module and an image display processing module; the image display processing module comprising a control unit and a display processing unit; wherein,
[0032] The display processing unit is configured to acquire multi-frame texture data corresponding to the Nth frame original image from the second buffer frame by frame, and acquire backlight data corresponding to the multi-frame texture data corresponding to the Nth frame original image, and perform display in response to a synchronization signal; the first buffer stores multi-frame texture data corresponding to the (N+1)th frame original image; N is a positive integer;
[0033] The display processing unit is also used to send an exchange signal to the control unit after displaying the multi-frame texture data corresponding to the current Nth frame original image;
[0034] The control unit is configured to swap the pointers of the first buffer and the second buffer in response to the swap signal;
[0035] The control unit is further configured to send a rendering signal to the image processing module after the pointers of the first buffer and the second buffer are exchanged; the display processing unit is further configured to obtain the texture data corresponding to the original image of the N+1th frame from the first buffer frame by frame, and obtain the backlight data corresponding to the texture data corresponding to the original image of the N+1th frame, and display it in response to the synchronization signal.
[0036] The image processing module is configured to, in response to the rendering signal, acquire the original image of the (N+2)th frame, parse and render it to obtain multi-frame texture data corresponding to the original image of the (N+2)th frame, calculate the backlight data corresponding to the multi-frame texture data corresponding to the original image of the (N+2)th frame, and store the multi-frame texture data corresponding to the original image of the (N+2)th frame in the second buffer.
[0037] In some embodiments, the display processing unit includes: a backlight display processing subunit and an image display processing subunit;
[0038] When displaying each frame of the original image, the image display processing subunit is used to acquire multi-frame texture data corresponding to the original image, and the backlight display processing subunit is used to acquire backlight data corresponding to the texture data. In response to the synchronization signal, the display is performed. When displaying the texture data and the backlight data corresponding to the texture data in response to the synchronization signal, the start time of displaying the texture data is earlier than the start time of displaying the backlight data corresponding to the texture data.
[0039] In some implementations, in the system, when displaying every two frames of texture data,
[0040] The image display processing subunit is used to obtain the current frame texture data in response to the first rendering command, and the backlight display processing subunit is used to obtain the backlight data corresponding to the current frame texture data.
[0041] The image display processing subunit is used to respond to the first synchronization signal, send the current frame texture data to the screen for display, and send the first backlight output signal to the backlight display processing subunit.
[0042] The backlight display processing subunit is used to respond to the first backlight output signal, send the backlight data corresponding to the current frame texture data to the backlight for display, and send a second rendering command to the image display processing subunit.
[0043] The image display processing subunit is used to obtain the next frame texture data in response to the second rendering command, and the backlight display processing subunit is used to obtain the backlight data corresponding to the next frame texture data;
[0044] The image display processing subunit is used to respond to the second synchronization signal, send the next frame texture data to the screen for display frame by frame, and send the second backlight output signal to the backlight display processing subunit.
[0045] The backlight display processing subunit is used to respond to the second backlight output signal and send the backlight data corresponding to the next frame texture data to the backlight for display.
[0046] In some implementations, the image processing module includes an image rendering unit and a backlight calculation unit; when displaying each frame of the original image,
[0047] The image rendering unit is configured to, in response to the rendering signal, acquire the original image, parse it to obtain multiple sub-frame images corresponding to the original image, render the texture data corresponding to the sub-frame images in sequence, and store them; the number of sub-frame images corresponds to the number of sub-pixels in the pixel unit of the original image;
[0048] The backlight calculation unit is used to calculate the corresponding backlight data for multiple sub-frame images and store it.
[0049] In another aspect of the present invention, a storage medium is provided, which stores a computer program that, when executed by a processor, implements the above-described method steps. Attached Figure Description
[0050] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other embodiments can be obtained based on these drawings without creative effort.
[0051] Figure 1 This is an exemplary field sequence display system;
[0052] Figure 2 for Figure 1 The display method of the field sequence display system;
[0053] Figure 3 yes Figure 2 The timing diagram corresponding to the display method of the field sequence display system;
[0054] Figure 4 This is a flowchart of a display method according to an embodiment of the present disclosure;
[0055] Figure 5 This is a schematic diagram of a method for rendering and calculating an image according to an embodiment of the present disclosure;
[0056] Figure 6 This is a flowchart of another display method according to an embodiment of the present disclosure;
[0057] Figure 7 This is a timing diagram of a display method according to an embodiment of the present disclosure;
[0058] Figure 8This is a schematic diagram of a display system according to an embodiment of the present disclosure. Detailed Implementation
[0059] To make the objectives, technical solutions, and advantages of the present invention clearer, the embodiments of the present invention will be further described in detail below with reference to specific examples and the accompanying drawings.
[0060] It should be noted that all uses of "first" and "second" in the embodiments of the present invention are for the purpose of distinguishing two entities or parameters with the same name but different names. It is clear that "first" and "second" are only for the convenience of expression and should not be construed as limiting the embodiments of the present invention. Subsequent embodiments will not explain this in detail.
[0061] Figure 1 This is an exemplary field-sequence display system. The field-sequence display system includes: a screen, a backlight, a processor (Central Processing Unit, CPU), and a graphics processing unit (GPU). The GPU sends the rendered image to the screen, and the processor sends backlight data to the backlight; both send data simultaneously. The screen receives the rendered image from the GPU and displays it, while the backlight receives the backlight data from the processor and displays it. When three subframe images enter the human eye and are projected onto the retina within a certain time, the human eye sees a color image due to the persistence of vision.
[0062] Figure 2 yes Figure 1 The display method of the field-sequence display system is as follows: The processor sends rendering commands to the graphics card. The graphics card receives and caches the rendering commands, with each rendering command corresponding to a subframe image; it waits for the vsync signal (vertical synchronization signal), and in response to the vsync signal, retrieves the first cached rendering command, and renders the subframe images corresponding to the original image frame by frame based on the rendering command, and displays the images after rendering is complete. However, if the subframe is not rendered when the vsync signal arrives, the graphics card will send the subframe image that has already been displayed to the screen for display. At this time, the image displayed on the screen will be disordered, resulting in flickering.
[0063] Figure 3 yes Figure 2 The timing diagram for the display method of the field-sequence display system is shown below. The diagram has four timelines representing the CPU, GPU, screen, and backlight, respectively. The CPU is responsible for submitting rendering commands and sending backlight signals, while the GPU is responsible for executing rendering commands and displaying the image. A complete display timing diagram is as follows:
[0064] When the vsync signal arrives, the rendered and ready-to-display image of the previous subframe is sent to the screen via DP (DisplayPort), at which point the screen begins to display the current image. Then, the CPU sends backlight data to the backlight, and after sending the backlight data, it submits the rendering command for the next frame to the graphics card. The graphics card, upon receiving the rendering command, begins rendering the image and waits for the vsync signal to arrive. In one example, as shown in frame 3, the screen has already begun displaying the image of the second frame. After the CPU submits the rendering command, the GPU begins rendering, but due to the complexity of the current image, it cannot complete rendering within a single subframe. Therefore, when the vsync signal arrives, the screen still displays the image of the previous subframe, but the backlight displays the backlight data for the current frame. After the GPU finishes displaying the image of the previous subframe, it continues rendering the unfinished image from the previous frame. The calculated image of the current subframe is displayed when the next vsync signal arrives. At this point, the displayed image on the screen becomes disordered, resulting in a flickering phenomenon that is visible to the human eye.
[0065] To address the aforementioned problems, a first aspect of this invention provides a display method applied to a control device, the control device including an image processing module and an image display processing module; the image display processing module includes a control unit and a display processing unit. In such cases... Figure 4 In the illustrated embodiment, the method includes the following steps:
[0066] S10. The display processing unit of the image display processing module obtains the multi-frame texture data corresponding to the Nth frame of the original image from the second buffer frame by frame, and obtains the backlight data corresponding to the texture data, and displays it in response to the synchronization signal; the first buffer stores the multi-frame texture data corresponding to the N+1th frame of the original image; N is a positive integer; the number of frames of the texture data corresponds to the number of sub-pixels in the pixel unit of the original image.
[0067] In one example, while waiting for a synchronization signal, the multi-frame texture data corresponding to the Nth original image to be displayed is stored in a second buffer, and the rendered multi-frame texture data corresponding to the (N+1)th original image is stored in a first buffer. The pointers to the first and second buffers can be swapped. After the swap, the first buffer stores the rendered multi-frame texture data corresponding to the (N+1)th original image, and the second buffer stores the multi-frame texture data corresponding to the (N+2)th original image to be displayed. This process continues, with the first and second buffers alternately storing the multi-frame texture data corresponding to two adjacent original images.
[0068] In this embodiment, the display processing unit acquires multi-frame texture data corresponding to the Nth frame of the original image from the second buffer frame by frame, and acquires the backlight data corresponding to the texture data. In response to a synchronization signal, it sends the texture data to the screen frame by frame for display, and sends the backlight data to the backlight frame by frame for display. A frame of texture data and its corresponding backlight data correspond to a synchronization signal. This ensures that a frame of texture data and its corresponding backlight data can be displayed synchronously.
[0069] In one example, although a frame of texture data and the corresponding backlight data are displayed synchronously, the screen starts displaying the texture data earlier than the backlight data is displayed.
[0070] S20. After displaying the multi-frame texture data corresponding to the current Nth frame of the original image, the display processing unit sends an exchange signal to the control unit.
[0071] In one example, the exchange signal indicates that all the multi-frame texture data stored in the second buffer has been displayed, and the pointers of the first and second buffers can be exchanged. Therefore, after the display processing unit sends the multi-frame texture data corresponding to the current Nth frame of the original image to the screen for display frame by frame, it sends an exchange signal to the control unit, so that the control unit controls the exchange of the pointers of the first and second buffers through the exchange signal.
[0072] S30. The control unit of the image display processing module, in response to the exchange signal, exchanges the pointers of the first buffer and the second buffer.
[0073] In one example, the control unit swaps the pointers of the first buffer and the second buffer in response to an exchange signal. After the exchange, the second buffer stores multi-frame texture data obtained by the image processing unit from rendering one frame of the original image, and the display processing unit reads the rendered multi-frame texture data from the first buffer frame by frame for display. The pointers of the first buffer and the second buffer are swapped once each exchange signal is received.
[0074] S40. After the control unit exchanges the pointers of the first buffer and the second buffer, it sends a rendering signal to the image processing module. The display processing unit obtains the texture data corresponding to the original image of the N+1th frame from the first buffer frame by frame, and obtains the backlight data corresponding to the texture data. In response to the synchronization signal, it performs the display.
[0075] In one example, after the control unit exchanges the pointers of the first buffer and the second buffer, it sends a rendering signal to the image processing module; the display processing unit obtains the texture data corresponding to the original image of the N+1th frame from the first buffer frame by frame, and obtains the backlight data corresponding to the texture data of the frame. In response to the synchronization signal, it sends the texture data of the frame to the screen for display, and at the same time sends the backlight data corresponding to the texture data of the frame to the backlight for display.
[0076] S50, the image processing module responds to the rendering signal, acquires the N+2th frame of the original image, parses and renders it to obtain the multi-frame texture data corresponding to the N+2th frame of the original image, calculates the backlight data corresponding to the multi-frame texture data, and stores the multi-frame texture data corresponding to the N+2th frame of the original image in the second buffer.
[0077] In one example, the image processing module responds to the rendering signal by acquiring the original image of the (N+2)th frame, parsing the original image of the (N+2)th frame to obtain multiple sub-frame images, rendering the multiple sub-frame images to obtain multi-frame texture data corresponding to the original image of the (N+2)th frame, calculating the corresponding backlight data from the multiple sub-frame images, and storing the multi-frame texture data corresponding to the original image of the (N+2)th frame in a second buffer.
[0078] This embodiment of the disclosure separates the image rendering process from the image display process, ensuring the continuity of the screen display, preventing frame errors, and solving the problem of screen flickering.
[0079] In some embodiments, during the initial stage of screen display, i.e., when the screen just begins to display the first and second original images, in order to ensure normal screen display, three frames of texture data corresponding to the first and second original images are pre-stored in the first buffer and the second buffer, respectively. Of course, the first or second buffer may not pre-store three frames of texture data corresponding to a single original image; any three frames of texture data corresponding to a single image will suffice.
[0080] In some embodiments, the colors of the sub-pixels in the pixel units of the original image are red, green, and blue, respectively. In this case, by parsing each frame of the original image, the corresponding sub-frame images can be obtained as red sub-frame images, green sub-frame images, and blue sub-frame images, respectively.
[0081] In some embodiments, the process of rendering each frame of the original image is described.
[0082] In this embodiment of the disclosure, the display processing unit includes a backlight display processing subunit and an image display processing subunit; the image processing module includes an image rendering unit and a backlight calculation unit. When rendering each frame of the original image, the method specifically includes:
[0083] The image rendering unit of the image processing module waits for the rendering signal and, in response to the rendering signal, acquires a new original image frame, splits the newly acquired original image into multiple sub-frame images, and then renders the sub-frame images into corresponding texture data frame by frame. At the same time, the backlight calculation unit generates backlight data frame by frame based on the sub-frame images and stores the rendered texture data.
[0084] In this embodiment of the disclosure, whether the texture data rendered by the image rendering unit is stored in the first buffer or the second buffer is determined based on the pointers to the first buffer and the second buffer. If the pointer to the first buffer points to the image rendering unit, the texture data rendered by the image rendering unit is stored in the first buffer; if the pointer to the second buffer points to the image rendering unit, the texture data rendered by the image rendering unit is stored in the second buffer.
[0085] In this embodiment of the present disclosure, the rendering signal is issued by the control unit of the image display processing module. When the pointers of the first buffer and the second buffer are exchanged, the control unit sends the rendering signal to the image rendering unit.
[0086] In one example, the process of rendering and backlighting calculations for the original image is illustrated.
[0087] like Figure 5 As shown, the processor processes the original image frame by frame using an anti-distortion algorithm to obtain an anti-distortion image. The anti-distortion image is then parsed into multiple sub-frame images. The processor calls the graphics card to render the sub-frame images frame by frame using a rendering algorithm, obtaining the corresponding texture data, which is then stored in the graphics card buffer. Simultaneously, the processor performs brightness compensation on the sub-frame images using a brightness compensation algorithm, obtaining brightness-compensated sub-frame images. A backlight calculation algorithm is then used to calculate the corresponding backlight data for the brightness-compensated sub-frame images, which is stored in the processor buffer. In this embodiment, the colors of the sub-pixels in the pixel unit of the original image are red (R), green (G), and blue (B), respectively.
[0088] In one example, the rendering algorithm could employ SPR (Sub-Pixel Rendering), but it is not limited to this. SPR enables the rendered texture data to maintain the same brightness and visual resolution as true RGB.
[0089] In some embodiments, the process of displaying each frame of the original image is described. Specifically, the method for rendering each frame of the original image includes:
[0090] The image display processing subunit of the display processing unit acquires multi-frame texture data corresponding to a frame of original image in the second buffer frame by frame, and the backlight display processing subunit of the display processing unit acquires the backlight data corresponding to the texture data frame by frame.
[0091] In response to the synchronization signal, the image display processing subunit sends the texture data to the screen for display, and the backlight display processing subunit sends the backlight data corresponding to the texture data of the frame to the backlight for display frame by frame.
[0092] In response to the fact that all the texture data corresponding to the original image of the current frame has been sent to the screen, an exchange signal is sent to the control unit of the image display processing module. After receiving the exchange signal, the control unit exchanges the pointers of the first buffer and the second buffer, and after the exchange of the first buffer and the second buffer is completed, a rendering signal is sent to the image processing module.
[0093] In one example, such as Figure 6 The diagram shown is a flowchart of a display method provided in an embodiment of this disclosure. Figure 6 The left side shows the image rendering process. Figure 6 The right side shows the image display process.
[0094] The first stage is initialization, which includes screen window initialization and application programming interface (API) initialization. Window initialization includes window registration, setting its position and size, and binding textures to ensure texture data can be displayed on the screen. API initialization involves creating a Device, DeviceContext, shaders, SRV (Shader Resource View), RTV (Renderer Target View), DSV (Depth Stencil View), a first buffer, and a second buffer. The first and second buffers pre-store multiple frames of texture data as needed. This API initialization enables the processor to call the GPU through the API, allowing for the rendering and display of subframe images on the GPU.
[0095] The subsequent image rendering and image display processes correspond to the rendering of the (N+1)th frame of the original image and the display of the Nth frame of the original image, respectively, where N is a positive integer.
[0096] For the image rendering process, the image rendering unit of the image processing module first waits for a rendering signal. This signal is issued by the control unit of the image display processing module in the image display process. When the buffer is swapped, the control unit sends this signal, indicating that the rendering of the original image can begin. After the image rendering unit receives the rendering signal, it acquires a new RGB original data and splits it into R / G / B subframe data. Then, in a for loop, it renders the R / G / B subframe data into the corresponding texture data, and at the same time generates the corresponding backlight data. The three frames of texture data are stored in the first buffer.
[0097] For the image display process, after the image display processing subunit of the image display processing unit sends three frames of texture data to the screen for display, it sends an exchange signal to the control unit. Upon receiving the exchange signal, the control unit swaps the first buffer and the second buffer. The first buffer contains the three frames of texture data corresponding to the (N+1)th frame of the original image that have been rendered, while the second buffer contains the three frames of texture data corresponding to the Nth frame of the original image that have already been displayed. Within a For loop, the image display processing subunit of the display processing unit waits for the arrival of the vsync signal. Each time a vsync signal arrives, it outputs one frame of texture data and notifies the backlight display processing subunit of the display processing unit to output the corresponding backlight data. When the third vsync signal arrives, that is, after all the texture data in the buffer has been displayed, the image display processing subunit sends an exchange signal to the control unit.
[0098] In this embodiment of the disclosure, by separating the image rendering process and the image display process, the rendering capability of the graphics card is fully utilized, ensuring the continuity of the screen image and preventing frame errors during image display, thus solving the problem of screen flickering.
[0099] In one example, the image display processing subunit responds to a synchronization signal by sending the acquired texture data to the screen for display via the present() function.
[0100] In one example, the field-sequence display system also includes a dual buffer unit comprising a front buffer and a back buffer, with the screen connected to the front buffer. When displaying an image, the image display processing subunit responds to a synchronization signal by sending the acquired texture data to the back buffer via the present() function. After the texture data is sent to the back buffer, the front and back buffers are swapped via a swap chain to display the texture data in the back buffer onto the screen.
[0101] Figure 7 A timing diagram of the display method provided in the embodiments of this disclosure.
[0102] In some embodiments, refer to Figure 6 and Figure 7 The process of displaying every two frames of raw data is explained.
[0103] In this embodiment of the disclosure, each original image frame corresponds to three sub-frame images. By calculating each sub-frame image, the texture data and backlight data corresponding to that sub-frame image can be obtained.
[0104] Figure 7 The first line corresponds to the processor's operations, which is the backlight data display process. The two adjacent squares in the first line represent the backlight sending command corresponding to which frame of backlight data. Taking adjacent squares 1 and 2 as an example, square 1 represents the backlight sending command corresponding to the first frame of backlight data, and square 2 represents the rendering command corresponding to the second sub-frame image.
[0105] Figure 7 The second and third rows correspond to the graphics card operations, namely the subframe image rendering process and the texture data display process, respectively. In the second row, the smaller squares represent the received rendering signal for which frame of raw data, and the larger squares represent the process of rendering which subframe of the current frame's raw image. For example, square 2 indicates that a signal corresponding to the second frame of raw image has been received for rendering, and squares 5, 6, and 7 represent the rendering process for the 5th, 6th, and 7th subframes, which correspond to the second frame of raw image. In the third row, the smaller squares represent commands to send the texture data corresponding to a specific subframe to the screen, or commands to send the texture data of a specific frame to the screen. The larger squares represent commands to retrieve the texture data corresponding to a specific subframe, or the texture data of a specific frame.
[0106] Figure 7 The fourth and fifth lines correspond to the screen display process and the backlight display process, respectively, indicating the display process of the screen and backlight for which frame of texture data and backlight data.
[0107] The method for displaying every two frames of raw data specifically includes:
[0108] The image rendering unit of the image processing module waits for the first rendering signal and, in response to the rendering signal, acquires a new original image frame. It then splits the newly acquired original image into multiple sub-frame images and renders each sub-frame image into corresponding texture data frame by frame. Simultaneously, the backlight calculation unit generates backlight data frame by frame based on the sub-frame images and stores the rendered texture data in the first buffer. In this embodiment, the first rendering signal can be the rendering signal corresponding to the second original image frame. The texture data generated by the image rendering unit during the image rendering process are the texture data of frames 5, 6, and 7. The backlight data calculation process is... Figure 7 The timing diagram is not shown.
[0109] The image display processing subunit of the display processing unit acquires the texture data of the second, third, and fourth frames corresponding to the first frame in the second buffer frame by frame, and the backlight display processing subunit of the display processing unit acquires the backlight data of the second, third, and fourth frames corresponding to the texture data of the second, third, and fourth frames frame by frame.
[0110] The image display processing subunit, in response to the synchronization signal, sends the texture data of frames 2, 3, and 4 to the screen for display frame by frame. The backlight display processing subunit sends the corresponding backlight data of frames 2, 3, and 4 to the backlight for display frame by frame. Each time a synchronization signal is received, one frame of texture data and one frame of backlight data are sent to the screen, until all texture data and backlight data corresponding to the second original image are sent to the screen. Then, an exchange signal is sent to the control unit of the image display processing module. Upon receiving this exchange signal, the control unit swaps the pointers of the first buffer and the second buffer. After the swap is complete, a second rendering signal is sent to the image processing module. In this embodiment, the second rendering signal can be the rendering signal corresponding to the third original image.
[0111] In this embodiment of the disclosure, since the time for the image display processing subunit to acquire texture data is less than the time for the image rendering unit to obtain texture data by rendering the original image, and the time for buffer pointer exchange is extremely short, the rendering process of the original image and the display process of texture data are executed separately by the image rendering unit and the image display processing subunit, so that the rendering capability of the graphics card is fully utilized, ensuring the continuity of the screen image, so that no frame errors occur when the screen is displayed, and solving the problem of screen flickering.
[0112] In one example, refer to Figure 7 The process of displaying texture data from every two frames is explained. The method specifically includes the following steps:
[0113] The image display processing subunit responds to the first rendering command by acquiring the texture data of the current frame, and the backlight display processing subunit acquires the backlight data corresponding to the texture data of the current frame. In such cases... Figure 7 In the embodiment of this disclosure shown, the first rendering command is the rendering command corresponding to the second sub-frame image, the current frame texture data is the second frame texture data, and the backlight data corresponding to the current frame texture data is the second frame backlight data.
[0114] The image display processing subunit, in response to the first synchronization signal, sends the second frame texture data to the screen for display and sends the first backlight output signal to the backlight display processing subunit. In such a case... Figure 7 In the embodiment of this disclosure shown, the first synchronization signal is the second synchronization signal from the left.
[0115] The backlight display processing subunit, in response to the first backlight output signal, sends the second frame of backlight data to the backlight for display via the backlight sending command corresponding to the second frame of backlight data, and sends a second rendering command to the image display processing subunit. In such cases... Figure 7 In the embodiment shown in this disclosure, the second rendering command is the rendering command corresponding to the third subframe image.
[0116] The image display processing subunit responds to the second rendering command by acquiring the texture data for the next frame, while the backlight display processing subunit acquires the backlight data corresponding to the texture data for the next frame. In such cases... Figure 7 In the embodiment of this disclosure shown, the next frame texture data is the third frame texture data, and the backlight data corresponding to the next frame texture data is the third frame backlight data.
[0117] The image display processing subunit, in response to the second synchronization signal, sends three frames of texture data to the screen for display and sends a second backlight output signal to the backlight display processing subunit. In such cases... Figure 7 In the embodiment of this disclosure shown, the second synchronization signal is the third synchronization signal from the left.
[0118] The backlight display processing subunit responds to the second backlight output signal by sending the third frame of backlight data to the backlight for display via the backlight sending command corresponding to the third frame of backlight data, and also sends the backlight data corresponding to the next frame of texture data to the backlight for display.
[0119] The embodiments disclosed herein ensure the continuity of the screen display, preventing frame errors during screen display.
[0120] Based on the same inventive concept, a second aspect of the present invention proposes a display system.
[0121] In such Figure 8 In the illustrated embodiment, the display system includes a control device 100, which includes an image processing module 20 and an image display processing module 30; the image display processing module 30 includes a control unit 31 and a display processing unit 32.
[0122] The display processing unit 32 is used to obtain multi-frame texture data corresponding to the Nth frame original image from the second buffer frame by frame, and to obtain backlight data corresponding to the texture data, and to display in response to the synchronization signal; the first buffer stores multi-frame texture data corresponding to the N+1th frame original image; N is a positive integer.
[0123] The display processing unit 32 is also used to send an exchange signal to the control unit after displaying the multi-frame texture data corresponding to the current Nth frame original image;
[0124] Control unit 31 is used to exchange the pointers of the first buffer and the second buffer in response to the exchange signal.
[0125] The control unit 31 is also used to send a rendering signal to the image processing module after the pointers of the first buffer and the second buffer are exchanged; the display processing unit 32 is also used to obtain the texture data corresponding to the original image of the N+1th frame from the first buffer frame by frame, and to obtain the backlight data corresponding to the texture data, and to display it in response to the synchronization signal.
[0126] The image processing module 20 is used to respond to the rendering signal, acquire the original image of the N+2th frame, parse and render it to obtain the multi-frame texture data corresponding to the original image of the N+2th frame, calculate the backlight data corresponding to the multi-frame texture data, and store the multi-frame texture data corresponding to the original image of the N+2th frame in the second buffer.
[0127] In this embodiment of the disclosure, the rendering process and the display process of the image are executed separately, thereby ensuring the continuity of the screen image, preventing frame errors, and solving the problem of screen flickering.
[0128] The display processing unit 32 in the image display processing module 30 can be used to execute steps S10 and S20 of the above method; the control unit in the image display processing module 30 can be used to execute steps S30 and S40 of the above method; and the image processing module 20 can be used to execute step S50 of the above method.
[0129] In some implementations, such as Figure 8 As shown, the display processing unit 32 includes a backlight display processing subunit 321 and an image display processing subunit 322.
[0130] When displaying each frame of the original image, the image display processing subunit 322 is used to acquire multi-frame texture data corresponding to the original image, and the backlight display processing subunit 321 is used to acquire backlight data corresponding to the texture data. In response to the synchronization signal, the display is performed. When displaying the texture data and the backlight data corresponding to the texture data in response to the synchronization signal, the start time of displaying the texture data is earlier than the start time of displaying the backlight data corresponding to the texture data.
[0131] In some implementations, the method includes the following steps when displaying texture data for every two frames:
[0132] The image display processing subunit 322 is used to obtain the current frame texture data in response to the first rendering command, and the backlight display processing subunit is used to obtain the backlight data corresponding to the current frame texture data.
[0133] The image display processing subunit 322 is used to send the current frame texture data to the screen for display in response to the first synchronization signal, and to send the first backlight output signal to the backlight display processing subunit.
[0134] The backlight display processing subunit 321 is used to respond to the first backlight output signal, send the backlight data corresponding to the current frame texture data to the backlight for display, and send the second rendering command to the image display processing subunit.
[0135] The image display processing subunit 322 is used to obtain the next frame texture data in response to the second rendering command, and the backlight display processing subunit is used to obtain the backlight data corresponding to the next frame texture data.
[0136] The image display processing subunit 322 is used to send the next frame texture data to the screen for display frame by frame in response to the second synchronization signal, and to send the second backlight output signal to the backlight display processing subunit 321.
[0137] The backlight display processing subunit 321 is used to respond to the second backlight output signal and send the backlight data corresponding to the texture data of the next frame to the backlight for display.
[0138] In some implementations, such as Figure 8 As shown, the image processing module 20 includes an image rendering unit 21 and a backlight calculation unit 22; when displaying each frame of the original image, the method includes the following steps:
[0139] The image rendering unit 21 is used to respond to the rendering signal, acquire the original image, parse it to obtain multiple sub-frame images corresponding to the original image, render the texture data corresponding to the sub-frame images in sequence, and store the texture data; the number of sub-frame images corresponds to the number of sub-pixels in the pixel unit of the original image.
[0140] The backlight calculation unit 22 is used to calculate multiple sub-frame images, obtain the corresponding backlight data, and store the backlight data.
[0141] In another aspect of the present invention, a storage medium is provided, which stores a computer program that, when executed by a processor, implements the above-described method steps.
[0142] The discussion of any of the above embodiments is merely exemplary and is not intended to imply that the scope of the disclosed embodiments of the present invention (including the claims) is limited to these examples. Within the framework of the present invention, technical features of the above embodiments or different embodiments can also be combined, and many other variations of different aspects of the present invention as described above exist, which are not provided in detail for the sake of brevity. Therefore, any omissions, modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the protection scope of the present invention.
Claims
1. A display method applied to a control device, the control device comprising an image processing module and an image display processing module; The image display processing module includes a control unit and a display processing unit; the method includes: The display processing unit acquires multi-frame texture data corresponding to the Nth frame original image from the second buffer frame by frame, and acquires backlight data corresponding to the multi-frame texture data corresponding to the Nth frame original image, and performs display in response to the synchronization signal; the first buffer stores multi-frame texture data corresponding to the (N+1)th frame original image; N is a positive integer; the number of frames of the texture data corresponds to the number of sub-pixels in the pixel unit of the original image; After displaying the multi-frame texture data corresponding to the current Nth frame of the original image, the display processing unit sends an exchange signal to the control unit. In response to the exchange signal, the control unit swaps the pointers of the first buffer and the second buffer; After the control unit exchanges the pointers of the first buffer and the second buffer, it sends a rendering signal to the image processing module; the display processing unit obtains the texture data corresponding to the original image of the N+1th frame from the first buffer frame by frame, and obtains the backlight data corresponding to the texture data of the original image of the N+1th frame, and displays it in response to the synchronization signal; In response to the rendering signal, the image processing module acquires the original image of the N+2th frame, parses and renders it to obtain multi-frame texture data corresponding to the original image of the N+2th frame, calculates the backlight data corresponding to the multi-frame texture data corresponding to the original image of the N+2th frame, and stores the multi-frame texture data corresponding to the original image of the N+2th frame in the second buffer. The image processing module includes an image rendering unit and a backlight calculation unit; In the method, when displaying each frame of the original image, the image rendering unit responds to the rendering signal, acquires the original image, parses it to obtain multiple sub-frame images corresponding to the original image, renders the texture data corresponding to the sub-frame images in sequence, and stores it; the number of sub-frame images corresponds to the number of sub-pixels in the pixel unit of the original image; The backlight calculation unit performs calculations on multiple sub-frame images to obtain corresponding backlight data, and then stores it.
2. The method according to claim 1, characterized in that, The display processing unit includes: a backlight display processing subunit and an image display processing subunit; In the method, when displaying each frame of the original image, the image display processing subunit acquires multi-frame texture data corresponding to the original image, and the backlight display processing subunit acquires backlight data corresponding to the multi-frame texture data corresponding to the original image, and displays it in response to a synchronization signal; when displaying the texture data and the backlight data corresponding to the texture data in response to the synchronization signal, the start time of displaying the texture data is earlier than the start time of displaying the backlight data corresponding to the texture data.
3. The method according to claim 2, characterized in that, The image display processing subunit acquires multi-frame texture data corresponding to the original image, and the backlight display processing subunit acquires backlight data corresponding to the multi-frame texture data corresponding to the original image. The step of displaying the data in response to a synchronization signal includes: The image display processing subunit acquires multi-frame texture data corresponding to the original image, and the backlight display processing subunit acquires backlight data corresponding to the multi-frame texture data corresponding to the original image. In response to the synchronization signal, the image display processing subunit sends the texture data to the screen frame by frame for display, and the backlight display processing subunit sends the backlight data corresponding to the texture data to the backlight frame by frame for display.
4. The method according to claim 2, characterized in that, In the method described, when displaying texture data for every two frames, The image display processing subunit responds to the first rendering command and obtains the current frame texture data, and the backlight display processing subunit obtains the backlight data corresponding to the current frame texture data; In response to the first synchronization signal, the image display processing subunit sends the current frame texture data to the screen for display and sends the first backlight output signal to the backlight display processing subunit. In response to the first backlight output signal, the backlight display processing subunit sends the backlight data corresponding to the current frame texture data to the backlight for display, and sends a second rendering command to the image display processing subunit. The image display processing subunit responds to the second rendering command and obtains the next frame texture data, and the backlight display processing subunit obtains the backlight data corresponding to the next frame texture data; The image display processing subunit responds to the second synchronization signal by sending the next frame texture data to the screen for display frame by frame, and sends the second backlight output signal to the backlight display processing subunit. The backlight display processing subunit responds to the second backlight output signal by sending the backlight data corresponding to the next frame texture data to the backlight for display.
5. The method according to claim 1, characterized in that, The step of sequentially rendering the texture data corresponding to the subframe images includes: The corresponding texture data is obtained by sequentially calculating the sub-frame images using a rendering algorithm; The step of calculating the corresponding backlight data for multiple sub-frame images includes: The backlight calculation algorithm is used to calculate the corresponding backlight data of multiple sub-frame images.
6. The method according to claim 5, characterized in that, The step of calculating the corresponding backlight data for the sub-frame image using a backlight calculation algorithm includes: The subframe image is calculated using a brightness compensation algorithm to obtain the compensated subframe image; The corresponding backlight data is obtained by calculating the compensated subframe image using a backlight calculation algorithm.
7. The method according to claim 1, characterized in that, The sub-pixels in the pixel unit of the original image are red, green, and blue, respectively.
8. A display system, characterized in that, The system includes a control device, which comprises an image processing module and an image display processing module; the image display processing module comprises a control unit and a display processing unit; wherein, The display processing unit is configured to acquire multi-frame texture data corresponding to the Nth frame original image from the second buffer frame by frame, and acquire backlight data corresponding to the multi-frame texture data corresponding to the Nth frame original image, and perform display in response to a synchronization signal; the first buffer stores multi-frame texture data corresponding to the (N+1)th frame original image; N is a positive integer; The display processing unit is also used to send an exchange signal to the control unit after displaying the multi-frame texture data corresponding to the current Nth frame original image; The control unit is configured to swap the pointers of the first buffer and the second buffer in response to the swap signal; The control unit is further configured to send a rendering signal to the image processing module after the pointers of the first buffer and the second buffer are exchanged; the display processing unit is further configured to obtain the texture data corresponding to the original image of the N+1th frame from the first buffer frame by frame, and obtain the backlight data corresponding to the texture data corresponding to the original image of the N+1th frame, and display it in response to the synchronization signal. The image processing module is used to respond to the rendering signal, acquire the N+2th frame original image, parse and render it to obtain the multi-frame texture data corresponding to the N+2th frame original image, calculate the backlight data corresponding to the multi-frame texture data corresponding to the N+2th frame original image, and store the multi-frame texture data corresponding to the N+2th frame original image in the second buffer. The image processing module includes an image rendering unit and a backlight calculation unit; when displaying each frame of the original image... The image rendering unit is configured to, in response to the rendering signal, acquire the original image, parse it to obtain multiple sub-frame images corresponding to the original image, render the texture data corresponding to the sub-frame images in sequence, and store them; the number of sub-frame images corresponds to the number of sub-pixels in the pixel unit of the original image; The backlight calculation unit is used to calculate the corresponding backlight data for multiple sub-frame images and store it.
9. The system according to claim 8, characterized in that, The display processing unit includes: a backlight display processing subunit and an image display processing subunit; When displaying each frame of the original image, the image display processing subunit is used to acquire multi-frame texture data corresponding to the original image, and the backlight display processing subunit is used to acquire backlight data corresponding to the texture data. In response to the synchronization signal, the display is performed. When displaying the texture data and the backlight data corresponding to the texture data in response to the synchronization signal, the start time of displaying the texture data is earlier than the start time of displaying the backlight data corresponding to the texture data.
10. The system according to claim 9, characterized in that, When displaying texture data for every two frames... The image display processing subunit is used to obtain the current frame texture data in response to the first rendering command, and the backlight display processing subunit is used to obtain the backlight data corresponding to the current frame texture data. The image display processing subunit is used to respond to the first synchronization signal, send the current frame texture data to the screen for display, and send the first backlight output signal to the backlight display processing subunit. The backlight display processing subunit is used to respond to the first backlight output signal, send the backlight data corresponding to the current frame texture data to the backlight for display, and send a second rendering command to the image display processing subunit. The image display processing subunit is used to obtain the next frame texture data in response to the second rendering command, and the backlight display processing subunit is used to obtain the backlight data corresponding to the next frame texture data; The image display processing subunit is used to respond to the second synchronization signal, send the next frame texture data to the screen for display frame by frame, and send the second backlight output signal to the backlight display processing subunit. The backlight display processing subunit is used to respond to the second backlight output signal and send the backlight data corresponding to the next frame texture data to the backlight for display.
11. A storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it performs the steps of the method as described in any one of claims 1 to 7.
Citation Information
Patent Citations
Screen display method and device, terminal, storage medium and product
CN115202601A