Pulse width modulation method of display device and related system, storage medium

By using a preset encoding method of binary code and temperature code to encode images in the display device, the problem of insufficient peak bandwidth at the interface between the driving circuit and the display device is solved, achieving lower peak bandwidth requirements and higher bandwidth utilization.

CN116567248BActive Publication Date: 2025-12-05HUAWEI TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210112414.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-01-29
Publication Date
2025-12-05
Estimated Expiration
2042-01-29

AI Technical Summary

Technical Problem

In the existing technology, the peak bandwidth requirement of the interface between the driving circuit of the display device and the display device is difficult to meet the requirements of high-resolution image refresh, especially when using 42T+6B encoding, the peak bandwidth requirement is too high, resulting in insufficient interface bandwidth.

Method used

The image is encoded using binary code and temperature code according to a preset encoding method. By distributing the binary code and temperature code in a specific way, at most one bit plane corresponding to a set of pixel values ​​is sent in any time slice, reducing the amount of refresh data and lowering the peak bandwidth requirement.

Benefits of technology

It effectively reduces the peak bandwidth requirement of the interface between the driving circuit and the display device, improves bandwidth utilization, and meets the refresh requirements of high-resolution images.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116567248B_ABST
    Figure CN116567248B_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide a pulse width modulation method of a display device, a related system and a storage medium. The method comprises: encoding an image according to a preset encoding mode of a binary code and a temperature code, so that a bit plane corresponding to a group of pixel values of the image is sent to the display device at most in any time slice; wherein the preset encoding mode is that the binary code and the temperature code are distributed according to a preset distribution mode, and time weight values of the binary code and the temperature code are preset values respectively, the time slice is obtained by equally dividing a display time of the image, and the group of pixel values of the image comprises one or more rows of pixel values. By using the method, the peak bandwidth requirement of an interface between a driving circuit and a display device can be effectively reduced.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of coding, and in particular to a pulse width modulation method of a display device and a related system and storage medium. BACKGROUND

[0002] Time slot: when digitally modulating a spatial light modulator or display device, a pulse width modulation (PWM) method is usually used, which divides a frame of display time into equal parts, one of which is called a time slot, representing the smallest time unit.

[0003] Bitplane: after equally dividing a frame of display time, a binary code (B code) or temperature code (T code) is used to encode it, each bit representing one or more time slot weights, which is called a bitplane.

[0004] Binary code (B code): a code whose time weight size is 2 n (n is a non-negative integer).

[0005] Temperature code (T code): a code whose time weights are basically the same.

[0006] When driving a spatial light modulator (including a liquid crystal display (LCD), a digital micromirror device (DMD), a liquid crystal on silicon (LCOS), an organic light-emitting diode (OLED), etc.) or other display device using a digital scheme, in order to display different gray scales in a pixel, a PWM pulse width modulation method is generally used to divide a frame of display time into n equal parts, which can represent n+1 gray scales. In addition, n time slots are encoded using a binary code B code or a temperature code T code to form a bitplane. For example, in order to display a 4-bit color depth pixel, the pixel can be divided into 15 equal parts in a frame of display time, and the weights of the four B codes are 1, 2, 4, and 8, respectively. By controlling the brightness of the four bitplanes, 0-15, i.e., 16 gray scales, can be displayed.

[0007] However, when using pure B code encoding, if the number of B codes is large, the B code weight of MSB is large, and when a transition similar to 011…1 to 100…0 occurs, a dynamic contour line and other effects that affect the display effect will occur. Therefore, high weight B codes are usually split into multiple identical T codes to form a T+B encoding method. For example, a 7B+7T encoding has a weight of (1, 2, 4, 8, 16, 32, 64, 128, 128, 128, 128, 128, 128, 128) for each T code and B code, and the total number of gray levels that can be represented by mB+nT (m, n are positive integers) is (n+1)*2 m If 48 bitplanes are used to implement a display panel with more than 11 bits, a 42T+6B encoding scheme can be used, and the total number of gray levels that can be implemented is 2752>2048 (2 11 ), and the maximum B code value is only 32, which can greatly reduce or eliminate the effects of dynamic contour lines, liquid crystal edge field effects, etc.

[0008] When refreshing the first bitplane B0 of the image line by line, the peak bandwidth occurs here because the time weight is only 1. For example, a 4K image (4096x2160) is refreshed at 120Hz, and a total of 48 bitplanes are used for 42T+6B encoding, which divides the display time of one frame into 2751 parts. The peak bandwidth requirement B=4096x2160x120x2751=2.66Tbps, and the interface bandwidth between the driving circuit and the display device is difficult to meet this requirement. Therefore, a technical solution is needed to reduce the peak bandwidth requirement. SUMMARY

[0009] The application discloses a pulse width modulation method of a display device and related systems and storage media, which can effectively reduce the peak bandwidth requirement of the interface between the driving circuit and the display device.

[0010] In a first aspect, an embodiment of the application provides a pulse width modulation method of a display device, comprising:

[0011] encoding the image according to the binary code and the temperature code according to a preset encoding method, so that at most one bitplane corresponding to a group of pixel values of the image is sent to the display device in any time slice; wherein the preset encoding method is that the binary code and the temperature code are distributed according to a preset distribution method, and the time weight values of the binary code and the temperature code are respectively preset values, the time slice is obtained by equally dividing the display time of the image, and the group of pixel values of the image includes one or more rows of pixel values.

[0012] The binary code and the temperature code are distributed according to a preset distribution mode. It can be understood that the binary code and the temperature code are based on a specific arrangement order, and the number of time slices satisfying a specific offset between groups.

