WO2011155332A1 - 画像復号化装置と画像符号化装置およびその方法とプログラム - Google Patents

画像復号化装置と画像符号化装置およびその方法とプログラム Download PDF

Info

Publication number
WO2011155332A1
WO2011155332A1 PCT/JP2011/061974 JP2011061974W WO2011155332A1 WO 2011155332 A1 WO2011155332 A1 WO 2011155332A1 JP 2011061974 W JP2011061974 W JP 2011061974W WO 2011155332 A1 WO2011155332 A1 WO 2011155332A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
data
image data
transform
prediction
Prior art date
Application number
PCT/JP2011/061974
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 ソニー株式会社
Priority to RU2012151530/08A priority Critical patent/RU2012151530A/ru
Priority to EP11792289.8A priority patent/EP2582137A1/en
Priority to BR112012030544A priority patent/BR112012030544A2/pt
Priority to CN201180027201.5A priority patent/CN102918843B/zh
Priority to KR20127031223A priority patent/KR20130090322A/ko
Priority to US13/701,319 priority patent/US9053549B2/en
Publication of WO2011155332A1 publication Critical patent/WO2011155332A1/ja
Priority to US14/720,265 priority patent/US9596476B2/en
Priority to US15/432,338 priority patent/US9979982B2/en
Priority to US15/960,370 priority patent/US10499083B2/en

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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform coding, e.g. discrete cosine transform
    • 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/103Selection of coding mode or of prediction mode
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • 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/136Incoming video signal characteristics or properties
    • 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/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/197Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process

