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

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

Info

Publication number
WO2011125867A1
WO2011125867A1 PCT/JP2011/058276 JP2011058276W WO2011125867A1 WO 2011125867 A1 WO2011125867 A1 WO 2011125867A1 JP 2011058276 W JP2011058276 W JP 2011058276W WO 2011125867 A1 WO2011125867 A1 WO 2011125867A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
unit
block
filter
class
Prior art date
Application number
PCT/JP2011/058276
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 US13/637,240 priority Critical patent/US8923642B2/en
Priority to CN2011800230690A priority patent/CN102884790A/zh
Publication of WO2011125867A1 publication Critical patent/WO2011125867A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods 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 picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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

Definitions

  • the present invention relates to an image processing apparatus and method, and more particularly to an image processing apparatus and method that improves coding efficiency and subjective quality of a decoded image.
  • MPEG2 (ISO / IEC 13818-2) is defined as a general-purpose image coding method, and is a standard that covers both interlaced and progressive scan 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.
  • the MPEG2 compression method for example, in the case of a standard resolution interlaced scan image having 720 ⁇ 480 pixels, a code amount (bit rate) of 4 to 8 Mbps is allocated.
  • the MPEG2 compression method for example, in the case of a high resolution interlaced scanning image having 1920 ⁇ 10 88 pixels, a code amount (bit rate) of 18 to 22 Mbps is allocated. Thereby, a high compression rate and good image quality can be realized.
  • MPEG2 was mainly intended for high-quality coding suitable for broadcasting, it did not correspond to a coding amount (bit rate) lower than that of MPEG1, that is, a coding method with a higher compression rate.
  • bit rate bit rate
  • MPEG4 coding amount
  • the standard was approved as an international standard as ISO / IEC 14496-2 in December 1998.
  • H.264 has been initially used for the purpose of image coding for video conferencing.
  • the standardization of the 26L (ITU-T Q6 / 16 VCEG) standard is in progress.
  • 26L ITU-T Q6 / 16 VCEG
  • higher encoding efficiency is realized.
  • MPEG4 activity H. 26L based.
  • the Joint Model of Enhanced-Compression Video Coding is being implemented to achieve higher coding efficiency by incorporating features not supported by 26L.
  • H. H.264 and MPEG-4 Part 10 Advanced Video Coding, hereinafter referred to as H.264 / AVC are international standards.
  • FIG. 1 is a block diagram showing a configuration example of an image coding apparatus that outputs a compressed image based on H.264 / AVC.
  • the image encoding device 1 includes an A / D conversion unit 11, a screen rearrangement buffer 12, an operation unit 13, an orthogonal transformation unit 14, a quantization unit 15, a lossless encoding unit 16, an accumulation buffer 17, Inverse quantization unit 18, inverse orthogonal transformation unit 19, operation unit 20, deblock filter 21, frame memory 22, switch 23, intra prediction unit 24, motion prediction / compensation unit 25, predicted image selection unit 26, and rate control unit 27 is composed.
  • the A / D converter 11 A / D converts the input image, and outputs the image to the screen rearrangement buffer 12 for storage.
  • the screen rearrangement buffer 12 rearranges the images of the frames in the stored display order into the order of frames for encoding in accordance with the GOP (Group of Picture).
  • the calculation unit 13 subtracts the prediction image from the intra prediction unit 24 selected by the prediction image selection unit 26 or the prediction image from the motion prediction / compensation unit 25 from the image read from the screen rearrangement buffer 12, The difference information is output to the orthogonal transform unit 14.
  • the orthogonal transformation unit 14 subjects the difference information from the computation unit 13 to orthogonal transformation such as discrete cosine transformation and Karhunen-Loeve transformation, and outputs the transformation coefficient.
  • the quantization unit 15 quantizes the transform coefficient output from the orthogonal transform unit 14.
  • the quantized transform coefficient which is the output of the quantization unit 15, is input to the lossless encoding unit 16, where it is subjected to lossless encoding such as variable length coding or arithmetic coding and compressed.
  • the lossless encoding unit 16 acquires information indicating intra prediction from the intra prediction unit 24, and acquires information indicating an inter prediction mode or the like from the motion prediction / compensation unit 25.
  • the information indicating intra prediction and the information indicating inter prediction are hereinafter also referred to as intra prediction mode information and inter prediction mode information, respectively.
  • the lossless encoding unit 16 encodes the quantized transform coefficients, and also encodes information indicating intra prediction, information indicating an inter prediction mode, etc., as part of header information in the compressed image.
  • the lossless encoding unit 16 supplies the encoded data to the accumulation buffer 17 for accumulation.
  • the lossless encoding unit 16 performs lossless encoding processing such as variable length coding or arithmetic coding.
  • lossless encoding processing such as variable length coding or arithmetic coding.
  • variable-length coding H.264 is used.
  • CAVLC Context-Adaptive Variable Length Coding
  • arithmetic coding include CABAC (Context-Adaptive Binary Arithmetic Coding).
  • the accumulation buffer 17 converts the data supplied from the lossless encoding unit 16 into H.264 data.
  • the compressed image encoded in the H.264 / AVC format is output to the decoding side such as a recording device or a transmission line (not shown) in the subsequent stage.
  • the quantized transform coefficient output from the quantization unit 15 is also input to the inverse quantization unit 18, and after being inversely quantized, is further subjected to inverse orthogonal transform in the inverse orthogonal transform unit 19.
  • the output subjected to the inverse orthogonal transform is added to the predicted image supplied from the predicted image selecting unit 26 by the operation unit 20 to become a locally decoded image.
  • the deblocking filter 21 removes block distortion of the decoded image, and then supplies it to the frame memory 22 for storage.
  • the frame memory 22 is also supplied with an image before being deblocked by the deblock filter 21 and accumulated.
  • the switch 23 outputs the reference image stored in the frame memory 22 to the motion prediction / compensation unit 25 or the intra prediction unit 24.
  • I picture, B picture and P picture from the screen rearrangement buffer 12 are supplied to the intra prediction unit 24 as an image to be subjected to intra prediction (also referred to as intra processing). Further, the B picture and the P picture read from the screen rearrangement buffer 12 are supplied to the motion prediction / compensation unit 25 as an image to be inter predicted (also referred to as inter processing).
  • the intra prediction unit 24 performs intra prediction processing of all candidate intra prediction modes based on the image to be intra predicted read from the screen rearrangement buffer 12 and the reference image supplied from the frame memory 22, and performs prediction. Generate an image.
  • the intra prediction unit 24 calculates cost function values for all candidate intra prediction modes, and selects the intra prediction mode in which the calculated cost function value gives the minimum value as the optimal intra prediction mode.
  • the intra prediction unit 24 supplies the predicted image generated in the optimal intra prediction mode and the cost function value thereof to the predicted image selection unit 26.
  • the intra prediction unit 24 supplies the information indicating the optimal intra prediction mode to the lossless encoding unit 16.
  • the lossless encoding unit 16 encodes this information and uses it as part of header information in the compressed image.
  • the motion prediction / compensation unit 25 is supplied with the image to be inter-processed read from the screen rearrangement buffer 12 and the reference image from the frame memory 22 via the switch 23.
  • the motion prediction / compensation unit 25 performs motion prediction of blocks in all candidate inter prediction modes, and generates a motion vector of each block.
  • the motion prediction / compensation unit 25 calculates cost function values for all candidate inter prediction modes using the predicted motion vector of each block.
  • the motion prediction / compensation unit 25 determines, as the optimal inter prediction mode, the prediction mode of the block giving the minimum value among the calculated cost function values.
  • the motion prediction / compensation unit 25 supplies the predicted image of the target block of the determined optimal inter prediction mode and the cost function value thereof to the predicted image selection unit 26.
  • the motion prediction / compensation unit 25 transmits information (inter prediction mode information) indicating the optimum inter prediction mode to the lossless encoding unit 16 when the prediction image of the target block in the optimum inter prediction mode is selected by the prediction image selection unit 26. Output.
  • the lossless encoding unit 16 performs lossless encoding processing, such as variable length encoding and arithmetic encoding, on the information from the motion prediction / compensation unit 25 and inserts the information into the header portion of the compressed image.
  • the predicted image selection unit 26 determines the optimal prediction mode from the optimal intra prediction mode and the optimal inter prediction mode, based on the cost function values output from the intra prediction unit 24 or the motion prediction / compensation unit 25. Then, the prediction image selection unit 26 selects the prediction image of the determined optimal prediction mode, and supplies the prediction image to the calculation units 13 and 20. At this time, the prediction image selection unit 26 supplies selection information of the prediction image to the intra prediction unit 24 or the motion prediction / compensation unit 25.
  • the rate control unit 27 controls the rate of the quantization operation 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 showing a configuration example of an image decoding device corresponding to the image coding device of FIG.
  • the image decoding device 31 includes an accumulation buffer 41, a lossless decoding unit 42, an inverse quantization unit 43, an inverse orthogonal transformation unit 44, an operation unit 45, a deblocking filter 46, a screen rearrangement buffer 47, D /
  • the A conversion unit 48, the frame memory 49, the switch 50, the intra prediction unit 51, the motion compensation unit 52, and the switch 53 are included.
  • the accumulation buffer 41 accumulates the transmitted compressed image.
  • the lossless decoding unit 42 decodes the information supplied from the accumulation buffer 41 and encoded by the lossless encoding unit 16 of FIG. 1 by a method corresponding to the encoding method of the lossless encoding unit 16.
  • the inverse quantization unit 43 inversely quantizes the image decoded by the lossless decoding unit 42 using a method corresponding to the quantization method of the quantization unit 15 of FIG. 1.
  • the inverse orthogonal transform unit 44 performs inverse orthogonal transform on the output of the inverse quantization unit 43 according to a scheme corresponding to the orthogonal transform scheme of the orthogonal transform unit 14 in FIG. 1.
  • the inverse orthogonal transformed output is added to the predicted image supplied from the switch 53 by the operation unit 45 and decoded.
  • the deblocking filter 46 supplies and stores it to the frame memory 49 and outputs the same to the screen rearrangement buffer 47.
  • the screen rearrangement buffer 47 rearranges the images. That is, the order of the frames rearranged for the order of encoding by the screen rearrangement buffer 12 of FIG. 1 is rearranged in the order of the original display.
  • the D / A converter 48 D / A converts the image supplied from the screen rearrangement buffer 47, and outputs the image to a display (not shown) for display.
  • the switch 50 reads out the image to be inter-processed and the image to be referenced from the frame memory 49 and outputs it to the motion compensation unit 52, and also reads out the image used for intra prediction from the frame memory 49 and supplies it to the intra prediction unit 51. .
  • the intra prediction unit 51 generates a prediction image based on this information, and outputs the generated prediction image to the switch 53.
  • inter prediction mode information is supplied from the lossless decoding unit 42 to the motion compensation unit 52.
  • Inter prediction mode information is transmitted for each macroblock.
  • Motion vector information and reference frame information are transmitted for each target block.
  • the motion compensation unit 52 is a prediction mode indicated by the inter prediction mode information supplied from the lossless decoding unit 42, and uses motion vector information and reference frame information supplied from the lossless decoding unit 42, etc. Generate pixel values. The pixel value of the generated predicted image is supplied to the calculation unit 45 via the switch 53.
  • the switch 53 selects the prediction image generated by the motion compensation unit 52 or the intra prediction unit 51 and supplies the prediction image to the calculation unit 45.
  • FRExt also includes 8x8 DCT and quantization matrix specified by MPEG-2 such as encoding tools required for business use such as RGB and 4: 2: 2 and 4: 4: 4. Standardization of (Fidelity Range Extension) was completed in February 2005.
  • H.264 / AVC it has become a coding method capable of well representing film noise contained in a movie, and has been used for a wide range of applications such as Blu-Ray Disc (trademark).
  • Non-Patent Document 1 proposes a method called adaptive loop filter (ALF).
  • ALF adaptive loop filter
  • FIG. 3 is a block diagram showing a configuration example of an image coding apparatus to which an adaptive loop filter is applied.
  • the A / D conversion unit 11, the screen rearrangement buffer 12, the accumulation buffer 17, the switch 23, the intra prediction unit 24, the predicted image selection unit 26, and the rate control unit of FIG. 27 is omitted. Also, arrows and the like are omitted as appropriate. Therefore, in the case of 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 operation units 13 and 20. ing.
  • the image coding apparatus 61 of FIG. 3 is different from the image coding apparatus 1 of FIG. 1 only in that an adaptive loop filter 71 is added between the deblocking filter 21 and the frame memory 22.
  • the adaptive loop filter 71 calculates adaptive loop filter coefficients so as to minimize the residual with the original image from the screen rearrangement buffer 12 (not shown), and deblock using the adaptive loop filter coefficients. Filter processing is performed on the decoded image from the filter 21. As 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.
  • the lossless coding unit 16 performs lossless coding processing such as variable length coding and arithmetic coding and inserts the adaptive loop filter coefficient into the header portion of the compressed image.
  • FIG. 4 is a block diagram showing a configuration example of an image decoding device corresponding to the image coding device of FIG.
  • the accumulation buffer 41, the screen rearrangement buffer 47, the D / A conversion unit 48, the switch 50, the intra prediction unit 51, and the switch 53 of FIG. 2 are omitted. Also, arrows and the like are omitted as appropriate. Therefore, in the case of 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 of FIG. 4 differs from the image decoding device 31 of FIG. 2 only in that an adaptive loop filter 91 is added between the deblocking filter 46 and the frame memory 49.
  • the adaptive loop filter 91 is supplied with the adaptive loop filter coefficients decoded from the lossless decoding unit 42 and extracted from the header.
  • the adaptive loop filter 91 filters 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.
  • the macroblock size is 16 ⁇ 16 pixels.
  • setting the macroblock size to 16 ⁇ 16 pixels is not optimal for a large image frame such as UHD (Ultra High Definition; 4000 ⁇ 2000 pixels) which is a target of the next-generation coding method.
  • Non-Patent Document 2 it is also proposed to expand the macroblock size to, for example, a size of 32 ⁇ 32 pixels.
  • Non-Patent Document 2 proposes to apply an extended macroblock to an inter slice
  • Non-Patent Document 3 proposes applying the extended macroblock to an intra slice. There is.
  • the deblocking filter is held in the motion prediction / compensation loop as a part of the configuration of the image encoding device or the image decoding device, but it is likely to occur in an area including edges and textures. , Mosquito noise was difficult to remove.
  • the present invention has been made in view of such a situation, and is capable of improving coding efficiency and improving the subjective image quality of a decoded image.
  • An image processing apparatus classifies an image into flat area classes and edge or texture classes for each predetermined block using baseband information of pixel values constituting the predetermined block.
  • the classification unit classifies the image into the flat area class and the edge or texture class using the edge information of the predetermined block as the baseband information, for each of the predetermined blocks. it can.
  • the edge information of the predetermined block is information indicating edge strength.
  • the edge strength of the predetermined block is calculated using a Sobel operator.
  • the classification unit classifies the predetermined block into the edge or texture class when the edge strength of the predetermined block exceeds a predetermined threshold, and the edge strength of the predetermined block is predetermined. If it does not exceed the threshold of, it can be classified into the flat region class.
  • the predetermined block may be a block or a block constituting the block, and the apparatus may further include threshold determination means for determining the predetermined threshold according to a quantization parameter in the block.
  • the threshold determination means may determine the predetermined threshold to a lower value for a higher quantization parameter.
  • the predetermined block is a block or a block constituting the block, and the predetermined threshold is determined according to whether or not a deblock filter is applied to a frame including the block. Can further be provided.
  • the threshold determination means can determine the predetermined threshold to a lower value when the deblocking filter is applied to the frame than when the deblocking filter is not applied to the frame.
  • the classification unit classifies the image into the flat area class and the edge or texture class using the pixel dispersion value of the predetermined block as the baseband information, for each of the predetermined blocks. Can.
  • the classification unit classifies the predetermined block into the edge or texture class when the pixel dispersion value of the predetermined block exceeds a predetermined threshold, and the pixel dispersion value of the predetermined block is the image. If the predetermined threshold is not exceeded, the flat region class can be classified.
  • the predetermined block may be a block or a block constituting the block, and the apparatus may further include threshold determination means for determining the predetermined threshold according to a quantization parameter in the block.
  • the threshold determination means may determine the predetermined threshold to a lower value for a higher quantization parameter.
  • the predetermined block is a block or a block constituting the block, and the predetermined threshold is determined according to whether or not a deblock filter is applied to a frame including the block. Can further be provided.
  • the threshold determination means can determine the predetermined threshold to a lower value when the deblocking filter is applied to the frame than when the deblocking filter is not applied to the frame.
  • the apparatus may further include filter coefficient calculation means for calculating the filter coefficient using the predetermined block classified into the same class.
  • the image processing apparatus may further include transmission means for transmitting the bit stream of the image and the filter coefficient calculated by the filter coefficient calculation means.
  • An image processing method is an image processing method of an image processing apparatus including a classification unit and a filter processing unit, wherein the classification unit configures the image for each predetermined block and the predetermined block. Classified into flat area class and edge or texture class using the base band information of the pixel value to be classified, and the filtering means is classified into the same class for each predetermined block classified. A filter process is performed using the filter coefficient calculated using the predetermined block.
  • an image is classified into a flat area class and an edge or texture class for each predetermined block using baseband information of pixel values constituting the predetermined block. Then, for each predetermined block classified, the filter processing is performed using the filter coefficient calculated using the predetermined block classified into the same class.
  • the above-described image processing apparatus may be an independent apparatus, or may be an image coding apparatus or an internal block constituting an image decoding apparatus.
  • coding efficiency can be improved and subjective image quality in a decoded image can be improved.
  • H. Fig. 21 is a block diagram illustrating a configuration example of an H.264 / AVC image coding apparatus.
  • H. It is a block diagram which shows the structural example of the image decoding apparatus of a H.264 / AVC system. It is a block diagram which shows the structural example of the image coding apparatus which applied the adaptive loop filter. It is a block diagram which shows the structural example of the image decoding apparatus which applied the adaptive loop filter. It is a block diagram which shows the structure of one Embodiment of the image coding apparatus to which this invention is applied. It is a figure explaining the principle of operation of a deblocking filter. It is a figure explaining the method of the definition of Bs. It is a figure explaining the principle of operation of a deblocking filter.
  • FIG. 5 shows the configuration of an embodiment of an image coding apparatus as an image processing apparatus to which the present invention is applied.
  • the image coding apparatus 101 of FIG. 5 includes an A / D conversion unit 11, a screen rearrangement buffer 12, an operation unit 13, an orthogonal conversion unit 14, a quantization unit 15, a lossless encoding unit 16, an accumulation buffer 17, and an inverse quantization.
  • the unit includes an inverse orthogonal transform unit 19, an operation unit 20, a deblock filter 21, a frame memory 22, a switch 23, an intra prediction unit 24, a motion prediction / compensation unit 25, a predicted image selection unit 26, and a rate control unit 27.
  • the point is common to the image coding device 1 of FIG.
  • the image encoding device 101 of FIG. 5 is different from the image encoding device 1 of FIG. 1 in that an adaptive loop filter 111 and an edge detection unit 112 are added.
  • the adaptive loop filter 111 and the edge detection unit 112 are provided in front of the frame memory 22 after the deblocking filter 21. That is, the adaptive loop filter 111 and the edge detection unit 112 include the operation unit 13, the orthogonal transformation unit 14, the quantization unit 15, the inverse quantization unit 18, the inverse orthogonal transformation unit 19, the operation unit 20, the deblock filter 21, and a frame memory 22, a switch 23, an intra prediction unit 24 or a motion prediction / compensation unit 25, and a motion compensation loop including a predicted image selection unit 26. That is, in the motion compensation loop, an image is used in a loop.
  • the adaptive loop filter 111 classifies the decoded image (baseband information after local decoding) from the deblocking filter 21 into a class according to the baseband information. Specifically, the decoded image from the deblocking filter 21 is classified into the class according to the information obtained from the baseband information, that is, the edge information detected by the edge detection unit 112 as the baseband information.
  • the adaptive loop filter 111 calculates, for each classified class, a filter coefficient so as to minimize the residual between the original image from the screen rearrangement buffer 12 and the image from the deblocking filter 21.
  • the adaptive loop filter 111 performs filter processing using the calculated filter coefficient for each classified class, and outputs the image after filter processing to the frame memory 22.
  • this filter for example, a Wiener filter is used.
  • the adaptive loop filter 111 also sends the calculated filter coefficients to the lossless encoding unit 16.
  • the lossless encoding unit 16 also encodes the filter coefficient calculated by the adaptive loop filter 111, and inserts it in the slice header portion or the picture parameter set of the compressed image.
  • the edge detection unit 112 detects an edge from the decoded image from the deblocking filter 21 (that is, baseband information after local decoding), and supplies the adaptive loop filter 111 with edge information as a result of detecting the edge. .
  • the deblocking filter 21 is included in the motion compensation loop to remove block distortion in the decoded image. Thereby, the propagation of block distortion to the image referred to by the motion compensation process is suppressed.
  • deblocking_filter_control_present_flag included in Picture Parameter Set RBSP (Raw Byte Sequence Payload) included in encoded data
  • disable_deblocking_filter_idc included in slice header
  • the quantization parameter QP when applying the following processing to a luminance signal, QPY is used, and when applying to a color difference signal, QPC is used. Also, in motion vector coding, intra prediction, and entropy coding (CAVLC / CABAC), pixel values belonging to different slices are treated as "not available", but in deblocking filter processing, pixel values belonging to different slices However, if it belongs to the same picture, it is processed as "available”.
  • pixel values before the deblocking filter process are p0 to p3 and q0 to q3
  • pixel values after the process are p0 'to p3' and q0 'to q3'.
  • Bs (Boundary Strength) is defined for p and q in FIG. 6 as in the table shown in FIG. 7.
  • Deblocking filter processing is applied to (p2, p1, p0, q0, q1, q2) in FIG. 6 only when the conditions shown by the following equations (1) and (2) are satisfied.
  • ⁇ and ⁇ in equation (2) are determined according to QP by default as shown below, but the figure shows two parameters, slice_alpha_c0_offset_div2 and slice_beta_offset_div2, included in the slice header of the encoded data. As indicated by the arrows in the graph shown at 8, the user can adjust its intensity.
  • is obtained from indexA.
  • is obtained from indexB.
  • the index A and the index B are defined as the following equations (3) to (5).
  • FilterOffsetA and FilterOffsetB correspond to adjustment by the user.
  • t c is calculated as the following equation (9) or (10). That is, when the value of chromaEdgeFlag is “0”, t c is calculated as in the following equation (9).
  • t c is calculated as in the following equation (10).
  • t C0 is defined as shown in the table of FIG. 10A and FIG. 10B according to the values of Bs and indexA.
  • the pixel value p'1 after the deblocking filter process is determined as follows. That is, when the value of chromaEdgeFlag is “0” and the value of ap is less than or equal to ⁇ , p′1 is determined as in the following equation (13).
  • the pixel value q'1 after the deblocking filter process is determined 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 equation (15).
  • p'2 and q'2 are the same as the values p2 and q2 before filtering. That is, p'2 is calculated
  • the macroblock size may be adopted to be, for example, 32 pixels ⁇ 32 pixels or 64 ⁇ 64 pixels.
  • FIG. 11 is a diagram showing an example of the block size proposed in Non-Patent Document 2. As shown in FIG. In Non-Patent Document 2, the macroblock size is expanded to 32 ⁇ 32 pixels.
  • a macro block composed of 32 ⁇ 32 pixels divided into 32 ⁇ 32 pixels, 32 ⁇ 16 pixels, 16 ⁇ 32 pixels, and 16 ⁇ 16 pixel blocks (partitions) is shown. It is shown in order.
  • a block composed of 16 ⁇ 16 pixels divided into 16 ⁇ 16 pixels, 16 ⁇ 8 pixels, 8 ⁇ 16 pixels, and 8 ⁇ 8 pixel blocks is sequentially shown.
  • a block of 8 ⁇ 8 pixels divided into blocks of 8 ⁇ 8 pixels, 8 ⁇ 4 pixels, 4 ⁇ 8 pixels, and 4 ⁇ 4 pixels is sequentially shown from the left .
  • the macro block of 32 ⁇ 32 pixels can be processed in the blocks of 32 ⁇ 32 pixels, 32 ⁇ 16 pixels, 16 ⁇ 32 pixels, and 16 ⁇ 16 pixels shown in the upper part of FIG.
  • the block of 16 ⁇ 16 pixels shown on the right side of the upper row is H.264. Similar to the H.264 / AVC system, processing is possible with blocks of 16 ⁇ 16 pixels, 16 ⁇ 8 pixels, 8 ⁇ 16 pixels, and 8 ⁇ 8 pixels shown in the middle.
  • the block of 8 ⁇ 8 pixels shown on the right side of the middle row is H.264. Similar to the H.264 / AVC system, processing is possible with blocks of 8 ⁇ 8 pixels, 8 ⁇ 4 pixels, 4 ⁇ 8 pixels, and 4 ⁇ 4 pixels shown in the lower part.
  • the blocks of 32 ⁇ 32 pixels, 32 ⁇ 16 pixels, and 16 ⁇ 32 pixels shown in the upper part of FIG. 11 are referred to as the first hierarchy.
  • the block of 16 ⁇ 16 pixels shown on the right side of the upper row, and the block of 16 ⁇ 16 pixels, 16 ⁇ 8 pixels, and 8 ⁇ 16 pixels shown in the middle row are referred to as the second hierarchy.
  • the 8 ⁇ 8 pixel block shown on the right side of the middle row and the 8 ⁇ 8 pixel, 8 ⁇ 4 pixel, 4 ⁇ 8 pixel, and 4 ⁇ 4 pixel block shown on the lower row are called the third hierarchy.
  • larger blocks are defined as supersets of 16 ⁇ 16 pixel blocks or less while maintaining compatibility with macroblocks in the current AVC.
  • [Select prediction mode] Furthermore, in order to achieve higher coding efficiency, it is important to select an appropriate prediction mode.
  • a method of selecting two mode determination methods of High Complexity Mode and Low Complexity Mode can be considered. In this method, the cost function value for each prediction mode Mode is calculated, and the prediction mode that minimizes this is selected as the optimum mode for the block or macroblock.
  • the cost function value in the High Complexity Mode can be obtained as in the following Expression (33).
  • Equation (33) ⁇ 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 in the case of encoding in the mode, which includes an orthogonal transformation coefficient.
  • the cost function value in the low complexity mode can be obtained as in the following equation (34).
  • Equation (34) D is the difference energy between the predicted image and the input image, unlike in the case of High Complexity Mode.
  • QP2Quant (QP) is given as a function of the quantization parameter QP.
  • HeaderBit is a code amount related to information belonging to Header, such as a motion vector or a mode, which does not include an orthogonal transformation coefficient.
  • the image coding apparatus 101 has an adaptive loop filter 111 in the motion prediction / compensation loop, classifies the locally decoded image according to the baseband information of the image, and classifies each into a classified class. On the other hand, calculation of optimum filter coefficients and filter processing are performed.
  • edge information obtained from an image locally decoded by the edge detection unit 112 provided together with the adaptive loop filter 111 in the motion prediction / compensation loop is used.
  • the adaptive loop filter 111 performs adaptive filter processing in the motion compensation loop according to the method proposed in Non-Patent Document 1.
  • Non-Patent Document 1 a process is performed to minimize the deterioration by the Wiener filter with the entire screen as one class.
  • the adaptive loop filter 111 the entire screen is classified into classes of flat areas including flat portions and classes of edge / texture areas including edges or textures. Then, for each class, processing is performed to minimize deterioration by the Wiener filter.
  • the decoding process (local decoding process) is performed, and the decoded image subjected to the deblocking filter process is input not only to the adaptive loop filter 111 but also to the edge detection unit 112.
  • Sobel Operator shown in the following equation (35) is applied to each pixel of the decoded image.
  • the sum of the edge strengths of the respective pixels calculated by the equation (36) in the block or the macroblock is defined as the edge strength edge_strength in the block or the macroblock.
  • edge_strength is compared with a predetermined threshold ⁇ , and if the following equation (37) holds, the block or the macroblock is in the edge / texture region It is determined that there is. If equation (37) does not hold, the block or the macroblock is determined to be a flat region. edge_strength> ⁇ (37)
  • the block or the macroblock is determined to be an edge / texture region, and when the edge strength is less than the threshold ⁇ , the block or the macro The block is determined to be a flat area.
  • the adaptive loop filter 111 performs adaptive filter coefficient calculation and filter processing for each of the flat region class and the edge / texture region class classified as described above.
  • the threshold ⁇ may be given as a function of the quantization parameter QP for the macroblock. That is, when the bit rate is low, that is, when the quantization parameter is high, the deblock filter is more likely to be applied due to quantization distortion, and thus the high frequency component (edge information) of the input image is lost. Cheap. By setting a lower threshold ⁇ ⁇ ⁇ for a higher QP, it is possible to avoid or suppress this high frequency component loss.
  • the user can set the control to apply or not apply the deblock filter by operating the operation input unit (not shown) or the like. You may set according to the presence or absence (it does not apply) of a block filter. That is, compared with the case where the deblocking filter is not applied, the possibility of the low-pass filter processing being performed on each of the frames is higher when the application is applied, so that the edge information is also lost more. There is a high possibility of For this reason, in the latter case, it is necessary to set a smaller value as the threshold ⁇ as compared to the former case.
  • Block distortion is likely to occur in flat areas (areas of flat portions) in the screen, and mosquito distortion is likely to occur in areas including edges and textures.
  • Non-Patent Document 1 Although it is possible to minimize the deterioration of the entire image, it is difficult to improve the unique image quality deterioration in each of the flat area and the edge / texture area. .
  • class classification is performed according to the decoded image (baseband information), and calculation of filter coefficients and adaptive filter processing are performed on each class.
  • the screen is divided into classes of flat areas and edge / texture areas, and adaptive filtering is performed on each of them.
  • the above-described edge detection can be performed in the same manner in the image decoding device 201 described later. That is, it is not necessary to send flag information for class classification (ie, information for identifying which class it is) to the decoding side. Therefore, the overhead of the flag information does not reduce the coding efficiency.
  • mosquito noise occurs not only when edges or textures are included, but also when quantization errors occur for portions including edges or textures, particularly for high-frequency components. .
  • detection edges in the input image, performing classification, and sending flag information for each block or macroblock removal of mosquito noise is still insufficient.
  • the mosquito noise is further reduced by using a decoded image and also using quantization parameters and coding information as to whether or not a deblock filter has been applied for setting a threshold. It becomes possible to remove well.
  • edge information is used as baseband information in class classification
  • the present invention is not limited to edge information.
  • the variance value (activity) of the pixel values may be calculated for each block or macroblock constituting the decoded image, and the class classification may be performed accordingly. That is, for classification, it is also possible to use the variance of pixel values obtained from the baseband information as the baseband information.
  • the block or the macroblock is determined to be an edge / texture region, and the variance of the pixel values is less than the predetermined threshold.
  • the block or the macroblock is determined to be a flat area.
  • the predetermined threshold is set by the quantization parameter and the on / off of the deblocking filter, as in the case of the edge information.
  • edge detection method using the Sobel Operator has been described as the edge detection method, the present invention is not limited thereto, and another edge detection method may be used.
  • FIG. 12 is a block diagram showing a configuration example of the adaptive loop filter 111. As shown in FIG. 12
  • the adaptive loop filter 111 is composed of a class classification unit 131, filter coefficient calculation units 132-1 and 132-2, and filter processing units 133-1 and 133-2.
  • the pixel values after the deblocking filter processing from the deblocking filter 21 are supplied to the class classification unit 131 and the edge detection unit 112. Also, edge information that is the result of edge detection detected using the pixel value after the deblocking filter process is supplied from the edge detection unit 112 to the class classification unit 131.
  • the class classification unit 131 adds the pixel value of each macro block (or block) after the deblock filter process to a flat region class, an edge / texture region class, and the like. Classify as belonging. Then, the class classification unit 232 supplies the pixel values of the classified class to the filter coefficient calculation units 132-1 and 132-2.
  • Input image pixel values are supplied from the screen rearrangement buffer 12 to the filter coefficient calculation units 132-1 and 132-2.
  • the filter coefficient calculation units 132-1 and 132-2 respectively calculate adaptive filter coefficients for the flat region class and the edge / texture region class.
  • the adaptive filter coefficient for the flat region class calculated by the filter coefficient calculation unit 132-1 is supplied to the filter processing unit 133-1 together with the pixel value after the deblock filter processing of the flat region class.
  • the adaptive filter coefficient for the edge / texture region class calculated by the filter coefficient calculation unit 132-2 is supplied to the filter processing unit 133-2 together with the pixel value after the deblock filter processing of the edge / texture region class. Also, the adaptive filter coefficient for each class calculated is also supplied to the lossless encoding unit 16.
  • the filter processing unit 133-1 performs the filtering process on the pixel value after the deblocking filter process of the flat area class, using the adaptive filter coefficient for the flat area class.
  • the filter processing unit 133-2 performs the filtering process on the pixel value after the deblocking filter process of the edge / texture area class using the adaptive filter coefficient for the edge / texture area class.
  • the pixel values after the adaptive filter processing are output to the frame memory 22 respectively.
  • step S11 the A / D converter 11 A / D converts the input image.
  • step S12 the screen rearrangement buffer 12 stores the image supplied from the A / D conversion unit 11, and performs rearrangement from the display order of each picture to the encoding order.
  • the decoded image to be referred to is read from the frame memory 22 and the intra prediction unit 24 via the switch 23 Supplied to
  • the intra prediction unit 24 intra predicts the pixels of the block to be processed in all candidate intra prediction modes. Note that, as the decoded pixels to be referenced, pixels not filtered by the deblocking filter 21 and the adaptive loop filter 111 are used.
  • intra prediction is performed in all candidate intra prediction modes, and for all candidate intra prediction modes. Cost function values are calculated. Then, based on the calculated cost function value, the optimal intra prediction mode is selected, and the predicted image generated by intra prediction in the optimal intra prediction mode and its cost function value are supplied to the predicted image selection unit 26.
  • the image to be processed supplied from the screen rearrangement buffer 12 is an image to be inter processed
  • the image to be referred to is read from the frame memory 22 and supplied to the motion prediction / compensation unit 25 through the switch 23. Ru.
  • the motion prediction / compensation unit 25 performs motion prediction / compensation processing based on these images.
  • motion prediction processing is performed in all the candidate inter prediction modes, cost function values are calculated for all candidate inter prediction modes, and optimal inter prediction is performed based on the calculated cost function values. The mode is determined. Then, the predicted image generated in the optimal inter prediction mode and the cost function value thereof are supplied to the predicted image selection unit 26.
  • step S15 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. Decide on prediction mode. Then, the prediction image selection unit 26 selects the prediction image of the determined optimum prediction mode, and supplies the prediction image to the calculation units 13 and 20. This predicted image is used for the calculation of steps S16 and S21 described later.
  • the selection information of the predicted image is supplied to the intra prediction unit 24 or the motion prediction / compensation unit 25.
  • the intra prediction unit 24 supplies the 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 losslessly encodes information indicating the optimal inter prediction mode and, further, information according to the optimal inter prediction mode as necessary.
  • Output to 16 Examples of information according to the optimal inter prediction mode include motion vector information and reference frame information.
  • step S16 the computing unit 13 computes the difference between the image rearranged in step S12 and the predicted image selected in step S15.
  • 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.
  • the difference data has a smaller amount of data than the original image data. Therefore, the amount of data can be compressed as compared to the case of encoding the image as it is.
  • step S17 the orthogonal transformation unit 14 orthogonally transforms 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 S18 the quantization unit 15 quantizes the transform coefficient.
  • the rate is controlled as described in the process of step S28 described later.
  • step S19 the inverse quantization unit 18 inversely quantizes the transform coefficient quantized by the quantization unit 15 with a characteristic corresponding to the characteristic of the quantization unit 15.
  • step S ⁇ b> 20 the inverse orthogonal transformation unit 19 inversely orthogonally transforms the transform coefficient inversely quantized by the inverse quantization unit 18 with the characteristic corresponding to the characteristic of the orthogonal transformation unit 14.
  • step S21 the operation unit 20 adds the prediction image input via the prediction image selection unit 26 to the locally decoded difference information, and the locally decoded (that is, locally decoded) image (The image corresponding to the input to the operation unit 13) is generated.
  • step S22 the deblocking filter 21 performs deblocking filter processing on the image output from the computing unit 20. This removes blockiness.
  • the decoded image from the deblocking filter 21 is output to the adaptive loop filter 111 and the edge detection unit 112.
  • step S23 the adaptive loop filter 111 performs class classification coefficient calculation processing. Details of the classification coefficient calculation process will be described later with reference to FIG.
  • the adaptive loop filter 111 in this case is configured as shown in FIG.
  • step S23 class classification is performed according to baseband information of the decoded image, that is, edge information obtained from the baseband information, and adaptive filter coefficients are calculated for each class. Then, the calculated adaptive filter coefficient is supplied to the corresponding filter processing units 133-1 and 133-2 together with the pixel value after the deblocking filter processing classified into each class.
  • the information on the adaptive filter coefficient calculated in step S23 is supplied to the lossless encoding unit 16, encoded by the lossless encoding unit 16 in step S26 described later, and the picture parameter set or slice header of the compressed image. Is attached to
  • step S24 the adaptive loop filter 111 performs adaptive loop filter processing on the pixel values after the deblocking filter processing using the calculated adaptive filter coefficients.
  • the pixel values after the adaptive filter processing are output to the frame memory 22.
  • the filter processing unit 133-1 performs the filtering process on the pixel value after the deblocking filter process of the flat area class using the adaptive filter coefficient for the flat area class.
  • the filter processing unit 133-2 performs the filtering process on the pixel value after the deblocking filter process of the edge / texture area class using the adaptive filter coefficient for the edge / texture area class.
  • step S25 the frame memory 22 stores the filtered image.
  • the image not subjected to filter processing by the deblocking filter 21 and the adaptive loop filter 111 is also supplied to the frame memory 22 from the arithmetic unit 20 and stored.
  • the transform coefficient quantized in step S18 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 losslessly encoded such as variable length coding, arithmetic coding or the like and compressed.
  • the adaptive filter coefficients input to the lossless encoding unit 16 in step S24 described above, and the intra prediction mode information from the intra prediction unit 24 input to the lossless encoding unit 16 in step S15 described above Alternatively, information or the like according to the optimal inter prediction mode from the motion prediction / compensation unit 25 is also encoded and added to header information.
  • information indicating the inter prediction mode is encoded for each macroblock.
  • Motion vector information and reference frame information are encoded for each target block.
  • the filter coefficients are encoded on a slice basis or a picture parameter set basis.
  • step S27 the accumulation buffer 17 accumulates the difference image as a compressed image.
  • the compressed image stored in the storage buffer 17 is appropriately read and transmitted to the decoding side via the transmission path.
  • step S28 the rate control unit 27 controls the rate of the quantization operation of the quantization unit 15 based on the compressed image stored in the storage buffer 17 so that an overflow or an underflow does not occur.
  • step S41 the intra prediction unit 24 performs intra prediction on 4 ⁇ 4 pixels, 8 ⁇ 8 pixels, and 16 ⁇ 16 pixels of intra prediction modes.
  • the intra prediction mode of the chrominance signal can be set independently of the intra prediction mode of the luminance signal.
  • one intra prediction mode is defined for each of the 4 ⁇ 4 pixel and 8 ⁇ 8 pixel luminance signal blocks.
  • one prediction mode is defined for one macroblock.
  • the intra prediction unit 24 performs intra prediction with reference to the decoded image which is read from the frame memory 22 and supplied through the switch 23 and which is a pixel of the block to be processed. By performing this intra prediction process in each intra prediction mode, a predicted image in each intra prediction mode is generated. Note that, as the decoded pixels to be referenced, pixels not filtered by the deblocking filter 21 and the adaptive loop filter 111 are used.
  • step S42 the intra prediction unit 24 calculates cost function values for the 4 ⁇ 4 pixel, 8 ⁇ 8 pixel, and 16 ⁇ 16 pixel intra prediction modes.
  • the cost function of equation (33) or equation (34) is used as the cost function for obtaining the cost function value.
  • the intra prediction unit 24 determines the optimum mode for each of the 4 ⁇ 4 pixel, 8 ⁇ 8 pixel, and 16 ⁇ 16 pixel intra prediction modes. That is, as described above, in the case of the intra 4 ⁇ 4 prediction mode and the intra 8 ⁇ 8 prediction mode, there are nine types of prediction modes, and in the case of the intra 16 ⁇ 16 prediction mode, the types of prediction modes are There are four types. Therefore, the intra prediction unit 24 selects the optimal intra 4 ⁇ 4 prediction mode, the optimal intra 8 ⁇ 8 prediction mode, and the optimal intra 16 ⁇ 16 prediction mode from among them based on the cost function value calculated in step S42. decide.
  • the intra prediction unit 24 calculates the cost calculated in step S42 from among the optimal modes determined for the 4 ⁇ 4 pixel, 8 ⁇ 8 pixel, and 16 ⁇ 16 pixel intra prediction modes in step S44.
  • the optimal intra prediction mode is selected based on the function value. That is, the mode with the minimum cost function value is selected as the optimal intra prediction mode from the optimal modes determined for 4 ⁇ 4 pixels, 8 ⁇ 8 pixels, and 16 ⁇ 16 pixels. Then, the intra prediction unit 24 supplies the predicted image generated in the optimal intra prediction mode and the cost function value thereof to the predicted image selection unit 26.
  • step S61 the motion prediction / compensation unit 25 determines a motion vector and a reference image for each of eight inter prediction modes consisting of 16 ⁇ 16 pixels to 4 ⁇ 4 pixels. That is, the motion vector and the reference image are respectively determined for the block to be processed in each inter prediction mode.
  • step S62 the motion prediction / compensation unit 25 performs motion prediction on the reference image based on the motion vector determined in step S61 for each of eight inter prediction modes consisting of 16 ⁇ 16 pixels to 4 ⁇ 4 pixels. Perform compensation processing. A prediction image in each inter prediction mode is generated by this motion prediction and compensation processing.
  • step S63 the motion prediction / compensation unit 25 calculates the cost function represented by the above equation (33) or (34) for each of eight inter prediction modes consisting of 16 ⁇ 16 pixels to 4 ⁇ 4 pixels. Calculate the value.
  • step S64 the motion prediction / compensation unit 25 compares the cost function values for the inter prediction modes calculated in step S63, and determines the prediction mode that gives the minimum value as the optimal inter prediction mode. Then, the motion prediction / compensation unit 25 supplies the prediction image generated in the optimal inter prediction mode and the cost function value thereof to the prediction image selection unit 26.
  • the pixel values after the deblocking filter processing from the deblocking filter 21 are supplied to the class classification unit 131 and the edge detection unit 112.
  • the edge detection unit 112 performs edge detection on the pixel value after deblocking filter processing (that is, baseband information). Specifically, for example, as described above with reference to Equations (36) and (35), the edge detection unit 112 calculates edge intensities in the block or the macroblock that configures the decoded image. Then, the edge detection unit 112 supplies the calculated edge strength information to the class classification unit 131 as a result of edge detection.
  • step S 82 the class classification unit 131 compares the result of edge detection from the edge detection unit 112 with a predetermined threshold ⁇ , and thereby one block (macro block) is an edge and a block (macro block) including texture. Determine if there is.
  • step S82 If the above-described equation (37) holds, it is determined in step S82 that the block (macroblock) is an edge or a block including a texture (macroblock), and the process proceeds to step S83.
  • step S83 the class classification unit 131 classifies the block (macroblock) into an edge / texture region class.
  • step S82 If the above equation (37) does not hold, it is determined in step S82 that the block (macroblock) is not a block including edges and texture (macroblock), and the process proceeds to step S84.
  • step S84 the class classification unit 131 classifies the block (macroblock) into the flat area class.
  • step S83 or S84 the process proceeds to step S85.
  • step S85 the class classification unit 131 determines whether or not processing for all blocks (macro blocks) constituting the screen has been completed. If it is determined in step S85 that the process has not been completed, the process returns to step S82, and the subsequent processes are repeated.
  • the class classification unit 131 converts the pixel values of the blocks (macroblocks) classified into each class into filter coefficient calculation units 132. Supply -1 and 132-2.
  • the class classification unit 131 supplies the pixel value of the block (macro block) classified into the flat area class to the filter coefficient calculation unit 132-1.
  • the pixel values of the block (macroblock) classified into the edge / texture region class are supplied to the filter coefficient calculation unit 132-2. Thereafter, the processing proceeds to step S86.
  • step S86 the filter coefficient calculation units 132-1 and 132-2 calculate adaptive filter coefficients for the flat region class and the edge / texture region class.
  • the filter coefficient calculation unit 132-1 applies a filter to the flat region class so as to minimize the residual between the input image pixel value from the screen rearrangement buffer 12 and the pixel value after the deblock filter processing of the flat region class.
  • the adaptive filter coefficient for the calculated flat region class is supplied to the filter processing unit 133-1 together with the pixel value after the deblock filter processing of the flat region class.
  • the filter coefficient calculation unit 132-2 makes the edge ⁇ ⁇ to minimize the residual between the input image pixel value from the screen rearrangement buffer 12 and the pixel value after the deblock filter processing of the edge / texture region class.
  • the adaptive filter coefficients for the calculated edge / texture region class are supplied to the filter processing unit 133-2 together with the pixel values after the deblock filter processing of the edge / texture region class.
  • the adaptive filter coefficients of each class are also supplied to the lossless encoding unit 16.
  • the locally decoded pixels are classified into a class of macroblocks in a flat area and a class of macroblocks in an area including edges or textures, and adapted for each class. Added loop filter processing.
  • the encoded compressed image is transmitted through a predetermined transmission path and decoded by the image decoding apparatus.
  • FIG. 17 shows the configuration of an embodiment of an image decoding apparatus as an image processing apparatus to which the present invention is applied.
  • the image decoding apparatus 201 of FIG. 17 includes an accumulation buffer 41, a lossless decoding unit 42, an inverse quantization unit 43, an inverse orthogonal transformation unit 44, an operation unit 45, a deblock filter 46, a screen rearrangement buffer 47, and a D / A conversion unit. It is common to the image decoding device 31 of FIG. 2 in that the frame memory 49, the switch 50, the intra prediction unit 51, the motion compensation unit 52, and the switch 53 are provided.
  • the image decoding device 201 of FIG. 11 is different from the image decoding device 31 of FIG. 2 in that an adaptive loop filter 211 and an edge detection unit 212 are added.
  • the lossless decoding unit 42 is the code of the lossless encoding unit 16 and the information encoded by the lossless encoding unit 16 of FIG. Decode in a method corresponding to the At this time, motion vector information, reference frame information, prediction mode information (information indicating intra prediction mode or inter prediction mode), adaptive filter coefficients of the flat region class and the edge / texture region class, and the like are also decoded.
  • the motion vector information and the reference frame information are supplied to the motion compensation unit 52 for each block.
  • the prediction mode information is supplied to the corresponding units of the intra prediction unit 51 and the motion compensation unit 52 for each macroblock.
  • the adaptive filter coefficients of each class are supplied to the adaptive loop filter 211 for each slice or for each picture parameter set.
  • the adaptive loop filter 211 and the edge detection unit 212 are provided in front of the frame memory 49 after the deblocking filter 46. That is, the adaptive loop filter 211 and the edge detection unit 212 are provided in a motion compensation loop including the arithmetic unit 45, the deblocking filter 46, the frame memory 49, the switch 50, the motion compensation unit 52, and the switch 53. That is, in the motion compensation loop, an image is used in a loop.
  • the adaptive loop filter 211 performs filter processing on the decoded image from the deblocking filter 46 using the adaptive filter coefficient supplied from the lossless decoding unit 42.
  • this filter for example, a Wiener filter is used.
  • the adaptive loop filter 211 classifies the decoded image (baseband information after local decoding) from the deblocking filter 46 into a class according to the baseband information, as in the adaptive loop filter 111 of FIG. 5. Specifically, the decoded image from the deblocking filter 46 is classified into the class according to the information obtained from the baseband information, that is, the edge information detected by the edge detection unit 212 as the baseband information.
  • the adaptive loop filter 211 performs filter processing on each of the classified classes using the adaptive filter coefficient supplied from the lossless decoding unit 42, and the image after filter processing is displayed on the screen rearrangement buffer 47 and the frame memory 49. Output to
  • the edge detection unit 212 is a result of detecting an edge from the decoded image from the deblocking filter 46 (that is, baseband information after local decoding) in the same manner as the edge detection unit 112 of FIG. Edge information is supplied to the adaptive loop filter 211.
  • the decoded image from the deblocking filter 46 is directly input to the edge detection unit 212 is shown, but the decoded image from the deblocking filter 46 is temporarily stored in the frame memory 49. Then, it may be configured to be input to the edge detection unit 212.
  • the filter coefficient obtained for each slice or each picture parameter set from the header of the compressed image is used to filter the pixel values of each class. It will be.
  • FIG. 18 is a block diagram showing a configuration example of the adaptive loop filter 211. As shown in FIG.
  • the adaptive loop filter 211 is composed of a filter coefficient buffer 231, a classification unit 232, and filter processing units 233-1 and 233-2.
  • the lossless decoding unit 42 supplies the filter coefficient buffer 231 with adaptive filter coefficients for the flat region class and the edge / texture region class, which are obtained from the picture parameter set or slice header.
  • the filter coefficient buffer 231 stores adaptive filter coefficients for the flat region class and adaptive filter coefficients for the edge / texture region class. Then, the filter coefficient buffer 231 supplies the adaptive filter coefficient for the flat region class to the filter processing unit 233-1, stores the adaptive filter coefficient for the edge / texture class, and supplies the adaptive filter coefficient to the filter processing unit 233-2.
  • the pixel values after the deblocking filter process from the deblocking filter 46 are supplied to the class classification unit 232 and the edge detection unit 112.
  • edge information that is the result of edge detection detected using the pixel value after the deblocking filter processing is supplied from the edge detection unit 212 to the class classification unit 232.
  • the class classification unit 232 sets the pixel value of each macro block (or block) after the deblock filter process to one belonging to the flat region class, and the edge / texture region class. Classify as belonging. Then, the class classification unit 232 supplies the pixel values of the classified class to the filter processing units 233-1 and 233-2.
  • the filter processing unit 233-1 performs filter processing on the pixel values classified into the flat region class using the adaptive filter coefficient for the flat region class from the filter coefficient buffer 231.
  • the filter processing unit 233-2 uses the adaptive filter coefficient for the edge / texture region class from the filter coefficient buffer 231 to filter the pixel values classified into the edge / texture region class.
  • Each pixel value after the adaptive filter processing is output to the screen rearrangement buffer 47 and the frame memory 49.
  • step S131 the accumulation buffer 41 accumulates the transmitted image.
  • step S132 the lossless decoding unit 42 decodes the compressed image 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. 5 are decoded.
  • motion vector information reference frame information
  • prediction mode information information indicating an intra prediction mode or an inter prediction mode
  • adaptive filter coefficients for each class and the like 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 and reference frame information corresponding to the prediction mode information are supplied to the motion compensation unit 52.
  • the adaptive filter coefficients for each class are decoded for each slice or picture parameter set and supplied to the adaptive loop filter 211.
  • step S133 the intra prediction unit 51 or the motion compensation unit 52 performs predicted image generation processing corresponding to the prediction mode information supplied from the lossless decoding unit 42.
  • the intra prediction unit 51 performs the intra prediction process in the intra prediction mode to generate an intra prediction image.
  • the motion compensation unit 52 performs motion prediction / compensation processing in the inter prediction mode to generate an inter prediction image.
  • step S133 the predicted image generation process in step S133 will be described later with reference to FIG. 20, but according to this process, the predicted image (intra predicted image) generated by the intra prediction unit 51 or the motion compensated unit 52 is generated.
  • the predicted image (inter predicted image) is supplied to the switch 53.
  • step S134 the switch 53 selects a predicted image. That is, the predicted image generated by the intra prediction unit 51 or the predicted image generated by the motion compensation unit 52 is supplied. Therefore, the supplied prediction image is selected and supplied to the calculation unit 45, and is added to the output of the inverse orthogonal transformation unit 44 in step S137 described later.
  • the transform coefficient decoded by the lossless decoding unit 42 in step S132 described above is also supplied to the inverse quantization unit 43.
  • the inverse quantization unit 43 inversely quantizes the transform coefficient decoded by the lossless decoding unit 42 with a characteristic corresponding to the characteristic of the quantization unit 15 of FIG.
  • step S136 the inverse orthogonal transformation unit 44 inversely orthogonally transforms the transform coefficient inversely quantized by the inverse quantization unit 43 with a characteristic corresponding to the characteristic of the orthogonal transformation unit 14 in FIG. As a result, the difference information corresponding to the input (the output of the calculation unit 13) of the orthogonal transform unit 14 of FIG. 5 is decoded.
  • step S137 the calculation unit 45 adds the prediction image, which is selected in the process of step S134 described above and input through the switch 53, to the difference information.
  • the original image is thus decoded.
  • step S138 the deblocking filter 46 performs deblocking filter processing on the image output from the computing unit 45. This removes block distortion in the entire screen.
  • step S139 the adaptive loop filter 111 performs class classification filter processing.
  • the details of the classification filter processing will be described later with reference to FIG.
  • the adaptive loop filter 211 in this case is configured as shown in FIG.
  • step S139 class classification is performed in accordance with baseband information of the decoded image, that is, edge information obtained from the baseband information, and adaptive filtering is performed on each class.
  • the pixel values after the adaptive filter processing are output to the screen rearrangement buffer 47 and the frame memory 49.
  • step S140 the frame memory 49 stores the adaptively filtered image.
  • step S141 the screen rearrangement buffer 47 rearranges the image after the adaptive loop filter 211. That is, the order of the frames rearranged for encoding by the screen rearrangement buffer 12 of the image encoding device 101 is rearranged to the original display order.
  • step S142 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 S171 the intra prediction unit 51 determines whether the target block is intra-coded.
  • the intra prediction unit 51 determines in step S171 that the target block is intra-coded, and the process proceeds to step S172. .
  • the intra prediction unit 51 supplies the intra prediction mode information to the edge detection unit 212.
  • the intra prediction unit 51 acquires intra prediction mode information in step S172, performs intra prediction in step S173, and generates an intra prediction image.
  • the intra prediction unit 51 performs intra prediction in accordance with the intra prediction mode information acquired in step S172, and generates a prediction image.
  • the generated predicted image is output to the switch 53.
  • step S171 when it is determined in step S171 that intra-coding has not been performed, the processing proceeds to step S174.
  • the lossless decoding unit 42 supplies inter prediction mode information, reference frame information, and motion vector information to the motion compensation unit 52.
  • step S174 the motion compensation unit 52 acquires prediction mode information and the like from the lossless decoding unit 42. That is, motion (inter) prediction mode information, reference frame information, and motion vector information are acquired.
  • step S175 the motion compensation unit 52 performs compensation on the reference image from the frame memory 49 using the motion vector information to generate an inter prediction image.
  • the generated predicted image is supplied to the calculation unit 45 via the switch 53, and is added to the output of the inverse orthogonal transformation unit 44 in step S137 of FIG.
  • the lossless decoding unit 42 supplies, to the filter coefficient buffer 231, adaptive filter coefficients for the flat region class and the edge / texture region class, which are obtained from the picture parameter set or the slice header.
  • the filter coefficient buffer 231 stores adaptive filter coefficients for the flat region class and the edge / texture region class, and supplies the adaptive filter coefficients for the flat region class to the filter processing unit 233-1.
  • the filter coefficient buffer 231 also supplies adaptive filter coefficients for the edge / texture region class to the filter processing unit 233-2.
  • step S191 the filter processing units 233-1 and 233-2 receive the adaptive filter coefficients for the respective classes from the filter coefficient buffer 231.
  • the pixel values after the deblocking filter processing from the deblocking filter 46 are supplied to the class classification unit 232 and the edge detection unit 212.
  • the edge detection unit 212 performs edge detection on the pixel value after deblocking filter processing (that is, baseband information). Specifically, for example, as described above with reference to Equations (36) and (35), the edge detection unit 212 calculates edge intensities in the block or the macroblock that configures the decoded image. Then, the edge detection unit 212 supplies the calculated edge strength information to the class classification unit 232 as a result of edge detection.
  • step S193 the class classification unit 232 compares the result of edge detection from the edge detection unit 212 with a predetermined threshold value ⁇ so that the block (macroblock) to be processed includes an edge and a texture (macroblock). It is determined whether the
  • step S193 it is determined in step S193 that the block (macroblock) is an edge or a block including a texture (macroblock), and the process proceeds to step S194.
  • step S194 the class classification unit 231 classifies the block (macroblock) into an edge / texture region class.
  • the class classification unit 232 supplies the pixel values of the macro block classified into the edge / texture region class to the filter processing unit 233-2.
  • step S195 the filter processing unit 233-2 performs adaptive filter processing on the edge / texture region class. That is, the filter processing unit 233-2 uses adaptive filter coefficients for the edge / texture region class from the filter coefficient buffer 231 for the pixel values of the macro block classified into the edge / texture region class by the class classification unit 232. And filter. The pixel values after the adaptive filter processing are supplied to the screen rearrangement buffer 47 and the frame memory 49.
  • step S193 it is determined in step S193 that the block (macroblock) is not a block including edges and texture (macroblock), and the process proceeds to step S196.
  • step S196 the class classification unit 232 classifies the block (macroblock) into the flat area class.
  • the class classification unit 232 supplies the pixel values of the macro block classified into the flat region class to the filter processing unit 233-1.
  • step S 197 the filter processing unit 233-1 performs adaptive filter processing on the flat region class. That is, the filter processing unit 233-1 performs the filtering process on the pixel value of the macro block classified into the flat region class by the class classification unit 232 using the adaptive filter coefficient for the flat region class from the filter coefficient buffer 231. I do.
  • the pixel values after the adaptive filter processing are supplied to the screen rearrangement buffer 47 and the frame memory 49.
  • decoded images are classified into classes according to edge information obtained from the baseband information, and adaptive loop filter processing is performed for each class. .
  • pixel values after adaptive filter processing using the filter coefficients calculated by the image encoding apparatus 101 are stored not only in the frame memory 49 but also in the screen rearrangement buffer 47.
  • a filter calculated by calculating filter coefficients for each class classified according to edge information obtained from the baseband information of the decoded image You may make it carry out using a coefficient.
  • H.264 is used as an encoding method.
  • the H.264 / AVC scheme is used as the base, the present invention is not limited to this, and other coding schemes / decoding schemes including an adaptive filter in the motion prediction / compensation loop can be applied.
  • MPEG MPEG
  • image information bit stream
  • orthogonal transformation such as discrete cosine transformation and motion compensation as in 26x etc.
  • network media such as a cellular phone
  • the present invention can be applied to an image coding apparatus and an image decoding apparatus which are used when processing on storage media such as optical disks, magnetic disks, and flash memories.
  • the present invention can also be applied to motion prediction / compensation devices included in such image coding devices and image decoding devices.
  • the above-described series of processes may be performed by hardware or software.
  • a program that configures the software is installed on a computer.
  • the computer includes a computer incorporated in dedicated hardware, a general-purpose personal computer capable of executing various functions by installing various programs, and the like.
  • FIG. 22 is a block diagram showing an example of a hardware configuration of a computer that executes the series of processes described above according to a program.
  • a central processing unit (CPU) 251, a read only memory (ROM) 252, and a random access memory (RAM) 253 are mutually connected by a bus 254.
  • an input / output interface 255 is connected to the bus 254.
  • An input unit 256, an output unit 257, a storage unit 258, a communication unit 259, and a drive 260 are connected to the input / output interface 255.
  • the input unit 256 includes a keyboard, a mouse, a microphone, and the like.
  • the output unit 257 includes a display, a speaker, and the like.
  • the storage unit 258 is formed of a hard disk, a non-volatile memory, or the like.
  • the communication unit 259 includes a network interface or the like.
  • the drive 260 drives removable media 261 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 251 loads the program stored in the storage unit 258 into the RAM 253 via the input / output interface 255 and the bus 254 and executes the program, thereby performing the series of processes described above. Is done.
  • the program executed by the computer (CPU 251) can be provided by being recorded on, for example, a removable medium 261 as a package medium or the like. Also, the program can be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital broadcasting.
  • the program can be installed in the storage unit 258 via the input / output interface 255 by attaching the removable media 261 to the drive 260. Also, the program can be received by the communication unit 259 via a wired or wireless transmission medium and installed in the storage unit 258. In addition, the program can be installed in advance in the ROM 252 or the storage unit 258.
  • the program executed by the computer may be a program that performs processing in chronological order according to the order described in this specification, in parallel, or when necessary, such as when a call is made. It may be a program to be processed.
  • the image encoding device 101 and the image decoding device 201 described above can be applied to any electronic device.
  • the example will be described below.
  • FIG. 23 is a block diagram showing a main configuration example of a television receiver using an image decoding device to which the present invention is applied.
  • the television receiver 300 shown in FIG. 23 includes a terrestrial tuner 313, a video decoder 315, a video signal processing circuit 318, a graphic generation circuit 319, a panel drive circuit 320, and a display panel 321.
  • the terrestrial tuner 313 receives a broadcast wave signal of terrestrial analog broadcasting via an antenna, demodulates it, acquires a video signal, and supplies the video signal to the video decoder 315.
  • the video decoder 315 subjects the video signal supplied from the terrestrial tuner 313 to decoding processing, and supplies the obtained digital component signal to the video signal processing circuit 318.
  • the video signal processing circuit 318 subjects the video data supplied from the video decoder 315 to predetermined processing such as noise removal, and supplies the obtained video data to the graphic generation circuit 319.
  • the graphic generation circuit 319 generates video data of a program to be displayed on the display panel 321, image data by processing based on an application supplied via a network, and the like, and transmits the generated video data and image data to the panel drive circuit 320. Supply.
  • the graphic generation circuit 319 generates video data (graphic) for displaying a screen used by the user for item selection and the like, and a video obtained by superimposing it on video data of a program.
  • a process of supplying data to the panel drive circuit 320 is also appropriately performed.
  • the panel drive circuit 320 drives the display panel 321 based on the data supplied from the graphic generation circuit 319, and causes the display panel 321 to display the video of the program and the various screens described above.
  • the display panel 321 is formed of an LCD (Liquid Crystal Display) or the like, and displays a video of a program or the like according to control of the panel drive circuit 320.
  • LCD Liquid Crystal Display
  • the television receiver 300 also includes an audio A / D (Analog / Digital) conversion circuit 314, an audio signal processing circuit 322, an echo cancellation / audio synthesis circuit 323, an audio amplification circuit 324, and a speaker 325.
  • an audio A / D (Analog / Digital) conversion circuit 3144 an audio signal processing circuit 322, an echo cancellation / audio synthesis circuit 323, an audio amplification circuit 324, and a speaker 325.
  • the terrestrial tuner 313 obtains not only the video signal but also the audio signal by demodulating the received broadcast wave signal.
  • the terrestrial tuner 313 supplies the acquired audio signal to the audio A / D conversion circuit 314.
  • the audio A / D conversion circuit 314 performs A / D conversion processing on the audio signal supplied from the terrestrial tuner 313, and supplies the obtained digital audio signal to the audio signal processing circuit 322.
  • the audio signal processing circuit 322 subjects the audio data supplied from the audio A / D conversion circuit 314 to predetermined processing such as noise removal, and supplies the obtained audio data to the echo cancellation / audio synthesis circuit 323.
  • the echo cancellation / voice synthesis circuit 323 supplies the voice data supplied from the voice signal processing circuit 322 to the voice amplification circuit 324.
  • the voice amplification circuit 324 performs D / A conversion processing and amplification processing on voice data supplied from the echo cancellation / voice synthesis circuit 323, adjusts the volume to a predetermined level, and then outputs voice from the speaker 325.
  • the television receiver 300 also includes a digital tuner 316 and an MPEG decoder 317.
  • a digital tuner 316 receives a broadcast wave signal of digital broadcast (terrestrial digital broadcast, BS (Broadcasting Satellite) / CS (Communications Satellite) digital broadcast) via an antenna, and demodulates the signal, and generates an MPEG-TS (Moving Picture Experts Group). -Transport Stream) and supply it to the MPEG decoder 317.
  • digital broadcast terrestrial digital broadcast, BS (Broadcasting Satellite) / CS (Communications Satellite) digital broadcast
  • MPEG-TS Motion Picture Experts Group
  • the MPEG decoder 317 unscrambles the MPEG-TS supplied from the digital tuner 316 and extracts a stream including data of a program to be reproduced (targeted to be viewed).
  • the MPEG decoder 317 decodes the audio packet forming the extracted stream, supplies the obtained audio data to the audio signal processing circuit 322, decodes the video packet forming the stream, and outputs the obtained video data as an image.
  • the signal processing circuit 318 is supplied.
  • the MPEG decoder 317 also supplies EPG (Electronic Program Guide) data extracted from the MPEG-TS to the CPU 332 via a path (not shown).
  • EPG Electronic Program Guide
  • the television receiver 300 uses the above-described image decoding apparatus 201 as the MPEG decoder 317 that decodes the video packet in this manner. Therefore, the MPEG decoder 317 can improve the coding efficiency and improve the subjective image quality of the decoded image, as in the case of the image decoding apparatus 201.
  • the video data supplied from the MPEG decoder 317 is subjected to predetermined processing in the video signal processing circuit 318. Then, the graphic data generation circuit 319 appropriately superimposes the generated video data and the like on the video data subjected to the predetermined processing, and is supplied to the display panel 321 via the panel drive circuit 320, and the image is displayed. .
  • the audio data supplied from the MPEG decoder 317 is subjected to predetermined processing in the audio signal processing circuit 322 as in the case of the audio data supplied from the audio A / D conversion circuit 314. Then, the voice data subjected to the predetermined processing is supplied to the voice amplification circuit 324 through the echo cancellation / voice synthesis circuit 323, and subjected to D / A conversion processing and amplification processing. As a result, the sound adjusted to a predetermined volume is output from the speaker 325.
  • the television receiver 300 also includes a microphone 326 and an A / D conversion circuit 327.
  • the A / D conversion circuit 327 receives the user's voice signal captured by the microphone 326 provided in the television receiver 300 for voice conversation.
  • the A / D conversion circuit 327 performs A / D conversion processing on the received voice signal, and supplies the obtained digital voice data to the echo cancellation / voice synthesis circuit 323.
  • the echo cancellation / voice synthesis circuit 323 performs echo cancellation on voice data of the user A when voice data of the user (user A) of the television receiver 300 is supplied from the A / D conversion circuit 327. . Then, after the echo cancellation, the echo cancellation / voice synthesis circuit 323 causes the speaker 325 to output voice data obtained by synthesizing with other voice data or the like.
  • the television receiver 300 also includes an audio codec 328, an internal bus 329, a synchronous dynamic random access memory (SDRAM) 330, a flash memory 331, a CPU 332, a universal serial bus (USB) I / F 333 and a network I / F 334.
  • SDRAM synchronous dynamic random access memory
  • USB universal serial bus
  • the A / D conversion circuit 327 receives the user's voice signal captured by the microphone 326 provided in the television receiver 300 for voice conversation.
  • the A / D conversion circuit 327 performs A / D conversion processing on the received audio signal, and supplies the obtained digital audio data to the audio codec 328.
  • the audio codec 328 converts audio data supplied from the A / D conversion circuit 327 into data of a predetermined format for transmission via the network, and supplies the data to the network I / F 334 via the internal bus 329.
  • the network I / F 334 is connected to the network via a cable attached to the network terminal 335.
  • the network I / F 334 transmits, for example, voice data supplied from the voice codec 328 to other devices connected to the network.
  • the network I / F 334 receives, for example, voice data transmitted from another device connected via the network via the network terminal 335, and transmits it to the voice codec 328 via the internal bus 329. Supply.
  • the voice codec 328 converts voice data supplied from the network I / F 334 into data of a predetermined format, and supplies it to the echo cancellation / voice synthesis circuit 323.
  • the echo cancellation / voice synthesis circuit 323 performs echo cancellation on voice data supplied from the voice codec 328, and combines voice data obtained by combining with other voice data, etc., via the voice amplification circuit 324. Output from the speaker 325.
  • the SDRAM 330 stores various data necessary for the CPU 332 to perform processing.
  • the flash memory 331 stores a program executed by the CPU 332.
  • the program stored in the flash memory 331 is read by the CPU 332 at a predetermined timing such as when the television receiver 300 starts up.
  • the flash memory 331 also stores EPG data acquired via digital broadcasting, data acquired from a predetermined server via a network, and the like.
  • the flash memory 331 stores an MPEG-TS including content data acquired from a predetermined server via the network under the control of the CPU 332.
  • the flash memory 331 supplies the MPEG-TS to the MPEG decoder 317 via the internal bus 329 under the control of the CPU 332, for example.
  • the MPEG decoder 317 processes the MPEG-TS as in the case of the MPEG-TS supplied from the digital tuner 316. As described above, the television receiver 300 receives content data including video and audio via the network, decodes the content data using the MPEG decoder 317, and displays the video or outputs audio. Can.
  • the television receiver 300 also includes a light receiving unit 337 that receives an infrared signal transmitted from the remote controller 351.
  • the light receiving unit 337 receives the infrared light from the remote controller 351, and outputs a control code representing the content of the user operation obtained by demodulation to the CPU 332.
  • the CPU 332 executes a program stored in the flash memory 331 and controls the overall operation of the television receiver 300 in accordance with a control code or the like supplied from the light receiving unit 337.
  • the CPU 332 and each part of the television receiver 300 are connected via a path (not shown).
  • the USB I / F 333 transmits and receives data to and from an external device of the television receiver 300, which is connected via a USB cable attached to the USB terminal 336.
  • the network I / F 334 is connected to the network via a cable attached to the network terminal 335, and transmits and receives data other than voice data to and from various devices connected to the network.
  • the television receiver 300 can improve the coding efficiency by using the image decoding device 201 as the MPEG decoder 317. As a result, the television receiver 300 can obtain and display a higher-definition decoded image from a broadcast wave signal received via an antenna or content data acquired via a network.
  • FIG. 24 is a block diagram showing a main configuration example of a mobile phone using the image encoding device and the image decoding device to which the present invention is applied.
  • a mobile phone 400 shown in FIG. 24 includes a main control unit 450, a power supply circuit unit 451, an operation input control unit 452, an image encoder 453, a camera I / F unit 454, and an LCD control configured to integrally control each unit.
  • a section 455, an image decoder 456, a demultiplexing section 457, a recording / reproducing section 462, a modulation / demodulation circuit section 458, and an audio codec 459 are included. These are connected to one another via a bus 460.
  • the mobile phone 400 further includes an operation key 419, a CCD (Charge Coupled Devices) camera 416, a liquid crystal display 418, a storage unit 423, a transmission / reception circuit unit 463, an antenna 414, a microphone (microphone) 421, and a speaker 417.
  • a CCD Charge Coupled Devices
  • the power supply circuit unit 451 activates the cellular phone 400 to an operable state by supplying power from the battery pack to each unit.
  • the mobile phone 400 transmits and receives audio signals, transmits and receives e-mails and image data, and images in various modes such as a voice call mode and a data communication mode based on the control of the main control unit 450 including CPU, ROM and RAM. Perform various operations such as shooting or data recording.
  • the portable telephone 400 converts an audio signal collected by the microphone (microphone) 421 into digital audio data by the audio codec 459, spread spectrum processes it by the modulation / demodulation circuit unit 458, and transmits / receives A section 463 performs digital-to-analog conversion processing and frequency conversion processing.
  • the cellular phone 400 transmits the transmission signal obtained by the conversion process to a base station (not shown) via the antenna 414.
  • the transmission signal (voice signal) transmitted to the base station is supplied to the mobile phone of the other party via the public telephone network.
  • the cellular phone 400 amplifies the reception signal received by the antenna 414 by the transmission / reception circuit unit 463 and further performs frequency conversion processing and analog-to-digital conversion processing, and the modulation / demodulation circuit unit 458 performs spectrum despreading processing. And converted into an analog voice signal by the voice codec 459.
  • the portable telephone 400 outputs the analog audio signal obtained by the conversion from the speaker 417.
  • the cellular phone 400 when transmitting an e-mail in the data communication mode, receives the text data of the e-mail input by the operation of the operation key 419 in the operation input control unit 452.
  • the portable telephone 400 processes the text data in the main control unit 450, and causes the liquid crystal display 418 to display the text data as an image through the LCD control unit 455.
  • the mobile phone 400 causes the main control unit 450 to generate e-mail data based on the text data accepted by the operation input control unit 452, the user instruction, and the like.
  • the portable telephone 400 performs spread spectrum processing on the electronic mail data by the modulation / demodulation circuit unit 458, and performs digital / analog conversion processing and frequency conversion processing by the transmission / reception circuit unit 463.
  • the cellular phone 400 transmits the transmission signal obtained by the conversion process to a base station (not shown) via the antenna 414.
  • the transmission signal (e-mail) transmitted to the base station is supplied to a predetermined destination via a network, a mail server, and the like.
  • the cellular phone 400 when receiving an e-mail in the data communication mode, receives and amplifies the signal transmitted from the base station by the transmission / reception circuit unit 463 via the antenna 414, and further performs frequency conversion processing and Perform analog-to-digital conversion processing.
  • the portable telephone 400 despreads the received signal by the modulation / demodulation circuit unit 458 to restore the original electronic mail data.
  • the portable telephone 400 displays the restored electronic mail data on the liquid crystal display 418 via the LCD control unit 455.
  • the cellular phone 400 can also record (store) the received electronic mail data in the storage unit 423 via the recording / reproducing unit 462.
  • the storage unit 423 is an arbitrary rewritable storage medium.
  • the storage unit 423 may be, for example, a semiconductor memory such as a RAM or a built-in flash memory, or may be a hard disk, or a removable such as a magnetic disk, a magneto-optical disk, an optical disk, a USB memory, or a memory card It may be media. Of course, it may be something other than these.
  • the cellular phone 400 when transmitting image data in the data communication mode, the cellular phone 400 generates image data with the CCD camera 416 by imaging.
  • the CCD camera 416 has an optical device such as a lens and an aperture, and a CCD as a photoelectric conversion element, picks up an object, converts the intensity of received light into an electrical signal, and generates image data of an image of the object.
  • the image data is converted into encoded image data by compression encoding through a camera I / F unit 454 by an image encoder 453 according to a predetermined encoding method such as MPEG2 or MPEG4.
  • the cellular phone 400 uses the above-described image encoding device 101 as the image encoder 453 that performs such processing. Therefore, as in the case of the image encoding device 101, the image encoder 453 can improve the encoding efficiency and can improve the subjective image quality of the decoded image.
  • the portable telephone 400 analog-digital-converts the sound collected by the microphone (microphone) 421 during imaging by the CCD camera 416 in the audio codec 459, and further encodes it.
  • the cellular phone 400 multiplexes the encoded image data supplied from the image encoder 453 and the digital audio data supplied from the audio codec 459 according to a predetermined scheme in the demultiplexing unit 457.
  • the modulation / demodulation circuit unit 458 performs spread spectrum processing on the multiplexed data obtained as a result
  • the transmission / reception circuit unit 463 performs digital-to-analog conversion processing and frequency conversion processing.
  • the cellular phone 400 transmits the transmission signal obtained by the conversion process to a base station (not shown) via the antenna 414.
  • the transmission signal (image data) transmitted to the base station is supplied to the other party of communication via a network or the like.
  • the mobile phone 400 can also display the image data generated by the CCD camera 416 on the liquid crystal display 418 via the LCD control unit 455 without the image encoder 453.
  • the portable telephone 400 transmits the signal transmitted from the base station to the transmitting / receiving circuit unit 463 via the antenna 414. Receive, amplify, and perform frequency conversion and analog-to-digital conversion.
  • the portable telephone 400 despreads the received signal in the modulation / demodulation circuit unit 458 to restore the original multiplexed data.
  • the cellular phone 400 demultiplexes the multiplexed data in the demultiplexing unit 457 and divides it into encoded image data and audio data.
  • the cellular phone 400 decodes the encoded image data in the image decoder 456 by a decoding method corresponding to a predetermined encoding method such as MPEG2 or MPEG4 to generate reproduction moving image data, and performs LCD control
  • the image is displayed on the liquid crystal display 418 via the unit 455.
  • moving image data included in a moving image file linked to the simplified home page is displayed on the liquid crystal display 418.
  • the cellular phone 400 uses the above-described image decoding device 201 as the image decoder 456 that performs such processing. Therefore, as in the case of the image decoding device 201, the image decoder 456 can improve the coding efficiency and improve the subjective image quality of the decoded image.
  • the portable telephone 400 simultaneously converts digital audio data into an analog audio signal in the audio codec 459 and outputs the analog audio signal from the speaker 417.
  • audio data included in a moving image file linked to the simple homepage is reproduced.
  • the portable telephone 400 can also record (store) the data linked to the received simple homepage or the like in the storage unit 423 via the recording / reproducing unit 462 .
  • the main control unit 450 can analyze the two-dimensional code obtained by the CCD camera 416 by the main control unit 450, and obtain the information recorded in the two-dimensional code.
  • the cellular phone 400 can communicate with an external device by infrared rays through the infrared communication unit 481.
  • the mobile telephone 400 can improve the coding efficiency by using the image coding device 101 as the image encoder 453. As a result, the cellular phone 400 can provide encoded data (image data) with high encoding efficiency to other devices.
  • the cellular phone 400 can improve the coding efficiency.
  • the mobile telephone 400 can obtain and display a higher definition decoded image from, for example, a moving image file linked to a simple homepage.
  • CMOS image sensor CMOS image sensor
  • CMOS complementary metal oxide semiconductor
  • the mobile phone 400 has been described above, for example, an imaging function similar to that of the mobile phone 400 such as a PDA (Personal Digital Assistants), a smartphone, a UMPC (Ultra Mobile Personal Computer), a netbook, a notebook personal computer, etc.
  • the image encoding device 101 and the image decoding device 201 can be applied to any device having a communication function as in the case of the portable telephone 400 regardless of the device.
  • FIG. 25 is a block diagram showing a main configuration example of a hard disk recorder using an image encoding device and an image decoding device to which the present invention is applied.
  • a hard disk recorder (HDD recorder) 500 shown in FIG. 25 receives audio data and video data of a broadcast program included in a broadcast wave signal (television signal) transmitted by a satellite, a ground antenna, etc., received by a tuner. And an apparatus for storing the stored data in a built-in hard disk and providing the stored data to the user at a timing according to the user's instruction.
  • a broadcast wave signal television signal
  • the hard disk recorder 500 can, for example, extract audio data and video data from a broadcast wave signal, appropriately decode them, and store them in a built-in hard disk.
  • the hard disk recorder 500 can also acquire audio data and video data from another device via a network, decode these as appropriate, and store them in a built-in hard disk, for example.
  • the hard disk recorder 500 decodes audio data and video data recorded in, for example, a built-in hard disk, supplies the decoded data to the monitor 560, and displays the image on the screen of the monitor 560.
  • the hard disk recorder 500 can output the sound from the speaker of the monitor 560.
  • the hard disk recorder 500 decodes, for example, a monitor 560 by decoding audio data and video data extracted from a broadcast wave signal acquired through a tuner, or audio data or video data acquired from another device through a network. To display the image on the screen of the monitor 560.
  • the hard disk recorder 500 can also output the sound from the speaker of the monitor 560.
  • the hard disk recorder 500 includes a reception unit 521, a demodulation unit 522, a demultiplexer 523, an audio decoder 524, a video decoder 525, and a recorder control unit 526.
  • the hard disk recorder 500 further includes an EPG data memory 527, a program memory 528, a work memory 529, a display converter 530, an OSD (On Screen Display) control unit 531, a display control unit 532, a recording / reproducing unit 533, a D / A converter 534, And a communication unit 535.
  • the display converter 530 also has a video encoder 541.
  • the recording and reproducing unit 533 has an encoder 551 and a decoder 552.
  • the receiving unit 521 receives an infrared signal from a remote controller (not shown), converts the signal into an electrical signal, and outputs the signal to the recorder control unit 526.
  • the recorder control unit 526 is, for example, a microprocessor or the like, and executes various processes in accordance with the program stored in the program memory 528. At this time, the recorder control unit 526 uses the work memory 529 as necessary.
  • a communication unit 535 is connected to the network and performs communication processing with another device via the network.
  • the communication unit 535 is controlled by the recorder control unit 526, communicates with a tuner (not shown), and mainly outputs a tuning control signal to the tuner.
  • the demodulation unit 522 demodulates the signal supplied from the tuner and outputs the signal to the demultiplexer 523.
  • the demultiplexer 523 separates the data supplied from the demodulation unit 522 into audio data, video data, and EPG data, and outputs the data to the audio decoder 524, the video decoder 525, or the recorder control unit 526, respectively.
  • the audio decoder 524 decodes the input audio data according to, for example, the MPEG method, and outputs the decoded audio data to the recording / reproducing unit 533.
  • the video decoder 525 decodes the input video data, for example, according to the MPEG system, and outputs the decoded video data to the display converter 530.
  • the recorder control unit 526 supplies the input EPG data to the EPG data memory 527 for storage.
  • the display converter 530 causes the video encoder 541 to encode video data supplied from the video decoder 525 or the recorder control unit 526 into video data of, for example, a National Television Standards Committee (NTSC) system, and outputs the video data to the recording / reproducing unit 533. Also, the display converter 530 converts the size of the screen of video data supplied from the video decoder 525 or the recorder control unit 526 into a size corresponding to the size of the monitor 560. The display converter 530 further converts video data whose screen size has been converted into video data of the NTSC system by the video encoder 541, converts it into an analog signal, and outputs it to the display control unit 532.
  • NTSC National Television Standards Committee
  • the display control unit 532 Under the control of the recorder control unit 526, the display control unit 532 superimposes the OSD signal output from the OSD (On Screen Display) control unit 531 on the video signal input from the display converter 530, and displays it on the display of the monitor 560. Output and display.
  • OSD On Screen Display
  • the audio data output from the audio decoder 524 is also converted to an analog signal by the D / A converter 534 and supplied to the monitor 560.
  • the monitor 560 outputs this audio signal from the built-in speaker.
  • the recording and reproducing unit 533 includes a hard disk as a storage medium for recording video data, audio data, and the like.
  • the recording / reproducing unit 533 encodes, for example, audio data supplied from the audio decoder 524 by the encoder 551 according to the MPEG system. Further, the recording / reproducing unit 533 encodes the video data supplied from the video encoder 541 of the display converter 530 by the encoder 551 in the MPEG system. The recording / reproducing unit 533 combines the encoded data of the audio data and the encoded data of the video data by the multiplexer. The recording / reproducing unit 533 channel-codes and amplifies the synthesized data, and writes the data to the hard disk via the recording head.
  • the recording and reproducing unit 533 reproduces and amplifies the data recorded on the hard disk via the reproducing head, and separates the data into audio data and video data by the demultiplexer.
  • the recording / reproducing unit 533 decodes the audio data and the video data by the decoder 552 according to the MPEG system.
  • the recording / reproducing unit 533 D / A converts the decoded audio data, and outputs the D / A to the speaker of the monitor 560. Also, the recording / reproducing unit 533 D / A converts the decoded video data, and outputs it to the display of the monitor 560.
  • the recorder control unit 526 reads the latest EPG data from the EPG data memory 527 based on the user instruction indicated by the infrared signal from the remote controller received via the reception unit 521, and supplies it to the OSD control unit 531. Do.
  • the OSD control unit 531 generates image data corresponding to the input EPG data, and outputs the image data to the display control unit 532.
  • the display control unit 532 outputs the video data input from the OSD control unit 531 to the display of the monitor 560 for display. Thereby, an EPG (Electronic Program Guide) is displayed on the display of the monitor 560.
  • EPG Electronic Program Guide
  • the hard disk recorder 500 can also acquire various data such as video data, audio data, or EPG data supplied from another device via a network such as the Internet.
  • the communication unit 535 is controlled by the recorder control unit 526, acquires encoded data such as video data, audio data, and EPG data transmitted from another device via the network, and supplies the encoded data to the recorder control unit 526. Do.
  • the recorder control unit 526 supplies, for example, the acquired encoded data of video data and audio data to the recording and reproduction unit 533, and causes the hard disk to store the data. At this time, the recorder control unit 526 and the recording / reproducing unit 533 may perform processing such as re-encoding as needed.
  • the recorder control unit 526 decodes the acquired encoded data of video data and audio data, and supplies the obtained video data to the display converter 530.
  • the display converter 530 processes the video data supplied from the recorder control unit 526 in the same manner as the video data supplied from the video decoder 525, supplies it to the monitor 560 via the display control unit 532, and displays the image. .
  • the recorder control unit 526 may supply the decoded audio data to the monitor 560 via the D / A converter 534 and output the sound from the speaker.
  • the recorder control unit 526 decodes the acquired encoded data of the EPG data, and supplies the decoded EPG data to the EPG data memory 527.
  • the hard disk recorder 500 as described above uses the image decoding apparatus 201 as a decoder incorporated in the video decoder 525, the decoder 552, and the recorder control unit 526. Therefore, as in the case of the image decoding apparatus 201, the video decoder 525, the decoder 552, and the decoder incorporated in the recorder control unit 526 can improve the coding efficiency and improve the subjective image quality of the decoded image.
  • the hard disk recorder 500 can realize high-speed processing and can generate a highly accurate predicted image.
  • the hard disk recorder 500 acquires, for example, coded data of video data received through the tuner, coded data of video data read from the hard disk of the recording / reproducing unit 533, or the network From the encoded data of the video data, it is possible to obtain a more precise decoded image and display it on the monitor 560.
  • the hard disk recorder 500 uses the image coding device 101 as the encoder 551. Therefore, as in the case of the image coding device 101, the encoder 551 can improve the coding efficiency and improve the subjective image quality of the decoded image.
  • the hard disk recorder 500 can realize, for example, high-speed processing and improve the coding efficiency of encoded data to be recorded on the hard disk. As a result, the hard disk recorder 500 can use the storage area of the hard disk more efficiently.
  • the hard disk recorder 500 for recording video data and audio data on a hard disk has been described, but of course, any recording medium may be used.
  • a recording medium other than a hard disk such as a flash memory, an optical disk, or a video tape
  • the image encoding device 101 and the image decoding device 201 are applied as in the case of the hard disk recorder 500 described above. Can.
  • FIG. 26 is a block diagram showing an example of a main configuration of an image decoding apparatus to which the present invention is applied and a camera using the image coding apparatus.
  • the camera 600 shown in FIG. 26 captures an object, displays an image of the object on the LCD 616, and records it as image data in the recording medium 633.
  • the lens block 611 causes light (that is, an image of an object) to be incident on the CCD / CMOS 612.
  • the CCD / CMOS 612 is an image sensor using a CCD or CMOS, converts the intensity of the received light into an electric signal, and supplies the electric signal to the camera signal processing unit 613.
  • the camera signal processing unit 613 converts the electric signal supplied from the CCD / CMOS 612 into color difference signals of Y, Cr and Cb, and supplies the color difference signals to the image signal processing unit 614.
  • the image signal processing unit 614 performs predetermined image processing on the image signal supplied from the camera signal processing unit 613 under the control of the controller 621, or encodes the image signal by the encoder 641 according to, for example, the MPEG method. Do.
  • the image signal processing unit 614 supplies the encoded data generated by encoding the image signal to the decoder 615. Further, the image signal processing unit 614 obtains display data generated in the on-screen display (OSD) 620 and supplies the display data to the decoder 615.
  • OSD on-screen display
  • the camera signal processing unit 613 appropriately uses a dynamic random access memory (DRAM) 618 connected via the bus 617, and as necessary, image data and a code obtained by encoding the image data. Data in the DRAM 618.
  • DRAM dynamic random access memory
  • the decoder 615 decodes the encoded data supplied from the image signal processing unit 614, and supplies the obtained image data (decoded image data) to the LCD 616. Also, the decoder 615 supplies the display data supplied from the image signal processing unit 614 to the LCD 616. The LCD 616 appropriately composites the image of the decoded image data supplied from the decoder 615 and the image of the display data, and displays the composite image.
  • the on-screen display 620 Under the control of the controller 621, the on-screen display 620 outputs display data such as a menu screen or an icon including symbols, characters, or figures to the image signal processing unit 614 via the bus 617.
  • the controller 621 executes various processing based on a signal indicating the content instructed by the user using the operation unit 622, and also, through the bus 617, the image signal processing unit 614, the DRAM 618, the external interface 619, the on-screen display And control the media drive 623 and the like.
  • the FLASH ROM 624 stores programs, data, and the like necessary for the controller 621 to execute various processes.
  • the controller 621 can encode image data stored in the DRAM 618 or decode encoded data stored in the DRAM 618, instead of the image signal processing unit 614 and the decoder 615.
  • the controller 621 may perform encoding / decoding processing by a method similar to the encoding / decoding method of the image signal processing unit 614 or the decoder 615, or the image signal processing unit 614 or the decoder 615 is compatible.
  • the encoding / decoding process may be performed by a method that is not performed.
  • the controller 621 reads out image data from the DRAM 618 and supplies it to the printer 634 connected to the external interface 619 via the bus 617. Print it.
  • the controller 621 reads the encoded data from the DRAM 618 and supplies it to the recording medium 633 attached to the media drive 623 via the bus 617.
  • the recording medium 633 is, for example, any readable / writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory.
  • the recording medium 633 is, of course, optional as a removable medium, and may be a tape device, a disk, or a memory card. Of course, it may be a noncontact IC card or the like.
  • media drive 623 and the recording medium 633 may be integrated, and may be configured by a non-portable storage medium, such as a built-in hard disk drive or a solid state drive (SSD).
  • SSD solid state drive
  • the external interface 619 includes, for example, a USB input / output terminal, and is connected to the printer 634 when printing an image.
  • a drive 631 is connected to the external interface 619 as necessary, a removable medium 632 such as a magnetic disk, an optical disk, or a magneto-optical disk is appropriately mounted, and a computer program read from them is used as necessary. And installed in the FLASH ROM 624.
  • the external interface 619 has a network interface connected to a predetermined network such as a LAN or the Internet.
  • the controller 621 can read encoded data from the DRAM 618 according to an instruction from the operation unit 622, for example, and can supply it from the external interface 619 to another device connected via a network.
  • the controller 621 acquires encoded data and image data supplied from another device via the network via the external interface 619, holds the data in the DRAM 618, and supplies it to the image signal processing unit 614.
  • the camera 600 as described above uses the image decoding device 201 as the decoder 615. Therefore, as in the case of the image decoding apparatus 201, the decoder 615 can improve the coding efficiency and improve the subjective image quality of the decoded image.
  • the camera 600 can generate a highly accurate predicted image.
  • the camera 600 may encode, for example, image data generated by the CCD / CMOS 612, encoded data of video data read from the DRAM 618 or the recording medium 633, or video data acquired via a network. From the data, it is possible to obtain a higher definition decoded image faster and display it on the LCD 616.
  • the camera 600 uses the image coding device 101 as the encoder 641. Therefore, the encoder 641 can improve the coding efficiency and improve the subjective image quality of the decoded image, as in the case of the image coding device 101.
  • the camera 600 can improve, for example, the coding efficiency of coded data to be recorded on a hard disk. As a result, the camera 600 can use the storage area of the DRAM 618 and the recording medium 633 more efficiently at higher speed.
  • the decoding method of the image decoding apparatus 201 may be applied to the decoding process performed by the controller 621.
  • the encoding method of the image encoding device 101 may be applied to the encoding process performed by the controller 621.
  • the image data captured by the camera 600 may be a moving image or a still image.
  • image encoding device 101 and the image decoding device 201 are also applicable to devices and systems other than the devices described above.

