WO2011108240A1 - 画像符号化方法および画像復号方法 - Google Patents

画像符号化方法および画像復号方法 Download PDF

Info

Publication number
WO2011108240A1
WO2011108240A1 PCT/JP2011/001104 JP2011001104W WO2011108240A1 WO 2011108240 A1 WO2011108240 A1 WO 2011108240A1 JP 2011001104 W JP2011001104 W JP 2011001104W WO 2011108240 A1 WO2011108240 A1 WO 2011108240A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
orthogonal transform
inverse
inverse orthogonal
unit
Prior art date
Application number
PCT/JP2011/001104
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 WO2011108240A1 publication Critical patent/WO2011108240A1/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/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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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

Definitions

  • the present invention relates to an image encoding method and an image decoding method, and more particularly, to an image encoding method involving a conversion from a spatial domain of an image to a frequency domain, and an image decoding method including a conversion from an image frequency domain to a spatial domain. .
  • H.264 ITU-T As an example of the video coding standard, H.264 ITU-T standard called 26x and ISO / IEC standard called MPEG-x.
  • MPEG-x As an example of the video coding standard, H.264 ITU-T standard called 26x and ISO / IEC standard called MPEG-x.
  • the latest video coding standard is H.264. H.264 / MPEG-4AVC (see, for example, Non-Patent Document 1).
  • Such an image encoding device conforming to the moving image encoding standard includes an orthogonal transform unit, a quantization unit, and an entropy encoding unit in order to encode image data at a low bit rate.
  • the orthogonal transform unit outputs a plurality of frequency coefficients with reduced correlation by transforming the image data from the spatial domain to the frequency domain.
  • the quantization unit outputs a plurality of quantized values with a small total data amount by quantizing the plurality of frequency coefficients output from the orthogonal transform unit.
  • the entropy encoding unit outputs an encoded signal (encoded image) obtained by compressing the image data by encoding the plurality of quantization values output from the quantization unit using an entropy encoding algorithm.
  • the orthogonal transform unit obtains a transform input vector xn which is a vector (N-dimensional signal) having N points of elements as image data to be transformed.
  • the orthogonal transform unit as shown in (Equation 1), by performing a transformation T with respect to its inverting input vectors x n, and outputs the converted output (Transform Output) vector y n.
  • the transformation T is a linear transformation
  • the transformation T is expressed by a matrix product of a transformation coefficient A of an N ⁇ N matrix and a transformation input vector x n as shown in (Expression 2). Therefore, the elements yi of converting the output vector y n, by using the conversion coefficient a ik are the elements of the transformation matrix A, it is expressed as shown in (Equation 3).
  • the conversion coefficient A is designed so that the correlation of the conversion input vector (input signal) is reduced, and energy is concentrated on the lower dimension side in the conversion output vector (output signal).
  • a KLT Kerhunen Loeve Transform
  • KLT is known as a method for designing (derived) the conversion coefficient A, or as a conversion using the conversion coefficient A.
  • KLT is a method for deriving an optimum transform coefficient based on the statistical properties of an input signal, or a transform method using the derived optimum transform coefficient.
  • KLT the basis (base of conversion coefficient A) is designed based on statistical properties. Also, such KLT is known as a conversion that greatly eliminates the correlation of input signals and can concentrate energy to the low frequency (low dimension) side very efficiently. Conversion efficiency (conversion performance, objective performance) Or objective image quality) is high. Therefore, encoding efficiency can be improved by using this KLT.
  • the present invention has been made in view of such a problem, and an object thereof is to provide an image encoding method and an image decoding method capable of suppressing a decrease in encoding efficiency and subjective image quality.
  • an image decoding method is an image decoding method for decoding an encoded image, wherein the first and second types are switched by switching the type of inverse orthogonal transform according to the encoded image.
  • the inverse orthogonal transform applied to the encoded image is selected from the second inverse orthogonal transform, the encoded image is inversely quantized, and the inversely quantized encoded image is changed by the switching.
  • Performing the selected inverse orthogonal transform generating a decoded image by adding the difference image generated by the inverse orthogonal transform and a predicted image corresponding to the encoded image, and performing the first inverse orthogonal transform
  • the subjective image quality of the decoded image generated using the second image is higher than the subjective image quality of the decoded image generated using the second inverse orthogonal transform, and the second inverse orthogonal transform is higher than the first inverse orthogonal transform.
  • the inverse orthogonal transform applied to the encoded image is the first inverse orthogonal transform with high subjective image quality and low conversion efficiency, and the conversion efficiency with low subjective image quality.
  • the second inverse orthogonal transform having a high value.
  • the decrease in subjective image quality in the second inverse orthogonal transform may increase as the encoded image (difference image or predicted image) becomes flatter. Therefore, when the encoded image is relatively flat, a decrease in the subjective image quality of the decoded image with respect to the encoded image can be suppressed by applying the first inverse orthogonal transform to the encoded image.
  • the inverse orthogonal transform for the encoded image is performed by applying the second inverse orthogonal transform to the encoded image instead of the first inverse orthogonal transform.
  • the reduction in conversion efficiency can be suppressed.
  • the balance between the conversion efficiency (encoding efficiency) and the subjective image quality can be appropriately maintained, and the deterioration of the encoding efficiency and the subjective image quality can be suppressed.
  • conversion efficiency is essentially synonymous with conversion performance, objective performance, or objective image quality.
  • the values of a plurality of base elements used for the transformation of the lowest frequency component among the transformation matrices used for the first inverse orthogonal transformation are among the transformation matrices used for the second inverse orthogonal transformation.
  • the values of the plurality of base elements used for conversion of the lowest frequency component are uniformly arranged.
  • the encoded image is a flat image that has been subjected to in-plane predictive encoding.
  • the subjective image quality of the decoded image generated using the first inverse orthogonal transform can be appropriately higher than the subjective image quality of the decoded image generated using the second inverse orthogonal transform.
  • the switching it is determined whether or not the predicted image is complicated.
  • the second inverse orthogonal transform is selected, and when it is determined that the predicted image is not complicated. Selects the first inverse orthogonal transform.
  • the prediction mode used to generate the predicted image is acquired, and when the prediction mode is a predetermined mode, the predicted image is not complicated. If the prediction mode is not a predetermined mode, it is determined that the prediction image is complicated.
  • the switching it is determined whether or not the encoded image is complicated.
  • the second inverse orthogonal transform is selected and it is determined that the encoded image is not complicated.
  • the first inverse orthogonal transform is selected.
  • the sum of quantized values included in the encoded image is calculated, it is determined whether or not the total is greater than a predetermined threshold, If it is determined that the total sum is large, it is determined that the encoded image is complex. If it is determined that the total sum is not large, it is determined that the encoded image is not complicated.
  • the quantized values of the remaining frequency components other than the lowest frequency component among the quantized values included in the encoded image are all zero. And when it is determined that one of the quantized values of the plurality of frequency components is not 0, the encoded image is determined to be complex, When it is determined that all the quantized values of the frequency components are 0, it is determined that the encoded image is not complicated.
  • the first inverse orthogonal transform is an inverse discrete cosine transform
  • the second inverse orthogonal transform is an inverse Karhunen-Leve transform
  • the first and second inverse orthogonal transforms are inverse Karhunen-Leve transforms, and the basis matrix used for transforming the lowest frequency component of the transform matrix used for the first inverse orthogonal transform. Each element is aligned to the same value.
  • the image decoding method further performs a second-stage inverse orthogonal transform on the encoded image in which the inverse orthogonal transform selected by the switching is performed as the first-stage inverse orthogonal transform,
  • the inverse orthogonal transform selected by the switching is applied to only the partial region that is part of the inverse-quantized encoded image.
  • the inverse orthogonal transformation of the second stage is performed as the inverse orthogonal transformation, it is included in the partial region that has been subjected to the inverse orthogonal transformation of the first stage and the encoded image that has been inversely quantized.
  • the first-stage inverse orthogonal transform and the second-stage inverse orthogonal transform are performed.
  • the predicted image is added to the difference image generated by the conversion Generating the decoded image by.
  • the first-stage inverse orthogonal transformation can be switched between the first inverse orthogonal transformation and the second inverse orthogonal transformation, and the encoding efficiency and A decrease in subjective image quality can be suppressed.
  • the first inverse orthogonal transform is selected as the first-stage inverse orthogonal transform by the switching
  • the dequantized code A region that does not include the lowest frequency component is selected as the partial region, and the first inverse orthogonal transform is performed on the partial region, and the second inverse orthogonal transform is converted into the second inverse orthogonal transform by the switching.
  • the first-stage inverse orthogonal transform when the first-stage inverse orthogonal transform is performed, a region including the lowest frequency component in the inversely quantized encoded image is selected as the portion. A region is selected, and the second inverse orthogonal transform is performed on the partial region.
  • the DC region is not included in the partial region in which the first inverse orthogonal transform is performed, and the DC component is included in the partial region in which the second inverse orthogonal transform is performed.
  • the conversion can appropriately suppress a decrease in subjective image quality.
  • each diagonal element of the transformation matrix used for the first inverse orthogonal transformation is closer to 1 than the value of each diagonal element of the transformation matrix used for the second inverse orthogonal transformation.
  • the effect of the first inverse orthogonal transform can be made smaller than the effect of the second inverse orthogonal transform, and as a result, the deterioration of the subjective image quality can be appropriately suppressed in the first inverse orthogonal transform.
  • an image coding method is an image coding method for coding an image, and subtracts a predicted image corresponding to the image from the image to obtain a difference image.
  • the subjective image quality of the decoded image is higher than the subjective image quality of the decoded image corresponding to the encoded image generated by the second orthogonal transform and the quantization, Orthogonal transform 2 has a higher conversion efficiency than orthogonal transform of the first.
  • the orthogonal transform applied to the image is switched between the first orthogonal transform with high subjective image quality and low conversion efficiency, and the second orthogonal transform with low subjective image quality and high conversion efficiency.
  • the decrease in subjective image quality in the second orthogonal transformation may increase as the encoding target image (difference image or predicted image) becomes flatter. Therefore, when the image to be encoded is relatively flat, it is possible to suppress the deterioration of the subjective image quality of the decoded image with respect to the image by applying the first orthogonal transform to the image.
  • the second orthogonal transformation is applied to the image instead of the first orthogonal transformation, thereby suppressing a reduction in the transformation efficiency of the orthogonal transformation for the image.
  • the balance between the conversion efficiency (encoding efficiency) and the subjective image quality can be appropriately maintained, and the deterioration of the encoding efficiency and the subjective image quality can be suppressed.
  • the present invention can be realized not only as such an image encoding method and image decoding method, but also for causing a computer to perform an apparatus, an integrated circuit, and a process according to the method that operate according to these methods.
  • the present invention can also be realized as a program and a storage medium for storing the program. Moreover, you may combine how each means for solving the above-mentioned subject how.
  • the image encoding method and the image decoding method of the present invention can suppress a decrease in encoding efficiency and subjective image quality.
  • FIG. 1A is a block diagram of an image encoding apparatus according to the present invention.
  • FIG. 1B is a flowchart showing the processing operation of the image coding apparatus of the present invention.
  • FIG. 2A is a block diagram of the image decoding apparatus of the present invention.
  • FIG. 2B is a flowchart showing the processing operation of the image decoding apparatus of the present invention.
  • FIG. 3 is a block diagram of the image coding apparatus according to Embodiment 1 of the present invention.
  • FIG. 4 is a block diagram showing a configuration of the transform quantization unit according to Embodiment 1 of the present invention.
  • FIG. 5 is a flowchart showing the processing operation of the transform quantization unit in Embodiment 1 of the present invention.
  • FIG. 1A is a block diagram of an image encoding apparatus according to the present invention.
  • FIG. 1B is a flowchart showing the processing operation of the image coding apparatus of the present invention.
  • FIG. 2A is a block diagram of the
  • FIG. 6 is a block diagram showing a configuration of the inverse quantization inverse transform unit in Embodiment 1 of the present invention.
  • FIG. 7 is a flowchart showing the processing operation of the inverse quantization inverse transform unit in Embodiment 1 of the present invention.
  • FIG. 8 is a block diagram of the image decoding apparatus according to Embodiment 1 of the present invention.
  • FIG. 9 is a flowchart showing a processing operation of the transform quantization unit according to the second modification of the first embodiment of the present invention.
  • FIG. 10 is a flowchart showing the processing operation of the inverse quantization inverse transform unit according to the second modification of the first embodiment of the present invention.
  • FIG. 11 is a block diagram showing a configuration of the transform quantization unit according to the third modification of the first embodiment of the present invention.
  • FIG. 12 is a block diagram showing a configuration of an inverse quantization inverse transform unit according to Modification 3 of Embodiment 1 of the present invention.
  • FIG. 13 is a flowchart showing the processing operation of the transform quantization unit according to the third modification of the first embodiment of the present invention.
  • FIG. 14 is a flowchart showing the processing operation of the inverse quantization inverse transform unit according to the third modification of the first embodiment of the present invention.
  • FIG. 15 is a diagram for explaining the first Planar prediction according to the third modification of the first embodiment of the present invention.
  • FIG. 16A is a diagram for describing second Planar prediction according to Modification 3 of Embodiment 1 of the present invention.
  • FIG. 16B is a diagram for describing second Planar prediction according to Modification 3 of Embodiment 1 of the present invention.
  • FIG. 17 is a block diagram showing a configuration of a transform quantization unit according to Modification 4 of Embodiment 1 of the present invention.
  • FIG. 18A is a diagram showing a frequency region in which the second-stage orthogonal transform (second orthogonal transform) is performed according to Modification 4 of Embodiment 1 of the present invention.
  • FIG. 18B is a diagram showing a frequency region where the second-stage orthogonal transform (first orthogonal transform) is performed according to Modification 4 of Embodiment 1 of the present invention.
  • FIG. 18C is a diagram showing a frequency region where the second-stage orthogonal transform (first orthogonal transform) is performed according to Modification 4 of Embodiment 1 of the present invention.
  • FIG. 19 is a block diagram showing a configuration of an inverse quantization inverse transform unit according to Modification 4 of Embodiment 1 of the present invention.
  • FIG. 20 is a flowchart showing the processing operation of the transform quantization unit according to the fourth modification of the first embodiment of the present invention.
  • FIG. 21 is a flowchart showing the processing operation of the inverse quantization inverse transform unit according to the fourth modification of the first embodiment of the present invention.
  • FIG. 22A is a diagram illustrating diagonal elements of a transformation matrix.
  • FIG. 22B is a diagram illustrating an example of a transformation matrix having no transformation effect.
  • FIG. 23A is a diagram showing an example of a transformation matrix used for the second orthogonal transformation according to the fourth modification of the first embodiment of the present invention.
  • FIG. 23B is a diagram showing an example of a transformation matrix used for the first orthogonal transformation according to the fourth modification of the first embodiment of the present invention.
  • FIG. 23C is a diagram showing another example of the transformation matrix used for the first orthogonal transformation according to the fourth modification of the first embodiment of the present invention.
  • FIG. 24 is an overall configuration diagram of a content supply system that realizes a content distribution service.
  • FIG. 25 is an overall configuration diagram of a digital broadcasting system.
  • FIG. 26 is a block diagram illustrating a configuration example of a television.
  • FIG. 27 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. 28 is a diagram illustrating a structure example of a recording medium that is an optical disk.
  • FIG. 29A is a diagram illustrating an example of a mobile phone.
  • FIG. 29B is a block diagram illustrating a configuration example of a mobile phone.
  • FIG. 30 is a diagram showing a structure of multiplexed data.
  • FIG. 31 is a diagram schematically showing how each stream is multiplexed in the multiplexed data.
  • FIG. 32 is a diagram showing in more detail how the video stream is stored in the PES packet sequence.
  • FIG. 33 is a diagram showing the structure of TS packets and source packets in multiplexed data.
  • FIG. 34 shows the data structure of the PMT.
  • FIG. 35 is a diagram showing an internal configuration of multiplexed data information.
  • FIG. 36 shows the internal structure of stream attribute information.
  • FIG. 37 is a diagram showing steps for identifying video data.
  • FIG. 38 is a block diagram illustrating a configuration example of an integrated circuit that realizes the moving picture coding method and the moving picture decoding method according to each embodiment.
  • FIG. 39 is a diagram showing a configuration for switching drive frequencies.
  • FIG. 40 is a diagram illustrating steps for identifying video data and switching between driving frequencies.
  • FIG. 41 is a diagram illustrating an example of a look-up table in which video data standards are associated with drive frequencies.
  • FIG. 42A is a diagram illustrating an example of a configuration for sharing a module of a signal processing unit.
  • FIG. 42B is a diagram illustrating another example of a configuration for
  • FIG. 1A is a block diagram of an image encoding apparatus according to the present invention.
  • the image encoding apparatus 100 is an apparatus that encodes an image, and includes a subtraction unit 101, an orthogonal transformation switching unit 102, an orthogonal transformation unit 103, and a quantization unit 104.
  • the subtraction unit 101 generates a difference image by subtracting a predicted image corresponding to the image from the image.
  • the orthogonal transformation switching unit 102 selects an orthogonal transformation to be applied to the difference image from the first and second orthogonal transformations by switching the type of the orthogonal transformation according to the image.
  • the orthogonal transform unit 103 performs the orthogonal transform selected by the orthogonal transform switching unit 102 on the difference image.
  • the quantization unit 104 quantizes the coefficient block including at least one frequency coefficient generated by the orthogonal transformation.
  • FIG. 1B is a flowchart showing the processing operation of the image encoding device 100 of the present invention.
  • the image coding apparatus 100 generates a difference image by subtracting a predicted image corresponding to the image from the image (step S10).
  • the image coding apparatus 100 selects an orthogonal transform to be applied to the difference image from the first and second orthogonal transforms by switching the type of orthogonal transform according to the image (step). S11).
  • the image coding apparatus 100 performs orthogonal transform selected by switching in step S11 on the difference image (step S12).
  • the image coding apparatus 100 quantizes the coefficient block including at least one frequency coefficient generated by the orthogonal transformation in step S12 (step S13).
  • the subjective image quality of the decoded image corresponding to the encoded image generated by the first orthogonal transformation and quantization described above is the decoded image corresponding to the encoded image generated by the second orthogonal transformation and quantization.
  • Higher than subjective image quality For example, the decrease in subjective image quality in the second orthogonal transformation may increase as the encoding target image (difference image or predicted image) becomes flatter.
  • the second orthogonal transform has higher conversion efficiency (conversion performance or objective image quality) than the first orthogonal transform.
  • the first orthogonal transform is, for example, DCT (Discrete Cosine Transform)
  • the second orthogonal transform is, for example, KLT (Kalunen Label Transform).
  • the image to be encoded when the image to be encoded is relatively flat, it is possible to suppress the deterioration of the subjective image quality of the decoded image with respect to the image by applying the first orthogonal transform to the image.
  • the second orthogonal transformation is applied to the image instead of the first orthogonal transformation, thereby suppressing a reduction in the transformation efficiency of the orthogonal transformation for the image. Can do.
  • the balance between the conversion efficiency (encoding efficiency) and the subjective image quality can be appropriately maintained, and the deterioration of the encoding efficiency and the subjective image quality can be suppressed.
  • FIG. 2A is a block diagram of the image decoding apparatus of the present invention.
  • the image decoding apparatus 200 of the present invention is an apparatus for decoding an encoded image, and includes an inverse orthogonal transform switching unit 201, an inverse quantization unit 202, an inverse orthogonal transform unit 203, and an addition unit 204.
  • the inverse orthogonal transform switching unit 201 selects the inverse orthogonal transform to be applied to the encoded image from the first and second inverse orthogonal transforms by switching the type of inverse orthogonal transform according to the encoded image. To do.
  • the inverse quantization unit 202 inversely quantizes the encoded image.
  • the inverse orthogonal transform unit 203 performs the inverse orthogonal transform selected by the switching of the inverse orthogonal transform switching unit 201 on the inversely quantized encoded image.
  • the adding unit 204 generates a decoded image by adding the difference image generated by the inverse orthogonal transform and the predicted image corresponding to the encoded image.
  • FIG. 2B is a flowchart showing the processing operation of the image decoding apparatus 200 of the present invention.
  • the image decoding apparatus 200 selects the inverse orthogonal transform to be applied to the encoded image from the first and second inverse orthogonal transforms by switching the type of inverse orthogonal transform according to the encoded image (Ste S20).
  • the image decoding apparatus 200 performs inverse quantization on the encoded image (step S21).
  • the image decoding apparatus 200 performs inverse orthogonal transformation selected by switching in step S20 on the inversely quantized encoded image (step S22).
  • the image decoding apparatus 200 produces
  • the subjective image quality of the decoded image generated using the first inverse orthogonal transform is higher than the subjective image quality of the decoded image generated using the second inverse orthogonal transform.
  • the decrease in subjective image quality in the second inverse orthogonal transform may increase as the encoded image (difference image or predicted image) becomes flatter.
  • the second inverse orthogonal transform has higher conversion efficiency (conversion performance or objective image quality) than the first inverse orthogonal transform.
  • the first orthogonal transformation is, for example, inverse DCT (inverse discrete cosine transformation)
  • the second orthogonal transformation is, for example, inverse KLT (inverse Kalunen-Leve transformation).
  • the encoded image when the encoded image is relatively flat, by applying the first inverse orthogonal transform to the encoded image, it is possible to suppress a decrease in the subjective image quality of the decoded image with respect to the encoded image.
  • the inverse orthogonal transform for the encoded image is performed by applying the second inverse orthogonal transform to the encoded image instead of the first inverse orthogonal transform.
  • the reduction in conversion efficiency can be suppressed.
  • the balance between the conversion efficiency (encoding efficiency) and the subjective image quality can be appropriately maintained, and the deterioration of the encoding efficiency and the subjective image quality can be suppressed.
  • FIG. 3 is a block diagram of the image coding apparatus according to Embodiment 1 of the present invention.
  • the image encoding apparatus 1000 is an apparatus that generates an encoded stream by encoding a moving image, and includes a subtractor 1101, a transform quantization unit 1102, an entropy encoding unit 1104, An inverse quantization inverse transform unit 1105, an adder 1107, a deblocking filter 1108, a memory 1109, an in-plane prediction unit 1110, a motion compensation unit 1111, a motion detection unit 1112, and a switch 1113 are provided.
  • the image coding apparatus 1000 corresponds to the above-described image coding apparatus 100.
  • the subtractor 1101 of the image coding apparatus 1000 according to the present embodiment corresponds to the subtraction unit 101 of the image coding apparatus 100, and the transform quantization unit 1102 of the image coding apparatus 1000 according to the present embodiment This corresponds to a group including the orthogonal transform switching unit 102, the orthogonal transform unit 103, and the quantization unit 104 of the encoding device 100.
  • the subtractor 1101 acquires a moving image and acquires a predicted image from the switch 1113. Then, the subtracter 1101 generates a difference image by subtracting the predicted image from the encoding target block included in the moving image.
  • the transform quantization unit 1102 performs orthogonal transform (frequency transform) on the difference image generated by the subtractor 1101, thereby transforming the difference image into a coefficient block including a plurality of frequency coefficients. Furthermore, the transform quantization unit 1102 generates a quantized coefficient block (quantized coefficient block) by quantizing each frequency coefficient included in the coefficient block. This quantization coefficient block corresponds to a coded image.
  • the inverse quantization inverse transform unit 1105 performs inverse quantization on the quantization coefficient block generated by the quantization performed by the transform quantization unit 1102. Furthermore, the inverse quantization inverse transform unit 1105 generates a decoded difference image by performing inverse orthogonal transform (inverse frequency transform) on each frequency coefficient included in the inversely quantized quantization coefficient block.
  • inverse orthogonal transform inverse frequency transform
  • the adder 1107 obtains a predicted image from the switch 1113, and generates a locally decoded image (reconstructed image) by adding the predicted image and the decoded difference image generated by the inverse quantization inverse transform unit 1105. .
  • the deblocking filter 1108 removes block distortion of the local decoded image generated by the adder 1107 and stores the local decoded image in the memory 1109.
  • a memory 1109 is a memory for storing a locally decoded image as a reference image in motion compensation.
  • the in-plane prediction unit 1110 generates a prediction image (intra prediction image) by performing in-plane prediction on the current block using the local decoded image generated by the adder 1107.
  • the motion detection unit 1112 detects a motion vector for the encoding target block included in the moving image, and outputs the detected motion vector to the motion compensation unit 1111 and the entropy encoding unit 1104.
  • the motion compensation unit 1111 refers to the image stored in the memory 1109 as a reference image, and performs motion compensation on the coding target block by using the motion vector detected by the motion detection unit 1112.
  • the motion compensation unit 1111 performs such motion compensation to generate a prediction image (inter prediction image) of the encoding target block.
  • the switch 1113 outputs the prediction image (intra prediction image) generated by the intra prediction unit 1110 to the subtractor 1101 and the adder 1107 when the encoding target block is subjected to intra prediction encoding.
  • the switch 1113 outputs the prediction image (inter prediction image) generated by the motion compensation unit 1111 to the subtractor 1101 and the adder 1107 when the encoding target block is subjected to inter-frame prediction encoding.
  • the entropy encoding unit 1104 entropy-encodes (variable length encoding) the encoded stream by entropy encoding (quantized length encoding) the quantization coefficient block generated by the transform quantization unit 1102 and the motion vector detected by the motion detection unit 1112. Generate.
  • FIG. 4 is a block diagram showing a configuration of the transform quantization unit 1102.
  • the transform quantization unit 1102 includes a buffer Bu, a first orthogonal transform unit 1201, a second orthogonal transform unit 1202, a first quantization unit 1211, a second quantization unit 1212, and a switching control unit. 1203, and first and second change-over switches 1204 and 1205.
  • the group consisting of the switching control unit 1203 and the first and second change-over switches 1204 and 1205 in the present embodiment corresponds to the orthogonal transform switching unit 102 of the image encoding device 100 shown in FIG. 1A described above.
  • the group consisting of the first and second orthogonal transform units 1201 and 1202 in the present embodiment corresponds to the orthogonal transform unit 103 of the image coding apparatus 100 shown in FIG. 1A.
  • a group including the second quantization units 1211 and 1212 corresponds to the quantization unit 104 of the image encoding device 100 illustrated in FIG. 1A.
  • the buffer Bu acquires the difference image output from the subtractor 1101 and temporarily holds it.
  • the first orthogonal transform unit 1201 obtains an input signal, which is a difference image generated by the subtractor 1101, from the buffer Bu, performs a first orthogonal transform on the input signal, and performs the first orthogonal transform by the first orthogonal transform. Output the generated coefficient block.
  • the first quantization unit 1211 generates a quantized coefficient block (quantized coefficient block) by quantizing each frequency coefficient included in the coefficient block.
  • the second orthogonal transform unit 1202 obtains an input signal that is a difference image generated by the subtractor 1101 from the buffer Bu, performs a second orthogonal transform on the input signal, and performs the second orthogonal transform by the second orthogonal transform. Output the generated coefficient block.
  • the second quantization unit 1212 generates a quantized coefficient block (quantized coefficient block) by quantizing each frequency coefficient included in the coefficient block.
  • the first orthogonal transform has lower transform efficiency (transform performance or objective performance) than the second orthogonal transform, and the subjective image quality (particularly flat) of the decoded image corresponding to the encoded image.
  • This is a conversion with a high subjective image quality).
  • the second orthogonal transform has a higher conversion efficiency than the first orthogonal transform, and the subjective image quality of the decoded image corresponding to the encoded image (particularly the subjective image quality for a flat image) is low.
  • the subjective image quality is higher as the variation of the values of a plurality of elements included in the first base of the transformation matrix used for orthogonal transformation is smaller, and is lower as the variation is larger.
  • the first basis is a basis used to derive the lowest frequency coefficient (DC component).
  • DC component lowest frequency coefficient
  • the values of the plurality of base elements used for the transformation of the lowest frequency component of the transformation matrix used for the first inverse orthogonal transformation are:
  • the values of the plurality of base elements used for conversion of the lowest frequency component are more uniform.
  • the first orthogonal transformation is DCT (Discrete Cosine Transform)
  • the second orthogonal transformation is KLT (Karhunen Loeve Transform).
  • KLT is a statistically optimized orthogonal transform.
  • the second quantization encodes an image (particularly, a low-frequency image corresponding to the first base, etc.) with higher accuracy than the first quantization.
  • the quantization steps are different.
  • the second quantization is adjusted to have a smaller quantization step than the first quantization.
  • parameters such as a quantization matrix and a quantization offset may be adjusted.
  • the first quantization and the second quantization may be the same quantization. In this case, the quantization process can be simplified.
  • the first changeover switch 1204 acquires the difference image generated by the subtractor 1101 from the buffer Bu, and in response to an instruction from the change control unit 1203, the output destination of the difference image is the same as that of the first orthogonal transform unit 1201. Switching is performed with the second orthogonal transform unit 1202.
  • the second changeover switch 1205 switches the acquisition source of the quantization coefficient block between the first quantization unit 1211 and the second quantization unit 1212, acquires the quantization coefficient block from the acquisition source, and performs inverse quantization.
  • the result is output to inverse transform section 1105 and entropy encoding section 1104.
  • the switching control unit 1203 acquires the quantized coefficient block output from the first quantizing unit 1211 and controls the first and second changeover switches 1204 and 1205 based on the quantized coefficient block.
  • the switching control unit 1203 first outputs the difference image from the first changeover switch 1204 to the first orthogonal transformation unit.
  • the first changeover switch 1204 is controlled so as to be 1201.
  • the first changeover switch 1204 outputs the difference image to the first orthogonal transform unit 1201.
  • the first orthogonal transformation and the first quantization are selected, and the first orthogonal transformation and the first quantization are performed on the difference image.
  • the switching control unit 1203 sums the quantized frequency coefficients (quantized values) included in the quantized coefficient block generated by performing the first orthogonal transform and the first quantization. Is calculated.
  • the switching control unit 1203 performs the first switching so that the output destination of the difference image from the first switching switch 1204 is the second orthogonal transform unit 1202.
  • the switch 1204 is controlled.
  • the first changeover switch 1204 switches the output destination of the difference image from the first orthogonal transform unit 1201 to the second orthogonal transform unit 1202 and outputs the difference image to the second orthogonal transform unit 1202.
  • the second orthogonal transformation and the second quantization are selected, and the second orthogonal transformation and the second quantization are performed on the difference image. That is, orthogonal transformation and quantization are performed again on the difference image.
  • the switching control unit 1203 controls the second change-over switch 1205 so that the acquisition source of the quantization coefficient block becomes the second quantization unit 1212. To do.
  • the second change-over switch 1205 acquires the quantized coefficient block from the second quantizing unit 1212 and outputs the quantized coefficient block to the inverse quantizing / inverse transforming unit 1105 and the entropy coding unit 1104.
  • the switching control unit 1203 controls the second changeover switch 1205 so that the acquisition destination of the quantization coefficient block is the first quantization unit 1211.
  • the second change-over switch 1205 acquires the quantized coefficient block from the first quantizing unit 1211 and outputs the quantized coefficient block to the inverse quantization inverse transform unit 1105 and the entropy coding unit 1104.
  • FIG. 5 is a flowchart showing the processing operation of the transform quantization unit 1102.
  • the first orthogonal transform unit 1201 generates a coefficient block by performing a first orthogonal transform on the difference image (step S100).
  • the first quantization unit 1211 performs first quantization on the coefficient block (step S102).
  • the switching control unit 1203 calculates the sum of the quantized values in the quantized coefficient block generated by the first quantization (step S103), and determines whether the sum is larger than a threshold (step S103). S104).
  • the second orthogonal transform unit 1202 buffers the difference image that is the target of the first orthogonal transform. Obtained from Bu via the first changeover switch 1204, the second orthogonal transformation is performed on the difference image (step S106).
  • the second quantization unit 1212 performs second quantization on the coefficient block generated by the second orthogonal transform (step S108). As a result, the quantized coefficient block generated by the second quantization is output from the second changeover switch 1205.
  • the switching control unit 1203 determines that the sum is equal to or less than the threshold (No in step S104)
  • the quantization coefficient block generated by the first quantization in step S102 is transferred from the second changeover switch 1205. Is output.
  • the switching control unit 1203 determines whether or not the image to be encoded is complex, that is, flat by determining whether or not the sum of quantized values is larger than the threshold as described above. It is determined whether or not. Specifically, when determining that the sum is greater than the threshold, the switching control unit 1203 determines that the image to be encoded is complex, that is, not flat, and determines that the sum is equal to or less than the threshold. In this case, it is determined that the image to be encoded is not complicated, that is, is flat.
  • FIG. 6 is a block diagram showing the configuration of the inverse quantization inverse transform unit 1105.
  • the inverse quantization inverse transform unit 1105 includes a first inverse quantization unit 1301, a second inverse quantization unit 1302, a first inverse orthogonal transform unit 1311, a second inverse orthogonal transform unit 1312, a switching A control unit 1303 and third and fourth changeover switches 1304 and 1305 are provided.
  • the first inverse quantization unit 1301 performs first inverse quantization on the quantized coefficient block.
  • the first inverse orthogonal transform unit 1311 performs the first inverse orthogonal transform (inverse frequency transform) on each frequency coefficient included in the coefficient block generated by the first inverse quantization, thereby obtaining a decoding difference. Generate an image.
  • the second inverse quantization unit 1302 performs second inverse quantization on the quantized coefficient block.
  • the second inverse orthogonal transform unit 1312 performs the second inverse orthogonal transform (inverse frequency transform) on each frequency coefficient included in the coefficient block generated by the second inverse quantization, thereby obtaining a decoding difference.
  • the first and second inverse quantization correspond to the first and second quantization described above, respectively, and the first and second inverse orthogonal transforms respectively correspond to the first and second orthogonal transforms described above. It corresponds to. That is, in the present embodiment, the first inverse orthogonal transform is an inverse DCT, and the second inverse orthogonal transform is an inverse KLT.
  • the third changeover switch 1304 acquires the quantized coefficient block from the transform quantizing unit 1102 via the switching control unit 1303, and sets the output destination of the quantized coefficient block according to an instruction from the switching control unit 1303. Switching is performed between the first inverse quantization unit 1301 and the second inverse quantization unit 1302.
  • the fourth changeover switch 1305 switches the acquisition destination of the decoded difference image between the first inverse orthogonal transform unit 1311 and the second inverse orthogonal transform unit 1312, acquires the decoded difference image from the acquisition destination, and adds the adder 1107. Output to.
  • the switching control unit 1303 acquires the quantization coefficient block from the transform quantization unit 1102, and controls the third and fourth change-over switches 1304 and 1305 based on the quantization coefficient block. In addition, the switching control unit 1303 outputs the acquired quantization coefficient block to the third selector switch 1304.
  • the switching control unit 1303 calculates the sum of the quantized frequency coefficients (quantized values) included in the quantized coefficient block acquired from the transform quantizing unit 1102. Then, the switching control unit 1303 makes the output destination of the quantization coefficient block from the third switching switch 1304 to be the first inverse quantization unit 1301 when the sum is equal to or less than a predetermined threshold.
  • the third changeover switch 1304 is controlled. Further, the switch control unit 1303 controls the fourth switch 1305 so that the acquisition source of the decoded difference image is the first inverse orthogonal transform unit 1311. As a result, the third changeover switch 1304 outputs the quantization coefficient block acquired from the transform quantization unit 1102 via the change control unit 1303 to the first inverse quantization unit 1301.
  • the fourth change-over switch 1305 acquires the decoded difference image from the first inverse orthogonal transform unit 1311 and outputs it to the adder 1107. That is, when the sum of the quantized values is equal to or smaller than the threshold value, the first inverse quantization and the first inverse orthogonal transform are selected, and the first inverse quantization and the first inverse are performed on the quantized coefficient block. Orthogonal transformation is performed.
  • the switching control unit 1303 outputs the third inverse quantization unit 1302 so that the output destination of the quantization coefficient block from the third switching switch 1304 is the second inverse quantization unit 1302.
  • the changeover switch 1304 is controlled.
  • the switch control unit 1303 controls the fourth switch 1305 so that the acquisition source of the decoded difference image is the second inverse orthogonal transform unit 1312.
  • the third changeover switch 1304 outputs the quantized coefficient block acquired from the transform quantization unit 1102 via the switching control unit 1303 to the second inverse quantization unit 1302.
  • the fourth change-over switch 1305 acquires the decoded difference image from the second inverse orthogonal transform unit 1312 and outputs it to the adder 1107.
  • the second inverse quantization and the second inverse orthogonal transform are selected, and the second inverse quantization and the second inverse quantization are performed on the quantized coefficient block. Inverse orthogonal transform is performed.
  • FIG. 7 is a flowchart showing the processing operation of the inverse quantization inverse transform unit 1105.
  • the switching control unit 1303 acquires the quantization coefficient block from the transform quantization unit 1102, and calculates the sum of the quantization values included in the quantization coefficient block (step S120). Next, the switching control unit 1303 determines whether or not the sum is larger than a threshold value (step S122).
  • the second inverse quantization unit 1302 passes the third switching switch 1304 from the switching control unit 1303. Then, the quantization coefficient block is acquired, and the second inverse quantization is performed on the quantization coefficient block (step S124). Next, the second inverse orthogonal transform unit 1312 performs the second inverse orthogonal transform on the coefficient block generated by the second inverse quantization (step S126). As a result, the decoded difference image generated by the second inverse orthogonal transform is output from the fourth changeover switch 1305.
  • the first inverse quantization unit 1301 passes the switching control unit 1303 via the third changeover switch 1304.
  • the quantization coefficient block is acquired, and the first inverse quantization is performed on the quantization coefficient block (step S128).
  • the first inverse orthogonal transform unit 1311 performs the first inverse orthogonal transform on the coefficient block generated by the first inverse quantization (step S130).
  • the decoded difference image generated by the first inverse orthogonal transform is output from the fourth changeover switch 1305.
  • switching control section 1303 determines whether or not the encoded image (quantized coefficient block) is complicated by determining whether or not the sum of quantized values is larger than the threshold as described above. That is, it is determined whether or not it is flat. Specifically, when determining that the sum is larger than the threshold, the switching control unit 1303 determines that the encoded image is complicated, that is, not flat, and determines that the sum is equal to or less than the threshold. Determines that the encoded image is not complicated, that is, flat.
  • FIG. 8 is a block diagram of the image decoding apparatus according to Embodiment 1 of the present invention.
  • the image decoding apparatus 2000 is an apparatus that decodes an encoded stream generated by the image encoding apparatus 1000, and includes an entropy decoding unit 2101, an inverse quantization inverse transform unit 2102, an adder 2104, , A deblocking filter 2105, a memory 2106, an in-plane prediction unit 2107, a motion compensation unit 2108, and a switch 2109.
  • the image decoding device 2000 corresponds to the image decoding device 200 described above.
  • the adder 2104 of the image decoding device 2000 in the present embodiment corresponds to the adding unit 204 of the image decoding device 200, and the inverse quantization inverse transform unit 2102 of the image decoding device 2000 in the present embodiment performs image decoding.
  • This corresponds to a group including the inverse orthogonal transform switching unit 201, the inverse quantization unit 202, and the inverse orthogonal transform unit 203 of the apparatus 200.
  • the entropy decoding unit 2101 acquires an encoded stream and performs entropy decoding (variable length decoding) on the encoded stream.
  • the inverse quantization inverse transform unit 2102 inversely quantizes the quantized coefficient block (encoded image) generated by entropy decoding by the entropy decoding unit 2101. Furthermore, the inverse quantization inverse transform unit 2102 generates a decoded difference image by performing inverse orthogonal transform (inverse frequency transform) on each frequency coefficient included in the coefficient block generated by the inverse quantization.
  • inverse orthogonal transform inverse frequency transform
  • the inverse quantization inverse transform unit 2102 has the same configuration as the inverse quantization inverse transform unit 1105 of the image coding apparatus 1000 and performs the same processing. That is, the inverse quantization inverse transform unit 2102 includes all the components of the inverse quantization inverse transform unit 1105 shown in FIG. 6, and executes the processes of steps S120 to S130 shown in FIG. Note that, in the inverse quantization inverse transform unit 2102 and the inverse quantization inverse transform unit 1105, the acquisition destination of the data to be processed is different from the output destination of the processed data.
  • the inverse quantization inverse transform unit 2102 obtains a quantized coefficient block from the entropy decoding unit 2101 instead of the transform quantization unit 1102 and outputs a decoded difference image to the adder 2104 instead of the adder 1107.
  • the group consisting of the switching control unit 1303 and the third and fourth change-over switches 1304 and 1305 in the inverse quantization and inverse transform unit 2102 is the inverse of the image decoding device 200 shown in FIG. 2A described above. This corresponds to the orthogonal transformation switching unit 201. Furthermore, the group consisting of the first and second inverse orthogonal transform units 1311 and 1312 in the inverse quantization inverse transform unit 2102 corresponds to the inverse orthogonal transform unit 203 of the image decoding apparatus 200 shown in FIG. A group composed of the first and second inverse quantization units 1301 and 1302 in the transform unit 2102 corresponds to the inverse quantization unit 202 of the image decoding apparatus 200 illustrated in FIG. 2A.
  • the adder 2104 obtains a predicted image from the switch 2109, and generates a decoded image (reconstructed image) by adding the predicted image and the decoded difference image generated by the inverse quantization and inverse transform unit 2102.
  • the deblocking filter 2105 removes block distortion of the decoded image generated by the adder 2104, stores the decoded image in the memory 2106, and outputs the decoded image.
  • the intra prediction unit 2107 generates a prediction image (intra prediction image) by performing intra prediction on the decoding target block using the decoded image generated by the adder 2104.
  • the motion compensation unit 2108 refers to the image stored in the memory 2106 as a reference image, and performs motion compensation on the decoding target block by using a motion vector generated by entropy decoding by the entropy decoding unit 2101. .
  • the motion compensation unit 2108 generates a prediction image (inter prediction image) for the decoding target block through such motion compensation.
  • the switch 2109 outputs the prediction image (intra prediction image) generated by the intra prediction unit 2107 to the adder 2104 when the decoding target block is subjected to intra prediction encoding.
  • the switch 2109 outputs the prediction image (inter prediction image) generated by the motion compensation unit 2108 to the adder 2104 when the decoding target block is subjected to inter-frame prediction encoding.
  • the DCT is applied to the encoding target block, thereby decoding the encoding target block.
  • a decrease in the subjective image quality of the image can be suppressed.
  • the KLT instead of the DCT is applied to the image to suppress a decrease in the conversion efficiency (conversion performance or objective image quality) of the orthogonal transform for the encoding target block. be able to.
  • the balance between the conversion efficiency and the subjective image quality can be appropriately maintained, and the deterioration of the encoding efficiency and the subjective image quality can be suppressed.
  • the inverse DCT is applied to the encoded image, whereby the encoded image is processed.
  • a decrease in subjective image quality of the decoded image can be suppressed.
  • the encoded image is a relatively non-flat image
  • by applying inverse KLT instead of inverse DCT to the encoded image the conversion efficiency (conversion performance or objective) of the inverse orthogonal transform for the encoded image is applied. Image quality) can be suppressed. As a result, the balance between the conversion efficiency and the subjective image quality can be appropriately maintained, and the deterioration of the encoding efficiency and the subjective image quality can be suppressed.
  • a situation that significantly affects the subjective image quality is detected by comparing the sum of the quantization coefficients with the threshold value.
  • the orthogonal transformation and the first inverse orthogonal transformation are applied to the processing target image, and in other cases, the second orthogonal transformation and the second inverse orthogonal transformation with high conversion efficiency are applied to the processing target image. Therefore, in the present embodiment, since the first orthogonal transform and the first inverse orthogonal transform are applied only to the situation that significantly adversely affects the subjective image quality, the subjectivity is maintained while maintaining the maximum conversion efficiency. The image quality can also be improved.
  • the inverse quantization inverse transform unit 1105 selects inverse orthogonal transform and inverse quantization corresponding to the orthogonal transform and quantization selected by the transform quantization unit 1102. For example, when DCT is selected by the transform quantization unit 1102, the inverse quantization inverse transform unit 1105 selects the inverse DCT. Similarly, the inverse quantization inverse transform unit 2102 in the image decoding apparatus 2000 also selects inverse orthogonal transform and inverse quantization corresponding to the orthogonal transform and quantization selected by the transform quantization unit 1102 in the image coding apparatus 1000. To do.
  • the transform quantizing unit 1102 when the transform quantization unit 1102 re-performs the orthogonal transform and the quantization, when the sum of the quantized values changes and the sum of the quantized values becomes equal to or less than a threshold, the transform quantizing unit 1102 The quantized value of the quantized coefficient block is adjusted so that the sum of the quantized values becomes larger than the threshold again. Specifically, transform quantization section 1102 adds 1 to the quantized value of 0 or 1, changes the quantized value to 1 or 2, and until the sum of quantized values becomes greater than the threshold value, Repeat such changes.
  • orthogonal transform (and quantization) and inverse orthogonal transform (and inverse quantization) corresponding to each other are selected and executed between the transform quantization unit 1102 and the inverse quantization inverse transform units 1105 and 2102.
  • the second orthogonal transform is an arbitrary transform other than DCT, and is a matrix operation using a transform matrix that is optimally designed based on the statistical properties of the signal source, or KLT having a specific size and period.
  • This is a transformation in which elements of the transformation matrix are defined by the sin function.
  • the transformation defined by the sin function that is, the sin transformation is, for example, any one of DST-Type2, DST-Type3, DST-Type4, sign inversion of an even element of DST-Type4, and DDST.
  • KLT and sin transforms may adversely affect subjective image quality because the first base is not flat, but high conversion performance for prediction error signals (difference images) of in-plane predictive coding. (Objective performance).
  • DST-c2 is expressed by (Expression 4) or (Expression 5).
  • DST-Type3 is expressed by (Expression 6) or (Expression 7).
  • DST-Type4 is expressed by (Expression 8) or (Expression 9).
  • This DDST is a transformation that is considered optimal for in-plane prediction.
  • Non-patent literature A. Saxena and F. Fernandes, “Jointly optimal intra prediction and adaptive primary transform,” ITU-T JCTVC-C108, Guangzhou, The details are described in China, (October (2010)).
  • Modification 1 In the above embodiment, DCT is used for the first orthogonal transform, but in this modification, a limited KLT is used instead of this DCT. In this modification, a limited inverse KLT is used for the first inverse orthogonal transform.
  • the limited KLT and inverse KLT are designed so that the deterioration of the subjective image quality is suppressed.
  • An input signal that is a difference image is expressed as a vector xn as shown in (Equation 14).
  • t indicates transposition (transposition from row to column).
  • the input signal x n is converted into an output signal y n which is a coefficient block by orthogonal transform T.
  • the output signal y n is quantized to a quantized value C n that is a quantized coefficient block, as shown in (Equation 16).
  • d is a rounding offset and s is a uniform quantization step. Note that d and s are controlled by the image encoding apparatus 1000 for high-efficiency encoding. Also, such a quantized value C n is entropy encoded and included in the encoded stream, and transmitted to the image decoding apparatus 2000.
  • the quantized value C n is inversely quantized by the image decoding apparatus 2000 into a decoded output signal y ⁇ n that is a coefficient block, as shown in (Equation 17).
  • encoding with quantization is so-called lossy encoding that cannot be completely restored to the original data instead of greatly reducing the amount of data. That is, since the amount of data is lost by quantization, it does not match exactly the decoded output signal y ⁇ n and the output signal y n. This error is caused by the fact that the distortion due to quantization is mixed, and when prediction is performed before quantization, it may be called a quantized prediction error (Quantized Prediction Error). Further, even in the case of lossy coding, if sufficient amount of data is encoded in a state left is substantially coincident with the decoded output signal y ⁇ n and the output signal y n.
  • the decoded output signal ⁇ n is inversely orthogonally transformed into the decoded input signal ⁇ n by the inverse orthogonal transformation T- 1 .
  • the orthogonal transformation T is expressed by a matrix product of an n ⁇ n transformation matrix A n ⁇ n and an input signal x n as shown in (Equation 19) below.
  • the inverse orthogonal transform T ⁇ 1 is expressed by a matrix product of an n ⁇ n transformation matrix B n ⁇ n and a decoded output signal ⁇ n as shown in (Equation 20) below.
  • the transformation matrix B n ⁇ n is an inverse matrix of the transformation matrix A n ⁇ n and is a transposed matrix.
  • the transformation matrix B n ⁇ n is not limited to this, and the transformation matrix B n ⁇ n is an inverse matrix or transposed matrix of the transformation matrix A n ⁇ n in order to suppress the amount of computation of the inverse orthogonal transformation T ⁇ 1. May be different.
  • (Expression 15) is expressed as (Expression 21) by (Expression 19).
  • the number of multiplications is n ⁇ n
  • the total number of elements (conversion coefficients) a of the transformation matrix A n ⁇ n is n ⁇ n.
  • the first orthogonal transform is a KLT accompanied by an operation shown in (Equation 21), and a transform matrix A n ⁇ n is used.
  • the value Ca and the value Cb may be equal, but the value Ca and the value Cb may be different in order to reduce the amount of calculation.
  • the level of the first base is constant, so the difference between adjacent blocks is reduced, and the smoothness between blocks is improved.
  • a plurality (for example, M) of vectors x n are acquired as input signals.
  • the M vectors x n are typically the difference images of all the blocks in the frame.
  • the vector x n is converted and inversely converted only by the first base in which each conversion coefficient is limited to the value Ca.
  • the signal obtained by the transformation and the inverse transformation is subtracted from the vector xn .
  • the remaining bases (transformation coefficients) of the KLT are derived in the same manner as in the past.
  • the two transformation coefficients at both ends of the first base are the same.
  • the KLT transformation matrix A n ⁇ n is derived as in the prior art.
  • the first base may be derived in order to reduce the amount of calculation.
  • the two transform coefficients at both ends of the first base are corrected to the same value.
  • two transform coefficients at both ends may be corrected to an average value of the two transform coefficients.
  • Processing similar to that described above is performed using the first base thus modified. That is, for each of the M vectors xn , the vector xn is transformed and inversely transformed only with the first base modified as described above.
  • the signal obtained by the transformation and the inverse transformation is subtracted from the vector xn.
  • the remaining bases (transformation coefficients) of the KLT are derived in the same manner as in the past.
  • the image coding apparatus 1000 and the image decoding apparatus 2000 in this modification may have a function of deriving the transformation matrices A n ⁇ n and B n ⁇ n used for the limited KLT and the inverse KLT as described above. .
  • the switching control unit 1203 switches between the types of orthogonal transform and quantization according to the sum of the quantized values.
  • the switching control unit 1203 according to this modification includes the quantization coefficient block in the quantization coefficient block. Each type of orthogonal transform and quantization is switched depending on whether the quantized values of all frequency components other than the DC component are zero or not.
  • the switching control unit 1303 also performs inverse orthogonal transform and inverse quantum depending on whether the quantized values of all frequency components other than the DC component in the quantization coefficient block are 0 or not. Switch between each type of conversion. In other words, the switching control units 1203 and 1303 according to the present modification determine whether the quantization value of all frequency components other than the DC component is 0, so that the image to be encoded or the encoded image is Determine if it is complex.
  • FIG. 9 is a flowchart showing the processing operation of the transform quantization unit 1102 according to this modification.
  • the first orthogonal transform unit 1201 generates a coefficient block by performing a first orthogonal transform on the difference image (step S140).
  • the first quantization unit 1211 performs first quantization on the coefficient block (step S142).
  • the switching control unit 1203 determines whether the quantized values of all frequency components other than the DC component are 0 in the quantization coefficient block generated by the first quantization (step S144).
  • the second orthogonal transform unit 1202 determines that the quantized value of any frequency component other than the DC component is not 0 (No in step S144).
  • the second orthogonal transform unit 1202 The difference image to be subjected to the orthogonal transformation is acquired from the buffer Bu via the first changeover switch 1204, and the second orthogonal transformation is performed on the difference image (step S146).
  • the second quantization unit 1212 performs second quantization on the coefficient block generated by the second orthogonal transform (step S148). As a result, the quantized coefficient block generated by the second quantization is output from the second changeover switch 1205.
  • the switching control unit 1203 determines that the quantized values of all frequency components other than the DC component are 0 (Yes in step S144), the quantized coefficient block generated by the first quantization is determined. It is output via the second changeover switch 1205.
  • FIG. 10 is a flowchart showing the processing operation of the inverse quantization inverse transform unit 1105 according to this modification.
  • the switching control unit 1303 obtains a quantized coefficient block from the entropy decoding unit 2101 and determines whether or not the quantized values of all frequency components other than the DC component are 0 in the quantized coefficient block. (Step S160).
  • the second inverse quantization unit 1302 performs switching control.
  • the quantization coefficient block is acquired from the unit 1303 via the third changeover switch 1304, and the second inverse quantization is performed on the quantization coefficient block (step S162).
  • the second inverse orthogonal transform unit 1312 performs the second inverse orthogonal transform on the coefficient block generated by the second inverse quantization (step S164).
  • the decoded difference image generated by the second inverse orthogonal transform is output from the fourth changeover switch 1305.
  • the first inverse quantization unit 1301 displays the switching control unit 1303. Then, the quantization coefficient block is acquired via the third changeover switch 1304, and the first inverse quantization is performed on the quantization coefficient block (step S166). Next, the first inverse orthogonal transform unit 1311 performs the first inverse orthogonal transform on the coefficient block generated by the first inverse quantization (step S168). As a result, the decoded difference image generated by the first inverse orthogonal transform is output from the fourth changeover switch 1305.
  • the types of orthogonal transform and inverse orthogonal transform are switched by determining whether or not the quantized values of all frequency components other than the DC component are 0.
  • the switching may be performed by determining whether or not the quantized values of all the remaining frequency components excluding the three frequency components close to the DC component are zero. That is, it is determined whether or not the quantized values of all the remaining frequency components excluding the four low frequency components including the DC component are zero.
  • the switching control unit 1203 of the transform quantization unit 1102 switches between the types of orthogonal transform and quantization according to the sum of the quantized values, but the transform quantization unit according to this modification example
  • the switching control unit switches each type of orthogonal transform and quantization according to the complexity of the predicted image corresponding to the encoding target block.
  • the switching control unit of the inverse quantization inverse transform unit according to this modification also depends on the complexity of the predicted image corresponding to the encoded image (quantized coefficient block), similarly to the switching control unit of the transform quantization unit.
  • the above-described switching is performed according to the complexity (flatness) of the predicted image.
  • FIG. 11 is a block diagram showing the configuration of the transform quantization unit according to this modification.
  • the transform quantization unit 1102a includes a first orthogonal transform unit 1201, a second orthogonal transform unit 1202, a first quantizer 1211, a second quantizer 1212, and switching control. Part 1203a and first and second change-over switches 1204 and 1205.
  • the switching control unit 1203a obtains a predicted image output from the in-plane prediction unit 1110 or the motion compensation unit 1111 via the switch 1113, and the first and second are determined according to the complexity of the predicted image.
  • the selector switches 1204 and 1205 are controlled.
  • the switching control unit 1203a determines whether or not the predicted image is complicated. For example, the switching control unit 1203a calculates, as an index value, the dispersion of pixel values of the predicted image or the difference between adjacent pixels, and compares the index value with a predetermined threshold value. As a result, when the switching control unit 1203a determines that the index value is larger than the threshold value, the switching control unit 1203a determines that the predicted image is complex, and conversely, if the index value is determined to be less than or equal to the threshold value, the predicted image is not complicated. Determine.
  • the switching control unit 1203a determines that the predicted image is not complicated
  • the first changeover switch so that the output destination of the difference image from the first changeover switch 1204 is the first orthogonal transform unit 1201. 1204 is controlled.
  • the change control unit 1203a controls the second changeover switch 1205 so that the acquisition source of the quantization coefficient block becomes the first quantization unit 1211.
  • the first changeover switch 1204 outputs the difference image acquired from the subtractor 1101 to the first orthogonal transform unit 1201.
  • the second changeover switch 1205 acquires the quantized coefficient block from the first quantizing unit 1211 and outputs the quantized coefficient block to the inverse quantizing / inverse transforming unit 1105 and the entropy coding unit 1104. That is, when the predicted image is not complicated, the first orthogonal transformation and the first quantization are performed on the difference image.
  • the switching control unit 1203a determines that the predicted image is complicated, the first changeover switch 1204 so that the output destination of the difference image from the first changeover switch 1204 is the second orthogonal transform unit 1202. To control. Further, the switching control unit 1203a controls the second switch 1205 so that the quantization coefficient block acquisition source is the second quantization unit 1212. As a result, the first changeover switch 1204 outputs the difference image acquired from the subtractor 1101 to the second orthogonal transform unit 1202. Further, the second changeover switch 1205 acquires the quantized coefficient block from the second quantizing unit 1212 and outputs it to the inverse quantizing / inverse transforming unit 1105 and the entropy coding unit 1104. That is, when the predicted image is complicated, the second orthogonal transformation and the second quantization are performed on the difference image.
  • FIG. 12 is a block diagram showing the configuration of the inverse quantization inverse transform unit according to this modification.
  • the inverse quantization inverse transform unit 1105a includes a first inverse quantization unit 1301, a second inverse quantization unit 1302, a first inverse orthogonal transform unit 1311, and a second inverse orthogonal transform.
  • Unit 1312 a switching control unit 1303 a, and third and fourth change-over switches 1304 and 1305.
  • the inverse quantization inverse transform unit 1105 a is provided in the image encoding device 1000 instead of the inverse quantization inverse transform unit 1105, and is provided in the image decoding device 2000 instead of the inverse quantization inverse transform unit 2102.
  • the processing operation of the inverse quantization inverse transform unit 1105a will be described in detail. Note that the processing operation of the inverse quantization inverse transform unit 1105a provided in the image decoding device 2000 is the same as the processing operation of the inverse quantization inverse transform unit 1105a provided in the image coding device 1000, and therefore detailed description thereof will be given. Is omitted.
  • the switching control unit 1303a obtains a predicted image output from the in-plane prediction unit 1110 or the motion compensation unit 1111 via the switch 1113, and the third and fourth in accordance with the complexity of the predicted image.
  • the selector switches 1304 and 1305 are controlled.
  • the switching control unit 1303a determines whether or not the predicted image is complicated, like the switching control unit 1203a described above. When the switching control unit 1303a determines that the predicted image is not complicated, the switching control unit 1303a outputs the third inverse quantization unit 1301 so that the output destination of the quantization coefficient block from the third switching switch 1304 is the first inverse quantization unit 1301. The changeover switch 1304 is controlled. Furthermore, the switching control unit 1303a controls the fourth changeover switch 1305 so that the acquisition destination of the quantization coefficient block is the first inverse orthogonal transform unit 1311. As a result, the third changeover switch 1304 outputs the quantization coefficient block acquired from the transform quantization unit 1102a to the first inverse quantization unit 1301.
  • the fourth change-over switch 1305 acquires the decoded difference image from the first inverse orthogonal transform unit 1311 and outputs it to the adder 1107. That is, when the predicted image is not complicated, the first inverse quantization and the first inverse orthogonal transform are performed on the quantized coefficient block.
  • the switching control unit 1303a determines that the prediction image is complicated
  • the third changeover switch so that the output destination of the difference image from the third changeover switch 1304 is the second inverse quantization unit 1302. 1304 is controlled.
  • the switch control unit 1303a controls the fourth switch 1305 so that the acquisition source of the decoded difference image is the second inverse orthogonal transform unit 1312.
  • the third selector switch 1304 outputs the quantized coefficient block acquired from the transform quantizing unit 1102a to the second inverse quantizing unit 1302.
  • the fourth change-over switch 1305 acquires the decoded difference image from the second inverse orthogonal transform unit 1312 and outputs it to the adder 1107. That is, when the predicted image is complicated, the second inverse quantization and the second orthogonal transform are performed on the quantized coefficient block.
  • FIG. 13 is a flowchart showing the processing operation of the transform quantization unit 1102a according to this modification.
  • the switching control unit 1203a acquires a predicted image and determines whether or not the predicted image is complicated (step S180).
  • the second orthogonal transform unit 1202 converts the difference image from the subtractor 1101 to the first switching switch 1204.
  • the second orthogonal transformation is performed on the difference image (step S182).
  • the second quantization unit 1212 performs second quantization on the coefficient block generated by the second orthogonal transform (step S184). As a result, the quantized coefficient block generated by the second quantization is output from the second changeover switch 1205.
  • the switching control unit 1203a determines that the predicted image is not complicated (No in step S180)
  • the first orthogonal transform unit 1201 transmits the difference image from the subtractor 1101 via the first changeover switch 1204.
  • the first orthogonal transform is performed on the difference image (step S186).
  • the first quantization unit 1211 performs first quantization on the coefficient block generated by the first orthogonal transform (step S188).
  • the quantized coefficient block generated by the first quantization is output from the second changeover switch 1205.
  • FIG. 14 is a flowchart showing the processing operation of the inverse quantization inverse transform unit 1105a according to this modification.
  • the switching control unit 1303a obtains a predicted image and determines whether or not the predicted image is complicated (step S200).
  • the second inverse quantization unit 1302 switches the third changeover switch 1304 from the transform quantization unit 1102a.
  • a quantized coefficient block is acquired, and the second inverse quantization is performed on the quantized coefficient block (step S202).
  • the second inverse orthogonal transform unit 1312 performs the second inverse orthogonal transform on the coefficient block generated by the second inverse quantization (step S204).
  • the decoded difference image generated by the second inverse orthogonal transform is output from the fourth changeover switch 1305.
  • the first inverse quantization unit 1301 passes through the third changeover switch 1304 from the transform quantization unit 1102a.
  • a quantized coefficient block is acquired, and first inverse quantization is performed on the quantized coefficient block (step S206).
  • the first inverse orthogonal transform unit 1311 performs first inverse orthogonal transform on the coefficient block generated by the first inverse quantization (step S208).
  • the decoded difference image generated by the first inverse orthogonal transform is output from the fourth changeover switch 1305.
  • the switching control units 1203a and 1303a directly determine whether or not the predicted image is complicated from the predicted image, but based on the prediction mode used to generate the predicted image. Or indirectly. That is, the switching control units 1203a and 1303a acquire the prediction mode information indicating the prediction mode used for generating the predicted image for the encoding target block from the in-plane prediction unit 1110 or the motion compensation unit 1111.
  • the prediction mode indicated by the prediction mode information is H.264. In the case of the DC mode or the plain mode of the H.264 standard in-plane prediction method or the first or second planar prediction, the switching control units 1203a and 1303a determine that the predicted image is not complicated.
  • the DC mode In the DC mode, the average value of the pixel values of the plurality of pixels arranged in the vertical direction on the left side of the encoding target block, and the pixels of the plurality of pixels arranged in the horizontal direction on the upper side of the encoding target block.
  • the plane mode is a prediction mode that makes the pixel values of the predicted image uniform.
  • the first Planar prediction is a prediction mode similar to the above-described plane mode.
  • FIG. 15 is a diagram for explaining the first Planar prediction.
  • an image for the encoding target block Blk is predicted from a plurality of neighboring pixels around the encoding target block Blk.
  • the plurality of neighboring pixels are composed of a plurality of pixels arranged in the vertical direction on the left side of the encoding target block and a plurality of pixels arranged in the horizontal direction on the upper side of the encoding target block.
  • the pixel value of the lower right pixel Z in the encoding target block Blk is predicted to be 0, and the pixel Z is directly encoded.
  • the pixel value of the pixel Z is predicted to be an average value of the peripheral adjacent pixel L and the peripheral adjacent pixel T.
  • the pixel value of the pixel P1 uses the pixel value predicted for the pixel Z and the pixel value of the peripheral adjacent pixel L, and the distance between the pixel P1 and the pixel Z and the pixel P1 and the peripheral adjacent pixel L It is predicted by performing linear interpolation according to the distance between them.
  • the pixel value of the pixel P2 is predicted by performing linear interpolation using the pixel value predicted for the pixel Z and the pixel value of the neighboring adjacent pixel T.
  • the pixel value of the pixel P3 is predicted by performing linear interpolation using the pixel values predicted for the pixels P1 and P2 and the pixel values of the peripheral adjacent pixels R1 and R2.
  • the pixel values of the other pixels included in the encoding target block are also predicted by the same method as any one of the pixels P1, P2, and P3.
  • FIG. 16A and FIG. 16B are diagrams for explaining the second Planar prediction.
  • the second Planar prediction is a variation of the first Planar prediction, and is a prediction mode in which two pixel values are predicted by obtaining an average value for each pixel. For example, when the pixel values P3h and P3v of the pixel P3 of the encoding target block are predicted, first, as shown in FIG. 16A, the pixel value of the neighboring pixel T at the upper right is vertical as the pixel value P2h of the pixel P2. Copied in the direction. Next, an average value of the pixel value of the peripheral adjacent pixel R1 in the same row as the pixel P2 and the pixel value P2h is calculated, and the pixel value P3h of the pixel P3 is predicted to be the average value.
  • the pixel value of the adjacent pixel L at the lower left is copied in the horizontal direction as the pixel value P1v of the pixel P1.
  • the average value of the pixel value of the neighboring adjacent pixel R2 and the pixel value P1v in the same column as the pixel P1 is calculated, and the pixel value P3v of the pixel P3 is predicted to be the average value.
  • the first orthogonal transform and the first quantum suitable for the subjective image quality with respect to the encoding target block since the predicted image is almost flat, that is, not complicated, the first orthogonal transform and the first quantum suitable for the subjective image quality with respect to the encoding target block. It is better to make it.
  • the switching control unit 1203a, 1303a may determine that the predicted image is complex. Specifically, the switching control units 1203a and 1303a determine whether or not the absolute difference between the pixel value of the neighboring adjacent pixel L and the pixel value of the neighboring neighboring pixel T is equal to or less than a threshold value.
  • the switching control units 1203a and 1303a determine whether or not the ratio between the absolute value of the pixel value of the peripheral adjacent pixel L and the absolute value of the pixel value of the peripheral adjacent pixel T is equal to or less than a threshold, and the ratio is If it is larger than the threshold, it is determined that the respective pixel values are close.
  • Modification 4 the image coding apparatus performs two-stage orthogonal transform, and the image decoding apparatus performs two-stage inverse orthogonal transform. Then, the image encoding device switches between the first orthogonal transformation and the second orthogonal transformation in the second-stage orthogonal transformation, and the image decoding device performs the first inverse orthogonal in the first-stage orthogonal transformation. Switching between transform and second inverse orthogonal transform is performed.
  • FIG. 17 is a block diagram illustrating a configuration of the transform quantization unit according to the present modification.
  • a transform quantization unit 1102b includes a pre-orthogonal transform unit 1200, a first orthogonal transform unit 1201b, a second orthogonal transform unit 1202b, a quantization unit 1213, a switching control unit 1203a, First and second change-over switches 1204 and 1205 are provided.
  • the pre-orthogonal transformation unit 1200 acquires a difference image from the subtractor 1101, and performs a DCT (first-stage orthogonal transformation) on the difference image to generate a coefficient block.
  • DCT first-stage orthogonal transformation
  • the first orthogonal transform unit 1201b further performs first orthogonal transform (2) on only the low frequency coefficient (partial region) among the frequency coefficients included in the coefficient block generated by the pre-orthogonal transform unit 1200. (Orthogonal transformation at the stage). That is, the difference image is orthogonally transformed in two stages by the pre-orthogonal transformation unit 1200 and the first orthogonal transformation unit 1201b.
  • the first orthogonal transform unit 1201b outputs a coefficient block generated by such a two-stage orthogonal transform.
  • the second orthogonal transform unit 1202b further performs a second orthogonal transform (2) on only the low frequency coefficient (partial region) among the frequency coefficients included in the coefficient block generated by the pre-orthogonal transform unit 1200. (Orthogonal transformation at the stage). That is, the difference image is orthogonally transformed in two stages by the pre-orthogonal transformation unit 1200 and the second orthogonal transformation unit 1202b.
  • the second orthogonal transform unit 1202b outputs a coefficient block generated by such a two-stage orthogonal transform.
  • the first orthogonal transformation and the second orthogonal transformation are, for example, KLT.
  • the frequency domain that is the target of the first orthogonal transformation is different from the frequency domain that is the target of the second orthogonal transformation.
  • the frequency domain that is subject to the second orthogonal transformation includes a DC component, and the frequency domain that is subject to the first orthogonal transformation does not include a DC component. That is, the first orthogonal transform suppresses a change in the frequency coefficient of the DC component generated by the first-stage orthogonal transform, and therefore has less adverse effect on the subjective image quality than the second orthogonal transform.
  • the first changeover switch 1204 acquires the coefficient block generated by the pre-orthogonal transform unit 1200, and sets the output destination of the coefficient block to the first orthogonal transform unit 1201b in response to an instruction from the switch control unit 1203a. Switching is performed with the second orthogonal transform unit 1202b.
  • the second changeover switch 1205 switches the acquisition destination of the coefficient block between the first orthogonal transform unit 1201b and the second orthogonal transform unit 1202b, acquires the coefficient block from the acquisition destination, and outputs the coefficient block to the quantization unit 1213. .
  • the quantization unit 1213 quantizes the coefficient block generated by the two-stage orthogonal transform.
  • the switching control unit 1203a acquires the prediction image or the prediction mode information output from the in-plane prediction unit 1110 or the motion compensation unit 1111 via the switch 1113, and based on the prediction image or the prediction mode information. Then, it is determined whether or not the predicted image is complicated.
  • the change control unit 1203a controls the first and second changeover switches 1204 and 1205 based on the determination result.
  • the switching control unit 1203a determines that the predicted image is not complicated
  • the switching control unit 1203a controls the first changeover switch 1204 so that the output destination of the coefficient block from the first changeover switch 1204 becomes the first orthogonal transform unit 1201b.
  • the switching control unit 1203a controls the second switch 1205 so that the coefficient block acquisition source is the first orthogonal transform unit 1201b.
  • the first changeover switch 1204 outputs the coefficient block acquired from the pre-orthogonal transform unit 1200 to the first orthogonal transform unit 1201b.
  • the second changeover switch 1205 acquires the coefficient block from the first orthogonal transform unit 1201b and outputs the coefficient block to the quantization unit 1213. That is, when the predicted image is not complicated, DCT and the first orthogonal transformation are performed on the difference image.
  • the switching control unit 1203a determines that the prediction image is complicated
  • the first changeover switch 1204 so that the output destination of the coefficient block from the first changeover switch 1204 becomes the second orthogonal transform unit 1202b.
  • the change control unit 1203a controls the second changeover switch 1205 so that the coefficient block acquisition source is the second orthogonal transform unit 1202b.
  • the first changeover switch 1204 outputs the coefficient block acquired from the pre-orthogonal transform unit 1200 to the second orthogonal transform unit 1202b.
  • the second changeover switch 1205 acquires the coefficient block from the second orthogonal transform unit 1202b and outputs the coefficient block to the quantization unit 1213. That is, when the predicted image is complicated, DCT and second orthogonal transformation are performed on the difference image.
  • FIG. 18A, FIG. 18B, and FIG. 18C are diagrams illustrating frequency regions in which the second-stage orthogonal transform (first and second orthogonal transforms) is performed.
  • the pre-orthogonal transform unit 1200 performs DCT (first-stage orthogonal transform) on the difference image B1 (i ⁇ j pixels) represented as a spatial region, thereby obtaining i ⁇ j.
  • a coefficient block B2 made up of elements (components) is generated.
  • i and j are integers of 0 or more and (N ⁇ 1) or less.
  • the second orthogonal transform unit 1202b performs the second orthogonal transform (second-stage orthogonal transform) on the partial coefficient block B2a including only the low frequency components in the coefficient block B2.
  • a coefficient block B3 composed of the other part of the coefficient block B2 excluding the partial coefficient block B2a and the partial coefficient block B2a (partial coefficient block B3a) subjected to the second orthogonal transformation is generated.
  • the second orthogonal transform unit 1202b performs the second orthogonal transform on the partial coefficient block B2b including the quantized value of the lowest frequency component (DC component) in the coefficient block B2 generated by DCT. I do.
  • the DCT is an 8-point input 8-point output conversion and the second orthogonal transformation is a 4-point input 4-point output conversion, from the first point to the fourth point in the lowest range of the coefficient block B2.
  • the second orthogonal transform is performed on the partial coefficient block B2a including the frequency components.
  • Each frequency component included in the coefficient block is referred to as a first frequency component, a second frequency component, a third frequency component,.
  • the first orthogonal transform unit 1201b performs the first operation on the partial coefficient block B2b including only the low frequency components in the coefficient block B2, as shown in FIG. 18B.
  • Orthogonal transformation (second-stage orthogonal transformation) is performed.
  • a coefficient block B4 composed of the other part of the coefficient block B2 excluding the partial coefficient block B2b and the partial coefficient block B2b (partial coefficient block B4a) subjected to the first orthogonal transformation is generated.
  • the first orthogonal transform unit 1201b performs first orthogonal transform on the partial coefficient block B2b excluding the quantized value of the lowest frequency component (DC component) in the coefficient block B2 generated by DCT. I do. For example, when DCT is an 8-point input 8-point output transformation and the first orthogonal transformation is a 4-point input 4-point output transformation, three points from the second point to the fourth point in the coefficient block B2 The first orthogonal transformation is performed on the partial coefficient block B2b including the frequency components.
  • first orthogonal transform unit 1201b performs the first orthogonal transform on the partial coefficient block B2b including the three frequency components as described above, but applies to the partial coefficient block including the four frequency components.
  • the first orthogonal transform may be performed.
  • the first orthogonal transform unit 1201b applies to the partial coefficient block B2c including four frequency components from the second point to the fifth point in the coefficient block B2.
  • the first orthogonal transformation (second-stage orthogonal transformation) is performed.
  • a coefficient block B5 including the other part of the coefficient block B2 excluding the partial coefficient block B2c and the partial coefficient block B2c (partial coefficient block B5a) subjected to the first orthogonal transformation is generated.
  • the second-stage orthogonal transform KLT
  • DCT first-stage orthogonal transform
  • the compression performance can be improved.
  • the balance between the subjective image quality and the compression performance conversion efficiency
  • the compression performance can be improved by using the second orthogonal transform
  • the subjective image quality can be improved by using the first orthogonal transform.
  • the decrease can be suppressed. As a result, it is possible to suppress a decrease in encoding efficiency and subjective image quality.
  • FIG. 19 is a block diagram showing a configuration of an inverse quantization inverse transform unit according to this modification.
  • the inverse quantization inverse transform unit 1105b includes an inverse quantization unit 1300, a first inverse orthogonal transform unit 1311b, a second inverse orthogonal transform unit 1312b, a post-inverse orthogonal transform unit 1310, A change control unit 1303a and third and fourth changeover switches 1304 and 1305 are provided.
  • the inverse quantization inverse transform unit 1105 b is provided in the image encoding device 1000 instead of the inverse quantization inverse transform unit 1105, and is provided in the image decoding device 2000 instead of the inverse quantization inverse transform unit 2102.
  • the processing operation of the inverse quantization inverse transform unit 1105b will be described in detail. Note that the processing operation of the inverse quantization inverse transform unit 1105b provided in the image decoding device 2000 is the same as the processing operation of the inverse quantization inverse transform unit 1105b provided in the image encoding device 1000. Is omitted.
  • the inverse quantization unit 1300 performs inverse quantization on the quantization coefficient block generated by the two-stage orthogonal transform and quantization performed by the transform quantization unit 1102b.
  • the first inverse orthogonal transform unit 1311b includes a low coefficient included in the partial coefficient block B4a or B5a (partial region) among the frequency coefficients included in the coefficient block B4 or B5 generated by the inverse quantization performed by the inverse quantization unit 1300.
  • the first inverse orthogonal transform is performed only on the frequency coefficient of the region.
  • the first inverse orthogonal transform unit 1311b transforms the partial coefficient block B4a or B5a into the partial coefficient block B2b or B2c.
  • the first inverse orthogonal transform unit 1311b generates and outputs a coefficient block B2 including the partial coefficient block B2b or B2c and a part other than the partial coefficient block B4a or B5a of the coefficient block B4 or B5.
  • the second inverse orthogonal transform unit 1312b includes a low frequency coefficient included in the partial coefficient block B3a (partial region) among the frequency coefficients included in the coefficient block B3 generated by the inverse quantization performed by the inverse quantization unit 1300.
  • the second inverse orthogonal transform is performed only on the image.
  • the second inverse orthogonal transform unit 1312b transforms the partial coefficient block B3a into the partial coefficient block B2a.
  • the second inverse orthogonal transform unit 1312b generates and outputs a coefficient block B2 including the partial coefficient block B2a and a part of the coefficient block B3 other than the partial coefficient block B3a.
  • the post-inverse orthogonal transform unit 1310 acquires the coefficient block B2 output from the first or second inverse orthogonal transform unit 1311b or 1312b, and performs inverse DCT (second-stage inverse orthogonal transform) on the coefficient block B2. ) To generate a decoded difference image.
  • inverse DCT second-stage inverse orthogonal transform
  • the third changeover switch 1304 acquires the coefficient block B4 or B5 generated by the inverse quantization unit 1300, and sets the output destination of the coefficient block B4 or B5 to the first in accordance with an instruction from the change control unit 1303a. Switching is performed between the inverse orthogonal transform unit 1311b and the second inverse orthogonal transform unit 1312b.
  • the fourth changeover switch 1305 switches the acquisition destination of the coefficient block B2 between the first inverse orthogonal transform unit 1311b and the second inverse orthogonal transform unit 1312b, acquires the coefficient block B2 from the acquisition destination, and performs reverse inversion. The result is output to the orthogonal transform unit 1310.
  • the switching control unit 1303a acquires the prediction image or prediction mode information output from the in-plane prediction unit 1110 or the motion compensation unit 1111 via the switch 1113, and the prediction image or prediction mode information. Based on the above, it is determined whether or not the predicted image is complicated.
  • the change control unit 1303a controls the third and fourth changeover switches 1304 and 1305 based on the determination result.
  • FIG. 20 is a flowchart showing the processing operation of the transform quantization unit 1102b according to this modification.
  • the pre-orthogonal transform unit 1200 acquires a difference image from the subtractor 1101, and performs pre-orthogonal transform (first-stage orthogonal transform) on the difference image (step S220).
  • the switching control unit 1203a acquires a predicted image and determines whether or not the predicted image is complicated (step S222). Note that the switching control unit 1203a may acquire prediction mode information instead of the prediction image. In this case, when the prediction mode information indicates a predetermined mode, the switching control unit 1203a determines that the predicted image is not complicated, and when the prediction mode information does not indicate a predetermined mode. Then, it is determined that the predicted image is complicated.
  • the second orthogonal transform unit 1202b changes the first switch 1204 from the pre-orthogonal transform unit 1200. Then, the coefficient block generated by the pre-orthogonal transformation is acquired, and the second orthogonal transformation (second-stage orthogonal transformation) is performed on the coefficient block (step S224).
  • the switching control unit 1203a determines that the predicted image is not complicated (No in step S222)
  • the first orthogonal transform unit 1201b passes the pre-orthogonal transform unit 1200 via the first switch 1204.
  • the coefficient block generated by the pre-orthogonal transformation is acquired, and the first orthogonal transformation (second-stage orthogonal transformation) is performed on the coefficient block (step S226).
  • the quantization unit 1213 acquires and quantizes the coefficient block from the first orthogonal transform unit 1201b or the second orthogonal transform unit 1202b via the second changeover switch 1205 (step S228). Specifically, when the first orthogonal transform is performed by the first orthogonal transform unit 1201b, the quantization unit 1213 transmits the first orthogonal transform unit 1201b via the second changeover switch 1205. The coefficient block that has undergone the first orthogonal transform is acquired and quantized. In addition, when the second orthogonal transform is performed by the second orthogonal transform unit 1202b, the quantization unit 1213 receives the second change from the second orthogonal transform unit 1202b via the second changeover switch 1205. A coefficient block that has undergone orthogonal transformation is acquired and quantized. As a result, the quantization coefficient block generated by the quantization is output from the quantization unit 1213.
  • FIG. 21 is a flowchart showing the processing operation of the inverse quantization inverse transform unit 1105b according to this modification.
  • the inverse quantization unit 1300 acquires the quantization coefficient block from the transform quantization unit 1102b and performs inverse quantization (step S240).
  • the switching control unit 1303a acquires a predicted image and determines whether or not the predicted image is complicated (step S242). Note that the switching control unit 1303a may acquire prediction mode information instead of the prediction image. In this case, when the prediction mode information indicates a predetermined mode, the switching control unit 1303a determines that the predicted image is not complicated, and when the prediction mode information does not indicate a predetermined mode. Then, it is determined that the predicted image is complicated.
  • the switching control unit 1303a determines that the predicted image is complicated (Yes in step S242)
  • the second inverse orthogonal transform unit 1312b switches the third changeover switch 1304 from the inverse quantization unit 1300.
  • the coefficient block generated by the inverse quantization is acquired, and the second inverse orthogonal transform (first-stage orthogonal transform) is performed on the coefficient block (step S244).
  • the switching control unit 1303a determines that the predicted image is not complicated (No in step S242)
  • the first inverse orthogonal transform unit 1311b passes from the inverse quantization unit 1300 via the third switch 1304. Then, a coefficient block generated by inverse quantization is acquired, and the first inverse orthogonal transform (first-stage orthogonal transform) is performed on the coefficient block (step S246).
  • the post-inverse orthogonal transform unit 1310 receives the first inverse orthogonal transform or the second inverse transform from the first inverse orthogonal transform unit 1311b or the second inverse orthogonal transform unit 1312b via the fourth changeover switch 1305.
  • a coefficient block that has been subjected to inverse orthogonal transform is acquired, and post-inverse orthogonal transform (second-stage inverse orthogonal transform) is performed on the coefficient block (step S248).
  • the post-inverse orthogonal transform unit 1310 performs the fourth switching from the first inverse orthogonal transform unit 1311b.
  • a coefficient block that has undergone the first inverse orthogonal transform is acquired via the switch 1305. Then, the post-inverse orthogonal transform unit 1310 performs post-inverse orthogonal transform on the coefficient block. Further, when the second inverse orthogonal transform is performed by the second inverse orthogonal transform unit 1312b, the post-inverse orthogonal transform unit 1310 switches the second changeover switch 1205 from the second inverse orthogonal transform unit 1312b. Then, a coefficient block on which the second inverse orthogonal transform has been performed is acquired. Then, the post-inverse orthogonal transform unit 1310 performs post-inverse orthogonal transform on the coefficient block. Thereby, the decoded differential image generated by the post-inverse orthogonal transform is output from the post-inverse orthogonal transform unit 1310.
  • the second-stage inverse orthogonal transform is performed on the encoded image that has been subjected to the first-stage inverse orthogonal transform.
  • the first-stage inverse orthogonal transform is performed only on the partial region that is a part of the inverse-quantized encoded image.
  • the second-stage inverse orthogonal transform is performed, the partial area subjected to the first-stage inverse orthogonal transform and the areas other than the partial area included in the inverse-quantized encoded image are included.
  • a second-stage inverse orthogonal transform is performed on the image.
  • the inverse quantization is performed when the first-stage inverse orthogonal transform is performed.
  • a region not including the lowest frequency component is selected as a partial region, and the first inverse orthogonal transform is performed on the partial region.
  • the second inverse orthogonal transform is selected as the first-stage inverse orthogonal transform by switching the type of inverse orthogonal transform, the inverse quantization is performed when the first-stage inverse orthogonal transform is performed.
  • a region including the lowest frequency component is selected as a partial region, and the second inverse orthogonal transform is performed on the partial region.
  • each diagonal element of the transformation matrix used for the first orthogonal transformation is set to a value closer to 1 (100%) than each diagonal element of the transformation matrix used for the second orthogonal transformation.
  • each diagonal element of the transformation matrix used for the first inverse orthogonal transformation Is set to a value closer to 1 than each diagonal element of the transformation matrix used for the second inverse orthogonal transformation.
  • FIG. 22A is a diagram showing diagonal elements of a transformation matrix.
  • FIG. 22B is a diagram illustrating an example of a transformation matrix having no transformation effect.
  • each diagonal element in the transformation matrix of the first orthogonal transformation is set to 1 (1) more than each diagonal element in the transformation matrix of the second orthogonal transformation (second inverse orthogonal transformation).
  • the effect of the first orthogonal transformation (first inverse orthogonal transformation) can be made smaller than the effect of the second orthogonal transformation (second inverse orthogonal transformation). it can.
  • first orthogonal transform (first inverse orthogonal transform)
  • FIG. 23A is a diagram illustrating an example of a transformation matrix used for the second orthogonal transformation.
  • the diagonal elements are 118, 109, 109, and 117 as shown in FIG. 23A. These diagonal elements are not close to 128 (100%).
  • the second orthogonal transformation (second inverse orthogonal transformation) is a matrix operation using such a transformation matrix A2.
  • FIG. 23B is a diagram illustrating an example of a transformation matrix used for the first orthogonal transformation.
  • the diagonal elements are 122, 119, 122, and 125. These diagonal elements are closer to 128 (100%) than the diagonal elements of the transformation matrix A2.
  • the first orthogonal transformation (first inverse orthogonal transformation) is a matrix operation using such a transformation matrix A3.
  • FIG. 23C is a diagram illustrating another example of the transformation matrix used for the first orthogonal transformation.
  • the diagonal elements are 125, 124, 126, and 127 as shown in FIG. 23C. These diagonal elements are closer to 128 (100%) than the diagonal elements of the transformation matrix A2. Accordingly, the first orthogonal transformation (first inverse orthogonal transformation) may be a matrix operation using such a transformation matrix A4 instead of the above-described transformation matrix A3. Each diagonal element of the transformation matrix A4 is closer to 128 (100%) than each diagonal element of the transformation matrix A3.
  • the first orthogonal transformation first inverse orthogonal transformation
  • the subjective image quality is lower than when the first matrix is a matrix operation using the transformation matrix A3. Can be effectively suppressed.
  • the transform quantization unit of the image coding apparatus performs the second orthogonal transform and the second quantization after performing the first orthogonal transform and the first quantization.
  • the second orthogonal transform and the second quantization may be performed in parallel with the first orthogonal transform and the first quantization. In this case, it is not necessary to perform the second orthogonal transformation and the second quantization after the comparison of the sum of the quantized values and the threshold value (step S104 in FIG. 5), and the time required for the encoding process is shortened. can do.
  • the transform quantization unit of the image encoding device may perform the first orthogonal transform and the first quantization after performing the second orthogonal transform and the second quantization. In this case, the sum of the quantized values in the quantized coefficient block generated by the second orthogonal transform and the second quantization is compared with a threshold value, and the first orthogonal transform is performed according to the comparison result. And a first quantization is performed.
  • the second orthogonal transform or the second inverse orthogonal transform when the total sum of quantized values is larger than the threshold value, the second orthogonal transform or the second inverse orthogonal transform is performed. However, when the sum is equal to or larger than the threshold value.
  • the second orthogonal transform or the second inverse orthogonal transform may be performed when the second orthogonal transform or the second inverse orthogonal transform is performed and the sum is less than the threshold.
  • the threshold value to be compared with the sum of the quantized values is determined in advance, but the threshold value may be adaptively changed.
  • the predicted image corresponding to the encoded image is H.264.
  • the threshold value may be set to a smaller value than in the case of generating in other prediction modes. Further, the threshold value may be different between the image encoding device and the image decoding device.
  • the switching of the orthogonal transform type by the image encoding device and the switching of the inverse orthogonal transform type by the image decoding device are performed independently.
  • the type of orthogonal transform selected by switching according to may be transmitted to the image decoding apparatus.
  • the image encoding device transmits a flag indicating the type of the selected orthogonal transform to the image decoding device.
  • the image decoding apparatus receives the flag, selects inverse orthogonal transform corresponding to the type indicated by the flag, and applies it to the encoded image.
  • the image decoding apparatus does not need to analyze an encoded image or a predicted image, and can switch the type of inverse orthogonal transform easily and quickly.
  • each type of orthogonal transform and inverse orthogonal transform is switched according to the predicted image or prediction mode information, but may be switched based on other information.
  • 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. 24 is a diagram showing an overall configuration of a content supply system ex100 that realizes a content distribution service.
  • a communication service providing area is divided into desired sizes, and base stations ex106, ex107, ex108, ex109, and ex110, which are fixed wireless stations, are installed in each cell.
  • This content supply system ex100 includes a computer ex111, a PDA (Personal Digital Assistant) ex112, a camera ex113, a mobile phone ex114, a game machine ex115 via the Internet ex101, the Internet service provider ex102, the telephone network ex104, and the base stations ex106 to ex110. Etc. are connected.
  • PDA Personal Digital Assistant
  • each device may be directly connected to the telephone network ex104 without going from the base station ex106, which is a fixed wireless station, to ex110.
  • 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) system, a CDMA (Code Division Multiple Access) system, a W-CDMA (Wideband-Code Division Multiple Access) system, an LTE (Long Terminal Evolution) system, an HSPA ( High-speed-Packet-Access) mobile phone or PHS (Personal-Handyphone System), etc.
  • GSM Global System for Mobile Communications
  • CDMA Code Division Multiple Access
  • W-CDMA Wideband-Code Division Multiple Access
  • LTE Long Terminal Evolution
  • HSPA 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.
  • live distribution the content (for example, music live video) captured by the user using the camera ex113 is encoded as described in the above embodiments, and transmitted to the streaming server ex103.
  • the streaming server ex103 stream-distributes the content data transmitted to the requested client. Examples of the client include a computer ex111, a PDA ex112, a camera ex113, a mobile phone ex114, and a game machine ex115 that can decode the encoded data. Each device that receives the distributed data decodes the received data and reproduces it.
  • the captured data may be encoded by the camera ex113, the streaming server ex103 that performs data transmission processing, or may be shared with each other.
  • the decryption processing of the distributed data may be performed by the client, the streaming server ex103, or may be performed in common with each other.
  • 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 / decoding processes are generally performed in the computer ex111 and the LSI ex500 included in each device.
  • the LSI ex500 may be configured as a single chip or a plurality of chips.
  • moving image encoding / decoding software is incorporated into some recording medium (CD-ROM, flexible disk, hard disk, etc.) that can be read by the computer ex111, etc., and encoding / decoding processing is 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 by the client in real time, and personal broadcasting can be realized even for a user who does not have special rights or facilities.
  • At least one of the video encoding device and the video decoding device of each of the above embodiments is incorporated in the digital broadcasting system ex200. be able to.
  • the broadcast station ex201 multiplexed data obtained by multiplexing music data and the like on video data is transmitted to a communication or satellite ex202 via radio waves.
  • This video data is data encoded by the moving image encoding method described in the above embodiments.
  • the broadcasting satellite ex202 transmits a radio wave for broadcasting, and this radio wave is received by a home antenna ex204 capable of receiving satellite broadcasting.
  • the received multiplexed data is decoded and reproduced by a device such as the television (receiver) ex300 or the set top box (STB) ex217.
  • a reader / recorder ex218 that reads and decodes multiplexed data recorded on a recording medium ex215 such as a DVD or a BD, encodes a video signal on the recording medium ex215, and in some cases multiplexes and writes it with a music signal. It is possible to mount the moving picture decoding apparatus or moving picture encoding apparatus described in the above embodiments. In this case, the reproduced video signal is displayed on the monitor ex219, and the video signal can be reproduced in another device or system using the recording medium ex215 on which the multiplexed data is recorded.
  • a moving picture decoding apparatus may be mounted in a set-top box ex217 connected to a cable ex203 for cable television or an antenna ex204 for satellite / terrestrial broadcasting and displayed on the monitor ex219 of the television.
  • the moving picture decoding apparatus may be incorporated in the television instead of the set top box.
  • FIG. 26 is a diagram illustrating a television (receiver) ex300 that uses the video decoding method and the video encoding method described in each of the above embodiments.
  • the television ex300 obtains or outputs multiplexed data in which audio data is multiplexed with video data via the antenna ex204 or the cable ex203 that receives the broadcast, and demodulates the received multiplexed data.
  • the modulation / demodulation unit ex302 that modulates multiplexed data to be transmitted to the outside, and the demodulated multiplexed data is separated into video data and audio data, or the video data and audio data encoded by the signal processing unit ex306 Is provided with a multiplexing / demultiplexing unit ex303.
  • the television ex300 decodes the audio data and the video data, or encodes each information, the audio signal processing unit ex304, the signal processing unit ex306 including the video signal processing unit ex305, and the decoded audio 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 performs overall control of each unit, and a power supply circuit unit ex311 that supplies power to each unit.
  • the interface unit ex317 includes a bridge unit ex313 connected to an external device such as a reader / recorder ex218, a recording unit ex216 such as an SD card, and an external recording unit 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 multiplexed data demodulated by the modulation / demodulation unit ex302 by the multiplexing / demultiplexing unit ex303 based on the control of the control unit ex310 having a CPU or the like. Furthermore, in the television ex300, the separated audio data is decoded 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 each of the above embodiments.
  • the decoded audio signal and video signal are output from the output unit ex309 to the outside. At the time of output, 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. Also, the television ex300 may read multiplexed data from recording media ex215 and ex216 such as a magnetic / optical disk and an SD card, not from broadcasting. Next, a configuration in which the television ex300 encodes an audio signal or a video signal and transmits the signal to the outside or to a recording medium will be described.
  • the television ex300 receives a user operation from the remote controller ex220 and the like, encodes an audio signal with the audio signal processing unit ex304, and converts the video signal with the video signal processing unit ex305 based on the control of the control unit ex310. Encoding is performed using the encoding method described in (1).
  • 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, ex321, etc. so that the audio signal and the video signal are synchronized.
  • a plurality of buffers ex318, ex319, ex320, and ex321 may be provided as illustrated, or one or more buffers may be shared. Further, in addition to the illustrated example, data may be stored in the buffer as a buffer material that prevents system overflow and underflow, for example, between the modulation / demodulation unit ex302 and the multiplexing / demultiplexing unit ex303.
  • the television ex300 has a configuration for receiving AV input of a microphone and a camera, and performs encoding processing on the data acquired from them. Also good.
  • the television ex300 has been described as a configuration capable of the above-described encoding processing, multiplexing, and external output, but these processing cannot be performed, and only the above-described reception, decoding processing, and external output are possible. It may be a configuration.
  • the decoding process or the encoding process may be performed by either the television ex300 or the reader / recorder ex218,
  • the reader / recorder ex218 may share with each other.
  • FIG. 27 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, ex402, ex403, ex404, ex405, ex406, and ex407 described below.
  • the optical head ex401 irradiates a laser spot on the recording surface of the recording medium ex215 that is an optical disk 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 the reproduction signal obtained by electrically detecting the reflected light from the recording surface by the photodetector built in the optical head ex401, separates and demodulates the 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.
  • the modulation recording unit ex402, the reproduction demodulation unit This is realized by recording / reproducing information through the optical head ex401 while operating the ex403 and the servo control unit ex406 in a coordinated manner.
  • 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.
  • a configuration in which higher-density recording is performed using near-field light may be used.
  • FIG. 28 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 that is a unit for recording data, and the recording block is specified by reproducing the information track ex230 and reading the address information in a recording or reproducing apparatus.
  • 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 or outer circumference of the data recording area ex233 are used for specific purposes other than user data recording. Used.
  • the information reproducing / recording unit ex400 reads / writes encoded audio data, video data, or multiplexed 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.
  • an optical disc with a multi-dimensional recording / reproducing structure such as recording information using light of different wavelengths in the same place on the disc, or recording different layers of information from various angles. It may be.
  • 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 may be, for example, a configuration in which a GPS receiving unit is added in the configuration illustrated in FIG.
  • FIG. 29A is a diagram showing the mobile phone ex114 using the moving picture decoding method and the moving picture encoding method described in the above embodiment.
  • the mobile phone ex114 includes an antenna ex350 for transmitting and receiving radio waves to and from the base station ex110, a camera unit ex365 capable of capturing video and still images, a video captured by the camera unit ex365, a video received by the antenna ex350, and the like Is provided with a display unit ex358 such as a liquid crystal display for displaying the decrypted data.
  • the mobile phone ex114 further includes a main body unit having an operation key unit ex366, an audio output unit ex357 such as a speaker for outputting audio, an audio input unit ex356 such as a microphone for inputting audio, a captured video,
  • an audio input unit ex356 such as a microphone for inputting audio
  • a captured video In the memory unit ex367 for storing encoded data or decoded data such as still images, recorded audio, received video, still images, mails, or the like, or an interface unit with a recording medium for storing data
  • a slot ex364 is provided.
  • the mobile phone ex114 has a power supply circuit part ex361, an operation input control part ex362, and a video signal processing part ex355 with respect to a main control part ex360 that comprehensively controls each part of the main body including the display part ex358 and the operation key part ex366.
  • a camera interface unit ex363, an LCD (Liquid Crystal Display) control unit ex359, a modulation / demodulation unit ex352, a multiplexing / demultiplexing unit ex353, an audio signal processing unit ex354, a slot unit ex364, and a memory unit ex367 are connected to each other via a bus ex370. ing.
  • the power supply circuit unit ex361 starts up the mobile phone ex114 in an operable state by supplying power from the battery pack to each unit.
  • the cellular phone ex114 converts the audio signal collected by the audio input unit ex356 in the voice call mode into a digital audio signal by the audio signal processing unit ex354 based on the control of the main control unit ex360 having a CPU, a ROM, a RAM, and the like. Then, this is subjected to spectrum spread processing by the modulation / demodulation unit ex352, digital-analog conversion processing and frequency conversion processing are performed by the transmission / reception unit ex351, and then transmitted via the antenna ex350.
  • the mobile phone ex114 also amplifies the received data received via the antenna ex350 in the voice call mode, performs frequency conversion processing and analog-digital conversion processing, performs spectrum despreading processing by the modulation / demodulation unit ex352, and performs voice signal processing unit After being converted into an analog audio signal by ex354, this is output from the audio output unit ex356.
  • the text data of the e-mail input by operating the operation key unit ex366 of the main unit is sent to the main control unit ex360 via the operation input control unit ex362.
  • the main control unit ex360 performs spread spectrum processing on the text data in the modulation / demodulation unit ex352, performs digital analog conversion processing and frequency conversion processing in the transmission / reception unit ex351, and then transmits the text data to the base station ex110 via the antenna ex350.
  • almost the reverse process is performed on the received data and output to the display unit ex358.
  • the video signal processing unit ex355 compresses the video signal supplied from the camera unit ex365 by the moving image encoding method described in the above embodiments.
  • the encoded video data is sent to the multiplexing / separating unit ex353.
  • the audio signal processing unit ex354 encodes the audio signal picked up by the audio signal input unit ex356 while the camera unit ex365 images a video, a still image, and the like, and the encoded audio data is sent to the multiplexing / separating unit ex353. Send it out.
  • the multiplexing / demultiplexing unit ex353 multiplexes the encoded video data supplied from the video signal processing unit ex355 and the encoded audio data supplied from the audio signal processing unit ex354 by a predetermined method, and is obtained as a result.
  • the multiplexed data is subjected to spread spectrum processing by the modulation / demodulation circuit unit ex352, subjected to digital analog conversion processing and frequency conversion processing by the transmission / reception unit ex351, and then transmitted via the antenna ex350.
  • the multiplexing / separating unit ex353 separates the multiplexed data into a video data bit stream and an audio data bit stream, and performs video signal processing on the video data encoded via the synchronization bus ex370.
  • the encoded audio data is supplied to the audio signal processing unit ex354 while being supplied to the unit ex355.
  • the video signal processing unit ex355 decodes the video signal by decoding using the video decoding method corresponding to the video encoding method described in each of the above embodiments, and the display unit ex358 via the LCD control unit ex359. From, for example, video and still images included in a moving image file linked to a home page are displayed.
  • the audio signal processing unit ex354 decodes the audio signal, and the audio is output from the audio output unit ex357.
  • the terminal such as the mobile phone ex114 is referred to as a transmission terminal having only an encoder and a receiving terminal having only a decoder.
  • a transmission terminal having only an encoder
  • a receiving terminal having only a decoder.
  • multiplexed data in which music data is multiplexed with video data is received and transmitted.
  • character data related to video is multiplexed. It may be converted data, or may be video data itself instead of multiplexed data.
  • the moving picture encoding method or the moving picture decoding method shown in each of the above embodiments can be used in any of the above-described devices / systems. The described effect can be obtained.
  • multiplexed data obtained by multiplexing audio data or the like with video data is configured to include identification information indicating which standard the video data conforms to.
  • identification information indicating which standard the video data conforms to.
  • FIG. 30 is a diagram showing a structure of multiplexed data.
  • multiplexed data is obtained by multiplexing one or more of a video stream, an audio stream, a presentation graphics stream (PG), and an interactive graphics stream.
  • the video stream indicates the main video and sub-video of the movie
  • the audio stream (IG) indicates the main audio portion of the movie and the sub-audio mixed with the main audio
  • the presentation graphics stream indicates the subtitles of the movie.
  • the main video indicates a normal video displayed on the screen
  • the sub-video is a video displayed on a small screen in the main video.
  • the interactive graphics stream indicates an interactive screen created by arranging GUI components on the screen.
  • the video stream is encoded by the moving image encoding method or apparatus shown in the above embodiments, or the moving image encoding method or apparatus conforming to the conventional standards such as MPEG-2, MPEG4-AVC, and VC-1. ing.
  • the audio stream is encoded by a method such as Dolby AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD, or linear PCM.
  • Each stream included in the multiplexed data is identified by PID. For example, 0x1011 for video streams used for movie images, 0x1100 to 0x111F for audio streams, 0x1200 to 0x121F for presentation graphics, 0x1400 to 0x141F for interactive graphics streams, 0x1B00 to 0x1B1F are assigned to video streams used for sub-pictures, and 0x1A00 to 0x1A1F are assigned to audio streams used for sub-audio mixed with the main audio.
  • FIG. 31 is a diagram schematically showing how multiplexed data is multiplexed.
  • a video stream ex235 composed of a plurality of video frames and an audio stream ex238 composed of a plurality of audio frames are converted into PES packet sequences ex236 and ex239, respectively, and converted into TS packets ex237 and ex240.
  • the data of the presentation graphics stream ex241 and interactive graphics ex244 are converted into PES packet sequences ex242 and ex245, respectively, and further converted into TS packets ex243 and ex246.
  • the multiplexed data ex247 is configured by multiplexing these TS packets into one stream.
  • FIG. 32 shows in more detail how the video stream is stored in the PES packet sequence.
  • the first row in FIG. 32 shows a video frame sequence of the video stream.
  • the second level shows a PES packet sequence.
  • a plurality of Video Presentation Units in the video stream are divided into pictures, B pictures, and P pictures and stored in the payload of the PES packet.
  • Each PES packet has a PES header, and a PTS (Presentation Time-Stamp) that is a display time of a picture and a DTS (Decoding Time-Stamp) that is a decoding time of a picture are stored in the PES header.
  • PTS Presentation Time-Stamp
  • DTS Decoding Time-Stamp
  • FIG. 33 shows the format of TS packets that are finally written in the multiplexed data.
  • the TS packet is a 188-byte fixed-length packet composed of a 4-byte TS header having information such as a PID for identifying a stream and a 184-byte TS payload for storing data.
  • the PES packet is divided and stored in the TS payload.
  • a 4-byte TP_Extra_Header is added to a TS packet, forms a 192-byte source packet, and is written in multiplexed data.
  • TP_Extra_Header information such as ATS (Arrival_Time_Stamp) is described.
  • ATS indicates the transfer start time of the TS packet to the PID filter of the decoder.
  • Source packets are arranged in the multiplexed data as shown in the lower part of FIG. 33, and the number incremented from the head of the multiplexed data is called SPN (source packet number).
  • TS packets included in the multiplexed data include PAT (Program Association Table), PMT (Program Map Table), PCR (Program Clock Reference), and the like in addition to each stream such as video / audio / caption.
  • PAT indicates what the PID of the PMT used in the multiplexed data is, and the PID of the PAT itself is registered as 0.
  • the PMT has the PID of each stream such as video / audio / subtitles included in the multiplexed data and the attribute information of the stream corresponding to each PID, and has various descriptors related to the multiplexed data.
  • the descriptor includes copy control information for instructing permission / non-permission of copying of multiplexed data.
  • the PCR corresponds to the ATS in which the PCR packet is transferred to the decoder. Contains STC time information.
  • FIG. 34 is a diagram for explaining the data structure of the PMT in detail.
  • a PMT header describing the length of data included in the PMT is arranged at the head of the PMT.
  • a plurality of descriptors related to multiplexed data are arranged.
  • the copy control information and the like are described as descriptors.
  • a plurality of pieces of stream information regarding each stream included in the multiplexed data are arranged.
  • the stream information includes a stream descriptor in which a stream type, a stream PID, and stream attribute information (frame rate, aspect ratio, etc.) are described to identify a compression codec of the stream.
  • the multiplexed data is recorded together with the multiplexed data information file.
  • the multiplexed data information file is management information of multiplexed data, has a one-to-one correspondence with the multiplexed data, and includes multiplexed data information, stream attribute information, and an entry map.
  • the multiplexed data information is composed of a system rate, a reproduction start time, and a reproduction end time.
  • the system rate indicates a maximum transfer rate of multiplexed data to a PID filter of a system target decoder described later.
  • the ATS interval included in the multiplexed data is set to be equal to or less than the system rate.
  • the playback start time is the PTS of the first video frame of the multiplexed data
  • the playback end time is set by adding the playback interval for one frame to the PTS of the video frame at the end of the multiplexed data.
  • attribute information about each stream included in the multiplexed data is registered for each PID.
  • the attribute information has different information for each video stream, audio stream, presentation graphics stream, and interactive graphics stream.
  • the video stream attribute information includes the compression codec used to compress the video stream, the resolution of the individual picture data constituting the video stream, the aspect ratio, and the frame rate. It has information such as how much it is.
  • the audio stream attribute information includes the compression codec used to compress the audio stream, the number of channels included in the audio stream, the language supported, and the sampling frequency. With information. These pieces of information are used for initialization of the decoder before the player reproduces it.
  • the stream type included in the PMT is used.
  • video stream attribute information included in the multiplexed data information is used.
  • the video encoding shown in each of the above embodiments for the stream type or video stream attribute information included in the PMT.
  • FIG. 37 shows steps of the moving picture decoding method according to the present embodiment.
  • step exS100 the stream type included in the PMT or the video stream attribute information included in the multiplexed data information is acquired from the multiplexed data.
  • step exS101 it is determined whether or not the stream type or the video stream attribute information indicates multiplexed data generated by the moving picture encoding method or apparatus described in the above embodiments. To do.
  • step exS102 the above embodiments are performed. Decoding is performed by the moving picture decoding method shown in the form.
  • the conventional information Decoding is performed by a moving image decoding method compliant with the standard.
  • FIG. 38 shows a configuration of the LSI ex500 that is made into one chip.
  • the LSI ex500 includes elements ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508, and ex509 described below, and each element is connected via a bus ex510.
  • the power supply circuit unit ex505 is activated to an operable state by supplying power to each unit when the power supply is on.
  • the LSI ex500 when performing the encoding process, performs the microphone ex117 and the camera ex113 by the AV I / O ex509 based on the control of the control unit ex501 including the CPU ex502, the memory controller ex503, the stream controller ex504, the drive frequency control unit ex512, and the like.
  • the AV signal is input from the above.
  • the input AV signal is temporarily stored in an external memory ex511 such as SDRAM.
  • the accumulated data is divided into a plurality of times as appropriate according to the processing amount and the processing speed and sent to the signal processing unit ex507, and the signal processing unit ex507 encodes an audio signal and / or video. Signal encoding is performed.
  • the encoding process of the video signal is the encoding process described in the above embodiments.
  • 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 multiplexed data 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 as to be synchronized when multiplexing.
  • the memory ex511 is described as an external configuration of the LSI ex500.
  • a configuration included in the LSI ex500 may be used.
  • the number of buffers 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.
  • control unit ex510 includes the CPU ex502, the memory controller ex503, the stream controller ex504, the drive frequency control unit ex512, and the like, but the configuration of the control unit ex510 is not limited to this configuration.
  • the signal processing unit ex507 may further include a CPU.
  • the CPU ex502 may be configured to include a signal processing unit ex507 or, for example, an audio signal processing unit that is a part of the signal processing unit ex507.
  • the control unit ex501 is configured to include a signal processing unit ex507 or a CPU ex502 having a part thereof.
  • 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 Field Programmable Gate Array
  • a reconfigurable processor that can reconfigure the connection and setting of circuit cells inside the LSI may be used.
  • FIG. 39 shows a configuration ex800 in the present embodiment.
  • the drive frequency switching unit ex803 sets the drive frequency high when the video data is generated by the moving image encoding method or apparatus described in the above embodiments.
  • the decoding processing unit ex801 that executes the moving picture decoding method described in each of the above embodiments is instructed to decode the video data.
  • the video data is video data compliant with the conventional standard, compared to the case where the video data is generated by the moving picture encoding method or apparatus shown in the above embodiments, Set the drive frequency low. Then, it instructs the decoding processing unit ex802 compliant with the conventional standard to decode the video data.
  • the drive frequency switching unit ex803 includes the CPU ex502 and the drive frequency control unit ex512 of FIG.
  • the decoding processing unit ex801 that executes the video decoding method shown in each of the above embodiments and the decoding processing unit ex802 that complies with the conventional standard correspond to the signal processing unit ex507 in FIG.
  • the CPU ex502 identifies which standard the video data conforms to.
  • the drive frequency control unit ex512 sets the drive frequency.
  • the signal processing unit ex507 decodes the video data.
  • the identification of the video data for example, it is conceivable to use the identification information described in the third embodiment.
  • the identification information is not limited to that described in Embodiment 3, and any information that can identify which standard the video data conforms to may be used. For example, it is possible to identify which standard the video data conforms to based on an external signal that identifies whether the video data is used for a television or a disk. In some cases, identification may be performed based on such an external signal. In addition, the selection of the driving frequency in the CPU ex502 may be performed based on, for example, a lookup table in which video data standards and driving frequencies are associated with each other as shown in FIG. The look-up table is stored in the buffer ex508 or the internal memory of the LSI, and the CPU ex502 can select the drive frequency by referring to the look-up table.
  • FIG. 40 shows steps for executing the method of the present embodiment.
  • the signal processing unit ex507 acquires identification information from the multiplexed data.
  • the CPU ex502 identifies whether the video data is generated by the encoding method or apparatus described in each of the above embodiments based on the identification information.
  • the CPU ex502 sends a signal for setting the drive frequency high to the drive frequency control unit ex512. Then, the drive frequency control unit ex512 sets a high drive frequency.
  • the CPU ex502 drives the signal for setting the drive frequency low in step exS203. This is sent to the frequency control unit ex512. Then, in the drive frequency control unit ex512, the drive frequency is set to be lower than that in the case where the video data is generated by the encoding method or apparatus described in the above embodiments.
  • the power saving effect can be further enhanced by changing the voltage applied to the LSI ex500 or the device including the LSI ex500 in conjunction with the switching of the driving frequency. For example, when the drive frequency is set low, it is conceivable that the voltage applied to the LSI ex500 or the device including the LSI ex500 is set low as compared with the case where the drive frequency is set high.
  • the setting method of the driving frequency may be set to a high driving frequency when the processing amount at the time of decoding is large, and to a low driving frequency when the processing amount at the time of decoding is small. It is not limited to the method.
  • the amount of processing for decoding video data compliant with the MPEG4-AVC standard is larger than the amount of processing for decoding video data generated by the moving picture encoding method or apparatus described in the above embodiments. It is conceivable that the setting of the driving frequency is reversed to that in the case described above.
  • the method for setting the drive frequency is not limited to the configuration in which the drive frequency is lowered.
  • the voltage applied to the LSIex500 or the apparatus including the LSIex500 is set high.
  • the driving of the CPU ex502 is stopped.
  • the CPU ex502 is temporarily stopped because there is room in processing. Is also possible. Even when the identification information indicates that the video data is generated by the moving image encoding method or apparatus described in each of the above embodiments, if there is a margin for processing, the CPU ex502 is temporarily driven. It can also be stopped. In this case, it is conceivable to set the stop time shorter than in the case where the video data conforms to the conventional standards such as MPEG-2, MPEG4-AVC, and VC-1.
  • a plurality of video data that conforms to different standards may be input to the above-described devices and systems such as a television and a mobile phone.
  • the signal processing unit ex507 of the LSI ex500 needs to support a plurality of standards in order to be able to decode even when a plurality of video data complying with different standards is input.
  • the signal processing unit ex507 corresponding to each standard is used individually, there is a problem that the circuit scale of the LSI ex500 increases and the cost increases.
  • a decoding processing unit for executing the moving picture decoding method shown in each of the above embodiments and a decoding conforming to a standard such as MPEG-2, MPEG4-AVC, or VC-1
  • the processing unit is partly shared.
  • An example of this configuration is shown as ex900 in FIG. 42A.
  • the moving picture decoding method shown in each of the above embodiments and the moving picture decoding method compliant with the MPEG4-AVC standard are processed in processes such as entropy coding, inverse quantization, deblocking filter, and motion compensation. Some contents are common.
  • the decoding processing unit ex902 corresponding to the MPEG4-AVC standard is shared, and for the other processing content unique to the present invention not corresponding to the MPEG4-AVC standard, the dedicated decoding processing unit ex901 is used.
  • Configuration is conceivable.
  • a dedicated decoding processing unit ex901 is used for inverse quantization, and other entropy coding, deblocking filter, motion compensation, and the like are used.
  • the decoding processing unit for executing the moving picture decoding method described in each of the above embodiments is shared, and the processing content specific to the MPEG4-AVC standard As for, a configuration using a dedicated decoding processing unit may be used.
  • ex1000 in FIG. 42B shows another example in which processing is partially shared.
  • a dedicated decoding processing unit ex1001 corresponding to processing content unique to the present invention
  • a dedicated decoding processing unit ex1002 corresponding to processing content specific to other conventional standards
  • a moving picture decoding method of the present invention A common decoding processing unit ex1003 corresponding to processing contents common to other conventional video decoding methods is used.
  • the dedicated decoding processing units ex1001 and ex1002 are not necessarily specialized in the processing content specific to the present invention or other conventional standards, and may be capable of executing other general-purpose processing.
  • the configuration of the present embodiment can be implemented by LSI ex500.
  • the circuit scale of the LSI can be reduced and the cost can be reduced. It is possible to reduce.
  • the image encoding method and the image decoding method according to the present invention have the effect of being able to suppress a decrease in encoding efficiency and subjective image quality.

