WO2013065572A1 - 符号化装置および方法、並びに、復号装置および方法 - Google Patents

符号化装置および方法、並びに、復号装置および方法 Download PDF

Info

Publication number
WO2013065572A1
WO2013065572A1 PCT/JP2012/077583 JP2012077583W WO2013065572A1 WO 2013065572 A1 WO2013065572 A1 WO 2013065572A1 JP 2012077583 W JP2012077583 W JP 2012077583W WO 2013065572 A1 WO2013065572 A1 WO 2013065572A1
Authority
WO
WIPO (PCT)
Prior art keywords
prediction
unit
vector
accuracy
image
Prior art date
Application number
PCT/JP2012/077583
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 US14/346,833 priority Critical patent/US20140254687A1/en
Priority to CN201280052477.3A priority patent/CN103907354A/zh
Publication of WO2013065572A1 publication Critical patent/WO2013065572A1/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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

Definitions

  • the present technology relates to an encoding device, an encoding method, and a decoding device and a decoding method, and more particularly to a code that can improve encoding efficiency when performing fractional motion compensation processing during inter prediction.
  • the present invention relates to an encoding device, an encoding method, a decoding device, and a decoding method.
  • H. 264 / MPEG Moving Picture Experts Group
  • AVC Part 10 Advanced Video Coding
  • inter prediction that focuses on the correlation between frames or fields is performed.
  • motion compensation processing is performed using a partial region in an encoded image, and a predicted image is generated.
  • a virtual fractional position pixel called Sub pel is set between adjacent pixels in the reference image, and processing to generate the Sub pel (hereinafter referred to as interpolation) is added.
  • interpolation processing to generate the Sub pel (hereinafter referred to as interpolation) is added.
  • FIR Finite Impulse ⁇ ⁇ ⁇ ⁇ ⁇ Response Filter
  • IF Interpolation filter
  • the quality of the predicted image is improved.
  • the improvement amount is generally reduced as the accuracy of the motion compensation process is increased.
  • the motion vector is included in the encoded stream and transmitted. Therefore, if the accuracy of the motion vector is improved too much, even if the quality of the predicted image is improved, the information amount of the motion vector increases beyond the improvement amount, and the coding efficiency is deteriorated.
  • JCT-VC Joint Collaborative Team on Video Coding
  • the motion vector prediction direction is bidirectional
  • the number of motion vectors per prediction block is doubled compared to the case where the motion vector prediction direction is one direction.
  • the block size of the prediction block is small, the number of motion vectors per picture is larger than when the block size is large.
  • the coding efficiency may not be improved due to an increase in the amount of information of the motion vector.
  • the present technology has been made in view of such a situation, and is intended to improve encoding efficiency when performing fractional motion compensation processing during inter prediction.
  • the decoding device includes a coded image, a difference between a motion vector in inter prediction of the image and a prediction vector that is a motion vector of an image close to the image, and prediction of the inter prediction.
  • a receiving unit that receives detection accuracy information indicating that the accuracy of the motion vector when the prediction direction is bidirectional is lower than the accuracy of the motion vector when the direction is one direction; and According to the received detection accuracy information, when the accuracy of the motion vector is lower than the predetermined accuracy and the accuracy of the prediction vector is the predetermined accuracy, a rounding process is performed on the prediction vector.
  • a prediction vector conversion unit that generates the prediction vector with an accuracy lower than the predetermined accuracy by performing,
  • a motion vector generation unit that generates the motion vector by adding the prediction vector generated by the prediction vector conversion unit with a precision lower than the predetermined accuracy and the difference received by the reception unit;
  • a decoding unit that decodes the image by performing a motion compensation process using the motion vector generated by the motion vector generation unit.
  • the decoding method according to the first aspect of the present technology corresponds to the decoding device according to the first aspect of the present technology.
  • the encoded image, the difference between the motion vector in the inter prediction of the image, and the prediction vector that is the motion vector of the image close to the image, and the prediction direction of the inter prediction are Detection accuracy information indicating that the accuracy of the motion vector when the prediction direction is bidirectional is lower than the accuracy of the motion vector when it is unidirectional, and according to the detection accuracy information,
  • Detection accuracy information indicating that the accuracy of the motion vector when the prediction direction is bidirectional is lower than the accuracy of the motion vector when it is unidirectional is lower than the accuracy of the motion vector when it is unidirectional
  • a rounding process is performed on the prediction vector so that the accuracy is lower than the predetermined accuracy.
  • the prediction vector is generated, and the prediction vector having an accuracy lower than the predetermined accuracy is added to the difference, whereby the dynamic vector is added.
  • Vector is generated by the motion compensation process is performed using the motion vector, the image is decoded.
  • the encoding target image and the inter prediction for the encoding target image A high-precision motion detection unit that detects the motion vector of the reference image with respect to the encoding target image with a predetermined accuracy using a reference image; and when the prediction direction is bidirectional, the encoding target A low-precision motion detection unit that detects the motion vector with an accuracy lower than the predetermined accuracy using the image and the reference image; and the motion detected by the high-precision motion detection unit or the low-precision motion detection unit
  • the encoding method according to the second aspect of the present technology corresponds to the encoding device according to the second aspect of the present technology.
  • the encoding target image and the reference image in the inter prediction for the encoding target image are
  • the motion vector of the reference image with respect to the encoding target image is detected with a predetermined accuracy, and the prediction direction is bidirectional, using the encoding target image and the reference image,
  • the motion vector is detected with an accuracy lower than the predetermined accuracy, and a motion compensation process is performed using the motion vector, whereby the encoding target image is encoded, and the encoded target is encoded. And the motion vector are transmitted.
  • the first aspect of the present technology it is possible to decode an image that has been encoded so as to improve encoding efficiency when performing fractional motion compensation processing during inter prediction.
  • encoding efficiency can be improved when performing fractional precision motion compensation processing during inter prediction.
  • FIG. 1 is a block diagram illustrating a configuration example of an embodiment of an encoding device to which the present technology is applied.
  • the encoding device 10 in FIG. 1 compresses and encodes an input image.
  • the A / D conversion unit 11 of the encoding device 10 performs A / D conversion on an image in frame units input as an input signal, and outputs and stores the image in the screen rearrangement buffer 12.
  • the screen rearrangement buffer 12 rearranges the stored frame-by-frame images in the order of encoding in accordance with the GOP (Group of Picture) structure. Then, the screen rearrangement buffer 12 sequentially divides the rearranged image into a slice unit, an LCU (Largest Coding ⁇ Unit) unit, and a CU (Coding Unit) unit, and the arithmetic unit 13, the intra prediction unit 23, and the motion Output to the prediction unit 25.
  • the calculation unit 13 functions as an encoding unit, and performs encoding by calculating the difference between the predicted image supplied from the selection unit 26 and the encoding target image output from the screen rearrangement buffer 12. Specifically, the calculation unit 13 subtracts the predicted image supplied from the selection unit 26 from the encoding target image output from the screen rearrangement buffer 12. The calculation unit 13 outputs an image obtained as a result of the subtraction to the orthogonal transformation unit 14 as residual information. When the predicted image is not supplied from the selection unit 26, the calculation unit 13 outputs the image read from the screen rearrangement buffer 12 to the orthogonal transform unit 14 as residual information as it is.
  • the orthogonal transform unit 14 performs orthogonal transform such as discrete cosine transform and Karhunen-Loeve transform on the residual information from the operation unit 13 and supplies the resulting coefficient to the quantization unit 15.
  • the quantization unit 15 quantizes the coefficient supplied from the orthogonal transform unit 14.
  • the quantized coefficient is input to the lossless encoding unit 16.
  • the lossless encoding unit 16 acquires information indicating the optimal intra prediction mode (hereinafter referred to as intra prediction mode information) from the intra prediction unit 23, information indicating the optimal inter prediction mode (hereinafter referred to as inter prediction mode information), and prediction.
  • intra prediction mode information information indicating the optimal intra prediction mode
  • inter prediction mode information information indicating the optimal inter prediction mode
  • a difference vector (mvd) that is a difference between the motion vector of the block and the prediction vector is acquired from the inter prediction unit 24.
  • the lossless encoding unit 16 performs variable length encoding (for example, CAVLC (Context-Adaptive Variable Length Coding)), arithmetic encoding (for example, CABAC) on the quantized coefficients supplied from the quantization unit 15. (Context-Adaptive
  • variable length encoding for example, CAVLC (Context-Adaptive Variable Length Coding)
  • arithmetic encoding for example, CABAC
  • the lossless encoding unit 16 binarizes the absolute value of the difference vector with an exponential Golomb code.
  • the exponent Golomb code is composed of a prefix in which 0 continues for the number of bits of the suffix that is a data part, 1 as a separator, and a sequence of 0 or 1 as a suffix. Accordingly, the larger the number of bits of the absolute value of the difference vector, that is, the higher the resolution of the absolute value of the difference vector, the greater the code amount of the exponent Golomb code.
  • the lossless encoding unit 16 generates the absolute value of the binarized difference vector and the plus / minus code of the difference vector as difference vector information.
  • the lossless encoding unit 16 performs lossless encoding of intra prediction mode information, inter prediction mode information, difference vector information, and the like, and uses the resulting information as header information added to the compressed image.
  • the lossless encoding unit 16 supplies the compressed image to which the header information obtained as a result of the lossless encoding is added to the accumulation buffer 17 as image compression information, and accumulates it.
  • the accumulation buffer 17 temporarily stores the image compression information supplied from the lossless encoding unit 16. Further, the accumulation buffer 17 functions as a transmission unit, and transmits it to, for example, a recording device or a transmission path (not shown) in the subsequent stage.
  • the quantized coefficient output from the quantization unit 15 is also input to the inverse quantization unit 18, subjected to inverse quantization, and then supplied to the inverse orthogonal transform unit 19.
  • the inverse orthogonal transform unit 19 performs inverse orthogonal transform such as inverse discrete cosine transform and inverse Karhunen-Loeve transform on the coefficients supplied from the inverse quantization unit 18, and adds the residual information obtained as a result to the adder 20. To supply.
  • inverse orthogonal transform such as inverse discrete cosine transform and inverse Karhunen-Loeve transform
  • the addition unit 20 adds the residual information as the decoding target image supplied from the inverse orthogonal transform unit 19 and the prediction image supplied from the selection unit 26 to obtain a locally decoded image. In addition, when a prediction image is not supplied from the selection part 26, the addition part 20 makes the residual information supplied from the inverse orthogonal transformation part 19 the image decoded locally.
  • the adding unit 20 supplies the locally decoded image to the deblocking filter 21 and also supplies the image to the intra prediction unit 23 as a reference image.
  • the deblocking filter 21 removes block distortion by filtering the locally decoded image supplied from the adding unit 20.
  • the deblocking filter 21 supplies the image obtained as a result to the frame memory 22 and accumulates it.
  • the image stored in the frame memory 22 is output to the inter prediction unit 24 and the motion prediction unit 25 as a reference image.
  • the intra prediction unit 23 performs intra prediction of all candidate intra prediction modes based on the image read from the screen rearrangement buffer 12 and the reference image supplied from the addition unit 20, and obtains the predicted image. Generate.
  • the intra prediction unit 23 calculates cost function values (details will be described later) for all candidate intra prediction modes. Then, the intra prediction unit 23 determines the intra prediction mode that minimizes the cost function value as the optimal intra prediction mode. The intra prediction unit 23 supplies the prediction image generated in the optimal intra prediction mode and the corresponding cost function value to the selection unit 26. The intra prediction unit 23 supplies the intra prediction mode information to the lossless encoding unit 16 when the selection unit 26 is notified of selection of a predicted image generated in the optimal intra prediction mode.
  • the cost function value is also called RD (Rate Distortion) cost. It is calculated based on a technique of either High Complexity mode or Low Complexity mode as defined by JM (Joint Model) which is reference software in the H.264 / AVC format.
  • D is the difference (distortion) between the original image and the decoded image
  • R is the amount of generated code including up to the coefficient of orthogonal transform
  • is the Lagrange multiplier given as a function of the quantization parameter QP.
  • D is the difference (distortion) between the original image and the decoded image
  • Header_Bit is the header bit for the prediction mode
  • QPtoQuant is a function given as a function of the quantization parameter QP.
  • the High Complexity mode is employed as a cost function value calculation method.
  • the inter prediction unit 24 reads the reference image from the frame memory 22 based on the inter prediction mode information and the motion vector supplied from the motion prediction unit 25.
  • the inter prediction unit 24 performs inter prediction processing based on the motion vector and the reference image read from the frame memory 22. Specifically, the inter prediction unit 24 performs fractional-precision motion compensation processing by interpolating the reference image based on the motion vector.
  • the inter prediction unit 24 supplies the prediction image generated as a result and the cost function value supplied from the motion prediction unit 25 to the selection unit 26.
  • the inter prediction mode is information indicating the size of the prediction block, the prediction direction, the reference index, and the coding mode.
  • forward prediction L0 prediction
  • backward prediction L1 prediction
  • bi-directional prediction bi-directional prediction using a reference image whose display time is earlier and a later reference image than an image to be subjected to inter prediction.
  • the reference index is a number for specifying a reference image, and for example, the reference index of an image that is closer to an image to be subjected to inter prediction has a smaller number.
  • the difference vector and residual information are set to 0, the skip mode in which the difference vector information and residual information are not transmitted, only the difference vector is set to 0, and the residual information is transmitted but the differential vector information is not transmitted.
  • the inter prediction unit 24 obtains a difference vector from the motion vector and the prediction vector.
  • the prediction vector (pmv) the motion vector having the smallest difference from the motion vector of the current prediction block among the motion vectors of the prediction block spatially close to the current prediction block or a prediction block at a temporally neighboring position Is adopted.
  • the inter prediction unit 24 outputs the obtained difference vector, inter prediction mode information, pmv selection information indicating a motion vector selected as a prediction vector, detection accuracy information, and the like to the lossless encoding unit 16.
  • the detection accuracy information is information indicating that the accuracy of the motion vector when the prediction direction is bidirectional is lower than the accuracy of the motion vector when the prediction direction is L0 prediction or L1 prediction.
  • the motion prediction unit 25 calculates motion vectors of all candidate inter prediction modes in the inter prediction mode. Detect with fractional accuracy according to the prediction direction.
  • the motion prediction unit 25 calculates cost function values for all candidate inter prediction modes, and determines the inter prediction mode that minimizes the cost function value as the optimal inter measurement mode. Then, the motion prediction unit 25 supplies the inter prediction mode information, the corresponding motion vector, and the cost function value to the inter prediction unit 24.
  • the selection unit 26 determines one of the optimal intra prediction mode and the optimal inter prediction mode as the optimal prediction mode based on the cost function values supplied from the intra prediction unit 23 and the inter prediction unit 24. Then, the selection unit 26 supplies the prediction image in the optimal prediction mode to the calculation unit 13 and the addition unit 20. In addition, the selection unit 26 notifies the intra prediction unit 23 or the inter prediction unit 24 of selection of the prediction image in the optimal prediction mode.
  • the rate control unit 27 controls the quantization operation rate of the quantization unit 15 based on the image compression information stored in the storage buffer 17 so that overflow or underflow does not occur.
  • FIG. 2 is a block diagram illustrating a configuration example of the motion prediction unit 25 in FIG.
  • the motion prediction unit 25 includes an L0 motion detection unit 41, an L1 motion detection unit 42, a bidirectional motion detection unit 43, and a determination unit 44.
  • the L0 motion detection unit 41 functions as a high-precision motion detection unit, and includes an integer vector detection unit 51, a 1/2 vector detection unit 52, a 1/4 vector detection unit 53, and a 1/8 vector detection unit 54. .
  • the L0 motion detection unit 41 detects a motion vector for each inter prediction mode representing L0 prediction as a prediction direction with 1/8 pixel accuracy.
  • the L0 motion detection unit 41 for each inter prediction mode representing L0 prediction as a prediction direction, the image to be encoded supplied from the screen rearrangement buffer 12 and the reference read from the frame memory 22. An image whose display time is earlier than an image to be encoded as an image is supplied.
  • the integer vector detection unit 51 detects a motion vector with integer pixel accuracy for each inter prediction mode representing L0 prediction as a prediction direction, using an image to be encoded and a reference image. Specifically, the integer vector detection unit 51 detects the block of the reference image that has the smallest difference from the prediction block of the image to be encoded. Then, the integer vector detection unit 51 detects a motion vector representing the position of the detected block of the reference image with respect to the position of the prediction block as a motion vector with integer pixel accuracy of the reference image with respect to the prediction block. The integer vector detection unit 51 supplies the detected integer pixel precision motion vector to the 1 ⁇ 2 vector detection unit 52.
  • the 1/2 vector detection unit 52 interpolates the reference image based on the motion vector with integer pixel accuracy supplied from the integer vector detection unit 51. Thereby, the 1 ⁇ 2 vector detection unit 52 generates a 3 ⁇ 3 pixel reference block having a 1 ⁇ 2 pixel position in the horizontal direction and the vertical direction around the position corresponding to the motion vector.
  • the 1/2 vector detection unit 52 uses the generated reference block and the image to be encoded, like the integer vector detection unit 51, for each inter prediction mode representing L0 prediction as the prediction direction. Detect motion vectors with 2-pixel accuracy.
  • the 1 ⁇ 2 vector detection unit 52 supplies the detected 1 ⁇ 2 pixel precision motion vector to the 1 ⁇ 4 vector detection unit 53.
  • the 1/4 vector detection unit 53 performs interpolation on the reference image based on the motion vector with 1/2 pixel accuracy supplied from the 1/2 vector detection unit 52. As a result, the 1/4 vector detection unit 53 generates a 3 ⁇ 3 pixel reference block having a horizontal and vertical interval of 1/4 pixel centered on the position corresponding to the motion vector.
  • the 1/4 vector detection unit 53 uses the generated reference block and the image to be encoded, like the integer vector detection unit 51, for each inter prediction mode representing L0 prediction as the prediction direction. Detect motion vectors with 4-pixel accuracy.
  • the 1/4 vector detection unit 53 supplies the detected motion vector with 1/4 pixel accuracy to the 1/8 vector detection unit 54.
  • the 1/8 vector detection unit 54 interpolates the reference image based on the 1/4 pixel precision motion vector supplied from the 1/4 vector detection unit 53. Thereby, the 1/8 vector detection unit 54 generates a 3 ⁇ 3 pixel reference block whose horizontal and vertical intervals are 1/8 pixel positions centered on the position corresponding to the motion vector.
  • the 1/8 vector detection unit 54 uses the generated reference block and the image to be encoded, like the integer vector detection unit 51, for each inter prediction mode representing L0 prediction as the prediction direction. Detect motion vectors with 8-pixel accuracy.
  • the 1/8 vector detection unit 54 uses a 1/8 pixel precision motion vector for each inter prediction mode representing L0 prediction as the detected prediction direction, and calculates a cost function value for the inter prediction mode. calculate. Then, the 1/8 vector detection unit 54 determines the inter prediction mode that minimizes the cost function value as the optimal mode of the inter prediction mode that represents the L0 prediction as the prediction direction (hereinafter referred to as the L0 optimal inter prediction mode). The 1/8 vector detection unit 54 supplies the L0 optimal inter prediction mode, the corresponding cost function value, and the motion vector to the determination unit 44.
  • the L1 motion detection unit 42 functions as a high-precision motion detection unit, and includes an integer vector detection unit 61, a 1/2 vector detection unit 62, a 1/4 vector detection unit 63, and a 1/8 vector detection unit 64. .
  • the L1 motion detection unit 42 detects a motion vector for each inter prediction mode representing L1 prediction as a prediction direction with 1/8 pixel accuracy.
  • each unit of the L1 motion detection unit 42 is performed for each inter prediction mode representing L1 prediction as a prediction direction, and an image whose display time is later than the image to be encoded is read from the frame memory 22 as a reference image. Except for this point, the processing is the same as the processing of each unit of the L0 motion detection unit 41, and thus the description thereof is omitted.
  • the bidirectional motion detection unit 43 functions as a low-precision motion detection unit, and includes an integer vector detection unit 71, a 1/2 vector detection unit 72, a 1/4 vector detection unit 73, an integer vector detection unit 74, and a 1/2 vector detection. Unit 75 and quarter vector detection unit 76.
  • the bidirectional motion detection unit 43 detects a motion vector for each inter prediction mode representing bidirectional prediction as a prediction direction with 1/4 pixel accuracy.
  • the bidirectional motion detection unit 43 reads the image to be encoded supplied from the screen rearrangement buffer 12 and the frame memory 22 for each inter prediction mode representing bidirectional prediction as the prediction direction. An image with an earlier display time and an image later than the image to be encoded as the reference image thus obtained are supplied.
  • the integer vector detection unit 71 is a reference image whose display time is later than that of the image to be encoded (hereinafter referred to as the back) based on the backward 1 / 4-pixel precision motion vector detected by the 1/4 vector detection unit 63. Interpolation is performed on the reference image). As a result, the integer vector detection unit 71 generates a 3 ⁇ 3 pixel back reference block centered on the position corresponding to the motion vector and whose horizontal and vertical intervals are 1/4 pixel positions.
  • the integer vector detection unit 71 For each inter prediction mode that represents bi-directional prediction as a prediction direction, the integer vector detection unit 71 has a back reference block, a reference image whose display time is earlier than the image to be encoded (hereinafter referred to as a pre-reference image), and encoding. A forward motion vector is detected with integer pixel accuracy using the target image. Specifically, the integer vector detection unit 71 synthesizes the back reference block and the previous reference image for each inter prediction mode representing bi-directional prediction as the prediction direction, and predicts the resulting image and the encoding target image. The block of the previous reference image having the smallest difference from the block is detected.
  • the integer vector detection unit 71 detects a motion vector representing the position of the detected block of the previous reference image with respect to the position of the prediction block as a motion vector with forward integer pixel accuracy.
  • the integer vector detection unit 71 supplies the detected motion vector with integer pixel accuracy in the forward direction to the 1 ⁇ 2 vector detection unit 72.
  • the 1/2 vector detection unit 72 performs interpolation on the previous reference image based on the forward integer pixel precision motion vector supplied from the integer vector detection unit 71. Thereby, the 1 ⁇ 2 vector detection unit 72 generates a 3 ⁇ 3 pixel previous reference block centered on the position corresponding to the motion vector and whose horizontal and vertical intervals are 1 ⁇ 2 pixel positions.
  • the 1 ⁇ 2 vector detection unit 72 uses the generated front reference block, back reference block, and image to be encoded, similarly to the integer vector detection unit 71, to express an inter prediction representing bi-directional prediction. For each prediction mode, a forward motion vector is detected with 1/2 pixel accuracy.
  • the 1 ⁇ 2 vector detection unit 72 supplies the detected 1 ⁇ 2 pixel precision motion vector in the forward direction to the 1 ⁇ 4 vector detection unit 73.
  • the 1/4 vector detection unit 73 performs interpolation on the previous reference image based on the motion vector with 1/2 pixel accuracy in the forward direction supplied from the 1/2 vector detection unit 72. As a result, the 1/4 vector detection unit 73 generates a 3 ⁇ 3 pixel front reference block whose horizontal and vertical intervals are 1/4 pixel positions centered on the position corresponding to the motion vector.
  • the 1/4 vector detection unit 73 uses the generated front reference block, back reference block, and image to be encoded, as in the case of the integer vector detection unit 71, to express an inter-prediction as a prediction direction. For each prediction mode, a forward motion vector is detected with 1/4 pixel accuracy.
  • the 1/4 vector detection unit 73 supplies the detected forward motion vector with 1/4 pixel accuracy to the integer vector detection unit 74 and the 1/4 vector detection unit 76.
  • the integer vector detection unit 74 interpolates the previous reference image based on the forward 1/4 pixel precision motion vector supplied from the 1/4 vector detection unit 73. As a result, the integer vector detection unit 74 generates a 3 ⁇ 3 pixel previous reference block centered on the position corresponding to the motion vector and whose horizontal and vertical intervals are 1/4 pixel positions.
  • the integer vector detection unit 74 uses the front reference block, the back reference image, and the image to be encoded for each inter prediction mode that represents bidirectional prediction as the prediction direction. Detect backward motion vectors with accuracy. The integer vector detection unit 74 supplies the detected backward-direction integer pixel precision motion vector to the 1 ⁇ 2 vector detection unit 75.
  • the processes of the 1 ⁇ 2 vector detection unit 75 and the 1 ⁇ 4 vector detection unit 76 perform the interpolation on the back reference image, not the front reference image, and detect the motion vector in the back direction instead of the front direction. Except for this, the processing is the same as that of the 1/2 vector detection unit 72 and the 1/4 vector detection unit 73.
  • the 1/4 vector detection unit 76 for each inter prediction mode representing bi-directional prediction as a prediction direction, a forward 1/4 pixel precision motion vector from the 1/4 vector detection unit 73, and a backward 1 A cost function value is calculated for the inter prediction mode using a motion vector of / 4 pixel accuracy. Then, the 1 ⁇ 4 vector detection unit 76 determines the inter prediction mode that minimizes the cost function value as the optimal mode of the inter prediction mode that represents bidirectional prediction as the prediction direction (hereinafter referred to as bidirectional optimal inter prediction mode). To do.
  • the quarter vector detection unit 76 supplies the bidirectional optimal inter prediction mode, the corresponding cost function value, and the motion vector to the determination unit 44.
  • the determination unit 44 detects the minimum value from the cost function values supplied from the 1/8 vector detection unit 54, the 1/8 vector detection unit 64, and the 1/4 vector detection unit 76.
  • the determination unit 44 is configured to supply an L0 optimal inter prediction mode supplied corresponding to the minimum value, an optimal mode of an inter prediction mode representing L1 prediction as a prediction direction (hereinafter referred to as an L1 optimal inter prediction mode), or a bidirectional optimal inter prediction mode.
  • the prediction mode is determined as the optimal inter prediction mode.
  • the determination unit 44 supplies the inter prediction mode information and the corresponding motion vector and cost function value to the inter prediction unit 24 (FIG. 1).
  • FIG. 3 and 4 are flowcharts for explaining the encoding process by the encoding apparatus 10 of FIG. This encoding process is performed, for example, every time an image in units of frames is input to the encoding device 10 as an input signal.
  • the A / D conversion unit 11 of the encoding device 10 performs A / D conversion on the frame-unit image input as the input signal, and outputs and stores the image in the screen rearrangement buffer 12.
  • step S11 the screen rearrangement buffer 12 rearranges the images of the stored frames in the display order in the order for encoding according to the GOP structure.
  • the screen rearrangement buffer 12 sequentially divides the rearranged frame-unit image into slice units, LCUs, and CU units, and supplies them to the calculation unit 13, intra prediction unit 23, and motion prediction unit 25.
  • the subsequent steps S12 to S31 are performed, for example, in units of CUs.
  • step S12 the intra prediction unit 23 performs intra prediction of all candidate intra prediction modes based on the image supplied from the screen rearrangement buffer 12 and the reference image supplied from the addition unit 20. A prediction image is generated. The intra prediction unit 23 calculates cost function values for all candidate intra prediction modes. Then, the intra prediction unit 23 determines the intra prediction mode that minimizes the cost function value as the optimal intra prediction mode. The intra prediction unit 23 supplies the prediction image generated in the optimal intra prediction mode and the corresponding cost function value to the selection unit 26.
  • step S ⁇ b> 13 the motion prediction unit 25 performs motion prediction processing for all candidate inter prediction modes on the image supplied from the screen rearrangement buffer 12 using the reference image supplied from the frame memory 22. Do. Details of this motion prediction processing will be described with reference to FIGS. 5 and 6 to be described later.
  • step S14 the determination unit 44 (FIG. 2) of the motion prediction unit 25 determines the inter prediction mode having the minimum cost function value obtained by the motion prediction process in step S13 as the optimal inter prediction mode. Then, the determination unit 44 supplies the inter prediction mode information, the corresponding motion vector, and the cost function value to the inter prediction unit 24.
  • step S15 the inter prediction unit 24 performs inter prediction in the optimal inter prediction mode based on the motion vector supplied from the motion prediction unit 25 and the inter prediction mode information, and generates a prediction image.
  • the inter prediction unit 24 supplies the generated prediction image and the cost function value supplied from the motion prediction unit 25 to the selection unit 26.
  • step S ⁇ b> 16 the selection unit 26 determines which one of the optimal intra prediction mode and the optimal inter prediction mode has the smallest cost function value based on the cost function values supplied from the intra prediction unit 23 and the inter prediction unit 24. The optimum prediction mode is determined. Then, the selection unit 26 supplies the prediction image in the optimal prediction mode to the calculation unit 13 and the addition unit 20.
  • step S17 the selection unit 26 determines whether or not the optimal prediction mode is the optimal inter prediction mode.
  • the selection unit 26 notifies the inter prediction unit 24 of selection of a prediction image generated in the optimal inter prediction mode.
  • step S18 the inter prediction unit 24 obtains a difference vector from the motion vector and the prediction vector.
  • the inter prediction unit 24 functions as a prediction vector conversion unit and rounds the prediction vector. By performing the processing, a prediction vector with 1/4 pixel accuracy is generated. Then, the inter prediction unit 24 obtains a difference vector using a prediction vector with 1/4 pixel accuracy. The inter prediction unit 24 outputs the obtained difference vector, inter prediction mode information, pmv selection information, and detection accuracy information to the lossless encoding unit 16.
  • step S19 the lossless encoding unit 16 generates difference vector information from the difference vector supplied from the inter prediction unit 24, and losslessly encodes the inter prediction mode information, difference vector information, pmv selection information, and detection accuracy information. To do.
  • the lossless encoding unit 16 uses the information obtained as a result as header information to be added to the compressed image, and proceeds to step S21.
  • step S17 when it is determined in step S17 that the optimal prediction mode is not the optimal inter prediction mode, that is, when the optimal prediction mode is the optimal intra prediction mode, the selection unit 26 selects the prediction image generated in the optimal intra prediction mode. The selection is notified to the intra prediction unit 23. Thereby, the intra prediction unit 23 supplies the intra prediction mode information to the lossless encoding unit 16.
  • step S20 the lossless encoding unit 16 losslessly encodes the intra prediction mode information supplied from the intra prediction unit 23, and uses the resulting information as header information added to the compressed image. Then, the process proceeds to step S21.
  • step S ⁇ b> 21 the calculation unit 13 subtracts the predicted image supplied from the selection unit 26 from the image supplied from the screen rearrangement buffer 12.
  • the calculation unit 13 outputs an image obtained as a result of the subtraction to the orthogonal transformation unit 14 as residual information.
  • step S ⁇ b> 22 the orthogonal transformation unit 14 performs orthogonal transformation on the residual information from the calculation unit 13 and supplies the coefficient obtained as a result to the quantization unit 15.
  • step S23 the quantization unit 15 quantizes the coefficient supplied from the orthogonal transform unit 14.
  • the quantized coefficient is input to the lossless encoding unit 16 and the inverse quantization unit 18.
  • step S24 the lossless encoding unit 16 losslessly encodes the quantized coefficient supplied from the quantization unit 15, and uses the resulting information as a compressed image. Then, the lossless encoding unit 16 adds the header information generated by the process of step S19 or S20 to the compressed image, and generates compressed image information.
  • step S25 of FIG. 4 the lossless encoding unit 16 supplies the image compression information to the accumulation buffer 17 to be accumulated.
  • step S26 the storage buffer 17 outputs the stored image compression information to, for example, a recording device or a transmission path (not shown) in the subsequent stage.
  • step S27 the inverse quantization unit 18 inversely quantizes the quantized coefficient supplied from the quantization unit 15.
  • step S28 the inverse orthogonal transform unit 19 performs inverse orthogonal transform on the coefficient supplied from the inverse quantization unit 18, and supplies the residual information obtained as a result to the addition unit 20.
  • step S29 the addition unit 20 adds the residual information supplied from the inverse orthogonal transform unit 19 and the predicted image supplied from the selection unit 26, and obtains a locally decoded image.
  • the adding unit 20 supplies the obtained image to the deblocking filter 21 and also supplies it to the intra prediction unit 23 as a reference image.
  • step S30 the deblocking filter 21 performs filtering on the locally decoded image supplied from the adding unit 20 to remove block distortion.
  • step S31 the deblocking filter 21 supplies the image after filtering to the frame memory 22 and accumulates it.
  • the image stored in the frame memory 22 is output to the inter prediction unit 24 and the motion prediction unit 25 as a reference image. Then, the process ends.
  • the intra prediction process and the motion compensation process are always performed, but only one of them is actually performed depending on the picture type or the like. Sometimes it is done.
  • the difference vector information and the quantized coefficient are always losslessly encoded.
  • the lossless encoding may not be performed depending on the encoding mode. That is, in the skip mode, the difference vector information and the quantized coefficient are not losslessly encoded, and in the merge mode, the difference vector information is not losslessly encoded.
  • FIG. 5 is a flowchart for explaining the L0 motion prediction process for detecting the motion vector in the inter prediction mode representing the L0 prediction as the prediction direction in the motion prediction process in step S13 of FIG.
  • step S51 the integer vector detection unit 51 uses the image to be encoded supplied from the screen rearrangement buffer 12 and the previous reference image read from the frame memory 22, and performs inter prediction that represents L0 prediction as a prediction direction. A motion vector with integer pixel precision is detected for each mode. The integer vector detection unit 51 supplies the detected integer pixel precision motion vector to the 1 ⁇ 2 vector detection unit 52.
  • step S52 the 1 ⁇ 2 vector detection unit 52 performs interpolation on the previous reference image based on the motion vector with integer pixel accuracy supplied from the integer vector detection unit 51. Thereby, the 1 ⁇ 2 vector detection unit 52 generates a 3 ⁇ 3 pixel reference block having a 1 ⁇ 2 pixel position in the horizontal direction and the vertical direction around the position corresponding to the motion vector.
  • step S53 the 1 ⁇ 2 vector detection unit 52 uses the generated reference block and the encoding target image, and for each inter prediction mode that represents L0 prediction as the prediction direction, like the integer vector detection unit 51, Detect motion vectors with 1/2 pixel accuracy.
  • the 1 ⁇ 2 vector detection unit 52 supplies the detected 1 ⁇ 2 pixel precision motion vector to the 1 ⁇ 4 vector detection unit 53.
  • step S54 the 1 ⁇ 4 vector detection unit 53 performs interpolation on the previous reference image based on the 1 ⁇ 2 pixel precision motion vector supplied from the 1 ⁇ 2 vector detection unit 52.
  • the 1/4 vector detection unit 53 generates a 3 ⁇ 3 pixel reference block having a horizontal and vertical interval of 1/4 pixel centered on the position corresponding to the motion vector.
  • step S55 the 1 ⁇ 4 vector detection unit 53 uses the generated reference block and the image to be encoded for each inter prediction mode that represents L0 prediction as the prediction direction, similarly to the integer vector detection unit 51. Detect motion vectors with 1/4 pixel accuracy.
  • the 1/4 vector detection unit 53 supplies the detected motion vector with 1/4 pixel accuracy to the 1/8 vector detection unit 54.
  • step S56 the 1/8 vector detection unit 54 interpolates the reference image based on the 1/4 pixel precision motion vector supplied from the 1/4 vector detection unit 53. Thereby, the 1/8 vector detection unit 54 generates a 3 ⁇ 3 pixel reference block whose horizontal and vertical intervals are 1/8 pixel positions centered on the position corresponding to the motion vector.
  • step S57 the 1/8 vector detection unit 54 uses the generated reference block and the image to be encoded, as in the integer vector detection unit 51, for each inter prediction mode representing L0 prediction as the prediction direction. Detect motion vectors with 1/8 pixel accuracy.
  • step S58 the 1/8 vector detection unit 54 uses a motion vector of 1/8 pixel accuracy for each inter prediction mode representing L0 prediction as the detected prediction direction, and the cost function for the inter prediction mode. Find the value. Then, the 1/8 vector detection unit 54 determines the inter prediction mode that minimizes the cost function value as the L0 optimal inter prediction mode, and determines the L0 optimal inter prediction mode and the corresponding cost function value and motion vector. 44.
  • the L1 motion prediction process for detecting the motion vector in the inter prediction mode representing the L1 prediction as the prediction direction is the same as the L0 motion prediction process in FIG.
  • FIG. 6 is a flowchart illustrating a bidirectional motion prediction process for detecting a motion vector in an inter prediction mode representing bidirectional prediction as a prediction direction in the motion prediction process in step S13 of FIG.
  • step S ⁇ b> 70 the integer vector detection unit 71 performs the backward reference image read from the frame memory 22 based on the backward 1 / 4-pixel precision motion vector detected by the 1/4 vector detection unit 63. Interpolate. As a result, the integer vector detection unit 71 generates a 3 ⁇ 3 pixel back reference block centered on the position corresponding to the motion vector and whose horizontal and vertical intervals are 1/2 pixel positions.
  • step S71 the integer vector detection unit 71 uses the backward reference block, the forward reference image, and the encoding target image for each inter prediction mode that represents bidirectional prediction as the prediction direction, and performs forward integer pixel accuracy. Detect motion vectors. The integer vector detection unit 71 supplies the detected motion vector with integer pixel accuracy in the forward direction to the 1 ⁇ 2 vector detection unit 72.
  • step S72 the 1/2 vector detection unit 72 performs interpolation on the previous reference image based on the forward integer pixel precision motion vector supplied from the integer vector detection unit 71. Thereby, the 1 ⁇ 2 vector detection unit 72 generates a 3 ⁇ 3 pixel previous reference block centered on the position corresponding to the motion vector and whose horizontal and vertical intervals are 1 ⁇ 2 pixel positions.
  • step S ⁇ b> 73 the 1 ⁇ 2 vector detection unit 72 uses the generated front reference block, back reference block, and encoding target image to perform bidirectional prediction as the prediction direction, similar to the integer vector detection unit 71. For each inter prediction mode to be expressed, a motion vector with 1/2 pixel accuracy in the forward direction is detected. The 1 ⁇ 2 vector detection unit 72 supplies the detected 1 ⁇ 2 pixel precision motion vector in the forward direction to the 1 ⁇ 4 vector detection unit 73.
  • step S ⁇ b> 74 the quarter vector detection unit 73 performs interpolation on the previous reference image based on the forward half-pixel motion vector supplied from the half vector detection unit 72. .
  • the 1/4 vector detection unit 73 generates a 3 ⁇ 3 pixel front reference block whose horizontal and vertical intervals are 1/4 pixel positions centered on the position corresponding to the motion vector.
  • step S75 the 1/4 vector detection unit 73 uses the generated front reference block, back reference block, and encoding target image to perform bi-directional prediction as the prediction direction, similar to the integer vector detection unit 71. For each inter prediction mode to be expressed, a forward 1 / 4-pixel precision motion vector is detected. The 1/4 vector detection unit 73 supplies the detected forward motion vector with 1/4 pixel accuracy to the integer vector detection unit 74 and the 1/4 vector detection unit 76.
  • step S76 the integer vector detection unit 74 performs interpolation on the previous reference image based on the forward 1/4 pixel precision motion vector supplied from the 1/4 vector detection unit 73. As a result, the integer vector detection unit 74 generates a 3 ⁇ 3 pixel previous reference block centered on the position corresponding to the motion vector and whose horizontal and vertical intervals are 1/4 pixel positions.
  • step S77 as in the integer vector detection unit 71, the integer vector detection unit 74 uses the front reference block, the back reference image, and the encoding target image for each inter prediction mode that represents bidirectional prediction as the prediction direction. Thus, a motion vector with integer pixel precision in the backward direction is detected.
  • the integer vector detection unit 74 supplies the detected backward-direction integer pixel precision motion vector to the 1 ⁇ 2 vector detection unit 75.
  • step S78 the 1 ⁇ 2 vector detection unit 75 performs interpolation on the back reference image based on the backward-direction integer pixel precision motion vector supplied from the integer vector detection unit 74. As a result, the 1 ⁇ 2 vector detection unit 75 generates a 3 ⁇ 3 pixel back reference block centered on the position corresponding to the motion vector and whose horizontal and vertical intervals are 1 ⁇ 2 pixel positions.
  • step S79 the 1/2 vector detection unit 75 uses the generated back reference block, the previous reference block, and the encoding target image to perform bi-directional prediction as the prediction direction, similar to the integer vector detection unit 71. For each inter prediction mode to be represented, a backward half-pixel motion vector is detected.
  • the 1 ⁇ 2 vector detection unit 72 supplies the detected backward half-pixel motion vector to the 1 ⁇ 4 vector detection unit 76.
  • step S ⁇ b> 80 the quarter vector detection unit 76 performs interpolation on the back reference image based on the backward half-pixel motion vector supplied from the half vector detection unit 75. .
  • the 1/4 vector detection unit 76 generates a 3 ⁇ 3 pixel back reference block centered on the position corresponding to the motion vector and whose horizontal and vertical intervals are 1/4 pixel positions.
  • step S81 the 1/4 vector detection unit 76 performs bi-directional prediction as the prediction direction using the generated back reference block, front reference block, and encoding target image, as in the case of the integer vector detection unit 71. For each inter prediction mode to be expressed, a motion vector with 1/4 pixel accuracy in the backward direction is detected.
  • step S82 the 1/4 vector detection unit 76 detects the motion vector with 1/4 pixel accuracy in the forward direction detected in step S75 for each inter prediction mode representing bidirectional prediction as the prediction direction, and is detected in step S81.
  • a cost function value is obtained for the inter prediction mode using a motion vector with 1/4 pixel accuracy in the backward direction.
  • the quarter vector detection unit 76 determines the inter prediction mode that minimizes the cost function value as the bidirectional optimal inter prediction mode.
  • the 1/4 vector detection unit 76 supplies the bidirectional optimal inter prediction mode, the corresponding cost function value, and the motion vector to the determination unit 44, and ends the process.
  • the bidirectional motion detection unit 43 of the motion prediction unit 25 in FIG. 2 detects the forward 1/4 pixel accuracy motion vector when the backward 1/4 pixel accuracy motion vector is fixed, Although the detection of the motion vector with 1/4 pixel accuracy in the backward direction when the motion vector with 1/4 pixel accuracy in the direction is fixed is performed once, it may be repeated a predetermined number of times.
  • the encoding apparatus 10 makes the accuracy of the motion vector when the prediction direction is bidirectional prediction lower than the accuracy of the motion vector when the prediction direction is L0 prediction or L1 prediction. That is, the accuracy of the motion vector when the number of motion vectors per prediction block is large is set lower than the accuracy of the motion vector when the number of motion vectors per prediction block is small. Accordingly, it is possible to improve the accuracy of the motion compensation process while suppressing the information amount of the motion vector. As a result, encoding efficiency can be improved.
  • FIG. 7 is a block diagram illustrating a configuration example of a decoding device to which the present technology is applied, which decodes the compressed image information output from the encoding device 10 of FIG.
  • FIG. 7 includes an accumulation buffer 101, a lossless decoding unit 102, an inverse quantization unit 103, an inverse orthogonal transform unit 104, an addition unit 105, a deblock filter 106, a screen rearrangement buffer 107, and a D / A conversion unit. 108, a frame memory 109, an intra prediction unit 110, an inter prediction unit 113, a prediction vector conversion unit 111, a motion vector generation unit 112, and a switch 114.
  • the accumulation buffer 101 of the decoding apparatus 100 receives the image compression information from the encoding apparatus 10 in FIG. 1 and accumulates it.
  • the accumulation buffer 101 supplies the accumulated image compression information to the lossless decoding unit 102.
  • the lossless decoding unit 102 obtains quantized coefficients and headers by performing lossless decoding such as variable length decoding and arithmetic decoding on the compressed image information from the storage buffer 101.
  • the lossless decoding unit 102 supplies the quantized coefficients to the inverse quantization unit 103.
  • the lossless decoding unit 102 supplies intra prediction mode information included in the header to the intra prediction unit 110.
  • the lossless decoding unit 102 decomposes the difference vector information included in the header into a plus / minus code and an exponent Golomb code of the absolute value of the difference vector, and reverse-binarizes the exponent Golomb code to add the plus / minus code. By doing so, a difference vector is generated.
  • the lossless decoding unit 102 supplies the generated difference vector and pmv selection information and detection accuracy information included in the header to the prediction vector conversion unit 111. Further, the lossless decoding unit 102 supplies the inter prediction mode information included in the header to the inter prediction unit 113. Further, the lossless decoding unit 102 supplies intra prediction mode information or inter prediction mode information included in the header to the switch 114.
  • the inverse quantization unit 103, the inverse orthogonal transform unit 104, the addition unit 105, the deblock filter 106, the frame memory 109, the intra prediction unit 110, and the inter prediction unit 113 are the same as the inverse quantization unit 18 and the inverse orthogonal transform in FIG.
  • the same processing as that of the unit 19, the adding unit 20, the deblocking filter 21, the frame memory 22, the intra prediction unit 23, and the inter prediction unit 24 is performed, whereby the image is decoded.
  • the inverse quantization unit 103 inversely quantizes the quantized coefficient from the lossless decoding unit 102 and supplies the coefficient obtained as a result to the inverse orthogonal transform unit 104.
  • the inverse orthogonal transform unit 104 performs inverse orthogonal transform such as inverse discrete cosine transform and inverse Karhunen-Loeve transform on the coefficient from the inverse quantization unit 103, and supplies the residual information obtained as a result to the addition unit 105 To do.
  • inverse orthogonal transform such as inverse discrete cosine transform and inverse Karhunen-Loeve transform
  • the addition unit 105 functions as a decoding unit, and performs decoding by adding the residual information as a decoding target image supplied from the inverse orthogonal transform unit 104 and the prediction image supplied from the switch 114.
  • the addition unit 105 supplies an image obtained as a result of decoding to the deblocking filter 106 and also supplies it to the intra prediction unit 110 as a reference image.
  • the addition unit 105 supplies an image, which is residual information supplied from the inverse orthogonal transform unit 104, to the deblocking filter 106 and also to the intra prediction unit 110 as a reference image. Supply.
  • the deblock filter 106 removes block distortion by filtering the image supplied from the addition unit 105.
  • the deblocking filter 106 supplies the image obtained as a result to the frame memory 109, stores it, and supplies it to the screen rearrangement buffer 107.
  • the image stored in the frame memory 109 is supplied to the inter prediction unit 113 as a reference image.
  • the screen rearrangement buffer 107 stores the image supplied from the deblock filter 106 in units of frames.
  • the screen rearrangement buffer 107 rearranges the stored frame-by-frame images for encoding in the original display order and supplies them to the D / A conversion unit 108.
  • the D / A converter 108 D / A converts the frame unit image supplied from the screen rearrangement buffer 107 and outputs it as an output signal.
  • the intra prediction unit 110 performs intra prediction of the intra prediction mode represented by the intra prediction mode information supplied from the lossless decoding unit 102 using the reference image supplied from the addition unit 105, and generates a prediction image. Then, the intra prediction unit 110 supplies the predicted image to the switch 114.
  • the prediction vector conversion unit 111 reads out a motion vector represented by the pmv selection information supplied from the lossless decoding unit 102 among the motion vectors held as a prediction vector.
  • the prediction vector conversion unit 111 determines that the accuracy of the difference vector is lower than the accuracy of the prediction vector according to the detection accuracy information supplied from the lossless decoding unit 102, that is, the accuracy of the difference vector is 1/4 pixel accuracy. Yes, when the accuracy of the prediction vector is 1/8 pixel accuracy, a prediction vector with 1/4 pixel accuracy is generated by rounding the prediction vector.
  • the prediction vector conversion unit 111 supplies the generated prediction vector with 1/4 pixel accuracy, or the read prediction vector itself, and the difference vector to the motion vector generation unit 112.
  • the motion vector generation unit 112 generates a motion vector by adding the prediction vector and the difference vector supplied from the prediction vector conversion unit 111.
  • the motion vector generation unit 112 supplies the generated motion vector to the prediction vector conversion unit 111 to hold it, and also supplies it to the inter prediction unit 113.
  • the inter prediction unit 113 based on the motion vector supplied from the motion vector generation unit 112 and the inter prediction mode information supplied from the lossless decoding unit 102, is similar to the inter prediction unit 24 in FIG. A reference image is read from 109.
  • the inter prediction unit 113 performs the same inter prediction process as the inter prediction unit 24 based on the motion vector and the reference image read from the frame memory 109.
  • the inter prediction unit 113 supplies the prediction image generated as a result to the switch 114.
  • the switch 114 supplies the prediction image supplied from the intra prediction unit 110 to the addition unit 105.
  • the prediction image supplied from the inter prediction unit 113 is supplied to the adding unit 105.
  • FIG. 8 is a flowchart for explaining decoding processing by the decoding device 100 of FIG. For example, this decoding process is performed every time frame-based image compression information is input to the decoding device 100.
  • step S101 of FIG. 8 the accumulation buffer 101 of the decoding apparatus 100 receives and accumulates the frame-based image compression information from the encoding apparatus 10 of FIG.
  • the accumulation buffer 101 supplies the accumulated image compression information to the lossless decoding unit 102. Note that the processing in the following steps S102 to S113 is performed, for example, in units of CUs.
  • step S102 the lossless decoding unit 102 losslessly decodes the compressed image information from the accumulation buffer 101, and obtains quantized coefficients and headers.
  • the lossless decoding unit 102 supplies the quantized coefficients to the inverse quantization unit 103.
  • the lossless decoding unit 102 supplies intra prediction mode information included in the header to the intra prediction unit 110.
  • the lossless decoding unit 102 decomposes the difference vector information included in the header into a plus / minus code and an exponent Golomb code of the absolute value of the difference vector, and reverse-binarizes the exponent Golomb code to add the plus / minus code. By doing so, a difference vector is generated.
  • the lossless decoding unit 102 supplies the generated difference vector and pmv selection information and detection accuracy information included in the header to the prediction vector conversion unit 111. Further, the lossless decoding unit 102 supplies the inter prediction mode information included in the header to the inter prediction unit 113. Further, the lossless decoding unit 102 supplies intra prediction mode information or inter prediction mode information included in the header to the switch 114.
  • step S103 the inverse quantization unit 103 inversely quantizes the quantized coefficient from the lossless decoding unit 102, and supplies the resulting coefficient to the inverse orthogonal transform unit 104.
  • step S ⁇ b> 104 the inverse orthogonal transform unit 104 performs inverse orthogonal transform on the coefficient from the inverse quantization unit 103, and supplies residual information obtained as a result to the addition unit 105.
  • step S105 the prediction vector conversion unit 111 determines whether the difference vector, the pmv selection information, and the detection accuracy information are supplied from the lossless decoding unit 102.
  • the prediction vector conversion unit 111 receives the pmv supplied from the lossless decoding unit 102 among the motion vectors held.
  • the motion vector represented by the selection information is read as a prediction vector. Then, the process proceeds to step S106.
  • step S106 the prediction vector conversion unit 111 determines whether the accuracy of the difference vector is lower than the accuracy of the prediction vector, according to the detection accuracy information supplied from the lossless decoding unit 102.
  • the accuracy of the difference vector is 1/4 pixel accuracy and the accuracy of the prediction vector is 1/8 pixel accuracy
  • step S107 the prediction vector conversion unit 111 generates a prediction vector with 1/4 pixel accuracy by rounding the prediction vector, and supplies the prediction vector and the difference vector to the motion vector generation unit 112. Then, the process proceeds to step S108.
  • step S106 if the accuracy of both the difference vector and the prediction vector is 1/4 pixel accuracy or 1/8 pixel accuracy, it is determined in step S106 that the accuracy of the difference vector is not lower than the accuracy of the prediction vector. Then, the prediction vector conversion unit 111 supplies the read prediction vector itself and the difference vector to the motion vector generation unit 112, and the process proceeds to step S108.
  • step S108 the motion vector generation unit 112 generates a motion vector by adding the prediction vector and the difference vector supplied from the prediction vector conversion unit 111.
  • the motion vector generation unit 112 supplies the generated motion vector to the prediction vector conversion unit 111 to hold it, and also supplies it to the inter prediction unit 113.
  • step S109 the inter prediction unit 113 is the same as the inter prediction unit 24 in FIG. 1 based on the motion vector supplied from the motion vector generation unit 112 and the inter prediction mode information supplied from the lossless decoding unit 102. Perform inter prediction processing.
  • the inter prediction unit 113 supplies the prediction image generated as a result to the addition unit 105 via the switch 114, and the process proceeds to step S111.
  • step S105 if it is determined in step S105 that the difference vector, pmv selection information, and detection accuracy information are not supplied, that is, if intra prediction mode information is supplied to the intra prediction unit 110, the process proceeds to step S110.
  • step S110 the intra prediction unit 110 performs intra prediction in the intra prediction mode represented by the intra prediction mode information supplied from the lossless decoding unit 102, using the reference image supplied from the addition unit 105. And the intra estimation part 110 supplies the prediction image produced
  • step S111 the adding unit 105 adds the residual information supplied from the inverse orthogonal transform unit 104 and the prediction image supplied from the switch 114.
  • the adding unit 105 supplies the image obtained as a result to the deblocking filter 106 and also supplies it to the intra prediction unit 110 as a reference image.
  • step S112 the deblocking filter 106 performs filtering on the image supplied from the adding unit 105 to remove block distortion.
  • step S113 the deblocking filter 106 supplies the filtered image to the frame memory 109, stores it, and supplies it to the screen rearrangement buffer 107.
  • the image stored in the frame memory 109 is supplied to the inter prediction unit 113 as a reference image.
  • step S114 the screen rearrangement buffer 107 stores the image supplied from the deblocking filter 106 in units of frames, and rearranges the stored images in units of frames for encoding in the original display order. , And supplied to the D / A converter 108.
  • step S115 the D / A conversion unit 108 D / A converts the frame unit image supplied from the screen rearrangement buffer 107 and outputs it as an output signal.
  • the decoding apparatus 100 rounds the prediction vector according to the detection accuracy information when the accuracy of the difference vector is 1/4 pixel accuracy and the prediction vector accuracy is 1/8 pixel accuracy. By performing the processing, a prediction vector with 1/4 pixel accuracy is generated. Therefore, in the encoding device 10, the accuracy of the motion vector when the number of motion vectors per prediction block is large is set lower than the accuracy of the motion vector when the number of motion vectors per prediction block is small. Image compression information encoded to improve efficiency can be decoded.
  • the accuracy of the motion vector is switched depending on whether the prediction direction is L0 prediction, L1 prediction, or bidirectional prediction, but the accuracy of the motion vector is a case where the number of motion vectors is large.
  • the switching method is not limited to this as long as it can be switched in a few cases. For example, when the size of the prediction block for inter prediction is small, the accuracy of the motion vector can be made lower than when the size of the prediction block is large. Also, when the prediction direction is bi-directional prediction or when the size of the inter prediction block is small, the accuracy of the motion vector is higher than when the prediction direction is L0 prediction or L1 prediction and the prediction block size is large. Can also be lowered.
  • the absolute value of the difference vector is binarized with an exponential Golomb code, but the code used for binarization may be a code other than the exponential Golomb code.
  • the accuracy of the motion vector to all reference images is lower than the accuracy when the prediction direction is L0 prediction or L1 prediction, Only the accuracy of motion vectors for some reference images may be lowered. In this case, detection accuracy information is set for each reference image.
  • the accuracy of the motion vector is switched to 1/4 pixel accuracy or 1/8 pixel accuracy, but the accuracy of the motion vector is not limited to this.
  • the accuracy of the motion vector may be switched to 1/4 pixel accuracy or 1/16 pixel accuracy.
  • the above-described encoding process and decoding process can be performed by hardware or can be performed by software.
  • a program constituting the software is installed in a general-purpose computer or the like.
  • FIG. 9 shows a configuration example of an embodiment of a computer in which a program for executing the series of processes described above is installed.
  • the program can be recorded in advance in a storage unit 408 or a ROM (Read Only Memory) 402 as a recording medium built in the computer.
  • ROM Read Only Memory
  • the program can be stored (recorded) in the removable medium 411.
  • a removable medium 411 can be provided as so-called package software.
  • examples of the removable medium 411 include a flexible disk, a CD-ROM (Compact Disc Read Only Memory), an MO (Magneto Optical) disc, a DVD (Digital Versatile Disc), a magnetic disc, a semiconductor memory, and the like.
  • the program can be installed on the computer from the removable medium 411 as described above via the drive 410, or can be downloaded to the computer via a communication network or a broadcast network, and installed in the built-in storage unit 408. That is, the program is transferred from a download site to a computer wirelessly via a digital satellite broadcasting artificial satellite, or wired to a computer via a network such as a LAN (Local Area Network) or the Internet. be able to.
  • LAN Local Area Network
  • the computer has a CPU (Central Processing Unit) 401 built in, and an input / output interface 405 is connected to the CPU 401 via a bus 404.
  • CPU Central Processing Unit
  • the CPU 401 executes a program stored in the ROM 402 according to a command input by the user operating the input unit 406 via the input / output interface 405. Alternatively, the CPU 401 loads the program stored in the storage unit 408 into a RAM (Random Access Memory) 403 and executes it.
  • a RAM Random Access Memory
  • the CPU 401 performs processing according to the flowchart described above or processing performed by the configuration of the block diagram described above. Then, the CPU 401 causes the processing result to be output from the output unit 407 or transmitted from the communication unit 409 via the input / output interface 405, for example, and further recorded in the storage unit 408 as necessary.
  • the input unit 406 includes a keyboard, a mouse, a microphone, and the like.
  • the output unit 407 includes an LCD (Liquid Crystal Display), a speaker, and the like.
  • the processing performed by the computer according to the program does not necessarily have to be performed in chronological order in the order described as the flowchart. That is, the processing performed by the computer according to the program includes processing executed in parallel or individually (for example, parallel processing or object processing).
  • the program may be processed by one computer (processor), or may be distributedly processed by a plurality of computers. Furthermore, the program may be transferred to a remote computer and executed.
  • FIG. 10 is a block diagram illustrating a main configuration example of a television receiver using a decoding device to which the present technology is applied.
  • the television receiver 500 shown in FIG. 10 includes a terrestrial tuner 513, a video decoder 515, a video signal processing circuit 518, a graphic generation circuit 519, a panel drive circuit 520, and a display panel 521.
  • the television receiver 500 shown in FIG. 10 includes a terrestrial tuner 513, a video decoder 515, a video signal processing circuit 518, a graphic generation circuit 519, a panel drive circuit 520, and a display panel 521.
  • the terrestrial tuner 513 receives a broadcast wave signal of terrestrial analog broadcasting via an antenna, demodulates it, acquires a video signal, and supplies it to the video decoder 515.
  • the video decoder 515 performs a decoding process on the video signal supplied from the terrestrial tuner 513 and supplies the obtained digital component signal to the video signal processing circuit 518.
  • the video signal processing circuit 518 performs predetermined processing such as noise removal on the video data supplied from the video decoder 515, and supplies the obtained video data to the graphic generation circuit 519.
  • the graphic generation circuit 519 generates video data of a program to be displayed on the display panel 521, image data by processing based on an application supplied via a network, and the like, and generates the generated video data and image data in the panel drive circuit 520. Supply.
  • the graphic generation circuit 519 generates video data (graphic) for displaying a screen used by the user for selecting an item, and superimposes the video data on the video data of the program.
  • a process of supplying data to the panel drive circuit 520 is also performed as appropriate.
  • the panel drive circuit 520 drives the display panel 521 based on the data supplied from the graphic generation circuit 519, and causes the display panel 521 to display the video of the program and the various screens described above.
  • the display panel 521 is composed of an LCD (Liquid Crystal Display) or the like, and displays a video of a program or the like according to control by the panel drive circuit 520.
  • LCD Liquid Crystal Display
  • the television receiver 500 also includes an audio A / D (Analog / Digital) conversion circuit 514, an audio signal processing circuit 522, an echo cancellation / audio synthesis circuit 523, an audio amplification circuit 524, and a speaker 525.
  • an audio A / D (Analog / Digital) conversion circuit 514 An audio signal processing circuit 522, an echo cancellation / audio synthesis circuit 523, an audio amplification circuit 524, and a speaker 525.
  • the terrestrial tuner 513 acquires not only a video signal but also an audio signal by demodulating the received broadcast wave signal.
  • the terrestrial tuner 513 supplies the acquired audio signal to the audio A / D conversion circuit 514.
  • the audio A / D conversion circuit 514 performs A / D conversion processing on the audio signal supplied from the terrestrial tuner 513, and supplies the obtained digital audio signal to the audio signal processing circuit 522.
  • the audio signal processing circuit 522 performs predetermined processing such as noise removal on the audio data supplied from the audio A / D conversion circuit 514 and supplies the obtained audio data to the echo cancellation / audio synthesis circuit 523.
  • the echo cancellation / voice synthesis circuit 523 supplies the voice data supplied from the voice signal processing circuit 522 to the voice amplification circuit 524.
  • the audio amplification circuit 524 performs D / A conversion processing and amplification processing on the audio data supplied from the echo cancellation / audio synthesis circuit 523, adjusts to a predetermined volume, and then outputs the audio from the speaker 525.
  • the television receiver 500 also has a digital tuner 516 and an MPEG decoder 517.
  • the digital tuner 516 receives a broadcast wave signal of digital broadcasting (terrestrial digital broadcasting, BS (Broadcasting Satellite) / CS (Communications Satellite) digital broadcasting) via an antenna, demodulates, and MPEG-TS (Moving Picture Experts Group). -Transport Stream) and supply it to the MPEG decoder 517.
  • digital broadcasting terrestrial digital broadcasting, BS (Broadcasting Satellite) / CS (Communications Satellite) digital broadcasting
  • MPEG-TS Motion Picture Experts Group
  • the MPEG decoder 517 releases the scramble applied to the MPEG-TS supplied from the digital tuner 516 and extracts a stream including program data to be played (viewing target).
  • the MPEG decoder 517 decodes the audio packet constituting the extracted stream, supplies the obtained audio data to the audio signal processing circuit 522, decodes the video packet constituting the stream, and converts the obtained video data into the video This is supplied to the signal processing circuit 518.
  • the MPEG decoder 517 supplies EPG (Electronic Program Guide) data extracted from MPEG-TS to the CPU 532 via a path (not shown).
  • the television receiver 500 uses the above-described decoding device 100 as the MPEG decoder 517 for decoding video packets in this way. Therefore, the MPEG decoder 517 can decode an image encoded so as to improve the encoding efficiency when performing fractional motion compensation processing during inter prediction, as in the case of the decoding device 100.
  • the video data supplied from the MPEG decoder 517 is subjected to predetermined processing in the video signal processing circuit 518 as in the case of the video data supplied from the video decoder 515. Then, the video data subjected to the predetermined processing is appropriately superimposed with the generated video data in the graphic generation circuit 519 and supplied to the display panel 521 via the panel drive circuit 520 to display the image. .
  • the audio data supplied from the MPEG decoder 517 is subjected to predetermined processing in the audio signal processing circuit 522 as in the case of the audio data supplied from the audio A / D conversion circuit 514. Then, the audio data that has been subjected to the predetermined processing is supplied to the audio amplifying circuit 524 via the echo cancellation / audio synthesizing circuit 523 and subjected to D / A conversion processing and amplification processing. As a result, sound adjusted to a predetermined volume is output from the speaker 525.
  • the television receiver 500 also includes a microphone 526 and an A / D conversion circuit 527.
  • the A / D conversion circuit 527 receives the user's voice signal captured by the microphone 526 provided in the television receiver 500 for voice conversation.
  • the A / D conversion circuit 527 performs A / D conversion processing on the received audio signal, and supplies the obtained digital audio data to the echo cancellation / audio synthesis circuit 523.
  • the echo cancellation / audio synthesis circuit 523 When the audio data of the user (user A) of the television receiver 500 is supplied from the A / D conversion circuit 527, the echo cancellation / audio synthesis circuit 523 performs echo cancellation on the audio data of the user A. . Then, the echo cancellation / voice synthesis circuit 523 outputs voice data obtained by synthesizing with other voice data after echo cancellation from the speaker 525 via the voice amplification circuit 524.
  • the television receiver 500 also includes an audio codec 528, an internal bus 529, an SDRAM (Synchronous Dynamic Random Access Memory) 530, a flash memory 531, a CPU 532, a USB (Universal Serial Bus) I / F 533, and a network I / F 534.
  • SDRAM Serial Dynamic Random Access Memory
  • USB Universal Serial Bus
  • the A / D conversion circuit 527 receives the user's voice signal captured by the microphone 526 provided in the television receiver 500 for voice conversation.
  • the A / D conversion circuit 527 performs A / D conversion processing on the received audio signal, and supplies the obtained digital audio data to the audio codec 528.
  • the audio codec 528 converts the audio data supplied from the A / D conversion circuit 527 into data of a predetermined format for transmission via the network, and supplies the data to the network I / F 534 via the internal bus 529.
  • the network I / F 534 is connected to the network via a cable attached to the network terminal 535.
  • the network I / F 534 transmits the audio data supplied from the audio codec 528 to another device connected to the network.
  • the network I / F 534 receives, for example, audio data transmitted from another device connected via the network via the network terminal 535, and receives it via the internal bus 529 to the audio codec 528. Supply.
  • the audio codec 528 converts the audio data supplied from the network I / F 534 into data of a predetermined format and supplies it to the echo cancellation / audio synthesis circuit 523.
  • the echo cancellation / speech synthesis circuit 523 performs echo cancellation on the speech data supplied from the speech codec 528 and synthesizes speech data obtained by synthesizing with other speech data via the speech amplification circuit 524. And output from the speaker 525.
  • the SDRAM 530 stores various data necessary for the CPU 532 to perform processing.
  • the flash memory 531 stores a program executed by the CPU 532.
  • the program stored in the flash memory 531 is read by the CPU 532 at a predetermined timing such as when the television receiver 500 is activated.
  • the flash memory 531 also stores EPG data acquired via digital broadcasting, data acquired from a predetermined server via a network, and the like.
  • the flash memory 531 stores MPEG-TS including content data acquired from a predetermined server via a network under the control of the CPU 532.
  • the flash memory 531 supplies the MPEG-TS to the MPEG decoder 517 via the internal bus 529 under the control of the CPU 532, for example.
  • the MPEG decoder 517 processes the MPEG-TS as in the case of the MPEG-TS supplied from the digital tuner 516. In this way, the television receiver 500 receives content data including video and audio via the network, decodes it using the MPEG decoder 517, displays the video, and outputs audio. Can do.
  • the television receiver 500 also includes a light receiving unit 537 that receives an infrared signal transmitted from the remote controller 551.
  • the light receiving unit 537 receives the infrared light from the remote controller 551 and outputs a control code representing the contents of the user operation obtained by demodulation to the CPU 532.
  • the CPU 532 executes a program stored in the flash memory 531 and controls the overall operation of the television receiver 500 in accordance with a control code supplied from the light receiving unit 537.
  • the CPU 532 and each part of the television receiver 500 are connected via a route (not shown).
  • the USB interface I / F 533 transmits / receives data to / from an external device of the television receiver 500 connected via a USB cable attached to the USB terminal 536.
  • the network I / F 534 is connected to the network via a cable attached to the network terminal 535, and also transmits / receives data other than audio data to / from various devices connected to the network.
  • the television receiver 500 uses the decoding device 100 as the MPEG decoder 517 to decode an image encoded so as to improve the encoding efficiency when performing fractional motion compensation processing during inter prediction. Can do.
  • FIG. 11 is a block diagram illustrating a main configuration example of a mobile phone using an encoding device and a decoding device to which the present technology is applied.
  • a mobile phone 600 shown in FIG. 11 includes a main control unit 650, a power supply circuit unit 651, an operation input control unit 652, an image encoder 653, a camera I / F unit 654, an LCD control, which are configured to comprehensively control each unit. 655, an image decoder 656, a demultiplexing unit 657, a recording / reproducing unit 662, a modulation / demodulation circuit unit 658, and an audio codec 659. These are connected to each other via a bus 660.
  • the mobile phone 600 includes an operation key 619, a CCD (Charge Coupled Devices) camera 616, a liquid crystal display 618, a storage unit 623, a transmission / reception circuit unit 663, an antenna 614, a microphone (microphone) 621, and a speaker 617.
  • CCD Charge Coupled Devices
  • the power supply circuit unit 651 starts up the mobile phone 600 in an operable state by supplying power from the battery pack to each unit.
  • the mobile phone 600 transmits / receives audio signals, transmits / receives e-mails and image data, and images in various modes such as a voice call mode and a data communication mode based on the control of the main control unit 650 including a CPU, ROM, RAM, and the like. Various operations such as shooting or data recording are performed.
  • the mobile phone 600 converts a voice signal collected by the microphone (microphone) 621 into digital voice data by the voice codec 659, performs spectrum spread processing by the modulation / demodulation circuit unit 658, and transmits and receives
  • the unit 663 performs digital / analog conversion processing and frequency conversion processing.
  • the cellular phone 600 transmits the transmission signal obtained by the conversion processing to a base station (not shown) via the antenna 614.
  • the transmission signal (voice signal) transmitted to the base station is supplied to the mobile phone of the other party via the public telephone line network.
  • the cellular phone 600 in the voice call mode, amplifies the received signal received by the antenna 614 by the transmission / reception circuit unit 663, further performs frequency conversion processing and analog-digital conversion processing, and performs spectrum despreading processing by the modulation / demodulation circuit unit 658. Then, the audio codec 659 converts it to an analog audio signal. The cellular phone 600 outputs an analog audio signal obtained by the conversion from the speaker 617.
  • the mobile phone 600 when transmitting an e-mail in the data communication mode, accepts text data of the e-mail input by operating the operation key 619 in the operation input control unit 652.
  • the cellular phone 600 processes the text data in the main control unit 650 and displays the text data on the liquid crystal display 618 via the LCD control unit 655 as an image.
  • the mobile phone 600 generates e-mail data in the main control unit 650 based on the text data received by the operation input control unit 652, user instructions, and the like.
  • the cellular phone 600 performs spread spectrum processing on the electronic mail data by the modulation / demodulation circuit unit 658 and digital / analog conversion processing and frequency conversion processing by the transmission / reception circuit unit 663.
  • the cellular phone 600 transmits the transmission signal obtained by the conversion processing to a base station (not shown) via the antenna 614.
  • the transmission signal (e-mail) transmitted to the base station is supplied to a predetermined destination via a network and a mail server.
  • the mobile phone 600 when receiving an e-mail in the data communication mode, receives and amplifies the signal transmitted from the base station by the transmission / reception circuit unit 663 via the antenna 614, and further performs frequency conversion processing and Analog-digital conversion processing.
  • the mobile phone 600 performs spectrum despreading processing on the received signal by the modulation / demodulation circuit unit 658 to restore the original e-mail data.
  • the cellular phone 600 displays the restored e-mail data on the liquid crystal display 618 via the LCD control unit 655.
  • the mobile phone 600 can record (store) the received electronic mail data in the storage unit 623 via the recording / playback unit 662.
  • the storage unit 623 is an arbitrary rewritable storage medium.
  • the storage unit 623 may be, for example, a semiconductor memory such as a RAM or a built-in flash memory, a hard disk, or a removable disk such as a magnetic disk, a magneto-optical disk, an optical disk, a USB memory, or a memory card. It may be media. Of course, other than these may be used.
  • the mobile phone 600 when transmitting image data in the data communication mode, the mobile phone 600 generates image data with the CCD camera 616 by imaging.
  • the CCD camera 616 includes an optical device such as a lens and a diaphragm and a CCD as a photoelectric conversion element, images a subject, converts the intensity of received light into an electrical signal, and generates image data of the subject image.
  • the image data is converted into encoded image data by compression encoding with a predetermined encoding method such as MPEG2 or MPEG4 by the image encoder 653 via the camera I / F unit 654.
  • the cellular phone 600 uses the above-described encoding device 10 as the image encoder 653 that performs such processing. Therefore, the image encoder 653 can improve the encoding efficiency when performing the fractional-precision motion compensation process at the time of inter prediction, as in the case of the encoding device 10.
  • the cellular phone 600 simultaneously converts the audio collected by the microphone (microphone) 621 during imaging by the CCD camera 616 into an analog codec and further encodes it.
  • the cellular phone 600 multiplexes the encoded image data supplied from the image encoder 653 and the digital audio data supplied from the audio codec 659 in a demultiplexing unit 657 by a predetermined method.
  • the cellular phone 600 performs spread spectrum processing on the multiplexed data obtained as a result by the modulation / demodulation circuit unit 658 and digital / analog conversion processing and frequency conversion processing by the transmission / reception circuit unit 663.
  • the cellular phone 600 transmits the transmission signal obtained by the conversion processing to a base station (not shown) via the antenna 614.
  • a transmission signal (image data) transmitted to the base station is supplied to a communication partner via a network or the like.
  • the mobile phone 600 can display the image data generated by the CCD camera 616 on the liquid crystal display 618 via the LCD control unit 655 without using the image encoder 653.
  • the mobile phone 600 when receiving data of a moving image file linked to a simple homepage or the like, transmits a signal transmitted from the base station to the transmission / reception circuit unit 663 via the antenna 614. Receive, amplify, and further perform frequency conversion processing and analog-digital conversion processing. The mobile phone 600 performs spectrum despreading processing on the received signal by the modulation / demodulation circuit unit 658 to restore the original multiplexed data. In the cellular phone 600, the demultiplexing unit 657 separates the multiplexed data into coded image data and audio data.
  • the cellular phone 600 In the image decoder 656, the cellular phone 600 generates reproduction moving image data by decoding the encoded image data by a decoding method corresponding to a predetermined encoding method such as MPEG2 or MPEG4, and this is controlled by the LCD control.
  • the image is displayed on the liquid crystal display 618 via the unit 655.
  • the moving image data included in the moving image file linked to the simple homepage is displayed on the liquid crystal display 618.
  • the mobile phone 600 uses the above-described decoding device 100 as the image decoder 656 that performs such processing. Therefore, as in the case of the decoding device 100, the image decoder 656 can decode an image encoded so as to improve the encoding efficiency in the case of performing fractional accuracy motion compensation processing during inter prediction.
  • the cellular phone 600 simultaneously converts the digital audio data into an analog audio signal in the audio codec 659 and outputs it from the speaker 617. Thereby, for example, audio data included in the moving image file linked to the simple homepage is reproduced.
  • the mobile phone 600 can record (store) the data linked to the received simplified home page or the like in the storage unit 623 via the recording / playback unit 662. .
  • the mobile phone 600 can analyze the two-dimensional code obtained by the CCD camera 616 by the main control unit 650 and obtain information recorded in the two-dimensional code.
  • the mobile phone 600 can communicate with an external device by infrared rays at the infrared communication unit 681.
  • the mobile phone 600 can improve the encoding efficiency when performing the motion compensation process with fractional accuracy during inter prediction by using the encoding device 10 as the image encoder 653.
  • the mobile phone 600 uses the decoding device 100 as the image decoder 656 to decode an image encoded so as to improve the encoding efficiency when performing fractional motion compensation processing during inter prediction. Can do.
  • the mobile phone 600 uses the CCD camera 616.
  • an image sensor CMOS image sensor
  • CMOS Complementary Metal Oxide Semiconductor
  • the mobile phone 600 can capture an image of a subject and generate image data of the image of the subject, as in the case where the CCD camera 616 is used.
  • the mobile phone 600 has been described.
  • an imaging function similar to that of the mobile phone 600 such as a PDA (Personal Digital Assistant), a smartphone, an UMPC (Ultra Mobile Personal Computer), a netbook, a notebook personal computer, or the like.
  • the encoding device 10 and the decoding device 100 can be applied to any device as in the case of the mobile phone 600.
  • FIG. 12 is a block diagram illustrating a main configuration example of a hard disk recorder using an encoding device and a decoding device to which the present technology is applied.
  • a hard disk recorder 700 shown in FIG. 12 receives audio data and video data of a broadcast program included in a broadcast wave signal (television signal) transmitted from a satellite or a ground antenna received by a tuner.
  • This is an apparatus for storing in a built-in hard disk and providing the stored data to the user at a timing according to the user's instruction.
  • the hard disk recorder 700 can, for example, extract audio data and video data from broadcast wave signals, decode them as appropriate, and store them in a built-in hard disk.
  • the hard disk recorder 700 can also acquire audio data and video data from other devices via a network, for example, decode them as appropriate, and store them in a built-in hard disk.
  • the hard disk recorder 700 decodes audio data and video data recorded in a built-in hard disk, supplies the decoded data to the monitor 760, and displays the image on the screen of the monitor 760. Further, the hard disk recorder 700 can output the sound from the speaker of the monitor 760.
  • the hard disk recorder 700 decodes audio data and video data extracted from broadcast wave signals acquired via a tuner, or audio data and video data acquired from other devices via a network, and monitors 760. And the image is displayed on the screen of the monitor 760.
  • the hard disk recorder 700 can also output the sound from the speaker of the monitor 760.
  • the hard disk recorder 700 has a receiving unit 721, a demodulating unit 722, a demultiplexer 723, an audio decoder 724, a video decoder 725, and a recorder control unit 726.
  • the hard disk recorder 700 further includes an EPG data memory 727, a program memory 728, a work memory 729, a display converter 730, an OSD (On Screen Display) control unit 731, a display control unit 732, a recording / playback unit 733, a D / A converter 734, And a communication unit 735.
  • the display converter 730 has a video encoder 741.
  • the recording / playback unit 733 includes an encoder 751 and a decoder 752.
  • the receiving unit 721 receives an infrared signal from a remote controller (not shown), converts it into an electrical signal, and outputs it to the recorder control unit 726.
  • the recorder control unit 726 is constituted by, for example, a microprocessor and executes various processes according to a program stored in the program memory 728. At this time, the recorder control unit 726 uses the work memory 729 as necessary.
  • the communication unit 735 is connected to the network and performs communication processing with other devices via the network.
  • the communication unit 735 is controlled by the recorder control unit 726, communicates with a tuner (not shown), and mainly outputs a channel selection control signal to the tuner.
  • the demodulator 722 demodulates the signal supplied from the tuner and outputs the demodulated signal to the demultiplexer 723.
  • the demultiplexer 723 separates the data supplied from the demodulation unit 722 into audio data, video data, and EPG data, and outputs them to the audio decoder 724, the video decoder 725, or the recorder control unit 726, respectively.
  • the audio decoder 724 decodes the input audio data by, for example, the MPEG system and outputs the decoded audio data to the recording / playback unit 733.
  • the video decoder 725 decodes the input video data using, for example, the MPEG system, and outputs the decoded video data to the display converter 730.
  • the recorder control unit 726 supplies the input EPG data to the EPG data memory 727 and stores it.
  • the display converter 730 encodes the video data supplied from the video decoder 725 or the recorder control unit 726 into, for example, NTSC (National Television Standards Committee) video data by the video encoder 741, and outputs the encoded video data to the recording / reproducing unit 733.
  • the display converter 730 converts the screen size of the video data supplied from the video decoder 725 or the recorder control unit 726 into a size corresponding to the size of the monitor 760.
  • the display converter 730 further converts the video data whose screen size has been converted into NTSC video data by the video encoder 741, converts the video data into an analog signal, and outputs the analog signal to the display control unit 732.
  • the display control unit 732 Under the control of the recorder control unit 726, the display control unit 732 superimposes the OSD signal output from the OSD (On Screen Display) control unit 731 on the video signal input from the display converter 730 and displays it on the monitor 760 display. Output and display.
  • OSD On Screen Display
  • the monitor 760 is also supplied with audio data output from the audio decoder 724 after being converted into an analog signal by the D / A converter 734.
  • the monitor 760 outputs this audio signal from a built-in speaker.
  • the recording / playback unit 733 includes a hard disk as a storage medium for recording video data, audio data, and the like.
  • the recording / playback unit 733 encodes the audio data supplied from the audio decoder 724 by the encoder 751 in the MPEG system. Further, the recording / reproducing unit 733 encodes the video data supplied from the video encoder 741 of the display converter 730 by the encoder 751 in the MPEG system. The recording / reproducing unit 733 combines the encoded data of the audio data and the encoded data of the video data with a multiplexer. The recording / reproducing unit 733 amplifies the synthesized data by channel coding and writes the data to the hard disk via the recording head.
  • the recording / reproducing unit 733 reproduces the data recorded on the hard disk via the reproducing head, amplifies it, and separates it into audio data and video data by a demultiplexer.
  • the recording / playback unit 733 uses the decoder 752 to decode the audio data and video data using the MPEG method.
  • the recording / playback unit 733 performs D / A conversion on the decoded audio data, and outputs it to the speaker of the monitor 760.
  • the recording / playback unit 733 performs D / A conversion on the decoded video data and outputs it to the display of the monitor 760.
  • the recorder control unit 726 reads the latest EPG data from the EPG data memory 727 based on the user instruction indicated by the infrared signal from the remote controller received via the receiving unit 721, and supplies it to the OSD control unit 731. To do.
  • the OSD control unit 731 generates image data corresponding to the input EPG data and outputs the image data to the display control unit 732.
  • the display control unit 732 outputs the video data input from the OSD control unit 731 to the display of the monitor 760 for display. As a result, an EPG (electronic program guide) is displayed on the display of the monitor 760.
  • the hard disk recorder 700 can acquire various data such as video data, audio data, or EPG data supplied from other devices via a network such as the Internet.
  • the communication unit 735 is controlled by the recorder control unit 726, acquires encoded data such as video data, audio data, and EPG data transmitted from another device via the network, and supplies the encoded data to the recorder control unit 726. To do.
  • the recorder control unit 726 supplies the acquired encoded data of video data and audio data to the recording / reproducing unit 733 and stores the data in the hard disk.
  • the recorder control unit 726 and the recording / reproducing unit 733 may perform processing such as re-encoding as necessary.
  • the recorder control unit 726 decodes the obtained encoded data of video data and audio data, and supplies the obtained video data to the display converter 730.
  • the display converter 730 processes the video data supplied from the recorder control unit 726 in the same manner as the video data supplied from the video decoder 725, supplies the processed video data to the monitor 760 via the display control unit 732, and displays the image. .
  • the recorder control unit 726 may supply the decoded audio data to the monitor 760 via the D / A converter 734 and output the sound from the speaker.
  • the recorder control unit 726 decodes the encoded data of the acquired EPG data and supplies the decoded EPG data to the EPG data memory 727.
  • the hard disk recorder 700 as described above uses the decoding device 100 as a decoder incorporated in the video decoder 725, the decoder 752, and the recorder control unit 726. Therefore, the decoder incorporated in the video decoder 725, the decoder 752, and the recorder control unit 726 improves the encoding efficiency when performing fractional motion compensation processing during inter prediction, as in the decoding device 100. Thus, the encoded image can be decoded.
  • the hard disk recorder 700 uses the encoding device 10 as the encoder 751. Therefore, the encoder 751 can improve the encoding efficiency in the case of performing the fractional precision motion compensation process at the time of inter prediction, as in the case of the encoding device 10.
  • the hard disk recorder 700 that records video data and audio data on the hard disk has been described.
  • any recording medium may be used.
  • the encoding device 10 and the decoding device 100 can be applied as in the case of the hard disk recorder 700 described above. .
  • FIG. 13 is a block diagram illustrating a main configuration example of a camera using an encoding device and a decoding device to which the present technology is applied.
  • the camera 800 shown in FIG. 13 captures a subject and displays an image of the subject on the LCD 816 or records it on the recording medium 833 as image data.
  • the lens block 811 causes light (that is, an image of the subject) to enter the CCD / CMOS 812.
  • the CCD / CMOS 812 is an image sensor using CCD or CMOS, converts the intensity of received light into an electric signal, and supplies it to the camera signal processing unit 813.
  • the camera signal processing unit 813 converts the electrical signal supplied from the CCD / CMOS 812 into Y, Cr, and Cb color difference signals and supplies them to the image signal processing unit 814.
  • the image signal processing unit 814 performs predetermined image processing on the image signal supplied from the camera signal processing unit 813 under the control of the controller 821, and encodes the image signal by the encoder 841 using, for example, the MPEG method. To do.
  • the image signal processing unit 814 supplies encoded data generated by encoding the image signal to the decoder 815. Further, the image signal processing unit 814 acquires display data generated in the on-screen display (OSD) 820 and supplies it to the decoder 815.
  • OSD on-screen display
  • the camera signal processing unit 813 appropriately uses a DRAM (Dynamic Random Access Memory) 818 connected via the bus 817, and appropriately encodes image data and a code obtained by encoding the image data.
  • the digitized data is held in the DRAM 818.
  • the decoder 815 decodes the encoded data supplied from the image signal processing unit 814 and supplies the obtained image data (decoded image data) to the LCD 816. Also, the decoder 815 supplies the display data supplied from the image signal processing unit 814 to the LCD 816. The LCD 816 appropriately synthesizes the image of the decoded image data supplied from the decoder 815 and the image of the display data, and displays the synthesized image.
  • the on-screen display 820 outputs display data such as menu screens and icons made up of symbols, characters, or figures to the image signal processing unit 814 via the bus 817 under the control of the controller 821.
  • the controller 821 executes various processes based on a signal indicating the content instructed by the user using the operation unit 822, and also via the bus 817, an image signal processing unit 814, a DRAM 818, an external interface 819, an on-screen display. 820, media drive 823, and the like are controlled.
  • the FLASH ROM 824 stores programs and data necessary for the controller 821 to execute various processes.
  • the controller 821 can encode the image data stored in the DRAM 818 or decode the encoded data stored in the DRAM 818 instead of the image signal processing unit 814 or the decoder 815.
  • the controller 821 may perform encoding / decoding processing by a method similar to the encoding / decoding method of the image signal processing unit 814 or the decoder 815, or the image signal processing unit 814 or the decoder 815 is compatible.
  • the encoding / decoding process may be performed by a method that is not performed.
  • the controller 821 reads image data from the DRAM 818 and supplies it to the printer 834 connected to the external interface 819 via the bus 817. Let it print.
  • the controller 821 reads the encoded data from the DRAM 818 and supplies it to the recording medium 833 attached to the media drive 823 via the bus 817.
  • the recording medium 833 is an arbitrary readable / writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory.
  • the recording medium 833 may be of any kind as a removable medium, and may be a tape device, a disk, or a memory card.
  • a non-contact IC card or the like may be used.
  • the media drive 823 and the recording medium 833 may be integrated and configured by a non-portable storage medium such as a built-in hard disk drive or SSD (Solid State Drive).
  • a non-portable storage medium such as a built-in hard disk drive or SSD (Solid State Drive).
  • the external interface 819 is composed of, for example, a USB input / output terminal or the like, and is connected to the printer 834 when printing an image.
  • a drive 831 is connected to the external interface 819 as necessary, and a removable medium 832 such as a magnetic disk, an optical disk, or a magneto-optical disk is appropriately mounted, and a computer program read from these is loaded as necessary. And installed in FLASH ROM 824.
  • the external interface 819 has a network interface connected to a predetermined network such as a LAN or the Internet.
  • the controller 821 can read the encoded data from the DRAM 818 in accordance with an instruction from the operation unit 822, and can supply the encoded data from the external interface 819 to another device connected via the network. Also, the controller 821 acquires encoded data and image data supplied from other devices via the network via the external interface 819 and holds them in the DRAM 818 or supplies them to the image signal processing unit 814. Can be.
  • the camera 800 as described above uses the decoding device 100 as the decoder 815. Therefore, similarly to the decoding device 100, the decoder 815 can decode an image encoded so as to improve the encoding efficiency in the case of performing fractional precision motion compensation processing during inter prediction.
  • the camera 800 uses the encoding device 10 as the encoder 841. Therefore, the encoder 841 can improve the encoding efficiency when performing the fractional-precision motion compensation processing at the time of inter prediction while suppressing the deterioration of the accuracy of inter prediction, as in the case of the encoding device 10. .
  • the decoding method of the decoding device 100 may be applied to the decoding process performed by the controller 821.
  • the encoding method of the encoding device 10 may be applied to the encoding process performed by the controller 821.
  • the image data captured by the camera 800 may be a moving image or a still image.
  • the encoding device 10 and the decoding device 100 can be applied to devices and systems other than the devices described above.
  • Embodiments of the present technology are not limited to the above-described embodiments, and various modifications can be made without departing from the gist of the present technology.
  • a receiving unit that receives detection accuracy information indicating that the accuracy of the motion vector when the prediction direction is bidirectional is lower than the accuracy; According to the detection accuracy information received by the receiving unit, when the accuracy of the motion vector is lower than the predetermined accuracy and the accuracy of the prediction vector is the predetermined accuracy, A prediction vector conversion unit that generates the prediction vector with an accuracy lower than the predetermined accuracy by performing rounding processing; A motion vector generation unit that generates the motion vector by adding the prediction vector generated by the prediction vector conversion unit with a precision lower than the predetermined accuracy and the difference received by the reception unit; A decoding device comprising: a decoding unit that decodes the image by performing a motion compensation process using the motion vector generated by the motion vector generation unit.
  • the motion vector is detected with the predetermined accuracy when the prediction direction of the inter prediction is unidirectional and the prediction block size in the inter prediction is large, and the prediction direction of the inter prediction is bidirectional. Or, when the size of the prediction block is small, the decoding apparatus according to (1), wherein the prediction block is detected with an accuracy lower than the predetermined accuracy.
  • the decryption device The difference between the encoded image, the motion vector in the inter prediction of the image, and the prediction vector that is the motion vector of the image close to the image, and the motion vector when the prediction direction of the inter prediction is one direction.
  • the prediction vector A predictive vector conversion step of generating the predictive vector with an accuracy lower than the predetermined accuracy by performing a rounding process on A motion vector that generates the motion vector by adding the prediction vector that is lower than the predetermined accuracy generated by the processing of the prediction vector conversion step and the difference received by the processing of the reception step Generation step;
  • a decoding method comprising: a decoding step of decoding the image by performing a motion compensation process using the motion vector generated by the process of the motion vector generation step.
  • the encoding target image and the reference image in the inter prediction with respect to the encoding target image are used with the predetermined accuracy.
  • a high-precision motion detection unit that detects the motion vector of the reference image with respect to the image to be converted;
  • the prediction direction is bidirectional, a low-precision motion detection unit that detects the motion vector with an accuracy lower than the predetermined accuracy using the encoding target image and the reference image;
  • An encoding unit that encodes the image to be encoded by performing a motion compensation process using the motion vector detected by the high-precision motion detection unit or the low-precision motion detection unit;
  • An encoding apparatus comprising: the encoding target image encoded by the encoding unit and a transmission unit that transmits the motion vector.
  • the high-precision motion detection unit detects the motion vector with the predetermined accuracy when the prediction direction of the inter prediction is one direction and the size of the prediction block in the inter prediction is large
  • the low-precision motion detection unit detects the motion vector with an accuracy lower than the predetermined accuracy when the prediction direction of the inter prediction is bidirectional or the size of the prediction block is small.
  • the transmission unit represents that the accuracy of the motion vector when the prediction direction of the inter prediction is bidirectional is lower than the accuracy of the motion vector when the prediction direction of the inter prediction is unidirectional.
  • the encoding apparatus according to (4) which transmits detection accuracy information.
  • the transmission unit transmits a difference between the motion vector detected by the high-precision motion detection unit or the low-precision motion detection unit and a prediction vector that is a motion vector of an image close to the encoding target image.
  • the encoding device according to any one of (6).
  • (8) When the motion vector is detected with an accuracy lower than the predetermined accuracy, and the prediction vector is detected with the predetermined accuracy, a rounding process is performed on the prediction vector to reduce the accuracy lower than the predetermined accuracy.
  • the encoding device When the prediction direction of the inter prediction of the encoding target image is one direction, the encoding target image and the reference image in the inter prediction with respect to the encoding target image are used with the predetermined accuracy.
  • a high-precision motion detection step of detecting the motion vector of the reference image with respect to an image to be converted; When the prediction direction is bidirectional, using the encoding target image and the reference image, a low-precision motion detection step of detecting the motion vector with an accuracy lower than the predetermined accuracy;
  • An encoding method comprising: the image to be encoded encoded by the process of the encoding step, and a transmission step of transmitting the motion vector.

