WO2018061563A1 - Dispositif de dérivation de vecteur de mouvement affinée, dispositif de génération d'image de prédiction, dispositif de décodage d'image animée, et dispositif de codage d'image animée - Google Patents

Dispositif de dérivation de vecteur de mouvement affinée, dispositif de génération d'image de prédiction, dispositif de décodage d'image animée, et dispositif de codage d'image animée Download PDF

Info

Publication number
WO2018061563A1
WO2018061563A1 PCT/JP2017/030623 JP2017030623W WO2018061563A1 WO 2018061563 A1 WO2018061563 A1 WO 2018061563A1 JP 2017030623 W JP2017030623 W JP 2017030623W WO 2018061563 A1 WO2018061563 A1 WO 2018061563A1
Authority
WO
WIPO (PCT)
Prior art keywords
affine
prediction
motion vector
unit
parameter
Prior art date
Application number
PCT/JP2017/030623
Other languages
English (en)
Japanese (ja)
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 JP2018542005A priority Critical patent/JP7026049B2/ja
Publication of WO2018061563A1 publication Critical patent/WO2018061563A1/fr

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/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/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/537Motion estimation other than block-based
    • H04N19/54Motion estimation other than block-based using feature points or meshes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • Embodiments described herein relate generally to an affine motion vector deriving device, a predicted image generating device, a moving image decoding device, and a moving image encoding device.
  • a moving image encoding device that generates encoded data by encoding the moving image, and a moving image that generates a decoded image by decoding the encoded data
  • An image decoding device is used.
  • the moving image encoding method include a method proposed in H.264 / AVC and HEVC (High-Efficiency Video Coding).
  • an image (picture) constituting a moving image is a slice obtained by dividing the image, a coding unit obtained by dividing the slice (coding unit (Coding Unit : CU)), and a hierarchical structure consisting of a prediction unit (PU) and a transform unit (TU) that are obtained by dividing a coding unit. Decrypted.
  • a predicted image is usually generated based on a local decoded image obtained by encoding / decoding an input image, and the predicted image is generated from the input image (original image).
  • a prediction residual obtained by subtraction (sometimes referred to as “difference image” or “residual image”) is encoded. Examples of the method for generating a predicted image include inter-screen prediction (inter prediction) and intra-screen prediction (intra prediction).
  • Non-Patent Document 1 the affine prediction of Non-Patent Document 1 can be cited as a moving picture encoding and decoding technique in recent years.
  • each motion vector of a plurality of sub-blocks included in the target block is referred to the motion vector of two control points.
  • the motion vectors of the sub-blocks are calculated with reference to the motion vectors of the three control points.
  • the 6-parameter affine processing contributes to the improvement of the coding efficiency as a whole compared with the 4-parameter affine processing.
  • the movement of the control points necessary for the affine processing is considered.
  • the amount of codes in vector encoding increases.
  • the motion vector calculated by applying the 6-parameter affine processing There was a first problem that the accuracy of the above would further decrease.
  • the affine motion vector deriving device for deriving the motion vector of each of the sub blocks constituting the target PU, includes a plurality of sub blocks included in the target block.
  • Each motion vector of a block is calculated with reference to a motion vector at a control point set in a reference block sharing a vertex with the target block, and at least one of the shape and size of the target block Accordingly, the motion vector of two control points is calculated to perform 4-parameter affine processing, or the motion vector of three control points is calculated to perform 6-parameter affine processing.
  • a predicted image generation apparatus provides a predicted image generation apparatus for generating a predicted image used for encoding or decoding a moving image.
  • a motion vector deriving unit and a predicted image generating unit wherein the affine motion vector deriving unit stores each motion vector of a plurality of sub-blocks included in the target block in a reference block sharing a vertex with the target block. It is calculated with reference to the motion vector at the set control point, and the four-parameter affine processing is performed by calculating the motion vector of the two control points according to at least one of the shape and size of the target block. Or the motion vector of the three control points is calculated and the six parameter affine processing is switched. Generating a predicted image by referring to the motion vector of the control points.
  • a predicted image generation apparatus provides a predicted image generation apparatus for generating a predicted image used for encoding or decoding a moving image.
  • a motion vector deriving unit and a predicted image generating unit wherein the affine motion vector deriving unit stores each motion vector of a plurality of sub-blocks included in the target block in a reference block sharing a vertex with the target block. This is calculated with reference to the motion vector at the set control point.
  • the motion vector of the two control points is calculated and the four-parameter affine processing is performed. Or the motion vector of the three control points is calculated and the six parameter affine processing is switched. Generating a predicted image by referring to the motion vector of the control points.
  • a predicted image generation device for generating a predicted image used for encoding or decoding a moving image.
  • a motion vector deriving unit and a predicted image generating unit wherein the affine motion vector deriving unit stores each motion vector of a plurality of sub-blocks included in the target block in a reference block sharing a vertex with the target block.
  • the motion vector is calculated by referring to a motion vector at a set control point, and the control point used for the 4-parameter affine process is changed according to the shape of the target block or the shape of the reference block, and the prediction
  • the image generation unit generates a predicted image by referring to the motion vector of the control point.
  • an appropriate control point can be used in the processing of the four parameter affine.
  • FIG. 1 It is a figure which shows the hierarchical structure of the data of the encoding stream which concerns on this embodiment. It is a figure which shows the pattern of PU division
  • 10 is a table showing processing for each size when min (puWidth, puHeight) is used as a value indicating the size of the target PU. It is a flowchart which shows an example of the process in which the inter prediction parameter decoding part determines the number of the control points which derive
  • surface which shows an example of a process of the affine estimation part for every size and shape of object PU.
  • FIG. 40 is a schematic diagram illustrating a configuration of the image transmission system 1 according to the present embodiment.
  • the image transmission system 1 is a system that transmits a code obtained by encoding an encoding target image, decodes the transmitted code, and displays an image.
  • the image transmission system 1 includes an image encoding device (moving image encoding device) 11, a network 21, an image decoding device (moving image decoding device) 31, and an image display device 41.
  • the image encoding device 11 receives an image T indicating a single layer image or a plurality of layers.
  • a layer is a concept used to distinguish a plurality of pictures when there are one or more pictures constituting a certain time. For example, when the same picture is encoded with a plurality of layers having different image quality and resolution, scalable encoding is performed, and when a picture of a different viewpoint is encoded with a plurality of layers, view scalable encoding is performed.
  • inter-layer prediction, inter-view prediction When prediction is performed between pictures of a plurality of layers (inter-layer prediction, inter-view prediction), encoding efficiency is greatly improved. Further, even when prediction is not performed (simultaneous casting), encoded data can be collected.
  • the network 21 transmits the encoded stream Te generated by the image encoding device 11 to the image decoding device 31.
  • the network 21 is the Internet, a wide area network (WAN: Wide Area Network), a small network (LAN: Local Area Network), or a combination thereof.
  • the network 21 is not necessarily limited to a bidirectional communication network, and may be a unidirectional communication network that transmits broadcast waves such as terrestrial digital broadcasting and satellite broadcasting.
  • the network 21 may be replaced with a storage medium that records an encoded stream Te such as a DVD (Digital Versatile Disc) or a BD (Blue-ray Disc).
  • the image decoding device 31 decodes each of the encoded streams Te transmitted by the network 21, and generates one or a plurality of decoded images Td decoded.
  • the image display device 41 displays all or part of one or more decoded images Td generated by the image decoding device 31.
  • the image display device 41 includes, for example, a display device such as a liquid crystal display or an organic EL (Electro-luminescence) display.
  • a display device such as a liquid crystal display or an organic EL (Electro-luminescence) display.
  • a high-quality enhancement layer image is displayed and only a lower processing capability is provided. Displays a base layer image that does not require higher processing capability and display capability as an extension layer.
  • X? Y: z is a ternary operator that takes y when x is true (non-zero) and takes z when x is false (0).
  • FIG. 1 is a diagram showing a hierarchical structure of data in the encoded stream Te.
  • the encoded stream Te illustratively includes a sequence and a plurality of pictures constituting the sequence.
  • (A) to (f) of FIG. 1 respectively show an encoded video sequence defining a sequence SEQ, an encoded picture defining a picture PICT, an encoded slice defining a slice S, and an encoded slice defining a slice data
  • the encoded video sequence In the encoded video sequence, a set of data referred to by the image decoding device 31 for decoding the sequence SEQ to be processed is defined. As shown in FIG. 1A, the sequence SEQ includes a video parameter set (Video Parameter Set), a sequence parameter set SPS (Sequence Parameter Set), a picture parameter set PPS (Picture Parameter Set), a picture PICT, and an addition. Includes SEI (Supplemental Enhancement Information). Here, the value indicated after # indicates the layer ID.
  • FIG. 1 shows an example in which encoded data of # 0 and # 1, that is, layer 0 and layer 1, exists, the type of layer and the number of layers are not dependent on this.
  • the video parameter set VPS is a set of encoding parameters common to a plurality of moving images, a plurality of layers included in the moving image, and encoding parameters related to individual layers in a moving image composed of a plurality of layers.
  • a set is defined.
  • the sequence parameter set SPS defines a set of encoding parameters that the image decoding device 31 refers to in order to decode the target sequence. For example, the width and height of the picture are defined. A plurality of SPSs may exist. In that case, one of a plurality of SPSs is selected from the PPS.
  • a set of encoding parameters referred to by the image decoding device 31 in order to decode each picture in the target sequence is defined.
  • a quantization width reference value (pic_init_qp_minus26) used for picture decoding and a flag (weighted_pred_flag) indicating application of weighted prediction are included.
  • the picture PICT includes slices S0 to S NS-1 (NS is the total number of slices included in the picture PICT).
  • the coded slice In the coded slice, a set of data referred to by the image decoding device 31 for decoding the slice S to be processed is defined. As shown in FIG. 1C, the slice S includes a slice header SH and slice data SDATA.
  • the slice header SH includes an encoding parameter group that is referred to by the image decoding device 31 in order to determine a decoding method of the target slice.
  • Slice type designation information (slice_type) for designating a slice type is an example of an encoding parameter included in the slice header SH.
  • I slice using only intra prediction at the time of encoding (2) P slice using unidirectional prediction or intra prediction at the time of encoding, (3) B-slice using unidirectional prediction, bidirectional prediction, or intra prediction at the time of encoding may be used.
  • the slice header SH may include a reference (pic_parameter_set_id) to the picture parameter set PPS included in the encoded video sequence.
  • the slice data SDATA includes a coding tree unit (CTU) as shown in FIG.
  • a CTU is a block of a fixed size (for example, 64x64) that constitutes a slice, and is sometimes called a maximum coding unit (LCU: Large Coding Unit).
  • Encoding tree unit As shown in (e) of FIG. 1, a set of data referred to by the image decoding device 31 in order to decode the encoding tree unit to be processed is defined.
  • the coding tree unit is divided by recursive quadtree division.
  • a tree-structured node obtained by recursive quadtree partitioning is referred to as a coding node (CN).
  • An intermediate node of the quadtree is an encoding node, and the encoding tree unit itself is defined as the highest encoding node.
  • the CTU includes a split flag (cu_split_flag), and when cu_split_flag is 1, it is split into four coding nodes CN.
  • the coding node CN is not divided and has one coding unit (CU: Coding Unit) as a node.
  • CU Coding Unit
  • the encoding unit CU is a terminal node of the encoding node and is not further divided.
  • the encoding unit CU is a basic unit of the encoding process.
  • the size of the coding tree unit CTU is 64 ⁇ 64 pixels
  • the size of the coding unit can be any of 64 ⁇ 64 pixels, 32 ⁇ 32 pixels, 16 ⁇ 16 pixels, and 8 ⁇ 8 pixels.
  • the encoding unit As shown in (f) of FIG. 1, a set of data referred to by the image decoding device 31 in order to decode an encoding unit to be processed is defined.
  • the encoding unit includes a prediction tree, a conversion tree, and a CU header CUH.
  • the CU header defines a prediction mode, a division method (PU division mode), and the like.
  • prediction information (a reference picture index, a motion vector, etc.) of each prediction unit (PU) obtained by dividing the coding unit into one or a plurality is defined.
  • the prediction unit is one or a plurality of non-overlapping areas constituting the encoding unit.
  • the prediction tree includes one or a plurality of prediction units obtained by the above-described division.
  • a prediction unit obtained by further dividing the prediction unit is referred to as a “sub-block”.
  • the sub block is composed of a plurality of pixels.
  • the number of sub-blocks in the prediction unit is one.
  • the prediction unit is larger than the size of the sub-block, the prediction unit is divided into sub-blocks. For example, when the prediction unit is 8 ⁇ 8 and the sub-block is 4 ⁇ 4, the prediction unit is divided into four sub-blocks that are divided into two horizontally and two vertically.
  • the prediction process may be performed for each prediction unit (sub block).
  • Intra prediction is prediction within the same picture
  • inter prediction refers to prediction processing performed between different pictures (for example, between display times and between layer images).
  • the division method is encoded by the PU division mode (part_mode) of encoded data, 2Nx2N (same size as the encoding unit), 2NxN, 2NxnU, 2NxnD, Nx2N, nLx2N, nRx2N, and NxN etc.
  • 2NxN and Nx2N indicate 1: 1 symmetrical division
  • 2NxnU, 2NxnD and nLx2N and nRx2N indicate 1: 3 and 3: 1 asymmetric division.
  • the PUs included in the CU are expressed as PU0, PU1, PU2, and PU3 in this order.
  • FIG. 2 specifically illustrate the shape of the partition (the position of the boundary of the PU partition) in each PU partition mode.
  • 2A shows a 2Nx2N partition
  • FIGS. 2B, 2C, and 2D show 2NxN, 2NxnU, and 2NxnD partitions (horizontal partitions), respectively.
  • E), (f), and (g) show partitions (vertical partitions) in the case of Nx2N, nLx2N, and nRx2N, respectively, and (h) shows an NxN partition.
  • the horizontal partition and the vertical partition are collectively referred to as a rectangular partition
  • 2Nx2N and NxN are collectively referred to as a square partition.
  • the encoding unit is divided into one or a plurality of conversion units, and the position and size of each conversion unit are defined.
  • a transform unit is one or more non-overlapping areas that make up a coding unit.
  • the conversion tree includes one or a plurality of conversion units obtained by the above division.
  • the division in the conversion tree includes a case where an area having the same size as that of the encoding unit is assigned as a conversion unit, and a case where recursive quadtree division is used, as in the case of the CU division described above.
  • Conversion processing is performed for each conversion unit.
  • the prediction parameter includes prediction list use flags predFlagL0 and predFlagL1, reference picture indexes refIdxL0 and refIdxL1, and motion vectors mvL0 and mvL1.
  • the prediction list use flags predFlagL0 and predFlagL1 are flags indicating whether or not reference picture lists called L0 list and L1 list are used, respectively, and a reference picture list corresponding to a value of 1 is used.
  • flag indicating whether or not it is XX when “flag indicating whether or not it is XX” is described, when the flag is not 0 (for example, 1) is XX, 0 is not XX, and logical negation, logical product, etc. 1 is treated as true and 0 is treated as false (the same applies hereinafter).
  • flag when the flag is not 0 (for example, 1) is XX, 0 is not XX, and logical negation, logical product, etc. 1 is treated as true and 0 is treated as false (the same applies hereinafter).
  • other values can be used as true values and false values in an actual apparatus or method.
  • Syntax elements for deriving inter prediction parameters included in the encoded data include, for example, PU partition mode part_mode, merge flag merge_flag, merge index merge_idx, inter prediction identifier inter_pred_idc, reference picture index refIdxLX, prediction vector index mvp_LX_idx, There are a difference vector mvdLX, a PU affine application flag pu_affine_enable_flag, and a PU affine mode flag pu_affine_mode_flag.
  • the reference picture list is a list including reference pictures stored in the reference picture memory 306.
  • FIG. 3 is a conceptual diagram illustrating an example of a reference picture and a reference picture list.
  • a rectangle is a picture
  • an arrow is a picture reference relationship
  • a horizontal axis is time
  • I, P, and B in the rectangle are intra pictures
  • uni-predictive pictures bi-predictive pictures
  • numbers in the rectangles are decoded. Indicates the order.
  • the decoding order of pictures is I0, P1, B2, B3, and B4
  • the display order is I0, B3, B2, B4, and P1.
  • FIG. 3B shows an example of the reference picture list.
  • the reference picture list is a list representing candidate reference pictures, and one picture (slice) may have one or more reference picture lists.
  • the target picture B3 has two reference picture lists, an L0 list RefPicList0 and an L1 list RefPicList1.
  • the reference pictures are I0, P1, and B2, and the reference picture has these pictures as elements.
  • refIdxLX the reference picture index
  • the figure shows an example in which reference pictures P1 and B2 are referenced by refIdxL0 and refIdxL1.
  • the prediction parameter decoding (encoding) method includes a merge prediction (merge) mode and an AMVP (Adaptive Motion Vector Prediction) mode.
  • the merge flag merge_flag is a flag for identifying these.
  • the merge prediction mode is a mode in which the prediction list use flag predFlagLX (or inter prediction identifier inter_pred_idc), the reference picture index refIdxLX, and the motion vector mvLX are not included in the encoded data and are derived from the prediction parameters of already processed neighboring PUs.
  • the AMVP mode is a mode in which the inter prediction identifier inter_pred_idc, the reference picture index refIdxLX, and the motion vector mvLX are included in the encoded data.
  • the motion vector mvLX is encoded as a prediction vector index mvp_LX_idx for identifying the prediction vector mvpLX and a difference vector mvdLX.
  • the inter prediction identifier inter_pred_idc is a value indicating the type and number of reference pictures, and takes one of PRED_L0, PRED_L1, and PRED_BI.
  • PRED_L0 and PRED_L1 indicate that reference pictures managed by the reference picture lists of the L0 list and the L1 list are used, respectively, and that one reference picture is used (single prediction).
  • PRED_BI indicates that two reference pictures are used (bi-prediction BiPred), and reference pictures managed by the L0 list and the L1 list are used.
  • the prediction vector index mvp_LX_idx is an index indicating a prediction vector
  • the reference picture index refIdxLX is an index indicating a reference picture managed in the reference picture list.
  • LX is a description method used when L0 prediction and L1 prediction are not distinguished from each other. By replacing LX with L0 and L1, parameters for the L0 list and parameters for the L1 list are distinguished.
  • the merge index merge_idx is an index indicating whether any prediction parameter is used as a prediction parameter of a target PU (target block) to be decoded from prediction parameter candidates (merge candidates) derived from a PU for which processing has been completed.
  • the motion vector mvLX indicates a shift amount between blocks on two different pictures.
  • a prediction vector and a difference vector related to the motion vector mvLX are referred to as a prediction vector mvpLX and a difference vector mvdLX, respectively.
  • Inter prediction identifier inter_pred_idc and prediction list use flag predFlagLX The relationship between the inter prediction identifier inter_pred_idc and the prediction list use flags predFlagL0 and predFlagL1 is as follows and can be converted into each other.
  • the flag biPred as to whether it is a bi-prediction BiPred can be derived depending on whether the two prediction list use flags are both 1. For example, it can be derived by the following formula.
  • the flag biPred can also be derived depending on whether or not the inter prediction identifier is a value indicating that two prediction lists (reference pictures) are used. For example, it can be derived by the following formula.
  • the PU affine application flag pu_affine_enable_flag is a flag indicating whether to apply affine prediction.
  • the PU affine mode flag pu_affine_mode_flag (also simply referred to as affine mode) is a flag indicating whether to apply 4-parameter affine or 6-parameter affine.
  • FIG. 5 is a schematic diagram illustrating a configuration of the image decoding device 31 according to the present embodiment.
  • the image decoding device 31 includes an entropy decoding unit 301, a prediction parameter decoding unit (prediction image decoding device) 302, a loop filter 305, a reference picture memory 306, a prediction parameter memory 307, a prediction image generation unit (prediction image generation device) 308, and inversely.
  • a quantization / inverse DCT unit 311 and an addition unit 312 are included.
  • the prediction parameter decoding unit 302 includes an inter prediction parameter decoding unit 303 and an intra prediction parameter decoding unit 304.
  • the predicted image generation unit 308 includes an inter predicted image generation unit 309 (predicted image generation unit) and an intra predicted image generation unit 310.
  • the entropy decoding unit 301 performs entropy decoding on the coded stream Te input from the outside, and separates and decodes individual codes (syntax elements).
  • the separated codes include prediction information for generating a prediction image and residual information for generating a difference image.
  • the entropy decoding unit 301 outputs a part of the separated code to the prediction parameter decoding unit 302.
  • Some of the separated codes are, for example, a prediction mode predMode, a PU partition mode part_mode, a merge flag merge_flag, a merge index merge_idx, an inter prediction identifier inter_pred_idc, a reference picture index refIdxLX, a prediction vector index mvp_LX_idx, and a difference vector mvdLX.
  • Control of which code is decoded is performed based on an instruction from the prediction parameter decoding unit 302.
  • the entropy decoding unit 301 outputs the quantization coefficient to the inverse quantization / inverse DCT unit 311.
  • the quantization coefficient is a coefficient obtained by performing quantization by performing DCT (Discrete Cosine Transform) on the residual signal in the encoding process.
  • the inter prediction parameter decoding unit 303 decodes the inter prediction parameter with reference to the prediction parameter stored in the prediction parameter memory 307 based on the code input from the entropy decoding unit 301.
  • the inter prediction parameter decoding unit 303 outputs the decoded inter prediction parameter to the prediction image generation unit 308 and stores it in the prediction parameter memory 307. Details of the inter prediction parameter decoding unit 303 will be described later.
  • the intra prediction parameter decoding unit 304 refers to the prediction parameter stored in the prediction parameter memory 307 on the basis of the code input from the entropy decoding unit 301 and decodes the intra prediction parameter.
  • the intra prediction parameter is a parameter used in a process of predicting a CU within one picture, for example, an intra prediction mode IntraPredMode.
  • the intra prediction parameter decoding unit 304 outputs the decoded intra prediction parameter to the prediction image generation unit 308 and stores it in the prediction parameter memory 307.
  • the intra prediction parameter decoding unit 304 may derive different intra prediction modes depending on luminance and color difference.
  • the intra prediction parameter decoding unit 304 decodes the luminance prediction mode IntraPredModeY as the luminance prediction parameter and the color difference prediction mode IntraPredModeC as the color difference prediction parameter.
  • the luminance prediction mode IntraPredModeY is a 35 mode, and corresponds to planar prediction (0), DC prediction (1), and direction prediction (2 to 34).
  • the color difference prediction mode IntraPredModeC uses one of the planar prediction (0), the DC prediction (1), the direction prediction (2 to 34), and the LM mode (35).
  • the intra prediction parameter decoding unit 304 decodes a flag indicating whether IntraPredModeC is the same mode as the luminance mode. If the flag indicates that the mode is the same as the luminance mode, IntraPredModeC is assigned to IntraPredModeC, and the flag is luminance. If the mode is different from the mode, planar prediction (0), DC prediction (1), direction prediction (2 to 34), and LM mode (35) may be decoded as IntraPredModeC.
  • the loop filter 305 applies filters such as a deblocking filter, a sample adaptive offset (SAO), and an adaptive loop filter (ALF) to the decoded image of the CU generated by the adding unit 312.
  • filters such as a deblocking filter, a sample adaptive offset (SAO), and an adaptive loop filter (ALF) to the decoded image of the CU generated by the adding unit 312.
  • the reference picture memory 306 stores the decoded image of the CU generated by the adding unit 312 at a predetermined position for each decoding target picture and CU.
  • the prediction parameter memory 307 stores the prediction parameter in a predetermined position for each decoding target picture and prediction unit (or sub-block, fixed-size block, pixel). Specifically, the prediction parameter memory 307 stores the inter prediction parameter decoded by the inter prediction parameter decoding unit 303, the intra prediction parameter decoded by the intra prediction parameter decoding unit 304, and the prediction mode predMode separated by the entropy decoding unit 301. .
  • the stored inter prediction parameters include, for example, a prediction list utilization flag predFlagLX (inter prediction identifier inter_pred_idc), a reference picture index refIdxLX, and a motion vector mvLX.
  • the prediction image generation unit 308 receives the prediction mode predMode input from the entropy decoding unit 301 and the prediction parameter from the prediction parameter decoding unit 302. Further, the predicted image generation unit 308 reads a reference picture from the reference picture memory 306. The prediction image generation unit 308 generates a prediction image of the PU using the input prediction parameter and the read reference picture in the prediction mode indicated by the prediction mode predMode.
  • the inter prediction image generation unit 309 uses the inter prediction parameter input from the inter prediction parameter decoding unit 303 and the read reference picture to perform prediction of the PU by inter prediction. Is generated.
  • the inter predicted image generation unit 309 For the reference picture list (L0 list or L1 list) for which the prediction list use flag predFlagLX is 1, the inter predicted image generation unit 309 performs a motion vector mvLX with reference to the target PU from the reference picture indicated by the reference picture index refIdxLX.
  • the reference picture block at the position indicated by is read from the reference picture memory 306.
  • the inter prediction image generation unit 309 performs prediction based on the read reference picture block to generate a prediction image of the PU.
  • the inter prediction image generation unit 309 outputs the generated prediction image of the PU to the addition unit 312.
  • the intra predicted image generation unit 310 When the prediction mode predMode indicates the intra prediction mode, the intra predicted image generation unit 310 performs intra prediction using the intra prediction parameter input from the intra prediction parameter decoding unit 304 and the read reference picture. Specifically, the intra predicted image generation unit 310 reads, from the reference picture memory 306, neighboring PUs that are pictures to be decoded and are in a predetermined range from the target PU among the PUs that have already been decoded.
  • the predetermined range is, for example, one of the left, upper left, upper, and upper right adjacent PUs when the target PU sequentially moves in the so-called raster scan order, and varies depending on the intra prediction mode.
  • the raster scan order is an order in which each row is sequentially moved from the left end to the right end in each picture from the upper end to the lower end.
  • the intra predicted image generation unit 310 performs prediction in the prediction mode indicated by the intra prediction mode IntraPredMode for the read adjacent PU, and generates a predicted image of the PU.
  • the intra predicted image generation unit 310 outputs the generated predicted image of the PU to the adding unit 312.
  • the intra prediction image generation unit 310 performs planar prediction (0), DC prediction (1), direction according to the luminance prediction mode IntraPredModeY.
  • Prediction image of luminance PU is generated by any of prediction (2 to 34), and planar prediction (0), DC prediction (1), direction prediction (2 to 34), LM mode according to color difference prediction mode IntraPredModeC
  • a predicted image of the color difference PU is generated by any of (35).
  • the inverse quantization / inverse DCT unit 311 inversely quantizes the quantization coefficient input from the entropy decoding unit 301 to obtain a DCT coefficient.
  • the inverse quantization / inverse DCT unit 311 performs inverse DCT (Inverse Discrete Cosine Transform) on the obtained DCT coefficient to calculate a residual signal.
  • the inverse quantization / inverse DCT unit 311 outputs the calculated residual signal to the addition unit 312.
  • the addition unit 312 adds the prediction image of the PU input from the inter prediction image generation unit 309 or the intra prediction image generation unit 310 and the residual signal input from the inverse quantization / inverse DCT unit 311 for each pixel, Generate a decoded PU image.
  • the adding unit 312 stores the generated decoded image of the PU in the reference picture memory 306, and outputs a decoded image Td in which the generated decoded image of the PU is integrated for each picture to the outside.
  • FIG. 12 is a schematic diagram illustrating a configuration of the inter prediction parameter decoding unit 303 according to the present embodiment.
  • the inter prediction parameter decoding unit 303 includes an inter prediction parameter decoding control unit 3031, an AMVP prediction parameter deriving unit 3032 (affine motion vector deriving unit, affine motion vector deriving device), an adding unit 3035, a merge prediction parameter deriving unit 3036, and sub-block prediction.
  • a parameter deriving unit 3037 is included.
  • the inter prediction parameter decoding control unit 3031 instructs the entropy decoding unit 301 to decode a code (syntax element) related to inter prediction, and a code (syntax element) included in the encoded data, for example, PU partition mode part_mode , Merge flag merge_flag, merge index merge_idx, inter prediction identifier inter_pred_idc, reference picture index refIdxLX, prediction vector index mvp_LX_idx, and difference vector mvdLX are extracted.
  • the inter prediction parameter decoding control unit 3031 first extracts a merge flag merge_flag.
  • the inter prediction parameter decoding control unit 3031 expresses that a certain syntax element is to be extracted, it means that the entropy decoding unit 301 is instructed to decode a certain syntax element, and the corresponding syntax element is read from the encoded data. To do.
  • the inter prediction parameter decoding control unit 3031 uses the entropy decoding unit 301 to extract the AMVP prediction parameter from the encoded data.
  • AMVP prediction parameters include an inter prediction identifier inter_pred_idc, a reference picture index refIdxLX, a prediction vector index mvp_LX_idx, and a difference vector mvdLX.
  • the AMVP prediction parameter derivation unit 3032 derives a prediction vector mvpLX from the prediction vector index mvp_LX_idx. Details will be described later.
  • the inter prediction parameter decoding control unit 3031 outputs the difference vector mvdLX to the addition unit 3035.
  • the adding unit 3035 adds the prediction vector mvpLX and the difference vector mvdLX to derive a motion vector.
  • the inter prediction parameter decoding control unit 3031 extracts the merge index merge_idx as a prediction parameter related to merge prediction.
  • the inter prediction parameter decoding control unit 3031 outputs the extracted merge index merge_idx to the merge prediction parameter derivation unit 3036 (details will be described later), and outputs the sub-block prediction mode flag subPbMotionFlag to the sub-block prediction parameter derivation unit 3037.
  • the subblock prediction parameter deriving unit 3037 divides the PU into a plurality of subblocks according to the value of the subblock prediction mode flag subPbMotionFlag, and derives a motion vector in units of subblocks.
  • the prediction block is predicted in units of blocks as small as 4x4 or 8x8.
  • a sub-block prediction mode is used for a method in which a CU is divided into a plurality of partitions (PUs such as 2NxN, Nx2N, and NxN) and the syntax of prediction parameters is encoded in units of partitions. Since a plurality of sub-blocks are grouped into a set and the syntax of the prediction parameter is encoded for each set, motion information of a large number of sub-blocks can be encoded with a small amount of code.
  • the sub-block prediction parameter derivation unit 3037 performs sub-block prediction in the sub-block prediction mode, and a spatio-temporal sub-block prediction unit 30371, an affine prediction unit 30372 (affine motion vector derivation unit, affine motion vector derivation device) ), And at least one of the matching prediction units 30373.
  • Subblock prediction mode flag a method for deriving a sub-block prediction mode flag subPbMotionFlag indicating whether a prediction mode of a certain PU is a sub-block prediction mode in the image decoding device 31 and the image encoding device 11 (details will be described later) will be described. .
  • the image decoding device 31 and the image encoding device 11 derive a sub-block prediction mode flag subPbMotionFlag based on which of spatial sub-block prediction SSUB, temporal sub-block prediction TSUB, affine prediction AFFINE, and matching prediction MAT described later is used. To do.
  • the sub-block prediction mode flag subPbMotionFlag may be derived by the following equation.
  • the image decoding device 31 and the image encoding device 11 may be configured to perform some predictions among the spatial sub-block prediction SSUB, temporal sub-block prediction TSUB, affine prediction AFFINE, and matching prediction MAT. That is, when the image encoding device 11 is configured to perform spatial subblock prediction SSUB and affine prediction AFFINE, the subblock prediction mode flag subPbMotionFlag may be derived as follows.
  • the image decoding device 31 and the image encoding device 11 may decode the affine application flag pu_affine_enable_flag from the encoded data and derive subPbMotionFlag as 1 when the affine application flag pu_affine_enable_flag is 1. In this case, when the affine application flag pu_affine_enable_flag is 1, the affine prediction unit 30372 may be applied.
  • the spatio-temporal sub-block prediction unit 30371 calculates the target PU from the motion vector of the PU on the reference image temporally adjacent to the target PU (for example, the immediately preceding picture) or the motion vector of the PU spatially adjacent to the target PU.
  • the motion vector of the sub-block obtained by dividing is derived.
  • (xPb, yPb) is the upper left coordinate of the target PU
  • nPbW, nPbH are the size of the target PU
  • nSbW, nSbH are the sizes of the sub-blocks.
  • the above-described temporal sub-block prediction candidate TSUB and spatial sub-block prediction candidate SSUB are selected as one mode (merge candidate) of the merge mode.
  • the affine prediction unit 30372 derives the affine prediction parameters of the target PU.
  • motion vectors of two or three control points of the target PU are derived as affine prediction parameters.
  • motion vectors (MV0_x, MV0_y) (MV1_x, MV1_y) (MV2_x, MV2_y) are derived.
  • the motion vector of each control point may be derived by prediction from the motion vector of the adjacent PU of the target PU, or the difference vector mvdLX derived from the control point prediction vector mvpLX and the encoded data
  • the motion vector of each control point may be derived by the sum of.
  • FIG. 13 shows the motion vector spMvLX of each sub-block (xi, yj) constituting the target PU (nPbW ⁇ nPbH) from the motion vector (MV0_x, MV0_y) of the control point V0 and the motion vector (MV1_x, MV1_y) of V1. It is a figure which shows the example derived
  • the motion vector spMvLX of each subblock is derived as a motion vector for each point located at the center of each subblock, as shown in FIG.
  • xPb and yPb are the upper left coordinates of the target PU
  • nPbW and nPbH are the width and height of the target PU
  • nSbW and nSbH are the width and height of the sub-block.
  • the process in which the affine prediction unit 30372 or the AMVP prediction parameter derivation unit 3032 derives the motion vector mvLX of each sub-block using affine prediction includes the following four steps (STEP 1) to (STEP 4).
  • the affine prediction unit 30372 or the AMVP prediction parameter derivation unit 3032 uses representative points (in this case, V0 and V1) as two or more control points used for affine prediction for deriving candidates. ) To derive the respective motion vectors. Note that a point on the target block or a point near the target block is used as the representative point of the block. In this specification, a block representative point used as a control point for affine prediction is referred to as a “block control point”. Control points for affine prediction that are not representative points of blocks are expressed as “reference control points” and may be distinguished.
  • (STEP 2) Derivation of sub-block vector
  • the affine prediction unit 30372 or the AMVP prediction parameter derivation unit 3032 converts the motion vector of the block control points (control points V0 and V1) that are representative points of the target block derived in STEP 1 to the target block. This is a step of deriving a motion vector of each included sub-block. From (STEP 1) and (STEP 2), the motion vector mvLX of each sub-block is derived.
  • the motion compensation unit 3091 receives the reference picture from the reference picture memory 306 based on the prediction list use flag predFlagLX, the reference picture index refIdxLX, and the motion vector mvLX input from the inter prediction parameter decoding unit 303. Performs sub-block-based motion compensation by generating a motion-compensated image predSamplesLX by reading out and filtering the block at a position shifted by the motion vector mvLX from the position of the target block on the reference picture specified by the index refIdxLX. It is a process.
  • (STEP 4) Storage of motion vector of sub-block
  • the motion vector mvLX of each sub-block derived by the AMVP prediction parameter deriving unit 3032 in (STEP 2) is stored in the prediction parameter memory 307.
  • the motion vector mvLX of each sub-block derived by the affine prediction unit 30372 in (STEP 2) is stored in the prediction parameter memory 307.
  • FIG. 15 is a diagram illustrating an example of the position of a prediction unit used for deriving a motion vector of a control point in the AMVP mode and the merge mode.
  • the AMVP prediction parameter derivation unit 3032 derives a vector candidate mvpLX from the motion vector stored in the prediction parameter memory 307 based on the reference picture index refIdx. Then, the AMVP prediction parameter deriving unit 3032 refers to the read motion vector and predicts (derived) the motion vectors of the representative points (here, the points V0, V1, and V2) of the target block.
  • the inter prediction parameter decoding control unit 3031 uses the entropy decoding unit 301 to extract AMVP prediction parameters from the encoded data.
  • This AMVP prediction parameter includes a separately encoded difference vector mvdLX for correcting the prediction vector mvpLX of the representative points (point V0, point V1 and point V2).
  • the AMVP prediction parameter derivation unit 3032 is adjacent to one of the representative points (here, the point V0), and blocks A and B that share the representative point (vertex) with the target block. , And C (reference block) motion vectors are referred to from the prediction parameter memory 307 to derive a representative point prediction vector mvpLX. Furthermore, the difference vector mvdLX of the representative point decoded from the encoded data is added to the derived prediction vector mvpLX to derive the motion vector mvLX of the control point V0. Note that the AMVP prediction parameter derivation unit 3032 may decode the index mvp_LX_idx from the encoded data and determine which of the motion vectors of the blocks A, B, and C is referred to as the prediction vector.
  • the AMVP prediction parameter derivation unit 3032 is adjacent to a representative point (here, the point V1) different from the point V0, and sets the target block and the representative point (vertex).
  • a representative point here, the point V1
  • the prediction parameter memory 307 One of the motion vectors of the shared blocks D and E (reference block) is referred to from the prediction parameter memory 307 to derive the prediction vector mvpLX of the representative point V1.
  • the difference vector mvdLX of the representative point V1 decoded from the encoded data is added to the derived prediction vector mvpLX to derive the motion vector mvLX of the control point V1.
  • the AMVP prediction parameter derivation unit 3032 may decode the index mvp_LX_idx from the encoded data and determine which of the motion vectors of the blocks D and E is to be referred to as a prediction vector.
  • the AMVP prediction parameter derivation unit 3032 is adjacent to a representative point (here, the point V2) different from the points V0 and V1, and the target block and the representative point (vertex) ) Is referenced from the prediction parameter memory 307 for any of the motion vectors of the blocks F and G (reference block) that share () to derive the prediction vector mvpLX of the representative point V2. Further, the AMVP prediction parameter deriving unit 3032 adds the difference vector mvdLX of the representative point V2 decoded from the encoded data to the derived prediction vector mvpLX, thereby deriving the motion vector mvLX of the control point V2. Note that the AMVP prediction parameter derivation unit 3032 may decode the index mvp_LX_idx from the encoded data and determine which of the motion vectors of the blocks F and G is referred to as the prediction vector.
  • the position of the control point in STEP1 is not limited to the above. A vertex at the lower right of the target block or points around the target block may be used as will be described later.
  • the AMVP prediction parameter derivation unit 3032 encodes the difference vector of two points, for example, the points V0 and V1, in the case of the 4-parameter affine. And motion vectors of two control points are derived.
  • the difference vectors of three points for example, points V0, V1, and V2, are decoded from the encoded data, and the motion vectors of the three control points are derived.
  • control points derived in the case of a four-parameter affine are not limited to the points V0 and V1, but may be the points V0 and V2, the points V1 and V2, the points V0 and V2, or the other two points.
  • the derived control points are not limited to points V0, V1, and V2.
  • the motion vector (MVi_x, MVi_y) of the point Vi at the position (xi, yi) starting from the point V0 of the position (0, 0) and the motion vector mv_x, my_y has four parameters (mv_x, mv_y, ev, rv) That is, using the motion vector (translation vector mv_x, mv_y) of the enlargement and rotation center, the enlargement parameter ev, and the rotation parameter rv, the following general formula (eq1) can be obtained.
  • MVi_x mv_x + ev * xi-rv * yi
  • MVi_y mv_y + rv * xi + ev * yi (eq1)
  • ev (xk * (MVk_x-MV0_x) + yk * (MVk_y-MV0_y) ⁇ / (pow (xk, 2) + pow (yk, 2))
  • rv ⁇ -yk * (MVk_x-MV0_x) + xk * (MVk_y-MV0_y) ⁇ / (pow (xk, 2) + pow (yk, 2))
  • pow (x, 2) indicates the square of x.
  • the affine prediction unit 30372 refers to the prediction parameter memory 307 for a prediction unit including blocks A to E as shown in (c) of FIG. 15, and confirms whether or not affine prediction is used.
  • a prediction unit here, reference block A in FIG. 15C
  • a prediction unit in which affine prediction is used is selected as an adjacent block (merge reference block), and a motion vector is derived.
  • Adjacent blocks do not necessarily have to be in direct contact with the target PU (there is no need to have a common edge).
  • a block having the same point as the target PU such as an upper right point, an upper left point, and a lower right point of the target PU, can also be set as an adjacent block.
  • a neighboring block sufficiently close to the target PU can be used as an adjacent block. The same applies to the second to fifth embodiments described later.
  • the affine prediction unit 30372 uses the upper left corner point (point v0 in FIG. 15D) and the upper right corner point (of FIG. 15D) in which the affine prediction is used.
  • the motion vector of the control point is derived from the point v1), the lower left corner point (point v2 in FIG. 15D), and two or three of the lower right points v3.
  • motion vectors of V0 (first control point) and V1 (second control point) are derived.
  • motion vectors of V0, V1, and V2 third control points
  • the block whose motion vector is to be predicted has a horizontal width of W and a height of H, and adjacent blocks (adjacent blocks including block A in the example shown in the figure). The width is w and the height is h.
  • MVN_x mv_x + ev * xN-rv * yN
  • MVN_y mv_y + rv * xN + ev * yN
  • (ev, rv) is an affine parameter
  • (xN, yN) is a relative position viewed from a reference point (for example, v0) of the control point VN.
  • mv_x and mv_y are translation vectors, for example, motion vectors (mv0_x, mv0_y) at the point v0.
  • the translation vectors are not limited to (mv0_x, mv0_y), and motion vectors (mv1_x, mv1_y), (mv2_x, mv2_y), and (mv3_x, mv3_y) at the points v1, v2, and v3 may be used.
  • affine prediction unit 30372 may derive (MVN_x, MVN_y) by integer arithmetic using the following equation.
  • MVN_x mv_x + ((evBW-rvBH) >> 1) + evBW * iN-rvBH * jN
  • MVN_y mv_y + ((rvBW + evBH) >> 1) + rvBW * iN + evBH * jN
  • (evBW, rvBW) and (evBH, rvBH) are affine parameters
  • (iN, jN) are coordinates in units of sub-blocks of the control point VN.
  • (iN, jN) (xN >> log2 (W), yN >> log2 (H)).
  • W and H are the width and height of the sub-block.
  • the motion vector of the control point is derived by the following formula.
  • MVN_x mv_x + ev1 * xN + rv2 * yN
  • MVN_y mv_y + rv1 * xN + ev2 * yN
  • (ev1, rv1, ev2, rv2) are affine parameters.
  • the affine prediction unit 30372 may derive (MVN_x, MVN_y) by integer arithmetic using the following formula.
  • MVN_x mv_x + ((ev1BW + rv2BH) >> 1) + ev1BW * iN + rv2BH * jN
  • MVN_y mv_y + ((rv1BW + ev2BH) >> 1) + rv1BW * iN + ev2BH * jN
  • (ev1BW, rv1BW, ev2BH, ev2BH) are affine parameters.
  • the method for deriving the affine parameters (ev, rv), (evBW, rvBW), (evBH, rvBH), (ev1, rv1, ev2, rv2), (ev1BW, rv1BW, ev2BH, ev2BH) is (STEP2 details) It will be described later.
  • control points V0, V1, V2, and V3 are replaced with reference points v0, v1, v2, and v3 on adjacent blocks, respectively, and motion vectors (MV1_x, MV1_y), (MV2_x, MV2_y) ), (MV3_x, MV3_y) are replaced with motion vectors (mv0_x, mv0_y), (mv1_x, mv1_y), (mv2_x, mv2_y), (mv3_x, mv3_y), respectively.
  • the affine prediction unit 30372 represents the representative points on the target block from the motion vectors (mv0_x, mv0_y), (mv1_x, mv1_y), and (mv2_x, mv2_y) of the points v0, v1, and v2 in FIG.
  • a motion vector of (control points V0, V1, and V2) may be derived. The derivation formula is as follows.
  • MVi_x mv0_x + (mv1_x-mv0_x) / w * xi + (mv2_x-mv0_x) / h * yi
  • MVi_y mv0_y + (mv1_y-mv0_y) / w * xi + (mv2_y-mv0_y) / h * yi
  • (xi, yi) is the coordinates of the point to be derived (here, the control points V0, V1, and V2) starting from the point v0
  • w + W, h-H the motion vector (MV0_x, MV0_y) of the point V0 and the motion vector (MV1_x, MV1_y) of the point V1 are derived.
  • MV0_x mv0_x + (mv1_x-mv0_x) / w * w + (mv2_x-mv0_x) / h * (h-H)
  • MV0_y mv0_y + (mv1_y-mv0_y) / w * w + (mv2_y-mv0_y) / h * (h-H)
  • MV1_x mv0_x + (mv1_x-mv0_x) / w * (w + W) + (mv2_x-mv0_x) / h * (h-H)
  • MV1_y mv0_y + (mv1_y-mv0_y) / w * (w + W) + (mv2_y-mv0_y) / h * (h-H) It becomes.
  • the affine prediction unit 30372 of this configuration derives the motion vector of the control point (V0, V1, V2, V3) from the motion vector of the reference point (v0, v1, v2, v3) of the adjacent block in (STEP 1).
  • the sub-block motion vectors are derived from the motion vectors of the control points (V0, V1, V2, V3), but (STEP1) and (STEP2) are integrated to form adjacent blocks.
  • the motion vector of the sub-block may be derived from the motion vector of the reference points (v0, v1, v2, v3).
  • FIG. 16 is a diagram illustrating an example in which the control point V0 of the target block (horizontal width W, height H) is located at the upper left vertex and is divided into sub-blocks having a width BW and a height BH.
  • W, H) and BW, BH correspond to the aforementioned (nPbW, nPbH) and (nSbW, nSbH).
  • the affine prediction unit 30372 refers to the motion vectors of two or three control points among the control points V0, V1, and V2, which are representative points on the block, derived in (STEP 1). In (STEP 2), an affine parameter is calculated. That is, the affine prediction unit 30372 (AMVP prediction parameter derivation unit 3032) performs one of the following processes.
  • the affine parameters (ev, rv) from two motion vectors of the motion vector (MV0_x, MV0_y) of the control point V0, the motion vector (MV1_x, MV1_y) of the control point V1, and the motion vector (MV2_x, MV2_y) of the control point V2 ) Is derived. From the three motion vectors of the motion vector of the control point V0 (MV0_x, MV0_y), the motion vector of the control point V1 (MV1_x, MV1_y) and the motion vector of the control point V2 (MV2_x, MV2_y), affine parameters (ev1, rv1, ev2, ev2) is derived.
  • affine parameters ev, rv
  • 4-parameter affine the process of deriving affine parameters (ev1, rv1, ev2, ev2) from the three motion vectors.
  • 6-parameter affine the process of deriving affine parameters (ev1, rv1, ev2, ev2) from the three motion vectors.
  • Affine parameters can be handled as integers instead of decimal numbers.
  • the decimal affine parameters are (ev, rv), (ev1, rv1, ev2, ev2), and the integer affine parameters are (evBW, rvBW), (evBH, rvBH), (ev1BW, rv1BW, ev2BH, ev2BH) It expresses.
  • the integer affine parameter is obtained by multiplying the decimal affine parameter by a constant (constant for integerization) according to the sub-block size (BW, BH). Specifically, the following relationship exists between the affine parameters for decimal numbers and the affine parameters for integers.
  • the affine prediction unit 30372 (AMVP prediction parameter derivation unit 3032) derives the motion vector of the sub-block using the affine parameters obtained by the above formula.
  • the motion vector (MVi_x, MVi_y) of the subblock coordinates (xi, yi) is derived from the affine parameters (ev, rv) by the following formula AF4P_float.
  • MVi_x mv_x + ev * xi-rv * yi
  • MVi_y mv_y + rv * xi + ev * yi
  • MVi_y mv_y + rv * xi + ev * yi
  • the motion vector (MVij_x, MVij_y) of the subblock at the subblock position (i, j) is derived by the following formula AF4P_integer To do.
  • MVij_x mv_x + ((evBW-rvBH) >> 1) + evBW * i-rvBH * j
  • MVij_y mv_y + ((rvBW + evBH) >> 1) + rvBW * i + evBH * j (expression AF4P_integer)
  • (MV0_x, MV0_y) is used as the translation vector, the above equation becomes the following equation.
  • MVij_x MV0_x + ((evBW-rvBH) >> 1) + evBW * i-rvBH * j
  • MVij_y MV0_y + ((rvBW + evBH) >> 1) + rvBW * i + evBH * j
  • (evBW, rvBW) (evBH, rvBH) Therefore, it is not necessary to distinguish (evBW, rvBW) from (evBH, rvBH) in the above derivation formula. That is, it may be derived only from (evBW, rvBW).
  • MVij_x mv_x + ((evBW + rvBW) >> 1) + evBW * i-rvBW * j
  • MVij_y mv_y + ((rvBW + evBW) >> 1) + rvBW * i + evBW * j
  • it may be derived only from (evBH, rvBH).
  • MVij_x mv_x + ((evBH + rvBH) >> 1) + evBH * i-rvBH * j
  • MVij_y mv_y + ((rvBH + evBH) >> 1) + rvBH * i + evBH * j
  • the relationship between the sub-block position (i, j) and the sub-block coordinates (xi, yj) is as follows (formula XYIJ).
  • the point at sub-block position (i, j) is the intersection of the solid line parallel to the x-axis and the solid line parallel to the y-axis in FIG. Further, the point of sub-block coordinates (xi, yj) is an intersection of a broken line parallel to the x axis and a broken line parallel to the y axis in FIG.
  • an integer derivation formula can be obtained from the decimal number derivation formula by the following modification.
  • MVij_x mv_x + ev * (BW / 2 + BW * i)-rv * (BH / 2 + BH * j)
  • MVij_y mv_y + rv * (BW / 2 + BW * i) + ev * (BH / 2 + BH * j) It becomes.
  • MVij_x mv_x + ev * BW * (1/2 + i)-rv * BH * (1/2 + j)
  • MVij_y mv_y + rv * BW * (1/2 + i) + ev * BH * (1/2 + j) It becomes.
  • MVij_x MV0_x + evBW / 2-rvBH / 2 + evBW * i-rvBH * j
  • MVij_y MV0_y + rvBW / 2 + evBH / 2 + rvBW * i + evBH * j
  • AF4P_integer MVij_x mv_x + ((evBW-rvBH) >> 1) + evBW * i-rvBH * j
  • MVij_y mv_y + ((rvBW + evBH) >> 1) + rvBW * i + evBH * j It becomes.
  • MV0_x, MV0_y may be used as the affine parameters mv_x, mv_y of the translation vector, but is not limited thereto.
  • motion vectors (MV1_x, MV1_y), (MV2_x, MV2_y), and (MV3_x, MV3_y) may be used as translation vectors.
  • the motion vector (MVij_x, MVij_y) of the subblock at the subblock position (i, j) ) Is derived by the following expression AF6P_integer.
  • MVij_x mv_x + ((ev1BW + rv2BH) >> 1) + ev1BW * i + rv2BH * j
  • MVij_y mv_y + ((rv1BW + ev2BH) >> 1) + rv1BW * i + ev2BH * j (expression AF6P_integer)
  • (MV0_x, MV0_y) is used as the translation vector, the above expression becomes the following expression.
  • MVij_x MV0_x + ((ev1BW + rv2BH) >> 1) + ev1BW * i + rv2BH * j
  • MVij_y MV0_y + ((rv1BW + ev2BH) >> 1) + rv1BW * i + ev2BH * j (expression AF6P_integer) It should be noted that an integer derivation formula can be obtained from the decimal number derivation formula by the following modification.
  • MVij_x mv_x + ev1 * BW * (1/2 + i) + rv2 * BH * (1/2 + j)
  • MVij_y mv_y + rv1 * BW * (1/2 + i) + ev2 * BH * (1/2 + j) It becomes.
  • MVij_x mv_x + ev1BW / 2 + rv2BH / 2 + ev1BW * i + rv2BH * j
  • MVij_y mv_y + rv1BW / 2 + ev2BH / 2 + rv1BW * i + ev2BH * j
  • the above-described integer arithmetic derivation formula AF6P_integer MVij_x mv_x + ((ev1BW + rv2BH) >> 1) + ev1BW * i + rv2BH * j
  • MVij_y mv_y + ((rv1BW + ev2BH) >> 1) + rv1BW * i + ev2BH * j It becomes.
  • the inter prediction parameter decoding unit 303 determines which of four-parameter affine and six-parameter affine is to be executed by a predetermined process.
  • An example of predetermined processing is shown below.
  • puWidth indicates the width of the target PU
  • puHeight indicates the height of the target PU.
  • (PuWidth, puHeight) corresponds to (nPbW, nPbH) described above.
  • FIG. 17 is a flowchart illustrating an example of processing in which the inter prediction parameter decoding unit 303 determines the number of control points from which a motion vector is derived based on the shape of the target PU.
  • the inter prediction parameter decoding control unit 3031 first determines whether the width of the target PU is equal to the height of the target PU (SA1). When the width of the target PU is equal to the height of the target PU (Y in SA1), the affine prediction unit 30372 (or AMVP prediction parameter decoding unit 3032) performs 6-parameter affine processing (SA2). When the width of the target PU is not equal to the height of the target PU (N in SA1), the affine prediction unit 30372 (or AMVP prediction parameter decoding unit 3032) performs a 4-parameter affine process (SA3).
  • the determination in SA1 is equivalent to determining whether or not the target PU is a square. That is, in the example shown in FIG. 17, 6-parameter affine processing is performed when the target PU is square, and 4-parameter affine processing is performed when the target PU is not square.
  • FIG. 18 is a flowchart illustrating another example of the process in which the affine prediction unit 30372 determines the number of control points from which a motion vector is derived based on the shape of the target PU.
  • the inter prediction parameter decoding control unit 3031 determines whether the merge flag is 1 (SB1). When the merge flag is 1, that is, in the merge mode (Y in SB1), the inter prediction parameter decoding unit 303 performs the processes of SB2 to SB4.
  • the processing of SB2 to SB4 is the same as the processing of SA1 to SA3 shown in FIG.
  • the merge flag is 0, that is, when the merge mode is not set (N in SB1), the inter prediction parameter decoding unit 303 performs an AMVP motion vector derivation process.
  • the affine prediction unit 30372 when the merge flag is 1, the affine prediction unit 30372 derives the affine parameters depending on whether the target PU is a square. However, on the contrary to the example shown in FIG. 18, the affine prediction unit 30372 of the present embodiment sets the affine parameter according to whether the target PU is square when the merge flag is 0, that is, when it is AMVP. Derivation may be performed. In this case, the affine parameter derivation is executed by the AMVP prediction parameter derivation unit 3032.
  • the control point motion vector is derived in accordance with the above-described (derivation of the control point motion vector in the AMVP mode).
  • the inter prediction parameter decoding unit 303 may decode an affine application flag pu_affine_enable_flag that is a flag indicating whether to perform affine prediction.
  • the inter prediction parameter decoding unit 303 performs affine prediction processing when the affine application flag pu_affine_enable_flag is 1, that is, indicates that affine prediction is applied, and does not apply affine prediction when the affine application flag pu_affine_enable_flag is 0. .
  • FIG. 19 is a flowchart illustrating yet another example of the process in which the inter prediction parameter decoding unit 303 determines the number of control points from which a motion vector is derived based on the shape of the target PU.
  • the inter prediction parameter decoding control unit 3031 first determines whether the merge flag is 1 (SC1). When the merge flag is 0 (indicating that the merge process is not performed) (N in SC1), the inter prediction parameter decoding control unit 3031 determines whether the width of the target PU is equal to the height of the target PU ( SC2).
  • the inter prediction parameter decoding control unit 3031 decodes the PU affine mode flag (SC3). Thereafter, the inter prediction parameter decoding control unit 3031 determines whether or not the PU affine mode flag is 1 (SC4).
  • the AMVP prediction parameter derivation unit 3032 When the PU affine mode flag is 1 (indicating that 6-parameter affine processing is to be performed) (Y in SC4), the AMVP prediction parameter derivation unit 3032 performs 6-parameter affine processing, and PU affine mode flag When is 0 (N in SC4), 4-parameter affine processing is performed. Further, the AMVP prediction parameter derivation unit 3032 performs the 4-parameter affine process even when the width of the target PU and the height of the target PU are not equal (N in SC2). On the other hand, when the merge flag is 1 (Y in SC1), motion vector derivation by merge prediction is performed.
  • the inter prediction parameter decoding unit 303 calculates the motion vectors of the two control points and performs 4-parameter affine processing according to the shape of the target block, or calculates the motion vectors of the three control points. Switches whether to perform 6-parameter affine processing.
  • two motion vectors are encoded / decoded according to the shape of the target block, or three motion vectors (difference vectors) are encoded / decoded. May be switched.
  • the motion vector of the control point is derived by referring to the motion vector of two points according to the shape of the target block, or the motion of the control point by referring to the motion vector of three points.
  • FIG. 20 is a flowchart illustrating an example of processing in which the inter prediction parameter decoding unit 303 determines the number of control points from which a motion vector is derived based on the size of the target PU.
  • the inter prediction parameter decoding control unit 3031 first determines whether a value indicating the size of the target PU is equal to or greater than a predetermined threshold (SD1).
  • SD1 a predetermined threshold
  • the affine prediction unit 30372 performs a 6-parameter affine process (SD2).
  • SD3 4-parameter affine process
  • the value indicating the size of the target PU for example, the following can be used. ⁇ Max (puWidth, puHeight) ⁇ Min (puWidth, puHeight) ⁇ PuWidth + puHeight ⁇ PuWidth * puHeight ⁇ Log2 (puWidth) + log2 (puHeight)
  • the value indicating the size of the target PU is not limited to the above example.
  • the determination in SD1 may be as follows. -Is the target PU size larger than a predetermined threshold? -Is the size of the target PU less than or equal to a predetermined threshold? -Is the size of the target PU smaller than a predetermined threshold?
  • FIG. 21 is a flowchart illustrating another example of processing in which the inter prediction parameter decoding unit 303 determines the number of control points from which a motion vector is derived based on the size of the target PU.
  • the PU affine mode flag which is a flag indicating 6-parameter affine and 4-parameter affine is decoded in order to increase the size of the target PU, and in other cases, PU affine Do not decode mode flags. More specifically, as in the example shown in FIG. 19, the inter prediction parameter decoding control unit 3031 first determines whether the merge flag is 1 (SE1).
  • the inter prediction parameter decoding control unit 3031 determines whether the size of the target PU is equal to or larger than a predetermined threshold (SE2). Based on the determination result of SE2, the inter prediction parameter decoding unit 303 performs the processes of SE3 to SE6.
  • the processing of SE3 to SE6 is the same as the processing of SC3 to SC6 shown in FIG.
  • FIG. 22 is a table showing processing for each size when log2 (puWidth) + log2 (puHeight) is used as a value indicating the size of the target PU.
  • the determination threshold is set to 8. In this case, in the example illustrated in FIG. 22, if log2 (puWidth) + 2log2 (puHeight) is 6 or 7, the affine prediction unit 30372 performs 4-parameter affine processing regardless of the shape of the target PU. If log2 (puWidth) + log2 (puHeight) is 8, the affine prediction unit 30372 performs 6-parameter affine processing regardless of the shape of the target PU.
  • FIG. 23 is a table showing processing for each size when min (puWidth, puHeight) is used as a value indicating the size of the target PU.
  • the determination threshold is set to 8. In this case, as shown in FIG. 23, if min (puWidth, puHeight) is 4, the affine prediction unit 30372 performs 4-parameter affine processing regardless of the shape of the target PU. If min (puWidth, puHeight) is 8 or 16, the affine prediction unit 30372 performs 6-parameter affine processing regardless of the shape of the target PU.
  • the inter prediction parameter decoding unit 303 calculates a motion vector of two control points and performs 4-parameter affine processing according to the size of the target block, or calculates a motion vector of three control points. Switches whether to perform 6-parameter affine processing.
  • SE1 two motion vectors (difference vectors) are encoded / decoded according to the size of the target block, or three motion vectors (difference vectors) are encoded / decoded. May be switched.
  • the motion vector of the control point is derived by referring to the motion vector of two points according to the size of the target block, or the motion of the control point by referring to the motion vector of three points.
  • FIG. 24 is a flowchart illustrating an example of processing in which the inter prediction parameter decoding unit 303 determines the number of control points from which a motion vector is derived based on both the shape and size of the target PU.
  • the inter prediction parameter decoding control unit 3031 first determines whether the size of the target PU is greater than or equal to a predetermined threshold (SF1). When the size of the target PU is equal to or larger than the predetermined threshold (Y in SF1), the affine prediction unit 30372 performs a 6-parameter affine process (SF3).
  • the inter prediction parameter decoding control unit 3031 continues to determine whether the width of the target PU is equal to the height of the target PU (SF2). When the width of the target PU is equal to the height of the target PU (Y in SF2), the affine prediction unit 30372 performs a 6-parameter affine process (SF3). When the width of the target PU is not equal to the height of the target PU (N in SF2), the affine prediction unit 30372 performs a 4-parameter affine process (SF4).
  • the affine prediction unit 30372 when the target PU is equal to or larger than a predetermined size or is a square, the affine prediction unit 30372 performs a 6-parameter affine process. On the other hand, when the target PU is smaller than the predetermined size and is not a square, the affine prediction unit 30372 performs a 4-parameter affine process.
  • FIG. 25 is a flowchart illustrating another example of the process in which the inter prediction parameter decoding unit 303 determines the number of control points from which a motion vector is derived based on both the shape and size of the target PU.
  • the inter prediction parameter decoding control unit 3031 first determines whether the merge flag is 1 (SG1). When the merge flag is 0 (N in SE1), the inter prediction parameter decoding control unit 3031 determines the size and shape of the target PU in the same manner as SF1 and SF2 illustrated in FIG. 24 (SG2, SG3).
  • the affine prediction unit 30372 performs the processes SG4 to SG7 (similar to SC3 to SC6 shown in FIG. 19).
  • FIG. 26 is a table showing an example of processing of the affine prediction unit 30372 for each size and shape of the target PU.
  • log2 (puWidth) + log2 (puHeight) is used as a value indicating the size of the target PU, and the threshold is set to 8.
  • the affine prediction unit 30372 when the value indicating the size of the target PU is 6 or 7, the affine prediction unit 30372 has 6 parameters only when the symmetric PU is a square (in the case of 8 * 8 in FIG. 26). Perform affine processing. In other cases, the affine prediction unit 30372 performs 4-parameter affine processing. On the other hand, when the size of the target PU is 8, the affine prediction unit 30372 performs 6-parameter affine processing regardless of the shape of the target PU.
  • FIG. 27 is a table showing another example of processing of the affine prediction unit 30372 for each size and shape of the target PU.
  • min puWidth, puHeight
  • the threshold is set to 16.
  • the affine prediction unit 30372 when the value indicating the size of the target PU is 4 or 8, the affine prediction unit 30372 has six parameters only when the target PU is a square (in the case of 8 * 8 in FIG. 27). Perform affine processing. In other cases, the affine prediction unit 30372 performs 4-parameter affine processing. On the other hand, when the size of the target PU is 16, the affine prediction unit 30372 performs 6-parameter affine processing.
  • the inter prediction parameter decoding unit 303 calculates motion vectors of two control points and performs 4-parameter affine processing according to the shape and size of the target block, or calculates motion vectors of three control points. To switch whether to perform 6-parameter affine processing.
  • SG1 encodes and decodes two motion vectors (difference vectors) or encodes three motion vectors (difference vectors) according to the shape and size of the target block. You may switch whether to decode.
  • SG1 derives the motion vector of the control point by referring to the two motion vectors according to the shape and size of the target block, or refers to the control point by referring to the three motion vectors.
  • the motion vector of each sub-block is derived by referring to two motion vectors according to the shape and size of the target block, or the motion vector of each sub-block is derived by referring to three motion vectors. You may switch between.
  • the matching prediction unit 30373 derives the motion vector spMvLX of the sub-blocks constituting the PU by performing either bilateral matching or template matching.
  • FIG. 14 is a diagram for explaining (a) bilateral matching and (b) template matching.
  • the matching prediction mode is selected as one merge candidate (matching candidate) in the merge mode.
  • the matching prediction unit 30373 derives a motion vector by matching regions in a plurality of reference images, assuming that the object moves at a constant velocity.
  • bilateral matching it is assumed that a certain object passes through a certain region of the reference image A, a target PU of the target picture Cur_Pic, and a certain region of the reference image B with constant velocity motion, and matching between the reference images A and B To derive the motion vector of the target PU.
  • a motion vector is derived by matching the adjacent region Temp_Cur of the target PU with the adjacent region Temp_L0 of the reference block on the reference picture.
  • (MV0_x, MV0_y) is determined so that the matching cost between Block_A and Block_B is minimized.
  • the (MV0_x, MV0_y) derived in this way is a motion vector assigned to the sub-block.
  • (b) of FIG. 14 is a figure for demonstrating a template matching (Template
  • one reference picture is referred to in order to derive a motion vector of the sub-block Cur_block in the target picture Cur_Pic.
  • reference picture A an area in a reference image designated by a reference picture index Ref0
  • (XPos0, yPos0) (xCur + MV0_x, yCur + MV0_y)
  • the reference block Block_A having the upper left coordinates (xPos0, yPos0) specified by is specified.
  • (xCur, yCur) is the upper left coordinate of the sub-block Cur_block.
  • a template region Temp_Cur adjacent to the sub-block Cur_block in the target picture Cur_Pic and a template region Temp_L0 adjacent to the Block_A in the reference picture A are set.
  • the template region Temp_Cur is composed of a region adjacent to the upper side of the sub-block Cur_block and a region adjacent to the left side of the sub-block Cur_block.
  • the template area Temp_L0 is composed of an area adjacent to the upper side of Block_A and an area adjacent to the left side of Block_A.
  • FIG. 7 is a schematic diagram illustrating the configuration of the merge prediction parameter deriving unit 3036 according to the present embodiment.
  • the merge prediction parameter derivation unit 3036 includes a merge candidate derivation unit 30361, a merge candidate selection unit 30362, and a merge candidate storage unit 30363.
  • the merge candidate storage unit 30363 stores the merge candidates input from the merge candidate derivation unit 30361.
  • the merge candidate includes a prediction list use flag predFlagLX, a motion vector mvLX, and a reference picture index refIdxLX.
  • an index is assigned to the stored merge candidate according to a predetermined rule.
  • the merge candidate derivation unit 30361 derives a merge candidate using the motion vector of the adjacent PU that has already been decoded and the reference picture index refIdxLX as they are.
  • merge candidates may be derived using affine prediction. This method is described in detail below.
  • the merge candidate derivation unit 30361 may use affine prediction for a spatial merge candidate derivation process, a temporal merge candidate derivation process, a combined merge candidate derivation process, and a zero merge candidate derivation process described later. Affine prediction is performed in units of sub-blocks, and prediction parameters are stored in the prediction parameter memory 307 for each sub-block. Alternatively, the affine prediction may be performed on a pixel basis.
  • the merge candidate derivation unit 30361 reads and reads the prediction parameters (prediction list use flag predFlagLX, motion vector mvLX, reference picture index refIdxLX) stored in the prediction parameter memory 307 according to a predetermined rule.
  • the predicted parameters are derived as merge candidates.
  • the prediction parameter to be read is a prediction parameter related to each of the PUs within a predetermined range from the target PU (for example, all or part of the PUs in contact with the lower left end, the upper left end, and the upper right end of the target PU, respectively).
  • the merge candidates derived by the merge candidate deriving unit 30361 are stored in the merge candidate storage unit 30363.
  • the merge candidate derivation unit 30361 reads the prediction parameter of the PU in the reference image including the lower right coordinate of the target PU from the prediction parameter memory 307 and sets it as a merge candidate.
  • the reference picture designation method may be, for example, the reference picture index refIdxLX designated in the slice header, or may be designated by using the smallest reference picture index refIdxLX of the PU adjacent to the target PU.
  • the merge candidates derived by the merge candidate deriving unit 30361 are stored in the merge candidate storage unit 30363.
  • the merge candidate derivation unit 30361 uses two different derived merge candidate motion vectors and reference picture indexes already derived and stored in the merge candidate storage unit 30363 as the motion vectors of L0 and L1, respectively. Combined merge candidates are derived by combining them. The merge candidates derived by the merge candidate deriving unit 30361 are stored in the merge candidate storage unit 30363.
  • the merge candidate derivation unit 30361 derives a merge candidate in which the reference picture index refIdxLX is 0 and both the X component and the Y component of the motion vector mvLX are 0.
  • the merge candidates derived by the merge candidate deriving unit 30361 are stored in the merge candidate storage unit 30363.
  • the merge candidate selection unit 30362 selects, from the merge candidates stored in the merge candidate storage unit 30363, a merge candidate to which an index corresponding to the merge index merge_idx input from the inter prediction parameter decoding control unit 3031 is assigned. As an inter prediction parameter.
  • the merge candidate selection unit 30362 stores the selected merge candidate in the prediction parameter memory 307 and outputs it to the prediction image generation unit 308.
  • FIG. 8 is a schematic diagram showing the configuration of the AMVP prediction parameter derivation unit 3032 according to this embodiment.
  • the AMVP prediction parameter derivation unit 3032 includes a vector candidate derivation unit 3033, a vector candidate selection unit 3034, and a vector candidate storage unit 3035.
  • the vector candidate derivation unit 3033 derives a prediction vector candidate from the already processed PU motion vector stored in the prediction parameter memory 307 based on the reference picture index refIdx, and the prediction vector candidate list mvpListLX [] in the vector candidate storage unit 3035 To store.
  • the vector candidate selection unit 3034 selects the motion vector mvpListLX [mvp_LX_idx] indicated by the prediction vector index mvp_LX_idx from the prediction vector candidates in the prediction vector candidate list mvpListLX [] as the prediction vector mvpLX.
  • the vector candidate selection unit 3034 outputs the selected prediction vector mvpLX to the addition unit 3035.
  • a prediction vector candidate is a PU for which decoding processing has been completed, and is derived by scaling a motion vector of a PU (for example, an adjacent PU) within a predetermined range from the target PU.
  • the adjacent PU includes a PU that is spatially adjacent to the target PU, for example, the left PU and the upper PU, and an area that is temporally adjacent to the target PU, for example, the same position as the target PU, and has different display times. Includes regions derived from PU prediction parameters.
  • the addition unit 3035 adds the prediction vector mvpLX input from the AMVP prediction parameter derivation unit 3032 and the difference vector mvdLX input from the inter prediction parameter decoding control unit 3031 to calculate a motion vector mvLX.
  • the adding unit 3035 outputs the calculated motion vector mvLX to the predicted image generation unit 308 and the prediction parameter memory 307.
  • FIG. 11 is a schematic diagram illustrating a configuration of an inter predicted image generation unit 309 included in the predicted image generation unit 308 according to the present embodiment.
  • the inter prediction image generation unit 309 includes a motion compensation unit (prediction image generation device) 3091 and a weight prediction unit 3094.
  • the motion compensation unit 3091 receives the reference picture index refIdxLX from the reference picture memory 306 based on the inter prediction parameters (prediction list use flag predFlagLX, reference picture index refIdxLX, motion vector mvLX) input from the inter prediction parameter decoding unit 303.
  • an interpolation image motion compensation image
  • a motion compensation image is generated by reading out a block at a position shifted by the motion vector mvLX starting from the position of the target PU.
  • a motion compensation image is generated by applying a filter for generating a pixel at a decimal position called a motion compensation filter.
  • the weight prediction unit 3094 generates a prediction image of the PU by multiplying the input motion compensation image predSamplesLX by a weight coefficient.
  • the input motion compensated image predSamplesLX (LX is L0 or L1) is represented by the number of pixel bits bitDepth The following equation is processed to match
  • predSamples [X] [Y] Clip3 (0, (1 ⁇ bitDepth)-1, (predSamplesLX [X] [Y] + offset1) >> shift1)
  • shift1 14 ⁇ bitDepth
  • offset1 1 ⁇ (shift1-1).
  • predSamples [X] [Y] Clip3 (0, (1 ⁇ bitDepth)-1, (predSamplesL0 [X] [Y] + predSamplesL1 [X] [Y] + offset2) >> shift2)
  • shift2 15-bitDepth
  • offset2 1 ⁇ (shift2-1).
  • the weight prediction unit 3094 when performing weight prediction, derives the weight prediction coefficient w0 and the offset o0 from the encoded data, and performs the processing of the following equation.
  • predSamples [X] [Y] Clip3 (0, (1 ⁇ bitDepth)-1, ((predSamplesLX [X] [Y] * w0 + 2 ⁇ (log2WD-1)) >> log2WD) + o0)
  • log2WD is a variable indicating a predetermined shift amount.
  • the weight prediction unit 3094 when performing weight prediction, derives weight prediction coefficients w0, w1, o0, o1 from the encoded data, and performs the processing of the following equation.
  • predSamples [X] [Y] Clip3 (0, (1 ⁇ bitDepth)-1, (predSamplesL0 [X] [Y] * w0 + predSamplesL1 [X] [Y] * w1 + ((o0 + o1 + 1) ⁇ log2WD)) >> (log2WD + 1)) ⁇ Motion vector decoding process> Below, with reference to FIG. 9, the motion vector decoding process which concerns on this embodiment is demonstrated concretely.
  • the motion vector decoding process includes a process of decoding syntax elements related to inter prediction (also referred to as motion syntax decoding process) and a process of deriving a motion vector ( Motion vector derivation process).
  • FIG. 9 is a flowchart illustrating a flow of inter prediction syntax decoding processing performed by the inter prediction parameter decoding control unit 3031. In the following description of FIG. 9, each process is performed by the inter prediction parameter decoding control unit 3031 unless otherwise specified.
  • merge_flag! 0 is true (Y in S102)
  • merge index merge_idx is decoded in S103, and the motion vector derivation process (S111) in the merge mode is executed.
  • inter_pred_idc is other than PRED_L1 (PRED_L0 or PRED_BI)
  • the reference picture index refIdxL0, the difference vector parameter mvdL0, and the prediction vector index mvp_L0_idx are decoded in S105, S106, and S107, respectively.
  • inter_pred_idc is other than PRED_L0 (PRED_L1 or PRED_BI)
  • the reference picture index refIdxL1 is decoded in S108, S109, and S110.
  • a motion vector derivation process (S112) in the AMVP mode is executed.
  • the affine prediction unit 30372 performs either 4-parameter affine or 6-parameter affine processing based on the shape or / and size of the target PU. Therefore, highly reliable affine parameters can be derived. It is also possible to reduce the amount of code when the affine parameter is explicitly encoded.
  • the inter prediction parameter decoding unit 303 determines whether to perform 4-parameter affine or 6-parameter affine processing based on the shape or size of the target PU. In the present embodiment, the inter prediction parameter decoding unit 303 selects any one of 4-parameter affine and 6-parameter affine based on the shape or size of a block (adjacent block, merge reference block in the case of merging) adjacent to the target PU. Decide whether to perform processing. Note that the configuration of the inter prediction parameter decoding unit 303 is the same as that described in the first embodiment, and therefore will not be described again.
  • FIG. 28 is a flowchart illustrating an example of processing in which the inter prediction parameter decoding unit 303 determines which of 4-parameter affine and 6-parameter affine is to be performed based on the shape of an adjacent block.
  • the inter prediction parameter decoding control unit 3031 determines whether the width (neighWidth) and the height (neighHeight) of adjacent blocks are equal (SH1).
  • neighborhWidth and neighborhHeight are described as “width” and “height”, respectively.
  • the affine prediction unit 30372 When the width and height of adjacent blocks are equal (Y in SH1), the affine prediction unit 30372 (or AMVP prediction parameter decoding unit 3032) performs 6-parameter affine processing (SH2). When the width of the target PU is not equal to the height of the target PU (N in SH1), the affine prediction unit 30372 (or AMVP prediction parameter decoding unit 3032) performs a 4-parameter affine process (SH3).
  • FIG. 29 is a diagram for explaining an example of selection of the number of control points by the processing shown in FIG.
  • PU indicates a target PU
  • RB indicates an adjacent block.
  • the affine prediction unit 30372 refers to two motion vectors (for example, v2 and v3) on adjacent blocks, derives a motion vector of two control points (for example, V1 and V2) on the target block, and processes four-parameter affine Execute.
  • the affine prediction unit 30372 derives a motion vector of two control points (for example, V1 and V2) on the target block by referring to two motion vectors (for example, v1 and v3) on the adjacent block, and performs a four-parameter affine process Execute.
  • the affine prediction unit 30372 derives motion vectors of three control points (for example, V0, V1, and V2) on the target block by referring to three motion vectors (for example, v1, v2, and v3) on adjacent blocks, and 6 Perform parameter affine processing.
  • the affine prediction unit 30372 refers to three motion vectors (for example, v0, v1, and v2) on adjacent blocks, derives motion vectors of three control points (for example, V0, V1, and V2) on the target block, and 6 Perform parameter affine processing.
  • the affine prediction unit 30372 has been described to perform 4-parameter affine or 6-parameter affine processing.
  • the AMVP prediction parameter decoding unit 3032 has 4-parameter affine or 6-parameter affine processing. Affine processing may be performed.
  • FIG. 30 is a flowchart illustrating an example of processing in which the inter prediction parameter decoding unit 303 determines whether to perform 4-parameter affine or 6-parameter affine processing based on the size of an adjacent block.
  • the inter prediction parameter decoding control unit 3031 first determines whether a value indicating the size of an adjacent block is equal to or greater than a predetermined threshold (SI1). When the value indicating the size of the adjacent block is equal to or greater than a predetermined threshold (Y in SI1), the affine prediction unit 30372 (or AMVP prediction parameter decoding unit 3032) performs a 6-parameter affine process (SI2). When the value indicating the size of the adjacent block is not equal to or greater than the predetermined threshold (N in SI1), the affine prediction unit 30372 (or AMVP prediction parameter decoding unit 3032) performs 4-parameter affine processing (SI3).
  • FIG. 31 is a diagram for explaining an example of selection of the number of control points by the process shown in FIG.
  • PU indicates a target PU
  • RB indicates an adjacent block.
  • log2 (neighWidth) + log2 (neighHeight) is used as a value indicating the size of the adjacent block.
  • FIGS. 31A and 31B show examples in which the size of the adjacent block is smaller than the predetermined threshold TH.
  • FIGS. 31C and 31D show that the size of the adjacent block is equal to or larger than the predetermined threshold TH.
  • the size of the adjacent block is smaller than a predetermined threshold TH (log2 (neighWidth) + log2 (neighHeight) ⁇ TH).
  • TH log2 (neighWidth) + log2 (neighHeight) ⁇ TH.
  • the affine prediction unit 30372 refers to two motion vectors (for example, v2 and v3) on adjacent blocks, derives a motion vector of two control points (for example, V1 and V2) on the target block, and processes four-parameter affine Execute.
  • the size of the adjacent block is smaller than the predetermined threshold TH (log2 (neighWidth) + log2 (neighHeight) ⁇ TH). Therefore, the affine prediction unit 30372 derives a motion vector of two control points (for example, V1 and V2) on the target block by referring to two motion vectors (for example, v1 and v3) on the adjacent block, and performs a four-parameter affine process Execute.
  • TH log2 (neighWidth) + log2 (neighHeight) ⁇ TH
  • the value indicating the size of the target PU for example, the following can be used. Max (neighWidth, neighHeight) ⁇ Min (neighWidth, neighHeight) ⁇ NeighWidth + neighHeight ⁇ NeighWidth * neighHeight ⁇ Log2 (neighWidth) + log2 (neighHeight)
  • the value indicating the size of the target PU is not limited to the above example.
  • the determination on the size of the adjacent block may be as follows. -Is the target PU size larger than a predetermined threshold? -Is the size of the target PU less than or equal to a predetermined threshold? -Is the size of the target PU smaller than a predetermined threshold?
  • the affine prediction unit 30372 performs either 4-parameter affine or 6-parameter affine processing based on the shape or size of the adjacent block.
  • Such an inter prediction parameter decoding unit 303 can also derive highly reliable affine parameters. It is also possible to reduce the amount of code when the affine parameter is explicitly encoded.
  • the inter prediction parameter decoding unit 303 determines whether to perform 4-parameter affine or 6-parameter affine processing based on the shape or size of the target PU. This embodiment relates to selection of control points in a four parameter affine. In the present embodiment, the inter prediction parameter decoding unit 303 may switch either 4-parameter affine or 6-parameter affine processing, or may always perform 4-parameter affine processing. The inter prediction parameter decoding unit 303 of the present embodiment determines the position of the control point from which the motion vector used for the 4-parameter affine is derived based on the shape of the target PU.
  • FIG. 32 is a flowchart of processing in which the inter prediction parameter decoding unit 303 determines the position of a control point from which a motion vector is derived based on the shape of the target PU.
  • the inter prediction parameter decoding control unit 3031 first determines whether the target PU is a square (SJ1). When the target PU is a square (Y in SJ1), the inter prediction parameter decoding control unit 3031 uses two vertices on the diagonal of the target PU as control points (SJ2).
  • the inter prediction parameter decoding control unit 3031 uses two vertices sandwiching the long side of the target PU as control points (SJ3). Thereafter, the affine prediction unit 30372 (or AMVP prediction parameter decoding unit 3032) performs four-parameter affine processing using the selected control point (SJ4).
  • FIG. 33 is a diagram illustrating an example of the position of the control point determined by the inter prediction parameter decoding unit 303 of the present embodiment.
  • the inter prediction parameter decoding unit 303 assigns two vertices (for example, control points V1 and V2) on the diagonal line of the target PU to 4 It is determined as a control point used for parameter affine processing.
  • the inter prediction parameter decoding unit 303 uses the two vertices sandwiching the long side of the target PU for 4-parameter affine processing. It is determined as a control point to be used. Specifically, in the example illustrated in FIG. 33B, for example, the inter prediction parameter decoding unit 303 derives motion vectors of the control points V0 and V2, and uses the motion vectors for 4-parameter affine. Also, for example, in the example shown in (c) of FIG. 33, the inter prediction parameter decoding unit 303 derives the motion vectors of the control points V0 and V1, and uses the motion vectors for the 4-parameter affine.
  • the inter prediction parameter decoding unit 303 of the present embodiment determines the position of the control point according to the shape of the target PU. Therefore, the accuracy of the motion vector used for the 4-parameter affine by the inter prediction parameter decoding unit 303 is improved.
  • the inter prediction parameter decoding unit 303 switches the control points to be referenced in three patterns when the shape of the target PU is a square, a horizontally long rectangle, and a vertically long rectangle.
  • the following structures may be sufficient.
  • the inter prediction parameter decoding unit 303 determines whether to perform 4-parameter affine processing or 6-parameter affine processing based on the shape or size of adjacent blocks. This embodiment relates to selection of control points in a four parameter affine.
  • the inter prediction parameter decoding unit 303 may switch either 4-parameter affine or 6-parameter affine processing, or may always perform 4-parameter affine processing.
  • the inter prediction parameter decoding unit 303 changes the control points used for the 4-parameter affine processing according to the shape of the adjacent block. Specifically, the inter prediction parameter decoding unit 303 determines the position of the control point in the adjacent block from which the motion vector used for the 4-parameter affine is derived based on the shape of the adjacent block.
  • FIG. 34 is a flowchart of a process in which the inter prediction parameter decoding unit 303 determines the position of the adjacent block point used for deriving the motion vector of the control point based on the shape of the adjacent block.
  • the inter prediction parameter decoding control unit 3031 first determines whether the adjacent block is a square (SK1). When the adjacent block is a square (Y in SK1), the inter prediction parameter decoding control unit 3031 determines two points on the diagonal line of the adjacent block to be used for derivation of the motion vector of the control point (SK2).
  • the inter prediction parameter decoding control unit 3031 determines the points used for deriving the motion vector of the control point as two points sandwiching the long side of the adjacent block (SK3). Thereafter, the affine prediction unit 30372 (or AMVP prediction parameter decoding unit 3032) derives a motion vector of the control point using the points of the selected adjacent block, and performs 4-parameter affine processing (SK4).
  • FIG. 35 is a diagram illustrating an example of control point positions determined by the inter prediction parameter decoding unit 303 of the present embodiment.
  • the inter prediction parameter decoding unit 303 positions two vertices on the diagonal line of the adjacent block (for example, the upper left position of the adjacent block).
  • the motion vectors of two control points (for example, V1 and V2) on the target block are derived by referring to the motion vectors of the point v0 and the point v3 located on the lower right), and the four-parameter affine processing is executed.
  • the inter prediction parameter decoding unit 303 refers to the motion vectors of the two vertices sandwiching the long side of the adjacent block.
  • motion vectors of two control points (for example, V1 and V2) on the target block are derived, and a 4-parameter affine process is executed.
  • the inter prediction parameter decoding unit 303 determines the height of the adjacent block.
  • the motion vectors of two points located at both ends of the side are used.
  • the inter prediction parameter decoding unit 303 uses the side in the width direction of the adjacent block.
  • Motion vectors of two points located at both ends are used.
  • the inter prediction parameter decoding unit 303 of the present embodiment determines the position of the vertex in the adjacent block used for deriving the motion vectors of the two control points on the target block according to the shape of the adjacent block. Such an inter prediction parameter decoding unit 303 also improves the accuracy of motion vectors used by the inter prediction parameter decoding unit 303 for 4-parameter affine.
  • the inter prediction parameter decoding unit 303 determines the positions of the vertices in the adjacent block used for deriving the motion vectors of the two control points on the target block based on the shape of the adjacent block. In the present embodiment, the inter prediction parameter decoding unit 303 determines the position of the control point in the target PU based on the shape of the adjacent block.
  • FIG. 36 is a flowchart of processing in which the inter prediction parameter decoding unit 303 determines the position of a control point from which a motion vector is derived based on the shape of an adjacent block.
  • the inter prediction parameter decoding control unit 3031 first determines whether the adjacent block is a square (SL1). When the adjacent block is a square (Y in SL1), the inter prediction parameter decoding control unit 3031 uses two vertices on the diagonal line of the target PU as control points (SL2). When the adjacent block is not square (N in SL1), the inter prediction parameter decoding control unit 3031 sets two vertices sandwiching the side of the target PU adjacent to the adjacent block as control points (SL3). Thereafter, the affine prediction unit 30372 (or AMVP prediction parameter decoding unit 3032) performs 4-parameter affine processing using the selected control point (SL4).
  • SL4 4-parameter affine processing using the selected control point
  • FIG. 37 is a diagram illustrating an example of the position of the control point determined by the inter prediction parameter decoding unit 303 of the present embodiment.
  • the inter prediction parameter decoding unit 303 determines two vertices (for example, V0 and V3) on the diagonal line of the target PU. It is determined as a control point used for the 4-parameter affine.
  • the inter prediction parameter decoding unit 303 selects two vertices sandwiching the side of the target PU that is in contact with the adjacent block. It is determined as a control point used for the 4-parameter affine. For example, as illustrated in (c) and (e) of FIG. 37, when the adjacent block is in contact with the left side of the target PU, the inter prediction parameter decoding unit 303 determines the side of the target PU in contact with the adjacent block. Two points (point V1 located at the upper left of the target PU and point V3 located at the lower left of the target PU) are set as control points. For example, as illustrated in (d) or (f) of FIG.
  • the inter prediction parameter decoding unit 303 determines the side of the target PU in contact with the adjacent block. Two points (point V0 located at the upper left of the target PU and point V1 located at the upper right) of the target PU are set as control points.
  • the inter prediction parameter decoding unit 303 of the present embodiment determines the position of the control point in the adjacent block according to the shape of the adjacent block. Such an inter prediction parameter decoding unit 303 also improves the accuracy of motion vectors used by the inter prediction parameter decoding unit 303 for 4-parameter affine.
  • FIG. 4 is a block diagram illustrating a configuration of the image encoding device 11 according to the present embodiment.
  • the image encoding device 11 includes a prediction image generation unit 101, a subtraction unit 102, a DCT / quantization unit 103, an entropy encoding unit 104, an inverse quantization / inverse DCT unit 105, an addition unit 106, a loop filter 107, and a prediction parameter memory.
  • the prediction parameter encoding unit 111 includes an inter prediction parameter encoding unit 112 (prediction image generation device) and an intra prediction parameter encoding unit 113.
  • the predicted image generation unit 101 generates, for each picture of the image T, a predicted image P of the prediction unit PU for each encoding unit CU that is an area obtained by dividing the picture.
  • the predicted image generation unit 101 reads a decoded block from the reference picture memory 109 based on the prediction parameter input from the prediction parameter encoding unit 111.
  • the prediction parameter input from the prediction parameter encoding unit 111 is, for example, a motion vector in the case of inter prediction.
  • the predicted image generation unit 101 reads a block at a position on the reference image indicated by the motion vector with the target PU as a starting point.
  • the prediction parameter is, for example, an intra prediction mode.
  • a pixel value of an adjacent PU used in the intra prediction mode is read from the reference picture memory 109, and a predicted image P of the PU is generated.
  • the predicted image generation unit 101 generates a predicted image P of the PU using one prediction method among a plurality of prediction methods for the read reference picture block.
  • the predicted image generation unit 101 outputs the generated predicted image P of the PU to the subtraction unit 102.
  • FIG. 6 is a schematic diagram illustrating a configuration of an inter predicted image generation unit 1011 included in the predicted image generation unit 101.
  • the inter prediction image generation unit 1011 includes a motion compensation unit 10111 and a weight prediction unit 10112. Since the motion compensation unit 10111 and the weight prediction unit 10112 have the same configurations as the motion compensation unit 3091 and the weight prediction unit 3094 described above, description thereof is omitted here.
  • the prediction image generation unit 101 generates a prediction image P of the PU based on the pixel value of the reference block read from the reference picture memory, using the parameter input from the prediction parameter encoding unit.
  • the predicted image generated by the predicted image generation unit 101 is output to the subtraction unit 102 and the addition unit 106.
  • the subtraction unit 102 subtracts the signal value of the predicted image P of the PU input from the predicted image generation unit 101 from the pixel value of the corresponding PU of the image T, and generates a residual signal.
  • the subtraction unit 102 outputs the generated residual signal to the DCT / quantization unit 103.
  • the DCT / quantization unit 103 performs DCT on the residual signal input from the subtraction unit 102 and calculates a DCT coefficient.
  • the DCT / quantization unit 103 quantizes the calculated DCT coefficient to obtain a quantization coefficient.
  • the DCT / quantization unit 103 outputs the obtained quantization coefficient to the entropy coding unit 104 and the inverse quantization / inverse DCT unit 105.
  • the entropy encoding unit 104 receives the quantization coefficient from the DCT / quantization unit 103 and receives the encoding parameter from the prediction parameter encoding unit 111.
  • Examples of input encoding parameters include codes such as a reference picture index refIdxLX, a prediction vector index mvp_LX_idx, a difference vector mvdLX, a prediction mode predMode, and a merge index merge_idx.
  • the entropy encoding unit 104 generates an encoded stream Te by entropy encoding the input quantization coefficient and encoding parameter, and outputs the generated encoded stream Te to the outside.
  • the inverse quantization / inverse DCT unit 105 inversely quantizes the quantization coefficient input from the DCT / quantization unit 103 to obtain a DCT coefficient.
  • the inverse quantization / inverse DCT unit 105 performs inverse DCT on the obtained DCT coefficient to calculate a residual signal.
  • the inverse quantization / inverse DCT unit 105 outputs the calculated residual signal to the addition unit 106.
  • the addition unit 106 adds the signal value of the prediction image P of the PU input from the prediction image generation unit 101 and the signal value of the residual signal input from the inverse quantization / inverse DCT unit 105 for each pixel, and performs decoding. Generate an image.
  • the adding unit 106 stores the generated decoded image in the reference picture memory 109.
  • the loop filter 107 performs a deblocking filter, a sample adaptive offset (SAO), and an adaptive loop filter (ALF) on the decoded image generated by the adding unit 106.
  • SAO sample adaptive offset
  • ALF adaptive loop filter
  • the prediction parameter memory 108 stores the prediction parameter generated by the encoding parameter determination unit 110 at a predetermined position for each encoding target picture and CU.
  • the reference picture memory 109 stores the decoded image generated by the loop filter 107 at a predetermined position for each picture to be encoded and each CU.
  • the encoding parameter determination unit 110 selects one set from among a plurality of sets of encoding parameters.
  • the encoding parameter is a parameter to be encoded that is generated in association with the above-described prediction parameter or the prediction parameter.
  • the predicted image generation unit 101 generates a predicted image P of the PU using each of these encoding parameter sets.
  • the encoding parameter determination unit 110 calculates a cost value indicating the amount of information and the encoding error for each of a plurality of sets.
  • the cost value is, for example, the sum of a code amount and a square error multiplied by a coefficient ⁇ .
  • the code amount is the information amount of the encoded stream Te obtained by entropy encoding the quantization error and the encoding parameter.
  • the square error is the sum between pixels regarding the square value of the residual value of the residual signal calculated by the subtracting unit 102.
  • the coefficient ⁇ is a real number larger than a preset zero.
  • the encoding parameter determination unit 110 selects a set of encoding parameters that minimizes the calculated cost value.
  • the entropy encoding unit 104 outputs the selected set of encoding parameters to the outside as the encoded stream Te, and does not output the set of unselected encoding parameters.
  • the encoding parameter determination unit 110 stores the determined encoding parameter in the prediction parameter memory 108.
  • the prediction parameter encoding unit 111 derives a format for encoding from the parameters input from the encoding parameter determination unit 110 and outputs the format to the entropy encoding unit 104. Deriving the format for encoding is, for example, deriving a difference vector from a motion vector and a prediction vector. Also, the prediction parameter encoding unit 111 derives parameters necessary for generating a prediction image from the parameters input from the encoding parameter determination unit 110 and outputs the parameters to the prediction image generation unit 101.
  • the parameter necessary for generating the predicted image is, for example, a motion vector in units of sub-blocks.
  • the inter prediction parameter encoding unit 112 derives an inter prediction parameter such as a difference vector based on the prediction parameter input from the encoding parameter determination unit 110.
  • the inter prediction parameter encoding unit 112 derives parameters necessary for generating a prediction image to be output to the prediction image generating unit 101, and an inter prediction parameter decoding unit 303 (see FIG. 5 and the like) derives inter prediction parameters.
  • Some of the configurations are the same as the configuration to be performed. The configuration of the inter prediction parameter encoding unit 112 will be described later.
  • the intra prediction parameter encoding unit 113 derives a format (for example, MPM_idx, rem_intra_luma_pred_mode) for encoding from the intra prediction mode IntraPredMode input from the encoding parameter determination unit 110.
  • a format for example, MPM_idx, rem_intra_luma_pred_mode
  • the inter prediction parameter encoding unit 112 is a unit corresponding to the inter prediction parameter decoding unit 303 in FIG. 12, and the configuration is shown in FIG.
  • the inter prediction parameter encoding unit 112 includes an inter prediction parameter encoding control unit 1121, an AMVP prediction parameter deriving unit 1122 (affine motion vector deriving unit, affine motion vector deriving device), a subtracting unit 1123, a sub-block prediction parameter deriving unit 1125, And a partition mode deriving unit, a merge flag deriving unit, an inter prediction identifier deriving unit, a reference picture index deriving unit, a vector difference deriving unit, etc.
  • the deriving unit, the reference picture index deriving unit, and the vector difference deriving unit derive a PU partition mode part_mode, a merge flag merge_flag, an inter prediction identifier inter_pred_idc, a reference picture index refIdxLX, and a difference vector mvdLX, respectively.
  • the inter prediction parameter encoding unit 112 outputs the motion vector (mvLX, subMvLX), the reference picture index refIdxLX, the PU partition mode part_mode, the inter prediction identifier inter_pred_idc, or information indicating these to the prediction image generating unit 101.
  • inter prediction parameter encoding unit 112 entropy PU partition mode part_mode, merge flag merge_flag, merge index merge_idx, inter prediction identifier inter_pred_idc, reference picture index refIdxLX, prediction vector index mvp_LX_idx, difference vector mvdLX, sub-block prediction mode flag subPbMotionFlag.
  • the data is output to the encoding unit 104.
  • the inter prediction parameter encoding control unit 1121 includes a merge index deriving unit 11211 and a vector candidate index deriving unit 11212.
  • the merge index derivation unit 11211 compares the motion vector and reference picture index input from the encoding parameter determination unit 110 with the motion vector and reference picture index of the merge candidate PU read from the prediction parameter memory 108, and performs merge An index merge_idx is derived and output to the entropy encoding unit 104.
  • a merge candidate is a reference PU (for example, a reference PU that touches the lower left end, upper left end, and upper right end of the encoding target block) within a predetermined range from the encoding target CU to be encoded.
  • the PU has been processed.
  • the vector candidate index deriving unit 11212 derives a prediction vector index mvp_LX_idx.
  • the sub-block prediction parameter derivation unit 1125 includes any of spatial sub-block prediction, temporal sub-block prediction, affine prediction, and matching prediction according to the value of subPbMotionFlag.
  • a motion vector and a reference picture index for subblock prediction are derived.
  • the motion vector and the reference picture index are derived by reading out the motion vector and the reference picture index such as the adjacent PU and the reference picture block from the prediction parameter memory 108.
  • the sub-block prediction parameter deriving unit 1125 has the same configuration as the above-described sub-block prediction parameter deriving unit 3037 (see FIG. 12).
  • the AMVP prediction parameter derivation unit 1122 has the same configuration as the AMVP prediction parameter derivation unit 3032 (see FIG. 12).
  • the motion vector mvLX is input from the encoding parameter determination unit 110 to the AMVP prediction parameter derivation unit 1122.
  • the AMVP prediction parameter derivation unit 1122 derives a prediction vector mvpLX based on the input motion vector mvLX.
  • the AMVP prediction parameter derivation unit 1122 outputs the derived prediction vector mvpLX to the subtraction unit 1123. Note that the reference picture index refIdx and the prediction vector index mvp_LX_idx are output to the entropy encoding unit 104.
  • the subtraction unit 1123 subtracts the prediction vector mvpLX input from the AMVP prediction parameter derivation unit 1122 from the motion vector mvLX input from the coding parameter determination unit 110 to generate a difference vector mvdLX.
  • the difference vector mvdLX is output to the entropy encoding unit 104.
  • the entropy decoding unit 301 the prediction parameter decoding unit 302, the loop filter 305, the predicted image generation unit 308, the inverse quantization / inverse DCT.
  • the prediction parameter encoding unit 111 may be realized by a computer.
  • the program for realizing the control function may be recorded on a computer-readable recording medium, and the program recorded on the recording medium may be read by a computer system and executed.
  • the “computer system” is a computer system built in either the image encoding device 11 or the image decoding device 31 and includes hardware such as an OS and peripheral devices.
  • the “computer-readable recording medium” refers to a storage device such as a portable medium such as a flexible disk, a magneto-optical disk, a ROM, a CD-ROM, or a hard disk built in a computer system.
  • the “computer-readable recording medium” is a medium that dynamically holds a program for a short time, such as a communication line when transmitting a program via a network such as the Internet or a communication line such as a telephone line,
  • a volatile memory inside a computer system serving as a server or a client may be included and a program that holds a program for a certain period of time.
  • the program may be a program for realizing a part of the functions described above, and may be a program capable of realizing the functions described above in combination with a program already recorded in a computer system.
  • part or all of the image encoding device 11 and the image decoding device 31 in the above-described embodiment may be realized as an integrated circuit such as an LSI (Large Scale Integration).
  • LSI Large Scale Integration
  • Each functional block of the image encoding device 11 and the image decoding device 31 may be individually made into a processor, or a part or all of them may be integrated into a processor.
  • the method of circuit integration is not limited to LSI, and may be realized by a dedicated circuit or a general-purpose processor. Further, in the case where an integrated circuit technology that replaces LSI appears due to progress in semiconductor technology, an integrated circuit based on the technology may be used.
  • the image encoding device 11 and the image decoding device 31 described above can be used by being mounted on various devices that perform transmission, reception, recording, and reproduction of moving images.
  • the moving image may be a natural moving image captured by a camera or the like, or an artificial moving image (including CG and GUI) generated by a computer or the like.
  • the image encoding device 11 and the image decoding device 31 described above can be used for transmission and reception of moving images.
  • FIG. 38 is a block diagram illustrating a configuration of a transmission device PROD_A in which the image encoding device 11 is mounted.
  • the transmission apparatus PROD_A modulates a carrier wave with an encoding unit PROD_A1 that obtains encoded data by encoding a moving image, and with the encoded data obtained by the encoding unit PROD_A1.
  • a modulation unit PROD_A2 that obtains a modulation signal and a transmission unit PROD_A3 that transmits the modulation signal obtained by the modulation unit PROD_A2 are provided.
  • the above-described image encoding device 11 is used as the encoding unit PROD_A1.
  • Transmission device PROD_A as a source of moving images to be input to the encoding unit PROD_A1, a camera PROD_A4 that captures moving images, a recording medium PROD_A5 that records moving images, an input terminal PROD_A6 for inputting moving images from the outside, and An image processing unit A7 that generates or processes an image may be further provided.
  • FIG. 38A a configuration in which all of these are provided in the transmission device PROD_A is illustrated, but a part may be omitted.
  • the recording medium PROD_A5 may be a recording of a non-encoded moving image, or a recording of a moving image encoded by a recording encoding scheme different from the transmission encoding scheme. It may be a thing. In the latter case, a decoding unit (not shown) for decoding the encoded data read from the recording medium PROD_A5 in accordance with the recording encoding method may be interposed between the recording medium PROD_A5 and the encoding unit PROD_A1.
  • FIG. 38 is a block diagram showing a configuration of the receiving device PROD_B in which the image decoding device 31 is mounted.
  • the receiving device PROD_B includes a receiving unit PROD_B1 that receives a modulated signal, a demodulating unit PROD_B2 that obtains encoded data by demodulating the modulated signal received by the receiving unit PROD_B1, and a demodulator A decoding unit PROD_B3 that obtains a moving image by decoding the encoded data obtained by the unit PROD_B2.
  • the above-described image decoding device 31 is used as the decoding unit PROD_B3.
  • the receiving device PROD_B is a display destination PROD_B4 for displaying a moving image, a recording medium PROD_B5 for recording a moving image, and an output terminal for outputting the moving image to the outside as a supply destination of the moving image output by the decoding unit PROD_B3 PROD_B6 may be further provided.
  • FIG. 38B illustrates a configuration in which all of these are provided in the receiving device PROD_B, but some of them may be omitted.
  • the recording medium PROD_B5 may be used for recording a non-encoded moving image, or is encoded using a recording encoding method different from the transmission encoding method. May be. In the latter case, an encoding unit (not shown) for encoding the moving image acquired from the decoding unit PROD_B3 according to the recording encoding method may be interposed between the decoding unit PROD_B3 and the recording medium PROD_B5.
  • the transmission medium for transmitting the modulation signal may be wireless or wired.
  • the transmission mode for transmitting the modulated signal may be broadcasting (here, a transmission mode in which the transmission destination is not specified in advance) or communication (here, transmission in which the transmission destination is specified in advance). Refers to the embodiment). That is, the transmission of the modulation signal may be realized by any of wireless broadcasting, wired broadcasting, wireless communication, and wired communication.
  • a terrestrial digital broadcast broadcasting station (broadcasting equipment, etc.) / Receiving station (such as a television receiver) is an example of a transmitting device PROD_A / receiving device PROD_B that transmits and receives a modulated signal by wireless broadcasting.
  • a broadcasting station (such as broadcasting equipment) / receiving station (such as a television receiver) of cable television broadcasting is an example of a transmitting device PROD_A / receiving device PROD_B that transmits and receives a modulated signal by cable broadcasting.
  • a server workstation, etc.
  • Client television receiver, personal computer, smartphone, etc.
  • VOD Video On Demand
  • video sharing service using the Internet is a transmission device that transmits and receives modulated signals via communication.
  • PROD_A / receiving device PROD_B normally, either a wireless or wired transmission medium is used in a LAN, and a wired transmission medium is used in a WAN.
  • the personal computer includes a desktop PC, a laptop PC, and a tablet PC.
  • the smartphone also includes a multi-function mobile phone terminal.
  • the video sharing service client has a function of encoding a moving image captured by the camera and uploading it to the server. That is, the client of the video sharing service functions as both the transmission device PROD_A and the reception device PROD_B.
  • FIG. 39A is a block diagram showing a configuration of a recording apparatus PROD_C equipped with the image encoding device 11 described above.
  • the recording apparatus PROD_C includes an encoding unit PROD_C1 that obtains encoded data by encoding a moving image, and the encoded data obtained by the encoding unit PROD_C1 on the recording medium PROD_M.
  • the above-described image encoding device 11 is used as the encoding unit PROD_C1.
  • the recording medium PROD_M may be of a type built into the recording device PROD_C, such as (1) HDD (Hard Disk Drive) or SSD (Solid State Drive), or (2) SD memory. It may be of the type connected to the recording device PROD_C, such as a card or USB (Universal Serial Bus) flash memory, or (3) DVD (Digital Versatile Disc) or BD (Blu-ray Disc: registration) Or a drive device (not shown) built in the recording device PROD_C.
  • HDD Hard Disk Drive
  • SSD Solid State Drive
  • SD memory such as a card or USB (Universal Serial Bus) flash memory, or (3) DVD (Digital Versatile Disc) or BD (Blu-ray Disc: registration) Or a drive device (not shown) built in the recording device PROD_C.
  • the recording device PROD_C is a camera PROD_C3 that captures moving images as a source of moving images to be input to the encoding unit PROD_C1, an input terminal PROD_C4 for inputting moving images from the outside, and a reception for receiving moving images
  • a unit PROD_C5 and an image processing unit PROD_C6 for generating or processing an image may be further provided.
  • FIG. 39A illustrates a configuration in which the recording apparatus PROD_C includes all of these, but a part of the configuration may be omitted.
  • the receiving unit PROD_C5 may receive a non-encoded moving image, or may receive encoded data encoded by a transmission encoding scheme different from the recording encoding scheme. You may do. In the latter case, a transmission decoding unit (not shown) that decodes encoded data encoded by the transmission encoding method may be interposed between the reception unit PROD_C5 and the encoding unit PROD_C1.
  • Examples of such a recording device PROD_C include a DVD recorder, a BD recorder, an HDD (Hard Disk Drive) recorder, and the like (in this case, the input terminal PROD_C4 or the receiver PROD_C5 is a main source of moving images). .
  • a camcorder in this case, the camera PROD_C3 is a main source of moving images
  • a personal computer in this case, the receiving unit PROD_C5 or the image processing unit C6 is a main source of moving images
  • a smartphone this In this case, the camera PROD_C3 or the reception unit PROD_C5 is a main source of moving images
  • the like is also an example of such a recording apparatus PROD_C.
  • FIG. 39 (b) is a block diagram showing the configuration of a playback device PROD_D equipped with the above-described image decoding device 31.
  • the playback device PROD_D reads a moving image by decoding a read unit PROD_D1 that reads encoded data written to the recording medium PROD_M and a read unit PROD_D1 that reads the encoded data.
  • the above-described image decoding device 31 is used as the decoding unit PROD_D2.
  • the recording medium PROD_M may be of the type built into the playback device PROD_D, such as (1) HDD or SSD, or (2) such as an SD memory card or USB flash memory. It may be of the type connected to the playback device PROD_D, or (3) may be loaded into a drive device (not shown) built in the playback device PROD_D, such as a DVD or BD. Good.
  • the playback device PROD_D has a display unit PROD_D3 that displays a moving image as a supply destination of the moving image output by the decoding unit PROD_D2, an output terminal PROD_D4 that outputs the moving image to the outside, and a transmission unit that transmits the moving image.
  • PROD_D5 may be further provided.
  • FIG. 39B illustrates a configuration in which the playback apparatus PROD_D includes all of these, but a part of the configuration may be omitted.
  • the transmission unit PROD_D5 may transmit a non-encoded moving image, or transmits encoded data encoded by a transmission encoding scheme different from the recording encoding scheme. You may do. In the latter case, it is preferable to interpose an encoding unit (not shown) that encodes a moving image using a transmission encoding method between the decoding unit PROD_D2 and the transmission unit PROD_D5.
  • Examples of such a playback device PROD_D include a DVD player, a BD player, and an HDD player (in this case, an output terminal PROD_D4 to which a television receiver or the like is connected is a main moving image supply destination). .
  • a television receiver in this case, the display PROD_D3 is a main supply destination of moving images
  • a digital signage also referred to as an electronic signboard or an electronic bulletin board
  • the display PROD_D3 or the transmission unit PROD_D5 is the main supply of moving images
  • Desktop PC in this case, output terminal PROD_D4 or transmission unit PROD_D5 is the main video source
  • laptop or tablet PC in this case, display PROD_D3 or transmission unit PROD_D5 is video
  • a smartphone which is a main image supply destination
  • a smartphone in this case, the display PROD_D3 or the transmission unit PROD_D5 is a main moving image supply destination
  • the like are also examples of such a playback device PROD_D.
  • Each block of the image decoding device 31 and the image encoding device 11 described above may be realized in hardware by a logic circuit formed on an integrated circuit (IC chip), or may be a CPU (Central Processing Unit). You may implement
  • IC chip integrated circuit
  • CPU Central Processing Unit
  • each of the above devices includes a CPU that executes instructions of a program that realizes each function, a ROM (Read Memory) that stores the program, a RAM (RandomAccess Memory) that develops the program, the program, and various data.
  • a storage device such as a memory for storing the.
  • the object of the embodiment of the present invention is a record in which the program code (execution format program, intermediate code program, source program) of the control program for each of the above devices, which is software that realizes the above-described functions, is recorded in a computer-readable manner This can also be achieved by supplying a medium to each of the above devices, and reading and executing the program code recorded on the recording medium by the computer (or CPU or MPU).
  • Examples of the recording medium include tapes such as magnetic tapes and cassette tapes, magnetic disks such as floppy (registered trademark) disks / hard disks, CD-ROMs (Compact Disc Read-Only Memory) / MO discs (Magneto-Optical discs).
  • tapes such as magnetic tapes and cassette tapes
  • magnetic disks such as floppy (registered trademark) disks / hard disks
  • CD-ROMs Compact Disc Read-Only Memory
  • MO discs Magnetic-Optical discs
  • IC cards including memory cards
  • Cards such as optical cards
  • Semiconductor memories such as flash ROM, or PLD (Programmable logic device ) Or FPGA (Field Programmable Gate Gate Array) or the like.
  • each of the above devices may be configured to be connectable to a communication network, and the program code may be supplied via the communication network.
  • the communication network is not particularly limited as long as it can transmit the program code.
  • Internet intranet, extranet, LAN (Local Area Network), ISDN (Integrated Services Digital Network), VAN (Value-Added Network), CATV (Community Area Antenna / television / Cable Television), Virtual Private Network (Virtual Private Network) Network), telephone line network, mobile communication network, satellite communication network, and the like.
  • the transmission medium constituting the communication network may be any medium that can transmit the program code, and is not limited to a specific configuration or type.
  • IEEE Institute of Electrical and Electronic Engineers 1394, USB, power line carrier, cable TV line, telephone line, ADSL (Asymmetric Digital Subscriber Line) line, etc. wired such as IrDA (Infrared Data Association) or remote control , BlueTooth (registered trademark), IEEE802.11 wireless, HDR (High Data Rate), NFC (Near Field Communication), DLNA (Digital Living Network Alliance: registered trademark), mobile phone network, satellite line, terrestrial digital broadcasting network, etc. It can also be used wirelessly.
  • the embodiment of the present invention can also be realized in the form of a computer data signal embedded in a carrier wave in which the program code is embodied by electronic transmission.
  • Embodiments of the present invention can be preferably applied to an image decoding apparatus that decodes encoded data in which image data is encoded, and an image encoding apparatus that generates encoded data in which image data is encoded. it can. Further, the present invention can be suitably applied to the data structure of encoded data generated by an image encoding device and referenced by the image decoding device.
  • Image Encoding Device 31 Image Decoding Device 112 Inter Prediction Parameter Encoding Unit (Predicted Image Generating Device) 303 Inter prediction parameter decoding unit (predicted image generation device) 1122, 3032 AMVP prediction parameter deriving unit (affine motion vector deriving unit, affine motion vector deriving device) 30372 Affine prediction unit (affine motion vector deriving unit, affine motion vector deriving device) 309 inter prediction image generation unit (prediction image generation unit)

