Systems and methods for adaptively filtering palettized images
First Claim
Patent Images
1. A method for enhancing colors in a palletized image, comprising:
- inputting a palletized color image, the palletized color image having a plurality of pixels arranged in at least a two-dimensional array;
generating a plurality of histograms from a color palette of the input palletized color image; and
determining a plurality of filter parameters based on the plurality of histograms.
4 Assignments
0 Petitions
Accused Products
Abstract
Palletized image enhancement systems and methods enhance palletized images by σ-filtering the palletized image. Palletized images, such as GIF images, are analyzed to obtain a number of σ filter parameters based on the global image features of the palletized image. Local portions of the image data are analyzed to determine which of the σ filter parameters should be used for each particular portion. The σ filter parameters are determined based on histograms of the color palette of the palletized image data. As a result, a good balance between color re-creation and image sharpness in the enhanced palletized image is obtained.
-
Citations
28 Claims
-
1. A method for enhancing colors in a palletized image, comprising:
-
inputting a palletized color image, the palletized color image having a plurality of pixels arranged in at least a two-dimensional array;
generating a plurality of histograms from a color palette of the input palletized color image; and
determining a plurality of filter parameters based on the plurality of histograms. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
generating a plurality of color value histograms from the color palette; and
generating a plurality of difference histograms from the plurality of color value histograms.
-
-
3. The method of claim 2, wherein generating the plurality of color value histograms comprises:
-
separating each entry in the color palette into a plurality of color values, each color value corresponding to a separate color separation layer of the palletized color image determining, for each of the separate color separation layers, a color value histogram for that separate color separation layer based on the color values corresponding to that color separation layer.
-
-
4. The method of claim 2, wherein generating the plurality of difference histograms comprises:
-
determining, for each color value histogram, separation distances within that color value histogram between adjacent non-zero values of that color value histogram; and
determining, for each color value histogram, a difference histogram of the separation distances within that color value histogram.
-
-
5. The method of claim 2, further comprising:
-
determining whether the palletized color image includes an color palette portion; and
when the palletized color image does not include a color palette portion, generating the color palette from image data of the palletized color image.
-
-
6. The method of claim 2, wherein determining the plurality of filter parameters comprises:
-
determining at least one common filter value from the plurality of difference histograms; and
determining at least one maximum filter value from the plurality of difference histograms.
-
-
7. The method of claim 6, wherein determining the at least one maximum filter value comprises:
-
determining, for each difference histogram, which bins have non-zero values; and
determining a highest bin number of the bins in the plurality of difference histograms having non-zero values.
-
-
8. The method of claim 7, wherein determining the at least one maximum filter value further comprises:
-
determining if the determined highest bin number is greater than a default maximum filter value;
setting, when the determined highest bin number is greater than the default maximum filter value, the maximum filter value to the determined highest bin number; and
setting, when the determined highest bin number is not greater than the default maximum filter value, the maximum filter value to the default maximum filter value.
-
-
9. The method of claim 6, wherein determining the at least one maximum filter value comprises determining a maximum filter value for each color separation layer, comprising:
-
determining, for each color separation layer, which bins have non-zero values; and
determining, for each color separation layer, a highest bin number of the bins having non-zero values in the difference histogram corresponding to that color separation layer.
-
-
10. The method of claim 9, wherein determining the maximum filter value for a color separation layer further comprises:
-
determining, for the determined highest bin number of the corresponding difference histogram, if that determined highest bin number is greater than a default maximum filter value;
setting, when that determined highest bin number is greater than the default maximum filter value, the maximum filter value for that color separation layer to that determined highest bin number; and
setting, when that determined highest bin number is not greater than the default maximum filter value, the maximum filter value for that color separation layer to the default maximum filter value.
-
-
11. The method of claim 6, wherein determining the at least one common filter value comprises:
-
weighting, for each difference histogram and each bin having a non-zero value in that difference histogram, the bin number of that bin based on the value in that bin to obtain a weighted value for each such bin; and
determining the bin number of the bin, of the bins in the plurality of difference histograms having non-zero values, that has a highest weighted value.
-
-
12. The method of claim 11, wherein determining the at least one common filter value further comprises:
-
determining if the determined bin number is greater than a default common filter value;
setting, when the determined highest bin number is greater than the default common filter value, the common filter value to the determined highest bin number; and
setting, when the determined highest bin number is not greater than the default common filter value, the common filter value to the default common filter value.
-
-
13. The method of claim 11, wherein the weighting the bin number based on the bin value comprises multiplying the bin number by the bin value.
-
14. The method of claim 6, wherein determining the at least one common filter value comprises determining a common filter value for each color separation layer, comprising:
-
weighting, for each difference histogram and each bin having a non-zero value in that difference histogram, the bin number of that bin based on the value in that bin to obtain a weighted value for each such bin; and
determining, for each color separation layer, the bin number of the bin, of the bins having non-zero values in the difference histogram corresponding to that color separation layer, that has a highest weighted value.
-
-
15. The method of claim 14, wherein determining the common filter value for a color separation layer further comprises:
-
determining, for the determined bin number of the corresponding difference histogram, if that determined bin number is greater than a default common filter value;
setting, when the determined bin number is greater than the default common filter value, the maximum filter value for that color separation layer to that determined bin number; and
setting, when that determined bin number is not greater than the default common filter value, the commn filter value for that color separation layer to the default common filter value.
-
-
16. The method of claim 1, further comprising:
-
determining, for each pixel, a number of neighboring pixels based on a predetermined pixel neighborhood;
determining, for each color separation layer in the palletized color image, at least one of a minimum color value and a maximum color value of the determined neighboring pixels for that pixel;
determining, for each color separation layer, at least one difference between the color value for that pixel and the determined ones of the minimum and maximum color values for that pixel;
comparing, for each color separation layer, the at least one determined difference to a first one of the plurality of filter parameters; and
selecting, for each color separation layer, one of the plurality of filter parameters based on the comparison.
-
-
17. The method of claim 16, wherein selecting, for each color separation layer, one of the plurality of filter parameters based on the comparison comprises:
-
selecting, for that color separation layer, the first filter parameter when the at least one determined difference is not greater than the first filter parameter, the first filter parameter providing greater smoothing; and
selecting, for that color separation layer, a second filter parameter when at least one of the at least one determined difference is greater that the first filter parameter, the second filter parameter providing greater edge sharpness.
-
-
18. The method of claim 16, further comprising filtering each color separation layer for that pixel based on the selected filter parameter for that color separation layer.
-
19. The method of claim 16, further comprising:
-
determining, for each color separation layer, whether that color separation layer is within a second one of the plurality of filter parameters; and
determining a number of color separation layers that are within the second filter parameter; and
filtering each color separation layer for that pixel based on the determined number of color separation layers that are within the second filter parameter.
-
-
20. The method of claim 19, wherein filtering each color separation layer, based on the determined number of color separation layers comprises:
-
filtering all of the color separation layers when the determined number of color separation layers is greater than a predetermined number; and
filtering only those color separation layers that are within the second filter parameter when the determined number is not greater than the predetermined number.
-
-
21. The method of claim 20, wherein the predetermined number is determined based on a number of color separation layers in the palletized color image.
-
22. The method of claim 21, wherein, when the number of color separations layers is three or four, the predetermined number is two.
-
23. A palletized image enhancement system, comprising:
-
a histogram generating circuit;
a filter parameter determining circuit that determines a plurality of filter parameters based on a plurality of histograms generated by the histogram generating circuit; and
a palletized color image filtering circuit. - View Dependent Claims (24, 25, 26, 27, 28)
a color value histogram generating circuit; and
a difference histogram generating circuit.
-
-
25. The palletized image enhancement system of claim 24, wherein the histogram generating circuit further comprises a color palette generating circuit.
-
26. The palletized image enhancement system of claim 23, wherein the filter parameter determining circuit comprises:
-
a bin value analyzing circuit; and
a maximum filter parameter determining circuit.
-
-
27. The palletized image enhancement system of claim 23, wherein the filter parameter determining circuit comprises:
-
a bin value multiplying circuit; and
a common filter parameter determining circuit.
-
-
28. The palletized image enhancement system of claim 23, further comprising:
-
a local image data analyzing circuit; and
a local filter parameter modifying circuit.
-
Specification