US7231093B2 - Image code estimation - Google Patents

Image code estimation Download PDF

Info

Publication number
US7231093B2
US7231093B2 US10633158 US63315803A US7231093B2 US 7231093 B2 US7231093 B2 US 7231093B2 US 10633158 US10633158 US 10633158 US 63315803 A US63315803 A US 63315803A US 7231093 B2 US7231093 B2 US 7231093B2
Authority
US
Grant status
Grant
Patent type
Prior art keywords
code
coefficients
size
quantization
block
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.)
Active, expires
Application number
US10633158
Other versions
US20050025370A1 (en )
Inventor
Osamu Koshiba
Akira Osamoto
Satoru Yamauchi
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.)
Texas Instruments Inc
Magfusion Inc
Original Assignee
Texas Instruments 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
Grant date

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding

Abstract

Estimation of the code size of variable length encoding of quantized DCT coefficients by summation over histogram bins of products of number of bin members and a code size of an average run of zero coefficients coupled with a representative level from the bin. The estimation provides low-complexity feedback for quantization level adjustment to obtain variable length code size target without actual performance of a quantization level plus variable length encoding.

Description

CROSS-REFERENCE TO RELATED APPLICATIONS

The following applications disclose related subject matter: application. Ser. No. 10/917,980, filed Aug. 13, 2004 and Ser. No. 11/218,407, filed Sep. 1, 2005. These referenced applications have a common assignee with the present application.

BACKGROUND OF THE INVENTION

The present invention relates to digital image processing, and more particularly to compressive encoding of images.

In many applications of digital image processing, such as JPEG, MPEG or DV, image data is compressed by successive operations of DCT (Discrete Cosine Transform), quantization, and Huffman (variable length) encoding. DCT is a pre-processing operation for image compression which converts blocks of spatial domain information of the image into blocks of frequency domain information, typically for 8×8 blocks of pixels. Generally, the transformed image has a tendency to strong correlations within a neighborhood; DCT processing concentrates a majority of the information of the image into the low frequencies. Quantization is an effective compression method which divides the DCT coefficients by an integer quantization level so as to reduce the precision (number of significant bits) of the DCT coefficients. The quantized DCT coefficients of a block are scanned from low frequency to high frequency and converted into a sequence of pairs of ‘run’ and ‘level’ parameters (run length encoding). Using a Huffman code table defined by the statistics of an image, the sequence of run-level pairs are finally converted to a sequence of Huffman (variable length) codewords. The Huffman tables for differing sets of variables of JPEG, MPEG, or DV are fixed in the specifications of these standards.

In these image compression methods, the size of the Huffman code generated is strongly dependent on the quantization level. Therefore, it is necessary to apply a suitable quantization level to adjust an output code size to a target code size. One useful quantization level approach has a feedback loop comparing a target code size and a code size actually generated by the encoder circuit. This approach enables estimation and response to a current code size accurately because actual output code size is used as a comparison to the target code size. However, there is a delay corresponding to the speed of the encoding algorithm to output the actual code. As a result, there is a delay for convergence to the target code size.

SUMMARY OF THE INVENTION

The present invention provides estimation of the code size for digital image compression by simplifying the feedback flow for the quantization process for DCT coefficients and Huffman encoding.

This has advantages including more efficient quantization without time delay of actual code generation.

BRIEF DESCRIPTION OF THE DRAWINGS

The drawings are heuristic for clarity.

FIGS. 1 a-1 b show functional block diagrams of preferred embodiment method and preferred embodiment system.

FIG. 2 illustrates partitioning a block.

FIG. 3 shows an approximation function.

FIG. 4 depicts experimental results.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

1. Overview

Preferred embodiment image processing methods include low complexity estimates of the code size for Huffman (variable length code) encoding a block of quantized DCT coefficients; this provides quantization level feedback information for selection of a quantization level(s). The method uses a histogram of the non-zero DCT coefficient magnitudes of (an area of) a block together with normalized code-size functions (a function for representative “level”s and depending upon an average “run”) from the Huffman table. The average “run” in the code is estimated from the number of zero and non-zero quantized coefficients in (the area of) the block. FIG. 1 a is a functional block diagram for a preferred embodiment method.