Abstract

 符号化効率および主観画質の低下を抑えることが可能な画像復号方法は、符号化画像に応じて逆直交変換の種類を切り替えることによって、第1および第2の逆直交変換の中から、当該符号化画像に適用される逆直交変換を選択し(S20)、前記符号化画像を逆量子化し(S21)、逆量子化された前記符号化画像に対して、前記切り替えによって選択された逆直交変換を行い(S22)、前記逆直交変換によって生成された差分画像と、前記符号化画像に対応する予測画像とを加算することによって復号画像を生成し(S23)、前記第1の逆直交変換を用いて生成される復号画像の主観画質は、前記第2の逆直交変換を用いて生成される復号画像の主観画質よりも高く、前記第2の逆直交変換は前記第1の逆直交変換よりも変換効率が高い。

Description

画像符号化方法および画像復号方法
 本発明は、画像符号化方法および画像復号方法に関し、特に、画像の空間領域から周波数領域への変換を伴う画像符号化方法、および画像の周波数領域から空間領域への変換を伴う画像復号方法に関する。
 音声データおよび画像データを圧縮するために、複数の音声符号化規格および動画像符号化規格が開発されている。動画像符号化規格の例として、H.26xと称されるITU-T規格やMPEG-xと称されるISO/IEC規格が挙げられる。最新の動画像符号化規格は、H.264/MPEG-4AVCと称される規格である(例えば、非特許文献1参照)。
 このような動画像符号化規格に準じた画像符号化装置は、画像データを低ビットレートで符号化するために直交変換部と量子化部とエントロピー符号化部とを備える。
 直交変換部は、画像データを空間領域から周波数領域へ変換することによって、相関を軽減した複数の周波数係数を出力する。量子化部は、直交変換部から出力された複数の周波数係数を量子化することによって、総データ量の少ない複数の量子化値を出力する。エントロピー符号化部は、量子化部から出力された複数の量子化値を、エントロピー符号化アルゴリズムを用いて符号化することによって、画像データを圧縮した符号化信号(符号化画像)を出力する。
 ここで、上述の直交変換部における変換処理について詳細に説明する。直交変換部は、変換対象の画像データとして、N点の要素を有するベクトル(N次元信号)である変換入力(Transform Input)ベクトルxを取得する。そして、直交変換部は、(式1)に示すように、その変換入力ベクトルxに対して変換Tを行うことによって、変換出力(Transform Output)ベクトルyを出力する。
