WO2007140462A2 - Method and apparatus for spatial and temporal dithering - Google Patents

Method and apparatus for spatial and temporal dithering Download PDF

Info

Publication number
WO2007140462A2
WO2007140462A2 PCT/US2007/070107 US2007070107W WO2007140462A2 WO 2007140462 A2 WO2007140462 A2 WO 2007140462A2 US 2007070107 W US2007070107 W US 2007070107W WO 2007140462 A2 WO2007140462 A2 WO 2007140462A2
Authority
WO
WIPO (PCT)
Prior art keywords
dither
pixel
addend
display position
addends
Prior art date
Application number
PCT/US2007/070107
Other languages
French (fr)
Other versions
WO2007140462A3 (en
Inventor
Franck Seigneret
Jean Noel
Original Assignee
Texas Instruments Incorporated
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from EP06290886A external-priority patent/EP1862995A1/en
Application filed by Texas Instruments Incorporated filed Critical Texas Instruments Incorporated
Publication of WO2007140462A2 publication Critical patent/WO2007140462A2/en
Publication of WO2007140462A3 publication Critical patent/WO2007140462A3/en

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • G09G3/2007Display of intermediate tones
    • G09G3/2044Display of intermediate tones using dithering
    • G09G3/2051Display of intermediate tones using dithering with use of a spatial dither pattern
    • G09G3/2055Display of intermediate tones using dithering with use of a spatial dither pattern the pattern being varied in time
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed

Definitions

  • the invention generally relates to image information conversion. More particularly, the invention relates to spatial dithering and temporal dithering of pixels in one or more frames of image information.
  • a display controller typically receives information from a processor or memory storage device and transmits the information to a display device.
  • the information typically consists of rows of pixels configured to display images, such as pictures, text, and frames of video, stored in the memory storage device.
  • each pixel contains red, green, and blue components that may vary in intensity to form specific colors.
  • a 12-bit pixel may form 4,096 (2 12 ) different colors with four bits representing the red component, four bits representing the green component, and four bits representing the blue component. Each bit may be either of the two binary digits 0 or 1.
  • a 16-bit pixel may form 65,536 (2 16 ) different colors with five bits representing each red and blue component, and six bits representing the green component.
  • a 24-bit pixel may form 16,777,216 (2 24 ) different colors with eight bits representing each red, green, and blue component, and so on.
  • Display devices capable of displaying many colors are visually pleasing to a user. Accordingly, users may prefer a display system containing 16-bit pixels over 8-bit pixels and a display system containing 24-bit pixels over 16-bit pixels.
  • using pixels with a large storage size may not be possible in all display systems.
  • Display systems that use large- storage- size pixels may require a large bandwidth, a large memory storage capacity, long image processing times, and increased power consumption.
  • display systems using large pixel storage sizes may not be appropriate.
  • a method including: providing a first pixel, wherein the first pixel comprises at least one color component of a first size; determining a dither addend; adding the dither addend to the color component; and rounding the color component to a second size.
  • an apparatus to manipulate one or more pixels operable to: provide a first pixel, wherein the first pixel comprises at least one color component of a first size; determine a dither addend; add the dither addend to the color component; and round the color component to a second size.
  • a computer program product on a computer operable medium, the computer program product comprising instructions effective to provide a first pixel, wherein the first pixel comprises at least one color component of a first size; determine a dither addend; add the dither addend to the color component; and round the color component to a second size.
  • FIG. 1 shows, in accordance with some embodiments of the invention, a system that includes a display controller, a camera controller, a direct memory access (DMA) controller, and a processor;
  • a display controller a camera controller
  • DMA direct memory access
  • FIG. 2a shows, in accordance with some embodiments of the invention, a representation of a 24-bit pixel containing 8-bit red, green, and blue components;
  • FIG. 2b shows, in accordance with some embodiments of the invention, a representation of an 18-bit pixel containing 6-bit red, green, and blue components;
  • FIG. 3a shows, in accordance with some embodiments of the invention, a flowchart illustrating a method for spatially dithering a pixel
  • FIG. 3b shows, in accordance with some embodiments of the invention, a flowchart further detailing the method for spatially dithering a pixel shown in FIG. 3a
  • FIG. 3c shows, in accordance with some embodiments of the invention, a flowchart illustrating an alternative method for spatially dithering a pixel
  • FIG. 4 shows, in accordance with some embodiments of the invention, a device operable to spatially dither a pixel
  • FIG. 5 shows, in accordance with some embodiments of the invention, a flowchart illustrating a method for filtering components of pixels to facilitate spatial dithering
  • FIG. 6 shows, in accordance with some embodiments of the invention, an example of the method for spatially dithering a pixel illustrated in FIG. 3b;
  • FIG. 7 shows, in accordance with some embodiments of the invention, a flowchart illustrating a method for spatially and temporally dithering frames of pixels.
  • a first pixel containing at least one color component is provided.
  • a dither addend is determined and added to the color component.
  • the color component is then rounded to a second size.
  • pixel storage size may be reduced and the image may appear to contain more colors than are capable of being displayed for the pixel storage size.
  • the dither addend for each pixel may be determined in response to determining a display position of the pixel.
  • the image may be a still image or a video image.
  • a first frame for displaying the first pixel is provided.
  • the dither addend may correspond to the first frame.
  • the first pixel may also be displayed in one or more additional frames, and additional dither addends may be determined corresponding to the additional frames.
  • the dither addend and the additional dither addends may be different from each other.
  • a first pixel containing at least one color component is provided.
  • a dither addend is determined, and the color component is rounded to a second size.
  • the dither addend which may be a binary value of 0 or 1, may then be added to the color component.
  • pixel storage size may be reduced and the image may appear to contain more colors than are capable of being displayed with that pixel storage size.
  • the dither addend for each pixel may be determined in response to determining a display position of the pixel. Referring to a system 100 in FIG.
  • a bus 130 connects to a display controller 125, a camera controller 120, a DMA controller 115, a processor 150, a memory device 135, and a peripheral device 140.
  • System 100 may be an application- specific integrated circuit (ASIC), a system-on-chip (SOC), a mobile phone, a computer system, or any type of electronic device.
  • Information such as data, instructions, and control sequences, may transfer between the components of system 100 through bus 130.
  • Image information for example, may transfer from memory device 135 through bus 130 to display controller 125.
  • Display controller 125 displays the image information on a display device 160 coupled to display controller 125.
  • Display device 160 may contain a thin-film transistor (TFT) display, a super twisted nematic (STN) display, a liquid crystal display (LCD), a cathode ray tube (CRT) display, or other type of display device.
  • TFT thin-film transistor
  • STN super twisted nematic
  • LCD liquid crystal display
  • Image information may consist of rows of pixels configured to display images, such as pictures, text, and frames of video, when transferred to display device 160.
  • FIG. 2a shows a representation of a 24-bit pixel 200 (stored in memory device 135, for example) containing eight bits representing the red component 205 of pixel 200, eight bits representing the green component 210 of pixel 200, and eight bits representing the blue component 215 of pixel 200.
  • the red, green, and blue components may vary in intensity to form a specific color.
  • Each 8 -bit component for example, represents the intensity for a particular color (red, green, or blue).
  • a value of 1111111 Ib for the 8-bit component represents the greatest possible intensity, while a value of 00000000b for the component represents the lowest possible intensity.
  • FIG. 2b shows an 18-bit pixel 250 containing six bits for the red 255, green 260, and blue 265 components. Pixels may also be represented by 16 bits, 12 bits, more than 24 bits, and so on.
  • a 12-bit pixel for example, may represent 4,096 different colors with four bits representing each red, green, and blue component.
  • a 16-bit pixel may represent 65,536 different colors with five bits representing each red and blue component, and six bits representing the green component.
  • a 24-bit pixel may represent 16,777,216 different colors.
  • processor 150, DMA controller 115, and camera controller 120 may be capable of writing pixel information to memory device 135.
  • camera controller 120 may receive pixel information from a camera device 155 coupled to camera controller 120 and write the pixel information to memory device 135.
  • Camera controller 120, DMA controller 115, and display controller 125 may contain dithering devices 110a-c capable of receiving pixels, passing the pixels through a dithering filter described below, and reducing the storage size of the dithered pixels.
  • the dithering filter may change the color intensity of the pixels of an image in a pattern that appears to the eye to contain more colors than are capable of being displayed for that pixel storage size. This may be described as spatial dithering.
  • dithering device 110 may use spatial dithering to reduce the pixel storage size without significantly reducing the quality of the image to the human eye.
  • Dithering devices 1 lOa-c may reduce the time of pixel transfer in system 100 and may thus reduce bus 130 bandwidth necessary for pixel transfer, reduce storage requirements in memory device 135, reduce image processing times, and decrease power consumption involved in image transfer.
  • Dithering devices 110a-c may contain digital logic circuitry or analog circuitry. In some embodiments of the invention, dithering devices 110a-c may use software or a combination of software and hardware to perform the operations described above and below.
  • camera controller 120 may pass 24-bit pixels (see FIG. 2a) from camera device 155 to dithering device HOb.
  • Dithering device HOb passes the 24-bit pixels through the dithering filter and reduces the 24-bit pixels to 18-bit pixels (see FIG. 2b).
  • the 18-bit pixels may be stored in memory device 135 for later display on display device 160.
  • the 18- bit pixels take up less storage space in memory device 135 than the 24-bit pixels, thereby potentially reducing the storage requirements of memory device 135.
  • processor 150 or a graphics controller may perform image processing on the 18- bit filtered pixels faster than the original 24-bit pixels, thus decreasing processing demand on processor 150 and potentially reducing the power consumption of processor 150 or the graphics controller (not shown in FIG. 1).
  • the dithering device HOb may also convert 24-bit pixels to 16-bit pixels, 18-bit pixels to 12-bit pixels, and so on.
  • Dithering device 110a in DMA controller 115 may pass pixels transferred between components in system 100 through the dithering filter and reduce the storage size of the dithered pixels.
  • peripheral device 140 may be a universal serial bus (USB) port connected to a personal computer.
  • DMA controller 115 may be capable of transferring information from the USB port to memory device 135.
  • the DMA controller 115 may pass image information containing pixels to dithering device 110a, and dithering device 110a may pass the pixels through the dithering filter and reduce the storage size of the pixels.
  • DMA controller 115 then transfers the dithered pixels to memory device 135.
  • display controller 125 may also contain dithering device 110c.
  • Dithering device 110c may receive pixels from memory device 135, pass the pixels through the dithering filter, and reduce the pixel storage size to a size suitable for display on display device 160.
  • display controller 125 may receive image information from memory device 135 for display on display device 160.
  • the image information from memory device 135 may contain 18-bit pixels and display device 160 may only be capable of displaying 12-bit pixels.
  • the dithering device 110c filters the 18-bit pixels and reduces the size of the dithered pixels to 12 bits.
  • display device 160 may display the image information from memory device 135.
  • dithering devices 110a-c in system 100 may reduce bus 130 bandwidth necessary for pixel transfer, reduce storage requirements in memory device 135, reduce image processing times, and thereby decrease power consumption involved in image transfer without significantly reducing the quality of the image to the human eye.
  • FIG. 3a a flowchart illustrating spatial dithering of an image is shown beginning in block 335.
  • a pixel containing at least one color component is provided in block 340.
  • a dither addend is determined in block 345, and the dither addend is added to the color component in block 350.
  • the color component is rounded to a second size in block 355.
  • pixel storage size may be reduced and the image may appear to contain more colors than are capable of being displayed for the pixel storage size.
  • the process illustrated by the flowchart shown in FIG. 3a may be performed by dithering devices 1 lOa-c shown in FIG. 1.
  • the spatial dithering process described above may be applied to two-by-two blocks of pixels in an image. Dither addends for each neighboring pixel in the two-by-two blocks may be different from each other. By applying this process to a plurality of pixel blocks in an image, pixel storage size may be reduced and the image may appear to contain more colors than are capable of being displayed for the pixel storage size.
  • FIG. 4 in accordance with some embodiments of the inventions, a device operable to spatially dither an image is shown.
  • a dither addend determiner 402 may receive a pixel from, for example, a processor (not shown) or direct memory access device (not shown) through a connection 401.
  • Dither addend determiner 402 determines a dither addend and passes the dither addend and pixel to an adder 403 capable of adding the dither addend and pixel and passing the sum to a rounder 404.
  • Rounder 404 may round the sum and pass the rounded sum through a connection 406 to a memory storage device (not shown), for example, or display screen (not shown).
  • FIG. 3b shows a flowchart further detailing the spatial dithering process shown in FIG. 3a.
  • the spatial dithering process begins in at block 300.
  • a pixel is received from an image information source such as DMA controller 115, memory device 135, or camera controller 120 (see FIG. 1).
  • an image consists of rows of pixels to be displayed on a display device.
  • a least significant bit of a horizontal display position of the pixel in the image is assigned to a value XO
  • a least significant bit of a vertical display position of the pixel in the image is assigned to a value of YO, as shown in block 310.
  • the vertical and horizontal display positions of the pixel may be relative to the upper left hand corner of the image.
  • the horizontal and vertical display positions of the pixel from the image information source may be received and the least significant bits identified, or a counter may be used to determine the horizontal and vertical display positions of the pixel based on the number of rows of pixels and the number of pixels per row of the image.
  • a dither addend is calculated using the XO and YO values representing the least significant bit of the horizontal display position of the pixel and the least significant bit of the vertical display position of the pixel, respectively.
  • the dither addend is equal to YO added to the one -bit- left- shifted result, represented by the symbol " «" followed by the number one, of an exclusive or (XOR) function on XO and YO.
  • the XOR function output is detailed in Table 1 below for different XO and YO input values:
  • the dither addend When XO equals 0 and YO equals 1, the dither addend equals 1 Ib and so on.
  • the dither addend may alternatively be selected from Table 2, as shown in block 312.
  • values for the dither addend may be stored in a lookup table, and the values may be accessed based on the XO and YO values of the pixel.
  • the dither addend values may be hardwired or hardcoded to the values shown in Table 2.
  • the dither addend values in Table 2 may be rotated clockwise or counterclockwise by one, two, or three values.
  • Table 3 below represents the dither addend values in Table 2 rotated clockwise by one value:
  • Formula one described above may be modified to produce the dither addend values in Table 2 rotated clockwise or counterclockwise by one, two, or three values.
  • the pixel is separated into red, green, and blue components.
  • the pixel may contain a gray component or other color components (not shown in FIG. 3b).
  • each component is filtered, as shown in FIG. 5, by adding the dither addend to each component and rounding the component.
  • the dither addend may vary according to the color of the pixel.
  • the filtered components are combined in block 325, and the filtered pixel is outputted in block 330. As described above, by applying this process to a plurality of pixels in an image, pixel storage size may be reduced and the image may appear to contain more colors than are capable of being displayed for that pixel storage size.
  • FIG. 5 a flowchart illustrating operation of the filter shown in block 320 in FIG. 3b is shown.
  • the operation of the filter begins at block 500.
  • the number of least significant bits to be removed from the component is determined in block 510.
  • dithering device 110 may determine in block 510 that four least significant bits are to be removed from each color component.
  • a 4-bit color component will be produced from blocks 320 in FIG. 3b.
  • 3b may be added to the most significant bits of the least significant bits to be removed from the component, as shown in block 515.
  • dithering device 110c in display controller 125 may be designed to receive an 18-bit pixel consisting of three 6-bit color components (red, green, and blue) and output a 12-bit pixel to display device 160.
  • Each 12-bit pixel may contain three 4-bit components. Two least significant bits from each color component are removed to reduce the output pixel to 12 bits.
  • the dither addend is calculated and added to the second bit and first bit, respectively, of each color component of the 18-bit pixel using binary addition.
  • the color component is set to the maximum intensity value. For example, if the value of a red component of an 18-bit pixel is 111110b and a dither addend of 1 Ib is added to two least significant bits of the red component, the component is set to 11111 Ib, the maximum intensity value for a 6-bit component, rather than 1000001b, which the component is incapable of storing.
  • the least significant bits of the color component are truncated to create a filtered component.
  • the two least significant bits of each color component are removed in block 525 to produce the 12-bit pixel containing three 4-bit components.
  • each color component from the 18-bit pixel may be right shifted by two bits to reduce the pixel size after adding the dither addend value.
  • the filtered component is then outputted in block 530 and combined with the remaining color components in FIG. 3b to output a filtered pixel.
  • the dither addend value may be subtracted from the color component before removing the least significant bits to create a filtered component.
  • FIG. 6 shows an example of the operation of dithering device 110b in camera controller 120.
  • the operation of dithering device 110b begins at block 600.
  • dithering device 110b receives a 24-bit pixel from an image captured by camera device 155.
  • Dithering device 110b filters the 24-bit pixel and reduces the filtered pixel to an 18-bit pixel to be stored in memory device 135 (see FIG. 1).
  • Dithering device 110b assigns a least significant bit of a horizontal display position of the pixel to a value XO and a least significant bit of a vertical display position of the pixel to a value of YO, as shown in block 610.
  • XO is assigned a value of 0
  • YO is assigned a value of 1, indicating that the pixel is in an even horizontal position and an odd vertical position relative to the top left corner of the image.
  • the dither addend is calculated as 1 Ib using Formula 1 and the XO and YO values.
  • dither addend is selected from Table 2 using the XO and YO values in block 612.
  • the 24-bit pixel is separated into 8-bit red, green, and blue components in blocks 615, 620, and 625, respectively.
  • the dither addend is added to the most significant bits of the least significant bits to be removed from each color component, as shown in blocks 630, 635, and 640.
  • the dither addend value of 1 Ib is added to two least significant bits of the red component in block 630 to produce an output of 01110000b.
  • Dithering device 110b then removes two least significant bits from each pixel component in blocks 645, 650, and 655, reducing each color component to 6 bits.
  • the color components may be right shifted by two bits to remove the least significant bits of each color component.
  • the 6-bit red, green, and blue components may be combined to form an 18-bit filtered pixel in block 660.
  • the 18-bit pixel shown in block 660, 011100100111001110b, represents a light green color similar to the light green color of the 24-bit pixel in block 605.
  • the filtered 18-bit pixel is stored in memory device 135.
  • Dithering device 110b then receives the next pixel from the image from camera device 155 and begins operation on the pixel at block 600.
  • dithering device 110b reduces pixel storage size without reducing the quality of the image to the human eye. As described above, reducing the pixel storage size of the image stored in memory device 135 reduces bus 130 bandwidth necessary for image transfer, reduces storage requirements in memory device 135, reduces image processing times, and decreases power consumption involved in image transfer.
  • a flowchart illustrating an alternative method of spatial dithering of an image is shown beginning in block 360.
  • a pixel containing at least one color component is provided in block 365.
  • a dither addend is determined in block 370.
  • the color component is rounded to a second size in block 375.
  • the dither addend is added to the rounded color component in block 380.
  • pixel storage size may be reduced and the image may appear to contain more colors than are capable of being displayed for the pixel storage size.
  • the process illustrated by the flowchart shown in FIG. 3c may be performed by dithering device 110 shown in FIG. 1.
  • the dither addend may be determined by the display position of the pixel and the values of the most significant bits of the least significant bits to be removed from the pixel when rounded.
  • Tables 4a-d illustrate dither addend values for a conversion from a 24-bit pixel to an 18 -bit pixel in which two least significant bits are removed from each color component.
  • the dither addends are selected from Table 4a when the two least significant bits of a color component are equal to 00b.
  • Table 4b is used when the two least significant bits of a color component are equal to 01b.
  • Table 4c is used when the two least significant bits of a color component are equal to 10b.
  • Table 4d is used when the two least significant bits of a color component are equal to 1 Ib.
  • a dither addend for a red color component with a value of 0110101 Ob may be selected from Table 4c based on the two least significant bits. If the display position of the pixel containing the red color component is in an odd row and an even column, the dither addend is a 1. Thus, the dither addend value is added to the red component once the two least significant bits are removed to produce a value of 011011b.
  • Tables 4a-d may be used for dithering pixel conversions of other sizes, such as converting 24-bit pixels to 12-bit pixels and so on. As described above, Tables 4a-4d may be used to select dither addend values based on the display position of the pixel and the values of the most significant bits of the least significant bits to be removed from the pixel when rounded.
  • pixel color intensity in an image may change according to a specific pattern that changes over time, causing the image to appear to contain more colors than are capable of being displayed for the pixel storage size when viewed by the human eye. This may be described as temporal dithering.
  • FIG. 7 a flowchart illustrating spatial and temporal dithering of an image is shown beginning in block 700.
  • the frame may, for example, be received from a source such as DMA controller 115, memory device 135, or camera controller 120 in FIG. 1.
  • a frame of image information consists of rows of pixels representing an image to be displayed on a display device.
  • a filter x is determined in block 710. As described below, filter x indicates which dither addend formula to use when filtering components of a pixel received in block 715.
  • the filter x value may vary based on the frame number of the frame containing the pixel. In some embodiments of the invention, filter x is determined based on the value of N modulo a frame rate mode, where N represents the frame number of frame N and the frame rate mode represents the number of different dither addend formulas.
  • dithering device 110 may use a frame rate mode of one, representing one dither addend formula to use to filter pixel components received in different frames. In some other embodiments, dithering device 110 may use a frame rate mode of four, representing four different dither addend formulas to use to filter pixel components received in different frames.
  • a pixel may be received from frame N.
  • a least significant bit of a horizontal display position of the pixel is assigned to XO, and a least significant bit of a vertical display position of the pixel is assigned to YO, as shown in block 720.
  • a dither addend value is calculated using the XO and YO values.
  • the dither addend is calculated using the dither addend formula selected from Table 5 below according to the filter x value:
  • the filter x value is determined as 3, for example, the dither addend equals XO added to a one -bit- left- shifted result of an exclusive or (XOR) function on YO and the complement of XO.
  • the XOR function is detailed in Table 1.
  • the filter x value may change for each frame of information received in block 705.
  • the dither addend formula associated with one filter x value may be switched with the dither addend formula associated with another filter x value.
  • dithering device 110 may contain more than four filter x values and more than four dither addend formulas.
  • the dither addend may be selected from a table (not shown) representing the dither addend output values for different filter x, YO, and XO values.
  • a table (not shown) representing the dither addend output values for different filter x, YO, and XO values.
  • values for dither addends corresponding to various filter x, YO, and XO values may be stored in a lookup table.
  • the dither addend values may be hardwired or hardcoded to the values described above.
  • the pixel is separated into red, green, and blue components.
  • Each component is filtered at block 725, as illustrated in FIG. 5 and described above, and the filtered components are combined in block 730.
  • Each component is filtered using the dither addend value calculated in block 721 or selected in block 722.
  • the filtered pixel is outputted in block 735. If all the pixels from frame N have been filtered, as shown in block 740, the next frame of image information is received in block 745 and the spatial and temporal dithering process returns to block 700. If all the pixels from frame N have not been filtered, a new pixel from frame N is received in block 715.
  • the process illustrated by the flowchart shown in FIG. 7 may be performed by dithering device 110 shown in FIG. 1.
  • Dithering device 110 which is capable of spatial and temporal dithering, may filter pixels in a specific pattern that changes according to the frame number and display position of the pixels.
  • Dithering device 110 may produce images that appear to contain more colors than are capable of being displayed for the pixel size contained in the images. Additionally, dithering device 110 may produce images containing smooth and accurate color gradients. In some embodiments of the invention, dithering device 110 reduces pixel storage size without reducing the quality of the image to the human eye.
  • reducing the pixel size of an image stored in memory device 135 reduces bus 130 bandwidth necessary for image transfer, reduces storage requirements in memory device 135, reduces image processing times, and decreases power consumption involved in image transfer.

Abstract

An apparatus and method for spatially and temporally dithering pixels. A pixel (200) comprising at least one color component (205, 210, 215) of a first size is provided. A dither addend is determined based on the display position of the pixel. The dither addend is added to the color component, and the color component is rounded to a second size. In one embodiment, a first frame may be provided for displaying the first pixel, the dither addend corresponding to the first frame. One or more additional frames for displaying the first pixel are provided, and one or more additional dither addends corresponding to the first pixel in the additional frames may be determined. The dither addend is different from the additional dither addends, and the additional dither addends are different from each other.

Description

METHOD AND APPARATUS FOR SPATIAL AND TEMPORAL DITHERING
The invention generally relates to image information conversion. More particularly, the invention relates to spatial dithering and temporal dithering of pixels in one or more frames of image information. BACKGROUND
In an electronic device containing a display system, a display controller typically receives information from a processor or memory storage device and transmits the information to a display device. The information typically consists of rows of pixels configured to display images, such as pictures, text, and frames of video, stored in the memory storage device. For color displays, each pixel contains red, green, and blue components that may vary in intensity to form specific colors. For example, a 12-bit pixel may form 4,096 (212) different colors with four bits representing the red component, four bits representing the green component, and four bits representing the blue component. Each bit may be either of the two binary digits 0 or 1. A 16-bit pixel may form 65,536 (216) different colors with five bits representing each red and blue component, and six bits representing the green component. A 24-bit pixel may form 16,777,216 (224) different colors with eight bits representing each red, green, and blue component, and so on.
Display devices capable of displaying many colors are visually pleasing to a user. Accordingly, users may prefer a display system containing 16-bit pixels over 8-bit pixels and a display system containing 24-bit pixels over 16-bit pixels. However, using pixels with a large storage size may not be possible in all display systems. Display systems that use large- storage- size pixels may require a large bandwidth, a large memory storage capacity, long image processing times, and increased power consumption. In portable electronic devices in which low power consumption, low memory storage requirements, and low bandwidth requirements are highly desirable, display systems using large pixel storage sizes may not be appropriate.
One solution to this problem has been to remove least significant bits from color components in pixels to reduce pixel storage size at the expense of image quality. The least significant bits in a color component have less effect on the color of the pixel than the most significant bits. However, this technique may noticeably reduce image quality when displaying color gradients, which are gradual color shifts in an image. Color gradients displayed using this technique may appear to have undesirable, abrupt, and blocky color changes rather than smooth, gradual changes. SUMMARY In one respect, disclosed is a method, including: providing a first pixel, wherein the first pixel comprises at least one color component of a first size; determining a dither addend; adding the dither addend to the color component; and rounding the color component to a second size.
In another respect, disclosed is an apparatus to manipulate one or more pixels, the apparatus operable to: provide a first pixel, wherein the first pixel comprises at least one color component of a first size; determine a dither addend; add the dither addend to the color component; and round the color component to a second size.
In yet another respect, disclosed is a computer program product on a computer operable medium, the computer program product comprising instructions effective to provide a first pixel, wherein the first pixel comprises at least one color component of a first size; determine a dither addend; add the dither addend to the color component; and round the color component to a second size.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 shows, in accordance with some embodiments of the invention, a system that includes a display controller, a camera controller, a direct memory access (DMA) controller, and a processor;
FIG. 2a shows, in accordance with some embodiments of the invention, a representation of a 24-bit pixel containing 8-bit red, green, and blue components;
FIG. 2b shows, in accordance with some embodiments of the invention, a representation of an 18-bit pixel containing 6-bit red, green, and blue components;
FIG. 3a shows, in accordance with some embodiments of the invention, a flowchart illustrating a method for spatially dithering a pixel;
FIG. 3b shows, in accordance with some embodiments of the invention, a flowchart further detailing the method for spatially dithering a pixel shown in FIG. 3a; FIG. 3c shows, in accordance with some embodiments of the invention, a flowchart illustrating an alternative method for spatially dithering a pixel;
FIG. 4 shows, in accordance with some embodiments of the invention, a device operable to spatially dither a pixel; FIG. 5 shows, in accordance with some embodiments of the invention, a flowchart illustrating a method for filtering components of pixels to facilitate spatial dithering;
FIG. 6 shows, in accordance with some embodiments of the invention, an example of the method for spatially dithering a pixel illustrated in FIG. 3b; and
FIG. 7 shows, in accordance with some embodiments of the invention, a flowchart illustrating a method for spatially and temporally dithering frames of pixels. DETAILED DESCRIPTION OF THE EMBODIMENTS
In accordance with some embodiments of the invention, a first pixel containing at least one color component is provided. A dither addend is determined and added to the color component. The color component is then rounded to a second size. By applying this process to a plurality of pixels in an image, pixel storage size may be reduced and the image may appear to contain more colors than are capable of being displayed for the pixel storage size. The dither addend for each pixel may be determined in response to determining a display position of the pixel. The image may be a still image or a video image.
In some embodiments of the invention, a first frame for displaying the first pixel is provided. The dither addend may correspond to the first frame. The first pixel may also be displayed in one or more additional frames, and additional dither addends may be determined corresponding to the additional frames. The dither addend and the additional dither addends may be different from each other. By applying this process to a plurality of pixels in a plurality of frames, pixel storage size may be reduced and the frames of images may appear to contain more colors than are capable of being displayed for the pixel storage size. The dither addend for each pixel in each frame may also be determined in response to determining a display position of the pixel.
In some embodiments of the invention, a first pixel containing at least one color component is provided. A dither addend is determined, and the color component is rounded to a second size. The dither addend, which may be a binary value of 0 or 1, may then be added to the color component. By applying this process to a plurality of pixels in an image, pixel storage size may be reduced and the image may appear to contain more colors than are capable of being displayed with that pixel storage size. The dither addend for each pixel may be determined in response to determining a display position of the pixel. Referring to a system 100 in FIG. 1, in accordance with some embodiments of the invention, a bus 130 connects to a display controller 125, a camera controller 120, a DMA controller 115, a processor 150, a memory device 135, and a peripheral device 140. System 100 may be an application- specific integrated circuit (ASIC), a system-on-chip (SOC), a mobile phone, a computer system, or any type of electronic device. Information, such as data, instructions, and control sequences, may transfer between the components of system 100 through bus 130. Image information, for example, may transfer from memory device 135 through bus 130 to display controller 125. Display controller 125 then displays the image information on a display device 160 coupled to display controller 125. Display device 160 may contain a thin-film transistor (TFT) display, a super twisted nematic (STN) display, a liquid crystal display (LCD), a cathode ray tube (CRT) display, or other type of display device.
Image information may consist of rows of pixels configured to display images, such as pictures, text, and frames of video, when transferred to display device 160. FIG. 2a, in accordance with some embodiments of the invention, shows a representation of a 24-bit pixel 200 (stored in memory device 135, for example) containing eight bits representing the red component 205 of pixel 200, eight bits representing the green component 210 of pixel 200, and eight bits representing the blue component 215 of pixel 200. The red, green, and blue components may vary in intensity to form a specific color. Each 8 -bit component, for example, represents the intensity for a particular color (red, green, or blue). A value of 1111111 Ib for the 8-bit component represents the greatest possible intensity, while a value of 00000000b for the component represents the lowest possible intensity.
FIG. 2b, in accordance with some embodiments of the invention, shows an 18-bit pixel 250 containing six bits for the red 255, green 260, and blue 265 components. Pixels may also be represented by 16 bits, 12 bits, more than 24 bits, and so on. A 12-bit pixel, for example, may represent 4,096 different colors with four bits representing each red, green, and blue component. A 16-bit pixel may represent 65,536 different colors with five bits representing each red and blue component, and six bits representing the green component. A 24-bit pixel may represent 16,777,216 different colors.
Returning to FIG. 1, processor 150, DMA controller 115, and camera controller 120 may be capable of writing pixel information to memory device 135. For example, camera controller 120 may receive pixel information from a camera device 155 coupled to camera controller 120 and write the pixel information to memory device 135. Camera controller 120, DMA controller 115, and display controller 125 may contain dithering devices 110a-c capable of receiving pixels, passing the pixels through a dithering filter described below, and reducing the storage size of the dithered pixels. The dithering filter may change the color intensity of the pixels of an image in a pattern that appears to the eye to contain more colors than are capable of being displayed for that pixel storage size. This may be described as spatial dithering. Thus, dithering device 110 may use spatial dithering to reduce the pixel storage size without significantly reducing the quality of the image to the human eye. Dithering devices 1 lOa-c may reduce the time of pixel transfer in system 100 and may thus reduce bus 130 bandwidth necessary for pixel transfer, reduce storage requirements in memory device 135, reduce image processing times, and decrease power consumption involved in image transfer. Dithering devices 110a-c may contain digital logic circuitry or analog circuitry. In some embodiments of the invention, dithering devices 110a-c may use software or a combination of software and hardware to perform the operations described above and below.
For example, camera controller 120 may pass 24-bit pixels (see FIG. 2a) from camera device 155 to dithering device HOb. Dithering device HOb passes the 24-bit pixels through the dithering filter and reduces the 24-bit pixels to 18-bit pixels (see FIG. 2b). The 18-bit pixels may be stored in memory device 135 for later display on display device 160. The 18- bit pixels take up less storage space in memory device 135 than the 24-bit pixels, thereby potentially reducing the storage requirements of memory device 135. Additionally, processor 150 or a graphics controller (not shown in FIG. 1) may perform image processing on the 18- bit filtered pixels faster than the original 24-bit pixels, thus decreasing processing demand on processor 150 and potentially reducing the power consumption of processor 150 or the graphics controller (not shown in FIG. 1). The dithering device HOb may also convert 24-bit pixels to 16-bit pixels, 18-bit pixels to 12-bit pixels, and so on.
Dithering device 110a in DMA controller 115 may pass pixels transferred between components in system 100 through the dithering filter and reduce the storage size of the dithered pixels. For example, peripheral device 140 may be a universal serial bus (USB) port connected to a personal computer. DMA controller 115 may be capable of transferring information from the USB port to memory device 135. The DMA controller 115 may pass image information containing pixels to dithering device 110a, and dithering device 110a may pass the pixels through the dithering filter and reduce the storage size of the pixels. DMA controller 115 then transfers the dithered pixels to memory device 135.
In some embodiments of the invention, display controller 125 may also contain dithering device 110c. Dithering device 110c may receive pixels from memory device 135, pass the pixels through the dithering filter, and reduce the pixel storage size to a size suitable for display on display device 160. For example, display controller 125 may receive image information from memory device 135 for display on display device 160. The image information from memory device 135 may contain 18-bit pixels and display device 160 may only be capable of displaying 12-bit pixels. The dithering device 110c filters the 18-bit pixels and reduces the size of the dithered pixels to 12 bits. Thus, display device 160 may display the image information from memory device 135. In a portable electronic device, such as a laptop computer, music player, personal digital assistant (PDA), and so on, dithering devices 110a-c in system 100 may reduce bus 130 bandwidth necessary for pixel transfer, reduce storage requirements in memory device 135, reduce image processing times, and thereby decrease power consumption involved in image transfer without significantly reducing the quality of the image to the human eye. Turning now to FIG. 3a, in accordance with some embodiments of the inventions, a flowchart illustrating spatial dithering of an image is shown beginning in block 335. A pixel containing at least one color component is provided in block 340. A dither addend is determined in block 345, and the dither addend is added to the color component in block 350. The color component is rounded to a second size in block 355. By applying this process to a plurality of pixels in an image, pixel storage size may be reduced and the image may appear to contain more colors than are capable of being displayed for the pixel storage size. In some embodiments of the invention, the process illustrated by the flowchart shown in FIG. 3a may be performed by dithering devices 1 lOa-c shown in FIG. 1.
In some embodiments of the invention, the spatial dithering process described above may be applied to two-by-two blocks of pixels in an image. Dither addends for each neighboring pixel in the two-by-two blocks may be different from each other. By applying this process to a plurality of pixel blocks in an image, pixel storage size may be reduced and the image may appear to contain more colors than are capable of being displayed for the pixel storage size. Turning now to FIG. 4, in accordance with some embodiments of the inventions, a device operable to spatially dither an image is shown. A dither addend determiner 402 may receive a pixel from, for example, a processor (not shown) or direct memory access device (not shown) through a connection 401. Dither addend determiner 402 determines a dither addend and passes the dither addend and pixel to an adder 403 capable of adding the dither addend and pixel and passing the sum to a rounder 404. Rounder 404 may round the sum and pass the rounded sum through a connection 406 to a memory storage device (not shown), for example, or display screen (not shown).
In accordance with some embodiments of the invention, FIG. 3b shows a flowchart further detailing the spatial dithering process shown in FIG. 3a. The spatial dithering process begins in at block 300. As shown in block 305, a pixel is received from an image information source such as DMA controller 115, memory device 135, or camera controller 120 (see FIG. 1). As described above, an image consists of rows of pixels to be displayed on a display device. A least significant bit of a horizontal display position of the pixel in the image is assigned to a value XO, and a least significant bit of a vertical display position of the pixel in the image is assigned to a value of YO, as shown in block 310. In some embodiments of the invention, the vertical and horizontal display positions of the pixel may be relative to the upper left hand corner of the image. The horizontal and vertical display positions of the pixel from the image information source may be received and the least significant bits identified, or a counter may be used to determine the horizontal and vertical display positions of the pixel based on the number of rows of pixels and the number of pixels per row of the image. As shown in block 311, a dither addend is calculated using the XO and YO values representing the least significant bit of the horizontal display position of the pixel and the least significant bit of the vertical display position of the pixel, respectively. In some embodiments of the invention, the dither addend is calculated using Formula 1 below: Dither Addend = FO + ((XO Θ FO) « 1) Formula 1
In Formula 1, the dither addend is equal to YO added to the one -bit- left- shifted result, represented by the symbol "«" followed by the number one, of an exclusive or (XOR) function on XO and YO. The XOR function output is detailed in Table 1 below for different XO and YO input values:
Table 1
Figure imgf000009_0001
As shown in Table 1, when XO equals YO, the XOR function outputs a 0. When XO does not equal YO, the XOR function outputs a 1.
The values for the dither addend for different XO and YO values using Formula 1 are shown in Table 2 below:
Table 2
XO = 0 XO = 1
YO = O 00b 10b
YO = I l ib 01b
When XO equals 0 and YO equals 1, the dither addend equals 1 Ib and so on. In some embodiments of the invention, the dither addend may alternatively be selected from Table 2, as shown in block 312. For example, values for the dither addend may be stored in a lookup table, and the values may be accessed based on the XO and YO values of the pixel. In some other embodiments of the invention, the dither addend values may be hardwired or hardcoded to the values shown in Table 2. In some other embodiments of the invention, the dither addend values in Table 2 may be rotated clockwise or counterclockwise by one, two, or three values. For example, Table 3 below represents the dither addend values in Table 2 rotated clockwise by one value:
Table 3
Figure imgf000010_0001
Formula one described above may be modified to produce the dither addend values in Table 2 rotated clockwise or counterclockwise by one, two, or three values.
As shown in block 315, the pixel is separated into red, green, and blue components. In some embodiments of the invention, the pixel may contain a gray component or other color components (not shown in FIG. 3b). At block 320, each component is filtered, as shown in FIG. 5, by adding the dither addend to each component and rounding the component. In some embodiments of the invention, the dither addend may vary according to the color of the pixel. The filtered components are combined in block 325, and the filtered pixel is outputted in block 330. As described above, by applying this process to a plurality of pixels in an image, pixel storage size may be reduced and the image may appear to contain more colors than are capable of being displayed for that pixel storage size.
Turning now to FIG. 5, in accordance with some embodiments of the invention, a flowchart illustrating operation of the filter shown in block 320 in FIG. 3b is shown. The operation of the filter begins at block 500. The number of least significant bits to be removed from the component is determined in block 510. For example, for a conversion from a 24-bit pixel containing three 8 -bit color components to a 12-bit pixel containing three 4-bit color components, dithering device 110 may determine in block 510 that four least significant bits are to be removed from each color component. Thus, a 4-bit color component will be produced from blocks 320 in FIG. 3b. The dither addend calculated 311 or selected 312 in FIG. 3b may be added to the most significant bits of the least significant bits to be removed from the component, as shown in block 515. In FIG. 1, for example, dithering device 110c in display controller 125 may be designed to receive an 18-bit pixel consisting of three 6-bit color components (red, green, and blue) and output a 12-bit pixel to display device 160. Each 12-bit pixel may contain three 4-bit components. Two least significant bits from each color component are removed to reduce the output pixel to 12 bits. Thus, the dither addend is calculated and added to the second bit and first bit, respectively, of each color component of the 18-bit pixel using binary addition.
As shown in block 520, if the result of adding the dither addend to the most significant bit of the color component to be removed is greater than the maximum intensity the pixel component is capable of displaying, the color component is set to the maximum intensity value. For example, if the value of a red component of an 18-bit pixel is 111110b and a dither addend of 1 Ib is added to two least significant bits of the red component, the component is set to 11111 Ib, the maximum intensity value for a 6-bit component, rather than 1000001b, which the component is incapable of storing.
As described in block 525, the least significant bits of the color component are truncated to create a filtered component. Returning to the 18 -bit pixel to 12-bit pixel example above, the two least significant bits of each color component are removed in block 525 to produce the 12-bit pixel containing three 4-bit components. In some embodiments of the invention, each color component from the 18-bit pixel may be right shifted by two bits to reduce the pixel size after adding the dither addend value. The filtered component is then outputted in block 530 and combined with the remaining color components in FIG. 3b to output a filtered pixel. In some embodiments of the invention, the dither addend value may be subtracted from the color component before removing the least significant bits to create a filtered component.
In some embodiments of the invention, the process illustrated by the flowcharts shown in FIG. 3b and 5 may be performed by dithering device 110 shown in FIG. 1. FIG. 6, in accordance with some embodiments of the invention, shows an example of the operation of dithering device 110b in camera controller 120. The operation of dithering device 110b begins at block 600. As shown in block 605, dithering device 110b receives a 24-bit pixel from an image captured by camera device 155. Dithering device 110b filters the 24-bit pixel and reduces the filtered pixel to an 18-bit pixel to be stored in memory device 135 (see FIG. 1). The 24-bit pixel shown in block 605, 011011011001101000110111b, represents a light green color. Dithering device 110b assigns a least significant bit of a horizontal display position of the pixel to a value XO and a least significant bit of a vertical display position of the pixel to a value of YO, as shown in block 610. XO is assigned a value of 0 and YO is assigned a value of 1, indicating that the pixel is in an even horizontal position and an odd vertical position relative to the top left corner of the image.
As shown in block 611, the dither addend is calculated as 1 Ib using Formula 1 and the XO and YO values. In some embodiments of the invention, dither addend is selected from Table 2 using the XO and YO values in block 612. Once the dither addend is determined, the 24-bit pixel is separated into 8-bit red, green, and blue components in blocks 615, 620, and 625, respectively. The dither addend is added to the most significant bits of the least significant bits to be removed from each color component, as shown in blocks 630, 635, and 640. Thus, for example, the dither addend value of 1 Ib is added to two least significant bits of the red component in block 630 to produce an output of 01110000b.
Dithering device 110b then removes two least significant bits from each pixel component in blocks 645, 650, and 655, reducing each color component to 6 bits. In some embodiments of the invention, the color components may be right shifted by two bits to remove the least significant bits of each color component. The 6-bit red, green, and blue components may be combined to form an 18-bit filtered pixel in block 660. The 18-bit pixel shown in block 660, 011100100111001110b, represents a light green color similar to the light green color of the 24-bit pixel in block 605. The filtered 18-bit pixel is stored in memory device 135. Dithering device 110b then receives the next pixel from the image from camera device 155 and begins operation on the pixel at block 600.
Adding the dither addend value to each color component and removing the least significant bits of each color component in dither device 110b changes the pixel color intensity in the image from camera device 155 in a pattern that causes the image to appear to contain more colors than are capable of being displayed by an 18-bit pixel. Thus, the dithering device 110b reduces pixel storage size without reducing the quality of the image to the human eye. As described above, reducing the pixel storage size of the image stored in memory device 135 reduces bus 130 bandwidth necessary for image transfer, reduces storage requirements in memory device 135, reduces image processing times, and decreases power consumption involved in image transfer.
Referring to FIG. 3c, in accordance with some embodiments of the invention, a flowchart illustrating an alternative method of spatial dithering of an image is shown beginning in block 360. A pixel containing at least one color component is provided in block 365. A dither addend is determined in block 370. The color component is rounded to a second size in block 375. The dither addend is added to the rounded color component in block 380. By applying this process to a plurality of pixels in an image, pixel storage size may be reduced and the image may appear to contain more colors than are capable of being displayed for the pixel storage size. In some embodiments of the invention, the process illustrated by the flowchart shown in FIG. 3c may be performed by dithering device 110 shown in FIG. 1.
In the flowchart shown in FIG. 3c, the dither addend may be determined by the display position of the pixel and the values of the most significant bits of the least significant bits to be removed from the pixel when rounded. Tables 4a-d illustrate dither addend values for a conversion from a 24-bit pixel to an 18 -bit pixel in which two least significant bits are removed from each color component.
Table 4a
Even Column Odd Column
Even Row 0 0
Odd Row 0 0
Table 4b
Even Column Odd Column
Even Row 0 0
Odd Row 1 0
Table 4c
Even Column Odd Column
Even Row 0 1
Odd Row 1 0
Table 4d
Even Column Odd Column
Even Row 0 1
Odd Row 1 1 The dither addends are selected from Table 4a when the two least significant bits of a color component are equal to 00b. Table 4b is used when the two least significant bits of a color component are equal to 01b. Table 4c is used when the two least significant bits of a color component are equal to 10b. Table 4d is used when the two least significant bits of a color component are equal to 1 Ib. For example, a dither addend for a red color component with a value of 0110101 Ob may be selected from Table 4c based on the two least significant bits. If the display position of the pixel containing the red color component is in an odd row and an even column, the dither addend is a 1. Thus, the dither addend value is added to the red component once the two least significant bits are removed to produce a value of 011011b.
In some embodiments of the invention, Tables 4a-d may be used for dithering pixel conversions of other sizes, such as converting 24-bit pixels to 12-bit pixels and so on. As described above, Tables 4a-4d may be used to select dither addend values based on the display position of the pixel and the values of the most significant bits of the least significant bits to be removed from the pixel when rounded.
In some embodiments of the invention, pixel color intensity in an image may change according to a specific pattern that changes over time, causing the image to appear to contain more colors than are capable of being displayed for the pixel storage size when viewed by the human eye. This may be described as temporal dithering. Turning now to FIG. 7, in accordance with some embodiments of the invention, a flowchart illustrating spatial and temporal dithering of an image is shown beginning in block 700. A frame of image information designated as frame N, where N may be a number ranging from 0 to infinity, is received in block 705. The frame may, for example, be received from a source such as DMA controller 115, memory device 135, or camera controller 120 in FIG. 1. A frame of image information consists of rows of pixels representing an image to be displayed on a display device.
A filter x is determined in block 710. As described below, filter x indicates which dither addend formula to use when filtering components of a pixel received in block 715. The filter x value may vary based on the frame number of the frame containing the pixel. In some embodiments of the invention, filter x is determined based on the value of N modulo a frame rate mode, where N represents the frame number of frame N and the frame rate mode represents the number of different dither addend formulas. For example, in some embodiments of the invention, dithering device 110 may use a frame rate mode of one, representing one dither addend formula to use to filter pixel components received in different frames. In some other embodiments, dithering device 110 may use a frame rate mode of four, representing four different dither addend formulas to use to filter pixel components received in different frames.
As shown in block 715, a pixel may be received from frame N. A least significant bit of a horizontal display position of the pixel is assigned to XO, and a least significant bit of a vertical display position of the pixel is assigned to YO, as shown in block 720.
As shown in block 721, a dither addend value is calculated using the XO and YO values. The dither addend is calculated using the dither addend formula selected from Table 5 below according to the filter x value:
Table 5
Figure imgf000015_0001
If the filter x value is determined as 3, for example, the dither addend equals XO added to a one -bit- left- shifted result of an exclusive or (XOR) function on YO and the complement of XO. The XOR function is detailed in Table 1. The filter x value may change for each frame of information received in block 705.
In some embodiments of the invention, the dither addend formula associated with one filter x value may be switched with the dither addend formula associated with another filter x value. In some other embodiments of the invention, dithering device 110 may contain more than four filter x values and more than four dither addend formulas.
As shown in block 722, in some embodiments of the invention, the dither addend may be selected from a table (not shown) representing the dither addend output values for different filter x, YO, and XO values. For example, values for dither addends corresponding to various filter x, YO, and XO values may be stored in a lookup table. In some other embodiments of the invention, the dither addend values may be hardwired or hardcoded to the values described above. As shown in block 716, the pixel is separated into red, green, and blue components.
Each component is filtered at block 725, as illustrated in FIG. 5 and described above, and the filtered components are combined in block 730. Each component is filtered using the dither addend value calculated in block 721 or selected in block 722. The filtered pixel is outputted in block 735. If all the pixels from frame N have been filtered, as shown in block 740, the next frame of image information is received in block 745 and the spatial and temporal dithering process returns to block 700. If all the pixels from frame N have not been filtered, a new pixel from frame N is received in block 715.
In some embodiments of the invention, the process illustrated by the flowchart shown in FIG. 7 may be performed by dithering device 110 shown in FIG. 1. Dithering device 110, which is capable of spatial and temporal dithering, may filter pixels in a specific pattern that changes according to the frame number and display position of the pixels. Dithering device 110 may produce images that appear to contain more colors than are capable of being displayed for the pixel size contained in the images. Additionally, dithering device 110 may produce images containing smooth and accurate color gradients. In some embodiments of the invention, dithering device 110 reduces pixel storage size without reducing the quality of the image to the human eye. As described above, reducing the pixel size of an image stored in memory device 135 reduces bus 130 bandwidth necessary for image transfer, reduces storage requirements in memory device 135, reduces image processing times, and decreases power consumption involved in image transfer. Those skilled in the art to which the invention relates will appreciate that the described embodiments are just some representative examples of the many ways in which the claimed invention may be implemented.

Claims

CLAIMSWhat is claimed is:
1. A method, comprising: providing a first pixel, wherein the first pixel comprises at least one color component of a first size; determining a dither addend; adding the dither addend to the color component; and rounding the color component to a second size.
2. The method of Claim 1, wherein the determining the dither addend comprises determining the dither addend in response to determining a display position of the first pixel; and wherein the determining the dither addend further comprises calculating the dither addend as a binary value selected from the group consisting of: a least significant bit of a vertical display position of the first pixel added to a one-bit- left-shifted result of an exclusive or (XOR) function on a least significant bit of a horizontal display position of the first pixel and the least significant bit of the vertical position of the first pixel, a least significant bit of a complement of the vertical display position of the pixel added to the one-bit-left-shifted result of an exclusive or (XOR) function on the least significant bit of the horizontal display position of the pixel and the least significant bit of the vertical display position of the pixel, a least significant bit of a complement of the horizontal display position of the pixel added to a one-bit-left-shifted result of an exclusive or (XOR) function on the complement of the least significant bit of the horizontal display position of the pixel and the least significant bit of the vertical display position of the pixel, and the least significant bit of the horizontal display position of the pixel added to the one-bit- left- shifted result of an exclusive or (XOR) function on the complement of the least significant bit of the horizontal display position of the pixel and the least significant bit of the vertical display position of the pixel.
3. The method of Claim 1 or 2, further comprising: providing one or more neighboring pixels to the first pixel; and determining one or more neighboring dither addends corresponding to the neighboring pixels, wherein the dither addend is different from each of the neighboring dither addends, and wherein the neighboring dither addends are different from each other.
4. The method of Claim 3, wherein the providing one or more neighboring pixels comprises providing three neighboring pixels, wherein the three neighboring pixels and the first pixel forming a two-by-two block, and wherein a clockwise order or a counterclockwise order of binary values of the dither addend and the three neighboring dither addends in the two-by-two block is 00b, 10b, 01b, and l ib.
5. The method of Claim 1, further comprising: providing a first frame for displaying the first pixel, wherein the dither addend corresponds to the first frame; providing one or more additional frames for displaying the first pixel; and determining one or more additional dither addends corresponding to the additional frames.
6. The method of Claim 5, wherein: the dither addend is different from the additional dither addends, and the additional dither addends are different from each other.
7. The method of Claim 5 or 6, wherein the providing one or more additional frames comprises providing three additional frames, wherein the first frame and the three additional frames are consecutive in time, and wherein a forward or reverse sequential order of binary values of the dither addend and the three additional dither addends is 00b, 10b, 01b, and l ib.
8. The method of Claim 5 or 6, wherein the determining the dither addend comprises determining the dither addend in response to determining a display position of the first pixel, and wherein the determining the additional dither addends comprises determining the additional dither addends in response to the display position of the first pixel.
9. A computer program product on a computer operable medium, the computer program product comprising instructions effective to: provide a first pixel, wherein the first pixel comprises at least one color component of a first size; determine a dither addend; add the dither addend to the color component; and round the color component to a second size.
10. The computer program product of Claim 9, the computer program product further comprising instructions effective to: provide a first frame for displaying the first pixel, wherein the dither addend corresponds to the first frame; provide one or more additional frames for displaying the first pixel; and determine one or more additional dither addends corresponding to the additional frames; wherein the dither addend is different from the additional dither addends, and the additional dither addends are different from each other; and wherein the determining the dither addend comprises determining the dither addend in response to determining a display position of the first pixel, and wherein the determining the additional dither addends comprises determining the additional dither addends in response to the display position of the first pixel.
11. An apparatus to manipulate one or more pixels, the apparatus operable to: provide a first pixel, wherein the first pixel comprises at least one color component of a first size; determine a dither addend; add the dither addend to the color component; and round the color component to a second size.
PCT/US2007/070107 2006-05-31 2007-05-31 Method and apparatus for spatial and temporal dithering WO2007140462A2 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
EP06290886A EP1862995A1 (en) 2006-05-31 2006-05-31 Method and apparatus for spatial and temporal dithering
EP06290886.8 2006-05-31
US11/611,299 US7609277B2 (en) 2006-05-31 2006-12-15 Method and apparatus for spatial and temporal dithering
US11/611,299 2006-12-15

Publications (2)

Publication Number Publication Date
WO2007140462A2 true WO2007140462A2 (en) 2007-12-06
WO2007140462A3 WO2007140462A3 (en) 2008-10-16

Family

ID=38779480

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2007/070107 WO2007140462A2 (en) 2006-05-31 2007-05-31 Method and apparatus for spatial and temporal dithering

Country Status (1)

Country Link
WO (1) WO2007140462A2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0994457A2 (en) * 1998-10-12 2000-04-19 Victor Company Of Japan, Limited Apparatus and method of gray scale video signal processing for matrix display apparatus
US20070021579A1 (en) * 2003-12-23 2007-01-25 Wacker Chemical Corporation Solid siliconized polyester resin for powder coating

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0994457A2 (en) * 1998-10-12 2000-04-19 Victor Company Of Japan, Limited Apparatus and method of gray scale video signal processing for matrix display apparatus
US20070021579A1 (en) * 2003-12-23 2007-01-25 Wacker Chemical Corporation Solid siliconized polyester resin for powder coating

Also Published As

Publication number Publication date
WO2007140462A3 (en) 2008-10-16

Similar Documents

Publication Publication Date Title
US8890903B2 (en) Spatial light modulator with storage reducer
US7609277B2 (en) Method and apparatus for spatial and temporal dithering
KR100547812B1 (en) Apparatus and method for converting color model of pixel data using color reference table
JP2575594B2 (en) Driving method of display device
US7868898B2 (en) Methods and apparatus for efficiently accessing reduced color-resolution image data
JP2007108439A (en) Display driving circuit
US8531372B2 (en) Method, device and system of response time compensation utilizing an overdrive signal
US7724396B2 (en) Method for dithering image data
TW201817232A (en) Image processing method and related apparatus
JP2000148102A (en) Gradation display device and its method
CN101292534A (en) Methods of storing colour pixel data and driving a display, means for performing such methods, and display apparatus using the same
US20060140036A1 (en) Memory controller, display controller, and memory control method
KR102456474B1 (en) Image processing circuit, display device having image processing circuit and driving method thereof
JPH0659648A (en) Multi-media display control system for storing image data in frame buffer
US20100033496A1 (en) Methods and Storing Colour Pixel Data and Driving a Display, Means for Preforming Such Methods, and Display Apparatus Using the Same
US10157583B2 (en) Display apparatus and display control method thereof
JPH11338424A (en) Liquid crystal controller and liquid crystal display device using it
WO2007140462A2 (en) Method and apparatus for spatial and temporal dithering
KR100848093B1 (en) A dithering apparatus and dithering method of liquid crystal display
US8966145B2 (en) Data conversion apparatus and method
TWI594230B (en) Display apparatus and operating method thereof
JP2006013701A (en) Display controller, electronic apparatus, and image data supply method
JP3172450B2 (en) Image information processing device
CN117496918A (en) Display control method, display control device and system
JP3979827B2 (en) Multi-line addressing driving method and apparatus for simple matrix liquid crystal

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07797945

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase in:

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07797945

Country of ref document: EP

Kind code of ref document: A2