[0013] In the embodiment of the application, the image is encoded according to the binary code and the temperature code in a preset encoding mode, and then a bit plane corresponding to a pixel value of at least one row in the image is sent to a display device, so that the display device displays an image corresponding to the bit plane. The binary code and the temperature code are distributed according to a preset distribution mode, and the time weight values of the binary code and the temperature code are respectively preset values. This can achieve that at most one bit plane corresponding to a group of pixel values of the image is sent to the display device in any time slice. This can achieve that less data is refreshed in a time slice, the peak bandwidth demand is lower, and the peak bandwidth demand of an interface between a driving circuit and a display device can be effectively reduced.

[0014] The preset distribution mode includes that the accumulated values of the time weight values of the consecutive P codes starting from the i-th code cannot be divided by the number of offset time slices, and the obtained remainders are all different. The number of offset time slices is a time difference of sending the bit planes of the adjacent two groups of pixel values to the display device. The consecutive Q+1 codes starting from the i-th code include at least n temperature codes. n is a minimum value of the number of temperature codes between adjacent two binary codes. The i-th code is any code in the binary code and the temperature code. P=1, 2, …, Q. Q is a positive integer, and n is an integer greater than or equal to 1.

[0015] The minimum value of the number of offset time slices is the initial number of temperature codes between adjacent two binary codes+1.

[0016] This method can achieve that less data is refreshed in a time slice, the peak bandwidth demand is lower, and the peak bandwidth demand of an interface between a driving circuit and a display device can be effectively reduced.

[0017] Optionally, the number of offset time slices is an integer greater than 1, and the number of offset time slices cannot be divided by the time weight value of any binary code.

[0018] This method can ensure that when grouping is offset, the number of non-overlapping groups is larger. The smaller the number of rows in each group is, the lower the peak bandwidth demand is.

[0019] Further, the preset distribution mode further includes that for any two adjacent binary codes, the remainders obtained by dividing the time weight values of the two adjacent binary codes by the number of offset time slices are the same, or the sum of the obtained remainders is equal to the number of offset time slices.

[0020] By means of the method, the number of non-overlapping groups can be increased, so that the number of rows in each group is less, and the peak bandwidth requirement is lower.

[0021] Preferably, the time weight value of the at least one temperature code is the sum of m times of the number of the offset time slices and the initial time weight value of the at least one temperature code, the initial time weight value of the at least one temperature code is determined according to the number of the binary codes, and m is a non-zero integer.

[0022] By means of the method, the number of non-overlapping groups can be increased, so that the number of rows in each group is less, and the peak bandwidth requirement is lower.

[0023] The number of temperature codes distributed between any two adjacent binary codes is the same.

[0024] By means of the method, the number of non-overlapping groups can be increased, so that the number of rows in each group is less, and the peak bandwidth requirement is lower.

[0025] Optionally, the pixel value of each group of the image is the pixel value of at least one randomly selected row in the image, or

[0026] The pixel value of each group of the image is the pixel value of a plurality of consecutive rows in the image.

[0027] Further, the method further comprises:

[0028] The bit planes corresponding to the pixel value of at least one row in the image are sequentially sent to the display device.

[0029] The pixel value of the at least one row is the pixel value of the same group, and the sequentially sending the bit planes corresponding to the pixel value of at least one row in the image to the display device comprises:

[0030] The bit planes corresponding to the pixel value of the same group in the image are sequentially sent to the display device.

[0031] That is, the pixel value of multiple rows can be grouped, each group has multiple rows, and then the bit planes corresponding to the pixel value of the same group are sent to the display device each time.

[0032] The pixel value of one row can also be taken as a group when being sent, and then the bit planes corresponding to the pixel value of multiple groups are sent to the display device each time, and the present solution does not make specific limitation on this.

[0033] In a second aspect, the embodiments of the present application provide a driving chip, which comprises a processor and a data interface, the processor reads instructions stored on a memory through the data interface to realize the method of any one of the first aspect.

[0034] Optionally, as an implementation form, the chip can further include a memory, and the memory stores instructions, and the processor is configured to execute the instructions stored in the memory, and when the instructions are executed, the processor is configured to execute the pulse width modulation method of the display device.

[0035] According to the preset encoding mode, the image is encoded according to the binary code and the temperature code, and then the bit plane corresponding to the pixel value of at least one row in the image is sent to the display device, so that the display device displays the image corresponding to the bit plane. Wherein, the binary code and the temperature code are distributed according to the preset distribution mode, and the time weight values of the binary code and the temperature code are preset values respectively, so that at most one bit plane corresponding to a group of pixel values of the image can be sent to the display device in any time slice, so that the data refreshed in a time slice is less, the peak bandwidth demand is lower, and then the peak bandwidth demand of the interface between the driving circuit and the display device can be effectively reduced.

[0036] In a third aspect, the embodiment of the present application provides a display module, including a display screen and the driving chip as described in the second aspect.

[0037] In a fourth aspect, the embodiment of the present application provides an electronic device, including the driving chip as described in the second aspect or the display module as described in the third aspect.

[0038] In a fifth aspect, the present application provides a computer storage medium, including computer instructions, when the computer instructions run on an electronic device, the electronic device executes the method provided in any possible implementation form of the first aspect.

[0039] In a sixth aspect, the embodiment of the present application provides a computer program product, when the computer program product runs on a computer, the computer executes the method provided in any possible implementation form of the first aspect.

[0040] It can be understood that the driving chip provided in the second aspect, the display module provided in the third aspect, the electronic device provided in the fourth aspect, the computer storage medium provided in the fifth aspect or the computer program product provided in the sixth aspect are all used to execute the method provided in any aspect of the first aspect. Therefore, the beneficial effects that can be achieved are referred to the beneficial effects in the corresponding method, which will not be described here. BRIEF DESCRIPTION OF DRAWINGS

[0041] The drawings used in the embodiments of the present application are described below.

[0042] Figure 1 is a system schematic diagram of a display module provided by the embodiment of the present application;

[0043] Figure 2is a flowchart of a pulse width modulation method of a display device provided by an embodiment of the present application;

