[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

US20020001412A1 - System for variable quantization in jpeg for compound documents - Google Patents

System for variable quantization in jpeg for compound documents Download PDF

Info

Publication number
US20020001412A1
US20020001412A1 US09/120,072 US12007298D US2002001412A1 US 20020001412 A1 US20020001412 A1 US 20020001412A1 US 12007298 D US12007298 D US 12007298D US 2002001412 A1 US2002001412 A1 US 2002001412A1
Authority
US
United States
Prior art keywords
quantization
blocks
discrete cosine
lossy
factor
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.)
Granted
Application number
US09/120,072
Other versions
US6314208B1 (en
Inventor
Konstantinos Konstantinides
Daniel R. Tretter
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Assigned to HEWLETT-PACKARD COMPANY reassignment HEWLETT-PACKARD COMPANY ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: KONSTANTINIDES, KONSTANINOS, TRETTER, DANIEL
Publication of US20020001412A1 publication Critical patent/US20020001412A1/en
Assigned to HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. reassignment HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HEWLETT-PACKARD COMPANY
Granted legal-status Critical Current

Links

Images

Classifications

    • 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

  • the present invention relates generally to JPEG data compression and more specifically to JPEG data compression for compound images having pictures and text.
  • JPEG is the name of both a committee and a standard.
  • JPEG stands for Joint Photographic Experts Group, the original name of the committee that wrote the JPEG standard.
  • the JPEG standard is an international standard which applies to the lossy and lossless compression of either full-color or gray-scale images of natural, real-world scenes.
  • Lossy image compression compresses by striving to discard as much of the image data as possible without significantly affecting the appearance of the image to the human eye. Lossless compression is compression achieved without discarding any of the image data.
  • JPEG JPEG standard works well on still photographs, naturalistic artwork, and similar material (which are generally referred to herein as “pictures”), but not so well on lettering, simple cartoons, or line drawings (which are generally referred to herein as “text”).
  • Compound images are those which contain both pictures and text (which are collectively referred to herein as “images”). In some cases, compound images contain pictures which also contain text within the picture itself.
  • Compression is important for two main reasons.
  • the first is storage space. If there will be a large number of images on a hard drive, the hard drive will fill up very quickly unless the data can be greatly compressed.
  • Computers have fixed size buffers and limited memory, and an image has to fit in them otherwise, the image cannot be stored in them.
  • the second is bandwidth. If data is being sent through a browser or through electronic mail, the more bits that need to be transmitted, the more time is required. For example, with a 28.8K modem it may take half an hour of waiting for a picture to be completely transmitted. If a 50 to 1 compression can be achieved, the same picture can be transmitted completely in about thirty seconds, and if compressed properly, the recipient will not notice the difference between the original and the compressed version.
  • the uncompressed data is normally 24 bits per pixel.
  • JPEG can typically achieve 10:1 to 20:1 compression on pictures without visible loss, bringing the effective storage requirement down to 1 to 2 bits per pixel. This is due to the fact that small color changes are perceived less accurately than small changes in brightness. Even 30:1 to 50:1 compression is possible with small to moderate defects, while for very low quality purposes such as previews or archive indexes, 100:1 compression is quite feasible.
  • gray-scale JPEG file is generally only about 10%-25% smaller than a full-color JPEG file of similar visual quality with the uncompressed gray-scale data at only 8 bits/pixel, or one-third the size of the color data.
  • the threshold of visible loss is often around 5:1 compression for gray-scale images.
  • the quality factor is adjusted regularly in JPEG on an image-by-image basis with one setting for an active image.
  • the quality factor is a single number in an arbitrary, relative scale.
  • a high quality factor will provide a relatively high quality decompressed image, but will require a relatively large file.
  • the lower the quality the rougher the approximation of the image and the more compression with a correspondingly smaller file size, but also, the more visible defects, or artifacts, will be in the decompressed final image. Text generally shows significant compression artifacts at higher quality factors than pictures. Further, the quality factor will only give an approximate end file size.
  • the present invention provides a simple metric for picture/text segmentation of compound documents in the discrete cosine transform domain. This allows areas of high frequency content such as text to be compressed at a better quality than pictures, thus improving the overall perceptual quality while minimizing the file size.
  • the metric is computed using the quantized output of the discrete cosine transform. No other information is needed from any other part of the JPEG coder.
  • the present invention provides an image compression system which can be used to apply different, appropriate quantization factors to small blocks of pictures and text to provide significant image compression.
  • the present invention further provides an image compression system capable of distinguishing between text and pictures in compound images.
  • the present invention still further provides for preserving the text quality without sacrificing bandwidth while at the same time being JPEG compliant.
  • the present invention also provides an image compression system which is fully compliant with the latest extensions of the current JPEG standard.
  • FIG. 1 PRIOR ART is a schematic of a prior art baseline JPEG encoder
  • FIG. 2 is a schematic of a JPEG Part 3 encoder that supports variable quantization
  • FIG. 3 is a schematic of a variable quantization subsystem of the present invention.
  • FIG. 1 PRIOR ART, therein is shown a baseline JPEG encoder system 10 for digital cameras, scanners, printers, imaging servers, etc.
  • the JPEG encoder system 10 is for an image with a single color component.
  • the system 10 receives image pixels, or input digital image data, at an input 12 which is connected to a discrete cosine transformer 14 .
  • the discrete cosine transformer 14 first divides the input digital image data 12 into non-overlapping, fixed length image blocks, generally 8 by 8. After a normalization step, the discrete cosine transformer 14 reduces data redundancy and transforms each fixed length image block by applying a discrete cosine transform to a corresponding block of discrete cosine transform coefficients. This transform converts each fixed length image block into the frequency domain as a new frequency domain image block.
  • the first coefficient in the block, the lowest frequency coefficient, is the DC coefficient and the other coefficients are the AC coefficients (e.g., for an 8 by 8 block, there will be one DC coefficient and 63 AC coefficients).
  • Quantization tables 16 are operatively connected to the discrete cosine transformer 14 .
  • the quantization tables 16 contain lossy quantization factors (scaled according to the factor) to be applied to each block of discrete cosine transform coefficients.
  • lossy quantization factors scaled according to the factor
  • One set of sample tables is given in Annex K of the JPEG standard (ISO/IEC JTC1 CD 10918; ISO, 1993). These tables and the user-defined quality factors do not actually provide compression ratios per se, but provide factors indicating how much the image quality can be reduced on a given frequency domain coefficient before the image deterioration is perceptible.
  • a quantizer 18 is connected to the discrete cosine transformer 14 and the quantization tables 16 to divide each frequency domain image block by the corresponding element from the quantization table 16 to output the quantized discrete cosine transform output.
  • An entropy coder 20 is connected to the quantizer 18 and to Huffman tables 22 .
  • the entropy coder 20 receives the output from the quantizer 18 and rearranges it in zigzag order.
  • the zigzag output is then compressed using run-length encoding in the entropy encoder 20 which is a lossless entropy coding of each block of quantized discrete cosine transform output.
  • the entropy encoder 20 of the present invention uses Huffman codes from the Huffman tables 22 although arithmetic coding can also be used.
  • the Huffman codes exploit similarities across the quantized discrete cosine transform coefficients.
  • JPEG contains two sets of typical Huffman tables, one for the luminance or grayscale components and one for the chrominance or color components. Each set has two separate tables, one for the DC components and the other for the AC.
  • the bitstream out of the entropy coder 20 at output 24 is a JPEG file 26 which contains headers 28 , tables 30 , and data 32 .
  • the tables 30 contain information from the quantization tables 16 and the Huffman tables 22 of the appropriate information used in the processing of each block of data so the data can be properly decompressed.
  • the data 32 contains the output from the entropy coder 20 in a form of a compressed block such that a sequence of all of the compressed blocks forms the compressed digital image data.
  • FIG. 2 therein is shown a JPEG encoder system 50 that supports the variable quantization of the present invention.
  • the system 50 is compliant with the JPEG Part 3 standard.
  • the same elements as in FIG. 1 are given the same numbers in FIG. 2.
  • the system 50 receives input digital image data 12 into the discrete cosine transformer 14 which is connected to the quantizer 18 .
  • the quantization tables 16 are connected to a multiplying junction 52 which is connected to the quantizer 18 . Also connected to the multiplying junction 52 is a variable quantization subsystem 54 which is also connected to the entropy coder 20 .
  • the entropy coder 20 is connected to the quantizer 18 and to the Huffman tables 22 .
  • the bitstream out of the entropy coder 20 at output 24 is a JPEG file 26 that contains headers 28 , tables 30 , and data 32 .
  • the tables 30 contain compression-related information from the quantization tables 16 and the Huffman tables 22 which can be used by a JPEG decompresser system (not shown) to decompress the data 32 from the entropy coder 20 .
  • the quantization scale factor from the variable quantization subsystem 54 are incorporated into the data 32 by the entropy encoder 20 .
  • variable quantization subsystem 54 which is operatively connected to the discrete cosine transformer 14 .
  • the discrete cosine transformer 14 is connected to a quantizer 58 in the variable quantization subsystem 54 .
  • the quantizer 58 has quantization tables 56 connected to it which are the factors relating to the activity metrics.
  • the quantizer 58 is the same as the quantizer 18 .
  • the quantization tables 56 for the activity metrics are the same as the quantization tables 16 for the encoding, but this is not necessary.
  • the quantizer 58 is further connected to an activity computer 60 for computing an activity metric, M i , as will later be described.
  • the activity computer 60 is connected to a scale computer 62 for computing qscale as will also later be described.
  • the scale computer 62 is connected to the multiplying junction 52 to which the quantization table 16 is connected.
  • the discrete cosine transformer 14 as well as the multiplying junction 52 are connected to the quantizer 18 as also shown in FIG. 2.
  • image pixels are divided into non-overlapping 8 ⁇ 8 blocks where y i denotes the i-th input block. This division applies to all images including text, pictures, and compound images as well as pictures containing text.
  • each block is transformed into the frequency domain using the discrete cosine transform.
  • Mathematically JPEG uses the discrete cosine transform in its processing.
  • a discrete cosine transform in the frequency domain is based on the assumption that an image mirrors itself on both boundaries. This assures a smooth transition without high frequency spikes, because those are very hard to compress. And the higher frequencies are very close to zero if there is a smoothly varying function.
  • the output of the above step will be a new 8 ⁇ 8 matrix Y i .
  • each element of Y i is divided by the corresponding element of the encoding quantization table Q e .
  • Q e [j, k] round ⁇ ⁇ ( Y i ⁇ [ j , k ] Q e ⁇ [ j , k ] )
  • a single set of quantization tables 16 is used for the whole image.
  • the whole image would be 512 pixels by 513 pixels.
  • the quantized discrete cosine transformer 14 output is rearranged in raster, or zigzag, order and is compressed using run-length encoding which is a lossless, entropy coding using the Huffman tables 22 in the entropy coder 20 .
  • the quantization tables for each color component can be defined in the header tables of the JPEG file 26 .
  • the output of the entropy coder 20 is a sequence of compressed blocks which form the compressed image which can be decompressed by a standard JPEG decompression system.
  • variable quantization JPEG encoder system 50 of the present invention shown in FIG. 2 uses the JPEG adjunct standard (ISO/IEC JTC1 CD 10918; ISO, 1993) which has been extended to support variable quantization.
  • JPEG adjunct standard ISO/IEC JTC1 CD 10918; ISO, 1993
  • the values of the original quantization matrix can be rescaled on small blocks of pixels as small as 8 pixels by 8 pixels.
  • the adjunct standard allows these changes on a block by block basis. This change was designed primarily for a rate control problem of getting the proper number of bits at the output. If a block is changed, the information can be put into the bitstream so that a decoder on the receiving end can undo it later.
  • the various scaling factors are also encoded as part of the data bitstream.
  • variable quantization allows for better rate control or more efficient coding which is the original purpose for the JPEG extension.
  • the present invention allows for the variable quantization of compound images.
  • the JPEG encoder system 50 of FIG. 2 automatically detects the text-part and the image-part of a document by measuring how quickly pixels are changing in the incoming data. Black text on a white background changes very quickly from black to white and back again even within a very small block of pixels. Picture pixels, for example the image of a human face, change much more slowly through gradations of color.
  • the quantization is being done in a transformed domain, not on the pixels directly.
  • the pixels are transformed through a linear matrix transform (the discrete cosine transform) into a frequency domain representation, and the quantization is performed in the frequency domain. It is also in the frequency domain that the frequency components can be determined to find how active a particular block is.
  • the mathematical equation used is what provides an “activity metric”. The larger this activity metric turns out to be, the more things are changing within the 8 by 8 block.
  • the discrete cosine transform has the advantage that it takes real numbers and transforms them into real numbers which can be quantized. In this domain, it is possible to predict, roughly, how many bits it takes to represent the data that is actually in the block.
  • quantization scaling factors are derived that automatically adjust the quantization so that text blocks are compressed at higher quality than image blocks.
  • text is more sensitive to JPEG compression because of its sharp edges which, if compressed too greatly, would blur or have ringing artifacts (ripples around the edges).
  • images can be compressed greatly without drastically affecting human-eye perceived differences in quality of the image.
  • > 0 then M i M i + log 2
  • > 0 then M i M i + log 2
  • the next step is to define the relationship between the activity measure and the quantization scale.
  • the cmpnd 1 ISO test image is used as the standard compound image with computer generated text, a photographic-type color image, and computer generated text within the image.
  • the top half is text and the bottom half the color image.
  • This is a 512 ⁇ 513 pixels total image, with 1,056 macroblocks (16 ⁇ 16 pixel blocks).
  • the color image part starts at approximately the 508-th macroblock.
  • the values of the activity metric, M i , calculated in the activity computer 60 for each of the luminance macroblocks in the ISO test image is higher in the text regions of the image. However, discrimination between image and text areas is even better if M i is computed using quantized values of Y i ; that is, Y QM,i .
  • the quantization matrices Q M and Q e in quantization tables 56 and 16 are both the same as the one given in Annex K of the JPEG standard, activity values larger than 1.2 correspond to text areas in the image. It should be understood that the two quantization tables 56 and 16 could be different. Experiments show that the range of values for M i for the ISO test image is consistent with the range of values obtained from other test images.
  • quantization varies inversely with the metric. If a higher metric means a higher activity, thus scale by less to quantize more finely or compress less. And then with a very small metric, scale the quantization very coarsely or compress more because the image is such a smooth block, that it does not matter how much quantization since it will not be perceptible.
  • qscale i ⁇ a ⁇ M i + b if ⁇ ⁇ 2 > a ⁇ M i + b ⁇ 0.4 0.4 if ⁇ ⁇ a ⁇ M i + b ⁇ 0.4 2 if ⁇ ⁇ a ⁇ M i + b > 2
  • a and b are constants to be defined based on desired output quality and compression ratios.
  • M i the activity metric
  • the Q M quantization matrix is the same as Q e , but this may not be always the case.
  • Q M may be the same as Appendix K of the JPEG standard, but Q e , may be a custom quantization table.
  • the qscale is provided to the multiplying junction 52 to control Q e , from the quantization table 16 to the quantizer 18 .
  • JPEG itself, as a standard doesn't specify what to do about color. But, what is commonly done, is to convert a color image into a luminance and chrominance representation so that it shows the brightness of the image with two other components that show the colorfulness. And it turns out that the human eye is much more sensitive to the luminance. A slow transition from a red to an orange versus a sharp one will not even be noticeable, but a slow transition in luminosity versus a sharp one will be noticeable as a blur.
  • the activity metric is computed only for the luminance component to save on computation and then the chrominance is scaled the same way. That turns out to work reasonably well on the chrominance as well, because compound documents usually have black text on a white background and errors in the color are particularly noticeable. A little red fringe around each letter will be seen immediately but it is less likely to be seen in an image.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Analysis (AREA)

Abstract

An image compression system for compound images containing both text and pictures. The system is capable of receiving the images on a non-overlapping 8 by 8 pixel blank basis and includes a discrete cosine transformer connected to a quantizer drawing lossy quantization factors from quantization tables. The lossy quantization factors are modified by a variable quantization subsystem based on the frequency of changes in the block to provide low lossy quantization factors for high frequency of changes and high lossy quantization factors for low frequency of changes. The high frequency of changes being indicative of text and the low frequency of changes being indicative of pictures. The quantizer is connected to an entropy coder using lossless entropy encoding factors from Huffman tables to provide JPEG compliant files.

Description

    TECHNICAL FIELD
  • The present invention relates generally to JPEG data compression and more specifically to JPEG data compression for compound images having pictures and text. [0001]
  • BACKGROUND ART
  • JPEG is the name of both a committee and a standard. JPEG stands for Joint Photographic Experts Group, the original name of the committee that wrote the JPEG standard. The JPEG standard is an international standard which applies to the lossy and lossless compression of either full-color or gray-scale images of natural, real-world scenes. [0002]
  • Lossy image compression compresses by striving to discard as much of the image data as possible without significantly affecting the appearance of the image to the human eye. Lossless compression is compression achieved without discarding any of the image data. [0003]
  • The JPEG standard works well on still photographs, naturalistic artwork, and similar material (which are generally referred to herein as “pictures”), but not so well on lettering, simple cartoons, or line drawings (which are generally referred to herein as “text”). Compound images are those which contain both pictures and text (which are collectively referred to herein as “images”). In some cases, compound images contain pictures which also contain text within the picture itself. [0004]
  • This standard is being used in the computer industry. Popular graphics-capable browsers on the World Wide Web can read and write this particular type of image data format, so if a compressed image is sent across the Web to such a browser, it knows how to decompress the image and display it. [0005]
  • Compression is important for two main reasons. The first is storage space. If there will be a large number of images on a hard drive, the hard drive will fill up very quickly unless the data can be greatly compressed. Computers have fixed size buffers and limited memory, and an image has to fit in them otherwise, the image cannot be stored in them. [0006]
  • The second is bandwidth. If data is being sent through a browser or through electronic mail, the more bits that need to be transmitted, the more time is required. For example, with a 28.8K modem it may take half an hour of waiting for a picture to be completely transmitted. If a 50 to 1 compression can be achieved, the same picture can be transmitted completely in about thirty seconds, and if compressed properly, the recipient will not notice the difference between the original and the compressed version. [0007]
  • For full-color images, the uncompressed data is normally 24 bits per pixel. JPEG can typically achieve 10:1 to 20:1 compression on pictures without visible loss, bringing the effective storage requirement down to 1 to 2 bits per pixel. This is due to the fact that small color changes are perceived less accurately than small changes in brightness. Even 30:1 to 50:1 compression is possible with small to moderate defects, while for very low quality purposes such as previews or archive indexes, 100:1 compression is quite feasible. [0008]
  • For gray-scale, and black and white images such large factors of compression are difficult to obtain because the brightness variations in these images are more apparent than the hue variations. A gray-scale JPEG file is generally only about 10%-25% smaller than a full-color JPEG file of similar visual quality with the uncompressed gray-scale data at only 8 bits/pixel, or one-third the size of the color data. The threshold of visible loss is often around 5:1 compression for gray-scale images. [0009]
  • Although there are a number of settings that can be predefined to achieve different compression ratios, there is only one parameter, called the quality factor, that is adjusted regularly in JPEG on an image-by-image basis with one setting for an active image. The quality factor is a single number in an arbitrary, relative scale. A high quality factor will provide a relatively high quality decompressed image, but will require a relatively large file. And, of course the lower the quality, the rougher the approximation of the image and the more compression with a correspondingly smaller file size, but also, the more visible defects, or artifacts, will be in the decompressed final image. Text generally shows significant compression artifacts at higher quality factors than pictures. Further, the quality factor will only give an approximate end file size. [0010]
  • Therefore, a long sought goal in image compression has been to maintain maximum perceptible image quality while achieving maximum compression. [0011]
  • This goal is becoming more difficult to attain because compound documents are just starting to become more and more important. It has only been recently that it has become possible to drop pictures into text documents as much as can be done now. Before, electronic transmissions were either a text document or a picture document. Now, it is more and more common to see a compound image where someone is making a newsletter or setting up a website. People want to drop in some pictures but also want to have text as well. So compound documents are becoming a more important, whether it is just photocopying or just sending to a printer or transmitting across the internet, these have become a more important class of images. [0012]
  • Also, most of the techniques that have been developed in the past for compound documents are based on proprietary (non-standard) compression techniques, so the images could only be decompressed using a specific company's product. [0013]
  • It has long been known that the inability to minimize file size while maintaining high perceptual quality would lead to detrimental compromises in performance so process improvements have been long sought but have eluded those skilled in the art. Similarly, it has long been known that the problems would become more severe with compound documents and thus a generally applicable solution has been long sought. [0014]
  • DISCLOSURE OF THE INVENTION
  • The present invention provides a simple metric for picture/text segmentation of compound documents in the discrete cosine transform domain. This allows areas of high frequency content such as text to be compressed at a better quality than pictures, thus improving the overall perceptual quality while minimizing the file size. The metric is computed using the quantized output of the discrete cosine transform. No other information is needed from any other part of the JPEG coder. [0015]
  • The present invention provides an image compression system which can be used to apply different, appropriate quantization factors to small blocks of pictures and text to provide significant image compression. [0016]
  • The present invention further provides an image compression system capable of distinguishing between text and pictures in compound images. [0017]
  • The present invention still further provides for preserving the text quality without sacrificing bandwidth while at the same time being JPEG compliant. [0018]
  • The present invention also provides an image compression system which is fully compliant with the latest extensions of the current JPEG standard. [0019]
  • The above and additional advantages of the present invention will become apparent to those skilled in the art from a reading of the following detailed description when taken in conjunction with the accompanying drawings. [0020]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 PRIOR ART is a schematic of a prior art baseline JPEG encoder; [0021]
  • FIG. 2 is a schematic of a JPEG Part 3 encoder that supports variable quantization; and [0022]
  • FIG. 3 is a schematic of a variable quantization subsystem of the present invention.[0023]
  • BEST MODE FOR CARRYING OUT THE INVENTION
  • Referring now to FIG. 1 PRIOR ART, therein is shown a baseline [0024] JPEG encoder system 10 for digital cameras, scanners, printers, imaging servers, etc. The JPEG encoder system 10 is for an image with a single color component. For color images, there would be a JPEG encoder system 10 for each of the color components.
  • The [0025] system 10 receives image pixels, or input digital image data, at an input 12 which is connected to a discrete cosine transformer 14. The discrete cosine transformer 14 first divides the input digital image data 12 into non-overlapping, fixed length image blocks, generally 8 by 8. After a normalization step, the discrete cosine transformer 14 reduces data redundancy and transforms each fixed length image block by applying a discrete cosine transform to a corresponding block of discrete cosine transform coefficients. This transform converts each fixed length image block into the frequency domain as a new frequency domain image block. The first coefficient in the block, the lowest frequency coefficient, is the DC coefficient and the other coefficients are the AC coefficients (e.g., for an 8 by 8 block, there will be one DC coefficient and 63 AC coefficients).
  • Quantization tables [0026] 16 are operatively connected to the discrete cosine transformer 14. The quantization tables 16 contain lossy quantization factors (scaled according to the factor) to be applied to each block of discrete cosine transform coefficients. One set of sample tables is given in Annex K of the JPEG standard (ISO/IEC JTC1 CD 10918; ISO, 1993). These tables and the user-defined quality factors do not actually provide compression ratios per se, but provide factors indicating how much the image quality can be reduced on a given frequency domain coefficient before the image deterioration is perceptible.
  • It should be understood that the tables represent tabulations of various equations. The look-up tables could be replaced by subroutines which could perform the calculations to provide the factors. [0027]
  • A [0028] quantizer 18 is connected to the discrete cosine transformer 14 and the quantization tables 16 to divide each frequency domain image block by the corresponding element from the quantization table 16 to output the quantized discrete cosine transform output.
  • An [0029] entropy coder 20 is connected to the quantizer 18 and to Huffman tables 22. The entropy coder 20 receives the output from the quantizer 18 and rearranges it in zigzag order. The zigzag output is then compressed using run-length encoding in the entropy encoder 20 which is a lossless entropy coding of each block of quantized discrete cosine transform output. The entropy encoder 20 of the present invention uses Huffman codes from the Huffman tables 22 although arithmetic coding can also be used. The Huffman codes exploit similarities across the quantized discrete cosine transform coefficients. JPEG contains two sets of typical Huffman tables, one for the luminance or grayscale components and one for the chrominance or color components. Each set has two separate tables, one for the DC components and the other for the AC.
  • The bitstream out of the [0030] entropy coder 20 at output 24 is a JPEG file 26 which contains headers 28, tables 30, and data 32. The tables 30 contain information from the quantization tables 16 and the Huffman tables 22 of the appropriate information used in the processing of each block of data so the data can be properly decompressed. The data 32 contains the output from the entropy coder 20 in a form of a compressed block such that a sequence of all of the compressed blocks forms the compressed digital image data.
  • Referring now to FIG. 2, therein is shown a [0031] JPEG encoder system 50 that supports the variable quantization of the present invention. The system 50 is compliant with the JPEG Part 3 standard. The same elements as in FIG. 1 are given the same numbers in FIG. 2. Thus, the system 50 receives input digital image data 12 into the discrete cosine transformer 14 which is connected to the quantizer 18.
  • The quantization tables [0032] 16 are connected to a multiplying junction 52 which is connected to the quantizer 18. Also connected to the multiplying junction 52 is a variable quantization subsystem 54 which is also connected to the entropy coder 20.
  • The [0033] entropy coder 20 is connected to the quantizer 18 and to the Huffman tables 22. The bitstream out of the entropy coder 20 at output 24 is a JPEG file 26 that contains headers 28, tables 30, and data 32. The tables 30 contain compression-related information from the quantization tables 16 and the Huffman tables 22 which can be used by a JPEG decompresser system (not shown) to decompress the data 32 from the entropy coder 20. The quantization scale factor from the variable quantization subsystem 54 are incorporated into the data 32 by the entropy encoder 20.
  • Referring now to FIG. 3, therein is shown the [0034] variable quantization subsystem 54 which is operatively connected to the discrete cosine transformer 14. The discrete cosine transformer 14 is connected to a quantizer 58 in the variable quantization subsystem 54. The quantizer 58 has quantization tables 56 connected to it which are the factors relating to the activity metrics. The quantizer 58 is the same as the quantizer 18. For simplicity, the quantization tables 56 for the activity metrics are the same as the quantization tables 16 for the encoding, but this is not necessary.
  • The [0035] quantizer 58 is further connected to an activity computer 60 for computing an activity metric, Mi, as will later be described. The activity computer 60 is connected to a scale computer 62 for computing qscale as will also later be described. The scale computer 62 is connected to the multiplying junction 52 to which the quantization table 16 is connected. The discrete cosine transformer 14 as well as the multiplying junction 52 are connected to the quantizer 18 as also shown in FIG. 2.
  • In operation in the FIG. 1 PRIOR ART baseline [0036] JPEG encoder system 10, image pixels are divided into non-overlapping 8×8 blocks where yi denotes the i-th input block. This division applies to all images including text, pictures, and compound images as well as pictures containing text. After a normalization step, each block is transformed into the frequency domain using the discrete cosine transform.
  • Mathematically JPEG uses the discrete cosine transform in its processing. A discrete cosine transform in the frequency domain is based on the assumption that an image mirrors itself on both boundaries. This assures a smooth transition without high frequency spikes, because those are very hard to compress. And the higher frequencies are very close to zero if there is a smoothly varying function. [0037]
  • The output of the above step will be a new 8×8 matrix Y[0038] i. Next, each element of Yi is divided by the corresponding element of the encoding quantization table Qe. Given Qe[j, k], Y Q e , i [ j , k ] = round ( Y i [ j , k ] Q e [ j , k ] )
    Figure US20020001412A1-20020103-M00001
  • In the baseline [0039] JPEG encoder system 10, a single set of quantization tables 16 is used for the whole image. For a cmpnd 1 ISO test image, the whole image would be 512 pixels by 513 pixels.
  • After quantization, the quantized [0040] discrete cosine transformer 14 output is rearranged in raster, or zigzag, order and is compressed using run-length encoding which is a lossless, entropy coding using the Huffman tables 22 in the entropy coder 20. According to the JPEG standard, the quantization tables for each color component can be defined in the header tables of the JPEG file 26. The output of the entropy coder 20 is a sequence of compressed blocks which form the compressed image which can be decompressed by a standard JPEG decompression system.
  • In operation, the variable quantization [0041] JPEG encoder system 50 of the present invention shown in FIG. 2 uses the JPEG adjunct standard (ISO/IEC JTC1 CD 10918; ISO, 1993) which has been extended to support variable quantization. Under variable quantization, the values of the original quantization matrix can be rescaled on small blocks of pixels as small as 8 pixels by 8 pixels. Normally the quantization matrix stays the same for the entire image, but the adjunct standard allows these changes on a block by block basis. This change was designed primarily for a rate control problem of getting the proper number of bits at the output. If a block is changed, the information can be put into the bitstream so that a decoder on the receiving end can undo it later. Thus, the various scaling factors are also encoded as part of the data bitstream. In principal, variable quantization allows for better rate control or more efficient coding which is the original purpose for the JPEG extension.
  • Even though the latest JPEG extensions provide the syntax for the support of variable quantization, the actual way to specify the scaling factors is application dependent and not part of the JPEG adjunct standard. [0042]
  • The present invention allows for the variable quantization of compound images. The [0043] JPEG encoder system 50 of FIG. 2 automatically detects the text-part and the image-part of a document by measuring how quickly pixels are changing in the incoming data. Black text on a white background changes very quickly from black to white and back again even within a very small block of pixels. Picture pixels, for example the image of a human face, change much more slowly through gradations of color.
  • In the JPEG standard, the quantization is being done in a transformed domain, not on the pixels directly. The pixels are transformed through a linear matrix transform (the discrete cosine transform) into a frequency domain representation, and the quantization is performed in the frequency domain. It is also in the frequency domain that the frequency components can be determined to find how active a particular block is. The mathematical equation used is what provides an “activity metric”. The larger this activity metric turns out to be, the more things are changing within the 8 by 8 block. [0044]
  • Also, the discrete cosine transform has the advantage that it takes real numbers and transforms them into real numbers which can be quantized. In this domain, it is possible to predict, roughly, how many bits it takes to represent the data that is actually in the block. [0045]
  • To represent a given number, such as every number between 0 and 15, the largest number is taken, and the log base [0046] 2 of this provides the number of bits required. In this case it would be 4 because with 4 bits every number between 1 and 15 can be represented.
  • Thus by taking the absolute value of the real numbers, taking the log base [0047] 2 of them, which tells how many bits needed for each one and then summing them up, and that provides how many bits are needed to represent the data in the entire block. This number is going to be very large if there is a lot of activity because a lot of the frequency components will be big, and it is going to be very small if the image changes slowly because all the high frequencies will be close to zero.
  • Based on the discrete cosine transform activity of a block or a macroblock (a 16×16 block), quantization scaling factors are derived that automatically adjust the quantization so that text blocks are compressed at higher quality than image blocks. Those skilled in the art would be aware that text is more sensitive to JPEG compression because of its sharp edges which, if compressed too greatly, would blur or have ringing artifacts (ripples around the edges). At the same time, images can be compressed greatly without drastically affecting human-eye perceived differences in quality of the image. [0048]
  • There are many ways to measure activity in a block. One method to determine the discrete cosine transform activity is to let Y[0049] i[j, k] denote the elements of the i-th output block of the discrete cosine transform so Yi[0, 0] denotes the DC component of the i-th block. In the present invention, the activity computer 60 uses the following activity metric: M i = 1 64 [ log 2 Y i [ 0 , 0 ] - Y i - 1 [ 0 , 0 ] + j , k log 2 Y i [ j , k ] ]
    Figure US20020001412A1-20020103-M00002
  • where the summation is performed over all elements of the Y[0050] i[j, k] matrix, except Yi[0, 0]. (The above formulation assumes that arguments in the log2 function are always greater than zero.)
  • The motivation behind this metric is based on the fact that: (a) JPEG uses differential coding for the encoding of the discrete cosine coefficients, and (b) the number of bits needed to code a DC transform coefficient are proportional to the base-two logarithm of its magnitude. The equation does not (and does not need to) account for additional coding bits needed for the Huffman coding of either size or run/size information of the discrete cosine transform coefficients. The number of these bits ranges from 2 to 16 per non-zero coefficient. Assuming that on the average c bits per non-zero coefficient are required for this purpose, then the following method can be used to compute M[0051] i, (and the overall bit rate) more accurately.
    Begin
    Mi = 0
    D = |Yi[0, 0] − Yi−l [0, 01]|
    if D > 0 then
    Mi = Mi + log2 D + c
    j = 0
    for k = 1 to 7
    if|Yi[j, k]| > 0 then
    Mi = Mi + log2|Yi[j, k]| + c
    for j = 1 to 7
    for k = 0 to 7
    if| Yi[j, k] | > 0 then
    Mi = Mi + log2 |Yi[j, k]| + c
    End
  • In experiments, c=4. [0052]
  • After defining an activity metric, the next step is to define the relationship between the activity measure and the quantization scale. [0053]
  • The cmpnd [0054] 1 ISO test image is used as the standard compound image with computer generated text, a photographic-type color image, and computer generated text within the image. The top half is text and the bottom half the color image. This is a 512×513 pixels total image, with 1,056 macroblocks (16×16 pixel blocks). The color image part starts at approximately the 508-th macroblock.
  • The values of the activity metric, M[0055] i, calculated in the activity computer 60 for each of the luminance macroblocks in the ISO test image is higher in the text regions of the image. However, discrimination between image and text areas is even better if Mi is computed using quantized values of Yi; that is, YQM,i. When the quantization matrices QM and Qe in quantization tables 56 and 16, respectively, are both the same as the one given in Annex K of the JPEG standard, activity values larger than 1.2 correspond to text areas in the image. It should be understood that the two quantization tables 56 and 16 could be different. Experiments show that the range of values for Mi for the ISO test image is consistent with the range of values obtained from other test images.
  • Basically quantization varies inversely with the metric. If a higher metric means a higher activity, thus scale by less to quantize more finely or compress less. And then with a very small metric, scale the quantization very coarsely or compress more because the image is such a smooth block, that it does not matter how much quantization since it will not be perceptible. [0056]
  • The output of the [0057] scale computer 62 is qscale, which denotes the parameter used to scale the AC values of the original quantization matrix, a value of qscale=0.5 is quite acceptable for the compression of text. On the other hand, values of qscale larger than 2 may yield serious blocky artifacts on an image. To simplify implementation, a linear, but bounded, relationship between qscale and the activity metric (Mi) is superior, such as qscale i = { a × M i + b if 2 > a × M i + b 0.4 0.4 if a × M i + b < 0.4 2 if a × M i + b > 2
    Figure US20020001412A1-20020103-M00003
  • where a and b are constants to be defined based on desired output quality and compression ratios. One way a and b can be defined is the follows. Let m[0058] l denote the value of the activity metric, Mi, for which qscale=1. Let mu denote the value of Mi for which qscale=0.5. After solving two equations with two unknowns: a = 0.5 m l - m u
    Figure US20020001412A1-20020103-M00004
  • For example, if m[0059] l=0.6 and mu=1.2, then a=−0.83 and b=1.498.
  • The choices for m[0060] l and mu effect compression ratios as follows. If ml is increased, in effect more blocks are quantized with a qscale>1; thus compression is improved but image quality may be reduced. If mu is increased, the number of blocks that are quantized with qscale=0.5 is decreased; thus the quality of text is decreased, but the compression ratios are improved.
  • In the variable quantization subsystem of FIG. 3 showing the variable quantization method, the Q[0061] M quantization matrix is the same as Qe, but this may not be always the case. For example, QM may be the same as Appendix K of the JPEG standard, but Qe, may be a custom quantization table.
  • Using the above metric, the upper text areas in the ISO test image were identified as areas of high frequency activity, but also the text inside the color picture at the bottom half. [0062]
  • The qscale is provided to the multiplying [0063] junction 52 to control Qe, from the quantization table 16 to the quantizer 18.
  • It should be understood that the same method as described above may be used to adjust the chroma quantization tables independently from the luminance tables using the same scaling factors. [0064]
  • JPEG, itself, as a standard doesn't specify what to do about color. But, what is commonly done, is to convert a color image into a luminance and chrominance representation so that it shows the brightness of the image with two other components that show the colorfulness. And it turns out that the human eye is much more sensitive to the luminance. A slow transition from a red to an orange versus a sharp one will not even be noticeable, but a slow transition in luminosity versus a sharp one will be noticeable as a blur. In the present invention, the activity metric is computed only for the luminance component to save on computation and then the chrominance is scaled the same way. That turns out to work reasonably well on the chrominance as well, because compound documents usually have black text on a white background and errors in the color are particularly noticeable. A little red fringe around each letter will be seen immediately but it is less likely to be seen in an image. [0065]
  • As would be understood by those skilled in the art, the present invention has been described in terms of discrete components but it may be carried out in software or in dedicated integrated circuits. [0066]
  • While the invention has been described in conjunction with a specific best mode, it is to be understood that many alternatives, modifications, and variations will be apparent to those skilled in the art in light of the aforegoing description. Accordingly, it is intended to embrace all such alternatives, modifications, and variations which fall within the spirit and scope of the included claims. All matters set forth herein or shown in the accompanying drawings are to be interpreted in an illustrative and non-limiting sense.[0067]

Claims (20)

The invention claimed is:
1. Variable quantization apparatus for an image encoder system having an interconnected transformer, quantizer, and entropy encoder, comprising:
variable quantization means operatively connected to the transformer and the quantizer responsive to plurality of blocks of data from the transformer to determine the characteristics of a plurality of blocks of digital pixel data inputted to the transformer by computing an image related metric for each of the plurality of blocks of data;
quantization factoring means connected to said variable quantization means for providing a predetermined lossy quantization factor for each metric; and
said variable quantization means including means for causing the quantizer to apply a lossy quantization factor to each of the plurality of blocks of data based on said metric for the block of data to provide a plurality of blocks of quantized data to the entropy encoder.
2. The variable quantization apparatus as claimed in claim 1 wherein:
said variable quantization means includes scaling means for scaling said metric for each of the plurality of blocks of data to provide a lower lossy quantization factor for metrics for predetermined types of images and a higher lossy quantization factor for metrics for other predetermined types of images.
3. The variable quantization apparatus as claimed in claim 1 wherein:
said variable quantization means includes:
quantization tables for providing a predetermined lossy quantization factor for predetermined of blocks of data;
a quantizer connected to the transformer and said quantization tables for applying a lossy quantization factor to said each of said plurality of blocks of data to compute said metric for each of said plurality of blocks of data.
4. The variable quantization apparatus as claimed in claim 1 including:
multiplier means connected to said quantization tables, said variable quantization means, and said quantizer for applying a lossy quantization factor which is a function of said metric and data to said each of said plurality of blocks of data.
5. The variable quantization apparatus as claimed in claim 1 wherein:
said variable quantization means computes the metric as an image activity metric according to the equation:
M i = 1 64 [ log 2 Y i [ 0 , 0 ] - Y i - 1 [ 0 , 0 ] + j , k log 2 Y i [ j , k ] ]
Figure US20020001412A1-20020103-M00005
where: Yi[j,k] denote the elements of the i-th block output by the transformer; and
Yi[0,0] denotes the transformed DC component of the i-th block.
6. The variable quantization apparatus as claimed in claim 1 wherein:
said variable quantization means includes scaling means for scaling said metric as an activity matrix for each of the plurality of blocks of data provided by the transformer as frequency data to provide a lower lossy quantization factor for higher activity metrics proportionally than a higher lossy quantization factor for lower activity metrics whereby one type of image is compressed at a higher quality while another type of image is compressed at a lower quality according to the equations:
qscale i = { a × M i + b if 2 > a × M i + b 0.4 0.4 if a × M i + b < 0.4 2 if a × M i + b > 2
Figure US20020001412A1-20020103-M00006
where: a and b are predetermined functions of said activity metric.
7. The variable quantization apparatus as claimed in claim 1 wherein said blocks of digital pixel data are 8 by 8 pixels.
8. An image compression system capable of compressing text and pictures, comprising:
a discrete cosine transformer capable of receiving an image in the form of a plurality of blocks of digital pixel data of the text and pictures, said discrete cosine transformer for applying a discrete cosine transform to said plurality of blocks of digital pixel data to provide a plurality of blocks of discrete cosine transform coefficients representative of the frequency of changes in said digital pixel data whereby a high frequency of changes indicates text and a low frequency of changes indicates pictures;
a variable quantization subsystem operatively connected to said discrete cosine transformer responsive to each of said plurality of blocks of discrete cosine transform coefficients to determine the activity of said digital pixel data by computing an activity metric for each of said plurality of blocks of discrete cosine transform coefficients whereby a high frequency of changes has a high activity metric and a low frequency of changes has a low activity metric;
quantization tables for providing a predetermined lossy quantization factor for each activity metric whereby a high activity metric has a low lossy quantization factor and a low activity metric has a high lossy quantization factor;
a quantizer connected to said discrete cosine transformer, said variable quantization subsystem, and said quantization tables for applying said predetermined lossy quantization factor to each of said plurality of blocks of discrete cosine transform coefficients based on said activity metric for each of said plurality of blocks of discrete cosine transform coefficients to provide a plurality of blocks of quantized data;
Huffman tables for providing a predetermined lossless entropy encoding factor for each of said predetermined of blocks of discrete cosine transform coefficients;
an entropy coder connected to said Huffman tables and said quantizer to apply a lossless entropy encoding factor to each of said plurality of blocks of quantized data to output a plurality of blocks of compressed entropy coded data in a digital file with the lossy quantization factor and the lossless entropy encoding factor applied to each of said plurality of blocks of compressed entropy coded data.
9. The image compression system as claimed in claim 8 wherein:
said variable quantization subsystem includes a scaling computer for scaling said activity metric for each of said plurality of blocks of discrete cosine transform coefficients to provide a lower lossy quantization factor for higher activity metrics proportionally than the lossy quantization factor for lower activity metrics whereby the text is compressed at a higher quality while the pictures are compressed at a lower quality.
10. The image compression system as claimed in claim 8 wherein:
said variable quantization subsystem includes:
quantization tables for providing a predetermined lossy quantization factor for predetermined of blocks of discrete cosine transform coefficients;
a quantizer connected to said discrete cosine transformer and said quantization tables for applying a lossy quantization factor to said each of said plurality of blocks of discrete cosine transform coefficients to compute said activity metric for each of said plurality of blocks of discrete cosine transform coefficients.
11. The image compression system as claimed in claim 8 including:
a multiplying junction connected to said quantization tables, said variable quantization subsystem, and said quantizer for applying a lossy quantization factor which is a function of said activity metric and discrete cosine transform coefficients to said each of said plurality of blocks of discrete cosine transform coefficients.
12. The image compression system as claimed in claim 8 wherein:
said variable quantization subsystem computes the activity metric according to the equation:
M i = 1 64 [ log 2 Y i [ 0 , 0 ] - Y i - 1 [ 0 , 0 ] + j , k log 2 Y i [ j , k ] ]
Figure US20020001412A1-20020103-M00007
where: Yi[j, k] denote the elements of the i-th block output by the discrete cosine transformer;
Yi[0,0] denotes the transformed DC component of the i-th block; and
the log2 arguments are greater than zero.
13. The image compression system as claimed in claim 8 wherein:
said variable quantization means includes scaling means for scaling said activity metric for each of said plurality of blocks of discrete cosine transform coefficients to provide a lower lossy quantization factor for higher activity metrics proportionally than a higher lossy quantization factor for lower activity metrics whereby the text is compressed at a higher quality while the pictures are compressed at a lower quality according to the equations:
qscale i = { a × M i + b if 2 > a × M i + b 0.4 0.4 if a × M i + b < 0.4 2 if a × M i + b > 2
Figure US20020001412A1-20020103-M00008
where: a and b are predetermined functions of the activity metric.
14. The image compression system as claimed in claim 8 wherein:
said variable quantization means includes scaling means for scaling said activity metric for each of said plurality of blocks of discrete cosine transform coefficients in macroblocks of 16 by 16 blocks to provide a lower lossy quantization factor for higher activity metrics proportionally than a higher lossy quantization factor for lower activity metrics whereby the text is compressed at a higher quality while the pictures are compressed at a lower quality according to the equations:
qscale i = { a × M i + b if 2 > a × M i + b 0.4 0.4 if a × M i + b < 0.4 2 if a × M i + b > 2
Figure US20020001412A1-20020103-M00009
where: a and b are predetermined functions of the activity metric.
15. The image compression system as claimed in claim 8 wherein said blocks of digital pixel data are 8 by 8 pixels.
16. An image compression system capable of compressing text and pictures, comprising:
a discrete cosine transformer capable of receiving an image in the form of a plurality of blocks of digital pixel data of the text and pictures, said discrete cosine transformer for applying a discrete cosine transform to said plurality of blocks of digital pixel data to provide a plurality of blocks of discrete cosine transform coefficients representative of the frequency of changes in said digital pixel data whereby a high frequency of changes indicates text and a low frequency of changes indicates pictures;
a variable quantization subsystem operatively connected to said discrete cosine transformer responsive to each of said plurality of blocks of discrete cosine transform coefficients including:
subsystem quantization tables for providing a predetermined lossy quantization factor for predetermined of blocks of discrete cosine transform coefficients;
a quantizer connected to said discrete cosine transformer and said subsystem quantization tables for applying a lossy quantization factor from said quantization tables to said each of said plurality of blocks of discrete cosine transform coefficients to provide a plurality of quantized data blocks;
an activity computer connected to said quantizer for calculating an activity metric for each of said quantized data blocks with high frequency data having a high activity metric and low frequency data having a low activity metric;
a scaling computer for determining predetermined relationships between said activity metric and quantization scale for said quantization table;
quantization tables for providing a predetermined lossy quantization factor for each of said plurality of discrete cosine transform coefficients;
a multiplying junction connected to said scale computer and said quantization tables for scaling said predetermined lossy quantization factor by calculated amounts and providing predetermined, scaled, lossy quantization factors;
a quantizer connected to said discrete cosine transformer and said multiplying junction for applying said predetermined, scaled, lossy quantization factor to each of said plurality of blocks of discrete cosine transform coefficients to provide a plurality of blocks of quantized data;
Huffman tables for providing a predetermined lossless entropy encoding factor for each of said predetermined of blocks of discrete cosine transform coefficients;
an entropy coder connected to said Huffman tables and said quantizer to apply a lossless entropy encoding factor to each of said plurality of blocks of quantized data to output a plurality of blocks of compressed entropy coded data in a digital file with the lossy quantization factor and the lossless entropy encoding factor applied to each of said plurality of blocks of compressed entropy coded data.
17. The image compression system as claimed in claim 16 wherein:
said variable quantization subsystem computes the activity metric according to the equation:
M i = 1 64 [ log 2 Y i [ 0 , 0 ] - Y i - 1 [ 0 , 0 ] + j , k log 2 Y i [ j , k ] ]
Figure US20020001412A1-20020103-M00010
where: Yi[j,k] denote the elements of the i-th block output by the discrete cosine transformer;
Yi[0,0] denotes the transformed DC component of the i-th block; and
the log2 arguments are greater than zero.
18. The image compression system as claimed in claim 16 wherein:
said variable quantization means includes scaling means for scaling said activity metric for each of said plurality of blocks of discrete cosine transform coefficients to provide a lower lossy quantization factor for higher activity metrics proportionally than a higher lossy quantization factor for lower activity metrics whereby the text is compressed at a higher quality while the pictures are compressed at a lower quality according to the equations:
qscale i = { a × M i + b if 2 > a × M i + b 0.4 0.4 if a × M i + b < 0.4 2 if a × M i + b > 2
Figure US20020001412A1-20020103-M00011
where: a and b are predetermined functions of the activity metric.
19. The image compression system as claimed in claim 16 wherein:
said variable quantization means includes scaling means for scaling said activity metric for each of said plurality of blocks of discrete cosine transform coefficients in macroblocks of 16 by 16 blocks to provide a lower lossy quantization factor for higher activity metrics proportionally than a higher lossy quantization factor for lower activity metrics whereby the text is compressed at a higher quality while the pictures are compressed at a lower quality according to the equations:
qscale i = { a × M i + b if 2 > a × M i + b 0.4 0.4 if a × M i + b < 0.4 2 if a × M i + b > 2
Figure US20020001412A1-20020103-M00012
where: a and b are predetermined functions of the activity metric.
20. The image compression system as claimed in claim 16 wherein said blocks of digital pixels.
US09/120,072 1998-07-21 1998-07-21 System for variable quantization in jpeg for compound documents Granted US20020001412A1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/120,072 US6314208B1 (en) 1998-07-21 1998-07-21 System for variable quantization in JPEG for compound documents

Publications (1)

Publication Number Publication Date
US20020001412A1 true US20020001412A1 (en) 2002-01-03

Family

ID=22388103

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/120,072 Granted US20020001412A1 (en) 1998-07-21 1998-07-21 System for variable quantization in jpeg for compound documents
US09/120,072 Expired - Fee Related US6314208B1 (en) 1998-07-21 1998-07-21 System for variable quantization in JPEG for compound documents

Family Applications After (1)

Application Number Title Priority Date Filing Date
US09/120,072 Expired - Fee Related US6314208B1 (en) 1998-07-21 1998-07-21 System for variable quantization in JPEG for compound documents

Country Status (4)

Country Link
US (2) US20020001412A1 (en)
EP (1) EP0974933B1 (en)
JP (1) JP2000059634A (en)
DE (1) DE69919641T2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050210070A1 (en) * 2004-03-18 2005-09-22 Macneil William R Adaptive image format translation in an ad-hoc network
US20070071093A1 (en) * 2005-09-27 2007-03-29 Fang Shi Multiple layer video encoding
US7254824B1 (en) * 1999-04-15 2007-08-07 Sedna Patent Services, Llc Encoding optimization techniques for encoding program grid section of server-centric interactive programming guide
US20090116471A1 (en) * 2004-06-08 2009-05-07 Dxo Labs Method for Enhancing Quality of Service in Mobile Telephony
US11445201B2 (en) * 2018-05-02 2022-09-13 Zte Corporation Video encoding and decoding method, device, and system, and storage medium

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7050639B1 (en) * 1999-11-24 2006-05-23 General Electric Company Image data compression employing multiple compression code tables
US7430330B2 (en) * 2001-01-16 2008-09-30 Hamilton Chris H Method and apparatus for optimizing a JPEG image using regionally variable compression levels
US20020131645A1 (en) * 2001-01-16 2002-09-19 Packeteer Incorporated Method and apparatus for optimizing a JPEG image using regionally variable compression levels
US6701020B2 (en) * 2001-03-15 2004-03-02 Hewlett-Packard Development Company, L.P. JADE-JPEG based adaptive document compression engine
US6853755B2 (en) * 2001-03-28 2005-02-08 Sharp Laboratories Of America, Inc. Method and apparatus for adaptive compression of scanned documents
US6744919B2 (en) * 2001-07-24 2004-06-01 Hewlett Packard Development Company, L.P. Classification of blocks for compression based on number of distinct colors
US7397953B2 (en) * 2001-07-24 2008-07-08 Hewlett-Packard Development Company, L.P. Image block classification based on entropy of differences
US6987889B1 (en) * 2001-08-10 2006-01-17 Polycom, Inc. System and method for dynamic perceptual coding of macroblocks in a video frame
JP2003199019A (en) * 2001-12-26 2003-07-11 Sony Corp Imaging apparatus and method therefor, recording medium and program
US7039247B2 (en) * 2003-01-31 2006-05-02 Sony Corporation Graphic codec for network transmission
JP3625211B2 (en) * 2003-03-13 2005-03-02 三菱電機株式会社 JPEG compressed file generation method, JPEG compressed file generation apparatus, and image processing apparatus
BR0306999A (en) * 2003-05-17 2005-02-09 Microsoft Corp Mechanism for applying transforms to multipart files
US7302107B2 (en) * 2003-12-23 2007-11-27 Lexmark International, Inc. JPEG encoding for document images using pixel classification
JP2005191956A (en) 2003-12-25 2005-07-14 Yamaha Corp Display data compression/expansion method
US7801383B2 (en) 2004-05-15 2010-09-21 Microsoft Corporation Embedded scalar quantizers with arbitrary dead-zone ratios
US7574055B2 (en) * 2004-09-07 2009-08-11 Lexmark International, Inc. Encoding documents using pixel classification-based preprocessing and JPEG encoding
US7676107B2 (en) * 2005-05-16 2010-03-09 Broadcom Corporation Method and system for video classification
US8422546B2 (en) 2005-05-25 2013-04-16 Microsoft Corporation Adaptive video encoding using a perceptual model
US7474770B2 (en) * 2005-06-28 2009-01-06 Beigi Homayoon S M Method and apparatus for aggressive compression, storage and verification of the dynamics of handwritten signature signals
US7262719B2 (en) * 2006-01-30 2007-08-28 International Business Machines Corporation Fast data stream decoding using apriori information
US8059721B2 (en) 2006-04-07 2011-11-15 Microsoft Corporation Estimating sample-domain distortion in the transform domain with rounding compensation
US8130828B2 (en) 2006-04-07 2012-03-06 Microsoft Corporation Adjusting quantization to preserve non-zero AC coefficients
US7995649B2 (en) * 2006-04-07 2011-08-09 Microsoft Corporation Quantization adjustment based on texture level
US7974340B2 (en) 2006-04-07 2011-07-05 Microsoft Corporation Adaptive B-picture quantization control
US8503536B2 (en) 2006-04-07 2013-08-06 Microsoft Corporation Quantization adjustments for DC shift artifacts
US8711925B2 (en) 2006-05-05 2014-04-29 Microsoft Corporation Flexible quantization
US7925086B2 (en) 2007-01-18 2011-04-12 Samsung Electronics Co, Ltd. Method and system for adaptive quantization layer reduction in image processing applications
US8238424B2 (en) 2007-02-09 2012-08-07 Microsoft Corporation Complexity-based adaptive preprocessing for multiple-pass video compression
US8498335B2 (en) 2007-03-26 2013-07-30 Microsoft Corporation Adaptive deadzone size adjustment in quantization
US8243797B2 (en) 2007-03-30 2012-08-14 Microsoft Corporation Regions of interest for quality adjustments
US8442337B2 (en) 2007-04-18 2013-05-14 Microsoft Corporation Encoding adjustments for animation content
US8331438B2 (en) 2007-06-05 2012-12-11 Microsoft Corporation Adaptive selection of picture-level quantization parameters for predicted video pictures
US7903873B2 (en) * 2007-09-13 2011-03-08 Microsoft Corporation Textual image coding
US8189933B2 (en) 2008-03-31 2012-05-29 Microsoft Corporation Classifying and controlling encoding quality for textured, dark smooth and smooth video content
US8116580B2 (en) * 2008-05-12 2012-02-14 Lexmark International, Inc. Embedded high frequency image details
US8897359B2 (en) 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
WO2010005360A1 (en) 2008-07-08 2010-01-14 Scalado Ab Method for compressing images and a format for compressed images
US8798131B1 (en) 2010-05-18 2014-08-05 Google Inc. Apparatus and method for encoding video using assumed values with intra-prediction
US9172967B2 (en) 2010-10-05 2015-10-27 Google Technology Holdings LLC Coding and decoding utilizing adaptive context model selection with zigzag scan
US8938001B1 (en) 2011-04-05 2015-01-20 Google Inc. Apparatus and method for coding using combinations
US8767817B1 (en) 2011-04-07 2014-07-01 Google Inc. Apparatus and method for coding using parameterized equation
US9247257B1 (en) 2011-11-30 2016-01-26 Google Inc. Segmentation based entropy encoding and decoding
US11039138B1 (en) 2012-03-08 2021-06-15 Google Llc Adaptive coding of prediction modes using probability distributions
US9781447B1 (en) 2012-06-21 2017-10-03 Google Inc. Correlation based inter-plane prediction encoding and decoding
US9774856B1 (en) 2012-07-02 2017-09-26 Google Inc. Adaptive stochastic entropy coding
US9167268B1 (en) 2012-08-09 2015-10-20 Google Inc. Second-order orthogonal spatial intra prediction
US9344742B2 (en) 2012-08-10 2016-05-17 Google Inc. Transform-domain intra prediction
US9380298B1 (en) 2012-08-10 2016-06-28 Google Inc. Object-based intra-prediction
US9756346B2 (en) 2012-10-08 2017-09-05 Google Inc. Edge-selective intra coding
US9210432B2 (en) 2012-10-08 2015-12-08 Google Inc. Lossless inter-frame video coding
US9369732B2 (en) 2012-10-08 2016-06-14 Google Inc. Lossless intra-prediction video coding
US9407915B2 (en) 2012-10-08 2016-08-02 Google Inc. Lossless video coding with sub-frame level optimal quantization values
US9628790B1 (en) 2013-01-03 2017-04-18 Google Inc. Adaptive composite intra prediction for image and video compression
JP6184115B2 (en) * 2013-02-01 2017-08-23 キヤノン株式会社 Image processing method and image processing apparatus
US9509998B1 (en) 2013-04-04 2016-11-29 Google Inc. Conditional predictive multi-symbol run-length coding
US20140328406A1 (en) 2013-05-01 2014-11-06 Raymond John Westwater Method and Apparatus to Perform Optimal Visually-Weighed Quantization of Time-Varying Visual Sequences in Transform Space
US9247251B1 (en) 2013-07-26 2016-01-26 Google Inc. Right-edge extension for quad-tree intra-prediction
US9392288B2 (en) 2013-10-17 2016-07-12 Google Inc. Video coding using scatter-based scan tables
US9179151B2 (en) 2013-10-18 2015-11-03 Google Inc. Spatial proximity context entropy coding
US9326000B2 (en) * 2014-07-02 2016-04-26 Omnivision Technologies (Shanghai) Co., Ltd. Method and system for still image encoding and random access decoding
US10057601B2 (en) * 2015-06-22 2018-08-21 Integrated Device Technology, Inc. Methods and apparatuses for filtering of ringing artifacts post decoding
US10687062B1 (en) 2019-02-22 2020-06-16 Google Llc Compression across multiple images
FR3104360B1 (en) * 2019-12-10 2021-12-03 Zodiac Data Systems Process of compressing a sequence of images showing synthetic graphic elements of non-photographic origin

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5121216A (en) * 1989-07-19 1992-06-09 Bell Communications Research Adaptive transform coding of still images
US5128757A (en) 1990-06-18 1992-07-07 Zenith Electronics Corporation Video transmission system using adaptive sub-band coding
US5333212A (en) 1991-03-04 1994-07-26 Storm Technology Image compression technique with regionally selective compression ratio
JPH0583696A (en) * 1991-06-07 1993-04-02 Sony Corp Picture encoding device
EP0630506A4 (en) * 1992-03-17 1995-01-04 Zoran Corporation Image compression coder having improved bit rate control and block allocation.
JP3245977B2 (en) * 1992-06-30 2002-01-15 ソニー株式会社 Digital image signal transmission equipment
JPH07154798A (en) * 1993-05-31 1995-06-16 Canon Inc Method and device for picture encoding
US5517327A (en) * 1993-06-30 1996-05-14 Minolta Camera Kabushiki Kaisha Data processor for image data using orthogonal transformation
JP3115199B2 (en) * 1994-12-16 2000-12-04 松下電器産業株式会社 Image compression coding device
US5724453A (en) 1995-07-10 1998-03-03 Wisconsin Alumni Research Foundation Image compression system and method having optimized quantization tables
JP3067628B2 (en) * 1996-01-19 2000-07-17 日本電気株式会社 Image coding device
US6014467A (en) * 1996-09-18 2000-01-11 Fuji Photo Film Co., Ltd. High speed, high precision image compression

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7254824B1 (en) * 1999-04-15 2007-08-07 Sedna Patent Services, Llc Encoding optimization techniques for encoding program grid section of server-centric interactive programming guide
US20050210070A1 (en) * 2004-03-18 2005-09-22 Macneil William R Adaptive image format translation in an ad-hoc network
US7519714B2 (en) 2004-03-18 2009-04-14 The Johns Hopkins University Adaptive image format translation in an ad-hoc network
US20090116471A1 (en) * 2004-06-08 2009-05-07 Dxo Labs Method for Enhancing Quality of Service in Mobile Telephony
US20070071093A1 (en) * 2005-09-27 2007-03-29 Fang Shi Multiple layer video encoding
US8705617B2 (en) 2005-09-27 2014-04-22 Qualcomm Incorporated Multiple layer video encoding
US11445201B2 (en) * 2018-05-02 2022-09-13 Zte Corporation Video encoding and decoding method, device, and system, and storage medium

Also Published As

Publication number Publication date
US6314208B1 (en) 2001-11-06
DE69919641T2 (en) 2005-07-14
DE69919641D1 (en) 2004-09-30
EP0974933A2 (en) 2000-01-26
JP2000059634A (en) 2000-02-25
EP0974933B1 (en) 2004-08-25
EP0974933A3 (en) 2001-01-03

Similar Documents

Publication Publication Date Title
US6314208B1 (en) System for variable quantization in JPEG for compound documents
US5850484A (en) Text and image sharpening of JPEG compressed images in the frequency domain
US9544610B2 (en) High dynamic range codecs
US5883979A (en) Method for selecting JPEG quantization tables for low bandwidth applications
EP2130380B1 (en) Controlling the amount of compressed data
EP0762775A2 (en) Device and method for compressing image data
US20020018597A1 (en) Image processing system, image processing apparatus, image input apparatus, image output apparatus and method, and storage medium
US8340442B1 (en) Lossy compression of high-dynamic range image files
US7729551B2 (en) Method for controlling the amount of compressed data
US7106908B2 (en) Method and apparatus for selecting a format in which to re-encode a quantized image
EP0555095B1 (en) Method for compressing and extending an image by transforming orthogonally and encoding the image
US6829385B2 (en) Apparatus and method for processing images, and a computer-readable medium
US7657110B2 (en) Image compression using a color visual model
US20040264787A1 (en) Image processing decompression apparatus and method of using same different scaling algorithms simultaneously
EP2958327A1 (en) Method and device for encoding a sequence of pictures
JP2000307879A (en) Method and device for color image communication
JP2002247373A (en) Image reading/outputting method and apparatus
Beretta Compressing images for the internet
JPH05260308A (en) Static image coding device
Dwivedi Design of JPEG Compressor
Mantiuk HDR Image and Video Compression
Thonggoom An Investigation into the effect of the compression algorithm in the presence of shifting and cropping on image quality
Bhaskaran et al. The JPEG Standard