Figure JPOXMLDOC01-appb-M000001
 変換Tが線形変換である場合には、(式2)に示すように、変換Tは、N×N行列の変換係数Aと変換入力ベクトルxとの行列積で表現される。したがって、変換出力ベクトルyの要素yiは、変換行列Aの各要素である変換係数aikを用いて、(式3)に示すように表現される。
Figure JPOXMLDOC01-appb-M000002
Figure JPOXMLDOC01-appb-M000003
 変換係数Aは、変換入力ベクトル(入力信号)の相関を軽減し、変換出力ベクトル(出力信号)において低次元側にエネルギーが集中するように設計される。この変換係数Aを設計(導出)する方法、またはその変換係数Aを用いた変換として、KLT(Karhunen Loeve Transform:カルーネンレーベ変換)が知られている。KLTは、入力信号の統計的性質に基づいて、最適な変換係数を導出する方法、あるいは、その導出した最適な変換係数を用いた変換方法である。
 KLTは、統計的性質に基づいて基底(変換係数Aの基底)が設計されている。また、このようなKLTは、入力信号の相関性を大幅に無くし、非常に効率良くエネルギーを低域(低次元)側へ集中させることができる変換として知られ、変換効率(変換性能、客観性能または客観画質)が高い。したがって、このKLTを用いることによって符号化効率を向上することができる。
ISO/IEC 14496-10「MPEG-4 Part 10 Advanced Video Coding」
 しかしながら、KLTを用いた変換では、主観画質が低下する場合があるという問題がある。特に、面内予測符号化において、比較的平坦な画像に対してKLTによる直交変換を行う場合には、DCT(Discrete Cosine Transform)による直交変換を行う場合と比べて主観画質が低下してしまう。
 そこで、本発明は、かかる問題に鑑みてなされたものであって、符号化効率および主観画質の低下を抑えることが可能な画像符号化方法および画像復号方法を提供することを目的とする。
 上記目的を達成するために、本発明に係る画像復号方法は、符号化画像を復号する画像復号方法であって、前記符号化画像に応じて逆直交変換の種類を切り替えることによって、第1および第2の逆直交変換の中から、当該符号化画像に適用される逆直交変換を選択し、前記符号化画像を逆量子化し、逆量子化された前記符号化画像に対して、前記切り替えによって選択された逆直交変換を行い、前記逆直交変換によって生成された差分画像と、前記符号化画像に対応する予測画像とを加算することによって復号画像を生成し、前記第1の逆直交変換を用いて生成される復号画像の主観画質は、前記第2の逆直交変換を用いて生成される復号画像の主観画質よりも高く、前記第2の逆直交変換は前記第1の逆直交変換よりも変換効率が高い。
 これにより、逆量子化された符号化画像に応じて、その符号化画像に適用される逆直交変換が、主観画質が高く変換効率が低い第1の逆直交変換と、主観画質が低く変換効率が高い第2の逆直交変換とで切り替えられる。例えば、第2の逆直交変換における主観画質の低下は、符号化画像(差分画像または予測画像)が平坦なほど大きくなる可能性がある。したがって、符号化画像が比較的平坦である場合には、第1の逆直交変換をその符号化画像に適用することによって、その符号化画像に対する復号画像の主観画質の低下を抑えることができる。また、符号化画像が比較的平坦でない画像である場合には、第1の逆直交変換ではなく第2の逆直交変換をその符号化画像に適用することによって、その符号化画像に対する逆直交変換の変換効率の低下を抑えることができる。その結果、変換効率(符号化効率)と主観画質とのバランスを適切に保つことができ、符号化効率および主観画質の低下を抑えることができる。なお、変換効率は、変換性能、客観性能または客観画質と本質的に同義として解釈される。
 また、前記第1の逆直交変換に用いられる変換行列のうちの、最も低い周波数成分の変換に用いられる基底の複数の要素の値は、前記第2の逆直交変換に用いられる変換行列のうちの、最も低い周波数成分の変換に用いられる基底の複数の要素の値よりも、均一に揃えられている。
 これにより、第1の逆直交変換の第1基底が第2の逆直交変換の第1基底よりもフラットであるため、特に、符号化画像が、面内予測符号化された平坦な画像である場合に、第1の逆直交変換を用いて生成される復号画像の主観画質を、第2の逆直交変換を用いて生成される復号画像の主観画質よりも適切に高くすることができる。
 また、前記切り替えでは、前記予測画像が複雑であるか否かを判別し、複雑であると判別された場合には、前記第2の逆直交変換を選択し、複雑でないと判別された場合には、前記第1の逆直交変換を選択する。
 これにより、予測画像を利用して、符号化画像に応じた逆直交変換の種類の切り替えが行われるため、切り替えのために符号化画像を解析する手間を省くことができる。
 また、前記予測画像が複雑か否かの判別では、前記予測画像の生成に利用された予測モードを取得し、前記予測モードが予め定められたモードである場合には、前記予測画像が複雑でないと判別し、前記予測モードが予め定められたモードでない場合には、前記予測画像が複雑であると判別する。
 これにより、予測モードに応じて予測画像が複雑か否かが判別されるため、予測画像を解析する必要が無く、予測画像が複雑か否かの判別を容易にすることができる。
 また、前記切り替えでは、前記符号化画像が複雑であるか否かを判別し、複雑であると判別された場合には、前記第2の逆直交変換を選択し、複雑でないと判別された場合には、前記第1の逆直交変換を選択する。
 これにより、符号化画像が複雑か否かに応じて、直接的に逆直交変換の種類が切り替えられるため、その切り替えを適切に行うことができる。
 また、前記符号化画像が複雑か否かの判別では、前記符号化画像に含まれる量子化値の総和を算出し、前記総和が予め定められた閾値よりも大きいか否かを判定し、前記総和が大きいと判定された場合には、前記符号化画像が複雑であると判別し、前記総和が大きくないと判定された場合には、前記符号化画像が複雑でないと判別する。
 これにより、量子化値の総和によって、符号化画像が複雑か否かが判別されるため、適切にその判別を行うことができる。
 また、前記符号化画像が複雑か否かの判別では、前記符号化画像に含まれる量子化値のうちの、最も低い周波数成分を除く残りの複数の周波数成分の量子化値が全て0であるか否かを判定し、前記複数の周波数成分の量子化値のうちの何れかの量子化値が0でないと判定された場合には、前記符号化画像が複雑であると判別し、前記複数の周波数成分の量子化値が全て0であると判定された場合には、前記符号化画像が複雑でないと判別する。
 これにより、DC成分以外の複数の周波数成分の量子化値が全て0であるか否かに応じて、符号化画像が複雑か否かが判別されるため、容易にその判別を行うことができる。
 また、前記第1の逆直交変換は、逆離散コサイン変換であり、前記第2の逆直交変換は、逆カルーネンレーベ変換である。
 これにより、符号化効率および主観画質の低下を適切に抑えることができる。
 また、前記第1および第2の逆直交変換は、逆カルーネンレーベ変換であって、前記第1の逆直交変換に用いられる変換行列のうちの、最も低い周波数成分の変換に用いられる基底の各要素は、同一の値に揃えられている。
 これにより、第1の逆直交変換が行われた場合でも、主観画質の低下を抑えながらも、変換効率の低下も抑えることができる。
 また、前記画像復号方法は、さらに、前記切り替えによって選択された逆直交変換が1段目の逆直交変換として行われた前記符号化画像に対して、2段目の逆直交変換を行い、前記1段目の逆直交変換を行う際には、前記逆量子化された前記符号化画像の一部である部分領域のみに対して、前記切り替えによって選択された逆直交変換を前記1段目の逆直交変換として行い、前記2段目の逆直交変換を行う際には、前記1段目の逆直交変換が行われた前記部分領域と、前記逆量子化された前記符号化画像に含まれる前記部分領域以外の領域とを含む画像に対して、前記2段目の逆直交変換を行い、前記復号画像を生成する際には、前記1段目の逆直交変換および2段目の逆直交変換によって生成される前記差分画像に前記予測画像を加算することによって前記復号画像を生成する。
 これにより、2段階で逆直交変換が行われる場合であっても、1段目の逆直交変換を第1の逆直交変換と第2の逆直交変換とで切り替えることができ、符号化効率および主観画質の低下を抑えることができる。
 また、前記切り替えによって、前記第1の逆直交変換が前記1段目の逆直交変換として選択された場合、前記1段目の逆直交変換を行う際には、前記逆量子化された前記符号化画像のうち、最も低い周波数成分を含まない領域を前記部分領域として選択し、前記部分領域に対して前記第1の逆直交変換を行い、前記切り替えによって、前記第2の逆直交変換が前記1段目の逆直交変換として選択された場合、前記1段目の逆直交変換を行う際には、前記逆量子化された前記符号化画像のうち、最も低い周波数成分を含む領域を前記部分領域として選択し、前記部分領域に対して前記第2の逆直交変換を行う。
 これにより、第1の逆直交変換が行われる部分領域にはDC成分が含まれておらず、第2の逆直交変換が行われる部分領域にはDC成分が含まれるため、第1の逆直交変換では主観画質の低下を適切に抑えることができる。
 また、前記第1の逆直交変換に用いられる変換行列の各対角要素の値は、前記第2の逆直交変換に用いられる変換行列の各対角要素の値よりも1に近い。
 これにより、第1の逆直交変換の効果を、第2の逆直交変換の効果よりも小さくすることができ、その結果、第1の逆直交変換では主観画質の低下を適切に抑えることができる。
 上記目的を達成するために、本発明に係る画像符号化方法は、画像を符号化する画像符号化方法であって、前記画像から、当該画像に対応する予測画像を減算することによって差分画像を生成し、前記画像に応じて直交変換の種類を切り替えることによって、第1および第2の直交変換の中から、当該差分画像に適用される直交変換を選択し、前記差分画像に対して、前記切り替えによって選択された直交変換を行い、前記直交変換によって生成された少なくとも1つの周波数係数からなる係数ブロックを量子化し、前記第1の直交変換および前記量子化によって生成される符号化画像に対応する復号画像の主観画質は、前記第2の直交変換および前記量子化によって生成される符号化画像に対応する復号画像の主観画質よりも高く、前記第2の直交変換は前記第1の直交変換よりも変換効率が高い。
 これにより、画像に応じて、その画像に適用される直交変換が、主観画質が高く変換効率が低い第1の直交変換と、主観画質が低く変換効率が高い第2の直交変換とで切り替えられる。例えば、第2の直交変換における主観画質の低下は、符号化対象の画像(差分画像または予測画像)が平坦なほど大きくなる可能性がある。したがって、符号化対象の画像が比較的平坦である場合には、第1の直交変換をその画像に適用することによって、その画像に対する復号画像の主観画質の低下を抑えることができる。また、符号化対象の画像が比較的平坦でない場合には、第1の直交変換ではなく第2の直交変換をその画像に適用することによって、その画像に対する直交変換の変換効率の低下を抑えることができる。その結果、変換効率(符号化効率)と主観画質とのバランスを適切に保つことができ、符号化効率および主観画質の低下を抑えることができる。
 なお、本発明は、このような画像符号化方法および画像復号方法として実現することができるだけでなく、それらの方法にしたがって動作する装置、集積回路、その方法にしたがった処理をコンピュータにさせるためのプログラム、および、そのプログラムを格納する記憶媒体としても実現することができる。また、上述の課題を解決するためのそれぞれの手段をどのように組み合わせてもよい。
 本発明の画像符号化方法および画像復号方法は、符号化効率および主観画質の低下を抑えることができる。
