# US 11,113,818 B1 · Timing controller and operating method thereof

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,113,818 B1
- Document ID: US11113818B1
- Status: Granted
- Kind: B1
- Application number: 16/799,861
- Filed: 2020-02-25
- Published: 2021-08-26
- Granted: 2021-09-07
- Earliest claimed: 2020-02-25
- Assignees: Himax Technologies Limited
- Applicants: Himax Technologies Limited
- Inventors: Tung-Ying Wu
- Web page: https://patentgrep.com/patent/US11113818B1

## CPC

- G06T 7/11: Region-based segmentation
- G09G 3/3208: organic, e.g. using organic light-emitting diodes [OLED]
- G06T 7/44: using image operators, e.g. filters, edge density metrics or local histograms
- G06T 7/90: Determination of colour characteristics
- G06T 2207/10004: Still image; Photographic image
- G06T 2207/20021: Dividing image into blocks, subimages or windows
- G09G 2320/0223: Compensation for problems related to R-C delay and attenuation in electrodes of matrix panels, e.g. in gate electrodes or on-substrate video signal electrodes
- G09G 2320/0285: using tables for spatial correction of display data
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G09G: ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION (arrangements for transferring data between digital computers and displays G06F3/14; static indicating arrangements comprising an association of a number of separate sources or light control cells G09F9/00; static indicating arrangements comprising integral associations of a number of light sources H01J, H01K, H10H, H05B33/12; scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission, details thereof H04N1/00)

## Abstract

A timing controller includes an image compensator for generating compensated image data. The image compensator is configured to: divide an input image into plural image blocks; select plural pixels located at one column of the image block as plural target pixels; generate an average representative gray level of the image block according to a histogram of gray levels of the image block; input the average representative gray level into a first lookup table to obtain a first gain; input a vertical pixel position of the target pixel and the average representative gray level into a second lookup table to obtain a second gain; obtain the compensated gray level by multiplying the gray level, the first gain, and the second gain of the target pixel; and replace the gray levels with the compensated gray levels to acquire the compensated image data.

## Claims

### Claim 1

A timing controller, comprising:
a receiver configured to receive image data of an input image, wherein the input image comprises a plurality of pixels;
an image compensator configured to generate compensated image data according to the image data; and
a transmitter configured to output the compensated image data such that a display device comprising the timing controller displays an image according to the compensated image data;
wherein the image compensator is further configured to:
divide the input image into a plurality of image blocks along a horizontal direction;
select the pixels located at one of columns of each of the image blocks as a plurality of target pixels;
obtain each of gray levels of the pixels;
generate an average representative gray level of each of the image blocks according to a histogram of the gray levels of each of the image blocks;
input the average representative gray level of each of the image blocks into a first lookup table to obtain a first gain of corresponding image block;
input a vertical pixel position of each of the target pixels of each of the image blocks and the average representative gray level of the corresponding image blocks into a second lookup table to obtain a second gain of the corresponding target pixel of the corresponding image block;
obtain each of compensated gray levels of the target pixels of each of the image blocks by multiplying the gray level of the corresponding target pixel, the first gain of the corresponding image block, and the second gain of the corresponding target pixel; and
replace the gray levels of the target pixels with the compensated gray levels of the corresponding target pixels, respectively, so as to acquire the compensated image data.

### Claim 2 (depends on 1)

The timing controller of claim 1,
wherein the histogram of the gray levels comprises a plurality of histogram bins corresponding to different gray level ranges;
wherein a height of one of the histogram bins represents a total pixel number of the pixels within the corresponding gray level range.

### Claim 3 (depends on 1)

The timing controller of claim 1,
wherein the pixels of one of the image blocks are arranged in rows and columns of the one of the image blocks;
wherein the target pixels of the one of the image blocks are the pixels located at a central column of the one of the image blocks.

### Claim 4 (depends on 1)

The timing controller of claim 1, wherein the average representative gray level of one of the image blocks corresponds to an average of the gray levels of the pixels of the one of the image block.

### Claim 5 (depends on 2)

The timing controller of claim 2, wherein the histogram bins respectively correspond to a plurality of weight values, wherein the image compensator is further configured to:
update the total pixel number of one of the histogram bins by multiplying the total pixel number of the one of the histogram bins and the weight value of the one of the histogram bins when generating the average representative gray level of each of the image blocks.

### Claim 6 (depends on 1)

The timing controller of claim 1, wherein the image compensator is further configured to:
perform a linear interpolation calculation to obtain the compensated gray levels of the pixels except for the target pixels; and
replace the gray levels of the pixels except for the target pixels with the compensated gray levels of the corresponding pixels except for the target pixels respectively, so as to acquire the compensated image data.

### Claim 7 (depends on 6)