[0044] Figure 3 is a flowchart of another pulse width modulation method of a display device provided by an embodiment of the present application;

[0045] Figure 4a is a temperature code distribution diagram provided by an embodiment of the present application;

[0046] Figure 4b is another temperature code distribution diagram provided by an embodiment of the present application;

[0047] Figure 5 is an encoding distribution diagram provided by an embodiment of the present application;

[0048] Figure 6a is an encoding distribution diagram provided by an embodiment of the present application;

[0049] Figure 6b is another encoding distribution diagram provided by an embodiment of the present application;

[0050] Figure 7 is a structural diagram of a pulse width modulation device of a display device provided by an embodiment of the present application;

[0051] Figure 8 is a structural diagram of another pulse width modulation device of a display device provided by an embodiment of the present application. DETAILED DESCRIPTION

[0052] The embodiments of the present application are described below with reference to the accompanying drawings. The terms used in the implementation manner part of the embodiments of the present application are only used to explain the specific embodiments of the present application, and are not intended to limit the present application.

[0053] In the field of video coding, the terms "picture", "frame" or "image" can be used as synonyms.

[0054] Video encoding can be implemented by processing circuitry such as one or more microprocessors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), discrete logic circuitry, hardware, video encoding specific processors, or any combinations thereof. The processing circuitry can be used to execute various operations as discussed below. If some of the techniques are implemented in software, the devices can store instructions for the software in a suitable, non-transitory computer-readable storage medium, and execute the instructions in hardware using one or more processors to perform the techniques of this disclosure.

[0055] Referring to Figure 1 As shown in FIG. 1, a schematic diagram of a display module is provided. The display module can include a driving chip 101 and a display device 102. After the driving chip 101 obtains an input image source, the driving chip 101 converts the image into a plurality of bit planes according to a preset T+B encoding mode, and transmits the plurality of bit planes to the display device 102 or a spatial light modulator through a high-speed data interface such as LVDS to refresh pixel values. The display device 102 displays based on the plurality of bit planes received. When transmitted to the spatial light modulator, an external light source is needed for input, and finally a display image is obtained. The display device can be a display screen, and the present application does not make specific limitations thereto.

[0056] The image can be one frame or multiple frames, and the present application does not make specific limitations thereto.

[0057] Referring to Figure 2 As shown in FIG. 2, a flowchart of a pulse width modulation method of a display device is provided. The method includes steps 201-202, and the details are as follows.

[0058] 201. Encode the image according to a preset encoding mode based on a binary code and a temperature code, so that in any time slice, the display device is transmitted at most one bit plane corresponding to a group of pixel values of the image; wherein the preset encoding mode is that the binary code and the temperature code are distributed according to a preset distribution mode, and the time weight values of the binary code and the temperature code are respectively preset values, the time slice is obtained by dividing the display time of the image, and the group of pixel values of the image includes one or more rows of pixel values;

[0059] The execution subject of this embodiment can be a driving chip. For example, based on the above-mentioned preset encoding mode, the driving chip can transmit at most one bit plane corresponding to a group of pixel values of the image to the display device in any time slice.

[0060] The preset distribution manner can be a specific arrangement of the binary code and the temperature code. The specific arrangement can enable a bit plane corresponding to a group of pixel values of an image to be sent to the display device most in any time slice.

[0061] The preset encoding manner can be in the form of Bx+mT+By. That is, a plurality of T codes are arranged between two adjacent B codes.

[0062] The binary code (B code) includes an encoding with a time weight size of 2 n (n is a non-negative integer).

[0063] The temperature code (T code) is an encoding with a same time weight between codes.

[0064] B is the B code, T is the T code, x and y are integers greater than or equal to 0, and represent the subscripts of the B code. m is a positive integer, and represents the number of T codes.

[0065] The time slice is a time slice obtained by equally dividing the display time of each frame of image.

[0066] The binary code and the temperature code are encoded, and the number of bit planes obtained after the encoding is the sum of the number of the binary code and the number of the temperature code. That is, when the encoding manner is 42T+6B, there are 42 T and 6 B, that is, there are 48 bit planes.

[0067] The sum of the time weight values of the binary code and the temperature code is the number of the time slice. That is, B0+B1+B2+…+T0+T1+T2+…=the number of time slices.

[0068] The group of pixel values is a group of pixel values of one or more rows of the image. It can be understood that a plurality of groups of pixel values can be obtained by grouping a plurality of rows of pixel values of the image.

[0069] Based on the preset encoding manner, a bit plane corresponding to a group of pixel values can be sent to the display device most in any time slice. That is, only a certain bit plane of a group is refreshed in each time slice.

[0070] Bitplane (bit plane), that is, after equally dividing the display time of a frame of image, the image is encoded by using the binary code B code or the temperature code T code. Each bit represents one or more time slot weights, and is called a bit plane.

[0071] As shown in Table 1, only one bit plane of the first group is refreshed in time slice 1, only one bit plane of the first group is refreshed in time slice 2, no bit plane is refreshed in time slice 3, only one bit plane of the second group is refreshed in time slice 4, only one bit plane of the second group is refreshed in time slice 5, and so on. Based on this method, the bit plane is refreshed between groups without overlap.

[0072] Table 1

[0073]

[0074] The above encoding of the image yields multiple bit planes of the image.

[0075] 202. The bit planes corresponding to the pixel values ​​of at least one row in the image are sequentially sent to the display device.

[0076] After encoding the image using the aforementioned preset encoding method to obtain multiple bit planes corresponding to the image, the bit planes corresponding to the pixel values ​​of each group in the image are sent to the display device in time slice order.

