Non-Real-Time Dither Using a Programmable Matrix
First Claim
1. A dither unit comprising:
- a dither control circuit comprising a programmable dither kernel matrix, the dither control circuit configured to;
receive one or more least significant bits of a pixel component value corresponding to a pixel of an image;
receive at least a portion of horizontal and vertical coordinates indicative of a relative position of the pixel within the image;
receive an indication of a specific number of least significant bits to be truncated from the pixel component value;
truncate the one or more least significant bits from the pixel component value according to the specific number; and
generate a dither kernel value responsive to the programmable dither kernel matrix, the one or more least significant bits of the pixel component value, the specific number, and the at least a portion of the horizontal and vertical coordinates; and
an adder coupled to receive the dither kernel value and a plurality of most significant bits of the pixel component value, wherein the plurality of most significant bits exclude the specific number of least significant bits of the pixel component value, and wherein the adder is configured to add the dither kernel value to the most significant bits of the pixel value to generate a dithered output pixel value.
1 Assignment
0 Petitions
Accused Products
Abstract
A dither unit with a programmable kernel matrix in which each indexed location/entry may store one or more dither values. Each dither value in a respective entry of the kernel matrix may correspond to the number of bits that are truncated during dithering. During dithering of each pixel of an image, entries in the kernel matrix may be indexed according to the relative coordinates of the pixel within the image. A dither value for the pixel may be selected from the indexed entry based on the truncated least significant bits of the pixel component value. When the kernel matrix is storing more than one dither value per entry, the dither value may be selected based further on the number of truncated least significant bits. A dithered pixel component value may then be generated according to the dither value and the remaining most significant bits of the pixel component value.
7 Citations
23 Claims
-
1. A dither unit comprising:
-
a dither control circuit comprising a programmable dither kernel matrix, the dither control circuit configured to; receive one or more least significant bits of a pixel component value corresponding to a pixel of an image; receive at least a portion of horizontal and vertical coordinates indicative of a relative position of the pixel within the image; receive an indication of a specific number of least significant bits to be truncated from the pixel component value; truncate the one or more least significant bits from the pixel component value according to the specific number; and generate a dither kernel value responsive to the programmable dither kernel matrix, the one or more least significant bits of the pixel component value, the specific number, and the at least a portion of the horizontal and vertical coordinates; and an adder coupled to receive the dither kernel value and a plurality of most significant bits of the pixel component value, wherein the plurality of most significant bits exclude the specific number of least significant bits of the pixel component value, and wherein the adder is configured to add the dither kernel value to the most significant bits of the pixel value to generate a dithered output pixel value. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for dithering, the method comprising:
-
receiving a first number of least significant bits (LSBs) of a pixel component value corresponding to a pixel of an image; receiving at least a portion of horizontal and vertical coordinates indicative of a position of the pixel within the image; receiving a second number indicative of a number of least significant bits to be truncated from the pixel component value; receiving a third number of most significant bits (MSBs) of the pixel component value; retrieving a dither value from a programmable dither kernel matrix according to the at least a portion of horizontal and vertical coordinates, the second number, and the first number of LSBs; and generating a dithered output pixel component value from the third number of MSBs and the retrieved dither value. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A system comprising:
-
a memory element configured to store images comprising pixels, each pixel of the pixels represented by pixel component values in a specified color space; a non-real-time (NRT) peripheral unit comprising a programmable kernel matrix, and configured to; communicate with the memory element to retrieve the stored images; for each retrieved pixel of the retrieved stored images; retrieve a dither value from the programmable kernel matrix according to relative coordinates of the retrieved pixel within the image, a first number of least significant bits (LSBs) of a color component value of the retrieved pixel, and the first number; and generate a dithered color component value of the retrieved pixel based on the retrieved dither value and a second number of most significant bits (MSBs) of the color component value of the retrieved pixel, to generate dithered pixels to represent a dithered image; and store the dithered image in the memory element. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A method comprising:
-
programming a dither kernel matrix (DKM) with a plurality of values in each indexed entry of the DKM, wherein each of the plurality of values stored in a respective indexed entry corresponds to a specific number indicative of a number of least significant bits (LSBs) to be truncated from a pixel component value during dithering; indexing a respective entry of the DKM according to coordinates indicative of a relative position of a respective pixel within an image of which the respective pixel is a part; specifying a first number indicative of a number of LSBs to be truncated from the pixel component value of the respective pixel for dithering; comparing the first number of LSBs of the pixel component value of the respective pixel with a value corresponding to the first number and stored in the indexed respective entry; and generating a dithered pixel component value of the respective pixel responsive to comparing the first number of LSBs with the value corresponding to the first number and stored in the indexed respective entry. - View Dependent Claims (18, 19, 20)
-
-
21. A system comprising:
-
a memory element configured to store images comprising pixels, each pixel of the pixels represented by pixel component values in a specified color space; a programmable dither kernel matrix (DKM) configured to store a value in each entry of the DKM, wherein each stored value corresponds to a same number indicative of a specified number of least significant bits (LSBs) to be truncated from a pixel component value during dithering; a circuit coupled to the memory element and to the programmable DKM to perform dithering, wherein in performing dithering the circuit is configured to; receive a pixel component value corresponding to a pixel of an image and comprising the specified number of LSBs and a specified number of most significant bits (MSBs); receive at least a portion of horizontal and vertical coordinates indicative of a relative position of the pixel within the image; identify a respective entry in the DKM responsive to the at least a portion of horizontal and vertical coordinates; generate a dither kernel value responsive to the specified number of LSBs and the value stored in the identified respective entry of the DKM; and output a dithered pixel component value responsive to the dither kernel value and the specified number of MSBs. - View Dependent Claims (22, 23)
-
Specification