Landscapes

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

Abstract

 本発明は、符号化効率を向上させ、復号画像における主観画質を向上させることができるようにする画像処理装置および方法に関する。 適応ループフィルタ111は、デブロックフィルタ21からの復号画像を、エッジ検出部112からのエッジ検出の結果に応じた平坦領域クラスとエッジ・テクスチャ領域クラスに分類する。適応ループフィルタ111は、分類されたクラス毎に、画面並べ替えバッファ12からの原画像とデブロックフィルタ21からの画像との残差を最小とするよう、フィルタ係数の算出を行う。適応ループフィルタ111は、分類されたクラス毎に、算出されたフィルタ係数を用いて、フィルタ処理を行い、フィルタ処理後の画像を、フレームメモリ22に出力する。本発明は、例えば、H.264/AVC方式をベースに符号化する画像符号化装置に適用することができる。

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としてその規格が国際標準に承認された。
 さらに、近年、当初テレビ会議用の画像符号化を目的として、H.26L (ITU-T Q6/16 VCEG)という標準の規格化が進んでいる。H.26LはMPEG2やMPEG4といった従来の符号化方式に比べ、その符号化、復号化により多くの演算量が要求されるものの、より高い符号化効率が実現されることが知られている。その後、MPEG4の活動の一環として、このH.26Lをベースに、H.26Lではサポートされない機能をも取り入れ、より高い符号化効率を実現する標準化がJoint Model of Enhanced-Compression Video Codingとして行われている。標準化のスケジュールとしては、2003年3月にはH.264及びMPEG-4 Part10 (Advanced Video Coding、以下H.264/AVCと記す)という国際標準となっている。
 図1は、H.264/AVCに基づいた圧縮画像を出力とする画像符号化装置の構成例を示すブロック図である。
 図1の例において、画像符号化装置1は、A/D変換部11、画面並べ替えバッファ12、演算部13、直交変換部14、量子化部15、可逆符号化部16、蓄積バッファ17、逆量子化部18、逆直交変換部19、演算部20、デブロックフィルタ21、フレームメモリ22、スイッチ23、イントラ予測部24、動き予測・補償部25、予測画像選択部26、およびレート制御部27により構成されている。
 A/D変換部11は、入力された画像をA/D変換し、画面並べ替えバッファ12に出力し、記憶させる。画面並べ替えバッファ12は、記憶した表示の順番のフレームの画像を、GOP(Group of Picture)に応じて、符号化のためのフレームの順番に並べ替える。
 演算部13は、画面並べ替えバッファ12から読み出された画像から、予測画像選択部26により選択されたイントラ予測部24からの予測画像または動き予測・補償部25からの予測画像を減算し、その差分情報を直交変換部14に出力する。直交変換部14は、演算部13からの差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その変換係数を出力する。量子化部15は直交変換部14が出力する変換係数を量子化する。
 量子化部15の出力となる、量子化された変換係数は、可逆符号化部16に入力され、ここで可変長符号化、算術符号化等の可逆符号化が施され、圧縮される。
 可逆符号化部16は、イントラ予測を示す情報をイントラ予測部24から取得し、インター予測モードを示す情報などを動き予測・補償部25から取得する。なお、イントラ予測を示す情報およびインター予測を示す情報は、以下、それぞれ、イントラ予測モード情報およびインター予測モード情報とも称する。
 可逆符号化部16は、量子化された変換係数を符号化するとともに、イントラ予測を示す情報、インター予測モードを示す情報などを符号化し、圧縮画像におけるヘッダ情報の一部とする。可逆符号化部16は、符号化したデータを蓄積バッファ17に供給して蓄積させる。
 例えば、可逆符号化部16においては、可変長符号化または算術符号化等の可逆符号化処理が行われる。可変長符号化としては、H.264/AVC方式で定められているCAVLC(Context-Adaptive Variable Length Coding)などがあげられる。算術符号化としては、CABAC(Context-Adaptive Binary Arithmetic Coding)などがあげられる。
 蓄積バッファ17は、可逆符号化部16から供給されたデータを、H.264/AVC方式で符号化された圧縮画像として、例えば、後段の図示せぬ記録装置や伝送路などの復号側に出力する。
 また、量子化部15より出力された、量子化された変換係数は、逆量子化部18にも入力され、逆量子化された後、さらに逆直交変換部19において逆直交変換される。逆直交変換された出力は演算部20により予測画像選択部26から供給される予測画像と加算されて、局部的に復号された画像となる。デブロックフィルタ21は、復号された画像のブロック歪を除去した後、フレームメモリ22に供給し、蓄積させる。フレームメモリ22には、デブロックフィルタ21によりデブロックフィルタ処理される前の画像も供給され、蓄積される。
 スイッチ23はフレームメモリ22に蓄積された参照画像を動き予測・補償部25またはイントラ予測部24に出力する。
 この画像符号化装置1においては、例えば、画面並べ替えバッファ12からのIピクチャ、Bピクチャ、およびPピクチャが、イントラ予測(イントラ処理とも称する)する画像として、イントラ予測部24に供給される。また、画面並べ替えバッファ12から読み出されたBピクチャおよびPピクチャが、インター予測(インター処理とも称する)する画像として、動き予測・補償部25に供給される。
 イントラ予測部24は、画面並べ替えバッファ12から読み出されたイントラ予測する画像とフレームメモリ22から供給された参照画像に基づいて、候補となる全てのイントラ予測モードのイントラ予測処理を行い、予測画像を生成する。
 その際、イントラ予測部24は、候補となる全てのイントラ予測モードに対してコスト関数値を算出し、算出したコスト関数値が最小値を与えるイントラ予測モードを、最適イントラ予測モードとして選択する。
 イントラ予測部24は、最適イントラ予測モードで生成された予測画像とそのコスト関数値を、予測画像選択部26に供給する。イントラ予測部24は、予測画像選択部26により最適イントラ予測モードで生成された予測画像が選択された場合、最適イントラ予測モードを示す情報を、可逆符号化部16に供給する。可逆符号化部16は、この情報を符号化し、圧縮画像におけるヘッダ情報の一部とする。
 動き予測・補償部25には、画面並べ替えバッファ12から読み出されたインター処理する画像と、スイッチ23を介してフレームメモリ22から参照画像が供給される。動き予測・補償部25は、候補となる全てのインター予測モードのブロックの動き予測を行い、各ブロックの動きベクトルを生成する。
 動き予測・補償部25は、予測した各ブロックの動きベクトルを用いて、候補となる全てのインター予測モードに対してコスト関数値を算出する。動き予測・補償部25は、算出したコスト関数値のうち、最小値を与えるブロックの予測モードを、最適インター予測モードとして決定する。
 動き予測・補償部25は、決定された最適インター予測モードの対象ブロックの予測画像とそのコスト関数値を、予測画像選択部26に供給する。動き予測・補償部25は、予測画像選択部26により最適インター予測モードの対象ブロックの予測画像が選択された場合、最適インター予測モードを示す情報(インター予測モード情報)を可逆符号化部16に出力する。
 このとき、動きベクトル情報、参照フレーム情報なども可逆符号化部16に出力される。可逆符号化部16は、動き予測・補償部25からの情報をやはり可変長符号化、算術符号化といった可逆符号化処理し、圧縮画像のヘッダ部に挿入する。
 予測画像選択部26は、イントラ予測部24または動き予測・補償部25より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードから、最適予測モードを決定する。そして、予測画像選択部26は、決定された最適予測モードの予測画像を選択し、演算部13,20に供給する。このとき、予測画像選択部26は、予測画像の選択情報を、イントラ予測部24または動き予測・補償部25に供給する。
 レート制御部27は、蓄積バッファ17に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部15の量子化動作のレートを制御する。
 図2は、図1の画像符号化装置に対応する画像復号装置の構成例を示すブロック図である。
 図2の例において、画像復号装置31は、蓄積バッファ41、可逆復号部42、逆量子化部43、逆直交変換部44、演算部45、デブロックフィルタ46、画面並べ替えバッファ47、D/A変換部48、フレームメモリ49、スイッチ50、イントラ予測部51、動き補償部52、およびスイッチ53により構成されている。
 蓄積バッファ41は伝送されてきた圧縮画像を蓄積する。可逆復号部42は、蓄積バッファ41より供給された、図1の可逆符号化部16により符号化された情報を、可逆符号化部16の符号化方式に対応する方式で復号する。逆量子化部43は可逆復号部42により復号された画像を、図1の量子化部15の量子化方式に対応する方式で逆量子化する。逆直交変換部44は、図1の直交変換部14の直交変換方式に対応する方式で逆量子化部43の出力を逆直交変換する。
 逆直交変換された出力は演算部45によりスイッチ53から供給される予測画像と加算されて復号される。デブロックフィルタ46は、復号された画像のブロック歪を除去した後、フレームメモリ49に供給し、蓄積させるとともに、画面並べ替えバッファ47に出力する。
 画面並べ替えバッファ47は、画像の並べ替えを行う。すなわち、図1の画面並べ替えバッファ12により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部48は、画面並べ替えバッファ47から供給された画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
 スイッチ50は、インター処理される画像と参照される画像をフレームメモリ49から読み出し、動き補償部52に出力するとともに、イントラ予測に用いられる画像をフレームメモリ49から読み出し、イントラ予測部51に供給する。
 イントラ予測部51には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報が可逆復号部42から供給される。イントラ予測部51は、この情報に基づいて、予測画像を生成し、生成した予測画像を、スイッチ53に出力する。
 動き補償部52には、ヘッダ情報を復号して得られた情報のうち、インター予測モード情報、動きベクトル情報、参照フレーム情報などが可逆復号部42から供給される。インター予測モード情報は、マクロブロック毎に送信されてくる。動きベクトル情報や参照フレーム情報は、対象ブロック毎に送信されてくる。
 動き補償部52は、可逆復号部42から供給されるインター予測モード情報が示す予測モードで、可逆復号部42から供給される動きベクトル情報および参照フレーム情報などを用いて、対象ブロックに対する予測画像の画素値を生成する。生成された予測画像の画素値は、スイッチ53を介して、演算部45に供給される。
 スイッチ53は、動き補償部52またはイントラ予測部51により生成された予測画像を選択し、演算部45に供給する。
 さらに、この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手法として、非特許文献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方式において、マクロブロックサイズは16×16画素である。しかしながら、マクロブロックサイズを16×16画素とするのは、次世代符号化方式の対象となるようなUHD(Ultra High Definition;4000×2000画素)といった大きな画枠に対しては最適ではない。
 そこで、非特許文献2などにおいては、マクロブロックサイズを、例えば、32×32画素といった大きさに拡張することも提案されている。
 なお、非特許文献2は、インタースライスに対して拡張されたマクロブロックを適用する提案であるが、非特許文献3には、拡張されたマクロブロックを、イントラスライスに適用することが提案されている。
