EP0701755A1 - Compression d'images numeriques a l'aide de la subdivision en champs - Google Patents

Compression d'images numeriques a l'aide de la subdivision en champs

Info

Publication number
EP0701755A1
EP0701755A1 EP94918674A EP94918674A EP0701755A1 EP 0701755 A1 EP0701755 A1 EP 0701755A1 EP 94918674 A EP94918674 A EP 94918674A EP 94918674 A EP94918674 A EP 94918674A EP 0701755 A1 EP0701755 A1 EP 0701755A1
Authority
EP
European Patent Office
Prior art keywords
tile
color
pixels
subset
tiles
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP94918674A
Other languages
German (de)
English (en)
Inventor
Charlie Kellner
Dana Keen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Digital Pictures Inc
Original Assignee
Digital Pictures Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Digital Pictures Inc filed Critical Digital Pictures Inc
Publication of EP0701755A1 publication Critical patent/EP0701755A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/64Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical 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

Système et procédé permettant de comprimer une image numérique, qui opèrent une quantification de l'image en deux couleurs, suivie d'une augmentation par paliers itérative dans le détail jusqu'à ce qu'un niveau désiré de compression soit atteint. L'augmentation par paliers itérative dans le détail est accomplie par subdivisions successives de l'image en champs plus petits et par coloration de tous les pixels au sein de chaque champ à l'aide d'une palette de couleurs limitée. Une image numérique est subdivisée en champs. Initialement, tous les champs subissent un processus strict de réduction de couleur, deux couleurs désignées de 'forte' et 'faible' étant sélectionnées pour chaque champ, et chaque pixel dans le champ se voit attribuer l'une des deux couleurs pour former une suite binaire. Une erreur quadratique moyenne (MSE) est calculée pour chaque champ. Ensuite, un processus récursif commence, le champ ayant la MSE la plus élevée est subdivisé en deux parties appelées 'sous-champs'. De nouvelles couleurs 'forte' et 'faible' sont choisies pour chaque sous-champ, et chaque pixel au sein de chaque sous-champ se voit à nouveau attribuer l'une des deux couleurs. Une nouvelle MSE est calculée pour chacun des deux sous-champs. La subdivision du champ ou sous-champ à MSE la plus élevée s'effectue de manière répétée jusqu'à ce qu'une condition limite soit atteinte. Cette condition limite peut être définie comme un volume maximal de données ou une MSE attribuable maximale, ou une durée de décompression maximale prévue, ou toute autre condition mesurable. La qualité de l'image dépend presque entièrement du pourcentage de compression qui est continuellement variable et peut être commandé par plusieurs facteurs, tels que le volume des données ou la qualité visuelle. Par conséquent, cette technique est idéale pour des applications dans lesquelles une quantité prédéterminée d'espace est disponible pour le stockage de l'image, ou dans lesquelles toute autre condition limite est connue à l'avance. Une fois la condition limite atteinte, un flux de données est formé. Ledit flux décrit la disposition des sous-champs, les couleurs 'forte' et 'faible' pour chaque champ, et l'attribution de couleur à chaque pixel.
EP94918674A 1993-06-04 1994-05-31 Compression d'images numeriques a l'aide de la subdivision en champs Withdrawn EP0701755A1 (fr)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US7184693A 1993-06-04 1993-06-04
US71846 1993-06-04
PCT/US1994/006125 WO1994030002A1 (fr) 1993-06-04 1994-05-31 Compression d'images numeriques a l'aide de la subdivision en champs

Publications (1)

Publication Number Publication Date
EP0701755A1 true EP0701755A1 (fr) 1996-03-20

Family

ID=22103968

Family Applications (1)

Application Number Title Priority Date Filing Date
EP94918674A Withdrawn EP0701755A1 (fr) 1993-06-04 1994-05-31 Compression d'images numeriques a l'aide de la subdivision en champs

Country Status (5)

Country Link
EP (1) EP0701755A1 (fr)
JP (1) JPH08511138A (fr)
AU (1) AU6989394A (fr)
CA (1) CA2162019A1 (fr)
WO (1) WO1994030002A1 (fr)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996027977A1 (fr) * 1995-03-07 1996-09-12 International Business Machines Corporation Procede de mise en memoire d'une image a volume de donnees pouvant etre predetermine
US6204933B1 (en) * 1997-06-20 2001-03-20 Hitachi, Ltd. Information print system and image processing apparatus
US9135727B2 (en) 2013-05-07 2015-09-15 Adobe Systems Incorporated Method and apparatus for reconstructing indexed color spaces

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4743959A (en) * 1986-09-17 1988-05-10 Frederiksen Jeffrey E High resolution color video image acquisition and compression system
US5261049A (en) * 1991-07-22 1993-11-09 International Business Machines Corporation Video RAM architecture incorporating hardware decompression

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO9430002A1 *

Also Published As

Publication number Publication date
JPH08511138A (ja) 1996-11-19
CA2162019A1 (fr) 1994-12-22
WO1994030002A1 (fr) 1994-12-22
AU6989394A (en) 1995-01-03

Similar Documents

Publication Publication Date Title
JP3716931B2 (ja) 連続画像の適応型復号装置
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 (ja) 画像符号化装置
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 (ja) 映像圧縮符号化及び復号化方法とその装置
US20030198397A1 (en) Image processing system for compressing image data including binary image data and continuous tone image data by a sub-band transform method with a high-compression rate
US10785493B2 (en) Method of compressing and decompressing image data
JP3067628B2 (ja) 画像符号化装置
JP3087835B2 (ja) 画像符号化方法および装置ならびに画像復号方法および装置
US6728413B2 (en) Lattice vector quantization in image compression and decompression
WO1994030002A1 (fr) Compression d'images numeriques a l'aide de la subdivision en champs
EP1892965A2 (fr) Compression et décompression intratrames d'une image video ayant un débit binaire fixe
EP1629675B1 (fr) Debit binaire fixe, compression et decompression intratrames d'une image video
Rizal Compression Method in JPEG Standard
JP3232160B2 (ja) 符号化装置及びその方法
JPH06165149A (ja) 画像符号化制御方法
CA2358857C (fr) Compression de donnees a affectation adaptative des bits et codage hybride a entropie sans perte
JP3645690B2 (ja) 画像圧縮装置およびカメラ

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 19951103

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LI LU MC NL PT SE

AX Request for extension of the european patent

Free format text: SI PAYMENT 951103

RAX Requested extension states of the european patent have changed

Free format text: SI PAYMENT 951103

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 19961202