Landscapes

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

Abstract

本技術は、インター予測時に分数精度の動き補償処理を行う場合において、符号化効率を向上させることができるようにする符号化装置および符号化方法、並びに、復号装置および復号方法に関する。 予測ベクトル変換部は、画像圧縮情報に含まれる検出精度情報に応じて、動きベクトルの精度が1/4画素精度であり、予測ベクトルの精度が1/8画素精度である場合、予測ベクトルに対して丸め処理を行うことにより1/4画素精度の予測ベクトルを生成する。動きベクトル生成部は、その1/4画素精度の予測ベクトルと、画像圧縮情報に含まれる差分ベクトルとを加算することにより、動きベクトルを生成する。インター予測部と演算部は、動きベクトルを用いて動き補償処理を行うことにより、画像を復号する。本技術は、例えば、復号装置に適用することができる。

Description

[規則37.2に基づきISAが決定した発明の名称] 符号化装置および方法、並びに、復号装置および方法
 本技術は、符号化装置および符号化方法、並びに、復号装置および復号方法に関し、特に、インター予測時に分数精度の動き補償処理を行う場合において、符号化効率を向上させることができるようにした符号化装置および符号化方法、並びに、復号装置および復号方法に関する。
 画像を圧縮する標準規格として、H.264/MPEG(Moving Picture Experts Group)-4 Part10 Advanced Video Coding(以下H.264/AVCという)がある。
 H.264/AVCにおいては、フレームまたはフィールド間の相関に注目したインター予測が行われる。インター予測では、符号化済みの画像内の一部の領域を用いて動き補償処理が行われ、予測画像が生成される。
 近年、この動き補償処理において、動きベクトルの分解能を2分の1や4分の1といった分数精度に向上させることにより、動き補償処理の精度を高めることが考えられている。
 分数精度の動き補償処理では、参照画像の隣接する画素の間にSub pelと呼ばれる仮想的な分数位置の画素を設定し、そのSub pelを生成する処理(以下、インターポーレーションという)が追加して行われる(例えば、非特許文献1参照)。即ち、分数精度の動き補償処理では、動きベクトルの最小分解能が画素の分数倍になるため、分数位置の画素を生成するためのインターポーレーションが行われる。
 インターポーレーションに用いられるフィルタであるインターポーレーションフィルタ(Interpolation filter(IF))としては、通常、有限インパルス応答フィルタ(FIR(Finite Impulse Response) Filter)が用いられる。
 以上のようにして動き補償処理の精度が向上すると、予測画像の品質は改善するが、その改善量は、一般的に、動き補償処理の精度が高まるにつれて低減する。また、動きベクトルは、符号化ストリームに含められて伝送される。従って、動きベクトルの精度を向上させ過ぎると、予測画像の品質が改善されても、その改善量以上に動きベクトルの情報量が増加し、符号化効率が悪化する。
Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 6th Meeting,Working Draft 4 of High-Efficiency Video Coding,JCTVC-F803_d2,Torino, IT, 14-22 July,2011
 ところで、動きベクトルの予測方向が双方向である場合、一方向である場合に比べて、予測ブロック当たりの動きベクトルの数は2倍になる。また、予測ブロックのブロックサイズが小さい場合、ブロックサイズが大きい場合に比べて、ピクチャ当たりの動きベクトルの数は多くなる。
 このように、伝送する動きベクトルの数が多い場合、動き補償処理の精度の向上により予測画像の精度が向上しても、動きベクトルの情報量の増加により、符号化効率が向上しない場合がある。
 本技術は、このような状況に鑑みてなされたものであり、インター予測時に分数精度の動き補償処理を行う場合において、符号化効率を向上させることができるようにするものである。
 本技術の第1の側面の復号装置は、符号化された画像、その画像のインター予測における動きベクトルと、その画像に近い画像の動きベクトルである予測ベクトルとの差分、および前記インター予測の予測方向が一方向である場合の前記動きベクトルの精度より、前記予測方向が双方向である場合の前記動きベクトルの精度の方が低いことを表す検出精度情報を受け取る受け取り部と、前記受け取り部により受け取られた前記検出精度情報に応じて、前記動きベクトルの精度が前記所定の精度より低い精度であり、前記予測ベクトルの精度が前記所定の精度である場合、前記予測ベクトルに対して丸め処理を行うことにより前記所定の精度より低い精度の前記予測ベクトルを生成する予測ベクトル変換部と、
 前記予測ベクトル変換部により生成された前記所定の精度より低い精度の前記予測ベクトルと、前記受け取り部により受け取られた前記差分とを加算することにより、前記動きベクトルを生成する動きベクトル生成部と、前記動きベクトル生成部により生成された前記動きベクトルを用いて動き補償処理を行うことにより、前記画像を復号する復号部とを備える復号装置である。
 本技術の第1の側面の復号方法は、本技術の第1の側面の復号装置に対応する。
 本技術の第1の側面においては、符号化された画像、その画像のインター予測における動きベクトルと、その画像に近い画像の動きベクトルである予測ベクトルとの差分、および前記インター予測の予測方向が一方向である場合の前記動きベクトルの精度より、前記予測方向が双方向である場合の前記動きベクトルの精度の方が低いことを表す検出精度情報が受け取られ、前記検出精度情報に応じて、前記動きベクトルの精度が前記所定の精度より低い精度であり、前記予測ベクトルの精度が前記所定の精度である場合、前記予測ベクトルに対して丸め処理が行われることにより前記所定の精度より低い精度の前記予測ベクトルが生成され、前記所定の精度より低い精度の前記予測ベクトルと、前記差分とが加算されることにより、前記動きベクトルが生成され、前記動きベクトルを用いて動き補償処理が行われることにより、前記画像が復号される。
 本技術の第2の側面の符号化装置は、符号化対象の画像のインター予測の予測方向が一方向である場合、前記符号化対象の画像と、前記符号化対象の画像に対する前記インター予測における参照画像を用いて、所定の精度で、前記符号化対象の画像に対する前記参照画像の前記動きベクトルを検出する高精度動き検出部と、前記予測方向が双方向である場合、前記符号化対象の画像と前記参照画像を用いて、前記所定の精度より低い精度で、前記動きベクトルを検出する低精度動き検出部と、前記高精度動き検出部または前記低精度動き検出部により検出された前記動きベクトルを用いて動き補償処理を行うことにより、前記符号化対象の画像を符号化する符号化部と、前記符号化部により符号化された前記符号化対象の画像と前記動きベクトルを伝送する伝送部とを備える符号化装置である。
 本技術の第2の側面の符号化方法は、本技術の第2の側面の符号化装置に対応する。
 本技術の第2の側面においては、符号化対象の画像のインター予測の予測方向が一方向である場合、前記符号化対象の画像と、前記符号化対象の画像に対する前記インター予測における参照画像を用いて、所定の精度で、前記符号化対象の画像に対する前記参照画像の前記動きベクトルが検出され、前記予測方向が双方向である場合、前記符号化対象の画像と前記参照画像を用いて、前記所定の精度より低い精度で、前記動きベクトルが検出され、前記動きベクトルを用いて動き補償処理が行われることにより、前記符号化対象の画像が符号化され、符号化された前記符号化対象の画像と前記動きベクトルが伝送される。
 本技術の第1の側面によれば、インター予測時に分数精度の動き補償処理を行う場合において、符号化効率を向上させるように符号化された画像を復号することができる。
 本技術の第2の側面によれば、インター予測時に分数精度の動き補償処理を行う場合において、符号化効率を向上させることができる。
本技術を適用した符号化装置の一実施の形態の構成例を示すブロック図である。 図1の動き予測部の構成例を示すブロック図である。 図1の符号化装置による符号化処理を説明する第1のフローチャートである。 図1の符号化装置による符号化処理を説明する第2のフローチャートである。 L0動き予測処理を説明する第1のフローチャートである。 双方向動き予測処理を説明する第2のフローチャートである。 本技術を適用した復号装置の構成例を示すブロック図である。 図7の復号装置による復号処理を説明するフローチャートである。 コンピュータの一実施の形態の構成例を示すブロック図である。 テレビジョン受像機の主な構成例を示すブロック図である。 携帯電話機の主な構成例を示すブロック図である。 ハードディスクレコーダの主な構成例を示すブロック図である。 カメラの主な構成例を示すブロック図である。
 <一実施の形態>
 [符号化装置の一実施の形態の構成例]
 図1は、本技術を適用した符号化装置の一実施の形態の構成例を示すブロック図である。
 図1の符号化装置10は、A/D変換部11、画面並べ替えバッファ12、演算部13、直交変換部14、量子化部15、可逆符号化部16、蓄積バッファ17、逆量子化部18、逆直交変換部19、加算部20、デブロックフィルタ21、フレームメモリ22、イントラ予測部23、インター予測部24、動き予測部25、選択部26、およびレート制御部27により構成される。図1の符号化装置10は、入力された画像を圧縮符号化する。
 具体的には、符号化装置10のA/D変換部11は、入力信号として入力されたフレーム単位の画像をA/D変換し、画面並べ替えバッファ12に出力して記憶させる。画面並べ替えバッファ12は、記憶した表示の順番のフレーム単位の画像を、GOP(Group of Picture)構造に応じて、符号化のための順番に並べ替える。そして、画面並べ替えバッファ12は、並び替え後の画像を、スライス単位、LCU(Largest Coding Unit)単位、およびCU(Coding Unit)単位に順に分割し、演算部13、イントラ予測部23、および動き予測部25に出力する。
 演算部13は、符号化部として機能し、選択部26から供給される予測画像と、画面並べ替えバッファ12から出力された符号化対象の画像の差分を演算することにより、符号化を行う。具体的には、演算部13は、画面並べ替えバッファ12から出力された符号化対象の画像から、選択部26から供給される予測画像を減算する。演算部13は、減算の結果得られる画像を、残差情報として直交変換部14に出力する。なお、選択部26から予測画像が供給されない場合、演算部13は、画面並べ替えバッファ12から読み出された画像をそのまま残差情報として直交変換部14に出力する。
 直交変換部14は、演算部13からの残差情報に対して離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その結果得られる係数を量子化部15に供給する。
 量子化部15は、直交変換部14から供給される係数を量子化する。量子化された係数は、可逆符号化部16に入力される。
 可逆符号化部16は、最適イントラ予測モードを示す情報(以下、イントラ予測モード情報という)をイントラ予測部23から取得し、最適インター予測モードを示す情報(以下、インター予測モード情報という)、予測ブロックの動きベクトルと予測ベクトルとの差分である差分ベクトル(mvd)などをインター予測部24から取得する。
 可逆符号化部16は、量子化部15から供給される量子化された係数に対して、可変長符号化(例えば、CAVLC(Context-Adaptive Variable Length Coding)など)、算術符号化(例えば、CABAC(Context-Adaptive Binary Arithmetic Coding)など)などの可逆符号化を行い、その結果得られる情報を圧縮画像とする。
 また、可逆符号化部16は、差分ベクトルを取得した場合、差分ベクトルの絶対値を指数ゴロム符号で2値化する。指数ゴロム符号は、データ部であるサフィックスのビット数だけ0が連続するプリフィックス、セパレータとしての1、および、サフィックスとしての0または1の系列により構成される。従って、差分ベクトルの絶対値のビット数が多くなるほど、即ち、差分ベクトルの絶対値の分解能が高いほど、指数ゴロム符号の符号量は多くなる。可逆符号化部16は、2値化された差分ベクトルの絶対値と差分ベクトルのプラスマイナスの符号を差分ベクトル情報として生成する。
 また、可逆符号化部16は、イントラ予測モード情報、または、インター予測モード情報および差分ベクトル情報などを可逆符号化し、その結果得られる情報を圧縮画像に付加されるヘッダ情報とする。可逆符号化部16は、可逆符号化の結果得られるヘッダ情報が付加された圧縮画像を画像圧縮情報として蓄積バッファ17に供給し、蓄積させる。
 蓄積バッファ17は、可逆符号化部16から供給される画像圧縮情報を、一時的に記憶する。また、蓄積バッファ17は、伝送部として機能し、例えば、後段の図示せぬ記録装置や伝送路などに伝送する。
 また、量子化部15より出力された、量子化された係数は、逆量子化部18にも入力され、逆量子化された後、逆直交変換部19に供給される。
 逆直交変換部19は、逆量子化部18から供給される係数に対して、逆離散コサイン変換、逆カルーネン・レーベ変換等の逆直交変換を施し、その結果得られる残差情報を加算部20に供給する。
 加算部20は、逆直交変換部19から供給される復号対象の画像としての残差情報と、選択部26から供給される予測画像を加算して、局部的に復号された画像を得る。なお、選択部26から予測画像が供給されない場合、加算部20は、逆直交変換部19から供給される残差情報を局部的に復号された画像とする。加算部20は、局部的に復号された画像をデブロックフィルタ21に供給するとともに、参照画像としてイントラ予測部23に供給する。
 デブロックフィルタ21は、加算部20から供給される局部的に復号された画像をフィルタリングすることにより、ブロック歪を除去する。デブロックフィルタ21は、その結果得られる画像をフレームメモリ22に供給し、蓄積させる。フレームメモリ22に蓄積された画像は、参照画像としてインター予測部24および動き予測部25に出力される。
 イントラ予測部23は、画面並べ替えバッファ12から読み出された画像と、加算部20から供給された参照画像とに基づいて、候補となる全てのイントラ予測モードのイントラ予測を行い、予測画像を生成する。
 このとき、イントラ予測部23は、候補となる全てのイントラ予測モードに対してコスト関数値(詳細は後述する)を算出する。そして、イントラ予測部23は、コスト関数値が最小となるイントラ予測モードを最適イントラ予測モードに決定する。イントラ予測部23は、最適イントラ予測モードで生成された予測画像、および、対応するコスト関数値を、選択部26に供給する。イントラ予測部23は、選択部26から最適イントラ予測モードで生成された予測画像の選択が通知された場合、イントラ予測モード情報を可逆符号化部16に供給する。
 なお、コスト関数値は、RD(Rate Distortion)コストともいい、例えば、H.264/AVC方式における参照ソフトウェアであるJM(Joint Model)で定められているような、High Complexity モードか、Low Complexity モードのいずれかの手法に基づいて算出される。
 具体的には、コスト関数値の算出手法としてHigh Complexity モードが採用される場合、候補となる全ての予測モードに対して、仮に可逆符号化までが行われ、次の式(1)で表わされるコスト関数値が各予測モードに対して算出される。
 Cost(Mode)=D+λ・R              ・・・(1)
 Dは、原画像と復号画像の差分(歪)、Rは、直交変換の係数まで含んだ発生符号量、λは、量子化パラメータQPの関数として与えられるラグランジュ乗数である。
 一方、コスト関数値の算出手法としてLow Complexity モードが採用される場合、候補となる全ての予測モードに対して、復号画像の生成、および、予測モードを示す情報などのヘッダビットの算出が行われ、次の式(2)で表わされるコスト関数が各予測モードに対して算出される。
 Cost(Mode)=D+QPtoQuant(QP)・Header_Bit    ・・・(2)
 Dは、原画像と復号画像の差分(歪)、Header_Bitは、予測モードに対するヘッダビット、QPtoQuantは、量子化パラメータQPの関数として与えられる関数である。
 Low Complexity モードにおいては、全ての予測モードに対して、復号画像を生成するだけでよく、可逆符号化を行う必要がないため、演算量が少なくて済む。なお、ここでは、コスト関数値の算出手法としてHigh Complexity モードが採用されるものとする。
 インター予測部24は、動き予測部25から供給されるインター予測モード情報と動きベクトルに基づいて、フレームメモリ22から参照画像を読み出す。インター予測部24は、動きベクトルとフレームメモリ22から読み出された参照画像とに基づいて、インター予測処理を行う。具体的には、インター予測部24は、動きベクトルに基づいて参照画像に対してインターポーレーションを行うことにより、分数精度の動き補償処理を行う。インター予測部24は、その結果生成される予測画像と、動き予測部25から供給されるコスト関数値とを選択部26に供給する。
 なお、インター予測モードとは、予測ブロックのサイズ、予測方向、参照インデックス、および符号化モードを表す情報である。予測方向には、インター予測の対象とする画像よりも表示時刻が早い参照画像を用いた前方向の予測(L0予測)、インター予測の対象とする画像よりも表示時刻が遅い参照画像を用いた後方向の予測(L1予測)、およびインター予測の対象とする画像よりも表示時刻が早い参照画像と遅い参照画像を用いた両方向の予測(双方向予測(Bi-prediction))がある。
 また、参照インデックスとは、参照画像を特定するための番号であり、例えば、インター予測の対象とする画像に近い画像の参照インデックスほど番号が小さい。符号化モードには、差分ベクトルと残差情報を0とし、差分ベクトル情報と残差情報を伝送しないスキップモード、差分ベクトルのみを0とし、残差情報を伝送するが差分ベクトル情報を伝送しないマージモード、差分ベクトルと残差情報の両方を0にせず、差分ベクトル情報と残差情報を伝送する通常モードなどがある。
 また、インター予測部24は、選択部26から最適インター予測モードで生成された予測画像の選択が通知された場合、動きベクトルと予測ベクトルから差分ベクトルを求める。予測ベクトル(pmv)としては、現在の予測ブロックに空間的に近い予測ブロックまたは時間的に近い周辺位置の予測ブロックの動きベクトルのうち、現在の予測ブロックの動きベクトルとの差分が最も小さい動きベクトルが採用される。インター予測部24は、求められた差分ベクトル、インター予測モード情報、予測ベクトルとして選択された動きベクトルを表すpmv選択情報、検出精度情報などを可逆符号化部16に出力する。なお、検出精度情報とは、予測方向がL0予測またはL1予測である場合の動きベクトルの精度より、予測方向が双方向である場合の動きベクトルの精度が低いことを表す情報である。
 動き予測部25は、画面並べ替えバッファ12から供給される画像と、フレームメモリ22から供給される参照画像とに基づいて、候補となる全てのインター予測モードの動きベクトルを、そのインター予測モードの予測方向に応じた分数精度で検出する。
 また、動き予測部25は、候補となる全てのインター予測モードに対してコスト関数値を算出し、コスト関数値が最小となるインター予測モードを最適インター測モードに決定する。そして、動き予測部25は、インター予測モード情報、並びに、対応する動きベクトルおよびコスト関数値をインター予測部24に供給する。
 選択部26は、イントラ予測部23およびインター予測部24から供給されるコスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちのいずれかを、最適予測モードに決定する。そして、選択部26は、最適予測モードの予測画像を、演算部13および加算部20に供給する。また、選択部26は、最適予測モードの予測画像の選択をイントラ予測部23またはインター予測部24に通知する。
 レート制御部27は、蓄積バッファ17に蓄積された画像圧縮情報に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部15の量子化動作のレートを制御する。
 [動き予測部の構成例]
 図2は、図1の動き予測部25の構成例を示すブロック図である。
 図2において、動き予測部25は、L0動き検出部41、L1動き検出部42、双方向動き検出部43、および決定部44により構成される。
 L0動き検出部41は、高精度動き検出部として機能し、整数ベクトル検出部51、1/2ベクトル検出部52、1/4ベクトル検出部53、および1/8ベクトル検出部54により構成される。L0動き検出部41は、予測方向としてL0予測を表すインター予測モードごとの動きベクトルを1/8画素精度で検出する。
 具体的には、L0動き検出部41には、予測方向としてL0予測を表すインター予測モードごとに、画面並べ変えバッファ12から供給される符号化対象の画像と、フレームメモリ22から読みされた参照画像としての符号化対象の画像よりも表示時刻が早い画像とが供給される。
 整数ベクトル検出部51は、符号化対象の画像と参照画像を用いて、予測方向としてL0予測を表すインター予測モードごとに、整数画素精度で動きベクトルを検出する。具体的には、整数ベクトル検出部51は、符号化対象の画像の予測ブロックとの差分が最も小さくなる参照画像のブロックを検出する。そして、整数ベクトル検出部51は、予測ブロックの位置に対する検出された参照画像のブロックの位置を表す動きベクトルを、予測ブロックに対する参照画像の整数画素精度の動きベクトルとして検出する。整数ベクトル検出部51は、検出された整数画素精度の動きベクトルを1/2ベクトル検出部52に供給する。
 1/2ベクトル検出部52は、整数ベクトル検出部51から供給される整数画素精度の動きベクトルに基づいて、参照画像に対してインターポーレーションを行う。これにより、1/2ベクトル検出部52は、その動きベクトルに対応する位置を中心とした、水平方向および垂直方向の間隔が1/2画素位置の3×3画素の参照ブロックを生成する。
 そして、1/2ベクトル検出部52は、生成された参照ブロックと符号化対象の画像を用いて、整数ベクトル検出部51と同様に、予測方向としてL0予測を表すインター予測モードごとに、1/2画素精度で動きベクトルを検出する。1/2ベクトル検出部52は、検出された1/2画素精度の動きベクトルを1/4ベクトル検出部53に供給する。
 1/4ベクトル検出部53は、1/2ベクトル検出部52から供給される1/2画素精度の動きベクトルに基づいて、参照画像に対してインターポーレーションを行う。これにより、1/4ベクトル検出部53は、その動きベクトルに対応する位置を中心とした、水平方向および垂直方向の間隔が1/4画素位置の3×3画素の参照ブロックを生成する。
 そして、1/4ベクトル検出部53は、生成された参照ブロックと符号化対象の画像を用いて、整数ベクトル検出部51と同様に、予測方向としてL0予測を表すインター予測モードごとに、1/4画素精度で動きベクトルを検出する。1/4ベクトル検出部53は、検出された1/4画素精度の動きベクトルを1/8ベクトル検出部54に供給する。
 1/8ベクトル検出部54は、1/4ベクトル検出部53から供給される1/4画素精度の動きベクトルに基づいて、参照画像に対してインターポーレーションを行う。これにより、1/8ベクトル検出部54は、その動きベクトルに対応する位置を中心とした、水平方向および垂直方向の間隔が1/8画素位置の3×3画素の参照ブロックを生成する。
 そして、1/8ベクトル検出部54は、生成された参照ブロックと符号化対象の画像を用いて、整数ベクトル検出部51と同様に、予測方向としてL0予測を表すインター予測モードごとに、1/8画素精度で動きベクトルを検出する。
 また、1/8ベクトル検出部54は、検出された予測方向としてL0予測を表すインター予測モードごとの1/8画素精度の動きベクトル等を用いて、そのインター予測モードに対してコスト関数値を算出する。そして、1/8ベクトル検出部54は、コスト関数値が最小となるインター予測モードを、予測方向としてL0予測を表すインター予測モードの最適モード(以下、L0最適インター予測モードという)に決定する。1/8ベクトル検出部54は、L0最適インター予測モードと、対応するコスト関数値および動きベクトルを決定部44に供給する。
 L1動き検出部42は、高精度動き検出部として機能し、整数ベクトル検出部61、1/2ベクトル検出部62、1/4ベクトル検出部63、および1/8ベクトル検出部64により構成される。L1動き検出部42は、予測方向としてL1予測を表すインター予測モードごとの動きベクトルを1/8画素精度で検出する。
 なお、L1動き検出部42の各部の処理は、予測方向としてL1予測を表すインター予測モードごとに行われ、参照画像として符号化対象の画像よりも表示時刻が遅い画像がフレームメモリ22から読み出される点を除いて、L0動き検出部41の各部の処理と同様であるので、説明は省略する。
 双方向動き検出部43は、低精度動き検出部として機能し、整数ベクトル検出部71、1/2ベクトル検出部72、1/4ベクトル検出部73、整数ベクトル検出部74、1/2ベクトル検出部75、および1/4ベクトル検出部76により構成される。双方向動き検出部43は、予測方向として双方向予測を表すインター予測モードごとの動きベクトルを1/4画素精度で検出する。
 具体的には、双方向動き検出部43には、予測方向として双方向予測を表すインター予測モードごとに、画面並べ変えバッファ12から供給される符号化対象の画像、並びに、フレームメモリ22から読みされた参照画像としての符号化対象の画像よりも表示時刻が早い画像および遅い画像が供給される。
 整数ベクトル検出部71は、1/4ベクトル検出部63により検出された後ろ方向の1/4画素精度の動きベクトルに基づいて、符号化対象の画像よりも表示時刻が遅い参照画像(以下、後ろ参照画像という)に対してインターポーレーションを行う。これにより、整数ベクトル検出部71は、その動きベクトルに対応する位置を中心とした、水平方向および垂直方向の間隔が1/4画素位置の3×3画素の後ろ参照ブロックを生成する。
 整数ベクトル検出部71は、予測方向として双方向予測を表すインター予測モードごとに、後ろ参照ブロック、符号化対象の画像よりも表示時刻が早い参照画像(以下、前参照画像という)、および符号化対象の画像を用いて、整数画素精度で前方向の動きベクトルを検出する。具体的には、整数ベクトル検出部71は、予測方向として双方向予測を表すインター予測モードごとに、後ろ参照ブロックと前参照画像を合成し、その結果得られる画像と符号化対象の画像の予測ブロックとの差分が最も小さくなる前参照画像のブロックを検出する。そして、整数ベクトル検出部71は、予測ブロックの位置に対する検出された前参照画像のブロックの位置を表す動きベクトルを、前方向の整数画素精度の動きベクトルとして検出する。整数ベクトル検出部71は、検出された前方向の整数画素精度の動きベクトルを、1/2ベクトル検出部72に供給する。
 1/2ベクトル検出部72は、整数ベクトル検出部71から供給される前方向の整数画素精度の動きベクトルに基づいて、前参照画像に対してインターポーレーションを行う。これにより、1/2ベクトル検出部72は、その動きベクトルに対応する位置を中心とした、水平方向および垂直方向の間隔が1/2画素位置の3×3画素の前参照ブロックを生成する。
 そして、1/2ベクトル検出部72は、生成された前参照ブロック、後ろ参照ブロック、および符号化対象の画像を用いて、整数ベクトル検出部71と同様に、予測方向として双方向予測を表すインター予測モードごとに、1/2画素精度で前方向の動きベクトルを検出する。1/2ベクトル検出部72は、検出された前方向の1/2画素精度の動きベクトルを1/4ベクトル検出部73に供給する。
 1/4ベクトル検出部73は、1/2ベクトル検出部72から供給される前方向の1/2画素精度の動きベクトルに基づいて、前参照画像に対してインターポーレーションを行う。これにより、1/4ベクトル検出部73は、その動きベクトルに対応する位置を中心とした、水平方向および垂直方向の間隔が1/4画素位置の3×3画素の前参照ブロックを生成する。
 そして、1/4ベクトル検出部73は、生成された前参照ブロック、後ろ参照ブロック、および符号化対象の画像を用いて、整数ベクトル検出部71と同様に、予測方向として双方向予測を表すインター予測モードごとに、1/4画素精度で前方向の動きベクトルを検出する。1/4ベクトル検出部73は、検出された前方向の1/4画素精度の動きベクトルを整数ベクトル検出部74と1/4ベクトル検出部76に供給する。
 整数ベクトル検出部74は、1/4ベクトル検出部73から供給される前方向の1/4画素精度の動きベクトルに基づいて、前参照画像に対してインターポーレーションを行う。これにより、整数ベクトル検出部74は、その動きベクトルに対応する位置を中心とした、水平方向および垂直方向の間隔が1/4画素位置の3×3画素の前参照ブロックを生成する。
 整数ベクトル検出部74は、整数ベクトル検出部71と同様に、予測方向として双方向予測を表すインター予測モードごとに、前参照ブロック、後ろ参照画像、および符号化対象の画像を用いて、整数画素精度で後ろ方向の動きベクトルを検出する。整数ベクトル検出部74は、検出された後ろ方向の整数画素精度の動きベクトルを、1/2ベクトル検出部75に供給する。
 1/2ベクトル検出部75と1/4ベクトル検出部76の処理は、前参照画像ではなく後ろ参照画像に対してインターポーレーションを行い、前方向ではなく後ろ方向の動きベクトルを検出する点を除いて、1/2ベクトル検出部72と1/4ベクトル検出部73の処理と同様である。
 但し、1/4ベクトル検出部76は、予測方向として双方向予測を表すインター予測モードごとの、1/4ベクトル検出部73からの前方向の1/4画素精度の動きベクトル、後ろ方向の1/4画素精度の動きベクトル等を用いて、そのインター予測モードに対してコスト関数値を算出する。そして、1/4ベクトル検出部76は、コスト関数値が最小となるインター予測モードを、予測方向として双方向予測を表すインター予測モードの最適モード(以下、双方向最適インター予測モードという)に決定する。1/4ベクトル検出部76は、双方向最適インター予測モードと、対応するコスト関数値および動きベクトルを決定部44に供給する。
 決定部44は、1/8ベクトル検出部54、1/8ベクトル検出部64、および、1/4ベクトル検出部76から供給されるコスト関数値から最小値を検出する。決定部44は、その最小値に対応して供給されるL0最適インター予測モード、予測方向としてL1予測を表すインター予測モードの最適モード(以下、L1最適インター予測モードという)、または双方向最適インター予測モードを最適インター予測モードに決定する。決定部44は、インター予測モード情報、並びに、対応する動きベクトルおよびコスト関数値をインター予測部24(図1)に供給する。
 [符号化装置の処理の説明]
 図3および図4は、図1の符号化装置10による符号化処理を説明するフローチャートである。この符号化処理は、例えば、入力信号としてフレーム単位の画像が符号化装置10に入力されるたびに行われる。
 図3のステップS10において、符号化装置10のA/D変換部11は、入力信号として入力されたフレーム単位の画像をA/D変換し、画面並べ替えバッファ12に出力して記憶させる。
 ステップS11において、画面並べ替えバッファ12は、記憶した表示の順番のフレームの画像を、GOP構造に応じて、符号化のための順番に並べ替える。画面並べ替えバッファ12は、並べ替え後のフレーム単位の画像を、スライス単位、LCU、およびCU単位に順に分割し、演算部13、イントラ予測部23、および動き予測部25に供給する。以降のステップS12乃至S31の処理は、例えばCU単位で行われる。
 ステップS12において、イントラ予測部23は、画面並べ替えバッファ12から供給される画像と、加算部20から供給される参照画像とに基づいて、候補となる全てのイントラ予測モードのイントラ予測を行い、予測画像を生成する。また、イントラ予測部23は、候補となる全てのイントラ予測モードに対してコスト関数値を算出する。そして、イントラ予測部23は、コスト関数値が最小となるイントラ予測モードを最適イントラ予測モードに決定する。イントラ予測部23は、最適イントラ予測モードで生成された予測画像、および、対応するコスト関数値を、選択部26に供給する。
 ステップS13において、動き予測部25は、画面並べ替えバッファ12から供給される画像に対して、フレームメモリ22から供給される参照画像を用いて、候補となる全てのインター予測モードの動き予測処理を行う。この動き予測処理の詳細は、後述する図5および図6を参照して説明する。
 ステップS14において、動き予測部25の決定部44(図2)は、ステップS13の動き予測処理により得られたコスト関数値が最小であるインター予測モードを最適インター予測モードに決定する。そして、決定部44は、インター予測モード情報、並びに、対応する動きベクトルおよびコスト関数値をインター予測部24に供給する。
 ステップS15において、インター予測部24は、動き予測部25から供給される動きベクトルとインター予測モード情報に基づいて、最適インター予測モードのインター予測を行い、予測画像を生成する。インター予測部24は、生成された予測画像と、動き予測部25から供給されるコスト関数値とを選択部26に供給する。
 ステップS16において、選択部26は、イントラ予測部23およびインター予測部24から供給されるコスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちのコスト関数値が最小となる方を、最適予測モードに決定する。そして、選択部26は、最適予測モードの予測画像を、演算部13および加算部20に供給する。
 ステップS17において、選択部26は、最適予測モードが最適インター予測モードであるかどうかを判定する。ステップS17で最適予測モードが最適インター予測モードであると判定された場合、選択部26は、最適インター予測モードで生成された予測画像の選択をインター予測部24に通知する。
 そして、ステップS18において、インター予測部24は、動きベクトルと予測ベクトルから差分ベクトルを求める。このとき、動きベクトルの精度が1/4画素精度であり、予測ベクトルの精度が1/8画素精度である場合、インター予測部24は、予測ベクトル変換部として機能し、予測ベクトルに対して丸め処理を行うことにより、1/4画素精度の予測ベクトルを生成する。そして、インター予測部24は、1/4画素精度の予測ベクトルを用いて差分ベクトルを求める。インター予測部24は、求められた差分ベクトル、インター予測モード情報、pmv選択情報、および検出精度情報を可逆符号化部16に出力する。
 ステップS19において、可逆符号化部16は、インター予測部24から供給される差分ベクトルから差分ベクトル情報を生成し、インター予測モード情報、差分ベクトル情報、pmv選択情報、および検出精度情報を可逆符号化する。可逆符号化部16は、その結果得られる情報を圧縮画像に付加されるヘッダ情報とし、処理をステップS21に進める。
 一方、ステップS17で最適予測モードが最適インター予測モードではないと判定された場合、即ち最適予測モードが最適イントラ予測モードである場合、選択部26は、最適イントラ予測モードで生成された予測画像の選択をイントラ予測部23に通知する。これにより、イントラ予測部23は、イントラ予測モード情報を可逆符号化部16に供給する。
 そして、ステップS20において、可逆符号化部16は、イントラ予測部23から供給されるイントラ予測モード情報などを可逆符号化し、その結果得られる情報を圧縮画像に付加されるヘッダ情報とする。そして、処理はステップS21に進む。