[0077] Alternatively, after encoding the image using the aforementioned preset encoding method to obtain multiple bit planes corresponding to the image, the bit planes corresponding to the pixel values ​​of any row in the image are sent to the display device in time-slice order. Specifically, during transmission, a row of pixel values ​​can be grouped together, and then, based on the number of time slices of the offset between groups, the bit planes corresponding to multiple groups of pixel values ​​are sent to the display device each time. This solution does not impose specific limitations on this.

[0078] Preferably, the optimal peak bandwidth requirement can be determined based on the above two methods, and then the transmission can be carried out in the optimal way.

[0079] In this application, only one frame of image is used as an example for illustration. When there are multiple frames of images, the processing method is the same as the processing method for one frame. This solution does not make specific limitations on this.

[0080] In this embodiment, an image is encoded according to a preset encoding method based on binary code and temperature code. This allows the bit plane corresponding to at least one row of pixel values ​​in the image to be sent to a display device, enabling the display device to display the image corresponding to the bit plane. The binary code and temperature code are distributed according to a preset distribution method, and their time weights are preset values. This ensures that at most one set of pixel values ​​corresponding to one bit plane of the image is sent to the display device within any given time slice. This results in less data being refreshed within a time slice, lower peak bandwidth requirements, and effectively reduces the peak bandwidth requirements of the interface between the driving circuit and the display device.

[0081] The specific encoding method of the embodiments of this application will be described in detail below. (Refer to...) Figure 3 The diagram shown is a schematic flowchart of a pulse width modulation method for a display device provided in an embodiment of this application. The method includes steps 301-307, as detailed below:

[0082] 301. Determine the number of binary codes and the number of temperature codes;

[0083] As an optional implementation, the number of binary codes and the number of temperature codes can be determined based on the display parameters required by the display device.

[0084] For example, to display pixels with an 11-bit color depth, a display device requires a total of 2048 gray levels. Based on this, one possible implementation is to use 48 bit planes to achieve a display panel with more than 11 bits. Correspondingly, the number of binary codes is 6, the number of temperature codes is 42, and the total number of gray levels that can be achieved is 2752.

[0085] 302. Determine the initial number of temperature codes between two adjacent binary codes based on the number of binary codes and the number of temperature codes;

[0086] The method employs a Bx+mT+By arrangement, distributing the T codes relatively evenly among the B codes. If multiple B codes are arranged together, they will form a locally dense distribution, which is prone to overlapping with other positions during offset. Therefore, by distributing the T codes relatively evenly among the B codes, overlap can be effectively avoided.

[0087] like Figure 4a As shown, when multiple B's are arranged together, they tend to overlap. For example... Figure 4b As mentioned above, overlapping can be avoided by distributing the T codes relatively evenly among adjacent B codes. Preferably, the T codes are evenly distributed among the B codes. That is, the number of T codes between any two adjacent B codes is the same. However, the number of T codes between any two adjacent B codes can also fluctuate within a small range, for example, T0 is 16, T1 is 18, T2 is 19, etc.

[0088] 303. Determine the number of time slices for inter-group offset based on the initial number of temperature codes between two adjacent binary codes;

[0089] Group the image into multiple rows. Each group can contain either a series of consecutive rows or a series of discretely selected rows. Each group can contain one row or multiple rows.

[0090] As a preferred implementation, each group contains the same number of rows.

[0091] The number of time slices offset between two adjacent groups is an integer greater than 1, and the number of time slices offset cannot be divided by the time weight value of the binary code.

[0092] Specifically, the minimum number of time slices for the offset is the initial number of T codes + 1.

[0093] The above binary code can be 2 n The offset is the number of time slices, for example, 3, 5, 6, etc.

[0094] For example, when the above binary code is 1, 1, 3, 6, 12, 24, etc., the offset number of time slices can be selected as 4, 5, 7, etc.

[0095] 304. Determine the distribution of binary codes based on the remainder obtained by dividing each binary code by the number of time slices of inter-group offset;

[0096] Preferably, for any two adjacent binary codes, the remainders obtained by dividing the time weight values ​​of the two adjacent binary codes by the number of offset time slices are the same, or the sum of the remainders obtained is equal to the number of offset time slices.

[0097] For example, B codes with the same remainder can be distributed in adjacent positions, or B codes whose sum of remainders equals the number of time slices offset can be distributed in adjacent positions.

[0098] 305. Determine the time weight value of each temperature code and the distribution of temperature codes between two adjacent binary codes according to preset conditions. The preset conditions are that the cumulative value of the time weight values ​​of the P consecutive codes starting from the i-th code cannot be divided evenly by the number of offset time slices, and the remainders are all different. The number of offset time slices is the time difference between the bit planes of the two adjacent sets of pixel values ​​sent to the display device. The Q+1 consecutive codes starting from the i-th code include at least n temperature codes, where n is the minimum number of temperature codes between two adjacent binary codes. The i-th code is any code among the binary codes and temperature codes. P = 1, 2, ..., Q, where Q is a positive integer and n is an integer not less than 1.

[0099] by Figure 5 Taking B0 encoding as an example, the cumulative values ​​of one and two consecutive codes starting from B0, i.e., B0 and B0+T0, are not divisible by the number of time slices offset, and the remainders are all different. Here, Q=2, because the Q+1 consecutive codes starting from B0 are B0, T0, and T1, which contain two T codes. Figure 5 The encoding n=2, therefore the condition is satisfied.

[0100] Similarly, for T0, the cumulative value of a consecutive code starting from T0, i.e., T0 itself, cannot be divided by the number of offset time slices, and the remainders are all different. In this case, Q = 1, because the consecutive Q+1 codes starting from T0 are T0 and T1, which contain two T codes, and also satisfy the condition.

[0101] For T1, the cumulative values ​​of one and two consecutive codes starting from T1, namely T1 and T1+B1, are not divisible by the number of offset time slices, and the remainders are all different. Here, Q=2. The Q+1 consecutive codes starting from T1 are T1, B1, and T2, which contain two T codes. The code n=2 in the figure also satisfies the condition.