Definitions

  • the present invention relates to an image decoding device, an image encoding device, a method thereof, and a program. Specifically, an image decoding apparatus, an image encoding apparatus, a method thereof, and a program that can perform efficient decoding and encoding are provided.
  • image information has been handled as digital data.
  • the purpose is to transmit and store information efficiently, and it is based on a method such as MPEG that compresses by orthogonal transform and motion compensation using redundancy unique to image information.
  • Devices are becoming popular for both information distribution in broadcasting stations and information reception in general households.
  • MPEG2 ISO / IEC 13818-2
  • MPEG2 compression is a standard that covers both interlaced and progressively scanned images, as well as standard resolution and high definition images, and is currently widely used in a wide range of professional and consumer applications.
  • a high-resolution interlaced scanned image having 1920 ⁇ 1088 pixels can be allocated a code amount (bit rate) of 18 to 22 Mbps, thereby realizing a high compression ratio and good image quality. It is.
  • MPEG2 was mainly intended for high-quality encoding suitable for broadcasting, but did not support encoding methods with a lower code amount (bit rate) than MPEG1, that is, a higher compression rate.
  • bit rate code amount
  • MPEG4 encoding system has been standardized accordingly.
  • image coding system the standard was approved as an international standard as ISO / IEC 14496-2 in December 1998.
  • H.264 and MPEG-4 Part 10 are international standards. This H. H.264 / AVC is H.264. Based on 26L, It also incorporates functions not supported by 26L.
  • Patent Document 1 discloses that image data is more efficiently encoded using H.264 / AVC.
  • MDDT Mode-dependent directional transform
  • an object of the present invention is to provide an image decoding device, an image encoding device, a method thereof, and a program that can improve the encoding efficiency.
  • encoding is performed by orthogonally transforming prediction error data, which is an error between image data and predicted image data, for each transform block and processing the coefficient data after the orthogonal transform.
  • an image decoding device that decodes the image data from the bit stream, a data processing unit that processes the encoded bit stream to obtain coefficient data and encoding parameter information after the orthogonal transformation, and the encoding parameter information
  • An inverse orthogonal transform unit that obtains a prediction error by performing inverse orthogonal transform of the coefficient data using a base set in advance according to the position of the transform block in the indicated macroblock, and generates the predicted image data
  • the predicted image data generated by the predicted image data generating unit is added to the predicted error obtained by the predicted image data generating unit and the inverse orthogonal transform unit.
  • an addition unit for decoding the image data is performed by orthogonally transforming prediction error data, which is an error between image data and predicted image data, for each transform block and processing the coefficient data after the orthogonal transform.
  • the Karoonen-Labe inverse transform is performed using the set basis.
  • the base used in the inverse orthogonal transform unit is a reverse example of the base used when the prediction error data is orthogonally transformed for each transform block.
  • Such a base is provided in advance, and the prediction error data before the orthogonal transformation is generated by performing the inverse orthogonal transformation by selecting and using the basis corresponding to the block position or the like.
  • an encoding generated by orthogonally transforming prediction error data which is an error between image data and predicted image data, for each transform block, and processing the coefficient data after the orthogonal transform.
  • the predicted image data generation procedure for generating the predicted image data, and the generated prediction error obtained by the inverse orthogonal transform unit An adding procedure for decoding the image data by adding measurement image data in the program to be executed by the computer.
  • a prediction unit that generates predicted image data of the image data, and prediction that is an error between the image data and the predicted image data
  • An orthogonal unit that performs orthogonal transform of the prediction error for each transform block and performs orthogonal transform using a base set in advance according to the position of the transform block in a macro block.
  • the image coding apparatus includes a transform unit and a data processing unit that processes output data of the orthogonal transform unit to generate a coded bitstream.
  • the block position and block position of the transform block in the macro block and the predicted image data are obtained.
  • a base set in advance according to the prediction mode at the time of generation is used, and orthogonal transformation, for example, Karhunen-Loeve transformation, is performed.
  • Karoonen-Label transform is performed on the block configured with the coefficient of the lowest frequency component after orthogonal transform in each transform block.
  • a base set in advance according to the prediction mode is used.
  • This base is obtained by using a plurality of images prepared for base learning in advance, in each transform block for each macroblock size, each transform block size, each transform block position in the macroblock, and each prediction mode. Is an eigenvector corresponding to the eigenvalue of the matrix calculated from the prediction error data.
  • the bases are grouped according to the distance between the bases or the distance from the reference pixel.
  • Such a base is provided in advance, and an orthogonal transform is performed by selecting and using a base corresponding to a block position or the like. Further, the coefficient data after the orthogonal transform is subjected to processing such as quantization and lossless encoding, and an encoded bit stream is generated.
  • a predicted image data generation step for generating predicted image data of the image data, and an error between the image data and the predicted image data
  • a subtraction process for generating prediction error data, and orthogonal transformation of the prediction error is performed for each transformation block, and the orthogonal transformation is performed using a base set in advance according to the position of the transformation block in a macroblock.
  • the image encoding method includes an orthogonal transform step for performing the above.
  • the program of the present invention is, for example, a storage medium or communication medium provided in a computer-readable format to a general-purpose computer system capable of executing various program codes, such as an optical disk, a magnetic disk, a semiconductor memory, etc. Or a program that can be provided by a communication medium such as a network.
  • a program that can be provided by a communication medium such as a network.
  • the orthogonal transformation is performed using a base set in advance according to the block position of the transformation block in the macroblock.
  • it is included in the encoded bitstream.
  • Inverse orthogonal transformation is performed using a base set in advance according to the block position in the macroblock indicated by the encoding parameter information, so that coefficient data after orthogonal transformation is predicted before orthogonal transformation. Error data can be restored.
  • orthogonal transform and inverse orthogonal transform are performed using a base corresponding to the block position in the macroblock, it is possible to perform a transform optimized according to the block position and improve coding efficiency. be able to.
  • FIG. 1 shows the configuration of an image encoding device.
  • the image encoding device 10 includes an analog / digital conversion unit (A / D conversion unit) 11, a screen rearrangement buffer 12, a subtraction unit 13, an orthogonal transformation unit 14, a quantization unit 15, a lossless encoding unit 16, and a storage buffer 17.
  • the rate control unit 18 is provided.
  • the image encoding device 10 includes an inverse quantization unit 21, an inverse orthogonal transform unit 22, an addition unit 23, a deblocking filter 24, a frame memory 27, an intra prediction unit 31, a motion prediction / compensation unit 32, a predicted image / optimum A mode selection unit 33 is provided.
  • the A / D converter 11 converts an analog image signal into digital image data and outputs the digital image data to the screen rearrangement buffer 12.
  • the screen rearrangement buffer 12 rearranges the frames of the image data output from the A / D conversion unit 11.
  • the screen rearrangement buffer 12 rearranges the frames according to the GOP (Group of Pictures) structure related to the encoding process, and subtracts the image data after the rearrangement, the intra prediction unit 31, and the motion prediction / compensation unit. 32.
  • GOP Group of Pictures
  • the subtraction unit 13 is supplied with the image data output from the screen rearrangement buffer 12 and the predicted image data selected by the predicted image / optimum mode selection unit 33 described later.
  • the subtraction unit 13 calculates prediction error data that is a difference between the image data output from the screen rearrangement buffer 12 and the prediction image data supplied from the prediction image / optimum mode selection unit 33, and sends the prediction error data to the orthogonal transformation unit 14. Output.
  • the quantization unit 15 is supplied with coefficient data output from the orthogonal transform unit 14 and a rate control signal from a rate control unit 18 described later.
  • the quantization unit 15 quantizes the coefficient data and outputs the quantized data to the lossless encoding unit 16 and the inverse quantization unit 21. Further, the quantization unit 15 changes the bit rate of the quantized data by switching the quantization parameter (quantization scale) based on the rate control signal from the rate control unit 18.
  • the lossless encoding unit 16 performs lossless encoding on the encoding parameter information and adds it to, for example, header information of the encoded bit stream.
  • the quantization unit 15 and the lossless encoding unit 16 correspond to a data processing unit that processes output data of the orthogonal transform unit 14 to generate an encoded bit stream.
  • the rate control unit 18 monitors the free capacity of the storage buffer 17, generates a rate control signal according to the free capacity, and outputs it to the quantization unit 15.
  • the rate control unit 18 acquires information indicating the free capacity from the accumulation buffer 17, for example.
  • the rate control unit 18 reduces the bit rate of the quantized data by the rate control signal when the free space is low.
  • the rate control unit 18 increases the bit rate of the quantized data by the rate control signal.
  • the inverse quantization unit 21 performs an inverse quantization process on the quantized data supplied from the quantization unit 15.
  • the inverse quantization unit 21 outputs coefficient data obtained by performing the inverse quantization process to the inverse orthogonal transform unit 22.
  • the inverse orthogonal transform unit 22 outputs data obtained by performing an inverse orthogonal transform process on the coefficient data supplied from the inverse quantization unit 21 to the addition unit 23.
  • the adding unit 23 adds the data supplied from the inverse orthogonal transform unit 22 and the predicted image data supplied from the predicted image / optimum mode selection unit 33 to generate reference image data, and the deblocking filter 24 and the intra prediction. To the unit 31.
  • the deblocking filter 24 performs a filter process for reducing block distortion that occurs during image coding.
  • the deblocking filter 24 performs a filtering process for removing block distortion from the reference image data supplied from the adding unit 23, and outputs the filtered reference image data to the frame memory 27.
  • the frame memory 27 holds the reference image data after the filtering process supplied from the deblocking filter 24.
  • the intra prediction unit 31 performs an intra prediction process using the image data of the encoding target image output from the screen rearrangement buffer 12 and the reference image data supplied from the addition unit 23.
  • the intra prediction unit 31 performs an intra prediction process for each transform block size in orthogonal transform and for each prediction mode of intra prediction.
  • the intra prediction unit 31 outputs the generated predicted image data to the predicted image / optimum mode selection unit 33.
  • the intra prediction unit 31 generates coding parameter information related to the intra prediction process, and outputs the coding parameter information to the lossless coding unit 16 and the predicted image / optimum mode selection unit 33.
  • the intra prediction unit 31 includes, for example, the macro block size, the transform block size, the position of the transform block in the macro block, the prediction mode, and the like in the encoding parameter information.
  • the intra prediction unit 31 calculates a cost function value in each intra prediction process, and selects an intra prediction process that minimizes the calculated cost function value, that is, an optimal intra prediction process that maximizes the coding efficiency.
  • the intra prediction unit 31 outputs the encoding parameter information and the cost value in the optimal intra prediction process, and the predicted image data generated in the optimal intra prediction process to the predicted image / optimum mode selection unit 33.
  • the motion prediction / compensation unit 32 performs inter prediction processing with all motion compensation block sizes for the macroblock, generates predicted image data, and outputs the prediction image data to the predicted image / optimum mode selection unit 33.
  • the motion prediction / compensation unit 32 uses the filtered reference image data read from the frame memory 27 for each image of each motion compensation block size in the encoding target image read from the screen rearrangement buffer 12. To detect a motion vector. Further, the motion prediction / compensation unit 32 performs motion compensation processing on the reference image based on the detected motion vector to generate predicted image data.
  • the motion prediction / compensation unit 32 generates encoding parameter information related to inter prediction processing, for example, encoding parameter information indicating a macroblock size, a motion compensation block size, a motion vector, and the like, and performs prediction with the lossless encoding unit 16. Output to the image / optimum mode selection unit 33.
  • the motion prediction / compensation unit 32 calculates a cost function value for each motion compensation block size, and performs an inter prediction process in which the calculated cost function value is the minimum, that is, an inter prediction process in which the encoding efficiency is the highest. Select.
  • the motion prediction / compensation unit 32 outputs the encoding parameter information and cost value in the optimal inter prediction process, and the predicted image data generated in the optimal inter prediction process to the predicted image / optimum mode selection unit 33.
  • the predicted image / optimum mode selection unit 33 When the intra prediction unit 31 performs intra prediction processing for each transform block size or prediction mode and selects the optimal intra prediction processing, the predicted image / optimum mode selection unit 33 performs lossless encoding on the encoding parameter information with the orthogonal transform unit 14. Unit 16 outputs the predicted image data to the subtraction unit 13.
  • the prediction image / optimum mode selection unit 33 converts the encoding parameter information into the orthogonal transform unit 14 and the lossless code. Output to the conversion unit 16, and output the predicted image data to the subtraction unit 13.
  • FIG. 2 shows a prediction mode for a block of 4 ⁇ 4 pixels, for example.
  • each prediction mode in FIG. 2 will be briefly described.
  • the arrow indicates the prediction direction.
  • the prediction mode 0 vertical
  • the pixels P0 to P3 have fewer prediction errors than the pixels P12 to P15.
  • the pixels P0, P4, P8, and P12 have fewer prediction errors than the pixels P3, P7, P11, and P15.
  • the prediction mode 4 diagonal down-right
  • the pixel P0 has less prediction error than the pixel P15.
  • the calculated base is added to the encoded bitstream, the encoding efficiency is deteriorated. Therefore, an optimal base is calculated in advance for each block position and prediction mode for performing orthogonal transformation in the macroblock. If the calculated base is used in the image coding apparatus and the image decoding apparatus, it is not necessary to calculate the base in the image coding apparatus and the image decoding apparatus, and the image coding apparatus and the image decoding apparatus The configuration is simple compared to the case of calculating the base. Furthermore, since it is not necessary to transmit the base, it is possible to increase the coding efficiency using the KL transform. The basis learning will be described later.
  • the transform block size that is the block size of the encoding target image is, for example, any block size of 16 ⁇ 16 pixels, 8 ⁇ 8 pixels, or 4 ⁇ 4 pixels. It is said.
  • the conversion block size is, for example, any block size of 8 ⁇ 8 pixels and 4 ⁇ 4 pixels. Therefore, as shown in FIG. 4, when the macro block is 16 ⁇ 16 pixels, the orthogonal transform unit 14 has a block size of 16 ⁇ 16 pixels, 8 ⁇ 8 pixels, and 4 ⁇ 4 pixels according to the prediction mode. It is configured so that conversion can be performed.
  • the 16 ⁇ 16 KL conversion unit 141 performs KL conversion of prediction error data in block units of 16 ⁇ 16 pixels using an optimal base learned in advance for each prediction mode, and the obtained coefficient is used as a coefficient selection unit 148. Output to.
  • the 2 ⁇ 2 KL conversion unit 143 uses the optimal base learned in advance for each prediction mode, and performs the KL conversion of the coefficients of 2 ⁇ 2 blocks supplied from the 8 ⁇ 8 KL conversion unit 142 to the prediction mode. The basis is used, and the obtained coefficient is output to the coefficient selection unit 148.
  • the 4 ⁇ 4 KL conversion unit 144 performs KL conversion of prediction error data in units of 4 ⁇ 4 pixel blocks using an optimal base previously learned for each block position in the prediction mode and macroblock.
  • the prediction error data is data corresponding to a block size of 16 ⁇ 16 pixels
  • the 16 ⁇ 16 pixel block includes 16 4 ⁇ 4 pixel blocks. Therefore, the 4 ⁇ 4KL conversion unit 144 outputs the lowest frequency component coefficient in each block of 4 ⁇ 4 pixels to the 4 ⁇ 4KL conversion unit 145 and outputs the other coefficients to the coefficient selection unit 148.
  • the prediction error data is data corresponding to a block size of 8 ⁇ 8 pixels
  • the block of 8 ⁇ 8 pixels includes four 4 ⁇ 4 pixel blocks. Therefore, the 4 ⁇ 4 KL conversion unit 144 outputs the lowest frequency component coefficient in each block of 4 ⁇ 4 pixels to the 2 ⁇ 2 KL conversion unit 146 and outputs the other coefficients to the coefficient selection unit 148.
  • the 2 ⁇ 2 KL conversion unit 146 performs KL conversion on the block of the lowest frequency component coefficient for 2 ⁇ 2 blocks supplied from the 4 ⁇ 4 KL conversion unit 144 using the optimum base learned in advance for each prediction mode. This is done using the basis corresponding to the prediction mode.
  • the 2 ⁇ 2 KL conversion unit 146 outputs the coefficient obtained by the KL conversion to the coefficient selection unit 148.
  • step ST12 the screen rearrangement buffer 12 performs image rearrangement.
  • the screen rearrangement buffer 12 stores the image data supplied from the A / D conversion unit 11, and rearranges from the display order of each picture to the encoding order.
  • step ST13 the subtraction unit 13 generates prediction error data.
  • the subtraction unit 13 calculates a difference between the image data of the images rearranged in step ST12 and the predicted image data selected by the predicted image / optimum mode selection unit 33, and generates prediction error data.
  • the prediction error data has a smaller data amount than the original image data. Therefore, the data amount can be compressed as compared with the case where the image is encoded as it is.
  • step ST16 the inverse quantization unit 21 performs an inverse quantization process.
  • the inverse quantization unit 21 inversely quantizes the coefficient data quantized by the quantization unit 15 with characteristics corresponding to the characteristics of the quantization unit 15.
  • step ST19 the deblocking filter 24 performs filter processing.
  • the deblocking filter 24 filters the reference image data output from the addition unit 23 to remove block distortion.
  • step ST23 the predicted image / optimum mode selection unit 33 performs encoding parameter information generation processing.
  • the prediction image / optimum mode selection unit 33 outputs the encoding parameter information regarding the selected prediction image data to the orthogonal transform unit 14 and the lossless encoding unit 16 as the encoding parameter information of the optimal mode.
  • step ST32 the motion prediction / compensation unit 32 performs inter prediction.
  • the motion prediction / compensation unit 32 uses the reference image data after filter processing stored in the frame memory 27 to perform inter prediction processing with each motion compensation block size.
  • inter prediction inter prediction processing is performed with each motion compensation block size, and a cost function value in each prediction block is calculated. Then, based on the calculated cost function value, the inter prediction process with the highest coding efficiency is selected.
  • the motion prediction / compensation unit 32 calculates a cost function value for each motion compensation block size.
  • the motion prediction / compensation unit 32 calculates the cost function value using the above-described equation (1) or equation (2).
  • a generated code amount including coding parameter information and the like is used.
  • the cost function value for the inter prediction mode is calculated using the H.264 standard. Evaluation of the cost function value of Skip Mode and Direct Mode defined in the H.264 / AVC format is also included.
  • step ST61 the intra prediction unit 31 determines whether or not the macroblock size is 16 ⁇ 16 pixels.
  • the intra prediction unit 31 proceeds to step ST62 when the macroblock size is 16 ⁇ 16 pixels, and proceeds to step ST63 when the macroblock size is not 16 ⁇ 16 pixels.
  • step ST73 the orthogonal transform unit 14 determines whether the transform block size is 4 ⁇ 4 pixels.
  • the orthogonal transform unit 14 proceeds to step ST74 when the coding parameter information indicates that the transform block size is 4 ⁇ 4 pixels, and proceeds to step ST75 when it does not indicate that it is 4 ⁇ 4 pixels.
  • the orthogonal transform unit 14 performs 16 ⁇ 16 orthogonal transform processing.
  • the orthogonal transform unit 14 performs KL transform of a block of 16 ⁇ 16 pixels using a base learned in advance according to the prediction mode, and outputs the obtained coefficient to the quantization unit 15. That is, the coefficient selection unit 148 of the orthogonal transformation unit 14 illustrated in FIG. 5 selects the coefficient output from the 16 ⁇ 16 KL conversion unit 141 and outputs the selected coefficient to the quantization unit 15.
  • the orthogonal transform unit 14 determines whether or not the transform block size is 4 ⁇ 4 pixels.
  • the orthogonal transform unit 14 proceeds to step ST79 when the coding parameter information indicates that the transform block size is 4 ⁇ 4 pixels, and proceeds to step ST80 when it does not indicate that it is 4 ⁇ 4 pixels.
  • the orthogonal transform unit 14 performs 4 ⁇ 4 orthogonal transform processing.
  • the orthogonal transform unit 14 performs KL transform for each block of 4 ⁇ 4 pixels using a base learned in advance according to the prediction mode and the block position.
  • KL conversion is performed four times.
  • the lowest frequency component coefficient is selected from the coefficients obtained by performing the KL conversion on the 4 ⁇ 4 pixel block, and the KL conversion is performed on the selected 2 ⁇ 2 coefficient using the basis corresponding to the prediction mode. I do.
  • the orthogonal transform unit 14 outputs the coefficient obtained by performing the KL transform on the lowest frequency component coefficient and other coefficients excluding the lowest frequency component coefficient to the quantization unit 15.
  • the orthogonal transform unit 14 performs orthogonal transform in units of 8 ⁇ 8 pixel blocks.
  • the orthogonal transform unit 14 performs KL transform of an 8 ⁇ 8 pixel block using a base learned in advance according to the prediction mode, and outputs the obtained coefficient to the quantization unit 15. That is, the coefficient selection unit 148 of the orthogonal transformation unit 14 illustrated in FIG. 5 selects the coefficient output from the 8 ⁇ 8 KL conversion unit 142 and outputs the selected coefficient to the quantization unit 15.
  • the orthogonal transform unit 14 performs discrete cosine transform (DCT).
  • DCT discrete cosine transform
  • the orthogonal transform unit 14 outputs the coefficient obtained by performing the discrete cosine transform to the quantization unit 15. That is, the coefficient selection unit 148 of the orthogonal transform unit 14 illustrated in FIG. 5 selects the coefficient output from the DCT unit 147 and outputs the selected coefficient to the quantization unit 15.
  • FIG. 12 is a diagram for explaining the orthogonal transform operation.
  • the transform block size is 4 ⁇ 4 pixels.
  • the 16 macroblocks are included in the macroblock.
  • the number in the block indicates the block position loc.
  • the 4 ⁇ 4 KL transform unit 144 of the orthogonal transform unit 14 performs KL transform on each transform block using a base optimized for the prediction mode and block position of each block, and is shown in FIG. Thus, a coefficient for each block is generated.
  • the 4 ⁇ 4 KL conversion unit 145 forms a 4 ⁇ 4 block as shown in FIG. 12D using the lowest frequency component coefficient (indicated by hatching) in each block.
  • the 4 ⁇ 4 KL conversion unit 145 performs KL conversion on the block using a base optimized in accordance with the prediction mode, and generates a coefficient for each block as illustrated in FIG.
  • the orthogonal transform unit 14 outputs the coefficient shown in (E) of FIG. 12 and other coefficients excluding the lowest frequency component coefficient in (C) of FIG. 12 to the quantization unit 15.
  • the macroblock size is 8 ⁇ 8 pixels as shown in FIG. 12F and the transform block size is 4 ⁇ 4 pixels
  • 4 macroblocks are included in the macroblock as shown in FIG. Contains transformation blocks.
  • the number in the block indicates the block position loc.
  • the 4 ⁇ 4 KL transform unit 144 of the orthogonal transform unit 14 performs KL transform on each transform block using a base optimized for the prediction mode and block position of each block, and is shown in FIG. Thus, a coefficient for each block is generated.
  • the 2 ⁇ 2 KL conversion unit 146 forms a 2 ⁇ 2 block as shown in (I) of FIG. 12 using the lowest frequency component coefficient (indicated by hatching) in each block.
  • the 2 ⁇ 2 KL conversion unit 146 performs KL conversion on the block using a base optimized in accordance with the prediction mode, and generates a coefficient for each block as illustrated in FIG.
  • the orthogonal transform unit 14 outputs the coefficient shown in (J) of FIG. 12 and other coefficients excluding the lowest frequency component coefficient in (H) of FIG.
  • FIG. 13 shows the configuration of the image decoding apparatus.
  • the image decoding device 50 includes a storage buffer 51, a lossless decoding unit 52, an inverse quantization unit 53, an inverse orthogonal transform unit 54, an addition unit 55, a deblocking filter 56, a screen rearrangement buffer 57, a digital / analog conversion unit ( D / A converter 58). Furthermore, the image decoding device 50 includes a frame memory 61, an intra prediction unit 62, a motion compensation unit 63, and a selector 64.
  • the accumulation buffer 51 accumulates the transmitted encoded bit stream.
  • the lossless decoding unit 52 decodes the encoded bit stream supplied from the accumulation buffer 51 by a method corresponding to the encoding method of the lossless encoding unit 16 of FIG.
  • the lossless decoding unit 52 outputs the encoding parameter information obtained by decoding the header information of the encoded bitstream to the intra prediction unit 62, the motion compensation unit 63, and the deblocking filter 56. Further, the lossless decoding unit 52 sets prediction motion vector candidates using the motion vectors of the decoding target block and the decoded adjacent block. The lossless decoding unit 52 selects a motion vector from prediction motion vector candidates based on prediction motion vector selection information obtained by lossless decoding of the encoded bitstream, and uses the selected motion vector as a prediction motion vector. . Further, the lossless decoding unit 52 adds the predicted motion vector to the difference motion vector obtained by lossless decoding of the encoded bitstream to calculate the motion vector of the block to be decoded, and the motion compensation unit 63 Output.
  • the inverse quantization unit 53 inversely quantizes the quantized data decoded by the lossless decoding unit 52 by a method corresponding to the quantization method of the quantization unit 15 in FIG.
  • the inverse orthogonal transform unit 54 performs inverse orthogonal transform on the output of the inverse quantization unit 53 by a method corresponding to the orthogonal transform method of the orthogonal transform unit 14 of FIG.
  • the addition unit 55 adds the data after inverse orthogonal transform and the predicted image data supplied from the selector 64 to generate decoded image data, and outputs the decoded image data to the deblocking filter 56 and the intra prediction unit 62.
  • the deblocking filter 56 performs a filtering process on the decoded image data supplied from the adder 55, removes block distortion, supplies the frame memory 61 to the frame memory 61, and stores it in the screen rearrangement buffer 57.
  • the screen rearrangement buffer 57 rearranges images. That is, the order of frames rearranged for the encoding order by the screen rearrangement buffer 12 in FIG. 1 is rearranged in the original display order and output to the D / A conversion unit 58.
  • the D / A conversion unit 58 performs D / A conversion on the image data supplied from the screen rearrangement buffer 57 and outputs it to a display (not shown) to display an image.
  • the frame memory 61 holds the decoded image data after the filtering process supplied from the deblocking filter 24.
  • the intra prediction unit 62 generates a predicted image based on the encoding parameter information supplied from the lossless decoding unit 52, and outputs the generated predicted image data to the selector 64.
  • the motion compensation unit 63 performs motion compensation based on the encoding parameter information and the motion vector supplied from the lossless decoding unit 52, generates predicted image data, and outputs the prediction image data to the selector 64. That is, the motion compensation unit 63 performs motion compensation on the basis of the motion vector for the reference image indicated by the reference frame information based on the motion vector and the reference frame information supplied from the lossless decoding unit 52, Prediction image data having a compensation block size is generated.
  • the selector 64 supplies the prediction image data generated by the intra prediction unit 62 to the addition unit 55. Further, the selector 64 supplies the predicted image data generated by the motion compensation unit 63 to the addition unit 55.
  • FIG. 14 shows the configuration of the inverse orthogonal transform unit 54.
  • the inverse orthogonal transform unit 54 includes a 16 ⁇ 16KL inverse transform unit 541, a 2 ⁇ 2KL inverse transform unit 542, 545, an 8 ⁇ 8KL inverse transform unit 543, a 4 ⁇ 4KL inverse transform unit 544, 546, an IDCT unit 547, and a data selection unit. 548.
  • the 16 ⁇ 16 KL reverse conversion unit 541 performs KL reverse conversion corresponding to the KL conversion performed by the 16 ⁇ 16 KL conversion unit 141 illustrated in FIG.
  • the 16 ⁇ 16KL inverse transform unit 541 is output from the inverse quantization unit 53 using a basis corresponding to the prediction mode (optimum prediction mode) indicated by the coding parameter information of the optimum mode supplied from the lossless decoding unit 52. KL inverse transformation of the dequantized data is performed.
  • the 16 ⁇ 16 KL inverse transform unit 541 outputs the image data obtained by performing the KL inverse transform to the data selection unit 548.
  • the 2 ⁇ 2 KL reverse conversion unit 542 performs KL reverse conversion corresponding to the KL conversion performed by the 2 ⁇ 2 KL conversion unit 143 shown in FIG.
  • the 2 ⁇ 2 KL inverse transform unit 542 performs KL inverse transform of the dequantized data output from the inverse quantization unit 53 using a basis corresponding to the prediction mode indicated by the coding parameter information of the optimal mode.
  • the 2 ⁇ 2 KL inverse transform unit 542 outputs the lowest frequency component coefficient obtained by performing the KL inverse transform to the 8 ⁇ 8 KL inverse transform unit 543.
  • the 8 ⁇ 8 KL inverse conversion unit 543 performs KL inverse conversion corresponding to the KL conversion performed by the 8 ⁇ 8 KL conversion unit 143 shown in FIG.
  • the 8 ⁇ 8 KL inverse transform unit 543 performs KL inverse transform based on the coding parameter information of the optimal mode supplied from the lossless decoding unit 52. For example, when the macro block size is 16 ⁇ 16 pixels, the 8 ⁇ 8 KL inverse transform unit 543 uses the prediction mode indicated by the coding parameter information of the optimal mode and the basis corresponding to the block position to perform the 2 ⁇ 2 KL inverse transform.
  • the KL inverse transform between the lowest frequency component coefficient output from the unit 542 and the post-inverse quantization data output from the inverse quantization unit 53 is performed.
  • the 8 ⁇ 8 KL inverse transform unit 543 outputs the image data obtained by performing the KL inverse transform to the data selection unit 548. Further, the 8 ⁇ 8KL inverse transform unit 543 uses the basis corresponding to the prediction mode and the block position when the macroblock size is 8 ⁇ 8 pixels, and the dequantized data output from the inverse quantization unit 53 KL inverse transform is performed, and the obtained image data is output to the data selection unit 548.
  • the 4 ⁇ 4KL inverse transform unit 544 performs KL inverse transform corresponding to the KL transform performed by the 4 ⁇ 4KL transform unit 145 illustrated in FIG.
  • the 4 ⁇ 4KL inverse transform unit 544 performs KL inverse transform on the dequantized data output from the inverse quantization unit 53 using a basis corresponding to the prediction mode indicated by the coding parameter information of the optimal mode.
  • the 4 ⁇ 4KL inverse transform unit 544 outputs the lowest frequency component coefficient obtained by performing the KL inverse transform to the 4 ⁇ 4KL inverse transform unit 546.
  • the 2 ⁇ 2 KL reverse conversion unit 545 performs KL reverse conversion corresponding to the KL conversion performed by the 2 ⁇ 2 KL conversion unit 146 shown in FIG.
  • the 2 ⁇ 2 KL inverse transform unit 545 performs KL inverse transform on the dequantized data output from the inverse quantization unit 53 using a basis corresponding to the prediction mode indicated by the coding parameter information of the optimal mode.
  • the 2 ⁇ 2 KL inverse transform unit 545 outputs the lowest frequency component coefficient obtained by performing the KL inverse transform to the 4 ⁇ 4 KL inverse transform unit 546.
  • the 4 ⁇ 4 KL inverse conversion unit 546 performs KL inverse conversion corresponding to the KL conversion performed by the 4 ⁇ 4 KL conversion unit 144 illustrated in FIG.
  • the 4 ⁇ 4KL inverse transform unit 546 performs KL inverse transform based on the coding parameter information of the optimal mode supplied from the lossless decoding unit 52. For example, when the macro block size is 16 ⁇ 16 pixels, the 4 ⁇ 4 KL inverse transform unit 546 uses the prediction mode indicated by the coding parameter information of the optimal mode and the basis corresponding to the block position to perform the 4 ⁇ 4 KL inverse transform.
  • the KL inverse transform between the lowest frequency component coefficient output from the unit 544 and the dequantized data output from the inverse quantization unit 53 is performed.
  • the 4 ⁇ 4 KL inverse transform unit 546 outputs the image data obtained by performing the KL inverse transform to the data selection unit 548.
  • the 4 ⁇ 4 KL inverse transform unit 546 uses the base corresponding to the prediction mode and the block position, and the lowest frequency component output from the 2 ⁇ 2 KL inverse transform unit 545.
  • KL inverse transform is performed between the coefficient and the data after inverse quantization output from the inverse quantization unit 53.
  • the 4 ⁇ 4 KL inverse transform unit 546 outputs the image data obtained by performing the KL inverse transform to the data selection unit 548.
  • the IDCT unit 547 performs inverse discrete cosine transform using the dequantized data output from the inverse quantization unit 53, and outputs the obtained image data to the data selection unit 548.
  • the data selection unit 548 selects the image data output from the 16 ⁇ 16KL inverse transform unit 541, the 8 ⁇ 8KL inverse transform unit 543, the 4 ⁇ 4KL inverse transform unit 546, and the IDCT unit 547 based on the encoding parameter information. Do.
  • the data selection unit 548 outputs the selected image data to the addition unit 55 as prediction error data.
  • step ST91 the accumulation buffer 51 accumulates the transmitted encoded bit stream.
  • step ST92 the lossless decoding unit 52 performs lossless decoding processing.
  • the lossless decoding unit 52 decodes the encoded bit stream supplied from the accumulation buffer 51. That is, quantized data of each picture encoded by the lossless encoding unit 16 in FIG. 1 is obtained.
  • the lossless decoding unit 52 performs lossless decoding of the encoding parameter information included in the header information of the encoded bitstream, and supplies the obtained encoding parameter information to the deblocking filter 56 and the selector 64.
  • the lossless decoding unit 52 outputs the encoding parameter information to the intra prediction unit 62 when the encoding parameter information is information related to the intra prediction mode.
  • the lossless decoding unit 52 outputs the encoding parameter information to the motion compensation unit 63 when the encoding parameter information is information related to the inter prediction mode.
  • step ST93 the inverse quantization unit 53 performs an inverse quantization process.
  • the inverse quantization unit 53 inversely quantizes the quantized data decoded by the lossless decoding unit 52 with characteristics corresponding to the characteristics of the quantization unit 15 in FIG.
  • the inverse orthogonal transform unit 54 performs an inverse orthogonal transform process.
  • the inverse orthogonal transform unit 54 performs inverse orthogonal transform corresponding to the orthogonal transform of the orthogonal transform unit 14 of FIG. 1 on the data after inverse quantization from the inverse quantization unit 53.
  • step ST95 the addition unit 55 generates decoded image data.
  • the adder 55 adds the prediction error data obtained by performing the inverse orthogonal transform process and the prediction image data selected in step ST99 described later to generate decoded image data. As a result, the original image is decoded.
  • step ST96 the deblocking filter 56 performs filter processing.
  • the deblocking filter 56 performs a filtering process on the decoded image data output from the adding unit 55 to remove block distortion included in the decoded image.
  • step ST97 the frame memory 61 performs a storage process of the decoded image data.
  • step ST98 the intra prediction unit 62 and the motion compensation unit 63 perform prediction processing.
  • the intra prediction unit 62 and the motion compensation unit 63 perform prediction processing corresponding to the encoding parameter information supplied from the lossless decoding unit 52, respectively.
  • the intra prediction unit 62 performs intra prediction processing based on the encoding parameter information, and obtains predicted image data. Generate. Also, when the encoding parameter information supplied from the lossless decoding unit 52 indicates inter prediction, the motion compensation unit 63 performs motion compensation based on the encoding parameter information and generates predicted image data. .
  • step ST99 the selector 64 selects predicted image data. That is, the selector 64 selects the prediction image data supplied from the intra prediction unit 62 and the prediction image data generated by the motion compensation unit 63 and supplies the selection image data to the addition unit 55. As described above, the selector 64 performs the reverse operation in step ST95. It is added to the output of the orthogonal transformation unit 54.
  • step ST100 the screen rearrangement buffer 57 performs image rearrangement. That is, the screen rearrangement buffer 57 rearranges the order of frames rearranged for encoding by the screen rearrangement buffer 12 of the image encoding device 10 of FIG. 1 to the original display order.
  • step ST101 the D / A converter 58 D / A converts the image data from the screen rearrangement buffer 57. This image is output to a display (not shown), and the image is displayed.
  • the inverse orthogonal transform unit 54 determines whether or not intra prediction is performed. For example, the inverse orthogonal transform unit 54 determines whether the block to be decoded is intra prediction based on the encoding parameter information extracted from the encoded bitstream by the lossless decoding unit 52. The inverse orthogonal transform unit 54 proceeds to step ST112 when the encoding parameter information indicates intra prediction, and proceeds to step ST121 when it does not indicate intra prediction, that is, when it is inter prediction.
  • step ST112 the inverse orthogonal transform unit 54 determines whether or not the macroblock size is 16 ⁇ 16 pixels.
  • the inverse orthogonal transform unit 54 proceeds to step ST113 when the encoding parameter information indicates that the macroblock size is 16 ⁇ 16 pixels, and proceeds to step ST118 when it does not indicate that it is 16 ⁇ 16 pixels.
  • step ST113 the inverse orthogonal transform unit 54 determines whether the transform block size is 4 ⁇ 4 pixels.
  • the inverse orthogonal transform unit 54 proceeds to step ST114 when the transform block size information in the encoding parameter information is “0” and the transform block size is 4 ⁇ 4 pixels, and proceeds to step ST115 when the transform block size is not “0”.
  • the inverse orthogonal transform unit 54 performs 4 ⁇ 4 inverse orthogonal transform processing.
  • the inverse orthogonal transform unit 54 performs 4 ⁇ 4 KL inverse transform using a base learned in advance according to the prediction mode and the block position.
  • the KL conversion is performed by selecting the lowest frequency component coefficient from the coefficients obtained by performing KL conversion and KL conversion 16 times. Therefore, the inverse orthogonal transform unit 54 performs KL inverse transform on the data after inverse quantization of the lowest frequency component coefficient, using the basis corresponding to the prediction mode.
  • the inverse orthogonal transform unit 54 performs KL using the basis corresponding to the prediction mode and the block position with respect to 16 blocks including the lowest frequency component coefficient obtained by the KL inverse transform and the coefficients of other components. Perform inverse transformation.
  • the inverse orthogonal transform unit 54 outputs prediction error data obtained by performing the KL inverse transform to the addition unit 55. That is, the data selection unit 548 of the inverse orthogonal transform unit 54 illustrated in FIG. 14 uses the output of the 4 ⁇ 4KL inverse transform unit 544 to perform data obtained by performing the KL inverse transform in the 4 ⁇ 4KL inverse transform unit 546. Select and output to the adder 55.
  • step ST115 the inverse orthogonal transform unit 54 determines whether the transform block size is 8 ⁇ 8 pixels.
  • the inverse orthogonal transform unit 54 proceeds to step ST116 when the transform block size information in the encoding parameter information is “1” and the transform block size is 8 ⁇ 8 pixels, and proceeds to step ST117 when it is not “1”.
  • the inverse orthogonal transform unit 54 performs 8 ⁇ 8 inverse orthogonal transform processing.
  • the inverse orthogonal transform unit 54 performs 8 ⁇ 8 KL inverse transform using a base learned in advance according to the prediction mode and the block position.
  • the KL conversion is performed by selecting the lowest frequency component coefficient from the coefficients obtained by performing KL conversion and KL conversion four times. Therefore, the inverse orthogonal transform unit 54 performs KL inverse transform on the data after inverse quantization of the lowest frequency component coefficient, using the basis corresponding to the prediction mode.
  • the inverse orthogonal transform unit 54 uses the basis corresponding to the prediction mode and the block position for the four blocks including the lowest frequency component coefficient obtained by the KL inverse transform and the coefficients of the other components. Perform inverse transformation.
  • the inverse orthogonal transform unit 54 outputs prediction error data obtained by performing the KL inverse transform to the addition unit 55. That is, the data selection unit 548 of the inverse orthogonal transform unit 54 illustrated in FIG. 14 uses the output of the 2 ⁇ 2KL inverse transform unit 542 to perform the KL inverse transform in the 8 ⁇ 8KL inverse transform unit 543. Select and output to the adder 55.
  • the inverse orthogonal transform unit 54 performs 16 ⁇ 16 inverse orthogonal transform processing.
  • the inverse orthogonal transform unit 54 performs 16 ⁇ 16 KL inverse transform using a base learned in advance according to the prediction mode.
  • the inverse orthogonal transform unit 54 outputs prediction error data obtained by performing the KL inverse transform to the addition unit 55. That is, the data selection unit 548 of the inverse orthogonal transform unit 54 illustrated in FIG. 14 selects the data obtained by performing the KL inverse transform in the 16 ⁇ 16 KL inverse transform unit 541 and outputs the data to the adder 55.
  • the inverse orthogonal transform unit 54 determines whether the transform block size is 4 ⁇ 4 pixels. The inverse orthogonal transform unit 54 proceeds to step ST119 when the transform block size information in the encoding parameter information is “0” and the transform block size is 4 ⁇ 4 pixels, and proceeds to step ST120 when the transform block size is not “0”.
  • the inverse orthogonal transform unit 54 performs 4 ⁇ 4 inverse orthogonal transform processing.
  • the inverse orthogonal transform unit 54 performs 4 ⁇ 4 KL inverse transform processing using a base learned in advance according to the prediction mode and the block position.
  • the KL conversion is performed by selecting the lowest frequency component coefficient from the coefficients obtained by performing KL conversion and KL conversion four times. Therefore, the inverse orthogonal transform unit 54 performs KL inverse transform on the data after inverse quantization of the lowest frequency component coefficient, using the basis corresponding to the prediction mode.
  • the inverse orthogonal transform unit 54 uses the basis corresponding to the prediction mode and the block position for the four blocks including the lowest frequency component coefficient obtained by the KL inverse transform and the coefficients of the other components. Perform inverse transformation.
  • the inverse orthogonal transform unit 54 outputs prediction error data obtained by performing the KL inverse transform to the addition unit 55. That is, the data selection unit 548 of the inverse orthogonal transform unit 54 illustrated in FIG. 14 uses the output of the 2 ⁇ 2KL inverse transform unit 545 to perform the data obtained by performing the KL inverse transform in the 4 ⁇ 4KL inverse transform unit 546. Select and output to the adder 55.
  • the inverse orthogonal transform unit 54 performs 8 ⁇ 8 inverse orthogonal transform processing.
  • the inverse orthogonal transform unit 54 performs 8 ⁇ 8 KL inverse transform using a base learned in advance according to the prediction mode.
  • the inverse orthogonal transform unit 54 outputs prediction error data obtained by performing the KL inverse transform to the addition unit 55. That is, the data selection unit 548 of the inverse orthogonal transform unit 54 illustrated in FIG. 14 selects the data obtained by performing the KL inverse transform in the 8 ⁇ 8KL inverse transform unit 543 and outputs the selected data to the adder 55.
  • the inverse orthogonal transform unit 54 performs inverse discrete cosine transform (IDCT).
  • IDCT inverse discrete cosine transform
  • the inverse orthogonal transform unit 54 outputs the coefficient obtained by performing the inverse discrete cosine transform to the addition unit 55. That is, the data selection unit 548 of the inverse orthogonal transform unit 54 illustrated in FIG. 14 selects the data output from the IDCT unit 547 and outputs the data to the addition unit 55.
  • FIG. 17 is a diagram for explaining the inverse orthogonal transform operation, and illustrates the inverse orthogonal transform of the transform coefficient generated by the orthogonal transform operation of FIG.
  • the 4 ⁇ 4KL inverse transform unit 544 uses the basis corresponding to the prediction mode indicated by the coding parameter information of the optimal mode, and performs the KL-transformed data (inverse quantum) of the lowest frequency component coefficient shown in FIG. KL inverse transform of the data).
  • the 4 ⁇ 4KL inverse transform unit 544 generates the coefficient of the lowest frequency component shown in FIG. 17B by the KL inverse transform.
  • the 4 ⁇ 4KL inverse transform unit 546 returns the lowest frequency component coefficient and other KL-transformed data (inverse quantized data) to coefficients for each block. Further, as shown in FIG.
  • the 4 ⁇ 4 KL inverse transform unit 546 uses the prediction mode indicated by the encoding parameter information and the basis corresponding to the block position to perform KL every 16 4 ⁇ 4 blocks. Inverse transformation is performed to generate prediction error data shown in FIG.
  • the data selection unit 548 selects the generated prediction error data and outputs it to the addition unit 55.
  • the 2 ⁇ 2 KL inverse transform unit 545 uses the basis corresponding to the prediction mode indicated by the coding parameter information of the optimum mode, and performs the KL-transformed data (inverse of the lowest frequency component coefficient shown in FIG. 17F). KL inverse transform of (quantized data) is performed. The 2 ⁇ 2 KL inverse transform unit 545 generates the lowest frequency component coefficient shown in FIG. 17G by the KL inverse transform. As shown in FIG. 17H, the 4 ⁇ 4KL inverse transform unit 546 returns the lowest frequency component coefficient and other KL-transformed data (inverse quantized data) to coefficients for each block.
  • the 4 ⁇ 4KL inverse transform unit 546 uses the prediction mode indicated by the encoding parameter information and the base corresponding to the block position to perform KL for every 4 ⁇ 4 blocks. Inverse transformation is performed to generate prediction error data shown in FIG.
  • the data selection unit 548 selects the generated prediction error data and outputs it to the addition unit 55.
  • step ST98 in FIG. 15 will be described with reference to the flowchart in FIG.
  • step ST131 the lossless decoding unit 52 determines whether or not the target block is intra-coded.
  • the lossless decoding unit 52 supplies the encoding parameter information to the intra prediction unit 62, and proceeds to step ST132. Also, when the encoding parameter information is not intra prediction information, the lossless decoding unit 52 supplies the encoding parameter information to the motion compensation unit 63 and proceeds to step ST133.
  • step ST133 the motion compensation unit 63 performs inter prediction processing.
  • the motion compensation unit 63 performs motion compensation on the decoded image data supplied from the frame memory 61 based on the encoding parameter information and the motion vector from the lossless decoding unit 52. Further, the motion compensation unit 63 outputs predicted image data generated by motion compensation to the selector 64.
  • coded bits generated by processing coefficient data obtained by performing orthogonal transformation using a base set in advance according to a block position In decoding a stream, inverse orthogonal transform is performed using a base set in advance according to the block position in the macroblock indicated by the encoding parameter information included in the encoded bitstream. Therefore, the coefficient data after orthogonal transformation can be restored to the prediction error data before orthogonal transformation, so even if orthogonal transformation is performed using the basis corresponding to the block position in the macroblock, the prediction error before orthogonal transformation is performed. You can return to data.
  • coefficient data after orthogonal transformation is obtained by using a basis set in advance according to the prediction mode indicated by the encoding parameter information.
  • the prediction error data before the orthogonal transformation can be restored.
  • step ST142 the base generation unit determines whether macroblocks that are not used for learning remain. The base generation unit proceeds to step ST143 when macroblocks not used for learning remain in the image used for learning, and returns to step ST141 when learning is performed using all macroblocks.
  • the base generation unit calculates a symmetric matrix of 4 ⁇ 4 orthogonal transformation.
  • the base generation unit divides the 16 ⁇ 16 prediction error data into 16 transform blocks each having 4 ⁇ 4 pixels, and calculates a symmetric matrix M for each block position of the transform block in the prediction mode and the macroblock.
  • the base generation unit calculates the difference between the average of the 16th-order vectors and each vector as 16th-order vectors by arranging the prediction error data of the 4 ⁇ 4 pixel conversion blocks.
  • the base generation unit calculates the symmetric matrix M by performing the calculation of Expression (3) using this difference as “q”.
  • mdt conversion mode information that makes it possible to determine the macroblock size and the conversion block size.
  • Mod is a prediction mode of intra prediction.
  • Loc is the block position of the transform block within the macroblock.
  • Na is the number of learning times.
  • T indicates a transposed matrix.
  • the base generation unit calculates a symmetric matrix of 8 ⁇ 8 orthogonal transformation.
  • the base generation unit divides the 16 ⁇ 16 prediction error data into four transform blocks each having 8 ⁇ 8 pixels, and calculates a symmetric matrix M for each block position of the transform block in the prediction mode and the macroblock.
  • the base generation unit arranges the prediction error data of the transform block of 8 ⁇ 8 pixels and calculates a difference between each vector and the average of the 64th order vector as a 64th order vector.
  • the base generation unit calculates the symmetric matrix M by performing the calculation of Expression (3) using this difference as “q”.
  • the base generation unit calculates a 4 ⁇ 4 orthogonal transformation symmetric matrix.
  • the base generation unit divides the 8 ⁇ 8 prediction error data into four transform blocks each having 4 ⁇ 4 pixels, and calculates a symmetric matrix M for each block position of the transform block in the prediction mode and the macroblock.
  • the base generation unit calculates the difference between the average of the 16th-order vectors and each vector as 16th-order vectors by arranging the prediction error data of the 4 ⁇ 4 pixel conversion blocks.
  • the base generation unit calculates the symmetric matrix M by performing the calculation of Expression (3) using this difference as “q”.
  • step ST151 the base generation unit calculates a symmetric matrix of 8 ⁇ 8 orthogonal transformation.
  • the base generation unit calculates the difference between the average of the 64th order vectors and each vector as a 64th order vector by arranging the prediction error data of the 8 ⁇ 8 pixel transform block for each prediction mode.
  • the base generation unit calculates the symmetric matrix M for each prediction mode by performing the calculation of Expression (3) using this difference as “q”.
  • the prediction errors of the pixels P1, P5, P9, and P13 often have similar characteristics. Therefore, all the Groups 1 adopt the same base.
  • the groups 0, 2, and 3 can be reduced from 16 types to 4 types by adopting the same base.
  • the program can be recorded in advance on a hard disk or ROM (Read Only Memory) as a recording medium.
  • the program can be temporarily or permanently stored on a removable recording medium such as a flexible disk, CD-ROM (Compact Disc Read Only Memory), MO (Magneto optical disc), DVD (Digital Versatile Disc), magnetic disk, or semiconductor memory. It can be stored (recorded).
  • a removable recording medium can be provided as so-called package software.
  • H.264 is used as the encoding method / decoding method.
  • the present invention can also be applied to an image encoding device / image decoding device using other encoding / decoding methods.
  • the decoder 904 performs packet decoding processing, and outputs video data generated by the decoding processing to the video signal processing unit 905 and audio data to the audio signal processing unit 907.
  • the video signal processing unit 905 performs noise removal, video processing according to user settings, and the like on the video data.
  • the video signal processing unit 905 generates video data of a program to be displayed on the display unit 906, image data by processing based on an application supplied via a network, and the like.
  • the video signal processing unit 905 generates video data for displaying a menu screen for selecting an item and the like, and superimposes the video data on the video data of the program.
  • the video signal processing unit 905 generates a drive signal based on the video data generated in this way, and drives the display unit 906.
  • the television device 90 is provided with a bus 912 for connecting the tuner 902, the demultiplexer 903, the video signal processing unit 905, the audio signal processing unit 907, the external interface unit 909, and the control unit 910.
  • FIG. 22 illustrates a schematic configuration of a mobile phone to which the present invention is applied.
  • the cellular phone 92 includes a communication unit 922, an audio codec 923, a camera unit 926, an image processing unit 927, a demultiplexing unit 928, a recording / reproducing unit 929, a display unit 930, and a control unit 931. These are connected to each other via a bus 933.
  • the image data generated by the camera unit 926 is supplied to the image processing unit 927.
  • the image processing unit 927 performs encoding processing of image data and generates encoded data.
  • the image processing unit 927 is provided with the functions of the image encoding device (image encoding method) and the image decoding device (image decoding method) of the present application. Therefore, encoding efficiency and image quality can be improved when communicating image data.
  • FIG. 23 exemplifies a schematic configuration of a recording / reproducing apparatus to which the present invention is applied.
  • the recording / reproducing apparatus 94 records, for example, audio data and video data of a received broadcast program on a recording medium, and provides the recorded data to the user at a timing according to a user instruction.
  • the recording / reproducing device 94 can also acquire audio data and video data from another device, for example, and record them on a recording medium.
  • the recording / reproducing device 94 decodes and outputs the audio data and video data recorded on the recording medium, thereby enabling image display and audio output on the monitor device or the like.
  • the external interface unit 942 includes at least one of an IEEE 1394 interface, a network interface unit, a USB interface, a flash memory interface, and the like.
  • the external interface unit 942 is an interface for connecting to an external device, a network, a memory card, and the like, and receives data such as video data and audio data to be recorded.
  • the selector 946 selects one of the encoded bit streams from the tuner 941 or the encoder 943 and supplies it to either the HDD unit 944 or the disk drive 945 when recording video or audio. Further, the selector 946 supplies the encoded bit stream output from the HDD unit 944 or the disk drive 945 to the decoder 947 at the time of reproduction of video and audio.
  • the encoder 943 is provided with the function of the image encoding apparatus (image encoding method) of the present application
  • the decoder 947 is provided with the function of the image decoding apparatus (image decoding method). Video recording and reproduction can be performed efficiently by improving the efficiency and image quality.
  • the imaging device 96 includes an optical block 961, an imaging unit 962, a camera signal processing unit 963, an image data processing unit 964, a display unit 965, an external interface unit 966, a memory unit 967, a media drive 968, an OSD unit 969, and a control unit 970. Have. In addition, a user interface unit 971 is connected to the control unit 970. Furthermore, the image data processing unit 964, the external interface unit 966, the memory unit 967, the media drive 968, the OSD unit 969, the control unit 970, and the like are connected via a bus 972.
  • the camera signal processing unit 963 performs various camera signal processing such as knee correction, gamma correction, and color correction on the electrical signal supplied from the imaging unit 962.
  • the camera signal processing unit 963 supplies the image data after the camera signal processing to the image data processing unit 964.
  • the image data processing unit 964 performs an encoding process on the image data supplied from the camera signal processing unit 963.
  • the image data processing unit 964 supplies the encoded data generated by performing the encoding process to the external interface unit 966 and the media drive 968. Further, the image data processing unit 964 performs a decoding process on the encoded data supplied from the external interface unit 966 and the media drive 968.
  • the image data processing unit 964 supplies the image data generated by performing the decoding process to the display unit 965. Further, the image data processing unit 964 superimposes the processing for supplying the image data supplied from the camera signal processing unit 963 to the display unit 965 and the display data acquired from the OSD unit 969 on the image data. To supply.
  • the OSD unit 969 generates display data such as a menu screen and icons made up of symbols, characters, or figures and outputs them to the image data processing unit 964.
  • the external interface unit 966 includes, for example, a USB input / output terminal, and is connected to a printer when printing an image.
  • a drive is connected to the external interface unit 966 as necessary, a removable medium such as a magnetic disk or an optical disk is appropriately mounted, and a computer program read from them is installed as necessary.
  • the external interface unit 966 has a network interface connected to a predetermined network such as a LAN or the Internet.
  • the control unit 970 reads the encoded data from the memory unit 967 in accordance with an instruction from the user interface unit 971, and supplies the encoded data to the other device connected via the network from the external interface unit 966. it can.
  • the control unit 970 may acquire encoded data and image data supplied from another device via the network via the external interface unit 966 and supply the acquired data to the image data processing unit 964. it can.
  • any readable / writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory is used.
  • the recording medium may be any type of removable medium, and may be a tape device, a disk, or a memory card. Of course, a non-contact IC card or the like may be used.
  • media drive 968 and the recording medium may be integrated and configured by a non-portable storage medium such as a built-in hard disk drive or an SSD (Solid State Drive).
  • a non-portable storage medium such as a built-in hard disk drive or an SSD (Solid State Drive).
  • the control unit 970 is configured using a CPU, a memory, and the like.
  • the memory stores programs executed by the CPU, various data necessary for the CPU to perform processing, and the like.
  • the program stored in the memory is read and executed by the CPU at a predetermined timing such as when the imaging device 96 is activated.
  • the CPU executes the program to control each unit so that the imaging device 96 operates according to the user operation.
  • the image data processing unit 964 is provided with the functions of the image encoding device (image encoding method) and the image decoding device (image decoding method) of the present application. Therefore, when the captured image is recorded in the memory unit 967, a recording medium, or the like, it is possible to improve the encoding efficiency and the image quality and efficiently record and reproduce the captured image.
  • the present invention should not be construed as being limited to the embodiments of the invention described above.
  • it should not be limited to the above-described macroblock size, transform block size, and prediction mode.
  • the embodiments of the present invention disclose the present invention in the form of examples, and it is obvious that those skilled in the art can make modifications and substitutions of the embodiments without departing from the gist of the present invention. That is, in order to determine the gist of the present invention, the claims should be taken into consideration.
  • a base set in advance according to the block position of the transform block in the macro block is set.
  • orthogonal transformation in decoding of an encoded bitstream generated by processing coefficient data obtained by performing orthogonal transformation using a base set in advance according to a block position, it is included in the encoded bitstream.
  • the base set in advance according to the block position in the macroblock indicated by the encoding parameter information is used, inverse orthogonal transformation is performed, and the coefficient data after orthogonal transformation is predicted before orthogonal transformation. Returned to error data.
  • image information (encoded bitstream) obtained by performing encoding in block units, such as MPEG and H.26x, is transmitted via network media such as satellite broadcasting, cable TV, the Internet, and cellular phones. Therefore, the present invention is suitable for an image decoding device, an image encoding device, or the like used when transmitting / receiving data or processing on a storage medium such as an optical, magnetic disk, or flash memory.
  • tuner 903 ... demultiplexer, 904, 947 ..Decoder, 905 ... Video signal processing unit, 906 ... Display unit, 907 ... Audio signal processing unit, 908 ... Speaker, 909, 942, 966 ... External interface unit, 910,931 , 949, 970 ... control unit, 911, 932, 971 ... user interface unit, 912, 933, 972 ... bus, 922 ... communication unit, 923 ... voice codec, 924 ... Speaker, 925 ... Microphone, 926 ... Camera part, 927 ... Image processing part, 928 ... Demultiplexing part, 929 ... Recording / reproducing part, 930 ... Display part, 943 ... Encoder, 944... HDD section, 945... Disk drive, 948, 969... OSD section, 961... Optical block, 962. ..Image data processing unit, 965... Display unit, 967... Memory unit, 968.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Discrete Mathematics (AREA)
  • Computing Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

 符号化ビットストリームを処理を可逆復号化部52と逆量子化部53と逆直交変換部54で順に行い直交変換後の係数データと符号化パラメータ情報を得る。逆直交変換部54は、符号化パラメータ情報で示されたマクロブロック内における変換ブロックの位置に応じて、予め設定されている基底を用いて係数データの逆直交変換を行い予測誤差データを得る。イントラ予測部62は予測画像データを生成する。加算部55は、予測誤差データに予測画像データを加算して画像データを復号する。変換ブロックの位置に応じて設定されている基底を用いることで、最適な逆直交変換を行うことが可能となり、符号化効率を改善できる。

