WO1994030002A1 - Digital image compression using tile subdivision - Google Patents
Digital image compression using tile subdivision Download PDFInfo
- Publication number
- WO1994030002A1 WO1994030002A1 PCT/US1994/006125 US9406125W WO9430002A1 WO 1994030002 A1 WO1994030002 A1 WO 1994030002A1 US 9406125 W US9406125 W US 9406125W WO 9430002 A1 WO9430002 A1 WO 9430002A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- tile
- color
- pixels
- subset
- tiles
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/46—Colour picture communication systems
- H04N1/64—Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/005—Statistical coding, e.g. Huffman, run length coding
Definitions
- This invention relates to the field of digital image compression, and, more particularly, to a system and method of compressing a digital image by successively subdividing the image into smaller tiles and coloring all pixels within each tile with a limited color palette.
- Digital image compression reduces the data volume required to store digitally- encoded images.
- digital compression provides many advantages, including facilitating storage of large or complex images on limited data storage media, such as floppy disks or CD- ROMSs.
- “Lossless” compression techniques such as run-length coding and entropy coding, reduce data storage requirements without affecting the perceived quality of the image when finally displayed.
- a major disadvantage of such techniques is that they tend to reduce error tolerance. For example, a single-bit error in a run-length coded image may result in corruption of a large portion of the displayed image.
- lossless techniques can only achieve a limited amount of compression.
- “Lossy” compression techniques may provide increased error tolerance and higher levels of compression. They typically reduce data storage requirements by removing or blurring detail in some manner. If necessary, such techniques often quantize the data. Such removal or blurring may occur in the temporal domain and/or the spatial domain. Usually, attempts are made to blur or quantize in as least objectionable a manner as possible. However, lossy compression techniques by definition result in diminished perceived quality of the image.
- JPEG Joint Photographic Experts Group
- DCT discrete cosine transform
- MPEG Motion Pictures Expert Group
- a third disadvantage is lack of flexibility.
- conventional compression techniques employ successively increasing levels of quantization ("aggressiveness") until the desired degree of compression is attained, based on a desired target size and image quality.
- degree of compression that will be achieved at a particular level of quantization is often difficult to predict with precision. Accordingly, quantization attempts may overshoot or undershoot the desired degree of compression, resulting in either a) wasted storage space; b) degraded image quality resulting from excessive compression; or c) inefficiency due to repeated quantization attempts at varying levels of aggressiveness.
- conventional techniques often compress data more or less aggressively than is necessary.
- a system and method of compressing a digital image by performing a maximum quantization of the image into two colors, followed by an iterative incremental increase in detail until a desired level of compression is attained.
- the iterative incremental increase in detail is accomplished by successively subdividing the image into smaller tiles and coloring all pixels within each tile with a limited color palette.
- the method of the present invention includes sizing a digital image to the desired resolution, color-reducing it, and subdividing it into tiles. Initially, all of the tiles undergo a severe color reduction process, wherein two colors, referred to as "high” and "low” are selected for each tile, and each pixel within the tile is assigned one of the two colors.
- MSE is calculated for each of the two subtiles.
- Subdivision of the highest-MSE tile or subtile is performed repeatedly until a limit condition is reached.
- a limit condition may be defined as a maximum data size, or a maximum allowable MSE, or a maximum projected decompression time, or any other measurable condition.
- a data stream is formed that describes the subtile arrangement, the "high” and “low” colors for each tile, and a description of the configuration of "high” and “low” pixels.
- the method of the present invention provides lossy compression that quantizes data in a relatively unobjectionable manner. Portions of the image containing small details tend to be subdivided more aggressively, resulting in preservation of the details.
- the resulting compressed data stream can be decompressed in real-time using relatively simple hardware or software. Decompression is accomplished by referring to the subtile arrangement, and coloring each tile and subtile therein using the binary bitmap and color palette.
- the compression technique of the present invention provides improved robustness. Since the technique does not rely on predictions based on previous images, it can easily recover from errors in a relatively short time. Thus, it is ideal for applications in which the data stream may be easily corrupted. Finally, the compression technique of the present invention is flexible. By beginning with maximum quantization and successively adding levels of detail, the method results in a compressed data file that very closely matches the desired target size and image quality, without overshoot or undershoot. Initially, with maximum quantization, the compressed data size is at a minimum. Each time the recursive subtile division and coloring steps are performed, the resultant compressed data size increases incrementally. The steps may be performed as may or as few times as desired, until a predefined limit condition is achieved.
- Image quality depends almost entirely on the percentage of compression, which is continuously variable and may be controlled by several factors, such as data size or visual quality.
- the technique is ideal for applications in which a predefined amount of space is available for image storage, or in which some other limit condition is known in advance.
- Figure 1 is a block diagram of apparatus for practicing the present invention.
- Figure 2 is a flowchart showing a preferred method of compression according to the present invention.
- Figure 3 A shows an example of a data format for an undivided tile according to the present invention.
- Figure 3B shows a representation of an undivided tile according to the present invention.
- Figure 4A shows an example of a data format for a subdivided tile according to the present invention.
- Figure 4B shows a representation of a subdivided tile according to the present invention.
- Figure 5 shows examples of subtile arrangement codes according to the present invention.
- Figure 6 shows examples of subtile arrangement codes for quarter-tiles, according to the present invention.
- Figure 7 is a flowchart showing a preferred method of decompression according to the present invention.
- data compression processor 103 performs the steps of the method, although any type of processor or multiple processors may be used.
- Image input device 101 which may be a video camera or an interface to a stored video data stream (not shown) provides image input.
- Image memory 102 which may be conventional random-access memory (RAM), stores the image input.
- Processor 103 in accordance with program instructions stored in program memory 104, performs the steps of the present invention to compress the images stored in image memory 102. The compressed images are stored in compressed image memory 105.
- data encoding processor 106 transforms compressed images into a data stream.
- the data stream is then sent to output/storage device 107, which may be a compact disc or other data storage medium.
- the method of the present invention is applied to each individual still image from image input device 101. Therefore, if a stream of image frames is provided, the method operates on each frame separately. No information regarding previous frames is required, although one skilled in the art could improve compression ratios by implementing prediction of image characteristics as describe above in connection with MPEG compression.
- the method of the present invention will be described in terms of a single frame, or still image. Referring now to the flow chart of Figure 2, there is shown a preferred method of the present invention as applied to a still image. In the preferred embodiment, the steps shown in Figure 2 are performed by processor 103.
- processor 103 performs image resolution reduction 202 and color reduction 203 in a conventional manner, so that the image can be represented by a finite, predefined number of individual pixels.
- the level of image resolution and color reduction may depend on minimum image quality specifications, availability of storage space and processing time, technical sophistication of input and output devices, and other factors. Steps 202 and 203 are not required in performing the preferred method; the method of the present invention may be used with full images (such as 32 bit-per-pixel) rather than reduced images.
- Processor 103 then subdivides 204 the image into tiles.
- the dimensions of each tile are eight pixels by eight pixels, although tiles of any other dimension could be used.
- a pointer is then set 205 to reference the first tile.
- the leftmost tile in the topmost row of tiles is designated as the "first" tile, although any tile could be so designated.
- Processor 103 selects 206 two colors, designated a "high” color and a "low” color, for the first tile.
- color selection is performed as follows: 1) determine the average luminance value of all pixels in the tile; 2) classify all pixels as “high” (having a luminance value higher than the average) or "low” (having a luminance value lower than or equal to the average); 3) determine the average color (RGB) value of the high pixels; and 4) determine the average color (RGB) value of the low pixels.
- the two color averages are selected as the two colors ("high” and "low") for the first tile.
- classification as "high” or "low” is performed by comparing luminance values.
- MSE mean-squared error
- MSE is determined as follows: 1) for each high pixel, calculate the squared difference between the original luminance value and the luminance of the "high" color selected in step 206; 2) for each low pixel, calculate the squared difference between the original luminance value and the luminance of the "low” color selected in step 206; and 3) calculate the mean of the differences.
- M is the number of high pixels in the tile
- N is the number of low pixels in the tile
- Cj is the original luminance value of they ' th low pixel
- H is the luminance of the selected "high" color value for the tile.
- L is the luminance of the selected "low” color value for the tile.
- the classification of each pixel as “high” or “low”, along with the high and low color values and the MSE are stored in compressed image memory 105.
- Processor 103 then checks 209 to determine whether there are more tiles to be processed. If so, the process proceeds 210 to the next tile. In the preferred embodiment, processor 103 goes to the tile immediately to the right of the current tile. When processor 103 reaches the end of a row of tiles, it goes to the row immediately below the current row.
- processor 103 now subdivides selected tiles and repeats the above process.
- Processor 103 selects 211 the tile having the highest MSE, and subdivides it 212 into two parts, known as "subtiles". For each of the two subtiles, processor 103 then repeats the steps of selecting 213 a high color and a low color, classifying pixels as high and low, and determining 215 an MSE.
- steps 211 through 215 can be repeated for each tile and subtile until the MSE of each subtile reaches zero, which in the worst case occurs when each subtile contains two pixels.
- steps 211 to 215 are repeated until the total data space required to store the image reaches a predefined limit.
- processor 103 checks 216 to determine if the limit has been reached. As long as the limit has not yet been reached, and total MSE has not reached zero, processor 103 repeats steps 211 to 215.
- processor 103 could continue until an estimate of the time it will take to reconstruct the image exceeds a predefined limit.
- processor 103 could continue until the sum of the MSE for all tiles and subtiles, weighted by tile (or subtile) area, falls below a predefined amount. Thus, a minimum visual quality level is assured.
- data encoding processor 106 (which may be implemented in the same physical processor as data compression processor 103) reads the compressed image from compressed image memory 105 and produces 217 an encoded data stream. The encoded data stream may then be provided to an output or storage device 107, such as a CD-ROM.
- two types of data stream formats may be produced in step 217: one for tiles that have not been subdivided into subtiles, and one for tiles that have been subdivided into subtiles.
- Data record 300 contains a six-bit Sub-Tile Arrangement Code (STAC) 301 that indicates which of 64 possible arrangements of subtiles apply to the tile.
- STAC 301 is followed by high color value 302 and low color value 303. Each value is seven bits long, allowing for selection among 128 possible colors in a color palette according to conventional binary color-coding techniques.
- the color values are followed by a 64-bit binary string representing a bitmap 304 that corresponds to the 64 individual pixels in the tile.
- Path 307 indicates the order of bits in bitmap 304.
- the first bit in bitmap 304 corresponds to the pixel at the top left corner of tile 305
- the last bit in bitmap 304 corresponds to the pixel at the bottom right corner of tile 305.
- Each bit is set to " 1 " to indicate that the high color is to be applied to the corresponding pixel, or "0" to indicate that the low color is to be applied.
- Data record 400 contains data describing an 8x8 tile that has been subdivided into subtiles.
- Record 400 contains a six-bit Sub-Tile Arrangement Code (STAC) 401 that indicates which of 64 possible arrangements of subtiles apply to the top half of the tile.
- STAC Sub-Tile Arrangement Code
- FIG 5 there are shown examples of STACs for various subtile arrangements.
- STAC 20 corresponds to eight 2x2 subtiles
- STAC 2B corresponds to three 4x2 subtiles and two 2x2 subtiles in the arrangement shown.
- Top STAC 401 is followed by one or more pairs of high color values 402,
- Record 400 contains similar information for the bottom half of the tile, including bottom STAC 407, one or more pairs of high color values 408, 410, and low color values 409, 411, and a 32-bit binary string representing a bottom bitmap 412.
- Tile 305 may be represented as a top half 308 and a bottom half 309, each half having 32 pixels 306.
- Path 310 indicates the order of bits in top bitmap 406, while path 311 indicates the order of bits in bottom bitmap 412.
- the first bit in top bitmap 406 corresponds to the pixel at the top left corner of top half 308, and the last bit in top bitmap 406 corresponds to the pixel at the bottom right comer of top half 308.
- the first bit in bottom bitmap 412 corresponds to the pixel at the top left corner of bottom half 309
- the last bit in bottom bitmap 412 corresponds to the pixel at the bottom right comer of bottom half 309.
- Each bit is set to " 1 " to indicate that the high color is to be applied to the corresponding pixel, or "0" to indicate that the low color is to be applied.
- each half 308 and 309 is divided into eight 2x2 areas. These areas correspond to the smallest subtile units shown in the examples of Figure 5.
- subtile arrangements including subtiles of smaller or larger dimensions, could be employed.
- Figure 6 shows STACs for quarter-tiles, containing 2x1 subtiles.
- the decompressor begins at the first tile 702 in the image, and downloads 703 the STACs, color value pairs, and bitmaps for that tile.
- the first STAC indicates whether or not the tile has been subdivided. If not, the decompressor applies 705 high and low color values 302 and 303 to the individual pixels according to bitmap
- each half of the tile is treated separately.
- the STAC indicates the arrangement of subtiles, and the number of color value pairs that will be provided.
- the decompressor goes to the first subtile 706, and applies 707 the high and low color values for that subtile according to the bitmap. If there are more subtile, the decompressor goes to the next subtile 709 and repeats step 707.
- the decompressor determines 710 whether there are more tiles. If so, it proceeds to the next tile 711 and repeats steps 703 through 710. Thus, in performing decompression, no mathematical operations need be performed, and a minimal amount of processing power is required.
- the invention provides a novel and advantageous system and method of compressing a digital image by successively subdividing the image into smaller tiles and coloring all pixels within each tile with a limited color palette.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Image Processing (AREA)
Abstract
Description
Claims
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7501896A JPH08511138A (en) | 1993-06-04 | 1994-05-31 | Digital image compression using tile segmentation |
AU69893/94A AU6989394A (en) | 1993-06-04 | 1994-05-31 | Digital image compression using tile subdivision |
EP94918674A EP0701755A1 (en) | 1993-06-04 | 1994-05-31 | Digital image compression using tile subdivision |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US7184693A | 1993-06-04 | 1993-06-04 | |
US08/071,846 | 1993-06-04 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO1994030002A1 true WO1994030002A1 (en) | 1994-12-22 |
Family
ID=22103968
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US1994/006125 WO1994030002A1 (en) | 1993-06-04 | 1994-05-31 | Digital image compression using tile subdivision |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP0701755A1 (en) |
JP (1) | JPH08511138A (en) |
AU (1) | AU6989394A (en) |
CA (1) | CA2162019A1 (en) |
WO (1) | WO1994030002A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1996027977A1 (en) * | 1995-03-07 | 1996-09-12 | International Business Machines Corporation | Process for storing an image having a predeterminable data size |
EP0886237A2 (en) * | 1997-06-20 | 1998-12-23 | Hitachi, Ltd. | Print image transmission and output system |
US9135727B2 (en) | 2013-05-07 | 2015-09-15 | Adobe Systems Incorporated | Method and apparatus for reconstructing indexed color spaces |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0261561A1 (en) * | 1986-09-17 | 1988-03-30 | FREDERIKSEN & SHU LABORATORIES, INC. | High resolution color video image aquisition and compression system |
EP0525425A2 (en) * | 1991-07-22 | 1993-02-03 | International Business Machines Corporation | Video RAM architecture incorporating hardware decompression |
-
1994
- 1994-05-31 JP JP7501896A patent/JPH08511138A/en active Pending
- 1994-05-31 CA CA 2162019 patent/CA2162019A1/en not_active Abandoned
- 1994-05-31 EP EP94918674A patent/EP0701755A1/en not_active Withdrawn
- 1994-05-31 WO PCT/US1994/006125 patent/WO1994030002A1/en not_active Application Discontinuation
- 1994-05-31 AU AU69893/94A patent/AU6989394A/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0261561A1 (en) * | 1986-09-17 | 1988-03-30 | FREDERIKSEN & SHU LABORATORIES, INC. | High resolution color video image aquisition and compression system |
EP0525425A2 (en) * | 1991-07-22 | 1993-02-03 | International Business Machines Corporation | Video RAM architecture incorporating hardware decompression |
Non-Patent Citations (4)
Title |
---|
M. KAMEL ET AL.: "IMAGE COMPRESSION BY VARIABLE BLOCK TRUNCATION CODING WIHT OPTIMAL THRESHOLD", IEEE TRANSACTIONS ON ACOUSTICS, SPEECH AND SIGNAL PROCESSING, vol. 39, no. 1, January 1991 (1991-01-01), NEW YORK, US, pages 208 - 212 * |
S. ISHIBASHI: "CODING PARAMETER OPTIMIZATION FOR BLOCK TRUNCATION CODING OF STILL PICTURES", ELECTRONICS AND COMMUNICATIONS IN JAPAN, vol. 73, no. 2, February 1990 (1990-02-01), NEW YORK, US, pages 1 - 10 * |
T. INUZUKA ET AL.: "BICOLOR BLOCK CODING TECHNIQUE FOR COLOR FACSIMILE", IEEE INTERNATIONAL CONFERENCE ON COMMUNICATIONS 1985, vol. 3, 26 June 1985 (1985-06-26), CHICAGO, ILLINOIS, pages 1405 - 1409 * |
T. KURITA: "A METHOD FOR BLOCK TRUNCATION CODING FOR COLOR IMAGE COMPRESSION", IEEE TRANSACTIONS ON COMMUNICATIONS, vol. 41, no. 9, September 1993 (1993-09-01), NEW YORK, US, pages 1270 - 1274 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1996027977A1 (en) * | 1995-03-07 | 1996-09-12 | International Business Machines Corporation | Process for storing an image having a predeterminable data size |
EP0886237A2 (en) * | 1997-06-20 | 1998-12-23 | Hitachi, Ltd. | Print image transmission and output system |
EP0886237A3 (en) * | 1997-06-20 | 2004-06-02 | Hitachi, Ltd. | Print image transmission and output system |
US9135727B2 (en) | 2013-05-07 | 2015-09-15 | Adobe Systems Incorporated | Method and apparatus for reconstructing indexed color spaces |
Also Published As
Publication number | Publication date |
---|---|
CA2162019A1 (en) | 1994-12-22 |
AU6989394A (en) | 1995-01-03 |
JPH08511138A (en) | 1996-11-19 |
EP0701755A1 (en) | 1996-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3716931B2 (en) | Adaptive decoding device for continuous images | |
US9774884B2 (en) | System and method for using pattern vectors for video and image coding and decoding | |
US5355167A (en) | Orthogonal transform coding apparatus | |
US4369463A (en) | Gray scale image data compression with code words a function of image history | |
US5959675A (en) | Image compression coding apparatus having multiple kinds of coefficient weights | |
US6301392B1 (en) | Efficient methodology to select the quantization threshold parameters in a DWT-based image compression scheme in order to score a predefined minimum number of images into a fixed size secondary storage | |
US5228098A (en) | Adaptive spatio-temporal compression/decompression of video image signals | |
US6603813B1 (en) | Video signal coding systems and processes using adaptive quantization | |
JP2921358B2 (en) | Image coding device | |
US5719961A (en) | Adaptive technique for encoder and decoder signal transformation | |
US6330369B1 (en) | Method and apparatus for limiting data rate and image quality loss in lossy compression of sequences of digital images | |
JPH05292462A (en) | Method and device for compression-encoding and decoding video | |
US20200084463A1 (en) | Method of compressing and decompressing image data | |
JP3067628B2 (en) | Image coding device | |
JP3087835B2 (en) | Image encoding method and apparatus and image decoding method and apparatus | |
US6728413B2 (en) | Lattice vector quantization in image compression and decompression | |
WO1994030002A1 (en) | Digital image compression using tile subdivision | |
EP1892965A2 (en) | Fixed bit rate, intraframe compression and decompression of video | |
EP1629675B1 (en) | Fixed bit rate, intraframe compression and decompression of video | |
Rizal | Compression Method in JPEG Standard | |
JP3232160B2 (en) | Encoding device and method | |
JPH06165149A (en) | Method for controlling image coding | |
CA2358857C (en) | Data compression using adaptive bit allocation and hybrid lossless entropy encoding | |
JP3645690B2 (en) | Image compression apparatus and camera | |
JPH06315143A (en) | Image processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AT AU BB BG BR BY CA CH CN CZ DE DK ES FI GB GE HU JP KG KP KR KZ LK LU LV MD MG MN MW NL NO NZ PL PT RO RU SD SE SI SK TJ TT UA UZ VN |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN ML MR NE SN TD TG |
|
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 2162019 Country of ref document: CA |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1994918674 Country of ref document: EP |
|
WWP | Wipo information: published in national office |
Ref document number: 1994918674 Country of ref document: EP |
|
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: 1994918674 Country of ref document: EP |