[0102] For B1 encoding, the cumulative values ​​of one and two consecutive codes starting from B1, namely B1 and B1+T2, are not divisible by the number of offset time slices, and the remainders are all different. Here, Q=2, and the Q+1 consecutive codes starting from B1 are B1, T2, and T3, which contain two T codes. Since the encoding in the figure is n=2, the condition is satisfied.

[0103] By analogy, the time weight value of each temperature code, the number of temperature codes between two adjacent binary codes, and the distribution of temperature codes can be determined.

[0104] One approach is to increase certain initial T-code time weight values ​​by an integer multiple of the offset, thereby increasing the total offset and the number of groups. This reduces the number of rows in each group after rounding up, further lowering the peak bandwidth requirement.

[0105] Furthermore, while keeping the number of rows in each group unchanged after rounding, the weights of some T-codes can be reduced by an integer multiple of the offset, thereby reducing the number of time slices allocated and lowering the peak bandwidth requirement.

[0106] The time weight value of the T-code can be adjusted based on the above method. For example... Figure 6a As shown, when T codes are evenly distributed, overlap is likely to occur. For example... Figure 6b As shown, overlap is avoided by fine-tuning the time weight values ​​of certain T codes.

[0107] Furthermore, based on the uniform distribution of T codes described above, additional T codes can be added between two adjacent binary codes for buffering. This is because some T code values ​​may be related to both the preceding B code Bx and the following B code By. Considering the requirements of Bx, it may not be possible to meet the value requirements of By. Therefore, adding several T codes decouples them.

[0108] The above is just one example. Other methods can be used to achieve the above preset conditions. This solution does not impose any specific limitations on this.

[0109] As a specific example, for an input source with a 4K (4096x2160) 120Hz refresh rate, 48 bitplanes (42T+6B) are used for encoding. Based on the above method, the arrangement order of each T code and B code, the time weight value (i.e., code value), and the number of time slices offset between groups can be determined.

[0110] Specifically, the initial number of T codes between two adjacent B codes is first determined based on 6 binary codes and 42 temperature codes. The 42 temperature codes are evenly distributed, resulting in 7 T codes between two adjacent B codes. However, considering that the T codes may be used for decoupling later, the initial number of T codes is 6.

[0111] Then, the minimum number of time slices for the inter-group offset is determined based on the initial number of T codes between two adjacent B codes: offset = 6 + 1 = 7.

[0112] Based on the remainder obtained by dividing each B code by the number of time slices of the offset, B codes with the same remainder are placed together, or two B codes whose sum of remainders equals the number of time slices of the offset are arranged in adjacent positions. For example, if the six B codes are 1, 2, 4, 8, 16, 32, then 1 and 8 have the same remainder when divided by 7, 2 and 16 have the same remainder when divided by 7, and 4 and 32 have the same remainder when divided by 7. Therefore, the distribution of the B codes is 1, 8, 2, 16, 4, 32.

[0113] The initial distribution determined at this point is:

[0114] 1,T,T,T,T,T,T,

[0115] 8,T,T,T,T,T,T,

[0116] 2,T,T,T,T,T,T,

[0117] 16,T,T,T,T,T,T,

[0118] 4,T,T,T,T,T,T,

[0119] 32,T,T,T,T,T,T.

[0120] Then, the time weight value of each temperature code and the distribution of temperature codes between two adjacent binary codes are determined sequentially according to preset conditions. The preset conditions are that the cumulative value of the time weight values ​​of the P consecutive codes starting from the i-th code cannot be divided by the number of offset time slices, and the remainders are all different. The number of offset time slices is the time difference between the bit planes of the two adjacent sets of pixel values ​​sent to the display device. The Q+1 consecutive codes starting from the i-th code include at least n temperature codes, where n is the minimum number of temperature codes between two adjacent binary codes. The i-th code is any code among the binary codes and temperature codes. P = 1, 2, ..., Q, where Q is a positive integer and n is an integer not less than 1.

[0121] Starting from B0, the number of T codes is increased sequentially based on the aforementioned preset conditions, and / or the time weight values ​​of the T codes are fine-tuned to achieve the above conditions. For example, to ensure the offset of nT by ensuring that the sum of the accumulated weight values ​​is not divisible by 7, a T code for transition is added between the two B codes 8 and 2; as another example, a T code for transition is added between the two B codes 16 and 4; and four T codes for transition are added between the two B codes 32 and 1, etc.

[0122] Based on the above method, a coding arrangement can be obtained as follows:

[0123] 1,64,64,64,64,64,64,

[0124] 8,64,64,64,64,64,65,62,

[0125] 2,64,64,64,64,65,62,

[0126] 16,64,64,64,64,65,64,64,

[0127] 4,67,64,64,65,64,64,

[0128] 32,60,64,64,65,64,64,64,64,64,64.

[0129] Based on the above coding arrangement and inter-group offset, there can be a maximum of 55 non-overlapping groups. Therefore, with 2160 rows, each group can contain 40 rows of pixel values. The peak bandwidth requirement B = 40 x 4096 x 120 x 2751 = 50.37 Gbps, a significant reduction compared to the unoptimized 2.66 Tbps.

[0130] Furthermore, by adding an offset to the time weight values ​​of some T-codes, an encoding arrangement can be obtained as follows:

[0131] 1,71,64,64,64,64,64,

[0132] 8,64,64,64,64,64,72,62,

[0133] 2,64,64,64,64,72,62,

[0134] 16,64,64,64,64,65,71,64,

[0135] 4,67,64,64,65,71,64,

[0136] 32,60,64,64,65,64,71,64,64,64,64.

[0137] This results in 56 groups being allocated, with an average of 39 rows per group. The peak bandwidth requirement B = 39 x 4096 x 120 x 2793 = 49.86 Gbps, which further reduces the peak bandwidth requirement.

