US20110135011A1 - Adaptive dithering during image processing - Google Patents

Adaptive dithering during image processing Download PDF

Info

Publication number
US20110135011A1
US20110135011A1 US12/631,006 US63100609A US2011135011A1 US 20110135011 A1 US20110135011 A1 US 20110135011A1 US 63100609 A US63100609 A US 63100609A US 2011135011 A1 US2011135011 A1 US 2011135011A1
Authority
US
United States
Prior art keywords
pixel
value
image
dither
difference
Prior art date
Legal status (The legal status 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 status listed.)
Abandoned
Application number
US12/631,006
Inventor
Alex Eddy
Nick Burns
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
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
Application filed by Apple Inc filed Critical Apple Inc
Priority to US12/631,006 priority Critical patent/US20110135011A1/en
Assigned to APPLE INC. reassignment APPLE INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BURNS, NICK, EDDY, ALEX
Publication of US20110135011A1 publication Critical patent/US20110135011A1/en
Application status is Abandoned legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/56Processing of colour picture signals
    • H04N1/58Edge or detail enhancement; Noise or error suppression, e.g. colour misregistration correction
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/001Image restoration
    • G06T5/002Denoising; Smoothing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/409Edge or detail enhancement; Noise or error suppression
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20004Adaptive image processing
    • G06T2207/20012Locally adaptive

Abstract

Systems and method are provided for adjusting certain pixel values in an image. In an embodiment of the invention, an average pixel value of pixels at given distances from a selected pixel are examined to determine if the pixel is in a high-contrast area. If the pixel is in a smooth color gradient transition area, the pixel value may be adjusted in some embodiments using an additional dither or dither pattern to reduce differences between the pixel values of the selected pixel and the additional average pixel values exceeding the lower threshold.

