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

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

Info

Publication number
WO2012157488A1
WO2012157488A1 PCT/JP2012/061861 JP2012061861W WO2012157488A1 WO 2012157488 A1 WO2012157488 A1 WO 2012157488A1 JP 2012061861 W JP2012061861 W JP 2012061861W WO 2012157488 A1 WO2012157488 A1 WO 2012157488A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
image
motion
prediction
accuracy
Prior art date
Application number
PCT/JP2012/061861
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 CN201280022512.7A priority Critical patent/CN103518373B/zh
Priority to US14/113,882 priority patent/US10218969B2/en
Publication of WO2012157488A1 publication Critical patent/WO2012157488A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/523Motion estimation or motion compensation with sub-pixel accuracy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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

Definitions

  • the present disclosure relates to an image processing apparatus and method, and more particularly, to an image processing apparatus and method that can improve coding efficiency.
  • image information is treated as digital, and at that time, it is an MPEG that is compressed by orthogonal transformation such as discrete cosine transformation and motion compensation for the purpose of efficient transmission and storage of information, using redundancy unique to image information.
  • orthogonal transformation such as discrete cosine transformation and motion compensation for the purpose of efficient transmission and storage of information, using redundancy unique to image information.
  • a device conforming to a method such as Moving Picture Experts Group) is spreading in both information distribution such as broadcasting station and information reception in general home.
  • MPEG2 International Organization for Standardization
  • IEC International Electrotechnical Commission
  • MPEG2 was mainly intended for high-quality coding suitable for broadcasting, it did not correspond to a coding amount (bit rate) lower than that of MPEG1, that is, a coding method with a higher compression rate.
  • bit rate bit rate
  • MPEG4 coding amount
  • the standard was approved as an international standard as ISO / IEC 14496-2 in December 1998.
  • H.26L International Telecommunication Union Telecommunication Standardization Sector (ITU-T Q6 / 16 Video Coding Expert Group)
  • ISO-T Q6 / 16 Video Coding Expert Group International Telecommunication Union Telecommunication Standardization Sector
  • AVC Advanced Video Coding
  • ITU-T and JCTVC Joint Collaboration Team-Video Coding
  • ISO / IEC Joint Collaboration Team-Video Coding
  • HEVC High Efficiency Video Coding
  • a coding unit (Coding Unit) is defined as a processing unit similar to a macroblock in AVC.
  • This CU is not fixed in size to 16 ⁇ 16 pixels like a macroblock of AVC, and is designated in image compression information in each sequence.
  • weighted prediction processing is provided in AVC (see, for example, Non-Patent Document 2).
  • AVC it is possible to specify whether to use this weighted prediction or not on a slice basis.
  • Weighted Prediction can be applied on a slice basis. Furthermore, a method (Intensity Compensation) of applying Weighted Prediction on a block basis has also been proposed (see, for example, Non-Patent Document 3).
  • JCT-VC Joint Collaborative Team on Video Coding
  • JCT-VC Joint Collaborative Team on Video Coding
  • the above-mentioned weighting processing performs rounding processing for motion compensation, and further performs rounding processing also after weighted addition, so there is a possibility that coding efficiency may be reduced due to a reduction in calculation accuracy.
  • the present disclosure has been made in view of such a situation, and performs rounding processing after product-sum processing for motion compensation and weighted addition processing in consideration of the accuracy of L0 and L1 motion vectors.
  • An object of the present invention is to suppress image quality deterioration due to rounding errors.
  • One aspect of the present disclosure includes a motion compensation unit that performs motion compensation with decimal pixel accuracy for each of L0 and L1, a weighting addition unit that performs weighted addition on each calculation result by the motion compensation unit, and a calculation result by the weighting addition unit And an image processing apparatus including a rounding processing unit that performs rounding processing.
  • the information processing apparatus may further include a determination unit that determines the accuracy of L0 and L1, and an adjustment unit that adjusts the accuracy based on the determination result of the determination unit.
  • the adjustment unit can match one accuracy to the other accuracy by multiplying one of L0 and L1 by a predetermined coefficient.
  • the adjustment unit can adjust one of L0 and L1 having higher accuracy, and adjust the L0 and L1 to be smaller.
  • the adjustment unit may not adjust the accuracy when the accuracy of L0 and the accuracy of L1 are equal to each other.
  • the adjustment unit can adjust the accuracy based on both the horizontal accuracy and the vertical accuracy of L0 and L1.
  • the rounding processing unit performs 2X + Y division processing after the calculation processing of the weighting addition unit. It can be performed.
  • the weighted addition unit can perform Explicit Weighted Prediction.
  • the weighted addition unit may perform implicit weighted prediction.
  • the weighted addition unit may perform intensity compensation.
  • Another aspect of the present disclosure is the image processing method of the image processing apparatus, wherein the motion compensation unit performs motion compensation with decimal pixel accuracy for each of L0 and L1, and the weighting addition unit weights each operation result.
  • the addition is performed and the rounding processing unit rounds the calculation result.
  • motion compensation with fractional pixel accuracy is performed for each of L0 and L1, each calculation result is weighted and added, and a rounding process is performed on the calculation result.
  • an image can be processed.
  • coding efficiency can be improved.
  • FIG. 1 is a block diagram showing an example of the main configuration of an image coding apparatus.
  • the image coding apparatus 100 shown in FIG. As in the H.264 and MPEG (Moving Picture Experts Group) 4 Part 10 (AVC (Advanced Video Coding)) encoding method, image data is encoded using prediction processing.
  • H.264 and MPEG Motion Picture Experts Group 4 Part 10 (AVC (Advanced Video Coding)
  • AVC Advanced Video Coding
  • the image coding apparatus 100 includes an A / D conversion unit 101, a screen rearrangement buffer 102, an operation unit 103, an orthogonal conversion unit 104, a quantization unit 105, a lossless coding unit 106, and an accumulation buffer. It has 107. Further, the image coding apparatus 100 includes an inverse quantization unit 108, an inverse orthogonal transformation unit 109, an operation unit 110, a loop filter 111, a frame memory 112, a selection unit 113, an intra prediction unit 114, a motion prediction / compensation unit 115, and prediction. The image selection unit 116 and the rate control unit 117 are included.
  • the image coding apparatus 100 includes a weighting prediction unit 121 and a motion vector accuracy determination unit 122.
  • the A / D conversion unit 101 A / D converts the input image data, supplies the converted image data (digital data) to the screen rearrangement buffer 102, and stores it.
  • the screen rearrangement buffer 102 rearranges the images of the stored display order in the frame order for encoding according to GOP (Group Of Picture), and arranges the images in which the frame order is rearranged,
  • the data is supplied to the calculation unit 103.
  • the screen rearrangement buffer 102 also supplies the image in which the order of the frames is rearranged to the intra prediction unit 114 and the motion prediction / compensation unit 115.
  • the operation unit 103 subtracts the predicted image supplied from the intra prediction unit 114 or the motion prediction / compensation unit 115 via the predicted image selection unit 116 from the image read from the screen rearrangement buffer 102, and the difference information thereof Are output to the orthogonal transformation unit 104.
  • the operation unit 103 subtracts the predicted image supplied from the intra prediction unit 114 from the image read from the screen rearrangement buffer 102. Also, for example, in the case of an image on which inter coding is performed, the operation unit 103 subtracts the predicted image supplied from the motion prediction / compensation unit 115 from the image read from the screen rearrangement buffer 102.
  • the orthogonal transformation unit 104 performs orthogonal transformation such as discrete cosine transformation or Karhunen-Loeve transformation on the difference information supplied from the arithmetic unit 103. In addition, the method of this orthogonal transformation is arbitrary.
  • the orthogonal transform unit 104 supplies the transform coefficient to the quantization unit 105.
  • the quantization unit 105 quantizes the transform coefficient supplied from the orthogonal transform unit 104.
  • the quantization unit 105 sets a quantization parameter based on the information on the target value of the code amount supplied from the rate control unit 117 and performs the quantization. In addition, the method of this quantization is arbitrary.
  • the quantization unit 105 supplies the quantized transform coefficient to the lossless encoding unit 106.
  • the lossless encoding unit 106 encodes the transform coefficient quantized in the quantization unit 105 by an arbitrary encoding method. Since the coefficient data is quantized under the control of the rate control unit 117, this code amount is the target value set by the rate control unit 117 (or approximate to the target value).
  • the lossless encoding unit 106 acquires information indicating the mode of intra prediction from the intra prediction unit 114 and acquires information indicating the mode of inter prediction, motion vector information, or the like from the motion prediction / compensation unit 115. Further, the lossless encoding unit 106 acquires the filter coefficient and the like used in the loop filter 111.
  • the lossless encoding unit 106 encodes these various pieces of information according to an arbitrary encoding method, and makes it part of header information of encoded data (multiplexing).
  • the lossless encoding unit 106 supplies the encoded data obtained by the encoding to the accumulation buffer 107 for accumulation.
  • Examples of the coding method of the lossless coding unit 106 include variable-length coding and arithmetic coding.
  • variable-length coding for example, H.264.
  • Examples include CAVLC (Context-Adaptive Variable Length Coding) defined by the H.264 / AVC system.
  • Examples of arithmetic coding include CABAC (Context-Adaptive Binary Arithmetic Coding).
  • the accumulation buffer 107 temporarily holds the encoded data supplied from the lossless encoding unit 106.
  • the accumulation buffer 107 outputs, at a predetermined timing, the held encoded data to, for example, a not-shown recording device (recording medium) or a transmission path at a later stage.
  • the transform coefficient quantized in the quantization unit 105 is also supplied to the inverse quantization unit 108.
  • the inverse quantization unit 108 inversely quantizes the quantized transform coefficient by a method corresponding to the quantization by the quantization unit 105.
  • the inverse quantization method may be any method as long as it corresponds to the quantization processing by the quantization unit 105.
  • the inverse quantization unit 108 supplies the obtained transform coefficient to the inverse orthogonal transform unit 109.
  • the inverse orthogonal transform unit 109 performs inverse orthogonal transform on the transform coefficient supplied from the inverse quantization unit 108 by a method corresponding to orthogonal transform processing by the orthogonal transform unit 104. Any method may be used as this inverse orthogonal transformation method as long as it corresponds to the orthogonal transformation processing by the orthogonal transformation unit 104.
  • the inverse orthogonal transform output (restored difference information) is supplied to the calculation unit 110.
  • the calculation unit 110 is supplied from the intra prediction unit 114 or the motion prediction / compensation unit 115 via the predicted image selection unit 116 to the inverse orthogonal transformation result supplied from the inverse orthogonal transformation unit 109, that is, the restored difference information. Prediction images are added to obtain a locally reconstructed image (hereinafter referred to as a reconstructed image).
  • the reconstructed image is supplied to the loop filter 111 or the frame memory 112.
  • the loop filter 111 includes a deblocking filter, an adaptive loop filter, and the like, and appropriately performs filter processing on the decoded image supplied from the calculation unit 110.
  • the loop filter 111 removes block distortion of the decoded image by performing deblocking filter processing on the decoded image.
  • the loop filter 111 improves the image quality by performing loop filter processing on the deblock filter processing result (decoded image subjected to removal of block distortion) using a Wiener filter. Do.
  • the loop filter 111 may perform arbitrary filter processing on the decoded image.
  • the loop filter 111 can also supply information such as the filter coefficient used for the filter processing to the lossless encoding unit 106 to encode it, as necessary.
  • the loop filter 111 supplies the filter processing result (hereinafter referred to as a decoded image) to the frame memory 112.
  • the frame memory 112 stores the decoded image supplied from the calculation unit 110 or the loop filter 111, and at a predetermined timing, the intra prediction unit 114, via the selection unit 113, uses the stored decoded image as a reference image. Alternatively, it is supplied to the motion prediction / compensation unit 115.
  • the selection unit 113 indicates the supply destination of the reference image output from the frame memory 112. For example, in the case of intra prediction, the selection unit 113 reads out an image (reconstructed image) which has not been subjected to filter processing from the frame memory 112, and supplies it to the intra prediction unit 114 as a peripheral pixel.
  • the selection unit 113 reads the image (decoded image) subjected to the filter process from the frame memory 112 and supplies it to the motion prediction / compensation unit 115 as a reference image.
  • the intra prediction unit 114 acquires, from the frame memory 112, a reconstructed image of a peripheral area located around the processing target area as a peripheral image.
  • the intra prediction unit 114 performs intra prediction (in-screen prediction) of generating a predicted image of the processing target area using the pixel values of the peripheral image in the processing target picture.
  • the intra prediction unit 114 performs this intra prediction in a plurality of modes (intra prediction modes) prepared in advance.
  • the intra prediction unit 114 generates predicted images in all candidate intra prediction modes, evaluates the cost function value of each predicted image using the input image supplied from the screen rearrangement buffer 102, and selects the optimum mode. select. When the optimal intra prediction mode is selected, the intra prediction unit 114 supplies the predicted image generated in the optimal mode to the predicted image selection unit 116.
  • the intra prediction unit 114 appropriately supplies intra prediction mode information and the like indicating the adopted intra prediction mode to the lossless encoding unit 106, and causes the lossless encoding unit 106 to encode.
  • the motion prediction / compensation unit 115 uses the input image supplied from the screen rearrangement buffer 102 and the decoded image (reference image) supplied from the frame memory 112 to perform motion prediction (inter prediction) of the processing target area. Then, motion compensation processing is performed according to the detected motion vector to generate a predicted image (inter predicted image information) of the processing target area.
  • the motion prediction / compensation unit 115 performs such inter prediction in a plurality of modes (inter prediction modes) prepared in advance.
  • the motion prediction / compensation unit 115 generates prediction images in all the candidate inter prediction modes, evaluates the cost function value of each prediction image, and selects an optimal mode. When the motion prediction / compensation unit 115 selects the optimal inter prediction mode, the motion prediction / compensation unit 115 supplies the prediction image generated in the optimum mode to the prediction image selection unit 116.
  • the motion prediction / compensation unit 115 losslessly encodes the information indicating the adopted inter prediction mode, the information necessary for performing processing in the inter prediction mode when decoding encoded data, and the like. Feed and encode.
  • the predicted image selection unit 116 selects the supply source of the predicted image to be supplied to the calculation unit 103 and the calculation unit 110.
  • the prediction image selection unit 116 selects the intra prediction unit 114 as a supply source of a prediction image, and supplies the prediction image supplied from the intra prediction unit 114 to the calculation unit 103 and the calculation unit 110.
  • the predicted image selection unit 116 selects the motion prediction / compensation unit 115 as a supply source of the predicted image, and the prediction image supplied from the motion prediction / compensation unit 115 is calculated by the calculation unit 103. And the calculation unit 110.
  • the rate control unit 117 controls the rate of the quantization operation of the quantization unit 105 based on the code amount of the encoded data accumulated in the accumulation buffer 107 so as to prevent overflow or underflow.
  • the weighting prediction unit 121 performs processing relating to weighted prediction, such as determination of weighting factors and adjustment of motion accuracy.
  • the motion vector accuracy determination unit 122 determines the motion accuracy that is the accuracy of the motion vector in the inter prediction mode performed by the motion prediction / compensation unit 115, and supplies the determination result to the weighting prediction unit 121.
  • FIG. 2 is a diagram for explaining an example of motion prediction / compensation processing with 1 ⁇ 4 pixel accuracy defined in the AVC coding system.
  • each square indicates a pixel.
  • A indicates the position of the integer precision pixel stored in the frame memory 112
  • b, c and d indicate the positions of 1/2 pixel precision
  • e1, e2 and e3 indicate 1/4 pixel precision. It shows the position.
  • the pixel values at positions b and d are generated as in the following Equation (2) and Equation (3) using a 6 tap FIR filter.
  • the pixel values at the position c are generated as in the following Equations (4) to (6) by applying 6 tap FIR filters in the horizontal and vertical directions.
  • Clip processing is performed only once at the end after performing both of the product-sum processing in the horizontal direction and the vertical direction.
  • E1 to e3 are generated by linear interpolation as in the following equations (7) to (9).
  • the unit of motion prediction / compensation processing is 16 ⁇ 16 pixels in the frame motion compensation mode, and 16 ⁇ for each of the first field and the second field in the field motion compensation mode.
  • Motion prediction / compensation processing is performed in units of eight pixels.
  • one macroblock consisting of 16 ⁇ 16 pixels is divided into 16 ⁇ 16, 16 ⁇ 8, 8 ⁇ 16 or 8 ⁇ 8 partitions. It is possible to divide each into sub-macroblocks and to have motion vector information independent of each other. Furthermore, as shown in FIG. 3, the 8 ⁇ 8 partition is divided into any of 8 ⁇ 8, 8 ⁇ 4, 4 ⁇ 8, 4 ⁇ 4 sub-macroblocks, and each has independent motion vector information. It is possible.
  • Each straight line shown in FIG. 4 indicates the boundary of the motion compensation block.
  • E indicates the motion compensation block to be encoded from now
  • a to D indicate motion compensation blocks adjacent to E, which have already been encoded.
  • predicted motion vector information pmv E for the motion compensation block E is generated by median operation as shown in the following equation (10) using motion vector information on the motion compensated blocks A, B, and C.
  • the information on the motion compensation block C is unavailable because it is the end of the image frame, the information on the motion compensation block D is substituted.
  • Data mvd E encoded as motion vector information for the motion compensation block E in the image compression information is generated using pmv E as shown in the following equation (11).
  • Multi-Reference Frame multi (multiple) reference frame
  • MPEG2 multiple reference frame
  • H.263 a method called Multi-Reference Frame (multi (multiple) reference frame
  • the multi-reference frame (Multi-Reference Frame) defined in AVC will be described using FIG.
  • motion prediction / compensation processing was performed by referring to only one reference frame stored in the frame memory. As shown in FIG. 5, a plurality of reference frames are stored in the memory, and it is possible to refer to different memories for each macroblock.
  • Non-Patent Document 2 when Y 0 is a motion compensation prediction signal, a prediction signal is generated as shown by the following equation (12), where D is a weighting coefficient W 0 and an offset value.
  • prediction is performed as shown in the following equation (13), assuming that motion compensated prediction signals for List 0 and List 1 are Y 0 and Y 1 , weighting coefficients for each are W 0 and W 1 , and offset is D. A signal is generated.
  • AVC it is possible to specify whether or not to use the above-described weighted prediction on a slice basis.
  • Implicit Mode transmitting W and D in a slice header as weighted prediction, and Implicit Mode calculating W from the distance on the time axis in the reference picture and the reference picture It is prescribed.
  • FIG. 7 shows a method of calculating W and D in the case of the implicit mode in the B picture.
  • POC Picture Order Count
  • Non-Patent Document 2 proposes a method (Intensity Compensation) of applying Weighted Prediction on a block basis.
  • JM Job Model
  • a to I are pixel values of integer pixel precision
  • 1 to 8 are pixel values of half pixel precision around E
  • a to h are pixel values of quarter pixel precision around 6 It is.
  • a motion vector with integer pixel accuracy is obtained which minimizes a cost function such as SAD (Sum of Absolute Difference) within a predetermined search range.
  • SAD Sum of Absolute Difference
  • a pixel value that minimizes the cost function is determined, and this is used as an optimal motion vector of half pixel accuracy.
  • 6 is a pixel corresponding to the optimal motion vector of the half pixel accuracy.
  • a pixel value that minimizes the cost function is determined, and this is set as an optimal motion vector with 1 / 4-pixel precision.
  • JM JM
  • JM JM
  • the cost function value for each prediction mode is calculated, and the prediction mode that minimizes it is selected as the optimum mode for the block or macroblock.
  • is the entire set of candidate modes for encoding the block or macroblock
  • D is the difference energy between the decoded image and the input image when encoded in the prediction mode.
  • is a Lagrange undetermined multiplier given as a function of the quantization parameter.
  • R is a total code amount in the case of encoding in this mode, including orthogonal transform coefficients.
  • D is the difference energy between the predicted image and the input image, unlike in the case of the High Complexity Mode.
  • QP2Quant QP
  • HeaderBit is a code amount related to information belonging to the Header, such as a motion vector or a mode, which does not include an orthogonal transformation coefficient.
  • AVC As shown in FIG. 3, a hierarchical structure of macroblocks and sub-macroblocks is defined.
  • HEVC High Efficiency Video Coding
  • CU Coding Unit
  • the CU is also called a Coding Tree Block (CTB), and is a partial area of a picture-based image that plays a role similar to a macroblock in AVC.
  • CTB Coding Tree Block
  • the latter is fixed at a size of 16 ⁇ 16 pixels, whereas the size of the former is not fixed, and is designated in the image compression information in each sequence.
  • a CU maximum size (Largest Coding Unit)
  • a minimum size ((SCU (Smallest Coding Unit))
  • split-flag 1 within the range not exceeding the size of the SCU.
  • the size of the LCU is 128, and the maximum hierarchical depth is 5.
  • split_flag is “1”
  • a 2N ⁇ 2N-sized CU is divided into an N ⁇ N-sized CU, which is one level lower.
  • a CU is divided into prediction units (Prediction Units (PUs)), which are regions serving as processing units for intra or inter prediction (partial regions of images in units of pictures), and regions serving as processing units for orthogonal transformation. It is divided into transform units (Transform Units (TUs)), which are (partial areas of an image in picture units).
  • Prediction Units PUs
  • transform units Transform Units (TUs)
  • TUs Transform Units
  • a macro block in AVC corresponds to an LCU.
  • the size of the LCU in the top layer is generally set to be larger than the AVC macroblock, for example 128 ⁇ 128 pixels. is there.
  • the motion prediction / compensation unit 115, the weighting prediction unit 121, and the motion vector accuracy determination unit 122 perform motion compensation processing of decimal pixel accuracy and perform weighted addition, and then each of them. Make the rounding process of the operation together.
  • FIG. 11 is a block diagram showing an example of a main configuration of the motion prediction / compensation unit 115, the weighting prediction unit 121, and the motion vector accuracy determination unit 122 of FIG.
  • the motion prediction / compensation unit 115 includes a motion search unit 151, a cost function value generation unit 152, a mode determination unit 153, a motion compensation unit 154, and a motion information buffer 155.
  • the weighting prediction unit 121 includes a weighting coefficient determination unit 161 and a motion accuracy adjustment unit 162.
  • the motion search unit 151 performs a motion search using the input image pixel value acquired from the screen rearrangement buffer 102 and the reference image pixel value acquired from the frame memory 112 to obtain motion information (motion vector).
  • the motion search unit 151 supplies the weight coefficient determination unit 161 of the weighting prediction unit 121 with the input image pixel value acquired from the screen rearrangement buffer 102 and the reference image pixel value acquired from the frame memory 112.
  • the weighting factor determination unit 161 determines a weighting factor based on these pixel values, and supplies the weighting factor to the motion search unit 151.
  • the motion search unit 151 performs motion search in all candidate inter prediction modes to generate motion information. All of the searched motion information is supplied to the motion vector accuracy determination unit 122.
  • the motion vector accuracy determination unit 122 determines information on the motion vector accuracy of L0 and L1 and supplies the accuracy information (motion accuracy) to the motion accuracy adjustment unit 162 of the weighting prediction unit 121.
  • the motion vector accuracy determination unit 122 determines the motion accuracy for the motion information of all the inter prediction modes supplied from the motion search unit 151.
  • the motion accuracy adjustment unit 162 determines how to perform the rounding process based on the motion accuracy supplied from the motion vector precision determination unit 122, and searches for rounding control information for controlling execution of the rounding process. Supply to the unit 151.
  • the motion accuracy adjustment unit 162 generates rounding control information for the motion accuracy of all the inter prediction modes supplied from the motion vector accuracy determination unit 122, and supplies the rounding control information to the motion search unit 151.
  • the motion search unit 151 performs motion compensation using the weighting factor and rounding control information supplied as described above, and generates a predicted image. Then, the motion search unit 151 obtains a difference (difference image) between the generated predicted image and the input image. The motion search unit 151 supplies the calculated pixel value (difference pixel value) of the difference image to the cost function value generation unit 152 together with the motion information. The motion search unit 151 performs such processing for all inter prediction modes.
  • the cost function value generation unit 152 calculates a cost function value using the difference pixel value supplied from the motion information search unit 151. Also, the cost function value generation unit 152 acquires, from the motion information buffer 155, peripheral motion information corresponding to the motion information supplied from the motion information search unit 151.
  • the peripheral motion information is motion information of a region (for example, adjacent to) located around the processing target region, which is a region corresponding to the motion information.
  • the cost function value generation unit 152 predicts motion information of the area using the peripheral motion information acquired from the motion information buffer 155, and uses the difference between the predicted motion information and the motion information searched by the motion search unit 151. Generate certain differential motion information.
  • the cost function value generation unit 152 performs such processing for all the inter prediction modes to obtain difference motion information and cost function values.
  • the cost function value generation unit 152 supplies the cost function value of each inter prediction mode and the difference motion information to the mode determination unit 153.
  • the mode determination unit 153 determines the inter prediction mode that minimizes the cost function value as the optimal inter prediction mode for the area, and the optimal mode information indicating the optimal inter prediction mode and the optimal inter prediction mode Are supplied to the motion compensation unit 154.
  • the motion compensation unit 154 Upon acquiring the information, the motion compensation unit 154 acquires, from the motion search unit 151, the rounding control information of the optimal inter prediction mode and the weighting factor based on the optimum mode information. Also, the motion compensation unit 154 acquires, from the motion information buffer 155, peripheral motion information corresponding to the optimal inter prediction mode based on the optimal mode information. The motion compensation unit 154 reconstructs motion information of the optimal inter prediction mode using the differential motion information and the peripheral motion information.
  • the motion compensation unit 154 performs motion compensation using these pieces of information to generate a predicted image. For example, in the case of performing weighted prediction, the motion compensation unit 154 performs weighted addition using weighting coefficients, and performs rounding processing only once on the weighted addition result based on the rounding control information.
  • the motion compensation unit 154 supplies the generated predicted image pixel value to the predicted image selection unit 116.
  • the motion compensation unit 154 supplies the weight coefficient, the differential motion information, the optimal mode information, and the like to the lossless encoding unit 106, adds it to the bit stream, and transmits it to the decoding side.
  • the motion compensation unit 154 supplies motion information of the area to the motion information buffer 155 for storage.
  • This motion information is used as peripheral motion information in inter prediction with respect to other regions to be processed temporally after the region.
  • the motion compensation unit 154 performs motion compensation processing with sub-pel resolution, performs rounding processing, performs weighted addition, and then does not perform rounding processing again.
  • motion compensation processing with sub-pel resolution is performed, weighted addition is performed, and then rounding processing is performed only once.
  • the motion accuracy adjustment unit 162 adjusts the motion vector accuracy of L0 and L1.
  • LX has motion compensation with decimal pixel accuracy equal to or finer than that of LY.
  • LX and LY have the same fractional pixel precision, that is, if both are integer pixel precision, or both are 1/2 pixel precision, or both are 1/4 pixel precision, adjust the precision of LX and LY There is no need.
  • the motion accuracy adjustment unit 162 generates rounding control information instructing not to adjust the accuracy of LX and LY.
  • the motion precision adjustment unit 162 If LX and LY have different fractional pixel precision, the motion precision adjustment unit 162 generates rounding control information so as to adjust the precision of LX and LY as follows.
  • LX * 2 H is used instead of LX.
  • LX * 2 Q is used instead of LX.
  • LX * 2 (QH) is used instead of LX.
  • the motion accuracy adjustment unit 162 adjusts the accuracy of LX and LY as shown in the table shown in FIG. 12 according to the respective accuracy of the vertical component and the horizontal component.
  • the table of FIG. 12 shows the adjustment amount of the accuracy according to the combination of the accuracy of the horizontal component and the accuracy of the vertical component of L0 and L1.
  • the horizontal direction shows the combination of the accuracy of the horizontal components (or vertical components) of L0 and L1
  • the vertical shows the combination of the values in the first column from the left
  • L0 and L1 respectively indicate the combination of the precision of the vertical component (or horizontal component).
  • a motion vector information of higher accuracy is obtained by multiplying the motion vector information of lower accuracy by a value corresponding to the combination of the accuracy of horizontal component and the accuracy of vertical component of each of L0 and L1 shown in the table of FIG. Coordination with the information is made.
  • the value “0” indicates that the adjustment of accuracy is not performed (“0” is not multiplied).
  • the image coding apparatus 100 performs a weighting addition process on LX and LY adjusted as described above in the motion search unit 151 and the motion compensation unit 154 using a weighting factor.
  • the image encoding device 100 performs the following rounding process in the motion search unit 151 and the motion compensation unit 154. That is, in the first step described above, it is assumed that 2 X is multiplied for L0 and L1 precision adjustment, and that division by 2 Y is necessary for weighted prediction processing in the case of the AVC scheme. In this case, division by 2X + Y is performed. The actual processing is realized not by division but by shift operation.
  • the image encoding apparatus 100 can improve the coding efficiency by suppressing the image quality deterioration due to the rounding error and improving the calculation accuracy by putting the rounding process into one process after the weighted addition. it can.
  • the above method can be applied to both Explicit Mode and Implicit Mode.
  • the present invention can also be applied to Intensity Compensation as proposed in Non-Patent Document 3.
  • step S101 the A / D conversion unit 101 A / D converts the input image.
  • step S102 the screen rearrangement buffer 102 stores the A / D converted image, and performs rearrangement from the display order of each picture to the coding order.
  • step S103 the intra prediction unit 114 performs intra prediction processing.
  • step S104 the motion prediction / compensation unit 115, the weighting prediction unit 121, and the motion vector accuracy determination unit 122 perform inter motion prediction processing.
  • step S105 the prediction image selection unit 116 selects one of the prediction image generated by intra prediction and the prediction image generated by inter prediction.
  • step S106 the computing unit 103 computes the difference between the image rearranged in the process of step S102 and the predicted image selected in the process of step S105 (generates a difference image).
  • the generated difference image has a reduced amount of data compared to the original image. Therefore, the amount of data can be compressed as compared to the case of encoding the image as it is.
  • step S107 the orthogonal transformation unit 104 orthogonally transforms the difference image generated by the process of step S106. Specifically, orthogonal transformation such as discrete cosine transformation and Karhunen-Loeve transformation is performed, and orthogonal transformation coefficients are output.
  • step S108 the quantization unit 105 quantizes the orthogonal transformation coefficient obtained by the process of step S107.
  • step S109 the inverse quantization unit 108 inversely quantizes the quantized orthogonal transformation coefficient (also referred to as a quantization coefficient) generated by the process of step S108 with a characteristic corresponding to the characteristic of the quantization unit 105.
  • step S110 the inverse orthogonal transformation unit 109 performs inverse orthogonal transformation on the orthogonal transformation coefficient obtained by the process of step S109 with a characteristic corresponding to the characteristic of the orthogonal transformation unit 104. Thereby, the difference image is restored.
  • step S111 the calculation unit 110 adds the prediction image selected in step S105 to the difference image generated in step S110, to generate a locally decoded decoded image (reconstructed image).
  • step S112 the loop filter 111 appropriately performs loop filter processing including deblock filter processing, adaptive loop filter processing, and the like on the reconstructed image obtained by the processing of step S111, and generates a decoded image.
  • step S113 the frame memory 112 stores the decoded image generated by the process of step S112 or the reconstructed image generated by the process of step S111.
  • step S114 the lossless encoding unit 106 encodes the orthogonal transformation coefficient quantized in the process of step S108. That is, lossless coding such as variable-length coding or arithmetic coding is performed on the difference image.
  • the lossless encoding unit 106 encodes information on prediction, information on quantization, and the like, and adds the encoded information to a bit stream.
  • step S115 the accumulation buffer 107 accumulates the bit stream obtained by the process of step S114.
  • the encoded data stored in the storage buffer 107 is appropriately read and transmitted to the decoding side via a transmission path or a recording medium.
  • step S116 the rate control unit 117 prevents the overflow or underflow from occurring on the basis of the code amount (generated code amount) of the encoded data accumulated in the accumulation buffer 107 by the process of step S115. Control the rate of the quantization operation of
  • step S116 ends, the encoding process ends.
  • step S131 the weight coefficient determination unit 161 determines whether or not to perform weighted prediction in the slice.
  • the input image pixel value and the reference image pixel value are compared, and a luminance change has occurred, and when it is determined that weighted prediction is to be performed, the weighting factor determination unit 161 advances the process to step S132.
  • step S132 the motion prediction / compensation unit 115, the weighting prediction unit 121, and the motion vector accuracy determination unit 122 perform a weighting prediction process.
  • the motion prediction / compensation unit 115, the weighting prediction unit 121, and the motion vector accuracy determination unit 122 end the inter motion prediction process, and return the process to FIG.
  • step S131 If it is determined in step S131 that weighted prediction is not to be performed, the motion prediction / compensation unit 115, the weighting prediction unit 121, and the motion vector accuracy determination unit 122 cause the process to proceed to step S133.
  • step S133 the motion search unit 151 performs motion search for each inter prediction mode.
  • step S134 the cost function value generation unit 152 calculates a cost function value for each inter prediction mode.
  • step S135 the mode determination unit 153 determines the optimal inter prediction mode.
  • step S136 the motion compensation unit 154 performs motion compensation and generates a prediction image in the optimal inter prediction mode.
  • step S137 the motion compensation unit 154 outputs the generated predicted image to the predicted image selection unit 116.
  • step S138 the motion compensation unit 154 outputs the optimal mode information and the differential motion information to the lossless encoding unit 106.
  • step S151 the weighting factor determination unit 161 determines a weighting factor for the slice.
  • step S152 the motion search unit 151 performs a motion search for each inter prediction mode.
  • step S153 the motion vector accuracy determination unit 122 determines the motion accuracy for each inter prediction mode based on the motion information generated in step S152.
  • step S154 the motion accuracy adjustment unit 162 adjusts the motion accuracy for each inter prediction mode.
  • step S155 the motion search unit 151 performs interpolation processing of L0 and L1 for each inter prediction mode.
  • step S156 the motion search unit 151 performs weighted addition using the weighting factor determined in step S151 for each inter prediction mode.
  • step S157 the motion search unit 151 performs rounding processing for each inter prediction mode.
  • step S158 the cost function value generation unit 152 calculates a cost function value for each inter prediction mode.
  • step S159 the mode determination unit 153 determines the optimal inter prediction mode based on the cost function value.
  • step S160 the motion compensation unit 154 performs L0 and L1 interpolation processing for the optimal inter prediction mode.
  • step S161 the motion compensation unit 154 performs weighted addition on the optimal inter prediction mode.
  • step S162 the motion compensation unit 154 performs rounding processing for motion accuracy and weighted addition for the optimal inter prediction mode.
  • step S163 the motion compensation unit 154 outputs the generated predicted image to the predicted image selection unit 116.
  • step S165 the motion compensation unit 154 outputs the optimal mode information, the differential motion information, and the weighting factor to the lossless encoding unit 106 for encoding.
  • step S165 the motion compensation unit 154 ends the weighted prediction process, and returns the process to FIG.
  • the image coding apparatus 100 collectively performs rounding processing once after weighted addition, and suppresses image quality deterioration due to rounding errors to improve calculation accuracy, thereby improving coding efficiency. Can be improved.
  • FIG. 16 is a block diagram showing an example of a main configuration of an image decoding device corresponding to the image coding device 100 of FIG.
  • the image decoding apparatus 200 shown in FIG. 16 decodes the encoded data generated by the image encoding apparatus 100 by a decoding method corresponding to the encoding method.
  • the image decoding apparatus 200 includes an accumulation buffer 201, a lossless decoding unit 202, an inverse quantization unit 203, an inverse orthogonal transformation unit 204, an operation unit 205, a loop filter 206, a screen rearrangement buffer 207, and D. / A converter 208 is included.
  • the image decoding apparatus 200 further includes a frame memory 209, a selection unit 210, an intra prediction unit 211, a motion prediction / compensation unit 212, and a selection unit 213.
  • the image decoding apparatus 200 includes a weighting prediction unit 221 and a motion vector accuracy determination unit 222.
  • the accumulation buffer 201 accumulates the transmitted encoded data, and supplies the encoded data to the lossless decoding unit 202 at a predetermined timing.
  • the lossless decoding unit 202 decodes the information supplied from the accumulation buffer 201 and encoded by the lossless encoding unit 106 in FIG. 1 using a method corresponding to the encoding method of the lossless encoding unit 106.
  • the lossless decoding unit 202 supplies the quantized coefficient data of the differential image obtained by the decoding to the inverse quantization unit 203.
  • the lossless decoding unit 202 determines whether the intra prediction mode is selected or the inter prediction mode is selected as the optimum prediction mode, and the information on the optimum prediction mode can be obtained by the intra prediction unit 211 and the motion prediction / compensation unit Among the modes 212, the mode is determined to be selected. That is, for example, when the intra prediction mode is selected as the optimal prediction mode in the image coding apparatus 100, intra prediction information which is information on the optimal prediction mode is supplied to the intra prediction unit 211. Also, for example, when the inter prediction mode is selected as the optimum prediction mode in the image coding apparatus 100, the inter prediction information which is information on the optimum prediction mode is supplied to the motion prediction / compensation unit 212.
  • the inverse quantization unit 203 performs inverse quantization on the quantized coefficient data obtained by being decoded by the lossless decoding unit 202, using a method corresponding to the quantization method of the quantization unit 105 in FIG.
  • the data is supplied to the inverse orthogonal transform unit 204.
  • the inverse orthogonal transform unit 204 performs inverse orthogonal transform on the coefficient data supplied from the inverse quantization unit 203 according to a scheme corresponding to the orthogonal transform scheme of the orthogonal transform unit 104 in FIG. 1.
  • the inverse orthogonal transformation unit 204 obtains a difference image corresponding to the difference image before orthogonal transformation in the image coding apparatus 100 by the inverse orthogonal transformation processing.
  • the difference image obtained by the inverse orthogonal transformation is supplied to the calculation unit 205. Further, the prediction image is supplied to the calculation unit 205 from the intra prediction unit 211 or the motion prediction / compensation unit 212 via the selection unit 213.
  • the operation unit 205 adds the difference image and the prediction image, and obtains a reconstructed image corresponding to the image before the prediction image is subtracted by the operation unit 103 of the image coding apparatus 100.
  • the operation unit 205 supplies the reconstructed image to the loop filter 206.
  • the loop filter 206 appropriately performs loop filter processing including deblock filter processing, adaptive loop filter processing and the like on the supplied reconstructed image to generate a decoded image.
  • the loop filter 206 removes block distortion by performing deblocking filter processing on the reconstructed image.
  • the loop filter 206 improves the image quality by performing a loop filter process on the deblock filter process result (reconstructed image from which block distortion has been removed) using a Wiener filter. I do.
  • the type of filter processing performed by the loop filter 206 is arbitrary, and filter processing other than that described above may be performed.
  • the loop filter 206 may perform the filter process using the filter coefficient supplied from the image coding apparatus 100 of FIG. 1.
  • the loop filter 206 supplies the decoded image which is the filter processing result to the screen rearrangement buffer 207 and the frame memory 209.
  • the filter processing by the loop filter 206 can be omitted. That is, the output of the addition unit 205 can be stored in the frame memory 209 without being filtered.
  • the intra prediction unit 211 uses the pixel value of the pixel included in this image as the pixel value of the peripheral pixel.
  • the screen rearrangement buffer 207 rearranges the supplied decoded image. That is, the order of the frames rearranged for the order of encoding by the screen rearrangement buffer 102 in FIG. 1 is rearranged in the order of the original display.
  • the D / A conversion unit 208 D / A converts the decoded image supplied from the screen rearrangement buffer 207, and outputs it to a display not shown for display.
  • the frame memory 209 stores the supplied reconstructed image or decoded image.
  • the frame memory 209 stores the reconstructed image or the decoded image stored in the intra prediction unit 211 at a predetermined timing or based on an external request such as the intra prediction unit 211 or the motion prediction / compensation unit 212.
  • the motion prediction / compensation unit 212 is supplied.
  • the intra prediction unit 211 basically performs the same process as the intra prediction unit 114 in FIG. 1. However, the intra prediction unit 211 performs intra prediction only on a region where a predicted image is generated by intra prediction at the time of encoding.
  • the motion prediction / compensation unit 212 basically performs inter prediction in the same manner as the motion prediction / compensation unit 115. However, based on the inter prediction information supplied from the lossless decoding unit 202, the motion prediction / compensation unit 212 performs inter prediction only on the region where inter prediction has been performed at the time of encoding. The motion prediction / compensation unit 212 supplies the generated predicted image to the selection unit 213.
  • the selection unit 213 supplies the predicted image supplied from the intra prediction unit 211 or the predicted image supplied from the motion prediction / compensation unit 212 to the calculation unit 205.
  • FIG. 17 is a block diagram showing an example of a main configuration of the motion prediction / compensation unit 212, the weighting prediction unit 221, and the motion vector accuracy determination unit 222 in FIG.
  • the motion prediction / compensation unit 212 includes a weight coefficient buffer 251, a differential motion information buffer 252, a motion information reconstruction unit 253, a motion information buffer 254, and a motion compensation unit 255.
  • the weighting prediction unit 221 further includes a weighting factor determination unit 261 and a motion accuracy adjustment unit 262.
  • the motion prediction / compensation unit 212 basically performs the same processing as the motion prediction / compensation unit 115 of the image coding apparatus 100. However, the motion prediction / compensation unit 212 is included in the bit stream, and from the coding side Based on the transmitted information, inter prediction is performed only for the region predicted inter during coding.
  • the motion prediction / compensation unit 212 reconstructs motion information using the differential motion information supplied from the lossless decoding unit 202, and performs motion compensation.
  • weighting factors used for weighted prediction are also added to the bitstream and supplied from the encoding side.
  • the weighting factor buffer 251 acquires and stores the weighting factor extracted from the bit stream in the lossless decoding unit 202, and weights the stored weighting factor at a predetermined timing or based on an external request. It is supplied to the weight coefficient determination unit 261 of the prediction unit 221.
  • the differential motion information buffer 252 acquires and stores differential motion information extracted from the bit stream by the lossless decoding unit 202.
  • the differential motion information buffer 252 supplies the stored differential motion information to the motion information restructuring unit 253 at a predetermined timing or based on an external request.
  • the motion information restructuring unit 253 obtains, from the motion information buffer 254, peripheral motion information corresponding to the difference motion information, and uses them to Restructure information.
  • the motion information reconstruction unit 253 supplies the reconstructed motion information to the motion compensation unit 255 and the motion vector accuracy determination unit 222.
  • the motion vector accuracy determination unit 222 determines the movement accuracy of the motion information supplied from the motion information reconstruction unit 253. Similar to the case of the motion accuracy adjustment unit 162, the motion accuracy adjustment unit 262 obtains the determination result (motion accuracy), and generates rounding control information based on the information.
  • the weighting factor determination unit 261 supplies the weighting factor acquired from the weighting factor buffer 251 to the motion compensation unit 255.
  • the weighting factor may be calculated by the image decoding apparatus 200. For example, in the case of the implicit mode, the weighting factor determination unit 261 calculates a weighting factor for the slice.
  • the motion information buffer 254 acquires and stores motion information reconstructed by the motion information restructuring unit 253.
  • the stored motion information is returned to the motion information restructuring unit 253 as motion information of the surrounding area.
  • the motion compensation unit 255 includes the motion information supplied from the motion information reconstructing unit 253, the weighting factor supplied from the weighting coefficient determination unit 261, the rounding control information supplied from the motion accuracy adjustment unit 262, and the frame memory 209. Motion compensation is performed using the supplied reference image pixel values as appropriate to generate a predicted image. Therefore, the motion compensation unit 255 performs weighted prediction on a region that has been weighted and predicted at the time of encoding, and generates a predicted image.
  • the generation of a predicted image in motion compensation is performed basically in the same manner as in the case of the image coding apparatus 100 of FIG. That is, in the weighted prediction, the motion compensation unit 255 collectively performs rounding processing once after weighted addition. By doing this, the motion compensation unit 255 can improve the calculation accuracy by suppressing the image quality deterioration due to the rounding error. Therefore, the image decoding apparatus 200 can realize improvement in coding efficiency.
  • step S201 the accumulation buffer 201 accumulates the transmitted bit stream.
  • step S202 the lossless decoding unit 202 decodes the bit stream (coded difference image information) supplied from the accumulation buffer 201.
  • various information other than the difference image information included in the bit stream such as intra prediction information and inter prediction information, is also decoded.
  • step S203 the inverse quantization unit 203 inversely quantizes the quantized orthogonal transformation coefficient obtained by the process of step S202.
  • step S204 the inverse orthogonal transformation unit 204 performs inverse orthogonal transformation on the orthogonal transformation coefficient that has been inversely quantized in step S203.
  • step S205 the intra prediction unit 211 or the motion prediction / compensation unit 212 performs prediction processing using the supplied information.
  • the selection unit 213 selects the predicted image generated in step S205.
  • step S207 the computing unit 205 adds the predicted image selected in step S206 to the difference image information obtained by the inverse orthogonal transformation in step S204. This generates a reconstructed image.
  • step S208 the loop filter 206 appropriately performs loop filter processing including deblock filter processing, adaptive loop filter processing, and the like on the reconstructed image obtained in step S207.
  • step S209 the screen rearrangement buffer 207 rearranges the decoded image generated by the filtering process in step S208. That is, the order of the frames rearranged for encoding by the screen rearrangement buffer 102 of the image encoding device 100 is rearranged in the original display order.
  • step S210 the D / A conversion unit 208 D / A converts the decoded image in which the order of the frames is rearranged.
  • the decoded image is output to a display (not shown) and displayed.
  • step S211 the frame memory 209 stores the decoded image obtained by the filtering process in step S209. This decoded image is used as a reference image in the inter prediction process.
  • step S211 ends, the decoding process ends.
  • step S231 the intra prediction unit 211 performs intra prediction when the region to be processed is encoded based on the intra prediction information or the inter prediction information supplied from the lossless decoding unit 202. It is determined whether or not it has been done. If it is determined that intra prediction has been performed, the intra prediction unit 211 proceeds with the process to step S332.
  • the intra prediction unit 211 acquires intra prediction mode information in step S232, and generates a prediction image by intra prediction in step S233.
  • the intra prediction unit 211 ends the prediction process, and returns the process to FIG.
  • step S231 If it is determined in step S231 that the area is an area where inter prediction has been performed, the process proceeds to step S234.
  • step S234 the motion prediction / compensation unit 212, the weighting prediction unit 221, and the motion vector accuracy determination unit 222 perform inter motion prediction processing.
  • the motion prediction / compensation unit 212, the weighting prediction unit 221, and the motion vector accuracy determination unit 222 end the prediction process, and return the process to FIG.
  • step S251 the weight coefficient determination unit 261 determines whether weighted prediction has been performed in the slice. If it is determined that weighted prediction has been performed, the weighting factor determination unit 261 advances the process to step S252.
  • step S252 the motion prediction / compensation unit 212, the weighting prediction unit 221, and the motion vector accuracy determination unit 222 perform weighting prediction processing.
  • the motion prediction / compensation unit 212, the weighting prediction unit 221, and the motion vector accuracy determination unit 222 end the inter motion prediction process, and the process returns to FIG.
  • step S251 If it is determined in step S251 that weighted prediction has not been performed, the weighting factor determination unit 261 advances the process to step S253. In step S253, the differential motion information buffer 252 acquires differential motion information.
  • step S254 the motion information restructuring unit 253 reconstructs motion information.
  • step S255 the motion compensation unit 255 reconstructs motion information using the reconstructed motion information.
  • step S256 the motion compensation unit 255 outputs the generated predicted image to the calculation unit 205. Also, in step S257, the motion information buffer 254 stores the reconstructed motion information. When the process of step S257 ends, the motion information buffer 254 ends the inter motion prediction process, and returns the process to FIG.
  • step S 271 the weighting factor determination unit 261 determines a weighting factor for the slice.
  • step S272 the differential motion information buffer 252 acquires differential motion information.
  • step S273 the motion information restructuring unit 253 reconstructs motion information using the difference motion information.
  • step S274 the motion accuracy adjustment unit 262 adjusts the motion accuracy determined by the motion vector accuracy determination unit 222.
  • step S275 the motion compensation unit 255 performs interpolation processing for each of L0 and L1.
  • step S 276 the motion compensation unit 255 performs weighted addition of L 0 and L 1.
  • step S277 the motion compensation unit 255 performs rounding processing.
  • step S278 the motion compensation unit 255 outputs the predicted image generated as described above.
  • step S279 the motion information buffer 254 stores motion information. When the process of step S279 ends, the motion information buffer 254 ends the weighted prediction process, and the process returns to FIG.
  • the image decoding apparatus 200 can perform rounding processing in one operation after weighted addition, and can suppress image quality deterioration due to a rounding error to improve calculation accuracy. Thereby, the image decoding apparatus 200 can realize improvement in coding efficiency.
  • the present technology is, for example, MPEG, H.
  • image information bit stream
  • orthogonal transformation such as discrete cosine transformation and motion compensation as in 26x etc. via satellite broadcasting, cable television, the Internet, or network media such as a cellular phone
  • the present technology can be applied to an image encoding device and an image decoding device that are used when processing on storage media such as an optical disk, a magnetic disk, and a flash memory.
  • the present technology can also be applied to intra prediction devices included in such image coding devices and image decoding devices.
  • Third embodiment> [Personal computer]
  • the above-described series of processes may be performed by hardware or software.
  • a program that configures the software is installed on a computer.
  • the computer includes a computer incorporated in dedicated hardware, a general-purpose personal computer capable of executing various functions by installing various programs, and the like.
  • a central processing unit (CPU) 501 of a personal computer 500 executes various programs according to a program stored in a read only memory (ROM) 502 or a program loaded from a storage unit 513 to a random access memory (RAM) 503. Execute the process of The RAM 503 also appropriately stores data and the like necessary for the CPU 501 to execute various processes.
  • ROM read only memory
  • RAM random access memory
  • the CPU 501, the ROM 502, and the RAM 503 are connected to one another via a bus 504.
  • An input / output interface 510 is also connected to the bus 504.
  • the input / output interface 510 includes an input unit 511 such as a keyboard and a mouse, a display such as a CRT (Cathode Ray Tube) or an LCD (Liquid Crystal Display), an output unit 512 such as a speaker, and a hard disk.
  • a communication unit 514 including a storage unit 513 and a modem is connected. The communication unit 514 performs communication processing via a network including the Internet.
  • a drive 515 is also connected to the input / output interface 510 as necessary, and removable media 521 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory are appropriately attached, and a computer program read from them is It is installed in the storage unit 513 as necessary.
  • a program that configures the software is installed from a network or a recording medium.
  • this recording medium is a magnetic disk (including a flexible disk) on which a program is recorded, which is distributed for distributing the program to the user separately from the apparatus main body, an optical disk ( It consists only of removable media 521 such as CD-ROM (Compact Disc-Read Only Memory), DVD (Digital Versatile Disc), Magneto-Optical Disc (including MD (Mini Disc), or semiconductor memory etc. Instead, it is composed of the ROM 502 in which the program is recorded, which is distributed to the user in a state of being incorporated in the apparatus main body, a hard disk included in the storage unit 513, and the like.
  • the program executed by the computer may be a program that performs processing in chronological order according to the order described in this specification, in parallel, or when necessary, such as when a call is made. It may be a program to be processed.
  • the step of describing the program to be recorded on the recording medium is not limited to processing performed chronologically in the order described, but not necessarily parallel processing It also includes processing to be executed individually.
  • system represents the entire apparatus configured by a plurality of devices (apparatus).
  • the configuration described above as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units).
  • the configuration described as a plurality of devices (or processing units) in the above may be collectively configured as one device (or processing unit).
  • configurations other than those described above may be added to the configuration of each device (or each processing unit).
  • part of the configuration of one device (or processing unit) may be included in the configuration of another device (or other processing unit) if the configuration or operation of the entire system is substantially the same. . That is, the present technology is not limited to the above-described embodiment, and various modifications can be made without departing from the scope of the present technology.
  • the image encoding device and the image decoding device include a transmitter or a receiver in optical satellite, 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 apparatus which records an image on a medium such as a magnetic disk and a flash memory, or a reproduction apparatus which reproduces an image from the storage medium.
  • a recording apparatus which records an image on a medium such as a magnetic disk and a flash memory
  • a reproduction apparatus which reproduces an image from the storage medium.
  • FIG. 23 shows an example of a schematic configuration of a television set to which the embodiment described above is applied.
  • the television device 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.
  • the tuner 902 extracts a signal of a desired channel from a broadcast signal received via the antenna 901, and demodulates the extracted signal. Then, the tuner 902 outputs the coded bit stream obtained by demodulation to the demultiplexer 903. That is, the tuner 902 has a role as a transmission means in the television apparatus 900 for receiving a coded stream in which an image is coded.
  • the demultiplexer 903 separates the video stream and audio stream of the program to be viewed from the coded bit stream, and outputs the separated streams to the decoder 904. Also, the demultiplexer 903 extracts auxiliary data such as an EPG (Electronic Program Guide) from the encoded bit stream, and supplies the extracted data to the control unit 910. When the coded bit stream is scrambled, the demultiplexer 903 may perform descrambling.
  • 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. Further, the decoder 904 outputs the 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 a video. Also, the video signal processing unit 905 may cause the display unit 906 to display an application screen supplied via the network. Further, the video signal processing unit 905 may perform additional processing such as noise removal on the video data according to the setting. Furthermore, the video signal processing unit 905 may generate an image of a graphical user interface (GUI) such as a menu, a button, or a cursor, for example, and may superimpose the generated image on the output image.
  • GUI graphical 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 the image surface of a display device (for example, a liquid crystal display, a plasma display, or OELD (Organic ElectroLuminescence Display) (organic EL display)). Or display an image.
  • a display device for example, a liquid crystal display, a plasma display, or OELD (Organic ElectroLuminescence Display) (organic EL display)). Or display an image.
  • the audio signal processing unit 907 performs reproduction processing such as D / A conversion and amplification on audio data input from the decoder 904, and causes the speaker 908 to output audio. Further, the audio signal processing unit 907 may perform additional processing such as noise removal on the audio data.
  • the external interface 909 is an interface for connecting the television device 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 serves as a transmission means in the television apparatus 900 for receiving the coded stream in which the image is coded.
  • 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 by the memory is read and executed by the CPU, for example, when the television device 900 is started.
  • the CPU controls the operation of the television apparatus 900 according to an operation signal input from, for example, the user interface 911 by executing a program.
  • the user interface 911 is connected to the control unit 910.
  • the user interface 911 has, for example, buttons and switches for the user to operate the television device 900, a receiver of remote control signals, 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 mutually 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.
  • the decoder 904 has the function of the image decoding apparatus according to the above-described embodiment. As a result, when decoding an image in the television apparatus 900, it is possible to suppress the image quality deterioration due to the rounding error, to improve the calculation accuracy, and to realize the improvement of the coding efficiency.
  • FIG. 24 shows an example of a schematic configuration of a mobile phone to which the embodiment described above is applied.
  • the mobile phone 920 includes an antenna 921, a communication unit 922, an audio codec 923, a speaker 924, a microphone 925, a camera unit 926, an image processing unit 927, a multiplexing and separating unit 928, a recording and reproducing unit 929, a display unit 930, a control unit 931, an operation.
  • a unit 932 and a bus 933 are provided.
  • 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 mutually 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.
  • the cellular phone 920 can transmit and receive audio signals, transmit and receive electronic mail or image data, capture an image, and record data in various operation modes including a voice call mode, a data communication mode, a shooting mode, and a videophone mode. Do 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, and A / D converts and compresses the converted audio data. Then, the audio codec 923 outputs the compressed audio data to the communication unit 922.
  • the communication unit 922 encodes and modulates audio data to generate 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 also amplifies and frequency-converts a radio signal received via the antenna 921 to obtain a reception 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 and D / A converts audio data 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 an electronic mail in accordance with an operation by the user via the operation unit 932. Further, the control unit 931 causes the display unit 930 to display characters. Further, the control unit 931 generates electronic mail data in response to a transmission instruction from the user via the operation unit 932, and outputs the generated electronic mail data to the communication unit 922.
  • a communication unit 922 encodes and modulates electronic mail data to generate 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 also amplifies and frequency-converts a radio signal received via the antenna 921 to obtain a reception signal.
  • the communication unit 922 demodulates and decodes the received signal to restore the e-mail data, and outputs the restored e-mail data to the control unit 931.
  • the control unit 931 causes the display unit 930 to display the content of the e-mail, and stores the e-mail data in the storage medium of the recording and reproduction unit 929.
  • the recording and reproducing unit 929 includes an arbitrary readable and writable storage medium.
  • the storage medium may be a built-in storage medium such as RAM or flash memory, and may be an externally mounted type such as a hard disk, magnetic disk, magneto-optical disk, optical disk, USB (Unallocated Space Bitmap) memory, or memory card Storage media.
  • the camera unit 926 captures an image of 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 and reproduction 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 communication unit 922 multiplexes the multiplexed stream.
  • Output to The communication unit 922 encodes and modulates the stream to generate a transmission signal.
  • the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
  • the communication unit 922 also amplifies and frequency-converts a radio signal received via the antenna 921 to obtain a reception signal.
  • the transmission signal and the reception signal may include a coded 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 to generate video data.
  • the video data is supplied to the display unit 930, and the display unit 930 displays a series of images.
  • the audio codec 923 decompresses and D / A converts the audio stream 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 functions of the image encoding device and the image decoding device according to the above-described embodiment. As a result, when encoding and decoding an image in the mobile phone 920, it is possible to suppress image quality deterioration due to rounding errors, improve calculation accuracy, and improve encoding efficiency.
  • FIG. 25 shows an example of a schematic configuration of a recording and reproducing apparatus to which the embodiment described above is applied.
  • the recording / reproducing device 940 encodes, for example, audio data and video data of the received broadcast program, and records the encoded data on a recording medium.
  • the recording and reproduction device 940 may encode, for example, audio data and video data acquired from another device and record the encoded data on a recording medium.
  • the recording / reproducing device 940 reproduces the data recorded on the recording medium on the monitor and the speaker, for example, in accordance with the user's 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. And 950.
  • the 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 coded bit stream obtained by demodulation to the selector 946. That is, the tuner 941 has a role as a transmission means in the recording / reproducing device 940.
  • the external interface 942 is an interface for connecting the recording and reproducing device 940 to an external device or a network.
  • the external interface 942 may be, for example, an IEEE 1394 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 has a role 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 coded bit stream to the selector 946.
  • the HDD 944 records an encoded bit stream obtained by compressing content data such as video and audio, various programs, and other data in an internal hard disk. Also, the HDD 944 reads these data from the hard disk when reproducing video and audio.
  • the disk drive 945 records and reads data on the attached 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 Blu-ray (registered trademark) disk, etc. It may be.
  • the selector 946 selects the coded bit stream input from the tuner 941 or the encoder 943 at the time of recording video and audio, and outputs the selected coded bit stream to the HDD 944 or the disk drive 945. Also, the selector 946 outputs the encoded bit stream input from the HDD 944 or the disk drive 945 to the decoder 947 at the time of reproduction of video and audio.
  • the decoder 947 decodes the coded bit stream to generate video data and audio data. Then, the decoder 947 outputs the generated video data to the OSD 948. Also, the decoder 904 outputs the generated audio data to an external speaker.
  • the OSD 948 reproduces the video data input from the decoder 947 and displays the video.
  • the OSD 948 may superimpose an image of a GUI 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 programs executed by the CPU, program data, and the like.
  • the program stored by the memory is read and executed by the CPU, for example, when the recording and reproducing device 940 is started.
  • the CPU controls the operation of the recording / reproducing apparatus 940 in accordance with an operation signal input from, for example, the user interface 950 by executing a 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 and reproducing device 940, a receiver of a remote control signal, and the like.
  • the user interface 950 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 949.
  • the encoder 943 has the function of the image coding apparatus according to the embodiment described above.
  • the decoder 947 has the function of the image decoding apparatus according to the above-described embodiment.
  • FIG. 26 illustrates an example of a schematic configuration of an imaging device to which the embodiment described above is applied.
  • the imaging device 960 captures an object to generate an image, encodes image data, and records the image data in 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 is provided.
  • 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 mutually 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.
  • the optical block 961 has a focus lens, an aperture mechanism, and the like.
  • the optical block 961 forms an optical image of a subject on the imaging surface of the imaging unit 962.
  • the imaging unit 962 includes an image sensor such as a charge coupled device (CCD) or a complementary metal oxide semiconductor (CMOS), and converts an optical image formed on an 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 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 to generate 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.
  • the image processing unit 964 may output the image data input from the signal processing unit 963 to the display unit 965 to display an image. The image processing unit 964 may superimpose the display data acquired from the OSD 969 on the image to be output to the display unit 965.
  • the OSD 969 generates an image of a GUI such as a menu, a button, or a cursor, for example, and outputs the generated image to the image processing unit 964.
  • a GUI such as a menu, a button, or a cursor
  • the external interface 966 is configured as, for example, a USB input / output terminal.
  • the external interface 966 connects the imaging device 960 and the printer, for example, when printing an image.
  • a drive is connected to the external interface 966 as necessary.
  • removable media such as a magnetic disk or an optical disk may be attached to the drive, and a program read from the removable media may 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 in the media drive 968 may be, for example, any readable / writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory.
  • the recording medium may be fixedly attached to the media drive 968, and a non-portable storage unit such as, for example, a built-in hard disk drive or a solid state drive (SSD) may be configured.
  • SSD solid state drive
  • the control unit 970 includes a processor such as a CPU, and memories such as a RAM and a ROM.
  • the memory stores programs executed by the CPU, program data, and the like.
  • the program stored by the memory is read and executed by the CPU, for example, when the imaging device 960 starts up.
  • the CPU controls the operation of the imaging device 960 according to an operation signal input from, for example, the user interface 971 by executing a 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 functions of the image coding device and the image decoding device according to the above-described embodiment. As a result, when encoding and decoding an image in the imaging device 960, image quality deterioration due to rounding errors can be suppressed to improve calculation accuracy, and encoding efficiency can be improved.
  • the method of transmitting such information is not limited to such an example.
  • the information may be transmitted or recorded as separate data associated with the coded bit stream without being multiplexed into the coded bit stream.
  • the term “associate” allows an image (a slice or a block, which may be a part of an image) included in a bitstream to be linked at the time of decoding with information corresponding to the image. Means That is, the information may be transmitted on a different transmission path from the image (or bit stream).
  • the 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 any unit such as, for example, a plurality of frames, one frame, or a part in a frame.
  • the present technology can also have the following configurations.
  • a motion compensation unit that performs motion compensation with fractional pixel accuracy for each of L0 and L1;
  • a weighted addition unit for weighted addition of each calculation result by the motion compensation unit;
  • An image processing apparatus comprising: a rounding processing unit that performs rounding processing on a calculation result by the weighted addition unit.
  • a determination unit that determines the accuracy of L0 and L1;
  • the image processing apparatus according to (1) further including: an adjusting unit configured to adjust the accuracy based on a determination result of the determining unit.
  • the image processing apparatus according to any one of (1) to (6), which performs division processing.
  • the image processing apparatus according to any one of (1) to (7), wherein the weighted addition unit performs Explicit Weighted Prediction.
  • the image processing apparatus according to any one of (1) to (8), wherein the weighted addition unit performs implicit weighted prediction.
  • the image processing apparatus according to any one of (1) to (9), wherein the weighted addition unit performs intensity compensation.
  • An image processing method of an image processing apparatus The motion compensation unit performs motion compensation with fractional pixel accuracy for each of L0 and L1, and The weighting addition unit adds the respective operation results by weighting, Rounding processing unit performs rounding processing on the operation result.
  • Reference Signs List 100 image coding device, 115 motion prediction / compensation unit, 121 weighting prediction unit, 122 motion vector accuracy determination unit, 151 motion search unit, 154 motion compensation unit, 161 weight coefficient determination unit, 162 motion accuracy adjustment unit, 200 image Decoding device, 212 motion prediction / compensation unit, 221 weighting prediction unit, 222 motion vector accuracy determination unit, 251 weighting coefficient buffer, 252 differential motion information buffer, 253 motion information reconstruction unit, 254 motion information buffer, 255 motion compensation unit, 261 Weight coefficient determination unit, 262 Motion accuracy adjustment unit

Landscapes

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

Abstract

本技術は、符号化効率を向上させることができるようにする画像処理装置および方法に関する。 画像符号化処理や画像復号処理において行われる重み予測処理において、L0とL1のそれぞれについて小数画素精度の動き補償を行う動き補償部と、前記動き補償部による各演算結果を重み付け加算する重み付け加算部と、前記重み付け加算部による演算結果に対して、必要な丸め処理を1回で行うことにより演算精度の低下を抑制させる丸め処理部とを備える。本開示は画像処理装置に適用することができる。

Description

画像処理装置および方法
 本開示は、画像処理装置および方法に関し、特に、符号化効率を向上させることができるようにした画像処理装置および方法に関する。
 近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮するMPEG(Moving Picture Experts Group)などの方式に準拠した装置が、放送局などの情報配信、及び一般家庭における情報受信の双方において普及しつつある。
 特に、MPEG2(ISO(International Organization for Standardization)/IEC(International Electrotechnical Commission) 13818-2)は、汎用画像符号化方式として定義されており、飛び越し走査画像及び順次走査画像の双方、並びに標準解像度画像及び高精細画像を網羅する標準で、プロフェッショナル用途及びコンシューマ用途の広範なアプリケーションに現在広く用いられている。MPEG2圧縮方式を用いることにより、例えば720×480画素を持つ標準解像度の飛び越し走査画像であれば4~8Mbps、1920×1088画素を持つ高解像度の飛び越し走査画像であれば18~22Mbpsの符号量(ビットレート)を割り当てることで、高い圧縮率と良好な画質の実現が可能である。
 MPEG2は主として放送用に適合する高画質符号化を対象としていたが、MPEG1より低い符号量(ビットレート)、つまりより高い圧縮率の符号化方式には対応していなかった。携帯端末の普及により、今後そのような符号化方式のニーズは高まると思われ、これに対応してMPEG4符号化方式の標準化が行われた。画像符号化方式に関しては、1998年12月にISO/IEC 14496-2としてその規格が国際標準に承認された。
 更に、近年、当初テレビ会議用の画像符号化を目的として、H.26L (ITU-T(International Telecommunication Union Telecommunication Standardization Sector) Q6/16 VCEG(Video Coding Expert Group))という標準の規格化が進んでいる。H.26LはMPEG2やMPEG4といった従来の符号化方式に比べ、その符号化、復号化により多くの演算量が要求されるものの、より高い符号化効率が実現されることが知られている。また、現在、MPEG4の活動の一環として、このH.26Lをベースに、H.26Lではサポートされない機能をも取り入れ、より高い符号化効率を実現する標準化がJoint Model of Enhanced-Compression Video Codingとして行われている。
 標準化のスケジュールとしては、2003年3月にはH.264及びMPEG-4 Part10 (Advanced Video Coding、以下AVCと記す)という名の元に国際標準となった。
 更に、その拡張として、RGBや4:2:2、4:4:4といった、業務用に必要な符号化ツールや、MPEG-2で規定されていた8x8DCT(Discrete Cosine Transform)や量子化マトリクスをも含んだFRExt(Fidelity Range Extension)の標準化が2005年2月に完了し、これにより、AVCを用いて、映画に含まれるフィルムノイズをも良好に表現することが可能な符号化方式となって、Blu-Ray Disc等の幅広いアプリケーションに用いられる運びとなった。
 しかしながら、昨今、ハイビジョン画像の4倍の、4000×2000画素程度の画像を圧縮したい、或いは、インターネットのような、限られた伝送容量の環境において、ハイビジョン画像を配信したいといった、更なる高圧縮率符号化に対するニーズが高まっている。このため、ITU-T傘下のVCEG(Video Coding Expert Group)において、符号化効率の改善に関する検討が継続され行なわれている。
 ところで、従来のように、マクロブロックサイズを16画素×16画素とするのは、次世代符号化方式の対象となるような、UHD(Ultra High Definition;4000画素×2000画素)といった大きな画枠に対しては、最適ではない恐れがあった。
 そこで、現在、AVCより更なる符号化効率の向上を目的として、ITU-Tと、ISO/IECの共同の標準化団体であるJCTVC(Joint Collaboration Team - Video Coding)により、HEVC(High Efficiency Video Coding)と呼ばれる符号化方式の標準化が進められている(例えば、非特許文献1参照)。
 このHEVC符号化方式においては、AVCにおけるマクロブロックと同様の処理単位としてコーディングユニット(CU(Coding Unit))が定義されている。このCUは、AVCのマクロブロックのようにサイズが16×16画素に固定されず、それぞれのシーケンスにおいて、画像圧縮情報中において指定される。
 ところで、MPEG2やMPEG4においては、例えば、フェードシーンのように、動きが存在するが、明るさが変化するようなシーケンスにおいては、明るさの変化を吸収する符号化ツールが用意されていないため、符号化効率が低下するという問題を有していた。
 かかる問題を解決するため、AVCにおいては、重み付き予測処理が設けられていた(例えば非特許文献2参照)。AVCにおいては、スライス単位で、この重み付け予測を用いる・用いないを指定することが可能である。
 また、AVCにおいては、重み付け予測(Weighted Prediction)は、スライス単位で適用することが可能である。さらに、ブロック単位でWeighted Predictionを適用する方法(Intensity Compensation)も提案されている(例えば非特許文献3参照)。
Thomas Wiegand, Woo-Jin Han, Benjamin Bross, Jens-Rainer Ohm, Gary J. Sullivan, "Working Draft 1 of High-Efficiency Video Coding ", JCTVC-C403, Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG113rd Meeting: Guangzhou, CN, 7-15 October, 2010 Yoshihiro Kikuchi, Takeshi Chujoh, "Improved multiple frame motion compensation using frame interpolation", JVT-B075, Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCEG(ISO/IEC JTC1/SC29/WG11 and ITU-T SG16 Q.6)2nd Meeting: Geneva, CH, Jan. 29 - Feb. 1, 2002 I. Amonou, N. Cammas, G. Clare, J. Jung, L. Noblet, S. Pateux, S. Matsuo, S. Takamura, C.S. Boon, F. Bossen, A. Fujibayashi, S. Kanumuri, Y. Suzuki, J. Takiue, T.K. Tan, V. Drugeon, C.S. Lim, M. Narroschke, T. Nishi, H. Sasai, Y. Shibahara, K. Uchibayashi, T. Wedi, S. Wittmann, P. Bordes, C. Gomila, P. Guillotel, L. Guo, E. Francois, X. Lu, J. Sole, J. Vieron, Q. Xu, P. Yin, Y. Zheng, "Description of video coding technology proposal by France Telecom, NTT, NTT DOCOMO, Panasonic and Technicolor",JCTVC-A114, Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG111st Meeting: Dresden, DE, 15-23 April, 2010
 しかしながら、上述の重み付け処理は、動き補償のために丸め処理を行って、更に、重み付け加算の後にも丸め処理を行うため、演算精度の低下により、符号化効率が低下する恐れがあった。
 本開示は、このような状況に鑑みてなされたものであり、L0及びL1動きベクトルの精度も考慮して、動き補償のための積和処理と、重み付け加算処理の後に丸め処理を行うことにより、丸め誤差による画質劣化を抑制することができるようにすることを目的とする。
 本開示の一側面は、L0とL1のそれぞれについて小数画素精度の動き補償を行う動き補償部と、前記動き補償部による各演算結果を重み付け加算する重み付け加算部と、前記重み付け加算部による演算結果に丸め処理を行う丸め処理部とを備える画像処理装置である。
 L0とL1の精度を判定する判定部と、前記判定部の判定結果に基づいて、前記精度を調整する調整部とをさらに備えることができる。
 前記調整部は、L0とL1の一方に所定の係数を乗算することにより、一方の精度を他方の精度に合わせることができる。
 前記調整部は、L0とL1の内、精度が大きい方を調整し、精度が小さい方に合わせることができる。
 前記調整部は、L0の精度とL1の精度が互いに等しい場合、前記精度の調整を行わないことができる。
 前記調整部は、L0とL1の水平方向の精度および垂直方向の精度の両方に基づいて、前記精度を調整することができる。
 前記丸め処理部は、動きベクトル精度調整のための乗算処理が2Xであり、重み付け予測処理のための除算処理が2Yであるとすると、前記重み付け加算部の演算処理後、2X+Yの除算処理を行うことができる。
 前記重み付け加算部は、Explicit Weighted Predictionを行うことができる。
 前記重み付け加算部は、Implicit Weighted Predictionを行うことができる。
 前記重み付け加算部は、Intensity Compensationを行うことができる。
 本開示の一側面は、また、画像処理装置の画像処理方法であって、動き補償部が、L0とL1のそれぞれについて小数画素精度の動き補償を行い、重み付け加算部が、各演算結果を重み付け加算し、丸め処理部が、演算結果に丸め処理を行う画像処理方法である。
 本開示の一側面においては、L0とL1のそれぞれについて小数画素精度の動き補償が行われ、各演算結果が重み付け加算され、その演算結果に丸め処理が行われる。
 本開示によれば、画像を処理することができる。特に、符号化効率を向上させることができる。
画像符号化装置の主な構成例を示すブロック図である。 小数点画素精度の動き予測・補償処理の例を示す図である。 マクロブロックの例を示す図である。 メディアンオペレーションの様子の例を説明する図である。 マルチ参照フレームの例を説明する図である。 動き探索方式の例を説明する図である。 重み予測の様子の例を説明する図である。 コーディングユニットの構成例を説明する図である。 重み付け予測の演算の例を示すブロック図である。 重み付け予測の演算の他の例を示すブロック図である。 動き予測・補償部、重み付け予測部、および動きベクトル精度判定部の主な構成例を説明するブロック図である。 2次元の動きベクトルの調整を説明する表である。 符号化処理の流れの例を説明するフローチャートである。 インター動き予測処理の流れの例を説明するフローチャートである。 重み付け予測処理の流れの例を説明するフローチャートである。 画像復号装置の主な構成例を示すブロック図である。 動き予測・補償部、重み付け予測部、および動きベクトル精度判定部の主な構成例を説明するブロック図である。 復号処理の流れの例を説明するフローチャートである。 予測処理の流れの例を説明するフローチャートである。 インター動き予測処理の流れの例を説明するフローチャートである。 重み付け予測処理の流れの例を説明するフローチャートである。 パーソナルコンピュータの主な構成例を示すブロック図である。 テレビジョン装置の概略的な構成の一例を示すブロック図である。 携帯電話機の概略的な構成の一例を示すブロック図である。 記録再生装置の概略的な構成の一例を示すブロック図である。 撮像装置の概略的な構成の一例を示すブロック図である。
 以下、発明を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
 1.第1の実施の形態(画像復号装置)
 2.第2の実施の形態(画像符号化装置)
 3.第3の実施の形態(パーソナルコンピュータ)
 4.第4の実施の形態(テレビジョン受像機)
 5.第5の実施の形態(携帯電話機)
 6.第6の実施の形態(記録再生装置)
 7.第7の実施の形態(撮像装置)
 <1.第1の実施の形態>
 [画像符号化装置]
 図1は、画像符号化装置の主な構成例を示すブロック図である。
 図1に示される画像符号化装置100は、H.264及びMPEG(Moving Picture Experts Group)4 Part10(AVC(Advanced Video Coding))符号化方式のように、予測処理を用いて画像データを符号化する。
 図1に示されるように画像符号化装置100は、A/D変換部101、画面並べ替えバッファ102、演算部103、直交変換部104、量子化部105、可逆符号化部106、および蓄積バッファ107を有する。また、画像符号化装置100は、逆量子化部108、逆直交変換部109、演算部110、ループフィルタ111、フレームメモリ112、選択部113、イントラ予測部114、動き予測・補償部115、予測画像選択部116、およびレート制御部117を有する。
 さらに、画像符号化装置100は、重み付け予測部121および動きベクトル精度判定部122を有する。
 A/D変換部101は、入力された画像データをA/D変換し、変換後の画像データ(デジタルデータ)を、画面並べ替えバッファ102に供給し、記憶させる。画面並べ替えバッファ102は、記憶した表示の順番のフレームの画像を、GOP(Group Of Picture)に応じて、符号化のためのフレームの順番に並べ替え、フレームの順番を並び替えた画像を、演算部103に供給する。また、画面並べ替えバッファ102は、フレームの順番を並び替えた画像を、イントラ予測部114および動き予測・補償部115にも供給する。
 演算部103は、画面並べ替えバッファ102から読み出された画像から、予測画像選択部116を介してイントラ予測部114若しくは動き予測・補償部115から供給される予測画像を減算し、その差分情報を直交変換部104に出力する。
 例えば、イントラ符号化が行われる画像の場合、演算部103は、画面並べ替えバッファ102から読み出された画像から、イントラ予測部114から供給される予測画像を減算する。また、例えば、インター符号化が行われる画像の場合、演算部103は、画面並べ替えバッファ102から読み出された画像から、動き予測・補償部115から供給される予測画像を減算する。
 直交変換部104は、演算部103から供給される差分情報に対して、離散コサイン変換やカルーネン・レーベ変換等の直交変換を施す。なお、この直交変換の方法は任意である。直交変換部104は、その変換係数を量子化部105に供給する。
 量子化部105は、直交変換部104から供給される変換係数を量子化する。量子化部105は、レート制御部117から供給される符号量の目標値に関する情報に基づいて量子化パラメータを設定し、その量子化を行う。なお、この量子化の方法は任意である。量子化部105は、量子化された変換係数を可逆符号化部106に供給する。
 可逆符号化部106は、量子化部105において量子化された変換係数を任意の符号化方式で符号化する。係数データは、レート制御部117の制御の下で量子化されているので、この符号量は、レート制御部117が設定した目標値となる(若しくは目標値に近似する)。
 また、可逆符号化部106は、イントラ予測のモードを示す情報などをイントラ予測部114から取得し、インター予測のモードを示す情報や動きベクトル情報などを動き予測・補償部115から取得する。さらに、可逆符号化部106は、ループフィルタ111において使用されたフィルタ係数等を取得する。
 可逆符号化部106は、これらの各種情報を任意の符号化方式で符号化し、符号化データのヘッダ情報の一部とする(多重化する)。可逆符号化部106は、符号化して得られた符号化データを蓄積バッファ107に供給して蓄積させる。
 可逆符号化部106の符号化方式としては、例えば、可変長符号化または算術符号化等が挙げられる。可変長符号化としては、例えば、H.264/AVC方式で定められているCAVLC(Context-Adaptive Variable Length Coding)などが挙げられる。算術符号化としては、例えば、CABAC(Context-Adaptive Binary Arithmetic Coding)などが挙げられる。
 蓄積バッファ107は、可逆符号化部106から供給された符号化データを、一時的に保持する。蓄積バッファ107は、所定のタイミングにおいて、保持している符号化データを、例えば、後段の図示せぬ記録装置(記録媒体)や伝送路などに出力する。
 また、量子化部105において量子化された変換係数は、逆量子化部108にも供給される。逆量子化部108は、その量子化された変換係数を、量子化部105による量子化に対応する方法で逆量子化する。この逆量子化の方法は、量子化部105による量子化処理に対応する方法であればどのような方法であってもよい。逆量子化部108は、得られた変換係数を、逆直交変換部109に供給する。
 逆直交変換部109は、逆量子化部108から供給された変換係数を、直交変換部104による直交変換処理に対応する方法で逆直交変換する。この逆直交変換の方法は、直交変換部104による直交変換処理に対応する方法であればどのようなものであってもよい。逆直交変換された出力(復元された差分情報)は、演算部110に供給される。
 演算部110は、逆直交変換部109から供給された逆直交変換結果、すなわち、復元された差分情報に、予測画像選択部116を介してイントラ予測部114若しくは動き予測・補償部115から供給される予測画像を加算し、局部的に再構成された画像(以下、再構成画像と称する)を得る。その再構成画像は、ループフィルタ111またはフレームメモリ112に供給される。
 ループフィルタ111は、デブロックフィルタや適応ループフィルタ等を含み、演算部110から供給される復号画像に対して適宜フィルタ処理を行う。例えば、ループフィルタ111は、復号画像に対してデブロックフィルタ処理を行うことにより復号画像のブロック歪を除去する。また、例えば、ループフィルタ111は、そのデブロックフィルタ処理結果(ブロック歪みの除去が行われた復号画像)に対して、ウィナーフィルタ(Wiener Filter)を用いてループフィルタ処理を行うことにより画質改善を行う。
 なお、ループフィルタ111が、復号画像に対して任意のフィルタ処理を行うようにしてもよい。また、ループフィルタ111は、必要に応じて、フィルタ処理に用いたフィルタ係数等の情報を可逆符号化部106に供給し、それを符号化させるようにすることもできる。
 ループフィルタ111は、フィルタ処理結果(以下、復号画像と称する)をフレームメモリ112に供給する。
 フレームメモリ112は、演算部110若しくはループフィルタ111から供給される復号画像を記憶し、所定のタイミングにおいて、記憶している復号画像を参照画像として、選択部113を介して、イントラ予測部114、若しくは、動き予測・補償部115に供給する。
 選択部113は、フレームメモリ112から出力される参照画像の供給先を示す。例えば、イントラ予測の場合、選択部113は、フレームメモリ112からフィルタ処理されていない画像(再構成画像)を読み出し、周辺画素として、イントラ予測部114に供給する。
 また、例えば、インター予測の場合、選択部113は、フレームメモリ112からフィルタ処理された画像(復号画像)を読み出し、参照画像として、それを動き予測・補償部115に供給する。
 イントラ予測部114は、フレームメモリ112から、処理対象領域の周辺に位置する周辺領域の再構成画像を周辺画像として取得する。イントラ予測部114は、この処理対象ピクチャ内の周辺画像の画素値を用いて、処理対象領域の予測画像を生成するイントラ予測(画面内予測)を行う。イントラ予測部114は、予め用意された複数のモード(イントラ予測モード)でこのイントラ予測を行う。
 イントラ予測部114は、候補となる全てのイントラ予測モードで予測画像を生成し、画面並べ替えバッファ102から供給される入力画像を用いて各予測画像のコスト関数値を評価し、最適なモードを選択する。イントラ予測部114は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部116に供給する。
 また、イントラ予測部114は、採用されたイントラ予測モードを示すイントラ予測モード情報等を、適宜可逆符号化部106に供給し、符号化させる。
 動き予測・補償部115は、画面並べ替えバッファ102から供給される入力画像と、フレームメモリ112から供給される復号画像(参照画像)とを用いて、処理対象領域の動き予測(インター予測)を行い、検出された動きベクトルに応じて動き補償処理を行い、処理対象領域の予測画像(インター予測画像情報)を生成する。動き予測・補償部115は、予め用意された複数のモード(インター予測モード)でこのようなインター予測を行う。
 動き予測・補償部115は、候補となる全てのインター予測モードで予測画像を生成し、各予測画像のコスト関数値を評価し、最適なモードを選択する。動き予測・補償部115は、最適なインター予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部116に供給する。
 また、動き予測・補償部115は、採用されたインター予測モードを示す情報や、符号化データを復号する際に、そのインター予測モードで処理を行うために必要な情報等を可逆符号化部106に供給し、符号化させる。
 予測画像選択部116は、演算部103や演算部110に供給する予測画像の供給元を選択する。例えば、イントラ符号化の場合、予測画像選択部116は、予測画像の供給元としてイントラ予測部114を選択し、そのイントラ予測部114から供給される予測画像を演算部103や演算部110に供給する。また、例えば、インター符号化の場合、予測画像選択部116は、予測画像の供給元として動き予測・補償部115を選択し、その動き予測・補償部115から供給される予測画像を演算部103や演算部110に供給する。
 レート制御部117は、蓄積バッファ107に蓄積された符号化データの符号量に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部105の量子化動作のレートを制御する。
 重み付け予測部121は、動き予測・補償部115が行うインター予測モードにおいて、重み係数の決定や動き精度の調整など、重み付け予測に関する処理を行う。
 動きベクトル精度判定部122は、動き予測・補償部115が行うインター予測モードにおいて、動きベクトルの精度である動き精度を判定し、その判定結果を重み付け予測部121に供給する。
 [1/4画素精度動き予測]
 図2は、AVC符号化方式において規定されている、1/4画素精度の動き予測・補償処理の様子の例を説明する図である。図2において、各四角は、画素を示している。その内、Aはフレームメモリ112に格納されている整数精度画素の位置を示し、b,c,dは、1/2画素精度の位置を示し、e1,e2,e3は1/4画素精度の位置を示している。
 以下においては、関数Clip1()を以下の式(1)のように定義する。
Figure JPOXMLDOC01-appb-M000001
 ・・・(1)
 例えば、入力画像が8ビット精度である場合、式(1)のmax_pixの値は255となる。
 b及びdの位置における画素値は、6tapのFIRフィルタを用いて、以下の式(2)および式(3)のように生成される。
Figure JPOXMLDOC01-appb-M000002
 ・・・(2)
Figure JPOXMLDOC01-appb-M000003
 ・・・(3)
 cの位置における画素値は、水平方向及び垂直方向に6tapのFIRフィルタを適用し、以下の式(4)乃至式(6)のように生成される。
Figure JPOXMLDOC01-appb-M000004
 ・・・(4)
 もしくは、
Figure JPOXMLDOC01-appb-M000005
 ・・・(5)
Figure JPOXMLDOC01-appb-M000006
 ・・・(6)
 なお、Clip処理は、水平方向及び垂直方向の積和処理の両方を行った後、最後に1度のみ行われる。
 e1乃至e3は、以下の式(7)乃至式(9)のように、線形内挿により生成される。
Figure JPOXMLDOC01-appb-M000007
 ・・・(7)
Figure JPOXMLDOC01-appb-M000008
 ・・・(8)
Figure JPOXMLDOC01-appb-M000009
 ・・・(9)
 [マクロブロック]
 また、MPEG2においては、動き予測・補償処理の単位は、フレーム動き補償モードの場合には16×16画素、フィールド動き補償モードの場合には第一フィールド、第二フィールドのそれぞれに対し、16×8画素を単位として動き予測・補償処理が行なわれる。
 これに対し、AVCにおいては、図3に示されるように、16×16画素により構成される1つのマクロブロックを、16×16、16×8、8×16若しくは8×8のいずれかのパーティションに分割し、サブマクロブロック毎に、互いに独立した動きベクトル情報を持つことが可能である。更に、8×8パーティションに関しては、図3に示されるとおり、8×8、8×4、4×8、4×4のいずれかのサブマクロブロックに分割し、それぞれ独立した動きベクトル情報を持つことが可能である。
 しかしながら、AVC画像符号化方式において、MPEG2の場合と同様に、かかるような動き予測・補償処理が行なわれるようにすると、膨大な動きベクトル情報が生成されてしまう恐れがあった。そして、その生成された動きベクトル情報をこのまま符号化することは、符号化効率の低下を招く恐れがあった。
 [動きベクトルのメディアン予測]
 かかる問題を解決する手法として、AVC画像符号化においては、以下のような手法により、動きベクトルの符号化情報の低減が実現されている。
 図4に示される各直線は、動き補償ブロックの境界を示している。また、図4において、Eはこれから符号化されようとしている当該動き補償ブロックを示し、A乃至Dは、それぞれ、既に符号化済の、Eに隣接する動き補償ブロックを示す。
 今、X=A,B,C,D,Eとして、Xに対する動きベクトル情報を、mvxとする。
 まず、動き補償ブロックA,B、およびCに関する動きベクトル情報を用い、動き補償ブロックEに対する予測動きベクトル情報pmvEを、メディアンオペレーションにより、以下の式(10)のように生成する。
Figure JPOXMLDOC01-appb-M000010
 ・・・(10)
 動き補償ブロックCに関する情報が、画枠の端である等の理由により利用不可能(unavailable)である場合、動き補償ブロックDに関する情報で代用される。
 画像圧縮情報に、動き補償ブロックEに対する動きベクトル情報として符号化されるデータmvdEは、pmvEを用いて、以下の式(11)のように生成される。
Figure JPOXMLDOC01-appb-M000011
 ・・・(11)
 なお、実際の処理は、動きベクトル情報の水平方向および垂直方向のそれぞれの成分に対して、独立に処理が行なわれる。
 [マルチ参照フレーム]
 また、AVCにおいては、Multi-Reference Frame(マルチ(複数)参照フレーム)という、MPEG2やH.263等、従来の画像符号化方式では規定されていなかった方式が規定されている。
 図5を用いて、AVCにおいて規定されている、マルチ参照フレーム(Multi-Reference Frame)を説明する。
 すなわち、MPEG-2やH.263においては、Pピクチャの場合、フレームメモリに格納された参照フレーム1枚のみを参照することにより動き予測・補償処理が行われていたが、AVCにおいては、図5に示されるように、複数の参照フレームがメモリに格納され、マクロブロック毎に、異なるメモリを参照することが可能である。
 ところで、MPEG2やMPEG4においては、例えば、フェードシーンのように、動きが存在するが、明るさが変化するようなシーケンスにおいては、明るさの変化を吸収する符号化ツールが用意されていないため、符号化効率が低下する恐れがあった。
 かかる問題を解決するため、AVC符号化方式においては、重み付け予測処理を行うことが可能である(非特許文献2参照)。すなわち、Pピクチャにおいては、Y0を動き補償予測信号すると、重み係数W0及びオフセット値をDとして、以下の式(12)のように予測信号が生成される。
 W0×Y0+D ・・・(12)
 また、Bピクチャにおいては、List0およびList1に対する動き補償予測信号をY0及びY1として、それぞれに対する重み係数をW0及びW1、及びオフセットをDとして、以下の式(13)のように予測信号が生成される。
 W0×Y0+W1×Y1+D ・・・(13)
 AVCにおいては、スライス単位で、上記の重み付け予測を用いる・用いないを指定することが可能である。
 また、AVCにおいては、重み付け予測として、スライスヘッダに、WおよびDを伝送する、Explicit Mode、及び、当該ピクチャと、参照ピクチャにおける、時間軸上での距離から、Wを算出するImplicit Modeとが規定されている。
 Pピクチャにおいては、Explicit Modeのみを用いることができる。
 Bピクチャにおいては、Explicit ModeとImplicit Modeの両方を用いることができる。
 図7に、Bピクチャにおける、Implicit Modeである場合の、W及びDの算出方法を示す。
 なお、AVCの場合、時間距離情報であるtb及びtdに相当する情報が存在しないため、POC(Picture Order Count)を用いる。
 また、AVCにおいて、重み付け予測(Weighted Prediction)は、スライス単位で適用することができる。さらに、非特許文献2には、ブロック単位で重み付け予測(Weighted Prediction)を適用する方法(Intensity Compensation)も提案されている。
 [動きベクトルの選択]
 ところで、図1に示した画像符号化装置100により、符号化効率の高い画像圧縮情報を得るためには、動きベクトル及びマクロブロックモードをどのような処理により選択するかが重要である。
 処理の一例として、http://iphome.hhi.de/suehring/tml/index.htmにおいて公開されている、JM(Joint Model)と呼ばれるreference softwareに実装されている手法を挙げることが出来る。
 以下では、図6を用いて、JMにおいて実装されている動き探索方式について説明する。
図6において、A乃至Iは、整数画素精度の画素値、1乃至8は、E周りの1/2画素精度の画素値、a乃至hは、6周りの、1/4画素精度の画素値である。
 第1のステップとして、所定の探索範囲内において、SAD(Sum of Absolute Difference)等のコスト関数を最小にする、整数画素精度の動きベクトルを求める。図6の例において、Eが、その整数画素精度の動きベクトルに対応する画素であるとする。
 第2のステップとして、E及び、E周りの1/2画素精度1乃至8のうち、コスト関数を最小にする画素値を求め、これを1/2画素精度の最適動きベクトルとする。図6の例において、6が、その1/2画素精度の最適動きベクトルに対応する画素であるとする。
 第3のステップとして、6及び、6周りの、1/4画素精度a乃至hのうち、コスト関数を最小にする画素値を求め、これを1/4画素精度の最適動きベクトルとする。
 [予測モードの選択]
 また、以下では、JMにおいて定められているモード判定方式について述べる。
 JMにおいては、以下に述べる、High Complexity Modeと、Low Complexity Modeの2通りのモード判定方法を選択することが可能である。どちらも、それぞれの予測モードに関するコスト関数値を算出し、これを最小にする予測モードを当該ブロック乃至マクロブロックに対する最適モードとして選択する。
 High Complexity Modeにおけるコスト関数は、以下の式(14)のように示される。
 Cost(Mode∈Ω) = D + λ*R ・・・(14)
 ここで、Ωは、当該ブロック乃至マクロブロックを符号化するための候補モードの全体集合、Dは、当該予測モードで符号化した場合の、復号画像と入力画像の差分エネルギーである。λは、量子化パラメータの関数として与えられるLagrange未定乗数である。Rは、直交変換係数を含んだ、当該モードで符号化した場合の総符号量である。
 つまり、High Complexity Modeでの符号化を行うには、上記パラメータD及びRを算出するため、全ての候補モードにより、一度、仮エンコード処理を行う必要があり、より高い演算量を要する。
 Low Complexity Modeにおけるコスト関数は、以下の式(15)のように示される。
 Cost(Mode∈Ω) = D + QP2Quant(QP) * HeaderBit ・・・(15)
 ここで、Dは、High Complexity Modeの場合と異なり、予測画像と入力画像の差分エネルギーとなる。QP2Quant(QP)は、量子化パラメータQPの関数として与えられ、HeaderBitは、直交変換係数を含まない、動きベクトルや、モードといった、Headerに属する情報に関する符号量である。
 すなわち、Low Complexity Modeにおいては、それぞれの候補モードに関して、予測処理を行う必要があるが、復号画像までは必要ないため、符号化処理まで行う必要はない。このため、High Complexity Modeより低い演算量での実現が可能である。
 [コーディングユニット]
 ところで、マクロブロックサイズを16画素×16画素とするのは、次世代符号化方式の対象となるような、UHD(Ultra High Definition;4000画素×2000画素)といった大きな画枠に対しては、最適ではない。
 そこで、AVCにおいては、図3に示されるように、マクロブロックとサブマクロブロックによる階層構造が規定されているが、例えば、HEVC(High Efficiency Video Coding)においては、図8に示されるように、コーディングユニット(CU(Coding Unit))が規定されている。
 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に分割することができる。図8の例では、LCUの大きさが128であり、最大階層深度が5となる。2N×2Nの大きさのCUは、split_flagの値が「1」である時、1つ下の階層となる、N×Nの大きさのCUに分割される。
 更に、CUは、イントラ若しくはインター予測の処理単位となる領域(ピクチャ単位の画像の部分領域)であるプレディクションユニット(Prediction Unit(PU))に分割され、また、直交変換の処理単位となる領域(ピクチャ単位の画像の部分領域)である、トランスフォームユニット(Transform Unit(TU))に分割される。現在、HEVCにおいては、4×4及び8×8に加え、16×16及び32×32直交変換を用いることが可能である。
 以上のHEVCのように、CUを定義し、そのCUを単位として各種処理を行うような符号化方式の場合、AVCにおけるマクロブロックはLCUに相当すると考えることができる。ただし、CUは図8に示されるように階層構造を有するので、その最上位階層のLCUのサイズは、例えば128×128画素のように、AVCのマクロブロックより大きく設定されることが一般的である。
 [丸め処理による演算精度の低下]
 ところで、このような重み付け処理は、図9に示される通り、動き補償のために丸め処理を行って、更に、重み付け加算の後にも丸め処理を行うため、演算精度の低下により、符号化効率が低下する恐れがあった。
 そこで、動き予測・補償部115、重み付け予測部121、および動きベクトル精度判定部122は、図10に示されるように、小数画素精度の動き補償処理を行い、重み付け加算を行った後で、各演算の丸め処理をまとめて行うようにする。
 [動き予測・補償部、重み付け予測部、動きベクトル精度判定部]
 図11は、図1の動き予測・補償部115、重み付け予測部121、および動きベクトル精度判定部122の主な構成例を示すブロック図である。
 図11に示されるように、動き予測・補償部115は、動き探索部151、コスト関数値生成部152、モード判定部153、動き補償部154、および動き情報バッファ155を有する。
 また、重み付け予測部121は、重み係数決定部161および動き精度調整部162を有する。
 動き探索部151は、画面並べ替えバッファ102から取得した入力画像画素値と、フレームメモリ112から取得した参照画像画素値とを用いて、動き探索を行い、動き情報(動きベクトル)を求める。
 動き探索部151は、画面並べ替えバッファ102から取得した入力画像画素値と、フレームメモリ112から取得した参照画像画素値とを重み付け予測部121の重み係数決定部161に供給する。
 重み係数決定部161は、これらの画素値に基づいて、重み係数を決定し、その重み係数を動き探索部151に供給する。
 なお、動き探索部151は、候補となる全てのインター予測モードで動き探索を行い、動き情報を生成する。探索された動き情報は、全て、動きベクトル精度判定部122に供給される。
 動きベクトル精度判定部122は、L0及びL1の動きベクトル精度に関する情報を判別し、その精度情報(動き精度)を重み付け予測部121の動き精度調整部162に供給する。動きベクトル精度判定部122は、動き探索部151から供給される全てのインター予測モードの動き情報について動き精度を判別する。動き精度調整部162は、動きベクトル精度判定部122から供給される動き精度に基づいて、丸め処理をどのように行うかを決定し、その丸め処理の実行を制御する丸め制御情報を、動き探索部151に供給する。動き精度調整部162は、動きベクトル精度判定部122から供給される全てのインター予測モードの動き精度について、丸め制御情報を生成し、動き探索部151に供給する。
 動き探索部151は、このように供給される重み係数や丸め制御情報を用いて動き補償を行い、予測画像を生成する。そして、動き探索部151は、生成した予測画像と入力画像との差分(差分画像)を求める。動き探索部151は、求めた差分画像の画素値(差分画素値)を、動き情報とともにコスト関数値生成部152に供給する。動き探索部151は、このような処理を全てのインター予測モードについて行う。
 コスト関数値生成部152は、動き情報探索部151から供給される差分画素値を用いてコスト関数値を算出する。また、コスト関数値生成部152は、動き情報探索部151から供給される動き情報に対応する周辺動き情報を、動き情報バッファ155から取得する。周辺動き情報は、動き情報に対応する領域である処理対象の領域の周辺に位置する(例えば隣接する)領域の動き情報である。コスト関数値生成部152は、動き情報バッファ155から取得した周辺動き情報を用いて当該領域の動き情報を予測し、その予測動き情報と、動き探索部151において探索された動き情報との差分である差分動き情報を生成する。コスト関数値生成部152は、全てのインター予測モードについて、このような処理を行い、差分動き情報およびコスト関数値を求める。
 コスト関数値生成部152は、各インター予測モードのコスト関数値と差分動き情報を、モード判定部153に供給する。
 モード判定部153は、そのコスト関数値を最小にするインター予測モードを、当該領域に対する最適なインター予測モードと判定し、この最適なインター予測モードを示す最適モード情報と、その最適なインター予測モードの差分動き情報とを、動き補償部154に供給する。
 動き補償部154は、それらの情報を取得すると、最適モード情報に基づいて、最適なインター予測モードの丸め制御情報と重み係数を動き探索部151から取得する。また、動き補償部154は、最適モード情報に基づいて、最適なインター予測モードに対応する周辺動き情報を動き情報バッファ155から取得する。動き補償部154は、差分動き情報と周辺動き情報とを用いて、最適なインター予測モードの動き情報を再構築する。
 動き補償部154は、これらの情報を用いて動き補償を行い、予測画像を生成する。例えば重み付け予測を行う場合、動き補償部154は、重み係数を用いて重み付け加算を行い、丸め制御情報に基づいて、重み付け加算結果に対して、丸め処理を1度だけ行う。
 動き補償部154は、生成した予測画像画素値を予測画像選択部116に供給する。また、動き補償部154は、重み係数、差分動き情報、および最適モード情報等を可逆符号化部106に供給し、ビットストリームに付加させ、復号側に伝送させる。
 さらに、動き補償部154は、当該領域の動き情報を動き情報バッファ155に供給し、記憶させる。この動き情報は、当該領域より時間的に後に処理される他の領域に対するインター予測において、周辺動き情報として利用される。
 [動き補償の詳細]
 次に、動き補償の詳細について説明する。
 上述したように、動き補償部154は、図9に示されるように、小数画素精度の動き補償処理を行って丸め処理を行い、重み付け加算を行った後、再び丸め処理を行うのではなく、図10に示されるように、小数画素精度の動き補償処理を行い、重み付け加算を行った後、一度だけ丸め処理を行う。
 AVCのように1/4画素精度の動き補償を行う例について説明する。1/2画素精度の動き補償を行う場合、丸め処理として2Hの割り算が最後に行われる。また、1/4画素精度の動き補償精度を行う場合、丸め処理として2Qの割り算が最後に行われる。さらに、重み付け加算の丸め処理として、最後に、2wの割り算が行われる。これらのH,Q,Wの値は全て正の整数である。
 これに対して、画像符号化装置100は、第1ステップとして、動き精度調整部162において、L0とL1の動きベクトル精度の調整を行う。例えば、LXとLY(X,Y={0,1})で、LXの方が、LYより、同等若しくはより細かい小数画素精度の動き補償が行われるものとする。LXとLYが同じ小数画素精度、つまり、どちらも整数画素精度であるか、どちらも1/2画素精度であるか、どちらも1/4画素精度である場合、LXとLYの精度を調整する必要はない。動き精度調整部162は、LXとLYの精度を調整しないように指示する丸め制御情報を生成する。
 LXとLYが異なる小数画素精度である場合、動き精度調整部162は、以下のようにLXとLYの精度を調整させるように丸め制御情報を生成する。
 例えば、LXが整数画素精度であり、LYが1/2画素精度である場合、LXに代えて、LX*2Hを用いるようにする。また、例えば、LXが整数画素精度であり、LYが1/4画素精度である場合、LXに代えて、LX*2Qを用いるようにする。さらに、例えば、LXが1/2画素精度であり、LYが1/4画素精度である場合、LXに代えて、LX*2(Q-H)を用いるようにする。
 以上においては、説明を簡略化にするために、1次元の例で説明を行ったが、実際の動きベクトル情報は、2次元情報である。したがって、動き精度調整部162は、垂直成分および水平成分のそれぞれの精度に応じて、図12に示される表のようにLXとLYの精度を調整させる。図12の表は、L0およびL1のそれぞれの水平成分の精度と垂直成分の精度の組み合わせに応じた精度の調整量を示している。横方向(上から1行目の値の組み合わせ)が、L0およびL1のそれぞれの水平成分(若しくは垂直成分)の精度の組み合わせを示しており、縦(左から1列目の値の組み合わせ)が、L0およびL1のそれぞれの垂直成分(若しくは水平成分)の精度の組み合わせを示している。
 図12の表に示される、L0およびL1のそれぞれの水平成分の精度と垂直成分の精度の組み合わせに対応する値が、より低い精度の動きベクトル情報に乗じられることにより、より高い精度の動きベクトル情報との調整が行われる。なお、図12の表において値「0」は、精度の調整を行わないことを示す(「0」は乗算しない)。
 第2ステップとして、画像符号化装置100は、動き探索部151や動き補償部154において、以上のように調整が行われたLX及びLYについて、重み係数を用いて重み付け加算処理を行う。
 第3ステップとして、画像符号化装置100は、動き探索部151や動き補償部154において、以下のような、丸め処理を行う。すなわち、上記の第1ステップで、L0、L1精度調整のため、2Xを乗じ、また、AVC方式による場合では、2Yの除算が重み付け予測処理のために必要であるとする。この場合、2X+Yによる除算が行われる。実際の処理としては、除算でなく、シフト演算により実現する。
 以上のように、丸め処理を重み付け加算後の1回にまとめることにより、画像符号化装置100は、丸め誤差による画質劣化を抑制して演算精度を向上させることにより、符号化効率を向上させることができる。
 尚、以上の方法は、Explicit Mode、Implicit Modeの両方に適用することが可能である。また、非特許文献3において提案されているような、Intensity Compensationにも適用することができる。
 [符号化処理の流れ]
 次に、以上のような画像符号化装置100により実行される各処理の流れについて説明する。最初に、図13のフローチャートを参照して、符号化処理の流れの例を説明する。
 ステップS101において、A/D変換部101は入力された画像をA/D変換する。ステップS102において、画面並べ替えバッファ102は、A/D変換された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
 ステップS103において、イントラ予測部114は、イントラ予測処理を行う。ステップS104において、動き予測・補償部115、重み付け予測部121、および動きベクトル精度判定部122は、インター動き予測処理を行う。ステップS105において、予測画像選択部116は、イントラ予測により生成された予測画像、および、インター予測により生成された予測画像の内、いずれか一方を選択する。
 ステップS106において、演算部103は、ステップS102の処理により並び替えられた画像と、ステップS105の処理により選択された予測画像との差分を演算する(差分画像を生成する)。生成された差分画像は元の画像に較べてデータ量が低減される。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
 ステップS107において、直交変換部104は、ステップS106の処理により生成された差分画像を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、直交変換係数が出力される。ステップS108において、量子化部105は、ステップS107の処理により得られた直交変換係数を量子化する。
 ステップS108の処理により量子化された差分画像は、次のようにして局部的に復号される。すなわち、ステップS109において、逆量子化部108は、ステップS108の処理により生成された量子化された直交変換係数(量子化係数とも称する)を量子化部105の特性に対応する特性で逆量子化する。ステップS110において、逆直交変換部109は、ステップS109の処理により得られた直交変換係数を、直交変換部104の特性に対応する特性で逆直交変換する。これにより差分画像が復元される。
 ステップS111において、演算部110は、ステップS105において選択された予測画像を、ステップS110において生成された差分画像に加算し、局部的に復号された復号画像(再構成画像)を生成する。ステップS112において、ループフィルタ111は、ステップS111の処理により得られた再構成画像に対して、デブロックフィルタ処理や適応ループフィルタ処理等を含むループフィルタ処理を適宜行い、復号画像を生成する。
 ステップS113において、フレームメモリ112は、ステップS112の処理により生成された復号画像、若しくは、ステップS111の処理により生成された再構成画像を記憶する。
 ステップS114において、可逆符号化部106は、ステップS108の処理により量子化された直交変換係数を符号化する。すなわち、差分画像に対して、可変長符号化や算術符号化等の可逆符号化が行われる。なお、可逆符号化部106は、予測に関する情報や、量子化に関する情報等を符号化し、ビットストリームに付加する。
 ステップS115において、蓄積バッファ107は、ステップS114の処理により得られたビットストリームを蓄積する。蓄積バッファ107に蓄積された符号化データは、適宜読み出され、伝送路や記録媒体を介して復号側に伝送される。
 ステップS116においてレート制御部117は、ステップS115の処理により蓄積バッファ107に蓄積された符号化データの符号量(発生符号量)に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部105の量子化動作のレートを制御する。
 ステップS116の処理が終了すると、符号化処理が終了される。
 [インター動き予測処理の流れ]
 次に、図14のフローチャートを参照して、図13のステップS104において実行されるインター動き予測処理の流れの例を説明する。
 ステップS131において、重み係数決定部161は、当該スライスにおいて、重み付け予測を行うか否かを判定する。入力画像画素値と参照画像画素値とを比較し、輝度変化が発生しており、重み付け予測を行うと判定された場合、重み係数決定部161は、処理をステップS132に進める。ステップS132において、動き予測・補償部115、重み付け予測部121、および動きベクトル精度判定部122は、重み付け予測処理を行う。重み付け予測処理が終了すると、動き予測・補償部115、重み付け予測部121、および動きベクトル精度判定部122は、インター動き予測処理を終了し、処理を図13に戻す。
 また、ステップS131において、重み付け予測を行わないと判定された場合、動き予測・補償部115、重み付け予測部121、および動きベクトル精度判定部122は、処理をステップS133に進める。
 ステップS133において、動き探索部151は、各インター予測モードについて、動き探索を行う。ステップS134において、コスト関数値生成部152は、各インター予測モードについて、コスト関数値を算出する。
 ステップS135において、モード判定部153は、最適インター予測モードを決定する。ステップS136において、動き補償部154は、動き補償を行い、最適インター予測モードで予測画像を生成する。
 ステップS137において、動き補償部154は、生成した予測画像を予測画像選択部116に出力する。また、ステップS138において、動き補償部154は、最適モード情報および差分動き情報を可逆符号化部106に出力する。ステップS138の処理が終了すると、動き補償部154は、インター動き予測処理を終了し、処理を図13に戻す。
 [重み付け予測処理の流れ]
 次に、図15のフローチャートを参照して、図14のステップS132において実行される重み付け予測処理の流れの例を説明する。
 ステップS151において、重み係数決定部161は、当該スライスについて重み係数を決定する。ステップS152において、動き探索部151は、各インター予測モードにちういて動き探索を行う。ステップS153において、動きベクトル精度判定部122は、ステップS152において生成された動き情報に基づいて、各インター予測モードについて動き精度を判定する。ステップS154において、動き精度調整部162は、各インター予測モードについて、動き精度を調整する。
 ステップS155において、動き探索部151は、各インター予測モードについて、L0、L1それぞれの内挿処理を行う。ステップS156において、動き探索部151は、各インター予測モードについて、ステップS151において決定された重み係数を用いて、重み付け加算を行う。ステップS157において、動き探索部151は、各インター予測モードについて、丸め処理を行う。
 ステップS158において、コスト関数値生成部152は、各インター予測モードについて、コスト関数値を算出する。ステップS159において、モード判定部153は、そのコスト関数値に基づいて、最適インター予測モードを決定する。
 ステップS160において、動き補償部154は、最適インター予測モードについてL0、L1のそれぞれの内挿処理を行う。ステップS161において、動き補償部154は、最適インター予測モードについて重み付け加算を行う。ステップS162において、動き補償部154は、最適インター予測モードについて動き精度と重み付け加算に対する丸め処理を行う。
 ステップS163において、動き補償部154は、生成した予測画像を予測画像選択部116に出力する。ステップS165において、動き補償部154は、最適モード情報、差分動き情報、および重み係数を可逆符号化部106に出力し、符号化させる。
 ステップS165の処理が終了すると、動き補償部154は、重み付け予測処理を終了し、処理を図14に戻す。
 以上のように各種処理を行うことにより、画像符号化装置100は、丸め処理を重み付け加算後に1回にまとめて行い、丸め誤差による画質劣化を抑制して演算精度を向上させることにより、符号化効率を向上させることができる。
 <2.第2の実施の形態>
 [画像復号装置]
 次に、以上のように符号化された符号化データの復号について説明する。図16は、図1の画像符号化装置100に対応する画像復号装置の主な構成例を示すブロック図である。
 図16に示される画像復号装置200は、画像符号化装置100が生成した符号化データを、その符号化方法に対応する復号方法で復号する。
 図16に示されるように画像復号装置200は、蓄積バッファ201、可逆復号部202、逆量子化部203、逆直交変換部204、演算部205、ループフィルタ206、画面並べ替えバッファ207、およびD/A変換部208を有する。また、画像復号装置200は、フレームメモリ209、選択部210、イントラ予測部211、動き予測・補償部212、および選択部213を有する。
 さらに、画像復号装置200は、重み付け予測部221および動きベクトル精度判定部222を有する。
 蓄積バッファ201は伝送されてきた符号化データを蓄積し、所定のタイミングにおいてその符号化データを可逆復号部202に供給する。可逆復号部202は、蓄積バッファ201より供給された、図1の可逆符号化部106により符号化された情報を、可逆符号化部106の符号化方式に対応する方式で復号する。可逆復号部202は、復号して得られた差分画像の量子化された係数データを、逆量子化部203に供給する。
 また、可逆復号部202は、最適な予測モードにイントラ予測モードが選択されたかインター予測モードが選択されたかを判定し、その最適な予測モードに関する情報を、イントラ予測部211および動き予測・補償部212の内、選択されたと判定したモードの方に供給する。つまり、例えば、画像符号化装置100において最適な予測モードとしてイントラ予測モードが選択された場合、その最適な予測モードに関する情報であるイントラ予測情報がイントラ予測部211に供給される。また、例えば、画像符号化装置100において最適な予測モードとしてインター予測モードが選択された場合、その最適な予測モードに関する情報であるインター予測情報が動き予測・補償部212に供給される。
 逆量子化部203は、可逆復号部202により復号されて得られた量子化された係数データを、図1の量子化部105の量子化方式に対応する方式で逆量子化し、得られた係数データを逆直交変換部204に供給する。逆直交変換部204は、図1の直交変換部104の直交変換方式に対応する方式で逆量子化部203から供給される係数データを逆直交変換する。逆直交変換部204は、この逆直交変換処理により、画像符号化装置100において直交変換される前の差分画像に対応する差分画像を得る。
 逆直交変換されて得られた差分画像は、演算部205に供給される。また、演算部205には、選択部213を介して、イントラ予測部211若しくは動き予測・補償部212から予測画像が供給される。
 演算部205は、差分画像と予測画像とを加算し、画像符号化装置100の演算部103により予測画像が減算される前の画像に対応する再構成画像を得る。演算部205は、その再構成画像をループフィルタ206に供給する。
 ループフィルタ206は、供給された再構成画像に対して、デブロックフィルタ処理や適応ループフィルタ処理等を含むループフィルタ処理を適宜施して復号画像を生成する。例えば、ループフィルタ206は、再構成画像に対してデブロックフィルタ処理を行うことにより、ブロック歪を除去する。また、例えば、ループフィルタ206は、そのデブロックフィルタ処理結果(ブロック歪みの除去が行われた再構成画像)に対して、ウィナーフィルタ(Wiener Filter)を用いてループフィルタ処理を行うことにより画質改善を行う。
 なお、ループフィルタ206が行うフィルタ処理の種類は任意であり、上述した以外のフィルタ処理を行ってもよい。また、ループフィルタ206が、図1の画像符号化装置100から供給されたフィルタ係数を用いてフィルタ処理を行うようにしてもよい。 
 ループフィルタ206は、フィルタ処理結果である復号画像を画面並べ替えバッファ207およびフレームメモリ209に供給する。なお、このループフィルタ206によるフィルタ処理は省略することもできる。つまり、加算部205の出力が、フィルタ処理されずに、フレームメモリ209に格納されるようにすることもできる。例えば、イントラ予測部211は、この画像に含まれる画素の画素値を周辺画素の画素値として利用する。
 画面並べ替えバッファ207は、供給された復号画像の並べ替えを行う。すなわち、図1の画面並べ替えバッファ102により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部208は、画面並べ替えバッファ207から供給された復号画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
 フレームメモリ209は、供給される再構成画像や復号画像を記憶する。また、フレームメモリ209は、所定のタイミングにおいて、若しくは、イントラ予測部211や動き予測・補償部212等の外部の要求に基づいて、記憶している再構成画像や復号画像をイントラ予測部211や動き予測・補償部212に供給する。
 イントラ予測部211は、図1のイントラ予測部114と基本的に同様の処理を行う。ただし、イントラ予測部211は、符号化の際にイントラ予測により予測画像が生成された領域に対してのみ、イントラ予測を行う。
 動き予測・補償部212は、動き予測・補償部115と基本的に同様に、インター予測を行う。ただし、動き予測・補償部212は、可逆復号部202から供給されるインター予測情報に基づいて、符号化の際にインター予測が行われた領域に対してのみ、インター予測を行う。動き予測・補償部212は、生成した予測画像を選択部213に供給する。
 選択部213は、イントラ予測部211から供給される予測画像、若しくは、動き予測・補償部212から供給される予測画像を演算部205に供給する。
 [動き予測・補償部、重み付け予測部、および動きベクトル精度判定部]
 図17は、図16の動き予測・補償部212、重み付け予測部221、および動きベクトル精度判定部222の主な構成例を示すブロック図である。
 図17に示されるように、動き予測・補償部212は、重み係数バッファ251、差分動き情報バッファ252、動き情報再構築部253、動き情報バッファ254、および動き補償部255を有する。
 また、重み付け予測部221は、重み係数決定部261および動き精度調整部262とを有する。
 動き予測・補償部212は、基本的に、画像符号化装置100の動き予測・補償部115と同様の処理を行うが、動き予測・補償部212は、ビットストリームに含まれて符号化側から伝送された情報に基づいて、符号化の際にインター予測された領域についてのみインター予測を行う。
 つまり、動き予測・補償部212は、可逆復号部202から供給される差分動き情報を用いて動き情報を再構築し、動き補償を行う。また、重み付け予測に用いられる重み係数もビットストリームに付加されて符号化側から供給される。
 重み係数バッファ251は、可逆復号部202においてビットストリームより抽出された重み係数を取得して記憶し、所定のタイミングにおいて、若しくは、外部からの要求に基づいて、その記憶している重み係数を重み付け予測部221の重み係数決定部261に供給する。
 差分動き情報バッファ252は、可逆復号部202においてビットストリームから抽出された差分動き情報を取得して記憶する。差分動き情報バッファ252は、所定のタイミングにおいて、若しくは、外部からの要求に基づいて、その記憶している差分動き情報を動き情報再構築部253に供給する。
 動き情報再構築部253は、差分動き情報バッファ252から差分動き情報を取得すると、動き情報バッファ254から、その差分動き情報に対応する周辺動き情報を取得し、それらを用いて、当該領域の動き情報を再構築する。動き情報再構築部253は、再構築した動き情報を、動き補償部255および動きベクトル精度判定部222に供給する。
 このように、動き情報は、符号化側から供給された差分動き情報を用いて再構築されるので、上述した丸め処理の省略は、動き補償部255による動き補償の際においてのみ行われる。
 動きベクトル精度判定部222は、動きベクトル精度判定部122の場合と同様に、動き情報再構築部253から供給された動き情報の動き精度を判定する。動き精度調整部262は、動き精度調整部162の場合と同様に、その判定結果(動き精度)を取得し、その情報に基づいて、丸め制御情報を生成する。
 また、重み係数決定部261は、重み係数バッファ251から取得した重み係数を動き補償部255に供給する。なお、この重み係数は、画像復号装置200において算出するようにしてもよい。例えば、Implicitモードの場合、重み係数決定部261は、当該スライスに対する重み係数を算出する。
 動き情報バッファ254は、動き情報再構築部253において再構築された動き情報を取得し、記憶する。記憶した動き情報は、周辺領域の動き情報として、動き情報再構築部253に戻す。
 動き補償部255は、動き情報再構築部253から供給される動き情報、重み係数決定部261から供給される重み係数、動き精度調整部262から供給される丸め制御情報、および、フレームメモリ209から供給される参照画像画素値を適宜用いて、動き補償を行い、予測画像を生成する。したがって、動き補償部255は、符号化時に重み付け予測された領域に対して重み付け予測を行い、予測画像を生成する。
 動き補償における予測画像の生成は、図1の画像符号化装置100の場合と基本的に同様に行われる。つまり、動き補償部255は、重み付け予測において、丸め処理を重み付け加算後に1回にまとめて行う。このようにすることにより、動き補償部255は、丸め誤差による画質劣化を抑制して演算精度を向上させることができる。したがって、画像復号装置200は、符号化効率の向上を実現させることができる。
 [復号処理の流れ]
 次に、以上のような画像復号装置200により実行される各処理の流れについて説明する。最初に、図18のフローチャートを参照して、復号処理の流れの例を説明する。
 復号処理が開始されると、ステップS201において、蓄積バッファ201は、伝送されてきたビットストリームを蓄積する。ステップS202において、可逆復号部202は、蓄積バッファ201から供給されるビットストリーム(符号化された差分画像情報)を復号する。
 このとき、イントラ予測情報やインター予測情報等、ビットストリームに含められた差分画像情報以外の各種情報も復号される。
 ステップS203において、逆量子化部203は、ステップS202の処理により得られた、量子化された直交変換係数を逆量子化する。ステップS204において逆直交変換部204は、ステップS203において逆量子化された直交変換係数を逆直交変換する。
 ステップS205において、イントラ予測部211若しくは動き予測・補償部212は、供給された情報を用いて予測処理を行う。ステップS206において、選択部213は、ステップS205において生成された予測画像を選択する。ステップS207において、演算部205は、ステップS204において逆直交変換されて得られた差分画像情報に、ステップS206において選択された予測画像を加算する。これにより再構成画像が生成される。
 ステップS208において、ループフィルタ206は、ステップS207において得られた再構成画像に対して、デブロックフィルタ処理や適応ループフィルタ処理等を含むループフィルタ処理を適宜行う。
 ステップS209において、画面並べ替えバッファ207は、ステップS208においてフィルタ処理されて生成された復号画像の並べ替えを行う。すなわち画像符号化装置100の画面並べ替えバッファ102により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
 ステップS210において、D/A変換部208は、フレームの順序が並べ替えられた復号画像をD/A変換する。この復号画像が図示せぬディスプレイに出力され、表示される。
 ステップS211において、フレームメモリ209は、ステップS209においてフィルタ処理されて得られた復号画像を記憶する。この復号画像は、インター予測処理において参照画像として利用される。
 ステップS211の処理が終了すると、復号処理が終了される。
 [予測処理の流れ]
 次に、図19のフローチャートを参照して、図18のステップS205において実行される予測処理の流れの例を説明する。
 予測処理が開始されると、イントラ予測部211は、ステップS231において、可逆復号部202から供給されるイントラ予測情報若しくはインター予測情報に基づいて、処理対象の領域が符号化の際にイントラ予測が行われたか否かを判定する。イントラ予測が行われたと判定された場合、イントラ予測部211は、処理をステップS332に進める。
 この場合、イントラ予測部211は、ステップS232において、イントラ予測モード情報を取得し、ステップS233において、イントラ予測によって予測画像を生成する。予測画像が生成されると、イントラ予測部211は、予測処理を終了し、処理を図18に戻す。
 また、ステップS231において、当該領域がインター予測が行われた領域であると判定した場合、処理をステップS234に進める。ステップS234において、動き予測・補償部212、重み付け予測部221、および動きベクトル精度判定部222は、インター動き予測処理を行う。インター動き予測処理が終了すると、動き予測・補償部212、重み付け予測部221、および動きベクトル精度判定部222は、予測処理を終了し、処理を図18に戻す。
 [インター動き予測処理の流れ]
 次に、図20のフローチャートを参照して、図19のステップS234において実行されるインター動き予測処理の流れの例を説明する。
 インター動き予測処理が開始されると、ステップS251において、重み係数決定部261は、当該スライスにおいて重み付け予測が行われたか否かを判定する。重み付け予測が行われたと判定した場合、重み係数決定部261は、処理をステップS252に進める。
 ステップS252において、動き予測・補償部212、重み付け予測部221、および動きベクトル精度判定部222は、重み付け予測処理を行う。重み付け予測処理が終了すると、動き予測・補償部212、重み付け予測部221、および動きベクトル精度判定部222は、インター動き予測処理を終了し、処理を図19に戻す。
 また、ステップS251において、重み付け予測が行われていないと判定した場合、重み係数決定部261は、処理をステップS253に進める。ステップS253において、差分動き情報バッファ252は、差分動き情報を取得する。
 ステップS254において、動き情報再構築部253は、動き情報を再構築する。ステップS255において、動き補償部255は、再構築された動き情報を用いて、動き情報を再構築する。
 ステップS256において、動き補償部255は、生成した予測画像を演算部205に出力する。また、ステップS257において、動き情報バッファ254は、再構築された動き情報を記憶する。ステップS257の処理が終了すると、動き情報バッファ254は、インター動き予測処理を終了し、処理を図19に戻す。
 [重み付け予測処理の流れ]
 次に、図21のフローチャートを参照して、図20のステップS252において実行される重み付け予測処理の流れの例を説明する。
 ステップS271において、重み係数決定部261は、当該スライスに対する重み係数を決定する。ステップS272において、差分動き情報バッファ252は、差分動き情報を取得する。ステップS273において、動き情報再構築部253は、その差分動き情報を用いて、動き情報を再構築する。
 ステップS274において、動き精度調整部262は、動きベクトル精度判定部222により判定された動き精度を調整する。
 ステップS275において、動き補償部255は、L0、L1それぞれの内挿処理を行う。ステップS276において、動き補償部255は、L0とL1を、重み付け加算する。ステップS277において、動き補償部255は、丸め処理を行う。
 ステップS278において、動き補償部255は、以上のように生成した予測画像を出力する。ステップS279において、動き情報バッファ254は、動き情報を記憶する。ステップS279の処理が終了すると、動き情報バッファ254は、重み付け予測処理を終了し、処理を図20に戻す。
 以上のように各種処理を実行することにより、画像復号装置200は、丸め処理を重み付け加算後に1回にまとめて行い、丸め誤差による画質劣化を抑制して演算精度を向上させることができる。これにより、画像復号装置200は、符号化効率の向上を実現させることができる。
 なお、本技術は、例えば、MPEG、H.26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本技術は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。さらに、本技術は、それらの画像符号化装置および画像復号装置などに含まれるイントラ予測装置にも適用することができる。
 <3.第3の実施の形態>
 [パーソナルコンピュータ]
 上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な汎用のパーソナルコンピュータなどが含まれる。
 図22において、パーソナルコンピュータ500のCPU(Central Processing Unit)501は、ROM(Read Only Memory)502に記憶されているプログラム、または記憶部513からRAM(Random Access Memory)503にロードされたプログラムに従って各種の処理を実行する。RAM503にはまた、CPU501が各種の処理を実行する上において必要なデータなども適宜記憶される。
 CPU501、ROM502、およびRAM503は、バス504を介して相互に接続されている。このバス504にはまた、入出力インタフェース510も接続されている。
 入出力インタフェース510には、キーボード、マウスなどよりなる入力部511、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部512、ハードディスクなどより構成される記憶部513、モデムなどより構成される通信部514が接続されている。通信部514は、インターネットを含むネットワークを介しての通信処理を行う。
 入出力インタフェース510にはまた、必要に応じてドライブ515が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア521が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部513にインストールされる。
 上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
 この記録媒体は、例えば、図22に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc - Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、若しくは半導体メモリなどよりなるリムーバブルメディア521により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM502や、記憶部513に含まれるハードディスクなどで構成される。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
 また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。
 また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。つまり、本技術は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 上述した実施形態に係る画像符号化装置及び画像復号装置は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、4つの応用例について説明する。
 <4.第4の実施の形態>
 [第1の応用例:テレビジョン受像機]
 図23は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置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での画像の復号に際して、丸め誤差による画質劣化を抑制して演算精度を向上させることができ、符号化効率の向上を実現させることができる。
 <5.第5の実施の形態>
 [第2の応用例:携帯電話機]
 図24は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機920は、アンテナ921、通信部922、音声コーデック923、スピーカ924、マイクロホン925、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931、操作部932、及びバス933を備える。
 アンテナ921は、通信部922に接続される。スピーカ924及びマイクロホン925は、音声コーデック923に接続される。操作部932は、制御部931に接続される。バス933は、通信部922、音声コーデック923、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、及び制御部931を相互に接続する。
 携帯電話機920は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。
 音声通話モードにおいて、マイクロホン925により生成されるアナログ音声信号は、音声コーデック923に供給される。音声コーデック923は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック923は、圧縮後の音声データを通信部922へ出力する。通信部922は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して音声データを生成し、生成した音声データを音声コーデック923へ出力する。音声コーデック923は、音声データを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
 また、データ通信モードにおいて、例えば、制御部931は、操作部932を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部931は、文字を表示部930に表示させる。また、制御部931は、操作部932を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部922へ出力する。通信部922は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して電子メールデータを復元し、復元した電子メールデータを制御部931へ出力する。制御部931は、表示部930に電子メールの内容を表示させると共に、電子メールデータを記録再生部929の記憶媒体に記憶させる。
 記録再生部929は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、RAM又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USB(Unallocated Space Bitmap)メモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
 また、撮影モードにおいて、例えば、カメラ部926は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部927へ出力する。画像処理部927は、カメラ部926から入力される画像データを符号化し、符号化ストリームを記憶再生部929の記憶媒体に記憶させる。
 また、テレビ電話モードにおいて、例えば、多重分離部928は、画像処理部927により符号化された映像ストリームと、音声コーデック923から入力される音声ストリームとを多重化し、多重化したストリームを通信部922へ出力する。通信部922は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部922は、受信信号を復調及び復号してストリームを復元し、復元したストリームを多重分離部928へ出力する。多重分離部928は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部927、音声ストリームを音声コーデック923へ出力する。画像処理部927は、映像ストリームを復号し、映像データを生成する。映像データは、表示部930に供給され、表示部930により一連の画像が表示される。音声コーデック923は、音声ストリームを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
 このように構成された携帯電話機920において、画像処理部927は、上述した実施形態に係る画像符号化装置及び画像復号装置の機能を有する。それにより、携帯電話機920での画像の符号化及び復号に際して、丸め誤差による画質劣化を抑制して演算精度を向上させることができ、符号化効率を向上させることができる。
 <6.第6の実施の形態>
 [第3の応用例:記録再生装置]
 図25は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置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での画像の符号化及び復号に際して、丸め誤差による画質劣化を抑制して演算精度を向上させることができ、符号化効率を向上させることができる。
 <7.第7の実施の形態>
 [第4の応用例:撮像装置]
 図26は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置960は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
 撮像装置960は、光学ブロック961、撮像部962、信号処理部963、画像処理部964、表示部965、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、制御部970、ユーザインタフェース971、及びバス972を備える。
 光学ブロック961は、撮像部962に接続される。撮像部962は、信号処理部963に接続される。表示部965は、画像処理部964に接続される。ユーザインタフェース971は、制御部970に接続される。バス972は、画像処理部964、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、及び制御部970を相互に接続する。
 光学ブロック961は、フォーカスレンズ及び絞り機構などを有する。光学ブロック961は、被写体の光学像を撮像部962の撮像面に結像させる。撮像部962は、CCD(Charge Coupled Device)又はCMOS(Complementary Metal Oxide Semiconductor)などのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部962は、画像信号を信号処理部963へ出力する。
 信号処理部963は、撮像部962から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部963は、カメラ信号処理後の画像データを画像処理部964へ出力する。
 画像処理部964は、信号処理部963から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部964は、生成した符号化データを外部インタフェース966又はメディアドライブ968へ出力する。また、画像処理部964は、外部インタフェース966又はメディアドライブ968から入力される符号化データを復号し、画像データを生成する。そして、画像処理部964は、生成した画像データを表示部965へ出力する。また、画像処理部964は、信号処理部963から入力される画像データを表示部965へ出力して画像を表示させてもよい。また、画像処理部964は、OSD969から取得される表示用データを、表示部965へ出力する画像に重畳してもよい。
 OSD969は、例えばメニュー、ボタン又はカーソルなどのGUIの画像を生成して、生成した画像を画像処理部964へ出力する。
 外部インタフェース966は、例えばUSB入出力端子として構成される。外部インタフェース966は、例えば、画像の印刷時に、撮像装置960とプリンタとを接続する。また、外部インタフェース966には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置960にインストールされ得る。さらに、外部インタフェース966は、LAN又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース966は、撮像装置960における伝送手段としての役割を有する。
 メディアドライブ968に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ968に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD(Solid State Drive)のような非可搬性の記憶部が構成されてもよい。
 制御部970は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置960の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース971から入力される操作信号に応じて、撮像装置960の動作を制御する。
 ユーザインタフェース971は、制御部970と接続される。ユーザインタフェース971は、例えば、ユーザが撮像装置960を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース971は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部970へ出力する。
 このように構成された撮像装置960において、画像処理部964は、上述した実施形態に係る画像符号化装置及び画像復号装置の機能を有する。それにより、撮像装置960での画像の符号化及び復号に際して、丸め誤差による画質劣化を抑制して演算精度を向上させることができ、符号化効率を向上させることができる。
 なお、本明細書では、差分動き情報や重み係数などの様々な情報が、符号化ストリームのヘッダに多重化されて、符号化側から復号側へ伝送される例について説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライス若しくはブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像(又はビットストリーム)とは別の伝送路上で伝送されてもよい。また、情報は、画像(又はビットストリーム)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、情報と画像(又はビットストリーム)とは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
 以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
 なお、本技術は以下のような構成も取ることができる。
 (1) L0とL1のそれぞれについて小数画素精度の動き補償を行う動き補償部と、
 前記動き補償部による各演算結果を重み付け加算する重み付け加算部と、
 前記重み付け加算部による演算結果に丸め処理を行う丸め処理部と
 を備える画像処理装置。
 (2) L0とL1の精度を判定する判定部と、
 前記判定部の判定結果に基づいて、前記精度を調整する調整部と
 をさらに備える前記(1)に記載の画像処理装置。
 (3) 前記調整部は、L0とL1の一方に所定の係数を乗算することにより、一方の精度を他方の精度に合わせる
 前記(2)に記載の画像処理装置。
 (4) 前記調整部は、L0とL1の内、精度が大きい方を調整し、精度が小さい方に合わせる
 前記(3)に記載の画像処理装置。
 (5) 前記調整部は、L0の精度とL1の精度が互いに等しい場合、前記精度の調整を行わない
 前記(3)または(4)に記載の画像処理装置。
 (6) 前記調整部は、L0とL1の水平方向の精度および垂直方向の精度の両方に基づいて、前記精度を調整する
 前記(3)乃至(5)のいずれかに記載の画像処理装置。
 (7) 前記丸め処理部は、動きベクトル精度調整のための乗算処理が2Xであり、重み付け予測処理のための除算処理が2Yであるとすると、前記重み付け加算部の演算処理後、2X+Yの除算処理を行う
 前記(1)乃至(6)のいずれかに記載の画像処理装置。
 (8) 前記重み付け加算部は、Explicit Weighted Predictionを行う
 前記(1)乃至(7)に記載の画像処理装置。
 (9) 前記重み付け加算部は、Implicit Weighted Predictionを行う
 前記(1)乃至(8)に記載の画像処理装置。
 (10) 前記重み付け加算部は、Intensity Compensationを行う
 前記(1)乃至(9)に記載の画像処理装置。
 (11) 画像処理装置の画像処理方法であって、
 動き補償部が、L0とL1のそれぞれについて小数画素精度の動き補償を行い、
 重み付け加算部が、各演算結果を重み付け加算し、
 丸め処理部が、演算結果に丸め処理を行う
 画像処理方法。
 100 画像符号化装置, 115 動き予測・補償部, 121 重み付け予測部, 122 動きベクトル精度判定部, 151 動き探索部, 154 動き補償部部, 161 重み係数決定部, 162 動き精度調整部, 200 画像復号装置, 212 動き予測・補償部, 221 重み付け予測部, 222 動きベクトル精度判定部, 251 重み係数バッファ, 252 差分動き情報バッファ, 253 動き情報再構築部, 254 動き情報バッファ, 255 動き補償部, 261 重み係数決定部, 262 動き精度調整部

Claims (11)

  1.  L0とL1のそれぞれについて小数画素精度の動き補償を行う動き補償部と、
     前記動き補償部による各演算結果を重み付け加算する重み付け加算部と、
     前記重み付け加算部による演算結果に丸め処理を行う丸め処理部と
     を備える画像処理装置。
  2.  L0とL1の精度を判定する判定部と、
     前記判定部の判定結果に基づいて、前記精度を調整する調整部と
     をさらに備える請求項1に記載の画像処理装置。
  3.  前記調整部は、L0とL1の一方に所定の係数を乗算することにより、一方の精度を他方の精度に合わせる
     請求項2に記載の画像処理装置。
  4.  前記調整部は、L0とL1の内、精度が大きい方を調整し、精度が小さい方に合わせる
     請求項3に記載の画像処理装置。
  5.  前記調整部は、L0の精度とL1の精度が互いに等しい場合、前記精度の調整を行わない
     請求項3に記載の画像処理装置。
  6.  前記調整部は、L0とL1の水平方向の精度および垂直方向の精度の両方に基づいて、前記精度を調整する
     請求項3に記載の画像処理装置。
  7.  前記丸め処理部は、動きベクトル精度調整のための乗算処理が2Xであり、重み付け予測処理のための除算処理が2Yであるとすると、前記重み付け加算部の演算処理後、2X+Yの除算処理を行う
     請求項1に記載の画像処理装置。
  8.  前記重み付け加算部は、Explicit Weighted Predictionを行う
     請求項1に記載の画像処理装置。
  9.  前記重み付け加算部は、Implicit Weighted Predictionを行う
     請求項1に記載の画像処理装置。
  10.  前記重み付け加算部は、Intensity Compensationを行う
     請求項1に記載の画像処理装置。
  11.  画像処理装置の画像処理方法であって、
     動き補償部が、L0とL1のそれぞれについて小数画素精度の動き補償を行い、
     重み付け加算部が、各演算結果を重み付け加算し、
     丸め処理部が、演算結果に丸め処理を行う
     画像処理方法。
PCT/JP2012/061861 2011-05-17 2012-05-09 画像処理装置および方法 WO2012157488A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201280022512.7A CN103518373B (zh) 2011-05-17 2012-05-09 图像处理装置和方法
US14/113,882 US10218969B2 (en) 2011-05-17 2012-05-09 Image processing device and method using adjusted motion vector accuracy between sub-pixels of reference frames

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011-110669 2011-05-17
JP2011110669A JP5768491B2 (ja) 2011-05-17 2011-05-17 画像処理装置および方法、プログラム、並びに記録媒体

Publications (1)

Publication Number Publication Date
WO2012157488A1 true WO2012157488A1 (ja) 2012-11-22

Family

ID=47176818

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/061861 WO2012157488A1 (ja) 2011-05-17 2012-05-09 画像処理装置および方法

Country Status (4)

Country Link
US (1) US10218969B2 (ja)
JP (1) JP5768491B2 (ja)
CN (1) CN103518373B (ja)
WO (1) WO2012157488A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11394989B2 (en) * 2018-12-10 2022-07-19 Tencent America LLC Method and apparatus for video coding
CN111050182B (zh) * 2019-12-27 2022-02-18 浙江大华技术股份有限公司 运动矢量的预测方法、视频编码方法及相关设备、装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007092215A2 (en) * 2006-02-02 2007-08-16 Thomson Licensing Method and apparatus for adaptive weight selection for motion compensated prediction
WO2009126921A1 (en) * 2008-04-10 2009-10-15 Qualcomm Incorporated Advanced interpolation techniques for motion compensation in video coding
WO2010035731A1 (ja) * 2008-09-24 2010-04-01 ソニー株式会社 画像処理装置および方法
WO2011006004A1 (en) * 2009-07-09 2011-01-13 Qualcomm Incorporated Non-zero rounding and prediction mode selection techniques in video encoding

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2285119B1 (en) * 1997-06-09 2015-08-05 Hitachi, Ltd. Image decoding method
JP2000270328A (ja) * 1999-03-17 2000-09-29 Mitsubishi Electric Corp 動きベクトル検出装置
US6950469B2 (en) * 2001-09-17 2005-09-27 Nokia Corporation Method for sub-pixel value interpolation
US7933335B2 (en) * 2004-11-30 2011-04-26 Panasonic Corporation Moving picture conversion apparatus
KR100703778B1 (ko) * 2005-04-29 2007-04-06 삼성전자주식회사 고속 fgs를 지원하는 비디오 코딩 방법 및 장치
US8750378B2 (en) * 2008-09-23 2014-06-10 Qualcomm Incorporated Offset calculation in switched interpolation filters
JPWO2010035734A1 (ja) * 2008-09-24 2012-02-23 ソニー株式会社 画像処理装置および方法
US8831087B2 (en) * 2008-10-06 2014-09-09 Qualcomm Incorporated Efficient prediction mode selection
JP2010161747A (ja) * 2009-01-09 2010-07-22 Toshiba Corp サブピクセル生成装置及び方法並びに動き補償装置
CN102422642B (zh) * 2009-05-11 2015-03-25 株式会社Ntt都科摩 动态图像编码装置、方法和程序以及动态图像解码装置、方法和程序
JP5378520B2 (ja) * 2009-07-07 2013-12-25 パナソニック株式会社 動画像復号化装置、動画像復号化方法、動画像復号化システム、集積回路およびプログラム
US8995526B2 (en) * 2009-07-09 2015-03-31 Qualcomm Incorporated Different weights for uni-directional prediction and bi-directional prediction in video coding
CN102823251B (zh) * 2010-03-31 2015-08-12 Jvc建伍株式会社 动图像编码装置、动图像编码方法及动图像编码程序、以及动图像解码装置、动图像解码方法及动图像解码程序
US20130229485A1 (en) * 2011-08-30 2013-09-05 Nokia Corporation Apparatus, a Method and a Computer Program for Video Coding and Decoding
US9883203B2 (en) * 2011-11-18 2018-01-30 Qualcomm Incorporated Adaptive overlapped block motion compensation
US9338452B2 (en) * 2012-07-09 2016-05-10 Qualcomm Incorporated Motion vector difference coding extension for enhancement layer

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007092215A2 (en) * 2006-02-02 2007-08-16 Thomson Licensing Method and apparatus for adaptive weight selection for motion compensated prediction
WO2009126921A1 (en) * 2008-04-10 2009-10-15 Qualcomm Incorporated Advanced interpolation techniques for motion compensation in video coding
WO2010035731A1 (ja) * 2008-09-24 2010-04-01 ソニー株式会社 画像処理装置および方法
WO2011006004A1 (en) * 2009-07-09 2011-01-13 Qualcomm Incorporated Non-zero rounding and prediction mode selection techniques in video encoding

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
I. AMONOU ET AL.: "Description of video coding technology proposal by France Telecom, NTT, NTT DOCOMO, Panasonic and Technicolor", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11, JCTVC-A114, 1ST MEETING, April 2010 (2010-04-01), DRESDEN, DE, pages 1 - 7 *
J.M. BOYCE: "Weighted prediction in the H.264/ MPEG AVC video coding standard", PROCEEDINGS OF THE 2004 INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS, vol. 3, May 2004 (2004-05-01), pages III-789 - III-792 *

Also Published As

Publication number Publication date
JP2012244301A (ja) 2012-12-10
US20140044170A1 (en) 2014-02-13
CN103518373B (zh) 2017-08-15
CN103518373A (zh) 2014-01-15
US10218969B2 (en) 2019-02-26
JP5768491B2 (ja) 2015-08-26

Similar Documents

Publication Publication Date Title
JP6508554B2 (ja) 画像処理装置および方法、並びに、プログラム
JP5907367B2 (ja) 画像処理装置および方法、プログラム、並びに記録媒体
JP5979405B2 (ja) 画像処理装置および方法
KR102136903B1 (ko) 화상 처리 장치 및 방법
JP2013150173A (ja) 画像処理装置および方法
JP5982734B2 (ja) 画像処理装置および方法
KR102336932B1 (ko) 화상 처리 장치 및 방법
WO2013002110A1 (ja) 画像処理装置および方法
WO2012157538A1 (ja) 画像処理装置および方法
WO2013108688A1 (ja) 画像処理装置および方法
WO2013002108A1 (ja) 画像処理装置および方法
TW201315246A (zh) 圖像處理裝置及方法
WO2013154026A1 (ja) 画像処理装置および方法
WO2012173022A1 (ja) 画像処理装置および方法
WO2013065568A1 (ja) 画像処理装置および方法
WO2012157488A1 (ja) 画像処理装置および方法
WO2013084775A1 (ja) 画像処理装置および方法
WO2013002106A1 (ja) 画像処理装置および方法
WO2012005194A1 (ja) 画像処理装置および方法
JP6508553B2 (ja) 画像処理装置および方法
JP6341304B2 (ja) 画像処理装置および方法、プログラム、並びに記録媒体
JP6217997B2 (ja) 画像処理装置および方法
JP6094838B2 (ja) 画像処理装置および方法、プログラム、並びに記録媒体
WO2013002105A1 (ja) 画像処理装置および方法
WO2012157539A1 (ja) 画像処理装置および方法

Legal Events

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

Ref document number: 12785390

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14113882

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

Country of ref document: EP

Kind code of ref document: A1