Landscapes

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

Abstract

L'invention concerne un dispositif de dérivation de vecteur de mouvement affinée qui permet de commuter de manière appropriée entre l'application d'un traitement affiné à 4 paramètres et l'application d'un traitement affiné à 6 paramètres. Selon la présente invention, une unité de dérivation de paramètre de prédiction (prédiction de vecteur de mouvement avanée AMVP) (3032) et une unité de prédiction affinée (30372) : calculent un vecteur de mouvement pour chaque sous-bloc d'une pluralité de sous-blocs qui constituent un bloc cible, en référençant un vecteur de mouvement au niveau d'un point de commande qui a été établi dans un bloc de référence qui partage un sommet avec le bloc cible ; et, en conformité avec la forme et/ou la taille du bloc cible, commuter entre exécuter un traitement affiné à 4 paramètres et exécuter un traitement affiné à 6 paramètres.
PCT/JP2017/030623 2016-09-27 2017-08-25 Dispositif de dérivation de vecteur de mouvement affinée, dispositif de génération d'image de prédiction, dispositif de décodage d'image animée, et dispositif de codage d'image animée WO2018061563A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018542005A JP7026049B2 (ja) 2016-09-27 2017-08-25 アフィン動きベクトル導出装置、予測画像生成装置、動画像復号装置、および動画像符号化装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016188791 2016-09-27
JP2016-188791 2016-09-27

