WO2019199106A1 - Procédé et dispositif de décodage d'image selon une interprédiction dans un système de codage d'images - Google Patents
Procédé et dispositif de décodage d'image selon une interprédiction dans un système de codage d'images Download PDFInfo
- Publication number
- WO2019199106A1 WO2019199106A1 PCT/KR2019/004424 KR2019004424W WO2019199106A1 WO 2019199106 A1 WO2019199106 A1 WO 2019199106A1 KR 2019004424 W KR2019004424 W KR 2019004424W WO 2019199106 A1 WO2019199106 A1 WO 2019199106A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- current block
- motion vector
- prediction
- block
- motion
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/184—Methods 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 bits, e.g. of the compressed video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/53—Multi-resolution motion estimation; Hierarchical motion estimation
Definitions
- the present invention relates to an image coding technique, and more particularly, to an image decoding method and apparatus according to inter prediction in an image coding system.
- the demand for high resolution and high quality images such as high definition (HD) images and ultra high definition (UHD) images is increasing in various fields.
- the higher the resolution and the higher quality of the image data the more information or bit rate is transmitted than the existing image data. Therefore, the image data can be transmitted by using a medium such as a conventional wired / wireless broadband line or by using a conventional storage medium. In the case of storage, the transmission cost and the storage cost are increased.
- a high efficiency image compression technique is required to effectively transmit, store, and reproduce high resolution, high quality image information.
- An object of the present invention is to provide a method and apparatus for improving image coding efficiency.
- Another technical problem of the present invention is to derive a motion vector for the center position of the current block based on CPMVs of neighboring blocks to which affine prediction is applied, and to perform the prediction for the current block based on the derived motion vector.
- the present invention provides a decoding method and apparatus.
- Another technical problem of the present invention is to derive a motion vector for the center position of the current block based on CPMVs of neighboring blocks to which affine prediction is applied, and use the derived motion vector as a motion candidate for the current block.
- the present invention provides an image decoding method and apparatus for performing inter prediction.
- an image decoding method performed by a decoding apparatus.
- the method includes deriving motion vectors of control points (CPs) of neighboring blocks with respect to a current block, and deriving a motion vector with respect to a center position of the current block based on the motion vectors of the CPs. And performing prediction on the current block based on the motion vector.
- CPs control points
- a decoding apparatus for performing image decoding.
- the decoding apparatus derives motion vectors of control points (CPs) of neighboring blocks with respect to the current block, and derives a motion vector with respect to the center position of the current block based on the motion vectors of the CPs.
- a predictor configured to predict the current block based on the motion vector.
- a video encoding method performed by an encoding apparatus includes deriving motion vectors of control points (CPs) of neighboring blocks with respect to a current block, and deriving a motion vector with respect to a center position of the current block based on the motion vectors of the CPs. And performing prediction on the current block based on the motion vector, and encoding information on inter prediction of the current block.
- CPs control points
- a video encoding apparatus derives motion vectors of control points (CPs) of neighboring blocks with respect to the current block, and derives a motion vector with respect to the center position of the current block based on the motion vectors of the CPs. And an estimator for performing prediction on the current block based on the motion vector, and an entropy encoding unit for encoding information on inter prediction of the current block.
- CPs control points
- the motion vector of the current block can be derived by utilizing the characteristics of the neighboring block to which the affine prediction is applied, and thus, the memory access speed is simply saved while saving the memory access speed compared to the case of performing the affine motion model. It is possible to improve the prediction accuracy rather than to perform the motion prediction using the motion vector.
- the motion vector of the current block is derived by utilizing the characteristics of the neighboring block to which the affine prediction is applied, but the complexity of the decoding process is prevented by dividing the motion vector by dividing it into a sample or subblock unit of the current block. And a problem of increasing memory access speed.
- FIG. 1 is a diagram schematically illustrating a configuration of a video encoding apparatus to which the present invention may be applied.
- FIG. 2 is a diagram schematically illustrating a configuration of a video decoding apparatus to which the present invention may be applied.
- 3 exemplarily illustrates a motion expressed through the affine motion model.
- 5 exemplarily illustrates the affine motion model in which motion vectors for two control points are used.
- FIG. 6 exemplarily illustrates a method of deriving a motion vector on a sub-block basis based on the affine motion model.
- FIG. 7 illustrates an example of deriving a motion vector with respect to the center position of the current block based on the CPMV of the neighboring block.
- FIG. 8 illustrates an example of using a motion vector of a center position of a current block derived based on the CPMV of a neighboring block as the MVP of the current block.
- FIG. 9 schematically illustrates an image encoding method by an encoding apparatus according to the present invention.
- FIG. 10 schematically illustrates an encoding apparatus for performing an image encoding method according to the present invention.
- FIG. 11 schematically illustrates an image decoding method by a decoding apparatus according to the present invention.
- FIG. 12 schematically illustrates a decoding apparatus for performing an image decoding method according to the present invention.
- each configuration in the drawings described in the present invention are shown independently for the convenience of description of the different characteristic functions, it does not mean that each configuration is implemented by separate hardware or separate software.
- two or more of each configuration may be combined to form one configuration, or one configuration may be divided into a plurality of configurations.
- Embodiments in which each configuration is integrated and / or separated are also included in the scope of the present invention without departing from the spirit of the present invention.
- the present invention relates to video / image coding.
- the method / embodiment disclosed herein may be applied to the method disclosed in the versatile video coding (VVC) standard or the next generation video / image coding standard.
- VVC versatile video coding
- a picture generally refers to a unit representing one image of a specific time zone
- a slice is a unit constituting a part of a picture in coding.
- One picture may be composed of a plurality of slices, and if necessary, the picture and the slice may be mixed with each other.
- a pixel or a pel may refer to a minimum unit constituting one picture (or image). Also, 'sample' may be used as a term corresponding to a pixel.
- a sample may generally represent a pixel or a value of a pixel, and may only represent pixel / pixel values of the luma component, or only pixel / pixel values of the chroma component.
- a unit represents the basic unit of image processing.
- the unit may include at least one of a specific region of the picture and information related to the region.
- the unit may be used interchangeably with terms such as block or area in some cases.
- an M ⁇ N block may represent a set of samples or transform coefficients composed of M columns and N rows.
- FIG. 1 is a diagram schematically illustrating a configuration of a video encoding apparatus to which the present invention may be applied.
- the video encoding apparatus 100 may include a picture splitter 105, a predictor 110, a residual processor 120, an entropy encoder 130, an adder 140, and a filter 150. ) And memory 160.
- the residual processing unit 120 may include a subtraction unit 121, a conversion unit 122, a quantization unit 123, a reordering unit 124, an inverse quantization unit 125, and an inverse conversion unit 126.
- the picture divider 105 may divide the input picture into at least one processing unit.
- the processing unit may be called a coding unit (CU).
- the coding unit may be recursively split from the largest coding unit (LCU) according to a quad-tree binary-tree (QTBT) structure.
- LCU largest coding unit
- QTBT quad-tree binary-tree
- one coding unit may be divided into a plurality of coding units of a deeper depth based on a quad tree structure and / or a binary tree structure.
- the quad tree structure may be applied first and the binary tree structure may be applied later.
- the binary tree structure may be applied first.
- the coding procedure according to the present invention may be performed based on the final coding unit that is no longer split.
- the maximum coding unit may be used as the final coding unit immediately based on coding efficiency according to the image characteristic, or if necessary, the coding unit is recursively divided into coding units of lower depths and optimized.
- a coding unit of size may be used as the final coding unit.
- the coding procedure may include a procedure of prediction, transform, and reconstruction, which will be described later.
- the processing unit may include a coding unit (CU) prediction unit (PU) or a transform unit (TU).
- the coding unit may be split from the largest coding unit (LCU) into coding units of deeper depths along the quad tree structure.
- LCU largest coding unit
- the maximum coding unit may be used as the final coding unit immediately based on coding efficiency according to the image characteristic, or if necessary, the coding unit is recursively divided into coding units of lower depths and optimized.
- a coding unit of size may be used as the final coding unit. If a smallest coding unit (SCU) is set, the coding unit may not be split into smaller coding units than the minimum coding unit.
- the final coding unit refers to a coding unit that is the basis of partitioning or partitioning into a prediction unit or a transform unit.
- the prediction unit is a unit partitioning from the coding unit and may be a unit of sample prediction. In this case, the prediction unit may be divided into sub blocks.
- the transform unit may be divided along the quad tree structure from the coding unit, and may be a unit for deriving a transform coefficient and / or a unit for deriving a residual signal from the transform coefficient.
- a coding unit may be called a coding block (CB)
- a prediction unit is a prediction block (PB)
- a transform unit may be called a transform block (TB).
- a prediction block or prediction unit may mean a specific area in the form of a block within a picture, and may include an array of prediction samples.
- a transform block or a transform unit may mean a specific area in a block form within a picture, and may include an array of transform coefficients or residual samples.
- the prediction unit 110 may perform a prediction on a block to be processed (hereinafter, referred to as a current block) and generate a predicted block including prediction samples of the current block.
- the unit of prediction performed by the prediction unit 110 may be a coding block, a transform block, or a prediction block.
- the prediction unit 110 may determine whether intra prediction or inter prediction is applied to the current block. As an example, the prediction unit 110 may determine whether intra prediction or inter prediction is applied on a CU basis.
- the prediction unit 110 may derive a prediction sample for the current block based on reference samples outside the current block in the picture to which the current block belongs (hereinafter, referred to as the current picture). In this case, the prediction unit 110 may (i) derive the prediction sample based on the average or interpolation of neighboring reference samples of the current block, and (ii) the neighbor reference of the current block.
- the prediction sample may be derived based on a reference sample present in a specific (prediction) direction with respect to the prediction sample among the samples. In case of (i), it may be called non-directional mode or non-angle mode, and in case of (ii), it may be called directional mode or angular mode.
- the prediction mode may have, for example, 33 directional prediction modes and at least two non-directional modes.
- the non-directional mode may include a DC prediction mode and a planner mode (Planar mode).
- the prediction unit 110 may determine the prediction mode applied to the current block by using the prediction mode applied to the neighboring block.
- the prediction unit 110 may derive the prediction sample for the current block based on the sample specified by the motion vector on the reference picture.
- the prediction unit 110 may apply one of a skip mode, a merge mode, and a motion vector prediction (MVP) mode to derive a prediction sample for the current block.
- the prediction unit 110 may use the motion information of the neighboring block as the motion information of the current block.
- the skip mode unlike the merge mode, the difference (residual) between the prediction sample and the original sample is not transmitted.
- the MVP mode the motion vector of the current block may be derived using the motion vector of the neighboring block as a motion vector predictor.
- the neighboring block may include a spatial neighboring block existing in the current picture and a temporal neighboring block present in the reference picture.
- a reference picture including the temporal neighboring block may be called a collocated picture (colPic).
- the motion information may include a motion vector and a reference picture index.
- Information such as prediction mode information and motion information may be encoded (entropy) and output in the form of a bitstream.
- the highest picture on the reference picture list may be used as the reference picture.
- Reference pictures included in a reference picture list may be sorted based on a difference in a picture order count (POC) between a current picture and a corresponding reference picture.
- POC picture order count
- the subtraction unit 121 generates a residual sample which is a difference between the original sample and the prediction sample.
- residual samples may not be generated as described above.
- the transform unit 122 generates transform coefficients by transforming the residual sample in units of transform blocks.
- the transform unit 122 may perform the transform according to the size of the transform block and the prediction mode applied to the coding block or the prediction block that spatially overlaps the transform block. For example, if intra prediction is applied to the coding block or the prediction block that overlaps the transform block, and the transform block is a 4 ⁇ 4 residual array, the residual sample is configured to perform a discrete sine transform (DST) transform kernel.
- the residual sample may be transformed using a discrete cosine transform (DCT) transform kernel.
- DST discrete sine transform
- DCT discrete cosine transform
- the quantization unit 123 may quantize the transform coefficients to generate quantized transform coefficients.
- the reordering unit 124 rearranges the quantized transform coefficients.
- the reordering unit 124 may reorder the quantized transform coefficients in the form of a block into a one-dimensional vector form through a coefficient scanning method. Although the reordering unit 124 has been described in a separate configuration, the reordering unit 124 may be part of the quantization unit 123.
- the entropy encoding unit 130 may perform entropy encoding on the quantized transform coefficients.
- Entropy encoding may include, for example, encoding methods such as exponential Golomb, context-adaptive variable length coding (CAVLC), context-adaptive binary arithmetic coding (CABAC), and the like.
- the entropy encoding unit 130 may encode information necessary for video reconstruction other than the quantized transform coefficient (for example, a value of a syntax element) together or separately. Entropy encoded information may be transmitted or stored in units of network abstraction layer (NAL) units in the form of bitstreams.
- NAL network abstraction layer
- the inverse quantization unit 125 inverse quantizes the quantized values (quantized transform coefficients) in the quantization unit 123, and the inverse transformer 126 inverse transforms the inverse quantized values in the inverse quantization unit 125 to obtain a residual sample.
- the adder 140 reconstructs the picture by combining the residual sample and the predictive sample.
- the residual sample and the predictive sample may be added in units of blocks to generate a reconstructed block.
- the adder 140 may be part of the predictor 110.
- the adder 140 may be called a restoration unit or a restoration block generation unit.
- the filter unit 150 may apply a deblocking filter and / or a sample adaptive offset to the reconstructed picture. Through deblocking filtering and / or sample adaptive offset, the artifacts of the block boundaries in the reconstructed picture or the distortion in the quantization process can be corrected.
- the sample adaptive offset may be applied on a sample basis and may be applied after the process of deblocking filtering is completed.
- the filter unit 150 may apply an adaptive loop filter (ALF) to the reconstructed picture. ALF may be applied to the reconstructed picture after the deblocking filter and / or sample adaptive offset is applied.
- ALF adaptive loop filter
- the memory 160 may store reconstructed pictures (decoded pictures) or information necessary for encoding / decoding.
- the reconstructed picture may be a reconstructed picture after the filtering process is completed by the filter unit 150.
- the stored reconstructed picture may be used as a reference picture for (inter) prediction of another picture.
- the memory 160 may store (reference) pictures used for inter prediction.
- pictures used for inter prediction may be designated by a reference picture set or a reference picture list.
- FIG. 2 is a diagram schematically illustrating a configuration of a video decoding apparatus to which the present invention may be applied.
- the video decoding apparatus 200 may include an entropy decoding unit 210, a residual processor 220, a predictor 230, an adder 240, a filter 250, and a memory 260. It may include.
- the residual processor 220 may include a rearrangement unit 221, an inverse quantization unit 222, and an inverse transform unit 223.
- the video decoding apparatus 200 may restore video in response to a process in which video information is processed in the video encoding apparatus.
- the video decoding apparatus 200 may perform video decoding using a processing unit applied in the video encoding apparatus.
- the processing unit block of video decoding may be, for example, a coding unit, and in another example, a coding unit, a prediction unit, or a transform unit.
- the coding unit may be split along the quad tree structure and / or binary tree structure from the largest coding unit.
- the prediction unit and the transform unit may be further used in some cases, in which case the prediction block is a block derived or partitioned from the coding unit and may be a unit of sample prediction. At this point, the prediction unit may be divided into subblocks.
- the transform unit may be divided along the quad tree structure from the coding unit, and may be a unit for deriving a transform coefficient or a unit for deriving a residual signal from the transform coefficient.
- the entropy decoding unit 210 may parse the bitstream and output information necessary for video reconstruction or picture reconstruction. For example, the entropy decoding unit 210 decodes information in a bitstream based on a coding method such as exponential Golomb coding, CAVLC, or CABAC, quantized values of syntax elements necessary for video reconstruction, and residual coefficients. Can be output.
- a coding method such as exponential Golomb coding, CAVLC, or CABAC, quantized values of syntax elements necessary for video reconstruction, and residual coefficients. Can be output.
- the CABAC entropy decoding method receives a bin corresponding to each syntax element in a bitstream, and decodes syntax element information and decoding information of neighboring and decoding target blocks or information of symbols / bins decoded in a previous step.
- the context model may be determined using the context model, the probability of occurrence of a bin may be predicted according to the determined context model, and arithmetic decoding of the bin may be performed to generate a symbol corresponding to the value of each syntax element. have.
- the CABAC entropy decoding method may update the context model by using the information of the decoded symbol / bin for the context model of the next symbol / bean after determining the context model.
- the information related to the prediction among the information decoded by the entropy decoding unit 210 is provided to the prediction unit 230, and the residual value on which the entropy decoding has been performed by the entropy decoding unit 210, that is, the quantized transform coefficient, is used as a reordering unit ( 221 may be input.
- the reordering unit 221 may rearrange the quantized transform coefficients in a two-dimensional block form.
- the reordering unit 221 may perform reordering in response to coefficient scanning performed by the encoding apparatus.
- the rearrangement unit 221 has been described in a separate configuration, but the rearrangement unit 221 may be part of the inverse quantization unit 222.
- the inverse quantization unit 222 may dequantize the quantized transform coefficients based on the (inverse) quantization parameter and output the transform coefficients.
- information for deriving a quantization parameter may be signaled from the encoding apparatus.
- the inverse transform unit 223 may inversely transform transform coefficients to derive residual samples.
- the prediction unit 230 may perform prediction on the current block and generate a predicted block including prediction samples for the current block.
- the unit of prediction performed by the prediction unit 230 may be a coding block, a transform block, or a prediction block.
- the prediction unit 230 may determine whether to apply intra prediction or inter prediction based on the information about the prediction.
- a unit for determining which of intra prediction and inter prediction is to be applied and a unit for generating a prediction sample may be different.
- the unit for generating a prediction sample in inter prediction and intra prediction may also be different.
- whether to apply inter prediction or intra prediction may be determined in units of CUs.
- a prediction mode may be determined and a prediction sample may be generated in PU units
- intra prediction a prediction mode may be determined in PU units and a prediction sample may be generated in TU units.
- the prediction unit 230 may derive the prediction sample for the current block based on the neighbor reference samples in the current picture.
- the prediction unit 230 may derive the prediction sample for the current block by applying the directional mode or the non-directional mode based on the neighbor reference samples of the current block.
- the prediction mode to be applied to the current block may be determined using the intra prediction mode of the neighboring block.
- the prediction unit 230 may derive the prediction sample for the current block based on the sample specified on the reference picture by the motion vector on the reference picture.
- the prediction unit 230 may apply any one of a skip mode, a merge mode, and an MVP mode to derive a prediction sample for the current block.
- motion information required for inter prediction of the current block provided by the video encoding apparatus for example, information about a motion vector, a reference picture index, and the like may be obtained or derived based on the prediction information.
- the motion information of the neighboring block may be used as the motion information of the current block.
- the neighboring block may include a spatial neighboring block and a temporal neighboring block.
- the prediction unit 230 may construct a merge candidate list using motion information of available neighboring blocks, and may use information indicated by the merge index on the merge candidate list as a motion vector of the current block.
- the merge index may be signaled from the encoding device.
- the motion information may include a motion vector and a reference picture. When the motion information of the temporal neighboring block is used in the skip mode and the merge mode, the highest picture on the reference picture list may be used as the reference picture.
- the difference (residual) between the prediction sample and the original sample is not transmitted.
- the motion vector of the current block may be derived using the motion vector of the neighboring block as a motion vector predictor.
- the neighboring block may include a spatial neighboring block and a temporal neighboring block.
- a merge candidate list may be generated by using a motion vector of a reconstructed spatial neighboring block and / or a motion vector corresponding to a Col block, which is a temporal neighboring block.
- the motion vector of the candidate block selected from the merge candidate list is used as the motion vector of the current block.
- the information about the prediction may include a merge index indicating a candidate block having an optimal motion vector selected from candidate blocks included in the merge candidate list.
- the prediction unit 230 may derive the motion vector of the current block by using the merge index.
- a motion vector predictor candidate list may be generated using a motion vector of a reconstructed spatial neighboring block and / or a motion vector corresponding to a Col block which is a temporal neighboring block.
- the prediction information may include a prediction motion vector index indicating an optimal motion vector selected from the motion vector candidates included in the list.
- the prediction unit 230 may select the predicted motion vector of the current block from the motion vector candidates included in the motion vector candidate list using the motion vector index.
- the prediction unit of the encoding apparatus may obtain a motion vector difference (MVD) between the motion vector of the current block and the motion vector predictor, and may encode the output vector in a bitstream form. That is, MVD may be obtained by subtracting the motion vector predictor from the motion vector of the current block.
- the prediction unit 230 may obtain a motion vector difference included in the information about the prediction, and derive the motion vector of the current block by adding the motion vector difference and the motion vector predictor.
- the prediction unit may also obtain or derive a reference picture index or the like indicating a reference picture from the information about the prediction.
- the adder 240 may reconstruct the current block or the current picture by adding the residual sample and the predictive sample.
- the adder 240 may reconstruct the current picture by adding the residual sample and the predictive sample in block units. Since the residual is not transmitted when the skip mode is applied, the prediction sample may be a reconstruction sample.
- the adder 240 has been described in a separate configuration, the adder 240 may be part of the predictor 230. On the other hand, the adder 240 may be called a restoration unit or a restoration block generation unit.
- the filter unit 250 may apply the deblocking filtering sample adaptive offset, and / or ALF to the reconstructed picture.
- the sample adaptive offset may be applied in units of samples and may be applied after deblocking filtering.
- ALF may be applied after deblocking filtering and / or sample adaptive offset.
- the memory 260 may store reconstructed pictures (decoded pictures) or information necessary for decoding.
- the reconstructed picture may be a reconstructed picture after the filtering process is completed by the filter unit 250.
- the memory 260 may store pictures used for inter prediction.
- pictures used for inter prediction may be designated by a reference picture set or a reference picture list.
- the reconstructed picture can be used as a reference picture for another picture.
- the memory 260 may output the reconstructed picture in an output order.
- an inter prediction method considering the distortion of an image has been proposed.
- an affine motion model has been proposed to efficiently derive a motion vector for sub-blocks or sample points of a current block, and to increase the accuracy of inter prediction despite deformation of image rotation, zoom-in or zoom-out.
- an affine motion model is proposed which derives a motion vector for sub-blocks or sample points of a current block. Prediction using the affine motion model may be called affine inter prediction or affine motion prediction.
- the affine inter prediction using the affine motion model can efficiently express four motions, that is, four deformations as described later, as described below.
- a motion that can be represented through the affine motion model may include a translation motion, a scale motion, a rotate motion, and a shear motion. That is, in addition to the translational movement in which an image (part of) is planarly moved in accordance with the flow of time illustrated in FIG. 3, the scale movement in which the image (part) is scaled over time, and the time It is possible to efficiently represent a rotational motion in which a part of the image rotates and a shear motion in which the part of the image is equilateral with a quadrilateral deformation as time passes through the affine inter prediction.
- the encoding device / decoding device may predict the distortion shape of the image based on the motion vectors at the control points (CPs) of the current block through the affine inter prediction, thereby increasing the accuracy of the prediction. It can improve the compression performance of the image.
- the motion vector for at least one control point of the current block may be derived using the motion vector of the neighboring block of the current block, the data amount burden on additional information to be added is reduced, and inter prediction efficiency is improved. It can be improved considerably.
- motion information at three control points that is, three reference points may be required.
- Sample positions can be defined as the control points.
- the control point of the (0,0) sample position may be CP0
- the control point of the (w, 0) sample position may be CP1
- the control point of the (0, h) sample position may be CP2.
- Equation for the affine motion model may be derived using the above-described control point and the motion vector of the corresponding control point. Equation for the affine motion model can be expressed as follows.
- w represents the width of the current block 400
- h represents the height of the current block 400
- v 0x , v 0y are the x component, y of the motion vector of CP0, respectively.
- the component represents v 1x and v 1y each represent x component and y component of the motion vector of CP1
- the v 2x and v 2y represent x component and y component of the motion vector of CP2, respectively.
- x represents the x component of the position of the target sample in the current block 400
- y represents the y component of the position of the target sample in the current block 400
- v x is the current block 400
- the x component, v y of the motion vector of the target sample in) denotes the y component of the motion vector of the target sample in the current block 400.
- a motion vector according to the sample position in the current block can be derived based on Equation (1). That is, according to the affine motion model, the motion vectors v0 (v 0x , v 0y ) at the control points, based on a distance ratio between the coordinates (x, y) of the target sample and the three control points, v1 (v 1x , v 1y ) and v2 (v 2x , v 2y ) may be scaled to derive a motion vector of the target sample according to the target sample position.
- a motion vector of each sample in the current block may be derived based on the motion vectors of the control points.
- the set of motion vectors of samples in the current block derived according to the affine motion model may be referred to as an affine motion vector field (MVF).
- Equation 1 six parameters of Equation 1 may be represented by a, b, c, d, e, and f as shown in the following equation, and the equation for the affine motion model represented by the six parameters is as follows. May be the same as
- w represents the width of the current block 400
- h represents the height of the current block 400
- v 0x , v 0y are the x component, y of the motion vector of CP0, respectively.
- the component represents v 1x and v 1y each represent x component and y component of the motion vector of CP1
- the v 2x and v 2y represent x component and y component of the motion vector of CP2, respectively.
- x represents the x component of the position of the target sample in the current block 400
- y represents the y component of the position of the target sample in the current block 400
- v x is the current block 400
- the x component, v y of the motion vector of the target sample in) denotes the y component of the motion vector of the target sample in the current block 400.
- the affine motion model or the affine inter prediction using the six parameters may be referred to as a six parameter affine motion model or AF6.
- motion information from two control points that is, two reference points may be required.
- the affine motion model using two control points can represent three motions including translational motion, scale motion, and rotational motion.
- the affine motion model representing three motions may be referred to as a simplicity affine motion model or a simplified affine motion model.
- control points can be set.
- the control point of the (0,0) sample position may be CP0
- the control point of the (w, 0) sample position may be CP1.
- Equation for the affine motion model may be derived using the above-described control point and the motion vector of the corresponding control point. Equation for the affine motion model can be expressed as follows.
- w represents the width of the current block 500
- v 0x , v 0y represents the x component and y component of the motion vector of CP0, respectively
- v 1x , v 1y represents the motion vector of CP1, respectively.
- the x component and the y component are shown.
- x represents the x component of the position of the target sample in the current block 500
- y represents the y component of the position of the target sample in the current block 500
- v x is the current block 500
- the x component, v y of the motion vector of the target sample in) denotes the y component of the motion vector of the target sample in the current block 500.
- Equation 3 the four parameters for Equation 3 may be represented by a, b, c, and d as in the following Equation, and the equation for the affine motion model represented by the four parameters may be as follows. .
- w represents the width of the current block 500
- v 0x , v 0y represents the x component and y component of the motion vector of CP0, respectively
- v 1x , v 1y represents the motion vector of CP1, respectively.
- the x component and the y component are shown.
- x represents the x component of the position of the target sample in the current block 500
- y represents the y component of the position of the target sample in the current block 500
- v x is the current block 500
- the x component, v y of the motion vector of the target sample in) denotes the y component of the motion vector of the target sample in the current block 500.
- the affine motion model using the two control points may be represented by four parameters a, b, c, and d as shown in Equation 4.
- the affine motion model using the four parameters may be referred to as a four parameter affine motion model or AF4. That is, according to the affine motion model, a motion vector of each sample in the current block may be derived based on the motion vectors of the control points. Meanwhile, the set of motion vectors of samples in the current block derived according to the affine motion model may be referred to as an affine motion vector field (MVF).
- MVF affine motion vector field
- a motion vector of a sample unit may be derived through the affine motion model, and through this, the accuracy of inter prediction may be significantly improved. In this case, however, the complexity in the motion compensation process may be greatly increased.
- a motion vector of a sub block unit of the current block may be derived.
- 6 exemplarily illustrates a method of deriving a motion vector on a sub-block basis based on the affine motion model.
- 6 exemplarily illustrates a case in which the size of the current block is 16 ⁇ 16 and a motion vector is derived in units of 4 ⁇ 4 subblocks.
- the sub block may be set to various sizes. For example, when the sub block is set to n ⁇ n size (n is a positive integer, ex, n is 4), the current block is based on the affine motion model.
- a motion vector may be derived in units of n ⁇ n subblocks, and various methods for deriving a motion vector representing each subblock may be applied.
- a motion vector of each subblock may be derived using the center or lower right side sample position of each subblock as a representative coordinate.
- the lower right position of the center may indicate a sample position located on the lower right side among four samples located at the center of the sub block.
- n is an odd number
- one sample may be located at the center of the sub block, and in this case, the center sample position may be used for deriving the motion vector of the sub block.
- n is an even number
- four samples may be adjacent to the center of the subblock, and in this case, the lower right sample position may be used to derive the motion vector.
- representative coordinates of each subblock may be derived as (2, 2), (6, 2), (10, 2), ..., (14, 14), and encoding.
- the device / decoding device may derive a motion vector of each subblock by substituting each of the representative coordinates of the subblocks into Equation 1 or 3 described above.
- the motion vectors of the subblocks in the current block derived through the affine motion model may be referred to as affine MVF.
- the size of the sub block in the current block may be derived based on the following equation.
- M represents the width of the sub block
- N represents the height of the sub block.
- v 0x, v 0y denotes an x component, y component of CPMV0 of the current block, respectively
- v 0x, v 0y are each the current represents the CPMV1 x component
- y component of the block w is in the current block Width
- h represents the height of the current block
- MvPre represents the motion vector fraction accuracy.
- the motion vector fraction accuracy may be set to 1/16.
- affine motion prediction there may be an affine merge mode (AF_MRG) mode and an affine motion vector prediction (AF_MVP) mode.
- AF_MRG affine merge mode
- AF_MVP affine motion vector prediction
- the merge merge mode is similar to the existing merge mode in that MVD is not transmitted for the motion vector of the control points. That is, the affine merge mode is similar to the conventional skip / merge mode, and each of two or three control points from neighboring blocks of the current block without coding for motion vector difference (MVD).
- MVD motion vector difference
- MVs for CP0 and CP1 may be derived from the neighboring block to which the affine mode is applied among the neighboring blocks of the current block. That is, CPMV0 and CPMV1 of the neighboring block to which the affine mode is applied may be derived as a merge candidate, and the merge candidate may be derived as CPMV0 and CPMV1 for the current block.
- the AF_MVP mode derives a motion vector predictor (MVP) for a motion vector of the control points, derives a motion vector of the control points based on the received motion vector difference (MVD) and the MVP,
- MVP motion vector predictor
- MVD received motion vector difference
- An inter-prediction that derives an MVF of the current block based on a motion vector and performs prediction based on the affine MVF may be represented.
- the motion vector of the control point may be represented as a control point motion vector (CPMV)
- the MVP of the control point is a control point motion vector predictor (CPMVP)
- the MVD of the control point may be represented as a control point motion vector difference (CPMVD).
- the encoding apparatus may derive a control point point motion vector predictor (CPMVP) and a control point point motion vector (CPMVP) for each of CP0 and CP1 (or CP0, CP1 and CP2), and the CPMVP CPMVD, the difference between CPMV and CPMV, can be transmitted or stored.
- CPMVP control point point motion vector predictor
- CPMVP control point point motion vector predictor
- the encoding device / decoding device is also in the affine prediction mode for the current block. You can decide whether to perform
- the encoding device / decoding device may derive the CPMV of the current block based on the neighboring block of the current block. For example, when an affine motion model using four parameters is applied, the encoding device / decoding device substitutes the coordinates of the CP of the neighboring block and the coordinates of the current block into Equation 3 described above.
- the CPMV for the block can be derived.
- the affine prediction mode when the affine prediction mode is applied to the current block, a CPMV for the current block is derived, and the motion vector of each sample or subblock is divided by dividing the current block into units of samples or subblocks based on the derived CPMV.
- the calculation process is required at the same time.
- the affine prediction mode can represent not only translation but also various movements such as rotation and scaling, it requires a large amount of computation since calculation for each sample or subblock is required at the same time.
- the present invention maximizes the characteristics of the neighboring block encoded / decoded by the affine prediction method in the prediction of the current block, but prevents the motion compensation by dividing the data into samples or sub-blocks, thereby increasing the memory access speed.
- This paper proposes a method to improve the prediction accuracy rather than saving the motion by simply using the motion vectors of neighboring blocks.
- the present invention derives a motion vector for a center position of a current block by using a control point motion vector (CPMV) of a neighboring block, and uses the derived motion vector as an MVP for the current block. Suggest how to.
- CPMV control point motion vector
- FIG. 7 illustrates an example of deriving a motion vector with respect to the center position of the current block based on the CPMV of the neighboring block.
- a left neighboring block of the current block may be a block predicted in an affine prediction mode.
- the motion vector 700 of the center position with respect to the current block may be derived based on the CPMV of the left neighboring block.
- the motion vector for the center position of the current block may be derived based on the following equation.
- MV c (v x , v y ) represents a motion vector with respect to the center position of the current block.
- v x represents the x component of the motion vector with respect to the center position of the current block, and
- v y represents the y component of the motion vector with respect to the center position of the current block.
- v 0x denotes the x component of the CPMV0 of the peripheral block
- v 0y denotes a y component of the CPMV0 of the peripheral block
- v 1x represents the x component of the CPMV1 of the peripheral block
- v 1y is the peripheral block
- h denotes the height of the current block
- w denotes the width of the current block.
- the CPMV0 of the neighboring block may represent a motion vector of CP0 (Control Point 0) of the neighboring block
- the CPMV1 of the neighboring block may represent a motion vector of CP1 (Control Point 1) of the neighboring block.
- the CP0 may indicate a top left position of the neighboring block
- the CP1 may indicate a top right position of the neighboring block.
- the control point of the (a, b) sample position is the control point of CP0, (a + w n , b) sample position.
- the derived motion vector is a spatial MVP for the current block as a motion vector of a neighboring block from which CP is derived (for example, a left neighboring block in FIG. 7). Can be used as a candidate. That is, the motion vector for the center position may be derived as the MVP candidate for the current block.
- a method of deriving a motion vector for the center position of the current block based on the 4-parameter affine motion model is illustrated as an example.
- a motion model eg, a 6 parameter affine motion model
- a motion vector for the center position of the current block may be derived based on the affine motion model other than the 4 parameter affine motion model, and the derived motion vector may be applied as an MVP for the current block.
- FIG. 8 illustrates an example of using a motion vector of a center position of a current block derived based on the CPMV of a neighboring block as the MVP of the current block.
- the motion vector for the center position of the current block derived based on the CPMV of the neighboring block may be used as the MVP of the current block, and the motion vector 800 of the current block is based on the MVP.
- Can be derived For example, a motion vector difference (MVD) for the current block may be obtained, and the motion vector of the current block may be derived based on the MVP and the MVD.
- MVD motion vector difference
- a prediction block for the current block may be derived based on the reference block 810 indicated by the motion vector 800.
- the following embodiments may be proposed as a method of utilizing a motion vector for the center position of the current block derived based on the CPMV of the neighboring block.
- the motion vector may be used as a spatial merge candidate in merge mode. For example, if a merge mode is applied to the current block and the value of the affine prediction flag for the current block is 0 (that is, if the affine prediction is not applied to the current block), the affine of the current block is A motion vector for a center position may be derived from the current block based on the CPMV of the neighboring block to which the prediction is applied, and the motion vector may be derived as a merge candidate as the motion vector of the spatial neighboring block of the current block.
- the above embodiment can always be performed in the decoding apparatus.
- information indicating whether the embodiment is applied may be signaled through high level syntax such as a video parameter set (VPS), a sequence parameter set (SPS), a picture parameter set (PPS), or a slice header.
- the embodiment may be used variably based on the information.
- whether the embodiment is applied or not may be adaptively determined by using the size of the current block, the number of samples, or mode information of a neighboring block as a condition. That is, it may be determined whether the embodiment is applied based on the size of the current block or the number of samples or mode information of the neighboring block.
- the motion vector may be used as a spatial MVP candidate in AMVP mode. For example, if the AMVP mode is applied to the current block, and the value of the affine prediction flag for the current block is 0 (ie, if the affine prediction is not applied to the current block), the current Based on the CPMV of the neighboring block to which the affine prediction of the block is applied, a motion vector for a center position may be derived from the current block, and the motion vector may be derived as an AMVP candidate as a motion vector of a spatial neighboring block of the current block. Can be.
- information indicating whether the embodiment is applied may be signaled through high level syntax such as a video parameter set (VPS), a sequence parameter set (SPS), a picture parameter set (PPS), or a slice header.
- the embodiment may be used variably based on the information.
- whether the embodiment is applied or not may be adaptively determined by using the size of the current block, the number of samples, or mode information of a neighboring block as a condition. That is, it may be determined whether the embodiment is applied based on the size of the current block or the number of samples or mode information of the neighboring block.
- FIG. 9 schematically illustrates an image encoding method by an encoding apparatus according to the present invention.
- the method disclosed in FIG. 9 may be performed by the encoding apparatus disclosed in FIG. 1.
- S900 to S920 of FIG. 9 may be performed by the prediction unit of the encoding apparatus
- S930 may be performed by the entropy encoding unit of the encoding apparatus.
- a process of deriving a residual sample for the current block based on the original sample and the prediction sample for the current block may be performed by a subtractor of the encoding apparatus
- the generating of the information about the residual on the basis of the current block may be performed by a converter of the encoding apparatus, and the encoding of the information about the residual may be performed by an entropy encoding unit of the encoding apparatus. Can be performed.
- the encoding apparatus derives motion vectors of control points (CPs) of neighboring blocks with respect to the current block (S900).
- the encoding device may derive the motion vectors of the control points of the neighboring block for the current block. Two CPs may be used or three CPs may be used.
- the neighboring block may be a neighboring block to which affine prediction is applied. That is, the neighboring block may be a block encoded / decoded based on the affine prediction.
- the neighboring block may be one of neighboring blocks with respect to the current block.
- the neighboring blocks may include spatial neighboring blocks and / or temporal neighboring blocks.
- the spatial peripheral block may include a left peripheral block, an upper peripheral block, an upper left corner peripheral block, a lower left corner peripheral block, and a right upper corner peripheral block of the current block. For example, when the size of the current block is WxH and the x component of the top-left sample position of the current block is 0 and the y component is 0, the left neighboring block is (-1, H-1).
- a block containing a sample of coordinates wherein the upper peripheral block is a block containing a sample of (W-1, -1) coordinates, and the right upper corner peripheral block includes a sample of (W, -1) coordinates Block
- the lower left corner peripheral block may be a block including samples of (-1, H) coordinates
- the upper left corner peripheral block may be a block including samples of (-1, -1) coordinates.
- the temporal neighboring block may include the same position block including a position within a reference picture corresponding to an upper left position, a lower right position, a center upper right position, and / or a center lower left position of the current block.
- the number of CPs for the neighboring block may be two.
- the coordinate of CP0 among the CPs is (a , b)
- the coordinate of CP1 may be (a + w n , b).
- the number of CPs for the neighboring block may be three.
- the coordinate of the upper left sample position of the neighboring block is (a, b)
- the height of the neighboring block is h n
- the width is w n
- the coordinate of CP0 among the CPs is (a, b)
- the coordinate of CP1 may be (a + w n , b)
- the coordinate of CP2 may be (a, b + h n ).
- the encoding apparatus derives a motion vector with respect to the center position of the current block based on the motion vectors of the CPs (S910).
- the encoding apparatus applies the motion vectors of the control points of the neighboring block and the center position of the current block to an affine motion model such as Equation 1 or Equation 3 above, so that the encoding of the center position of the current block is performed.
- a motion vector can be derived.
- the motion vector for the center position may be derived based on Equation 6 described above.
- the encoding apparatus may determine whether intra prediction or inter prediction is applied to the current block.
- the encoding apparatus may derive motion information about the current block by applying a skip mode, a merge mode, or an AMVP mode.
- the motion information may include a motion vector and a reference picture index.
- the encoding apparatus may configure a merge candidate list using motion information of available neighboring blocks, and select one of the merge candidates included in the merge candidate list.
- the selected merge candidate may be derived as motion information for the current block.
- the encoding apparatus may encode a merge index indicating the selected merge candidate among merge candidates of the merge candidate list.
- the merge index may be included in the prediction information for the current block.
- the encoding apparatus uses the motion vector corresponding to the motion vector of the spatial neighboring block of the current block and / or the Col block, which is a temporal neighboring block, to the motion vector predictor candidate list Can be generated. That is, a motion vector of a reconstructed spatial neighboring block and / or a motion vector corresponding to a Col block, which is a temporal neighboring block, may be used as a motion vector predictor candidate.
- the encoding apparatus may select one motion vector predictor candidate from among motion vector predictor candidates included in the list as the prediction information of the current block, and use the selected motion vector predictor candidate as a motion vector predictor. We can derive the motion vector for.
- the encoding apparatus may obtain a motion vector difference (MVD) between the motion vector of the current block and the motion vector predictor, and may encode the same and output the encoded bitstream in the form of a bitstream. That is, MVD may be obtained by subtracting the motion vector predictor from the motion vector of the current block.
- the encoding apparatus may encode a motion vector predictor index indicating the selected motion vector predictor candidate among the motion vector predictor candidates included in the list. The motion vector predictor index may be included in prediction information about the current block.
- the encoding apparatus may derive a reference picture for the current block and may encode a reference picture index indicating the reference picture. The reference picture index may be included in the prediction information.
- the encoding apparatus may encode information on inter prediction of the current block.
- the information on the inter prediction may include information indicating whether intra prediction or inter prediction is applied to the current block.
- the information on the inter prediction may include information (eg, a skip flag) indicating whether a skip mode is applied to the current block.
- the information on the inter prediction may include information (eg, a merge flag) indicating whether a merge mode or an AMVP mode is applied to the current block.
- the encoding apparatus may determine whether affine prediction is applied to the current block, and generate and encode an affine prediction flag indicating whether the affine prediction is applied to the current block.
- the affine prediction flag When the value of the affine prediction flag is 1, the affine prediction flag may indicate that the affine prediction is applied to the current block. When the value of the affine prediction flag is 0, the affine prediction flag is 0. May indicate that the affine prediction is not applied to the current block.
- the information on the inter prediction may include the affine prediction flag.
- a merge mode or MVP mode is applied to the current block and affine prediction is not applied to the current block, based on the motion vectors of control points of a neighboring block to which the affine prediction is applied.
- a motion vector for the center position of the current block may be derived, and the motion vector may be derived as a merge candidate or MVP candidate of the current block.
- the encoding apparatus performs prediction on the current block based on the motion vector (S920).
- the encoding apparatus may derive a motion vector for the current block based on the motion vector.
- the encoding apparatus may derive a motion vector for a center position of the current block as a merge candidate of the current block.
- the merge candidate may include a motion vector for the center position and a reference picture index of the neighboring block.
- the encoding apparatus may derive the merge candidate as motion information of the current block, derive a reference picture based on the reference picture index, derive a reference block indicated by the motion vector on the reference picture, and
- the reconstruction sample in the reference block may be used as a prediction sample for the current block.
- the encoding apparatus may encode a merge index indicating the selected merge candidate among merge candidates included in the merge candidate list.
- the encoding apparatus may derive a motion vector for the center position of the current block as the MVP candidate of the current block.
- the encoding apparatus may derive the MVP candidate as a motion vector predictor (MVP) of the current block, and derive the motion vector for the current block through the addition of the MVP and the MVD for the current block.
- the encoding apparatus may derive the reference block indicated by the motion vector on the reference picture for the current block, and use the reconstructed sample in the reference block as a prediction sample for the current block.
- the encoding apparatus may generate and encode a reference picture index indicating the reference picture for the current block.
- the encoding apparatus may obtain a motion vector difference (MVD) between the motion vector of the current block and the motion vector predictor, and may encode the same and output the encoded bitstream in the form of a bitstream. That is, MVD may be obtained by subtracting the motion vector predictor from the motion vector of the current block.
- the encoding apparatus may encode the MVP index indicating the selected MVP candidate among the motion vector predictor candidates included in the MVP candidate list.
- the encoding device encodes information about inter prediction of the current block (S930).
- the encoding apparatus may encode and output the information about the inter prediction of the current block in the form of a bitstream.
- the information on the inter prediction may include information indicating whether intra prediction or inter prediction is applied to the current block.
- the information on the inter prediction may include information (eg, a skip flag) indicating whether a skip mode is applied to the current block.
- the information on the inter prediction may include information (eg, a merge flag) indicating whether a merge mode or an AMVP mode is applied to the current block.
- the information on the inter prediction may include a merge index indicating the selected merge candidate.
- the information on the inter prediction includes an MVP index indicating the selected MVP candidate, an MVD for the current block, and a reference picture index indicating a reference picture for the current block. can do.
- the encoding apparatus may generate information about the residual based on the residual sample.
- the information about the residual may include transform coefficients related to the residual sample.
- the encoding device may encode the information about the residual and output the encoded information about the residual.
- the bitstream may be transmitted to a decoding apparatus via a network or a storage medium.
- FIG. 10 schematically illustrates an encoding apparatus for performing an image encoding method according to the present invention.
- the method disclosed in FIG. 9 may be performed by the encoding apparatus disclosed in FIG. 10.
- the prediction unit of the decoding apparatus of FIG. 10 may perform S900 to S920 of FIG. 9, and the entropy encoding unit of the decoding apparatus of FIG. 10 may perform S930 of FIG. 9.
- a process of deriving a residual sample for the current block based on the original sample and the prediction sample for the current block may be performed by the subtraction unit of the encoding apparatus of FIG. 10.
- the generating of the information about the residual for the current block based on the residual sample may be performed by the converter of the encoding apparatus of FIG. 10, and the encoding of the residual information may be performed in FIG. 10. May be performed by an entropy encoding unit of the encoding apparatus.
- FIG. 11 schematically illustrates an image decoding method by a decoding apparatus according to the present invention.
- the method disclosed in FIG. 11 may be performed by the decoding apparatus disclosed in FIG. 2.
- S1600 to S1640 of FIG. 11 may be performed by the prediction unit of the decoding apparatus.
- the process of acquiring the information about the inter prediction and the residual information of the current block through the bitstream may be performed by an entropy decoding unit of the decoding apparatus, based on the residual information.
- Deriving the residual sample for the current block may be performed by an inverse transform unit of the decoding apparatus, and generating a reconstructed picture based on the prediction sample and the residual sample may be added by the decoding apparatus.
- the decoding apparatus derives motion vectors of control points (CPs) of the neighboring block with respect to the current block (S1100).
- the decoding apparatus may derive the motion vectors of the control points of the neighboring block for the current block. Two CPs may be used or three CPs may be used.
- the neighboring block may be a neighboring block to which affine prediction is applied. That is, the neighboring block may be a block decoded based on the affine prediction.
- the neighboring block may be one of neighboring blocks with respect to the current block.
- the neighboring blocks may include spatial neighboring blocks and / or temporal neighboring blocks.
- the spatial peripheral block may include a left peripheral block, an upper peripheral block, an upper left corner peripheral block, a lower left corner peripheral block, and a right upper corner peripheral block of the current block. For example, when the size of the current block is WxH and the x component of the top-left sample position of the current block is 0 and the y component is 0, the left neighboring block is (-1, H-1).
- a block containing a sample of coordinates wherein the upper peripheral block is a block containing a sample of (W-1, -1) coordinates, and the right upper corner peripheral block includes a sample of (W, -1) coordinates Block
- the lower left corner peripheral block may be a block including samples of (-1, H) coordinates
- the upper left corner peripheral block may be a block including samples of (-1, -1) coordinates.
- the temporal neighboring block may include the same position block including a position within a reference picture corresponding to an upper left position, a lower right position, a center upper right position, and / or a center lower left position of the current block.
- the number of CPs for the neighboring block may be two.
- the coordinates of the top-left sample position of the neighboring block are (a, b) and the width of the neighboring block is w n
- the coordinate of CP0 among the CPs is (a , b)
- the coordinate of CP1 may be (a + w n , b).
- the number of CPs for the neighboring block may be three.
- the coordinate of the upper left sample position of the neighboring block is (a, b)
- the height of the neighboring block is h n
- the width is w n
- the coordinate of CP0 among the CPs is (a, b)
- the coordinate of CP1 may be (a + w n , b)
- the coordinate of CP2 may be (a, b + h n ).
- the decoding apparatus derives a motion vector with respect to the center position of the current block based on the motion vectors of the CPs (S1110).
- the decoding apparatus applies the motion vectors of the control points of the neighboring block and the center position of the current block to an affine motion model such as Equation 1 or Equation 3 above, so that the decoding of the center position of the current block is performed.
- a motion vector can be derived.
- the motion vector for the center position may be derived based on Equation 6 described above.
- the decoding apparatus may obtain information on inter prediction of the current block through a bitstream, and determine a prediction mode of the current block based on the information on the inter prediction.
- the decoding apparatus may apply any one of a skip mode, a merge mode, and an MVP mode.
- the decoding apparatus may determine whether a skip mode is applied to the current block based on a skip flag for the current block.
- the skip flag may indicate whether the skip mode is applied to the current block.
- the decoding apparatus may determine whether a merge mode is applied to the current block based on a merge flag for the current block.
- the merge flag may indicate whether a merge mode is applied to the current block, and the information on the inter prediction may include the merge flag.
- the merge flag has a value of 1
- the merge flag may indicate that the merge mode is applied to the current block.
- the merge flag has a value of 0
- the merge flag may have the merge mode in the current block. May not apply.
- the MVP mode may be applied to the current block.
- the information on the inter prediction may include an affine prediction flag.
- the affine prediction flag may indicate whether affine prediction is applied to the current block. When the value of the affine prediction flag is 1, the affine prediction flag may indicate that the affine prediction is applied to the current block. When the value of the affine prediction flag is 0, the affine prediction flag is 0. May indicate that the affine prediction is not applied to the current block. Meanwhile, when merge mode or MVP mode is applied to the current block, and the value of the affine prediction flag for the current block is 0 (that is, when affine prediction is not applied to the current block), the affine prediction is performed.
- the motion vector for the center position of the current block may be derived based on the motion vectors of the control points of the applied neighboring block, and the motion vector may be derived as a merge candidate or MVP candidate of the current block. have.
- the decoding apparatus performs prediction on the current block based on the motion vector (S1120).
- the decoding apparatus may derive a motion vector for the current block based on the motion vector.
- the decoding apparatus may derive a motion vector for a center position of the current block as a merge candidate of the current block.
- the merge candidate may include a motion vector for the center position and a reference picture index of the neighboring block.
- the decoding apparatus may derive the merge candidate as motion information of the current block, derive a reference picture based on the reference picture index, derive a reference block indicated by the motion vector on the reference picture,
- the reconstruction sample in the reference block may be used as a prediction sample for the current block.
- the decoding apparatus may obtain a merge index of the current block and derive a merge candidate indicated by the merge index as motion information of the current block.
- the merge index may indicate the merge candidate including a motion vector for the center position.
- the decoding apparatus may derive a motion vector for the center position of the current block as the MVP candidate of the current block.
- the decoding apparatus may derive the MVP candidate as a motion vector predictor (MVP) of the current block, obtain a motion vector difference (MVD) included in the information about the inter prediction, and the MVP And the motion vector for the current block can be derived through the addition of the MVD.
- the decoding apparatus may derive a reference picture based on a reference picture index for the current block, derive a reference block indicated by the motion vector on the reference picture, and assign a reconstructed sample in the reference block to the current block. It can be used as a predictive sample.
- the decoding apparatus may obtain the reference picture index through the bitstream.
- the information on the inter prediction may include the reference picture index.
- the decoding apparatus may obtain an MVP index of the current block and derive an MVP candidate indicated by the MVP index as the MVP of the current block.
- the MVP index may indicate the MVP candidate representing a motion vector with respect to the center position.
- the decoding apparatus may derive a predicted sample for the current block based on a reconstructed sample of the reference block indicated by the motion vector for the current block.
- the decoding apparatus may directly use the prediction sample as a reconstruction sample according to a prediction mode, or generate a reconstruction sample by adding a residual sample to the prediction sample. If there is a residual sample for the current block, the decoding apparatus may receive information about the residual for the current block, and the information about the residual may be included in the information about the face. The information about the residual may include transform coefficients regarding the residual sample. The decoding apparatus may derive the residual sample (or residual sample array) for the current block based on the residual information. The decoding apparatus may generate a reconstructed sample based on the prediction sample and the residual sample, and may derive a reconstructed block or a reconstructed picture based on the reconstructed sample. Thereafter, as described above, the decoding apparatus may apply an in-loop filtering procedure, such as a deblocking filtering and / or SAO procedure, to the reconstructed picture in order to improve subjective / objective picture quality as necessary.
- an in-loop filtering procedure such as a deblocking filtering and / or
- FIG. 12 schematically illustrates a decoding apparatus for performing an image decoding method according to the present invention.
- the method disclosed in FIG. 11 may be performed by the decoding apparatus disclosed in FIG. 12.
- the prediction unit of the decoding apparatus of FIG. 12 may perform S1100 to S1120 of FIG. 11.
- the process of acquiring information on the inter prediction of the current block through the bitstream and the process of acquiring information on the residual of the current block through the bitstream may be performed.
- the derivation of the residual sample for the current block based on the residual information may be performed by an inverse transform unit of the decoding apparatus of FIG. 12.
- a process of generating a reconstructed picture based on a sample and the residual sample may be performed by an adder of the decoding apparatus of FIG. 12.
- the motion vector of the current block can be derived by utilizing the characteristics of the neighboring block to which the affine prediction is applied, thereby saving the memory access speed rather than simply performing the affine motion model. It is possible to improve prediction accuracy than when performing motion prediction using the motion vector of the block.
- the motion vector of the current block is derived by utilizing the characteristics of the neighboring block to which the affine prediction is applied, but the motion compensation is prevented by dividing by the sample or sub-block unit of the current block. This avoids the problem of increased computational complexity and memory access speed.
- the above-described method according to the present invention may be implemented in software, and the encoding device and / or the decoding device according to the present invention may perform image processing of, for example, a TV, a computer, a smartphone, a set-top box, a display device, and the like. It can be included in the device.
- the above-described method may be implemented as a module (process, function, etc.) for performing the above-described function.
- the module may be stored in memory and executed by a processor.
- the memory may be internal or external to the processor and may be coupled to the processor by various well known means.
- the processor may include application-specific integrated circuits (ASICs), other chipsets, logic circuits, and / or data processing devices.
- the memory may include read-only memory (ROM), random access memory (RAM), flash memory, memory card, storage medium and / or other storage device. That is, the embodiments described in the present invention may be implemented and performed on a processor, a microprocessor, a controller, or a chip. For example, the functional units shown in each drawing may be implemented and performed on a computer, processor, microprocessor, controller, or chip.
- the decoding apparatus and encoding apparatus to which the present invention is applied include a multimedia broadcasting transmitting and receiving device, a mobile communication terminal, a home cinema video device, a digital cinema video device, a surveillance camera, a video chat device, a real time communication device such as video communication, and mobile streaming.
- the OTT video device may include a game console, a Blu-ray player, an internet access TV, a home theater system, a smartphone, a tablet PC, a digital video recorder (DVR), and the like.
- the processing method to which the present invention is applied can be produced in the form of a program executed by a computer, and stored in a computer-readable recording medium.
- Multimedia data having a data structure according to the present invention can also be stored in a computer-readable recording medium.
- the computer readable recording medium includes all kinds of storage devices and distributed storage devices in which computer readable data is stored.
- the computer-readable recording medium may be, for example, a Blu-ray disc (BD), a universal serial bus (USB), a ROM, a PROM, an EPROM, an EEPROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, and an optical disc. It may include a data storage device.
- the computer-readable recording medium also includes media embodied in the form of a carrier wave (eg, transmission over the Internet).
- the bitstream generated by the encoding method may be stored in a computer-readable recording medium or transmitted through a wired or wireless communication network.
- an embodiment of the present invention may be implemented as a computer program product by program code, which may be performed on a computer by an embodiment of the present invention.
- the program code may be stored on a carrier readable by a computer.
- the content streaming system to which the present invention is applied may largely include an encoding server, a streaming server, a web server, a media storage, a user device, and a multimedia input device.
- the encoding server compresses content input from multimedia input devices such as a smart phone, a camera, a camcorder, etc. into digital data to generate a bitstream and transmit the bitstream to the streaming server.
- multimedia input devices such as smart phones, cameras, camcorders, etc. directly generate a bitstream
- the encoding server may be omitted.
- the bitstream may be generated by an encoding method or a bitstream generation method to which the present invention is applied, and the streaming server may temporarily store the bitstream in the process of transmitting or receiving the bitstream.
- the streaming server transmits the multimedia data to the user device based on the user's request through the web server, and the web server serves as a medium for informing the user of what service.
- the web server delivers it to a streaming server, and the streaming server transmits multimedia data to the user.
- the content streaming system may include a separate control server.
- the control server plays a role of controlling a command / response between devices in the content streaming system.
- the streaming server may receive content from a media store and / or an encoding server. For example, when the content is received from the encoding server, the content may be received in real time. In this case, in order to provide a smooth streaming service, the streaming server may store the bitstream for a predetermined time.
- Examples of the user device include a mobile phone, a smart phone, a laptop computer, a digital broadcasting terminal, a personal digital assistant (PDA), a portable multimedia player (PMP), navigation, a slate PC, Tablet PCs, ultrabooks, wearable devices (e.g., smartwatches, glass glasses, head mounted displays), digital TVs, desktops Computer, digital signage, and the like.
- PDA personal digital assistant
- PMP portable multimedia player
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Un procédé de décodage d'une image effectuée par un dispositif de décodage, selon la présente invention, comprend les étapes suivantes consistant à : dériver des vecteurs de mouvement de points de contrôle (CPs) d'un bloc voisin pour un bloc courant ; dériver un vecteur de mouvement pour la position centrale du bloc courant sur la base des vecteurs de mouvement des CPs ; et à effectuer une prédiction pour le bloc courant sur la base du vecteur de mouvement.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201862657793P | 2018-04-14 | 2018-04-14 | |
| US62/657,793 | 2018-04-14 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2019199106A1 true WO2019199106A1 (fr) | 2019-10-17 |
Family
ID=68163256
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2019/004424 Ceased WO2019199106A1 (fr) | 2018-04-14 | 2019-04-12 | Procédé et dispositif de décodage d'image selon une interprédiction dans un système de codage d'images |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2019199106A1 (fr) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2012081894A1 (fr) * | 2010-12-13 | 2012-06-21 | 한국전자통신연구원 | Procédé et dispositif de choix d'unité de référence |
| US9438910B1 (en) * | 2014-03-11 | 2016-09-06 | Google Inc. | Affine motion prediction in video coding |
| WO2017036045A1 (fr) * | 2015-08-29 | 2017-03-09 | 华为技术有限公司 | Procédé et dispositif de prédiction d'image |
| WO2017171107A1 (fr) * | 2016-03-28 | 2017-10-05 | 엘지전자(주) | Procédé de traitement d'image basé sur un mode d'inter-prédiction, et appareil associé |
-
2019
- 2019-04-12 WO PCT/KR2019/004424 patent/WO2019199106A1/fr not_active Ceased
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2012081894A1 (fr) * | 2010-12-13 | 2012-06-21 | 한국전자통신연구원 | Procédé et dispositif de choix d'unité de référence |
| US9438910B1 (en) * | 2014-03-11 | 2016-09-06 | Google Inc. | Affine motion prediction in video coding |
| WO2017036045A1 (fr) * | 2015-08-29 | 2017-03-09 | 华为技术有限公司 | Procédé et dispositif de prédiction d'image |
| WO2017171107A1 (fr) * | 2016-03-28 | 2017-10-05 | 엘지전자(주) | Procédé de traitement d'image basé sur un mode d'inter-prédiction, et appareil associé |
Non-Patent Citations (1)
| Title |
|---|
| CHEN, JIANLE ET AL.: "Algorithm Description of Joint Exploration Test Model 7 (JEM 7", JOINT VIDEO EXPLORATION TEAM (JVET) OF ITU-T SG 16 WP 3, 21 July 2017 (2017-07-21), Retrieved from the Internet <URL:http://phenix.int-evry.fr/jvet> [retrieved on 20190705] * |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2020036417A1 (fr) | Procédé de prédiction inter faisant appel à un vecteur de mouvement fondé sur un historique, et dispositif associé | |
| WO2020017840A1 (fr) | Procédé et dispositif pour exécuter une prédiction inter sur la base d'un dmvr | |
| WO2019194440A1 (fr) | Procédé de codage d'image à l'aide d'une table de consultation de mode d'intraprédiction et appareil associé | |
| WO2020009390A1 (fr) | Procédé et dispositif de traitement d'image selon une prédiction inter dans un système de codage d'image | |
| WO2019194507A1 (fr) | Procédé de codage d'image basé sur une prédiction de mouvement affine, et dispositif associé | |
| WO2017195914A1 (fr) | Procédé et appareil d'inter-prédiction dans un système de codage vidéo | |
| WO2019212230A1 (fr) | Procédé et appareil de décodage d'image à l'aide d'une transformée selon une taille de bloc dans un système de codage d'image | |
| WO2020141928A1 (fr) | Procédé et appareil de décodage d'image sur la base d'une prédiction basée sur un mmvd dans un système de codage d'image | |
| WO2020013480A1 (fr) | Procédé de codage de mode d'intra-prédiction et dispositif associé | |
| WO2020141932A1 (fr) | Procédé et appareil de prédiction inter utilisant des mmvd de cpr | |
| WO2020251338A1 (fr) | Prédiction inter dans un système de codage de vidéo ou d'image | |
| WO2020141884A1 (fr) | Procédé et appareil de codage d'image en utilisant une mmvd sur la base d'un cpr | |
| WO2019209026A1 (fr) | Procédé et appareil d'interprédiction dans un système de codage vidéo | |
| WO2020141885A1 (fr) | Procédé et dispositif de décodage d'image au moyen d'un filtrage de dégroupage | |
| WO2018128228A1 (fr) | Procédé et dispositif de décodage d'image dans un système de codage d'image | |
| WO2020004879A1 (fr) | Procédé et dispositif de décodage d'image selon une prédiction inter à l'aide d'une pluralité de blocs voisins dans un système de codage d'image | |
| WO2020251339A1 (fr) | Procédé et dispositif de codage d'image/vidéo basés sur une bi-prédiction | |
| WO2019203533A1 (fr) | Procédé d'inter-prédiction en fonction de modèles de mouvement multiples et dispositif correspondant | |
| WO2021133060A1 (fr) | Appareil et procédé de codage d'image basés sur une sous-image | |
| WO2020145656A1 (fr) | Procédé et dispositif pour signaler si un candidat de prédiction temporelle par vecteur de mouvement (tmvp) est disponible | |
| WO2019225932A1 (fr) | Procédé et appareil de décodage d'image à l'aide de dmvr dans un système de codage d'images | |
| WO2019194506A1 (fr) | Procédé de codage d'image basé sur une inter-prédiction affine et dispositif associé | |
| WO2019203504A1 (fr) | Procédé et appareil pour réduire un espace de stockage pour des informations de mouvement dans un système de traitement vidéo | |
| WO2020013673A1 (fr) | Procédé et dispositif pour exécuter une inter-prédiction sur la base d'un dmvr | |
| WO2019199045A1 (fr) | Procédé et dispositif de codage d'image ayant une région de référence limitée configurée et utilisant une inter-prédiction |
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: 19785651 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 19785651 Country of ref document: EP Kind code of ref document: A1 |