Image frame processing device
By receiving, verifying, and caching image data frames, and under the control of screen refresh frames, the problem of LED array display jitter caused by the instability of the upper-level image data sending node was solved, and a stable display effect was achieved.
Patent Information
- Application Number
- CN202511335662.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-04-01
- Publication Date
- 2025-12-12
AI Technical Summary
In traditional technology, the data transmission cycle of the upper-level image data sending node is unstable, causing the LED array screen display to flicker.
Receive and verify image data frames, store them in the buffer and return a success message, receive screen refresh frames to determine the number of successful transmissions, and send image data frames to the screen controller according to a preset period to ensure stable display in the event of occasional errors or frame loss.
Through caching and synchronization mechanisms, the multi-screen controller's tens of thousands of LED arrays can maintain a stable display effect even when there are occasional errors or frame drops in the image data frames sent by the upper-level sending node.
Smart Images

Figure CN121122173A_ABST
Abstract
Description
[0001] This application is a divisional application of application number 2024103815402 (the invention is entitled "LED array display method, apparatus, computer equipment and storage medium", and the application date is April 1, 2024). Technical Field
[0002] This application relates to the field of intelligent vehicle technology, and in particular to an image frame processing device. Background Technology
[0003] With the development of intelligent and interactive automobiles, more and more automotive components are being innovated with intelligent concepts to align with the development trend of automobiles. In terms of exterior design, more and more products with intelligent interaction are emerging. In terms of lighting, there are digital projection headlights, intelligent taillight interactive lights, and intelligent welcome interactive lights. Combined with the increasing number of cameras and radar products in automobiles, as well as more humanized and personalized pattern displays, the development of intelligent interaction has entered a new chapter. In order to better realize human-computer interaction displays, there are higher requirements for display brightness, color accuracy, and detail.
[0004] In traditional technology, the upper-level image data sending node cannot guarantee a stable data transmission cycle, which causes the LED array screen display to flicker. Summary of the Invention
[0005] Therefore, it is necessary to provide an LED array display method, device, computer equipment, computer-readable storage medium, and computer program product that can solve the problem of unstable data transmission cycle of the upper-level sending node, in order to address the above-mentioned technical problems.
[0006] In a first aspect, this application provides an LED array display method applied to a screen-end controller, the method comprising:
[0007] Receive image data frames sent by the sending node and verify the image data frames;
[0008] When the image data frame passes the verification, the image data frame is stored in the cache, and a message indicating successful image data frame transmission is returned to the sending node.
[0009] The screen refresh frame sent by the sending node is received. The screen refresh frame is sent to the screen controller according to a preset sending cycle when the sending node determines that the number of successfully sent image data frames has reached the sending limit based on the message that the image data frame has been successfully sent.
[0010] Based on the screen refresh frame, the target image data frame is retrieved from the cache and displayed.
[0011] In one embodiment, the receiving and sending node sending the image data frame includes:
[0012] The receiving node sends image data frames according to a preset transmission period; or
[0013] The receiving node sends image data frames according to a target sending period, wherein the target sending period is less than the preset sending period. When the sending node determines that it is in an idle state, the sending node obtains the target sending period corresponding to the idle state and sends image data frames according to the target sending period.
[0014] In one embodiment, the verification of the image data frame includes:
[0015] Determine whether the number of LED particles corresponding to the image data frame is the same as the number of LED particles controlled by the corresponding screen controller;
[0016] When the number of LED particles corresponding to the image data frame is the same as the number of LED particles controlled by the corresponding screen controller, it is determined whether the image data frame is the same as the previously received image data frame.
[0017] The image data frame verification is successful when the image data frame is different from the previously received image data frame.
[0018] In one embodiment, the method further includes:
[0019] When the number of LED particles corresponding to the image data frame is different from the number of LED particles controlled by the corresponding screen controller, a message indicating that the image data frame transmission failed is returned to the sending node. The message indicating that the transmission failed is used to instruct the sending node to resend the image data frame.
[0020] If the image data frame is the same as the previously received image data frame, delete the previously received image data frame.
[0021] In one embodiment, the method further includes:
[0022] Obtain the first frame identifier of the currently displayed target image data frame, and generate first synchronization information based on the first frame identifier;
[0023] The first synchronization information is sent to other screen controllers. The first synchronization information is used to instruct the other screen controllers to determine whether their display is synchronized with the screen controller that sent the synchronization information. When the display is not synchronized, the screen controller adjusts its own display based on the first frame identifier.
[0024] In one embodiment, the screen refresh data frame has a higher priority than the image data frame; the step of obtaining the target image data frame from the cache based on the screen refresh frame includes:
[0025] When the screen refresh frame is received, respond to the screen refresh frame and determine that the first image data frame received in the buffer is the target image data frame.
[0026] In one embodiment, before receiving the image data frame sent by the sending node, the process includes:
[0027] Receive the wake-up command sent by the sending node;
[0028] Based on the wake-up command, the sending node is fed back a second frame identifier. The second frame identifier is used to instruct the sending node to determine the last image data frame sent, and to continue sending the next image data frame based on the determined last image data frame sent.
[0029] Secondly, this application also provides an LED array display device, the device comprising:
[0030] The first receiving module is used to receive image data frames sent by the sending node and to verify the image data frames.
[0031] The caching module is used to store the image data frame in the cache when the image data frame passes the verification, and return a message to the sending node that the image data frame was successfully sent.
[0032] The second receiving module is used to receive the screen refresh frame sent by the sending node. The screen refresh frame is sent to the screen controller according to a preset sending cycle when the sending node determines that the number of successfully sent image data frames has reached the sending limit based on the message that the image data frame has been successfully sent.
[0033] The refresh module is used to retrieve the target image data frame from the cache based on the screen refresh frame and display the target image data frame.
[0034] Thirdly, this application also provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps of the method in any of the above embodiments.
[0035] Fourthly, this application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the methods in any of the above embodiments.
[0036] The aforementioned LED array display method, apparatus, computer equipment, storage medium, and computer program product, upon receiving an image data frame sent by a transmitting node, verifies the image data frame, caches the image data frame upon successful verification, and returns a message indicating successful image data frame transmission to the transmitting node. This allows the transmitting node to determine whether the number of successfully transmitted image data frames has reached the required transmission count, i.e., whether the required number of image data frames has been cached. If so, it sends a screen refresh frame to the screen controller, which then retrieves the target image data frame from the cache and displays it. Because the required number of image data frames is pre-cached, the system can maintain stable display performance even in situations where the multi-screen controller's tens of thousands of LED arrays experience occasional errors or frame drops in image data frames sent by the upper-level transmitting node, or fail to complete the transmission of a complete image data frame within the transmission cycle. Attached Figure Description
[0037] To more clearly illustrate the technical solutions in the embodiments or related technologies of this application, the accompanying drawings used in the description of the embodiments or related technologies 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 creative effort.
[0038] Figure 1 This is an application environment diagram of the LED array display method in one embodiment;
[0039] Figure 2 This is a flowchart illustrating an LED array display method in one embodiment;
[0040] Figure 3 This is a flowchart of the verification process in one embodiment;
[0041] Figure 4 This is a structural block diagram of an LED array display device in one embodiment;
[0042] Figure 5 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation
[0043] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0044] The LED array display method provided in this application embodiment can be applied to, for example... Figure 1In the application environment shown, the image sender can connect to the image display end via a network or bus. To improve transmission efficiency, the image sender includes multiple sending nodes or a single sending node. The image display end includes multiple screen controllers, each of which controls the brightness of a corresponding LED in the LED array. The communication links between each sending node and its corresponding screen controller operate independently and do not interfere with each other. In this embodiment, the image data frames of the corresponding screen controller are transmitted time-division multiplexed by a single sending node. In other embodiments, multiple sending nodes can be used for transmission; no specific limitation is made here.
[0045] The operation of each sending node and screen controller includes: receiving image data frames sent by the sending node and verifying the image data frames; when the image data frame passes verification, storing the image data frame in a buffer and returning a message indicating successful image data frame transmission to the sending node; receiving screen refresh frames sent by the sending node, which are sent to the screen controller according to a preset transmission cycle when the sending node determines that the number of successfully transmitted image data frames has reached the required transmission count based on the message indicating successful image data frame transmission; and retrieving the target image data frame from the buffer based on the screen refresh frame and displaying the target image data frame. In this way, because the required number of image data frames to be transmitted are pre-buried, the stable display effect of the multi-screen controller's tens of thousands of LED arrays can be guaranteed even under various circumstances, such as occasional errors or frame drops in image data frames sent by the upper-level sending node, or failure to complete the transmission of a complete image data frame within the transmission cycle.
[0046] The image sender can be the vehicle's main controller, and the image displayer can be a vehicle light driver used to control vehicle lights and other displays, which drives the LED array of vehicle lights to display the corresponding image data.
[0047] In one exemplary embodiment, such as Figure 2 As shown, an LED array display method is provided, which is applied to... Figure 1 Taking any one of the screen-end controllers as an example, the explanation includes the following steps 202 to 206. Wherein:
[0048] S202: Receive image data frames sent by the sending node and verify the image data frames.
[0049] The image data frame here can be understood as a message frame rather than an image. An image can include multiple image data frames, which together make up the image. Each screen controller is used to receive the corresponding multiple image data frames in an image. All the multiple image data frames received by the screen controllers together constitute the image.
[0050] An image data frame is one of the multiple data frames included in an image. For example, if an image is A in size and the maximum data to be transmitted in one frame is B, then an image requires A / B image data frames. Each image data frame corresponds to a specific range of LED lights. Thus, the image data frames received by each screen controller are also specific. If multi-node transmission is used, then the image data frames sent by each sending node are specific.
[0051] In one optional embodiment, each image data frame carries a frame identifier to represent the image to which the current image data frame corresponds and its position within that image. For example, the frame identifier could be cc-dd, where cc represents the current image and dd represents the position of the image data frame within image cc. In one optional embodiment, the LEDs are arranged sequentially, so that the LEDs corresponding to each image data frame are also arranged sequentially.
[0052] The verification of image data frames includes, but is not limited to: whether the number of LED particles included in the image data frame is the same as the number of LED particles controlled by the screen controller; and whether the frame identifier is the same as the frame identifier of the previously received image data frame, where the same frame identifier includes both the current image identifier and the identifier of the image data frame being the same. A successful image data frame verification means that the number of LED particles is the same as the number of LED particles controlled by the screen controller, and the frame identifier is different from the frame identifier of the previously received image data frame; otherwise, the frame verification fails.
[0053] In one optional embodiment, before sending image data frames, the image transmitter first sends a status acknowledgment message to the image display end. The image display end detects whether there is a fault based on the status acknowledgment message. When there is no fault, the image transmitter sends feedback information indicating no fault to the image transmitter. Subsequent image transmitters then send image data frames to the image display end based on this fault-free information. The status acknowledgment message is used to confirm the status of the image display end and can be a fixed message. This status acknowledgment message is sent before each transmission of image data frames between the transmitter and the image display end. Here, "each time" refers to non-continuous transmission of image data frames, not that a status acknowledgment message is sent before each transmission of every image data frame. Non-continuous transmission of image data frames can be due to an abnormality at the transmitter, an abnormality at the image display end, or the transmission of a new image data frame.
[0054] In one optional embodiment, if the image display end includes multiple screen controllers, the sending end can send a status confirmation message to each screen controller to confirm whether each screen controller is faulty.
[0055] In one optional embodiment, detecting whether the image display terminal is faulty based on the status confirmation message includes: detecting whether each screen controller of the image display terminal is faulty and / or detecting whether each LED of the image display terminal is faulty based on the status confirmation message; when at least one of the screen controllers is faulty or the LED is faulty, it is determined that the image display terminal is faulty; otherwise, it is determined that the image display terminal is not faulty.
[0056] The detection of the image display end includes at least one of the detection of the screen-end controller and the detection of the LED lights. In one optional embodiment, when the image display end includes multiple screen-end controllers, the sending end can send a status confirmation message to each screen-end controller. After receiving the status confirmation message, each screen-end controller performs fault detection. Only when all screen-end controllers return no fault information is it determined that the image display end is not faulty; otherwise, it is determined that the image display end is faulty, and the sending end continues to send status confirmation messages to each screen-end controller.
[0057] Fault detection in the screen-end controller can be achieved through status bits. The screen-end controller monitors its own status in real time, and if a fault is found, it modifies the corresponding status bit. For example, screen-end controller faults include at least one of undervoltage, overvoltage, open circuit, short circuit, and overtemperature. When a status acknowledgment message is received, the status bit is read to determine whether the screen-end controller is faulty.
[0058] Fault detection of LED lights can also be achieved through status bits. The screen controller monitors the status of each LED light in real time, including idle, animation display status, fault, image display status, etc. If it is in a fault state, the value of the corresponding status bit is modified. When a status confirmation message is received, the status bit is read and the LED light is judged as faulty by the status bit.
[0059] In one alternative embodiment, if one of the screen controllers detects a fault in at least one of the screen controllers or LEDs, it returns a fault information.
[0060] S204: When the image data frame verification passes, the image data frame is stored in the buffer, and a message indicating successful image data frame transmission is returned to the sending node.
[0061] The cache is used to cache image data frames, and in this application, the image data frames that pass verification are stored in the cache.
[0062] In one optional embodiment, since the image display end includes multiple screen controllers, each screen controller can have a corresponding buffer, and each screen controller caches the successfully verified image data frames into the corresponding buffer.
[0063] In one optional embodiment, the size of the buffer corresponding to each screen controller is related to the size of its corresponding image data frame. For example, the size of each buffer can be equal to N times the size of all image data frames in an image corresponding to the screen controller, where N can be an empirical value, such as 6, which is the minimum value that can ensure stable LED display to avoid slow LED display.
[0064] In addition, in order to let the sending node know the image data frame that the screen controller has successfully received, the screen controller returns a message of successful transmission to the sending node after each successful reception of an image data frame, so that the sending node can continue to send the next image data frame or resend the current image data frame.
[0065] For ease of understanding, the sending node transmits image data frames to the screen controller. The screen controller verifies the image data frames; if the verification is successful, they are stored in the corresponding buffer. Since an image is divided into A / B image data frames, and the screen controller assumes there are M corresponding image data frames, the buffer size is NM, where N is the number of images. Therefore, the buffer can store NM image data frames corresponding to N images. It should be noted that, to ensure display stability, each screen controller does not display the first N images (NM long image data frames) until it receives the refresh frame from the sending node.
[0066] S206: Receive the screen refresh frame sent by the sending node. The screen refresh frame is sent to the screen controller according to the preset sending cycle when the sending node determines that the number of successfully sent image data frames has reached the sending limit based on the message that the image data frames have been successfully sent.
[0067] The screen refresh frame is sent from the sending node to the screen controller. The sending node counts the number of successfully sent image data frames. When the number reaches NA, it sends a screen refresh frame to the screen controller according to a preset sending cycle, such as sending one screen refresh frame every preset duration to ensure the continuity of the animation. The preset duration can be optionally 30ms.
[0068] For ease of understanding, when the sending node starts sending image data frames, it counts the number of successfully sent image data frames. When the number of successfully sent image data frames reaches NA, it sends one image refresh frame every preset time interval. When subsequent image sending is completed or a fault occurs and sending stops, the count value is controlled to 0 so that the count can be reset next time to determine whether to start sending image refresh frames.
[0069] S208: Based on the screen refresh frame, retrieve the target image data frame from the cache and display the target image data frame.
[0070] The priority of screen refresh data frames is higher than that of image data frames; based on the screen refresh frame, the target image data frame is obtained from the cache, including: when a screen refresh frame is received, responding to the screen refresh frame and determining that the first image data frame received in the cache is the target image data frame.
[0071] Upon receiving a screen refresh frame, the screen controller retrieves the first received image data frame from the buffer as the target image data frame and displays it. Subsequent received image frames are also buffered sequentially according to the order of reception, resulting in an out-of-order display of the surface images.
[0072] It should be noted that the target image data frame here includes multiple frames, meaning one image corresponds to multiple image data frames, and each screen controller corresponds to several of these frames. These several image data frames corresponding to the screen controllers together constitute the image. For ease of understanding, assume an image is divided into P image data frames, and each screen controller includes Q image data frames. Optionally, the Q frames for each screen controller can be different or the same, then P / Q represents the number of screen controllers. Each time a screen refresh frame is received, the screen controller acquires Q image data frames and performs a screen refresh. In one optional embodiment, the screen controller first verifies the acquired Q image data frames, i.e., it determines whether the Q image data frames correspond to one image. If so, a screen refresh is performed.
[0073] The aforementioned LED array display method verifies the image data frame after receiving it from the sending node. Upon successful verification, the image data frame is cached, and a message indicating successful transmission is returned to the sending node. This allows the sending node to determine whether the number of successfully transmitted image data frames has been reached, i.e., whether the required number of frames has been cached. If so, a refresh frame is sent to the screen controller, which then retrieves the target image data frame from the cache and displays it. Because the required number of frames is pre-cached, the method ensures stable display performance for the multi-screen controller's tens of thousands of LED arrays even in situations where image data frames sent by the upper-level sending node experience occasional errors or frame drops, or where a complete image data frame cannot be transmitted within the transmission cycle.
[0074] In one optional embodiment, receiving image data frames sent by a sending node includes: receiving image data frames sent by the sending node according to a preset sending period; or receiving image data frames sent by the sending node according to a target sending period, wherein the target sending period is less than the preset sending period, and when the sending node determines that it is in an idle state, the sending node obtains the target sending period corresponding to the idle state and sends image data frames according to the target sending period.
[0075] In this embodiment, the image data frame transmission period is preset, for example, a preset duration for transmitting one image data frame. However, due to factors such as the operation of the transmitting node or transmission failures, it is possible that not enough image data frames are transmitted within the preset duration to transmit one image. In other embodiments, when the transmitting node determines that it is in an idle state, the transmitting node obtains a target transmission period corresponding to the idle state and transmits image data frames according to the target transmission period, which is less than the preset transmission period, thereby increasing the speed at which the transmitting node transmits image data frames.
[0076] To facilitate understanding, let's take an example. The sending node monitors its own status in real time. If it is not idle, meaning its resource utilization rate has reached a preset value, such as 60%, then it sends image data frames according to the preset sending cycle, that is, one image data frame is sent every 30ms. If the sending node is idle, it obtains the target sending cycle, which can be related to the idle state. For example, if the resource utilization rate is 50%, then the target sending cycle is the preset sending cycle of 90%; if the resource utilization rate is 40%, then the target sending cycle is the preset sending cycle of 80%. In this way, the target sending cycle can be dynamically adjusted based on the idle level of the sending node to improve the sending speed of image data frames and avoid buffer exhaustion and jitter.
[0077] Optionally, when the buffer of the screen controller is full, it sends a message to the sending node that the buffer is full. The sending node then stops sending image data frames and sends a status confirmation frame to the corresponding screen controller in real time to determine whether the screen controller can start receiving image data frames. If it can, it continues to send image data frames from the point of interruption.
[0078] In one optional embodiment, the image data frame is verified, including: determining whether the number of LED particles corresponding to the image data frame is the same as the number of LED particles controlled by the corresponding screen controller; when the number of LED particles corresponding to the image data frame is the same as the number of LED particles controlled by the corresponding screen controller, determining whether the image data frame is the same as the previously received image data frame; when the image data frame is different from the previously received image data frame, the image data frame verification passes.
[0079] In one optional embodiment, the method further includes: when the number of LED particles corresponding to the image data frame is different from the number of LED particles controlled by the corresponding screen controller, returning a message indicating that the image data frame transmission failed to the sending node, the message indicating that the sending node retransmits the image data frame; and deleting the previously received image data frame when the image data frame is the same as the previously received image data frame.
[0080] Among them, combined Figure 3 As shown, Figure 3 The flowchart illustrates the verification process in one embodiment. In this embodiment, the screen-end controller first receives an image data frame, and then determines whether the number of LED particles corresponding to the image data frame is the same as the number of LED particles controlled by the screen-end controller. This step can be that the screen-end controller has pre-determined the number of LED particles contained in the corresponding image data frame and then compares them, or it can determine whether the number of LED particles in an image received by the screen-end controller is the same as the total number of LED particles controlled by the screen-end controller. If they are the same, the next step of judgment is performed. If they are not the same, it indicates that the sending node has failed to send the image data frame, so a message indicating that the image data frame has failed to send is returned to the sending node, and the sending node resends the image data frame.
[0081] Further checks include verifying whether the image data frame is identical to the previously received image data frame. This is because the sending node retransmits the data, and the retransmitted image data frame also undergoes LED particle count verification. If the verification is successful, it is compared with the previously received image data frame to determine if they are identical. This comparison can be based on frame identifiers. If they are identical, it indicates that the previously received image data frame was problematic, and therefore it is deleted, with only the currently received image data frame saved to the buffer. If they are different from the previously received image data frame, the currently received image data frame is directly saved to the buffer.
[0082] In one optional embodiment, the image data frame receiving process and the image data frame display process are decoupled. In the image data frame receiving process, image data frames are received and stored in a buffer. In the image data frame display process, image data frames are retrieved from the buffer and displayed. Furthermore, the priority of the screen refresh frame is set to the highest priority. Thus, when the screen refresh frame is received in the image data frame receiving process, it is stored at the beginning of the buffer. The image data frame display process reads the beginning position of the buffer in real time. If it is a screen refresh frame, the image data frame is read from the buffer and the screen is refreshed. Otherwise, the process continues to read the beginning position of the buffer in real time until all image data frames in the buffer have been displayed.
[0083] In the above embodiments, the LED array first caches a certain amount of display image data before displaying the screen. Under normal working conditions, the upper-level sending node sends one frame of image data to each control node of the LED array at a period of 30ms. Each node of the LED array does not refresh the LED display content within the first 180ms, and only refreshes it afterward, thus ensuring stability.
[0084] In one optional embodiment, the method further includes: obtaining a first frame identifier of the currently displayed target image data frame; generating first synchronization information based on the first frame identifier; sending the first synchronization information to other screen controllers, wherein the first synchronization information is used to instruct other screen controllers to determine whether their display is synchronized with the screen controller that sent the synchronization information; and adjusting their own display based on the first frame identifier when the display is not synchronized.
[0085] Since the image display terminal includes multiple screen controllers, to ensure that each screen controller displays different parts of the same frame of image, information synchronization is required during the display process. For this purpose, a master screen controller can be set up, so that the display speed of the other screen controllers is aligned with the display speed of the master screen controller. Preferably, the screen controller of the middle frame can be used as the master screen controller. The master screen controller periodically sends first synchronization information to the other screen controllers. This first synchronization information carries the frame identifier of the target image data frame currently displayed by the master screen controller. The other screen controllers then determine whether the image identifier in the frame identifier of their currently displayed image data frame is the same as the image identifier in the frame identifier of the target image data frame. If they are the same... If the frame identifier of the currently displayed image data frame is less than that of the target image data frame, it means that the other screen controller is displaying too slowly. Therefore, it directly obtains the frame identifier of the target image data frame and retrieves the corresponding image data frame from the corresponding cache for display. If the frame identifier of the currently displayed image data frame is greater than that of the target image data frame, it means that the other screen controller is displaying too fast. Therefore, it stops retrieving data from the cache and waits until the frame identifier of the target image data frame equals that of the faster image data frame before retrieving data from the cache for display.
[0086] In the above embodiments, a synchronization strategy is introduced to ensure the synchronization of the display of each screen controller.
[0087] In one optional embodiment, before receiving the image data frame sent by the sending node, the process includes: receiving a wake-up command sent by the sending node; feeding back a second frame identifier to the sending node based on the wake-up command, the second frame identifier being used to instruct the sending node to determine the previously sent image data frame, and continuing to send the next image data frame based on the determined previously sent image data frame.
[0088] The wake-up command is used to wake up the screen controller to control the LED lights. After receiving the wake-up command, the screen controller feeds back the second frame identifier, so that the sending node can determine the last image data frame sent, and continue to send the next image data frame based on the determined last image data frame, thereby realizing breakpoint resume.
[0089] The wake-up command is usually sent after the sending node has been repaired to ensure the continuity of image display.
[0090] It should be understood that although the steps in the flowcharts of the above embodiments are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the above embodiments may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.
[0091] Based on the same inventive concept, this application also provides an LED array display device for implementing the LED array display method described above. The solution provided by this device is similar to the solution described in the above method; therefore, the specific limitations in one or more LED array display device embodiments provided below can be found in the limitations of the LED array display method described above, and will not be repeated here.
[0092] In one exemplary embodiment, such as Figure 4 As shown, an LED array display device is provided, comprising: a first receiving module 501, a buffer module 502, a second receiving module 503, and a refresh module 504, wherein:
[0093] The first receiving module 501 is used to receive image data frames sent by the sending node and to verify the image data frames.
[0094] The caching module 502 is used to store the image data frame in the cache when the image data frame verification passes, and return a message to the sending node indicating that the image data frame has been successfully sent.
[0095] The second receiving module 503 is used to receive the screen refresh frame sent by the sending node. The screen refresh frame is sent to the screen controller according to a preset sending cycle when the sending node determines that the number of successfully sent image data frames has reached the sending limit based on the message that the image data frames have been successfully sent.
[0096] The refresh module 504 is used to retrieve the target image data frame from the cache based on the screen refresh frame and display the target image data frame.
[0097] In one embodiment, the first receiving module 501 is further configured to receive image data frames sent by the sending node according to a preset sending period; or to receive image data frames sent by the sending node according to a target sending period, wherein the target sending period is less than the preset sending period, and when the sending node determines that it is in an idle state, the sending node obtains the target sending period corresponding to the idle state and sends image data frames according to the target sending period.
[0098] In one embodiment, the first receiving module 501 is further configured to determine whether the number of LED particles corresponding to the image data frame is the same as the number of LED particles controlled by the corresponding screen controller; when the number of LED particles corresponding to the image data frame is the same as the number of LED particles controlled by the corresponding screen controller, it determines whether the image data frame is the same as the previously received image data frame; when the image data frame is different from the previously received image data frame, the image data frame verification passes.
[0099] In one embodiment, the first receiving module 501 is further configured to return a message indicating that the image data frame was not sent to the sending node when the number of LED particles corresponding to the image data frame is different from the number of LED particles controlled by the corresponding screen controller. The message indicating that the sending node should resend the image data frame is used to instruct the sending node to resend the image data frame. When the image data frame is the same as the previously received image data frame, the previously received image data frame is deleted.
[0100] In one embodiment, the above-mentioned device further includes: a synchronization module, configured to acquire the first frame identifier of the currently displayed target image data frame, generate first synchronization information based on the first frame identifier, and send the first synchronization information to other screen controllers, wherein the first synchronization information is used to instruct other screen controllers to determine whether the display of the screen controller that sent the synchronization information is synchronized, and when the display is not synchronized, adjust its own display based on the first frame identifier.
[0101] In one embodiment, the priority of the screen refresh data frame is higher than that of the image data frame; the refresh module 504 is also used to respond to the screen refresh frame when the screen refresh frame is received, and to determine the image data frame that is received first in the buffer as the target image data frame.
[0102] In one embodiment, the above-mentioned apparatus further includes: a wake-up module, configured to receive a wake-up command sent by a sending node; and to feed back a second frame identifier to the sending node based on the wake-up command, the second frame identifier being used to instruct the sending node to determine the previously sent image data frame, and to continue sending the next image data frame based on the determined previously sent image data frame.
[0103] Each module in the aforementioned LED array display device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device, or stored in the memory of a computer device as software, so that the processor can call and execute the operations corresponding to each module.
[0104] In one exemplary embodiment, a computer device is provided, which may be a screen controller in a vehicle terminal. The transmitting node connected to the screen controller or the internal structure diagram of the screen controller may be as follows: Figure 5 As shown, the computer device includes a processor, memory, input / output interface, communication interface, display unit, and input device. The processor, memory, and input / output interface are connected via a system bus, and the communication interface, display unit, and input device are also connected to the system bus via the input / output interface. The processor provides computing and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The input / output interface is used for exchanging information between the processor and external devices. The communication interface is used for wired or wireless communication with external terminals; wireless communication can be achieved through Wi-Fi, mobile cellular networks, NFC (Near Field Communication), or other technologies. When the computer program is executed by the processor, it implements an LED array display method. The display unit of the computer device forms a visually visible image and can be a display screen, a projection device, or a virtual reality imaging device. The display screen can be an LCD screen or an e-ink screen. The input device of the computer device can be a touch layer covering the display screen, or buttons, trackballs, or touchpads set on the casing of the computer device, or external keyboards, touchpads, or mice, etc.
[0105] Those skilled in the art will understand that Figure 5The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0106] In an exemplary embodiment, a computer device is provided, including a memory and a processor. The memory stores a computer program, and the processor executes the computer program to perform the following steps: receiving image data frames sent by a sending node and verifying the image data frames; when the image data frame passes verification, storing the image data frame in a buffer and returning a message indicating successful image data frame transmission to the sending node; receiving a screen refresh frame sent by the sending node, wherein the screen refresh frame is sent to the screen controller according to a preset transmission cycle when the sending node determines that the number of successfully transmitted image data frames has reached the transmission limit based on the message indicating successful image data frame transmission; and retrieving a target image data frame from the buffer based on the screen refresh frame and displaying the target image data frame.
[0107] In one embodiment, the image data frame received by the sending node when the processor executes the computer program includes: receiving image data frames sent by the sending node according to a preset sending period; or receiving image data frames sent by the sending node according to a target sending period, wherein the target sending period is less than the preset sending period, and when the sending node determines that it is in an idle state, the sending node obtains the target sending period corresponding to the idle state and sends image data frames according to the target sending period.
[0108] In one embodiment, the verification of image data frames implemented by the processor when executing the computer program includes: determining whether the number of LED particles corresponding to the image data frame is the same as the number of LED particles controlled by the corresponding screen controller; when the number of LED particles corresponding to the image data frame is the same as the number of LED particles controlled by the corresponding screen controller, determining whether the image data frame is the same as the previously received image data frame; when the image data frame is different from the previously received image data frame, the image data frame verification passes.
[0109] In one embodiment, when the processor executes the computer program, it further implements the following steps: when the number of LED particles corresponding to the image data frame is different from the number of LED particles controlled by the corresponding screen controller, a message indicating that the image data frame has failed to be sent is returned to the sending node, and the message indicating that the sending node has failed to send the image data frame is used to instruct the sending node to resend the image data frame; when the image data frame is the same as the previously received image data frame, the previously received image data frame is deleted.
[0110] In one embodiment, when the processor executes the computer program, it further implements the following steps: obtaining the first frame identifier of the currently displayed target image data frame, generating first synchronization information based on the first frame identifier; sending the first synchronization information to other screen controllers, wherein the first synchronization information is used to instruct other screen controllers to determine whether the display of the screen controller that sent the synchronization information is synchronized, and when the display is not synchronized, adjusting its own display based on the first frame identifier.
[0111] In one embodiment, the priority of screen refresh data frames involved in the processor executing the computer program is higher than that of image data frames; the process of retrieving a target image data frame from a cache based on a screen refresh frame implemented by the processor executing the computer program includes: when a screen refresh frame is received, responding to the screen refresh frame and determining that the first image data frame received in the cache is the target image data frame.
[0112] In one embodiment, before the processor executes the computer program to receive image data frames sent by the transmitting node, the process includes: receiving a wake-up command sent by the transmitting node; feeding back a second frame identifier to the transmitting node based on the wake-up command, the second frame identifier being used to instruct the transmitting node to determine the previously transmitted image data frame, and continuing to transmit the next image data frame based on the determined previously transmitted image data frame.
[0113] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, it performs the following steps: receiving image data frames sent by a sending node and verifying the image data frames; when the image data frames pass verification, storing the image data frames in a buffer and returning a message indicating successful image data frame transmission to the sending node; receiving screen refresh frames sent by the sending node, wherein the screen refresh frames are sent to the screen controller according to a preset transmission period when the sending node determines that the number of successfully transmitted image data frames has reached the transmission limit based on the message indicating successful image data frame transmission; and retrieving a target image data frame from the buffer based on the screen refresh frames and displaying the target image data frame.
[0114] In one embodiment, the image data frame received by the receiving and sending node when the computer program is executed by the processor includes: receiving and sending image data frames sent by the receiving and sending node according to a preset sending period; or receiving and sending image data frames sent by the receiving and sending node according to a target sending period, wherein the target sending period is less than the preset sending period, and when the sending node determines that it is in an idle state, the sending node obtains the target sending period corresponding to the idle state and sends image data frames according to the target sending period.
[0115] In one embodiment, the verification of image data frames implemented by the computer program when executed by the processor includes: determining whether the number of LED particles corresponding to the image data frame is the same as the number of LED particles controlled by the corresponding screen controller; when the number of LED particles corresponding to the image data frame is the same as the number of LED particles controlled by the corresponding screen controller, determining whether the image data frame is the same as the previously received image data frame; when the image data frame is different from the previously received image data frame, the image data frame verification passes.
[0116] In one embodiment, when the computer program is executed by the processor, it further implements the following steps: when the number of LED particles corresponding to the image data frame is different from the number of LED particles controlled by the corresponding screen controller, a message indicating that the image data frame has failed to be sent is returned to the sending node, and the message indicating that the sending node has failed to send the image data frame is used to instruct the sending node to resend the image data frame; when the image data frame is the same as the previously received image data frame, the previously received image data frame is deleted.
[0117] In one embodiment, when the computer program is executed by the processor, it further implements the following steps: obtaining the first frame identifier of the currently displayed target image data frame, generating first synchronization information based on the first frame identifier; sending the first synchronization information to other screen controllers, wherein the first synchronization information is used to instruct other screen controllers to determine whether the display of the screen controller that sent the synchronization information is synchronized, and when the display is not synchronized, adjusting its own display based on the first frame identifier.
[0118] In one embodiment, when the computer program is executed by the processor, the priority of the screen refresh data frame is higher than that of the image data frame; the computer program, when executed by the processor, implements the process of obtaining the target image data frame from the cache based on the screen refresh frame, including: when a screen refresh frame is received, responding to the screen refresh frame and determining that the first image data frame received in the cache is the target image data frame.
[0119] In one embodiment, before the computer program is executed by the processor to receive image data frames sent by the transmitting node, it includes: receiving a wake-up command sent by the transmitting node; feeding back a second frame identifier to the transmitting node based on the wake-up command, the second frame identifier being used to instruct the transmitting node to determine the previously transmitted image data frame, and continuing to transmit the next image data frame based on the determined previously transmitted image data frame.
[0120] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, performs the following steps: receiving image data frames sent by a sending node and verifying the image data frames; when the image data frames pass verification, storing the image data frames in a buffer and returning a message indicating successful image data frame transmission to the sending node; receiving screen refresh frames sent by the sending node, wherein the screen refresh frames are sent to the screen controller according to a preset transmission period when the sending node determines that the number of successfully transmitted image data frames has reached the transmission limit based on the message indicating successful image data frame transmission; and retrieving a target image data frame from the buffer based on the screen refresh frames and displaying the target image data frame.
[0121] In one embodiment, the image data frame received by the receiving and sending node when the computer program is executed by the processor includes: receiving and sending image data frames sent by the receiving and sending node according to a preset sending period; or receiving and sending image data frames sent by the receiving and sending node according to a target sending period, wherein the target sending period is less than the preset sending period, and when the sending node determines that it is in an idle state, the sending node obtains the target sending period corresponding to the idle state and sends image data frames according to the target sending period.
[0122] In one embodiment, the verification of image data frames implemented by the computer program when executed by the processor includes: determining whether the number of LED particles corresponding to the image data frame is the same as the number of LED particles controlled by the corresponding screen controller; when the number of LED particles corresponding to the image data frame is the same as the number of LED particles controlled by the corresponding screen controller, determining whether the image data frame is the same as the previously received image data frame; when the image data frame is different from the previously received image data frame, the image data frame verification passes.
[0123] In one embodiment, when the computer program is executed by the processor, it further implements the following steps: when the number of LED particles corresponding to the image data frame is different from the number of LED particles controlled by the corresponding screen controller, a message indicating that the image data frame has failed to be sent is returned to the sending node, and the message indicating that the sending node has failed to send the image data frame is used to instruct the sending node to resend the image data frame; when the image data frame is the same as the previously received image data frame, the previously received image data frame is deleted.
[0124] In one embodiment, when the computer program is executed by the processor, it further implements the following steps: obtaining the first frame identifier of the currently displayed target image data frame, generating first synchronization information based on the first frame identifier; sending the first synchronization information to other screen controllers, wherein the first synchronization information is used to instruct other screen controllers to determine whether the display of the screen controller that sent the synchronization information is synchronized, and when the display is not synchronized, adjusting its own display based on the first frame identifier.
[0125] In one embodiment, when the computer program is executed by the processor, the priority of the screen refresh data frame is higher than that of the image data frame; the computer program, when executed by the processor, implements the process of obtaining the target image data frame from the cache based on the screen refresh frame, including: when a screen refresh frame is received, responding to the screen refresh frame and determining that the first image data frame received in the cache is the target image data frame.
[0126] In one embodiment, before the computer program is executed by the processor to receive image data frames sent by the transmitting node, it includes: receiving a wake-up command sent by the transmitting node; feeding back a second frame identifier to the transmitting node based on the wake-up command, the second frame identifier being used to instruct the transmitting node to determine the previously transmitted image data frame, and continuing to transmit the next image data frame based on the determined previously transmitted image data frame.
[0127] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.
[0128] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0129] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
Claims
1. An image frame processing apparatus, characterized in that, The device, applied to a screen-end controller, includes: The first receiving module is used to receive image data frames sent by the sending node; determine whether the number of LED particles corresponding to the image data frame is the same as the number of LED particles controlled by the corresponding screen controller; when the number of LED particles corresponding to the image data frame is the same as the number of LED particles controlled by the corresponding screen controller, determine whether the image data frame is the same as the previously received image data frame; when the image data frame is not the same as the previously received image data frame, the image data frame verification is passed. A caching module is used to store the image data frame in a cache when the image data frame passes the verification; wherein, the number of image data frames corresponding to the screen controller is M, and the size of the cache is NM, where N is the number of images; The refresh module is used to not display any of the first M images when receiving NM image data frames, but to display them after receiving the image refresh frame sent by the sending node.
2. The apparatus according to claim 1, characterized in that, The refresh module is also used to, after receiving the image refresh frame, retrieve the first received image data frame from the cache as the target image data frame and display it.
3. The apparatus according to claim 2, characterized in that, If an image is divided into P image data frames, then the number of screen-end controllers is P / M; The refresh module is also used to acquire M target image data frames after receiving the image refresh frame, and verify whether the M target image data frames acquired by each screen controller correspond to one image. If so, refresh the display.
4. The apparatus according to any one of claims 1 to 3, characterized in that, The first receiving module is further configured to return a message indicating that the image data frame has failed to be sent to the sending node when the number of LED particles corresponding to the image data frame is different from the number of LED particles controlled by the corresponding screen controller. The message indicating that the sending node has failed to send the image data frame is used to instruct the sending node to resend the image data frame. When the image data frame is the same as the previously received image data frame, the previously received image data frame is deleted.
5. The apparatus according to any one of claims 1 to 3, characterized in that, An image display terminal includes multiple screen controllers, and each screen controller is used to control the brightness of the corresponding part of the LED array. An image transmitter includes multiple transmitting nodes or one transmitting node, and the communication link formed by each transmitting node and the corresponding screen controller works independently.
6. The apparatus according to claim 5, characterized in that, If the size of an image is A and the maximum data transmitted in a frame is B, then an image corresponds to image data frames A / B. Each image data frame corresponds to a specific range of LED lights, and each image data frame received by the screen controller is specific.
7. The apparatus according to any one of claims 1 to 3, characterized in that, The device further includes: The status confirmation module is used to receive status confirmation messages sent by the sending node, detect whether there is a fault in the screen display based on the status confirmation messages, and return a fault-free message to the sending node if there is no fault in the screen display; and return a fault message to the sending node if there is a fault in the image transmission.
8. The apparatus according to claim 7, characterized in that, The status confirmation module is specifically used to detect whether the screen controller is faulty and / or whether each LED of the screen controller is faulty based on the status confirmation message; when the screen controller is faulty or at least one LED is faulty, it is determined that the screen controller is faulty; otherwise, it is determined that the screen controller is not faulty.
9. The apparatus according to any one of claims 1 to 3, characterized in that, The first receiving module is further configured to receive image data frames sent by the sending node according to a preset sending period; or The receiving node sends image data frames according to a target sending period, wherein the target sending period is less than the preset sending period. When the sending node determines that it is in an idle state, the sending node obtains the target sending period corresponding to the idle state and sends image data frames according to the target sending period.
10. The apparatus according to any one of claims 1 to 3, characterized in that, The device further includes: The synchronization module is used to obtain the first frame identifier of the currently displayed target image data frame, generate first synchronization information based on the first frame identifier, and send the first synchronization information to other screen controllers. The first synchronization information is used to instruct the other screen controllers to determine whether their display is synchronized with the screen controller that sent the synchronization information. When the display is not synchronized, the module adjusts its own display based on the first frame identifier.