Description

画像復号化装置と画像符号化装置およびその方法とプログラム
 この発明は、画像復号化装置と画像符号化装置およびその方法とプログラムに関する。詳しくは、効率的な復号化や符号化を行うことができる画像復号化装置と画像符号化装置およびその方法とプログラムを提供する。
 近年、画像情報をディジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、直交変換と動き補償により圧縮するMPEGなどの方式に準拠した装置が、放送局などの情報配信、および一般家庭における情報受信の双方において普及しつつある。
 特に、MPEG2(ISO/IEC 13818-2)は、汎用画像符号化方式として定義されている。MPEG2圧縮方式は、飛び越し走査画像および順次走査画像の双方、並びに標準解像度画像および高精細画像を網羅する標準で、プロフェッショナル用途およびコンシューマー用途の広範なアプリケーションに現在広く用いられている。MPEG2圧縮方式を用いることにより、例えば1920×1088画素を持つ高解像度の飛び越し走査画像であれば18~22Mbpsの符号量(ビットレート)を割り当てることで、高い圧縮率と良好な画質の実現が可能である。
 MPEG2は主として放送用に適合する高画質符号化を対象としていたが、MPEG1より低い符号量(ビットレート)、つまりより高い圧縮率の符号化方式には対応していなかった。携帯端末の普及により、今後そのような符号化方式のニーズは高まると思われ、これに対応してMPEG4符号化方式の標準化が行われた。画像符号化方式に関しては、1998年12月にISO/IEC 14496-2としてその規格が国際標準に承認された。
 さらに、近年、MPEG2やMPEG4といった符号化方式に比べ、その符号化、復号化により多くの演算量が要求されるものの、より高い符号化効率を実現できるH.264およびMPEG-4 Part10(Advanced Video Coding、以下H.264/AVCと記す)という名で国際標準となっている。このH.264/AVCは、H.26Lをベースとして、H.26Lではサポートされない機能をも取り入れている。
 また、H.264/AVCを用いて画像データをより効率的に符号化することが特許文献1等に開示されている。
