Quantization matrix for still and moving picture coding
Abstract
A transmission method for transmitting coefficients representing image data, including the transmission method: transmit encoded quantified coefficients (DV) obtained by encoding quantified coefficients (COF) that are obtained by quantifying said coefficients using a complete quantization matrix (38); and transmitting an encoded quantization matrix obtained by encoding a truncated quantization matrix, where the truncated quantification matrix is generated by truncating said complete quantization matrix (38) having a plurality of quantification elements.

Term
Term ended
Projected expiry passed 5 February 2018, 8.6 years ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
3 claims: 1 independent, 2 dependent
- 1ES 2 328 802 T3 REIVINDICACIONES 1. Un método de transmisión para transmitir coeficientes que representan datos de imagen, incluyendo el método de transmisión:transmitir coeficientes cuantificados codificados (VD) obtenidos codificando coeficientes cuantificados (COF) que se obtienen cuantificando dichos coeficientes usando una matriz de cuantificación completa (38);y transmitir una matriz de cuantificación codificada obtenida codificando una matriz de cuantificación truncada, donde la matriz de cuantificación truncada se genera truncando dicha matriz de cuantificación completa (38) que tiene una pluralidad de elementos de cuantificación.
- 2Un método de transmisión según la reivindicación 1, donde la matriz de cuantificación codificada tiene bits alineados en el orden de bits obtenidos codificando los elementos de cuantificación incluidos en la matriz de cuantificación truncada y bits obtenidos codificando un código de fin.
- 3El método de transmisión según la reivindicación 2, donde el código de fin es un valor “0”.
Independent claims3
77 paragraphs in 4 sections, as filed
ES 2 328 802 T3
DESCRIPTION
Quantization matrix for encoding still and moving images.
Technical field
This invention is especially useful in encoding still and moving images at very high compression. It is suitable for use in video conferencing applications over standard telephone lines as well as other applications that require high compression.
Background of the invention
In most compression algorithms some form of loss is expected in the decoded image. A typical method for compression that produces good results is to introduce this loss by quantizing the signal in the transform domain rather than the pixel domain. Examples of such transforms are the Discrete Cosine Transform, DCT, the small wave transform, and subband analysis filters. In a transform-based compression algorithm, the image is converted into the transform domain and a quantization scheme is applied to the coefficients to reduce the amount of information. The transformation has the effect of concentrating the energy in a few coefficients and noise can be introduced into these coefficients without affecting the perceived visual quality of the reconstructed image.
It is known that some form of human perception system with different weighting in quantization at different coefficients can improve perceived visual quality. In coding standards such as ISO / IEC JTC1 / SC29 / WG11 IS-13818-2 (MPEG2), the quantization of the DCT coefficients is weighted by the quantization matrix. A default matrix is normally used; however, the encoder may choose to send new values of the quantization matrix to the decoder. This is done by signaling at the head of the bit stream.
The prior art on sending a quantization matrix based on the MPEG-2 video standard is to send 64 fixed values of 8 bits each if the bit signaling to use a special quantization matrix is set to "1".
The matrix values at the highest frequency band position are not actually used, especially for very low bit rate encoding where a large quantization step is employed, or for a very simple or well textured input block. motion compensation.
It has also been found that, in the stated prior art, for any quantization matrix used in different applications, the first value of the quantization matrix is always set to eight, regardless of whether it is low bit rate encoding or low bit rate encoding. high bit rate.
One problem with this method is the amount of information that must be sent as part of the quantization matrix. In a typical case, all 64 coefficients each of 8 bits are required. This represents a total of 512 bits. If three different quantization matrices are required for three bands of color information, the total bits will be three times that amount. This represents too many resources for low bit rate transmissions. It results in too long setup time or latency in transmissions if you change the matrix in the middle of the transmission.
The second problem to solve is the spatial masking of the human visual system. Noise in flat regions is more visible than noise in textured regions. Therefore, applying the same matrix to all regions is not a good solution since the matrix is globally optimized but not locally adjusted to the activity of the local region.
The third problem to solve is the bit saving of the variable quantization matrix value for DC. The first value in the quantization matrix is decreased for a higher bit rate and flat region and increased for a lower bit rate and textured region.
US-A-5535138 describes a coding and decoding method for video signals using dynamically generated quantization matrices.
To solve the above problem in order to reduce transmission data, according to the present invention, a transmission method for transmitting coefficients representing image data is provided, including the transmission method:
transmitting encoded quantized coefficients (VD) obtained by encoding quantized coefficients (COF) that are obtained by quantizing said coefficients using a complete quantization matrix; and transmitting an encoded quantization matrix obtained by encoding a truncated quantization matrix, wherein the truncated quantization matrix is generated by truncating said complete quantization matrix having a plurality of quantization elements.
ES 2 328 802 T3
Brief description of the drawings
Figure 1A shows a diagram of an example of a default quantization matrix.
Figure 1B shows a diagram of an example of a particular quantization matrix.
Figure 2A shows a truncated quantization matrix according to the present invention.
Figure 2B shows a diagram of another example of a particular quantization matrix.
Figure 3 shows a diagram of an example quantization matrix synthesized according to the present invention.
Figure 4 is a block diagram of an encoder according to the present invention.
Figure 5 is a block diagram of a decoder according to the present invention.
Figure 6 is a block diagram representing one of the ways of encoding the truncated quantization matrix.
Figure 7 shows a diagram of an example of a scale truncated quantization matrix, which is used to scale the value for DC only.
Figure 8 is a flow chart depicting the scaling procedure for DC coefficient in a truncated quantization matrix.
Figure 9 is a block diagram of a decoder for decoding the scaled truncated quantization matrix.
Best Mode of Carrying Out the Invention
The current realization is divided into two parts. The first part of the embodiment describes the truncated quantization matrix. The second part of the embodiment describes the operation of the adaptive quantization step size scale. Although the embodiment describes the operations as a unit, both methods can be applied independently to achieve the desired result.
Figure 1A shows an example of a default quantization matrix for intra-Luminance (Intra-Y) raster coding, and Figure 1B shows an example of a particular quantization matrix that quantizes high-frequency coefficients more coarsely.
Figure 2A is an example of the truncated quantization matrix proposed by the present invention. The key to this embodiment is that the number of values in the quantization matrix to be transmitted can be less than 64. This is especially useful especially for very low bit rate encoding, where only the first 2 or 3 values are required.
Figure 4 shows an encoder, according to the present invention, using the quantization matrix for the still and moving images. The encoder includes a DCT converter 32, a quantizer 34, and a variable length encoding unit 49. A QP generator 36 for generating quantization parameters after providing, for example, each macroblock. The quantization parameter can be calculated using a predetermined equation after each macroblock, or can be selected from a look-up table. The obtained quantization parameters are applied to the quantizer 34 and also to a decoder which will be described in detail later in connection with FIG. 5.
In Figure 4, the encoder further has a particular QM generator 38 for generating particular quantization elements aligned in a matrix format. The particular quantization elements in the matrix are generated after each video object layer (VOL) consisting of a plurality of layers. Examples of particular quantization elements in matrix QM are shown in Figure 1B and Figure 2B. In case video data is sent with less amount of data (such as when the bit rate is low, or when the image is simple), the particular quantization elements shown in Figure 1B are used where large amount of quantization elements, such as 200, in the high frequency region. The particular quantization elements can be obtained by calculation or by using a suitable look-up table. A selector 37 is provided to select parameters used in the calculation, or suitable quantization elements in the matrix of the look-up table. The selector 37 can be operated manually by the user or automatically based on the type of the image (real image or graphic image) or the quality of the image.
The particular quantization elements in QM matrix are applied to a truncator 40. The truncator 40 reads the particular quantization elements in QM matrix in a zigzag format, controlled by a zigzag scan 48, from a DC component to higher frequency components. high, represented by dashed lines in Figure 2A. When the truncator 40 reads a preset number of particular quantization items in the
ES 2 328 802 T3 matrix, another zigzag read of the QM matrix of block 38 is completed. Then, an end code, such as a zero, is added by an end code adder to the end of the preset number of elements of the particular quantification. The preset number is determined by a setting unit 39 operated manually by a user or automatically in relation to the type or quality of the image. According to an example shown in Figure 2A, the preset number is thirteen. Thus, there will be thirteen particular quantization elements read before the completion of the zigzag read. These read quantization elements are called quantization elements in the front portion, since they are in the front portion of the zigzag reading of the particular quantization elements in the QM matrix. The quantization elements in the anterior portion are sent to a synthesized QM generator 44, and the same quantization elements plus the end code are sent to a decoder shown in Figure 5. A series of these quantization elements in the anterior portion followed by the end code is called a simplified data QMt.
A default QM generator 46 is provided to store matrix-aligned default quantization elements, as depicted in FIG. 1A. These default quantization items are also read in the zigzag fashion by the zigzag scan control 48.
A synthesized QM generator 44 is provided to generate synthesized quantization elements in a matrix form. In the synthesized QM generator 44, the particular quantization elements in the anterior portion obtained from the truncator 40, and the default quantization elements in a posterior portion (a portion other than the anterior portion) of the default QM generator 46 are synthesized. Thus, the synthesized QM generator 44 uses the particular quantization elements in the previous portion and the default quantization elements in this last portion to synthesize the matrix-synthesized quantization elements.
Figure 3 shows an example of matrix synthesized quantization elements in which the front portion F is filled with the particular quantization elements and this last portion L is filled with the default quantization values.
In the quantizer 34, the matrix format DCT COF coefficients are quantized using the matrix synthesized quantization elements of the synthesized QM generator 44, and the QP quantization parameter of the QP generator 36. Then, the quantizer 34 generates COF quantized DCT coefficients 'in array format. The coefficients COFij and COF'ij (i and j are positive integers between 1 and 8, inclusive) have the following relationship.
COFyVZ
COF<sub>V</sub>
QM<sub>tJ</sub>* QP
Here, QMij represents matrix quantization elements produced by the synthesized QM generator 44, QP represents a quantization parameter produced by the QP generator 36. The quantized DCT coefficients COF 'are also then encoded in the variable-length coding unit 49, and the VD compressed video data is sent from unit 49 and applied to the decoder shown in FIG. 5.
Figure 5 shows a decoder, according to the present invention, using the quantization matrix for the still and moving images. The decoder includes a variable length decoder unit 50, an inverse quantizer 52, an inverse DCT converter 62, an end code detector 56, a synthesized QM generator 54, a default QM generator 58, and a zigzag scan 60.
The default QM generator 58 stores a default quantization matrix, as depicted in FIG. 1A. It is noted that the default quantization matrix stored in the default QM generator 58 is the same as that stored in the default QM generator 46 shown in FIG. 4. Synthesized QM generator 54 and zigzag scan 60 are substantially the same as synthesized QM generator 44 and zigzag scan 48, respectively, depicted in FIG. 4.
The VD video data transmitted from the encoder of Figure 4 is applied to the variable length decoder unit 50. Similarly, the quantized parameter QP is applied to the inverse quantizer 52, and the simplified data QMt is applied to the end code detector. 56.
As described above, the simplified data QMt includes a particular quantization element in the front portion of the matrix. The particular quantization elements are zigzag scanned by zigzag scan 60 and stored in the anterior portion of the synthesized QM generator 54. Then, when the end code is detected by the end code detector 56, it terminates the supply of the particular quantization items from the end code detector 56, and in turn, the default quantization items from the default QM generator. 58 zigzag scanned in this last portion of the synthesized QM generator 54.
Thus, the synthesized quantization matrix generated in the synthesized QM generator 54 in FIG. 5 is the same as the synthesized quantization matrix generated in the synthesized QM generator 44 in FIG. 4. Since the
ES 2 328 802 T3 synthesized quantization matrix can be reproduced using the simplified data QMt, it is possible to reproduce the high quality image with less data to be transmitted from the encoder to the decoder.
Figure 6 shows one of the ways of encoding and transmitting the truncated quantization matrix.
Here, unit 1 is the truncated quantization matrix determined in unit 2 by checking for different encoding bit rates, different encoding image size, etc. x1, x2, x3, ..., in unit 1 are the non-zero quantization matrix values used to quantize a block of 8x8 DCT coefficients in the same position as x1, x2, x3, ... Other parts of the quantization matrix with zero values in unit 1 means that the default value of the quantization matrix will be used. In the encoder, the same part of DCT coefficients of an 8x8 block will be set to zero.
Unit 3 will explore the non-zero values in Unit 1 to a group of data with a larger value concentrated in the first part of the group. Zigzag scanning is shown here as an example.
Unit 4 shows the optional part to encode the scanned data by subtracting contiguous values to obtain the smallest difference values, Ax1, Ax2, ..., as represented in figure 6, can be followed by Huffman encoding or other methods of entropy encoding.
At the same time, the number of non-zero quantization matrix values is also encoded and transmitted to the decoder, along with the non-zero values. There are different ways to encode this information. The simplest method is to encode the number using fixed 8 bits. Another method is to encode the number using a variable length table designed to use fewer bits to handle the most frequent cases.
Alternatively, instead of encoding and transmitting the number of non-zero quantization matrix values, as depicted in Figure 6, after encoding the last non-zero value, xN, or the last difference value, AxN (N = 1 , 2, 3, ...), a specific symbol is inserted into the bit stream to indicate completion of the non-zero quantization matrix encoding. This specific symbol can be a value that is not used in non-zero value encoding such as zero or a negative value.
Figure 7 is the truncated quantization matrix with scale factor S as weighting for DC only. This scale factor is regulated based on the activity of the individual block. Activity information can be obtained by checking the number of AC coefficients remaining after quantization. x1, x2, x3, ..., x9 are the non-zero values in the truncated quantization matrix to use to quantize the block of 8x8 DCT coefficients, and S is the weight to scale up / down the first value to regulate the quantizer for the DC coefficient.
Figure 8 shows the details about the scaling procedure for the first value in the quantization matrix.
Unit 5 quantizes each 8x8 block by first applying the truncated quantization matrix, followed by the quantization step required at that time for that block. Unit 6 checks the number of AC coefficients remaining after the previous quantization, proceeding to unit 7 to decide whether the weight S in Figure 7 is scaled up or down. If more AC coefficients remain after quantization performed in unit 5, the weight S can be scaled up, represented in unit 8; otherwise it scales down, represented in unit 9. Unit 10 scales the S-weight to regulate the first value in the quantization matrix, and unit 11 re-quantifies the DC coefficient using the new value adjusted for block A and sends all DC and AC coefficients to the decoder.
The scale up and down can be some chosen value related to the present quantization step or a fixed value.
The fit of the other quantization matrix values for AC coefficients can be followed in a similar way.
An adaptive quantization step size scale decoder and truncated quantization matrix is depicted in Figure 9.
In Figure 9, the decoded bitstream is input to the decoder. Unit 12 will decode the truncated quantization matrix, and unit 13 will decode the quantization step for each block. Unit 14 will decode all DC and AC coefficients for each block. Unit 15 will check the number of AC coefficients that are not zero, and the scale factor can be determined in unit 16 using the information obtained from unit 15 and following the same criteria as in the encoder. All DC and AC coefficients for each block can be inversely quantized in unit 17 by the decoded scale quantization matrix and the decoded quantization matrix. Finally all the inversely quantized coefficients are passed to an inverse DCT transform coding unit to reconstruct the image.
ES 2 328 802 T3
The following formulas are used for quantification and inverse quantification:
Quantification:
For Intra DC: Level = | COF | // (QM / 2)
For Intra AC: Level = | COF | * 8 / (QP * QM)
For Inter: Level = (| COF | - (QP * QM / 32)) * 8 / (QP * QM)
Inverse quantification:
For Intra DC: | COF '| = Level * QM / 2
For others: | COF '| = 0, if Level = 0 | COF' | = (2 * LEVEL + 1) * (QP * QM / 16), if LEVEL / 0, (QP * QM / 16) is odd | COF '| = (2 * LEVEL + 1) * (QP * QM / 16 ) -1, if NIVEI # 0, (QP * QM / 16) is even where:
COF is the transformation coefficient to be quantified.
LEVEL is the absolute value of the quantized version of the transformation coefficient.
COF 'is the reconstructed transformation coefficient.
QP is the quantization step size of the current block.
QM is the value of the quantization matrix corresponding to the coefficient to be quantized.
The default value for QM is 16.
The present invention will change the quantization matrix adaptively according to the encoding bit rate, the encoding size, as well as the human visual system, so that a batch of bits can be saved by truncating and scaling the quantization matrix and differentially encoding the array values. Therefore, it will increase the encoding efficiency, especially for very low bit rate encoding.
Contents4
9 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9
47 members in 12 offices
Priority claims6
| Document | Office | Kind | Date |
|---|---|---|---|
| 6164797 | Japan | A | |
| 18643797 | Japan | A | |
| 030166676164797 | – | – | – |
| 18643797 | – | – | – |
| JP19970061647 | – | – | – |
| JP19970186437 | – | – | – |
Members47
| Document | Office | Kind | |
|---|---|---|---|
| WO9835503A1 | World Intellectual Property Organization (WIPO) | A1 | |
| ID20721A | Indonesia | A | |
| EP0903042A1 | European Patent Office (EPO) | A1 | |
| JPH1188880A | Japan | A | |
| CN1223057A | China | A | |
| BR9805978A | Brazil | A | |
| KR20000064840A | Republic of Korea | A | |
| TW441198B | Taiwan Province of China | B | |
| EP1113672A2 | European Patent Office (EPO) | A2 | |
| EP1113673A2 | European Patent Office (EPO) | A2 | |
| EP1113672A3 | European Patent Office (EPO) | A3 | |
| EP1113673A3 | European Patent Office (EPO) | A3 | |
| US2001021222A1 | United States of America | A1 | |
| KR100303054B1 | Republic of Korea | B1 | |
| JP2001313941A | Japan | A | |
| JP2001313946A | Japan | A | |
| JP3234807B2 | Japan | B2 | |
| JP3234830B2 | Japan | B2 | |
| CN1329439A | China | A | |
| CN1329440A | China | A | |
| EP0903042B1 | European Patent Office (EPO) | B1 | |
| DE69805583D1 | Germany | D1 | |
| US6445739B1 | United States of America | B1 | |
| ES2178142T3 | Spain | T3 | |
| US6501793B2 | United States of America | B2 | |
| DE69805583T2 | Germany | T2 | |
| US2003067980A1 | United States of America | A1 | |
| EP1113673B1 | European Patent Office (EPO) | B1 | |
| DE69813635D1 | Germany | D1 | |
| ES2195965T3 | Spain | T3 | |
| CN1140130C | China | C | |
| EP1397006A1 | European Patent Office (EPO) | A1 | |
| DE69813635T2 | Germany | T2 | |
| CN1145363C | China | C | |
| EP1113672B1 | European Patent Office (EPO) | B1 | |
| CN1198466C | China | C | |
| DE69829783D1 | Germany | D1 | |
| DE69829783T2 | Germany | T2 | |
| US7010035B2 | United States of America | B2 | |
| JP3769467B2 | Japan | B2 | |
| US2006171459A1 | United States of America | A1 | |
| MY127668A | Malaysia | A | |
| EP1397006B1 | European Patent Office (EPO) | B1 | |
| DE69841007D1 | Germany | D1 | |
| ES2328802T3This record | Spain | T3 | |
| US7860159B2 | United States of America | B2 | |
| BR9805978B8 | Brazil | B8 |
Numbers
- Publication, DOCDB
- 2328802
- Publication, EPODOC
- ES2328802T
- Application
- 3016667
- Application, DOCDB
- 03016667
- Application, EPODOC
- ES20030016667T
Titles2
- English
- QUANTIFICATION MATRIX FOR THE CODING OF FIXED AND MOVING IMAGES.
- Spanish
- MATRIZ DE CUANTIFICACION PARA LA CODIFICACION DE IMAGENES FIJAS Y EN MOVIMIENTO.
Classification
- CPC, 15
- H04N19/59
- H04N19/60
- H04N19/124
- H04N19/126
- H04N19/13
- H04N19/132
- H04N19/14
- H04N19/154
- H04N19/162
- H04N19/176
- H04N19/18
- H04N19/30
- H04N19/46
- H04N19/61
- H04N19/91
- IPC, 4
- H04N7 30
- G06T9 00
- H04N7 26
- H04N7 50