図1Aは、本発明の画像符号化装置のブロック図である。 図1Bは、本発明の画像符号化装置の処理動作を示すフローチャートである。 図2Aは、本発明の画像復号装置のブロック図である。 図2Bは、本発明の画像復号装置の処理動作を示すフローチャートである。 図3は、本発明の実施の形態1における画像符号化装置のブロック図である。 図4は、本発明の実施の形態1における変換量子化部の構成を示すブロック図である。 図5は、本発明の実施の形態1における変換量子化部の処理動作を示すフローチャートである。 図6は、本発明の実施の形態1における逆量子化逆変換部の構成を示すブロック図である。 図7は、本発明の実施の形態1における逆量子化逆変換部の処理動作を示すフローチャートである。 図8は、本発明の実施の形態1における画像復号装置のブロック図である。 図9は、本発明の実施の形態1の変形例2に係る変換量子化部の処理動作を示すフローチャートである。 図10は、本発明の実施の形態1の変形例2に係る逆量子化逆変換部の処理動作を示すフローチャートである。 図11は、本発明の実施の形態1の変形例3に係る変換量子化部の構成を示すブロック図である。 図12は、本発明の実施の形態1の変形例3に係る逆量子化逆変換部の構成を示すブロック図である。 図13は、本発明の実施の形態1の変形例3に係る変換量子化部の処理動作を示すフローチャートである。 図14は、本発明の実施の形態1の変形例3に係る逆量子化逆変換部の処理動作を示すフローチャートである。 図15は、本発明の実施の形態1の変形例3に係る第1のPlanar予測を説明するための図である。 図16Aは、本発明の実施の形態1の変形例3に係る第2のPlanar予測を説明するための図である。 図16Bは、本発明の実施の形態1の変形例3に係る第2のPlanar予測を説明するための図である。 図17は、本発明の実施の形態1の変形例4に係る変換量子化部の構成を示すブロック図である。 図18Aは、本発明の実施の形態1の変形例4に係る2段目の直交変換(第2の直交変換)が行われる周波数領域を示す図である。 図18Bは、本発明の実施の形態1の変形例4に係る2段目の直交変換(第1の直交変換)が行われる周波数領域を示す図である。 図18Cは、本発明の実施の形態1の変形例4に係る2段目の直交変換(第1の直交変換)が行われる周波数領域を示す図である。 図19は、本発明の実施の形態1の変形例4に係る逆量子化逆変換部の構成を示すブロック図である。 図20は、本発明の実施の形態1の変形例4に係る変換量子化部の処理動作を示すフローチャートである。 図21は、本発明の実施の形態1の変形例4に係る逆量子化逆変換部の処理動作を示すフローチャートである。 図22Aは、変換行列の対角要素を示す図である。 図22Bは、変換の効果がない変換行列の例を示す図である。 図23Aは、本発明の実施の形態1の変形例4に係る第2の直交変換に用いられる変換行列の一例を示す図である。 図23Bは、本発明の実施の形態1の変形例4に係る第1の直交変換に用いられる変換行列の一例を示す図である。 図23Cは、本発明の実施の形態1の変形例4に係る第1の直交変換に用いられる変換行列の他の例を示す図である。 図24は、コンテンツ配信サービスを実現するコンテンツ供給システムの全体構成図である。 図25は、デジタル放送用システムの全体構成図である。 図26は、テレビの構成例を示すブロック図である。 図27は、光ディスクである記録メディアに情報の読み書きを行う情報再生/記録部の構成例を示すブロック図である。 図28は、光ディスクである記録メディアの構造例を示す図である。 図29Aは、携帯電話の一例を示す図である。 図29Bは、携帯電話の構成例を示すブロック図である。 図30は、多重化データの構成を示す図である。 図31は、各ストリームが多重化データにおいてどのように多重化されているかを模式的に示す図である。 図32は、PESパケット列に、ビデオストリームがどのように格納されるかを更に詳しく示した図である。 図33は、多重化データにおけるTSパケットとソースパケットの構造を示す図である。 図34は、PMTのデータ構成を示す図である。 図35は、多重化データ情報の内部構成を示す図である。 図36は、ストリーム属性情報の内部構成を示す図である。 図37は、映像データを識別するステップを示す図である。 図38は、各実施の形態の動画像符号化方法および動画像復号化方法を実現する集積回路の構成例を示すブロック図である。 図39は、駆動周波数を切り替える構成を示す図である。 図40は、映像データを識別し、駆動周波数を切り替えるステップを示す図である。 図41は、映像データの規格と駆動周波数を対応づけたルックアップテーブルの一例を示す図である。 図42Aは、信号処理部のモジュールを共有化する構成の一例を示す図である。 図42Bは、信号処理部のモジュールを共有化する構成の他の一例を示す図である。
 以下、本発明について図面を参照しながら説明する。
 図1Aは、本発明の画像符号化装置のブロック図である。
 本発明の画像符号化装置100は、画像を符号化する装置であって、減算部101、直交変換切替部102、直交変換部103、および量子化部104を備える。減算部101は、画像から、その画像に対応する予測画像を減算することによって差分画像を生成する。直交変換切替部102は、その画像に応じて直交変換の種類を切り替えることによって、第1および第2の直交変換の中から、その差分画像に適用される直交変換を選択する。直交変換部103は、その差分画像に対して、直交変換切替部102によって選択された直交変換を行う。量子化部104は、その直交変換によって生成された少なくとも1つの周波数係数からなる係数ブロックを量子化する。
 図1Bは、本発明の画像符号化装置100の処理動作を示すフローチャートである。
 画像符号化装置100は、画像から、その画像に対応する予測画像を減算することによって差分画像を生成する(ステップS10)。次に、画像符号化装置100は、その画像に応じて直交変換の種類を切り替えることによって、第1および第2の直交変換の中から、当該差分画像に適用される直交変換を選択する(ステップS11)。次に、画像符号化装置100は、その差分画像に対して、ステップS11の切り替えによって選択された直交変換を行う(ステップS12)。そして、画像符号化装置100は、ステップS12の直交変換によって生成された少なくとも1つの周波数係数からなる係数ブロックを量子化する(ステップS13)。
 ここで、上述の第1の直交変換および量子化によって生成される符号化画像に対応する復号画像の主観画質は、第2の直交変換および量子化によって生成される符号化画像に対応する復号画像の主観画質よりも高い。例えば、第2の直交変換における主観画質の低下は、符号化対象の画像(差分画像または予測画像)が平坦なほど大きくなる可能性がある。また、第2の直交変換は第1の直交変換よりも変換効率(変換性能または客観画質)が高い。具体的には、第1の直交変換は、例えばDCT(離散コサイン変換)であり、第2の直交変換は、例えばKLT(カルーネンレーベ変換)である。
 これにより、符号化対象の画像が比較的平坦である場合には、第1の直交変換をその画像に適用することによって、その画像に対する復号画像の主観画質の低下を抑えることができる。また、符号化対象の画像が比較的平坦でない場合には、第1の直交変換ではなく第2の直交変換をその画像に適用することによって、その画像に対する直交変換の変換効率の低下を抑えることができる。その結果、変換効率(符号化効率)と主観画質とのバランスを適切に保つことができ、符号化効率および主観画質の低下を抑えることができる。
 図2Aは、本発明の画像復号装置のブロック図である。
 本発明の画像復号装置200は、符号化画像を復号する装置であって、逆直交変換切替部201、逆量子化部202、逆直交変換部203、および加算部204を備える。逆直交変換切替部201は、符号化画像に応じて逆直交変換の種類を切り替えることによって、第1および第2の逆直交変換の中から、その符号化画像に適用される逆直交変換を選択する。逆量子化部202は、その符号化画像を逆量子化する。逆直交変換部203は、逆量子化された符号化画像に対して、逆直交変換切替部201の切り替えによって選択された逆直交変換を行う。加算部204は、その逆直交変換によって生成された差分画像と、その符号化画像に対応する予測画像とを加算することによって復号画像を生成する。
 図2Bは、本発明の画像復号装置200の処理動作を示すフローチャートである。
 画像復号装置200は、符号化画像に応じて逆直交変換の種類を切り替えることによって、第1および第2の逆直交変換の中から、その符号化画像に適用される逆直交変換を選択する(ステップS20)。次に、画像復号装置200は、その符号化画像を逆量子化する(ステップS21)。次に、画像復号装置200は、逆量子化された符号化画像に対して、ステップS20の切り替えによって選択された逆直交変換を行う(ステップS22)。そして、画像復号装置200は、ステップS22の逆直交変換によって生成された差分画像と、符号化画像に対応する予測画像とを加算することによって復号画像を生成する(ステップS23)。
 ここで、上述の第1の逆直交変換を用いて生成される復号画像の主観画質は、第2の逆直交変換を用いて生成される復号画像の主観画質よりも高い。例えば、第2の逆直交変換における主観画質の低下は、符号化画像(差分画像または予測画像)が平坦なほど大きくなる可能性がある。また、第2の逆直交変換は第1の逆直交変換よりも変換効率(変換性能または客観画質)が高い。具体的には、第1の直交変換は、例えば逆DCT(逆離散コサイン変換)であり、第2の直交変換は、例えば逆KLT(逆カルーネンレーベ変換)である。
 これにより、符号化画像が比較的平坦である場合には、第1の逆直交変換をその符号化画像に適用することによって、その符号化画像に対する復号画像の主観画質の低下を抑えることができる。また、符号化画像が比較的平坦でない画像である場合には、第1の逆直交変換ではなく第2の逆直交変換をその符号化画像に適用することによって、その符号化画像に対する逆直交変換の変換効率の低下を抑えることができる。その結果、変換効率(符号化効率)と主観画質とのバランスを適切に保つことができ、符号化効率および主観画質の低下を抑えることができる。
 このような本発明について、以下、実施の形態を用いて詳細に説明する。
 (実施の形態1)
 図3は、本発明の実施の形態1における画像符号化装置のブロック図である。
 本実施の形態における画像符号化装置1000は、動画像を符号化することによって符号化ストリームを生成する装置であって、減算器1101と、変換量子化部1102と、エントロピー符号化部1104と、逆量子化逆変換部1105と、加算器1107と、デブロッキングフィルタ1108と、メモリ1109と、面内予測部1110と、動き補償部1111と、動き検出部1112と、スイッチ1113とを備える。
 なお、本実施の形態では、画像符号化装置1000が上述の画像符号化装置100に相当する。そして、本実施の形態における画像符号化装置1000の減算器1101が、画像符号化装置100の減算部101に相当し、本実施の形態における画像符号化装置1000の変換量子化部1102が、画像符号化装置100の直交変換切替部102、直交変換部103および量子化部104を含むグループに相当する。
 減算器1101は、動画像を取得するとともに、スイッチ1113から予測画像を取得する。そして、減算器1101は、その動画像に含まれる符号化対象ブロックから予測画像を減算することによって差分画像を生成する。
 変換量子化部1102は、減算器1101によって生成された差分画像に対して直交変換(周波数変換)を行うことによって、その差分画像を複数の周波数係数からなる係数ブロックに変換する。さらに、変換量子化部1102は、その係数ブロックに含まれる各周波数係数を量子化することによって、量子化された係数ブロック(量子化係数ブロック)を生成する。なお、この量子化係数ブロックは符号化画像に相当する。
 逆量子化逆変換部1105は、変換量子化部1102による量子化によって生成された量子化係数ブロックを逆量子化する。さらに、逆量子化逆変換部1105は、その逆量子化された量子化係数ブロックに含まれる各周波数係数に対して逆直交変換(逆周波数変換)を行うことによって、復号差分画像を生成する。
 加算器1107は、スイッチ1113から予測画像を取得し、その予測画像と、逆量子化逆変換部1105によって生成された復号差分画像とを加算することによって局所復号画像(再構成画像)を生成する。
 デブロッキングフィルタ1108は、加算器1107によって生成された局所復号画像のブロック歪みを除去し、その局所復号画像をメモリ1109に格納する。メモリ1109は、動き補償の際の参照画像として局所復号画像を格納するためのメモリである。
 面内予測部1110は、加算器1107によって生成された局所復号画像を用いて、符号化対象ブロックに対して面内予測を行うことによって予測画像(イントラ予測画像)を生成する。
 動き検出部1112は、動画像に含まれる符号化対象ブロックに対して動きベクトルを検出し、その検出された動きベクトルを動き補償部1111とエントロピー符号化部1104とに出力する。
 動き補償部1111は、メモリ1109に格納されている画像を参照画像として参照するとともに、動き検出部1112によって検出された動きベクトルを用いることによって、符号化対象ブロックに対して動き補償を行う。動き補償部1111は、このような動き補償を行うことで、符号化対象ブロックの予測画像(インター予測画像)を生成する。
 スイッチ1113は、符号化対象ブロックが面内予測符号化される場合には、面内予測部1110によって生成された予測画像(イントラ予測画像)を減算器1101及び加算器1107に出力する。一方、スイッチ1113は、符号化対象ブロックが画面間予測符号化される場合には、動き補償部1111によって生成された予測画像(インター予測画像)を減算器1101及び加算器1107に出力する。
 エントロピー符号化部1104は、変換量子化部1102によって生成された量子化係数ブロックと、動き検出部1112によって検出された動きベクトルとをエントロピー符号化(可変長符号化)することによって符号化ストリームを生成する。
 図4は、変換量子化部1102の構成を示すブロック図である。
 変換量子化部1102は、バッファBuと、第1の直交変換部1201と、第2の直交変換部1202と、第1の量子化部1211と、第2の量子化部1212と、切替制御部1203と、第1および第2の切替スイッチ1204,1205とを備える。
 なお、本実施の形態における切替制御部1203と第1および第2の切替スイッチ1204,1205とからなるグループが、上述の図1Aに示す画像符号化装置100の直交変換切替部102に相当する。さらに、本実施の形態における第1および第2の直交変換部1201,1202からなるグループが、図1Aに示す画像符号化装置100の直交変換部103に相当し、本実施の形態における第1および第2の量子化部1211,1212からなるグループが、図1Aに示す画像符号化装置100の量子化部104に相当する。
 バッファBuは、減算器1101から出力される差分画像を取得して一時的に保持する。
 第1の直交変換部1201は、減算器1101によって生成された差分画像である入力信号をバッファBuから取得し、その入力信号に対して第1の直交変換を行い、その第1の直交変換によって生成される係数ブロックを出力する。第1の量子化部1211は、その係数ブロックに含まれる各周波数係数を量子化することによって、量子化された係数ブロック(量子化係数ブロック)を生成する。
 第2の直交変換部1202は、減算器1101によって生成された差分画像である入力信号をバッファBuから取得し、その入力信号に対して第2の直交変換を行い、その第2の直交変換によって生成される係数ブロックを出力する。第2の量子化部1212は、その係数ブロックに含まれる各周波数係数を量子化することによって、量子化された係数ブロック(量子化係数ブロック)を生成する。
 ここで、上述のように、第1の直交変換は、第2の直交変換よりも、変換効率(変換性能または客観性能)が低く、符号化画像に対応する復号画像の主観画質(特に平坦な画像に対する主観画質)が高い変換である。逆に言えば、第2の直交変換は、第1の直交変換よりも、変換効率が高く、符号化画像に対応する復号画像の主観画質(特に平坦な画像に対する主観画質)が低い。主観画質は、直交変換に用いられる変換行列の第1基底に含まれる複数の要素の値のばらつきが小さいほど高く、ばらつきが大きいほど低い。このような主観画質の傾向は、符号化対象ブロックが平坦な画像であって面内符号化される場合に顕著であって、言い換えれば、量子化係数ブロック内の量子化値の総和が小さいほど顕著となる。第1基底は、最も低い周波数係数(DC成分)を導出するために用いられる基底である。つまり、第1の逆直交変換に用いられる変換行列のうちの、最も低い周波数成分の変換に用いられる基底の複数の要素の値は、第2の逆直交変換に用いられる変換行列のうちの、最も低い周波数成分の変換に用いられる基底の複数の要素の値よりも、均一に揃えられている。なお、本実施の形態では、第1の直交変換はDCT(Discrete Cosine Transform)であり、第2の直交変換はKLT(Karhunen Loeve Transform:カルーネンレーベ変換)である。また、KLTは統計的に最適化された直交変換である。
 第1の量子化と第2の量子化とでは、第2の量子化の方が第1の量子化よりも画像(特に、第1基底などに対応する低域の画像)が高精度に符号化されるように、量子化ステップが異なる。例えば、第2の量子化の方が第1の量子化よりも、量子化ステップが小さくなるように調整されている。または、量子化マトリックスや量子化オフセットなどのパラメータが調整されていてもよい。なお、第1の量子化と第2の量子化は同じ量子化であってもよい。この場合には、量子化の処理を簡略化することができる。
 第1の切替スイッチ1204は、減算器1101によって生成された差分画像をバッファBuから取得し、切替制御部1203からの指示に応じて、その差分画像の出力先を第1の直交変換部1201と第2の直交変換部1202とで切り替える。
 第2の切替スイッチ1205は、量子化係数ブロックの取得先を第1の量子化部1211と第2の量子化部1212とで切り替え、その取得先から量子化係数ブロックを取得して逆量子化逆変換部1105およびエントロピー符号化部1104に出力する。
 切替制御部1203は、第1の量子化部1211から出力される量子化係数ブロックを取得し、その量子化係数ブロックに基づいて第1および第2の切替スイッチ1204,1205を制御する。
 具体的には、差分画像に対して直交変換および量子化が行われる際には、切替制御部1203は、まず、第1の切替スイッチ1204からの差分画像の出力先が第1の直交変換部1201になるように第1の切替スイッチ1204を制御する。その結果、第1の切替スイッチ1204は、差分画像を第1の直交変換部1201に出力する。これにより、第1の直交変換および第1の量子化が選択され、差分画像に対して第1の直交変換および第1の量子化が行われる。
 次に、切替制御部1203は、第1の直交変換および第1の量子化が行われることによって生成された量子化係数ブロック内に含まれる、量子化後の周波数係数(量子化値)の総和を算出する。切替制御部1203は、その総和が予め定められた閾値よりも大きい場合には、第1の切替スイッチ1204からの差分画像の出力先が第2の直交変換部1202になるように第1の切替スイッチ1204を制御する。その結果、第1の切替スイッチ1204は、差分画像の出力先を第1の直交変換部1201から第2の直交変換部1202に切り替え、その差分画像を第2の直交変換部1202に出力する。これにより、第2の直交変換および第2の量子化が選択され、差分画像に対して第2の直交変換および第2の量子化が行われる。つまり、差分画像に対する直交変換および量子化がやり直される。
 さらに、切替制御部1203は、差分画像に対する直交変換および量子化がやり直される場合には、量子化係数ブロックの取得先が第2の量子化部1212になるように第2の切替スイッチ1205を制御する。その結果、第2の切替スイッチ1205は、第2の量子化部1212から量子化係数ブロックを取得し、その量子化係数ブロックを逆量子化逆変換部1105およびエントロピー符号化部1104に出力する。
 一方、切替制御部1203は、量子化値の総和が閾値以下の場合には、量子化係数ブロックの取得先が第1の量子化部1211になるように第2の切替スイッチ1205を制御する。その結果、第2の切替スイッチ1205は、第1の量子化部1211から量子化係数ブロックを取得し、その量子化係数ブロックを逆量子化逆変換部1105およびエントロピー符号化部1104に出力する。
 図5は、変換量子化部1102の処理動作を示すフローチャートである。
 まず、第1の直交変換部1201は、差分画像に対して第1の直交変換を行うことによって係数ブロックを生成する(ステップS100)。次に、第1の量子化部1211は、その係数ブロックに対して第1の量子化を行う(ステップS102)。切替制御部1203は、その第1の量子化によって生成された量子化係数ブロック内の量子化値の総和を算出し(ステップS103)、その総和が閾値よりも大きいか否かを判定する(ステップS104)。
 ここで、切替制御部1203によって、総和が閾値よりも大きいと判定されると(ステップS104のYes)、第2の直交変換部1202は、第1の直交変換の対象とされた差分画像をバッファBuから第1の切替スイッチ1204を介して取得し、その差分画像に対して第2の直交変換を行う(ステップS106)。次に、第2の量子化部1212は、その第2の直交変換によって生成された係数ブロックに対して第2の量子化を行う(ステップS108)。その結果、第2の量子化によって生成された量子化係数ブロックが第2の切替スイッチ1205から出力される。
 一方、切替制御部1203によって、総和が閾値以下であると判定されると(ステップS104のNo)、ステップS102で第1の量子化によって生成された量子化係数ブロックが第2の切替スイッチ1205から出力される。
 なお、本実施の形態では、切替制御部1203は、上述のように量子化値の総和が閾値よりも大きいか否かを判定することによって、符号化対象の画像が複雑か否か、つまり平坦であるか否かを判別している。具体的には、切替制御部1203は、総和が閾値よりも大きいと判定する場合には、符号化対象の画像が複雑である、つまり平坦でないと判別し、総和が閾値以下であると判定する場合には、符号化対象の画像が複雑でない、つまり平坦であると判別する。
 図6は、逆量子化逆変換部1105の構成を示すブロック図である。
 逆量子化逆変換部1105は、第1の逆量子化部1301と、第2の逆量子化部1302と、第1の逆直交変換部1311と、第2の逆直交変換部1312と、切替制御部1303と、第3および第4の切替スイッチ1304,1305とを備える。
 第1の逆量子化部1301は、量子化係数ブロックに対して第1の逆量子化を行う。第1の逆直交変換部1311は、その第1の逆量子化によって生成される係数ブロックに含まれる各周波数係数に対して第1の逆直交変換(逆周波数変換)を行うことによって、復号差分画像を生成する。
 第2の逆量子化部1302は、量子化係数ブロックに対して第2の逆量子化を行う。第2の逆直交変換部1312は、その第2の逆量子化によって生成される係数ブロックに含まれる各周波数係数に対して第2の逆直交変換(逆周波数変換)を行うことによって、復号差分画像を生成する。なお、第1および第2の逆量子化は、それぞれ上述の第1および第2の量子化に対応し、第1および第2の逆直交変換は、それぞれ上述の第1および第2の直交変換に対応している。つまり、本実施の形態では、第1の逆直交変換は逆DCTであり、第2の逆直交変換は逆KLTである。
 第3の切替スイッチ1304は、変換量子化部1102から量子化係数ブロックを切替制御部1303を介して取得し、切替制御部1303からの指示に応じて、その量子化係数ブロックの出力先を第1の逆量子化部1301と第2の逆量子化部1302とで切り替える。
 第4の切替スイッチ1305は、復号差分画像の取得先を第1の逆直交変換部1311と第2の逆直交変換部1312とで切り替え、その取得先から復号差分画像を取得して加算器1107に出力する。
 切替制御部1303は、変換量子化部1102から量子化係数ブロックを取得し、その量子化係数ブロックに基づいて第3および第4の切替スイッチ1304,1305を制御する。また、切替制御部1303は、その取得した量子化係数ブロックを第3の切替スイッチ1304に出力する。
 具体的には、切替制御部1303は、変換量子化部1102から取得された量子化係数ブロック内に含まれる、量子化後の周波数係数(量子化値)の総和を算出する。そして、切替制御部1303は、その総和が予め定められた閾値以下の場合には、第3の切替スイッチ1304からの量子化係数ブロックの出力先が第1の逆量子化部1301になるように第3の切替スイッチ1304を制御する。さらに、切替制御部1303は、復号差分画像の取得先が第1の逆直交変換部1311になるように第4の切替スイッチ1305を制御する。その結果、第3の切替スイッチ1304は、変換量子化部1102から切替制御部1303を介して取得された量子化係数ブロックを第1の逆量子化部1301に出力する。さらに、第4の切替スイッチ1305は、第1の逆直交変換部1311から復号差分画像を取得して加算器1107に出力する。つまり、量子化値の総和が閾値以下の場合には、第1の逆量子化および第1の逆直交変換が選択され、量子化係数ブロックに対して第1の逆量子化および第1の逆直交変換が行われる。
 一方、切替制御部1303は、その総和が閾値よりも大きい場合には、第3の切替スイッチ1304からの量子化係数ブロックの出力先が第2の逆量子化部1302になるように第3の切替スイッチ1304を制御する。さらに、切替制御部1303は、復号差分画像の取得先が第2の逆直交変換部1312になるように第4の切替スイッチ1305を制御する。その結果、第3の切替スイッチ1304は、変換量子化部1102から切替制御部1303を介して取得された量子化係数ブロックを第2の逆量子化部1302に出力する。さらに、第4の切替スイッチ1305は、第2の逆直交変換部1312から復号差分画像を取得して加算器1107に出力する。つまり、量子化値の総和が閾値よりも大きい場合には、第2の逆量子化および第2の逆直交変換が選択され、量子化係数ブロックに対して第2の逆量子化および第2の逆直交変換が行われる。
 図7は、逆量子化逆変換部1105の処理動作を示すフローチャートである。
 まず、切替制御部1303は、量子化係数ブロックを変換量子化部1102から取得し、その量子化係数ブロックに含まれている量子化値の総和を算出する(ステップS120)。次に、切替制御部1303は、その総和が閾値よりも大きいか否かを判定する(ステップS122)。
 ここで、切替制御部1303によって、総和が閾値よりも大きいと判定されると(ステップS122のYes)、第2の逆量子化部1302は、切替制御部1303から第3の切替スイッチ1304を介してその量子化係数ブロックを取得し、その量子化係数ブロックに対して第2の逆量子化を行う(ステップS124)。次に、第2の逆直交変換部1312は、第2の逆量子化によって生成された係数ブロックに対して第2の逆直交変換を行う(ステップS126)。その結果、第2の逆直交変換によって生成された復号差分画像が第4の切替スイッチ1305から出力される。
 一方、切替制御部1303によって、総和が閾値以下であると判定されると(ステップS122のNo)、第1の逆量子化部1301は、切替制御部1303から第3の切替スイッチ1304を介してその量子化係数ブロックを取得し、その量子化係数ブロックに対して第1の逆量子化を行う(ステップS128)。次に、第1の逆直交変換部1311は、第1の逆量子化によって生成された係数ブロックに対して第1の逆直交変換を行う(ステップS130)。その結果、第1の逆直交変換によって生成された復号差分画像が第4の切替スイッチ1305から出力される。
 なお、本実施の形態では、切替制御部1303は、上述のように量子化値の総和が閾値よりも大きいか否かを判定することによって、符号化画像(量子化係数ブロック)が複雑か否か、つまり平坦であるか否かを判別している。具体的には、切替制御部1303は、総和が閾値よりも大きいと判定する場合には、符号化画像が複雑である、つまり平坦でないと判別し、総和が閾値以下であると判定する場合には、符号化画像が複雑でない、つまり平坦であると判別する。
 図8は、本発明の実施の形態1における画像復号装置のブロック図である。
 本実施の形態における画像復号装置2000は、画像符号化装置1000によって生成された符号化ストリームを復号する装置であって、エントロピー復号部2101と、逆量子化逆変換部2102と、加算器2104と、デブロッキングフィルタ2105と、メモリ2106と、面内予測部2107と、動き補償部2108と、スイッチ2109とを備える。
 なお、本実施の形態では、画像復号装置2000が上述の画像復号装置200に相当する。そして、本実施の形態における画像復号装置2000の加算器2104が、画像復号装置200の加算部204に相当し、本実施の形態における画像復号装置2000の逆量子化逆変換部2102が、画像復号装置200の逆直交変換切替部201、逆量子化部202および逆直交変換部203を含むグループに相当する。
 エントロピー復号部2101は、符号化ストリームを取得し、その符号化ストリームをエントロピー復号(可変長復号)する。
 逆量子化逆変換部2102は、エントロピー復号部2101によるエントロピー復号によって生成された量子化係数ブロック(符号化画像)を逆量子化する。さらに、逆量子化逆変換部2102は、その逆量子化によって生成される係数ブロックに含まれる各周波数係数に対して逆直交変換(逆周波数変換)を行うことによって、復号差分画像を生成する。
 この逆量子化逆変換部2102は、画像符号化装置1000の逆量子化逆変換部1105と同一の構成を有し、同一の処理を行う。つまり、逆量子化逆変換部2102は、図6に示す逆量子化逆変換部1105の全ての構成要素を備え、図7に示すステップS120~S130の処理を実行する。なお、逆量子化逆変換部2102と逆量子化逆変換部1105とでは、処理対象のデータの取得先と、処理されたデータの出力先とが異なっている。つまり、逆量子化逆変換部2102は、変換量子化部1102の代わりにエントロピー復号部2101から量子化係数ブロックを取得し、加算器1107の代わりに加算器2104に復号差分画像を出力する。
 また、本実施の形態では、逆量子化逆変換部2102における切替制御部1303と第3および第4の切替スイッチ1304,1305とからなるグループが、上述の図2Aに示す画像復号装置200の逆直交変換切替部201に相当する。さらに、逆量子化逆変換部2102における第1および第2の逆直交変換部1311,1312からなるグループが、図2Aに示す画像復号装置200の逆直交変換部203に相当し、逆量子化逆変換部2102における第1および第2の逆量子化部1301,1302からなるグループが、図2Aに示す画像復号装置200の逆量子化部202に相当する。
 加算器2104は、スイッチ2109から予測画像を取得し、その予測画像と、逆量子化逆変換部2102によって生成された復号差分画像とを加算することによって復号画像(再構成画像)を生成する。
 デブロッキングフィルタ2105は、加算器2104によって生成された復号画像のブロック歪みを除去し、その復号画像をメモリ2106に格納するとともに、その復号画像を出力する。
 面内予測部2107は、加算器2104によって生成された復号画像を用いて復号対象ブロックに対して面内予測を行うことによって予測画像(イントラ予測画像)を生成する。
 動き補償部2108は、メモリ2106に格納されている画像を参照画像として参照するとともに、エントロピー復号部2101によるエントロピー復号によって生成された動きベクトルを用いることによって、復号対象ブロックに対して動き補償を行う。動き補償部2108は、このような動き補償によって復号対象ブロックに対する予測画像(インター予測画像)を生成する。
 スイッチ2109は、復号対象ブロックが面内予測符号化されている場合には、面内予測部2107によって生成された予測画像(イントラ予測画像)を加算器2104に出力する。一方、スイッチ2109は、復号対象ブロックが画面間予測符号化されている場合には、動き補償部2108によって生成された予測画像(インター予測画像)を加算器2104に出力する。
 このように、本実施の形態における画像符号化装置1000では、符号化対象ブロックが比較的平坦である場合には、DCTをその符号化対象ブロックに適用することによって、その符号化対象ブロックに対する復号画像の主観画質の低下を抑えることができる。また、符号化対象ブロックが比較的平坦でない場合には、DCTではなくKLTをその画像に適用することによって、その符号化対象ブロックに対する直交変換の変換効率(変換性能または客観画質)の低下を抑えることができる。その結果、変換効率と主観画質とのバランスを適切に保つことができ、符号化効率および主観画質の低下を抑えることができる。
 また、本実施の形態における画像復号装置2000では、符号化画像(量子化係数ブロック)が比較的平坦である場合には、逆DCTをその符号化画像に適用することによって、その符号化画像に対する復号画像の主観画質の低下を抑えることができる。また、符号化画像が比較的平坦でない画像である場合には、逆DCTではなく逆KLTをその符号化画像に適用することによって、その符号化画像に対する逆直交変換の変換効率(変換性能または客観画質)の低下を抑えることができる。その結果、変換効率と主観画質とのバランスを適切に保つことができ、符号化効率および主観画質の低下を抑えることができる。
 つまり、本実施の形態では、主観画質に顕著に悪影響を与える状況を、量子化係数の総和と閾値との比較によって検知し、その状況の場合には、主観画質に与える影響が少ない第1の直交変換および第1の逆直交変換が処理対象画像に適用され、その他の場合には、変換効率が高い第2の直交変換および第2の逆直交変換が処理対象画像に適用される。したがって、本実施の形態では、主観画質に顕著に悪影響を与える状況に限定して第1の直交変換および第1の逆直交変換が適用されるため、変換効率を最大限に維持しつつ、主観画質も高めることができる。
 なお、画像符号化装置1000において、逆量子化逆変換部1105は、変換量子化部1102によって選択された直交変換および量子化に対応する、逆直交変換および逆量子化を選択する。例えば、変換量子化部1102によってDCTが選択された場合には、逆量子化逆変換部1105は逆DCTを選択する。同様に、画像復号装置2000における逆量子化逆変換部2102も、画像符号化装置1000における変換量子化部1102によって選択された直交変換および量子化に対応する、逆直交変換および逆量子化を選択する。
 このように、画像符号化装置1000と画像復号装置200との間では、つまり、変換量子化部1102と逆量子化逆変換部1105,2102との間では、互いに対応する直交変換(および量子化)と逆直交変換(および逆量子化)とが選択されて実行される。
 例えば、変換量子化部1102が直交変換および量子化をやり直した結果、量子化値の総和が変化し、量子化値の総和が閾値以下になってしまう場合には、変換量子化部1102は、その量子化値の総和が再び閾値よりも大きくなるように、量子化係数ブロックの量子化値を調整する。具体的には、変換量子化部1102は、0または1の量子化値に1を加算し、その量子化値を1または2に変更し、量子化値の総和が閾値よりも大きくなるまで、そのような変更を繰り返し実行する。これにより、変換量子化部1102による量子化値の総和の判定結果と、逆量子化逆変換部1105,2102による量子化値の総和の判定結果とが区違ってしまうことを防ぐことができる。その結果、変換量子化部1102と逆量子化逆変換部1105,2102との間で、互いに対応する直交変換(および量子化)と逆直交変換(および逆量子化)とが選択されて実行される。
 ここで、第2の直交変換の具体例を説明する。第2の直行変換は、DCT以外の任意の変換であって、信号源の統計的な性質に基づいて最適に設計された変換行列を用いる行列演算であるKLT、または、特定の大きさと周期のsin関数で変換行列の要素が定義される変換である。sin関数で定義される変換、つまりsin変換は、例えば、DST-Type2、DST-Type3、DST-Type4、DST-Type4の偶数要素の符号反転、およびDDSTのうちの何れかである。これらのKLT及びsin変換は、第1基底がフラットではないため主観画質へ悪い影響を与える可能性があるが、面内予測符号化の予測誤差信号(差分画像)などに対しては高い変換性能(客観性能)を有する。
 DST-c2は(式4)あるいは(式5)によって表現される。
