The present disclosure relates to a Light emitting diode (LED) display method and apparatus for scanning control of an LED driver.
Since the LED display has a faster response time than a Liquid-crystal display (LCD), the LED display has a flickering issue. In conventional LED driver architectures, one ping-pong frame buffer has been provided in order to reduce the flickering of LED with a higher refresh rate, where the ping-pong frame buffer stores video data so that each scan section can be lit up simultaneously, and each line can be refreshed several times within one frame to reduce or eliminate the flickering of the LED.
However, the ping pong frame buffer adds the cost and may cause further frame delay. In particular, the ping-pong frame buffer SRAM size is proportional (e.g., two times 2×) to the driving pixel number capacity. However, with ping-pong frame buffer, there is a latency of one frame, which cannot be avoided. Accordingly, there is a need for new methods or apparatus that reduce flickering of LED displays.
This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. It is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
According to an exemplary embodiment, a method for operating an LED display is provided, which uses a ping-pong line buffer and a single frame buffer to reduce the SRAM hardware cost, for example, by half and the latency, for example, from one frame to one scan line. In particular, the method includes: storing a Nth scan line data in a line buffer, wherein N is a natural number equal or more than one; storing the Nth scan line data in a frame buffer; displaying the Nth scan line data stored in the line buffer; during the displaying of the Nth scan line data stored in the line buffer, storing a (N+1)th scan line data in the line buffer; storing the (N+1)th scan line data in the frame buffer; displaying the (N+1)th scan line data stored in the line buffer; during the displaying of the (N+1)th scan line data stored in the line buffer, storing a (N+2)th scan line data in the line buffer; storing the (N+2)th scan line data in the frame buffer; and displaying the (N+2)th scan line data stored in the line buffer.
Also, in an exemplary embodiment, the method further includes: displaying the Nth scan line data stored in the frame buffer; displaying the (N+1)th scan line data stored in the frame buffer; and displaying the (N+2)th scan line data stored in the frame buffer. Further, the scan line data stored in the frame buffer is sequentially displayed from the Nth scan line data to the (N+2)th scan line data in the same order as being previously displayed from the line buffer. The steps of claim 1 are repeated until (N+M)th scan line data stored in the line buffer is displayed, wherein M is a predetermined natural number more than N. The method further comprises displaying the scan line data stored in the frame buffer from the Nth scan line data to the (N+M)th scan line data, wherein M is a predetermined natural number.
In another exemplary embodiment, the method may include: storing a Nth scan line data in a line buffer, wherein N is a natural number equal or more than one; displaying the Nth scan line data stored in the line buffer; during the displaying of the Nth scan line data stored in the line buffer, storing the Nth scan line data in a frame buffer, and storing a (N+1)th scan line data in the line buffer; displaying the (N+1)th scan line data stored in the line buffer; during the displaying of the (N+1)th scan line data stored in the line buffer, storing the (N+1)th scan line data in the frame buffer, and storing a (N+2) th scan line data in the line buffer; displaying the (N+2)th scan line data stored in the line buffer; and during the displaying of the (N+2)th scan line data stored in the line buffer, storing the (N+2)th scan line data in the frame buffer.
Further, in an exemplary embodiment, the scan line data stored in the frame buffer is sequentially displayed from the Nth scan line data to the (N+M)th scan line data in the same order as being previously displayed from the line buffer. The line buffer is a ping-pong line buffer which is configured to be toggled in each step of storing scan line data. scan line data is stored in the frame buffer from the line buffer. A size of the line buffer is configured to store each scan line data from the Nth scan line data to the (N+M)th scan line data. A size of the frame buffer is configured to store all scan line data from the Nth scan line data to the (N+M)th scan line data.
According to another exemplary embodiment, an apparatus of an LED display is provided. The apparatus includes: a line buffer; a frame buffer; and a processor and a memory device communicatively coupled to the a processor, and the a memory device stores instructions operable when executed by the processor to perform the steps of: storing a Nth scan line data in a line buffer, wherein N is a natural number equal or more than one; storing the Nth scan line data in a frame buffer; displaying the Nth scan line data stored in the line buffer; during the displaying of the Nth scan line data stored in the line buffer, storing a (N+1)th scan line data in the line buffer; storing the (N+1)th scan line data in the frame buffer; displaying the (N+1)th scan line data stored in the line buffer; during the displaying of the (N+1)th scan line data stored in the line buffer, storing a (N+2)th scan line data in the line buffer; storing the (N+2)th scan line data in the frame buffer; and displaying the (N+2)th scan line data stored in the line buffer.
In another exemplary embodiment, the a memory device may store instructions operable when executed by the processor to perform the steps of: storing a Nth scan line data in a line buffer, wherein N is a natural number equal or more than one; displaying the Nth scan line data stored in the line buffer; during the displaying of the Nth scan line data stored in the line buffer, storing the Nth scan line data in a frame buffer, and storing a (N+1)th scan line data in the line buffer; displaying the (N+1)th scan line data stored in the line buffer; during the displaying of the (N+1)th scan line data stored in the line buffer, storing the (N+1)th scan line data in the frame buffer, and storing a (N+2) th scan line data in the line buffer; displaying the (N+2)th scan line data stored in the line buffer; and during the displaying of the (N+2)th scan line data stored in the line buffer, storing the (N+2)th scan line data in the frame buffer.
Also, in an exemplary embodiment, the memory device stores instructions operable when executed by the processor to further perform the steps of: displaying the Nth scan line data stored in the frame buffer; displaying the (N+1)th scan line data stored in the frame buffer; and displaying the (N+2)th scan line data stored in the frame buffer. The scan line data stored in the frame buffer is sequentially displayed, by the processor, from the Nth scan line data to the (N+2)th scan line data in the same order as being previously displayed from the line buffer. The memory device stores instructions operable when executed by the processor to repeat the steps of claim 1 until (N+M)th scan line data stored in the line buffer is displayed, wherein M is a predetermined natural number more than N. The memory device stores instructions operable when executed by the processor to further perform displaying the scan line data stored in the frame buffer from the Nth scan line data to the (N+M)th scan line data, wherein M is a predetermined natural number.
Further, in an exemplary embodiment, the scan line data stored in the frame buffer is sequentially displayed, by the processor, from the Nth scan line data to the (N+M)th scan line data in the same order as being previously displayed from the line buffer. The line buffer is a ping-pong line buffer which is configured to be toggled in each step of storing scan line data. scan line data is stored in the frame buffer from the line buffer. A size of the line buffer is configured to store each scan line data from the Nth scan line data to the (N+M)th scan line data. A size of the frame buffer is configured to store all scan line data from the Nth scan line data to the (N+M)th scan line data.
Advantages of embodiments of the present invention will be apparent from the following detailed description of the exemplary embodiments thereof, which description should be considered in conjunction with the following drawings.
Aspects of the invention are disclosed in the following description and related drawings directed to specific embodiments of the invention. Alternate embodiments may be devised without departing from the spirit or the scope of the invention. Additionally, well-known elements of exemplary embodiments of the invention will not be described in detail or will be omitted so as not to obscure the relevant details of the invention. Further, to facilitate an understanding of the description discussion of several terms used herein follows.
As used herein, the word “exemplary” means “serving as an example, instance or illustration.” The embodiments described herein are not limiting, but rather are exemplary only. It should be understood that the described embodiments are not necessarily to be construed as preferred or advantageous over other embodiments. Moreover, the terms “embodiments of the invention”, “embodiments” or “invention” do not require that all embodiments of the invention include the discussed feature, advantage or mode of operation.
Further, many embodiments are described in terms of sequences of actions to be performed by, for example, elements of a computing device. It will be recognized that various actions described herein can be performed by specific circuits (e.g., application specific integrated circuits (ASICs)), by program instructions being executed by one or more processors, or by a combination of both.
Additionally, these sequence of actions described herein can be considered to be embodied entirely within any form of computer readable storage medium having stored therein a corresponding set of computer instructions that upon execution would cause an associated processor to perform the functionality described herein. Thus, the various aspects of the invention may be embodied in a number of different forms, all of which have been contemplated to be within the scope of the claimed subject matter. In addition, for each of the embodiments described herein, the corresponding form of any such embodiments may be described herein as, for example, “logic configured to” perform the described action.
According to an exemplary embodiment, and referring generally to the Figures, various exemplary implementations of a scrambled progressive scan architecture for an LED driver may be disclosed. According to an exemplary embodiment, the scrambled progressive scan architecture for the LED driver may use a ping-pong line buffer and a single frame buffer, which reduces the SRAM hardware cost, for example, by half. Such an architecture can be beneficial for fine pitch or mini/micro LED driver, which requires a large driving pixel capacity become bigger and bigger. Also, in an exemplary embodiment, using ping-pong line buffer instead of the frame buffer can reduce the latency, for example, from one frame to one scan line.
Turning now to
In an exemplary embodiment, each frame period may be divided into S segments (sub frames) and each segment has time period (Tsubframe) about 1/frame/S, which may increase the refresh rate from Frame_rate to Frame_rate*S. In the case of a 120 Hz frame rate and 6 segments, the refresh rate may be 1/120/6*le3=1.3889 ms. Also, in an exemplary embodiment, each subframe may be divided into Z number of zones vertically. Each zone has a scan zone number of scan_line, which equals to Total_SCAN/Z. For example, in a 1K LED display panel of 1920 (channels)×1080 (scan lines) that is divided into 6 zones, each zone has scan zone=1080/6=180 scan lines. In case of a vertical scan case, the total number of pixels in each zone is 1920(H)×180(V). H stands for horizontal while V stands for vertical.
Further, according to an exemplary embodiment, each zone may be controlled by multiple LED drivers working together to enable the full horizontal range. For example, for an LED driver driving 60 (channel)×180 (scan) pixels case, each zone requires 1920/60=32 drivers. In the case of a 120 Hz frame rate and 6 segments or subframes. Its scan display period is subframe period/scan zone=1/(120×6)/180=1.3889 ms/180=7.716 us. In an exemplary embodiment, the segment of frame is represented in the format of “S(egment)_F(rame)”. Thus, the segments of frame_0 is “S0_F0-S5_F0” while “S0_F1-S5_F1” is the segments of frame_1. Also, in an exemplary embodiment, the data is represented as the format of “F(rame)_S(egment)_Z(one)_CX(scan)”. For example, “F0_S0_Z0_CX0” is the data for Frame_0, Segment_0, Zone_0 and SCAN_line_0. New scan line data is transferred and stored into ping-pong line buffer during when the proceeding scanline is being displayed.
According to an exemplary embodiment, when the proceeding scan line is completely displayed and the scan line change signal trigged, LED driver toggle the ping-pong line buffer and displays the new scan line data. The new scan line data is stored into frame buffer. In an exemplary embodiment, toggling the ping-pong line buffer and storing into frame buffer do not need to be performed simultaneously. According to an exemplary embodiment, new scan line data can be stored into the frame buffer as long as the line buffer has been updated. However, having both occurring at the same time affords better timing control.
Turning now to
According to an exemplary embodiment, displaying the current scan line data and storing the current scan line data into the frame buffer may occur at the same time. Accordingly, in each scan period, the LED driver may display the current scan line data and receive the next scan line data in the line buffer. Once the change scan line signal is received, the driver may swap the ping-pong line buffer to change the display content and store the content into the frame buffer. after all scan lines in each zone have been displayed within a segment (subframe), the Zone data of all scan lines may already be stored in the frame buffer, and the stored data may be used to display in the following segments.
Referring still to
According to an exemplary embodiment, all Frame_N data may be transferred into LED driver from the start to the end of Frame_N, but the display may start from Frame_N and end within Frame_N+1. The latency of the exemplary embodiment can be only “one scan line” comparing with the conventional architecture which generally has one frame delay.
Turning now to
Referring now to
Referring now to
Turning now to
The foregoing description and accompanying figures illustrate the principles, preferred embodiments and modes of operation of the invention. However, the invention should not be construed as being limited to the particular embodiments discussed above. Additional variations of the embodiments discussed above will be appreciated by those skilled in the art (for example, features associated with certain configurations of the invention may instead be associated with any other configurations of the invention, as desired).
Therefore, the above-described embodiments should be regarded as illustrative rather than restrictive. Accordingly, it should be appreciated that variations to those embodiments can be made by those skilled in the art without departing from the scope of the invention as defined by the following claims.
This application claims the benefit of priority under 35 U.S.C. § 119 to U.S. Provisional Application No. 63/381,856, filed on Nov. 1, 2022, and the entire contents of which are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
63381856 | Nov 2022 | US |