[0138] The above is just one example; other arbitrary coding distributions are also possible, and this scheme does not impose any specific limitations on them.

[0139] 306. Encode the image according to the encoding method determined by the distribution of the binary code and temperature code, their time weight values, and the number of offset time slices, to obtain multiple bit planes corresponding to the image;

[0140] The number of this bit plane is the sum of the number of binary codes and temperature codes.

[0141] 307. The bit planes corresponding to the pixel values ​​of at least one row in the image are sequentially sent to the display device so that the display device can display the image corresponding to the bit planes.

[0142] After encoding the image based on the above coding distribution, the bit plane can be sent sequentially based on the above groups.

[0143] Alternatively, multiple rows of bit planes can be refreshed sequentially for each time slice to send data. Specifically, during transmission, a row of pixel values ​​can be grouped together, and then, based on the number of time slices of offset between groups, the bit planes corresponding to multiple groups of pixel values ​​can be sent to the display device each time. This solution does not impose specific limitations on this approach.

[0144] Preferably, the optimal peak bandwidth requirement can be determined based on the above two methods, and then the transmission can be carried out in the optimal way.

[0145] In this embodiment, the distribution of binary and temperature codes, along with a time weight value, is determined based on the number of binary codes, the number of temperature codes, and the number of offset time slices. The image is then encoded using an encoding method determined by the distribution of the binary and temperature codes, their time weight values, and the number of offset time slices. At least one row of pixel values ​​corresponding to a bit plane in the image is sent to the display device so that the display device can display the image corresponding to that bit plane. This method allows for the transmission of at most one set of pixel values ​​corresponding to one bit plane to the display device within any given time slice. This results in less data being refreshed within a single time slice, lower peak bandwidth requirements, and effectively reduced peak bandwidth requirements at the interface between the driving circuit and the display device.

[0146] Reference Figure 7 As shown in the description of the pulse width modulation method embodiment for the display device above, this embodiment of the invention also discloses a pulse width modulation device for a display device, referring to... Figure 7 , Figure 7 The pulse width modulation device for the display device provided in this embodiment of the invention includes an encoding module 701 and a transmitting module 702, wherein:

[0147] The encoding module 701 is used to encode an image according to a preset encoding method based on binary code and temperature code, so that at most one bit plane corresponding to a set of pixel values ​​of the image is sent to the display device within any time slice; wherein, the preset encoding method is that the binary code and temperature code are distributed according to a preset distribution method, and the time weight values ​​of the binary code and temperature code are preset values ​​respectively, the time slice is obtained by equally dividing the display time of the image, and the set of pixel values ​​of the image includes one or more rows of pixel values;

[0148] The sending module 702 is used to sequentially send the bit plane corresponding to the pixel values ​​of at least one row in the image to the display device.

[0149] The preset distribution method includes the following: the cumulative value of the time weight of P consecutive codes starting from the i-th code cannot be divided by the number of offset time slices, and the remainders are all different. The number of offset time slices is the time difference between the bit planes of the two adjacent sets of pixel values ​​sent to the display device. The Q+1 consecutive codes starting from the i-th code include at least n temperature codes, where n is the minimum number of temperature codes between two adjacent binary codes. The i-th code is any code among the binary codes and temperature codes. P = 1, 2, ..., Q, where Q is a positive integer and n is an integer not less than 1.

[0150] Optionally, the number of time slices for the offset is an integer greater than 1, and the number of time slices for the offset cannot be divided by any time weight value of the binary code.

[0151] The preset distribution method further includes that for any two adjacent binary codes, the time weight values ​​of the two adjacent binary codes are divided by the number of time slices of the offset, and the remainders obtained are the same, or the sum of the remainders obtained is equal to the number of time slices of the offset.

[0152] Preferably, the time weight value of the at least one temperature code is the sum of m times the number of offset time slices and the initial time weight value of the at least one temperature code, wherein the initial time weight value of the at least one temperature code is determined according to the number of binary codes, and m is a non-zero integer.

[0153] Furthermore, the number of temperature codes distributed between any two adjacent binary codes is the same.

[0154] Wherein, each group of pixel values ​​in the image is the pixel value of at least one randomly selected row in the image, or,

[0155] Each set of pixel values ​​in the image represents the pixel values ​​of several consecutive rows in the image.

[0156] The pixel values ​​of the at least one row are pixel values ​​of the same group, and the sending module 702 is used to send the bit planes corresponding to the same group of pixel values ​​in the image to the display device in sequence.

[0157] In this embodiment, an image is encoded according to a preset encoding method based on binary code and temperature code. This allows the bit plane corresponding to at least one row of pixel values ​​in the image to be sent to a display device, enabling the display device to display the image corresponding to the bit plane. The binary code and temperature code are distributed according to a preset distribution method, and their time weights are preset values. This ensures that at most one set of pixel values ​​corresponding to one bit plane of the image is sent to the display device within any given time slice. This results in less data being refreshed within a time slice, lower peak bandwidth requirements, and effectively reduces the peak bandwidth requirements of the interface between the driving circuit and the display device.

[0158] It is worth noting that the specific functional implementation of the pulse width modulation device in the display device can be found in the description of the pulse width modulation method of the display device described above, and will not be repeated here. Each unit or module in the pulse width modulation device of the display device can be individually or entirely merged into one or more other units or modules, or some of the units or modules can be further divided into multiple functionally smaller units or modules. This achieves the same operation without affecting the technical effect of the embodiments of the present invention. The above-mentioned units or modules are based on logical function division. In practical applications, the function of one unit (or module) can also be implemented by multiple units (or modules), or the function of multiple units (or modules) can be implemented by one unit (or module).

[0159] Based on the description of the above method and device embodiments, this invention also provides a pulse width modulation device for a display device.

