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

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

Info

Publication number
WO2013061852A1
WO2013061852A1 PCT/JP2012/076885 JP2012076885W WO2013061852A1 WO 2013061852 A1 WO2013061852 A1 WO 2013061852A1 JP 2012076885 W JP2012076885 W JP 2012076885W WO 2013061852 A1 WO2013061852 A1 WO 2013061852A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
image
processing
deblocking filter
offset
Prior art date
Application number
PCT/JP2012/076885
Other languages
English (en)
French (fr)
Inventor
佐藤 数史
Original Assignee
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Priority to CN201280051241.8A priority Critical patent/CN103891284A/zh
Priority to US14/346,888 priority patent/US20140233660A1/en
Publication of WO2013061852A1 publication Critical patent/WO2013061852A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods 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 a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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/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

Definitions

  • the present disclosure relates to an image processing apparatus and method, and more particularly, to an image processing apparatus and method capable of improving the image quality of a decoded image.
  • MPEG2 (ISO / IEC 13818-2) is defined as a general-purpose image encoding system, and is a standard that covers both interlaced scanning images and progressive scanning images, as well as standard resolution images and high-definition images.
  • MPEG2 is currently widely used in a wide range of applications for professional and consumer applications.
  • a code amount (bit rate) of 4 to 8 Mbps is assigned to an interlaced scanned image having a standard resolution of 720 ⁇ 480 pixels.
  • a high resolution interlaced scanned image having 1920 ⁇ 1088 pixels is assigned a code amount (bit rate) of 18 to 22 Mbps.
  • bit rate code amount
  • MPEG2 was mainly intended for high-quality encoding suitable for broadcasting, but it did not support encoding methods with a lower code amount (bit rate) than MPEG1, that is, a higher compression rate. With the widespread use of mobile terminals, the need for such an encoding system is expected to increase in the future, and the MPEG4 encoding system has been standardized accordingly. Regarding the image coding system, the standard was approved as an international standard in December 1998 as ISO / IEC 14496-2.
  • H.264 and MPEG-4 Part 10 Advanced Video Coding, hereinafter referred to as H.264 / AVC.
  • Non-Patent Document 1 a method having an FIR filter in a motion compensation loop has been proposed (see Non-Patent Document 1, for example).
  • this FIR filter coefficient is obtained by Wiener Filter so as to minimize the error from the input image, thereby minimizing deterioration in the reference image and encoding efficiency of the image compression information to be output. It is possible to improve.
  • a coding unit (Coding Unit) is defined as a processing unit similar to a macroblock in AVC.
  • the CU is not fixed to a size of 16 ⁇ 16 pixels like the AVC macroblock, and is specified in the image compression information in each sequence.
  • CU is hierarchically configured from the largest LCU (Largest Coding Unit) to the smallest SCU (Smallest Coding Unit). That is, it can be considered that the LCU generally corresponds to an AVC macroblock, and a CU in a layer lower than the LCU (a CU smaller than the LCU) corresponds to an AVC sub-macroblock.
  • HEVC a method called an adaptive offset filter proposed in Non-Patent Document 3 is adopted.
  • the adaptive offset filter is provided between the deblocking filter and the adaptive loop filter.
  • band offsets There are two types of adaptive offsets called band offsets and six types called edge offsets, and it is also possible not to apply offsets. Then, the image can be divided into quad-trees, and the type of adaptive offset described above can be selected for each divided region. By using this method, encoding efficiency can be improved.
  • Non-Patent Document 3 is performed on a block basis.
  • block-based processing is performed after the deblocking filter processing, there is a risk of causing block distortion.
  • the present disclosure has been made in view of such a situation, and more appropriately removes block distortion and improves the image quality of a decoded image.
  • An image processing apparatus includes a decoding unit that decodes an encoded stream to generate an image, an adaptive offset processing unit that performs an adaptive offset process on the image generated by the decoding unit, Based on the information about the quad-tree structure used by the adaptive offset process, when the target area of the deblocking filter process in the image is a boundary of the target area of the adaptive offset process, the strength of the deblocking filter process is A deblocking filter adjusting unit for adjusting, and a deblocking unit that performs the deblocking filter processing with the intensity adjusted by the deblocking filter adjusting unit for an image that has been subjected to the adaptive offset processing by the adaptive offset processing unit And a filter processing unit.
  • a target area for the deblocking filter process and an adjacent area adjacent to the target area for the deblocking filter process are boundaries of the target area for the adaptive offset processing, and the deblocking filter processing
  • the target region and the adjacent region are processed with different types of offsets among an edge offset, a band offset, and no offset, the strength of the deblocking filter processing can be adjusted.
  • a target region for the deblocking filter process and an adjacent region adjacent to the target region for the deblocking filter process are boundaries of the target region for the adaptive offset processing, and an edge offset or a band offset Among them, when processing is performed with the same type of offset and in different categories, the strength of the deblocking filter processing can be adjusted.
  • the deblocking filter adjustment unit can adjust the strength of the deblocking filter process according to the Boundary strength value.
  • the deblocking filter adjustment unit when the target region of the deblocking filter processing and the adjacent region are boundaries of the target region of the adaptive offset processing, and is processed with different types of offset, respectively, the boundary strength value
  • the intensity of the deblocking filter process can be adjusted as +1.
  • the deblocking filter adjustment unit when the target region of the deblocking filter processing and the adjacent region are boundaries of the target region of the adaptive offset processing, and is processed with different types of offset, respectively, the boundary strength value 4, the intensity of the deblocking filter process can be adjusted.
  • the deblock filter adjustment unit may determine the value of ⁇ or ⁇
  • the intensity of the deblocking filter process can be adjusted by the value of.
  • a table lookup using a value obtained by adding the predetermined value ⁇ QP can be performed to determine the value of ⁇ or the value of ⁇ .
  • An image processing method relates to a quad-tree structure that generates an image by decoding an encoded stream, performs adaptive offset processing on the generated image, and is used by the adaptive offset processing Based on the information, when the target area of the deblocking filter process in the image is a boundary of the target area of the adaptive offset process, the image that has been subjected to the adaptive offset process by adjusting the strength of the deblocking filter process The deblocking filter processing is performed with the adjusted intensity for the target.
  • An image processing apparatus includes an adaptive offset processing unit that performs adaptive offset processing on an image that has been locally decoded when an image is encoded, and a quad-tree used by the adaptive offset processing. Based on the information on the structure, when the target region of the deblocking filter process in the image is a boundary of the target region of the adaptive offset process, a deblocking filter adjustment unit that adjusts the strength of the deblocking filter process, A deblocking filter processing unit that performs the deblocking filter processing with the intensity adjusted by the deblocking filter adjustment unit for an image that has been subjected to the adaptive offset processing by the adaptive offset processing unit, and the deblocking filter processing Using the image subjected to the deblocking filter processing by the And a coding unit for coding the picture.
  • a target area for the deblocking filter process and an adjacent area adjacent to the target area for the deblocking filter process are boundaries of the target area for the adaptive offset processing, and the deblocking filter processing
  • the target region and the adjacent region are processed with different types of offsets among an edge offset, a band offset, and no offset, the strength of the deblocking filter processing can be adjusted.
  • a target region for the deblocking filter process and an adjacent region adjacent to the target region for the deblocking filter process are boundaries of the target region for the adaptive offset processing, and an edge offset or a band offset Among them, when processing is performed with the same type of offset and in different categories, the strength of the deblocking filter processing can be adjusted.
  • the deblocking filter adjustment unit can adjust the strength of the deblocking filter process according to the boundary value.
  • the deblocking filter adjustment unit when the target region of the deblocking filter processing and the adjacent region are boundaries of the target region of the adaptive offset processing, and is processed with different types of offset, respectively, the boundary strength value
  • the intensity of the deblocking filter process can be adjusted as +1.
  • the deblocking filter adjustment unit when the target region of the deblocking filter processing and the adjacent region are boundaries of the target region of the adaptive offset processing, and is processed with different types of offset, respectively, the boundary strength value 4, the intensity of the deblocking filter process can be adjusted.
  • the deblock filter adjustment unit may determine the value of ⁇ or ⁇
  • the intensity of the deblocking filter process can be adjusted by the value of.
  • a table lookup using a value obtained by adding the predetermined value ⁇ QP can be performed to determine the value of ⁇ or ⁇ .
  • An image processing method is an image processing apparatus that performs adaptive offset processing on an image subjected to local decoding processing when an image is encoded, and uses a quad-tree used by the adaptive offset processing. If the target area of the deblocking filter process in the image is a boundary of the target area of the adaptive offset process based on the information on the structure, the adaptive offset process is performed by adjusting the strength of the deblocking filter process. The deblocking filter process is performed with the adjusted intensity on the target image, and the image is encoded using the image on which the deblocking filter process has been performed.
  • an encoded stream is decoded to generate an image, and adaptive offset processing is performed on the generated image. Then, based on the information about the quad-tree structure used by the adaptive offset processing, when the target region of the deblocking filter process in the image is a boundary of the target region of the adaptive offset processing, the deblocking filter processing The deblocking filter process is performed with the adjusted intensity on the image of which the intensity is adjusted and the adaptive offset process is performed.
  • adaptive offset processing is performed on an image subjected to local decoding processing when an image is encoded, and based on information regarding a quad-tree structure used by the adaptive offset processing,
  • the target area of the deblocking filter process in the image is a boundary of the target area of the adaptive offset process
  • the strength of the deblocking filter process is adjusted.
  • the deblock filter processing is performed with adjusted intensity, and the image is encoded using the image on which the deblock filter processing has been performed. Is done.
  • the above-described image processing apparatus may be an independent apparatus, or may be an internal block constituting one image encoding apparatus or image decoding apparatus.
  • an image can be decoded.
  • block distortion can be removed more appropriately, and the image quality of the decoded image can be improved.
  • an image can be encoded.
  • block distortion can be removed more appropriately, and the image quality of the decoded image can be improved.
  • FIG. H. 1 is a block diagram illustrating a main configuration example of an H.264 / AVC format image encoding device.
  • FIG. H. 1 is a block diagram illustrating a main configuration example of an H.264 / AVC format image decoding device.
  • FIG. It is a block diagram which shows the main structural examples of the image coding apparatus to which an adaptive loop filter is applied. It is a block diagram which shows the main structural examples of the image decoding apparatus to which an adaptive loop filter is applied. It is a figure explaining the principle of operation of a deblocking filter. It is a figure explaining the definition method of Bs. It is a figure explaining the principle of operation of a deblocking filter.
  • FIG. 20 is a block diagram illustrating a main configuration example of a computer.
  • FIG. 1 illustrates a configuration of an embodiment of an image encoding apparatus that encodes an image using an H.264 and MPEG (Moving Picture Experts Group) 4 Part 10 (AVC (Advanced Video Coding)) encoding method.
  • H.M. H.264 and MPEG encoding systems It is called H.264 / AVC format.
  • the image encoding device 1 includes an A / D conversion unit 11, a screen rearrangement buffer 12, a calculation unit 13, an orthogonal transformation unit 14, a quantization unit 15, a lossless encoding unit 16, an accumulation buffer 17, An inverse quantization unit 18, an inverse orthogonal transform unit 19, and a calculation unit 20 are included.
  • the image encoding device 1 is also configured to include a deblock filter 21, a frame memory 22, a selection unit 23, an intra prediction unit 24, a motion prediction / compensation unit 25, a predicted image selection unit 26, and a rate control unit 27. Has been.
  • the A / D converter 11 A / D converts the input image data, outputs it to the screen rearrangement buffer 12, and stores it.
  • the screen rearrangement buffer 12 rearranges the stored frame images in the display order in the order of frames for encoding in accordance with the GOP (Group of Picture) structure.
  • the screen rearrangement buffer 12 supplies the image with the rearranged frame order to the arithmetic unit 13.
  • the screen rearrangement buffer 12 also supplies the image in which the frame order has been rearranged to the intra prediction unit 24 and the motion prediction / compensation unit 25.
  • the calculation unit 13 subtracts the prediction image supplied from the intra prediction unit 24 or the motion prediction / compensation unit 25 via the prediction image selection unit 26 from the image read from the screen rearrangement buffer 12, and the difference information Is output to the orthogonal transform unit 14.
  • the calculation unit 13 subtracts the prediction image supplied from the intra prediction unit 24 from the image read from the screen rearrangement buffer 12. For example, in the case of an image on which inter coding is performed, the calculation unit 13 subtracts the prediction image supplied from the motion prediction / compensation unit 25 from the image read from the screen rearrangement buffer 12.
  • the orthogonal transform unit 14 performs orthogonal transform such as discrete cosine transform and Karhunen-Loeve transform on the difference information supplied from the computation unit 13 and supplies the transform coefficient to the quantization unit 15.
  • the quantization unit 15 quantizes the transform coefficient output from the orthogonal transform unit 14.
  • the quantization unit 15 sets a quantization parameter based on the information regarding the target value of the code amount supplied from the rate control unit 27, and performs quantization.
  • the quantization unit 15 supplies the quantized transform coefficient to the lossless encoding unit 16.
  • the lossless encoding unit 16 performs lossless encoding such as variable length encoding and arithmetic encoding on the quantized transform coefficient. Since the coefficient data is quantized under the control of the rate control unit 27, the code amount becomes a target value set by the rate control unit 27 (or approximates the target value).
  • the lossless encoding unit 16 acquires information indicating intra prediction from the intra prediction unit 24, and acquires information indicating inter prediction mode, motion vector information, and the like from the motion prediction / compensation unit 25.
  • 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 16 encodes the quantized transform coefficient, and converts various information such as a filter coefficient, intra prediction mode information, inter prediction mode information, and a quantization parameter into one piece of header information of encoded data. Part (multiplex).
  • the lossless encoding unit 16 supplies the encoded data obtained by encoding to the accumulation buffer 17 for accumulation.
  • the lossless encoding unit 16 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 17 temporarily holds the encoded data supplied from the lossless encoding unit 16.
  • the accumulation buffer 17 stores the accumulated encoded data at a predetermined timing in an H.264 format.
  • the transform coefficient quantized by the quantization unit 15 is also supplied to the inverse quantization unit 18.
  • the inverse quantization unit 18 inversely quantizes the quantized transform coefficient by a method corresponding to the quantization by the quantization unit 15.
  • the inverse quantization unit 18 supplies the obtained transform coefficient to the inverse orthogonal transform unit 19.
  • the inverse orthogonal transform unit 19 performs inverse orthogonal transform on the supplied transform coefficient by a method corresponding to the orthogonal transform process by the orthogonal transform unit 14.
  • the inversely orthogonal transformed output (restored difference information) is supplied to the calculation unit 20.
  • the calculation unit 20 is supplied from the intra prediction unit 24 or the motion prediction / compensation unit 25 to the inverse orthogonal transform result supplied from the inverse orthogonal transform unit 19, that is, the restored difference information, via the predicted image selection unit 26. Predicted images are added to obtain a locally decoded image (decoded image).
  • the calculation unit 20 adds the prediction image supplied from the intra prediction unit 24 to the difference information.
  • the calculation unit 20 adds the predicted image supplied from the motion prediction / compensation unit 25 to the difference information.
  • the addition result is supplied to the deblock filter 21 or the frame memory 22.
  • the deblocking filter 21 removes block distortion of the decoded image by appropriately performing deblocking filter processing.
  • the deblocking filter 21 supplies the filter processing result to the frame memory 22. Note that the decoded image output from the arithmetic unit 20 can be supplied to the frame memory 22 without going through the deblocking filter 21. That is, the deblocking filter process of the deblocking filter 21 can be omitted.
  • the frame memory 22 stores the supplied decoded image, and outputs the stored decoded image as a reference image to the intra prediction unit 24 or the motion prediction / compensation unit 25 via the selection unit 23 at a predetermined timing. .
  • the frame memory 22 supplies the reference image to the intra prediction unit 24 via the selection unit 23.
  • the frame memory 22 supplies the reference image to the motion prediction / compensation unit 25 via the selection unit 23.
  • the selection unit 23 supplies the reference image to the intra prediction unit 24 when the reference image supplied from the frame memory 22 is an image to be subjected to intra coding.
  • the selection unit 23 supplies the reference image to the motion prediction / compensation unit 25 when the reference image supplied from the frame memory 22 is an image to be inter-encoded.
  • the intra prediction unit 24 performs intra prediction (intra-screen prediction) that generates a prediction image using the pixel value in the processing target picture supplied from the frame memory 22 via the selection unit 23.
  • the intra prediction unit 24 performs this intra prediction in a plurality of modes (intra prediction modes) prepared in advance.
  • an intra 4 ⁇ 4 prediction mode, an intra 8 ⁇ 8 prediction mode, and an intra 16 ⁇ 16 prediction mode are defined for luminance signals.
  • a prediction mode independent of the luminance signal can be defined for each macroblock.
  • intra 4x4 prediction mode one intra prediction mode must be defined for each 4x4 luminance block, and for intra 8x8 prediction mode, for each 8x8 luminance block become.
  • intra 16 ⁇ 16 prediction mode and the color difference signal one prediction mode is defined for each macroblock.
  • the intra prediction unit 24 generates prediction images in all candidate intra prediction modes, evaluates the cost function value of each prediction image using the input image supplied from the screen rearrangement buffer 12, and selects the optimum mode. select. When the optimal intra prediction mode is selected, the intra prediction unit 24 supplies the prediction image generated in the optimal mode to the calculation unit 13 and the calculation unit 20 via the predicted image selection unit 26.
  • the intra prediction unit 24 supplies information such as intra prediction mode information indicating the adopted intra prediction mode to the lossless encoding unit 16 as appropriate.
  • the motion prediction / compensation unit 25 uses the input image supplied from the screen rearrangement buffer 12 and the reference image supplied from the frame memory 22 via the selection unit 23 for the image to be inter-coded, Perform motion prediction (inter prediction).
  • the motion prediction / compensation unit 25 performs a motion compensation process according to the detected motion vector, and generates a prediction image (inter prediction image information).
  • the motion prediction / compensation unit 25 performs such inter prediction in a plurality of modes (inter prediction modes) prepared in advance.
  • the motion prediction / compensation unit 25 generates prediction images in all candidate inter prediction modes, evaluates the cost function value of each prediction image, and selects an optimal mode.
  • the motion prediction / compensation unit 25 supplies the generated predicted image to the calculation unit 13 and the calculation unit 20 via the predicted image selection unit 26.
  • the motion prediction / compensation unit 25 supplies the inter prediction mode information indicating the adopted inter prediction mode and the motion vector information indicating the calculated motion vector to the lossless encoding unit 16.
  • the predicted image selection unit 26 supplies the output of the intra prediction unit 24 to the calculation unit 13 and the calculation unit 20 in the case of an image to be subjected to intra coding, and in the case of an image to be subjected to inter coding, the motion prediction / compensation unit 25.
  • the output is supplied to the calculation unit 13 and the calculation unit 20.
  • the rate control unit 27 controls the quantization operation rate of the quantization unit 15 based on the compressed image stored in the storage buffer 17 so that overflow or underflow does not occur.
  • FIG. 2 is a block diagram illustrating a main configuration example of an image decoding apparatus that realizes image compression by orthogonal transformation such as discrete cosine transformation or Karhunen-Labe transformation and motion compensation.
  • An image decoding device 31 shown in FIG. 2 is a decoding device corresponding to the image encoding device 1 of FIG.
  • the encoded data encoded by the image encoding device 1 is supplied to an image decoding device 31 corresponding to the image encoding device 1 via an arbitrary path such as a transmission path or a recording medium, and is decoded. .
  • the image decoding device 31 includes a storage buffer 41, a lossless decoding unit 42, an inverse quantization unit 43, an inverse orthogonal transform unit 44, a calculation unit 45, a deblock filter 46, a screen rearrangement buffer 47, And a D / A converter 48. Further, the image decoding device 31 includes a frame memory 49, a selection unit 50, an intra prediction unit 51, a motion compensation unit 52, and an image selection unit 53.
  • the accumulation buffer 41 receives and accumulates the transmitted encoded data. That is, the accumulation buffer 41 is also a receiving unit for the transmitted encoded data. This encoded data is encoded by the image encoding device 1.
  • the lossless decoding unit 42 decodes the encoded data read from the accumulation buffer 41 at a predetermined timing by a method corresponding to the encoding method of the lossless encoding unit 16 in FIG.
  • intra prediction mode information is stored in the header portion of the encoded data.
  • the lossless decoding unit 42 also decodes the intra prediction mode information and supplies the information to the intra prediction unit 51.
  • motion vector information is stored in the header portion of the encoded data.
  • the lossless decoding unit 42 also decodes the motion vector information and supplies the information to the motion compensation unit 52.
  • the inverse quantization unit 43 inversely quantizes the coefficient data (quantization coefficient) obtained by decoding by the lossless decoding unit 42 by a method corresponding to the quantization method of the quantization unit 15 in FIG. That is, the inverse quantization unit 43 performs inverse quantization of the quantization coefficient by the same method as the inverse quantization unit 18 of FIG.
  • the inverse quantization unit 43 supplies the inversely quantized coefficient data, that is, the orthogonal transform coefficient, to the inverse orthogonal transform unit 44.
  • the inverse orthogonal transform unit 44 is a method corresponding to the orthogonal transform method of the orthogonal transform unit 14 in FIG. 1 (the same method as the inverse orthogonal transform unit 19 in FIG. 1), and inverse orthogonal transforms the orthogonal transform coefficient to obtain an image code.
  • the decoding residual data corresponding to the residual data before being orthogonally transformed in the encoding apparatus 1 is obtained. For example, fourth-order inverse orthogonal transform is performed.
  • the decoded residual data obtained by the inverse orthogonal transform is supplied to the calculation unit 45.
  • a prediction image is supplied to the calculation unit 45 from the intra prediction unit 51 or the motion compensation unit 52 via the image selection unit 53.
  • the computing unit 45 adds the decoded residual data and the predicted image, and obtains decoded image data corresponding to the image data before the predicted image is subtracted by the computing unit 13 of the image encoding device 1.
  • the arithmetic unit 45 supplies the decoded image data to the deblock filter 46.
  • the deblock filter 46 removes block distortion of the supplied decoded image, and then supplies it to the screen rearrangement buffer 47.
  • the screen rearrangement buffer 47 rearranges images. That is, the order of frames rearranged for the encoding order by the screen rearrangement buffer 12 in FIG. 1 is rearranged in the original display order.
  • the D / A converter 48 D / A converts the image supplied from the screen rearrangement buffer 47, and outputs and displays it on a display (not shown).
  • the output of the deblock filter 46 is further supplied to the frame memory 49.
  • the frame memory 49, the selection unit 50, the intra prediction unit 51, the motion compensation unit 52, and the image selection unit 53 are the frame memory 22, the selection unit 23, the intra prediction unit 24, and the motion prediction / compensation unit 25 of the image encoding device 1. , And the predicted image selection unit 26, respectively.
  • the selection unit 50 reads the image to be interprocessed and the image to be referenced from the frame memory 49 and supplies them to the motion compensation unit 52. In addition, the selection unit 50 reads an image used for intra prediction from the frame memory 49 and supplies the image to the intra prediction unit 51.
  • the information indicating the intra prediction mode obtained by decoding the header information is appropriately supplied from the lossless decoding unit 42 to the intra prediction unit 51.
  • the intra prediction unit 51 generates a prediction image from the reference image acquired from the frame memory 49 based on this information, and supplies the generated prediction image to the image selection unit 53.
  • the motion compensation unit 52 acquires information (prediction mode information, motion vector information, reference frame information, flags, various parameters, and the like) obtained by decoding the header information from the lossless decoding unit 42.
  • the motion compensation unit 52 generates a prediction image from the reference image acquired from the frame memory 49 based on the information supplied from the lossless decoding unit 42 and supplies the generated prediction image to the image selection unit 53.
  • the image selection unit 53 selects the prediction image generated by the motion compensation unit 52 or the intra prediction unit 51 and supplies the selected prediction image to the calculation unit 45.
  • FIG. 3 is a block diagram illustrating a configuration example of an image encoding device to which an adaptive loop filter is applied.
  • the part 27 is omitted. Also, arrows and the like are omitted as appropriate. Therefore, in the example of FIG. 3, the reference image from the frame memory 22 is directly input to the motion prediction / compensation unit 25, and the prediction image from the motion prediction / compensation unit 25 is directly output to the calculation units 13 and 20. ing.
  • the image encoding device 61 in FIG. 3 differs from the image encoding device 1 in FIG. 1 only in that an adaptive loop filter 71 is added between the deblock filter 21 and the frame memory 22.
  • the adaptive loop filter 71 calculates an adaptive loop filter coefficient so as to minimize a residual with the original image from the screen rearrangement buffer 12 (not shown), and uses this adaptive loop filter coefficient to perform deblocking. Filter processing is performed on the decoded image from the filter 21.
  • this filter for example, a Wiener filter is used.
  • the adaptive loop filter 71 sends the calculated adaptive loop filter coefficient to the lossless encoding unit 16.
  • this adaptive loop filter coefficient is subjected to lossless encoding processing such as variable length encoding and arithmetic encoding, and inserted into the header portion of the compressed image.
  • FIG. 4 is a block diagram showing a configuration example of an image decoding apparatus corresponding to the image encoding apparatus of FIG.
  • arrows and the like are omitted as appropriate. Therefore, in the example of FIG. 4, the reference image from the frame memory 49 is directly input to the motion compensation unit 52, and the predicted image from the motion compensation unit 52 is directly output to the calculation unit 45.
  • the image decoding device 81 in FIG. 4 differs from the image decoding device 31 in FIG. 2 only in that an adaptive loop filter 91 is added between the deblock filter 46 and the frame memory 49.
  • the adaptive loop filter 91 is supplied with the adaptive loop filter coefficient decoded from the lossless decoding unit 42 and extracted from the header.
  • the adaptive loop filter 91 performs a filter process on the decoded image from the deblocking filter 46 using the supplied filter coefficient.
  • this filter for example, a Wiener filter is used.
  • the image quality of the decoded image can be improved, and further the image quality of the reference image can be improved.
  • deblock filter 21 is included in the motion compensation loop, and removes block distortion in the decoded image, that is, distortion in the region of the processing unit. Thereby, propagation of block distortion to an image referred to by motion compensation processing is suppressed.
  • deblocking_filter_control_present_flag included in Picture
  • 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”.
  • the processing is performed 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 Block boundary Strength
  • Bs has a filter strength of “3” next to “4”. Is assigned.
  • Bs has a filter strength of “2” which is the next highest after “3”. Is assigned.
  • both the pixel p and the pixel q do not belong to a macroblock to be intra-coded and if any pixel does not have a transform coefficient, the reference frame is different or the number of reference frames Bs is assigned “1” when either of the following conditions is satisfied or the motion vector is different.
  • Equation (2) The values of ⁇ and ⁇ in Equation (2) are determined according to QP as follows by default. However, the strength of the encoded data can be adjusted by the user as indicated by an arrow in the graph by using two parameters, slice_alpha_c0_offset_div2 and slice_beta_offset_div2, included in the slice header.
  • FIG. 7 shows the relationship between QP and threshold value ⁇ .
  • the curve indicating the relationship between QP and threshold value ⁇ moves in the direction of the arrow, so that the filter strength can be adjusted. Is clear.
  • the threshold ⁇ is calculated by calculating indexA from the following equations (3) and (4) using the quantization parameters qP p and qP q of the adjacent blocks P and Q, respectively. It is obtained from the table shown below.
  • the threshold ⁇ is set to B in FIG. 8 by calculating indexB from equations (3) and (5) using the quantization parameters qP p and qP q of the adjacent blocks P and Q, respectively. It is obtained from the table shown.
  • the indexA and indexB are defined as in the following formulas (3) to (5).
  • FilterOffsetA and FilterOffsetB correspond to the adjustments made by the user.
  • t c is calculated as in the following formula (9) or formula (10). That is, when the value of chromaEdgeFlag is “0”, t c is calculated as in the following formula (9).
  • 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 less than or equal to ⁇ , p′1 is obtained as in the following Expression (13).
  • p′1 p1 + Clip3 ( ⁇ t c0 , t c0 , (p2 + ((p0 + q0 + 1) >> 1) ⁇ (p1 ⁇ 1)) >> 1) (13)
  • 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 (15).
  • JM Job Model
  • JM JM
  • High Complexity Mode Low Complexity Mode.
  • a cost function value for each prediction mode Mode is calculated, and a prediction mode that minimizes the cost function value is selected as the optimum mode for the block or macroblock.
  • 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.
  • HEVC method High Efficiency Video Coding
  • H. In the H.264 / AVC format it is possible to divide one macro block into a plurality of motion compensation blocks and to have different motion information for each. That is, H. In the H.264 / AVC format, a hierarchical structure is defined by macroblocks and sub-macroblocks. For example, in the HEVC format, a coding unit (CU (Coding Unit)) is defined as shown in FIG. ing.
  • CU Coding Unit
  • CU is also called Coding Tree Block (CTB).
  • CTB Coding Tree Block
  • This is a partial area of an image in units of pictures that plays the same role as a macroblock in the H.264 / AVC format.
  • the latter is fixed to a size of 16 ⁇ 16 pixels, whereas the size of the former is not fixed, and is specified in the image compression information in each sequence.
  • the maximum size (LCU (Largest Coding Unit)) and the minimum size ((SCU (Smallest Coding Unit)) are specified. Is done.
  • the LCU size is 128 and the maximum hierarchical depth is 5.
  • split_flag is “1”
  • the 2N ⁇ 2N size CU is divided into N ⁇ N size CUs that are one level below.
  • the CU is divided into prediction units (Prediction Units (PU)) that are regions (partial regions of images in units of pictures) that are subject to intra or inter prediction processing, and regions that are subject to orthogonal transformation processing. It is divided into transform units (Transform Unit (TU)), which is (a partial area of an image in units of pictures).
  • Prediction Units PU
  • transform Unit Transform Unit
  • H In the case of an encoding method in which a CU is defined and various processes are performed in units of the CU as in the HEVC method above, H. It can be considered that a macroblock in the H.264 / AVC format corresponds to an LCU. However, since the CU has a hierarchical structure as shown in FIG. 10, the size of the LCU in the highest hierarchy is H.264, for example, 128 ⁇ 128 pixels. Generally, it is set larger than the macroblock of the H.264 / AVC format.
  • This disclosure is based on The present invention can be applied not only to an encoding method using macroblocks in the H.264 / AVC format but also to an encoding method using CU, PU, TU, and the like, such as the HEVC method. That is, since both the block and the unit indicate a region to be processed, the following description will be made using the term “target region” so as to include both as appropriate.
  • H In the case of description as an example of the H.264 / AVC format, description will be made using a block.
  • the block indicates a region to be processed, and is a unit in the HEVC format.
  • the description will be made using a unit.
  • the unit indicates a region to be processed. In the H.264 / AVC format, it is a block.
  • the adaptive offset filter (Picture Quality Adaptive Offset: PQAO) is provided between the deblock filter (DB) and the adaptive loop filter (ALF) as shown in FIG.
  • band offsets There are two types of adaptive offsets called band offsets and six types called edge offsets, and it is also possible not to apply offsets. Then, the image is divided into quad-trees, and it is possible to select which of the above-described adaptive offset types is used for encoding each region.
  • This selection information is encoded as PQAO Info.
  • the encoding unit Entropy Coding
  • a bit stream is generated, and the generated bit stream is transmitted to the decoding side.
  • a cost function value J0 of Level-0 (division depth 0) indicating a state where the region 0 is not divided is calculated.
  • cost function values J1, J2, J3, and J4 of Level-1 (division depth 0) indicating a state where the area 0 is divided into four areas 1 to 4 are calculated.
  • Partitions of Level-1 is selected by J0> (J1 + J2 + J3 + J4).
  • cost function values J5 to J20 of Level-2 (division depth 2) indicating a state where the area 0 is divided into 16 areas 5 to 20 are calculated.
  • a partition region (Partitions) of Level-1 is selected in region 1 by J1 ⁇ (J5 + J6 + J9 + J10).
  • a Level-2 partition region (Partitions) is selected by J2> (J7 + J8 + J11 + J12).
  • J3> J13 + J14 + J17 + J18
  • J4> J15 + J16 + J19 + J20
  • the division region (Partitions) of Level-1 is selected in the region 4.
  • the final quad-tree region (Partitions) indicated by A4 in the quad-tree structure is determined. Then, for each region of the quad-tree structure determined, cost function values are calculated for all of the two types of band offsets, six types of edge offsets, and no offset, and it is determined which offset is used for encoding.
  • EO (4) that is, the fourth type of edge offset is determined.
  • EO (2) that is, the second type of edge offset is determined.
  • OFF that is, no offset is determined.
  • BO (1) that is, the first type of band offset
  • EO (2) that is, 2 of edge offset
  • the type has been determined.
  • BO (2) that is, the second type of band offset
  • BO (1) that is, the first type of band offset.
  • EO (1) that is, the first type of edge offset is determined.
  • the central 16 bands are divided into the first group, and the 8 bands on both sides are divided into the second group.
  • the offset of only one of the first group and the second group is encoded and sent to the decoding side.
  • the first group and the second group have pixels. For this reason, by sending only one offset, it is possible to suppress an increase in the amount of coding due to transmission of pixel values that are not included in each quad-tree region.
  • the luminance signal is limited to 16,235
  • the color difference signal is limited to 16,240.
  • the broadcast legal shown in the lower part of FIG. 13 is applied, and the offset value for each of the two bands on both sides indicated by the crosses is not transmitted.
  • the pixel value is compared with the adjacent pixel value adjacent to the pixel value, and the offset value is transmitted to the category corresponding thereto.
  • edge offset there are four one-dimensional patterns shown in FIGS. 14A to 14D and two two-dimensional patterns shown in E and F of FIG.
  • the offset is transmitted in the indicated category.
  • 14A shows that 1-D, 0-degree in which adjacent pixels are arranged one-dimensionally to the left and right of the pixel C, that is, 0 degrees with respect to the pattern of A in FIG. Represents a pattern.
  • 14B 1-D, 90-degree in which adjacent pixels are arranged one-dimensionally above and below the pixel C, that is, 90 degrees with respect to the pattern of A in FIG. Represents a pattern.
  • adjacent pixels are arranged one-dimensionally in the upper left and lower right with respect to the pixel C, that is, 1-D, which forms 135 degrees with respect to the pattern of A in FIG. Represents a 135-degree pattern.
  • adjacent pixels are arranged one-dimensionally on the upper right and lower left with respect to the pixel C, that is, 45 degrees with respect to the pattern of A in FIG. Represents the -degree pattern.
  • E in FIG. 14 represents a 2-D, cross pattern in which adjacent pixels are two-dimensionally arranged with respect to the pixel C, that is, intersect with the pixel C.
  • 14F shows that 2-D, diagonal in which adjacent pixels are two-dimensionally arranged with respect to the pixel C, ie, upper right lower left and upper left lower right, that is, obliquely intersect the pixel C. Represents a pattern.
  • FIG. 15A shows a one-dimensional pattern rule list (Classification rule for 1-D patterns).
  • the patterns A in FIG. 14 to D in FIG. 14 are classified into five types of categories as shown in FIG. 15A, offsets are calculated based on the categories, and sent to the decoding unit.
  • the pixel value of the pixel C When the pixel value of the pixel C is smaller than the pixel values of two adjacent pixels, it is classified into category 1. When the pixel value of the pixel C is smaller than the pixel value of one adjacent pixel and matches the pixel value of the other adjacent pixel, it is classified into category 2. When the pixel value of the pixel C is larger than the pixel value of one adjacent pixel and matches the pixel value of the other adjacent pixel, it is classified into category 3. When the pixel value of the pixel C is larger than the pixel values of two adjacent pixels, it is classified into category 4. If none of the above, it is classified into category 0.
  • FIG. 15B shows a two-dimensional pattern rule list (Classification rule for 2-D patterns).
  • the patterns of E of FIG. 14 and F of FIG. 14 are classified into seven types of categories as shown in FIG. 15B, and offsets are sent to the decoding unit according to the categories.
  • the pixel C When the pixel value of the pixel C is smaller than the pixel values of the four adjacent pixels, it is classified into category 1. When the pixel value of the pixel C is smaller than the pixel values of the three adjacent pixels and matches the pixel value of the fourth adjacent pixel, the pixel C is classified into category 2. When the pixel value of the pixel C is smaller than the pixel values of the three adjacent pixels and larger than the pixel value of the fourth adjacent pixel, the pixel C is classified into category 3.
  • the pixel C When the pixel value of the pixel C is larger than the pixel values of the three adjacent pixels and smaller than the pixel value of the fourth adjacent pixel, it is classified into category 4. When the pixel value of the pixel C is larger than the pixel values of the three adjacent pixels and matches the pixel value of the fourth adjacent pixel, the pixel C is classified into category 5. When the pixel value of the pixel C is larger than the pixel values of the four adjacent pixels, it is classified into category 6. If none of the above, it is classified into category 0.
  • the 1-bit offset value is sent to the decoding side with higher accuracy than the low-delay encoding condition.
  • the above-described adaptive offset processing is processing that is performed for each region in which the quad-tree structure is determined in the HEVC scheme, that is, processing that is performed on a block basis. Therefore, block distortion may occur due to such block-based processing performed after the deblocking filter.
  • adaptive offset processing is performed prior to the deblocking filter.
  • the filter strength is adjusted in consideration of the adaptive offset process.
  • FIG. 16 illustrates a configuration of an embodiment of an image encoding device as an image processing device to which the present disclosure is applied.
  • the image encoding device 101 shown in FIG. 16 encodes image data using a prediction process.
  • a method according to HEVC High Efficiency Video Coding
  • the image encoding apparatus 101 is different from the HEVC method described above with reference to FIG. 11 in that the adaptive offset unit 111 is provided in front of the deblocking filter 112.
  • the image encoding device 101 in FIG. 16 includes a calculation unit 20, a frame memory 22, a selection unit 23, an intra prediction unit 24, a motion prediction / compensation unit 25, a predicted image selection unit 26, and a rate control unit 27. This is common with the image encoding device 1 of FIG.
  • the image encoding device 101 of FIG. 16 is different from the image encoding device 1 of FIG. 1 in that the adaptive loop filter 71 of FIG. 3 described above is added.
  • the image coding apparatus 101 in FIG. 16 is different from the image coding apparatus 101 in FIG. 1 in that the deblock filter 21 is replaced with the deblock filter 112 and an adaptive offset unit 111 and a deblock filter control unit 113 are added. This is different from the encoding device 1.
  • the quantization unit 15 sets the quantization parameter based on the information related to the target value of the code amount supplied from the rate control unit 27 and performs the quantization similarly to the quantization unit 15 of FIG. However, at that time, the quantization unit 15 supplies the set quantization parameter information to the deblocking filter 112.
  • the lossless encoding unit 16 encodes the quantized transform coefficients and encodes various types of information such as filter coefficients, prediction mode information, and quantization parameters, similar to the lossless encoding unit 16 of FIG. A part of the header information of the data. However, at this time, the lossless encoding unit 16 also uses the quad-tree structure and offset value information from the adaptive offset unit 111 as part of the header information of the encoded data. Further, the lossless encoding unit 16 supplies syntax elements such as prediction mode information and motion vector information to the deblocking filter 112.
  • the adaptive offset unit 111, the deblock filter 112 (including the deblock filter control unit 113), and the adaptive loop filter 71 are provided in the motion compensation loop in that order.
  • the motion compensation loop is an arithmetic unit 13, an orthogonal transformation unit 14, a quantization unit 15, an inverse quantization unit 18, an inverse orthogonal transformation unit 19, an arithmetic unit 20, a frame memory 22, a selection unit 23, an intra prediction unit 24, or a motion.
  • This block includes a prediction / compensation unit 25 and a predicted image selection unit 26.
  • filter processing performed by the adaptive offset unit 111, the deblocking filter 112, and the adaptive loop filter 71 in the motion compensation loop is collectively referred to as in-loop filter processing.
  • the adaptive offset unit 111 performs an offset process on the decoded image (baseband information after local decoding) from the calculation unit 20. That is, the adaptive offset unit 111 determines the quad-tree structure described above with reference to FIG. Specifically, the adaptive offset unit 111 performs quad-tree region division using the decoded image, and for each divided region, the offset is selected from two types of band offset, six types of edge offset, and no offset. Determine the type of. Further, the adaptive offset unit 111 calculates an offset value for each divided region with reference to the quad-tree structure.
  • the adaptive offset unit 111 performs an offset process on the decoded image from the calculation unit 20 using the determined quad-tree structure and the offset value. Then, the adaptive offset unit 111 supplies the image after the offset process to the deblocking filter 112. In addition, the adaptive offset unit 111 supplies information on the determined quad-tree structure to the deblock filter control unit 113, and supplies information on the determined quad-tree structure and the calculated offset to the lossless encoding unit 16. To do.
  • the deblocking filter 112 is supplied with the quantization parameter information of the target region from the quantization unit 15, the syntax element from the lossless encoding unit 16, and the control information of the deblocking filter control unit 113.
  • the deblocking filter 112 determines a filter parameter based on the quantization parameter and the syntax element. Further, the deblocking filter 112 adjusts the filter strength of the determined filter parameter based on the control information of the deblocking filter control unit 113.
  • the deblocking filter 112 determines a filter (filter characteristic) using the determined or adjusted filter parameter, and performs deblocking filter processing on the image after the offset processing using the determined filter.
  • the filtered image is supplied to the adaptive loop filter 71.
  • the deblock filter control unit 113 determines whether or not the target area for the deblock filter process is a boundary of the target area for the adaptive offset process based on the quad-tree structure information from the adaptive offset unit 111. When the target area for the deblocking filter process is a boundary between the target areas for the adaptive offset process, the deblocking filter control unit 113 supplies control information for strongly adjusting the filter strength to the deblocking filter 112.
  • the adaptive loop filter 71 calculates an adaptive loop filter coefficient so as to minimize the residual from the original image (not shown) from the screen rearrangement buffer 12, and uses this adaptive loop filter coefficient to perform deblocking. Filter processing is performed on the decoded image from the filter 112. As this filter, for example, a Wiener filter is used. This improves the image quality.
  • the adaptive loop filter 71 sends the calculated adaptive loop filter coefficient to the lossless encoding unit 16.
  • this adaptive loop filter coefficient is subjected to lossless encoding processing such as variable length encoding and arithmetic encoding, and inserted into the header portion of the compressed image.
  • the filter process of the adaptive offset unit 111 is performed prior to the deblock filter 112. As a result, the block distortion caused by the filter processing of the adaptive offset unit 111 can be removed by the deblocking filter.
  • the deblock filter control unit 113 performs deblock filter processing in consideration of adaptive offset processing.
  • the deblocking filter control unit 113 uses a method described below to increase the strength of the region.
  • the deblocking filter 112 is caused to perform high filtering.
  • the first method is a method in which the value of Bs (Boundary Strength) described above with reference to FIG.
  • the second method is a method of setting the value of Bs to 4 with respect to the boundary of the region regardless of other conditions.
  • the intensity adjustment based on the threshold value ⁇ / ⁇ described above with reference to FIGS. 7 and 8 is performed instead of the intensity adjustment based on the value of Bs. Is also possible.
  • the third method performs table lookup on the boundary of such a region by using QP + ⁇ QP using a predetermined ⁇ QP instead of the quantization parameter QP in FIGS.
  • the deblock filter control unit 113 reflects the result of the adaptive offset process (quad-tree structure information) in the filter process of the deblock filter 112 at the subsequent stage. Thereby, block distortion can be removed more appropriately, and the image quality of the decoded image can be improved.
  • FIG. 17 is a block diagram illustrating a configuration example of the adaptive offset unit 111 and the deblock filter 112.
  • an example of filter strength adjustment by the value of Bs using the first or second method is shown as a filter strength adjustment method.
  • the adaptive offset unit 111 is configured to include a quad-tree structure determining unit 131, an offset calculating unit 132, an offset unit 133, and a pixel buffer 134.
  • the deblocking filter 112 is configured to include an ⁇ / ⁇ determination unit 141, a Bs determination unit 142, a filter determination unit 143, and a filtering unit 144.
  • the pixel value before the offset process from the calculation unit 20 is supplied to the quad-tree structure determination unit 131, the offset calculation unit 132, and the offset unit 133.
  • the input pixel value from the screen rearrangement buffer 12 is actually supplied to the quad-tree structure determination unit 131 and the offset calculation unit 132.
  • the quad-tree structure determination unit 131 determines the quad-tree structure as described above with reference to FIG. 12 using the pixel value before the offset process and the input pixel value from the screen rearrangement buffer 12. That is, the quad-tree structure determining unit 131 divides an image into quad-trees, and determines which of the above-described adaptive offset types is to be encoded in each divided region by using the pixel value before the offset process and the input pixel value. The cost function value using etc. is obtained and determined.
  • the quad-tree structure determination unit 131 supplies information on the determined quad-tree structure to the offset calculation unit 132, the offset unit 133, the deblock filter control unit 113, and the lossless encoding unit 16.
  • the offset calculation unit 132 calculates an offset for each quad-tree divided region indicated by the information from the quad-tree structure determination unit 131 with respect to the pixel value before the offset processing from the calculation unit 20.
  • the offset calculation unit 132 supplies the calculated offset information to the offset unit 133 and the lossless encoding unit 16.
  • the lossless encoding unit 16 receives the quad-tree structure information from the quad-tree structure determination unit 131 and the offset information from the offset calculation unit 132, encodes the information, and encodes header information of the encoded data. And
  • the offset unit 133 performs an offset process on the pixel value before the offset process from the calculation unit 20. That is, the offset unit 133 adds the offset value indicated by the information from the offset calculating unit 132 to the pixel value of each region that is quad-tree divided by the quad-tree structure determining unit 131. The offset unit 133 accumulates the pixel value after the offset process in the pixel buffer 134.
  • the pixel buffer 134 accumulates the pixel value after the offset process, and supplies the accumulated pixel value after the offset process to the filter determination unit 143 at a predetermined timing.
  • the ⁇ / ⁇ determination unit 141 acquires the quantization parameter information of the target region of the deblocking filter process supplied from the quantization unit 15, and based on the quantization parameter indicated by the acquired information, FIG. 7 and FIG.
  • the threshold value ⁇ / ⁇ described above is determined with reference to FIG.
  • the ⁇ / ⁇ determination unit 141 supplies the determined threshold ⁇ / ⁇ value to the filter determination unit 143 as one of the filter parameters.
  • the Bs determination unit 142 acquires syntax elements such as a prediction mode and motion vector information from the lossless encoding unit 16. Based on the acquired information, the Bs determination unit 142 determines the value of Bs by the method described above with reference to FIG. Further, when receiving the control information from the deblock filter control unit 113, the Bs determination unit 142, based on the control information from the deblock filter control unit 113, by the first method or the second method described above, Adjust the Bs value. The Bs determination unit 142 supplies the determined or adjusted Bs value to the filter determination unit 143 as one of the filter parameters.
  • the filter determination unit 143 determines a filter (filter characteristic) from the filter parameters from the ⁇ / ⁇ determination unit 141 and the Bs determination unit 142, and supplies the determined filter control information to the filtering unit 144. At that time, the filter determination unit 143 also supplies the pixel value after the offset processing supplied from the pixel buffer 134 and before the deblocking filter to the filtering unit 144.
  • the filtering unit 144 performs a filtering process on the pixel value before the deblocking filter from the filter determining unit 143, using the filter indicated by the filter control information from the filter determining unit 143.
  • the filtering unit 144 supplies the pixel value after the deblocking filter subjected to the filtering process to the adaptive loop filter 71.
  • step S101 the A / D conversion unit 11 performs A / D conversion on the input image.
  • step S102 the screen rearrangement buffer 12 stores the A / D converted image, and rearranges the picture from the display order to the encoding order.
  • the decoded image to be referred to is read from the frame memory 22 and the intra-prediction unit via the selection unit 23 24.
  • the intra prediction unit 24 performs intra prediction on the pixels of the block to be processed in all candidate intra prediction modes. Note that pixels that have not been filtered or offset by the adaptive offset unit 111, the deblocking filter 112, and the adaptive loop filter 71 are used as the decoded pixels that are referred to.
  • intra prediction is performed in all candidate intra prediction modes, and the cost function shown in the equation (33) or the equation (34) is used for all candidate intra prediction modes, A cost function value is calculated. Then, based on the calculated cost function value, the optimal intra prediction mode is selected, and the predicted image generated by the intra prediction in the optimal intra prediction mode and its cost function value are supplied to the predicted image selection unit 26.
  • the processing target image supplied from the screen rearrangement buffer 12 is an inter-processed image
  • the referenced image is read from the frame memory 22 and supplied to the motion prediction / compensation unit 25 via the selection unit 23. Is done.
  • the motion prediction / compensation unit 25 performs motion prediction / compensation processing.
  • motion prediction processing is performed in all candidate inter prediction modes, and the cost function shown in Expression (33) or Expression (34) is used for all candidate inter prediction modes.
  • a cost function value is calculated. Based on the calculated cost function value, the optimal inter prediction mode is determined, and the predicted image generated in the optimal inter prediction mode and its cost function value are supplied to the predicted image selection unit 26.
  • step S ⁇ b> 105 the predicted image selection unit 26 optimizes one of the optimal intra prediction mode and the optimal inter prediction mode based on the cost function values output from the intra prediction unit 24 and the motion prediction / compensation unit 25. Determine the prediction mode. Then, the predicted image selection unit 26 selects the predicted image in the determined optimal prediction mode and supplies it to the calculation units 13 and 20. This predicted image is used for calculations in steps S106 and S111 described later.
  • the prediction image selection information is supplied to the intra prediction unit 24 or the motion prediction / compensation unit 25.
  • the intra prediction unit 24 supplies information indicating the optimal intra prediction mode (that is, intra prediction mode information) to the lossless encoding unit 16.
  • the motion prediction / compensation unit 25 When the prediction image of the optimal inter prediction mode is selected, the motion prediction / compensation unit 25 further includes information indicating the optimal inter prediction mode and, if necessary, information corresponding to the optimal inter prediction mode as a lossless encoding unit. 16 is output.
  • Information according to the optimal inter prediction mode includes motion vector information and reference frame information.
  • step S106 the calculation unit 13 calculates a difference between the image rearranged in step S102 and the predicted image selected in step S105.
  • the predicted image is supplied from the motion prediction / compensation unit 25 in the case of inter prediction, and from the intra prediction unit 24 in the case of intra prediction, to the calculation unit 13 via the predicted image selection unit 26, respectively.
  • ⁇ 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 S107 the orthogonal transform unit 14 performs orthogonal transform on the difference information supplied from the calculation unit 13. Specifically, orthogonal transformation such as discrete cosine transformation and Karhunen-Loeve transformation is performed, and transformation coefficients are output.
  • orthogonal transformation such as discrete cosine transformation and Karhunen-Loeve transformation is performed, and transformation coefficients are output.
  • step S108 the quantization unit 15 quantizes the transform coefficient.
  • the quantization unit 15 sets a quantization parameter based on information about the target value of the code amount supplied from the rate control unit 27 and performs quantization, as will be described in the process of step S116 described later. At this time, the quantization unit 15 supplies the set quantization parameter information to the deblock filter 112.
  • step S109 the inverse quantization unit 18 inversely quantizes the transform coefficient quantized by the quantization unit 15 with characteristics corresponding to the characteristics of the quantization unit 15.
  • step S ⁇ b> 110 the inverse orthogonal transform unit 19 performs inverse orthogonal transform on the transform coefficient inversely quantized by the inverse quantization unit 18 with characteristics corresponding to the characteristics of the orthogonal transform unit 14.
  • step S111 the calculation unit 20 adds the predicted image input via the predicted image selection unit 26 to the locally decoded difference information, and the locally decoded (that is, locally decoded) image. (An image corresponding to the input to the calculation unit 13) is generated.
  • step S112 the adaptive offset unit 111, the deblock filter 112, the deblock filter control unit 113, and the adaptive loop filter 71 perform in-loop filter processing.
  • adaptive offset processing is performed to remove ringing and the like.
  • the in-loop filter processing allows the filter to be based on the result of adaptive offset processing (quad-tree structure information). It is determined. Then, the deblocking filter process is performed on the pixel value after the offset process by the determined filter, and the block distortion is removed. Further, by this in-loop filter process, the image value is improved so that the adaptive loop filter process is performed on the pixel value after the deblocking filter to minimize the deterioration.
  • the pixel value after the adaptive filter processing is output to the frame memory 22.
  • the quad-tree structure and offset information calculated by the adaptive offset process are supplied to the lossless encoding unit 16.
  • step S113 the frame memory 22 stores the filtered image.
  • images that are not filtered or offset by the adaptive offset unit 111, the deblocking filter 112, and the adaptive loop filter 71 are also supplied from the arithmetic unit 20 and stored.
  • the transform coefficient quantized in step S108 described above is also supplied to the lossless encoding unit 16.
  • the lossless encoding unit 16 encodes the quantized transform coefficient output from the quantization unit 15. That is, the difference image is subjected to lossless encoding such as variable length encoding and arithmetic encoding, and is compressed.
  • the intra prediction mode information from the intra prediction unit 24 or the information corresponding to the optimal inter prediction mode from the motion prediction / compensation unit 25 input to the lossless encoding unit 16 in step S105 described above, etc. is also encoded and added to the header information.
  • the quad-tree structure and offset information input to the lossless encoding unit 16 in step S112 described above are also encoded and added to the header information.
  • information indicating the inter prediction mode is encoded for each LCU.
  • Motion vector information and reference frame information are encoded for each target PU.
  • the lossless encoding unit 16 supplies syntax elements such as prediction mode information and motion vector information to the deblocking filter 112.
  • step S115 the accumulation buffer 17 accumulates the difference image as a compressed image.
  • the compressed image stored in the storage buffer 17 is appropriately read out and transmitted to the decoding side via the transmission path.
  • step S116 the rate control unit 27 controls the quantization operation rate of the quantization unit 15 based on the compressed image stored in the storage buffer 17 so that overflow or underflow does not occur.
  • step S116 When the process of step S116 is finished, the encoding process is finished.
  • This in-loop filter process is a process executed by the adaptive offset unit 111, the deblock filter 112, the deblock filter control unit 113, and the adaptive loop filter 71.
  • the quantization unit 15 supplies the quantization parameter information to the deblocking filter 112 by the process of step S108 in FIG.
  • the ⁇ / ⁇ determination unit 141 acquires information on the quantization parameter supplied from the quantization unit 15 in step S131.
  • the lossless encoding unit 16 supplies syntax elements such as prediction mode information and motion vector information to the deblocking filter 112 by the process of step S114 of FIG.
  • the Bs determination unit 142 acquires the syntax element supplied from the lossless encoding unit 16 in step S132.
  • the decoded image (baseband information after local decoding) from the calculation unit 20 is supplied to the adaptive offset unit 111 by the process of step S111 in FIG.
  • the adaptive offset unit 111 performs adaptive offset processing. This adaptive offset processing will be described later with reference to FIG.
  • step S133 the quad-tree structure described above with reference to FIG. 12 is determined, and an offset value is calculated for each divided region with reference to the quad-tree structure.
  • an offset process is performed on the decoded image from the arithmetic unit 20, and the image after the offset process is supplied to the deblocking filter 112.
  • the information on the determined quad-tree structure is supplied to the deblock filter control unit 113, and the determined quad-tree structure and the calculated offset value are supplied to the lossless encoding unit 16 as an adaptive offset parameter.
  • step S134 the ⁇ / ⁇ determination unit 141 and the Bs determination unit 142 determine the filter parameters of the deblocking filter 112.
  • the ⁇ / ⁇ determination unit 141 determines the value of the threshold ⁇ / ⁇ based on the quantization parameter indicated by the information acquired in step S131 as described above with reference to FIGS.
  • the determined threshold value ⁇ / ⁇ is supplied to the filter determination unit 143 as one of the filter parameters.
  • the Bs determination unit 142 determines the value of Bs by the method described above with reference to FIG. 6 based on the syntax element (information regarding the prediction mode and LCU) acquired in step S132. That is, the Bs determination unit 242 determines which prediction mode LCU (macroblock) the pixel p or pixel q of FIG. 5 belongs to, reference frame information, motion vector information, and the like, and performs this motion search / mode determination processing. Based on the result, the value of Bs is determined.
  • step S135 the deblock filter control unit 113 determines whether or not the target area for the deblock filter process is an adaptive offset process boundary (that is, a boundary of the target area for the adaptive offset process). This determination process is performed with reference to the result of the adaptive offset process (quad-tree structure information) obtained by the process of step S133.
  • step S135 If it is determined in step S135 that the target area for the deblocking filter process is an adaptive offset process boundary, the process proceeds to step S136.
  • step S136 the deblock filter control unit 113 adjusts the filter parameter of the deblock filter 112.
  • the deblock filter control unit 113 supplies control information for incrementing the Bs value to the Bs determination unit 142 using, for example, the first method described above.
  • the Bs determination unit 142 adjusts the filter strength so that the Bs value determined in step S134 is incremented by one, and uses the adjusted Bs value as one of the filter parameters, and the filter determination unit 143. To supply.
  • step S135 If it is determined in step S135 that the target region for the deblocking filter processing is not an adaptive offset processing boundary, the processing in step S136 is skipped. In this case, the Bs determination unit 142 supplies the Bs value determined in step S134 to the filter determination unit 143 as one of the filter parameters.
  • the filter determination unit 143 determines the filter, and together with the determined filter, the pixel value after the offset processing from the pixel buffer 134, and the pixel value before the deblocking filter, 144.
  • the filtering unit 144 uses the filter indicated by the filter control information from the filter determining unit 143 for the pixel value before the deblocking filter from the filter determining unit 143 in step S137 to filter Apply processing.
  • the filtering unit 144 supplies the pixel value after the deblocking filter subjected to the filtering process to the adaptive loop filter 71.
  • step S138 the adaptive loop filter 71 performs an adaptive loop filter process on the image after the deblocking filter from the deblocking filter 112.
  • the adaptive loop filter 71 calculates adaptive loop filter coefficients so as to minimize the residual from the original image (not shown) from the screen rearrangement buffer 12. Then, the adaptive loop filter 71 performs filter processing on the image after the deblocking filter from the deblocking filter 112 using the calculated adaptive loop filter coefficient.
  • the adaptive loop filter 71 sends the calculated adaptive loop filter coefficient to the lossless encoding unit 16.
  • this adaptive loop filter coefficient is subjected to lossless encoding processing such as variable length encoding and arithmetic encoding, and inserted into the header portion of the compressed image.
  • the image encoding apparatus 101 since the image encoding apparatus 101 performs the adaptive offset process prior to the deblocking filter, it is possible to suppress block distortion caused by the adaptive offset process.
  • the image coding apparatus 101 can perform deblocking filter processing more strongly on the boundary of the adaptive offset processing based on the information of the quad-tree structure that is the result of the adaptive offset processing. Thereby, block distortion can be removed more appropriately, and the image quality of the decoded image can be improved.
  • the quad-tree structure determination unit 131 refers to the pixel value from the calculation unit 20 and determines the quad-tree structure as described above with reference to FIG. That is, the image is divided into quad-trees, and the quad-tree structure is determined by determining which of the above-described adaptive offset types is to be encoded in each divided region using the cost function value.
  • the Information on the determined quad-tree structure is supplied to the offset calculation unit 132 and the offset unit 133.
  • step S152 the offset calculation unit 132 calculates the offset value for each quad-tree divided region with respect to the pixel value from the calculation unit 20.
  • Information indicating the calculated offset value is supplied to the offset unit 133.
  • step S153 the adaptive offset unit 111 sends the quad-tree structure and the offset to the lossless encoding unit 16 as an adaptive offset parameter. That is, the quad-tree structure determining unit 131 supplies information on the quad-tree structure to the lossless encoding unit 16. The offset calculation unit 132 supplies the calculated offset information to the lossless encoding unit 16.
  • adaptive offset parameters are encoded by the lossless encoding unit 16 and added to the header information in step S114 of FIG. 18 described above.
  • step S154 the offset unit 133 performs an offset process on the pixel value from the calculation unit 20. That is, the offset unit 133 adds the offset value calculated by the offset calculating unit 132 to the pixel value of each region that is quad-tree divided by the quad-tree structure determining unit 131.
  • the pixel value after the offset processing is accumulated in the pixel buffer 134 and is supplied to the filter determining unit 143 of the deblocking filter 112 at a predetermined timing.
  • FIG. 21 illustrates a configuration of an embodiment of an image decoding device as an image processing device to which the present disclosure is applied.
  • An image decoding apparatus 201 shown in FIG. 21 is a decoding apparatus corresponding to the image encoding apparatus 101 in FIG.
  • encoded data encoded by the image encoding device 101 is transmitted to an image decoding device 201 corresponding to the image encoding device 101 via a predetermined transmission path and decoded.
  • the image decoding device 201 in FIG. 21 is common to the image decoding device 31 in FIG. 2 in that the storage buffer 41, the lossless decoding unit 42, the inverse quantization unit 43, the inverse orthogonal transform unit 44, and the calculation unit 45 are provided. Yes.
  • the image decoding apparatus 201 in FIG. 21 includes a screen rearrangement buffer 47, a D / A conversion unit 48, a frame memory 49, a selection unit 50, an intra prediction unit 51, a motion compensation unit 52, and an image selection unit 53. It is common with the image decoding apparatus 31 of FIG.
  • the image decoding apparatus 201 in FIG. 21 is different from the image decoding in FIG. 2 in that the deblock filter 46 is replaced with the deblock filter 212 and an adaptive offset unit 211 and a deblock filter control unit 213 are added. Different from the device 31.
  • the lossless decoding unit 42 converts the information encoded by the lossless encoding unit 16 of FIG. 16 supplied from the accumulation buffer 41 into the code of the lossless encoding unit 16 as in the case of the lossless decoding unit 42 of FIG. Decoding is performed using a method corresponding to the conversion method.
  • motion vector information, reference frame information, prediction mode information (information indicating an intra prediction mode or an inter prediction mode), an adaptive offset parameter, and the like are also decoded.
  • the adaptive offset parameter includes the quad-tree structure information encoded by the lossless encoding unit 16 in FIG. 16, offset information, and the like.
  • the adaptive offset parameter is supplied to the adaptive offset unit 211.
  • the lossless decoding unit 42 supplies syntax elements such as prediction mode information and motion vector information to the deblocking filter 212.
  • the inverse quantization unit 43 is obtained by decoding the coefficient data (quantized coefficient) obtained by decoding by the lossless decoding unit 42 by the lossless decoding unit 42, similarly to the inverse quantization unit 43 of FIG. Using the quantization parameter, inverse quantization is performed by a method corresponding to the quantization method of the quantization unit 15 of FIG. At that time, the inverse quantization unit 43 supplies information on the quantization parameter to the deblocking filter 212.
  • the adaptive offset unit 211, the deblock filter 212 (including the deblock filter control unit 213), and the adaptive loop filter 91 are provided in the motion compensation loop in that order.
  • the motion compensation loop is a block including the calculation unit 45, the deblock filter 46, the adaptive loop filter 91, the frame memory 49, the selection unit 50, the motion compensation unit 52, and the image selection unit 53.
  • filter processing performed by the adaptive offset unit 211, the deblocking filter 212, and the adaptive loop filter 91 in the motion compensation loop is collectively referred to as in-loop filter processing. *
  • the adaptive offset unit 211 is supplied with quad-tree structure information and offset information, which are adaptive offset parameters from the lossless decoding unit 42.
  • the adaptive offset unit 211 performs offset processing on the pixel value of the decoded image from the calculation unit 45 using the information, and supplies the pixel value after the offset processing to the deblocking filter 212. Further, the adaptive offset unit 211 supplies the quad-tree structure information to the deblock filter control unit 213.
  • the deblock filter 212 is supplied with the quantization parameter of the target region from the inverse quantization unit 43, the syntax element from the lossless decoding unit 42, and the control information of the deblock filter control unit 213.
  • the deblocking filter 212 determines a filter parameter based on the quantization parameter and the syntax element. Further, the deblocking filter 212 adjusts the filter strength of the determined filter parameter based on the control information of the deblocking filter control unit 213.
  • the deblocking filter 212 determines a filter using the determined or adjusted filter parameter, and performs deblocking filter processing with the determined filter on the image after the offset processing.
  • the filtered image is supplied to the adaptive loop filter 91.
  • the deblock filter control unit 213 determines whether the target region for the deblock filter process is a boundary of the target region for the adaptive offset process based on the quad-tree structure information from the adaptive offset unit 211. When the target area for the deblocking filter process is the boundary of the target area for the adaptive offset process, the deblocking filter control unit 213 supplies control information for strongly adjusting the filter strength to the deblocking filter 212.
  • the adaptive loop filter coefficient decoded by the lossless decoding unit 42 and extracted from the header is supplied.
  • the adaptive loop filter 91 performs a filtering process on the decoded image from the deblocking filter 212 using the supplied filter coefficient.
  • the basic operation principles related to the present technology in the adaptive offset unit 211, the deblock filter 212, and the deblock filter control unit 213 are the adaptive offset unit 111, the deblock filter 112, and the deblock filter in FIG. This is the same as the control unit 113.
  • syntax elements such as a prediction mode and motion vector information obtained as a result of motion search and mode determination, quantization parameters, and a generated quad-tree structure
  • the operation of the deblocking filter 112 is controlled.
  • the syntax element, the quantization parameter, and the quad-tree structure information are added to the encoded data and sent from the encoding side. Therefore, in the image decoding apparatus 201, the operation of the deblocking filter 212 is controlled based on the obtained syntax elements, quantization parameters, and quad-tree structure information obtained by decoding these pieces of information. It will be.
  • FIG. 22 is a block diagram illustrating a configuration example of the adaptive offset unit 211 and the deblocking filter 212.
  • the adaptive offset unit 211 is configured to include a quad-tree structure buffer 231, an offset buffer 232, an offset unit 233, and a pixel buffer 234.
  • the deblocking filter 212 is configured to include an ⁇ / ⁇ determination unit 241, a Bs determination unit 242, a filter determination unit 243, and a filtering unit 244.
  • the quad-tree structure buffer 231 accumulates the quad-tree structure information from the lossless decoding unit 42 and supplies the quad-tree structure information to the offset unit 233 and the deblock filter control unit 213.
  • the offset information from the lossless decoding unit 42 is supplied to the offset buffer 232.
  • the offset buffer 232 accumulates the offset information from the lossless decoding unit 42 and supplies the offset information to the offset unit 233.
  • the pixel value before the offset processing from the calculation unit 45 is supplied to the offset unit 233.
  • the offset unit 233 is basically configured in the same manner as the offset unit 133 in FIG.
  • the offset unit 233 performs an offset process on the pixel value before the offset process. That is, the offset unit 233 adds the offset value from the offset buffer 232 to the pixel value of each region that is quad-tree divided by the quad-tree structure buffer 231.
  • the offset unit 233 accumulates the pixel value after the offset process in the pixel buffer 234.
  • the pixel buffer 234 is basically configured similarly to the pixel buffer 134 of FIG.
  • the pixel values after the offset processing are accumulated, and the pixel values after the offset processing are supplied to the filter determination unit 243 at a predetermined timing.
  • the quantization parameter of the target region of the deblocking filter from the inverse quantization unit 43 is supplied to the ⁇ / ⁇ determination unit 241.
  • the ⁇ / ⁇ determination unit 241 is configured basically in the same manner as the ⁇ / ⁇ determination unit 141 of FIG.
  • the ⁇ / ⁇ determination unit 241 acquires the quantization parameter of the target region of the deblocking filter process supplied from the inverse quantization unit 43, and refers to FIG. 7 and FIG. 8 based on the acquired quantization parameter.
  • the value of the threshold value ⁇ / ⁇ is determined.
  • the ⁇ / ⁇ determination unit 241 supplies the determined threshold ⁇ / ⁇ value to the filter determination unit 243 as one of the filter parameters.
  • the Bs determination unit 242 is basically configured in the same manner as the Bs determination unit 142 in FIG.
  • the Bs determination unit 242 acquires syntax elements related to the prediction mode and the LCU from the lossless decoding unit 42.
  • the Bs determination unit 242 determines the value of Bs based on the acquired information by the method described above with reference to FIG. Further, when receiving the control information from the deblock filter control unit 213, the Bs determination unit 242 is based on the control information from the deblock filter control unit 213, for example, in the first or second method, FIG.
  • the value of Bs is adjusted by a method corresponding to the Bs determination unit 142.
  • the Bs determination unit 242 supplies the determined or adjusted Bs value to the filter determination unit 243 as one of the filter parameters.
  • the filter determination unit 243 is basically configured in the same manner as the filter determination unit 143 in FIG.
  • the filter determination unit 243 determines a filter (filter characteristic) from the filter parameters from the ⁇ / ⁇ determination unit 241 and the Bs determination unit 242, and supplies the determined filter control information to the filtering unit 244.
  • the filter determination unit 243 also supplies the pixel value after the offset processing supplied from the pixel buffer 234 and before the deblocking filter to the filtering unit 244.
  • the filtering unit 244 is basically configured in the same manner as the filtering unit 144 of FIG.
  • the filtering unit 244 performs a filtering process on the pixel value before the deblocking filter from the filter determining unit 243 using a filter indicated by the filter control information from the filter determining unit 243.
  • the filtering unit 244 supplies the pixel value after the deblocking filter subjected to the filtering process to the adaptive loop filter 91.
  • step S201 the accumulation buffer 41 accumulates the transmitted encoded data.
  • step S ⁇ b> 202 the lossless decoding unit 42 decodes the encoded data supplied from the accumulation buffer 41. That is, the I picture, P picture, and B picture encoded by the lossless encoding unit 16 in FIG. 16 are decoded.
  • motion vector information reference frame information
  • prediction mode information intra prediction mode or inter prediction mode
  • adaptive offset parameter information are also decoded.
  • the prediction mode information is intra prediction mode information
  • the prediction mode information is supplied to the intra prediction unit 51.
  • the prediction mode information is inter prediction mode information
  • motion vector information corresponding to the prediction mode information is supplied to the motion compensation unit 52 and the deblock filter 212.
  • the quad-tree structure, which is an adaptive offset parameter, and the offset are supplied to the adaptive offset unit 211.
  • step S203 the intra prediction unit 51 or the motion compensation unit 52 performs a prediction image generation process corresponding to the prediction mode information supplied from the lossless decoding unit 42, respectively.
  • the intra prediction unit 51 when the intra prediction mode information is supplied from the lossless decoding unit 42, the intra prediction unit 51 generates Most Probable ⁇ Mode and generates an intra prediction image of the intra prediction mode by parallel processing.
  • the motion compensation unit 52 When the inter prediction mode information is supplied from the lossless decoding unit 42, the motion compensation unit 52 performs a motion prediction / compensation process in the inter prediction mode, and generates an inter prediction image.
  • the prediction image (intra prediction image) generated by the intra prediction unit 51 or the prediction image (inter prediction image) generated by the motion compensation unit 52 is supplied to the image selection unit 53.
  • step S204 the image selection unit 53 selects a predicted image. That is, the prediction image generated by the intra prediction unit 51 or the prediction image generated by the motion compensation unit 52 is supplied. Therefore, the supplied predicted image is selected and supplied to the calculation unit 45, and is added to the output of the inverse orthogonal transform unit 44 in step S207 described later.
  • step S202 the transform coefficient decoded by the lossless decoding unit 42 is also supplied to the inverse quantization unit 43.
  • the inverse quantization unit 43 inverts the transform coefficient decoded by the lossless decoding unit 42 using the quantization parameter decoded by the lossless decoding unit 42 with characteristics corresponding to the characteristics of the quantization unit 15 in FIG. Quantize.
  • the inverse quantization unit 43 supplies the used quantization parameter to the deblocking filter 212.
  • step S206 the inverse orthogonal transform unit 44 performs inverse orthogonal transform on the transform coefficient inversely quantized by the inverse quantization unit 43 with characteristics corresponding to the characteristics of the orthogonal transform unit 14 of FIG. Thereby, the difference information corresponding to the input of the orthogonal transform unit 14 of FIG. 16 (the output of the calculation unit 13) is decoded.
  • step S207 the calculation unit 45 adds the prediction image selected in the process of step S204 described above and input via the image selection unit 53 to the difference information. As a result, the original image is decoded.
  • step S208 the adaptive offset unit 211, the deblock filter 212, the deblock filter control unit 213, and the adaptive loop filter 91 perform in-loop filter processing.
  • adaptive offset processing is performed to remove ringing and the like.
  • the filter characteristics of the deblocking filter 212 are determined based on the result of adaptive offset processing (quad-tree structure information). Is done. Then, the deblocking filter process is performed on the pixel value after the offset process according to the determined filter characteristic, and the block distortion is removed. Further, an adaptive loop filter process is performed on the pixel value after the deblocking filter to improve the image quality. The pixel value after the adaptive filter processing is output to the frame memory 49 and the screen rearrangement buffer 47.
  • step S209 the frame memory 49 stores the adaptively filtered image.
  • step S210 the screen rearrangement buffer 47 rearranges the images after the adaptive loop filter 91. That is, the order of frames rearranged for encoding by the screen rearrangement buffer 12 of the image encoding device 101 is rearranged to the original display order.
  • step S211 the D / A converter 48 D / A converts the image from the screen rearrangement buffer 47. This image is output to a display (not shown), and the image is displayed.
  • step S211 When the process of step S211 is completed, the decryption process is terminated.
  • This in-loop filter process is a process executed by the adaptive offset unit 211, the deblock filter 212, the deblock filter control unit 213, and the adaptive loop filter 91.
  • the inverse quantization unit 43 supplies the quantization parameter information to the deblocking filter 212 by the process of step S205 in FIG.
  • the ⁇ / ⁇ determination unit 241 acquires information on the quantization parameter supplied from the inverse quantization unit 43 in step S231.
  • the lossless decoding unit 42 supplies syntax elements such as prediction mode information and motion vector information to the deblocking filter 212 by the process of step S202 of FIG.
  • the Bs determination unit 242 acquires the syntax element supplied from the lossless decoding unit 42 in step S232, and performs motion search / mode determination processing.
  • the Bs determination unit 242 determines which prediction mode LCU (macroblock) the pixel p or q of FIG. 5 belongs to, reference frame information, and motion vector information. Etc. are judged.
  • the decoded image (baseband information after local decoding) from the calculation unit 45 is supplied to the adaptive offset unit 211 by the process of step S207 in FIG.
  • the adaptive offset unit 211 performs adaptive offset processing. This adaptive offset processing will be described later with reference to FIG.
  • step S233 the quad-tree ⁇ structure and the offset value described above with reference to FIG. 12 are acquired from the lossless decoding unit 42. Then, using the acquired quad-tree structure and the offset value, an offset process is performed on the decoded image from the calculation unit 45, and the image after the offset process is supplied to the deblocking filter 212.
  • step S234 the ⁇ / ⁇ determination unit 241 and the Bs determination unit 242 determine the filter parameters of the deblocking filter 212.
  • the ⁇ / ⁇ determination unit 241 determines the value of the threshold ⁇ / ⁇ based on the quantization parameter acquired in step S232 as described above with reference to FIGS.
  • the determined threshold value ⁇ / ⁇ is supplied to the filter determination unit 243 as one of the filter parameters.
  • the Bs determination unit 242 determines the value of Bs based on the result of the motion search / mode determination process determined in step S232.
  • step S235 the deblock filter control unit 213 determines whether the target area for the deblock filter process is an adaptive offset process boundary (that is, a boundary of the target area for the adaptive offset process). This determination process is performed with reference to the result of the adaptive offset process (quad-tree structure information) obtained by the process of step S233.
  • step S235 If it is determined in step S235 that the target area for the deblocking filter process is an adaptive offset process boundary, the process proceeds to step S236.
  • the deblocking filter control unit 213 corresponds to the deblocking filter control unit 113 of the image encoding device 101, for example, by using the first method, the control information for incrementing the Bs value by +1, and the Bs determination unit 242 To supply.
  • the Bs determination unit 242 adjusts the filter strength so that the Bs value determined in step S134 is incremented by one, and the filter determination unit 243 uses the adjusted Bs value as one of the filter parameters. To supply.
  • step S235 If it is determined in step S235 that the target region for the deblocking filter processing is not an adaptive offset processing boundary, the processing in step S236 is skipped. In this case, the Bs determination unit 242 supplies the Bs value determined in step S234 to the filter determination unit 243 as one of the filter parameters.
  • the filter determination unit 243 determines the filter (characteristic), and together with the determined filter, the pixel value after the offset processing from the pixel buffer 234 and the pixel value before the deblocking filter Is supplied to the filtering unit 244.
  • the filtering unit 244 uses the filter indicated by the filter control information from the filter determining unit 243 for the pixel value before the deblocking filter from the filter determining unit 243, and performs filtering. Apply processing.
  • the filtering unit 244 supplies the pixel value after the deblocking filter subjected to the filtering process to the adaptive loop filter 91.
  • step S2308 the adaptive loop filter 91 performs an adaptive loop filter process on the image after the deblocking filter from the deblocking filter 212.
  • the lossless decoding unit 42 supplies the adaptive loop filter coefficient to the adaptive loop filter 91 by the process of step S202 of FIG.
  • the adaptive loop filter 91 performs filter processing on the image after the deblocking filter from the deblocking filter 212 using the adaptive loop filter coefficient from the lossless decoding unit 42.
  • the filtered image is supplied to the frame memory 49 and the screen rearrangement buffer 47.
  • the adaptive offset processing is performed prior to the deblocking filter, so that block distortion caused by the adaptive offset processing can be suppressed.
  • the image decoding apparatus 201 can perform deblocking filter processing more strongly on the boundary of the adaptive offset processing based on the information of the quad-tree structure that is the result of the adaptive offset processing. Thereby, block distortion can be removed more appropriately, and the image quality of the decoded image can be improved.
  • step S251 the quad-tree structure buffer 231 receives and accumulates the quad-tree structure information from the lossless decoding unit. Thereafter, the quad-tree structure buffer 231 supplies the quad-tree structure information to the offset unit 233 at a predetermined timing.
  • the offset information from the lossless decoding unit 42 is supplied to the offset buffer 232.
  • the offset buffer 232 receives and accumulates the offset value information from the lossless decoding unit. Then, the offset buffer 232 supplies offset information to the offset unit 233 at a predetermined timing.
  • step S253 the offset unit 233 performs an offset process on the pixel value after deblocking. That is, that is, the offset unit 233 adds the offset indicated by the information from the offset buffer 232 to the pixel value of each region that is quad-tree divided by the quad-tree structure buffer 231. The offset unit 233 accumulates the pixel value after the offset process in the pixel buffer 234.
  • the pixel buffer 234 supplies the pixel value after the offset process to the adaptive loop filter 91 at a predetermined timing, and the adaptive offset process ends.
  • control information generated by the deblock filter control unit 113 of the image encoding device 101 in FIG. 16 is encoded by the lossless encoding unit 16, added to the encoded data, and sent to the image decoding device 201. . Then, the control information received by the image decoding device 201 may be decoded by the lossless decoding unit 42, and the decoded control information may be used by the deblock filter control unit 213. At this time, the control information generated by the deblock filter control unit 113 is encoded, for example, for each picture, each sequence, or each slice.
  • the control information in this case includes information such as whether the boundary is determined to be an adaptive offset processing boundary, whether it is a different type of region, a region of the same type but a different category, or both. May be included.
  • the control information may include information on whether the filter strength adjustment method is the Bs value or the threshold values ⁇ and ⁇ . Further, the control information may include information on how to adjust the Bs value or the threshold values ⁇ and ⁇ (for example, whether the Bs value or the threshold values ⁇ and ⁇ are adjusted to +1 or 4). All of the above-described information may be included, or at least one of the above-described information may be included, and other information may be set in advance.
  • the present technology can be applied to a device using another coding method as long as the device performs adaptive offset processing and deblock processing in a motion compensation loop. Can be applied.
  • this disclosure includes, for example, MPEG, When receiving image information (bitstream) compressed by orthogonal transform such as discrete cosine transform and motion compensation, such as 26x, via network media such as satellite broadcasting, cable television, the Internet, or mobile phones.
  • the present invention can be applied to an image encoding device and an image decoding device used in the above.
  • the present disclosure can be applied to an image encoding device and an image decoding device that are used when processing on a storage medium such as an optical disk, a magnetic disk, and a flash memory.
  • the present disclosure can also be applied to motion prediction / compensation devices included in such image encoding devices and image decoding devices.
  • 24 is a block diagram illustrating a configuration example of hardware of a computer that executes the above-described series of processing by a program.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • An input / output interface 505 is further connected to the bus 504.
  • An input unit 506, an output unit 507, a storage unit 508, a communication unit 509, and a drive 510 are connected to the input / output interface 505.
  • the input unit 506 includes a keyboard, a mouse, a microphone, and the like.
  • the output unit 507 includes a display, a speaker, and the like.
  • the storage unit 508 includes a hard disk, a nonvolatile memory, and the like.
  • the communication unit 509 includes a network interface or the like.
  • the drive 510 drives a removable medium 511 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 501 loads the program stored in the storage unit 508 to the RAM 503 via the input / output interface 505 and the bus 504 and executes the program, for example. Is performed.
  • the program executed by the computer 500 can be provided by being recorded on a removable medium 511 as a package medium, for example.
  • the program can be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
  • the program can be installed in the storage unit 508 via the input / output interface 505 by attaching the removable medium 511 to the drive 510. Further, the program can be received by the communication unit 509 via a wired or wireless transmission medium and installed in the storage unit 508. In addition, the program can be installed in the ROM 502 or the storage unit 508 in advance.
  • 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 present technology is not limited to the above-described embodiment, and various modifications can be made without departing from the gist of the present technology.
  • An image encoding device and an image decoding device include a transmitter or a receiver in optical broadcasting, satellite broadcasting, cable broadcasting such as cable TV, distribution on the Internet, and distribution to terminals by cellular communication, etc.
  • the present invention can be applied to various electronic devices such as a recording device that records an image on a medium such as a magnetic disk and a flash memory, or a playback device that reproduces an image from these storage media.
  • a recording device that records an image on a medium such as a magnetic disk and a flash memory
  • a playback device that reproduces an image from these storage media.
  • FIG. 25 illustrates an example of a schematic configuration of a television device to which the above-described embodiment is applied.
  • the television apparatus 900 includes an antenna 901, a tuner 902, a demultiplexer 903, a decoder 904, a video signal processing unit 905, a display unit 906, an audio signal processing unit 907, a speaker 908, an external interface 909, a control unit 910, a user interface 911, And a bus 912.
  • Tuner 902 extracts a signal of a desired channel from a broadcast signal received via antenna 901, and demodulates the extracted signal. Then, the tuner 902 outputs the encoded bit stream obtained by the demodulation to the demultiplexer 903. In other words, the tuner 902 serves as a transmission unit in the television apparatus 900 that receives an encoded stream in which an image is encoded.
  • the demultiplexer 903 separates the video stream and audio stream of the viewing target program from the encoded bit stream, and outputs each separated stream to the decoder 904. Further, the demultiplexer 903 extracts auxiliary data such as EPG (Electronic Program Guide) from the encoded bit stream, and supplies the extracted data to the control unit 910. Note that the demultiplexer 903 may perform descrambling when the encoded bit stream is scrambled.
  • EPG Electronic Program Guide
  • the decoder 904 decodes the video stream and audio stream input from the demultiplexer 903. Then, the decoder 904 outputs the video data generated by the decoding process to the video signal processing unit 905. In addition, the decoder 904 outputs audio data generated by the decoding process to the audio signal processing unit 907.
  • the video signal processing unit 905 reproduces the video data input from the decoder 904 and causes the display unit 906 to display the video.
  • the video signal processing unit 905 may cause the display unit 906 to display an application screen supplied via a network.
  • the video signal processing unit 905 may perform additional processing such as noise removal on the video data according to the setting.
  • the video signal processing unit 905 may generate a GUI (Graphical User Interface) image such as a menu, a button, or a cursor, and superimpose the generated image on the output image.
  • GUI Graphic User Interface
  • the display unit 906 is driven by a drive signal supplied from the video signal processing unit 905, and displays an image on a video screen of a display device (for example, a liquid crystal display, a plasma display, or an OELD (Organic ElectroLuminescence Display) (organic EL display)). Or an image is displayed.
  • a display device for example, a liquid crystal display, a plasma display, or an OELD (Organic ElectroLuminescence Display) (organic EL display)). Or an image is displayed.
  • the audio signal processing unit 907 performs reproduction processing such as D / A conversion and amplification on the audio data input from the decoder 904, and outputs audio from the speaker 908.
  • the audio signal processing unit 907 may perform additional processing such as noise removal on the audio data.
  • the external interface 909 is an interface for connecting the television apparatus 900 to an external device or a network.
  • a video stream or an audio stream received via the external interface 909 may be decoded by the decoder 904. That is, the external interface 909 also has a role as a transmission unit in the television apparatus 900 that receives an encoded stream in which an image is encoded.
  • the control unit 910 includes a processor such as a CPU and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, EPG data, data acquired via a network, and the like.
  • the program stored in the memory is read and executed by the CPU when the television apparatus 900 is activated.
  • the CPU executes the program to control the operation of the television device 900 according to an operation signal input from the user interface 911, for example.
  • the user interface 911 is connected to the control unit 910.
  • the user interface 911 includes, for example, buttons and switches for the user to operate the television device 900, a remote control signal receiving unit, and the like.
  • the user interface 911 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 910.
  • the bus 912 connects the tuner 902, the demultiplexer 903, the decoder 904, the video signal processing unit 905, the audio signal processing unit 907, the external interface 909, and the control unit 910 to each other.
  • the decoder 904 has the function of the image decoding apparatus according to the above-described embodiment. As a result, when the image is decoded by the television apparatus 900, block distortion can be removed more appropriately, and the image quality of the decoded image can be improved.
  • FIG. 26 shows an example of a schematic configuration of a mobile phone to which the above-described embodiment is applied.
  • a mobile phone 920 includes an antenna 921, a communication unit 922, an audio codec 923, a speaker 924, a microphone 925, a camera unit 926, an image processing unit 927, a demultiplexing unit 928, a recording / reproducing unit 929, a display unit 930, a control unit 931, an operation A portion 932 and a bus 933.
  • the antenna 921 is connected to the communication unit 922.
  • the speaker 924 and the microphone 925 are connected to the audio codec 923.
  • the operation unit 932 is connected to the control unit 931.
  • the bus 933 connects the communication unit 922, the audio codec 923, the camera unit 926, the image processing unit 927, the demultiplexing unit 928, the recording / reproducing unit 929, the display unit 930, and the control unit 931 to each other.
  • the mobile phone 920 has various operation modes including a voice call mode, a data communication mode, a shooting mode, and a videophone mode, and is used for sending and receiving voice signals, sending and receiving e-mail or image data, taking images, and recording data. Perform the action.
  • the analog voice signal generated by the microphone 925 is supplied to the voice codec 923.
  • the audio codec 923 converts an analog audio signal into audio data, A / D converts the compressed audio data, and compresses it. Then, the audio codec 923 outputs the compressed audio data to the communication unit 922.
  • the communication unit 922 encodes and modulates the audio data and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921. In addition, the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • the communication unit 922 demodulates and decodes the received signal to generate audio data, and outputs the generated audio data to the audio codec 923.
  • the audio codec 923 decompresses the audio data and performs D / A conversion to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
  • the control unit 931 generates character data constituting the e-mail in response to an operation by the user via the operation unit 932.
  • the control unit 931 causes the display unit 930 to display characters.
  • the control unit 931 generates e-mail data in response to a transmission instruction from the user via the operation unit 932, and outputs the generated e-mail data to the communication unit 922.
  • the communication unit 922 encodes and modulates email data and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
  • the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • the communication unit 922 demodulates and decodes the received signal to restore the email data, and outputs the restored email data to the control unit 931.
  • the control unit 931 displays the content of the electronic mail on the display unit 930 and stores the electronic mail data in the storage medium of the recording / reproducing unit 929.
  • the recording / reproducing unit 929 has an arbitrary readable / writable storage medium.
  • the storage medium may be a built-in storage medium such as RAM or flash memory, and is externally mounted such as a hard disk, magnetic disk, magneto-optical disk, optical disk, USB (Unallocated Space Space Bitmap) memory, or memory card. It may be a storage medium.
  • the camera unit 926 images a subject to generate image data, and outputs the generated image data to the image processing unit 927.
  • the image processing unit 927 encodes the image data input from the camera unit 926 and stores the encoded stream in the storage medium of the storage / playback unit 929.
  • the demultiplexing unit 928 multiplexes the video stream encoded by the image processing unit 927 and the audio stream input from the audio codec 923, and the multiplexed stream is the communication unit 922. Output to.
  • the communication unit 922 encodes and modulates the stream and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
  • the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • These transmission signal and reception signal may include an encoded bit stream.
  • the communication unit 922 demodulates and decodes the received signal to restore the stream, and outputs the restored stream to the demultiplexing unit 928.
  • the demultiplexing unit 928 separates the video stream and the audio stream from the input stream, and outputs the video stream to the image processing unit 927 and the audio stream to the audio codec 923.
  • the image processing unit 927 decodes the video stream and generates video data.
  • the video data is supplied to the display unit 930, and a series of images is displayed on the display unit 930.
  • the audio codec 923 decompresses the audio stream and performs D / A conversion to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
  • the image processing unit 927 has the functions of the image encoding device and the image decoding device according to the above-described embodiment. Therefore, when encoding and decoding an image with the mobile phone 920, block distortion can be removed more appropriately, and the image quality of the decoded image can be improved.
  • FIG. 27 shows an example of a schematic configuration of a recording / reproducing apparatus to which the above-described embodiment is applied.
  • the recording / reproducing device 940 encodes audio data and video data of a received broadcast program and records the encoded data on a recording medium.
  • the recording / reproducing device 940 may encode audio data and video data acquired from another device and record them on a recording medium, for example.
  • the recording / reproducing device 940 reproduces data recorded on the recording medium on a monitor and a speaker, for example, in accordance with a user instruction. At this time, the recording / reproducing device 940 decodes the audio data and the video data.
  • the recording / reproducing apparatus 940 includes a tuner 941, an external interface 942, an encoder 943, an HDD (Hard Disk Drive) 944, a disk drive 945, a selector 946, a decoder 947, an OSD (On-Screen Display) 948, a control unit 949, and a user interface. 950.
  • Tuner 941 extracts a signal of a desired channel from a broadcast signal received via an antenna (not shown), and demodulates the extracted signal. Then, the tuner 941 outputs the encoded bit stream obtained by the demodulation to the selector 946. That is, the tuner 941 has a role as a transmission unit in the recording / reproducing apparatus 940.
  • the external interface 942 is an interface for connecting the recording / reproducing apparatus 940 to an external device or a network.
  • the external interface 942 may be, for example, an IEEE1394 interface, a network interface, a USB interface, or a flash memory interface.
  • video data and audio data received via the external interface 942 are input to the encoder 943. That is, the external interface 942 serves as a transmission unit in the recording / reproducing device 940.
  • the encoder 943 encodes video data and audio data when the video data and audio data input from the external interface 942 are not encoded. Then, the encoder 943 outputs the encoded bit stream to the selector 946.
  • the HDD 944 records an encoded bit stream in which content data such as video and audio is compressed, various programs, and other data on an internal hard disk. Further, the HDD 944 reads out these data from the hard disk when reproducing video and audio.
  • the disk drive 945 performs recording and reading of data to and from the mounted recording medium.
  • the recording medium mounted on the disk drive 945 is, for example, a DVD disk (DVD-Video, DVD-RAM, DVD-R, DVD-RW, DVD + R, DVD + RW, etc.) or a Blu-ray (registered trademark) disk. It may be.
  • the selector 946 selects an encoded bit stream input from the tuner 941 or the encoder 943 when recording video and audio, and outputs the selected encoded bit stream to the HDD 944 or the disk drive 945. In addition, the selector 946 outputs the encoded bit stream input from the HDD 944 or the disk drive 945 to the decoder 947 during video and audio reproduction.
  • the decoder 947 decodes the encoded bit stream and generates video data and audio data. Then, the decoder 947 outputs the generated video data to the OSD 948. The decoder 904 outputs the generated audio data to an external speaker.
  • OSD 948 reproduces the video data input from the decoder 947 and displays the video. Further, the OSD 948 may superimpose a GUI image such as a menu, a button, or a cursor on the video to be displayed.
  • the control unit 949 includes a processor such as a CPU and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, and the like.
  • the program stored in the memory is read and executed by the CPU when the recording / reproducing apparatus 940 is activated, for example.
  • the CPU controls the operation of the recording / reproducing apparatus 940 in accordance with an operation signal input from the user interface 950, for example, by executing the program.
  • the user interface 950 is connected to the control unit 949.
  • the user interface 950 includes, for example, buttons and switches for the user to operate the recording / reproducing device 940, a remote control signal receiving unit, and the like.
  • the user interface 950 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 949.
  • the encoder 943 has the function of the image encoding apparatus according to the above-described embodiment.
  • the decoder 947 has the function of the image decoding apparatus according to the above-described embodiment.
  • FIG. 28 illustrates an example of a schematic configuration of an imaging apparatus to which the above-described embodiment is applied.
  • the imaging device 960 images a subject to generate an image, encodes the image data, and records it on a recording medium.
  • the imaging device 960 includes an optical block 961, an imaging unit 962, a signal processing unit 963, an image processing unit 964, a display unit 965, an external interface 966, a memory 967, a media drive 968, an OSD 969, a control unit 970, a user interface 971, and a bus. 972.
  • the optical block 961 is connected to the imaging unit 962.
  • the imaging unit 962 is connected to the signal processing unit 963.
  • the display unit 965 is connected to the image processing unit 964.
  • the user interface 971 is connected to the control unit 970.
  • the bus 972 connects the image processing unit 964, the external interface 966, the memory 967, the media drive 968, the OSD 969, and the control unit 970 to each other.
  • the optical block 961 includes a focus lens and a diaphragm mechanism.
  • the optical block 961 forms an optical image of the subject on the imaging surface of the imaging unit 962.
  • the imaging unit 962 includes an image sensor such as a CCD (Charge-Coupled Device) or a CMOS (Complementary Metal-Oxide Semiconductor), and converts an optical image formed on the imaging surface into an image signal as an electrical signal by photoelectric conversion. Then, the imaging unit 962 outputs the image signal to the signal processing unit 963.
  • CCD Charge-Coupled Device
  • CMOS Complementary Metal-Oxide Semiconductor
  • the signal processing unit 963 performs various camera signal processing such as knee correction, gamma correction, and color correction on the image signal input from the imaging unit 962.
  • the signal processing unit 963 outputs the image data after the camera signal processing to the image processing unit 964.
  • the image processing unit 964 encodes the image data input from the signal processing unit 963 and generates encoded data. Then, the image processing unit 964 outputs the generated encoded data to the external interface 966 or the media drive 968. The image processing unit 964 also decodes encoded data input from the external interface 966 or the media drive 968 to generate image data. Then, the image processing unit 964 outputs the generated image data to the display unit 965. In addition, the image processing unit 964 may display the image by outputting the image data input from the signal processing unit 963 to the display unit 965. Further, the image processing unit 964 may superimpose display data acquired from the OSD 969 on an image output to the display unit 965.
  • the OSD 969 generates a GUI image such as a menu, a button, or a cursor, and outputs the generated image to the image processing unit 964.
  • the external interface 966 is configured as a USB input / output terminal, for example.
  • the external interface 966 connects the imaging device 960 and a printer, for example, when printing an image.
  • a drive is connected to the external interface 966 as necessary.
  • a removable medium such as a magnetic disk or an optical disk is attached to the drive, and a program read from the removable medium can be installed in the imaging device 960.
  • the external interface 966 may be configured as a network interface connected to a network such as a LAN or the Internet. That is, the external interface 966 has a role as a transmission unit in the imaging device 960.
  • the recording medium mounted on the media drive 968 may be any readable / writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory.
  • a recording medium may be fixedly mounted on the media drive 968, and a non-portable storage unit such as an internal hard disk drive or an SSD (Solid State Drive) may be configured.
  • the control unit 970 includes a processor such as a CPU and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, and the like.
  • the program stored in the memory is read and executed by the CPU when the imaging device 960 is activated, for example.
  • the CPU controls the operation of the imaging device 960 according to an operation signal input from the user interface 971 by executing the program.
  • the user interface 971 is connected to the control unit 970.
  • the user interface 971 includes, for example, buttons and switches for the user to operate the imaging device 960.
  • the user interface 971 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 970.
  • the image processing unit 964 has the functions of the image encoding device and the image decoding device according to the above-described embodiment. Thereby, when encoding and decoding an image by the imaging device 960, it is possible to more appropriately remove block distortion and improve the image quality of the decoded image.
  • the method for transmitting such information is not limited to such an example.
  • these pieces of information may be transmitted or recorded as separate data associated with the encoded bitstream without being multiplexed into the encoded bitstream.
  • the term “associate” means that an image (which may be a part of an image such as a slice or a block) included in the bitstream and information corresponding to the image can be linked at the time of decoding. Means. That is, information may be transmitted on a transmission path different from that of the image (or bit stream).
  • Information may be recorded on a recording medium (or another recording area of the same recording medium) different from the image (or bit stream). Furthermore, the information and the image (or bit stream) may be associated with each other in an arbitrary unit such as a plurality of frames, one frame, or a part of the frame.
  • this technique can also take the following structures.
  • a decoding unit that decodes an encoded stream to generate an image
  • An adaptive offset processing unit that performs an adaptive offset process on the image generated by the decoding unit; Based on the information about the quad-tree structure used by the adaptive offset process, when the target area of the deblocking filter process in the image is a boundary of the target area of the adaptive offset process, the strength of the deblocking filter process is A deblock filter adjustment unit to adjust;
  • An image processing apparatus comprising: a deblocking filter processing unit that performs the deblocking filter processing with the intensity adjusted by the deblocking filter adjustment unit for an image that has been subjected to the adaptive offset processing by the adaptive offset processing unit .
  • a target area for the deblocking filter process and an adjacent area adjacent to the target area for the deblocking filter process are boundaries of the target area for the adaptive offset processing, and When the block filter processing target area and the adjacent area are processed with different types of offsets among edge offset, band offset, and no offset, respectively, the strength of the deblock filter processing is adjusted (1)
  • An image processing apparatus according to 1.
  • the target area of the deblock filter process and an adjacent area adjacent to the target area of the deblock filter process are boundaries of the target area of the adaptive offset process, and an edge offset
  • the deblocking filter adjustment unit adjusts the strength of the deblocking filter process based on a boundary strength value.
  • the deblock filter adjustment unit may be configured such that when the target region of the deblock filter process and the adjacent region are boundaries of the target region of the adaptive offset process and are processed with different types of offsets, the boundary The image processing apparatus according to (4), wherein the strength of the deblocking filter process is adjusted by setting a strength value to +1.
  • the deblock filter adjustment unit may be configured such that when the target region of the deblock filter process and the adjacent region are boundaries of the target region of the adaptive offset process and are processed with different types of offsets, the boundary The image processing apparatus according to (4), wherein a strength value is set to 4, and the strength of the deblocking filter process is adjusted.
  • the deblock filter adjustment unit is configured such that when the deblock filter processing target region and the adjacent region are boundaries of the adaptive offset processing target region and are processed with different types of offsets, respectively,
  • the image processing apparatus according to any one of (1) to (3), wherein an intensity of the deblocking filter process is adjusted by a value or a value of ⁇ .
  • the deblock filter adjustment unit may perform quantization when the target region of the deblock filter process and the adjacent region are boundaries of the target region of the adaptive offset process and are processed with different types of offsets, respectively.
  • the image processing apparatus is Decoding the encoded stream to generate an image, Adaptive offset processing is performed on the generated image, Based on the information about the quad-tree structure used by the adaptive offset process, when the target area of the deblocking filter process in the image is a boundary of the target area of the adaptive offset process, the strength of the deblocking filter process is Adjust An image processing method for performing the deblocking filter processing with an adjusted intensity on an image on which the adaptive offset processing has been performed.
  • an adaptive offset processing unit that performs adaptive offset processing on an image that has been subjected to local decoding processing when the image is encoded; Based on the information about the quad-tree structure used by the adaptive offset process, when the target area of the deblocking filter process in the image is a boundary of the target area of the adaptive offset process, the strength of the deblocking filter process is A deblock filter adjustment unit to adjust; A deblocking filter processing unit that performs the deblocking filter processing on the image subjected to the adaptive offset processing by the adaptive offset processing unit with the intensity adjusted by the deblocking filter adjustment unit; An image processing apparatus comprising: an encoding unit that encodes the image using the image on which the deblock filter processing has been performed by the deblock filter processing unit.
  • a target region for the deblocking filter process and an adjacent region adjacent to the target region for the deblocking filter process are boundaries of the target region for the adaptive offset processing, and
  • the strength of the deblock filter processing is adjusted (10) An image processing apparatus according to 1.
  • the target area for the deblock filter process and an adjacent area adjacent to the target area for the deblock filter process are boundaries of the target area for the adaptive offset process, and an edge offset
  • the image processing apparatus according to (10) or (11) wherein the intensity of the deblocking filter processing is adjusted when processing is performed with different types of offsets of the same type among band offsets.
  • the deblocking filter adjustment unit adjusts the strength of the deblocking filter processing based on a boundary strength value.
  • the deblock filter adjustment unit When the deblock filter processing target region and the adjacent region are boundaries of the adaptive offset processing target region and are processed with different types of offsets, respectively, the deblock filter adjustment unit The image processing apparatus according to (13), wherein the strength of the deblocking filter process is adjusted by setting a strength value to +1. (15) When the deblock filter adjustment target region and the adjacent region are boundaries of the adaptive offset process target region and are processed with different types of offsets, respectively, the deblock filter adjustment unit The image processing apparatus according to (13), wherein the strength value is set to 4, and the strength of the deblocking filter process is adjusted.
  • the deblocking filter adjustment unit is configured such that when the target region of the deblocking filter process and the adjacent region are boundaries of the target region of the adaptive offset process and are processed with different types of offsets, respectively,
  • the image processing device according to any one of (10) to (12), wherein the strength of the deblocking filter processing is adjusted by a value or a value of ⁇ .
  • the deblock filter adjustment unit may perform quantization when the target region of the deblock filter process and the adjacent region are boundaries of the target region of the adaptive offset process and are processed with different types of offsets, respectively.
  • the image processing device according to (16) wherein a table lookup using a value obtained by adding the parameter QP and the predetermined value ⁇ QP is performed to determine the ⁇ value or the ⁇ value.
  • the image processing apparatus Perform adaptive offset processing for images that have been locally decoded when encoding the image, Based on the information about the quad-tree structure used by the adaptive offset process, when the target area of the deblocking filter process in the image is a boundary of the target area of the adaptive offset process, the strength of the deblocking filter process is Adjust For the image on which the adaptive offset processing has been performed, the deblocking filter processing is performed with an adjusted intensity, An image processing method for encoding the image using the image on which the deblocking filter processing has been performed.

Landscapes

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

Abstract

本開示は、ブロック歪みの除去をより適切に行い、復号画像の画質を向上させることができるようにする画像処理装置および方法に関する。 デブロックフィルタ制御部は、適応オフセット部からのquad-tree構造の情報に基づき、デブロックフィルタ処理の対象領域が、適応オフセット処理の対象領域の境界であるか否かを判定する。デブロックフィルタ処理の対象領域が、適応オフセット処理の対象領域の境界である場合、デブロックフィルタ制御部は、フィルタ強度を強く調整する制御情報を、デブロックフィルタに供給する。本開示は、例えば、画像処理装置に適用することができる。

Description

画像処理装置および方法
 本開示は画像処理装置および方法に関し、特に、復号画像の画質を向上させることができるようにした画像処理装置および方法に関する。
 近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮する符号化方式を採用して画像を圧縮符号する装置が普及しつつある。この符号化方式には、例えば、MPEG(Moving Picture Experts Group)などがある。
 特に、MPEG2(ISO/IEC 13818-2)は、汎用画像符号化方式として定義されており、飛び越し走査画像及び順次走査画像の双方、並びに標準解像度画像及び高精細画像を網羅する標準である。例えば、MPEG2は、プロフェッショナル用途及びコンシューマ用途の広範なアプリケーションに現在広く用いられている。MPEG2圧縮方式を用いることにより、例えば720×480画素を持つ標準解像度の飛び越し走査画像であれば4乃至8Mbpsの符号量(ビットレート)が割り当てられる。また、MPEG2圧縮方式を用いることにより、例えば1920×1088画素を持つ高解像度の飛び越し走査画像であれば18乃至22 Mbpsの符号量(ビットレート)が割り当てられる。これにより、高い圧縮率と良好な画質の実現が可能である。
 MPEG2は主として放送用に適合する高画質符号化を対象としていたが、MPEG1より低い符号量(ビットレート)、つまりより高い圧縮率の符号化方式には対応していなかった。携帯端末の普及により、今後そのような符号化方式のニーズは高まると思われ、これに対応してMPEG4符号化方式の標準化が行われた。画像符号化方式に関しては、1998年12月にISO/IEC 14496-2としてその規格が国際標準に承認された。
 標準化のスケジュールとしては、2003年3月にはH.264及びMPEG-4 Part10 (Advanced Video Coding、以下H.264/AVCと記す)という国際標準となっている。
 さらに、このH.264/AVCの拡張として、RGBや4:2:2、4:4:4といった、業務用に必要な符号化ツールや、MPEG-2で規定されていた8x8DCTや量子化マトリクスをも含んだFRExt (Fidelity Range Extension) の標準化が2005年2月に完了した。これにより、H.264/AVCを用いて、映画に含まれるフィルムノイズをも良好に表現することが可能な符号化方式となって、Blu-Ray Disc(商標)等の幅広いアプリケーションに用いられる運びとなった。
 しかしながら、昨今、ハイビジョン画像の4倍の、4000×2000画素程度の画像を圧縮したい、あるいは、インターネットのような、限られた伝送容量の環境において、ハイビジョン画像を配信したいといった、更なる高圧縮率符号化に対するニーズが高まっている。このため、先述の、ITU-T傘下のVCEG (=Video Coding Expert Group) において、符号化効率の改善に関する検討が継続され行なわれている。
 かかる符号化効率改善の1つとして、動き補償ループ内にFIRフィルタを持つ手法が提案されている(例えば、非特許文献1参照)。符号化装置においては、このFIRフィルタ係数を、入力画像との誤差を最小にするよう、Wiener Filterにより求めることで、参照画像における劣化を最小限に抑え、出力となる画像圧縮情報の符号化効率を向上させることが可能である。
 そして、現在、H.264/AVCより更なる符号化効率の向上を目的として、ITU-TとISO/IECとの共同の標準化団体であるJCTVC (Joint Collaboration Team - Video Coding) により、HEVC (High Efficiency Video Coding) と呼ばれる符号化方式の標準化が進められている(例えば、非特許文献2参照)。
 このHEVCにおいては、AVCにおけるマクロブロックと同様の処理単位としてコーディングユニット(CU(Coding Unit))が定義されている。このCUは、AVCのマクロブロックのようにサイズが16×16画素に固定されず、それぞれのシーケンスにおいて、画像圧縮情報中において指定される。
 CUは、最大のLCU(Largest Coding Unit)から最小のSCU(Smallest Coding Unit)まで階層的に構成される。つまり、概ね、LCUがAVCのマクロブロックに相当し、そのLCUより下の階層のCU(LCUより小さなCU)がAVCのサブマクロブロックに相当すると考えることもできる。
 ところで、HEVCにおいては、非特許文献3で提案されている適応オフセットフィルタという方法が採用されている。HEVCにおいて、適応オフセットフィルタは、デブロックフィルタと適応ループフィルタの間に設けられる。
 適応オフセットの種類としては、バンドオフセットと呼ばれるものが2種類、エッジオフセットと呼ばれるものが6種類あり、さらに、オフセットを適応しないことも可能である。そして、画像をquad-treeに分割し、それぞれの分割領域に、上述したどの適応オフセットの種類により符号化するかを選択することができる。この方法を用いることで、符号化効率を向上させることができる。
Takeshi Chujoh,Goki Yasuda,Naofumi Wada,Takashi Watanabe,Tomoo Yamakage,"Block-based Adaptive Loop Filter",VCEG-AI18,ITU - Telecommunications Standardization SectorSTUDY GROUP 16 Question 6Video Coding Experts Group (VCEG)35th Meeting: Berlin, Germany, 16-18 July, 2008 Thomas Wiegand, Woo-Jin Han, Benjamin Bross, Jens-Rainer Ohm, Gary J. Sullivan, "Working Draft 4 of High-Efficiency Video Coding ", JCTVC-F803, Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 6th Meeting: Torino, IT, 14-22 July, 2011 Chih-Ming Fu,Ching-Yeh Chen,Yu-Wen Huang,Shawmin Lei,"CE8 Subtest 3:Picture Quality Adaptive Offset",JCTVC-D122,Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 4th Meeting: Daegu, KR,20-28 January,2011
 しかしながら、非特許文献3において提案されている方法は、ブロックベースで行われる。このようなブロックベースの処理を、デブロックフィルタ処理の後に行うことにより、ブロック歪みを生じさせてしまう恐れがあった。
 本開示は、このような状況に鑑みてなされたものであり、ブロック歪みの除去をより適切に行い、復号画像の画質を向上させるものである。
 本開示の一側面の画像処理装置は、符号化ストリームを復号処理して画像を生成する復号部と、前記復号部により生成された画像を対象として、適応オフセット処理を行う適応オフセット処理部と、前記適応オフセット処理により用いられるquad-tree構造に関する情報に基づいて、前記画像におけるデブロックフィルタ処理の対象領域が、前記適応オフセット処理の対象領域の境界である場合、前記デブロックフィルタ処理の強度を調整するデブロックフィルタ調整部と、前記適応オフセット処理部により前記適応オフセット処理が行われた画像を対象として、前記デブロックフィルタ調整部により調整された強度で、前記デブロックフィルタ処理を行うデブロックフィルタ処理部とを備える。
 前記デブロックフィルタ調整部は、前記デブロックフィルタ処理の対象領域と、前記デブロックフィルタ処理の対象領域に隣接する隣接領域とが前記適応オフセット処理の対象領域の境界であり、前記デブロックフィルタ処理の対象領域と前記隣接領域とが、エッジオフセット、バンドオフセット、およびオフセットなしのうち、異なる種類のオフセットでそれぞれ処理される場合、前記デブロックフィルタ処理の強度を調整することができる。
 前記デブロックフィルタ調整部は、前記デブロックフィルタ処理の対象領域と、前記デブロックフィルタ処理の対象領域に隣接する隣接領域とが前記適応オフセット処理の対象領域の境界であり、エッジオフセットまたはバンドオフセットのうち、同じ種類のオフセットで、かつ、異なるカテゴリでそれぞれ処理される場合、前記デブロックフィルタ処理の強度を調整することができる。
 前記デブロックフィルタ調整部は、Boundary strength値により前記デブロックフィルタ処理の強度を調整することができる。
 前記デブロックフィルタ調整部は、前記デブロックフィルタ処理の対象領域と前記隣接領域とが前記適応オフセット処理の対象領域の境界であり、異なる種類のオフセットでそれぞれ処理される場合、前記Boundary strength値を+1として、前記デブロックフィルタ処理の強度を調整することができる。
 前記デブロックフィルタ調整部は、前記デブロックフィルタ処理の対象領域と前記隣接領域とが前記適応オフセット処理の対象領域の境界であり、異なる種類のオフセットでそれぞれ処理される場合、前記Boundary strength値を4として、前記デブロックフィルタ処理の強度を調整することができる。
 前記デブロックフィルタ調整部は、前記デブロックフィルタ処理の対象領域と前記隣接領域とが前記適応オフセット処理の対象領域の境界であり、異なる種類のオフセットでそれぞれ処理される場合、αの値またはβの値により前記デブロックフィルタ処理の強度を調整することができる。
 前記デブロックフィルタ調整部は、前記デブロックフィルタ処理の対象領域と前記隣接領域とが前記適応オフセット処理の対象領域の境界であり、異なる種類のオフセットでそれぞれ処理される場合、量子化パラメータQPと所定値ΔQPとを加算した値を用いたテーブル引きを行って、前記αの値またはβの値を決定することができる。
 本開示の一側面の画像処理方法は、符号化ストリームを復号処理して画像を生成し、生成された画像を対象として、適応オフセット処理を行い、前記適応オフセット処理により用いられるquad-tree構造に関する情報に基づいて、前記画像におけるデブロックフィルタ処理の対象領域が、前記適応オフセット処理の対象領域の境界である場合、前記デブロックフィルタ処理の強度を調整し、前記適応オフセット処理が行われた画像を対象として、調整された強度で、前記デブロックフィルタ処理を行う。
 本開示の他の側面の画像処理装置は、画像を符号化する際にローカル復号処理された画像を対象として、適応オフセット処理を行う適応オフセット処理部と、前記適応オフセット処理により用いられるquad-tree構造に関する情報に基づいて、前記画像におけるデブロックフィルタ処理の対象領域が、前記適応オフセット処理の対象領域の境界である場合、前記デブロックフィルタ処理の強度を調整するデブロックフィルタ調整部と、前記適応オフセット処理部により前記適応オフセット処理が行われた画像を対象として、前記デブロックフィルタ調整部により調整された強度で、前記デブロックフィルタ処理を行うデブロックフィルタ処理部と、前記デブロックフィルタ処理部により前記デブロックフィルタ処理が行われた画像を用いて、前記画像を符号化する符号化部とを備える。
 前記デブロックフィルタ調整部は、前記デブロックフィルタ処理の対象領域と、前記デブロックフィルタ処理の対象領域に隣接する隣接領域とが前記適応オフセット処理の対象領域の境界であり、前記デブロックフィルタ処理の対象領域と前記隣接領域とが、エッジオフセット、バンドオフセット、およびオフセットなしのうち、異なる種類のオフセットでそれぞれ処理される場合、前記デブロックフィルタ処理の強度を調整することができる。
 前記デブロックフィルタ調整部は、前記デブロックフィルタ処理の対象領域と、前記デブロックフィルタ処理の対象領域に隣接する隣接領域とが前記適応オフセット処理の対象領域の境界であり、エッジオフセットまたはバンドオフセットのうち、同じ種類のオフセットで、かつ、異なるカテゴリでそれぞれ処理される場合、前記デブロックフィルタ処理の強度を調整することができる。
 前記デブロックフィルタ調整部は、Boundary strength値により前記デブロックフィルタ処理の強度を調整することができる。
 前記デブロックフィルタ調整部は、前記デブロックフィルタ処理の対象領域と前記隣接領域とが前記適応オフセット処理の対象領域の境界であり、異なる種類のオフセットでそれぞれ処理される場合、前記Boundary strength値を+1として、前記デブロックフィルタ処理の強度を調整することができる。
 前記デブロックフィルタ調整部は、前記デブロックフィルタ処理の対象領域と前記隣接領域とが前記適応オフセット処理の対象領域の境界であり、異なる種類のオフセットでそれぞれ処理される場合、前記Boundary strength値を4として、前記デブロックフィルタ処理の強度を調整することができる。
 前記デブロックフィルタ調整部は、前記デブロックフィルタ処理の対象領域と前記隣接領域とが前記適応オフセット処理の対象領域の境界であり、異なる種類のオフセットでそれぞれ処理される場合、αの値またはβの値により前記デブロックフィルタ処理の強度を調整することができる。
 前記デブロックフィルタ調整部は、前記デブロックフィルタ処理の対象領域と前記隣接領域とが前記適応オフセット処理の対象領域の境界であり、異なる種類のオフセットでそれぞれ処理される場合、量子化パラメータQPと所定値ΔQPとを加算した値を用いたテーブル引きを行って、前記 αの値またはβの値を決定することができる。
 本開示の他の側面の画像処理方法は、画像処理装置が、画像を符号化する際にローカル復号処理された画像を対象として、適応オフセット処理を行い、前記適応オフセット処理により用いられるquad-tree構造に関する情報に基づいて、前記画像におけるデブロックフィルタ処理の対象領域が、前記適応オフセット処理の対象領域の境界である場合、前記デブロックフィルタ処理の強度を調整し、前記適応オフセット処理が行われた画像を対象として、調整された強度で、前記デブロックフィルタ処理を行い、前記デブロックフィルタ処理が行われた画像を用いて、前記画像を符号化する。
 本開示の一側面においては、符号化ストリームを復号処理して画像が生成され、生成された画像を対象として、適応オフセット処理が行われる。そして、前記適応オフセット処理により用いられるquad-tree構造に関する情報に基づいて、前記画像におけるデブロックフィルタ処理の対象領域が、前記適応オフセット処理の対象領域の境界である場合、前記デブロックフィルタ処理の強度が調整され、前記適応オフセット処理が行われた画像を対象として、調整された強度で、前記デブロックフィルタ処理が行われる。
 本開示の他の側面においては、画像を符号化する際にローカル復号処理された画像を対象として、適応オフセット処理が行われ、前記適応オフセット処理により用いられるquad-tree構造に関する情報に基づいて、前記画像におけるデブロックフィルタ処理の対象領域が、前記適応オフセット処理の対象領域の境界である場合、前記デブロックフィルタ処理の強度を調整される。そして、、前記適応オフセット処理が行われた画像を対象として、調整された強度で、前記デブロックフィルタ処理が行われ、前記デブロックフィルタ処理が行われた画像を用いて、前記画像が符号化される。
 なお、上述の画像処理装置は、独立した装置であっても良いし、1つの画像符号化装置または画像復号装置を構成している内部ブロックであってもよい。
 本開示の一側面によれば、画像を復号することができる。特に、ブロック歪みの除去をより適切に行い、復号画像の画質を向上させることができる。
 本開示の他の側面によれば、画像を符号化することができる。特に、ブロック歪みの除去をより適切に行い、復号画像の画質を向上させることができる。
H.264/AVC方式の画像符号化装置の主な構成例を示すブロック図である。 H.264/AVC方式の画像復号装置の主な構成例を示すブロック図である。 適応ループフィルタを適用した画像符号化装置の主な構成例を示すブロック図である。 適応ループフィルタを適用した画像復号装置の主な構成例を示すブロック図である。 デブロックフィルタの動作原理を説明する図である。 Bsの定義の方法を説明する図である。 デブロックフィルタの動作原理を説明する図である。 indexAおよびindexBとαおよびβの値の対応関係の例を示す図である。 BsおよびindexAとtC0との対応関係の例を示す図である。 コーディングユニットの構成例を説明する図である。 HEVC方式における適応オフセット処理を説明する図である。 quad-tree構造を説明する図である。 バンドオフセットを説明する図である。 エッジオフセットを説明する図である。 エッジオフセットの規則一覧表を示す図である。 本開示の画像符号化装置の主な構成例を示すブロック図である。 適応オフセット部およびデブロックフィルタの構成例を示す図である。 符号化処理の流れの例を説明するフローチャートである。 インループフィルタ処理の流れの例を説明するフローチャートである。 適応オフセット処理の流れの例を説明するフローチャートである。 画像復号装置の主な構成例を示すブロック図である。 適応オフセット部およびデブロックフィルタの構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 インループフィルタ処理の流れの例を説明するフローチャートである。 適応オフセット処理の流れの例を説明するフローチャートである。 コンピュータの主な構成例を示すブロック図である。 テレビジョン装置の概略的な構成の一例を示すブロック図である。 携帯電話機の概略的な構成の一例を示すブロック図である。 記録再生装置の概略的な構成の一例を示すブロック図である。 撮像装置の概略的な構成の一例を示すブロック図である。
 以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.従来の手法の説明
2.第1の実施の形態(画像符号化装置)
3.第2の実施の形態(画像復号装置)
4.第3の実施の形態(パーソナルコンピュータ)
5.応用例
 <1.第1の実施の形態>
[H.264/AVC方式の画像符号化装置]
 図1は、H.264及びMPEG(Moving Picture Experts Group)4 Part10(AVC(Advanced Video Coding))符号化方式により画像を符号化する画像符号化装置の一実施の形態の構成を表している。以下、H.264及びMPEG 符号化方式を、H.264/AVC方式と称する。
 図1の例において、画像符号化装置1は、A/D変換部11、画面並べ替えバッファ12、演算部13、直交変換部14、量子化部15、可逆符号化部16、蓄積バッファ17、逆量子化部18、逆直交変換部19、演算部20を含むように構成されている。また、画像符号化装置1は、デブロックフィルタ21、フレームメモリ22、選択部23、イントラ予測部24、動き予測・補償部25、予測画像選択部26、およびレート制御部27も含むように構成されている。
 A/D変換部11は、入力された画像データをA/D変換し、画面並べ替えバッファ12に出力し、記憶させる。画面並べ替えバッファ12は、記憶した表示の順番のフレームの画像を、GOP(Group of Picture)構造に応じて、符号化のためのフレームの順番に並べ替える。画面並べ替えバッファ12は、フレームの順番を並び替えた画像を、演算部13に供給する。また、画面並べ替えバッファ12は、フレームの順番を並び替えた画像を、イントラ予測部24および動き予測・補償部25にも供給する。
 演算部13は、画面並べ替えバッファ12から読み出された画像から、予測画像選択部26を介してイントラ予測部24若しくは動き予測・補償部25から供給される予測画像を減算し、その差分情報を直交変換部14に出力する。
 例えば、イントラ符号化が行われる画像の場合、演算部13は、画面並べ替えバッファ12から読み出された画像から、イントラ予測部24から供給される予測画像を減算する。また、例えば、インター符号化が行われる画像の場合、演算部13は、画面並べ替えバッファ12から読み出された画像から、動き予測・補償部25から供給される予測画像を減算する。
 直交変換部14は、演算部13から供給される差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その変換係数を量子化部15に供給する。
 量子化部15は、直交変換部14が出力する変換係数を量子化する。量子化部15は、レート制御部27から供給される符号量の目標値に関する情報に基づいて量子化パラメータを設定し、量子化を行う。量子化部15は、量子化された変換係数を可逆符号化部16に供給する。
 可逆符号化部16は、その量子化された変換係数に対して、可変長符号化、算術符号化等の可逆符号化を施す。係数データは、レート制御部27の制御の下で量子化されているので、この符号量は、レート制御部27が設定した目標値となる(若しくは目標値に近似する)。
 可逆符号化部16は、イントラ予測を示す情報などをイントラ予測部24から取得し、インター予測モードを示す情報や動きベクトル情報などを動き予測・補償部25から取得する。なお、イントラ予測(画面内予測)を示す情報は、以下、イントラ予測モード情報とも称する。また、インター予測(画面間予測)を示す情報モードを示す情報は、以下、インター予測モード情報とも称する。
 可逆符号化部16は、量子化された変換係数を符号化するとともに、フィルタ係数、イントラ予測モード情報、インター予測モード情報、および量子化パラメータなどの各種情報を、符号化データのヘッダ情報の一部とする(多重化する)。可逆符号化部16は、符号化して得られた符号化データを蓄積バッファ17に供給して蓄積させる。
 例えば、可逆符号化部16においては、可変長符号化または算術符号化等の可逆符号化処理が行われる。可変長符号化としては、H.264/AVC方式で定められているCAVLC(Context-Adaptive Variable Length Coding)などがあげられる。算術符号化としては、CABAC(Context-Adaptive Binary Arithmetic Coding)などがあげられる。
 蓄積バッファ17は、可逆符号化部16から供給された符号化データを、一時的に保持する。蓄積バッファ17は、蓄積した符号化データを、所定のタイミングにおいて、H.264/AVC方式で符号化された符号化画像として、例えば、後段の図示せぬ記録装置や伝送路などに出力する。すなわち、蓄積バッファ17は、符号化データを伝送する伝送部でもある。
 また、量子化部15において量子化された変換係数は、逆量子化部18にも供給される。逆量子化部18は、その量子化された変換係数を、量子化部15による量子化に対応する方法で逆量子化する。逆量子化部18は、得られた変換係数を、逆直交変換部19に供給する。
 逆直交変換部19は、供給された変換係数を、直交変換部14による直交変換処理に対応する方法で逆直交変換する。逆直交変換された出力(復元された差分情報)は、演算部20に供給される。
 演算部20は、逆直交変換部19より供給された逆直交変換結果、すなわち、復元された差分情報に、予測画像選択部26を介してイントラ予測部24若しくは動き予測・補償部25から供給される予測画像を加算し、局部的に復号された画像(復号画像)を得る。
 例えば、差分情報が、イントラ符号化が行われる画像に対応する場合、演算部20は、その差分情報にイントラ予測部24から供給される予測画像を加算する。また、例えば、差分情報が、インター符号化が行われる画像に対応する場合、演算部20は、その差分情報に動き予測・補償部25から供給される予測画像を加算する。
 その加算結果は、デブロックフィルタ21またはフレームメモリ22に供給される。
 デブロックフィルタ21は、適宜デブロックフィルタ処理を行うことにより復号画像のブロック歪を除去する。デブロックフィルタ21は、そのフィルタ処理結果をフレームメモリ22に供給する。なお、演算部20から出力される復号画像は、デブロックフィルタ21を介さずにフレームメモリ22に供給することができる。すなわち、デブロックフィルタ21のデブロックフィルタ処理は省略することができる。
 フレームメモリ22は、供給される復号画像を記憶し、所定のタイミングにおいて、記憶している復号画像を参照画像として、選択部23を介してイントラ予測部24または動き予測・補償部25に出力する。
 例えば、イントラ符号化が行われる画像の場合、フレームメモリ22は、参照画像を、選択部23を介してイントラ予測部24に供給する。また、例えば、インター符号化が行われる場合、フレームメモリ22は、参照画像を、選択部23を介して動き予測・補償部25に供給する。
 選択部23は、フレームメモリ22から供給される参照画像がイントラ符号化を行う画像である場合、その参照画像をイントラ予測部24に供給する。また、選択部23は、フレームメモリ22から供給される参照画像がインター符号化を行う画像である場合、その参照画像を動き予測・補償部25に供給する。
 イントラ予測部24は、選択部23を介してフレームメモリ22から供給される処理対象ピクチャ内の画素値を用いて予測画像を生成するイントラ予測(画面内予測)を行う。イントラ予測部24は、予め用意された複数のモード(イントラ予測モード)でこのイントラ予測を行う。
 H.264/AVC方式において、輝度信号に対しては、イントラ4×4予測モード、イントラ8×8予測モード及びイントラ16×16予測モードが定義されている。また、色差信号に関しては、それぞれのマクロブロックごとに、輝度信号とは独立した予測モードを定義することが可能である。イントラ4×4予測モードについては、それぞれの4×4輝度ブロックに対して、イントラ8×8予測モードについては、それぞれの8×8輝度ブロックに対して、1つのイントラ予測モードが定義されることになる。イントラ16×16予測モード、並びに、色差信号に対しては、1つのマクロブロックに対して、それぞれ1つの予測モードが定義されることになる。
 イントラ予測部24は、候補となる全てのイントラ予測モードで予測画像を生成し、画面並べ替えバッファ12から供給される入力画像を用いて各予測画像のコスト関数値を評価し、最適なモードを選択する。イントラ予測部24は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部26を介して演算部13や演算部20に供給する。
 また、上述したように、イントラ予測部24は、採用されたイントラ予測モードを示すイントラ予測モード情報等の情報を、適宜可逆符号化部16に供給する。
 動き予測・補償部25は、インター符号化が行われる画像について、画面並べ替えバッファ12から供給される入力画像と、選択部23を介してフレームメモリ22から供給される参照画像とを用いて、動き予測(インター予測)を行う。動き予測・補償部25は、検出された動きベクトルに応じて動き補償処理を行い、予測画像(インター予測画像情報)を生成する。動き予測・補償部25は、予め用意された複数のモード(インター予測モード)でこのようなインター予測を行う。
 動き予測・補償部25は、候補となる全てのインター予測モードで予測画像を生成し、各予測画像のコスト関数値を評価し、最適なモードを選択する。動き予測・補償部25は、生成された予測画像を、予測画像選択部26を介して演算部13や演算部20に供給する。
 また、動き予測・補償部25は、採用されたインター予測モードを示すインター予測モード情報や、算出した動きベクトルを示す動きベクトル情報を可逆符号化部16に供給する。
 予測画像選択部26は、イントラ符号化を行う画像の場合、イントラ予測部24の出力を演算部13や演算部20に供給し、インター符号化を行う画像の場合、動き予測・補償部25の出力を演算部13や演算部20に供給する。
 レート制御部27は、蓄積バッファ17に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部15の量子化動作のレートを制御する。
[H.264/AVC方式の画像復号装置]
 図2は、離散コサイン変換若しくはカルーネン・レーベ変換等の直交変換と動き補償により画像圧縮を実現する画像復号装置の主な構成例を示すブロック図である。図2に示される画像復号装置31は、図1の画像符号化装置1に対応する復号装置である。
 画像符号化装置1より符号化された符号化データは、例えば伝送路や記録媒体等、任意の経路を介して、この画像符号化装置1に対応する画像復号装置31に供給され、復号される。
 図2に示されるように、画像復号装置31は、蓄積バッファ41、可逆復号部42、逆量子化部43、逆直交変換部44、演算部45、デブロックフィルタ46、画面並べ替えバッファ47、およびD/A変換部48を含むように構成される。また、画像復号装置31は、フレームメモリ49、選択部50、イントラ予測部51、動き補償部52、および画像選択部53を有する。
 蓄積バッファ41は、伝送されてきた符号化データを受け取り、蓄積する。すなわち、蓄積バッファ41は、伝送されてきた符号化データの受け取り部でもある。この符号化データは、画像符号化装置1により符号化されたものである。可逆復号部42は、蓄積バッファ41から所定のタイミングで読み出された符号化データを、図1の可逆符号化部16の符号化方式に対応する方式で復号する。
 また、当該フレームがイントラ符号化されたものである場合、符号化データのヘッダ部にはイントラ予測モード情報が格納されている。可逆復号部42は、このイントラ予測モード情報も復号し、その情報をイントラ予測部51に供給する。これに対して、当該フレームがインター符号化されたものである場合、符号化データのヘッダ部には動きベクトル情報が格納されている。可逆復号部42は、この動きベクトル情報も復号し、その情報を動き補償部52に供給する。
 逆量子化部43は、可逆復号部42により復号されて得られた係数データ(量子化係数)を、図1の量子化部15の量子化方式に対応する方式で逆量子化する。つまり、逆量子化部43は、図1の逆量子化部18と同様の方法で量子化係数の逆量子化を行う。
 逆量子化部43は、逆量子化された係数データ、つまり、直交変換係数を、逆直交変換部44に供給する。逆直交変換部44は、図1の直交変換部14の直交変換方式に対応する方式(図1の逆直交変換部19と同様の方式)で、その直交変換係数を逆直交変換し、画像符号化装置1において直交変換される前の残差データに対応する復号残差データを得る。例えば、4次の逆直交変換が施される。
 逆直交変換されて得られた復号残差データは、演算部45に供給される。また、演算部45には、画像選択部53を介して、イントラ予測部51若しくは動き補償部52から予測画像が供給される。
 演算部45は、その復号残差データと予測画像とを加算し、画像符号化装置1の演算部13により予測画像が減算される前の画像データに対応する復号画像データを得る。演算部45は、その復号画像データをデブロックフィルタ46に供給する。
 デブロックフィルタ46は、供給された復号画像のブロック歪を除去した後、画面並べ替えバッファ47に供給する。
 画面並べ替えバッファ47は、画像の並べ替えを行う。すなわち、図1の画面並べ替えバッファ12により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部48は、画面並べ替えバッファ47から供給された画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
 デブロックフィルタ46の出力は、さらに、フレームメモリ49に供給される。
 フレームメモリ49、選択部50、イントラ予測部51、動き補償部52、および画像選択部53は、画像符号化装置1のフレームメモリ22、選択部23、イントラ予測部24、動き予測・補償部25、および予測画像選択部26にそれぞれ対応する。
 選択部50は、インター処理される画像と参照される画像をフレームメモリ49から読み出し、動き補償部52に供給する。また、選択部50は、イントラ予測に用いられる画像をフレームメモリ49から読み出し、イントラ予測部51に供給する。
 イントラ予測部51には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報等が可逆復号部42から適宜供給される。イントラ予測部51は、この情報に基づいて、フレームメモリ49から取得した参照画像から予測画像を生成し、生成した予測画像を画像選択部53に供給する。
 動き補償部52は、ヘッダ情報を復号して得られた情報(予測モード情報、動きベクトル情報、参照フレーム情報、フラグ、および各種パラメータ等)を可逆復号部42から取得する。
 動き補償部52は、可逆復号部42から供給されるそれらの情報に基づいて、フレームメモリ49から取得した参照画像から予測画像を生成し、生成した予測画像を画像選択部53に供給する。
 画像選択部53は、動き補償部52またはイントラ予測部51により生成された予測画像を選択し、演算部45に供給する。
[適応ループフィルタの詳細]
 次に、非特許文献1に提案されている適応ループフィルタ(ALF(Adaptive Loop Filter))について説明する。
 図3は、適応ループフィルタを適用した画像符号化装置の構成例を示すブロック図である。なお、図3の例において、説明の便宜上、図1のA/D変換部11、画面並べ替えバッファ12、蓄積バッファ17、選択部23、イントラ予測部24、予測画像選択部26、およびレート制御部27は省略されている。また、矢印なども適宜省略されている。したがって、図3の例の場合、フレームメモリ22からの参照画像は、動き予測・補償部25に直接入力され、動き予測・補償部25からの予測画像は、演算部13および20に直接出力されている。
 すなわち、図3の画像符号化装置61は、デブロックフィルタ21とフレームメモリ22の間に適応ループフィルタ71が追加された点のみが、図1の画像符号化装置1と異なっている。
 適応ループフィルタ71は、画面並べ替えバッファ12(図示は省略)からの原画像との残差を最小とするよう、適応ループフィルタ係数の算出を行い、この適応ループフィルタ係数を用いて、デブロックフィルタ21からの復号画像にフィルタ処理を行う。このフィルタとして、例えば、ウィナーフィルタ(Wiener Filter)が用いられる。
 また、適応ループフィルタ71は、算出した適応ループフィルタ係数を、可逆符号化部16に送る。可逆符号化部16においては、この適応ループフィルタ係数を、可変長符号化、算術符号化といった可逆符号化処理し、圧縮画像のヘッダ部に挿入する。
 図4は、図3の画像符号化装置に対応する画像復号装置の構成例を示すブロック図である。なお、図4の例において、説明の便宜上、図2の蓄積バッファ41、画面並べ替えバッファ47、D/A変換部48、選択部50、イントラ予測部51、および画像選択部53は省略されている。また、矢印なども適宜省略されている。したがって、図4の例の場合、フレームメモリ49からの参照画像は、動き補償部52に直接入力され、動き補償部52からの予測画像は、演算部45に直接出力されている。
 すなわち、図4の画像復号装置81は、デブロックフィルタ46とフレームメモリ49の間に適応ループフィルタ91が追加された点のみが、図2の画像復号装置31と異なっている。
 適応ループフィルタ91には、可逆復号部42から復号され、ヘッダから抽出された適応ループフィルタ係数が供給される。適応ループフィルタ91は供給されたフィルタ係数を用いて、デブロックフィルタ46からの復号画像にフィルタ処理を行う。このフィルタとして、例えば、ウィナーフィルタ(Wiener Filter)が用いられる。
 これにより、復号画像の画質を向上させ、さらに、参照画像の画質をも向上させることができる。
[デブロックフィルタ]
 次に、H.264/AVC方式におけるデブロックフィルタについて説明する。デブロックフィルタ21は、動き補償ループ内に含まれ、復号画像におけるブロック歪み、すなわち、処理単位の領域の歪みを除去する。これにより、動き補償処理により参照される画像へのブロック歪の伝播が抑制される。
 デブロックフィルタの処理としては、符号化データに含まれる、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)が定義される。
 図6に示すように、画素pまたは画素qのいずれか一方がイントラ符号化されるマクロブロックに属し、且つ、当該画素がマクロブロックの境界に位置する場合に、Bsは、最もフィルタ強度が高い「4」が割り当てられる。
 画素pまたは画素qのいずれか一方がイントラ符号化されるマクロブロックに属し、且つ、当該画素がマクロブロックの境界に位置しない場合に、Bsは、「4」の次にフィルタ強度が高い「3」が割り当てられる。
 画素pおよび画素qの双方がイントラ符号化されるマクロブロックに属するものではなく、且つ、いずれかの画素が変換係数を持つ場合に、Bsは、「3」の次にフィルタ強度が高い「2」が割り当てられる。
 画素pおよび画素qの双方がイントラ符号化されるマクロブロックに属するものではなく、且つ、いずれかの画素が変換係数を持たないという条件を満たす場合に、参照フレームが異なるか、参照フレームの枚数が異なるか、動きベクトルが異なるかのいずれかの条件を満たすとき、Bsは、「1」が割り当てられる。
 画素p,qの双方がイントラ符号化されるマクロブロックに属するものではなく、どちらの画素も変換係数を持たず、参照フレームおよび動きベクトルが同じ場合、Bsは、「0」が割り当てられる。なお。「0」は、フィルタ処理を行わないことを意味する。
 図5における(p2,p1,p0,q0,q1,q2)は、以下の式(1)および式(2)により示される条件が成立する場合のみ、デブロックフィルタ処理が施される。
 Bs > 0 ・・・(1)
 |p0-q0| < α; |p1-p0| < β; |q1-q0| < β ・・・(2)
 式(2)のαおよびβは、デフォルトでは以下のようにQPに応じてその値が定められている。ただし、符号化データの、スライスヘッダに含まれる、slice_alpha_c0_offset_div2及びslice_beta_offset_div2という2つのパラメータによって、グラフの矢印のように、ユーザがその強度を調整することが可能である。
 なお、図7は、QPと閾値αの関係を示しており、QPにオフセット量を加えると、QPと閾値αの関係を示す曲線は矢印の方向に移動することから、フィルタ強度を調整することが明らかである。
 また、閾値αは、隣接するブロックPとブロックQのそれぞれの量子化パラメータqPp,qPqを用いて、次の式(3)および(4)からindexAを算出することで、図8のAに示すテーブルから求められる。同様に、閾値βは、隣接するブロックPとブロックQのそれぞれの量子化パラメータqPp,qPqを用いて、式(3)および(5)からindexBを算出することで、図8のBに示すテーブルから求められる。このindexAおよびindexBは、以下の式(3)乃至式(5)のように定義される。
 qP=(qPp+qPq+1)>>1 ・・・(3)
 indexA=Clip3(0,51,qP+FilterOffsetA) ・・・(4)
 indexB=Clip3(0,51,qP+FilterOffsetB) ・・・(5)
 式(4)および式(5)において、FilterOffsetA及びFilterOffsetBが、ユーザによる調整分に相当する。
 デブロックフィルタ処理は、以下に説明するように、Bs<4の場合と、Bs=4の場合とで、互いに異なる方法が定義されている。
 まず、Bs<4の場合、デブロックフィルタ処理後の画素値p'0及びq'0が、以下の式(6)乃至式(8)のように求められる。
 Δ=Clip3(-tc,tc((((q0-p0)<<2)+(p1-q1)+4)>>3)) ・・・(6)
 p'0=Clip1(p0+Δ) ・・・(7)
 q'0=Clip1(q0+Δ) ・・・(8)
 ここで、tcは、以下の式(9)または式(10)ように算出される。すなわち、chromaEdgeFlagの値が「0」である場合、tcは以下の式(9)のように算出される。
 tc=tc0+((ap<β)?1:0)+((aq<β)?1:0) ・・・(9)
 また、chromaEdgeFlagの値が「0」以外である場合、tcは以下の式(10)のように算出される。
 tc=tc0+1 ・・・(10)
 tC0の値は、BsとindexAの値に応じて、図9のAおよび図9のBに示される表のように定義される。
 また、式(9)のap及びaqの値は、以下の式(11)および(12)のように算出される。
 ap=|p2-p0| ・・・(11)
 aq=|q2-q0| ・・・(12)
 デブロックフィルタ処理後の画素値p'1は以下のように求められる。すなわち、chromaEdgeFlagの値が「0」で、尚且つ、apの値がβ以下である場合、p'1は、以下の式(13)のように求められる。
 p'1=p1+Clip3(-tc0,tc0,(p2+((p0+q0+1)>>1)-(p1<<1))>>1) ・・・(13)
 また、式(13)が成り立たない場合、p'1は、以下の式(14)のように求められる。
 p'1=p1 ・・・(14)
 デブロックフィルタ処理後の画素値q'1は以下のように求められる。すなわち、chromaEdgeFlagの値が「0」で、尚且つ、aqの値がβ以下である場合、q'1は、以下の式(15)のように求められる。
 q'1=q1+Clip3(-tc0,tc0,(q2+((p0+q0+1)>>1)-(q1<<1))>>1) ・・・(15)
 また、式(15)が成り立たない場合、q'1は、以下の式(16)のように求められる。
 q'1=q1 ・・・(16)
 p'2及びq'2の値は、Filtering前の値p2及びq2と変わらない。すなわち、p'2は、以下の式(17)のように求められ、q'2は、以下の式(18)のように求められる。
 p'2=p2 ・・・(17)
 q'2=q2 ・・・(18)
 次に、Bs=4の場合、デブロックフィルタ後の画素値p'i(i=0..2)は、以下のように求められる。chromaEdgeFlag の値が「0」であり、以下の式(19)に示される条件が成り立つ場合、p'0、p'1、及びp'2は、以下の式(20)乃至式(22)のように求められる。
 ap<β&&|p0-q0|<((α>>2)+2) ・・・(19)
 p'0=(p2+2×p1+2×p0+2×q0+q1+4)>>3 ・・・(20)
 p'1=(p2+p1+p0+q0+2)>>2 ・・・(21)
 p'2=(2×p3+3×p2+p1+p0+q0+4)>>3 ・・・(22)
 また、式(19)に示される条件が成り立たない場合、p'0、p'1、及びp'2は、以下の式(23)乃至(25)のように求められる。
 p'0=(2×p1+p0+q1+2)>>2 ・・・(23)
 p'1=p1 ・・・(24)
 p'2=p2 ・・・(25)
 デブロックフィルタ処理後の画素値q'i(I=0..2)は、以下のように求められる。すなわち、chromaEdgeFlagの値が「0」であり、以下の式(26)に示される条件が成り立つ場合、q'0、q'1、及びq'2は、以下の式(27)乃至(29)のように求められる。
 aq<β&&|p0-q0|<((α>>2)+2) ・・・(26)
 q'0=(p1+2×p0+2×q0+2×q1+q2+4)>>3 ・・・(27)
 q'1=(p0+q0+q1+q2+2)>>2 ・・・(28)
 q'2=(2×q3+3×q2+q1+q0+p4+4)>>3 ・・・(29)
 また、式(26)に示される条件が成り立たない場合、q'0、q'1、及びq'2は、以下の式(30)乃至(32)のように求められる。
 q'0=(2×q1+q0+p1+2)>>2 ・・・(30)
 q'1=q1 ・・・(31)
 q'2=q2 ・・・(32)
[コスト関数]
 ところで、AVC符号化方式において、より高い符号化効率を達成するには、適切な予測モードの選択が重要である。
 かかる選択方式の例として、http://iphome.hhi.de/suehring/tml/index.htm において公開されている、JM (Joint Model) と呼ばれるH.264/MPEG-4 AVCの参照ソフトウエアに実装されている方法を挙げることが出来る。
 JMにおいては、以下に述べる、High Complexity Modeと、Low Complexity Modeの2通りのモード判定方法を選択することが可能である。どちらも、それぞれの予測モードModeに関するコスト関数値を算出し、これを最小にする予測モードを当該ブロック乃至マクロブロックに対する最適モードとして選択する。
 High Complexity Modeにおけるコスト関数は、以下の式(33)のようになる。
 Cost(Mode∈Ω)=D+λ*R ・・・(33)
 ここで、Ωは、当該ブロック乃至マクロブロックを符号化するための候補モードの全体集合、Dは、当該予測モードModeで符号化した場合の、復号画像と入力画像の差分エネルギーである。λは、量子化パラメータの関数として与えられるLagrange未定乗数である。Rは、直交変換係数を含んだ、当該モードModeで符号化した場合の総符号量である。
 つまり、High Complexity Modeでの符号化を行うには、上記パラメータD及びRを算出するため、全ての候補モード(Mode)により、一度、仮エンコード処理を行なう必要があり、より高い演算量を要する。
 Low Complexity Modeにおけるコスト関数は、以下の式(34)のようになる。
 Cost(Mode∈Ω)=D+QP2Quant(QP)*HeaderBit ・・・(34)
 ここで、Dは、High Complexity Modeの場合と異なり、予測画像と入力画像の差分エネルギーとなる。QP2Quant(QP) は、量子化パラメータQPの関数として与えられ、HeaderBitは、直交変換係数を含まない、動きベクトルや、モードといった、Headerに属する情報に関する符号量である。
 すなわち、Low Complexity Modeにおいては、それぞれの候補モード(Mode)に関して、予測処理を行う必要があるが、復号化画像までは必要ないため、符号化処理まで行う必要はない。このため、High Complexity Modeより低い演算量での実現が可能である。
[コーディングユニット]
 次に、非特許文献2に記載のHEVC (High Efficiency Video Coding)符号化方式(以下、HEVC方式と称する)において定められている、コーディングユニット(Coding Unit)について説明する。
 H.264/AVC方式においては、1つのマクロブロックを、複数の動き補償ブロックに分割し、それぞれに対して異なる動き情報を持たせることが可能であった。すなわち、H.264/AVC方式においては、マクロブロックとサブマクロブロックによる階層構造が規定されているが、例えば、HEVC方式においては、図10に示されるように、コーディングユニット(CU(Coding Unit))が規定されている。
 CUは、Coding Tree Block(CTB)とも呼ばれ、H.264/AVC方式におけるマクロブロックと同様の役割を果たす、ピクチャ単位の画像の部分領域である。後者は、16×16画素の大きさに固定されているのに対し、前者の大きさは固定されておらず、それぞれのシーケンスにおいて、画像圧縮情報中において指定されることになる。
 例えば、出力となる符号化データに含まれるシーケンスパラメータセット(SPS(Sequence Parameter Set))において、CUの最大サイズ(LCU(Largest Coding Unit))と最小サイズ((SCU(Smallest Coding Unit))が規定される。
 それぞれのLCU内においては、SCUのサイズを下回らない範囲で、split-flag=1とすることにより、より小さなサイズのCUに分割することができる。図10の例では、LCUの大きさが128であり、最大階層深度が5となる。2N×2Nの大きさのCUは、split_flagの値が「1」である時、1つ下の階層となる、N×Nの大きさのCUに分割される。
 更に、CUは、イントラ若しくはインター予測処理の対象となる領域(ピクチャ単位の画像の部分領域)であるプレディクションユニット(Prediction Unit(PU))に分割され、また、直交変換処理の対象となる領域(ピクチャ単位の画像の部分領域)である、トランスフォームユニット(Transform Unit(TU))に分割される。現在、HEVC方式においては、4×4及び8×8に加え、16×16及び32×32直交変換を用いることが可能である。
 以上のHEVC方式のように、CUを定義し、そのCUを単位として各種処理を行うような符号化方式の場合、H.264/AVC方式におけるマクロブロックはLCUに相当すると考えることができる。ただし、CUは、図10に示されるように階層構造を有するので、その最上位階層のLCUのサイズは、例えば128×128画素のように、H.264/AVC方式のマクロブロックより大きく設定されることが一般的である。
 本開示は、H.264/AVC方式におけるマクロブロックを用いる符号化方式だけでなく、HEVC方式のようなCU、PU、およびTU等を用いる符号化方式にも適用することができる。すなわち、ブロックも、ユニットも、処理の対象となる領域を示すものであるので、以下、適宜、どちらも含むように、対象領域という文言を用いて説明する。
 ただし、以下において、H.264/AVC方式と例として説明する場合には、ブロックを用いて説明するが、そのブロックは、処理の対象となる領域を示すものであり、HEVC方式においてはユニットである。逆に、HEVC方式を例として説明する場合には、ユニットを用いて説明するが、そのユニットは、処理の対象となる領域を示すものであり、H.264/AVC方式においてはブロックである。
[HEVC方式における適応オフセット処理]
 次に、HEVC方式における適応オフセットフィルタについて説明する。HEVC方式においては、非特許文献3に記載のSample Adaptive Offset方式が採用されている。
 適応オフセットフィルタ(Picture Quality Adaptive Offset:PQAO)は、図11に示されるように、デブロックフィルタ(DB)と、適応ループフィルタ(ALF)の間に設けられている。
 適応オフセットの種類としては、バンドオフセットと呼ばれるものが2種類、エッジオフセットと呼ばれるものが6種類あり、さらに、オフセットを適応しないことも可能である。そして、画像をquad-treeに分割し、それぞれの領域に、上述したどの適応オフセットの種類により符号化するかを選択することができる。
 この選択情報が、PQAO Info.として、符号化部(Entropy Coding)により符号化され、ビットストリームが生成され、生成されたビットストリームが復号側に送信される。この方法を用いることで、符号化効率を向上させることができる。
 ここで、図12を参照して、quad-tree構造について説明する。
 例えば、符号化側においては、図12のA1に示されるように、領域0が分割されていない状態を示すLevel-0(分割深度0)のコスト関数値J0が計算される。また、領域0が4つの領域1乃至4に分割された状態を示すLevel-1(分割深度0)のコスト関数値J1,J2,J3,J4が計算される。
 そして、A2に示されるように、コスト関数値が比較され、J0>(J1+J2+J3+J4)により、Level-1の分割領域(Partitions)が選択される。
 同様にして、A3に示されるように、領域0が16つの領域5乃至20に分割された状態を示すLevel-2(分割深度2)のコスト関数値J5乃至J20が計算される。
 そして、A4に示されるように、コスト関数値がそれぞれ比較され、J1<(J5+J6+J9+J10)により、領域1においては、Level-1の分割領域(Partitions)が選択される。J2>(J7+J8+J11+J12)により、領域2においては、Level-2の分割領域(Partitions)が選択される。J3>(J13+J14+J17+J18)により、領域3においては、Level-2の分割領域(Partitions)が選択される。J4>(J15+J16+J19+J20)により、領域4においては、Level-1の分割領域(Partitions)が選択される。
 その結果、quad-tree構造におけるA4に示される最終的なquad-tree領域(Partitions)が決定される。そして、quad-tree構造の決定された領域毎に、2種類のバンドオフセット、6種類のエッジオフセット、およびオフセットなしのすべてについてコスト関数値が算出され、どのオフセットにより符号化されるのかが決定される。
 例えば、図12の例においては、白矢印に示されるように、領域1に対しては、EO(4)、すなわち、エッジオフセットのうちの4種類目が決定されている。領域7に対しては、OFF、すなわち、オフセットなしが決定されており、領域8に対しては、EO(2)、すなわち、エッジオフセットのうちの2種類目が決定されている。領域11および12に対しては、OFF、すなわち、オフセットなしが決定されている。
 また、領域13に対しては、BO(1)、すなわち、バンドオフセットのうちの1種類目が決定されており、領域14に対しては、EO(2)、すなわち、エッジオフセットのうちの2種類目が決定されている。領域17に対しては、BO(2)、すなわち、バンドオフセットのうちの2種類目が決定されており、領域18に対しては、BO(1)、すなわち、バンドオフセットのうちの1種類目が決定されている。領域4に対しては、EO(1)、すなわち、エッジオフセットのうちの1種類目が決定されている。
 次に、図13を参照して、バンドオフセットの詳細について説明する。
 バンドオフセットにおいては、図13の例においては、1つの目盛りが1バンド=8画素を表しており、輝度画素値が32バンドに分けられて、それぞれのバンドが独立にオフセット値を有する。
 すなわち、図13の例においては、0乃至255画素(32バンド)のうち、中央の16バンドが、第1グループに分けられ、両脇の8バンドずつが第2グループに分けられている。
 そして、第1グループおよび第2グループのどちらか一方のみのオフセットが符号化され、復号側に送られる。一般的に、1つの領域において、白黒はっきりしているか、微妙な色合いがあるかのどちらかであることが多く、第1グループと第2グループ両方に全てに画素があるのは稀である。このため、一方のみのオフセットしか送らないことで、それぞれのquad-tree領域において、含まれていない値の画素値が伝送されて符号化量が増えるのが、抑制される。
 なお、入力信号が放送によるものである場合、輝度信号は、16,235、色差信号は、16,240の範囲に制限される。このとき、図13の下段に示されるbroadcast legalが適用され、×印が示されている、両脇の2バンドずつに対するオフセット値は伝送されない。
 次に、図14を参照して、エッジオフセットの詳細について説明する。
 エッジオフセットにおいては、当該画素値と、当該画素値に隣接する隣接画素値の比較が行われ、これに対応したカテゴリに対して、オフセット値が伝送されることになる。
 エッジオフセットには、図14のA乃至図14のDに示される4つの1次元パターンと、図14のEおよび図14のFに示される2つの2次元パターンが存在し、それぞれ、図15に示されるカテゴリでオフセットが伝送される。
 図14のAは、当該画素Cに対して、隣接画素が左右の1次元に配置されている、すなわち、図14のAのパターンに対して0度をなしている1-D,0-degreeパターンを表している。図14のBは、当該画素Cに対して、隣接画素が上下の1次元に配置されている、すなわち、図14のAのパターンに対して90度をなしている1-D,90-degreeパターンを表している。
 図14のCは、当該画素Cに対して、隣接画素が左上と右下の1次元に配置されている、すなわち、図14のAのパターンに対して135度をなしている1-D,135-degreeパターンを表している。図14のDは、当該画素Cに対して、隣接画素が右上と左下の1次元に配置されている、すなわち、図14のAのパターンに対して45度をなしている1-D,135-degreeパターンを表している。
 図14のEは、当該画素Cに対して、隣接画素が上下左右2次元に配置されている、すなわち、当該画素Cに対して交差している2-D,crossパターンを表している。図14のFは、当該画素Cに対して、隣接画素が右上左下、左上右下の2次元に配置されている、すなわち、当該画素Cに対して斜めに交差している2-D,diagonalパターンを表している。
 図15のAは、1次元パターンの規則一覧表(Classification rule for 1-D patterns)を示している。図14のA乃至図14のDのパターンは、図15のAに示されるような5種類のカテゴリに分類され、そのカテゴリによりオフセットが算出されて、復号部に送られる。
 当該画素Cの画素値が2つの隣接画素の画素値より小さい場合、カテゴリ1に分類される。当該画素Cの画素値が一方の隣接画素の画素値より小さくて、他方の隣接画素の画素値と一致する場合、カテゴリ2に分類される。当該画素Cの画素値が一方の隣接画素の画素値より大きくて、他方の隣接画素の画素値と一致する場合、カテゴリ3に分類される。当該画素Cの画素値が2つの隣接画素の画素値より大きい場合、カテゴリ4に分類される。以上のどれでもない場合、カテゴリ0に分類される。
 図15のBは、2次元パターンの規則一覧表(Classification rule for 2-D patterns)を示している。図14のEおよび図14のFのパターンは、図15のBに示されるような7種類のカテゴリに分類され、そのカテゴリによりオフセットが復号部に送られる。
 当該画素Cの画素値が4つの隣接画素の画素値より小さい場合、カテゴリ1に分類される。当該画素Cの画素値が3つの隣接画素の画素値より小さくて、4番目の隣接画素の画素値と一致する場合、カテゴリ2に分類される。当該画素Cの画素値が3つの隣接画素の画素値より小さくて、4番目の隣接画素の画素値より大きい場合、カテゴリ3に分類される。
 当該画素Cの画素値が3つの隣接画素の画素値より大きくて、4番目の隣接画素の画素値より小さい場合、カテゴリ4に分類される。当該画素Cの画素値が3つの隣接画素の画素値より大きくて、4番目の隣接画素の画素値と一致する場合、カテゴリ5に分類される。当該画素Cの画素値が4つの隣接画素の画素値より大きい場合、カテゴリ6に分類される。以上のどれでもない場合、カテゴリ0に分類される。
 以上のように、エッジオフセットにおいては、1次元パターンの方が、隣接2画素のみに対する比較を行えばよいので、演算量は低くなる。なお、high efficiency 符号化条件においては、low delay 符号化条件に比して、1bitオフセットの値を高精度にして、復号側へ送られる。
 上述した適応オフセット処理は、HEVC方式において、quad-tree構造の決定された領域毎に行われる、すなわち、ブロックベースで行われる処理である。したがって、デブロックフィルタの後に、このようなブロックベースの処理が行われることで、ブロック歪みが生じてしまう恐れがあった。
 以上のことを踏まえて、本実施においては、デブロックフィルタに先立ち、適応オフセット処理が行われる。また、適応オフセット処理後のデブロックフィルタにおいては、適応オフセット処理を考慮したフィルタの強度調整が施される。これにより、ブロック歪みの除去をより適切に行い、復号画像の画質を向上させる。
[画像符号化装置の構成例]
 図16は、本開示を適用した画像処理装置としての画像符号化装置の一実施の形態の構成を表している。
 図16に示される画像符号化装置101は、予測処理を用いて画像データを符号化する。ここで、符号化方式としては、例えば、HEVC(High Efficiency Video Coding)に準ずる方式などが用いられる。ただし、画像符号化装置101において、適応オフセット部111が、デブロックフィルタ112の前に設けられている点が、図11を参照して上述したHEVC方式の場合と異なっている。
 図16の画像符号化装置101は、A/D変換部11、画面並べ替えバッファ12、演算部13、直交変換部14、量子化部15、可逆符号化部16、蓄積バッファ17、逆量子化部18、および逆直交変換部19を備える点で、図1の画像符号化装置1と共通している。図16の画像符号化装置101は、演算部20、フレームメモリ22、選択部23、イントラ予測部24、動き予測・補償部25、予測画像選択部26、およびレート制御部27を備える点で、図1の画像符号化装置1と共通している。
 また、図16の画像符号化装置101は、上述した図3の適応ループフィルタ71が追加された点で、図1の画像符号化装置1と異なっている。
 さらに、図16の画像符号化装置101は、デブロックフィルタ21が、デブロックフィルタ112に入れ替わった点と、適応オフセット部111およびデブロックフィルタ制御部113が追加された点で、図1の画像符号化装置1と異なっている。
 すなわち、量子化部15は、図1の量子化部15と同様に、レート制御部27から供給される符号量の目標値に関する情報に基づいて量子化パラメータを設定し、量子化を行う。ただし、その際、量子化部15は、設定した量子化パラメータの情報を、デブロックフィルタ112に供給する。
 可逆符号化部16は、図1の可逆符号化部16と同様に、量子化された変換係数を符号化するとともに、フィルタ係数、予測モード情報、および量子化パラメータなどの各種情報を、符号化データのヘッダ情報の一部とする。ただし、その際、可逆符号化部16は、適応オフセット部111からのquad-tree構造とオフセット値の情報も、符号化データのヘッダ情報の一部とする。また、可逆符号化部16は、予測モード情報や動きベクトル情報などのシンタクス要素を、デブロックフィルタ112に供給する。
 適応オフセット部111、デブロックフィルタ112(デブロックフィルタ制御部113も含む)、および適応ループフィルタ71は、その順に、動き補償ループ内に設けられている。動き補償ループとは、演算部13、直交変換部14、量子化部15、逆量子化部18、逆直交変換部19、演算部20、フレームメモリ22、選択部23、イントラ予測部24または動き予測・補償部25、および予測画像選択部26からなるブロックである。なお、以下、動き補償ループ内における、適応オフセット部111、デブロックフィルタ112、および適応ループフィルタ71が行うフィルタ処理を、インループフィルタ処理と総称する。
 適応オフセット部111は、演算部20からの復号画像(ローカルデコード後のベースバンド情報)に対するオフセット処理を行う。すなわち、適応オフセット部111は、図12を参照して上述したquad-tree 構造を決定する。具体的には、適応オフセット部111は、復号画像を用いて、quad-treeによる領域分割を行い、分割された領域毎に、バンドオフセット2種類、エッジオフセット6種類、オフセットなしの中から、オフセットの種類を決定する。また、適応オフセット部111は、quad-tree 構造を参照して、分割された領域毎にオフセット値を算出する。
 さらに、適応オフセット部111は、決定したquad-tree構造とオフセット値を用いて、演算部20からの復号画像に対してオフセット処理を行う。そして、適応オフセット部111は、オフセット処理後の画像を、デブロックフィルタ112に供給する。また、適応オフセット部111は、決定したquad-tree構造の情報を、デブロックフィルタ制御部113に供給し、決定したquad-tree構造と算出したオフセットとの情報を、可逆符号化部16に供給する。
 デブロックフィルタ112には、量子化部15からの対象領域の量子化パラメータの情報、可逆符号化部16からのシンタクス要素、および、デブロックフィルタ制御部113の制御情報が供給される。デブロックフィルタ112は、量子化パラメータおよびシンタクス要素に基づきフィルタパラメータを決定する。また、デブロックフィルタ112は、デブロックフィルタ制御部113の制御情報に基づき、決定したフィルタパラメータのフィルタ強度を調整する。デブロックフィルタ112は、決定または調整されたフィルタパラメータを用いてフィルタ(フィルタ特性)を決定し、オフセット処理後の画像に対して、決定したフィルタで、デブロックフィルタ処理を行う。フィルタ後の画像は、適応ループフィルタ71に供給される。
 デブロックフィルタ制御部113は、適応オフセット部111からのquad-tree構造の情報に基づき、デブロックフィルタ処理の対象領域が、適応オフセット処理の対象領域の境界であるか否かを判定する。デブロックフィルタ処理の対象領域が、適応オフセット処理の対象領域の境界である場合、デブロックフィルタ制御部113は、フィルタ強度を強く調整する制御情報を、デブロックフィルタ112に供給する。
 適応ループフィルタ71は、画面並べ替えバッファ12からの原画像(図示は省略)との残差を最小とするよう、適応ループフィルタ係数の算出を行い、この適応ループフィルタ係数を用いて、デブロックフィルタ112からの復号画像にフィルタ処理を行う。このフィルタとして、例えば、ウィナーフィルタ(Wiener Filter)が用いられる。これにより画質改善を行う。
 また、図示しないが、適応ループフィルタ71は、算出した適応ループフィルタ係数を、可逆符号化部16に送る。可逆符号化部16においては、この適応ループフィルタ係数を、可変長符号化、算術符号化といった可逆符号化処理し、圧縮画像のヘッダ部に挿入する。
[本開示のインループフィルタ処理]
 図16の適応オフセット部111、デブロックフィルタ112、デブロックフィルタ制御部113、および適応ループフィルタ71からなるインループフィルタ処理について説明する。なお、適応ループフィルタ71の動作原理は、図3を参照して上述したものと同様である。
 まず、画像符号化装置101のインループフィルタ処理においては、デブロックフィルタ112に先立ち、適応オフセット部111のフィルタ処理が施される。その結果、適応オフセット部111のフィルタ処理により生じるブロック歪みを、デブロックフィルタにより除去することが可能となる。
 さらに、デブロックフィルタ112においては、デブロックフィルタ制御部113により、適応オフセット処理を考慮したデブロックフィルタ処理が施される。
 ここで、再度、図12を参照して適応オフセット処理について説明する。図12に示されたquad-tree 構造においては、EOで示されるエッジオフセットが決定されている領域、BOで示されるバンドオフセットが決定されている領域、OFFで示されるオフセットなしの領域がある。これらの領域のように、quad-tree 構造において異なるオフセットが決定されている2つの領域の境界には、ブロック歪みが生じやすいと考えられる。
 また、対象領域と対象領域に隣接する隣接領域とが、同じエッジオフセットの領域であっても、異なるカテゴリが決定されている領域の境界には、ブロック歪みが生じやすいと考えられる。例えば、図12に示されるEO(4)で示されるカテゴリ4が決定されている領域と、EO(1)で示されるカテゴリ1が決定されている領域は、エッジオフセットであるが、異なるカテゴリが決定されている。
 これは、同じバンドオフセットの領域についても同様のことがいえる。すなわち、対象領域と対象領域に隣接する隣接領域とが、同じバンドオフセットの領域であっても、異なるカテゴリが決定されている領域の境界には、ブロック歪みが生じやすいと考えられる。
 そこで、デブロックフィルタ制御部113は、デブロックフィルタ処理の対象領域が、上述したような領域の境界である場合、次に述べるいずれかの方法により、その領域の境界に対して、より強度の高いフィルタ処理をデブロックフィルタ112に行わせる。
 第1の方法は、かかる領域の境界に対して、図6を参照して上述したBs(Boundary Strength)の値を、+1にする方法である。
 第2の方法は、かかる領域の境界に対して、他の条件に関らず、Bsの値を、4にする方法である。
 あるいは、また、第1および第2の方法のように、Bsの値による強度調整を行うのではなく、図7および図8を参照して上述した閾値α/βによる強度調整の制御を行うことも可能である。
 すなわち、第3の方法は、かかる領域の境界に対して、上述した図7および図8において、量子化パラメータQPに代え、予め定められたΔQPを用いたQP+ΔQPによりテーブル引きを行い、閾値αおよび閾値βの値を決定する方法である。
 このように、デブロックフィルタ制御部113においては、適応オフセット処理の結果(quad-tree 構造の情報)を、後段のデブロックフィルタ112のフィルタ処理に反映させる。これにより、より適切に、ブロック歪みの除去を行い、復号画像の画質を向上させることができる。
[適応オフセット部およびデブロックフィルタの構成例]
 次に、画像符号化装置101の各部について説明する。図17は、適応オフセット部111およびデブロックフィルタ112の構成例を示すブロック図である。なお、図17の例においては、フィルタ強度の調整方法として、第1または第2の方法を用いたBsの値によるフィルタの強度調整の例が示されている。
 図17の例において、適応オフセット部111は、quad-tree構造決定部131、オフセット算出部132、オフセット部133、および画素バッファ134を含むように構成されている。
 デブロックフィルタ112は、α/β決定部141、Bs決定部142、フィルタ決定部143、およびフィルタリング部144を含むように構成されている。
 演算部20からのオフセット処理前の画素値は、quad-tree構造決定部131、オフセット算出部132、およびオフセット部133に供給される。また、図16においては説明の便宜上図示されていなかったが、画面並べ替えバッファ12からの入力画素値は、実際には、quad-tree構造決定部131、およびオフセット算出部132に供給される。
 quad-tree構造決定部131は、オフセット処理前の画素値と画面並べ替えバッファ12からの入力画素値とを用いて、図12を参照して上述したようにquad-tree構造を決定する。すなわち、quad-tree構造決定部131は、画像をquad-treeに分割し、それぞれの分割領域に、上述したどの適応オフセットの種類により符号化するかを、オフセット処理前の画素値および入力画素値などを用いたコスト関数値を求めて決定する。
 quad-tree構造決定部131は、決定したquad-tree構造の情報を、オフセット算出部132、オフセット部133、デブロックフィルタ制御部113、および可逆符号化部16に供給する。
 オフセット算出部132は、演算部20からのオフセット処理前の画素値に関してquad-tree構造決定部131からの情報が示すquad-tree分割された各領域に対するオフセットの算出を行う。オフセット算出部132は、算出したオフセットの情報を、オフセット部133および可逆符号化部16に供給する。
 なお、可逆符号化部16は、quad-tree構造決定部131からのquad-tree構造の情報およびオフセット算出部132からのオフセットの情報を受け取り、それらの情報を符号化し、符号化データのヘッダ情報とする。
 オフセット部133は、演算部20からのオフセット処理前の画素値に対して、オフセット処理を行う。すなわち、オフセット部133は、quad-tree構造決定部131によりquad-tree分割された各領域の画素値に対して、オフセット算出部132からの情報が示すオフセットの値を加算する。オフセット部133は、オフセット処理後の画素値を画素バッファ134に蓄積する。
 画素バッファ134は、オフセット処理後の画素値を蓄積し、蓄積したオフセット処理後の画素値を、所定のタイミングで、フィルタ決定部143に供給する。
 α/β決定部141は、量子化部15から供給されるデブロックフィルタ処理の対象領域の量子化パラメータの情報を取得し、取得した情報が示す量子化パラメータに基づいて、図7および図8を参照して上述した閾値α/βの値を決定する。α/β決定部141は、決定した閾値α/βの値を、フィルタパラメータの1つとして、フィルタ決定部143に供給する。
 Bs決定部142は、可逆符号化部16からの予測モードや動きベクトル情報などのシンタクス要素を取得する。Bs決定部142は、取得した情報に基づき、図6を参照して上述した方法で、Bsの値を決定する。また、デブロックフィルタ制御部113からの制御情報を受けた場合、Bs決定部142は、デブロックフィルタ制御部113からの制御情報に基づき、上述した第1の方法、または第2の方法により、Bsの値を調整する。Bs決定部142は、決定または調整したBsの値を、フィルタパラメータの1つとして、フィルタ決定部143に供給する。
 フィルタ決定部143は、α/β決定部141およびBs決定部142からのフィルタパラメータから、フィルタ(フィルタ特性)を決定し、決定したフィルタの制御情報を、フィルタリング部144に供給する。その際、フィルタ決定部143は、画素バッファ134から供給されるオフセット処理後であって、デブロックフィルタ前の画素値も、フィルタリング部144に供給する。
 フィルタリング部144は、フィルタ決定部143からのデブロックフィルタ前の画素値に対して、フィルタ決定部143からのフィルタ制御情報に示されるフィルタを用いて、フィルタ処理を施す。フィルタリング部144は、フィルタ処理が施されたデブロックフィルタ後の画素値を、適応ループフィルタ71に供給する。
[符号化処理の流れ]
 次に、以上のような画像符号化装置101により実行される各処理の流れについて説明する。最初に、図18のフローチャートを参照して、符号化処理の流れの例を説明する。
 ステップS101において、A/D変換部11は入力された画像をA/D変換する。ステップS102において、画面並べ替えバッファ12は、A/D変換された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
 画面並べ替えバッファ12から供給される処理対象の画像がイントラ処理されるブロックの画像である場合、参照される復号済みの画像がフレームメモリ22から読み出され、選択部23を介してイントラ予測部24に供給される。
 これらの画像に基づいて、ステップS103において、イントラ予測部24は処理対象のブロックの画素を、候補となる全てのイントラ予測モードでイントラ予測する。なお、参照される復号済みの画素としては、適応オフセット部111、デブロックフィルタ112、および適応ループフィルタ71によりフィルタやオフセットされていない画素が用いられる。
 この処理により、候補となる全てのイントラ予測モードでイントラ予測が行われ、候補となる全てのイントラ予測モードに対して、式(33)または式(34)に示されるコスト関数が用いられて、コスト関数値が算出される。そして、算出されたコスト関数値に基づいて、最適イントラ予測モードが選択され、最適イントラ予測モードのイントラ予測により生成された予測画像とそのコスト関数値が予測画像選択部26に供給される。
 画面並べ替えバッファ12から供給される処理対象の画像がインター処理される画像である場合、参照される画像がフレームメモリ22から読み出され、選択部23を介して動き予測・補償部25に供給される。これらの画像に基づいて、ステップS104において、動き予測・補償部25は、動き予測・補償処理を行う。
 この処理により、候補となる全てのインター予測モードで動き予測処理が行われ、候補となる全てのインター予測モードに対して、式(33)または式(34)に示されるコスト関数が用いられて、コスト関数値が算出される。そして、算出したコスト関数値に基づいて、最適インター予測モードが決定され、最適インター予測モードにより生成された予測画像とそのコスト関数値が予測画像選択部26に供給される。
 ステップS105において、予測画像選択部26は、イントラ予測部24および動き予測・補償部25より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちの一方を、最適予測モードに決定する。そして、予測画像選択部26は、決定した最適予測モードの予測画像を選択し、演算部13,20に供給する。この予測画像は、後述するステップS106,S111の演算に利用される。
 なお、この予測画像の選択情報は、イントラ予測部24または動き予測・補償部25に供給される。最適イントラ予測モードの予測画像が選択された場合、イントラ予測部24は、最適イントラ予測モードを示す情報(すなわち、イントラ予測モード情報)を、可逆符号化部16に供給する。
 最適インター予測モードの予測画像が選択された場合、動き予測・補償部25は、最適インター予測モードを示す情報と、さらに、必要に応じて、最適インター予測モードに応じた情報を可逆符号化部16に出力する。最適インター予測モードに応じた情報としては、動きベクトル情報や参照フレーム情報などがあげられる。
 ステップS106において、演算部13は、ステップS102で並び替えられた画像と、ステップS105で選択された予測画像との差分を演算する。予測画像は、インター予測する場合は動き予測・補償部25から、イントラ予測する場合はイントラ予測部24から、それぞれ予測画像選択部26を介して演算部13に供給される。
 差分データは元の画像データに較べてデータ量が小さくなっている。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
 ステップS107において、直交変換部14は演算部13から供給された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。
 ステップS108において、量子化部15は変換係数を量子化する。量子化部15は、後述するステップS116の処理で説明されるように、レート制御部27から供給される符号量の目標値に関する情報に基づいて量子化パラメータを設定し、量子化を行う。このとき、量子化部15は、設定した量子化パラメータの情報を、デブロックフィルタ112に供給する。
 以上のようにして量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップS109において、逆量子化部18は、量子化部15により量子化された変換係数を量子化部15の特性に対応する特性で逆量子化する。ステップS110において、逆直交変換部19は、逆量子化部18により逆量子化された変換係数を直交変換部14の特性に対応する特性で逆直交変換する。
 ステップS111において、演算部20は、予測画像選択部26を介して入力される予測画像を局部的に復号された差分情報に加算し、局部的に復号された(すなわち、ローカルデコードされた)画像(演算部13への入力に対応する画像)を生成する。
 ステップS112において、適応オフセット部111、デブロックフィルタ112、デブロックフィルタ制御部113、および適応ループフィルタ71は、インループフィルタ処理を行う。このインループフィルタ処理により、適応オフセット処理が施されて、リンギングなどが除去される。
 また、このインループフィルタ処理により、量子化部15からの量子化パラメータ、および可逆符号化部16からのシンタクス要素の他に、適応オフセット処理の結果(quad-tree構造の情報)に基づきフィルタが決定される。そして、オフセット処理後の画素値に対して、決定されたフィルタにより、デブロックフィルタ処理が施されて、ブロック歪みが除去される。さらに、このインループフィルタ処理により、デブロックフィルタ後の画素値に対して、適応ループフィルタ処理が施されて、劣化を最小とするように、画質改善が行われる。適応フィルタ処理後の画素値は、フレームメモリ22に出力される。
 なお、詳しくは後述するが、適応オフセット処理により算出されたquad-tree構造とオフセットの情報は、可逆符号化部16に供給される。
 ステップS113においてフレームメモリ22は、フィルタリングされた画像を記憶する。なお、フレームメモリ22には、適応オフセット部111、デブロックフィルタ112、および適応ループフィルタ71によりフィルタやオフセットされていない画像も演算部20から供給され、記憶される。
 一方、上述したステップS108において量子化された変換係数は、可逆符号化部16にも供給される。ステップS114において、可逆符号化部16は量子化部15より出力された量子化された変換係数を符号化する。すなわち、差分画像が可変長符号化、算術符号化等の可逆符号化され、圧縮される。
 また、このとき、上述したステップS105において可逆符号化部16に入力された、イントラ予測部24からのイントラ予測モード情報、または、動き予測・補償部25からの最適インター予測モードに応じた情報なども符号化され、ヘッダ情報に付加される。さらに、上述したステップS112において可逆符号化部16に入力されたquad-tree構造とオフセットの情報も、符号化され、ヘッダ情報に付加される。
 例えば、インター予測モードを示す情報は、LCU毎に符号化される。動きベクトル情報や参照フレーム情報は、対象となるPU毎に符号化される。
 また、このとき、可逆符号化部16は、予測モード情報や動きベクトル情報などのシンタクス要素を、デブロックフィルタ112に供給する。
 ステップS115において蓄積バッファ17は差分画像を圧縮画像として蓄積する。蓄積バッファ17に蓄積された圧縮画像が適宜読み出され、伝送路を介して復号側に伝送される。
 ステップS116においてレート制御部27は、蓄積バッファ17に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部15の量子化動作のレートを制御する。
 ステップS116の処理が終了すると、符号化処理が終了される。
[インループフィルタ処理の流れ]
 次に、図19のフローチャートを参照して、図18のステップS112において実行されるインループフィルタ処理の流れの例を説明する。このインループフィルタ処理は、適応オフセット部111、デブロックフィルタ112、デブロックフィルタ制御部113、および適応ループフィルタ71により実行される処理である。
 図19のステップS108の処理により、量子化部15は、量子化パラメータの情報を、デブロックフィルタ112に供給してくる。これに対応して、α/β決定部141は、ステップS131において、量子化部15から供給される量子化パラメータの情報を取得する。
 また、図19のステップS114の処理により、可逆符号化部16は、予測モード情報や動きベクトル情報などのシンタクス要素を、デブロックフィルタ112に供給してくる。これに対応して、Bs決定部142は、ステップS132において、可逆符号化部16から供給されるシンタクス要素を取得する。
 一方、図19のステップS111の処理により演算部20からの復号画像(ローカルデコード後のベースバンド情報)が、適応オフセット部111に供給される。これに対応して、ステップS133において、適応オフセット部111は、適応オフセット処理を行う。この適応オフセット処理については、図20を参照して後述する。
 ステップS133の処理により、図12を参照して上述したquad-tree 構造が決定され、quad-tree 構造を参照して、分割された領域毎にオフセット値が算出される。決定したquad-tree構造とオフセット値を用いて、演算部20からの復号画像に対してオフセット処理が行われ、オフセット処理後の画像が、デブロックフィルタ112に供給される。
 決定したquad-tree構造の情報は、デブロックフィルタ制御部113に供給され、決定したquad-tree構造と算出したオフセット値とは、適応オフセットパラメータとして、可逆符号化部16に供給される。
 ステップS134において、α/β決定部141およびBs決定部142は、デブロックフィルタ112のフィルタパラメータを決定する。
 すなわち、α/β決定部141は、ステップS131により取得した情報が示す量子化パラメータに基づいて、図7および図8を参照して上述したように、閾値α/βの値を決定する。決定した閾値α/βの値は、フィルタパラメータの1つとして、フィルタ決定部143に供給される。
 一方、Bs決定部142は、ステップS132により取得したシンタクス要素(予測モードやLCUに関する情報)に基づき、図6を参照して上述した方法で、Bsの値を決定する。すなわち、Bs決定部242は、図5の画素pまたは画素qがどんな予測モードのLCU(マクロブロック)に属するかや、参照フレーム情報や動きベクトル情報などを判定し、この動き探索・モード判定処理の結果に基づいて、Bsの値を決定する。
 デブロックフィルタ制御部113は、ステップS135において、デブロックフィルタ処理の対象領域が、適応オフセット処理境界(すなわち、適応オフセット処理の対象領域の境界)であるか否かを判定する。この判定処理は、ステップS133の処理により得られた適応オフセット処理の結果(quad-tree 構造の情報)が参照されて行われる。
 ステップS135において、デブロックフィルタ処理の対象領域が、適応オフセット処理境界であると判定された場合、処理は、ステップS136に進む。ステップS136において、デブロックフィルタ制御部113は、デブロックフィルタ112のフィルタパラメータを調整する。
 すなわち、デブロックフィルタ制御部113は、例えば、上述した第1の方法を用いて、Bs値を+1する制御情報を、Bs決定部142に供給する。これに対応して、Bs決定部142は、ステップS134において決定したBs値を+1するようにフィルタ強度の調整を行い、調整されたBs値を、フィルタパラメータの1つとして、フィルタ決定部143に供給する。
 また、ステップS135において、デブロックフィルタ処理の対象領域が、適応オフセット処理境界ではないと判定された場合、ステップS136の処理はスキップされる。この場合、Bs決定部142は、ステップS134において決定したBs値を、フィルタパラメータの1つとして、フィルタ決定部143に供給する。
 フィルタパラメータが供給されると、フィルタ決定部143は、フィルタを決定し、決定したフィルタとともに、画素バッファ134からのオフセット処理後の画素値であって、デブロックフィルタ前の画素値を、フィルタリング部144に供給する。
 これに対応して、フィルタリング部144は、ステップS137において、フィルタ決定部143からのデブロックフィルタ前の画素値に対して、フィルタ決定部143からのフィルタ制御情報に示されるフィルタを用いて、フィルタ処理を施す。フィルタリング部144は、フィルタ処理が施されたデブロックフィルタ後の画素値を、適応ループフィルタ71に供給する。
 ステップS138において、適応ループフィルタ71は、デブロックフィルタ112からのデブロックフィルタ後の画像に適応ループフィルタ処理を行う。
 すなわち、適応ループフィルタ71は、画面並べ替えバッファ12からの原画像(図示は省略)との残差を最小とするよう、適応ループフィルタ係数の算出を行う。そして、適応ループフィルタ71は、算出した適応ループフィルタ係数を用いて、デブロックフィルタ112からのデブロックフィルタ後の画像にフィルタ処理を行う。
 なお、図示は省略するが、適応ループフィルタ71は、算出した適応ループフィルタ係数を、可逆符号化部16に送る。可逆符号化部16においては、この適応ループフィルタ係数を、可変長符号化、算術符号化といった可逆符号化処理し、圧縮画像のヘッダ部に挿入する。
 以上のように、画像符号化装置101においては、デブロックフィルタに先立ち、適応オフセット処理を行うようにしたので、これにより、適応オフセット処理で生じるブロック歪みを抑制することができる。
 さらに、画像符号化装置101においては、適応オフセット処理の結果であるquad-tree構造の情報に基づき、適応オフセット処理の境界に対してより強くデブロックフィルタ処理を行うことができる。これにより、ブロック歪みの除去をより適切に行い、復号画像の画質を向上させることができる。
[適応オフセット処理の流れ]
 次に、図20のフローチャートを参照して、図19のステップS134の適応オフセット処理について説明する。
 ステップS151において、quad-tree構造決定部131は、演算部20からの画素値を参照して、図12を参照して上述したように、quad-tree構造を決定する。すなわち、画像がquad-treeに分割され、それぞれの分割領域に、上述したどの適応オフセットの種類により符号化するかが、コスト関数値を用いて決定されることにより、quad-tree構造が決定される。決定されたquad-tree構造の情報は、オフセット算出部132、およびオフセット部133に供給される。
 ステップS152において、オフセット算出部132は、演算部20からの画素値に関して、quad-tree分割された各領域に対するオフセット値の算出を行う。算出したオフセットの値を示す情報(オフセットの情報)は、オフセット部133に供給される。
 ステップS153において、適応オフセット部111は、quad-tree構造、およびオフセットを、適応オフセットパラメータとして、可逆符号化部16に送る。すなわち、quad-tree構造決定部131は、quad-tree構造の情報を可逆符号化部16に供給する。オフセット算出部132は、算出したオフセットの情報を可逆符号化部16に供給する。
 これらの適応オフセットパラメータは、上述した図18のステップS114において、可逆符号化部16により符号化され、ヘッダ情報に付加される。
 ステップS154において、オフセット部133は、演算部20からの画素値に対して、オフセット処理を行う。すなわち、オフセット部133は、quad-tree構造決定部131によりquad-tree分割された各領域の画素値に対して、オフセット算出部132により算出されたオフセット値を加算する。
 オフセット処理後の画素値は、画素バッファ134に蓄積され、所定のタイミングで、デブロックフィルタ112のフィルタ決定部143に供給される。
<2.第2の実施の形態>
[画像復号装置]
 図21は、本開示を適用した画像処理装置としての画像復号装置の一実施の形態の構成を表している。図21に示される画像復号装置201は、図16の画像符号化装置101に対応する復号装置である。
 画像符号化装置101より符号化された符号化データは、所定の伝送路を介して、この画像符号化装置101に対応する画像復号装置201に伝送され、復号されるものとする。
 図21の画像復号装置201は、蓄積バッファ41、可逆復号部42、逆量子化部43、逆直交変換部44、および演算部45を備える点で、図2の画像復号装置31と共通している。図21の画像復号装置201は、画面並べ替えバッファ47、D/A変換部48、フレームメモリ49、選択部50、イントラ予測部51、動き補償部52、および画像選択部53を備える点で、図2の画像復号装置31と共通している。
 また、図21の画像復号装置201は、図4の適応ループフィルタ91が追加された点で、図2の画像復号装置31と異なっている。
 さらに、図21の画像復号装置201は、デブロックフィルタ46が、デブロックフィルタ212と入れ替わった点と、適応オフセット部211およびデブロックフィルタ制御部213が追加された点で、図2の画像復号装置31と異なっている。
 すなわち、可逆復号部42は、図2の可逆復号部42と同様に、蓄積バッファ41より供給された、図16の可逆符号化部16により符号化された情報を、可逆符号化部16の符号化方式に対応する方式で復号する。このとき、図21の例においては、動きベクトル情報、参照フレーム情報、予測モード情報(イントラ予測モード、またはインター予測モードを示す情報)、適応オフセットパラメータなども復号される。
 適応オフセットパラメータは、上述したように、図16の可逆符号化部16により符号化されたquad-tree構造の情報、オフセットの情報などで構成される。適応オフセットパラメータは、適応オフセット部211に供給される。また、可逆復号部42は、予測モード情報および動きベクトル情報などのシンタクス要素を、デブロックフィルタ212に供給する。
 逆量子化部43は、図2の逆量子化部43と同様に、可逆復号部42により復号されて得られた係数データ(量子化係数)を、可逆復号部42により復号されて得られた量子化パラメータを用い、図1の量子化部15の量子化方式に対応する方式で逆量子化する。また、その際、逆量子化部43は、量子化パラメータの情報を、デブロックフィルタ212に供給する。
 適応オフセット部211、デブロックフィルタ212(デブロックフィルタ制御部213も含む)、および適応ループフィルタ91は、その順に、動き補償ループ内に設けられている。動き補償ループとは、演算部45、デブロックフィルタ46、適応ループフィルタ91、フレームメモリ49、選択部50、動き補償部52、および画像選択部53からなるブロックである。なお、以下、動き補償ループ内における、適応オフセット部211、デブロックフィルタ212、および適応ループフィルタ91が行うフィルタ処理を、インループフィルタ処理と総称する。 
 適応オフセット部211には、可逆復号部42からの適応オフセットパラメータである、quad-tree構造の情報、およびオフセットの情報が供給される。適応オフセット部211は、それらの情報を用いて、演算部45からの復号画像の画素値に対してオフセット処理を行い、オフセット処理後の画素値を、デブロックフィルタ212に供給する。また、適応オフセット部211は、quad-tree構造の情報を、デブロックフィルタ制御部213に供給する。
 デブロックフィルタ212は、逆量子化部43からの対象領域の量子化パラメータ、可逆復号部42からのシンタクス要素、および、デブロックフィルタ制御部213の制御情報が供給される。デブロックフィルタ212は、量子化パラメータおよびシンタクス要素に基づきフィルタパラメータを決定する。また、デブロックフィルタ212は、デブロックフィルタ制御部213の制御情報に基づき、決定したフィルタパラメータのフィルタ強度を調整する。デブロックフィルタ212は、決定または調整されたフィルタパラメータを用いてフィルタを決定し、オフセット処理後の画像に対して、決定したフィルタで、デブロックフィルタ処理を行う。フィルタ後の画像は、適応ループフィルタ91に供給される。
 デブロックフィルタ制御部213は、適応オフセット部211からのquad-tree構造の情報に基づき、デブロックフィルタ処理の対象領域が、適応オフセット処理の対象領域の境界であるか否かを判定する。デブロックフィルタ処理の対象領域が、適応オフセット処理の対象領域の境界である場合、デブロックフィルタ制御部213は、フィルタ強度を強く調整する制御情報を、デブロックフィルタ212に供給する。
 適応ループフィルタ91は、その図示は省略するが、可逆復号部42から復号され、ヘッダから抽出された適応ループフィルタ係数が供給される。適応ループフィルタ91は供給されたフィルタ係数を用いて、デブロックフィルタ212からの復号画像にフィルタ処理を行う。
 なお、適応オフセット部211、デブロックフィルタ212、およびデブロックフィルタ制御部213における、本技術に関連する基本的な動作原理は、図16の適応オフセット部111、デブロックフィルタ112、およびデブロックフィルタ制御部113と同様である。ただし、図16に示された画像符号化装置101においては、動き探索およびモード判定を行った結果得られる予測モードや動きベクトル情報などのシンタクス要素、量子化パラメータ、および生成されたquad-tree構造により、デブロックフィルタ112の動作が制御される。
 一方、図21に示される画像復号装置201においては、これらのシンタクス要素、量子化パラメータ、およびquad-tree構造の情報は、符号化データに付加されて、符号化側から送られてくる。したがって、画像復号装置201においては、これらの情報を復号することにより得られ、得られたシンタクス要素、量子化パラメータ、およびquad-tree構造の各情報により、デブロックフィルタ212の動作が制御されることになる。
[適応オフセット部およびデブロックフィルタの構成例]
 次に、画像復号装置201の各部について説明する。図22は、適応オフセット部211およびデブロックフィルタ212の構成例を示すブロック図である。
 図22の例において、適応オフセット部211は、quad-tree構造バッファ231、オフセットバッファ232、オフセット部233、および画素バッファ234を含むように構成されている。
 デブロックフィルタ212は、α/β決定部241、Bs決定部242、フィルタ決定部243、およびフィルタリング部244を含むように構成されている。
 可逆復号部42からのquad-tree構造の情報は、quad-tree構造バッファ231に供給される。quad-tree構造バッファ231は、可逆復号部42からのquad-tree構造の情報を蓄積し、quad-tree構造の情報を、オフセット部233、およびデブロックフィルタ制御部213に供給する。
 可逆復号部42からのオフセットの情報は、オフセットバッファ232に供給される。オフセットバッファ232は、可逆復号部42からのオフセットの情報を蓄積し、オフセットの情報を、オフセット部233に供給する。
 演算部45からのオフセット処理前の画素値は、オフセット部233に供給される。オフセット部233は、図17のオフセット部133と基本的に同様に構成される。オフセット部233は、オフセット処理前の画素値に対して、オフセット処理を行う。すなわち、オフセット部233は、quad-tree構造バッファ231によりquad-tree分割された各領域の画素値に対して、オフセットバッファ232からのオフセット値を加算する。オフセット部233は、オフセット処理後の画素値を画素バッファ234に蓄積する。
 画素バッファ234は、図17の画素バッファ134と基本的に同様に構成される。オフセット処理後の画素値を蓄積し、所定のタイミングで、オフセット処理後の画素値を、フィルタ決定部243に供給する。
 逆量子化部43からのデブロックフィルタの対象領域の量子化パラメータは、α/β決定部241に供給される。α/β決定部241は、図17のα/β決定部141と基本的に同様に構成される。α/β決定部241は、逆量子化部43から供給されるデブロックフィルタ処理の対象領域の量子化パラメータを取得し、取得した量子化パラメータに基づいて、図7および図8を参照して上述したように、閾値α/βの値を決定する。α/β決定部241は、決定した閾値α/βの値を、フィルタパラメータの1つとして、フィルタ決定部243に供給する。
 可逆復号部42からの予測モードや動きベクトル情報などのシンタクス要素がBs決定部242に供給される。Bs決定部242は、図17のBs決定部142と基本的に同様に構成される。Bs決定部242は、可逆復号部42からの予測モードやLCUに関するシンタクス要素を取得する。Bs決定部242は、取得した情報に基づき、図6を参照して上述した方法で、Bsの値を決定する。また、デブロックフィルタ制御部213からの制御情報を受けた場合、Bs決定部242は、デブロックフィルタ制御部213からの制御情報に基づき、例えば、第1または第2の方法のうち、図17のBs決定部142に対応する方法により、Bsの値を調整する。Bs決定部242は、決定または調整したBsの値を、フィルタパラメータの1つとして、フィルタ決定部243に供給する。
フィルタ決定部243は、図17のフィルタ決定部143と基本的に同様に構成される。フィルタ決定部243は、α/β決定部241およびBs決定部242からのフィルタパラメータから、フィルタ(フィルタ特性)を決定し、決定したフィルタの制御情報を、フィルタリング部244に供給する。その際、フィルタ決定部243は、画素バッファ234から供給されるオフセット処理後であって、デブロックフィルタ前の画素値も、フィルタリング部244に供給する。
 フィルタリング部244は、図17のフィルタリング部144と基本的に同様に構成される。フィルタリング部244は、フィルタ決定部243からのデブロックフィルタ前の画素値に対して、フィルタ決定部243からのフィルタ制御情報に示されるフィルタを用いて、フィルタ処理を施す。フィルタリング部244は、フィルタ処理が施されたデブロックフィルタ後の画素値を、適応ループフィルタ91に供給する。
[復号処理の流れ]
 次に、以上のような画像復号装置201により実行される各処理の流れについて説明する。最初に、図22のフローチャートを参照して、復号処理の流れの例を説明する。
 復号処理が開始されると、ステップS201において、蓄積バッファ41は、伝送されてきた符号化データを蓄積する。ステップS202において、可逆復号部42は、蓄積バッファ41から供給される符号化データを復号する。すなわち、図16の可逆符号化部16により符号化されたIピクチャ、Pピクチャ、並びにBピクチャが復号される。
 このとき、動きベクトル情報、参照フレーム情報、予測モード情報(イントラ予測モード、またはインター予測モード)、並びに、適応オフセットパラメータの情報も復号される。
 予測モード情報がイントラ予測モード情報である場合、予測モード情報は、イントラ予測部51に供給される。予測モード情報がインター予測モード情報である場合、予測モード情報と対応する動きベクトル情報は、動き補償部52およびデブロックフィルタ212に供給される。また、適応オフセットパラメータであるquad-tree構造、およびオフセットは、適応オフセット部211に供給される。
 ステップS203において、イントラ予測部51または動き補償部52は、可逆復号部42から供給される予測モード情報に対応して、それぞれ、予測画像生成処理を行う。
 すなわち、可逆復号部42からイントラ予測モード情報が供給された場合、イントラ予測部51は、Most Probable Modeの生成を行い、並列処理により、イントラ予測モードのイントラ予測画像を生成する。可逆復号部42からインター予測モード情報が供給された場合、動き補償部52は、インター予測モードの動き予測・補償処理を行い、インター予測画像を生成する。
 この処理により、イントラ予測部51により生成された予測画像(イントラ予測画像)、または動き補償部52により生成された予測画像(インター予測画像)が画像選択部53に供給される。
 ステップS204において、画像選択部53は予測画像を選択する。すなわち、イントラ予測部51により生成された予測画像、または動き補償部52により生成された予測画像が供給される。したがって、供給された予測画像が選択されて演算部45に供給され、後述するステップS207において逆直交変換部44の出力と加算される。
 上述したステップS202において、可逆復号部42により復号された変換係数は、逆量子化部43にも供給される。ステップS205において、逆量子化部43は可逆復号部42により復号された変換係数を、可逆復号部42により復号された量子化パラメータで、図16の量子化部15の特性に対応する特性で逆量子化する。このとき、逆量子化部43は、用いた量子化パラメータを、デブロックフィルタ212に供給する。
 ステップS206において逆直交変換部44は、逆量子化部43により逆量子化された変換係数を、図16の直交変換部14の特性に対応する特性で逆直交変換する。これにより図16の直交変換部14の入力(演算部13の出力)に対応する差分情報が復号されたことになる。
 ステップS207において、演算部45は、上述したステップS204の処理で選択され、画像選択部53を介して入力される予測画像を差分情報と加算する。これにより元の画像が復号される。
 ステップS208において、適応オフセット部211、デブロックフィルタ212、デブロックフィルタ制御部213、および適応ループフィルタ91は、インループフィルタ処理を行う。このインループフィルタ処理により、適応オフセット処理が施されて、リンギングなどが除去される。
 また、逆量子化部43からの量子化パラメータ、および可逆復号部42からのシンタクス要素の他に、適応オフセット処理の結果(quad-tree構造の情報)に基づきデブロックフィルタ212のフィルタ特性が決定される。そして、オフセット処理後の画素値に対して、決定されたフィルタ特性により、デブロックフィルタ処理が施されて、ブロック歪みが除去される。さらに、デブロックフィルタ後の画素値に対して、適応ループフィルタ処理が施されて、画質改善が行われる。適応フィルタ処理後の画素値は、フレームメモリ49および画面並べ替えバッファ47に出力される。
 ステップS209においてフレームメモリ49は、適応フィルタリングされた画像を記憶する。
 ステップS210において、画面並べ替えバッファ47は、適応ループフィルタ91後の画像の並べ替えを行う。すなわち画像符号化装置101の画面並べ替えバッファ12により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
 ステップS211において、D/A変換部48は、画面並べ替えバッファ47からの画像をD/A変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
 ステップS211の処理が終了すると、復号処理が終了される。
[インループフィルタ処理の流れ]
 次に、図24のフローチャートを参照して、図23のステップS208において実行されるインループフィルタ処理の流れの例を説明する。このインループフィルタ処理は、適応オフセット部211、デブロックフィルタ212、デブロックフィルタ制御部213、および適応ループフィルタ91により実行される処理である。
 図23のステップS205の処理により、逆量子化部43は、量子化パラメータの情報を、デブロックフィルタ212に供給してくる。これに対応して、α/β決定部241は、ステップS231において、逆量子化部43から供給される量子化パラメータの情報を取得する。
 また、図23のステップS202の処理により、可逆復号部42は、予測モード情報および動きベクトル情報などのシンタクス要素を、デブロックフィルタ212に供給してくる。これに対応して、Bs決定部242は、ステップS232において、可逆復号部42から供給されるシンタクス要素を取得し、動き探索・モード判定処理を行う。
 すなわち、Bs決定部242は、図6を参照して上述したようにして、図5の画素pまたは画素qがどんな予測モードのLCU(マクロブロック)に属するかや、参照フレーム情報や動きベクトル情報などを判定する。
 一方、図23のステップS207の処理により演算部45からの復号画像(ローカルデコード後のベースバンド情報)が、適応オフセット部211に供給される。これに対応して、ステップS233において、適応オフセット部211は、適応オフセット処理を行う。この適応オフセット処理については、図25を参照して後述する。
 ステップS233の処理により、図12を参照して上述したquad-tree 構造とオフセット値とが可逆復号部42から取得される。そして、取得したquad-tree構造とオフセット値を用いて、演算部45からの復号画像に対してオフセット処理が行われ、オフセット処理後の画像が、デブロックフィルタ212に供給される。
 ステップS234において、α/β決定部241およびBs決定部242は、デブロックフィルタ212のフィルタパラメータを決定する。
 すなわち、α/β決定部241は、ステップS232により取得した量子化パラメータに基づいて、図7および図8を参照して上述したようにして、閾値α/βの値を決定する。決定した閾値α/βの値は、フィルタパラメータの1つとして、フィルタ決定部243に供給される。
 一方、Bs決定部242は、ステップS232により判定された動き探索・モード判定処理の結果に基づいて、Bsの値を決定する。
 デブロックフィルタ制御部213は、ステップS235において、デブロックフィルタ処理の対象領域が、適応オフセット処理境界(すなわち、適応オフセット処理の対象領域の境界)であるか否かを判定する。この判定処理は、ステップS233の処理により得られた適応オフセット処理の結果(quad-tree 構造の情報)が参照されて行われる。
 ステップS235において、デブロックフィルタ処理の対象領域が、適応オフセット処理境界であると判定された場合、処理は、ステップS236に進む。ステップS236において、デブロックフィルタ制御部213は、デブロックフィルタ212のフィルタパラメータを調整する。
 すなわち、デブロックフィルタ制御部213は、画像符号化装置101のデブロックフィルタ制御部113に対応する、例えば、第1の方法を用いて、Bs値を+1する制御情報を、Bs決定部242に供給する。これに対応して、Bs決定部242は、ステップS134において決定したBs値を+1するようにフィルタ強度の調整を行い、調整されたBs値を、フィルタパラメータの1つとして、フィルタ決定部243に供給する。
 また、ステップS235において、デブロックフィルタ処理の対象領域が、適応オフセット処理境界ではないと判定された場合、ステップS236の処理はスキップされる。この場合、Bs決定部242は、ステップS234において決定したBs値を、フィルタパラメータの1つとして、フィルタ決定部243に供給する。
 フィルタパラメータが供給されると、フィルタ決定部243は、フィルタ(の特性)を決定し、決定したフィルタとともに、画素バッファ234からのオフセット処理後の画素値であって、デブロックフィルタ前の画素値を、フィルタリング部244に供給する。
 これに対応して、フィルタリング部244は、ステップS237において、フィルタ決定部243からのデブロックフィルタ前の画素値に対して、フィルタ決定部243からのフィルタ制御情報に示されるフィルタを用いて、フィルタ処理を施す。フィルタリング部244は、フィルタ処理が施されたデブロックフィルタ後の画素値を、適応ループフィルタ91に供給する。
 ステップS238において、適応ループフィルタ91は、デブロックフィルタ212からのデブロックフィルタ後の画像に適応ループフィルタ処理を行う。
 すなわち、図示は省略されているが、図23のステップS202の処理により、可逆復号部42は、適応ループフィルタ係数を、適応ループフィルタ91に供給してくる。適応ループフィルタ91は、可逆復号部42からの適応ループフィルタ係数を用いて、デブロックフィルタ212からのデブロックフィルタ後の画像にフィルタ処理を行う。フィルタ処理後の画像は、フレームメモリ49および画面並べ替えバッファ47に供給される。
 以上のように、画像復号装置201においては、デブロックフィルタに先立ち、適応オフセット処理を行うようにしたので、これにより、適応オフセット処理で生じるブロック歪みを抑制することができる。
 さらに、画像復号装置201においては、適応オフセット処理の結果であるquad-tree構造の情報に基づき、適応オフセット処理の境界に対してより強くデブロックフィルタ処理を行うことができる。これにより、ブロック歪みの除去をより適切に行い、復号画像の画質を向上させることができる。
[適応オフセット処理の流れ]
 次に、図25のフローチャートを参照して、図14のステップS233の適応オフセット処理について説明する。
 可逆復号部42からのquad-tree構造の情報は、quad-tree構造バッファ231に供給される。ステップS251において、quad-tree構造バッファ231は、可逆復号部42からのquad-tree構造の情報を受信し、蓄積する。その後、quad-tree構造バッファ231は、所定のタイミングで、オフセット部233に、quad-tree構造の情報を供給する。
 可逆復号部42からのオフセットの情報は、オフセットバッファ232に供給される。ステップS252において、オフセットバッファ232は、可逆復号部42からのオフセット値の情報を受信し、蓄積する。そして、オフセットバッファ232は、所定のタイミングで、オフセットの情報を、オフセット部233に供給する。
 ステップS253において、オフセット部233は、デブロック後の画素値に対して、オフセット処理を行う。すなわち、すなわち、オフセット部233は、quad-tree構造バッファ231によりquad-tree分割された各領域の画素値に対して、オフセットバッファ232からの情報が示すオフセットを加算する。オフセット部233は、オフセット処理後の画素値を画素バッファ234に蓄積する。
 その後、画素バッファ234は、所定のタイミングで、オフセット処理後の画素値を、適応ループフィルタ91に供給し、適応オフセット処理は終了する。
 なお、上記説明においては、図16のデブロックフィルタ制御部113と図21のデブロックフィルタ制御部213が、デブロックフィルタのフィルタパラメータの強度を調整するための制御情報をそれぞれ生成する例を説明した。すなわち、上記説明においては、図16のデブロックフィルタ制御部113と図21のデブロックフィルタ制御部213において、フィルタパラメータをどのように制御するかの情報が予め設定されている例について説明されている。
 これに対して、図16の画像符号化装置101のデブロックフィルタ制御部113が生成した制御情報を、可逆符号化部16で符号化し、符号化データに付加して、画像復号装置201に送る。そして、画像復号装置201で受信された制御情報を、可逆復号部42で復号し、復号された制御情報を、デブロックフィルタ制御部213が用いるようにしてもよい。なお、このとき、デブロックフィルタ制御部113が生成した制御情報は、例えば、ピクチャ毎、シーケンス毎、またはスライス毎に符号化される。
 この場合の制御情報には、適応オフセット処理境界と判定されるのが、異なる種類の領域であるか、同じ種類であっても異なるカテゴリの領域であるか、それらの両方であるかなどの情報が含まれるようにしてもよい。また、制御情報には、フィルタ強度の調整方法がBs値であるか、閾値αおよびβ値であるかの情報が含まれるようにしてもよい。さらに、制御情報には、Bs値または閾値αおよびβ値をどのように調整するか(例えば、+1するか、強制的に4にするかなど)の情報が含まれるようにしてもよい。上述した情報すべてが含まれるようにしてもよいし、上述した情報の少なくとも1つが含まれ、他の情報は、予め設定されているようにしてもよい。
 以上においては、HEVC方式に準ずる場合を例に説明してきたが、本技術は、適応オフセット処理およびデブロック処理を、動き補償ループ内で行う装置であれば、他の符号化方式を用いる装置でも適用することができる。
 なお、本開示は、例えば、MPEG、H.26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本開示は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。さらに、本開示は、それらの画像符号化装置および画像復号装置などに含まれる動き予測補償装置にも適用することができる。
 <3.第3の実施の形態>
 [コンピュータ]
 上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な汎用のパーソナルコンピュータなどが含まれる。
 図24において、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 コンピュータ500において、CPU(Central Processing Unit)501,ROM(Read Only Memory)502,RAM(Random Access Memory)503は、バス504により相互に接続されている。
 バス504には、さらに、入出力インタフェース505が接続されている。入出力インタフェース505には、入力部506、出力部507、記憶部508、通信部509、及びドライブ510が接続されている。
 入力部506は、キーボード、マウス、マイクロホンなどよりなる。出力部507は、ディスプレイ、スピーカなどよりなる。記憶部508は、ハードディスクや不揮発性のメモリなどよりなる。通信部509は、ネットワークインタフェースなどよりなる。ドライブ510は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア511を駆動する。
 以上のように構成されるコンピュータでは、CPU501が、例えば、記憶部508に記憶されているプログラムを、入出力インタフェース505及びバス504を介して、RAM503にロードして実行することにより、上述した一連の処理が行われる。
 コンピュータ500(CPU501)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア511に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。 
 コンピュータでは、プログラムは、リムーバブルメディア511をドライブ510に装着することにより、入出力インタフェース505を介して、記憶部508にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部509で受信し、記憶部508にインストールすることができる。その他、プログラムは、ROM502や記憶部508に、あらかじめインストールしておくことができる。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
 また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。
 また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。つまり、本技術は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 上述した実施形態に係る画像符号化装置及び画像復号装置は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、4つの応用例について説明する。
 <4.応用例>
[第1の応用例:テレビジョン受像機]
 図25は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース909、制御部910、ユーザインタフェース911、及びバス912を備える。
 チューナ902は、アンテナ901を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ902は、復調により得られた符号化ビットストリームをデマルチプレクサ903へ出力する。即ち、チューナ902は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送手段としての役割を有する。
 デマルチプレクサ903は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ904へ出力する。また、デマルチプレクサ903は、符号化ビットストリームからEPG(Electronic Program Guide)などの補助的なデータを抽出し、抽出したデータを制御部910に供給する。なお、デマルチプレクサ903は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
 デコーダ904は、デマルチプレクサ903から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ904は、復号処理により生成される映像データを映像信号処理部905へ出力する。また、デコーダ904は、復号処理により生成される音声データを音声信号処理部907へ出力する。
 映像信号処理部905は、デコーダ904から入力される映像データを再生し、表示部906に映像を表示させる。また、映像信号処理部905は、ネットワークを介して供給されるアプリケーション画面を表示部906に表示させてもよい。また、映像信号処理部905は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部905は、例えばメニュー、ボタン又はカーソルなどのGUI(Graphical User Interface)の画像を生成し、生成した画像を出力画像に重畳してもよい。
 表示部906は、映像信号処理部905から供給される駆動信号により駆動され、表示デバイス(例えば、液晶ディスプレイ、プラズマディスプレイ又はOELD(Organic ElectroLuminescence Display)(有機ELディスプレイ)など)の映像面上に映像又は画像を表示する。
 音声信号処理部907は、デコーダ904から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ908から音声を出力させる。また、音声信号処理部907は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
 外部インタフェース909は、テレビジョン装置900と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース909を介して受信される映像ストリーム又は音声ストリームが、デコーダ904により復号されてもよい。即ち、外部インタフェース909もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送手段としての役割を有する。
 制御部910は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置900の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース911から入力される操作信号に応じて、テレビジョン装置900の動作を制御する。
 ユーザインタフェース911は、制御部910と接続される。ユーザインタフェース911は、例えば、ユーザがテレビジョン装置900を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース911は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部910へ出力する。
 バス912は、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、音声信号処理部907、外部インタフェース909及び制御部910を相互に接続する。
 このように構成されたテレビジョン装置900において、デコーダ904は、上述した実施形態に係る画像復号装置の機能を有する。それにより、テレビジョン装置900での画像の復号に際して、ブロック歪みの除去をより適切に行い、復号画像の画質を向上させることができる。
 [第2の応用例:携帯電話機]
 図26は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機920は、アンテナ921、通信部922、音声コーデック923、スピーカ924、マイクロホン925、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931、操作部932、及びバス933を備える。
 アンテナ921は、通信部922に接続される。スピーカ924及びマイクロホン925は、音声コーデック923に接続される。操作部932は、制御部931に接続される。バス933は、通信部922、音声コーデック923、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、及び制御部931を相互に接続する。
 携帯電話機920は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。
 音声通話モードにおいて、マイクロホン925により生成されるアナログ音声信号は、音声コーデック923に供給される。音声コーデック923は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック923は、圧縮後の音声データを通信部922へ出力する。通信部922は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して音声データを生成し、生成した音声データを音声コーデック923へ出力する。音声コーデック923は、音声データを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
 また、データ通信モードにおいて、例えば、制御部931は、操作部932を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部931は、文字を表示部930に表示させる。また、制御部931は、操作部932を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部922へ出力する。通信部922は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して電子メールデータを復元し、復元した電子メールデータを制御部931へ出力する。制御部931は、表示部930に電子メールの内容を表示させると共に、電子メールデータを記録再生部929の記憶媒体に記憶させる。
 記録再生部929は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、RAM又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USB(Unallocated Space Bitmap)メモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
 また、撮影モードにおいて、例えば、カメラ部926は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部927へ出力する。画像処理部927は、カメラ部926から入力される画像データを符号化し、符号化ストリームを記憶再生部929の記憶媒体に記憶させる。
 また、テレビ電話モードにおいて、例えば、多重分離部928は、画像処理部927により符号化された映像ストリームと、音声コーデック923から入力される音声ストリームとを多重化し、多重化したストリームを通信部922へ出力する。通信部922は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部922は、受信信号を復調及び復号してストリームを復元し、復元したストリームを多重分離部928へ出力する。多重分離部928は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部927、音声ストリームを音声コーデック923へ出力する。画像処理部927は、映像ストリームを復号し、映像データを生成する。映像データは、表示部930に供給され、表示部930により一連の画像が表示される。音声コーデック923は、音声ストリームを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
 このように構成された携帯電話機920において、画像処理部927は、上述した実施形態に係る画像符号化装置及び画像復号装置の機能を有する。それにより、携帯電話機920での画像の符号化及び復号に際して、ブロック歪みの除去をより適切に行い、復号画像の画質を向上させることができる。
 [第3の応用例:記録再生装置]
 図27は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置940は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置940は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置940は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置940は、音声データ及び映像データを復号する。
 記録再生装置940は、チューナ941、外部インタフェース942、エンコーダ943、HDD(Hard Disk Drive)944、ディスクドライブ945、セレクタ946、デコーダ947、OSD(On-Screen Display)948、制御部949、及びユーザインタフェース950を備える。
 チューナ941は、アンテナ(図示せず)を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ941は、復調により得られた符号化ビットストリームをセレクタ946へ出力する。即ち、チューナ941は、記録再生装置940における伝送手段としての役割を有する。
 外部インタフェース942は、記録再生装置940と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース942は、例えば、IEEE1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース942を介して受信される映像データ及び音声データは、エンコーダ943へ入力される。即ち、外部インタフェース942は、記録再生装置940における伝送手段としての役割を有する。
 エンコーダ943は、外部インタフェース942から入力される映像データ及び音声データが符号化されていない場合に、映像データ及び音声データを符号化する。そして、エンコーダ943は、符号化ビットストリームをセレクタ946へ出力する。
 HDD944は、映像及び音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラムおよびその他のデータを内部のハードディスクに記録する。また、HDD944は、映像及び音声の再生時に、これらデータをハードディスクから読み出す。
 ディスクドライブ945は、装着されている記録媒体へのデータの記録及び読み出しを行う。ディスクドライブ945に装着される記録媒体は、例えばDVDディスク(DVD-Video、DVD-RAM、DVD-R、DVD-RW、DVD+R、DVD+RW等)又はBlu-ray(登録商標)ディスクなどであってよい。
 セレクタ946は、映像及び音声の記録時には、チューナ941又はエンコーダ943から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD944又はディスクドライブ945へ出力する。また、セレクタ946は、映像及び音声の再生時には、HDD944又はディスクドライブ945から入力される符号化ビットストリームをデコーダ947へ出力する。
 デコーダ947は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ947は、生成した映像データをOSD948へ出力する。また、デコーダ904は、生成した音声データを外部のスピーカへ出力する。
 OSD948は、デコーダ947から入力される映像データを再生し、映像を表示する。また、OSD948は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのGUIの画像を重畳してもよい。
 制御部949は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置940の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース950から入力される操作信号に応じて、記録再生装置940の動作を制御する。
 ユーザインタフェース950は、制御部949と接続される。ユーザインタフェース950は、例えば、ユーザが記録再生装置940を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース950は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部949へ出力する。
 このように構成された記録再生装置940において、エンコーダ943は、上述した実施形態に係る画像符号化装置の機能を有する。また、デコーダ947は、上述した実施形態に係る画像復号装置の機能を有する。それにより、記録再生装置940での画像の符号化及び復号に際して、ブロック歪みの除去をより適切に行い、復号画像の画質を向上させることができる。
 [第4の応用例:撮像装置]
 図28は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置960は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
 撮像装置960は、光学ブロック961、撮像部962、信号処理部963、画像処理部964、表示部965、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、制御部970、ユーザインタフェース971、及びバス972を備える。
 光学ブロック961は、撮像部962に接続される。撮像部962は、信号処理部963に接続される。表示部965は、画像処理部964に接続される。ユーザインタフェース971は、制御部970に接続される。バス972は、画像処理部964、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、及び制御部970を相互に接続する。
 光学ブロック961は、フォーカスレンズ及び絞り機構などを有する。光学ブロック961は、被写体の光学像を撮像部962の撮像面に結像させる。撮像部962は、CCD(Charge Coupled Device)又はCMOS(Complementary Metal Oxide Semiconductor)などのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部962は、画像信号を信号処理部963へ出力する。
 信号処理部963は、撮像部962から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部963は、カメラ信号処理後の画像データを画像処理部964へ出力する。
 画像処理部964は、信号処理部963から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部964は、生成した符号化データを外部インタフェース966又はメディアドライブ968へ出力する。また、画像処理部964は、外部インタフェース966又はメディアドライブ968から入力される符号化データを復号し、画像データを生成する。そして、画像処理部964は、生成した画像データを表示部965へ出力する。また、画像処理部964は、信号処理部963から入力される画像データを表示部965へ出力して画像を表示させてもよい。また、画像処理部964は、OSD969から取得される表示用データを、表示部965へ出力する画像に重畳してもよい。
 OSD969は、例えばメニュー、ボタン又はカーソルなどのGUIの画像を生成して、生成した画像を画像処理部964へ出力する。
 外部インタフェース966は、例えばUSB入出力端子として構成される。外部インタフェース966は、例えば、画像の印刷時に、撮像装置960とプリンタとを接続する。また、外部インタフェース966には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置960にインストールされ得る。さらに、外部インタフェース966は、LAN又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース966は、撮像装置960における伝送手段としての役割を有する。
 メディアドライブ968に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ968に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD(Solid State Drive)のような非可搬性の記憶部が構成されてもよい。
 制御部970は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置960の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース971から入力される操作信号に応じて、撮像装置960の動作を制御する。
 ユーザインタフェース971は、制御部970と接続される。ユーザインタフェース971は、例えば、ユーザが撮像装置960を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース971は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部970へ出力する。
 このように構成された撮像装置960において、画像処理部964は、上述した実施形態に係る画像符号化装置及び画像復号装置の機能を有する。それにより、撮像装置960での画像の符号化及び復号に際して、ブロック歪みの除去をより適切に行い、復号画像の画質を向上させることができる。
 なお、本明細書では、適応オフセットパラメータ、予測モード情報、および動きベクトル情報などのシンタクス要素等の各種情報が、符号化ストリームに多重化されて、符号化側から復号側へ伝送される例について説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライス若しくはブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像(又はビットストリーム)とは別の伝送路上で伝送されてもよい。また、情報は、画像(又はビットストリーム)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、情報と画像(又はビットストリーム)とは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
 以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
 なお、本技術は以下のような構成も取ることができる。
 (1) 符号化ストリームを復号処理して画像を生成する復号部と、
 前記復号部により生成された画像を対象として、適応オフセット処理を行う適応オフセット処理部と、
 前記適応オフセット処理により用いられるquad-tree構造に関する情報に基づいて、前記画像におけるデブロックフィルタ処理の対象領域が、前記適応オフセット処理の対象領域の境界である場合、前記デブロックフィルタ処理の強度を調整するデブロックフィルタ調整部と、
 前記適応オフセット処理部により前記適応オフセット処理が行われた画像を対象として、前記デブロックフィルタ調整部により調整された強度で、前記デブロックフィルタ処理を行うデブロックフィルタ処理部と
 を備える画像処理装置。
 (2) 前記デブロックフィルタ調整部は、前記デブロックフィルタ処理の対象領域と、前記デブロックフィルタ処理の対象領域に隣接する隣接領域とが前記適応オフセット処理の対象領域の境界であり、前記デブロックフィルタ処理の対象領域と前記隣接領域とが、エッジオフセット、バンドオフセット、およびオフセットなしのうち、異なる種類のオフセットでそれぞれ処理される場合、前記デブロックフィルタ処理の強度を調整する
 前記(1)に記載の画像処理装置。
 (3) 前記デブロックフィルタ調整部は、前記デブロックフィルタ処理の対象領域と、前記デブロックフィルタ処理の対象領域に隣接する隣接領域とが前記適応オフセット処理の対象領域の境界であり、エッジオフセットまたはバンドオフセットのうち、同じ種類のオフセットで、かつ、異なるカテゴリでそれぞれ処理される場合、前記デブロックフィルタ処理の強度を調整する
 前記(1)または(2)に記載の画像処理装置。
 (4) 前記デブロックフィルタ調整部は、Boundary strength値により前記デブロックフィルタ処理の強度を調整する
 前記(1)乃至(3)のいずれかに記載の画像処理装置。
 (5) 前記デブロックフィルタ調整部は、前記デブロックフィルタ処理の対象領域と前記隣接領域とが前記適応オフセット処理の対象領域の境界であり、異なる種類のオフセットでそれぞれ処理される場合、前記Boundary strength値を+1として、前記デブロックフィルタ処理の強度を調整する
 前記(4)に記載の画像処理装置。
 (6) 前記デブロックフィルタ調整部は、前記デブロックフィルタ処理の対象領域と前記隣接領域とが前記適応オフセット処理の対象領域の境界であり、異なる種類のオフセットでそれぞれ処理される場合、前記Boundary strength値を4として、前記デブロックフィルタ処理の強度を調整する
 前記(4)に記載の画像処理装置。
 (7) 前記デブロックフィルタ調整部は、前記デブロックフィルタ処理の対象領域と前記隣接領域とが前記適応オフセット処理の対象領域の境界であり、異なる種類のオフセットでそれぞれ処理される場合、αの値またはβの値により前記デブロックフィルタ処理の強度を調整する
 前記(1)乃至(3)のいずれかに記載の画像処理装置。
 (8) 前記デブロックフィルタ調整部は、前記デブロックフィルタ処理の対象領域と前記隣接領域とが前記適応オフセット処理の対象領域の境界であり、異なる種類のオフセットでそれぞれ処理される場合、量子化パラメータQPと所定値ΔQPとを加算した値を用いたテーブル引きを行って、前記αの値またはβの値を決定する
 前記(7)に記載の画像処理装置。
 (9) 画像処理装置が、
 符号化ストリームを復号処理して画像を生成し、
 生成された画像を対象として、適応オフセット処理を行い、
 前記適応オフセット処理により用いられるquad-tree構造に関する情報に基づいて、前記画像におけるデブロックフィルタ処理の対象領域が、前記適応オフセット処理の対象領域の境界である場合、前記デブロックフィルタ処理の強度を調整し、
 前記適応オフセット処理が行われた画像を対象として、調整された強度で、前記デブロックフィルタ処理を行う
 画像処理方法。
 (10) 画像を符号化する際にローカル復号処理された画像を対象として、適応オフセット処理を行う適応オフセット処理部と、
 前記適応オフセット処理により用いられるquad-tree構造に関する情報に基づいて、前記画像におけるデブロックフィルタ処理の対象領域が、前記適応オフセット処理の対象領域の境界である場合、前記デブロックフィルタ処理の強度を調整するデブロックフィルタ調整部と、
 前記適応オフセット処理部により前記適応オフセット処理が行われた画像を対象として、前記デブロックフィルタ調整部により調整された強度で、前記デブロックフィルタ処理を行うデブロックフィルタ処理部と、
 前記デブロックフィルタ処理部により前記デブロックフィルタ処理が行われた画像を用いて、前記画像を符号化する符号化部と
 を備える画像処理装置。
 (11) 前記デブロックフィルタ調整部は、前記デブロックフィルタ処理の対象領域と、前記デブロックフィルタ処理の対象領域に隣接する隣接領域とが前記適応オフセット処理の対象領域の境界であり、前記デブロックフィルタ処理の対象領域と前記隣接領域とが、エッジオフセット、バンドオフセット、およびオフセットなしのうち、異なる種類のオフセットでそれぞれ処理される場合、前記デブロックフィルタ処理の強度を調整する
 前記(10)に記載の画像処理装置。
 (12) 前記デブロックフィルタ調整部は、前記デブロックフィルタ処理の対象領域と、前記デブロックフィルタ処理の対象領域に隣接する隣接領域とが前記適応オフセット処理の対象領域の境界であり、エッジオフセットまたはバンドオフセットのうち、同じ種類のオフセットで、かつ、異なるカテゴリでそれぞれ処理される場合、前記デブロックフィルタ処理の強度を調整する
 前記(10)または(11)に記載の画像処理装置。
 (13) 前記デブロックフィルタ調整部は、Boundary strength値により前記デブロックフィルタ処理の強度を調整する
 前記(10)乃至(12)のいずれかに記載の画像処理装置。
 (14) 前記デブロックフィルタ調整部は、前記デブロックフィルタ処理の対象領域と前記隣接領域とが前記適応オフセット処理の対象領域の境界であり、異なる種類のオフセットでそれぞれ処理される場合、前記Boundary strength値を+1として、前記デブロックフィルタ処理の強度を調整する
 前記(13)に記載の画像処理装置。
 (15) 前記デブロックフィルタ調整部は、前記デブロックフィルタ処理の対象領域と前記隣接領域とが前記適応オフセット処理の対象領域の境界であり、異なる種類のオフセットでそれぞれ処理される場合、前記Boundary strength値を4として、前記デブロックフィルタ処理の強度を調整する
 前記(13)に記載の画像処理装置。
 (16) 前記デブロックフィルタ調整部は、前記デブロックフィルタ処理の対象領域と前記隣接領域とが前記適応オフセット処理の対象領域の境界であり、異なる種類のオフセットでそれぞれ処理される場合、αの値またはβの値により前記デブロックフィルタ処理の強度を調整する
 前記(10)乃至(12)のいずれかに記載の画像処理装置。
 (17) 前記デブロックフィルタ調整部は、前記デブロックフィルタ処理の対象領域と前記隣接領域とが前記適応オフセット処理の対象領域の境界であり、異なる種類のオフセットでそれぞれ処理される場合、量子化パラメータQPと所定値ΔQPとを加算した値を用いたテーブル引きを行って、前記αの値またはβの値を決定する
 前記(16)に記載の画像処理装置。
 (18) 画像処理装置が、
 画像を符号化する際にローカル復号処理された画像を対象として、適応オフセット処理を行い、
 前記適応オフセット処理により用いられるquad-tree構造に関する情報に基づいて、前記画像におけるデブロックフィルタ処理の対象領域が、前記適応オフセット処理の対象領域の境界である場合、前記デブロックフィルタ処理の強度を調整し、
 前記適応オフセット処理が行われた画像を対象として、調整された強度で、前記デブロックフィルタ処理を行い、
 前記デブロックフィルタ処理が行われた画像を用いて、前記画像を符号化する
 画像処理方法。
  15 量子化部, 16 可逆符号化部, 42 可逆復号部, 43 逆量子化部, 71 適応ループフィルタ, 91 適応ループフィルタ, 101 画像符号化装置, 111 適応オフセット部, 112 デブロックフィルタ, 113 デブロックフィルタ制御部, 131 quad-tree構造決定部, 132 オフセット算出部, 133 オフセット部, 134 画素バッファ, 141 α/β決定部, 142 Bs決定部, 143 フィルタ決定部, 144 フィルタリング部, 201 画像復号装置, 211 適応オフセット部, 212 デブロックフィルタ, 213 デブロックフィルタ制御部, 231 quad-tree構造バッファ, 232 オフセットバッファ, 233 オフセット部, 234 画素バッファ, 241 α/β決定部, 242 Bs決定部, 243 フィルタ決定部, 244 フィルタリング部

Claims (18)

  1.  符号化ストリームを復号処理して画像を生成する復号部と、
     前記復号部により生成された画像を対象として、適応オフセット処理を行う適応オフセット処理部と、
     前記適応オフセット処理により用いられるquad-tree構造に関する情報に基づいて、前記画像におけるデブロックフィルタ処理の対象領域が、前記適応オフセット処理の対象領域の境界である場合、前記デブロックフィルタ処理の強度を調整するデブロックフィルタ調整部と、
     前記適応オフセット処理部により前記適応オフセット処理が行われた画像を対象として、前記デブロックフィルタ調整部により調整された強度で、前記デブロックフィルタ処理を行うデブロックフィルタ処理部と
     を備える画像処理装置。
  2.  前記デブロックフィルタ調整部は、前記デブロックフィルタ処理の対象領域と、前記デブロックフィルタ処理の対象領域に隣接する隣接領域とが前記適応オフセット処理の対象領域の境界であり、前記デブロックフィルタ処理の対象領域と前記隣接領域とが、エッジオフセット、バンドオフセット、およびオフセットなしのうち、異なる種類のオフセットでそれぞれ処理される場合、前記デブロックフィルタ処理の強度を調整する
     請求項1に記載の画像処理装置。
  3.  前記デブロックフィルタ調整部は、前記デブロックフィルタ処理の対象領域と、前記デブロックフィルタ処理の対象領域に隣接する隣接領域とが前記適応オフセット処理の対象領域の境界であり、エッジオフセットまたはバンドオフセットのうち、同じ種類のオフセットで、かつ、異なるカテゴリでそれぞれ処理される場合、前記デブロックフィルタ処理の強度を調整する
     請求項2に記載の画像処理装置。
  4.  前記デブロックフィルタ調整部は、Boundary strength値により前記デブロックフィルタ処理の強度を調整する
     請求項2に記載の画像処理装置。
  5.  前記デブロックフィルタ調整部は、前記デブロックフィルタ処理の対象領域と前記隣接領域とが前記適応オフセット処理の対象領域の境界であり、異なる種類のオフセットでそれぞれ処理される場合、前記Boundary strength値を+1として、前記デブロックフィルタ処理の強度を調整する
     請求項4に記載の画像処理装置。
  6.  前記デブロックフィルタ調整部は、前記デブロックフィルタ処理の対象領域と前記隣接領域とが前記適応オフセット処理の対象領域の境界であり、異なる種類のオフセットでそれぞれ処理される場合、前記Boundary strength値を4として、前記デブロックフィルタ処理の強度を調整する
     請求項4に記載の画像処理装置。
  7.  前記デブロックフィルタ調整部は、前記デブロックフィルタ処理の対象領域と前記隣接領域とが前記適応オフセット処理の対象領域の境界であり、異なる種類のオフセットでそれぞれ処理される場合、αの値またはβの値により前記デブロックフィルタ処理の強度を調整する
     請求項2に記載の画像処理装置。
  8.  前記デブロックフィルタ調整部は、前記デブロックフィルタ処理の対象領域と前記隣接領域とが前記適応オフセット処理の対象領域の境界であり、異なる種類のオフセットでそれぞれ処理される場合、量子化パラメータQPと所定値ΔQPとを加算した値を用いたテーブル引きを行って、前記αの値またはβの値を決定する
     請求項7に記載の画像処理装置。
  9.  画像処理装置が、
     符号化ストリームを復号処理して画像を生成し、
     生成された画像を対象として、適応オフセット処理を行い、
     前記適応オフセット処理により用いられるquad-tree構造に関する情報に基づいて、前記画像におけるデブロックフィルタ処理の対象領域が、前記適応オフセット処理の対象領域の境界である場合、前記デブロックフィルタ処理の強度を調整し、
     前記適応オフセット処理が行われた画像を対象として、調整された強度で、前記デブロックフィルタ処理を行う
     画像処理方法。
  10.  画像を符号化する際にローカル復号処理された画像を対象として、適応オフセット処理を行う適応オフセット処理部と、
     前記適応オフセット処理により用いられるquad-tree構造に関する情報に基づいて、前記画像におけるデブロックフィルタ処理の対象領域が、前記適応オフセット処理の対象領域の境界である場合、前記デブロックフィルタ処理の強度を調整するデブロックフィルタ調整部と、
     前記適応オフセット処理部により前記適応オフセット処理が行われた画像を対象として、前記デブロックフィルタ調整部により調整された強度で、前記デブロックフィルタ処理を行うデブロックフィルタ処理部と、
     前記デブロックフィルタ処理部により前記デブロックフィルタ処理が行われた画像を用いて、前記画像を符号化する符号化部と
     を備える画像処理装置。
  11.  前記デブロックフィルタ調整部は、前記デブロックフィルタ処理の対象領域と、前記デブロックフィルタ処理の対象領域に隣接する隣接領域とが前記適応オフセット処理の対象領域の境界であり、前記デブロックフィルタ処理の対象領域と前記隣接領域とが、エッジオフセット、バンドオフセット、およびオフセットなしのうち、異なる種類のオフセットでそれぞれ処理される場合、前記デブロックフィルタ処理の強度を調整する
     請求項10に記載の画像処理装置。
  12.  前記デブロックフィルタ調整部は、前記デブロックフィルタ処理の対象領域と、前記デブロックフィルタ処理の対象領域に隣接する隣接領域とが前記適応オフセット処理の対象領域の境界であり、エッジオフセットまたはバンドオフセットのうち、同じ種類のオフセットで、かつ、異なるカテゴリでそれぞれ処理される場合、前記デブロックフィルタ処理の強度を調整する
     請求項11に記載の画像処理装置。
  13.  前記デブロックフィルタ調整部は、Boundary strength値により前記デブロックフィルタ処理の強度を調整する
     請求項11に記載の画像処理装置。
  14.  前記デブロックフィルタ調整部は、前記デブロックフィルタ処理の対象領域と前記隣接領域とが前記適応オフセット処理の対象領域の境界であり、異なる種類のオフセットでそれぞれ処理される場合、前記Boundary strength値を+1として、前記デブロックフィルタ処理の強度を調整する
     請求項13に記載の画像処理装置。
  15.  前記デブロックフィルタ調整部は、前記デブロックフィルタ処理の対象領域と前記隣接領域とが前記適応オフセット処理の対象領域の境界であり、異なる種類のオフセットでそれぞれ処理される場合、前記Boundary strength値を4として、前記デブロックフィルタ処理の強度を調整する
     請求項13に記載の画像処理装置。
  16.  前記デブロックフィルタ調整部は、前記デブロックフィルタ処理の対象領域と前記隣接領域とが前記適応オフセット処理の対象領域の境界であり、異なる種類のオフセットでそれぞれ処理される場合、αの値またはβの値により前記デブロックフィルタ処理の強度を調整する
     請求項11に記載の画像処理装置。
  17.  前記デブロックフィルタ調整部は、前記デブロックフィルタ処理の対象領域と前記隣接領域とが前記適応オフセット処理の対象領域の境界であり、異なる種類のオフセットでそれぞれ処理される場合、量子化パラメータQPと所定値ΔQPとを加算した値を用いたテーブル引きを行って、前記αの値またはβの値を決定する
     請求項16に記載の画像処理装置。
  18.  画像処理装置が、
     画像を符号化する際にローカル復号処理された画像を対象として、適応オフセット処理を行い、
     前記適応オフセット処理により用いられるquad-tree構造に関する情報に基づいて、前記画像におけるデブロックフィルタ処理の対象領域が、前記適応オフセット処理の対象領域の境界である場合、前記デブロックフィルタ処理の強度を調整し、
     前記適応オフセット処理が行われた画像を対象として、調整された強度で、前記デブロックフィルタ処理を行い、
     前記デブロックフィルタ処理が行われた画像を用いて、前記画像を符号化する
     画像処理方法。
PCT/JP2012/076885 2011-10-27 2012-10-18 画像処理装置および方法 WO2013061852A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201280051241.8A CN103891284A (zh) 2011-10-27 2012-10-18 图像处理装置和方法
US14/346,888 US20140233660A1 (en) 2011-10-27 2012-10-18 Image processing device and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011235881A JP2013093792A (ja) 2011-10-27 2011-10-27 画像処理装置および方法
JP2011-235881 2011-10-27

Publications (1)

Publication Number Publication Date
WO2013061852A1 true WO2013061852A1 (ja) 2013-05-02

Family

ID=48167685

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/076885 WO2013061852A1 (ja) 2011-10-27 2012-10-18 画像処理装置および方法

Country Status (4)

Country Link
US (1) US20140233660A1 (ja)
JP (1) JP2013093792A (ja)
CN (1) CN103891284A (ja)
WO (1) WO2013061852A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201119206D0 (en) * 2011-11-07 2011-12-21 Canon Kk Method and device for providing compensation offsets for a set of reconstructed samples of an image
US9277194B2 (en) * 2011-11-08 2016-03-01 Texas Instruments Incorporated Method and apparatus for image and video coding using hierarchical sample adaptive band offset
WO2014045919A1 (ja) * 2012-09-20 2014-03-27 ソニー株式会社 画像処理装置および方法
WO2015053111A1 (ja) * 2013-10-11 2015-04-16 ソニー株式会社 復号装置および復号方法、並びに、符号化装置および符号化方法
EP3767947A1 (en) 2015-11-17 2021-01-20 Huawei Technologies Co., Ltd. Method and apparatus of adaptive filtering of samples for video coding
US10455254B2 (en) * 2016-11-10 2019-10-22 Mediatek Inc. Method and apparatus of video coding
CN108337509A (zh) * 2018-04-06 2018-07-27 北京慧摩尔科技有限公司 块状噪声的降噪方法及装置
CN110121069B (zh) * 2019-06-27 2021-06-11 上海富瀚微电子股份有限公司 基于十字界的hevc环路滤波方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4847890B2 (ja) * 2007-02-16 2011-12-28 パナソニック株式会社 符号化方式変換装置
KR20120012385A (ko) * 2010-07-31 2012-02-09 오수미 인트라 예측 부호화 장치

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CHIH-MING FU ET AL.: "Sample adaptive offset for HEVC", IEEE 13TH INTERNATIONAL WORKSHOP ON MULTIMEDIA SIGNAL PROCESSING (MMSP 2011), 17 October 2011 (2011-10-17), pages 1 - 5 *
MADHUKAR BUDAGAVI: "SAO LCU boundary processing", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/ SC29/WG11 6TH MEETING, 14 July 2011 (2011-07-14), TORINO, IT *
TORU MATSUNOBU ET AL.: "Non-CE8: Method of removing boundary artifacts for SAO", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 8TH MEETING, 1 February 2012 (2012-02-01), SAN JOSE, CA, USA *

Also Published As

Publication number Publication date
JP2013093792A (ja) 2013-05-16
CN103891284A (zh) 2014-06-25
US20140233660A1 (en) 2014-08-21

Similar Documents

Publication Publication Date Title
JP5907367B2 (ja) 画像処理装置および方法、プログラム、並びに記録媒体
JP5942990B2 (ja) 画像処理装置および方法
US10419756B2 (en) Image processing device and method
WO2013061852A1 (ja) 画像処理装置および方法
WO2013002110A1 (ja) 画像処理装置および方法
CN107071468B (zh) 图像处理设备和图像处理方法
WO2014050676A1 (ja) 画像処理装置および方法
WO2012128191A1 (ja) 画像処理装置および方法
WO2013108688A1 (ja) 画像処理装置および方法
WO2013047326A1 (ja) 画像処理装置および方法
WO2013154026A1 (ja) 画像処理装置および方法
WO2013047325A1 (ja) 画像処理装置および方法
WO2013051453A1 (ja) 画像処理装置および方法
JP5999449B2 (ja) 画像処理装置および方法、プログラム、並びに記録媒体
WO2013002106A1 (ja) 画像処理装置および方法
JP6341304B2 (ja) 画像処理装置および方法、プログラム、並びに記録媒体
WO2012173063A1 (ja) 画像処理装置および方法
JP6094838B2 (ja) 画像処理装置および方法、プログラム、並びに記録媒体
JP6508553B2 (ja) 画像処理装置および方法
WO2013002111A1 (ja) 画像処理装置および方法
WO2012157539A1 (ja) 画像処理装置および方法
WO2014024723A1 (ja) 画像処理装置および方法

Legal Events

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

Ref document number: 12843351

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14346888

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12843351

Country of ref document: EP

Kind code of ref document: A1