特開2008-4984号公報
 ところで、イントラ予測では、イントラ予測の方向に合わせて変換手法の切り替えを行う、MDDT(Mode dependent directional transform)と呼ばれる方式が提案されている。このようなMDDT方式を用いる場合、イントラ予測の方向に合わせて行われる変換が最適化されていないと、符号化効率を改善することが困難である。
 そこで、この発明では、符号化効率を改善できる画像復号化装置と画像符号化装置およびその方法とプログラムを提供することを目的とする。
 この発明の第1の側面は、画像データと予測画像データとの誤差である予測誤差データを、変換ブロック毎に直交変換して、該直交変換後の係数データを処理して生成された符号化ビットストリームから前記画像データを復号する画像復号化装置において、前記符号化ビットストリームを処理して、前記直交変換後の係数データと符号化パラメータ情報を得るデータ処理部と、前記符号化パラメータ情報で示されたマクロブロック内における前記変換ブロックの位置に応じて予め設定されている基底を用いて前記係数データの逆直交変換を行い予測誤差を得る逆直交変換部と、前記予測画像データを生成する予測画像データ生成部と、前記逆直交変換部で得られた前記予測誤差に前記予測画像データ生成部で生成された予測画像データを加算して前記画像データを復号する加算部とを有する画像復号化装置にある。
 この発明の画像復号化装置では、符号化ビットストリームを処理して得られた直交変換後の係数データの逆直交変換を行う際に、前記符号化ビットストリームに含まれている画像データを復号するための符号化パラメータ情報で示されたマクロブロック内における変換ブロックのブロック位置やブロック位置と符号化パラメータ情報で示された予測モードに応じて予め設定されている基底が用いられて、逆直交変換例えばカルーネン・レーベ逆変換が行われる。また、マクロブロックに含まれる変換ブロックが複数であるとき、各変換ブロックの直交変換後の最も低い周波数成分の係数を用いたブロックの直交変換後の係数データに対して、予測モードに応じて予め設定されている基底を用いて、カルーネン・レーベ逆変換が行われる。また、逆直交変換部で用いられる基底は、予測誤差データを変換ブロック毎に直交変換したときに用いられる基底の逆行例である。このような基底を予め設けておき、ブロック位置等に応じた基底を選択して用いて逆直交変換を行い直交変換が行われるまえの予測誤差データを生成する。
 この発明の第2の側面は、画像データと予測画像データとの誤差である予測誤差データを、変換ブロック毎に直交変換して、該直交変換後の係数データを処理して生成された符号化ビットストリームから前記画像データを復号する画像復号化方法において、前記符号化ビットストリームを処理して、前記直交変換後の係数データと符号化パラメータ情報を得るデータ処理工程と、前記符号化パラメータ情報で示されたマクロブロック内における前記変換ブロックの位置に応じて、予め設定されている基底を用いて前記係数データの逆直交変換を行い予測誤差を得る逆直交変換工程と、前記予測画像データを生成する予測画像データ生成工程と、前記逆直交変換部で得られた前記予測誤差に前記生成された予測画像データを加算して前記画像データを復号する加算工程とを設けた画像復号化方法にある。
 この発明の第3の側面は、画像データと予測画像データとの誤差である予測誤差データを、変換ブロック毎に直交変換して、該直交変換後の係数データを処理して生成された符号化ビットストリームから前記画像データを復号する画像符号化をコンピュータで実行させるプログラムであって、前記符号化ビットストリームを処理して、前記直交変換後の係数データと符号化パラメータ情報を得るデータ処理手順と、前記符号化パラメータ情報で示されたマクロブロック内における前記変換ブロックの位置に応じて、予め設定されている基底を用いて前記係数データの逆直交変換を行い予測誤差を得る逆直交変換手順と、前記予測画像データを生成する予測画像データ生成手順と、前記逆直交変換部で得られた前記予測誤差に前記生成された予測画像データを加算して前記画像データを復号する加算手順とを前記コンピュータで実行させるプログラムにある。
 この発明の第4の側面は、画像データの符号化を行う画像符号化装置において、前記画像データの予測画像データを生成する予測部と、前記画像データと前記予測画像データとの誤差である予測誤差データを生成する減算部と、前記予測誤差の直交変換を変換ブロック毎に行い、マクロブロック内における前記変換ブロックの位置に応じて予め設定されている基底を用いて、前記直交変換を行う直交変換部と、前記直交変換部の出力データを処理して符号化ビットストリームを生成するデータ処理部とを有する画像符号化装置にある。
 この発明の画像符号化装置では、画像データと予測画像データの誤差を示す予測誤差データを変換ブロック毎に直交変換する際に、マクロブロック内における変換ブロックのブロック位置やブロック位置と予測画像データを生成したときの予測モードに応じて予め設定されている基底が用いられて、直交変換例えばカルーネン・レーベ変換が行われる。また、マクロブロックに含まれる変換ブロックが複数であるとき、各変換ブロックにおける直交変換後の最も低い周波数成分の係数で構成したブロックのカルーネン・レーベ変換が行われる。このカルーネン・レーベ変換では、予測モードに応じて予め設定されている基底が用いられる。この基底は、予め基底の学習用に用意されている複数の画像を用いて、マクロブロックサイズ毎、変換ブロックサイズ毎、マクロブロック内における変換ブロックの位置毎、および予測モード毎の各変換ブロック内の予測誤差データから算出した行列の固有値に対応する固有ベクトルである。また、基底は、基底間の距離または参照画素からの距離に応じてグループ化されている。このような基底を予め設けておき、ブロック位置等に応じた基底を選択して用いて直交変換を行う。さらに、直交変換後の係数データに対して量子化や可逆符号化等の処理が行われて、符号化ビットストリームの生成が行われる。
 この発明の第5の側面は、画像データの符号化を行う画像符号化方法において、前記画像データの予測画像データを生成する予測画像データ生成工程と、前記画像データと前記予測画像データとの誤差である予測誤差データを生成する減算工程と、前記予測誤差の直交変換を変換ブロック毎に行い、マクロブロック内における前記変換ブロックの位置に応じて予め設定されている基底を用いて、前記直交変換を行う直交変換工程とを設けた画像符号化方法にある。
 この発明の第6の側面は、画像データの符号化をコンピュータで実行させるプログラムであって、前記画像データの予測画像データを生成する予測画像データ生成手順と、前記画像データと前記予測画像データとの誤差である予測誤差データを生成する減算手順と、前記予測誤差の直交変換を変換ブロック毎に行い、マクロブロック内における前記変換ブロックの位置に応じて予め設定されている基底を用いて、前記直交変換を行う直交変換手順とを前記コンピュータで実行させるプログラムにある。
 なお、本発明のプログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、光ディスクや磁気ディスク、半導体メモリなどの記憶媒体、あるいは、ネットワークなどの通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
 この発明によれば、画像データの符号化時に行われる直交変換において、マクロブロック内における変換ブロックのブロック位置に応じて予め設定されている基底を用いて直交変換が行われる。また、ブロック位置に応じて予め設定されている基底を用いて直交変換を行うことに得られた係数データを処理して生成された符号化ビットストリームの復号化において、符号化ビットストリームに含まれている符号化パラメータ情報で示されたマクロブロック内のブロック位置に応じて予め設定されている基底が用いられて、逆直交変換が行われるので、直交変換後の係数データを直交変換前の予測誤差データに戻すことができる。このように、マクロブロック内のブロック位置に応じた基底を用いて直交変換や逆直交変換が行われるので、ブロック位置に応じて最適化した変換を行うことが可能となり、符号化効率を改善することができる。
