WO2012008270A1 - 画像処理装置及び画像処理方法 - Google Patents

画像処理装置及び画像処理方法 Download PDF

Info

Publication number
WO2012008270A1
WO2012008270A1 PCT/JP2011/064046 JP2011064046W WO2012008270A1 WO 2012008270 A1 WO2012008270 A1 WO 2012008270A1 JP 2011064046 W JP2011064046 W JP 2011064046W WO 2012008270 A1 WO2012008270 A1 WO 2012008270A1
Authority
WO
WIPO (PCT)
Prior art keywords
motion vector
unit
block
corner
boundary
Prior art date
Application number
PCT/JP2011/064046
Other languages
English (en)
French (fr)
Inventor
佐藤 数史
Original Assignee
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Priority to US13/808,726 priority Critical patent/US20130266070A1/en
Priority to CN2011800339354A priority patent/CN103004198A/zh
Publication of WO2012008270A1 publication Critical patent/WO2012008270A1/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding

Definitions

  • the present disclosure relates to an image processing apparatus and an image processing method.
  • compression is intended to efficiently transmit or store digital images, and compresses the amount of information of an image using orthogonal transform such as discrete cosine transform and motion compensation, for example, using redundancy unique to the image.
  • orthogonal transform such as discrete cosine transform and motion compensation
  • Technology is widespread.
  • H.264 developed by ITU-T.
  • Image encoding devices and image decoding devices compliant with standard technologies such as the 26x standard or the MPEG-y standard established by the Moving Picture Experts Group (MPEG), store and distribute images by broadcast stations, and receive images by general users It is widely used in various situations such as storage.
  • MPEG Moving Picture Experts Group
  • MPEG2 (ISO / IEC 13818-2) is one of the MPEG-y standards defined as a general-purpose image coding system. MPEG2 can handle both interlaced (interlaced) images and progressively scanned (non-interlaced) images, and is intended for high-definition images in addition to standard resolution digital images. MPEG2 is currently widely used for a wide range of applications including professional and consumer applications. According to MPEG2, for example, a standard resolution interlaced scanning image having 720 ⁇ 480 pixels has a code amount (bit rate) of 4 to 8 Mbps, and a high resolution interlaced scanning image having 1920 ⁇ 1088 pixels has 18 to 22 Mbps. By assigning the code amount, both a high compression rate and good image quality can be realized.
  • bit rate code amount
  • MPEG2 is mainly intended for high-quality encoding suitable for broadcasting use, and does not correspond to a lower code amount (bit rate) than MPEG1, that is, a higher compression rate.
  • bit rate code amount
  • MPEG4 encoding system was newly advanced.
  • image coding system which is a part of the MPEG4 coding system
  • the standard was approved as an international standard (ISO / IEC 14496-2) in December 1998.
  • the 26x standard (ITU-T Q6 / 16 VCEG) is a standard originally developed for the purpose of encoding suitable for communication applications such as videophone or videoconferencing. H.
  • the 26x standard is known to be able to realize a higher compression ratio while requiring a larger amount of calculation for encoding and decoding than the MPEG-y standard.
  • Joint Model of Enhanced-Compression Video Coding as part of MPEG4 activities Based on the 26x standard, a standard that can achieve a higher compression ratio has been established by incorporating new functions. This standard was approved in March 2003 by H.264. H.264 and MPEG-4 Part 10 (Advanced Video Coding; AVC) have become international standards.
  • motion compensation is performed in units of 16 ⁇ 16 pixels in the frame motion compensation mode, and in the field motion compensation mode, 16 ⁇ 8 pixels for each of the first field and the second field. . H.
  • a macroblock having a size of 16 ⁇ 16 pixels is divided into a partition having a size of any one of 16 ⁇ 16 pixels, 16 ⁇ 8 pixels, 8 ⁇ 16 pixels, and 8 ⁇ 8 pixels, A motion vector can be set for each region individually.
  • an 8 ⁇ 8 pixel region may be further divided into regions of any size of 8 ⁇ 8 pixels, 8 ⁇ 4 pixels, 4 ⁇ 8 pixels, and 4 ⁇ 4 pixels, and a motion vector may be set in each region. it can.
  • a motion vector set in a certain area has a correlation with a motion vector set in a surrounding block or area. For example, when one moving object is moving in a series of images, motion vectors for a plurality of regions belonging to the range in which the moving object is reflected are the same or at least similar.
  • a motion vector set in a certain region may have a correlation with a motion vector set in a corresponding region in a reference image having a short time direction distance. Therefore, MPEG4 and H.264 Image coding schemes such as H.264 / AVC predict the motion vector using such spatial correlation or temporal correlation of motion, and encode only the difference between the predicted motion vector and the actual motion vector. By doing so, the amount of information to be encoded is reduced.
  • Non-Patent Document 1 below proposes to use both spatial correlation and temporal correlation of motion in combination.
  • the processing unit of motion compensation in the existing image encoding method generally has a rectangular shape. For this reason, usually, the pixel positions on the upper left and / or upper right of the rectangle or both can be selected as the reference pixel positions for motion vector prediction.
  • Non-Patent Document 2 describes the distance from the center point of the block as shown in FIG. It is proposed to divide a block diagonally by a boundary determined by ⁇ and an inclination angle ⁇ .
  • the block BL is divided into a first region PT1 and a second region PT2 by a boundary BD determined by a distance ⁇ and an inclination angle ⁇ .
  • Such a method is called “geometry motion partitioning”.
  • Each area formed by the geometry motion division is called a geometry area.
  • motion compensation processing can be performed for each geometry region formed by geometry motion division.
  • the region that is a processing unit for motion compensation can take various shapes other than a rectangle.
  • the block BL1 and the block BL2 shown in FIG. 26 are each divided into polygonal geometric regions that are non-rectangular by the boundary BD1 and the boundary BD2.
  • BD3, BD4 broken line
  • it is difficult to uniformly define the reference pixel position such as the upper left or upper right of the region.
  • the above-mentioned Non-Patent Document 2 shows an example of motion vector prediction using spatial correlation of motion in geometry motion division. How can the reference pixel position be set adaptively in a non-rectangular region? Is not mentioned.
  • the technology according to the present disclosure is an image processing that can adaptively set a reference pixel position and predict a motion vector when a block is divided by a division method that can take various shapes other than a rectangle.
  • An apparatus and an image processing method are to be provided.
  • a block set in an image is divided according to a boundary selected from a plurality of candidates including a boundary having an inclination, and a division unit that divides the block into a plurality of regions and changes according to the inclination of the boundary.
  • a motion vector prediction unit that predicts a motion vector to be used for prediction of a pixel value in each region in the block divided by the division unit based on a motion vector set in a block or region corresponding to a reference pixel position
  • the image processing apparatus can typically be realized as an image encoding apparatus that encodes an image.
  • the “block or region corresponding to the reference pixel position” can include, for example, a block or region to which a pixel at the same position as the reference pixel in the reference image (that is, a co-located pixel) belongs.
  • the “block or region corresponding to the reference pixel position” may include, for example, a block or region to which a pixel adjacent to the reference pixel belongs in the same image.
  • a reference pixel setting unit that sets the reference pixel position in each region according to the inclination of the boundary may be further provided.
  • the reference pixel setting unit determines the reference pixel position in each area of the block as the first pixel. It may be set on a third corner or a fourth corner different from the above corner and the second corner.
  • the first corner is an upper left corner of the block, and the reference pixel setting unit determines that the first corner is set when the boundary does not overlap the first corner and the second corner.
  • the reference pixel position of the first region to which the image belongs may be set on the first corner.
  • the reference pixel setting unit may be configured such that the boundary does not overlap the first corner and the second corner, and the second corner belongs to a second region to which the first corner does not belong.
  • the reference pixel position of the second region may be set on the second corner.
  • the motion vector prediction unit may predict a motion vector using a prediction formula based on a motion vector set in a block or region in a reference image corresponding to the reference pixel position.
  • the motion vector prediction unit includes a motion vector set in a block or region in a reference image corresponding to the reference pixel position, and a motion vector set in another block or region adjacent to the reference pixel position.
  • the motion vector may be predicted using a prediction formula based on the above.
  • the motion vector prediction unit predicts a motion vector using a first prediction formula based on a motion vector set in a block or region in a reference image corresponding to the reference pixel position, and sets the reference pixel position.
  • a motion vector is predicted using a second prediction formula based on a motion vector set in another adjacent block or region, and the image processing apparatus performs the first prediction based on a prediction result by the motion vector prediction unit.
  • a selection unit that selects a prediction formula that achieves the best coding efficiency from a plurality of prediction formula candidates including the prediction formula and the second prediction formula.
  • a block set in the image is divided into a plurality of regions by a boundary selected from a plurality of candidates including a boundary having an inclination. And the motion to be used for predicting the pixel value in each area in the divided block based on the motion vector set in the block or area corresponding to the reference pixel position that changes in accordance with the inclination of the boundary. Predicting a vector is provided.
  • boundary recognition is a boundary selected from a plurality of candidates including a boundary having an inclination, and recognizes the inclination of the boundary obtained by dividing a block in the image at the time of image encoding. And prediction of pixel values in each area in the block divided by the boundary based on the motion vector set in the block or area corresponding to the reference pixel position that changes according to the inclination of the boundary.
  • an image processing apparatus including a motion vector setting unit that sets a motion vector to be performed.
  • the image processing apparatus can typically be realized as an image decoding apparatus that decodes an image.
  • a reference pixel setting unit that sets the reference pixel position in each region according to the inclination of the boundary recognized by the boundary recognition unit may be further provided.
  • the reference pixel setting unit determines the reference pixel position in each area of the block as the first pixel. It may be set on a third corner or a fourth corner different from the above corner and the second corner.
  • the first corner is an upper left corner of the block, and the reference pixel setting unit determines that the first corner is set when the boundary does not overlap the first corner and the second corner.
  • the reference pixel position of the first region to which the image belongs may be set on the first corner.
  • the reference pixel setting unit may be configured such that the boundary does not overlap the first corner and the second corner, and the second corner belongs to a second region to which the first corner does not belong.
  • the reference pixel position of the second region may be set on the second corner.
  • the motion vector setting unit may specify a prediction formula of a motion vector selected at the time of encoding for the region based on information acquired in association with each region.
  • the prediction formula candidates that can be selected at the time of encoding may include a prediction formula based on a motion vector set in a block or region in a reference image corresponding to the base pixel position.
  • the prediction formula candidates that can be selected at the time of encoding include a motion vector set in a block or region in a reference image corresponding to the reference pixel position and another block adjacent to the reference pixel position or A prediction formula based on the motion vector set in the region may be included.
  • a boundary selected from a plurality of candidates including a boundary having an inclination, and a block in the image is encoded when the image is encoded. Recognizing the inclination of the divided boundary, and based on the motion vector set in the block or region corresponding to the reference pixel position that changes according to the inclination of the boundary, each block in the block divided by the boundary Setting a motion vector to be used for prediction of pixel values in the region.
  • the reference pixel position is adaptively set when a block is divided by a division method that can take various shapes other than a rectangle. Motion vectors can be predicted.
  • FIG. 1 is a block diagram illustrating an example of a configuration of an image encoding device 10 according to an embodiment.
  • an image encoding device 10 includes an A / D (Analogue to Digital) conversion unit 11, a rearrangement buffer 12, a subtraction unit 13, an orthogonal transformation unit 14, a quantization unit 15, a lossless encoding unit 16, Accumulation buffer 17, rate control unit 18, inverse quantization unit 21, inverse orthogonal transform unit 22, addition unit 23, deblock filter 24, frame memory 25, selector 26, intra prediction unit 30, motion search unit 40, and mode selection Part 50 is provided.
  • a / D Analogue to Digital
  • the A / D converter 11 converts an image signal input in an analog format into image data in a digital format, and outputs a series of digital image data to the rearrangement buffer 12.
  • the rearrangement buffer 12 rearranges the images included in the series of image data input from the A / D conversion unit 11.
  • the rearrangement buffer 12 rearranges the images according to the GOP (Group of Pictures) structure related to the encoding process, and then outputs the rearranged image data to the subtraction unit 13, the intra prediction unit 30, and the motion search unit 40. To do.
  • GOP Group of Pictures
  • the subtraction unit 13 is supplied with image data input from the rearrangement buffer 12 and predicted image data selected by the mode selection unit 50 described later.
  • the subtraction unit 13 calculates prediction error data that is a difference between the image data input from the rearrangement buffer 12 and the prediction image data input from the mode selection unit 50, and sends the calculated prediction error data to the orthogonal transformation unit 14. Output.
  • the orthogonal transform unit 14 performs orthogonal transform on the prediction error data input from the subtraction unit 13.
  • the orthogonal transformation performed by the orthogonal transformation part 14 may be discrete cosine transformation (Discrete Cosine Transform: DCT) or Karoonen-Labe transformation, for example.
  • the orthogonal transform unit 14 outputs transform coefficient data acquired by the orthogonal transform process to the quantization unit 15.
  • the quantization unit 15 is supplied with transform coefficient data input from the orthogonal transform unit 14 and a rate control signal from the rate control unit 18 described later.
  • the quantizing unit 15 quantizes the transform coefficient data and outputs the quantized transform coefficient data (hereinafter referred to as quantized data) to the lossless encoding unit 16 and the inverse quantization unit 21. Further, the quantization unit 15 changes the bit rate of the quantized data input to the lossless encoding unit 16 by switching the quantization parameter (quantization scale) based on the rate control signal from the rate control unit 18.
  • the lossless encoding unit 16 includes quantized data input from the quantization unit 15, and intra prediction or inter prediction generated by the intra prediction unit 30 or the motion search unit 40 described later and selected by the mode selection unit 50.
  • Information about is provided.
  • the information regarding intra prediction may include, for example, prediction mode information indicating an optimal intra prediction mode for each block.
  • the information related to inter prediction includes, for example, division information for specifying a boundary obtained by dividing each block, prediction formula information for specifying a prediction formula used for motion vector prediction for each region, differential motion vector information, and Reference image information and the like may be included.
  • the lossless encoding unit 16 generates an encoded stream by performing lossless encoding processing on the quantized data.
  • the lossless encoding by the lossless encoding unit 16 may be variable length encoding or arithmetic encoding, for example.
  • the lossless encoding unit 16 multiplexes the above-described information related to intra prediction or information related to inter prediction in a header (for example, a block header or a slice header) of an encoded stream. Then, the lossless encoding unit 16 outputs the generated encoded stream to the accumulation buffer 17.
  • the accumulation buffer 17 temporarily accumulates the encoded stream input from the lossless encoding unit 16 using a storage medium such as a semiconductor memory.
  • the accumulation buffer 17 outputs the accumulated encoded stream at a rate corresponding to the bandwidth of the transmission path (or the output line from the image encoding device 10).
  • the rate control unit 18 monitors the free capacity of the accumulation buffer 17. Then, the rate control unit 18 generates a rate control signal according to the free capacity of the accumulation buffer 17 and outputs the generated rate control signal to the quantization unit 15. For example, the rate control unit 18 generates a rate control signal for reducing the bit rate of the quantized data when the free capacity of the storage buffer 17 is small. For example, when the free capacity of the accumulation buffer 17 is sufficiently large, the rate control unit 18 generates a rate control signal for increasing the bit rate of the quantized data.
  • the inverse quantization unit 21 performs an inverse quantization process on the quantized data input from the quantization unit 15. Then, the inverse quantization unit 21 outputs transform coefficient data acquired by the inverse quantization process to the inverse orthogonal transform unit 22.
  • the inverse orthogonal transform unit 22 restores the prediction error data by performing an inverse orthogonal transform process on the transform coefficient data input from the inverse quantization unit 21. Then, the inverse orthogonal transform unit 22 outputs the restored prediction error data to the addition unit 23.
  • the addition unit 23 generates decoded image data by adding the restored prediction error data input from the inverse orthogonal transform unit 22 and the predicted image data input from the mode selection unit 50. Then, the addition unit 23 outputs the generated decoded image data to the deblock filter 24 and the frame memory 25.
  • the deblocking filter 24 performs a filtering process for reducing block distortion that occurs during image coding.
  • the deblocking filter 24 removes block distortion by filtering the decoded image data input from the adding unit 23, and outputs the decoded image data after filtering to the frame memory 25.
  • the frame memory 25 stores the decoded image data input from the adder 23 and the decoded image data after filtering input from the deblock filter 24 using a storage medium.
  • the selector 26 reads out the decoded image data before filtering used for intra prediction from the frame memory 25 and supplies the read decoded image data to the intra prediction unit 30 as reference image data. Further, the selector 26 reads out the filtered decoded image data used for inter prediction from the frame memory 25 and supplies the read decoded image data to the motion search unit 40 as reference image data.
  • the intra prediction unit 30 is based on the image data to be encoded input from the rearrangement buffer 12 and the decoded image data supplied via the selector 26. Intra prediction processing of each intra prediction mode defined by H.264 / AVC is performed. For example, the intra prediction unit 30 evaluates the prediction result in each intra prediction mode using a predetermined cost function. Then, the intra prediction unit 30 selects an intra prediction mode in which the cost function value is minimum, that is, an intra prediction mode in which the compression rate is the highest as the optimal intra prediction mode. Further, the intra prediction unit 30 outputs information related to intra prediction, such as prediction mode information indicating the optimal intra prediction mode, predicted image data, and cost function value, to the mode selection unit 50.
  • intra prediction mode information indicating the optimal intra prediction mode, predicted image data, and cost function value
  • the intra prediction unit 30 performs H.264 based on the encoding target image data input from the rearrangement buffer 12 and the decoded image data supplied via the selector 26.
  • the intra prediction process may be performed with a block having a size larger than each intra prediction mode defined by H.264 / AVC.
  • the intra prediction unit 30 evaluates the prediction result in each intra prediction mode using a predetermined cost function, and outputs information related to the intra prediction about the optimal intra prediction mode to the mode selection unit 50.
  • the motion search unit 40 selects each block set in the image based on the image data to be encoded input from the rearrangement buffer 12 and the decoded image data as reference image data supplied from the frame memory 25. A motion search process is performed as a target.
  • the motion search unit 40 divides each block into a plurality of regions by a plurality of boundary candidates.
  • Candidates for boundaries that divide blocks are, for example, In addition to the boundary along the horizontal direction or the vertical direction in H.264 / AVC, a boundary having an inclination as illustrated in FIGS. 25 and 26 is included. Then, the motion search unit 40 calculates a motion vector for each region based on the pixel value of the reference image and the pixel value of the original image in each region.
  • the motion search unit 40 adaptively sets the reference pixel position for each region according to the boundary gradient. Then, the motion search unit 40 determines, for each region, a motion vector to be used for predicting a pixel value in the region to be encoded based on the motion vector already calculated for the block or region corresponding to the set reference pixel position. Predict. Motion vector prediction may be performed for each of a plurality of prediction formula candidates. The plurality of prediction formula candidates may include, for example, a prediction formula using spatial correlation or temporal correlation, or both. Therefore, the motion search unit 40 predicts a motion vector of each region for each combination of a boundary candidate and a prediction formula candidate. Then, the motion search unit 40 selects the combination of the boundary and the prediction formula that minimizes the cost function value according to a predetermined cost function (that is, the highest compression ratio) as the optimal combination.
  • a predetermined cost function that is, the highest compression ratio
  • the motion search unit 40 as a result of the motion search process, information related to inter prediction such as division information for specifying an optimal boundary, prediction formula information for specifying an optimal prediction formula, differential motion vector information, and cost function value,
  • the predicted image data is output to the mode selection unit 50.
  • the mode selection unit 50 compares the cost function value related to intra prediction input from the intra prediction unit 30 with the cost function value related to inter prediction input from the motion search unit 40. And the mode selection part 50 selects the prediction method with few cost function values among intra prediction and inter prediction.
  • the mode selection unit 50 outputs information on the intra prediction to the lossless encoding unit 16 and outputs the predicted image data to the subtraction unit 13 and the addition unit 23.
  • the mode selection unit 50 outputs the above-described information regarding inter prediction to the lossless encoding unit 16 and outputs the predicted image data to the subtraction unit 13 and the addition unit 23.
  • FIG. 2 is a block diagram illustrating an example of a detailed configuration of the motion search unit 40 of the image encoding device 10 illustrated in FIG. 1.
  • the motion search unit 40 includes a division unit 41, a motion vector calculation unit 42, a reference pixel setting unit 43, a motion vector buffer 44, a motion vector prediction unit 45, a selection unit 46, and a motion compensation unit 47. .
  • the dividing unit 41 divides a block set in the image into a plurality of regions by using a boundary selected from a plurality of candidates including a boundary having an inclination.
  • the dividing unit 41 may divide a block set in an image by boundary candidates along a horizontal direction or a vertical direction without inclination.
  • each area formed by the division is a rectangular area.
  • the maximum macroblock of 16 ⁇ 16 pixels can be divided into two blocks of 16 ⁇ 8 pixels by a horizontal boundary.
  • the maximum macroblock of 16 ⁇ 16 pixels can be divided into two blocks of 8 ⁇ 16 pixels by a vertical boundary.
  • the maximum macroblock of 16 ⁇ 16 pixels can be divided into four blocks of 8 ⁇ 8 pixels by a horizontal boundary and a vertical boundary.
  • the 8 ⁇ 8 pixel macroblock may be divided into two 8 ⁇ 4 pixel sub-macroblocks, 4 ⁇ 8 pixel two submacroblocks, or 4 ⁇ 4 pixel four submacroblocks.
  • the dividing unit 41 is configured, for example, as shown in FIG. A block having an expanded size (eg, 64 ⁇ 64 pixels) that is larger than the largest macroblock of 16 ⁇ 16 pixels supported by H.264 / AVC may be divided into rectangular regions.
  • the dividing unit 41 divides a block set in the image by a boundary candidate having an inclination.
  • each area formed by the division can be a non-rectangular area.
  • ten blocks BL11 to BL15 and BL21 to BL25 divided by boundaries having an inclination are shown.
  • the position and inclination in the block having the inclination are specified by the distance ⁇ and the inclination angle ⁇ (see FIG. 25).
  • the dividing unit 41 discretely designates several candidate values for the distance ⁇ and the inclination angle ⁇ .
  • the boundary specified by the combination of the designated distance ⁇ and the inclination angle ⁇ is a boundary candidate for dividing the block.
  • the shape of each region formed by division is a triangle, a trapezoid, or a pentagon.
  • the dividing unit 41 divides a block at a plurality of boundaries as a plurality of candidates (that is, a plurality of division patterns), and determines division information for specifying the boundaries as the candidates as motion vector calculation unit 42 and reference pixel setting.
  • the division information may include, for example, division mode information that specifies either rectangular division or geometry motion division, and boundary parameters (for example, the above-described distance ⁇ and inclination angle ⁇ ) that specify the position and inclination of the boundary.
  • the motion vector calculation unit 43 calculates a motion vector for each region specified by the division information input from the division unit 41 based on the pixel value of the original image and the pixel value of the reference image input from the frame memory 25. calculate.
  • the motion vector calculation unit 43 may calculate a motion vector with 1/2 pixel accuracy by interpolating an intermediate pixel value between adjacent pixels by linear interpolation processing, for example.
  • the motion vector calculation unit 43 may calculate a motion vector with 1 ⁇ 4 pixel accuracy by further interpolating intermediate pixel values using, for example, a 6-tap FIR filter.
  • the motion vector calculation unit 43 outputs the calculated motion vector to the motion vector prediction unit 45.
  • the reference pixel setting unit 43 sets the reference pixel position of each area in each block according to the inclination of the boundary obtained by dividing the block. For example, when the block is divided by the boundary along the horizontal direction or the vertical direction without inclination, the reference pixel setting unit 43 determines the upper left and upper right pixel positions of the rectangular area formed by the division of the motion vector. Set as a reference pixel position for prediction. On the other hand, the reference pixel setting unit 43 adaptively applies a non-rectangular area formed by the division according to the inclination of the boundary when the block is divided by the boundary having the inclination as in the case of the geometry motion division. Set the reference pixel position to. The reference pixel position set by the reference pixel setting unit 43 will be further described later with an example.
  • the motion vector buffer 44 temporarily stores a reference motion vector referred to in the motion vector prediction process by the motion vector prediction unit 45 using a storage medium.
  • the motion vector referred to in the motion vector prediction process is a motion vector set in a block or region in an encoded reference image, and a motion vector set in another block or region in an image to be encoded. Can be included.
  • the motion vector prediction unit 45 is a pixel in each region in the block divided by the division unit 41 based on the motion vector set in the block or region corresponding to the reference pixel position set by the reference pixel setting unit 43. Predict motion vectors to be used for value prediction.
  • the “block or region corresponding to the reference pixel position” may include, for example, a block or region to which a pixel adjacent to the reference pixel belongs.
  • the “block or region corresponding to the reference pixel position” may include, for example, a block or region to which a pixel at the same position as the reference pixel in the reference image belongs.
  • the motion vector prediction unit 45 may predict a plurality of motion vectors for a certain region using a plurality of prediction formula candidates.
  • the first prediction formula may be a prediction formula that uses a spatial correlation of motion
  • the second prediction formula may be a prediction formula that uses a temporal correlation of motion.
  • the third prediction formula a prediction formula using both spatial correlation and temporal correlation of motion may be used.
  • the motion vector predicting unit 45 refers to, for example, a reference motion vector set in another block or region adjacent to the reference pixel position, which is stored in the motion vector buffer 44. .
  • the motion vector prediction unit 45 for example, the reference motion set in the block or region in the reference image collocated with the reference pixel position stored in the motion vector buffer 44. Refers to a vector. Prediction formulas that can be used by the motion vector prediction unit 45 will be further described later with examples.
  • the motion vector predicting unit 45 When the motion vector predicting unit 45 calculates a predicted motion vector using a single prediction formula for an area related to a certain boundary, the motion vector predicting unit 45 represents a difference motion representing a difference between the motion vector calculated by the motion vector calculating unit 42 and the predicted motion vector. Calculate the vector. Then, the motion vector prediction unit 45 outputs the calculated difference motion vector and reference image information to the selection unit 46 in association with the division information specifying the boundary and the prediction formula information specifying the prediction formula.
  • the selection unit 46 uses the division information, the prediction formula information, and the difference motion vector input from the motion vector prediction unit 45 to select a combination of an optimal boundary that minimizes the cost function value and an optimal prediction formula. Then, the selection unit 46 displays the division information for identifying the selected optimal boundary, the prediction formula information for specifying the optimal prediction formula, the corresponding differential motion vector information, the reference image information, the corresponding cost function value, and the like. Output to the compensation unit 47.
  • the motion compensation unit 47 generates predicted image data using the optimal boundary selected by the selection unit 46, the optimal prediction formula, the differential motion vector, and the reference image data input from the frame memory 25. Then, the motion compensation unit 47 outputs the generated predicted image data and information related to inter prediction such as the division information, the prediction formula information, the difference motion vector information, and the cost function value input from the selection unit 46 to the mode selection unit 50. Output to. In addition, the motion compensation unit 47 stores the motion vector used for generating the predicted image data, that is, the motion vector finally set in each region, in the motion vector buffer 44.
  • FIG. 6 is an explanatory diagram for explaining reference pixel positions that can be set in the rectangular area.
  • a rectangular block (16 ⁇ 16 pixels) that is not divided by a boundary and a rectangular area that is divided by a horizontal or vertical boundary are shown.
  • the reference pixel setting unit 43 uniformly sets the reference pixel position for motion vector prediction in the upper left or upper right or both in each area.
  • these reference pixel positions are shown by hatching.
  • H. In H.264 / AVC, the reference pixel position of the 8 ⁇ 16 pixel area is set to the upper left for the left area in the block and to the upper right for the right area in the block.
  • FIG. 7 is an explanatory diagram for describing spatial prediction in a rectangular region.
  • two reference pixel positions PX1 and PX2 that can be set in one rectangular area PTe are shown.
  • the prediction formula using the spatial correlation of motion receives, for example, motion vectors set in other blocks or regions adjacent to these reference pixel positions PX1 and PX2.
  • the term “adjacent” includes, for example, not only the case where two blocks, regions, or pixels share a side but also a case where a vertex is shared.
  • MVa be the motion vector set in the block BLa to which the left pixel of the reference pixel position PX1 belongs.
  • a motion vector set to the block BLb to which the pixel above the reference pixel position PX1 belongs is assumed to be MVb.
  • a motion vector set to the block BLc to which the upper right pixel of the reference pixel position PX2 belongs is assumed to be MVc.
  • These motion vectors MVa, MVb, and MVc have already been encoded.
  • the predicted motion vector PMVe for the rectangular area PTe in the block to be encoded can be calculated from the motion vectors MVa, MVb, and MVc using the following prediction formula.
  • the predicted motion vector PMVe is a vector having the central value of the horizontal component and the central value of the vertical component of the motion vectors MVa, MVb, and MVc as components.
  • the said Formula (1) is only an example of the prediction formula using a spatial correlation. For example, if any of the motion vectors MVa, MVb, or MVc does not exist because the block to be encoded is located at the end of the image, the non-existing motion vector may be omitted from the median operation argument. Good. For example, when the block to be encoded is located at the right end of the image, the motion vector set in the block BLd shown in FIG. 7 may be used instead of the motion vector MVc.
  • the predicted motion vector PMVe is also called a predictor.
  • a prediction motion vector calculated by a prediction expression that uses a spatial correlation of motion as in Expression (1) is referred to as a spatial predictor.
  • a predicted motion vector calculated by a prediction formula that uses temporal correlation of motion described in the next section is referred to as a temporal predictor.
  • the motion vector predicting unit 45 After determining the motion vector predictor PMVe in this manner, the motion vector predicting unit 45 then calculates a motion vector difference representing the difference between the motion vector MVe calculated by the motion vector calculating unit 42 and the motion vector predictor PMVe as shown in the following equation. MVDe is calculated.
  • Difference motion vector information output as one piece of information related to inter prediction from the motion search unit 40 represents this difference motion vector MVDe. Then, the difference motion vector information can be encoded by the lossless encoding unit 16 and transmitted to an image decoding apparatus.
  • FIG. 8 is an explanatory diagram for describing temporal prediction in a rectangular area.
  • a coding target image IM01 including a coding target region PTe and a reference image IM02 are shown.
  • the block BLcol in the reference image IM02 is a so-called collocated block including a pixel at a position common to the base pixel position PX1 or PX2 in the reference image IM02.
  • the prediction formula using the temporal correlation of motion is, for example, input with a motion vector set in the collocated block BLcol or a block (or region) adjacent to the collocated block BLcol.
  • MVcol be the motion vector set in the collocated block BLcol.
  • the motion vectors set in the upper, left, lower, right, upper left, lower left, lower right, and upper right blocks of the collocated block BLcol are MVt0 to MVt7, respectively.
  • These motion vectors MVcol and MVt0 to MVt7 have already been encoded.
  • the predicted motion vector PMVe can be calculated from the motion vectors MVcol and MVt0 to MVt7 using, for example, the following prediction formula (3) or (4).
  • motion vectors MVa, MVb, and MVc are motion vectors set in a block adjacent to the reference pixel position PX1 or PX2.
  • the motion vector predicting unit 45 calculates a differential motion vector MVDe representing the difference between the motion vector MVe calculated by the motion vector calculating unit 42 and the predicted motion vector PMVe. . Then, the difference motion vector information representing the difference motion vector MVDe related to the optimum combination of the boundary and the prediction formula is output from the motion search unit 40 and can be encoded by the lossless encoding unit 16.
  • FIG. 8 only one reference image IM02 is shown for one encoding target image IM01, but different reference images may be used for each region in one encoding target image IM01.
  • the reference image referred to when predicting the motion vector of the region PTe1 in the encoding target image IM01 is IM021
  • the reference image referred to when predicting the motion vector of the region PTe2 is IM022. It is.
  • Such a reference image setting method is referred to as a multi-reference frame.
  • H. H.264 / AVC introduces a so-called direct mode mainly for B pictures.
  • the direct mode the motion vector information is not encoded, and the motion vector information of the block to be encoded is generated from the motion vector information of the encoded block.
  • the direct mode includes a spatial direct mode and a temporal direct mode. For example, these two modes can be switched for each slice. Also in this embodiment, such a direct mode may be used.
  • the motion vector MVe for the region to be encoded can be determined as follows using the prediction equation (1) described above.
  • FIG. 10 is an explanatory diagram for explaining the time direct mode.
  • FIG. 10 shows a reference image IML0 that is an L0 reference picture of the encoding target image IM01 and a reference image IML1 that is an L1 reference picture of the encoding target image IM01.
  • the block BLcol in the reference image IML0 is a collocated block of the encoding target region PTe in the encoding target image IM01.
  • the motion vector set in the collocated block BLcol is MVcol.
  • the distance on the time axis between the encoding target image IM01 and the reference image IML0 is TD B
  • the distance on the time axis between the reference image IML0 and the reference image IML1 is TD D.
  • motion vectors MVL0 and MVL1 for the encoding target region PTe can be determined as in the following equation.
  • POC Physical Order Count
  • index representing the distance on the time axis. Whether or not such direct mode is used can be specified, for example, in units of blocks.
  • the reference pixel position can be uniformly defined, for example, the upper left or upper right pixel.
  • the shape of the non-rectangular area formed by the division is various, so the reference pixel position is adaptive. It is desirable to set to.
  • FIGS. 11 to 13 are explanatory diagrams for explaining reference pixel positions that can be set in a non-rectangular region.
  • the five blocks BL11 to BL15 shown in FIG. 11 include, among the 10 blocks shown in FIG. 5, one or both of the pixel Pa whose boundary is located in the upper left corner and the pixel Pb located in the lower right corner. It is an overlapping block. If the boundary is a straight line, in this case, one of the two regions formed by the division includes the pixel Pc located in the upper right corner, and the other includes the pixel Pd located in the lower left corner. Therefore, in the case illustrated in FIG.
  • the reference pixel setting unit 43 sets the reference pixel position of each region to the position of the pixel Pc and the pixel Pd, respectively.
  • the reference pixel position of the region PT11a of the block BL11 is set to the position of the pixel Pc.
  • the reference pixel position of the region PT11b of the block BL11 is set to the position of the pixel Pd.
  • the reference pixel position of the area PT12a of the block BL12 is set to the position of the pixel Pc.
  • the reference pixel position of the region PT12b of the block BL12 is set to the position of the pixel Pd.
  • the reference pixel setting unit 43 determines the reference pixel position of each region as the upper left corner and the lower right corner when the boundary overlaps at least one of the upper right corner and the lower left corner, for example. It may be set in each corner.
  • the five blocks BL21 to BL25 shown in FIG. 12 are blocks whose boundaries do not overlap with either the upper left corner or the lower right corner among the ten blocks shown in FIG.
  • the reference pixel setting unit 43 sets the reference pixel position of the first region to which the upper left corner belongs to the upper left corner.
  • the reference pixel position of the region PT21a of the block BL21 is set to the position of the pixel Pa.
  • the reference pixel position of the area PT22a of the block BL22, the area PT23a of the block BL23, the area PT24a of the block BL24, and the area PT25a of the block BL25 is also set to the position of the pixel Pa.
  • the reference pixel setting unit 43 does not overlap the upper left corner and the lower right corner, and the lower right corner belongs to the second area that is not the first area to which the upper left corner belongs. In this case, the reference pixel position of the second area is set on the lower right corner.
  • the reference pixel position of the region PT21b of the block BL21 is set to the position of the pixel Pb.
  • the reference pixel position of the area PT22b of the block BL22 and the area PT23b of the block BL23 is also set to the position of the pixel Pb.
  • the reference pixel setting unit 43 sets the reference pixel position of the second area on the upper right corner. Set to. Referring to FIG. 13, the reference pixel position of the region PT24b of the block BL24 is set to the position of the pixel Pc. If none of the above cases is applicable, the reference pixel setting unit 43 sets the reference pixel position of the second region on the lower left corner. Referring to FIG. 13, the reference pixel position of the region PT25b of the block BL25 is set to the position of the pixel Pd.
  • FIG. 14 is an explanatory diagram for describing spatial prediction in a non-rectangular region illustrated in FIGS. 11 to 13.
  • four pixel positions Pa to Pd that can be set as reference pixel positions of each region in the encoding target block BLe are shown.
  • the blocks NBa and NBb are adjacent to the pixel position Pa.
  • Blocks NBc and NBe are adjacent to the pixel position Pc.
  • the block NBf is adjacent to the pixel position Pd.
  • the prediction formula using the spatial correlation of the motion for the non-rectangular region is, for example, a prediction formula using as input motion vectors set in these adjacent blocks (or regions) NBa to NBf adjacent to the reference pixel positions Pa to Pd. It may be.
  • Equations (9) and (10) are examples of prediction equations for predicting a predicted motion vector PMVe for a region whose reference pixel position is the upper left corner (pixel position Pa).
  • Equations (9) and (10) are examples of the simplest prediction equations. However, other formulas may be used as the prediction formula. For example, when the region includes both the upper left corner and the upper right corner, the prediction based on the motion vectors set in the adjacent blocks NBa, NBb, and NBc is performed similarly to the spatial prediction for the rectangular region described with reference to FIG. An expression may be used. The prediction formula in this case is the same as formula (1).
  • the motion vector prediction unit 45 may set the predicted motion vector based on the spatial correlation as a zero vector.
  • FIG. 15 is an explanatory diagram for describing temporal prediction in a non-rectangular region.
  • four pixel positions Pa to Pd that can be set as reference pixel positions of each region in the encoding target block BLe are shown.
  • the reference pixel position is the pixel position Pa
  • the collocated block in the reference image is the block BLcol_a.
  • the reference pixel position is the pixel position Pb
  • the collocated block in the reference image is the block BLcol_b.
  • the reference pixel position Pc the collocated block in the reference image is the block BLcol_c.
  • the collocated block in the reference image is the block BLcol_d.
  • the motion vector predicting unit 45 recognizes the collocated block (or collocated region) BLcol in this way according to the reference pixel position set by the reference pixel setting unit 43. Further, for example, as described with reference to FIG. 8, the motion vector prediction unit 45 further recognizes a block or region adjacent to the collocated block (or collocated region) BLcol. Then, the motion vector prediction unit 45 uses the temporal correlation of motion using the motion vectors MVcol and MVt0 to MVt7 (see FIG. 8) set in the blocks or regions in these reference images corresponding to the base pixel position. A predicted motion vector can be calculated according to the prediction formula. The prediction formula in this case may be the same as the formula (3) and the formula (4), for example.
  • the motion vector prediction unit 45 may also use a prediction formula that uses both the spatial correlation and the temporal correlation of motion for non-rectangular regions.
  • the motion vector predicting unit 45 uses the motion vector set in the adjacent block (or adjacent region) described with reference to FIG. 14 and the collocated block (in the reference image described with reference to FIG. 15).
  • a prediction formula based on the motion vector set in the collocated area can be used.
  • the prediction formula in this case may be the same as the formula (5), for example.
  • the motion vector prediction unit 45 uses a prediction formula that uses a spatial correlation, a prediction formula that uses a temporal correlation, when predicting a motion vector (calculation of a predicted motion vector), And a prediction formula that uses spatio-temporal correlation may be used as a candidate for the prediction formula.
  • the motion vector prediction unit 45 may use a plurality of prediction formula candidates as a prediction formula using temporal correlation, for example.
  • the motion vector prediction unit 45 calculates a predicted motion vector for each region for each of a plurality of boundary candidates set by the dividing unit 41 and for each of a plurality of prediction formula candidates.
  • the selection unit 46 evaluates each combination of the boundary candidate and the prediction formula candidate based on the cost function value, and selects the optimal combination having the highest compression rate (achieving the best coding efficiency).
  • the boundary for dividing the block changes, and the prediction expression applied to the block can also be adaptively switched.
  • FIG. 16 is a flowchart illustrating an example of a flow of motion search processing by the motion search unit 40 according to the present embodiment.
  • the dividing unit 41 divides a block set in an image into a plurality of regions based on a plurality of boundary candidates including a boundary having an inclination (step S100).
  • the first boundary candidate is H.264.
  • H.264 / AVC is a boundary along a horizontal direction or a vertical direction, and each block can be divided into a plurality of rectangular regions by a first boundary candidate.
  • the second boundary candidate is a boundary (oblique boundary) having an inclination by geometry motion division, and each block can be divided into a plurality of non-rectangular regions by the second boundary candidate.
  • the motion vector calculation unit 42 calculates a motion vector for each region based on the pixel value of the reference image and the pixel value of the original image in each region (step S110).
  • the reference pixel setting unit 44 sets a reference pixel position in each area according to the inclination of the boundary obtained by dividing the block (step S120). The flow of the reference pixel position setting process by the reference pixel setting unit 44 will be described in detail later.
  • the motion vector prediction unit 45 predicts a motion vector to be used for prediction of pixel values in each area in the block divided by the division unit 41 using a plurality of prediction formula candidates for each area.
  • the first prediction formula candidate is a prediction formula that uses the spatial correlation described above.
  • the candidate for the second prediction formula is a prediction formula using the above-described temporal correlation.
  • the third prediction formula candidate is a prediction formula that uses both the spatial correlation and the temporal correlation described above.
  • the motion vector prediction unit 45 can identify a collocated block or region based on a reference pixel position that changes according to the gradient of the boundary. Therefore, for example, even when a division method such as geometry motion division in which regions of various shapes can be formed by division is used, it is possible to predict a motion vector using temporal correlation of motion.
  • the motion vector predicting unit 45 calculates a difference motion vector representing the difference between the motion vector calculated by the motion vector calculating unit 42 and the predicted motion vector for each combination of the boundary as a candidate and the prediction formula ( Step S150).
  • the selection unit 46 evaluates the cost function value for each combination of the boundary and the prediction formula based on the prediction result by the motion vector prediction unit 45, and the boundary and the prediction formula that achieve the best coding efficiency Is selected (step S160).
  • the cost function used for the selection unit 46 may be, for example, a function based on the difference energy between the original image and the decoded image and the generated code amount.
  • the motion compensation unit 47 calculates a prediction pixel value related to a pixel in the encoding target block using the optimal boundary and the optimal prediction formula selected by the selection unit 46, and generates prediction pixel data ( Step S170).
  • the motion compensation unit 47 outputs information related to inter prediction and prediction pixel data to the mode selection unit 50 (step S180).
  • Information related to inter prediction includes, for example, division information for specifying an optimal boundary, prediction formula information for specifying an optimal prediction formula, corresponding differential motion vector information, reference image information, and a corresponding cost function value. obtain.
  • the motion vector finally set in each area in each block is stored by the motion vector buffer 44 as a reference motion vector.
  • FIG. 17 is a flowchart illustrating an example of the flow of the reference pixel position setting process according to the present embodiment, which corresponds to the process of step S120 of FIG.
  • the reference pixel setting unit 43 determines whether or not a boundary as a candidate for dividing a block has an inclination (step S121). For example, when the boundary is horizontal or vertical, the reference pixel setting unit 43 determines that the boundary has no inclination. In that case, the process proceeds to step S122. If the boundary is not horizontal or vertical, the reference pixel setting unit 43 determines that the boundary has an inclination. In that case, the process proceeds to step S123.
  • step S122 the reference pixel setting unit 43 uses the existing H.264.
  • the upper left corner or the upper right corner of each region is set as the reference pixel position (step S122).
  • each area is a non-rectangular area.
  • the reference pixel setting unit 43 determines whether or not the boundary as a candidate for dividing the block overlaps at least one of the first corner and the second corner located diagonally to each other (step) S123).
  • the positions of the first corner and the second corner can correspond to, for example, the pixel positions Pa and Pb illustrated in FIG. Instead, the positions of the first corner and the second corner may be, for example, the pixel positions Pc and Pd illustrated in FIG.
  • the expression “overlaps a corner” includes not only a case where the boundary passes through the vertex of the block but also a case where the boundary passes over a pixel located at the corner of the block.
  • the reference pixel setting unit 43 sets the reference pixel positions of the two regions as illustrated in FIG. They are set on a third corner and a fourth corner different from the first corner and the second corner, respectively (step S124).
  • the reference pixel setting unit 43 uses the first corner to which the first corner belongs as illustrated in FIG.
  • the reference pixel position of the area is set on the first corner (step S125).
  • the reference pixel setting unit 43 determines whether or not the second corner belongs to the second area to which the first corner does not belong (step S126).
  • step S126 If it is determined in step S126 that the second corner belongs to the second area to which the first corner does not belong, the reference pixel setting unit 43, as in the example of blocks BL21 to BL23 in FIG. The reference pixel position of the second area is set on the second corner (step S127).
  • step S126 when it is determined that the second corner does not belong to the second region to which the first corner does not belong, the reference pixel setting unit 43 has the third corner to the second region. It is further determined whether or not (step S128).
  • the reference pixel setting unit 43 sets the reference pixel position of the second area on the third corner (step S129). ).
  • the reference pixel setting unit 43 sets the reference pixel position of the second area on the fourth corner (step S128). S130).
  • the reference pixel position can be adaptively applied to each region.
  • the position can be set.
  • FIG. 18 is a block diagram illustrating an example of the configuration of the image decoding device 60 according to an embodiment.
  • the image decoding device 60 includes an accumulation buffer 61, a lossless decoding unit 62, an inverse quantization unit 63, an inverse orthogonal transform unit 64, an addition unit 65, a deblock filter 66, a rearrangement buffer 67, a D / A (Digital to Analogue) conversion unit 68, frame memory 69, selectors 70 and 71, intra prediction unit 80, and motion compensation unit 90 are provided.
  • the accumulation buffer 61 temporarily accumulates the encoded stream input via the transmission path using a storage medium.
  • the lossless decoding unit 62 decodes the encoded stream input from the accumulation buffer 61 according to the encoding method used at the time of encoding. In addition, the lossless decoding unit 62 decodes information multiplexed in the header area of the encoded stream.
  • the information multiplexed in the header area of the encoded stream can include, for example, information related to intra prediction and information related to inter prediction in a block header.
  • the lossless decoding unit 62 outputs information related to intra prediction to the intra prediction unit 80. Further, the lossless decoding unit 62 outputs information related to inter prediction to the motion compensation unit 90.
  • the inverse quantization unit 63 performs inverse quantization on the quantized data decoded by the lossless decoding unit 62.
  • the inverse orthogonal transform unit 64 generates prediction error data by performing inverse orthogonal transform on the transform coefficient data input from the inverse quantization unit 63 according to the orthogonal transform method used at the time of encoding. Then, the inverse orthogonal transform unit 64 outputs the generated prediction error data to the addition unit 65.
  • the addition unit 65 adds the prediction error data input from the inverse orthogonal transform unit 64 and the prediction image data input from the selector 71 to generate decoded image data. Then, the addition unit 65 outputs the generated decoded image data to the deblock filter 66 and the frame memory 69.
  • the deblocking filter 66 removes block distortion by filtering the decoded image data input from the adding unit 65, and outputs the decoded image data after filtering to the rearrangement buffer 67 and the frame memory 69.
  • the rearrangement buffer 67 rearranges the images input from the deblock filter 66 to generate a series of time-series image data. Then, the rearrangement buffer 67 outputs the generated image data to the D / A conversion unit 68.
  • the D / A converter 68 converts the digital image data input from the rearrangement buffer 67 into an analog image signal. Then, the D / A conversion unit 68 displays an image by outputting an analog image signal to a display (not shown) connected to the image decoding device 60, for example.
  • the frame memory 69 stores the decoded image data before filtering input from the adding unit 65 and the decoded image data after filtering input from the deblocking filter 66 using a storage medium.
  • the selector 70 switches the output destination of the image data from the frame memory 69 between the intra prediction unit 80 and the motion compensation unit 90 for each block in the image according to the mode information acquired by the lossless decoding unit 62. .
  • the selector 70 outputs the decoded image data before filtering supplied from the frame memory 69 to the intra prediction unit 80 as reference image data.
  • the selector 70 outputs the decoded image data after filtering supplied from the frame memory 69 to the motion compensation unit 90 as reference image data.
  • the selector 71 sets the output source of the predicted image data to be supplied to the adding unit 65 for each block in the image according to the mode information acquired by the lossless decoding unit 62 between the intra prediction unit 80 and the motion compensation unit 90. Switch between. For example, the selector 71 supplies the prediction image data output from the intra prediction unit 80 to the adding unit 65 when the intra prediction mode is designated. The selector 71 supplies the predicted image data output from the motion compensation unit 90 to the adding unit 65 when the inter prediction mode is designated.
  • the intra prediction unit 80 performs in-screen prediction of pixel values based on information related to intra prediction input from the lossless decoding unit 62 and reference image data from the frame memory 69, and generates predicted image data. Then, the intra prediction unit 80 outputs the generated predicted image data to the selector 71.
  • the motion compensation unit 90 performs motion compensation processing based on the inter prediction information input from the lossless decoding unit 62 and the reference image data from the frame memory 69, and generates predicted image data. Then, the motion compensation unit 90 outputs the generated predicted image data to the selector 71.
  • FIG. 19 is a block diagram illustrating an example of a detailed configuration of the motion compensation unit 90 of the image decoding device 60 illustrated in FIG.
  • the motion compensation unit 90 includes a boundary recognition unit 91, a reference pixel setting unit 92, a difference decoding unit 93, a motion vector setting unit 94, a motion vector buffer 95, and a prediction unit 96.
  • the boundary recognition unit 91 recognizes the inclination of the boundary obtained by dividing the block in the image when the image is encoded. Such a boundary is a boundary selected from a plurality of candidates including a boundary having an inclination. More specifically, the boundary recognition unit 91 first acquires division information included in information related to inter prediction input from the lossless decoding unit 62.
  • the division information is information that identifies, for example, the boundary that is determined to be optimal from the viewpoint of the compression rate in the image encoding device 10.
  • the division information includes, for example, division mode information that specifies either rectangular division or geometry motion division, and boundary parameters that specify the position and inclination of the boundary (for example, the above-described distance ⁇ and inclination angle ⁇ ). ).
  • the boundary recognition part 91 recognizes the inclination of the boundary which divided
  • the reference pixel setting unit 92 sets the reference pixel position in each area in the block according to the inclination of the boundary recognized by the boundary recognition unit 91.
  • the reference pixel position setting process by the reference pixel setting unit 92 may be the same as the process by the reference pixel setting unit 43 of the image encoding device 10 illustrated in FIG. Then, the reference pixel setting unit 92 notifies the motion vector setting unit 94 of the set reference pixel position.
  • the difference decoding unit 93 decodes the difference motion vector calculated at the time of encoding for each region based on the difference motion vector information included in the information regarding the inter prediction input from the lossless decoding unit 62. Then, the differential decoding unit 93 outputs the differential motion vector to the motion vector setting unit 94.
  • the motion vector setting unit 94 predicts the pixel value in each region in the divided block based on the motion vector set in the block or region corresponding to the reference pixel position set by the reference pixel setting unit 92. Set the motion vector to be used. More specifically, the motion vector setting unit 94 first acquires prediction formula information included in the information related to inter prediction input from the lossless decoding unit 62. The prediction formula information can be acquired in association with each region. The prediction formula information is selected at the time of encoding among, for example, a prediction formula using spatial correlation, a prediction formula using temporal correlation, and a prediction formula using both spatial correlation and temporal correlation. Identify the prediction formula.
  • the motion vector setting unit 94 sets the motion vector set in the encoded block or region in the image to be encoded or in the reference image corresponding to the reference pixel position set by the reference pixel setting unit 92. As a reference motion vector. Then, the motion vector setting unit 94 calculates a predicted motion vector by substituting the reference motion vector into the prediction formula specified by the prediction formula information. Further, the motion vector setting unit 94 calculates a motion vector by adding the difference motion vector input from the difference decoding unit 93 to the calculated predicted motion vector. The motion vector setting unit 94 sets the motion vector calculated in this way for each region. In addition, the motion vector setting unit 94 outputs the motion vector set for each region to the motion vector buffer 95.
  • the motion vector buffer 95 temporarily stores a motion vector referred to in the motion vector setting process by the motion vector setting unit 94 using a storage medium.
  • the motion vector referred to in the motion vector buffer 95 is a motion vector set in a block or region in the decoded reference image and a motion vector set in another block or region in the image to be encoded. May be included.
  • the prediction unit 96 includes the motion vector and reference image information set by the motion vector setting unit 94 and the reference input from the frame memory 69 for each region in the block divided by the boundary recognized by the boundary recognition unit 91. A predicted pixel value is generated using the image data. Then, the prediction unit 93 outputs predicted image data including the generated predicted pixel value to the selector 71.
  • FIG. 20 is a flowchart illustrating an example of a flow of motion compensation processing by the motion compensation unit 90 of the image decoding device 60 according to the present embodiment.
  • the boundary recognition unit 91 of the image encoding device 60 relates to the inter prediction input from the lossless decoding unit 62 with the gradient of the boundary obtained by dividing the block in the image at the time of image encoding. Recognition is performed from the division information included in the information (step S200).
  • the reference pixel setting unit 92 sets a reference pixel position in each region according to the inclination of the boundary recognized by the boundary recognition unit 91 (step S210).
  • the flow of the reference pixel position setting process by the reference pixel setting unit 92 may be the same as the process by the reference pixel setting unit 43 of the image encoding device 10 illustrated in FIG.
  • the differential decoding unit 93 acquires a differential motion vector based on the differential motion vector information included in the information related to inter prediction input from the lossless decoding unit 62 (step S220). Then, the differential decoding unit 93 outputs the acquired differential motion vector to the motion vector setting unit 94.
  • the motion vector setting unit 94 acquires, from the motion vector buffer 95, a reference motion vector that is a motion vector set in a block or region corresponding to the reference pixel position set by the reference pixel setting unit 92 (step S1). S230).
  • the motion vector setting unit 94 recognizes a prediction formula to be used for calculating a predicted motion vector from the prediction formula information included in the information related to inter prediction input from the lossless decoding unit 62 (step S240). .
  • the motion vector setting unit 94 calculates a predicted motion vector for each region by substituting the reference motion vector into the prediction formula recognized from the prediction formula information (step S250).
  • the motion vector setting unit 94 calculates a motion vector for each region by adding the difference motion vector input from the difference decoding unit 93 to the calculated predicted motion vector (step S260).
  • the motion vector setting unit 94 calculates the motion vector for each region in this way, and sets the calculated motion vector for each region.
  • the prediction unit 94 generates a prediction pixel value using the motion vector and reference image information set by the motion vector setting unit 94 and the reference image data input from the frame memory 69 (step 270).
  • the prediction unit 94 outputs predicted image data including the generated predicted pixel value to the selector 71 (step S280).
  • the image encoding device 10 and the image decoding device 60 include a transmitter or a receiver in satellite broadcasting, cable broadcasting such as cable TV, distribution on the Internet, and distribution to terminals by cellular communication,
  • the present invention can be applied to various electronic devices such as a recording apparatus that records an image on a medium such as an optical disk, a magnetic disk, and a flash memory, or a reproducing apparatus that reproduces an image from the storage medium.
  • a recording apparatus that records an image on a medium such as an optical disk, a magnetic disk, and a flash memory
  • a reproducing apparatus that reproduces an image from the storage medium.
  • FIG. 21 illustrates an example of a schematic configuration of a television device to which the above-described embodiment is applied.
  • the television apparatus 900 includes an antenna 901, a tuner 902, a demultiplexer 903, a decoder 904, a video signal processing unit 905, a display unit 906, an audio signal processing unit 907, a speaker 908, an external interface 909, a control unit 910, a user interface 911, And a bus 912.
  • Tuner 902 extracts a signal of a desired channel from a broadcast signal received via antenna 901, and demodulates the extracted signal. Then, the tuner 902 outputs the encoded bit stream obtained by the demodulation to the demultiplexer 903. In other words, the tuner 902 serves as a transmission unit in the television apparatus 900 that receives an encoded stream in which an image is encoded.
  • the demultiplexer 903 separates the video stream and audio stream of the viewing target program from the encoded bit stream, and outputs each separated stream to the decoder 904. In addition, the demultiplexer 903 extracts auxiliary data such as EPG (Electronic Program Guide) from the encoded bit stream, and supplies the extracted data to the control unit 910. Note that the demultiplexer 903 may perform descrambling when the encoded bit stream is scrambled.
  • EPG Electronic Program Guide
  • the decoder 904 decodes the video stream and audio stream input from the demultiplexer 903. Then, the decoder 904 outputs the video data generated by the decoding process to the video signal processing unit 905. In addition, the decoder 904 outputs audio data generated by the decoding process to the audio signal processing unit 907.
  • the video signal processing unit 905 reproduces the video data input from the decoder 904 and causes the display unit 906 to display the video.
  • the video signal processing unit 905 may cause the display unit 906 to display an application screen supplied via a network.
  • the video signal processing unit 905 may perform additional processing such as noise removal on the video data according to the setting.
  • the video signal processing unit 905 may generate a GUI (Graphical User Interface) image such as a menu, a button, or a cursor, and superimpose the generated image on the output image.
  • GUI Graphic User Interface
  • the display unit 906 is driven by a drive signal supplied from the video signal processing unit 905, and displays a video or an image on a video screen of a display device (for example, a liquid crystal display, a plasma display, or an OLED).
  • a display device for example, a liquid crystal display, a plasma display, or an OLED.
  • the audio signal processing unit 907 performs reproduction processing such as D / A conversion and amplification on the audio data input from the decoder 904, and outputs audio from the speaker 908.
  • the audio signal processing unit 907 may perform additional processing such as noise removal on the audio data.
  • the external interface 909 is an interface for connecting the television apparatus 900 to an external device or a network.
  • a video stream or an audio stream received via the external interface 909 may be decoded by the decoder 904. That is, the external interface 909 also has a role as a transmission unit in the television apparatus 900 that receives an encoded stream in which an image is encoded.
  • the control unit 910 has a processor such as a CPU (Central Processing Unit) and a memory such as a RAM (Random Access Memory) and a ROM (Read Only Memory).
  • the memory stores a program executed by the CPU, program data, EPG data, data acquired via a network, and the like.
  • the program stored in the memory is read and executed by the CPU when the television device 900 is activated, for example.
  • the CPU controls the operation of the television device 900 according to an operation signal input from the user interface 911, for example, by executing the program.
  • the user interface 911 is connected to the control unit 910.
  • the user interface 911 includes, for example, buttons and switches for the user to operate the television device 900, a remote control signal receiving unit, and the like.
  • the user interface 911 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 910.
  • the bus 912 connects the tuner 902, the demultiplexer 903, the decoder 904, the video signal processing unit 905, the audio signal processing unit 907, the external interface 909, and the control unit 910 to each other.
  • the decoder 904 has the function of the image decoding apparatus 60 according to the above-described embodiment.
  • the compression rate can be reduced by adaptively setting a reference pixel position and predicting a motion vector.
  • the image quality after decoding can be improved.
  • FIG. 22 shows an example of a schematic configuration of a mobile phone to which the above-described embodiment is applied.
  • a mobile phone 920 includes an antenna 921, a communication unit 922, an audio codec 923, a speaker 924, a microphone 925, a camera unit 926, an image processing unit 927, a demultiplexing unit 928, a recording / reproducing unit 929, a display unit 930, a control unit 931, an operation A portion 932 and a bus 933.
  • the antenna 921 is connected to the communication unit 922.
  • the speaker 924 and the microphone 925 are connected to the audio codec 923.
  • the operation unit 932 is connected to the control unit 931.
  • the bus 933 connects the communication unit 922, the audio codec 923, the camera unit 926, the image processing unit 927, the demultiplexing unit 928, the recording / reproducing unit 929, the display unit 930, and the control unit 931 to each other.
  • the mobile phone 920 has various operation modes including a voice call mode, a data communication mode, a shooting mode, and a videophone mode, and is used for sending and receiving voice signals, sending and receiving e-mail or image data, taking images, and recording data. Perform the action.
  • the analog voice signal generated by the microphone 925 is supplied to the voice codec 923.
  • the audio codec 923 converts an analog audio signal into audio data, A / D converts the compressed audio data, and compresses it. Then, the audio codec 923 outputs the compressed audio data to the communication unit 922.
  • the communication unit 922 encodes and modulates the audio data and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921. In addition, the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • the communication unit 922 demodulates and decodes the received signal to generate audio data, and outputs the generated audio data to the audio codec 923.
  • the audio codec 923 expands the audio data and performs D / A conversion to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
  • the control unit 931 generates character data constituting the e-mail in response to an operation by the user via the operation unit 932.
  • the control unit 931 causes the display unit 930 to display characters.
  • the control unit 931 generates e-mail data in response to a transmission instruction from the user via the operation unit 932, and outputs the generated e-mail data to the communication unit 922.
  • the communication unit 922 encodes and modulates email data and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
  • the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • the communication unit 922 demodulates and decodes the received signal to restore the email data, and outputs the restored email data to the control unit 931.
  • the control unit 931 displays the content of the electronic mail on the display unit 930 and stores the electronic mail data in the storage medium of the recording / reproducing unit 929.
  • the recording / reproducing unit 929 has an arbitrary readable / writable storage medium.
  • the storage medium may be a built-in storage medium such as a RAM or a flash memory, or an externally mounted storage medium such as a hard disk, a magnetic disk, a magneto-optical disk, an optical disk, a USB memory, or a memory card. May be.
  • the camera unit 926 images a subject to generate image data, and outputs the generated image data to the image processing unit 927.
  • the image processing unit 927 encodes the image data input from the camera unit 926 and stores the encoded stream in the storage medium of the recording / playback unit 929.
  • the demultiplexing unit 928 multiplexes the video stream encoded by the image processing unit 927 and the audio stream input from the audio codec 923, and the multiplexed stream is the communication unit 922. Output to.
  • the communication unit 922 encodes and modulates the stream and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
  • the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • These transmission signal and reception signal may include an encoded bit stream.
  • the communication unit 922 demodulates and decodes the received signal to restore the stream, and outputs the restored stream to the demultiplexing unit 928.
  • the demultiplexing unit 928 separates the video stream and the audio stream from the input stream, and outputs the video stream to the image processing unit 927 and the audio stream to the audio codec 923.
  • the image processing unit 927 decodes the video stream and generates video data.
  • the video data is supplied to the display unit 930, and a series of images is displayed on the display unit 930.
  • the audio codec 923 decompresses the audio stream and performs D / A conversion to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
  • the image processing unit 927 has the functions of the image encoding device 10 and the image decoding device 60 according to the above-described embodiment. Therefore, even when the block is divided by the division method that can take various shapes other than the rectangle in the mobile phone 920, the compression rate can be reduced by adaptively setting the reference pixel position and predicting the motion vector. In addition, the image quality after decoding can be improved.
  • FIG. 23 shows an example of a schematic configuration of a recording / reproducing apparatus to which the above-described embodiment is applied.
  • the recording / reproducing device 940 encodes audio data and video data of a received broadcast program and records the encoded data on a recording medium.
  • the recording / reproducing device 940 may encode audio data and video data acquired from another device and record them on a recording medium, for example.
  • the recording / reproducing device 940 reproduces data recorded on the recording medium on a monitor and a speaker, for example, in accordance with a user instruction. At this time, the recording / reproducing device 940 decodes the audio data and the video data.
  • the recording / reproducing device 940 includes a tuner 941, an external interface 942, an encoder 943, an HDD (Hard Disk Drive) 944, a disk drive 945, a selector 946, a decoder 947, an OSD (On-Screen Display) 948, a control unit 949, and a user interface. 950.
  • Tuner 941 extracts a signal of a desired channel from a broadcast signal received via an antenna (not shown), and demodulates the extracted signal. Then, the tuner 941 outputs the encoded bit stream obtained by the demodulation to the selector 946. That is, the tuner 941 has a role as a transmission unit in the recording / reproducing apparatus 940.
  • the external interface 942 is an interface for connecting the recording / reproducing apparatus 940 to an external device or a network.
  • the external interface 942 may be, for example, an 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 serves as a transmission unit in the recording / reproducing device 940.
  • the encoder 943 encodes video data and audio data when the video data and audio data input from the external interface 942 are not encoded. Then, the encoder 943 outputs the encoded bit stream to the selector 946.
  • the HDD 944 records an encoded bit stream in which content data such as video and audio is compressed, various programs, and other data on an internal hard disk. Also, the HDD 944 reads out these data from the hard disk when playing back video and audio.
  • the disk drive 945 performs recording and reading of data to and from the mounted recording medium.
  • the recording medium loaded in the disk drive 945 may be, for example, a DVD disk (DVD-Video, DVD-RAM, DVD-R, DVD-RW, DVD + R, DVD + RW, etc.) or a Blu-ray (registered trademark) disk. .
  • the selector 946 selects an encoded bit stream input from the tuner 941 or the encoder 943 when recording video and audio, and outputs the selected encoded bit stream to the HDD 944 or the disk drive 945. In addition, the selector 946 outputs the encoded bit stream input from the HDD 944 or the disk drive 945 to the decoder 947 during video and audio reproduction.
  • the decoder 947 decodes the encoded bit stream and generates video data and audio data. Then, the decoder 947 outputs the generated video data to the OSD 948. The decoder 904 outputs the generated audio data to an external speaker.
  • the OSD 948 reproduces the video data input from the decoder 947 and displays the video. Further, the OSD 948 may superimpose a GUI image such as a menu, a button, or a cursor on the video to be displayed.
  • a GUI image such as a menu, a button, or a cursor
  • the control unit 949 includes a processor such as a CPU and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, and the like.
  • the program stored in the memory is read and executed by the CPU when the recording / reproducing apparatus 940 is activated, for example.
  • the CPU controls the operation of the recording / reproducing device 940 according to an operation signal input from the user interface 950, for example, by executing the program.
  • the user interface 950 is connected to the control unit 949.
  • the user interface 950 includes, for example, buttons and switches for the user to operate the recording / reproducing device 940, a remote control signal receiving unit, and the like.
  • the user interface 950 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 949.
  • the encoder 943 has the function of the image encoding apparatus 10 according to the above-described embodiment.
  • the decoder 947 has the function of the image decoding device 60 according to the above-described embodiment.
  • FIG. 24 illustrates an example of a schematic configuration of an imaging apparatus to which the above-described embodiment is applied.
  • the imaging device 960 images a subject to generate an image, encodes the image data, and records it on a recording medium.
  • the imaging device 960 includes an optical block 961, an imaging unit 962, a signal processing unit 963, an image processing unit 964, a display unit 965, an external interface 966, a memory 967, a media drive 968, an OSD 969, a control unit 970, a user interface 971, and a bus. 972.
  • the optical block 961 is connected to the imaging unit 962.
  • the imaging unit 962 is connected to the signal processing unit 963.
  • the display unit 965 is connected to the image processing unit 964.
  • the user interface 971 is connected to the control unit 970.
  • the bus 972 connects the image processing unit 964, the external interface 966, the memory 967, the media drive 968, the OSD 969, and the control unit 970 to each other.
  • the optical block 961 includes a focus lens and a diaphragm mechanism.
  • the optical block 961 forms an optical image of the subject on the imaging surface of the imaging unit 962.
  • the imaging unit 962 includes an image sensor such as a CCD or a CMOS, and converts an optical image formed on the imaging surface into an image signal as an electrical signal by photoelectric conversion. Then, the imaging unit 962 outputs the image signal to the signal processing unit 963.
  • the signal processing unit 963 performs various camera signal processing such as knee correction, gamma correction, and color correction on the image signal input from the imaging unit 962.
  • the signal processing unit 963 outputs the image data after the camera signal processing to the image processing unit 964.
  • the image processing unit 964 encodes the image data input from the signal processing unit 963 and generates encoded data. Then, the image processing unit 964 outputs the generated encoded data to the external interface 966 or the media drive 968. The image processing unit 964 also decodes encoded data input from the external interface 966 or the media drive 968 to generate image data. Then, the image processing unit 964 outputs the generated image data to the display unit 965. In addition, the image processing unit 964 may display the image by outputting the image data input from the signal processing unit 963 to the display unit 965. Further, the image processing unit 964 may superimpose display data acquired from the OSD 969 on an image output to the display unit 965.
  • the OSD 969 generates a GUI image such as a menu, a button, or a cursor, for example, and outputs the generated image to the image processing unit 964.
  • the external interface 966 is configured as a USB input / output terminal, for example.
  • the external interface 966 connects the imaging device 960 and a printer, for example, when printing an image.
  • a drive is connected to the external interface 966 as necessary.
  • a removable medium such as a magnetic disk or an optical disk is attached to the drive, and a program read from the removable medium can be installed in the imaging device 960.
  • the external interface 966 may be configured as a network interface connected to a network such as a LAN or the Internet. That is, the external interface 966 has a role as a transmission unit in the imaging device 960.
  • the recording medium mounted on the media drive 968 may be any readable / writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory. Further, a recording medium may be fixedly attached to the media drive 968, and a non-portable storage unit such as an internal hard disk drive or an SSD (Solid State Drive) may be configured.
  • a non-portable storage unit such as an internal hard disk drive or an SSD (Solid State Drive) may be configured.
  • the control unit 970 includes a processor such as a CPU and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, and the like.
  • the program stored in the memory is read and executed by the CPU when the imaging device 960 is activated, for example.
  • the CPU controls the operation of the imaging device 960 according to an operation signal input from the user interface 971, for example, by executing the program.
  • the user interface 971 is connected to the control unit 970.
  • the user interface 971 includes, for example, buttons and switches for the user to operate the imaging device 960.
  • the user interface 971 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 970.
  • the image processing unit 964 has the functions of the image encoding device 10 and the image decoding device 60 according to the above-described embodiment. Accordingly, even when the imaging device 960 divides a block by a division method that can take various shapes other than a rectangle, the compression rate can be reduced by adaptively setting a reference pixel position and predicting a motion vector. In addition, the image quality after decoding can be improved.
  • each image is encoded according to the inclination of the boundary.
  • a reference pixel position of an area is adaptively set, and a motion vector to be used for prediction of a pixel value in each area is predicted based on a motion vector set in a block or area corresponding to the reference pixel position.
  • the motion vector can be effectively predicted using the spatial correlation or the temporal correlation of the motion or both. it can.
  • the compression rate of the image can be increased, and the image quality after decoding can be improved.
  • the reference pixel position to be set varies depending on whether or not the boundary overlaps at least one of the first corner and the second corner located diagonally with respect to the block.
  • the reference pixel position of each region formed by dividing the block can be adaptively set according to such a reference.
  • the present embodiment it is possible to determine a collocated block or region in the reference image corresponding to the adaptively set reference pixel position. Accordingly, even in a division method such as geometry motion division, for example, when predicting a motion vector, not only a prediction formula that uses spatial correlation but also a prediction formula that uses temporal correlation, or spatial correlation and temporal It is possible to use a prediction formula that uses both of the correlations. It is also possible to switch between these prediction formulas and use the optimum prediction formula for each block. Thereby, further improvement in the compression ratio and / or image quality of the image can be expected.
  • the method for transmitting such information is not limited to such an example.
  • these pieces of information may be transmitted or recorded as separate data associated with the encoded bitstream without being multiplexed into the encoded bitstream.
  • the term “associate” means that an image (which may be a part of an image such as a slice or a block) included in the bitstream and information corresponding to the image can be linked at the time of decoding. Means. That is, information may be transmitted on a transmission path different from that of the image (or bit stream).
  • 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). Furthermore, the information and the image (or the bit stream) may be associated with each other in an arbitrary unit such as a plurality of frames, one frame, or a part of the frame.
  • Image encoding device (image processing device) 41 Division Unit 43 Reference Pixel Setting Unit 45 Motion Vector Prediction Unit 46 Selection Unit 60 Image Decoding Device (Image Processing Device) 91 Boundary recognition unit 92 Reference pixel setting unit 94 Motion vector setting unit