Figure JPOXMLDOC01-appb-M000004
Figure JPOXMLDOC01-appb-M000005
 ただし、(式4)および(式5)において、i=N-1のとき、sin関数の前にある乗数(2/N)1/2は、(1/N)1/2となる。(式4)と(式5)は同じ意味であり、(式4)では、(式5)の分母と分子が2倍にされている。
 DST-Type3は(式6)あるいは(式7)によって表現される。
Figure JPOXMLDOC01-appb-M000006
Figure JPOXMLDOC01-appb-M000007
 ただし、(式6)および(式7)において、i=N-1のとき、sin関数の前にある乗数(2/N)1/2は、(1/N)1/2となる。(式6)と(式7)は同じ意味であり、(式7)では、(式6)の分母と分子が2倍にされている。
 DST-Type4は(式8)あるいは(式9)によって表現される。
Figure JPOXMLDOC01-appb-M000008
Figure JPOXMLDOC01-appb-M000009
 なお、(式8)と(式9)は同じ意味であり、(式9)では、(式8)の分母と分子が4倍にされている。
 また、(式4)から(式9)では、添え字i,jは0からN-1までの範囲の値である。Nは直交変換の点数である。また、添え字i,jが1からNまでの範囲の値である場合は、i+1をiへ、j+1をjへ置換することで、(式4)から(式9)と同等の数式が得られる。例えば、(式10)は、(式5)と同じ意味であり、DST-Type2を表現している。
Figure JPOXMLDOC01-appb-M000010
 上述と同様に、(式11)は、(式9)と同じ意味であり、DST-Type4を表現している。
Figure JPOXMLDOC01-appb-M000011
 DST-Type4の偶数要素の符号反転は、(式12)で表現される。
Figure JPOXMLDOC01-appb-M000012
 DDSTは(式13)によって表現される。
Figure JPOXMLDOC01-appb-M000013
 このDDSTは、面内予測向けに最適とされている変換であり、非特許文献(A. Saxena and F. Fernandes, “Jointly optimal intra prediction and adaptive primary transform,” ITU-T JCTVC-C108, Guangzhou, China, October 2010)にその詳細が記述されている。
 (変形例1)
 上記実施の形態では、第1の直交変換にDCTを用いたが、本変形例では、このDCTの代わりに制限付きのKLTを用いる。また、本変形例では、第1の逆直交変換に制限付きの逆KLTを用いる。この制限付きのKLTおよび逆KLTは、主観画質の低下が抑えられるように設計されている。
 以下、直交変換および量子化について説明した後に、制限付きのKLTおよび逆KLTについて説明する。
 差分画像である入力信号は、(式14)に示すようにベクトルxとして表される。なお、(式14)においてtは転置(行を列に転置)を示す。
Figure JPOXMLDOC01-appb-M000014
 入力信号xは、(式15)に示すように、直交変換Tによって、係数ブロックである出力信号yに変換される。
Figure JPOXMLDOC01-appb-M000015
 出力信号yは、(式16)に示すように、量子化係数ブロックである量子化値Cに量子化される。
Figure JPOXMLDOC01-appb-M000016
 (式16)において、dは丸めオフセットであり、sは一様量子化ステップである。なお、dおよびsは画像符号化装置1000によって高能率符号化のために制御される。また、このような量子化値Cがエントロピー符号化されて符号化ストリームに含められ、画像復号装置2000に送信される。
 画像復号装置2000によって、量子化値Cは、(式17)に示すように、係数ブロックである復号出力信号y^に逆量子化される。
Figure JPOXMLDOC01-appb-M000017
 なお、量子化を伴う符号化は、データ量を大幅に削減する代わりに元のデータへ完全に復元することができない、いわゆるロッシー符号化である。つまり、量子化によってデータ量が失われるため、復号出力信号y^と出力信号yとは完全には一致しない。この誤差は、量子化による歪みが混入していることに起因し、量子化の前に予測が行われている場合には、量子化予測誤差(Quantized Prediction Error)と呼ばれることもある。また、ロッシー符号化の場合でも、十分なデータ量が残された状態で符号化される場合には、復号出力信号y^と出力信号yとはほぼ一致する。
 復号出力信号y^は、(式18)に示すように、逆直交変換T-1によって復号入力信号x^に逆直交変換される。
Figure JPOXMLDOC01-appb-M000018
 このように、(式14)~(式18)によって、直交変換および量子化と、逆量子化および逆直交変換とが行われる。
 ここで、直交変換Tは、以下の(式19)に示すように、n×nの変換行列An×nと入力信号xとの行列積で表現される。また、逆直交変換T-1は、以下の(式20)に示すように、n×nの変換行列Bn×nと復号出力信号y^との行列積で表現される。
Figure JPOXMLDOC01-appb-M000019
Figure JPOXMLDOC01-appb-M000020
 変換行列Bn×nは変換行列An×nの逆行列であり転置行列である。ただし、変換行列Bn×nはこれに限るものではなく、逆直交変換T-1の演算量を抑えるために、変換行列Bn×nは変換行列An×nの逆行列や転置行列と異なってもよい。
 (式15)は(式19)によって(式21)のように表現される。なお、(式21)において、乗算が行われる回数はn×n回であり、変換行列An×nの要素(変換係数)aの総数はn×n個である。
