IP Library Granted Patent US 8,411,942
Granted Patent B2
US 8,411,942 · App. 11/947,550 · Granted Apr 2, 2013

Method and apparatus for hybrid image compression

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,411,942
App. No.
11/947,550
Granted
Apr 2, 2013
Kind
B2
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.

Claims (37)

1. 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.

2. The method of claim 1 , wherein the compression path type includes a pixel-based encoding of the one or more image pixels which is a set of indices to the palette in tile raster order.

3. The method of claim 1 , wherein the palette has a maximum predetermined size.

4. The method of claim 1 , wherein the compression path type includes the pixel-based encoding of the one or more image pixels comprising a set of raw color values in tile raster order.

5. The method of claim 1 , wherein the compression of the encoded image pixels is lossy.

6. The method of claim 5 , further comprising partitioning the lossy compressed image pixels into one or more elements of differing visual significance.

7. The method of claim 6 , further comprising notionally linking elements of the same visual significance from a plurality of the tiles to form partitions of uniform visual significance.

8. The method of claim 5 , further comprising, before the compressing, backfilling a selected pixel value from the image into a pixel of the region.

9. The method of claim 5 , wherein the tile comprises a plurality of blocks, further comprising determining whether all the pixels within one block belong to the region, and if so, encoding the one block using a predetermined skip symbol.

10. The method of claim 9 , further comprising, if at least one pixel within the block does not belong to the region, backfilling the at least one pixel with a value from the image pixels within the block, before the compressing.

11. The method of claim 1 wherein, the data defining boundaries of the region comprises an edge pair, the edges of the pair defining left hand and right hand boundaries of the region.

12. The method of claim 1 , further comprising:

discarding the boundary data and the fill colour color for the region if the visual significance metric of the boundary data is below a threshold.

13. The method of claim 1 , wherein:

the palette comprises distinct colors within the tile, and a palette map of palette indices of pixel values of the tile, and

where a compressed size for the tile is greater than the encoded size of the palette and the palette map, the region data is discarded and the tile is compressed using the palette and the palette map.

14. The method of claim 1 , wherein the color image includes three or more different pixel values.

15. 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.

16. 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.

Assignments (2)
SECURITY INTEREST Recorded Sep 20, 2024
From: JIVE SOFTWARE, LLC
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 068651/0281 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 26, 2012
From: CHEN, YU-LING; MONAGHAN, DAVID ROBERT JAMES; COMBES, IAN GEOFFREY; ANDREW, JAMES PHILIP; ILBERY, PETER WILLIAM MITCHELL; ARNOLD, ANTHONY JOHN; DENG, DIXON DE SHENG
To: CANON KABUSHIKI KAISHA
Reel/Frame 029525/0905 →