Takeshi. Chujoh, et al., "Block-based Adaptive Loop Filter" ITU-T SG16 Q6 VCEG Contribution, AI18, Germany, July, 2008 "Video Coding Using Extended Block Sizes",VCEG-AD09,ITU-Telecommunications Standardization Sector STUDY GROUP Question 16 - Contribution 123, Jan 2009 "Intra Coding Using Extended Block Sizes",VCEG-AL28, July 2009
 ところで、非特許文献1において提案されている方式では、画面全体の予測効率を最適化するためのフィルタリング処理を行うため、ブロックノイズを除去することが困難であった。
 特に、H.264/AVC方式においては、デブロックフィルタを、画像符号化装置や画像復号装置の構成の一部として、動き予測・補償ループ内に保持しているが、エッジやテクスチャを含む領域に発生しやすい、モスキートノイズを除去することが困難であった。
 そして、非特許文献2または3に記載されているような拡張されたマクロブロックが導入され、直交変換サイズが大きくなった場合、さらにその困難性は顕著になってしまう。
 本発明は、このような状況に鑑みてなされたものであり、符号化効率を向上させ、復号画像における主観画質を向上させることができるものである。
 本発明の一側面の画像処理装置は、画像を、所定のブロック毎に、前記所定のブロックを構成する画素値のベースバンド情報を用いて、平坦領域クラスとエッジまたはテクスチャクラスとにクラス分類する分類手段と、前記分類手段によりクラス分類された各所定のブロックに対して、同じクラスにクラス分類された前記所定のブロックを用いて算出されたフィルタ係数を用いてフィルタ処理を行うフィルタ処理手段とを備える。
 前記分類手段は、前記画像を、前記所定のブロック毎に、前記ベースバンド情報として、前記所定のブロックのエッジ情報を用いて、前記平坦領域クラスと前記エッジまたはテクスチャクラスとにクラス分類することができる。
 前記所定のブロックのエッジ情報は、エッジ強度を示す情報である。
 前記所定のブロックのエッジ強度は、Sobel operatorを用いて算出される。
 前記分類手段は、前記画像を、前記所定のブロックのエッジ強度が、所定の閾値を超える場合、前記所定のブロックを前記エッジまたはテクスチャクラスにクラス分類し、前記所定のブロックのエッジ強度が、所定の閾値を超えていない場合、前記平坦領域クラスにクラス分類することができる。
 前記所定のブロックは、ブロックまたは前記ブロックを構成するブロックであり、前記所定の閾値を、前記ブロックにおける量子化パラメータに応じて決定する閾値決定手段をさらに備えることができる。
 前記閾値決定手段は、前記所定の閾値を、より高い量子化パラメータに対して、より低い値に決定することができる。
 前記所定のブロックは、ブロックまたは前記ブロックを構成するブロックであり、前記所定の閾値を、前記ブロックが含まれるフレームに対してデブロックフィルタが施されているか否かに応じて決定する閾値決定手段をさらに備えることができる。
 前記閾値決定手段は、前記所定の閾値を、前記フレームに対してデブロックフィルタが施されている場合、デブロックフィルタが施されていない場合に比して低い値に決定することができる。
 前記分類手段は、前記画像を、前記所定のブロック毎に、前記ベースバンド情報として、前記所定のブロックの画素分散値を用いて、前記平坦領域クラスと前記エッジまたはテクスチャクラスとにクラス分類することができる。
 前記分類手段は、前記画像を、前記所定のブロックの画素分散値が、所定の閾値を超える場合、前記所定のブロックを前記エッジまたはテクスチャクラスにクラス分類し、前記所定のブロックの画素分散値が、所定の閾値を超えていない場合、前記平坦領域クラスにクラス分類することができる。
 前記所定のブロックは、ブロックまたは前記ブロックを構成するブロックであり、前記所定の閾値を、前記ブロックにおける量子化パラメータに応じて決定する閾値決定手段をさらに備えることができる。
 前記閾値決定手段は、前記所定の閾値を、より高い量子化パラメータに対して、より低い値に決定することができる。
 前記所定のブロックは、ブロックまたは前記ブロックを構成するブロックであり、前記所定の閾値を、前記ブロックが含まれるフレームに対してデブロックフィルタが施されているか否かに応じて決定する閾値決定手段をさらに備えることができる。
 前記閾値決定手段は、前記所定の閾値を、前記フレームに対してデブロックフィルタが施されている場合、デブロックフィルタが施されていない場合に比して低い値に決定することができる。
 前記同じクラスにクラス分類された前記所定のブロックを用いて前記フィルタ係数を算出するフィルタ係数算出手段をさらに備えることができる。
 前記画像のビットストリームと、前記フィルタ係数算出手段により算出されたフィルタ係数とを伝送する伝送手段をさらに備えることができる。
 前記画像のビットストリームと、前記フィルタ係数とを受け取る受け取り手段をさらに備えることができる。
 本発明の一側面の画像処理方法は、分類手段と、フィルタ処理手段とを備える画像処理装置の画像処理方法において、前記分類手段が、画像を、所定のブロック毎に、前記所定のブロックを構成する画素値のベースバンド情報を用いて、平坦領域クラスとエッジまたはテクスチャクラスとにクラス分類し、前記フィルタ処理手段が、クラス分類された各所定のブロックに対して、同じクラスにクラス分類された前記所定のブロックを用いて算出されたフィルタ係数を用いてフィルタ処理を行う。
 本発明の一側面においては、画像が、所定のブロック毎に、前記所定のブロックを構成する画素値のベースバンド情報を用いて、平坦領域クラスとエッジまたはテクスチャクラスとにクラス分類される。そして、クラス分類された各所定のブロックに対して、同じクラスにクラス分類された前記所定のブロックを用いて算出されたフィルタ係数を用いてフィルタ処理が行われる。
 なお、上述の画像処理装置は、独立した装置であっても良いし、1つの画像符号化装置または画像復号装置を構成している内部ブロックであってもよい。
 本発明によれば、符号化効率を向上させ、復号画像における主観画質を向上させることができる。