Figure JPOXMLDOC01-appb-M000021
 第1の直交変換は、(式21)に示す演算を伴うKLTであり、変換行列An×nが用いられる。
 本変形例では、上述の変換行列An×nの第1基底、つまり、aij(i=1,j=1,・・・,n)のn個の変換係数が同じ値となるように制限されている。同様に、上述の変換行列Bn×nの第1基底、つまり、bij(j=1,i=1,・・・,n)のn個の変換係数が同じ値となるように制限されている。すなわち、aij(i=1,j=1,・・・,n)=Caおよびbij(j=1,i=1,・・・,n)=Cbの関係が成り立つ。なお、値Caおよび値Cbは等しくてもよいが、演算量を抑えるために、値Caと値Cbは異なっていてもよい。
 これにより、本変形例では、第1基底のレベルが一定となるため、隣接するブロック間との差が小さくなり、ブロック間の滑らかさが向上する。
 なお、この第1基底に対する制限を適用しつつ、変換行列An×nの残りのn-1個の基底を導出するためには、次のような処理が行われる。まず、入力信号として、複数個(例えばM個)のベクトルxnが取得される。例えば、フレーム単位に変換行列An×nが導出される場合には、M個のベクトルxnは、典型的には、フレーム内の全てのブロックのそれぞれの差分画像である。次に、M個のベクトルxnのそれぞれについて、各変換係数が値Caに制限された第1基底のみで、ベクトルxnが変換されて逆変換される。次に、その変換および逆変換によって得られた信号がそのベクトルxnから減算される。このようにして得られた、第1基底分が減算されたM個のベクトルに基づいて、従来と同様にKLTの残りの基底(変換係数)が導出される。
 また、変換行列An×nおよびBn×nのそれぞれの第1基底に含まれる各変換係数を同じ値にするような制限の代わりに、第1基底の両端にある2つの変換係数を同じ値にするような制限をKLTに加えてもよい。すなわち、a11=a1nおよびb11=bn1となるような制限をKLTに加えてもよい。これにより、隣接するブロック間における、その第1基底による変換および逆変換が行われた信号のレベルの差をより小さくすることができ、その結果、ブロック間の滑らかさを向上することができる。
 この第1基底に対する制約を満たす変換行列An×nを導出するには、まず、従来と同様に、KLTの変換行列An×nが導出される。なお、演算量を削減するために、第1基底のみが導出されてもよい。その後、第1基底の両端にある2つの変換係数が同じ値に修正される。例えば、両端にある2つの変換係数は、その2つの変換係数の平均値に修正されてもよい。このように修正された第1基底を用いて上述と同様の処理が行われる。つまり、M個のベクトルxのそれぞれについて、上述のように修正された第1基底のみで、ベクトルxが変換されて逆変換される。次に、その変換および逆変換によって得られた信号がそのベクトルxnから減算される。このようにして得られた、第1基底分が減算されたM個のベクトルに基づいて、従来と同様にKLTの残りの基底(変換係数)が導出される。
 なお、本変形例における画像符号化装置1000および画像復号装置2000は、上述ような制限つきのKLTおよび逆KLTに用いられる変換行列An×nおよびBn×nを導出する機能を備えてもよい。
 (変形例2)
 上記実施の形態では、切替制御部1203は、量子化値の総和に応じて直交変換および量子化のそれぞれの種類を切り替えたが、本変形例に係る切替制御部1203は、量子化係数ブロック内のDC成分以外の全ての周波数成分の量子化値が0であるか否かに応じて直交変換および量子化のそれぞれの種類を切り替える。また、切替制御部1303も、切替制御部1203と同様に、量子化係数ブロック内のDC成分以外の全ての周波数成分の量子化値が0であるか否かに応じて逆直交変換および逆量子化のそれぞれの種類を切り替える。つまり、本変形例に係る切替制御部1203,1303は、DC成分以外の全ての周波数成分の量子化値が0であるか否かを判定することによって、符号化対象の画像または符号化画像が複雑であるか否かを判別する。
 図9は、本変形例に係る変換量子化部1102の処理動作を示すフローチャートである。
 まず、第1の直交変換部1201は、差分画像に対して第1の直交変換を行うことによって係数ブロックを生成する(ステップS140)。次に、第1の量子化部1211は、その係数ブロックに対して第1の量子化を行う(ステップS142)。切替制御部1203は、その第1の量子化によって生成された量子化係数ブロック内で、DC成分以外の全ての周波数成分の量子化値が0であるか否かを判定する(ステップS144)。
 ここで、切替制御部1203によって、DC成分以外の何れかの周波数成分の量子化値が0ではないと判定されると(ステップS144のNo)、第2の直交変換部1202は、第1の直交変換の対象とされた差分画像をバッファBuから第1の切替スイッチ1204を介して取得し、その差分画像に対して第2の直交変換を行う(ステップS146)。次に、第2の量子化部1212は、その第2の直交変換によって生成された係数ブロックに対して第2の量子化を行う(ステップS148)。その結果、第2の量子化によって生成された量子化係数ブロックが第2の切替スイッチ1205から出力される。
 一方、切替制御部1203によって、DC成分以外の全ての周波数成分の量子化値が0であると判定されると(ステップS144のYes)、第1の量子化によって生成された量子化係数ブロックが第2の切替スイッチ1205を介して出力される。
 図10は、本変形例に係る逆量子化逆変換部1105の処理動作を示すフローチャートである。
 まず、切替制御部1303は、量子化係数ブロックをエントロピー復号部2101から取得し、その量子化係数ブロック内で、DC成分以外の全ての周波数成分の量子化値が0であるか否かを判定する(ステップS160)。
 ここで、切替制御部1303によって、DC成分以外の何れかの周波数成分の量子化値が0ではないと判定されると(ステップS160のNo)、第2の逆量子化部1302は、切替制御部1303から第3の切替スイッチ1304を介してその量子化係数ブロックを取得し、その量子化係数ブロックに対して第2の逆量子化を行う(ステップS162)。次に、第2の逆直交変換部1312は、第2の逆量子化によって生成された係数ブロックに対して第2の逆直交変換を行う(ステップS164)。その結果、第2の逆直交変換によって生成された復号差分画像が第4の切替スイッチ1305から出力される。
 一方、切替制御部1303によって、DC成分以外の全ての周波数成分の量子化値が0であると判定されると(ステップS160のYes)、第1の逆量子化部1301は、切替制御部1303から第3の切替スイッチ1304を介してその量子化係数ブロックを取得し、その量子化係数ブロックに対して第1の逆量子化を行う(ステップS166)。次に、第1の逆直交変換部1311は、第1の逆量子化によって生成された係数ブロックに対して第1の逆直交変換を行う(ステップS168)。その結果、第1の逆直交変換によって生成された復号差分画像が第4の切替スイッチ1305から出力される。
 なお、本変形例では、DC成分以外の全ての周波数成分の量子化値が0であるか否かを判定することによって、直交変換および逆直交変換のそれぞれの種類を切り替えたが、DC成分と、そのDC成分に近い3つの周波数成分とを除く、残りの全ての周波数成分の量子化値が0であるか否かを判定することによってその切り替えを行ってもよい。つまり、DC成分を含む低域の4つの周波数成分を除く、残りの全ての周波数成分の量子化値が0であるか否かが判定される。
 (変形例3)
 上記実施の形態では、変換量子化部1102の切替制御部1203は、量子化値の総和に応じて直交変換および量子化のそれぞれの種類を切り替えたが、本変形例に係る変換量子化部の切替制御部は、符号化対象ブロックに対応する予測画像の複雑さに応じて直交変換および量子化のそれぞれの種類を切り替える。また、本変形例に係る逆量子化逆変換部の切替制御部も、変換量子化部の切替制御部と同様に、符号化画像(量子化係数ブロック)に対応する予測画像の複雑さに応じて逆直交変換および逆量子化のそれぞれの種類を切り替える。つまり、主観画質の低下は、予測画像が平坦であるほど顕著であるため、本変形例では、その予測画像の複雑さ(平坦さ)に応じて上述の切り替えが行われる。
 図11は、本変形例に係る変換量子化部の構成を示すブロック図である。
 本変形例に係る変換量子化部1102aは、第1の直交変換部1201と、第2の直交変換部1202と、第1の量子化部1211と、第2の量子化部1212と、切替制御部1203aと、第1および第2の切替スイッチ1204,1205とを備える。
 本変形例に係る切替制御部1203aは、面内予測部1110または動き補償部1111からスイッチ1113を介して出力された予測画像を取得し、その予測画像の複雑さに応じて第1および第2の切替スイッチ1204,1205を制御する。
 具体的には、切替制御部1203aは、予測画像が複雑であるか否かを判別する。例えば、切替制御部1203aは、予測画像の画素値の分散、または、隣接する画素間の差分を指標値として算出し、その指標値を予め定められた閾値と比較する。その結果、切替制御部1203aは、指標値が閾値よりも大きいと判定すると、予測画像が複雑であると判別し、逆に、指標値が閾値以下であると判定すると、予測画像が複雑でないと判別する。
 次に、切替制御部1203aは、その予測画像が複雑でないと判別したときには、第1の切替スイッチ1204からの差分画像の出力先が第1の直交変換部1201になるように第1の切替スイッチ1204を制御する。さらに、切替制御部1203aは、量子化係数ブロックの取得先が第1の量子化部1211になるように第2の切替スイッチ1205を制御する。その結果、第1の切替スイッチ1204は、減算器1101から取得された差分画像を第1の直交変換部1201に出力する。さらに、第2の切替スイッチ1205は、第1の量子化部1211から量子化係数ブロックを取得して逆量子化逆変換部1105およびエントロピー符号化部1104に出力する。つまり、予測画像が複雑でない場合には、差分画像に対して第1の直交変換および第1の量子化が行われる。
 一方、切替制御部1203aは、予測画像が複雑であると判別したときには、第1の切替スイッチ1204からの差分画像の出力先が第2の直交変換部1202になるように第1の切替スイッチ1204を制御する。さらに、切替制御部1203aは、量子化係数ブロックの取得先が第2の量子化部1212になるように第2の切替スイッチ1205を制御する。その結果、第1の切替スイッチ1204は、減算器1101から取得された差分画像を第2の直交変換部1202に出力する。さらに、第2の切替スイッチ1205は、第2の量子化部1212から量子化係数ブロックを取得して逆量子化逆変換部1105およびエントロピー符号化部1104に出力する。つまり、予測画像が複雑な場合には、差分画像に対して第2の直交変換および第2の量子化が行われる。
 図12は、本変形例に係る逆量子化逆変換部の構成を示すブロック図である。
 本変形例に係る逆量子化逆変換部1105aは、第1の逆量子化部1301と、第2の逆量子化部1302と、第1の逆直交変換部1311と、第2の逆直交変換部1312と、切替制御部1303aと、第3および第4の切替スイッチ1304,1305とを備える。この逆量子化逆変換部1105aは、逆量子化逆変換部1105の代わりに、画像符号化装置1000に備えられ、逆量子化逆変換部2102の代わりに、画像復号装置2000に備えられる。
 以下、逆量子化逆変換部1105aが画像符号化装置1000に備えられていることを前提に、その逆量子化逆変換部1105aの処理動作を詳細に説明する。なお、画像復号装置2000に備えられる逆量子化逆変換部1105aの処理動作については、画像符号化装置1000に備えられる逆量子化逆変換部1105aの処理動作と同様であるため、その詳細な説明を省略する。
 本変形例に係る切替制御部1303aは、面内予測部1110または動き補償部1111からスイッチ1113を介して出力された予測画像を取得し、その予測画像の複雑さに応じて第3および第4の切替スイッチ1304,1305を制御する。
 具体的には、切替制御部1303aは、上述の切替制御部1203aと同様に、予測画像が複雑であるか否かを判別する。そして、切替制御部1303aは、その予測画像が複雑でないと判別したときには、第3の切替スイッチ1304からの量子化係数ブロックの出力先が第1の逆量子化部1301になるように第3の切替スイッチ1304を制御する。さらに、切替制御部1303aは、量子化係数ブロックの取得先が第1の逆直交変換部1311になるように第4の切替スイッチ1305を制御する。その結果、第3の切替スイッチ1304は、変換量子化部1102aから取得された量子化係数ブロックを第1の逆量子化部1301に出力する。さらに、第4の切替スイッチ1305は、第1の逆直交変換部1311から復号差分画像を取得して加算器1107に出力する。つまり、予測画像が複雑でない場合には、量子化係数ブロックに対して第1の逆量子化および第1の逆直交変換が行われる。
 一方、切替制御部1303aは、予測画像が複雑であると判別したときには、第3の切替スイッチ1304からの差分画像の出力先が第2の逆量子化部1302になるように第3の切替スイッチ1304を制御する。さらに、切替制御部1303aは、復号差分画像の取得先が第2の逆直交変換部1312になるように第4の切替スイッチ1305を制御する。その結果、第3の切替スイッチ1304は、変換量子化部1102aから取得された量子化係数ブロックを第2の逆量子化部1302に出力する。さらに、第4の切替スイッチ1305は、第2の逆直交変換部1312から復号差分画像を取得して加算器1107に出力する。つまり、予測画像が複雑な場合には、量子化係数ブロックに対して第2の逆量子化および第2の直交変換が行われる。
 図13は、本変形例に係る変換量子化部1102aの処理動作を示すフローチャートである。
 まず、切替制御部1203aは、予測画像を取得し、その予測画像が複雑であるか否かを判別する(ステップS180)。ここで、切替制御部1203aによって、予測画像が複雑であると判別されると(ステップS180のYes)、第2の直交変換部1202は、差分画像を減算器1101から第1の切替スイッチ1204を介して取得し、その差分画像に対して第2の直交変換を行う(ステップS182)。次に、第2の量子化部1212は、その第2の直交変換によって生成された係数ブロックに対して第2の量子化を行う(ステップS184)。その結果、第2の量子化によって生成された量子化係数ブロックが第2の切替スイッチ1205から出力される。
 一方、切替制御部1203aによって、予測画像が複雑でないと判別されると(ステップS180のNo)、第1の直交変換部1201は、差分画像を減算器1101から第1の切替スイッチ1204を介して取得し、その差分画像に対して第1の直交変換を行う(ステップS186)。次に、第1の量子化部1211は、その第1の直交変換によって生成された係数ブロックに対して第1の量子化を行う(ステップS188)。その結果、第1の量子化によって生成された量子化係数ブロックが第2の切替スイッチ1205から出力される。
 図14は、本変形例に係る逆量子化逆変換部1105aの処理動作を示すフローチャートである。
 まず、切替制御部1303aは、予測画像を取得し、その予測画像が複雑であるか否かを判別する(ステップS200)。ここで、切替制御部1303aによって、予測画像が複雑であると判別されると(ステップS200のYes)、第2の逆量子化部1302は、変換量子化部1102aから第3の切替スイッチ1304を介して量子化係数ブロックを取得し、その量子化係数ブロックに対して第2の逆量子化を行う(ステップS202)。次に、第2の逆直交変換部1312は、第2の逆量子化によって生成された係数ブロックに対して第2の逆直交変換を行う(ステップS204)。その結果、第2の逆直交変換によって生成された復号差分画像が第4の切替スイッチ1305から出力される。
 一方、切替制御部1303aによって、予測画像が複雑でないと判別されると(ステップS200のNo)、第1の逆量子化部1301は、変換量子化部1102aから第3の切替スイッチ1304を介して量子化係数ブロックを取得し、その量子化係数ブロックに対して第1の逆量子化を行う(ステップS206)。次に、第1の逆直交変換部1311は、第1の逆量子化によって生成された係数ブロックに対して第1の逆直交変換を行う(ステップS208)。その結果、第1の逆直交変換によって生成された復号差分画像が第4の切替スイッチ1305から出力される。
 なお、本変形例では、切替制御部1203a,1303aは、予測画像が複雑であるか否かを、その予測画像から直接的に判別したが、その予測画像の生成に用いられた予測モードに基づいて間接的に判別してもよい。つまり、切替制御部1203a,1303aは、符号化対象ブロックに対する予測画像の生成に用いられた予測モードを示す予測モード情報を、面内予測部1110または動き補償部1111から取得する。そして、その予測モード情報によって示される予測モードが、H.264規格の面内予測方式のうちのDCモードまたはプレーンモード、あるいは、第1または第2のPlanar予測である場合には、切替制御部1203a,1303aは、予測画像が複雑でないと判別する。
 DCモードは、符号化対象ブロックの左隣に垂直方向に配列されている複数の画素の画素値の平均値と、符号化対象ブロックの上隣に水平方向に配列されている複数の画素の画素値の平均値とを、予測画像の画素値に用いる予測モードである。プレーンモードは、予測画像の画素値を均一にする予測モードである。第1のPlanar予測は、上述のプレーンモードに類似する予測モードである。
 図15は、第1のPlanar予測を説明するための図である。
 第1のPlanar予測では、H.264の面内予測方法と同様に、符号化対象ブロックBlkの周辺にある複数の周辺隣接画素から、その符号化対象ブロックBlkに対する画像が予測される。複数の周辺隣接画素は、符号化対象ブロックの左隣に垂直方向に配列されている複数の画素と、符号化対象ブロックの上隣に水平方向に配列されている複数の画素とからなる。符号化対象ブロックBlk内の右下の画素Zの画素値は0に予測され、画素Zは直接符号化される。または、画素Zの画素値は、周辺隣接画素Lと周辺隣接画素Tとの平均値に予測される。画素P1の画素値は、画素Zに対して予測された画素値と周辺隣接画素Lの画素値とを用い、画素P1と画素Zとの間の距離と、画素P1と周辺隣接画素Lとの間の距離とに応じて線形補間を行うことによって予測される。同様に、画素P2の画素値は、画素Zに対して予測された画素値と周辺隣接画素Tの画素値とを用いて線形補間を行うことによって予測される。同様に、画素P3の画素値は、画素P1,P2に対して予測された画素値と、周辺隣接画素R1,R2の画素値とを用いて線形補間を行うことによって予測される。符号化対象ブロックに含まれるこれら以外の画素の画素値についても、画素P1,P2,P3のうちの何れかと同様の方法で予測される。
 図16Aおよび図16Bは、第2のPlanar予測を説明するための図である。
 第2のPlanar予測は、第1のPlanar予測のバリエーションであり、画素ごとに、平均値を求めることによって2つの画素値を予測する予測モードである。例えば、符号化対象ブロックの画素P3の画素値P3h,P3vが予測される場合、図16Aに示すように、まず、右上にある周辺隣接画素Tの画素値が、画素P2の画素値P2hとして垂直方向にコピーされる。次に、画素P2と同一の行にある周辺隣接画素R1の画素値と、画素値P2hとの平均値が算出され、画素P3の画素値P3hはその平均値に予測される。
 さらに、図16Bに示すように、左下にある周辺隣接画素Lの画素値が、画素P1の画素値P1vとして水平方向にコピーされる。次に、画素P1と同一の列にある周辺隣接画素R2の画素値と、画素値P1vとの平均値が算出され、画素P3の画素値P3vはその平均値に予測される。なお、第1および第2のPlanar予測の詳細は、非特許文献(Sandeep Kanumuri、TK Tan、Frank Bossen、“Enhancements to Intra Coding,”ITU-T JCTVC-D235, Daegu, KR, January, 2011.)に記述されている。
 このような第1および第2のPlanar予測の場合も、予測画像は平坦に近い、つまり、複雑でないため、符号化対象ブロックに対して主観画質に適した第1の直交変換および第1の量子化を行った方がよい。
 なお、符号化対象ブロックBlkに対する周辺隣接画素Lと周辺隣接画素Tのそれぞれの画素値が近い場合には、その符号化対象ブロックBlkの予測画像はさらに平坦になりやすい。したがって、このような場合、つまり、予測モードが第1または第2のPlanar予測であって、且つ、周辺隣接画素Lと周辺隣接画素Tのそれぞれの画素値が近い場合に、切替制御部1203a,1303aは、予測画像が複雑であると判別してもよい。具体的には、切替制御部1203a,1303aは、周辺隣接画素Lの画素値と、周辺隣接画素Tの画素値との差分絶対値が閾値以下であるか否かを判別し、閾値以下であれば、それぞれの画素値が近いと判断する。または、切替制御部1203a,1303aは、周辺隣接画素Lの画素値の絶対値と、周辺隣接画素Tの画素値の絶対値との比が閾値以下であるか否かを判別し、その比が閾値よりも大きければ、それぞれの画素値が近いと判断する。
 (変形例4)
 本変形例では、画像符号化装置は2段階の直交変換を行い、画像復号装置は2段階の逆直交変換を行う。そして、画像符号化装置では、2段目の直交変換において第1の直交変換と第2の直交変換との切り替えを行い、画像復号化装置では、1段目の直交変換において第1の逆直行変換と第2の逆直交変換との切り替えを行う。
 図17は、本変形例に係る変換量子化部の構成を示すブロック図である。
 本変形例に係る変換量子化部1102bは、前置直交変換部1200と、第1の直交変換部1201bと、第2の直交変換部1202bと、量子化部1213と、切替制御部1203aと、第1および第2の切替スイッチ1204,1205とを備える。
 前置直交変換部1200は、減算器1101から差分画像を取得し、その差分画像に対してDCT(1段目の直交変換)を行うことによって、係数ブロックを生成する。
 第1の直交変換部1201bは、前置直交変換部1200によって生成された係数ブロックに含まれる周波数係数のうち、低域の周波数係数(部分領域)のみに対してさらに第1の直交変換(2段目の直交変換)を行う。つまり、差分画像は前置直交変換部1200および第1の直交変換部1201bによって2段階で直交変換される。第1の直交変換部1201bは、このような2段階の直交変換によって生成された係数ブロックを出力する。
 第2の直交変換部1202bは、前置直交変換部1200によって生成された係数ブロックに含まれる周波数係数のうち、低域の周波数係数(部分領域)のみに対してさらに第2の直交変換(2段目の直交変換)を行う。つまり、差分画像は前置直交変換部1200および第2の直交変換部1202bによって2段階で直交変換される。第2の直交変換部1202bは、このような2段階の直交変換によって生成された係数ブロックを出力する。
 ここで、第1の直交変換および第2の直交変換は例えばKLTである。また、第1の直交変換の対象となる周波数領域と、第2の直交変換の対象となる周波数領域とは異なっている。第2の直交変換の対象となる周波数領域はDC成分を含み、第1の直交変換の対象となる周波数領域はDC成分を含まない。つまり、第1の直交変換は、1段目の直交変換によって生成されたDC成分の周波数係数の変化を抑えるため、第2の直交変換と比べて主観画質に対して悪影響を与えることが少ない。
 第1の切替スイッチ1204は、前置直交変換部1200によって生成された係数ブロックを取得し、切替制御部1203aからの指示に応じて、その係数ブロックの出力先を第1の直交変換部1201bと第2の直交変換部1202bとで切り替える。
 第2の切替スイッチ1205は、係数ブロックの取得先を第1の直交変換部1201bと第2の直交変換部1202bとで切り替え、その取得先から係数ブロックを取得して量子化部1213に出力する。
 量子化部1213は、2段階の直交変換によって生成された係数ブロックを量子化する。
 切替制御部1203aは、上述と同様、面内予測部1110または動き補償部1111からスイッチ1113を介して出力された予測画像、または予測モード情報を取得し、その予測画像または予測モード情報に基づいて、予測画像が複雑か否かを判別する。そして、切替制御部1203aは、その判別結果に基づいて第1および第2の切替スイッチ1204,1205を制御する。
 切替制御部1203aは、予測画像が複雑でないと判別したときには、第1の切替スイッチ1204からの係数ブロックの出力先が第1の直交変換部1201bになるように第1の切替スイッチ1204を制御する。さらに、切替制御部1203aは、係数ブロックの取得先が第1の直交変換部1201bになるように第2の切替スイッチ1205を制御する。その結果、第1の切替スイッチ1204は、前置直交変換部1200から取得された係数ブロックを第1の直交変換部1201bに出力する。さらに、第2の切替スイッチ1205は、第1の直交変換部1201bから係数ブロックを取得して量子化部1213に出力する。つまり、予測画像が複雑でない場合には、差分画像に対してDCTおよび第1の直交変換が行われる。
 一方、切替制御部1203aは、予測画像が複雑であると判別したときには、第1の切替スイッチ1204からの係数ブロックの出力先が第2の直交変換部1202bになるように第1の切替スイッチ1204を制御する。さらに、切替制御部1203aは、係数ブロックの取得先が第2の直交変換部1202bになるように第2の切替スイッチ1205を制御する。その結果、第1の切替スイッチ1204は、前置直交変換部1200から取得された係数ブロックを第2の直交変換部1202bに出力する。さらに、第2の切替スイッチ1205は、第2の直交変換部1202bから係数ブロックを取得して量子化部1213に出力する。つまり、予測画像が複雑な場合には、差分画像に対してDCTおよび第2の直交変換が行われる。
 図18A、図18Bおよび図18Cは、2段目の直交変換(第1および第2の直交変換)が行われる周波数領域を示す図である。
 図18Aに示すように、前置直交変換部1200は、空間領域として現される差分画像B1(i×j画素)に対してDCT(1段目の直交変換)を行うことによって、i×j要素(成分)からなる係数ブロックB2を生成する。ただし、iおよびjは0以上(N-1)以下の整数である。次に、第2の直交変換部1202bは、係数ブロックB2のうちの低域の周波数成分のみからなる部分係数ブロックB2aに対して第2の直交変換(2段目の直交変換)を行う。その結果、係数ブロックB2のうちの部分係数ブロックB2aを除く他の部分と、第2の直交変換が行われた部分係数ブロックB2a(部分係数ブロックB3a)とからなる係数ブロックB3が生成される。
 ここで、第2の直交変換部1202bは、DCTによって生成された係数ブロックB2のうち、最低域の周波数成分(DC成分)の量子化値を含む部分係数ブロックB2bに対して第2の直交変換を行う。例えば、DCTが8点入力8点出力の変換であり、第2の直交変換が4点入力4点出力の変換であるとき、係数ブロックB2のうちの最低域の1点目から4点目までの周波数成分を含む部分係数ブロックB2aに対して第2の直交変換が行われる。なお、係数ブロックに含まれる各周波数成分は、低域側から順に、1点目の周波数成分、2点目の周波数成分、3点目の周波数成分、・・・と称される。
 第1の直交変換部1201bは、第2の直交変換部1202bと同様に、図18Bに示すように、係数ブロックB2のうちの低域の周波数成分のみからなる部分係数ブロックB2bに対して第1の直交変換(2段目の直交変換)を行う。その結果、係数ブロックB2のうちの部分係数ブロックB2bを除く他の部分と、第1の直交変換が行われた部分係数ブロックB2b(部分係数ブロックB4a)とからなる係数ブロックB4が生成される。
 ここで、第1の直交変換部1201bは、DCTによって生成された係数ブロックB2のうち、最低域の周波数成分(DC成分)の量子化値を除く部分係数ブロックB2bに対して第1の直交変換を行う。例えば、DCTが8点入力8点出力の変換であり、第1の直交変換が4点入力4点出力の変換であるとき、係数ブロックB2のうちの2点目から4点目までの3点の周波数成分を含む部分係数ブロックB2bに対して第1の直交変換が行われる。
 なお、第1の直交変換部1201bは、上述のように3点の周波数成分を含む部分係数ブロックB2bに対して第1の直交変換を行うが、4点の周波数成分を含む部分係数ブロックに対して第1の直交変換を行ってもよい。
 具体的には、図18Cに示すように、第1の直交変換部1201bは、係数ブロックB2のうちの2点目から5点目までの4点の周波数成分を含む部分係数ブロックB2cに対して第1の直交変換(2段目の直交変換)を行う。その結果、係数ブロックB2のうちの部分係数ブロックB2cを除く他の部分と、第1の直交変換が行われた部分係数ブロックB2c(部分係数ブロックB5a)とからなる係数ブロックB5が生成される。
 このように、本変形例では、1段目の直交変換(DCT)によって生成された係数ブロックのうちの低域の周波数領域(部分領域)のみに対してさらに2段目の直交変換(KLT)が行われるため、圧縮性能を高めることができる。また、2段目の直交変換では、第1の直交変換と第2の直交変換とが切り替えられるため、主観画質と圧縮性能(変換効率)とのバランスを適切に保つことができる。つまり、予測画像が複雑である場合には、第2の直交変換を用いることによって圧縮性能を高めることができ、予測画像が複雑でない場合には、第1の直交変換を用いることによって主観画質の低下を抑えることができる。その結果、符号化効率および主観画質の低下を抑えることができる。
 図19は、本変形例に係る逆量子化逆変換部の構成を示すブロック図である。
 本変形例に係る逆量子化逆変換部1105bは、逆量子化部1300と、第1の逆直交変換部1311bと、第2の逆直交変換部1312bと、後置逆直交変換部1310と、切替制御部1303aと、第3および第4の切替スイッチ1304,1305とを備える。この逆量子化逆変換部1105bは、逆量子化逆変換部1105の代わりに、画像符号化装置1000に備えられ、逆量子化逆変換部2102の代わりに、画像復号装置2000に備えられる。
 以下、逆量子化逆変換部1105bが画像符号化装置1000に備えられていることを前提に、その逆量子化逆変換部1105bの処理動作を詳細に説明する。なお、画像復号装置2000に備えられる逆量子化逆変換部1105bの処理動作については、画像符号化装置1000に備えられる逆量子化逆変換部1105bの処理動作と同様であるため、その詳細な説明を省略する。
 逆量子化部1300は、上述の変換量子化部1102bによる2段階の直交変換と量子化によって生成された量子化係数ブロックに対して逆量子化を行う。
 第1の逆直交変換部1311bは、逆量子化部1300による逆量子化によって生成された係数ブロックB4またはB5に含まれる周波数係数のうち、部分係数ブロックB4aまたはB5a(部分領域)に含まれる低域の周波数係数のみに対して第1の逆直交変換を行う。これにより、第1の逆直交変換部1311bは、部分係数ブロックB4aまたはB5aを部分係数ブロックB2bまたはB2cに変換する。そして、第1の逆直交変換部1311bは、その部分係数ブロックB2bまたはB2cと、係数ブロックB4またはB5の部分係数ブロックB4aまたはB5a以外の部分とからなる係数ブロックB2を生成して出力する。
 第2の逆直交変換部1312bは、逆量子化部1300による逆量子化によって生成された係数ブロックB3に含まれる周波数係数のうち、部分係数ブロックB3a(部分領域)に含まれる低域の周波数係数のみに対して第2の逆直交変換を行う。これにより、第2の逆直交変換部1312bは、部分係数ブロックB3aを部分係数ブロックB2aに変換する。そして、第2の逆直交変換部1312bは、その部分係数ブロックB2aと、係数ブロックB3の部分係数ブロックB3a以外の部分とからなる係数ブロックB2を生成して出力する。
 後置逆直交変換部1310は、第1または第2の逆直交変換部1311bまたは1312bから出力される係数ブロックB2を取得し、その係数ブロックB2に対して逆DCT(2段目の逆直交変換)を行うことによって、復号差分画像を生成する。
 第3の切替スイッチ1304は、逆量子化部1300によって生成された係数ブロックB4またはB5を取得し、切替制御部1303aからの指示に応じて、その係数ブロックB4またはB5の出力先を第1の逆直交変換部1311bと第2の逆直交変換部1312bとで切り替える。
 第4の切替スイッチ1305は、係数ブロックB2の取得先を第1の逆直交変換部1311bと第2の逆直交変換部1312bとで切り替え、その取得先から係数ブロックB2を取得して後置逆直交変換部1310に出力する。
 切替制御部1303aは、切替制御部1203aと同様、面内予測部1110または動き補償部1111からスイッチ1113を介して出力された予測画像、または予測モード情報を取得し、その予測画像または予測モード情報に基づいて、予測画像が複雑であるか否かを判別する。そして、切替制御部1303aは、その判別結果に基づいて第3および第4の切替スイッチ1304,1305を制御する。
 図20は、本変形例に係る変換量子化部1102bの処理動作を示すフローチャートである。
 まず、前置直交変換部1200は、減算器1101から差分画像を取得し、その差分画像に対して前置直交変換(1段目の直交変換)を行う(ステップS220)。次に、切替制御部1203aは、予測画像を取得し、その予測画像が複雑であるか否かを判別する(ステップS222)。なお、切替制御部1203aは、予測画像の代わりに予測モード情報を取得してもよい。この場合、切替制御部1203aは、その予測モード情報が予め定められたモードを示す場合には、予測画像が複雑でないと判別し、その予測モード情報が予め定められたモードを示さない場合には、予測画像が複雑であると判別する。
 ここで、切替制御部1203aによって、予測画像が複雑であると判別されると(ステップS222のYes)、第2の直交変換部1202bは、前置直交変換部1200から第1の切替スイッチ1204を介して、前置直交変換によって生成された係数ブロックを取得し、その係数ブロックに対して第2の直交変換(2段目の直交変換)を行う(ステップS224)。一方、切替制御部1203aによって、予測画像が複雑でないと判別されると(ステップS222のNo)、第1の直交変換部1201bは、前置直交変換部1200から第1の切替スイッチ1204を介して、前置直交変換によって生成された係数ブロックを取得し、その係数ブロックに対して第1の直交変換(2段目の直交変換)を行う(ステップS226)。
 次に、量子化部1213は、第1の直交変換部1201bまたは第2の直交変換部1202bから、第2の切替スイッチ1205を介して係数ブロックを取得して量子化する(ステップS228)。具体的には、第1の直交変換部1201bによって第1の直交変換が行われた際には、量子化部1213は、第1の直交変換部1201bから第2の切替スイッチ1205を介して、第1の直交変換が行われた係数ブロックを取得して量子化する。また、第2の直交変換部1202bによって第2の直交変換が行われた際には、量子化部1213は、第2の直交変換部1202bから第2の切替スイッチ1205を介して、第2の直交変換が行われた係数ブロックを取得して量子化する。これにより、その量子化によって生成された量子化係数ブロックが量子化部1213から出力される。
 図21は、本変形例に係る逆量子化逆変換部1105bの処理動作を示すフローチャートである。
 まず、逆量子化部1300は、変換量子化部1102bから量子化係数ブロックを取得して逆量子化する(ステップS240)。次に、切替制御部1303aは、予測画像を取得し、その予測画像が複雑であるか否かを判別する(ステップS242)。なお、切替制御部1303aは、予測画像の代わりに予測モード情報を取得してもよい。この場合、切替制御部1303aは、その予測モード情報が予め定められたモードを示す場合には、予測画像が複雑でないと判別し、その予測モード情報が予め定められたモードを示さない場合には、予測画像が複雑であると判別する。
 ここで、切替制御部1303aによって、予測画像が複雑であると判別されると(ステップS242のYes)、第2の逆直交変換部1312bは、逆量子化部1300から第3の切替スイッチ1304を介して、逆量子化によって生成された係数ブロックを取得し、その係数ブロックに対して第2の逆直交変換(1段目の直交変換)を行う(ステップS244)。一方、切替制御部1303aによって、予測画像が複雑でないと判別されると(ステップS242のNo)、第1の逆直交変換部1311bは、逆量子化部1300から第3の切替スイッチ1304を介して、逆量子化によって生成された係数ブロックを取得し、その係数ブロックに対して第1の逆直交変換(1段目の直交変換)を行う(ステップS246)。
 次に、後置逆直交変換部1310は、第1の逆直交変換部1311bまたは第2の逆直交変換部1312bから第4の切替スイッチ1305を介して、第1の逆直交変換または第2の逆直交変換が行われた係数ブロックを取得し、その係数ブロックに対して後置逆直交変換(2段目の逆直交変換)を行う(ステップS248)。具体的には、第1の逆直交変換部1311bによって第1の逆直交変換が行われた際には、後置逆直交変換部1310は、第1の逆直交変換部1311bから第4の切替スイッチ1305を介して、第1の逆直交変換が行われた係数ブロックを取得する。そして、後置逆直交変換部1310は、その係数ブロックに対して後置逆直交変換を行う。また、第2の逆直交変換部1312bによって第2の逆直交変換が行われた際には、後置逆直交変換部1310は、第2の逆直交変換部1312bから第2の切替スイッチ1205を介して、第2の逆直交変換が行われた係数ブロックを取得する。そして、後置逆直交変換部1310は、その係数ブロックに対して後置逆直交変換を行う。これにより、その後置逆直交変換によって生成された復号差分画像が後置逆直交変換部1310から出力される。
 このように、本変形例に係る画像復号方法では、1段目の逆直交変換が行われた符号化画像に対して2段目の逆直交変換が行われる。その1段目の逆直交変換が行われる際には、逆量子化された符号化画像の一部である部分領域のみに対して1段目の逆直交変換が行われる。2段目の逆直交変換が行われる際には、1段目の逆直交変換が行われた部分領域と、逆量子化された前記符号化画像に含まれるその部分領域以外の領域とを含む画像に対して、2段目の逆直交変換が行われる。
 また、逆直交変換の種類の切り替えによって、第1の逆直交変換が1段目の逆直交変換として選択された場合、その1段目の逆直交変換が行われる際には、逆量子化された符号化画像のうち、最も低い周波数成分を含まない領域が部分領域として選択され、その部分領域に対して第1の逆直交変換が行われる。また、逆直交変換の種類の切り替えによって、第2の逆直交変換が1段目の逆直交変換として選択された場合、その1段目の逆直交変換が行われる際には、逆量子化された符号化画像のうち、最も低い周波数成分を含む領域が部分領域として選択され、その部分領域に対して第2の逆直交変換が行われる。
 なお、本変形例では、第1の直交変換と第2の直交変換とで、変換対象の周波数領域を異ならせたが、その周波数領域を同一にしてもよい。この場合、第1の直交変換に用いられる変換行列の各対角要素は、第2の直交変換に用いられる変換行列の各対角要素よりも1(100%)に近い値に設定される。また、第1および第2の逆直交変換の変換行列は、第1および第2の直交変換の変換行列の転置行列であるため、第1の逆直交変換に用いられる変換行列の各対角要素も、前記第2の逆直交変換に用いられる変換行列の各対角要素よりも1に近い値に設定される。
 図22Aは、変換行列の対角要素を示す図である。
 上述の(式21)は、n=4の場合、図22Aに示すように、4×4個の要素を有する変換行列Aを用いた行列演算として表される。ここで、変換行列Aに含まれる、i行=j列を満たす要素(a11、a22、a33およびa44)が対角要素である。
 図22Bは、変換の効果がない変換行列の例を示す図である。
 例えば、1(100%)が128(7ビット)で表記される場合、図22Bに示すように、全ての対角要素のそれぞれが128で、その他の要素が0である変換行列A1による変換では、(y1,・・・,y4)が(x1,・・・,y4)と等しくなる。したがって、この変換行列Aを用いた行列演算、つまり変換には効果がない。したがって、第1の直交変換(第1の逆直交変換)の変換行列における各対角要素を、第2の直交変換(第2の逆直交変換)の変換行列における各対角要素よりも1(100%)に近い値に設定することによって、第1の直交変換(第1の逆直交変換)の効果を、第2の直交変換(第2の逆直交変換)の効果よりも小さくすることができる。その結果、第1の直交変換(第1の逆直交変換)では主観画質の低下を適切に抑えることができる。
 図23Aは、第2の直交変換に用いられる変換行列の一例を示す図である。
 変換行列A2では、図23Aに示すように、対角要素は、118、109、109および117である。これらの対角要素は、128(100%)に近いものではない。第2の直交変換(第2の逆直交変換)は、このような変換行列A2を用いた行列演算である。
 図23Bは、第1の直交変換に用いられる変換行列の一例を示す図である。
 変換行列A3では、図23Bに示すように、対角要素は、122、119、122および125である。これらの対角要素は、変換行列A2の各対角要素よりも128(100%)に近い。第1の直交変換(第1の逆直交変換)は、このような変換行列A3を用いた行列演算である。
 図23Cは、第1の直交変換に用いられる変換行列の他の例を示す図である。
 変換行列A4では、図23Cに示すように、対角要素は、125、124、126および127である。これらの対角要素は、変換行列A2の各対角要素よりも128(100%)に近い。したがって、第1の直交変換(第1の逆直交変換)は、上述の変換行列A3の代わりに、このような変換行列A4を用いた行列演算であってもよい。また、変換行列A4の各対角要素は、変換行列A3の各対角要素よりも128(100%)に近い。これにより、第1の直交変換(第1の逆直交変換)を、変換行列A4を用いた行列演算とする場合には、変換行列A3を用いた行列演算とする場合よりも、主観画質の低下を効果的に抑えることができる。
 なお、本発明について実施の形態1およびその変形例を用いて説明したが、本発明はこれらに限定されるものではない。
 例えば、実施の形態1およびその変形例では、画像符号化装置の変換量子化部は、第1の直交変換および第1の量子化を行った後に、第2の直交変換および第2の量子化を行ったが、その第2の直交変換および第2の量子化を、第1の直交変換および第1の量子化と並列に行ってもよい。この場合には、量子化値の総和と閾値との比較(図5のステップS104)の後に、第2の直交変換および第2の量子化を行う必要がなく、符号化処理にかかる時間を短くすることができる。または、画像符号化装置の変換量子化部は、第2の直交変換および第2の量子化を行った後に、第1の直交変換および第1の量子化を行ってもよい。この場合には、第2の直交変換および第2の量子化によって生成された量子化係数ブロック内の量子化値の総和と閾値とが比較され、その比較結果に応じて、第1の直交変換および第1の量子化が行われる。
 また、実施の形態1およびその変形例では、量子化値の総和が閾値よりも大きい場合には、第2の直交変換または第2の逆直交変換を行ったが、その総和が閾値以上の場合に、第2の直交変換または第2の逆直交変換を行い、その総和が閾値未満の場合に、第2の直交変換または第2の逆直交変換を行わないようにしてもよい。
 また、実施の形態1およびその変形例では、量子化値の総和と比較される閾値は予め定められていたが、その閾値を適応的に変更してもよい。例えば、符号化画像に対応する予測画像が、H.264規格の面内予測におけるDCモードまたはプレーンモードなどの予測モードで生成される場合には、それ以外の予測モードで生成される場合と比べて、その閾値を小さな値にしてもよい。また、画像符号化装置と画像復号装置とでその閾値を異ならせてもよい。
 また、実施の形態1およびその変形例では、画像符号化装置による直交変換の種類の切り替えと、画像復号装置による逆直交変換の種類の切り替えとは独立して行われたが、画像符号化装置による切り替えによって選択された直交変換の種類を、画像復号装置に伝えてもよい。例えば、画像符号化装置は、選択された直交変換の種類を示すフラグを画像復号装置に送信する。この場合には、画像復号装置は、そのフラグを受信し、そのフラグの示す種類に応じた逆直交変換を選択して符号化画像に適用する。その結果、画像復号装置では、符号化画像または予測画像などを解析する必要がなく、逆直交変換の種類の切り替えを簡単且つ迅速に行うことができる。
 また、実施の形態1の変形例3では、予測画像または予測モード情報に応じて直交変換および逆直交変換のそれぞれの種類を切り替えたが、それら以外の情報に基づいて切り替えてもよい。
 (実施の形態2)
 上記各実施の形態で示した動画像符号化方法または動画像復号化方法の構成を実現するためのプログラムを記憶メディアに記録することにより、上記各実施の形態で示した処理を独立したコンピュータシステムにおいて簡単に実施することが可能となる。記憶メディアは、磁気ディスク、光ディスク、光磁気ディスク、ICカード、半導体メモリ等、プログラムを記録できるものであればよい。
 さらにここで、上記各実施の形態で示した動画像符号化方法や動画像復号化方法の応用例とそれを用いたシステムを説明する。
 図24は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex106、ex107、ex108、ex109、ex110が設置されている。
 このコンテンツ供給システムex100は、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および基地局ex106からex110を介して、コンピュータex111、PDA(Personal Digital Assistant)ex112、カメラex113、携帯電話ex114、ゲーム機ex115などの各機器が接続される。
 しかし、コンテンツ供給システムex100は図24のような構成に限定されず、いずれかの要素を組合せて接続するようにしてもよい。また、固定無線局である基地局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や各機器が有するLSIex500において処理する。LSIex500は、ワンチップであっても複数チップからなる構成であってもよい。なお、動画像符号化・復号化用のソフトウェアをコンピュータex111等で読み取り可能な何らかの記録メディア(CD-ROM、フレキシブルディスク、ハードディスクなど)に組み込み、そのソフトウェアを用いて符号化・復号化処理を行ってもよい。さらに、携帯電話ex114がカメラ付きである場合には、そのカメラで取得した動画データを送信してもよい。このときの動画データは携帯電話ex114が有するLSIex500で符号化処理されたデータである。
 また、ストリーミングサーバex103は複数のサーバや複数のコンピュータであって、データを分散して処理したり記録したり配信するものであってもよい。
 以上のようにして、コンテンツ供給システムex100では、符号化されたデータをクライアントが受信して再生することができる。このようにコンテンツ供給システムex100では、ユーザが送信した情報をリアルタイムでクライアントが受信して復号化し、再生することができ、特別な権利や設備を有さないユーザでも個人放送を実現できる。
 なお、コンテンツ供給システムex100の例に限らず、図25に示すように、デジタル放送用システムex200にも、上記各実施の形態の少なくとも動画像符号化装置または動画像復号化装置のいずれかを組み込むことができる。具体的には、放送局ex201では映像データに音楽データなどが多重化された多重化データが電波を介して通信または衛星ex202に伝送される。この映像データは上記各実施の形態で説明した動画像符号化方法により符号化されたデータである。これを受けた放送衛星ex202は、放送用の電波を発信し、この電波を衛星放送の受信が可能な家庭のアンテナex204が受信する。受信した多重化データを、テレビ(受信機)ex300またはセットトップボックス(STB)ex217等の装置が復号化して再生する。
 また、DVD、BD等の記録メディアex215に記録した多重化データを読み取り復号化する、または記録メディアex215に映像信号を符号化し、さらに場合によっては音楽信号と多重化して書き込むリーダ/レコーダex218にも上記各実施の形態で示した動画像復号化装置または動画像符号化装置を実装することが可能である。この場合、再生された映像信号はモニタex219に表示され、多重化データが記録された記録メディアex215により他の装置やシステムにおいて映像信号を再生することができる。また、ケーブルテレビ用のケーブルex203または衛星/地上波放送のアンテナex204に接続されたセットトップボックスex217内に動画像復号化装置を実装し、これをテレビのモニタex219で表示してもよい。このときセットトップボックスではなく、テレビ内に動画像復号化装置を組み込んでもよい。
 図26は、上記各実施の形態で説明した動画像復号化方法および動画像符号化方法を用いたテレビ(受信機)ex300を示す図である。テレビex300は、上記放送を受信するアンテナex204またはケーブルex203等を介して映像データに音声データが多重化された多重化データを取得、または出力するチューナex301と、受信した多重化データを復調する、または外部に送信する多重化データに変調する変調/復調部ex302と、復調した多重化データを映像データと、音声データとに分離する、または信号処理部ex306で符号化された映像データ、音声データを多重化する多重/分離部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、ex319、ex320、ex321は図示しているように複数備えていてもよいし、1つ以上のバッファを共有する構成であってもよい。さらに、図示している以外に、例えば変調/復調部ex302や多重/分離部ex303の間等でもシステムのオーバフロー、アンダーフローを避ける緩衝材としてバッファにデータを蓄積することとしてもよい。
 また、テレビex300は、放送等や記録メディア等から音声データ、映像データを取得する以外に、マイクやカメラのAV入力を受け付ける構成を備え、それらから取得したデータに対して符号化処理を行ってもよい。なお、ここではテレビex300は上記の符号化処理、多重化、および外部出力ができる構成として説明したが、これらの処理を行うことはできず、上記受信、復号化処理、外部出力のみが可能な構成であってもよい。
 また、リーダ/レコーダex218で記録メディアから多重化データを読み出す、または書き込む場合には、上記復号化処理または符号化処理はテレビex300、リーダ/レコーダex218のいずれで行ってもよいし、テレビex300とリーダ/レコーダex218が互いに分担して行ってもよい。
 一例として、光ディスクからデータの読み込みまたは書き込みをする場合の情報再生/記録部ex400の構成を図27に示す。情報再生/記録部ex400は、以下に説明する要素ex401、ex402、ex403、ex404、ex405、ex406、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はレーザスポットを照射するとして説明したが、近接場光を用いてより高密度な記録を行う構成であってもよい。
 図28に光ディスクである記録メディア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の構成は例えば図26に示す構成のうち、GPS受信部を加えた構成が考えられ、同様なことがコンピュータex111や携帯電話ex114等でも考えられる。
 図29Aは、上記実施の形態で説明した動画像復号化方法および動画像符号化方法を用いた携帯電話ex114を示す図である。携帯電話ex114は、基地局ex110との間で電波を送受信するためのアンテナex350、映像、静止画を撮ることが可能なカメラ部ex365、カメラ部ex365で撮像した映像、アンテナex350で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex358を備える。携帯電話ex114は、さらに、操作キー部ex366を有する本体部、音声を出力するためのスピーカ等である音声出力部ex357、音声を入力するためのマイク等である音声入力部ex356、撮影した映像、静止画、録音した音声、または受信した映像、静止画、メール等の符号化されたデータもしくは復号化されたデータを保存するメモリ部ex367、又は同様にデータを保存する記録メディアとのインタフェース部であるスロット部ex364を備える。
 さらに、携帯電話ex114の構成例について、図29Bを用いて説明する。携帯電話ex114は、表示部ex358及び操作キー部ex366を備えた本体部の各部を統括的に制御する主制御部ex360に対して、電源回路部ex361、操作入力制御部ex362、映像信号処理部ex355、カメラインタフェース部ex363、LCD(Liquid Crystal Display)制御部ex359、変調/復調部ex352、多重/分離部ex353、音声信号処理部ex354、スロット部ex364、メモリ部ex367がバスex370を介して互いに接続されている。
 電源回路部ex361は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することにより携帯電話ex114を動作可能な状態に起動する。
 携帯電話ex114は、CPU、ROM、RAM等を有する主制御部ex360の制御に基づいて、音声通話モード時に音声入力部ex356で収音した音声信号を音声信号処理部ex354でデジタル音声信号に変換し、これを変調/復調部ex352でスペクトラム拡散処理し、送信/受信部ex351でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex350を介して送信する。また携帯電話ex114は、音声通話モード時にアンテナex350を介して受信した受信データを増幅して周波数変換処理およびアナログデジタル変換処理を施し、変調/復調部ex352でスペクトラム逆拡散処理し、音声信号処理部ex354でアナログ音声信号に変換した後、これを音声出力部ex356から出力する。
 さらにデータ通信モード時に電子メールを送信する場合、本体部の操作キー部ex366等の操作によって入力された電子メールのテキストデータは操作入力制御部ex362を介して主制御部ex360に送出される。主制御部ex360は、テキストデータを変調/復調部ex352でスペクトラム拡散処理をし、送信/受信部ex351でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex350を介して基地局ex110へ送信する。電子メールを受信する場合は、受信したデータに対してこのほぼ逆の処理が行われ、表示部ex358に出力される。
 データ通信モード時に映像、静止画、または映像と音声を送信する場合、映像信号処理部ex355は、カメラ部ex365から供給された映像信号を上記各実施の形態で示した動画像符号化方法によって圧縮符号化し、符号化された映像データを多重/分離部ex353に送出する。また、音声信号処理部ex354は、映像、静止画等をカメラ部ex365で撮像中に音声信号入力部ex356で収音した音声信号を符号化し、符号化された音声データを多重/分離部ex353に送出する。
 多重/分離部ex353は、映像信号処理部ex355から供給された符号化された映像データと音声信号処理部ex354から供給された符号化された音声データを所定の方式で多重化し、その結果得られる多重化データを変調/復調回路部ex352でスペクトラム拡散処理をし、送信/受信部ex351でデジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex350を介して送信する。
 データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、または映像およびもしくは音声が添付された電子メールを受信する場合、アンテナex350を介して受信された多重化データを復号化するために、多重/分離部ex353は、多重化データを分離することにより映像データのビットストリームと音声データのビットストリームとに分け、同期バスex370を介して符号化された映像データを映像信号処理部ex355に供給するとともに、符号化された音声データを音声信号処理部ex354に供給する。映像信号処理部ex355は、上記各実施の形態で示した動画像符号化方法に対応した動画像復号化方法によって復号化することにより映像信号を復号し、LCD制御部ex359を介して表示部ex358から、例えばホームページにリンクされた動画像ファイルに含まれる映像、静止画が表示される。また音声信号処理部ex354は、音声信号を復号し、音声出力部ex357から音声が出力される。
 また、上記携帯電話ex114等の端末は、テレビex300と同様に、符号化器・復号化器を両方持つ送受信型端末の他に、符号化器のみの送信端末、復号化器のみの受信端末という3通りの実装形式が考えられる。さらに、デジタル放送用システムex200において、映像データに音楽データなどが多重化された多重化された多重化データを受信、送信するとして説明したが、音声データ以外に映像に関連する文字データなどが多重化されたデータであってもよいし、多重化データではなく映像データ自体であってもよい。
 このように、上記各実施の形態で示した動画像符号化方法あるいは動画像復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記各実施の形態で説明した効果を得ることができる。
 また、本発明はかかる上記実施形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
 (実施の形態3)
 上記各実施の形態で示した動画像符号化方法または装置と、MPEG-2、MPEG4-AVC、VC-1など異なる規格に準拠した動画像符号化方法または装置とを、必要に応じて適宜切替えることにより、映像データを生成することも可能である。
 ここで、それぞれ異なる規格に準拠する複数の映像データを生成した場合、復号する際に、それぞれの規格に対応した復号方法を選択する必要がある。しかしながら、復号する映像データが、どの規格に準拠するものであるか識別できないため、適切な復号方法を選択することができないという課題を生じる。
 この課題を解決するために、映像データに音声データなどを多重化した多重化データは、映像データがどの規格に準拠するものであるかを示す識別情報を含む構成とする。上記各実施の形態で示す動画像符号化方法または装置によって生成された映像データを含む多重化データの具体的な構成を以下説明する。多重化データは、MPEG-2トランスポートストリーム形式のデジタルストリームである。
 図30は、多重化データの構成を示す図である。図30に示すように多重化データは、ビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム(PG)、インタラクティブグラファイックスストリームのうち、1つ以上を多重化することで得られる。ビデオストリームは映画の主映像および副映像を、オーディオストリーム(IG)は映画の主音声部分とその主音声とミキシングする副音声を、プレゼンテーショングラフィックスストリームは、映画の字幕をそれぞれ示している。ここで主映像とは画面に表示される通常の映像を示し、副映像とは主映像の中に小さな画面で表示する映像のことである。また、インタラクティブグラフィックスストリームは、画面上にGUI部品を配置することにより作成される対話画面を示している。ビデオストリームは、上記各実施の形態で示した動画像符号化方法または装置、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠した動画像符号化方法または装置によって符号化されている。オーディオストリームは、ドルビーAC-3、Dolby Digital Plus、MLP、DTS、DTS-HD、または、リニアPCMのなどの方式で符号化されている。
 多重化データに含まれる各ストリームはPIDによって識別される。例えば、映画の映像に利用するビデオストリームには0x1011が、オーディオストリームには0x1100から0x111Fまでが、プレゼンテーショングラフィックスには0x1200から0x121Fまでが、インタラクティブグラフィックスストリームには0x1400から0x141Fまでが、映画の副映像に利用するビデオストリームには0x1B00から0x1B1Fまで、主音声とミキシングする副音声に利用するオーディオストリームには0x1A00から0x1A1Fが、それぞれ割り当てられている。
 図31は、多重化データがどのように多重化されるかを模式的に示す図である。まず、複数のビデオフレームからなるビデオストリームex235、複数のオーディオフレームからなるオーディオストリームex238を、それぞれPESパケット列ex236およびex239に変換し、TSパケットex237およびex240に変換する。同じくプレゼンテーショングラフィックスストリームex241およびインタラクティブグラフィックスex244のデータをそれぞれPESパケット列ex242およびex245に変換し、さらにTSパケットex243およびex246に変換する。多重化データex247はこれらのTSパケットを1本のストリームに多重化することで構成される。
 図32は、PESパケット列に、ビデオストリームがどのように格納されるかをさらに詳しく示している。図32における第1段目はビデオストリームのビデオフレーム列を示す。第2段目は、PESパケット列を示す。図32の矢印yy1,yy2,yy3,yy4に示すように、ビデオストリームにおける複数のVideo Presentation UnitであるIピクチャ、Bピクチャ、Pピクチャは、ピクチャ毎に分割され、PESパケットのペイロードに格納される。各PESパケットはPESヘッダを持ち、PESヘッダには、ピクチャの表示時刻であるPTS(Presentation Time-Stamp)やピクチャの復号時刻であるDTS(Decoding Time-Stamp)が格納される。
 図33は、多重化データに最終的に書き込まれるTSパケットの形式を示している。TSパケットは、ストリームを識別するPIDなどの情報を持つ4ByteのTSヘッダとデータを格納する184ByteのTSペイロードから構成される188Byte固定長のパケットであり、上記PESパケットは分割されTSペイロードに格納される。BD-ROMの場合、TSパケットには、4ByteのTP_Extra_Headerが付与され、192Byteのソースパケットを構成し、多重化データに書き込まれる。TP_Extra_HeaderにはATS(Arrival_Time_Stamp)などの情報が記載される。ATSは当該TSパケットのデコーダのPIDフィルタへの転送開始時刻を示す。多重化データには図33下段に示すようにソースパケットが並ぶこととなり、多重化データの先頭からインクリメントする番号はSPN(ソースパケットナンバー)と呼ばれる。
 また、多重化データに含まれるTSパケットには、映像・音声・字幕などの各ストリーム以外にもPAT(Program Association Table)、PMT(Program Map Table)、PCR(Program Clock Reference)などがある。PATは多重化データ中に利用されるPMTのPIDが何であるかを示し、PAT自身のPIDは0で登録される。PMTは、多重化データ中に含まれる映像・音声・字幕などの各ストリームのPIDと各PIDに対応するストリームの属性情報を持ち、また多重化データに関する各種ディスクリプタを持つ。ディスクリプタには多重化データのコピーを許可・不許可を指示するコピーコントロール情報などがある。PCRは、ATSの時間軸であるATC(Arrival Time Clock)とPTS・DTSの時間軸であるSTC(System Time Clock)の同期を取るために、そのPCRパケットがデコーダに転送されるATSに対応するSTC時間の情報を持つ。
 図34はPMTのデータ構造を詳しく説明する図である。PMTの先頭には、そのPMTに含まれるデータの長さなどを記したPMTヘッダが配置される。その後ろには、多重化データに関するディスクリプタが複数配置される。上記コピーコントロール情報などが、ディスクリプタとして記載される。ディスクリプタの後には、多重化データに含まれる各ストリームに関するストリーム情報が複数配置される。ストリーム情報は、ストリームの圧縮コーデックなどを識別するためストリームタイプ、ストリームのPID、ストリームの属性情報(フレームレート、アスペクト比など)が記載されたストリームディスクリプタから構成される。ストリームディスクリプタは多重化データに存在するストリームの数だけ存在する。
 記録媒体などに記録する場合には、上記多重化データは、多重化データ情報ファイルと共に記録される。
 多重化データ情報ファイルは、図35に示すように多重化データの管理情報であり、多重化データと1対1に対応し、多重化データ情報、ストリーム属性情報とエントリマップから構成される。
 多重化データ情報は図35に示すようにシステムレート、再生開始時刻、再生終了時刻から構成されている。システムレートは多重化データの、後述するシステムターゲットデコーダのPIDフィルタへの最大転送レートを示す。多重化データ中に含まれるATSの間隔はシステムレート以下になるように設定されている。再生開始時刻は多重化データの先頭のビデオフレームのPTSであり、再生終了時刻は多重化データの終端のビデオフレームのPTSに1フレーム分の再生間隔を足したものが設定される。
 ストリーム属性情報は図36に示すように、多重化データに含まれる各ストリームについての属性情報が、PID毎に登録される。属性情報はビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックスストリーム毎に異なる情報を持つ。ビデオストリーム属性情報は、そのビデオストリームがどのような圧縮コーデックで圧縮されたか、ビデオストリームを構成する個々のピクチャデータの解像度がどれだけであるか、アスペクト比はどれだけであるか、フレームレートはどれだけであるかなどの情報を持つ。オーディオストリーム属性情報は、そのオーディオストリームがどのような圧縮コーデックで圧縮されたか、そのオーディオストリームに含まれるチャンネル数は何であるか、何の言語に対応するか、サンプリング周波数がどれだけであるかなどの情報を持つ。これらの情報は、プレーヤが再生する前のデコーダの初期化などに利用される。
 本実施の形態においては、上記多重化データのうち、PMTに含まれるストリームタイプを利用する。また、記録媒体に多重化データが記録されている場合には、多重化データ情報に含まれる、ビデオストリーム属性情報を利用する。具体的には、上記各実施の形態で示した動画像符号化方法または装置において、PMTに含まれるストリームタイプ、または、ビデオストリーム属性情報に対し、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示す固有の情報を設定するステップまたは手段を設ける。この構成により、上記各実施の形態で示した動画像符号化方法または装置によって生成した映像データと、他の規格に準拠する映像データとを識別することが可能になる。
 また、本実施の形態における動画像復号化方法のステップを図37に示す。ステップexS100において、多重化データからPMTに含まれるストリームタイプ、または、多重化データ情報に含まれるビデオストリーム属性情報を取得する。次に、ステップexS101において、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成された多重化データであることを示しているか否かを判断する。そして、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成されたものであると判断された場合には、ステップexS102において、上記各実施の形態で示した動画像復号方法により復号を行う。また、ストリームタイプ、または、ビデオストリーム属性情報が、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠するものであることを示している場合には、ステップexS103において、従来の規格に準拠した動画像復号方法により復号を行う。
 このように、ストリームタイプ、または、ビデオストリーム属性情報に新たな固有値を設定することにより、復号する際に、上記各実施の形態で示した動画像復号化方法または装置で復号可能であるかを判断することができる。従って、異なる規格に準拠する多重化データが入力された場合であっても、適切な復号化方法または装置を選択することができるため、エラーを生じることなく復号することが可能となる。また、本実施の形態で示した動画像符号化方法または装置、または、動画像復号方法または装置を、上述したいずれの機器・システムに用いることも可能である。
 (実施の形態4)
 上記各実施の形態で示した動画像符号化方法および装置、動画像復号化方法および装置は、典型的には集積回路であるLSIで実現される。一例として、図38に1チップ化されたLSIex500の構成を示す。LSIex500は、以下に説明する要素ex501、ex502、ex503、ex504、ex505、ex506、ex507、ex508、ex509を備え、各要素はバスex510を介して接続している。電源回路部ex505は電源がオン状態の場合に各部に対して電力を供給することで動作可能な状態に起動する。
 例えば符号化処理を行う場合には、LSIex500は、CPUex502、メモリコントローラex503、ストリームコントローラex504、駆動周波数制御部ex512等を有する制御部ex501の制御に基づいて、AV I/Oex509によりマイクex117やカメラex113等からAV信号を入力する。入力されたAV信号は、一旦SDRAM等の外部のメモリex511に蓄積される。制御部ex501の制御に基づいて、蓄積したデータは処理量や処理速度に応じて適宜複数回に分けるなどされ信号処理部ex507に送られ、信号処理部ex507において音声信号の符号化および/または映像信号の符号化が行われる。ここで映像信号の符号化処理は上記各実施の形態で説明した符号化処理である。信号処理部ex507ではさらに、場合により符号化された音声データと符号化された映像データを多重化するなどの処理を行い、ストリームI/Oex506から外部に出力する。この出力された多重化データは、基地局ex107に向けて送信されたり、または記録メディアex215に書き込まれたりする。なお、多重化する際には同期するよう、一旦バッファex508にデータを蓄積するとよい。
 なお、上記では、メモリex511がLSIex500の外部の構成として説明したが、LSIex500の内部に含まれる構成であってもよい。バッファex508も1つに限ったものではなく、複数のバッファを備えていてもよい。また、LSIex500は1チップ化されてもよいし、複数チップ化されてもよい。
 また、上記では、制御部ex510が、CPUex502、メモリコントローラex503、ストリームコントローラex504、駆動周波数制御部ex512等を有するとしているが、制御部ex510の構成は、この構成に限らない。例えば、信号処理部ex507がさらにCPUを備える構成であってもよい。信号処理部ex507の内部にもCPUを設けることにより、処理速度をより向上させることが可能になる。また、他の例として、CPUex502が信号処理部ex507、または信号処理部ex507の一部である例えば音声信号処理部を備える構成であってもよい。このような場合には、制御部ex501は、信号処理部ex507、またはその一部を有するCPUex502を備える構成となる。
 なお、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
 また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
 さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
 (実施の形態5)
 上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データを復号する場合、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠する映像データを復号する場合に比べ、処理量が増加することが考えられる。そのため、LSIex500において、従来の規格に準拠する映像データを復号する際のCPUex502の駆動周波数よりも高い駆動周波数に設定する必要がある。しかし、駆動周波数を高くすると、消費電力が高くなるという課題が生じる。
 この課題を解決するために、テレビex300、LSIex500などの動画像復号化装置は、映像データがどの規格に準拠するものであるかを識別し、規格に応じて駆動周波数を切替える構成とする。図39は、本実施の形態における構成ex800を示している。駆動周波数切替え部ex803は、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合には、駆動周波数を高く設定する。そして、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801に対し、映像データを復号するよう指示する。一方、映像データが、従来の規格に準拠する映像データである場合には、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合に比べ、駆動周波数を低く設定する。そして、従来の規格に準拠する復号処理部ex802に対し、映像データを復号するよう指示する。
 より具体的には、駆動周波数切替え部ex803は、図38のCPUex502と駆動周波数制御部ex512から構成される。また、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801、および、従来の規格に準拠する復号処理部ex802は、図38の信号処理部ex507に該当する。CPUex502は、映像データがどの規格に準拠するものであるかを識別する。そして、CPUex502からの信号に基づいて、駆動周波数制御部ex512は、駆動周波数を設定する。また、CPUex502からの信号に基づいて、信号処理部ex507は、映像データの復号を行う。ここで、映像データの識別には、例えば、実施の形態3で記載した識別情報を利用することが考えられる。識別情報に関しては、実施の形態3で記載したものに限られず、映像データがどの規格に準拠するか識別できる情報であればよい。例えば、映像データがテレビに利用されるものであるか、ディスクに利用されるものであるかなどを識別する外部信号に基づいて、映像データがどの規格に準拠するものであるか識別可能である場合には、このような外部信号に基づいて識別してもよい。また、CPUex502における駆動周波数の選択は、例えば、図41のような映像データの規格と、駆動周波数とを対応付けたルックアップテーブルに基づいて行うことが考えられる。ルックアップテーブルを、バッファex508や、LSIの内部メモリに格納しておき、CPUex502がこのルックアップテーブルを参照することにより、駆動周波数を選択することが可能である。
 図40は、本実施の形態の方法を実施するステップを示している。まず、ステップexS200では、信号処理部ex507において、多重化データから識別情報を取得する。次に、ステップexS201では、CPUex502において、識別情報に基づいて映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものであるか否かを識別する。映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものである場合には、ステップexS202において、駆動周波数を高く設定する信号を、CPUex502が駆動周波数制御部ex512に送る。そして、駆動周波数制御部ex512において、高い駆動周波数に設定される。一方、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠する映像データであることを示している場合には、ステップexS203において、駆動周波数を低く設定する信号を、CPUex502が駆動周波数制御部ex512に送る。そして、駆動周波数制御部ex512において、映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものである場合に比べ、低い駆動周波数に設定される。
 さらに、駆動周波数の切替えに連動して、LSIex500またはLSIex500を含む装置に与える電圧を変更することにより、省電力効果をより高めることが可能である。例えば、駆動周波数を低く設定する場合には、これに伴い、駆動周波数を高く設定している場合に比べ、LSIex500またはLSIex500を含む装置に与える電圧を低く設定することが考えられる。
 また、駆動周波数の設定方法は、復号する際の処理量が大きい場合に、駆動周波数を高く設定し、復号する際の処理量が小さい場合に、駆動周波数を低く設定すればよく、上述した設定方法に限らない。例えば、MPEG4-AVC規格に準拠する映像データを復号する処理量の方が、上記各実施の形態で示した動画像符号化方法または装置により生成された映像データを復号する処理量よりも大きい場合には、駆動周波数の設定を上述した場合の逆にすることが考えられる。
 さらに、駆動周波数の設定方法は、駆動周波数を低くする構成に限らない。例えば、識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合には、LSIex500またはLSIex500を含む装置に与える電圧を高く設定し、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠する映像データであることを示している場合には、LSIex500またはLSIex500を含む装置に与える電圧を低く設定することも考えられる。また、他の例としては、識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合には、CPUex502の駆動を停止させることなく、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠する映像データであることを示している場合には、処理に余裕があるため、CPUex502の駆動を一時停止させることも考えられる。識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合であっても、処理に余裕があれば、CPUex502の駆動を一時停止させることも考えられる。この場合は、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠する映像データであることを示している場合に比べて、停止時間を短く設定することが考えられる。
 このように、映像データが準拠する規格に応じて、駆動周波数を切替えることにより、省電力化を図ることが可能になる。また、電池を用いてLSIex500またはLSIex500を含む装置を駆動している場合には、省電力化に伴い、電池の寿命を長くすることが可能である。
 (実施の形態6)
 テレビや、携帯電話など、上述した機器・システムには、異なる規格に準拠する複数の映像データが入力される場合がある。このように、異なる規格に準拠する複数の映像データが入力された場合にも復号できるようにするために、LSIex500の信号処理部ex507が複数の規格に対応している必要がある。しかし、それぞれの規格に対応する信号処理部ex507を個別に用いると、LSIex500の回路規模が大きくなり、また、コストが増加するという課題が生じる。
 この課題を解決するために、上記各実施の形態で示した動画像復号方法を実行するための復号処理部と、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠する復号処理部とを一部共有化する構成とする。この構成例を図42Aのex900に示す。例えば、上記各実施の形態で示した動画像復号方法と、MPEG4-AVC規格に準拠する動画像復号方法とは、エントロピー符号化、逆量子化、デブロッキング・フィルタ、動き補償などの処理において処理内容が一部共通する。共通する処理内容については、MPEG4-AVC規格に対応する復号処理部ex902を共有し、MPEG4-AVC規格に対応しない、本発明特有の他の処理内容については、専用の復号処理部ex901を用いるという構成が考えられる。特に、本発明は、逆量子化に特徴を有していることから、例えば、逆量子化については専用の復号処理部ex901を用い、それ以外のエントロピー符号化、デブロッキング・フィルタ、動き補償のいずれか、または、全ての処理については、復号処理部を共有することが考えられる。復号処理部の共有化に関しては、共通する処理内容については、上記各実施の形態で示した動画像復号化方法を実行するための復号処理部を共有し、MPEG4-AVC規格に特有の処理内容については、専用の復号処理部を用いる構成であってもよい。
 また、処理を一部共有化する他の例を図42Bのex1000に示す。この例では、本発明に特有の処理内容に対応した専用の復号処理部ex1001と、他の従来規格に特有の処理内容に対応した専用の復号処理部ex1002と、本発明の動画像復号方法と他の従来規格の動画像復号方法とに共通する処理内容に対応した共用の復号処理部ex1003とを用いる構成としている。ここで、専用の復号処理部ex1001、ex1002は、必ずしも本発明、または、他の従来規格に特有の処理内容に特化したものではなく、他の汎用処理を実行できるものであってもよい。また、本実施の形態の構成を、LSIex500で実装することも可能である。
 このように、本発明の動画像復号方法と、従来の規格の動画像復号方法とで共通する処理内容について、復号処理部を共有することにより、LSIの回路規模を小さくし、かつ、コストを低減することが可能である。
 本発明にかかる画像符号化方法および画像復号方法は、符号化効率および主観画質の低下を抑えることができるという効果を奏し、例えば、動画像撮影および記録機能を有する携帯電話や、録画再生装置、またはパーソナルコンピュータなどに適用することができる。
 100  画像符号化装置
 101  減算部
 102  直交変換切替部
 103  直交変換部
 104  量子化部
 200  画像復号装置
 201  逆直交変換切替部
 202  逆量子化部
 203  逆直交変換部
 204  加算部
 1000  画像符号化装置
 1101  減算器
 1102  変換量子化部
 1104  エントロピー符号化部
 1105  逆量子化逆変換部
 1107  加算器
 1108  デブロッキングフィルタ
 1109  メモリ
 1110  面内予測部
 1111  動き補償部
 1112  動き検出部
 1201  第1の直交変換部
 1202  第2の直交変換部
 1203  切替制御部
 1204  第1の切替スイッチ
 1205  第2の切替スイッチ
 1211  第1の量子化部
 1212  第2の量子化部
 1301  第1の逆量子化部
 1302  第2の逆量子化部
 1303  切替制御部
 1304  第3の切替スイッチ
 1305  第4の切替スイッチ
 1311  第1の逆直交変換部
 1312  第2の逆直交変換部