[0160] Please see Figure 8 This is a schematic diagram of the structure of a pulse width modulation device for a display device provided in an embodiment of the present invention. Figure 8 The pulse width modulation device 800 of the display device shown (specifically, this device 800 can be a computer device) includes a memory 801, a processor 802, a communication interface 803, and a bus 804. The memory 801, processor 802, and communication interface 803 are interconnected via the bus 804.

[0161] The memory 801 can be a read-only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM).

[0162] The memory 801 can store a program. When the program stored in the memory 801 is executed by the processor 802, the processor 802 and the communication interface 803 are used to execute the various steps of the pulse width modulation method of the display device in this application embodiment.

[0163] The processor 802 may be a general-purpose central processing unit (CPU), microprocessor, application specific integrated circuit (ASIC), graphics processing unit (GPU), or one or more integrated circuits, used to execute related programs to implement the functions required by the units in the pulse width modulation device of the display device in the embodiments of this application, or to execute the pulse width modulation method of the display device in the method embodiments of this application.

[0164] The processor 802 can also be an integrated circuit chip with signal processing capabilities. In implementation, each step of the pulse width modulation method for the display device of this application can be completed by the integrated logic circuits in the hardware of the processor 802 or by instructions in software form. The aforementioned processor 802 can also be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly embodied in the execution of a hardware decoding processor, or can be executed by a combination of hardware and software modules in the decoding processor. The software modules can be located in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. The storage medium is located in the memory 801. The processor 802 reads the information in the memory 801 and, in conjunction with its hardware, performs the functions required by the units included in the pulse width modulation device of the display device in this application embodiment, or executes the pulse width modulation method of the display device in this application method embodiment.

[0165] The communication interface 803 uses transceiver devices, such as, but not limited to, transceivers, to enable communication between the device 800 and other devices or communication networks. For example, data can be acquired through the communication interface 803.

[0166] Bus 804 may include a pathway for transmitting information between various components of device 800 (e.g., memory 801, processor 802, communication interface 803).

[0167] It should be noted that, although Figure 8 The illustrated device 800 only shows the memory, processor, and communication interface. However, those skilled in the art should understand that in specific implementations, device 800 may also include other devices necessary for normal operation. Furthermore, depending on specific needs, those skilled in the art should understand that device 800 may also include hardware devices for implementing other additional functions. Moreover, those skilled in the art should understand that device 800 may only include the devices necessary for implementing the embodiments of this application, and may not necessarily include... Figure 8 All the devices shown.

[0168] This application embodiment also provides a driver chip, which includes a processor and a data interface. The processor reads instructions stored in the memory through the data interface to implement the pulse width modulation method of the display device.

[0169] Optionally, as one implementation, the chip may further include a memory storing instructions, and the processor is used to execute the instructions stored in the memory. When the instructions are executed, the processor is used to execute the pulse width modulation method of the display device.

[0170] This application also provides a display module, including a display screen and the aforementioned driver chip.

[0171] This application also provides an electronic device, including the aforementioned driver chip or display module.

[0172] This application also provides a computer-readable storage medium storing instructions that, when executed on a computer or processor, cause the computer or processor to perform one or more steps of any of the above methods.

[0173] This application also provides a computer program product containing instructions. When the computer program product is run on a computer or processor, it causes the computer or processor to perform one or more steps of any of the methods described above.

[0174] Those skilled in the art will appreciate that the functionality described in conjunction with the various illustrative logic blocks, modules, and algorithmic steps disclosed herein can be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functionality described by the various illustrative logic blocks, modules, and steps can be stored or transmitted as one or more instructions or codes on a computer-readable medium and executed by a hardware-based processing unit. The computer-readable medium may comprise a computer-readable storage medium, which corresponds to a tangible medium, such as a data storage medium, or a communication medium that includes any medium facilitating the transfer of a computer program from one place to another (e.g., based on a communication protocol). In this way, the computer-readable medium may substantially correspond to (1) a non-transitory tangible computer-readable storage medium, or (2) a communication medium, such as a signal or carrier wave. The data storage medium may be any available medium accessible by one or more computers or one or more processors to retrieve instructions, code, and / or data structures for implementing the techniques described in this application. A computer program product may comprise a computer-readable medium.

[0175] By way of example and not limitation, such computer-readable storage media may include RAM, ROM, EEPROM, CD-ROM or other optical disc storage devices, magnetic disk storage devices or other magnetic storage devices, flash memory, or any other media that can be used to store desired program code in the form of instructions or data structures and is accessible by a computer. Furthermore, any connection is properly referred to as computer-readable media. For example, if instructions are transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of media. However, it should be understood that the computer-readable storage media and data storage media do not include connections, carrier waves, signals, or other temporary media, but are specifically addressed to non-temporary tangible storage media. As used herein, disks and optical discs include compact optical discs (CDs), laser optical discs, optical discs, digital versatile optical discs (DVDs), and Blu-ray discs, where disks typically reproduce data magnetically, while optical discs reproduce data optically using lasers. The combination of the above items should also be included in the scope of computer-readable media.

[0176] Instructions can be executed by one or more processors, such as digital signal processors (DSPs), general-purpose microprocessors, application-specific integrated circuits (ASICs), field-programmable arrays (FPGAs), or other equivalent integrated or discrete logic circuits. Therefore, the term "processor" as used herein can refer to any of the foregoing structures or any other structures suitable for implementing the techniques described herein. Furthermore, in some aspects, the functionality described in the various illustrative logic blocks, modules, and steps described herein can be provided within dedicated hardware and / or software modules configured for encoding and decoding, or incorporated into combined codecs. Moreover, the techniques can be fully implemented within one or more circuit or logic elements.