画像符号化装置の構成を示した図である。 4×4画素のブロックについてのイントラ予測モードを示す図である。 予測モードと予測誤差の関係を示した図である。 直交変換部におけるKL変換を示す図である。 直交変換部の構成を示す図である。 画像符号化処理動作を示すフローチャートである。 予測処理を示すフローチャートである。 イントラ予測処理を示すフローチャートである。 インター予測処理を示すフローチャートである。 符号化パラメータ生成処理を示すフローチャートである。 直交変換処理を示すフローチャートである。 直交変換動作を説明するための図である。 画像復号化装置の構成を示した図である。 逆直交変換部の構成を示す図である。 画像復号化処理動作を示すフローチャートである。 逆直交変換処理を示すフローチャートである。 逆直交変換処理を説明するための図である。 予測処理を示すフローチャートである。 基底の学習動作を示すフローチャートである。 基底のグループ化を説明するための図である。 テレビジョン装置の概略構成を例示した図である。 携帯電話機の概略構成を例示した図である。 記録再生装置の概略構成を例示した図である。 撮像装置の概略構成を例示した図である。
 以下、発明を実施するための形態について説明する。なお、説明は以下の順序で行う。
 1.画像符号化装置の構成
 2.直交変換部の構成
 3.画像符号化装置の動作
 4.画像復号化装置の構成
 5.逆直交変換部の構成
 6.画像復号化装置の動作
 7.基底の学習動作
 8.ソフトウェア処理の場合
 9.電子機器に適用した場合
 <1.画像符号化装置の構成>
 図1は、画像符号化装置の構成を示している。画像符号化装置10は、アナログ/ディジタル変換部(A/D変換部)11、画面並び替えバッファ12、減算部13、直交変換部14、量子化部15、可逆符号化部16、蓄積バッファ17、レート制御部18を備えている。さらに、画像符号化装置10は、逆量子化部21、逆直交変換部22、加算部23、デブロッキングフィルタ24、フレームメモリ27、イントラ予測部31、動き予測・補償部32、予測画像・最適モード選択部33を備えている。
 A/D変換部11は、アナログの画像信号をディジタルの画像データに変換して画面並べ替えバッファ12に出力する。
 画面並べ替えバッファ12は、A/D変換部11から出力された画像データに対してフレームの並べ替えを行う。画面並べ替えバッファ12は、符号化処理に係るGOP(Group of Pictures)構造に応じてフレームの並べ替えを行い、並べ替え後の画像データを減算部13とイントラ予測部31と動き予測・補償部32に出力する。
 減算部13には、画面並べ替えバッファ12から出力された画像データと、後述する予測画像・最適モード選択部33で選択された予測画像データが供給される。減算部13は、画面並べ替えバッファ12から出力された画像データと予測画像・最適モード選択部33から供給された予測画像データとの差分である予測誤差データを算出して、直交変換部14に出力する。
 直交変換部14は、減算部13から出力された予測誤差データに対して直交変換処理を行う。また、直交変換部14は、イントラ予測を行う場合、予測モードに応じた直交変換処理を行う。直交変換部14は、直交変換処理を行うことにより得られた係数データを量子化部15に出力する。
 量子化部15には、直交変換部14から出力された係数データと、後述するレート制御部18からレート制御信号が供給されている。量子化部15は係数データの量子化を行い、量子化データを可逆符号化部16と逆量子化部21に出力する。また、量子化部15は、レート制御部18からのレート制御信号に基づき量子化パラメータ(量子化スケール)を切り替えて、量子化データのビットレートを変化させる。
 可逆符号化部16には、量子化部15から出力された量子化データと、後述するイントラ予測部31と動き予測・補償部32や予測画像・最適モード選択部33から符号化パラメータ情報が供給される。なお、符号化パラメータ情報には、イントラ予測であるかインター予測であるかを示す情報、マクロブロックサイズを示すマクロブロック情報、イントラ予測に関する情報、インター予測に関する情報等が含まれる。可逆符号化部16は、量子化データに対して例えば可変長符号化または算術符号化等により可逆符号化処理を行い、符号化ビットストリームを生成して蓄積バッファ17に出力する。また、可逆符号化部16は、符号化パラメータ情報を可逆符号化して、符号化ビットストリームの例えばヘッダ情報に付加する。なお、量子化部15や可逆符号化部16が、直交変換部14の出力データを処理して符号化ビットストリームを生成するデータ処理部に相当する。
 蓄積バッファ17は、可逆符号化部16からの符号化ビットストリームを蓄積する。また、蓄積バッファ17は、蓄積した符号化ビットストリームを伝送路に応じた伝送速度で出力する。
 レート制御部18は、蓄積バッファ17の空き容量の監視を行い、空き容量に応じてレート制御信号を生成して量子化部15に出力する。レート制御部18は、例えば蓄積バッファ17から空き容量を示す情報を取得する。レート制御部18は空き容量が少なくなっているとき、レート制御信号によって量子化データのビットレートを低下させる。また、レート制御部18は蓄積バッファ17の空き容量が十分大きいとき、レート制御信号によって量子化データのビットレートを高くする。
 逆量子化部21は、量子化部15から供給された量子化データの逆量子化処理を行う。逆量子化部21は、逆量子化処理を行うことで得られた係数データを逆直交変換部22に出力する。
 逆直交変換部22は、逆量子化部21から供給された係数データの逆直交変換処理を行うことで得られたデータを加算部23に出力する。
 加算部23は、逆直交変換部22から供給されたデータと予測画像・最適モード選択部33から供給された予測画像データを加算して参照画像データを生成して、デブロッキングフィルタ24とイントラ予測部31に出力する。
 デブロッキングフィルタ24は、画像の符号化時に生じるブロック歪みを減少させるためのフィルタ処理を行う。デブロッキングフィルタ24は、加算部23から供給された参照画像データからブロック歪みを除去するフィルタ処理を行い、フィルタ処理後の参照画像データをフレームメモリ27に出力する。
 フレームメモリ27は、デブロッキングフィルタ24から供給されたフィルタ処理後の参照画像データとを保持する。
 イントラ予測部31は、画面並べ替えバッファ12から出力された符号化対象画像の画像データと加算部23から供給された参照画像データを用いて、イントラ予測処理を行う。イントラ予測部31は、直交変換における変換ブロックサイズ毎、およびイントラ予測の予測モード毎にイントラ予測処理を行う。イントラ予測部31は、生成した予測画像データを予測画像・最適モード選択部33に出力する。また、イントラ予測部31は、イントラ予測処理に関する符号化パラメータ情報を生成して、可逆符号化部16と予測画像・最適モード選択部33に出力する。イントラ予測部31は、符号化パラメータ情報に、例えばマクロブロックサイズや変換ブロックサイズ、マクロブロック内における変換ブロックの位置、予測モード等を含める。
 また、イントラ予測部31は、各イントラ予測処理においてコスト関数値を算出して、算出したコスト関数値が最小となるイントラ予測処理、すなわち符号化効率が最も高くなる最適イントラ予測処理を選択する。イントラ予測部31は、最適イントラ予測処理における符号化パラメータ情報とコスト値と最適イントラ予測処理で生成した予測画像データを、予測画像・最適モード選択部33に出力する。
 動き予測・補償部32は、マクロブロックに対するすべての動き補償ブロックサイズでインター予測処理を行い、予測画像データを生成して予測画像・最適モード選択部33に出力する。動き予測・補償部32は、画面並べ替えバッファ12から読み出された符号化対象画像における各動き補償ブロックサイズの画像毎に、フレームメモリ27から読み出されたフィルタ処理後の参照画像データを用いて動きベクトルを検出する。さらに、動き予測・補償部32は、検出した動きベクトルに基づいて参照画像に動き補償処理を施して予測画像データの生成を行う。また、動き予測・補償部32は、インター予測処理に関する符号化パラメータ情報、例えばマクロブロックサイズや動き補償ブロックサイズ、動きベクトル等を示す符号化パラメータ情報を生成して、可逆符号化部16と予測画像・最適モード選択部33に出力する。
 また、動き予測・補償部32は、各動き補償ブロックサイズに対してコスト関数値を算出して、算出したコスト関数値が最小となるインター予測処理、すなわち符号化効率が最も高くなるインター予測処理を選択する。動き予測・補償部32は、最適インター予測処理における符号化パラメータ情報とコスト値と最適インター予測処理で生成した予測画像データを予測画像・最適モード選択部33に出力する。
 予測画像・最適モード選択部33は、イントラ予測部31で変換ブロックサイズや予測モード毎にイントラ予測処理を行い最適イントラ予測処理を選択するとき、符号化パラメータ情報を直交変換部14と可逆符号化部16、予測画像データを減算部13に出力する。また、予測画像・最適モード選択部33は、動き予測・補償部32で予測ブロック毎にインター予測処理を行って最適インター予測処理を選択するとき、符号化パラメータ情報を直交変換部14と可逆符号化部16に出力し、予測画像データを減算部13に出力する。さらに、予測画像・最適モード選択部33は、最適イントラ予測処理と最適インター予測処理のいずれかを選択して最適モードとするとき、最適イントラ予測処理のコスト関数値と最適インター予測処理のコスト関数値を比較する。予測画像・最適モード選択部33は、比較結果に基づき、コスト関数値の小さい予測処理、すなわち符号化効率の高い予測処理を最適モードとして選択して、選択した最適モードで生成された予測画像データを減算部13出力する。また、予測画像・最適モード選択部33は、最適モードの予測処理を示す符号化パラメータ情報を直交変換部14と可逆符号化部16に出力する。
 <2.直交変換部の構成>
 イントラ予測処理では、符号化済みの隣接ブロックの画素を用いて予測が行われており、複数の予測方向から最適な予測方向を選択することが行われている。例えば、H.264/AVCでは、16×16画素のブロックについての予測モードとして、予測モード0~予測モード3の4つモードが設定されている。また、8×8画素のブロックについての予測モードとして、予測モード0~予測モード8の9つの予測モードが設定されている。さらに、4×4画素のブロックについての予測モードとして、予測モード0~予測モード8の9つの予測モードが設定されている。
 図2は、例えば4×4画素のブロックについての予測モードを示している。以下、図2の各予測モードについて簡単に説明する。なお、図2において矢印は予測方向を示している。
 図2の(A)は予測モード0(vertical)を示している。予測モード0は、垂直方向に隣接する参照画素(reference pixel)A~Dをより予測値を生成するモードである。図2の(B)は予測モード1(horizontal)を示している。予測モード1は、矢印で示すように、水平方向に隣接する参照画素I~Lより予測値を生成するモードである。図2の(C)は予測モード2(DC)を示している。予測モード2は、13個の参照画素A~Mのうち、このブロックの垂直方向および水平方向に隣接する参照画素A~DおよびI~Lより予測値を生成するモードである。
 図2の(D)は予測モード3(diagonal down-left)を示している。予測モード3は、13個の参照画素A~Mのうち、水平方向に連続する参照画素A~Hより予測値を生成するモードである。図2の(E)は予測モード4(diagonal down-right)を示している。予測モード4は、13個の参照画素A~Mのうち、当該ブロックに隣接する参照画素A~D、I~Mとにより予測値を生成するモードである。図2の(F)は予測モード5(vertical-right)を示している。予測モード5は、13個の参照画素A~Mのうち、当該ブロックに隣接する参照画素A~D、I~Mとにより予測値を生成するモードである。
 図2の(G)は予測モード6(horizontal-down)を示している。予測モード6は、予測モード4および予測モード5と同様に、13個の参照画素A~Mのうち、当該ブロックに隣接する参照画素A~D、I~Mにより予測値を生成するモードである。図2の(H)は予測モード7(vertical-left)を示している。予測モード7は、13個の参照画素A~Mのうち、当該ブロックの上方に隣接する4個の参照画素A~Dと、この4個の参照画素A~Dに続く4個の参照画素E~Gとにより予測値を生成するモードである。図2の(I)は予測モード8(horizontal-up)を示している。予測モード8は、13個の参照画素A~Mのうち、当該ブロックの左方に隣接する4個の参照画素I~Lにより予測値を生成するモードである。
 このように予測値を生成する場合、ブロック内の画素において、予測値との誤差(予測誤差)は予測に用いる画素に近い画素ほど少なくなる場合が多い。したがって、例えば、図3の(A)に示すように最適モードとして予測モード0(vertical)が選択された場合、画素P0~P3は画素P12~P15よりも予測誤差が少ない。また、図3の(B)に示すように予測モード1(horizontal)が選択された場合、画素P0,P4,P8,P12は画素P3,P7,P11,P15よりも予測誤差が少ない。また、図3の(C)に示すように予測モード4(diagonal down-right)が選択された場合、画素P0は画素P15よりも予測誤差が少ない。このように、予測誤差は予測モードに依存している。また、マクロブロック内のブロック位置についても、符号化済みの隣接マクロブロックに近いブロックほど予測誤差が少なくなる場合が多く、予測誤差はマクロブロックにおけるブロック位置にも依存する。したがって、直交変換部14は、予測モードおよびマクロブロック内の直交変換を行うブロックの位置毎に最適な基底を設定することで、予測誤差の直交変換を最適化する。
 また、直交変換において、カルーネン・レーベ変換(以下「KL(Karhunen-Loeve)変換」という)は、変換後の係数が互いに無相関となるように変換する変換方式、すなわち最大の符号化効率を得ようとする最適な変換方式であることが知られている。しかし、KL変換の基底を知るためには、予測誤差に基づいた行列の生成や生成した行列の固有値に対応する固有ベクトルを算出しなければならない。ここで、画像符号化装置でその都度基底を計算すると、画像符号化装置における演算量が大きくなってしまう。また、計算した基底を符号化ビットストリームに付加すると符号化効率の悪化を招いてしまう。そこで、マクロブロック内の直交変換を行うブロック位置や予測モード毎に最適な基底を予め学習によって算出しておく。この算出した基底を画像符号化装置と画像復号化装置で用いるようにすれば、画像符号化装置と画像復号化装置で基底の算出を行う必要がなく、画像符号化装置と画像復号化装置の構成は、基底を算出する場合に比べて簡易となる。さらに、基底を伝送する必要がないので、KL変換を用いて符号化効率を高めることができるようになる。なお、基底の学習については後述する。
 イントラ予測では、マクロブロックが16×16画素であるとき、符号化対象画像のブロックサイズである変換ブロックサイズは、例えば16×16画素、8×8画素、4×4画素のいずれかのブロックサイズとされる。また、マクロブロックが8×8画素であるとき、変換ブロックサイズは、例えば8×8画素、4×4画素のいずれかのブロックサイズとされる。したがって、直交変換部14は、図4に示すように、マクロブロックが16×16画素であるとき、16×16画素、8×8画素、4×4画素のブロックサイズで予測モードに応じたKL変換を行うことができるように構成する。また、直交変換部14は、マクロブロックが8×8画素であるとき、8×8画素、4×4画素のブロックサイズで予測モードに応じたKL変換を行うことができるように構成する。さらに、直交変換部14は、マクロブロック内に複数の変換ブロックが設けられる場合、マクロブロック内のブロック位置locに応じたKL変換を行う。
 図5は、KL変換を用いた直交変換部14の構成を例示している。直交変換部14は、16×16KL変換部141、8×8KL変換部142、2×2KL変換部143,146、4×4KL変換部144,145、DCT部147、係数選択部148を有している。
 16×16KL変換部141は、予測モード毎に予め学習されている最適な基底を用いて、16×16画素のブロック単位で予測誤差データのKL変換を行い、得られた係数を係数選択部148に出力する。
 8×8KL変換部142は、予測モードおよびマクロブロック内におけるブロック位置毎に予め学習されている最適な基底を用いて、8×8画素のブロック単位で予測誤差データのKL変換を行う。また、予測誤差データが16×16画素のブロックサイズに対応するデータであるとき、16×16画素のブロックには8×8画素のブロックが4個含まれる。したがって、8×8KL変換部142は、8×8画素の各ブロックにおける最も低い周波数成分の係数(以下「最低周波数成分係数」という)を2×2KL変換部143に出力し、他の係数を係数選択部148に出力する。また、8×8KL変換部142は、予測誤差データが8×8画素のブロックサイズに対応するデータであるとき、予測モード毎に予め学習されている最適な基底を用いて、8×8画素のブロック単位で予測誤差データのKL変換を行う。8×8KL変換部142は、KL変換によって得られた係数を係数選択部148に出力する。
 2×2KL変換部143は、予測モード毎に予め学習されている最適な基底を用いて、8×8KL変換部142から供給された2×2ブロック分の係数のKL変換を予測モードに対応する基底を用いて行い、得られた係数を係数選択部148に出力する。
 4×4KL変換部144は、予測モードおよびマクロブロック内におけるブロック位置毎に予め学習されている最適な基底を用いて、4×4画素のブロック単位で予測誤差データのKL変換を行う。また、予測誤差データが16×16画素のブロックサイズに対応するデータであるとき、16×16画素のブロックには4×4画素のブロックが16個含まれる。したがって、4×4KL変換部144は、4×4画素の各ブロックにおける最低周波数成分係数を4×4KL変換部145に出力し、他の係数を係数選択部148に出力する。また、予測誤差データが8×8画素のブロックサイズに対応するデータであるとき、8×8画素のブロックには4×4画素のブロックが4個含まれる。したがって、4×4KL変換部144は、4×4画素の各ブロックにおける最低周波数成分係数を2×2KL変換部146に出力し、他の係数を係数選択部148に出力する。
 4×4KL変換部145は、予測モード毎に予め学習されている最適な基底を用いて、4×4KL変換部144から供給された4×4ブロック分の最低周波数成分係数のブロックについてKL変換を、4×4KL変換部144から示された予測モードに対応する基底を用いて行う。4×4KL変換部145は、KL変換によって得られた係数を係数選択部148に出力する。
 2×2KL変換部146は、予測モード毎に予め学習されている最適な基底を用いて、4×4KL変換部144から供給された2×2ブロック分の最低周波数成分係数のブロックについてKL変換を予測モードに対応する基底を用いて行う。2×2KL変換部146は、KL変換によって得られた係数を係数選択部148に出力する。
 DCT部147は、予測誤差データの離散コサイン変換を行い、得られた係数を係数選択部148に出力する。
 係数選択部148は、マクロブロックサイズと、変換ブロックサイズすなわち予測誤差データに対応するブロックサイズに応じて係数の選択を行う。係数選択部148は、マクロブロックサイズが16×16画素であるとき、16×16KL変換部141から出力された係数、8×8KL変換部142と2×2KL変換部143から出力された係数、4×4KL変換部144と4×4KL変換部145から出力された係数のいずれかを変換ブロックサイズに基づき選択する。係数選択部148は、選択した係数を量子化部15に出力する。
 また、係数選択部148は、マクロブロックサイズが8×8画素であるとき、8×8KL変換部142から出力された係数、4×4KL変換部144と2×2KL変換部146から出力された係数のいずれかを変換ブロックサイズに基づき選択する。係数選択部148は、選択した係数を量子化部15に出力する。なお、係数選択部148は、予測画像・最適モード選択部33から供給された符号化パラメータ情報によってインター予測モードであることが示されたとき、DCT部147から出力された係数を量子化部15に出力する。
 <3.画像符号化装置の動作>
 次に、画像符号化処理動作について説明する。図6は、画像符号化処理動作を示すフローチャートである。ステップST11において、A/D変換部11は入力された画像信号をA/D変換する。
 ステップST12において画面並べ替えバッファ12は、画像並べ替えを行う。画面並べ替えバッファ12は、A/D変換部11より供給された画像データを記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
 ステップST13において減算部13は、予測誤差データの生成を行う。減算部13は、ステップST12で並び替えられた画像の画像データと予測画像・最適モード選択部33で選択された予測画像データとの差分を算出して予測誤差データを生成する。予測誤差データは、元の画像データに比べてデータ量が小さい。したがって、画像をそのまま符号化する場合に比べて、データ量を圧縮することができる。
 ステップST14において直交変換部14は、直交変換処理を行う。直交変換部14は、減算部13から供給された予測誤差データを直交変換する。直交変換部14は、例えば予測誤差データに対してカルーネン・レーベ変換や離散コサイン変換等の直交変換を行い、係数データを出力する。なお、直交変換部14の動作の詳細については後述する。
 ステップST15において量子化部15は、量子化処理を行う。量子化部15は、係数データを量子化する。量子化に際しては、後述するステップST26の処理で説明されるように、レート制御が行われる。
 ステップST16において逆量子化部21は、逆量子化処理を行う。逆量子化部21は、量子化部15により量子化された係数データを量子化部15の特性に対応する特性で逆量子化する。
 ステップST17において逆直交変換部22は、逆直交変換処理を行う。逆直交変換部22は、逆量子化部21により逆量子化された係数データを直交変換部14の特性に対応する特性で逆直交変換する。
 ステップST18において加算部23は、参照画像データの生成を行う。加算部23は、予測画像・最適モード選択部33から供給された予測画像データと、この予測画像データと対応するブロック位置の逆直交変換後のデータを加算して、参照画像データを生成する。
 ステップST19においてデブロッキングフィルタ24は、フィルタ処理を行う。デブロッキングフィルタ24は、加算部23より出力された参照画像データをフィルタリングしてブロック歪みを除去する。
 ステップST20においてフレームメモリ27は、参照画像データを記憶する。フレームメモリ27は、フィルタ処理後の参照画像データを記憶する。
 ステップST21においてイントラ予測部31と動き予測・補償部32は、それぞれ予測処理を行う。すなわち、イントラ予測部31は、イントラ予測モードのイントラ予測処理を行い、動き予測・補償部32は、インター予測モードの動き予測・補償処理を行う。予測処理の詳細は、図7を参照して後述するが、この処理により、候補となるすべての予測モードで予測処理がそれぞれ行われ、候補となるすべての予測モードでコスト関数値がそれぞれ算出される。そして、算出されたコスト関数値に基づいて、最適イントラ予測処理と最適インター予測処理が選択され、選択された予測処理で生成された予測画像データとそのコスト関数および符号化パラメータ情報が予測画像・最適モード選択部33に供給される。
 ステップST22において予測画像・最適モード選択部33は、予測画像データの選択を行う。予測画像・最適モード選択部33は、イントラ予測部31および動き予測・補償部32より出力された各コスト関数値に基づいて、符号化効率が最良となる最適モードを決定する。また、予測画像・最適モード選択部33は、決定した最適モードの予測画像データを選択して、減算部13と加算部23に供給する。この予測画像データは、上述したように、ステップST13,ST18の演算に利用される。
 ステップST23において予測画像・最適モード選択部33は、符号化パラメータ情報生成処理を行う。予測画像・最適モード選択部33は、選択した予測画像データに関する符号化パラメータ情報を最適モードの符号化パラメータ情報として直交変換部14と可逆符号化部16に出力する。
 ステップST24において可逆符号化部16は、可逆符号化処理を行う。可逆符号化部16は、量子化部15より出力された量子化データを可逆符号化する。すなわち、量子化データに対して可変長符号化や算術符号化等の可逆符号化が行われて、データ圧縮される。このとき、上述したステップST23において可逆符号化部16に供給された符号化パラメータ情報等も可逆符号化される。さらに、量子化データを可逆符号化して生成された符号化ビットストリームのヘッダ情報に、符号化パラメータ情報等の可逆符号化データが付加される。
 ステップST25において蓄積バッファ17は、蓄積処理を行う。蓄積バッファ17は、可逆符号化部16から出力される符号化ビットストリームを蓄積する。この蓄積バッファ17に蓄積された符号化ビットストリームは、適宜読み出されて伝送路を介して復号側に伝送される。
 ステップST26においてレート制御部18は、レート制御を行う。レート制御部18は、蓄積バッファ17で符号化ビットストリームを蓄積するとき、オーバーフローまたはアンダーフローが蓄積バッファ17で発生しないように、量子化部15の量子化動作のレートを制御する。
 次に、図7のフローチャートを参照して、図6のステップST21における予測処理を説明する。
 ステップST31において、イントラ予測部31はイントラ予測処理を行う。イントラ予測部31は処理対象のブロックの画像を、候補となるすべての予測モードでイントラ予測処理する。なお、イントラ予測処理では、加算部23から供給された参照画像データが用いられる。イントラ予測は、後述するように各予測モードでイントラ予測処理が行われて、各予測モードにおけるコスト関数値が算出される。そして、算出されたコスト関数値に基づいて、符号化効率が最も高いイントラ予測処理が選択される。
 ステップST32において、動き予測・補償部32はインター予測を行う。動き予測・補償部32は、フレームメモリ27に記憶されているフィルタ処理後の参照画像データを用いて、各動き補償ブロックサイズでインター予測処理を行う。インター予測では、各動き補償ブロックサイズでインター予測処理が行われて、各予測ブロックにおけるコスト関数値が算出される。そして、算出されたコスト関数値に基づいて、符号化効率が最も高いインター予測処理が選択される。
 次に、図7のステップST31におけるイントラ予測処理について図8のフローチャートを参照して説明する。
 ステップST41でイントラ予測部31は、各予測モードおよび変換ブロックサイズで仮にイントラ予測処理を行う。イントラ予測部31は、各予測モードおよび変換ブロックサイズで、仮に加算部23から供給された参照画像データを用いて予測画像データの生成と、予測誤差データの生成から可逆符号化までの処理を行う。なお、イントラ予測部31は、各イントラ予測処理において、イントラ予測処理に関する符号化パラメータ情報を直交変換部14と可逆符号化部16に出力する。
 ステップST42でイントラ予測部31は、各予測モードと各変換ブロックサイズに対するコスト関数値を算出する。コスト関数値としては、H.264/AVC方式における参照ソフトウェアであるJM(Joint Model)で定められているように、High Complexity モードか、Low Complexity モードのいずれかの手法に基づいて行う。
 すなわち、High Complexity モードにおいては、ステップST41の処理として、各予測モードおよび変換ブロックサイズに対して、仮に可逆符号化処理までを行い、次の式(1)で表されるコスト関数値を各予測モードおよび変換ブロックサイズに対して算出する。
  Cost(Mode∈Ω)=D+λ・R      ・・・(1)
 Ωは、当該ブロック乃至マクロブロックを符号化するための候補となる予測モードと変換ブロックサイズの全体集合を示している。Dは、予測モードおよび変換ブロックサイズで符号化を行った場合の参照画像と入力画像との差分エネルギー(歪み)を示している。Rは、直交変換係数や符号化パラメータ情報等を含んだ発生符号量、λは、量子化パラメータQPの関数として与えられるラグランジュ乗数である。
 つまり、High Complexity Modeでの符号化を行うには、上記パラメータDおよびRを算出するため、候補となるすべての予測モードおよび変換ブロックサイズにより、一度、仮エンコード処理を行う必要があり、より高い演算量を要する。
 一方、Low Complexity モードにおいては、ステップST41の処理として、候補となるすべての予測モードおよび変換ブロックサイズに対して、予測画像の生成、および、符号化パラメータ情報などのヘッダビットまでを算出し、次の式(2)で表されるコスト関数値を各予測モードに対して算出する。
  Cost(Mode∈Ω)=D+QPtoQuant(QP)・Header_Bit   ・・・(2)
 Ωは、当該ブロック乃至マクロブロックを符号化するための候補となる予測モードと変換ブロックサイズの全体集合を示している。Dは、予測モードと変換ブロックサイズで符号化を行った場合の参照画像と入力画像との差分エネルギー(歪み)を示している。Header_Bitは、予測モードと変換ブロックサイズに対するヘッダビット、QPtoQuantは、量子化パラメータQPの関数として与えられる関数である。
 すなわち、Low Complexity Modeにおいては、それぞれの予測モードおよび変換ブロックサイズに関して、予測処理を行う必要があるが、復号化画像までは必要ないため、High Complexity Modeより低い演算量での実現が可能である。
 ステップST43でイントラ予測部31は、最適イントラ予測処理を決定する。イントラ予測部31は、ステップST42において算出されたコスト関数値に基づいて、それらの中から、コスト関数値が最小値である1つのイントラ予測処理を選択して最適イントラ予測処理に決定する。
 次に、図9のフローチャートを参照して、図7のステップST32のインター予測処理について説明する。
 ステップST51で動き予測・補償部32は、各動き補償ブロックサイズで仮にインター予測処理を行う。動き予測・補償部32は、各動き補償ブロックサイズで、仮に符号化処理対象ブロックの画像データと参照画像データを用いて動き予測を行う。動き予測・補償部32は、検出した動きベクトル基づき参照画像データの動き補償を行い予測画像データの生成等を行う。なお、動き予測・補償部32は、各インター予測処理において、インター予測処理に関する符号化パラメータ情報を直交変換部14と可逆符号化部16に出力する。
 ステップST52で動き予測・補償部32は、各動き補償ブロックサイズに対するコスト関数値の算出を行う。動き予測・補償部32は、上述した式(1)または式(2)を用いてコスト関数値の算出を行う。コスト関数値の算出では、符号化パラメータ情報等を含めた発生符号量を用いる。なお、インター予測モードに対するコスト関数値の算出には、H.264/AVC方式において定められているSkip ModeおよびDirect Modeのコスト関数値の評価も含まれる。
 ステップST53で動き予測・補償部32は、最適インター予測処理を決定する。動き予測・補償部32は、ステップST52において算出されたコスト関数値に基づいて、それらの中から、コスト関数値が最小値である1つのインター予測処理を選択して最適インター予測処理に決定する。
 次に、図10のフローチャートを参照して、図6におけるステップST23の符号化パラメータ情報生成処理について、イントラ予測処理の場合を説明する。符号化パラメータ情報は、上述のようにイントラ予測部31で生成する。また、予測画像・最適モード選択部33で最適モードを選択したとき、選択した予測処理に応じた符号化パラメータ情報を予測画像・最適モード選択部33で生成するようにしてもよい。
 ステップST61でイントラ予測部31は、マクロブロックサイズが16×16画素であるか否かを判別する。イントラ予測部31は、マクロブロックサイズが16×16画素であるときステップST62に進み、16×16画素でないときステップST63に進む。
 ステップST62でイントラ予測部31は、16×16画素における変換ブロックサイズ情報を設定してステップST65に進む。イントラ予測部31は、例えば直交変換部14でKL変換を行うときの変換ブロックサイズを4×4画素とするとき、変換ブロックサイズを示す変換ブロックサイズ情報を「0」に設定する。また、イントラ予測部31は、直交変換部14でKL変換を行うときの変換ブロックサイズを8×8画素とするとき、変換ブロックサイズ情報を「1」、16×16画素とするとき「2」に設定する。
 ステップST63でイントラ予測部31は、マクロブロックサイズが8×8画素であるか否か判別する。イントラ予測部31は、マクロブロックサイズが8×8画素であるときステップST64に進み、8×8画素でないときステップST65に進む。
 ステップST64でイントラ予測部31は、8×8画素における変換ブロックサイズ情報を設定してステップST65に進む。イントラ予測部31は、例えば直交変換部14でKL変換を行うときの変換ブロックサイズを4×4画素とするとき、変換ブロックサイズ情報を「0」に設定する。また、イントラ予測部31は、直交変換部14でKL変換を行うときの変換ブロックサイズを8×8画素とするとき、変換ブロックサイズ情報を「1」とする。
 ステップST65でイントラ予測部31は、符号化パラメータ情報を生成する。イントラ予測部31は、イントラ予測であることを示す情報、マクロブロックサイズ、変換ブロックサイズ情報、予測モード、マクロブロック内のブロック位置等を用いて符号化パラメータ情報を構成する。
 次に、図11のフローチャートを参照して、直交変換処理について説明する。ステップST71で直交変換部14は、イントラ予測であるか否か判別する。直交変換部14は、符号化パラメータ情報でイントラ予測であることが示されているときステップST72に進み、イントラ予測であることが示されていないときステップST81に進む。
 ステップST72で直交変換部14は、マクロブロックサイズが16×16画素であるか否か判別する。直交変換部14は、符号化パラメータ情報でマクロブロックサイズが16×16画素であることを示しているときステップST73に進み、16×16画素であることを示していないときステップST78に進む。
 ステップST73で直交変換部14は、変換ブロックサイズが4×4画素であるか否か判別する。直交変換部14は、符号化パラメータ情報で変換ブロックサイズが4×4画素であることを示しているときステップST74に進み、4×4画素であることを示していないときステップST75に進む。
 ステップST74で直交変換部14は、4×4直交変換処理を行う。直交変換部14は、予測モードとブロック位置に応じて予め学習されている基底を用いて4×4画素のブロック毎にKL変換を行う。ここで、16×16画素のブロックには、4×4画素のブロックが16個含まれることから16回のKL変換を行う。さらに、直交変換部14は、4×4画素のブロックについてKL変換を行って得られた係数から、最低周波数成分係数を選択して、選択した4×4の係数に対して予測モードに応じた基底を用いてKL変換を行う。直交変換部14は、最低周波数成分係数に対してKL変換を行って得られた係数と、最低周波数成分係数を除いた他の係数を量子化部15に出力する。すなわち、図5に示す直交変換部14の係数選択部148は、4×4KL変換部144,146から出力される係数を選択して量子化部15に出力する。
 ステップST75で直交変換部14は、変換ブロックサイズが8×8画素であるか否か判別する。直交変換部14は、符号化パラメータ情報で変換ブロックサイズが8×8画素であることを示しているときステップST76に進み、8×8画素であることを示していないときステップST77に進む。
 ステップST76で直交変換部14は、8×8直交変換処理を行う。直交変換部14は、予測モードとブロック位置に応じて予め学習されている基底を用いて8×8画素のブロック毎にKL変換を行う。ここで、16×16画素のブロックには、8×8画素のブロックが4個含まれることから4回のKL変換を行う。さらに、直交変換部14は、8×8画素のブロックについてKL変換を行って得られた係数から、最低周波数成分係数を選択して、選択した2×2の係数に対して予測モードに応じた基底を用いてKL変換を行う。直交変換部14は、最低周波数成分係数に対してKL変換を行って得られた係数と、最低周波数成分係数を除いた他の係数を量子化部15に出力する。すなわち、図5に示す直交変換部14の係数選択部148は、8×8KL変換部142と2×2KL変換部143から出力される係数を選択して量子化部15に出力する。
 ステップST77で直交変換部14は、16×16直交変換処理を行う。直交変換部14は、予測モードに応じて予め学習されている基底を用いて16×16画素のブロックのKL変換を行い、得られた係数を量子化部15に出力する。すなわち、図5に示す直交変換部14の係数選択部148は、16×16KL変換部141から出力される係数を選択して量子化部15に出力する。
 ステップST72からステップST78に進むと、直交変換部14は、変換ブロックサイズが4×4画素であるか否か判別する。直交変換部14は、符号化パラメータ情報で変換ブロックサイズが4×4画素であることを示しているときステップST79に進み、4×4画素であることを示していないときステップST80に進む。
 ステップST79で直交変換部14は、4×4直交変換処理を行う。直交変換部14は、予測モードとブロック位置に応じて予め学習されている基底を用いて4×4画素のブロック毎にKL変換を行う。ここで、8×8画素のブロックには、4×4画素のブロックが4個含まれることから4回のKL変換を行う。さらに、4×4画素のブロックについてKL変換を行って得られた係数から、最低周波数成分係数を選択して、選択した2×2の係数に対して予測モードに応じた基底を用いてKL変換を行う。直交変換部14は、最低周波数成分係数に対してKL変換を行って得られた係数と、最低周波数成分係数を除いた他の係数を量子化部15に出力する。すなわち、図5に示す直交変換部14の係数選択部148は、4×4KL変換部144と2×2KL変換部146から出力される係数を選択して量子化部15に出力する。
 ステップST80で直交変換部14は、8×8画素のブロック単位で直交変換を行う。直交変換部14は、予測モードに応じて予め学習されている基底を用いて8×8画素のブロックのKL変換を行い、得られた係数を量子化部15に出力する。すなわち、図5に示す直交変換部14の係数選択部148は、8×8KL変換部142から出力される係数を選択して量子化部15に出力する。
 ステップST81で直交変換部14は、離散コサイン変換(DCT)を行う。直交変換部14は、離散コサイン変換を行って得られた係数を量子化部15に出力する。すなわち、図5に示す直交変換部14の係数選択部148は、DCT部147から出力される係数を選択して量子化部15に出力する。
 図12は、直交変換動作を説明するための図であり、マクロブロックサイズが図12の(A)に示すように16×16画素であり、変換ブロックサイズが4×4画素であると、図12の(B)に示すように、マクロブロック内には16個の変換ブロックが含まれる。なお、ブロック内の数字はブロック位置locを示している。直交変換部14の4×4KL変換部144は、各変換ブロックについて、各ブロックの予測モードとブロック位置に対して最適化された基底を用いてKL変換を行い、図12の(C)に示すようにブロック毎の係数を生成する。さらに、4×4KL変換部145は、各ブロックにおける最低周波数成分係数(斜線で示す)を用いて、図12の(D)に示すように4×4のブロックを構成する。4×4KL変換部145は、このブロックに対して、予測モードに応じて最適化された基底を用いてKL変換を行い、図12の(E)に示すようにブロック毎の係数を生成する。直交変換部14は図12の(E)に示す係数と、図12の(C)における最低周波数成分係数を除いた他の係数を量子化部15に出力する。
 マクロブロックサイズが図12の(F)に示すように8×8画素であり、変換ブロックサイズが4×4画素であると、図12の(G)に示すように、マクロブロック内には4個の変換ブロックが含まれる。なお、ブロック内の数字はブロック位置locを示している。直交変換部14の4×4KL変換部144は、各変換ブロックについて、各ブロックの予測モードとブロック位置に対して最適化された基底を用いてKL変換を行い、図12の(H)に示すようにブロック毎の係数を生成する。さらに、2×2KL変換部146は、各ブロックにおける最低周波数成分係数(斜線で示す)を用いて、図12の(I)に示すように2×2のブロックを構成する。2×2KL変換部146は、このブロックに対して、予測モードに応じて最適化された基底を用いてKL変換を行い、図12の(J)に示すようにブロック毎の係数を生成する。直交変換部14は図12の(J)に示す係数と、図12の(H)における最低周波数成分係数を除いた他の係数を量子化部15に出力する。
 このように、本願発明の画像符号化装置および方法によれば、画像データの符号化時に行われる直交変換において、マクロブロック内における変換ブロックのブロック位置に応じて予め設定されている基底を用いて直交変換が行われる。したがって、ブロック位置に応じて最適化した変換を行うことが可能となり、符号化効率を改善することができる。また、ブロック位置だけでなく予測モードに応じて予め設定されている基底を用いて直交変換を行うことで、さらに最適化した直交変換を行うことが可能となり、さらに符号化効率を改善することができる。また、符号化効率を改善することで、例えば符号化ビットストリームのデータ量を増やさなくとも画質を改善できる。
 <4.画像復号化装置の構成>
 入力画像を符号化して生成された符号化ビットストリームは、所定の伝送路や記録媒体等を介して画像復号化装置に供給されて復号される。
 図13は、画像復号化装置の構成を示している。画像復号化装置50は、蓄積バッファ51、可逆復号化部52、逆量子化部53、逆直交変換部54、加算部55、デブロッキングフィルタ56、画面並べ替えバッファ57、ディジタル/アナログ変換部(D/A変換部)58を備えている。さらに、画像復号化装置50は、フレームメモリ61、イントラ予測部62、動き補償部63、セレクタ64を備えている。
 蓄積バッファ51は、伝送されてきた符号化ビットストリームを蓄積する。可逆復号化部52は、蓄積バッファ51より供給された符号化ビットストリームを、図1の可逆符号化部16の符号化方式に対応する方式で復号化する。
 可逆復号化部52は、符号化ビットストリームのヘッダ情報を復号して得られた符号化パラメータ情報をイントラ予測部62や動き補償部63、デブロッキングフィルタ56に出力する。また、可逆復号化部52は、復号化対象のブロックと復号化済みの隣接ブロックの動きベクトルを用いて予測動きベクトルの候補を設定する。可逆復号化部52は、符号化ビットストリームを可逆復号化して得られた予測動きベクトル選択情報に基づき、予測動きベクトルの候補から動きベクトルを選択して、選択した動きベクトルを予測動きベクトルとする。また、可逆復号化部52は、符号化ビットストリームを可逆復号化して得られた差分動きベクトルに予測動きベクトルを加算して復号化対象のブロックの動きベクトルを算出して、動き補償部63に出力する。
 逆量子化部53は、可逆復号化部52で復号された量子化データを、図1の量子化部15の量子化方式に対応する方式で逆量子化する。逆直交変換部54は、図1の直交変換部14の直交変換方式に対応する方式で逆量子化部53の出力を逆直交変換して加算部55に出力する。
 加算部55は、逆直交変換後のデータとセレクタ64から供給される予測画像データを加算して復号画像データを生成してデブロッキングフィルタ56とイントラ予測部62に出力する。
 デブロッキングフィルタ56は、加算部55から供給された復号画像データに対してフィルタ処理を行い、ブロック歪みを除去してからフレームメモリ61に供給し蓄積させるとともに、画面並べ替えバッファ57に出力する。
 画面並べ替えバッファ57は、画像の並べ替えを行う。すなわち、図1の画面並べ替えバッファ12により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられて、D/A変換部58に出力される。
 D/A変換部58は、画面並べ替えバッファ57から供給された画像データをD/A変換し、図示せぬディスプレイに出力することで画像を表示させる。
 フレームメモリ61は、デブロッキングフィルタ24から供給されたフィルタ処理後の復号画像データとを保持する。
 イントラ予測部62は、可逆復号化部52から供給された符号化パラメータ情報に基づいて予測画像の生成を行い、生成した予測画像データをセレクタ64に出力する。
 動き補償部63は、可逆復号化部52から供給された符号化パラメータ情報や動きベクトルに基づいて動き補償を行い、予測画像データを生成してセレクタ64に出力する。すなわち、動き補償部63は、可逆復号化部52から供給された動きベクトルおよび参照フレーム情報に基づいて、参照フレーム情報で示された参照画像に対して、動きベクトルに基づき動き補償を行い、動き補償ブロックサイズの予測画像データを生成する。
 セレクタ64は、イントラ予測部62で生成された予測画像データを加算部55に供給する。また、セレクタ64は、動き補償部63で生成された予測画像データを加算部55に供給する。
 <5.逆直交変換部の構成>
 図14は、逆直交変換部54の構成を示している。逆直交変換部54は、16×16KL逆変換部541、2×2KL逆変換部542,545、8×8KL逆変換部543、4×4KL逆変換部544,546、IDCT部547およびデータ選択部548を有している。
 16×16KL逆変換部541は、図5に示す16×16KL変換部141で行われたKL変換に対応するKL逆変換を行う。16×16KL逆変換部541は、可逆復号化部52から供給された最適モードの符号化パラメータ情報が示す予測モード(最適予測モード)に応じた基底を用いて、逆量子化部53から出力された逆量子化後データのKL逆変換を行う。16×16KL逆変換部541は、KL逆変換を行うことにより得られた画像データをデータ選択部548に出力する。
 2×2KL逆変換部542は、図5に示す2×2KL変換部143で行われたKL変換に対応するKL逆変換を行う。2×2KL逆変換部542は、最適モードの符号化パラメータ情報が示す予測モードに応じた基底を用いて、逆量子化部53から出力された逆量子化後データのKL逆変換を行う。2×2KL逆変換部542は、KL逆変換を行うことにより得られた最低周波数成分係数を8×8KL逆変換部543に出力する。
 8×8KL逆変換部543は、図5に示す8×8KL変換部143で行われたKL変換に対応するKL逆変換を行う。8×8KL逆変換部543は、可逆復号化部52から供給された最適モードの符号化パラメータ情報に基づいてKL逆変換を行う。例えば、8×8KL逆変換部543は、マクロブロックサイズが16×16画素であるとき、最適モードの符号化パラメータ情報が示す予測モードとブロック位置に応じた基底を用いて、2×2KL逆変換部542から出力された最低周波数成分係数と逆量子化部53から出力された逆量子化後データとのKL逆変換を行う。8×8KL逆変換部543は、KL逆変換を行うことにより得られた画像データをデータ選択部548に出力する。また、8×8KL逆変換部543は、マクロブロックサイズが8×8画素であるとき、予測モードとブロック位置に応じた基底を用いて、逆量子化部53から出力された逆量子化後データのKL逆変換を行い、得られた画像データをデータ選択部548に出力する。
 4×4KL逆変換部544は、図5に示す4×4KL変換部145で行われたKL変換に対応するKL逆変換を行う。4×4KL逆変換部544は、最適モードの符号化パラメータ情報が示す予測モードに応じた基底を用いて、逆量子化部53から出力された逆量子化後データのKL逆変換を行う。4×4KL逆変換部544は、KL逆変換を行うことにより得られた最低周波数成分係数を4×4KL逆変換部546に出力する。
 2×2KL逆変換部545は、図5に示す2×2KL変換部146で行われたKL変換に対応するKL逆変換を行う。2×2KL逆変換部545は、最適モードの符号化パラメータ情報が示す予測モードに応じた基底を用いて、逆量子化部53から出力された逆量子化後データのKL逆変換を行う。2×2KL逆変換部545は、KL逆変換を行うことにより得られた最低周波数成分係数を4×4KL逆変換部546に出力する。
 4×4KL逆変換部546は、図5に示す4×4KL変換部144で行われたKL変換に対応するKL逆変換を行う。4×4KL逆変換部546は、可逆復号化部52から供給された最適モードの符号化パラメータ情報に基づいてKL逆変換を行う。例えば、4×4KL逆変換部546は、マクロブロックサイズが16×16画素であるとき、最適モードの符号化パラメータ情報が示す予測モードとブロック位置に応じた基底を用いて、4×4KL逆変換部544から出力された最低周波数成分係数と逆量子化部53から出力された逆量子化後データとのKL逆変換を行う。4×4KL逆変換部546は、KL逆変換を行うことにより得られた画像データをデータ選択部548に出力する。また、4×4KL逆変換部546は、マクロブロックサイズが8×8画素であるとき、予測モードとブロック位置に応じた基底を用いて、2×2KL逆変換部545から出力された最低周波数成分係数と逆量子化部53から出力された逆量子化後データとのKL逆変換を行う。4×4KL逆変換部546は、KL逆変換を行うことにより得られた画像データをデータ選択部548に出力する。
 IDCT部547は、逆量子化部53から出力された逆量子化後データを用いて、逆離散コサイン変換を行い、得られた画像データをデータ選択部548に出力する。
 データ選択部548は、符号化パラメータ情報に基づいて、16×16KL逆変換部541、8×8KL逆変換部543、4×4KL逆変換部546、IDCT部547から出力された画像データの選択を行う。データ選択部548は、選択した画像データを予測誤差データとして加算部55に出力する。
 <6.画像復号化装置の動作>
 次に、図15のフローチャートを参照して、画像復号化装置50で行われる画像復号処理動作について説明する。
 ステップST91で蓄積バッファ51は、伝送されてきた符号化ビットストリームを蓄積する。ステップST92で可逆復号化部52は、可逆復号化処理を行う。可逆復号化部52は、蓄積バッファ51から供給される符号化ビットストリームを復号化する。すなわち、図1の可逆符号化部16により符号化された各ピクチャの量子化データが得られる。また、可逆復号化部52、符号化ビットストリームのヘッダ情報に含まれている符号化パラメータ情報の可逆復号化を行い、得られた符号化パラメータ情報をデブロッキングフィルタ56やセレクタ64に供給する。さらに、可逆復号化部52は、符号化パラメータ情報がイントラ予測モードに関する情報である場合、符号化パラメータ情報をイントラ予測部62に出力する。また、可逆復号化部52は、符号化パラメータ情報がインター予測モードに関する情報である場合、符号化パラメータ情報を動き補償部63に出力する。
 ステップST93において逆量子化部53は、逆量子化処理を行う。逆量子化部53は、可逆復号化部52により復号された量子化データを、図1の量子化部15の特性に対応する特性で逆量子化する。
 ステップST94において逆直交変換部54は、逆直交変換処理を行う。逆直交変換部54は、逆量子化部53からの逆量子化後データに対して、図1の直交変換部14の直交変換に対応する逆直交変換を行う。
 ステップST95において加算部55は、復号画像データの生成を行う。加算部55は、逆直交変換処理を行うことにより得られた予測誤差データと、後述するステップST99で選択された予測画像データを加算して復号画像データを生成する。これにより元の画像が復号される。
 ステップST96においてデブロッキングフィルタ56は、フィルタ処理を行う。デブロッキングフィルタ56は、加算部55より出力された復号画像データのフィルタ処理を行い、復号画像に含まれているブロック歪みを除去する。
 ステップST97においてフレームメモリ61は、復号画像データの記憶処理を行う。
 ステップST98においてイントラ予測部62と動き補償部63は、予測処理を行う。イントラ予測部62と動き補償部63は、可逆復号化部52から供給される符号化パラメータ情報に対応してそれぞれ予測処理を行う。
 すなわち、可逆復号化部52から供給された符号化パラメータ情報がイントラ予測であることを示している場合、イントラ予測部62は、符号化パラメータ情報に基づいてイントラ予測処理を行い、予測画像データを生成する。また、可逆復号化部52から供給された符号化パラメータ情報がインター予測であることを示している場合、動き補償部63は、符号化パラメータ情報に基づき動き補償を行い、予測画像データを生成する。
 ステップST99において、セレクタ64は予測画像データの選択を行う。すなわち、セレクタ64は、イントラ予測部62から供給された予測画像データと動き補償部63で生成された予測画像データを選択して加算部55に供給して、上述したように、ステップST95において逆直交変換部54の出力と加算させる。
 ステップST100において画面並べ替えバッファ57は、画像並べ替えを行う。すなわち画面並べ替えバッファ57は、図1の画像符号化装置10の画面並べ替えバッファ12により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
 ステップST101において、D/A変換部58は、画面並べ替えバッファ57からの画像データをD/A変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
 次に、逆直交変換処理について、図16に示すフローチャートを用いて説明する。ステップST111で逆直交変換部54は、イントラ予測であるか否か判別する。逆直交変換部54は、例えば可逆復号化部52で符号化ビットストリームから取り出された符号化パラメータ情報に基づき復号化を行うブロックがイントラ予測であるか否か判別する。逆直交変換部54は、符号化パラメータ情報がイントラ予測であることを示しているときステップST112に進み、イントラ予測であることを示していないとき、すなわちインター予測であるときステップST121に進む。
 ステップST112で逆直交変換部54は、マクロブロックサイズが16×16画素であるか否か判別する。逆直交変換部54は、符号化パラメータ情報でマクロブロックサイズが16×16画素であることを示しているときステップST113に進み、16×16画素であることを示していないときステップST118に進む。
 ステップST113で逆直交変換部54は、変換ブロックサイズが4×4画素であるか判別する。逆直交変換部54は符号化パラメータ情報における変換ブロックサイズ情報が「0」であり、変換ブロックサイズが4×4画素のときステップST114に進み、「0」でないときステップST115に進む。
 ステップST114で逆直交変換部54は、4×4逆直交変換処理を行う。逆直交変換部54は、予測モードとブロック位置に応じて予め学習されている基底を用いて4×4KL逆変換を行う。マクロブロックサイズが16×16画素であるとき、符号化では16回のKL変換とKL変換を行って得られた係数から最低周波数成分係数を選択してKL変換が行われている。したがって、逆直交変換部54は、予測モードに応じた基底を用いて、最低周波数成分係数の逆量子化後データのKL逆変換を行う。また、逆直交変換部54は、このKL逆変換によって得られた最低周波数成分係数と他の成分の係数からなる16個のブロックに対して、予測モードとブロック位置に応じた基底を用いてKL逆変換を行う。逆直交変換部54は、KL逆変換を行うことにより得られた予測誤差データを加算部55に出力する。すなわち、図14に示す逆直交変換部54のデータ選択部548は、4×4KL逆変換部544の出力を用いて4×4KL逆変換部546でKL逆変換を行うことにより得られたデータを選択して加算部55に出力する。
 ステップST115で逆直交変換部54は、変換ブロックサイズが8×8画素であるか判別する。逆直交変換部54は符号化パラメータ情報における変換ブロックサイズ情報が「1」であり、変換ブロックサイズが8×8画素であるときステップST116に進み、「1」でないときステップST117に進む。
 ステップST116で逆直交変換部54は、8×8逆直交変換処理を行う。逆直交変換部54は、予測モードとブロック位置に応じて予め学習されている基底を用いて8×8KL逆変換を行う。マクロブロックサイズが16×16画素であるとき、符号化では4回のKL変換とKL変換を行って得られた係数から最低周波数成分係数を選択してKL変換が行われている。したがって、逆直交変換部54は、予測モードに応じた基底を用いて、最低周波数成分係数の逆量子化後データのKL逆変換を行う。また、逆直交変換部54は、このKL逆変換によって得られた最低周波数成分係数と他の成分の係数からなる4個のブロックに対して、予測モードとブロック位置に応じた基底を用いてKL逆変換を行う。逆直交変換部54は、KL逆変換を行うことにより得られた予測誤差データを加算部55に出力する。すなわち、図14に示す逆直交変換部54のデータ選択部548は、2×2KL逆変換部542の出力を用いて8×8KL逆変換部543でKL逆変換を行うことにより得られたデータを選択して加算部55に出力する。
 ステップST117で逆直交変換部54は、16×16逆直交変換処理を行う。逆直交変換部54は、予測モードに応じて予め学習されている基底を用いて16×16KL逆変換を行う。逆直交変換部54は、KL逆変換を行うことにより得られた予測誤差データを加算部55に出力する。すなわち、図14に示す逆直交変換部54のデータ選択部548は、16×16KL逆変換部541でKL逆変換を行うことにより得られたデータを選択して加算部55に出力する。
 ステップST112からステップST118に進むと、逆直交変換部54は、変換ブロックサイズが4×4画素であるか判別する。逆直交変換部54は符号化パラメータ情報における変換ブロックサイズ情報が「0」であり、変換ブロックサイズが4×4画素であるるときステップST119に進み、「0」でないときステップST120に進む。
 ステップST119で逆直交変換部54は、4×4逆直交変換処理を行う。逆直交変換部54は、予測モードとブロック位置に応じて予め学習されている基底を用いて4×4KL逆変換処理を行う。マクロブロックサイズが8×8画素であるとき、符号化では4回のKL変換とKL変換を行って得られた係数から最低周波数成分係数を選択してKL変換が行われている。したがって、逆直交変換部54は、予測モードに応じた基底を用いて、最低周波数成分係数の逆量子化後データのKL逆変換を行う。また、逆直交変換部54は、このKL逆変換によって得られた最低周波数成分係数と他の成分の係数からなる4個のブロックに対して、予測モードとブロック位置に応じた基底を用いてKL逆変換を行う。逆直交変換部54は、KL逆変換を行うことにより得られた予測誤差データを加算部55に出力する。すなわち、図14に示す逆直交変換部54のデータ選択部548は、2×2KL逆変換部545の出力を用いて4×4KL逆変換部546でKL逆変換を行うことにより得られたデータを選択して加算部55に出力する。
 ステップST120で逆直交変換部54は、8×8逆直交変換処理を行う。逆直交変換部54は、予測モードに応じて予め学習されている基底を用いて8×8KL逆変換を行う。逆直交変換部54は、KL逆変換を行うことにより得られた予測誤差データを加算部55に出力する。すなわち、図14に示す逆直交変換部54のデータ選択部548は、8×8KL逆変換部543でKL逆変換を行うことにより得られたデータを選択して加算部55に出力する。
 ステップST121で逆直交変換部54は、逆離散コサイン変換(IDCT)を行う。逆直交変換部54は、逆離散コサイン変換を行って得られた係数を加算部55に出力する。すなわち、図14に示す逆直交変換部54のデータ選択部548は、IDCT部547から出力されるデータを選択して加算部55に出力する。
 図17は、逆直交変換動作を説明するための図であり、図12の直交変換動作で生成された変換係数の逆直交変換を例示している。
 例えば、マクロブロックサイズが16×16画素で変換ブロックサイズが4×4画素とする。この場合、4×4KL逆変換部544は、最適モードの符号化パラメータ情報が示す予測モードに応じた基底を用いて図17の(A)に示す最低周波数成分係数のKL変換後データ(逆量子化データ)のKL逆変換を行う。4×4KL逆変換部544は、このKL逆変換によって、図17の(B)に示す最も低い周波数成分の係数を生成する。4×4KL逆変換部546は、図17の(C)に示すように、最低周波数成分係数と他のKL変換後データ(逆量子化データ)をブロック毎の係数に戻す。さらに、4×4KL逆変換部546は、図17の(D)に示すように、符号化パラメータ情報が示す予測モードとブロック位置に応じた基底を用いて16個の4×4ブロック毎にKL逆変換を行い、図17の(E)に示す予測誤差データを生成する。データ選択部548は、生成された予測誤差データを選択して加算部55に出力する。
 また、マクロブロックサイズが8×8画素で変換ブロックサイズが4×4画素であるとする。この場合、2×2KL逆変換部545は、最適モードの符号化パラメータ情報が示す予測モードに応じた基底を用いて、図17の(F)に示す最低周波数成分係数のKL変換後データ(逆量子化データ)のKL逆変換を行う。2×2KL逆変換部545は、このKL逆変換によって、図17の(G)に示す最低周波数成分係数を生成する。4×4KL逆変換部546は、図17の(H)に示すように、最低周波数成分係数と他のKL変換後データ(逆量子化データ)をブロック毎の係数に戻す。さらに、4×4KL逆変換部546は、図17の(I)に示すように、符号化パラメータ情報が示す予測モードとブロック位置に応じた基底を用いて4個の4×4ブロック毎にKL逆変換を行い、図17の(J)に示す予測誤差データを生成する。データ選択部548は、生成された予測誤差データを選択して加算部55に出力する。
 次に、図18のフローチャートを参照して、図15のステップST98の予測処理について説明する。
 ステップST131で可逆復号化部52は、対象ブロックがイントラ符号化されているか否かを判定する。可逆復号化部52は、可逆復号化を行うことにより得られた符号化パラメータ情報がイントラ予測の情報であるとき、符号化パラメータ情報をイントラ予測部62に供給してステップST132に進む。また、可逆復号化部52は、符号化パラメータ情報がイントラ予測の情報でないとき、符号化パラメータ情報を動き補償部63に供給してステップST133に進む。
 ステップST132でイントラ予測部62は、イントラ予測処理を行う。イントラ予測部62は、加算部55から供給された復号画像データと符号化パラメータ情報を用いてイントラ予測を行い、予測画像データを生成する。
 ステップST133で動き補償部63は、インター予測処理を行う。動き補償部63は、可逆復号化部52からの符号化パラメータ情報や動きベクトルに基づいて、フレームメモリ61から供給された復号画像データの動き補償を行う。さらに、動き補償部63は、動き補償により生成した予測画像データをセレクタ64に出力する。
 このように、本願発明の画像復号化装置および方法では、ブロック位置に応じて予め設定されている基底を用いて直交変換を行うことに得られた係数データを処理して生成された符号化ビットストリームの復号化において、符号化ビットストリームに含まれている符号化パラメータ情報で示されたマクロブロック内のブロック位置に応じて予め設定されている基底が用いられて、逆直交変換が行われる。したがって、直交変換後の係数データを直交変換前の予測誤差データに戻すことができるので、マクロブロック内のブロック位置に応じた基底を用いて直交変換が行われても、直交変換前の予測誤差データに戻すことができる。また、予測モードに応じた基底を用いて符号化が行われても、符号化パラメータ情報で示された予測モードに応じて予め設定されている基底を用いることで、直交変換後の係数データを直交変換前の予測誤差データに戻すことができる。
 <7.基底の学習動作> 
 次に、直交変換部14と逆直交変換部54で用いられる基底を、学習動作によって予め生成する基底生成部について説明する。図19は、基底の学習動作を示すフローチャートであり、基底生成部は、学習用に用意した画像を用いて図19に示す処理を行い基底を生成する。なお、学習用の画像としては、画像の内容によって学習に偏りが起こらないように、なるべく異なる多くの画像を用いるようにする。
 ステップST141で基底生成部は、学習に用いていない画像が残っているか判別する。基底生成部は、学習に用いていない画像が残っているときはステップST142に進み、すべての画像を用いて学習が行われたときはステップST152に進む。
 ステップST142で基底生成部は、学習に用いていないマクロブロックが残っているか判別する。基底生成部は、学習に使う画像において、学習に用いていないマクロブロックが残っているときはステップST143に進み、すべてのマクロブロックを用いて学習が行われたときはステップST141に戻る。
 ステップST143で基底生成部は、マクロブロックサイズが16×16画素であるか判別する。基底生成部は、マクロブロックサイズが16×16画素であるときステップST144に進み、マクロブロックサイズが16×16画素でないときステップST148に進む。
 ステップST144で基底生成部は、16×16予測誤差データを生成する。基底生成部はイントラ予測を行い16×16画素の予測誤差データを生成する。
 ステップST145で基底生成部は、4×4直交変換の対称行列を算出する。基底生成部は、16×16予測誤差データを4×4画素である16個の変換ブロックに分割して、予測モードとマクロブロック内における変換ブロックのブロック位置毎に対称行列Mを算出する。基底生成部は、4×4画素の変換ブロックの予測誤差データを並べて16次のベクトルとして、16次のベクトルの平均と各ベクトルとの差を算出する。基底生成部は、この差を「q」として式(3)の演算を行い対称行列Mを求める。