The timing controller of claim 6, wherein the linear interpolation calculation comprises:
determining two adjacent target pixels which are horizontally closest to one of the pixels except for the target pixels; and
calculating the compensated gray level of the one of the pixels except for the target pixels by linear interpolating the compensated gray levels of the determined target pixels.

### Claim 8 (depends on 1)

The timing controller of claim 1,
wherein the pixels of one of the image blocks are arranged in rows and columns of the one of the image blocks;
wherein the target pixels of a first of the image blocks are the pixels located at a first column of the first of the image blocks;
wherein the target pixels of a last of the image block are the pixels located at a last column of the last of the image blocks.

### Claim 9 (depends on 5)

The timing controller of claim 5, wherein the weight value of one of the histogram bins corresponding to a lower gray level range is smaller than the weight value of another of the histogram bins corresponding to a higher gray level range.

### Claim 10 (depends on 1)

The timing controller of claim 1, wherein the second gain of one of the target pixels located at a higher vertical pixel position is smaller than the second gain of another of the target pixels corresponding to a lower vertical pixel position.

### Claim 11

An operating method of a timing controller, comprising:
providing image data of an input image comprising a plurality of pixels;
dividing the input image into a plurality of image blocks along a horizontal direction;
selecting the pixels located at one of columns of each of the image blocks as a plurality of target pixels;
obtaining each of gray levels of the pixels;
generating an average representative gray level of each of the image blocks according to a histogram of the gray levels of each of the image blocks;
inputting the average representative gray level of each of the image blocks into a first lookup table to obtain a first gain of corresponding image block;
inputting a vertical pixel position of each of the target pixels of each of the image blocks and the average representative gray level of the corresponding image blocks into a second lookup table to obtain a second gain of the corresponding target pixel of the corresponding image block;
obtaining each of compensated gray levels of the target pixels of each of the image blocks by multiplying the gray level of the corresponding target pixel, the first gain of the corresponding image block, and the second gain of the corresponding target pixel;
replacing the gray levels of the target pixels with the compensated gray levels of the corresponding target pixels, respectively, so as to acquire compensated image data; and
displaying an image via a display device comprising the timing controller according to the compensated image data.

### Claim 12 (depends on 11)

The operating method of the timing controller of claim 11,
wherein the histogram of the gray levels comprises a plurality of histogram bins corresponding to different gray level ranges;
wherein a height of one of the histogram bins represents a total pixel number of the pixels within the corresponding gray level range.

### Claim 13 (depends on 11)

The operating method of the timing controller of claim 11,
wherein the pixels of one of the image blocks are arranged in rows and columns of the one of the image blocks;
wherein the target pixels of the one of the image blocks are the pixels located at a central column of the one of the image blocks.

### Claim 14 (depends on 11)

The operating method of the timing controller of claim 11, wherein the average representative gray level of one of the image blocks corresponds to an average of the gray levels of the pixels of the one of the image block.

### Claim 15 (depends on 12)

The operating method of the timing controller of claim 12, wherein the histogram bins respectively correspond to a plurality of weight values, wherein the operating method further comprises:
updating the total pixel number of one of the histogram bins by multiplying the total pixel number of the one of the histogram bins and the weight value of the one of the histogram bins when generating the average representative gray level of each of the image blocks.

### Claim 16 (depends on 11)

The operating method of the timing controller of claim 11, further comprising:
performing a linear interpolation calculation to obtain the compensated gray levels of the pixels except for the target pixels; and
replacing the gray levels of the pixels except for the target pixels with the compensated gray levels of the corresponding pixels except for the target pixels respectively, so as to acquire the compensated image data.

### Claim 17 (depends on 16)

The operating method of the timing controller of claim 16, wherein the linear interpolation calculation comprises:
determining two adjacent target pixels which are horizontally closest to one of the pixels except for the target pixels; and
calculating the compensated gray level of the one of the pixels except for the target pixels by linear interpolating the compensated gray levels of the determined target pixels.

### Claim 18 (depends on 11)

The operating method of the timing controller of claim 11,
wherein the pixels of one of the image blocks are arranged in rows and columns of the one of the image blocks;
wherein the target pixels of a first of the image blocks are the pixels located at a first column of the first of the image blocks;
wherein the target pixels of a last of the image block are the pixels located at a last column of the last of the image blocks.

### Claim 19 (depends on 15)

The operating method of the timing controller of claim 15, wherein the weight value of one of the histogram bins corresponding to a lower gray level range is smaller than the weight value of another of the histogram bins corresponding to a higher gray level range.

### Claim 20 (depends on 11)

The operating method of the timing controller of claim 11, wherein the second gain of one of the target pixels located at a higher vertical pixel position is smaller than the second gain of another of the target pixels corresponding to a lower vertical pixel position.
