Methods and Systems for Dynamic Color Equalization

Information

  • Patent Application
  • 20070206854
  • Publication Number
    20070206854
  • Date Filed
    March 05, 2007
    17 years ago
  • Date Published
    September 06, 2007
    17 years ago
Abstract
Disclosed herein are methods and systems for dynamic color equalization that can be used for image viewer applications. The methods and systems described involve linking enhancement parameters to a changing viewport. When a large image is being viewed, only a portion of the image can fit in a viewer window at a time. A viewport can be defined as the portion of image data that is displayed on a screen. Scrolling or zooming the image can be described as moving the viewport.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments of the methods and systems and together with the description, serve to explain the principles of the methods and systems.



FIG. 1
a illustrates exemplary steps in a method disclosed herein;



FIG. 1
b illustrates exemplary steps in a method disclosed herein;



FIG. 2
a illustrates exemplary steps in an embodiment of a method disclosed wherein the image enhancement performed is histogram equalization;



FIG. 2
b illustrates exemplary steps in an embodiment of a method disclosed wherein the image enhancement performed is contrast stretch;



FIG. 3 illustrates an exemplary method for determining color equalization parameters each time the viewport is changed, utilizing histogram equalization for image enhancement;



FIG. 4 illustrates an exemplary method for determining color equalization parameters each time a new viewport is displayed utilizing tile division and pre-computed statistics in conjunction with histogram equalization;



FIG. 5 illustrates an exemplary method for determining color equalization parameters each time a new viewport is displayed utilizing tile division and pre-computed statistics in conjunction with contrast stretch;



FIG. 6 is a block diagram illustrating an exemplary operating environment for performing the disclosed method;



FIG. 7 is an example of the method outlined in FIG. 3;



FIG. 8 is another example of the method outlined in FIG. 3, but with a different viewport; and



FIG. 9 illustrates an exemplary viewport.


Claims
  • 1. A method for dynamic color equalization of an input image, comprising: (a) receiving the input image;(b) determining image statistics for at least a first portion of the input image;(c) generating a transformation function for the first portion of the input image based at least in part on the image statistics;(d) enhancing the first portion of the input image using the transformation function;(e) displaying the enhanced first portion of the input image; and(f) repeating steps (b)-(e) for at least a second portion of the input image in response to a received command.
  • 2. The method of claim 1, wherein the step of determining image statistics for at least a first portion of the input image comprises determining a histogram of the first portion of the input image, wherein the histogram represents a number of pixels of each of a plurality of color values in the first portion of the input image.
  • 3. The method of claim 2, wherein the step of generating a transformation function further comprises receiving a pre-determined target histogram and the first transformation function is generated based at least in part on the histogram and the pre-determined target histogram.
  • 4. The method of claim 3, wherein the pre-determined target histogram represents a uniform color distribution.
  • 5. The method of claim 3, wherein the pre-determined target histogram represents a Gaussian color distribution.
  • 6. The method of claim 1, wherein the step of determining image statistics for at least a first portion of the input image comprises determining minimum and maximum color values for the first portion of the input image based on pixels in the first portion of the input image, wherein the minimum and maximum color values for the first portion of the input image define a first range.
  • 7. The method of claim 6, further comprising the step of receiving a pre-determined range of color values, the pre-determined range defining a minimum pre-determined color value and maximum pre-determined color value, wherein the step of generating a transformation function for the first portion of the input image comprises generating a linear scaling function to map the first range to the pre-determined range.
  • 8. The method of claim 1, further comprising: dividing the input image into at least a first and second tile, wherein each of the first and second tiles comprises at least two pixels each having a respective color value;determining first tile statistics for the first tile; anddetermining second tile statistics for the second tile,wherein the steps of dividing the image and determining the first and second tile statistics occur prior to determining image statistics for at least a first portion of the input image.
  • 9. The method of claim 8, wherein the first portion of the input image comprises at least one of the first and second tiles, and wherein the step of determining image statistics for at least a portion of the first input image is based at least in part on the tile statistics of the respective one or more tiles of the first portion of the input image.
  • 10. The method of claim 9, wherein the step of determining the first tile statistics comprises determining a first tile histogram of the first tile and the step of determining the second tile statistics comprises determining a second tile histogram of the second tile, wherein the first and second tile histograms represent the number of pixels of each of a plurality of color values in each of the respective first and second tiles.
  • 11. The method of claim 10, wherein the step of determining image statistics for the first portion of the input image comprises determining a histogram of the first portion of the input image based at least in part on the tile histogram of the respective one or more tiles of the first portion of the input image.
  • 12. The method of claim 11, further comprising receiving a pre-determined target histogram, wherein the step of generating a transformation function for the first portion of the input image comprises generating a transformation function based on the histogram of the first portion of the input image and the pre-determined target histogram.
  • 13. The method of claim 9, wherein the step of determining the first tile statistics comprises determining minimum and maximum color values for the first tile based on the pixels in the first tile, wherein the step of determining the second tile statistics comprises determining minimum and maximum color values for the second tile based on the pixels in the second tile, and wherein the minimum and maximum values for each of the first and second tiles define respective first and second tile ranges.
  • 14. The method of claim 13, wherein the step of determining image statistics for the first portion of the input image comprises determining minimum and maximum color values for the first portion of the input image based at least in part on the minimum and maximum color values of the respective one or more tiles of the first portion of the input image, and wherein the minimum and maximum color values for each the first portion of the input image defines respective a first range.
  • 15. The method of claim 14, further comprising the step of receiving a pre-determined range of color values, the pre-determined range defining a minimum pre-determined color value and maximum pre-determined color value, wherein the step of generating a transformation function for the first portion of the input image comprises generating a linear scaling function to map the first range to the pre-determined range.
  • 16. The method of claim 1, wherein the first portion of the input image is a subset of the second portion of the input image.
  • 17. The method of claim 1, wherein the second portion of the input image is a subset of the first portion of the input image.
  • 18. The method of claim 1, wherein the received command is at least one of zooming in, zooming out, and panning.
  • 19. A computer readable medium with computer executable instructions embodied thereon for dynamic color equalization of an input image comprising: (a) receiving the input image;(b) determining image statistics for at least a first portion of the input image;(c) generating a transformation function for the first portion of the input image based at least in part on the image statistics;(d) enhancing the first portion of the input image using the transformation function;(e) displaying the enhanced first portion of the input image; and(f) repeating steps (b)-(e) for at least a second portion of the input image in response to a received command.
  • 20. A system for dynamic color equalization of an input image comprising: a memory configured for storing image data comprising the input image;a processor, coupled to the memory, wherein the processor is configured to perform the steps of: (a) receiving the input image;(b) determining image statistics for at least a first portion of the input image;(c) generating a transformation function for the first portion of the input image based at least in part on the image statistics;(d) enhancing the first portion of the input image using the transformation function;(e) displaying the enhanced first portion of the input image; and(f) repeating steps (b)-(e) for at least a second portion of the input image in response to a received command.
Provisional Applications (1)
Number Date Country
60778679 Mar 2006 US