This application claims the benefit of Korean Patent Application No. 10-2005-0062933, filed on Jul. 12, 2005, in the Korean Intellectual Property Office, the disclosure of which is incorporated herein by reference.
1. Field of the Invention
The present invention relates to encoding and decoding of image data, and more particularly, to an apparatus and method for encoding and decoding image data through adaptive quantization according to the number of bits by determining a quantization coefficient proportional the number of bits per pixel.
2. Description of Related Art
An image acquired by a camera is displayed with an appropriate size, i.e., a number of pixels, through sampling. When the image is displayed, the number of bits required to represent a value of each pixel is determined, and to display the image with high quality, an increase of the number of representable values is required, thereby increasing the number of bits. In addition, accompanying the development of image devices, the number of bits has gradually increased. For example, although 8 bits are used in many fields, recently, 10 or 12 bits are being increasingly used in application fields where high quality images are required.
For conventional image compression, compression schemes for 8-bit images have been generally developed. For example, VC-1 (VC-1 Compressed Video Bitstream Format and Decoding Process) corresponding to a compression video codec standardized by the Society of Motion Picture and Television Engineers (SMPTE) provides effective quantization schemes suitable for every case using various kinds of image information. However, in the quantization schemes used in VC-1, the number of bits per pixel is fixed at 8. Although an 8-bit image is popularly used for image coding schemes, a limitation in the image quality exists when the 8-bit image is used. Thus, considering the gradual increase of the demands for images having high quality, it is necessary to provide a method using a quantization scheme suitable even for an image using a number of bits per pixel greater than 8.
An aspect of the present invention provides an apparatus for encoding and decoding image data to obtain a high quality image at a high compression ratio by automatically performing adaptive quantization according to the number of bits per pixel.
An aspect of the present invention also provides a method of encoding and decoding image data to obtain a high quality image at a high compression ratio by automatically performing adaptive quantization according to the number of bits per pixel.
According to an aspect of the present invention, there is provided an image data encoding apparatus including: a transformer transforming pixel values of an image in a time domain into pixel values in a frequency domain; a quantization coefficient determiner determining a quantization coefficient proportional to a number of bits per pixel of the image; a quantization unit quantizing the pixel values transformed by the transformer based on the quantization coefficient determined by the quantization coefficient determiner; and an entropy encoder generating a bitstream of the quantized pixel values.
According to another aspect of the present invention, there is provided an image data decoding apparatus including: an entropy decoder decoding a bitstream of pixel values of an image; a quantization coefficient determiner determining a quantization coefficient proportional into the number of bits per pixel of the image; a dequantization unit dequantizing the pixel values decoded by the entropy decoder based on the quantization coefficient determined by the quantization coefficient determiner; and a detransformer detransforming the pixel values dequantized by the dequantization unit.
According to another aspect of the present invention, there is provided an image data encoding method including: transforming pixel values of an image in a time domain into pixel values in a frequency domain; determining a quantization coefficient proportional to a number of bits per pixel of the image; quantizing the transformed pixel values based on the determined quantization coefficient; and generating a bitstream of the quantized pixel values.
According to another aspect of the present invention, there is provided an image data decoding method including: decoding a bitstream of pixel values of an image; determining a quantization coefficient proportional to a number of bits per pixel of the image; dequantizing the decoded pixel values based on the determined quantization coefficient; and detransforming the dequantized pixel values.
According to other aspects of the present invention, there are provided computer readable recording media storing computer readable programs for executing the aforementioned methods.
Additional and/or other aspects and advantages of the present invention will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the invention.
The above and/or other aspects and advantages of the present invention will become apparent and more readily appreciated from the following detailed description, taken in conjunction with the accompanying drawings of which:
Reference will now be made in detail to embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. The embodiments are described below in order to explain the present invention by referring to the figures.
The temporal predictor 100 temporally predicts pixel values of a current block using a previous block in the time domain and outputs the prediction result to the transformer 110.
The temporal predictor 100 predicts a current image frame Fn by estimating a motion in a previous image frame Fn−1′. That is, the temporal predictor 100 searches the previous frame Fn−1′ for a block similar to a block having a predetermined size to be currently encoded and then subtracts pixel values of the previous block from pixel values of the current block. When the first frame is processed, this procedure is omitted since the previous block does not exist. Stated another way, the procedure can be omitted by a user to prevent a random access and error propagation.
The transformer 110 transforms pixel values of an image in the time domain to pixel values in a frequency domain and outputs the transform result to the quantization coefficient determiner 120. An orthogonal transform encoding method is used as the transforming method. Non-limiting examples of such orthogonal transform encoding methods include a fast Fourier transform (FFT) method, a discrete cosine transform (DCT) method, a Karhunen Loeve transform (KLT) method, an Hadamard transform method, and slant transform method.
The pixel values transformed into the frequency domain by the transformer 110 are classified into a DC component corresponding to a low frequency domain and an AC component corresponding to a high frequency domain. The DC component indicates a transformed pixel value in the low frequency domain, which corresponds to coordinates (0,0), and the AC component indicates the other pixel values.
The quantization coefficient determiner 120 determines a quantization coefficient proportional to the number of bits per pixel of the image and outputs the determination result to the quantization unit 130 and the dequantization unit 140.
A quantization process of VC-1 is limited in that the number of bits per pixel of an input image is 8. In this case, a quantization variable defined by a user has a range of [1, 31]. To make encoding possible even when the number of bits per pixel of the input image is greater than 8, a process of adapting the quantization coefficient according to the number of bits per pixel is necessary.
The current embodiment uses a method of determining the quantization coefficient proportional to N, where N denotes the number of bits per pixel of the input image. In this case, since the quantization coefficient is determined proportional to N bits, the quantization variable defined by the user is not changed regardless of the variation of an N value. The quantization coefficient adjusted according to N bits can be obtained using Equation 1.
QSF=QP×2(N−8) (1)
That is, QSF is the quantization coefficient adjusted according to N bits.
The quantization coefficient determiner 120 determines a quantization coefficient in the low frequency domain using Equation 2. The low frequency domain indicates the DC component of the transformed pixel values.
Here, QS denotes the quantization coefficient, QP denotes the quantization variable defined by the user, and N denotes the number of bits per pixel.
The quantization coefficient determiner 120 determines a quantization coefficient in the high frequency domain using Equation 3. The high frequency domain indicates the AC component of the transformed pixel values without the DC component.
QS=QP×2(N−8)×2 (3)
Here, QS denotes the quantization coefficient and QP denotes the quantization variable defined by the user.
The quantization unit 130 quantizes the pixel values transformed by the transformer 110 based on the quantization coefficient determined by the quantization coefficient determiner 120 and outputs the quantization result to the dequantization unit 140 and the entropy encoder 170.
The quantization unit 130 quantizes the pixel values using Equation 4 when quantizing the DC component or when performing uniform quantization of the AC component.
q=c/QS (4)
Here, q denotes a quantized pixel value, c denotes a pixel value transformed by the transformer 110, and QS denotes the quantization coefficient.
The quantization unit 130 quantizes the pixel values transformed by the transformer 110 using Equation 5 when performing non-uniform quantization of the AC component.
q=(c+{sign(c)×QP×2(N−8)×r})/QS (5)
Here, q denotes a quantized pixel value, c denotes a pixel value transformed by the transformer 110, QS denotes the quantization coefficient, i.e., QS=QP×2(N−8)×2, and {sign(c)×QP×2(N−8)×r} denotes an offset for the non-uniform quantization, wherein sign(c)=1 when c>0, sign(c)=0 when c=0, and sign(c)=−1 when c<0, and r is a constant within a range 0≦r≦1.
The dequantization unit 140 dequantizes the pixel values quantized by the quantization unit 130 based on the quantization coefficient determined by the quantization coefficient determiner 120 and outputs the dequantization result to the detransformer 150.
The dequantization unit 140 dequantizes the quantized pixel values using Equation 6 when performing dequantization of the DC component or uniform dequantization of the AC component.
c′=q×QS (6)
Here, c′ denotes a dequantized pixel value, q denotes a quantized pixel value, and QS denotes the quantization coefficient.
Meanwhile, the dequantization unit 140 dequantizes the quantized pixel values using Equation 7 when performing non-uniform dequantization of the AC component.
c′=q×QS+{sign(c)×QP×2(N−8)} (7)
Here, c′ denotes a dequantized pixel value, q denotes a quantized pixel value, QS denotes the quantization coefficient, i.e., QS=QP×2(N−8)×2, and {sign(c)×QP×2(N−8)} denotes an offset for the non-uniform dequantization.
The detransformer 150 detransforms the pixel values dequantized by the dequantization unit 140 and outputs the detransformed result to the temporal prediction compensator 160.
The temporal prediction compensator 160 compensates for the detransformed pixel values of the pixel values predicted by the temporal predictor 100.
The entropy encoder 170 generates a bitstream of the pixel values quantized by the quantization unit 130.
An image data decoding apparatus according to an embodiment of the present invention will now be described in detail with reference to
The entropy decoder 200 decodes a bitstream of pixel values of an image and outputs the decoding result to the quantization coefficient determiner 210.
The quantization coefficient determiner 210 determines a quantization coefficient proportional to the number of bits per pixel of the image and outputs the determination result to the dequantization unit 220.
The quantization coefficient determiner 210 determines a quantization coefficient in the low frequency domain using Equation 2. The quantization coefficient determiner 210 also determines a quantization coefficient in the high frequency domain using Equation 3.
The dequantizer 220 dequantizes the pixel values decoded by the entropy decoder 200 based on the quantization coefficient determined by the quantization coefficient determiner 210 and outputs the dequantization result to the detransformer 230.
The dequantization unit 220 dequantizes the pixel values decoded by the entropy decoder 200 using Equation 6 when performing dequantization of the DC component or uniform dequantization of the AC component.
In particular, the dequantization unit 220 dequantizes the pixel values decoded by the entropy decoder 200 using Equation 7 when performing non-uniform dequantization of the AC component.
The detransformer 230 detransforms the pixel values dequantized by the dequantization unit 220 and outputs the detransform result to the temporal prediction compensator 240.
The temporal prediction compensator 240 compensates for the temporally predicted pixel values of the pixel values detransformed by the detransformer 230.
An image data encoding method according to an embodiment of the present invention will now be described in detail with reference to
Referring to
In operation 302, the temporally predicted pixel values of an image are transformed into pixel values in the frequency domain. An orthogonal transform encoding method is used as the transforming method.
In operation 304, a quantization coefficient proportional to the number of bits per pixel of the image is determined. In particular, in operation 304, a quantization coefficient in the low frequency domain is determined using Equation 2. In addition, in operation 304, a quantization coefficient in the high frequency domain is determined using Equation 3.
In operation 306, the transformed pixel values are quantized based on the determined quantization coefficient. The pixel values are quantized using Equation 4 when quantization of the DC component or uniform quantization of the AC component is performed. In particular, in operation 306, the transformed pixel values are quantized using Equation 5 when non-uniform quantization of the AC component is performed.
In operation 308, a bitstream of the quantized pixel values is generated.
An image data decoding method according to an embodiment of the present invention will now be described in detail with reference to
Referring to
In operation 402, a quantization coefficient is determined proportional to the number of bits per pixel of the image. In particular, in operation 402, a quantization coefficient in the low frequency domain is determined using Equation 2. In addition, in operation 402, a quantization coefficient in the high frequency domain is determined using Equation 3.
In operation 404, the decoded pixel values are dequantized based on the determined quantization coefficient. The quantized pixel values are dequantized using Equation 6 when dequantization of the DC component or uniform dequantization of the AC component is performed. In particular, in operation 404, the decoded pixel values are dequantized using Equation 7 when non-uniform dequantization of the AC component is performed.
In operation 406, the dequantized pixel values are detransformed.
In operation 408, the temporally predicted pixel values of the detransformed pixel values are compensated for.
Embodiments of the present invention can be written as code/instructions/computer programs and can be implemented in general-use digital computers that execute the code/instructions/computer programs using a computer readable recording medium. Examples of the computer readable recording medium include magnetic storage media (e.g., ROM, floppy disks, hard disks, etc.), optical recording media (e.g., CD-ROMs, or DVDs), and storage media. The computer readable recording medium can also be a distributed network of coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
In an apparatus and method for encoding and decoding image data according to the above-described embodiments of the present invention, by performing quantization automatically adaptive to the number of bits per pixel, a high quality image can be implemented at a high compression ratio.
In addition, adaptive encoding and decoding according to the number of bits per pixel can be performed by minimally changing the configuration of the conventional art (e.g., VC-1 standard technology).
Although a few embodiments of the present invention have been shown and described, the present invention is not limited to the described embodiments. Instead, it would be appreciated by those skilled in the art that changes may be made to these embodiments without departing from the principles and spirit of the invention, the scope of which is defined by the claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
10-2005-0062933 | Jul 2005 | KR | national |
Number | Name | Date | Kind |
---|---|---|---|
5115309 | Hang | May 1992 | A |
5621466 | Miyane et al. | Apr 1997 | A |
5638126 | Lim | Jun 1997 | A |
5781561 | Machida et al. | Jul 1998 | A |
5892847 | Johnson | Apr 1999 | A |
6091856 | Terane et al. | Jul 2000 | A |
6111991 | Ribas-Corbera et al. | Aug 2000 | A |
6445739 | Shen et al. | Sep 2002 | B1 |
6501793 | Shen et al. | Dec 2002 | B2 |
6532262 | Fukuda et al. | Mar 2003 | B1 |
6738423 | Lainema et al. | May 2004 | B1 |
6865224 | Knee et al. | Mar 2005 | B1 |
7010035 | Shen et al. | Mar 2006 | B2 |
7295609 | Sato et al. | Nov 2007 | B2 |
7492820 | Puri | Feb 2009 | B2 |
20030105788 | Chatterjee | Jun 2003 | A1 |
20030128756 | Oktem | Jul 2003 | A1 |
20050036699 | Holcomb et al. | Feb 2005 | A1 |
20050135694 | Daly | Jun 2005 | A1 |
20050276501 | Nakayama et al. | Dec 2005 | A1 |
20060110051 | Kondo et al. | May 2006 | A1 |
20060257034 | Gish et al. | Nov 2006 | A1 |
20070147510 | Asad et al. | Jun 2007 | A1 |
20080075166 | Gish et al. | Mar 2008 | A1 |
20080240235 | Holcomb et al. | Oct 2008 | A1 |
20090003438 | Kottke et al. | Jan 2009 | A1 |
Number | Date | Country |
---|---|---|
9835503 | Aug 1998 | WO |
2004047454 | Jun 2004 | WO |
Number | Date | Country | |
---|---|---|---|
20070014481 A1 | Jan 2007 | US |