[0177] The technology of this application can be implemented in a wide variety of devices or apparatuses, including wireless handheld devices, integrated circuits (ICs), or a set of ICs (e.g., chipsets). The various components, modules, or units described in this application are intended to emphasize functional aspects of the apparatus for performing the disclosed technology, but do not necessarily need to be implemented by different hardware units. In fact, as described above, the various units can be combined with suitable software and / or firmware within coded hardware units, or provided via interoperable hardware units (containing one or more processors as described above).

[0178] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the specific descriptions of the corresponding steps in the foregoing method embodiments, and will not be repeated here.

[0179] It should be understood that in the description of this application, unless otherwise stated, " / " indicates that the objects before and after it are in an "or" relationship. For example, A / B can represent A or B; where A and B can be singular or plural. Furthermore, in the description of this application, unless otherwise stated, "multiple" refers to two or more. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can represent: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple. Additionally, to facilitate a clear description of the technical solutions of the embodiments of this application, the terms "first" and "second" are used in the embodiments of this application to distinguish identical or similar items with substantially the same function and effect. Those skilled in the art will understand that the terms "first" and "second" do not limit the quantity or execution order, and the terms "first" and "second" do not necessarily imply difference. In this application, the terms "exemplary" or "for example" are used to indicate that something is an example, illustration, or description. Any embodiment or design described as "exemplary" or "for example" in this application should not be construed as being better or more advantageous than other embodiments or designs. Specifically, the use of terms such as "exemplary" or "for example" is intended to present the relevant concepts in a specific manner to facilitate understanding.

[0180] In the embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the division of units is merely a logical functional division, and in actual implementation, there may be other division methods. For instance, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. The coupling, direct coupling, or communication connection shown or discussed between each other may be indirect coupling or communication connection through some interfaces, apparatuses, or units, and may be electrical, mechanical, or other forms.

[0181] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0182] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product. This computer program product includes one or more computer instructions. When these computer program instructions are loaded and executed on a computer, all or part of the flow or function according to the embodiments of this application is generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in or transmitted through a computer-readable storage medium. The computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium accessible to a computer or a data storage device such as a server or data center that integrates one or more available media. The available media can be read-only memory (ROM), random access memory (RAM), or magnetic media, such as floppy disks, hard disks, magnetic tapes, magnetic disks, or optical media, such as digital versatile discs (DVDs), or semiconductor media, such as solid-state disks (SSDs).

[0183] The above description is merely a specific implementation of the embodiments of this application, but the protection scope of the embodiments of this application is not limited thereto. Any changes or substitutions within the technical scope disclosed in the embodiments of this application should be covered within the protection scope of the embodiments of this application. Therefore, the protection scope of the embodiments of this application should be determined by the protection scope of the claims.

Claims

1. A pulse width modulation method for a display device, characterized in that, include: The image is encoded according to a preset encoding method based on binary code and temperature code, so that at most one bit plane corresponding to a set of pixel values ​​of the image is sent to the display device within any time slice; wherein, the preset encoding method is that the binary code and temperature code are distributed according to a preset distribution method, and the time weight values ​​of the binary code and temperature code are preset values ​​respectively, the time slice is obtained by equally dividing the display time of the image, and the set of pixel values ​​of the image includes one or more rows of pixel values.

2. The method according to claim 1, characterized in that, The preset distribution method includes the following: the cumulative value of the time weight of P consecutive codes starting from the i-th code cannot be divided by the number of offset time slices, and the remainders are all different. The number of offset time slices is the time difference between the bit planes of two adjacent sets of pixel values ​​sent to the display device. The Q+1 consecutive codes starting from the i-th code include at least n temperature codes, where n is the minimum number of temperature codes between two adjacent binary codes. The i-th code is any code among the binary codes and temperature codes. P = 1, 2, ..., Q, where Q is a positive integer and n is an integer not less than 1.

3. The method according to claim 2, characterized in that, The number of time slices for the offset is an integer greater than 1, and the number of time slices for the offset cannot be divided by any time weight value of the binary code.

4. The method according to claim 2 or 3, characterized in that, The preset distribution method also includes that for any two adjacent binary codes, the time weight values ​​of the two adjacent binary codes are divided by the number of time slices of the offset, and the remainders obtained are the same, or the sum of the remainders obtained is equal to the number of time slices of the offset.

5. The method according to any one of claims 2 to 4, characterized in that, The time weight value of at least one temperature code is the sum of m times the number of time slices of the offset and the initial time weight value of the at least one temperature code, wherein the initial time weight value of the at least one temperature code is determined according to the number of binary codes, and m is a non-zero integer.

6. The method according to any one of claims 1 to 5, characterized in that, The number of temperature codes distributed between any two adjacent binary codes is the same.

7. The method according to any one of claims 1 to 6, characterized in that, Each group of pixel values ​​in the image is the pixel value of at least one randomly selected row in the image, or... Each set of pixel values ​​in the image represents the pixel values ​​of several consecutive rows in the image.

8. The method according to any one of claims 1 to 7, characterized in that, The method further includes: The bit planes corresponding to the pixel values ​​of at least one row in the image are sequentially sent to the display device.

9. The method according to claim 8, characterized in that, The pixel values ​​of at least one row belong to the same group of pixel values, and the step of sequentially sending the bit planes corresponding to the pixel values ​​of at least one row in the image to the display device includes: The bit planes corresponding to the same group of pixel values ​​in the image are sequentially sent to the display device.

10. A driver chip, characterized in that, The driver chip includes a processor and a data interface. The processor reads instructions stored in the memory through the data interface to implement the method described in any one of claims 1 to 9.

11. A display module, characterized in that, Includes a display screen and the driver chip as described in claim 10.

12. An electronic device, characterized in that, Includes the driver chip of claim 10 or the display module of claim 11.

13. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that is executed by a processor to implement the method of any one of claims 1 to 9.

Citation Information

Patent Citations

  • Error correcting encoder for D / A converter

    CN1567729A

  • Image processing method and image processing apparatus using least significant bits

    US20090285497A1