Figure JPOXMLDOC01-appb-M000001
 なお、式(3)において、「mdt」はマクロブロックサイズと変換ブロックサイズを判別可能とする変換モード情報である。「mid」はイントラ予測の予測モードである。「loc」は、マクロブロック内における変換ブロックのブロック位置である。「num」は学習回数である。また「T」は転置行列であることを示している。
 ステップST146で基底生成部は、8×8直交変換の対称行列を算出する。基底生成部は、16×16予測誤差データを8×8画素である4個の変換ブロックに分割して、予測モードとマクロブロック内における変換ブロックのブロック位置毎に対称行列Mを算出する。基底生成部は、8×8画素の変換ブロックの予測誤差データを並べて64次のベクトルとして、64次のベクトルの平均と各ベクトルとの差を算出する。基底生成部は、この差を「q」として式(3)の演算を行い対称行列Mを求める。
 ステップST147で基底生成部は、16×16直交変換の対称行列を算出する。基底生成部は、予測モード毎に16×16画素の変換ブロックの予測誤差データを並べて256次のベクトルとして、256次のベクトルの平均と各ベクトルとの差を算出する。基底生成部は、この差を「q」として式(3)の演算を行い、予測モード毎に対称行列Mを求める。
 ステップST143からステップST148に進むと、基底生成部は、マクロブロックサイズが8×8画素であるか判別する。基底生成部は、マクロブロックサイズが8×8画素であるときステップST149に進み、マクロブロックサイズが8×8画素でないときステップST142に戻る。
 ステップST149で基底生成部は、8×8予測誤差データを生成する。基底生成部はイントラ予測を行い8×8画素の予測誤差データを生成する。
 ステップST150で基底生成部は、4×4直交変換の対称行列を算出する。基底生成部は、8×8予測誤差データを4×4画素である4個の変換ブロックに分割して、予測モードとマクロブロック内における変換ブロックのブロック位置毎に対称行列Mを算出する。基底生成部は、4×4画素の変換ブロックの予測誤差データを並べて16次のベクトルとして、16次のベクトルの平均と各ベクトルとの差を算出する。基底生成部は、この差を「q」として式(3)の演算を行い対称行列Mを求める。
 ステップST151で基底生成部は、8×8直交変換の対称行列を算出する。基底生成部は、予測モード毎に8×8画素の変換ブロックの予測誤差データを並べて64次のベクトルとして、64次のベクトルの平均と各ベクトルとの差を算出する。基底生成部は、この差を「q」として式(3)の演算を行い、予測モード毎に対称行列Mを求める。
 ステップST152で基底生成部は、KL変換の基底を算出する。基底生成部は、各対称行列Mの固有値に対応する固有ベクトルを求め、固有値の大きさの順に固有ベクトルを並べて、KL変換の基底とする。
 このような処理を行うと、16×16KL変換部141、8×8KL変換部142、2×2KL変換部143,146、4×4KL変換部144,145でKL変換を行うときの基底を生成できる。また、各基底の逆行列の算出を行うことで、16×16KL逆変換部541、2×2KL逆変換部542,545、8×8KL逆変換部543、4×4KL逆変換部544,546でKL逆変換を行うときの基底を生成できる。
 さらに、マクロブロックサイズ毎と予測モード毎およびマクロブロック内のブロック位置毎に各ブロックのKL変換やKL逆変換を行うための基底を、画像符号化装置と画像復号化装置のそれぞれで記憶すると、記憶しておく基底の数が多くなってしまう。すなわち、容量の大きいメモリが必要となる。そこで、基底のグループ化を行い、記憶する基底を削減する。
 次に、グループ化の方法について、2つの方法を例示する。第1の方法は、学習で求めた基底について、基底間でユークリッド距離を計算し、距離が小さいものをグループ化して、グループ内の複数の基底を代表する1つの基底に置き換える。このようにグループ化を行えば、基底の数を削減できる。
 第2の方法は、参照画素かの距離に応じてグループ化する方法である。図20に示すように、予測モード0(Vertical)では、例えばGroup1={P4,P5,P6,P7}のブロックは 参照画素からの距離が等しくなる。このような場合、画素P4,P5,P6,P7の予測誤差は同じような特性になる場合が多い。そこで、このGroup1はすべて同じ基底を採用する。同様に、Group0,2,3も同じ基底を採用することで、16種類から4種類に基底を削減できる。
 同様に、予測モード1(horizontal)では、例えばGroup1={P1,P5,P9,P13}のブロックは 参照画素からの位置関係(あるいは距離)が等しくなる。このような場合、画素P1,P5,P9,P13の予測誤差は同じような特性になる場合が多い。そこで、このGroup1はすべて同じ基底を採用する。同様に、Group0,2,3も同じ基底を採用することで、16種類から4種類に基底を削減できる。
 また、予測モード4(diagonal down-right)では、参照画素と各ブロックの位置関係が同じにならない。しかし、90度回転することでP3,P12は参照画素との位置関係が同じになる。そこで、90度回転することで参照画素との位置関係が同じとなる{P1,P4},{P2,P8},{P6,P9},{P7,P13},{P11,P14}をそれぞれグループ化して同じ基底を採用する。
 さらに、予測モード0(Vertical)を90度回転したときの参照画素と各ブロックの位置関係は、予測モード1(horizontal)と等しくなることから、予測モード0(Vertical)と予測モード1(horizontal)をグループ化すれば、さらに基底を削減できることになる。
 <8.ソフトウェア処理の場合>
 明細書中において説明した一連の処理はハードウェア、またはソフトウェア、または両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させる。または、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることも可能である。
 例えば、プログラムは記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことができる。または、プログラムはフレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的または永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウェアとして提供することができる。
 なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
 プログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
 <9.電子機器に適用した場合>
 また、以上においては、符号化方式/復号方式としてH.264/AVC方式が用いられたが、本発明は、その他の符号化方式/復号方式を用いる画像符号化装置/画像復号装置に適用することもできる。
 さらに、本発明は、例えば、MPEG,H.26x等のように、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(符号化ビットストリーム)を、衛星放送、ケーブルTV(テレビジョン)、インターネット、および携帯電話機などのネットワークメディアを介して受信する際に、あるいは、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。
 上述した画像符号化装置10や画像復号化装置50は、任意の電子機器に適用することができる。以下にその例について説明する。
 図21は、本発明を適用したテレビジョン装置の概略構成を例示している。テレビジョン装置90は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース部909を有している。さらに、テレビジョン装置90は、制御部910、ユーザインタフェース部911等を有している。
 チューナ902は、アンテナ901で受信された放送波信号から所望のチャンネルを選局して復調を行い、得られた符号化ビットストリームをデマルチプレクサ903に出力する。
 デマルチプレクサ903は、符号化ビットストリームから視聴対象である番組の映像や音声のパケットを抽出して、抽出したパケットのデータをデコーダ904に出力する。また、デマルチプレクサ903は、EPG(Electronic Program Guide)等のデータのパケットを制御部910に供給する。なお、スクランブルが行われている場合、デマルチプレクサ等でスクランブルの解除を行う。
 デコーダ904は、パケットの復号化処理を行い、復号処理化によって生成された映像データを映像信号処理部905、音声データを音声信号処理部907に出力する。
 映像信号処理部905は、映像データに対して、ノイズ除去やユーザ設定に応じた映像処理等を行う。映像信号処理部905は、表示部906に表示させる番組の映像データや、ネットワークを介して供給されるアプリケーションに基づく処理による画像データなどを生成する。また、映像信号処理部905は、項目の選択などのメニュー画面等を表示するための映像データを生成し、それを番組の映像データに重畳する。映像信号処理部905は、このようにして生成した映像データに基づいて駆動信号を生成して表示部906を駆動する。
 表示部906は、映像信号処理部905からの駆動信号に基づき表示デバイス(例えば液晶表示素子等)を駆動して、番組の映像などを表示させる。
 音声信号処理部907は、音声データに対してノイズ除去などの所定の処理を施し、処理後の音声データのD/A変換処理や増幅処理を行いスピーカ908に供給することで音声出力を行う。
 外部インタフェース部909は、外部機器やネットワークと接続するためのインタフェースであり、映像データや音声データ等のデータ送受信を行う。
 制御部910にはユーザインタフェース部911が接続されている。ユーザインタフェース部911は、操作スイッチやリモートコントロール信号受信部等で構成されており、ユーザ操作に応じた操作信号を制御部910に供給する。
 制御部910は、CPU(Central Processing Unit)やメモリ等を用いて構成されている。メモリは、CPUにより実行されるプログラムやCPUが処理を行う上で必要な各種のデータ、EPGデータ、ネットワークを介して取得されたデータ等を記憶する。メモリに記憶されているプログラムは、テレビジョン装置90の起動時などの所定のタイミングでCPUにより読み出されて実行される。CPUは、プログラムを実行することで、テレビジョン装置90がユーザ操作に応じた動作となるように各部を制御する。
 なお、テレビジョン装置90では、チューナ902、デマルチプレクサ903、映像信号処理部905、音声信号処理部907、外部インタフェース部909等と制御部910を接続するためバス912が設けられている。
 このように構成されたテレビジョン装置では、デコーダ904に本願の画像復号化装置(画像復号化方法)の機能が設けられる。このため、放送局側で本願の画像符号化装置の機能を用いることにより、符号化効率や画質の改善がはかられて符号化ビットストリームの生成が行われても、テレビジョン装置で符号化ビットストリームの復号化を正しく行うことができる。
 図22は、本発明を適用した携帯電話機の概略構成を例示している。携帯電話機92は、通信部922、音声コーデック923、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931を有している。これらは、バス933を介して互いに接続されている。
 また、通信部922にはアンテナ921が接続されており、音声コーデック923には、スピーカ924とマイクロホン925が接続されている。さらに制御部931には、操作部932が接続されている。
 携帯電話機92は、音声通話モードやデータ通信モード等の各種モードで、音声信号の送受信、電子メールや画像データの送受信、画像撮影、またはデータ記録等の各種動作を行う。
 音声通話モードにおいて、マイクロホン925で生成された音声信号は、音声コーデック923で音声データへの変換やデータ圧縮が行われて通信部922に供給される。通信部922は、音声データの変調処理や周波数変換処理等を行い送信信号を生成する。また、通信部922は、送信信号をアンテナ921に供給して図示しない基地局へ送信する。また、通信部922は、アンテナ921で受信した受信信号の増幅や周波数変換処理および復調処理等を行い、得られた音声データを音声コーデック923に供給する。音声コーデック923は、音声データのデータ伸張やアナログ音声信号への変換を行いスピーカ924に出力する。
 また、データ通信モードにおいて、メール送信を行う場合、制御部931は、操作部932の操作によって入力された文字データを受け付けて、入力された文字を表示部930に表示する。また、制御部931は、操作部932におけるユーザ指示等に基づいてメールデータを生成して通信部922に供給する。通信部922は、メールデータの変調処理や周波数変換処理等を行い、得られた送信信号をアンテナ921から送信する。また、通信部922は、アンテナ921で受信した受信信号の増幅や周波数変換処理および復調処理等を行い、メールデータを復元する。このメールデータを、表示部930に供給して、メール内容の表示を行う。
 なお、携帯電話機92は、受信したメールデータを、記録再生部929で記憶媒体に記憶させることも可能である。記憶媒体は、書き換え可能な任意の記憶媒体である。例えば、記憶媒体は、RAMや内蔵型フラッシュメモリ等の半導体メモリ、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USBメモリ、またはメモリカード等のリムーバブルメディアである。
 データ通信モードにおいて画像データを送信する場合、カメラ部926で生成された画像データを、画像処理部927に供給する。画像処理部927は、画像データの符号化処理を行い符号化データを生成する。
 多重分離部928は、画像処理部927で生成された符号化データと、音声コーデック923から供給された音声データを所定の方式で多重化して通信部922に供給する。通信部922は、多重化データの変調処理や周波数変換処理等を行い、得られた送信信号をアンテナ921から送信する。また、通信部922は、アンテナ921で受信した受信信号の増幅や周波数変換処理および復調処理等を行い、多重化データを復元する。この多重化データを多重分離部928に供給する。多重分離部928は、多重化データの分離を行い、符号化データを画像処理部927、音声データを音声コーデック923に供給する。画像処理部927は、符号化データの復号化処理を行い画像データを生成する。この画像データを表示部930に供給して、受信した画像の表示を行う。音声コーデック923は、音声データをアナログ音声信号に変換してスピーカ924に供給して、受信した音声を出力する。
 このように構成された携帯電話装置では、画像処理部927に本願の画像符号化装置(画像符号化方法)や画像復号化装置(画像復号化方法)の機能が設けられる。したがって、画像データの通信を行う際に、符号化効率や画質を改善することができる。
 図23は、本発明を適用した記録再生装置の概略構成を例示している。記録再生装置94は、例えば受信した放送番組のオーディオデータとビデオデータを、記録媒体に記録して、その記録されたデータをユーザの指示に応じたタイミングでユーザに提供する。また、記録再生装置94は、例えば他の装置からオーディオデータやビデオデータを取得し、それらを記録媒体に記録させることもできる。さらに、記録再生装置94は、記録媒体に記録されているオーディオデータやビデオデータを復号して出力することで、モニタ装置等において画像表示や音声出力を行うことができるようにする。
 記録再生装置94は、チューナ941、外部インタフェース部942、エンコーダ943、HDD(Hard Disk Drive)部944、ディスクドライブ945、セレクタ946、デコーダ947、OSD(On-Screen Display)部948、制御部949、ユーザインタフェース部950を有している。
 チューナ941は、図示しないアンテナで受信された放送信号から所望のチャンネルを選局する。チューナ941は、所望のチャンネルの受信信号を復調して得られた符号化ビットストリームをセレクタ946に出力する。
 外部インタフェース部942は、IEEE1394インタフェース、ネットワークインタフェース部、USBインタフェース、フラッシュメモリインタフェース等の少なくともいずれかで構成されている。外部インタフェース部942は、外部機器やネットワーク、メモリカード等と接続するためのインタフェースであり、記録する映像データや音声データ等のデータ受信を行う。
 エンコーダ943は、外部インタフェース部942から供給された映像データや音声データが符号化されていないとき所定の方式で符号化を行い、符号化ビットストリームをセレクタ946に出力する。
 HDD部944は、映像や音声等のコンテンツデータ、各種プログラムやその他のデータ等を内蔵のハードディスクに記録し、また再生時等にそれらを当該ハードディスクから読み出す。
 ディスクドライブ945は、装着されている光ディスクに対する信号の記録および再生を行う。光ディスク、例えばDVDディスク(DVD-Video、DVD-RAM、DVD-R、DVD-RW、DVD+R、DVD+RW等)やBlu-rayディスク等である。
 セレクタ946は、映像や音声の記録時には、チューナ941またはエンコーダ943からのいずれかの符号化ビットストリームを選択して、HDD部944やディスクドライブ945のいずれかに供給する。また、セレクタ946は、映像や音声の再生時に、HDD部944またはディスクドライブ945から出力された符号化ビットストリームをデコーダ947に供給する。
 デコーダ947は、符号化ビットストリームの復号化処理を行う。デコーダ947は、復号処理化を行うことにより生成された映像データをOSD部948に供給する。また、デコーダ947は、復号処理化を行うことにより生成された音声データを出力する。
 OSD部948は、項目の選択などのメニュー画面等を表示するための映像データを生成し、それをデコーダ947から出力された映像データに重畳して出力する。
 制御部949には、ユーザインタフェース部950が接続されている。ユーザインタフェース部950は、操作スイッチやリモートコントロール信号受信部等で構成されており、ユーザ操作に応じた操作信号を制御部949に供給する。
 制御部949は、CPUやメモリ等を用いて構成されている。メモリは、CPUにより実行されるプログラムやCPUが処理を行う上で必要な各種のデータを記憶する。メモリに記憶されているプログラムは、記録再生装置94の起動時などの所定のタイミングでCPUにより読み出されて実行される。CPUは、プログラムを実行することで、記録再生装置94がユーザ操作に応じた動作となるように各部を制御する。
 このように構成された記録再生装置では、エンコーダ943に本願の画像符号化装置(画像符号化方法)の機能、デコーダ947に画像復号化装置(画像復号化方法)の機能が設けられて、符号化効率や画質を改善して、映像の記録再生を効率よく行うことができる。
 図24は、本発明を適用した撮像装置の概略構成を例示している。撮像装置96は、被写体を撮像し、被写体の画像を表示部に表示させたり、それを画像データとして、記録媒体に記録する。
 撮像装置96は、光学ブロック961、撮像部962、カメラ信号処理部963、画像データ処理部964、表示部965、外部インタフェース部966、メモリ部967、メディアドライブ968、OSD部969、制御部970を有している。また、制御部970には、ユーザインタフェース部971が接続されている。さらに、画像データ処理部964や外部インタフェース部966、メモリ部967、メディアドライブ968、OSD部969、制御部970等は、バス972を介して接続されている。
 光学ブロック961は、フォーカスレンズや絞り機構等を用いて構成されている。光学ブロック961は、被写体の光学像を撮像部962の撮像面に結像させる。撮像部962は、CCDまたはCMOSイメージセンサを用いて構成されており、光電変換によって光学像に応じた電気信号を生成してカメラ信号処理部963に供給する。
 カメラ信号処理部963は、撮像部962から供給された電気信号に対してニー補正やガンマ補正、色補正等の種々のカメラ信号処理を行う。カメラ信号処理部963は、カメラ信号処理後の画像データを画像データ処理部964に供給する。
 画像データ処理部964は、カメラ信号処理部963から供給された画像データの符号化処理を行う。画像データ処理部964は、符号化処理を行うことにより生成された符号化データを外部インタフェース部966やメディアドライブ968に供給する。また、画像データ処理部964は、外部インタフェース部966やメディアドライブ968から供給された符号化データの復号化処理を行う。画像データ処理部964は、復号化処理を行うことにより生成された画像データを表示部965に供給する。また、画像データ処理部964は、カメラ信号処理部963から供給された画像データを表示部965に供給する処理や、OSD部969から取得した表示用データを、画像データに重畳させて表示部965に供給する。
 OSD部969は、記号、文字、または図形からなるメニュー画面やアイコンなどの表示用データを生成して画像データ処理部964に出力する。
 外部インタフェース部966は、例えば、USB入出力端子などで構成され、画像の印刷を行う場合に、プリンタと接続される。また、外部インタフェース部966には、必要に応じてドライブが接続され、磁気ディスク、光ディスク等のリムーバブルメディアが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて、インストールされる。さらに、外部インタフェース部966は、LANやインターネット等の所定のネットワークに接続されるネットワークインタフェースを有する。制御部970は、例えば、ユーザインタフェース部971からの指示にしたがって、メモリ部967から符号化データを読み出し、それを外部インタフェース部966から、ネットワークを介して接続される他の装置に供給させることができる。また、制御部970は、ネットワークを介して他の装置から供給される符号化データや画像データを、外部インタフェース部966を介して取得し、それを画像データ処理部964に供給したりすることができる。
 メディアドライブ968で駆動される記録メディアとしては、例えば、磁気ディスク、光磁気ディスク、光ディスク、または半導体メモリ等の、読み書き可能な任意のリムーバブルメディアが用いられる。また、記録メディアは、リムーバブルメディアとしての種類も任意であり、テープデバイスであってもよいし、ディスクであってもよいし、メモリカードであってもよい。もちろん、非接触ICカード等であってもよい。
 また、メディアドライブ968と記録メディアを一体化し、例えば、内蔵型ハードディスクドライブやSSD(Solid State Drive)等のように、非可搬性の記憶媒体により構成されるようにしてもよい。
 制御部970は、CPUやメモリ等を用いて構成されている。メモリは、CPUにより実行されるプログラムやCPUが処理を行う上で必要な各種のデータ等を記憶する。メモリに記憶されているプログラムは、撮像装置96の起動時などの所定のタイミングでCPUにより読み出されて実行される。CPUは、プログラムを実行することで、撮像装置96がユーザ操作に応じた動作となるように各部を制御する。
 このように構成された撮像装置では、画像データ処理部964に本願の画像符号化装置(画像符号化方法)や画像復号化装置(画像復号化方法)の機能が設けられる。したがって、撮像画像をメモリ部967や記録メディア等に記録する際に、符号化効率や画質の改善をはかり撮像画像の記録再生を効率よく行うことができる。
 さらに、本発明は、上述した発明の実施の形態に限定して解釈されるべきではない。例えば、上述のマクロブロックサイズや変換ブロックサイズおよび予測モードに限定されるべきではない。この発明の実施の形態は、例示という形態で本発明を開示しており、本発明の要旨を逸脱しない範囲で当業者が実施の形態の修正や代用をなし得ることは自明である。すなわち、本発明の要旨を判断するためには、請求の範囲を参酌すべきである。
 この発明の画像復号化装置と画像符号化装置およびその方法とプログラムでは、画像データの符号化時に行われる直交変換において、マクロブロック内における変換ブロックのブロック位置に応じて予め設定されている基底を用いて直交変換が行われる。また、ブロック位置に応じて予め設定されている基底を用いて直交変換を行うことに得られた係数データを処理して生成された符号化ビットストリームの復号化において、符号化ビットストリームに含まれている符号化パラメータ情報で示されたマクロブロック内のブロック位置に応じて予め設定されている基底が用いられて、逆直交変換が行われて、直交変換後の係数データが直交変換前の予測誤差データに戻される。このように、マクロブロック内のブロック位置に応じた基底を用いて直交変換や逆直交変換が行われるので、ブロック位置に応じて最適化した変換を行うことが可能となり、符号化効率を改善することができる。したがって、MPEG、H.26x等のように、ブロック単位で符号化を行うことにより得られた画像情報(符号化ビットストリーム)を、衛星放送、ケーブルTV、インターネット、携帯電話などのネットワークメディアを介して送受信する際に、若しくは光、磁気ディスク、フラッシュメモリのような記憶メディア上で処理する際に用いられる画像復号化装置や画像符号化装置等に適している。
10・・画像符号化装置、11・・・A/D変換部、12,57・・・画面並べ替えバッファ、13・・・減算部、14・・・直交変換部、15・・・量子化部、16・・・可逆符号化部、17,51・・・蓄積バッファ、18・・・レート制御部、21,53・・・逆量子化部、22,54・・・逆直交変換部、23,55・・・加算部、24,56・・・デブロッキングフィルタ、27,61・・・フレームメモリ、31,62・・・イントラ予測部、32,63・・・動き予測・補償部、33・・・予測画像・最適モード選択部、50・・・画像復号化装置、52・・・可逆復号化部、58・・・D/A変換部、64,946・・・セレクタ、90・・・テレビジョン装置、92・・・携帯電話機、94・・・記録再生装置、96・・・撮像装置、141・・・16×16KL変換部、142・・・8×8KL変換部、143,146・・・2×2KL変換部、144,145・・・4×4KL変換部、147・・・DCT部、148・・・係数選択部、541・・・16×16KL逆変換部、542,545・・・2×2KL逆変換部、543・・・8×8KL逆変換部、544,546・・・KL逆変換部、547・・・IDCT部、548・・・データ選択部、901、921・・・アンテナ、902、941・・・チューナ、903・・・デマルチプレクサ、904,947・・・デコーダ、905・・・映像信号処理部、906・・・表示部、907・・・音声信号処理部、908・・・スピーカ、909、942、966・・・外部インタフェース部、910、931,949,970・・・制御部、911,932,971・・・ユーザインタフェース部、912,933,972・・・バス、922・・・通信部、923・・・音声コーデック、924・・・スピーカ、925・・・マイクロホン、926・・・カメラ部、927・・・画像処理部、928・・・多重分離部、929・・・記録再生部、930・・・表示部、943・・・エンコーダ、944・・・HDD部、945・・・ディスクドライブ、948、969・・・OSD部、961・・・光学ブロック、962・・・撮像部、963・・・カメラ信号処理部、964・・・画像データ処理部、965・・・表示部、967・・・メモリ部、968・・・メディアドライブ

