WO2011052213A1 - 画像復号方法、画像符号化方法、それらの装置、プログラムおよび集積回路 - Google Patents

画像復号方法、画像符号化方法、それらの装置、プログラムおよび集積回路 Download PDF

Info

Publication number
WO2011052213A1
WO2011052213A1 PCT/JP2010/006381 JP2010006381W WO2011052213A1 WO 2011052213 A1 WO2011052213 A1 WO 2011052213A1 JP 2010006381 W JP2010006381 W JP 2010006381W WO 2011052213 A1 WO2011052213 A1 WO 2011052213A1
Authority
WO
WIPO (PCT)
Prior art keywords
offset
quantization
update
value
matrix
Prior art date
Application number
PCT/JP2010/006381
Other languages
English (en)
French (fr)
Inventor
チョン スーン リム
ミン リー
ハイ ウェイ サン
陽司 柴原
西 孝啓
Original Assignee
パナソニック株式会社
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
Application filed by パナソニック株式会社 filed Critical パナソニック株式会社
Publication of WO2011052213A1 publication Critical patent/WO2011052213A1/ja

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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process

Definitions

  • the present invention relates to a method for decoding an encoded image and a method for encoding an image, and more particularly to decoding and encoding of parameters used for inverse quantization and quantization.
  • quantization is an important step in compressing data by removing some information in the image or video. Quantization is usually performed in the frequency transformed region so that the image or data can be better compressed by losing information in the quantization process.
  • the quantization process can be controlled by quantization parameters. At this time, if the value of the quantization parameter is large, the amount of compression increases, and more information is lost. And vice versa.
  • each frequency coefficient (transform coefficient) in the two-dimensional transform block can be quantized using both the quantization parameter and the corresponding one quantization offset value.
  • AbsCoeff [i] [j] ((abs (QuantizedCoeff [i] [j]) ⁇ 7) -Offset [i] [j]) * LevelScale >> (QShift + 7)
  • [i] and [j] indicate the position of the frequency coefficient in the two-dimensional transform block
  • AbsCoeff [i] [j] indicates the inverse quantized value of the frequency coefficient at the position (i, j).
  • QuantizedCoeff [i] [j] indicates the quantized value of the frequency coefficient at position (i, j).
  • ⁇ and >> indicate left shift and right shift of bits, and * indicates multiplication.
  • LevelScale and QShift are controlled by quantization parameters.
  • Offset [i] [j] is the quantization offset value for the frequency coefficient at position (i, j).
  • quantization offset parameter as described in those prior arts is used only for the quantization process and not for the inverse quantization process.
  • Such a quantization offset parameter functions only as a round-up operation in a typical division or right shift operation.
  • Non-Patent Document 1 There are only a few prior arts for explaining the quantization offset value transmitted to the decoder for use in the inverse quantization process (see Non-Patent Document 1, for example). Also, the dynamic range of the quantization offset value is usually limited to the quantization scale step size. An example is briefly described below.
  • the inverse quantization process is usually a scaling or multiplication process.
  • the inverse quantization value is usually scaled by the quantization scale step size.
  • the inverse quantization value can be adjusted upward or downward by adding or subtracting the quantization level offset value corresponding to the quantization offset value.
  • the adjustment performed using the quantization level offset value is usually limited to less than one step size.
  • FIG. 1 is a diagram illustrating an inverse quantization value adjusted using a quantization level offset value.
  • the inverse quantization value (absolute value of the inversely quantized value) is calculated by multiplying the quantization value (absolute value of the quantization value) by the quantization scale step size Qss. Further, the inverse quantized value is adjusted upward or downward by subtracting (or adding) the quantization level offset value from the inverse quantized value, and set to the final inverse quantized value.
  • a problem in the prior art is that the number of bits required to transmit a quantization offset matrix, which is a matrix including quantization offset values as elements, to the decoder is large.
  • the prior art transmits each quantization offset value independently, and thus a large number of bits are required to express these matrices to be transmitted to the decoder. To do.
  • the present invention has been made in view of such a problem, and an object thereof is to provide an image decoding method and an image encoding method with a reduced code amount.
  • an image decoding method is an image decoding method for decoding an encoded image included in an encoded stream, and is in a header included in the encoded stream. Analyzing the offset update flag, determining whether or not the analyzed offset update flag indicates a predetermined value, and determining that the analyzed offset update flag indicates a predetermined value If the offset update parameter included in the header is used, a quantized offset matrix to be applied to the encoded image is calculated, and the inverse of the encoded image is calculated using the calculated quantized offset matrix.
  • the coded image is decoded by performing quantization.
  • the image encoding apparatus since the quantization offset matrix is calculated using the offset update parameter, the image encoding apparatus does not need to insert the quantization offset matrix itself into the encoded stream, and compresses the quantization offset matrix.
  • Information for returning the compressed quantized offset matrix may be included in the header of the encoded stream as an offset update parameter. Therefore, the number of bits necessary for the quantization offset matrix can be reduced, and the code amount of the encoded stream can be reduced.
  • the inverse quantization value may be adjusted by a quantization offset matrix calculated from an offset update flag stored in a header (for example, a picture header or a sequence header).
  • a header for example, a picture header or a sequence header.
  • the header includes an update type identifier indicating a method for updating the quantization offset matrix.
  • the update type identifier included in the header is analyzed.
  • the quantization offset matrix is calculated according to the update method indicated by the analyzed update type identifier.
  • the image encoding device can select an appropriate update method in quantization or inverse quantization, and the selection is made.
  • An offset update parameter and an update type identifier corresponding to the update method may be included in the header of the encoded stream. Therefore, it is possible to provide flexibility in updating or calculating the quantization offset matrix.
  • the quantization offset matrix to be calculated is calculated by applying the offset update parameter to another quantization offset matrix already stored in the memory. To do.
  • the offset update parameter is applied to the quantization offset matrix calculated immediately before, which is the other quantization offset matrix.
  • the quantization offset matrix calculated immediately before has a strong tendency to be similar to the quantization offset matrix to be calculated, the number of bits of the offset update parameter can be surely reduced.
  • the header includes a matrix identifier for specifying the other quantization offset matrix.
  • the matrix identifier included in the header is analyzed.
  • the other quantization offset matrix identified by the analyzed matrix identifier is retrieved from the memory.
  • the image coding apparatus can appropriately select another quantization offset matrix having a small difference from the quantization offset matrix to be calculated, and specify the other selected quantization offset matrix.
  • the matrix identifier for this may be included in the header. Therefore, the difference between the quantization offset matrix to be calculated and another quantization offset matrix can be surely reduced, and the code amount of the encoded stream can be more reliably reduced.
  • the header includes first and second correction parameters and delta offset values corresponding to each of the elements included in the quantization offset matrix to be calculated, and calculates the quantization offset matrix.
  • the first and second coefficients are calculated based on the first and second correction parameters included in the header, and a known quantization offset value that is an element of the other quantization offset matrix is calculated.
  • the first value is calculated by multiplying the known quantization offset value by the first coefficient, and the difference between the known quantization offset value and the fixed value is multiplied by the second coefficient.
  • To calculate a second value and to add the second value to the first value to calculate a predicted quantization offset value.
  • By adding the delta offset value corresponding to the elements of the quantization offset matrix calculation target, to calculate a quantization offset value is the element.
  • the header further includes an offset update denominator, and when the first coefficient is calculated, the offset update denominator is added to the first correction parameter, and obtained by the addition.
  • the first coefficient is calculated by dividing the obtained value by the offset update denominator.
  • the second coefficient is calculated by dividing the second correction parameter by the offset update denominator.
  • the fixed value is a predetermined value for the quantization offset matrix to be calculated.
  • the fixed value may be a quantized offset value at a position corresponding to a direct current component included as an element in the other quantized offset matrix.
  • the second values calculated by multiplying the difference between each known quantization offset value and the fixed value of the other quantization offset matrix by the second coefficient are respectively the other quantization offset matrix.
  • An alternating current component can be represented, and an appropriate predicted quantization offset value can be calculated using the alternating current component.
  • the delta offset value can be reduced. Therefore, the code amount can be further reduced.
  • the fixed value is an average value of a plurality of quantization offset values included as elements in the other quantization offset matrix.
  • the second values calculated by multiplying the difference between each known quantization offset value and the fixed value of the other quantization offset matrix by the second coefficient are respectively the other quantization offset matrix.
  • the variation of each element can be expressed, and an appropriate prediction quantization offset value can be calculated using the variation, and as a result, the delta offset value can be reduced. Therefore, the code amount can be further reduced.
  • the offset update parameter includes a plurality of delta offset values indicating differences between a plurality of quantization offset values that are elements of a quantization offset matrix to be calculated, and calculates the quantization offset matrix.
  • a new quantization offset value by adding any one of the plurality of delta offset values to the already calculated quantization offset value in the quantization offset matrix. Repeat the calculation.
  • the offset update parameter includes only one quantization offset value that is an element of the quantization offset matrix to be calculated as a single quantization offset value.
  • the quantization offset matrix First, all elements included in the quantization offset matrix to be calculated are set to the single quantization offset value included in the offset update parameter.
  • the present invention can be realized not only as such an image decoding method, but also as an image encoding method corresponding to the image decoding method, an image decoding apparatus for decoding an image according to the image decoding method, and the image code Image encoding apparatus that encodes an image according to the encoding method, an integrated circuit corresponding to these apparatuses, a program that causes a computer to execute image processing according to these methods, and a recording medium that records the program Can do.
  • the present invention can also be realized as a method of writing a quantized offset matrix into an encoded stream, a method of analyzing the quantized offset matrix from the encoded stream, an apparatus, a program, a recording medium, and an integrated circuit corresponding to these methods. .
  • the image decoding method and the image encoding method of the present invention have an effect that the amount of codes can be reduced. That is, fewer bits are required for encoding the quantization offset matrix, and the handling of the inverse quantization value in the inverse quantization process becomes more flexible, so that the encoding efficiency is improved.
  • FIG. 1 is a diagram illustrating an inverse quantization value adjusted using a quantization level offset value.
  • FIG. 2A is a block diagram showing a configuration of the image decoding apparatus according to Embodiment 1 of the present invention.
  • FIG. 2B is a flowchart showing an image decoding method according to Embodiment 1 of the present invention.
  • FIG. 3A is a block diagram showing the configuration of the image coding apparatus according to Embodiment 1 of the present invention.
  • FIG. 3B is a flowchart showing an image coding method according to Embodiment 1 of the present invention.
  • FIG. 4 is a block diagram showing an example of a detailed configuration of the image decoding apparatus according to Embodiment 1 of the present invention.
  • FIG. 1 is a diagram illustrating an inverse quantization value adjusted using a quantization level offset value.
  • FIG. 2A is a block diagram showing a configuration of the image decoding apparatus according to Embodiment 1 of the present invention.
  • FIG. 2B is
  • FIG. 5 is a block diagram showing an example of a detailed configuration of the image coding apparatus according to Embodiment 1 of the present invention.
  • FIG. 6A is a diagram showing a structure of a sequence header in Embodiment 1 of the present invention.
  • FIG. 6B is a diagram showing a structure of a picture header in Embodiment 1 of the present invention.
  • FIG. 7 is a diagram showing the configuration of the offset parameter set in the first embodiment of the present invention.
  • FIG. 8 is a flowchart showing a process of decoding the quantization offset matrix in the first embodiment of the present invention.
  • FIG. 9 is a flowchart showing processing for encoding the quantization offset matrix according to Embodiment 1 of the present invention.
  • FIG. 6A is a diagram showing a structure of a sequence header in Embodiment 1 of the present invention.
  • FIG. 6B is a diagram showing a structure of a picture header in Embodiment 1 of the present invention.
  • FIG. 7 is a
  • FIG. 10 is a flowchart showing processing for calculating a new quantization offset matrix for one transform block according to Embodiment 1 of the present invention.
  • FIG. 11 is a flowchart showing processing for calculating and writing an offset parameter for one transform block according to Embodiment 1 of the present invention.
  • FIG. 12 is a flowchart showing processing for analyzing the offset update parameter written by the image decoding apparatus according to Embodiment 1 of the present invention using the first update method.
  • FIG. 13 is a flowchart illustrating a process in which the image decoding apparatus according to Embodiment 1 of the present invention calculates a quantization offset value using the first update method.
  • FIG. 11 is a flowchart showing processing for calculating a new quantization offset matrix for one transform block according to Embodiment 1 of the present invention.
  • FIG. 11 is a flowchart showing processing for calculating and writing an offset parameter for one transform block according to Embodiment 1 of the present invention.
  • FIG. 12 is a flowchart showing
  • FIG. 14 is a flowchart showing a process in which the image coding apparatus according to Embodiment 1 of the present invention calculates the delta offset value of the offset update parameter using the first update method.
  • FIG. 15 is a flowchart showing processing in which the image coding apparatus according to Embodiment 1 of the present invention writes an offset update parameter in a header using the first update method.
  • FIG. 16 is a flowchart illustrating a process in which the image decoding apparatus according to Embodiment 1 of the present invention calculates a quantization offset value using the second update method.
  • FIG. 17 is a flowchart showing a process in which the image coding apparatus according to Embodiment 1 of the present invention writes a delta offset value in a header using the second update method.
  • FIG. 15 is a flowchart showing processing in which the image coding apparatus according to Embodiment 1 of the present invention writes an offset update parameter in a header using the first update method.
  • FIG. 16 is a flowchart illustrating a process in
  • FIG. 18 is a flowchart showing processing in which the inverse quantization unit of the image decoding device and the inverse quantization unit of the image coding device according to Embodiment 1 of the present invention adjust the inverse quantization value using the quantization offset value. is there.
  • FIG. 19 is a diagram showing a configuration of an offset parameter set according to the first modification of the first embodiment of the present invention.
  • FIG. 20 is a flowchart showing a process of calculating a new quantization offset matrix for one transform block according to Modification 1 of Embodiment 1 of the present invention.
  • FIG. 21 is a flowchart showing a process for calculating and writing an offset parameter for one transform block according to the first modification of the first embodiment of the present invention.
  • FIG. 19 is a flowchart showing processing in which the inverse quantization unit of the image decoding device and the inverse quantization unit of the image coding device according to Embodiment 1 of the present invention adjust the inverse quantization value using the quantization offset value. is there.
  • FIG. 22 is a diagram showing a configuration of an offset parameter set according to the second modification example in the first embodiment of the present invention.
  • FIG. 23 is a flowchart showing a process in which the image decoding apparatus according to the second modification of the first embodiment of the present invention analyzes an offset update parameter.
  • FIG. 24 is a flowchart showing processing for specifying a matrix by the image decoding apparatus according to the second modification of the first embodiment of the present invention.
  • FIG. 25 is a flowchart showing a process in which the image coding apparatus according to the second modification of the first embodiment of the present invention writes the offset update parameter in the header.
  • FIG. 26 is a schematic diagram illustrating an example of the overall configuration of a content supply system that implements a content distribution service.
  • FIG. 27 is a diagram illustrating an appearance of a mobile phone.
  • FIG. 28 is a block diagram illustrating a configuration example of a mobile phone.
  • FIG. 29 is a schematic diagram showing an example of the overall configuration of a digital broadcasting system.
  • FIG. 30 is a block diagram illustrating a configuration example of a television.
  • FIG. 31 is a block diagram illustrating a configuration example of an information reproducing / recording unit that reads and writes information from and on a recording medium that is an optical disk.
  • FIG. 32 is a diagram illustrating a structure example of a recording medium that is an optical disk.
  • FIG. 33 is a block diagram illustrating a configuration example of an integrated circuit that realizes the image encoding method and the image decoding method according to each embodiment.
  • FIG. 2A is a block diagram showing a configuration of the image decoding apparatus according to the present embodiment.
  • the image decoding device 1 is a device that decodes an encoded image included in an encoded stream, and a flag analysis unit 10 that analyzes an offset update flag in a header included in the encoded stream; When it is determined that the analyzed offset update flag indicates a predetermined value and the determination unit 11 determines whether the analyzed offset update flag indicates a predetermined value, A quantization offset matrix calculation unit 12 that calculates a quantization offset matrix to be applied to the encoded image using the offset update parameter included in the header, and an inverse for the encoded image using the calculated quantization offset matrix And an inverse quantization decoding unit 13 that decodes the encoded image by performing quantization.
  • FIG. 2B is a flowchart showing an image decoding method according to the present embodiment.
  • the image decoding method is a method for decoding an encoded image included in an encoded stream, and analyzes an offset update flag in a header included in the encoded stream (S10). It is determined whether or not the offset update flag indicates a predetermined value (S11). If it is determined that the analyzed offset update flag indicates a predetermined value, it is included in the header. A quantized offset matrix to be applied to the encoded image is calculated using the offset update parameter (S12), and the encoded image is obtained by performing inverse quantization on the encoded image using the calculated quantized offset matrix. Is decrypted (S13). If it is determined in step S11 that the analyzed offset update flag does not indicate a predetermined value, by performing inverse quantization on the encoded image using the existing quantization offset matrix. The encoded image is decoded (S14).
  • the quantization offset matrix is calculated using the offset update parameter. Therefore, the image encoding apparatus side needs to insert the quantization offset matrix itself into the encoded stream.
  • the quantization offset matrix may be compressed, and information for returning the compressed quantization offset matrix may be included in the header of the encoded stream as an offset update parameter. Therefore, the number of bits necessary for the quantization offset matrix can be reduced, and the code amount of the encoded stream can be reduced.
  • FIG. 3A is a block diagram showing a configuration of the image coding apparatus according to the present embodiment.
  • the image encoding device 2 is a device that generates an encoded stream by encoding image data, a determination unit 20 that determines whether or not to update a quantization offset matrix, A flag writing unit 21 that writes an offset update flag indicating the determination result in the header of the encoded stream, and an offset update parameter based on the updated new quantized offset matrix when it is determined that the update should be performed
  • An offset update parameter calculation unit 22 that calculates the offset
  • a parameter writing unit 23 that writes the offset update parameter in the header
  • a quantizer that encodes the image data by performing quantization on the image data using the new quantization offset matrix
  • an encoding / encoding unit 24 an encoding / encoding unit 24.
  • FIG. 3B is a flowchart showing an image encoding method according to the present embodiment.
  • the image encoding method is a method of generating an encoded stream by encoding image data, and determines whether or not the quantization offset matrix should be updated (S20).
  • An offset update flag indicating the result of the above is written in the header of the encoded stream (S21), and when it is determined to be updated in the determination, an offset update parameter is calculated based on the new quantized offset matrix after the update.
  • the offset update parameter is written in the header (S23), and the image data is encoded by performing quantization on the image data using the new quantization offset matrix (S24).
  • step S20 When it is determined in step S20 that the quantization offset matrix should not be updated, an offset update flag indicating the determination result is written in the header of the encoded stream (S25), and the existing quantization offset matrix is updated.
  • the image data is encoded by performing quantization on the image data (S26).
  • the offset update parameter is calculated using the new quantization offset matrix and written in the header. Therefore, it is not necessary to insert the quantization offset matrix itself into the encoded stream. Instead, the quantization offset matrix may be compressed, and information for returning the compressed quantization offset matrix may be included in the header of the encoded stream as an offset update parameter. Therefore, the number of bits necessary for the quantization offset matrix can be reduced, and the code amount of the encoded stream can be reduced.
  • FIG. 4 is a block diagram showing an example of a detailed configuration of the image decoding apparatus according to the present embodiment.
  • the image decoding apparatus 1000 includes an offset parameter analysis unit 1500, a quantization offset value calculation unit 1502, a quantization offset value storage unit 1504, a first memory unit 1506, an inverse quantization unit 1508, an inverse transform unit 1510, and a sample reconstruction unit. 1512, a sample prediction unit 1514, and a second memory unit 1516.
  • the component group including the offset parameter analysis unit 1500, the quantization offset value calculation unit 1502, the quantization offset value storage unit 1504, and the first memory unit 1506 includes the flag analysis unit 10, the determination unit 11, and the This corresponds to a component group including the quantization offset matrix calculation unit 12.
  • a component group including the inverse quantization unit 1508, the inverse transform unit 1510, the sample reconstruction unit 1512, the sample prediction unit 1514, and the second memory unit 1516 corresponds to the inverse quantization decoding unit 13 illustrated in FIG. 2A. To do.
  • the offset parameter analysis unit 1500 reads a header D1501 (sequence header D1501a or picture header D1501b) included in the encoded stream, analyzes (decodes) the offset parameter D1503 included in the header D1501, and quantizes the offset parameter D1503. Output to the offset value calculation unit 1502.
  • the quantization offset value calculation unit 1502 calculates a new quantization offset value D1505 using the offset parameter D1503. At this time, the quantization offset value calculation unit 1502 calculates a new quantization offset value D1505 using the calculated quantization offset value D1509 already stored in the first memory unit 1506 as necessary. Further, the quantization offset value calculation unit 1502 outputs the calculated new quantization offset value D1505 to the quantization offset value storage unit 1504. Then, the quantization offset value storage unit 1504 stores the new quantization offset value in the first memory unit 1506.
  • the inverse quantization unit 1508 takes in a picture coding block D1513 included in the coded stream and a new quantization offset value D1511 stored in the first memory unit 1506, and performs inverse quantization. Then, the inverse quantization unit 1508 transmits the inverse quantization value D1515 generated by the inverse quantization to the inverse transform unit 1510.
  • the inverse transform unit 1510 performs inverse orthogonal transform on a block composed of a plurality of inverse quantized values D1515, thereby transforming the block into a block composed of a plurality of pixels.
  • the inverse transform unit 1510 outputs the block including the plurality of pixels to the sample reconstruction unit 1512 as a decoding residual D1517.
  • the sample reconstruction unit 1512 acquires the decoding residual D1517 and also acquires the prediction sample D1521 from the sample prediction unit D1514. Then, the sample reconstruction unit 1512 generates and outputs a reconstruction block D1519 by adding the prediction sample D1521 to the decoding residual D1517.
  • the reconstruction block D1519 is stored in the second memory unit 1516.
  • the sample prediction unit 1514 refers to the image stored in the second memory unit 1516 as a reference image D1523, generates a prediction sample D1521 for the above-described block to be decoded, and outputs the prediction sample D1521 to the sample reconstruction unit 1512.
  • FIG. 5 is a block diagram showing an example of a detailed configuration of the image coding apparatus according to the present embodiment.
  • the image encoding apparatus 2000 includes an offset parameter calculation unit 1600, an offset parameter writing unit 1602, a first memory unit 1604, a subtraction unit 1606, a conversion unit 1608, a quantization unit 1610, an inverse quantization unit 1612, an inverse conversion unit 1614, A second memory unit 1618, an addition unit 1620, and a sample prediction unit 1616 are provided.
  • the constituent element group including the offset parameter calculation unit 1600, the offset parameter writing unit 1602, and the first memory unit 1604 includes the determination unit 20, the flag writing unit 21, the offset update parameter calculation unit 22, and the parameter writing unit illustrated in FIG. 3A. This corresponds to a component group consisting of 23.
  • FIG. 1 a component group including a subtraction unit 1606, a conversion unit 1608, a quantization unit 1610, an inverse quantization unit 1612, an inverse conversion unit 1614, a second memory unit 1618, an addition unit 1620, and a sample prediction unit 1616 is illustrated in FIG. This corresponds to the quantization encoding unit 24 shown in 3A.
  • the offset parameter calculation unit 1600 obtains a new quantization offset value D1505 and obtains a past quantization offset value D1509 from the first memory unit 1604. Based on these quantized offset values D1505 and D1509, the offset parameter calculation unit 1600 calculates an offset parameter D1503 and outputs it to the offset parameter writing unit 1602. The offset parameter writing unit 1602 writes the calculated offset parameter D1503 in the header D1501 (picture header D1501b or sequence header D1501a), and outputs the header D1501.
  • the subtraction unit 1606 takes in the uncompressed block D1609 and the prediction sample D1615 of the picture.
  • the uncompressed block D1609 is a block to be encoded consisting of a plurality of pixels included in a picture
  • the prediction sample D1615 is a block indicating a prediction image for the block to be encoded.
  • the subtraction unit 1606 generates and outputs a residual block D1611 by subtracting the prediction sample D1615 from the uncompressed block D1609.
  • the transform unit 1608 generates a coefficient block D1613 composed of a plurality of frequency coefficients (transform coefficients) by performing orthogonal transform on the residual block D1611, and outputs the coefficient block D1613 to the quantization unit 1610.
  • the quantization unit 1610 acquires the coefficient block D1613 and reads a new quantization offset value D1607 from the first memory unit 1604. Then, the quantization unit 1610 performs quantization using the new quantization offset value D1607 on the coefficient block D1613, thereby generating and outputting a picture coding block D1621.
  • the inverse quantization unit 1612 acquires the coding block D1621 from the quantization unit 1610, and reads a new quantization offset value D1607 from the first memory unit 1604. Then, the inverse quantization unit 1612 generates an inverse quantization value D1619 by performing inverse quantization using the new quantization offset value D1607 on the coding block D1621, and outputs the inverse quantization value D1619 to the inverse transformation unit 1614. To do.
  • the inverse transform unit 1614 acquires the inverse quantized value D1619 and performs inverse orthogonal transform on the block composed of a plurality of inverse quantized values D1619, thereby reconstructing the reconstructed residual block composed of a plurality of pixels. Convert to D1627 and output.
  • the adding unit 1620 acquires the reconstructed residual block D1627, and reads the prediction sample D1615 corresponding to the reconstructed residual block D1627 from the sample predicting unit 1616. Then, the adding unit 1620 adds the prediction sample D1615 to the reconstructed residual block D1627, thereby generating and outputting a reconstructed block D1625 of the picture.
  • the reconstruction block D1625 is stored in the second memory unit 1618.
  • the sample prediction unit 1616 refers to the image stored in the second memory unit 1618 as a reference image D1623, and generates and outputs a prediction sample D1615 for the block to be encoded.
  • FIG. 6A is a diagram showing a configuration of the sequence header D1501a in the present embodiment.
  • the sequence header D1501a includes an update offset parameter flag D302, an offset update denominator D304, and an offset parameter set D306.
  • An update offset parameter flag D302, an offset update denominator D304, and an offset parameter set D306 follow in order from the top.
  • the offset parameter set D306 is data for calculating a customizable quantization offset matrix for each transform block.
  • a transform block is a block that is a unit for performing orthogonal transform, inverse orthogonal transform, quantization, or inverse quantization.
  • the update offset parameter flag D302 is a flag for transmitting the offset parameter set D306 and is encoded. When the update offset parameter flag D302 indicates 1, the offset parameter set D306 is arranged after the update offset parameter flag D302. When this update offset parameter flag D302 indicates 0, a non-customizable quantization offset matrix for each transform block size is placed after the update offset parameter flag D302. Alternatively, when the update offset parameter flag D302 indicates 0, neither the above-described customizable quantization offset matrix nor the offset parameter set D306 is arranged.
  • the offset update denominator D304 is a denominator used to determine the rate of change when updating the quantization offset value (quantization matrix) in the present invention. Details of the offset update denominator D304 will be described later.
  • FIG. 6B is a diagram showing a configuration of the picture header D1501b in the present embodiment.
  • the picture header D1501b includes an update offset parameter flag D308, an offset update denominator D310, and an offset parameter set D312.
  • These update offset parameter flag D308, offset update denominator D310, and offset parameter set D312 are the same as the update offset parameter flag D302, offset update denominator D304, and offset parameter set D306 shown in FIG. 6A.
  • at least one of sequence header D1501a and picture header D1501b may be configured as described above (as shown in FIGS. 6A and 6B).
  • the header indicates a sequence header D1501a or a picture header D1501b.
  • FIG. 7 is a diagram showing the configuration of the offset parameter sets D306 and D312.
  • the offset parameter sets D306 and D312 are composed of a plurality of offset parameters D1503.
  • the offset parameter D1503 is for calculating a customizable quantization offset matrix for the transform block.
  • the offset parameter sets D306 and D312 include an offset parameter D1503 for each size.
  • the offset parameter sets D306 and D312 include M offset parameters D1503, which respectively correspond to the sizes of the first to Mth transform blocks.
  • the offset parameter D1503 includes an offset update flag D100 and an offset update parameter D102 for calculating a quantization offset matrix.
  • the offset update flag D100 is a flag for indicating whether or not the quantization offset value of the transform block corresponding to the offset parameter D1503 should be updated. That is, the offset update flag D100 is a flag indicating whether or not each quantization offset value included in the quantization offset matrix before the update should be updated by calculating a new quantization offset matrix. For example, when the offset update flag D100 is 1, the offset update flag D100 indicates that it should be updated, and when the offset update flag D100 is 0, the offset update flag D100 indicates that it should not be updated. .
  • the offset update parameter D102 is arranged following the offset update flag D100, and has a different configuration depending on the update method.
  • the offset update parameter D102 includes an update type identifier D104 indicating 0, first and second modification parameters D106 and D108, a number D110 of delta offset values, and a plurality of consecutive delta offset values. D112.
  • the first and second correction parameters D106 and D108 are values used to calculate the quantization offset value, respectively.
  • the delta offset value is a value added to the value calculated using the first and second correction parameters D106 and D108. By adding the delta offset value in this way, a quantization offset value for one transform coefficient (frequency coefficient) is calculated. If the number D110 of delta offset values is N, N delta offset values D112 are continuously stored in the header D1501.
  • the offset update parameter D102 includes an update type identifier D104 indicating 1 and a delta offset value D114 continuous by the number of transform coefficients included in the transform block.
  • the delta offset value D114 is added to the quantized offset value for the immediately previous transform coefficient in the scanning order to thereby calculate the predetermined transform coefficient. A quantization offset value for is calculated.
  • the offset update parameter D102 includes an update type identifier D104 indicating 2 and a single quantization offset value D116.
  • the quantization offset values for all the transform coefficients of the transform block are equal to the single quantization offset value D116.
  • all data included in the header D1501 is encoded by variable length encoding or the like.
  • FIG. 8 is a flowchart showing a process of decoding the quantization offset matrix in the present embodiment.
  • the offset parameter analysis unit 1500 analyzes the update offset parameter flag in the header (step S400). In the present embodiment, when data included in the header is analyzed, decoding such as variable length decoding may be performed. Next, the offset parameter analysis unit 1500 determines whether or not the updated offset parameter flag is 1 (step S402). If the offset parameter analysis unit 1500 determines that the value is 1 (Yes in step S402), the offset update denominator in the header is analyzed (step S404). Note that the offset update denominator may not be included in the header but may be a predetermined value. In this case, the process of step S404 is skipped.
  • the offset parameter analysis unit 1500 analyzes the offset parameter set of the header (step S406), and the quantization offset value calculation unit 1502 calculates a new quantization offset matrix (step S408).
  • FIG. 9 is a flowchart showing a process for encoding the quantization offset matrix in the present embodiment.
  • the offset parameter calculation unit 1600 determines an updated offset parameter flag, and the offset parameter writing unit 1602 writes the updated offset parameter flag in the header (step S500).
  • encoding such as variable length encoding may be performed.
  • the offset parameter calculation unit 1600 determines whether or not the update offset parameter flag is 1 (step S502). That is, the offset parameter calculation unit 1600 calculates a quantization offset matrix and determines whether or not each quantization offset value should be updated. If the offset parameter calculation unit 1600 determines that the update offset parameter flag is 1 (Yes in step S502), the offset parameter calculation unit 1600 determines an offset update denominator, and the offset parameter writing unit 1602 writes the offset update denominator in the header. (Step S504).
  • the offset update denominator may not be included in the header but may be a predetermined value. In this case, the process of step S504 is skipped.
  • the offset parameter calculation unit 1600 calculates an offset parameter set based on the first to third update methods (step S508), and the offset parameter writing unit 1602 writes the offset parameter set in the header (step S510). ).
  • FIG. 10 is a flowchart showing a process for calculating a new quantization offset matrix for one transform block in the present embodiment.
  • FIG. 10 shows detailed processing of steps S406 and S410 of FIG.
  • the offset parameter analysis unit 1500 analyzes the offset update flag in the header (step S600).
  • the offset parameter analysis unit 1500 determines whether or not the offset update flag is 1 (step S601).
  • the offset parameter analysis unit 1500 analyzes the update type identifier in the header (step S602).
  • the offset parameter analysis unit 1500 determines whether or not the update type identifier indicates 0 (step S604). If the offset parameter analysis unit 1500 determines that the update type identifier indicates 0 (Yes in step S604), the offset parameter analysis unit 1500 analyzes the offset update parameter following the update type identifier in the header (step S608). Then, the quantization offset value calculation unit 1502 calculates a new quantization offset value (quantization offset matrix) from the offset update parameter using the first update method (step S610).
  • step S604 determines whether or not the update type identifier indicates 1 (step S606). If the offset parameter analysis unit 1500 determines that the update type identifier indicates 1 (Yes in step S606), the offset parameter analysis unit 1500 analyzes the offset update parameter that follows the update type identifier in the header, and obtains a quantized offset value calculation unit 1502. Calculates a new quantization offset value (quantization offset matrix) from the offset update parameter using the second update method (step S616).
  • the offset quantization parameter is a single quantized offset that is an offset update parameter following the update type identifier in the header.
  • the value is analyzed (step S612).
  • the quantization offset value calculation unit 1502 calculates a new quantization offset value (quantization offset matrix) from the single quantization offset value using the third update method (step S614). That is, the quantization offset value calculation unit 1502 sets the quantization offset values for all the transform coefficients (frequency component positions) in the transform block to the analyzed single quantization offset value.
  • FIG. 11 is a flowchart showing processing for calculating and writing an offset parameter for one conversion block in the present embodiment.
  • FIG. 11 shows detailed processing in steps S508 and S510 of FIG.
  • the offset parameter calculation unit 1600 determines an offset update flag, and the offset parameter writing unit 1602 writes the determined offset update flag in the header (step S700).
  • the offset parameter calculation unit 1600 determines whether or not a new quantization offset matrix is used based on the determined offset update flag (step S701). If the offset parameter calculation unit 1600 determines that a new quantization offset matrix is used (Yes in step S701), the offset parameter calculation unit 1600 determines an update type identifier, and the offset parameter writing unit 1602 determines the determined update type identifier. Write in the header (step S702).
  • the offset parameter calculation unit 1600 determines whether or not the quantization offset matrix should be encoded using the first update method based on the determined update type identifier (step S704).
  • the first parameter is calculated.
  • An offset update parameter is calculated using the update method (step S708).
  • the offset parameter writing unit 1602 writes the calculated offset update parameter in the header using the first update method (step S710).
  • the offset quantization calculation unit 1600 determines in step S704 that the quantization offset matrix should not be encoded using the first update method (No in step S704), the offset quantization calculation unit 1600 further determines the new quantization offset matrix. It is determined whether or not the quantization matrix values included in all are the same (step S706). If the offset parameter calculation unit 1600 determines that they are not all the same (No in step S706), the offset parameter calculation unit 1600 calculates an offset update parameter using the second update method based on the new quantization offset matrix. Then, the offset parameter writing unit 1602 writes the calculated offset update parameter in the header using the second update method (step S716).
  • step S706 determines a single quantization offset value based on the new quantization offset matrix. Then, the offset parameter writing unit 1602 writes the determined single quantization offset value in the header as an offset update parameter using the third update method (step S712).
  • FIG. 12 is a flowchart showing a process of analyzing the offset update parameter written by the image decoding apparatus 1000 according to the present embodiment using the first update method.
  • FIG. 12 shows detailed processing in step S608 of FIG.
  • the offset parameter analysis unit 1500 analyzes the first correction parameter in the header offset update parameter (step S800), and further analyzes the second correction parameter (step S802).
  • the offset parameter analysis unit 1500 analyzes the number of delta offset values in the offset update parameter of the header (step S806).
  • the offset parameter analysis unit 1500 initializes the count value to 0 (step S808), as long as the condition that the count value is smaller than the number of delta offset values analyzed in step S806 is satisfied. Repeat the process.
  • the offset parameter analysis unit 1500 analyzes one delta offset value selected in the scanning order from a plurality of consecutive delta offset values within the header offset update parameter (step S810). Further, the offset parameter analysis unit 1500 increments the count value (step S812).
  • the offset parameter analysis unit 1500 repeatedly executes the processes of steps S810 and S812 until the number of delta offset values analyzed in step S806 becomes equal to the count value.
  • a plurality of consecutive delta offset values in the offset update parameter are arranged in the scanning order in the two-dimensional matrix corresponding to the transform block. For example, these delta offset values are arranged from the low frequency component to the high frequency component in the zigzag scan order in the two-dimensional matrix corresponding to the transform block.
  • the scanning order differs depending on the size of the conversion block. For example, the scanning order of blocks (8 ⁇ 2 blocks) composed of 8 ⁇ 2 frequency components (transform coefficients) is different from the scanning order of blocks (2 ⁇ 8 blocks) composed of 2 ⁇ 8 frequency components.
  • FIG. 13 is a flowchart illustrating a process in which the image decoding apparatus 1000 according to the present embodiment calculates a quantization offset value using the first update method.
  • FIG. 13 shows detailed processing in step S610 of FIG.
  • the quantization offset value calculation unit 1502 acquires a quantization offset value before update (step S1200). That is, the quantization offset value calculation unit 1502 has a quantization offset at the same position as the quantization offset value to be calculated in the quantization offset matrix stored in the past (for example, immediately before) in the first memory unit 1506. The value is read from the first memory unit 1506.
  • the quantization offset value calculation unit 1502 determines the first coefficient (Factor1) based on the first modification parameter D106, and scales the quantization offset value before the update by using the first coefficient. Is calculated (step S1202).
  • the first coefficient (Factor 1) is calculated by the following (Equation 1).
  • (Expression 1) “First Modification Parameter” indicates a first correction parameter, and “Update Denominator” indicates an offset update denominator.
  • the offset update denominator may be included in the header as shown in FIGS. 6A and 6B, or may be set to a predefined value without being included.
  • the predefined value is, for example, 16 or 128.
  • the first value (First Value) is calculated by the following (Formula 2).
  • “Old Offset Value” indicates a quantization offset value before update.
  • the quantization offset value calculation unit 1502 calculates a difference between the quantization offset value (Old Offset Value) before update and a fixed value (Fixed Value) (step S1204).
  • the difference is indicated by “Old Offset Value-Fixed Value”.
  • the fixed value is 16, that is, the DC offset value or the average offset value of the block.
  • the DC offset value is the quantization offset value of the direct current component of the quantization offset matrix before update
  • the average offset value is the average value of all quantization offset values included in the quantization offset matrix before update.
  • the quantization offset value calculation unit 1502 calculates the second coefficient by using the second correction parameter D108 illustrated in FIG. 7, and scales the calculated difference by the second coefficient to thereby obtain the second value. Is calculated (step S1206).
  • the second coefficient is calculated by the following (Equation 3).
  • “Second Modification Parameter” indicates the second correction parameter.
  • the second value (Second Value) is calculated by the following (Equation 4).
  • Second Value (Old Offset Value-Fixed Value) x Factor2 (Formula 4)
  • the quantization offset value calculation unit 1502 calculates a predicted quantization offset value (calculated value) by adding the first value and the second value (step S1208). Further, the quantization offset value calculation unit 1502 adds a delta offset value (Delta Value) corresponding to the quantization offset value to be calculated to the predicted quantization offset value, that is, “Fist Value + Second Value”. The new quantization offset value to be calculated is calculated by “+ Delta Value” (step S1210).
  • Mathematical expressions according to steps S1202 to S1210 are expressed by the following (formula 5).
  • “New Offset Value” indicates a new quantization offset value to be calculated.
  • New Offset Value (Old Offset Value ⁇ Factor1) + ((Old Offset Value ⁇ Fixed Value) ⁇ Factor2) + Delta Value (Expression 5)
  • Equation 5 the calculation represented by (Equation 5) is performed according to the order indicated by steps S1200 to S1210 in FIG. 13, but the calculation may be performed in another order.
  • FIG. 14 is a flowchart showing a process in which the image coding apparatus 2000 according to the present embodiment calculates the delta offset value of the offset update parameter using the first update method.
  • FIG. 14 shows detailed processing in step S708 of FIG.
  • the offset parameter calculation unit 1600 acquires a quantization offset value before update (step S1300). That is, the offset parameter calculation unit 1600 uses the quantization offset value stored in the first memory unit 1604 in the past (for example, immediately before) as the quantization offset value at the same position as the delta offset value to be calculated. Reading from the first memory unit 1604.
  • the offset parameter calculation unit 1600 determines the first coefficient (Factor1) based on the first correction parameter D106, and scales the quantization offset value before the update with the first coefficient, thereby obtaining the first value. Is calculated (step S1302).
  • the first coefficient (Factor 1) is calculated by the following (formula 6).
  • “First Modification Parameter” indicates a first correction parameter
  • “Update Denominator” indicates an offset update denominator.
  • the offset update denominator may be included in the header as shown in FIGS. 6A and 6B, or may be set to a predefined value without being included.
  • the predefined value is, for example, 16 or 128.
  • the first value (First Value) is calculated by the following (Expression 7).
  • “Old Offset Value” indicates a quantization offset value before update.
  • the offset parameter calculation unit 1600 calculates the difference between the pre-update quantization offset value (Old Offset Value) and the fixed value (Fixed Value) (step S1304).
  • the difference is indicated by “Old Offset Value-Fixed Value”.
  • the fixed value is 16, that is, the DC offset value or the average offset value of the block.
  • the offset parameter calculation unit 1600 calculates the second coefficient by using the second correction parameter D108 shown in FIG. 7, and calculates the second value by scaling the calculated difference by the second coefficient. (Step S1306).
  • the second coefficient is calculated by the following (Equation 8).
  • “Second Modification Parameter” indicates a second correction parameter.
  • the second value (Second Value) is calculated by the following (Equation 9).
  • Second Value (Old Offset Value-Fixed Value) ⁇ Factor2 (Equation 9)
  • the offset parameter calculation unit 1600 calculates a predicted quantization offset value (calculated value) by adding the first value and the second value (step S1308). Further, the offset parameter calculation unit 1600 subtracts the predicted quantization offset value from the updated new quantization offset value (New Offset Value), that is, “New Offset Value- (Fist Value + Second Value)”. To calculate the delta offset value to be calculated (step S1310).
  • New Offset Value updated new quantization offset value
  • Equation 10 the calculation represented by (Equation 10) is performed according to the order indicated by steps S1300 to S1310 in FIG. 14, but the calculation may be performed in another order.
  • FIG. 15 is a flowchart showing a process in which the image coding apparatus 2000 according to the present embodiment writes the offset update parameter in the header using the first update method.
  • FIG. 15 shows the detailed processing of step S710 in FIG.
  • the offset parameter writing unit 1602 writes the first correction parameter used by the offset parameter calculation unit 1600 in the header (step S900), and then the second correction parameter used by the offset parameter calculation unit 1600 is written. Write in the header (step S902). Then, the offset parameter writing unit 1602 calculates the number of delta offset values to be written (step S904). The calculation for determining the number of delta offset values is performed, for example, by determining the position of the last non-zero delta offset value in the scanning order in the two-dimensional matrix. This two-dimensional matrix is a matrix corresponding to the quantization offset matrix and includes a delta offset value as an element.
  • the offset parameter writing unit 1602 writes the number of delta offset values calculated in this way in the header (step S906). Then, the offset parameter writing unit 1602 initializes the count value to 0 (step S908), as long as the condition that the count value is smaller than the number of delta offset values written in step S906 is satisfied. Repeat the process. In the loop B, the offset parameter writing unit 1602 writes one delta offset value in the header in the scanning order from the plurality of delta offset values calculated by the offset parameter calculating unit 1600 (step S910). Thereafter, the offset parameter writing unit 1602 increments the count value (step S912).
  • the offset parameter writing unit 1602 repeatedly executes the processes of steps S910 and S912 until the number of delta offset values written in step S906 becomes equal to the count value.
  • the offset parameter writing unit 1602 makes the position of the delta offset value written in step S910 equal to the position of the last non-zero delta offset value in the scanning order in the above-described two-dimensional matrix. Until then, the delta offset value is continuously written to the header.
  • FIG. 16 is a flowchart illustrating processing in which the image decoding apparatus 1000 according to the present embodiment calculates a quantization offset value using the second update method.
  • FIG. 16 shows the detailed processing of step S616 in FIG.
  • the quantization offset value calculation unit 1502 initializes the first quantization offset value to a predefined value (initial value) (step S1000).
  • the predefined value (initial value) is 8 or 16, for example.
  • the offset parameter analysis unit 1500 and the quantization offset value calculation unit 1502 repeatedly execute the process of loop C unless the calculated new quantization offset value is 0.
  • the offset parameter analysis unit 1500 analyzes one delta offset value selected in the scanning order from a plurality of continuous delta offset values in the offset update parameter of the header (step S1004).
  • the quantization offset value calculation unit 1502 calculates a new quantization offset value by adding the analyzed delta offset value to the initial value in the scanning order (step S1006). Then, the quantization offset value calculation unit 1502 updates the initial value to the new quantization offset value calculated in step S1006 (step S1008).
  • the updated initial value is used as a value to be added to the next delta offset value in the scanning order.
  • the plurality of delta offset values in the offset update parameter are configured as a two-dimensional matrix so as to correspond to the plurality of transform coefficients (frequency components) of the transform block, like the plurality of calculated new quantization offset values.
  • Each value is arranged in the scanning order from the low frequency component to the high frequency component. That is, steps S1004, S1006, and S1008 are repeated until the position of the analyzed delta offset value reaches a predetermined scanning position in the two-dimensional matrix corresponding to the transform block.
  • steps S1004, S1006, and S1008 the position of the quantization offset value to be calculated is set to a predetermined scanning position (a position where a zero quantization offset value is calculated) of the quantization offset matrix corresponding to the transform block. The process is repeated until it reaches or until the quantization offset value calculated in step S1006 becomes zero.
  • the quantization offset value calculation unit 1502 displays the remaining quantization offset value from the position of the zero quantization offset value to the last scanning position immediately before.
  • the calculated non-zero quantization offset value is set (step S1012). Note that the above-described scanning order is, for example, a zigzag scanning order.
  • FIG. 17 is a flowchart showing a process in which the image coding apparatus 2000 according to the present embodiment writes the delta offset value in the header using the second update method.
  • FIG. 17 shows the detailed processing of step S716 in FIG.
  • the offset parameter calculation unit 1600 initializes the first reference offset value to a predefined value (step S1100), and initializes the count value to 0 (step S1102).
  • the predefined value is 8 or 16, for example.
  • the offset parameter calculation unit 1600 and the offset parameter writing unit 1602 repeatedly execute the processing of the loop D as long as the first condition that the count value is smaller than the number of transform coefficients (frequency components) in the transform block is satisfied. To do. Even if the above condition is satisfied, if the second condition is satisfied by the process of step S1110 described later, the repetition of the process of loop D is stopped.
  • the offset parameter calculation unit 1600 calculates a delta offset value by subtracting the reference offset value from the new quantization offset value in the scanning order (step S1104).
  • the offset parameter writing unit 1602 writes the calculated delta offset value in the header (step S1106).
  • the offset parameter calculation unit 1600 updates the reference offset value to the new quantization offset value used in step S1104 (step S1108). The reference offset value updated in this manner is subtracted from the next new quantization offset value in the scanning order in the subsequent step S1104.
  • the offset parameter calculation unit 1600 refers to all remaining quantization offset values in the new quantization offset matrix that are later in the scanning order than the new quantization offset value used in the immediately preceding step S1104. It is determined whether or not the offset value is the same (step S1110). If the offset parameter calculation unit 1600 determines that they are the same (Yes in step S1110), each delta offset value corresponding to all the remaining new quantization offset values is calculated as a negative reference offset value. To do. At this time, the second condition described above is satisfied, and the loop D processing is stopped. Then, the offset parameter writing unit 1602 writes the delta offset value, which is the negative reference offset value, in the header (step S1112). On the other hand, if the offset parameter calculation unit 1600 determines in step S1110 that all the remaining new quantization offset values are not the same as the reference offset value (No in step S1110), the offset parameter calculation unit 1600 increments the count value (step S1114).
  • steps S1104, S1106, S1108, S1110, and S1114 are repeatedly executed as long as the first condition is satisfied and the second condition is not satisfied.
  • the above-described scanning order is, for example, a zigzag scanning order.
  • FIG. 18 is a flowchart illustrating processing in which the inverse quantization unit 1508 of the image decoding apparatus 1000 and the inverse quantization unit 1612 of the image encoding apparatus 2000 adjust the inverse quantization value using the quantization offset value according to the present embodiment. It is.
  • the inverse quantization unit obtains a quantization offset value from the first memory unit (step S1400).
  • the inverse quantization unit treats the quantization offset value as a quantization offset numerator.
  • the inverse quantization unit calculates a scale value by subtracting the quantization offset numerator from a predefined value (step S1402).
  • the inverse quantization unit multiplies the scale value by the quantization scale step size Qss (step S1404).
  • the inverse quantization unit calculates a quantization level offset value by dividing the product, which is the multiplication result in step S1404, by the same value as the predefined value used in step S1402 (step S1406). ).
  • the inverse quantization unit subtracts the quantization level offset value from the inverse quantization value (step S1408).
  • NewAbsVal AbsVal- (PredefinedVal-OffsetNumerator) x Quantization Step Size / PredefinedVal (Equation 11)
  • NewAbsVal is the absolute value of the new dequantized value after adjustment
  • PredefinedVal is a predefined value
  • OffsetNumerator is a quantization offset numerator.
  • Quantization Step Size is a quantization scale step size, and a predefined value is, for example, 128.
  • the image encoding apparatus since the quantization offset matrix is calculated using the offset update parameter, the image encoding apparatus does not need to insert the quantization offset matrix itself into the encoded stream.
  • Information for compressing the encoded offset matrix and returning the compressed quantized offset matrix to the original may be included in the header of the encoded stream as an offset update parameter. Therefore, the number of bits necessary for the quantization offset matrix can be reduced, and the code amount of the encoded stream can be reduced.
  • the image encoding device side can select an appropriate update method for quantization or inverse quantization.
  • the offset update parameter and the update type identifier corresponding to the selected update method may be included in the header of the encoded stream. Therefore, it is possible to provide flexibility in updating or calculating the quantization offset matrix.
  • Each of the plurality of offset parameters stored in the header of the above-described embodiment is configured by any one of the first to third update methods, and may be configured by mutually different update methods. However, the plurality of offset parameters according to this modification are all configured by the first update method.
  • FIG. 19 is a diagram showing a configuration of an offset parameter set D1700 according to this modification.
  • the offset parameter set D1700 corresponds to the offset parameter sets D306 and D312 shown in FIGS. 6A and 6B, and includes a plurality of offset parameters D1702.
  • the offset parameter set D1700 includes an offset parameter D1702 for each size.
  • the offset parameter set D1700 includes M offset parameters D1702, each corresponding to the size of the first to Mth transform blocks.
  • the offset parameter D1702 includes an offset update flag D1701 and an offset update parameter D1703 for calculating a quantization offset matrix.
  • the offset update flag D1701 is a flag for indicating whether or not the quantization offset value of the transform block should be updated, like the offset update flag D100 shown in FIG. That is, the offset update flag D1701 is a flag indicating whether or not each quantization offset value included in the quantization offset matrix before update should be updated by calculating the quantization offset matrix.
  • the offset update parameter D1703 is arranged following the offset update flag D1701. Further, the offset update parameter D1703 does not include the update type identifier D104, unlike the configuration of the offset update parameter D102 corresponding to the first update method shown in FIG. That is, the offset update parameter D1703 includes first and second correction parameters D1704, D1706, the number of delta offset values D1708, and N consecutive delta offset values D1710.
  • the image decoding apparatus 1000 and the image encoding apparatus 2000 according to the present modification execute the processes shown in FIGS. 8 and 9 as in the above embodiment.
  • FIG. 20 is a flowchart showing a process of calculating a new quantization offset matrix for one transform block according to this modification.
  • FIG. 20 shows detailed processing of steps S406 and S408 in FIG.
  • the offset parameter analysis unit 1500 analyzes the offset update flag in the header (step S1900).
  • the offset parameter analysis unit 1500 determines whether or not the offset update flag is 1 (step S1902). If the offset parameter analysis unit 1500 determines that the offset update flag is 1 (Yes in step S1902), the offset parameter analysis unit 1500 analyzes the offset update parameter in the header without analyzing the update type identifier (step S1904). Then, the quantization offset value calculation unit 1502 calculates a new quantization offset value (quantization offset matrix) from the offset update parameter (step S1906). At this time, the quantization offset value calculation unit 1502 calculates the quantization offset matrix using the first update method of the above embodiment.
  • FIG. 21 is a flowchart showing a process of calculating and writing an offset parameter for one conversion block according to this modification.
  • FIG. 21 shows detailed processing of steps S508 and S510 of FIG.
  • the offset parameter calculation unit 1600 determines an offset update flag, and the offset parameter writing unit 1602 writes the determined offset update flag in the header (step S2000).
  • the offset parameter calculation unit 1600 determines whether or not a new quantization offset matrix is used based on the determined offset update flag (step S2002). If the offset parameter calculation unit 1600 determines that a new quantization offset matrix is to be used (Yes in step S2002), the update type identifier is not determined and written based on the new quantization offset matrix.
  • An offset update parameter is calculated (step S2004). Then, the offset parameter writing unit 1602 writes the calculated offset update parameter in the header (step S2006). In steps S2004 and S2006, the offset parameter calculation unit 1600 and the offset parameter writing unit 1602 calculate and write the offset update parameter using the first update method, as in the above embodiment.
  • Each of the plurality of offset parameters stored in the header of the above-described embodiment is configured by any one of the first to third update methods, and may be configured by mutually different update methods.
  • the plurality of offset parameters according to the present modification are all configured by the first update method as in the first modification.
  • a predetermined past (for example, immediately before) quantization offset matrix is used to calculate a new quantization offset matrix.
  • a new quantization offset matrix is calculated using the given arbitrary quantization offset matrix.
  • FIG. 22 is a diagram showing a configuration of an offset parameter set D1800 according to this modification.
  • the offset parameter set D1800 corresponds to the offset parameter sets D306 and D312 shown in FIGS. 6A and 6B, and includes a plurality of offset parameters D1802.
  • the offset parameter set D1800 includes an offset parameter D1802 for each size.
  • the offset parameter set D1800 includes M offset parameters D1802, each corresponding to the size of the first to Mth transform blocks.
  • the offset parameter D1802 includes an offset update flag D1801 and an offset update parameter D1803 for calculating a quantization offset matrix.
  • the offset update flag D1801 is a flag for indicating whether or not the quantization offset value of the transform block should be updated, like the offset update flag D100 shown in FIG. That is, the offset update flag D1801 is a flag indicating whether or not each quantization offset value included in the quantization offset matrix before update should be updated by calculating the quantization offset matrix.
  • the offset update parameter D1803 is arranged following the offset update flag D1801. Further, the offset update parameter D1703 does not include the update type identifier D104, unlike the configuration of the offset update parameter D102 corresponding to the first update method shown in FIG.
  • the offset update parameter D1803 includes a matrix identifier D1804, which is different from the configuration of the offset update parameter D1703 shown in FIG. That is, the offset update parameter D1803 includes a matrix identifier D1804, first and second modification parameters D1806, D1808, a number of delta offset values D1810, and N consecutive delta offset values D1812.
  • the matrix identifier D1804 is an identifier for identifying the quantization offset matrix or the quantization scaling matrix.
  • the matrix identifier D1804 identifies a quantization matrix or quantization scaling matrix that has been used in the past and is used to calculate a new quantization matrix.
  • the image decoding apparatus 1000 and the image encoding apparatus 2000 according to the present modification execute the processes shown in FIGS. 8 and 9 as in the above embodiment. Furthermore, the image decoding apparatus 1000 and the image encoding apparatus 2000 according to the present modification execute the processes shown in FIGS. 20 and 21 as in the first modification.
  • FIG. 23 is a flowchart showing processing in which the image decoding apparatus 1000 according to the present modification analyzes the offset update parameter.
  • FIG. 23 shows detailed processing in step S1904 in FIG.
  • the offset parameter analysis unit 1500 analyzes the matrix identifier D1804 in the offset update parameter of the header (step S2100). Then, the offset parameter analysis unit 1500 analyzes the first correction parameter in the header offset update parameter (step S2102), and further analyzes the second correction parameter (step S2104). Next, the offset parameter analysis unit 1500 analyzes the number of delta offset values in the offset update parameter of the header (step S2106). Then, the offset parameter analyzing unit 1500 analyzes the plurality of consecutive delta offset values in the header offset update parameter by the number of the above-described numbers analyzed in step S2106 in the scanning order (step S2108). Here, a plurality of consecutive delta offset values in the offset update parameter are arranged in the scanning order in the two-dimensional matrix corresponding to the transform block.
  • these delta offset values are arranged from the low frequency component to the high frequency component in the zigzag scan order in the two-dimensional matrix corresponding to the transform block.
  • the scanning order differs depending on the size of the conversion block. For example, the scanning order of blocks (8 ⁇ 2 blocks) composed of 8 ⁇ 2 frequency components (transform coefficients) is different from the scanning order of blocks (2 ⁇ 8 blocks) composed of 2 ⁇ 8 frequency components.
  • the image decoding apparatus 1000 according to the present modification analyzes the offset update parameter by the process shown in FIG. 23, and then performs the same process as the process shown in FIG. 13 using the analyzed offset update parameter. Thereby, the image decoding apparatus 1000 according to the present modification calculates a quantization offset value (quantization offset matrix).
  • the image decoding apparatus 1000 according to the present modification uses the matrix identifier D1804 analyzed in step S2100 in FIG. 23 when acquiring the quantization offset value in step S1200 shown in FIG. That is, the quantization offset value calculation unit 1502 specifies the quantization offset matrix or quantization scaling matrix that is stored in the first memory unit 1506 and is identified by the matrix identifier D1804. Then, the quantization offset value calculation unit 1502 stores the quantization offset value at the same position as the calculation target quantization offset value in the first memory in the specified quantization offset matrix or quantization scaling matrix. Read from the unit 1506.
  • FIG. 24 is a flowchart illustrating processing in which the image decoding apparatus 1000 according to the present modification specifies a pre-update (past) matrix.
  • the quantization offset value calculation unit 1502 specifies the value indicated by the matrix identifier analyzed by the offset parameter analysis unit 1500 (step S2300). Next, the quantization offset value calculation unit 1502 determines whether or not the value indicated by the matrix identifier is a predetermined value (step S2302).
  • the quantization offset value calculation unit 1502 determines that the value is a predetermined value (Yes in step S2302), the quantization offset matrix associated with the value indicated by the matrix identifier is displayed in the first memory unit. A search is performed from 1506 (step S2306). Further, the quantization offset value calculation unit 1502 uses the searched quantization scaling matrix as a past quantization offset matrix used for calculating a new quantization offset matrix, that is, as a quantization offset matrix to be updated. Setting is performed (step S2308).
  • the quantization offset value calculation unit 1502 determines in step S2302 that the value indicated by the matrix identifier is not a predetermined value (No in step S2302), the quantization offset value calculation unit 1502 directly associates with the value indicated by the matrix identifier.
  • the search offset matrix is searched from the first memory unit 1506 (step S2304).
  • the quantization offset value calculation unit 1502 uses the quantization offset matrix searched in this way as a past quantization offset matrix used for calculating a new quantization offset matrix, that is, a quantization offset matrix to be updated. To do.
  • the image encoding apparatus 2000 calculates a delta offset value (a two-dimensional matrix including the delta offset value) by performing the same process as the process illustrated in FIG.
  • a delta offset value (a two-dimensional matrix including the delta offset value) by performing the same process as the process illustrated in FIG.
  • the offset parameter calculation unit 1600 of the image coding apparatus 2000 according to the present modification obtains the quantization offset value in step S1300 shown in FIG. 14, a plurality of items stored in the first memory unit 1604 are stored. Any one of the quantization offset matrix and the quantization scaling matrix is specified as a matrix before the past update.
  • the image coding apparatus 2000 specifies a matrix by performing the same process as the process shown in FIG.
  • the offset parameter calculation unit 1600 includes, in the specified past matrix before update (quantization offset matrix or quantization scaling matrix), a quantization offset value (at the same position as the delta offset value to be calculated) ( Alternatively, the quantization scaling step size) is read from the first memory unit 1604.
  • the offset parameter writing unit 1602 writes a matrix identifier for identifying the matrix (quantization offset matrix or quantization scaling matrix) specified by the offset parameter calculation unit 1600 in the header (step S2200).
  • the offset parameter writing unit 1602 writes the first correction parameter used by the offset parameter calculation unit 1600 in the header (step S2202), and then the second correction parameter used by the offset parameter calculation unit 1600. Is written in the header (step S2204). Further, the offset parameter writing unit 1602 calculates the number of delta offset values to be written (step S2206).
  • the calculation for obtaining the number of delta offset values is performed, for example, by obtaining the position of the last non-zero delta offset value in the scanning order in the two-dimensional matrix.
  • This two-dimensional matrix is a matrix corresponding to the quantization offset matrix and includes a delta offset value as an element.
  • the offset parameter writing unit 1602 writes the number of delta offset values calculated in this way in the header (step S2208).
  • the offset parameter writing unit 1602 may write a parameter indicating the number of delta offset values in the header.
  • the offset parameter writing unit 1602 writes the delta offset value calculated by the offset parameter calculating unit 1600 in the header in the scanning order by the number calculated in step S2206 (step S2210). That is, the offset parameter writing unit 1602 continuously stores the delta offset value until the position of the written delta offset value becomes equal to the position of the last non-zero delta offset value in the scanning order in the above-described two-dimensional matrix. Write to.
  • offset update denominators D304 and D310 are arranged between the update offset parameter flags D302 and D308 and the offset parameter sets D306 and D312. However, it may not be in that position.
  • the offset update denominator may be included in the offset update parameter D102 configured by the first update method.
  • the image decoding apparatus 1000 specifies or searches the matrix before update (past) using the matrix identifier as shown in FIG. 24.
  • the image encoding apparatus 2000 also performs the process shown in FIG.
  • the matrix before update (past) may be specified or searched using the matrix identifier.
  • an aspect of the present invention may be a decoding method as described below.
  • This decoding method is a decoding method for decoding a quantization offset parameter (offset parameter) used for image encoding, and analyzes a flag from a header of a picture (S400), and the flag indicates a predetermined value. If the flag indicates a predetermined value, the offset update denominator parameter is analyzed from the header (S404), and the newly updated quantization from the header is analyzed. The offset matrix value (quantization offset value) is decoded (S406 and S408).
  • the offset update denominator may be set to a predefined value.
  • the process of decoding a new quantized offset matrix analyzes the offset update flag from the header of the picture (S600), and the offset update flag is set to the first predetermined value. If the offset update flag indicates a first predetermined value, the parameter of the update type identifier is analyzed from the header (S602), and the analyzed It is determined whether or not the parameter indicates a second predetermined value (S604). If the parameter of the analyzed update type identifier indicates a second predetermined value, the offset update parameter Is analyzed from the header (S608), and a new quantization offset is calculated based on the analyzed offset update parameter.
  • the parameter of the analyzed update type identifier is determined to be a third predetermined value (S610). It is determined whether or not the value indicates a value (S606), and if the analyzed update type identifier parameter indicates a third predetermined value, a new quantization offset matrix value is analyzed from the header. If the parameter of the analyzed update type identifier does not indicate a third predetermined value, a single quantization offset value is analyzed from the header (S612), and the analyzed All the new quantization offset matrix values may be set to a single quantization offset value (S614).
  • an offset update flag is analyzed from the header of the picture (S1900), and whether or not the flag indicates a first predetermined value.
  • the offset update parameter is analyzed from the header (S1904), and a new quantized offset is calculated based on the analyzed offset update parameter.
  • a value may be calculated (S1906).
  • the process of analyzing the offset update parameter analyzes the first correction parameter from the header (S800), analyzes the second correction parameter from the header (S802), and calculates the encoded delta offset value from the header.
  • a parameter indicating the number may be analyzed (S806), and the delta offset value may be analyzed from the header based on the analyzed number of encoded delta offset values (S810).
  • the process of analyzing the offset update parameter analyzes the parameter of the matrix identifier from the header (S2100), analyzes the first correction parameter from the header (S2102), and analyzes the second correction parameter from the header. (S2104), analyzing a parameter indicating the number of encoded delta offset values from the header (S2106), and analyzing the delta offset from the header based on the analyzed number of encoded delta offset values. The value may be analyzed (S2108).
  • the process of analyzing the quantization offset matrix value initializes the first quantization offset value to a predefined value (S1000), analyzes the delta offset value in the scanning order from the header (S1004), and the analysis is performed.
  • a new quantization offset value is calculated by adding the delta offset value to the initial value (S1006), and whether or not the calculated quantization offset value is the last quantization offset value of the quantization offset matrix.
  • a determination is made (loop C), and if the calculated quantization offset value is not the last quantization offset value, the delta offset value at the next matrix position in the scanning order is initialized to the calculated value (S1008). If the calculated value is not 0, the next delta offset value is decoded in the scanning order (S1004), If the new quantizer offset value serial calculated is 0, it may be set remaining quantization offset value to the quantization offset value of past non-zero.
  • the process of calculating a new quantization offset value using the offset update parameter determines a past quantization offset value (S1200), and uses the coefficient determined by the first correction parameter to determine the past quantization offset value.
  • the first value is calculated by scaling (S1202), the difference between the past quantization offset value and the fixed value is derived (S1204), and the difference is calculated using the coefficient determined by the second correction parameter.
  • the second value is calculated by scaling (S1206), the first value and the second value are added to obtain the calculated offset value (S1208), and the delta offset value is added to the calculated offset value
  • a new quantization offset value is calculated (S1210).
  • the coefficient obtained by the first correction parameter calculates a sum of the first correction parameter and an offset update denominator value, and divides the sum by the offset update denominator value. It is the ratio calculated by.
  • the coefficient obtained by the second correction parameter is a ratio calculated by dividing the second correction parameter by the value of the offset update denominator.
  • the fixed value is a predefined value.
  • the fixed value is a quantization offset value of the DC position of the transform block.
  • the fixed value is an average offset value of the conversion block.
  • one aspect of the present invention may be the following encoding method.
  • This encoding method is an encoding method for encoding a quantization offset parameter (offset parameter) used for image encoding, in which a flag is written in a header of a picture (S500), and a quantization offset matrix value (quantization) Offset matrix) is to be updated (S502), and if the quantized offset matrix value is to be updated, the offset update denominator parameters are written to the header (S504), The newly updated quantization offset matrix value is encoded (S508 and S510).
  • offset parameter a quantization offset parameter used for image encoding
  • the offset update denominator may be set to a predefined value.
  • an offset update flag is written in the picture header (S700), it is determined whether or not the new quantization offset matrix is used (S701), and the new offset matrix is used. If so, the parameter of the update type identifier is written in the header (S702), the update method is used to determine whether the quantization offset matrix value should be encoded (S704), and the update method is used.
  • an offset update parameter is calculated using the update method based on the new quantized offset matrix value (S708), and the offset update parameter is written to the header ( S710), before using the update method
  • the quantization offset matrix value is not to be encoded (S706), it is determined whether the new quantization offset matrix value is the same value, and if the new quantization offset matrix value is not the same value, the new A quantization offset matrix value is written in the header (S716), and if the new quantization offset matrix value is the same value, a single quantization offset value (quantization offset matrix value) may be written in the header ( S712).
  • an offset update flag is written in the header of the picture (S2000), it is determined whether or not a new quantization offset matrix is used (S2002), and the new quantization offset matrix is determined. Is used, an offset update parameter may be calculated based on the new quantization offset value (S2004), and the offset update parameter may be written in the header (S2006).
  • the process of writing the offset update parameter writes the first correction parameter in the header (S900), writes the second correction parameter in the header (S902), calculates the number of delta offset values (S904), A parameter indicating the number of converted delta offset values may be written to the header (S906), and a delta offset value may be written to the header based on the number of encoded delta offset values written (S910). .
  • the offset update parameter is written by writing a matrix identifier parameter in the header (S2200), writing the first correction parameter in the header (S2202), and writing the second correction parameter in the header (S2204).
  • the number of delta offset values is calculated (S2206), a parameter indicating the number of encoded delta offset values is written to the header (S2208), and based on the number of encoded delta offset values written.
  • a delta offset value may be written in the header (S2210).
  • the process of writing the quantization offset matrix value is performed by initializing the first reference offset value to a predetermined value (S1100) and subtracting the reference offset value from the next new quantization offset value in the scanning order.
  • a delta offset value is calculated (S1104), a delta offset value is encoded in the header (S1106), a reference offset value for the next position of the transform block is set as the new quantization offset value (S1108), In step S1110, it is determined whether the remaining quantization offset value is the same value as the reference offset value.
  • the reference The delta offset value is encoded to a negative value of the offset value (S1112), If Coca offset value is not the same value as the reference offset value, to the last position of the transform block may be calculated next delta offset value in scanning order (S1104).
  • the process of calculating the offset update parameter determines the past quantization offset value (S1300), and scales the past quantization offset value by the coefficient determined by the first correction parameter.
  • the coefficient obtained by the first correction parameter calculates a sum of the first correction parameter and an offset update denominator value, and divides the sum by the offset update denominator value. It is the ratio calculated by.
  • the coefficient obtained by the second correction parameter is a ratio calculated by dividing the second correction parameter by the value of the offset update denominator.
  • the fixed value is a predefined value.
  • the fixed value is an offset value of the DC position of the conversion block.
  • the process of determining the past quantization offset matrix value may be the following process.
  • a value of a matrix identifier parameter is determined (S2300), whether or not the matrix identifier parameter indicates a predetermined value is determined (S2302), and the matrix identifier parameter indicates a predetermined value
  • the quantization scaling matrix value is retrieved from the memory (S2306), the quantization offset matrix value is set to the retrieved quantization scaling matrix value (S2308), and the matrix identifier parameter does not indicate a predetermined value. In this case, the quantization offset matrix value is retrieved from the memory (S2304).
  • one aspect of the present invention may be the following adjustment method.
  • This adjustment method is an adjustment method for adjusting an inverse quantization value using a quantization offset value, obtains the quantization offset value (S1400), and subtracts the quantization offset value from a predefined value.
  • a scale value is obtained (S1402), the scale value is multiplied by a quantization scale step size (S1404), and an adjustment value is obtained by dividing the product value by the predefined value (S1406).
  • the adjustment value is subtracted from the inversely quantized value (S1408).
  • the predefined value is 128.
  • the present invention is not only realized by the above-described decoding method, encoding method, and adjustment method, but also an apparatus, an integrated circuit, and a process according to the method that perform decoding, encoding, and adjustment by such a method.
  • the present invention can also be realized as a program to be executed and a recording medium for storing the program.
  • the storage medium may be any medium that can record a program, such as a magnetic disk, an optical disk, a magneto-optical disk, an IC card, and a semiconductor memory.
  • FIG. 26 is a diagram showing an overall configuration of a content supply system ex100 that realizes a content distribution service.
  • the communication service providing area is divided into desired sizes, and base stations ex106 to ex110, which are fixed radio stations, are installed in each cell.
  • the content supply system ex100 includes a computer ex111, a PDA (Personal Digital Assistant) ex112, a camera ex113, a mobile phone ex114, a game machine via the Internet ex101, the Internet service provider ex102, the telephone network ex104, and the base stations ex106 to ex110. Each device such as ex115 is connected.
  • PDA Personal Digital Assistant
  • each device may be directly connected to the telephone network ex104 without going through the base stations ex106 to ex110 which are fixed wireless stations.
  • the devices may be directly connected to each other via short-range wireless or the like.
  • the camera ex113 is a device that can shoot moving images such as a digital video camera
  • the camera ex116 is a device that can shoot still images and movies such as a digital camera.
  • the mobile phone ex114 is a GSM (Global System for Mobile Communications) method, a CDMA (Code Division Multiple Access) method, a W-CDMA (Wideband-Code Division Multiple Access L (Semiconductor Access) method, a W-CDMA (Wideband-Code Division Multiple Access L method, or a high access rate).
  • GSM Global System for Mobile Communications
  • CDMA Code Division Multiple Access
  • W-CDMA Wideband-Code Division Multiple Access L (Semiconductor Access) method
  • W-CDMA Wideband-Code Division Multiple Access L method
  • a high access rate A High Speed Packet Access
  • PHS Personal Handyphone System
  • the camera ex113 and the like are connected to the streaming server ex103 through the base station ex109 and the telephone network ex104, thereby enabling live distribution and the like.
  • the content for example, music live video
  • the streaming server ex103 streams the content data transmitted to the requested client.
  • the client include a computer ex111, a PDA ex112, a camera ex113, a mobile phone ex114, a game machine ex115, and the like that can decode the encoded data.
  • Each device that has received the distributed data decodes and reproduces the received data.
  • the encoded processing of the captured data may be performed by the camera ex113, the streaming server ex103 that performs the data transmission processing, or may be performed in a shared manner.
  • the decryption processing of the distributed data may be performed by the client, the streaming server ex103, or may be performed in a shared manner.
  • still images and / or moving image data captured by the camera ex116 may be transmitted to the streaming server ex103 via the computer ex111.
  • the encoding process in this case may be performed by any of the camera ex116, the computer ex111, and the streaming server ex103, or may be performed in a shared manner.
  • these encoding processing and decoding processing are generally performed in a computer ex111 and an LSI (Large Scale Integration) ex500 included in each device.
  • the LSI ex500 may be configured as a single chip or a plurality of chips.
  • image encoding and image decoding software is incorporated into some recording medium (CD-ROM, flexible disk, hard disk, etc.) that can be read by the computer ex111 and the like, and the encoding processing and decoding processing are performed using the software. May be.
  • moving image data acquired by the camera may be transmitted. The moving image data at this time is data encoded by the LSI ex500 included in the mobile phone ex114.
  • the streaming server ex103 may be a plurality of servers or a plurality of computers, and may process, record, and distribute data in a distributed manner.
  • the encoded data can be received and reproduced by the client.
  • the information transmitted by the user can be received, decrypted and reproduced in real time by the client, and even a user who does not have special rights or facilities can realize personal broadcasting.
  • the image encoding method or the image decoding method shown in the above embodiment may be used for encoding and decoding of each device constituting the content supply system.
  • FIG. 27 is a diagram illustrating the mobile phone ex114 using the image encoding method and the image decoding method described in the above embodiment.
  • the cellular phone ex114 includes an antenna ex601 for transmitting and receiving radio waves to and from the base station ex110, a video from a CCD camera, a camera unit ex603 capable of taking a still image, a video shot by the camera unit ex603, and an antenna ex601.
  • a display unit ex602 such as a liquid crystal display that displays data obtained by decoding received video and the like, a main body unit composed of a group of operation keys ex604, an audio output unit ex608 such as a speaker for outputting audio, and a voice input Audio input unit ex605 such as a microphone, recorded moving image or still image data, received mail data, moving image data or still image data, etc., for storing encoded data or decoded data
  • Recording media ex607 can be attached to media ex607 and mobile phone ex114 And a slot unit ex606 for.
  • the recording medium ex607 stores a flash memory element, which is a kind of EEPROM, which is a nonvolatile memory that can be electrically rewritten and erased, in a plastic case such as an SD card.
  • the mobile phone ex114 has a power supply circuit ex710, an operation input control unit ex704, an image encoding unit, and a main control unit ex711 configured to control the respective units of the main body unit including the display unit ex602 and the operation key ex604.
  • Unit ex712, camera interface unit ex703, LCD (Liquid Crystal Display) control unit ex702, image decoding unit ex709, demultiplexing unit ex708, recording / reproducing unit ex707, modulation / demodulation circuit unit ex706, and audio processing unit ex705 are connected to each other via a synchronization bus ex713. It is connected.
  • the power supply circuit ex710 activates the camera-equipped digital mobile phone ex114 by supplying power to each unit from the battery pack. .
  • the cellular phone ex114 converts the audio signal collected by the audio input unit ex605 in the audio call mode into digital audio data by the audio processing unit ex705 based on the control of the main control unit ex711 including a CPU, a ROM, a RAM, and the like.
  • the modulation / demodulation circuit unit ex706 performs spread spectrum processing, the transmission / reception circuit unit ex701 performs digital analog conversion processing and frequency conversion processing, and then transmits the result via the antenna ex601.
  • the cellular phone ex114 amplifies the received data received by the antenna ex601 in the voice call mode, performs frequency conversion processing and analog-digital conversion processing, performs spectrum despreading processing by the modulation / demodulation circuit unit ex706, and performs analog speech by the voice processing unit ex705. After the data is converted, it is output via the audio output unit ex608.
  • text data of the e-mail input by operating the operation key ex604 on the main body is sent to the main control unit ex711 via the operation input control unit ex704.
  • the main control unit ex711 performs spread spectrum processing on the text data in the modulation / demodulation circuit unit ex706, performs digital analog conversion processing and frequency conversion processing in the transmission / reception circuit unit ex701, and then transmits the text data to the base station ex110 via the antenna ex601.
  • the image data captured by the camera unit ex603 is supplied to the image encoding unit ex712 via the camera interface unit ex703.
  • the image data captured by the camera unit ex603 can be directly displayed on the display unit ex602 via the camera interface unit ex703 and the LCD control unit ex702.
  • the image encoding unit ex712 is configured to include the image encoding device described in the present invention, and an encoding method using the image data supplied from the camera unit ex603 in the image encoding device described in the above embodiment. Is converted into encoded image data by compression encoding and sent to the demultiplexing unit ex708. At the same time, the mobile phone ex114 sends the sound collected by the sound input unit ex605 during imaging by the camera unit ex603 to the demultiplexing unit ex708 via the sound processing unit ex705 as digital sound data.
  • the demultiplexing unit ex708 multiplexes the encoded image data supplied from the image encoding unit ex712 and the audio data supplied from the audio processing unit ex705 by a predetermined method, and the resulting multiplexed data is a modulation / demodulation circuit unit Spread spectrum processing is performed in ex706, digital analog conversion processing and frequency conversion processing are performed in the transmission / reception circuit unit ex701, and then transmission is performed via the antenna ex601.
  • the received data received from the base station ex110 via the antenna ex601 is subjected to spectrum despreading processing by the modulation / demodulation circuit unit ex706, and the resulting multiplexing is obtained.
  • Data is sent to the demultiplexing unit ex708.
  • the demultiplexing unit ex708 separates the multiplexed data into a bit stream of image data and a bit stream of audio data, and a synchronization bus
  • the encoded image data is supplied to the image decoding unit ex709 via ex713 and the audio data is supplied to the audio processing unit ex705.
  • the image decoding unit ex709 is configured to include the image decoding device described in the present application, and is reproduced by decoding the bit stream of the image data with a decoding method corresponding to the encoding method described in the above embodiment.
  • Moving image data is generated and supplied to the display unit ex602 via the LCD control unit ex702, thereby displaying, for example, moving image data included in a moving image file linked to a home page.
  • the audio processing unit ex705 converts the audio data into analog audio data, and then supplies the analog audio data to the audio output unit ex608.
  • the audio data included in the moving image file linked to the home page is reproduced.
  • a decoding device can be incorporated.
  • audio data, video data, or a bit stream in which those data are multiplexed is transmitted to a communication or broadcasting satellite ex202 via radio waves.
  • the broadcasting satellite ex202 transmits a radio wave for broadcasting
  • a home antenna ex204 having a satellite broadcasting receiving facility receives the radio wave
  • the television (receiver) ex300 or the set top box (STB) ex217 or the like The device decodes the bitstream and reproduces it.
  • the reader / recorder ex218 that reads and decodes a bitstream in which image data and audio data recorded on recording media ex215 and ex216 such as CD and DVD as recording media are multiplexed is also shown in the above embodiment. It is possible to implement an image decoding device. In this case, the reproduced video signal is displayed on the monitor ex219. Further, a configuration in which an image decoding device is mounted in a set-top box ex217 connected to a cable ex203 for cable television or an antenna ex204 for satellite / terrestrial broadcasting, and this is reproduced on the monitor ex219 of the television is also conceivable. At this time, the image decoding apparatus may be incorporated in the television instead of the set top box. In addition, a car ex210 having an antenna ex205 can receive a signal from a satellite ex202 or a base station and reproduce a moving image on a display device such as a car navigation ex211 included in the car ex210.
  • audio data, video data recorded on a recording medium ex215 such as DVD or BD, or an encoded bit stream in which those data are multiplexed are read and decoded, or audio data, video data or these are recorded on the recording medium ex215.
  • the image decoding apparatus or the image encoding apparatus described in the above embodiment can also be mounted on the reader / recorder ex218 that encodes the data and records the multiplexed data as multiplexed data.
  • the reproduced video signal is displayed on the monitor ex219.
  • the recording medium ex215 on which the encoded bit stream is recorded allows other devices and systems to reproduce the video signal.
  • the other reproduction device ex212 can reproduce the video signal on the monitor ex213 using the recording medium ex214 on which the encoded bitstream is copied.
  • an image decoding device may be mounted in the set-top box ex217 connected to the cable ex203 for cable television or the antenna ex204 for satellite / terrestrial broadcasting and displayed on the monitor ex219 of the television.
  • the image decoding apparatus may be incorporated in the television instead of the set top box.
  • FIG. 30 is a diagram illustrating a television (receiver) ex300 that uses the image decoding method and the image encoding method described in the above embodiment.
  • the television ex300 obtains or outputs a bit stream of video information via the antenna ex204 or the cable ex203 that receives the broadcast, and a tuner ex301 that outputs or outputs the encoded data that is received or demodulated.
  • Modulation / demodulation unit ex302 that modulates data for transmission to the outside, and multiplexing / separation unit ex303 that separates demodulated video data and audio data, or multiplexes encoded video data and audio data Is provided.
  • the television ex300 decodes each of the audio data and the video data, or encodes the respective information, the audio signal processing unit ex304, the signal processing unit ex306 including the video signal processing unit ex305, and the decoded audio signal. And an output unit ex309 including a display unit ex308 such as a display for displaying the decoded video signal.
  • the television ex300 includes an interface unit ex317 including an operation input unit ex312 that receives an input of a user operation.
  • the television ex300 includes a control unit ex310 that controls each unit in an integrated manner, and a power supply circuit unit ex311 that supplies power to each unit.
  • the interface unit ex317 includes a bridge ex313 connected to an external device such as a reader / recorder ex218, a slot unit ex314 for enabling recording media ex216 such as an SD card, and an external recording such as a hard disk
  • a driver ex315 for connecting to a medium, a modem ex316 for connecting to a telephone network, and the like may be included.
  • the recording medium ex216 is capable of electrically recording information by using a nonvolatile / volatile semiconductor memory element to be stored.
  • Each part of the television ex300 is connected to each other via a synchronous bus.
  • the television ex300 receives a user operation from the remote controller ex220 or the like, and demultiplexes the video data and audio data demodulated by the modulation / demodulation unit ex302 by the multiplexing / separation unit ex303 based on the control of the control unit ex310 having a CPU or the like. . Furthermore, the television ex300 decodes the separated audio data by the audio signal processing unit ex304, and the separated video data is decoded by the video signal processing unit ex305 using the decoding method described in the above embodiment. The decoded audio signal and video signal are output to the outside from the output unit ex309.
  • these signals may be temporarily stored in the buffers ex318, ex319, etc. so that the audio signal and the video signal are reproduced in synchronization.
  • the television ex300 may read the encoded bitstream encoded from the recording media ex215 and ex216 such as a magnetic / optical disk and an SD card, not from a broadcast or the like. Next, a configuration will be described in which the television ex300 encodes an audio signal and a video signal and transmits them to the outside or writes them to a recording medium or the like.
  • the television ex300 receives a user operation from the remote controller ex220 or the like, and encodes an audio signal with the audio signal processing unit ex304 based on the control of the control unit ex310, and the video signal with the video signal processing unit ex305 in the above embodiment. Encoding is performed using the described encoding method.
  • the encoded audio signal and video signal are multiplexed by the multiplexing / demultiplexing unit ex303 and output to the outside. When multiplexing, these signals may be temporarily stored in the buffers ex320 and ex321 so that the audio signal and the video signal are synchronized.
  • a plurality of buffers ex318 to ex321 may be provided as shown in the figure, or a configuration in which one or more buffers are shared may be used. Further, in addition to the illustrated example, data may be stored in the buffer as a buffer material that prevents system overflow and underflow even between the modulation / demodulation unit ex302 and the multiplexing / demultiplexing unit ex303, for example.
  • the television ex300 In addition to acquiring audio data and video data from broadcast and recording media, the television ex300 has a configuration for receiving AV input of a microphone and a camera, and even if encoding processing is performed on the data acquired therefrom Good.
  • the television ex300 has been described as a configuration capable of the above-described encoding processing, multiplexing, and external output. However, all of these processing cannot be performed, and the above reception, decoding processing, and external
  • the configuration may be such that only one of the outputs is possible.
  • the decoding process or the encoding process may be performed by either the television ex300 or the reader / recorder ex218.
  • the television ex300 and the reader / recorder ex218 may be shared with each other.
  • FIG. 31 shows a configuration of the information reproducing / recording unit ex400 when data is read from or written to an optical disk.
  • the information reproducing / recording unit ex400 includes elements ex401 to ex407 described below.
  • the optical head ex401 irradiates a laser spot on the recording surface of the recording medium ex215 that is an optical disc to write information, and detects information reflected from the recording surface of the recording medium ex215 to read the information.
  • the modulation recording unit ex402 electrically drives a semiconductor laser built in the optical head ex401 and modulates the laser beam according to the recording data.
  • the reproduction demodulator ex403 amplifies a reproduction signal obtained by electrically detecting reflected light from the recording surface by a photodetector built in the optical head ex401, separates and demodulates a signal component recorded on the recording medium ex215, and is necessary. To play back information.
  • the buffer ex404 temporarily holds information to be recorded on the recording medium ex215 and information reproduced from the recording medium ex215.
  • the disk motor ex405 rotates the recording medium ex215.
  • the servo control unit ex406 moves the optical head ex401 to a predetermined information track while controlling the rotational drive of the disk motor ex405, and performs a laser spot tracking process.
  • the system control unit ex407 controls the entire information reproduction / recording unit ex400.
  • the system control unit ex407 uses various types of information held in the buffer ex404, and generates and adds new information as necessary. This is realized by recording / reproducing information through the optical head ex401 while the unit ex403 and the servo control unit ex406 are operated cooperatively.
  • the system control unit ex407 includes, for example, a microprocessor, and executes these processes by executing a read / write program.
  • the optical head ex401 has been described as irradiating a laser spot, but it may be configured to perform higher-density recording using near-field light.
  • FIG. 32 shows a schematic diagram of a recording medium ex215 that is an optical disk.
  • Guide grooves grooves
  • address information indicating the absolute position on the disc is recorded in advance on the information track ex230 by changing the shape of the groove.
  • This address information includes information for specifying the position of the recording block ex231 which is a unit for recording data, and the recording and reproducing apparatus specifies the recording block by reproducing the information track ex230 and reading the address information. be able to.
  • the recording medium ex215 includes a data recording area ex233, an inner peripheral area ex232, and an outer peripheral area ex234.
  • the area used for recording user data is the data recording area ex233, and the inner circumference area ex232 and the outer circumference area ex234 arranged on the inner circumference or outer circumference of the data recording area ex233 are used for specific purposes other than recording user data. Used.
  • the information reproducing / recording unit ex400 reads / writes encoded audio data, video data, or encoded data obtained by multiplexing these data, with respect to the data recording area ex233 of the recording medium ex215.
  • an optical disk such as a single-layer DVD or BD has been described as an example.
  • the present invention is not limited to these, and an optical disk having a multilayer structure and capable of recording other than the surface may be used. It also has a structure that performs multidimensional recording / reproduction, such as recording information using light of various different wavelengths at the same location on the disc, and recording different layers of information from various angles. It may be an optical disk.
  • the car ex210 having the antenna ex205 can receive data from the satellite ex202 and the like, and the moving image can be reproduced on a display device such as the car navigation ex211 that the car ex210 has.
  • the configuration of the car navigation ex211 is, for example, the configuration shown in FIG. 30 to which a GPS receiver is added, and the same can be considered for the computer ex111 and the mobile phone ex114.
  • the mobile phone ex114 and the like can be used in three ways: a transmitting terminal having only an encoder and a receiving terminal having only a decoder. The implementation form of can be considered.
  • the image encoding method or the image decoding method described in the above embodiment can be used in any of the above-described devices and systems, and by doing so, the effects described in the above embodiment can be obtained. be able to.
  • FIG. 33 shows the configuration of an LSI ex500 that is made into one chip.
  • the LSI ex500 includes elements ex501 to ex509 described below, and each element is connected via a bus ex510.
  • the power supply circuit unit ex505 starts up to an operable state by supplying power to each unit when the power supply is in an on state.
  • the LSI ex500 when performing the encoding process, inputs an AV signal from the microphone ex117, the camera ex113, and the like by the AV I / Oex 509 based on the control of the control unit ex501 having the CPU ex502, the memory controller ex503, the stream controller ex504, and the like. Accept.
  • the input AV signal is temporarily stored in an external memory ex511 such as SDRAM.
  • the accumulated data is appropriately divided into a plurality of times according to the processing amount and the processing speed, and sent to the signal processing unit ex507.
  • the signal processing unit ex507 performs encoding of an audio signal and / or encoding of a video signal.
  • the encoding process of the video signal is the encoding process described in the above embodiment.
  • the signal processing unit ex507 further performs processing such as multiplexing the encoded audio data and the encoded video data according to circumstances, and outputs the result from the stream I / Oex 506 to the outside.
  • the output bit stream is transmitted to the base station ex107 or written to the recording medium ex215. It should be noted that data should be temporarily stored in the buffer ex508 so that the data is synchronized when multiplexed.
  • the LSI ex500 is obtained by reading from the encoded data obtained via the base station ex107 by the stream I / Oex 506 or the recording medium ex215 based on the control of the control unit ex501.
  • the encoded data is temporarily stored in the memory ex511 or the like.
  • the accumulated data is appropriately divided into a plurality of times according to the processing amount and the processing speed and sent to the signal processing unit ex507.
  • the signal processing unit ex507 performs decoding of audio data and / or decoding of video data.
  • the decoding process of the video signal is the decoding process described in the above embodiment.
  • each signal may be temporarily stored in the buffer ex508 or the like so that the decoded audio signal and the decoded video signal can be reproduced in synchronization.
  • the decoded output signal is output from each output unit such as the mobile phone ex114, the game machine ex115, and the television ex300 through the memory ex511 or the like as appropriate.
  • the memory ex511 has been described as an external configuration of the LSI ex500.
  • a configuration included in the LSI ex500 may be used.
  • the buffer ex508 is not limited to one, and a plurality of buffers may be provided.
  • the LSI ex500 may be made into one chip or a plurality of chips.
  • LSI LSI
  • IC system LSI
  • super LSI ultra LSI depending on the degree of integration
  • the method of circuit integration is not limited to LSI, and implementation with a dedicated circuit or a general-purpose processor is also possible.
  • An FPGA that can be programmed after manufacturing the LSI or a reconfigurable processor that can reconfigure the connection and setting of circuit cells inside the LSI may be used.
  • the present invention is not limited to these embodiments. Unless it deviates from the meaning of the present invention, various forms conceived by those skilled in the art are applied to the embodiment, and other forms constructed by combining components and steps in different embodiments are also included in the present invention. It is included in the range.
  • the image decoding method and the image encoding method according to the present invention have the effect of reducing the amount of code of an encoded stream.
  • an image decoding device, an image encoding device, a video camera, a playback device, a moving image shooting The present invention can be applied to a mobile phone having a playback function, a personal computer, and the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

 符号量を削減した画像復号方法は、符号化ストリームに含まれる符号化画像を復号する画像復号方法であって、符号化ストリームに含まれるヘッダ内にあるオフセット更新フラグを解析し(S10)、解析されたオフセット更新フラグが予め定められた値を示しているか否かを判定し(S11)、解析されたオフセット更新フラグが予め定められた値を示していると判定された場合には、ヘッダに含まれるオフセット更新パラメータを用いて、符号化画像に適用される量子化オフセットマトリクスを算出し(S12)、算出された量子化オフセットマトリクスを用いて符号化画像に対する逆量子化を行うことによってその符号化画像を復号する(S13)。

Description

画像復号方法、画像符号化方法、それらの装置、プログラムおよび集積回路
 本発明は、符号化された画像を復号する方法、および画像を符号化する方法に関し、特に、逆量子化および量子化に用いられるパラメータの復号および符号化に関する。
 あらゆる画像または映像の符号化方式において、量子化は、画像または映像内のいくらかの情報を除去することでデータを圧縮する重要なステップである。量子化処理において情報を失うことで画像またはデータをよりよく圧縮できるように、量子化は通常、周波数変換された領域において実行される。
 大抵の画像または映像の符号化方式において、量子化処理は量子化パラメータによって制御できる。このとき量子化パラメータの値が大きければ圧縮量も大きくなり、より多くの情報が失われる。そしてその逆も同様である。
 量子化処理を制御するために、画像または映像の符号化方式の中には、量子化および逆量子化処理を、量子化パラメータの他に、量子化オフセット値のセット(量子化オフセットマトリクス)によっても制御できるものがある。ここで2次元変換ブロックにおける各周波係数(変換係数)は、量子化パラメータと、対応する1つの量子化オフセット値との両方を用いて量子化できる。
 逆量子化処理の一例は、次の式で表すことができる。
AbsCoeff[i][j] = ((abs(QuantizedCoeff[i][j])<<7)-Offset[i][j])*LevelScale>>(QShift+7)
 ここで、[i]および[j]は、2次元変換ブロックにおける周波数係数の位置を示し、AbsCoeff[i][j]は、位置(i,j)における周波数係数の逆量子化された値の絶対値を示す。QuantizedCoeff[i][j]は、位置(i,j)における周波数係数の量子化された値を示す。また、<<および>>は、ビットの左シフトおよび右シフトを示し、*は乗算を示す。さらに、LevelScaleおよびQShiftは量子化パラメータによって制御される。Offset[i][j]は、位置(i,j)における周波数係数に対する量子化オフセット値である。
 量子化処理に量子化オフセットパラメータを用いることを説明している先行技術がいくつかある。しかし、それらの先行技術が説明しているような量子化オフセットパラメータは、量子化処理にのみ用いられ、逆量子化処理には用いられない。このような量子化オフセットパラメータは、典型的な除算または右シフト演算における切り上げ演算としてのみ機能する。
 逆量子化処理に用いるためにデコーダに送信される量子化オフセット値を説明する先行技術は、僅かしかない(例えば、非特許文献1参照)。また、量子化オフセット値のダイナミックレンジは、通常、量子化スケールステップサイズに限定される。例として、以下に簡単に説明する。
 逆量子化処理は、通常、スケーリングつまり乗算処理である。逆量子化値は、通常、量子化スケールステップサイズによってスケーリングされる。そのとき、逆量子化値は、量子化オフセット値に対応する量子化レベルオフセット値を加算または減算することで上方または下方に調整できる。しかし、量子化レベルオフセット値を用いて行われる調整は、通常、1ステップサイズ未満に制限される。
 図1は、量子化レベルオフセット値を用いて調整された逆量子化値を示す図である。
 逆量子化値(逆量子化された量子化値の絶対値)は、量子化値(量子化値の絶対値)に対して量子化スケールステップサイズQssが乗算されることによって算出される。さらに、その逆量子化値は、その逆量子化値から量子化レベルオフセット値を減算(または加算)することによって、上方または下方に調整され、最終的な逆量子化値に設定される。
http://wftp3.itu.int/av-arch/jvt-site/2004_03_Munich/JVT-K026.zip
 先行技術における課題は、量子化オフセット値を要素に含むマトリクスである量子化オフセットマトリクスをデコーダに送信するのに必要なビット数が多いことである。特に、デコーダに送信する量子化オフセットマトリクスが多いときは、先行技術においては各量子化オフセット値を独立して送信するため、デコーダに送信するこれらのマトリクスを表現するのに大量のビットを必要とする。
 そこで、本発明は、かかる問題に鑑みてなされたものであって、符号量を削減した画像復号方法および画像符号化方法を提供することを目的とする。
 上記目的を達成するために、本発明の一態様に係る画像復号方法は、符号化ストリームに含まれる符号化画像を復号する画像復号方法であって、前記符号化ストリームに含まれるヘッダ内にあるオフセット更新フラグを解析し、解析された前記オフセット更新フラグが予め定められた値を示しているか否かを判定し、解析された前記オフセット更新フラグが予め定められた値を示していると判定された場合には、前記ヘッダに含まれるオフセット更新パラメータを用いて、前記符号化画像に適用される量子化オフセットマトリクスを算出し、算出された前記量子化オフセットマトリクスを用いて前記符号化画像に対する逆量子化を行うことによって前記符号化画像を復号する。
 これにより、オフセット更新パラメータを用いて量子化オフセットマトリクスが算出されるため、画像符号化装置側では、量子化オフセットマトリクスそのものを符号化ストリームに入れ込む必要は無く、その量子化オフセットマトリクスを圧縮し、その圧縮された量子化オフセットマトリクスを元に戻すための情報をオフセット更新パラメータとして符号化ストリームのヘッダに含めておけばよい。したがって、量子化オフセットマトリクスのために必要なビット数を減らすことができ、符号化ストリームの符号量を削減することができる。
 また、本発明の一態様に係る画像復号方法では、ヘッダ(例えばピクチャヘッダまたはシーケンスヘッダ)内に格納されているオフセット更新フラグから算出される量子化オフセットマトリクスによって逆量子化値を調整することができる範囲は広い。したがって、逆量子化値を調整する場合に、より柔軟性をもたせることができ、復号画像の主観的な画質を改善できる。
 また、前記ヘッダには、前記量子化オフセットマトリクスの更新方法を示す更新タイプ識別子が含まれており、前記量子化オフセットマトリクスを算出する際には、前記ヘッダに含まれる前記更新タイプ識別子を解析し、解析された前記更新タイプ識別子によって示される更新方法にしたがって前記量子化オフセットマトリクスを算出する。
 これにより、更新タイプ識別子に応じた更新方法で量子化オフセットマトリクスが算出されるため、画像符号化装置側では、量子化または逆量子化において適切な更新方法を選択することができ、その選択された更新方法に応じたオフセット更新パラメータと更新タイプ識別子を符号化ストリームのヘッダに含めておけばよい。したがって、量子化オフセットマトリクスの更新または算出に柔軟性を持たせることができる。
 また、前記量子化オフセットマトリクスを算出する際には、既にメモリに格納されている他の量子化オフセットマトリクスに対して、前記オフセット更新パラメータを適用することにより、算出対象の量子化オフセットマトリクスを算出する。
 これにより、算出対象の量子化オフセットマトリクスと他の量子化オフセットマトリクスとの差分が少ないほど、オフセット更新パラメータのビット数を削減することができ、符号化ストリームの符号量をさらに削減することができる。
 また、前記量子化オフセットマトリクスを算出する際には、前記他の量子化オフセットマトリクスである、直前に算出された量子化オフセットマトリクスに対して前記オフセット更新パラメータを適用する。
 これにより、直前に算出された量子化オフセットマトリクスは、算出対象の量子化オフセットマトリクスと類似している傾向が強いため、オフセット更新パラメータのビット数を確実に削減することができる。
 また、前記ヘッダには、前記他の量子化オフセットマトリクスを特定するためのマトリクス識別子が含められており、前記量子化オフセットマトリクスを算出する際には、前記ヘッダに含まれる前記マトリクス識別子を解析し、解析された前記マトリクス識別子によって識別される前記他の量子化オフセットマトリクスを前記メモリから検索する。
 これにより、画像符号化装置側では、算出対象の量子化オフセットマトリクスとの差分が少ない他の量子化オフセットマトリクスを適切に選択することができ、その選択された他の量子化オフセットマトリクスを特定するためのマトリクス識別子をヘッダに含めておけばよい。したがって、算出対象の量子化オフセットマトリクスと他の量子化オフセットマトリクスとの差分を確実に少なくすることができ、符号化ストリームの符号量をより確実に削減することができる。
 また、前記ヘッダには、第1および第2の修正パラメータと、算出対象の量子化オフセットマトリクスに含まれる要素のそれぞれに対応するデルタオフセット値とが含まれており、前記量子化オフセットマトリクスを算出する際には、前記ヘッダに含まれる前記第1および第2の修正パラメータに基づいて第1および第2の係数を算出し、前記他の量子化オフセットマトリクスの要素である既知の量子化オフセット値ごとに、当該既知の量子化オフセット値に第1の係数を乗算することにより第1の値を算出し、当該既知の量子化オフセット値と固定値との差分に第2の係数を乗算することにより第2の値を算出し、前記第1の値に前記第2の値を加算することにより予測量子化オフセット値を算出し、前記予測量子化オフセット値に、前記算出対象の前記量子化オフセットマトリクスの要素に対応する前記デルタオフセット値を加算することにより、前記要素である量子化オフセット値を算出する。
 例えば、前記ヘッダには、さらに、オフセット更新デノミネータが含まれており、前記第1の係数を算出する際には、前記第1の修正パラメータに前記オフセット更新デノミネータを加算し、前記加算によって得られた値を前記オフセット更新デノミネータで除算することによって、前記第1の係数を算出する。また、前記第2の係数を算出する際には、前記第2の修正パラメータを前記オフセット更新デノミネータで除算することによって、前記第2の係数を算出する。ここで、前記固定値は、算出対象の量子化オフセットマトリクスに対して予め定められた値である。
 また、前記固定値は、前記他の量子化オフセットマトリクスに要素として含まれる、直流成分に対応する位置にある量子化オフセット値であってもよい。
 これにより、他の量子化オフセットマトリクスの各既知の量子化オフセット値と固定値との差分に第2の係数を乗算することによって算出される第2の値はそれぞれ、他の量子化オフセットマトリクスの交流成分を表すことができ、その交流成分を用いて適切な予測量子化オフセット値を算出することができ、その結果、デルタオフセット値を少なくすることができる。したがって、符号量をさらに削減することができる。
 また、前記固定値は、前記他の量子化オフセットマトリクスに要素として含まれる複数の量子化オフセット値の平均値である。
 これにより、他の量子化オフセットマトリクスの各既知の量子化オフセット値と固定値との差分に第2の係数を乗算することによって算出される第2の値はそれぞれ、他の量子化オフセットマトリクスの各要素のばらつきを表すことができ、そのばらつきを用いて適切な予測量子化オフセット値を算出することができ、その結果、デルタオフセット値を少なくすることができる。したがって、符号量をさらに削減することができる。
 また、前記オフセット更新パラメータには、算出対象の量子化オフセットマトリクスの要素である複数の量子化オフセット値の間の差分を示す複数のデルタオフセット値が含まれており、前記量子化オフセットマトリクスを算出する際には、前記複数のデルタオフセット値のうちの何れか1つのデルタオフセット値を、当該量子化オフセットマトリクス内の既に算出された量子化オフセット値に加算することによって、新たな量子化オフセット値を算出することを繰り返す。
 これにより、算出対象の量子化オフセットマトリクスの中で複数の量子化オフセット値の間の差分が少ないほど、オフセット更新パラメータのビット数を削減することができ、符号化ストリームの符号量をさらに削減することができる。
 また、前記オフセット更新パラメータには、算出対象の量子化オフセットマトリクスの要素である量子化オフセット値が1つだけ、単一量子化オフセット値として含まれており、前記量子化オフセットマトリクスを算出する際には、算出対象の量子化オフセットマトリクスに含まれる全ての要素を、前記オフセット更新パラメータに含まれる前記単一量子化オフセット値に設定する。
 これにより、算出対象の量子化オフセットマトリクスの中の複数の量子化オフセット値が同じ値であれば、オフセット更新パラメータとして量子化オフセット値が1つだけヘッダに含められているため、オフセット更新パラメータのビット数を削減することができ、符号化ストリームの符号量をさらに削減することができる。
 なお、本発明は、このような画像復号方法として実現することができるだけでなく、その画像復号方法に対応する画像符号化方法、その画像復号方法にしたがって画像を復号する画像復号装置、その画像符号化方法にしたがって画像を符号化する画像符号化装置、それらの装置に対応する集積回路、それらの方法による画像処理をコンピュータに実行させるプログラム、そのプログラムを記録している記録媒体としても実現することができる。また、量子化オフセットマトリクスを符号化ストリームに書き込む方法、量子化オフセットマトリクスを符号化ストリームから解析する方法、それらの方法に対応する装置、プログラム、記録媒体、および集積回路としても実現することができる。
 本発明の画像復号方法および画像符号化方法は、符号量を削減することができるという作用効果を奏する。つまり、量子化オフセットマトリクスの符号化に必要なビットがより少なくなり、逆量子化処理における逆量子化値の扱いがより柔軟になるので、符号化効率が改善される。
図1は、量子化レベルオフセット値を用いて調整された逆量子化値を示す図である。 図2Aは、本発明の実施の形態1における画像復号装置の構成を示すブロック図である。 図2Bは、本発明の実施の形態1における画像復号方法を示すフローチャートである。 図3Aは、本発明の実施の形態1における画像符号化装置の構成を示すブロック図である。 図3Bは、本発明の実施の形態1における画像符号化方法を示すフローチャートである。 図4は、本発明の実施の形態1における画像復号装置の詳細な構成の一例を示すブロック図である。 図5は、本発明の実施の形態1における画像符号化装置の詳細な構成の一例を示すブロック図である。 図6Aは、本発明の実施の形態1におけるシーケンスヘッダの構成を示す図である。 図6Bは、本発明の実施の形態1におけるピクチャヘッダの構成を示す図である。 図7は、本発明の実施の形態1におけるオフセットパラメータセットの構成を示す図である。 図8は、本発明の実施の形態1における量子化オフセットマトリクスを復号する処理を示すフローチャートである。 図9は、本発明の実施の形態1における量子化オフセットマトリクスを符号化する処理を示すフローチャートである。 図10は、本発明の実施の形態1における1つの変換ブロックに対する新たな量子化オフセットマトリクスを算出する処理を示すフローチャートである。 図11は、本発明の実施の形態1における1つの変換ブロックに対するオフセットパラメータを算出して書き込む処理を示すフローチャートである。 図12は、本発明の実施の形態1における画像復号装置が第1の更新方法を用いて書き込まれたオフセット更新パラメータを解析する処理を示すフローチャートである。 図13は、本発明の実施の形態1における画像復号装置が第1の更新方法を用いて量子化オフセット値を算出する処理を示すフローチャートである。 図14は、本発明の実施の形態1における画像符号化装置が第1の更新方法を用いてオフセット更新パラメータのデルタオフセット値を算出する処理を示すフローチャートである。 図15は、本発明の実施の形態1における画像符号化装置が第1の更新方法を用いてオフセット更新パラメータをヘッダに書き込む処理を示すフローチャートである。 図16は、本発明の実施の形態1における画像復号装置が第2の更新方法を用いて量子化オフセット値を算出する処理を示すフローチャートである。 図17は、本発明の実施の形態1における画像符号化装置が第2の更新方法を用いてデルタオフセット値をヘッダに書き込む処理を示すフローチャートである。 図18は、本発明の実施の形態1における画像復号装置の逆量子化部および画像符号化装置の逆量子化部が量子化オフセット値を用いて逆量子化値を調整する処理を示すフローチャートである。 図19は、本発明の実施の形態1における変形例1に係るオフセットパラメータセットの構成を示す図である。 図20は、本発明の実施の形態1における変形例1に係る1つの変換ブロックに対する新たな量子化オフセットマトリクスを算出する処理を示すフローチャートである。 図21は、本発明の実施の形態1における変形例1に係る1つの変換ブロックに対するオフセットパラメータを算出して書き込む処理を示すフローチャートである。 図22は、本発明の実施の形態1における変形例2に係るオフセットパラメータセットの構成を示す図である。 図23は、本発明の実施の形態1における変形例2に係る画像復号装置がオフセット更新パラメータを解析する処理を示すフローチャートである。 図24は、本発明の実施の形態1における変形例2に係る画像復号装置がマトリクスを特定する処理を示すフローチャートである。 図25は、本発明の実施の形態1における変形例2に係る画像符号化装置がオフセット更新パラメータをヘッダに書き込む処理を示すフローチャートである。 図26は、コンテンツ配信サービスを実現するコンテンツ供給システムの全体構成の一例を示す模式図である。 図27は、携帯電話の外観を示す図である。 図28は、携帯電話の構成例を示すブロック図である。 図29は、デジタル放送用システムの全体構成の一例を示す模式図である。 図30は、テレビの構成例を示すブロック図である。 図31は、光ディスクである記録メディアに情報の読み書きを行う情報再生記録部の構成例を示すブロック図である。 図32は、光ディスクである記録メディアの構造例を示す図である。 図33は、各実施の形態に係る画像符号化方法および画像復号方法を実現する集積回路の構成例を示すブロック図である。
 以下、本発明の実施の形態について、図面を参照しながら説明する。
 (実施の形態1)
 図2Aは、本実施の形態における画像復号装置の構成を示すブロック図である。
 本実施の形態における画像復号装置1は、符号化ストリームに含まれる符号化画像を復号する装置であって、符号化ストリームに含まれるヘッダ内にあるオフセット更新フラグを解析するフラグ解析部10と、解析されたオフセット更新フラグが予め定められた値を示しているか否かを判定する判定部11と、解析されたオフセット更新フラグが予め定められた値を示していると判定された場合には、そのヘッダに含まれるオフセット更新パラメータを用いて、符号化画像に適用される量子化オフセットマトリクスを算出する量子化オフセットマトリクス算出部12と、算出された量子化オフセットマトリクスを用いて符号化画像に対する逆量子化を行うことによってその符号化画像を復号する逆量子化復号部13とを備える。
 図2Bは、本実施の形態における画像復号方法を示すフローチャートである。
 本実施の形態における画像復号方法は、符号化ストリームに含まれる符号化画像を復号する方法であって、符号化ストリームに含まれるヘッダ内にあるオフセット更新フラグを解析し(S10)、解析されたオフセット更新フラグが予め定められた値を示しているか否かを判定し(S11)、解析されたオフセット更新フラグが予め定められた値を示していると判定された場合には、ヘッダに含まれるオフセット更新パラメータを用いて、符号化画像に適用される量子化オフセットマトリクスを算出し(S12)、算出された量子化オフセットマトリクスを用いて符号化画像に対する逆量子化を行うことによってその符号化画像を復号する(S13)。なお、ステップS11で、解析されたオフセット更新フラグが予め定められた値を示していないと判定された場合には、既存の量子化オフセットマトリクスを用いて符号化画像に対する逆量子化を行うことによってその符号化画像を復号する(S14)。
 このように本実施の形態における画像復号装置1では、オフセット更新パラメータを用いて量子化オフセットマトリクスが算出されるため、画像符号化装置側では、量子化オフセットマトリクスそのものを符号化ストリームに入れ込む必要は無く、その量子化オフセットマトリクスを圧縮し、その圧縮された量子化オフセットマトリクスを元に戻すための情報をオフセット更新パラメータとして符号化ストリームのヘッダに含めておけばよい。したがって、量子化オフセットマトリクスのために必要なビット数を減らすことができ、符号化ストリームの符号量を削減することができる。
 図3Aは、本実施の形態における画像符号化装置の構成を示すブロック図である。
 本実施の形態における画像符号化装置2は、画像データを符号化することによって符号化ストリームを生成する装置であって、量子化オフセットマトリクスを更新すべきか否かを判定する判定部20と、その判定の結果を示すオフセット更新フラグを符号化ストリームのヘッダに書き込むフラグ書き込み部21と、その判定において更新すべきと判定された際には、更新後の新しい量子化オフセットマトリクスに基づいてオフセット更新パラメータを算出するオフセット更新パラメータ算出部22と、オフセット更新パラメータをヘッダに書き込むパラメータ書き込み部23と、その新しい量子化オフセットマトリクスを用いて画像データに対する量子化を行うことによってその画像データを符号化する量子化符号化部24とを備える。
 図3Bは、本実施の形態における画像符号化方法を示すフローチャートである。
 本実施の形態におえる画像符号化方法は、画像データを符号化することによって符号化ストリームを生成する方法であって、量子化オフセットマトリクスを更新すべきか否かを判定し(S20)、その判定の結果を示すオフセット更新フラグを符号化ストリームのヘッダに書き込み(S21)、その判定において更新すべきと判定された際には、更新後の新しい量子化オフセットマトリクスに基づいてオフセット更新パラメータを算出し(S22)、オフセット更新パラメータをヘッダに書き込み(S23)、その新しい量子化オフセットマトリクスを用いて画像データに対する量子化を行うことによってその画像データを符号化する(S24)。なお、ステップS20で、量子化オフセットマトリクスを更新すべきでないと判定された際には、その判定結果を示すオフセット更新フラグを符号化ストリームのヘッダに書き込み(S25)、既存の量子化オフセットマトリクスを用いて画像データに対する量子化を行うことによってその画像データを符号化する(S26)。
 このように本実施の形態における画像符号化装置2では、新しい量子化オフセットマトリクスを用いてオフセット更新パラメータが算出されてヘッダに書き込まれるため、量子化オフセットマトリクスそのものを符号化ストリームに入れ込む必要は無く、その量子化オフセットマトリクスを圧縮し、その圧縮された量子化オフセットマトリクスを元に戻すための情報をオフセット更新パラメータとして符号化ストリームのヘッダに含めておけばよい。したがって、量子化オフセットマトリクスのために必要なビット数を減らすことができ、符号化ストリームの符号量を削減することができる。
 以下、本発明の実施の形態1についてより詳細に説明する。
 図4は、本実施の形態における画像復号装置の詳細な構成の一例を示すブロック図である。
 画像復号装置1000は、オフセットパラメータ解析部1500、量子化オフセット値算出部1502、量子化オフセット値格納部1504、第1のメモリ部1506、逆量子化部1508、逆変換部1510、サンプル再構成部1512、サンプル予測部1514、および第2のメモリ部1516を備える。なお、オフセットパラメータ解析部1500、量子化オフセット値算出部1502、量子化オフセット値格納部1504および第1のメモリ部1506からなる構成要素群が、図2Aに示すフラグ解析部10、判定部11および量子化オフセットマトリクス算出部12からなる構成要素群に相当する。また、逆量子化部1508、逆変換部1510、サンプル再構成部1512、サンプル予測部1514、および第2のメモリ部1516からなる構成要素群が、図2Aに示す逆量子化復号部13に相当する。
 オフセットパラメータ解析部1500は、符号化ストリームに含まれるヘッダD1501(シーケンスヘッダD1501aまたはピクチャヘッダD1501b)を読み出し、そのヘッダD1501に含まれるオフセットパラメータD1503を解析(復号)し、そのオフセットパラメータD1503を量子化オフセット値算出部1502に出力する。
 量子化オフセット値算出部1502は、そのオフセットパラメータD1503を用いて新たな量子化オフセット値D1505を算出する。このとき、量子化オフセット値算出部1502は、第1のメモリ部1506に既に格納されている算出済みの量子化オフセット値D1509を必要に応じて用いて新たな量子化オフセット値D1505を算出する。さらに、量子化オフセット値算出部1502は、その算出された新たな量子化オフセット値D1505を量子化オフセット値格納部1504に出力する。そして、量子化オフセット値格納部1504は、新たな量子化オフセット値を第1のメモリ部1506に格納する。
 逆量子化部1508は、符号化ストリームに含まれるピクチャの符号化ブロックD1513と、第1のメモリ部1506に格納されている新たな量子化オフセット値D1511とを取り込み、逆量子化を実行する。そして、逆量子化部1508は、その逆量子化によって生成された逆量子化値D1515を逆変換部1510に送信する。逆変換部1510は、複数の逆量子化値D1515からなるブロックに対して逆直交変換を行うことによって、そのブロックを、複数の画素からなるブロックに変換する。逆変換部1510は、その複数の画素からなるブロックを復号残差D1517としてサンプル再構成部1512に出力する。
 サンプル再構成部1512は、その復号残差D1517を取得するとともに、サンプル予測部D1514から予測サンプルD1521を取得する。そして、サンプル再構成部1512は、予測サンプルD1521を復号残差D1517に加算することによって再構成ブロックD1519を生成して出力する。再構成ブロックD1519は、第2のメモリ部1516に格納される。サンプル予測部1514は、第2のメモリ部1516に格納されている画像を参照画像D1523として参照し、復号対象の上述のブロックに対する予測サンプルD1521を生成してサンプル再構成部1512に出力する。
 図5は、本実施の形態における画像符号化装置の詳細な構成の一例を示すブロック図である。
 画像符号化装置2000は、オフセットパラメータ算出部1600、オフセットパラメータ書き込み部1602、第1のメモリ部1604、減算部1606、変換部1608、量子化部1610、逆量子化部1612、逆変換部1614、第2のメモリ部1618、加算部1620、およびサンプル予測部1616を備える。なお、オフセットパラメータ算出部1600、オフセットパラメータ書き込み部1602および第1のメモリ部1604からなる構成要素群が、図3Aに示す判定部20、フラグ書き込み部21、オフセット更新パラメータ算出部22およびパラメータ書き込み部23からなる構成要素群に相当する。また、減算部1606、変換部1608、量子化部1610、逆量子化部1612、逆変換部1614、第2のメモリ部1618、加算部1620、およびサンプル予測部1616からなる構成要素群が、図3Aに示す量子化符号化部24に相当する。
 オフセットパラメータ算出部1600は、新たな量子化オフセット値D1505を取得するとともに、過去の量子化オフセット値D1509を第1のメモリ部1604から取得する。オフセットパラメータ算出部1600は、それらの量子化オフセット値D1505,D1509に基づいて、オフセットパラメータD1503を算出してオフセットパラメータ書き込み部1602に出力する。オフセットパラメータ書き込み部1602は、算出されたオフセットパラメータD1503を、ヘッダD1501(ピクチャヘッダD1501bまたはシーケンスヘッダD1501a)に書き込み、そのヘッダD1501を出力する。 
 減算部1606は、ピクチャの非圧縮ブロックD1609と予測サンプルD1615とを取り込む。非圧縮ブロックD1609は、ピクチャに含まれる複数の画素からなる符号化対象のブロックであり、予測サンプルD1615は、その符号化対象のブロックに対する予測画像を示すブロックである。減算部1606は、その非圧縮ブロックD1609から予測サンプルD1615を減算することにより残差ブロックD1611を生成して出力する。変換部1608は、残差ブロックD1611に対して直交変換を行うことによって複数の周波数係数(変換係数)からなる係数ブロックD1613を生成し、その係数ブロックD1613を量子化部1610に出力する。量子化部1610は、その係数ブロックD1613を取得するとともに、第1のメモリ部1604から新たな量子化オフセット値D1607を読み出す。そして、量子化部1610は、係数ブロックD1613に対して新たな量子化オフセット値D1607を用いた量子化を行うことによって、ピクチャの符号化ブロックD1621を生成して出力する。
 逆量子化部1612は、量子化部1610から符号化ブロックD1621を取得するとともに、新たな量子化オフセット値D1607を第1のメモリ部1604から読み出す。そして、逆量子化部1612は、符号化ブロックD1621に対して新たな量子化オフセット値D1607を用いた逆量子化を実行することによって、逆量子化値D1619を生成して逆変換部1614に出力する。逆変換部1614は、その逆量子化値D1619を取得し、複数の逆量子化値D1619からなるブロックに対して逆直交変換を行うことによって、そのブロックを複数の画素からなる再構成残差ブロックD1627に変換して出力する。加算部1620は、その再構成残差ブロックD1627を取得するとともに、サンプル予測部1616からその再構成残差ブロックD1627に対応する予測サンプルD1615を読み出す。そして、加算部1620は、再構成残差ブロックD1627に予測サンプルD1615を加算することによって、ピクチャの再構成ブロックD1625を生成して出力する。再構成ブロックD1625は、第2のメモリ部1618に格納される。サンプル予測部1616は、第2のメモリ部1618に格納された画像を参照画像D1623として参照し、符号化対象の上述のブロックに対する予測サンプルD1615を生成して出力する。
 図6Aは、本実施の形態におけるシーケンスヘッダD1501aの構成を示す図である。
 シーケンスヘッダD1501aは、更新オフセットパラメータフラグD302と、オフセット更新デノミネータD304と、オフセットパラメータセットD306とを含む。先頭側から順に、更新オフセットパラメータフラグD302、オフセット更新デノミネータD304、オフセットパラメータセットD306が続く。
 オフセットパラメータセットD306は、各変換ブロックに対するカスタマイズ可能な量子化オフセットマトリクスを算出するためのデータである。なお、変換ブロックは、直交変換、逆直交変換、量子化または逆量子化が行われる単位となるブロックである。
 更新オフセットパラメータフラグD302は、オフセットパラメータセットD306を送信するためのフラグであって符号化されている。この更新オフセットパラメータフラグD302が1を示すときに、オフセットパラメータセットD306が更新オフセットパラメータフラグD302の後に配置される。なお、この更新オフセットパラメータフラグD302が0を示すときには、各変換ブロックサイズに対するカスタマイズ不可能な量子化オフセットマトリクスが更新オフセットパラメータフラグD302の後に配置される。または、この更新オフセットパラメータフラグD302が0を示すときには、上述のカスタマイズ不可能な量子化オフセットマトリクスおよびオフセットパラメータセットD306の何れも配置されない。
 オフセット更新デノミネータD304は、本発明において量子化オフセット値(量子化マトリクス)を更新するときの変化率を決定するために用いられるデノミネータである。このオフセット更新デノミネータD304の詳細については後述する。
 図6Bは、本実施の形態におけるピクチャヘッダD1501bの構成を示す図である。
 ピクチャヘッダD1501bは、更新オフセットパラメータフラグD308と、オフセット更新デノミネータD310と、オフセットパラメータセットD312とを含む。先頭側から順に、更新オフセットパラメータフラグD308、オフセット更新デノミネータD310、オフセットパラメータセットD312が続く。これらの更新オフセットパラメータフラグD308、オフセット更新デノミネータD310およびオフセットパラメータセットD312は、図6Aに示す更新オフセットパラメータフラグD302、オフセット更新デノミネータD304およびオフセットパラメータセットD306と同一のものである。なお、本実施の形態では、少なくともシーケンスヘッダD1501aおよびピクチャヘッダD1501bの何れか一方が上述のように(図6Aおよび図6Bに示すように)構成されていればよい。以下、本実施の形態において単にヘッダと記載する場合には、そのヘッダはシーケンスヘッダD1501aまたはピクチャヘッダD1501bを示す。
 図7は、オフセットパラメータセットD306,D312の構成を示す図である。
 このオフセットパラメータセットD306,D312は、複数のオフセットパラメータD1503からなる。オフセットパラメータD1503は、変換ブロックに対するカスタマイズ可能な量子化オフセットマトリクスを算出するためのものである。シーケンスまたはピクチャに、サイズの異なる複数の変換ブロックがある場合には、オフセットパラメータセットD306,D312には、それらのサイズごとにオフセットパラメータD1503が含まれる。例えば、図7に示すように、オフセットパラメータセットD306,D312には、M個のオフセットパラメータD1503が含まれ、それぞれ第1~第Mの変換ブロックのサイズに対応している。
 オフセットパラメータD1503は、オフセット更新フラグD100と、量子化オフセットマトリクスを算出するためのオフセット更新パラメータD102とを含む。オフセット更新フラグD100は、そのオフセットパラメータD1503に対応する変換ブロックの量子化オフセット値を更新すべきか否かを示すためのフラグである。つまり、オフセット更新フラグD100は、新たな量子化オフセットマトリクスを算出することによって、更新前の量子化オフセットマトリクスに含まれる各量子化オフセット値を更新すべきか否かを示すフラグである。例えば、オフセット更新フラグD100が1であるときには、そのオフセット更新フラグD100は、更新すべきことを示し、オフセット更新フラグD100が0であるときには、そのオフセット更新フラグD100は、更新すべきでないことを示す。
 オフセット更新パラメータD102は、オフセット更新フラグD100に続いて配置され、更新方法に応じて異なる構成を有する。本実施の形態では、3つの更新方法(第1~第3の更新方法)があり、それぞれの更新方法には、その更新方法を識別するための更新タイプ識別子が割り当てられている。
 第1の更新方法では、オフセット更新パラメータD102は、0を示す更新タイプ識別子D104と、第1および第2の修正パラメータD106,D108と、デルタオフセット値の数D110と、複数の連続したデルタオフセット値D112とを含む。第1および第2の修正パラメータD106,D108はそれぞれ量子化オフセット値を算出するために用いられる値である。デルタオフセット値は、第1および第2の修正パラメータD106,D108を用いて算出される値に加算される値である。このようにデルタオフセット値が加算されることによって、1つの変換係数(周波数係数)に対する量子化オフセット値が算出される。また、デルタオフセット値の数D110がNであれば、N個のデルタオフセット値D112が連続してヘッダD1501に格納される。
 第2の更新方法では、オフセット更新パラメータD102は、1を示す更新タイプ識別子D104と、変換ブロックに含まれる変換係数の数だけ連続したデルタオフセット値D114とを含む。第2の更新方法では、所定の変換係数に対する量子化オフセット値を算出するときには、走査順で直前の変換係数に対する量子化オフセット値に、デルタオフセット値D114を加算することによって、その所定の変換係数に対する量子化オフセット値が算出される。
 第3の更新方法では、オフセット更新パラメータD102は、2を示す更新タイプ識別子D104と、単一の量子化オフセット値D116とを含む。第3の更新方法では、変換ブロックの全ての変換係数に対する量子化オフセット値が、単一の量子化オフセット値D116と等しくなる。
 なお、上述の各更新方法において、ヘッダD1501に含まれるデータは全て可変長符号化などによって符号化されている。
 図8は、本実施の形態における量子化オフセットマトリクスを復号する処理を示すフローチャートである。
 まず、オフセットパラメータ解析部1500は、ヘッダ内の更新オフセットパラメータフラグを解析する(ステップS400)。なお、本実施の形態において、ヘッダに含まれるデータを解析する際には、可変長復号などの復号が行われてもよい。次に、オフセットパラメータ解析部1500は、その更新オフセットパラメータフラグが1であるか否かを判定する(ステップS402)。ここで、オフセットパラメータ解析部1500は、1であると判定すると(ステップS402のYes)、ヘッダ内のオフセット更新デノミネータを解析する(ステップS404)。なお、オフセット更新デノミネータは、ヘッダに含まれておらず予め定められた値であってもよく、この場合には、ステップS404の処理はスキップされる。
 次に、オフセットパラメータ解析部1500は、ヘッダのオフセットパラメータセットを解析し(ステップS406)、量子化オフセット値算出部1502は、新たな量子化オフセットマトリクスを算出する(ステップS408)。
 図9は、本実施の形態における量子化オフセットマトリクスを符号化する処理を示すフローチャートである。
 まず、オフセットパラメータ算出部1600は更新オフセットパラメータフラグを決定し、オフセットパラメータ書き込み部1602は、その更新オフセットパラメータフラグをヘッダに書き込む(ステップS500)。なお、本実施の形態において、データをヘッダに書き込む際には、可変長符号化などの符号化が行われてもよい。
 次に、オフセットパラメータ算出部1600は、更新オフセットパラメータフラグが1であるか否かを判定する(ステップS502)。つまり、オフセットパラメータ算出部1600は、量子化オフセットマトリクスを算出して各量子化オフセット値を更新すべきか否かを判定する。ここで、オフセットパラメータ算出部1600は、更新オフセットパラメータフラグが1であると判定すると(ステップS502のYes)、オフセット更新デノミネータを決定し、オフセットパラメータ書き込み部1602は、そのオフセット更新デノミネータをヘッダに書き込む(ステップS504)。なお、オフセット更新デノミネータは、ヘッダに含まれておらず予め定められた値であってもよく、この場合には、ステップS504の処理はスキップされる。
 次に、オフセットパラメータ算出部1600は、第1~第3の更新方法に基づいてオフセットパラメータセットを算出し(ステップS508)、オフセットパラメータ書き込み部1602は、そのオフセットパラメータセットをヘッダに書き込む(ステップS510)。
 図10は、本実施の形態における1つの変換ブロックに対する新たな量子化オフセットマトリクスを算出する処理を示すフローチャートである。なお、この図10は、図8のステップS406,S410の詳細な処理を示す。
 まず、オフセットパラメータ解析部1500は、ヘッダ内のオフセット更新フラグを解析する(ステップS600)。オフセットパラメータ解析部1500は、そのオフセット更新フラグが1あるか否かを判定する(ステップS601)。ここで、オフセットパラメータ解析部1500は、オフセット更新フラグが1であると判定すると(ステップS601のYes)、ヘッダ内の更新タイプ識別子を解析する(ステップS602)。
 次に、オフセットパラメータ解析部1500は、その更新タイプ識別子が0を示すか否かを判定する(ステップS604)。ここで、オフセットパラメータ解析部1500は、更新タイプ識別子が0を示すと判定すると(ステップS604のYes)、ヘッダ内でその更新タイプ識別子に続くオフセット更新パラメータを解析する(ステップS608)。そして、量子化オフセット値算出部1502は、第1の更新方法を用いてそのオフセット更新パラメータから新たな量子化オフセット値(量子化オフセットマトリクス)を算出する(ステップS610)。
 また、オフセットパラメータ解析部1500は、ステップS604で更新タイプ識別子が0を示さないと判定すると(ステップS604のNo)、さらに、その更新タイプ識別子が1を示すか否かを判定する(ステップS606)。ここで、オフセットパラメータ解析部1500は、更新タイプ識別子が1を示すと判定すると(ステップS606のYes)、ヘッダ内でその更新タイプ識別子に続くオフセット更新パラメータを解析し、量子化オフセット値算出部1502は、第2の更新方法を用いてそのオフセット更新パラメータから新たな量子化オフセット値(量子化オフセットマトリクス)を算出する(ステップS616)
 また、オフセットパラメータ解析部1500は、ステップS606で更新タイプ識別子が1を示さないと判定すると(ステップS606のNo)、ヘッダ内でその更新タイプ識別子に続くオフセット更新パラメータである単一の量子化オフセット値を解析する(ステップS612)。量子化オフセット値算出部1502は、第3の更新方法を用いてその単一の量子化オフセット値から新たな量子化オフセット値(量子化オフセットマトリクス)を算出する(ステップS614)。つまり、量子化オフセット値算出部1502は、変換ブロック内の全ての変換係数(周波数成分の位置)に対する量子化オフセット値を、その解析された単一の量子化オフセット値に設定する。
 図11は、本実施の形態における1つの変換ブロックに対するオフセットパラメータを算出して書き込む処理を示すフローチャートである。なお、この図11は、図9のステップS508,S510の詳細な処理を示す。
 まず、オフセットパラメータ算出部1600は、オフセット更新フラグを決定し、オフセットパラメータ書き込み部1602は、その決定されたオフセット更新フラグをヘッダに書き込む(ステップS700)。次に、オフセットパラメータ算出部1600は、決定されたオフセット更新フラグに基づいて、新しい量子化オフセットマトリクスが用いられるか否かを判定する(ステップS701)。ここで、オフセットパラメータ算出部1600は、新しい量子化オフセットマトリクスが用いられると判定すると(ステップS701のYes)、更新タイプ識別子を決定し、オフセットパラメータ書き込み部1602は、その決定された更新タイプ識別子をヘッダに書き込む(ステップS702)。
 次に、オフセットパラメータ算出部1600は、決定された更新タイプ識別子に基づいて、量子化オフセットマトリクスが第1の更新方法を用いて符号化されるべきか否かを判定する(ステップS704)。ここで、オフセットパラメータ算出部1600は、量子化オフセットマトリクスが第1の更新方法を用いて符号化されるべきと判定すると(ステップS704のYes)、その新しい量子化オフセットマトリクスに基づき、第1の更新方法を用いてオフセット更新パラメータを算出する(ステップS708)。そして、オフセットパラメータ書き込み部1602は、その算出されたオフセット更新パラメータを、第1の更新方法を用いてヘッダに書き込む(ステップS710)。
 また、オフセットパラメータ算出部1600は、ステップS704で、量子化オフセットマトリクスが第1の更新方法を用いて符号化されるべきでないと判定すると(ステップS704のNo)、さらに、その新しい量子化オフセットマトリクスに含まれる量子化マトリクス値が全て同じか否かを判定する(ステップS706)。ここで、オフセットパラメータ算出部1600は、全て同じではないと判定すると(ステップS706のNo)、新しい量子化オフセットマトリクスに基づき、第2の更新方法を用いてオフセット更新パラメータを算出する。そして、オフセットパラメータ書き込み部1602は、第2の更新方法を用いてその算出されたオフセット更新パラメータをヘッダに書き込む(ステップS716)。一方、オフセットパラメータ算出部1600は、ステップS706で全て同じであると判定すると(ステップS706のYes)、新しい量子化オフセットマトリクスに基づき、単一の量子化オフセット値を決定する。そして、オフセットパラメータ書き込み部1602は、第3の更新方法を用いてその決定された単一の量子化オフセット値をオフセット更新パラメータとしてヘッダに書き込む(ステップS712)。
 図12は、本実施の形態における画像復号装置1000が第1の更新方法を用いて書き込まれたオフセット更新パラメータを解析する処理を示すフローチャートである。なお、この図12は、図10のステップS608の詳細な処理を示す。
 まず、オフセットパラメータ解析部1500は、ヘッダのオフセット更新パラメータ内にある第1の修正パラメータを解析し(ステップS800)、さらに第2の修正パラメータを解析する(ステップS802)。次に、オフセットパラメータ解析部1500は、ヘッダのオフセット更新パラメータ内にあるデルタオフセット値の数を解析する(ステップS806)。そして、オフセットパラメータ解析部1500は、カウント値を0に初期化し(ステップS808)、ステップS806で解析されたデルタオフセット値の数よりもカウント値が小さいという条件が満たされている限り、ループAの処理を繰り返し実行する。ループAでは、オフセットパラメータ解析部1500は、ヘッダのオフセット更新パラメータ内にある複数の連続したデルタオフセット値から走査順に選択された1つのデルタオフセット値を解析する(ステップS810)。さらに、オフセットパラメータ解析部1500は、カウント値をインクリメントする(ステップS812)。つまり、オフセットパラメータ解析部1500は、ステップS806で解析されたデルタオフセット値の数がカウント値と等しくなるまで、ステップS810およびS812の処理を繰り返し実行する。オフセット更新パラメータ内にある複数の連続したデルタオフセット値は、変換ブロックに対応する2次元マトリクスにおいて走査順に並べられていている。例えば、これらのデルタオフセット値は、変換ブロックに対応する2次元マトリクス内において、ジグザグスキャン順に低周波成分から高周波成分に向かって並べられている。なお、変換ブロックのサイズにより、走査順は異なる。例えば、8×2の周波数成分(変換係数)からなるブロック(8×2ブロック)の走査順と、2×8の周波数成分からなるブロック(2×8ブロック)の走査順とは異なる。
 図13は、本実施の形態における画像復号装置1000が第1の更新方法を用いて量子化オフセット値を算出する処理を示すフローチャートである。なお、この図13は、図10のステップS610の詳細な処理を示す。
 まず、量子化オフセット値算出部1502は、更新前の量子化オフセット値を取得する(ステップS1200)。つまり、量子化オフセット値算出部1502は、第1のメモリ部1506に過去(例えば直前)に格納された量子化オフセットマトリクスのうち、算出対象の量子化オフセット値と同一の位置にある量子化オフセット値をその第1のメモリ部1506から読み出す。
 次に、量子化オフセット値算出部1502は、第1の修正パラメータD106によって第1の係数(Factor1)を決定し、その第1の係数で更新前の量子化オフセット値をスケーリングすることによって第1の値を算出する(ステップS1202)。
 第1の係数(Factor1)は、以下の(式1)によって算出される。(式1)において、「First Modification Parameter」は第1の修正パラメータを示し、「Update Denominator」はオフセット更新デノミネータを示す。
 Factor1 = (First Modification Parameter + Update Denominator )/ Update Denominator   ・・・(式1)
 なお、オフセット更新デノミネータは、図6Aおよび図6Bに示されるようにヘッダに含められていてもよく、含められずに予め定義された値に設定されていてもよい。予め定義された値は、例えば、16または128である。
 第1の値(First Value)は、以下の(式2)によって算出される。(式2)において、「Old Offset Value」は、更新前の量子化オフセット値を示す。
 First Value = Old Offset Value 
                   × Factor1   ・・・(式2)
 次に、量子化オフセット値算出部1502は、更新前の量子化オフセット値(Old Offset Value)と固定値(Fixed Value)との差分を算出する(ステップS1204)。差分は「Old Offset Value-Fixed Value」によって示される。例えば、固定値は、16、つまりDCオフセット値またはブロックの平均オフセット値である。DCオフセット値は、更新前の量子化オフセットマトリクスの直流成分の量子化オフセット値であり、平均オフセット値は、更新前の量子化オフセットマトリクスに含まれる全ての量子化オフセット値の平均値である。さらに、量子化オフセット値算出部1502は、図7に示す第2の修正パラメータD108によって第2の係数を算出し、算出された差分をその第2の係数でスケーリングすることで、第2の値を算出する(ステップS1206)。
 第2の係数は、以下の(式3)によって算出される。(式3)において、「Second Modification Parameter」は第2の修正パラメータを示す。
 Factor2 = Second Modification Parameter / Update Denominator   ・・・(式3)
 第2の値(Second Value)は、以下の(式4)によって算出される。
 Second Value = (Old Offset Value - Fixed Value) × Factor2   ・・・(式4)
 次に、量子化オフセット値算出部1502は、第1の値と第2の値とを加算することによって、予測量子化オフセット値(計算値)を算出する(ステップS1208)。さらに、量子化オフセット値算出部1502は、その予測量子化オフセット値に、算出対象の量子化オフセット値に対応するデルタオフセット値(Delta Value)を加算することによって、つまり、「Fist Value + Second Value + Delta Value」によって、その算出対象の新たな量子化オフセット値を算出する(ステップS1210)。
 このようなステップS1202~S1210による数式は、以下の(式5)によって示される。なお、(式5)において、「New Offset Value」は算出対象の新たな量子化オフセット値を示す。
 New Offset Value
 = (Old Offset Value × Factor1) + ((Old Offset Value - Fixed Value) × Factor2) + Delta Value   ・・・(式5)
 また、本実施の形態では、(式5)によって示される演算を、図13のステップS1200~S1210によって示される順序にしたがって行ったが、他の順序でその演算を行ってもよい。
 図14は、本実施の形態における画像符号化装置2000が第1の更新方法を用いてオフセット更新パラメータのデルタオフセット値を算出する処理を示すフローチャートである。なお、この図14は、図11のステップS708の詳細な処理を示す。
 まず、オフセットパラメータ算出部1600は、更新前の量子化オフセット値を取得する(ステップS1300)。つまり、オフセットパラメータ算出部1600は、第1のメモリ部1604に過去(例えば直前)に格納された量子化オフセットマトリクスのうち、算出対象のデルタオフセット値と同一の位置にある量子化オフセット値をその第1のメモリ部1604から読み出す。
 次に、オフセットパラメータ算出部1600は、第1の修正パラメータD106によって第1の係数(Factor1)を決定し、その第1の係数で更新前の量子化オフセット値をスケーリングすることによって第1の値を算出する(ステップS1302)。
 第1の係数(Factor1)は、以下の(式6)によって算出される。(式6)において、「First Modification Parameter」は第1の修正パラメータを示し、「Update Denominator」はオフセット更新デノミネータを示す。
 Factor1 = (First Modification Parameter + Update Denominator )/ Update Denominator   ・・・(式6)
 なお、オフセット更新デノミネータは、図6Aおよび図6Bに示されるようにヘッダに含められていてもよく、含められずに予め定義された値に設定されていてもよい。予め定義された値は、例えば、16または128である。
 第1の値(First Value)は、以下の(式7)によって算出される。(式7)において、「Old Offset Value」は、更新前の量子化オフセット値を示す。
 First Value = Old Offset Value 
                   × Factor1   ・・・(式7)
 次に、オフセットパラメータ算出部1600は、更新前の量子化オフセット値(Old Offset Value)と固定値(Fixed Value)との差分を算出する(ステップS1304)。差分は「Old Offset Value-Fixed Value」によって示される。例えば、固定値は、16、つまりDCオフセット値またはブロックの平均オフセット値である。さらに、オフセットパラメータ算出部1600は、図7に示す第2の修正パラメータD108によって第2の係数を算出し、算出された差分をその第2の係数でスケーリングすることで、第2の値を算出する(ステップS1306)。
 第2の係数は、以下の(式8)によって算出される。(式8)において、「Second Modification Parameter」は第2の修正パラメータを示す。
 Factor2 = Second Modification Parameter / Update Denominator   ・・・(式8)
 第2の値(Second Value)は、以下の(式9)によって算出される。
 Second Value = (Old Offset Value - Fixed Value) × Factor2   ・・・(式9)
 次に、オフセットパラメータ算出部1600は、第1の値と第2の値とを加算することによって、予測量子化オフセット値(計算値)を算出する(ステップS1308)。さらに、オフセットパラメータ算出部1600は、更新後の新たな量子化オフセット値(New Offset Value)からその予測量子化オフセット値を減算することによって、つまり、「New Offset Value -(Fist Value + Second Value)」によって、算出対象のデルタオフセット値を算出する(ステップS1310)。
 このようなステップS1302~S1310による数式は、以下の(式10)によって示される。
 Delta Value
 = New Offset Value - (Old Offset Value × Factor1) + ((Old Offset Value - Fixed Value) × Factor2)   ・・・(式10)
 また、本実施の形態では、(式10)によって示される演算を、図14のステップS1300~S1310によって示される順序にしたがって行ったが、他の順序でその演算を行ってもよい。
 図15は、本実施の形態における画像符号化装置2000が第1の更新方法を用いてオフセット更新パラメータをヘッダに書き込む処理を示すフローチャートである。なお、この図15は、図11のステップS710の詳細な処理を示す。
 まず、オフセットパラメータ書き込み部1602は、オフセットパラメータ算出部1600で用いられた第1の修正パラメータをヘッダに書き込み(ステップS900)、続いて、オフセットパラメータ算出部1600で用いられた第2の修正パラメータをヘッダに書き込む(ステップS902)。そして、オフセットパラメータ書き込み部1602は、書き込まれるべきデルタオフセット値の数を算出する(ステップS904)。デルタオフセット値の数を求める計算は、例えば、2次元マトリクス内の走査順における最後の非ゼロのデルタオフセット値の位置を求めることによって行われる。なお、この2次元マトリクスは、量子化オフセットマトリクスに対応するマトリクスであって、デルタオフセット値を要素に含むマトリクスである。
 このように算出されたデルタオフセット値の数をオフセットパラメータ書き込み部1602はヘッダに書き込む(ステップS906)。そして、オフセットパラメータ書き込み部1602は、カウント値を0に初期化し(ステップS908)、ステップS906で書き込まれたデルタオフセット値の数よりもカウント値が小さいという条件が満たされている限り、ループBの処理を繰り返し実行する。ループBでは、オフセットパラメータ書き込み部1602は、オフセットパラメータ算出部1600によって算出された複数のデルタオフセット値から、走査順に1つのデルタオフセット値をヘッダに書き込む(ステップS910)。その後、オフセットパラメータ書き込み部1602は、カウント値をインクリメントする(ステップS912)。つまり、オフセットパラメータ書き込み部1602は、ステップS906で書き込まれたデルタオフセット値の数がカウント値と等しくなるまで、ステップS910およびS912の処理を繰り返し実行する。言い換えれば、ステップS910およびS912では、オフセットパラメータ書き込み部1602は、ステップS910で書き込まれるデルタオフセット値の位置が、上述の2次元マトリクスにおいて走査順で最後の非ゼロのデルタオフセット値の位置と等しくなるまで、デルタオフセット値を連続してヘッダに書き込む。
 図16は、本実施の形態における画像復号装置1000が第2の更新方法を用いて量子化オフセット値を算出する処理を示すフローチャートである。なお、この図16は、図10のステップS616の詳細な処理を示す。
 まず、量子化オフセット値算出部1502は、最初の量子化オフセット値を予め定義された値(初期値)に初期化する(ステップS1000)。予め定義された値(初期値)は、例えば8または16である。そして、オフセットパラメータ解析部1500および量子化オフセット値算出部1502は、算出される新たな量子化オフセット値が0でない限り、ループCの処理を繰り返し実行する。
 ループCでは、オフセットパラメータ解析部1500は、ヘッダのオフセット更新パラメータ内にある複数の連続したデルタオフセット値から走査順に選択された1つのデルタオフセット値を解析する(ステップS1004)。量子化オフセット値算出部1502は、走査順に、その解析されたデルタオフセット値を初期値に加算することで、新たな量子化オフセット値を算出する(ステップS1006)。そして、量子化オフセット値算出部1502は、初期値を、ステップS1006で算出された新たな量子化オフセット値に更新する(ステップS1008)。このように更新された初期値は、走査順で次のデルタオフセット値に加算される値として用いられる。
 なお、オフセット更新パラメータにある複数のデルタオフセット値は、算出される複数の新たな量子化オフセット値と同様、変換ブロックの複数の変換係数(周波数成分)に対応するように2次元マトリクスとして構成され、それぞれの値は低周波成分から高周波成分に向かって走査順に並べられている。つまり、ステップS1004,S1006,S1008は、解析されるデルタオフセット値の位置が、変換ブロックに対応する2次元マトリクス内の所定の走査位置に到達するまで繰り返される。言い換えれば、ステップS1004,S1006,S1008は、算出対象の量子化オフセット値の位置が、変換ブロックに対応する量子化オフセットマトリクスの所定の走査位置(ゼロの量子化オフセット値が算出される位置)に到達するまで、または、ステップS1006で算出された量子化オフセット値がゼロになる時点まで繰り返される。
 新たに算出された量子化オフセット値がゼロである場合、量子化オフセット値算出部1502は、ゼロの量子化オフセット値の位置から最後の走査位置までにある残りの量子化オフセット値を、直前に算出された非ゼロの量子化オフセット値に設定する(ステップS1012)。なお、上述の走査順は、例えばジグザグスキャン順である。
 図17は、本実施の形態における画像符号化装置2000が第2の更新方法を用いてデルタオフセット値をヘッダに書き込む処理を示すフローチャートである。なお、この図17は、図11のステップS716の詳細な処理を示す。
 まず、オフセットパラメータ算出部1600は、最初の参照オフセット値を予め定義された値に初期化し(ステップS1100)、カウント値を0に初期化する(ステップS1102)。予め定義された値は、例えば8または16である。そして、オフセットパラメータ算出部1600およびオフセットパラメータ書き込み部1602は、カウント値が変換ブロック内の変換係数(周波数成分)の数よりも小さいという第1の条件が満たされる限り、ループDの処理を繰り返し実行する。なお、上記条件が満たされていても、後述するステップS1110の処理によって、第2の条件が満たされた場合には、ループDの処理の繰り返しは停止される。
 ループDでは、まず、オフセットパラメータ算出部1600は、走査順において新たな量子化オフセット値から参照オフセット値を減算することでデルタオフセット値を算出する(ステップS1104)。次に、オフセットパラメータ書き込み部1602は、その算出されたデルタオフセット値をヘッダに書き込む(ステップS1106)。その後、オフセットパラメータ算出部1600は、参照オフセット値を、ステップS1104で用いられた新たな量子化オフセット値に更新する(ステップS1108)。このように更新された参照オフセット値が、その後のステップS1104において、走査順で次の新たな量子化オフセット値から減算される。
 次に、オフセットパラメータ算出部1600は、新たな量子化オフセットマトリクス内において、直前のステップS1104で用いられた新たな量子化オフセット値よりも走査順で後にある残りの全ての量子化オフセット値が参照オフセット値と同じであるか否かを判定する(ステップS1110)。ここで、オフセットパラメータ算出部1600は、同じであると判定すると(ステップS1110のYes)、その残りの全ての新たな量子化オフセット値に対応する各デルタオフセット値を、負の参照オフセット値として算出する。このとき、上述の第2の条件が満たされ、ループDの処理の繰り返しが停止する。そして、オフセットパラメータ書き込み部1602は、その負の参照オフセット値であるデルタオフセット値をヘッダに書き込む(ステップS1112)。一方、オフセットパラメータ算出部1600は、ステップS1110で、残りの全ての新たな量子化オフセット値が参照オフセット値と同じでないと判定すると(ステップS1110のNo)、カウント値をインクリメントする(ステップS1114)。
 このように、ループDでは、ステップS1104,S1106,S1108,S1110,S1114の各処理が、上記第1の条件が満たされて第2の条件が満たされない限り繰り返し実行される。なお、上述の走査順は、例えばジグザグスキャン順である。
 図18は、本実施の形態における画像復号装置1000の逆量子化部1508および画像符号化装置2000の逆量子化部1612が量子化オフセット値を用いて逆量子化値を調整する処理を示すフローチャートである。
 まず、逆量子化部は、第1のメモリ部から量子化オフセット値を取得する(ステップS1400)。ここで、逆量子化部は、その量子化オフセット値を、量子化オフセット分子として扱う。次に、逆量子化部は、予め定義された値から量子化オフセット分子を減算することでスケール値を算出する(ステップS1402)。そして、逆量子化部は、スケール値を量子化スケールステップサイズQssで乗算する(ステップS1404)。さらに、逆量子化部は、ステップS1404による乗算結果である積を、ステップS1402で用いられた予め定義された値と同一の値で除算することにより、量子化レベルオフセット値を算出する(ステップS1406)。そして最後に、逆量子化部は、逆量子化値からその量子化レベルオフセット値を減算する(ステップS1408)。
 このような図14に示す処理は、以下の(式11)によって示される。
 NewAbsVal = AbsVal - (PredefinedVal - OffsetNumerator) × Quantization Step Size / PredefinedVal   ・・・(式11)
 ここで、「NewAbsVal」は、調整後の新たな逆量子化値の絶対値であり、「PredefinedVal」は予め定義された値であり、「OffsetNumerator」は量子化オフセット分子である。また、「Quantization Step Size」は量子化スケールステップサイズであり、予め定義された値は、例えば、128である。
 このように本実施の形態では、オフセット更新パラメータを用いて量子化オフセットマトリクスが算出されるため、画像符号化装置側では、量子化オフセットマトリクスそのものを符号化ストリームに入れ込む必要は無く、その量子化オフセットマトリクスを圧縮し、その圧縮された量子化オフセットマトリクスを元に戻すための情報をオフセット更新パラメータとして符号化ストリームのヘッダに含めておけばよい。したがって、量子化オフセットマトリクスのために必要なビット数を減らすことができ、符号化ストリームの符号量を削減することができる。
 また、本実施の形態では、更新タイプ識別子に応じた更新方法で量子化オフセットマトリクスが算出されるため、画像符号化装置側では、量子化または逆量子化において適切な更新方法を選択することができ、その選択された更新方法に応じたオフセット更新パラメータと更新タイプ識別子を符号化ストリームのヘッダに含めておけばよい。したがって、量子化オフセットマトリクスの更新または算出に柔軟性を持たせることができる。
 (変形例1)
 ここで、本実施の形態における第1の変形例について説明する。上記実施の形態のヘッダに格納される複数のオフセットパラメータのそれぞれは、第1~第3の更新方法のうちの何れかの更新方法によって構成され、互いに異なる更新方法で構成され得る。しかし、本変形例に係る複数のオフセットパラメータは全て第1の更新方法によって構成されている。
 図19は、本変形例に係るオフセットパラメータセットD1700の構成を示す図である。
 このオフセットパラメータセットD1700は、図6Aおよび図6Bに示すオフセットパラメータセットD306,D312に相当するものであって、複数のオフセットパラメータD1702からなる。シーケンスまたはピクチャに、サイズの異なる複数の変換ブロックがある場合には、オフセットパラメータセットD1700には、それらのサイズごとにオフセットパラメータD1702が含まれる。例えば、図19に示すように、オフセットパラメータセットD1700には、M個のオフセットパラメータD1702が含まれ、それぞれ第1~第Mの変換ブロックのサイズに対応している。
 オフセットパラメータD1702は、オフセット更新フラグD1701と、量子化オフセットマトリクスを算出するためのオフセット更新パラメータD1703とを含む。オフセット更新フラグD1701は、図7に示すオフセット更新フラグD100と同様、変換ブロックの量子化オフセット値を更新すべきか否かを示すためのフラグである。つまり、オフセット更新フラグD1701は、量子化オフセットマトリクスを算出することによって、更新前の量子化オフセットマトリクスに含まれる各量子化オフセット値を更新すべきか否かを示すフラグである。
 オフセット更新パラメータD1703は、オフセット更新フラグD1701に続いて配置されている。また、オフセット更新パラメータD1703は、図7に示す第1の更新方法に対応するオフセット更新パラメータD102の構成と異なり、更新タイプ識別子D104を含んでいない。つまり、オフセット更新パラメータD1703は、第1および第2の修正パラメータD1704,D1706と、デルタオフセット値の数D1708と、N個の連続したデルタオフセット値D1710とを含む。
 本変形例に係る画像復号装置1000および画像符号化装置2000は、上記実施の形態と同様、図8および図9に示す処理を実行する。
 図20は、本変形例に係る1つの変換ブロックに対する新たな量子化オフセットマトリクスを算出する処理を示すフローチャートである。なお、この図20は、図8のステップS406,S408の詳細な処理を示す。
 まず、オフセットパラメータ解析部1500は、ヘッダ内のオフセット更新フラグを解析する(ステップS1900)。オフセットパラメータ解析部1500は、そのオフセット更新フラグが1あるか否かを判定する(ステップS1902)。ここで、オフセットパラメータ解析部1500は、オフセット更新フラグが1であると判定すると(ステップS1902のYes)、更新タイプ識別子を解析することなく、ヘッダ内のオフセット更新パラメータを解析する(ステップS1904)。そして、量子化オフセット値算出部1502は、そのオフセット更新パラメータから新たな量子化オフセット値(量子化オフセットマトリクス)を算出する(ステップS1906)。なお、このとき、量子化オフセット値算出部1502は、上記実施の形態の第1の更新方法を用いて量子化オフセットマトリクスを算出する。
 図21は、本変形例に係る1つの変換ブロックに対するオフセットパラメータを算出して書き込む処理を示すフローチャートである。なお、この図21は、図9のステップS508,S510の詳細な処理を示す。
 まず、オフセットパラメータ算出部1600は、オフセット更新フラグを決定し、オフセットパラメータ書き込み部1602は、その決定されたオフセット更新フラグをヘッダに書き込む(ステップS2000)。次に、オフセットパラメータ算出部1600は、決定されたオフセット更新フラグに基づいて、新しい量子化オフセットマトリクスが用いられるか否かを判定する(ステップS2002)。ここで、オフセットパラメータ算出部1600は、新しい量子化オフセットマトリクスが用いられると判定すると(ステップS2002のYes)、更新タイプ識別子の決定および書き込みが行われることなく、その新しい量子化オフセットマトリクスに基づき、オフセット更新パラメータを算出する(ステップS2004)。そして、オフセットパラメータ書き込み部1602は、その算出されたオフセット更新パラメータをヘッダに書き込む(ステップS2006)。なお、ステップS2004,S2006では、オフセットパラメータ算出部1600およびオフセットパラメータ書き込み部1602は、上記実施の形態と同様、第1の更新方法を用いてオフセット更新パラメータを算出して書き込む。
 (変形例2)
 ここで、本実施の形態における第2の変形例について説明する。上記実施の形態のヘッダに格納される複数のオフセットパラメータのそれぞれは、第1~第3の更新方法のうちの何れかの更新方法によって構成され、互いに異なる更新方法で構成され得る。しかし、本変形例に係る複数のオフセットパラメータは、変形例1と同様、全て第1の更新方法によって構成されている。さらに、上記実施の形態および変形例1では、新たな量子化オフセットマトリクスを算出するために予め定められた過去(例えば直前)の量子化オフセットマトリクスを利用したが、本変形例では、過去に算出された任意の量子化オフセットマトリクスを利用して新たな量子化オフセットマトリクスを算出する。
 図22は、本変形例に係るオフセットパラメータセットD1800の構成を示す図である。
 このオフセットパラメータセットD1800は、図6Aおよび図6Bに示すオフセットパラメータセットD306,D312に相当するものであって、複数のオフセットパラメータD1802からなる。シーケンスまたはピクチャに、サイズの異なる複数の変換ブロックがある場合には、オフセットパラメータセットD1800には、それらのサイズごとにオフセットパラメータD1802が含まれる。例えば、図22に示すように、オフセットパラメータセットD1800には、M個のオフセットパラメータD1802が含まれ、それぞれ第1~第Mの変換ブロックのサイズに対応している。
 オフセットパラメータD1802は、オフセット更新フラグD1801と、量子化オフセットマトリクスを算出するためのオフセット更新パラメータD1803とを含む。オフセット更新フラグD1801は、図7に示すオフセット更新フラグD100と同様、変換ブロックの量子化オフセット値を更新すべきか否かを示すためのフラグである。つまり、オフセット更新フラグD1801は、量子化オフセットマトリクスを算出することによって、更新前の量子化オフセットマトリクスに含まれる各量子化オフセット値を更新すべきか否かを示すフラグである。
 オフセット更新パラメータD1803は、オフセット更新フラグD1801に続いて配置されている。また、オフセット更新パラメータD1703は、図7に示す第1の更新方法に対応するオフセット更新パラメータD102の構成と異なり、更新タイプ識別子D104を含んでいない。また、オフセット更新パラメータD1803は、図19に示すオフセット更新パラメータD1703の構成と異なり、マトリクス識別子D1804を含んでいる。つまり、オフセット更新パラメータD1803は、マトリクス識別子D1804と、第1および第2の修正パラメータD1806,D1808と、デルタオフセット値の数D1810と、N個の連続したデルタオフセット値D1812とを含む。
 マトリクス識別子D1804は、量子化オフセットマトリクスまたは量子化スケーリングマトリクスを識別するための識別子である。このマトリクス識別子D1804によって、新たな量子化マトリクスを算出するために利用される、過去に利用された量子化マトリクスまたは量子化スケーリングマトリクスが特定される。
 本変形例に係る画像復号装置1000および画像符号化装置2000は、上記実施の形態と同様、図8および図9に示す処理を実行する。さらに、本変形例に係る画像復号装置1000および画像符号化装置2000は、変形例1と同様、図20および図21に示す処理を実行する。
 図23は、本変形例に係る画像復号装置1000がオフセット更新パラメータを解析する処理を示すフローチャートである。なお、この図23は、図20のステップS1904の詳細な処理を示す。
 まず、オフセットパラメータ解析部1500は、ヘッダのオフセット更新パラメータ内にあるマトリクス識別子D1804を解析する(ステップS2100)。そして、オフセットパラメータ解析部1500は、ヘッダのオフセット更新パラメータ内にある第1の修正パラメータを解析し(ステップS2102)、さらに第2の修正パラメータを解析する(ステップS2104)。次に、オフセットパラメータ解析部1500は、ヘッダのオフセット更新パラメータ内にあるデルタオフセット値の数を解析する(ステップS2106)。そして、オフセットパラメータ解析部1500は、ヘッダのオフセット更新パラメータ内にある複数の連続したデルタオフセット値を、ステップS2106で解析された上述の数だけ、走査順に解析する(ステップS2108)。ここで、オフセット更新パラメータ内にある複数の連続したデルタオフセット値は、変換ブロックに対応する2次元マトリクスにおいて走査順に並べられていている。例えば、これらのデルタオフセット値は、変換ブロックに対応する2次元マトリクスにおいて、ジグザグスキャン順に低周波成分から高周波成分に向かって並べられている。なお、変換ブロックのサイズにより、走査順は異なる。例えば、8×2の周波数成分(変換係数)からなるブロック(8×2ブロック)の走査順と、2×8の周波数成分からなるブロック(2×8ブロック)の走査順とは異なる。
 本変形例に係る画像復号装置1000は、図23に示す処理によってオフセット更新パラメータを解析した後、その解析されたオフセット更新パラメータを用いて図13に示す処理と同様の処理を行う。これにより、本変形例に係る画像復号装置1000は量子化オフセット値(量子化オフセットマトリクス)を算出する。ここで、本変形例に係る画像復号装置1000は、図13に示すステップS1200において量子化オフセット値を取得するときには、図23のステップS2100で解析されたマトリクス識別子D1804を用いる。つまり、量子化オフセット値算出部1502は、第1のメモリ部1506に格納されている、マトリクス識別子D1804によって識別される量子化オフセットマトリクスまたは量子化スケーリングマトリクスを特定する。そして、量子化オフセット値算出部1502は、その特定された量子化オフセットマトリクスまたは量子化スケーリングマトリクスのうち、算出対象の量子化オフセット値と同一の位置にある量子化オフセット値をその第1のメモリ部1506から読み出す。
 図24は、本変形例に係る画像復号装置1000が更新前(過去)のマトリクスを特定する処理を示すフローチャートである。
 まず、量子化オフセット値算出部1502は、オフセットパラメータ解析部1500で解析されたマトリクス識別子が示す値を特定する(ステップS2300)。次に、量子化オフセット値算出部1502は、そのマトリクス識別子が示す値が予め定められた値であるか否かを判定する(ステップS2302)。
 ここで、量子化オフセット値算出部1502は、予め定められた値であると判定すると(ステップS2302のYes)、そのマトリクス識別子が示す値に対応付けられた量子化スケーリングマトリクスを第1のメモリ部1506から検索する(ステップS2306)。さらに、量子化オフセット値算出部1502は、その検索された量子化スケーリングマトリクスを、新しい量子化オフセットマトリクスを算出するために用いられる過去の量子化オフセットマトリクスとして、つまり更新対象の量子化オフセットマトリクスとして設定する(ステップS2308)。
 一方、量子化オフセット値算出部1502は、ステップS2302で、マトリクス識別子が示す値が予め定められた値でないと判定すると(ステップS2302のNo)、そのマトリクス識別子が示す値に直接対応付けられた量子化オフセットマトリクスを第1のメモリ部1506から検索する(ステップS2304)。量子化オフセット値算出部1502は、このように検索された量子化オフセットマトリクスを、新しい量子化オフセットマトリクスを算出するために用いられる過去の量子化オフセットマトリクス、つまり更新対象の量子化オフセットマトリクスとして利用する。
 本変形例に係る画像符号化装置2000は、図14に示す処理と同様の処理を行うことによって、デルタオフセット値(デルタオフセット値を含む2次元マトリクス)を算出する。ここで、本変形例に係る画像符号化装置2000のオフセットパラメータ算出部1600は、図14に示すステップS1300において量子化オフセット値を取得するときには、第1のメモリ部1604に格納されている複数の量子化オフセットマトリクスまたは量子化スケーリングマトリクスの中から、何れか1つのマトリクスを過去の更新前のマトリクスとして特定する。このとき、画像符号化装置2000は、図24に示す処理と同様の処理を行うことによってマトリクスを特定する。そして、オフセットパラメータ算出部1600は、その特定された過去の更新前のマトリクス(量子化オフセットマトリクスまたは量子化スケーリングマトリクス)のうち、算出対象のデルタオフセット値と同一の位置にある量子化オフセット値(または量子化スケーリングステップサイズ)をその第1のメモリ部1604から読み出す。
 図25は、本変形例に係る画像符号化装置2000がオフセット更新パラメータをヘッダに書き込む処理を示すフローチャートである。なお、この図25は、図21のステップS2006の詳細な処理を示す。
 まず、オフセットパラメータ書き込み部1602は、オフセットパラメータ算出部1600で特定されたマトリクス(量子化オフセットマトリクスまたは量子化スケーリングマトリクス)を識別するためのマトリクス識別子をヘッダに書き込む(ステップS2200)。次に、オフセットパラメータ書き込み部1602は、オフセットパラメータ算出部1600で用いられた第1の修正パラメータをヘッダに書き込み(ステップS2202)、続いて、オフセットパラメータ算出部1600で用いられた第2の修正パラメータをヘッダに書き込む(ステップS2204)。さらに、オフセットパラメータ書き込み部1602は、書き込まれるべきデルタオフセット値の数を算出する(ステップS2206)。
 デルタオフセット値の数を求める計算は、例えば、2次元マトリクス内の走査順における最後の非ゼロのデルタオフセット値の位置を求めることによって行われる。なお、この2次元マトリクスは、量子化オフセットマトリクスに対応するマトリクスであって、デルタオフセット値を要素に含むマトリクスである。
 このように算出されたデルタオフセット値の数をオフセットパラメータ書き込み部1602はヘッダに書き込む(ステップS2208)。なお、オフセットパラメータ書き込み部1602は、そのデルタオフセット値の数を示すパラメータをヘッダに書き込んでもよい。そして、オフセットパラメータ書き込み部1602は、オフセットパラメータ算出部1600によって算出されたデルタオフセット値を走査順に、ステップS2206で算出された数だけヘッダに書き込む(ステップS2210)。つまり、オフセットパラメータ書き込み部1602は、書き込まれるデルタオフセット値の位置が、上述の2次元マトリクスにおいて走査順で最後の非ゼロのデルタオフセット値の位置と等しくなるまで、デルタオフセット値を連続してヘッダに書き込む。
 なお、本発明に係る画像復号方法および画像符号化方法について、上記実施の形態およびその変形例を用いて説明したが、本発明はこれらに限定されるものではない。
 例えば、本実施の形態およびその変形例では、図6Aおよび図6Bに示すように、オフセット更新デノミネータD304,D310が更新オフセットパラメータフラグD302,D308とオフセットパラメータセットD306,D312の間に配置されているが、その位置になくてもよい。この場合、オフセット更新デノミネータは第1の更新方法によって構成されるオフセット更新パラメータD102に含まれていてもよい。
 また、上述の変形例3では、図24に示すように画像復号装置1000がマトリクス識別子を用いて更新前(過去)のマトリクスを特定または検索したが、画像符号化装置2000も図24に示す処理と同様に、マトリクス識別子を用いて更新前(過去)のマトリクスを特定または検索してもよい。
 また、上記実施の形態およびその変形例では、フラグ(更新オフセットパラメータフラグまたはオフセット更新フラグ)が1を示す場合と0を示す場合とのそれぞれに対して、互いに異なる処理を説明したが、フラグの示す値と、その値に応じた処理との関係は、逆の関係にあってもよい。例えば、画像復号装置1000は、図8に示すように、ステップS402で、更新オフセットパラメータフラグが1を示していると判定したときに、ステップS404~S408の処理を実行したが、逆に、更新オフセットパラメータフラグが0を示していると判定したときに、ステップS404~S408の処理を実行してもよい。
 さらに、本発明の一態様は、以下のような復号方法であってもよい。
 この復号方法は、画像符号化に用いられる量子化オフセットパラメータ(オフセットパラメータ)を復号する復号方法であって、ピクチャのヘッダからフラグを解析し(S400)、前記フラグが予め定められた値を示しているか否かを判定し(S402)、前記フラグが予め定められた値を示していれば、前記ヘッダからオフセット更新デノミネータのパラメータを解析し(S404)、前記ヘッダから新たに更新された量子化オフセットマトリクス値(量子化オフセット値)を復号する(S406およびS408)。
 ここで、前記オフセット更新デノミネータの解析を必要としなくてもよく、前記オフセット更新デノミネータは予め定義された値に設定されていてもよい。
 また、新たな量子化オフセットマトリクス(量子化オフセットマトリクス値)を復号する処理は、オフセット更新フラグを前記ピクチャのヘッダから解析し(S600)、前記オフセット更新フラグが第1の予め定められた値を示しているか否かを判定し(S601)、前記オフセット更新フラグが第1の予め定められた値を示していれば、更新タイプ識別子のパラメータを前記ヘッダから解析し(S602)、前記解析されたパラメータが第2の予め定められた値を示している否かを判定し(S604)、前記解析された更新タイプ識別子のパラメータが第2の予め定められた値を示していれば、オフセット更新パラメータを前記ヘッダから解析し(S608)、前記解析されたオフセット更新パラメータに基づいて新たな量子化オフセット値を算出し(S610)、前記解析された更新タイプ識別子のパラメータが第2の予め定められた値を示していなければ、前記解析された更新タイプ識別子のパラメータが第3の予め定められた値を示しているか否かを判定し(S606)、前記解析された更新タイプ識別子のパラメータが第3の予め定められた値を示していれば、前記ヘッダから新たな量子化オフセットマトリクス値を解析し(S616)、前記解析された更新タイプ識別子のパラメータが第3の予め定められた値を示していなければ、単一の量子化オフセット値を前記ヘッダから解析し(S612)、前記解析された単一の量子化オフセット値に、全ての前記新たな量子化オフセットマトリクス値を設定してもよい(S614)。
 また、新しい量子化オフセットマトリクス(量子化オフセットマトリクス値)を復号する処理は、ピクチャのヘッダからオフセット更新フラグを解析し(S1900)、前記フラグが第1の予め定められた値を示しているか否かを判定し(S1902)、前記フラグが予め定められた値を示している場合には、前記ヘッダからオフセット更新パラメータを解析し(S1904)、解析されたオフセット更新パラメータに基づいて新しい量子化オフセット値を算出してもよい(S1906)。
 また、オフセット更新パラメータを解析する処理は、ヘッダから第1の修正パラメータを解析し(S800)、ヘッダから第2の修正パラメータを解析し(S802)、ヘッダから、符号化されたデルタオフセット値の数を示すパラメータを解析し(S806)、解析された、前記符号化されたデルタオフセット値の数に基づいて、前記ヘッダからデルタオフセット値を解析してもよい(S810)。
 また、オフセット更新パラメータを解析する処理は、ヘッダからマトリクス識別子のパラメータを解析し(S2100)、前記ヘッダから第1の修正パラメータを解析し(S2102)、前記ヘッダから第2の修正パラメータを解析し(S2104)、前記ヘッダから、符号化されたデルタオフセット値の数を示すパラメータを解析し(S2106)、解析された、前記符号化されたデルタオフセット値の数に基づいて、前記ヘッダからデルタオフセット値を解析してもよい(S2108)。
 また、量子化オフセットマトリクス値を解析する処理は、予め定義された値に最初の量子化オフセット値を初期化し(S1000)、ヘッダから走査順にデルタオフセット値を解析し(S1004)、前記解析されたデルタオフセット値を初期値に加算することによって新しい量子化オフセット値を算出し(S1006)、前記算出された量子化オフセット値が前記量子化オフセットマトリクスの最後の量子化オフセット値であるか否かを判定し(ループC)、前記算出された量子化オフセット値が最後の量子化オフセット値でない場合には、走査順で次のマトリクス位置のデルタオフセット値を前記算出された値に初期化し(S1008)、前記算出された値が0でなければ、走査順で次のデルタオフセット値を復号し(S1004)、前記算出された新しい量子化オフセット値が0であれば、残りの量子化オフセット値を過去の非ゼロの量子化オフセット値に設定してもよい。
 また、オフセット更新パラメータを用いて新しい量子化オフセット値を算出する処理は、過去の量子化オフセット値を決定し(S1200)、第1の修正パラメータによって決定された係数で前記過去の量子化オフセット値をスケーリングすることにより第1の値を算出し(S1202)、前記過去の量子化オフセット値と固定値との差分を導出し(S1204)、第2の修正パラメータによって決定された係数で前記差分をスケーリングすることにより第2の値を算出し(S1206)、第1の値と第2の値を加算して、計算オフセット値を取得し(S1208)、前記デルタオフセット値を前記計算オフセット値に加算することによって新しい量子化オフセット値を算出する(S1210)。
 ここで、前記第1の修正パラメータによって求められた前記係数は、前記第1の修正パラメータとオフセット更新デノミネータの値との和を算出し、かつ前記和を前記オフセット更新デノミネータの値で除算することで算出された比である。
 また、前記第2の修正パラメータによって求められた前記係数は、前記第2の修正パラメータを前記オフセット更新デノミネータの値で除算することで算出された比である。
 また、前記固定値は、予め定義された値である。
 あるいは、前記固定値は、変換ブロックのDC位置の量子化オフセット値である。
 あるいは、前記固定値は、変換ブロックの平均オフセット値である。
 なお、本発明の一態様は、以下のような符号化方法であってもよい。
 この符号化方法は、画像符号化に用いられる量子化オフセットパラメータ(オフセットパラメータ)を符号化する符号化方法であって、ピクチャのヘッダにフラグを書き込み(S500)、量子化オフセットマトリクス値(量子化オフセットマトリクス)が更新されるべきか否かを判定し(S502)、量子化オフセットマトリクス値が更新されるべきである場合、オフセット更新デノミネータのパラメータを前記ヘッダに書き込み(S504)、前記ヘッダに、新たに更新された量子化オフセットマトリクス値を符号化する(S508およびS510)。
 ここで、前記オフセット更新デノミネータの書き込みを必要としなくてもよく、前記オフセット更新デノミネータは予め定義された値に設定されていてもよい。
 また、新しい量子化オフセットマトリクスを符号化する処理は、ピクチャのヘッダにオフセット更新フラグを書き込み(S700)、新しい量子化オフセットマトリクスが使われるか否かを判定し(S701)、新しいオフセットマトリクスが使われる場合、前記ヘッダに更新タイプ識別子のパラメータを書き込み(S702)、更新方法を用いて前記量子化オフセットマトリクス値が符号化されるべきか否かを判定し(S704)、前記更新方法を用いて前記量子化オフセットマトリクス値が符号化されるべきである場合、新しい量子化オフセットマトリクス値に基づいて前記更新方法を用いてオフセット更新パラメータを算出し(S708)、前記ヘッダにオフセット更新パラメータを書き込み(S710)、前記更新方法を用いて前記量子化オフセットマトリクス値が符号化されるべきでない場合(S706)、新しい量子化オフセットマトリクス値が同じ値であるか否かを判定し、前記新しい量子化オフセットマトリクス値が同じ値でなければ、新しい量子化オフセットマトリクス値を前記ヘッダに書き込み(S716)、前記新しい量子化オフセットマトリクス値が同じ値であれば、前記ヘッダに単一の量子化オフセット値(量子化オフセットマトリクス値)を書き込んでもよい(S712)。
 また、新しい量子化オフセットマトリクスを符号化する処理は、ピクチャのヘッダにオフセット更新フラグを書き込み(S2000)、新しい量子化オフセットマトリクスが用いられるか否かを判定し(S2002)、新しい量子化オフセットマトリクスが用いられる場合、新しい量子化オフセット値に基づいてオフセット更新パラメータを算出し(S2004)、前記ヘッダにオフセット更新パラメータを書き込んでもよい(S2006)。
 また、オフセット更新パラメータを書き込む処理は、ヘッダに第1の修正パラメータを書き込み(S900)、前記ヘッダに第2の修正パラメータを書き込み(S902)、デルタオフセット値の数を算出し(S904)、符号化されたデルタオフセット値の数を示すパラメータを前記ヘッダに書き込み(S906)、前記書き込まれた、符号化されたデルタオフセット値の数に基づいて前記ヘッダにデルタオフセット値を書き込んでもよい(S910)。
 また、オフセット更新パラメータを書き込む処理は、ヘッダにマトリクス識別子のパラメータを書き込み(S2200)、前記ヘッダに第1の修正パラメータを書き込み(S2202)、前記ヘッダに第2の修正パラメータを書き込み(S2204)、デルタオフセット値の数を算出し(S2206)、符号化されたデルタオフセット値の数を示すパラメータを前記ヘッダに書き込み(S2208)、前記書き込まれた、符号化されたデルタオフセット値の数に基づいて前記ヘッダにデルタオフセット値を書き込んでもよい(S2210)。
 また、量子化オフセットマトリクス値を書き込む処理は、最初の参照オフセット値を予め定義された値に初期化し(S1100)、走査順で次の新しい量子化オフセット値から前記参照オフセット値を減算することによってデルタオフセット値を算出し(S1104)、前記ヘッダにデルタオフセット値を符号化し(S1106)、変換ブロックの次の位置に対する参照オフセット値を、前記新しい量子化オフセット値に設定し(S1108)、走査順で残りの量子化オフセット値が前記参照オフセット値と同じ値であるか否かを判定し(S1110)、走査順で残りの量子化オフセット値が前記参照オフセット値と同じ値である場合、前記参照オフセット値の負の値に前記デルタオフセット値を符号化し(S1112)、走査順で残りの量子化オフセット値が前記参照オフセット値と同じ値でない場合、変換ブロックの最後の位置まで、走査順で次のデルタオフセット値を算出してもよい(S1104)。
 また、オフセット更新パラメータを算出する処理は、過去の量子化オフセット値を決定し(S1300)、第1の修正パラメータによって決定された係数で前記過去の量子化オフセット値をスケーリングすることにより第1の値を算出し(S1302)、前記過去の量子化オフセット値と固定値との差分を導出し(S1304)、第2の修正パラメータによって決定された係数で前記差分をスケーリングすることにより第2の値を算出し(S1306)、前記第1の値と第2の値とを加算して計算オフセット値を得て(S1308)、新しい量子化オフセット値から前記計算オフセット値を減算することによってデルタオフセット値を算出してもよい(S1310)。
 ここで、前記第1の修正パラメータによって求められた前記係数は、前記第1の修正パラメータとオフセット更新デノミネータの値との和を算出し、かつ前記和を前記オフセット更新デノミネータの値で除算することで算出された比である。
 また、前記第2の修正パラメータによって求められた前記係数は、前記第2の修正パラメータを前記オフセット更新デノミネータの値で除算することで算出された比である。
 また、前記固定値は、予め定義された値である。
 あるいは、前記固定値は、変換ブロックのDC位置のオフセット値である。
 ここで、上述の量子化オフセットパラメータを符号化および復号する方法において、過去の量子化オフセットマトリクス値を決定する処理は、以下のような処理であってもよい。
 マトリクス識別子のパラメータの値を決定し(S2300)、前記マトリクス識別子のパラメータが予め定められた値を示すか否かを判定し(S2302)、前記マトリクス識別子のパラメータが予め定められた値を示す場合、量子化スケーリングマトリクス値をメモリから検索し(S2306)、検索された量子化スケーリングマトリクス値に量子化オフセットマトリクス値を設定し(S2308)、前記マトリクス識別子のパラメータが予め定められた値を示さない場合、量子化オフセットマトリクス値をメモリから検索する(S2304)。
 また、本発明の一態様は以下のような調整方法であってもよい。
 この調整方法は、量子化オフセット値を用いて逆量子化値を調整する調整方法であって、量子化オフセット値を取得し(S1400)、予め定義された値から前記量子化オフセット値を減算することでスケール値を求め(S1402)、前記スケール値を量子化スケールステップサイズで乗算し(S1404)、前記積の値を前記予め定義された値で除算することにより調整値を求め(S1406)、前記逆量子化された値から前記調整値を減算する(S1408)。
 ここで、前記予め定義された値は128である。
 なお、本発明は上述の復号方法、符号化方法および調整方法によって実現されるだけでなく、このような方法によって復号、符号化および調整を行う装置、集積回路、その方法にしたがった処理をコンピュータに実行させるプログラム、および、そのプログラムを格納する記録媒体としても実現することができる。
 (実施の形態2)
 上記実施の形態で示した画像符号化方法または画像復号方法の構成を実現するためのプログラムを記憶メディアに記録することにより、上記実施の形態で示した処理を独立したコンピュータシステムにおいて簡単に実施することが可能となる。記憶メディアは、磁気ディスク、光ディスク、光磁気ディスク、ICカード、半導体メモリ等、プログラムを記録できるものであればよい。
 さらにここで、上記実施の形態で示した画像符号化方法および画像復号方法の応用例とそれを用いたシステムを説明する。
 図26は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex106~ex110が設置されている。
 このコンテンツ供給システムex100は、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および、基地局ex106~ex110を介して、コンピュータex111、PDA(Personal Digital Assistant)ex112、カメラex113、携帯電話ex114、ゲーム機ex115などの各機器が接続される。
 しかし、コンテンツ供給システムex100は図26のような構成に限定されず、いずれかの要素を組み合わせて接続するようにしてもよい。また、固定無線局である基地局ex106~ex110を介さずに、各機器が電話網ex104に直接接続されてもよい。また、各機器が近距離無線等を介して直接相互に接続されていてもよい。
 カメラex113はデジタルビデオカメラ等の動画撮影が可能な機器であり、カメラex116はデジタルカメラ等の静止画撮影、動画撮影が可能な機器である。また、携帯電話ex114は、GSM(Global System for Mobile Communications)方式、CDMA(Code Division Multiple Access)方式、W-CDMA(Wideband-Code Division Multiple Access)方式、もしくはLTE(Long Term Evolution)方式、HSPA(High Speed Packet Access)の携帯電話機、または、PHS(Personal Handyphone System)等であり、いずれでも構わない。
 コンテンツ供給システムex100では、カメラex113等が基地局ex109、電話網ex104を通じてストリーミングサーバex103に接続されることで、ライブ配信等が可能になる。ライブ配信では、ユーザがカメラex113を用いて撮影するコンテンツ(例えば、音楽ライブの映像等)に対して上記実施の形態で説明したように符号化処理を行い、ストリーミングサーバex103に送信する。一方、ストリーミングサーバex103は要求のあったクライアントに対して送信されたコンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号することが可能な、コンピュータex111、PDAex112、カメラex113、携帯電話ex114、ゲーム機ex115等がある。配信されたデータを受信した各機器では、受信したデータを復号処理して再生する。
 なお、撮影したデータの符号化処理はカメラex113で行っても、データの送信処理をするストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。同様に配信されたデータの復号処理はクライアントで行っても、ストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。また、カメラex113に限らず、カメラex116で撮影した静止画像および/または動画像データを、コンピュータex111を介してストリーミングサーバex103に送信してもよい。この場合の符号化処理はカメラex116、コンピュータex111、ストリーミングサーバex103のいずれで行ってもよいし、互いに分担して行ってもよい。
 また、これら符号化処理および復号処理は、一般的にコンピュータex111および各機器が有するLSI(Large Scale Integration)ex500において処理する。LSIex500は、ワンチップであっても複数チップからなる構成であってもよい。なお、画像符号化用および画像復号用のソフトウェアをコンピュータex111等で読み取り可能な何らかの記録メディア(CD-ROM、フレキシブルディスク、ハードディスクなど)に組み込み、そのソフトウェアを用いて符号化処理および復号処理を行ってもよい。さらに、携帯電話ex114がカメラ付きである場合には、そのカメラで取得した動画データを送信してもよい。このときの動画データは携帯電話ex114が有するLSIex500で符号化処理されたデータである。
 また、ストリーミングサーバex103は複数のサーバまたは複数のコンピュータであって、データを分散して処理したり記録したり配信するものであってもよい。
 以上のようにして、コンテンツ供給システムex100では、符号化されたデータをクライアントが受信して再生することができる。このようにコンテンツ供給システムex100では、ユーザが送信した情報をリアルタイムでクライアントが受信して復号し、再生することができ、特別な権利または設備を有さないユーザでも個人放送を実現できる。
 このコンテンツ供給システムを構成する各機器の符号化、復号には上記実施の形態で示した画像符号化方法あるいは画像復号方法を用いるようにすればよい。
 その一例として携帯電話ex114について説明する。
 図27は、上記実施の形態で説明した画像符号化方法と画像復号方法を用いた携帯電話ex114を示す図である。携帯電話ex114は、基地局ex110との間で電波を送受信するためのアンテナex601、CCDカメラ等の映像、静止画を撮ることが可能なカメラ部ex603、カメラ部ex603で撮影した映像、アンテナex601で受信した映像等が復号されたデータを表示する液晶ディスプレイ等の表示部ex602、操作キーex604群から構成される本体部、音声出力をするためのスピーカ等の音声出力部ex608、音声入力をするためのマイク等の音声入力部ex605、撮影した動画もしくは静止画のデータ、受信したメールのデータ、動画のデータもしくは静止画のデータ等、符号化されたデータまたは復号されたデータを保存するための記録メディアex607、携帯電話ex114に記録メディアex607を装着可能とするためのスロット部ex606を有している。記録メディアex607はSDカード等のプラスチックケース内に電気的に書換えおよび消去が可能な不揮発性メモリであるEEPROMの一種であるフラッシュメモリ素子を格納したものである。
 さらに、携帯電話ex114について図28を用いて説明する。携帯電話ex114は表示部ex602および操作キーex604を備えた本体部の各部を統括的に制御するようになされた主制御部ex711に対して、電源回路部ex710、操作入力制御部ex704、画像符号化部ex712、カメラインターフェース部ex703、LCD(Liquid Crystal Display)制御部ex702、画像復号部ex709、多重分離部ex708、記録再生部ex707、変復調回路部ex706および音声処理部ex705が同期バスex713を介して互いに接続されている。
 電源回路部ex710は、ユーザの操作により終話および電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することによりカメラ付デジタル携帯電話ex114を動作可能な状態に起動する。
 携帯電話ex114は、CPU、ROMおよびRAM等でなる主制御部ex711の制御に基づいて、音声通話モード時に音声入力部ex605で集音した音声信号を音声処理部ex705によってデジタル音声データに変換し、これを変復調回路部ex706でスペクトラム拡散処理し、送受信回路部ex701でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex601を介して送信する。また携帯電話ex114は、音声通話モード時にアンテナex601で受信した受信データを増幅して周波数変換処理およびアナログデジタル変換処理を施し、変復調回路部ex706でスペクトラム逆拡散処理し、音声処理部ex705によってアナログ音声データに変換した後、音声出力部ex608を介してこれを出力する。
 さらに、データ通信モード時に電子メールを送信する場合、本体部の操作キーex604の操作によって入力された電子メールのテキストデータは操作入力制御部ex704を介して主制御部ex711に送出される。主制御部ex711は、テキストデータを変復調回路部ex706でスペクトラム拡散処理し、送受信回路部ex701でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex601を介して基地局ex110へ送信する。
 データ通信モード時に画像データを送信する場合、カメラ部ex603で撮像された画像データを、カメラインターフェース部ex703を介して画像符号化部ex712に供給する。また、画像データを送信しない場合には、カメラ部ex603で撮像した画像データをカメラインターフェース部ex703およびLCD制御部ex702を介して表示部ex602に直接表示することも可能である。
 画像符号化部ex712は、本願発明で説明した画像符号化装置を備えた構成であり、カメラ部ex603から供給された画像データを上記実施の形態で示した画像符号化装置に用いた符号化方法によって圧縮符号化することにより符号化画像データに変換し、これを多重分離部ex708に送出する。また、このとき同時に携帯電話ex114は、カメラ部ex603で撮像中に音声入力部ex605で集音した音声を、音声処理部ex705を介してデジタルの音声データとして多重分離部ex708に送出する。
 多重分離部ex708は、画像符号化部ex712から供給された符号化画像データと音声処理部ex705から供給された音声データとを所定の方式で多重化し、その結果得られる多重化データを変復調回路部ex706でスペクトラム拡散処理し、送受信回路部ex701でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex601を介して送信する。
 データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、アンテナex601を介して基地局ex110から受信した受信データを変復調回路部ex706でスペクトラム逆拡散処理し、その結果得られる多重化データを多重分離部ex708に送出する。
 また、アンテナex601を介して受信された多重化データを復号するには、多重分離部ex708は、多重化データを分離することにより画像データのビットストリームと音声データのビットストリームとに分け、同期バスex713を介して当該符号化画像データを画像復号部ex709に供給すると共に当該音声データを音声処理部ex705に供給する。
 次に、画像復号部ex709は、本願で説明した画像復号装置を備えた構成であり、画像データのビットストリームを上記実施の形態で示した符号化方法に対応した復号方法で復号することにより再生動画像データを生成し、これを、LCD制御部ex702を介して表示部ex602に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まれる動画データが表示される。このとき同時に音声処理部ex705は、音声データをアナログ音声データに変換した後、これを音声出力部ex608に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まれる音声データが再生される。
 なお、上記システムの例に限られず、最近は衛星、地上波によるデジタル放送が話題となっており、図29に示すようにデジタル放送用システムにも上記実施の形態の少なくとも画像符号化装置または画像復号装置を組み込むことができる。具体的には、放送局ex201では音声データ、映像データまたはそれらのデータが多重化されたビットストリームが電波を介して通信または放送衛星ex202に伝送される。これを受けた放送衛星ex202は、放送用の電波を発信し、衛星放送受信設備をもつ家庭のアンテナex204はこの電波を受信し、テレビ(受信機)ex300またはセットトップボックス(STB)ex217などの装置はビットストリームを復号してこれを再生する。また、記録媒体であるCDおよびDVD等の記録メディアex215、ex216に記録した画像データと、音声データが多重化されたビットストリームを読み取り、復号するリーダ/レコーダex218にも上記実施の形態で示した画像復号装置を実装することが可能である。この場合、再生された映像信号はモニタex219に表示される。また、ケーブルテレビ用のケーブルex203または衛星/地上波放送のアンテナex204に接続されたセットトップボックスex217内に画像復号装置を実装し、これをテレビのモニタex219で再生する構成も考えられる。このときセットトップボックスではなく、テレビ内に画像復号装置を組み込んでも良い。また、アンテナex205を有する車ex210で、衛星ex202または基地局等から信号を受信し、車ex210が有するカーナビゲーションex211等の表示装置に動画を再生することも可能である。
 また、DVD、BD等の記録メディアex215に記録した音声データ、映像データまたはそれらのデータが多重化された符号化ビットストリームを読み取り復号する、または、記録メディアex215に、音声データ、映像データまたはそれらのデータを符号化し、多重化データとして記録するリーダ/レコーダex218にも上記実施の形態で示した画像復号装置または画像符号化装置を実装することが可能である。この場合、再生された映像信号はモニタex219に表示される。また、符号化ビットストリームが記録された記録メディアex215により、他の装置およびシステム等は、映像信号を再生することができる。例えば、他の再生装置ex212は、符号化ビットストリームがコピーされた記録メディアex214を用いて、モニタex213に映像信号を再生することができる。
 また、ケーブルテレビ用のケーブルex203または衛星/地上波放送のアンテナex204に接続されたセットトップボックスex217内に画像復号装置を実装し、これをテレビのモニタex219で表示してもよい。このときセットトップボックスではなく、テレビ内に画像復号装置を組み込んでもよい。
 図30は、上記実施の形態で説明した画像復号方法および画像符号化方法を用いたテレビ(受信機)ex300を示す図である。テレビex300は、上記放送を受信するアンテナex204またはケーブルex203等を介して映像情報のビットストリームを取得、または、出力するチューナex301と、受信した符号化データを復調する、または、生成された符号化データを外部に送信するために変調する変調/復調部ex302と、復調した映像データと音声データとを分離する、または、符号化された映像データと音声データとを多重化する多重/分離部ex303を備える。また、テレビex300は、音声データ、映像データそれぞれを復号する、または、それぞれの情報を符号化する音声信号処理部ex304、映像信号処理部ex305を有する信号処理部ex306と、復号された音声信号を出力するスピーカex307、復号された映像信号を表示するディスプレイ等の表示部ex308を有する出力部ex309とを有する。さらに、テレビex300は、ユーザ操作の入力を受け付ける操作入力部ex312等を有するインターフェース部ex317を有する。さらに、テレビex300は、各部を統括的に制御する制御部ex310、各部に電力を供給する電源回路部ex311を有する。インターフェース部ex317は、操作入力部ex312以外に、リーダ/レコーダex218等の外部機器と接続されるブリッジex313、SDカード等の記録メディアex216を装着可能とするためのスロット部ex314、ハードディスク等の外部記録メディアと接続するためのドライバex315、電話網と接続するモデムex316等を有していてもよい。なお記録メディアex216は、格納する不揮発性/揮発性の半導体メモリ素子により電気的に情報の記録を可能としたものである。テレビex300の各部は同期バスを介して互いに接続されている。
 まず、テレビex300がアンテナex204等により外部から取得したデータを復号し、再生する構成について説明する。テレビex300は、リモートコントローラex220等からのユーザ操作を受け、CPU等を有する制御部ex310の制御に基づいて、変調/復調部ex302で復調した映像データ、音声データを多重/分離部ex303で分離する。さらにテレビex300は、分離した音声データを音声信号処理部ex304で復号し、分離した映像データを映像信号処理部ex305で上記実施の形態で説明した復号方法を用いて復号する。復号した音声信号、映像信号は、それぞれ出力部ex309から外部に向けて出力される。出力する際には、音声信号と映像信号が同期して再生するよう、バッファex318、ex319等に一旦これらの信号を蓄積するとよい。また、テレビex300は、放送等からではなく、磁気/光ディスク、SDカード等の記録メディアex215、ex216から符号化された符号化ビットストリームを読み出してもよい。次に、テレビex300が音声信号および映像信号を符号化し、外部に送信または記録メディア等に書き込む構成について説明する。テレビex300は、リモートコントローラex220等からのユーザ操作を受け、制御部ex310の制御に基づいて、音声信号処理部ex304で音声信号を符号化し、映像信号処理部ex305で映像信号を上記実施の形態で説明した符号化方法を用いて符号化する。符号化した音声信号、映像信号は多重/分離部ex303で多重化され外部に出力される。多重化する際には、音声信号と映像信号が同期するように、バッファex320、ex321等に一旦これらの信号を蓄積するとよい。なお、バッファex318~ex321は図示しているように複数備えていてもよいし、一つ以上のバッファを共有する構成であってもよい。さらに、図示している以外に、例えば変調/復調部ex302と多重/分離部ex303との間等でもシステムのオーバフローおよびアンダーフローを避ける緩衝材としてバッファにデータを蓄積することとしてもよい。
 また、テレビex300は、放送および記録メディア等から音声データおよび映像データを取得する以外に、マイクおよびカメラのAV入力を受け付ける構成を備え、それらから取得したデータに対して符号化処理を行ってもよい。なお、ここではテレビex300は、上記の符号化処理、多重化、および、外部出力ができる構成として説明したが、これらのすべての処理を行うことはできず、上記受信、復号処理、および、外部出力のうちいずれかのみが可能な構成であってもよい。
 また、リーダ/レコーダex218で記録メディアから符号化ビットストリームを読み出す、または、書き込む場合には、上記復号処理または符号化処理はテレビex300およびリーダ/レコーダex218のうちいずれかで行ってもよいし、テレビex300とリーダ/レコーダex218とが互いに分担して行ってもよい。
 一例として、光ディスクからデータの読み込みまたは書き込みをする場合の情報再生/記録部ex400の構成を図31に示す。情報再生/記録部ex400は、以下に説明する要素ex401~ex407を備える。光ヘッドex401は、光ディスクである記録メディアex215の記録面にレーザスポットを照射して情報を書き込み、記録メディアex215の記録面からの反射光を検出して情報を読み込む。変調記録部ex402は、光ヘッドex401に内蔵された半導体レーザを電気的に駆動し記録データに応じてレーザ光の変調を行う。再生復調部ex403は、光ヘッドex401に内蔵されたフォトディテクタにより記録面からの反射光を電気的に検出した再生信号を増幅し、記録メディアex215に記録された信号成分を分離して復調し、必要な情報を再生する。バッファex404は、記録メディアex215に記録するための情報および記録メディアex215から再生した情報を一時的に保持する。ディスクモータex405は記録メディアex215を回転させる。サーボ制御部ex406は、ディスクモータex405の回転駆動を制御しながら光ヘッドex401を所定の情報トラックに移動させ、レーザスポットの追従処理を行う。システム制御部ex407は、情報再生/記録部ex400全体の制御を行う。上記の読み出しおよび書き込みの処理は、システム制御部ex407が、バッファex404に保持された各種情報を利用し、また必要に応じて新たな情報の生成および追加を行うと共に、変調記録部ex402、再生復調部ex403およびサーボ制御部ex406を協調動作させながら、光ヘッドex401を通して、情報の記録再生を行うことにより実現される。システム制御部ex407は、例えばマイクロプロセッサで構成され、読み出し書き込みのプログラムを実行することでそれらの処理を実行する。
 以上では、光ヘッドex401はレーザスポットを照射するとして説明したが、近接場光を用いてより高密度な記録を行う構成であってもよい。
 図32に光ディスクである記録メディアex215の模式図を示す。記録メディアex215の記録面には案内溝(グルーブ)がスパイラル状に形成され、情報トラックex230には、あらかじめグルーブの形状の変化によってディスク上の絶対位置を示す番地情報が記録されている。この番地情報はデータを記録する単位である記録ブロックex231の位置を特定するための情報を含み、記録および再生を行う装置は、情報トラックex230を再生し番地情報を読み取ることで記録ブロックを特定することができる。また、記録メディアex215は、データ記録領域ex233、内周領域ex232、外周領域ex234を含んでいる。ユーザデータを記録するために用いる領域がデータ記録領域ex233であり、データ記録領域ex233の内周または外周に配置されている内周領域ex232と外周領域ex234は、ユーザデータの記録以外の特定用途に用いられる。情報再生/記録部ex400は、このような記録メディアex215のデータ記録領域ex233に対して、符号化された音声データ、映像データまたはそれらのデータを多重化した符号化データの読み書きを行う。
 以上では、1層のDVD、BD等の光ディスクを例に挙げ説明したが、これらに限ったものではなく、多層構造であって表面以外にも記録可能な光ディスクであってもよい。また、ディスクの同じ場所にさまざまな異なる波長の色の光を用いて情報を記録したり、さまざまな角度から異なる情報の層を記録したりするなど、多次元的な記録/再生を行う構造の光ディスクであってもよい。
 また、デジタル放送用システムex200において、アンテナex205を有する車ex210で衛星ex202等からデータを受信し、車ex210が有するカーナビゲーションex211等の表示装置に動画を再生することも可能である。なお、カーナビゲーションex211の構成は例えば図30に示す構成のうち、GPS受信部を加えた構成が考えられ、同様なことがコンピュータex111および携帯電話ex114等でも考えられる。また、上記携帯電話ex114等の端末は、テレビex300と同様に、符号化器および復号器を両方持つ送受信型端末の他に、符号化器のみの送信端末、復号器のみの受信端末という3通りの実装形式が考えられる。
 このように、上記実施の形態で示した画像符号化方法あるいは画像復号方法を上述したいずれの機器およびシステムに用いることは可能であり、そうすることで、上記実施の形態で説明した効果を得ることができる。
 また、本発明は、上記実施の形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
 (実施の形態3)
 上記各実施の形態で示した画像符号化方法および装置、画像復号方法および装置は、典型的には集積回路であるLSIで実現される。一例として、図33に1チップ化されたLSIex500の構成を示す。LSIex500は、以下に説明する要素ex501~ex509を備え、各要素はバスex510を介して接続している。電源回路部ex505は電源がオン状態の場合に各部に対して電力を供給することで動作可能な状態に起動する。
 例えば符号化処理を行う場合には、LSIex500は、CPUex502、メモリコントローラex503およびストリームコントローラex504等を有する制御部ex501の制御に基づいて、AV I/Oex509によりマイクex117およびカメラex113等からAV信号の入力を受け付ける。入力されたAV信号は、一旦SDRAM等の外部のメモリex511に蓄積される。制御部ex501の制御に基づいて、蓄積したデータは、処理量および処理速度に応じて適宜複数回に分けるなどされ、信号処理部ex507に送られる。信号処理部ex507は、音声信号の符号化および/または映像信号の符号化を行う。ここで映像信号の符号化処理は、上記実施の形態で説明した符号化処理である。信号処理部ex507ではさらに、場合により符号化された音声データと符号化された映像データを多重化するなどの処理を行い、ストリームI/Oex506から外部に出力する。この出力されたビットストリームは、基地局ex107に向けて送信されたり、または、記録メディアex215に書き込まれたりする。なお、多重化する際には同期するよう、一旦バッファex508にデータを蓄積するとよい。
 また、例えば復号処理を行う場合には、LSIex500は、制御部ex501の制御に基づいて、ストリームI/Oex506によって基地局ex107を介して得た符号化データ、または、記録メディアex215から読み出して得た符号化データを一旦メモリex511等に蓄積する。制御部ex501の制御に基づいて、蓄積したデータは、処理量および処理速度に応じて適宜複数回に分けるなどされ信号処理部ex507に送られる。信号処理部ex507は、音声データの復号および/または映像データの復号を行う。ここで映像信号の復号処理は、上記実施の形態で説明した復号処理である。さらに、場合により復号された音声信号と復号された映像信号を同期して再生できるようそれぞれの信号を一旦バッファex508等に蓄積するとよい。復号された出力信号は、メモリex511等を適宜介しながら、携帯電話ex114、ゲーム機ex115およびテレビex300等の各出力部から出力される。
 なお、上記では、メモリex511がLSIex500の外部の構成として説明したが、LSIex500の内部に含まれる構成であってもよい。バッファex508も一つに限ったものではなく、複数のバッファを備えていてもよい。また、LSIex500は1チップ化されてもよいし、複数チップ化されてもよい。
 なお、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
 また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA、または、LSI内部の回路セルの接続および設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
 さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
 以上、本発明に係る符号化方法、符号化装置、復号方法および復号装置について、実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を当該実施の形態に施した形態、および、異なる実施の形態における構成要素およびステップ等を組み合わせて構築される別の形態も、本発明の範囲内に含まれる。
 本発明に係る画像復号方法および画像符号化方法は、符号化ストリームの符号量を削減することができるという効果を奏し、例えば、画像復号装置、画像符号化装置、ビデオカメラ、再生装置、動画撮影再生機能を有する携帯電話、およびパーソナルコンピュータなどに適用することができる。
 1 画像復号装置
 2 画像符号化装置
 10 フラグ解析部
 11 判定部
 12 量子化オフセットマトリクス算出部
 13 逆量子化復号部
 20 判定部
 21 フラグ書き込み部
 22 オフセット更新パラメータ算出部
 23 パラメータ書き込み部
 24 量子化符号化部
 1000 画像復号装置
 1500 オフセットパラメータ解析部
 1502 量子化オフセット値算出部
 1504 量子化オフセット値格納部
 1506 第1のメモリ部
 1508 逆量子化部
 1510 逆変換部
 1512 サンプル再構成部
 1514 サンプル予測部
 1516 第2のメモリ部
 1600 オフセットパラメータ算出部
 1602 オフセットパラメータ書き込み部
 1604 第1のメモリ部
 1606 減算部
 1608 変換部
 1610 量子化部
 1612 逆量子化部
 1614 逆変換部
 1616 サンプル予測部
 1618 第2のメモリ部
 1620 加算部
 2000 画像符号化装置
 D100 オフセット更新フラグ
 D102 オフセット更新パラメータ
 D104 更新タイプ識別子
 D106 第1の修正パラメータ
 D108 第2の修正パラメータ
 D110 デルタオフセット値の数
 D112,D114 デルタオフセット値
 D116 量子化オフセット値
 D302,D308 更新オフセットパラメータフラグ
 D304,D310 オフセット更新デノミネータ
 D306,D312 オフセットパラメータセット
 D1501 ヘッダ
 D1501a シーケンスヘッダ
 D1501b ピクチャヘッダ
 D1503 オフセットパラメータ
 ex100 コンテンツ供給システム
 ex101 インターネット
 ex102 インターネットサービスプロバイダ
 ex103 ストリーミングサーバ
 ex104 電話網
 ex106,ex107,ex108,ex109,ex110 基地局
 ex111 コンピュータ
 ex112 PDA
 ex113,ex116 カメラ
 ex114 カメラ付デジタル携帯電話(携帯電話)
 ex115 ゲーム機
 ex117 マイク
 ex200 デジタル放送用システム
 ex201 放送局
 ex202 放送衛星(衛星)
 ex203 ケーブル
 ex204,ex205,ex601 アンテナ
 ex210 車
 ex211 カーナビゲーション(カーナビ)
 ex212 再生装置
 ex213,ex219 モニタ
 ex214,ex215,ex216,ex607 記録メディア
 ex217 セットトップボックス(STB)
 ex218 リーダ/レコーダ
 ex220 リモートコントローラ
 ex230 情報トラック
 ex231 記録ブロック
 ex232 内周領域
 ex233 データ記録領域
 ex234 外周領域
 ex300 テレビ
 ex301 チューナ
 ex302 変調/復調部
 ex303 多重/分離部
 ex304 音声信号処理部
 ex305 映像信号処理部
 ex306,ex507 信号処理部
 ex307 スピーカ
 ex308,ex602 表示部
 ex309 出力部
 ex310,ex501 制御部
 ex311,ex505,ex710 電源回路部
 ex312 操作入力部
 x313 ブリッジ
 ex314,ex606 スロット部
 ex315 ドライバ
 ex316 モデム
 ex317 インターフェース部
 ex318,ex319,ex320,ex321,ex404,ex508 バッファ
 ex400 情報再生/記録部
 ex401 光ヘッド
 ex402 変調記録部
 ex403 再生復調部
 ex405 ディスクモータ
 ex406 サーボ制御部
 ex407 システム制御部
 ex500 LSI
 ex502 CPU
 ex503 メモリコントローラ
 ex504 ストリームコントローラ
 ex506 ストリームI/O
 ex509 AV I/O
 ex510 バス
 ex603 カメラ部
 ex604 操作キー
 ex605 音声入力部
 ex608 音声出力部
 ex701 送受信回路部
 ex702 LCD制御部
 ex703 カメラインターフェース部(カメラI/F部)
 ex704 操作入力制御部
 ex705 音声処理部
 ex706 変復調回路部
 ex707 記録再生部
 ex708 多重分離部
 ex709 画像復号部
 ex711 主制御部
 ex712 画像符号化部
 ex713 同期バス

Claims (20)

  1.  符号化ストリームに含まれる符号化画像を復号する画像復号方法であって、
     前記符号化ストリームに含まれるヘッダ内にあるオフセット更新フラグを解析し、
     解析された前記オフセット更新フラグが予め定められた値を示しているか否かを判定し、
     解析された前記オフセット更新フラグが予め定められた値を示していると判定された場合には、前記ヘッダに含まれるオフセット更新パラメータを用いて、前記符号化画像に適用される量子化オフセットマトリクスを算出し、
     算出された前記量子化オフセットマトリクスを用いて前記符号化画像に対する逆量子化を行うことによって前記符号化画像を復号する
     画像復号方法。
  2.  前記ヘッダには、前記量子化オフセットマトリクスの更新方法を示す更新タイプ識別子が含まれており、
     前記量子化オフセットマトリクスを算出する際には、
     前記ヘッダに含まれる前記更新タイプ識別子を解析し、
     解析された前記更新タイプ識別子によって示される更新方法にしたがって前記量子化オフセットマトリクスを算出する
     請求項1に記載の画像復号方法。
  3.  前記量子化オフセットマトリクスを算出する際には、
     既にメモリに格納されている他の量子化オフセットマトリクスに対して、前記オフセット更新パラメータを適用することにより、算出対象の量子化オフセットマトリクスを算出する
     請求項1または2に記載の画像復号方法。
  4.  前記量子化オフセットマトリクスを算出する際には、
     前記他の量子化オフセットマトリクスである、直前に算出された量子化オフセットマトリクスに対して前記オフセット更新パラメータを適用する
     請求項3に記載の画像復号方法。
  5.  前記ヘッダには、前記他の量子化オフセットマトリクスを特定するためのマトリクス識別子が含められており、
     前記量子化オフセットマトリクスを算出する際には、
     前記ヘッダに含まれる前記マトリクス識別子を解析し、
     解析された前記マトリクス識別子によって識別される前記他の量子化オフセットマトリクスを前記メモリから検索する
     請求項3に記載の画像復号方法。
  6.  前記ヘッダには、第1および第2の修正パラメータと、算出対象の量子化オフセットマトリクスに含まれる要素のそれぞれに対応するデルタオフセット値とが含まれており、
     前記量子化オフセットマトリクスを算出する際には、
     前記ヘッダに含まれる前記第1および第2の修正パラメータに基づいて第1および第2の係数を算出し、
     前記他の量子化オフセットマトリクスの要素である既知の量子化オフセット値ごとに、
     当該既知の量子化オフセット値に第1の係数を乗算することにより第1の値を算出し、
     当該既知の量子化オフセット値と固定値との差分に第2の係数を乗算することにより第2の値を算出し、
     前記第1の値に前記第2の値を加算することにより予測量子化オフセット値を算出し、
     前記予測量子化オフセット値に、前記算出対象の前記量子化オフセットマトリクスの要素に対応する前記デルタオフセット値を加算することにより、前記要素である量子化オフセット値を算出する
     請求項3~5の何れか1項に記載の画像復号方法。
  7.  前記ヘッダには、さらに、オフセット更新デノミネータが含まれており、
     前記第1の係数を算出する際には、
     前記第1の修正パラメータに前記オフセット更新デノミネータを加算し、
     前記加算によって得られた値を前記オフセット更新デノミネータで除算することによって、前記第1の係数を算出する
     請求項6に記載の画像復号方法。
  8.  前記第2の係数を算出する際には、
     前記第2の修正パラメータを前記オフセット更新デノミネータで除算することによって、前記第2の係数を算出する
     請求項7に記載の画像復号方法。
  9.  前記固定値は、算出対象の量子化オフセットマトリクスに対して予め定められた値である
     請求項6~8の何れか1項に記載の画像復号方法。
  10.  前記固定値は、前記他の量子化オフセットマトリクスに要素として含まれる、直流成分に対応する位置にある量子化オフセット値である
     請求項6~8の何れか1項に記載の画像復号方法。
  11.  前記固定値は、前記他の量子化オフセットマトリクスに要素として含まれる複数の量子化オフセット値の平均値である
     請求項6~8の何れか1項に記載の画像復号方法。
  12.  前記オフセット更新パラメータには、算出対象の量子化オフセットマトリクスの要素である複数の量子化オフセット値の間の差分を示す複数のデルタオフセット値が含まれており、
     前記量子化オフセットマトリクスを算出する際には、
     前記複数のデルタオフセット値のうちの何れか1つのデルタオフセット値を、当該量子化オフセットマトリクス内の既に算出された量子化オフセット値に加算することによって、新たな量子化オフセット値を算出することを繰り返す
     請求項1または2に記載の画像復号方法。
  13.  前記オフセット更新パラメータには、算出対象の量子化オフセットマトリクスの要素である量子化オフセット値が1つだけ、単一量子化オフセット値として含まれており、
     前記量子化オフセットマトリクスを算出する際には、
     算出対象の量子化オフセットマトリクスに含まれる全ての要素を、前記オフセット更新パラメータに含まれる前記単一量子化オフセット値に設定する
     請求項1または2に記載の画像復号方法。
  14.  画像データを符号化することによって符号化ストリームを生成する画像符号化方法であって、
     量子化オフセットマトリクスを更新すべきか否かを判定し、
     前記判定の結果を示すオフセット更新フラグを前記符号化ストリームのヘッダに書き込み、
     前記判定において更新すべきと判定された際には、更新後の新しい量子化オフセットマトリクスに基づいてオフセット更新パラメータを算出し、
     前記オフセット更新パラメータを前記ヘッダに書き込み、
     前記新しい量子化オフセットマトリクスを用いて前記画像データに対する量子化を行うことによって前記画像データを符号化する
     画像符号化方法。
  15.  符号化ストリームに含まれる符号化画像を示す復号する画像復号装置であって、
     前記符号化ストリームに含まれるヘッダ内にあるオフセット更新フラグを解析するフラグ解析部と、
     解析された前記オフセット更新フラグが予め定められた値を示しているか否かを判定する判定部と、
     解析された前記オフセット更新フラグが予め定められた値を示していると判定された場合には、前記ヘッダに含まれるオフセット更新パラメータを用いて、前記符号化画像に適用される量子化オフセットマトリクスを算出する量子化オフセットマトリクス算出部と、
     算出された前記量子化オフセットマトリクスを用いて前記符号化画像に対する逆量子化を行うことによって前記符号化画像を復号する逆量子化復号部と
     を備える画像復号装置。
  16.  画像データを符号化することによって符号化ストリームを生成する画像符号化装置であって、
     量子化オフセットマトリクスを更新すべきか否かを判定する判定部と、
     前記判定の結果を示すオフセット更新フラグを前記符号化ストリームのヘッダに書き込むフラグ書き込み部と、
     前記判定において更新すべきと判定された際には、更新後の新しい量子化オフセットマトリクスに基づいてオフセット更新パラメータを算出するオフセット更新パラメータ算出部と、
     前記オフセット更新パラメータを前記ヘッダに書き込むパラメータ書き込み部と、
     前記新しい量子化オフセットマトリクスを用いて前記画像データに対する量子化を行うことによって前記画像データを符号化する量子化符号化部と
     を備える画像符号化装置。
  17.  符号化ストリームに含まれる符号化画像を復号するためのプログラムであって、
     前記符号化ストリームに含まれるヘッダ内にあるオフセット更新フラグを解析し、
     解析された前記オフセット更新フラグが予め定められた値を示しているか否かを判定し、
     解析された前記オフセット更新フラグが予め定められた値を示していると判定された場合には、前記ヘッダに含まれるオフセット更新パラメータを用いて、前記符号化画像に適用される量子化オフセットマトリクスを算出し、
     算出された前記量子化オフセットマトリクスを用いて前記符号化画像に対する逆量子化を行うことによって前記符号化画像を復号する
     ことをコンピュータに実行させるプログラム。
  18.  画像データを符号化することによって符号化ストリームを生成するためのプログラムであって、
     量子化オフセットマトリクスを更新すべきか否かを判定し、
     前記判定の結果を示すオフセット更新フラグを前記符号化ストリームのヘッダに書き込み、
     前記判定において更新すべきと判定された際には、更新後の新しい量子化オフセットマトリクスに基づいてオフセット更新パラメータを算出し、
     前記オフセット更新パラメータを前記ヘッダに書き込み、
     前記新しい量子化オフセットマトリクスを用いて前記画像データに対する量子化を行うことによって前記画像データを符号化する
     ことをコンピュータに実行させるプログラム。
  19.  符号化ストリームに含まれる符号化画像を示す復号する集積回路であって、
     前記符号化ストリームに含まれるヘッダ内にあるオフセット更新フラグを解析するフラグ解析部と、
     解析された前記オフセット更新フラグが予め定められた値を示しているか否かを判定する判定部と、
     解析された前記オフセット更新フラグが予め定められた値を示していると判定された場合には、前記ヘッダに含まれるオフセット更新パラメータを用いて、前記符号化画像に適用される量子化オフセットマトリクスを算出する量子化オフセットマトリクス算出部と、
     算出された前記量子化オフセットマトリクスを用いて前記符号化画像に対する逆量子化を行うことによって前記符号化画像を復号する逆量子化復号部と
     を備える集積回路。
  20.  画像データを符号化することによって符号化ストリームを生成する集積回路であって、
     量子化オフセットマトリクスを更新すべきか否かを判定する判定部と、
     前記判定の結果を示すオフセット更新フラグを前記符号化ストリームのヘッダに書き込むフラグ書き込み部と、
     前記判定において更新すべきと判定された際には、更新後の新しい量子化オフセットマトリクスに基づいてオフセット更新パラメータを算出するオフセット更新パラメータ算出部と、
     前記オフセット更新パラメータを前記ヘッダに書き込むパラメータ書き込み部と、
     前記新しい量子化オフセットマトリクスを用いて前記画像データに対する量子化を行うことによって前記画像データを符号化する量子化符号化部と
     を備える集積回路。
PCT/JP2010/006381 2009-10-30 2010-10-29 画像復号方法、画像符号化方法、それらの装置、プログラムおよび集積回路 WO2011052213A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009251514 2009-10-30
JP2009-251514 2009-10-30

Publications (1)

Publication Number Publication Date
WO2011052213A1 true WO2011052213A1 (ja) 2011-05-05

Family

ID=43921646

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/006381 WO2011052213A1 (ja) 2009-10-30 2010-10-29 画像復号方法、画像符号化方法、それらの装置、プログラムおよび集積回路

Country Status (2)

Country Link
TW (1) TW201138477A (ja)
WO (1) WO2011052213A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107918936A (zh) * 2016-10-06 2018-04-17 奥多比公司 使用标签跟踪用于分块匹配算法的高频偏移
CN112219227A (zh) * 2018-06-06 2021-01-12 松下电器(美国)知识产权公司 三维数据编码方法、三维数据解码方法、三维数据编码装置、以及三维数据解码装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06284412A (ja) * 1993-03-26 1994-10-07 Sony Corp 画像信号符号化方法および画像信号符号化装置、画像信号復号化方法および画像信号復号化装置、ならびに画像信号記録媒体
WO2007094100A1 (ja) * 2006-02-13 2007-08-23 Kabushiki Kaisha Toshiba 動画像符号化/復号化方法及び装置並びにプログラム
JP2008503918A (ja) * 2004-06-18 2008-02-07 トムソン ライセンシング ビデオ・コーデック量子化のための方法および装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06284412A (ja) * 1993-03-26 1994-10-07 Sony Corp 画像信号符号化方法および画像信号符号化装置、画像信号復号化方法および画像信号復号化装置、ならびに画像信号記録媒体
JP2008503918A (ja) * 2004-06-18 2008-02-07 トムソン ライセンシング ビデオ・コーデック量子化のための方法および装置
WO2007094100A1 (ja) * 2006-02-13 2007-08-23 Kabushiki Kaisha Toshiba 動画像符号化/復号化方法及び装置並びにプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCEG (ISO/IEC JTC1/SC29/ WG11 and ITU-T SG16 Q.6) 12th Meeting: Redmond, Washington USA July 19-23, 2004, JVT-L032", article ALEXIS MICHAEL TOURAPIS ET AL.: "Quantization Offset Matrices for Fidelity Range Extensions" *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107918936A (zh) * 2016-10-06 2018-04-17 奥多比公司 使用标签跟踪用于分块匹配算法的高频偏移
CN107918936B (zh) * 2016-10-06 2023-07-18 奥多比公司 使用标签跟踪用于分块匹配算法的高频偏移
CN112219227A (zh) * 2018-06-06 2021-01-12 松下电器(美国)知识产权公司 三维数据编码方法、三维数据解码方法、三维数据编码装置、以及三维数据解码装置

Also Published As

Publication number Publication date
TW201138477A (en) 2011-11-01

Similar Documents

Publication Publication Date Title
KR101680877B1 (ko) 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치, 프로그램, 및 집적 회로
CN102577387B (zh) 解码方法、解码装置、编码方法以及编码装置
JP5588438B2 (ja) 画像符号化方法及び画像符号化装置
JP5574345B2 (ja) 符号化方法、エラー検出方法、復号方法、符号化装置、エラー検出装置及び復号装置
WO2010070897A1 (ja) 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、プログラム、及び集積回路
WO2011016251A1 (ja) 符号化方法、復号方法、符号化装置及び復号装置
WO2011016248A1 (ja) 符号化方法、復号方法、符号化装置及び復号装置
WO2011016250A1 (ja) 符号化方法、復号方法、符号化装置及び復号装置
JP5679980B2 (ja) 画像符号化方法、画像復号方法、画像符号化装置及び画像復号装置
JP5499035B2 (ja) 画像符号化方法、画像符号化装置、プログラムおよび集積回路
WO2011052216A1 (ja) 画像符号化方法、画像復号方法、画像符号化装置および画像復号装置
WO2011052213A1 (ja) 画像復号方法、画像符号化方法、それらの装置、プログラムおよび集積回路
WO2011089865A1 (ja) 画像符号化方法、画像復号方法、それらの装置、プログラムおよび集積回路

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10826349

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10826349

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP