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

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

Info

Publication number
WO2015008652A1
WO2015008652A1 PCT/JP2014/068124 JP2014068124W WO2015008652A1 WO 2015008652 A1 WO2015008652 A1 WO 2015008652A1 JP 2014068124 W JP2014068124 W JP 2014068124W WO 2015008652 A1 WO2015008652 A1 WO 2015008652A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
unit
image processing
region
information
Prior art date
Application number
PCT/JP2014/068124
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 JP2015527259A priority Critical patent/JP6365540B2/ja
Priority to US14/900,866 priority patent/US20160165246A1/en
Priority to CN201480039153.5A priority patent/CN105409222A/zh
Publication of WO2015008652A1 publication Critical patent/WO2015008652A1/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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/553Motion estimation dealing with occlusions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression

Definitions

  • the present disclosure relates to an image processing apparatus and method, and more particularly, to an image processing apparatus and method capable of efficiently performing high image quality processing.
  • image quality enhancement processing such as noise reduction, frame number interpolation processing (high frame rate processing), multi-frame super-resolution processing, etc. may be performed.
  • image quality processing motion detection and moving object region determination are performed on the decoded image that is the decoding result of the bitstream.
  • moving image data is transmitted in the form of a bit stream and decoded into image information by a decoder.
  • the decoder decodes the moving image bit stream according to a predetermined image decoding method such as MPEG-2 / MPEG-4 / MPEG-4AVC / HEVC, and generates an image.
  • motion detection is performed on the decoded image by the motion detector, the moving object region is detected, and is supplied to the subsequent high-quality image processing unit (see Patent Document 1).
  • the present disclosure has been made in view of such a situation, and is intended to enable efficient image quality improvement processing.
  • An image processing apparatus provides an encoding parameter used when an image generated by decoding a bitstream in units of blocks having a hierarchical structure is encoded in units of blocks having a hierarchical structure.
  • An image processing unit that performs image processing using the image processing apparatus is provided.
  • the encoding parameter is a parameter indicating the block size.
  • the encoding parameter is a parameter indicating the depth of the hierarchy.
  • the encoding parameter is a spilt-flag.
  • the encoding parameter is an adaptive offset filter parameter.
  • the encoding parameter is a parameter indicating whether it is an edge offset or a band offset.
  • the image processing unit can perform image processing using a map of an encoding block size generated from the encoding parameter.
  • the image processing unit generates a region information by detecting a boundary of the region from the encoding parameter, and the image processing unit performs a high processing on the image based on the region information detected by the region detection unit.
  • an image quality enhancement processing unit that performs image quality enhancement processing.
  • the area detection unit can generate area information including information on whether the area is a moving object area or a stationary area.
  • the region detection unit can generate the region information using motion vector information obtained by decoding the bitstream.
  • the image processing unit further includes a region determination unit that generates region information indicating whether the region is an occlusion or overdeformed region from the encoding parameter, and the image quality improvement processing unit is detected by the region detection unit. On the basis of the region information and the region information generated by the region determination unit, it is possible to perform image quality enhancement processing on the image.
  • the high image quality process is a process using intra-screen correlation.
  • the high image quality processing is noise reduction, high frame rate processing, or multi-image super-resolution processing.
  • the image processing unit generates a region determination unit that generates region information indicating whether the region is an occlusion or overdeformed region from the encoding parameter, and the region information determined by the region determination unit.
  • a region determination unit that generates region information indicating whether the region is an occlusion or overdeformed region from the encoding parameter, and the region information determined by the region determination unit.
  • an image quality improvement processing unit that performs image quality improvement processing can be provided.
  • the image processing unit further includes a decoding unit that decodes the bitstream to generate the image and outputs the encoding parameter, and the image processing unit applies the decoding unit to the image generated by the decoding unit.
  • the image processing can be performed using the encoding parameter output by.
  • the decoding unit may further include an adaptive offset filter processing unit that performs an adaptive offset process on the image.
  • an image processing apparatus encodes an image generated by decoding a bitstream in units of blocks having a hierarchical structure, in units of blocks having a hierarchical structure. Image processing is performed using the encoding parameters to be used.
  • an encoding parameter used when an image generated by decoding a bitstream in units of blocks having a hierarchical structure is encoded in units of blocks having a hierarchical structure is used.
  • Image processing is performed.
  • image processing device may be an independent device, or may be an internal block constituting one image decoding device.
  • an image can be decoded.
  • high image quality processing can be performed efficiently.
  • FIG. 1 It is a figure explaining the parsing method of TU size. It is a figure which shows the example of semantics of split_transform_flag. It is a block diagram which shows the structural example of a moving body area
  • FIG. 10 is a block diagram illustrating another configuration example of an image processing apparatus that uses encoded information. It is a block diagram which shows the structural example of an area division part. It is a block diagram which shows the structural example of an object boundary detector. It is a flowchart explaining an image process. It is a flowchart explaining an area
  • FIG. 20 is a block diagram illustrating a main configuration example of a computer. It is a block diagram which shows an example of a schematic structure of a television apparatus. It is a block diagram which shows an example of a schematic structure of a mobile telephone. It is a block diagram which shows an example of a schematic structure of a recording / reproducing apparatus. It is a block diagram which shows an example of a schematic structure of an imaging device. It is a block diagram which shows an example of a schematic structure of a video set. It is a block diagram which shows an example of a schematic structure of a video processor. It is a block diagram which shows the other example of the schematic structure of a video processor.
  • First embodiment an example of an image processing apparatus using hierarchical block division information
  • Second embodiment an example of an image processing apparatus using SAO parameters
  • Third embodiment computer 4
  • Fourth embodiment set unit module processor
  • FIG. 1 is a block diagram illustrating a configuration example of an image processing apparatus having a motion detector.
  • the image processing apparatus 1 is an image processing apparatus that performs high image quality processing after decoding a bitstream distributed by broadcast, DVD, or the like.
  • the heel image processing apparatus 1 includes a decoding unit 11 and an image processing unit 12.
  • the image processing unit 12 is configured to include a motion detector 21, a moving object region detector 22, and a moving image processor 23.
  • the heel decoding unit 11 receives a bit stream, decodes the input bit stream according to a predetermined image decoding method, and generates a decoded image.
  • Image decoding methods include MPEG (Moving Picture Experts Group) -2, MPEG4, MPEG4AVC (Advanced Video Coding) (hereinafter simply referred to as AVC), HEVC (High Efficiency Video Coding), and the like.
  • AVC Advanced Video Coding
  • HEVC High Efficiency Video Coding
  • the heel motion detector 21 detects a motion vector from the decoded image from the decoding unit 11.
  • the motion vector detected by the motion detector 21 is output to the moving object region detector 22.
  • the moving object region detector 22 specifies a moving object region from the motion vector detected by the motion detector 21 and the decoded image from the decoding unit 11. For example, in the case of frame number interpolation processing (high frame rate processing), the moving object region detector 22 determines a region such as a ball moving in the image. The moving object region detector 22 supplies information on the specified moving object region to the moving image processor 23.
  • the moving image processor 23 performs processing using intra-screen correlation, such as noise reduction, frame number interpolation processing, or multi-image super-resolution processing, as high image quality processing.
  • the moving image processor 23 outputs the processed high quality image to a subsequent stage (not shown).
  • the motion detector 21, the moving object region detector 22, and the moving image processor 23 are configured to block when a frame buffer or the like is necessary to store past frames. It is assumed that each is contained within.
  • the image quality enhancement process is performed on the image decoded by the decoding unit 11.
  • the motion detection is performed again in the subsequent stage of the decoding unit 11 in the image processing apparatus 1 without using the information.
  • a motion vector or the like was detected by the device 21, and cost was high.
  • FIG. 2 is a block diagram illustrating a configuration example of an image processing apparatus that uses encoded information.
  • the image processing apparatus 101 is an image processing apparatus that decodes a bitstream distributed by broadcast, DVD, or the like and then performs image quality improvement processing, similar to the image processing apparatus 1 of FIG. 1.
  • the image processing apparatus 101 includes a decoding unit 111 and an image processing unit 112.
  • the decoding unit 111 is, for example, a HEVC (High Efficiency Video Coding) standard decoder, and inputs a bit stream encoded by HEVC from the outside (not shown).
  • the decoding unit 111 decodes the input bit stream according to the HEVC standard.
  • the decoding unit 11 in FIG. 1 outputs only the decoded image to the subsequent image processing unit 12.
  • the decoding unit 111 in FIG. 2 includes, as decoded image, motion vector information, which is encoded information in the bitstream used for decoding, and CU (Coding Unit), PU (Prediction) as image division information.
  • Unit block division information also referred to as Quadtree information
  • TU Transform Unit
  • the encoded information in the bitstream used for decoding is, in other words, encoded information (parameters) used when encoding in units having a hierarchical structure.
  • Hierarchical block division information is a parameter indicating the size of a block and a parameter indicating the depth of the hierarchy. Specifically, the hierarchical block division information is a split-flag described later.
  • the CU, PU, and TU will be described with reference to FIG.
  • AVC defines a hierarchical structure of macroblocks and sub-macroblocks.
  • a macro block of 16 pixels ⁇ 16 pixels is not optimal for a large image frame such as UHD (Ultra High Definition: 4000 pixels ⁇ 2000 pixels), which is a target of the next generation encoding method.
  • a coding unit In contrast, in HEVC, a coding unit (CU) is defined as shown in FIG.
  • the hierarchical structure of AVC is called Block coding structure, whereas the hierarchical structure of HEVC is called Quadtree coding structure.
  • CU is also called Coding Tree Block (CTB) and is a partial area of a picture unit image that plays the same role as a macroblock in the AVC method.
  • CTB Coding Tree Block
  • the latter is fixed to a size of 16 ⁇ 16 pixels, whereas the size of the former is not fixed, and is specified in the image compression information in each sequence.
  • the maximum size (LCU (Largest Coding Unit)) and the minimum size (SCU (Smallest Coding Unit)) are specified.
  • the LCU size is 128 and the maximum hierarchical depth is 5.
  • split_flag the value of split_flag is “1”
  • the 2N ⁇ 2N size CU is divided into N ⁇ N size CUs that are one level below.
  • the CU is divided into prediction units (PUs) that are regions (partial regions of images in units of pictures) that are processing units for intra or inter prediction.
  • the PU is divided into transform units (TUs), which are regions (partial regions of images in units of pictures) that are orthogonal transform processing units.
  • TUs transform units
  • the CU is hierarchically divided in units of blocks, and the TU is hierarchically divided starting from the CU.
  • a macro block in the AVC method corresponds to an LCU
  • a block (sub block) corresponds to a CU. Then you can think.
  • a motion compensation block in the AVC method can be considered to correspond to a PU.
  • the size of the LCU of the highest hierarchy is generally set larger than the macro block of the AVC method, for example, 128 ⁇ 128 pixels.
  • the LCU also includes a macro block in the AVC method
  • the CU also includes a block (sub-block) in the AVC method.
  • “block” used in the following description indicates an arbitrary partial area in the picture, and its size, shape, characteristics, and the like are not limited. That is, the “block” includes an arbitrary area (processing unit) such as a TU, PU, SCU, CU, LCU, sub-block, macroblock, or slice. Of course, other partial areas (processing units) are also included. When it is necessary to limit the size, processing unit, etc., it will be described as appropriate.
  • CTU Coding Tree Unit
  • CTB Coding Tree Block
  • CU Coding ⁇ Unit
  • CB Coding ⁇ ⁇ ⁇ ⁇ Block
  • the image processing unit 112 specifies the moving object region for the decoded image from the decoding unit 111 using the encoding information from the decoding unit 111 and performs the image quality improvement processing.
  • the image processing unit 112 includes an MV converter 121, a moving object region detector 122, and a moving image processor 123.
  • the moving object region detector 122 and the moving image processor 123 are included in each block when a frame buffer or the like is required to store past frames. It shall be.
  • the MV converter 121 Based on the motion vector information from the decoding unit 111, the MV converter 121 normalizes the direction from the encoding order to the display order, performs signal processing, and converts the motion vector to a motion vector that can be used by the subsequent units. Convert. The MV converter 121 supplies the converted motion vector to the moving object region detector 122 and the moving image processor 123.
  • the decoded image from the decoding unit 111 is input to the moving object region detector 122 and the moving image processor 123. Also, the image division information (hierarchical block division information) from the decoding unit 111 is input to the moving object region detector 122.
  • the moving object region detector 122 identifies the moving object region using the encoded information from the decoding unit 111, that is, the hierarchical block division information, the motion vector, and the decoded image information.
  • the CU / TU size to be selected when encoding HEVC is such that if the feature amount of the image is uniform, a large block is selected, and a small block size is used at locations where the image feature is not uniform, such as the object boundary. Tend to be selected.
  • the moving object region detector 122 performs region determination using this property of the HEVC stream.
  • the moving object region detector 122 creates a block size map indicating which position in the image is divided based on the CU size information obtained as the hierarchical block division information.
  • the moving object region detector 122 Based on the generated block size map information, the moving object region detector 122 identifies block positions divided into a predetermined size or less, and generates boundary position information of an object by connecting to neighboring small size blocks. . Then, the moving object region detector 122 performs labeling in units of objects (objects) by integrating the remaining blocks based on the generated boundary position information of the objects, and generates region information in units of objects.
  • the CU size is used as a base.
  • similar division can be performed using TU size information.
  • detection accuracy can be improved by using CU size information and TU size information.
  • the PU size is divided based on the motion information of the image as described above with reference to FIG. 3, it is possible to estimate the boundary of the region with different motion by looking at the PU size. Therefore, by performing similar image division using the PU size, it is possible to perform image division according to the uniformity of motion, and as a result, it is possible to perform region division for each moving object and non-moving object (still) It becomes possible. That is, in the case of the PU size, the moving object region is specified, and the moving object region information is generated.
  • the moving object region detector 122 specifies the moving object region by combining the above-described frame division information using the CU / TU / PU size alone or in combination, and the moving image region information is obtained from the specified moving object region information. To supply.
  • the moving image processor 123 performs noise reduction and frame number interpolation processing on the decoded image from the decoding unit 111 based on the information on the moving object region from the moving object region detector 122 and the motion vector from the MV converter 121. Alternatively, high image quality processing using intra-screen correlation such as super-resolution processing of a plurality of images is performed. The moving image processor 123 outputs a high-quality image as a result of the high-quality image processing to the outside.
  • FIG. 4 is a block diagram illustrating a configuration example of the decoding unit 111.
  • the decoding unit 111 includes a storage buffer 141, a lossless decoding unit 142, an inverse quantization unit 143, an inverse orthogonal transform unit 144, a calculation unit 145, a deblocking filter 146, an adaptive offset filter 147, and a screen arrangement.
  • a replacement buffer 148 is provided.
  • the decoding unit 111 includes a frame memory 150, a selection unit 151, an intra prediction unit 152, a motion compensation unit 153, and a predicted image selection unit 154.
  • Accumulation buffer 141 is also a receiving unit that receives transmitted encoded data.
  • the accumulation buffer 141 receives and accumulates the transmitted encoded data, and supplies the encoded data to the lossless decoding unit 142 at a predetermined timing.
  • Information necessary for decoding such as quadtree information, prediction mode information, motion vector information, macroblock information, and SAO parameters is added to the encoded data.
  • the lossless decoding unit 142 decodes the information supplied from the accumulation buffer 141 and encoded by a code side (not shown) by a decoding method corresponding to the encoding method.
  • the lossless decoding unit 142 supplies the quantized coefficient data of the difference image obtained by decoding to the inverse quantization unit 143.
  • the lossless decoding unit 142 determines whether the intra prediction mode is selected as the optimal prediction mode or the inter prediction mode is selected, and information on the optimal prediction mode is stored in the intra prediction unit 152 and the motion compensation unit 153. It is supplied to the mode determined to be selected. That is, for example, when the intra prediction mode is selected as the optimal prediction mode on the encoding side, information regarding the optimal prediction mode is supplied to the intra prediction unit 152. For example, when the inter prediction mode is selected as the optimal prediction mode on the encoding side, information regarding the optimal prediction mode is supplied to the motion compensation unit 153 together with the motion vector information.
  • the lossless decoding unit 142 for example, the parameters used in the above-described Quadtree information (hierarchical block division information), prediction mode information, motion vector information, macroblock information, and SAO (Sample adaptive offset) (hereinafter, referred to as adaptive offset filter).
  • the information necessary for the subsequent high image quality processing such as the SAO parameter is supplied to the image processing unit 112 in FIG.
  • the inverse quantization unit 143 inversely quantizes the quantized coefficient data obtained by decoding by the lossless decoding unit 142 by a method corresponding to the quantization method of the quantization unit on the encoding side.
  • the inverse quantization unit 143 is a processing unit similar to the encoding-side inverse quantization unit.
  • the inverse quantization unit 143 supplies the obtained coefficient data to the inverse orthogonal transform unit 144.
  • the inverse orthogonal transform unit 144 performs inverse orthogonal transform on the orthogonal transform coefficient supplied from the inverse quantization unit 143 by a method corresponding to the orthogonal transform method of the orthogonal transform unit on the encoding side, as necessary.
  • the inverse orthogonal transform unit 144 is a processing unit similar to the encoding side inverse orthogonal transform unit.
  • the image data of the difference image is restored by this inverse orthogonal transform process.
  • the restored image data of the difference image corresponds to the image data of the difference image before being orthogonally transformed in the image encoding device.
  • the image data of the restored difference image obtained by the inverse orthogonal transform process on the encoding side is also referred to as decoded residual data.
  • the inverse orthogonal transform unit 144 supplies the decoded residual data to the calculation unit 145.
  • the image data of the predicted image is supplied to the calculation unit 145 from the intra prediction unit 152 or the motion compensation unit 153 via the predicted image selection unit 154.
  • the calculating unit 145 uses the decoded residual data and the image data of the predicted image to obtain image data of a reconstructed image obtained by adding the difference image and the predicted image. This reconstructed image corresponds to the input image before the prediction image is subtracted by the encoding side.
  • the computing unit 145 supplies the reconstructed image to the deblocking filter 146.
  • the deblocking filter 146 removes block distortion by performing a deblocking filter process on the supplied reconstructed image.
  • the deblocking filter 146 supplies the filtered image to the adaptive offset filter 147.
  • the adaptive offset filter 147 performs an adaptive offset filter (SAO) process that mainly removes ringing on the deblocking filter processing result (decoded image from which block distortion has been removed) from the deblocking filter 146.
  • SAO adaptive offset filter
  • the adaptive offset filter 147 indicates the type of adaptive offset filter processing for each LCU (Largest Coding Unit) that is the maximum coding unit from the lossless decoding unit 142 (whether it is an edge offset mode or a band offset mode). Receive information and offset values.
  • the adaptive offset filter 147 performs the received type of adaptive offset filter processing on the image after the adaptive deblocking filter processing, using the received offset value. Then, the adaptive offset filter 147 supplies the image after the adaptive offset filter process (hereinafter referred to as a decoded image) to the screen rearrangement buffer 148 and the frame memory 150.
  • the decoded image output from the calculation unit 145 can be supplied to the screen rearrangement buffer 148 and the frame memory 150 without going through the deblocking filter 146 and the adaptive offset filter 147. That is, part or all of the filtering process by the deblocking filter 146 can be omitted. Further, an adaptive loop filter may be provided after the adaptive offset filter 147.
  • the adaptive offset filter 147 supplies the decoded image (or reconstructed image) as the filter processing result to the screen rearrangement buffer 148 and the frame memory 150.
  • the screen rearrangement buffer 148 rearranges the frame order of the decoded image. That is, the screen rearrangement buffer 148 rearranges the images of the frames rearranged in the encoding order by the encoding side in the original display order. That is, the screen rearrangement buffer 148 stores the image data of the decoded image of each frame supplied in the encoding order, reads the image data of the decoded image of each frame stored in the encoding order in the display order, The image is output to the image processing unit 112 in FIG.
  • the frame memory 150 stores the supplied decoded image, and uses the stored decoded image as a reference image at a predetermined timing or based on an external request such as the intra prediction unit 152 or the motion compensation unit 153.
  • the data is supplied to the intra prediction unit 152 and the motion compensation unit 153 via the selection unit 151.
  • the intra prediction mode information and the like are appropriately supplied from the lossless decoding unit 142 to the intra prediction unit 152.
  • the intra prediction unit 152 performs intra prediction in the intra prediction mode (optimum intra prediction mode) used in the intra prediction unit on the encoding side, and generates a predicted image.
  • the intra prediction unit 152 performs intra prediction using the image data of the reconstructed image supplied from the frame memory 150 via the selection unit 151. That is, the intra prediction unit 152 uses this reconstructed image as a reference image (neighboring pixels).
  • the intra prediction unit 152 supplies the generated predicted image to the predicted image selection unit 154.
  • the optimal motion prediction mode information, motion vector information, and the like are appropriately supplied from the lossless decoding unit 142 to the heel motion compensation unit 153.
  • the motion compensation unit 153 performs inter prediction using the decoded image (reference image) acquired from the frame memory 150 in the inter prediction mode (optimum inter prediction mode) indicated by the optimal prediction mode information acquired from the lossless decoding unit 142. Generate a predicted image.
  • the predicted image selection unit 154 supplies the prediction image supplied from the intra prediction unit 152 or the prediction image supplied from the motion compensation unit 153 to the calculation unit 145. Then, in the calculation unit 145, the predicted image and the decoded residual data (difference image information) from the inverse orthogonal transform unit 144 are added to obtain a reconstructed image.
  • FIG. 5 is a diagram illustrating an example of syntax of a CTU (Coding Tree Unit). In the figure showing the following syntax, the number at the left end of each line is a line number given for explanation.
  • CTU Coding Tree Unit
  • coding_quadtree is set in the CTU syntax.
  • FIG. 6 is a diagram illustrating an example of the syntax of coding_quadtree on the sixth line in FIG.
  • Spsplit_cu_flag is shown in the third line of FIG.
  • split_cu_flag 1, this indicates that this CU is divided into smaller CUs.
  • Coding As shown in the 8th to 18th lines in FIG. 6, the coding_quadtree is called recursively according to the division status. In the 19th line, coding_unit is set.
  • CU size can be parsed by referring to split_cu_flag in coding_quadtree of CTU set as above.
  • FIG. 7 is a diagram illustrating an example of the split_cu_flag semantics in the third row of FIG.
  • split_cu_flag [x0] [y0] When split_cu_flag [x0] [y0] does not exist, follow the steps below. -If log2CbSize is greater than MinCbLog2SizeY, the value of split_cu_flag [x0] [y0] is assumed to be equal to 1. -Otherwise, if log2CbSize is equal to MinCbLog2SizeY, the value of split_cu_flag [x0] [y0] is assumed to be equal to 0.
  • CtDepth [x] [y] indicates the depth of the coding block of the luminance block covering the position (x, y).
  • FIGS. 8 and 9 are diagrams illustrating an example of the syntax of CU (coding_unit) on the 19th line in FIG. 6 described above.
  • part_mode is set in the 13th line in FIG. 8.
  • transform_tree is set in the 67th line of FIG.
  • the PU size can be parsed by referring to the part_mode described below in the coding_unit in the coding_quadtree of the CTU set as described above.
  • FIG. 10 is a diagram illustrating an example of part_mode semantics in the 13th row of FIG.
  • part_mode indicates the current CU partitioning mode.
  • the semantic of part_mode depends on CuPredMode [x0] [y0].
  • Various PartMode and IntraSplitFlag are derived from the value of part_mode defined in the lower table in the figure.
  • part_mode is restricted as follows. When CuPredMode [x0] [y0] is equal to Mode_INTRA, part_mode is equal to 0 or 1. Otherwise, if CuPredMode [x0] [y0] is equal to Mode_IINTER, apply If log2CbSize is greater than MinCbLog2SizeY and amp_enabled_flag is equal to 1, part_mode is in the range 0-2 or in the range 4-7. Otherwise, if log2CbSize is greater than MinCbLog2SizeY and amp_enabled_flag is equal to 1 or log2CbSize is equal to 3, part_mode is included in the range 0-2. Otherwise, if log2CbSize is greater than 3 and less than or equal to MinCbLog2SizeY, the value of part_mode is included in the range 0-3.
  • PartMode is set to be PART_2N ⁇ 2N.
  • IntraSplitFlag is set to be 0.
  • PartMode is shown to be PART 2N ⁇ 2N.
  • CuPredMode [x0] [y0] is Mode_ INTER
  • part_mode is 1
  • IntraSplitFlag is 0, it is indicated that PartMode is PART 2N ⁇ N.
  • FIG. 11 is a diagram illustrating an example of the syntax of transform_tree on the 67th line in FIG. 9 described above.
  • split_transform_flag is set.
  • transform_tree is configured to be recursively called.
  • the TU size can be parsed by referring to the split_transform_flag described below in the transform_tree of the coding_unit in the coding_quadtree of the CTU set as described above.
  • FIG. 12 is a diagram illustrating an example of split_transform_flag semantics in the third row of FIG.
  • Split_transform_flag [x0] [y0] [trafoDepth] indicates whether one block is divided into four blocks in a vertical and horizontal size for transform coding.
  • the array index of x0, y0 indicates the position of (x0, y0) of the upper left luminance pixel of the block considered to be related to the upper left luminance pixel of the image.
  • the trafoDepth array index indicates the current division level of the coding block into blocks for transform coding purposes. trafoDepth is equal to 0 for blocks that match the coding block.
  • interSplitFlag is set equal to 1. -Otherwise, interSplitFlag is set equal to 0.
  • split_transform_flag [x0] [y0] [trafoDepth] When there is no split_transform_flag [x0] [y0] [trafoDepth], it is derived as follows. If one or more of the following states are true, split_transform_flag [x0] [y0] [trafoDepth] is assumed to be equal to 1. -Log2TrafoSize is larger than Log2MaxTrafoSize. IntraSplitFlag is equal to 1 and trafoDepth is equal to 0. InterSplitFlag is equal to 1. -Otherwise, the value of split_transform_flag [x0] [y0] [trafoDepth] is equal to 0.
  • FIG. 13 is a block diagram illustrating a configuration example of the moving object region detector of FIG. In the example of FIG. 13, an example in which PU partition information is input as hierarchical block partition information is shown.
  • the moving object region detector 122 is configured to include a boundary block determination unit 181, a labeling unit 182, and a moving object stationary determination unit 183.
  • the boundary block determination unit 181 receives the decoded image from the decoding unit 111 and PU partition information as hierarchical block partition information.
  • the boundary block determination unit 181 creates a block size map from the PU partition information, refers to the created map, and performs boundary block determination. That is, the boundary block determination unit 181 sets boundary initial values as boundary block determination, performs object boundary convergence determination, and updates object boundary information. Then, the boundary block determination unit 181 specifies a block on or adjacent to the boundary as a boundary (edge) block based on the object boundary information.
  • the boundary block determination unit 181 supplies the decoded image, the created block size map, and information on the identified boundary block to the labeling unit 182.
  • the labeling unit 182 integrates adjacent blocks in the image based on the boundary block specified by the boundary block determination unit 181, performs labeling in units of objects, and divides into regions in units of objects.
  • the labeling unit 182 outputs the decoded image and information on the area of each object to the moving object stillness determination unit 183.
  • the motion vector information from the MV converter 121 is input to the moving object stationary determination unit 183.
  • the moving body stationary determination unit 183 calculates an average value of motion vectors for each object region, and the region is a moving body region or a stationary region depending on whether or not the calculated average value of motion vectors is equal to or greater than a threshold value. Judge that there is.
  • the determination result by the moving object stationary determination unit 183 is supplied to the moving image processor 123 as moving object region information.
  • the boundary line is selected from the edge of each block divided by block division and its diagonal line.
  • the boundary line candidates are like a collection of minimum rectangles shown in B of FIG.
  • the cost is calculated, a boundary line that minimizes the energy is obtained, and used for the subsequent processing.
  • the edge boundary is obtained by setting the energy of the edge boundary and obtaining the boundary condition that minimizes the energy.
  • E int is defined as internal energy, and generally the length of the boundary line is applied. For example, the total value of the distance of the boundary line is used as E int .
  • E ext is defined as external energy. For example, a large energy is allocated to a boundary line adjacent to or passing through a large block, and a small energy is allocated to a boundary line adjacent to a small block.
  • the decoding unit 111 inputs a bit stream encoded according to the HEVC standard from the outside (not shown). In step S101, the decoding unit 111 decodes the input bit stream according to the HEVC standard. This decoding process will be described later with reference to FIG. The decoding unit 111 outputs the decoded image decoded in step S101 to the moving object region detector 122 and the moving image processor 123.
  • the decoding unit 111 outputs motion vector information, which is encoded information in the bitstream used for decoding, to the MV converter 121.
  • the decoding unit 111 outputs PU hierarchical block division information, which is encoded information in the bitstream used for decoding, to the moving object region detector 122.
  • step S102 the MV converter 121 normalizes the direction from the encoding order to the display order based on the motion vector information from the decoding unit 111, performs signal processing, and can use each unit in the subsequent stage. To a simple motion vector.
  • the MV converter 121 supplies the converted motion vector to the moving object region detector 122 and the moving image processor 123.
  • step S103 the moving object region detector 122 performs moving object region specifying processing using hierarchical block division information, motion vectors, decoded image information, and the like. This moving body region characteristic processing will be described later with reference to FIG.
  • step S103 the moving object region is specified, and information on the specified moving object region is supplied to the moving image processor 123.
  • step S104 the moving image processor 123 interpolates the number of frames for the decoded image from the decoding unit 111 based on the information on the moving object region from the moving region detector 122 and the motion vector from the MV converter 121. High image quality processing such as processing (high frame rate processing) and noise reduction is performed. The moving image processor 123 outputs a high-quality image as a result of the high-quality image processing to the outside.
  • step S121 the accumulation buffer 141 accumulates the transmitted bit stream (encoded data).
  • step S122 the lossless decoding unit 142 decodes the bit stream (encoded data) supplied from the accumulation buffer 141. That is, image data such as an I picture, a P picture, and a B picture encoded by the encoding side is decoded.
  • the lossless decoding unit 142 supplies necessary information among the various decoded information to the corresponding units.
  • the lossless decoding unit 142 is necessary for the subsequent image quality improvement processing such as the above-described hierarchical block division information, prediction mode information, motion vector information, macroblock information, and SAO parameters among various pieces of decoded information.
  • image quality improvement processing such as the above-described hierarchical block division information, prediction mode information, motion vector information, macroblock information, and SAO parameters among various pieces of decoded information.
  • step S123 the inverse quantization unit 143 inversely quantizes the quantized coefficient obtained by the process in step S122.
  • step S124 the inverse orthogonal transform unit 144 performs inverse orthogonal transform on the coefficient inversely quantized in step S123.
  • the intra prediction unit 152 or the motion compensation unit 153 performs a prediction process to generate a predicted image. That is, the prediction process is performed in the prediction mode that is determined in the lossless decoding unit 142 and applied at the time of encoding. More specifically, for example, when intra prediction is applied at the time of encoding, the intra prediction unit 152 generates a prediction image in the intra prediction mode optimized at the time of encoding. Further, for example, when inter prediction is applied at the time of encoding, the motion compensation unit 153 generates a prediction image in an inter prediction mode that is optimized at the time of encoding.
  • step S126 the calculation unit 145 adds the predicted image generated in step S125 to the difference image obtained by the inverse orthogonal transform in step S124. Thereby, image data of the reconstructed image is obtained.
  • step S127 the deblocking filter 146 performs deblocking filter processing on the image data of the reconstructed image obtained by the processing in step S126. Thereby, block distortion and the like are removed.
  • step S128, the adaptive offset filter 147 performs adaptive offset filter processing that mainly removes ringing on the deblocking filter processing result from the deblocking filter 146. At this time, the SAO parameter from the lossless decoding unit 142 is used.
  • step S129 the screen rearrangement buffer 148 rearranges each frame of the reconstructed image that has been subjected to the adaptive offset filter processing in step S128. That is, the order of frames rearranged at the time of encoding is rearranged in the original display order.
  • step S130 the screen rearrangement buffer 148 outputs the decoded image of each frame to the image processing unit 112 in FIG.
  • step S131 the frame memory 150 stores data such as a decoded image obtained by the process of step S128 and a reconstructed image obtained by the process of step S127.
  • step S131 When the process of step S131 is finished, the decoding process is finished, and the process returns to FIG.
  • the boundary block determination unit 181 receives the decoded image from the decoding unit 111 and PU partition information as hierarchical block partition information.
  • step S151 the boundary block determination unit 181 creates a block size map from the PU partition information. For example, as shown in FIG. 18A, a large block (for example, PU) is allocated to a region having uniform feature values such as sky and mountains, and a portion having a large local feature value change such as a ridge line of a mountain. , Tend to be allocated smaller blocks.
  • a large block for example, PU
  • PU uniform feature values
  • the boundary block determination unit 181 uses this property of the HEVC stream to create a block size map indicating which position in the image is divided from the PU division information. This makes it easy to understand the state of spatially adjacent blocks that were difficult to understand in the PU partition information.
  • step S152 the boundary block determination unit 181 sets an initial boundary value. For example, as shown in FIG. 18B, the frame image frame is set as the boundary. In the examples of FIGS. 18 and 19, a border with a thick line is shown.
  • step S153 the boundary block determination unit 181 updates the object boundary information. That is, the boundary block determination unit 181 performs the object boundary convergence process as the update of the object boundary information, and updates the object boundary information.
  • the boundary block determination unit 181 changes only one point of the boundary initial value set in S152 as shown by the thick line in the upper left of C in FIG. calculate. When there are a plurality of changeable locations, the location (boundary) with the largest energy reduction width is changed.
  • step S154 the boundary block determination unit 181 determines whether the boundary has converged. If the boundary line change candidate still exists and it is determined in step S154 that the boundary has not converged, the process returns to step S153, and the subsequent processes are repeated.
  • step S154 when there are no more boundary line change candidates and it is determined in step S154 that the boundary has converged, the process proceeds to step S155.
  • step S155 the boundary block determination unit 181 identifies, as a boundary block EB, a block on or adjacent to the boundary indicated by the bold line in FIG. 19B based on the object boundary information updated in step S153. To do.
  • the boundary block determination unit 181 supplies the decoded image, the created block size map, and information on the identified boundary block EB to the labeling unit 182.
  • step S156 the labeling unit 182 integrates adjacent blocks in the image based on the boundary block EB specified by the boundary block determination unit 181 and adds a label in units of objects. That is, as shown in the different types of hatching in FIG. 19C, labels are added to areas for each object.
  • the labeling unit 182 outputs the decoded image and information on the area of each object to the moving object stillness determination unit 183.
  • step S157 the moving object stillness determination unit 183 performs moving object / stillness determination.
  • the moving object stillness determination unit 183 calculates the average value of the motion vectors for each region of the object, and the region is determined as a moving object region or a still image depending on whether the calculated average value of the motion vectors is equal to or greater than a threshold value. It is determined that the area.
  • the determination result by the moving object stationary determination unit 183 is supplied to the moving image processor 123 as moving object region information.
  • the moving object region information is generated using the decoded encoded information and used for the image quality enhancement processing
  • the image quality enhancement processing can be performed efficiently and at low cost. it can.
  • the area detection and the image quality enhancement process can be performed with high accuracy.
  • image processing such as frame number interpolation processing
  • processing such as detecting an occlusion region that appears due to movement of an object as shown in FIG. 20, an object that is excessively deformed, etc., and limiting references from neighboring frames, etc. There are cases where this is necessary.
  • intra macroblocks In image coding, encoding using intra macroblocks is often performed on blocks for which motion prediction cannot be used effectively. That is, an intra macroblock is often selected and encoded by intra prediction in the background portion (that is, the occlusion area) after the object moves, the object that is excessively deformed, or immediately after the scene change.
  • an intra macroblock may be selected in a flat background area that does not include edges in addition to the occlusion and overdeformed areas. For example, if noise is superimposed on a flat part such as a white wall during shooting in a dark place, it is determined that intra-frame prediction is more advantageous in coding efficiency than inter-frame prediction due to the influence of noise, and intra Prediction may be used.
  • the occlusion and overdeformation are performed using the SAO parameters used in the SAO of the adaptive offset filter 147 shown in FIG. Detect areas.
  • SAO is used to suppress DC component errors and mosquito noise distortion around the decoded image.
  • modes There are two types (modes) of SAO, band offset and edge offset.
  • band offset is used for the purpose of correcting the DC component error on the decoded image as shown in FIG.
  • edge offset is used for the purpose of correcting mosquito noise generated around the edge as shown in FIG.
  • the macroblock type flag and the SAO mode flag are obtained from the bitstream, and the macroblock type is intra and the macroblock with the edge offset mode selected can be estimated to be an occlusion area or an overdeformed area. .
  • time domain processing such as frame number interpolation processing (high frame rate processing) may not be suitable for these areas. Therefore, by using these pieces of information, it can be set as a processing exclusion area for time axis processing. As a result, it is possible to prevent image corruption due to time axis processing.
  • FIG. 22 is a block diagram illustrating another configuration example of an image processing apparatus that uses encoded information.
  • the image processing apparatus 201 includes a decoding unit 111 and an image processing unit 211.
  • the image processing apparatus 201 includes the decoding unit 111 in common with the image processing apparatus 101 in FIG.
  • the image processing apparatus 201 is different from the image processing apparatus 101 in FIG. 2 in that the image processing unit 112 is replaced with the image processing unit 211.
  • the image processing unit 211 includes the MV converter 121 and the moving image processing unit 123 in common with the image processing unit 112 in FIG.
  • the image processing unit 211 is different from the image processing unit 112 in FIG. 2 in that the moving object region detector 122 is replaced with the region dividing unit 221.
  • the decoded image from the decoding unit 111 is input to the region dividing unit 221 and the moving image processor 123.
  • Decoded encoded information (stream data) from the decoding unit 111 is input to the region dividing unit 221.
  • the encoding information includes hierarchical block division information, macroblock type, SAO mode, and the like.
  • the converted motion vector from the MV converter 121 is supplied to the region dividing unit 221 and the moving image processor 123.
  • the region dividing unit 221 uses the encoding information (hierarchical block division information, macroblock type, SAO mode, etc.) from the decoding unit 111, the motion vector information from the MV converter 121, and the decoded image information, Determine the processing area.
  • the area dividing unit 221 supplies the determined area information to the moving image processor 123.
  • the area dividing unit 221 may have a macroblock type and an SAO mode as the encoding information.
  • the hierarchical block information and the motion vector are indispensable. Absent.
  • FIG. 23 is a block diagram illustrating a detailed configuration example of the area dividing unit in FIG.
  • the region dividing unit 221 includes an object boundary detector 231, a moving object region detector 122 of FIG. 2, a time axis processing non-adaptive region determiner 232, and a time axis processing region determiner 233. Has been.
  • the decoded image from the decoding unit 111 is input to the object boundary detector 231, the moving object region detector 122, and the time axis processing non-adaptive region determiner 232.
  • CU / TU partition information is input to the object boundary detector 231.
  • the PU partition information is input to the moving object region detector 122.
  • information on the macroblock type and the SAO mode is supplied to the time axis processing non-adaptive region determiner 232.
  • the object boundary detector 231 detects the boundary information of the object based on the decoded image and the CU / TU division information.
  • the object boundary detector 231 supplies boundary information of the detected object to the time axis processing region determiner 233.
  • the moving object region detector 122 is basically configured in the same manner as the moving object region detector 122 of FIG.
  • the moving object region detector 122 detects the boundary of the object based on the decoded image, the PU division information, and the motion vector information, and after the division for each region, performs the motion and stillness determination for each region to detect the moving object region. Do.
  • the moving body region information detected by the moving body region detector 122 is supplied to the time axis processing region determiner 233.
  • the time-axis processing non-adaptive region determiner 232 detects a region to which time-axis processing such as occlusion and over-deformed object cannot be applied based on the decoded image, macro book type, and SAO mode information.
  • the information determined by the time axis processing non-adaptive region determiner 232 is supplied to the time axis processing region determiner 233.
  • the time-axis processing region determiner 233 generates a final time-axis processing region map based on the object boundary information, the moving object region information, and the time-axis processing non-adaptive region information, and the generated region map information Is supplied to the moving image processor 123 of FIG.
  • the object boundary detector 231 and the moving object region detector 122 may be removed from the region dividing unit 221.
  • FIG. 24 is a block diagram illustrating a configuration example of the object boundary detector 231 in FIG. In the example of FIG. 24, an example in which CU / TU partition information is input as hierarchical block partition information is shown.
  • the object boundary detector 231 includes the boundary block determination unit 181 and the labeling unit 182 in common with the moving object region detector 122 of FIG.
  • the object boundary detector 231 has a point that the moving object stationary determination unit 183 is removed and that the hierarchical block division information input to the boundary block determination unit 181 is not PU division information but CU / TU division information. This is different from the moving object region detector 122 of FIG.
  • the boundary block determination unit 181 creates a block size map from the CU / TU partition information, refers to the created map, and performs boundary block determination. That is, the boundary block determination unit 181 sets boundary initial values as boundary block determination, performs object boundary convergence determination, and updates object boundary information. Then, the boundary block determination unit 181 specifies a block on or adjacent to the boundary as a boundary (edge) block based on the object boundary information.
  • the boundary block determination unit 181 supplies the decoded image, the created block size map, and information on the identified boundary block to the labeling unit 182.
  • the labeling unit 182 integrates adjacent blocks in the image based on the boundary block specified by the boundary block determination unit 181, performs labeling in units of objects, and divides into regions in units of objects.
  • the labeling unit 182 supplies the decoded image and information on the area of each object to the time axis processing area determiner 233.
  • the decoding unit 111 inputs a bit stream encoded according to the HEVC standard from the outside (not shown). In step S201, the decoding unit 111 decodes the input bit stream according to the HEVC standard. This decoding process is repeated because it performs basically the same process as the process described above with reference to FIG. The decoding unit 111 outputs the decoded image decoded in step S201 to the region dividing unit 221 and the moving image processor 123.
  • the decoding unit 111 outputs motion vector information, which is encoded information in the bitstream used for decoding, to the MV converter 121.
  • the decoding unit 111 outputs the encoded information (hierarchical block division information, macroblock type, SAO mode information, etc.) in the bitstream used for decoding to the region division unit 221.
  • step S202 the MV converter 121 normalizes the direction from the encoding order to the display order based on the motion vector information from the decoding unit 111, performs signal processing, and can use each unit in the subsequent stage. To a simple motion vector.
  • the MV converter 121 supplies the converted motion vector to the region dividing unit 221 and the moving image processor 123.
  • step S203 the region dividing unit 221 performs region dividing processing using the hierarchical block division information, the motion vector, the decoded image information, and the like. This area division processing will be described later with reference to FIG.
  • step S203 region division processing is performed, and information on the divided regions is supplied to the moving image processor 123.
  • step S ⁇ b> 204 the moving image processor 123 interpolates the number of frames for the decoded image from the decoding unit 111 based on the information on the divided area from the area dividing unit 221 and the motion vector from the MV converter 121. Apply high image quality processing such as processing and noise reduction.
  • the moving image processor 123 outputs a high-quality image as a result of the high-quality image processing to the outside.
  • step S203 in FIG. 25 will be described with reference to the flowchart in FIG. 26 and FIGS. 27 and 28.
  • FIG. 27 an example will be described in which some image quality enhancement processing is performed on frame n + 1 using information on frame n of a moving image in which two cars are running side by side.
  • the decoded image from the heel decoding unit 111 is input to the object boundary detector 231, the moving object region detector 122, and the time axis processing non-adaptive region determiner 232.
  • CU / TU partition information is input to the object boundary detector 231.
  • the PU partition information is input to the moving object region detector 122.
  • information on the macroblock type and the SAO mode is supplied to the time axis processing non-adaptive region determiner 232.
  • step S221 the object boundary detector 231 detects the boundary information of the object based on the decoded image and the CU / TU division information. This object boundary detection process will be described later with reference to FIG.
  • object boundary information is acquired from the decoded image of frame n + 1 using the CU / TU division information. For example, as shown in FIG. 28A, the boundary information of the object is acquired in units of object 1 (sign), object 2 (car), and object 3 (car). The acquired boundary information of the object is supplied to the time axis processing region determiner 233.
  • step S222 the moving object region detector 122 performs moving object region specifying processing using hierarchical block division information, motion vectors, decoded image information, and the like.
  • This moving object region specifying process is basically the same process as the process described above with reference to FIG.
  • step S222 boundary information of a region having uniform motion is detected from the decoded image of frame n + 1 using the PU division information and the motion vector. For example, as shown in FIG. 28B, the image is divided into a still area and a moving object area. The information on the identified moving object region is supplied to the time axis processing region determiner 233 through step S222.
  • step S223 the time-axis processing non-adaptive region determiner 232 detects a region where time-axis processing cannot be applied, such as an occlusion or an over-deformed region, from the decoded image based on the macro book type and SAO mode information.
  • This time axis process non-adaptive area detection process will be described later with reference to FIG. From step S223, as shown in FIG. 28C, it is possible to detect an occlusion area or the like that appears due to the movement of the vehicle in the frame N + 1.
  • the occlusion and overdeformed region information detected by the time axis processing non-adaptive region determiner 232 is supplied to the time axis processing region determiner 233 as information on the time axis processing non-adaptive region.
  • step S224 the time axis processing region determiner 233 determines a final time axis processing region based on the object boundary information, the moving object region information, and the time axis processing non-adaptive region information. Generate a region map for adaptive region determination.
  • the information of the area map generated in step S224 is supplied to the moving image processor 123 in FIG.
  • the time axis processing can be prohibited in the processing exclusion area, so that it is possible to prevent image failure due to the time axis processing.
  • steps S241 through S245 in FIG. 29 perform basically the same processing as steps S151 through S156 in FIG.
  • step S245 a label is added to the area for each object, and information on the area of each object to which the label is added is supplied to the time axis processing area determiner 233.
  • step S261 the time axis processing non-adaptive region determiner 232 determines whether or not the macroblock type from the decoding unit 111 is an intra macroblock. If it is determined in step S261 that the block is an intra macroblock, the process proceeds to step S262.
  • step S262 the time axis processing non-adaptive region determiner 232 determines whether the SAO mode from the decoding unit 111 is the edge offset mode. If it is determined in step S262 that the edge offset mode is set, the process proceeds to step S263.
  • step S263 the time-axis processing non-adaptive region determiner 232 assumes that the macroblock is an occlusion and overdeformed region.
  • step S261 if it is determined in step S261 that the macro block is not an intra macro block, that is, an inter macro block, the process proceeds to step S264. If it is determined in step S262 that the SAO mode is not the edge offset mode, that is, the band offset mode, the process proceeds to step S264.
  • step S264 the time axis processing non-adaptive region determiner 232 assumes that the macroblock is a time processing applicable region.
  • time axis processing region determiner 233 has only determined the time processing non-adaptive region in step S224, but also determines other regions and supplies information on the determined region. Can do.
  • step S281 the time axis processing region determiner 233 combines the object boundary information from the object boundary detector 231 and the moving object region information from the moving object region detector 122. That is, with respect to the boundary information of the object detected by the CU / TU, the division of the moving object area detected from the PU and the motion vector is referred to, and as shown in FIG. ), Assign a stationary object (stationary object).
  • step S282 the time axis processing region determiner 233 overwrites the time processing non-adaptive region from the time axis processing non-adaptive region determiner 232 with respect to the region information synthesized in step S281.
  • a time processing region map divided into a moving object region for each object, a stationary object region for each object, and a non-adaptive time processing region is generated.
  • the generated time processing area map is supplied to the moving image processor 123.
  • frame number interpolation processing high frame rate processing
  • the moving image processor 123 in addition to the standard high image quality processing, depending on the result of the divided areas, as shown in FIG. Processing is applied.
  • the moving image processor 123 applies an interpolation process considering the movement of each moving object.
  • the moving image processor 123 does not perform interpolation processing in the time direction.
  • the region is a time processing non-adaptive process, a process for avoiding a failure is applied.
  • the encoding method in the decoder is not limited to the HEVC standard.
  • the present technology can be applied to, for example, a coding method having a hierarchical structure and using coding parameters used when coding by a coding method that performs filtering such as edge offset and band offset.
  • the series of processes described above can be executed by hardware or can be executed by software.
  • a program constituting the software is installed in the computer.
  • the computer includes, for example, a general-purpose personal computer capable of executing various functions by installing various programs by installing a computer incorporated in dedicated hardware.
  • FIG. 34 is a block diagram showing an example of the hardware configuration of a computer that executes the above-described series of processing by a program.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • an input / output interface 805 is connected to the bus 804.
  • An input unit 806, an output unit 807, a storage unit 808, a communication unit 809, and a drive 810 are connected to the input / output interface 805.
  • the input unit 806 includes a keyboard, a mouse, a microphone, and the like.
  • the output unit 807 includes a display, a speaker, and the like.
  • the storage unit 808 includes a hard disk, a nonvolatile memory, and the like.
  • the communication unit 809 includes a network interface or the like.
  • the drive 810 drives a removable recording medium 811 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 801 loads the program stored in the storage unit 808 to the RAM 803 via the input / output interface 805 and the bus 804 and executes the program, for example. Is performed.
  • the program executed by the computer 800 can be provided by being recorded in a removable recording medium 811 as a package medium or the like, for example.
  • the program can be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
  • the program can be installed in the storage unit 808 via the input / output interface 805 by attaching the removable recording medium 811 to the drive 810.
  • the program can be received by the communication unit 809 via a wired or wireless transmission medium and installed in the storage unit 808.
  • the program can be installed in the ROM 802 or the storage unit 808 in advance.
  • the program executed by the computer may be a program that is processed in time series in the order described in this specification, or in parallel or at a necessary timing such as when a call is made. It may be a program for processing.
  • the step of describing the program recorded on the recording medium is not limited to the processing performed in chronological order according to the described order, but may be performed in parallel or It also includes processes that are executed individually.
  • system represents the entire apparatus composed of a plurality of devices (apparatuses).
  • the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units).
  • the configurations described above as a plurality of devices (or processing units) may be combined into a single device (or processing unit).
  • a configuration other than that described above may be added to the configuration of each device (or each processing unit).
  • a part of the configuration of a certain device (or processing unit) may be included in the configuration of another device (or other processing unit). . That is, the present technology is not limited to the above-described embodiment, and various modifications can be made without departing from the gist of the present technology.
  • the present technology can take a configuration of cloud computing in which one function is shared by a plurality of devices via a network and is jointly processed.
  • each step described in the above flowchart can be executed by one device or can be shared by a plurality of devices.
  • the plurality of processes included in the one step can be executed by being shared by a plurality of apparatuses in addition to being executed by one apparatus.
  • An image encoding device and an image decoding device include a transmitter or a receiver in optical broadcasting, satellite broadcasting, cable broadcasting such as cable TV, distribution on the Internet, and distribution to terminals by cellular communication, etc.
  • the present invention can be applied to various electronic devices such as a recording device that records an image on a medium such as a magnetic disk and a flash memory, or a playback device that reproduces an image from these storage media.
  • a recording device that records an image on a medium such as a magnetic disk and a flash memory
  • a playback device that reproduces an image from these storage media.
  • FIG. 35 illustrates an example of a schematic configuration of a television device to which the above-described embodiment is applied.
  • the television apparatus 900 includes an antenna 901, a tuner 902, a demultiplexer 903, a decoder 904, a video signal processing unit 905, a display unit 906, an audio signal processing unit 907, a speaker 908, an external interface 909, a control unit 910, a user interface 911, And a bus 912.
  • Tuner 902 extracts a signal of a desired channel from a broadcast signal received via antenna 901, and demodulates the extracted signal. Then, the tuner 902 outputs the encoded bit stream obtained by the demodulation to the demultiplexer 903. In other words, the tuner 902 serves as a transmission unit in the television apparatus 900 that receives an encoded stream in which an image is encoded.
  • the demultiplexer 903 separates the video stream and audio stream of the viewing target program from the encoded bit stream, and outputs each separated stream to the decoder 904. Further, the demultiplexer 903 extracts auxiliary data such as EPG (Electronic Program Guide) from the encoded bit stream, and supplies the extracted data to the control unit 910. Note that the demultiplexer 903 may perform descrambling when the encoded bit stream is scrambled.
  • EPG Electronic Program Guide
  • the decoder 904 decodes the video stream and audio stream input from the demultiplexer 903. Then, the decoder 904 outputs the video data generated by the decoding process to the video signal processing unit 905. In addition, the decoder 904 outputs audio data generated by the decoding process to the audio signal processing unit 907.
  • the video signal processing unit 905 reproduces the video data input from the decoder 904 and causes the display unit 906 to display the video.
  • the video signal processing unit 905 may cause the display unit 906 to display an application screen supplied via a network.
  • the video signal processing unit 905 may perform additional processing such as noise removal (suppression) on the video data according to the setting.
  • the video signal processing unit 905 may generate a GUI (Graphical User Interface) image such as a menu, a button, or a cursor, and superimpose the generated image on the output image.
  • GUI Graphic User Interface
  • the display unit 906 is driven by a drive signal supplied from the video signal processing unit 905, and displays an image on a video screen of a display device (for example, a liquid crystal display, a plasma display, or an OELD (Organic ElectroLuminescence Display) (organic EL display)). Or an image is displayed.
  • a display device for example, a liquid crystal display, a plasma display, or an OELD (Organic ElectroLuminescence Display) (organic EL display)). Or an image is displayed.
  • the audio signal processing unit 907 performs reproduction processing such as D / A conversion and amplification on the audio data input from the decoder 904, and outputs audio from the speaker 908.
  • the audio signal processing unit 907 may perform additional processing such as noise removal (suppression) on the audio data.
  • the external interface 909 is an interface for connecting the television apparatus 900 to an external device or a network.
  • a video stream or an audio stream received via the external interface 909 may be decoded by the decoder 904. That is, the external interface 909 also has a role as a transmission unit in the television apparatus 900 that receives an encoded stream in which an image is encoded.
  • the control unit 910 includes a processor such as a CPU and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, EPG data, data acquired via a network, and the like.
  • the program stored in the memory is read and executed by the CPU when the television apparatus 900 is activated.
  • the CPU executes the program to control the operation of the television device 900 according to an operation signal input from the user interface 911, for example.
  • the user interface 911 is connected to the control unit 910.
  • the user interface 911 includes, for example, buttons and switches for the user to operate the television device 900, a remote control signal receiving unit, and the like.
  • the user interface 911 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 910.
  • the bus 912 connects the tuner 902, the demultiplexer 903, the decoder 904, the video signal processing unit 905, the audio signal processing unit 907, the external interface 909, and the control unit 910 to each other.
  • the decoder 904 has a function of an image processing apparatus that uses the encoded information according to the above-described embodiment. As a result, when the image is decoded by the television apparatus 900, the image quality enhancement process can be performed efficiently.
  • FIG. 36 shows an example of a schematic configuration of a mobile phone to which the above-described embodiment is applied.
  • a cellular phone 920 includes an antenna 921, a communication unit 922, an audio codec 923, a speaker 924, a microphone 925, a camera unit 926, an image processing unit 927, a demultiplexing unit 928, a recording / reproducing unit 929, a display unit 930, a control unit 931, an operation A portion 932 and a bus 933.
  • the antenna 921 is connected to the communication unit 922.
  • the speaker 924 and the microphone 925 are connected to the audio codec 923.
  • the operation unit 932 is connected to the control unit 931.
  • the bus 933 connects the communication unit 922, the audio codec 923, the camera unit 926, the image processing unit 927, the demultiplexing unit 928, the recording / reproducing unit 929, the display unit 930, and the control unit 931 to each other.
  • the mobile phone 920 has various operation modes including a voice call mode, a data communication mode, a shooting mode, and a videophone mode, and is used for sending and receiving voice signals, sending and receiving e-mail or image data, taking images, and recording data. Perform the action.
  • the analog voice signal generated by the microphone 925 is supplied to the voice codec 923.
  • the audio codec 923 converts an analog audio signal into audio data, A / D converts the compressed audio data, and compresses it. Then, the audio codec 923 outputs the compressed audio data to the communication unit 922.
  • the communication unit 922 encodes and modulates the audio data and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921. In addition, the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • the communication unit 922 demodulates and decodes the received signal to generate audio data, and outputs the generated audio data to the audio codec 923.
  • the audio codec 923 decompresses the audio data and performs D / A conversion to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
  • the control unit 931 generates character data constituting the e-mail in response to an operation by the user via the operation unit 932.
  • the control unit 931 causes the display unit 930 to display characters.
  • the control unit 931 generates e-mail data in response to a transmission instruction from the user via the operation unit 932, and outputs the generated e-mail data to the communication unit 922.
  • the communication unit 922 encodes and modulates email data and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
  • the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • the communication unit 922 demodulates and decodes the received signal to restore the email data, and outputs the restored email data to the control unit 931.
  • the control unit 931 displays the content of the electronic mail on the display unit 930 and stores the electronic mail data in the storage medium of the recording / reproducing unit 929.
  • the recording / reproducing unit 929 has an arbitrary readable / writable storage medium.
  • the storage medium may be a built-in storage medium such as a RAM or a flash memory, or an externally mounted type such as a hard disk, magnetic disk, magneto-optical disk, optical disk, USB (Universal Serial Bus) memory, or memory card. It may be a storage medium.
  • the camera unit 926 images a subject to generate image data, and outputs the generated image data to the image processing unit 927.
  • the image processing unit 927 encodes the image data input from the camera unit 926 and stores the encoded stream in the storage medium of the storage / playback unit 929.
  • the demultiplexing unit 928 multiplexes the video stream encoded by the image processing unit 927 and the audio stream input from the audio codec 923, and the multiplexed stream is the communication unit 922. Output to.
  • the communication unit 922 encodes and modulates the stream and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
  • the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • These transmission signal and reception signal may include an encoded bit stream.
  • the communication unit 922 demodulates and decodes the received signal to restore the stream, and outputs the restored stream to the demultiplexing unit 928.
  • the demultiplexing unit 928 separates the video stream and the audio stream from the input stream, and outputs the video stream to the image processing unit 927 and the audio stream to the audio codec 923.
  • the image processing unit 927 decodes the video stream and generates video data.
  • the video data is supplied to the display unit 930, and a series of images is displayed on the display unit 930.
  • the audio codec 923 decompresses the audio stream and performs D / A conversion to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
  • the image processing unit 927 has a function of an image processing apparatus having a motion detector according to the above-described embodiment and an image processing apparatus using encoded information.
  • high-quality image processing can be efficiently performed when the mobile phone 920 encodes and decodes an image.
  • FIG. 37 shows an example of a schematic configuration of a recording / reproducing apparatus to which the above-described embodiment is applied.
  • the recording / reproducing device 940 encodes audio data and video data of a received broadcast program and records the encoded data on a recording medium.
  • the recording / reproducing device 940 may encode audio data and video data acquired from another device and record them on a recording medium, for example.
  • the recording / reproducing device 940 reproduces data recorded on the recording medium on a monitor and a speaker, for example, in accordance with a user instruction. At this time, the recording / reproducing device 940 decodes the audio data and the video data.
  • the recording / reproducing apparatus 940 includes a tuner 941, an external interface 942, an encoder 943, an HDD (Hard Disk Drive) 944, a disk drive 945, a selector 946, a decoder 947, an OSD (On-Screen Display) 948, a control unit 949, and a user interface. 950.
  • Tuner 941 extracts a signal of a desired channel from a broadcast signal received via an antenna (not shown), and demodulates the extracted signal. Then, the tuner 941 outputs the encoded bit stream obtained by the demodulation to the selector 946. That is, the tuner 941 has a role as a transmission unit in the recording / reproducing apparatus 940.
  • the external interface 942 is an interface for connecting the recording / reproducing apparatus 940 to an external device or a network.
  • the external interface 942 may be, for example, an IEEE1394 interface, a network interface, a USB interface, or a flash memory interface.
  • video data and audio data received via the external interface 942 are input to the encoder 943. That is, the external interface 942 serves as a transmission unit in the recording / reproducing device 940.
  • the encoder 943 encodes video data and audio data when the video data and audio data input from the external interface 942 are not encoded. Then, the encoder 943 outputs the encoded bit stream to the selector 946.
  • the HDD 944 records an encoded bit stream in which content data such as video and audio is compressed, various programs, and other data on an internal hard disk. Further, the HDD 944 reads out these data from the hard disk when reproducing video and audio.
  • the disk drive 945 performs recording and reading of data to and from the mounted recording medium.
  • the recording medium mounted on the disk drive 945 is, for example, a DVD disk (DVD-Video, DVD-RAM, DVD-R, DVD-RW, DVD + R, DVD + RW, etc.) or a Blu-ray (registered trademark) disk. It may be.
  • the selector 946 selects an encoded bit stream input from the tuner 941 or the encoder 943 when recording video and audio, and outputs the selected encoded bit stream to the HDD 944 or the disk drive 945. In addition, the selector 946 outputs the encoded bit stream input from the HDD 944 or the disk drive 945 to the decoder 947 during video and audio reproduction.
  • the decoder 947 decodes the encoded bit stream and generates video data and audio data. Then, the decoder 947 outputs the generated video data to the OSD 948. The decoder 904 outputs the generated audio data to an external speaker.
  • OSD 948 reproduces the video data input from the decoder 947 and displays the video. Further, the OSD 948 may superimpose a GUI image such as a menu, a button, or a cursor on the video to be displayed.
  • the control unit 949 includes a processor such as a CPU and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, and the like.
  • the program stored in the memory is read and executed by the CPU when the recording / reproducing apparatus 940 is activated, for example.
  • the CPU controls the operation of the recording / reproducing apparatus 940 in accordance with an operation signal input from the user interface 950, for example, by executing the program.
  • the user interface 950 is connected to the control unit 949.
  • the user interface 950 includes, for example, buttons and switches for the user to operate the recording / reproducing device 940, a remote control signal receiving unit, and the like.
  • the user interface 950 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 949.
  • the encoder 943 has the function of an image processing apparatus having the motion detector according to the above-described embodiment.
  • the decoder 947 has the function of the image decoding apparatus according to the above-described embodiment.
  • FIG. 38 illustrates an example of a schematic configuration of an imaging apparatus to which the above-described embodiment is applied.
  • the imaging device 960 images a subject to generate an image, encodes the image data, and records it on a recording medium.
  • the imaging device 960 includes an optical block 961, an imaging unit 962, a signal processing unit 963, an image processing unit 964, a display unit 965, an external interface 966, a memory 967, a media drive 968, an OSD 969, a control unit 970, a user interface 971, and a bus. 972.
  • the optical block 961 is connected to the imaging unit 962.
  • the imaging unit 962 is connected to the signal processing unit 963.
  • the display unit 965 is connected to the image processing unit 964.
  • the user interface 971 is connected to the control unit 970.
  • the bus 972 connects the image processing unit 964, the external interface 966, the memory 967, the media drive 968, the OSD 969, and the control unit 970 to each other.
  • the optical block 961 includes a focus lens and a diaphragm mechanism.
  • the optical block 961 forms an optical image of the subject on the imaging surface of the imaging unit 962.
  • the imaging unit 962 includes an image sensor such as a CCD (Charge-Coupled Device) or a CMOS (Complementary Metal-Oxide Semiconductor), and converts an optical image formed on the imaging surface into an image signal as an electrical signal by photoelectric conversion. Then, the imaging unit 962 outputs the image signal to the signal processing unit 963.
  • CCD Charge-Coupled Device
  • CMOS Complementary Metal-Oxide Semiconductor
  • the signal processing unit 963 performs various camera signal processing such as knee correction, gamma correction, and color correction on the image signal input from the imaging unit 962.
  • the signal processing unit 963 outputs the image data after the camera signal processing to the image processing unit 964.
  • the image processing unit 964 encodes the image data input from the signal processing unit 963 and generates encoded data. Then, the image processing unit 964 outputs the generated encoded data to the external interface 966 or the media drive 968. The image processing unit 964 also decodes encoded data input from the external interface 966 or the media drive 968 to generate image data. Then, the image processing unit 964 outputs the generated image data to the display unit 965. In addition, the image processing unit 964 may display the image by outputting the image data input from the signal processing unit 963 to the display unit 965. Further, the image processing unit 964 may superimpose display data acquired from the OSD 969 on an image output to the display unit 965.
  • the OSD 969 generates a GUI image such as a menu, a button, or a cursor, and outputs the generated image to the image processing unit 964.
  • the external interface 966 is configured as a USB input / output terminal, for example.
  • the external interface 966 connects the imaging device 960 and a printer, for example, when printing an image.
  • a drive is connected to the external interface 966 as necessary.
  • a removable medium such as a magnetic disk or an optical disk is attached to the drive, and a program read from the removable medium can be installed in the imaging device 960.
  • the external interface 966 may be configured as a network interface connected to a network such as a LAN or the Internet. That is, the external interface 966 has a role as a transmission unit in the imaging device 960.
  • the recording medium mounted on the media drive 968 may be any readable / writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory.
  • a recording medium may be fixedly mounted on the media drive 968, and a non-portable storage unit such as an internal hard disk drive or an SSD (Solid State Drive) may be configured.
  • the control unit 970 includes a processor such as a CPU and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, and the like.
  • the program stored in the memory is read and executed by the CPU when the imaging device 960 is activated, for example.
  • the CPU controls the operation of the imaging device 960 according to an operation signal input from the user interface 971 by executing the program.
  • the user interface 971 is connected to the control unit 970.
  • the user interface 971 includes, for example, buttons and switches for the user to operate the imaging device 960.
  • the user interface 971 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 970.
  • the image processing unit 964 has a function of an image processing apparatus having the motion detector according to the above-described embodiment and an image processing apparatus using encoded information. Accordingly, the image quality enhancement process can be efficiently performed when the image capturing apparatus 960 encodes and decodes an image.
  • FIG. 39 illustrates an example of a schematic configuration of a video set to which the present technology is applied.
  • the video set 1300 shown in FIG. 39 has such a multi-functional configuration, and a device having a function relating to image encoding and decoding (either or both of them) can be used for the function. It is a combination of devices having other related functions.
  • the video set 1300 includes a module group such as a video module 1311, an external memory 1312, a power management module 1313, and a front-end module 1314, and an associated module 1321, a camera 1322, a sensor 1323, and the like. And a device having a function.
  • a cocoon module is a component that has several functions that are related to each other and that have a coherent function.
  • the specific physical configuration is arbitrary. For example, a plurality of processors each having a function, electronic circuit elements such as resistors and capacitors, and other devices arranged on a wiring board or the like can be considered. . It is also possible to combine the module with another module, a processor, or the like to form a new module.
  • the video module 1311 is a combination of configurations having functions related to image processing, and includes an application processor, a video processor, a broadband modem 1333, and an RF module 1334.
  • the processor is a configuration in which a configuration having a predetermined function is integrated on a semiconductor chip by an SoC (System On Chip), and for example, there is also a system LSI (Large Scale Integration) or the like.
  • the configuration having the predetermined function may be a logic circuit (hardware configuration), a CPU, a ROM, a RAM, and the like, and a program (software configuration) executed using them. , Or a combination of both.
  • a processor has a logic circuit and a CPU, ROM, RAM, etc., a part of the function is realized by a logic circuit (hardware configuration), and other functions are executed by the CPU (software configuration) It may be realized by.
  • An application processor 1331 in FIG. 39 is a processor that executes an application related to image processing.
  • the application executed in the application processor 1331 not only performs arithmetic processing to realize a predetermined function, but also can control the internal and external configurations of the video module 1311 such as the video processor 1332 as necessary. .
  • the video processor 1332 is a processor having a function related to image encoding / decoding (one or both of them).
  • the broadband modem 1333 is a processor (or module) that performs processing related to wired or wireless (or both) broadband communication performed via a broadband line such as the Internet or a public telephone line network.
  • the broadband modem 1333 digitally modulates data to be transmitted (digital signal) to convert it into an analog signal, or demodulates the received analog signal to convert it into data (digital signal).
  • the broadband modem 1333 can digitally modulate and demodulate arbitrary information such as image data processed by the video processor 1332, a stream obtained by encoding the image data, an application program, setting data, and the like.
  • the RF module 1334 is a module that performs frequency conversion, modulation / demodulation, amplification, filter processing, and the like on an RF (Radio RF Frequency) signal transmitted and received via an antenna. For example, the RF module 1334 generates an RF signal by performing frequency conversion or the like on the baseband signal generated by the broadband modem 1333. Further, for example, the RF module 1334 generates a baseband signal by performing frequency conversion or the like on the RF signal received via the front end module 1314.
  • RF Radio RF Frequency
  • the application processor 1331 and the video processor 1332 may be integrated into a single processor.
  • the external memory 1312 is a module having a storage device that is provided outside the video module 1311 and is used by the video module 1311.
  • the storage device of the external memory 1312 may be realized by any physical configuration, but is generally used for storing a large amount of data such as image data in units of frames. For example, it is desirable to realize it with a relatively inexpensive and large-capacity semiconductor memory such as DRAM (Dynamic Random Access Memory).
  • the power management module 1313 manages and controls power supply to the video module 1311 (each component in the video module 1311).
  • the front end module 1314 is a module that provides the RF module 1334 with a front end function (a circuit on a transmitting / receiving end on the antenna side). As illustrated in FIG. 39, the front end module 1314 includes, for example, an antenna unit 1351, a filter 1352, and an amplification unit 1353.
  • Antenna unit 1351 has an antenna for transmitting and receiving a radio signal and its peripheral configuration.
  • the antenna unit 1351 transmits the signal supplied from the amplification unit 1353 as a radio signal, and supplies the received radio signal to the filter 1352 as an electric signal (RF signal).
  • the filter 1352 performs a filtering process on the RF signal received via the antenna unit 1351 and supplies the processed RF signal to the RF module 1334.
  • the amplifying unit 1353 amplifies the RF signal supplied from the RF module 1334 and supplies the amplified RF signal to the antenna unit 1351.
  • Connectivity 1321 is a module having a function related to connection with the outside.
  • the physical configuration of the connectivity 1321 is arbitrary.
  • the connectivity 1321 has a configuration having a communication function other than the communication standard supported by the broadband modem 1333, an external input / output terminal, and the like.
  • the communication 1321 is compliant with wireless communication standards such as Bluetooth (registered trademark), IEEE 802.11 (for example, Wi-Fi (Wireless Fidelity, registered trademark)), NFC (Near Field Communication), IrDA (InfraRed Data Association), etc. You may make it have a module which has a function, an antenna etc. which transmit / receive the signal based on the standard.
  • the connectivity 1321 has a module having a communication function compliant with a wired communication standard such as USB (Universal Serial Bus), HDMI (registered trademark) (High-Definition Multimedia Interface), or a terminal compliant with the standard. You may do it.
  • the connectivity 1321 may have other data (signal) transmission functions such as analog input / output terminals.
  • the connectivity 1321 may include a data (signal) transmission destination device.
  • the drive 1321 reads and writes data to and from a recording medium such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory (not only a removable medium drive, but also a hard disk, SSD (Solid State Drive) NAS (including Network Attached Storage) and the like.
  • the connectivity 1321 may include an image or audio output device (a monitor, a speaker, or the like).
  • the eyelid camera 1322 is a module having a function of capturing an image of a subject and obtaining image data of the subject.
  • Image data obtained by imaging by the camera 1322 is supplied to, for example, a video processor 1332 and encoded.
  • the sensor 1323 includes, for example, a voice sensor, an ultrasonic sensor, an optical sensor, an illuminance sensor, an infrared sensor, an image sensor, a rotation sensor, an angle sensor, an angular velocity sensor, a velocity sensor, an acceleration sensor, an inclination sensor, a magnetic identification sensor, an impact sensor, It is a module having an arbitrary sensor function such as a temperature sensor.
  • the data detected by the sensor 1323 is supplied to the application processor 1331 and used by an application or the like.
  • the configuration described above as a module may be realized as a processor, or conversely, the configuration described as a processor may be realized as a module.
  • the present technology can be applied to the video processor 1332 as described later. Therefore, the video set 1300 can be implemented as a set to which the present technology is applied.
  • FIG. 40 illustrates an example of a schematic configuration of a video processor 1332 (FIG. 39) to which the present technology is applied.
  • the video processor 1332 receives the video signal and the audio signal, encodes them in a predetermined method, decodes the encoded video data and audio data, A function of reproducing and outputting an audio signal.
  • the video processor 1332 includes a video input processing unit 1401, a first image enlargement / reduction unit 1402, a second image enlargement / reduction unit 1403, a video output processing unit 1404, a frame memory 1405, and a memory control unit 1406.
  • the video processor 1332 includes an encoding / decoding engine 1407, video ES (ElementaryElementStream) buffers 1408A and 1408B, and audio ES buffers 1409A and 1409B.
  • the video processor 1332 includes an audio encoder 1410, an audio decoder 1411, a multiplexing unit (MUX (Multiplexer)) 1412, a demultiplexing unit (DMUX (Demultiplexer)) 1413, and a stream buffer 1414.
  • MUX Multiplexing unit
  • DMUX Demultiplexer
  • the video input processing unit 1401 acquires a video signal input from, for example, the connectivity 1321 (FIG. 39) and converts it into digital image data.
  • the first image enlargement / reduction unit 1402 performs format conversion, image enlargement / reduction processing, and the like on the image data.
  • the second image enlargement / reduction unit 1403 performs image enlargement / reduction processing on the image data in accordance with the format of the output destination via the video output processing unit 1404, or is the same as the first image enlargement / reduction unit 1402. Format conversion and image enlargement / reduction processing.
  • the video output processing unit 1404 performs format conversion, conversion to an analog signal, and the like on the image data and outputs the reproduced video signal to, for example, the connectivity 1321 (FIG. 39).
  • the frame memory 1405 is a memory for image data shared by the video input processing unit 1401, the first image scaling unit 1402, the second image scaling unit 1403, the video output processing unit 1404, and the encoding / decoding engine 1407. .
  • the frame memory 1405 is realized as a semiconductor memory such as a DRAM, for example.
  • the memory control unit 1406 receives the synchronization signal from the encoding / decoding engine 1407, and controls the writing / reading access to the frame memory 1405 according to the access schedule to the frame memory 1405 written in the access management table 1406A.
  • the access management table 1406A is updated by the memory control unit 1406 in accordance with processing executed by the encoding / decoding engine 1407, the first image enlargement / reduction unit 1402, the second image enlargement / reduction unit 1403, and the like.
  • the encoding / decoding engine 1407 performs encoding processing of image data and decoding processing of a video stream that is data obtained by encoding the image data. For example, the encoding / decoding engine 1407 encodes the image data read from the frame memory 1405 and sequentially writes the data as a video stream in the video ES buffer 1408A. Further, for example, the video stream is sequentially read from the video ES buffer 1408B, decoded, and sequentially written in the frame memory 1405 as image data.
  • the encoding / decoding engine 1407 uses the frame memory 1405 as a work area in the encoding and decoding. Also, the encoding / decoding engine 1407 outputs a synchronization signal to the memory control unit 1406, for example, at a timing at which processing for each macroblock is started.
  • the video ES buffer 1408A buffers the video stream generated by the encoding / decoding engine 1407 and supplies the buffered video stream to the multiplexing unit (MUX) 1412.
  • the video ES buffer 1408B buffers the video stream supplied from the demultiplexer (DMUX) 1413 and supplies the buffered video stream to the encoding / decoding engine 1407.
  • the audio ES buffer 1409A buffers the audio stream generated by the audio encoder 1410 and supplies the buffered audio stream to the multiplexing unit (MUX) 1412.
  • the audio ES buffer 1409B buffers the audio stream supplied from the demultiplexer (DMUX) 1413 and supplies the buffered audio stream to the audio decoder 1411.
  • the audio encoder 1410 converts, for example, an audio signal input from the connectivity 1321 (FIG. 39), for example, into a digital format, and encodes the audio signal according to a predetermined method such as an MPEG audio method or an AC3 (Audio Code number 3) method.
  • the audio encoder 1410 sequentially writes an audio stream, which is data obtained by encoding an audio signal, in the audio ES buffer 1409A.
  • the audio decoder 1411 decodes the audio stream supplied from the audio ES buffer 1409B, performs conversion to an analog signal, for example, and supplies the reproduced audio signal to, for example, the connectivity 1321 (FIG. 39).
  • Multiplexer (MUX) 1412 multiplexes the video stream and the audio stream.
  • the multiplexing method (that is, the format of the bit stream generated by multiplexing) is arbitrary.
  • the multiplexing unit (MUX) 1412 can also add predetermined header information or the like to the bit stream. That is, the multiplexing unit (MUX) 1412 can convert the stream format by multiplexing. For example, the multiplexing unit (MUX) 1412 multiplexes the video stream and the audio stream to convert it into a transport stream that is a bit stream in a transfer format. Further, for example, the multiplexing unit (MUX) 1412 multiplexes the video stream and the audio stream, thereby converting the data into file format data (file data) for recording.
  • the demultiplexing unit (DMUX) 1413 demultiplexes the bit stream in which the video stream and the audio stream are multiplexed by a method corresponding to the multiplexing by the multiplexing unit (MUX) 1412. That is, the demultiplexer (DMUX) 1413 extracts the video stream and the audio stream from the bit stream read from the stream buffer 1414 (separates the video stream and the audio stream). That is, the demultiplexer (DMUX) 1413 can convert the stream format by demultiplexing (inverse conversion of the conversion by the multiplexer (MUX) 1412).
  • the demultiplexing unit (DMUX) 1413 obtains a transport stream supplied from, for example, the connectivity 1321 and the broadband modem 1333 (both in FIG. 27) via the stream buffer 1414 and demultiplexes the transport stream. Can be converted into a video stream and an audio stream. Further, for example, the demultiplexer (DMUX) 1413 obtains the file data read from various recording media by the connectivity 1321 (FIG. 39) via the stream buffer 1414 and demultiplexes it, for example. It can be converted into a video stream and an audio stream.
  • the stream buffer 1414 buffers the bit stream.
  • the stream buffer 1414 buffers the transport stream supplied from the multiplexing unit (MUX) 1412 and, for example, at the predetermined timing or based on a request from the outside, for example, the connectivity 1321 or the broadband modem 1333 (whichever Are also supplied to FIG.
  • MUX multiplexing unit
  • the stream buffer 1414 buffers the file data supplied from the multiplexing unit (MUX) 1412 and, for example, connectivity 1321 (FIG. 39) or the like at a predetermined timing or based on an external request or the like. To be recorded on various recording media.
  • MUX multiplexing unit
  • connectivity 1321 FIG. 39
  • the stream buffer 1414 buffers the transport stream acquired through, for example, the connectivity 1321 and the broadband modem 1333 (both in FIG. 39), and reverses the stream at a predetermined timing or based on an external request or the like.
  • the data is supplied to a multiplexing unit (DMUX) 1413.
  • DMUX multiplexing unit
  • the stream buffer 1414 buffers file data read from various recording media in the connectivity 1321 (FIG. 39), for example, and at a predetermined timing or based on an external request or the like, a demultiplexing unit (DMUX) 1413.
  • DMUX demultiplexing unit
  • a video signal input from the connectivity 1321 (FIG. 39) or the like to the video processor 1332 is converted into digital image data of a predetermined format such as 4: 2: 2Y / Cb / Cr format by the video input processing unit 1401.
  • the data is sequentially written into the frame memory 1405.
  • This digital image data is read by the first image enlargement / reduction unit 1402 or the second image enlargement / reduction unit 1403, and format conversion to a predetermined method such as 4: 2: 0Y / Cb / Cr method and enlargement / reduction processing are performed. Is written again in the frame memory 1405.
  • This image data is encoded by the encoding / decoding engine 1407 and written as a video stream in the video ES buffer 1408A.
  • an audio signal input from the connectivity 1321 (FIG. 39) or the like to the video processor 1332 is encoded by the audio encoder 1410, and is written in the audio ES buffer 1409A as an audio stream.
  • the video stream of the video ES buffer 1408A and the audio stream of the audio ES buffer 1409A are read and multiplexed by the multiplexing unit (MUX) 1412 and converted into a transport stream or file data.
  • the transport stream generated by the multiplexing unit (MUX) 1412 is buffered in the stream buffer 1414 and then output to the external network via, for example, the connectivity 1321 and the broadband modem 1333 (both of which are shown in FIG. 39).
  • the file data generated by the multiplexing unit (MUX) 1412 is buffered in the stream buffer 1414, and then output to, for example, the connectivity 1321 (FIG. 39) and recorded on various recording media.
  • a transport stream input from an external network to the video processor 1332 via the connectivity 1321 or the broadband modem 1333 (both in FIG. 39) is buffered in the stream buffer 1414 and then demultiplexed (DMUX).
  • DMUX demultiplexed
  • file data read from various recording media in the connectivity 1321 (FIG. 39) and input to the video processor 1332 is buffered in the stream buffer 1414 and then demultiplexed by the demultiplexer (DMUX) 1413. It becomes. That is, the transport stream or file data input to the video processor 1332 is separated into a video stream and an audio stream by the demultiplexer (DMUX) 1413.
  • the audio stream is supplied to the audio decoder 1411 via the audio ES buffer 1409B and decoded to reproduce the audio signal.
  • the video stream is written to the video ES buffer 1408B, and then sequentially read and decoded by the encoding / decoding engine 1407, and written to the frame memory 1405.
  • the decoded image data is enlarged / reduced by the second image enlargement / reduction unit 1403 and written to the frame memory 1405.
  • the decoded image data is read out to the video output processing unit 1404, format-converted to a predetermined system such as 4: 2: 2Y / Cb / Cr system, and further converted into an analog signal to be converted into a video signal. Is played out.
  • the present technology when the present technology is applied to the video processor 1332 configured as described above, the present technology according to each embodiment described above may be applied to the encoding / decoding engine 1407. That is, for example, the encode / decode engine 1407 may have functions of the image processing apparatus 11 (FIG. 1) and the image processing apparatus 101 (FIG. 2) according to the first embodiment. In this way, the video processor 1332 can obtain the same effects as those described above with reference to FIGS.
  • the present technology (that is, the function of the image processing apparatus according to each of the above-described embodiments) may be realized by hardware such as a logic circuit or software such as an embedded program. It may be realized by wear or may be realized by both of them.
  • FIG. 41 illustrates another example of a schematic configuration of the video processor 1332 (FIG. 39) to which the present technology is applied.
  • the video processor 1332 has a function of encoding / decoding video data by a predetermined method.
  • the video processor 1332 includes a control unit 1511, a display interface 1512, a display engine 1513, an image processing engine 1514, and an internal memory 1515.
  • the video processor 1332 includes a codec engine 1516, a memory interface 1517, a multiplexing / demultiplexing unit (MUX DMUX) 1518, a network interface 1519, and a video interface 1520.
  • MUX DMUX multiplexing / demultiplexing unit
  • the eyelid control unit 1511 controls the operation of each processing unit in the video processor 1332 such as the display interface 1512, the display engine 1513, the image processing engine 1514, and the codec engine 1516.
  • the control unit 1511 includes, for example, a main CPU 1531, a sub CPU 1532, and a system controller 1533.
  • the main CPU 1531 executes a program and the like for controlling the operation of each processing unit in the video processor 1332.
  • the main CPU 1531 generates a control signal according to the program and supplies it to each processing unit (that is, controls the operation of each processing unit).
  • the sub CPU 1532 plays an auxiliary role of the main CPU 1531.
  • the sub CPU 1532 executes a child process such as a program executed by the main CPU 1531, a subroutine, or the like.
  • the system controller 1533 controls operations of the main CPU 1531 and the sub CPU 1532 such as designating a program to be executed by the main CPU 1531 and the sub CPU 1532.
  • the display interface 1512 converts the image data, for example, the image data of the connectivity 1321 (FIG. 39) into an analog signal under the control of the control unit 1511, and uses the connectivity as the reproduced video signal or as the digital data image data. It is output to the monitor device 1321 (FIG. 39).
  • the display engine 1513 Under the control of the control unit 1511, the display engine 1513 performs various conversion processes such as format conversion, size conversion, color gamut conversion, and the like so as to match the image data with hardware specifications such as a monitor device that displays the image. I do.
  • the eyelid image processing engine 1514 performs predetermined image processing such as filter processing for improving image quality on the image data under the control of the control unit 1511.
  • the internal memory 1515 is a memory provided inside the video processor 1332 that is shared by the display engine 1513, the image processing engine 1514, and the codec engine 1516.
  • the internal memory 1515 is used, for example, for data exchange performed between the display engine 1513, the image processing engine 1514, and the codec engine 1516.
  • the internal memory 1515 stores data supplied from the display engine 1513, the image processing engine 1514, or the codec engine 1516, and stores the data as needed (eg, upon request). This is supplied to the image processing engine 1514 or the codec engine 1516.
  • the internal memory 1515 may be realized by any storage device, but is generally used for storing a small amount of data such as image data or parameters in units of blocks. It is desirable to realize a semiconductor memory having a relatively small capacity but a high response speed (for example, as compared with the external memory 1312) such as “Static Random Access Memory”.
  • the codec engine 1516 performs processing related to encoding and decoding of image data.
  • the encoding / decoding scheme supported by the codec engine 1516 is arbitrary, and the number thereof may be one or plural.
  • the codec engine 1516 may be provided with codec functions of a plurality of encoding / decoding schemes, and may be configured to perform encoding of image data or decoding of encoded data using one selected from them.
  • the codec engine 1516 includes, for example, MPEG-2 video 1541, AVC / H.2641542, HEVC / H.2651543, HEVC / H.265 (Scalable) 1544, as function blocks for processing related to the codec.
  • HEVC / H.265 (Multi-view) 1545 and MPEG-DASH 1551 are included.
  • “MPEG-2” Video 1541 is a functional block that encodes and decodes image data in the MPEG-2 format.
  • AVC / H.2641542 is a functional block that encodes and decodes image data using the AVC method.
  • HEVC / H.2651543 is a functional block that encodes and decodes image data using the HEVC method.
  • HEVC / H.265 (Scalable) 1544 is a functional block that performs scalable encoding and scalable decoding of image data using the HEVC method.
  • HEVC / H.265 (Multi-view) 1545 is a functional block that multi-view encodes or multi-view decodes image data using the HEVC method.
  • MPEG-DASH 1551 is a functional block that transmits and receives image data in the MPEG-DASH (MPEG-Dynamic Adaptive Streaming over HTTP) method.
  • MPEG-DASH is a technology for streaming video using HTTP (HyperText Transfer Protocol), and selects and transmits appropriate data from multiple encoded data with different resolutions prepared in advance in segments. This is one of the features.
  • MPEG-DASH 1551 generates a stream compliant with the standard, controls transmission of the stream, and the like.
  • MPEG-2 Video 1541 to HEVC / H.265 (Multi-view) 1545 described above are used. Is used.
  • the memory interface 1517 is an interface for the external memory 1312. Data supplied from the image processing engine 1514 or the codec engine 1516 is supplied to the external memory 1312 via the memory interface 1517. The data read from the external memory 1312 is supplied to the video processor 1332 (the image processing engine 1514 or the codec engine 1516) via the memory interface 1517.
  • a multiplexing / demultiplexing unit (MUX DMUX) 1518 multiplexes and demultiplexes various data related to images such as a bit stream of encoded data, image data, and a video signal.
  • This multiplexing / demultiplexing method is arbitrary.
  • the multiplexing / demultiplexing unit (MUX DMUX) 1518 can not only combine a plurality of data into one but also add predetermined header information or the like to the data.
  • the multiplexing / demultiplexing unit (MUX DMUX) 1518 not only divides one data into a plurality of data but also adds predetermined header information or the like to each divided data. it can.
  • the multiplexing / demultiplexing unit (MUX DMUX) 1518 can convert the data format by multiplexing / demultiplexing.
  • the multiplexing / demultiplexing unit (MUX DMUX) 1518 multiplexes the bitstream, thereby transporting the transport stream, which is a bit stream in a transfer format, or data in a file format for recording (file data).
  • the transport stream which is a bit stream in a transfer format, or data in a file format for recording (file data).
  • file data file format for recording
  • the network interface 1519 is an interface for a broadband modem 1333, connectivity 1321 (both in FIG. 39) and the like.
  • the video interface 1520 is an interface for connectivity 1321 and a camera 1322 (both are FIG. 39), for example.
  • the transport stream is transmitted to the multiplexing / demultiplexing unit (MUX DMUX via the network interface 1519).
  • MUX DMUX multiplexing / demultiplexing unit
  • the codec engine 1516 the image data obtained by decoding by the codec engine 1516 is subjected to predetermined image processing by the image processing engine 1514, subjected to predetermined conversion by the display engine 1513, and connected to, for example, the connectivity 1321 (see FIG. 39) etc., and the image is displayed on the monitor.
  • image data obtained by decoding by the codec engine 1516 is re-encoded by the codec engine 1516, multiplexed by a multiplexing / demultiplexing unit (MUX DMUX) 1518, converted into file data, and video
  • MUX DMUX multiplexing / demultiplexing unit
  • the data is output to, for example, the connectivity 1321 (FIG. 39) through the interface 1520 and recorded on various recording media.
  • encoded data file data obtained by encoding image data read from a recording medium (not shown) by the connectivity 1321 (FIG. 39) is multiplexed / demultiplexed via the video interface 1520. Is supplied to a unit (MUX DMUX) 1518, demultiplexed, and decoded by the codec engine 1516. Image data obtained by decoding by the codec engine 1516 is subjected to predetermined image processing by the image processing engine 1514, subjected to predetermined conversion by the display engine 1513, and, for example, connectivity 1321 (FIG. 39) via the display interface 1512. And the image is displayed on the monitor.
  • MUX DMUX unit
  • image data obtained by decoding by the codec engine 1516 is re-encoded by the codec engine 1516, multiplexed by the multiplexing / demultiplexing unit (MUX DMUX) 1518, and converted into a transport stream,
  • MUX DMUX multiplexing / demultiplexing unit
  • the connectivity 1321 and the broadband modem 1333 are supplied via the network interface 1519 and transmitted to another device (not shown).
  • image data and other data are exchanged between the processing units in the video processor 1332 using, for example, the internal memory 1515 and the external memory 1312.
  • the power management module 1313 controls power supply to the control unit 1511, for example.
  • the present technology when the present technology is applied to the video processor 1332 configured as described above, the present technology according to each of the above-described embodiments may be applied to the codec engine 1516. That is, for example, the codec engine 1516 may have a functional block that realizes the image encoding device 1 (FIG. 1) and the image decoding device 101 (FIG. 2) according to the first embodiment. In this way, the video processor 1332 can obtain the same effects as those described above with reference to FIGS.
  • the present technology (that is, the functions of the image encoding device and the image decoding device according to each of the above-described embodiments) may be realized by hardware such as a logic circuit or an embedded program. It may be realized by software such as the above, or may be realized by both of them.
  • the configuration of the video processor 1332 is arbitrary and may be other than the two examples described above.
  • the video processor 1332 may be configured as one semiconductor chip, but may be configured as a plurality of semiconductor chips. For example, a three-dimensional stacked LSI in which a plurality of semiconductors are stacked may be used. Further, it may be realized by a plurality of LSIs.
  • Video set 1300 can be incorporated into various devices that process image data.
  • the video set 1300 can be incorporated in the television device 900 (FIG. 35), the mobile phone 920 (FIG. 36), the recording / reproducing device 940 (FIG. 37), the imaging device 960 (FIG. 38), or the like.
  • the apparatus can obtain the same effects as those described above with reference to FIGS.
  • each configuration of the video set 1300 described above can be implemented as a configuration to which the present technology is applied as long as it includes the video processor 1332.
  • the video processor 1332 can be implemented as a video processor to which the present technology is applied.
  • the processor or the video module 1311 indicated by the dotted line 1341 can be implemented as a processor or a module to which the present technology is applied.
  • the video module 1311, the external memory 1312, the power management module 1313, and the front end module 1314 can be combined and implemented as a video unit 1361 to which the present technology is applied. In any case, the same effects as those described above with reference to FIGS. 1 to 33 can be obtained.
  • any configuration including the video processor 1332 can be incorporated into various devices that process image data, as in the case of the video set 1300.
  • a video processor 1332 a processor indicated by a dotted line 1341, a video module 1311, or a video unit 1361, a television device 900 (FIG. 35), a mobile phone 920 (FIG. 36), a recording / playback device 940 (FIG. 37), It can be incorporated in an imaging device 960 (FIG. 38) or the like.
  • the apparatus can obtain the same effects as those described above with reference to FIGS. 1 to 33, as in the case of the video set 1300. .
  • quadtree information hierarchical block division information
  • prediction mode information motion vector information
  • macroblock information macroblock information
  • SAO parameters are multiplexed into an encoded stream to be encoded.
  • An example of transmission from the side to the decoding side has been described.
  • the method for transmitting such information is not limited to such an example.
  • these pieces of information may be transmitted or recorded as separate data associated with the encoded bitstream without being multiplexed into the encoded bitstream.
  • the term “associate” means that an image (which may be a part of an image such as a slice or a block) included in the bitstream and information corresponding to the image can be linked at the time of decoding. Means.
  • information may be transmitted on a transmission path different from that of the image (or bit stream).
  • Information may be recorded on a recording medium (or another recording area of the same recording medium) different from the image (or bit stream).
  • the information and the image (or bit stream) may be associated with each other in an arbitrary unit such as a plurality of frames, one frame, or a part of the frame.
  • this technique can also take the following structures.
  • An image that is subjected to image processing using an encoding parameter used when an image generated by decoding a bitstream in units of blocks having a hierarchical structure is encoded in units of blocks having a hierarchical structure
  • An image processing apparatus comprising a processing unit.
  • the encoding parameter is a parameter indicating a block size.
  • the encoding parameter is a parameter indicating a depth of a hierarchy.
  • the encoding parameter is a spilt-flag.
  • the image processing device includes a region detection unit that generates region information by detecting a boundary of the region from the encoding parameter; Any of (1) to (4) and (7), comprising: an image quality improvement processing unit that performs image quality improvement processing on the image based on the area information detected by the area detection unit.
  • the image processing device (9) The image processing device according to (8), wherein the region detection unit generates region information including information indicating whether the region is a moving region or a still region. (10) The image processing device according to (9), wherein the region detection unit generates the region information using motion vector information obtained by decoding the bitstream. (11) The image processing unit further includes a region determination unit that generates region information indicating whether the region is an occlusion or overdeformed region from the encoding parameter, The image quality improvement processing unit performs image quality improvement processing on the image based on the region information detected by the region detection unit and the region information generated by the region determination unit.
  • the image processing apparatus according to any one of (10).
  • the image processing device according to any one of (8) to (11), wherein the high image quality processing is processing using intra-screen correlation.
  • the image processing device according to any one of (8) to (12), wherein the high image quality processing is noise reduction, high frame rate processing, or multiple-frame super-resolution processing.
  • the image processing unit generates a region information indicating whether the region is an occlusion or overdeformed region from the encoding parameter;
  • the image processing apparatus further comprising: an image quality improvement processing unit that performs an image quality improvement process on the image based on the region information determined by the region determination unit.
  • a decoding unit that decodes the bitstream to generate the image and outputs the encoding parameter;
  • the image processing unit performs image processing on the image generated by the decoding unit using the encoding parameter output by the decoding unit.
  • the method according to any one of (1) to (14), Image processing device.
  • the decoding unit further includes an adaptive offset filter processing unit that performs an adaptive offset process on the image.
  • the image processing apparatus An image processing method for performing image processing on an image generated by decoding a bitstream in units of blocks having a hierarchical structure, using an encoding parameter used for encoding in units of blocks having a hierarchical structure.
  • 101 image processing device 111 decoding unit, 112 image processing unit, 121 MV converter, 122 moving object region detector, 123 moving image processor, 181 boundary block determining unit, 182 labeling unit, 183 moving object stationary determining unit, 201 image processing Device, 211 image processing unit, 221 region dividing unit, 231 object boundary detector, 232 time axis processing non-adaptive region determiner, 233 time axis processing region determiner

Abstract

 本開示は、高画質化処理を効率よく行うことができるようにする画像処理装置および方法に関する。 復号部は、デコード画像に加え、復号に用いたビットストリーム内の符号化情報である動きベクトル情報、および画像分割情報として、CU、PU、TUの階層ブロック分割情報を画像処理部に出力する。画像処理部は、復号部からのデコード画像に対して、復号部からの符号化情報である階層ブロック分割情報を用いて、動体領域を特定し、高画質化処理を行う。本開示は、例えば、復号されたデコード画像に対して高画質化処理を行う画像処理装置に適用することができる。

Description

画像処理装置および方法
 本開示は、画像処理装置および方法に関し、特に、高画質化処理を効率よく行うことができるようにした画像処理装置および方法に関する。
 放送、DVD等で配信されたビットストリームを復号後、ノイズリダクション、コマ数補間処理(高フレームレート化処理)、複数枚超解像処理などの高画質化処理を行うことがある。その高画質化処理のために、ビットストリームの復号結果である復号画像において、動き検出や動体領域の判別が行われている。
 すなわち、一般的に、動画像データは、ビットストリームの形式で伝送され、復号器にて画像情報に復号される。復号器は、動画像のビットストリームを、MPEG-2/MPEG-4/MPEG-4AVC/HEVCなど予め規定された画像復号方法に従って復号し、画像を生成する。その後、動き検出器により復号画像において動き検出が行われ、動体領域の検出が行われ、後段の高画質化処理部に供給される(特許文献1参照)。
特許3700195号
 ここで、実際には、復号器においてさまざまな符号化情報がデコードされているにも関わらず、復号器の後段においては、再度、動き検出や動体領域検出などを行っていることが多かった。
 本開示は、このような状況に鑑みてなされたものであり、高画質化処理を効率よく行うことができるようにするものである。
 本開示の一側面の画像処理装置は、ビットストリームを階層構造を有するブロック単位で復号処理して生成された画像に対して、階層構造を有するブロック単位で符号化する際に用いる符号化パラメータを利用して画像処理を行う画像処理部を備える。
 前記符号化パラメータは、ブロックのサイズを示すパラメータである。
 前記符号化パラメータは、階層の深さを示すパラメータである。
 前記符号化パラメータは、spilt-flagである。
 前記符号化パラメータは、適応オフセットフィルタのパラメータである。
 前記符号化パラメータは、エッジオフセットまたはバンドオフセットであるかを示すパラメータである。
 前記画像処理部は、前記符号化パラメータから生成される符号化ブロックサイズのマップを利用して画像処理を行うことができる。
 前記画像処理部は、前記符号化パラメータから領域の境界を検出することで領域情報を生成する領域検出部と、前記領域検出部により検出された領域情報に基づいて、前記画像に対して、高画質化処理を行う高画質化処理部とを備えることができる。
  前記領域検出部は、動体領域であるか静止領域であるかの情報を含む領域情報を生成することができる。
  前記領域検出部は、前記ビットストリームを復号処理して得られる動きベクトル情報を利用して、前記領域情報を生成することができる。
 前記画像処理部は、前記符号化パラメータからオクルージョンまたは過変形領域であるか否かを示す領域情報を生成する領域決定部をさらに備え、前記高画質化処理部は、前記領域検出部により検出された領域情報および前記領域決定部により生成された領域情報に基づいて、前記画像に対して、高画質化処理を行うことができる。
 前記高画質処理は、画面内相関を用いる処理である。
  前記高画質処理は、ノイズリダクション、高フレームレート処理、または複数枚超解像処理である。
  前記画像処理部は、前記符号化パラメータからオクルージョンまたは過変形領域であるか否かを示す領域情報を生成する領域決定部と、前記領域決定部により決定された領域情報に基づいて、前記画像に対して、高画質化処理を行う高画質化処理部とを備えることができる。
  前記ビットストリームを復号処理して、前記画像を生成するとともに、前記符号化パラメータを出力する復号部をさらに備え、前記画像処理部は、前記復号部により生成された画像に対して、前記復号部により出力された符号化パラメータを利用して画像処理を行うことができる。
 前記復号部は、前記画像に適応オフセット処理を行う適応オフセットフィルタ処理部をさらに備えることができる。
 本開示の一側面の画像処理方法は、画像処理装置が、ビットストリームを階層構造を有するブロック単位で復号処理して生成された画像に対して、階層構造を有するブロック単位で符号化する際に用いる符号化パラメータを利用して画像処理を行う。
 本開示の一側面においては、ビットストリームを階層構造を有するブロック単位で復号処理して生成された画像に対して、階層構造を有するブロック単位で符号化する際に用いる符号化パラメータを利用して画像処理が行われる。
 なお、上述の画像処理装置は、独立した装置であっても良いし、1つの画像復号装置を構成している内部ブロックであってもよい。
 本開示によれば、画像を復号することができる。特に、高画質化処理を効率よく行うことができる。
  なお、本明細書に記載された効果は、あくまで例示であり、本技術の効果は、本明細書に記載された効果に限定されるものではなく、付加的な効果があってもよい。
動き検出器を有する画像処理装置の構成例を示すブロック図である。 符号化情報を用いる画像処理装置の構成例を示すブロック図である。 階層構造について説明する図である。 復号部の構成例を示すブロック図である。 CTUのシンタクスの例を示す図である。 coding_quadtreeのシンタクスの例を示す図である。 split_cu_flagのセマンテクスの例を示す図である。 PUサイズのパース方法について説明する図である。 PUサイズのパース方法について説明する図である。 part_modeのセマンテクスの例を示す図である。 TUサイズのパース方法について説明する図である。 split_transform_flagのセマンテクスの例を示す図である。 動体領域検出器の構成例を示すブロック図である。 ブロック分割と境界線候補の例を示す図である。 画像処理について説明するフローチャートである。 復号処理を説明するフローチャートである。 動体領域特性処理を説明するフローチャートである。 動体領域特性処理を説明する図である。 動体領域特性処理を説明する図である。 オクルージョン領域を説明する図である。 SAOについて説明する図である。 符号化情報を用いる画像処理装置の他の構成例を示すブロック図である。 領域分割部の構成例を示すブロック図である。 物体境界検出器の構成例を示すブロック図である。 画像処理について説明するフローチャートである。 領域分割処理について説明するフローチャートである。 領域分割処理を説明する図である。 領域分割処理を説明する図である。 物体境界検出処理を説明するフローチャートである。 時間軸処理非適応領域の検出処理を説明するフローチャートである。 時間軸処理領域決定処理を説明するフローチャートである。 時間軸処理領域決定処理を説明する図である。 時間処理領域マップの利用方法を説明する図である。 コンピュータの主な構成例を示すブロック図である。 テレビジョン装置の概略的な構成の一例を示すブロック図である。 携帯電話機の概略的な構成の一例を示すブロック図である。 記録再生装置の概略的な構成の一例を示すブロック図である。 撮像装置の概略的な構成の一例を示すブロック図である。 ビデオセットの概略的な構成の一例を示すブロック図である。 ビデオプロセッサの概略的な構成の一例を示すブロック図である。 ビデオプロセッサの概略的な構成の他の例を示すブロック図である。
 以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.第1の実施の形態(階層ブロック分割情報を用いる画像処理装置の例)
2.第2の実施の形態(SAOパラメータを用いる画像処理装置の例)
3.第3の実施の形態(コンピュータ)
4.応用例
5.第4の実施の形態(セット・ユニット・モジュール・プロセッサ)
<第1の実施の形態>
[画像処理装置の構成例]
  図1は、動き検出器を有する画像処理装置の構成例を示すブロック図である。図1の例において、画像処理装置1は、放送やDVD等で配信されたビットストリームを復号後、高画質化処理を行う画像処理装置である。
  画像処理装置1は、復号部11および画像処理部12により構成される。画像処理部12は、動き検出器21、動体領域検出器22、および動画像処理器23を含むように構成されている。
  復号部11は、ビットストリームを入力し、入力したビットストリームを、予め規定された画像復号方法に従って復号し、デコード画像を生成する。画像復号方法としては、MPEG(Moving Picture Experts Group)-2、MPEG4、MPEG4AVC(Advanced Video Coding)(以下、単にAVCと称する)、HEVC(High Efficiency Video Coding)などがあげられる。復号部11により生成されたデコード画像は、動き検出器21、動体領域検出器22、および動画像処理器23にそれぞれ出力される。
  動き検出器21は、復号部11からのデコード画像より動きベクトルの検出を行う。動きベクトル検出方法には、ブロックマッチング、optical flowなど複数アルゴリズムが存在する。図1の例において、動きベクトル検出方法は限定されない。動き検出器21において検出された動きベクトルは、動体領域検出器22に出力される。
  動体領域検出器22は、動き検出器21により検出された動きベクトルと、復号部11からのデコード画像より、動体領域の特定を行う。例えば、動体領域検出器22は、コマ数補間処理(高フレームレート化処理)の場合、画像中に動いているボールなどの領域を判別する。動体領域検出器22は、特定した動体領域の情報を動画像処理器23に供給する。
 動画像処理器23は、高画質化処理として、ノイズリダクション、コマ数補間処理、または複数枚超解像処理など、画面内相関を用いる処理を行う。動画像処理器23は、処理後の高画質化画像を、図示せぬ後段に出力する。
 なお、図1の例においては、図示されないが、動き検出器21、動体領域検出器22、および動画像処理器23は、過去フレームを蓄積しておくためにフレームバッファなどが必要な場合、ブロック内にそれぞれ内包されているものとする。
 以上のように、画像処理装置1においては、復号部11によりデコードされた画像に対して、高画質化処理が行われている。そして、実際には、復号部11においてさまざまな符号化情報がデコードされているにも関わらず、その情報を使うことなく、画像処理装置1においては、復号部11の後段で、再度、動き検出器21により動きベクトルなどが検出されており、コストがかかっていた。
[画像処理装置の構成例]
  図2は、符号化情報を用いる画像処理装置の構成例を示すブロック図である。図2の例において、画像処理装置101は、図1の画像処理装置1と同様に、放送やDVD等で配信されたビットストリームを復号後、高画質化処理を行う画像処理装置である。
 図2の例において、画像処理装置101は、復号部111および画像処理部112により構成されている。
 復号部111は、例えば、HEVC(High Efficiency Video Coding)規格のデコーダであり、図示せぬ外部よりHEVCにより符号化されたビットストリームを入力する。復号部111は、入力されたビットストリームをHEVC規格に従って復号する。
  図1の復号部11は、後段の画像処理部12に対して、デコード画像のみを出力した。これに対して、図2の復号部111は、デコード画像に加え、復号に用いたビットストリーム内の符号化情報である動きベクトル情報、および画像分割情報として、CU(Coding Unit)、PU(Prediction Unit)、TU(Transform Unit)などの階層ブロック分割情報(Quadtree情報とも称する)を画像処理部112に出力する。復号部111において、復号に用いたビットストリーム内の符号化情報は、換言すると、階層構造を有する単位で符号化する際に用いる符号化情報(パラメータ)である。
 階層ブロック分割情報は、ブロックのサイズを示すパラメータであり、階層の深度を示すパラメータである。具体的には、階層ブロック分割情報は、後述するsplit-flagである。ここで、図3を参照して、CU、PU、TUについて説明する。
 AVCにおいては、マクロブロックとサブマクロブロックによる階層構造が規定されている。しかしながら、16画素×16画素のマクロブロックでは、次世代符号化方式の対象となるような、UHD(Ultra High Definition;4000画素×2000画素)といった大きな画枠に対して最適ではない。
 これに対して、HEVCにおいては、図3に示されるように、コーディングユニット(CU)が規定されている。AVCの階層構造がBlock coding structureと呼ばれるのに対し、HEVCの階層構造は、Quadtree coding structureと呼ばれている。
 CUは、Coding Tree Block(CTB)とも呼ばれ、AVC方式におけるマクロブロックと同様の役割を果たす、ピクチャ単位の画像の部分領域である。後者は、16×16画素の大きさに固定されているのに対し、前者の大きさは固定されておらず、それぞれのシーケンスにおいて、画像圧縮情報中において指定されることになる。
 例えば、出力となる符号化データに含まれるシーケンスパラメータセット(SPS(Sequence Parameter Set))において、CUの最大サイズ(LCU(Largest Coding Unit))と最小サイズ(SCU(Smallest Coding Unit))が規定される。
 それぞれのLCU内においては、SCUのサイズを下回らない範囲で、split-flag=1とすることにより、より小さなサイズのCUに分割することができ、どのサイズまで分割されているかがわかる。図3の例では、LCUの大きさが128であり、最大階層深度が5となる。2N×2Nの大きさのCUは、split_flagの値が「1」である時、1つ下の階層となる、N×Nの大きさのCUに分割される。
 更に、CUは、イントラ若しくはインター予測の処理単位となる領域(ピクチャ単位の画像の部分領域)であるプレディクションユニット(PU)に分割される。また、PUは、直交変換の処理単位となる領域(ピクチャ単位の画像の部分領域)である、トランスフォームユニット(TU)に分割される。現在、HEVC方式においては、4×4及び8×8に加え、16×16及び32×32直交変換を用いることが可能である。すなわち、CUは、階層的にブロック単位で分割されており、TUは、CUを起点として階層的に分割されている。
 以上のHEVC方式のように、CUを定義し、そのCUを単位として各種処理を行うような符号化方式の場合、AVC方式におけるマクロブロックはLCUに相当し、ブロック(サブブロック)はCUに相当すると考えることができる。また、AVC方式における動き補償ブロックは、PUに相当すると考えることができる。ただし、CUは、階層構造を有するので、その最上位階層のLCUのサイズは、例えば128×128画素のように、AVC方式のマクロブロックより大きく設定されることが一般的である。
 よって、以下、LCUは、AVC方式におけるマクロブロックをも含むものとし、CUは、AVC方式におけるブロック(サブブロック)をも含むものとする。つまり、以下の説明に用いる「ブロック」は、ピクチャ内の任意の部分領域を示し、その大きさ、形状、および特性等は限定されない。つまり、「ブロック」には、例えば、TU、PU、SCU、CU、LCU、サブブロック、マクロブロック、またはスライス等任意の領域(処理単位)が含まれる。もちろん、これら以外の部分領域(処理単位)も含まれる。サイズや処理単位等を限定する必要がある場合は、適宜説明する。
 また、本明細書において、CTU(Coding Tree Unit)は、LCU(最大数のCU)のCTB(Coding Tree Block)と、そのLCUベース(レベル)で処理するときのパラメータを含む単位であるとする。また、CTUを構成するCU(Coding Unit)は、CB(Coding Block)と、そのCUベース(レベル)で処理するときのパラメータを含む単位であるとする。
 図2に戻って、画像処理部112は、復号部111からのデコード画像に対して、復号部111からの符号化情報を用いて、動体領域を特定し、高画質化処理を行う。画像処理部112は、MV変換器121、動体領域検出器122、および動画像処理器123により構成されている。なお、図2の例においても、図示されないが、動体領域検出器122、および動画像処理器123は、過去フレームを蓄積しておくためにフレームバッファなどが必要な場合、ブロック内にそれぞれ内包されているものとする。
 MV変換器121は、復号部111からの動きベクトル情報に基づいて、符号化順序から表示順序への方向などの正規化を行い、信号処理を行って、後段の各部が利用可能な動きベクトルに変換する。MV変換器121は、変換後の動きベクトルを動体領域検出器122および動画像処理器123に供給する。
 復号部111からのデコード画像は、動体領域検出器122および動画像処理器123に入力される。また、復号部111からの画像分割情報(階層ブロック分割情報)は、動体領域検出器122に入力される。
 動体領域検出器122は、復号部111からの符号化情報、すなわち、階層ブロック分割情報、動きベクトル、およびデコード画像の情報を用いて、動体領域の特定を行う。
 一般的にHEVCの符号化時に選択させるCU/TUサイズは、画像の特徴量が均一であれば、大きいブロックが選択され、物体境界部分など、画像の特徴が不均一な箇所では、小さいブロックサイズが選択される傾向がある。
 動体領域検出器122は、HEVCストリームのこの性質を用いて、領域の判別を行う。動体領域検出器122は、階層ブロック分割情報として得られたCUサイズの情報により、画像内のどの位置が分割されているかを示すブロックサイズマップを作成する。
  動体領域検出器122は、作成されたブロックサイズマップ情報に基づいて、一定サイズ以下に分割されたブロック位置を特定し、近隣の小サイズブロックと連結することで、物体の境界位置情報を生成する。そして、動体領域検出器122は、生成した物体の境界位置情報をもとに、残りのブロックを統合することで、物体(オブジェクト)単位のラベリングを行い、物体単位の領域情報を生成する。
 なお、より高精細、高精度の階層ブロック分割情報が必要な場合、デコード画像の情報、動きベクトル情報を組み合わせ、分割精度を向上させることも可能である。
 また、上記説明においては、CUサイズをベースに説明したが、TUサイズ情報を用いても同様の分割を行うことができる。さらに、CUサイズ情報とTUサイズ情報とを用いることで、検出精度の向上を図ることができる。
  また、PUサイズは、図3を参照して上述したように画像の動き情報を基に分割されるので、PUサイズを見ることで、動きの異なる領域の境界を推定することが可能となる。そのため、PUサイズを用いて、同様の画像分割を行うことで、動きの均一さに応じた画像の分割を行うことができ、結果として、動体、非動体(静止)毎に領域分割することが可能となる。すなわち、PUサイズの場合、動体領域の特定が行われ、動体領域の情報が生成される。
 動体領域検出器122は、上述したCU/TU/PUサイズを用いたフレームの分割情報を単独、もしくは組み合わせることで、動体領域の特定を行い、特定した動体領域の情報を、動画像処理器123に供給する。
 動画像処理器123は、動体領域検出器122からの動物体領域の情報、MV変換器121からの動きベクトルを基に、復号部111からのデコード画像に対して、ノイズリダクション、コマ数補間処理、または複数枚超解像処理など、画面内相関を用いる高画質化処理を施す。動画像処理器123は、高画質化処理の結果の高画質画像を、外部に出力する。
[復号部の構成例]
 図4は、復号部111の構成例を示すブロック図である。
  図4に示されるように復号部111は、蓄積バッファ141、可逆復号部142、逆量子化部143、逆直交変換部144、演算部145、デブロッキングフィルタ146、適応オフセットフィルタ147、および画面並べ替えバッファ148を有する。また、復号部111は、フレームメモリ150、選択部151、イントラ予測部152、動き補償部153、および予測画像選択部154を有する。
  蓄積バッファ141は、伝送されてきた符号化データを受け取る受け取り部でもある。蓄積バッファ141は、伝送されてきた符号化データを受け取って、蓄積し、所定のタイミングにおいてその符号化データを可逆復号部142に供給する。この符号化データには、Quadtree情報、予測モード情報、動きベクトル情報、マクロブロック情報、およびSAOパラメータなどの復号に必要な情報が付加されている。
  可逆復号部142は、蓄積バッファ141より供給された、図示せぬ符号側により符号化された情報を、その符号化方式に対応する復号方式で復号する。可逆復号部142は、復号して得られた差分画像の量子化された係数データを、逆量子化部143に供給する。
  また、可逆復号部142は、最適な予測モードにイントラ予測モードが選択されたかインター予測モードが選択されたかを判定し、その最適な予測モードに関する情報を、イントラ予測部152および動き補償部153の内、選択されたと判定したモードの方に供給する。つまり、例えば、符号化側において最適な予測モードとしてイントラ予測モードが選択された場合、その最適な予測モードに関する情報がイントラ予測部152に供給される。また、例えば、符号化側において最適な予測モードとしてインター予測モードが選択された場合、その最適な予測モードに関する情報が動きベクトル情報とともに動き補償部153に供給される。
  さらに、可逆復号部142は、例えば、上述したQuadtree情報(階層ブロック分割情報)、予測モード情報、動きベクトル情報、マクロブロック情報、およびSAO(Sample adaptive offset:適応オフセットフィルタ)で用いられるパラメータ(以下、SAOパラメータと称する)などの後段の高画質化処理に必要な情報を、図2の画像処理部112に供給する。
  逆量子化部143は、可逆復号部142により復号されて得られた量子化された係数データを、符号化側の量子化部の量子化方式に対応する方式で逆量子化する。なお、この逆量子化部143は、符号化側の逆量子化部と同様の処理部である。
  逆量子化部143は、得られた係数データを逆直交変換部144に供給する。
  逆直交変換部144は、逆量子化部143から供給される直交変換係数を、必要に応じて、符号化側の直交変換部の直交変換方式に対応する方式で逆直交変換する。なお、この逆直交変換部144は、符号化側の逆直交変換部と同様の処理部である。
  この逆直交変換処理により差分画像の画像データが復元される。この復元された差分画像の画像データは、画像符号化装置において直交変換される前の差分画像の画像データに対応する。以下においては、この、符号化側の逆直交変換処理により得られた、復元された差分画像の画像データを、復号残差データとも称する。逆直交変換部144は、この復号残差データを、演算部145に供給する。また、演算部145には、予測画像選択部154を介して、イントラ予測部152若しくは動き補償部153から予測画像の画像データが供給される。
  演算部145は、この復号残差データと予測画像の画像データとを用いて、差分画像と予測画像とを加算した再構成画像の画像データを得る。この再構成画像は、符号化側により予測画像が減算される前の入力画像に対応する。演算部145は、その再構成画像をデブロッキングフィルタ146に供給する。
  デブロッキングフィルタ146は、供給された再構成画像に対して、デブロッキングフィルタ処理を行うことにより、ブロック歪を除去する。デブロッキングフィルタ146は、フィルタ処理が施された画像を、適応オフセットフィルタ147に供給する。
 適応オフセットフィルタ147は、デブロッキングフィルタ146からのデブロッキングフィルタ処理結果(ブロック歪みの除去が行われた復号画像)に対して、主にリンギングを除去する適応オフセットフィルタ(SAO)処理を行う。
 適応オフセットフィルタ147は、可逆復号部142からの最大の符号化単位であるLCU(Largest Coding Unit)ごとの適応オフセットフィルタ処理の種類(エッジオフセットモードであるか、バンドオフセットモードであるか)を示す情報とオフセットの値を受信する。適応オフセットフィルタ147は、受信したオフセットの値を用いて、適応デブロックフィルタ処理後の画像に対して、受信した種類の適応オフセットフィルタ処理を行う。そして、適応オフセットフィルタ147は、適応オフセットフィルタ処理後の画像(以下、復号画像と称する)を、画面並べ替えバッファ148およびフレームメモリ150に供給する。
  なお、演算部145から出力される復号画像は、デブロッキングフィルタ146や適応オフセットフィルタ147を介さずに画面並べ替えバッファ148やフレームメモリ150に供給することができる。つまり、デブロッキングフィルタ146やによるフィルタ処理の一部若しくは全部は省略することができる。また、適応オフセットフィルタ147の後段に、適応ループフィルタを備えるようにしてもよい。
  適応オフセットフィルタ147は、フィルタ処理結果である復号画像(若しくは再構成画像)を画面並べ替えバッファ148およびフレームメモリ150に供給する。
  画面並べ替えバッファ148は、復号画像についてフレームの順番の並べ替えを行う。すなわち、画面並べ替えバッファ148は、符号化側により符号化順に並べ替えられた各フレームの画像を、元の表示順に並べ替える。つまり、画面並べ替えバッファ148は、符号化順に供給される各フレームの復号画像の画像データを、その順に記憶し、符号化順に記憶した各フレームの復号画像の画像データを、表示順に読み出して、図2の画像処理部112に出力する。
  フレームメモリ150は、供給される復号画像を記憶し、所定のタイミングにおいて、若しくは、イントラ予測部152や動き補償部153等の外部の要求に基づいて、記憶している復号画像を参照画像として、選択部151を介してイントラ予測部152や動き補償部153に供給する。
  イントラ予測部152には、イントラ予測モード情報等が可逆復号部142から適宜供給される。イントラ予測部152は、符号化側のイントラ予測部において用いられたイントラ予測モード(最適イントラ予測モード)でイントラ予測を行い、予測画像を生成する。その際、イントラ予測部152は、選択部151を介してフレームメモリ150から供給される再構成画像の画像データを用いてイントラ予測を行う。すなわち、イントラ予測部152は、この再構成画像を参照画像(周辺画素)として利用する。イントラ予測部152は、生成した予測画像を予測画像選択部154に供給する。
  動き補償部153には、最適予測モード情報や動きベクトル情報等が可逆復号部142から適宜供給される。動き補償部153は、可逆復号部142から取得された最適予測モード情報が示すインター予測モード(最適インター予測モード)で、フレームメモリ150から取得した復号画像(参照画像)を用いてインター予測を行い、予測画像を生成する。
  予測画像選択部154は、イントラ予測部152から供給される予測画像または動き補償部153から供給される予測画像を、演算部145に供給する。そして、演算部145においては、その予測画像と逆直交変換部144からの復号残差データ(差分画像情報)とが加算されて再構成画像が得られる。
[階層ブロック分割情報の例]
 次に、図5乃至図7を参照して、階層ブロック分割情報(Quadtree情報)としてのCUサイズのパース方法について説明する。図5は、CTU(Coding Tree Unit)のシンタクスの例を示す図である。なお、以下のシンタックスが示される図において、各行の左端の数字は説明のために付した行番号である。
 図5の第6行目には、CTUのシンタクスに、coding_quadtreeが設定されている。
 図6は、図5の第6行目のcoding_quadtreeのシンタクスの例を示す図である。
  図6の第3行目には、split_cu_flagが示されている。ここで、split_cu_flag=1である場合、このCUがより小さなサイズのCUに分割されいることを示す。
  図6の第8行目乃至第18行目に示されるように、coding_quadtreeは、分割状況に応じて、再帰的にコールされる。第19行目には、coding_unitが設定されている。
 CUサイズは、以上のように設定されるCTUのcoding_quadtree内のsplit_cu_flagを参照することでパースすることができる。
 図7は、図6の第3行目のsplit_cu_flagのセマンテクスの例を示す図である。
 split_cu_flag[x0][y0]は、cuが縦横半分のサイズのcuに分割されているかを示す。x0,y0の配列インデックスは、画像の左上の輝度画素に関連するとみなされたブロックの左上の輝度画素の(x0,y0)の位置を示す。
 split_cu_flag[x0][y0]が存在しないとき、次に従う。
-log2CbSizeがMinCbLog2SizeYより大きいなら、split_cu_flag[x0][y0]の値は、1に等しいと推測される。
-そうではなく、log2CbSizeがMinCbLog2SizeYと等しいなら、split_cu_flag[x0][y0]の値は、0に等しいと推測される。
 CtDepth[x][y]の配列は、(x,y)の位置をカバーする輝度ブロックのコーディングツリーの深さを示している。split_cu_flag[x0][y0]が0に等しいとき、CtDepth[x][y]は、cqtDepth for x=x0..x0+nCbS  1 and y=y0..y0 + nCbS  1に等しいとみなされる。
 また、図8乃至図10を参照して、階層ブロック分割情報としてのPUサイズのパース方法について説明する。図8および図9は、上述した図6の第19行目のCU(coding_unit)のシンタクスの例を示す図である。
 図8の第13行目には、part_modeが設定されている。また、図9の第67行目には、transform_treeが設定されている。
 ここで、PUサイズは、以上のように設定されるCTUのcoding_quadtree内のcoding_unitにおける、次に説明するpart_modeを参照することでパースすることができる。
 図10は、図8の第13行目のpart_modeのセマンテクスの例を示す図である。
 part_modeのセマンテクスは、現在のCUのパーティション分割モードを示している。part_modeのセマンテクスは、CuPredMode[x0][y0]に依存する。さまざまなPartModeとIntraSplitFlagは、図中下のテーブルに定義されているpart_modeの値から導かれる。
 part_modeの値は、次のように制約されている。
・CuPredMode[x0][y0]がMode_INTRAと等しいとき、part_modeは、0または1に等しい。
・そうではなく、CuPredMode[x0][y0]がMode_IINTERと等しいならば、次を適用する。
・もしlog2CbSizeがMinCbLog2SizeYより大きく、amp_enabled_flagが1に等しいならば、part_modeは、0乃至2の範囲か、または、4乃至7の範囲に含まれる。
・そうではなく、もし、log2CbSizeがMinCbLog2SizeYより大きく、amp_enabled_flagが1に等しいか、あるいは、log2CbSizeが3に等しいならば、part_modeは、0乃至2の範囲に含まれる。
・そうではなく、log2CbSizeが3より大きく、MinCbLog2SizeYより以下か、同じであるならば、part_modeの値は、0乃至3の範囲に含まれる。
 part_modeが存在しないとき、さまざまなPartModeとIntraSplitFlagは、次のように導かれる。
・PartModeは、PART_2N×2Nとなるように設定される。
・IntraSplitFlagは、0となるように設定される。
 図10に示されるテーブルにおいては、次のように示されている。すなわち、CuPredMode[x0][y0]がMode_INTRAで、part_modeが0で、IntraSplitFlagが0のとき、PartModeは、PART 2N×2Nであることが示されている。CuPredMode[x0][y0]がMode_INTRAで、part_modeが1で、IntraSplitFlagが1のとき、PartModeは、PART N×Nであることが示されている。
 CuPredMode[x0][y0]がMode_INTERで、part_modeが0で、IntraSplitFlagが0のとき、PartModeは、PART 2N×2Nであることが示されている。CuPredMode[x0][y0]がMode_ INTERで、part_modeが1で、IntraSplitFlagが0のとき、PartModeは、PART 2N×Nであることが示されている。
 CuPredMode[x0][y0]がMode_INTERで、part_modeが2で、IntraSplitFlagが0のとき、PartModeは、PART N×2Nであることが示されている。CuPredMode[x0][y0]がMode_ INTERで、part_modeが3で、IntraSplitFlagが0のとき、PartModeは、PART N×Nであることが示されている。
 CuPredMode[x0][y0]がMode_INTERで、part_modeが4で、IntraSplitFlagが0のとき、PartModeは、PART 2N×nUであることが示されている。CuPredMode[x0][y0]がMode_ INTERで、part_modeが5で、IntraSplitFlagが0のとき、PartModeは、PART 2N×nDであることが示されている。
 CuPredMode[x0][y0]がMode_INTERで、part_modeが6で、IntraSplitFlagが0のとき、PartModeは、PART nL×2Nであることが示されている。CuPredMode[x0][y0]がMode_ INTERで、part_modeが7で、IntraSplitFlagが0のとき、PartModeは、PART nR×2Nであることが示されている。
 さらに、図11および図12を参照して、階層ブロック分割情報としてのTUサイズのパース方法について説明する。図11は、上述した図9の第67行目のtransform_treeのシンタクスの例を示す図である。
 図11の第3行目には、split_transform_flagが設定されている。図11の第13行目乃至第16行目に示されるように、transform_treeは、再帰的に呼び出せる構成となっている。
 ここで、TUサイズは、以上のように設定されるCTUのcoding_quadtree内のcoding_unitのtransform_tree内における、次に説明するsplit_transform_flagを参照することでパースすることができる。
 図12は、図11の第3行目のsplit_transform_flagのセマンテクスの例を示す図である。
  split_transform_flag[x0][y0][trafoDepth]は、1つのブロックが、変換符号化のために縦横半分のサイズで4つのブロックに分けられているかを示す。x0,y0の配列インデックスは、画像の左上の輝度画素に関連するとみなされたブロックの左上の輝度画素の(x0,y0)の位置を示す。trafoDepthの配列インデックスは、変換符号化の目的のためのブロックへの、コーディングブロックの現在の分割レベルを示している。trafoDepthは、コーディングブロックと一致するブロックのために0に等しい。
 さまざまなinterSpritFlagは、次のように導かれる。
-もし、maxtransform_hierarchy_depth_interが0に等しく、CuPredMode[x0][y0]がMODE_INTERで、PartModeがPART_2N×2Nではなく、trafoDepthが0と等しいならば、interSplitFlagは、1に等しく設定される。
-そうでない場合、interSplitFlagは、0に等しく設定される。
 split_transform_flag[x0][y0][trafoDepth]がないとき、次のように導かれる。
-次に続く状態の1または複数が真ならば、split_transform_flag[x0][y0][trafoDepth]は1に等しいと推測される。
-Log2TrafoSizeは、Log2MaxTrafoSizeより大きい。
-IntraSplitFlagは、1に等しく、trafoDepthは、0に等しい。
-InterSplitFlagは、1に等しい。
-そうでなければ、split_transform_flag[x0][y0][trafoDepth]の値は、0に等しい。
[動体領域検出器の構成]
 図13は、図2の動体領域検出器の構成例を示すブロック図である。図13の例においては、階層ブロック分割情報としてPU分割情報が入力される例が示されている。
  動体領域検出器122は、境界ブロック判定部181、ラベリング部182、および動体静止判定部183を含むように構成されている。
 境界ブロック判定部181には、復号部111からのデコード画像、および階層ブロック分割情報としてPU分割情報が入力される。
  境界ブロック判定部181は、PU分割情報より、ブロックサイズマップを作成し、作成したマップを参照し、境界ブロック判定を行う。すなわち、境界ブロック判定部181は、境界ブロック判定として、境界初期値を設定して、物体境界の収束判定を行い、物体境界情報の更新を行う。そして、境界ブロック判定部181は、物体境界情報に基づいて、境界上、または境界に隣接しているブロックを境界(エッジ)ブロックとして特定する。
 境界ブロック判定部181は、デコード画像、作成したブロックサイズマップ、および特定した境界ブロックの情報を、ラベリング部182に供給する。
 ラベリング部182は、境界ブロック判定部181により特定された境界ブロックに基づき、画像において、隣接しているブロック同士を統合し、オブジェクト単位のラベリングを行い、オブジェクト単位の領域に分割する。ラベリング部182は、デコード画像と、各オブジェクトの領域の情報とを動体静止判定部183に出力する。
 また、動体静止判定部183には、MV変換器121からの動きベクトル情報が入力される。
 動体静止判定部183は、オブジェクトの領域毎に動きベクトルの平均値を算出し、算出された動きベクトルの平均値が閾値以上であるか否かに応じて、その領域が動体領域または静止領域であると判定する。動体静止判定部183による判定結果は、動体領域情報として、動画像処理器123に供給される。
[オブジェクトの境界線の検出]
 上述したように、動体領域検出器122においては、SNAKEに代表されるような領域分割方法が適用され、その後、オブジェクト単位のラベリングが行われる。ここで、階層ブロック分割情報に基づいて生成されたブロックサイズマップ情報から、オブジェクトの境界線を検出する方法について説明する。
 まず、境界線は、ブロック分割で分割された各ブロックのエッジおよび、その対角線の中から選択される。図14のAに示されるブロック分割の場合、境界線候補は、図14のBに示される最小の矩形の集まりのようになる。
 ここで、予め定められたエネルギ(コスト)計算方法に従い、コストを計算し、エネルギ最小となる境界線を求め、その後の処理に使用する。
 例えば、次の式(1)に示されるように、エッジ境界のエネルギを設定し、エネルギが最小となる境界条件を求めることで、エッジ境界を求めるものとする。
Figure JPOXMLDOC01-appb-M000001
  Eintは、内部エネルギとして定義され、一般に境界線の線長などが適用される。例えば、Eintとして、境界線の距離の合計値などが利用される。
 また、Eextは、外部エネルギとして定義され、例えば、大きなブロックに隣接もしくは通過する境界線には大きなエネルギを、小さなブロックに隣接する境界線には小さなエネルギを割り振る。
 以上のように、エネルギを定義し、エネルギ最小となる境界線を求めることで、小さいブロックを通過しつつ、無駄経路を通過しない境界線を算出することが可能となる。
 なお、デコード画像の情報を併用し、分割境界を画素精度まで向上させることも可能である。
[画像処理]
  次に、図15のフローチャートを参照して、図2の画像処理装置101の画像処理について説明する。
 復号部111は、図示せぬ外部よりHEVC規格により符号化されたビットストリームを入力する。復号部111は、ステップS101において、入力されたビットストリームをHEVC規格に従って復号する。この復号処理は、図16を参照して後述される。復号部111は、ステップS101において復号されたデコード画像を動体領域検出器122および動画像処理器123に出力する。
  また、復号部111は、復号に用いたビットストリーム内の符号化情報である動きベクトル情報をMV変換器121に出力する。復号部111は、復号に用いたビットストリーム内の符号化情報であるPUの階層ブロック分割情報を動体領域検出器122に出力する。
  ステップS102において、MV変換器121は、復号部111からの動きベクトル情報に基づいて、符号化順序から表示順序への方向などの正規化を行い、信号処理を行って、後段の各部が利用可能な動きベクトルに変換する。MV変換器121は、変換後の動きベクトルを動体領域検出器122および動画像処理器123に供給する。
  ステップS103において、動体領域検出器122は、階層ブロック分割情報、動きベクトル、およびデコード画像の情報などを用いて、動体領域特定処理を行う。この動体領域特性処理については、図17を参照して後述される。
 ステップS103により、動体領域の特定が行われ、特定した動体領域の情報が、動画像処理器123に供給される。
  ステップS104において、動画像処理器123は、動体領域検出器122からの動物体領域の情報、MV変換器121からの動きベクトルを基に、復号部111からのデコード画像に対して、コマ数補間処理(高フレームレート化処理)、ノイズリダクションなどの高画質化処理を施す。動画像処理器123は、高画質化処理の結果の高画質画像を、外部に出力する。
 [復号処理の流れ]
  次に、図15のステップS101において、復号部111により実行される復号処理の流れの例を、図16のフローチャートを参照して説明する。
  復号処理が開始されると、ステップS121において、蓄積バッファ141は、伝送されてきたビットストリーム(符号化データ)を蓄積する。ステップS122において、可逆復号部142は、蓄積バッファ141から供給されるビットストリーム(符号化データ)を復号する。すなわち、符号化側により符号化されたIピクチャ、Pピクチャ、並びにBピクチャ等の画像データが復号される。
  このとき、ヘッダ情報などのビットストリームに含められた画像データ以外の各種情報も復号される。そして、可逆復号部142は、復号された各種情報のうち必要なものを、対応する各部に供給する。また、可逆復号部142は、復号された各種情報のうち、例えば、上述した階層ブロック分割情報、予測モード情報、動きベクトル情報、マクロブロック情報、およびSAOパラメータなどの後段の高画質化処理に必要な情報を、図2の画像処理部112に供給する。
  ステップS123において、逆量子化部143は、ステップS122の処理により得られた、量子化された係数を逆量子化する。ステップS124において、逆直交変換部144は、ステップS123において逆量子化された係数を逆直交変換する。
  ステップS125において、イントラ予測部152若しくは動き補償部153は、予測処理を行い、予測画像を生成する。つまり、可逆復号部142において判定された、符号化の際に適用された予測モードで予測処理が行われる。より具体的には、例えば、符号化の際にイントラ予測が適用された場合、イントラ予測部152が、符号化の際に最適とされたイントラ予測モードで予測画像を生成する。また、例えば、符号化の際にインター予測が適用された場合、動き補償部153が、符号化の際に最適とされたインター予測モードで予測画像を生成する。
  ステップS126において、演算部145は、ステップS124において逆直交変換されて得られた差分画像に、ステップS125において生成された予測画像を加算する。これにより再構成画像の画像データが得られる。
  ステップS127において、デブロッキングフィルタ146は、ステップS126の処理により得られた再構成画像の画像データに対して、デブロッキングフィルタ処理を行う。これによりブロック歪み等が除去される。ステップS128において、適応オフセットフィルタ147は、デブロッキングフィルタ146からのデブロッキングフィルタ処理結果に対して、主にリンギングを除去する適応オフセットフィルタ処理を行う。このとき、可逆復号部142からのSAOパラメータが用いられる。
  ステップS129において、画面並べ替えバッファ148は、ステップS128において適応オフセットフィルタ処理された再構成画像の各フレームの並べ替えを行う。すなわち、符号化の際に並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
  ステップS130において、画面並べ替えバッファ148は、各フレームの復号画像を、図2の画像処理部112に出力する。
  ステップS131において、フレームメモリ150は、ステップS128の処理により得られた復号画像やステップS127の処理により得られた再構成画像等のデータを記憶する。
  ステップS131の処理が終了すると、復号処理が終了し、処理は図15に戻る。
[動体領域特定処理]
 次に、図17のフローチャート、並びに図18および図19を参照して、図15のステップS103の動体領域特性処理について説明する。
 境界ブロック判定部181には、復号部111からのデコード画像、および階層ブロック分割情報としてPU分割情報が入力される。
  ステップS151において、境界ブロック判定部181は、PU分割情報より、ブロックサイズマップを作成する。例えば、図18のAに示されるように、空、山といった特徴量が均一な領域に大きなブロック(例えば、PU)が割り振られ、山の稜線など局所的な特徴量の変化が大きい部分に関しては、小さいブロックが割り振られる傾向がある。
 境界ブロック判定部181は、HEVCストリームのこの性質を用いて、PU分割情報より、画像内のどの位置が分割されているかを示すブロックサイズマップを作成する。これにより、PU分割情報では、わかりにくかった空間的に隣接したブロックの状態をわかりやすくすることができる。
 ステップS152において、境界ブロック判定部181は、境界初期値を設定する。例えば、図18のBに示されるように、フレーム画枠が境界と設定される。なお、図18および図19の例において、太線が設定された境界を表している。
 ステップS153において、境界ブロック判定部181は、物体境界情報の更新を行う。すなわち、境界ブロック判定部181は、物体境界情報の更新として、物体境界の収束処理を行い、物体境界情報を更新する。
  具体的には、境界ブロック判定部181は、図18のCの左上の太線に示されるように、S152により設定された境界初期値の1点箇所のみを変更し、よりエネルギの低い境界線を算出する。変更可能な箇所が複数存在する場合、一番エネルギ削減幅の大きい箇所(境界)が変更される。
 ステップS154において、境界ブロック判定部181は、境界が収束したか否かを判定する。境界線変更候補がまだ存在し、ステップS154において、境界が収束していないと判定された場合、処理は、ステップS153に戻り、それ以降の処理が繰り返される。
  例えば、図19のAに示されるように、境界線変更候補がもう存在せず、ステップS154において、境界が収束したと判定された場合、処理は、ステップS155に進む。
 ステップS155において、境界ブロック判定部181は、ステップS153により更新された物体境界情報に基づいて、図19のBにおいて太線で示される境界上または境界に隣接しているブロックを、境界ブロックEBとして特定する。
 境界ブロック判定部181は、デコード画像、作成したブロックサイズマップ、および特定した境界ブロックEBの情報を、ラベリング部182に供給する。
 ステップS156において、ラベリング部182は、境界ブロック判定部181により特定された境界ブロックEBに基づき、画像において、隣接しているブロック同士を統合し、オブジェクト単位でラベルを付加する。すなわち、図19のCの異なる種類のハッチングに示されるように、オブジェクト毎の領域にラベルが付加される。ラベリング部182は、デコード画像と、各オブジェクトの領域の情報とを動体静止判定部183に出力する。
 ステップS157において、動体静止判定部183は、動体、静止判定を行う。すなわち、動体静止判定部183は、オブジェクトの領域毎に動きベクトルの平均値を算出し、算出された動きベクトルの平均値が閾値以上であるか否かに応じて、その領域が動体領域または静止領域であると判定する。動体静止判定部183による判定結果は、動体領域情報として、動画像処理器123に供給される。
 なお、複数オブジェクトが存在する場合、別途初期値を設定し、収束演算を行うことで、複数オブジェクトの分割も可能である。
 以上のように、デコードされた符号化情報を用いて、動体領域情報を生成し、高画質化処理に用いるようにしたので、効率よく、かつ、低コストで、高画質化処理を行うことができる。また、領域検出、並びに、高画質化処理を高精度化することができる。
 さらに、圧縮ノイズに対してのロバストネスを実現することができる。すなわち、一般的にブロックノイズなどの圧縮歪は、物体の領域判定などに悪影響をおよぼすことが多い。これに対して、画像情報を直接用いず、ビットストリーム情報(デコードされた符号化情報)を用いることで、これら画像上の圧縮歪みの影響を抑制することができる。
 なお、上記説明においては、デコードされた符号化情報として、階層ブロック分割情報や動きベクトル情報を用いる例を説明してきたが、他のパラメータを用いることもできる。次に、他のパラメータの例として、マクロブロックタイプやSAOパラメータを用いる例について説明する。
<第2の実施の形態>
[概要]
 まず、SAOに関する情報を用いたオクルージョン領域や変形物体の検出について説明する。
 コマ数補間処理などの画像処理においては、図20に示されるような物体の移動などにより出現したオクルージョン領域や、過度に変形したオブジェクトなどを検出し、近傍フレームからの参照を制限するなどの処理が必要となるケースがある。
 画像符号化においては、動き予測が有効に利用できないブロックに対し、イントラマクロブロックを利用した符号化を行うことが多い。すなわち、物体が移動した後の背景部分(すなわち、オクルージョン領域)、過度に変形した物体、シーンチェンジ直後などでは、イントラマクロブロックが選択され、画内予測で符号化されることが多い。
 そこで、デコードされた符号化情報であるマクロブロックタイプを用いることで、オクルージョン領域および過変形領域を検出することが可能となる。
 しかしながら、オクルージョンや過変形領域以外にも、エッジを含まない平坦な背景領域などで、イントラマクロブロックが選択されることがある。たとえば、暗所での撮影時において、白壁などの平坦部にノイズが重畳している場合、ノイズの影響により、フレーム間予測よりフレーム内予測の方が符号化効率的に有利と判定され、イントラ予測が用いられることがある。
 以上のことから、イントラマクロブロック(マクロブロックの情報)に注目することで、オクルージョンおよび過変形領域の検出を行うことができるが、符号化効率観点で選択された平坦部を除外する必要が生じる。
 そこで、本技術においては、デコードされた符号化情報であるマクロブロックタイプの情報に加えて、上述した図4に示される適応オフセットフィルタ147のSAOで用いられるSAOパラメータを用いて、オクルージョンおよび過変形領域を検出する。
  SAOは、デコード画像に生じた直流成分の誤差やエッジ周辺のモスキートノイズの歪みを抑えるために用いられる。SAOは、バンドオフセットおよびエッジオフセットの2つの種類(モード)が存在する。バンドオフセットは、図21のAに示されるような復号画像上の直流成分の誤差を補正する目的で利用される。一方、エッジオフセットは、図21のBに示されるようなエッジ周辺に発生したモスキートノイズを補正する目的で利用される。
 モスキートノイズは、エッジ周辺にて発生するため、エッジ近辺においては、エッジオフセットが選択されることが多い。逆に平坦部においては、エッジオフセットは選択されることが少ないため、エッジ部および平坦部の切り分けを、エッジオフセットモードであるか、またはバンドオフセットモードであるかを示すSAOモードで行うことが可能である。
  これらの特性を利用し、マクロブロックモードおよびSAOモードの双方を確認することで、オクルージョン領域および過変形領域の検出を行うことが可能となる。
  すなわち、マクロブロックタイプのフラグ、およびSAOモードのフラグをビットストリームより取得し、マクロブロックタイプがイントラで、エッジオフセットモードが選択されたマクロブロックに関しては、オクルージョン領域または過変形領域であると推定できる。
 そのため、これらの領域は、コマ数補間処理(高フレームレート化処理)などの時間軸処理が適さない可能性がある。したがって、これらの情報を利用することで、時間軸処理の処理除外領域と設定することができる。これにより、時間軸処理による画像破綻を防ぐことが可能となる。
[画像処理装置の構成例]
  図22は、符号化情報を用いる画像処理装置の他の構成例を示すブロック図である。図2の例において、画像処理装置201は、復号部111および画像処理部211により構成されている。
 具体的には、画像処理装置201は、復号部111を備える点は、図2の画像処理装置101と共通している。一方、画像処理装置201は、画像処理部112が画像処理部211に入れ替わった点は、図2の画像処理装置101と異なっている。
 画像処理部211は、MV変換器121と動画像処理器123とを備える点は、図2の画像処理部112と共通している。画像処理部211は、動体領域検出器122が、領域分割部221に入れ替わった点が、図2の画像処理部112と異なっている。
 すなわち、復号部111からのデコード画像は、領域分割部221および動画像処理器123に入力される。復号部111からのデコードされた符号化情報(ストリームデータ)は、領域分割部221に入力される。例えば、符号化情報は、階層ブロック分割情報、マクロブロックタイプ、SAOモードなどがあげられる。MV変換器121からの、変換後の動きベクトルは、領域分割部221および動画像処理器123に供給される。
  領域分割部221は、復号部111からの符号化情報(階層ブロック分割情報、マクロブロックタイプ、SAOモードなど)、MV変換器121からの動きベクトル情報、およびデコード画像の情報を用いて、時間軸処理領域の決定を行う。領域分割部221は、決定された領域情報を、動画像処理器123に供給する。
 なお、オクルージョン領域および過変形領域の検出のみの場合、領域分割部221においては、符号化情報としては、マクロブロックタイプおよびSAOモードがあればよく、この場合、階層ブロック情報と動きベクトルは必須ではない。
[領域分割部の構成例]
  図23は、図22の領域分割部の詳細な構成例を示すブロック図である。
  図23の例において、領域分割部221は、物体境界検出器231、図2の動体領域検出器122、時間軸処理非適応領域決定器232、および時間軸処理領域決定器233を含むように構成されている。
 復号部111からのデコード画像は、物体境界検出器231、動体領域検出器122、時間軸処理非適応領域決定器232に入力される。また、復号部111からの符号化情報のうち、CU/TU分割情報は、物体境界検出器231に入力される。復号部111からの符号化情報のうち、PU分割情報は、動体領域検出器122に入力される。復号部111からの符号化情報のうち、マクロブロックタイプとSAOモードの情報は、時間軸処理非適応領域決定器232に供給される。
 物体境界検出器231は、デコード画像、CU/TUの分割情報に基づいて、物体の境界情報を検出する。物体境界検出器231は、検出された物体の境界情報を時間軸処理領域決定器233に供給する。
 動体領域検出器122は、図2の動体領域検出器122と基本的に同様に構成されている。動体領域検出器122は、デコード画像、PUの分割情報、動きベクトル情報に基づいて、物体の境界を検出し、領域毎に分割後、領域毎に動き、静止判定を行い、動体領域の検出を行う。動体領域検出器122により検出された動体領域情報は、時間軸処理領域決定器233に供給される。
 時間軸処理非適応領域決定器232は、デコード画像、マクロブックタイプ、およびSAOモードの情報に基づいて、オクルージョン、過変形物体等の時間軸処理が適用できない領域の検出をおこなう。時間軸処理非適応領域決定器232により決定された情報は、時間軸処理領域決定器233に供給される。
 時間軸処理領域決定器233は、物体の境界情報、動体領域の情報、時間軸処理非適応領域の情報に基づいて、最終的な時間軸処理の領域マップを生成し、生成した領域マップの情報を、図22の動画像処理器123に供給する。
 なお、図23の例においては、マクロブックタイプおよびSAOモードと、階層ブロック分割情報とが併用される例が示されている。したがって、マクロブックタイプおよびSAOモードのみが用いられる場合、物体境界検出器231および動体領域検出器122は、領域分割部221から除かれてもよい。
[物体境界検出器の構成例]
 図24は、図23の物体境界検出器231の構成例を示すブロック図である。図24の例においては、階層ブロック分割情報としてCU/TU分割情報が入力される例が示されている。
 図24の例において、物体境界検出器231は、境界ブロック判定部181とラベリング部182を備える点は、図13の動体領域検出器122と共通している。物体境界検出器231は、動体静止判定部183が除かれている点と、境界ブロック判定部181に入力される階層ブロック分割情報が、PU分割情報ではなく、CU/TU分割情報である点が、図13の動体領域検出器122と異なっている。
 すなわち、境界ブロック判定部181は、CU/TU分割情報より、ブロックサイズマップを作成し、作成したマップを参照し、境界ブロック判定を行う。すなわち、境界ブロック判定部181は、境界ブロック判定として、境界初期値を設定して、物体境界の収束判定を行い、物体境界情報の更新を行う。そして、境界ブロック判定部181は、物体境界情報に基づいて、境界上、または境界に隣接しているブロックを境界(エッジ)ブロックとして特定する。
 境界ブロック判定部181は、デコード画像、作成したブロックサイズマップ、および特定した境界ブロックの情報を、ラベリング部182に供給する。
 ラベリング部182は、境界ブロック判定部181により特定された境界ブロックに基づき、画像において、隣接しているブロック同士を統合し、オブジェクト単位のラベリングを行い、オブジェクト単位の領域に分割する。ラベリング部182は、デコード画像と、各オブジェクトの領域の情報とを、時間軸処理領域決定器233に供給する。
[画像処理]
  次に、図25のフローチャートを参照して、図22の画像処理装置201の画像処理について説明する。
 復号部111は、図示せぬ外部よりHEVC規格により符号化されたビットストリームを入力する。復号部111は、ステップS201において、入力されたビットストリームをHEVC規格に従って復号する。この復号処理は、図16を参照して上述された処理と基本的に同様の処理を行うため繰り返しになるので、この説明は省略される。復号部111は、ステップS201において復号されたデコード画像を領域分割部221および動画像処理器123に出力する。
  また、復号部111は、復号に用いたビットストリーム内の符号化情報である動きベクトル情報をMV変換器121に出力する。復号部111は、復号に用いたビットストリーム内の符号化情報(階層ブロック分割情報、マクロブロックタイプ、SAOモード情報など)を領域分割部221に出力する。
  ステップS202において、MV変換器121は、復号部111からの動きベクトル情報に基づいて、符号化順序から表示順序への方向などの正規化を行い、信号処理を行って、後段の各部が利用可能な動きベクトルに変換する。MV変換器121は、変換後の動きベクトルを領域分割部221および動画像処理器123に供給する。
  ステップS203において、領域分割部221は、階層ブロック分割情報、動きベクトル、およびデコード画像の情報などを用いて、領域分割処理を行う。この領域分割処理については、図26を参照して後述される。
 ステップS203により、領域の分割処理が行われ、分割された領域の情報が、動画像処理器123に供給される。
  ステップS204において、動画像処理器123は、領域分割部221からの分割された領域の情報、MV変換器121からの動きベクトルを基に、復号部111からのデコード画像に対して、コマ数補間処理、ノイズリダクションなどの高画質化処理を施す。動画像処理器123は、高画質化処理の結果の高画質画像を、外部に出力する。
[領域分割処理]
 次に、図26のフローチャート、並びに図27および図28を参照して、図25のステップS203の領域分割処理について説明する。例えば、図27に示されるように、自動車が2台並走している動画像のフレームnの情報を利用し、フレームn+1に対し、何らかの高画質化処理を施す例について説明する。
  復号部111からのデコード画像は、物体境界検出器231、動体領域検出器122、時間軸処理非適応領域決定器232に入力される。また、復号部111からの符号化情報のうち、CU/TU分割情報は、物体境界検出器231に入力される。復号部111からの符号化情報のうち、PU分割情報は、動体領域検出器122に入力される。復号部111からの符号化情報のうち、マクロブロックタイプとSAOモードの情報は、時間軸処理非適応領域決定器232に供給される。
 物体境界検出器231は、ステップS221において、デコード画像、CU/TUの分割情報に基づいて、物体の境界情報を検出する。この物体境界の検出処理については図29を参照して後述する。このステップS221により、フレームn+1のデコード画像から、CU/TUの分割情報を用いて、物体境界情報が取得される。例えば、図28のAに示されるように、物体1(標識)、物体2(車)、物体3(車)といった単位で、物体の境界情報が取得される。取得された物体の境界情報は、時間軸処理領域決定器233に供給される。
 ステップS222において、動体領域検出器122は、階層ブロック分割情報、動きベクトル、およびデコード画像の情報などを用いて、動体領域特定処理を行う。この動体領域特定処理は、図16を参照して上述した処理と基本的に同様の処理であるため、その説明は繰り返しになるので省略される。
 このステップS222により、フレームn+1のデコード画像から、PUの分割情報および動きベクトルを用いて、均一な動きを持つ領域の境界情報が検出される。例えば、図28のBに示されるように、画像が、静止領域と動体領域に分割される。ステップS222により、特定された動体領域の情報は、時間軸処理領域決定器233に供給される。
 ステップS223において、時間軸処理非適応領域決定器232は、デコード画像から、マクロブックタイプ、SAOモードの情報に基づいて、オクルージョン、過変形領域等の時間軸処理が適用できない領域の検出をおこなう。この時間軸処理非適応領域の検出処理は、図30を参照して後述する。このステップS223より、図28のCに示されるように、フレームN+1において、車の移動により出現したオクルージョン領域などを検出することができる。
 時間軸処理非適応領域決定器232により検出されたオクルージョンや過変形領域情報は、時間軸処理非適応領域の情として、時間軸処理領域決定器233に供給される。
 時間軸処理領域決定器233は、ステップS224において、物体の境界情報、動体領域の情報、時間軸処理非適応領域の情報に基づいて、最終的な時間軸処理領域を決定し、時間軸処理非適応領域決定の領域マップを生成する。
  ステップS224により生成された領域マップの情報は、図22の動画像処理器123に供給される。これにより、動画像処理器123においては、時間軸処理が適さない処理の場合に、処理除外領域に時間軸処理を禁止することができるので、時間軸処理による画像破綻を防ぐことができる。
[物体境界検出処理]
 次に、図29のフローチャートを参照して、図26のステップS221における物体境界検出処理について説明する。なお、図29のステップS241乃至S245は、図17のステップS151乃至S156と基本的に同様の処理を行うので、その説明は省略される。
 したがって、ステップS245によりオブジェクト毎の領域にラベルが付加され、ラベルが付加された各オブジェクトの領域の情報は、時間軸処理領域決定器233に供給される。
 なお、図29の処理においても、複数オブジェクトが存在する場合、別途初期値を設定し、収束演算を行うことで、複数オブジェクトの分割も可能である。
[時間軸処理非適応領域の検出処理]
 次に、図30のフローチャートを参照して、図26のステップS223における時間軸処理非適応領域の検出処理について説明する。
 ステップS261において、時間軸処理非適応領域決定器232は、復号部111からのマクロブロックタイプがイントラマクロブロックであるか否かを判定する。ステップS261において、イントラマクロブロックであると判定された場合、処理は、ステップS262に進む。
 ステップS262において、時間軸処理非適応領域決定器232は、復号部111からのSAOモードがエッジオフセットモードであるか否かを判定する。ステップS262においてエッジオフセットモードであると判定された場合、処理は、ステップS263に進む。
 ステップS263において、時間軸処理非適応領域決定器232は、そのマクロブロックがオクルージョン、過変形領域であるとする。
 一方、ステップS261において、マクロブロックがイントラマクロブロックではない、すなわち、インターマクロブロックであると判定された場合、処理は、ステップS264に進む。また、ステップS262において、SAOモードがエッジオフセットモードではない、すなわち、バンドオフセットモードであると判定された場合、処理は、ステップS264に進む。
 ステップS264において、時間軸処理非適応領域決定器232は、そのマクロブロックが時間処理適用可能領域であるとする。
[時間軸処理領域決定処理]
 次に、図31のフローチャートと、図32を参照して、図26のステップS224における時間軸処理領域決定処理の他の例について説明する。すなわち、上記説明において、時間軸処理領域決定器233は、ステップS224において、時間処理非適応領域の決定のみを行ったが、他の領域の決定も行い、決定された領域の情報も供給することができる。
 ステップS281において、時間軸処理領域決定器233は、物体境界検出器231からの物体の境界情報と、動体領域検出器122からの動体領域の情報とを合成する。すなわち、CU/TUより検出された物体の境界情報に対し、PUおよび動きベクトルから検出された動体領域の除法を参照し、図32のAに示されるように、オブジェクト毎に動体オブジェクト(動物体)、静止オブジェクト(静止物体)のアサインを行う。
 ステップS282において、ステップS281により合成された領域情報に対し、時間軸処理領域決定器233は、時間軸処理非適応領域決定器232からの時間処理非適応領域を上書きする。これにより、図32のBに示されるように、オブジェクト毎の動物体領域、オブジェクト毎の静止物体領域と、時間処理非適応領域に分割された時間処理領域マップが生成される。
 生成された時間処理領域マップは、動画像処理器123に供給される。例えば、コマ数補間処理(高フレームレート化処理)の場合、動画像処理器123においては、標準の高画質処理に加えて、分割された領域の結果に応じて、図33に示されるような処理が適用される。
  すなわち、領域が動物体領域である場合、動画像処理器123においては、各動体の動きを考慮した補間処理が適用される。領域が静止物体領域である場合、動画像処理器123においては、時間方向での補間処理は行われない。領域が時間処理非適応処理である場合、破綻を回避するための処理が適用される。
 以上のように、処理領域毎に高画質処理を分けて行うことができるので、さらに、画質を向上させることができる。
 なお、上記説明においては、HEVC規格のデコーダを構成する画像処理装置の例を説明してきたが、デコーダにおける符号化方法は、HEVC規格に限らない。本技術は、例えば、階層構造を有する符号化方法であって、エッジオフセットおよびバンドオフセットなどフィルタを行う符号化方法で符号化する際に用いる符号化パラメータを利用する場合に適用することができる。
 <第3の実施の形態>
[コンピュータの構成例]
 上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
 図34は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 コンピュータ800において、CPU(Central Processing Unit)801,ROM(Read Only Memory)802,RAM(Random Access Memory)803は、バス804により相互に接続されている。
 バス804には、さらに、入出力インタフェース805が接続されている。入出力インタフェース805には、入力部806、出力部807、記憶部808、通信部809、及びドライブ810が接続されている。
 入力部806は、キーボード、マウス、マイクロホンなどよりなる。出力部807は、ディスプレイ、スピーカなどよりなる。記憶部808は、ハードディスクや不揮発性のメモリなどよりなる。通信部809は、ネットワークインタフェースなどよりなる。ドライブ810は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブル記録媒体811を駆動する。
 以上のように構成されるコンピュータでは、CPU801が、例えば、記憶部808に記憶されているプログラムを、入出力インタフェース805及びバス804を介して、RAM803にロードして実行することにより、上述した一連の処理が行われる。
 コンピュータ800(CPU801)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブル記録媒体811に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
 コンピュータでは、プログラムは、リムーバブル記録媒体811をドライブ810に装着することにより、入出力インタフェース805を介して、記憶部808にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部809で受信し、記憶部808にインストールすることができる。その他、プログラムは、ROM802や記憶部808に、あらかじめインストールしておくことができる。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
 また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。
 また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。つまり、本技術は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 また、例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
 また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
 さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
 上述した実施形態に係る画像符号化装置及び画像復号装置は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、4つの応用例について説明する。
 <応用例>
[第1の応用例:テレビジョン受像機]
 図35は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース909、制御部910、ユーザインタフェース911、及びバス912を備える。
 チューナ902は、アンテナ901を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ902は、復調により得られた符号化ビットストリームをデマルチプレクサ903へ出力する。即ち、チューナ902は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送手段としての役割を有する。
 デマルチプレクサ903は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ904へ出力する。また、デマルチプレクサ903は、符号化ビットストリームからEPG(Electronic Program Guide)などの補助的なデータを抽出し、抽出したデータを制御部910に供給する。なお、デマルチプレクサ903は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
 デコーダ904は、デマルチプレクサ903から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ904は、復号処理により生成される映像データを映像信号処理部905へ出力する。また、デコーダ904は、復号処理により生成される音声データを音声信号処理部907へ出力する。
 映像信号処理部905は、デコーダ904から入力される映像データを再生し、表示部906に映像を表示させる。また、映像信号処理部905は、ネットワークを介して供給されるアプリケーション画面を表示部906に表示させてもよい。また、映像信号処理部905は、映像データについて、設定に応じて、例えばノイズ除去(抑制)などの追加的な処理を行ってもよい。さらに、映像信号処理部905は、例えばメニュー、ボタン又はカーソルなどのGUI(Graphical User Interface)の画像を生成し、生成した画像を出力画像に重畳してもよい。
 表示部906は、映像信号処理部905から供給される駆動信号により駆動され、表示デバイス(例えば、液晶ディスプレイ、プラズマディスプレイ又はOELD(Organic ElectroLuminescence Display)(有機ELディスプレイ)など)の映像面上に映像又は画像を表示する。
 音声信号処理部907は、デコーダ904から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ908から音声を出力させる。また、音声信号処理部907は、音声データについてノイズ除去(抑制)などの追加的な処理を行ってもよい。
 外部インタフェース909は、テレビジョン装置900と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース909を介して受信される映像ストリーム又は音声ストリームが、デコーダ904により復号されてもよい。即ち、外部インタフェース909もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送手段としての役割を有する。
 制御部910は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置900の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース911から入力される操作信号に応じて、テレビジョン装置900の動作を制御する。
 ユーザインタフェース911は、制御部910と接続される。ユーザインタフェース911は、例えば、ユーザがテレビジョン装置900を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース911は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部910へ出力する。
 バス912は、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、音声信号処理部907、外部インタフェース909及び制御部910を相互に接続する。
 このように構成されたテレビジョン装置900において、デコーダ904は、上述した実施形態に係る符号化情報を用いる画像処理装置の機能を有する。それにより、テレビジョン装置900での画像の復号に際して、高画質化処理を効率よく行うことができる。
 [第2の応用例:携帯電話機]
 図36は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機920は、アンテナ921、通信部922、音声コーデック923、スピーカ924、マイクロホン925、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931、操作部932、及びバス933を備える。
 アンテナ921は、通信部922に接続される。スピーカ924及びマイクロホン925は、音声コーデック923に接続される。操作部932は、制御部931に接続される。バス933は、通信部922、音声コーデック923、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、及び制御部931を相互に接続する。
 携帯電話機920は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。
 音声通話モードにおいて、マイクロホン925により生成されるアナログ音声信号は、音声コーデック923に供給される。音声コーデック923は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック923は、圧縮後の音声データを通信部922へ出力する。通信部922は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して音声データを生成し、生成した音声データを音声コーデック923へ出力する。音声コーデック923は、音声データを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
 また、データ通信モードにおいて、例えば、制御部931は、操作部932を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部931は、文字を表示部930に表示させる。また、制御部931は、操作部932を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部922へ出力する。通信部922は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して電子メールデータを復元し、復元した電子メールデータを制御部931へ出力する。制御部931は、表示部930に電子メールの内容を表示させると共に、電子メールデータを記録再生部929の記憶媒体に記憶させる。
 記録再生部929は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、RAM又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USB(Universal Serial Bus)メモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
 また、撮影モードにおいて、例えば、カメラ部926は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部927へ出力する。画像処理部927は、カメラ部926から入力される画像データを符号化し、符号化ストリームを記憶再生部929の記憶媒体に記憶させる。
 また、テレビ電話モードにおいて、例えば、多重分離部928は、画像処理部927により符号化された映像ストリームと、音声コーデック923から入力される音声ストリームとを多重化し、多重化したストリームを通信部922へ出力する。通信部922は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部922は、受信信号を復調及び復号してストリームを復元し、復元したストリームを多重分離部928へ出力する。多重分離部928は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部927、音声ストリームを音声コーデック923へ出力する。画像処理部927は、映像ストリームを復号し、映像データを生成する。映像データは、表示部930に供給され、表示部930により一連の画像が表示される。音声コーデック923は、音声ストリームを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
 このように構成された携帯電話機920において、画像処理部927は、上述した実施形態に係る動き検出器を有する画像処理装置及び符号化情報を用いる画像処理装置の機能を有する。それにより、携帯電話機920での画像の符号化及び復号に際して、高画質化処理を効率よく行うことができる。
 [第3の応用例:記録再生装置]
 図37は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置940は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置940は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置940は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置940は、音声データ及び映像データを復号する。
 記録再生装置940は、チューナ941、外部インタフェース942、エンコーダ943、HDD(Hard Disk Drive)944、ディスクドライブ945、セレクタ946、デコーダ947、OSD(On-Screen Display)948、制御部949、及びユーザインタフェース950を備える。
 チューナ941は、アンテナ(図示せず)を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ941は、復調により得られた符号化ビットストリームをセレクタ946へ出力する。即ち、チューナ941は、記録再生装置940における伝送手段としての役割を有する。
 外部インタフェース942は、記録再生装置940と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース942は、例えば、IEEE1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース942を介して受信される映像データ及び音声データは、エンコーダ943へ入力される。即ち、外部インタフェース942は、記録再生装置940における伝送手段としての役割を有する。
 エンコーダ943は、外部インタフェース942から入力される映像データ及び音声データが符号化されていない場合に、映像データ及び音声データを符号化する。そして、エンコーダ943は、符号化ビットストリームをセレクタ946へ出力する。
 HDD944は、映像及び音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラムおよびその他のデータを内部のハードディスクに記録する。また、HDD944は、映像及び音声の再生時に、これらデータをハードディスクから読み出す。
 ディスクドライブ945は、装着されている記録媒体へのデータの記録及び読み出しを行う。ディスクドライブ945に装着される記録媒体は、例えばDVDディスク(DVD-Video、DVD-RAM、DVD-R、DVD-RW、DVD+R、DVD+RW等)又はBlu-ray(登録商標)ディスクなどであってよい。
 セレクタ946は、映像及び音声の記録時には、チューナ941又はエンコーダ943から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD944又はディスクドライブ945へ出力する。また、セレクタ946は、映像及び音声の再生時には、HDD944又はディスクドライブ945から入力される符号化ビットストリームをデコーダ947へ出力する。
 デコーダ947は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ947は、生成した映像データをOSD948へ出力する。また、デコーダ904は、生成した音声データを外部のスピーカへ出力する。
 OSD948は、デコーダ947から入力される映像データを再生し、映像を表示する。また、OSD948は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのGUIの画像を重畳してもよい。
 制御部949は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置940の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース950から入力される操作信号に応じて、記録再生装置940の動作を制御する。
 ユーザインタフェース950は、制御部949と接続される。ユーザインタフェース950は、例えば、ユーザが記録再生装置940を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース950は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部949へ出力する。
 このように構成された記録再生装置940において、エンコーダ943は、上述した実施形態に係る動き検出器を有する画像処理装置の機能を有する。また、デコーダ947は、上述した実施形態に係る画像復号装置の機能を有する。それにより、記録再生装置940での画像の符号化及び復号に際して、高画質化処理を効率よく行うことができる。
 [第4の応用例:撮像装置]
 図38は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置960は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
 撮像装置960は、光学ブロック961、撮像部962、信号処理部963、画像処理部964、表示部965、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、制御部970、ユーザインタフェース971、及びバス972を備える。
 光学ブロック961は、撮像部962に接続される。撮像部962は、信号処理部963に接続される。表示部965は、画像処理部964に接続される。ユーザインタフェース971は、制御部970に接続される。バス972は、画像処理部964、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、及び制御部970を相互に接続する。
 光学ブロック961は、フォーカスレンズ及び絞り機構などを有する。光学ブロック961は、被写体の光学像を撮像部962の撮像面に結像させる。撮像部962は、CCD(Charge Coupled Device)又はCMOS(Complementary Metal Oxide Semiconductor)などのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部962は、画像信号を信号処理部963へ出力する。
 信号処理部963は、撮像部962から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部963は、カメラ信号処理後の画像データを画像処理部964へ出力する。
 画像処理部964は、信号処理部963から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部964は、生成した符号化データを外部インタフェース966又はメディアドライブ968へ出力する。また、画像処理部964は、外部インタフェース966又はメディアドライブ968から入力される符号化データを復号し、画像データを生成する。そして、画像処理部964は、生成した画像データを表示部965へ出力する。また、画像処理部964は、信号処理部963から入力される画像データを表示部965へ出力して画像を表示させてもよい。また、画像処理部964は、OSD969から取得される表示用データを、表示部965へ出力する画像に重畳してもよい。
 OSD969は、例えばメニュー、ボタン又はカーソルなどのGUIの画像を生成して、生成した画像を画像処理部964へ出力する。
 外部インタフェース966は、例えばUSB入出力端子として構成される。外部インタフェース966は、例えば、画像の印刷時に、撮像装置960とプリンタとを接続する。また、外部インタフェース966には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置960にインストールされ得る。さらに、外部インタフェース966は、LAN又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース966は、撮像装置960における伝送手段としての役割を有する。
 メディアドライブ968に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ968に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD(Solid State Drive)のような非可搬性の記憶部が構成されてもよい。
 制御部970は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置960の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース971から入力される操作信号に応じて、撮像装置960の動作を制御する。
 ユーザインタフェース971は、制御部970と接続される。ユーザインタフェース971は、例えば、ユーザが撮像装置960を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース971は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部970へ出力する。
 このように構成された撮像装置960において、画像処理部964は、上述した実施形態に係る動き検出器を有する画像処理装置及び符号化情報を用いる画像処理装置の機能を有する。それにより、撮像装置960での画像の符号化及び復号に際して、高画質化処理を効率よく行うことができる。
<第4の実施の形態>
[実施のその他の例]
  以上において本技術を適用する装置やシステム等の例を説明したが、本技術は、これに限らず、このような装置またはシステムを構成する装置に搭載するあらゆる構成、例えば、システムLSI(Large Scale Integration)等としてのプロセッサ、複数のプロセッサ等を用いるモジュール、複数のモジュール等を用いるユニット、ユニットにさらにその他の機能を付加したセット等(すなわち、装置の一部の構成)として実施することもできる。
 [ビデオセット]
  本技術をセットとして実施する場合の例について、図39を参照して説明する。図39は、本技術を適用したビデオセットの概略的な構成の一例を示している。
  近年、電子機器の多機能化が進んでおり、その開発や製造において、その一部の構成を販売や提供等として実施する場合、1機能を有する構成として実施を行う場合だけでなく、関連する機能を有する複数の構成を組み合わせ、複数の機能を有する1セットとして実施を行う場合も多く見られるようになってきた。
  図39に示されるビデオセット1300は、このような多機能化された構成であり、画像の符号化や復号(いずれか一方でもよいし、両方でも良い)に関する機能を有するデバイスに、その機能に関連するその他の機能を有するデバイスを組み合わせたものである。
  図39に示されるように、ビデオセット1300は、ビデオモジュール1311、外部メモリ1312、パワーマネージメントモジュール1313、およびフロントエンドモジュール1314等のモジュール群と、コネクティビティ1321、カメラ1322、およびセンサ1323等の関連する機能を有するデバイスとを有する。
  モジュールは、互いに関連するいくつかの部品的機能をまとめ、まとまりのある機能を持った部品としたものである。具体的な物理的構成は任意であるが、例えば、それぞれ機能を有する複数のプロセッサ、抵抗やコンデンサ等の電子回路素子、その他のデバイス等を配線基板等に配置して一体化したものが考えられる。また、モジュールに他のモジュールやプロセッサ等を組み合わせて新たなモジュールとすることも考えられる。
  図39の例の場合、ビデオモジュール1311は、画像処理に関する機能を有する構成を組み合わせたものであり、アプリケーションプロセッサ、ビデオプロセッサ、ブロードバンドモデム1333、およびRFモジュール1334を有する。
  プロセッサは、所定の機能を有する構成をSoC(System On a Chip)により半導体チップに集積したものであり、例えばシステムLSI(Large Scale Integration)等と称されるものもある。この所定の機能を有する構成は、論理回路(ハードウエア構成)であってもよいし、CPU、ROM、RAM等と、それらを用いて実行されるプログラム(ソフトウエア構成)であってもよいし、その両方を組み合わせたものであってもよい。例えば、プロセッサが、論理回路とCPU、ROM、RAM等とを有し、機能の一部を論理回路(ハードウエア構成)により実現し、その他の機能をCPUにおいて実行されるプログラム(ソフトウエア構成)により実現するようにしてもよい。
  図39のアプリケーションプロセッサ1331は、画像処理に関するアプリケーションを実行するプロセッサである。このアプリケーションプロセッサ1331において実行されるアプリケーションは、所定の機能を実現するために、演算処理を行うだけでなく、例えばビデオプロセッサ1332等、ビデオモジュール1311内外の構成を必要に応じて制御することもできる。
  ビデオプロセッサ1332は、画像の符号化・復号(その一方若しくは両方)に関する機能を有するプロセッサである。
  ブロードバンドモデム1333は、インターネットや公衆電話回線網等の広帯域の回線を介して行われる有線若しくは無線(またはその両方)の広帯域通信に関する処理を行うプロセッサ(若しくはモジュール)である。例えば、ブロードバンドモデム1333は、送信するデータ(デジタル信号)をデジタル変調する等してアナログ信号に変換したり、受信したアナログ信号を復調してデータ(デジタル信号)に変換したりする。例えば、ブロードバンドモデム1333は、ビデオプロセッサ1332が処理する画像データや画像データが符号化されたストリーム、アプリケーションプログラム、設定データ等、任意の情報をデジタル変調・復調することができる。
  RFモジュール1334は、アンテナを介して送受信されるRF(Radio Frequency)信号に対して、周波数変換、変復調、増幅、フィルタ処理等を行うモジュールである。例えば、RFモジュール1334は、ブロードバンドモデム1333により生成されたベースバンド信号に対して周波数変換等を行ってRF信号を生成する。また、例えば、RFモジュール1334は、フロントエンドモジュール1314を介して受信されたRF信号に対して周波数変換等を行ってベースバンド信号を生成する。
  なお、図39において点線1341に示されるように、アプリケーションプロセッサ1331とビデオプロセッサ1332を、一体化し、1つのプロセッサとして構成されるようにしてもよい。
  外部メモリ1312は、ビデオモジュール1311の外部に設けられた、ビデオモジュール1311により利用される記憶デバイスを有するモジュールである。この外部メモリ1312の記憶デバイスは、どのような物理構成により実現するようにしてもよいが、一般的にフレーム単位の画像データのような大容量のデータの格納に利用されることが多いので、例えばDRAM(Dynamic Random Access Memory)のような比較的安価で大容量の半導体メモリにより実現するのが望ましい。
  パワーマネージメントモジュール1313は、ビデオモジュール1311(ビデオモジュール1311内の各構成)への電力供給を管理し、制御する。
  フロントエンドモジュール1314は、RFモジュール1334に対してフロントエンド機能(アンテナ側の送受信端の回路)を提供するモジュールである。図39に示されるように、フロントエンドモジュール1314は、例えば、アンテナ部1351、フィルタ1352、および増幅部1353を有する。
  アンテナ部1351は、無線信号を送受信するアンテナおよびその周辺の構成を有する。アンテナ部1351は、増幅部1353から供給される信号を無線信号として送信し、受信した無線信号を電気信号(RF信号)としてフィルタ1352に供給する。フィルタ1352は、アンテナ部1351を介して受信されたRF信号に対してフィルタ処理等を行い、処理後のRF信号をRFモジュール1334に供給する。増幅部1353は、RFモジュール1334から供給されるRF信号を増幅し、アンテナ部1351に供給する。
  コネクティビティ1321は、外部との接続に関する機能を有するモジュールである。コネクティビティ1321の物理構成は、任意である。例えば、コネクティビティ1321は、ブロードバンドモデム1333が対応する通信規格以外の通信機能を有する構成や、外部入出力端子等を有する。
  例えば、コネクティビティ1321が、Bluetooth(登録商標)、IEEE 802.11(例えばWi-Fi(Wireless Fidelity、登録商標))、NFC(Near Field Communication)、IrDA(InfraRed Data Association)等の無線通信規格に準拠する通信機能を有するモジュールや、その規格に準拠した信号を送受信するアンテナ等を有するようにしてもよい。また、例えば、コネクティビティ1321が、USB(Universal Serial Bus)、HDMI(登録商標)(High-Definition Multimedia Interface)等の有線通信規格に準拠する通信機能を有するモジュールや、その規格に準拠した端子を有するようにしてもよい。さらに、例えば、コネクティビティ1321が、アナログ入出力端子等のその他のデータ(信号)伝送機能等を有するようにしてもよい。
  なお、コネクティビティ1321が、データ(信号)の伝送先のデバイスを含むようにしてもよい。例えば、コネクティビティ1321が、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等の記録媒体に対してデータの読み出しや書き込みを行うドライブ(リムーバブルメディアのドライブだけでなく、ハードディスク、SSD(Solid State Drive)、NAS(Network Attached Storage)等も含む)を有するようにしてもよい。また、コネクティビティ1321が、画像や音声の出力デバイス(モニタやスピーカ等)を有するようにしてもよい。
  カメラ1322は、被写体を撮像し、被写体の画像データを得る機能を有するモジュールである。カメラ1322の撮像により得られた画像データは、例えば、ビデオプロセッサ1332に供給されて符号化される。
  センサ1323は、例えば、音声センサ、超音波センサ、光センサ、照度センサ、赤外線センサ、イメージセンサ、回転センサ、角度センサ、角速度センサ、速度センサ、加速度センサ、傾斜センサ、磁気識別センサ、衝撃センサ、温度センサ等、任意のセンサ機能を有するモジュールである。センサ1323により検出されたデータは、例えば、アプリケーションプロセッサ1331に供給されてアプリケーション等により利用される。
  以上においてモジュールとして説明した構成をプロセッサとして実現するようにしてもよいし、逆にプロセッサとして説明した構成をモジュールとして実現するようにしてもよい。
  以上のような構成のビデオセット1300において、後述するようにビデオプロセッサ1332に本技術を適用することができる。したがって、ビデオセット1300は、本技術を適用したセットとして実施することができる。
[ビデオプロセッサの構成例]
  図40は、本技術を適用したビデオプロセッサ1332(図39)の概略的な構成の一例を示している。
  図40の例の場合、ビデオプロセッサ1332は、ビデオ信号およびオーディオ信号の入力を受けてこれらを所定の方式で符号化する機能と、符号化されたビデオデータおよびオーディオデータを復号し、ビデオ信号およびオーディオ信号を再生出力する機能とを有する。
  図40に示されるように、ビデオプロセッサ1332は、ビデオ入力処理部1401、第1画像拡大縮小部1402、第2画像拡大縮小部1403、ビデオ出力処理部1404、フレームメモリ1405、およびメモリ制御部1406を有する。また、ビデオプロセッサ1332は、エンコード・デコードエンジン1407、ビデオES(Elementary Stream)バッファ1408Aおよび1408B、並びに、オーディオESバッファ1409Aおよび1409Bを有する。さらに、ビデオプロセッサ1332は、オーディオエンコーダ1410、オーディオデコーダ1411、多重化部(MUX(Multiplexer))1412、逆多重化部(DMUX(Demultiplexer))1413、およびストリームバッファ1414を有する。
  ビデオ入力処理部1401は、例えばコネクティビティ1321(図39)等から入力されたビデオ信号を取得し、デジタル画像データに変換する。第1画像拡大縮小部1402は、画像データに対してフォーマット変換や画像の拡大縮小処理等を行う。第2画像拡大縮小部1403は、画像データに対して、ビデオ出力処理部1404を介して出力する先でのフォーマットに応じて画像の拡大縮小処理を行ったり、第1画像拡大縮小部1402と同様のフォーマット変換や画像の拡大縮小処理等を行ったりする。ビデオ出力処理部1404は、画像データに対して、フォーマット変換やアナログ信号への変換等を行って、再生されたビデオ信号として例えばコネクティビティ1321(図39)等に出力する。
  フレームメモリ1405は、ビデオ入力処理部1401、第1画像拡大縮小部1402、第2画像拡大縮小部1403、ビデオ出力処理部1404、およびエンコード・デコードエンジン1407によって共用される画像データ用のメモリである。フレームメモリ1405は、例えばDRAM等の半導体メモリとして実現される。
  メモリ制御部1406は、エンコード・デコードエンジン1407からの同期信号を受けて、アクセス管理テーブル1406Aに書き込まれたフレームメモリ1405へのアクセススケジュールに従ってフレームメモリ1405に対する書き込み・読み出しのアクセスを制御する。アクセス管理テーブル1406Aは、エンコード・デコードエンジン1407、第1画像拡大縮小部1402、第2画像拡大縮小部1403等で実行される処理に応じて、メモリ制御部1406により更新される。
  エンコード・デコードエンジン1407は、画像データのエンコード処理、並びに、画像データが符号化されたデータであるビデオストリームのデコード処理を行う。例えば、エンコード・デコードエンジン1407は、フレームメモリ1405から読み出した画像データを符号化し、ビデオストリームとしてビデオESバッファ1408Aに順次書き込む。また、例えば、ビデオESバッファ1408Bからビデオストリームを順次読み出して復号し、画像データとしてフレームメモリ1405に順次書き込む。エンコード・デコードエンジン1407は、これらの符号化や復号において、フレームメモリ1405を作業領域として使用する。また、エンコード・デコードエンジン1407は、例えばマクロブロック毎の処理を開始するタイミングで、メモリ制御部1406に対して同期信号を出力する。
  ビデオESバッファ1408Aは、エンコード・デコードエンジン1407によって生成されたビデオストリームをバッファリングして、多重化部(MUX)1412に供給する。ビデオESバッファ1408Bは、逆多重化部(DMUX)1413から供給されたビデオストリームをバッファリングして、エンコード・デコードエンジン1407に供給する。
  オーディオESバッファ1409Aは、オーディオエンコーダ1410によって生成されたオーディオストリームをバッファリングして、多重化部(MUX)1412に供給する。オーディオESバッファ1409Bは、逆多重化部(DMUX)1413から供給されたオーディオストリームをバッファリングして、オーディオデコーダ1411に供給する。
  オーディオエンコーダ1410は、例えばコネクティビティ1321(図39)等から入力されたオーディオ信号を例えばデジタル変換し、例えばMPEGオーディオ方式やAC3(AudioCode number 3)方式等の所定の方式で符号化する。オーディオエンコーダ1410は、オーディオ信号が符号化されたデータであるオーディオストリームをオーディオESバッファ1409Aに順次書き込む。オーディオデコーダ1411は、オーディオESバッファ1409Bから供給されたオーディオストリームを復号し、例えばアナログ信号への変換等を行って、再生されたオーディオ信号として例えばコネクティビティ1321(図39)等に供給する。
  多重化部(MUX)1412は、ビデオストリームとオーディオストリームとを多重化する。この多重化の方法(すなわち、多重化により生成されるビットストリームのフォーマット)は任意である。また、この多重化の際に、多重化部(MUX)1412は、所定のヘッダ情報等をビットストリームに付加することもできる。つまり、多重化部(MUX)1412は、多重化によりストリームのフォーマットを変換することができる。例えば、多重化部(MUX)1412は、ビデオストリームとオーディオストリームとを多重化することにより、転送用のフォーマットのビットストリームであるトランスポートストリームに変換する。また、例えば、多重化部(MUX)1412は、ビデオストリームとオーディオストリームとを多重化することにより、記録用のファイルフォーマットのデータ(ファイルデータ)に変換する。
  逆多重化部(DMUX)1413は、多重化部(MUX)1412による多重化に対応する方法で、ビデオストリームとオーディオストリームとが多重化されたビットストリームを逆多重化する。つまり、逆多重化部(DMUX)1413は、ストリームバッファ1414から読み出されたビットストリームからビデオストリームとオーディオストリームとを抽出する(ビデオストリームとオーディオストリームとを分離する)。つまり、逆多重化部(DMUX)1413は、逆多重化によりストリームのフォーマットを変換(多重化部(MUX)1412による変換の逆変換)することができる。例えば、逆多重化部(DMUX)1413は、例えばコネクティビティ1321やブロードバンドモデム1333等(いずれも図27)から供給されたトランスポートストリームを、ストリームバッファ1414を介して取得し、逆多重化することにより、ビデオストリームとオーディオストリームとに変換することができる。また、例えば、逆多重化部(DMUX)1413は、例えばコネクティビティ1321により(図39)各種記録媒体から読み出されたファイルデータを、ストリームバッファ1414を介して取得し、逆多重化することにより、ビデオストリームとオーディオストリームとに変換することができる。
  ストリームバッファ1414は、ビットストリームをバッファリングする。例えば、ストリームバッファ1414は、多重化部(MUX)1412から供給されたトランスポートストリームをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、例えばコネクティビティ1321やブロードバンドモデム1333(いずれも図39)等に供給する。
  また、例えば、ストリームバッファ1414は、多重化部(MUX)1412から供給されたファイルデータをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、例えばコネクティビティ1321(図39)等に供給し、各種記録媒体に記録させる。
  さらに、ストリームバッファ1414は、例えばコネクティビティ1321やブロードバンドモデム1333等(いずれも図39)を介して取得したトランスポートストリームをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、逆多重化部(DMUX)1413に供給する。
  また、ストリームバッファ1414は、例えばコネクティビティ1321(図39)等において各種記録媒体から読み出されたファイルデータをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、逆多重化部(DMUX)1413に供給する。
  次に、このような構成のビデオプロセッサ1332の動作の例について説明する。例えば、コネクティビティ1321(図39)等からビデオプロセッサ1332に入力されたビデオ信号は、ビデオ入力処理部1401において4:2:2Y/Cb/Cr方式等の所定の方式のデジタル画像データに変換され、フレームメモリ1405に順次書き込まれる。このデジタル画像データは、第1画像拡大縮小部1402または第2画像拡大縮小部1403に読み出されて、4:2:0Y/Cb/Cr方式等の所定の方式へのフォーマット変換および拡大縮小処理が行われ、再びフレームメモリ1405に書き込まれる。この画像データは、エンコード・デコードエンジン1407によって符号化され、ビデオストリームとしてビデオESバッファ1408Aに書き込まれる。
  また、コネクティビティ1321(図39)等からビデオプロセッサ1332に入力されたオーディオ信号は、オーディオエンコーダ1410によって符号化され、オーディオストリームとして、オーディオESバッファ1409Aに書き込まれる。
  ビデオESバッファ1408Aのビデオストリームと、オーディオESバッファ1409Aのオーディオストリームは、多重化部(MUX)1412に読み出されて多重化され、トランスポートストリーム若しくはファイルデータ等に変換される。多重化部(MUX)1412により生成されたトランスポートストリームは、ストリームバッファ1414にバッファされた後、例えばコネクティビティ1321やブロードバンドモデム1333(いずれも図39)等を介して外部ネットワークに出力される。また、多重化部(MUX)1412により生成されたファイルデータは、ストリームバッファ1414にバッファされた後、例えばコネクティビティ1321(図39)等に出力され、各種記録媒体に記録される。
  また、例えばコネクティビティ1321やブロードバンドモデム1333(いずれも図39)等を介して外部ネットワークからビデオプロセッサ1332に入力されたトランスポートストリームは、ストリームバッファ1414にバッファされた後、逆多重化部(DMUX)1413により逆多重化される。また、例えばコネクティビティ1321(図39)等において各種記録媒体から読み出され、ビデオプロセッサ1332に入力されたファイルデータは、ストリームバッファ1414にバッファされた後、逆多重化部(DMUX)1413により逆多重化される。つまり、ビデオプロセッサ1332に入力されたトランスポートストリームまたはファイルデータは、逆多重化部(DMUX)1413によりビデオストリームとオーディオストリームとに分離される。
  オーディオストリームは、オーディオESバッファ1409Bを介してオーディオデコーダ1411に供給され、復号されてオーディオ信号が再生される。また、ビデオストリームは、ビデオESバッファ1408Bに書き込まれた後、エンコード・デコードエンジン1407により順次読み出されて復号されてフレームメモリ1405に書き込まれる。復号された画像データは、第2画像拡大縮小部1403によって拡大縮小処理されて、フレームメモリ1405に書き込まれる。そして、復号された画像データは、ビデオ出力処理部1404に読み出されて、4:2:2Y/Cb/Cr方式等の所定の方式にフォーマット変換され、さらにアナログ信号に変換されて、ビデオ信号が再生出力される。
  このように構成されるビデオプロセッサ1332に本技術を適用する場合、エンコード・デコードエンジン1407に、上述した各実施形態に係る本技術を適用すればよい。つまり、例えば、エンコード・デコードエンジン1407が、第1の実施の形態に係る画像処理装置11(図1)や画像処理装置101(図2)などの機能を有するようにすればよい。このようにすることにより、ビデオプロセッサ1332は、図1乃至図33を参照して上述した効果と同様の効果を得ることができる。
  なお、エンコード・デコードエンジン1407において、本技術(すなわち、上述した各実施形態に係る画像処理装置の機能)は、論理回路等のハードウエアにより実現するようにしてもよいし、組み込みプログラム等のソフトウエアにより実現するようにしてもよいし、それらの両方により実現するようにしてもよい。
[ビデオプロセッサの他の構成例]
  図41は、本技術を適用したビデオプロセッサ1332(図39)の概略的な構成の他の例を示している。図41の例の場合、ビデオプロセッサ1332は、ビデオデータを所定の方式で符号化・復号する機能とを有する。
  より具体的には、図41に示されるように、ビデオプロセッサ1332は、制御部1511、ディスプレイインタフェース1512、ディスプレイエンジン1513、画像処理エンジン1514、および内部メモリ1515を有する。また、ビデオプロセッサ1332は、コーデックエンジン1516、メモリインタフェース1517、多重化・逆多重化部(MUX DMUX)1518、ネットワークインタフェース1519、およびビデオインタフェース1520を有する。
  制御部1511は、ディスプレイインタフェース1512、ディスプレイエンジン1513、画像処理エンジン1514、およびコーデックエンジン1516等、ビデオプロセッサ1332内の各処理部の動作を制御する。
  図41に示されるように、制御部1511は、例えば、メインCPU1531、サブCPU1532、およびシステムコントローラ1533を有する。メインCPU1531は、ビデオプロセッサ1332内の各処理部の動作を制御するためのプログラム等を実行する。メインCPU1531は、そのプログラム等に従って制御信号を生成し、各処理部に供給する(つまり、各処理部の動作を制御する)。サブCPU1532は、メインCPU1531の補助的な役割を果たす。例えば、サブCPU1532は、メインCPU1531が実行するプログラム等の子プロセスやサブルーチン等を実行する。システムコントローラ1533は、メインCPU1531およびサブCPU1532が実行するプログラムを指定する等、メインCPU1531およびサブCPU1532の動作を制御する。
  ディスプレイインタフェース1512は、制御部1511の制御の下、画像データを例えばコネクティビティ1321(図39)の画像データをアナログ信号に変換し、再生されたビデオ信号として、またはデジタルデータの画像データのまま、コネクティビティ1321(図39)のモニタ装置等に出力する。
  ディスプレイエンジン1513は、制御部1511の制御の下、画像データに対して、その画像を表示させるモニタ装置等のハードウエアスペックに合わせるように、フォーマット変換、サイズ変換、色域変換等の各種変換処理を行う。
  画像処理エンジン1514は、制御部1511の制御の下、画像データに対して、例えば画質改善のためのフィルタ処理等、所定の画像処理を施す。
  内部メモリ1515は、ディスプレイエンジン1513、画像処理エンジン1514、およびコーデックエンジン1516により共用される、ビデオプロセッサ1332の内部に設けられたメモリである。内部メモリ1515は、例えば、ディスプレイエンジン1513、画像処理エンジン1514、およびコーデックエンジン1516の間で行われるデータの授受に利用される。例えば、内部メモリ1515は、ディスプレイエンジン1513、画像処理エンジン1514、またはコーデックエンジン1516から供給されるデータを格納し、必要に応じて(例えば、要求に応じて)、そのデータを、ディスプレイエンジン1513、画像処理エンジン1514、またはコーデックエンジン1516に供給する。この内部メモリ1515は、どのような記憶デバイスにより実現するようにしてもよいが、一般的にブロック単位の画像データやパラメータ等といった小容量のデータの格納に利用することが多いので、例えばSRAM(Static Random Access Memory)のような比較的(例えば外部メモリ1312と比較して)小容量だが応答速度が高速な半導体メモリにより実現するのが望ましい。
  コーデックエンジン1516は、画像データの符号化や復号に関する処理を行う。このコーデックエンジン1516が対応する符号化・復号の方式は任意であり、その数は1つであってもよいし、複数であってもよい。例えば、コーデックエンジン1516は、複数の符号化・復号方式のコーデック機能を備え、その中から選択されたもので画像データの符号化若しくは符号化データの復号を行うようにしてもよい。
  図41に示される例において、コーデックエンジン1516は、コーデックに関する処理の機能ブロックとして、例えば、MPEG-2 Video1541、AVC/H.2641542、HEVC/H.2651543、HEVC/H.265(Scalable)1544、HEVC/H.265(Multi-view)1545、およびMPEG-DASH1551を有する。
  MPEG-2 Video1541は、画像データをMPEG-2方式で符号化したり復号したりする機能ブロックである。AVC/H.2641542は、画像データをAVC方式で符号化したり復号したりする機能ブロックである。HEVC/H.2651543は、画像データをHEVC方式で符号化したり復号したりする機能ブロックである。HEVC/H.265(Scalable)1544は、画像データをHEVC方式でスケーラブル符号化したりスケーラブル復号したりする機能ブロックである。HEVC/H.265(Multi-view)1545は、画像データをHEVC方式で多視点符号化したり多視点復号したりする機能ブロックである。
  MPEG-DASH1551は、画像データをMPEG-DASH(MPEG-Dynamic Adaptive Streaming over HTTP)方式で送受信する機能ブロックである。MPEG-DASHは、HTTP(HyperText Transfer Protocol)を使ってビデオのストリーミングを行う技術であり、予め用意された解像度等が互いに異なる複数の符号化データの中から適切なものをセグメント単位で選択し伝送することを特徴の1つとする。MPEG-DASH1551は、規格に準拠するストリームの生成やそのストリームの伝送制御等を行い、画像データの符号化・復号については、上述したMPEG-2 Video1541乃至HEVC/H.265(Multi-view)1545を利用する。
  メモリインタフェース1517は、外部メモリ1312用のインタフェースである。画像処理エンジン1514やコーデックエンジン1516から供給されるデータは、メモリインタフェース1517を介して外部メモリ1312に供給される。また、外部メモリ1312から読み出されたデータは、メモリインタフェース1517を介してビデオプロセッサ1332(画像処理エンジン1514若しくはコーデックエンジン1516)に供給される。
  多重化・逆多重化部(MUX DMUX)1518は、符号化データのビットストリーム、画像データ、ビデオ信号等、画像に関する各種データの多重化や逆多重化を行う。この多重化・逆多重化の方法は任意である。例えば、多重化の際に、多重化・逆多重化部(MUX DMUX)1518は、複数のデータを1つにまとめるだけでなく、所定のヘッダ情報等をそのデータに付加することもできる。また、逆多重化の際に、多重化・逆多重化部(MUX DMUX)1518は、1つのデータを複数に分割するだけでなく、分割した各データに所定のヘッダ情報等を付加することもできる。つまり、多重化・逆多重化部(MUX DMUX)1518は、多重化・逆多重化によりデータのフォーマットを変換することができる。例えば、多重化・逆多重化部(MUX DMUX)1518は、ビットストリームを多重化することにより、転送用のフォーマットのビットストリームであるトランスポートストリームや、記録用のファイルフォーマットのデータ(ファイルデータ)に変換することができる。もちろん、逆多重化によりその逆変換も可能である。
  ネットワークインタフェース1519は、例えばブロードバンドモデム1333やコネクティビティ1321(いずれも図39)等向けのインタフェースである。ビデオインタフェース1520は、例えばコネクティビティ1321やカメラ1322(いずれも図39)等向けのインタフェースである。
  次に、このようなビデオプロセッサ1332の動作の例について説明する。例えば、コネクティビティ1321やブロードバンドモデム1333(いずれも図39)等を介して外部ネットワークからトランスポートストリームを受信すると、そのトランスポートストリームは、ネットワークインタフェース1519を介して多重化・逆多重化部(MUX DMUX)1518に供給されて逆多重化され、コーデックエンジン1516により復号される。コーデックエンジン1516の復号により得られた画像データは、例えば、画像処理エンジン1514により所定の画像処理が施され、ディスプレイエンジン1513により所定の変換が行われ、ディスプレイインタフェース1512を介して例えばコネクティビティ1321(図39)等に供給され、その画像がモニタに表示される。また、例えば、コーデックエンジン1516の復号により得られた画像データは、コーデックエンジン1516により再符号化され、多重化・逆多重化部(MUX DMUX)1518により多重化されてファイルデータに変換され、ビデオインタフェース1520を介して例えばコネクティビティ1321(図39)等に出力され、各種記録媒体に記録される。
  さらに、例えば、コネクティビティ1321(図39)等により図示せぬ記録媒体から読み出された、画像データが符号化された符号化データのファイルデータは、ビデオインタフェース1520を介して多重化・逆多重化部(MUX DMUX)1518に供給されて逆多重化され、コーデックエンジン1516により復号される。コーデックエンジン1516の復号により得られた画像データは、画像処理エンジン1514により所定の画像処理が施され、ディスプレイエンジン1513により所定の変換が行われ、ディスプレイインタフェース1512を介して例えばコネクティビティ1321(図39)等に供給され、その画像がモニタに表示される。また、例えば、コーデックエンジン1516の復号により得られた画像データは、コーデックエンジン1516により再符号化され、多重化・逆多重化部(MUX DMUX)1518により多重化されてトランスポートストリームに変換され、ネットワークインタフェース1519を介して例えばコネクティビティ1321やブロードバンドモデム1333(いずれも図39)等に供給され図示せぬ他の装置に伝送される。
  なお、ビデオプロセッサ1332内の各処理部の間での画像データやその他のデータの授受は、例えば、内部メモリ1515や外部メモリ1312を利用して行われる。また、パワーマネージメントモジュール1313は、例えば制御部1511への電力供給を制御する。
  このように構成されるビデオプロセッサ1332に本技術を適用する場合、コーデックエンジン1516に、上述した各実施形態に係る本技術を適用すればよい。つまり、例えば、コーデックエンジン1516が、第1の実施の形態に係る画像符号化装置1(図1)や画像復号装置101(図2)を実現する機能ブロックを有するようにすればよい。このようにすることにより、ビデオプロセッサ1332は、図1乃至図33を参照して上述した効果と同様の効果を得ることができる。
  なお、コーデックエンジン1516において、本技術(すなわち、上述した各実施形態に係る画像符号化装置や画像復号装置の機能)は、論理回路等のハードウエアにより実現するようにしてもよいし、組み込みプログラム等のソフトウエアにより実現するようにしてもよいし、それらの両方により実現するようにしてもよい。
  以上にビデオプロセッサ1332の構成を2例示したが、ビデオプロセッサ1332の構成は任意であり、上述した2例以外のものであってもよい。また、このビデオプロセッサ1332は、1つの半導体チップとして構成されるようにしてもよいが、複数の半導体チップとして構成されるようにしてもよい。例えば、複数の半導体を積層する3次元積層LSIとしてもよい。また、複数のLSIにより実現されるようにしてもよい。
 [装置への適用例]
  ビデオセット1300は、画像データを処理する各種装置に組み込むことができる。例えば、ビデオセット1300は、テレビジョン装置900(図35)、携帯電話機920(図36)、記録再生装置940(図37)、撮像装置960(図38)等に組み込むことができる。ビデオセット1300を組み込むことにより、その装置は、図1乃至図33を参照して上述した効果と同様の効果を得ることができる。
  なお、上述したビデオセット1300の各構成の一部であっても、ビデオプロセッサ1332を含むものであれば、本技術を適用した構成として実施することができる。例えば、ビデオプロセッサ1332のみを本技術を適用したビデオプロセッサとして実施することができる。また、例えば、上述したように点線1341により示されるプロセッサやビデオモジュール1311等を、本技術を適用したプロセッサやモジュール等として実施することができる。さらに、例えば、ビデオモジュール1311、外部メモリ1312、パワーマネージメントモジュール1313、およびフロントエンドモジュール1314を組み合わせ、本技術を適用したビデオユニット1361として実施することもできる。いずれの構成の場合であっても、図1乃至図33を参照して上述した効果と同様の効果を得ることができる。
  つまり、ビデオプロセッサ1332を含むものであればどのような構成であっても、ビデオセット1300の場合と同様に、画像データを処理する各種装置に組み込むことができる。例えば、ビデオプロセッサ1332、点線1341により示されるプロセッサ、ビデオモジュール1311、または、ビデオユニット1361を、テレビジョン装置900(図35)、携帯電話機920(図36)、記録再生装置940(図37)、撮像装置960(図38)等に組み込むことができる。そして、本技術を適用したいずれかの構成を組み込むことにより、その装置は、ビデオセット1300の場合と同様に、図1乃至図33を参照して上述した効果と同様の効果を得ることができる。
 なお、本明細書では、例えば、Quadtree情報(階層ブロック分割情報)、予測モード情報、動きベクトル情報、マクロブロック情報、およびSAOパラメータ等の各種情報が、符号化ストリームに多重化されて、符号化側から復号側へ伝送される例について説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライス若しくはブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像(又はビットストリーム)とは別の伝送路上で伝送されてもよい。また、情報は、画像(又はビットストリーム)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、情報と画像(又はビットストリーム)とは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
 以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
 なお、本技術は以下のような構成も取ることができる。
 (1) ビットストリームを階層構造を有するブロック単位で復号処理して生成された画像に対して、階層構造を有するブロック単位で符号化する際に用いる符号化パラメータを利用して画像処理を行う画像処理部
 を備える画像処理装置。
 (2) 前記符号化パラメータは、ブロックのサイズを示すパラメータである
 前記(1)に記載の画像処理装置。
 (3) 前記符号化パラメータは、階層の深さを示すパラメータである
 前記(2)に記載の画像処理装置。
 (4) 前記符号化パラメータは、spilt-flagである
 前記(3)に記載の画像処理装置。
 (5) 前記符号化パラメータは、適応オフセットフィルタのパラメータである
 前記(1)に記載の画像処理装置。
 (6) 前記符号化パラメータは、エッジオフセットまたはバンドオフセットであるかを示すパラメータである
 前記(5)に記載の画像処理装置。
 (7) 前記画像処理部は、前記符号化パラメータから生成される符号化ブロックサイズのマップを利用して画像処理を行う
 前記(1)乃至(4)のいずれかに記載の画像処理装置。
 (8) 前記画像処理部は、前記符号化パラメータから領域の境界を検出することで領域情報を生成する領域検出部と、
 前記領域検出部により検出された領域情報に基づいて、前記画像に対して、高画質化処理を行う高画質化処理部と
  を備える前記(1)乃至(4)および(7)のいずれかに記載の画像処理装置。
   (9) 前記領域検出部は、動体領域であるか静止領域であるかの情報を含む領域情報を生成する
 前記(8)に記載の画像処理装置。
  (10) 前記領域検出部は、前記ビットストリームを復号処理して得られる動きベクトル情報を利用して、前記領域情報を生成する
 前記(9)に記載の画像処理装置。
 (11) 前記画像処理部は、前記符号化パラメータからオクルージョンまたは過変形領域であるか否かを示す領域情報を生成する領域決定部をさらに備え、
 前記高画質化処理部は、前記領域検出部により検出された領域情報および前記領域決定部により生成された領域情報に基づいて、前記画像に対して、高画質化処理を行う
 前記(8)乃至(10)のいずれかに記載の画像処理装置。
 (12) 前記高画質処理は、画面内相関を用いる処理である
 前記(8)乃至(11)のいずれかに記載の画像処理装置。
 (13) 前記高画質処理は、ノイズリダクション、高フレームレート処理、または複数枚超解像処理である
 前記(8)乃至(12)のいずれかに記載の画像処理装置。
 (14) 前記画像処理部は、前記符号化パラメータからオクルージョンまたは過変形領域であるか否かを示す領域情報を生成する領域決定部と、
 前記領域決定部により決定された領域情報に基づいて、前記画像に対して、高画質化処理を行う高画質化処理部と
  を備える前記(1)に記載の画像処理装置。
 (15) 前記ビットストリームを復号処理して、前記画像を生成するとともに、前記符号化パラメータを出力する復号部
 をさらに備え、
 前記画像処理部は、前記復号部により生成された画像に対して、前記復号部により出力された符号化パラメータを利用して画像処理を行う
  前記(1)乃至(14)のいずれかに記載の画像処理装置。
  (16) 前記復号部は、前記画像に適応オフセット処理を行う適応オフセットフィルタ処理部を
 さらに備える前記(15)に記載の画像処理装置。
  (17) 画像処理装置が、
 ビットストリームを階層構造を有するブロック単位で復号処理して生成された画像に対して、階層構造を有するブロック単位で符号化する際に用いる符号化パラメータを利用して画像処理を行う
 画像処理方法。
101 画像処理装置, 111 復号部, 112 画像処理部, 121 MV変換器, 122 動体領域検出器, 123 動画像処理器, 181 境界ブロック判定部, 182 ラベリング部, 183 動体静止判定部, 201 画像処理装置, 211 画像処理部, 221 領域分割部, 231 物体境界検出器, 232 時間軸処理非適応領域決定器, 233 時間軸処理領域決定器

Claims (17)

  1.  ビットストリームを階層構造を有するブロック単位で復号処理して生成された画像に対して、階層構造を有するブロック単位で符号化する際に用いる符号化パラメータを利用して画像処理を行う画像処理部
     を備える画像処理装置。
  2.  前記符号化パラメータは、ブロックのサイズを示すパラメータである
     請求項1に記載の画像処理装置。
  3.  前記符号化パラメータは、階層の深さを示すパラメータである
     請求項2に記載の画像処理装置。
  4.  前記符号化パラメータは、spilt-flagである
     請求項3に記載の画像処理装置。
  5.  前記符号化パラメータは、適応オフセットフィルタのパラメータである
     請求項1に記載の画像処理装置。
  6.  前記符号化パラメータは、エッジオフセットまたはバンドオフセットであるかを示すパラメータである
     請求項5に記載の画像処理装置。
  7.  前記画像処理部は、前記符号化パラメータから生成される符号化ブロックサイズのマップを利用して画像処理を行う
     請求項1に記載の画像処理装置。
  8.  前記画像処理部は、前記符号化パラメータから領域の境界を検出することで領域情報を生成する領域検出部と、
     前記領域検出部により検出された領域情報に基づいて、前記画像に対して、高画質化処理を行う高画質化処理部と
      を備える請求項1に記載の画像処理装置。
  9.  前記領域検出部は、動体領域であるか静止領域であるかの情報を含む領域情報を生成する
     請求項8に記載の画像処理装置。
  10.  前記領域検出部は、前記ビットストリームを復号処理して得られる動きベクトル情報を利用して、前記領域情報を生成する
     請求項9に記載の画像処理装置。
  11.  前記画像処理部は、前記符号化パラメータからオクルージョンまたは過変形領域であるか否かを示す領域情報を生成する領域決定部をさらに備え、
     前記高画質化処理部は、前記領域検出部により検出された領域情報および前記領域決定部により生成された領域情報に基づいて、前記画像に対して、高画質化処理を行う
     請求項8に記載の画像処理装置。
  12.  前記高画質処理は、画面内相関を用いる処理である
     請求項8に記載の画像処理装置。
  13.  前記高画質処理は、ノイズリダクション、高フレームレート処理、または複数枚超解像処理である
     請求項12に記載の画像処理装置。
  14.  前記画像処理部は、前記符号化パラメータからオクルージョンまたは過変形領域であるか否かを示す領域情報を生成する領域決定部と、
     前記領域決定部により決定された領域情報に基づいて、前記画像に対して、高画質化処理を行う高画質化処理部と
      を備える請求項1に記載の画像処理装置。
  15.  前記ビットストリームを復号処理して、前記画像を生成するとともに、前記符号化パラメータを出力する復号部
     をさらに備え、
     前記画像処理部は、前記復号部により生成された画像に対して、前記復号部により出力された符号化パラメータを利用して画像処理を行う
     請求項1に記載の画像処理装置。
  16.  前記復号部は、前記画像に適応オフセット処理を行う適応オフセットフィルタ処理部を
     さらに備える請求項15に記載の画像処理装置。
  17.  画像処理装置が、
     ビットストリームを階層構造を有するブロック単位で復号処理して生成された画像に対して、階層構造を有するブロック単位で符号化する際に用いる符号化パラメータを利用して画像処理を行う
     画像処理方法。
PCT/JP2014/068124 2013-07-17 2014-07-08 画像処理装置および方法 WO2015008652A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2015527259A JP6365540B2 (ja) 2013-07-17 2014-07-08 画像処理装置および方法
US14/900,866 US20160165246A1 (en) 2013-07-17 2014-07-08 Image processing device and method
CN201480039153.5A CN105409222A (zh) 2013-07-17 2014-07-08 图像处理装置及方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013148437 2013-07-17
JP2013-148437 2013-07-17

Publications (1)

Publication Number Publication Date
WO2015008652A1 true WO2015008652A1 (ja) 2015-01-22

Family

ID=52346120

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/068124 WO2015008652A1 (ja) 2013-07-17 2014-07-08 画像処理装置および方法

Country Status (4)

Country Link
US (1) US20160165246A1 (ja)
JP (1) JP6365540B2 (ja)
CN (1) CN105409222A (ja)
WO (1) WO2015008652A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3391339A2 (en) * 2015-12-18 2018-10-24 Iris Automation, Inc. Real-time visual situational awareness system
HK1221373A2 (zh) 2016-03-29 2017-05-26 萬維數碼有限公司 種提升視頻分辨率和視頻質量的方法、編碼器及解碼器
KR102520957B1 (ko) * 2016-04-15 2023-04-12 삼성전자주식회사 인코딩 장치, 디코딩 장치 및 이의 제어 방법
JP6721453B2 (ja) * 2016-08-08 2020-07-15 マクセル株式会社 ヘッドアップディスプレイ装置およびその映像表示装置
CN107404653B (zh) * 2017-05-23 2019-10-18 南京邮电大学 一种hevc码流的停车事件快速检测方法
EP4358512A1 (en) * 2017-07-04 2024-04-24 Huawei Technologies Co., Ltd. Improvement on boundary forced partition
JP7017580B2 (ja) * 2017-11-16 2022-02-08 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 復号装置、画像復号装置及び復号方法
WO2019151284A1 (ja) 2018-01-30 2019-08-08 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
US11109041B2 (en) * 2019-05-16 2021-08-31 Tencent America LLC Method and apparatus for video coding
US11190777B2 (en) * 2019-06-30 2021-11-30 Tencent America LLC Method and apparatus for video coding
US11317090B2 (en) * 2019-08-12 2022-04-26 Tencent America LLC Method and apparatus for video coding
KR102266996B1 (ko) * 2019-12-10 2021-06-18 성균관대학교산학협력단 이미지센서와 함께 회전 감지용 센서 또는 위치 센서를 장착한 모바일 시스템에서의 객체인식영역 제한 방법 및 장치
CN112004090A (zh) * 2020-07-14 2020-11-27 浙江大华技术股份有限公司 目标边界确定方法、计算机设备及存储介质
CN113436175B (zh) * 2021-06-30 2023-08-18 平安科技(深圳)有限公司 车图像分割质量的评估方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5949908A (en) * 1994-11-24 1999-09-07 Victor Company Of Japan, Ltd. Method of reducing quantization noise generated during a decoding process of image data and device for decoding image data
JP2000209589A (ja) * 1999-01-11 2000-07-28 Matsushita Electric Ind Co Ltd ビデオデ―タの適応的後処理装置および方法
WO2010002214A2 (ko) * 2008-07-02 2010-01-07 삼성전자 주식회사 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
JP2010081368A (ja) * 2008-09-26 2010-04-08 Toshiba Corp 画像処理装置、動画像復号装置、動画像符号化装置、画像処理方法、動画像復号方法、及び、動画像符号化方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2940422B2 (ja) * 1994-11-24 1999-08-25 日本ビクター株式会社 変換符号化された画像データの復号化時に生じるブロック歪の低減方法及び変換符号化された画像データの復号化装置
JP2924691B2 (ja) * 1995-01-26 1999-07-26 日本ビクター株式会社 量子化ノイズの低減方法及び画像データの復号化装置
JP4034380B2 (ja) * 1996-10-31 2008-01-16 株式会社東芝 画像符号化/復号化方法及び装置
JP2001285876A (ja) * 2000-03-30 2001-10-12 Sony Corp 画像符号化装置とその方法、ビデオカメラ、画像記録装置、画像伝送装置
CN101951509B (zh) * 2004-11-19 2012-05-23 松下电器产业株式会社 运动图像编码方法以及运动图像解码方法
CN101455088B (zh) * 2006-05-24 2011-05-11 松下电器产业株式会社 运动图像解码装置
US20080279478A1 (en) * 2007-05-09 2008-11-13 Mikhail Tsoupko-Sitnikov Image processing method and image processing apparatus
JP2009017509A (ja) * 2007-07-09 2009-01-22 Panasonic Corp 画像復号化装置及び画像復号化方法
KR101676830B1 (ko) * 2010-08-16 2016-11-17 삼성전자주식회사 영상 처리 장치 및 방법
US9161041B2 (en) * 2011-01-09 2015-10-13 Mediatek Inc. Apparatus and method of efficient sample adaptive offset
US10382753B2 (en) * 2011-06-20 2019-08-13 Sun Patent Trust Simplified pipeline for filtering
JP2013029904A (ja) * 2011-07-27 2013-02-07 Sony Corp 画像処理装置および画像処理方法
AU2012295043A1 (en) * 2011-08-09 2014-03-06 Samsung Electronics Co., Ltd. Multiview video data encoding method and device, and decoding method and device
ITTO20120413A1 (it) * 2012-05-08 2013-11-09 Sisvel Technology Srl Metodo per la generazione e ricostruzione di un flusso video tridimensionale, basato sull'utilizzo della mappa delle occlusioni, e corrispondente dispositivo di generazione e ricostruzione.
MY182016A (en) * 2012-07-02 2021-01-18 Samsung Electronics Co Ltd Method and apparatus for entropy coding video and method and apparatus for entropy decoding video

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5949908A (en) * 1994-11-24 1999-09-07 Victor Company Of Japan, Ltd. Method of reducing quantization noise generated during a decoding process of image data and device for decoding image data
JP2000209589A (ja) * 1999-01-11 2000-07-28 Matsushita Electric Ind Co Ltd ビデオデ―タの適応的後処理装置および方法
WO2010002214A2 (ko) * 2008-07-02 2010-01-07 삼성전자 주식회사 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
JP2010081368A (ja) * 2008-09-26 2010-04-08 Toshiba Corp 画像処理装置、動画像復号装置、動画像符号化装置、画像処理方法、動画像復号方法、及び、動画像符号化方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHIH-MING FU ET AL.: "CE8 Subtest3: Picture Quadtree Adaptive Offset", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP3 AND ISO/IEC JTC1/SC29/WG11, JCTVC-D122, 4TH MEETING, January 2011 (2011-01-01), DAEGU, KR, pages 1 - 10 *
KEN MCCANN ET AL.: "Samsung's Response to the Call for Proposals on Video Compression Technology", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP3 AND ISO/IEC JTC1/SC29/WG11, JCTVC-A124, 1ST MEETING, April 2010 (2010-04-01), DRESDEN, DE, pages 1 - 11 *

Also Published As

Publication number Publication date
JPWO2015008652A1 (ja) 2017-03-02
JP6365540B2 (ja) 2018-08-01
CN105409222A (zh) 2016-03-16
US20160165246A1 (en) 2016-06-09

Similar Documents

Publication Publication Date Title
JP6365540B2 (ja) 画像処理装置および方法
JP6580648B2 (ja) 画像処理装置および記録媒体
US11812042B2 (en) Image decoding device and method for setting information for controlling decoding of coded data
US10779009B2 (en) Image decoding device and method
JP6287035B2 (ja) 復号装置および復号方法
US20190385276A1 (en) Image processing apparatus and image processing method
JPWO2015053115A1 (ja) 復号装置および復号方法、並びに、符号化装置および符号化方法
JP6497562B2 (ja) 画像符号化装置および方法
JP6711353B2 (ja) 画像処理装置および画像処理方法
JP2015076861A (ja) 復号装置および復号方法、並びに、符号化装置および符号化方法
WO2015098559A1 (ja) 復号装置および復号方法、並びに、符号化装置および符号化方法
JP6150134B2 (ja) 画像符号化装置および方法、画像復号装置および方法、プログラム、並びに記録媒体
JP6477930B2 (ja) 符号化装置および符号化方法
WO2016199574A1 (ja) 画像処理装置および画像処理方法
JP6402802B2 (ja) 画像処理装置および方法、プログラム、並びに記録媒体
JPWO2017169722A1 (ja) 画像処理装置および方法
JP2015050738A (ja) 復号装置および復号方法、並びに、符号化装置および符号化方法
JP2016096457A (ja) 画像処理装置および方法

Legal Events

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

Ref document number: 201480039153.5

Country of ref document: CN

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

Ref document number: 14825627

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2015527259

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14900866

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

Country of ref document: EP

Kind code of ref document: A1