Claims (16)

  1.  画像データと予測画像データとの誤差である予測誤差データを、変換ブロック毎に直交変換して、該直交変換後の係数データを処理して生成された符号化ビットストリームから前記画像データを復号する画像復号化装置において、
     前記符号化ビットストリームを処理して、前記直交変換後の係数データと符号化パラメータ情報を得るデータ処理部と、
     前記符号化パラメータ情報で示されたマクロブロック内における前記変換ブロックの位置に応じて、予め設定されている基底を用いて前記係数データの逆直交変換を行い予測誤差データを得る逆直交変換部と、
     前記予測画像データを生成する予測画像データ生成部と、
     前記逆直交変換部で得られた前記予測誤差データに前記予測画像データ生成部で生成された予測画像データを加算して前記画像データを復号する加算部と
    を有する画像復号化装置。
  2.  前記逆直交変換部は、前記変換ブロックの位置と前記符号化パラメータ情報で示された予測モードに応じて、予め設定されている基底を用いて前記逆直交変換を行う請求項1記載の画像復号化装置。
  3.  前記逆直交変換部は、前記符号化パラメータ情報に基づきマクロブロックに変換ブロックが複数含まれるとき、前記マクロブロックに含まれる各変換ブロックの直交変換後の最も低い周波数成分の係数データについての直交変換後の係数データに対して、予測モードに応じて予め設定されている基底を用いて前記逆直交変換を行う請求項2記載の画像復号化装置。
  4.  前記逆直交変換部で用いられる基底は、前記予測誤差データを変換ブロック毎に直交変換したときに用いられる基底の逆行例である請求項2記載の画像復号化装置。
  5.  前記逆直交変換部は、前記基底を用いてカルーネン・レーベ逆変換を行う請求項1記載の画像復号化装置。
  6.  画像データと予測画像データとの誤差である予測誤差データを、変換ブロック毎に直交変換して、該直交変換後の係数データを処理して生成された符号化ビットストリームから前記画像データを復号する画像復号化方法において、
     前記符号化ビットストリームを処理して、前記直交変換後の係数データと符号化パラメータ情報を得るデータ処理工程と、
     前記符号化パラメータ情報で示されたマクロブロック内における前記変換ブロックの位置に応じて、予め設定されている基底を用いて前記係数データの逆直交変換を行い予測誤差を得る逆直交変換工程と、
     前記予測画像データを生成する予測画像データ生成工程と、
     前記逆直交変換部で得られた前記予測誤差に前記生成された予測画像データを加算して前記画像データを復号する加算工程と
     を設けた画像復号化方法。
  7.  画像データと予測画像データとの誤差である予測誤差データを、変換ブロック毎に直交変換して、該直交変換後の係数データを処理して生成された符号化ビットストリームから前記画像データを復号する画像符号化をコンピュータで実行させるプログラムであって、
     前記符号化ビットストリームを処理して、前記直交変換後の係数データと符号化パラメータ情報を得るデータ処理手順と、
     前記符号化パラメータ情報で示されたマクロブロック内における前記変換ブロックの位置に応じて、予め設定されている基底を用いて前記係数データの逆直交変換を行い予測誤差を得る逆直交変換手順と、
     前記予測画像データを生成する予測画像データ生成手順と、
     前記逆直交変換部で得られた前記予測誤差に前記生成された予測画像データを加算して前記画像データを復号する加算手順と
     を前記コンピュータで実行させるプログラム。
  8.  画像データの符号化を行う画像符号化装置において、
     前記画像データの予測画像データを生成する予測部と、
     前記画像データと前記予測画像データとの誤差である予測誤差データを生成する減算部と、
     前記予測誤差の直交変換を変換ブロック毎に行い、マクロブロック内における前記変換ブロックの位置に応じて、予め設定されている基底を用いて前記直交変換を行う直交変換部と、
     前記直交変換部の出力データを処理して符号化ビットストリームを生成するデータ処理部と
    を有する画像符号化装置。
  9.  前記直交変換部は、前記変換ブロックの位置と前記予測部で前記予測画像データの生成を行ったときの予測モードに応じて、予め設定されている基底を用いて前記直交変換を行う請求項8記載の画像符号化装置。
  10.  前記直交変換部は、前記マクロブロックに含まれる変換ブロックが複数であるとき、マクロブロックに含まれる各変換ブロックの直交変換後の最も低い周波数成分の係数を用いたブロックについて、前記予測モードに応じて、予め設定されている基底を用いて直交変換を行う請求項9記載の画像符号化装置。
  11.  前記直交変換部で用いられる基底は、予め用意されている複数の画像を用いて、前記マクロブロックサイズ、前記変換ブロックサイズ、前記マクロブロック内における変換ブロックの位置、および前記予測モード毎の各変換ブロック内の予測誤差データから算出した行列の固有値に対応する固有ベクトルである請求項9記載の画像符号化装置。
  12.  前記直交変換部で用いられる基底は、基底間の距離に応じてグループ化されている請求項11記載の画像符号化装置。
  13.  前記直交変換部で用いられる基底は、参照画素からの距離に応じてグループ化されている請求項11記載の画像符号化装置。
  14.  前記直交変換部は、前記基底を用いてカルーネン・レーベ変換を行う請求項8記載の画像符号化装置。
  15.  画像データの符号化を行う画像符号化方法において、
     前記画像データの予測画像データを生成する予測画像データ生成工程と、
     前記画像データと前記予測画像データとの誤差である予測誤差データを生成する減算工程と、
     前記予測誤差の直交変換を変換ブロック毎に行い、マクロブロック内における前記変換ブロックの位置に応じて、予め設定されている基底を用いて前記直交変換を行う直交変換工程と
    を設けた画像符号化方法。

  16.  画像データの符号化をコンピュータで実行させるプログラムであって、
     前記画像データの予測画像データを生成する予測画像データ生成手順と、
     前記画像データと前記予測画像データとの誤差である予測誤差データを生成する減算手順と、
     前記予測誤差の直交変換を変換ブロック毎に行い、マクロブロック内における前記変換ブロックの位置に応じて、予め設定されている基底を用いて前記直交変換を行う直交変換手順と
     を前記コンピュータで実行させるプログラム。
PCT/JP2011/061974 2010-06-09 2011-05-25 画像復号化装置と画像符号化装置およびその方法とプログラム WO2011155332A1 (ja)

Priority Applications (9)

Application Number Priority Date Filing Date Title
RU2012151530/08A RU2012151530A (ru) 2010-06-09 2011-05-25 Устройство декодирования изображения, устройство кодирования изображения, способ и программа для декодирования и кодирования изображения
EP11792289.8A EP2582137A1 (en) 2010-06-09 2011-05-25 Image decoder apparatus, image encoder apparatus and methods and programs thereof
BR112012030544A BR112012030544A2 (pt) 2010-06-09 2011-05-25 aparelho e método de decodificação de imagem, programa, e, aparelho e método de codificação de imagem
CN201180027201.5A CN102918843B (zh) 2010-06-09 2011-05-25 图像解码装置、图像编码装置以及用于图像解码和编码的方法和程序
KR20127031223A KR20130090322A (ko) 2010-06-09 2011-05-25 화상 복호화 장치와 화상 부호화 장치 및 그 방법과 프로그램
US13/701,319 US9053549B2 (en) 2010-06-09 2011-05-25 Image decoding apparatus, image encoding apparatus, and method and program for image decoding and encoding
US14/720,265 US9596476B2 (en) 2010-06-09 2015-05-22 Image decoding apparatus, image encoding apparatus, and method and program for image decoding and encoding
US15/432,338 US9979982B2 (en) 2010-06-09 2017-02-14 Image decoding apparatus, image encoding apparatus, and method and program for image decoding and encoding
US15/960,370 US10499083B2 (en) 2010-06-09 2018-04-23 Image decoding apparatus, image encoding apparatus, and method and program for image decoding and encoding

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010-131891 2010-06-09
JP2010131891A JP2011259205A (ja) 2010-06-09 2010-06-09 画像復号化装置と画像符号化装置およびその方法とプログラム

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US13/701,319 A-371-Of-International US9053549B2 (en) 2010-06-09 2011-05-25 Image decoding apparatus, image encoding apparatus, and method and program for image decoding and encoding
US14/720,265 Continuation US9596476B2 (en) 2010-06-09 2015-05-22 Image decoding apparatus, image encoding apparatus, and method and program for image decoding and encoding

Publications (1)

Publication Number Publication Date
WO2011155332A1 true WO2011155332A1 (ja) 2011-12-15

Family

ID=45097940

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/061974 WO2011155332A1 (ja) 2010-06-09 2011-05-25 画像復号化装置と画像符号化装置およびその方法とプログラム

Country Status (9)

Country Link
US (4) US9053549B2 (ja)
EP (1) EP2582137A1 (ja)
JP (1) JP2011259205A (ja)
KR (1) KR20130090322A (ja)
CN (3) CN105049859B (ja)
BR (1) BR112012030544A2 (ja)
RU (1) RU2012151530A (ja)
TW (1) TW201215156A (ja)
WO (1) WO2011155332A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107743240A (zh) * 2012-02-29 2018-02-27 索尼公司 图像处理装置和方法
RU2759052C2 (ru) * 2016-12-28 2021-11-09 Сони Корпорейшн Устройство и способ обработки изображений

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8625914B2 (en) * 2013-02-04 2014-01-07 Sony Corporation Image processing system, image processing method and program
CN106060547B (zh) * 2010-06-07 2019-09-13 数码士有限公司 解码高分辨率图像的方法和装置
JP2011259205A (ja) * 2010-06-09 2011-12-22 Sony Corp 画像復号化装置と画像符号化装置およびその方法とプログラム
KR20120035096A (ko) * 2010-10-04 2012-04-13 한국전자통신연구원 쿼드 트리 변환 구조에서 부가 정보의 시그널링 방법 및 장치
JPWO2012120840A1 (ja) * 2011-03-07 2014-07-17 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置および画像符号化装置
CN103974076B (zh) 2014-05-19 2018-01-12 华为技术有限公司 图像编解码方法和设备、系统
US10139480B2 (en) * 2016-02-19 2018-11-27 Fujifilm Sonosite, Inc. Ultrasound transducer with data compression
WO2017195917A1 (ko) * 2016-05-12 2017-11-16 엘지전자 주식회사 비디오 코딩 시스템에서 인트라 예측 방법 및 장치
JP7493310B2 (ja) * 2019-06-07 2024-05-31 キヤノン株式会社 画像復号装置及び方法及びプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005130417A (ja) * 2003-10-01 2005-05-19 Matsushita Electric Ind Co Ltd 変換符号化方法および変換復号化方法
JP2009272727A (ja) * 2008-04-30 2009-11-19 Toshiba Corp 予測誤差の方向性に基づく変換方法、画像符号化方法及び画像復号化方法

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0846971A (ja) * 1994-07-29 1996-02-16 Sharp Corp 動画像符号化装置
JP3169783B2 (ja) * 1995-02-15 2001-05-28 日本電気株式会社 動画像の符号化・復号システム
JP3788823B2 (ja) * 1995-10-27 2006-06-21 株式会社東芝 動画像符号化装置および動画像復号化装置
JP4014263B2 (ja) * 1997-10-01 2007-11-28 松下電器産業株式会社 映像信号変換装置及び映像信号変換方法
JP3519594B2 (ja) * 1998-03-03 2004-04-19 Kddi株式会社 ステレオ動画像用符号化装置
JP4168304B2 (ja) * 1999-09-16 2008-10-22 ソニー株式会社 情報出力装置、情報報知方法および情報信号供給経路選択方法
US6940911B2 (en) * 2000-03-14 2005-09-06 Victor Company Of Japan, Ltd. Variable picture rate coding/decoding method and apparatus
JP3887178B2 (ja) * 2001-04-09 2007-02-28 株式会社エヌ・ティ・ティ・ドコモ 信号符号化方法及び装置並びに復号方法及び装置
JP4120301B2 (ja) * 2002-04-25 2008-07-16 ソニー株式会社 画像処理装置およびその方法
US7009655B2 (en) * 2002-07-23 2006-03-07 Mediostream, Inc. Method and system for direct recording of video information onto a disk medium
US20090118019A1 (en) * 2002-12-10 2009-05-07 Onlive, Inc. System for streaming databases serving real-time applications used through streaming interactive video
JP4617644B2 (ja) * 2003-07-18 2011-01-26 ソニー株式会社 符号化装置及び方法
JP2005272727A (ja) * 2004-03-25 2005-10-06 Nippon Shokubai Co Ltd 水性樹脂分散体及びその製造方法
KR101104828B1 (ko) * 2004-12-09 2012-01-16 삼성전자주식회사 움직임 벡터 연산 장치 및 그 방법
JP2008004984A (ja) * 2006-06-20 2008-01-10 Sony Corp 画像理装置および方法、プログラム、並びに記録媒体
US20080008246A1 (en) * 2006-07-05 2008-01-10 Debargha Mukherjee Optimizing video coding
US8571104B2 (en) * 2007-06-15 2013-10-29 Qualcomm, Incorporated Adaptive coefficient scanning in video coding
JP4678015B2 (ja) * 2007-07-13 2011-04-27 富士通株式会社 動画像符号化装置及び動画像符号化方法
EP2051524A1 (en) * 2007-10-15 2009-04-22 Panasonic Corporation Image enhancement considering the prediction error
US8275033B2 (en) * 2008-01-15 2012-09-25 Sony Corporation Picture mode selection for video transcoding
JP2009194617A (ja) * 2008-02-14 2009-08-27 Sony Corp 画像処理装置、画像処理方法、画像処理方法のプログラム及び画像処理方法のプログラムを記録した記録媒体
WO2010143853A2 (ko) * 2009-06-07 2010-12-16 엘지전자 주식회사 비디오 신호의 디코딩 방법 및 장치
US20110090952A1 (en) * 2009-10-21 2011-04-21 Cohen Robert A Directional Transforms for Video and Image Coding
KR101441879B1 (ko) * 2009-12-09 2014-09-23 에스케이텔레콤 주식회사 영상 부호화 장치 및 방법, 및 거기에 이용되는 변환 부호화 장치 및 방법, 변환기저 생성장치 및 방법, 및 영상 복호화 장치 및 방법
US8792740B2 (en) * 2010-02-02 2014-07-29 Humax Holdings Co., Ltd. Image encoding/decoding method for rate-distortion optimization and apparatus for performing same
JP2011259205A (ja) * 2010-06-09 2011-12-22 Sony Corp 画像復号化装置と画像符号化装置およびその方法とプログラム
PL3104616T3 (pl) * 2010-07-09 2017-10-31 Samsung Electronics Co Ltd Urządzenie do entropijnego dekodowania współczynników przekształcenia
US9066097B2 (en) * 2011-02-01 2015-06-23 Sony Corporation Method to optimize the transforms and/or predictions in a video codec
US9641840B2 (en) * 2011-05-20 2017-05-02 Sony Corporation Processing device and image processing method for encoding and decoding image
AU2012355057B2 (en) * 2011-12-19 2016-08-18 Sony Corporation Image processing device and method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005130417A (ja) * 2003-10-01 2005-05-19 Matsushita Electric Ind Co Ltd 変換符号化方法および変換復号化方法
JP2009272727A (ja) * 2008-04-30 2009-11-19 Toshiba Corp 予測誤差の方向性に基づく変換方法、画像符号化方法及び画像復号化方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BYEONGMOON JEON ET AL.: "Description of video coding technology proposal by LG Electronics, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/ SC29/WG11", JCTVC-A110, 1ST MEETING, April 2010 (2010-04-01), DRESDEN, DE, pages 1 *
MADHUKAR BUDAGAVI ET AL.: "Orthogonal MDDT and Mode Dependent DCT, tions Standardization SectorSTUDY GROUP 16 Question 6 Video Coding Experts Group (VCEG)", VCEG-AM20, 39TH MEETING, January 2010 (2010-01-01), KYOTO, JP, pages 1 - 9 *
MARTA KARCZEWICZ: "Improved Intra Coding, ITU - Telecommunications Standardization Sector STUDY GROUP 16 Question 6 Video Coding Experts Group (VCEG)", VCEG-AF15, 32ND MEETING, April 2007 (2007-04-01), SAN JOSE, CA, pages 1 - 4 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107743240A (zh) * 2012-02-29 2018-02-27 索尼公司 图像处理装置和方法
CN109803149A (zh) * 2012-02-29 2019-05-24 索尼公司 图像处理装置和方法
US10574990B2 (en) 2012-02-29 2020-02-25 Sony Corporation Image processing device and method with a scalable quantization matrix
CN107743240B (zh) * 2012-02-29 2020-03-17 索尼公司 图像处理装置和方法
CN110913224A (zh) * 2012-02-29 2020-03-24 索尼公司 图像处理装置和方法
CN110913224B (zh) * 2012-02-29 2022-05-03 索尼公司 图像处理装置和方法
US11539954B2 (en) 2012-02-29 2022-12-27 Sony Corporation Image processing device and method with a scalable quantization matrix
RU2759052C2 (ru) * 2016-12-28 2021-11-09 Сони Корпорейшн Устройство и способ обработки изображений
US11997316B2 (en) 2016-12-28 2024-05-28 Sony Corporation Image processing apparatus and method for curbing deterioration in coding efficiency

Also Published As

Publication number Publication date
CN102918843A (zh) 2013-02-06
US20180242019A1 (en) 2018-08-23
US9053549B2 (en) 2015-06-09
US20130071038A1 (en) 2013-03-21
EP2582137A1 (en) 2013-04-17
CN102918843B (zh) 2015-08-19
US20150281697A1 (en) 2015-10-01
TW201215156A (en) 2012-04-01
CN105049859A (zh) 2015-11-11
CN105049859B (zh) 2019-01-08
US10499083B2 (en) 2019-12-03
RU2012151530A (ru) 2014-07-20
JP2011259205A (ja) 2011-12-22
CN105025295B (zh) 2019-01-29
US20170164005A1 (en) 2017-06-08
US9979982B2 (en) 2018-05-22
US9596476B2 (en) 2017-03-14
BR112012030544A2 (pt) 2016-08-09
KR20130090322A (ko) 2013-08-13
CN105025295A (zh) 2015-11-04

Similar Documents

Publication Publication Date Title
WO2011155332A1 (ja) 画像復号化装置と画像符号化装置およびその方法とプログラム
KR101914896B1 (ko) 화상 처리 장치와 화상 처리 방법
KR101772851B1 (ko) 화상 처리 장치 및 방법
WO2011155364A1 (ja) 画像復号化装置と画像符号化装置およびその方法とプログラム
WO2012102088A1 (ja) 画像復号装置と画像符号化装置およびその方法
WO2014002896A1 (ja) 符号化装置および符号化方法、復号装置および復号方法
WO2011018965A1 (ja) 画像処理装置および方法
WO2011089972A1 (ja) 画像処理装置および方法
WO2012063878A1 (ja) 画像処理装置と画像処理方法
WO2010035732A1 (ja) 画像処理装置および方法
US20110229049A1 (en) Image processing apparatus, image processing method, and program
JP4360093B2 (ja) 画像処理装置および符号化装置とそれらの方法
JP2013150164A (ja) 符号化装置および符号化方法、並びに、復号装置および復号方法
KR20130088119A (ko) 부호화 장치 및 부호화 방법, 및 복호 장치 및 복호 방법
JP5387520B2 (ja) 情報処理装置と情報処理方法
JP4655791B2 (ja) 符号化装置、符号化方法およびそのプログラム
WO2014002900A1 (ja) 画像処理装置および画像処理方法
JP2012138884A (ja) 符号化装置および符号化方法、並びに復号装置および復号方法

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201180027201.5

Country of ref document: CN

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

Ref document number: 11792289

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2011792289

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 20127031223

Country of ref document: KR

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2012151530

Country of ref document: RU

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 13701319

Country of ref document: US

Ref document number: 10421/DELNP/2012

Country of ref document: IN

NENP Non-entry into the national phase

Ref country code: DE

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112012030544

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 112012030544

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20121130