H.264/AVC方式の画像符号化装置の構成例を示すブロック図である。 H.264/AVC方式の画像復号装置の構成例を示すブロック図である。 適応ループフィルタを適用した画像符号化装置の構成例を示すブロック図である。 適応ループフィルタを適用した画像復号装置の構成例を示すブロック図である。 本発明を適用した画像符号化装置の一実施の形態の構成を示すブロック図である。 デブロックフィルタの動作原理を説明する図である。 Bsの定義の方法を説明する図である。 デブロックフィルタの動作原理を説明する図である。 indexAおよびindexBとαおよびβの値の対応関係の例を示す図である。 BsおよびindexAとtC0との対応関係の例を示す図である。 マクロブロックの例を示す図である。 図5の適応ループフィルタの構成例を示すブロック図である。 図5の画像符号化装置の符号化処理を説明するフローチャートである。 図13のステップS13のイントラ予測処理を説明するフローチャートである。 図13のステップS14の動き予測・補償処理を説明するフローチャートである。 図13のステップS23のクラス分類係数算出処理の例を説明するフローチャートである。 本発明を適用した画像復号装置の一実施の形態の構成を示すブロック図である。 図17の適応ループフィルタの構成例を示すブロック図である。 図17の画像復号装置の復号処理を説明するフローチャートである。 図19のステップS133の予測画像生成処理を説明するフローチャートである。 図19のステップS139のクラス分類フィルタ処理の例を説明するフローチャートである。 コンピュータのハードウエアの構成例を示すブロック図である。 本発明を適用したテレビジョン受像機の主な構成例を示すブロック図である。 本発明を適用した携帯電話機の主な構成例を示すブロック図である。 本発明を適用したハードディスクレコーダの主な構成例を示すブロック図である。 本発明を適用したカメラの主な構成例を示すブロック図である。
 以下、図を参照して本発明の実施の形態について説明する。