Description

    BACKGROUND
  • When image data, such as data representing a photograph, picture, or video, is processed electronically by a computing device, the device may not be able to display the original image with complete fidelity. In some instances, artifacts not found in the original image may appear in the electronically-processed image. For example, in some electronically processed images, discrete color bands with various intensities and color levels may appear in lieu of smooth color transition gradients contained in the original image. These banding artifacts may become even more noticeable in resource or bandwidth limited devices. Image processing resources may be determined by various factors including the color space implementation, compression algorithms, and color correction implementation.
  • Many electronic and computing devices use technologies based on a fixed bit color space implementation which limits the possible number of different colors used. For example, video cards and processors in many digital devices such as computer and video game consoles may be configured to process images in 8 bit, 16 bit, and/or 24 bit RGB color models. In a 16 bit RGB color model there are generally 216 or 65,536 different possible colors, typically with 25 or 32 different shades of red and blue, and 26 or 64 different shades of green assignable to each pixel. In a 24 bit color model there may be up to 224 or 16,777,216 different possible colors with 28 or 256 different shades of red, green, and blue assignable to each pixel. While having over 16.7 million different possible colors may seem large, the human eye is still able to detect changes from one color to the next.
  • Many electronic and computing devices also use various lossy image compression techniques to maximize use of image processing resources. Often, these lossy image compression techniques further exacerbate banding artifacts in electronically processed images. Lossy image compression techniques, such as JPEG, MPEG, and H.264, exacerbate banding artifacts by reducing the number of colors in an image to save space. For example, some compression methods examine small pixel blocks in an image and average out different colors in each block using a transform function, such as a discrete cosine transform to even out the color and reduce the total number of colors. By further reducing the number of available colors, the differences between different color shades and transition bands become even more pronounced.
  • While it may be desirable to reduce banding artifacts in smooth color transition areas of an image, it may also be desirable to maintain definite color transition bands in certain high contrast areas of an image. For example, sections of an image involving contrasting colors, such as those found in an image of an intricate Oriental carpet may contain definite transition bands between the contrasting regions to maintain sharpness and detail. Removing these definite transition bands may result in a loss of detail and a perception of a lower image quality.
  • Thus, there is a need to reduce banding artifacts in smooth color gradient transition areas of an image while maintaining definite transitions between colors in areas with greater contrast.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 shows a basic block diagram of an image processing device in an embodiment.
  • FIG. 2 shows some pixels of an image in an embodiment.
  • FIG. 3 a shows components of an exemplary image processor to identify and reduce banding artifacts in smooth areas of an image in an embodiment.
  • FIG. 3 b shows an exemplary method to identify and reduce banding artifacts in smooth areas of an image in an embodiment.
  • FIG. 4 shows an alternative exemplary method to identify and reduce banding artifacts in an embodiment.
  • FIG. 5 shows a technique for identifying neighboring pixels in an embodiment.
  • FIG. 6 shows a technique for identifying neighboring pixels at different distances in an embodiment.
  • FIG. 7 shows a magnification of an exemplary pixel dither pattern that may be used to reduce banding artifacts in an embodiment.
  • FIG. 8 shows a magnification of exemplary pixel dither patterns that may be used to increase a perceived number of colors in an embodiment.
  • FIG. 9 shows an exemplary use of a blur function to reduce banding artifacts in an embodiment.
  • FIG. 10 shows exemplary uses and applications of the invention.
  • DETAILED DESCRIPTION
  • In an embodiment of the invention, each pixel may be compared to average values of neighboring pixels at a variety of sampling distances to determine if the pixel is in a smooth gradient area. At each of the given distances, if the difference between the average value of pixels at the distance and the selected pixel is less than a predetermined threshold, it is assumed that the pixel is in a smooth gradient area. When the selected pixel is in a smooth gradient area, the pixel may be modified by a dither effect. A dither effect may be added to image data in smooth gradient areas but may not modify image data in areas of stronger transition. Adding a dither effect in these specified smooth gradient areas may improve the perceived quality of a rendered image.
  • FIG. 1 shows a simplified block diagram of an image processing system 100 in an embodiment. The system 100 may include a receiver 110, an image processor 120 and a display driver 130. The receiver 110 may receive input image data from a channel 106. The channel may be a wired or wireless communication channel provided by a communication network or computer network. Alternatively, the channel 106 may be a direct connection to an input source 105, such as a camera, television, video player, media device, or memory.
  • The image processor 120 may perform processing functions to condition image data received by the receiver 110 for display. Image processing functions may include video processing and image filtering. In an embodiment, video processing may extract image content from a received data signal and format it for application to the device via the display driver 130. Image filtering may create one or more a new images as a result of processing the pixels of an existing image. In an embodiment, each pixel in an output of filtering process may computed as a function of one or several pixels in the original image, usually located near the location of the output pixel. In an embodiment using filtering, a filter size may refer to a specific distance and the output pixel value of a output pixel may be a calculated average value of all pixels at the specific distance from the output pixel. Other image processing functions may include video decompression operations in the case that a received image signal is coded according to a video compression protocol, such as H.263, H.264 or MPEG. In an embodiment, the image processor further may perform processes to modify image data as discussed herein.
  • In an embodiment, the display driver 130 may output the processed image to the display 135. In some embodiments the display driver 130 may be customized for a particular display 135 or type of display, with multiple supported display types having different display drivers.
  • FIG. 2 shows some pixels of an image in an embodiment. Each of the squares shown in FIG. 2 may represent one pixel. The image in FIG. 2 contains four distinct color values broken into four regions: regions 1, 2, 3, and 4, with region 4 have the darkest colors and lower color values, while region 1 has the lightest color with the highest color value, followed by intermediate color regions 2 and 3, respectively. In this embodiment regions 1 and 2, and regions 2 and 3 may be slightly different shades of the same color whereas region 4 may be a dissimilar shade of a different color altogether. The color banding artifacts between regions 1, 2, and 3 are readily apparent as the upper half of image in FIG. 2, such as row 7, is traversed horizontally. While it is possible to adjust the pixel values in this upper portion of FIG. 2, such as in the area around row 7, to reduce banding effects, it may be also desirable to maintain the sharpness of the object in region 4, by not modifying the pixel values in this area.
  • In an embodiment, the image processor 120 may examine one or more pixels of the image, comparing the color values of each examined pixel to that of its nearby neighbors. During this comparison, the image processor 120 may select pixels for further processing having color values similar to those of its nearest neighbors. Thus, in the exemplary image of FIG. 2, some of the pixels in the upper half of the image near the transition bands between similar color regions 1, 2, and 3, such as in row 7, may likely be selected by the image processor 120. However, the darker pixels in region 4, may not be adjusted by the image processor 120 because of the large variation in pixel values between region 4 and the other neighboring regions.
  • FIG. 3 a shows components of an exemplary image processor 120 to identify and reduce banding artifacts in smooth areas of an image in an embodiment. An image processor 120 may contain a smooth transition detector 122, dither pattern 123, mixer 124, and adder 125. In an embodiment, the smooth transition detector 122 may have an input for input image data 121 (“I”) and may filter the image data 121 with different filter sizes to identify pixels at different distances from one or more selected pixels. The smooth transition detector 122 may compare the selected pixels of the input image data I to the filtered image data at different filter sizes and generate a control output (“W”) which may be scaled based on a difference between the input image data 121 and the filtered image data when at least one difference is not zero but less than a predetermined threshold.
  • In an embodiment, both the control output W from the smooth transition detector 122 and a dither pattern 123 (“D”) may be inputted to a mixer 124. In an embodiment, the mixer 124 may perform pixel-by-pixel scaling of a dither image pattern D based on a function (“f(D,W)”) of the the control output W and the dither image pattern D. The mixer 124 may then output the scaled results f(D,W) to an adder 125. In an embodiment, the adder 125 may add the scaled results f(D,W) from the mixer 124 to the original image data I and the image processor 120 may output the results I+f(D,W).
  • FIG. 3 b illustrates an exemplary method to identify and reduce banding artifacts in smooth image data. The method may be started by inputting image data (box 301). The image data input may be filtered multiple times (N times) at different distances from a pixel of interest (box 302). During each of these filtering operations, an average pixel value Pi of the filtered pixels at the selected distance i from a given pixel may be calculated.
  • Once the average pixel values have been calculated at each of the different distances from a given pixel, a difference Δ Pi between the actual value of the given pixel Px,y and the calculated average pixel value at each radius Pi may be computed (box 303). The difference may be compared to a specified threshold value (box 304). If the difference Δ Pi does not exceed the threshold, then the weight wi of the average pixel value difference Δ Pi at radius i may be set based on the value of Δ Pi (box 305), and the process may be repeated for a next larger radius. If the difference Δ Pi exceeds the threshold, then the weight wi of the average pixel value difference Δ Pi at radius i and all radii larger than i may be set to zero (box 306).
  • Sometime before or after the weights wi at each of the different radii have been calculated, a dither value Dx,y for the given pixel Px,y may be retrieved (box 307). An overall weight factor W may be calculated based on a combination of all the computed weights wi at different distances from the given pixel Px,y (box 308). The dither value Dx,y may be adjusted or scaled based on the overall weight factor W (box 309), such as by multiplying the two values W*Dx,y. In an embodiment, if the overall weight factor W is determined to be zero, then the pixel value Px,y may not be modified.
  • The given pixel value Px,y may be modified based on the adjusted dither value, such as by adding or subtracting the adjusted dither value W*Dx,y from the given pixel value Px,y (box 310). Finally, the processed image data may be outputted for display (box 311). Some or all of these process may be repeated until each pixel Px,y in the image has been processed. In some embodiments, the processed image data may not be outputted until each pixel Px,y in the image has been processed, whereas in other embodiments, the data for each pixel Px,y may be outputted as soon as it is processed.
  • FIG. 4 illustrates a second exemplary method to identify and reduce banding artifacts in smooth image data. Once image data has been inputted, an average pixel value PR of the filtered pixels at a distance R from a given pixel may be calculated (box 401). A difference Δ PR between the actual value of the given pixel Px,y and the calculated average pixel value PR may be computed (box 402). The difference may then be compared to a specified threshold value (box 403).
  • If the difference Δ PR exceeds the threshold, then the pixel may be assumed to be in a non-smooth color gradient, such as a high contrast region, and the value of the selected pixel may not be modified (box 404), and the process may repeat with the next pixel (box 401). If the difference does not exceed the threshold, then a first distance R1 from the pixel Px,y may be selected (box 405). The average values of pixels PR1 at distance R1 from the pixel Px,y may be calculated (box 406). Then, a difference Δ PR1 between the actual value of the given pixel Px,y and the calculated average pixel value PR1 may be computed (box 407). The difference Δ PR1 may be compared to a second threshold (box 408).
  • If the difference Δ PR1 is less than the second threshold, the process may repeat after incrementing the distance to a second distance R2 (box 405). If the difference Δ PR1 is not less than the second threshold, a dither value Dx,y for the given pixel Px,y may be retrieved (box 409). In an embodiment, the average pixel difference Δ PRi for pixels at different distances i from the given pixel Px,y up to the highest incremented distance may be scaled depending on their distance to the given pixel Px,y (box 410). Thus, in an embodiment, an average difference of pixels that are closer to pixel Px,y such as Δ PR1 , may be weighted more than average pixel differences of pixels located further away. An overall weighting factor W may be calculated based on the weighted distance of each of the average pixel differences Δ PRi to the given pixel Px,y.
  • In an embodiment, the dither value Dx,y may be adjusted or scaled based on the overall weight factor W (box 411), such as by multiplying the two values W*Dx,y. The given pixel value Px,y may be modified based on the adjusted dither value, such as by adding or subtracting the adjusted dither value W*Dx,y from the given pixel value Px,y (box 412).
  • As discussed previously, the values of neighboring pixels at a specified distance of a pixel Px,y may be considered in an embodiment. The example shown in FIG. 5 shows how neighboring pixels at a specified distance may be identified in an embodiment. In the FIG. 5 example, a distance S of 2 pixels away from the selected pixel P has been chosen. The darkened square box shown in FIG. 5 has sides of length 2S and is centered around the selected pixel P. In an embodiment, the pixels on the perimeter of the square box may be designated as the neighboring pixels of pixel P at a distance S. Other embodiments may use different techniques for identifying nearest neighboring pixels.
  • For example, some embodiments may identify neighboring pixels using one or more polygons, some of which may have specified distances between one or more vertexes and the center. In other embodiments, a formula for identifying nearest neighbors of a given pixel may vary depending on at least one of the image size, resolution, quality, pixel position, color space, color model, or other criteria. Thus, in some embodiments, it is possible that some pixels in one image may have different nearest neighbor boundaries than other pixels in both the same image and in different images.
  • In the example shown in FIG. 6, different radii, R1, R2, and R3, may be used to identify pixels in different vicinities of pixel P. Thus, radius R1 may be used to identify closer pixels to pixel P, radius R2 to identify those slightly further out, and so on. In some embodiments, it may be desirable to identify pixels within different neighboring regions, such those within radii R1, R2, and R3, in order to scale the contribution of different pixels depending on their proximity to the pixel P. For example, in some embodiments, it may be desirable to weight the contribution of pixels closer to pixel P, such as those pixels at distance R1, differently from those at different distances, such as those at distances R2 and R3.
  • FIG. 7 shows one example of a repeating dither pattern that may be used in an embodiment to reduce banding artifacts in an image. Other repeating and/or non-repeating dither patterns may be used in different embodiments. In this dither pattern, which is a four square pixel repeating dither pattern (2×2 pixel pattern), the pixels corresponding to the top right and bottom left corners may not be used to adjust pixel values, while those corresponding to the top left and bottom right corners may further adjust the pixel value by some factor X or Y. In an embodiment, this repeating dither pattern may be overlaid on an image to determine which pixels in the image may be adjusted by a factor of X or Y. In an embodiment, pixels in an image that are determined to be adjusted by a factor of X or Y according to the repeating dither pattern may nonetheless not be adjusted if they fail to meet other criteria, such as being located in a high contrast region (non-smooth gradient) or having an average pixel value difference that exceeds a threshold.
  • In an embodiment, the dither specified in a dither pattern may be applied to a selected pixel based on the location of the pixel in the image relative to the dither pattern. In an embodiment, dither may be applied after a pixel value has been adjusted based on a comparison to the pixel values of surrounding pixels. In an embodiment, the dither pattern may specify different factors (0 for no change, X, Y, etc.) by which the adjusted pixel value is readjusted. In an embodiment, dither patterns may vary depending on at least one of image size, resolution, quality, pixel position, color space, color model, or other criteria. In an embodiment, the dither pattern may vary based on the direction of color gradient changes in an image, so that, for example, if portion of image transition from dark top to light bottom, the dither pattern may transition from dark top to light bottom, and so on.
  • FIG. 8 shows an exemplary 1 bit color model embodiment in which dither may be used to increase an available color palette. In an 1 bit color model, each pixel is either “on” or “off” resulting in two possible colors. Additional lighter and darker shades of colors between these two pixel states may be simulated by using a repeating dither pattern that only activates a fraction of pixels in a given area, as shown by the 18.75%, 50%, and 75% pixel fill rate blocks. Although FIG. 8 depicts an exemplary 1 bit color model, the same principles can be used in other color models, such as 16-bit or 24-bit RGB color models. Additional lighter or darker “shades” of colors which do not have an assigned numerical color value in a given color model can be simulated using different dither patterns as shown in FIG. 8. Thus, to simulate various shades of a darker color, for example, a region of the image can be filled with a repeating dither pattern having 75% or more of the pixels filled as shown in FIG. 8.
  • FIG. 9 shows a result of averaging pixel values differences in an embodiment to reduce banding and provide a smooth gradient when transitioning between colors in a discrete region. In this example, the value of each pixel may be adjusted based on the difference in pixel value between the selected pixel and its two nearest neighbors in either direction (left or right). The top portion of FIG. 9 shows pixels P1 through P6 before the averaging function is applied; the bottom portion shows the result.
  • As shown in the upper half of FIG. 9, pixel P1's two nearest neighbors are P2 and P3. Since the value of all three pixels are equal, as P1=P2=P3, no change from the averaging function used in FIG. 9 may result and P1 in the bottom half may not change.
  • As shown in the upper half of FIG. 9, pixel P2's two nearest neighbors on either side are P1, P3, and P4. Since two of these pixels have equal values to P2, P2=P1=P3, the average of the pixel values may only be affected by the difference of P4−P2, so the adjusted value P2 may only be slightly darkened as shown in the bottom half of FIG. 9.
  • As shown in the upper half of FIG. 9, pixel P3's two nearest neighbors on either side are P1, P2, P4, and P5. Since two of these pixels have equal values to P3, P3=P1=P2, the average of the pixel values may only be affected by the difference of P4−P2 and P5−P2 so the adjusted value P3 may be slightly darker than that of P2 as shown in the bottom half of FIG. 9.
  • As shown in the upper half of FIG. 9, pixel P4's two nearest neighbors on either side are P2, P3, P5, and P6. Since two of these pixels have equal values to P4, P4=P5=P6, the average of the pixel values may only be affected by the difference of P4−P3 and P4−P2 so the adjusted value P4 may be about the same or slightly darker than that of P3 as shown in the bottom half of FIG. 9.
  • As shown in the upper half of FIG. 9, pixel P5's two nearest neighbors on either side are P3, P4, and P6. Since two of these pixels have equal values to P5, P5=P4=P6, the average of the pixel values may only be affected by the difference of P5−P3, so the adjusted value P2 may only be slightly lighter than the original value of P5 and slighter darker than the adjusted value of P4 as shown in the bottom half of FIG. 9.
  • As shown in the upper half of FIG. 9, pixel P6's two nearest neighbors are P4 and P5. Since the value of all three pixels are equal, as P6=P4=P5, no change in pixel value may occur and P6 in the bottom half may not change.
  • FIG. 10 shows different embodiments of the invention, including different applications and equipment that may be used with the invention. In some embodiments, video processing hardware 1010 may be used to further process images as described in the paragraphs. In an embodiment, the video processing hardware 1010 may include a processor 1030, a memory 1040, and an input/output interface 1050. In an embodiment, a video signal may enter an input channel 1020 of the input/output interface 1050. The video signal may then be processed by a processor 1030, which may calculate new pixel values based on instructions in memory 1040. The new pixel values may then to the output channel 1060 of the input/output interface 1050 to be stored, further processed, or displayed to a user.
  • In an embodiment, memory 1040 may contain different components for retrieving, presenting, changing, and saving data. Memory 1040 may include a variety of memory devices, for example, Dynamic Random Access Memory (DRAM), Static RAM (SRAM), flash memory, cache memory, and other memory devices. Additionally, for example, memory 1040 and processor(s) 1030 may be distributed across several different components that collectively comprise video processing hardware 1010.
  • Processor 1030 may perform computation and control functions of a system and comprises a suitable central processing unit (CPU). Processor 1030 may comprise a single integrated circuit, such as a microprocessor, or may comprise any suitable number of integrated circuit devices and/or circuit boards working in cooperation to accomplish the functions of a processor. Processor 1030 may execute computer programs, such as object-oriented computer programs, within memory 1040.
  • Different variations and embodiments of the video processing hardware 1010 may be included in a variety of devices, including computing, display, and electronics devices. Exemplary computing devices that may contain embodiments of the invention include, but are not limited to, PDAs 1093, smart phones 1095, laptops 1094, desktops, video cards, and other devices. Exemplary display devices that may contain embodiments of the invention include, but are not limited to, televisions 1092, projectors 1091, monitors, LCD/LED screens, and others. Exemplary electronics devices that may contain embodiments of the invention include, but are not limited to, video cassette recorders 1096, digital video disc players 1096, digital video recorders 1096, camcorders, video recording devices, cameras, and others.
  • The foregoing description has been presented for purposes of illustration and description. It is not exhaustive and does not limit embodiments of the invention to the precise forms disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from the practicing embodiments consistent with the invention. For example, some of the described embodiments may include software and hardware, but some systems and methods consistent with the present invention may be implemented in software or hardware alone. Additionally, although aspects of the present invention in some embodiments are described as being stored in memory, one skilled in the art will appreciate that these aspects can also be stored on other types of computer-readable media, such as secondary storage devices, for example, hard disks, floppy disks, or CD-ROM; the Internet or other propagation medium; or other forms of RAM or ROM.