ステップS21において、演算部13は、画面並べ替えバッファ12から供給される画像から、選択部26から供給される予測画像を減算する。演算部13は、減算の結果得られる画像を、残差情報として直交変換部14に出力する。
 ステップS22において、直交変換部14は、演算部13からの残差情報に対して直交変換を施し、その結果得られる係数を量子化部15に供給する。
 ステップS23において、量子化部15は、直交変換部14から供給される係数を量子化する。量子化された係数は、可逆符号化部16と逆量子化部18に入力される。
 ステップS24において、可逆符号化部16は、量子化部15から供給される量子化された係数を可逆符号化し、その結果得られる情報を圧縮画像とする。そして、可逆符号化部16は、ステップS19またはS20の処理で生成されたヘッダ情報を圧縮画像に付加し、画像圧縮情報を生成する。
 図4のステップS25において、可逆符号化部16は、画像圧縮情報を蓄積バッファ17に供給し、蓄積させる。
 ステップS26において、蓄積バッファ17は、蓄積されている画像圧縮情報を、例えば、後段の図示せぬ記録装置や伝送路などに出力する。
 ステップS27において、逆量子化部18は、量子化部15から供給される量子化された係数を逆量子化する。
 ステップS28において、逆直交変換部19は、逆量子化部18から供給される係数に対して逆直交変換を施し、その結果得られる残差情報を加算部20に供給する。
 ステップS29において、加算部20は、逆直交変換部19から供給される残差情報と、選択部26から供給される予測画像を加算し、局部的に復号された画像を得る。加算部20は、得られた画像をデブロックフィルタ21に供給するとともに、参照画像としてイントラ予測部23に供給する。
 ステップS30において、デブロックフィルタ21は、加算部20から供給される局部的に復号された画像に対してフィルタリングを行うことにより、ブロック歪を除去する。
 ステップS31において、デブロックフィルタ21は、フィルタリング後の画像をフレームメモリ22に供給し、蓄積させる。フレームメモリ22に蓄積された画像は、参照画像としてインター予測部24および動き予測部25に出力される。そして、処理は終了する。
 なお、図3および図4の符号化処理では、説明を簡単化するため、常に、イントラ予測処理と動き補償処理が行われるようにしたが、実際には、ピクチャタイプ等によっていずれか一方のみが行われる場合もある。また、可逆符号化部16において、差分ベクトル情報および量子化された係数が必ず可逆符号化されるようにしたが、実際には、符号化モードによって可逆符号化されない場合もある。即ち、スキップモードである場合、差分ベクトル情報と量子化された係数は可逆符号化されず、マージモードである場合、差分ベクトル情報は可逆符号化されない。
 図5は、図3のステップS13の動き予測処理のうちの、予測方向としてL0予測を表すインター予測モードの動きベクトルを検出するL0動き予測処理を説明するフローチャートである。
 ステップS51において、整数ベクトル検出部51は、画面並べ変えバッファ12から供給される符号化対象の画像と、フレームメモリ22から読みされた前参照画像を用いて、予測方向としてL0予測を表すインター予測モードごとに、整数画素精度の動きベクトルを検出する。整数ベクトル検出部51は、検出された整数画素精度の動きベクトルを1/2ベクトル検出部52に供給する。
 ステップS52において、1/2ベクトル検出部52は、整数ベクトル検出部51から供給される整数画素精度の動きベクトルに基づいて、前参照画像に対してインターポーレーションを行う。これにより、1/2ベクトル検出部52は、その動きベクトルに対応する位置を中心とした、水平方向および垂直方向の間隔が1/2画素位置の3×3画素の参照ブロックを生成する。
 ステップS53において、1/2ベクトル検出部52は、生成された参照ブロックと符号化対象の画像を用いて、整数ベクトル検出部51と同様に、予測方向としてL0予測を表すインター予測モードごとに、1/2画素精度の動きベクトルを検出する。1/2ベクトル検出部52は、検出された1/2画素精度の動きベクトルを1/4ベクトル検出部53に供給する。
 ステップS54において、1/4ベクトル検出部53は、1/2ベクトル検出部52から供給される1/2画素精度の動きベクトルに基づいて、前参照画像に対してインターポーレーションを行う。これにより、1/4ベクトル検出部53は、その動きベクトルに対応する位置を中心とした、水平方向および垂直方向の間隔が1/4画素位置の3×3画素の参照ブロックを生成する。
 ステップS55において、1/4ベクトル検出部53は、生成された参照ブロックと符号化対象の画像を用いて、整数ベクトル検出部51と同様に、予測方向としてL0予測を表すインター予測モードごとに、1/4画素精度の動きベクトルを検出する。1/4ベクトル検出部53は、検出された1/4画素精度の動きベクトルを1/8ベクトル検出部54に供給する。
 ステップS56において、1/8ベクトル検出部54は、1/4ベクトル検出部53から供給される1/4画素精度の動きベクトルに基づいて、参照画像に対してインターポーレーションを行う。これにより、1/8ベクトル検出部54は、その動きベクトルに対応する位置を中心とした、水平方向および垂直方向の間隔が1/8画素位置の3×3画素の参照ブロックを生成する。
 ステップS57において、1/8ベクトル検出部54は、生成された参照ブロックと符号化対象の画像を用いて、整数ベクトル検出部51と同様に、予測方向としてL0予測を表すインター予測モードごとに、1/8画素精度の動きベクトルを検出する。
 ステップS58において、1/8ベクトル検出部54は、検出された予測方向としてL0予測を表すインター予測モードごとの1/8画素精度の動きベクトル等を用いて、そのインター予測モードに対してコスト関数値を求める。そして、1/8ベクトル検出部54は、コスト関数値が最小となるインター予測モードを、L0最適インター予測モードに決定し、L0最適インター予測モードと、対応するコスト関数値および動きベクトルを決定部44に供給する。
 なお、予測方向としてL1予測を表すインター予測モードの動きベクトルを検出するL1動き予測処理は、図5のL0動き予測処理と同様であるので、説明は省略する。
 図6は、図3のステップS13の動き予測処理のうちの、予測方向として双方向予測を表すインター予測モードの動きベクトルを検出する双方向動き予測処理を説明するフローチャートである。
 ステップS70において、整数ベクトル検出部71は、1/4ベクトル検出部63により検出された後ろ方向の1/4画素精度の動きベクトルに基づいて、フレームメモリ22から読みされた後ろ参照画像に対してインターポーレーションを行う。これにより、整数ベクトル検出部71は、その動きベクトルに対応する位置を中心とした、水平方向および垂直方向の間隔が1/2画素位置の3×3画素の後ろ参照ブロックを生成する。
 ステップS71において、整数ベクトル検出部71は、予測方向として双方向予測を表すインター予測モードごとに、後ろ参照ブロック、前参照画像、および符号化対象の画像を用いて、前方向の整数画素精度の動きベクトルを検出する。整数ベクトル検出部71は、検出された前方向の整数画素精度の動きベクトルを、1/2ベクトル検出部72に供給する。
 ステップS72において、1/2ベクトル検出部72は、整数ベクトル検出部71から供給される前方向の整数画素精度の動きベクトルに基づいて、前参照画像に対してインターポーレーションを行う。これにより、1/2ベクトル検出部72は、その動きベクトルに対応する位置を中心とした、水平方向および垂直方向の間隔が1/2画素位置の3×3画素の前参照ブロックを生成する。
 ステップS73において、1/2ベクトル検出部72は、生成された前参照ブロック、後ろ参照ブロック、および符号化対象の画像を用いて、整数ベクトル検出部71と同様に、予測方向として双方向予測を表すインター予測モードごとに、前方向の1/2画素精度の動きベクトルを検出する。1/2ベクトル検出部72は、検出された前方向の1/2画素精度の動きベクトルを1/4ベクトル検出部73に供給する。
 ステップS74において、1/4ベクトル検出部73は、1/2ベクトル検出部72から供給される前方向の1/2画素精度の動きベクトルに基づいて、前参照画像に対してインターポーレーションを行う。これにより、1/4ベクトル検出部73は、その動きベクトルに対応する位置を中心とした、水平方向および垂直方向の間隔が1/4画素位置の3×3画素の前参照ブロックを生成する。
 ステップS75において、1/4ベクトル検出部73は、生成された前参照ブロック、後ろ参照ブロック、および符号化対象の画像を用いて、整数ベクトル検出部71と同様に、予測方向として双方向予測を表すインター予測モードごとに、前方向の1/4画素精度の動きベクトルを検出する。1/4ベクトル検出部73は、検出された前方向の1/4画素精度の動きベクトルを整数ベクトル検出部74と1/4ベクトル検出部76に供給する。
 ステップS76において、整数ベクトル検出部74は、1/4ベクトル検出部73から供給される前方向の1/4画素精度の動きベクトルに基づいて、前参照画像に対してインターポーレーションを行う。これにより、整数ベクトル検出部74は、その動きベクトルに対応する位置を中心とした、水平方向および垂直方向の間隔が1/4画素位置の3×3画素の前参照ブロックを生成する。
 ステップS77において、整数ベクトル検出部74は、整数ベクトル検出部71と同様に、予測方向として双方向予測を表すインター予測モードごとに、前参照ブロック、後ろ参照画像、および符号化対象の画像を用いて、後ろ方向の整数画素精度の動きベクトルを検出する。整数ベクトル検出部74は、検出された後ろ方向の整数画素精度の動きベクトルを、1/2ベクトル検出部75に供給する。
 ステップS78において、1/2ベクトル検出部75は、整数ベクトル検出部74から供給される後ろ方向の整数画素精度の動きベクトルに基づいて、後ろ参照画像に対してインターポーレーションを行う。これにより、1/2ベクトル検出部75は、その動きベクトルに対応する位置を中心とした、水平方向および垂直方向の間隔が1/2画素位置の3×3画素の後ろ参照ブロックを生成する。
 ステップS79において、1/2ベクトル検出部75は、生成された後ろ参照ブロック、前参照ブロック、および符号化対象の画像を用いて、整数ベクトル検出部71と同様に、予測方向として双方向予測を表すインター予測モードごとに、後ろ方向の1/2画素精度の動きベクトルを検出する。1/2ベクトル検出部72は、検出された後ろ方向の1/2画素精度の動きベクトルを1/4ベクトル検出部76に供給する。
 ステップS80において、1/4ベクトル検出部76は、1/2ベクトル検出部75から供給される後ろ方向の1/2画素精度の動きベクトルに基づいて、後ろ参照画像に対してインターポーレーションを行う。これにより、1/4ベクトル検出部76は、その動きベクトルに対応する位置を中心とした、水平方向および垂直方向の間隔が1/4画素位置の3×3画素の後ろ参照ブロックを生成する。
 ステップS81において、1/4ベクトル検出部76は、生成された後ろ参照ブロック、前参照ブロック、および符号化対象の画像を用いて、整数ベクトル検出部71と同様に、予測方向として双方向予測を表すインター予測モードごとに、後ろ方向の1/4画素精度の動きベクトルを検出する。
 ステップS82において、1/4ベクトル検出部76は、予測方向として双方向予測を表すインター予測モードごとの、ステップS75で検出された前方向の1/4画素精度の動きベクトル、ステップS81で検出された後ろ方向の1/4画素精度の動きベクトル等を用いて、そのインター予測モードに対してコスト関数値を求める。そして、1/4ベクトル検出部76は、コスト関数値が最小となるインター予測モードを、双方向最適インター予測モードに決定する。1/4ベクトル検出部76は、双方向最適インター予測モードと、対応するコスト関数値および動きベクトルを決定部44に供給し、処理を終了する。
 なお、図2の動き予測部25の双方向動き検出部43は、後ろ方向の1/4画素精度の動きベクトルを固定したときの前方向の1/4画素精度の動きベクトルの検出と、前方向の1/4画素精度の動きベクトルを固定したときの後ろ方向の1/4画素精度の動きベクトルの検出を1回ずつ行ったが、所定の回数だけ繰り返してもよい。
 以上のように、符号化装置10は、予測方向が双方向予測である場合の動きベクトルの精度を、予測方向がL0予測またはL1予測である場合の動きベクトルの精度より低くする。即ち、予測ブロック当たりの動きベクトルの数が多い場合の動きベクトルの精度を、予測ブロック当たりの動きベクトルの数が少ない場合の動きベクトルの精度より低くする。これにより、動きベクトルの情報量を抑制しつつ動き補償処理の精度を向上させることができる。その結果、符号化効率を向上させることができる。
 [復号装置の構成例]
 図7は、図1の符号化装置10から出力される画像圧縮情報を復号する、本技術を適用した復号装置の構成例を示すブロック図である。
 図7の復号装置100は、蓄積バッファ101、可逆復号化部102、逆量子化部103、逆直交変換部104、加算部105、デブロックフィルタ106、画面並べ替えバッファ107、D/A変換部108、フレームメモリ109、イントラ予測部110、インター予測部113、予測ベクトル変換部111、動きベクトル生成部112、およびスイッチ114により構成される。
 復号装置100の蓄積バッファ101は、図1の符号化装置10から画像圧縮情報を受け取り、蓄積する。蓄積バッファ101は、蓄積されている画像圧縮情報を可逆復号化部102に供給する。
 可逆復号化部102は、蓄積バッファ101からの画像圧縮情報に対して、可変長復号や、算術復号等の可逆復号を施すことで、量子化された係数とヘッダを得る。可逆復号化部102は、量子化された係数を逆量子化部103に供給する。また、可逆復号化部102は、ヘッダに含まれるイントラ予測モード情報などをイントラ予測部110に供給する。さらに、可逆復号化部102は、ヘッダに含まれる差分ベクトル情報をプラスマイナスの符号と差分ベクトルの絶対値の指数ゴロム符号に分解し、指数ゴロム符号を逆2値化してプラスマイナスの符号を付加することにより差分ベクトルを生成する。
 可逆復号化部102は、生成された差分ベクトル、並びに、ヘッダに含まれるpmv選択情報および検出精度情報を予測ベクトル変換部111に供給する。また、可逆復号化部102は、ヘッダに含まれるインター予測モード情報をインター予測部113に供給する。さらに、可逆復号化部102は、ヘッダに含まれるイントラ予測モード情報またはインター予測モード情報をスイッチ114に供給する。
 逆量子化部103、逆直交変換部104、加算部105、デブロックフィルタ106、フレームメモリ109、イントラ予測部110、および、インター予測部113は、図1の逆量子化部18、逆直交変換部19、加算部20、デブロックフィルタ21、フレームメモリ22、イントラ予測部23、および、インター予測部24とそれぞれ同様の処理を行い、これにより、画像が復号される。
 具体的には、逆量子化部103は、可逆復号化部102からの量子化された係数を逆量子化し、その結果得られる係数を逆直交変換部104に供給する。
 逆直交変換部104は、逆量子化部103からの係数に対して、逆離散コサイン変換、逆カルーネン・レーベ変換等の逆直交変換を施し、その結果得られる残差情報を加算部105に供給する。
 加算部105は、復号部として機能し、逆直交変換部104から供給される復号対象の画像としての残差情報と、スイッチ114から供給される予測画像を加算することにより、復号を行う。加算部105は、復号の結果得られる画像をデブロックフィルタ106に供給するとともに、参照画像としてイントラ予測部110に供給する。なお、スイッチ114から予測画像が供給されない場合、加算部105は、逆直交変換部104から供給される残差情報である画像をデブロックフィルタ106に供給するとともに、参照画像としてイントラ予測部110に供給する。
 デブロックフィルタ106は、加算部105から供給される画像をフィルタリングすることにより、ブロック歪を除去する。デブロックフィルタ106は、その結果得られる画像をフレームメモリ109に供給し、蓄積させるとともに、画面並べ替えバッファ107に供給する。フレームメモリ109に蓄積された画像は、参照画像としてインター予測部113に供給される。
 画面並べ替えバッファ107は、デブロックフィルタ106から供給される画像をフレーム単位で記憶する。画面並べ替えバッファ107は、記憶した符号化のための順番のフレーム単位の画像を、元の表示の順番に並び替え、D/A変換部108に供給する。
 D/A変換部108は、画面並べ替えバッファ107から供給されるフレーム単位の画像をD/A変換し、出力信号として出力する。
 イントラ予測部110は、加算部105から供給される参照画像を用いて、可逆復号化部102から供給されるイントラ予測モード情報が表すイントラ予測モードのイントラ予測を行い、予測画像を生成する。そして、イントラ予測部110は、予測画像をスイッチ114に供給する。
 予測ベクトル変換部111は、保持している動きベクトルのうちの、可逆復号化部102から供給されるpmv選択情報が表す動きベクトルを、予測ベクトルとして読み出す。予測ベクトル変換部111は、可逆復号化部102から供給される検出精度情報に応じて、差分ベクトルの精度が予測ベクトルの精度に比べて低い場合、即ち差分ベクトルの精度が1/4画素精度であり、予測ベクトルの精度が1/8画素精度である場合、予測ベクトルに対して丸め処理を行うことにより、1/4画素精度の予測ベクトルを生成する。予測ベクトル変換部111は、生成された1/4画素精度の予測ベクトル、または、読み出された予測ベクトルそのものと、差分ベクトルを動きベクトル生成部112に供給する。
 動きベクトル生成部112は、予測ベクトル変換部111から供給される予測ベクトルと差分ベクトルを加算することにより、動きベクトルを生成する。動きベクトル生成部112は、生成された動きベクトルを、予測ベクトル変換部111に供給して保持させるとともに、インター予測部113に供給する。
 インター予測部113は、動きベクトル生成部112から供給される動きベクトルと、可逆復号化部102から供給されるインター予測モード情報とに基づいて、図1のインター予測部24と同様に、フレームメモリ109から参照画像を読み出す。インター予測部113は、動きベクトルとフレームメモリ109から読み出された参照画像とに基づいて、インター予測部24と同様のインター予測処理を行う。インター予測部113は、その結果生成される予測画像をスイッチ114に供給する。
 スイッチ114は、可逆復号化部102からイントラ予測モード情報が供給された場合、イントラ予測部110から供給される予測画像を加算部105に供給する。一方、可逆復号化部102からインター予測モード情報が供給された場合、インター予測部113から供給される予測画像を加算部105に供給する。
 [復号装置の処理の説明]
 図8は、図7の復号装置100による復号処理を説明するフローチャートである。この復号処理は、例えば、フレーム単位の画像圧縮情報が復号装置100に入力されるたびに行われる。
 図8のステップS101において、復号装置100の蓄積バッファ101は、図1の符号化装置10からフレーム単位の画像圧縮情報を受け取り、蓄積する。蓄積バッファ101は、蓄積されている画像圧縮情報を可逆復号化部102に供給する。なお、以下のステップS102乃至S113の処理は、例えばCU単位で行われる。
 ステップS102において、可逆復号化部102は、蓄積バッファ101からの画像圧縮情報を可逆復号し、量子化された係数とヘッダを得る。可逆復号化部102は、量子化された係数を逆量子化部103に供給する。また、可逆復号化部102は、ヘッダに含まれるイントラ予測モード情報などをイントラ予測部110に供給する。さらに、可逆復号化部102は、ヘッダに含まれる差分ベクトル情報をプラスマイナスの符号と差分ベクトルの絶対値の指数ゴロム符号に分解し、指数ゴロム符号を逆2値化してプラスマイナスの符号を付加することにより差分ベクトルを生成する。
 可逆復号化部102は、生成された差分ベクトル、並びに、ヘッダに含まれるpmv選択情報および検出精度情報を予測ベクトル変換部111に供給する。また、可逆復号化部102は、ヘッダに含まれるインター予測モード情報をインター予測部113に供給する。さらに、可逆復号化部102は、ヘッダに含まれるイントラ予測モード情報またはインター予測モード情報をスイッチ114に供給する。
 ステップS103において、逆量子化部103は、可逆復号化部102からの量子化された係数を逆量子化し、その結果得られる係数を逆直交変換部104に供給する。
 ステップS104において、逆直交変換部104は、逆量子化部103からの係数に対して逆直交変換を施し、その結果得られる残差情報を加算部105に供給する。
 ステップS105において、予測ベクトル変換部111は、可逆復号化部102から差分ベクトル、pmv選択情報、および検出精度情報が供給されたかどうかを判定する。ステップS105で差分ベクトル、pmv選択情報、および検出精度情報が供給されたと判定された場合、予測ベクトル変換部111は、保持している動きベクトルのうちの、可逆復号化部102から供給されるpmv選択情報が表す動きベクトルを、予測ベクトルとして読み出す。そして、処理はステップS106に進む。
 ステップS106において、予測ベクトル変換部111は、可逆復号化部102から供給される検出精度情報に応じて、差分ベクトルの精度が予測ベクトルの精度に比べて低いかどうかを判定する。差分ベクトルの精度が1/4画素精度であり、予測ベクトルの精度が1/8画素精度である場合、ステップS106で差分ベクトルの精度が予測ベクトルの精度に比べて低いと判定され、処理はステップS107に進む。
 ステップS107において、予測ベクトル変換部111は、予測ベクトルに対して丸め処理を行うことにより1/4画素精度の予測ベクトルを生成し、その予測ベクトルと差分ベクトルを動きベクトル生成部112に供給する。そして、処理はステップS108に進む。
 一方、差分ベクトルと予測ベクトルの両方の精度が1/4画素精度または1/8画素精度である場合、ステップS106で差分ベクトルの精度が予測ベクトルの精度に比べて低くないと判定される。そして、予測ベクトル変換部111は、読み出した予測ベクトルそのものと差分ベクトルを動きベクトル生成部112に供給し、処理をステップS108に進める。
 ステップS108において、動きベクトル生成部112は、予測ベクトル変換部111から供給される予測ベクトルと差分ベクトルを加算することにより、動きベクトルを生成する。動きベクトル生成部112は、生成された動きベクトルを、予測ベクトル変換部111に供給して保持させるとともに、インター予測部113に供給する。
 ステップS109において、インター予測部113は、動きベクトル生成部112から供給される動きベクトルと、可逆復号化部102から供給されるインター予測モード情報に基づいて、図1のインター予測部24と同様のインター予測処理を行う。インター予測部113は、その結果生成される予測画像を、スイッチ114を介して加算部105に供給し、処理をステップS111に進める。
 一方、ステップS105で差分ベクトル、pmv選択情報、および検出精度情報が供給されていないと判定された場合、即ちイントラ予測モード情報がイントラ予測部110に供給された場合、処理はステップS110に進む。
 ステップS110において、イントラ予測部110は、加算部105から供給される参照画像を用いて、可逆復号化部102から供給されるイントラ予測モード情報が表すイントラ予測モードのイントラ予測を行う。そして、イントラ予測部110は、その結果生成される予測画像を、スイッチ114を介して加算部105に供給し、処理をステップS111に進める。
 ステップS111において、加算部105は、逆直交変換部104から供給される残差情報と、スイッチ114から供給される予測画像を加算する。加算部105は、その結果得られる画像をデブロックフィルタ106に供給するとともに、参照画像としてイントラ予測部110に供給する。
 ステップS112において、デブロックフィルタ106は、加算部105から供給される画像に対してフィルタリングを行い、ブロック歪を除去する。
 ステップS113において、デブロックフィルタ106は、フィルタリング後の画像をフレームメモリ109に供給し、蓄積させるとともに、画面並べ替えバッファ107に供給する。フレームメモリ109に蓄積された画像は、参照画像としてインター予測部113に供給される。
 ステップS114において、画面並べ替えバッファ107は、デブロックフィルタ106から供給される画像をフレーム単位で記憶し、記憶した符号化のための順番のフレーム単位の画像を、元の表示の順番に並び替え、D/A変換部108に供給する。
 ステップS115において、D/A変換部108は、画面並べ替えバッファ107から供給されるフレーム単位の画像をD/A変換し、出力信号として出力する。
 以上のように、復号装置100は、検出精度情報に応じて、差分ベクトルの精度が1/4画素精度であり、予測ベクトルの精度が1/8画素精度である場合、予測ベクトルに対して丸め処理を行うことにより1/4画素精度の予測ベクトルを生成する。従って、符号化装置10において、予測ブロック当たりの動きベクトルの数が多い場合の動きベクトルの精度を、予測ブロック当たりの動きベクトルの数が少ない場合の動きベクトルの精度より低くすることにより、符号化効率を向上させるように符号化された画像圧縮情報を復号することができる。
 なお、本実施の形態では、予測方向がL0予測またはL1予測であるか、双方向予測であるかによって動きベクトルの精度を切り替えたが、動きベクトルの精度は、動きベクトルの数が多い場合と少ない場合で切り替えられれば、切り替え方法はこれに限定されない。例えば、インター予測の予測ブロックのサイズが小さい場合、予測ブロックのサイズが大きい場合より動きベクトルの精度を低くするようにすることもできる。また、予測方向が双方向予測であるか、または、インター予測の予測ブロックのサイズが小さい場合、予測方向がL0予測またはL1予測であり、かつ、予測ブロックのサイズが大きい場合より動きベクトルの精度を低くするようにすることもできる。
 また、本実施の形態では、差分ベクトルの絶対値が指数ゴロム符号で2値化されるものとしたが、2値化に用いられる符号は指数ゴロム符号以外の符号であってもよい。
 さらに、本実施の形態では、予測方向が双方向予測である場合、全参照画像への動きベクトルの精度が、予測方向がL0予測またはL1予測である場合の精度に比べて低くされたが、一部の参照画像への動きベクトルの精度のみが低くされてもよい。この場合、参照画像ごとに検出精度情報が設定される。
 また、本実施の形態では、動きベクトルの精度が1/4画素精度または1/8画素精度に切り替えられたが、動きベクトルの精度はこれに限定されない。例えば、動きベクトルの精度は、1/4画素精度または1/16画素精度に切り替えられるようにしてもよい。
 <本技術を適用したコンピュータの説明>
 次に、上述した符号化処理や復号処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。符号化処理や復号処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
 そこで、図9は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
 プログラムは、コンピュータに内蔵されている記録媒体としての記憶部408やROM(Read Only Memory)402に予め記録しておくことができる。
 あるいはまた、プログラムは、リムーバブルメディア411に格納(記録)しておくことができる。このようなリムーバブルメディア411は、いわゆるパッケージソフトウエアとして提供することができる。ここで、リムーバブルメディア411としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。
 なお、プログラムは、上述したようなリムーバブルメディア411からドライブ410を介してコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵する記憶部408にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、デジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。
 コンピュータは、CPU(Central Processing Unit)401を内蔵しており、CPU401には、バス404を介して、入出力インタフェース405が接続されている。
 CPU401は、入出力インタフェース405を介して、ユーザによって、入力部406が操作等されることにより指令が入力されると、それに従って、ROM402に格納されているプログラムを実行する。あるいは、CPU401は、記憶部408に格納されたプログラムを、RAM(Random Access Memory)403にロードして実行する。
 これにより、CPU401は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU401は、その処理結果を、必要に応じて、例えば、入出力インタフェース405を介して、出力部407から出力、あるいは、通信部409から送信、さらには、記憶部408に記録等させる。
 なお、入力部406は、キーボードや、マウス、マイク等で構成される。また、出力部407は、LCD(Liquid Crystal Display)やスピーカ等で構成される。
 ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。
 また、プログラムは、1のコンピュータ(プロセッサ)により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
 <テレビジョン受像機の構成例>
 図10は、本技術を適用した復号装置を用いるテレビジョン受像機の主な構成例を示すブロック図である。
 図10に示されるテレビジョン受像機500は、地上波チューナ513、ビデオデコーダ515、映像信号処理回路518、グラフィック生成回路519、パネル駆動回路520、および表示パネル521を有する。
 地上波チューナ513は、地上アナログ放送の放送波信号を、アンテナを介して受信し、復調し、映像信号を取得し、それをビデオデコーダ515に供給する。ビデオデコーダ515は、地上波チューナ513から供給された映像信号に対してデコード処理を施し、得られたデジタルのコンポーネント信号を映像信号処理回路518に供給する。
 映像信号処理回路518は、ビデオデコーダ515から供給された映像データに対してノイズ除去などの所定の処理を施し、得られた映像データをグラフィック生成回路519に供給する。
 グラフィック生成回路519は、表示パネル521に表示させる番組の映像データや、ネットワークを介して供給されるアプリケーションに基づく処理による画像データなどを生成し、生成した映像データや画像データをパネル駆動回路520に供給する。また、グラフィック生成回路519は、項目の選択などにユーザにより利用される画面を表示するための映像データ(グラフィック)を生成し、それを番組の映像データに重畳したりすることによって得られた映像データをパネル駆動回路520に供給するといった処理も適宜行う。
 パネル駆動回路520は、グラフィック生成回路519から供給されたデータに基づいて表示パネル521を駆動し、番組の映像や上述した各種の画面を表示パネル521に表示させる。
 表示パネル521はLCD(Liquid Crystal Display)などよりなり、パネル駆動回路520による制御に従って番組の映像などを表示させる。
 また、テレビジョン受像機500は、音声A/D(Analog/Digital)変換回路514、音声信号処理回路522、エコーキャンセル/音声合成回路523、音声増幅回路524、およびスピーカ525も有する。
 地上波チューナ513は、受信した放送波信号を復調することにより、映像信号だけでなく音声信号も取得する。地上波チューナ513は、取得した音声信号を音声A/D変換回路514に供給する。
 音声A/D変換回路514は、地上波チューナ513から供給された音声信号に対してA/D変換処理を施し、得られたデジタルの音声信号を音声信号処理回路522に供給する。
 音声信号処理回路522は、音声A/D変換回路514から供給された音声データに対してノイズ除去などの所定の処理を施し、得られた音声データをエコーキャンセル/音声合成回路523に供給する。
 エコーキャンセル/音声合成回路523は、音声信号処理回路522から供給された音声データを音声増幅回路524に供給する。
 音声増幅回路524は、エコーキャンセル/音声合成回路523から供給された音声データに対してD/A変換処理、増幅処理を施し、所定の音量に調整した後、音声をスピーカ525から出力させる。
 さらに、テレビジョン受像機500は、デジタルチューナ516およびMPEGデコーダ517も有する。
 デジタルチューナ516は、デジタル放送(地上デジタル放送、BS(Broadcasting Satellite)/CS(Communications Satellite)デジタル放送)の放送波信号を、アンテナを介して受信し、復調し、MPEG-TS(Moving Picture Experts Group-Transport Stream)を取得し、それをMPEGデコーダ517に供給する。
 MPEGデコーダ517は、デジタルチューナ516から供給されたMPEG-TSに施されているスクランブルを解除し、再生対象(視聴対象)になっている番組のデータを含むストリームを抽出する。MPEGデコーダ517は、抽出したストリームを構成する音声パケットをデコードし、得られた音声データを音声信号処理回路522に供給するとともに、ストリームを構成する映像パケットをデコードし、得られた映像データを映像信号処理回路518に供給する。また、MPEGデコーダ517は、MPEG-TSから抽出したEPG(Electronic Program Guide)データを図示せぬ経路を介してCPU532に供給する。
 テレビジョン受像機500は、このように映像パケットをデコードするMPEGデコーダ517として、上述した復号装置100を用いる。したがって、MPEGデコーダ517では、復号装置100の場合と同様に、インター予測時に分数精度の動き補償処理を行う場合において、符号化効率を向上させるように符号化された画像を復号することができる。
 MPEGデコーダ517から供給された映像データは、ビデオデコーダ515から供給された映像データの場合と同様に、映像信号処理回路518において所定の処理が施される。そして、所定の処理が施された映像データは、グラフィック生成回路519において、生成された映像データ等が適宜重畳され、パネル駆動回路520を介して表示パネル521に供給され、その画像が表示される。
 MPEGデコーダ517から供給された音声データは、音声A/D変換回路514から供給された音声データの場合と同様に、音声信号処理回路522において所定の処理が施される。そして、所定の処理が施された音声データは、エコーキャンセル/音声合成回路523を介して音声増幅回路524に供給され、D/A変換処理や増幅処理が施される。その結果、所定の音量に調整された音声がスピーカ525から出力される。
 また、テレビジョン受像機500は、マイクロホン526、およびA/D変換回路527も有する。
 A/D変換回路527は、音声会話用のものとしてテレビジョン受像機500に設けられるマイクロホン526により取り込まれたユーザの音声の信号を受信する。A/D変換回路527は、受信した音声信号に対してA/D変換処理を施し、得られたデジタルの音声データをエコーキャンセル/音声合成回路523に供給する。
 エコーキャンセル/音声合成回路523は、テレビジョン受像機500のユーザ(ユーザA)の音声のデータがA/D変換回路527から供給されている場合、ユーザAの音声データを対象としてエコーキャンセルを行う。そして、エコーキャンセル/音声合成回路523は、エコーキャンセルの後、他の音声データと合成するなどして得られた音声のデータを、音声増幅回路524を介してスピーカ525より出力させる。
 さらに、テレビジョン受像機500は、音声コーデック528、内部バス529、SDRAM(Synchronous Dynamic Random Access Memory)530、フラッシュメモリ531、CPU532、USB(Universal Serial Bus) I/F533、およびネットワークI/F534も有する。
 A/D変換回路527は、音声会話用のものとしてテレビジョン受像機500に設けられるマイクロホン526により取り込まれたユーザの音声の信号を受信する。A/D変換回路527は、受信した音声信号に対してA/D変換処理を施し、得られたデジタルの音声データを音声コーデック528に供給する。
 音声コーデック528は、A/D変換回路527から供給された音声データを、ネットワーク経由で送信するための所定のフォーマットのデータに変換し、内部バス529を介してネットワークI/F534に供給する。
 ネットワークI/F534は、ネットワーク端子535に装着されたケーブルを介してネットワークに接続される。ネットワークI/F534は、例えば、そのネットワークに接続される他の装置に対して、音声コーデック528から供給された音声データを送信する。また、ネットワークI/F534は、例えば、ネットワークを介して接続される他の装置から送信される音声データを、ネットワーク端子535を介して受信し、それを、内部バス529を介して音声コーデック528に供給する。
 音声コーデック528は、ネットワークI/F534から供給された音声データを所定のフォーマットのデータに変換し、それをエコーキャンセル/音声合成回路523に供給する。
 エコーキャンセル/音声合成回路523は、音声コーデック528から供給される音声データを対象としてエコーキャンセルを行い、他の音声データと合成するなどして得られた音声のデータを、音声増幅回路524を介してスピーカ525より出力させる。
 SDRAM530は、CPU532が処理を行う上で必要な各種のデータを記憶する。
 フラッシュメモリ531は、CPU532により実行されるプログラムを記憶する。フラッシュメモリ531に記憶されているプログラムは、テレビジョン受像機500の起動時などの所定のタイミングでCPU532により読み出される。フラッシュメモリ531には、デジタル放送を介して取得されたEPGデータ、ネットワークを介して所定のサーバから取得されたデータなども記憶される。
 例えば、フラッシュメモリ531には、CPU532の制御によりネットワークを介して所定のサーバから取得されたコンテンツデータを含むMPEG-TSが記憶される。フラッシュメモリ531は、例えばCPU532の制御により、そのMPEG-TSを、内部バス529を介してMPEGデコーダ517に供給する。
 MPEGデコーダ517は、デジタルチューナ516から供給されたMPEG-TSの場合と同様に、そのMPEG-TSを処理する。このようにテレビジョン受像機500は、映像や音声等よりなるコンテンツデータを、ネットワークを介して受信し、MPEGデコーダ517を用いてデコードし、その映像を表示させたり、音声を出力させたりすることができる。
 また、テレビジョン受像機500は、リモートコントローラ551から送信される赤外線信号を受光する受光部537も有する。
 受光部537は、リモートコントローラ551からの赤外線を受光し、復調して得られたユーザ操作の内容を表す制御コードをCPU532に出力する。
 CPU532は、フラッシュメモリ531に記憶されているプログラムを実行し、受光部537から供給される制御コードなどに応じてテレビジョン受像機500の全体の動作を制御する。CPU532とテレビジョン受像機500の各部は、図示せぬ経路を介して接続されている。
 USB I/F533は、USB端子536に装着されたUSBケーブルを介して接続される、テレビジョン受像機500の外部の機器との間でデータの送受信を行う。ネットワークI/F534は、ネットワーク端子535に装着されたケーブルを介してネットワークに接続し、ネットワークに接続される各種の装置と音声データ以外のデータの送受信も行う。
 テレビジョン受像機500は、MPEGデコーダ517として復号装置100を用いることにより、インター予測時に分数精度の動き補償処理を行う場合において、符号化効率を向上させるように符号化された画像を復号することができる。
 <携帯電話機の構成例>
 図11は、本技術を適用した符号化装置および復号装置を用いる携帯電話機の主な構成例を示すブロック図である。
 図11に示される携帯電話機600は、各部を統括的に制御するようになされた主制御部650、電源回路部651、操作入力制御部652、画像エンコーダ653、カメラI/F部654、LCD制御部655、画像デコーダ656、多重分離部657、記録再生部662、変復調回路部658、および音声コーデック659を有する。これらは、バス660を介して互いに接続されている。
 また、携帯電話機600は、操作キー619、CCD(Charge Coupled Devices)カメラ616、液晶ディスプレイ618、記憶部623、送受信回路部663、アンテナ614、マイクロホン(マイク)621、およびスピーカ617を有する。
 電源回路部651は、ユーザの操作により終話および電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することにより携帯電話機600を動作可能な状態に起動する。
 携帯電話機600は、CPU、ROMおよびRAM等でなる主制御部650の制御に基づいて、音声通話モードやデータ通信モード等の各種モードで、音声信号の送受信、電子メールや画像データの送受信、画像撮影、またはデータ記録等の各種動作を行う。
 例えば、音声通話モードにおいて、携帯電話機600は、マイクロホン(マイク)621で集音した音声信号を、音声コーデック659によってデジタル音声データに変換し、これを変復調回路部658でスペクトラム拡散処理し、送受信回路部663でデジタルアナログ変換処理および周波数変換処理する。携帯電話機600は、その変換処理により得られた送信用信号を、アンテナ614を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号(音声信号)は、公衆電話回線網を介して通話相手の携帯電話機に供給される。
 また、例えば、音声通話モードにおいて、携帯電話機600は、アンテナ614で受信した受信信号を送受信回路部663で増幅し、さらに周波数変換処理およびアナログデジタル変換処理し、変復調回路部658でスペクトラム逆拡散処理し、音声コーデック659によってアナログ音声信号に変換する。携帯電話機600は、その変換して得られたアナログ音声信号をスピーカ617から出力する。
 更に、例えば、データ通信モードにおいて電子メールを送信する場合、携帯電話機600は、操作キー619の操作によって入力された電子メールのテキストデータを、操作入力制御部652において受け付ける。携帯電話機600は、そのテキストデータを主制御部650において処理し、LCD制御部655を介して、画像として液晶ディスプレイ618に表示させる。
 また、携帯電話機600は、主制御部650において、操作入力制御部652が受け付けたテキストデータやユーザ指示等に基づいて電子メールデータを生成する。携帯電話機600は、その電子メールデータを、変復調回路部658でスペクトラム拡散処理し、送受信回路部663でデジタルアナログ変換処理および周波数変換処理する。携帯電話機600は、その変換処理により得られた送信用信号を、アンテナ614を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号(電子メール)は、ネットワークおよびメールサーバ等を介して、所定のあて先に供給される。
 また、例えば、データ通信モードにおいて電子メールを受信する場合、携帯電話機600は、基地局から送信された信号を、アンテナ614を介して送受信回路部663で受信し、増幅し、さらに周波数変換処理およびアナログデジタル変換処理する。携帯電話機600は、その受信信号を変復調回路部658でスペクトラム逆拡散処理して元の電子メールデータを復元する。携帯電話機600は、復元された電子メールデータを、LCD制御部655を介して液晶ディスプレイ618に表示する。
 なお、携帯電話機600は、受信した電子メールデータを、記録再生部662を介して、記憶部623に記録する(記憶させる)ことも可能である。
 この記憶部623は、書き換え可能な任意の記憶媒体である。記憶部623は、例えば、RAMや内蔵型フラッシュメモリ等の半導体メモリであってもよいし、ハードディスクであってもよいし、磁気ディスク、光磁気ディスク、光ディスク、USBメモリ、またはメモリカード等のリムーバブルメディアであってもよい。もちろん、これら以外のものであってもよい。
 さらに、例えば、データ通信モードにおいて画像データを送信する場合、携帯電話機600は、撮像によりCCDカメラ616で画像データを生成する。CCDカメラ616は、レンズや絞り等の光学デバイスと光電変換素子としてのCCDを有し、被写体を撮像し、受光した光の強度を電気信号に変換し、被写体の画像の画像データを生成する。その画像データを、カメラI/F部654を介して、画像エンコーダ653で、例えばMPEG2やMPEG4等の所定の符号化方式によって圧縮符号化することにより符号化画像データに変換する。
 携帯電話機600は、このような処理を行う画像エンコーダ653として、上述した符号化装置10を用いる。したがって、画像エンコーダ653は、符号化装置10の場合と同様に、インター予測時に分数精度の動き補償処理を行う場合において、符号化効率を向上させることができる。
 なお、携帯電話機600は、このとき同時に、CCDカメラ616で撮像中にマイクロホン(マイク)621で集音した音声を、音声コーデック659においてアナログデジタル変換し、さらに符号化する。
 携帯電話機600は、多重分離部657において、画像エンコーダ653から供給された符号化画像データと、音声コーデック659から供給されたデジタル音声データとを、所定の方式で多重化する。携帯電話機600は、その結果得られる多重化データを、変復調回路部658でスペクトラム拡散処理し、送受信回路部663でデジタルアナログ変換処理および周波数変換処理する。携帯電話機600は、その変換処理により得られた送信用信号を、アンテナ614を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号(画像データ)は、ネットワーク等を介して、通信相手に供給される。
 なお、画像データを送信しない場合、携帯電話機600は、CCDカメラ616で生成した画像データを、画像エンコーダ653を介さずに、LCD制御部655を介して液晶ディスプレイ618に表示させることもできる。
 また、例えば、データ通信モードにおいて、簡易ホームページ等にリンクされた動画像ファイルのデータを受信する場合、携帯電話機600は、基地局から送信された信号を、アンテナ614を介して送受信回路部663で受信し、増幅し、さらに周波数変換処理およびアナログデジタル変換処理する。携帯電話機600は、その受信信号を変復調回路部658でスペクトラム逆拡散処理して元の多重化データを復元する。携帯電話機600は、多重分離部657において、その多重化データを分離して、符号化画像データと音声データとに分ける。
 携帯電話機600は、画像デコーダ656において、符号化画像データを、MPEG2やMPEG4等の所定の符号化方式に対応した復号方式でデコードすることにより、再生動画像データを生成し、これを、LCD制御部655を介して液晶ディスプレイ618に表示させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる動画データが液晶ディスプレイ618に表示される。
 携帯電話機600は、このような処理を行う画像デコーダ656として、上述した復号装置100を用いる。したがって、画像デコーダ656は、復号装置100の場合と同様に、インター予測時に分数精度の動き補償処理を行う場合において、符号化効率を向上させるように符号化された画像を復号することができる。
 このとき、携帯電話機600は、同時に、音声コーデック659において、デジタルの音声データをアナログ音声信号に変換し、これをスピーカ617より出力させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる音声データが再生される。
 なお、電子メールの場合と同様に、携帯電話機600は、受信した簡易ホームページ等にリンクされたデータを、記録再生部662を介して、記憶部623に記録する(記憶させる)ことも可能である。
 また、携帯電話機600は、主制御部650において、撮像されてCCDカメラ616で得られた2次元コードを解析し、2次元コードに記録された情報を取得することができる。
 さらに、携帯電話機600は、赤外線通信部681で赤外線により外部の機器と通信することができる。
 携帯電話機600は、画像エンコーダ653として符号化装置10を用いることにより、インター予測時に分数精度の動き補償処理を行う場合において、符号化効率を向上させることができる。
 また、携帯電話機600は、画像デコーダ656として復号装置100を用いることにより、インター予測時に分数精度の動き補償処理を行う場合において、符号化効率を向上させるように符号化された画像を復号することができる。
 なお、以上において、携帯電話機600が、CCDカメラ616を用いるように説明したが、このCCDカメラ616の代わりに、CMOS(Complementary Metal Oxide Semiconductor)を用いたイメージセンサ(CMOSイメージセンサ)を用いるようにしてもよい。この場合も、携帯電話機600は、CCDカメラ616を用いる場合と同様に、被写体を撮像し、被写体の画像の画像データを生成することができる。
 また、以上においては携帯電話機600として説明したが、例えば、PDA(Personal Digital Assistants)、スマートフォン、UMPC(Ultra Mobile Personal Computer)、ネットブック、ノート型パーソナルコンピュータ等、この携帯電話機600と同様の撮像機能や通信機能を有する装置であれば、どのような装置であっても携帯電話機600の場合と同様に、符号化装置10および復号装置100を適用することができる。
 <ハードディスクレコーダの構成例>
 図12は、本技術を適用した符号化装置および復号装置を用いるハードディスクレコーダの主な構成例を示すブロック図である。
 図12に示されるハードディスクレコーダ(HDDレコーダ)700は、チューナにより受信された、衛星や地上のアンテナ等より送信される放送波信号(テレビジョン信号)に含まれる放送番組のオーディオデータとビデオデータを、内蔵するハードディスクに保存し、その保存したデータをユーザの指示に応じたタイミングでユーザに提供する装置である。
 ハードディスクレコーダ700は、例えば、放送波信号よりオーディオデータとビデオデータを抽出し、それらを適宜復号し、内蔵するハードディスクに記憶させることができる。また、ハードディスクレコーダ700は、例えば、ネットワークを介して他の装置からオーディオデータやビデオデータを取得し、それらを適宜復号し、内蔵するハードディスクに記憶させることもできる。
 さらに、ハードディスクレコーダ700は、例えば、内蔵するハードディスクに記録されているオーディオデータやビデオデータを復号してモニタ760に供給し、モニタ760の画面にその画像を表示させる。また、ハードディスクレコーダ700は、モニタ760のスピーカよりその音声を出力させることができる。
 ハードディスクレコーダ700は、例えば、チューナを介して取得された放送波信号より抽出されたオーディオデータとビデオデータ、または、ネットワークを介して他の装置から取得したオーディオデータやビデオデータを復号してモニタ760に供給し、モニタ760の画面にその画像を表示させる。また、ハードディスクレコーダ700は、モニタ760のスピーカよりその音声を出力させることもできる。
 もちろん、この他の動作も可能である。
 図12に示されるように、ハードディスクレコーダ700は、受信部721、復調部722、デマルチプレクサ723、オーディオデコーダ724、ビデオデコーダ725、およびレコーダ制御部726を有する。ハードディスクレコーダ700は、さらに、EPGデータメモリ727、プログラムメモリ728、ワークメモリ729、ディスプレイコンバータ730、OSD(On Screen Display)制御部731、ディスプレイ制御部732、記録再生部733、D/Aコンバータ734、および通信部735を有する。
 また、ディスプレイコンバータ730は、ビデオエンコーダ741を有する。記録再生部733は、エンコーダ751およびデコーダ752を有する。
 受信部721は、リモートコントローラ(図示せず)からの赤外線信号を受信し、電気信号に変換してレコーダ制御部726に出力する。レコーダ制御部726は、例えば、マイクロプロセッサなどにより構成され、プログラムメモリ728に記憶されているプログラムに従って、各種の処理を実行する。レコーダ制御部726は、このとき、ワークメモリ729を必要に応じて使用する。
 通信部735は、ネットワークに接続され、ネットワークを介して他の装置との通信処理を行う。例えば、通信部735は、レコーダ制御部726により制御され、チューナ(図示せず)と通信し、主にチューナに対して選局制御信号を出力する。
 復調部722は、チューナより供給された信号を、復調し、デマルチプレクサ723に出力する。デマルチプレクサ723は、復調部722より供給されたデータを、オーディオデータ、ビデオデータ、およびEPGデータに分離し、それぞれ、オーディオデコーダ724、ビデオデコーダ725、またはレコーダ制御部726に出力する。
 オーディオデコーダ724は、入力されたオーディオデータを、例えばMPEG方式でデコードし、記録再生部733に出力する。ビデオデコーダ725は、入力されたビデオデータを、例えばMPEG方式でデコードし、ディスプレイコンバータ730に出力する。レコーダ制御部726は、入力されたEPGデータをEPGデータメモリ727に供給し、記憶させる。
 ディスプレイコンバータ730は、ビデオデコーダ725またはレコーダ制御部726より供給されたビデオデータを、ビデオエンコーダ741により、例えばNTSC(National Television Standards Committee)方式のビデオデータにエンコードし、記録再生部733に出力する。また、ディスプレイコンバータ730は、ビデオデコーダ725またはレコーダ制御部726より供給されるビデオデータの画面のサイズを、モニタ760のサイズに対応するサイズに変換する。ディスプレイコンバータ730は、画面のサイズが変換されたビデオデータを、さらに、ビデオエンコーダ741によってNTSC方式のビデオデータに変換し、アナログ信号に変換し、ディスプレイ制御部732に出力する。
 ディスプレイ制御部732は、レコーダ制御部726の制御のもと、OSD(On Screen Display)制御部731が出力したOSD信号を、ディスプレイコンバータ730より入力されたビデオ信号に重畳し、モニタ760のディスプレイに出力し、表示させる。
 モニタ760にはまた、オーディオデコーダ724が出力したオーディオデータが、D/Aコンバータ734によりアナログ信号に変換されて供給されている。モニタ760は、このオーディオ信号を内蔵するスピーカから出力する。
 記録再生部733は、ビデオデータやオーディオデータ等を記録する記憶媒体としてハードディスクを有する。
 記録再生部733は、例えば、オーディオデコーダ724より供給されるオーディオデータを、エンコーダ751によりMPEG方式でエンコードする。また、記録再生部733は、ディスプレイコンバータ730のビデオエンコーダ741より供給されるビデオデータを、エンコーダ751によりMPEG方式でエンコードする。記録再生部733は、そのオーディオデータの符号化データとビデオデータの符号化データとをマルチプレクサにより合成する。記録再生部733は、その合成データをチャネルコーディングして増幅し、そのデータを、記録ヘッドを介してハードディスクに書き込む。
 記録再生部733は、再生ヘッドを介してハードディスクに記録されているデータを再生し、増幅し、デマルチプレクサによりオーディオデータとビデオデータに分離する。記録再生部733は、デコーダ752によりオーディオデータおよびビデオデータをMPEG方式でデコードする。記録再生部733は、復号したオーディオデータをD/A変換し、モニタ760のスピーカに出力する。また、記録再生部733は、復号したビデオデータをD/A変換し、モニタ760のディスプレイに出力する。
 レコーダ制御部726は、受信部721を介して受信されるリモートコントローラからの赤外線信号により示されるユーザ指示に基づいて、EPGデータメモリ727から最新のEPGデータを読み出し、それをOSD制御部731に供給する。OSD制御部731は、入力されたEPGデータに対応する画像データを発生し、ディスプレイ制御部732に出力する。ディスプレイ制御部732は、OSD制御部731より入力されたビデオデータをモニタ760のディスプレイに出力し、表示させる。これにより、モニタ760のディスプレイには、EPG(電子番組ガイド)が表示される。
 また、ハードディスクレコーダ700は、インターネット等のネットワークを介して他の装置から供給されるビデオデータ、オーディオデータ、またはEPGデータ等の各種データを取得することができる。
 通信部735は、レコーダ制御部726に制御され、ネットワークを介して他の装置から送信されるビデオデータ、オーディオデータ、およびEPGデータ等の符号化データを取得し、それをレコーダ制御部726に供給する。レコーダ制御部726は、例えば、取得したビデオデータやオーディオデータの符号化データを記録再生部733に供給し、ハードディスクに記憶させる。このとき、レコーダ制御部726および記録再生部733が、必要に応じて再エンコード等の処理を行うようにしてもよい。
 また、レコーダ制御部726は、取得したビデオデータやオーディオデータの符号化データを復号し、得られるビデオデータをディスプレイコンバータ730に供給する。ディスプレイコンバータ730は、ビデオデコーダ725から供給されるビデオデータと同様に、レコーダ制御部726から供給されるビデオデータを処理し、ディスプレイ制御部732を介してモニタ760に供給し、その画像を表示させる。
 また、この画像表示に合わせて、レコーダ制御部726が、復号したオーディオデータを、D/Aコンバータ734を介してモニタ760に供給し、その音声をスピーカから出力させるようにしてもよい。
 さらに、レコーダ制御部726は、取得したEPGデータの符号化データを復号し、復号したEPGデータをEPGデータメモリ727に供給する。
 以上のようなハードディスクレコーダ700は、ビデオデコーダ725、デコーダ752、およびレコーダ制御部726に内蔵されるデコーダとして復号装置100を用いる。したがって、ビデオデコーダ725、デコーダ752、およびレコーダ制御部726に内蔵されるデコーダは、復号装置100の場合と同様に、インター予測時に分数精度の動き補償処理を行う場合において、符号化効率を向上させるように符号化された画像を復号することができる。
 また、ハードディスクレコーダ700は、エンコーダ751として符号化装置10を用いる。したがって、エンコーダ751は、符号化装置10の場合と同様に、インター予測時に分数精度の動き補償処理を行う場合において、符号化効率を向上させることができる。
 なお、以上においては、ビデオデータやオーディオデータをハードディスクに記録するハードディスクレコーダ700について説明したが、もちろん、記録媒体はどのようなものであってもよい。例えばフラッシュメモリ、光ディスク、またはビデオテープ等、ハードディスク以外の記録媒体を適用するレコーダであっても、上述したハードディスクレコーダ700の場合と同様に、符号化装置10および復号装置100を適用することができる。
 <カメラの構成例>
 図13は、本技術を適用した符号化装置および復号装置を用いるカメラの主な構成例を示すブロック図である。
 図13に示されるカメラ800は、被写体を撮像し、被写体の画像をLCD816に表示させたり、それを画像データとして、記録メディア833に記録したりする。
 レンズブロック811は、光(すなわち、被写体の映像)を、CCD/CMOS812に入射させる。CCD/CMOS812は、CCDまたはCMOSを用いたイメージセンサであり、受光した光の強度を電気信号に変換し、カメラ信号処理部813に供給する。
 カメラ信号処理部813は、CCD/CMOS812から供給された電気信号を、Y,Cr,Cbの色差信号に変換し、画像信号処理部814に供給する。画像信号処理部814は、コントローラ821の制御の下、カメラ信号処理部813から供給された画像信号に対して所定の画像処理を施したり、その画像信号をエンコーダ841で例えばMPEG方式により符号化したりする。画像信号処理部814は、画像信号を符号化して生成した符号化データを、デコーダ815に供給する。さらに、画像信号処理部814は、オンスクリーンディスプレイ(OSD)820において生成された表示用データを取得し、それをデコーダ815に供給する。
 以上の処理において、カメラ信号処理部813は、バス817を介して接続されるDRAM(Dynamic Random Access Memory)818を適宜利用し、必要に応じて画像データや、その画像データが符号化された符号化データ等をそのDRAM818に保持させる。
 デコーダ815は、画像信号処理部814から供給された符号化データを復号し、得られた画像データ(復号画像データ)をLCD816に供給する。また、デコーダ815は、画像信号処理部814から供給された表示用データをLCD816に供給する。LCD816は、デコーダ815から供給された復号画像データの画像と表示用データの画像を適宜合成し、その合成画像を表示する。
 オンスクリーンディスプレイ820は、コントローラ821の制御の下、記号、文字、または図形からなるメニュー画面やアイコンなどの表示用データを、バス817を介して画像信号処理部814に出力する。
 コントローラ821は、ユーザが操作部822を用いて指令した内容を示す信号に基づいて、各種処理を実行するとともに、バス817を介して、画像信号処理部814、DRAM818、外部インタフェース819、オンスクリーンディスプレイ820、およびメディアドライブ823等を制御する。FLASH ROM824には、コントローラ821が各種処理を実行する上で必要なプログラムやデータ等が格納される。
 例えば、コントローラ821は、画像信号処理部814やデコーダ815に代わって、DRAM818に記憶されている画像データを符号化したり、DRAM818に記憶されている符号化データを復号したりすることができる。このとき、コントローラ821は、画像信号処理部814やデコーダ815の符号化・復号方式と同様の方式によって符号化・復号処理を行うようにしてもよいし、画像信号処理部814やデコーダ815が対応していない方式により符号化・復号処理を行うようにしてもよい。
 また、例えば、操作部822から画像印刷の開始が指示された場合、コントローラ821は、DRAM818から画像データを読み出し、それを、バス817を介して外部インタフェース819に接続されるプリンタ834に供給して印刷させる。
 さらに、例えば、操作部822から画像記録が指示された場合、コントローラ821は、DRAM818から符号化データを読み出し、それを、バス817を介してメディアドライブ823に装着される記録メディア833に供給して記憶させる。
 記録メディア833は、例えば、磁気ディスク、光磁気ディスク、光ディスク、または半導体メモリ等の、読み書き可能な任意のリムーバブルメディアである。記録メディア833は、もちろん、リムーバブルメディアとしての種類も任意であり、テープデバイスであってもよいし、ディスクであってもよいし、メモリカードであってもよい。もちろん、非接触ICカード等であっても良い。
 また、メディアドライブ823と記録メディア833を一体化し、例えば、内蔵型ハードディスクドライブやSSD(Solid State Drive)等のように、非可搬性の記憶媒体により構成されるようにしてもよい。
 外部インタフェース819は、例えば、USB入出力端子などで構成され、画像の印刷を行う場合に、プリンタ834と接続される。また、外部インタフェース819には、必要に応じてドライブ831が接続され、磁気ディスク、光ディスク、あるいは光磁気ディスクなどのリムーバブルメディア832が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて、FLASH ROM824にインストールされる。
 さらに、外部インタフェース819は、LANやインターネット等の所定のネットワークに接続されるネットワークインタフェースを有する。コントローラ821は、例えば、操作部822からの指示に従って、DRAM818から符号化データを読み出し、それを外部インタフェース819から、ネットワークを介して接続される他の装置に供給させることができる。また、コントローラ821は、ネットワークを介して他の装置から供給される符号化データや画像データを、外部インタフェース819を介して取得し、それをDRAM818に保持させたり、画像信号処理部814に供給したりすることができる。
 以上のようなカメラ800は、デコーダ815として復号装置100用いる。したがって、デコーダ815は、復号装置100の場合と同様に、インター予測時に分数精度の動き補償処理を行う場合において、符号化効率を向上させるように符号化された画像を復号することができる。
 また、カメラ800は、エンコーダ841として符号化装置10を用いる。したがって、エンコーダ841は、符号化装置10の場合と同様に、インター予測の精度の悪化を抑制しつつ、インター予測時に分数精度の動き補償処理を行う場合において、符号化効率を向上させることができる。
 なお、コントローラ821が行う復号処理に復号装置100の復号方法を適用するようにしてもよい。同様に、コントローラ821が行う符号化処理に符号化装置10の符号化方法を適用するようにしてもよい。
 また、カメラ800が撮像する画像データは動画像であってもよいし、静止画像であってもよい。
 もちろん、符号化装置10および復号装置100は、上述した装置以外の装置やシステムにも適用可能である。
 本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 なお、本技術は、以下のような構成もとることができる。
 (1)
 符号化された画像、その画像のインター予測における動きベクトルと、その画像に近い画像の動きベクトルである予測ベクトルとの差分、および前記インター予測の予測方向が一方向である場合の前記動きベクトルの精度より、前記予測方向が双方向である場合の前記動きベクトルの精度の方が低いことを表す検出精度情報を受け取る受け取り部と、
 前記受け取り部により受け取られた前記検出精度情報に応じて、前記動きベクトルの精度が前記所定の精度より低い精度であり、前記予測ベクトルの精度が前記所定の精度である場合、前記予測ベクトルに対して丸め処理を行うことにより前記所定の精度より低い精度の前記予測ベクトルを生成する予測ベクトル変換部と、
 前記予測ベクトル変換部により生成された前記所定の精度より低い精度の前記予測ベクトルと、前記受け取り部により受け取られた前記差分とを加算することにより、前記動きベクトルを生成する動きベクトル生成部と、
 前記動きベクトル生成部により生成された前記動きベクトルを用いて動き補償処理を行うことにより、前記画像を復号する復号部と
 を備える復号装置。
 (2)
 前記動きベクトルは、前記インター予測の予測方向が一方向であり、かつ、前記インター予測における予測ブロックのサイズが大きい場合、前記所定の精度で検出され、前記インター予測の予測方向が双方向であるか、または、前記予測ブロックのサイズが小さい場合、前記所定の精度より低い精度で検出される
 前記(1)に記載の復号装置。
 (3)
 復号装置が、
 符号化された画像、その画像のインター予測における動きベクトルと、その画像に近い画像の動きベクトルである予測ベクトルとの差分、および前記インター予測の予測方向が一方向である場合の前記動きベクトルの精度より、前記予測方向が双方向である場合の前記動きベクトルの精度の方が低いことを表す検出精度情報を受け取る受け取りステップと、
 前記受け取りステップの処理により受け取られた前記検出精度情報に応じて、前記動きベクトルの精度が前記所定の精度より低い精度であり、前記予測ベクトルの精度が前記所定の精度である場合、前記予測ベクトルに対して丸め処理を行うことにより前記所定の精度より低い精度の前記予測ベクトルを生成する予測ベクトル変換ステップと、
 前記予測ベクトル変換ステップの処理により生成された前記所定の精度より低い精度の前記予測ベクトルと、前記受け取りステップの処理により受け取られた前記差分とを加算することにより、前記動きベクトルを生成する動きベクトル生成ステップと、
 前記動きベクトル生成ステップの処理により生成された前記動きベクトルを用いて動き補償処理を行うことにより、前記画像を復号する復号ステップと
 を含む復号方法。
 (4)
 符号化対象の画像のインター予測の予測方向が一方向である場合、前記符号化対象の画像と、前記符号化対象の画像に対する前記インター予測における参照画像を用いて、所定の精度で、前記符号化対象の画像に対する前記参照画像の前記動きベクトルを検出する高精度動き検出部と、
 前記予測方向が双方向である場合、前記符号化対象の画像と前記参照画像を用いて、前記所定の精度より低い精度で、前記動きベクトルを検出する低精度動き検出部と、
 前記高精度動き検出部または前記低精度動き検出部により検出された前記動きベクトルを用いて動き補償処理を行うことにより、前記符号化対象の画像を符号化する符号化部と、
 前記符号化部により符号化された前記符号化対象の画像と前記動きベクトルを伝送する伝送部と
 を備える符号化装置。
 (5)
 前記高精度動き検出部は、前記インター予測の予測方向が一方向であり、かつ、前記インター予測における予測ブロックのサイズが大きい場合、前記所定の精度で前記動きベクトルを検出し、
 前記低精度動き検出部は、前記インター予測の予測方向が双方向であるか、または、前記予測ブロックのサイズが小さい場合、前記所定の精度より低い精度で前記動きベクトルを検出する
 前記(4)に記載の符号化装置。
 (6)
 前記伝送部は、前記インター予測の予測方向が一方向である場合の前記動きベクトルの精度より、前記インター予測の予測方向が双方向である場合の前記動きベクトルの精度の方が低いことを表す検出精度情報を伝送する
 前記(4)に記載の符号化装置。
 (7)
 前記伝送部は、前記高精度動き検出部または前記低精度動き検出部により検出された前記動きベクトルと、前記符号化対象の画像に近い画像の動きベクトルである予測ベクトルとの差分を伝送する
 前記(4)乃至(6)のいずれかに記載の符号化装置。
 (8)
 前記動きベクトルが前記所定の精度より低い精度で検出され、前記予測ベクトルが前記所定の精度で検出された場合、前記予測ベクトルに対して丸め処理を行うことにより前記所定の精度より低い精度の前記予測ベクトルを生成する予測ベクトル変換部
 をさらに備え、
 前記伝送部は、前記動きベクトルと、前記所定の精度より低い精度の前記予測ベクトルとの差分を伝送する
 前記(7)に記載の符号化装置。
 (9)
 符号化装置が、
 符号化対象の画像のインター予測の予測方向が一方向である場合、前記符号化対象の画像と、前記符号化対象の画像に対する前記インター予測における参照画像を用いて、所定の精度で、前記符号化対象の画像に対する前記参照画像の前記動きベクトルを検出する高精度動き検出ステップと、
 前記予測方向が双方向である場合、前記符号化対象の画像と前記参照画像を用いて、前記所定の精度より低い精度で、前記動きベクトルを検出する低精度動き検出ステップと、
 前記高精度動き検出ステップまたは前記低精度動き検出ステップの処理により検出された前記動きベクトルを用いて動き補償処理を行うことにより、前記符号化対象の画像を符号化する符号化ステップと、
 前記符号化ステップの処理により符号化された前記符号化対象の画像と前記動きベクトルを伝送する伝送ステップと
 を含む符号化方法。
 10 符号化装置, 13 演算部, 17 蓄積バッファ, 24 インター予測部, 41 L0動き検出部, 42 L1動き検出部, 43 双方向動き検出部, 100 復号装置, 101 蓄積バッファ, 105 加算部, 111 予測ベクトル変換部, 112 動きベクトル生成部

