Image compression based on tiled wavelet-like transform using edge and non-edge filters
First Claim
1. A method of processing an array of image data, comprising:
- applying a predefined family of transform filters to the array of image data so as to generate successive sets of transform coefficients, each set of transform coefficients including edge coefficients at outside boundaries of the set of transform coefficients and non-edge coefficients positioned at interior locations of the set of transform coefficients;
the sets of transform coefficients including a last set of transform coefficients and one or more earlier sets of transform coefficients; and
the applying including applying a short transform filter to image data at boundaries of the array and to coefficients positioned at boundaries of each earlier set of transform coefficients so as to generate the edge coefficients, and applying a long filter to image data at interior locations of the array and to coefficients at interior locations of the earlier sets of transform coefficients so as to generate the non-edge coefficients;
wherein the boundaries of the array and the interior locations of the array are predetermined without respect to content of the array;
wherein the short transform filter has a shorter filter support than the long transform filter, and both the short transform filter and the long transform filter are applied only to image data within the array and only to transform coefficients within the earlier sets of transform coefficients for the array while generating the sets of transform coefficients.
6 Assignments
0 Petitions
Accused Products
Abstract
An image processing system tiles an image data array. Each tile of image data is processed by applying a family of transform layers to the tile of image data so as to generate successive sets of transform coefficients. Each set of transform coefficients include edge coefficients positioned at outside boundaries of the set of transform coefficients and non-edge coefficients positioned at interior locations of the set of transform coefficients. The transform filters include a short edge transform filter that is applied to image data at boundaries of the tile and to coefficients positioned at and near boundaries of each of the earlier sets of transform coefficients so as to generate the edge coefficients, and a long interior filter that is applied to image data at interior locations of the tile and to coefficients at interior locations of the earlier sets of transform coefficients so as to generate the non-edge coefficients.
86 Citations
22 Claims
-
1. A method of processing an array of image data, comprising:
-
applying a predefined family of transform filters to the array of image data so as to generate successive sets of transform coefficients, each set of transform coefficients including edge coefficients at outside boundaries of the set of transform coefficients and non-edge coefficients positioned at interior locations of the set of transform coefficients;
the sets of transform coefficients including a last set of transform coefficients and one or more earlier sets of transform coefficients; and
the applying including applying a short transform filter to image data at boundaries of the array and to coefficients positioned at boundaries of each earlier set of transform coefficients so as to generate the edge coefficients, and applying a long filter to image data at interior locations of the array and to coefficients at interior locations of the earlier sets of transform coefficients so as to generate the non-edge coefficients;
wherein the boundaries of the array and the interior locations of the array are predetermined without respect to content of the array;
wherein the short transform filter has a shorter filter support than the long transform filter, and both the short transform filter and the long transform filter are applied only to image data within the array and only to transform coefficients within the earlier sets of transform coefficients for the array while generating the sets of transform coefficients. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of processing an array of image data, comprising:
-
processing tiles of the image data in a predefined order, the tiles comprising nonoverlapping portions of the image data, so as to generate processed image data; and
storing the processed image data as a data image file;
the processing of each tile of image data comprising;
applying a predefined family of transform filters to the tile of image data so as to generate successive sets of transform coefficients, each set of transform coefficients including edge coefficients positioned at outside boundaries of the set of transform coefficients and non-edge coefficients positioned at interior locations of the set of transform coefficients;
the sets of transform coefficients including a last set of transform coefficients and one or more earlier sets of transform coefficients; and
the applying including applying a short transform filter to image data at boundaries of the tile and to coefficients positioned at boundaries of each earlier set of transform coefficients so as to generate the edge coefficients, and applying a long filter to image data at interior locations of the tile and to coefficients at interior locations of the earlier sets of transform coefficients so as to generate the non-edge coefficients;
wherein the boundaries of the array and the interior locations of the array are predetermined without respect to content of the array;
wherein the short transform filter has a shorter filter support than the long transform filter, and both the short transform filter and the long transform filter are applied only to image data within the tile and only to transform coefficients within the earlier sets of transform coefficients for the tile while generating the sets of transform coefficients. - View Dependent Claims (8, 9)
for at least two of the respective sets of transform coefficients, generating one or more parameters whose value is indicative of density of image features in the tile;
classifying the tile into one of a predefined set of categories in accordance with the values of the one or more parameters;
selecting a set of quantization factors for each respective tile in accordance with the category into which the tile has been classified; and
scaling the transform coefficients of the tile by the set of quantization factors to as to generate a set of quantized transform coefficients for the tile.
-
-
9. The method of claim 8, including
storing in the image data file an indication of the selected set of quantization factors for each tile of the image data.
-
10. A computer program product for use in conjunction with a computer system, the computer program product comprising a computer readable storage medium and a computer program mechanism embedded therein, the computer program mechanism comprising:
-
an image processing module that applies a predefined family of transform filters to the array of image data so as to generate successive sets of transform coefficients, each set of transform coefficients including edge coefficients positioned at outside boundaries of the set of transform coefficients and non-edge coefficients positioned at interior locations of the set of transform coefficients;
the sets of transform coefficients including a last set of transform coefficients and one or more earlier sets of transform coefficients; and
the predefined family of transform filters including a short transform filter applied by the image processing module to image data at boundaries of the array and to coefficients positioned at boundaries of each earlier set of transform coefficients so as to generate the edge coefficients, and applying a long filter applied by the image processing module to image data at interior locations of the array and to coefficients at interior locations of the earlier sets of transform coefficients so as to generate the non-edge coefficients;
wherein the boundaries of the array and the interior locations of the array are predetermined without respect to content of the array;
wherein the short transform filter has a shorter filter support than the long transform filter, and both the short transform filter and the long transform filter are applied only to image data within the array and only to transform coefficients within the earlier sets of transform coefficients for the array while generating the sets of transform coefficients. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A computer program product for use in conjunction with a computer system, the computer program product comprising a computer readable storage medium and a computer program mechanism embedded therein, the computer program mechanism comprising:
-
an image processing module that processes tiles of the image data in a predefined order, the tiles comprising nonoverlapping portions of the image data, so as to generate processed image data, and that stores the processed image data as a data image file;
the image processing module including instructions for processing of each tile of image data, comprising;
instructions for applying a predefined family of transform filters to the tile of image data, so as to generate successive sets of transform coefficients, each set of transform coefficients including edge coefficients positioned at outside boundaries of the set of transform coefficients and non-edge coefficients positioned at interior locations of the set of transform coefficients;
the sets of transform coefficients including a last set of transform coefficients and one or more earlier sets of transform coefficients; and
the instructions for applying a predefined family of transform filters including instructions for applying a short transform filter to image data at boundaries of the tile and to coefficients positioned at boundaries of each earlier set of transform coefficients so as to generate the edge coefficients, and for applying a long filter to image data at interior locations of the tile and to coefficients at interior locations of the earlier sets of transform coefficients so as to generate the non-edge coefficients;
wherein the boundaries of the array and the interior locations of the array are predetermined without respect to content of the array;
wherein the short transform filter has a shorter filter support than the long transform filter, and both the short transform filter and the long transform filter are applied only to image data within the tile and only to transform coefficients within the earlier sets of transform coefficients for the tile while generating the sets of transform coefficients. - View Dependent Claims (17, 18)
instructions for generating, for at least two of the respective sets of transform coefficients, one or more parameters whose value is indicative of density of image features in the tile;
instructions for classifying the tile into one of a predefined set of categories in accordance with the values of the one or more parameters;
instructions for selecting a set of quantization factors for each respective tile in accordance with the category into which the tile has been classified; and
instructions for scaling the transform coefficients of the tile by the set of quantization factors to as to generate a set of quantized transform coefficients for the tile.
-
-
18. The computer program product of claim 17, including
instructions for storing in the image data file an indication of the selected set of quantization factors for each tile of the image data.
-
19. A method of processing an array of image data, comprising:
-
applying a predefined family of transform filters to the array of image data so as to generate successive sets of transform coefficients, including applying a first family of transform filters to the array of image data so as to generate a first set of transform coefficients and applying a second family of transform filters to the first set of transform coefficients so as to generate a second set of transform coefficients;
wherein applying the first family of transform filters includes applying a first short transform filter to image data at boundaries of the array and a first long transform filter to image data at interior locations of the array, and applying the second family of transform filters includes applying a second short transform filter to edge coefficients at boundaries of the first set of transform coefficients and a second long transform filter to coefficients at interior locations of the first set of transform coefficients;
wherein the boundaries of the array and the first set of transform coefficients, and the interior locations of the array and the first set of transform coefficients are predetermined without respect to content of the array and the first set of transform coefficients;
wherein the first family of transform filters have shorter filter supports than the second family of transform filters. - View Dependent Claims (20)
-
-
21. A computer program product for use in conjunction with a computer system, the computer program product comprising a computer readable storage medium and a computer program mechanism embedded therein, the computer program mechanism comprising:
-
an image processing module that applies a predefined family of transform filters to the array of image data so as to generate successive sets of transform coefficients, each set of transform coefficients including edge coefficients positioned at outside boundaries of the set of transform coefficients and non-edge coefficients positioned at interior locations of the set of transform coefficients;
the predefined family of transform filters including a first family of transform filters applied by the image processing module to the array of image data so as to generate a first set of transform coefficients and a second family of transform filters applied by the image processing module to the first set of transform coefficients so as to generate a second set of transform coefficients;
wherein the image processing module applies a first short transform filter to image data at boundaries of the array and a first long transform filter to image data at interior locations of the array, and the image processing module applies a second short transform filter to edge coefficients at boundaries of the first set of transform coefficients and a second long transform filter to coefficients at interior locations of the first set of transform coefficients;
wherein the boundaries of the array and the first set of transform coefficients, and the interior locations of the array and the first set of transform coefficients are predetermined without respect to content of the array and the first set of transform coefficients;
wherein the first family of transform filters have shorter filter supports than the second family of transform filters. - View Dependent Claims (22)
-
Specification