Claims (29)

1. An image processing method, comprising:
filtering an input image at a plurality of filter sizes, and
modifying each pixel in the input image having a non-zero difference between the respective input pixel and a corresponding pixel of a filtered image at a first filter size that is less than a predetermined threshold, the modification based on the difference and a dither component.
2. The method of claim 1, further comprising leaving the respective input pixel unchanged when the difference is either zero or greater than a predetermined threshold.
3. The method of claim 1, wherein the modification is further based on a non-zero difference between the respective input pixel and a corresponding pixel of a filtered image at a second filter size that is less than a predetermined threshold.
4. The method of claim 1, wherein the modification is further based on a plurality of non-zero differences between the respective input pixel and corresponding pixels of a filtered image at increasing filter sizes that are less than a predetermined threshold.
5. An image processing system, comprising:
a transition detector, having an input for input image data, to:
filter image data at a plurality of filter sizes and
for each pixel in the input image data:
compare the pixel of the input image data to a pixel of the filtered image data, and
when a difference between the respective input pixel and a filtered pixel at a first filter size is non-zero and less than a predetermined threshold, generate a control output for the input pixel having a value dependent on a difference between the input pixel and at least one filtered pixel;
a mixer to adjust pixels in a dither image pattern according to the control output of the transition detector, and
an adder, having a first input for the image data and a second input for an output of the mixer.
6. The system of claim 5, wherein when the difference between the respective input pixel and a filtered pixel at a first filter size is either zero or greater than a predetermined threshold, the respective input pixel remains unchanged, and an output of the adder contains original input pixel data for the respective pixel.
7. An image processing method comprising:
calculating an average pixel value of pixels at a plurality of distances from a selected pixel of an image;
for each of the plurality of distances:
if a difference between the calculated average value of pixels at the distance and a value of the selected pixel does not exceed a threshold, calculating a weighted pixel value for the distance, wherein the weighted pixel value is proportional to the difference,
otherwise, setting the weighted pixel value for the distance and a weighted pixel value for any greater distances to zero;
averaging the weighted pixel values; and
adjusting the selected pixel value based on the average and a dither when the average is non-zero.
8. The computer-implemented method of claim 7, further comprising repeating the method for each pixel in the image.
9. The computer-implemented method of claim 7, further comprising:
retrieving a dither value for the selected pixel;
scaling the dither value proportionate to the average weighted pixel values; and
adjusting the selected pixel value based on the scaled dither value.
10. The computer-implemented method of claim 9, wherein the dither value is retrieved from a value corresponding to the selected pixel in a dither pattern.
11. The computer-implemented method of claim 9, wherein the selected pixel value is adjusted by either adding or subtracting the scaled dither value.
12. The computer-implemented method of claim 10, wherein the dither pattern is selected based on at least one of: a size, a resolution, a position of the selected pixel, a color space, or a color model of the image.
13. The computer-implemented method of claim 10, wherein the dither pattern is selected based on the direction of a color gradient change in the image.
14. The computer-implemented method of claim 10, wherein the dither pattern is selected to increase a color palette of the image.
15. The computer-implemented method of claim 10, wherein the dither pattern is a repeating pattern applying a dither to a first pixel in the image and not applying a dither to a second pixel in the image.
16. An image processing method comprising:
calculating an average pixel value of pixels at a given distance from a selected pixel;
when a difference between the calculated average pixel value and a value of the selected pixel is less than an upper threshold, modifying the value of the selected pixel to reduce the difference between the value of the selected pixel and the calculated average pixel value using a dither; and
otherwise, not modifying the value of the selected pixel.
17. An image processor, comprising:
an input interface to receive an image for processing;
a memory to store image processing data;
a processor coupled to the input/output interface and the memory, the processor performing the steps of:
calculating an average pixel value of pixels at a plurality of distances from a selected pixel of an image;
for each of the plurality of distances:
if a difference between the calculated average value of pixels at the distance and a value of the selected pixel does not exceed a threshold, calculating a weighted pixel value for the distance, wherein the weighted pixel value is proportional to the difference,
otherwise, setting the weighted pixel value for the distance and a weighted pixel value for any remaining greater distances to zero;
averaging the weighted pixel values; and
adjusting the selected pixel value based on the average and a dither; and
a output interface to output the adjusted selected pixel value.
18. The device of claim 17, the processor performing the additional steps comprising:
retrieving a dither value for the selected pixel;
scaling the dither value proportionate to the average weighted pixel values; and
adjusting the selected pixel value based on the scaled dither value.
19. The device of claim 17, wherein the dither value is retrieved from a value corresponding to the selected pixel in a dither pattern.
20. The device of claim 17, wherein the selected pixel value is adjusted by either adding or subtracting the scaled dither value.
21. The device of claim 17, wherein the device further comprises a computing device, the input interface, memory, processor, and output interface incorporated in the computing device.
22. The device of claim 21, wherein the computing device is portable.
23. The device of claim 17, wherein the device further comprises a display device, the input interface, memory, processor, and output interface incorporated in the display device.
24. The device of claim 23, wherein the display device is a monitor.
25. The device of claim 17, wherein the device further comprises an electronics device, the input interface, memory, processor, and output interface incorporated in the electronics device.
26. The device of claim 25, wherein the electronics device is a digital video player.
27. An article of manufacture including a computer readable medium storing instructions that, when executed by a processor, cause the processor to:
filter an input image at a plurality of filter sizes, and
modify each pixel in the input image having a non-zero difference between the respective input pixel and a corresponding pixel of a filtered image at a first filter size that is less than a predetermined threshold, the modification based on the difference and a dither component.
28. An article of manufacture including a computer readable medium storing instructions that, when executed by a processor, cause the processor to:
calculate an average pixel value of pixels at a given distance from a selected pixel;
when a difference between the calculated average pixel value and a value of the selected pixel is less than an upper threshold, modify the value of the selected pixel to reduce the difference between the value of the selected pixel and the calculated average pixel value using a dither; and otherwise, leave the value of the selected pixel unchanged.
29. An article of manufacture including a computer readable medium storing instructions that, when executed by a processor, cause the processor to:
calculate an average pixel value of pixels at a plurality of distances from a selected pixel of an image;
for each of the plurality of distances:
if a difference between the calculated average value of pixels at the distance and a value of the selected pixel does not exceed a threshold, calculate a weighted pixel value for the distance, wherein the weighted pixel value is proportional to the difference,
otherwise, set the weighted pixel value for the distance and a weighted pixel value for any greater distances to zero;
average the weighted pixel values; and
adjust the selected pixel value based on the average and a dither when the average is non-zero.
US12/631,006 2009-12-04 2009-12-04 Adaptive dithering during image processing Abandoned US20110135011A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/631,006 US20110135011A1 (en) 2009-12-04 2009-12-04 Adaptive dithering during image processing

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/631,006 US20110135011A1 (en) 2009-12-04 2009-12-04 Adaptive dithering during image processing
US13/669,338 US8681880B2 (en) 2009-12-04 2012-11-05 Adaptive dithering during image processing

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/669,338 Division US8681880B2 (en) 2009-12-04 2012-11-05 Adaptive dithering during image processing

Publications (1)

Publication Number Publication Date
US20110135011A1 true US20110135011A1 (en) 2011-06-09

Family

ID=44081990

Family Applications (2)

Application Number Title Priority Date Filing Date
US12/631,006 Abandoned US20110135011A1 (en) 2009-12-04 2009-12-04 Adaptive dithering during image processing
US13/669,338 Active US8681880B2 (en) 2009-12-04 2012-11-05 Adaptive dithering during image processing

Family Applications After (1)

Application Number Title Priority Date Filing Date
US13/669,338 Active US8681880B2 (en) 2009-12-04 2012-11-05 Adaptive dithering during image processing

Country Status (1)

Country Link
US (2) US20110135011A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120154529A1 (en) * 2010-12-20 2012-06-21 Takero Kobayashi Stereoscopic Video Signal Processing Apparatus and Method Therefor
US20120188276A1 (en) * 2011-01-25 2012-07-26 Konica Minolta Business Technologies, Inc. Image processing apparatus, image processing method and computer-readable storage medium
US9349160B1 (en) * 2013-12-20 2016-05-24 Google Inc. Method, apparatus and system for enhancing a display of video data
US20170111645A1 (en) * 2015-05-18 2017-04-20 Telefonaktiebolaget L M Ericsson (Publ) Methods, Receiving Device and Sending Device For Managing a Picture
US10269144B2 (en) 2017-08-14 2019-04-23 Qualcomm Incorporated Dither spatial noise aware redundancy bypass

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150092791A (en) 2014-02-05 2015-08-17 삼성디스플레이 주식회사 Liquid crystal display device
US9569816B2 (en) 2015-04-15 2017-02-14 Apple Inc. Debanding image data using bit depth expansion

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5148273A (en) * 1985-09-23 1992-09-15 Quanticon Inc. Television systems transmitting dither-quantized signals
US5184124A (en) * 1991-01-02 1993-02-02 Next Computer, Inc. Method and apparatus for compressing and storing pixels
US5506699A (en) * 1993-04-27 1996-04-09 Wong; Ping W. Method and apparatus for converting a halftone image into a continuous tone image
US5623558A (en) * 1993-04-12 1997-04-22 Ricoh Company, Ltd. Restoration of images with undefined pixel values
US20020051496A1 (en) * 2000-08-16 2002-05-02 Matsushita Electric Industrial Co., Ltd. Deblocking filtering apparatus and method
US20030035586A1 (en) * 2001-05-18 2003-02-20 Jim Chou Decoding compressed image data
US7068852B2 (en) * 2001-01-23 2006-06-27 Zoran Corporation Edge detection and sharpening process for an image
US20070035772A1 (en) * 2004-04-22 2007-02-15 Toshiaki Kakutani Image processing apparatus for carrying out multi-value quantization in multiple-pixel units
US20080055652A1 (en) * 2006-09-01 2008-03-06 Samsung Electronics Co., Ltd. Image forming device having a function for suppressing a document background and method thereof
US20090086816A1 (en) * 2007-09-28 2009-04-02 Dolby Laboratories Licensing Corporation Video Compression and Transmission Techniques
US20090180555A1 (en) * 2008-01-10 2009-07-16 Microsoft Corporation Filtering and dithering as pre-processing before encoding
US20090273716A1 (en) * 2008-04-30 2009-11-05 General Instrument Corporation Method to Reduce Contour Artifacts on Recursive Temporal Filters

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4576286A (en) * 1983-06-27 1986-03-18 Cochlea Corporation Parts sorting systems
US4956638A (en) 1988-09-16 1990-09-11 International Business Machines Corporation Display using ordered dither
US5598514A (en) * 1993-08-09 1997-01-28 C-Cube Microsystems Structure and method for a multistandard video encoder/decoder
CA2176726A1 (en) * 1993-12-08 1995-06-15 Mark J. Brady Method and apparatus for background determination and subtraction for a monocular vision system
US5943096A (en) * 1995-03-24 1999-08-24 National Semiconductor Corporation Motion vector based frame insertion process for increasing the frame rate of moving images
US5909218A (en) * 1996-04-25 1999-06-01 Matsushita Electric Industrial Co., Ltd. Transmitter-receiver of three-dimensional skeleton structure motions and method thereof
AU717480B2 (en) * 1998-08-01 2000-03-30 Korea Advanced Institute Of Science And Technology Loop-filtering method for image data and apparatus therefor
US6970602B1 (en) * 1998-10-06 2005-11-29 International Business Machines Corporation Method and apparatus for transcoding multimedia using content analysis
US6317522B1 (en) * 1998-12-03 2001-11-13 Philips Electronics North America Corp. Systems and methods for post-processing decompressed images
KR100525785B1 (en) * 2001-06-15 2005-11-03 엘지전자 주식회사 Filtering method for pixel of image
US20030189980A1 (en) * 2001-07-02 2003-10-09 Moonlight Cordless Ltd. Method and apparatus for motion estimation between video frames
CN101448162B (en) * 2001-12-17 2013-01-02 微软公司 Method for processing video image
US9560371B2 (en) * 2003-07-30 2017-01-31 Avocent Corporation Video compression system
KR100508306B1 (en) 2003-11-26 2005-08-18 인하대학교 산학협력단 An Error Diffusion Method based on Temporal and Spatial Dispersion of Minor Pixels on Plasma Display Panel
JP4176044B2 (en) * 2004-05-20 2008-11-05 東芝デジタルメディアエンジニアリング株式会社 Filtering apparatus and a digital broadcast receiver
EP1605403A1 (en) * 2004-06-08 2005-12-14 STMicroelectronics S.r.l. Filtering of noisy images
US7899271B1 (en) * 2004-09-15 2011-03-01 Raytheon Company System and method of moving target based calibration of non-uniformity compensation for optical imagers
KR20060060919A (en) * 2004-12-01 2006-06-07 삼성전자주식회사 Deblocking filter and method of deblock-filtering for eliminating blocking effect in h.264/mpeg-4
US9282335B2 (en) * 2005-03-15 2016-03-08 Hewlett-Packard Development Company, L.P. System and method for coding image frames
US8213495B2 (en) * 2006-02-06 2012-07-03 Panasonic Corporation Picture decoding method and picture decoding apparatus
JP4771288B2 (en) * 2006-04-03 2011-09-14 富士ゼロックス株式会社 Data processing apparatus and program
EP2024929A2 (en) * 2006-04-21 2009-02-18 Philips Electronics N.V. Picture enhancing increasing precision smooth profiles
US20080025390A1 (en) * 2006-07-25 2008-01-31 Fang Shi Adaptive video frame interpolation
KR101545005B1 (en) * 2006-12-18 2015-08-21 코닌클리케 필립스 엔.브이. Image compression and decompression
KR101350853B1 (en) 2007-06-29 2014-01-13 톰슨 라이센싱 Apparatus and method for reducing artifacts in images
EP2157799A1 (en) * 2008-08-18 2010-02-24 Panasonic Corporation Interpolation filter with local adaptation based on block edges in the reference frame
US8270498B2 (en) * 2009-03-26 2012-09-18 Apple Inc. Dynamic dithering for video compression

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5148273A (en) * 1985-09-23 1992-09-15 Quanticon Inc. Television systems transmitting dither-quantized signals
US5184124A (en) * 1991-01-02 1993-02-02 Next Computer, Inc. Method and apparatus for compressing and storing pixels
US5623558A (en) * 1993-04-12 1997-04-22 Ricoh Company, Ltd. Restoration of images with undefined pixel values
US5506699A (en) * 1993-04-27 1996-04-09 Wong; Ping W. Method and apparatus for converting a halftone image into a continuous tone image
US20020051496A1 (en) * 2000-08-16 2002-05-02 Matsushita Electric Industrial Co., Ltd. Deblocking filtering apparatus and method
US7068852B2 (en) * 2001-01-23 2006-06-27 Zoran Corporation Edge detection and sharpening process for an image
US20030035586A1 (en) * 2001-05-18 2003-02-20 Jim Chou Decoding compressed image data
US20070035772A1 (en) * 2004-04-22 2007-02-15 Toshiaki Kakutani Image processing apparatus for carrying out multi-value quantization in multiple-pixel units
US20080055652A1 (en) * 2006-09-01 2008-03-06 Samsung Electronics Co., Ltd. Image forming device having a function for suppressing a document background and method thereof
US20090086816A1 (en) * 2007-09-28 2009-04-02 Dolby Laboratories Licensing Corporation Video Compression and Transmission Techniques
US20090180555A1 (en) * 2008-01-10 2009-07-16 Microsoft Corporation Filtering and dithering as pre-processing before encoding
US20090273716A1 (en) * 2008-04-30 2009-11-05 General Instrument Corporation Method to Reduce Contour Artifacts on Recursive Temporal Filters

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120154529A1 (en) * 2010-12-20 2012-06-21 Takero Kobayashi Stereoscopic Video Signal Processing Apparatus and Method Therefor
US20130321577A1 (en) * 2010-12-20 2013-12-05 Kabushiki Kaisha Toshiba Stereoscopic Video Signal Processing Apparatus and Method Therefor
US20120188276A1 (en) * 2011-01-25 2012-07-26 Konica Minolta Business Technologies, Inc. Image processing apparatus, image processing method and computer-readable storage medium
US9584699B2 (en) * 2011-01-25 2017-02-28 Konica Minolta, Inc. Image processing apparatus, image processing method and computer-readable storage medium with improved character display
US9349160B1 (en) * 2013-12-20 2016-05-24 Google Inc. Method, apparatus and system for enhancing a display of video data
US20170111645A1 (en) * 2015-05-18 2017-04-20 Telefonaktiebolaget L M Ericsson (Publ) Methods, Receiving Device and Sending Device For Managing a Picture
US10136148B2 (en) * 2015-05-18 2018-11-20 Telefonaktiebolaget Lm Ericsson (Publ) Methods, receiving device and sending device for managing a picture
US10269144B2 (en) 2017-08-14 2019-04-23 Qualcomm Incorporated Dither spatial noise aware redundancy bypass

