WO2011024684A1 - 画像処理装置および方法 - Google Patents

画像処理装置および方法 Download PDF

Info

Publication number
WO2011024684A1
WO2011024684A1 PCT/JP2010/063918 JP2010063918W WO2011024684A1 WO 2011024684 A1 WO2011024684 A1 WO 2011024684A1 JP 2010063918 W JP2010063918 W JP 2010063918W WO 2011024684 A1 WO2011024684 A1 WO 2011024684A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
unit
filter
orthogonal transform
filter coefficient
Prior art date
Application number
PCT/JP2010/063918
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
Priority to EP10811734.2A priority Critical patent/EP2472870A4/en
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Priority to RU2012106134/08A priority patent/RU2533444C2/ru
Priority to AU2010287688A priority patent/AU2010287688B2/en
Priority to KR1020127004293A priority patent/KR101786130B1/ko
Priority to KR1020177027840A priority patent/KR101901087B1/ko
Priority to CA2769733A priority patent/CA2769733C/en
Priority to BR112012003855-9A priority patent/BR112012003855B1/pt
Priority to US13/390,595 priority patent/US9992516B2/en
Priority to CN201080036453.XA priority patent/CN102484714B/zh
Priority to MX2012002070A priority patent/MX2012002070A/es
Publication of WO2011024684A1 publication Critical patent/WO2011024684A1/ja
Priority to US15/929,011 priority patent/US10250911B2/en
Priority to US16/272,325 priority patent/US11051044B2/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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • 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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • 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/117Filters, e.g. for pre-processing or post-processing
    • 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/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/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • the present invention relates to an image processing apparatus and method, and more particularly, to an image processing apparatus and method capable of suppressing deterioration in image quality due to encoding and decoding of an image and further improving the image quality of a decoded image.
  • MPEG compressed by orthogonal transform such as discrete cosine transform and motion compensation is used for the purpose of efficient transmission and storage of information.
  • a device that conforms to a system such as Moving (Pictures Experts Group) is becoming widespread in both information distribution at broadcast stations and information reception in general households.
  • MPEG2 International Organization for Standardization
  • IEC International Electrotechnical Commission
  • 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.26L ITU-T (ITU-Telecommunication Standardization Sector) Q6 / 16 VCEG (Video Coding Experts Group)
  • H.26L is known to achieve higher encoding efficiency than a conventional encoding method such as MPEG2 or MPEG4, although a large amount of calculation is required for encoding and decoding.
  • MPEG4 activities standardization that implements higher coding efficiency based on this H.26L and incorporating functions not supported by H.26L has been performed as Joint ⁇ ⁇ ⁇ Model of Enhanced-Compression Video Coding. It has been broken.
  • the standardization schedule became an international standard in March 2003 under the names of H.264 and MPEG4 Part 10 (AVC (Advanced Video Coding)).
  • RGB, 4: 2: 2, 4: 4: 4 encoding tools necessary for business use 8x8DCT (Discrete Cosine Transform) and quantization matrix specified by MPEG2 are also included.
  • Standardization of FRExt has been made, and this has made it possible to use AVC to properly express film noise contained in movies, such as Blu-Ray Disc. It has been used for a wide range of applications.
  • ALF Adaptive Loop Filter
  • the macro block size of 16 pixels ⁇ 16 pixels is optimal for a large image frame such as UHD (Ultra High Definition: 4000 pixels ⁇ 2000 pixels) which is a target of the next generation encoding method. Absent. In such a case, it has been proposed to set the macroblock size to a size of, for example, 32 pixels ⁇ 32 pixels or 64 ⁇ 64 pixels (see, for example, Non-Patent Document 3).
  • the optimum filter coefficient differs locally.
  • the orthogonal transform is 4 ⁇ 4 and 8 ⁇ 8.
  • the orthogonal transform is 4 ⁇ 4 and 8 ⁇ 8.
  • an 8 ⁇ 8 orthogonal transform block mosquito noise that is not observed in a 4 ⁇ 4 orthogonal transform block is observed.
  • an 8 ⁇ 8 orthogonal transform block is easily selected for a flat area, but a 4 ⁇ 4 orthogonal transform block tends to be easily selected for an area including a fine texture.
  • the present invention has been proposed in view of such a situation, and an object thereof is to suppress degradation of image quality due to encoding and decoding of an image and to further improve the image quality of a decoded image.
  • One aspect of the present invention is a classification unit that classifies an image according to an orthogonal transformation size applied in an orthogonal transformation process performed on the image for each predetermined image size, and the image classified by the classification unit.
  • the filter means can be a Wiener filter.
  • the image size is a macroblock
  • the classification means classifies each macroblock according to its orthogonal transformation size
  • the filter means performs orthogonal transformation on each macroblock classified by the classification means.
  • the filter processing can be performed using the filter coefficient set according to the local property of the image corresponding to the size.
  • the image processing apparatus may further include an encoding unit that encodes the image and generates encoded data.
  • the encoding means encodes the image using an AVC (Advanced Video Coding) method, and the classification means performs orthogonal transform, quantization, inverse quantization, and inverse orthogonal transform decoding by the encoding means. Images are classified according to the image size, and the filter means can perform the filtering process on the partial image of the decoded image and store the filtering result as a reference image in a frame memory.
  • AVC Advanced Video Coding
  • the apparatus further comprises filter coefficient calculation means for calculating the filter coefficient using the input image to the encoding means and the decoded image, and the filter means calculates the filter coefficient calculated by the filter coefficient calculation means.
  • the filtering process can be performed.
  • the filter coefficient calculation unit classifies the input image and the decoded image, for each image size, according to an orthogonal transform size applied in an orthogonal transform process performed by the encoding unit, and for each orthogonal transform size.
  • the filter coefficient can be calculated so that the difference between the input image and the decoded image is minimized.
  • the filter coefficient calculation unit can set the value of the filter coefficient according to the local property of the image corresponding to the orthogonal transform size applied in the orthogonal transform process performed by the encoding unit.
  • the filter coefficient calculation means can further set the number of taps of the filter coefficient according to the local property of the image corresponding to the orthogonal transform size applied in the orthogonal transform processing performed by the encoding means. .
  • the filter coefficient calculation means can set the number of taps of the filter coefficient to be longer as the orthogonal transform size is larger, and can be set to be shorter as the orthogonal transform size is smaller.
  • the adding means can further add flag information for controlling whether or not to perform the filtering process to the encoded data.
  • the image processing apparatus further includes extraction means for extracting the filter coefficient from encoded data obtained by encoding an image, and decoding means for decoding the encoded data and generating a decoded image.
  • the classification means includes: The generated decoded image is classified according to the orthogonal transform size for each image size, and the filtering unit performs the extraction unit for each partial image classified for each image size classified by the classification unit. Filter processing for noise removal can be performed using the extracted filter coefficients.
  • the decoding means decodes the encoded data by an AVC (Advanced Video Coding) method, and the classification means decodes the decoded image that has been decoded, dequantized, and inversely orthogonal transformed by the decoding means,
  • the filtering means can perform the filtering process on the partial image of the decoded image.
  • the classification unit of the image processing apparatus classifies the image according to an orthogonal transform size applied in an orthogonal transform process performed on the image for each predetermined image size.
  • the filter means of the processing device uses a filter coefficient set according to the local property of the image corresponding to the orthogonal transform size of the partial image for each classified partial image of the image size.
  • an image is classified according to an orthogonal transform size applied in an orthogonal transform process performed on an image for each predetermined image size, and each partial image is classified into each classified image size.
  • filter processing for noise removal is performed using a filter coefficient set according to the local property of the image corresponding to the orthogonal transform size of the partial image.
  • an image can be encoded or decoded.
  • it is possible to suppress deterioration in image quality due to encoding and decoding of an image and further improve the image quality of a decoded image.
  • FIG. 1 It is a block diagram which shows the main structural examples of the image coding apparatus to which this invention is applied. It is a figure for demonstrating the example of the unit of orthogonal transformation. It is a figure explaining the process in the macroblock which performs 4x4 orthogonal transformation. It is a figure which shows the method of implement
  • FIG. 1 shows a configuration of an embodiment of an image encoding apparatus as an image processing apparatus to which the present invention is applied.
  • MPEG Motion Picture Experts Group 4 Part 10
  • AVC Advanced Video Coding
  • the image encoding device 100 includes an A / D (Analog / Digital) conversion unit 101, a screen rearrangement buffer 102, a calculation unit 103, an orthogonal transformation unit 104, a quantization unit 105, and a lossless encoding unit 106. And a storage buffer 107.
  • the image coding apparatus 100 includes an inverse quantization unit 108, an inverse orthogonal transform unit 109, a calculation unit 110, and a deblock filter 111.
  • the image encoding device 100 includes a filter coefficient calculation unit 112, a loop filter 113, and a frame memory 114.
  • the image encoding device 100 includes a selection unit 115, an intra prediction unit 116, a motion prediction / compensation unit 117, and a selection unit 118.
  • the image encoding device 100 includes a rate control unit 119.
  • the A / D conversion unit 101 performs A / D conversion on the input image data, outputs it to the screen rearrangement buffer 102, and stores it.
  • the screen rearrangement buffer 102 rearranges the stored frame images in the display order in the order of frames for encoding according to the GOP (Group of Picture) structure.
  • the screen rearrangement buffer 102 supplies the image in which the order of the frames is rearranged to the calculation unit 103, the intra prediction unit 116, the motion prediction / compensation unit 117, and the filter coefficient calculation unit 112.
  • the calculation unit 103 subtracts the predicted image supplied from the selection unit 118 from the image read from the screen rearrangement buffer 102, and outputs the difference information to the orthogonal transformation unit 104. For example, in the case of an image on which intra coding is performed, the calculation unit 103 adds the predicted image supplied from the intra prediction unit 116 to the image read from the screen rearrangement buffer 102. For example, in the case of an image on which inter coding is performed, the calculation unit 103 adds the predicted image supplied from the motion prediction / compensation unit 117 to the image read from the screen rearrangement buffer 102.
  • the orthogonal transform unit 104 performs orthogonal transform such as discrete cosine transform and Karhunen-Loeve transform on the difference information from the operation unit 103 and supplies the transform coefficient to the quantization unit 105. Further, the orthogonal transform unit 104 transmits information (orthogonal transform size) on which of 4 ⁇ 4 orthogonal transform and 8 ⁇ 8 orthogonal transform is applied to each macroblock, the filter coefficient calculation unit 112 and the loop. This is supplied to the filter 113.
  • orthogonal transform such as discrete cosine transform and Karhunen-Loeve transform
  • the quantization unit 105 quantizes the transform coefficient output from the orthogonal transform unit 104.
  • the quantization unit 105 supplies the quantized transform coefficient to the lossless encoding unit 106.
  • the lossless encoding unit 106 performs lossless encoding such as variable length encoding and arithmetic encoding on the quantized transform coefficient.
  • the lossless encoding unit 106 acquires information indicating intra prediction from the intra prediction unit 116 and acquires information indicating inter prediction mode from the motion prediction / compensation unit 117.
  • information indicating intra prediction is hereinafter also referred to as intra prediction mode information.
  • information indicating an information mode indicating inter prediction is hereinafter also referred to as inter prediction mode information.
  • the lossless encoding unit 106 further acquires a filter coefficient used in the loop filter 113 from the filter coefficient calculation unit 112.
  • the lossless encoding unit 106 encodes the quantized transform coefficient, and uses a filter coefficient, intra prediction mode information, inter prediction mode information, a quantization parameter, and the like as part of the header information of the encoded data. (Multiplex).
  • the lossless encoding unit 106 supplies the encoded data obtained by encoding to the accumulation buffer 107 for accumulation.
  • the lossless encoding unit 106 performs lossless encoding processing such as variable length encoding or arithmetic encoding.
  • variable length coding examples include H.264.
  • CAVLC Context-Adaptive Variable Length Coding
  • arithmetic coding examples include CABAC (Context-Adaptive Binary Arithmetic Coding).
  • the accumulation buffer 107 temporarily holds the encoded data supplied from the lossless encoding unit 106, and at a predetermined timing, the H.264 buffer stores the encoded data. As an encoded image encoded by the H.264 / AVC format, for example, it is output to a recording device or a transmission path (not shown) in the subsequent stage.
  • the transform coefficient quantized by the quantization unit 105 is also supplied to the inverse quantization unit 108.
  • the inverse quantization unit 108 inversely quantizes the quantized transform coefficient by a method corresponding to the quantization by the quantization unit 105, and supplies the obtained transform coefficient to the inverse orthogonal transform unit 109.
  • the inverse orthogonal transform unit 109 performs inverse orthogonal transform on the supplied transform coefficient by a method corresponding to the orthogonal transform processing by the orthogonal transform unit 104.
  • the output subjected to inverse orthogonal transform is supplied to the calculation unit 110.
  • the calculation unit 110 adds the predicted image supplied from the selection unit 118 to the inverse orthogonal transform result supplied from the inverse orthogonal transform unit 109, that is, the restored difference information, and generates a locally decoded image (decoded Image). For example, when the difference information corresponds to an image on which intra coding is performed, the calculation unit 110 adds the predicted image supplied from the intra prediction unit 116 to the difference information. For example, when the difference information corresponds to an image on which inter coding is performed, the arithmetic unit 110 adds the predicted image supplied from the motion prediction / compensation unit 117 to the difference information.
  • the addition result is supplied to the deblocking filter 111.
  • the deblocking filter 111 removes block distortion of the decoded image.
  • the deblocking filter 111 supplies the distortion removal result to the loop filter 113 and the frame memory 114.
  • the decoded image supplied from the deblock filter 111 via the frame memory 114 is supplied to the filter coefficient calculation unit 112. Further, the input image read from the screen rearrangement buffer 102 is supplied to the filter coefficient calculation unit 112. Further, the orthogonal transform size (information regarding which of 4 ⁇ 4 orthogonal transform and 8 ⁇ 8 orthogonal transform is applied to each macroblock) is supplied from the orthogonal transform unit 104 to the filter coefficient calculation unit 112. Is done.
  • the filter coefficient calculation unit 112 groups (classifies) each macroblock of the decoded image and the input image for each orthogonal transform size. For each class, appropriate filter coefficients for the filter processing performed in the loop filter 113 are generated. The filter coefficient calculation unit 112 calculates filter coefficients so as to minimize the residual (difference between the decoded image and the input image) in each group (orthogonal transform size).
  • the filter coefficient calculation unit 112 supplies the generated filter coefficient of each group to the loop filter 113.
  • the filter coefficient calculation unit 112 also supplies the generated filter coefficients of each group to the lossless encoding unit 106.
  • the filter coefficient is included (multiplexed) in the encoded data by the lossless encoding unit 106. That is, the filter coefficient of each group is sent to the image decoding apparatus together with the encoded data.
  • the decoded image supplied from the deblocking filter 111 via the frame memory 114 is supplied to the loop filter 113. Further, the orthogonal transformation size (information regarding which of 4 ⁇ 4 orthogonal transformation and 8 ⁇ 8 orthogonal transformation is applied to each macroblock) is supplied from the orthogonal transformation unit 104 to the filter coefficient calculation unit 112. Is done.
  • the loop filter 113 groups each macroblock of the decoded image based on the orthogonal transform size supplied from the orthogonal transform unit 104 (class classification) for each orthogonal transform size, and is supplied from the filter coefficient calculation unit 112. Using the filter coefficients, the decoded image is filtered for each group (class). As this filter, for example, a Wiener filter is used. Of course, filters other than the Wiener filter may be used.
  • the loop filter 113 supplies the filter processing result to the frame memory 114 and accumulates it as a reference image.
  • the frame memory 114 outputs the stored reference image to the intra coding unit 116 or the motion prediction / compensation unit 117 via the selection unit 115 at a predetermined timing. For example, in the case of an image on which intra coding is performed, the frame memory 114 supplies the reference image to the intra prediction unit 116 via the selection unit 115. For example, in the case of an image on which inter coding is performed, the frame memory 114 supplies the reference image to the motion prediction / compensation unit 117 via the selection unit 115.
  • an I picture, a B picture, and a P picture from the screen rearrangement buffer 102 are supplied to the intra prediction unit 116 as images to be intra predicted (also referred to as intra processing). Further, the B picture and the P picture read from the screen rearrangement buffer 102 are supplied to the motion prediction / compensation unit 117 as an image to be inter-predicted (also referred to as inter-processing).
  • the selection unit 115 supplies the reference image supplied from the frame memory 114 to the intra prediction unit 116 in the case of an image to be subjected to intra coding, and to the motion prediction / compensation unit 117 in the case of an image to be subjected to inter coding. To do.
  • the intra prediction unit 116 performs intra prediction processing for all candidate intra prediction modes based on the intra-predicted image read from the screen rearrangement buffer 102 and the reference image supplied from the frame memory 114, and performs prediction. Generate an image.
  • the intra prediction mode information applied to the block / macro block is transmitted to the lossless encoding unit 106 and is a part of header information in the encoded data.
  • an intra 4 ⁇ 4 prediction mode, an intra 8 ⁇ 8 prediction mode, and an intra 16 ⁇ 16 prediction mode are defined, and regarding the color difference signal, a luminance signal and Can define independent prediction modes.
  • the intra 4 ⁇ 4 prediction mode one intra prediction mode is defined for each 4 ⁇ 4 luminance block.
  • the intra 8 ⁇ 8 prediction mode one intra prediction mode is defined for each 8 ⁇ 8 luminance block.
  • the intra 16 ⁇ 16 prediction mode and the color difference signal one prediction mode is defined for each macroblock.
  • the intra prediction unit 116 calculates a cost function value for the intra prediction mode in which the predicted image is generated, and selects the intra prediction mode in which the calculated cost function value gives the minimum value as the optimal intra prediction mode.
  • the intra prediction unit 116 supplies the prediction image generated in the optimal intra prediction mode to the calculation unit 103 via the selection unit 118.
  • the motion prediction / compensation unit 117 uses the input image supplied from the screen rearrangement buffer 102 and the decoded image serving as the reference frame supplied from the frame memory 114 for the image to be inter-coded, and the motion vector. Is calculated. The motion prediction / compensation unit 117 performs motion compensation processing according to the calculated motion vector, and generates a prediction image (inter prediction image information).
  • the motion prediction / compensation unit 117 performs inter prediction processing in all candidate inter prediction modes, and generates a prediction image. This inter prediction mode is the same as in the intra prediction mode.
  • the motion prediction / compensation unit 117 calculates the cost function value for the inter prediction mode in which the predicted image is generated, and selects the inter prediction mode in which the calculated cost function value gives the minimum value as the optimal inter prediction mode.
  • the motion prediction / compensation unit 117 supplies the prediction image generated in the optimal inter prediction mode to the calculation unit 103 via the selection unit 118.
  • the motion prediction / compensation unit 117 supplies motion vector information indicating the calculated motion vector to the lossless encoding unit 106.
  • This motion vector information is included (multiplexed) in the encoded data by the lossless encoding unit 106. That is, the motion vector information is sent to the image decoding device together with the encoded data.
  • the selection unit 118 supplies the output of the intra prediction unit 116 to the calculation unit 103 in the case of an image to be subjected to intra coding, and outputs the output of the motion prediction / compensation unit 117 to the calculation unit 103 in the case of an image to be subjected to inter coding. Supply.
  • the rate control unit 119 controls the quantization operation rate of the quantization unit 105 based on the compressed image stored in the storage buffer 107 so that overflow or underflow does not occur.
  • orthogonal transformation is performed in units of 8 ⁇ 8 pixels.
  • the image coding apparatus 100 that performs orthogonal transformation in the same manner as the AVC coding scheme performs orthogonal transformation in units of 4 ⁇ 4 pixels in Baseline Profile, Main Profile, and Extended Profile.
  • the image encoding apparatus 100 performs the orthogonal transformation in units of 4 ⁇ 4 pixels shown in A of FIG. 2 and the unit of 8 ⁇ 8 pixels shown in B of FIG. It is possible to switch the orthogonal transform and use it.
  • the orthogonal transform in units of 4 ⁇ 4 pixels has the following characteristics.
  • the first feature is that, in the MPEG2 encoding method, the calculation accuracy for conversion may be set freely for each encoding method within a certain range. However, in this method, both conversion and inverse conversion are defined in the standard, and it is not necessary to take measures against such mismatch.
  • the second feature is the implementation with a 16-bit register so that the calculation can be realized even in a low power consumption digital signal processor (DSP (Digital Signal Processor)) used in portable terminals and the like. It is possible.
  • DSP Digital Signal Processor
  • the third feature is that mosquito noise was observed due to the quantization error of the high-frequency coefficient in the encoding method by orthogonal transform in units of 8 ⁇ 8 pixels such as MPEG2, but in this method, Such mosquito noise is difficult to observe.
  • Fig. 3 shows an outline of orthogonal transformation and quantization processing. That is, the luminance signal 16 ⁇ 16 pixels and the color difference signal 8 ⁇ 8 pixels included in one macroblock are each divided into 4 ⁇ 4 pixel blocks as shown in FIG. And a quantization process is performed. Further, with respect to the color difference signal, as shown in FIG. 3, a 2 ⁇ 2 matrix in which only DC components are collected is generated and subjected to secondary Hadamard transform and quantization processing.
  • the fourth-order orthogonal transform process can be described as the following formula (1).
  • This equation (2) can be further transformed as the following equation (3).
  • the image encoding device 100 uses the matrix shown on the right side of Expression (4) as an integer transformation matrix.
  • integer conversion can be realized by add (addition / subtraction) and shift (bit shift).
  • the matrix [E f ] can be expressed as the following equation (5).
  • the term on the right side of the equation (5) is realized by the image encoding device 100 performing different quantization processing for each 4 ⁇ 4 component.
  • the image encoding device 100 realizes orthogonal transformation by a combination of integer transformation and quantization processing.
  • the matrix shown on the right side of Equation (7) is a 4 ⁇ 4 matrix obtained as a result of inverse quantization.
  • the inverse integer matrix shown on the right side of Equation (8) is applied to the decoded image.
  • a 4 ⁇ 4 matrix is calculated.
  • Inverse integer conversion can also be realized with only add (addition / subtraction) and shift (bit shift).
  • 4A and 4B show a method for realizing integer conversion and inverse integer conversion by butterfly operation.
  • the 8 ⁇ 8 orthogonal transform is defined as an integer transform that is realized only by addition / subtraction and shift operation, as in the case of 4 ⁇ 4.
  • the image encoding apparatus 100 first calculates 8 points of orthogonal transformation in the horizontal direction, and then performs 8 points of vertical transformation.
  • D0 e'0 + e'1 (25)
  • D2 e'2 + e'3 >> 1
  • D4 e'0-e'1
  • D6 e'2 >>1-e'3
  • D1 e'4 + e'7 >> 2
  • D3 e'5 + e'6 >> 2
  • D5 e'6-e'5 >> 2 (31)
  • D7 -e'7 + e'4 >> 2 (32)
  • d0 f'0 + f'7 (49)
  • d1 f'2 + f'5 (50)
  • d2 f'4 + f'3 (51)
  • d3 f'6 + f'1 (52)
  • d4 f'6-f'1 (53)
  • d5 f'4-f'3 (54)
  • d6 f'2-f'5 (55)
  • d7 f'0-f'7 (56)
  • the deblocking filter 111 removes block distortion in the decoded image. Thereby, propagation of block distortion to an image referred to by motion compensation processing is suppressed.
  • deblocking_filter_control_present_flag included in Picture Parameter Set RBSP (Raw Byte Sequence Payload)
  • disable_deblocking_filter_idc included in the slice header (Slice Header) included in the encoded data.
  • Three methods (a) to (c) can be selected.
  • Quantization parameter QP uses QPY when the following processing is applied to a luminance signal, and QPC when it is applied to a color difference signal.
  • QPY when the following processing is applied to a luminance signal
  • QPC when it is applied to a color difference signal.
  • pixel values belonging to different slices are processed as “not available”, but in deblocking filter processing, pixel values belonging to different slices. However, if it belongs to the same picture, it is processed as “available”.
  • the pixel values before the deblocking filter processing are p0 to p3 and q0 to q3, and the pixel values after processing are p0 ′ to p3 ′ and q0 ′ to q3 ′.
  • Bs (Boundary Strength) is defined for p and q in FIG. 5 as in the table shown in FIG.
  • ⁇ and ⁇ in the equation (58) are determined according to QP by default as follows, but depending on two parameters, slice_alpha_c0_offset_div2 and slice_beta_offset_div2, included in the slice header of the encoded data, As shown by the arrows in the graph shown in FIG. 7, the user can adjust the intensity.
  • indexA is obtained from indexA.
  • indexB is obtained from indexB.
  • the indexA and indexB are defined as in the following formulas (59) to (61).
  • FilterOffsetA and FilterOffsetB correspond to the adjustments made by the user.
  • Clip3 ( ⁇ t c , t c ((((q0 ⁇ p0) ⁇ 2) + (p1 ⁇ q1) +4) >> 3)) ...
  • p'0 Clip1 (p0 + ⁇ ) (63)
  • q'0 Clip1 (q0 + ⁇ ) (64)
  • t c is calculated as in the following formula (65) or formula (66). That is, when the value of chromaEdgeFlag is “0”, t c is calculated as in the following Expression (65).
  • t C0 is defined as shown in the tables shown in A of FIG. 9 and B of FIG. 9 according to the values of Bs and indexA.
  • the pixel value p′1 after the deblocking filter process is obtained as follows. That is, when the value of chromaEdgeFlag is “0” and the value of a p is equal to or smaller than ⁇ , p′1 is obtained as in the following formula (69).
  • p′1 p1 + Clip3 ( ⁇ t c0 , t c0 , (p2 + ((p0 + q0 + 1) >> 1) ⁇ (p1 ⁇ 1)) >> 1) ... (69)
  • the pixel value q′1 after the deblocking filter processing is obtained as follows. That is, when the value of chromaEdgeFlag is “0” and the value of a q is equal to or less than ⁇ , q′1 is obtained as in the following Expression (71).
  • the loop filter 113 is used in the image coding apparatus 100 as one method for improving the coding efficiency.
  • Wiener ⁇ ⁇ ⁇ Filter is applied to the loop filter 113.
  • a loop filter 113 other than Wiener Filter may be used.
  • the loop filter 113 performs a filtering process on the decoded image that has been subjected to the deblocking filter process, thereby minimizing a residual from the original image.
  • the filter coefficient calculation unit 112 calculates loop filter coefficients so that the residual between the decoded image and the original image is minimized by the filter process.
  • the loop filter 113 performs filter processing using this filter coefficient.
  • the filter coefficient is added to the encoded data and transmitted to the image decoding apparatus, and is also used for filter processing at the time of decoding.
  • the image encoding apparatus 100 can improve the image quality of the decoded image and further improve the image quality of the reference image by performing such filter processing.
  • the macro block size of 16 pixels ⁇ 16 pixels is optimal for a large image frame such as UHD (Ultra High Definition; 4000 pixels ⁇ 2000 pixels), which is a target of the next generation encoding method. is not. Therefore, it has been proposed to set the macroblock size to, for example, 32 pixels ⁇ 32 pixels, 64 ⁇ 64 pixels.
  • Equation (89) ⁇ is the entire set of candidate modes for encoding the block or macroblock.
  • D is the difference energy between the decoded image and the input image when encoded in the prediction mode Mode.
  • is a Lagrange undetermined multiplier given as a function of the quantization parameter.
  • R is a total code amount when encoding is performed in the mode Mode, including orthogonal transform coefficients.
  • D is the difference energy between the predicted image and the input image, unlike the case of High Complexity Mode.
  • QP2Quant QP
  • HeaderBit is a code amount related to information belonging to Header, such as a motion vector and a mode, which does not include an orthogonal transform coefficient.
  • the macroblock size is 32 pixels ⁇ 32 pixels, for example.
  • a larger block is defined as a superset thereof while maintaining compatibility with a macroblock in the current AVC.
  • the image encoding device 100 applies the loop filter process to the image encoding process.
  • the image coding apparatus 100 obtains an appropriate filter coefficient for the loop filter processing for each orthogonal transform size, and performs a filter process on each macroblock with a filter coefficient suitable for the orthogonal transform size.
  • FIG. 11 is a block diagram illustrating a main configuration example of the filter coefficient calculation unit 112 and the loop filter 113.
  • the filter coefficient calculation unit 112 includes an orthogonal transform size buffer 151, a decoded pixel classification unit 152, an input pixel classification unit 153, a 4 ⁇ 4 block coefficient calculation unit 154, and an 8 ⁇ 8 block coefficient calculation unit. 155.
  • the loop filter 113 includes a pixel classification unit 161, a filter unit (4 ⁇ 4) 162, and a filter unit (8 ⁇ 8) 163.
  • the decoded image is supplied from the deblock filter 111 to the frame memory 114. Also, information regarding the orthogonal transform size (4 ⁇ 4 or 8 ⁇ 8) for each macroblock is supplied from the orthogonal transform unit 104 to the orthogonal transform size buffer 151 of the filter coefficient calculation unit 112.
  • the decoded image is further supplied from the frame memory 114 to the decoded pixel classification unit 152 of the filter coefficient calculation unit 112.
  • the input image is supplied from the screen rearrangement buffer 102 to the input pixel classification unit 153.
  • the decoded pixel classification unit 152 reads out and acquires information related to the orthogonal transform size from the orthogonal transform size buffer 151. Based on the obtained orthogonal transform size, the decoded pixel classification unit 152 converts each macroblock of the decoded image into a macroblock to which 4 ⁇ 4 orthogonal transform is applied (4 ⁇ 4 orthogonal transform block) and 8 ⁇ 8 orthogonal transform. Are classified (grouped) into macroblocks (8 ⁇ 8 orthogonal transform blocks) to which is applied.
  • the decoded pixel classification unit 152 supplies information related to the 4 ⁇ 4 orthogonal transform block in the decoded image to the 4 ⁇ 4 block coefficient calculation unit 154, and information related to the 8 ⁇ 8 orthogonal transform block to the 8 ⁇ 8 block. It supplies to the coefficient calculation part 155.
  • the input pixel classification unit 153 reads out and acquires information related to the orthogonal transform size from the orthogonal transform size buffer 151. Based on the acquired orthogonal transform size, the input pixel classifying unit 153 converts each macroblock of the input image into a macroblock to which 4 ⁇ 4 orthogonal transform is applied (4 ⁇ 4 orthogonal transform block) and 8 ⁇ 8 orthogonal transform Are classified (grouped) into macroblocks (8 ⁇ 8 orthogonal transform blocks) to which is applied. Then, the input pixel classification unit 153 supplies information related to the 4 ⁇ 4 orthogonal transform block in the input image to the 4 ⁇ 4 block coefficient calculation unit 154, and information related to the 8 ⁇ 8 orthogonal transform block to the 8 ⁇ 8 block. It supplies to the coefficient calculation part 155.
  • the 4 ⁇ 4 block coefficient calculation unit 154 calculates a filter coefficient (for example, a Wiener Filter coefficient) using the supplied decoded image and input image of the 4 ⁇ 4 orthogonal transform block so that the residual is minimized.
  • the 4 ⁇ 4 block coefficient calculation unit 154 supplies the calculated filter coefficient to the lossless encoding unit 106 and also to the filter unit (4 ⁇ 4) 162 of the loop filter 113.
  • the 8 ⁇ 8 block coefficient calculation unit 155 uses the supplied decoded image and input image of the 8 ⁇ 8 orthogonal transform block to generate a filter coefficient (for example, Wiener Filter coefficient) so that the residual is minimized. calculate.
  • the 8 ⁇ 8 block coefficient calculation unit 155 supplies the calculated filter coefficient to the lossless encoding unit 106 and also to the filter unit (8 ⁇ 8) 163 of the loop filter 113.
  • the lossless encoding unit 106 adds each supplied filter coefficient to the encoded data.
  • the pixel classification unit 161 of the loop filter 113 is supplied from the orthogonal transform unit 104 with information on the orthogonal transform size (4 ⁇ 4 or 8 ⁇ 8) for each macroblock. Then, the decoded image is supplied from the deblocking filter 111 to the pixel classification unit 161.
  • the pixel classifying unit 161 Based on the information about the orthogonal transform size supplied from the orthogonal transform unit 104, the pixel classifying unit 161 applies a macro block (4 ⁇ 4 orthogonal transform block) to which 4 ⁇ 4 orthogonal transform is applied to each macro block of the decoded image. And classifying (grouping) into macro blocks to which 8 ⁇ 8 orthogonal transform is applied (8 ⁇ 8 orthogonal transform block). Then, the pixel classification unit 161 supplies information on the 4 ⁇ 4 orthogonal transform block in the decoded image to the filter unit (4 ⁇ 4) 162, and transmits information on the 8 ⁇ 8 orthogonal transform block to the filter unit (8 ⁇ 8) Supply to 163.
  • the filter unit (4 ⁇ 4) 162 applies a filter coefficient appropriate for the 4 ⁇ 4 orthogonal transform block supplied from the 4 ⁇ 4 block coefficient calculation unit 154, and filters the 4 ⁇ 4 orthogonal transform block of the decoded image. Process.
  • the filter unit (8 ⁇ 8) 163 applies an appropriate filter coefficient for the 8 ⁇ 8 orthogonal transform block supplied from the 8 ⁇ 8 block coefficient calculation unit 155, and filters the 8 ⁇ 8 orthogonal transform block of the decoded image. Process.
  • the filter unit (4 ⁇ 4) 162 and the filter unit (8 ⁇ 8) 163 store the decoded image subjected to the filter process in the frame memory 114 and output it to the motion prediction / compensation unit 117 at a predetermined timing.
  • the filter coefficient calculation unit 112 and the loop filter 113 perform processing as described above, generate filter coefficients for each orthogonal transform size, and perform filter processing.
  • the local properties in the image are reflected in the orthogonal transform size.
  • 8 ⁇ 8 orthogonal transformation is easily selected for flat areas (portions with sparse frequencies)
  • 4 ⁇ 4 orthogonal transformation is easily selected for areas containing fine textures (portions with dense frequencies).
  • the filter coefficient calculation unit 112 reflects the local properties in the image in the filter coefficient by generating the filter coefficient for each orthogonal transform size as described above. For example, the filter coefficient calculation unit 112 adjusts the value of the filter coefficient so that the loop filter 113 applies a weaker filter to a part with a low frequency and applies a stronger filter to a part with a dense frequency. Can be controlled.
  • the filter coefficient calculation unit 112 can not only simply change the value of the filter coefficient but also increase or decrease the number of filter taps. For example, the filter coefficient calculation unit 112 may reduce the number of taps for a portion with a low frequency and increase the number of taps for a portion with a dense frequency. Of course, the filter coefficient calculation unit 112 may both adjust the value of the filter coefficient and increase / decrease the number of taps.
  • the loop filter 113 can perform noise removal suitable for the local property of the image, and the decoded image The image quality can be further improved.
  • the image encoding apparatus 100 performs switching based on a value that already exists as a syntax element, which is an orthogonal transform size, and thus encodes map information regarding which filter coefficient is to be sent again. Since it is not necessary to add to the data, it is possible to realize high image quality processing without increasing the overhead in the encoded data (decreasing the encoding efficiency).
  • step S101 the A / D converter 101 performs A / D conversion on the input image.
  • step S102 the screen rearrangement buffer 102 stores the A / D converted image, and rearranges the picture from the display order to the encoding order.
  • step S103 the intra prediction unit 116, the motion prediction / compensation unit 117, and the like determine a prediction mode and perform a prediction process for generating a predicted image. Details of this prediction process will be described later.
  • step S104 the calculation unit 103 calculates a difference between the image rearranged by the process of step S102 and the predicted image generated by the prediction process of step S103.
  • the predicted image is supplied from the motion prediction / compensation unit 117 in the case of inter prediction and from the intra prediction unit 116 in the case of intra prediction to the calculation unit 103 via the selection unit 118.
  • ⁇ Difference data has a smaller data volume 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 S105 the orthogonal transform unit 104 orthogonally transforms the difference information generated by the process in step S104. Specifically, orthogonal transformation such as discrete cosine transformation and Karhunen-Loeve transformation is performed, and transformation coefficients are output.
  • step S106 the quantization unit 105 quantizes the transform coefficient. At the time of this quantization, the rate is controlled as described in the process of step S115 described later.
  • step S107 the lossless encoding unit 106 encodes the quantized transform coefficient output from the quantization unit 105.
  • the quantized difference information is locally decoded as follows. That is, in step S108, the inverse quantization unit 108 inversely quantizes the transform coefficient quantized by the quantization unit 105 with characteristics corresponding to the characteristics of the quantization unit 105. In step S ⁇ b> 109, the inverse orthogonal transform unit 109 performs inverse orthogonal transform on the transform coefficient inversely quantized by the inverse quantization unit 108 with characteristics corresponding to the characteristics of the orthogonal transform unit 104.
  • step S110 the calculation unit 110 adds the predicted image supplied via the selection unit 118 to the locally decoded difference information, and corresponds to the locally decoded image (corresponding to the input to the calculation unit 103). Image).
  • step S ⁇ b> 111 the deblock filter 111 performs a deblock filter on the decoded image supplied from the calculation unit 110. Thereby, block distortion is removed.
  • the filter coefficient calculation unit 112 and the loop filter 113 perform loop filter processing in step S112. Details of the loop filter processing will be described later.
  • step S113 the lossless encoding unit 106 embeds (describes) metadata such as intra prediction mode information, inter prediction mode information, and filter coefficients for each orthogonal transform block in the slice header. This metadata is read and used at the time of image decoding.
  • step S114 the accumulation buffer 107 accumulates the encoded data.
  • the encoded data stored in the storage buffer 107 is appropriately read out and transmitted to the decoding side via the transmission path.
  • step S115 the rate control unit 119 controls the quantization operation rate of the quantization unit 105 based on the encoded data stored in the storage buffer 107 so that overflow or underflow does not occur.
  • the intra prediction unit 116 uses the reference image acquired from the frame memory 114 via the selection unit 115 and the input image supplied from the screen rearrangement buffer 102.
  • a cost function value is calculated for each mode of intra 4 ⁇ 4, intra 8 ⁇ 8, and intra 16 ⁇ 16 (each intra mode prepared in advance).
  • step S132 the intra prediction unit 116 determines the best mode for each of the intra 4 ⁇ 4, intra 8 ⁇ 8, and intra 16 ⁇ 16 based on the cost function value of each mode calculated in step S131.
  • step S133 the intra prediction unit 116 selects the best intra mode from intra 4 ⁇ 4, intra 8 ⁇ 8, and intra 16 ⁇ 16.
  • the motion prediction / compensation unit 117 performs the processes in steps S134 through S137.
  • step S134 the motion prediction / compensation unit 117 performs motion search.
  • step S135 the motion prediction / compensation unit 117 determines a motion vector / reference frame for each mode of inter 16 ⁇ 16 to 4 ⁇ 4.
  • step S136 the motion prediction / compensation unit 117 calculates a cost function value for each mode of inter 16 ⁇ 16 to 4 ⁇ 4.
  • step S137 the motion prediction / compensation unit 117 determines the best inter mode based on the cost function value.
  • step S138 the selection unit 118 determines either the best intra mode selected in step S133 or the best inter mode determined in step S137 as the best mode.
  • step S139 the intra prediction unit 116 or motion prediction / compensation unit 117 corresponding to the mode determined as the best mode generates a predicted image.
  • This predicted image is supplied to the calculation unit 103 and the calculation unit 110 via the selection unit 118.
  • the prediction mode information (intra prediction mode information or inter prediction mode information) of the best mode at this time is supplied to the lossless encoding unit 106.
  • step S104 When the predicted image is generated, the prediction process is terminated, the process returns to step S103 in FIG. 12, and the processes after step S104 are executed.
  • step S151 the decoded pixel classifying unit 152, the input pixel classifying unit 153, and the pixel classifying unit 161 respectively supply the supplied decoded image or each macroblock of the input image to FIG. Are divided into groups for each orthogonal transform size applied in the orthogonal transform processing executed in step S105 (class classification is performed).
  • step S152 the 4 ⁇ 4 block coefficient calculation unit 154 and the 8 ⁇ 8 block coefficient calculation unit 155 calculate a filter coefficient for each group.
  • step S153 the filter unit (4 ⁇ 4) 162 and the filter unit (8 ⁇ 8) 163 perform filter processing on each group using each filter coefficient calculated in step S152.
  • step S154 the frame memory 114 stores the result (filtered decoded image) of the filter process performed in step S153. This image is supplied to the motion prediction / compensation unit 117 as a reference image at a predetermined timing.
  • step S154 When the process of step S154 is completed, the loop filter process is terminated, the process returns to step S112 of FIG. 12, and the processes after step S113 are executed.
  • the filter coefficient calculation unit 112 can generate an appropriate filter coefficient for each orthogonal transform size. Further, the loop filter 113 can perform filter processing on each macroblock using a filter coefficient corresponding to the orthogonal transform size.
  • the image coding apparatus 100 can perform noise removal suitable for local properties in the image, and can obtain a reference image with higher image quality.
  • the image decoding apparatus since the lossless encoding unit 106 adds the filter coefficient to the encoded data, the image decoding apparatus appropriately filters the decoded image obtained by decoding the encoded data using the filter coefficient. Can be processed. That is, the image encoding device 100 can improve the image quality of a decoded image obtained by decoding the encoded data generated by the image encoding device 100.
  • add indicates that control information is associated with encoded data in an arbitrary form. For example, it may be described as a syntax of encoded data or may be described as user data. Further, information such as filter coefficients may be linked to encoded data as metadata. That is, “addition” includes “embedding”, “description”, “multiplexing”, “concatenation”, and the like. The same applies to the following.
  • orthogonal transform sizes 4 ⁇ 4 and 8 ⁇ 8 have been described as orthogonal transform sizes, the orthogonal transform sizes are arbitrary. Also, the number of orthogonal transform sizes to be applied is arbitrary.
  • Grouping in the case where three or more orthogonal transform sizes are applied is performed, for example, for any two of the total orthogonal transform sizes, and other orthogonal transform sizes are ignored. (You may not select). In that case, the ignored group is not filtered. In this case, for example, whether or not to perform the filtering process may be controlled based on flag information or the like.
  • each orthogonal transform size may be divided into two groups. That is, in this case, a plurality of orthogonal transform sizes may be mixed in one group. Furthermore, for example, each orthogonal transform size may be divided into different groups. In this case, the number of groups is three or more. In this case, as many coefficient calculation units and filter units (FIG. 11) as the number of groups are prepared.
  • the processing unit of the filter may be a frame, a slice, or other than these.
  • the unit for class classification image size of a partial image serving as a processing unit
  • FIG. 15 is a block diagram illustrating a configuration example of an embodiment of an image decoding device as an image processing device to which the present invention has been applied.
  • the image decoding apparatus 200 decodes the encoded data output from the image encoding apparatus 100 and generates a decoded image.
  • the image decoding apparatus 200 includes a storage buffer 201, a lossless decoding unit 202, an inverse quantization unit 203, an inverse orthogonal transform unit 204, a calculation unit 205, and a deblocking filter 206.
  • the image decoding device 200 includes a loop filter 207.
  • the image decoding apparatus 200 includes a screen rearrangement buffer 208 and a D / A (Digital / Analog analog) conversion unit 209.
  • the image decoding apparatus 200 includes a frame memory 210, a selection unit 211, an intra prediction unit 212, a motion prediction / compensation unit 213, and a selection unit 214.
  • the accumulation buffer 201 accumulates the transmitted encoded data.
  • the lossless decoding unit 202 decodes the information supplied from the accumulation buffer 201 and encoded by the lossless encoding unit 106 in FIG. 1 by a method corresponding to the encoding method of the lossless encoding unit 106.
  • the lossless decoding unit 202 extracts the intra prediction mode information stored in the header portion of the encoded data and supplies it to the intra prediction unit 212. If the macroblock is inter-coded, the lossless decoding unit 202 extracts motion vector information, inter-prediction mode information, and the like stored in the header portion of the encoded data, and a motion prediction / compensation unit It supplies to 213.
  • the lossless decoding unit 202 extracts filter coefficients for each orthogonal transform size from the encoded data and supplies them to the loop filter 207.
  • the inverse quantization unit 203 inversely quantizes the image decoded by the lossless decoding unit 202 by a method corresponding to the quantization method of the quantization unit 105 in FIG.
  • the inverse orthogonal transform unit 204 performs inverse orthogonal transform on the output of the inverse quantization unit 203 by a method corresponding to the orthogonal transform method of the orthogonal transform unit 104 in FIG.
  • the inverse orthogonal transform unit 204 supplies the difference information subjected to the inverse orthogonal transform to the calculation unit 205.
  • the inverse orthogonal transform unit 204 supplies the orthogonal transform size applied to each macroblock to the loop filter 207 in the inverse orthogonal transform process.
  • the calculation unit 205 adds the predicted image supplied from the selection unit 214 to the difference information subjected to inverse orthogonal transform, and generates a decoded image.
  • the deblocking filter 206 removes block distortion of the decoded image generated by the addition process.
  • the loop filter 207 Based on the information supplied from the inverse orthogonal transform unit 204, the loop filter 207 applies each macroblock of the decoded image supplied from the deblocking filter 206 to the inverse applied in the inverse orthogonal transform process by the inverse orthogonal transform unit 204. Grouping (class classification) is performed for each orthogonal transform size, and filter processing is performed on each group (class) using the filter coefficient supplied from the lossless decoding unit 202.
  • This filter coefficient is a coefficient generated in the filter coefficient calculation unit 112 of the image coding apparatus 100, and as described in the first embodiment, the residual is minimized for each orthogonal transform size. It is calculated. That is, the filter coefficient for each orthogonal transform size is set to an appropriate value for the corresponding orthogonal transform size.
  • the loop filter 207 can reduce block distortion and distortion due to quantization that cannot be removed by the deblocking filter 206. At this time, the loop filter 207 performs noise removal suitable for the local property in the image, so that a higher-quality decoded image can be output.
  • the loop filter 207 supplies the filtered image to the frame memory 210, accumulates it as a reference image, and outputs it to the screen rearrangement buffer 208.
  • the screen rearrangement buffer 208 rearranges images. That is, the order of frames rearranged for the encoding order by the screen rearrangement buffer 102 in FIG. 1 is rearranged in the original display order.
  • the D / A conversion unit 209 performs D / A conversion on the image supplied from the screen rearrangement buffer 208 and outputs it. For example, the D / A conversion unit 209 outputs an output signal obtained by D / A conversion to a display (not shown) to display an image.
  • the intra prediction unit 212 acquires a reference image from the frame memory 210 via the selection unit 211 when the frame is intra-encoded, and based on the information supplied from the lossless decoding unit 202, the prediction image And the generated predicted image is supplied to the calculation unit 205 via the selection unit 214.
  • the motion prediction / compensation unit 213 acquires a reference image from the frame memory 210 via the selection unit 211, and based on the motion vector information supplied from the lossless decoding unit 202. Then, a motion compensation process is performed on the reference image to generate a predicted image. The motion prediction / compensation unit 213 supplies the generated predicted image to the calculation unit 205 via the selection unit 214.
  • the selection unit 214 connects to the intra prediction unit 212 and supplies the image supplied from the intra prediction unit 212 to the calculation unit 205 as a predicted image. If the macroblock is inter-coded, the selection unit 214 is connected to the motion prediction / compensation unit 213, and the image supplied from the motion prediction / compensation unit 213 is used as a predicted image to the calculation unit 205. Supply.
  • FIG. 16 is a block diagram showing a detailed configuration example of the loop filter 207 of FIG.
  • the loop filter 207 basically has the same configuration as the loop filter 113 of the image encoding device 100 and executes the same processing. As illustrated in FIG. 16, the loop filter 207 includes a pixel classification unit 251, a filter unit (4 ⁇ 4) 252, and a filter unit (8 ⁇ 8) 253.
  • the pixel classifying unit 251 Based on the information about the orthogonal transform size supplied from the inverse orthogonal transform unit 204, the pixel classifying unit 251 applies a macro of 4 ⁇ 4 orthogonal transform to each macroblock of the decoded image supplied from the deblocking filter 206. Classification (grouping) is performed into blocks (4 ⁇ 4 orthogonal transform blocks) and macro blocks (8 ⁇ 8 orthogonal transform blocks) to which 8 ⁇ 8 orthogonal transform is applied. Then, the pixel classification unit 251 supplies information on the 4 ⁇ 4 orthogonal transform block in the decoded image to the filter unit (4 ⁇ 4) 252 and transmits information on the 8 ⁇ 8 orthogonal transform block to the filter unit (8 ⁇ 4). 8) Supply to 253.
  • the filter unit (4 ⁇ 4) 252 applies a filter coefficient appropriate for the 4 ⁇ 4 orthogonal transform block supplied from the lossless decoding unit 202, and performs filter processing on the 4 ⁇ 4 orthogonal transform block of the decoded image.
  • the filter unit (8 ⁇ 8) 253 applies filter coefficients suitable for the 8 ⁇ 8 orthogonal transform block supplied from the lossless decoding unit 202, and performs filter processing on the 8 ⁇ 8 orthogonal transform block of the decoded image.
  • the filter unit (4 ⁇ 4) 252 and the filter unit (8 ⁇ 8) 253 supply the decoded image subjected to the filter process to the screen rearrangement buffer 208 and the frame memory 210.
  • the loop filter 207 classifies each macroblock of the decoded image for each orthogonal transform size, and performs filter processing using the filter coefficient for the orthogonal transform size.
  • This filter coefficient is extracted from the encoded data by the lossless decoding unit 202 and is generated so as to be suitable for the image of each orthogonal transform size block as described in the first embodiment. . Therefore, similarly to the case of the loop filter 113 described in the first embodiment, the loop filter 207 can perform noise removal suitable for the local property of the image, and as a result, decoding with higher image quality can be performed. An image can be obtained.
  • step S201 the accumulation buffer 201 accumulates the transmitted image (encoded data).
  • step S202 the lossless decoding unit 202 extracts filter coefficients from the encoded data.
  • the lossless decoding unit 202 also extracts motion vector information, reference frame information, prediction mode information (intra prediction mode information and inter prediction mode information), and the like.
  • step S203 the lossless decoding unit 202 performs lossless decoding of the encoded data.
  • step S204 the inverse quantization unit 203 inversely quantizes the transform coefficient obtained by decoding the encoded data in step S203 with characteristics corresponding to the characteristics of the quantization unit 105 in FIG.
  • step S205 the inverse orthogonal transform unit 204 performs inverse orthogonal transform on the transform coefficient inversely quantized by the process in step S204 with characteristics corresponding to the characteristics of the orthogonal transform unit 104 in FIG.
  • the difference information corresponding to the input of the orthogonal transform unit 104 output of the calculation unit 103) in FIG. 1 is decoded.
  • step S206 the intra prediction unit 212, the motion prediction / compensation unit 213, and the like perform a predicted image generation process, and generate a predicted image according to the prediction mode. Details of the predicted image generation processing will be described later.
  • step S207 the calculation unit 205 adds the predicted image generated in step S206 to the difference information decoded by the processing up to step S205. As a result, the original image is decoded.
  • step S208 the deblocking filter 206 filters the image output from the calculation unit 205. Thereby, block distortion is removed.
  • step S209 the loop filter 207 or the like performs loop filter processing, and further performs adaptive filter processing on the image that has been subjected to deblocking filter processing.
  • the loop filter processing will be described later, it is basically the same as the processing performed by the loop filter 113 of FIG.
  • This adaptive filter processing can reduce block distortion and quantization distortion that could not be removed by deblocking filter processing.
  • step S210 the screen rearrangement buffer 208 performs rearrangement. That is, the order of frames rearranged for encoding by the screen rearrangement buffer 102 of the image encoding device 100 in FIG. 1 is rearranged in the original display order.
  • step S211 the D / A converter 209 D / A converts the images rearranged in step S210. This image is output to a display (not shown), and the image is displayed.
  • the decoding process ends.
  • step S231 the lossless decoding unit 202 determines whether or not the block has been intra-encoded based on information such as the prediction mode extracted in step S202. If the block is an intra-coded block, the lossless decoding unit 202 supplies the intra prediction mode information extracted from the encoded data to the intra prediction unit 212, and the process proceeds to step S232.
  • the intra prediction unit 212 acquires the intra prediction mode information supplied from the lossless decoding unit 202.
  • the intra prediction unit 212 acquires a reference image from the frame memory 210 via the selection unit 211 based on the intra prediction mode information in step S233, and generates an intra prediction image.
  • the intra prediction unit 212 supplies the intra prediction image to the arithmetic unit 205 via the selection unit 214 as a prediction image.
  • step S231 If it is determined in step S231 that the block is inter-encoded, the lossless decoding unit 202 performs motion prediction / compensation on the motion prediction mode, reference frame, motion vector information, and the like extracted from the encoded data. The process proceeds to step S234.
  • step S234 the motion prediction / compensation unit 213 acquires the motion prediction mode, the reference frame, the motion vector information, and the like supplied from the lossless decoding unit 202. Upon acquiring such information, the motion prediction / compensation unit 213 selects an interpolation filter corresponding to the motion vector information in step S235, and acquires a reference image from the frame memory 210 via the selection unit 211 in step S236. Then, an inter prediction image is generated. When the inter prediction image is generated, the motion prediction / compensation unit 213 supplies the inter prediction image to the calculation unit 205 via the selection unit 214 as a prediction image.
  • step S233 or step S236 When the process of step S233 or step S236 is completed, the predicted image generation process is terminated, the process returns to step S206 of FIG. 17, and the processes after step S207 are executed.
  • step S251 the filter unit (4 ⁇ 4) 252 and the filter unit (8 ⁇ 8) 253 of the loop filter 207 acquire the filter coefficients of each group from the lossless decoding unit 202. .
  • step S252 the pixel classification unit 251 acquires the orthogonal transform size of the macroblock from the inverse orthogonal transform unit 204.
  • the pixel classification unit 251 classifies the macroblock based on the acquired orthogonal transform size.
  • step S253 the filter unit (either the filter unit (4 ⁇ 4) 252 or the filter unit (8 ⁇ 8) 253) corresponding to the orthogonal transform size of the macroblock uses the filter coefficient acquired in step S251. Then, filter processing corresponding to the orthogonal transform size is performed on the macroblock.
  • step S254 the frame memory 210 stores the filter processing result in step S253.
  • step S254 When the process in step S254 is completed, the loop filter process is terminated, the process returns to step S209 in FIG. 17, and the processes after step S210 are performed.
  • the loop filter 207 performs the filter process, and it is possible to reduce block distortion and quantization distortion that could not be removed by the deblocking filter.
  • the loop filter 207 performs a filter process using the filter coefficient extracted from the encoded data. This filter coefficient is generated so that the residual is minimized for each orthogonal transform size of the macroblock.
  • the loop filter 207 performs a filter process on the macro block to be processed using the filter coefficient for the orthogonal transform size. By doing so, the loop filter 207 can perform noise removal suitable for local properties in the image. As a result, the image decoding apparatus 200 can obtain a decoded image with higher image quality.
  • orthogonal transform size is arbitrary as in the case of the first embodiment. Also, the number of orthogonal transform sizes to be applied is arbitrary.
  • the method for grouping (classifying) the macroblocks may be any method as long as it corresponds to the method of the image encoding device 100 that generated the encoded data.
  • the processing unit of the filter may be a frame, a slice, or other than these.
  • FIG. 20A shows a decoded image after the deblocking filter processing.
  • a plurality of ALF (Adaptive Loop Filter) blocks 302 which are control blocks each serving as a control unit of adaptive filter processing performed locally, are provided in the entire region of the frame 301. Arranged without gaps so as to spread.
  • the area where the ALF block 302 is arranged does not have to be the same as the area of the frame 301, but includes at least the entire area of the frame 301. As a result, the area of the frame 301 is divided into areas (a plurality of areas) of each ALF block 302.
  • the horizontal size (double arrow 303) and vertical size (double arrow 304) of the ALF block 302 are, for example, 8 ⁇ 8, 16 ⁇ 16, 24 ⁇ 24, 32 ⁇ 32, 48 ⁇ 48, and 64 ⁇ . 64, 96 ⁇ 96, 128 ⁇ 128, or the like.
  • Information specifying the size of the ALF block is referred to as a block size index.
  • the frame size is fixed, so the number of ALF blocks per frame is also determined.
  • a filter block flag 305 for controlling whether or not to perform filter processing is set.
  • a filter block flag 305 having a value “1” is set for a region where the image quality is improved by the adaptive filter
  • a filter block flag 305 having a value “0” is set for a region where the image quality is deteriorated by the adaptive filter. Is set.
  • the value “1” is a value indicating that the filtering process is performed
  • the value “0” is a value indicating that the filtering process is not performed.
  • the loop filter 113 Based on the value of the filter block flag 305, whether or not to perform loop filter processing is controlled for each area of the ALF block 302. For example, the loop filter 113 performs the filter process only on the area of the ALF block 302 whose filter block flag 305 value is “1”, and performs the filter process on the area of the ALF block 302 whose filter block flag 305 value is “0”. Do not do.
  • the filter coefficient calculation unit 112 sets the ALF block 302 and the filter block flag 305, and the loop filter 113 performs the filtering process as described above based on the information.
  • the loop filter 113 can be prevented from performing filter processing on a region where the image quality locally deteriorates due to the filter processing, and the image quality of the reference image can be further improved.
  • the loop filter 207 of the image decoding apparatus 200 can perform the filtering process similarly to the loop filter 113, and the filtering process is not performed on the region where the image quality locally deteriorates due to the filtering process. it can. As a result, the image quality of the decoded image can be further improved.
  • the ALF control block described in the third embodiment may have a quadtree structure.
  • This technique is called QALF (Quad tree-based Adaptive Loop Filter).
  • the quad tree structure is a hierarchical structure in which the area of one ALF block in the upper hierarchy in the lower hierarchy is divided into four.
  • Fig. 21 shows an example in which ALF block division is expressed by a quad tree structure with a maximum number of layers of 3, and a filter block flag is designated for each ALF block.
  • each ALF block has a block partitioning flag indicating whether or not it is divided into four in the lower hierarchy.
  • the value of the block partitioning flag of the ALF block shown in A of FIG. 21 is “1”. That is, this ALF block is divided into four in the lower hierarchy (layer 1).
  • FIG. 21B shows the layer 1. That is, four ALF blocks are formed in layer 1.
  • the block partitioning flag When the block partitioning flag is “0”, it is not divided into four in lower layers. That is, there is no further division, and a filter block flag is generated for the ALF block. That is, the ALF block whose block partitioning flag is “0” also has a filter block flag.
  • “0” on the left of “0-1” indicates the block partitioning flag of the ALF block
  • “1” on the right indicates the filter block flag of the ALF block.
  • the two ALF blocks whose layer partitioning flag of layer 1 is “1” are further divided into four in the lower hierarchy (layer 2).
  • C in FIG. 21 shows the layer 2. That is, 10 ALF blocks are formed in layer 2.
  • a filter block flag is also assigned to an ALF block whose block partitioning flag is “0” in layer 2.
  • the block partitioning flag of one ALF block is “1”. That is, the ALF block is divided into four in the lower hierarchy (layer 3).
  • FIG. 21D shows the layer 3. That is, 13 ALF blocks are formed in layer 3.
  • the size of the ALF block differs for each hierarchy. That is, ALF blocks can have different sizes within a frame by adopting a quadtree structure.
  • the control of the filter block flag in each ALF block is the same as in the case of the third embodiment. That is, the filter processing is not performed on the area of the ALF block whose filter block flag value is “0”.
  • the loop filter 113 may not perform the filtering process on a region where the image quality locally deteriorates due to the filtering process, as in the case of the third embodiment.
  • the image quality of the reference image can be further improved.
  • the loop filter 207 of the image decoding apparatus 200 can perform the filtering process similarly to the loop filter 113, and the filtering process is not performed on the region where the image quality locally deteriorates due to the filtering process. it can. As a result, the image quality of the decoded image can be further improved.
  • the CPU 501 of the personal computer 500 executes various processes in accordance with a program stored in a ROM (Read Only Memory) 502 or a program loaded from a storage unit 513 to a RAM (Random Access Memory) 503.
  • the RAM 503 also appropriately stores data necessary for the CPU 501 to execute various processes.
  • the CPU 501, the ROM 502, and the RAM 503 are connected to each other via a bus 504.
  • An input / output interface 510 is also connected to the bus 504.
  • the input / output interface 510 includes an input unit 511 including a keyboard and a mouse, a display including a CRT (Cathode Ray Tube) and an LCD (Liquid Crystal Display), an output unit 512 including a speaker, and a hard disk.
  • a communication unit 514 including a storage unit 513 and a modem is connected. The communication unit 514 performs communication processing via a network including the Internet.
  • a drive 515 is connected to the input / output interface 510 as necessary, and a removable medium 521 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory is appropriately mounted, and a computer program read from them is It is installed in the storage unit 513 as necessary.
  • a removable medium 521 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory is appropriately mounted, and a computer program read from them is It is installed in the storage unit 513 as necessary.
  • a program constituting the software is installed from a network or a recording medium.
  • the recording medium is distributed to distribute the program to the user separately from the apparatus main body, and includes a magnetic disk (including a flexible disk) on which the program is recorded, an optical disk ( It is only composed of removable media 521 consisting of CD-ROM (compact disc-read only memory), DVD (including digital versatile disc), magneto-optical disc (including MD (mini disc)), or semiconductor memory. Rather, it is composed of a ROM 502 on which a program is recorded and a hard disk included in the storage unit 513, which is distributed to the user in a state of being pre-installed in the apparatus main body.
  • a magnetic disk including a flexible disk
  • an optical disk It is only composed of removable media 521 consisting of CD-ROM (compact disc-read only memory), DVD (including digital versatile disc), magneto-optical disc (including MD (mini disc)), or semiconductor memory. Rather, it is composed of a ROM 502 on which a program is recorded and a hard disk included in the storage unit 513, which is distributed to the user in
  • the program executed by the computer may be a program that is processed in time series in the order described in this specification, or in parallel or at a necessary timing such as when a call is made. It may be a program for processing.
  • the step of describing the program recorded on the recording medium is not limited to the processing performed in chronological order according to the described order, but may be performed in parallel or It also includes processes that are executed individually.
  • system represents the entire apparatus composed of a plurality of devices (apparatuses).
  • the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units).
  • the configurations described above as a plurality of devices (or processing units) may be combined into a single device (or processing unit).
  • a configuration other than that described above may be added to the configuration of each device (or each processing unit).
  • a part of the configuration of a certain device (or processing unit) may be included in the configuration of another device (or other processing unit). . That is, the embodiment of the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the gist of the present invention.
  • image encoding device 100 and image decoding device 200 can be applied to any electronic device. Examples thereof will be described below.
  • FIG. 23 is a block diagram illustrating a main configuration example of a television receiver using the image decoding device 200 to which the present invention has been applied.
  • the television receiver 1000 shown in FIG. 23 includes a terrestrial tuner 1013, a video decoder 1015, a video signal processing circuit 1018, a graphic generation circuit 1019, a panel drive circuit 1020, and a display panel 1021.
  • the television receiver 1000 shown in FIG. 23 includes a terrestrial tuner 1013, a video decoder 1015, a video signal processing circuit 1018, a graphic generation circuit 1019, a panel drive circuit 1020, and a display panel 1021.
  • the terrestrial tuner 1013 receives a broadcast wave signal of terrestrial analog broadcast via an antenna, demodulates it, acquires a video signal, and supplies it to the video decoder 1015.
  • the video decoder 1015 performs a decoding process on the video signal supplied from the terrestrial tuner 1013 and supplies the obtained digital component signal to the video signal processing circuit 1018.
  • the video signal processing circuit 1018 performs predetermined processing such as noise removal on the video data supplied from the video decoder 1015 and supplies the obtained video data to the graphic generation circuit 1019.
  • the graphic generation circuit 1019 generates video data of a program to be displayed on the display panel 1021, image data by processing based on an application supplied via a network, and the generated video data and image data to the panel drive circuit 1020. Supply.
  • the graphic generation circuit 1019 generates video data (graphics) for displaying a screen used by the user for selecting an item and superimposing it on the video data of the program.
  • a process of supplying data to the panel drive circuit 1020 is also appropriately performed.
  • the panel drive circuit 1020 drives the display panel 1021 based on the data supplied from the graphic generation circuit 1019, and causes the display panel 1021 to display the video of the program and the various screens described above.
  • the display panel 1021 is composed of an LCD (Liquid Crystal Display) or the like, and displays a program video or the like according to control by the panel drive circuit 1020.
  • LCD Liquid Crystal Display
  • the television receiver 1000 also includes an audio A / D (Analog / Digital) conversion circuit 1014, an audio signal processing circuit 1022, an echo cancellation / audio synthesis circuit 1023, an audio amplification circuit 1024, and a speaker 1025.
  • an audio A / D (Analog / Digital) conversion circuit 1014 An audio signal processing circuit 1022, an echo cancellation / audio synthesis circuit 1023, an audio amplification circuit 1024, and a speaker 1025.
  • the terrestrial tuner 1013 acquires not only the video signal but also the audio signal by demodulating the received broadcast wave signal.
  • the terrestrial tuner 1013 supplies the acquired audio signal to the audio A / D conversion circuit 1014.
  • the audio A / D conversion circuit 1014 performs A / D conversion processing on the audio signal supplied from the terrestrial tuner 1013, and supplies the obtained digital audio signal to the audio signal processing circuit 1022.
  • the audio signal processing circuit 1022 performs predetermined processing such as noise removal on the audio data supplied from the audio A / D conversion circuit 1014 and supplies the obtained audio data to the echo cancellation / audio synthesis circuit 1023.
  • the echo cancellation / voice synthesis circuit 1023 supplies the voice data supplied from the voice signal processing circuit 1022 to the voice amplification circuit 1024.
  • the audio amplification circuit 1024 performs D / A conversion processing and amplification processing on the audio data supplied from the echo cancellation / audio synthesis circuit 1023, adjusts to a predetermined volume, and then outputs the audio from the speaker 1025.
  • the television receiver 1000 also has a digital tuner 1016 and an MPEG decoder 1017.
  • the digital tuner 1016 receives a broadcast wave signal of digital broadcasting (terrestrial digital broadcasting, BS (Broadcasting Satellite) / CS (Communications Satellite) digital broadcasting) via an antenna, demodulates, and MPEG-TS (Moving Picture Experts Group). -Transport Stream) and supply it to the MPEG decoder 1017.
  • digital broadcasting terrestrial digital broadcasting, BS (Broadcasting Satellite) / CS (Communications Satellite) digital broadcasting
  • MPEG-TS Motion Picture Experts Group
  • the MPEG decoder 1017 releases the scramble applied to the MPEG-TS supplied from the digital tuner 1016 and extracts a stream including program data to be played (viewing target).
  • the MPEG decoder 1017 decodes the audio packet constituting the extracted stream, supplies the obtained audio data to the audio signal processing circuit 1022, decodes the video packet constituting the stream, and converts the obtained video data into the video This is supplied to the signal processing circuit 1018.
  • the MPEG decoder 1017 supplies EPG (Electronic Program Guide) data extracted from the MPEG-TS to the CPU 1032 via a path (not shown).
  • EPG Electronic Program Guide
  • the television receiver 1000 uses the above-described image decoding device 200 as the MPEG decoder 1017 for decoding video packets in this way.
  • MPEG-TS transmitted from a broadcasting station or the like is encoded by the image encoding device 100.
  • the MPEG decoder 1017 uses the filter coefficient extracted from the encoded data supplied from the image encoding device 100, and uses the orthogonal transform size for each macroblock of the decoded image. The filter processing according to is performed. Therefore, the MPEG decoder 1017 can perform noise removal suitable for the local property in the image.
  • the video data supplied from the MPEG decoder 1017 is subjected to predetermined processing in the video signal processing circuit 1018 as in the case of the video data supplied from the video decoder 1015, and the generated video data in the graphic generation circuit 1019. Are appropriately superimposed and supplied to the display panel 1021 via the panel drive circuit 1020, and the image is displayed.
  • the audio data supplied from the MPEG decoder 1017 is subjected to predetermined processing in the audio signal processing circuit 1022 as in the case of the audio data supplied from the audio A / D conversion circuit 1014, and an echo cancellation / audio synthesis circuit 1023.
  • predetermined processing in the audio signal processing circuit 1022 as in the case of the audio data supplied from the audio A / D conversion circuit 1014, and an echo cancellation / audio synthesis circuit 1023.
  • sound adjusted to a predetermined volume is output from the speaker 1025.
  • the television receiver 1000 also includes a microphone 1026 and an A / D conversion circuit 1027.
  • the A / D conversion circuit 1027 receives a user's voice signal captured by a microphone 1026 provided in the television receiver 1000 for voice conversation, and performs A / D conversion processing on the received voice signal.
  • the obtained digital audio data is supplied to the echo cancellation / audio synthesis circuit 1023.
  • the echo cancellation / audio synthesis circuit 1023 performs echo cancellation on the audio data of the user A.
  • the voice data obtained by combining with other voice data is output from the speaker 1025 via the voice amplifier circuit 1024.
  • the television receiver 1000 also includes an audio codec 1028, an internal bus 1029, an SDRAM (Synchronous Dynamic Random Access Memory) 1030, a flash memory 1031, a CPU 1032, a USB (Universal Serial Bus) I / F 1033, and a network I / F 1034.
  • an audio codec 1028 an internal bus 1029
  • an SDRAM Serial Dynamic Random Access Memory
  • flash memory 1031
  • CPU central processing unit
  • USB Universal Serial Bus
  • the A / D conversion circuit 1027 receives a user's voice signal captured by a microphone 1026 provided in the television receiver 1000 for voice conversation, and performs A / D conversion processing on the received voice signal.
  • the obtained digital audio data is supplied to the audio codec 1028.
  • the audio codec 1028 converts the audio data supplied from the A / D conversion circuit 1027 into data of a predetermined format for transmission via the network, and supplies the data to the network I / F 1034 via the internal bus 1029.
  • the network I / F 1034 is connected to the network via a cable attached to the network terminal 1035.
  • the network I / F 1034 transmits the audio data supplied from the audio codec 1028 to another device connected to the network.
  • the network I / F 1034 receives, for example, audio data transmitted from another device connected via the network via the network terminal 1035, and receives the audio data via the internal bus 1029 to the audio codec 1028. Supply.
  • the voice codec 1028 converts the voice data supplied from the network I / F 1034 into data of a predetermined format and supplies it to the echo cancellation / voice synthesis circuit 1023.
  • the echo cancellation / speech synthesis circuit 1023 performs echo cancellation on the speech data supplied from the speech codec 1028, and synthesizes speech data obtained by combining with other speech data via the speech amplification circuit 1024. And output from the speaker 1025.
  • the SDRAM 1030 stores various data necessary for the CPU 1032 to perform processing.
  • the flash memory 1031 stores a program executed by the CPU 1032.
  • the program stored in the flash memory 1031 is read by the CPU 1032 at a predetermined timing such as when the television receiver 1000 is activated.
  • the flash memory 1031 also stores EPG data acquired via digital broadcasting, data acquired from a predetermined server via a network, and the like.
  • the flash memory 1031 stores MPEG-TS including content data acquired from a predetermined server via a network under the control of the CPU 1032.
  • the flash memory 1031 supplies the MPEG-TS to the MPEG decoder 1017 via the internal bus 1029, for example, under the control of the CPU 1032.
  • the MPEG decoder 1017 processes the MPEG-TS as in the case of MPEG-TS supplied from the digital tuner 1016. In this way, the television receiver 1000 receives content data including video and audio via the network, decodes it using the MPEG decoder 1017, displays the video, and outputs audio. Can do.
  • the television receiver 1000 also includes a light receiving unit 1037 that receives an infrared signal transmitted from the remote controller 1051.
  • the light receiving unit 1037 receives infrared rays from the remote controller 1051 and outputs a control code representing the contents of the user operation obtained by demodulation to the CPU 1032.
  • the CPU 1032 executes a program stored in the flash memory 1031 and controls the entire operation of the television receiver 1000 according to a control code supplied from the light receiving unit 1037.
  • the CPU 1032 and each part of the television receiver 1000 are connected via a path (not shown).
  • the USB I / F 1033 transmits / receives data to / from an external device of the television receiver 1000 connected via a USB cable attached to the USB terminal 1036.
  • the network I / F 1034 is connected to the network via a cable attached to the network terminal 1035, and transmits / receives data other than audio data to / from various devices connected to the network.
  • the television receiver 1000 can perform noise removal suitable for local properties in an image by using the image decoding device 200 as the MPEG decoder 1017. As a result, the television receiver 1000 can obtain a higher-quality decoded image from a broadcast wave signal received via an antenna or content data obtained via a network.
  • FIG. 24 is a block diagram illustrating a main configuration example of a mobile phone using the image encoding device and the image decoding device to which the present invention is applied.
  • a cellular phone 1100 shown in FIG. 24 includes a main control unit 1150, a power supply circuit unit 1151, an operation input control unit 1152, an image encoder 1153, a camera I / F unit 1154, an LCD control, which are configured to control each unit in an integrated manner.
  • Section 1155, image decoder 1156, demultiplexing section 1157, recording / reproducing section 1162, modulation / demodulation circuit section 1158, and audio codec 1159 are connected to each other via a bus 1160.
  • the mobile phone 1100 also includes operation keys 1119, a CCD (Charge Coupled Devices) camera 1116, a liquid crystal display 1118, a storage unit 1123, a transmission / reception circuit unit 1163, an antenna 1114, a microphone (microphone) 1121, and a speaker 1117.
  • a CCD Charge Coupled Devices
  • the power supply circuit unit 1151 starts up the mobile phone 1100 in an operable state by supplying power from the battery pack to each unit.
  • the mobile phone 1100 transmits and receives voice signals, e-mails and image data, and images in various modes such as a voice call mode and a data communication mode based on the control of the main control unit 1150 including a CPU, a ROM, a RAM, and the like. Various operations such as shooting or data recording are performed.
  • the mobile phone 1100 converts the voice signal collected by the microphone (microphone) 1121 into digital voice data by the voice codec 1159, performs spectrum spread processing by the modulation / demodulation circuit unit 1158, and transmits and receives
  • the unit 1163 performs digital / analog conversion processing and frequency conversion processing.
  • the cellular phone 1100 transmits the transmission signal obtained by the conversion process to a base station (not shown) via the antenna 1114.
  • the transmission signal (voice signal) transmitted to the base station is supplied to the mobile phone of the other party via the public telephone line network.
  • the cellular phone 1100 in the voice call mode, the cellular phone 1100 amplifies the received signal received by the antenna 1114 by the transmission / reception circuit unit 1163, further performs frequency conversion processing and analog-digital conversion processing, and performs spectrum despreading processing by the modulation / demodulation circuit unit 1158. Then, the audio codec 1159 converts it into an analog audio signal. The cellular phone 1100 outputs an analog audio signal obtained by the conversion from the speaker 1117.
  • the mobile phone 1100 when transmitting an e-mail in the data communication mode, receives the text data of the e-mail input by operating the operation key 1119 in the operation input control unit 1152.
  • the cellular phone 1100 processes the text data in the main control unit 1150 and displays it on the liquid crystal display 1118 as an image via the LCD control unit 1155.
  • the mobile phone 1100 generates e-mail data in the main control unit 1150 based on text data received by the operation input control unit 1152, user instructions, and the like.
  • the cellular phone 1100 performs spread spectrum processing on the e-mail data by the modulation / demodulation circuit unit 1158 and digital / analog conversion processing and frequency conversion processing by the transmission / reception circuit unit 1163.
  • the cellular phone 1100 transmits the transmission signal obtained by the conversion process to a base station (not shown) via the antenna 1114.
  • the transmission signal (e-mail) transmitted to the base station is supplied to a predetermined destination via a network and a mail server.
  • the mobile phone 1100 when receiving an e-mail in the data communication mode, receives and amplifies the signal transmitted from the base station by the transmission / reception circuit unit 1163 via the antenna 1114, and further performs frequency conversion processing and Analog-digital conversion processing.
  • the cellular phone 1100 performs spectrum despreading processing on the received signal by the modulation / demodulation circuit unit 1158 to restore the original e-mail data.
  • the cellular phone 1100 displays the restored e-mail data on the liquid crystal display 1118 via the LCD control unit 1155.
  • the mobile phone 1100 can also record (store) the received e-mail data in the storage unit 1123 via the recording / playback unit 1162.
  • the storage unit 1123 is an arbitrary rewritable storage medium.
  • the storage unit 1123 may be, for example, a semiconductor memory such as a RAM or a built-in flash memory, a hard disk, or a removable disk such as a magnetic disk, a magneto-optical disk, an optical disk, a USB memory, or a memory card. It may be media. Of course, other than these may be used.
  • the mobile phone 1100 when transmitting image data in the data communication mode, the mobile phone 1100 generates image data with the CCD camera 1116 by imaging.
  • the CCD camera 1116 has an optical device such as a lens and a diaphragm and a CCD as a photoelectric conversion element, images a subject, converts the intensity of received light into an electrical signal, and generates image data of the subject image.
  • the CCD camera 1116 encodes the image data with the image encoder 1153 via the camera I / F unit 1154 and converts the encoded image data into encoded image data.
  • the cellular phone 1100 uses the above-described image encoding device 100 as the image encoder 1153 that performs such processing. Therefore, the image encoder 1053 can perform noise removal suitable for local properties in the image, as in the case of the image encoding device 100.
  • the cellular phone 1100 simultaneously converts the audio collected by the microphone (microphone) 1121 during imaging by the CCD camera 1116 to analog-digital conversion by the audio codec 1159 and further encodes it.
  • the cellular phone 1100 multiplexes the encoded image data supplied from the image encoder 1153 and the digital audio data supplied from the audio codec 1159 in a demultiplexing unit 1157.
  • the cellular phone 1100 performs spread spectrum processing on the multiplexed data obtained as a result by the modulation / demodulation circuit unit 1158 and digital / analog conversion processing and frequency conversion processing by the transmission / reception circuit unit 1163.
  • the cellular phone 1100 transmits the transmission signal obtained by the conversion process to a base station (not shown) via the antenna 1114.
  • a transmission signal (image data) transmitted to the base station is supplied to a communication partner via a network or the like.
  • the mobile phone 1100 can also display the image data generated by the CCD camera 1116 on the liquid crystal display 1118 via the LCD control unit 1155 without using the image encoder 1153.
  • the mobile phone 1100 when receiving data of a moving image file linked to a simple homepage or the like, transmits a signal transmitted from the base station to the transmission / reception circuit unit 1163 via the antenna 1114. Receive, amplify, and further perform frequency conversion processing and analog-digital conversion processing.
  • the cellular phone 1100 restores the original multiplexed data by subjecting the received signal to spectrum despreading processing by the modulation / demodulation circuit unit 1158.
  • the demultiplexing unit 1157 separates the multiplexed data and divides it into encoded image data and audio data.
  • the cellular phone 1100 generates reproduced moving image data by decoding the encoded image data in the image decoder 1156, and displays it on the liquid crystal display 1118 via the LCD control unit 1155. Thereby, for example, the moving image data included in the moving image file linked to the simple homepage is displayed on the liquid crystal display 1118.
  • the cellular phone 1100 uses the above-described image decoding device 200 as the image decoder 1156 that performs such processing. Therefore, the image decoder 1156 can perform noise removal suitable for local properties in the image, as in the case of the image decoding device 200.
  • the cellular phone 1100 simultaneously converts the digital audio data into an analog audio signal in the audio codec 1159 and outputs it from the speaker 1117. Thereby, for example, audio data included in the moving image file linked to the simple homepage is reproduced.
  • the mobile phone 1100 can record (store) the data linked to the received simplified home page in the storage unit 1123 via the recording / playback unit 1162. .
  • the mobile phone 1100 can analyze the two-dimensional code obtained by the CCD camera 1116 and captured by the main control unit 1150 and obtain information recorded in the two-dimensional code.
  • the cellular phone 1100 can communicate with an external device by infrared rays at the infrared communication unit 1181.
  • the mobile phone 1100 can perform noise removal suitable for local properties in the image by using the image encoding device 100 as the image encoder 1153. As a result, the mobile phone 1100 can obtain a reference image with higher image quality. Therefore, the cellular phone 1100 can improve the image quality of a decoded image obtained by decoding encoded data generated by encoding image data generated by the CCD camera 1116, for example.
  • the cellular phone 1100 can perform noise removal suitable for local properties in the image by using the image decoding device 200 as the image decoder 1156. As a result, the mobile phone 1100 can obtain a higher-quality decoded image from moving image file data (encoded data) linked to, for example, a simple homepage.
  • the cellular phone 1100 uses the CCD camera 1116.
  • an image sensor CMOS image sensor
  • CMOS Complementary Metal Metal Oxide Semiconductor
  • the mobile phone 1100 can capture an image of a subject and generate image data of the image of the subject as in the case where the CCD camera 1116 is used.
  • the mobile phone 1100 has been described.
  • a PDA Personal Digital Assistant
  • a smartphone an UMPC (Ultra Mobile Personal Computer)
  • a netbook a notebook personal computer, etc.
  • the image encoding device 100 and the image decoding device 200 can be applied to any device as in the case of the mobile phone 1100.
  • FIG. 25 is a block diagram illustrating a main configuration example of a hard disk recorder using the image encoding device and the image decoding device to which the present invention is applied.
  • a hard disk recorder (HDD recorder) 1200 shown in FIG. 25 receives audio data and video data of a broadcast program included in a broadcast wave signal (television signal) transmitted from a satellite or a ground antenna received by a tuner.
  • This is an apparatus for storing in a built-in hard disk and providing the stored data to the user at a timing according to the user's instruction.
  • the hard disk recorder 1200 can extract, for example, audio data and video data from broadcast wave signals, appropriately decode them, and store them in a built-in hard disk.
  • the hard disk recorder 1200 can also acquire audio data and video data from other devices via a network, for example, decode them as appropriate, and store them in a built-in hard disk.
  • the hard disk recorder 1200 decodes audio data and video data recorded on the built-in hard disk, supplies them to the monitor 1260, displays the image on the screen of the monitor 1260, and displays the sound from the speaker of the monitor 1260. Can be output. Further, the hard disk recorder 1200 decodes audio data and video data extracted from a broadcast wave signal acquired via a tuner, or audio data and video data acquired from another device via a network, for example. The image can be supplied to the monitor 1260, the image can be displayed on the screen of the monitor 1260, and the sound can be output from the speaker of the monitor 1260.
  • the hard disk recorder 1200 includes a receiving unit 1221, a demodulating unit 1222, a demultiplexer 1223, an audio decoder 1224, a video decoder 1225, and a recorder control unit 1226.
  • the hard disk recorder 1200 further includes an EPG data memory 1227, a program memory 1228, a work memory 1229, a display converter 1230, an OSD (On-Screen Display) control unit 1231, a display control unit 1232, a recording / playback unit 1233, a D / A converter 1234, And a communication unit 1235.
  • the display converter 1230 has a video encoder 1241.
  • the recording / playback unit 1233 includes an encoder 1251 and a decoder 1252.
  • the receiving unit 1221 receives an infrared signal from a remote controller (not shown), converts it into an electrical signal, and outputs it to the recorder control unit 1226.
  • the recorder control unit 1226 is constituted by, for example, a microprocessor and executes various processes according to a program stored in the program memory 1228. At this time, the recorder control unit 1226 uses the work memory 1229 as necessary.
  • the communication unit 1235 is connected to the network and performs communication processing with other devices via the network.
  • the communication unit 1235 is controlled by the recorder control unit 1226, communicates with a tuner (not shown), and mainly outputs a channel selection control signal to the tuner.
  • the demodulator 1222 demodulates the signal supplied from the tuner and outputs the demodulated signal to the demultiplexer 1223.
  • the demultiplexer 1223 separates the data supplied from the demodulation unit 1222 into audio data, video data, and EPG data, and outputs them to the audio decoder 1224, the video decoder 1225, or the recorder control unit 1226, respectively.
  • the audio decoder 1224 decodes the input audio data and outputs it to the recording / playback unit 1233.
  • the video decoder 1225 decodes the input video data and outputs it to the display converter 1230.
  • the recorder control unit 1226 supplies the input EPG data to the EPG data memory 1227 for storage.
  • the display converter 1230 encodes the video data supplied from the video decoder 1225 or the recorder control unit 1226 into, for example, NTSC (National Television Standards Committee) video data using the video encoder 1241, and outputs the encoded video data to the recording / playback unit 1233.
  • the display converter 1230 converts the screen size of the video data supplied from the video decoder 1225 or the recorder control unit 1226 into a size corresponding to the size of the monitor 1260, and converts the video data to NTSC video data by the video encoder 1241. Then, it is converted into an analog signal and output to the display control unit 1232.
  • the display control unit 1232 Under the control of the recorder control unit 1226, the display control unit 1232 superimposes the OSD signal output by the OSD (On Screen Display) control unit 1231 on the video signal input from the display converter 1230, and displays it on the monitor 1260 display. Output and display.
  • OSD On Screen Display
  • the monitor 1260 is also supplied with the audio data output from the audio decoder 1224 after being converted into an analog signal by the D / A converter 1234.
  • the monitor 1260 outputs this audio signal from a built-in speaker.
  • the recording / playback unit 1233 has a hard disk as a storage medium for recording video data, audio data, and the like.
  • the recording / playback unit 1233 encodes the audio data supplied from the audio decoder 1224 by the encoder 1251, for example.
  • the recording / playback unit 1233 encodes the video data supplied from the video encoder 1241 of the display converter 1230 by the encoder 1251.
  • the recording / playback unit 1233 combines the encoded data of the audio data and the encoded data of the video data by a multiplexer.
  • the recording / playback unit 1233 amplifies the synthesized data by channel coding, and writes the data to the hard disk via the recording head.
  • the recording / playback unit 1233 plays back the data recorded on the hard disk via the playback head, amplifies it, and separates it into audio data and video data by a demultiplexer.
  • the recording / playback unit 1233 uses the decoder 1252 to decode the audio data and the video data.
  • the recording / playback unit 1233 performs D / A conversion on the decoded audio data and outputs it to the speaker of the monitor 1260.
  • the recording / playback unit 1233 performs D / A conversion on the decoded video data and outputs it to the display of the monitor 1260.
  • the recorder control unit 1226 reads the latest EPG data from the EPG data memory 1227 based on the user instruction indicated by the infrared signal from the remote controller received via the receiving unit 1221, and supplies it to the OSD control unit 1231. To do.
  • the OSD control unit 1231 generates image data corresponding to the input EPG data, and outputs the image data to the display control unit 1232.
  • the display control unit 1232 outputs the video data input from the OSD control unit 1231 to the display of the monitor 1260 for display. As a result, an EPG (electronic program guide) is displayed on the display of the monitor 1260.
  • the hard disk recorder 1200 can acquire various data such as video data, audio data, or EPG data supplied from other devices via a network such as the Internet.
  • the communication unit 1235 is controlled by the recorder control unit 1226, acquires encoded data such as video data, audio data, and EPG data transmitted from another device via the network, and supplies the encoded data to the recorder control unit 1226. To do.
  • the recorder control unit 1226 supplies the encoded data of the acquired video data and audio data to the recording / playback unit 1233 and stores it in the hard disk.
  • the recorder control unit 1226 and the recording / playback unit 1233 may perform processing such as re-encoding as necessary.
  • the recorder control unit 1226 decodes the acquired encoded data of video data and audio data, and supplies the obtained video data to the display converter 1230. Similar to the video data supplied from the video decoder 1225, the display converter 1230 processes the video data supplied from the recorder control unit 1226, supplies the processed video data to the monitor 1260 via the display control unit 1232, and displays the image. .
  • the recorder control unit 1226 may supply the decoded audio data to the monitor 1260 via the D / A converter 1234 and output the sound from the speaker.
  • the recorder control unit 1226 decodes the encoded data of the acquired EPG data and supplies the decoded EPG data to the EPG data memory 1227.
  • the hard disk recorder 1200 as described above uses the image decoding device 200 as a decoder built in the video decoder 1225, the decoder 1252, and the recorder control unit 1226. Therefore, the video decoder 1225, the decoder 1252, and the decoder built in the recorder control unit 1226 can perform noise removal suitable for local properties in the image, as in the case of the image decoding device 200.
  • the hard disk recorder 1200 can perform noise removal suitable for local properties in the image.
  • the hard disk recorder 1200 for example, from video data (encoded data) received via a tuner or communication unit 1235 or video data (encoded data) recorded on the hard disk of the recording / reproducing unit 1233, A decoded image with higher image quality can be obtained.
  • the hard disk recorder 1200 uses the image encoding device 100 as the encoder 1251. Therefore, the encoder 1251 can perform noise removal suitable for the local property in the image, as in the case of the image encoding device 100.
  • the hard disk recorder 1200 can perform noise removal suitable for local properties in the image. As a result, the hard disk recorder 1200 can obtain a higher-quality reference image. Therefore, the hard disk recorder 1200 can improve the image quality of the decoded image of the encoded data recorded on the hard disk, for example.
  • the hard disk recorder 1200 for recording video data and audio data on the hard disk has been described.
  • any recording medium may be used.
  • the image encoding device 100 and the image decoding device 200 are applied as in the case of the hard disk recorder 1200 described above. Can do.
  • FIG. 26 is a block diagram illustrating a main configuration example of a camera using an image encoding device and an image decoding device to which the present invention is applied.
  • the camera 1300 shown in FIG. 26 captures a subject, displays an image of the subject on the LCD 1316, and records the image on the recording medium 1333 as image data.
  • the lens block 1311 causes light (that is, an image of the subject) to enter the CCD / CMOS 1312.
  • the CCD / CMOS 1312 is an image sensor using CCD or CMOS, converts the intensity of received light into an electric signal, and supplies it to the camera signal processing unit 1313.
  • the camera signal processing unit 1313 converts the electrical signal supplied from the CCD / CMOS 1312 into Y, Cr, and Cb color difference signals and supplies them to the image signal processing unit 1314.
  • the image signal processing unit 1314 performs predetermined image processing on the image signal supplied from the camera signal processing unit 1313 or encodes the image signal with the encoder 1341 under the control of the controller 1321.
  • the image signal processing unit 1314 supplies encoded data generated by encoding the image signal to the decoder 1315. Further, the image signal processing unit 1314 acquires display data generated in the on-screen display (OSD) 1320 and supplies it to the decoder 1315.
  • OSD on-screen display
  • the camera signal processing unit 1313 appropriately uses DRAM (Dynamic Random Access Memory) 1318 connected via the bus 1317, and if necessary, image data or a code obtained by encoding the image data.
  • DRAM Dynamic Random Access Memory
  • the digitized data or the like is held in the DRAM 1318.
  • the decoder 1315 decodes the encoded data supplied from the image signal processing unit 1314 and supplies the obtained image data (decoded image data) to the LCD 1316. In addition, the decoder 1315 supplies the display data supplied from the image signal processing unit 1314 to the LCD 1316. The LCD 1316 appropriately synthesizes the image of the decoded image data supplied from the decoder 1315 and the image of the display data, and displays the synthesized image.
  • the on-screen display 1320 outputs display data such as menu screens and icons composed of symbols, characters, or figures to the image signal processing unit 1314 via the bus 1317 under the control of the controller 1321.
  • the controller 1321 executes various processes based on a signal indicating the content instructed by the user using the operation unit 1322, and also via the bus 1317, an image signal processing unit 1314, a DRAM 1318, an external interface 1319, an on-screen display. 1320, media drive 1323, and the like are controlled.
  • the FLASH ROM 1324 stores programs and data necessary for the controller 1321 to execute various processes.
  • the controller 1321 can encode the image data stored in the DRAM 1318 or decode the encoded data stored in the DRAM 1318 instead of the image signal processing unit 1314 and the decoder 1315.
  • the controller 1321 may be configured to perform encoding / decoding processing by a method similar to the encoding / decoding method of the image signal processing unit 1314 or the decoder 1315, or the image signal processing unit 1314 or the decoder 1315 is compatible.
  • the encoding / decoding process may be performed by a method that is not performed.
  • the controller 1321 reads out image data from the DRAM 1318 and supplies it to the printer 1334 connected to the external interface 1319 via the bus 1317. Let it print.
  • the controller 1321 reads the encoded data from the DRAM 1318 and supplies it to the recording medium 1333 mounted on the media drive 1323 via the bus 1317.
  • the recording medium 1333 is an arbitrary readable / writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory.
  • the recording medium 1333 may be of any kind as a removable medium, and may be a tape device, a disk, or a memory card.
  • a non-contact IC card or the like may be used.
  • media drive 1323 and the recording medium 1333 may be integrated and configured by a non-portable storage medium such as a built-in hard disk drive or SSD (Solid State Drive).
  • SSD Solid State Drive
  • the external interface 1319 is composed of, for example, a USB input / output terminal or the like, and is connected to the printer 1334 when printing an image.
  • a drive 1331 is connected to the external interface 1319 as necessary, and a removable medium 1332 such as a magnetic disk, an optical disk, or a magneto-optical disk is appropriately mounted, and a computer program read from them is loaded as necessary. Installed in the FLASH ROM 1324.
  • the external interface 1319 has a network interface connected to a predetermined network such as a LAN or the Internet.
  • the controller 1321 can read the encoded data from the DRAM 1318 in accordance with an instruction from the operation unit 1322 and supply the encoded data to the other device connected via the network from the external interface 1319.
  • the controller 1321 acquires encoded data and image data supplied from another device via the network via the external interface 1319, holds the data in the DRAM 1318, or supplies it to the image signal processing unit 1314. Can be.
  • the camera 1300 as described above uses the image decoding device 200 as the decoder 1315. Therefore, the decoder 1315 can perform noise removal suitable for the local property in the image, as in the case of the image decoding device 200.
  • the camera 1300 can perform noise removal suitable for the local property in the image.
  • the camera 1300 can, for example, use image data generated in the CCD / CMOS 1312, encoded data of video data read from the DRAM 1318 or the recording medium 1333, or encoded data of video data acquired via a network. Therefore, a decoded image with higher image quality can be obtained.
  • the camera 1300 uses the image encoding device 100 as the encoder 1341. Therefore, the encoder 1341 can perform noise removal suitable for the local property in the image, as in the case of the image encoding device 100.
  • the camera 1300 can perform noise removal suitable for the local property in the image.
  • the camera 1300 can improve the image quality of the encoded data recorded in the DRAM 1318 or the recording medium 1333 or the decoded image of the encoded data provided to another device.
  • the decoding method of the image decoding device 200 may be applied to the decoding process performed by the controller 1321.
  • the encoding method of the image encoding device 100 may be applied to the encoding process performed by the controller 1321.
  • the image data captured by the camera 1300 may be a moving image or a still image.
  • image encoding device 100 and the image decoding device 200 can also be applied to devices and systems other than the devices described above.
  • the size of the macroblock is not limited to 16 ⁇ 16 pixels.
  • the present invention can be applied to macroblocks of any size such as 32 ⁇ 32 pixels shown in FIG.
  • filter coefficients and the like have been described as being multiplexed (description) in the bitstream.
  • filter coefficients and image data are transmitted (recorded).
  • Also good. There may be a form in which the filter coefficient and the image data (or bit stream) are connected (added).
  • Concatenation indicates a state in which image data (or bit stream) and filter coefficients are linked to each other (a state in which correspondence is established), and the physical positional relationship is arbitrary.
  • the image data (or bit stream) and the filter coefficient may be transmitted through different transmission paths.
  • the image data (or bit stream) and the filter coefficient may be recorded on different recording media (or different recording areas in the same recording medium).
  • the unit for linking the image data (or bit stream) and the filter coefficient is arbitrary, and may be set, for example, in encoding processing units (one frame, multiple frames, etc.).

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

 本発明は、符号化効率の低減を抑制することができる画像処理装置および方法に関する。 復号画素分類部152および入力画素分類部153は、直交変換サイズバッファ151から読み出した直交変換サイズに基づいて、復号画像または入力画像の各マクロブロックをクラス分類する。4×4ブロック係数算出部154および8×8ブロック係数算出部155は、それぞれの直交変換ブロックにおいて、残差が最小となるようにフィルタ係数を算出する。ループフィルタ113の画素分類部161は、復号画像の各マクロブロックを、その直交変換ブロックサイズ毎にクラス分類する。フィルタ部(4×4)162およびフィルタ部(8×8)163は、それぞれが対応する直交変換ブロックに対して適切なフィルタ係数を適用し、フィルタ処理を行う。本発明は、例えば、画像処理装置に適用することができる。

Description

画像処理装置および方法
 本発明は、画像処理装置および方法に関し、特に、画像を符号化し、復号することによる画質の劣化を抑制し、復号画像の画質をより向上させることができるようにした画像処理装置および方法に関する。
 近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮するMPEG(Moving Picture Experts Group)などの方式に準拠した装置が、放送局などの情報配信、及び一般家庭における情報受信の双方において普及しつつある。
 特に、MPEG2(ISO(International Organization for Standardization)/IEC(International Electrotechnical Commission)13818-2)は、汎用画像符号化方式として定義されており、飛び越し走査画像及び順次走査画像の双方、並びに標準解像度画像及び高精細画像を網羅する標準で、プロフェッショナル用途及びコンシューマ用途の広範なアプリケーションに現在広く用いられている。MPEG2圧縮方式を用いることにより、例えば720×480画素を持つ標準解像度の飛び越し走査画像であれば4~8Mbps、1920×1088画素を持つ高解像度の飛び越し走査画像であれば18~22Mbpsの符号量(ビットレート)を割り当てることで、高い圧縮率と良好な画質の実現が可能である。
 MPEG2は主として放送用に適合する高画質符号化を対象としていたが、MPEG1より低い符号量(ビットレート)、つまりより高い圧縮率の符号化方式には対応していなかった。携帯端末の普及により、今後そのような符号化方式のニーズは高まると思われ、これに対応してMPEG4符号化方式の標準化が行われた。画像符号化方式に関しては、1998年12月にISO/IEC14496-2としてその規格が国際標準に承認された。
 更に、近年、当初テレビ会議用の画像符号化を目的として、H.26L(ITU-T(ITU Telecommunication Standardization Sector)Q6/16 VCEG(Video Coding Experts Group))という標準の規格化が進んでいる。H.26LはMPEG2やMPEG4といった従来の符号化方式に比べ、その符号化、復号化により多くの演算量が要求されるものの、より高い符号化効率が実現されることが知られている。また、現在、MPEG4の活動の一環として、このH.26Lをベースに、H.26Lではサポートされない機能をも取り入れ、より高い符号化効率を実現する標準化がJoint Model of Enhanced-Compression Video Codingとして行われている。標準化のスケジュールとしては、2003年3月にはH.264及びMPEG4 Part10(AVC(Advanced Video Coding))という名の元に国際標準となった。
 更に、その拡張として、RGBや4:2:2、4:4:4といった、業務用に必要な符号化ツールや、MPEG2で規定されていた8x8DCT(Discrete Cosine Transform)や量子化マトリクスをも含んだFRExt(Fidelity Range Extension)の標準化が行われ、これにより、AVCを用いて、映画に含まれるフィルムノイズをも良好に表現することが可能な符号化方式となって、Blu-Ray Disc等の幅広いアプリケーションに用いられる運びとなった。
 しかしながら、昨今、ハイビジョン画像の4倍の、4000×2000画素程度の画像を圧縮したい、或いは、インターネットのような、限られた伝送容量の環境において、ハイビジョン画像を配信したいといった、更なる高圧縮率符号化に対するニーズが高まっている。このため、先述の、ITU-T傘下のVCEGにおいて、符号化効率の改善に関する検討が継続され行なわれている。
 また、最近、検討されている次世代のビデオ符号化技術として適応ループフィルタ(ALF(Adaptive Loop Filter))がある(例えば、非特許文献1および非特許文献2参照)。このループフィルタにより、フレーム毎に最適なフィルタ処理が行われ、デブロックフィルタで取りきれなかったブロック歪みや量子化による歪みを低減することができる。
 ところで、マクロブロックサイズを16画素×16画素とするのは、次世代符号化方式の対象となるようなUHD(Ultra High Definition;4000画素×2000画素)といった大きな画枠に対しては、最適ではない。このような場合、マクロブロックサイズを、例えば、32画素×32画素、64×64画素といった大きさにすることが提案されている(例えば、非特許文献3参照)。
Yi-Jen Chiu and L. Xu, "Adaptive (Wiener) Filter for Video Compression," ITU-T SG16 Contribution, C437, Geneva, April 2008. Takeshi. Chujoh, et al., "Block-based Adaptive Loop Filter" ITU-T SG16 Q6 VCEG Contribution, AI18, Germany, July, 2008 Qualcomm Inc, "Video Coding Using Extended Block Sizes" ITU-T SG16 Contribution, C123, English, January 2009.
 一般に画像は局所的には様々な特徴をもっているため、局所的には最適なフィルタ係数は異なる。例えば、AVC符号化方式においては、直交変換の大きさが4×4である場合と、8×8である場合には、異なる画質劣化が観測される。例えば、8×8直交変換ブロックにおいては、4×4直交変換ブロックにおいては観測されないモスキート雑音が観測される。また、フラットなエリアについては、8×8直交変換ブロックが選択されやすいが、細かなテクスチャを含むエリアについては、4×4直交変換ブロックが選択されやすいという傾向がある。
 しかしながら、従来提案されている方法においては、画像全体に対して一様にフィルタリングを施すのみであり、画像の持つ局所的性質に適したノイズ除去がなされているとは限らず、局所的には復号画像の画質が低下する恐れがあった。
 本発明は、このような状況に鑑みて提案されたものであり、画像を符号化し、復号することによる画質の劣化を抑制し、復号画像の画質をより向上させることを目的とする。
 本発明の一側面は、画像を、所定の画像サイズ毎に、前記画像に対して行われる直交変換処理において適用された直交変換サイズによって分類する分類手段と、前記分類手段により分類された前記画像サイズ毎の各部分画像に対して、前記部分画像の前記直交変換サイズに対応する前記画像の局所的性質に応じて設定されたフィルタ係数を用いて、雑音除去のためのフィルタ処理を行うフィルタ手段とを備える画像処理装置である。
 前記フィルタ手段は、Wiener Filterであるようにすることができる。
 前記画像サイズは、マクロブロックであり、前記分類手段は、各マクロブロックを、その直交変換サイズによって分類し、前記フィルタ手段は、前記分類手段により分類された各マクロブロックに対して、その直交変換サイズに対応する前記画像の局所的性質に応じて設定された前記フィルタ係数を用いて前記フィルタ処理を行うことができる。
 前記画像を符号化し、符号化データを生成する符号化手段をさらに備えることができる。
 前記符号化手段は、前記画像をAVC(Advanced Video Coding)方式で符号化し、前記分類手段は、前記符号化手段により、直交変換され、量子化され、逆量子化され、逆直交変換された復号画像を、前記画像サイズ毎に分類し、前記フィルタ手段は、前記復号画像の前記部分画像に対して前記フィルタ処理を行い、フィルタ処理結果を参照画像としてフレームメモリに格納することができる。
 前記符号化手段への入力画像と、前記復号画像とを用いて、前記フィルタ係数を算出するフィルタ係数算出手段をさらに備え、前記フィルタ手段は、前記フィルタ係数算出手段により算出された前記フィルタ係数を用いて、前記フィルタ処理を行うことができる。
 前記フィルタ係数算出手段は、前記入力画像および前記復号画像を、それぞれ、前記画像サイズ毎に、前記符号化手段により行われる直交変換処理において適用される直交変換サイズによって分類し、各直交変換サイズ毎に、前記入力画像および前記復号画像の差分が最小となるように前記フィルタ係数を算出することができる。
 前記フィルタ係数算出手段は、前記符号化手段により行われる直交変換処理において適用される直交変換サイズに対応する前記画像の局所的性質に応じて、前記フィルタ係数の値を設定することができる。
 前記フィルタ係数算出手段は、前記符号化手段により行われる直交変換処理において適用される直交変換サイズに対応する前記画像の局所的性質に応じて、前記フィルタ係数のタップ数をさらに設定することができる。
 前記フィルタ係数算出手段は、前記直交変換サイズがより大きい程、前記フィルタ係数のタップ数を長く設定し、前記直交変換サイズが小さい程、前記フィルタ係数のタップ数を短く設定することができる。
 前記符号化手段により生成された前記符号化データに前記フィルタ係数を付加する付加手段をさらに備えることができる。
 前記付加手段は、前記符号化データに、前記フィルタ処理を行うか否かを制御するフラグ情報をさらに付加することができる。
 画像が符号化された符号化データから、前記フィルタ係数を抽出する抽出手段と、前記符号化データを復号し、復号画像を生成する復号手段とをさらに備え、前記分類手段は、前記復号手段により生成された前記復号画像を、前記画像サイズ毎に、前記直交変換サイズによって分類し、前記フィルタ手段は、前記分類手段により分類された前記画像サイズ毎の各部分画像に対して、前記抽出手段により抽出された前記フィルタ係数を用いて、雑音除去のためのフィルタ処理を行うことができる。
 前記復号手段は、前記符号化データをAVC(Advanced Video Coding)方式で復号し、前記分類手段は、前記復号手段により、復号され、逆量子化され、逆直交変換された前記復号画像を、前記画像サイズ毎に分類し、前記フィルタ手段は、前記復号画像の前記部分画像に対して前記フィルタ処理を行うことができる。
 本発明の一側面は、また、画像処理装置の分類手段が、画像を、所定の画像サイズ毎に、前記画像に対して行われる直交変換処理において適用された直交変換サイズによって分類し、前記画像処理装置のフィルタ手段が、その分類された前記画像サイズ毎の各部分画像に対して、前記部分画像の前記直交変換サイズに対応する前記画像の局所的性質に応じて設定されたフィルタ係数を用いて、雑音除去のためのフィルタ処理を行う画像処理方法である。
 本発明の一側面においては、画像が、所定の画像サイズ毎に、画像に対して行われる直交変換処理において適用された直交変換サイズによって分類され、その分類された画像サイズ毎の各部分画像に対して、部分画像の直交変換サイズに対応する画像の局所的性質に応じて設定されたフィルタ係数が用いられて、雑音除去のためのフィルタ処理が行われる。
 本発明によれば、画像を符号化または復号することができる。特に、画像を符号化し、復号することによる画質の劣化を抑制し、復号画像の画質をより向上させることができる。
本発明を適用した画像符号化装置の主な構成例を示すブロック図である。 直交変換の単位の例を説明するための図である。 4×4直交変換を行うマクロブロックにおける処理について説明する図である。 整数変換、逆整数変換を、バタフライ演算により実現する方法を示す図である。 デブロックフィルタの動作原理を説明する図である。 Bsの定義の方法を説明する図である。 デブロックフィルタの動作原理を説明する図である。 indexAおよびindexBとαおよびβの値の対応関係の例を示す図である。 BsおよびindexAとtC0との対応関係の例を示す図である。 マクロブロックの例を示す図である。 ループフィルタおよびフィルタ係数算出部の主な構成例を示すブロック図である。 符号化処理の流れの例を説明するフローチャートである。 予測処理の流れの例を説明するフローチャートである。 ループフィルタ処理の流れの例を説明するフローチャートである。 本発明を適用した画像復号装置の主な構成例を示すブロック図である。 ループフィルタの主な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 予測画像生成処理の流れの例を説明するフローチャートである。 ループフィルタ処理の流れの例を説明するフローチャートである。 ALFブロックおよびフィルタブロックフラグを説明する図である。 ALFブロックおよびフィルタブロックフラグの他の例を説明する図である。 本発明を適用したパーソナルコンピュータの主な構成例を示すブロック図である。 本発明を適用したテレビジョン受像機の主な構成例を示すブロック図である。 本発明を適用した携帯電話機の主な構成例を示すブロック図である。 本発明を適用したハードディスクレコーダの主な構成例を示すブロック図である。 本発明を適用したカメラの主な構成例を示すブロック図である。
 以下、発明を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.第1の実施の形態(画像符号化装置)
2.第2の実施の形態(画像復号装置)
3.第3の実施の形態(ALFブロック制御)
4.第4の実施の形態(QALF)
5.第5の実施の形態(パーソナルコンピュータ)
6.第6の実施の形態(テレビジョン受像機)
7.第7の実施の形態(携帯電話機)
8.第8の実施の形態(ハードディスクレコーダ)
9.第9の実施の形態(カメラ)
<1.第1の実施の形態>
[デバイスの構成]
 図1は、本発明を適用した画像処理装置としての画像符号化装置の一実施の形態の構成を表している。
 図1に示される画像符号化装置100は、例えば、H.264及びMPEG(Moving Picture Experts Group)4 Part10(AVC(Advanced Video Coding))(以下H.264/AVCと称する)方式で画像を圧縮符号化する符号化装置であり、さらに、適応ループフィルタを採用している。
 図1の例において、画像符号化装置100は、A/D(Analog / Digital)変換部101、画面並べ替えバッファ102、演算部103、直交変換部104、量子化部105、可逆符号化部106、および蓄積バッファ107を有する。また、画像符号化装置100は、逆量子化部108、逆直交変換部109、演算部110、およびデブロックフィルタ111を有する。さらに、画像符号化装置100は、フィルタ係数算出部112、ループフィルタ113、およびフレームメモリ114を有する。また、画像符号化装置100は、選択部115、イントラ予測部116、動き予測・補償部117、および選択部118を有する。さらに、画像符号化装置100は、レート制御部119を有する。
 A/D変換部101は、入力された画像データをA/D変換し、画面並べ替えバッファ102に出力し、記憶させる。画面並べ替えバッファ102は、記憶した表示の順番のフレームの画像を、GOP(Group of Picture)構造に応じて、符号化のためのフレームの順番に並べ替える。画面並べ替えバッファ102は、フレームの順番を並び替えた画像を、演算部103、イントラ予測部116、動き予測・補償部117、およびフィルタ係数算出部112に供給する。
 演算部103は、画面並べ替えバッファ102から読み出された画像から、選択部118から供給される予測画像を減算し、その差分情報を直交変換部104に出力する。例えば、イントラ符号化が行われる画像の場合、演算部103は、画面並べ替えバッファ102から読み出された画像にイントラ予測部116から供給される予測画像を加算する。また、たとえば、インター符号化が行われる画像の場合、演算部103は、画面並べ替えバッファ102から読み出された画像に動き予測・補償部117から供給される予測画像を加算する。
 直交変換部104は、演算部103からの差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その変換係数を量子化部105に供給する。また、直交変換部104は、各マクロブロックに対して、4×4直交変換と、8×8直交変換とのいずれを適用したかに関する情報(直交変換サイズ)を、フィルタ係数算出部112およびループフィルタ113に供給する。
 量子化部105は、直交変換部104が出力する変換係数を量子化する。量子化部105は、量子化された変換係数を可逆符号化部106に供給する。
 可逆符号化部106は、その量子化された変換係数に対して、可変長符号化、算術符号化等の可逆符号化を施す。
 可逆符号化部106は、イントラ予測を示す情報などをイントラ予測部116から取得し、インター予測モードを示す情報などを動き予測・補償部117から取得する。なお、イントラ予測を示す情報は、以下、イントラ予測モード情報とも称する。また、インター予測を示す情報モードを示す情報は、以下、インター予測モード情報とも称する。
 可逆符号化部106は、さらに、ループフィルタ113において使用されるフィルタ係数を、フィルタ係数算出部112から取得する。
 可逆符号化部106は、量子化された変換係数を符号化するとともに、フィルタ係数、イントラ予測モード情報、インター予測モード情報、および量子化パラメータなどを、符号化データのヘッダ情報の一部とする(多重化する)。可逆符号化部106は、符号化して得られた符号化データを蓄積バッファ107に供給して蓄積させる。
 例えば、可逆符号化部106においては、可変長符号化または算術符号化等の可逆符号化処理が行われる。可変長符号化としては、H.264/AVC方式で定められているCAVLC(Context-Adaptive Variable Length Coding)などがあげられる。算術符号化としては、CABAC(Context-Adaptive Binary Arithmetic Coding)などがあげられる。
 蓄積バッファ107は、可逆符号化部106から供給された符号化データを、一時的に保持し、所定のタイミングにおいて、H.264/AVC方式で符号化された符号化画像として、例えば、後段の図示せぬ記録装置や伝送路などに出力する。
 また、量子化部105において量子化された変換係数は、逆量子化部108にも供給される。逆量子化部108は、その量子化された変換係数を、量子化部105による量子化に対応する方法で逆量子化し、得られた変換係数を、逆直交変換部109に供給する。
 逆直交変換部109は、供給された変換係数を、直交変換部104による直交変換処理に対応する方法で逆直交変換する。逆直交変換された出力は、演算部110に供給される。
 演算部110は、逆直交変換部109より供給された逆直交変換結果、すなわち、復元された差分情報に、選択部118から供給される予測画像を加算し、局部的に復号された画像(復号画像)を得る。例えば、差分情報が、イントラ符号化が行われる画像に対応する場合、演算部110は、その差分情報にイントラ予測部116から供給される予測画像を加算する。また、たとえば、差分情報が、インター符号化が行われる画像に対応する場合、演算部110は、その差分情報に動き予測・補償部117から供給される予測画像を加算する。
 その加算結果は、デブロックフィルタ111に供給される。
 デブロックフィルタ111は、復号画像のブロック歪を除去する。デブロックフィルタ111は、その歪除去結果をループフィルタ113およびフレームメモリ114に供給する。
 フィルタ係数算出部112には、デブロックフィルタ111からフレームメモリ114を介して供給される復号画像が供給される。また、フィルタ係数算出部112には、画面並べ替えバッファ102から読み出された入力画像が供給される。さらに、フィルタ係数算出部112には、直交変換部104から、直交変換サイズ(各マクロブロックに対して4×4直交変換と、8×8直交変換とのいずれが適用されたかに関する情報)が供給される。
 フィルタ係数算出部112は、直交変換部104から供給される直交変換サイズに基づいて、復号画像および入力画像の各マクロブロックを、直交変換のサイズ毎にグループ分け(クラス分類)し、各グループ(クラス)毎に、ループフィルタ113において行われるフィルタ処理の適切なフィルタ係数を生成する。フィルタ係数算出部112は、各グループ(直交変換サイズ)において、残差(復号画像と入力画像との差分)を最小にするようにフィルタ係数を算出する。
 フィルタ係数算出部112は、生成した各グループのフィルタ係数をループフィルタ113に供給する。また、フィルタ係数算出部112は、生成した各グループのフィルタ係数を可逆符号化部106にも供給する。上述したようにフィルタ係数は、可逆符号化部106により、符号化データに含められる(多重化される)。つまり、各グループのフィルタ係数は、符号化データとともに画像復号装置に送られる。
 ループフィルタ113には、デブロックフィルタ111からフレームメモリ114を介して供給される復号画像が供給される。また、フィルタ係数算出部112には、直交変換部104から、直交変換サイズ(各マクロブロックに対して4×4直交変換と、8×8直交変換とのいずれが適用されたかに関する情報)が供給される。
 ループフィルタ113は、直交変換部104から供給される直交変換サイズに基づいて、復号画像の各マクロブロックを、直交変換のサイズ毎にグループ分け(クラス分類)し、フィルタ係数算出部112から供給されたフィルタ係数を用いて、各グループ(クラス)毎に復号画像にフィルタ処理を行う。このフィルタとして、例えば、ウィナーフィルタ(Wiener Filter)が用いられる。もちろんウィナーフィルタ以外のフィルタを用いても良い。ループフィルタ113は、フィルタ処理結果をフレームメモリ114に供給し、参照画像として蓄積させる。
 フレームメモリ114は、所定のタイミングにおいて、蓄積されている参照画像を、選択部115を介してイントラ符号化部116または動き予測・補償部117に出力する。例えば、イントラ符号化が行われる画像の場合、フレームメモリ114は、参照画像を、選択部115を介してイントラ予測部116に供給する。また、例えば、インター符号化が行われる画像の場合、フレームメモリ114は、参照画像を、選択部115を介して動き予測・補償部117に供給する。
 画像符号化装置100においては、例えば、画面並べ替えバッファ102からのIピクチャ、Bピクチャ、およびPピクチャが、イントラ予測(イントラ処理とも称する)する画像として、イントラ予測部116に供給される。また、画面並べ替えバッファ102から読み出されたBピクチャおよびPピクチャが、インター予測(インター処理とも称する)する画像として、動き予測・補償部117に供給される。
 選択部115は、フレームメモリ114から供給される参照画像を、イントラ符号化を行う画像の場合、イントラ予測部116に供給し、インター符号化を行う画像の場合、動き予測・補償部117に供給する。
 イントラ予測部116は、画面並べ替えバッファ102から読み出されたイントラ予測する画像とフレームメモリ114から供給された参照画像に基づいて、候補となる全てのイントラ予測モードのイントラ予測処理を行い、予測画像を生成する。
 イントラ予測部116において、当該ブロック/マクロブロックに対して適用されたイントラ予測モード情報は、可逆符号化部106に伝送され、符号化データにおけるヘッダ情報の一部とされる。輝度信号に対しては、イントラ4×4予測モード、イントラ8×8予測モード及びイントラ16×16予測モードが定義されており、また、色差信号に関しては、それぞれのマクロブロックごとに、輝度信号とは独立した予測モードを定義することが可能である。イントラ4×4予測モードについては、それぞれの4×4輝度ブロックに対して1つのイントラ予測モードが定義されることになる。イントラ8×8予測モードについては、それぞれの8×8輝度ブロックに対して1つのイントラ予測モードが定義されることになる。イントラ16×16予測モード、並びに、色差信号に対しては、1つのマクロブロックに対してそれぞれ1つの予測モードが定義されることになる。
 イントラ予測部116は、予測画像を生成したイントラ予測モードに対してコスト関数値を算出し、算出したコスト関数値が最小値を与えるイントラ予測モードを、最適イントラ予測モードとして選択する。イントラ予測部116は、最適イントラ予測モードで生成された予測画像を、選択部118を介して演算部103に供給する。
 動き予測・補償部117は、インター符号化が行われる画像について、画面並べ替えバッファ102から供給される入力画像と、フレームメモリ114から供給される参照フレームとなる復号画像とを用いて、動きベクトルを算出する。動き予測・補償部117は、算出した動きベクトルに応じて動き補償処理を行い、予測画像(インター予測画像情報)を生成する。
 動き予測・補償部117は、候補となる全てのインター予測モードのインター予測処理を行い、予測画像を生成する。このインター予測モードは、イントラ予測モードの場合と同様である。
 動き予測・補償部117は、予測画像を生成したインター予測モードに対してコスト関数値を算出し、算出したコスト関数値が最小値を与えるインター予測モードを、最適インター予測モードとして選択する。動き予測・補償部117は、最適インター予測モードで生成された予測画像を、選択部118を介して演算部103に供給する。
 動き予測・補償部117は、算出した動きベクトルを示す動きベクトル情報を可逆符号化部106に供給する。この動きベクトル情報は、可逆符号化部106により、符号化データに含められる(多重化される)。つまり、動きベクトル情報は、符号化データとともに画像復号装置に送られる。
 選択部118は、イントラ符号化を行う画像の場合、イントラ予測部116の出力を演算部103に供給し、インター符号化を行う画像の場合、動き予測・補償部117の出力を演算部103に供給する。
 レート制御部119は、蓄積バッファ107に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部105の量子化動作のレートを制御する。
[直交変換の説明]
 次に、上述した各処理の詳細について説明する。最初に直交変換について説明する。
 MPEG2符号化方式においては、直交変換は、8×8画素を単位として処理が行なわれていた。これに対して、AVC符号化方式と同様に直交変換を行う画像符号化装置100は、Baseline Profile、Main Profile、Extended Profileにおいては、4×4画素を単位とした直交変換を行う。また、画像符号化装置100は、High Profile以上においては、マクロブロック単位で、図2のAに示される4×4画素単位の直交変換と、図2のBに示される8×8画素単位の直交変換を切り替えて用いることが可能である。
[4×4直交変換]
 まず、4×4直交変換方式について説明する。4×4画素単位の直交変換は、以下のような特徴を有する。
 第一の特徴は、MPEG2符号化方式においては、変換のための演算精度は、ある範囲内で、それぞれの符号化方式に対して、自由に設定することがあるため、逆変換におけるミスマッチ対策を行う必要があったが、本方式においては、変換、逆変換、ともに規格において規定されており、このようなミスマッチ対策を行うことが不要であるという点である。
 第二の特徴は、演算が、携帯端末等に用いられるような、低消費電力型のデジタルシグナルプロセッサ(DSP(Digital Signal Processor))においても実現が可能であるよう、16-bitレジスタによる実装が可能であるという点である。
 第三の特徴は、MPEG2等の、8×8画素単位の直交変換による符号化方式においては、高域係数の量子化誤差に起因してモスキート雑音が観測されていたが、本方式においては、このようなモスキート雑音が観測されにくいという点である。
 図3に、直交変換及び量子化処理の概要を示す。すなわち、1つのマクロブロックに含まれる、輝度信号16×16画素、色差信号8×8画素は、それぞれ、図3に示されるように4×4画素ブロックに分割され、それぞれに対して整数変換処理及び量子化処理が施される。更に、色差信号に関しては、図3に示されるように、直流成分のみを集めた2×2マトリクスが生成され、これに2次のアダマール変換及び量子化処理が施される。
 また、当該マクロブロックがイントラ16×16モードである場合には、図3に示す通り、直流成分のみを集めた4×4マトリクスが生成され、これに4次のアダマール変換及び量子化が施される。
 4次の直交変換処理については、以下の式(1)ように記述することが出来る。
Figure JPOXMLDOC01-appb-M000001
 ・・・(1)
 この式(1)は、以下の式(2)のように、変形することができる。
Figure JPOXMLDOC01-appb-M000002
 ・・・(2)
 この式(2)は、さらに、以下の式(3)のように、変形することができる。
Figure JPOXMLDOC01-appb-M000003
 ・・・(3)
 したがって、行列[Cf]は、以下の式(4)のように表すことができる。
Figure JPOXMLDOC01-appb-M000004
 ・・・(4)
 つまり、画像符号化装置100は、式(4)の右辺に示される行列を、整数変換行列として用いる。
 これにより、add(加減算)およびshift(ビットシフト)により整数変換を実現することができる。
 また、式(3)から、行列[Ef]は、以下の式(5)のように表すことができる。
Figure JPOXMLDOC01-appb-M000005
 ・・・(5)
 この式(5)の右辺の項については、画像符号化装置100が4×4の成分ごとに異なる量子化処理を行うことで実現する。換言すれば、画像符号化装置100は、整数変換と量子化処理の組み合わせにより、直交変換を実現している。
 また、逆整数変換については、以下の式(6)のように表すことができる。
Figure JPOXMLDOC01-appb-M000006
 ・・・(6)
 したがって、式(6)の右辺は、以下の式(7)および式(8)のように表すことができる。
Figure JPOXMLDOC01-appb-M000007
 ・・・(7)
Figure JPOXMLDOC01-appb-M000008
 ・・・(8)
 式(7)の右辺に示される行列は、逆量子化の結果得られる4×4行列であり、これに対して、式(8)の右辺に示される逆整数行列を施すことで復号画像に対する4×4行列が算出される。
 逆整数変換についても、add(加減算)およびshift(ビットシフト)のみで実現することができる。
 図4のA及び図4のBに、整数変換及び逆整数変換をバタフライ演算により実現するための手法を示す。
[8×8直交変換]
 次に、AVC High Profile以上で用いることが可能である、8×8直交変換について説明する。
 画像符号化装置100において、8×8直交変換は、4×4の場合と同様、加減算とシフト演算のみにおいて実現される整数変換として定義されている。
 画像符号化装置100は、最初に、8点の水平方向の直交変換の計算を行い、次に、8点の垂直方向の変換を行う。
 以下において、説明の簡略化のため、1次元で、8次の整数変換を説明する。
 入力信号を、{d0,d1,d2,d3,d4,d5,d6,d7}とすると、まず、次の式(9)乃至式(16)の計算が行われる。
 e0 = d0 + d7 ・・・(9)
 e1 = d1 + d6 ・・・(10)
 e2 = d2 + d5 ・・・(11)
 e3 = d3 + d6 ・・・(12)
 e4 = d0 - d7 ・・・(13)
 e5 = d1 - d6 ・・・(14)
 e6 = d2 - d5 ・・・(15)
 e7 = d3 - d4 ・・・(16)
 次に、{e0,e1,e2,e3,e4,e5,e6,e7}に対して以下の式(17)乃至式(24)の計算が行われる。
 e'0 = e0 + e3 ・・・(17)
 e'1 = e1 + e2 ・・・(18)
 e'2 = e0 - e3 ・・・(19)
 e'3 = e1 - e2 ・・・(20)
 e'4 = e5 + e6 + (e4>>1 + e4) ・・・(21)
 e'5 = e4 - e7 - (e6>>1 + e6) ・・・(22)
 e'6 = e4 + e7 - (e5>>1 + e5) ・・・(23)
 e'7 = e5 - e6 + (e7>>1+e7) ・・・(24)
 更に、{e'0,e'1,e'2,e'3,e'4,e'5,e'6,e'7}に対して、以下の式(25)乃至式(32)の計算が行われ、直交変換された係数{D0,D1,D2,D3,D4,D5,D6,D7}が得られる。
 D0 = e'0 + e'1 ・・・(25)
 D2 = e'2 + e'3>>1 ・・・(26)
 D4 = e'0 - e'1 ・・・(27)
 D6 = e'2>>1 - e'3 ・・・(28)
 D1 = e'4 + e'7>>2 ・・・(29)
 D3 = e'5 + e'6>>2 ・・・(30)
 D5 = e'6 - e'5>>2 ・・・(31)
 D7 = -e'7 + e'4>>2 ・・・(32)
 {D0,D1,D2,D3,D4,D5,D6,D7}から{d0,d1,d2,d3,d4,d5,d6,d7}への逆直交変換は以下のように行われる。
 すなわち、まず、{D0,D1,D2,D3,D4,D5,D6,D7}から{f0,f1,f2,f3,f4,f5,f6,f7}が、以下の式(34)乃至式(40)のように算出される。
 f0 = D0 + D4 ・・・(33)
 f1 = -D3 + D5 - (D7 + D7>>1) ・・・(34)
 f2 = D0 - D4 ・・・(35)
 f3 = D1 + D7 - (D3 + D3>>1) ・・・(36)
 f4 = D2>>1 - D6 ・・・(37)
 f5 = -D1 + D7 + (D5 + D5>>1) ・・・(38)
 f6 = D2 + D6>>1 ・・・(39)
 f7 = D3 + D5 + (D1 + D1>>1) ・・・(40)
 次に、{f0,f1,f2,f3,f4,f5,f6,f7}から、{f'0,f'1,f'2,f'3,f'4,f'5,f'6,f'7}が、以下の式(41)乃至式(48)のように算出される。
 f'0 = f0 + f6 ・・・(41)
 f'1 = f1 + f7>>2 ・・・(42)
 f'2 = f2 + f4 ・・・(43)
 f'3 = f3 + f5>>2 ・・・(44)
 f'4 = f2 - f4 ・・・(45)
 f'5 = f3>>2 - f5 ・・・(46)
 f'6 = f0 - f6 ・・・(47)
 f'7 = f7 - f1>>2 ・・・(48)
 最後に、{f'0,f'1,f'2,f'3,f'4,f'5,f'6,f'7}から、{d0,d1,d2,d3,d4,d5,d6,d7}が、以下の式(49)乃至式(56)のように算出される。
 d0 = f'0 + f'7 ・・・(49)
 d1 = f'2 + f'5 ・・・(50)
 d2 = f'4 + f'3 ・・・(51)
 d3 = f'6 + f'1 ・・・(52)
 d4 = f'6 - f'1 ・・・(53)
 d5 = f'4 - f'3 ・・・(54)
 d6 = f'2 - f'5 ・・・(55)
 d7 = f'0 - f'7 ・・・(56)
[デブロックフィルタ]
 次にデブロックフィルタについて説明する。デブロックフィルタ111は、復号画像におけるブロック歪を除去する。これにより、動き補償処理により参照される画像へのブロック歪の伝播が抑制される。
 デブロックフィルタの処理としては、符号化データに含まれる、Picture Parameter Set RBSP(Raw Byte Sequence Payload)に含まれるdeblocking_filter_control_present_flag、及び、スライスヘッダ(Slice Header)に含まれるdisable_deblocking_filter_idcという2つのパラメータによって、以下の(a)乃至(c)の3通りの方法が選択可能である。
 (a)ブロック境界、及びマクロブロック境界に施す
 (b)マクロブロック境界にのみ施す
 (c)施さない
 量子化パラメータQPについては、以下の処理を輝度信号に対して適用する場合は、QPYを、色差信号に対して適用する場合はQPCを用いる。また、動きベクトル符号化、イントラ予測、エントロピー符号化(CAVLC/CABAC)においては、異なるスライスに属する画素値は"not available"として処理するが、デブロックフィルタ処理においては、異なるスライスに属する画素値でも、同一のピクチャに属する場合は"available"であるとして処理を行う。
 以下においては、図5に示されるように、デブロックフィルタ処理前の画素値をp0~p3、q0~q3とし、処理後の画素値をp0'~p3'、q0'~q3'とする。
 まず、デブロックフィルタ処理に先立ち、図5におけるp及びqに対して、図6に示される表のように、Bs(Boundary Strength)が定義される。
 図5における(p2,p1,p0,q0,q1,q2)は、以下の式(57)および式(58)により示される条件が成立する場合のみ、デブロックフィルタ処理が施される。
 Bs > 0 ・・・(57)
 |p0-q0| < α; |p1-p0| < β; |q1-10| < β ・・・(58)
 式(58)のαおよびβは、デフォルトでは以下のようにQPに応じてその値が定められているが、符号化データの、スライスヘッダに含まれる、slice_alpha_c0_offset_div2及びslice_beta_offset_div2という2つのパラメータによって、図7に示されるグラフの矢印のように、ユーザがその強度を調整することが可能である。
 図8に示される表のように、αはindexAから求められる。同様に、βはindexBから求められる。このindexAおよびindexBは、以下の式(59)乃至式(61)のように定義される。
 qP=(qPp+qPq+1)>>1 ・・・(59)
 indexA=Clip3(0,51,qP+FilterOffsetA) ・・・(60)
 indexB=Clip3(0,51,qP+FilterOffsetB) ・・・(61)
 式(60)および式(61)において、FilterOffsetA及びFilterOffsetBが、ユーザによる調整分に相当する。
 デブロックフィルタ処理は、以下に説明するように、Bs<4の場合と、Bs=4の場合とで、互いに異なる方法が定義されている。Bs<4の場合、デブロックフィルタ処理後の画素値p'0及びq'0が、以下の式(62)乃至式(64)のように求められる。
 Δ=Clip3(-tc,tc((((q0-p0)<<2)+(p1-q1)+4)>>3)) 
・・・(62)
 p'0=Clip1(p0+Δ) ・・・(63)
 q'0=Clip1(q0+Δ) ・・・(64)
 ここで、tcは、以下の式(65)または式(66)ように算出される。すなわち、chromaEdgeFlagの値が「0」である場合、tcは以下の式(65)のように算出される。
 tc=tc0+((ap<β)?1:0)+((ap<β)?1:0) ・・・(65)
 また、chromaEdgeFlagの値が「0」以外である場合、tcは以下の式(66)のように算出される。
 tc=tc0+1 ・・・(66)
 tC0の値は、BsとindexAの値に応じて、図9のAおよび図9のBに示される表のように定義される。
 また、式(65)のap及びaqの値は、以下の式(67)および(68)のように算出される。
 ap=|p2-p0| ・・・(67)
 aq=|q2-q0| ・・・(68)
 デブロックフィルタ処理後の画素値p'1は以下のように求められる。すなわち、chromaEdgeFlagの値が「0」で、尚且つ、apの値がβ以下である場合、p'1は、以下の式(69)のように求められる。
 p'1=p1+Clip3(-tc0,tc0,(p2+((p0+q0+1)>>1)-(p1<<1))>>1)
  ・・・(69)
 また、式(69)が成り立たない場合、p'1は、以下の式(70)のように求められる。
 p'1=p1 ・・・(70)
 デブロックフィルタ処理後の画素値q'1は以下のように求められる。すなわち、chromaEdgeFlagの値が「0」で、尚且つ、aqの値がβ以下である場合、q'1は、以下の式(71)のように求められる。
 q'1=q1+Clip3(-tc0,tc0,(q2+((p0+q0+1)>>1)-(q1<<1))>>1)
  ・・・(71)
 また、式(71)が成り立たない場合、q'1は、以下の式(72)のように求められる。
 q'1=q1 ・・・(72)
 p'2及びq'2の値は、Filtering前の値p2及びq2と変わらない。すなわち、p'2は、以下の式(73)のように求められ、q'2は、以下の式(74)のように求められる。
 p'2=p2 ・・・(73)
 q'2=q2 ・・・(74)
 Bs=4の場合、デブロックフィルタ後の画素値p'I(i=0..2)は、以下のように求められる。chromaEdgeFlag の値が「0」であり、以下の式(75)に示される条件が成り立つ場合、p'0、p'1、及びp'2は、以下の式(76)乃至式(78)のように求められる。
 ap<β&&|p0-q0|<((α>>2)+2) ・・・(75)
 p'0=(p2+2×p1+2×p0+2×q0+q1+4)>>3 ・・・(76)
 p'1=(p2+p1+p0+q0+2)>>2 ・・・(77)
 p'2=(2×p3+3×p2+p1+p0+q0+4)>>3 ・・・(78)
 また、式(75)に示される条件が成り立たない場合、p'0、p'1、及びp'2は、以下の式(79)乃至(81)のように求められる。
 p'0=(2×p1+p0+q1+2)>>2 ・・・(79)
 p'1=p1 ・・・(80)
 p'2=p2 ・・・(81)
 デブロックフィルタ処理後の画素値q'i(I=0..2)は、以下のように求められる。すなわち、chromaEdgeFlagの値が「0」であり、以下の式(82)に示される条件が成り立つ場合、q'0、q'1、及びq'2は、以下の式(83)乃至(85)のように求められる。
 aq<β&&|p0-q0|<((α>>2)+2) ・・・(82)
 q'0=(p1+2×p0+2×q0+2×q1+q2+4)>>3・・・(83)
 q'1=(p0+q0+q1+q2+2)>>2 ・・・(84)
 q'2=(2×q3+3×q2+q1+q0+p4+4)>>3 ・・・(85)
 また、式(82)に示される条件が成り立たない場合、q'0、q'1、及びq'2は、以下の式(86)乃至(88)のように求められる。
 q'0=(2×q1+q0+p1+2)>>2 ・・・(86)
 q'1=q1 ・・・(87)
 q'2=q2 ・・・(88)
[ループフィルタ]
 ところで、4000×2000画素といった、更に高い解像度の画像の伝送や、既存のハイビジョン画像を、インターネットのような限られたバンド幅の回線において伝送する場合、AVCにより実現される圧縮率ではまだ不十分である。
 そこで、符号化効率改善の1手法として、画像符号化装置100においては、ループフィルタ113が用いられる。ループフィルタ113には、例えば、Wiener Filterが適用される。もちろん、ループフィルタ113としてWiener Filter以外を用いるようにしてもよい。ループフィルタ113は、デブロックフィルタ処理された復号画像に対して、フィルタ処理を行うことにより、原画像との残差を最小にする。フィルタ係数算出部112は、フィルタ処理によって復号画像と原画像との残差が最小となるように、ループフィルタ係数の算出を行う。ループフィルタ113は、このフィルタ係数を用いてフィルタ処理を行う。なお、このフィルタ係数は、符号化データに付加されて画像復号装置に伝送され、復号時のフィルタ処理にも使用される。
 画像符号化装置100は、このようなフィルタ処理を行うことにより、復号画像の画質を向上させ、更に、参照画像の画質も向上させることができる。
[予測モードの選択]
 ところで、マクロブロックサイズを16画素×16画素とするのは、次世代符号化方式の対象となるような、UHD(Ultra High Definition;4000画素×2000画素)といった大きな画枠に対しては、最適ではない。そこで、マクロブロックサイズを、例えば、32画素×32画素、64×64画素といった大きさにすることが提案されている。
 より高い符号化効率を達成するには、適切な予測モードの選択が重要である。例えば、High Complexity Modeと、Low Complexity Modeの2通りのモード判定方法を選択する方法が考えられる。この方法の場合、どちらも、それぞれの予測モードModeに関するコスト関数値を算出し、これを最小にする予測モードを当該ブロック乃至マクロブロックに対する最適モードとして選択する。
 High Complexity Modeにおけるコスト関数は、以下の式(89)のように求めることができる。
 Cost(Mode∈Ω)=D+λ×R ・・・(89)
 式(89)において、Ωは、当該ブロック乃至マクロブロックを符号化するための候補モードの全体集合である。また、Dは、当該予測モードModeで符号化した場合の、復号画像と入力画像の差分エネルギーである。さらに、λは、量子化パラメータの関数として与えられるLagrange未定乗数である。また、Rは、直交変換係数を含んだ、当該モードModeで符号化した場合の総符号量である。
 つまり、High Complexity Modeでの符号化を行なうには、上記パラメータD及びRを算出するため、全ての候補モードModeにより、一度、仮エンコード処理を行う必要があり、より高い演算量を要する。
 これに対してLow Complexity Modeにおけるコスト関数は、以下の式(90)のように求めることができる。
 Cost(Mode∈Ω)=D+QP2Quant(QP)×HeaderBit・・・(90)
となる。式(90)において、Dは、High Complexity Modeの場合と異なり、予測画像と入力画像の差分エネルギーとなる。また、QP2Quant(QP)は、量子化パラメータQPの関数として与えられる。さらに、HeaderBitは、直交変換係数を含まない、動きベクトルや、モードといった、Headerに属する情報に関する符号量である。
 すなわち、Low Complexity Modeにおいては、それぞれの候補モードModeに関して、予測処理を行う必要があるが、復号画像までは必要ないため、符号化処理まで行う必要はない。このため、High Complexity Modeより低い演算量での実現が可能である。
 High Profileにおいては、図2に示されたような、4×4直交変換と、8×8直交変換との選択も、上述のHigh Complexity Mode若しくはLow Complexity Modeのいずれかに基づき行なわれる。
 ところで、マクロブロックサイズを16画素×16画素とするのは、次世代符号化方式の対象となるような、UHDといった大きな画枠に対しては、最適ではない。マクロブロックサイズを、図10に示されるように、例えば、32画素×32画素といった大きさにすることが提案されている。
 図10のような、階層構造を採用することにより、16×16画素ブロック以下に関しては、現在のAVCにおけるマクロブロックと互換性を保ちながら、そのスーパーセットとして、より大きなブロックが定義されている。
[詳細な構成例]
 以上のように、画像符号化装置100は、画像符号化処理に、ループフィルタ処理を適用する。画像符号化装置100は、直交変換サイズ毎に、このループフィルタ処理の適切なフィルタ係数を求め、各マクロブロックを、その直交変換サイズに適したフィルタ係数でフィルタ処理する。
 以下に、このようなループフィルタに関する構成である、フィルタ係数算出部112およびループフィルタ113の構成の詳細について説明する。
 図11は、フィルタ係数算出部112およびループフィルタ113の主な構成例を示すブロック図である。
 図11に示されるように、フィルタ係数算出部112は、直交変換サイズバッファ151、復号画素分類部152、入力画素分類部153、4×4ブロック係数算出部154、および8×8ブロック係数算出部155を有する。
 また、ループフィルタ113は、画素分類部161、フィルタ部(4×4)162、およびフィルタ部(8×8)163を有する。
 まず、デブロックフィルタ111から、復号画像がフレームメモリ114に供給される。また、各マクロブロックに対する直交変換サイズ(4×4であるか、8×8であるか)に関する情報が、直交変換部104から、フィルタ係数算出部112の直交変換サイズバッファ151へ供給される。
 復号画像は、更に、フレームメモリ114からフィルタ係数算出部112の復号画素分類部152へ供給される。また、入力画像は、画面並べ替えバッファ102から、入力画素分類部153へ供給される。
 復号画素分類部152は、直交変換サイズバッファ151から、直交変換サイズに関する情報を読み出し、取得する。復号画素分類部152は、取得した直交変換サイズに基づいて、復号画像の各マクロブロックを、4×4直交変換が適用されたマクロブロック(4×4直交変換ブロック)と、8×8直交変換が適用されたマクロブロック(8×8直交変換ブロック)とにクラス分類(グループ分け)する。そして、復号画素分類部152は、復号画像のうち、4×4直交変換ブロックに関する情報を、4×4ブロック係数算出部154に供給し、8×8直交変換ブロックに関する情報を、8×8ブロック係数算出部155に供給する。
 同様に、入力画素分類部153は、直交変換サイズバッファ151から、直交変換サイズに関する情報を読み出し、取得する。入力画素分類部153は、取得した直交変換サイズに基づいて、入力画像の各マクロブロックを、4×4直交変換が適用されたマクロブロック(4×4直交変換ブロック)と、8×8直交変換が適用されたマクロブロック(8×8直交変換ブロック)とにクラス分類(グループ分け)する。そして、入力画素分類部153は、入力画像のうち、4×4直交変換ブロックに関する情報を、4×4ブロック係数算出部154に供給し、8×8直交変換ブロックに関する情報を、8×8ブロック係数算出部155に供給する。
 4×4ブロック係数算出部154は、供給された4×4直交変換ブロックの復号画像および入力画像を用いて、残差が最小となるようにフィルタ係数(例えば、Wiener Filter係数)を算出する。4×4ブロック係数算出部154は、算出したフィルタ係数を、可逆符号化部106に供給するとともに、ループフィルタ113のフィルタ部(4×4)162に供給する。
 同様に、8×8ブロック係数算出部155は、供給された8×8直交変換ブロックの復号画像および入力画像を用いて、残差が最小となるようにフィルタ係数(例えば、Wiener Filter係数)を算出する。8×8ブロック係数算出部155は、算出したフィルタ係数を、可逆符号化部106に供給するとともに、ループフィルタ113のフィルタ部(8×8)163に供給する。
 可逆符号化部106は、供給された各フィルタ係数を符号化データに付加する。
 ところで、ループフィルタ113の画素分類部161には、各マクロブロックに対する直交変換サイズ(4×4であるか、8×8であるか)に関する情報が、直交変換部104から供給される。そして、その画素分類部161には、デブロックフィルタ111から復号画像が供給される。
 画素分類部161は、直交変換部104から供給される直交変換サイズに関する情報に基づいて、復号画像の各マクロブロックを、4×4直交変換が適用されたマクロブロック(4×4直交変換ブロック)と、8×8直交変換が適用されたマクロブロック(8×8直交変換ブロック)とにクラス分類(グループ分け)する。そして、画素分類部161は、復号画像のうち、4×4直交変換ブロックに関する情報を、フィルタ部(4×4)162に供給し、8×8直交変換ブロックに関する情報を、フィルタ部(8×8)163に供給する。
 フィルタ部(4×4)162は、4×4ブロック係数算出部154から供給された4×4直交変換ブロックにとって適切なフィルタ係数を適用し、復号画像の4×4直交変換ブロックに対してフィルタ処理を行う。
 フィルタ部(8×8)163は、8×8ブロック係数算出部155から供給された8×8直交変換ブロックにとって適切なフィルタ係数を適用し、復号画像の8×8直交変換ブロックに対してフィルタ処理を行う。
 フィルタ部(4×4)162およびフィルタ部(8×8)163は、フィルタ処理を施した復号画像を、フレームメモリ114に格納し、所定のタイミングにおいて動き予測・補償部117へと出力させる。
 フィルタ係数算出部112およびループフィルタ113は、以上のように処理を行い、直交変換サイズ毎にフィルタ係数を生成し、フィルタ処理を行う。
 画像内における局所的な性質は、直交変換サイズに反映されると言える。例えば、フラットなエリア(周波数が疎な部分)については、8×8直交変換が選ばれやすく、細かなテクスチャを含むエリア(周波数が密な部分)については、4×4直交変換が選ばれやすい。
 更に、また、8×8直交変換と、4×4直交変換では、異なる画質劣化の傾向が観測される。例えば、8×8直交変換においては、モスキート雑音が観測されやすいが、4×4直交変換では、モスキート雑音は観測されにくい。
 したがって、フィルタ係数算出部112は、上述したように直交変換サイズ毎にフィルタ係数を生成することにより、画像内の局所的な性質をフィルタ係数に反映させる。例えば、フィルタ係数算出部112は、フィルタ係数の値を調整することにより、ループフィルタ113が、周波数が疎な部分に対してフィルタを弱めにかけ、周波数が密な部分に対してフィルタを強めにかけるように制御することができる。
 なお、フィルタ係数算出部112は、単にフィルタ係数の値を変更するだけでなく、フィルタのタップ数を増減させることもできる。例えば、フィルタ係数算出部112は、周波数が疎な部分に対してタップ数を少なくし、周波数が密な部分に対してタップ数を多くするようにしてもよい。もちろん、フィルタ係数算出部112が、フィルタ係数の値の調整とタップ数の増減の両方を行うようにしてもよい。
 このように画像内の局所的な性質が反映されたフィルタ係数を用いてフィルタ処理を行うので、ループフィルタ113は、画像の持つ局所的性質に適したノイズ除去を行うことができ、復号画像の画質をより向上させることができる。
 なお、画像符号化装置100は、以上のように、直交変換サイズという、既に、シンタクス要素として存在する値に基づいた切り替えを行うため、改めて、どちらのフィルタ係数を送るかに関するマップ情報を符号化データに付加する必要がないため、符号化データにおけるオーバーヘッドを増加させる(符号化効率を低減させる)ことなく、高画質処理を実現することが可能である。
[処理の流れ]
 次に、以上のように構成される各部を用いた処理の流れについて説明する。最初に、画像符号化装置100により行われる符号化処理の流れの例を、図12のフローチャートを参照して説明する。
 ステップS101において、A/D変換部101は入力された画像をA/D変換する。ステップS102において、画面並べ替えバッファ102は、A/D変換された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
 ステップS103において、イントラ予測部116や動き予測・補償部117等は、予測モードを決定し、予測画像を生成する予測処理を行う。この予測処理の詳細については、後述する。
 ステップS104において、演算部103は、ステップS102の処理により並び替えられた画像と、ステップS103の予測処理により生成された予測画像との差分を演算する。予測画像は、インター予測する場合は動き予測・補償部117から、イントラ予測する場合はイントラ予測部116から、それぞれ選択部118を介して演算部103に供給される。
 差分データは元の画像データに較べてデータ量が小さくなっている。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
 ステップS105において、直交変換部104は、ステップS104の処理により生成された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。ステップS106において、量子化部105は変換係数を量子化する。この量子化に際しては、後述するステップS115の処理で説明されるように、レートが制御される。
 ステップS107において、可逆符号化部106は量子化部105より出力された量子化された変換係数を符号化する。
 また、量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップS108において、逆量子化部108は量子化部105により量子化された変換係数を量子化部105の特性に対応する特性で逆量子化する。ステップS109において、逆直交変換部109は逆量子化部108により逆量子化された変換係数を直交変換部104の特性に対応する特性で逆直交変換する。
 ステップS110において、演算部110は、選択部118を介して供給される予測画像を局部的に復号された差分情報に加算し、局部的に復号された画像(演算部103への入力に対応する画像)を生成する。ステップS111においてデブロックフィルタ111は、演算部110より供給された復号画像に対しデブロックフィルタを行う。これによりブロック歪みが除去される。
 以上の処理が、1ピクチャ分行われると、フィルタ係数算出部112およびループフィルタ113は、ステップS112において、ループフィルタ処理を行う。ループフィルタ処理の詳細については後述する。
 ステップS113において、可逆符号化部106は、イントラ予測モード情報、インター予測モード情報、および各直交変換ブロック用のフィルタ係数等のメタデータをスライスヘッダに埋め込む(記述する)。このメタデータは、画像復号時に読み出され利用される。
 ステップS114において蓄積バッファ107は、符号化データを蓄積する。蓄積バッファ107に蓄積された符号化データは、適宜読み出され、伝送路を介して復号側に伝送される。
 ステップS115においてレート制御部119は、蓄積バッファ107に蓄積された符号化データに基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部105の量子化動作のレートを制御する。
 次に、図13のフローチャートを参照し、図12のステップS103において実行される予測処理の流れの例を説明する。
 予測処理が開始されると、ステップS131において、イントラ予測部116は、選択部115を介してフレームメモリ114から取得した参照画像、および、画面並べ替えバッファ102から供給される入力画像を用いて、イントラ4×4、イントラ8×8、およびイントラ16×16のそれぞれのモード(予め用意された各イントラモード)に対するコスト関数値を算出する。
 ステップS132において、イントラ予測部116は、ステップS131において算出された各モードのコスト関数値に基づいて、イントラ4×4、イントラ8×8、およびイントラ16×16のそれぞれに対するベストモードを決定する。
 ステップS133において、イントラ予測部116は、イントラ4×4、イントラ8×8、およびイントラ16×16の中から、ベストイントラモードを選択する。
 このステップS131乃至ステップS133の各処理と並行して、動き予測・補償部117は、ステップS134乃至ステップS137の各処理を実行する。
 ステップS134において、動き予測・補償部117は、動き探索を行う。ステップS135において、動き予測・補償部117は、インター16×16乃至4×4のそれぞれのモードに対して、動きベクトル・参照フレームを決定する。
 ステップS136において、動き予測・補償部117は、インター16×16乃至4×4のそれぞれのモードに対して、コスト関数値を算出する。
 ステップS137において、動き予測・補償部117は、そのコスト関数値に基づいて、ベストインターモードを決定する。
 ステップS138において、選択部118は、ステップS133において選択されたベストイントラモードと、ステップS137において決定されたベストインターモードとのいずれか一方をベストモードに決定する。
 ステップS139において、ベストモードに決定されたモードに対応するイントラ予測部116または動き予測・補償部117は、予測画像を生成する。この予測画像は、選択部118を介して、演算部103および演算部110に供給される。また、このときのベストモードの予測モード情報(イントラ予測モード情報またはインター予測モード情報)が可逆符号化部106に供給される。
 予測画像が生成されると予測処理が終了され、図12のステップS103に戻り、ステップS104以降の処理が実行される。
 次に、図14のフローチャートを参照して、図12のステップS112において実行されるループフィルタ処理の流れの例を説明する。
 ループフィルタ処理が開始されると、ステップS151において、復号画素分類部152、入力画素分類部153、および画素分類部161は、それぞれ、供給された復号画像または入力画像の各マクロブロックを、図12のステップS105において実行される直交変換処理において適用された直交変換サイズ毎にグループに分ける(クラス分類を行う)。
 ステップS152において、4×4ブロック係数算出部154および8×8ブロック係数算出部155は、各グループに対してフィルタ係数を算出する。
 ステップS153において、フィルタ部(4×4)162およびフィルタ部(8×8)163は、各グループに対して、ステップS152において算出された各フィルタ係数を用いてフィルタ処理を行う。
 ステップS154において、フレームメモリ114は、ステップS153において行われたフィルタ処理の結果(フィルタ処理された復号画像)を記憶する。この画像は、所定のタイミングにおいて、参照画像として動き予測・補償部117に供給される。
 ステップS154の処理が終了すると、ループフィルタ処理が終了され、図12のステップS112に戻り、ステップS113以降の処理が実行される。
 以上のように各処理を行うことにより、フィルタ係数算出部112は、直交変換サイズ毎に、適切なフィルタ係数を生成することができる。また、ループフィルタ113は、各マクロブロックを、その直交変換サイズに応じたフィルタ係数を用いてフィルタ処理を行うことができる。
 結果として、画像符号化装置100は、画像内の局所的性質に適したノイズ除去を行うことができ、より高画質な参照画像を得ることができる。
 さらに、可逆符号化部106がこのフィルタ係数を符号化データに付加するので、画像復号装置がその符号化データを復号して得られた復号画像に対して、そのフィルタ係数を用いて適切にフィルタ処理することができる。つまり、画像符号化装置100は、画像符号化装置100が生成した符号化データを復号して得られる復号画像を高画質化することができる。
 なお、以上において「付加する」とは、任意の形態で制御情報を符号化データに関連付けることを示す。例えば、符号化データのシンタックスとして記述するようにしてもよいし、ユーザデータとして記述するようにしてもよい。また、フィルタ係数等の情報をメタデータとして符号化データとリンクされた状態にするようにしてもよい。つまり、「付加」は、「埋め込み」、「記述」、「多重化」、および「連結」等を含む。以下においても同様である。
 また、以上においては、直交変換サイズとして4×4と8×8を説明したが、直交変換サイズは任意である。また、適用される直交変換サイズの個数も任意である。
 適用される直交変換サイズが3つ以上の場合のグループ分け(クラス分類)は、例えば、全直交変換サイズのうちいずれか2つに対して行われるようにし、その他の直交変換サイズは無視される(選択しない)ようにしてもよい。その場合、無視されるグループは、フィルタ処理が行われない。この場合、例えばフラグ情報等により、フィルタ処理を行うか否かを制御するようにしてもよい。
 また、例えば、各直交変換サイズが2つのグループに分けられるようにしてもよい。つまり、この場合、1つのグループに複数の直交変換サイズが混在する可能性がある。さらに、例えば、各直交変換サイズが互いに異なるグループに分けられるようにしてもよい。この場合、グループの数は3つ以上となる。この場合、係数算出部やフィルタ部(図11)はグループの数だけ用意される。
 また、フィルタの処理単位は、フレームでもよいし、スライスでもよいし、これら以外であってもよい。また、クラス分類を行う単位(処理単位となる部分画像の画像サイズ)は、マクロブロック以外であってもよい。
<2.第2の実施の形態>
[デバイスの構成]
 次に、第1の実施の形態において説明した画像符号化装置100に対応する画像復号装置について説明する。図15は、本発明を適用した画像処理装置としての画像復号装置の一実施の形態の構成例を示すブロック図である。
 画像復号装置200は、画像符号化装置100より出力される符号化データを復号し、復号画像を生成する。
 画像復号装置200は、蓄積バッファ201、可逆復号部202、逆量子化部203、逆直交変換部204、演算部205、およびデブロックフィルタ206を有する。また、画像復号装置200は、ループフィルタ207を有する。さらに、画像復号装置200は、画面並べ替えバッファ208、およびD/A(Digital / Analog l)変換部209を有する。また、画像復号装置200は、フレームメモリ210、選択部211、イントラ予測部212、動き予測・補償部213、および選択部214を有する。
 蓄積バッファ201は、伝送されてきた符号化データを蓄積する。可逆復号部202は、蓄積バッファ201より供給された、図1の可逆符号化部106により符号化された情報を、可逆符号化部106の符号化方式に対応する方式で復号する。
 当該マクロブロックがイントラ符号化されたものである場合、可逆復号部202は、符号化データのヘッダ部に格納されたイントラ予測モード情報を抽出し、イントラ予測部212へ供給する。また、当該マクロブロックがインター符号化されたものである場合、可逆復号部202は、符号化データのヘッダ部に格納された動きベクトル情報やインター予測モード情報等を抽出し、動き予測・補償部213へ供給する。
 また、可逆復号部202は、符号化データから、各直交変換サイズ用のフィルタ係数を抽出し、それらをループフィルタ207に供給する。
 逆量子化部203は可逆復号部202により復号された画像を、図1の量子化部105の量子化方式に対応する方式で逆量子化する。
 逆直交変換部204は、図1の直交変換部104の直交変換方式に対応する方式で逆量子化部203の出力を逆直交変換する。逆直交変換部204は、逆直交変換された差分情報を演算部205に供給する。また、逆直交変換部204は、その逆直交変換処理において、各マクロブロックに対して適用した直交変換サイズをループフィルタ207に供給する。
 演算部205は、逆直交変換された差分情報に、選択部214から供給される予測画像を加算し、復号画像を生成する。デブロックフィルタ206は、その加算処理されて生成された復号画像のブロック歪を除去する。
 ループフィルタ207は、逆直交変換部204から供給される情報に基づいて、デブロックフィルタ206から供給された復号画像の各マクロブロックを、逆直交変換部204による逆直交変換処理において適用された逆直交変換サイズ毎にグループ分け(クラス分類)し、各グループ(クラス)に対して、可逆復号部202より供給されたフィルタ係数を用いてフィルタ処理を行う。
 このフィルタ係数は、画像符号化装置100のフィルタ係数算出部112において生成された係数であり、第1の実施の形態において説明したように、直交変換サイズ毎に、残差が最小となるように算出されたものである。すなわち、この各直交変換サイズ用のフィルタ係数は、それぞれ、対応する直交変換サイズに対して適切な値に設定されている。
 これにより、ループフィルタ207は、デブロックフィルタ206では取りきれなかったブロック歪や量子化による歪を低減することができる。このとき、ループフィルタ207は、画像内の局所的性質に適したノイズ除去を行うので、より高画質な復号画像を出力することができる。
 ループフィルタ207は、フィルタ処理後の画像をフレームメモリ210に供給し、参照画像として蓄積させるとともに、画面並べ替えバッファ208に出力する。
 画面並べ替えバッファ208は、画像の並べ替えを行う。すなわち、図1の画面並べ替えバッファ102により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部209は、画面並べ替えバッファ208から供給された画像をD/A変換し、出力する。例えば、D/A変換部209は、D/A変換して得られた出力信号を図示せぬディスプレイに出力し、画像を表示させる。
 イントラ予測部212は、当該フレームがイントラ符号化されたものである場合、選択部211を介してフレームメモリ210から参照画像を取得し、可逆復号部202から供給される情報に基づいて、予測画像を生成し、生成した予測画像を、選択部214を介して演算部205に供給する。
 動き予測・補償部213は、当該フレームがインター符号化されたものである場合、選択部211を介してフレームメモリ210から参照画像を取得し、可逆復号部202から供給される動きベクトル情報に基づき、参照画像に対して動き補償処理を行い、予測画像を生成する。動き予測・補償部213は、生成した予測画像を、選択部214を介して演算部205に供給する。
 選択部214は、当該マクロブロックがイントラ符号化されたものである場合、イントラ予測部212に接続し、イントラ予測部212から供給される画像を予測画像として演算部205に供給する。また、当該マクロブロックがインター符号化されたものである場合、選択部214は、動き予測・補償部213に接続し、動き予測・補償部213から供給される画像を予測画像として演算部205に供給する。
 図16は、図15のループフィルタ207の詳細な構成例を示すブロック図である。
 ループフィルタ207は、基本的に、画像符号化装置100のループフィルタ113と同様の構成を有し、同様の処理を実行する。図16に示されるように、ループフィルタ207は、画素分類部251、フィルタ部(4×4)252、およびフィルタ部(8×8)253を有する。
 画素分類部251は、逆直交変換部204から供給される直交変換サイズに関する情報に基づいて、デブロックフィルタ206から供給される復号画像の各マクロブロックを、4×4直交変換が適用されたマクロブロック(4×4直交変換ブロック)と、8×8直交変換が適用されたマクロブロック(8×8直交変換ブロック)とにクラス分類(グループ分け)する。そして、画素分類部251は、復号画像のうち、4×4直交変換ブロックに関する情報を、フィルタ部(4×4)252に供給し、8×8直交変換ブロックに関する情報を、フィルタ部(8×8)253に供給する。
 フィルタ部(4×4)252は、可逆復号部202から供給された4×4直交変換ブロックにとって適切なフィルタ係数を適用し、復号画像の4×4直交変換ブロックに対してフィルタ処理を行う。
 フィルタ部(8×8)253は、可逆復号部202から供給された8×8直交変換ブロックにとって適切なフィルタ係数を適用し、復号画像の8×8直交変換ブロックに対してフィルタ処理を行う。
 フィルタ部(4×4)252およびフィルタ部(8×8)253は、フィルタ処理を施した復号画像を、画面並べ替えバッファ208やフレームメモリ210に供給する。
 このように、ループフィルタ207は、復号画像の各マクロブロックを、その直交変換サイズ毎に分類し、その直交変換サイズ用のフィルタ係数を用いてフィルタ処理を行う。このフィルタ係数は、可逆復号部202により符号化データから抽出されたものであり、第1の実施の形態において説明したように、各直交変換サイズブロックの画像に適するように生成されたものである。したがって、ループフィルタ207は、第1の実施の形態において説明したループフィルタ113の場合と同様に、画像の持つ局所的性質に適したノイズ除去を行うことができ、結果として、より高画質な復号画像を得ることができる。
[処理の流れ]
 図17のフローチャートを参照して、この画像復号装置200が実行する復号処理の流れの例を説明する。
 ステップS201において、蓄積バッファ201は伝送されてきた画像(符号化データ)を蓄積する。ステップS202において、可逆復号部202は、符号化データからフィルタ係数を抽出する。また、可逆復号部202は、動きベクトル情報、参照フレーム情報、予測モード情報(イントラ予測モード情報やインター予測モード情報)などの抽出も行う。
 ステップS203において、可逆復号部202は、符号化データを可逆復号する。ステップS204において、逆量子化部203は、ステップS203において符号化データが復号されて得られた変換係数を、図1の量子化部105の特性に対応する特性で逆量子化する。ステップS205において、逆直交変換部204は、ステップS204の処理により逆量子化された変換係数を、図1の直交変換部104の特性に対応する特性で逆直交変換する。これにより図1の直交変換部104の入力(演算部103の出力)に対応する差分情報が復号されたことになる。
 ステップS206において、イントラ予測部212および動き予測・補償部213等は、予測画像生成処理を行い、予測モードに応じて予測画像を生成する。この予測画像生成処理の詳細については、後述する。ステップS207において、演算部205は、ステップS206において生成された予測画像を、ステップS205までの処理により復号された差分情報に加算する。これにより元の画像が復号される。
 ステップS208において、デブロックフィルタ206は、演算部205より出力された画像をフィルタリングする。これによりブロック歪みが除去される。
 ステップS209において、ループフィルタ207等は、ループフィルタ処理を行い、デブロックフィルタ処理された画像に、さらに適応フィルタ処理を施す。このループフィルタ処理の詳細については後述するが、基本的に、図1のループフィルタ113が行う処理と同様である。
 この適応フィルタ処理により、デブロッキングフィルタ処理により取りきれなかったブロック歪みや量子化による歪みを低減することができる。
 ステップS210において、画面並べ替えバッファ208は、並べ替えを行う。すなわち、図1の画像符号化装置100の画面並べ替えバッファ102により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
 ステップS211において、D/A変換部209は、ステップS210において並べ替えられた画像をD/A変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。ステップS211の処理が終了すると、復号処理が終了される。
 次に、図18のフローチャートを参照して、図17のステップS206において実行される予測画像生成処理の流れの例を説明する。
 予測画像生成処理が開始されると、ステップS231において、可逆復号部202は、ステップS202において抽出した予測モード等の情報に基づいて、当該ブロックがイントラ符号化されたか否かを判定する。イントラ符号化されたブロックであれば、可逆復号部202は、符号化データより抽出したイントラ予測モード情報をイントラ予測部212に供給し、ステップS232に進む。
 ステップS232において、イントラ予測部212は、可逆復号部202より供給されるイントラ予測モード情報を取得する。イントラ予測モード情報を取得すると、イントラ予測部212は、ステップS233において、そのイントラ予測モード情報に基づいて、選択部211を介してフレームメモリ210から参照画像を取得し、イントラ予測画像を生成する。イントラ予測画像を生成すると、イントラ予測部212は、そのイントラ予測画像を、予測画像として、選択部214を介して演算部205に供給する。
 また、ステップS231において、当該ブロックがインター符号化されていると判定された場合、可逆復号部202は、符号化データより抽出した動き予測モード、参照フレーム、および動きベクトル情報等を動き予測・補償部213に供給し、ステップS234に進む。
 ステップS234において、動き予測・補償部213は、可逆復号部202より供給される動き予測モード、参照フレーム、および動きベクトル情報等を取得する。それらの情報を取得すると、動き予測・補償部213は、ステップS235において、動きベクトル情報に応じた内挿フィルタを選択し、ステップS236において、選択部211を介してフレームメモリ210から参照画像を取得し、インター予測画像を生成する。インター予測画像を生成すると、動き予測・補償部213は、そのインター予測画像を、予測画像として、選択部214を介して演算部205に供給する。
 ステップS233またはステップS236の処理が終了すると、予測画像生成処理が終了され、図17のステップS206に戻り、ステップS207以降の処理が実行される。
 次に、図19のフローチャートを参照して、図17のステップS209において実行されるループフィルタ処理の流れの例を説明する。
 ループフィルタ処理が開始されると、ステップS251において、ループフィルタ207のフィルタ部(4×4)252およびフィルタ部(8×8)253は、各グループのフィルタ係数を、可逆復号部202から取得する。
 ステップS252において、画素分類部251は、逆直交変換部204から、当該マクロブロックの直交変換サイズを取得する。画素分類部251は、取得した直交変換サイズに基づいて、当該マクロブロックをクラス分類する。
 ステップS253において、当該マクロブロックの直交変換サイズに対応するフィルタ部(フィルタ部(4×4)252またはフィルタ部(8×8)253のいずれか)は、ステップS251において取得したフィルタ係数を用いて、当該マクロブロックに対して、直交変換サイズに応じたフィルタ処理を行う。
 ステップS254において、フレームメモリ210は、ステップS253のフィルタ処理結果を記憶する。
 ステップS254の処理が終了すると、ループフィルタ処理が終了され、図17のステップS209に戻り、ステップS210以降の処理が行われる。
 以上のように各処理を行うことにより、ループフィルタ207が、フィルタ処理を行い、デブロックフィルタにより取りきれなかったブロック歪みや量子化による歪みを低減することができる。
 また、このとき、ループフィルタ207は、符号化データより抽出されたフィルタ係数を用いてフィルタ処理を行う。このフィルタ係数は、マクロブロックの直交変換サイズ毎に残差が最小となるように生成されたものである。ループフィルタ207は、処理対象である当該マクロブロックを、その直交変換サイズ用のフィルタ係数を用いてフィルタ処理を行う。このようにすることにより、ループフィルタ207は、画像内の局所的性質に適したノイズ除去を行うことができる。結果として、画像復号装置200は、より高画質な復号画像を得ることができる。
 なお、第1の実施の形態の場合と同様に、直交変換サイズは任意である。また、適用される直交変換サイズの個数も任意である。
 マクロブロックのグループ分け(クラス分類)の方法は、符号化データを生成した画像符号化装置100の方法に対応していればどのような方法であってもよい。また、フィルタの処理単位は、フレームでもよいし、スライスでもよいし、これら以外であってもよい。
<3.第3の実施の形態>
[ALFブロック制御の説明]
 なお、以上のようなフィルタ係数の制御に加え、さらに、ループフィルタによって局所的に画質が悪化する領域にはループフィルタ処理を行わないようにするBALF(Block based Adaptive Loop Filter)を適用するようにしてもよい。以下にBALFについて説明する。
 図20のAのフレーム301は、デブロックフィルタ処理後の復号画像を示す。図20のBに示されるように、それぞれが、局所的に行われる適応フィルタ処理の制御単位となる制御ブロックである、複数のALF(Adaptive Loop Filter)ブロック302が、このフレーム301の領域全体に敷き詰めるように隙間無く配置される。このALFブロック302が配置される領域は、フレーム301の領域と同一でなくても良いが、少なくともフレーム301の領域全体を含む。結果として、フレーム301の領域は、各ALFブロック302の領域(複数の領域)に分割される。
 ALFブロック302の水平方向のサイズ(両矢印303)と、垂直方向のサイズ(両矢印304)は、例えば、8×8、16×16、24×24、32×32、48×48、64×64、96×96、あるいは128×128等とすることができる。なお、そのALFブロックのサイズを指定する情報をブロックサイズインデックスと称する。
 ブロックサイズが決まれば、フレームサイズは固定であるので、1フレーム当たりのALFブロック数も決定される。
 そして、図20のCに示されるように、ALFブロック302毎に、フィルタ処理を行うか否かを制御するフィルタブロックフラグ305が設定される。例えば、適応フィルタにより画質が改善される領域については、値が「1」のフィルタブロックフラグ305が設定され、適応フィルタにより画質が悪化する領域については、値が「0」のフィルタブロックフラグ305が設定される。フィルタブロックフラグ305において、値「1」は、フィルタ処理を行うことを示す値であり、値「0」は、フィルタ処理を行わないことを示す値である。
 そして、このフィルタブロックフラグ305の値に基づいて、ALFブロック302の領域毎に、ループフィルタ処理を行うか否かが制御される。例えば、ループフィルタ113は、フィルタブロックフラグ305の値が「1」のALFブロック302の領域にのみフィルタ処理を行い、フィルタブロックフラグ305の値が「0」のALFブロック302の領域にはフィルタ処理を行わない。
 例えば、フィルタ係数算出部112において、このようなALFブロック302やフィルタブロックフラグ305を設定し、ループフィルタ113が、その情報に基づいて、上述したようにフィルタ処理を行うようにする。
 このようにすることにより、ループフィルタ113は、フィルタ処理により局所的に画質が悪化する領域に対してフィルタ処理を行わないようにすることができ、参照画像の画質をより向上させることができる。
 なお、このALFブロック302やフィルタブロックフラグ305に関する情報は、符号化データに付加され、画像復号装置200に供給される。これにより、画像復号装置200のループフィルタ207もループフィルタ113と同様にフィルタ処理を行うことができ、フィルタ処理により局所的に画質が悪化する領域に対してフィルタ処理を行わないようにすることができる。結果として、復号画像の画質をさらに向上させることができる。
<4.第4の実施の形態>
[QALFの説明]
 また、第3の実施の形態において説明した、ALF制御ブロックをクアッドツリー構造としてもよい。この技術はQALF(Quad tree-based Adaptive Loop Filter)と称する。クアッドツリー構造とは、下位階層において1つ上位の階層の1つのALFブロックの領域が4分割される階層構造である。
 図21にALFブロック分割を最大レイヤ数が3のクアッドツリー構造によって表現し、各ALFブロックにフィルタブロックフラグを指定する例を示す。
 図21のAは、クアッドツリー構造の根になるALFブロックであるレイヤ0を示す。クアッドツリー構造において各ALFブロックは、下位の階層において4分割されるか否かを示すブロックパーティショニングフラグを有している。図21のAに示されるALFブロックのブロックパーティショニングフラグの値は「1」である。つまり、このALFブロックは、下位の階層(レイヤ1)において4分割される。図21のBは、そのレイヤ1を示す。すなわち、レイヤ1には、4つのALFブロックが形成される。
 ブロックパーティショニングフラグが「0」の場合、これより下位の階層において4分割されない。すなわち、これ以上の分割は無く、そのALFブロックに対してフィルタブロックフラグが生成される。つまり、ブロックパーティショニングフラグが「0」のALFブロックは、フィルタブロックフラグも有する。図21のBに示される「0-1」の左の「0」が、そのALFブロックのブロックパーティショニングフラグを示し、右の「1」が、そのALFブロックのフィルタブロックフラグを示す。
 レイヤ1のブロックパーティショニングフラグが「1」の2つのALFブロックは、さらに下位の階層(レイヤ2)において4分割される。図21のCは、そのレイヤ2を示す。すなわち、レイヤ2には、10個のALFブロックが形成される。
 同様に、レイヤ2においてブロックパーティショニングフラグが「0」のALFブロックには、フィルタブロックフラグも割り当てられる。図21のCにおいては、1つのALFブロックのブロックパーティショニングフラグが「1」である。つまり、そのALFブロックは、さらに下位の階層(レイヤ3)において4分割される。図21Dは、そのレイヤ3を示す。すなわち、レイヤ3には、13個のALFブロックが形成される。
 このように、クアッドツリー構造においては、ALFブロックのサイズは、その階層毎に異なる。つまり、ALFブロックは、クアッドツリー構造をとることにより、フレーム内においてその大きさを互いに異なるものとすることができる。
 各ALFブロックにおけるフィルタブロックフラグの制御は、第3の実施の形態の場合と同様である。つまり、フィルタブロックフラグの値が「0」のALFブロックの領域は、フィルタ処理が行われない。
 したがって、このようにすることにより、ループフィルタ113は、第3の実施の形態の場合と同様に、フィルタ処理により局所的に画質が悪化する領域に対してフィルタ処理を行わないようにすることができ、参照画像の画質をより向上させることができる。
 なお、第3の実施の形態の場合と同様に、この制御ブロックやフィルタブロックフラグに関する情報は、符号化データに付加され、画像復号装置200に供給される。これにより、画像復号装置200のループフィルタ207もループフィルタ113と同様にフィルタ処理を行うことができ、フィルタ処理により局所的に画質が悪化する領域に対してフィルタ処理を行わないようにすることができる。結果として、復号画像の画質をさらに向上させることができる。
<5.第5の実施の形態>
[パーソナルコンピュータ]
 上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、図22に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
 図22において、パーソナルコンピュータ500のCPU501は、ROM(Read Only Memory)502に記憶されているプログラム、または記憶部513からRAM(Random Access Memory)503にロードされたプログラムに従って各種の処理を実行する。RAM503にはまた、CPU501が各種の処理を実行する上において必要なデータなども適宜記憶される。
 CPU501、ROM502、およびRAM503は、バス504を介して相互に接続されている。このバス504にはまた、入出力インタフェース510も接続されている。
 入出力インタフェース510には、キーボード、マウスなどよりなる入力部511、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部512、ハードディスクなどより構成される記憶部513、モデムなどより構成される通信部514が接続されている。通信部514は、インターネットを含むネットワークを介しての通信処理を行う。
 入出力インタフェース510にはまた、必要に応じてドライブ515が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア521が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部513にインストールされる。
 上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
 この記録媒体は、例えば、図22に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc - Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア521により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM502や、記憶部513に含まれるハードディスクなどで構成される。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
 また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。
 また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。つまり、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、上述した画像符号化装置100や画像復号装置200は、任意の電子機器に適用することができる。以下にその例について説明する。
<6.第6の実施の形態>
[テレビジョン受像機]
 図23は、本発明を適用した画像復号装置200を用いるテレビジョン受像機の主な構成例を示すブロック図である。
 図23に示されるテレビジョン受像機1000は、地上波チューナ1013、ビデオデコーダ1015、映像信号処理回路1018、グラフィック生成回路1019、パネル駆動回路1020、および表示パネル1021を有する。
 地上波チューナ1013は、地上アナログ放送の放送波信号を、アンテナを介して受信し、復調し、映像信号を取得し、それをビデオデコーダ1015に供給する。ビデオデコーダ1015は、地上波チューナ1013から供給された映像信号に対してデコード処理を施し、得られたデジタルのコンポーネント信号を映像信号処理回路1018に供給する。
 映像信号処理回路1018は、ビデオデコーダ1015から供給された映像データに対してノイズ除去などの所定の処理を施し、得られた映像データをグラフィック生成回路1019に供給する。
 グラフィック生成回路1019は、表示パネル1021に表示させる番組の映像データや、ネットワークを介して供給されるアプリケーションに基づく処理による画像データなどを生成し、生成した映像データや画像データをパネル駆動回路1020に供給する。また、グラフィック生成回路1019は、項目の選択などにユーザにより利用される画面を表示するための映像データ(グラフィック)を生成し、それを番組の映像データに重畳したりすることによって得られた映像データをパネル駆動回路1020に供給するといった処理も適宜行う。
 パネル駆動回路1020は、グラフィック生成回路1019から供給されたデータに基づいて表示パネル1021を駆動し、番組の映像や上述した各種の画面を表示パネル1021に表示させる。
 表示パネル1021はLCD(Liquid Crystal Display)などよりなり、パネル駆動回路1020による制御に従って番組の映像などを表示させる。
 また、テレビジョン受像機1000は、音声A/D(Analog/Digital)変換回路1014、音声信号処理回路1022、エコーキャンセル/音声合成回路1023、音声増幅回路1024、およびスピーカ1025も有する。
 地上波チューナ1013は、受信した放送波信号を復調することにより、映像信号だけでなく音声信号も取得する。地上波チューナ1013は、取得した音声信号を音声A/D変換回路1014に供給する。
 音声A/D変換回路1014は、地上波チューナ1013から供給された音声信号に対してA/D変換処理を施し、得られたデジタルの音声信号を音声信号処理回路1022に供給する。
 音声信号処理回路1022は、音声A/D変換回路1014から供給された音声データに対してノイズ除去などの所定の処理を施し、得られた音声データをエコーキャンセル/音声合成回路1023に供給する。
 エコーキャンセル/音声合成回路1023は、音声信号処理回路1022から供給された音声データを音声増幅回路1024に供給する。
 音声増幅回路1024は、エコーキャンセル/音声合成回路1023から供給された音声データに対してD/A変換処理、増幅処理を施し、所定の音量に調整した後、音声をスピーカ1025から出力させる。
 さらに、テレビジョン受像機1000は、デジタルチューナ1016およびMPEGデコーダ1017も有する。
 デジタルチューナ1016は、デジタル放送(地上デジタル放送、BS(Broadcasting Satellite)/CS(Communications Satellite)デジタル放送)の放送波信号を、アンテナを介して受信し、復調し、MPEG-TS(Moving Picture Experts Group-Transport Stream)を取得し、それをMPEGデコーダ1017に供給する。
 MPEGデコーダ1017は、デジタルチューナ1016から供給されたMPEG-TSに施されているスクランブルを解除し、再生対象(視聴対象)になっている番組のデータを含むストリームを抽出する。MPEGデコーダ1017は、抽出したストリームを構成する音声パケットをデコードし、得られた音声データを音声信号処理回路1022に供給するとともに、ストリームを構成する映像パケットをデコードし、得られた映像データを映像信号処理回路1018に供給する。また、MPEGデコーダ1017は、MPEG-TSから抽出したEPG(Electronic Program Guide)データを図示せぬ経路を介してCPU1032に供給する。
 テレビジョン受像機1000は、このように映像パケットをデコードするMPEGデコーダ1017として、上述した画像復号装置200を用いる。なお、放送局等より送信されるMPEG-TSは、画像符号化装置100によって符号化されている。
 MPEGデコーダ1017は、画像復号装置200の場合と同様に、画像符号化装置100より供給される符号化データから抽出したフィルタ係数を用いて、復号画像の各マクロブロックに対して、その直交変換サイズに応じたフィルタ処理を行う。したがって、MPEGデコーダ1017は、画像内の局所的性質に適したノイズ除去を行うことができる。
 MPEGデコーダ1017から供給された映像データは、ビデオデコーダ1015から供給された映像データの場合と同様に、映像信号処理回路1018において所定の処理が施され、グラフィック生成回路1019において、生成された映像データ等が適宜重畳され、パネル駆動回路1020を介して表示パネル1021に供給され、その画像が表示される。
 MPEGデコーダ1017から供給された音声データは、音声A/D変換回路1014から供給された音声データの場合と同様に、音声信号処理回路1022において所定の処理が施され、エコーキャンセル/音声合成回路1023を介して音声増幅回路1024に供給され、D/A変換処理や増幅処理が施される。その結果、所定の音量に調整された音声がスピーカ1025から出力される。
 また、テレビジョン受像機1000は、マイクロホン1026、およびA/D変換回路1027も有する。
 A/D変換回路1027は、音声会話用のものとしてテレビジョン受像機1000に設けられるマイクロホン1026により取り込まれたユーザの音声の信号を受信し、受信した音声信号に対してA/D変換処理を施し、得られたデジタルの音声データをエコーキャンセル/音声合成回路1023に供給する。
 エコーキャンセル/音声合成回路1023は、テレビジョン受像機1000のユーザ(ユーザA)の音声のデータがA/D変換回路1027から供給されている場合、ユーザAの音声データを対象としてエコーキャンセルを行い、他の音声データと合成するなどして得られた音声のデータを、音声増幅回路1024を介してスピーカ1025より出力させる。
 さらに、テレビジョン受像機1000は、音声コーデック1028、内部バス1029、SDRAM(Synchronous Dynamic Random Access Memory)1030、フラッシュメモリ1031、CPU1032、USB(Universal Serial Bus) I/F1033、およびネットワークI/F1034も有する。
 A/D変換回路1027は、音声会話用のものとしてテレビジョン受像機1000に設けられるマイクロホン1026により取り込まれたユーザの音声の信号を受信し、受信した音声信号に対してA/D変換処理を施し、得られたデジタルの音声データを音声コーデック1028に供給する。
 音声コーデック1028は、A/D変換回路1027から供給された音声データを、ネットワーク経由で送信するための所定のフォーマットのデータに変換し、内部バス1029を介してネットワークI/F1034に供給する。
 ネットワークI/F1034は、ネットワーク端子1035に装着されたケーブルを介してネットワークに接続される。ネットワークI/F1034は、例えば、そのネットワークに接続される他の装置に対して、音声コーデック1028から供給された音声データを送信する。また、ネットワークI/F1034は、例えば、ネットワークを介して接続される他の装置から送信される音声データを、ネットワーク端子1035を介して受信し、それを、内部バス1029を介して音声コーデック1028に供給する。
 音声コーデック1028は、ネットワークI/F1034から供給された音声データを所定のフォーマットのデータに変換し、それをエコーキャンセル/音声合成回路1023に供給する。
 エコーキャンセル/音声合成回路1023は、音声コーデック1028から供給される音声データを対象としてエコーキャンセルを行い、他の音声データと合成するなどして得られた音声のデータを、音声増幅回路1024を介してスピーカ1025より出力させる。
 SDRAM1030は、CPU1032が処理を行う上で必要な各種のデータを記憶する。
 フラッシュメモリ1031は、CPU1032により実行されるプログラムを記憶する。フラッシュメモリ1031に記憶されているプログラムは、テレビジョン受像機1000の起動時などの所定のタイミングでCPU1032により読み出される。フラッシュメモリ1031には、デジタル放送を介して取得されたEPGデータ、ネットワークを介して所定のサーバから取得されたデータなども記憶される。
 例えば、フラッシュメモリ1031には、CPU1032の制御によりネットワークを介して所定のサーバから取得されたコンテンツデータを含むMPEG-TSが記憶される。フラッシュメモリ1031は、例えばCPU1032の制御により、そのMPEG-TSを、内部バス1029を介してMPEGデコーダ1017に供給する。
 MPEGデコーダ1017は、デジタルチューナ1016から供給されたMPEG-TSの場合と同様に、そのMPEG-TSを処理する。このようにテレビジョン受像機1000は、映像や音声等よりなるコンテンツデータを、ネットワークを介して受信し、MPEGデコーダ1017を用いてデコードし、その映像を表示させたり、音声を出力させたりすることができる。
 また、テレビジョン受像機1000は、リモートコントローラ1051から送信される赤外線信号を受光する受光部1037も有する。
 受光部1037は、リモートコントローラ1051からの赤外線を受光し、復調して得られたユーザ操作の内容を表す制御コードをCPU1032に出力する。
 CPU1032は、フラッシュメモリ1031に記憶されているプログラムを実行し、受光部1037から供給される制御コードなどに応じてテレビジョン受像機1000の全体の動作を制御する。CPU1032とテレビジョン受像機1000の各部は、図示せぬ経路を介して接続されている。
 USB I/F1033は、USB端子1036に装着されたUSBケーブルを介して接続される、テレビジョン受像機1000の外部の機器との間でデータの送受信を行う。ネットワークI/F1034は、ネットワーク端子1035に装着されたケーブルを介してネットワークに接続し、ネットワークに接続される各種の装置と音声データ以外のデータの送受信も行う。
 テレビジョン受像機1000は、MPEGデコーダ1017として画像復号装置200を用いることにより、画像内の局所的性質に適したノイズ除去を行うことができる。その結果として、テレビジョン受像機1000は、アンテナを介して受信する放送波信号や、ネットワークを介して取得するコンテンツデータから、より高画質な復号画像を得ることができる。
<7.第7の実施の形態>
[携帯電話機]
 図24は、本発明を適用した画像符号化装置および画像復号装置を用いる携帯電話機の主な構成例を示すブロック図である。
 図24に示される携帯電話機1100は、各部を統括的に制御するようになされた主制御部1150、電源回路部1151、操作入力制御部1152、画像エンコーダ1153、カメラI/F部1154、LCD制御部1155、画像デコーダ1156、多重分離部1157、記録再生部1162、変復調回路部1158、および音声コーデック1159を有する。これらは、バス1160を介して互いに接続されている。
 また、携帯電話機1100は、操作キー1119、CCD(Charge Coupled Devices)カメラ1116、液晶ディスプレイ1118、記憶部1123、送受信回路部1163、アンテナ1114、マイクロホン(マイク)1121、およびスピーカ1117を有する。
 電源回路部1151は、ユーザの操作により終話および電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することにより携帯電話機1100を動作可能な状態に起動する。
 携帯電話機1100は、CPU、ROMおよびRAM等でなる主制御部1150の制御に基づいて、音声通話モードやデータ通信モード等の各種モードで、音声信号の送受信、電子メールや画像データの送受信、画像撮影、またはデータ記録等の各種動作を行う。
 例えば、音声通話モードにおいて、携帯電話機1100は、マイクロホン(マイク)1121で集音した音声信号を、音声コーデック1159によってデジタル音声データに変換し、これを変復調回路部1158でスペクトラム拡散処理し、送受信回路部1163でデジタルアナログ変換処理および周波数変換処理する。携帯電話機1100は、その変換処理により得られた送信用信号を、アンテナ1114を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号(音声信号)は、公衆電話回線網を介して通話相手の携帯電話機に供給される。
 また、例えば、音声通話モードにおいて、携帯電話機1100は、アンテナ1114で受信した受信信号を送受信回路部1163で増幅し、さらに周波数変換処理およびアナログデジタル変換処理し、変復調回路部1158でスペクトラム逆拡散処理し、音声コーデック1159によってアナログ音声信号に変換する。携帯電話機1100は、その変換して得られたアナログ音声信号をスピーカ1117から出力する。
 更に、例えば、データ通信モードにおいて電子メールを送信する場合、携帯電話機1100は、操作キー1119の操作によって入力された電子メールのテキストデータを、操作入力制御部1152において受け付ける。携帯電話機1100は、そのテキストデータを主制御部1150において処理し、LCD制御部1155を介して、画像として液晶ディスプレイ1118に表示させる。
 また、携帯電話機1100は、主制御部1150において、操作入力制御部1152が受け付けたテキストデータやユーザ指示等に基づいて電子メールデータを生成する。携帯電話機1100は、その電子メールデータを、変復調回路部1158でスペクトラム拡散処理し、送受信回路部1163でデジタルアナログ変換処理および周波数変換処理する。携帯電話機1100は、その変換処理により得られた送信用信号を、アンテナ1114を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号(電子メール)は、ネットワークおよびメールサーバ等を介して、所定のあて先に供給される。
 また、例えば、データ通信モードにおいて電子メールを受信する場合、携帯電話機1100は、基地局から送信された信号を、アンテナ1114を介して送受信回路部1163で受信し、増幅し、さらに周波数変換処理およびアナログデジタル変換処理する。携帯電話機1100は、その受信信号を変復調回路部1158でスペクトラム逆拡散処理して元の電子メールデータを復元する。携帯電話機1100は、復元された電子メールデータを、LCD制御部1155を介して液晶ディスプレイ1118に表示する。
 なお、携帯電話機1100は、受信した電子メールデータを、記録再生部1162を介して、記憶部1123に記録する(記憶させる)ことも可能である。
 この記憶部1123は、書き換え可能な任意の記憶媒体である。記憶部1123は、例えば、RAMや内蔵型フラッシュメモリ等の半導体メモリであってもよいし、ハードディスクであってもよいし、磁気ディスク、光磁気ディスク、光ディスク、USBメモリ、またはメモリカード等のリムーバブルメディアであってもよい。もちろん、これら以外のものであってもよい。
 さらに、例えば、データ通信モードにおいて画像データを送信する場合、携帯電話機1100は、撮像によりCCDカメラ1116で画像データを生成する。CCDカメラ1116は、レンズや絞り等の光学デバイスと光電変換素子としてのCCDを有し、被写体を撮像し、受光した光の強度を電気信号に変換し、被写体の画像の画像データを生成する。CCDカメラ1116は、その画像データを、カメラI/F部1154を介して、画像エンコーダ1153で符号化し、符号化画像データに変換する。
 携帯電話機1100は、このような処理を行う画像エンコーダ1153として、上述した画像符号化装置100を用いる。したがって、画像エンコーダ1053は、画像符号化装置100の場合と同様に、画像内の局所的性質に適したノイズ除去を行うことができる。
 なお、携帯電話機1100は、このとき同時に、CCDカメラ1116で撮像中にマイクロホン(マイク)1121で集音した音声を、音声コーデック1159においてアナログデジタル変換し、さらに符号化する。
 携帯電話機1100は、多重分離部1157において、画像エンコーダ1153から供給された符号化画像データと、音声コーデック1159から供給されたデジタル音声データとを、所定の方式で多重化する。携帯電話機1100は、その結果得られる多重化データを、変復調回路部1158でスペクトラム拡散処理し、送受信回路部1163でデジタルアナログ変換処理および周波数変換処理する。携帯電話機1100は、その変換処理により得られた送信用信号を、アンテナ1114を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号(画像データ)は、ネットワーク等を介して、通信相手に供給される。
 なお、画像データを送信しない場合、携帯電話機1100は、CCDカメラ1116で生成した画像データを、画像エンコーダ1153を介さずに、LCD制御部1155を介して液晶ディスプレイ1118に表示させることもできる。
 また、例えば、データ通信モードにおいて、簡易ホームページ等にリンクされた動画像ファイルのデータを受信する場合、携帯電話機1100は、基地局から送信された信号を、アンテナ1114を介して送受信回路部1163で受信し、増幅し、さらに周波数変換処理およびアナログデジタル変換処理する。携帯電話機1100は、その受信信号を変復調回路部1158でスペクトラム逆拡散処理して元の多重化データを復元する。携帯電話機1100は、多重分離部1157において、その多重化データを分離して、符号化画像データと音声データとに分ける。
 携帯電話機1100は、画像デコーダ1156において符号化画像データをデコードすることにより、再生動画像データを生成し、これを、LCD制御部1155を介して液晶ディスプレイ1118に表示させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる動画データが液晶ディスプレイ1118に表示される。
 携帯電話機1100は、このような処理を行う画像デコーダ1156として、上述した画像復号装置200を用いる。したがって、画像デコーダ1156は、画像復号装置200の場合と同様に、画像内の局所的性質に適したノイズ除去を行うことができる。
 このとき、携帯電話機1100は、同時に、音声コーデック1159において、デジタルの音声データをアナログ音声信号に変換し、これをスピーカ1117より出力させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる音声データが再生される。
 なお、電子メールの場合と同様に、携帯電話機1100は、受信した簡易ホームページ等にリンクされたデータを、記録再生部1162を介して、記憶部1123に記録する(記憶させる)ことも可能である。
 また、携帯電話機1100は、主制御部1150において、撮像されてCCDカメラ1116で得られた2次元コードを解析し、2次元コードに記録された情報を取得することができる。
 さらに、携帯電話機1100は、赤外線通信部1181で赤外線により外部の機器と通信することができる。
 携帯電話機1100は、画像エンコーダ1153として画像符号化装置100を用いることにより、画像内の局所的性質に適したノイズ除去を行うことができる。その結果として、携帯電話機1100は、より高画質な参照画像を得ることができる。したがって、携帯電話機1100は、例えばCCDカメラ1116において生成された画像データを符号化して生成する符号化データを復号して得られる復号画像を高画質化することができる。
 また、携帯電話機1100は、画像デコーダ1156として画像復号装置200を用いることにより、画像内の局所的性質に適したノイズ除去を行うことができる。その結果として、携帯電話機1100は、例えば、簡易ホームページ等にリンクされた動画像ファイルのデータ(符号化データ)から、より高画質な復号画像を得ることができる。
 なお、以上において、携帯電話機1100が、CCDカメラ1116を用いるように説明したが、このCCDカメラ1116の代わりに、CMOS(Complementary Metal Oxide Semiconductor)を用いたイメージセンサ(CMOSイメージセンサ)を用いるようにしてもよい。この場合も、携帯電話機1100は、CCDカメラ1116を用いる場合と同様に、被写体を撮像し、被写体の画像の画像データを生成することができる。
 また、以上においては携帯電話機1100として説明したが、例えば、PDA(Personal Digital Assistants)、スマートフォン、UMPC(Ultra Mobile Personal Computer)、ネットブック、ノート型パーソナルコンピュータ等、この携帯電話機1100と同様の撮像機能や通信機能を有する装置であれば、どのような装置であっても携帯電話機1100の場合と同様に、画像符号化装置100および画像復号装置200を適用することができる。
<8.第8の実施の形態>
[ハードディスクレコーダ]
 図25は、本発明を適用した画像符号化装置および画像復号装置を用いるハードディスクレコーダの主な構成例を示すブロック図である。
 図25に示されるハードディスクレコーダ(HDDレコーダ)1200は、チューナにより受信された、衛星や地上のアンテナ等より送信される放送波信号(テレビジョン信号)に含まれる放送番組のオーディオデータとビデオデータを、内蔵するハードディスクに保存し、その保存したデータをユーザの指示に応じたタイミングでユーザに提供する装置である。
 ハードディスクレコーダ1200は、例えば、放送波信号よりオーディオデータとビデオデータを抽出し、それらを適宜復号し、内蔵するハードディスクに記憶させることができる。また、ハードディスクレコーダ1200は、例えば、ネットワークを介して他の装置からオーディオデータやビデオデータを取得し、それらを適宜復号し、内蔵するハードディスクに記憶させることもできる。
 さらに、ハードディスクレコーダ1200は、例えば、内蔵するハードディスクに記録されているオーディオデータやビデオデータを復号してモニタ1260に供給し、モニタ1260の画面にその画像を表示させ、モニタ1260のスピーカよりその音声を出力させることができる。また、ハードディスクレコーダ1200は、例えば、チューナを介して取得された放送波信号より抽出されたオーディオデータとビデオデータ、または、ネットワークを介して他の装置から取得したオーディオデータやビデオデータを復号してモニタ1260に供給し、モニタ1260の画面にその画像を表示させ、モニタ1260のスピーカよりその音声を出力させることもできる。
 もちろん、この他の動作も可能である。
 図25に示されるように、ハードディスクレコーダ1200は、受信部1221、復調部1222、デマルチプレクサ1223、オーディオデコーダ1224、ビデオデコーダ1225、およびレコーダ制御部1226を有する。ハードディスクレコーダ1200は、さらに、EPGデータメモリ1227、プログラムメモリ1228、ワークメモリ1229、ディスプレイコンバータ1230、OSD(On Screen Display)制御部1231、ディスプレイ制御部1232、記録再生部1233、D/Aコンバータ1234、および通信部1235を有する。
 また、ディスプレイコンバータ1230は、ビデオエンコーダ1241を有する。記録再生部1233は、エンコーダ1251およびデコーダ1252を有する。
 受信部1221は、リモートコントローラ(図示せず)からの赤外線信号を受信し、電気信号に変換してレコーダ制御部1226に出力する。レコーダ制御部1226は、例えば、マイクロプロセッサなどにより構成され、プログラムメモリ1228に記憶されているプログラムに従って、各種の処理を実行する。レコーダ制御部1226は、このとき、ワークメモリ1229を必要に応じて使用する。
 通信部1235は、ネットワークに接続され、ネットワークを介して他の装置との通信処理を行う。例えば、通信部1235は、レコーダ制御部1226により制御され、チューナ(図示せず)と通信し、主にチューナに対して選局制御信号を出力する。
 復調部1222は、チューナより供給された信号を、復調し、デマルチプレクサ1223に出力する。デマルチプレクサ1223は、復調部1222より供給されたデータを、オーディオデータ、ビデオデータ、およびEPGデータに分離し、それぞれ、オーディオデコーダ1224、ビデオデコーダ1225、またはレコーダ制御部1226に出力する。
 オーディオデコーダ1224は、入力されたオーディオデータをデコードし、記録再生部1233に出力する。ビデオデコーダ1225は、入力されたビデオデータをデコードし、ディスプレイコンバータ1230に出力する。レコーダ制御部1226は、入力されたEPGデータをEPGデータメモリ1227に供給し、記憶させる。
 ディスプレイコンバータ1230は、ビデオデコーダ1225またはレコーダ制御部1226より供給されたビデオデータを、ビデオエンコーダ1241により、例えばNTSC(National Television Standards Committee)方式のビデオデータにエンコードし、記録再生部1233に出力する。また、ディスプレイコンバータ1230は、ビデオデコーダ1225またはレコーダ制御部1226より供給されるビデオデータの画面のサイズを、モニタ1260のサイズに対応するサイズに変換し、ビデオエンコーダ1241によってNTSC方式のビデオデータに変換し、アナログ信号に変換し、ディスプレイ制御部1232に出力する。
 ディスプレイ制御部1232は、レコーダ制御部1226の制御のもと、OSD(On Screen Display)制御部1231が出力したOSD信号を、ディスプレイコンバータ1230より入力されたビデオ信号に重畳し、モニタ1260のディスプレイに出力し、表示させる。
 モニタ1260にはまた、オーディオデコーダ1224が出力したオーディオデータが、D/Aコンバータ1234によりアナログ信号に変換されて供給されている。モニタ1260は、このオーディオ信号を内蔵するスピーカから出力する。
 記録再生部1233は、ビデオデータやオーディオデータ等を記録する記憶媒体としてハードディスクを有する。
 記録再生部1233は、例えば、オーディオデコーダ1224より供給されるオーディオデータを、エンコーダ1251によりエンコードする。また、記録再生部1233は、ディスプレイコンバータ1230のビデオエンコーダ1241より供給されるビデオデータを、エンコーダ1251によりエンコードする。記録再生部1233は、そのオーディオデータの符号化データとビデオデータの符号化データとをマルチプレクサにより合成する。記録再生部1233は、その合成データをチャネルコーディングして増幅し、そのデータを、記録ヘッドを介してハードディスクに書き込む。
 記録再生部1233は、再生ヘッドを介してハードディスクに記録されているデータを再生し、増幅し、デマルチプレクサによりオーディオデータとビデオデータに分離する。記録再生部1233は、デコーダ1252によりオーディオデータおよびビデオデータをデコードする。記録再生部1233は、復号したオーディオデータをD/A変換し、モニタ1260のスピーカに出力する。また、記録再生部1233は、復号したビデオデータをD/A変換し、モニタ1260のディスプレイに出力する。
 レコーダ制御部1226は、受信部1221を介して受信されるリモートコントローラからの赤外線信号により示されるユーザ指示に基づいて、EPGデータメモリ1227から最新のEPGデータを読み出し、それをOSD制御部1231に供給する。OSD制御部1231は、入力されたEPGデータに対応する画像データを発生し、ディスプレイ制御部1232に出力する。ディスプレイ制御部1232は、OSD制御部1231より入力されたビデオデータをモニタ1260のディスプレイに出力し、表示させる。これにより、モニタ1260のディスプレイには、EPG(電子番組ガイド)が表示される。
 また、ハードディスクレコーダ1200は、インターネット等のネットワークを介して他の装置から供給されるビデオデータ、オーディオデータ、またはEPGデータ等の各種データを取得することができる。
 通信部1235は、レコーダ制御部1226に制御され、ネットワークを介して他の装置から送信されるビデオデータ、オーディオデータ、およびEPGデータ等の符号化データを取得し、それをレコーダ制御部1226に供給する。レコーダ制御部1226は、例えば、取得したビデオデータやオーディオデータの符号化データを記録再生部1233に供給し、ハードディスクに記憶させる。このとき、レコーダ制御部1226および記録再生部1233が、必要に応じて再エンコード等の処理を行うようにしてもよい。
 また、レコーダ制御部1226は、取得したビデオデータやオーディオデータの符号化データを復号し、得られるビデオデータをディスプレイコンバータ1230に供給する。ディスプレイコンバータ1230は、ビデオデコーダ1225から供給されるビデオデータと同様に、レコーダ制御部1226から供給されるビデオデータを処理し、ディスプレイ制御部1232を介してモニタ1260に供給し、その画像を表示させる。
 また、この画像表示に合わせて、レコーダ制御部1226が、復号したオーディオデータを、D/Aコンバータ1234を介してモニタ1260に供給し、その音声をスピーカから出力させるようにしてもよい。
 さらに、レコーダ制御部1226は、取得したEPGデータの符号化データを復号し、復号したEPGデータをEPGデータメモリ1227に供給する。
 以上のようなハードディスクレコーダ1200は、ビデオデコーダ1225、デコーダ1252、およびレコーダ制御部1226に内蔵されるデコーダとして画像復号装置200を用いる。したがって、ビデオデコーダ1225、デコーダ1252、およびレコーダ制御部1226に内蔵されるデコーダは、画像復号装置200の場合と同様に、画像内の局所的性質に適したノイズ除去を行うことができる。
 したがって、ハードディスクレコーダ1200は、画像内の局所的性質に適したノイズ除去を行うことができる。その結果として、ハードディスクレコーダ1200は、例えば、チューナや通信部1235を介して受信されるビデオデータ(符号化データ)や、記録再生部1233のハードディスクに記録されるビデオデータ(符号化データ)から、より高画質な復号画像を得ることができる。
 また、ハードディスクレコーダ1200は、エンコーダ1251として画像符号化装置100を用いる。したがって、エンコーダ1251は、画像符号化装置100の場合と同様に、画像内の局所的性質に適したノイズ除去を行うことができる。
 したがって、ハードディスクレコーダ1200は、画像内の局所的性質に適したノイズ除去を行うことができる。その結果として、ハードディスクレコーダ1200は、より高画質な参照画像を得ることができる。したがって、ハードディスクレコーダ1200は、例えば、ハードディスクに記録する符号化データの復号画像を高画質化することができる。
 なお、以上においては、ビデオデータやオーディオデータをハードディスクに記録するハードディスクレコーダ1200について説明したが、もちろん、記録媒体はどのようなものであってもよい。例えばフラッシュメモリ、光ディスク、またはビデオテープ等、ハードディスク以外の記録媒体を適用するレコーダであっても、上述したハードディスクレコーダ1200の場合と同様に、画像符号化装置100および画像復号装置200を適用することができる。
<9.第9の実施の形態>
[カメラ]
 図26は、本発明を適用した画像符号化装置および画像復号装置を用いるカメラの主な構成例を示すブロック図である。
 図26に示されるカメラ1300は、被写体を撮像し、被写体の画像をLCD1316に表示させたり、それを画像データとして、記録メディア1333に記録したりする。
 レンズブロック1311は、光(すなわち、被写体の映像)を、CCD/CMOS1312に入射させる。CCD/CMOS1312は、CCDまたはCMOSを用いたイメージセンサであり、受光した光の強度を電気信号に変換し、カメラ信号処理部1313に供給する。
 カメラ信号処理部1313は、CCD/CMOS1312から供給された電気信号を、Y,Cr,Cbの色差信号に変換し、画像信号処理部1314に供給する。画像信号処理部1314は、コントローラ1321の制御の下、カメラ信号処理部1313から供給された画像信号に対して所定の画像処理を施したり、その画像信号をエンコーダ1341で符号化したりする。画像信号処理部1314は、画像信号を符号化して生成した符号化データを、デコーダ1315に供給する。さらに、画像信号処理部1314は、オンスクリーンディスプレイ(OSD)1320において生成された表示用データを取得し、それをデコーダ1315に供給する。
 以上の処理において、カメラ信号処理部1313は、バス1317を介して接続されるDRAM(Dynamic Random Access Memory)1318を適宜利用し、必要に応じて画像データや、その画像データが符号化された符号化データ等をそのDRAM1318に保持させる。
 デコーダ1315は、画像信号処理部1314から供給された符号化データを復号し、得られた画像データ(復号画像データ)をLCD1316に供給する。また、デコーダ1315は、画像信号処理部1314から供給された表示用データをLCD1316に供給する。LCD1316は、デコーダ1315から供給された復号画像データの画像と表示用データの画像を適宜合成し、その合成画像を表示する。
 オンスクリーンディスプレイ1320は、コントローラ1321の制御の下、記号、文字、または図形からなるメニュー画面やアイコンなどの表示用データを、バス1317を介して画像信号処理部1314に出力する。
 コントローラ1321は、ユーザが操作部1322を用いて指令した内容を示す信号に基づいて、各種処理を実行するとともに、バス1317を介して、画像信号処理部1314、DRAM1318、外部インタフェース1319、オンスクリーンディスプレイ1320、およびメディアドライブ1323等を制御する。FLASH ROM1324には、コントローラ1321が各種処理を実行する上で必要なプログラムやデータ等が格納される。
 例えば、コントローラ1321は、画像信号処理部1314やデコーダ1315に代わって、DRAM1318に記憶されている画像データを符号化したり、DRAM1318に記憶されている符号化データを復号したりすることができる。このとき、コントローラ1321は、画像信号処理部1314やデコーダ1315の符号化・復号方式と同様の方式によって符号化・復号処理を行うようにしてもよいし、画像信号処理部1314やデコーダ1315が対応していない方式により符号化・復号処理を行うようにしてもよい。
 また、例えば、操作部1322から画像印刷の開始が指示された場合、コントローラ1321は、DRAM1318から画像データを読み出し、それを、バス1317を介して外部インタフェース1319に接続されるプリンタ1334に供給して印刷させる。
 さらに、例えば、操作部1322から画像記録が指示された場合、コントローラ1321は、DRAM1318から符号化データを読み出し、それを、バス1317を介してメディアドライブ1323に装着される記録メディア1333に供給して記憶させる。
 記録メディア1333は、例えば、磁気ディスク、光磁気ディスク、光ディスク、または半導体メモリ等の、読み書き可能な任意のリムーバブルメディアである。記録メディア1333は、もちろん、リムーバブルメディアとしての種類も任意であり、テープデバイスであってもよいし、ディスクであってもよいし、メモリカードであってもよい。もちろん、非接触ICカード等であっても良い。
 また、メディアドライブ1323と記録メディア1333を一体化し、例えば、内蔵型ハードディスクドライブやSSD(Solid State Drive)等のように、非可搬性の記憶媒体により構成されるようにしてもよい。
 外部インタフェース1319は、例えば、USB入出力端子などで構成され、画像の印刷を行う場合に、プリンタ1334と接続される。また、外部インタフェース1319には、必要に応じてドライブ1331が接続され、磁気ディスク、光ディスク、あるいは光磁気ディスクなどのリムーバブルメディア1332が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて、FLASH ROM1324にインストールされる。
 さらに、外部インタフェース1319は、LANやインターネット等の所定のネットワークに接続されるネットワークインタフェースを有する。コントローラ1321は、例えば、操作部1322からの指示に従って、DRAM1318から符号化データを読み出し、それを外部インタフェース1319から、ネットワークを介して接続される他の装置に供給させることができる。また、コントローラ1321は、ネットワークを介して他の装置から供給される符号化データや画像データを、外部インタフェース1319を介して取得し、それをDRAM1318に保持させたり、画像信号処理部1314に供給したりすることができる。
 以上のようなカメラ1300は、デコーダ1315として画像復号装置200を用いる。したがって、デコーダ1315は、画像復号装置200の場合と同様に、画像内の局所的性質に適したノイズ除去を行うことができる。
 したがって、カメラ1300は、画像内の局所的性質に適したノイズ除去を行うことができる。その結果として、カメラ1300は、例えば、CCD/CMOS1312において生成される画像データや、DRAM1318または記録メディア1333から読み出されるビデオデータの符号化データや、ネットワークを介して取得するビデオデータの符号化データから、より高画質な復号画像を得ることができる。
 また、カメラ1300は、エンコーダ1341として画像符号化装置100を用いる。したがって、エンコーダ1341は、画像符号化装置100の場合と同様に、画像内の局所的性質に適したノイズ除去を行うことができる。
 したがって、カメラ1300は、画像内の局所的性質に適したノイズ除去を行うことができる。その結果として、カメラ1300は、例えば、DRAM1318や記録メディア1333に記録する符号化データや、他の装置に提供する符号化データの復号画像を高画質化することができる。
 なお、コントローラ1321が行う復号処理に画像復号装置200の復号方法を適用するようにしてもよい。同様に、コントローラ1321が行う符号化処理に画像符号化装置100の符号化方法を適用するようにしてもよい。
 また、カメラ1300が撮像する画像データは動画像であってもよいし、静止画像であってもよい。
 もちろん、画像符号化装置100および画像復号装置200は、上述した装置以外の装置やシステムにも適用可能である。
 また、マクロブロックの大きさも、16×16画素に限らない。例えば図10に示される32×32画素のような、あらゆる大きさのマクロブロックに対して適用することが可能である。
 以上においては、フィルタ係数等をビットストリームに多重化(記述)するものとして説明したが、多重化する以外にも、例えば、フィルタ係数と画像データ(又はビットストリーム)とを伝送(記録)してもよい。フィルタ係数と画像データ(又はビットストリーム)とを連結する(付加する)形態もありうる。
 連結(付加)とは、画像データ(又はビットストリーム)とフィルタ係数とが互いにリンクされている状態(対応が取れている状態)を示すものであり、物理的な位置関係は任意である。例えば、画像データ(又はビットストリーム)とフィルタ係数とを、別の伝送路で伝送してもよい。また、画像データ(又はビットストリーム)とフィルタ係数とを、互いに別の記録媒体(又は同一の記録媒体内の別々の記録エリア)に記録してもよい。なお、画像データ(又はビットストリーム)とフィルタ係数とをリンクさせる単位は、任意であり、例えば、符号化処理単位(1フレーム、複数フレーム等)で設定してもよい。
 100 画像符号化装置, 112 フィルタ係数算出部, 113 ループフィルタ, 151 直交変換サイズバッファ, 152 復号画素分類部, 153 入力画素分類部, 154 4×4ブロック係数算出部, 155 8×8ブロック係数算出部, 161 画素分類部, 162 フィルタ部(4×4), 163 フィルタ部(8×8), 200 画像復号装置, 202 可逆復号部, 204 逆直交変換部, 207 ループフィルタ, 212 イントラ予測部, 213 動き予測・補償部, 251 画素分類部, 252 フィルタ部(4×4), 253 フィルタ部(8×8)

Claims (15)

  1.  画像を、所定の画像サイズ毎に、前記画像に対して行われる直交変換処理において適用された直交変換サイズによって分類する分類手段と、
     前記分類手段により分類された前記画像サイズ毎の各部分画像に対して、前記部分画像の前記直交変換サイズに対応する前記画像の局所的性質に応じて設定されたフィルタ係数を用いて、雑音除去のためのフィルタ処理を行うフィルタ手段と
     を備える画像処理装置。
  2.  前記フィルタ手段は、Wiener Filterである
     請求項1に記載の画像処理装置。
  3.  前記画像サイズは、マクロブロックであり、
     前記分類手段は、各マクロブロックを、その直交変換サイズによって分類し、
     前記フィルタ手段は、前記分類手段により分類された各マクロブロックに対して、その直交変換サイズに対応する前記画像の局所的性質に応じて設定された前記フィルタ係数を用いて前記フィルタ処理を行う
     請求項1に記載の画像処理装置。
  4.  前記画像を符号化し、符号化データを生成する符号化手段をさらに備える
     請求項1に記載の画像処理装置。
  5.  前記符号化手段は、前記画像をAVC(Advanced Video Coding)方式で符号化し、
     前記分類手段は、前記符号化手段により、直交変換され、量子化され、逆量子化され、逆直交変換された復号画像を、前記画像サイズ毎に分類し、
     前記フィルタ手段は、前記復号画像の前記部分画像に対して前記フィルタ処理を行い、フィルタ処理結果を参照画像としてフレームメモリに格納する
     請求項4に記載の画像処理装置。
  6.  前記符号化手段への入力画像と、前記復号画像とを用いて、前記フィルタ係数を算出するフィルタ係数算出手段をさらに備え、
     前記フィルタ手段は、前記フィルタ係数算出手段により算出された前記フィルタ係数を用いて、前記フィルタ処理を行う
     請求項5に記載の画像処理装置。
  7.  前記フィルタ係数算出手段は、前記入力画像および前記復号画像を、それぞれ、前記画像サイズ毎に、前記符号化手段により行われる直交変換処理において適用される直交変換サイズによって分類し、各直交変換サイズ毎に、前記入力画像および前記復号画像の差分が最小となるように前記フィルタ係数を算出する
     請求項6に記載の画像処理装置。
  8.  前記フィルタ係数算出手段は、前記符号化手段により行われる直交変換処理において適用される直交変換サイズに対応する前記画像の局所的性質に応じて、前記フィルタ係数の値を設定する
     請求項6に記載の画像処理装置。
  9.  前記フィルタ係数算出手段は、前記符号化手段により行われる直交変換処理において適用される直交変換サイズに対応する前記画像の局所的性質に応じて、前記フィルタ係数のタップ数をさらに設定する
     請求項8に記載の画像処理装置。
  10.  前記フィルタ係数算出手段は、前記直交変換サイズがより大きい程、前記フィルタ係数のタップ数を長く設定し、前記直交変換サイズが小さい程、前記フィルタ係数のタップ数を短く設定する
     請求項9に記載の画像処理装置。
  11.  前記符号化手段により生成された前記符号化データに前記フィルタ係数を付加する付加手段をさらに備える
     請求項4に記載の画像処理装置。
  12.  前記付加手段は、前記符号化データに、前記フィルタ処理を行うか否かを制御するフラグ情報をさらに付加する
     請求項11に記載の画像処理装置。
  13.  画像が符号化された符号化データから、前記フィルタ係数を抽出する抽出手段と、
     前記符号化データを復号し、復号画像を生成する復号手段と
     をさらに備え、
     前記分類手段は、前記復号手段により生成された前記復号画像を、前記画像サイズ毎に、前記直交変換サイズによって分類し、
     前記フィルタ手段は、前記分類手段により分類された前記画像サイズ毎の各部分画像に対して、前記抽出手段により抽出された前記フィルタ係数を用いて、雑音除去のためのフィルタ処理を行う
     請求項1に記載の画像処理装置。
  14.  前記復号手段は、前記符号化データをAVC(Advanced Video Coding)方式で復号し、
     前記分類手段は、前記復号手段により、復号され、逆量子化され、逆直交変換された前記復号画像を、前記画像サイズ毎に分類し、
     前記フィルタ手段は、前記復号画像の前記部分画像に対して前記フィルタ処理を行う
     請求項13に記載の画像処理装置。
  15.  画像処理装置の分類手段が、画像を、所定の画像サイズ毎に、前記画像に対して行われる直交変換処理において適用された直交変換サイズによって分類し、
     前記画像処理装置のフィルタ手段が、その分類された前記画像サイズ毎の各部分画像に対して、前記部分画像の前記直交変換サイズに対応する前記画像の局所的性質に応じて設定されたフィルタ係数を用いて、雑音除去のためのフィルタ処理を行う
     画像処理方法。
PCT/JP2010/063918 2009-08-26 2010-08-18 画像処理装置および方法 WO2011024684A1 (ja)

Priority Applications (12)

Application Number Priority Date Filing Date Title
CA2769733A CA2769733C (en) 2009-08-26 2010-08-18 Image processing device and method
RU2012106134/08A RU2533444C2 (ru) 2009-08-26 2010-08-18 Устройство и способ обработки изображений
AU2010287688A AU2010287688B2 (en) 2009-08-26 2010-08-18 Image processing device and method
KR1020127004293A KR101786130B1 (ko) 2009-08-26 2010-08-18 화상 처리 장치 및 방법
KR1020177027840A KR101901087B1 (ko) 2009-08-26 2010-08-18 화상 처리 장치 및 방법
EP10811734.2A EP2472870A4 (en) 2009-08-26 2010-08-18 IMAGE PROCESSING DEVICE AND METHOD
BR112012003855-9A BR112012003855B1 (pt) 2009-08-26 2010-08-18 Método e dispositivo de processamento de imagem
MX2012002070A MX2012002070A (es) 2009-08-26 2010-08-18 Dispositivo y metodo para procesamiento de imagenes.
CN201080036453.XA CN102484714B (zh) 2009-08-26 2010-08-18 图像处理装置和方法
US13/390,595 US9992516B2 (en) 2009-08-26 2010-08-18 Image processing device and method
US15/929,011 US10250911B2 (en) 2009-08-26 2018-04-27 Image processing device and method
US16/272,325 US11051044B2 (en) 2009-08-26 2019-02-11 Image processing device and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009-195317 2009-08-26
JP2009195317A JP2011049740A (ja) 2009-08-26 2009-08-26 画像処理装置および方法

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US13/390,595 A-371-Of-International US9992516B2 (en) 2009-08-26 2010-08-18 Image processing device and method
US15/929,011 Continuation US10250911B2 (en) 2009-08-26 2018-04-27 Image processing device and method

Publications (1)

Publication Number Publication Date
WO2011024684A1 true WO2011024684A1 (ja) 2011-03-03

Family

ID=43627789

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/063918 WO2011024684A1 (ja) 2009-08-26 2010-08-18 画像処理装置および方法

Country Status (12)

Country Link
US (3) US9992516B2 (ja)
EP (1) EP2472870A4 (ja)
JP (1) JP2011049740A (ja)
KR (2) KR101786130B1 (ja)
CN (5) CN102484714B (ja)
AU (1) AU2010287688B2 (ja)
BR (1) BR112012003855B1 (ja)
CA (2) CA2970080C (ja)
MX (1) MX2012002070A (ja)
RU (1) RU2533444C2 (ja)
TW (1) TWI435610B (ja)
WO (1) WO2011024684A1 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011151431A (ja) 2009-12-25 2011-08-04 Sony Corp 画像処理装置および方法
JPWO2012131895A1 (ja) * 2011-03-29 2014-07-24 株式会社東芝 画像符号化装置、方法及びプログラム、画像復号化装置、方法及びプログラム
TWI469086B (zh) * 2011-04-26 2015-01-11 Univ Nat Cheng Kung 利用紋理特徵之影像分割法
WO2012153538A1 (en) * 2011-05-11 2012-11-15 Panasonic Corporation Methods for encoding and decoding video using an adaptive filtering process
WO2012169054A1 (ja) * 2011-06-09 2012-12-13 株式会社東芝 動画像符号化方法、及び装置、動画像復号方法、及び装置
CN102831132B (zh) * 2011-06-13 2016-05-25 英华达(南京)科技有限公司 可快速在电子装置上显示数字图文件的储存方法及其电子装置
CN110611812B (zh) * 2011-06-28 2021-07-06 索尼公司 图像处理装置和图像处理方法
KR101860606B1 (ko) 2011-06-30 2018-05-23 미쓰비시덴키 가부시키가이샤 화상 부호화 장치, 화상 복호 장치, 화상 부호화 방법, 화상 복호 방법 및 기억 매체
CN104094597B (zh) * 2011-10-17 2018-04-20 株式会社Kt 基于帧内预测的自适应变换方法及使用该方法的装置
KR101462052B1 (ko) * 2011-11-09 2014-11-20 에스케이 텔레콤주식회사 변환을 이용한 주파수 도메인 상의 적응적 루프 필터를 이용한 영상 부호화/복호화 방법 및 장치
EP2792145B1 (en) * 2011-12-15 2018-03-21 Dolby Laboratories Licensing Corporation Backwards-compatible delivery of digital cinema content with extended dynamic range
CA2856348C (en) 2011-12-19 2021-06-08 Sony Corporation Image processing device and method
US9426498B2 (en) * 2012-07-10 2016-08-23 Broadcom Corporation Real-time encoding system of multiple spatially scaled video based on shared video coding information
US9438911B2 (en) * 2012-08-03 2016-09-06 Mediatek Inc. Video processing system with shared/configurable in-loop filter data buffer architecture and related video processing method thereof
AU2013200051B2 (en) * 2013-01-04 2016-02-11 Canon Kabushiki Kaisha Method, apparatus and system for de-blocking video data
KR101957944B1 (ko) * 2014-11-13 2019-03-13 삼성전자주식회사 영상의 주파수 특성 정보를 포함하는 메타 데이터를 생성하는 방법 및 장치
CN106303540B (zh) * 2015-05-20 2019-02-12 浙江大华技术股份有限公司 一种图像压缩方法及其装置
CN105138963A (zh) * 2015-07-31 2015-12-09 小米科技有限责任公司 图片场景判定方法、装置以及服务器
CA2998468C (en) * 2015-12-23 2021-02-16 Huawei Technologies Co., Ltd. Method and apparatus for transform coding with block-level transform selection and implicit signaling within hierarchical partitioning
WO2020175145A1 (ja) * 2019-02-27 2020-09-03 ソニー株式会社 画像処理装置及び画像処理方法
CN113711600B (zh) * 2019-04-26 2024-06-21 松下电器(美国)知识产权公司 编码装置、解码装置、编码方法和解码方法
CN118235392A (zh) * 2021-12-31 2024-06-21 Oppo广东移动通信有限公司 滤波系数生成及滤波方法、视频编解码方法、装置和***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007110568A (ja) * 2005-10-14 2007-04-26 Matsushita Electric Ind Co Ltd 画像符号化装置
WO2008010929A2 (en) * 2006-07-18 2008-01-24 Thomson Licensing Methods and apparatus for adaptive reference filtering
WO2008075247A1 (en) * 2006-12-18 2008-06-26 Koninklijke Philips Electronics N.V. Image compression and decompression

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4152772A (en) * 1974-08-29 1979-05-01 The United States Of America As Represented By The Secretary Of The Navy Apparatus for performing a discrete cosine transform of an input signal
JP2879298B2 (ja) * 1993-11-15 1999-04-05 日本電気エンジニアリング株式会社 適応後処理フィルタ
FI117533B (fi) * 2000-01-20 2006-11-15 Nokia Corp Menetelmä digitaalisten videokuvien suodattamiseksi
JP3861698B2 (ja) * 2002-01-23 2006-12-20 ソニー株式会社 画像情報符号化装置及び方法、画像情報復号装置及び方法、並びにプログラム
JP4120301B2 (ja) * 2002-04-25 2008-07-16 ソニー株式会社 画像処理装置およびその方法
CN100387059C (zh) * 2003-02-21 2008-05-07 松下电器产业株式会社 图像解码方法
CN1846444B (zh) * 2003-09-17 2011-01-26 汤姆森许可贸易公司 自适应参考画面产生
EP1578137A2 (en) * 2004-03-17 2005-09-21 Matsushita Electric Industrial Co., Ltd. Moving picture coding apparatus with multistep interpolation process
JP4457346B2 (ja) * 2004-11-12 2010-04-28 ノーリツ鋼機株式会社 画像ノイズ除去方法
US7792385B2 (en) * 2005-01-25 2010-09-07 Globalfoundries Inc. Scratch pad for storing intermediate loop filter data
JP2006211152A (ja) * 2005-01-26 2006-08-10 Hokkaido Univ 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、画像符号化用プログラム、画像復号用プログラム
JP4784188B2 (ja) * 2005-07-25 2011-10-05 ソニー株式会社 画像処理装置、画像処理方法およびプログラム
US7657113B2 (en) * 2005-12-21 2010-02-02 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Auto-regressive method and filter for denoising images and videos
JP4449915B2 (ja) * 2006-02-08 2010-04-14 ソニー株式会社 符号化装置、符号化方法およびプログラム、並びに、記録媒体
JP5513740B2 (ja) * 2006-03-27 2014-06-04 パナソニック株式会社 画像復号化装置、画像符号化装置、画像復号化方法、画像符号化方法、プログラムおよび集積回路
EP1841230A1 (en) * 2006-03-27 2007-10-03 Matsushita Electric Industrial Co., Ltd. Adaptive wiener filter for video coding
WO2008016605A2 (en) * 2006-08-02 2008-02-07 Thomson Licensing Adaptive geometric partitioning for video decoding
EP1944974A1 (en) * 2007-01-09 2008-07-16 Matsushita Electric Industrial Co., Ltd. Position dependent post-filter hints
JP4847890B2 (ja) * 2007-02-16 2011-12-28 パナソニック株式会社 符号化方式変換装置
JP2009110559A (ja) * 2007-10-26 2009-05-21 Pioneer Electronic Corp 光ディスク装置
CN101170701B (zh) * 2007-11-16 2010-10-27 四川虹微技术有限公司 视频编解码***中去块滤波方法及装置
US7924941B2 (en) * 2007-11-27 2011-04-12 Motorola Mobility, Inc. Digital pre-distortion for orthogonal frequency division multiplexing (OFDM) signals
WO2009105559A2 (en) 2008-02-20 2009-08-27 Aos Holding Company Organic polymer coatings for water containers
EP2252063A4 (en) * 2008-03-07 2012-09-12 Toshiba Kk DEVICE FOR DYNAMIC IMAGE CODING / DECODING
JP2010081368A (ja) * 2008-09-26 2010-04-08 Toshiba Corp 画像処理装置、動画像復号装置、動画像符号化装置、画像処理方法、動画像復号方法、及び、動画像符号化方法
KR101457418B1 (ko) * 2009-10-23 2014-11-04 삼성전자주식회사 계층적 부호화 단위의 크기에 따른 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007110568A (ja) * 2005-10-14 2007-04-26 Matsushita Electric Ind Co Ltd 画像符号化装置
WO2008010929A2 (en) * 2006-07-18 2008-01-24 Thomson Licensing Methods and apparatus for adaptive reference filtering
WO2008075247A1 (en) * 2006-12-18 2008-06-26 Koninklijke Philips Electronics N.V. Image compression and decompression

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
"ITU-T SG16 Contribution", January 2009, QUALCOMM INC, article "Video Coding Using Extended Block Sizes", pages: C123
See also references of EP2472870A4
TAKESHI. CHUJOH ET AL.: "Block-based Adaptive Loop Filter", ITU-T SG16 Q6 VCEG CONTRIBUTION, July 2008 (2008-07-01), pages AI18
YI-JEN CHIU; L. XU: "Adaptive (Wiener) Filter for Video Compression", ITU-T SG16 6 CONTRIBUTION, April 2008 (2008-04-01), pages C437

Also Published As

Publication number Publication date
CN104601995A (zh) 2015-05-06
CA2769733A1 (en) 2011-03-03
TW201112773A (en) 2011-04-01
CN104601994A (zh) 2015-05-06
MX2012002070A (es) 2012-03-19
RU2533444C2 (ru) 2014-11-20
US20180249185A1 (en) 2018-08-30
KR101786130B1 (ko) 2017-10-17
CA2970080C (en) 2020-07-28
RU2012106134A (ru) 2013-08-27
EP2472870A4 (en) 2015-08-12
AU2010287688A1 (en) 2012-03-01
US9992516B2 (en) 2018-06-05
CA2769733C (en) 2017-07-18
BR112012003855A2 (pt) 2016-03-22
CN104618716B (zh) 2019-04-23
TWI435610B (zh) 2014-04-21
AU2010287688B2 (en) 2014-09-11
BR112012003855B1 (pt) 2021-08-03
CA2970080A1 (en) 2011-03-03
KR20120051020A (ko) 2012-05-21
US11051044B2 (en) 2021-06-29
US10250911B2 (en) 2019-04-02
EP2472870A1 (en) 2012-07-04
KR101901087B1 (ko) 2018-09-20
US20190208227A1 (en) 2019-07-04
CN104601995B (zh) 2018-04-27
JP2011049740A (ja) 2011-03-10
CN104618716A (zh) 2015-05-13
US20120141037A1 (en) 2012-06-07
CN102484714A (zh) 2012-05-30
CN104602002A (zh) 2015-05-06
CN104602002B (zh) 2019-04-16
CN104601994B (zh) 2018-04-27
KR20170117219A (ko) 2017-10-20
CN102484714B (zh) 2015-02-25

Similar Documents

Publication Publication Date Title
US10855984B2 (en) Image processing apparatus and method
WO2011024684A1 (ja) 画像処理装置および方法
JP5359657B2 (ja) 画像符号化装置および方法、記録媒体、並びにプログラム
WO2011081035A1 (ja) 画像処理装置および方法、並びに、プログラム
JP5556996B2 (ja) 画像処理装置および方法
WO2011125866A1 (ja) 画像処理装置および方法
WO2012050021A1 (ja) 画像処理装置および方法
JP2011151431A (ja) 画像処理装置および方法
WO2011096318A1 (ja) 画像処理装置および方法
WO2012005195A1 (ja) 画像処理装置および方法
JP6229770B2 (ja) 画像処理装置および方法、記録媒体、並びにプログラム
JP2014200108A (ja) 画像復号装置および方法、記録媒体、並びにプログラム
JP5875565B2 (ja) 画像処理装置および方法、記録媒体、並びにプログラム
JP5573995B2 (ja) 画像復号装置および方法、記録媒体、並びにプログラム
JP2015065704A (ja) 画像処理装置および方法、記録媒体、並びにプログラム
JP2013153507A (ja) 画像復号装置および方法、記録媒体、並びにプログラム
JP2013153506A (ja) 画像符号化装置および方法、記録媒体、並びにプログラム

Legal Events

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

Ref document number: 201080036453.X

Country of ref document: CN

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

Ref document number: 10811734

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2769733

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 2010287688

Country of ref document: AU

WWE Wipo information: entry into national phase

Ref document number: 13390595

Country of ref document: US

ENP Entry into the national phase

Ref document number: 20127004293

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 1460/DELNP/2012

Country of ref document: IN

Ref document number: 2010811734

Country of ref document: EP

Ref document number: MX/A/2012/002070

Country of ref document: MX

WWE Wipo information: entry into national phase

Ref document number: 2012106134

Country of ref document: RU

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2010287688

Country of ref document: AU

Date of ref document: 20100818

Kind code of ref document: A

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112012003855

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 112012003855

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20120222