Publications (1)

Publication Number Publication Date
WO2018061563A1 true WO2018061563A1 (fr) 2018-04-05

Family

ID=61762743

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/030623 WO2018061563A1 (fr) 2016-09-27 2017-08-25 Dispositif de dérivation de vecteur de mouvement affinée, dispositif de génération d'image de prédiction, dispositif de décodage d'image animée, et dispositif de codage d'image animée

Country Status (2)

Country Link
JP (1) JP7026049B2 (fr)
WO (1) WO2018061563A1 (fr)

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019223790A1 (fr) * 2018-05-25 2019-11-28 Mediatek Inc. Procédé et appareil de dérivation de prédiction de vecteur de mouvement de mode affine pour système de codage vidéo
WO2019244809A1 (fr) * 2018-06-21 2019-12-26 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Dispositif de codage, dispositif de décodage, procédé de codage, et procédé de décodage
WO2020004080A1 (fr) * 2018-06-27 2020-01-02 キヤノン株式会社 Dispositif de codage d'image, procédé et programme de codage d'image, dispositif de décodage d'image, et procédé et programme de décodage d'image
WO2020006304A1 (fr) * 2018-06-29 2020-01-02 Vid Scale, Inc. Sélection de point de commande adaptative pour un codage vidéo basé sur un modèle de mouvement affiné
WO2020008769A1 (fr) * 2018-07-06 2020-01-09 ソニー株式会社 Dispositif de traitement d'image, procédé de traitement d'image et programme de traitement d'image
WO2020008724A1 (fr) * 2018-07-06 2020-01-09 ソニー株式会社 Dispositif de traitement d'image, procédé de traitement d'image et programme
CN110677645A (zh) * 2018-07-02 2020-01-10 华为技术有限公司 一种图像预测方法及装置
CN110891176A (zh) * 2018-09-10 2020-03-17 华为技术有限公司 基于仿射运动模型的运动矢量预测方法及设备
WO2020060327A1 (fr) * 2018-09-21 2020-03-26 주식회사 엑스리스 Procédé de codage/décodage de signal d'image et dispositif associé
WO2020067709A1 (fr) * 2018-09-25 2020-04-02 디지털인사이트주식회사 Procédé et dispositif de codage ou de décodage d'une image conformément à un mode inter
WO2020076066A1 (fr) * 2018-10-08 2020-04-16 엘지전자 주식회사 Procédé de conception de syntaxe et appareil permettant la réalisation d'un codage à l'aide d'une syntaxe
CN111083487A (zh) * 2018-10-22 2020-04-28 北京字节跳动网络技术有限公司 仿射模式的运动信息的存储
CN111355961A (zh) * 2018-12-24 2020-06-30 华为技术有限公司 一种帧间预测的方法和装置
WO2020138967A1 (fr) * 2018-12-26 2020-07-02 주식회사 엑스리스 Procédé d'encodage/de décodage de signal d'image et dispositif pour cela
CN111373754A (zh) * 2018-10-23 2020-07-03 北京字节跳动网络技术有限公司 仿射编码的自适应控制点选择
JP2020195165A (ja) * 2018-12-28 2020-12-03 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム
CN112189342A (zh) * 2018-05-24 2021-01-05 株式会社Kt 用于处理视频信号的方法和设备
CN112385210A (zh) * 2018-06-20 2021-02-19 联发科技股份有限公司 用于视频编解码***的运动向量缓冲器管理的方法及装置
CN112567749A (zh) * 2018-06-18 2021-03-26 Lg电子株式会社 使用仿射运动预测来处理视频信号的方法和装置
CN112997487A (zh) * 2018-11-15 2021-06-18 北京字节跳动网络技术有限公司 仿射模式与其他帧间编解码工具之间的协调
US11057636B2 (en) * 2018-09-17 2021-07-06 Qualcomm Incorporated Affine motion prediction
JP2021530920A (ja) * 2018-07-17 2021-11-11 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 動きモデルシグナリング
CN113711609A (zh) * 2019-04-19 2021-11-26 北京字节跳动网络技术有限公司 利用光流的预测细化过程中的增量运动矢量
CN114270855A (zh) * 2019-09-20 2022-04-01 Kddi 株式会社 图像解码装置、图像解码方法及程序
JP2022113815A (ja) * 2018-07-13 2022-08-04 エルジー エレクトロニクス インコーポレイティド 映像コーディングシステムにおけるアフィン動き予測に基づいた映像デコード方法及び装置
RU2799588C2 (ru) * 2018-09-21 2023-07-06 Гуандун Оппо Мобайл Телекоммьюникейшнс Корп., Лтд. Способ и устройство для кодирования/декодирования сигналов изображений
US11870974B2 (en) 2018-09-23 2024-01-09 Beijing Bytedance Network Technology Co., Ltd Multiple-hypothesis affine mode
US11924463B2 (en) 2019-04-19 2024-03-05 Beijing Bytedance Network Technology Co., Ltd Gradient calculation in different motion vector refinements
US11997303B2 (en) 2019-04-02 2024-05-28 Beijing Bytedance Network Technology Co., Ltd Bidirectional optical flow based video coding and decoding

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0998424A (ja) * 1995-09-29 1997-04-08 Matsushita Electric Ind Co Ltd アフィン変換パラメータ抽出方法及び装置
JPH09261651A (ja) * 1996-03-27 1997-10-03 Nippon Telegr & Teleph Corp <Ntt> 動画像の動き補償予測符号化方法および装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0998424A (ja) * 1995-09-29 1997-04-08 Matsushita Electric Ind Co Ltd アフィン変換パラメータ抽出方法及び装置
JPH09261651A (ja) * 1996-03-27 1997-10-03 Nippon Telegr & Teleph Corp <Ntt> 動画像の動き補償予測符号化方法および装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CHEN, J. ET AL.: "Algorithm Description of Joint Exploration, Test Model 3", JOINT VIDEO EXPLORATION TEAM (JVET) OF ITU-T SG 16, WP 3, 26 May 2016 (2016-05-26), Geneva, CH, pages 1 - 34, XP030150223 *
DATABASE INSPEC Database accession no. 13797077 *
HUANG, H. ET AL.: "Control-Point Representation and Differential Coding Affine-Motion Compensation", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, vol. 23, no. 10, 27 March 2013 (2013-03-27), pages 1651 - 1660, XP011528531 *
ZOU F. ET AL.: "Improved affine motion prediction", JOINT VIDEO EXPLORATION TEAM (JVET) OF ITU-T SG 16 WP 3, 17 May 2016 (2016-05-17), Geneva, CH, pages 1 - 5, XP030150164 *