Claims (19)

  1.  符号化画像を復号する画像復号方法であって、
     前記符号化画像に応じて逆直交変換の種類を切り替えることによって、第1および第2の逆直交変換の中から、当該符号化画像に適用される逆直交変換を選択し、
     前記符号化画像を逆量子化し、
     逆量子化された前記符号化画像に対して、前記切り替えによって選択された逆直交変換を行い、
     前記逆直交変換によって生成された差分画像と、前記符号化画像に対応する予測画像とを加算することによって復号画像を生成し、
     前記第1の逆直交変換を用いて生成される復号画像の主観画質は、前記第2の逆直交変換を用いて生成される復号画像の主観画質よりも高く、前記第2の逆直交変換は前記第1の逆直交変換よりも変換効率が高い
     画像復号方法。
  2.  前記第1の逆直交変換に用いられる変換行列のうちの、最も低い周波数成分の変換に用いられる基底の複数の要素の値は、前記第2の逆直交変換に用いられる変換行列のうちの、最も低い周波数成分の変換に用いられる基底の複数の要素の値よりも、均一に揃えられている
     請求項1に記載の画像復号方法。
  3.  前記切り替えでは、
     前記予測画像が複雑であるか否かを判別し、
     複雑であると判別された場合には、前記第2の逆直交変換を選択し、
     複雑でないと判別された場合には、前記第1の逆直交変換を選択する
     請求項2に記載の画像復号方法。
  4.  前記予測画像が複雑か否かの判別では、
     前記予測画像の生成に利用された予測モードを取得し、
     前記予測モードが予め定められたモードである場合には、前記予測画像が複雑でないと判別し、
     前記予測モードが予め定められたモードでない場合には、前記予測画像が複雑であると判別する
     請求項3に記載の画像復号方法。
  5.  前記切り替えでは、
     前記符号化画像が複雑であるか否かを判別し、
     複雑であると判別された場合には、前記第2の逆直交変換を選択し、
     複雑でないと判別された場合には、前記第1の逆直交変換を選択する
     請求項2に記載の画像復号方法。
  6.  前記符号化画像が複雑か否かの判別では、
     前記符号化画像に含まれる量子化値の総和を算出し、
     前記総和が予め定められた閾値よりも大きいか否かを判定し、
     前記総和が大きいと判定された場合には、前記符号化画像が複雑であると判別し、
     前記総和が大きくないと判定された場合には、前記符号化画像が複雑でないと判別する
     請求項5に記載の画像復号方法。
  7.  前記符号化画像が複雑か否かの判別では、
     前記符号化画像に含まれる量子化値のうちの、最も低い周波数成分を除く残りの複数の周波数成分の量子化値が全て0であるか否かを判定し、
     前記複数の周波数成分の量子化値のうちの何れかの量子化値が0でないと判定された場合には、前記符号化画像が複雑であると判別し、
     前記複数の周波数成分の量子化値が全て0であると判定された場合には、前記符号化画像が複雑でないと判別する
     請求項5に記載の画像復号方法。
  8.  前記第1の逆直交変換は、逆離散コサイン変換であり、前記第2の逆直交変換は、逆カルーネンレーベ変換である
     請求項2に記載の画像復号方法。
  9.  前記第1および第2の逆直交変換は、逆カルーネンレーベ変換であって、
     前記第1の逆直交変換に用いられる変換行列のうちの、最も低い周波数成分の変換に用いられる基底の各要素は、同一の値に揃えられている
     請求項2に記載の画像復号方法。
  10.  前記画像復号方法は、さらに、
     前記切り替えによって選択された逆直交変換が1段目の逆直交変換として行われた前記符号化画像に対して、2段目の逆直交変換を行い、
     前記1段目の逆直交変換を行う際には、
     前記逆量子化された前記符号化画像の一部である部分領域のみに対して、前記切り替えによって選択された逆直交変換を前記1段目の逆直交変換として行い、
     前記2段目の逆直交変換を行う際には、
     前記1段目の逆直交変換が行われた前記部分領域と、前記逆量子化された前記符号化画像に含まれる前記部分領域以外の領域とを含む画像に対して、前記2段目の逆直交変換を行い、
     前記復号画像を生成する際には、
     前記1段目の逆直交変換および2段目の逆直交変換によって生成される前記差分画像に前記予測画像を加算することによって前記復号画像を生成する
     請求項1に記載の画像復号方法。
  11.  前記切り替えによって、前記第1の逆直交変換が前記1段目の逆直交変換として選択された場合、
     前記1段目の逆直交変換を行う際には、
     前記逆量子化された前記符号化画像のうち、最も低い周波数成分を含まない領域を前記部分領域として選択し、前記部分領域に対して前記第1の逆直交変換を行い、
     前記切り替えによって、前記第2の逆直交変換が前記1段目の逆直交変換として選択された場合、
     前記1段目の逆直交変換を行う際には、
     前記逆量子化された前記符号化画像のうち、最も低い周波数成分を含む領域を前記部分領域として選択し、前記部分領域に対して前記第2の逆直交変換を行う
     請求項10に記載の画像復号方法。
  12.  前記第1の逆直交変換に用いられる変換行列の各対角要素の値は、前記第2の逆直交変換に用いられる変換行列の各対角要素の値よりも1に近い
     請求項10に記載の画像復号方法。
  13.  画像を符号化する画像符号化方法であって、
     前記画像から、当該画像に対応する予測画像を減算することによって差分画像を生成し、
     前記画像に応じて直交変換の種類を切り替えることによって、第1および第2の直交変換の中から、当該差分画像に適用される直交変換を選択し、
     前記差分画像に対して、前記切り替えによって選択された直交変換を行い、
     前記直交変換によって生成された少なくとも1つの周波数係数からなる係数ブロックを量子化し、
     前記第1の直交変換および前記量子化によって生成される符号化画像に対応する復号画像の主観画質は、前記第2の直交変換および前記量子化によって生成される符号化画像に対応する復号画像の主観画質よりも高く、前記第2の直交変換は前記第1の直交変換よりも変換効率が高い
     画像符号化方法。
  14.  符号化画像を復号する画像復号装置であって、
     前記符号化画像に応じて逆直交変換の種類を切り替えることによって、第1および第2の逆直交変換の中から、当該符号化画像に適用される逆直交変換を選択する逆直交変換切替部と、
     前記符号化画像を逆量子化する逆量子化部と、
     逆量子化された前記符号化画像に対して、前記逆直交変換切替部によって選択された逆直交変換を行う逆直交変換部と、
     前記逆直交変換によって生成された差分画像と、前記符号化画像に対応する予測画像とを加算することによって復号画像を生成する加算部とを備え、
     前記第1の逆直交変換を用いて生成される復号画像の主観画質は、前記第2の逆直交変換を用いて生成される復号画像の主観画質よりも高く、前記第2の逆直交変換は前記第1の逆直交変換よりも変換効率が高い
     画像復号装置。
  15.  画像を符号化する画像符号化装置であって、
     前記画像から、当該画像に対応する予測画像を減算することによって差分画像を生成する減算部と、
     前記画像に応じて直交変換の種類を切り替えることによって、第1および第2の直交変換の中から、当該差分画像に適用される直交変換を選択する直交変換切替部と、
     前記差分画像に対して、前記直交変換切替部によって選択された直交変換を行う直交変換部と、
     前記直交変換によって生成された少なくとも1つの周波数係数からなる係数ブロックを量子化する量子化部とを備え、
     前記第1の直交変換および前記量子化によって生成される符号化画像に対応する復号画像の主観画質は、前記第2の直交変換および前記量子化によって生成される符号化画像に対応する復号画像の主観画質よりも高く、前記第2の直交変換は前記第1の直交変換よりも変換効率が高い
     画像符号化装置。
  16.  符号化画像を復号するためのプログラムであって、
     前記符号化画像に応じて逆直交変換の種類を切り替えることによって、第1および第2の逆直交変換の中から、当該符号化画像に適用される逆直交変換を選択し、
     前記符号化画像を逆量子化し、
     逆量子化された前記符号化画像に対して、前記切り替えによって選択された逆直交変換を行い、
     前記逆直交変換によって生成された差分画像と、前記符号化画像に対応する予測画像とを加算することによって復号画像を生成することを、コンピュータに実行させ、
     前記第1の逆直交変換を用いて生成される復号画像の主観画質は、前記第2の逆直交変換を用いて生成される復号画像の主観画質よりも高く、前記第2の逆直交変換は前記第1の逆直交変換よりも変換効率が高い
     プログラム。
  17.  画像を符号化するためのプログラムであって、
     前記画像から、当該画像に対応する予測画像を減算することによって差分画像を生成し、
     前記画像に応じて直交変換の種類を切り替えることによって、第1および第2の直交変換の中から、当該差分画像に適用される直交変換を選択し、
     前記差分画像に対して、前記切り替えによって選択された直交変換を行い、
     前記直交変換によって生成された少なくとも1つの周波数係数からなる係数ブロックを量子化することを、コンピュータに実行させ、
     前記第1の直交変換および前記量子化によって生成される符号化画像に対応する復号画像の主観画質は、前記第2の直交変換および前記量子化によって生成される符号化画像に対応する復号画像の主観画質よりも高く、前記第2の直交変換は前記第1の直交変換よりも変換効率が高い
     プログラム。
  18.  符号化画像を復号する集積回路であって、
     前記符号化画像に応じて逆直交変換の種類を切り替えることによって、第1および第2の逆直交変換の中から、当該符号化画像に適用される逆直交変換を選択する逆直交変換切替部と、
     前記符号化画像を逆量子化する逆量子化部と、
     逆量子化された前記符号化画像に対して、前記逆直交変換切替部によって選択された逆直交変換を行う逆直交変換部と、
     前記逆直交変換によって生成された差分画像と、前記符号化画像に対応する予測画像とを加算することによって復号画像を生成する加算部とを備え、
     前記第1の逆直交変換を用いて生成される復号画像の主観画質は、前記第2の逆直交変換を用いて生成される復号画像の主観画質よりも高く、前記第2の逆直交変換は前記第1の逆直交変換よりも変換効率が高い
     集積回路。
  19.  画像を符号化する集積回路であって、
     前記画像から、当該画像に対応する予測画像を減算することによって差分画像を生成する減算部と、
     前記画像に応じて直交変換の種類を切り替えることによって、第1および第2の直交変換の中から、当該差分画像に適用される直交変換を選択する直交変換切替部と、
     前記差分画像に対して、前記直交変換切替部によって選択された直交変換を行う直交変換部と、
     前記直交変換によって生成された少なくとも1つの周波数係数からなる係数ブロックを量子化する量子化部とを備え、
     前記第1の直交変換および前記量子化によって生成される符号化画像に対応する復号画像の主観画質は、前記第2の直交変換および前記量子化によって生成される符号化画像に対応する復号画像の主観画質よりも高く、前記第2の直交変換は前記第1の直交変換よりも変換効率が高い
     集積回路。
PCT/JP2011/001104 2010-03-01 2011-02-25 画像符号化方法および画像復号方法 WO2011108240A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US30909010P 2010-03-01 2010-03-01
US61/309,090 2010-03-01

Publications (1)

Publication Number Publication Date
WO2011108240A1 true WO2011108240A1 (ja) 2011-09-09

Family

ID=44541910

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/001104 WO2011108240A1 (ja) 2010-03-01 2011-02-25 画像符号化方法および画像復号方法

Country Status (1)

Country Link
WO (1) WO2011108240A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014531154A (ja) * 2011-09-15 2014-11-20 ヴィド スケール インコーポレイテッド 空間的予測のためのシステムおよび方法
WO2018037737A1 (ja) * 2016-08-24 2018-03-01 ソニー株式会社 画像処理装置、画像処理方法、及びプログラム

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0217777A (ja) * 1988-07-06 1990-01-22 Toshiba Corp 画像伝送方式
JPH09200762A (ja) * 1995-12-29 1997-07-31 Daewoo Electron Co Ltd 映像信号符号化方法及びその装置
JP2002314428A (ja) * 2001-04-09 2002-10-25 Ntt Docomo Inc 信号符号化方法及び装置並びに復号方法及び装置
JP2003204550A (ja) * 2002-01-07 2003-07-18 Mitsubishi Electric Corp 動画像符号化装置および動画像復号装置
WO2008131042A1 (en) * 2007-04-17 2008-10-30 Qualcomm Incorporated Directional transforms for intra-coding
WO2008157360A2 (en) * 2007-06-15 2008-12-24 Qualcomm Incorporated Adaptive transformation of residual blocks depending on the intra prediction mode
JP2009272727A (ja) * 2008-04-30 2009-11-19 Toshiba Corp 予測誤差の方向性に基づく変換方法、画像符号化方法及び画像復号化方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0217777A (ja) * 1988-07-06 1990-01-22 Toshiba Corp 画像伝送方式
JPH09200762A (ja) * 1995-12-29 1997-07-31 Daewoo Electron Co Ltd 映像信号符号化方法及びその装置
JP2002314428A (ja) * 2001-04-09 2002-10-25 Ntt Docomo Inc 信号符号化方法及び装置並びに復号方法及び装置
JP2003204550A (ja) * 2002-01-07 2003-07-18 Mitsubishi Electric Corp 動画像符号化装置および動画像復号装置
WO2008131042A1 (en) * 2007-04-17 2008-10-30 Qualcomm Incorporated Directional transforms for intra-coding
WO2008157360A2 (en) * 2007-06-15 2008-12-24 Qualcomm Incorporated Adaptive transformation of residual blocks depending on the intra prediction mode
JP2009272727A (ja) * 2008-04-30 2009-11-19 Toshiba Corp 予測誤差の方向性に基づく変換方法、画像符号化方法及び画像復号化方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014531154A (ja) * 2011-09-15 2014-11-20 ヴィド スケール インコーポレイテッド 空間的予測のためのシステムおよび方法
US9699452B2 (en) 2011-09-15 2017-07-04 Vid Scale, Inc Systems and methods for spatial prediction
US11432001B2 (en) 2011-09-15 2022-08-30 Vid Scale, Inc. Systems and methods for spatial prediction
US11785249B2 (en) 2011-09-15 2023-10-10 Vid Scale, Inc. Systems and methods for spatial prediction
WO2018037737A1 (ja) * 2016-08-24 2018-03-01 ソニー株式会社 画像処理装置、画像処理方法、及びプログラム
JPWO2018037737A1 (ja) * 2016-08-24 2019-06-20 ソニー株式会社 画像処理装置、画像処理方法、及びプログラム
JP2022028657A (ja) * 2016-08-24 2022-02-16 ソニーグループ株式会社 画像符号化装置、画像符号化方法、及びプログラム
JP7211467B2 (ja) 2016-08-24 2023-01-24 ソニーグループ株式会社 画像符号化装置、画像符号化方法、及びプログラム
US11722698B2 (en) 2016-08-24 2023-08-08 Sony Corporation Image processing apparatus and image processing method

Similar Documents

Publication Publication Date Title
JP6498811B2 (ja) 符号化方法および符号化装置
KR102094939B1 (ko) 화상 처리 방법 및 화상 처리 장치
JP6168365B2 (ja) 動画像符号化方法、動画像復号化方法、動画像符号化装置および動画像復号化装置
JP6145820B2 (ja) 画像符号化方法、画像符号化装置、画像復号方法、及び画像復号装置
WO2012140821A1 (ja) 動画像符号化方法、動画像符号化装置、動画像復号化方法、動画像復号化装置、および動画像符号化復号化装置
JP2014519211A (ja) 色平面内予測を用いて映像を符号化および復号する方法および装置
WO2012090504A1 (en) Methods and apparatuses for coding and decoding video stream
JP2014060713A (ja) 画像復号方法および画像復号装置
WO2012120840A1 (ja) 画像復号方法、画像符号化方法、画像復号装置および画像符号化装置
WO2011129090A1 (ja) 符号化歪み除去方法、符号化方法、復号化方法、符号化歪み除去装置、符号化装置、および復号化装置
WO2012014461A1 (ja) 符号化方法および復号化方法
WO2013001813A1 (ja) 画像符号化方法、画像復号方法、画像符号化装置および画像復号装置
JP6399433B2 (ja) 画像符号化方法、画像復号方法、画像符号化装置及び画像復号装置
JP5873029B2 (ja) 動画像符号化方法及び動画像復号化方法
JP6187887B2 (ja) 符号化方法および符号化装置
JP2018133820A (ja) 符号化方法、復号方法、符号化装置、および復号装置
WO2013005386A1 (en) Method and apparatus for encoding and decoding video using adaptive quantization matrix for square and rectangular transform units
WO2011132400A1 (ja) 画像符号化方法及び画像復号化方法
WO2011108240A1 (ja) 画像符号化方法および画像復号方法
JP6391018B2 (ja) 画像符号化方法、及び、画像符号化装置
WO2012042810A1 (ja) 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置および画像処理システム
WO2012077347A1 (ja) 復号方法
WO2012014426A1 (ja) 復号化方法および符号化方法
WO2012053210A1 (ja) 復号方法、符号化方法、復号装置、及び符号化装置
WO2012096195A1 (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: 11750353

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: 11750353

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP