US 20040190610 A1 Abstract A method of encoding moving pictures using a plurality of quantization matrices. The method involves selecting one of the plurality of quantization matrices in consideration of an at least one characteristics of an input image; transforming the input image; and quantizing the transformed input image using the selected quantization matrix.
Claims(27) 1. A method of encoding moving pictures using a plurality of quantization matrices, the method comprising:
selecting one of the plurality of quantization matrices in consideration of at least one characteristic of an input image; transforming the input image; and quantizing the transformed input image using the selected quantization matrix. 2. The method of 3. The method of 4. The method of 5. The method of 6. The method of 7. The method of selecting one of the plurality of quantization matrices for each of macroblocks of the input image in consideration of the at least one characteristic of the input image and generating an index information for the selected quantization matrix for each of macroblocks; and outputting the selected quantization matrix for each of macroblocks according to the generated index information. 8. The method of carrying out a variable length decoding on the quantized input image by inserting the index information of the selected quantization matrix into a macroblock header.
9. The method of 10. The method of 11. A method of decoding moving pictures using a plurality of quantization matrices, the method comprising:
performing a variable length decoding on an encoded image data; extracting an index information that specifies one of the plurality of quantization matrices, classified according to at least one characteristic of an input image, from the variable-length-decoded image data; selecting one of the plurality of quantization matrices based on the extracted index information; and inversely quantizing each of macroblocks of the variable-length-decoded image data using the selected quantization matrix. 12. The method of 13. The method of 14. The method of 15. The method of 16. An apparatus for encoding moving pictures using a plurality of quantization matrices, the apparatus comprising:
a quantization matrix determination unit to select one of the plurality of quantization matrices for each of macroblocks in consideration of at least one characteristic of an input image and generates index information indicating the selected quantization matrix for each of macroblocks; a quantization matrix storage unit to store the plurality of quantization matrices, which are classified according to the characteristics of the input image, and outputs a quantization matrix for each of macroblocks according to the index information generated by the quantization matrix determination unit; an image transformation unit to transform the input image; and a quantization unit to quantize the transformed input image using the selected quantization matrix. 17. The apparatus of 18. The apparatus of 19. The apparatus of 20. The apparatus of 21. The apparatus of 22. The apparatus of 23. An apparatus for decoding moving pictures using a plurality of quantization matrices, the apparatus comprising:
a variable length decoding unit to receive an encoded image stream, to perform variable length decoding on the input image stream, and to extract index information that specifies one of the plurality of quantization matrices, which are classified according to an at least one characteristics of an input image, from each of macroblocks of a variable-length-decoded image stream; a quantization matrix storage unit to store the plurality of quantization matrices, to select one of the plurality of quantization matrices based on the extracted index information, and to output the selected quantization matrix; and an inverse quantization unit to inversely quantizes each of macroblocks of the variable-length-decoded image stream using the quantization matrix output from the quantization matrix storage unit. 24. The apparatus of 25. The apparatus of 26. The apparatus of 27. The apparatus of Description [0001] This application claims the priority of Korean Patent Application No. 2003-2371, filed on Jan. 14, 2003, in the Korean Intellectual Property Office, the disclosure of which is incorporated herein by reference. [0002] 1. Field of the Invention [0003] The present invention relates to a method and apparatus for encoding and/or decoding moving pictures, and more particularly, to a method and an apparatus for encoding and/or decoding moving pictures which are capable of enhancing the efficiency of encoding moving pictures by adaptively selecting a quantization matrix in consideration of the characteristics of images input into a moving picture encoder. [0004] 2. Description of the Related Art [0005]FIG. 1 is a block diagram of an encoding unit [0006] In order to provide a video-on-demand (VOD) service or to enable a moving picture communication, the encoding unit [0007] A discrete cosine transform (DCT) unit [0008] An inverse quantization unit (IQ) [0009] A motion estimation and compensation unit (ME/MC) [0010] A variable length coding unit (VLC) [0011] A bitstream encoded by the encoding unit [0012] U.S. Pat. No. [0013] A set-top box, which receives an analog terrestrial broadcast program and then encodes and stores the received program by using a data compression method such as MPEG2 or MPEG4, has recently been developed. However, in the case of a terrestrial broadcast, images arriving at a receiving terminal may be distorted due to channel noise. For example, an image may look as if white Gaussian noise were added thereto. If the image is compressed as it is, the efficiency of compressing the image may be very low due to the influence of the white Gaussian noise. [0014] Therefore, in order to get rid of noise in a conventional method of encoding moving pictures, a pretreatment filter is provided at an input port of an encoder. However, in the case of using the pretreatment filter, an additional calculation process for encoding moving pictures is needed. [0015] In addition, in such a conventional method of encoding moving pictures, a quantization matrix is determined irrespective of the characteristics of an input image, and quantization is carried out on the input image by applying the quantization matrix to the input image on a picture-by-picture basis, in which case the efficiency of encoding the inputted image is low. [0016] The present invention provides a method and an apparatus for encoding and/or decoding moving pictures, which are capable of improving the efficiency and performance of compressing moving pictures. [0017] The present invention also provides a method and an apparatus for encoding and/or decoding moving pictures, which are capable of removing noise without increasing the number of calculations performed. [0018] According to an aspect of the present invention, there is provided a method of encoding moving pictures using a plurality of quantization matrices. The method involves (a) selecting one of the plurality of quantization matrices in consideration of characteristics of an input image; (b) transforming the input image; and (c) quantizing the transformed input image using the selected quantization matrix. [0019] According to another aspect of the present invention, there is provided a method of decoding moving pictures using a plurality of quantization matrices. The method involves (a) carrying out variable length decoding on encoded image data; (b) extracting index information that specifies one of the plurality of quantization matrices, classified according to characteristics of an input image, from the variable-length-decoded image data; (c) selecting one of the plurality of quantization matrices based on the extracted index information; and (d) inversely quantizing each macroblock of the variable-length-decoded image data using the selected quantization matrix. [0020] According to another aspect of the present invention, there is provided an apparatus for encoding moving pictures using a plurality of quantization matrices. The apparatus includes a quantization matrix determination unit that selects one of the plurality of quantization matrices for each macroblock in consideration of characteristics of an input image and generates index information indicating the selected quantization matrix for each macro block; a quantization matrix storage unit that stores a plurality of quantization matrices, which are classified according to the characteristics of the input image and outputs a quantization matrix for each macroblock according to the index information generated by the quantization matrix determination unit; an image transformation unit that transforms the input image; and a quantization unit that quantizes the transformed input image using the selected quantization matrix. [0021] According to another aspect of the present invention, there is provided an apparatus for decoding moving pictures using a plurality of quantization matrices. The apparatus includes a variable length decoding unit that receives an encoded image stream, carries out variable length decoding on the input image stream, and extracts index information that specifies one of the plurality of quantization matrices, which are classified according to characteristics of an input image, from each macroblock of the variable-length-decoded image stream; a quantization matrix storage unit that stores the plurality of quantization matrices, selects one of the plurality of quantization matrices based on the extracted index information, and outputs the selected quantization matrix; and an inverse quantization unit that inversely quantizes each macroblock of the variable-length-decoded image stream using the quantization matrix output from the quantization matrix storage unit. [0022] Additional aspects and/or advantages of the 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. [0023] These and/or other aspects and advantages of the invention will become apparent and appreciated from the following description of the embodiments taken in the attached drawings in which: [0024]FIG. 1 is a block diagram of a conventional MPEG encoder and a conventional MPEG decoder; [0025]FIG. 2 is a block diagram of an approximated generalized Wiener filter processing an image whose average is not 0; [0026]FIG. 3 is a block diagram of an approximated generalized Wiener filter processing an image whose average is not 0 in a DCT block; [0027]FIGS. 4A through 4C are block diagrams of different types of approximated generalized Wiener filters used for intra-block encoding; [0028]FIG. 5 is a block diagram of a typical video encoder used for inter-block encoding; [0029]FIG. 6 is a block diagram of an apparatus for encoding moving pictures according to an embodiment of the present invention; [0030]FIG. 7 is a block diagram of an apparatus for encoding moving pictures according to an embodiment of the present invention; and [0031]FIG. 8 is a block diagram of an apparatus for decoding moving pictures according to an embodiment of the present invention. [0032] Reference will now be made in detail to the 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 to explain the present invention by referring to the figures. [0033] When it comes to encoding moving pictures, pre-treatment filtering is very important because it can increase the efficiency of encoding the moving pictures by removing noise from images. While a conventional pre-treatment filtering technique for removing noise from images is generally carried out in a spatial pixel block, in the present invention, a noise removal technique is carried out in a DCT block in an apparatus for encoding moving pictures. [0034] In the present invention, an approximated generalized Weiner filtering method is used for removing noise from images. In the approximated generalized Weiner filtering method, Weiner filtering is realized by taking advantage of fast unitary transformation, such as a discrete cosine transform (DCT). However, a filtering method other than the approximated generalized Weiner filtering method may be selectively used for carrying out filtering in a DCT block. [0035]FIG. 2 is a block diagram of an approximated generalized Weiner filter processing image data whose average is not 0. [0036] In FIG. 2, v represents an image block containing noise, and z, [0037] A value z, output from the subtraction unit [0038] Hereinafter, an approximated generalized Weiner filtering method for processing an image model whose average is 0 will be described in greater detail. [0039] The approximated generalized Weiner filtering method for processing an image model whose average is 0 can be expressed by Equation (1) below. z, [0040] In Equation (1), {tilde over (L)}=AL A* [0041] Since, in most cases, {tilde over (L)} is approximately diagonalized in a unitary transformation, Equation (1) can be rearranged into Equation (2) below. [0042] In Equation (2), Ŷ={tilde over (L)}Z≈[Diag{tilde over (L)}]Z. [0043] Therefore, by applying Equation (2) to an 8×8 block, Equation (3) below can be obtained. z, [0044] [0045] In Equation (4), Ψ(k, l) represents normalized elements placed along a diagonal line of AL A* [0046] As shown in Equation (3), approximated generalized Weiner filtering is carried out on an image block whose average is 0 by multiplying a two-dimensional DCT coefficient Z(k, l) by {tilde over (p)}(k, l). Once z, [0047] Hereinafter, an approximated generalized Weiner filtering method for processing an image model whose average is not 0 will be described in greater detail. [0048] Let us assume that an average block is obtained by multiplying an input DCT block containing noise by S(k, l), i.e., the average block satisfied in Equation (5) below. Then, the approximated generalized Weiner filter method of FIG. 3, which carries out addition and subtraction in the DCT block, can be restructured into an approximated generalized Weiner filter of FIGS. 4A, 4B, or z, [0049] By using Equations (3) and (5), an image block filtered in the DCT block can be represented by Equation (6) below. z, [0050] F(k, l) in Equation (6) can be expressed by Equation (7) below.
[0051] As shown in Equation (6), the entire filtering process can be simplified into a multiplication of F(k, l). Equation (7) shows that F(k, l) is determined by a signal-to-noise ratio (SNR), a covariance matrix, and an average matrix. [0052] In order to determine F(k, l), it is necessary to obtain an average matrix S(k, l). In the present embodiment, among possible candidates for the average matrix S(k, l), the one that is satisfied in Equation (5) is selected. The average matrix S(k, l) can be represented by Equation (8) below. Equation (8) illustrates one of the simplest forms that the average matrix S(k, l) could take in the DCT block.
[0053] Hereinafter, a pretreatment process performed in an apparatus for encoding moving pictures will be described in greater detail with reference to FIGS. 4 and 5. [0054] As described above, an approximated generalized Weiner filtering process can be carried out on an image block whose average is not 0 by multiplying the image block with a DCT value. [0055]FIGS. 4A through 4C are block diagrams of different types of approximated generalized Weiner filters in an apparatus for encoding moving pictures. More specifically, FIGS. 4A through 4C illustrate the structure of an encoding apparatus that processes an intra block. FIGS. 4A and 4B describe that an intra block is encoded by carrying out filtering on the intra block in a DCT block and carrying out quantization and variable length coding (VLC) on the filtered intra block without performing an inverse DCT on the filtered intra block. In other words, FIGS. 4A and 4B describe that filtering is completed by multiplying the DCT coefficient by F(k, l). In the meantime, quantization is carried out by multiplying or dividing the DCT coefficient by a certain value with reference to a quantization table. The filtering carried out by multiplying the DCT coefficient by F(k, l) and the quantization carried out by multiplying the DCT coefficient by a certain value can be integrated into a single operation, as described in FIG. 4C. [0056] As described in FIG. 5, the concepts of the present invention, described in FIGS. 4A through 4C, can be directly applied to an occasion when an apparatus for encoding moving pictures processes an inter block, as long as the noise has been removed from the motion-compensated block information p(m, n). [0057] A covariance value Ψ(k, l) is determined depending on whether an input image block is an inter block or an intra block. Therefore, F(k, l) of FIG. 5 may be varied depending on whether the input image block is an inter block or an intra block. [0058] Hereinafter, a method of obtaining an estimated variance value of intra blocks or inter blocks, from each of which their average is subtracted, will be described in detail with reference to Equation (9) below. Supposing that S represents an N×N (where N=8) block from which an average of the corresponding block has already been subtracted, a variance matrix of the N×N block can be obtained using Equation (9).
[0059] Equation (9) has been disclosed by W. Niehsen and M. Brunig in “Covariance Analysis of Motion-compensated Frame Differences”, IEEE Trans. Circ. Syst. for Video Technol., June 1999. [0060] An estimated variance value can be obtained by applying Equation (9) to a variety of experimental images. Where an original image block is an intra block, an original image is divided into 8×8 blocks, and then a variance value of each of the 8×8 blocks is calculated. On the other hand, where the original image block is an inter block, an estimated variance value is calculated by applying Equation (9) above to each image block that is determined as an inter block . [0061] By using the estimated covariance value, the following equation is obtained: R=E[y y [0062] Hereinafter, a method of calculating
[0063] of Equation (7) will be described. [0064] In Equation (7), the noise variance value σ z, [0065] In Equation (10), σ [0066]FIG. 6 is a block diagram of an apparatus for encoding moving pictures according to an embodiment of the present invention that encodes an input image in consideration of the characteristics of the input image. [0067] In the present embodiment a level of noise contained in the input image is adaptively reflected in a quantization matrix. [0068] Hereinafter, the structure and operation of the apparatus for encoding moving pictures according to a preferred embodiment of the present invention will be described in detail with reference to FIGS. 1 through 6. [0069] The apparatus of FIG. 6 includes a discrete cosine transfer unit [0070] Since the DCT unit [0071] The quantization weight matrix determination unit [0072] Hereinafter, a method of determining a quantization weight matrix corresponding to the predetermined macroblock based on σ [0073] As described above with reference to Equation (8) and FIGS. 4 and 5, F(k, l) is determined by Equation (7). Once F(k, l) is determined, the DCT coefficient V(k, l) of an 8×8 block is multiplied by F(k, l), and the result of the multiplication z, [0074] The apparatus of FIG. 6 integrates the process of multiplying F(k, l) by the DCT coefficient V(k, l) and the process of dividing z, [0075] In the present embodiment, by integrating the two separate processes into a single process, a plurality of F matrices obtained using σ [0076] In addition, in the present embodiment, five new quantization weight matrices obtained using σ [0077] can be calculated using Equation (10). [0078] As shown in Equation (7), F(k, l) is determined by S(k, l), Ψ(k, l), and
[0079] S(k, l) is calculated using Equation (8), and Ψ(k, l) is variably set depending on whether or not an input image is an inter block or an intra block. Therefore, there is only one variable left for determining F(k, l), i.e.,
[0080] In the present embodiments, five different estimates of
[0081] and their respective quantization weight matrices QT′ are provided. The provided quantization weight matrices QT′ are stored in the quantization weight matrix storage unit [0082] The quantization weight matrix determination unit [0083] based on σ [0084] For example, if quantization weight matrices stored in the quantization weight matrix storage unit [0085] the quantization of
[0086] is carried out in five levels, and the index information of each of the five quantization weight matrices is set to 0,1, 2, 3, or 4. [0087] In an image with a lot of noise, the
[0088] especially for blocks having a small variance value, is very large. When
[0089] is very large, F(k, l) approaches 0, resulting in a severe blocking phenomenon. In order to prevent the blocking phenomenon, T [0090] In general, T [0091] The quantization weight matrix storage unit [0092] The quantization unit [0093] The inverse quantization unit [0094] The VLC unit [0095] In the present embodiment, the index information of the corresponding quantization weight matrix is inserted into the macroblock header and the macroblock header is transmitted. If there are ten quantization weight matrices stored in the quantization weight matrix storage unit [0096] Adjacent macroblocks are supposed to have similar image characteristics and there is supposedly a correlation among their index values. Therefore, a difference between an index value of one macroblock and an index value of an adjacent macroblock may be used as index information. The amount of index information to be transmitted can be considerably reduced in cases where a single quantization weight matrix is applied to an entire sequence. [0097] In the present embodiment, a plurality of quantization weight matrices stored in the quantization weight matrix storage unit [0098] As described above, it is possible to remove noise from an input image and enhance the efficiency of encoding the input image by adaptively applying a quantization matrix to each macroblock in consideration of a level of noise contained in the input image. [0099] It is also possible for a user to arbitrarily determine quantization weight matrices. In the present embodiment, noise removal has been described as being performed on a Y component of an input image block in a DCT block. However, the noise removal can also be applied to a U or V component of the input image block, in which case additional quantization weight matrices are required exclusively for the U and V components of the input image block. [0100]FIG. 7 is a block diagram of an apparatus for encoding moving pictures according to another preferred embodiment of the present invention that encodes an input image in consideration of the characteristics of the input image. [0101] More specifically, among various characteristics of an input image, the edge characteristics of each macroblock of the input image are taken into consideration in the present embodiment. [0102] Referring to FIG. 7, an apparatus for encoding moving pictures according to another preferred embodiment of the present invention includes a DCT unit [0103] The quantization matrix determination unit [0104] The quantization matrix determination unit [0105] Hereinafter, a method of selecting a quantization matrix in consideration of the edge characteristics of a macro block will be described in detail. [0106] In a case where a predetermined macroblock of an input image is an intra block, the size and direction of an edge in each pixel of the predetermined macroblock are computed using such an edge detector as a sobel operator. The sobel operation can be represented by Equation (12).
[0107] The quantization matrix determination unit [0108] In a case where the predetermined macroblock is an inter block, the intensity and direction of an edge included in the predetermined macroblock can also be obtained using such an edge detector as a sobel operator. [0109] In the present embodiment, a sobel detector is used for computing the intensity and direction of an edge included in the predetermined macroblock. However, a spatial filter, such as a differential filter or a Robert's filter, can also be used for computing the intensity and direction of the edge included in the predetermined macroblock. [0110] In addition, in the present embodiment, a quantization matrix is selected in consideration of the edge characteristics of the predetermined macroblock. However, other characteristics of the predetermined macroblock that can affect encoding efficiency or the quality of an output image can be taken into consideration in adaptively selecting an optimal quantization matrix for the predetermined macroblock. [0111] The quantization matrix storage unit [0112] The quantization unit [0113] The inverse quantization unit [0114] The VLC unit [0115] In the present embodiment, index information of a quantization weight matrix corresponding to a predetermined macroblock is inserted into a header of the predetermined macroblock and then transmitted. A difference between an index value of one macroblock and an index value of an adjacent macroblock may be used as index information. [0116] In the present embodiment, a plurality of quantization weight matrices stored in the quantization matrix storage unit [0117]FIG. 8 is a block diagram of an apparatus for decoding moving pictures according to an embodiment of the present invention. Referring to FIG. 8, the apparatus includes a variable length decoding unit [0118] The variable length decoding unit [0119] The quantization weight matrix storage unit [0120] The plurality of quantization weight matrices stored in the quantization weight matrix storage unit [0121] The present invention can be applied to different types of methods and apparatuses for encoding and/or decoding moving pictures, such as MPEG-1, MPEG-2, or MPEG-4. In addition, the present invention can be realized as computer-readable codes written on a computer-readable recording medium. The computer-readable recording medium includes any type of recording device on which data can be written in a computer-readable manner. For example, the computer-readable recording medium includes ROM, RAM, CD-ROM, a magnetic tape, a hard disk, a floppy disk, flash memory, an optical data storage, and a carrier wave (such as data transmission through the Internet). In addition, the computer-readable recording medium can be distributed over a plurality of computer systems which are connected to one another in a network sort of way so that computer-readable codes are stored on the computer-readable recording medium in a decentralized manner. [0122] As described above, the methods of encoding and/or decoding moving pictures according to the embodiments of present invention, a quantization matrix is adaptively applied to each macroblock of an input image in consideration of the characteristics of the input image. Thus, it is possible to enhance the efficiency and performance of encoding the input image. [0123] Although a few embodiments of the present invention have been shown and described, it would be appreciated by those skilled in the art that changes may be made in this embodiment without departing from the principles and spirit of the invention, the scope of which is defined in the claims and their equivalents. Referenced by
Classifications
Legal Events
Rotate |