Claims (9)

  1.  符号化された画像、その画像のインター予測における動きベクトルと、その画像に近い画像の動きベクトルである予測ベクトルとの差分、および前記インター予測の予測方向が一方向である場合の前記動きベクトルの精度より、前記予測方向が双方向である場合の前記動きベクトルの精度の方が低いことを表す検出精度情報を受け取る受け取り部と、
     前記受け取り部により受け取られた前記検出精度情報に応じて、前記動きベクトルの精度が前記所定の精度より低い精度であり、前記予測ベクトルの精度が前記所定の精度である場合、前記予測ベクトルに対して丸め処理を行うことにより前記所定の精度より低い精度の前記予測ベクトルを生成する予測ベクトル変換部と、
     前記予測ベクトル変換部により生成された前記所定の精度より低い精度の前記予測ベクトルと、前記受け取り部により受け取られた前記差分とを加算することにより、前記動きベクトルを生成する動きベクトル生成部と、
     前記動きベクトル生成部により生成された前記動きベクトルを用いて動き補償処理を行うことにより、前記画像を復号する復号部と
     を備える復号装置。
  2.  前記動きベクトルは、前記インター予測の予測方向が一方向であり、かつ、前記インター予測における予測ブロックのサイズが大きい場合、前記所定の精度で検出され、前記インター予測の予測方向が双方向であるか、または、前記予測ブロックのサイズが小さい場合、前記所定の精度より低い精度で検出される
     請求項1に記載の復号装置。
  3.  復号装置が、
     符号化された画像、その画像のインター予測における動きベクトルと、その画像に近い画像の動きベクトルである予測ベクトルとの差分、および前記インター予測の予測方向が一方向である場合の前記動きベクトルの精度より、前記予測方向が双方向である場合の前記動きベクトルの精度の方が低いことを表す検出精度情報を受け取る受け取りステップと、
     前記受け取りステップの処理により受け取られた前記検出精度情報に応じて、前記動きベクトルの精度が前記所定の精度より低い精度であり、前記予測ベクトルの精度が前記所定の精度である場合、前記予測ベクトルに対して丸め処理を行うことにより前記所定の精度より低い精度の前記予測ベクトルを生成する予測ベクトル変換ステップと、
     前記予測ベクトル変換ステップの処理により生成された前記所定の精度より低い精度の前記予測ベクトルと、前記受け取りステップの処理により受け取られた前記差分とを加算することにより、前記動きベクトルを生成する動きベクトル生成ステップと、
     前記動きベクトル生成ステップの処理により生成された前記動きベクトルを用いて動き補償処理を行うことにより、前記画像を復号する復号ステップと
     を含む復号方法。
  4.  符号化対象の画像のインター予測の予測方向が一方向である場合、前記符号化対象の画像と、前記符号化対象の画像に対する前記インター予測における参照画像を用いて、所定の精度で、前記符号化対象の画像に対する前記参照画像の前記動きベクトルを検出する高精度動き検出部と、
     前記予測方向が双方向である場合、前記符号化対象の画像と前記参照画像を用いて、前記所定の精度より低い精度で、前記動きベクトルを検出する低精度動き検出部と、
     前記高精度動き検出部または前記低精度動き検出部により検出された前記動きベクトルを用いて動き補償処理を行うことにより、前記符号化対象の画像を符号化する符号化部と、
     前記符号化部により符号化された前記符号化対象の画像と前記動きベクトルを伝送する伝送部と
     を備える符号化装置。
  5.  前記高精度動き検出部は、前記インター予測の予測方向が一方向であり、かつ、前記インター予測における予測ブロックのサイズが大きい場合、前記所定の精度で前記動きベクトルを検出し、
     前記低精度動き検出部は、前記インター予測の予測方向が双方向であるか、または、前記予測ブロックのサイズが小さい場合、前記所定の精度より低い精度で前記動きベクトルを検出する
     請求項4に記載の符号化装置。
  6.  前記伝送部は、前記インター予測の予測方向が一方向である場合の前記動きベクトルの精度より、前記インター予測の予測方向が双方向である場合の前記動きベクトルの精度の方が低いことを表す検出精度情報を伝送する
     請求項4に記載の符号化装置。
  7.  前記伝送部は、前記高精度動き検出部または前記低精度動き検出部により検出された前記動きベクトルと、前記符号化対象の画像に近い画像の動きベクトルである予測ベクトルとの差分を伝送する
     請求項4に記載の符号化装置。
  8.  前記動きベクトルが前記所定の精度より低い精度で検出され、前記予測ベクトルが前記所定の精度で検出された場合、前記予測ベクトルに対して丸め処理を行うことにより前記所定の精度より低い精度の前記予測ベクトルを生成する予測ベクトル変換部
     をさらに備え、
     前記伝送部は、前記動きベクトルと、前記所定の精度より低い精度の前記予測ベクトルとの差分を伝送する
     請求項7に記載の符号化装置。
  9.  符号化装置が、
     符号化対象の画像のインター予測の予測方向が一方向である場合、前記符号化対象の画像と、前記符号化対象の画像に対する前記インター予測における参照画像を用いて、所定の精度で、前記符号化対象の画像に対する前記参照画像の前記動きベクトルを検出する高精度動き検出ステップと、
     前記予測方向が双方向である場合、前記符号化対象の画像と前記参照画像を用いて、前記所定の精度より低い精度で、前記動きベクトルを検出する低精度動き検出ステップと、
     前記高精度動き検出ステップまたは前記低精度動き検出ステップの処理により検出された前記動きベクトルを用いて動き補償処理を行うことにより、前記符号化対象の画像を符号化する符号化ステップと、
     前記符号化ステップの処理により符号化された前記符号化対象の画像と前記動きベクトルを伝送する伝送ステップと
     を含む符号化方法。
PCT/JP2012/077583 2011-11-04 2012-10-25 符号化装置および方法、並びに、復号装置および方法 WO2013065572A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US14/346,833 US20140254687A1 (en) 2011-11-04 2012-10-25 Encoding device and encoding method, and decoding device and decoding method
CN201280052477.3A CN103907354A (zh) 2011-11-04 2012-10-25 编码设备和编码方法,及解码设备和解码方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011-242150 2011-11-04
JP2011242150A JP2013098899A (ja) 2011-11-04 2011-11-04 符号化装置および符号化方法、並びに、復号装置および復号方法

Publications (1)

Publication Number Publication Date
WO2013065572A1 true WO2013065572A1 (ja) 2013-05-10

Family

ID=48191921

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/077583 WO2013065572A1 (ja) 2011-11-04 2012-10-25 符号化装置および方法、並びに、復号装置および方法

Country Status (4)

Country Link
US (1) US20140254687A1 (ja)
JP (1) JP2013098899A (ja)
CN (1) CN103907354A (ja)
WO (1) WO2013065572A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6244104B2 (ja) 2013-05-08 2017-12-06 株式会社ミツトヨ 画像測定装置の照明設定方法、装置及びブライトネスツール用コンピュータソフトウェア
GB2524476B (en) * 2014-03-14 2016-04-27 Canon Kk Method, device and computer program for optimizing transmission of motion vector related information when transmitting a video stream
CN107809642B (zh) * 2015-02-16 2020-06-16 华为技术有限公司 用于视频图像编码和解码的方法、编码设备和解码设备
US10812822B2 (en) * 2015-10-02 2020-10-20 Qualcomm Incorporated Intra block copy merge mode and padding of unavailable IBC reference region
EP3410717A1 (en) 2017-05-31 2018-12-05 Thomson Licensing Methods and apparatus for candidate list pruning
EP3451664A1 (en) * 2017-09-01 2019-03-06 Thomson Licensing Motion compensation at a finer precision than motion vector differential
US11095915B2 (en) * 2019-01-31 2021-08-17 Qualcomm Incorporated Shared motion vector predictor list for intra block copy mode in video coding

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004048522A (ja) * 2002-07-15 2004-02-12 Hitachi Ltd 動画像の符号化方法及び復号化方法
JP2005057750A (ja) * 2003-07-24 2005-03-03 Matsushita Electric Ind Co Ltd 符号化モード決定装置、画像符号化装置、符号化モード決定方法、および符号化モード決定プログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1578137A2 (en) * 2004-03-17 2005-09-21 Matsushita Electric Industrial Co., Ltd. Moving picture coding apparatus with multistep interpolation process
US8724697B2 (en) * 2008-09-26 2014-05-13 Qualcomm Incorporated Locating motion vectors for video data units
CN103503458B (zh) * 2011-01-07 2017-09-22 诺基亚技术有限公司 视频编码中的运动预测

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004048522A (ja) * 2002-07-15 2004-02-12 Hitachi Ltd 動画像の符号化方法及び復号化方法
JP2005057750A (ja) * 2003-07-24 2005-03-03 Matsushita Electric Ind Co Ltd 符号化モード決定装置、画像符号化装置、符号化モード決定方法、および符号化モード決定プログラム

Also Published As

Publication number Publication date
US20140254687A1 (en) 2014-09-11
JP2013098899A (ja) 2013-05-20
CN103907354A (zh) 2014-07-02

Similar Documents

Publication Publication Date Title
JP5234368B2 (ja) 画像処理装置および方法
WO2010101064A1 (ja) 画像処理装置および方法
WO2010035733A1 (ja) 画像処理装置および方法
WO2012096229A1 (ja) 符号化装置および符号化方法、並びに復号装置および復号方法
WO2011024685A1 (ja) 画像処理装置および方法
WO2011086964A1 (ja) 画像処理装置および方法、並びにプログラム
WO2010095559A1 (ja) 画像処理装置および方法
WO2010035731A1 (ja) 画像処理装置および方法
WO2010035730A1 (ja) 画像処理装置および方法
WO2010035734A1 (ja) 画像処理装置および方法
JP5641377B2 (ja) 画像処理装置および方法、プログラム、並びに、記録媒体
WO2013065572A1 (ja) 符号化装置および方法、並びに、復号装置および方法
JPWO2010095560A1 (ja) 画像処理装置および方法
WO2011089973A1 (ja) 画像処理装置および方法
JP2011259040A (ja) 画像処理装置および方法
JPWO2010064674A1 (ja) 画像処理装置および画像処理方法、並びにプログラム
JPWO2010064675A1 (ja) 画像処理装置および画像処理方法、並びにプログラム
US20120288004A1 (en) Image processing apparatus and image processing method
WO2010010943A1 (ja) 画像処理装置および方法
JP2011135184A (ja) 画像処理装置および方法、並びにプログラム
WO2010038858A1 (ja) 画像処理装置および方法
WO2012077532A1 (ja) 画像処理装置、画像処理方法、およびプログラム
JP2011244210A (ja) 画像処理装置および方法
JPWO2010035735A1 (ja) 画像処理装置および方法
JP2012019447A (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: 12844718

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14346833

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12844718

Country of ref document: EP

Kind code of ref document: A1