Abstract

矩形以外の様々な形状をとり得る分割方式でブロックが分割される場合に、適応的に基準画素位置を設定して動きベクトルを予測する。画像内に設定されるブロックを、傾きを有する境界を含む複数の候補から選択される境界により、複数の領域に分割する分割部と、上記境界の傾きに応じて変化する基準画素位置に対応するブロック又は領域に設定された動きベクトルに基づいて、上記分割部により分割されるブロック内の各領域内の画素値の予測に使用すべき動きベクトルを予測する動きベクトル予測部と、を備える画像処理装置を提供する。

Description

画像処理装置及び画像処理方法
 本開示は、画像処理装置及び画像処理方法に関する。
 従来、デジタル画像を効率的に伝送し又は蓄積することを目的とし、画像に特有の冗長性を利用して、例えば離散コサイン変換などの直交変換と動き補償とにより画像の情報量を圧縮する圧縮技術が普及している。例えば、ITU-Tの策定したH.26x標準又はMPEG(Moving Picture Experts Group)の策定したMPEG-y標準などの標準技術に準拠した画像符号化装置及び画像復号装置は、放送局による画像の蓄積及び配信、並びに一般ユーザによる画像の受信及び蓄積など、様々な場面で広く利用されている。
 MPEG2(ISO/IEC 13818-2)は、汎用画像符号化方式として定義されたMPEG-y標準の1つである。MPEG2は、飛び越し走査(インターレース)画像及び順次走査(ノン・インターレース)画像の双方を扱うことが可能であり、標準解像度のデジタル画像に加えて、高精細画像をも対象としている。MPEG2は、現在、プロフェッショナル用途及びコンシューマー用途を含む広範なアプリケーションに広く用いられている。MPEG2によれば、例えば、720×480画素を持つ標準解像度の飛び越し走査画像には4~8Mbpsの符号量(ビットレート)、1920×1088画素を持つ高解像度の飛び越し走査画像には18~22Mbpsの符号量を割り当てることで、高い圧縮率及び良好な画質を共に実現することができる。
 MPEG2は、主として、放送の用途に適合する高画質符号化を目的としており、MPEG1よりも低い符号量(ビットレート)、即ちより高い圧縮率には対応するものではなかった。しかし、近年の携帯端末の普及により、高い圧縮率を可能とする符号化方式のニーズは高まっている。そこで、新たにMPEG4符号化方式の標準化が進められた。MPEG4符号化方式の一部である画像符号化方式に関しては、1998年12月に、その規格が国際標準(ISO/IEC 14496-2)として承認された。
 H.26x標準(ITU-T Q6/16 VCEG)は、当初、テレビ電話又はテレビ会議などの通信の用途に適合する符号化を目的として策定された標準規格である。H.26x標準は、MPEG-y標準と比較して、符号化及び復号により多くの演算量を要する一方、より高い圧縮率を実現できることが知られている。また、MPEG4の活動の一環としてのJoint Model of Enhanced-Compression Video Codingでは、H.26x標準をベースとしながら新たな機能をも取り入れることで、より高い圧縮率を実現可能な標準規格が策定された。この標準規格は、2003年3月に、H.264及びMPEG-4 Part10(Advanced Video Coding;AVC)という名称で国際標準となった。
 上述した画像符号化方式において重要な技術の1つは、動き補償である。一連の画像内で物体が大きく動いている場合、符号化対象画像と参照画像との差分も大きくなり、単純なフレーム間予測では高い圧縮率を得ることができない。しかし、物体の動きを認識し、動きが現れている領域の画素値をその動きに応じて補償することで、フレーム間予測による予測誤差が低減され、圧縮率が向上する。MPEG2において、動き補償は、フレーム動き補償モードの場合には16×16画素、フィールド動き補償モードの場合には第1フィールド及び第二フィールドのそれぞれに対して16×8画素を処理単位として行われる。また、H.264/AVCにおいては、16×16画素のサイズを有するマクロブロックを16×16画素、16×8画素、8×16画素及び8×8画素のいずれかのサイズの領域(partition)に分割し、各領域に個別に動きベクトルを設定することができる。また、8×8画素の領域をさらに8×8画素、8×4画素、4×8画素及び4×4画素のいずれかのサイズの領域に分割し、各領域に動きベクトルを設定することもできる。
 多くの場合、ある領域に設定される動きベクトルは、周囲のブロック又は領域に設定される動きベクトルと相関を有する。例えば、1つの動物体が一連の画像内で移動している場合、その動物体が映る範囲に属する複数の領域についての動きベクトルは、同じであるか、又は少なくとも類似するものとなる。また、ある領域に設定される動きベクトルは、時間方向の距離が近い参照画像内の対応する領域に設定される動きベクトルと相関を有する場合もある。そこで、MPEG4及びH.264/AVCなどの画像符号化方式は、このような動きの空間的相関又は時間的相関を利用して動きベクトルを予測し、予測された動きベクトルと実際の動きベクトルとの差分のみを符号化することにより、符号化される情報量の削減を図っている。また、下記非特許文献1は、動きの空間的相関及び時間的相関の双方を組み合わせて利用することを提案している。
 動きベクトルの予測に際しては、符号化対象の領域と相関のある他のブロック又は領域を適切に選択することが求められる。その選択の基準となるのが、基準画素位置である。既存の画像符号化方式における動き補償の処理単位は、一般的に矩形の形状を有している。そのため、通常、矩形の左上若しくは右上又はその双方の画素位置が、動きベクトルの予測に際しての基準画素位置として選択され得る。
 一方、画像内に現れる動物体の輪郭線は、水平及び垂直以外の傾きを有する場合が多い。そこで、そのような動物体と背景との間の動きの差異をより的確に動き補償に反映するために、下記非特許文献2は、図25に示したように、ブロックの中心点からの距離ρと傾き角θとにより定まる境界によって、ブロックを斜めに分割することを提案している。図25の例では、ブロックBLが、距離ρと傾き角θとにより定まる境界BDによって、第1の領域(partition)PT1及び第2の領域PT2に分割されている。このような手法を、「ジオメトリ動き分割(geometry motion partitioning)」という。また、ジオメトリ動き分割によって形成される各領域を、ジオメトリ領域(geometry partition)という。そして、ジオメトリ動き分割により形成されるジオメトリ領域ごとに、動き補償処理が行われ得る。
Jungyoup Yang, Kwanghyun Won, Byeungwoo Jeon,"Motion Vector Coding with Optimal PMV Selection" (VCEG-AI22, 2008年7月) Qualcomm Inc., "Video coding technology proposal by Qualcomm Inc."(JCTVC-A121, 2010年4月)
 しかしながら、上述したジオメトリ動き分割のように、水平でも垂直でもない境界によってブロックを分割する場合、動き補償の処理単位である領域は、矩形以外の様々な形状をとり得る。例えば、図26に示すブロックBL1及びブロックBL2は、境界BD1及び境界BD2により、非矩形である多角形のジオメトリ領域にそれぞれ分割されている。また、将来の画像符号化方式において、図26に示すブロックBL3及びブロックBL4のように、曲線又は折れ線の境界(BD3、BD4)によりブロックを分割することも考えられる。これらの場合、例えば領域の左上又は右上などのように、一律的に基準画素位置を定義付けることは困難である。上記非特許文献2は、ジオメトリ動き分割における動きの空間的相関を利用した動きベクトルの予測についての一例を示しているが、非矩形領域において基準画素位置をどのように適応的に設定し得るかについては言及していない。
 そこで、本開示に係る技術は、矩形以外の様々な形状をとり得る分割方式でブロックが分割される場合に、適応的に基準画素位置を設定して動きベクトルを予測することのできる、画像処理装置及び画像処理方法を提供しようとするものである。
 本開示によれば、画像内に設定されるブロックを、傾きを有する境界を含む複数の候補から選択される境界により、複数の領域に分割する分割部と、上記境界の傾きに応じて変化する基準画素位置に対応するブロック又は領域に設定された動きベクトルに基づいて、上記分割部により分割されるブロック内の各領域内の画素値の予測に使用すべき動きベクトルを予測する動きベクトル予測部と、を備える画像処理装置が提供される。
 上記画像処理装置は、典型的には、画像を符号化する画像符号化装置として実現され得る。ここで、「基準画素位置に対応するブロック又は領域」とは、例えば、参照画像内の基準画素と同じ位置の画素(即ち、コロケーテッド(co-located)な画素)が属するブロック又は領域を含み得る。また、「基準画素位置に対応するブロック又は領域」とは、例えば、同じ画像内で基準画素に隣接する画素が属するブロック又は領域を含み得る。
 また、上記境界の傾きに応じて、上記基準画素位置を各領域に設定する基準画素設定部、をさらに備えてもよい。
 また、上記基準画素設定部は、上記境界がブロックの互いに対角に位置する第1のコーナー又は第2のコーナーに重なる場合には、当該ブロックの各領域の上記基準画素位置を、上記第1のコーナー及び上記第2のコーナーとは異なる第3のコーナー又は第4のコーナー上に設定してもよい。
 また、上記第1のコーナーは、ブロックの左上のコーナーであり、上記基準画素設定部は、上記境界が上記第1のコーナー及び上記第2のコーナーに重ならない場合には、上記第1のコーナーが属する第1の領域の上記基準画素位置を、上記第1のコーナー上に設定してもよい。
 また、上記基準画素設定部は、上記境界が上記第1のコーナー及び上記第2のコーナーに重ならず、上記第1のコーナーが属しない第2の領域に上記第2のコーナーが属する場合には、上記第2の領域の上記基準画素位置を、上記第2のコーナー上に設定してもよい。
 また、上記動きベクトル予測部は、上記基準画素位置に対応する参照画像内のブロック又は領域に設定された動きベクトルに基づく予測式を用いて、動きベクトルを予測してもよい。
 また、上記動きベクトル予測部は、上記基準画素位置に対応する参照画像内のブロック又は領域に設定された動きベクトルと、上記基準画素位置に隣接する他のブロック又は領域に設定された動きベクトルとに基づく予測式を用いて、動きベクトルを予測してもよい。
 また、上記動きベクトル予測部は、上記基準画素位置に対応する参照画像内のブロック又は領域に設定された動きベクトルに基づく第1の予測式を用いて動きベクトルを予測し、上記基準画素位置に隣接する他のブロック又は領域に設定された動きベクトルに基づく第2の予測式を用いて動きベクトルを予測し、上記画像処理装置は、上記動きベクトル予測部による予測結果に基づいて、上記第1の予測式及び上記第2の予測式を含む複数の予測式の候補から最良の符号化効率を達成する予測式を選択する選択部、をさらに備えてもよい。
 また、本開示によれば、画像を処理するための画像処理方法において、画像内に設定されるブロックを、傾きを有する境界を含む複数の候補から選択される境界により、複数の領域に分割することと、上記境界の傾きに応じて変化する基準画素位置に対応するブロック又は領域に設定された動きベクトルに基づいて、分割されたブロック内の各領域内の画素値の予測に使用すべき動きベクトルを予測することと、を含む画像処理方法が提供される。
 また、本開示によれば、傾きを有する境界を含む複数の候補から選択される境界であって、画像の符号化の際に上記画像内のブロックを分割した上記境界の傾きを認識する境界認識部と、上記境界の傾きに応じて変化する基準画素位置に対応するブロック又は領域に設定された動きベクトルに基づいて、上記境界により分割されたブロック内の各領域内の画素値の予測に使用すべき動きベクトルを設定する動きベクトル設定部と、を備える画像処理装置が提供される。
 上記画像処理装置は、典型的には、画像を復号する画像復号装置として実現され得る。
 また、上記境界認識部により認識される上記境界の傾きに応じて、上記基準画素位置を各領域に設定する基準画素設定部、をさらに備えてもよい。
 また、上記基準画素設定部は、上記境界がブロックの互いに対角に位置する第1のコーナー又は第2のコーナーに重なる場合には、当該ブロックの各領域の上記基準画素位置を、上記第1のコーナー及び上記第2のコーナーとは異なる第3のコーナー又は第4のコーナー上に設定してもよい。
 また、上記第1のコーナーは、ブロックの左上のコーナーであり、上記基準画素設定部は、上記境界が上記第1のコーナー及び上記第2のコーナーに重ならない場合には、上記第1のコーナーが属する第1の領域の上記基準画素位置を、上記第1のコーナー上に設定してもよい。
 また、上記基準画素設定部は、上記境界が上記第1のコーナー及び上記第2のコーナーに重ならず、上記第1のコーナーが属しない第2の領域に上記第2のコーナーが属する場合には、上記第2の領域の上記基準画素位置を、上記第2のコーナー上に設定してもよい。
 また、上記動きベクトル設定部は、各領域と関連付けて取得される情報に基づいて、当該領域について符号化の際に選択された動きベクトルの予測式を特定してもよい。
 また、符号化の際に選択され得る上記予測式の候補は、上記基準画素位置に対応する参照画像内のブロック又は領域に設定された動きベクトルに基づく予測式を含んでもよい。
 また、符号化の際に選択され得る上記予測式の候補は、上記基準画素位置に対応する参照画像内のブロック又は領域に設定された動きベクトルと、上記基準画素位置に隣接する他のブロック又は領域に設定された動きベクトルとに基づく予測式を含んでもよい。
 また、本開示によれば、画像を処理するための画像処理方法において、傾きを有する境界を含む複数の候補から選択される境界であって、画像の符号化の際に上記画像内のブロックを分割した上記境界の傾きを認識することと、上記境界の傾きに応じて変化する基準画素位置に対応するブロック又は領域に設定された動きベクトルに基づいて、上記境界により分割されたブロック内の各領域内の画素値の予測に使用すべき動きベクトルを設定することと、を含む画像処理方法が提供される。
 以上説明したように、本開示に係る画像処理装置及び画像処理方法によれば、矩形以外の様々な形状をとり得る分割方式でブロックが分割される場合に、適応的に基準画素位置を設定して動きベクトルを予測することができる。
一実施形態に係る画像符号化装置の構成の一例を示すブロック図である。 一実施形態に係る画像符号化装置の動き探索部の詳細な構成の一例を示すブロック図である。 ブロックの矩形領域への分割について説明するための第1の説明図である。 ブロックの矩形領域への分割について説明するための第2の説明図である。 ブロックの非矩形領域への分割について説明するための説明図である。 矩形領域に設定され得る基準画素位置について説明するための説明図である。 矩形領域における空間的予測について説明するための説明図である。 矩形領域における時間的予測について説明するための説明図である。 マルチ参照フレームについて説明するための説明図である。 時間ダイレクトモードについて説明するための説明図である。 非矩形領域に設定され得る基準画素位置について説明するための第1の説明図である。 非矩形領域に設定され得る基準画素位置について説明するための第2の説明図である。 非矩形領域に設定され得る基準画素位置について説明するための第3の説明図である。 非矩形領域における空間的予測について説明するための説明図である。 非矩形領域における時間的予測について説明するための説明図である。 一実施形態に係る基準画素位置設定処理の流れの一例を示すフローチャートである。 一実施形態に係る動き探索処理の流れの一例を示すフローチャートである。 一実施形態に係る画像復号装置の構成の一例を示すブロック図である。 一実施形態に係る画像復号装置の動き補償部の詳細な構成の一例を示すブロック図である。 一実施形態に係る動き補償処理の流れの一例を示すフローチャートである。 テレビジョン装置の概略的な構成の一例を示すブロック図である。 携帯電話機の概略的な構成の一例を示すブロック図である。 記録再生装置の概略的な構成の一例を示すブロック図である。 撮像装置の概略的な構成の一例を示すブロック図である。 ジオメトリ動き分割によるブロックの分割の一例を示す説明図である。 ブロックの非矩形領域への分割の他の例を示す説明図である。
 以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付すことにより重複説明を省略する。
 また、以下の順序にしたがって当該「発明を実施するための形態」を説明する。
  1.一実施形態に係る画像符号化装置の構成例
  2.一実施形態に係る符号化時の処理の流れ
  3.一実施形態に係る画像復号装置の構成例
  4.一実施形態に係る復号時の処理の流れ
  5.応用例
  6.まとめ
 <1.一実施形態に係る画像符号化装置の構成例>
  [1-1.全体的な構成例]
 図1は、一実施形態に係る画像符号化装置10の構成の一例を示すブロック図である。図1を参照すると、画像符号化装置10は、A/D(Analogue to Digital)変換部11、並べ替えバッファ12、減算部13、直交変換部14、量子化部15、可逆符号化部16、蓄積バッファ17、レート制御部18、逆量子化部21、逆直交変換部22、加算部23、デブロックフィルタ24、フレームメモリ25、セレクタ26、イントラ予測部30、動き探索部40、及びモード選択部50を備える。
 A/D変換部11は、アナログ形式で入力される画像信号をデジタル形式の画像データに変換し、一連のデジタル画像データを並べ替えバッファ12へ出力する。
 並べ替えバッファ12は、A/D変換部11から入力される一連の画像データに含まれる画像を並べ替える。並べ替えバッファ12は、符号化処理に係るGOP(Group of Pictures)構造に応じて画像を並べ替えた後、並べ替え後の画像データを減算部13、イントラ予測部30及び動き探索部40へ出力する。
 減算部13には、並べ替えバッファ12から入力される画像データ、及び後に説明するモード選択部50により選択される予測画像データが供給される。減算部13は、並べ替えバッファ12から入力される画像データとモード選択部50から入力される予測画像データとの差分である予測誤差データを算出し、算出した予測誤差データを直交変換部14へ出力する。
 直交変換部14は、減算部13から入力される予測誤差データについて直交変換を行う。直交変換部14により実行される直交変換は、例えば、離散コサイン変換(Discrete Cosine Transform:DCT)又はカルーネン・レーベ変換などであってよい。直交変換部14は、直交変換処理により取得される変換係数データを量子化部15へ出力する。
 量子化部15には、直交変換部14から入力される変換係数データ、及び後に説明するレート制御部18からのレート制御信号が供給される。量子化部15は、変換係数データを量子化し、量子化後の変換係数データ(以下、量子化データという)を可逆符号化部16及び逆量子化部21へ出力する。また、量子化部15は、レート制御部18からのレート制御信号に基づいて量子化パラメータ(量子化スケール)を切り替えることにより、可逆符号化部16に入力される量子化データのビットレートを変化させる。
 可逆符号化部16には、量子化部15から入力される量子化データ、及び、後に説明するイントラ予測部30又は動き探索部40により生成されモード選択部50により選択されるイントラ予測又はインター予測に関する情報が供給される。イントラ予測に関する情報は、例えば、ブロックごとの最適なイントラ予測モードを示す予測モード情報を含み得る。また、インター予測に関する情報は、例えば、各ブロックを分割した境界を特定する分割情報、各領域について動きベクトルの予測のために使用された予測式を特定する予測式情報、差分動きベクトル情報、及び参照画像情報などを含み得る。
 可逆符号化部16は、量子化データについて可逆符号化処理を行うことにより、符号化ストリームを生成する。可逆符号化部16による可逆符号化は、例えば、可変長符号化、又は算術符号化などであってよい。また、可逆符号化部16は、上述したイントラ予測に関する情報又はインター予測に関する情報を、符号化ストリームのヘッダ(例えばブロックヘッダ又はスライスヘッダなど)内に多重化する。そして、可逆符号化部16は、生成した符号化ストリームを蓄積バッファ17へ出力する。
 蓄積バッファ17は、可逆符号化部16から入力される符号化ストリームを半導体メモリなどの記憶媒体を用いて一時的に蓄積する。そして、蓄積バッファ17は、蓄積した符号化ストリームを、伝送路(又は画像符号化装置10からの出力線)の帯域に応じたレートで出力する。
 レート制御部18は、蓄積バッファ17の空き容量を監視する。そして、レート制御部18は、蓄積バッファ17の空き容量に応じてレート制御信号を生成し、生成したレート制御信号を量子化部15へ出力する。例えば、レート制御部18は、蓄積バッファ17の空き容量が少ない時には、量子化データのビットレートを低下させるためのレート制御信号を生成する。また、例えば、レート制御部18は、蓄積バッファ17の空き容量が十分大きい時には、量子化データのビットレートを高めるためのレート制御信号を生成する。
 逆量子化部21は、量子化部15から入力される量子化データについて逆量子化処理を行う。そして、逆量子化部21は、逆量子化処理により取得される変換係数データを、逆直交変換部22へ出力する。
 逆直交変換部22は、逆量子化部21から入力される変換係数データについて逆直交変換処理を行うことにより、予測誤差データを復元する。そして、逆直交変換部22は、復元した予測誤差データを加算部23へ出力する。
 加算部23は、逆直交変換部22から入力される復元された予測誤差データとモード選択部50から入力される予測画像データとを加算することにより、復号画像データを生成する。そして、加算部23は、生成した復号画像データをデブロックフィルタ24及びフレームメモリ25へ出力する。
 デブロックフィルタ24は、画像の符号化時に生じるブロック歪みを減少させるためのフィルタリング処理を行う。デブロックフィルタ24は、加算部23から入力される復号画像データをフィルタリングすることによりブロック歪みを除去し、フィルタリング後の復号画像データをフレームメモリ25へ出力する。
 フレームメモリ25は、加算部23から入力される復号画像データ、及びデブロックフィルタ24から入力されるフィルタリング後の復号画像データを記憶媒体を用いて記憶する。
 セレクタ26は、イントラ予測のために使用されるフィルタリング前の復号画像データをフレームメモリ25から読み出し、読み出した復号画像データを参照画像データとしてイントラ予測部30に供給する。また、セレクタ26は、インター予測のために使用されるフィルタリング後の復号画像データをフレームメモリ25から読み出し、読み出した復号画像データを参照画像データとして動き探索部40に供給する。
 イントラ予測部30は、並べ替えバッファ12から入力される符号化対象の画像データ、及びセレクタ26を介して供給される復号画像データに基づいて、H.264/AVCにより規定されている各イントラ予測モードのイントラ予測処理を行う。例えば、イントラ予測部30は、各イントラ予測モードによる予測結果を所定のコスト関数を用いて評価する。そして、イントラ予測部30は、コスト関数値が最小となるイントラ予測モード、即ち圧縮率が最も高くなるイントラ予測モードを、最適なイントラ予測モードとして選択する。さらに、イントラ予測部30は、当該最適なイントラ予測モードを示す予測モード情報、予測画像データ、及びコスト関数値などのイントラ予測に関する情報を、モード選択部50へ出力する。さらに、イントラ予測部30は、並べ替えバッファ12から入力される符号化対象の画像データ、及びセレクタ26を介して供給される復号画像データに基づいて、H.264/AVCにより規定されている各イントラ予測モードよりもサイズの大きいブロックでイントラ予測処理を行ってもよい。その場合にも、イントラ予測部30は、各イントラ予測モードによる予測結果を所定のコスト関数を用いて評価し、最適なイントラ予測モードについてのイントラ予測に関する情報をモード選択部50へ出力する。
 動き探索部40は、並べ替えバッファ12から入力される符号化対象の画像データ、及びフレームメモリ25から供給される参照画像データとしての復号画像データに基づいて、画像内に設定される各ブロックを対象として動き探索処理を行う。
 より具体的には、動き探索部40は、各ブロックを、複数の境界の候補によって複数の領域にそれぞれ分割する。ブロックを分割する境界の候補は、例えばH.264/AVCにおける水平方向又は垂直方向に沿った境界に加えて、図25及び図26に例示したような傾きを有する境界を含む。そして、動き探索部40は、参照画像の画素値と各領域内の原画像の画素値とに基づいて、各領域についての動きベクトルを算出する。
 また、動き探索部40は、各領域についての基準画素位置を境界の傾きに応じて適応的に設定する。そして、動き探索部40は、設定した基準画素位置に対応するブロック又は領域について既に算出した動きベクトルに基づいて、符号化対象の領域内の画素値の予測に使用すべき動きベクトルを領域ごとに予測する。動きベクトルの予測は、複数の予測式の候補についてそれぞれ行われ得る。複数の予測式の候補は、例えば、空間的相関若しくは時間的相関又はその双方を利用する予測式を含み得る。従って、動き探索部40は、境界の候補と予測式の候補との組合せごとに、各領域の動きベクトルを予測する。そして、動き探索部40は、所定のコスト関数に従ったコスト関数値が最小となる(即ち、圧縮率が最も高くなる)境界と予測式との組合せを、最適な組合せとして選択する。
 このような動き探索部40による探索処理について、後に分割の具体的な例を挙げてさらに説明する。動き探索部40は、動き探索処理の結果として、最適な境界を特定する分割情報、最適な予測式を特定する予測式情報、差分動きベクトル情報、及びコスト関数値などのインター予測に関する情報と、予測画像データとを、モード選択部50へ出力する。
 モード選択部50は、イントラ予測部30から入力されるイントラ予測に関するコスト関数値と動き探索部40から入力されるインター予測に関するコスト関数値とを比較する。そして、モード選択部50は、イントラ予測及びインター予測のうちコスト関数値がより少ない予測手法を選択する。モード選択部50は、イントラ予測を選択した場合には、イントラ予測に関する情報を可逆符号化部16へ出力すると共に、予測画像データを減算部13及び加算部23へ出力する。また、モード選択部50は、インター予測を選択した場合には、インター予測に関する上述した情報を可逆符号化部16へ出力すると共に、予測画像データを減算部13及び加算部23へ出力する。
  [1-2.動き探索部の構成例]
 図2は、図1に示した画像符号化装置10の動き探索部40の詳細な構成の一例を示すブロック図である。図2を参照すると、動き探索部40は、分割部41、動きベクトル算出部42、基準画素設定部43、動きベクトルバッファ44、動きベクトル予測部45、選択部46、及び動き補償部47を有する。
 分割部41は、画像内に設定されるブロックを、傾きを有する境界を含む複数の候補から選択される境界により、複数の領域に分割する。
 分割部41は、例えば、図3及び図4に示すように、画像内に設定されるブロックを傾きのない水平方向又は垂直方向に沿った境界の候補によって分割してもよい。この場合、分割により形成される各領域は、矩形領域となる。図3の例では、16×16画素の最大マクロブロックは、水平の境界により16×8画素の2つのブロックに分割され得る。また、16×16画素の最大マクロブロックは、垂直な境界により8×16画素の2つのブロックに分割され得る。また、16×16画素の最大マクロブロックは、水平の境界及び垂直の境界により8×8画素の4つのブロックに分割され得る。さらに、8×8画素のマクロブロックは、8×4画素の2つのサブマクロブロック、4×8画素の2つのサブマクロブロック、又は4×4画素の4つのサブマクロブロックに分割され得る。また、分割部41は、例えば、図4に示したように、H.264/AVCによりサポートされる16×16画素の最大マクロブロックよりも大きい、拡張されたサイズ(例えば64×64画素)を有するブロックを矩形領域に分割してもよい。
 また、分割部41は、例えば、図5に示したように、画像内に設定されるブロックを傾きを有する境界の候補によって分割する。この場合、分割により形成される各領域は、非矩形領域となり得る。図5の例では、傾きを有する境界により分割される10通りのブロックBL11~BL15、BL21~BL25が示されている。なお、ジオメトリ動き分割においては、傾きを有する境界のブロック内での位置及び傾きは、距離ρ及び傾き角θにより特定される(図25参照)。分割部41は、例えば、距離ρ及び傾き角θの値の候補を離散的にいくつか指定する。この場合、指定された距離ρ及び傾き角θの組合せにより特定される境界が、ブロックを分割する境界の候補となる。図5の例では、分割により形成される各領域の形状は、三角形、台形、又は五角形である。
 分割部41は、このような複数の候補としての境界(即ち、複数の分割のパターン)でブロックを分割し、それら候補としての境界を特定する分割情報を、動きベクトル算出部42及び基準画素設定部43へ出力する。分割情報は、例えば、矩形分割又はジオメトリ動き分割のいずれかを指定する分割モード情報、並びに境界の位置と傾きとを指定する境界パラメータ(例えば、上述した距離ρ及び傾き角θ)を含み得る。
 動きベクトル算出部43は、分割部41から入力される分割情報により特定される各領域について、原画像の画素値、及びフレームメモリ25から入力される参照画像の画素値に基づいて、動きベクトルを算出する。動きベクトルの算出に際しては、動きベクトル算出部43は、例えば、隣り合う画素間の中間的な画素値を線型内挿処理により補間し、1/2画素精度で動きベクトルを算出してもよい。また、動きベクトル算出部43は、例えば、6タップのFIRフィルタを用いてさらに中間的な画素値を補間し、1/4画素精度で動きベクトルを算出してもよい。動きベクトル算出部43は、算出した動きベクトルを、動きベクトル予測部45へ出力する。
 基準画素設定部43は、ブロックを分割した境界の傾きに応じて、各ブロック内の各領域の基準画素位置を設定する。例えば、基準画素設定部43は、傾きのない水平方向又は垂直方向に沿った境界によりブロックが分割される場合には、分割により形成される矩形領域の左上及び右上の画素位置を、動きベクトルの予測のための基準画素位置として設定する。一方、基準画素設定部43は、ジオメトリ動き分割の場合のように、傾きを有する境界によりブロックが分割される場合には、分割により形成される非矩形領域に、境界の傾きに応じて適応的に基準画素位置を設定する。基準画素設定部43により設定される基準画素位置について、後に例を挙げてさらに説明する。
 動きベクトルバッファ44は、動きベクトル予測部45による動きベクトル予測処理において参照される参照動きベクトルを、記憶媒体を用いて一時的に記憶する。動きベクトル予測処理において参照される動きベクトルとは、符号化済みの参照画像内のブロック又は領域に設定された動きベクトル、及び符号化対象の画像内の他のブロック又は領域に設定された動きベクトルを含み得る。
 動きベクトル予測部45は、基準画素設定部43により設定される基準画素位置に対応するブロック又は領域に設定された動きベクトルに基づいて、分割部41により分割されるブロック内の各領域内の画素値の予測に使用すべき動きベクトルを予測する。ここで、上述したように、「基準画素位置に対応するブロック又は領域」とは、例えば、基準画素に隣接する画素が属するブロック又は領域を含み得る。また、「基準画素位置に対応するブロック又は領域」とは、例えば、参照画像内の基準画素と同じ位置の画素が属するブロック又は領域を含み得る。
 動きベクトル予測部45は、ある1つの領域について、複数の予測式の候補を用いて、複数の動きベクトルを予測してもよい。例えば、第1の予測式は動きの空間的相関を利用する予測式であり、第2の予測式は動きの時間的相関を利用する予測式であってよい。また、第3の予測式として、動きの空間的相関と時間的相関の双方を利用する予測式が使用されてもよい。動きの空間的相関を利用する場合、動きベクトル予測部45は、例えば、動きベクトルバッファ44に記憶されている、基準画素位置に隣接する他のブロック又は領域に設定された参照動きベクトルを参照する。また、動きの時間的相関を利用する場合、動きベクトル予測部45は、例えば、動きベクトルバッファ44に記憶されている、基準画素位置とコロケーテッドな参照画像内のブロック又は領域に設定された参照動きベクトルを参照する。動きベクトル予測部45が使用し得る予測式について、後に例を挙げてさらに説明する。
 動きベクトル予測部45は、ある境界に係る領域について1つの予測式を用いて予測動きベクトルを算出すると、動きベクトル算出部42により算出された動きベクトルと当該予測動きベクトルとの差分を表す差分動きベクトルを算出する。そして、動きベクトル予測部45は、上記境界を特定する分割情報及び上記予測式を特定する予測式情報と関連付けて、算出した差分動きベクトル及び参照画像情報を、選択部46へ出力する。
 選択部46は、動きベクトル予測部45から入力される分割情報、予測式情報及び差分動きベクトルを用いて、コスト関数値を最小にする最適な境界と最適な予測式との組合せを選択する。そして、選択部46は、選択した最適な境界を特定する分割情報、最適な予測式を特定する予測式情報、対応する差分動きベクトル情報、参照画像情報、及び対応するコスト関数値などを、動き補償部47へ出力する。
 動き補償部47は、選択部46により選択された最適な境界、最適な予測式、差分動きベクトル、及びフレームメモリ25から入力される参照画像データを用いて、予測画像データを生成する。そして、動き補償部47は、生成した予測画像データ、並びに、選択部46から入力された分割情報、予測式情報、差分動きベクトル情報及びコスト関数値などのインター予測に関する情報を、モード選択部50へ出力する。また、動き補償部47は、予測画像データの生成に用いた動きベクトル、即ち各領域に最終的に設定した動きベクトルを、動きベクトルバッファ44に記憶させる。
  [1-3.動きベクトル予測処理の説明]
 次に、上述した動きベクトル予測部43による動きベクトル予測処理についてより具体的に説明する。
   (1)矩形領域での動きベクトルの予測
    (1-1)基準画素位置
 図6は、矩形領域に設定され得る基準画素位置について説明するための説明図である。図6を参照すると、境界により分割されていない矩形ブロック(16×16画素)、及び、水平又は垂直な境界によりそれぞれ分割された矩形領域が示されている。基準画素設定部43は、これら矩形領域については、動きベクトルの予測のための基準画素位置を、各領域内の左上若しくは右上又はその双方に一律的に設定する。図6においては、これら基準画素位置が、斜線の網掛けにより示されている。なお、H.264/AVCでは、8×16画素の領域の基準画素位置は、ブロック内で左側の領域については左上、ブロック内で右側の領域については右上に設定される。
    (1-2)空間的予測
 図7は、矩形領域における空間的予測について説明するための説明図である。図7を参照すると、1つの矩形領域PTeに設定され得る2つの基準画素位置PX1及びPX2が示されている。動きの空間的相関を利用する予測式は、例えば、これら基準画素位置PX1及びPX2に隣接する他のブロック又は領域に設定された動きベクトルを入力とする。なお、本明細書において、「隣接する」という用語は、例えば、2つのブロック、領域又は画素が辺を共有する場合のみならず、頂点を共有する場合をも含むものとする。
 例えば、基準画素位置PX1の左の画素が属するブロックBLaに設定された動きベクトルをMVaとする。また、基準画素位置PX1の上の画素が属するブロックBLbに設定された動きベクトルをMVbとする。また、基準画素位置PX2の右上の画素が属するブロックBLcに設定された動きベクトルをMVcとする。これら動きベクトルMVa、MVb及びMVcは、既に符号化済みである。符号化対象のブロック内の矩形領域PTeについての予測動きベクトルPMVeは、次のような予測式を用いて、動きベクトルMVa、MVb及びMVcから算出され得る。