Preferred embodiment digital image systems (such as cameras) include preferred embodiment image processing methods. FIG. 1 b shows in functional block form a system (digital still camera) which incorporates preferred embodiment methods as illustrated in the JPEG compression block. The functions of preferred embodiment systems can be performed with digital signal processors (DSPs) or general purpose programmable processors or application specific circuitry or systems on a chip such as both a DSP and RISC processor on the same chip with the RISC processor as controller. Further specialized accelerators, such as CFA color interpolation and JPEG encoding, could be added to a chip with a DSP and a RISC processor. Captured images could be stored in memory either prior to or after image pipeline processing. The image pipeline functions could be a stored program in an onboard or external ROM, flash EEPROM, or ferroelectric RAM for any programmable processors.

2. First Preferred Embodiment

FIG. 1 a is a functional block diagram of a first preferred embodiment method of quantization level determination and which includes the following steps. First prepare a histogram of the magnitudes of the DCT coefficients of a (8×8) block; this enables easy estimation of the histogram resulting from a quantization process and reveals the magnitude tendencies which impact the actually generated code size. For a fixed-point processor, a definition of the histogram bins as the ranges 2n˜2n+1−1(n=0, 1, 2, . . . ) is especially desirable for the simplicity of implementation. Note that 0 coefficients do not appear in the histogram. Also, quantization amounts to integer division by the quantization level, so quantization levels as powers of 2 permit binary shifting for the division.

Many of the specifications in standards such as JPEG, MPEG, take the DCT coefficient quantization level to depend upon the DCT frequency; that is, a non-flat quantization matrix. Such frequency-dependent quantization levels use the fact that the sensitivity of the human visual system to high spatial frequency components in an image is less than that to low spatial frequency components. In this case, partitioning the DCT coefficient block into several areas which correspond to spatial frequency ranges increases the accuracy of the estimation of generated code size. FIG. 2 shows an example of this partitioning into four areas and is applicable to the DV standard encoding process. Note the zig-zag scan order of the DCT coefficients aligns to this partitioning so that the areas are sequentially scanned. Thus, if each DCT block is partitioned into j areas and the magnitudes of the DCT coefficients can be represented by N bits and the histogram bins are taken to be the ranges 2n˜2n+1−1(n=0, 1, 2, . . . , N−1), define the following histogram variable:

H(i,j): the number of coefficients in bin 2i˜2i+1−1(i=0, 1, 2 . . . , N−1) in area j

The preferred embodiment methods use such a histogram with bins of the ranges 2n˜2n+1−1 for a fast approximation of the quantization process. In particular, for the case of the quantization levels defined in a specification under consideration confined to 2M (M=0, 1, 2 . . . ), the quantization level changes are achieved by shifting values of each bin of the histogram. That is, with quantization level 2M the number of quantized coefficients, Hq(i,j), within the bin 2i˜2i+1−1 (i=0,1,2 . . . , N−1) in area j is given by:

Hq ( i , j ) = { H ( i + M , j ) ( 0 i N - M - 1 ) 0 ( others )
Even if the quantization levels defined in the specification under consideration are arbitrary integers, the histogram after the quantization Hq(i,j) can be represented approximately by scaling a graph of the distribution given by the original histogram H(i,j).

The variable-length code size of the block after quantization is estimated from the given Hq(i,j) by simplifying the Huffman table. Inputs for the Huffman table are the parameters “run” and “level”, so consider an expressions for these parameters using Hq(i,j). Note that the sign of a coefficient typically is the last bit of the codeword, so coefficient differing by sign have the same magnitude and same codeword size. The parameter “run” is the number of zero coefficients between significant coefficients when scanning the DCT block from the low frequency (upper lefthand portion in FIG. 2) to the high frequency (lower righthand portion), the so-called zig-zag scanning. If the total number of coefficients in area j is denoted A(j), the parameter “run” in area j can be estimated as the number of 0 coefficients divided by the number of non-zero coefficients. Now the number of non-zero coefficients in area j equals

i Hq ( i , j ) ,
so estimate “run” by r′(j) as follows.

r ( j ) A ( j ) - i Hq ( i , j ) i Hq ( i , j )

As to the parameter “level”, it already is implicit in the histogram bins for the magnitudes of the DCT coefficients in area j. Therefore, if an average value is utilized as a representative for the bin of the range 2i˜2i+1−1, the parameter “level” can be estimated for coefficients in the bin by l′(i):

l ( i ) 2 i + 1 - 1 + 2 i 2
This can also be simplified to the maximum value 2i+1−1 in the case that the specification under consideration has a restrictive upper limit on the generated code size. That is,
l′(i)≡2i+1−1

In any case, the representative value l′(i) is not dependent on the areaj. Now, r′(j) and l′(i) provide input parameters for the Huffman table. If the code size of the entry “run”=r and “level” =l in the Huffman table under consideration is denoted as T(r,l), then the code size c(j) for the coefficients in area j of the DCT block can be estimated as follows.

c ( j ) = i = 0 N - 1 Hq ( i , j ) T ( r ( j ) , l ( i ) )
In this equation, T(r, l) is only applied to the representative value, l′(i), for each bin i. Therefore, for this estimation, an original Huffman table can be reduced to the table restricted to the representative “level”s. However, this calculation contains an undesirable division operation from the definition of r′(j). The division can be avoided by using a normalized function T′(x,i) for each bin i where x is a normalized variable of the number of non-zero coefficients applicable to all areas. As shown in the expression for r′(j), it is determined by the fixed number of coefficients in area j, A(j), and the variable number of non-zero coefficients in area j, ΣHq(i,j). By normalizing (scaling) the number A(j) to a convenient integer A(=α(j)A(j) and the number ΣHq(i,j) to ΣHq(i)(=α(j)ΣHq(i, j)), a function of the Huffman table T(r′(i), l′(i)) can be re-defined independent of area j. Thus, code size c(j) can be represented as follows:

c ( j ) = i = 0 N - 1 Hq ( i , j ) T ( x , i ) x = α ( j ) j Hq ( i , j ) ( α ( j ) = A A ( j ) )
That is, x is the number of non-zero coefficients in A(j) normalized to a total of A coefficients; hence, the average “run” in A(j) is r′(j)=(A−x)/x and so the definition T′(x,i)=T((A−x)/x,l′(i)) essentially precomputes the division in r′(j). FIG. 3 shows an example of expressions for T′(x,i) for i=0, 1, . . . , 7 which are applicable to the Huffman table in the DV specification. In FIG. 3, the number of coefficients is normalized to A=128. It is necessary to define T′(x,i) only for i=0, 1, 2, 3, 4 because the defined table for “level” over 32 has the corresponding size of the Huffman code depending only on “run”.

As a result, a total code size, S, for the DCT block can be approximated as

S = j c ( j )
Thus, a total code size for each block of DCT coefficients can be calculated by the summation of the code sizes of the coefficients in the areas in the DCT block which, in turn, is estimated by the histogram for each area by simplified operation for the quantization level and the Huffman coding (T′(x,i)) without performing an actual encoding.

As illustrated in FIG. 1 a, the code size estimation for a tentative quantization level is then used to select a quantization level for subsequent variable-length encoding.

3. Experimental Results

FIG. 4 shows an result of the preferred embodiment code size estimation method applied to the DV image encoding process using the 8×8 block partitioning shown in FIG. 2 and with the normalized code size approximations shown in FIG. 3. Most of the estimation (code sizes estimated for 1350 macroblocks) has an accuracy ranged from 60% to 100%. On average, the accuracy of this estimation method is 87%.

4. Modifications

The preferred embodiment code size estimation methods can be varied in various ways while preserving the feature of estimating the code size from a histogram of coefficient magnitudes together with the normalized code size functions from the Huffman (variable length code) table.

For example, the DCT coefficient block size could be increased (e.g., 16×16) or decreased, the number of areas in a block could be varied from 1 to any convenient number, normalization size A for the normalized code size functions T′(x,i) can all be varied, and so forth. The same code size estimation as a function of quantization level could be applied to coefficients of a wavelet transform in place of the DCT.

Claims (7)

1. A method of estimating the size of variable-length code, comprising:
(a) providing a block of quantized coefficients;
(b) forming a histogram of magnitudes of non-zero ones of said quantized coefficients;
(c) estimating a code size for said block of quantized coefficients as a sum of one or more terms where each of said terms is a product of (i) the number of said quantized coefficients in a bin of said histogram and (ii) a code size of a variable length code for an average run of zero-valued ones of said quantized coefficients together with a representative level for said bin.
2. The method of claim 1, wherein:
(a) said code size of (ii) of step (c) of claim 1 is a normalized code size estimate depending upon a normalized number of non-zero coefficients in said bin.
3. The method of claim 1, further comprising:
(a) providing a second block of quantized coefficients;
(b) forming a second histogram of magnitudes of said second block; and
(c) estimating a second code size for said second block.
4. The method of claim 1, further comprising:
(a) adjusting the quantization level used to quantize a block of coefficients to generate said block of quantized coefficients; and
(b) estimating a code size for said block of coefficients after quantizing using said adjusted quantization level.
5. The method of claim 1, wherein:
(a) said average run of zero-valued ones of said quantized coefficients of (ii) of step (c) of claim 1 is computed from a scaling of said histogram.
6. The method of claim 1, wherein:
(a) said code size of (ii) of step (c) of claim 1 is from a restricted variable-length code table.
7. A method of encoding, comprising:
(a) estimating a code size which would arise from using a table of run and level variable length codewords to encode a block of coefficients which have been quantized with a first set of quantization levels;
(b) quantizing said block of coefficients using the results of step (a) as part of a selection of a set of quantization levels for said block of coefficients; and
(c) encoding said block of quantized coefficients using said table;
(d) wherein said estimating of step (a) includes:
(i) forming a histogram of said block of coefficients when quantized with said first set of quantization levels;
(ii) estimating a code size for said block of quantized coefficients of (i) as a sum of terms where each of said terms is a product of (i) the number of said quantized coefficients in a bin of said histogram and (ii) a code size of a variable length code from said table for an average run of zero-valued ones of said quantized coefficients together with a representative level for said bin.
US10633158 2003-08-01 2003-08-01 Image code estimation Active 2025-07-07 US7231093B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10633158 US7231093B2 (en) 2003-08-01 2003-08-01 Image code estimation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10633158 US7231093B2 (en) 2003-08-01 2003-08-01 Image code estimation

Publications (2)

Publication Number Publication Date
US20050025370A1 true US20050025370A1 (en) 2005-02-03
US7231093B2 true US7231093B2 (en) 2007-06-12

Family

ID=34104525

Family Applications (1)

Application Number Title Priority Date Filing Date
US10633158 Active 2025-07-07 US7231093B2 (en) 2003-08-01 2003-08-01 Image code estimation

Country Status (1)

Country Link
US (1) US7231093B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006340367A (en) * 2005-06-02 2006-12-14 Behavior Tech Computer Corp Wireless transmission device with incorporated antenna and connector
US7747093B2 (en) * 2006-12-07 2010-06-29 Adobe Systems Incorporated Method and apparatus for predicting the size of a compressed signal
US20110310961A1 (en) * 2010-06-17 2011-12-22 Microsoft Corporation Video rate control based on transform-coefficients histogram
WO2014157038A1 (en) * 2013-03-27 2014-10-02 日信工業株式会社 Brake device for handlebar vehicle

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5901250A (en) * 1994-07-13 1999-05-04 Matsushita Electric Industrial Co., Ltd. Digital coding apparatus and digital coding/decoding apparatus
US6614938B2 (en) * 1994-11-10 2003-09-02 Kabushiki Kaisha Toshiba Image compression with orthogonal transform of blocks within a bounded shape
US6658157B1 (en) * 1999-06-29 2003-12-02 Sony Corporation Method and apparatus for converting image information
US6711295B2 (en) * 1998-10-06 2004-03-23 Canon Kabushiki Kaisha Encoding apparatus and method, and storage medium
US6909811B1 (en) * 1998-03-06 2005-06-21 Canon Kabushiki Kaisha Image processing apparatus and method and storage medium storing steps realizing such method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5901250A (en) * 1994-07-13 1999-05-04 Matsushita Electric Industrial Co., Ltd. Digital coding apparatus and digital coding/decoding apparatus
US6614938B2 (en) * 1994-11-10 2003-09-02 Kabushiki Kaisha Toshiba Image compression with orthogonal transform of blocks within a bounded shape
US6909811B1 (en) * 1998-03-06 2005-06-21 Canon Kabushiki Kaisha Image processing apparatus and method and storage medium storing steps realizing such method
US6711295B2 (en) * 1998-10-06 2004-03-23 Canon Kabushiki Kaisha Encoding apparatus and method, and storage medium
US6658157B1 (en) * 1999-06-29 2003-12-02 Sony Corporation Method and apparatus for converting image information

Also Published As

Publication number Publication date Type
US20050025370A1 (en) 2005-02-03 application

Similar Documents

Publication Publication Date Title
US7483581B2 (en) Apparatus and method for encoding digital image data in a lossless manner
US5410352A (en) Image data compressing apparatus
US6909811B1 (en) Image processing apparatus and method and storage medium storing steps realizing such method
US20030123739A1 (en) Method and apparatus for video compression using microwavelets
US6535643B1 (en) Method for recovering compressed motion picture for eliminating blocking artifacts and ring effects and apparatus therefor
US20050100229A1 (en) Digital video compression
US6345123B1 (en) Image encoding/decoding method, image encoder/decoder and image encoding/decoding program recording medium
US5677689A (en) Fixed rate JPEG compliant still image compression
EP1162826A2 (en) Adaptive image data compression
US5426512A (en) Image data compression having minimum perceptual error
US6351226B1 (en) Block-by-block data compression with quantization control
US20030035586A1 (en) Decoding compressed image data
US5046121A (en) Image data compression apparatus
US7454071B2 (en) System and method for using pattern vectors for video and image coding and decoding
US6711295B2 (en) Encoding apparatus and method, and storage medium
US6236756B1 (en) Image analysis method and device
US20040208392A1 (en) Method and apparatus for improving video quality of low bit-rate video
US7145953B2 (en) Filtering method and apparatus for removing blocking artifacts and/or ringing noise
US6067384A (en) Fast scaling of JPEG images
US5719961A (en) Adaptive technique for encoder and decoder signal transformation
EP0493130A2 (en) Image encoding apparatus optimizing the amount of generated code
US20060215918A1 (en) Decoding apparatus, dequantizing method, distribution determining method, and program thereof
US6351570B1 (en) Image coding and decoding apparatus, method of image coding and decoding, and recording medium for recording program for image coding and decoding
EP0422404A2 (en) Transform coding using coefficient prediction techniques
US20100118971A1 (en) Code amount estimating method and apparatus, and program and storage medium therefor

Legal Events

Date Code Title Description
AS Assignment

Owner name: TEXAS INSTRUMENTS INCORPORATED, TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KOSHIBA, OSAMU;OSAMOTO, AKIRA;YAMAUCHI, SATORU;REEL/FRAME:014834/0218

Effective date: 20031015

AS Assignment

Owner name: MAGFUSION, INC., ARIZONA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SHEN, JUN;STAFFORD, JOHN;TAM, GORDON;REEL/FRAME:016159/0333

Effective date: 20040330

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8