Cited By (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112189342A (zh) * 2018-05-24 2021-01-05 株式会社Kt 用于处理视频信号的方法和设备
US11503300B2 (en) 2018-05-25 2022-11-15 Hfi Innovation Inc. Method and apparatus of affine mode motion-vector prediction derivation for video coding system
WO2019223790A1 (fr) * 2018-05-25 2019-11-28 Mediatek Inc. Procédé et appareil de dérivation de prédiction de vecteur de mouvement de mode affine pour système de codage vidéo
CN112567749B (zh) * 2018-06-18 2024-03-26 Lg电子株式会社 使用仿射运动预测来处理视频信号的方法和装置
CN112567749A (zh) * 2018-06-18 2021-03-26 Lg电子株式会社 使用仿射运动预测来处理视频信号的方法和装置
CN112385210A (zh) * 2018-06-20 2021-02-19 联发科技股份有限公司 用于视频编解码***的运动向量缓冲器管理的方法及装置
CN112385210B (zh) * 2018-06-20 2023-10-20 寰发股份有限公司 用于视频编解码的帧间预测的方法及装置
WO2019244809A1 (fr) * 2018-06-21 2019-12-26 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Dispositif de codage, dispositif de décodage, procédé de codage, et procédé de décodage
US11523113B2 (en) 2018-06-27 2022-12-06 Canon Kabushiki Kaisha Image coding apparatus, image coding method, and program, and image decoding apparatus, image decoding method, and program
CN112352432A (zh) * 2018-06-27 2021-02-09 佳能株式会社 图像编码设备、图像编码方法和程序、图像解码设备、图像解码方法和程序
TWI810323B (zh) * 2018-06-27 2023-08-01 日商佳能股份有限公司 影像編碼裝置、影像編碼方法及程式、影像解碼裝置、影像解碼方法及程式
RU2757541C1 (ru) * 2018-06-27 2021-10-18 Кэнон Кабусики Кайся Устройство кодирования изображений, способ и программа для кодирования изображений и устройство декодирования изображений, способ и программа для декодирования изображений
WO2020004080A1 (fr) * 2018-06-27 2020-01-02 キヤノン株式会社 Dispositif de codage d'image, procédé et programme de codage d'image, dispositif de décodage d'image, et procédé et programme de décodage d'image
US11503328B2 (en) 2018-06-29 2022-11-15 Vid Scale, Inc. Adaptive control point selection for affine motion model based video coding
US11991384B2 (en) 2018-06-29 2024-05-21 Vid Scale, Inc. Adaptive control point selection for affine motion model based video coding
JP2021529462A (ja) * 2018-06-29 2021-10-28 ヴィド スケール インコーポレイテッド アフィン動きモデルを基にしたビデオコーディングのためのアダプティブ制御点の選択
WO2020006304A1 (fr) * 2018-06-29 2020-01-02 Vid Scale, Inc. Sélection de point de commande adaptative pour un codage vidéo basé sur un modèle de mouvement affiné
CN112335247A (zh) * 2018-06-29 2021-02-05 Vid拓展公司 用于基于仿射运动模型的视频译码的自适应控制点选择
CN110677645B (zh) * 2018-07-02 2022-06-10 华为技术有限公司 一种图像预测方法及装置
CN110677645A (zh) * 2018-07-02 2020-01-10 华为技术有限公司 一种图像预测方法及装置
WO2020008724A1 (fr) * 2018-07-06 2020-01-09 ソニー株式会社 Dispositif de traitement d'image, procédé de traitement d'image et programme
WO2020008769A1 (fr) * 2018-07-06 2020-01-09 ソニー株式会社 Dispositif de traitement d'image, procédé de traitement d'image et programme de traitement d'image
JP2022113815A (ja) * 2018-07-13 2022-08-04 エルジー エレクトロニクス インコーポレイティド 映像コーディングシステムにおけるアフィン動き予測に基づいた映像デコード方法及び装置
JP7431889B2 (ja) 2018-07-13 2024-02-15 エルジー エレクトロニクス インコーポレイティド 映像コーディングシステムにおけるアフィン動き予測に基づいた映像デコード方法及び装置
US11895313B2 (en) 2018-07-17 2024-02-06 Huawei Technologies Co., Ltd. Motion model signaling
JP2021530920A (ja) * 2018-07-17 2021-11-11 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 動きモデルシグナリング
JP7214829B2 (ja) 2018-07-17 2023-01-30 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 動きモデルシグナリング
CN110891176A (zh) * 2018-09-10 2020-03-17 华为技术有限公司 基于仿射运动模型的运动矢量预测方法及设备
CN110891176B (zh) * 2018-09-10 2023-01-13 华为技术有限公司 基于仿射运动模型的运动矢量预测方法及设备
US11539975B2 (en) 2018-09-10 2022-12-27 Huawei Technologies Co., Ltd. Motion vector prediction method based on affine motion model and device
US11057636B2 (en) * 2018-09-17 2021-07-06 Qualcomm Incorporated Affine motion prediction
US11140408B2 (en) 2018-09-17 2021-10-05 Qualcomm Incorporated Affine motion prediction
WO2020060327A1 (fr) * 2018-09-21 2020-03-26 주식회사 엑스리스 Procédé de codage/décodage de signal d'image et dispositif associé
US11223845B2 (en) 2018-09-21 2022-01-11 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Image signal encoding/decoding method based on an affine model and non-transitory computer-readable medium
US11758176B2 (en) 2018-09-21 2023-09-12 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Image signal encoding/decoding method and non-transitory computer-readable medium
JP7449279B2 (ja) 2018-09-21 2024-03-13 オッポ広東移動通信有限公司 ビデオ信号符号化/復号化方法及びそのための機器
RU2799588C2 (ru) * 2018-09-21 2023-07-06 Гуандун Оппо Мобайл Телекоммьюникейшнс Корп., Лтд. Способ и устройство для кодирования/декодирования сигналов изображений
RU2812857C2 (ru) * 2018-09-21 2024-02-05 Гуандун Оппо Мобайл Телекоммьюникейшнс Корп., Лтд. Способ и устройство для кодирования/декодирования сигналов изображений
JP2022502899A (ja) * 2018-09-21 2022-01-11 オッポ広東移動通信有限公司Guangdong Oppo Mobile Telecommunications Corp., Ltd. ビデオ信号符号化/復号化方法及びそのための機器
US11909953B2 (en) 2018-09-23 2024-02-20 Beijing Bytedance Network Technology Co., Ltd Representation of affine model
US11870974B2 (en) 2018-09-23 2024-01-09 Beijing Bytedance Network Technology Co., Ltd Multiple-hypothesis affine mode
US11418808B2 (en) 2018-09-25 2022-08-16 Digitalinsights Inc. Method and device for encoding or decoding image on basis of inter mode
WO2020067709A1 (fr) * 2018-09-25 2020-04-02 디지털인사이트주식회사 Procédé et dispositif de codage ou de décodage d'une image conformément à un mode inter
US11582480B2 (en) 2018-09-25 2023-02-14 Digitalinsights Inc. Method and device for encoding or decoding image on basis of inter mode
US11206430B2 (en) 2018-10-08 2021-12-21 Lg Electronics Inc. Syntax design method and apparatus for performing coding by using syntax
WO2020076066A1 (fr) * 2018-10-08 2020-04-16 엘지전자 주식회사 Procédé de conception de syntaxe et appareil permettant la réalisation d'un codage à l'aide d'une syntaxe
US11575942B2 (en) 2018-10-08 2023-02-07 Lg Electronics Inc. Syntax design method and apparatus for performing coding by using syntax
CN112956201B (zh) * 2018-10-08 2024-03-29 Lg电子株式会社 使用句法来执行编码的句法设计方法和设备
CN112956201A (zh) * 2018-10-08 2021-06-11 Lg电子株式会社 使用句法来执行编码的句法设计方法和设备
US11849151B2 (en) 2018-10-08 2023-12-19 Lg Electronics Inc. Syntax design method and apparatus for performing coding by using syntax
US11778226B2 (en) * 2018-10-22 2023-10-03 Beijing Bytedance Network Technology Co., Ltd Storage of motion information for affine mode
US20210243467A1 (en) * 2018-10-22 2021-08-05 Beijing Bytedance Network Technology Co., Ltd. Storage of motion information for affine mode
CN111083487A (zh) * 2018-10-22 2020-04-28 北京字节跳动网络技术有限公司 仿射模式的运动信息的存储
CN111083487B (zh) * 2018-10-22 2024-05-14 北京字节跳动网络技术有限公司 仿射模式的运动信息的存储
CN111373754A (zh) * 2018-10-23 2020-07-03 北京字节跳动网络技术有限公司 仿射编码的自适应控制点选择
CN112997487A (zh) * 2018-11-15 2021-06-18 北京字节跳动网络技术有限公司 仿射模式与其他帧间编解码工具之间的协调
CN111355961B (zh) * 2018-12-24 2023-11-03 华为技术有限公司 一种帧间预测的方法和装置
CN111355961A (zh) * 2018-12-24 2020-06-30 华为技术有限公司 一种帧间预测的方法和装置
WO2020138967A1 (fr) * 2018-12-26 2020-07-02 주식회사 엑스리스 Procédé d'encodage/de décodage de signal d'image et dispositif pour cela
US11463723B2 (en) 2018-12-26 2022-10-04 Apple Inc. Method for encoding/decoding image signal and device therefor
JP2020195165A (ja) * 2018-12-28 2020-12-03 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム
JP7015013B2 (ja) 2018-12-28 2022-02-02 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム
US11997303B2 (en) 2019-04-02 2024-05-28 Beijing Bytedance Network Technology Co., Ltd Bidirectional optical flow based video coding and decoding
CN113711609A (zh) * 2019-04-19 2021-11-26 北京字节跳动网络技术有限公司 利用光流的预测细化过程中的增量运动矢量
US11924463B2 (en) 2019-04-19 2024-03-05 Beijing Bytedance Network Technology Co., Ltd Gradient calculation in different motion vector refinements
CN113711609B (zh) * 2019-04-19 2023-12-01 北京字节跳动网络技术有限公司 利用光流的预测细化过程中的增量运动矢量
RU2806444C2 (ru) * 2019-04-25 2023-11-01 Оп Солюшнз, Ллк Эффективное кодирование векторов глобального движения
RU2820339C2 (ru) * 2019-06-25 2024-06-03 Интердиджитал Вс Холдингз Франс, Сас Hmvc для аффинного режима и режима предсказания вектора движения sbtmvp
CN114270855A (zh) * 2019-09-20 2022-04-01 Kddi 株式会社 图像解码装置、图像解码方法及程序

Also Published As

Publication number Publication date
JP7026049B2 (ja) 2022-02-25
JPWO2018061563A1 (ja) 2019-07-11

Similar Documents

Publication Publication Date Title
WO2018061563A1 (fr) Dispositif de dérivation de vecteur de mouvement affinée, dispositif de génération d&#39;image de prédiction, dispositif de décodage d&#39;image animée, et dispositif de codage d&#39;image animée
JP7421586B2 (ja) 復号装置および符号化装置
CN108541375B (zh) 运动图像解码装置、运动图像编码装置、以及预测图像生成装置
CN110574374B (zh) 图像解码装置
WO2017130696A1 (fr) Dispositif de génération d&#39;image de prédiction, dispositif de décodage d&#39;image animée, et dispositif d&#39;encodage d&#39;image animée
WO2018110203A1 (fr) Appareil de décodage d&#39;images animées et appareil de codage d&#39;images animées
WO2018230493A1 (fr) Dispositif de décodage vidéo, dispositif de codage vidéo, dispositif de génération d&#39;image de prévision et dispositif de dérivation de vecteur de mouvement
WO2018221368A1 (fr) Dispositif de décodage d&#39;image animée et dispositif de codage d&#39;image animée
JP2021005741A (ja) 画像符号化装置及び画像復号装置
WO2017195608A1 (fr) Dispositif de codage d&#39;image animée
WO2020116456A1 (fr) Dispositif de décodage d&#39;image mobile
CN108605138B (zh) 预测图像生成装置、运动图像解码装置、以及运动图像编码装置
WO2018173895A1 (fr) Dispositif de génération d&#39;image prédite, dispositif de décodage vidéo et dispositif de codage vidéo
WO2018110180A1 (fr) Dispositif de génération de vecteur de mouvement, dispositif de génération d&#39;image prédite, dispositif de décodage d&#39;image animée, et dispositif de codage d&#39;image animée
CN112740704A (zh) 图像解码装置以及图像编码装置
JP2020088660A (ja) 動画像符号化装置、動画像復号装置
JP2020036101A (ja) 画像復号装置および画像符号化装置
JP2020108012A (ja) 画像復号装置および画像符号化装置
JP2020096279A (ja) 予測画像生成装置、動画像復号装置および動画像符号化装置
WO2018037919A1 (fr) Dispositif de décodage d&#39;image, dispositif de codage d&#39;image, procédé de décodage d&#39;image et procédé de codage d&#39;image
JP2020145650A (ja) 画像復号装置および画像符号化装置
JP2019201254A (ja) 画像復号装置、および画像符号化装置
JP2022087865A (ja) 画像復号装置及び画像符号化装置
WO2019065537A1 (fr) Dispositif de filtre de compensation de mouvement, dispositif de décodage d&#39;image et dispositif de codage d&#39;image animée
JP2021057621A (ja) 動画像符号化装置、動画像復号装置および予測画像生成装置

Legal Events

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

Ref document number: 17855521

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2018542005

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

Country of ref document: EP

Kind code of ref document: A1