Figure JPOXMLDOC01-appb-M000001
 ここで、式(1)におけるmedはメディアンオペレーションを表す。即ち、式(1)によれば、予測動きベクトルPMVeは、動きベクトルMVa、MVb及びMVcの水平成分の中央値と垂直成分の中央値とを成分とするベクトルである。なお、上記式(1)は、空間的相関を利用する予測式の一例に過ぎない。例えば、符号化対象のブロックが画像の端部に位置するために、動きベクトルMVa、MVb又はMVcのいずれかが存在しない場合には、存在しない動きベクトルは、メディアンオペレーションの引数から省略されてもよい。また、例えば、符号化対象のブロックが画像の右端に位置する場合には、動きベクトルMVcの代わりに、図7に示したブロックBLdに設定された動きベクトルが使用されてもよい。
 なお、予測動きベクトルPMVeは、プレディクタ(predictor)とも呼ばれる。特に、式(1)のように、動きの空間的相関を利用する予測式によって算出される予測動きベクトルを、空間的プレディクタ(spatial predictor)という。一方、次項で説明する動きの時間的相関を利用する予測式によって算出される予測動きベクトルを、時間的プレディクタ(temporal predictor)という。
 動きベクトル予測部45は、このように予測動きベクトルPMVeを決定した後、次式のように、動きベクトル算出部42により算出された動きベクトルMVeと予測動きベクトルPMVeとの差分を表す差分動きベクトルMVDeを算出する。
Figure JPOXMLDOC01-appb-M000002
 動き探索部40からインター予測に関する情報の1つとして出力される差分動きベクトル情報は、この差分動きベクトルMVDeを表す。そして、差分動きベクトル情報は、可逆符号化部16により符号化され、画像を復号する装置へ伝送され得る。
    (1-3)時間的予測
 図8は、矩形領域における時間的予測について説明するための説明図である。図8を参照すると、符号化対象領域PTeを含む符号化対象画像IM01、及び参照画像IM02が示されている。参照画像IM02内のブロックBLcolは、参照画像IM02内で基準画素位置PX1又はPX2と共通する位置の画素を含む、いわゆるコロケーテッドブロックである。動きの時間的相関を利用する予測式は、例えば、このコロケーテッドブロックBLcol又はコロケーテッドブロックBLcolに隣接するブロック(又は領域)に設定された動きベクトルを入力とする。
 例えば、コロケーテッドブロックBLcolに設定された動きベクトルをMVcolとする。また、コロケーテッドブロックBLcolの上、左、下、右、左上、左下、右下及び右上のブロックに設定された動きベクトルを、それぞれMVt0~MVt7とする。これら動きベクトルMVcol及びMVt0~MVt7は、既に符号化済みである。この場合、予測動きベクトルPMVeは、例えば、次の予測式(3)又は(4)を用いて、動きベクトルMVcol及びMVt0~MVt7から算出され得る。
Figure JPOXMLDOC01-appb-M000003
 また、動きの空間的相関及び時間的相関の双方を利用する次のような予測式が用いられてもよい。なお、動きベクトルMVa、MVb及びMVcは、基準画素位置PX1又はPX2に隣接するブロックに設定された動きベクトルである。
Figure JPOXMLDOC01-appb-M000004
 この場合にも、動きベクトル予測部45は、予測動きベクトルPMVeを決定した後、動きベクトル算出部42により算出された動きベクトルMVeと予測動きベクトルPMVeとの差分を表す差分動きベクトルMVDeを算出する。そして、境界と予測式との最適な組合せに係る差分動きベクトルMVDeを表す差分動きベクトル情報が、動き探索部40から出力され、可逆符号化部16により符号化され得る。
 なお、図8の例では1つの符号化対象画像IM01について1つの参照画像IM02のみを示しているが、1つの符号化対象画像IM01内で領域ごとに異なる参照画像が使用されてもよい。図9の例では、符号化対象画像IM01内の領域PTe1の動きベクトルの予測の際に参照される参照画像はIM021であり、領域PTe2の動きベクトルの予測の際に参照される参照画像はIM022である。このような参照画像の設定手法を、マルチ参照フレーム(Multi-Reference Frame)という。
   (2)ダイレクトモード
 なお、動きベクトル情報の情報量の増加に伴う圧縮率の低下を回避するために、H.264/AVCは、主にBピクチャを対象として、いわゆるダイレクトモードを導入している。ダイレクトモードにおいては、動きベクトル情報は符号化されず、符号化済みのブロックの動きベクトル情報から符号化対象のブロックの動きベクトル情報が生成される。ダイレクトモードは、空間ダイレクトモード(Spatial Direct Mode)、及び時間ダイレクトモード(Temporal Direct Mode)を含み、例えばスライスごとにこれら2つのモードが切り替えられ得る。本実施形態においても、このようなダイレクトモードが利用されてよい。
 例えば、空間ダイレクトモードにおいては、符号化対象の領域についての動きベクトルMVeは、上述した予測式(1)を用いて、次式のように決定され得る。
Figure JPOXMLDOC01-appb-M000005
 図10は、時間ダイレクトモードについて説明するための説明図である。図10において、符号化対象画像IM01のL0参照ピクチャである参照画像IML0、及び符号化対象画像IM01のL1参照ピクチャである参照画像IML1が示されている。参照画像IML0内のブロックBLcolは、符号化対象画像IM01内の符号化対象領域PTeのコロケーテッドブロックである。ここで、コロケーテッドブロックBLcolに設定された動きベクトルをMVcolとする。また、符号化対象画像IM01と参照画像IML0との間の時間軸上の距離をTD、参照画像IML0と参照画像IML1との間の時間軸上の距離をTDとする。すると、時間ダイレクトモードにおいては、符号化対象領域PTeについての動きベクトルMVL0及びMVL1は、次式のように決定され得る。
Figure JPOXMLDOC01-appb-M000006
 なお、時間軸上の距離を表す指標として、POC(Picture Order Count)が使用されてもよい。このようなダイレクトモードの利用の有無は、例えば、ブロック単位で指定され得る。
   (3)非矩形領域での動きベクトルの予測
 上述したように、矩形領域については、例えば左上又は右上の画素というように、基準画素位置を一律的に定義付けることができる。これに対し、ジオメトリ動き分割の場合のように、傾きを有する境界によりブロックが分割される場合には、分割により形成される非矩形領域の形状が様々であることから、基準画素位置を適応的に設定することが望ましい。
    (3-1)基準画素位置
 図11~図13は、非矩形領域に設定され得る基準画素位置について説明するための説明図である。図11に示した5つのブロックBL11~BL15は、図5に示した10個のブロックのうち、境界が左上のコーナーに位置する画素Pa及び右下のコーナーに位置する画素Pbの一方又は双方に重なっているブロックである。境界が直線であれば、この場合、分割により形成される2つの領域の一方は右上のコーナーに位置する画素Pcを含み、他方は左下のコーナーに位置する画素Pdを含む。そこで、図11に例示したケースにおいては、基準画素設定部43は、各領域の基準画素位置を、画素Pc及び画素Pdの位置にそれぞれ設定する。図11の例では、ブロックBL11の領域PT11aの基準画素位置は画素Pcの位置に設定されている。ブロックBL11の領域PT11bの基準画素位置は画素Pdの位置に設定されている。同様に、ブロックBL12の領域PT12aの基準画素位置は画素Pcの位置に設定されている。ブロックBL12の領域PT12bの基準画素位置は画素Pdの位置に設定されている。なお、ブロックの形状の対象性から、基準画素設定部43は、例えば、境界が右上のコーナー及び左下のコーナーの少なくとも一方に重なる場合に、各領域の基準画素位置を、左上のコーナー及び右下のコーナーにそれぞれ設定してもよい。
 図12に示した5つのブロックBL21~BL25は、図5に示した10個のブロックのうち、境界が左上のコーナー及び右下のコーナーのいずれにも重なっていないブロックである。この場合、基準画素設定部43は、例えば、左上のコーナーが属する第1の領域の基準画素位置を、左上のコーナー上に設定する。図12の例では、ブロックBL21の領域PT21aの基準画素位置は画素Paの位置に設定されている。同様に、ブロックBL22の領域PT22a、ブロックBL23の領域PT23a、ブロックBL24の領域PT24a、及びブロックBL25の領域PT25aの基準画素位置もまた、それぞれ画素Paの位置に設定されている。
 また、基準画素設定部43は、境界が左上のコーナー及び右下のコーナーのいずれにも重なっておらず、左上のコーナーが属する第1の領域ではない第2の領域に右下のコーナーが属する場合には、第2の領域の基準画素位置を、右下のコーナー上に設定する。図13を参照すると、ブロックBL21の領域PT21bの基準画素位置は画素Pbの位置に設定されている。同様に、ブロックBL22の領域PT22b、及びブロックBL23の領域PT23bの基準画素位置もまた、それぞれ画素Pbの位置に設定されている。
 さらに、基準画素設定部43は、第2の領域に右下のコーナーが属さず、第2の領域に右上のコーナーが属する場合には、第2の領域の基準画素位置を、右上のコーナー上に設定する。図13を参照すると、ブロックBL24の領域PT24bの基準画素位置は、画素Pcの位置に設定されている。そして、ここまでのいずれのケースに該当しない場合には、基準画素設定部43は、第2の領域の基準画素位置を、左下のコーナー上に設定する。図13を参照すると、ブロックBL25の領域PT25bの基準画素位置は、画素Pdの位置に設定されている。
    (3-2)空間的予測
 図14は、図11~図13に例示したような非矩形領域における、空間的予測について説明するための説明図である。図14を参照すると、符号化対象ブロックBLe内の各領域の基準画素位置として設定され得る4つの画素位置Pa~Pdが示されている。また、画素位置Paに、ブロックNBa及びNBbが隣接している。画素位置Pcには、ブロックNBc及びNBeが隣接している。画素位置Pdには、ブロックNBfが隣接している。非矩形領域についての動きの空間的相関を利用する予測式は、例えば、基準画素位置Pa~Pdに隣接するこれら隣接ブロック(又は領域)NBa~NBfに設定された動きベクトルを入力とする予測式であってよい。
 式(9)及び式(10)は、それぞれ、基準画素位置が左上のコーナー(画素位置Pa)である領域についての予測動きベクトルPMVeを予測するための予測式の一例である。なお、動きベクトルMVni(i=a,b,…,f)は、隣接ブロックNBiに設定された動きベクトルを表す。
Figure JPOXMLDOC01-appb-M000007
 式(9)及び式(10)は、最も単純な予測式の一例である。しかし、予測式として、他の式が使用されてもよい。例えば、領域が左上及び右上のコーナーを共に含む場合には、図7を用いて説明した矩形領域についての空間的予測と同様に、隣接ブロックNBa、NBb及びNBcに設定された動きベクトルに基づく予測式が使用されてもよい。この場合の予測式は、式(1)と同様である。
 なお、基準画素位置が右下のコーナー(画素位置Pb)である領域については、隣接ブロックが符号化済みでないため、隣接ブロック(又は領域)に設定された動きベクトルを使用することができない。この場合には、動きベクトル予測部45は、空間的相関に基づく予測動きベクトルをゼロベクトルとしてもよい。
    (3-3)時間的予測
 図15は、非矩形領域における時間的予測について説明するための説明図である。図15を参照すると、符号化対象ブロックBLe内の各領域の基準画素位置として設定され得る4つの画素位置Pa~Pdが示されている。基準画素位置が画素位置Paである場合、参照画像内のコロケーテッドブロックはブロックBLcol_aとなる。基準画素位置が画素位置Pbである場合、参照画像内のコロケーテッドブロックはブロックBLcol_bとなる。基準画素位置が画素位置Pcである場合、参照画像内のコロケーテッドブロックはブロックBLcol_cとなる。基準画素位置が画素位置Pdである場合、参照画像内のコロケーテッドブロックはブロックBLcol_dとなる。動きベクトル予測部45は、基準画素設定部43により設定される基準画素位置に応じて、このようにコロケーテッドブロック(又はコロケーテッド領域)BLcolを認識する。また、動きベクトル予測部45は、例えば、図8を用いて説明したように、コロケーテッドブロック(又はコロケーテッド領域)BLcolに隣接するブロック又は領域をさらに認識する。そして、動きベクトル予測部45は、基準画素位置に対応するこれら参照画像内のブロック又は領域に設定された動きベクトルMVcol及びMVt0~MVt7(図8参照)を用いて、動きの時間的相関を利用する予測式に従って、予測動きベクトルを算出することができる。この場合の予測式は、例えば、式(3)及び式(4)と同様であってよい。
    (3-4)時空間的予測
 また、動きベクトル予測部45は、非矩形領域についても、動きの空間的相関及び時間的相関の双方を利用する予測式を用いてよい。その場合には、動きベクトル予測部45は、図14を用いて説明した隣接ブロック(又は隣接領域)に設定された動きベクトルと、図15を用いて説明した参照画像内のコロケーテッドブロック(又はコロケーテッド領域)に設定された動きベクトルとに基づく予測式を使用することができる。この場合の予測式は、例えば、式(5)と同様であってよい。
   (4)予測式の選択
 上述したように、動きベクトル予測部45は、動きベクトルの予測(予測動きベクトルの算出)に際して、空間的相関を利用する予測式、時間的相関を利用する予測式、及び時空間的相関を利用する予測式を、予測式の候補として使用し得る。また、動きベクトル予測部45は、例えば、時間的相関を利用する予測式として複数の予測式の候補を使用してもよい。動きベクトル予測部45は、このように、分割部41により設定される複数の境界の候補の各々について、さらに複数の予測式の候補ごとに、各領域についての予測動きベクトルを算出する。そして、選択部46は、境界の候補と予測式の候補との各組合せをコスト関数値により評価し、圧縮率が最も高くなる(最良の符号化効率を達成する)最適な組合せを選択する。その結果、例えば、画像内に設定されるブロックごとに、ブロックを分割する境界が変化すると共に、当該ブロックに適用される予測式もまた適応的に切り替えられ得る。
 <2.一実施形態に係る符号化時の処理の流れ>
 次に、図16及び図17を用いて、符号化時の処理の流れを説明する。
  [2-1.動き探索処理]
 図16は、本実施形態に係る動き探索部40による動き探索処理の流れの一例を示すフローチャートである。
 図16を参照すると、まず、分割部41は、傾きを有する境界を含む複数の境界の候補により、画像内に設定されるブロックを複数の領域に分割する(ステップS100)。例えば、第1の境界の候補は、H.264/AVCにおける水平方向又は垂直方向に沿った境界であり、第1の境界の候補によって、各ブロックは複数の矩形領域に分割され得る。また、例えば、第2の境界の候補は、ジオメトリ動き分割による傾きを有する境界(斜めの境界)であり、第2の境界の候補によって、各ブロックは複数の非矩形領域に分割され得る。
 次に、動きベクトル算出部42は、参照画像の画素値と各領域内の原画像の画素値とに基づいて、各領域についての動きベクトルを算出する(ステップS110)。
 次に、基準画素設定部44は、ブロックを分割した境界の傾きに応じて、各領域に基準画素位置を設定する(ステップS120)。なお、基準画素設定部44による基準画素位置設定処理の流れについては、後により詳細に説明する。
 次に、動きベクトル予測部45は、分割部41により分割されたブロック内の各領域内の画素値の予測に使用すべき動きベクトルを、領域ごとに複数の予測式の候補を用いて予測する(ステップS140)。例えば、第1の予測式の候補は、上述した空間的相関を利用する予測式である。第2の予測式の候補は、上述した時間的相関を利用する予測式である。第3の予測式の候補は、上述した空間的相関及び時間的相関の双方を利用する予測式である。ここで、例えば、時間的相関を利用する予測式を使用するためには、符号化対象の領域と同じ位置の(即ち、コロケーテッドな)参照画像内のブロック又は領域を特定できることが重要である。本実施形態では、動きベクトル予測部45は、コロケーテッドなブロック又は領域を、境界の傾きに応じて変化する基準画素位置に基づいて特定し得る。そのため、例えば、分割により様々な形状の領域が形成され得るジオメトリ動き分割のような分割方式が使用される場合にも、動きの時間的相関を利用する動きベクトルの予測が可能である。
 次に、動きベクトル予測部45は、候補としての境界と予測式との組合せごとに、動きベクトル算出部42により算出された動きベクトルと予測動きベクトルとの差分を表す差分動きベクトルを算出する(ステップS150)。
 次に、選択部46は、動きベクトル予測部45による予測結果に基づいて、境界と予測式との各組合せについてのコスト関数値を評価し、最良の符号化効率を達成する境界と予測式との組合せを選択する(ステップS160)。選択部46に用いられるコスト関数は、例えば、原画像及び復号後の画像の間の差分エネルギーと発生する符号量とに基づく関数であってよい。
 次に、動き補償部47は、選択部46により選択された最適な境界及び最適な予測式を用いて、符号化対象ブロック内の画素に関する予測画素値を算出し、予測画素データを生成する(ステップS170)。
 そして、動き補償部47は、インター予測に関する情報と予測画素データとをモード選択部50へ出力する(ステップS180)。インター予測に関する情報には、例えば、最適な境界を特定する分割情報、最適な予測式を特定する予測式情報、対応する差分動きベクトル情報、参照画像情報、及び対応するコスト関数値などが含まれ得る。なお、最終的に各ブロック内の各領域に設定された動きベクトルは、参照動きベクトルとして動きベクトルバッファ44により記憶される。
  [2-2.基準画素位置設定処理]
 図17は、図16のステップS120の処理に相当する、本実施形態に係る基準画素位置設定処理の流れの一例を示すフローチャートである。
 図17を参照すると、まず、基準画素設定部43は、ブロックを分割する候補としての境界が傾きを有するか否かを判定する(ステップS121)。例えば、境界が水平又は垂直である場合には、基準画素設定部43は、境界が傾きを有しないと判定する。その場合には、処理はステップS122へ進む。また、境界が水平又は垂直でない場合には、基準画素設定部43は、境界が傾きを有すると判定する。その場合には、処理はステップS123へ進む。
 ステップS122では、基準画素設定部43は、既存のH.264/AVCなどの画像符号化方式の例のように、図6に例示したように、各領域の左上又は右上のコーナーを基準画素位置として設定する(ステップS122)。
 ステップS123に処理が進んだ場合、各領域は、非矩形領域である。この場合、基準画素設定部43は、ブロックを分割する候補としての境界が、ブロックの互いに対角に位置する第1のコーナー及び第2のコーナーの少なくとも一方に重なるか否かを判定する(ステップS123)。第1のコーナー及び第2のコーナーの位置は、例えば、図11に例示した画素位置Pa及びPbにそれぞれ相当し得る。その代わりに、第1のコーナー及び第2のコーナーの位置は、例えば、図11に例示した画素位置Pc及びPdであってもよい。なお、本明細書において、「コーナーに重なる」という表現は、境界がブロックの頂点を通る場合のみならず、ブロックのコーナーに位置する画素上を境界が通過する場合も含むものとする。
 ステップS123において、境界が第1及び第2のコーナーの少なくとも一方に重なると判定される場合には、基準画素設定部43は、図11に例示したように、2つの領域の基準画素位置を、第1のコーナー及び第2のコーナーとは異なる第3のコーナー及び第4のコーナー上にそれぞれ設定する(ステップS124)。
 ステップS123において、境界が第1及び第2のコーナーのいずれにも重ならないと判定される場合には、基準画素設定部43は、図12に例示したように、第1のコーナーが属する第1の領域の基準画素位置を、第1のコーナー上に設定する(ステップS125)。
 次に、基準画素設定部43は、第1のコーナーが属しない第2の領域に第2のコーナーが属するか否かを判定する(ステップS126)。
 ステップS126において、第1のコーナーが属しない第2の領域に第2のコーナーが属すると判定される場合には、基準画素設定部43は、図13のブロックBL21~BL23の例のように、第2の領域の基準画素位置を第2のコーナー上に設定する(ステップS127)。
 ステップS126において、第1のコーナーが属しない第2の領域に第2のコーナーが属しないと判定される場合には、基準画素設定部43は、当該第2の領域に第3のコーナーが属するか否かをさらに判定する(ステップS128)。
 ステップS128において、第2の領域に第3のコーナーが属すると判定される場合には、基準画素設定部43は、第2の領域の基準画素位置を第3のコーナー上に設定する(ステップS129)。
 ステップS128において、第2の領域に第3のコーナーが属しないと判定される場合には、基準画素設定部43は、第2の領域の基準画素位置を第4のコーナー上に設定する(ステップS130)。
 このような基準画素位置設定処理により、ジオメトリ動き分割などのように、動き補償の処理単位である領域が矩形以外の様々な形状をとり得る場合であっても、各領域に適応的に基準画素位置を設定することができる。
 <3.一実施形態に係る画像復号装置の構成例>
 本節では、図18及び図19を用いて、一実施形態に係る画像復号装置の構成例について説明する。
  [3-1.全体的な構成例]
 図18は、一実施形態に係る画像復号装置60の構成の一例を示すブロック図である。図18を参照すると、画像復号装置60は、蓄積バッファ61、可逆復号部62、逆量子化部63、逆直交変換部64、加算部65、デブロックフィルタ66、並べ替えバッファ67、D/A(Digital to Analogue)変換部68、フレームメモリ69、セレクタ70及び71、イントラ予測部80、並びに動き補償部90を備える。
 蓄積バッファ61は、伝送路を介して入力される符号化ストリームを記憶媒体を用いて一時的に蓄積する。
 可逆復号部62は、蓄積バッファ61から入力される符号化ストリームを、符号化の際に使用された符号化方式に従って復号する。また、可逆復号部62は、符号化ストリームのヘッダ領域に多重化されている情報を復号する。符号化ストリームのヘッダ領域に多重化されている情報とは、例えば、ブロックヘッダ内のイントラ予測に関する情報及びインター予測に関する情報を含み得る。可逆復号部62は、イントラ予測に関する情報をイントラ予測部80へ出力する。また、可逆復号部62は、インター予測に関する情報を動き補償部90へ出力する。
 逆量子化部63は、可逆復号部62による復号後の量子化データを逆量子化する。逆直交変換部64は、符号化の際に使用された直交変換方式に従い、逆量子化部63から入力される変換係数データについて逆直交変換を行うことにより、予測誤差データを生成する。そして、逆直交変換部64は、生成した予測誤差データを加算部65へ出力する。
 加算部65は、逆直交変換部64から入力される予測誤差データと、セレクタ71から入力される予測画像データとを加算することにより、復号画像データを生成する。そして、加算部65は、生成した復号画像データをデブロックフィルタ66及びフレームメモリ69へ出力する。
 デブロックフィルタ66は、加算部65から入力される復号画像データをフィルタリングすることによりブロック歪みを除去し、フィルタリング後の復号画像データを並べ替えバッファ67及びフレームメモリ69へ出力する。
 並べ替えバッファ67は、デブロックフィルタ66から入力される画像を並べ替えることにより、時系列の一連の画像データを生成する。そして、並べ替えバッファ67は、生成した画像データをD/A変換部68へ出力する。
 D/A変換部68は、並べ替えバッファ67から入力されるデジタル形式の画像データをアナログ形式の画像信号に変換する。そして、D/A変換部68は、例えば、画像復号装置60と接続されるディスプレイ(図示せず)にアナログ画像信号を出力することにより、画像を表示させる。
 フレームメモリ69は、加算部65から入力されるフィルタリング前の復号画像データ、及びデブロックフィルタ66から入力されるフィルタリング後の復号画像データを記憶媒体を用いて記憶する。
 セレクタ70は、可逆復号部62により取得されるモード情報に応じて、画像内のブロックごとに、フレームメモリ69からの画像データの出力先をイントラ予測部80と動き補償部90との間で切り替える。例えば、セレクタ70は、イントラ予測モードが指定された場合には、フレームメモリ69から供給されるフィルタリング前の復号画像データを参照画像データとしてイントラ予測部80へ出力する。また、セレクタ70は、インター予測モードが指定された場合には、フレームメモリ69から供給されるフィルタリング後の復号画像データを参照画像データとして動き補償部90へ出力する。
 セレクタ71は、可逆復号部62により取得されるモード情報に応じて、画像内のブロックごとに、加算部65へ供給すべき予測画像データの出力元をイントラ予測部80と動き補償部90との間で切り替える。例えば、セレクタ71は、イントラ予測モードが指定された場合には、イントラ予測部80から出力される予測画像データを加算部65へ供給する。セレクタ71は、インター予測モードが指定された場合には、動き補償部90から出力される予測画像データを加算部65へ供給する。
 イントラ予測部80は、可逆復号部62から入力されるイントラ予測に関する情報とフレームメモリ69からの参照画像データとに基づいて画素値の画面内予測を行い、予測画像データを生成する。そして、イントラ予測部80は、生成した予測画像データをセレクタ71へ出力する。
 動き補償部90は、可逆復号部62から入力されるインター予測に関する情報とフレームメモリ69からの参照画像データとに基づいて動き補償処理を行い、予測画像データを生成する。そして、動き補償部90は、生成した予測画像データをセレクタ71へ出力する。
  [3-2.動き補償部の構成例]
 図19は、図18に示した画像復号装置60の動き補償部90の詳細な構成の一例を示すブロック図である。図19を参照すると、動き補償部90は、境界認識部91、基準画素設定部92、差分復号部93、動きベクトル設定部94、動きベクトルバッファ95及び予測部96を有する。
 境界認識部91は、画像の符号化の際に画像内のブロックを分割した境界の傾きを認識する。かかる境界は、傾きを有する境界を含む複数の候補から選択される境界である。より具体的には、境界認識部91は、まず、可逆復号部62から入力されるインター予測に関する情報に含まれる分割情報を取得する。分割情報は、例えば、画像符号化装置10において圧縮率の観点から最適であると判定された境界を特定する情報である。分割情報は、上述したように、例えば、矩形分割又はジオメトリ動き分割のいずれかを指定する分割モード情報、並びに境界の位置と傾きとを指定する境界パラメータ(例えば、上述した距離ρ及び傾き角θ)を含み得る。そして、境界認識部91は、取得した分割情報を参照し、各ブロックを分割した境界の傾きを認識する。
 基準画素設定部92は、境界認識部91により認識される境界の傾きに応じて、ブロック内の各領域に基準画素位置を設定する。基準画素設定部92による基準画素位置設定処理は、図17に例示した画像符号化装置10の基準画素設定部43による処理と同様であってよい。そして、基準画素設定部92は、設定した基準画素位置を動きベクトル設定部94に通知する。
 差分復号部93は、可逆復号部62から入力されるインター予測に関する情報に含まれる差分動きベクトル情報に基づいて、各領域について符号化の際に算出された差分動きベクトルを復号する。そして、差分復号部93は、差分動きベクトルを、動きベクトル設定部94へ出力する。
 動きベクトル設定部94は、基準画素設定部92により設定される基準画素位置に対応するブロック又は領域に設定された動きベクトルに基づいて、分割されたブロック内の各領域内の画素値の予測に使用すべき動きベクトルを設定する。より具体的には、動きベクトル設定部94は、まず、可逆復号部62から入力されるインター予測に関する情報に含まれる予測式情報を取得する。予測式情報は、各領域と関連付けて取得され得る。予測式情報は、例えば、空間的相関を利用した予測式、時間的相関を利用した予測式、並びに空間的相関及び時間的相関の双方を利用した予測式のうち、符号化の際に選択された予測式を特定する。次に、動きベクトル設定部94は、基準画素設定部92により設定された基準画素位置に対応する、符号化対象の画像内又は参照画像内の符号化済みのブロック若しくは領域に設定された動きベクトルを、参照動きベクトルとして取得する。そして、動きベクトル設定部94は、予測式情報が特定する予測式に参照動きベクトルを代入し、予測動きベクトルを算出する。さらに、動きベクトル設定部94は、算出した予測動きベクトルに、差分復号部93から入力される差分動きベクトルを加算して動きベクトルを算出する。動きベクトル設定部94は、このように算出される動きベクトルを、各領域に設定する。また、動きベクトル設定部94は、各領域に設定した動きベクトルを、動きベクトルバッファ95へ出力する。
 動きベクトルバッファ95は、動きベクトル設定部94による動きベクトル設定処理において参照される動きベクトルを、記憶媒体を用いて一時的に記憶する。動きベクトルバッファ95において参照される動きベクトルとは、復号済みの参照画像内のブロック又は領域に設定された動きベクトル、及び符号化対象の画像内の他のブロック又は領域に設定された動きベクトルを含み得る。
 予測部96は、境界認識部91により認識される境界により分割されたブロック内の領域ごとに、動きベクトル設定部94により設定される動きベクトル及び参照画像情報、並びにフレームメモリ69から入力される参照画像データを用いて、予測画素値を生成する。そして、予測部93は、生成した予測画素値を含む予測画像データをセレクタ71へ出力する。
 <4.一実施形態に係る復号時の処理の流れ>
 次に、図20を用いて、復号時の処理の流れを説明する。図20は、本実施形態に係る画像復号装置60の動き補償部90による動き補償処理の流れの一例を示すフローチャートである。
 図20を参照すると、まず、画像符号化装置60の境界認識部91は、画像の符号化の際に画像内のブロックを分割した境界の傾きを、可逆復号部62から入力されるインター予測に関する情報に含まれる分割情報から認識する(ステップS200)。
 次に、基準画素設定部92は、境界認識部91により認識された境界の傾きに応じて、各領域に基準画素位置を設定する(ステップS210)。なお、基準画素設定部92による基準画素位置設定処理の流れは、図17に例示した画像符号化装置10の基準画素設定部43による処理と同様であってよい。
 次に、差分復号部93は、可逆復号部62から入力されるインター予測に関する情報に含まれる差分動きベクトル情報に基づいて、差分動きベクトルを取得する(ステップS220)。そして、差分復号部93は、取得した差分動きベクトルを、動きベクトル設定部94へ出力する。
 次に、動きベクトル設定部94は、基準画素設定部92により設定された基準画素位置に対応するブロック又は領域に設定された動きベクトルである参照動きベクトルを、動きベクトルバッファ95から取得する(ステップS230)。
 次に、動きベクトル設定部94は、可逆復号部62から入力されるインター予測に関する情報に含まれる予測式情報から、予測動きベクトルの算出のために使用すべき予測式を認識する(ステップS240)。
 次に、動きベクトル設定部94は、予測式情報から認識した予測式に参照動きベクトルを代入することにより、各領域についての予測動きベクトルを算出する(ステップS250)。
 次に、動きベクトル設定部94は、算出した予測動きベクトルに差分復号部93から入力された差分動きベクトルを加算することにより、各領域についての動きベクトルを算出する(ステップS260)。動きベクトル設定部94は、このように領域ごとに動きベクトルを算出し、算出した動きベクトルを各領域に設定する。
 次に、予測部94は、動きベクトル設定部94により設定された動きベクトル及び参照画像情報、並びにフレームメモリ69から入力される参照画像データを用いて、予測画素値を生成する(ステップ270)。
 次に、予測部94は、生成した予測画素値を含む予測画像データをセレクタ71へ出力する(ステップS280)。
 <5.応用例>
 上述した実施形態に係る画像符号化装置10及び画像復号装置60は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、4つの応用例について説明する。
  [5-1.第1の応用例]
 図21は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置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から供給される駆動信号により駆動され、表示デバイス(例えば、液晶ディスプレイ、プラズマディスプレイ又はOLEDなど)の映像面上に映像又は画像を表示する。
 音声信号処理部907は、デコーダ904から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ908から音声を出力させる。また、音声信号処理部907は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
 外部インタフェース909は、テレビジョン装置900と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース909を介して受信される映像ストリーム又は音声ストリームが、デコーダ904により復号されてもよい。即ち、外部インタフェース909もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送手段としての役割を有する。
 制御部910は、CPU(Central Processing Unit)などのプロセッサ、並びにRAM(Random Access Memory)及びROM(Read Only Memory)などのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置900の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース911から入力される操作信号に応じて、テレビジョン装置900の動作を制御する。
 ユーザインタフェース911は、制御部910と接続される。ユーザインタフェース911は、例えば、ユーザがテレビジョン装置900を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース911は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部910へ出力する。
 バス912は、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、音声信号処理部907、外部インタフェース909及び制御部910を相互に接続する。
 このように構成されたテレビジョン装置900において、デコーダ904は、上述した実施形態に係る画像復号装置60の機能を有する。それにより、テレビジョン装置900において、矩形以外の様々な形状をとり得る分割方式でブロックが分割される場合にも、適応的に基準画素位置を設定して動きベクトルを予測することにより、圧縮率を高めると共に、復号後の画質を向上させることができる。
  [5-2.第2の応用例]
 図22は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機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メモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
 また、撮影モードにおいて、例えば、カメラ部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は、上述した実施形態に係る画像符号化装置10及び画像復号装置60の機能を有する。それにより、携帯電話機920において、矩形以外の様々な形状をとり得る分割方式でブロックが分割される場合にも、適応的に基準画素位置を設定して動きベクトルを予測することにより、圧縮率を高めると共に、復号後の画質を向上させることができる。
  [5-3.第3の応用例]
 図23は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置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は、上述した実施形態に係る画像符号化装置10の機能を有する。また、デコーダ947は、上述した実施形態に係る画像復号装置60の機能を有する。それにより、記録再生装置940において、矩形以外の様々な形状をとり得る分割方式でブロックが分割される場合にも、適応的に基準画素位置を設定して動きベクトルを予測することにより、圧縮率を高めると共に、復号後の画質を向上させることができる。
  [5-4.第4の応用例]
 図24は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置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又はCMOSなどのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部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は、上述した実施形態に係る画像符号化装置10及び画像復号装置60の機能を有する。それにより、撮像装置960において、矩形以外の様々な形状をとり得る分割方式でブロックが分割される場合にも、適応的に基準画素位置を設定して動きベクトルを予測することにより、圧縮率を高めると共に、復号後の画質を向上させることができる。
 <6.まとめ>
 ここまで、図1~図26を用いて、一実施形態に係る画像符号化装置10及び画像復号装置60について説明した。本実施形態によれば、傾きを有する境界を含む複数の候補から選択される境界によりブロックが分割され得る画像符号化方式において、画像の符号化の際には、上記境界の傾きに応じて各領域の基準画素位置が適応的に設定され、その基準画素位置に対応するブロック又は領域に設定された動きベクトルに基づいて、各領域内の画素値の予測に使用すべき動きベクトルが予測される。それにより、動き補償の処理単位が矩形領域以外の様々な形状をとり得る場合にも、動きの空間的相関若しくは時間的相関又はその双方を利用して、動きベクトルを効果的に予測することができる。その結果、画像の圧縮率を高めることが可能であり、復号後の画質も向上され得る。
 また、本実施形態によれば、境界がブロックの互いに対角に位置する第1のコーナー及び第2のコーナーの少なくとも一方に重なるか否かによって、設定される基準画素位置が変化する。一般的に、画像内に設定されるブロックの形状は矩形であるため、ブロックの分割により形成される各領域の基準画素位置を、このような基準によって適応的に設定することが可能である。
 また、本実施形態によれば、適応的に設定された基準画素位置に対応する参照画像内のコロケーテッドなブロック又は領域を決定することができる。それにより、例えばジオメトリ動き分割のような分割方式においても、動きベクトルを予測する際に、空間的相関を利用する予測式のみならず、時間的相関を利用する予測式、又は空間的相関及び時間的相関の双方を利用する予測式を用いることが可能となる。また、これら予測式の間で最適な予測式をブロックごとに切り替えて使用することも可能となる。それにより、画像の圧縮率及び/又は画質のさらなる向上が期待され得る。
 なお、本明細書では、イントラ予測に関する情報及びインター予測に関する情報が、符号化ストリームのヘッダに多重化されて、符号化側から復号側へ伝送される例について主に説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライス若しくはブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像(又はビットストリーム)とは別の伝送路上で伝送されてもよい。また、情報は、画像(又はビットストリーム)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、情報と画像(又はビットストリーム)とは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
 以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
 10   画像符号化装置(画像処理装置)
 41   分割部
 43   基準画素設定部
 45   動きベクトル予測部
 46   選択部
 60   画像復号装置(画像処理装置)
 91   境界認識部
 92   基準画素設定部
 94   動きベクトル設定部

Claims (18)

  1.  画像内に設定されるブロックを、傾きを有する境界を含む複数の候補から選択される境界により、複数の領域に分割する分割部と、
     前記境界の傾きに応じて変化する基準画素位置に対応するブロック又は領域に設定された動きベクトルに基づいて、前記分割部により分割されるブロック内の各領域内の画素値の予測に使用すべき動きベクトルを予測する動きベクトル予測部と、
     を備える画像処理装置。
  2.  前記境界の傾きに応じて、前記基準画素位置を各領域に設定する基準画素設定部、をさらに備える、請求項1に記載の画像処理装置。
  3.  前記基準画素設定部は、前記境界がブロックの互いに対角に位置する第1のコーナー又は第2のコーナーに重なる場合には、当該ブロックの各領域の前記基準画素位置を、前記第1のコーナー及び前記第2のコーナーとは異なる第3のコーナー又は第4のコーナー上に設定する、請求項2に記載の画像処理装置。
  4.  前記第1のコーナーは、ブロックの左上のコーナーであり、
     前記基準画素設定部は、前記境界が前記第1のコーナー及び前記第2のコーナーに重ならない場合には、前記第1のコーナーが属する第1の領域の前記基準画素位置を、前記第1のコーナー上に設定する、
     請求項3に記載の画像処理装置。
  5.  前記基準画素設定部は、前記境界が前記第1のコーナー及び前記第2のコーナーに重ならず、前記第1のコーナーが属しない第2の領域に前記第2のコーナーが属する場合には、前記第2の領域の前記基準画素位置を、前記第2のコーナー上に設定する、請求項4に記載の画像処理装置。
  6.  前記動きベクトル予測部は、前記基準画素位置に対応する参照画像内のブロック又は領域に設定された動きベクトルに基づく予測式を用いて、動きベクトルを予測する、請求項1に記載の画像処理装置。
  7.  前記動きベクトル予測部は、前記基準画素位置に対応する参照画像内のブロック又は領域に設定された動きベクトルと、前記基準画素位置に隣接する他のブロック又は領域に設定された動きベクトルとに基づく予測式を用いて、動きベクトルを予測する、請求項1に記載の画像処理装置。
  8.  前記動きベクトル予測部は、前記基準画素位置に対応する参照画像内のブロック又は領域に設定された動きベクトルに基づく第1の予測式を用いて動きベクトルを予測し、前記基準画素位置に隣接する他のブロック又は領域に設定された動きベクトルに基づく第2の予測式を用いて動きベクトルを予測し、
     前記動きベクトル予測部による予測結果に基づいて、前記第1の予測式及び前記第2の予測式を含む複数の予測式の候補から最良の符号化効率を達成する予測式を選択する選択部、
     をさらに備える、
     請求項1に記載の画像処理装置。
  9.  画像を処理するための画像処理方法において、
     画像内に設定されるブロックを、傾きを有する境界を含む複数の候補から選択される境界により、複数の領域に分割することと、
     前記境界の傾きに応じて変化する基準画素位置に対応するブロック又は領域に設定された動きベクトルに基づいて、分割されたブロック内の各領域内の画素値の予測に使用すべき動きベクトルを予測することと、
     を含む画像処理方法。
  10.  傾きを有する境界を含む複数の候補から選択される境界であって、画像の符号化の際に前記画像内のブロックを分割した前記境界の傾きを認識する境界認識部と、
     前記境界の傾きに応じて変化する基準画素位置に対応するブロック又は領域に設定された動きベクトルに基づいて、前記境界により分割されたブロック内の各領域内の画素値の予測に使用すべき動きベクトルを設定する動きベクトル設定部と、
     を備える画像処理装置。
  11.  前記境界認識部により認識される前記境界の傾きに応じて、前記基準画素位置を各領域に設定する基準画素設定部、をさらに備える、請求項10に記載の画像処理装置。
  12.  前記基準画素設定部は、前記境界がブロックの互いに対角に位置する第1のコーナー又は第2のコーナーに重なる場合には、当該ブロックの各領域の前記基準画素位置を、前記第1のコーナー及び前記第2のコーナーとは異なる第3のコーナー又は第4のコーナー上に設定する、請求項11に記載の画像処理装置。
  13.  前記第1のコーナーは、ブロックの左上のコーナーであり、
     前記基準画素設定部は、前記境界が前記第1のコーナー及び前記第2のコーナーに重ならない場合には、前記第1のコーナーが属する第1の領域の前記基準画素位置を、前記第1のコーナー上に設定する、
     請求項12に記載の画像処理装置。
  14.  前記基準画素設定部は、前記境界が前記第1のコーナー及び前記第2のコーナーに重ならず、前記第1のコーナーが属しない第2の領域に前記第2のコーナーが属する場合には、前記第2の領域の前記基準画素位置を、前記第2のコーナー上に設定する、請求項13に記載の画像処理装置。
  15.  前記動きベクトル設定部は、各領域と関連付けて取得される情報に基づいて、当該領域について符号化の際に選択された動きベクトルの予測式を特定する、請求項10に記載の画像処理装置。
  16.  符号化の際に選択され得る前記予測式の候補は、前記基準画素位置に対応する参照画像内のブロック又は領域に設定された動きベクトルに基づく予測式を含む、請求項15に記載の画像処理装置。
  17.  符号化の際に選択され得る前記予測式の候補は、前記基準画素位置に対応する参照画像内のブロック又は領域に設定された動きベクトルと、前記基準画素位置に隣接する他のブロック又は領域に設定された動きベクトルとに基づく予測式を含む、請求項15に記載の画像処理装置。
  18.  画像を処理するための画像処理方法において、
     傾きを有する境界を含む複数の候補から選択される境界であって、画像の符号化の際に前記画像内に設定されたブロックを分割した前記境界の傾きを認識することと、
     前記境界の傾きに応じて変化する基準画素位置に対応するブロック又は領域に設定された動きベクトルに基づいて、前記境界により分割されたブロック内の各領域内の画素値の予測に使用すべき動きベクトルを設定することと、
     を含む画像処理方法。
PCT/JP2011/064046 2010-07-15 2011-06-20 画像処理装置及び画像処理方法 WO2012008270A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US13/808,726 US20130266070A1 (en) 2010-07-15 2011-06-20 Image processing device and image processing metho
CN2011800339354A CN103004198A (zh) 2010-07-15 2011-06-20 图像处理设备和图像处理方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010160457A JP2012023597A (ja) 2010-07-15 2010-07-15 画像処理装置及び画像処理方法
JP2010-160457 2010-07-15

Publications (1)

Publication Number Publication Date
WO2012008270A1 true WO2012008270A1 (ja) 2012-01-19

Family

ID=45469280

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/064046 WO2012008270A1 (ja) 2010-07-15 2011-06-20 画像処理装置及び画像処理方法

Country Status (4)

Country Link
US (1) US20130266070A1 (ja)
JP (1) JP2012023597A (ja)
CN (1) CN103004198A (ja)
WO (1) WO2012008270A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110169060A (zh) * 2017-01-09 2019-08-23 Sk电信有限公司 用于对图像进行编码或解码的设备和方法

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015055245A1 (en) * 2013-10-16 2015-04-23 Huawei Technologies Co., Ltd. A method for determining a corner video part of a partition of a video coding block
KR101980349B1 (ko) * 2014-03-05 2019-05-20 엘지전자 주식회사 폴리곤 유닛 기반 영상 인코딩/디코딩 방법 및 이를 위한 장치
CN107113443B (zh) * 2014-12-26 2020-04-28 索尼公司 影像处理设备和影像处理方法
GB2550579A (en) * 2016-05-23 2017-11-29 Sony Corp Image data encoding and decoding
CN116744022A (zh) 2016-11-25 2023-09-12 株式会社Kt 用于对视频进行编码和解码的方法
CN116193110A (zh) * 2017-01-16 2023-05-30 世宗大学校产学协力团 影像编码/解码方法
KR20200038943A (ko) * 2017-08-22 2020-04-14 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 이미지 인코더, 이미지 디코더, 이미지 인코딩 방법 및 이미지 디코딩 방법
CN111034197B (zh) * 2017-08-22 2022-07-12 松下电器(美国)知识产权公司 图像编码器、图像解码器、图像编码方法和图像解码方法
CN110999306B (zh) 2017-08-22 2022-09-16 松下电器(美国)知识产权公司 图像编码器和图像解码器
CN107633477B (zh) * 2017-10-20 2021-04-20 上海兆芯集成电路有限公司 图像处理方法及其装置
WO2019151297A1 (ja) 2018-01-30 2019-08-08 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
JP7401309B2 (ja) 2018-01-30 2023-12-19 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
WO2019151279A1 (ja) 2018-01-30 2019-08-08 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
CN111771377A (zh) * 2018-01-30 2020-10-13 松下电器(美国)知识产权公司 编码装置、解码装置、编码方法和解码方法
US11233996B2 (en) * 2018-02-22 2022-01-25 Lg Electronics Inc. Image decoding method and apparatus according to block division structure in image coding system
CN117834908A (zh) * 2018-07-02 2024-04-05 英迪股份有限公司 对视频进行解码的方法和对视频进行编码的方法
CN112514394A (zh) * 2018-07-17 2021-03-16 松下电器(美国)知识产权公司 用于视频编码的系统和方法
CN110891176B (zh) * 2018-09-10 2023-01-13 华为技术有限公司 基于仿射运动模型的运动矢量预测方法及设备
EP3861732A4 (en) * 2018-10-01 2022-07-06 OP Solutions, LLC EXPONENTIAL PARTITIONING METHODS AND SYSTEMS
CN112997489B (zh) 2018-11-06 2024-02-06 北京字节跳动网络技术有限公司 具有几何分割的帧间预测的边信息信令
CN112970250B (zh) * 2018-11-12 2022-08-23 寰发股份有限公司 视频编码的多重假设方法和装置
CN113170184A (zh) 2018-11-22 2021-07-23 北京字节跳动网络技术有限公司 默认运动候选的配置方法
DE102018220236A1 (de) * 2018-11-26 2020-05-28 Heidelberger Druckmaschinen Ag Schnelle Bildentzerrung für Bildinspektion
WO2020135465A1 (en) 2018-12-28 2020-07-02 Beijing Bytedance Network Technology Co., Ltd. Modified history based motion prediction
CN113170166B (zh) 2018-12-30 2023-06-09 北京字节跳动网络技术有限公司 具有几何分割的帧间预测在视频处理中有条件的应用
JP2022523309A (ja) * 2019-01-28 2022-04-22 オーピー ソリューションズ, エルエルシー 指数関数的分割におけるインター予測
CN113366845A (zh) * 2019-01-31 2021-09-07 联发科技股份有限公司 视频编码中结合帧间和帧内预测的方法和装置
WO2020156454A1 (en) 2019-01-31 2020-08-06 Mediatek Inc. Method and apparatus of transform type assignment for intra sub-partition in video coding
JP2022538969A (ja) * 2019-06-24 2022-09-07 アリババ グループ ホウルディング リミテッド 映像コード化における動きフィールド記憶のための方法及び装置
WO2020263472A1 (en) * 2019-06-24 2020-12-30 Alibaba Group Holding Limited Method and apparatus for motion vector refinement
US11190777B2 (en) * 2019-06-30 2021-11-30 Tencent America LLC Method and apparatus for video coding
US11317090B2 (en) * 2019-08-12 2022-04-26 Tencent America LLC Method and apparatus for video coding
CN115118978B (zh) * 2019-08-26 2023-04-11 华为技术有限公司 运动信息存储方法及装置
MX2022007973A (es) 2019-12-30 2022-07-05 Fg innovation co ltd Dispositivo y metodo para codificar datos de video.
CN113473141A (zh) * 2020-03-31 2021-10-01 Oppo广东移动通信有限公司 帧间预测方法、编码器、解码器及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06327003A (ja) * 1993-05-14 1994-11-25 Nec Corp 動画像の予測符号化方式
JPH09154138A (ja) * 1995-05-31 1997-06-10 Toshiba Corp 動画像符号化/復号化装置
WO2003026315A1 (en) * 2001-09-14 2003-03-27 Ntt Docomo, Inc. Coding method, decoding method, coding apparatus, decoding apparatus, image processing system, coding program, and decoding program
WO2008016609A2 (en) * 2006-08-02 2008-02-07 Thomson Licensing Adaptive geometric partitioning for video encoding

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69619002T2 (de) * 1995-03-10 2002-11-21 Toshiba Kawasaki Kk Bildkodierungs-/-dekodierungsvorrichtung
CN101409837B (zh) * 2001-09-14 2011-07-13 株式会社Ntt都科摩 编码方法、译码方法、编码装置、译码装置、图象处理系统
US8879632B2 (en) * 2010-02-18 2014-11-04 Qualcomm Incorporated Fixed point implementation for geometric motion partitioning
ES2691743T3 (es) * 2010-12-06 2018-11-28 Sun Patent Trust Método de codificación de imágenes, método de decodificación de imágenes, dispositivo de codificación de imágenes y dispositivo de decodificación de imágenes

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06327003A (ja) * 1993-05-14 1994-11-25 Nec Corp 動画像の予測符号化方式
JPH09154138A (ja) * 1995-05-31 1997-06-10 Toshiba Corp 動画像符号化/復号化装置
WO2003026315A1 (en) * 2001-09-14 2003-03-27 Ntt Docomo, Inc. Coding method, decoding method, coding apparatus, decoding apparatus, image processing system, coding program, and decoding program
WO2008016609A2 (en) * 2006-08-02 2008-02-07 Thomson Licensing Adaptive geometric partitioning for video encoding

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ANDREAS KRUTZ ET AL.: "Tool Experiment 4: Inter Prediction in HEVC", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11, JCTVC-A303, 1ST MEETING, April 2010 (2010-04-01), DRESDEN, DE, pages 1 - 8 *
OSCAR DIVORRA ET AL.: "Geometry-adaptive Block Partioning, ITU- Telecommunications Standardization Sector STUDY GROUP 16 Question 6 Video Coding Experts Group (VCEG)", VCEG-AF10, 32ND MEETING, April 2007 (2007-04-01), SAN JOSE, CA, pages 1 - 8 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110169060A (zh) * 2017-01-09 2019-08-23 Sk电信有限公司 用于对图像进行编码或解码的设备和方法

Also Published As

Publication number Publication date
JP2012023597A (ja) 2012-02-02
US20130266070A1 (en) 2013-10-10
CN103004198A (zh) 2013-03-27

Similar Documents

Publication Publication Date Title
WO2012008270A1 (ja) 画像処理装置及び画像処理方法
US10623761B2 (en) Image processing apparatus and image processing method
JP6274103B2 (ja) 画像処理装置および方法
WO2011155378A1 (ja) 画像処理装置および方法
US20120027094A1 (en) Image processing device and method
US20120057632A1 (en) Image processing device and method
JPWO2012124461A1 (ja) 画像処理装置および方法
US20130259129A1 (en) Image processing device and method
KR20140109875A (ko) 화상 처리 장치 및 방법
WO2012043165A1 (ja) 画像処理装置及び画像処理方法
KR20120058521A (ko) 화상 처리 장치 및 방법
WO2013164922A1 (ja) 画像処理装置及び画像処理方法
US20120288006A1 (en) Apparatus and method for image processing
US10873758B2 (en) Image processing device and method
JP2013098933A (ja) 画像処理装置および方法
US20110229049A1 (en) Image processing apparatus, image processing method, and program
WO2014038330A1 (ja) 画像処理装置及び画像処理方法
WO2013157308A1 (ja) 画像処理装置及び画像処理方法
JPWO2013108688A1 (ja) 画像処理装置および方法
US20150304678A1 (en) Image processing device and method
JPWO2010035735A1 (ja) 画像処理装置および方法
US20130208805A1 (en) Image processing device and image processing method
US20130107968A1 (en) Image Processing Device and Method
WO2011125625A1 (ja) 画像処理装置および方法
JP6265249B2 (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: 11806601

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 13808726

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 11806601

Country of ref document: EP

Kind code of ref document: A1