Method and apparatus for hybrid image compression
AssigneeCanon Kabushiki Kaisha
InventorsYu-Ling Chen, David Robert James Monaghan, Ian Geoffrey Combes, James Philip Andrew, Peter William Mitchell Ilbery, Anthony John Arnold, Dixon De Sheng Deng
Life of this patent
Estimating the term…
Abstract
A Hybrid Compressor and method of compressing a tile of pixels within an image are disclosed. An Edge Processor of the Hybrid Compressor analyzes pixel runs of the tile and generates boundary data defining one or more regions comprising pixels of substantially identical color. A Palette Processor of the Hybrid Compressor generates data defining a color value for each region. An Image Processor of the Hybrid Compressor generates a representation of pixels not included in the one or more regions.
Claims16
A method of compressing a color image, said method comprising:
- receiving the color image derived from a page description language, the color image comprising at least one image tile, data of the tile defining:
- (i) positions of boundaries of a region within the image tile, the region comprising pixels of substantially identical color, wherein the region extends over a plurality of scanlines of the image tile;
- and (ii) a fill color for the region;
- assessing a visual significance metric of the region based on a length of the region and a width of the region;
- determining whether or not a color palette buffer has overflowed, the color palette buffer storing an indexed array of unique color values that are used within the tile;
- selecting a compression path type for the tile based on the visual significance metric of the region and the determination of whether or not the color palette buffer has overflowed;
- and
- compressing the tile using the selected compression path type.
An apparatus for compressing a color image, the apparatus comprising:
- a memory for storing a program;
- and
- a processor for executing the program, the program comprising:
- code for receiving the color image derived from a page description language, the color image comprising at least one image tile, data of the tile defining:
- (i) positions of boundaries of a region within the image tile, the region comprising pixels of substantially identical color and extending over a plurality of scanlines of the image tile;
- and (ii) a fill color for the region;
- code for assessing a visual significance metric of the region based on a length of the region and a width of the region;
- code for determining whether or not a color palette buffer has overflowed, the color palette buffer storing an indexed array of unique color values that are used within the tile;
- code for selecting a compression path type for the tile based on the visual significance metric of the region and the determination of whether or not the color palette buffer has overflowed;
- and
- code for compressing the tile using the determined compression path type.
A non-transitory computer readable storage medium having recorded thereon a computer program for directing a processor to execute a method for compressing a color image, the program comprising:
- code for receiving the color image derived from a page description language, the color image comprising at least one image tile, data of the image tile defining:
- (i) positions of boundaries of the region within the image tile, the region comprising pixels of substantially identical color and extending over a plurality of scanlines of the image tile;
- and (ii) a fill color for the region;
- code for assessing a visual significance metric of the region based on a length of the region and a width of the region;
- code for determining whether or not a color palette buffer has overflowed, the color palette buffer storing an indexed array of unique color values that are used within the tile;
- code for selecting a compression path type for the tile based on the visual significance metric of the region and the determination of whether or not the color palette buffer has overflowed;
- and
- code for compressing the tile using the determined compression path type.
Dependencies are inferred from the claim text.