WO2020129681A1 - 符号化装置及びプログラム - Google Patents

符号化装置及びプログラム Download PDF

Info

Publication number
WO2020129681A1
WO2020129681A1 PCT/JP2019/047670 JP2019047670W WO2020129681A1 WO 2020129681 A1 WO2020129681 A1 WO 2020129681A1 JP 2019047670 W JP2019047670 W JP 2019047670W WO 2020129681 A1 WO2020129681 A1 WO 2020129681A1
Authority
WO
WIPO (PCT)
Prior art keywords
search
vector
prediction
block
motion
Prior art date
Application number
PCT/JP2019/047670
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 US17/414,889 priority Critical patent/US11528485B2/en
Publication of WO2020129681A1 publication Critical patent/WO2020129681A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/57Motion estimation characterised by a search window with variable size or shape

Definitions

  • the present invention relates to an encoding device and a program.
  • Moving picture coding standards such as MPEG (Moving Picture Experts Group)-2, MPEG-4, and MPEG-4/AVC (Advanced Video Coding).
  • MPEG Motion Picture Experts Group
  • MPEG-4/AVC Advanced Video Coding
  • HEVC High Efficiency Video Coding
  • the intraframe coding in which the coding process is executed by using the information closed in the frame of one image and the coding process by using the information of the frames of a plurality of images in time series are performed.
  • Interframe coding to be performed is specified.
  • the coding device executes a process of searching a motion vector (hereinafter, referred to as “motion search process”) using the coding target image and the reference image.
  • the motion vector is a vector indicating the coordinates of the reference image having the smallest accumulated value of the pixel-by-pixel difference (interframe difference value) between the encoding target image and the reference image.
  • the encoding device reduces the information amount of the encoding result by encoding the motion vector and the interframe difference value.
  • the encoding device needs to search for an accurate motion vector. An enormous amount of calculation is required for the motion search processing for searching a motion vector with high accuracy.
  • the encoding device derives the inter-frame difference value between the encoding target image and the reference image in units of integers or decimal pixels. For this reason, the motion search process requires a much larger amount of calculation.
  • the search area (area including the search center) in the reference image in which the motion search processing is executed may be determined before the formal motion search processing (production motion search processing).
  • the encoding device executes a process (preliminary search process) of searching a search region for a motion vector before the formal motion search process.
  • the encoding device determines the search area in the reduced reference image using the reduced encoding target image.
  • the encoding device reduces the encoding target image and the reference image to a size having a length of, for example, 1/8 pixel.
  • the encoding device performs a pre-search process on the reduced search target image in the encoding target image and the reference image in pixel units each having a length of, for example, 1 ⁇ 8 pixel (decimal pixel unit).
  • the encoding device derives a coarse-precision motion vector for the reduced image to be encoded.
  • the encoding device determines, as the search center in the reference image in the formal motion search process, the position indicated by the motion vector having the smallest inter-frame difference value among the plurality of motion vectors searched by the pre-search process.
  • the encoding device performs a formal motion search process on a region (search region) including the search center determined in the preliminary search process.
  • MPEG-4/AVC and HEVC specify motion vector prediction (MVP).
  • MVP motion vector prediction
  • the encoding device derives a prediction vector that is a vector resulting from motion vector prediction (MVP) in the target block, based on motion vectors in blocks around the target block to be encoded.
  • the encoding device encodes the difference (prediction residual) between the pixel value at the position indicated by the final motion vector in the target block and the pixel value at the position indicated by the motion vector prediction vector. Therefore, the encoding device can improve the encoding efficiency by efficiently searching for a position close to the position indicated by the prediction vector of motion vector prediction and having a small prediction residual.
  • the encoding device may perform the motion search process on the search area including the search center, with the position indicated by the prediction vector of the motion vector prediction as the search center.
  • a left prediction vector (left MVP) determined based on a block located to the left of a target block to be encoded and an upper prediction vector (left MVP) determined based on a block located above the target block ( There are two types of prediction vectors, the upper MVP).
  • the encoding device selects a prediction vector capable of increasing the encoding efficiency from these two types of prediction vectors. Since the encoding device searches for a search region including the search center indicated by each prediction vector, the processing amount of motion search processing in HEVC (search processing amount) is compared with the processing amount of motion search processing in MPEG-4/AVC. May increase.
  • a plurality of search center candidates derived from the pre-search vector “MVpre” that is the vector of the result of the pre-search process and the motion vector prediction vector are used.
  • the encoding device selects (narrows down) a search center candidate from a plurality of search center candidates, and a small search area including a small number of selected search center candidates. It is necessary to execute a formal motion search process for.
  • the encoding device is realized by using hardware such as LSI (Large Scale Integration) or FPGA (Field Programmable Gate Array), if the amount of motion search processing for each block is below a certain level, the circuit scale Is reduced.
  • search center candidates may be selected so that the number of search center candidates in each block is a certain number or less.
  • the encoding device compares the cost values of the respective prediction vectors of motion vector prediction for the reduced image ( See Patent Document 1).
  • the encoding device can obtain the cost value of each prediction vector of motion vector prediction for the reduced image when the motion vector is derived in the pre-search process without additionally performing the pre-search process. Is.
  • the encoding device has an accurate motion vector and cost value derived in a preliminary search process for a reduced image, and cost values of two prediction vectors of motion vector prediction for the reduced image. And are derived when the motion vector is derived in the pre-search process.
  • the encoding device selects two search center candidates from the three search center candidates based on the comparison result of these three cost values and the threshold value.
  • the encoding device executes a formal motion search process based on the selected two search center candidates.
  • each prediction vector of motion vector prediction in the pre-search process is different from each prediction vector of motion vector prediction in the formal motion search process after the pre-search process.
  • MPEG-4/AVC and HEVC
  • the encoding device executes formal motion search processing in small block units.
  • a small block such as 8 ⁇ 8 pixels can have a motion vector.
  • the conventional encoding device executes the pre-search process on the reduced image, it executes the pre-search process on the search area in large block units before the reduction.
  • a conventional encoding apparatus reduces a block of 32 ⁇ 32 pixels to a block of 4 ⁇ 4 pixels with a size of a length of 1/8, and then reduces a block-based search area of a reduced image.
  • the pre-search process If a block in an image that has not been reduced in the pre-search process and a block of an image in the formal motion search process are similar small blocks, the block in the reduced image in the pre-search process is, for example, 2 The block becomes too small, such as ⁇ 2 pixels.
  • the block size of the search area needs to be different between the pre-search process and the formal motion search process.
  • a motion vector prediction prediction vector is a motion vector in a block at a position relative to the target block (for example, a position on the left or above the target block). Therefore, when the block size of the search area is different between the pre-search process and the formal motion search process, the prediction vector of motion vector prediction is also different between the pre-search process and the formal motion search process. If the pre-search process is executed in 32 ⁇ 32 pixel block units and the formal motion search process is executed in 8 ⁇ 8 pixel block units, the 32 ⁇ 32 pixel block is left-predicted in the pre-search process. It has a set of prediction vectors of a vector and an upper prediction vector.
  • a 32 ⁇ 32 pixel block consists of 16 blocks of 8 ⁇ 8 pixels.
  • each block of 32 ⁇ 32 pixels has a set of motion vector prediction vectors.
  • each block of 32 ⁇ 32 pixels may have 16 different sets of left prediction vector and upper prediction vector.
  • the conventional coding device selects a search center candidate for each block of an image in the pre-search process.
  • the image block size in the pre-search process is often larger than the image block size in the formal motion search process. For this reason, the conventional encoding device cannot switch the process for the search center candidate in the block of the image in the formal motion search process, so that the encoding efficiency decreases.
  • the conventional encoding device has a problem that the reduction of the encoding efficiency cannot be suppressed when the search processing amount is reduced.
  • One aspect of the present invention is an encoding device that divides an image into blocks and executes encoding, including a candidate acquisition unit that acquires a plurality of temporary motion vector candidates in a block to be encoded, and an acquired temporary motion vector.
  • An evaluation information acquisition unit that acquires a corresponding vector that is a vector having the same direction and size as the direction and size of the motion vector candidate, and the search center evaluation information indicated by the corresponding vector in the encoded block, and the evaluation.
  • An encoding device comprising: based on information, a selection unit that selects a motion vector candidate from the plurality of temporary motion vector candidates so as to be smaller than the number of the plurality of temporary motion vector candidates.
  • One aspect of the present invention is the above encoding device, wherein the corresponding vector is the temporary motion vector candidate when the encoded block is the block to be encoded.
  • the evaluation information acquisition unit is the temporary motion vector candidate of the corresponding vector in which the search center is included in a search region of the coded block.
  • the evaluation information of the equal to the evaluation information of the corresponding vector, the evaluation information of the provisional motion vector candidate of the corresponding vector that does not include the search center in the search area of the encoded block,
  • the code amount of the coded temporary motion vector candidate and a fixed value are made equal to each other.
  • One aspect of the present invention is the above encoding device, wherein the evaluation information of the corresponding vector is obtained by adding the code amount of the encoded temporary motion vector candidate and the sum of absolute differences of pixel values. The resulting value.
  • One aspect of the present invention is the above-mentioned encoding device, wherein the encoded block is in a leftward direction of the encoding target block when the encoding target block is not the left end block of the image. If the block to be coded is the block at the left end of the image, it is an upward block of the block to be coded.
  • One aspect of the present invention is a program for causing a computer to function as the above encoding device.
  • the present invention even if the search processing amount is reduced, it is possible to suppress the decrease in coding efficiency.
  • FIG. 3 is a diagram showing a configuration example of an encoding device in the embodiment. It is a figure which shows the structural example of the inter prediction process part in embodiment.
  • FIG. 4 is a diagram showing an example of each pixel adjacent to a target block of encoding processing in the embodiment. It is a figure which shows the example of the coding tree unit, the prior search unit, and the prediction unit in embodiment. It is a figure which shows the example of the search area containing each search range in embodiment. It is a figure which shows the example of a priori search vector and a prediction vector in embodiment. It is a figure which shows the example of a corresponding vector in embodiment.
  • FIG. 6 is a diagram showing an example of a correspondence vector indicating the outside of the search area in the embodiment. 6 is a flowchart showing an operation example of the encoding device in the embodiment.
  • FIG. 1 is a diagram illustrating a configuration example of the encoding device 1.
  • the encoding device 1 is a device that encodes a signal such as a moving image.
  • the encoding device 1 encodes, for example, a frame (original image) of a moving image based on the designated parameter.
  • the encoding device 1 executes a moving image encoding process such as H.264/AVC or HEVC as an example.
  • the encoding device 1 executes the encoding process in units of target blocks.
  • the target block (coding block) is a coding unit (CU).
  • the coding unit constitutes a coding tree unit (CTU).
  • the encoding device 1 includes an original image shaping unit 101, an intra prediction processing unit 102, an inter prediction processing unit 103, a prediction residual signal generation unit 104, a conversion/quantization processing unit 105, and an entropy coding unit 106. And an inverse quantization/inverse transform processing unit 107, a decoded signal generation unit 108, and a loop filter processing unit 109.
  • a part or all of the functional units of the encoding device 1 are realized by using hardware such as LSI.
  • Some or all of the functional units of the encoding device 1 may be implemented as software by a processor such as a CPU (Central Processing Unit) executing a program stored in the storage unit.
  • the storage unit is preferably a non-volatile recording medium (non-transitory recording medium) such as a flash memory or an HDD (Hard Disk Drive).
  • the storage unit may include a volatile recording medium such as a RAM (Random Access Memory).
  • the storage unit stores, for example, a program and image data.
  • the original image shaping unit 101 acquires original image signals (moving image frames) in raster scan order.
  • the original image shaping unit 101 shapes the original image data in units of target blocks.
  • the original image shaping unit 101 outputs the original image data in units of target blocks to the prediction residual signal generation unit 104 and the inter prediction processing unit 103.
  • the intra prediction processing unit 102 acquires the decoded signal from the decoded signal generation unit 108.
  • the intra prediction processing unit 102 executes intra prediction on the target frame of the decoded signal.
  • the inter prediction processing unit 103 acquires an original image signal in units of target blocks from the original image shaping unit 101.
  • the inter prediction processing unit 103 acquires the decoded signal after the filtering process from the loop filter processing unit 109 as a reference image signal.
  • the prediction residual signal generation unit 104 acquires the original image signal for each target block from the original image shaping unit 101.
  • the prediction residual signal generation unit 104 acquires a prediction signal from the intra prediction processing unit 102 or the inter prediction processing unit 103.
  • the prediction signal includes information indicating the result of intra prediction when the prediction residual signal generation unit 104 acquires the prediction signal from the intra prediction processing unit 102.
  • the prediction signal includes information indicating the result of inter prediction when the prediction residual signal generation unit 104 acquires the prediction signal from the inter prediction processing unit 103.
  • the prediction residual signal generation unit 104 outputs the difference between the original image signal and the prediction signal to the conversion/quantization processing unit 105 as a prediction residual signal.
  • the transform/quantization processing unit 105 executes orthogonal transform such as discrete cosine transform on the prediction residual signal.
  • the transform/quantization processing unit 105 quantizes the transform coefficient.
  • the transform/quantization processing unit 105 outputs the quantized transform coefficient to the entropy coding unit 106 and the dequantization/inverse transform processing unit 107.
  • the entropy coding unit 106 entropy codes the quantized transform coefficient.
  • the entropy coding unit 106 outputs the entropy-coded transform coefficient bit stream to an external device such as a decoding device. In this way, the encoding device 1 transmits the search result in the motion search process to an external device such as a decoding device.
  • the inverse quantization/inverse transform processing unit 107 acquires the quantized transform coefficient from the transform/quantization processing unit 105.
  • the inverse quantization/inverse transform processing unit 107 performs inverse quantization and inverse orthogonal transform processing on the quantized transform coefficient.
  • the inverse quantization/inverse transform processing unit 107 outputs the prediction residual decoded signal, which is the result of the inverse quantization and inverse orthogonal transform processing, to the decoded signal generation unit 108.
  • the decoded signal generation unit 108 acquires a prediction signal from the intra prediction processing unit 102 or the inter prediction processing unit 103.
  • the decoded signal generation unit 108 generates a decoded signal of the encoded target block by adding the prediction residual decoded signal and the prediction signal.
  • the loop filter processing unit 109 executes a filtering process for reducing the coding distortion on the decoded signal.
  • the loop filter processing unit 109 outputs the decoded signal after the filtering process to the inter prediction processing unit 103 as a reference image signal.
  • FIG. 2 is a diagram showing a configuration example of the inter prediction processing unit 103.
  • the inter prediction processing unit 103 includes a reduced image generation unit 201, a preliminary search processing unit 202, a predicted vector generation unit 203, a search center determination unit 204, a motion search processing unit 205, and a motion search result storage unit 206. Equipped with.
  • the reduced image generation unit 201 acquires an original image and a reference image.
  • the reduced image generation unit 201 performs reduction processing on the original image.
  • the reduced image generation unit 201 executes the reduction process on the reference image at the same reduction ratio as that of the original image.
  • the reduced image generation unit 201 outputs the reduced original image and reference image to the pre-search processing unit 202.
  • the pre-search processing unit 202 executes a pre-search process using the reduced original image and reference image.
  • the pre-search processing unit 202 outputs the accurate motion vector that is the result of the pre-search process as one pre-search vector for each prediction block to the search center determination unit 204.
  • a prediction block motion compensation block
  • PU prediction unit
  • the prediction vector generation unit 203 derives a prediction vector for motion vector prediction in the target block for each prediction block by executing motion vector prediction based on motion vectors of blocks around the target block. Since two types of motion vector prediction are defined in HEVC, the prediction vector generation unit 203 outputs two prediction vectors to the search center determination unit 204 for each prediction block.
  • the HEVC standard stipulates two methods of motion vector prediction in which a prediction vector is derived for each target block of encoding processing.
  • the encoding device can select a predictive vector with high encoding efficiency. Therefore, the prediction vector generation unit 203 derives two prediction vectors.
  • the search center determination unit 204 uses one advance search vector for each prediction block as a vector indicating one search center candidate (hereinafter referred to as “search center candidate vector”). It is acquired from the unit 202.
  • the search center determination unit 204 acquires the two prediction vectors for each prediction block from the prediction vector generation unit 203 as a vector indicating two search center candidates (search center candidate vector).
  • the search center determination unit 204 acquires, from the motion search result storage unit 206, the result of the motion search process for a prediction block that is temporally prior (past) to the motion search process for the current prediction block. That is, the search center determination unit 204 determines the vector corresponding to one pre-search vector of the current prediction block from the search center candidate vectors of the prediction block immediately before (past) the current prediction block, as the current prediction. It is acquired from the motion search result storage unit 206 as a block search center candidate vector. The search center determination unit 204 searches for a vector corresponding to two prediction vectors of the current prediction block from the search center candidate vectors of the prediction block immediately before (past) the current prediction block. It is acquired from the motion search result storage unit 206 as the center candidate vector.
  • the vector corresponding to the search center candidate vector is referred to as "corresponding vector". That is, the corresponding vector is a past search center candidate vector (temporary motion vector candidate) when the encoded target block is the encoding target block.
  • the direction and size of the corresponding vector of the search center candidate vector are the same as the direction and size of the search center candidate vector.
  • the search center determination unit 204 selects two search center candidate vectors from the three search center candidate vectors based on the result of the motion search process on the past prediction block.
  • the search center determination unit 204 outputs the selected two search center candidate vectors to the motion search processing unit 205.
  • the search center determination unit 204 selects an optimum search center candidate vector from one pre-search vector and two prediction vectors in one prediction block immediately before the current prediction block. With this, the search center determination unit 204 can reduce the processing amount of the motion search process without lowering the coding efficiency.
  • the motion search processing unit 205 acquires an original image and a reference image.
  • the motion search processing unit 205 executes the motion search process for each prediction block on the region including the search center indicated by the search center candidate vector selected by the search center determination unit 204.
  • the motion search processing unit 205 outputs the selected motion vector (determined motion vector) and the prediction difference image (prediction difference signal) to the prediction residual signal generation unit 104.
  • the motion search result storage unit 206 stores one advance search vector and two prediction vectors in the current one prediction block as a result of the motion search process for a certain period.
  • the stored one pre-search vector and two prediction vectors are the search center determination unit 204 in the process of selecting the optimum search center candidate vector in the next prediction block of the current one prediction block. Used by.
  • FIG. 3 is a diagram illustrating an example of each pixel adjacent to the target block 301 of the encoding process.
  • the prediction vector generation unit 203 causes the pixel 302 “
  • the motion vector of the encoded target block including “A0” is defined as the prediction vector “MVP1”.
  • the prediction vector generation unit 203 determines the code including the pixel 303 “A1”.
  • the motion vector of the target block that has been converted is referred to as a prediction vector “MVP1”.
  • the prediction vector generation unit 203 determines the prediction vector.
  • the prediction vector generation unit 203 causes the pixel 304 “ The motion vector of the encoded target block including “B0” is defined as the prediction vector “MVP2”.
  • the encoding including the upper right pixel 305 “B1” of the target block 301 It is determined whether or not the coding mode of the completed target block is a coding mode having a motion vector.
  • the encoding mode of the encoded target block including the pixel 305 “B1” on the upper right of the target block 301 is the encoding mode having the motion vector
  • the motion vector is the prediction vector “MVP2”.
  • the prediction vector generation unit 203 includes the code including the pixel 306 “B2”.
  • the motion vector of the target block that has been converted is referred to as a prediction vector “MVP2”.
  • the prediction vector generation unit 203 generates one prediction vector “MVP1” for motion vector prediction based on the pixel 302 or the pixel 303.
  • the prediction vector generation unit 203 generates one prediction vector “MVP2” for motion vector prediction based on the pixel 304, the pixel 305, or the pixel 306.
  • the prediction vector generation unit 203 outputs the prediction vectors “MVP1” and “MVP2” for motion vector prediction to the search center determination unit 204.
  • the prediction vector generation unit 203 may use a motion vector of a target block (peripheral block) that is being encoded as a prediction vector.
  • the encoding device performs motion vector prediction and motion compensation processing in units of prediction blocks (prediction units).
  • the size of the prediction block is from 8 ⁇ 8 pixels to 64 ⁇ 64 pixels.
  • the reduced image generation unit 201 reduces the original image, so that the prediction block has 2 ⁇ 2 pixels. It becomes a very small size. For this reason, the accuracy of the motion vector in the pre-search process decreases.
  • the search processing unit 202 may execute a pre-search process on a prediction block having a large size such as 32 ⁇ 32 pixels.
  • the size of the prediction block in the pre-search process executed by the pre-search process processing unit 202 is different from the size of the prediction block in the formal motion search process executed by the motion search process unit 205.
  • the preliminary search vector “MVpre” is generated by the preliminary search processing unit 202 for each prediction block having a large size such as 32 ⁇ 32 pixels.
  • FIG. 4 is a diagram showing an example of a coding tree unit (CTU), a pre-search unit, and a prediction unit (PU).
  • the size of the coding tree unit 400 composed of a plurality of coding units that are target blocks (coding blocks) is 64 ⁇ 64 pixels.
  • the size of the pre-search unit 401, which is the unit of the pre-search process executed by the pre-search processing unit 202, is 32 ⁇ 32 pixels.
  • the size of the prediction unit 500 which is a unit of the motion search processing executed by the motion search processing unit 205, is 8 ⁇ 8 pixels.
  • the search center candidates indicated by the prediction vectors “MVP1” and “MVP2” are different for each prediction unit 500 having a size of 8 ⁇ 8 pixels. Therefore, there are 64 sets of prediction vectors "MVP1" and "MVP2" in the coding tree unit 400.
  • the search center candidate indicated by the preliminary search vector “MVpre” differs for each preliminary search unit of 32 ⁇ 32 pixel size. Therefore, in the coding tree unit 400, a total of four pre-search vectors “MVpre” exist in the pre-search units 401 to 404.
  • each prediction unit has a pre-search vector indicating one search center candidate and a prediction vector indicating two search center candidates.
  • the prediction unit, the pre-search unit, and the coding tree unit that share these three search center candidates have different sizes.
  • the optimum search is performed from the three search center candidate vectors of the pre-search vector “MVpre” generated by the pre-search processing unit 202 and the prediction vectors “MVP1” and “MVP2” generated by the prediction vector generation unit 203.
  • An example in which the search center determination unit 204 selects the center candidate vector will be described.
  • FIG. 5 is a diagram showing an example of a search area including each search range.
  • the search region 600 has two search center candidate vectors. Includes each search center candidate indicated by.
  • the search area 600 does not include the search range 603 including the search center candidate indicated by the unselected prediction vector 702 “MVP2_1”.
  • the cost value is information that represents the evaluation (evaluation information). The smaller the cost value, the higher the evaluation.
  • the search center candidate vector having a small cost value (high evaluation) is a suitable search center candidate vector and is easily selected by the search center determining unit 204.
  • the cost value is, for example, the sum of the code amount of the motion vector (hereinafter referred to as “motion vector cost value”) that is simply estimated when the motion vector is encoded and the sum of absolute differences (addition result). ).
  • This sum of absolute differences may be the sum of absolute differences (Sum of AbsoluteDifference: SAD) between the pixel value of the original image and the pixel value of the reference image indicated by the motion vector, or may be the pixel value of the original image and the motion vector.
  • the sum of absolute differences (Sum of Absolute TransformedDifference: SATD) of the result of the two-dimensional Hadamard transform performed on the absolute values of the differences from the pixel values of the reference image may be used.
  • the motion search result storage unit 206 searches for a cost value representing the result of the motion search process in the search area 600 for the formal motion search process executed immediately before in the formal motion search process for each prediction unit. Each point (pixel in the search area 600) is stored. In FIG. 5, the motion search result storage unit 206 stores, for each search point, a cost value representing the result of the motion search process in the search region 600 for the prediction unit 500. When at least a part of the search range 601 and the search range 602 overlap, the substantial number of search points is smaller than when the search range 601 and the search range 602 do not overlap at all. The motion search result storage unit 206 stores each cost value for a maximum of “2 ⁇ W ⁇ H” search points.
  • FIG. 6 is a diagram showing an example of a pre-search vector and a prediction vector.
  • the search center determination unit 204 determines the prediction.
  • the pre-search vector 703 “MVpre_2”, the prediction vector 704 “MVP1_2”, and the prediction vector 705 “MVP2_2” are acquired as the three search center candidate vectors of the unit 501.
  • FIG. 7 is a diagram showing an example of correspondence vectors.
  • the search center determination unit 204 for the result of the formal motion search process for the prediction unit 500 executed immediately before, for each vector (corresponding vector) corresponding to each of the three search center candidate vectors of the prediction unit 501.
  • the cost value of is acquired from the motion search result storage unit 206.
  • the correspondence vector 706 is a vector corresponding to the pre-search vector 703 shown in FIG.
  • the correspondence vector 706 indicates the search center candidate 803 in the search area 600.
  • the correspondence vector 707 is a vector corresponding to the prediction vector 704 shown in FIG.
  • the correspondence vector 707 indicates the search center candidate 804 in the search area 600.
  • the correspondence vector 708 is a vector corresponding to the prediction vector 705 shown in FIG.
  • the correspondence vector 708 indicates the search center candidate 805 in the search area 600.
  • the search center determination unit 204 uses the cost values of the corresponding vectors 706 to 708 in the formal motion search process for the prediction unit 500 executed immediately before as the official value for the current prediction unit 501.
  • the respective cost values of the search center candidate vectors preliminary search vector 703, prediction vector 704, and prediction vector 705) in the motion search processing of (3) are set.
  • the search center determination unit 204 compares the respective cost values of the search center candidate vector in the formal motion search process for the current prediction unit 501.
  • the search center determination unit 204 selects two search center candidate vectors in ascending order of cost value from the three search center candidate vectors.
  • the search center determination unit 204 sets the two selected search center candidate vectors as the two search center candidate vectors in the formal motion search process for the prediction unit 501.
  • the search center determination unit 204 selects two search center candidate vectors from the three search center candidate vectors of the prediction unit 501.
  • the search center determination unit 204 selects the two search center candidates indicated by the selected two search center candidate vectors as the two search centers in the formal motion search process of the prediction unit 501.
  • FIG. 8 is a diagram showing an example of a correspondence vector indicating the outside of the search area 600. Any of the correspondence vectors may indicate outside the search area 600.
  • the search center candidate 803 indicated by the correspondence vector 706 is included in the search area 600 of the prediction unit 500.
  • the search center candidate 805 indicated by the correspondence vector 708 is included in the search region 600 of the prediction unit 500. Therefore, the motion search result storage unit 206 stores the cost value of the correspondence vector 706 and the cost value of the correspondence vector 708.
  • the search center candidate 804 indicated by the correspondence vector 707 is not included in the search area 600 of the prediction unit 500. Therefore, the motion search result storage unit 206 does not store the cost value of the correspondence vector 707. Therefore, the search center determination unit 204 cannot refer to the cost value of the correspondence vector 707 and cannot compare the cost value of the correspondence vector 707 and the cost value of the correspondence vector 706 or 707.
  • the search center determination unit 204 uses a parameter value (fixed value) previously determined by the user or the like and a motion vector.
  • the sum with the cost value is defined as the cost value of the correspondence vector that cannot be referenced.
  • the search center determination unit 204 can compare the cost value of the reference vector that can be referred to with the cost value of the correspondence vector that cannot be referred to.
  • FIG. 9 is a flowchart showing an operation example of the encoding device 1.
  • the search center determination unit 204 starts the process of selecting the search center of the target prediction unit 501 (step S101).
  • the search center determination unit 204 acquires the advance search vector 703 “MVpre_2” shown in FIG. 6 from the advance search processing unit 202.
  • the search center determination unit 204 defines the pre-search vector 703 “MVpre_2” as the search center candidate vector “SC_1”.
  • the search center determination unit 204 acquires the prediction vector 704 “MVP1_2” and the prediction vector 705 “MVP2_2” from the prediction vector generation unit 203.
  • the search center determination unit 204 defines the prediction vector 704 “MVP1_2” as the search center candidate vector “SC_2”.
  • the search center determination unit 204 determines the prediction vector 705 "MVP2_2" as the search center candidate vector "SC_3" (step S102).
  • the search center determination unit 204 substitutes 1 for the index “i” (step S103).
  • the search center determination unit 204 determines whether or not the search center of the search center candidate vector “SC_i” is within the search area 600 in the prediction unit 500 (immediately before the prediction unit 501) (step S104). ..
  • the search center determination unit 204 determines that the corresponding vector of the search center candidate vector “SC_i” (search The cost value of the center candidate vector “SC_i”) is acquired from the motion search result storage unit 206 (step S105).
  • the search center determination unit 204 makes the cost value of the obtained correspondence vector equal to the cost value “C_i” of the search center candidate vector “SC_i” of the prediction unit 501 (step S106).
  • the cost value of the corresponding vector is not stored in the motion search result storage unit 206.
  • the search center determination unit 204 simply derives the code amount of the search center candidate vector “SC_i” when the search center candidate vector “SC_i” is encoded, as a motion vector cost value.
  • the method of deriving the motion vector cost value by the search center determination unit 204 may be the same as the method of deriving the code amount of the motion vector (motion vector cost value) by the motion search processing unit 205 (step S107).
  • the search center determination unit 204 adds the result (total value) of the motion vector cost value and the parameter value “P” (fixed value) predetermined by the user or the like to the cost value of the search center candidate vector “SC_i”. It is made equal to "C_i" (step S108).
  • the search center determination unit 204 adds 1 to the index “i” (step S109).
  • the search center determination unit 204 determines whether the index value is larger than the number “3” of search center candidate vectors (step S109). When the value of the index “i” is equal to or smaller than the number of search center candidate vectors “3” (step S109: NO), the search center determination unit 204 returns the process to step S104.
  • the search center determination unit 204 determines the search center candidate vectors “SC_1”, “SC_2”, and “SC_3”. Compare each cost value.
  • the search center determination unit 204 selects two search center candidate vectors in ascending order of cost value.
  • the search center determination unit 204 selects each search center candidate indicated by the selected two search center candidate vectors as each search center of the target prediction unit 501 (current PU) (step S111).
  • the parameter value “P” in step S108 is a value corresponding to the sum of absolute differences (SAD or SATD) representing the difference cost value, and functions like a threshold for cost values (motion vector cost values) other than the difference cost value. To do. As shown in FIG. 8, a case will be described in which only one search center candidate 804 among the three search center candidates 803 to 805 is outside the search region 600 of the prediction unit 500.
  • each search center candidate vector indicating the two search center candidates 803 and 805 in the search area 600 is smaller than the cost value “parameter P+motion vector cost value” of the search center candidate vector indicating the search center candidate 804.
  • the search center determination unit 204 sets these two search center candidates 803 and 805 as the search centers of the prediction unit 501.
  • each search center candidate vector indicating the two search center candidates 803 and 805 in the search area 600 and the cost value of the search center candidate vector indicating the search center candidate 804 are larger than “parameter P+motion vector cost value”
  • the search center determination unit 204 does not select these two search center candidates 803 and 805 as the search centers of the prediction unit 501.
  • each search center candidate outside the search area 600 is indicated. Since the parameter “P” is canceled by comparing the respective cost values of the search center candidate vectors, the search center determining unit 204 predicts the search center candidates indicated by the search center candidate vector having the small motion vector cost value by the prediction. Select as the search center for unit 501.
  • the encoding device 1 of the embodiment divides (shapes) an image into target blocks and executes encoding.
  • the encoding device 1 of the embodiment includes a search center determination unit 204 (candidate acquisition unit, evaluation information acquisition unit, selection unit).
  • the search center determination unit 204 acquires a plurality of search center candidate vectors (temporary motion vector candidates) in the target block to be encoded.
  • the search center determination unit 204 acquires a corresponding vector which is a vector having the same direction and size as the direction and size of the acquired search center candidate vector.
  • the search center determination unit 204 acquires the search center evaluation information indicated by the corresponding vector in the encoded target block.
  • the search center determination unit 204 selects a search center candidate vector (motion vector candidate) from the plurality of search center candidate vectors based on the evaluation information so as to be smaller than the number of the plurality of search center candidate vectors. ..
  • the encoding device 1 of the embodiment narrows down motion vector candidates by using the result of the motion search related to the already encoded block.
  • the encoding device 1 of the embodiment determines a search center candidate based on the result of the formal motion search process in blocks around the target block without reading the pixel value. That is, the encoding device 1 according to the embodiment does not have to additionally execute the preliminary search process (additional cost), and the cost of each search center candidate indicated by the corresponding vector of each motion vector prediction (MVP) accurate prediction vector.
  • the values (evaluation information) are compared, and the search center candidate vector of the current prediction block is selected based on the comparison result. In this way, the encoding device 1 according to the embodiment can suppress a decrease in encoding efficiency even when the search processing amount is reduced.
  • the encoding device 1 according to the embodiment does not need to perform additional search processing or the like by performing search center candidate narrowing down based on past search results, and therefore the search processing amount can be significantly reduced. Is possible.
  • the encoding device 1 according to the embodiment performs the narrowing down of the correspondence vector for each prediction unit in the formal motion search process, so that the block size in the pre-search process and the block size in the formal motion search process are determined. It is possible to prevent the encoding performance from deteriorating due to the difference.
  • the encoding device 1 of the embodiment can prevent the prediction vector of the motion vector prediction from being inconsistent by the pre-search process and the formal motion search process.
  • the cost value of the search center candidate vector of the current prediction unit is evaluated based on the search result of the previous prediction unit (previous PU), which means that the corresponding vector selection result Does not significantly affect
  • the motion search result storage unit 206 stores, as an example, only the search result of the immediately preceding prediction unit.
  • the previous prediction unit previously PU
  • the motion search result storage unit 206 stores not only the search result of the immediately preceding prediction unit but also the search result of the prediction unit closest to the current prediction unit at the left end of the frame of the original image. Good.
  • the search center determination unit 204 does not use the search result of the immediately previous prediction unit, but rather the search result of the search result of the immediately preceding left end of the frame.
  • the search results of the prediction unit may be used.
  • the latest prediction unit is, for example, a block in the left direction of the block to be encoded when the block to be encoded (prediction unit) is not the leftmost block of the frame of the original image.
  • the latest prediction unit is, for example, an upward block of the block to be coded when the block to be coded is the leftmost block of the frame of the original image. Since the search center determination unit 204 can use the past search result of the prediction unit immediately above the current prediction unit (search result having a high correlation with the current PU) in the frame, the coding performance is deteriorated. Can be suppressed.
  • the search center determination unit 204 acquires the cost value of one corresponding vector of the preceding prediction unit (one search center cost value) from the motion search result storage unit 206.
  • the cost value may be a total value of cost values of a plurality of search center candidate vectors (cost values of a plurality of search centers).
  • the search center determination unit 204 determines the search center candidate indicated by the search center candidate vector of the current prediction unit as a center, and vertically and horizontally to ⁇ 1 point for a total of nine search center candidates.
  • the cost value of the corresponding vector in the result of the formal motion search process for is acquired.
  • the search center determination unit 204 may select the search center candidate vector by comparing the acquired cost values.
  • the cost value may be the median value of the cost values of the plurality of search center candidate vectors (the cost values of the plurality of search centers). With this, the search center determination unit 204 can compare the cost values more accurately and select the search center candidate vector without being affected by image noise or the like.
  • the encoding device 1 of the embodiment executes the motion search process and the pixel value prediction on the input image by using the temporal correlation with the reference image.
  • the encoding device 1 of the embodiment includes a reduced image generation unit, a prior motion search processing unit, a predicted vector generation unit, a predicted vector generation unit, a search center determination unit, a motion search processing unit, and a motion search result storage. And a section.
  • the reduced image generation unit reduces the input image and the reference image.
  • the prior motion search processing unit executes the prior motion search processing using the coding target block of the reduced input image reduced by the reduced image generation unit at the same ratio and the prior motion search search region of the reduced reference image. To determine the first motion vector.
  • the prediction vector generation unit derives the two MVP prediction vectors from the peripheral blocks of the target coding block, and determines them as the second motion vector and the third motion vector.
  • the search center determination unit uses the motion search results of the past blocks stored in the motion search result storage unit to extract three vectors of the first motion vector, the second motion vector, and the third motion vector. 2 or less vectors are selected and determined as a vector indicating the search center of the target block for encoding.
  • the motion search processing unit determines the search region for main motion search based on the search center indicated by the two vectors determined by the search center determination unit, and for each point in the search region for main motion search. Execute motion search processing.
  • the motion search processing unit calculates the sum of absolute differences (SAD) between the original image and the reference image indicated by the motion vector, or the sum of absolute differences (SATD) obtained by performing two-dimensional Hadamard transformation on the difference values.
  • SAD sum of absolute differences
  • SATD sum of absolute differences
  • the sum of the code amount generated when the motion vector is encoded is simply estimated and the motion vector cost value is determined as the search cost value at each point in the motion search search region.
  • the motion search processing unit searches for a point having the smallest search cost value.
  • the motion search result storage unit calculates the motion vector result at each point in the motion search search region and the corresponding search cost value derived by the motion search processing unit for one encoding target block. Just save.
  • the search center determination unit sets the three motion vectors of the first motion vector, the second motion vector, and the third motion vector as search center candidates.
  • the search center determination unit determines whether the same vector as the search center candidate exists among the plurality of motion vectors stored in the motion search processing unit. When the same vector as the search center candidate exists, the search center determination unit sets the search cost value stored in the motion search processing unit corresponding to the same vector as the search center cost of the search center candidate.
  • the search center determination unit determines the code amount when the vector of the search center candidate is encoded by the same method as the method of deriving the motion vector cost value in the motion search processing unit. It is derived and used as the search center vector cost value.
  • the search center determination unit sets the sum of the difference value parameter that can be set to an arbitrary value and the search center vector cost value as the cost value of the search center of the search center candidate.
  • the search center determination unit determines the cost value of each search center of the search center candidates of the three motion vectors of the first motion vector, the second motion vector, and the third motion vector.
  • the search center determination unit determines two search centers having smaller values among the cost values of the three search centers.
  • the search center determination unit determines two search center candidates corresponding to the respective cost values as search centers of the current block.
  • the motion search result storage unit saves the motion vector result at each point in the main search area for motion search and the corresponding search cost value as one block (first block) derived most recently.
  • the motion search result storage unit also stores, as the second block, the one block at the left end of the screen that has been derived most recently. If the target block to be encoded is not the block at the left end of the screen, the search center determination unit determines the search center in the motion vector result stored in the motion search processing unit for the first block, which is the one block most recently derived. It is determined whether or not the same vector as the candidate exists.
  • the search center determining unit determines whether the second block, which is the one block at the left end of the screen that was most recently derived, of the motion vector results stored in the motion search processing unit. It is determined whether the same vector (corresponding vector) as the search center candidate exists therein. If the same vector as the search center candidate exists, the search center determination unit determines the search cost value corresponding to the same vector (corresponding vector) and stored in the motion search processing unit as the search center candidate. Set as the cost value of the search center.
  • the computer may implement the encoding device in the above-described embodiment.
  • the program for realizing this function may be recorded in a computer-readable recording medium, and the program recorded in this recording medium may be read by a computer system and executed.
  • the “computer system” mentioned here includes an OS and hardware such as peripheral devices.
  • the “computer-readable recording medium” refers to a portable medium such as a flexible disk, a magneto-optical disk, a ROM, a CD-ROM, or a storage device such as a hard disk built in a computer system.
  • the "computer-readable recording medium” means to hold a program dynamically for a short time like a communication line when transmitting the program through a network such as the Internet or a communication line such as a telephone line.
  • a volatile memory inside a computer system that serves as a server or a client in that case, which holds a program for a certain period of time, may be included.
  • the program may be for realizing a part of the functions described above, or may be a program that can realize the functions described above in combination with a program already recorded in a computer system, It may be realized using a programmable logic device such as FPGA (Field Programmable Gate Array).
  • the decoding device may include at least a part of the functional unit of the encoding device 1.
  • the encoding device 1 transmits the search result in the motion search process to the decoding device.
  • the decoding device instead of the encoding device 1 transmitting the search result in the motion search process to the decoding device, the decoding device Alternatively, the search result in the motion search process may be acquired by performing the same process as the motion search process performed by the encoding device 1.
  • the present invention can be applied to an encoding device that encodes moving images and the like.
  • SYMBOLS 1 DESCRIPTION OF SYMBOLS 1... Encoding device, 101... Original image shaping part, 102... Intra prediction processing part, 103... Inter prediction processing part, 104... Prediction residual signal generation part, 105... Transform/quantization processing part, 106... Entropy coding Reference numeral 107... Inverse quantization/inverse transform processing unit, 108... Decoded signal generation unit, 109... Loop filter processing unit, 201... Reduced image generation unit, 202... Prior search processing unit, 203... Prediction vector generation unit, 204 ... Search center determination unit, 205... Motion search processing unit, 206... Motion search result storage unit, 301... Target block, 302 to 306... Pixel, 400... Coding tree unit, 401 to 404... Pre-search unit, 500... 501...
  • Prediction unit 600... Search area, 601 to 603... Search range, 700... Pre-search vector, 701... Prediction vector, 702... Prediction vector, 703... Pre-search vector, 704... Prediction vector, 705... Prediction vector , 706 to 708... Corresponding vectors, 803 to 805... Search center candidates

Landscapes

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

Abstract

符号化装置は、画像をブロックに分割して符号化を実行する符号化装置であって、符号化対象のブロックにおける複数の仮動きベクトル候補を取得する候補取得部と、取得された仮動きベクトル候補の方向及び大きさと同一の方向及び大きさのベクトルである対応ベクトルと、符号化済みのブロックにおける対応ベクトルが示す探索中心の評価情報とを取得する評価情報取得部と、評価情報に基づいて、複数の仮動きベクトル候補のうちから動きベクトル候補を、複数の仮動きベクトル候補の数よりも少なくなるように選択する選択部とを備える。

Description

符号化装置及びプログラム
 本発明は、符号化装置及びプログラムに関する。
 MPEG(Moving Picture Experts Group)-2、MPEG-4、MPEG-4/AVC(Advanced Video Coding)等の動画像符号化規格がある。HEVC(High Efficiency Video Coding)は、今後の普及が見込まれている次世代の動画像符号化規格である。
 動画像符号化規格では、1枚の画像のフレームに閉じた情報を用いて符号化処理が実行されるフレーム内符号化と、時系列の複数の画像のフレームの情報を用いて符号化処理が実行されるフレーム間符号化とが規定されている。フレーム間符号化では、符号化装置は、符号化対象画像及び参照画像を用いて、動きベクトルを探索する処理(以下「動き探索処理」という。)を実行する。動きベクトルは、符号化対象画像及び参照画像の画素単位の差分(フレーム間差分値)の累積値等が最も小さくなる参照画像の座標を示すベクトルである。
 符号化装置は、動きベクトル及びフレーム間差分値を符号化することによって、符号化結果の情報量を削減する。符号化される動きベクトル及びフレーム間差分値の情報量を削減するためには、符号化装置は、精度のよい動きベクトルを探索する必要がある。精度のよい動きベクトルを探索する動き探索処理には、膨大な演算量が必要である。動き探索処理では、符号化装置は、符号化対象画像及び参照画像のフレーム間差分値を、整数又は小数の画素単位で導出する。このため、動き探索処理には、さらに膨大な演算量が必要である。
 符号化装置では、動き探索処理が実行される参照画像内の探索領域(探索中心を含む領域)が、正式の動き探索処理(本番の動き探索処理)の前に決定される場合がある。この場合、符号化装置は、正式の動き探索処理の前に探索領域に対して動きベクトルを探索する処理(事前探索処理)を実行する。
 事前探索処理では、符号化装置は、縮小された符号化対象画像を用いて、縮小された参照画像内の探索領域を決定する。符号化装置は、符号化対象画像及び参照画像を、例えば8分の1画素の長さのサイズに縮小する。符号化装置は、縮小された符号化対象画像及び参照画像内の探索領域について、例えば8分の1画素の長さの画素単位(小数の画素単位)で事前探索処理を実行する。
 事前探索処理では、符号化装置は、縮小された符号化対象画像について、精度の粗い動きベクトルを導出する。符号化装置は、事前探索処理によって探索された複数の動きベクトルのうちでフレーム間差分値が最も小さい動きベクトルが示す位置を、正式の動き探索処理における参照画像内の探索中心と決定する。符号化装置は、事前探索処理において決定された探索中心を含む領域(探索領域)に対して、正式の動き探索処理を実行する。
 「MPEG-4/AVC」及びHEVCでは、動きベクトル予測(Motion Vector Prediction: MVP)が規定されている。動きベクトル予測では、符号化装置は、符号化の対象ブロックの周囲のブロックにおける動きベクトルに基づいて、対象ブロックにおける動きベクトル予測(MVP)の結果のベクトルである予測ベクトルを導出する。符号化装置は、対象ブロックにおける最終的な動きベクトルが示す位置の画素値と、動きベクトル予測の予測ベクトルが示す位置の画素値との差分(予測残差)を符号化する。このため、符号化装置は、動きベクトル予測の予測ベクトルが示す位置に近く且つ予測残差の小さい位置を効率よく探索することで、符号化効率を向上させることが可能である。
 このため、符号化装置は、動きベクトル予測の予測ベクトルが示す位置を探索中心として、その探索中心を含む探索領域に対して動き探索処理を実行する場合がある。HEVCでは、符号化の対象ブロックの左方向に位置するブロックに基づいて決定される左予測ベクトル(左MVP)と、その対象ブロックの上方向に位置するブロックに基づいて決定される上予測ベクトル(上MVP)との2種類の予測ベクトルがある。
 符号化装置は、符号化効率を高くすることが可能となる予測ベクトルを、これら2種類の予測ベクトルのうちから選択する。各予測ベクトルが示す探索中心を含む探索領域を符号化装置が探索するので、HEVCにおける動き探索処理の処理量(探索処理量)は、MPEG-4/AVCにおける動き探索処理の処理量と比較して増大する場合がある。
 このため、HEVCにおける動き探索処理では、事前探索処理の結果のベクトルである事前探索ベクトル「MVpre」と、動きベクトル予測の予測ベクトルとに由来する複数の探索中心候補が用いられる。動き探索処理の処理量をさらに削減するために、符号化装置は、複数の探索中心候補のうちから探索中心候補を選択し(絞り込み)、選択された少ない個数の探索中心候補を含む小さい探索領域に対して正式の動き探索処理を実行することが必要である。特に、LSI(Large Scale Integration)又はFPGA(Field Programmable Gate Array)等のハードウェアを用いて符号化装置が実現される場合、各ブロックに対する動き探索処理の処理量が一定以下であれば、回路規模は削減される。
 ハードウェアの回路規模を削減するため、各ブロックの探索中心候補の個数が一定数以下となるように、探索中心候補が選択される場合がある。特許文献1では、符号化装置は、縮小された画像に対する事前探索処理において精度のよい動きベクトルを導出する際に、その縮小された画像に対する動きベクトル予測の各予測ベクトルのコスト値を比較する(特許文献1参照)。
 事前探索処理における探索領域が広いので、動きベクトル予測の予測ベクトルが示す探索中心候補は、事前探索処理における探索領域に含まれている場合が多い。このため、符号化装置は、事前探索処理を追加実行しなくても、事前探索処理において動きベクトルを導出した際に、その縮小された画像に対する動きベクトル予測の各予測ベクトルのコスト値を取得可能である。
 特許文献1では、符号化装置は、縮小された画像に対する事前探索処理において導出された精度のよい動きベクトル及びコスト値と、その縮小された画像に対する動きベクトル予測の2本の予測ベクトルのコスト値とを、事前探索処理において動きベクトルを導出する際に導出する。符号化装置は、これら3個のコスト値と閾値との比較結果に基づいて、3個の探索中心候補から2個の探索中心候補を選択する。符号化装置は、選択された2個の探索中心候補に基づいて、正式の動き探索処理を実行する。
特許第6259272号公報
 しかしながら、特許文献1では、事前探索処理における動きベクトル予測の各予測ベクトルと、事前探索処理後の正式の動き探索処理における動きベクトル予測の各予測ベクトルとは異なっている。「MPEG-4/AVC」及びHEVCでは、小さい画素単位の動きベクトルにも対応するため、符号化装置は、正式の動き探索処理を小さいブロック単位で実行する。特にHEVCでは、例えば8×8画素のように小さいブロックが動きベクトルを持つことが可能である。
 従来の符号化装置は、縮小された画像に対して事前探索処理を実行するので、縮小される前では大きいブロック単位の探索領域に対して事前探索処理を実行する。例えば、従来の符号化装置は、32×32画素のブロックを4×4画素のブロックまで8分の1の長さのサイズに縮小してから、縮小された画像のブロック単位の探索領域に対して事前探索処理を実行する。仮に、事前探索処理において未だ縮小されていない画像におけるブロックと、正式の動き探索処理における画像のブロックとが、同様の小さいブロックである場合、事前探索処理における縮小された画像におけるブロックは、例えば2×2画素のように小さすぎるブロックとなる。従来の符号化装置は、このように小さすぎるブロックを用いて、フレーム間の大まかな動きを捉えることが難しい。このため、フレーム間の大まかな動きを符号化装置が捉えるには、事前探索処理と正式の動き探索処理とで、探索領域のブロックのサイズが異なる必要がある。
 動きベクトル予測の予測ベクトルは、対象ブロックとの相対的な位置(例えば、対象ブロックの左又は上の位置)のブロックにおける動きベクトルである。このため、事前探索処理と正式の動き探索処理とで探索領域のブロックのサイズが異なっている場合には、事前探索処理と正式の動き探索処理とで動きベクトル予測の予測ベクトルも異なる。仮に、事前探索処理が32×32画素のブロック単位で実行され、正式の動き探索処理が8×8画素のブロック単位で実行される場合、事前探索処理では32×32画素のブロックは、左予測ベクトル及び上予測ベクトルの1組の予測ベクトルを持つ。
 32×32画素のブロックは、8×8画素の16個のブロックから構成される。正式の動き探索処理では、32×32画素の各ブロックは、動きベクトル予測の1組の予測ベクトルを持つ。これに対して、事前探索処理では、32×32画素の各ブロックは、16組の異なる左予測ベクトル及び上予測ベクトルを持つ場合がある。動きベクトル予測の各予測ベクトルが示す探索中心候補を、事前探索処理において符号化装置が選択した場合でも、正式の動き探索処理における動きベクトル予測の各予測ベクトルと、事前探索処理においてコスト値が比較される動きベクトル予測の各予測ベクトルとが異なるので、符号化効率は低下してしまう。
 このように、従来の符号化装置は、事前探索処理における画像のブロック単位で、探索中心候補を選択する。事前探索処理における画像のブロックのサイズは、正式の動き探索処理における画像のブロックのサイズよりも大きいことが多い。このため、正式の動き探索処理における画像のブロック単位で探索中心候補に対する処理を従来の符号化装置が切り替えることができないので、符号化効率は低下してしまう。このように、従来の符号化装置は、探索処理量が削減された場合、符号化効率の低下を抑止することができないという問題がある。
 上記事情に鑑み、本発明は、探索処理量が削減された場合でも、符号化効率の低下を抑止することが可能である符号化装置及びプログラムを提供することを目的としている。
 本発明の一態様は、画像をブロックに分割して符号化を実行する符号化装置であって、符号化対象のブロックにおける複数の仮動きベクトル候補を取得する候補取得部と、取得された仮動きベクトル候補の方向及び大きさと同一の方向及び大きさのベクトルである対応ベクトルと、符号化済みのブロックにおける前記対応ベクトルが示す探索中心の評価情報とを取得する評価情報取得部と、前記評価情報に基づいて、前記複数の仮動きベクトル候補のうちから動きベクトル候補を、前記複数の仮動きベクトル候補の数よりも少なくなるように選択する選択部とを備える符号化装置である。
 本発明の一態様は、上記の符号化装置であって、前記対応ベクトルは、前記符号化済みのブロックが前記符号化対象のブロックであった際の前記仮動きベクトル候補である。
 本発明の一態様は、上記の符号化装置であって、前記評価情報取得部は、前記符号化済みのブロックの探索領域に前記探索中心が含まれている前記対応ベクトルの前記仮動きベクトル候補の前記評価情報を、前記対応ベクトルの前記評価情報と等しくし、前記符号化済みのブロックの探索領域に前記探索中心が含まれていない前記対応ベクトルの前記仮動きベクトル候補の前記評価情報を、符号化された前記仮動きベクトル候補の符号量と固定値とが加算された結果と等しくする。
 本発明の一態様は、上記の符号化装置であって、前記対応ベクトルの前記評価情報は、符号化された前記仮動きベクトル候補の符号量と画素値の差分絶対値和とが加算された結果の値である。
 本発明の一態様は、上記の符号化装置であって、前記符号化済みのブロックは、前記符号化対象のブロックが前記画像の左端のブロックでない場合、前記符号化対象のブロックの左方向のブロックであり、前記符号化対象のブロックが前記画像の左端のブロックである場合、前記符号化対象のブロックの上方向のブロックである。
 本発明の一態様は、上記の符号化装置としてコンピュータを機能させるためのプログラムである。
 本発明により、探索処理量が削減された場合でも、符号化効率の低下を抑止することが可能である。
実施形態における、符号化装置の構成例を示す図である。 実施形態における、インター予測処理部の構成例を示す図である。 実施形態における、符号化処理の対象ブロックに隣接する各画素の例を示す図である。 実施形態における、コーディング・ツリー・ユニットと、事前探索単位と、プレディクション・ユニットとの例を示す図である。 実施形態における、各探索範囲を含む探索領域の例を示す図である。 実施形態における、事前探索ベクトル及び予測ベクトルの例を示す図である。 実施形態における、対応ベクトルの例を示す図である。 実施形態における、探索領域の外を示す対応ベクトルの例を示す図である。 実施形態における、符号化装置の動作例を示すフローチャートである。
 本発明の実施形態について、図面を参照して詳細に説明する。
 (第1実施形態)
 図1は、符号化装置1の構成例を示す図である。符号化装置1は、動画像等の信号を符号化する装置である。符号化装置1は、指定されたパラメータに基づいて、例えば動画像のフレーム(原画像)を符号化する。以下では、符号化装置1は、一例として、H.264/AVC又はHEVC等の動画像符号化処理を実行する。符号化装置1は、符号化処理を対象ブロック単位で実行する。HEVCでは、対象ブロック(符号化ブロック)は、コーディング・ユニット(Coding Unit: CU)である。コーディング・ユニットは、コーディング・ツリー・ユニット(Coding Tree Unit: CTU)を構成する。
 符号化装置1は、原画像整形部101と、イントラ予測処理部102と、インター予測処理部103と、予測残差信号生成部104と、変換・量子化処理部105と、エントロピー符号化部106と、逆量子化・逆変換処理部107と、復号信号生成部108と、ループフィルタ処理部109とを備える。
 符号化装置1の各機能部のうち一部又は全部は、例えば、LSI等のハードウェアを用いて実現される。符号化装置1の各機能部のうちの一部又は全部は、CPU(Central Processing Unit)等のプロセッサが、記憶部に記憶されたプログラムを実行することにより、ソフトウェアとして実現されてもよい。記憶部は、例えばフラッシュメモリ、HDD(Hard Disk Drive)などの不揮発性の記録媒体(非一時的な記録媒体)が好ましい。記憶部は、RAM(Random Access Memory)などの揮発性の記録媒体を備えてもよい。記憶部は、例えばプログラム、画像データを記憶する。
 原画像整形部101は、原画像信号(動画像のフレーム)を、ラスタスキャン順で取得する。原画像整形部101は、原画像データを対象ブロック単位に整形する。原画像整形部101は、対象ブロック単位の原画像データを、予測残差信号生成部104及びインター予測処理部103に出力する。
 イントラ予測処理部102は、復号信号を復号信号生成部108から取得する。イントラ予測処理部102は、復号信号の対象フレームに対して、イントラ予測を実行する。
 インター予測処理部103は、対象ブロック単位の原画像信号を、原画像整形部101から取得する。インター予測処理部103は、フィルタリング処理後の復号信号を、参照画像信号として、ループフィルタ処理部109から取得する。
 予測残差信号生成部104は、対象ブロック単位の原画像信号を、原画像整形部101から取得する。予測残差信号生成部104は、予測信号をイントラ予測処理部102又はインター予測処理部103から取得する。予測信号は、予測残差信号生成部104が予測信号をイントラ予測処理部102から取得する場合、イントラ予測の結果を表す情報を含む。予測信号は、予測残差信号生成部104が予測信号をインター予測処理部103から取得する場合、インター予測の結果を表す情報を含む。予測残差信号生成部104は、原画像信号と予測信号との差分を、予測残差信号として変換・量子化処理部105に出力する。
 変換・量子化処理部105は、離散コサイン変換等の直交変換を予測残差信号に対して実行する。変換・量子化処理部105は、変換係数を量子化する。変換・量子化処理部105は、量子化された変換係数を、エントロピー符号化部106と逆量子化・逆変換処理部107とに出力する。
 エントロピー符号化部106は、量子化された変換係数をエントロピー符号化する。エントロピー符号化部106は、エントロピー符号化された変換係数のビットストリームを、復号装置等である外部装置に出力する。このように、符号化装置1は、動き探索処理における探索結果を、復号装置等である外部装置に送信する。
 逆量子化・逆変換処理部107は、量子化された変換係数を、変換・量子化処理部105から取得する。逆量子化・逆変換処理部107は、量子化された変換係数に対して、逆量子化及び逆直交変換処理を実行する。逆量子化・逆変換処理部107は、逆量子化及び逆直交変換処理の結果である予測残差復号信号を、復号信号生成部108に出力する。
 復号信号生成部108は、予測信号をイントラ予測処理部102又はインター予測処理部103から取得する。復号信号生成部108は、予測残差復号信号と予測信号とを加算することによって、符号化された対象ブロックの復号信号を生成する。
 ループフィルタ処理部109は、符号化歪みが低減されるフィルタリング処理を、復号信号に対して実行する。ループフィルタ処理部109は、フィルタリング処理後の復号信号を、参照画像信号として、インター予測処理部103に出力する。
 次に、インター予測処理部103の構成例の詳細を説明する。
 図2は、インター予測処理部103の構成例を示す図である。インター予測処理部103は、縮小画像生成部201と、事前探索処理処理部202と、予測ベクトル生成部203と、探索中心決定部204と、動き探索処理部205と、動き探索結果格納部206とを備える。
 縮小画像生成部201は、原画像及び参照画像を取得する。縮小画像生成部201は、原画像に対して縮小処理を実行する。縮小画像生成部201は、原画像の縮小率と同じ縮小率で、参照画像に対して縮小処理を実行する。縮小画像生成部201は、縮小された原画像及び参照画像を、事前探索処理処理部202に出力する。
 事前探索処理処理部202は、縮小された原画像及び参照画像を用いて、事前探索処理を実行する。事前探索処理処理部202は、事前探索処理の結果である精度のよい動きベクトルを、予測ブロックごとの1本の事前探索ベクトルとして、探索中心決定部204に出力する。HEVCでは、予測ブロック(動き補償ブロック)は、プレディクション・ユニット(Prediction Unit: PU)である。
 予測ベクトル生成部203は、対象ブロックの周囲のブロックの動きベクトルに基づいて動きベクトル予測を実行することによって、対象ブロックにおける動きベクトル予測の予測ベクトルを、予測ブロックごとに導出する。HEVCでは2種類の動きベクトル予測が規定されているので、予測ベクトル生成部203は、2本の予測ベクトルを予測ブロックごとに探索中心決定部204に出力する。
 HEVCの規格において、符号化処理の対象ブロックごとに予測ベクトルが導出される動きベクトル予測の2通りの方法が規定されている。HEVCでは、符号化効率の良い予測ベクトルを符号化装置が選択することが可能である。このため、予測ベクトル生成部203は、2本の予測ベクトルを導出する。
 探索中心決定部204(ベクトル取得部)は、予測ブロックごとの1本の事前探索ベクトルを、1個の探索中心候補を示すベクトル(以下「探索中心候補ベクトル」という。)として、事前探索処理処理部202から取得する。探索中心決定部204は、予測ブロックごとの2本の予測ベクトルを、2個の探索中心候補を示すベクトル(探索中心候補ベクトル)として、予測ベクトル生成部203から取得する。
 探索中心決定部204は、現在の予測ブロックに対する動き探索処理よりも時間的に前(過去)の予測ブロックに対する動き探索処理の結果を、動き探索結果格納部206から取得する。すなわち、探索中心決定部204は、現在の予測ブロックの直前(過去)の予測ブロックの探索中心候補ベクトルのうちから、現在の予測ブロックの1本の事前探索ベクトルに対応するベクトルを、現在の予測ブロックの探索中心候補ベクトルとして、動き探索結果格納部206から取得する。探索中心決定部204は、現在の予測ブロックの直前(過去)の予測ブロックの探索中心候補ベクトルのうちから、現在の予測ブロックの2本の予測ベクトルに対応するベクトルを、現在の予測ブロックの探索中心候補ベクトルとして、動き探索結果格納部206から取得する。
 以下、探索中心候補ベクトルに対応するベクトルを「対応ベクトル」という。すなわち、対応ベクトルは、符号化済みの対象ブロックが符号化の対象ブロックであった際の過去の探索中心候補ベクトル(仮動きベクトル候補)である。探索中心候補ベクトルの対応ベクトルの方向及び大きさは、その探索中心候補ベクトルの方向及び大きさと同じである。
 探索中心決定部204は、過去の予測ブロックに対する動き探索処理の結果に基づいて、2本の探索中心候補ベクトルを3本の探索中心候補ベクトルのうちから選択する。探索中心決定部204は、選択された2本の探索中心候補ベクトルを動き探索処理部205に出力する。
 探索中心決定部204は、現在の予測ブロックの直前の1個の予測ブロックにおける、1本の事前探索ベクトルと2本の予測ベクトルとのうちから、最適な探索中心候補ベクトルを選択する。これによって、探索中心決定部204は、符号化効率を低下させずに、動き探索処理の処理量を削減することが可能である。
 動き探索処理部205は、原画像及び参照画像を取得する。動き探索処理部205は、探索中心決定部204によって選択された探索中心候補ベクトルが示す探索中心を含む領域に対して、動き探索処理を予測ブロックごとに実行する。動き探索処理部205は、選択された動きベクトル(確定された動きベクトル)と、予測差分画像(予測差分信号)とを、予測残差信号生成部104に出力する。
 動き探索結果格納部206は、現在の1個の予測ブロックにおける1本の事前探索ベクトルと2本の予測ベクトルとを、動き探索処理の結果として、一定期間格納する。格納されている1本の事前探索ベクトルと2本の予測ベクトルとは、現在の1個の予測ブロックの次の予測ブロックにおける最適な探索中心候補ベクトルが選択される処理において、探索中心決定部204によって使用される。
 次に、予測ベクトル生成部203の詳細を説明する。
 図3は、符号化処理の対象ブロック301に隣接する各画素の例を示す図である。対象ブロック301の左下の画素302「A0」を含む符号化済みの対象ブロック(周辺ブロック)の符号化モードが、動きベクトルを持つ符号化モードである場合、予測ベクトル生成部203は、画素302「A0」を含む符号化済みの対象ブロックの動きベクトルを予測ベクトル「MVP1」とする。対象ブロック301の左下の画素302「A0」を含む符号化済みの対象ブロックの符号化モードが、動きベクトルを持つ符号化モードでない場合、予測ベクトル生成部203は、画素303「A1」を含む符号化済みの対象ブロックの動きベクトルを予測ベクトル「MVP1」とする。
 対象ブロック301の上方向の画素についても同様に、予測ベクトル生成部203は、予測ベクトルを定める。対象ブロック301の右上の画素304「B0」を含む符号化済みの対象ブロック(周辺ブロック)の符号化モードが、動きベクトルを持つ符号化モードである場合、予測ベクトル生成部203は、画素304「B0」を含む符号化済みの対象ブロックの動きベクトルを予測ベクトル「MVP2」とする。対象ブロック301の右上の画素304「B0」を含む符号化済みの対象ブロックの符号化モードが、動きベクトルを持つ符号化モードでない場合、対象ブロック301の右上の画素305「B1」を含む符号化済みの対象ブロックの符号化モードが、動きベクトルを持つ符号化モードであるか否かを判定する。対象ブロック301の右上の画素305「B1」を含む符号化済みの対象ブロックの符号化モードが、動きベクトルを持つ符号化モードである場合、画素305「B1」を含む符号化済みの対象ブロックの動きベクトルを予測ベクトル「MVP2」とする。対象ブロック301の右上の画素305「B1」を含む符号化済みの対象ブロックの符号化モードが、動きベクトルを持つ符号化モードでない場合、予測ベクトル生成部203は、画素306「B2」を含む符号化済みの対象ブロックの動きベクトルを予測ベクトル「MVP2」とする。
 このように、予測ベクトル生成部203は、動きベクトル予測の1本の予測ベクトル「MVP1」を、画素302又は画素303に基づいて生成する。予測ベクトル生成部203は、動きベクトル予測の1本の予測ベクトル「MVP2」を、画素304、画素305又は画素306に基づいて生成する。予測ベクトル生成部203は、動きベクトル予測の予測ベクトル「MVP1」及び「MVP2」を、探索中心決定部204に出力する。なお、予測ベクトル生成部203は、符号化途中の対象ブロック(周辺ブロック)の動きベクトルを、予測ベクトルとしてもよい。
 HEVCでは、符号化装置は、動きベクトル予測及び動き補償処理を、予測ブロック(プレディクション・ユニット)単位で実行する。予測ブロックのサイズは、8×8画素から64×64画素までである。正式の動き探索処理が実行される予測ブロックのサイズが8×8画素のような小さいサイズである場合、縮小画像生成部201が原画像を縮小することによって、予測ブロックが2×2画素のような非常に小さいサイズになってしまう。
このため、事前探索処理における動きベクトルの精度が低下してしまう。
 事前探索処理後の正式の動き探索処理が実行される予測ブロックのサイズが8×8画素のような小さいサイズである場合でも、事前探索処理における動きベクトルの精度が低下させないようにするため、事前探索処理処理部202は、32×32画素のような大きいサイズの予測ブロックに対して事前探索処理を実行する場合がある。この場合、事前探索処理処理部202によって実行される事前探索処理における予測ブロックのサイズと、動き探索処理部205によって実行される正式の動き探索処理における予測ブロックのサイズは異なる。事前探索ベクトル「MVpre」は、32×32画素のような大きいサイズの予測ブロックごとに、事前探索処理処理部202によって生成される。
 図4は、コーディング・ツリー・ユニット(CTU)と、事前探索単位と、プレディクション・ユニット(PU)との例を示す図である。図4では、対象ブロック(符号化ブロック)である複数のコーディング・ユニットから構成されるコーディング・ツリー・ユニット400のサイズは、64×64画素である。事前探索処理処理部202によって実行される事前探索処理の単位である事前探索単位401のサイズは、32×32画素である。動き探索処理部205によって実行される動き探索処理の単位であるプレディクション・ユニット500のサイズは、8×8画素である。
 予測ベクトル「MVP1」及び「MVP2」が示す探索中心候補は、8×8画素サイズのプレディクション・ユニット500ごとに異なる。このため、コーディング・ツリー・ユニット400には、64組の予測ベクトル「MVP1」及び「MVP2」が存在する。
事前探索ベクトル「MVpre」が示す探索中心候補は、32×32画素サイズの事前探索単位ごとに異なる。このため、コーディング・ツリー・ユニット400には、事前探索単位401~404に、計4本の事前探索ベクトル「MVpre」が存在する。
 したがって、各プレディクション・ユニットは、1個の探索中心候補を示す事前探索ベクトルと、2個の探索中心候補を示す予測ベクトルとを有する。これら3個の探索中心候補を共有するプレディクション・ユニットと事前探索単位とコーディング・ツリー・ユニットとの各サイズは互いに異なる。事前探索処理処理部202によって生成された事前探索ベクトル「MVpre」と予測ベクトル生成部203によって生成された予測ベクトル「MVP1」及び「MVP2」の3本の探索中心候補ベクトルのうちから、最適な探索中心候補ベクトルを探索中心決定部204が選択する例について説明する。
 図5は、各探索範囲を含む探索領域の例を示す図である。事前探索ベクトル700「MVpre_1」が示す探索中心候補を含む探索範囲601の形状と、予測ベクトル701「MVP1_1」が示す探索中心候補を含む探索範囲602の形状と、予測ベクトル702「MVP2_1」が示す探索中心候補を含む探索範囲603の形状とは、いずれも「横の画素数×縦の画素数=W×H」サイズの矩形である。プレディクション・ユニット500に対して、事前探索ベクトル700「MVpre_1」と予測ベクトル701「MVP1_1」とが2本の探索中心候補ベクトルとして選択された場合、探索領域600は、2本の探索中心候補ベクトルが示す各探索中心候補を含む。プレディクション・ユニット500に対して、探索領域600は、選択されなかった予測ベクトル702「MVP2_1」が示す探索中心候補を含む探索範囲603を含まない。
 以下では、コスト値は、評価を表す情報(評価情報)である。コスト値が小さいほど、評価は高い。コスト値が小さい(評価が高い)探索中心候補ベクトルは、適した探索中心候補ベクトルであり、探索中心決定部204によって選択され易い。コスト値は、一例として、動きベクトルが符号化された際に簡易的に見積もられた動きベクトルの符号量(以下「動きベクトルコスト値」という。)と差分絶対値和との和(加算結果)である。この差分絶対値和は、原画像の画素値と動きベクトルが示す参照画像の画素値との差分絶対値和(Sum of Absolute Difference: SAD)でもよいし、原画像の画素値と動きベクトルが示す参照画像の画素値との差分絶対値に対して2次元アダマール変換が実行された結果の差分絶対値和(Sum of Absolute Transformed Difference: SATD)でもよい。
 動き探索結果格納部206は、各プレディクション・ユニットに対する正式の動き探索処理のうち、直前に実行された正式の動き探索処理について、探索領域600における動き探索処理の結果を表すコスト値を、探索点(探索領域600における画素)ごとに格納する。図5では、動き探索結果格納部206は、プレディクション・ユニット500について、探索領域600における動き探索処理の結果を表すコスト値を、探索点ごとに格納する。探索範囲601及び探索範囲602の少なくとも一部が重なっている場合、探索範囲601及び探索範囲602が全く重なっていない場合と比較して、実質的な探索点数は少ない。動き探索結果格納部206は、最大「2×W×H」個の探索点について、各コスト値を格納する。
 図6は、事前探索ベクトル及び予測ベクトルの例を示す図である。プレディクション・ユニット500(符号化済みのブロック)に対する動き探索処理の次にプレディクション・ユニット501(符号化対象のブロック)に対する動き探索処理が実行される場合、探索中心決定部204は、プレディクション・ユニット501の3本の探索中心候補ベクトルとして、事前探索ベクトル703「MVpre_2」と予測ベクトル704「MVP1_2」と予測ベクトル705「MVP2_2」とを取得する。
 図7は、対応ベクトルの例を示す図である。探索中心決定部204は、直前に実行されたプレディクション・ユニット500に対する正式の動き探索処理の結果について、プレディクション・ユニット501の3本の探索中心候補ベクトルにそれぞれ対応するベクトル(対応ベクトル)ごとのコスト値を、動き探索結果格納部206から取得する。
 対応ベクトル706は、図6に示された事前探索ベクトル703に対応するベクトルである。対応ベクトル706は、探索領域600内の探索中心候補803を示す。対応ベクトル707は、図6に示された予測ベクトル704に対応するベクトルである。対応ベクトル707は、探索領域600内の探索中心候補804を示す。対応ベクトル708は、図6に示された予測ベクトル705に対応するベクトルである。対応ベクトル708は、探索領域600内の探索中心候補805を示す。
 探索中心決定部204(評価情報取得部)は、直前に実行されたプレディクション・ユニット500に対する正式の動き探索処理における対応ベクトル706~708の各コスト値を、現在のプレディクション・ユニット501に対する正式の動き探索処理における各探索中心候補ベクトル(事前探索ベクトル703、予測ベクトル704、予測ベクトル705)の各コスト値とする。
 探索中心決定部204は、現在のプレディクション・ユニット501に対する正式の動き探索処理における探索中心候補ベクトルの各コスト値を比較する。探索中心決定部204は、3本の探索中心候補ベクトルのうちから、コスト値の小さい順に2本の探索中心候補ベクトルを選択する。探索中心決定部204は、選択された2本の探索中心候補ベクトルを、プレディクション・ユニット501に対する正式の動き探索処理における2本の探索中心候補ベクトルとする。
 このようにして、探索中心決定部204は、プレディクション・ユニット501の3本の探索中心候補ベクトルのうちから、2本の探索中心候補ベクトルを選択する。探索中心決定部204は、選択された2本の探索中心候補ベクトルが示す2個の探索中心候補を、プレディクション・ユニット501の正式の動き探索処理における2個の探索中心として選択する。
 図8は、探索領域600の外を示す対応ベクトルの例を示す図である。対応ベクトルのいずれかは、探索領域600の外を示す場合がある。対応ベクトル706が示す探索中心候補803は、プレディクション・ユニット500の探索領域600に含まれている。対応ベクトル708が示す探索中心候補805は、プレディクション・ユニット500の探索領域600に含まれている。このため、動き探索結果格納部206は、対応ベクトル706のコスト値と、対応ベクトル708のコスト値とを格納している。
 対応ベクトル707が示す探索中心候補804は、プレディクション・ユニット500の探索領域600に含まれていない。このため、動き探索結果格納部206は、対応ベクトル707のコスト値を格納していない。したがって、探索中心決定部204は、対応ベクトル707のコスト値を参照することができず、対応ベクトル707のコスト値と対応ベクトル706又は707のコスト値とを比較することができない。
 このように、1本以上の対応ベクトルのコスト値を探索中心決定部204が参照することができない場合、探索中心決定部204は、ユーザ等によって予め定められたパラメータ値(固定値)と動きベクトルコスト値との和を、参照不可である対応ベクトルのコスト値と定める。これによって、探索中心決定部204は、参照可である対応ベクトルのコスト値と、参照不可である対応ベクトルのコスト値とを比較することが可能である。
 次に、符号化装置1の動作例を、一例として図6~図8を参照しながら説明する。
 図9は、符号化装置1の動作例を示すフローチャートである。探索中心決定部204は、対象のプレディクション・ユニット501の探索中心を選択する処理を開始する(ステップS101)。
 探索中心決定部204は、図6に示された事前探索ベクトル703「MVpre_2」を、事前探索処理処理部202から取得する。探索中心決定部204は、事前探索ベクトル703「MVpre_2」を、探索中心候補ベクトル「SC_1」と定める。探索中心決定部204は、予測ベクトル704「MVP1_2」及び予測ベクトル705「MVP2_2」を、予測ベクトル生成部203から取得する。探索中心決定部204は、予測ベクトル704「MVP1_2」を、探索中心候補ベクトル「SC_2」と定める。探索中心決定部204は、予測ベクトル705「MVP2_2」を、探索中心候補ベクトル「SC_3」と定める(ステップS102)。
 ステップS103からステップS110までにおいて探索中心候補ベクトル「SC_1」、「SC_2」及び「SC_3」に対してコスト値を設定するため、探索中心決定部204は、インデックス「i」に1を代入する(ステップS103)。
 探索中心候補ベクトル「SC_i」の探索中心が、プレディクション・ユニット500(プレディクション・ユニット501の直前)における探索領域600内であるか否かを、探索中心決定部204は判定する(ステップS104)。
 探索中心候補ベクトル「SC_i」の探索中心がプレディクション・ユニット500における探索領域600内である場合(ステップS104:YES)、探索中心決定部204は、探索中心候補ベクトル「SC_i」の対応ベクトル(探索中心候補ベクトル「SC_i」に相当するベクトル)のコスト値を、動き探索結果格納部206から取得する(ステップS105)。
 探索中心決定部204は、取得された対応ベクトルのコスト値を、プレディクション・ユニット501の探索中心候補ベクトル「SC_i」のコスト値「C_i」と等しくする(ステップS106)。
 探索中心候補ベクトル「SC_i」の探索中心がプレディクション・ユニット500における探索領域600の外である場合(ステップS104:NO)、対応ベクトルのコスト値が動き探索結果格納部206に格納されていないので、探索中心決定部204は、探索中心候補ベクトル「SC_i」が符号化された際の探索中心候補ベクトル「SC_i」の符号量を、動きベクトルコスト値として簡易的に導出する。例えば、探索中心決定部204による動きベクトルコスト値の導出方法は、動き探索処理部205による動きベクトルの符号量(動きベクトルコスト値)の導出方法と同じでよい(ステップS107)。
 探索中心決定部204は、ユーザ等によって予め定められたパラメータ値「P」(固定値)と、動きベクトルコスト値とを加算した結果(合計値)を、探索中心候補ベクトル「SC_i」のコスト値「C_i」と等しくする(ステップS108)。
 探索中心決定部204は、インデックス「i」に1を加算する(ステップS109)。
探索中心決定部204は、インデックスの値が探索中心候補ベクトルの本数「3」よりも大きいか否かを判定する(ステップS109)。インデックス「i」の値が探索中心候補ベクトルの本数「3」以下である場合(ステップS109:NO)、探索中心決定部204は、ステップS104に処理を戻す。
 インデックス「i」の値が探索中心候補ベクトルの本数「3」よりも大きい場合(ステップS109:YES)、探索中心決定部204は、探索中心候補ベクトル「SC_1」、「SC_2」及び「SC_3」の各コスト値を比較する。探索中心決定部204は、コスト値が小さい順に、2本の探索中心候補ベクトルを選択する。探索中心決定部204は、選択された2本の探索中心候補ベクトルが示す各探索中心候補を、対象のプレディクション・ユニット501(現PU)の各探索中心として選択する(ステップS111)。
 ステップS108のパラメータ値「P」は、差分コスト値を表す差分絶対値和(SAD又はSATD)に相当する値であり、差分コスト値以外のコスト値(動きベクトルコスト値)に対する閾値のように機能する。図8に示されているように、3個の探索中心候補803~805のうち1個の探索中心候補804のみがプレディクション・ユニット500の探索領域600の外である場合について説明する。
 探索領域600内の2個の探索中心候補803及び805を示す各探索中心候補ベクトルのコスト値が、探索中心候補804を示す探索中心候補ベクトルのコスト値「パラメータP+動きベクトルコスト値」よりも小さい場合、探索中心決定部204は、これら2個の探索中心候補803及び805を、プレディクション・ユニット501の探索中心とする。
 探索領域600内の2個の探索中心候補803及び805を示す各探索中心候補ベクトルのコスト値、探索中心候補804を示す探索中心候補ベクトルのコスト値「パラメータP+動きベクトルコスト値」よりも大きい場合、探索中心決定部204は、これら2個の探索中心候補803及び805を、プレディクション・ユニット501の探索中心として選択しない。
 探索領域600内の2個の探索中心候補803及び805を示す各探索中心候補ベクトルのコスト値と、探索中心候補804を示す探索中心候補ベクトルのコスト値とが等しい場合、パラメータ値「P」は、動きベクトルコスト値に対する閾値として機能する。
 仮に、3個の探索中心候補のうち2個以上の探索中心候補がプレディクション・ユニット500(直前のPU)の探索領域600の外にある場合、探索領域600の外の各探索中心候補を示す探索中心候補ベクトルの各コスト値が比較されることによって、パラメータ「P」が打ち消されるので、探索中心決定部204は、動きベクトルコスト値が小さい探索中心候補ベクトルが示す探索中心候補を、プレディクション・ユニット501の探索中心として選択する。
 以上のように、実施形態の符号化装置1は、画像を対象ブロックに分割(整形)して符号化を実行する。実施形態の符号化装置1は、探索中心決定部204(候補取得部、評価情報取得部、選択部)を備える。探索中心決定部204は、符号化の対象ブロックにおける複数の探索中心候補ベクトル(仮動きベクトル候補)を取得する。探索中心決定部204は、取得された探索中心候補ベクトルの方向及び大きさと同一の方向及び大きさのベクトルである対応ベクトルを取得する。探索中心決定部204は、符号化済みの対象ブロックにおける対応ベクトルが示す探索中心の評価情報を取得する。探索中心決定部204は、評価情報に基づいて、複数の探索中心候補ベクトルのうちから探索中心候補ベクトル(動きベクトル候補)を、それら複数の探索中心候補ベクトルの数よりも少なくなるように選択する。
 これにより、実施形態の符号化装置1は、既に符号化されたブロックに係る動き探索の結果を利用して、動きベクトルの候補を絞り込む。実施形態の符号化装置1は、画素値の読み込みをしなくても、対象ブロックの周囲のブロックにおける正式の動き探索処理の結果に基づいて、探索中心候補を決定する。すなわち、実施形態の符号化装置1は、事前探索処理(追加コスト)を追加実行しなくても、動きベクトル予測(MVP)の精度のよい各予測ベクトルの対応ベクトルが示す各探索中心候補のコスト値(評価情報)を比較し、比較結果に基づいて、現在の予測ブロックの探索中心候補ベクトルを選択する。このようにして、実施形態の符号化装置1は、探索処理量が削減された場合でも、符号化効率の低下を抑止することが可能である。
 実施形態の符号化装置1は、過去の探索結果に基づいて探索中心候補の絞り込みを実行することで、追加の探索処理等を実行しなくてもよいので、探索処理量を大幅に削減することが可能である。実施形態の符号化装置1は、正式の動き探索処理におけるプレディクション・ユニットごとに対応ベクトルの絞り込みを実行することで、事前探索処理におけるブロックのサイズと正式の動き探索処理におけるブロックのサイズとが異なることによって符号化性能が劣化することを抑止することが可能である。実施形態の符号化装置1は、事前探索処理と正式の動き探索処理とで、動きベクトル予測の予測ベクトルに齟齬が生じないようにすることが可能である。特に、プレディクション・ユニットのブロックサイズが例えば8×8画素のように小さい場合、プレディクション・ユニットが1個ずれても探索中心候補の優劣に大きな違いは生じにくい。このため、直前のプレディクション・ユニット(直前PU)の探索結果に基づいて、現在のプレディクション・ユニット(現PU)の探索中心候補ベクトルのコスト値が評価されることは、対応ベクトルの選択結果に大きな影響を与えない。
 上記の実施形態では、動き探索結果格納部206は、一例として、直前のプレディクション・ユニットの探索結果のみを格納している。現在のプレディクション・ユニット(現PU)がフレームの左端に位置する場合では、直前のプレディクション・ユニット(直前PU)はフレーム右端に位置するため、現在のプレディクション・ユニットと直前のプレディクション・ユニットとの距離が離れているために、探索結果の相関が低く、対応ベクトルの選択結果に応じて、符号化性能が劣化する場合がある。動き探索結果格納部206は、直前のプレディクション・ユニットの探索結果だけでなく、原画像のフレームの左端に位置する現在のプレディクション・ユニットの直近のプレディクション・ユニットの探索結果も格納してもよい。その場合、フレームの左端のプレディクション・ユニットの探索中心候補が選択される場合、探索中心決定部204は、直前のプレディクション・ユニットの探索結果を使用するのではなく、フレームの左端の直近のプレディクション・ユニットの探索結果を使用してもよい。このように、直近のプレディクション・ユニットは、符号化対象のブロック(プレディクション・ユニット)が原画像のフレームの左端のブロックでない場合、符号化対象のブロックの例えば左方向のブロックである。直近のプレディクション・ユニットは、符号化対象のブロックが原画像のフレームの左端のブロックである場合、符号化対象のブロックの例えば上方向のブロックである。探索中心決定部204は、フレームにおいて現在のプレディクション・ユニットの直上のプレディクション・ユニットの過去の探索結果(現PUとの相関が高い探索結果)を利用できるので、符号化性能が劣化することを抑止することが可能である。
 上記の実施形態では、探索中心決定部204は、直前のプレディクション・ユニットの1本の対応ベクトルのコスト値(1個の探索中心のコスト値)を、動き探索結果格納部206から取得している。コスト値は、複数の探索中心候補ベクトルのコスト値(複数の探索中心のコスト値)の合計値でもよい。例えば、探索中心決定部204は、現在のプレディクション・ユニットの探索中心候補ベクトルが示す探索中心候補を中心として上下左右に±1点で計9点の探索中心候補について、直前のプレディクション・ユニットに対する正式の動き探索処理の結果における対応ベクトルのコスト値を取得する。探索中心決定部204は、取得されたコスト値を比較することで、探索中心候補ベクトルを選択してもよい。コスト値は、複数の探索中心候補ベクトルのコスト値(複数の探索中心のコスト値)の中央値でもよい。これによって、探索中心決定部204は、画像のノイズ等に影響されずに、コスト値をより正確に比較し、探索中心候補ベクトルを選択することが可能である。
 以上をまとめると、一例として以下のようになる。
 実施形態の符号化装置1は、入力画像に対し参照画像との時間的相関を利用して、動き探索処理及び画素値予測を実行する。実施形態の符号化装置1は、縮小画像生成部と、事前動き探索処理部と、予測ベクトル生成部と、予測ベクトル生成部と、探索中心決定部と、動き探索処理部と、動き探索結果格納部とを備える。縮小画像生成部は、入力画像と参照画像を縮小処理する。事前動き探索処理部は、縮小画像生成部により同比率で縮小された縮小済み入力画像の符号化対象ブロックと縮小済み参照画像の事前動き探索用探索領域とを用いて、事前動き探索処理を実行することにより第一の動きベクトルを決定する。予測ベクトル生成部は、対象符号化ブロックの周辺ブロックから、MVPの2本予測ベクトルを導出し、第二の動きベクトル及び第三の動きベクトルとして決定する。探索中心決定部は、動き探索結果格納部に格納された過去のブロックの動き探索結果を用いて、第一の動きベクトルと第二の動きベクトルと第三の動きベクトルとの3本のベクトルから、2本以下のベクトルを選択し、符号化の対象ブロックの探索中心を示すベクトルとして決定する。
 動き探索処理部は、探索中心決定部により決定された2本のベクトルが示す探索中心に基づいて、本動き探索用探索領域を決定し、本動き探索用探索領域の内の各点に対して動き探索処理を実行する。ここで、動き探索処理部は、原画像と動きベクトルが指し示す参照画像との差分絶対値和(SAD)、又は、差分値に2次元アダマール変換を行った値の差分絶対値和(SATD)と、動きベクトルを符号化した際に生ずる符号量を簡易的に見積もった動きベクトルコスト値との和を、本動き探索用探索領域の内の各点における探索コスト値と定める。動き探索処理部は、探索コスト値が最小の点を探索する。動き探索結果格納部は、動き探索処理部によって導出された、本動き探索用探索領域の内の各点における動きベクトル結果と対応する探索コスト値とを、1個の符号化の対象ブロックの分だけ保存する。探索中心決定部は、第一の動きベクトルと第二の動きベクトルと第三の動きベクトルとの3本の動きベクトルを、探索中心候補とする。
 探索中心決定部は、探索中心候補と同一のベクトルが動き探索処理部に格納された複数の動きベクトルのうちに存在するか否かを判定する。探索中心決定部は、探索中心候補と同一のベクトルが存在する場合、同一のベクトルに対応する動き探索処理部に格納された探索コスト値を、探索中心候補の探索中心コストと設定する。
 探索中心決定部は、探索中心候補と同一のベクトルが存在しない場合、探索中心候補のベクトルを符号化した際の符号量を、動き探索処理部における動きベクトルコスト値の導出方法と同一の方法で導出して探索中心ベクトルコスト値とする。探索中心決定部は、探索中心候補と同一のベクトルが存在しない場合、任意の値に設定可能な差分値パラメータと探索中心ベクトルコスト値の和を、探索中心候補の探索中心のコスト値とする。これによって、探索中心決定部は、第一の動きベクトルと第二の動きベクトルと第三の動きベクトルとの3本の動きベクトルの探索中心候補のそれぞれの探索中心のコスト値を決定する。探索中心決定部は、3個の探索中心のコスト値のうち、値の小さい2個の探索中心を決定する。探索中心決定部は、それぞれのコスト値に相当する2個の探索中心候補を、符号化対象ブロックの探索中心として決定する。
 動き探索結果格納部は、本動き探索用探索領域の内の各点における動きベクトル結果と、対応する探索コスト値とを、直近に導出した1個のブロック(第1ブロック)として保存する。動き探索結果格納部は、直近に導出された画面左端の1個のブロックについても、第2ブロックとして保存する。探索中心決定部は、符号化の対象ブロックが画面左端のブロックでない場合、直近に導出した1個のブロックである第1ブロックについて、動き探索処理部に格納された動きベクトル結果の中に探索中心候補と同一のベクトルが存在するか否かを判定する。探索中心決定部は、符号化の対象ブロックが画面左端のブロックである場合、直近に導出した画面左端の1個のブロックである第2ブロックについて、動き探索処理部に格納された動きベクトル結果の中に探索中心候補と同一のベクトル(対応ベクトル)が存在するかを判定する。探索中心決定部は、探索中心候補と同一のベクトルが存在する場合、同一のベクトル(対応ベクトル)に対応する探索コスト値であって動き探索処理部に格納された探索コスト値を、探索中心候補の探索中心のコスト値と設定する。
 上述した実施形態における符号化装置をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA(Field Programmable Gate Array)等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
 以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
 例えば、復号装置は、符号化装置1の機能部の少なくとも一部を備えてもよい。上述した実施形態では、動き探索処理における探索結果を符号化装置1が復号装置に送信しているが、動き探索処理における探索結果を符号化装置1が復号装置に送信する代わりに、復号装置は、符号化装置1が実行する動き探索処理と同様の処理を実行することによって、動き探索処理における探索結果を取得してもよい。
 本発明は、動画像等を符号化する符号化装置に適用可能である。
 1…符号化装置、101…原画像整形部、102…イントラ予測処理部、103…インター予測処理部、104…予測残差信号生成部、105…変換・量子化処理部、106…エントロピー符号化部、107…逆量子化・逆変換処理部、108…復号信号生成部、109…ループフィルタ処理部、201…縮小画像生成部、202…事前探索処理処理部、203…予測ベクトル生成部、204…探索中心決定部、205…動き探索処理部、206…動き探索結果格納部、301…対象ブロック、302~306…画素、400…コーディング・ツリー・ユニット、401~404…事前探索単位、500~501…プレディクション・ユニット、600…探索領域、601~603…探索範囲、700…事前探索ベクトル、701…予測ベクトル、702…予測ベクトル、703…事前探索ベクトル、704…予測ベクトル、705…予測ベクトル、706~708…対応ベクトル、803~805…探索中心候補

Claims (6)

  1.  画像をブロックに分割して符号化を実行する符号化装置であって、
     符号化対象のブロックにおける複数の仮動きベクトル候補を取得する候補取得部と、
     取得された仮動きベクトル候補の方向及び大きさと同一の方向及び大きさのベクトルである対応ベクトルと、符号化済みのブロックにおける前記対応ベクトルが示す探索中心の評価情報とを取得する評価情報取得部と、
     前記評価情報に基づいて、前記複数の仮動きベクトル候補のうちから動きベクトル候補を、前記複数の仮動きベクトル候補の数よりも少なくなるように選択する選択部と
     を備える符号化装置。
  2.  前記対応ベクトルは、前記符号化済みのブロックが前記符号化対象のブロックであった際の前記仮動きベクトル候補である、
     請求項1に記載の符号化装置。
  3.  前記評価情報取得部は、
     前記符号化済みのブロックの探索領域に前記探索中心が含まれている前記対応ベクトルの前記仮動きベクトル候補の前記評価情報を、前記対応ベクトルの前記評価情報と等しくし、
     前記符号化済みのブロックの探索領域に前記探索中心が含まれていない前記対応ベクトルの前記仮動きベクトル候補の前記評価情報を、符号化された前記仮動きベクトル候補の符号量と固定値とが加算された結果と等しくする、
     請求項1又は請求項2に記載の符号化装置。
  4.  前記対応ベクトルの前記評価情報は、符号化された前記仮動きベクトル候補の符号量と画素値の差分絶対値和とが加算された結果の値である、
     請求項3に記載の符号化装置。
  5.  前記符号化済みのブロックは、
     前記符号化対象のブロックが前記画像の左端のブロックでない場合、前記符号化対象のブロックの左方向のブロックであり、
     前記符号化対象のブロックが前記画像の左端のブロックである場合、前記符号化対象のブロックの上方向のブロックである、
     請求項1から請求項4のいずれか一項に記載の符号化装置。
  6.  請求項1から請求項5のいずれか一項に記載の符号化装置としてコンピュータを機能させるためのプログラム。
PCT/JP2019/047670 2018-12-19 2019-12-05 符号化装置及びプログラム WO2020129681A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/414,889 US11528485B2 (en) 2018-12-19 2019-12-05 Encoding apparatus and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-237633 2018-12-19
JP2018237633A JP7054007B2 (ja) 2018-12-19 2018-12-19 符号化装置及びプログラム

Publications (1)

Publication Number Publication Date
WO2020129681A1 true WO2020129681A1 (ja) 2020-06-25

Family

ID=71102838

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/047670 WO2020129681A1 (ja) 2018-12-19 2019-12-05 符号化装置及びプログラム

Country Status (3)

Country Link
US (1) US11528485B2 (ja)
JP (1) JP7054007B2 (ja)
WO (1) WO2020129681A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113301348A (zh) * 2021-07-27 2021-08-24 杭州博雅鸿图视频技术有限公司 运动矢量选择方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010086541A1 (fr) * 2009-01-28 2010-08-05 France Telecom Procede de representation d'un materiau
JP2014150467A (ja) * 2013-02-01 2014-08-21 Handotai Rikougaku Kenkyu Center:Kk 動き推定装置及び動き推定プログラム
JP2015111774A (ja) * 2013-12-06 2015-06-18 日本電信電話株式会社 映像符号化装置及び映像符号化プログラム
JP2018085608A (ja) * 2016-11-22 2018-05-31 日本電信電話株式会社 画像符号化装置、画像符号化方法及びコンピュータプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8094714B2 (en) 2008-07-16 2012-01-10 Sony Corporation Speculative start point selection for motion estimation iterative search

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010086541A1 (fr) * 2009-01-28 2010-08-05 France Telecom Procede de representation d'un materiau
JP2014150467A (ja) * 2013-02-01 2014-08-21 Handotai Rikougaku Kenkyu Center:Kk 動き推定装置及び動き推定プログラム
JP2015111774A (ja) * 2013-12-06 2015-06-18 日本電信電話株式会社 映像符号化装置及び映像符号化プログラム
JP2018085608A (ja) * 2016-11-22 2018-05-31 日本電信電話株式会社 画像符号化装置、画像符号化方法及びコンピュータプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113301348A (zh) * 2021-07-27 2021-08-24 杭州博雅鸿图视频技术有限公司 运动矢量选择方法、装置、电子设备及存储介质
CN113301348B (zh) * 2021-07-27 2022-01-04 杭州博雅鸿图视频技术有限公司 运动矢量选择方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
US20220078437A1 (en) 2022-03-10
JP7054007B2 (ja) 2022-04-13
JP2020102669A (ja) 2020-07-02
US11528485B2 (en) 2022-12-13

Similar Documents

Publication Publication Date Title
TWI717586B (zh) 於視訊解碼器中導出運動向量資訊
US11381839B2 (en) Method and device for image motion compensation
TWI705703B (zh) 於視訊寫碼中針對子區塊推導運動資訊
KR20200066737A (ko) 영상 코딩 시스템에서 인터 예측에 따른 영상 디코딩 방법 및 장치
KR102642784B1 (ko) 모션 벡터 리파인먼트를 위한 제한된 메모리 액세스 윈도우
US20220166988A1 (en) Image encoding device, image decoding device, and image processing method
CN103688541A (zh) 在视频译码中缓冲预测数据
US11310524B2 (en) Method and apparatus for determining motion vector of affine code block
US10893289B2 (en) Affine motion prediction-based image decoding method and device using affine merge candidate list in image coding system
KR20130126698A (ko) 영상 부호화 장치, 영상 부호화 방법 및 영상 부호화 프로그램
KR102254162B1 (ko) 비디오 코딩 시스템에서 인트라 예측 방법 및 장치
WO2020129681A1 (ja) 符号化装置及びプログラム
KR102570374B1 (ko) 영상 부호화 장치, 영상 부호화 방법, 영상 부호화 프로그램, 영상 복호 장치, 영상 복호 방법, 및 영상 복호 프로그램
JP6259272B2 (ja) 映像符号化装置及び映像符号化プログラム
Bachu et al. Adaptive order search and tangent-weighted trade-off for motion estimation in H. 264
US9313492B2 (en) Device and method for moving image encoding
JP2014207713A (ja) 動画像復号化方法
US20240137559A1 (en) Method and device for image motion compensation
JP2008072608A (ja) 画像符号化装置及び画像符号化方法
US20150341639A1 (en) Image processing apparatus and control method of image processing apparatus
JP6323185B2 (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
JP5890933B1 (ja) 動画像復号化方法
JP5887020B1 (ja) 動画像復号化方法
CN114760467A (zh) 编码模式的确定方法及装置

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19897626

Country of ref document: EP

Kind code of ref document: A1