WO2019069601A1 - 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法およびプログラム - Google Patents

映像符号化装置、映像復号装置、映像符号化方法、映像復号方法およびプログラム Download PDF

Info

Publication number
WO2019069601A1
WO2019069601A1 PCT/JP2018/032348 JP2018032348W WO2019069601A1 WO 2019069601 A1 WO2019069601 A1 WO 2019069601A1 JP 2018032348 W JP2018032348 W JP 2018032348W WO 2019069601 A1 WO2019069601 A1 WO 2019069601A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
motion vector
prediction
motion
affine transformation
Prior art date
Application number
PCT/JP2018/032348
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 US16/650,460 priority Critical patent/US20200236385A1/en
Priority to JP2019546576A priority patent/JPWO2019069601A1/ja
Priority to CN201880064697.5A priority patent/CN111183641A/zh
Publication of WO2019069601A1 publication Critical patent/WO2019069601A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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

Definitions

  • the present invention relates to a video encoding device and a video decoding device using block-based affine transformation motion compensation prediction.
  • Non-Patent Document 2 discloses a block based affine transform motion compensated prediction technique in order to increase the compression efficiency of HEVC.
  • Affine transformation motion compensation prediction can also represent motion with deformation such as zooming and rotation that can not be represented by motion compensation prediction based on a translation model used in HEVC.
  • the block unit affine transformation motion compensation prediction (hereinafter referred to as a general block unit affine transformation motion compensation prediction) is a simplified affine transformation motion compensation prediction having the following features.
  • Control point Use the upper left position and the upper right position of the block to be processed as a control point (Control point).
  • a motion vector field of a processing target block a motion vector of a sub block obtained by dividing the processing target block with a fixed size is derived.
  • FIG. 22 is an explanatory diagram of an example of the positional relationship between the reference picture, the processing target picture, and the processing target block.
  • picWidth indicates the number of pixels in the horizontal direction.
  • picHeight indicates the number of pixels in the vertical direction.
  • FIG. 23 a unidirectional motion vector is set at the control point (circled in FIG. 23B) of the process target block (see FIG. 23A) shown in FIG. 22, and further, the motion of the process target block It is explanatory drawing which shows a mode (refer FIG.23 (C)) in which the motion vector of each subblock is derived
  • the number of horizontal pixels of the processing target block w 16
  • the number of vertical pixels h 16
  • the prediction direction of the motion vector of the control point dir L0
  • the number of horizontal pixels of the subblock and the vertical An example is shown where the number of pixels s is four.
  • control point motion vector setting unit 5051 and the sub block motion vector derivation unit 5052 shown in FIG. 23 are included in a functional block that performs motion compensation prediction in the video encoding device.
  • the control point motion vector setting unit 5051 sets the two input motion vectors as the motion vectors of the upper left and upper right control points (v TL and v TR in FIG. 23B ).
  • the motion vector at the position (x, y) ⁇ 0 ⁇ x ⁇ w ⁇ 1, 0 ⁇ y ⁇ h ⁇ 1 ⁇ in the block to be processed is expressed as follows.
  • v (x) ((v TR (x)-v TL (x)) x x w)-((v TR (y)-v TL (y)) x y ⁇ w) + v TL (x) ( 1)
  • v (y) ((v TR (y)-v TL (y)) x x w) + ((v TR (x)-v TL (x)) x y ⁇ w) + v TL (y) ( 2)
  • the sub-block motion vector derivation unit 5052 calculates, for each sub-block, a motion vector at the center position in the sub-block as a sub-block motion vector based on the motion vector representation of the position in the processing target block.
  • control point motion vector setting unit 5051 and the sub block motion vector derivation unit 5052 determine the sub block motion vector.
  • the memory access amount for the reference picture exceeds the peak bandwidth of the memory mounted in the device.
  • the fact that the image size is large means that at least one of the pixel count picWidth in the horizontal direction and the pixel count picHeight in the vertical direction shown in FIG. 22 or the product of picWidth and picHeight (ie, the picture It means that the area is a large value.
  • the general block-based affine transformation motion compensation prediction has a problem of increasing the implementation cost of the video encoding device and the video decoding device.
  • the present invention provides a video encoding device, a video decoding device, a video encoding method, a video decoding method, and a program that can reduce the memory access amount and reduce the mounting cost when using block-based affine transformation motion compensation prediction.
  • the purpose is
  • a video encoding apparatus is a video encoding apparatus that performs video encoding using block-based affine transformation motion compensation prediction including a process of calculating motion vectors of subblocks using motion vectors of control points in blocks.
  • the video decoding apparatus is a video decoding apparatus that performs video decoding using block-based affine transformation motion compensation prediction including a process of calculating motion vectors of subblocks using motion vectors of control points in the block, The block size of the subblock in the block targeted for block-based affine transformation motion compensation prediction and the prediction direction using at least one of video size, block prediction direction, and motion vector difference of control point of block It is characterized by comprising block-based affine transformation motion compensation prediction control means for controlling at least one of motion vector accuracy.
  • the video coding method is a video coding method for performing video coding using block-based affine transformation motion compensation prediction including a process of calculating motion vectors of subblocks using motion vectors of control points in blocks.
  • the video decoding method is a video decoding method for performing video decoding using block-based affine transformation motion compensation prediction including a process of calculating motion vectors of subblocks using motion vectors of control points in blocks.
  • the block size of the subblock in the block targeted for block-based affine transformation motion compensation prediction and the prediction direction using at least one of video size, block prediction direction, and motion vector difference of control point of block At least one of motion vector accuracy is controlled.
  • a video coding program is a video coding apparatus that performs video coding using block-based affine transformation motion compensation prediction including a process of calculating motion vectors of subblocks using motion vectors of control points in blocks.
  • a video coding program to be executed which is a target of block-based affine transformation motion compensation prediction using at least one of a video size, a prediction direction of a block, and a motion vector difference of a control point of a block in a computer. And at least one of the block size of the sub-block in the block, the prediction direction, and the motion vector accuracy.
  • the video decoding program according to the present invention is executed by a video decoding apparatus that performs video decoding using block-based affine transformation motion compensation prediction including a process of calculating motion vectors of subblocks using motion vectors of control points in blocks.
  • a video decoding program comprising: at least one of a video size, a prediction direction of a block, and a motion vector difference of a control point of the block, in a computer; It is characterized in that at least one of the block size of the block, the prediction direction, and the motion vector accuracy is controlled.
  • the amount of memory access is reduced and the mounting cost is reduced.
  • FIG. 10 is an explanatory diagram showing how a unidirectional motion vector is set at a control point of a processing target block in the first embodiment, and motion vectors of each sub block are derived as a motion vector field of the processing target block. It is a flowchart which shows operation
  • FIG. 16 is an explanatory diagram showing how a unidirectional motion vector is set at a control point of a processing target block and a motion vector of each sub block is derived as a motion vector field of the processing target block in the third embodiment.
  • a general block-based affine transformation motion compensation prediction controller sets a motion vector of each direction at a control point of a processing target block, and further derives a motion vector of each subblock as a motion vector field of the processing target block
  • a motion vector in each direction is set to a control point of a processing target block, and further, motion vector of each sub block is derived as a motion vector field of the processing target block.
  • Embodiment 1 First, intra prediction, inter-frame prediction, and CU and CTU signaling used in the video encoding device of the present embodiment and a video decoding device described later will be described.
  • Each frame of the digitized video is divided into coding tree units (CTUs), and each CTU is coded in raster scan order.
  • CTUs coding tree units
  • Each CTU is divided into coding units (CU: Coding Unit) in a quad-tree (QT: Quad-Tree) structure and coded.
  • CU Coding Unit
  • QT Quad-Tree
  • Each CU is predictively coded. Note that prediction coding includes intra prediction and inter-frame prediction.
  • the prediction error of each CU is transform coded based on frequency transform.
  • the largest size CU is called the largest CU (LCU: Largest Coding Unit), and the smallest size CU is called the smallest CU (SCU: Smallest Coding Unit).
  • LCU Largest Coding Unit
  • SCU Smallest Coding Unit
  • Intra prediction is prediction that generates a predicted image from a reconstructed image having the same display time and encoding target frame.
  • 33 types of angular intra prediction shown in FIG. 1 are defined.
  • angle intra prediction reconstructed pixels around a block to be encoded are extrapolated in any of 33 directions to generate an intra prediction signal.
  • DC intra prediction that averages reconstructed pixels around a coding target block
  • Planar intra prediction that linearly interpolates reconstructed pixels around a coding target block Is defined.
  • a CU encoded based on intra prediction is referred to as an intra CU.
  • Inter-frame prediction is prediction in which a predicted image is generated from a reconstructed image (reference picture) whose display time differs from that of the encoding target frame.
  • inter-frame prediction is also referred to as inter prediction.
  • FIG. 2 is an explanatory view showing an example of inter-frame prediction.
  • the motion vector MV (mv x , mv y ) indicates the translational movement amount of the reconstructed image block of the reference picture with respect to the current block.
  • Inter prediction generates an inter prediction signal based on a reconstructed picture block of a reference picture (using pixel interpolation if necessary).
  • a CU encoded based on inter-frame prediction will be referred to as an inter-CU.
  • the video encoding device can use, as inter prediction, the normal motion compensation prediction shown in FIG. 2 and the block-based affine transformation motion compensation prediction described above. Whether it is normal motion compensation prediction or block-based affine transformation motion compensation prediction is signaled by inter_affine_flag syntax that indicates whether the inter CU is based on block-based affine transformation motion compensation prediction.
  • a frame encoded by intra CU only is called an I frame (or an I picture).
  • a frame encoded not only for intra CU but also for inter CU is called P frame (or P picture).
  • a frame encoded including an inter CU using not only one reference picture but also two reference pictures at the same time in block inter prediction is called a B frame (or a B picture).
  • inter prediction using one reference picture is called unidirectional prediction
  • inter prediction using two reference pictures simultaneously is called bidirectional prediction.
  • FIG. 3 shows an example of CTU division of frame t when the spatial resolution of the frame is CIF (CIF: Common Intermediate Format) and the CTU size is 64, and an example of CU division of the eighth CTU (CTU 8) included in frame t FIG.
  • CIF Common Intermediate Format
  • FIG. 4 is an explanatory view showing a quadtree structure corresponding to a CU division example of CTU 8;
  • the quadtree structure of each CTU that is, the CU split shape, is signaled by the cu_split_flag (described as non-patent document 1 as split_cu_flag) described in Non-Patent Document 1 syntax.
  • FIG. 5 is a block diagram illustrating an embodiment of a video encoding apparatus.
  • the video coding apparatus shown in FIG. 5 includes a transform / quantizer 101, an entropy coder 102, an inverse quantization / inverse transformer 103, a buffer 104, a predictor 105, and a multiplexer 106.
  • the predictor 105 determines, for each CTU, a cu_split_flag syntax value that determines a CU split shape that minimizes the coding cost.
  • the predictor 105 determines the intra prediction / inter prediction, which minimizes the coding cost, for each CU, the inter_affine_flag syntax value indicating whether or not the inter CU is based on the block unit affine transformation motion compensation prediction that determines intra prediction / inter prediction.
  • a value, an intra prediction direction (intra prediction direction of motion compensated prediction of a block to be processed), and a motion vector are determined.
  • the predictor 105 includes a block-based affine transformation motion compensation prediction controller 1050. Also, hereinafter, the prediction direction of the motion compensation prediction of the processing target block is simply referred to as "prediction direction".
  • the predictor 105 generates a prediction signal for the input image signal of each CU based on the determined cu_split_flag syntax value, the pred_mode_flag syntax value, the inter_affine_flag syntax value, the intra prediction direction, the motion vector, and the like.
  • the prediction signal is generated based on intra prediction or inter-frame prediction described above.
  • the transform / quantizer 101 frequency-transforms a prediction error image obtained by subtracting a prediction signal from an input image signal.
  • the transform / quantizer 101 quantizes the frequency-transformed prediction error image (frequency transform coefficient).
  • the quantized frequency transform coefficient is referred to as a transform quantization value.
  • the entropy encoder 102 entropy-encodes the cu_split_flag syntax value, the pred_mode_flag syntax value, the inter_affine_flag syntax value, the difference information in the intra prediction direction, the difference information on motion vectors, and the transform quantization value determined by the predictor 105.
  • the inverse quantization / inverse transformer 103 inversely quantizes the transform quantization value. Furthermore, the inverse quantization / inverse transformer 103 inversely frequency converts the inversely quantized frequency conversion coefficient. The inverse frequency transformed reconstructed prediction error image is added to the prediction signal and supplied to the buffer 104. The buffer 104 stores the reconstructed image.
  • the multiplexer 106 multiplexes and outputs the entropy encoded data supplied from the entropy encoder 102 as a bit stream.
  • the bit stream includes the video size, the prediction direction determined by the predictor 105, and the difference of the motion vector determined by the predictor 105 (in particular, the difference of the motion vector of the control point of the block).
  • FIG. 6 is a block diagram showing a configuration example of the block-based affine transformation motion compensation prediction controller 1050.
  • the block-based affine transformation motion compensation prediction controller 1050 includes a control point motion vector setting unit 1051 and a sub block motion vector derivation unit 1052 with control.
  • the unidirectional motion vector is set at the control point (circled in FIG. 7B) of the processing target block (see FIG. 7A) shown in FIG. 22, and further, the movement of the processing target block It is explanatory drawing which shows a mode (refer FIG.7 (C)) in which the motion vector of each subblock is derived
  • the control point motion vector setting unit 1051 is similar to the control point motion vector setting unit 5051 shown in FIG. 23 in that the two motion vectors input are the motion vectors of the upper left and upper right control points (FIG. 7B) Set as v TL and v TR ).
  • the motion vector at the position (x, y) ⁇ 0 ⁇ x ⁇ w ⁇ 1, 0 ⁇ y ⁇ h ⁇ 1 ⁇ in the block to be processed is expressed as the above-mentioned equations (1) and (2) Be done.
  • the control point motion vector setting unit 1051 assigns a motion vector input from the outside to the control point of the processing target block, as in the control point motion vector setting unit 5051 shown in FIG. 23 (step S1001).
  • the control-provided sub-block motion vector derivation unit 1052 determines whether the video size is larger than a predetermined size (step S1003).
  • control-sub-block motion vector derivation unit 1052 determines, for each sub-block, the sub-block based on the motion vector representation of the position in the processing target block.
  • the motion vector at the center position is calculated, and the calculated motion vector is set as a sub block motion vector (step S1002).
  • the predictor 105 generates a prediction signal for the input image signal of each CU based on the determined motion vector and the like.
  • the number of motion vectors in the block unit affine transformation motion compensation prediction with respect to the processing target block in the video encoding device of this embodiment is smaller than the number of motion vectors in the conventional video encoding device. In the example shown in FIG. 7, the number of motion vectors is 1 ⁇ 4.
  • the video encoding apparatus is compared to a conventional video encoding apparatus using a block-based affine transformation motion compensation prediction controller when encoding a video size larger than a predetermined size. , And can reduce the amount of memory access for reference pictures.
  • Embodiment 2 Next, with reference to FIG. 9, the configuration and operation of a video decoding apparatus that outputs a video frame decoded by using a bit stream from a video coding apparatus or the like as an input will be described.
  • the video decoding apparatus of the present embodiment corresponds to the video encoding apparatus of the first embodiment. That is, the video decoding apparatus according to the present embodiment performs control for reducing the amount of memory access in a method common to the method in the video encoding apparatus according to the first embodiment.
  • the video decoding apparatus includes a demultiplexing unit 201, an entropy decoding unit 202, an inverse quantization / inverse conversion unit 203, a predictor 204, and a buffer 205.
  • the demultiplexer 201 demultiplexes the input bit stream to extract an entropy coded video bit stream.
  • Entropy decoder 202 entropy decodes the video bitstream.
  • the entropy decoder 202 entropy decodes the coding parameter and the transform quantization value and supplies the inverse quantization / inverse transformer 203 and the predictor 204.
  • the entropy decoder 202 supplies cu_split_flag, pred_mode_flag, inter_affine_flag, the intra prediction direction, and the motion vector to the predictor 204.
  • the inverse quantization / inverse transformer 203 inversely quantizes the transform quantization value. Furthermore, the inverse quantization / inverse transformer 203 performs inverse frequency conversion on the inversely quantized frequency conversion coefficient.
  • the predictor 204 After inverse frequency transform, the predictor 204 generates a prediction signal using the reconstructed image stored in the buffer 205 based on the entropy decoded cu_split_flag, pred_mode_flag, inter_affine_flag, the intra prediction direction, and the motion vector.
  • the prediction signal is generated based on intra prediction or inter-frame prediction described above.
  • the predictor 204 includes a block-based affine transform motion compensated predictive controller 2040.
  • the block-based affine transformation motion compensation prediction controller 2040 sets the motion vector of the control point, as in the block-wise affine transformation motion compensation prediction controller 1050 in the video encoding device according to the first embodiment, and then the video size is The sub-block size is determined according to whether or not it is larger than a predetermined size. Then, the block-based affine transformation motion compensation prediction controller 2040 calculates the motion vector of the central position in the sub block for each sub block based on the motion vector representation of the position in the processing target block, and the calculated motion vector As a subblock motion vector. That is, block-based affine transformation motion compensation prediction controller 2040 includes a block that operates in the same manner as control point motion vector setting unit 1051 and sub block motion vector with control unit 1052.
  • the reconstructed prediction error image subjected to inverse frequency conversion by the inverse quantization / inverse transformer 203 is added to the prediction signal supplied from the predictor 204 and supplied to the buffer 205 as a reconstructed image.
  • the reconstructed image stored in the buffer 205 is output as a decoded image (decoded video).
  • the number of motion vectors of the block unit affine transformation motion compensation prediction with respect to the processing target block in the video decoding device of this embodiment is smaller than the number of motion vectors in the conventional video decoding device. In the example shown in FIG. 7, the number of motion vectors is 1 ⁇ 4.
  • the video decoding apparatus is referred to in comparison with a video decoding apparatus using a conventional block-based affine transformation motion compensation prediction controller when a video size larger than a predetermined size is to be decoded. Memory access for pictures can be reduced.
  • Embodiment 3 In the video encoding apparatus according to the first embodiment and the video decoding apparatus according to the second embodiment, when the block unit affine transformation motion compensation prediction controller 1050 or 2040 determines that the memory access amount for the reference picture is large, the sub block The size was increased to reduce the amount of memory access.
  • FIG. 10 is a control point (see FIG. 10 (B)) of the processing target block (see FIG. 10 (A)) shown in FIG. 22 in the video encoding device of the third embodiment and the corresponding video decoding device.
  • FIG. 10 is an explanatory view showing a state in which a unidirectional motion vector is set to a circle) and a motion vector of each sub block is derived as a motion vector field of a processing target block (see FIG. 10C).
  • the overall configuration of the video encoding device of the third embodiment and the video decoding device corresponding thereto may be the same as the configurations shown in FIG. 5 and FIG.
  • the operation of the block-based affine transformation motion compensation prediction controller 1050 in the video encoding apparatus according to the third embodiment will be described with reference to the flowchart of FIG.
  • the block unit affine transformation motion compensation prediction controller 2040 in the video decoding device also operates in the same manner as the block unit affine transformation motion compensation prediction controller 1050.
  • the control point motion vector setting unit 1051 assigns a motion vector input from the outside to the control point of the processing target block, as in the control point motion vector setting unit 5051 shown in FIG. 23 (step S1001). Similar to the sub-block motion vector derivation unit 5052 shown in FIG. 23, the control-sub-block motion vector derivation unit 1052 calculates the motion vector at the center position in the sub-block for each sub block, and the calculated motion vector As a sub-block motion vector (step S1002).
  • the motion vector is a vector of decimal precision.
  • control-added sub-block motion vector deriving unit 1052 determines whether the video size is larger than a predetermined size (step S1003). If the video size is less than or equal to the predetermined size, the process ends. In this case, the motion vector v remains a vector of decimal precision.
  • the controlled sub-block motion vector deriving unit 1052 rounds the motion vector v of each sub block into a vector of integer precision (step S2001).
  • the motion vector v is expressed as follows.
  • the predictor 105 (in the video decoding apparatus, the predictor 204) generates a prediction signal for the input image signal of each CU based on the determined motion vector and the like.
  • Embodiment 4 In the video encoding apparatus according to the first embodiment and the video decoding apparatus according to the second embodiment, when the block unit affine transformation motion compensation prediction controller 1050 or 2040 determines that the memory access amount for the reference picture is large, the sub block The size was increased to reduce the amount of memory access.
  • the amount of memory access can be reduced by forcing the motion vector of the block to be processed in bidirectional prediction to be unidirectional.
  • FIG. 12 is an explanatory drawing showing an example of the positional relationship between a reference picture, a processing target picture and a processing target block in bidirectional prediction.
  • FIG. 13 is an explanatory diagram for comparison between general block-based affine transformation motion compensation prediction and the fourth embodiment.
  • a general block-based affine transformation motion compensation prediction controller having a control point motion vector setting unit 5051 and a sub block motion vector derivation unit 5052 shown in FIG. 23
  • Motion vectors of the respective directions are set at control points (circles in FIG. 13B) of the processing target block (see FIG. 13A) shown in FIG. 12, and further, as a motion vector field of the processing target block
  • FIG. 14 is a control point (see FIG. 14A) of the processing target block (see FIG. 14A) shown in FIG. 12 in the block unit affine transformation motion compensation prediction controller 1050 in the video encoding device of the fourth embodiment.
  • a motion vector of each direction is set in (circles) in (B), and further an explanatory view showing a state of deriving a motion vector of each sub block as a motion vector field of a processing target block (see FIG. 14C). It is.
  • the overall configuration of the video encoding apparatus according to the fourth embodiment and the video decoding apparatus corresponding thereto may be the same as the configurations shown in FIG. 5 and FIG.
  • the operation of the block-by-block affine transformation motion compensation prediction controller 1050 in the video encoding apparatus according to the fourth embodiment will be described with reference to the flowchart of FIG.
  • the block unit affine transformation motion compensation prediction controller 2040 in the video decoding device also operates in the same manner as the block unit affine transformation motion compensation prediction controller 1050.
  • the control point motion vector setting unit 1051 assigns a motion vector input from the outside to the control point of the processing target block, as in the control point motion vector setting unit 5051 shown in FIG. 23 (step S1001). Similar to the sub-block motion vector derivation unit 5052 shown in FIG. 23, the control-sub-block motion vector derivation unit 1052 calculates the motion vector at the center position in the sub-block for each sub block, and the calculated motion vector As a sub-block motion vector (step S1002).
  • the control-provided sub-block motion vector derivation unit 1052 determines whether the video size is larger than a predetermined size (step S1003). If the video size is less than or equal to the predetermined size, the process ends.
  • the motion vector may be a bi-directional vector.
  • the controlled sub-block motion vector deriving unit 1052 invalidates the sub-block motion vector in the L1 direction and constrains the motion vector v of each sub-block in one direction (step S2002). .
  • the predictor 105 (in the video decoding apparatus, the predictor 204) generates a prediction signal for the input image signal of each CU based on the determined motion vector and the like.
  • controlled sub-block motion vector deriving unit 1052 may invalidate the sub-block motion vector in the L0 direction instead of invalidating the sub-block motion vector in the L1 direction.
  • the video encoding device multiplexes the syntax of the information on the prediction direction to be invalidated into a bit stream, and the video decoding device extracts the syntax of the information from the bit stream and invalidates the motion vector in the obtained prediction direction. May be
  • the video encoding device and video decoding of this embodiment The number of motion vectors in the block unit affine transformation motion compensation prediction for the processing target block in the device is smaller than the number of motion vectors in the block unit affine transformation motion compensation prediction in the conventional video encoding device and video decoding device (specifically, , 1/2). That is, the video encoding apparatus and the video decoding apparatus according to the present embodiment use the conventional block-based affine transformation motion compensation prediction controller in the case where a video size larger than a predetermined size is to be encoded. Compared to processing and video decoding processing, the amount of memory access for reference pictures can be reduced.
  • block to be processed in this embodiment is used.
  • the number of motion vectors of block-based affine transformation motion compensation prediction is the same as in the case of using general block-based affine transformation motion compensation prediction. Therefore, block-based affine transformation motion compensated prediction in this embodiment may be constrained to apply only to blocks using bi-directional prediction.
  • Embodiment 5 In the video encoding device and video decoding device according to each of the above embodiments, the block unit affine transformation motion compensation prediction controller 1050 or 2040 determines whether there is a large memory access amount for the reference picture based on the video size, and refers to it. When it is determined that the amount of memory access for a picture is large, motion vectors of subblocks are derived so as to reduce the amount of memory access.
  • the block unit affine transformation motion compensation prediction controller 1050 judges whether or not the memory access amount for the reference picture is large based on the prediction direction of the processing target block. Good.
  • control-provided sub-block motion vector derivation unit 1052 refers to the case where the prediction direction of the processing target block is bi-directional prediction instead of the determination in step S1003 (see FIGS. 8, 11 and 15). It is determined that the amount of memory access for the picture is large. When that is not the case (when the prediction direction of the processing target block is unidirectional prediction), it is not determined that the memory access amount related to the reference picture is large.
  • the block unit affine transformation motion compensation prediction controller 2040 in the video decoding device also operates in the same manner as the block unit affine transformation motion compensation prediction controller 1050.
  • the overall configuration of the video encoding device of the fifth embodiment and the video decoding device corresponding thereto may be the same as the configurations shown in FIG. 5 and FIG.
  • Embodiment 6 In the video encoding device and video decoding device according to each of the above embodiments, the block unit affine transformation motion compensation prediction controller 1050 or 2040 determines whether or not the memory access amount for the reference picture is large based on the video size or the prediction direction. When it is determined that the memory access amount for the reference picture is large, the motion vector of the sub block is derived so that the memory access amount is reduced.
  • block affine transformation motion compensated predictive controller 1050 instead of determining on the basis of the image size or the prediction direction, a motion vector of the top left of the control points of the motion vectors and the top right of the control point of the process target block v TL It may be determined whether there is a large amount of memory access for the reference picture based on the relationship between V and vTR .
  • control-sub-block motion vector deriving unit 1052 substitutes the determination in step S1003 (see FIGS. 8, 11, and 15), and the difference between v TL and v TR of the processing target block is a predetermined value. When it is too large, it is determined that the memory access amount for the reference picture is large. Otherwise (when the difference is less than or equal to the predetermined value), it is not determined that the amount of memory access for the reference picture is large.
  • the block unit affine transformation motion compensation prediction controller 2040 in the video decoding device also operates in the same manner as the block unit affine transformation motion compensation prediction controller 1050.
  • the overall configuration of the video encoding device and the video decoding device corresponding thereto according to the sixth embodiment may be the same as the configurations shown in FIG. 5 and FIG.
  • Embodiment 7 The video encoding apparatus and the second video decoding apparatus according to the first embodiment determine whether the block unit affine transformation motion compensation prediction controller 1050 or 2040 has a large memory access amount for the reference picture based on the video size. When it is determined that the memory access amount for the reference picture is large, the sub block size is increased to reduce the memory access amount.
  • the block-based affine transformation motion compensation prediction controllers 1050 and 2040 may control the always-used sub-block size S based on the syntax instead of performing the determination based on the video size. That is, in the video encoding apparatus, the multiplexer 106 multiplexs log2_affine_subblock_size_minus2 syntax indicating information on the subblock size S into a bitstream, and in the video decoding apparatus, the demultiplexer 201 extracts and decodes the syntax of the information from bit stream. The predictor 204 may use the sub-block size S 2 obtained as a result.
  • indicates a bit shift operation in the left direction.
  • the operation of the block-based affine transformation motion compensation prediction controller 1050 in the video encoding apparatus according to the seventh embodiment of the present invention which performs the above control will be described with reference to the flowchart of FIG.
  • the block unit affine transformation motion compensation prediction controller 2040 in the video decoding device also operates in the same manner as the block unit affine transformation motion compensation prediction controller 1050.
  • the control point motion vector setting unit 1051 assigns a motion vector input from the outside to the control point of the processing target block, as in the control point motion vector setting unit 5051 shown in FIG. 23 (step S1001).
  • the controlled sub-block motion vector derivation unit 1052 determines the sub-block size S 1 based on the value of log2_affine_subblock_size_minus2 syntax, based on the relational expression of equation (4) (step S2003).
  • control-sub-block motion vector derivation unit 1052 calculates the motion vector at the center position in the sub-block for each sub block, and the calculated motion vector As a sub-block motion vector (step S1002).
  • the control-provided sub-block motion vector derivation unit 1052 calculates a sub-block motion vector for the sub-block of the sub-block size S 1 determined in the process of step S2002.
  • the predictor 105 (in the video decoding apparatus, the predictor 204) generates a prediction signal for the input image signal of each CU based on the determined motion vector and the like.
  • the overall configuration of the video encoding apparatus of the seventh embodiment and the video decoding apparatus corresponding thereto may be the same as the configurations shown in FIGS. 5 and 9.
  • Embodiment 8 In the video encoding device and the video decoding device according to the third embodiment, the block unit affine transformation motion compensation prediction controller 1050 or 2040 determines whether or not the memory access amount for the reference picture is large based on the video size, and makes a reference. When it is determined that the amount of memory access for a picture is large, the amount of memory access is reduced by making the sub block motion vector integer accurate.
  • the block-based affine transformation motion compensation prediction controller 1050 or 2040 determines whether the sub block motion vector has integer precision or not based on the syntax indicating whether the motion vector has integer precision or not. Good.
  • enable_affine_sublock_integer_mv_flag indicating information on whether or not multiplexer 106 makes integer precision (integer precision is valid) in the video encoding apparatus is multiplexed into a bit stream, and the video decoding apparatus 201 is demultiplexed.
  • the predictor 204 may use information obtained by extracting and decoding the syntax of the information from the bit stream.
  • enable_affine_sublock_integer_mv_flag syntax when the value of enable_affine_sublock_integer_mv_flag syntax is 1, integer precision is performed (integer precision is enabled), otherwise (enable_affine_sublock_integer_mv_flag syntax value is 0), integer precision is not performed (integer precision is disabled).
  • the operation of the block-by-block affine transformation motion compensation prediction controller 1050 in the video encoding apparatus according to the embodiment of the eighth embodiment which performs the above control will be described with reference to the flowchart in FIG.
  • the block unit affine transformation motion compensation prediction controller 2040 in the video decoding device also operates in the same manner as the block unit affine transformation motion compensation prediction controller 1050.
  • the control point motion vector setting unit 1051 assigns a motion vector input from the outside to the control point of the processing target block, as in the control point motion vector setting unit 5051 shown in FIG. 23 (step S1001).
  • control-sub-block motion vector derivation unit 1052 calculates the motion vector at the center position in the sub-block for each sub block, and the calculated motion vector As a sub-block motion vector (step S1002).
  • control-provided sub-block motion vector derivation unit 1052 determines whether the sub-block motion vector has integer precision (whether integer precision is valid) (step S3001). If integer precision is not valid, the process ends.
  • control-directed sub-block motion vector derivation unit 1052 rounds the motion vector v of each sub-block to a vector of integer precision (step S2001).
  • the motion vector v 1 of integer precision is expressed as the above-mentioned equation (3).
  • the predictor 105 (in the video decoding apparatus, the predictor 204) generates a prediction signal for the input image signal of each CU based on the determined motion vector and the like.
  • the overall configuration of the video encoding apparatus of the eighth embodiment and the video decoding apparatus corresponding thereto may be the same as the configurations shown in FIG. 5 and FIG.
  • Embodiment 9 In the video encoding apparatus and video decoding apparatus according to the fourth embodiment, the block-by-block affine transformation motion compensation prediction controller 1050 or 2040 determines whether or not the memory access amount for the reference picture is large based on the video size. When it is determined that the amount of memory access for a picture is large, the amount of memory access is reduced by forcibly setting the motion vector of the block to be processed in bidirectional prediction to a one-way motion vector.
  • block-based affine transformation motion compensation prediction controller 1050 or 2040 set the motion vector to integer precision whether or not the motion vector of the processing target block of bidirectional prediction is forced to be a unidirectional motion vector? You may judge based on the syntax which shows whether or not it is.
  • the disable_affine_sublock_bipred_mv_flag syntax indicating information on whether the multiplexer 106 is forced to be unidirectional (whether unidirectionalization is effective or not) is multiplexed into a bitstream, and multiplexed in the video decoding apparatus.
  • the predictor 204 may use information obtained by the decoder 201 by extracting and decoding the syntax of the information from the bit stream.
  • the operation of the block-by-block affine transformation motion compensation prediction controller 1050 in the video encoding apparatus according to the ninth embodiment which performs the above-described control will be described with reference to the flowchart in FIG.
  • the block unit affine transformation motion compensation prediction controller 2040 in the video decoding device also operates in the same manner as the block unit affine transformation motion compensation prediction controller 1050.
  • the control point motion vector setting unit 1051 assigns a motion vector input from the outside to the control point of the processing target block, as in the control point motion vector setting unit 5051 shown in FIG. 23 (step S1001).
  • control-sub-block motion vector derivation unit 1052 calculates the motion vector at the center position in the sub-block for each sub block, and the calculated motion vector As a sub block motion vector (step S1002).
  • control-directed sub-block motion vector derivation unit 1052 determines whether or not the sub-block motion vector is to be unidirectional (whether unidirectionality is enabled or not) (step S4001). If unidirectionalization is not effective, the process ends.
  • the controlled sub-block motion vector deriving unit 1052 invalidates the sub-block motion vector in the L1 direction and constrains the motion vector v of each sub-block in one direction (step S2001). ).
  • the predictor 105 (in the video decoding apparatus, the predictor 204) generates a prediction signal for the input image signal of each CU based on the determined motion vector and the like.
  • the overall configuration of the video encoding apparatus of the ninth embodiment and the video decoding apparatus corresponding thereto may be the same as the configurations shown in FIG. 5 and FIG.
  • the controlled sub-block motion vector deriving unit 1052 may invalidate the sub-block motion vector in the L0 direction instead of invalidating the sub-block motion vector in the L1 direction.
  • the video encoding device multiplexes the syntax of the information on the prediction direction to be invalidated into a bit stream, and the video decoding device extracts the syntax of the information from the bit stream and invalidates the motion vector in the obtained prediction direction. May be
  • the controlled sub-block motion vector deriving unit determines whether the amount of memory access for the reference picture is large and the memory access amount Is determined, the sub-block motion vector is derived such that the memory access amount for the reference picture is reduced.
  • the determination as to whether the amount of memory access for the reference picture is large includes at least the difference between the video size, the prediction direction (the prediction direction of the motion compensation prediction of the processing target block), and the motion vector of the control point of the processing target block One is used.
  • At least one of the following restriction on the number of motion vectors and the reduction in accuracy of motion vectors is used to reduce the amount of memory access for reference pictures.
  • Motion vector number limitation Increase the size of subblocks, make the prediction direction one direction, or a combination of them
  • the video encoding device and the video decoding device when determining whether or not the memory access amount is large, the video size, the prediction direction of the processing target block, or the processing target block Although the difference of the motion vector of the control point of is used, it may be determined by combining any of these three elements.
  • the subblock motion vector when reducing the amount of memory access, either the size of the subblock is increased, the subblock motion vector is made to have integer precision, or Although the block motion vector is limited to one direction, those three methods may be combined arbitrarily.
  • the information processing system shown in FIG. 19 includes a processor 1001, a program memory 1002, a storage medium 1003 for storing video data, and a storage medium 1004 for storing a bit stream.
  • the storage medium 1003 and the storage medium 1004 may be separate storage media, or may be storage areas formed of the same storage medium.
  • a magnetic storage medium such as a hard disk can be used as the storage medium.
  • the program memory 1002 includes each block shown in FIG. 5 (except for the block of the buffer) or each block shown in FIG. 9 (except for the block of the buffer). A program for realizing the function is stored. Then, the processor 1001 implements the functions of the video encoding device or the video decoding device of the above-described embodiment by executing processing in accordance with the program stored in the program memory 1002.
  • FIG. 20 is a block diagram showing the main parts of a video encoding apparatus.
  • the video encoding device 10 uses block size affine transformation motion compensation prediction using at least one of video size, prediction direction of block, and motion vector difference of control point of block.
  • Block unit affine transformation motion compensation prediction control unit 11 (block unit affine transformation motion compensation prediction controller according to the embodiment) that controls at least one of block sizes of subblocks in the block, prediction direction, and motion vector accuracy Corresponding to 1050).
  • FIG. 21 is a block diagram showing the main part of the video decoding apparatus.
  • the video decoding apparatus 20 uses at least one of the video size, the prediction direction of the block, and the difference of the motion vector of the control point of the block to perform block-based affine transformation motion compensation prediction.
  • a block unit affine transformation motion compensation prediction control unit 21 (block unit affine transformation motion compensation prediction controller 2040 according to the embodiment, which controls at least one of the block size of subblocks in the block, the prediction direction, and the motion vector accuracy Correspond to the
  • a video encoding apparatus that performs video encoding using block-based affine transformation motion compensation prediction including a process of calculating motion vectors of subblocks using motion vectors of control points in the block, The block size of the subblock in the block of the block-based affine transformation motion compensation prediction, the prediction direction, and at least one of the image size, the prediction direction of the block, and the difference of the motion vector of the control point of the block And a block unit affine transformation motion compensation prediction control unit configured to control at least one of motion vector accuracy, and a video encoding device.
  • the block-based affine transformation motion compensation prediction control means increases the block size of the sub block when controlling the block size of the sub block, and sets the prediction direction to one direction when controlling the prediction direction.
  • the video encoding device according to appendix 1, wherein the motion vector of the sub-block is rounded to a motion vector of integer precision when limiting and controlling the motion vector precision.
  • a video decoding apparatus that performs video decoding using block-based affine transformation motion compensation prediction including a process of calculating motion vectors of subblocks using motion vectors of control points in the block, The block size of the subblock in the block of the block-based affine transformation motion compensation prediction, the prediction direction, and at least one of the image size, the prediction direction of the block, and the difference of the motion vector of the control point of the block
  • An image decoding apparatus comprising: block-based affine transformation motion compensation prediction control means for controlling at least one of motion vector accuracy.
  • the block-based affine transformation motion compensation prediction control means increases the block size of the sub block when controlling the block size of the sub block, and sets the prediction direction to one direction when controlling the prediction direction.
  • the video decoding device according to Appendix 3, wherein the motion vector of the subblock is rounded to a motion vector of integer precision when limiting and controlling the motion vector precision.
  • a video encoding method for performing video encoding using block-based affine transformation motion compensation prediction including a process of calculating motion vectors of subblocks using motion vectors of control points in the block, The block size of the subblock in the block of the block-based affine transformation motion compensation prediction, the prediction direction, and at least one of the image size, the prediction direction of the block, and the difference of the motion vector of the control point of the block And at least one of motion vector accuracy and image coding method.
  • the block size of the sub block is increased when controlling the block size of the sub block, and the prediction direction is restricted in one direction when controlling the prediction direction, and the motion vector accuracy is controlled.
  • a video decoding method for performing video decoding using block-based affine transformation motion compensation prediction including a process of calculating motion vectors of subblocks using motion vectors of control points in the block, The block size of the subblock in the block of the block-based affine transformation motion compensation prediction, the prediction direction, and at least one of the image size, the prediction direction of the block, and the difference of the motion vector of the control point of the block And controlling at least one of motion vector accuracy and video decoding method.
  • the block size of the sub block is increased when controlling the block size of the sub block, and the prediction direction is restricted in one direction when controlling the prediction direction, and the motion vector accuracy is controlled.
  • Video code executed by a video encoding apparatus that performs video encoding using block-based affine transformation motion compensation prediction including a process of calculating motion vectors of subblocks using motion vectors of control points in blocks Program, and On the computer
  • a video encoding program for controlling at least one of motion vector accuracy.

Landscapes

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

Abstract

映像符号化装置は、ブロックにおける制御点の動きベクトルを用いてサブブロックの動きベクトルを計算する過程を含むブロック単位アフィン変換動き補償予測を用いて映像符号化を行う。映像符号化装置は、映像サイズ、ブロックの予測方向、ブロックの制御点の動きベクトルの差分のうちの少なくとも1つを用いて、ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも1つを制御するブロック単位アフィン変換動き補償予測制御手段を備える。

Description

映像符号化装置、映像復号装置、映像符号化方法、映像復号方法およびプログラム
 本発明は、ブロック単位アフィン変換動き補償予測を用いる映像符号化装置および映像復号装置に関する。
 映像符号化方式として、非特許文献1に記載されているようなHEVC(High Efficiency Video Coding)規格に基づく方式がある。非特許文献2には、HEVCの圧縮効率を高めるために、ブロック単位アフィン変換動き補償予測(Block based affine transform motion compensated prediction)技術が開示されている。
 アフィン変換動き補償予測では、HEVCで用いられている並進(translation )モデルに基づいた動き補償予測では表現できない、ズーム、回転などの変形を伴う動きも表現できる。
 なお、アフィン変換動き補償予測技術は、非特許文献3にも記載されている。
 上記ブロック単位アフィン変換動き補償予測(以下、一般的なブロック単位アフィン変換動き補償予測という。)は、以下の特徴を有する簡略化されたアフィン変換動き補償予測である。
・処理対象ブロックの左上位置と右上位置とを制御点(Control point )として利用する。
・処理対象ブロックの動きベクトル場(Motion vector field )として、処理対象ブロックが固定サイズで分割されて得られるサブブロックの動きベクトルを導出する。
 図22および図23の説明図を参照して一般的なブロック単位アフィン変換動き補償予測を説明する。図22は、参照ピクチャ、処理対象ピクチャおよび処理対象ブロックの位置関係の一例を示す説明図である。図22において、picWidthは、水平方向の画素数を示す。picHeight は、垂直方向の画素数を示す。
 図23は、図22に示された処理対象ブロック(図23(A)参照)の制御点(図23(B)における丸印)に片方向動きベクトルが設定され、さらに、処理対象ブロックの動きベクトル場として各サブブロックの動きベクトルが導出される様子(図23(C)参照)を示す説明図である。
 図23には、説明の簡単のために、処理対象ブロックの水平画素数w=16、垂直画素数h=16 、制御点の動きベクトルの予測方向dir=L0、サブブロックの水平画素数および垂直画素数s が4 である場合の例が示されている。
 図23に示された制御点動きベクトル設定部5051およびサブブロック動きベクトル導出部5052は、映像符号化装置における動き補償予測を行う機能ブロックに含まれている。
 制御点動きベクトル設定部5051は、入力される2つの動きベクトルを、左上と右上の制御点の動きベクトル(図23(B)おけるvTL とvTR )として設定する。
 処理対象ブロック内の位置(x,y){0≦x≦w-1, 0≦y≦h-1}の動きベクトルは次のように表現される。
 v(x) = ((vTR (x) - vTL(x))×x÷w) - ((vTR (y) - vTL (y))×y÷w)+vTL (x)  (1)
 v(y) = ((vTR (y) - vTL(y))×x÷w) + ((vTR (x) - vTL (x))×y÷w)+vTL (y)  (2)
 ただし、vTL(x)、vTL(y)、vTR (x)、およびvTR(y)は、それぞれ、vTLのx方向(水平方向)の成分、vTLのy方向(垂直方向)の成分、vTRのx方向(水平方向)の成分、およびvTRのy方向(垂直方向)の成分を示す。
 続いて、サブブロック動きベクトル導出部5052は、処理対象ブロック内の位置の動きベクトル表現に基づいて、各サブブロックについてサブブロック内の中央位置の動きベクトルをサブブロック動きベクトルとして計算する。
 以上のように、制御点動きベクトル設定部5051およびサブブロック動きベクトル導出部5052は、サブブロック動きベクトルを決定する。
R. Joshi et al., "HEVC Screen Content Coding Draft Text 5" document JCTVC-vtr005, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC1/SC 29/WG 11, 22nd Meeting: Geneva, CH, 15-21 Oct. 2015 J. Chen et al., "Algorithm Description of Joint Exploration Test Model 5 (JEM 5)" document JVET-E1001-v2, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 5th Meeting: Geneva, CH, 12-20 January 2017 K. Zhang et al., "Video coding using affine motion compensated prediction", ISCASSP 1996
 上述した一般的なブロック単位アフィン変換動き補償予測では、処理対象ブロック内で動きベクトルが散らばる。その結果、一般的なブロック単位アフィン変換動き補償予測を用いる映像符号化装置では、通常の動き補償予測(処理対象ブロック内で動きベクトルが散らばらない、並進モデルに基づいた動き補償予測)を用いる場合に比べて、動き補償予測処理における参照ピクチャに関するメモリアクセス量が飛躍的に増加する。
 例えば、8Kなどの大きな映像サイズの映像信号に上記の一般的なブロック単位アフィン変換動き補償予測が適用されたときに、参照ピクチャに関するメモリアクセス量が装置に搭載されているメモリのピーク帯域を越えてしまう可能性がある。
 なお、映像サイズが大きいということは、図22に示されるピクチャの水平方向の画素数picWidthと垂直方向の画素数picHeight とのうちの少なくとも一方、または、picWidthとpicHeight との積(すなわち、ピクチャの面積)が大きな値であることを意味する。
 以上に説明したように、一般的なブロック単位アフィン変換動き補償予測は、映像符号化装置や映像復号装置の実装コストを増加させるという課題がある。
 本発明は、ブロック単位アフィン変換動き補償予測を用いる場合に、メモリアクセス量を削減でき、実装コストを削減できる映像符号化装置、映像復号装置、映像符号化方法、映像復号方法およびプログラムを提供することを目的とする。
 本発明による映像符号化装置は、ブロックにおける制御点の動きベクトルを用いてサブブロックの動きベクトルを計算する過程を含むブロック単位アフィン変換動き補償予測を用いて映像符号化を行う映像符号化装置であって、映像サイズ、ブロックの予測方向、ブロックの制御点の動きベクトルの差分のうちの少なくとも1つを用いて、ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも1つを制御するブロック単位アフィン変換動き補償予測制御手段を備えることを特徴とする。
 本発明による映像復号装置は、ブロックにおける制御点の動きベクトルを用いてサブブロックの動きベクトルを計算する過程を含むブロック単位アフィン変換動き補償予測を用いて映像復号を行う映像復号装置であって、映像サイズ、ブロックの予測方向、ブロックの制御点の動きベクトルの差分のうちの少なくとも1つを用いて、ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも1つを制御するブロック単位アフィン変換動き補償予測制御手段を備えることを特徴とする。
 本発明による映像符号化方法は、ブロックにおける制御点の動きベクトルを用いてサブブロックの動きベクトルを計算する過程を含むブロック単位アフィン変換動き補償予測を用いて映像符号化を行う映像符号化方法であって、映像サイズ、ブロックの予測方向、ブロックの制御点の動きベクトルの差分のうちの少なくとも1つを用いて、ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも1つを制御することを特徴とする。
 本発明による映像復号方法は、ブロックにおける制御点の動きベクトルを用いてサブブロックの動きベクトルを計算する過程を含むブロック単位アフィン変換動き補償予測を用いて映像復号を行う映像復号方法であって、映像サイズ、ブロックの予測方向、ブロックの制御点の動きベクトルの差分のうちの少なくとも1つを用いて、ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも1つを制御することを特徴とする。
 本発明による映像符号化プログラムは、ブロックにおける制御点の動きベクトルを用いてサブブロックの動きベクトルを計算する過程を含むブロック単位アフィン変換動き補償予測を用いて映像符号化を行う映像符号化装置で実行される映像符号化プログラムであって、コンピュータに、映像サイズ、ブロックの予測方向、ブロックの制御点の動きベクトルの差分のうちの少なくとも1つを用いて、ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも1つを制御させることを特徴とする。
 本発明による映像復号プログラムは、ブロックにおける制御点の動きベクトルを用いてサブブロックの動きベクトルを計算する過程を含むブロック単位アフィン変換動き補償予測を用いて映像復号を行う映像復号装置で実行される映像復号プログラムであって、コンピュータに、映像サイズ、ブロックの予測方向、ブロックの制御点の動きベクトルの差分のうちの少なくとも1つを用いて、ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも1つを制御させることを特徴とする。
 本発明によれば、メモリアクセス量が削減し、実装コストが削減される。
 また、映像符号化装置と映像復号装置とが共通したやり方でメモリアクセス量削減を行うことによって、映像符号化装置と映像復号装置との高い相互接続性が確保される。
33種類の角度イントラ予測の例を示す説明図である。 フレーム間予測の例を示す説明図である。 フレームt のCTU 分割例、および、フレームt のCTU8のCU分割例を示す説明図である。 CTU8のCU分割例に対応するクアッドツリー構造を示す説明図である。 映像符号化装置の実施形態の構成を示すブロック図である。 ブロック単位アフィン変換動き補償予測制御器の構成例を示すブロック図である。 第1の実施形態において、処理対象ブロックの制御点に片方向動きベクトルが設定され、さらに、処理対象ブロックの動きベクトル場として各サブブロックの動きベクトルが導出される様子を示す説明図である。 第1の実施形態におけるブロック単位アフィン変換動き補償予測制御器の動作を示すフローチャートである。 映像復号装置の実施形態の構成を示すブロック図である。 第3の実施形態において、処理対象ブロックの制御点に片方向動きベクトルが設定され、さらに、処理対象ブロックの動きベクトル場として各サブブロックの動きベクトルが導出される様子を示す説明図である。 第3の実施形態におけるブロック単位アフィン変換動き補償予測制御器の動作を示すフローチャートである。 双方向予測における参照ピクチャ、処理対象ピクチャおよび処理対象ブロックの位置関係の一例を示す説明図である。 一般的なブロック単位アフィン変換動き補償予測制御器が、処理対象ブロックの制御点にそれぞれの方向の動きベクトルを設定し、さらに、処理対象ブロックの動きベクトル場として各サブブロックの動きベクトルを導出する様子を示す説明図である。 第4の実施形態において、処理対象ブロックの制御点にそれぞれの方向の動きベクトルが設定され、さらに、処理対象ブロックの動きベクトル場として各サブブロックの動きベクトルが導出される様子を示す説明図である。 第4の実施形態におけるブロック単位アフィン変換動き補償予測制御器の動作を示すフローチャートである。 第7の実施形態におけるブロック単位アフィン変換動き補償予測制御器の動作を示すフローチャートである。 第8の実施形態におけるブロック単位アフィン変換動き補償予測制御器の動作を示すフローチャートである。 第9の実施形態におけるブロック単位アフィン変換動き補償予測制御器の動作を示すフローチャートである。 映像符号化装置および映像復号装置の機能を実現可能な情報処理システムの構成例を示すブロック図である。 映像符号化装置の主要部を示すブロック図である。 映像復号装置の主要部を示すブロック図である。 参照ピクチャ、処理対象ピクチャおよび処理対象ブロックの位置関係の一例を示す説明図である。 処理対象ブロックの制御点に片方向動きベクトルが設定され、さらに、処理対象ブロックの動きベクトル場として各サブブロックの動きベクトルが導出される様子を示す説明図である。
実施形態1.
 まず、本実施形態の映像符号化装置および後述する映像復号装置で使用されるイントラ予測、フレーム間予測、および、CUとCTU のシグナリングを説明する。
 ディジタル化された映像の各フレームは符号化ツリーユニット(CTU: Coding Tree Unit )に分割され、ラスタスキャン順に各CTU が符号化される。
 各CTU は、四分木(QT: Quad-Tree )構造で、符号化ユニット(CU: Coding Unit )に分割されて符号化される。各CUは、予測符号化される。なお、予測符号化には、イントラ予測とフレーム間予測とがある。
 各CUの予測誤差は、周波数変換に基づいて変換符号化される。
 最も大きなサイズのCUを最大CU(LCU: Largest Coding Unit)、最も小さなサイズのCUを最小CU(SCU: Smallest Coding Unit )と呼ぶ。なお、LCU サイズとCTU サイズとは同一である。
 イントラ予測は、符号化対象フレームと表示時刻が同一の再構築画像から予測画像を生成する予測である。非特許文献1では、図1に示す33種類の角度イントラ予測が定義されている。角度イントラ予測は、符号化対象ブロック周辺の再構築画素を33種類の方向のいずれかに外挿して、イントラ予測信号を生成する。非特許文献1では、33種類の角度イントラ予測に加えて、符号化対象ブロック周辺の再構築画素を平均するDCイントラ予測、および、符号化対象ブロック周辺の再構築画素を線形補間するPlanarイントラ予測が定義されている。以下、イントラ予測に基づいて符号化されたCUをイントラCUと呼ぶ。
 フレーム間予測は、符号化対象フレームと表示時刻が異なる再構築画像(参照ピクチャ)から予測画像を生成する予測である。以下、フレーム間予測をインター予測とも呼ぶ。図2は、フレーム間予測の例を示す説明図である。動きベクトルMV=(mvx, mvy)は、符号化対象ブロックに対する参照ピクチャの再構築画像ブロックの並進移動量を示す。インター予測は、参照ピクチャの再構築画像ブロックに基づいて(必要であれば画素補間を用いて)、インター予測信号を生成する。以下、フレーム間予測に基づいて符号化されたCUをインターCUと呼ぶ。
 本実施形態では、映像符号化装置は、インター予測として、図2に示された通常の動き補償予測と、上述したブロック単位アフィン変換動き補償予測とを利用できる。通常の動き補償予測であるのかブロック単位アフィン変換動き補償予測であるのかは、インターCUがブロック単位アフィン変換動き補償予測に基づくか否を示すinter_affine_flag シンタクスによってシグナリングされる。
 イントラCUのみで符号化されたフレームはIフレーム(または、Iピクチャ)と呼ばれる。イントラCUだけでなくインターCUも含めて符号化されたフレームはPフレーム(または、Pピクチャ)と呼ばれる。ブロックのインター予測に1枚の参照ピクチャだけでなく、さらに同時に2枚の参照ピクチャを用いるインターCUを含めて符号化されたフレームはBフレーム(または、Bピクチャ)と呼ばれる。
 なお、1枚の参照ピクチャを用いるインター予測は片方向予測と呼ばれ、同時に2枚の参照ピクチャを用いるインター予測は双方向予測と呼ばれる。
 図3は、フレームの空間解像度がCIF (CIF: Common Intermediate Format )、CTU サイズが64の場合のフレームt のCTU 分割例、および、フレームt に含まれる第8のCTU (CTU8)のCU分割例を示す説明図である。
 図4は、CTU8のCU分割例に対応する四分木構造を示す説明図である。各CTU の四分木構造、すなわち、CU分割形状は、非特許文献1に記載されているcu_split_flag (非特許文献1では、split_cu_flag と記載されている。)シンタクスによってシグナリングされる。
 以上で、イントラ予測、フレーム間予測、およびCTU とCUのシグナリングの説明を終了する。
 次に、図5を参照して、ディジタル化された映像の各フレームの各CUを入力画像としてビットストリームを出力する、本実施形態の映像符号化装置の構成と動作を説明する。図5は、映像符号化装置の実施形態を示すブロック図である。
 図5に示す映像符号化装置は、変換/量子化器101、エントロピー符号化器102、逆量子化/逆変換器103、バッファ104、予測器105、および多重化器106を備える。
 予測器105は、CTU 毎に、符号化コストを最小とするCU分割形状を決定するcu_split_flag シンタクス値を決定する。
 続いて、予測器105は、CU毎に、符号化コストを最小とする、イントラ予測/インター予測を決定するpred_mode_flagシンタクス値、インターCUがブロック単位アフィン変換動き補償予測に基づくか否を示すinter_affine_flag シンタクス値、イントラ予測方向(処理対象ブロックの動き補償予測のイントラ予測方向)、および動きベクトルを決定する。なお、予測器105は、ブロック単位アフィン変換動き補償予測制御器1050を含む。また、以下、処理対象ブロックの動き補償予測の予測方向を、単に、「予測方向」という。
 そして、予測器105は、決定したcu_split_flag シンタクス値、pred_mode_flagシンタクス値、inter_affine_flag シンタクス値、イントラ予測方向、および動きベクトルなどに基づいて、各CUの入力画像信号に対する予測信号を生成する。予測信号は、上述したイントラ予測またはフレーム間予測に基づいて生成される。
 なお、フレーム間予測は、inter_affine_flag=0の時、通常の動き補償予測となり、そうでないとき(inter_affine_flag=1のとき)、ブロック単位アフィン変換動き補償予測となる。
 変換/量子化器101は、入力画像信号から予測信号を減じた予測誤差画像を周波数変換する。
 さらに、変換/量子化器101は、周波数変換した予測誤差画像(周波数変換係数)を量子化する。以下、量子化された周波数変換係数を変換量子化値と呼ぶ。
 エントロピー符号化器102は、予測器105が決定したcu_split_flag シンタクス値、pred_mode_flagシンタクス値、inter_affine_flag シンタクス値、イントラ予測方向の差分情報、動きベクトルの差分情報、および変換量子化値をエントロピー符号化する。
 逆量子化/逆変換器103は、変換量子化値を逆量子化する。さらに、逆量子化/逆変換器103は、逆量子化した周波数変換係数を逆周波数変換する。逆周波数変換された再構築予測誤差画像は、予測信号が加えられて、バッファ104に供給される。バッファ104は、再構築画像を格納する。
 多重化器106は、エントロピー符号化器102から供給されるエントロピー符号化データをビットストリームとして多重化出力する。
 なお、ビットストリームには、映像サイズ、予測器105が決定した予測方向、予測器105が決定した動きベクトルの差分(特に、ブロックの制御点の動きベクトルの差分)が含まれている。
 次に、ブロック単位アフィン変換動き補償予測制御器1050の動作を説明する。
 図6は、ブロック単位アフィン変換動き補償予測制御器1050の構成例を示すブロック図である。図6に示す例では、ブロック単位アフィン変換動き補償予測制御器1050は、制御点動きベクトル設定部1051と制御付サブブロック動きベクトル導出部1052とを含む。
 図7は、図22に示された処理対象ブロック(図7(A)参照)の制御点(図7(B)における丸印)に片方向動きベクトルが設定され、さらに、処理対象ブロックの動きベクトル場として各サブブロックの動きベクトルが導出される様子(図7(C)参照)を示す説明図である。
 制御点動きベクトル設定部1051は、図23に示された制御点動きベクトル設定部5051と同様に、入力される2つの動きベクトルを、左上と右上の制御点の動きベクトル(図7(B)おけるvTL とvTR )として設定する。
 なお、処理対象ブロック内の位置(x,y){0≦x≦w-1, 0≦y≦h-1}の動きベクトルは、上記の(1)式および(2)式のように表現される。
 次に、図8のフローチャートを参照して、ブロック単位アフィン変換動き補償予測制御器1050の動作を説明する。
 制御点動きベクトル設定部1051は、図23に示された制御点動きベクトル設定部5051と同様に、処理対象ブロックの制御点に外部から入力される動きベクトルを割り当てる(ステップS1001)。制御付サブブロック動きベクトル導出部1052は、映像サイズが所定サイズよりも大きいか否かを判断する(ステップS1003)。所定サイズは、一例として、4Kサイズ(picWidth=4096(または、3840)、picHeight=2160)や8Kサイズ(picWidth=7680 、picHeight=4320)であるが、ユーザが、映像符号化装置の性能等に応じて適宜設定可能である。
 映像サイズが所定サイズよりも大きいとき、制御付サブブロック動きベクトル導出部1052は、サブブロックサイズとして、図23に示された4×4画素サイズよりも大きな8×8画素を設定する。つまり、制御付サブブロック動きベクトル導出部1052は、S=8 とする(ステップS1004)。
 映像サイズが所定サイズ以下であるとき、制御付サブブロック動きベクトル導出部1052は、サブブロックサイズを、図23に示された4×4画素サイズと同じにする。つまり、制御付サブブロック動きベクトル導出部1052は、S=4 とする(ステップS1005)。
 制御付サブブロック動きベクトル導出部1052は、図23に示されたサブブロック動きベクトル導出部5052と同様に、処理対象ブロック内の位置の動きベクトル表現に基づいて、各サブブロックについてサブブロック内の中央位置の動きベクトルを計算し、計算された動きベクトルをサブブロック動きベクトルとする(ステップS1002)。
 上述したように、予測器105は、決定した動きベクトルなどに基づいて、各CUの入力画像信号に対する予測信号を生成する。
 映像サイズが所定サイズよりも大きい場合、図23(C)に示されたサブブロックのL0方向の動きベクトル本数と図7(C)に示されたサブブロックのL0方向の動きベクトル本数との違いから分かるように、本実施形態の映像符号化装置における処理対象ブロックに対するブロック単位アフィン変換動き補償予測の動きベクトル本数は、従来の映像符号化装置における動きベクトル本数よりも少なくなる。図7に示された例では、動きベクトル本数は1/4になる。従って、本実施形態の映像符号化装置は、所定サイズよりも大きい映像サイズを符号化の対象とする場合に、従来のブロック単位アフィン変換動き補償予測制御器を使用する映像符号化装置に比べて、参照ピクチャに関するメモリアクセス量を削減できる。
実施形態2.
 次に、図9を参照して、映像符号化装置等からのビットストリームを入力として復号された映像フレームを出力する映像復号装置の構成と動作を説明する。本実施形態の映像復号装置は,第1の実施形態の映像符号化装置に対応する。すなわち、本実施形態の映像復号装置は、第1の実施形態の映像符号化装置における手法と共通の手法でメモリアクセス量削減のための制御を行う。
 本実施形態の映像復号装置は、多重化解除器201、エントロピー復号器202、逆量子化/逆変換器203、予測器204、バッファ205を備える。
 多重化解除器201は、入力されるビットストリームを多重化解除して、エントロピー符号化された映像ビットストリームを抽出する。
 エントロピー復号器202は、映像ビットストリームをエントロピー復号する。エントロピー復号器202は、符号化パラメータおよび変換量子化値をエントロピー復号し、逆量子化/逆変換器203および予測器204に供給する。
 さらに、エントロピー復号器202は、cu_split_flag 、pred_mode_flag、inter_affine_flag 、イントラ予測方向、および動きベクトルを予測器204に供給する。
 逆量子化/逆変換器203は、変換量子化値を逆量子化する。さらに、逆量子化/逆変換器203は、逆量子化した周波数変換係数を逆周波数変換する。
 逆周波数変換後、予測器204は、エントロピー復号されたcu_split_flag 、pred_mode_flag、inter_affine_flag 、イントラ予測方向、および動きベクトルに基づいて、バッファ205に格納された再構築画像を用いて予測信号を生成する。予測信号は、上述したイントラ予測またはフレーム間予測に基づいて生成される。
 フレーム間予測は、inter_affine_flag=0 のとき、通常の動き補償予測となり、そうでないとき(inter_affine_flag=1 のとき)、ブロック単位アフィン変換動き補償予測となる。
 予測器204は、ブロック単位アフィン変換動き補償予測制御器2040を含む。ブロック単位アフィン変換動き補償予測制御器2040は、第1の実施形態の映像符号化装置におけるブロック単位アフィン変換動き補償予測制御器1050と同様に、制御点の動きベクトルを設定した後、映像サイズが所定サイズよりも大きいか否かに応じてサブブロックサイズを決定する。そして、ブロック単位アフィン変換動き補償予測制御器2040は、処理対象ブロック内の位置の動きベクトル表現に基づいて、各サブブロックについてサブブロック内の中央位置の動きベクトルを計算し、計算された動きベクトルをサブブロック動きベクトルとする。すなわち、ブロック単位アフィン変換動き補償予測制御器2040は、制御点動きベクトル設定部1051および制御付サブブロック動きベクトル導出部1052と同様に動作するブロックを含む。
 予測信号生成後、逆量子化/逆変換器203で逆周波数変換された再構築予測誤差画像は、予測器204から供給される予測信号が加えられて、再構築画像としてバッファ205に供給される。
 そして、バッファ205に格納された再構築画像がデコード画像(デコード映像)として出力される。
 映像サイズが所定サイズよりも大きい場合、図23(C)に示されたサブブロックのL0方向の動きベクトル本数と図7(C)に示されたサブブロックのL0方向の動きベクトル本数との違いから分かるように、本実施形態の映像復号装置における処理対象ブロックに対するブロック単位アフィン変換動き補償予測の動きベクトル本数は、従来の映像復号装置における動きベクトル本数よりも少なくなる。図7に示された例では、動きベクトル本数は1/4になる。従って、本実施形態の映像復号装置は、所定サイズよりも大きい映像サイズが復号の対象とされる場合に、従来のブロック単位アフィン変換動き補償予測制御器を使用する映像復号装置に比べて、参照ピクチャに関するメモリアクセス量を削減できる。
実施形態3.
 第1の実施形態の映像符号化装置および第2の実施形態の映像復号装置は、ブロック単位アフィン変換動き補償予測制御器1050,2040が参照ピクチャに関するメモリアクセス量が多いと判断したとき、サブブロックサイズを大きくしてメモリアクセス量を削減した。
 サブブロックサイズ大きくする代わりに、図10に示されるように、サブブロック動きベクトルを整数精度のベクトルにする(動きベクトルが指す画素位置を整数位置に変える。)ことによって、メモリアクセス量を減らすこともできる。画素位置を整数位置に変えることによって、小数画素位置の補間処理がなくなって、補間処理分のメモリアクセス量が削減されるからである。
 図10は、第3の実施形態の映像符号化装置およびそれに対応する映像復号装置において、図22に示された処理対象ブロック(図10(A)参照)の制御点(図10(B)における丸印)に片方向動きベクトルが設定され、さらに、処理対象ブロックの動きベクトル場として各サブブロックの動きベクトルが導出される様子(図10(C)参照)を示す説明図である。
 なお、第3の実施形態の映像符号化装置およびそれに対応する映像復号装置の全体的な構成は、図5および図9に示された構成と同じでよい。
 図11のフローチャートを参照して、第3の実施形態の映像符号化装置におけるブロック単位アフィン変換動き補償予測制御器1050の動作を説明する。なお、映像復号装置におけるブロック単位アフィン変換動き補償予測制御器2040も、ブロック単位アフィン変換動き補償予測制御器1050と同様に動作する。
 制御点動きベクトル設定部1051は、図23に示された制御点動きベクトル設定部5051と同様に、処理対象ブロックの制御点に外部から入力される動きベクトルを割り当てる(ステップS1001)。制御付サブブロック動きベクトル導出部1052は、図23に示されたサブブロック動きベクトル導出部5052と同様に、各サブブロックについてサブブロック内の中央位置の動きベクトルを計算し、計算された動きベクトルをサブブロック動きベクトルとする(ステップS1002)。なお、動きベクトルは、小数精度のベクトルである。
 そして、制御付サブブロック動きベクトル導出部1052は、映像サイズが所定サイズよりも大きいか否かを判断する(ステップS1003)。映像サイズが所定サイズ以下である場合には、処理を終了する。この場合、動きベクトルv は、小数精度のベクトルのままである。
 映像サイズが所定サイズよりも大きいとき、制御付サブブロック動きベクトル導出部1052は、各サブブロックの動きベクトルv を整数精度のベクトルに丸める(ステップS2001)。
 定式的には、動きベクトルv は、以下のように表される。
 vINT(x) = floor(v(x), prec)
 vINT(y) = floor(v(x), prec)                    (3)
 floor(a,b)は、変数a に対して、最も近い値の、bの倍数を返す関数である。precは、動きベクトルの画素精度である。例えば、動きベクトルの画素精度が1/16であれば、prec=16である。
 そして、予測器105(映像復号装置では、予測器204)は、決定した動きベクトルなどに基づいて、各CUの入力画像信号に対する予測信号を生成する。
実施形態4.
 第1の実施形態の映像符号化装置および第2の実施形態の映像復号装置は、ブロック単位アフィン変換動き補償予測制御器1050,2040が参照ピクチャに関するメモリアクセス量が多いと判断したとき、サブブロックサイズを大きくしてメモリアクセス量を削減した。
 サブブロックサイズ大きくする代わりに、双方向予測の処理対象ブロックの動きベクトルを強制的に片方向にすることによって、メモリアクセス量を減らすこともできる。
 図12は、双方向予測における参照ピクチャ、処理対象ピクチャおよび処理対象ブロックの位置関係の一例を示す説明図である。
 図13は、一般的なブロック単位アフィン変換動き補償予測と第4の実施形態との比較のための説明図である。具体的には、図13は、一般的なブロック単位アフィン変換動き補償予測制御器(図23に示された制御点動きベクトル設定部5051およびサブブロック動きベクトル導出部5052を有する。)が、図12に示された処理対象ブロック(図13(A)参照)の制御点(図13(B)における丸印)にそれぞれの方向の動きベクトルを設定し、さらに、処理対象ブロックの動きベクトル場として各サブブロックの動きベクトルを導出する様子(図13(C)参照)を示す説明図である。
 図14は、第4の実施形態の映像符号化装置におけるブロック単位アフィン変換動き補償予測制御器1050が、図12に示された処理対象ブロック(図14(A)参照)の制御点(図14(B)における丸印)にそれぞれの方向の動きベクトルを設定し、さらに、処理対象ブロックの動きベクトル場として各サブブロックの動きベクトルを導出する様子(図14(C)参照)を示す説明図である。
 なお、第4の実施形態の映像符号化装置およびそれに対応する映像復号装置の全体的な構成は、図5および図9に示された構成と同じでよい。
 図15のフローチャートを参照して、第4の実施形態の映像符号化装置におけるブロック単位アフィン変換動き補償予測制御器1050の動作を説明する。なお、映像復号装置におけるブロック単位アフィン変換動き補償予測制御器2040も、ブロック単位アフィン変換動き補償予測制御器1050と同様に動作する。
 制御点動きベクトル設定部1051は、図23に示された制御点動きベクトル設定部5051と同様に、処理対象ブロックの制御点に外部から入力される動きベクトルを割り当てる(ステップS1001)。制御付サブブロック動きベクトル導出部1052は、図23に示されたサブブロック動きベクトル導出部5052と同様に、各サブブロックについてサブブロック内の中央位置の動きベクトルを計算し、計算された動きベクトルをサブブロック動きベクトルとする(ステップS1002)。
 制御付サブブロック動きベクトル導出部1052は、映像サイズが所定サイズよりも大きいか否かを判断する(ステップS1003)。映像サイズが所定サイズ以下である場合には、処理を終了する。この場合、動きベクトルは、双方向ベクトルであることがある。
 映像サイズが所定サイズよりも大きいとき、制御付サブブロック動きベクトル導出部1052は、L1方向のサブブロック動きベクトルを無効にして、各サブブロックの動きベクトルv を片方向に制約する(ステップS2002)。
 そして、予測器105(映像復号装置では、予測器204)は、決定した動きベクトルなどに基づいて、各CUの入力画像信号に対する予測信号を生成する。
 なお、制御付サブブロック動きベクトル導出部1052は、L1方向のサブブロック動きベクトルを無効にする代わりに、L0方向のサブブロック動きベクトルを無効にしてもよい。さらに、映像符号化装置は、無効にする予測方向に関する情報のシンタクスをビットストリームに多重化し、映像復号装置が、ビットスリームから当該情報のシンタクスを抽出し、得られた予測方向の動きベクトルを無効化してもよい。
 図13(C)に示されたサブブロックの動きベクトル本数と図14(C)に示されたサブブロックの動きベクトル本数との違いから分かるように、本実施形態の映像符号化装置および映像復号装置における処理対象ブロックに対するブロック単位アフィン変換動き補償予測の動きベクトル本数は、従来の映像符号化装置および映像復号装置におけるブロック単位アフィン変換動き補償予測の動きベクトル本数よりも少なくなる(具体的には、1/2)。つまり、本実施形態の映像符号化装置および映像復号装置は、所定サイズよりも大きい映像サイズを符号化の対象とする場合に、従来のブロック単位アフィン変換動き補償予測制御器を使用する映像符号化処理および映像復号処理に比べて、参照ピクチャに関するメモリアクセス量を削減できる。
 また、上記の説明から明らかなように、双方向予測を使わないPピクチャの全てのブロック、Bピクチャにおいて双方向予測を使わない(片方向予測の)ブロックでは、本実施形態における処理対象ブロックに対するブロック単位アフィン変換動き補償予測の動きベクトル本数は、一般的なブロック単位アフィン変換動き補償予測を使用する場合と同じである。従って、本実施形態におけるブロック単位アフィン変換動き補償予測は、双方向予測を用いるブロックのみに適用するように制約されてもよい。
実施形態5.
 上記の各実施形態の映像符号化装置および映像復号装置では、ブロック単位アフィン変換動き補償予測制御器1050,2040が映像サイズに基づいて参照ピクチャに関するメモリアクセス量が多いか否かを判断し、参照ピクチャに関するメモリアクセス量が多いと判断したとき、メモリアクセス量が削減されるようにサブブロックの動きベクトルを導出した。
 しかし、ブロック単位アフィン変換動き補償予測制御器1050は、映像サイズに基づいて判断する代わりに、処理対象ブロックの予測方向に基づいて、参照ピクチャに関するメモリアクセス量が多いか否かを判断してもよい。
 具体的には、制御付サブブロック動きベクトル導出部1052は、ステップS1003の判断(図8、図11および図15参照)に代えて、処理対象ブロックの予測方向が双方向予測であるとき、参照ピクチャに関するメモリアクセス量が多いと判断する。そうでないとき(処理対象ブロックの予測方向が片方向予測のとき)、参照ピクチャに関するメモリアクセス量が多いと判断しない。
 なお、映像復号装置におけるブロック単位アフィン変換動き補償予測制御器2040も、ブロック単位アフィン変換動き補償予測制御器1050と同様に動作する。
 また、第5の実施形態の映像符号化装置およびそれに対応する映像復号装置の全体的な構成は、図5および図9に示された構成と同じでよい。
実施形態6.
 上記の各実施形態の映像符号化装置および映像復号装置では、ブロック単位アフィン変換動き補償予測制御器1050,2040が映像サイズまたは予測方向に基づいて参照ピクチャに関するメモリアクセス量が多いか否かを判断し、参照ピクチャに関するメモリアクセス量が多いと判断したとき、メモリアクセス量が削減されるようにサブブロックの動きベクトルを導出した。
 しかし、ブロック単位アフィン変換動き補償予測制御器1050は、映像サイズまたは予測方向に基づいて判断する代わりに、処理対象ブロックの左上の制御点の動きベクトルおよび右上の制御点の動きベクトルであるvTL とvTR との関係に基づいて、参照ピクチャに関するメモリアクセス量が多いか否かを判断してもよい。
 具体的には、制御付サブブロック動きベクトル導出部1052は、ステップS1003の判断(図8、図11および図15参照)に代えて、処理対象ブロックのvTL とvTR の差分が所定値よりも大きいときに、参照ピクチャに関するメモリアクセス量が多いと判断する。そうでないとき(差分が所定値以下であるとき)、参照ピクチャに関するメモリアクセス量が多いと判断しない。
 なお、映像復号装置におけるブロック単位アフィン変換動き補償予測制御器2040も、ブロック単位アフィン変換動き補償予測制御器1050と同様に動作する。
 また、第6の実施形態の映像符号化装置およびそれに対応する映像復号装置の全体的な構成は、図5および図9に示された構成と同じでよい。
実施形態7.
 第1の実施形態の映像符号化装置および第2の映像復号装置は、ブロック単位アフィン変換動き補償予測制御器1050,2040が映像サイズに基づいて参照ピクチャに関するメモリアクセス量が多いか否かを判断し、参照ピクチャに関するメモリアクセス量が多いと判断したとき、サブブロックサイズを大きくしてメモリアクセス量を削減した。
 しかし、ブロック単位アフィン変換動き補償予測制御器1050,2040は、映像サイズに基づく判断を実行せず、代わりに、常に用いるサブブロックサイズS をシンタクスに基づいて制御してもよい。つまり、映像符号化装置において多重化器106がサブブロックサイズS に関する情報を示すlog2_affine_subblock_size_minus2シンタクスをビットストリームに多重化し、映像復号装置において多重化解除器201がビットスリームから当該情報のシンタクスを抽出および復号して得たサブブロックサイズS を予測器204が使用するようにしてもよい。
 log2_affine_subblock_size_minus2シンタクスの値とサブブロックサイズS の関係は、以下のように定式的に表現される。
 S = 1 << ( log2_affine_subblock_size_minus2 + 2 )       (4)
 <<は、左方向のビットシフト演算を示す。
 上記のような制御を行う第7の実施形態の実施形態の映像符号化装置におけるブロック単位アフィン変換動き補償予測制御器1050の動作を図16のフローチャートを参照して説明する。なお、映像復号装置におけるブロック単位アフィン変換動き補償予測制御器2040も、ブロック単位アフィン変換動き補償予測制御器1050と同様に動作する。
 制御点動きベクトル設定部1051は、図23に示された制御点動きベクトル設定部5051と同様に、処理対象ブロックの制御点に外部から入力される動きベクトルを割り当てる(ステップS1001)。
 制御付サブブロック動きベクトル導出部1052は、(4)式の関係式に基づいて、log2_affine_subblock_size_minus2シンタクスの値からサブブロックサイズS を決定する(ステップS2003)。
 制御付サブブロック動きベクトル導出部1052は、図23に示されたサブブロック動きベクトル導出部5052と同様に、各サブブロックについてサブブロック内の中央位置の動きベクトルを計算し、計算された動きベクトルをサブブロック動きベクトルとする(ステップS1002)。ただし、本実施形態では、制御付サブブロック動きベクトル導出部1052は、ステップS2002の処理で決定されたサブブロックサイズS のサブブロックについて、サブブロック動きベクトルを計算する。
 そして、予測器105(映像復号装置では、予測器204)は、決定した動きベクトルなどに基づいて、各CUの入力画像信号に対する予測信号を生成する。
 なお、第7の実施形態の映像符号化装置およびそれに対応する映像復号装置の全体的な構成は、図5および図9に示された構成と同じでよい。
 本実施形態では、映像サイズの判断処理が不要になるので、ブロック単位アフィン変換動き補償予測制御器1050,2040の構成が簡素化される。
実施形態8.
 第3の実施形態の映像符号化装置および映像復号装置は、ブロック単位アフィン変換動き補償予測制御器1050,2040が映像サイズに基づいて参照ピクチャに関するメモリアクセス量が多いか否かを判断し、参照ピクチャに関するメモリアクセス量が多いと判断したとき、サブブロック動きベクトルを整数精度にすることによってメモリアクセス量を削減した。
 しかし、ブロック単位アフィン変換動き補償予測制御器1050,2040は、サブブロック動きベクトルを整数精度にするか否かを、動きベクトルを整数精度にするか否かを示すシンタクスに基づいて判断してもよい。
 すなわち、映像符号化装置において多重化器106が整数精度にするか否か(整数精度が有効か否か)に関する情報を示すenable_affine_sublock_integer_mv_flag シンタクスをビットストリームに多重化し、映像復号装置において多重化解除器201がビットスリームから当該情報のシンタクスを抽出および復号して得た情報を予測器204が使用するようにしてもよい。
 なお、enable_affine_sublock_integer_mv_flag シンタクスの値が1のとき、整数精度を行い(整数精度化が有効)、そうでないとき(enable_affine_sublock_integer_mv_flag シンタクスの値が0)、整数精度化を行わない(整数精度化が無効)とする。
 上記のような制御を行う第8の実施形態の実施形態の映像符号化装置におけるブロック単位アフィン変換動き補償予測制御器1050の動作を図17のフローチャートを参照して説明する。なお、映像復号装置におけるブロック単位アフィン変換動き補償予測制御器2040も、ブロック単位アフィン変換動き補償予測制御器1050と同様に動作する。
 制御点動きベクトル設定部1051は、図23に示された制御点動きベクトル設定部5051と同様に、処理対象ブロックの制御点に外部から入力される動きベクトルを割り当てる(ステップS1001)。
 制御付サブブロック動きベクトル導出部1052は、図23に示されたサブブロック動きベクトル導出部5052と同様に、各サブブロックについてサブブロック内の中央位置の動きベクトルを計算し、計算された動きベクトルをサブブロック動きベクトルとする(ステップS1002)。
 制御付サブブロック動きベクトル導出部1052は、enable_affine_sublock_integer_mv_flag から、サブブロック動きベクトルを整数精度にするか否か(整数精度が有効か否か)を判断する(ステップS3001)。整数精度が有効でない場合には、処理を終了する。
 整数精度が有効であるとき、制御付サブブロック動きベクトル導出部1052は、各サブブロックの動きベクトルv を整数精度のベクトルに丸める(ステップS2001)。なお、整数精度の動きベクトルv は、上記の(3)式のように表される。
 そして、予測器105(映像復号装置では、予測器204)は、決定した動きベクトルなどに基づいて、各CUの入力画像信号に対する予測信号を生成する。
 なお、第8の実施形態の映像符号化装置およびそれに対応する映像復号装置の全体的な構成は、図5および図9に示された構成と同じでよい。
実施形態9.
 第4の実施形態の映像符号化装置および映像復号装置は、ブロック単位アフィン変換動き補償予測制御器1050,2040が映像サイズに基づいて参照ピクチャに関するメモリアクセス量が多いか否かを判断し、参照ピクチャに関するメモリアクセス量が多いと判断したとき、双方向予測の処理対象ブロックの動きベクトルを強制的に片方向の動きベクトルにすることによってメモリアクセス量を削減した。
 しかし、ブロック単位アフィン変換動き補償予測制御器1050,2040は、双方向予測の処理対象ブロックの動きベクトルを強制的に片方向の動きベクトルにするか否かを、動きベクトルを整数精度にするか否かを示すシンタクスに基づいて判断してもよい。
 すなわち、映像符号化装置において多重化器106が強制的に片方向にするか否か(片方向化が有効か否か)に関する情報を示すdisable_affine_sublock_bipred_mv_flag シンタクスをビットストリームに多重化し、映像復号装置において多重化解除器201がビットスリームから当該情報のシンタクスを抽出および復号して得た情報を予測器204が使用するようにしてもよい。
 なお、disable_affine_sublock_bipred_mv_flag シンタクスの値が1のとき、強制的な片方向化を行わず(片方向化が無効)、そうでないとき(disable_affine_sublock_bipred_mv_flag シンタクスの値が0)、強制的な片方向化を行う(片方向化が有効)とする。
 上記のような制御を行う第9の実施形態の実施形態の映像符号化装置におけるブロック単位アフィン変換動き補償予測制御器1050の動作を図18のフローチャートを参照して説明する。なお、映像復号装置におけるブロック単位アフィン変換動き補償予測制御器2040も、ブロック単位アフィン変換動き補償予測制御器1050と同様に動作する。
 制御点動きベクトル設定部1051は、図23に示された制御点動きベクトル設定部5051と同様に、処理対象ブロックの制御点に外部から入力される動きベクトルを割り当てる(ステップS1001)。
 制御付サブブロック動きベクトル導出部1052は、図23に示されたサブブロック動きベクトル導出部5052と同様に、各サブブロックについてサブブロック内の中央位置の動きベクトルを計算し、計算された動きベクトルをサブブロック動きベクトルとする(ステップS1002)。
 制御付サブブロック動きベクトル導出部1052は、disable_affine_sublock_bipred_mv_flagから、サブブロック動きベクトルを片方向にするか否か(片方向化が有効か否か)を判断する(ステップS4001)。片方向化が有効でない場合には、処理を終了する。
 片方向化が有効である場合には、制御付サブブロック動きベクトル導出部1052は、L1方向のサブブロック動きベクトルを無効にして、各サブブロックの動きベクトルv を片方向に制約する(ステップS2001)。
 そして、予測器105(映像復号装置では、予測器204)は、決定した動きベクトルなどに基づいて、各CUの入力画像信号に対する予測信号を生成する。
 なお、第9の実施形態の映像符号化装置およびそれに対応する映像復号装置の全体的な構成は、図5および図9に示された構成と同じでよい。
 また、第4の実施形態の場合と同様、制御付サブブロック動きベクトル導出部1052は、L1方向のサブブロック動きベクトルを無効にする代わりに、L0方向のサブブロック動きベクトルを無効にしてもよい。さらに、映像符号化装置は、無効にする予測方向に関する情報のシンタクスをビットストリームに多重化し、映像復号装置が、ビットスリームから当該情報のシンタクスを抽出し、得られた予測方向の動きベクトルを無効化してもよい。
 以上に説明したように、上記の各実施形態におけるブロック単位アフィン変換動き補償予測では、制御付サブブロック動きベクトル導出部が、参照ピクチャに関するメモリアクセス量が多いか否かを判断し、メモリアクセス量が多いと判断したとき、参照ピクチャに関するメモリアクセス量が削減されるようにサブブロック動きベクトルを導出する。
 参照ピクチャに関するメモリアクセス量が多いか否かの判断には、映像サイズ、予測方向(処理対象ブロックの動き補償予測の予測方向)、および、処理対象ブロックの制御点の動きベクトルの差分のうち少なくとも1つが利用される。
 また、参照ピクチャに関するメモリアクセス量の削減には、以下のような、動きベクトルの本数制限、および動きベクトルの精度低下のうち少なくとも1つが利用される。
 動きベクトル本数制限:サブブロックのサイズを大きくするか、予測方向を片方向にするか、または、それらの組み合わせ
 動きベクトル精度低下:サブブロックの動きベクトルを整数精度の動きベクトルに丸める
 なお、上記の各実施形態は単独で実現されてもよいが、2つ以上の実施形態が適宜組み合わされてもよい。
 具体的には、上記の各実施形態の映像符号化装置および映像復号装置では、メモリアクセス量が多いか否かを判断するときに、映像サイズ、処理対象ブロックの予測方向、または、処理対象ブロックの制御点の動きベクトルの差分が用いられたが、それらの3つの要素を任意に組み合わせて判断してもよい。
 また、上記の各実施形態の映像符号化装置および映像復号装置では、メモリアクセス量を削減する際に、サブブロックのサイズを大きくするか、サブブロック動きベクトルを整数精度にするか、または、サブブロック動きベクトルを片方向に限定したが、それらの3つの手法を任意に組み合わせてもよい。
 なお、上記の各実施形態を、ハードウェアで構成することも可能であるが、コンピュータプログラムにより実現することも可能である。
 図19に示す情報処理システムは、プロセッサ1001、プログラムメモリ1002、映像データを格納するための記憶媒体1003およびビットストリームを格納するための記憶媒体1004を備えている。記憶媒体1003と記憶媒体1004とは、別個の記憶媒体であってもよいし、同一の記憶媒体からなる記憶領域であってもよい。記憶媒体として、ハードディスク等の磁気記憶媒体を用いることができる。
 図19に示された情報処理システムにおいて、プログラムメモリ1002には、図5に示された各ブロック(バッファのブロックを除く)、または図9に示された各ブロック(バッファのブロックを除く)の機能を実現するためのプログラムが格納される。そして、プロセッサ1001は、プログラムメモリ1002に格納されているプログラムに従って処理を実行することによって、上記の実施形態の映像符号化装置または映像復号装置の機能を実現する。
 図20は、映像符号化装置の主要部を示すブロック図である。図20に示すように、映像符号化装置10は、映像サイズ、ブロックの予測方向、ブロックの制御点の動きベクトルの差分のうちの少なくとも1つを用いて、ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも1つを制御するブロック単位アフィン変換動き補償予測制御部11(実施形態のブロック単位アフィン変換動き補償予測制御器1050に対応)を備える。
 図21は、映像復号装置の主要部を示すブロック図である。図21に示すように、映像復号装置20は、映像サイズ、ブロックの予測方向、ブロックの制御点の動きベクトルの差分のうちの少なくとも1つを用いて、ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも1つを制御するブロック単位アフィン変換動き補償予測制御部21(実施形態のブロック単位アフィン変換動き補償予測制御器2040に対応)を備える。
 上記の実施形態の一部または全部は以下の付記のようにも記載されうるが、本発明の構成は以下の構成に限定されない。
(付記1)ブロックにおける制御点の動きベクトルを用いてサブブロックの動きベクトルを計算する過程を含むブロック単位アフィン変換動き補償予測を用いて映像符号化を行う映像符号化装置であって、
 映像サイズ、ブロックの予測方向、ブロックの制御点の動きベクトルの差分のうちの少なくとも1つを用いて、前記ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも1つを制御するブロック単位アフィン変換動き補償予測制御手段
 を備えることを特徴とする映像符号化装置。
(付記2)前記ブロック単位アフィン変換動き補償予測制御手段は、サブブロックのブロックサイズを制御する場合にはサブブロックのブロックサイズを大きくし、予測方向を制御する場合には予測方向を片方向に制限し、動きベクトル精度を制御する場合にはサブブロックの動きベクトルを整数精度の動きベクトルに丸める
 付記1の映像符号化装置。
(付記3)ブロックにおける制御点の動きベクトルを用いてサブブロックの動きベクトルを計算する過程を含むブロック単位アフィン変換動き補償予測を用いて映像復号を行う映像復号装置であって、
 映像サイズ、ブロックの予測方向、ブロックの制御点の動きベクトルの差分のうちの少なくとも1つを用いて、前記ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも1つを制御するブロック単位アフィン変換動き補償予測制御手段
 を備えることを特徴とする映像復号装置。
(付記4)前記ブロック単位アフィン変換動き補償予測制御手段は、サブブロックのブロックサイズを制御する場合にはサブブロックのブロックサイズを大きくし、予測方向を制御する場合には予測方向を片方向に制限し、動きベクトル精度を制御する場合にはサブブロックの動きベクトルを整数精度の動きベクトルに丸める
 付記3の映像復号装置。
(付記5)ブロックにおける制御点の動きベクトルを用いてサブブロックの動きベクトルを計算する過程を含むブロック単位アフィン変換動き補償予測を用いて映像符号化を行う映像符号化方法であって、
 映像サイズ、ブロックの予測方向、ブロックの制御点の動きベクトルの差分のうちの少なくとも1つを用いて、前記ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも1つを制御する
 ことを特徴とする映像符号化方法。
(付記6)サブブロックのブロックサイズを制御する場合にはサブブロックのブロックサイズを大きくし、予測方向を制御する場合には予測方向を片方向に制限し、動きベクトル精度を制御する場合にはサブブロックの動きベクトルを整数精度の動きベクトルに丸める
 付記5の映像符号化方法。
(付記7)ブロックにおける制御点の動きベクトルを用いてサブブロックの動きベクトルを計算する過程を含むブロック単位アフィン変換動き補償予測を用いて映像復号を行う映像復号方法であって、
 映像サイズ、ブロックの予測方向、ブロックの制御点の動きベクトルの差分のうちの少なくとも1つを用いて、前記ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも1つを制御する
 ことを特徴とする映像復号方法。
(付記8)サブブロックのブロックサイズを制御する場合にはサブブロックのブロックサイズを大きくし、予測方向を制御する場合には予測方向を片方向に制限し、動きベクトル精度を制御する場合にはサブブロックの動きベクトルを整数精度の動きベクトルに丸める
 付記7の映像復号方法。
(付記9)ブロックにおける制御点の動きベクトルを用いてサブブロックの動きベクトルを計算する過程を含むブロック単位アフィン変換動き補償予測を用いて映像符号化を行う映像符号化装置で実行される映像符号化プログラムであって、
 コンピュータに、
 映像サイズ、ブロックの予測方向、ブロックの制御点の動きベクトルの差分のうちの少なくとも1つを用いて、前記ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも1つを制御させる
 ための映像符号化プログラム。
(付記10)コンピュータに、
 サブブロックのブロックサイズを制御する場合にはサブブロックのブロックサイズを大きくし、予測方向を制御する場合には予測方向を片方向に制限し、動きベクトル精度を制御する場合にはサブブロックの動きベクトルを整数精度の動きベクトルに丸めるための処理を実行させる
 付記9の映像符号化プログラム。
(付記11)ブロックにおける制御点の動きベクトルを用いてサブブロックの動きベクトルを計算する過程を含むブロック単位アフィン変換動き補償予測を用いて映像復号を行う映像復号装置で実行される映像復号プログラムであって、
 コンピュータに、
 映像サイズ、ブロックの予測方向、ブロックの制御点の動きベクトルの差分のうちの少なくとも1つを用いて、前記ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも1つを制御させる
 ための映像復号プログラム。
(付記12)コンピュータに、
 サブブロックのブロックサイズを制御する場合にはサブブロックのブロックサイズを大きくし、予測方向を制御する場合には予測方向を片方向に制限し、動きベクトル精度を制御する場合にはサブブロックの動きベクトルを整数精度の動きベクトルに丸めるための処理を実行させる
 付記11の映像復号プログラム。
(付記13)付記5または付記6の映像符号化方法を実現するための映像符号化プログラム。
(付記14)付記7または付記8の映像復号方法を実現するための映像復号プログラム。
 この出願は、2017年10月3日に出願された日本特許出願2017-193502を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 10   映像符号化装置
 11   ブロック単位アフィン変換動き補償予測制御部
 20   映像復号装置
 21   ブロック単位アフィン変換動き補償予測制御部
 101  変換/量子化器
 102  エントロピー符号化器
 103  逆量子化/逆変換器
 104  バッファ
 105  予測器
 106  多重化器
 201  多重化解除器
 202  エントロピー復号器
 203  逆量子化/逆変換器
 204  予測器
 205  バッファ
 1001 プロセッサ
 1002 プログラムメモリ
 1003 記憶媒体
 1004 記憶媒体 
 1050 ブロック単位アフィン変換動き補償予測制御器
 1051 制御点動きベクトル設定部
 1052 制御付サブブロック動きベクトル導出部
 2040 ブロック単位アフィン変換動き補償予測制御器

Claims (10)

  1.  ブロックにおける制御点の動きベクトルを用いてサブブロックの動きベクトルを計算する過程を含むブロック単位アフィン変換動き補償予測を用いて映像符号化を行う映像符号化装置であって、
     映像サイズ、ブロックの予測方向、ブロックの制御点の動きベクトルの差分のうちの少なくとも1つを用いて、前記ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも1つを制御するブロック単位アフィン変換動き補償予測制御手段
     を備えることを特徴とする映像符号化装置。
  2.  前記ブロック単位アフィン変換動き補償予測制御手段は、サブブロックのブロックサイズを制御する場合にはサブブロックのブロックサイズを大きくし、予測方向を制御する場合には予測方向を片方向に制限し、動きベクトル精度を制御する場合にはサブブロックの動きベクトルを整数精度の動きベクトルに丸める
     請求項1記載の映像符号化装置。
  3.  ブロックにおける制御点の動きベクトルを用いてサブブロックの動きベクトルを計算する過程を含むブロック単位アフィン変換動き補償予測を用いて映像復号を行う映像復号装置であって、
     映像サイズ、ブロックの予測方向、ブロックの制御点の動きベクトルの差分のうちの少なくとも1つを用いて、前記ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも1つを制御するブロック単位アフィン変換動き補償予測制御手段
     を備えることを特徴とする映像復号装置。
  4.  前記ブロック単位アフィン変換動き補償予測制御手段は、サブブロックのブロックサイズを制御する場合にはサブブロックのブロックサイズを大きくし、予測方向を制御する場合には予測方向を片方向に制限し、動きベクトル精度を制御する場合にはサブブロックの動きベクトルを整数精度の動きベクトルに丸める
     請求項3記載の映像復号装置。
  5.  ブロックにおける制御点の動きベクトルを用いてサブブロックの動きベクトルを計算する過程を含むブロック単位アフィン変換動き補償予測を用いて映像符号化を行う映像符号化方法であって、
     映像サイズ、ブロックの予測方向、ブロックの制御点の動きベクトルの差分のうちの少なくとも1つを用いて、前記ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも1つを制御する
     ことを特徴とする映像符号化方法。
  6.  サブブロックのブロックサイズを制御する場合にはサブブロックのブロックサイズを大きくし、予測方向を制御する場合には予測方向を片方向に制限し、動きベクトル精度を制御する場合にはサブブロックの動きベクトルを整数精度の動きベクトルに丸める
     請求項5記載の映像符号化方法。
  7.  ブロックにおける制御点の動きベクトルを用いてサブブロックの動きベクトルを計算する過程を含むブロック単位アフィン変換動き補償予測を用いて映像復号を行う映像復号方法であって、
     映像サイズ、ブロックの予測方向、ブロックの制御点の動きベクトルの差分のうちの少なくとも1つを用いて、前記ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも1つを制御する
     ことを特徴とする映像復号方法。
  8.  サブブロックのブロックサイズを制御する場合にはサブブロックのブロックサイズを大きくし、予測方向を制御する場合には予測方向を片方向に制限し、動きベクトル精度を制御する場合にはサブブロックの動きベクトルを整数精度の動きベクトルに丸める
     請求項7記載の映像復号方法。
  9.  ブロックにおける制御点の動きベクトルを用いてサブブロックの動きベクトルを計算する過程を含むブロック単位アフィン変換動き補償予測を用いて映像符号化を行う映像符号化装置で実行される映像符号化プログラムであって、
     コンピュータに、
     映像サイズ、ブロックの予測方向、ブロックの制御点の動きベクトルの差分のうちの少なくとも1つを用いて、前記ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも1つを制御させる
     ための映像符号化プログラム。
  10.  ブロックにおける制御点の動きベクトルを用いてサブブロックの動きベクトルを計算する過程を含むブロック単位アフィン変換動き補償予測を用いて映像復号を行う映像復号装置で実行される映像復号プログラムであって、
     コンピュータに、
     映像サイズ、ブロックの予測方向、ブロックの制御点の動きベクトルの差分のうちの少なくとも1つを用いて、前記ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも1つを制御させる
     ための映像復号プログラム。
PCT/JP2018/032348 2017-10-03 2018-08-31 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法およびプログラム WO2019069601A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US16/650,460 US20200236385A1 (en) 2017-10-03 2018-08-31 Video coding device, video decoding device, video coding method, video decoding method and program
JP2019546576A JPWO2019069601A1 (ja) 2017-10-03 2018-08-31 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法およびプログラム
CN201880064697.5A CN111183641A (zh) 2017-10-03 2018-08-31 视频编码设备、视频解码设备、视频编码方法、视频解码方法和程序

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017193502 2017-10-03
JP2017-193502 2017-10-03

Publications (1)

Publication Number Publication Date
WO2019069601A1 true WO2019069601A1 (ja) 2019-04-11

Family

ID=65994524

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/032348 WO2019069601A1 (ja) 2017-10-03 2018-08-31 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法およびプログラム

Country Status (4)

Country Link
US (1) US20200236385A1 (ja)
JP (1) JPWO2019069601A1 (ja)
CN (1) CN111183641A (ja)
WO (1) WO2019069601A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110636301A (zh) * 2019-09-18 2019-12-31 浙江大华技术股份有限公司 仿射预测方法、计算机设备和存储装置
WO2020256600A3 (en) * 2019-09-30 2021-03-04 Huawei Technologies Co., Ltd. Affine motion model restrictions for memory bandwidth reduction
WO2020242350A3 (en) * 2019-09-30 2021-04-08 Huawei Technologies Co., Ltd. Usage of dct based interpolation filter
US11985354B2 (en) 2019-09-30 2024-05-14 Huawei Technologies Co., Ltd. Affine motion model restrictions reducing number of fetched reference lines during processing of one block row with enhanced interpolation filter

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11394993B2 (en) * 2019-03-13 2022-07-19 Tencent America LLC Method and apparatus for affine inter prediction with small subblocks

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006082690A1 (ja) * 2005-02-01 2006-08-10 Matsushita Electric Industrial Co., Ltd. 画像符号化方法および画像符号化装置
WO2007034918A1 (ja) * 2005-09-26 2007-03-29 Mitsubishi Electric Corporation 動画像符号化装置及び動画像復号装置
JP2007096540A (ja) * 2005-09-27 2007-04-12 Sanyo Electric Co Ltd 符号化方法
JP2007201558A (ja) * 2006-01-23 2007-08-09 Matsushita Electric Ind Co Ltd 動画像符号化装置および動画像符号化方法
WO2013111596A1 (ja) * 2012-01-26 2013-08-01 パナソニック株式会社 画像符号化方法、画像符号化装置、画像復号方法、画像復号装置、および画像符号化復号装置
JP2014107708A (ja) * 2012-11-28 2014-06-09 Jvc Kenwood Corp 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、及び動画像復号装置
WO2016184261A1 (zh) * 2015-05-15 2016-11-24 华为技术有限公司 视频图像编码和解码的方法、编码设备和解码设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106878730B (zh) * 2011-01-13 2020-06-26 日本电气株式会社 视频解码设备和视频解码方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006082690A1 (ja) * 2005-02-01 2006-08-10 Matsushita Electric Industrial Co., Ltd. 画像符号化方法および画像符号化装置
WO2007034918A1 (ja) * 2005-09-26 2007-03-29 Mitsubishi Electric Corporation 動画像符号化装置及び動画像復号装置
JP2007096540A (ja) * 2005-09-27 2007-04-12 Sanyo Electric Co Ltd 符号化方法
JP2007201558A (ja) * 2006-01-23 2007-08-09 Matsushita Electric Ind Co Ltd 動画像符号化装置および動画像符号化方法
WO2013111596A1 (ja) * 2012-01-26 2013-08-01 パナソニック株式会社 画像符号化方法、画像符号化装置、画像復号方法、画像復号装置、および画像符号化復号装置
JP2014107708A (ja) * 2012-11-28 2014-06-09 Jvc Kenwood Corp 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、及び動画像復号装置
WO2016184261A1 (zh) * 2015-05-15 2016-11-24 华为技术有限公司 视频图像编码和解码的方法、编码设备和解码设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ZHAO, J. ET AL.: "On affine motion vectors", JOINT VIDEO EXPLORATION TEAM (JVET) OF ITU-T SG 16 WP 3, 13 October 2016 (2016-10-13), Chengdu, CN, pages 1 - 4, XP030150411 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110636301A (zh) * 2019-09-18 2019-12-31 浙江大华技术股份有限公司 仿射预测方法、计算机设备和存储装置
WO2021052478A1 (en) * 2019-09-18 2021-03-25 Zhejiang Dahua Technology Co., Ltd. Affine predication methodandcomputing device
CN110636301B (zh) * 2019-09-18 2021-08-03 浙江大华技术股份有限公司 仿射预测方法、计算机设备和计算机可读存储介质
WO2020256600A3 (en) * 2019-09-30 2021-03-04 Huawei Technologies Co., Ltd. Affine motion model restrictions for memory bandwidth reduction
WO2020242350A3 (en) * 2019-09-30 2021-04-08 Huawei Technologies Co., Ltd. Usage of dct based interpolation filter
US11985354B2 (en) 2019-09-30 2024-05-14 Huawei Technologies Co., Ltd. Affine motion model restrictions reducing number of fetched reference lines during processing of one block row with enhanced interpolation filter

Also Published As

Publication number Publication date
JPWO2019069601A1 (ja) 2020-09-10
CN111183641A (zh) 2020-05-19
US20200236385A1 (en) 2020-07-23

Similar Documents

Publication Publication Date Title
KR102148466B1 (ko) 스킵 모드를 이용한 영상 복호화 방법 및 이러한 방법을 사용하는 장치
JP5421408B2 (ja) αチャンネル映像復号化装置、αチャンネル復号化方法及び記録媒体
JP5061179B2 (ja) 照明変化補償動き予測符号化および復号化方法とその装置
WO2019069602A1 (ja) 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法、プログラムおよび映像システム
WO2019069601A1 (ja) 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法およびプログラム
KR102518627B1 (ko) 이미지 인코딩 방법, 디코딩방법, 인코더 및 디코더
KR20080064355A (ko) 영상의 예측 부호화 방법 및 장치, 그 복호화 방법 및 장치
KR20060109278A (ko) 영상 신호의 스케일러블 인코딩 및 디코딩 방법
KR20060088461A (ko) 영상신호의 엔코딩/디코딩시에 영상블록을 위한 모션벡터를베이스 레이어 픽처의 모션벡터로부터 유도하는 방법 및장치
KR101700410B1 (ko) 인트라 모드를 이용한 쿼터 픽셀 해상도를 갖는 영상 보간 방법 및 장치
KR100682929B1 (ko) 그레이 알파채널을 포함한 영상 부호화/복호화장치 및 방법
KR20200081207A (ko) 움직임정보 표현 방법 및 이를 이용한 영상 복호화 장치
WO2022044267A1 (ja) 映像符号化装置、映像復号装置、映像符号化方法および映像復号方法
KR20180041833A (ko) 화면 내 예측에 대한 참조 모드 리스트를 사용하는 비디오 코딩 방법 및 장치
KR101810198B1 (ko) 인트라 모드를 이용한 쿼터 픽셀 해상도를 갖는 영상 보간 방법 및 장치
KR101700411B1 (ko) 인트라 모드를 이용한 쿼터 픽셀 해상도를 갖는 영상 보간 방법 및 장치
KR20190084929A (ko) 인트라 모드를 이용한 쿼터 픽셀 해상도를 갖는 영상 보간 방법 및 장치
WO2012141500A2 (ko) 스킵 모드를 이용한 영상 복호화 방법 및 이러한 방법을 사용하는 장치
KR20170140805A (ko) 인트라 모드를 이용한 쿼터 픽셀 해상도를 갖는 영상 보간 방법 및 장치

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019546576

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18864250

Country of ref document: EP

Kind code of ref document: A1