[画像符号化装置の構成例]
 図5は、本発明を適用した画像処理装置としての画像符号化装置の一実施の形態の構成を表している。
 図5の画像符号化装置101は、A/D変換部11、画面並べ替えバッファ12、演算部13、直交変換部14、量子化部15、可逆符号化部16、蓄積バッファ17、逆量子化部18、逆直交変換部19、演算部20、デブロックフィルタ21、フレームメモリ22、スイッチ23、イントラ予測部24、動き予測・補償部25、予測画像選択部26、およびレート制御部27を備える点で、図1の画像符号化装置1と共通している。
 また、図5の画像符号化装置101は、適応ループフィルタ111およびエッジ検出部112が追加された点で、図1の画像符号化装置1と異なっている。
 すなわち、適応ループフィルタ111とエッジ検出部112は、デブロックフィルタ21の後、フレームメモリ22の前に設けられている。すなわち、適応ループフィルタ111とエッジ検出部112は、演算部13、直交変換部14、量子化部15、逆量子化部18、逆直交変換部19、演算部20、デブロックフィルタ21、フレームメモリ22、スイッチ23、イントラ予測部24または動き予測・補償部25、および予測画像選択部26からなる動き補償ループ内に設けられている。すなわち、動き補償ループ内では、画像がループして用いられている。
 適応ループフィルタ111は、デブロックフィルタ21からの復号画像(ローカルデコード後のベースバンド情報)を、そのベースバンド情報に応じたクラスに分類する。具体的には、デブロックフィルタ21からの復号画像は、そのベースバンド情報として、ベースバンド情報から得られる情報、すなわち、エッジ検出部112により検出されるエッジ情報に応じたクラスに分類される。
 適応ループフィルタ111は、分類されたクラス毎に、画面並べ替えバッファ12からの原画像とデブロックフィルタ21からの画像との残差を最小とするよう、フィルタ係数の算出を行う。適応ループフィルタ111は、分類されたクラス毎に、算出されたフィルタ係数を用いて、フィルタ処理を行い、フィルタ処理後の画像を、フレームメモリ22に出力する。このフィルタとして、例えば、ウィナーフィルタ(Wiener Filter)が用いられる。
 また、適応ループフィルタ111は、算出したフィルタ係数を、可逆符号化部16に送る。なお、このとき、可逆符号化部16は、図3の場合のように、適応ループフィルタ111により算出されたフィルタ係数も、符号化し、圧縮画像のスライスヘッダ部またはピクチャパラメータセットに挿入する。
 エッジ検出部112は、デブロックフィルタ21からの復号画像(すなわち、ローカルデコード後のベースバンド情報)から、エッジを検出し、エッジを検出した結果であるエッジ情報を、適応ループフィルタ111に供給する。
 なお、図5の例においては、デブロックフィルタ21からの復号画像が直接エッジ検出部112に入力される例が示されているが、デブロックフィルタ21からの復号画像を一旦フレームメモリ22に格納して、それがエッジ検出部112に入力されるように構成することも可能である。
[デブロックフィルタ]
 次に、上述した各処理の詳細について説明する。まず、デブロックフィルタについて説明する。デブロックフィルタ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"であるとして処理を行う。
 以下においては、図6に示されるように、デブロックフィルタ処理前の画素値をp0~p3、q0~q3とし、処理後の画素値をp0'~p3'、q0'~q3'とする。
 まず、デブロックフィルタ処理に先立ち、図6におけるp及びqに対して、図7に示される表のように、Bs(Boundary Strength)が定義される。
 図6における(p2,p1,p0,q0,q1,q2)は、以下の式(1)および式(2)により示される条件が成立する場合のみ、デブロックフィルタ処理が施される。
 Bs > 0 ・・・(1)
 |p0-q0| < α; |p1-p0| < β; |q1-q1| < β ・・・(2)
 式(2)のαおよびβは、デフォルトでは以下のようにQPに応じてその値が定められているが、符号化データの、スライスヘッダに含まれる、slice_alpha_c0_offset_div2及びslice_beta_offset_div2という2つのパラメータによって、図8に示されるグラフの矢印のように、ユーザがその強度を調整することが可能である。
 図9に示される表のように、αはindexAから求められる。同様に、βはindexBから求められる。この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)+((a<β)?1:0) ・・・(9)
 また、chromaEdgeFlagの値が「0」以外である場合、tcは以下の式(10)のように算出される。
 tc=tc0+1 ・・・(10)
 tC0の値は、BsとindexAの値に応じて、図10のAおよび図10の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)
[拡張マクロブロックの例]
 また、マクロブロックサイズを16画素×16画素とするのは、次世代符号化方式の対象となるような、UHD(Ultra High Definition;4000画素×2000画素)といった大きな画枠に対しては、最適ではない。画像符号化装置101においては、図11に示されるように、マクロブロックサイズを、例えば、32画素×32画素、64×64画素といった大きさにすることが採用される場合がある。
 図11は、非特許文献2で提案されているブロックサイズの例を示す図である。非特許文献2では、マクロブロックサイズが32×32画素に拡張されている。
 図11の上段には、左から、32×32画素、32×16画素、16×32画素、および16×16画素のブロック(パーティション)に分割された32×32画素で構成されるマクロブロックが順に示されている。図11の中段には、左から、16×16画素、16×8画素、8×16画素、および8×8画素のブロックに分割された16×16画素で構成されるブロックが順に示されている。また、図11の下段には、左から、8×8画素、8×4画素、4×8画素、および4×4画素のブロックに分割された8×8画素のブロックが順に示されている。
 すなわち、32×32画素のマクロブロックは、図11の上段に示される32×32画素、32×16画素、16×32画素、および16×16画素のブロックでの処理が可能である。
 上段の右側に示される16×16画素のブロックは、H.264/AVC方式と同様に、中段に示される16×16画素、16×8画素、8×16画素、および8×8画素のブロックでの処理が可能である。
 中段の右側に示される8×8画素のブロックは、H.264/AVC方式と同様に、下段に示される8×8画素、8×4画素、4×8画素、および4×4画素のブロックでの処理が可能である。
 これらのブロックは、以下の3階層に分類することができる。すなわち、図11の上段に示される32×32画素、32×16画素、および16×32画素のブロックを第1階層と呼ぶ。上段の右側に示される16×16画素のブロック、並びに、中段に示される16×16画素、16×8画素、および8×16画素のブロックを、第2階層と呼ぶ。中段の右側に示される8×8画素のブロック、並びに、下段に示される8×8画素、8×4画素、4×8画素、および4×4画素のブロックを、第3階層と呼ぶ。
 図11のような、階層構造を採用することにより、16×16画素ブロック以下に関しては、現在のAVCにおけるマクロブロックと互換性を保ちながら、そのスーパーセットとして、より大きなブロックが定義されている。
[予測モードの選択]
 さらに、より高い符号化効率を達成するには、適切な予測モードの選択が重要である。画像符号化装置101においては、例えば、High Complexity Modeと、Low Complexity Modeの2通りのモード判定方法を選択する方法が考えられる。この方法の場合、どちらも、それぞれの予測モードModeに関するコスト関数値を算出し、これを最小にする予測モードを当該ブロック乃至マクロブロックに対する最適モードとして選択する。
 High Complexity Modeにおけるコスト関数値は、以下の式(33)のように求めることができる。
 Cost(Mode∈Ω)=D+λ×R ・・・(33)
 式(33)において、Ωは、当該ブロック乃至マクロブロックを符号化するための候補モードの全体集合である。また、Dは、当該予測モードModeで符号化した場合の、復号画像と入力画像の差分エネルギーである。さらに、λは、量子化パラメータの関数として与えられるLagrange未定乗数である。また、Rは、直交変換係数を含んだ、当該モードModeで符号化した場合の総符号量である。
 つまり、High Complexity Modeでの符号化を行なうには、上記パラメータD及びRを算出するため、全ての候補モードModeにより、一度、仮エンコード処理を行う必要があり、より高い演算量を要する。
 これに対してLow Complexity Modeにおけるコスト関数値は、以下の式(34)のように求めることができる。
 Cost(Mode∈Ω)=D+QP2Quant(QP)×HeaderBit・・・(34)
となる。式(34)において、Dは、High Complexity Modeの場合と異なり、予測画像と入力画像の差分エネルギーとなる。また、QP2Quant(QP)は、量子化パラメータQPの関数として与えられる。さらに、HeaderBitは、直交変換係数を含まない、動きベクトルや、モードといった、Headerに属する情報に関する符号量である。
 すなわち、Low Complexity Modeにおいては、それぞれの候補モードModeに関して、予測処理を行う必要があるが、復号画像までは必要ないため、符号化処理まで行う必要はない。このため、High Complexity Modeより低い演算量での実現が可能である。
 High Profileにおいては、例えば、4×4直交変換と、8×8直交変換との選択も、上述のHigh Complexity Mode若しくはLow Complexity Modeのいずれかに基づき行なわれる。
[詳細な構成例]
 以上の画像符号化装置101においては、画像符号化処理に、適応ループフィルタ処理を適用する。画像符号化装置101は、動き予測・補償ループ内に適応ループフィルタ111を有し、ローカルデコードされた画像を、その画像のベースバンド情報に応じてクラス分類し、クラス分類されたそれぞれのクラスに対して、最適フィルタ係数の算出およびフィルタ処理を行う。
 例えば、ベースバンド情報として、動き予測・補償ループ内に適応ループフィルタ111とともに設けられたエッジ検出部112によりローカルデコードされた画像から得られるエッジ情報が用いられる。
 以下に、適応ループフィルタ111とエッジ検出部112の構成の詳細について説明する。適応ループフィルタ111においては、非特許文献1において提案されている方法に準じて、動き補償ループ内で適応フィルタ処理を行う。
 ただし、非特許文献1においては、画面全体を1つのクラスとして、ウィナーフィルタにより劣化を最小限にする処理が行われる。
 これに対して、適応ループフィルタ111においては、画面全体を、平坦部を含む平坦領域のクラスと、エッジまたはテクスチャを含む、エッジ・テクスチャ領域のクラスにクラス分類が行われる。そして、それぞれのクラスに対して、ウィナーフィルタにより劣化を最小限にする処理が行われる。
 すなわち、復号処理(ローカルデコード処理)がなされ、デブロックフィルタ処理がなされた復号画像は、適応ループフィルタ111だけでなく、エッジ検出部112にも入力される。
 エッジ検出部112においては、例えば、次の式(35)に示されるSobel Operatorが、復号画像のそれぞれの画素に対して施される。
Figure JPOXMLDOC01-appb-M000001
 そして、式(35)の結果を合計したものが、それぞれgHSとgVSとして、次の式(36)のように、それぞれの画素におけるエッジの強さをそれぞれの画素に対して算出される。
Figure JPOXMLDOC01-appb-M000002
 式(36)により算出された各画素のエッジの強さを、当該ブロックまたは当該マクロブロックで合計したものが、当該ブロックまたは当該マクロブロックにおけるエッジ強度edge_strengthとする。
 そして、適応ループフィルタ111においては、このエッジ強度edge_strengthと、予め定められた閾値Θが比較されて、次の式(37)が成り立つならば、当該ブロックまたは当該マクロブロックは、エッジ・テクスチャ領域であると判定される。式(37)が成り立たないならば、当該ブロックまたは当該マクロブロックは、平坦領域であると判定される。

 edge_strength > Θ             ・・・(37)
 すなわち、エッジ強度が閾値Θよりも大きい場合には、当該ブロックまたは当該マクロブロックは、エッジ・テクスチャ領域であると判定され、エッジ強度が閾値Θより以下である場合には、当該ブロックまたは当該マクロブロックは、平坦領域であると判定される。
 適応ループフィルタ111は、以上のようにして分類された平坦領域クラスと、エッジ・テクスチャ領域クラスの各クラスに対して、適応フィルタ係数の算出およびフィルタ処理を行う。
 なお、閾値Θは、当該マクロブロックに対する量子化パラメータQPの関数として与えられてもよい。すなわち、ビットレートが低いとき、つまり、量子化パラメータが高いときは、量子化歪みのため、また、デブロックフィルタがよりかかりやすくなるため、入力画像の持つ高域成分(エッジ情報)が失われやすい。より高いQPに対して、より低い閾値Θを設定することにより、この高域成分喪失を回避、抑制することが可能である。
 また、H.264/AVC方式においては、デブロックフィルタをかける、またはかけないの制御を、図示せぬ操作入力部などを操作することでユーザが設定することが可能であるが、閾値Θの値を、デブロックフィルタの有無(かける、かけない)に応じて設定してもよい。すなわち、デブロックフィルタをかけない場合に比して、かける場合の方が、当該フレームのそれぞれに対してローパスフィルタ処理が行われている可能性がより高くなるため、エッジ情報も、より失われている可能性が高い。このため、前者の場合に比して、後者の場合、より小さな値を閾値Θとして設定する必要がある。
 画面内のフラットな領域(平坦部の領域)に対しては、ブロック歪みが生じやすく、エッジやテクスチャを含む領域に対しては、モスキート歪みが生じやすい。しかしながら、非特許文献1に提案された方法では、画像全体の劣化を最小にすることはできても、平坦領域およびエッジ・テクスチャ領域のそれぞれにおける特有な画質劣化を改善することが困難であった。
 そこで、適応ループフィルタ111においては、復号画像(ベースバンド情報)に応じてクラス分類が行われ、それぞれのクラスに対してフィルタ係数の算出、適応フィルタ処理が行われる。
 すなわち、画面内を平坦領域と、エッジ・テクスチャ領域とのクラスに分け、それぞれに対して、適応フィルタ処理が行われる。
 これにより、平坦領域およびエッジ・テクスチャ領域のそれぞれにおける特有な画質劣化の改善を実現することが可能になる。
 なお、平坦領域のブロック歪みとエッジ、テクスチャ領域のモスキート歪みが低減されるので、結果的に、画面全体の歪みが低減され、デブロックフィルタ21の処理を不要にすることも可能である。
 また、上述したエッジ検出は、後述する画像復号装置201においても同様の動作を行うことが可能である。すなわち、クラス分類のためのフラグ情報(すなわち、どのクラスであるかということを識別するための情報)を復号側に送る必要がない。したがって、フラグ情報のオーバーヘッドにより符号化効率を低下させることがない。
 さらに、また、モスキートノイズが生じるのは、単に、エッジまたはテクスチャが含まれるというだけでなく、エッジまたはテクスチャが含まれる部分の、特に高域成分に対して、量子化誤差が生じた場合である。単に、入力画像でエッジを検出して、クラス分類を行い、ブロックもしくはマクロブロック毎にフラグ情報を送るだけでは、モスキートノイズの除去がまだまだ足りない。
 上述した画像符号化装置101のように、復号画像を用い、さらに、閾値の設定にも、量子化パラメータや、デブロックフィルタを施したか否かの符号化情報を用いることで、モスキートノイズをより良好に除去することが可能になる。
 なお、上記説明においては、クラス分類に、ベースバンド情報として、エッジ情報を用いる例を説明したが、エッジ情報に限定されない。例えば、復号画像を構成するそれぞれのブロックまたはマクロブロック毎に、画素値の分散値(アクティビティ)を算出して、それに応じてクラス分類を行うようにしてもよい。すなわち、クラス分類に、ベースバンド情報として、ベースバンド情報から得られる画素値の分散値を用いることもできる。
 この場合も、画素値の分散値が所定の閾値よりも大きい場合には、当該ブロックまたは当該マクロブロックは、エッジ・テクスチャ領域であると判定され、画素値の分散値が所定の閾値より以下である場合には、当該ブロックまたは当該マクロブロックは、平坦領域であると判定される。分散値の場合も所定の閾値は、エッジ情報の場合と同様に、量子化パラメータやデブロックフィルタのオン、オフにより設定される。
 また、上記説明においては、エッジ検出の方法として、Sobel Operatorを用いたエッジ検出方法を説明したが、それに限定されず、他のエッジ検出方法を用いるようにしてもよい。
[適応ループフィルタの構成例]
 図12は、適応ループフィルタ111の構成例を示すブロック図である。
 図12の例において、適応ループフィルタ111は、クラス分類部131、フィルタ係数算出部132-1および132-2、並びにフィルタ処理部133-1および133-2により構成されている。
 デブロックフィルタ21からのデブロックフィルタ処理後の画素値が、クラス分類部131とエッジ検出部112に供給される。また、そのデブロックフィルタ処理後の画素値を用いて検出されたエッジ検出の結果であるエッジ情報が、エッジ検出部112からクラス分類部131に供給される。
 クラス分類部131は、エッジ検出部112からのエッジ情報に応じて、デブロックフィルタ処理後の各マクロブロック(またはブロック)の画素値を、平坦領域クラスに属するものと、エッジ・テクスチャ領域クラスに属するものに分類する。そして、クラス分類部232は、分類したクラスの画素値を、それぞれ、フィルタ係数算出部132-1および132-2に供給する。
 画面並べ替えバッファ12から、入力画像画素値が、フィルタ係数算出部132-1および132-2に供給される。フィルタ係数算出部132-1および132-2は、それぞれ、平坦領域クラスおよびエッジ・テクスチャ領域クラスに対する適応フィルタ係数を算出する。
 フィルタ係数算出部132-1により算出された平坦領域クラスに対する適応フィルタ係数は、平坦領域クラスのデブロックフィルタ処理後の画素値とともに、フィルタ処理部133-1に供給される。フィルタ係数算出部132-2により算出されたエッジ・テクスチャ領域クラスに対する適応フィルタ係数は、エッジ・テクスチャ領域クラスのデブロックフィルタ処理後の画素値とともに、フィルタ処理部133-2に供給される。また、算出された各クラスに対する適応フィルタ係数は、可逆符号化部16にも供給される。
 フィルタ処理部133-1は、平坦領域クラスのデブロックフィルタ処理後の画素値に対して、平坦領域クラスに対する適応フィルタ係数を用いてフィルタ処理を行う。フィルタ処理部133-2は、エッジ・テクスチャ領域クラスのデブロックフィルタ処理後の画素値に対して、エッジ・テクスチャ領域クラスに対する適応フィルタ係数を用いてフィルタ処理を行う。適応フィルタ処理後の画素値は、それぞれ、フレームメモリ22に出力される。
[画像符号化装置の符号化処理の説明]
 次に、図13のフローチャートを参照して、図5の画像符号化装置101の符号化処理について説明する。
 ステップS11において、A/D変換部11は入力された画像をA/D変換する。ステップS12において、画面並べ替えバッファ12は、A/D変換部11より供給された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
 画面並べ替えバッファ12から供給される処理対象の画像がイントラ処理されるブロックの画像である場合、参照される復号済みの画像がフレームメモリ22から読み出され、スイッチ23を介してイントラ予測部24に供給される。
 これらの画像に基づいて、ステップS13において、イントラ予測部24は処理対象のブロックの画素を、候補となる全てのイントラ予測モードでイントラ予測する。なお、参照される復号済みの画素としては、デブロックフィルタ21と適応ループフィルタ111によりフィルタリングされていない画素が用いられる。
 ステップS13におけるイントラ予測処理の詳細は、図14を参照して後述するが、この処理により、候補となる全てのイントラ予測モードでイントラ予測が行われ、候補となる全てのイントラ予測モードに対してコスト関数値が算出される。そして、算出されたコスト関数値に基づいて、最適イントラ予測モードが選択され、最適イントラ予測モードのイントラ予測により生成された予測画像とそのコスト関数値が予測画像選択部26に供給される。
 画面並べ替えバッファ12から供給される処理対象の画像がインター処理される画像である場合、参照される画像がフレームメモリ22から読み出され、スイッチ23を介して動き予測・補償部25に供給される。これらの画像に基づいて、ステップS14において、動き予測・補償部25は、動き予測・補償処理を行う。
 ステップS14における動き予測・補償処理の詳細は、図15を参照して後述する。この処理により、候補となる全てのインター予測モードで動き予測処理が行われ、候補となる全てのインター予測モードに対してコスト関数値が算出され、算出したコスト関数値に基づいて、最適インター予測モードが決定される。そして、最適インター予測モードにより生成された予測画像とそのコスト関数値が予測画像選択部26に供給される。
 ステップS15において、予測画像選択部26は、イントラ予測部24および動き予測・補償部25より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちの一方を、最適予測モードに決定する。そして、予測画像選択部26は、決定した最適予測モードの予測画像を選択し、演算部13,20に供給する。この予測画像は、後述するステップS16,S21の演算に利用される。
 なお、この予測画像の選択情報は、イントラ予測部24または動き予測・補償部25に供給される。最適イントラ予測モードの予測画像が選択された場合、イントラ予測部24は、最適イントラ予測モードを示す情報(すなわち、イントラ予測モード情報)を、可逆符号化部16に供給する。
 最適インター予測モードの予測画像が選択された場合、動き予測・補償部25は、最適インター予測モードを示す情報と、さらに、必要に応じて、最適インター予測モードに応じた情報を可逆符号化部16に出力する。最適インター予測モードに応じた情報としては、動きベクトル情報や参照フレーム情報などがあげられる。
 ステップS16において、演算部13は、ステップS12で並び替えられた画像と、ステップS15で選択された予測画像との差分を演算する。予測画像は、インター予測する場合は動き予測・補償部25から、イントラ予測する場合はイントラ予測部24から、それぞれ予測画像選択部26を介して演算部13に供給される。
 差分データは元の画像データに較べてデータ量が小さくなっている。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
 ステップS17において、直交変換部14は演算部13から供給された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。
 ステップS18において、量子化部15は変換係数を量子化する。この量子化に際しては、後述するステップS28の処理で説明されるように、レートが制御される。
 以上のようにして量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップS19において、逆量子化部18は量子化部15により量子化された変換係数を量子化部15の特性に対応する特性で逆量子化する。ステップS20において、逆直交変換部19は逆量子化部18により逆量子化された変換係数を直交変換部14の特性に対応する特性で逆直交変換する。
 ステップS21において、演算部20は、予測画像選択部26を介して入力される予測画像を局部的に復号された差分情報に加算し、局部的に復号された(すなわち、ローカルデコードされた)画像(演算部13への入力に対応する画像)を生成する。
 ステップS22においてデブロックフィルタ21は、演算部20より出力された画像に対して、デブロックフィルタ処理を行う。これによりブロック歪みが除去される。デブロックフィルタ21からの復号画像は、適応ループフィルタ111およびエッジ検出部112に出力される。
 ステップS23において、適応ループフィルタ111は、クラス分類係数算出処理を行う。このクラス分類係数算出処理の詳細は、図16を参照して後述される。なお、この場合の適応ループフィルタ111は、図12に示したように構成される。
 ステップS23の処理により、復号画像のベースバンド情報、すなわち、ベースバンド情報から得られるエッジ情報に応じてクラス分類が行われ、各クラスに対して適応フィルタ係数が算出される。そして、算出された適応フィルタ係数が、各クラスに分類されたデブロックフィルタ処理後の画素値とともに、対応するフィルタ処理部133-1および133-2に供給される。
 なお、ステップS23で算出された適応フィルタ係数の情報は、可逆符号化部16に供給され、後述するステップS26において、可逆符号化部16により符号化されて、圧縮画像のピクチャパラメータセットまたはスライスヘッダに付加される。
 ステップS24において、適応ループフィルタ111は、算出された適応フィルタ係数を用いて、デブロックフィルタ処理後の画素値に対して、適応ループフィルタ処理を行う。適応フィルタ処理後の画素値は、フレームメモリ22に出力される。
 すなわち、フィルタ処理部133-1は、平坦領域クラスのデブロックフィルタ処理後の画素値に対して、平坦領域クラスに対する適応フィルタ係数を用いてフィルタ処理を行う。フィルタ処理部133-2は、エッジ・テクスチャ領域クラスのデブロックフィルタ処理後の画素値に対して、エッジ・テクスチャ領域クラスに対する適応フィルタ係数を用いてフィルタ処理を行う。
 ステップS25においてフレームメモリ22は、フィルタリングされた画像を記憶する。なお、フレームメモリ22にはデブロックフィルタ21と適応ループフィルタ111によりフィルタ処理されていない画像も演算部20から供給され、記憶される。
 一方、上述したステップS18において量子化された変換係数は、可逆符号化部16にも供給される。ステップS26において、可逆符号化部16は量子化部15より出力された量子化された変換係数を符号化する。すなわち、差分画像が可変長符号化、算術符号化等の可逆符号化され、圧縮される。
 また、このとき、上述したステップS24において可逆符号化部16に入力された適応フィルタ係数、並びに、上述したステップS15において可逆符号化部16に入力された、イントラ予測部24からのイントラ予測モード情報、または、動き予測・補償部25からの最適インター予測モードに応じた情報なども符号化され、ヘッダ情報に付加される。
 例えば、インター予測モードを示す情報は、マクロブロック毎に符号化される。動きベクトル情報や参照フレーム情報は、対象となるブロック毎に符号化される。フィルタ係数は、スライス毎あるいはピクチャパラメータセット毎に符号化される。
 ステップS27において蓄積バッファ17は差分画像を圧縮画像として蓄積する。蓄積バッファ17に蓄積された圧縮画像が適宜読み出され、伝送路を介して復号側に伝送される。
 ステップS28においてレート制御部27は、蓄積バッファ17に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部15の量子化動作のレートを制御する。
[イントラ予測処理の説明]
 次に、図14のフローチャートを参照して、図13のステップS13におけるイントラ予測処理を説明する。なお、図14の例においては、輝度信号の場合を例として説明する。
 イントラ予測部24は、ステップS41において、4×4画素、8×8画素、および16×16画素の各イントラ予測モードに対してイントラ予測を行う。
 輝度信号のイントラ予測モードには、9種類の4×4画素および8×8画素のブロック単位、並びに4種類の16×16画素のマクロブロック単位の予測モードがあり、色差信号のイントラ予測モードには、4種類の8×8画素のブロック単位の予測モードがある。色差信号のイントラ予測モードは、輝度信号のイントラ予測モードと独立に設定が可能である。輝度信号の4×4画素および8×8画素のイントラ予測モードについては、4×4画素および8×8画素の輝度信号のブロック毎に1つのイントラ予測モードが定義される。輝度信号の16×16画素のイントラ予測モードと色差信号のイントラ予測モードについては、1つのマクロブロックに対して1つの予測モードが定義される。
 具体的には、イントラ予測部24は、処理対象のブロックの画素を、フレームメモリ22から読み出され、スイッチ23を介して供給される復号済みの画像を参照して、イントラ予測する。このイントラ予測処理が、各イントラ予測モードで行われることで、各イントラ予測モードでの予測画像が生成される。なお、参照される復号済みの画素としては、デブロックフィルタ21と適応ループフィルタ111によりフィルタリングされていない画素が用いられる。
 イントラ予測部24は、ステップS42において、4×4画素、8×8画素、および16×16画素の各イントラ予測モードに対するコスト関数値を算出する。ここで、コスト関数値を求めるためのコスト関数としては、式(33)または式(34)のコスト関数が用いられる。
 イントラ予測部24は、ステップS43において、4×4画素、8×8画素、および16×16画素の各イントラ予測モードに対して、それぞれ最適モードを決定する。すなわち、上述したように、イントラ4×4予測モードおよびイントラ8×8予測モードの場合には、予測モードの種類が9種類あり、イントラ16×16予測モードの場合には、予測モードの種類が4種類ある。したがって、イントラ予測部24は、ステップS42において算出されたコスト関数値に基づいて、それらの中から、最適イントラ4×4予測モード、最適イントラ8×8予測モード、最適イントラ16×16予測モードを決定する。
 イントラ予測部24は、ステップS44において、4×4画素、8×8画素、および16×16画素の各イントラ予測モードに対して決定された各最適モードの中から、ステップS42において算出されたコスト関数値に基づいて、最適イントラ予測モードを選択する。すなわち、4×4画素、8×8画素、および16×16画素に対して決定された各最適モードの中から、コスト関数値が最小値であるモードを、最適イントラ予測モードとして選択する。そして、イントラ予測部24は、最適イントラ予測モードで生成された予測画像とそのコスト関数値とを、予測画像選択部26に供給する。
[動き予測・補償処理の説明]
 次に、図15のフローチャートを参照して、図13のステップS14の動き予測・補償処理について説明する。
 動き予測・補償部25は、ステップS61において、16×16画素乃至4×4画素からなる8種類の各インター予測モードに対して動きベクトルと参照画像をそれぞれ決定する。すなわち、各インター予測モードの処理対象のブロックについて、動きベクトルと参照画像がそれぞれ決定される。
 動き予測・補償部25は、ステップS62において、16×16画素乃至4×4画素からなる8種類の各インター予測モードについて、ステップS61で決定された動きベクトルに基づいて、参照画像に動き予測と補償処理を行う。この動き予測と補償処理により、各インター予測モードでの予測画像が生成される。
 動き予測・補償部25は、ステップS63において、16×16画素乃至4×4画素からなる8種類の各インター予測モードに対して、上述した式(33)または式(34)で示されるコスト関数値を算出する。
 ステップS64において、動き予測・補償部25は、ステップS63において算出されたインター予測モードに対してのコスト関数値を比較し、最小値を与える予測モードを、最適インター予測モードとして決定する。そして、動き予測・補償部25は、最適インター予測モードで生成された予測画像とそのコスト関数値を、予測画像選択部26に供給する。
[クラス分類係数算出処理の説明]
 次に、図16のフローチャートを参照して、図13のステップS23のクラス分類係数算出処理について説明する。
 デブロックフィルタ21からのデブロックフィルタ処理後の画素値がクラス分類部131およびエッジ検出部112に供給される。
 エッジ検出部112は、ステップS81において、デブロックフィルタ処理後の画素値(すなわち、ベースバンド情報)に対して、エッジ検出を行う。具体的には、エッジ検出部112は、例えば、式(36)および式(35)を参照して上述したように、復号画像を構成する当該ブロックまたはマクロブロックにおけるエッジ強度を算出する。そして、エッジ検出部112は、算出したエッジ強度情報を、エッジ検出の結果として、クラス分類部131に供給する。
 クラス分類部131は、ステップS82において、エッジ検出部112からのエッジ検出の結果と所定の閾値Θを比較することで、1つのブロック(マクロブロック)がエッジ、テクスチャを含むブロック(マクロブロック)であるか否かを判定する。
 上述した式(37)が成り立つ場合、ステップS82において、そのブロック(マクロブロック)が、エッジ、テクスチャを含むブロック(マクロブロック)であると判定され、処理は、ステップS83に進む。ステップS83において、クラス分類部131は、そのブロック(マクロブロック)を、エッジ・テクスチャ領域クラスに分類する。
 上述した式(37)が成り立たない場合、ステップS82において、そのブロック(マクロブロック)が、エッジ、テクスチャを含むブロック(マクロブロック)ではないと判定され、処理は、ステップS84に進む。ステップS84において、クラス分類部131は、そのブロック(マクロブロック)を、平坦領域クラスに分類する。
 ステップS83またはS84の後、処理は、ステップS85に進む。ステップS85において、クラス分類部131は、画面を構成するすべてのブロック(マクロブロック)に対する処理が終了したか否かを判定する。ステップS85において、終了していないと判定された場合、ステップS82に戻り、それ以降の処理が繰り返される。
 ステップS85において、すべてのブロック(マクロブロック)に対する処理が終了したと判定された場合、クラス分類部131は、各クラスに分類されたブロック(マクロブロック)の画素値を、各フィルタ係数算出部132-1および132-2に供給する。
 すなわち、クラス分類部131は、平坦領域クラスに分類されたブロック(マクロブロック)の画素値を、フィルタ係数算出部132-1に供給する。エッジ・テクスチャ領域クラスに分類されたブロック(マクロブロック)の画素値を、フィルタ係数算出部132-2に供給する。その後、処理は、ステップS86に進む。
 ステップS86において、フィルタ係数算出部132-1および132-2は、平坦領域クラスおよびエッジ・テクスチャ領域クラスに対する適応フィルタ係数を算出する。
 すなわち、フィルタ係数算出部132-1は、画面並べ替えバッファ12からの入力画像画素値と、平坦領域クラスのデブロックフィルタ処理後の画素値との残差を最小とするよう、平坦領域クラスに対する適応フィルタ係数を算出する。算出された平坦領域クラスに対する適応フィルタ係数は、平坦領域クラスのデブロックフィルタ処理後の画素値とともに、フィルタ処理部133-1に供給される。
 また、フィルタ係数算出部132-2は、画面並べ替えバッファ12からの入力画像画素値と、エッジ・テクスチャ領域クラスのデブロックフィルタ処理後の画素値との残差を最小とするよう、エッジ・テクスチャ領域クラスに対する適応フィルタ係数を算出する。算出されたエッジ・テクスチャ領域クラスに対する適応フィルタ係数は、エッジ・テクスチャ領域クラスのデブロックフィルタ処理後の画素値とともに、フィルタ処理部133-2に供給される。各クラスの適応フィルタ係数は、さらに、可逆符号化部16にも供給される。
 以上のように、ローカルデコードされた画素を、そのベースバンド情報に応じて、平坦領域のマクロブロックのクラスと、エッジまたはテクスチャが含まれる領域のマクロブロックのクラスとに分類し、クラス毎に適応ループフィルタ処理を行うようにした。
 これにより、画面内のローカルな歪みを低減することが可能になる。すなわち、平坦領域およびエッジ・テクスチャ領域のそれぞれにおける特有な画質劣化の改善を実現することが可能になる。
 また、クラス分類のためのフラグ情報(すなわち、どのクラスであるかということを識別するための情報)を復号側に送る必要がないので、フラグ情報のオーバーヘッドにより符号化効率を低下させることがない。
 符号化された圧縮画像は、所定の伝送路を介して伝送され、画像復号装置により復号される。
[画像復号装置の構成例]
 図17は、本発明を適用した画像処理装置としての画像復号装置の一実施の形態の構成を表している。
 図17の画像復号装置201は、蓄積バッファ41、可逆復号部42、逆量子化部43、逆直交変換部44、演算部45、デブロックフィルタ46、画面並べ替えバッファ47、D/A変換部48、フレームメモリ49、スイッチ50、イントラ予測部51、動き補償部52、およびスイッチ53を備える点で、図2の画像復号装置31と共通している。
 また、図11の画像復号装置201は、適応ループフィルタ211およびエッジ検出部212が追加された点で、図2の画像復号装置31と異なっている。
 すなわち、可逆復号部42は、図2の可逆復号部42と同様に、蓄積バッファ41より供給された、図5の可逆符号化部16により符号化された情報を、可逆符号化部16の符号化方式に対応する方式で復号する。このとき、動きベクトル情報、参照フレーム情報、予測モード情報(イントラ予測モード、またはインター予測モードを示す情報)、平坦領域クラスおよびエッジ・テクスチャ領域クラスの適応フィルタ係数なども復号される。
 動きベクトル情報および参照フレーム情報は、ブロック毎に動き補償部52に供給される。予測モード情報は、マクロブロック毎にイントラ予測部51および動き補償部52の対応する部に供給される。各クラスの適応フィルタ係数は、スライス毎またはピクチャパラメータセット毎に適応ループフィルタ211に供給される。
 適応ループフィルタ211およびエッジ検出部212は、デブロックフィルタ46の後、フレームメモリ49の前に設けられている。すなわち、適応ループフィルタ211およびエッジ検出部212は、演算部45、デブロックフィルタ46、フレームメモリ49、スイッチ50、動き補償部52、およびスイッチ53からなる動き補償ループ内に設けられている。すなわち、動き補償ループ内では、画像がループして用いられている。
 適応ループフィルタ211は、可逆復号部42から供給された適応フィルタ係数を用いて、デブロックフィルタ46からの復号画像にフィルタ処理を行う。このフィルタとして、例えば、ウィナーフィルタ(Wiener Filter)が用いられる。
 ただし、適応ループフィルタ211は、図5の適応ループフィルタ111と同様に、デブロックフィルタ46からの復号画像(ローカルデコード後のベースバンド情報)を、そのベースバンド情報に応じたクラスに分類する。具体的には、デブロックフィルタ46からの復号画像は、そのベースバンド情報として、ベースバンド情報から得られる情報、すなわち、エッジ検出部212により検出されるエッジ情報に応じたクラスに分類される。
 適応ループフィルタ211は、分類されたクラス毎に、可逆復号部42から供給された適応フィルタ係数を用いて、フィルタ処理をそれぞれ行い、フィルタ処理後の画像を、画面並べ替えバッファ47およびフレームメモリ49に出力する。
 エッジ検出部212は、デブロックフィルタ46からの復号画像(すなわち、ローカルデコード後のベースバンド情報)から、図5のエッジ検出部112と同様にしてエッジを検出し、エッジを検出した結果であるエッジ情報を、適応ループフィルタ211に供給する。
 なお、図17の例においても、デブロックフィルタ46からの復号画像が直接エッジ検出部212に入力される例が示されているが、デブロックフィルタ46からの復号画像を一旦フレームメモリ49に格納して、それがエッジ検出部212に入力されるように構成することも可能である。
 なお、図5の適応ループフィルタ111においては、各クラスの画素値が用いられて適応フィルタ係数が算出され、算出されたフィルタ係数が用いられて、各クラスの画素値に対してフィルタ処理が行われる。これに対して、図17の適応ループフィルタ211においては、圧縮画像のヘッダからスライス毎またはピクチャパラメータセット毎に取得されるフィルタ係数が用いられて、各クラスの画素値に対してフィルタ処理が行われる。
[適応ループフィルタの構成例]
 図18は、適応ループフィルタ211の構成例を示すブロック図である。
 図18の例において、適応ループフィルタ211は、フィルタ係数バッファ231、クラス分類部232、並びにフィルタ処理部233-1および233-2により構成されている。
 可逆復号部42は、ピクチャパラメータセットまたはスライスヘッダから得られる、平坦領域クラスおよびエッジ・テクスチャ領域クラスに対する適応フィルタ係数を、フィルタ係数バッファ231に供給してくる。
 フィルタ係数バッファ231は、平坦領域クラスに対する適応フィルタ係数とエッジ・テクスチャ領域クラスに対する適応フィルタ係数を蓄積する。そして、フィルタ係数バッファ231は、平坦領域クラスに対する適応フィルタ係数を、フィルタ処理部233-1に供給し、エッジ・テクスチャクラスに対する適応フィルタ係数を蓄積し、フィルタ処理部233-2に供給する。
 デブロックフィルタ46からのデブロックフィルタ処理後の画素値が、クラス分類部232とエッジ検出部112に供給される。また、そのデブロックフィルタ処理後の画素値を用いて検出されたエッジ検出の結果であるエッジ情報が、エッジ検出部212からクラス分類部232に供給される。
 クラス分類部232は、エッジ検出部212からのエッジ情報に応じて、デブロックフィルタ処理後の各マクロブロック(またはブロック)の画素値を、平坦領域クラスに属するものと、エッジ・テクスチャ領域クラスに属するものに分類する。そして、クラス分類部232は、分類したクラスの画素値を、それぞれ、フィルタ処理部233-1および233-2に供給する。
 フィルタ処理部233-1は、フィルタ係数バッファ231からの平坦領域クラスに対する適応フィルタ係数を用いて、平坦領域クラスに分類された画素値に対して、フィルタ処理を行う。フィルタ処理部233-2は、フィルタ係数バッファ231からのエッジ・テクスチャ領域クラスに対する適応フィルタ係数を用いて、エッジ・テクスチャ領域クラスに分類された画素値に対して、フィルタ処理を行う。
 適応フィルタ処理後の各画素値は、画面並べ替えバッファ47およびフレームメモリ49に出力される。
[画像復号装置の復号処理の説明]
 次に、図19のフローチャートを参照して、画像復号装置201が実行する復号処理について説明する。
 ステップS131において、蓄積バッファ41は伝送されてきた画像を蓄積する。ステップS132において、可逆復号部42は、蓄積バッファ41から供給される圧縮画像を復号する。すなわち、図5の可逆符号化部16により符号化されたIピクチャ、Pピクチャ、並びにBピクチャが復号される。
 このとき、動きベクトル情報、参照フレーム情報、予測モード情報(イントラ予測モード、またはインター予測モードを示す情報)、各クラスに対する適応フィルタ係数なども復号される。
 すなわち、予測モード情報がイントラ予測モード情報である場合、予測モード情報は、イントラ予測部51に供給される。予測モード情報がインター予測モード情報である場合、予測モード情報と対応する動きベクトル情報および参照フレーム情報は、動き補償部52に供給される。各クラスに対する適応フィルタ係数は、スライスまたはピクチャパラメータセット毎に復号され、適応ループフィルタ211に供給される。
 ステップS133において、イントラ予測部51または動き補償部52は、可逆復号部42から供給される予測モード情報に対応して、それぞれ、予測画像生成処理を行う。
 すなわち、可逆復号部42からイントラ予測モード情報が供給された場合、イントラ予測部51は、イントラ予測モードのイントラ予測処理を行い、イントラ予測画像を生成する。可逆復号部42からインター予測モード情報が供給された場合、動き補償部52は、インター予測モードの動き予測・補償処理を行い、インター予測画像を生成する。
 ステップS133における予測画像生成処理の詳細は、図20を参照して後述するが、この処理により、イントラ予測部51により生成された予測画像(イントラ予測画像)、または動き補償部52により生成された予測画像(インター予測画像)がスイッチ53に供給される。
 ステップS134において、スイッチ53は予測画像を選択する。すなわち、イントラ予測部51により生成された予測画像、または動き補償部52により生成された予測画像が供給される。したがって、供給された予測画像が選択されて演算部45に供給され、後述するステップS137において逆直交変換部44の出力と加算される。
 上述したステップS132において、可逆復号部42により復号された変換係数は、逆量子化部43にも供給される。ステップS135において、逆量子化部43は可逆復号部42により復号された変換係数を、図5の量子化部15の特性に対応する特性で逆量子化する。
 ステップS136において逆直交変換部44は、逆量子化部43により逆量子化された変換係数を、図5の直交変換部14の特性に対応する特性で逆直交変換する。これにより図5の直交変換部14の入力(演算部13の出力)に対応する差分情報が復号されたことになる。
 ステップS137において、演算部45は、上述したステップS134の処理で選択され、スイッチ53を介して入力される予測画像を差分情報と加算する。これにより元の画像が復号される。ステップS138においてデブロックフィルタ46は、演算部45より出力された画像に対して、デブロックフィルタ処理を行う。これにより、画面全体におけるブロック歪みが除去される。
 ステップS139において、適応ループフィルタ111は、クラス分類フィルタ処理を行う。このクラス分類フィルタ処理の詳細は、図21を参照して後述される。なお、この場合の適応ループフィルタ211は、図18に示したように構成される。
 ステップS139の処理により、復号画像のベースバンド情報、すなわち、ベースバンド情報から得られるエッジ情報に応じてクラス分類が行われ、各クラスに対して適応フィルタ処理が行われる。適応フィルタ処理後の画素値は、画面並べ替えバッファ47およびフレームメモリ49に出力される。
 ステップS140においてフレームメモリ49は、適応フィルタリングされた画像を記憶する。
 ステップS141において、画面並べ替えバッファ47は、適応ループフィルタ211後の画像の並べ替えを行う。すなわち画像符号化装置101の画面並べ替えバッファ12により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
 ステップS142において、D/A変換部48は、画面並べ替えバッファ47からの画像をD/A変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
[画像復号装置の予測画像生成処理の説明]
 次に、図20のフローチャートを参照して、図19のステップS133の予測画像生成処理を説明する。
 イントラ予測部51は、ステップS171において、対象ブロックがイントラ符号化されているか否かを判定する。可逆復号部42からイントラ予測モード情報がイントラ予測部51に供給されると、イントラ予測部51は、ステップS171において、対象ブロックがイントラ符号化されていると判定し、処理は、ステップS172に進む。このとき、イントラ予測部51は、このイントラ予測モード情報を、エッジ検出部212に供給する。
 イントラ予測部51は、ステップS172において、イントラ予測モード情報を取得し、ステップS173において、イントラ予測を行い、イントラ予測画像を生成する。
 すなわち、処理対象の画像がイントラ処理される画像である場合、必要な画像がフレームメモリ49から読み出され、スイッチ50を介してイントラ予測部51に供給される。ステップS173において、イントラ予測部51は、ステップS172で取得したイントラ予測モード情報に従ってイントラ予測し、予測画像を生成する。生成した予測画像は、スイッチ53に出力される。
 一方、ステップS171において、イントラ符号化されていないと判定された場合、処理は、ステップS174に進む。
 処理対象の画像がインター処理される画像である場合、可逆復号部42からインター予測モード情報、参照フレーム情報、動きベクトル情報が動き補償部52に供給される。
 ステップS174において、動き補償部52は、可逆復号部42からの予測モード情報などを取得する。すなわち、動き(インター)予測モード情報、参照フレーム情報、動きベクトル情報が取得される。
 ステップS175において、動き補償部52は、動きベクトル情報を用いて、フレームメモリ49からの参照画像に補償を行い、インター予測画像を生成する。生成された予測画像は、スイッチ53を介して、演算部45に供給され、図19のステップS137において逆直交変換部44の出力と加算される。
[画像復号装置のクラス分類フィルタ処理の説明]
 次に、図21のフローチャートを参照して、図19のステップS139のクラス分類フィルタ処理について説明する。
 可逆復号部42は、ピクチャパラメータセットまたはスライスヘッダから得られる、平坦領域クラスおよびエッジ・テクスチャ領域クラスに対する適応フィルタ係数を、フィルタ係数バッファ231にそれぞれ供給してくる。
 フィルタ係数バッファ231は、平坦領域クラスおよびエッジ・テクスチャ領域クラスに対する適応フィルタ係数を蓄積し、平坦領域クラスに対する適応フィルタ係数を、フィルタ処理部233-1に供給する。また、フィルタ係数バッファ231は、エッジ・テクスチャ領域クラスに対する適応フィルタ係数を、フィルタ処理部233-2に供給する。
 ステップS191において、フィルタ処理部233-1および233-2は、フィルタ係数バッファ231からのそれぞれのクラスに対する適応フィルタ係数をそれぞれ受け取る。
 デブロックフィルタ46からのデブロックフィルタ処理後の画素値がクラス分類部232およびエッジ検出部212に供給される。
 エッジ検出部212は、ステップS192において、デブロックフィルタ処理後の画素値(すなわち、ベースバンド情報)に対して、エッジ検出を行う。具体的には、エッジ検出部212は、例えば、式(36)および式(35)を参照して上述したように、復号画像を構成する当該ブロックまたはマクロブロックにおけるエッジ強度を算出する。そして、エッジ検出部212は、算出したエッジ強度情報を、エッジ検出の結果として、クラス分類部232に供給する。
 クラス分類部232は、ステップS193において、エッジ検出部212からのエッジ検出の結果と所定の閾値Θを比較することで、処理対象のブロック(マクロブロック)がエッジ、テクスチャを含むブロック(マクロブロック)であるか否かを判定する。
 上述した式(37)が成り立つ場合、ステップS193において、そのブロック(マクロブロック)が、エッジ、テクスチャを含むブロック(マクロブロック)であると判定され、処理は、ステップS194に進む。ステップS194において、クラス分類部231は、そのブロック(マクロブロック)を、エッジ・テクスチャ領域クラスに分類する。
 クラス分類部232は、エッジ・テクスチャ領域クラスに分類したマクロブロックの画素値を、フィルタ処理部233-2に供給する。
 ステップS195において、フィルタ処理部233-2は、エッジ・テクスチャ領域クラスについて適応フィルタ処理を行う。すなわち、フィルタ処理部233-2は、クラス分類部232によりエッジ・テクスチャ領域クラスに分類されたマクロブロックの画素値に対して、フィルタ係数バッファ231からのエッジ・テクスチャ領域クラスに対する適応フィルタ係数を用いて、フィルタ処理を行う。この適応フィルタ処理後の画素値は、画面並べ替えバッファ47およびフレームメモリ49に供給される。
 一方、上述した式(37)が成り立たない場合、ステップS193において、そのブロック(マクロブロック)が、エッジ、テクスチャを含むブロック(マクロブロック)ではないと判定され、処理は、ステップS196に進む。ステップS196において、クラス分類部232は、そのブロック(マクロブロック)を、平坦領域クラスに分類する。 
 クラス分類部232は、平坦領域クラスに分類したマクロブロックの画素値を、フィルタ処理部233-1に供給する。
 ステップS197において、フィルタ処理部233-1は、平坦領域クラスについて適応フィルタ処理を行う。すなわち、フィルタ処理部233-1は、クラス分類部232により平坦領域クラスに分類されたマクロブロックの画素値に対して、フィルタ係数バッファ231からの平坦領域クラスに対する適応フィルタ係数を用いて、フィルタ処理を行う。この適応フィルタ処理後の画素値は、画面並べ替えバッファ47およびフレームメモリ49に供給される。
 以上のように、画像符号化装置101および画像復号装置201においては、復号画像が、そのベースバンド情報から得られるエッジ情報に応じたクラスに分類され、クラス毎に、適応ループフィルタ処理が行われる。
 これにより、画面全体における画質劣化を最小限にするとともに、画面の平坦部、およびテクスチャなどを含む領域のそれぞれで生じてしまうローカルな画質劣化も改善することができる。すなわち、平坦領域およびエッジ・テクスチャ領域のそれぞれにおける特有な画質劣化の改善を実現することが可能になり、この結果、符号化効率が向上し、復号画像における主観画質を向上することができる。
 なお、上記説明においては、画像復号装置201においては、画像符号化装置101により算出されたフィルタ係数を用いた適応フィルタ処理後の画素値を、フレームメモリ49だけでなく、画面並べ替えバッファ47にも出力するようにした。これに限らず、例えば、画面並べ替えバッファ47へ出力する適応フィルタについては、復号画像のベースバンド情報から得られるエッジ情報に応じて分類されたクラス毎にフィルタ係数を算出して、算出したフィルタ係数を用いて行うようにしてもよい。
 これにより、復号画像における主観画質をさらに向上させることができる。
 以上においては、符号化方式としてH.264/AVC方式をベースに用いるようにしたが、本発明はこれに限らず、動き予測・補償ループ内に適応フィルタを含む、その他の符号化方式/復号方式を適用することができる。
 なお、本発明は、例えば、MPEG、H.26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本発明は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。さらに、本発明は、それらの画像符号化装置および画像復号装置などに含まれる動き予測補償装置にも適用することができる。
 上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な汎用のパーソナルコンピュータなどが含まれる。
[パーソナルコンピュータの構成例]
 図22は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 コンピュータにおいて、CPU(Central Processing Unit)251、ROM(Read Only Memory)252、RAM(Random Access Memory)253は、バス254により相互に接続されている。
 バス254には、さらに、入出力インタフェース255が接続されている。入出力インタフェース255には、入力部256、出力部257、記憶部258、通信部259、およびドライブ260が接続されている。
 入力部256は、キーボード、マウス、マイクロホンなどよりなる。出力部257は、ディスプレイ、スピーカなどよりなる。記憶部258は、ハードディスクや不揮発性のメモリなどよりなる。通信部259は、ネットワークインタフェースなどよりなる。ドライブ260は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア261を駆動する。
 以上のように構成されるコンピュータでは、CPU251が、例えば、記憶部258に記憶されているプログラムを入出力インタフェース255及びバス254を介してRAM253にロードして実行することにより、上述した一連の処理が行われる。
 コンピュータ(CPU251)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア261に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル放送といった、有線または無線の伝送媒体を介して提供することができる。
 コンピュータでは、プログラムは、リムーバブルメディア261をドライブ260に装着することにより、入出力インタフェース255を介して、記憶部258にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部259で受信し、記憶部258にインストールすることができる。その他、プログラムは、ROM252や記憶部258に、あらかじめインストールしておくことができる。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、上述した画像符号化装置101や画像復号装置201は、任意の電子機器に適用することができる。以下にその例について説明する。
[テレビジョン受像機の構成例]
 図23は、本発明を適用した画像復号装置を用いるテレビジョン受像機の主な構成例を示すブロック図である。
 図23に示されるテレビジョン受像機300は、地上波チューナ313、ビデオデコーダ315、映像信号処理回路318、グラフィック生成回路319、パネル駆動回路320、および表示パネル321を有する。
 地上波チューナ313は、地上アナログ放送の放送波信号を、アンテナを介して受信し、復調し、映像信号を取得し、それをビデオデコーダ315に供給する。ビデオデコーダ315は、地上波チューナ313から供給された映像信号に対してデコード処理を施し、得られたデジタルのコンポーネント信号を映像信号処理回路318に供給する。
 映像信号処理回路318は、ビデオデコーダ315から供給された映像データに対してノイズ除去などの所定の処理を施し、得られた映像データをグラフィック生成回路319に供給する。
 グラフィック生成回路319は、表示パネル321に表示させる番組の映像データや、ネットワークを介して供給されるアプリケーションに基づく処理による画像データなどを生成し、生成した映像データや画像データをパネル駆動回路320に供給する。また、グラフィック生成回路319は、項目の選択などにユーザにより利用される画面を表示するための映像データ(グラフィック)を生成し、それを番組の映像データに重畳したりすることによって得られた映像データをパネル駆動回路320に供給するといった処理も適宜行う。
 パネル駆動回路320は、グラフィック生成回路319から供給されたデータに基づいて表示パネル321を駆動し、番組の映像や上述した各種の画面を表示パネル321に表示させる。
 表示パネル321はLCD(Liquid Crystal Display)などよりなり、パネル駆動回路320による制御に従って番組の映像などを表示させる。
 また、テレビジョン受像機300は、音声A/D(Analog/Digital)変換回路314、音声信号処理回路322、エコーキャンセル/音声合成回路323、音声増幅回路324、およびスピーカ325も有する。
 地上波チューナ313は、受信した放送波信号を復調することにより、映像信号だけでなく音声信号も取得する。地上波チューナ313は、取得した音声信号を音声A/D変換回路314に供給する。
 音声A/D変換回路314は、地上波チューナ313から供給された音声信号に対してA/D変換処理を施し、得られたデジタルの音声信号を音声信号処理回路322に供給する。
 音声信号処理回路322は、音声A/D変換回路314から供給された音声データに対してノイズ除去などの所定の処理を施し、得られた音声データをエコーキャンセル/音声合成回路323に供給する。
 エコーキャンセル/音声合成回路323は、音声信号処理回路322から供給された音声データを音声増幅回路324に供給する。
 音声増幅回路324は、エコーキャンセル/音声合成回路323から供給された音声データに対してD/A変換処理、増幅処理を施し、所定の音量に調整した後、音声をスピーカ325から出力させる。
 さらに、テレビジョン受像機300は、デジタルチューナ316およびMPEGデコーダ317も有する。
 デジタルチューナ316は、デジタル放送(地上デジタル放送、BS(Broadcasting Satellite)/CS(Communications Satellite)デジタル放送)の放送波信号を、アンテナを介して受信し、復調し、MPEG-TS(Moving Picture Experts Group-Transport Stream)を取得し、それをMPEGデコーダ317に供給する。
 MPEGデコーダ317は、デジタルチューナ316から供給されたMPEG-TSに施されているスクランブルを解除し、再生対象(視聴対象)になっている番組のデータを含むストリームを抽出する。MPEGデコーダ317は、抽出したストリームを構成する音声パケットをデコードし、得られた音声データを音声信号処理回路322に供給するとともに、ストリームを構成する映像パケットをデコードし、得られた映像データを映像信号処理回路318に供給する。また、MPEGデコーダ317は、MPEG-TSから抽出したEPG(Electronic Program Guide)データを図示せぬ経路を介してCPU332に供給する。
 テレビジョン受像機300は、このように映像パケットをデコードするMPEGデコーダ317として、上述した画像復号装置201を用いる。したがって、MPEGデコーダ317は、画像復号装置201の場合と同様に、符号化効率を向上させ、復号画像における主観画質を向上させることができる。
 MPEGデコーダ317から供給された映像データは、ビデオデコーダ315から供給された映像データの場合と同様に、映像信号処理回路318において所定の処理が施される。そして、所定の処理が施された映像データは、グラフィック生成回路319において、生成された映像データ等が適宜重畳され、パネル駆動回路320を介して表示パネル321に供給され、その画像が表示される。
 MPEGデコーダ317から供給された音声データは、音声A/D変換回路314から供給された音声データの場合と同様に、音声信号処理回路322において所定の処理が施される。そして、所定の処理が施された音声データは、エコーキャンセル/音声合成回路323を介して音声増幅回路324に供給され、D/A変換処理や増幅処理が施される。その結果、所定の音量に調整された音声がスピーカ325から出力される。
 また、テレビジョン受像機300は、マイクロホン326、およびA/D変換回路327も有する。
 A/D変換回路327は、音声会話用のものとしてテレビジョン受像機300に設けられるマイクロホン326により取り込まれたユーザの音声の信号を受信する。A/D変換回路327は、受信した音声信号に対してA/D変換処理を施し、得られたデジタルの音声データをエコーキャンセル/音声合成回路323に供給する。
 エコーキャンセル/音声合成回路323は、テレビジョン受像機300のユーザ(ユーザA)の音声のデータがA/D変換回路327から供給されている場合、ユーザAの音声データを対象としてエコーキャンセルを行う。そして、エコーキャンセル/音声合成回路323は、エコーキャンセルの後、他の音声データと合成するなどして得られた音声のデータを、音声増幅回路324を介してスピーカ325より出力させる。
 さらに、テレビジョン受像機300は、音声コーデック328、内部バス329、SDRAM(Synchronous Dynamic Random Access Memory)330、フラッシュメモリ331、CPU332、USB(Universal Serial Bus) I/F333、およびネットワークI/F334も有する。
 A/D変換回路327は、音声会話用のものとしてテレビジョン受像機300に設けられるマイクロホン326により取り込まれたユーザの音声の信号を受信する。A/D変換回路327は、受信した音声信号に対してA/D変換処理を施し、得られたデジタルの音声データを音声コーデック328に供給する。
 音声コーデック328は、A/D変換回路327から供給された音声データを、ネットワーク経由で送信するための所定のフォーマットのデータに変換し、内部バス329を介してネットワークI/F334に供給する。
 ネットワークI/F334は、ネットワーク端子335に装着されたケーブルを介してネットワークに接続される。ネットワークI/F334は、例えば、そのネットワークに接続される他の装置に対して、音声コーデック328から供給された音声データを送信する。また、ネットワークI/F334は、例えば、ネットワークを介して接続される他の装置から送信される音声データを、ネットワーク端子335を介して受信し、それを、内部バス329を介して音声コーデック328に供給する。
 音声コーデック328は、ネットワークI/F334から供給された音声データを所定のフォーマットのデータに変換し、それをエコーキャンセル/音声合成回路323に供給する。
 エコーキャンセル/音声合成回路323は、音声コーデック328から供給される音声データを対象としてエコーキャンセルを行い、他の音声データと合成するなどして得られた音声のデータを、音声増幅回路324を介してスピーカ325より出力させる。
 SDRAM330は、CPU332が処理を行う上で必要な各種のデータを記憶する。
 フラッシュメモリ331は、CPU332により実行されるプログラムを記憶する。フラッシュメモリ331に記憶されているプログラムは、テレビジョン受像機300の起動時などの所定のタイミングでCPU332により読み出される。フラッシュメモリ331には、デジタル放送を介して取得されたEPGデータ、ネットワークを介して所定のサーバから取得されたデータなども記憶される。
 例えば、フラッシュメモリ331には、CPU332の制御によりネットワークを介して所定のサーバから取得されたコンテンツデータを含むMPEG-TSが記憶される。フラッシュメモリ331は、例えばCPU332の制御により、そのMPEG-TSを、内部バス329を介してMPEGデコーダ317に供給する。
 MPEGデコーダ317は、デジタルチューナ316から供給されたMPEG-TSの場合と同様に、そのMPEG-TSを処理する。このようにテレビジョン受像機300は、映像や音声等よりなるコンテンツデータを、ネットワークを介して受信し、MPEGデコーダ317を用いてデコードし、その映像を表示させたり、音声を出力させたりすることができる。
 また、テレビジョン受像機300は、リモートコントローラ351から送信される赤外線信号を受光する受光部337も有する。
 受光部337は、リモートコントローラ351からの赤外線を受光し、復調して得られたユーザ操作の内容を表す制御コードをCPU332に出力する。
 CPU332は、フラッシュメモリ331に記憶されているプログラムを実行し、受光部337から供給される制御コードなどに応じてテレビジョン受像機300の全体の動作を制御する。CPU332とテレビジョン受像機300の各部は、図示せぬ経路を介して接続されている。
 USB I/F333は、USB端子336に装着されたUSBケーブルを介して接続される、テレビジョン受像機300の外部の機器との間でデータの送受信を行う。ネットワークI/F334は、ネットワーク端子335に装着されたケーブルを介してネットワークに接続し、ネットワークに接続される各種の装置と音声データ以外のデータの送受信も行う。
 テレビジョン受像機300は、MPEGデコーダ317として画像復号装置201を用いることにより、符号化効率を向上することができる。その結果として、テレビジョン受像機300は、アンテナを介して受信した放送波信号や、ネットワークを介して取得したコンテンツデータから、より高精細な復号画像を得て、表示することができる。
[携帯電話機の構成例]
 図24は、本発明を適用した画像符号化装置および画像復号装置を用いる携帯電話機の主な構成例を示すブロック図である。
 図24に示される携帯電話機400は、各部を統括的に制御するようになされた主制御部450、電源回路部451、操作入力制御部452、画像エンコーダ453、カメラI/F部454、LCD制御部455、画像デコーダ456、多重分離部457、記録再生部462、変復調回路部458、および音声コーデック459を有する。これらは、バス460を介して互いに接続されている。
 また、携帯電話機400は、操作キー419、CCD(Charge Coupled Devices)カメラ416、液晶ディスプレイ418、記憶部423、送受信回路部463、アンテナ414、マイクロホン(マイク)421、およびスピーカ417を有する。
 電源回路部451は、ユーザの操作により終話および電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することにより携帯電話機400を動作可能な状態に起動する。
 携帯電話機400は、CPU、ROMおよびRAM等でなる主制御部450の制御に基づいて、音声通話モードやデータ通信モード等の各種モードで、音声信号の送受信、電子メールや画像データの送受信、画像撮影、またはデータ記録等の各種動作を行う。
 例えば、音声通話モードにおいて、携帯電話機400は、マイクロホン(マイク)421で集音した音声信号を、音声コーデック459によってデジタル音声データに変換し、これを変復調回路部458でスペクトラム拡散処理し、送受信回路部463でデジタルアナログ変換処理および周波数変換処理する。携帯電話機400は、その変換処理により得られた送信用信号を、アンテナ414を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号(音声信号)は、公衆電話回線網を介して通話相手の携帯電話機に供給される。
 また、例えば、音声通話モードにおいて、携帯電話機400は、アンテナ414で受信した受信信号を送受信回路部463で増幅し、さらに周波数変換処理およびアナログデジタル変換処理し、変復調回路部458でスペクトラム逆拡散処理し、音声コーデック459によってアナログ音声信号に変換する。携帯電話機400は、その変換して得られたアナログ音声信号をスピーカ417から出力する。
 更に、例えば、データ通信モードにおいて電子メールを送信する場合、携帯電話機400は、操作キー419の操作によって入力された電子メールのテキストデータを、操作入力制御部452において受け付ける。携帯電話機400は、そのテキストデータを主制御部450において処理し、LCD制御部455を介して、画像として液晶ディスプレイ418に表示させる。
 また、携帯電話機400は、主制御部450において、操作入力制御部452が受け付けたテキストデータやユーザ指示等に基づいて電子メールデータを生成する。携帯電話機400は、その電子メールデータを、変復調回路部458でスペクトラム拡散処理し、送受信回路部463でデジタルアナログ変換処理および周波数変換処理する。携帯電話機400は、その変換処理により得られた送信用信号を、アンテナ414を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号(電子メール)は、ネットワークおよびメールサーバ等を介して、所定のあて先に供給される。
 また、例えば、データ通信モードにおいて電子メールを受信する場合、携帯電話機400は、基地局から送信された信号を、アンテナ414を介して送受信回路部463で受信し、増幅し、さらに周波数変換処理およびアナログデジタル変換処理する。携帯電話機400は、その受信信号を変復調回路部458でスペクトラム逆拡散処理して元の電子メールデータを復元する。携帯電話機400は、復元された電子メールデータを、LCD制御部455を介して液晶ディスプレイ418に表示する。
 なお、携帯電話機400は、受信した電子メールデータを、記録再生部462を介して、記憶部423に記録する(記憶させる)ことも可能である。
 この記憶部423は、書き換え可能な任意の記憶媒体である。記憶部423は、例えば、RAMや内蔵型フラッシュメモリ等の半導体メモリであってもよいし、ハードディスクであってもよいし、磁気ディスク、光磁気ディスク、光ディスク、USBメモリ、またはメモリカード等のリムーバブルメディアであってもよい。もちろん、これら以外のものであってもよい。
 さらに、例えば、データ通信モードにおいて画像データを送信する場合、携帯電話機400は、撮像によりCCDカメラ416で画像データを生成する。CCDカメラ416は、レンズや絞り等の光学デバイスと光電変換素子としてのCCDを有し、被写体を撮像し、受光した光の強度を電気信号に変換し、被写体の画像の画像データを生成する。その画像データを、カメラI/F部454を介して、画像エンコーダ453で、例えばMPEG2やMPEG4等の所定の符号化方式によって圧縮符号化することにより符号化画像データに変換する。
 携帯電話機400は、このような処理を行う画像エンコーダ453として、上述した画像符号化装置101を用いる。したがって、画像エンコーダ453は、画像符号化装置101の場合と同様に、符号化効率を向上させ、復号画像における主観画質を向上させることができる。
 なお、携帯電話機400は、このとき同時に、CCDカメラ416で撮像中にマイクロホン(マイク)421で集音した音声を、音声コーデック459においてアナログデジタル変換し、さらに符号化する。
 携帯電話機400は、多重分離部457において、画像エンコーダ453から供給された符号化画像データと、音声コーデック459から供給されたデジタル音声データとを、所定の方式で多重化する。携帯電話機400は、その結果得られる多重化データを、変復調回路部458でスペクトラム拡散処理し、送受信回路部463でデジタルアナログ変換処理および周波数変換処理する。携帯電話機400は、その変換処理により得られた送信用信号を、アンテナ414を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号(画像データ)は、ネットワーク等を介して、通信相手に供給される。
 なお、画像データを送信しない場合、携帯電話機400は、CCDカメラ416で生成した画像データを、画像エンコーダ453を介さずに、LCD制御部455を介して液晶ディスプレイ418に表示させることもできる。
 また、例えば、データ通信モードにおいて、簡易ホームページ等にリンクされた動画像ファイルのデータを受信する場合、携帯電話機400は、基地局から送信された信号を、アンテナ414を介して送受信回路部463で受信し、増幅し、さらに周波数変換処理およびアナログデジタル変換処理する。携帯電話機400は、その受信信号を変復調回路部458でスペクトラム逆拡散処理して元の多重化データを復元する。携帯電話機400は、多重分離部457において、その多重化データを分離して、符号化画像データと音声データとに分ける。
 携帯電話機400は、画像デコーダ456において、符号化画像データを、MPEG2やMPEG4等の所定の符号化方式に対応した復号方式でデコードすることにより、再生動画像データを生成し、これを、LCD制御部455を介して液晶ディスプレイ418に表示させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる動画データが液晶ディスプレイ418に表示される。
 携帯電話機400は、このような処理を行う画像デコーダ456として、上述した画像復号装置201を用いる。したがって、画像デコーダ456は、画像復号装置201の場合と同様に、符号化効率を向上させ、復号画像における主観画質を向上させることができる。
 このとき、携帯電話機400は、同時に、音声コーデック459において、デジタルの音声データをアナログ音声信号に変換し、これをスピーカ417より出力させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる音声データが再生される。
 なお、電子メールの場合と同様に、携帯電話機400は、受信した簡易ホームページ等にリンクされたデータを、記録再生部462を介して、記憶部423に記録する(記憶させる)ことも可能である。
 また、携帯電話機400は、主制御部450において、撮像されてCCDカメラ416で得られた2次元コードを解析し、2次元コードに記録された情報を取得することができる。
 さらに、携帯電話機400は、赤外線通信部481で赤外線により外部の機器と通信することができる。
 携帯電話機400は、画像エンコーダ453として画像符号化装置101を用いることにより、符号化効率を向上させることができる。結果として、携帯電話機400は、符号化効率のよい符号化データ(画像データ)を、他の装置に提供することができる。
 また、携帯電話機400は、画像デコーダ456として画像復号装置201を用いることにより、符号化効率を向上させることができる。その結果として、携帯電話機400は、例えば、簡易ホームページにリンクされた動画像ファイルから、より高精細な復号画像を得て、表示することができる。
 なお、以上において、携帯電話機400が、CCDカメラ416を用いるように説明したが、このCCDカメラ416の代わりに、CMOS(Complementary Metal Oxide Semiconductor)を用いたイメージセンサ(CMOSイメージセンサ)を用いるようにしてもよい。この場合も、携帯電話機400は、CCDカメラ416を用いる場合と同様に、被写体を撮像し、被写体の画像の画像データを生成することができる。
 また、以上においては携帯電話機400として説明したが、例えば、PDA(Personal Digital Assistants)、スマートフォン、UMPC(Ultra Mobile Personal Computer)、ネットブック、ノート型パーソナルコンピュータ等、この携帯電話機400と同様の撮像機能や通信機能を有する装置であれば、どのような装置であっても携帯電話機400の場合と同様に、画像符号化装置101および画像復号装置201を適用することができる。
[ハードディスクレコーダの構成例]
 図25は、本発明を適用した画像符号化装置および画像復号装置を用いるハードディスクレコーダの主な構成例を示すブロック図である。
 図25に示されるハードディスクレコーダ(HDDレコーダ)500は、チューナにより受信された、衛星や地上のアンテナ等より送信される放送波信号(テレビジョン信号)に含まれる放送番組のオーディオデータとビデオデータを、内蔵するハードディスクに保存し、その保存したデータをユーザの指示に応じたタイミングでユーザに提供する装置である。
 ハードディスクレコーダ500は、例えば、放送波信号よりオーディオデータとビデオデータを抽出し、それらを適宜復号し、内蔵するハードディスクに記憶させることができる。また、ハードディスクレコーダ500は、例えば、ネットワークを介して他の装置からオーディオデータやビデオデータを取得し、それらを適宜復号し、内蔵するハードディスクに記憶させることもできる。
 さらに、ハードディスクレコーダ500は、例えば、内蔵するハードディスクに記録されているオーディオデータやビデオデータを復号してモニタ560に供給し、モニタ560の画面にその画像を表示させる。また、ハードディスクレコーダ500は、モニタ560のスピーカよりその音声を出力させることができる。
 ハードディスクレコーダ500は、例えば、チューナを介して取得された放送波信号より抽出されたオーディオデータとビデオデータ、または、ネットワークを介して他の装置から取得したオーディオデータやビデオデータを復号してモニタ560に供給し、モニタ560の画面にその画像を表示させる。また、ハードディスクレコーダ500は、モニタ560のスピーカよりその音声を出力させることもできる。
 もちろん、この他の動作も可能である。
 図25に示されるように、ハードディスクレコーダ500は、受信部521、復調部522、デマルチプレクサ523、オーディオデコーダ524、ビデオデコーダ525、およびレコーダ制御部526を有する。ハードディスクレコーダ500は、さらに、EPGデータメモリ527、プログラムメモリ528、ワークメモリ529、ディスプレイコンバータ530、OSD(On Screen Display)制御部531、ディスプレイ制御部532、記録再生部533、D/Aコンバータ534、および通信部535を有する。
 また、ディスプレイコンバータ530は、ビデオエンコーダ541を有する。記録再生部533は、エンコーダ551およびデコーダ552を有する。
 受信部521は、リモートコントローラ(図示せず)からの赤外線信号を受信し、電気信号に変換してレコーダ制御部526に出力する。レコーダ制御部526は、例えば、マイクロプロセッサなどにより構成され、プログラムメモリ528に記憶されているプログラムに従って、各種の処理を実行する。レコーダ制御部526は、このとき、ワークメモリ529を必要に応じて使用する。
 通信部535は、ネットワークに接続され、ネットワークを介して他の装置との通信処理を行う。例えば、通信部535は、レコーダ制御部526により制御され、チューナ(図示せず)と通信し、主にチューナに対して選局制御信号を出力する。
 復調部522は、チューナより供給された信号を、復調し、デマルチプレクサ523に出力する。デマルチプレクサ523は、復調部522より供給されたデータを、オーディオデータ、ビデオデータ、およびEPGデータに分離し、それぞれ、オーディオデコーダ524、ビデオデコーダ525、またはレコーダ制御部526に出力する。
 オーディオデコーダ524は、入力されたオーディオデータを、例えばMPEG方式でデコードし、記録再生部533に出力する。ビデオデコーダ525は、入力されたビデオデータを、例えばMPEG方式でデコードし、ディスプレイコンバータ530に出力する。レコーダ制御部526は、入力されたEPGデータをEPGデータメモリ527に供給し、記憶させる。
 ディスプレイコンバータ530は、ビデオデコーダ525またはレコーダ制御部526より供給されたビデオデータを、ビデオエンコーダ541により、例えばNTSC(National Television Standards Committee)方式のビデオデータにエンコードし、記録再生部533に出力する。また、ディスプレイコンバータ530は、ビデオデコーダ525またはレコーダ制御部526より供給されるビデオデータの画面のサイズを、モニタ560のサイズに対応するサイズに変換する。ディスプレイコンバータ530は、画面のサイズが変換されたビデオデータを、さらに、ビデオエンコーダ541によってNTSC方式のビデオデータに変換し、アナログ信号に変換し、ディスプレイ制御部532に出力する。
 ディスプレイ制御部532は、レコーダ制御部526の制御のもと、OSD(On Screen Display)制御部531が出力したOSD信号を、ディスプレイコンバータ530より入力されたビデオ信号に重畳し、モニタ560のディスプレイに出力し、表示させる。
 モニタ560にはまた、オーディオデコーダ524が出力したオーディオデータが、D/Aコンバータ534によりアナログ信号に変換されて供給されている。モニタ560は、このオーディオ信号を内蔵するスピーカから出力する。
 記録再生部533は、ビデオデータやオーディオデータ等を記録する記憶媒体としてハードディスクを有する。
 記録再生部533は、例えば、オーディオデコーダ524より供給されるオーディオデータを、エンコーダ551によりMPEG方式でエンコードする。また、記録再生部533は、ディスプレイコンバータ530のビデオエンコーダ541より供給されるビデオデータを、エンコーダ551によりMPEG方式でエンコードする。記録再生部533は、そのオーディオデータの符号化データとビデオデータの符号化データとをマルチプレクサにより合成する。記録再生部533は、その合成データをチャネルコーディングして増幅し、そのデータを、記録ヘッドを介してハードディスクに書き込む。
 記録再生部533は、再生ヘッドを介してハードディスクに記録されているデータを再生し、増幅し、デマルチプレクサによりオーディオデータとビデオデータに分離する。記録再生部533は、デコーダ552によりオーディオデータおよびビデオデータをMPEG方式でデコードする。記録再生部533は、復号したオーディオデータをD/A変換し、モニタ560のスピーカに出力する。また、記録再生部533は、復号したビデオデータをD/A変換し、モニタ560のディスプレイに出力する。
 レコーダ制御部526は、受信部521を介して受信されるリモートコントローラからの赤外線信号により示されるユーザ指示に基づいて、EPGデータメモリ527から最新のEPGデータを読み出し、それをOSD制御部531に供給する。OSD制御部531は、入力されたEPGデータに対応する画像データを発生し、ディスプレイ制御部532に出力する。ディスプレイ制御部532は、OSD制御部531より入力されたビデオデータをモニタ560のディスプレイに出力し、表示させる。これにより、モニタ560のディスプレイには、EPG(電子番組ガイド)が表示される。
 また、ハードディスクレコーダ500は、インターネット等のネットワークを介して他の装置から供給されるビデオデータ、オーディオデータ、またはEPGデータ等の各種データを取得することができる。
 通信部535は、レコーダ制御部526に制御され、ネットワークを介して他の装置から送信されるビデオデータ、オーディオデータ、およびEPGデータ等の符号化データを取得し、それをレコーダ制御部526に供給する。レコーダ制御部526は、例えば、取得したビデオデータやオーディオデータの符号化データを記録再生部533に供給し、ハードディスクに記憶させる。このとき、レコーダ制御部526および記録再生部533が、必要に応じて再エンコード等の処理を行うようにしてもよい。
 また、レコーダ制御部526は、取得したビデオデータやオーディオデータの符号化データを復号し、得られるビデオデータをディスプレイコンバータ530に供給する。ディスプレイコンバータ530は、ビデオデコーダ525から供給されるビデオデータと同様に、レコーダ制御部526から供給されるビデオデータを処理し、ディスプレイ制御部532を介してモニタ560に供給し、その画像を表示させる。
 また、この画像表示に合わせて、レコーダ制御部526が、復号したオーディオデータを、D/Aコンバータ534を介してモニタ560に供給し、その音声をスピーカから出力させるようにしてもよい。
 さらに、レコーダ制御部526は、取得したEPGデータの符号化データを復号し、復号したEPGデータをEPGデータメモリ527に供給する。
 以上のようなハードディスクレコーダ500は、ビデオデコーダ525、デコーダ552、およびレコーダ制御部526に内蔵されるデコーダとして画像復号装置201を用いる。したがって、ビデオデコーダ525、デコーダ552、およびレコーダ制御部526に内蔵されるデコーダは、画像復号装置201の場合と同様に、符号化効率を向上させ、復号画像における主観画質を向上させることができる。
 したがって、ハードディスクレコーダ500は、処理の高速化を実現するとともに、精度の高い予測画像を生成することができる。その結果として、ハードディスクレコーダ500は、例えば、チューナを介して受信されたビデオデータの符号化データや、記録再生部533のハードディスクから読み出されたビデオデータの符号化データや、ネットワークを介して取得したビデオデータの符号化データから、より高精細な復号画像を得て、モニタ560に表示させることができる。
 また、ハードディスクレコーダ500は、エンコーダ551として画像符号化装置101を用いる。したがって、エンコーダ551は、画像符号化装置101の場合と同様に、符号化効率を向上させ、復号画像における主観画質を向上させることができる。
 したがって、ハードディスクレコーダ500は、例えば、処理の高速化を実現するとともに、ハードディスクに記録する符号化データの符号化効率を向上させることができる。その結果として、ハードディスクレコーダ500は、ハードディスクの記憶領域をより効率よく使用することができる。
 なお、以上においては、ビデオデータやオーディオデータをハードディスクに記録するハードディスクレコーダ500について説明したが、もちろん、記録媒体はどのようなものであってもよい。例えばフラッシュメモリ、光ディスク、またはビデオテープ等、ハードディスク以外の記録媒体を適用するレコーダであっても、上述したハードディスクレコーダ500の場合と同様に、画像符号化装置101および画像復号装置201を適用することができる。
[カメラの構成例]
 図26は、本発明を適用した画像復号装置および画像符号化装置を用いるカメラの主な構成例を示すブロック図である。
 図26に示されるカメラ600は、被写体を撮像し、被写体の画像をLCD616に表示させたり、それを画像データとして、記録メディア633に記録したりする。
 レンズブロック611は、光(すなわち、被写体の映像)を、CCD/CMOS612に入射させる。CCD/CMOS612は、CCDまたはCMOSを用いたイメージセンサであり、受光した光の強度を電気信号に変換し、カメラ信号処理部613に供給する。
 カメラ信号処理部613は、CCD/CMOS612から供給された電気信号を、Y,Cr,Cbの色差信号に変換し、画像信号処理部614に供給する。画像信号処理部614は、コントローラ621の制御の下、カメラ信号処理部613から供給された画像信号に対して所定の画像処理を施したり、その画像信号をエンコーダ641で例えばMPEG方式により符号化したりする。画像信号処理部614は、画像信号を符号化して生成した符号化データを、デコーダ615に供給する。さらに、画像信号処理部614は、オンスクリーンディスプレイ(OSD)620において生成された表示用データを取得し、それをデコーダ615に供給する。
 以上の処理において、カメラ信号処理部613は、バス617を介して接続されるDRAM(Dynamic Random Access Memory)618を適宜利用し、必要に応じて画像データや、その画像データが符号化された符号化データ等をそのDRAM618に保持させる。
 デコーダ615は、画像信号処理部614から供給された符号化データを復号し、得られた画像データ(復号画像データ)をLCD616に供給する。また、デコーダ615は、画像信号処理部614から供給された表示用データをLCD616に供給する。LCD616は、デコーダ615から供給された復号画像データの画像と表示用データの画像を適宜合成し、その合成画像を表示する。
 オンスクリーンディスプレイ620は、コントローラ621の制御の下、記号、文字、または図形からなるメニュー画面やアイコンなどの表示用データを、バス617を介して画像信号処理部614に出力する。
 コントローラ621は、ユーザが操作部622を用いて指令した内容を示す信号に基づいて、各種処理を実行するとともに、バス617を介して、画像信号処理部614、DRAM618、外部インタフェース619、オンスクリーンディスプレイ620、およびメディアドライブ623等を制御する。FLASH ROM624には、コントローラ621が各種処理を実行する上で必要なプログラムやデータ等が格納される。
 例えば、コントローラ621は、画像信号処理部614やデコーダ615に代わって、DRAM618に記憶されている画像データを符号化したり、DRAM618に記憶されている符号化データを復号したりすることができる。このとき、コントローラ621は、画像信号処理部614やデコーダ615の符号化・復号方式と同様の方式によって符号化・復号処理を行うようにしてもよいし、画像信号処理部614やデコーダ615が対応していない方式により符号化・復号処理を行うようにしてもよい。
 また、例えば、操作部622から画像印刷の開始が指示された場合、コントローラ621は、DRAM618から画像データを読み出し、それを、バス617を介して外部インタフェース619に接続されるプリンタ634に供給して印刷させる。
 さらに、例えば、操作部622から画像記録が指示された場合、コントローラ621は、DRAM618から符号化データを読み出し、それを、バス617を介してメディアドライブ623に装着される記録メディア633に供給して記憶させる。
 記録メディア633は、例えば、磁気ディスク、光磁気ディスク、光ディスク、または半導体メモリ等の、読み書き可能な任意のリムーバブルメディアである。記録メディア633は、もちろん、リムーバブルメディアとしての種類も任意であり、テープデバイスであってもよいし、ディスクであってもよいし、メモリカードであってもよい。もちろん、非接触ICカード等であっても良い。
 また、メディアドライブ623と記録メディア633を一体化し、例えば、内蔵型ハードディスクドライブやSSD(Solid State Drive)等のように、非可搬性の記憶媒体により構成されるようにしてもよい。
 外部インタフェース619は、例えば、USB入出力端子などで構成され、画像の印刷を行う場合に、プリンタ634と接続される。また、外部インタフェース619には、必要に応じてドライブ631が接続され、磁気ディスク、光ディスク、あるいは光磁気ディスクなどのリムーバブルメディア632が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて、FLASH ROM624にインストールされる。
 さらに、外部インタフェース619は、LANやインターネット等の所定のネットワークに接続されるネットワークインタフェースを有する。コントローラ621は、例えば、操作部622からの指示に従って、DRAM618から符号化データを読み出し、それを外部インタフェース619から、ネットワークを介して接続される他の装置に供給させることができる。また、コントローラ621は、ネットワークを介して他の装置から供給される符号化データや画像データを、外部インタフェース619を介して取得し、それをDRAM618に保持させたり、画像信号処理部614に供給したりすることができる。
 以上のようなカメラ600は、デコーダ615として画像復号装置201を用いる。したがって、デコーダ615は、画像復号装置201の場合と同様に、符号化効率を向上させ、復号画像における主観画質を向上させることができる。
 したがって、カメラ600は、精度の高い予測画像を生成することができる。その結果として、カメラ600は、例えば、CCD/CMOS612において生成された画像データや、DRAM618または記録メディア633から読み出されたビデオデータの符号化データや、ネットワークを介して取得したビデオデータの符号化データから、より高速に、より高精細な復号画像を得て、LCD616に表示させることができる。
 また、カメラ600は、エンコーダ641として画像符号化装置101を用いる。したがって、エンコーダ641は、画像符号化装置101の場合と同様に、符号化効率を向上させ、復号画像における主観画質を向上させることができる。
 したがって、カメラ600は、例えば、ハードディスクに記録する符号化データの符号化効率を向上させることができる。その結果として、カメラ600は、より高速に、DRAM618や記録メディア633の記憶領域をより効率よく使用することができる。
 なお、コントローラ621が行う復号処理に画像復号装置201の復号方法を適用するようにしてもよい。同様に、コントローラ621が行う符号化処理に画像符号化装置101の符号化方法を適用するようにしてもよい。
 また、カメラ600が撮像する画像データは動画像であってもよいし、静止画像であってもよい。
 もちろん、画像符号化装置101および画像復号装置201は、上述した装置以外の装置やシステムにも適用可能である。
 16 可逆符号化部, 21 デブロックフィルタ, 24 イントラ予測部, 42可逆復号部, 46 デブロックフィルタ, 51 イントラ予測部,101 画像符号化装置, 111 適応ループフィルタ, 112 エッジ検出部, 131 クラス分類部, 132-1,132-2 フィルタ係数算出部, 133-1,133-2 フィルタ処理部, 201 画像復号装置,  211 適応ループフィルタ, 212 エッジ検出部, 231 フィルタ係数バッファ, 232 クラス分類部, 233-1, 233-2 フィルタ処理部

Claims (19)

  1.  画像を、所定のブロック毎に、前記所定のブロックを構成する画素値のベースバンド情報を用いて、平坦領域クラスとエッジまたはテクスチャクラスとにクラス分類する分類手段と、
     前記分類手段によりクラス分類された各所定のブロックに対して、同じクラスにクラス分類された前記所定のブロックを用いて算出されたフィルタ係数を用いてフィルタ処理を行うフィルタ処理手段と
     を備える画像処理装置。
  2.  前記分類手段は、前記画像を、前記所定のブロック毎に、前記ベースバンド情報として、前記所定のブロックのエッジ情報を用いて、前記平坦領域クラスと前記エッジまたはテクスチャクラスとにクラス分類する
     請求項1に記載の画像処理装置。
  3.  前記所定のブロックのエッジ情報は、エッジ強度を示す情報である
     請求項2に記載の画像処理装置。
  4.  前記所定のブロックのエッジ強度は、Sobel operatorを用いて算出される
     請求項3に記載の画像処理装置。
  5.  前記分類手段は、前記画像を、前記所定のブロックのエッジ強度が、所定の閾値を超える場合、前記所定のブロックを前記エッジまたはテクスチャクラスにクラス分類し、前記所定のブロックのエッジ強度が、所定の閾値を超えていない場合、前記平坦領域クラスにクラス分類する
     請求項3に記載の画像処理装置。
  6.  前記所定のブロックは、ブロックまたは前記ブロックを構成するブロックであり、
     前記所定の閾値を、前記ブロックにおける量子化パラメータに応じて決定する閾値決定手段を
     さらに備える請求項5に記載の画像処理装置。
  7.  前記閾値決定手段は、前記所定の閾値を、より高い量子化パラメータに対して、より低い値に決定する
     請求項6に記載の画像処理装置。
  8.  前記所定のブロックは、ブロックまたは前記ブロックを構成するブロックであり、
     前記所定の閾値を、前記ブロックが含まれるフレームに対してデブロックフィルタが施されているか否かに応じて決定する閾値決定手段を
     さらに備える請求項5に記載の画像処理装置。
  9.  前記閾値決定手段は、前記所定の閾値を、前記フレームに対してデブロックフィルタが施されている場合、デブロックフィルタが施されていない場合に比して低い値に決定する
     請求項8に記載の画像処理装置。
  10.  前記分類手段は、前記画像を、前記所定のブロック毎に、前記ベースバンド情報として、前記所定のブロックの画素分散値を用いて、前記平坦領域クラスと前記エッジまたはテクスチャクラスとにクラス分類する
     請求項1に記載の画像処理装置。
  11.  前記分類手段は、前記画像を、前記所定のブロックの画素分散値が、所定の閾値を超える場合、前記所定のブロックを前記エッジまたはテクスチャクラスにクラス分類し、前記所定のブロックの画素分散値が、所定の閾値を超えていない場合、前記平坦領域クラスにクラス分類する
     請求項10に記載の画像処理装置。
  12.  前記所定のブロックは、ブロックまたは前記ブロックを構成するブロックであり、
     前記所定の閾値を、前記ブロックにおける量子化パラメータに応じて決定する閾値決定手段を
     さらに備える請求項11に記載の画像処理装置。
  13.  前記閾値決定手段は、前記所定の閾値を、より高い量子化パラメータに対して、より低い値に決定する
     請求項12に記載の画像処理装置。
  14.  前記所定のブロックは、ブロックまたは前記ブロックを構成するブロックであり、
     前記所定の閾値を、前記ブロックが含まれるフレームに対してデブロックフィルタが施されているか否かに応じて決定する閾値決定手段を
     さらに備える請求項11に記載の画像処理装置。
  15.  前記閾値決定手段は、前記所定の閾値を、前記フレームに対してデブロックフィルタが施されている場合、デブロックフィルタが施されていない場合に比して低い値に決定する
     請求項14に記載の画像処理装置。
  16.  前記同じクラスにクラス分類された前記所定のブロックを用いて前記フィルタ係数を算出するフィルタ係数算出手段
     をさらに備える請求項1に記載の画像処理装置。
  17.  前記画像のビットストリームと、前記フィルタ係数算出手段により算出されたフィルタ係数とを伝送する伝送手段
     をさらに備える請求項16に記載の画像処理装置。
  18.  前記画像のビットストリームと、前記フィルタ係数とを受け取る受け取り手段
     をさらに備える請求項1に記載の画像処理装置。
  19.  分類手段と、フィルタ処理手段とを備える画像処理装置の画像処理方法において、
     前記分類手段が、画像を、所定のブロック毎に、前記所定のブロックを構成する画素値のベースバンド情報を用いて、平坦領域クラスとエッジまたはテクスチャクラスとにクラス分類し、
     前記フィルタ処理手段が、クラス分類された各所定のブロックに対して、同じクラスにクラス分類された前記所定のブロックを用いて算出されたフィルタ係数を用いてフィルタ処理を行う
     画像処理方法。
PCT/JP2011/058276 2010-04-09 2011-03-31 画像処理装置および方法 WO2011125867A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US13/637,240 US8923642B2 (en) 2010-04-09 2011-03-31 Image processing device and method
CN2011800230690A CN102884790A (zh) 2010-04-09 2011-03-31 图像处理装置和方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010090718A JP5464435B2 (ja) 2010-04-09 2010-04-09 画像復号装置および方法
JP2010-090718 2010-04-09

Publications (1)

Publication Number Publication Date
WO2011125867A1 true WO2011125867A1 (ja) 2011-10-13

Family

ID=44762805

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/058276 WO2011125867A1 (ja) 2010-04-09 2011-03-31 画像処理装置および方法

Country Status (4)

Country Link
US (1) US8923642B2 (ja)
JP (1) JP5464435B2 (ja)
CN (1) CN102884790A (ja)
WO (1) WO2011125867A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014196613A1 (ja) * 2013-06-07 2014-12-11 Kddi株式会社 動画像符号化装置、動画像復号装置、動画像システム、動画像符号化方法、動画像復号方法、およびプログラム
GB2574423A (en) * 2018-06-05 2019-12-11 Canon Kk Video coding and decoding

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8625914B2 (en) * 2013-02-04 2014-01-07 Sony Corporation Image processing system, image processing method and program
US8995776B2 (en) * 2010-06-17 2015-03-31 Sharp Kabushiki Kaisha Image filter device, decoding apparatus, encoding apparatus, and data structure
US9451258B2 (en) 2012-04-03 2016-09-20 Qualcomm Incorporated Chroma slice-level QP offset and deblocking
JP6065613B2 (ja) * 2013-01-29 2017-01-25 富士通株式会社 動画像符号化装置
US10152820B2 (en) * 2013-03-15 2018-12-11 Intel Corporation Texture address mode discarding filter taps
CN104240228B (zh) 2013-06-24 2017-10-24 阿里巴巴集团控股有限公司 一种应用于网站的特定图片的检测方法及装置
CN103414900B (zh) * 2013-08-24 2016-06-29 倪效宽 配置视频编码质量和分级传输视频数据的方法
US10057601B2 (en) * 2015-06-22 2018-08-21 Integrated Device Technology, Inc. Methods and apparatuses for filtering of ringing artifacts post decoding
US11405611B2 (en) 2016-02-15 2022-08-02 Qualcomm Incorporated Predicting filter coefficients from fixed filters for video coding
CN106658004B (zh) * 2016-11-24 2019-05-17 浙江大学 一种基于图像平坦区域特征的压缩方法和装置
US10317256B2 (en) * 2017-04-14 2019-06-11 Palo Alto Research Center Incorporated Monitoring transportation systems
US10778974B2 (en) * 2017-07-05 2020-09-15 Qualcomm Incorporated Adaptive loop filter with enhanced classification methods
KR102592605B1 (ko) * 2018-12-06 2023-10-24 삼성전자주식회사 이미지 신호 처리기, 이미지 신호 처리기의 동작 방법, 및 이미지 신호 처리기를 포함하는 전자 장치
CN110996127B (zh) * 2019-11-25 2022-12-09 西安万像电子科技有限公司 图像编解码方法、设备及系统
US20220182618A1 (en) * 2020-12-08 2022-06-09 Electronics And Telecommunications Research Institute Method, apparatus and storage medium for image encoding/decoding using filtering

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008075247A1 (en) * 2006-12-18 2008-06-26 Koninklijke Philips Electronics N.V. Image compression and decompression
WO2008084745A1 (ja) * 2007-01-09 2008-07-17 Panasonic Corporation 画像符号化装置および画像復号化装置
WO2008134482A1 (en) * 2007-04-26 2008-11-06 Polycom, Inc. De-blocking filter arrangements
WO2009110559A1 (ja) * 2008-03-07 2009-09-11 株式会社 東芝 動画像符号化/復号装置
WO2010026770A1 (ja) * 2008-09-04 2010-03-11 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、システム、プログラム、及び集積回路

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3428033B2 (ja) * 1992-02-19 2003-07-22 株式会社日立製作所 ディジタルvtr
JP2006032999A (ja) * 2004-07-12 2006-02-02 Sharp Corp 画像復号装置及び画像復号方法
US8422546B2 (en) * 2005-05-25 2013-04-16 Microsoft Corporation Adaptive video encoding using a perceptual model
US8681867B2 (en) * 2005-10-18 2014-03-25 Qualcomm Incorporated Selective deblock filtering techniques for video coding based on motion compensation resulting in a coded block pattern value
US8363728B2 (en) * 2008-04-18 2013-01-29 Sony Corporation Block based codec friendly edge detection and transform selection
JP2010081368A (ja) * 2008-09-26 2010-04-08 Toshiba Corp 画像処理装置、動画像復号装置、動画像符号化装置、画像処理方法、動画像復号方法、及び、動画像符号化方法
US20110081087A1 (en) * 2009-10-02 2011-04-07 Moore Darnell J Fast Hysteresis Thresholding in Canny Edge Detection
US20110200238A1 (en) * 2010-02-16 2011-08-18 Texas Instruments Incorporated Method and system for determining skinline in digital mammogram images

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008075247A1 (en) * 2006-12-18 2008-06-26 Koninklijke Philips Electronics N.V. Image compression and decompression
WO2008084745A1 (ja) * 2007-01-09 2008-07-17 Panasonic Corporation 画像符号化装置および画像復号化装置
WO2008134482A1 (en) * 2007-04-26 2008-11-06 Polycom, Inc. De-blocking filter arrangements
WO2009110559A1 (ja) * 2008-03-07 2009-09-11 株式会社 東芝 動画像符号化/復号装置
WO2010026770A1 (ja) * 2008-09-04 2010-03-11 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、システム、プログラム、及び集積回路

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014196613A1 (ja) * 2013-06-07 2014-12-11 Kddi株式会社 動画像符号化装置、動画像復号装置、動画像システム、動画像符号化方法、動画像復号方法、およびプログラム
JP2014239338A (ja) * 2013-06-07 2014-12-18 Kddi株式会社 動画像符号化装置、動画像復号装置、動画像システム、動画像符号化方法、動画像復号方法、およびプログラム
GB2574423A (en) * 2018-06-05 2019-12-11 Canon Kk Video coding and decoding

Also Published As

Publication number Publication date
JP2011223338A (ja) 2011-11-04
US20130022281A1 (en) 2013-01-24
US8923642B2 (en) 2014-12-30
JP5464435B2 (ja) 2014-04-09
CN102884790A (zh) 2013-01-16

Similar Documents

Publication Publication Date Title
US11328452B2 (en) Image processing device and method
JP5464435B2 (ja) 画像復号装置および方法
KR102005209B1 (ko) 화상 처리 장치와 화상 처리 방법
WO2011081035A1 (ja) 画像処理装置および方法、並びに、プログラム
WO2011125866A1 (ja) 画像処理装置および方法
JP5556996B2 (ja) 画像処理装置および方法
US20120287998A1 (en) Image processing apparatus and method
KR20120051020A (ko) 화상 처리 장치 및 방법
US11051016B2 (en) Image processing device and method
WO2012050021A1 (ja) 画像処理装置および方法
WO2010064675A1 (ja) 画像処理装置および画像処理方法、並びにプログラム
WO2010101063A1 (ja) 画像処理装置および方法
WO2012005195A1 (ja) 画像処理装置および方法
JP2012129925A (ja) 画像処理装置および方法、並びに、プログラム

Legal Events

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

Ref document number: 201180023069.0

Country of ref document: CN

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

Ref document number: 11765767

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13637240

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

Country of ref document: EP

Kind code of ref document: A1