1. Field of the Invention
Methods and apparatuses consistent with the present invention relate to encoding and decoding an image, and more particularly, to a method and apparatus for encoding and decoding an image including pixel bits.
2. Description of the Related Art
Methods of separating an input image including n-bit pixel values into n-bit planes, and compression encoding each of the n-bit planes, i.e. binary images are widely used.
Joint Bi-level Image Experts Group (JBIG) is a standard for compression encoding and decoding a binary image. JBIG is a separate image compressing standard from Joint Photographic Experts Group (JPEG) in order to perform effective compression encoding and decoding in a system for processing an input image by generating a binary image, such as a printer or a facsimile.
By using a method of encoding and decoding an image, whereby an input image is processed by generating a binary image, an image including a lot of margins without a pixel value or a lot of straight lines with repeated pixel values is effectively encoded and decoded.
The present invention provides a method and apparatus for encoding and decoding an image including n-bit pixel values.
According to an aspect of the present invention, there is provided a method of encoding an image, the method including: from an input image comprising n-bit pixel values, generating n-m bit planes based on the n-m most significant bits of the pixel values and an image based on the m least significant bits of the pixel values; encoding each of the n-m bit planes by using a bit plane-based image encoding method; and encoding the image based on the m least significant bits of the image by using a block-based image encoding method, wherein n and m are positive integers satisfying 0<m<n.
The encoding of each of the n-m bit planes may include performing lossless compression encoding on the n-m bit planes according to a Joint Bi-level Image Experts Group (JBIG) standard.
The encoding of the image based on the m least significant bits of the pixel values may include performing prediction encoding on blocks included in the image, based on one intra prediction mode selected from a plurality of intra prediction modes.
According to another aspect of the present invention, there is provided a method of decoding an image, the method including: decoding each of n-m bit planes based on the n-m most significant bits of n-bit pixel values, by using a bit plane-based image decoding method, in order to generate an output image comprising the n-bit pixel values; decoding an image based on the m least significant bits of the pixel values, by using a block-based image decoding method; and generating the output image comprising the n-bit pixel values, based on the n-m bit planes and the image based on the m least significant bits, wherein n and m are positive integers satisfying 0<m<n.
According to another aspect of the present invention, there is provided an apparatus for encoding an image, the apparatus including: an image divider which, from an input image including n-bit pixel values, generates n-m bit planes based on the n-m most significant bits of the pixel values and an image based on the m least significant bits of the pixel values; a first encoder which encodes each of the n-m bit planes by using a bit plane-based image encoding method; a second encoder which encodes the image based on the m least significant bits of the image by using a block-based image encoding method; and a multiplexer which multiplexes data of the n-m bit planes and data of the image based on the m least significant bits generated by the first and second encoders, wherein n and m are positive integers satisfying 0<m<n.
According to another aspect of the present invention, there is provided an apparatus for decoding an image, the apparatus including: an inverse multiplexer which demultiplexes data of an output image comprising n-bit pixel values into data of n-m bit planes based on the n-m most significant bits of the pixel values and data of an image based on the m least significant bits of the pixel values; a first decoder which decodes the n-m bit planes based on the n-m most significant bits of the pixel values, by using a bit plane-based image decoding method; a second decoder which decodes the image based on the m least significant bits of the pixel values, by using a block-based image decoding method; and an image restorer which generates the output image comprising the n-bit pixel values, based on the n-m bit planes and the image based on the m least significant bits, wherein n and m are positive integers satisfying 0<m<n.
According to another aspect of the present invention, there is provided a computer readable recording medium having recorded thereon a program for executing the above methods
The above and other features of the present invention will become more apparent by describing in detail exemplary embodiments thereof with reference to the attached drawings in which:
Hereinafter, the present invention will be described more fully with reference to the accompanying drawings, in which exemplary embodiments of the invention are shown.
Referring to
The image divider 110 divides an input image including n-bit pixel values into a plurality of bit planes and an image based on least significant bits, based on pixel locations. The image divider 110 generates n-m bit planes based on the n-m most significant bits, and generates an image based on the m least significant bits. Here, n is a positive integer and m is a positive integer satisfying 0<m<n. The apparatus 100 will be described in detail with reference to
When bit planes are generated by using the 4 most significant bits of the n-bit pixel values of the input image 200 of
In
It is well known in the related art that least significant bits of a pixel value have a higher possibility than upper bits to have random values. Accordingly, an apparatus for encoding and decoding an image according to an embodiment of the present invention uses such features, and encodes the upper bits and the lower bits by using different encoding methods so as to efficiently encode the image. For this, the image divider 110 generates bit planes based on the n-m most significant bits of pixel values and an image based on the m least significant bits of the pixel values.
While generating the image by dividing the pixel values, the image divider 110 may convert the n-bit pixel values through a predetermined preprocess in such a way that the image is suitable for encoding. As the predetermined preprocess, binary columns of the n bit pixel values may be converted to gray codes.
For example, when pixel values of first columns of the input image 200 of
When the binary string of the pixel values are converted to gray codes, the binary columns become “01000000, 01000000, 11000000, 11000000, 11000000, 11000000, 11000000, . . . ”. Accordingly, pixel values of the 4 least significant bits are all “0000”, and thus compression encoding efficiency of an image based on least significant bits increases.
Referring back to
The second encoder 130 encodes the image 400 of
Here, a bypass mode of H.264 may be used for lossless encoding. The bypass mode performs entropy encoding on residual values included in a residual block without performing discrete cosine transform on the residual block. The residual values may be losslessly encoded by setting a quantization parameter (qP) to 0 and encoding the residual values in the bypass mode. The residual values are losslessly encoded by removing a loss generated during the discrete cosine transform and a loss generated during quantization. This will be described in detail with reference to
Referring to
The predictor 510 inter predicts or intra predicts the image 400 based on the m least significant bits in a block unit. While predicting a predetermined block (hereinafter, referred to as a current block) of the image 400, inter prediction is performed by searching for a reference picture by using values of m bits included in the current block, or intra prediction is performed by using pixels included in a previously encoded area adjacent to the current block. The intra prediction will now be described in detail with reference to
H.264 provides 9 intra prediction modes for predicting pixel values in a 4×4 block. The 9 intra prediction modes are a vertical mode, a horizontal mode, a direct current (DC) mode, a diagonal down-left mode, a diagonal down-right mode, a vertical right mode, a vertical left mode, a horizontal-up mode, and a horizontal-down mode. Referring to
Since the vertical mode, the horizontal mode, and the DC mode are mostly used according to statistics while performing intra prediction, the current block may be intra predicted by using one of these three intra prediction modes. When intra prediction modes other than these three are used, additional bits for indicating an intra prediction mode are required, and thus bits are spared by minimizing the number of selectable intra prediction modes.
According to the intra prediction mode illustrated in
For example, a prediction value of a pixel a is determined based on at least one of the pixel values of the pixels A, M, and I. Also, a prediction value of a pixel b is determined based on at least one of the pixel values of the pixels A and B and the prediction value of the pixel a. A prediction value of the pixel f is determined based on at least one of the prediction values of the pixels a, b, and e. Prediction values of other pixels may be set along arrows.
A prediction value of a current pixel may be set based on pixel values or prediction values of pixels that are closest to the current pixel, or may be determined to be an average value of pixel values of pixels.
For example, the prediction value of the pixel a may be predicted based on an average value of the pixel values of the pixels A, M, and I, and the prediction value of the pixel b may be determined based on an average value of the pixel values of the pixels A and B and the prediction value of the pixel a. Also, the prediction value of the pixel f may be determined based on an average value of the prediction values of the pixels a, b, and e.
According to the intra prediction mode illustrated in
For example, a prediction value of a pixel b is predicted based on a pixel value of a pixel B, and a prediction value of a pixel g is determined based on a pixel value of a pixel C. Also, a prediction value of a pixel j is determined based on a pixel K.
Since horizontal distances and vertical distances of pixel values of pixels a, f, k, and p to pixels included in a previously encoded area are the same, prediction values of the pixels a, f, k, and p are determined based on either pixel values of pixels the nearest vertical and horizontal distances from the pixels a, f, k, and p. In
The intra prediction mode illustrated in
According to the intra prediction mode illustrated in
For example, a prediction value of a pixel a is determined based on an average value of pixel values of pixels A and I, and a prediction value of a pixel g is determined based on an average value of pixel values of pixels C and J. Here, prediction values of pixels d, h, l, m, n, and o are predicted in a vertical or horizontal direction without using an average value of other pixels. In other words, the prediction values of the pixels m, n, and o are determined based on a pixel value of a pixel L, and the prediction values of the pixels d, h, and L are determined based on a pixel value of a pixel D. This is because the pixels d, h, and l do not need to refer to the pixel values of the pixels I, J, and K since horizontal distances are too big, and the pixels m, n, and o do not need to refer to the pixel values of the pixels A, B, and C since vertical distances are too big.
The intra prediction mode illustrated in
Prediction values of the diagonal pixels are determined based on an average value of pixel values or prediction values of pixels nearest to a corresponding pixel. A prediction value of the pixel a is determined based on an average value of pixel values of pixels A, M, and I, and a prediction value of the pixel f is determined based on an average value of prediction values of pixels a, b, and e.
Referring back to
Referring back to
By encoding an input image using the apparatus 100 of
Referring to
In operation 820, the apparatus 100 encodes each of the n-m bit planes generated in operation 810 by using a bit plane-based image encoding method. Each of the bit planes is lossless compression encoded according to a JBIG standard.
In operation 830, the apparatus 100 encodes the image based on the m least significant bits generated in operation 810 by using a block-based image encoding method. Prediction encoding is performed by using a conventional block-based image encoding method, such as H.264. The image is predicted in block units via inter prediction or intra prediction, and residual blocks are entropy encoded. Here, as described above, intra prediction may be performed in block units based on one of the intra prediction methods illustrated in
Referring to
The demultiplexer 910 receives a bitstream for an output image including n-bit pixel values, and demultiplexes the received bitstream into a bitstream for n-m bit planes based on the n-m most significant bits, and a bitstream for an image based on the m least significant bits.
The first decoder 920 receives the bitstream for the n-m bit planes from the demultiplexer 910, and restores the n-m bit planes by decoding the received bitstream. The first decoder 920 corresponds to the first encoder 120 of
The second decoder 930 receives the bitstream for the image based on the m least significant bits from the demultiplexer 910, and decodes the received bitstream by using a block-based image decoding method, such as H.264. As a result of decoding the received bitstream, residual values of the image based on the m least significant bits are restored. The second decoder 930 corresponds to the second encoder 130 of
Referring to
The entropy decoder 1010 receives the bitstream for the image based on the m least significant bits, and entropy decodes the received bitstream. Entropy decoding is performed via CABAC or CAVLC and thus a residual block included in the image is restored.
The predictor 1020 generates a prediction block by predicting a current block via inter prediction or intra prediction. The prediction block of the current block is generated by using any one of the intra prediction modes illustrated in
Referring back to
Referring to
The apparatus 900 decodes an image based on the m least significant bits by using a block-based image decoding method such as H.264 in operation 1120. The image is restored by prediction decoding a received bitstream by using the block-based image decoding method. Residual blocks are restored by entropy decoding a bitstream for the image. Then, prediction blocks of blocks included in the image are generated by using any one of the intra prediction modes illustrated in
In operation 1130, the apparatus 900 generates an output image including n-bit pixel values, based on the n-m bit planes generated in operation 1110 and the image generated in operation 1120. In operation 1130, processes of dividing an image described with reference to
The invention can also be embodied as computer readable codes on a computer readable recording medium. The computer readable recording medium is any data storage device that can store data which can be thereafter read by a computer system. Examples of the computer readable recording medium include read-only memory (ROM), random-access memory (RAM), CD-ROMs, magnetic tapes, floppy disks, and optical data storage devices. In other exemplary embodiments, the computer readable recording medium may include carrier waves (such as data transmission through the Internet). The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion, in yet other exemplary embodiments.
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present invention as defined by the following claims.
Number | Date | Country | Kind |
---|---|---|---|
10-2008-0086286 | Sep 2008 | KR | national |
This application claims the benefit of U.S. Provisional Application No. 61/129,532, filed on Jul. 2, 2008, in the U.S. Patent and Trademark Office, and Korean Patent Application No. 10-2008-0086286, filed on Sep. 2, 2008, in the Korean Intellectual Property Office, the disclosures of which are incorporated herein in their entirety by reference.
Number | Name | Date | Kind |
---|---|---|---|
5768426 | Rhoads | Jun 1998 | A |
6785425 | Feder et al. | Aug 2004 | B1 |
20020084921 | Chen et al. | Jul 2002 | A1 |
20040183703 | Kim et al. | Sep 2004 | A1 |
20090279797 | Choi et al. | Nov 2009 | A1 |
20090285497 | Choi et al. | Nov 2009 | A1 |
Number | Date | Country |
---|---|---|
10-2009-0117325 | Nov 2009 | KR |
10-2009-0119435 | Nov 2009 | KR |
Number | Date | Country | |
---|---|---|---|
20100002943 A1 | Jan 2010 | US |
Number | Date | Country | |
---|---|---|---|
61129532 | Jul 2008 | US |