Also Published As

Publication number Publication date
US8681880B2 (en) 2014-03-25
US20130064445A1 (en) 2013-03-14

Similar Documents

Publication Publication Date Title
US7068328B1 (en) Method, apparatus and recording medium for image processing
US7508550B2 (en) Image correcting apparatus and method, and image correcting program, and look-up table creating apparatus and method, and look-up table creating program
JP5611337B2 (en) Zone-based tone mapping
US8265378B2 (en) Methods and systems for converting images from low dynamic to high dynamic range
US20040252907A1 (en) Image processing method, apparatus, and program
JP4145665B2 (en) Image processing apparatus and image processing method
US20110188776A1 (en) Image processing method and image processing apparatus
RU2342703C2 (en) Method of simulating graininess of film through frequency filtering
JP4087475B2 (en) Auto cropping method of image
US20020037101A1 (en) Image processing apparatus, image processing method and computer program product for correcting image obtained by shooting subject
US20030053692A1 (en) Method of and apparatus for segmenting a pixellated image
US8009903B2 (en) Image processor, image processing method, storage medium, and integrated circuit that can adjust a degree of depth feeling of a displayed high-quality image
US8923612B2 (en) Image processing apparatus and method, and program
KR101437195B1 (en) Detecting block artifacts in coded image and video
EP3457359A1 (en) Method and apparatus for representing image granularity by one or more parameters
Kuang et al. Testing HDR image rendering algorithms
US7869649B2 (en) Image processing device, image processing method, program, storage medium and integrated circuit
US7881554B2 (en) Method for correcting a digital image
EP1292118A2 (en) Tone scale adjustment of digital images
KR101001086B1 (en) Method and apparatus for modeling film grain patterns in the frequency domain
US8406547B2 (en) Visual processing device, visual processing method, program, display device, and integrated circuit
Rivera et al. Content-aware dark image enhancement through channel division
US7356254B2 (en) Image processing method, apparatus, and program
JP5105209B2 (en) Image processing apparatus and method, program, and recording medium
EP1857976B1 (en) Histogram adjustment for high dynamic range image mapping

Legal Events

Date Code Title Description
AS Assignment

Owner name: APPLE INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:EDDY, ALEX;BURNS, NICK;REEL/FRAME:023605/0348

Effective date: 20091203

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION