WO2018128380A1 - 어파인 예측을 이용하여 비디오 신호를 처리하는 방법 및 장치 - Google Patents

어파인 예측을 이용하여 비디오 신호를 처리하는 방법 및 장치 Download PDF

Info

Publication number
WO2018128380A1
WO2018128380A1 PCT/KR2018/000110 KR2018000110W WO2018128380A1 WO 2018128380 A1 WO2018128380 A1 WO 2018128380A1 KR 2018000110 W KR2018000110 W KR 2018000110W WO 2018128380 A1 WO2018128380 A1 WO 2018128380A1
Authority
WO
WIPO (PCT)
Prior art keywords
mode
affine
merge
flag
motion vector
Prior art date
Application number
PCT/KR2018/000110
Other languages
English (en)
French (fr)
Inventor
이재호
김승환
유선미
Original Assignee
엘지전자(주)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자(주) filed Critical 엘지전자(주)
Priority to US16/475,306 priority Critical patent/US20190335170A1/en
Publication of WO2018128380A1 publication Critical patent/WO2018128380A1/ko

Links

Classifications

    • 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
    • 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/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • 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/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding

Definitions

  • the present invention relates to a method and apparatus for encoding / decoding a video signal, and more particularly, to a method and apparatus for signaling a flag for affine prediction.
  • Compression coding refers to a series of signal processing techniques for transmitting digitized information through a communication line or for storing in a form suitable for a storage medium.
  • Media of video, image, and audio may be subjected to compression encoding.
  • a technique of performing compression encoding on an image is called video image compression.
  • Next generation video content will be characterized by high spatial resolution, high frame rate and high dimensionality of scene representation. Processing such content will result in a tremendous increase in terms of memory storage, memory access rate, and processing power.
  • the present invention provides a method for encoding and decoding a video signal more efficiently. I would like to suggest.
  • the present invention also proposes a method of signaling a flag for affine prediction.
  • the present invention proposes a method of matching a condition for signaling a flag for affine prediction on a pixel-by-pixel or non-specific basis. .
  • the present invention also proposes a method of matching the conditions of affine inter mode (AFJNTER) and affine merge mode (AF—MERGE) to signal a flag for affine prediction.
  • AFJNTER affine inter mode
  • AF—MERGE affine merge mode
  • the present invention also proposes a method for determining a control point motion vector or a control block motion vector for affine prediction.
  • the present invention also proposes a method of signaling an optimal control point motion vector or control block motion vector.
  • the present invention also proposes a method for defining and solving affine prediction ambiguity of a block including a corner point in 4xN or Nx4 blocks.
  • the present invention intends to propose a method of applying the above methods to blocks of all sizes equally.
  • the present invention provides a method for signaling a flag for affine prediction.
  • the present invention also provides a method of matching conditions for signaling polls for affine prediction on a pixel or block basis.
  • the present invention also provides a method of matching the conditions of affine inter mode (AFJNTER) and affine merge mode (AF_MERGE) to signal a full lag for affine prediction.
  • AFJNTER affine inter mode
  • AF_MERGE affine merge mode
  • the present invention also provides a method of determining a control point motion vector or control block motion vector for affine prediction.
  • the present invention also provides a method of signaling an optimal control point motion vector or control block motion vector.
  • the present invention provides a method for defining and solving affine prediction ambiguity of a block including a corner point in a 4xN or Nx4 block.
  • the present invention provides a method of applying the above methods to blocks of all sizes equally.
  • the present invention addresses the conditions of affine inter mode (AFJNTER) and affine merge mode (AF_MERGE) to signal a flag for affine prediction.
  • affine inter mode AFJNTER
  • AF_MERGE affine merge mode
  • the present invention can provide more efficient coding by providing a method of signaling an optimal control point motion vector or control block motion vector.
  • FIG. 1 is a schematic block diagram of an encoder in which encoding of a video signal is performed, according to an embodiment to which the present invention is applied.
  • FIG. 2 is an embodiment to which the present invention is applied and shows a schematic block diagram of a decoder in which decoding of a video signal is performed.
  • FIG. 3 is a diagram for describing a QTBT (QuadTree BinaryTree, hereinafter referred to as 'QTBT')-specific partition structure as an embodiment to which the present invention can be applied.
  • QTBT QuadTree BinaryTree
  • FIG. 4 is a diagram for describing an inter prediction mode according to an embodiment to which the present invention is applied.
  • affine motion model affine motion
  • FIG. 6 and 7 illustrate embodiments to which the present invention is applied and illustrate an affine motion prediction method using a control point motion vector.
  • FIG. 8 is a diagram for describing a motion vector field representing a set of motion vectors of coding blocks as an embodiment to which the present invention is applied.
  • FIG. 9 is a table illustrating a signalable block size of an AF inter mode and an AF merge mode according to an embodiment to which the present invention is applied.
  • FIG. 10 is a flowchart illustrating a process of encoding a video signal according to an AF inter mode and an AF merge mode according to an embodiment to which the present invention is applied.
  • FIG. 1 is a flowchart illustrating a process of decoding a video signal according to an AF inter mode and an AF merge mode according to an embodiment to which the present invention is applied.
  • FIG. 12 illustrates a syntax structure for decoding a video signal according to an AF inter mode and an AF merge mode according to an embodiment to which the present invention is applied.
  • FIG. 13 is a flowchart illustrating a process of encoding a video signal based on an AF flag signaling condition based on a block size according to an embodiment to which the present invention is applied.
  • FIG. 14 is a flowchart illustrating a process of decoding a video signal based on an AF pull lag signaling condition based on a block size according to an embodiment to which the present invention is applied.
  • FIG. 15 illustrates a syntax structure for decoding a video signal based on an AF flag signaling condition based on a block size as an embodiment to which the present invention is applied. Indicates.
  • FIG. 16 is a flowchart illustrating a process of encoding a video signal based on an AF flag signaling condition based on a pixel size according to an embodiment to which the present invention is applied.
  • 17 is a flowchart illustrating a process of decoding a video signal based on an AF flag signaling condition based on a pixel size according to an embodiment to which the present invention is applied.
  • FIG. 18 illustrates a syntax structure for decoding a video signal based on an AF flag signaling condition based on a pixel size according to an embodiment to which the present invention is applied.
  • FIG. 19 is a diagram for describing a process of determining a control point motion vector for affine prediction in an embodiment to which the present invention is applied.
  • FIG. 20 is a flowchart illustrating a process of processing a video signal including a current block using an affine prediction mode according to an embodiment to which the present invention is applied. [Best form for implementation of the invention]
  • a method of decoding a video signal including a current block using an affine mode comprising: parsing a skip flag or a merge pole from the video signal; Checking whether the sample number or size of the current block satisfies a preset condition when the swarm mode or the merge mode is applied according to the spool flag or the merge flag; Parsing an affine flag if the condition is met, wherein the affine flag is affine prediction Indicates whether a mode is applied, wherein the affine prediction mode indicates a mode of deriving a motion vector in units of pixels or subblocks using a control point motion vector; And when the affine prediction mode is applied according to the affine pollag, determining the affine merge mode as an optimal prediction mode.
  • the preset condition indicates whether the number of samples of the current block is 64 or more, and when the skip mode and the merge mode are not applied,
  • the set condition is characterized in that both the height and width of the current block is greater than 8 and the size is 2N ⁇ 2N.
  • the preset condition is characterized in that the width of the current block is greater than or equal to N and the height is greater than or equal to M, when the skip mode is applied and when the merge mode is applied, the predetermined condition is the same. .
  • the preset condition indicates whether the width X height of the current block is equal to or greater than N, and the preset condition is the same when the scan mode is applied and the merge mode is applied. .
  • the affine merge mode is determined as an optimal prediction mode, and when both the skip mode and the merge mode are not applied, the The affine inter mode is determined as an optimal prediction mode.
  • the N and M values are predetermined values in the encoder and / or decoder, or characterized in that the value transmitted through the video signal.
  • An apparatus for decoding a video signal including a current block using an affine mode comprising: a parser for parsing a skip flag or a merge flag from the video signal; An inter predictor configured to determine whether a sample number or size of the current block satisfies a preset condition when a scheme mode or a merge mode is applied according to the scheme flag or the merge flag;
  • the overshooting unit parses an affine full lag from the video signal when the condition is satisfied, wherein the affine lag indicates whether an affine prediction mode is applied and the affine prediction mode is a control point motion vector.
  • the inter prediction unit configured to determine the affine merge mode as an optimal prediction mode when the affine prediction mode is applied according to the affine flag.
  • the encoder 100 includes an image splitter 1 10, a transformer 120, a quantizer 130, an inverse quantizer 140, an inverse transformer 150, a filter 160, It may include a decoded picture buffer (DPB) 170, an inter predictor 180, an intra predictor 185, and an entropy encoder 190.
  • DPB decoded picture buffer
  • the image divider 1 10 may divide an input image (or a picture or a frame) input to the encoder 100 into one or more processing units.
  • the processing unit may be a Coding Tree Unit (CTU), a Coding Unit (CU), a Prediction Unit (PU), or a Transform Unit (TU).
  • CTU Coding Tree Unit
  • CU Coding Unit
  • PU Prediction Unit
  • TU Transform Unit
  • the terms are only used for the convenience of description of the present invention, the present invention is not limited to the definition of the terms.
  • the term coding unit is used as a unit used in encoding or decoding a video signal, but the present invention is not limited thereto. It may be properly interpreted according to the invention.
  • the encoder 100 may generate a residual signal by subtracting a prediction signal output from the inter predictor 180 or the intra predictor 185 from the input image signal, and generate the residual signal.
  • the dual signal is transmitted to the converter 120.
  • the transform unit 120 may generate a transform coefficient by applying a transform technique to the residual signal.
  • the conversion process may be applied to pixel blocks having the same size as the square, or may be applied to blocks of variable size rather than square.
  • the quantization unit 130 may quantize the transform coefficient and transmit the quantized coefficient to the entropy encoding unit 190, and the entropy encoding unit 190 may entropy code the quantized signal and output the bitstream.
  • the quantized signal output from the quantization unit 130 may be used to generate a prediction signal.
  • the quantized signal may restore the residual signal by applying inverse quantization and inverse transformation through an inverse quantization unit 140 and an inverse transformation unit 150 in a loop.
  • the reconstructed signal may be generated by adding the reconstructed residual signal to a prediction signal output from the inter predictor 180 or the intra predictor 185.
  • deterioration of the block boundary may occur because adjacent blocks are quantized by different quantization parameters. These phenomena are called blocking artifacts, which is one of the major factors in assessing image quality. To reduce this deterioration, Can be. Through this filtering process, the image quality can be improved by removing the blocking degradation and reducing the error of the current picture.
  • the filtering unit 160 applies filtering to the reconstruction signal and outputs it to the reproduction apparatus or transmits the decoded picture buffer to the decoded picture buffer 170.
  • the filtered signal transmitted to the decoded picture buffer 170 may be used as the reference picture in the inter predictor 180. As such, by using the filtered picture as a reference picture in the inter prediction mode, not only image quality but also encoding efficiency may be improved.
  • the decoded picture buffer 170 may store the filtered picture for use as a reference picture in the inter prediction unit 180.
  • the inter prediction unit 180 performs temporal prediction and / or spatial prediction to remove temporal redundancy and / or spatial redundancy with reference to a reconstructed picture.
  • the reference picture used to perform the prediction is a transformed signal that has been quantized and dequantized in units of blocks at the time of encoding / decoding, a blocking artifact or a ringing artifact may exist. have.
  • the inter prediction unit 180 may interpolate the signals between pixels in sub-pixel units by applying a lowpass filter to solve performance degradation due to discontinuity or quantization of such signals.
  • the subpixel refers to a virtual pixel generated by applying an interpolation filter
  • the integer pixel refers to an actual pixel existing in the reconstructed picture.
  • the interpolation method linear interpolation, bi ⁇ linear interpolation, wiener filter, or the like may be applied.
  • Interpolation filters are applied to the reconstructed picture to improve the precision of the prediction. Can be improved.
  • the inter prediction unit 180 generates an interpolation pixel by applying an interpolation filter to integer pixels, and uses an interpolated block composed of interpolated pixels as a prediction block. Predictions can be performed.
  • the intra predictor 185 may predict the current blot by referring to samples in the vicinity of the block to which the current encoding is to be performed.
  • the intra prediction unit 185 may perform the following process to perform intra prediction. First, reference samples necessary for generating a prediction signal may be prepared. Then, a prediction signal may be generated using the prepared reference sample. Then, the prediction mode is encoded. In this case, the reference sample may be prepared through reference sample padding and / or reference sample filtering. Since the reference sample has been predicted and reconstructed, there may be a quantization error. Accordingly, the reference sample filtering process may be performed for each prediction mode used for intra prediction to reduce such an error.
  • a prediction signal generated by the inter predictor 180 or the intra predictor 185 may be used to generate a reconstruction signal or to generate a residual signal.
  • 2 is a schematic block diagram of a decoder in which decoding of a video signal is performed according to an embodiment to which the present invention is applied.
  • the decoder 200 includes a parser (not shown), an entropy decoder 210, an inverse quantizer 220, an inverse transformer 230, a filter 240, and a decoded picture buffer (DPB).
  • Decoded Picture Buffer Unit 250, inter predictor 260, intra predictor 265, and It may be configured to include a recovery unit (not shown).
  • the decoder 200 may be simply expressed as including a parser (not shown), a block-specific division determiner (not shown), and a decoder (not shown).
  • embodiments applied in the present invention may be performed through the parser (not shown), the block division determiner (not shown), and the decoder (not shown).
  • the decoder 200 may receive a signal output from the encoder 100 of FIG. 1, and may parse or acquire a syntax element through a parser (not shown). The parsed or obtained signal may be entropy decoded through the entropy decoding unit 210.
  • the inverse quantization unit 220 obtains a transform coefficient from the entropy decoded signal using the quantization stem size information.
  • the inverse transform unit 230 inversely transforms the transform coefficient to obtain a residual signal.
  • the reconstruction unit (not shown) generates a reconstructed signal by adding the obtained residual signal to a prediction signal output from the inter prediction unit 260 or the intra prediction unit 265.
  • the filtering unit 240 applies filtering to the reconstructed signal and outputs the filtering to the reproducing apparatus or transmits it to the decoded picture buffer unit 250.
  • the filtered signal transmitted to the decoded picture buffer unit 250 may be used as the reference picture in the inter predictor 260.
  • FIG. 3 is a diagram for describing a QTBT (QuadTree BinaryTree) block division structure according to an embodiment to which the present invention is applied.
  • QTBT QuadTree BinaryTree
  • QTBT refers to a coding block-specific structure in which a quadtree structure and a binarytree structure are combined.
  • an image is coded in units of CTUs, the CTU is divided into quadtrees, and the leaf nodes of the quadtrees are additionally divided into binarytrees.
  • the current block may be divided into a QTBT structure. That is, the CTU may first be hierarchically divided into quadtrees. Further, leaf nodes of quadtrees, which are no longer divided into quadtrees, may be hierarchically divided into binary trees.
  • the encoder may signal the split pull lag to determine whether to split the quadtree in the QTBT structure.
  • the quadtree splitting may be adjusted (or limited) by the MinQTLumalSlice, MinQTChromalSlice or MinQTNonlSlice values.
  • MinQTLumalSlice represents the minimum size of the luma component quadtree leaf node in the I-slice
  • MinQTLumaChromalSlice represents the minimum size of the quad tree leaf node of the chroma component in the I-slice
  • MinQTNonlSlice represents the minimum size of the quadtree leaf node in non I-slice.
  • the luma component and the chroma component in the I-slice may have a partition structure that is independent of each other.
  • the partition structure of the luma component and the chroma component may be determined differently.
  • MinQTLumalSlice and MinQTChromalSlice may have different values.
  • the quadtree structure may have the same split structure of the luma component and the chroma component.
  • the cudtree splitting structure of the luma component and the chroma component can be adjusted by the MinQTNonlSlice value.
  • the leaf nodes of the quadtree may be divided into binary trees.
  • the binary tree split may be adjusted (or limited) by MaxBTDepth, MaxBTDepthlSliceL, and MaxBTDepthlSliceC.
  • MaxBTDepth represents the maximum depth of binary tree splitting based on the leaf nodes of the quadtree in non-I-slices
  • MaxBTDepthlSliceL represents the maximum depth of binary tree splitting of luma components in I-slices
  • MaxBTDepthlSliceC is I Represents the maximum depth of binary tree splitting of chroma components in slices.
  • MaxBTDepthlSliceL and MaxBTDepthlSliceC may have different values in the I-slice.
  • the BT of the QTBT may be divided in the horizontal or vertical direction.
  • BT It is necessary to signal not only the BT split flag indicating whether to split (eg, BinarySpHtFlag) but also split direction information (eg, BTSplitMode) on which direction to split when BT is split.
  • the QTBT structure may signal split direction broadcast (BTSplitMode) when the BT split flag (BinarySplitFlag) is not zero. For example, if the BTSplitMode is 0, it can be split horizontally. If the BTSplitMode is 1, it can be split vertically.
  • BTSplitMode if the BTSplitMode is 0, it can be split horizontally. If the BTSplitMode is 1, it can be split vertically.
  • a quadtree structure and a binary tree structure can be used together, and in this case, the following rules may be applied.
  • MaxBTSize is less than or equal to MaxQTSize.
  • MaxBTSize represents the maximum size of the binary tree split and MaxQTSize represents the maximum size of the quadtree split.
  • the leaf node of QT becomes the root of BT.
  • BT defines a vertical split and a horizontal split.
  • MaxQTDepth and MaxBTDepth are predefined.
  • MaxQTDepth represents the maximum depth of quadtree splitting
  • MaxBTDepth represents the maximum depth of binary tree splitting.
  • MaxBTSize and MinQTSize may vary depending on the slice type.
  • 4 is a diagram for describing an inter prediction mode according to an embodiment to which the present invention is applied.
  • a merge mode In the inter prediction mode to which the present invention is applied, a merge mode, an advanced motion vector prediction (AMVP) mode, or an affine mode may be used to reduce the amount of motion information.
  • the affine mode is a mode using an affine motion model and may include at least one of an affine merge mode or an affine inter mode.
  • Merge mode refers to a method of deriving a motion parameter (or information) from neighboring blocks in a spatially or temporally manner.
  • the set of candidates available in merge mode consists of spatial neighbor candidates, temporal candidates and generated candidates.
  • each spatial candidate block is available in the order of ⁇ Al, Bl, BO, AO, and B2 ⁇ . In this case, when the candidate block is encoded in the intra prediction mode and there is no motion information, or when the candidate block is located outside the current picture (or slice), the candidate block is not available.
  • the spatial merge candidate may be configured by excluding unnecessary candidate blocks from candidate blocks of the current processing block.
  • the candidate block of the current prediction block is the first prediction block within the same coding block.
  • the candidate blocks having the same motion information may be excluded except the corresponding candidate blocks.
  • the temporal merge candidate configuration process is performed in the order of ⁇ TO, T1 ⁇ .
  • the block when the right bottom block TO of the collocated block of the reference picture is available, the block is configured as a temporal merge candidate.
  • the colocated block means a block existing at a position corresponding to the current processing block in the selected reference picture.
  • the block T1 located at the center of the collocated block is configured as a temporal merge candidate.
  • the maximum number of merge candidates may be specified in the slice header. If the number of merge candidates is larger than the maximum number, the number of spatial candidates and temporal candidates smaller than the maximum number is maintained. Otherwise, the number of merge candidates is determined by combining the candidates added so far until the number of candidates reaches the maximum number, so that additional merge information (i.e., combined bi-predictive merging candidates) Is generated.
  • the merge candidate list is constructed as described above, and motion estimation is performed to merge candidate block information selected from the merge candidate list with a merge index (for example, merge_idx [x0] [y0] '). Signal to the decoder.
  • the B 1 block is selected from the merge candidate list.
  • "index l" may be signaled to the decoder as a merge index.
  • the decoder constructs a merge candidate list similarly to the encoder, and derives the motion information for the current block from the motion information of the candidate block corresponding to the merge index received from the encoder in the merge candidate list.
  • the decoder generates a prediction block for the current processed block based on the derived motion information.
  • the AMVP mode refers to a method of deriving motion vector prediction values from neighboring blocks.
  • horizontal and vertical motion vector difference values (MVDs), reference indexes, and inter prediction modes are signaled to the decoder.
  • the horizontal and vertical motion vector values are calculated using the derived motion vector prediction value and the motion vector difference (MVD) provided from the encoder.
  • the encoder constructs a motion vector prediction value candidate list and performs motion estimation to determine a motion reference flag (ie, candidate block information) selected from the motion vector prediction value candidate list (eg, nwpJX— flag [x0]). [y0] ') is signaled to the decoder.
  • the decoder constructs a motion vector prediction value candidate list similarly to the encoder, and derives the motion vector prediction value of the current processing block by using the motion information of the candidate block indicated by the motion reference flag received from the encoder in the motion vector prediction value candidate list.
  • the decoder obtains a motion vector value for the current processing block by using the derived motion vector prediction value and the motion vector difference value transmitted from the encoder.
  • the decoder generates a prediction block for the current processing block based on the derived motion information (that is, the motion reward).
  • two spatial motion candidates are selected from among the five available candidates in FIG. 4.
  • the first spatial motion candidate is selected from the set of ⁇ AO, A1 ⁇ located on the left
  • the second spatial motion candidate is selected from the set of ⁇ BO, Bl, B2 ⁇ located above.
  • the motion vector is scaled. If the number of candidates selected as a result of the search for the spatial motion candidate is two, the candidate configuration is terminated, but if less than two, the temporal motion candidate is added.
  • a decoder decodes motion parameters for the processing block (eg, prediction unit).
  • the decoder can decode the merge index signaled from the encoder. Then, the motion parameter of the current processing block can be derived from the motion parameter of the candidate block indicated by the merge index.
  • the decoder may decode horizontal and vertical motion vector difference (MVD), reference index, and inter prediction mode signaled from the encoder.
  • the motion vector prediction value may be derived from the motion parameter of the candidate block indicated by the motion reference flag, and the motion vector value of the current processing block may be derived using the motion vector prediction value and the received motion vector difference value.
  • the decoder uses the decoded motion parameter (or information) to perform motion compensation for the prediction unit. That is, the encoder / decoder performs motion compensation for predicting an image of the current unit from a previously decoded picture by using the decoded motion parameter.
  • FIG. 5 is a diagram for describing an affine motion model as an embodiment to which the present invention is applied.
  • a general image coding technique uses a translation motion model to represent the motion of a coding block.
  • the translation motion model represents a parallel-based block-based prediction method. That is, the motion information of the coding block is represented using one motion vector.
  • the optimal motion vector for each pixel in the actual coding block may be different. If the optimal motion vector can be determined for each pixel or subblock unit with only a little information, coding efficiency can be improved.
  • the present invention proposes an inter prediction based image processing method that reflects various motions of an image as well as a block based prediction method that is parallel moved to increase the performance of the inter prediction.
  • the present invention proposes a method of increasing prediction and accuracy and increasing compression performance by reflecting motion information in a sub-block or pixel unit.
  • the present invention proposes an affine motion prediction method that performs coding / decoding using an affine motion model.
  • the affine motion model represents a prediction method of deriving a motion vector on a pixel basis or a sub block basis using a motion vector of a control point.
  • various methods may be used to represent distortion of an image as motion information.
  • the affine motion model may represent four motions illustrated in FIG. 5.
  • the affine motion model can model any image distortion caused, including image translation, scale of the image, rotation of the image, and shear of the image. have.
  • the affine motion model can be represented in various ways, but in the present invention, the distortion is displayed (or identified) using motion information at a specific reference point (or reference pixel / sample) of the block, and the inter prediction is used using the same. Suggest how to do it.
  • the reference point may be referred to as a control point (CP) (or control pixel, control sample), and the motion vector at this reference point may be referred to as a control point motion vector (CPMV).
  • CP control point
  • CPMV control point motion vector
  • the degree of distortion that can be expressed may vary depending on the number of such control points.
  • the affine motion model can be expressed using six parameters (a, b, c, d, e, f) as shown in Equation 1 below.
  • (x, y) represents the position of the upper left pixel of the coding block.
  • V_X and v_ represent the motion vector at (x, y), respectively.
  • 6 and 7 illustrate embodiments to which the present invention is applied and describe an affine motion prediction method using a control point motion vector. It is for the drawing.
  • an upper left control point (CP 0 ) 602 (hereinafter, referred to as a first control point) of the current non-specific 601, a right upper control point (CP,) 603. (Hereinafter referred to as a second control point) and a lower left control point (CP 2 ) 604 (hereinafter referred to as a third control point) may each have independent motion information.
  • This may be expressed as CP 0 , CP, and CP 2 , respectively.
  • various control points may be defined, such as a lower right control point, a center control point, and other control points for each position of a subblock.
  • At least one of the first to third control points may be a pixel included in the current block.
  • at least one of the first to third control points may be a pixel adjacent to the current block not included in the current block.
  • Motion information for each pixel or subblock of the current block 601 may be derived using motion information of one or more of the control points.
  • the affine motion model using the motion vector of the upper left control point 602, the upper right control point 603, and the lower left control point 604 of the current block 601 may be defined as in Equation 2 below. .
  • w denotes the width of the current block 601 and h denotes the height of the current block 601.
  • ⁇ , 17 ⁇ represents a motion vector at the position ⁇ x, y ⁇ .
  • an affine motion model that expresses three motions of translation f, translation, scale, and rotation that can be expressed by the affine motion model may be defined. In the present specification, this is referred to as a simplified affine motion model or a simple affine motion model.
  • the simple affine motion model may be expressed using four parameters ( a , b, c, d) as shown in Equation 3 below.
  • An affine motion model using four parameters may be called AF4.
  • the present invention is not limited thereto, and in case of using six parameters, it is called AF6, and the above embodiments may be applied in the same manner.
  • the affine motion model of AF4 may be defined as in Equation 4 below.
  • Equation 4 w denotes the width of the current block, and h denotes the height of the current block.
  • w Denotes a motion vector at the ⁇ x, y ⁇ position, respectively.
  • the encoder or decoder may determine (or induce) a motion vector at each pixel position using a control point motion vector (eg, a motion vector of the upper left control point 701 and the upper right control point 702).
  • a control point motion vector eg, a motion vector of the upper left control point 701 and the upper right control point 702.
  • a set of motion vectors determined through affine motion prediction may be defined as an affine motion vector field.
  • the affine motion vector field may be determined using at least one of Equations 1 to 4.
  • a motion vector through affine motion prediction may be determined in units of pixels or in units of predefined (or preset) blocks (or subblocks). For example, the motion vector may be derived based on each pixel in a block when determined in units of pixels, and the motion vector may be derived based on each subblock unit in the current blocks when determined in units of subblocks. As another example, when the motion vector is determined in units of sub blocks, the motion vector of the corresponding sub block may be derived based on the upper left pixel or the center pixel.
  • FIG. 8 is a diagram for describing a motion vector field representing a motion vector set of a coding block according to an embodiment to which the present invention is applied.
  • the encoder or decoder may determine the motion vector in units of 4 ⁇ 4 subblocks using the motion vector of the upper left control point 801 and the upper right control point 802 of the current block.
  • the motion vector of the corresponding subblock may be determined based on the central pixel value of each subblock.
  • an arrow displayed at the center of each subblock indicates a motion vector obtained by an affm motion model.
  • Affine motion prediction may be used in an affine merge mode (hereinafter referred to as an 'AF merge mode' or 'AF_MERGE') and an affine inter mode (hereinafter referred to as an 'AF inter mode or' AFJNTER '). Similar to the skip mode or the merge mode, the AF merge mode is a method of encoding or decoding two control point motion vectors without encoding a motion vector difference.
  • the AF inter mode is a method of encoding or decoding a control point motion vector difference after determining a control point motion vector predictor and a control point motion vector.
  • the motion vector difference of two control points is transmitted in the case of AF4, and the motion vector difference of three control points is transmitted in the case of AF6.
  • 9 is an embodiment to which the present invention is applied and shows an AF inter mode and an AF merge mode. Table showing blockable signal size
  • AF_MERGE means AF merge mode including AF skip mode
  • AF_INTER means AF inter mode.
  • AFJNTER a flag indicating whether to perform affine motion prediction when "width> 8 & height> 8", that is, when both the width and height of the block are greater than 8 may be transmitted.
  • a signalable block size is shown in a QTBT structure. For example, if the number of samples is 256, the QTBT available block sizes are 8x32, 16x16, 32x8, where the available block sizes for AF_MERGE are 8x32, 16x16, 32x8, and the available block sizes for AFJNTER are 16x16. .
  • FIG. 10 is a flowchart illustrating a process of encoding a video signal according to an AF inter mode and an AF merge mode according to an embodiment to which the present invention is applied.
  • the encoder may perform skip mode, merge mode, and inter mode on the current block (S1010).
  • the encoder may check the number of samples of the current block. For example, it may be determined whether the number of samples of the current block is 64 or more or whether the width X height of the current block is 64 or more (S1020).
  • the encoder may perform the AF merge mode (S 1030).
  • the encoder does not perform AF merge mode and proceeds to the next step. do.
  • the encoder may determine whether both the height and the width of the current block are greater than 8 and whether the size of the current block is 2N ⁇ 2N (S1040).
  • the encoder may perform the AF inter mode (S1050).
  • the encoder does not perform the AF inter mode and proceeds to the next step. do.
  • the encoder may determine or select an optimal prediction mode through a rate-distortion optimization process among the squa mode, the merge mode, the inter mode, the AF merge mode, and the AF inter mode (S1060).
  • 1 is a flowchart illustrating a process of decoding a video signal according to an AF inter mode and an AF merge mode according to an embodiment to which the present invention is applied.
  • FIG. 11 illustrates a decoding process performed in FIG. 10.
  • the decoder may parse the skip flag from the bitstream (S1110).
  • the decoder may check whether the skip mode is in accordance with the skip flag (S 1 120).
  • the decoder may check the number of samples of the current block. For example, it may be determined whether the number of samples of the current block is 64 or more or whether the width X height of the current block is 64 or more (S1130). As a result of the check, when the number of samples of the current block is 64 or more or the width X height of the current block is 64 or more, the decoder may parse the AF flag (S 1 140).
  • the decoder may check whether it is in AF mode according to the AF flag (S1150).
  • the decoder may determine or select the AF merge mode as an optimal prediction mode (S1160).
  • the decoder The skip mode or the merge mode may be determined or selected as the optimal prediction mode (S1 131).
  • the decoder may determine or select a skip mode or a merge mode as an optimal prediction mode (S1131). On the other hand, if the skip mode is not applied as a result of checking in step S1120, the decoder may parse the merge flag (S1121).
  • the decoder may check whether the merge mode is in accordance with the merge flag (S 1122).
  • the decoder may perform step S1 130.
  • the decoder may check whether both the height and the width of the current blocktalk are greater than 8 and the size of the current block is 2N 2N (S1123).
  • the decoder may parse the AF flag (S1124).
  • the decoder determines the inter mode as an optimal prediction mode or Can be selected (S 1 127). After the SU24 step, the decoder may check whether it is in AF mode according to the AF flag (S1125).
  • the decoder may determine or select the AF inter mode as an optimal prediction mode (S1126).
  • the decoder may determine or select the inter mode as an optimal prediction mode (S1127).
  • the decoder may perform inter prediction according to the prediction mode, and reconstruct the video signal by adding the prediction value obtained through this and the residual value transmitted from the bitstream.
  • do. 12 illustrates a syntax structure for decoding a video signal according to an AF inter mode and an AF merge mode according to an embodiment to which the present invention is applied.
  • FIG. 12 illustrates a syntax structure for decoding AF—MERGE and AFJNTER.
  • isAffineMrgFlagCoded (S1210, S1230) represents a conditional function for determining whether to execute decodeAffineFlag. That is, whether or not to parse the affine flag.
  • decodeAffineFlag represents a function for parsing the affine flag.
  • affine mode is indicated according to decodeAffineFlag, AFJNTER is performed. Meanwhile, since the syntax structure of FIG. 12 is the same as the decoding process described with reference to FIG. 11, the embodiment of FIG. 11 may be applied.
  • FIG. 13 is a flowchart illustrating a process of encoding a video signal based on an AF pull lag signaling condition based on a block size as an embodiment to which the present invention is applied.
  • the encoder may perform skip mode, merge mode, and inter mode on the current block (S1310).
  • the encoder may check whether the width of the current block is greater than or equal to N and the height is greater than or equal to M (S1320).
  • the encoder may perform an AF merge mode (S 1330).
  • the encoder may perform an AF inter mode (S1340).
  • the order of steps S1330 and S1340 may be reversed.
  • the encoder proceeds to the next step without performing the AF merge mode and the AF inter mode.
  • FIG. 14 is a flowchart illustrating a process of decoding a video signal based on an AF flag signaling condition based on a block size as an embodiment to which the present invention is applied.
  • FIG. 14 illustrates a decoding process corresponding to FIG. 13.
  • the decoder may parse the skip flag from the bitstream (S1410).
  • the decoder may check whether it is in a scan mode according to the scan flag (S1420).
  • the decoder can determine whether "the current block size satisfies a predetermined condition. For example, it may be determined whether the width of the current block is greater than or equal to N and the height is greater than or equal to M (S1430). As a result of the check, when the width of the current block is greater than or equal to N and the height is greater than or equal to M, the decoder may parse the AF flag (S1440).
  • the decoder may check whether it is in AF mode according to the AF flag (S1450).
  • the decoder may determine or select the AF merge mode as an optimal prediction mode (S1460).
  • the decoder may determine or select a scan mode or a merge mode as an optimal prediction mode (S1431).
  • the decoder may determine or select a scan mode or a merge mode as an optimal prediction mode (S1431). On the other hand, if the skip mode is not applied as a result of checking in step S1420, the decoder may parse the merge flag (S1421).
  • the decoder may check whether the merge mode is in accordance with the merge flag (S1422).
  • the decoder may perform step S1430.
  • step S1422 if the merge mode is not applied, it may be determined whether the size of the current block satisfies a predetermined condition. For example, it may be determined whether the width of the current block is greater than or equal to N and the height is greater than or equal to M (S1423).
  • the decoder may parse the AF flag (S 1424).
  • the decoder may determine or select the inter mode as an optimal prediction mode (S1427). After the step S1424, the decoder can check whether it is in AF mode according to the AF flag (S1425).
  • the decoder may determine or select the AF inter mode as an optimal prediction mode (S1426).
  • the decoder may determine or select the inter mode as an optimal prediction mode (S1427).
  • the decoder may perform inter prediction according to the prediction mode.
  • the decoder may reconstruct the video signal by adding the residual values transmitted from the bitstream using the prediction value obtained through the prediction. do.
  • FIG. 15 illustrates syntax syntax for decoding a video signal based on an AF flag signaling condition based on a block size as an embodiment to which the present invention is applied.
  • Table 2 shows an example in which AF flag signaling conditions are matched based on a block size.
  • N and M values used in the AF flag signaling condition may be used as positive integers such as 4, 8, 16, 32, and 64, and N and M may have the same value.
  • N and M values can be defined and used as follows.
  • values may be defined and used in advance in a system (encoder and / or decoder).
  • it may have a syntax structure as shown in FIG. 15.
  • the N and M values may be transmitted and used in a bitstream.
  • a syntax element for determining the N and M values may be located in a sequence parameter set (SPS), a slice, a coding block, a prediction block, or the like of a video.
  • SPS sequence parameter set
  • isAffineMrgFlagCoded represents a condition function for determining whether to execute decodeAffineFlag. That is, whether or not to parse the affine flag.
  • decodeAffineFlag represents a function for parsing the affine flag.
  • FIG. 16 is a flowchart illustrating a process of encoding a video signal based on an AF flag signaling condition based on a pixel size according to an embodiment to which the present invention is applied.
  • the encoder may perform skip mode, merge mode, and inter mode on the current block (S1610).
  • the encoder may determine whether the width X height of the current block is equal to or greater than N (S 1620).
  • the encoder may perform AF merge mode (S1630).
  • the encoder may perform the AF inter mode.
  • the order of steps S1630 and S1640 may be reversed.
  • step S1620 determines whether the width X height of the current block is less than N. If it is determined in step S1620 that the width X height of the current block is less than N, the encoder proceeds to the next step without performing the AF merge mode and the AF inter mode.
  • the encoder may determine or select an optimal prediction mode through a rate-distortion optimization process among skip mode, merge mode, inter mode, AF merge mode, and AF inter mode (S1650).
  • 17 is a flowchart illustrating a process of decoding a video signal based on an AF flag signaling condition based on a pixel size according to an embodiment to which the present invention is applied.
  • the decoder may parse the skip pollg from the bitstream (S1710).
  • the decoder may check whether the skip mode is in accordance with the skip flag (S 1720).
  • the decoder may check whether the size of the current block satisfies a predetermined condition. For example, it may be determined whether the width X height of the current block is greater than or equal to N (S1730).
  • the decoder may parse the AF pull lag (S1740).
  • the decoder may check whether it is in AF mode according to the AF flag (S1750).
  • the decoder may determine or select the AF merge mode as an optimal prediction mode (S1760).
  • the decoder may determine or select a scan mode or a merge mode as an optimal prediction mode (S1731).
  • the decoder may determine or select a skip mode or a merge mode as an optimal prediction mode (S1731). On the other hand, if the skip mode is not applied as a result of checking in step S1720, the decoder may parse the merge pull lag (S1721).
  • the decoder may determine whether a merge mode is performed according to the merge flag. (SI 722).
  • the decoder may perform step S1730.
  • step S1722 when the merge mode is not applied, it may be determined whether the size of the current blotk satisfies a predetermined condition. For example, it may be determined whether the width X height of the current block is greater than or equal to N (S1723).
  • the decoder may parse the AF flag (S1724).
  • the decoder may determine or select the inter mode as an optimal prediction mode (S 1727).
  • the decoder may check whether it is in AF mode according to the AF flag (S1725).
  • the decoder may determine or select the AF inter mode as an optimal prediction mode (S1726).
  • the decoder may determine or select the inter mode as an optimal prediction mode (S1727).
  • the decoder may perform inter prediction according to the prediction mode, and reconstruct the video signal by adding the prediction value obtained through this and the residual value transmitted from the bitstream. do.
  • FIG. 18 illustrates a syntax structure for decoding a video signal based on an AF flag signaling condition based on a pixel size according to an embodiment to which the present invention is applied.
  • Table 3 shows an example in which AF flag signaling conditions are matched based on pixel size.
  • N value used in the AF pull lag signaling condition.
  • N value may be defined and used as follows.
  • the system (encoder and / or decoder) may define a value in advance.
  • the syntax structure of FIG. 18 may be used.
  • the N value may be transmitted and used as a bitstream.
  • a syntax element for determining the N value may be located in a sequence parameter set (SPS), a slice, a coding block, a prediction block, or the like of a video.
  • SPS sequence parameter set
  • isAffmeMrgFlagCoded (S1810, S1 83 0) represents a condition function for determining whether to execute decodeAffineFlag. That is, whether or not to parse the affine flag.
  • decodeAffineFlag represents a function for parsing the affine flag.
  • the width * height> N condition is checked (S1850), and if the condition is satisfied, it is determined whether to parse the affme flag (S1860).
  • affine mode is indicated according to decodeAffineFlag, AF—rNTER is performed. Meanwhile, since the syntax structure of FIG. 8 is the same as the decoding process described with reference to FIG. 17, the embodiment of FIG. 17 may be applied.
  • FIG. 19 is a diagram for describing a process of determining a control point motion vector for affine prediction as an embodiment to which the present invention is applied.
  • the encoder or decoder to which the present invention is applied may determine a control point motion vector for affine prediction. This is followed by the following procedure.
  • a method of deriving a control point motion vector prediction value in an AF inter mode is proposed.
  • the control point motion vector prediction value may consist of two motion vector pairs of the first control point and the second control point, and a candidate list of the two control point motion vector prediction values may be constructed.
  • the encoder can signal an index representing an optimal control point motion vector prediction value among two candidates.
  • a motion vector candidate list for prediction may be determined. If the motion vector of the upper left pixel (or block) of the current block is vo and the motion vector of the right upper pixel (block) is vl, the motion vector pair may be expressed as (vO, vl).
  • the candidate list of (vO, vl) may be composed of motion vectors of pixels (or blocks) adjacent to the upper left pixel (or block) and the upper right pixel (or block), respectively. have.
  • the candidate list of vO may be composed of motion vectors of A, B, and C pixels (or blocks) adjacent to the top left pixel (or block), and the candidate list of vl is to the right top pixel (or block). It may consist of motion vectors of adjacent D, E pixels (or blocks). This can be expressed as Equation 5 below.
  • the encoder or the decoder may determine a motion vector candidate list for affine prediction based on three control points. Referring to FIG. 19, in order to determine the motion vector candidate list of (vO, vl, and v2), the motion vectors (vO, vl, and v2) of three control points may be considered.
  • the motion vector candidate list may consist of a motion vector of pixels (or blocks) adjacent to an upper left pixel (or block), an upper right pixel (or block) and a lower left pixel (or block).
  • the vectors vO, vl, and v2 may be expressed as in Equation 6 below. [Equation 6]
  • V A , V B , VC, V D , V E , V F , V g represents the motion vector of A, B, C, D, E, F, G pixels (or blotok), respectively.
  • the encoder or decoder calculates a divergence value of vector for motion ' vectors (vO, vl) or ( ⁇ , vl, v2), classifies the divergence values in small order, and then ranks the top two. -Candidates of (the two smallest values) are available.
  • the divergence value is a value representing the similarity of the directions of the motion vectors, and as the divergence value is smaller, the motion vectors may have similar directions.
  • the present invention is not limited thereto, and the top one, three, or four of the divergence values may be used, and the embodiment may be variously applied depending on how many control points are used.
  • the divergence value may be defined by Equation 7 below.
  • DV ⁇ (vl x -v0 x ) * h-(2y-v y ) * w ⁇ + ⁇ (vl y -v0 y ) * h + (v2 x -vQ x ) * w ⁇
  • h and w are Represent the height and width of the current block, respectively, and O0, (vl x ), and ( ⁇ 2 ⁇ ) represent the upper left pixel (or blotk), upper right pixel (or block), lower left of the current block, respectively.
  • v 2 , v 3 is an affine motion model according to v 0 , ⁇ Can be overridden to a value derived by model).
  • the encoder or the decoder checks the rate-distortion cost for the two motion vector candidates, and the rate-distortion cost result.
  • the control point motion vector may be determined based on the.
  • the determined control point motion vector may be derived or signaled as a motion vector predictor.
  • an advanced motion vector prediction (AMVP) candidate list may be used.
  • the encoder or decoder may add a candidate of an AMVP candidate list to the motion vector candidate list.
  • the encoder or the decoder may add the top two candidates of the AMVP candidate list to the candidate list.
  • the encoder or decoder may add the first candidate of the AMVP candidate list to the motion vector candidate list.
  • the embodiments described above with reference to FIG. 4 may be applied to the AMVP candidate list.
  • the determined control point motion vector may be derived or signaled as a motion vector predictor.
  • 20 is a flowchart illustrating a process of processing a video signal including a current block by using an affine prediction mode as an embodiment to which the present invention is applied.
  • the present invention provides a video including a current block using affine prediction mode. Provides a method for processing a signal.
  • the video signal processing apparatus may generate a candidate list of motion vector pairs using motion vectors of pixels or blocks adjacent to at least two control points of the current block (S2010).
  • the control point means a corner pixel of the current block
  • the motion vector pair represents a motion vector of the upper left corner pixel and the upper right corner pixel of the current block.
  • control point includes at least two of an upper left corner pixel, an upper right corner pixel, a lower left corner pixel, or a lower right corner pixel of the current block
  • candidate list includes the upper left corner pixel, the Right upper corner pixel.
  • pixels or blocks adjacent to the lower left corner pixel are adjacent to the lower left corner pixel.
  • the candidate list includes motion vectors of diagonally adjacent pixels A of the upper left corner pixel, upper neighboring pixels B and left neighboring pixels C, and upper neighboring pixels of the upper right corner pixels. D) and motion vectors of diagonally adjacent pixels E, and motion vectors of left adjacent pixels F and diagonally adjacent pixels G of the lower left corner pixel.
  • the method may further include adding an AMVP candidate list to the candidate list when the motion vector pair of the candidate list is smaller than two.
  • the control point motion vector of the current block is determined as a motion vector derived based on the center position of the left subblock and the right subblock in the current block, the current block If the size is 4xN, the control point motion vector of the current block is an upper sub in the current block. The motion vector is determined based on the center position of the block and the lower sub-block.
  • the control point motion vector of the left sub-bible in the current block is determined by an average value of the first control point motion vector and the third control point motion vector, and the control point motion of the right sub-blocking.
  • the vector is determined by an average value of the second control point motion vector and the fourth control point motion vector.
  • the control point motion vector of the upper subblock in the current block is the first control point motion vector and the second control point. It is determined by the average value of the motion vector, and the control point motion vector of the lower sub-bible is determined by the average value of the third control point motion vector and the fourth control point motion vector.
  • the method may signal prediction mode or flag information indicating whether the affine prediction mode is performed.
  • the decoder may receive the prediction mode or flag information, perform the affine prediction mode according to the prediction mode or the flag information, and induce a motion vector according to the affine prediction mode.
  • the affine prediction mode may be a mode for deriving a motion vector in units of pixels or sub-blocks using the control point motion vector of the current block.
  • the video signal processing apparatus may determine a final candidate list of a predetermined number of motion vector pairs based on a divergence value of the motion vector pairs.
  • the final candidate list is determined in order of decreasing divergence values, and the divergence values mean values indicating similarities in the directions of the motion vectors.
  • the video signal processing apparatus may determine a control point motion vector of the current block based on a rate-distortion cost from the final candidate list (S2030).
  • the video signal processing apparatus may generate a motion vector predictor of the current block based on the control point motion vector (S2040).
  • the embodiments described herein may be implemented and performed on a processor, microprocessor, controller, or chip.
  • the functional units illustrated in FIGS. 1 and 2 may be implemented and performed on a computer, a processor, a microprocessor, a controller, or a chip.
  • the decoder and encoder 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, a mobile streaming device, Storage media, camcorders, video on demand (VoD) service providing devices, Internet streaming service providing devices, three-dimensional (3D) video devices, video telephony video devices, and medical video devices, and the like, for processing video signals and data signals Can be used for
  • the processing method to which the present invention is applied can be produced in the form of a program executed by a computer, and can be stored in a computer-readable recording medium.
  • Multimedia data having a data structure according to the present invention may also be stored in a computer-readable recording medium.
  • the computer readable recording medium includes all kinds of storage devices for storing computer readable data.
  • the computer-readable recording medium is, for example, Blu-ray Disk (BD), universal serial bus (USB), ROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical data storage.
  • the computer-readable recording medium also includes media embodied in the form of a carrier wave (for example, transmission over the Internet).
  • the bit stream generated by the encoding method may be stored in a computer-readable recording medium or transmitted through a wired or wireless communication network.

Abstract

본 발명은, 어파인 모드를 이용하여 현재 블록을 포함하는 비디오 신호를 디코딩하는 방법에 있어서, 상기 비디오 신호로부터 스킵 플래그 또는 머지 플래그를 파싱하는 단계; 상기 스킵 플래그 또는 머지 플래그에 따라 스킵 모드 또는 머지 모드가 적용되는 경우, 상기 현재 블록의 샘플 개수 또는 크기가 기설정된 조건을 만족하는지 여부를 확인하는 단계; 상기 조건을 만족하는 경우, 어파인 플래그를 파싱하는 단계, 여기서 상기 어파인 플래그는 어파인 예측 모드가 적용되는지 여부를 나타내고, 상기 어파인 예측 모드는 제어점 움직임 벡터를 이용하여 픽셀 또는 서브 블록 단위로 움직임 벡터를 유도하는 모드를 나타냄; 및 상기 어파인 플래그에 따라 어파인 예측 모드가 적용되는 경우, 어파인 머지 모드를 최적의 예측 모드로 결정하는 단계를 포함하는 것을 특징으로 하는 방법을 제공한다.

Description

【명세서】
【발명의 명칭】
어파인 예측을 이용하여 비디오 신호를 처리하는 방법 및 장치
【기술분야】
본 발명은 비디오 신호의 인코딩 /디코딩 방법 및 장치에 관한 것이며, 보다 구체적으로 어파인 예측을 위한 플래그를 시그널링하는 방법 및 장치에 관한 것이다.
【배경기술】
압축 부호화란 디지털화한 정보를 통신 회선을 통해 전송하거나, 저장 매체에 적합한 형태로 저장하기 위한 일련의 신호 처리 기술을 의미한다. 영상, 이미지, 음성 둥의 미디어가 압축 부호화의 대상이 될 수 있으며, 특히 영상을 대상으로 압축 부호화를 수행하는 기술을 비디오 영상 압축이라고 일컫는다. 차세대 비디오 컨텐츠는 고해상도 (high spatial resolution), 고프레임율 (high frame rate) 및 영상 표현의 고차원화 (high dimensionality of scene representation)라는 특징을 갖게 될 것이다. 그러한 컨텐츠를 처리하기 위해서는 메모리 저장 (memory storage), 메모리 액세스율 (memory access rate) 및 처리 전력 (processing power) 측면에서 엄청난 증가를 가져올 것이다.
따라서, 차세대 비디오 컨텐츠를 보다 효율적으로 처리하기 위한 코딩 를을 디자인할 필요가 있다.
【발명의 상세한 설명】
【기술적 과제】
본 발명은 보다 효율적으로 비디오 신호를 인코딩, 디코딩하는 방법을 제안하고자 한다.
또한, 본 발명은 어파인 예측 (affine prediction)을 위한 플래그를 시그널링하는 방법을 제안하고자 한다.
또한, 본 발명은 픽셀 단위 또는 블특 단위 기준으로 어파인 예측 (affme prediction)을 위한 플래그를 시그널링하기 위한 조건을 일치시키는 방법을 제안하고자 한다. .
또한, 본 발명은 어파인 예측 (affine prediction)을 위한 플래그를 시그널링하기 위해 어파인 인터 모드 (AFJNTER) 및 어파인 머지 모드 (AF— MERGE)의 조건들을 일치시키는 방법을 제안하고자 한다.
또한, 본 발명은 어파인 예측 (affine prediction)을 위한 제어점 움직임 백터 (control point motion vector) 또는 제어 블특 움직임 백터 (control block motion vector)를 결정하는 방법을 제안하고자 한다.
또한, 본 발명은 최적의 제어점 움직임 백터 (control point motion vector) 또는 제어 블록 움직임 백터 (control block motion vector)를 시그널링 (signalling)하는 방법을 제안하고자 한다.
또한, 본 발명은 4xN 또는 Nx4 블톡에서 코너 포인트 (comer point)를 포함하는 블록의 어파인 예측 모호성 (affine prediction ambiguity)를 정의하고 이를 해결하는 방법을 제안하고자 한다.
또한, 본 발명은, 위 방법들을 모든 크기의 블록에 동일하게 적용하는 방법을 제안하고자 한다.
【기술적 해결방법】
상기의 기술적 과제를 해결하기 위해, 본 발명은, 어파인 예측 (affine prediction)을 위한 플래그를 시그널링하는 방법을 제공한다.
또한, 본 발명은 픽샐 단위 또는 블록 단위 기준으로 어파인 예측 (affine prediction)을 위한 폴래그를 시그널링하기 위한 조건을 일치시키는 방법을 제공한다.
또한, 본 발명은 어파인 예측 (affine prediction)을 위한 풀래그를 시그널링하기 위해 어파인 인터 모드 (AFJNTER) 및 어파인 머지 모드 (AF_MERGE)의 조건들을 일치시키는 방법을 제공한다.
또한, 본 발명은 어파인 예측 (affine prediction)을 위한 제어점 움직임 백터 (control point motion vector) 또는 제어 블톡 움직임 백터 (control, block motion vector)를 결정하는 방법을 제공한다.
또한, 본 발명은 최적의 제어점 움직임 백터 (control point motion vector) 또는 제어 블록 움직임 백터 (control block motion vector)를 시그널링 (signalling)하는 방법을 제공한다.
또한, 본 발명은 4xN 또는 Nx4 블록에서 코너 포인트 (comer point)를 포함하는 블톡의 어파인 예측 모호성 (affine prediction ambiguity)를 정의하고 이를 해결하는 방법을 제공한다.
또한, 본 발명은, 위 방법들을 모든 크기의 블록에 동일하게 적용하는 방법을 제공한다.
【발명의 효과】
본 발명은 어파인 예측 (affine prediction)을 위한 플래그를 시그널링하기 위해 어파인 인터 모드 (AFJNTER) 및 어파인 머지 모드 (AF_MERGE)의 조건들을 일치시키는 방법을 제공함으로써 보다 효율적인 비디오 코딩을 수행할 수 있다. 또한, 어파인 예측 (affine prediction)올 위한 제어점 움직임 백터 (control point motion vector)또는 제어 블록 움직임 백터 (control block motion vector)를 결정하는 방법을 제공함으로서, 코너 픽셀 또는 코너 블록 (corner block)의 움직임 백터 (motion vector)를 보다 정확하게 결정할 수 있고, 그에 따라 보다 정확한 움직임 백터 필드 (motion vector field)를 생성할 수 있다.
또한, 블록의 높이 또는 너비 (height or width)가 4인 경우 발생될 수 있는 어파인 예측 모호성 (affine prediction ambiguity)을 해결할 수 있고, 이를 통해 어파인 예측 (affine prediction)의 성능을 향상시킬 수 있다.
또한, 본 발명은 최적의 제어점 움직임 백터 (control point motion vector) 또는 제어 블록 움직임 백터 (control block motion vector)를 시그널링 (signalling)하는 방법을 제공함으로서 보다 효율적인 코딩이 수행할 수 있다.
【도면의 간단한 설명】
도 1은 본 발명이 적용되는 실시예로서, 비디오 신호의 인코딩이 수행되는 인코더의 개략적인 블톡도를 나타낸다.
도 2는 본 발명이 적용되는 실시예로서, 비디오 신호의 디코딩이 수행되는 디코더와 개략적인 블록도를 나타낸다.
도 3은 본 발명이 적용될 수 있는 실시예로서, QTBT(QuadTree BinaryTree, 이하 'QTBT,라 함) 블특 분할 구조를 설명하기 위한 도면이다.
도 4는 본 발명이 적용되는 실시예로서, 인터 예측 모드를 설명하기 위한 도면이다.
도 5는 본 발명이 적용되는 실시예로서, 어파인 움직임 모델 (affine motion model)을 설명하기 위한 도면이다.
도 6 및 도 7은 본 발명이 적용되는 실시예들로서, 제어점 움직임 백터 (control point motion vector)를 이용한 어파인 움직임 예측 방법을 설명하기 위한 도면이다.
도 8은 본 발명이 적용되는 실시예로서, 코딩 블톡의 움직임 백터 집합을 나타내는 움직임 백터 필드 (motion vector field)를 설명하기 위한 도면이다.
도 9는 본 발명이 적용되는 실시예로서, AF 인터 모드 및 AF 머지 모드의 시그널링 가능한 블록 사이즈를 나타내는 표이다.
도 10은 본 발명이 적용되는 실시예로서, AF 인터 모드 및 AF 머지 모드에 따라 비디오 신호를 인코딩하는 과정을 설명하는 흐름도이다.
도 1 1은 본 발명이 적용되는 실시예로서, AF 인터 모드 및 AF 머지 모드에 따라 비디오 신호를 디코딩하는 과정을 설명하는 흐름도이다.
도 12는 본 발명이 적용되는 실시예로서, AF 인터 모드 및 AF 머지 모드에 따라 비디오 신호를 디코딩하기 위한 신택스 구조를 나타낸다.
도 13은 본 발명이 적용되는 실시예로서, 블록 크기를 기준으로 하는 AF 플래그 시그널링 조건에 기초하여 비디오 신호를 인코딩하는 과정을 설명하는 흐름도이다.
도 14는 본 발명이 적용되는 실시예로서, 블록 크기를 기준으로 하는 AF 풀래그 시그널링 조건에 기초하여 비디오 신호를 디코딩하는 과정을 설명하는 흐름도이다.
도 15는 본 발명이 적용되는 실시예로서, 블록 크기를 기준으로 하는 AF 플래그 시그널링 조건에 기초하여 비디오 신호를 디코딩하기 위한 신택스 구조를 나타낸다.
도 16은 본 발명이 적용되는 실시예로서, 픽셀 크기를 기준으로 하는 AF 플래그 시그널링 조건에 기초하여 비디오 신호를 인코딩하는 과정올 설명하는 흐름도이다.
도 17은 본 발명이 적용되는 실시예로서, 픽셀 크기를 기준으로 하는 AF 플래그 시그널링 조건에 기초하여 비디오 신호를 디코딩하는 과정을 설명하는 흐름도이다.
도 18은 본 발명이 적용되는 실시예로서, 픽셀 크기를 기준으로 하는 AF 플래그 시그널링 조건에 기초하여 비디오 신호를 디코딩하기 위한 신택스 구조를 나타낸다.
도 19는 본 발명이 적용되는 실시예로서, 어파인 예측 (affine prediction)을 위해 제어점 움직임 백터 (control point motion vector)를 결정하는 과정을 설명하기 위한 도면이다.
도 20은 본 발명이 적용되는 실시예로서, 어파인 예측 모드를 이용하여 현재 블록을 포함하는 비디오 신호를 처리하는 과정을 설명하는 흐름도이다. 【발명의 실시를 위한 최선의 형태】
본 발명은, 어파인 모드를 이용하여 현재 블록을 포함하는 비디오 신호를 디코당하는 방법에 있어서, 상기 비디오 신호로부터 스킵 플래그 또는 머지 폴래그를 파싱하는 단계; 상기 스 풀래그 또는 머지 플래그에 따라 스¾ 모드 또는 머지 모드가 적용되는 경우, 상기 현재 블록의 샘플 개수 또는 크기가 기설정된 조건을 만족하는지 여부를 확인하는 단계; 상기 조건을 만족하는 경우, 어파인 플래그를 파싱하는 단계, 여기서 상기 어파인 플래그는 어파인 예측 모드가 적용되는지 여부를 나타내고, 상기 어파인 예측 모드는 제어점 움직임 백터를 이용하여 픽셀 또는 서브 블톡 단위로 움직임 백터를 유도하는 모드를 나타냄; 및 상기 어파인 폴래그에 따라 어파인 예측 모드가 적용되는 경우, 어파인 머지 모드를 최적의 예측 모드로 결정하는 단계를 포함하는 것을 특징으로 하는 방법을 제공한다.
본 발명에서, 상기 스킵 모드 또는 상기 머지 모드가 적용되는 경우, 상기 기설정된 조건은 상기 현재 블록의 샘플 개수가 64개 이상인지를 나타내고, 상기 스킵 모드 및 상기 머지 모드가 적용되지 않는 경우, 상기 기설정된 조건은 상기 현재 블록의 높이 및 너비가 모두 8보다 크고 그 크기가 2Nx2N인지를 나타내는 것을 특징으로 한다.
본 발명에서, 상기 기설정된 조건은 상기 현재 블록의 너비가 N 이상이고 높이가 M 이상이고, 상기 스킵 모드가 적용되는 경우와 상기 머지 모드가 적용되는 경우, 상기 기설정된 조건이 동일한 것을 특징으로 한다.
본 발명에서, 상기 기설정된 조건은 상기 현재 블록의 너비 X높이가 N 이상인지를 나타내고, 상기 스¾ 모드가 적용되는 경우와 상기 머지 모드가 적용되는 경우, 상기 기설정된 조건이 동일한 것을 특징으로 한다.
본 발명에서, 상기 스¾ 모드가 적용되거나 상기 머지 모드가 적용되는 경우에는, 상기 어파인 머지 모드가 최적의 예측 모드로 결정되고, 상기 스킵 모드 및 상기 머지 모드가 모두 적용되지 않는 경우에는, 상기 어파인 인터 모드가 최적의 예측 모드로 결정되는 것을 특징으로 한다.
본 발명에서, 상기 N 및 M 값은 인코더 및 /또는 디코더에서 기설정된 값이거나, 상기 비디오 신호를 통해 전송되는 값인 것을 특징으로 한다. 본 발명은, 어파인 모드를 이용하여 현재 블록을 포함하는 비디오 신호를 디코딩하는 장치에 있어서, 상기 비디오 신호로부터 스킵 플래그 또는 머지 플래그를 파싱하는 파싱부; 상기 스킴 플래그 또는 머지 플래그에 따라 스¾ 모드 또는 머지 모드가 적용되는 경우, 상기 현재 블톡의 샘플 개수 또는 크기가 기설정된 조건을 만족하는지 여부를 확인하는 인터 예측부; 상기 :건을 만족하는 경우, 상기 비디오 신호로부터 어파인 풀래그를 파싱하는 상기 과싱부, 여기서 상기 어파인 폴래그는 어파인 예측 모드가 적용되는지 여부를 나타내고, 상기 어파인 예측 모드는 제어점 움직임 백터를 이용하여 픽셀 또는 서브 블록 단위로 움직임 백터를 유도하는 모드를 나타냄; 및 상기 어파인 플래그에 따라 어파인 예측 모드가 적용되는 경우, 어파인 머지 모드를 최적의 예측 모드로 결정하는 상기 인터 예측부를 포함하는 것을 특징으로 하는 장치를 제공한다. 【발명의 실시를 위한 형태】
이하, 첨부된 도면을 참조하여 본 발명의 실시예의 구성과 그 작용을 설명하며, 도면에 의해서 설명되는 본 발명의 구성과 작용은 하나의 실시예로서 설명되는 것이며, 이것에 의해서 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.
아울러, 본 발명에서 사용되는 용어는 가능한 한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 특정한 경우는 출원인이 임의로 선정한 용어를 사용하여 설명한다. 그러한 경우에는 해당 부분의 상세 설명에서 그 의미를 명확히 기재하므로, 본 발명의 설명에서 사용된 용어의 명칭만으로 단순 해석되어서는 안 될 것이며 그 해당 용어의 의미까지 파악하여 해석되어야 함을 밝혀두고자 한다. 또한, 본 발명에서 사용되는 용어들은 발명을 설명하기 위해 선택된 일반적인 용어들이나, 유사한 의미를 갖는 다른 용어가 있는 경우 보다 적절한 해석을 위해 대체 가능할 것이다. 예를 들어, 신호, 데이터, 샘플, 픽쳐, 프레임, 블록 등의 경우 각 코딩 과정에서 적절하게 대체되어 해석될 수 있을 것이다. 또한, 파티셔닝 (partitioning), 분해 (decomposition), 스플리팅 (splitting) 및 분할 (division) 등의 경우에도 각 코딩 과정에서 적절하게 대체되어 해석될 수 있을 것이다. 도 1은 본 발명이 적용되는 실시예로서, 비디오 신호의 인코딩이 수행되는 인코더의 개략적인 블록도를 나타낸다.
도 1을 참조하면, 인코더 (100)는 영상 분할부 (1 10), 변환부 (120), 양자화부 (130), 역양자화부 (140), 역변환부 (150), 필터링부 (160), 복호 픽쳐 버퍼 (DPB: Decoded Picture Buffer) (170), 인터 예측부 (180), 인트라 예측부 (185) 및 엔트로피 인코딩부 (190)를 포함하여 구성될 수 있다.
영상 분할부 (1 10)는 인코더 (100)에 입력된 입력 영상 (Input image) (또는, 픽쳐, 프레임)를 하나 이상의 처리 유닛으로 분할할 수 있다. 예를 들어, 상기 처리 유닛은코딩 트리 유닛 (CTU: Coding Tree Unit), 코딩 유닛 (CU: Coding Unit), 예측 유닛 (PU: Prediction Unit) 또는 변환 유닛 (TU: Transform Unit)일 수 있다.
다만, 상기 용어들은 본 발명에 대한 설명의 편의를 위해 사용할 뿐이며, 본 발명은 해당 용어의 정의에 한정되지 않는다. 또한, 본 명세서에서는 설명의 편의를 위해, 비디오 신호를 인코딩 또는 디코딩하는 과정에서 이용되는 단위로써 코딩 유닛이라는 용어를 사용하지만, 본 발명은 그에 한정되지 않으며 발명 내용에 따라 적절하게 해석 가능할 것이다.
인코더 (100)는 입력 영상 신호에서 인터 예측부 (180) 또는 인트라 예측부 (185)로부터 출력된 예측 신호 (prediction signal)를 감산하여 레지듀얼 신호 (residual signal)를 생성할 수 있고, 생성된 레지듀얼 신호는 변환부 (120)로 전송된다.
변환부 (120)는 레지듀얼 신호에 변환 기법을 적용하여 변환 계수 (transform coefficient)를 생성할 수 있다. 변환 과정은 정사각형의 동일한 크기를 갖는 픽셀 블특에 적용될 수도 있고, 정사각형이 아닌 가변 크기의 블록에도 적용될 수 있다.
양자화부 (130)는 변환 계수를 양자화하여 엔트로피 인코딩부 (190)로 전송하고, 엔트로피 인코딩부 (190)는 양자화된 신호 (quantized signal)를 엔트로피 코딩하여 비트스트림으로 출력할 수 있다.
양자화부 (130)로부터 출력된 양자화된 신호 (quantized signal)는 예측 신호를 생성하기 위해 이용될 수 있다. 예를 들어, 양자화된 신호 (quantized signal)는 루프 내의 역양자화부 (140) 및 역변환부 (150)를 통해 역양자화 및 역변환을 적용함으로써 레지듀얼 신호를 복원할 수 있다. 복원된 레지듀얼 신호를 인터 예측부 (180) 또는 인트라 예측부 (185)로부터 출력된 예측 신호 (prediction signal)에 더함으로써 복원 신호 (reconstructed signal)가 생성될 수 있다.
한편, 위와 같은 압축 과정에서 인접한 블톡들이 서로 다른 양자화 파라미터에 의해 양자화됨으로써 블록 경계가 보이는 열화가 발생될 수 있다. 이러한 현상을 블록킹 열화 (blocking artifacts)라고 하며, 이는 화질을 평가하는 줄요한 요소 증의 하나이다. 이러한 열화를 줄이기 위해 필터링 과정을 수행할 수 있다. 이러한 필터링 과정을 통해 블록킹 열화를 제거함과 동시에 현재 픽쳐에 대한 오차를 줄임으로써 화질을 향상시킬 수 있게 된다.
필터링부 (160)는 복원 신호에 필터링을 적용하여 이를 재생 장치로 출력하거나 복호 픽쳐 버퍼 (170)에 전송한다. 복호 픽쳐 버퍼 (170)에 전송된 필터링된 신호는 인터 예측부 (180)에서 참조 픽쳐로 사용될 수 있다. 이처럼, 필터링된 픽쳐를 화면간 예측 모드에서 참조 픽쳐로 이용함으로써 화질 뿐만 아니라 부호화 효율도 향상시킬 수 있다.
복호 픽쳐 버퍼 (170)는 필터링된 픽쳐를 인터 예측부 (180)에서의 참조 픽쳐로 사용하기 위해 저장할 수 있다.
인터 예측부 (180)는 복원 픽쳐 (reconstructed picture)를 참조하여 시간적 중복성 및 /또는 공간적 중복성을 제거하기 위해 시간적 예측 및 /또는 공간적 예측을 수행한다. 여기서, 예측을 수행하기 위해 이용되는 참조 픽쳐는 이전 시간에 부호화 /복호화 시 블록 단위로 양자화와 역양자화를 거친 변환된 신호이기 때문에, 블로킹 아티팩트 (blocking artifact)나 링잉 아티팩트 (ringing artifact)가 존재할 수 있다.
따라서, 인터 예측부 (180)는 이러한 신호의 불연속이나 양자화로 인한 성능 저하를 해결하기 위해, 로우패스 필터 (lowpass filter)를 적용함으로써 픽셀들 사이의 신호를 서브 픽셀 단위로 보간할 수 있다. 여기서, 서브 픽셀은 보간 필터를 적용하여 생성된 가상의 픽셀을 의미하고, 정수 픽셀은 복원된 픽쳐에 존재하는 실제 픽셀을 의미한다. 보간 방법으로는 선형 보간, 양선형 보간 (bi¬ linear interpolation), 위너 필터 (wiener filter) 등이 적용될 수 있다.
보간 필터는 복원 픽쳐 (reconstructed picture)에 적용되어 예측의 정밀도를 향상시킬 수 있다. 예를 들어, 인터 예측부 (180)는 정수 픽셀에 보간 필터를 적용하여 보간 픽셀을 생성하고, 보간 픽셀들 (interpolated pixels)로 구성된 보간 블톡 (interpolated block)을 예측 블록 (prediction block)으로 사용하여 예측올 수행할 수 있다.
인트라 예측부 (185)는 현재 부호화를 진행하려고 하는 블특의 주변에 있는 샘플들을 참조하여 현재 블톡을 예측할 수 있다. 상기 인트라 예측부 (185)는 인트라 예측을 수행하기 위해 다음과 같은 과정을 수행할 수 있다. 먼저, 예측 신호를 생성하기 위해 필요한 참조 샘플을 준비할 수 있다. 그리고, 준비된 참조 샘플을 이용하여 예측 신호를 생성할 수 있다. 이후, 예측 모드를 부호화하게 된다. 이때, 참조 샘플은 참조 샘플 패딩 및 /또는 참조 샘플 필터링을 통해 준비될 수 있다. 참조 샘플은 예측 및 복원 과정을 거쳤기 때문에 양자화 에러가 존재할 수 있다. 따라서, 이러한 에러를 줄이기 위해 인트라 예측에 이용되는 각 예측 모드에 대해 참조 샘플 필터링 과정이 수행될 수 있다.
상기 인터 예측부 (180) 또는 상기 인트라 예측부 (185)를 통해 생성된 예측 신호 (prediction signal)는 복원 신호를 생성하기 위해 이용되거나 레지듀얼 신호를 생성하기 위해 이용될 수 있다. 도 2는 본 발명이 적용되는 실시예로서, 비디오 신호의 디코딩이 수행되는 디코더의 개략적인 블록도를 나타낸다.
도 2를 참조하면, 디코더 (200)는 파싱부 (미도시), 엔트로피 디코딩부 (210), 역양자화부 (220), 역변환부 (230), 필터링부 (240), 복호 픽쳐 버퍼 (DPB: Decoded Picture Buffer Unit) (250), 인터 예측부 (260), 인트라 예측부 (265) 및 복원부 (미도시)를 포함하여 구성될 수 있다.
다른 예로, 상기 디코더 (200)는 파싱부 (미도시), 블특 분할 결정부 (미도시) 및 디코딩부 (미도시)를 포함하는 것으로 간단히 표현될 수도 있다. 이때, 본 발명에서 적용되는 실시예들은 상기 파싱부 (미도시), 블록 분할 결정부 (미도시) 및 디코딩부 (미도시)를 통해 수행될 수 있다.
디코더 (200)는 도 1의 인코더 (100)로부터 출력된 신호를 수신할 수 있고, 파싱부 (미도시)를 통해 신택스 엘리먼트를 파싱 또는 획득할 수 있다. 파싱 또는 획득된 신호는 엔트로피 디코딩부 (210)를 통해 엔트로피 디코딩될 수 있다.
역양자화부 (220)에서는 양자화 스템 사이즈 정보를 이용하여 엔트로피 디코딩된 신호로부터 변환 계수 (transform coefficient)를 획득한다.
역변환부 (230)에서는 변환 계수를 역변환하여 레지듀얼 신호 (residual signal)를 획득하게 된다.
복원부 (미도시)는 획득된 레지듀얼 신호를 인터 예측부 (260) 또는 인트라 예측부 (265)로부터 출력된 예측 신호 (prediction signal)에 더함으로써 복원 신호 (reconstructed signal)를 생성한다.
필터링부 (240)는 복원 신호 (reconstructed signal)에 필터링을 적용하여 이를 재생 장치로 출력하거나 복호 픽쳐 버퍼부 (250)에 전송한다. 복호 픽쳐 버퍼부 (250)에 전송된 필터링된 신호는 인터 예측부 (260)에서 참조 픽쳐로 사용될 수 있다.
본 명세서에서, 인코더 (100)의 필터링부 (160), 인터 예측부 (180) 및 인트라 예측부 (185)에서 설명된 실시예들은 각각 디코더의 필터링부 (240), 인터 예측부 (260) 및 인트라 예측부 (265)에도 동일하게 적용될 수 있다. 상기 디코더 (200)를 통해 출력된 복원 영상 신호 (reconstructed video signal)는 재생 장치를 통해 재생될 수 있다. 도 3은 본 발명이 적용되는 실시예로서, QTBT(QuadTree BinaryTree, 이하 'QTBT,라 함) 블록 분할 구조를 설명하기 위한 도면이다.
뛰드트리와 이진트리 (OTBT: Quad-Tree Binary-Tree)
QTBT는 쿼드트리 (quadtree) 구조와 이진트리 (binarytree) 구조가 결합된 코딩 블특의 구조를 말한다. 구체적으로, QTBT 블톡 분할 구조에서는 영상을 CTU 단위로 코딩하며, CTU는 쿼드트리 (quadtree) 형태로 분할되고, 쿼드트리의 리프 노드 (leaf node)는 추가적으로 이진트리 (binarytree) 형태로 분할된다.
이하에서는, 도 3을 참조하여 QTBT 구조와 이를 지원하는 분할 플래그 (split flag) 신택스에 대하여 설명한다.
상기 도 3을 참조하면, 현재 블록은 QTBT 구조로 분할될 수 있다. 즉, CTU는 먼저 쿼드트리 형태로 계층적으로 분할될 수 있다. 그리고, 쿼드트리 형태로 더 이상 분할되지 않는 쿼드트리의 리프 노드 (leaf node)는 이진 트리 형태로 계층적으로 분할될 수 있다.
인코더는 QTBT 구조에서 쿼드트리의 분할 여부 결정을 위하여 분할 풀래그를 시그널링할 수 있다. 이때, 쿼드트리 분할은 MinQTLumalSlice, MinQTChromalSlice 또는 MinQTNonlSlice 값에 의해 조정 (또는 제한)될 수 있다. 여기서, MinQTLumalSlice는 I-슬라이스에서 루마 (luma)성분의 쿼드트리 리프 노드의 최소 크기를 나타내고, MinQTLumaChromalSlice는 I-슬라이스에서 크로마 (chroma) 성분의 쿼드트리 리프 노드의 최소 크기를 나타내고, MinQTNonlSlice는 비 I-슬라이스 (non I-slice)에서 쿼드트리 리프 노드의 최소 크기를 나타낸다.
QTBT의 쿼드트리 구조에서는 I-슬라이스에서 루마 성분과 크로마 성분이 서로 독립적인 분할 구조를 가질 수 있다. 예를 들어, QTBT 구조에서 I- 슬라이스의 경우, 루마 성분과 크로마 성분의 분할 구조는 서로 다르게 결정될 수 있다. 이와 같은 분할 구조를 지원하기 위하여, MinQTLumalSlice와 MinQTChromalSlice는 서로 다른 값을 가질 수 있다.
다른 예로, QTBT 의 비 I-슬라이스에서 쿼드트리 구조는 루마 성분과 크로마 성분의 분할 구조가 동일하게 결정될 수 있다. 예를 들어, 비 I- 슬라이스의 경우, 루마 성분과 크로마 성분의 춰드트리 분할 구조는 MinQTNonlSlice 값에 의해 조정될 수 있다.
QTBT 구조에서 쿼드트리의 리프 노드는 이진트리 형태로 분할될 수 있다. 이때, 이진 트리 분할은 MaxBTDepth, MaxBTDepthlSliceL 및 MaxBTDepthlSliceC에 의해 조정 (또는 제한)될 수 있다. 여기서, MaxBTDepth는 비 I-슬라이스에서 쿼드트리의 리프 노드를 기준으로 이진트리 분할의 최대 깊이 (depth)를 나타내고, MaxBTDepthlSliceL는 I-슬라이스에서 루마 성분의 이진트리 분할의 최대 깊이를 나타내고, MaxBTDepthlSliceC는 I-슬라이스에서 크로마 성분의 이진트리 분할의 최대 깊이를 나타낸다.
또한, QTBT의 I-슬라이스에서 루마 성분과 크로마 성분이 서로 다른 구조를 가질 수 있기 때문에, I-슬라이스에서 MaxBTDepthlSliceL와 MaxBTDepthlSliceC는 서로 다른 값을 가질 수 있다.
또한, QTBT의 BT는 가로 또는 세로 방향으로 분할될 수 있다. 따라서, BT 분할 여부를 나타내는 BT 분할 플래그 (예를 들어, BinarySpHtFlag) 뿐만 아니라 BT 분할될 때 어떤 방향으로 분할할 것인지에 대한 분할 방향 정보 (예를 들어, BTSplitMode)를 시그널링할 필요가 있다.
일실시예로, QTBT 구조는 BT 분할 플래그 (BinarySplitFlag)가 0이 아닌 경우, 분할 방향 청보 (BTSplitMode)를 시그널링할 수 있다. 예를 들어, BTSplitMode가 0인 경우 가로로 분할하고 BTSplitMode가 1인 경우 세로로 분할할 수 있다.
한편, QTBT의 분할 구조의 경우, 쿼드트리 구조와 이진트리 구조를 함께 사용할 수 있으며, 이 경우 다음과 같은 규칙이 적용될 수 있다.
첫째, MaxBTSize는 MaxQTSize보다 작거나 같다. 여기서, MaxBTSize는 이진트리 분할의 최대 크기를 나타내고, MaxQTSize 는 쿼드트리 분할의 최대 크기를 나타낸다.
둘째, QT의 리프 노드 (Leaf node)가 BT의 루트 (root)가 된다.
셋째, 한 번 BT로 분할되면 다시 QT로 분할 될 수 없다
넷째, BT는 수직 분할 (Vertical Split) 및 수평 분할 (Horizontal Split)을 정의한다.
다섯째, MaxQTDepth, MaxBTDepth를 미리 정의한다. 여기서, MaxQTDepth 는 쿼드트리 분할의 최대 깊이 (depth)를 나타내고, MaxBTDepth는 이진트리 분할의 최대 깊이 (depth)를 나타낸다.
여섯째, MaxBTSize, MinQTSize 는 슬라이스 타입 (slice type)에 따라 달라질 수 있다. 도 4는 본 발명이 적용되는 실시예로서, 인터 예측 모드를 설명하기 위한 도면이다.
인터 예측 모드
본 발명이 적용되는 인터 예측 모드에서는 움직임 정보의 양을 줄이기 위하여 머지 (Merge) 모드, AMVP(Advanced Motion Vector Prediction) 모드 또는 어파인 모드가 이용될 수 있다. 여기서, 상기 어파인 모드는 어파인 움직임 모델을 이용한 모드로 어파인 머지 모드 또는 어파인 인터 모드 중 적어도 하나를 포함할 수 있다.
1) 머지 (Merge)모드
머지 (Merge) 모드는 공간적 (spatially) 또는 시간적 (temporally)으로 이웃하는 블톡으로부터 움직임 파라미터 (또는 정보)를 도출하는 방법올 의미한다.
머지 모드에서 이용 가능한 후보의 세트는 공간적으로 이웃하는 후보 (spatial neighbor candidates), 시간적 푸보 (temporal candidates) 및 생성된 푸보 (generated candidates)로 구성된다.
도 4(a)를 참조하면, {Al, Bl, BO, AO, B2}의 순서에 따라 각 공간적 후보 블록이 이용 가능한지 여부가 판단된다. 이때, 후보 블록이 인트라 예측 모드로 인코딩되어 움직임 정보가 존재하지 않는 경우 또는 후보 블록이 현재 픽쳐 (또는 슬라이스)의 밖에 위치하는 경우에는 해당 후보 블록은 이용할 수 없다.
공간적 후보의 유효성의 판단 후, 현재 처리 블록의 후보 블특에서 불필요한 후보 블록을 제외함으로써 공간적 머지 후보가 구성될 수 있다. 예를 들어, 현재 예측 블록의 후보 블록이 동일 코딩 블록 내 첫 번째 예측 블톡인 경우 해당 후보 블록을 제외하고 또한 동일한 움직임 정보를 가지는 후보 블록들을 제외할 수 있다.
공간적 머지 후보 구성이 완료되면, {TO, T1 }의 순서에 따라 시간적 머지 후보 구성 과정이 진행된다.
시간적 후보 구성에 있어서, 참조 픽쳐의 동일 위치 (collocated) 블록의 우하단 (right bottom) 블록 (TO)이 이용 가능한 경우, 해당 블록을 시간적 머지 후보로 구성한다. 동일 위치 (collocated) 블록은 선택된 참조 픽쳐에서 현재 처리 블록에 대응되는 위치에 존재하는 블톡을 의미한다. 반면, 그렇지 않은 경우, 동일 위치 (collocated) 블톡의 중앙 (center)에 위치하는 블록 (T1)을 시간적 머지 후보로 구성한다.
머지 후보의 최대 개수는 슬라이스 헤더에서 특정될 수 있다. 머지 후보의 개수가 최대 개수보다 큰 경우, 최대 개수 보다 작은 개수의 공간적 후보와 시간적 후보가 유지된다. 그렇지 않은 경우, 머지 후보의 개수는 후보 개수가 최대 개수가 될 때까지 현재까지 추가된 후보들을 조합하여 추가적인 머지 早보 (즉, 조합된 쌍예즉 머지 早보 (combined bi-predictive merging candidates))가 생성된다.
인코더에서는 위와 같은 방법으로 머지 후보 리스트를 구성하고, 움직임 추정 (Motion Estimation)을 수행함으로써 머지 후보 리스트에서 선택된 후보 블톡 정보를 머지 인덱스 (merge index) (예를 들어, merge_idx[x0][y0]')로써 디코더에게 시그널링한다. 도 4(b)에서는 머지 후보 리스트에서 B 1 블록이 선택된 경우를 예시하고 있으며, 이 경우, 머지 인덱스 (merge index)로 "인텍스 l(Index 1)"이 디코더로 시그널링될 수 있다. 디코더에서는 인코더와 동일하게 머지 후보 리스트를 구성하고, 머지 후보 리스트에서 인코더로부터 수신한 머지 인덱스 (merge index)에 해당하는 후보 블록의 움직임 정보로부터 현재 블록에 대한 움직임 정보를 도출한다. 그리고, 디코더는 도출한 움직임 정보를 기반으로 현재 처리 블특에 대한 예측 블록을 생성한다.
2) AMVP(Advanced Motion Vector Prediction) 모드
AMVP 모드는 주변 블록으로부터 움직임 백터 예측 값올 유도하는 방법을 의미한다. 따라서, 수평 및 수직 움직임 백터 차분 값 (MVD: motion vector difference), 참조 인텍스 및 인터 예측 모드가 디코더로 시그널링된다. 수평 및 수직 움직임 백터 값은 유도된 움직임 백터 예측 값과 인코더로부터 제공된 움직임 백터 차분 값 (MVD: motion vector difference)를 이용하여 계산된다.
즉, 인코더에서는 움직임 백터 예측값 후보 리스트를 구성하고, 움직임 추정 (Motion Estimation)을 수행함으로써 움직임 백터 예측값 후보 리스트에서 선택된 움직임 참조 플래그 (즉, 후보 블록 정보) (예를 들어, nwpJX— flag[x0][y0]')를 디코더에게 시그널링한다. 디코더에서는 인코더와 동일하게 움직임 백터 예측값 후보 리스트를 구성하고, 움직임 백터 예측값 후보 리스트에서 인코더로부터 수신한 움직임 참조 플래그에서 지시된 후보 블록의 움직임 정보를 이용하여 현재 처리 블톡의 움직임 백터 예측값을 도출한다. 그리고, 디코더는 도출된 움직임 백터 예측값과 인코더로부터 전송된 움직임 백터 차분값을 이용하여 현재 처리 블록에 대한 움직임 백터값을 획득하게 된다. 그리고, 디코더는 도출한 움직임 정보를 기반으로 현재 처리 블록에 대한 예측 블록을 생성한다 (즉, 움직임 보상).
AMVP 모드의 경우, 앞서 도 4에서 5개의 이용 가능한 후보들 중에서 2개의 공간적 움직임 후보가 선택된다. 첫 번째 공간적 움직임 후보는 좌측에 위치한 {AO, A1 } 세트로부터 선택되고, 두 번째 공간적 움직임 후보는 상위에 위치한 {BO, Bl , B2} 세트로부터 선택된다. 이때, 이웃한 후보 블록의 참조 인덱스가 현재 예측 블록과 동일하지 않은 경우, 움직임 백터가 스케일링된다. 공간적 움직임 후보의 탐색 결과 선택된 후보 개수가 2개라면 후보 구성을 종료하나, 2개 미만인 경우 시간적 움직임 후보가 추가된다.
디코더 (예를 들어, 인터 예측부)는 처리 블록 (예를 들어, 예측 유닛)에 대한 움직임 파라미터를 디코딩한다.
예를 들어, 처리 블록이 머지 모드를 이용하는 경우, 디코더는 인코더로부터 시그널링된 머지 인텍스를 디코딩할 수 있다. 그리고, 머지 인덱스에서 지시된 후보 블록의 움직임 파라미터로부터 현재 처리 블록의 움직임 파라미터를 도출할 수 있다.
또한, 처리 블톡이 AMVP 모드가 적용된 경우, 디코더는 인코더로부터 시그널링된 수평 및 수직 움직임 백터 차분 값 (MVD: motion vector difference), 참조 인덱스 및 인터 예측 모드를 복호화할 수 있다. 그리고, 움직임 참조 플래그로부터 지시된 후보 블록의 움직임 파라미터로부터 움직임 백터 예측값을 도출하고, 움직임 백터 예측값과 수신한 움직임 백터 차분 값을 이용하여 현재 처리 블록의 움직임 백터값을 도출할 수 있다.
디코더는 디코딩된 움직임 파라미터 (또는 정보)를 이용하여 예측 유닛에 대한 움직임 보상을 수행한다. 즉, 인코더 /디코더에서는 복호화된 움직임 파라미터를 이용하여, 이전에 디코딩된 픽쳐로부터 현재 유닛의 영상을 예측하는 움직임 보상 (motion compensation)을 수행한다 . 도 5는 본 발명이 적용되는 실시예로서, 어파인 움직임 모델 (affine motion model)을 설명하기 위한 도면이다.
일반적인 영상 부호화 기술은 코딩 블록의 움직임을 표현하기 위하여 병진 움직임 모델 (translation motion model)을 사용한다. 여기서, 병진 움직임 모델 (translation motion model)은 평행 이동된 블록 기반의 예측 방법을 나타낸다. 즉, 코딩 블록의 움직임 정보는 하나의 움직임 백터를 이용하여 표현된다. 그러나, 실제 코딩 블록 내에서 각 픽샐별 최적의 움직임 백터는 서로 다를 수 있다. 만약, 적은 정보만으로 픽셀별 또는 서브 블록 단위별로 최적의 움직임 백터를 결정할 수 있다면 코딩 효율을 높일 수 있다.
따라서, 본 발명은 인터 예측의 성능을 높이기 위해 평행 이동된 블록 기반의 예측 방법뿐만 아니라, 영상의 다양한 움직임을 반영한 인터 예측 기반 영상 처리 방법을 제안한다.
또한, 본 발명은 서브 블록 또는 픽샐 단위의 움직임 정보를 반영하도록 하여 예측와 정확도를 높이고 압축 성능을 높이는 방법을 제안한다.
또한, 본 발명은 어파인 움직임 모델 (affine motion model)을 사용하여 코딩 /디코딩을 수행하는 어파인 움직임 예측 방법에 대해 제안한다. 어파인 움직임 모델은 제어점의 움직임 백터를 이용하여 픽셀 단위 또는 서브 블록 단위로 움직임 백터를 유도하는 예측 방법을 나타낸다. 도 5를 참조하면, 영상의 왜곡을 움직임 정보로서 표현하기 위해 다양한 방법이 사용될 수 있으며, 특히 어파인 움직임 모델은 도 5에 도시된 4가지 움직임올 표현할 수 있다.
예를 들어, 어파인 움직임 모델은 영상의 이동 (translate), 영상의 확대 /축소 (scale), 영상의 회전 (rotate), 영상의 비뚤림 (shear)를 비롯하여 유발되는 임의의 영상 왜곡을 모델링할 수 있다.
어파인 움직임 모델은 다양한 방법으로 표현될 수 있으나, 그 중에서 본 발명에서는 블록의 특정 기준점 (또는 기준 픽셀 /샘플)에서의 움직임 정보를 활용하여 왜곡을 표시 (또는 식별)하고, 이를 이용하여 인터 예측을 수행하는 방법을 제안한다. 여기서, 기준점은 제어점 (CP: Control Point)(또는 제어 픽셀, 제어 샘플)이라고 지칭될 수 있으며, 이러한 기준점에서의 움직임 백터는 제어점 움직임 백터 (CPMV: Control Point Motion Vector)라고 지칭될 수 있다. 이러한 제어점의 개수에 따라 표현할 수 있는 왜곡의 정도가 달라질 수 있다.
어파인 움직임 모델은 다음 수학식 1과 같이 6개의 파라미터 (a, b, c, d, e, f)를 이용하여 표현될 수 있다.
【수학식 1】
vx = a * x + b * y + c
_Vy = d * x + e * y + f
여기서, (x,y)는 코딩 블록의 좌상측 픽샐의 위치를 나타낸다. 그리고, Vᅳ X 및 v_ 는 각각 (x,y) 에서의 움직임 백터를 나타낸다. 도 6 및 도 7은 본 발명이 적용되는 실시예들로서, 제어점 움직임 백터 (control point motion vector)를 이용한 어파인 움직임 예측 방법을 설명하기 위한 도면이다.
도 6을 참조하면, 현재 불특 (601)의 좌상측 제어점 (control point) (CP0) (602) (이하, 제 1 제어점이라 함), 우상측 제어점 (control point) (CP,) (603)(이하, 제 2 제어점이라 함) 및 좌하측 제어점 (control point) (CP2) (604)(이하, 제 3 제어점이라 함)은 각각 독립적인 움직임 정보를 가질 수 있다. 이를 각각 CP0, CP,, CP2 이라 표현할 수 있다. 그러나, 이는 본 발명의 일실시예에 해당하고, 본 발명은 이에 한정되지 않는다. 예를 들어, 우하측 제어점, 센터 제어점, 그외 서브 블록의 위치별 제어점 등 다양하게 제어점을 정의할 수 있다.
본 발명의 일실시예로, 상기 제 1 제어점 내지 제 3 제어점 중 적어도 하나는 현재 블록에 포함된 픽샐일 수 있다. 또는, 다른 예로, 상기 제 1 제어점 내지 제 3 제어점 중 적어도 하나는 현재 블록에 포함되지 않는 현재 블록에 인접한 픽셀일 수 있다.
상기 제어점들 중 하나 이상의 제어점의 움직임 정보를 이용하여 현재 블록 (601)의 픽셀 별 또는 서브 블록 별 움직임 정보가 유도될 수 있다.
예를 들어, 현재 블톡 (601)의 좌상측 제어점 (602), 우상측 제어점 (603) 및 좌하측 제어점 (604)의 움직임 백터를 이용한 어파인 움직임 모델은 다음 수학식 2와 같이 정의될 수 있다.
【수학식 2】
Figure imgf000025_0001
여기서, ^ 를 좌상측 제어점 (602)의 움직임 백터, ^ 를 우상측 제어점 (603)의 움직임 백터, ^를 좌하측 제어점 (604)의 움직임 백터라고 할 때, V^ ^ iVox.Voy}, v = {Vxx,Vly}, V^ = {v2x,V2y} 로 정의될 수 있다. 그리고, 수학식
2에서 w는 현재 블록 (601)의 너비 (width), h는 현재 블록 (601)의 높이 (height)를 나타낸다. 그리고, = { ,17 }는 {x,y} 위치의 움직임 백터를 나타낸다. 본 발명의 다른 일실시예로, 어파인 움직임 모델이 표현할 수 있는 움직임 f 병진 (translation), 스케일 (scale), 회전 (rotate)의 3가지 움직임을 표현하는 어파인 움직임 모델을 정의할 수 있다. 본 명세서에서는 이를 간이 어파인 움직임 모델 (simplified affine motion model) 또는 간이 어파인 움직임 모델 (similarity affine motion model)이라 부르기로 한다.
상기 간이 어파인 움직임 모델은 다음 수학식 3과 같이 4개의 파라미터 (a, b,c,d)를 이용하여 표현될 수 있다.
【수학식 3]
(vx = a * X— b * y + c
[Vy = b * x + a * y + d
여기서, 는 각각 {x,y} 위치의 움직임 백터를 나타낸다. 이와 같이
4개의 파라미터를 이용하는 어파인 움직임 모델을 AF4라 부를 수 있다. 본 발명은 이에 한정되지 않으며, 6개의 파라미터를 이용하는 경우에는 AF6라 하며, 위 실시예들을 동일하게 적용할 수 있다.
상기 도 7을 살펴보면, ^를 현재 블특의 좌상측 제어점 (701)의 움직임 백터, ^를 우상측 제어점 (702)의 움직임 백터라고 할 때, ^ = {i0;c,iOy} , ^ = {v1;c, ly}로 정의될 수 있다. 이때, AF4의 어파인 움직임 모델을 다음의 수학식 4와 같이 정의될 수 있다.
【수학식 4】
Figure imgf000027_0001
수학식 4에서 w는 현재 블록의 너비 (width), h는 현재 블특의 높이 (height)를 나타낸다. 그리고, = 는 각각 {x,y} 위치의 움직임 백터를 나타낸다.
인코더 또는 디코더는 제어점 움직임 백터 (예를 들어, 좌상측 제어점 (701) 및 우상측 제어점 (702)의 움직임 백터)를 이용하여 각 픽샐 위치의 움직임 백터를 결정 (또는유도)할 수 있다.
본 발명에서, 어파인 움직임 예측을 통해 결정되는 움직임 백터들의 집합을 어파인 움직임 백터 필드로 정의할 수 있다. 상기 어파인 움직임 백터 필드는 상기 수학식 1 내지 4 중 적어도 하나를 이용하여 ᅳ결정될 수 있다.
부호화 /복호화 과정에서 어파인 움직임 예측을 통한 움직임 백터는 픽셀 단위 또는 미리 정의된 (또는 미리 설정된) 블록 (또는 서브 블록) 단위로 결정될 수 있다. 예를 들어, 픽셀 단위로 결정되는 경우 블록 내 각 픽셀을 기준으로 움직임 백터가 유도될 수 있고, 서브 블톡 단위로 결정되는 경우 현재 블톡 내 각 서브 블록 단위를 기준으로 움직임 백터가 유도될 수 있다. 다른 예로, 서브 블록 단위로 결정되는 .경우, 움직임 백터는 좌상측 픽셀 또는 중앙 픽셀을 기준으로 해당 서브 블록의 움직임 백터가 유도될 수 있다.
이하, 본 발명의 설명에 있어 설명의 편의를 위해, 어파인 움직임 예측을 통한 움직임 백터가 4x4 블록 단위로 결정되는 경우를 위주로 설명하나, 본 발명은 이에 한정되는 것은 아니며, 본 발명은 픽셀 단위 또는 다른 크기의 블록 단위로 적용될 수 있다. 도 8은 본 발명이 적용되는 실시예로서, 코딩 블록의 움직임 백터 집합을 나타내는 움직임 백터 필드 (motion vector field)를 설명하기 위한 도면이다.
상기 도 8을 참조하면, 현재 블록의 크기가 16x16 인 경우를 가정한다. 인코더 또는 디코더는 현재 블록의 좌상측 제어점 (801) 및 우상측 제어점 (802)의 움직임 백터를 이용하여 이용하여 4x4 서브 블록 단위로 움직임 백터를 결정할 수 있다. 그리고, 각 서브 블록의 중앙 픽셀 값을 기준으로 해당 서브 블록의 움직임 백터가 결정될 수 있다.
상기 도 8에서, 각 서브 블록의 중앙에 표시된 화살표는 어파인 움직임 모델 (Affm motion model)에 의해 획득된 움직임 백터를 나타낸다.
어파인 움직임 예측은 어파인 머지 모드 (이하, 'AF 머지 모드' 또는 'AF_MERGE'라 함)와 어파인 인터 모드 (이하, 'AF 인터 모드, 또는 'AFJNTER'라 함)로 이용될 수 있다. AF 머지 모드는 스킵 모드 또는 머지 모드와 유사하게 움직임 백터 차이 (motion vector difference)를 부호화하지 않고, 2개의 제어점 움직임 백터를 유도하여 부호화 또는 복호화하는 방법이다. AF 인터 모드는 제어점 움직임 백터 예측자 (motion vector predictor)와 제어점 움직임 백터를 결정한 후, 그 차이에 해당하는 제어점 움직임 백터 차이 (control point motion vector difference)를 부호화 또는 복호화 방법이다. 이 경우, AF4의 경우에는 2개의 제어점의 움직임 백터 차이가 전송되고, AF6의 경우에는 3개의 제어점의 움직임 백터 차이가 전송된다. 도 9는 본 발명이 적용되는 실시예로서, AF 인터 모드 및 AF 머지 모드의 시그널링 가능한 블록 사이즈를 나타내는 표이다ᅳ
어파인 움직임 예측을 수행할지 여부를 결정하는 플래그의 전송 조건은 아래 표 1과 같다. 여기서, AF_MERGE는 AF 스킵 모드를 포함하는 AF 머지 모드를 의미하고 AF_INTER는 AF 인터 모드를 의미한다.
[표 1]
Figure imgf000029_0001
상기 표 1을 살펴보면, AF— MERGE 경우 "width * height >= 64" 일때, 즉 블록 크기 또는 샘플 개수가 64 이상일 때 어파인 움직임 예측을 수행할지 여부를 나타내는 플래그를 전송할 수 있다.
그리고, AFJNTER 경우 "width > 8 & height > 8 " 일때, 즉 블록의 너비와 높이가 모두 8보다 클 때 어파인 움직임 예측을 수행할지 여부를 나타내는 플래그를 전송할 수 있다.
상기 도 9를 살펴보면, QTBT 구조상에서 AF— MERGE와 AFJNTER의 경우 시그널링 가능한 블록 사이즈를 나타낸다. 예를 들어, 샘플 개수가 256개인 경우, QTBT 이용가능한 블록 사이즈는 8x32, 16x16, 32x8 이고, 이때 AF_MERGE를 위한 이용가능한 블록 사이즈는 8x32, 16x16, 32x8 이고, AFJNTER를 위한 이용가능한 블톡 사이즈는 16x16 이다.
다른 예로, 상기 도 9를 살펴보면, 샘플 개수가 1024개 이상인 경우에는 AF MERGE 및 AFJNTER를 위한 이용가능한 블록 사이즈는 QTBT 이용가능한 블록 사이즈와 동일함을 확인할 수 있다. 도 10은 본 발명이 적용되는 실시예로서, AF 인터 모드 및 AF 머지 모드에 따라 비디오 신호를 인코딩하는 과정을 설명하는 흐름도이다.
인코더는 현재 블록에 대해 스킵 모드, 머지 모드 및 인터 모드를 수행할 수 있다 (S1010).
그리고, 상기 인코더는 상기 현재 블록의 샘풀 개수를 확인할 수 있다. 예를 들어, 상기 현재 블록의 샘플 개수가 64개 이상인지 또는 상기 현재 블록의 너비 X높이가 64 이상인지 여부를 확인할 수 있다 (S1020).
상기 확인 결과, 상기 현재 블톡의 샘플 개수가 64개 이상이거나 또는 상기 현재 블록의 너비 X높이가 64 이상인 경우, 상기 인코더는 AF 머지 모드를 수행할 수 있다 (S 1030).
반면, 상기 확인 결과, 상기 현재 블록의 샘플 개수가 64개 이상이 아니거나 또는 상기 현재 블록의 너비 X높이가 64 이상이 아닌 경우, ·상기 인코더는 AF 머지 모드를 수행하지 않고 다음 단계로 넘어가게 된다.
상기 인코더는 상기 현재 블록의 높이 및 너비가 모두 8보다 크고 상기 현재 블록의 크기가 2Nx2N 인지 여부를 확인할 수 있다 (S1040).
상기 확인 결과, 상기 현재 블록의 높이 및 너비가 모두 8보다 크고 상기 현재 블록의 크기가 2Nx2N 인 경우, 상기 인코더는 AF 인터 모드를 수행할 수 있다 (S1050).
반면, 상기 확인 결과, 상기 현재 블록의 높이가 8보다 크지 않거나, 너비가 8보다 크지 않거나 또는 상기 현재 블록의 크기가 2Nx2N 이 아닌 경우, 상기 인코더는 AF 인터 모드를 수행하지 않고 다음 단계로 넘어가게 된다. 위와 같은 과정을 통해, 상기 인코더는 스¾ 모드, 머지 모드, 인터 모드, AF 머지 모드 및 AF 인터 모드 중 율 -왜곡 최적화 과정을 통해 최적 예측 모드를 결정 또는 선택할 수 있다 (S 1060). 도 1 1은 본 발명이 적용되는 실시예로서, AF 인터 모드 및 AF 머지 모드에 따라 비디오 신호를 디코딩하는 과정을 설명하는 흐름도이다.
상기 도 11은 상기 도 10에 대웅되는 디코딩 과정을 나타낸다.
먼저, 디코더는 비트스트림으로부터 스킵 플래그를 파싱할 수 있다 (S1110). 상기 디코더는 상기 스킵 플래그에 따라 스킵 모드인지 여부를 확인할 수 있다 (S 1 120).
상기 확인 결과, 스킵 모드인 경우, 상기 디코더는 상기 현재 블록의 샘플 개수를 확인할 수 있다. 예를 들어, 상기 현재 블록의 샘플 개수가 64개 이상인지 또는상기 현재 블록의 너비 X높이가 64 이상인지 여부를 확인할 수 있다 (S1130). 상기 확인 결과, 상기 현재 블록의 샘플 개수가 64개 이상이거나 또는 상기 현재 블록의 너비 X높이가 64 이상인 경우, 상기 디코더는 AF 플래그를 파싱할 수 있다 (S 1 140).
상기 디코더는 상기 AF 플래그에 따라 AF 모드인지 여부를 확인할 수 있다 (S1150).
상기 확인 결과, AF 모드가 적용되는 경우, 상기 디코더는 AF 머지 모드를 최적의 예측 모드로 결정 또는 선택할수 있다 (S1160).
반면, 상기 S1130 단계 확인 결과, 상기 현재 블톡의 샘플 개수가 64개 미만이거나 또는 상기 현재 블록의 너비 X높이가 64 미만인 경우, 상기 디코더는 스킵 모드 또는 머지 모드를 최적의 예측 모드로 결정 또는 선택할 수 있다 (S1 131).
또한, 상기 S1150 단계 확인 결과, AF 모드가 적용되지 않는 경우, 상기 디코더는 스킵 모드 또는 머지 모드를 최적의 예측 모드로 결정 또는 선택할 수 있다 (S1131). 한편, 상기 S1120 단계 확인 결과, 스킵 모드가 적용되지 않는 경우, 상기 디코더는 머지 플래그를 파싱할 수 있다 (S1121).
상기 디코더는 상기 머지 플래그에 따라 머지 모드인지 여부를 확인할 수 있다 (S 1122).
상기 S1122 단계 확인 결과, 머지 모드가 적용되는 경우, 상기 디코더는 S1 130 단계를 수행할 수 있다.
반면, 상기 SU22 단계 확인 결과, 머지 모드가 적용되지 않는 경우, 상기 디코더는 상기 현재 블톡의 높이 및 너비가 모두 8보다 크고 상기 현재 블록의 크기가 2N 2N 인지 여부를 확인할 수 있다 (S1123).
상기 S1 123 단계 확인 결과, 상기 현재 블록의 높이 및 너비가 모두 8보다 크고 상기 현재 블록의 크기가 2Nx2N 인 경우, 상기 디코더는 AF 플래그를 파싱할 수 있다 (S1124).
반면, 상기 S1123 단계 확인 결과, 상기 현재 블록의 높이가 8보다 크지 않거나, 너비가 8보다 크지 않거나 또는 상기 현재 블록의 크기가 2Nx2N 이 아닌 경우, 상기 디코더는 인터 모드를 최적의 예측 모드로 결정 또는 선택할 수 있다 (S 1 127). 상기 SU24 단계 이후, 상기 디코더는 상기 AF 플래그에 따라 AF 모드인지 여부를 확인할 수 있다 (S1125).
상기 S1125 단계 확인 결과, AF 모드가 적용되는 경우, 상기 디코더는 AF 인터 모드를 최적의 예측 모드로 결정 또는 선택할 수 있다 (S1126).
반면, 상기 SU25 단계 확인 결과, AF 모드가 적용되지 않는 경우, 상기 디코더는 인터 모드를 최적의 예측 모드로 결정 또는 선택할 수 있다 (S1127). 이와 같은 과정을 통해 예측 모드가 결정되면, 상기 디코더는 상기 예측 모드에 따라 인터 예측을 수행할 수 있고, 이를 통해 획득된 예측값과 비트스트림으로부터 전송된 레지듀얼 값을 합하여 비디오 신호를 복원할 수 있게 된다. 도 12는 본 발명이 적용되는 실시예로서, AF 인터 모드 및 AF 머지 모드에 따라 비디오 신호를 디코딩하기 위한 신택스 구조를 나타낸다.
상기 도 12는 AF— MERGE와 AFJNTER의 디코딩을 위한 신택스 구조를 나타낸다.
isAffineMrgFlagCoded (S1210, S1230)는 decodeAffineFlag 의 수행 여부를 결정하기 위한 조건 함수를 나타낸다. 즉, affine flag 를 파싱할지 여부를 나타낸다. 여기서, decodeAffineFlag 는 affine flag 를 파싱하기 위한 함수를 나타낸다. 예를 들어, isAffineMrgFlagCoded (S1210, SI 230)는 width * height >= 64 인 경우에만 (S1210, S1230), true 값을 리턴 (return)하여 affine flag 를 파싱할 수 있다 (S1220, S1240).
또한, 머지 모드가 아닌 경우, width > 8 & height > 8 & SIZE— 2Nx2N 조건을 확인하고 (S1250), 상기 조건을 만족하는 경우 affine flag 를 파싱할지 여부를 결정한다 (S 1260).
decodeAffineFlag 에 따라 affine mode 를 나타내면, AFJNTER 가 수행된다. 한편, 상기 도 12의 신택스 구조는 상기 도 11에서 설명한 디코딩 프로세스와 동일하므로 상기 도 11의 실시예가 적용될 수 있다.
이와 같이, AF— MERGE 및 AF— INTER 가 수행되는 조건이 서로 다른 것을 확인할 수 있다.
따라서, 이하에서는 AF_MERGE 및 AFJNTER 가 수행되는 조건을 일치시키는 실시예를 설명하도록 한다. 도 13은 본 발명이 적용되는 실시예로서, 블록 크기를 기준으로 하는 AF 풀래그 시그널링 조건에 기초하여 비디오 신호를 인코딩하는 과정을 설명하는 흐름도이다.
인코더는 현재 블록에 대해 스킵 모드, 머지 모드 및 인터 모드를 수행할 수 있다 (S1310).
그리고, 상기 인코더는 상기 현재 블록의 너비가 N 이상이고 높이가 M 이상인지 여부를 확인할 수 있다 (S1320).
상기 확인 결과, 상기 현재 블록의 너비가 N 이상이고 높이가 M 이상인 경우, 상기 인코더는 AF 머지 모드를 수행할 수 있다 (S 1330). 그리고, 상기 인코더는 AF 인터 모드를 수행할 수 있다 (S1340). 다만, 상기 S1330 단계 및 S1340 단계의 순서는 바¾ 수도 있다.
반면, 상기 확인 결과, 상기 현재 블록의 너비가 N 미만이거나 높이가 M 미만인 경우, 상기 인코더는 AF 머지 모드 및 AF 인터 모드를 수행하지 않고 다음 단계로 넘어가게 된다.
위와 같은 과정을 통해, 상기 인코더는 스킵 모드, 머지 모드, 인터 모드, AF 머지 모드 및 AF 인터 모드 중 율 -왜곡 최적화 과정을 통해 최적 예측 모드를 결정 또는 선택할 수 있다 (S1350). 도 14는 본 발명이 적용되는 실시예로서, 블록 크기를 기준으로 하는 AF 플래그 시그널링 조건에 기초하여 비디오 신호를 디코딩하는 과정을 설명하는 흐름도이다.
상기 도 14는 상기 도 13에 대응되는 디코딩 과정을 나타낸다.
먼저, 디코더는 비트스트림으로부터 스킵 플래그를 파싱할 수 있다 (S1410). 상기 디코더는 상기 스¾ 플래그에 따라 스¾ 모드인지 여부를 확인할 수 있다 (S1420).
상기 확인 결과, 스킵 모드인 경우, 상기 디코더는 '상기 현재 블록의 크기가 일정 조건을 만족하는지 여부를 확인할 수 있다. 예를 들어, 상기 현재 블록의 너비가 N 이상이고 높이가 M 이상인지 여부를 확인할 수 있다 (S1430). 상기 확인 결과, 상기 현재 블록의 너비가 N 이상이고 높이가 M 이상인 경우, 상기 디코더는 AF 플래그를 파싱할 수 있다 (S 1440).
상기 디코더는 상기 AF 플래그에 따라 AF 모드인지 여부를 확인할 수 있다 (S1450).
상기 확인 결과, AF 모드가 적용되는 경우, 상기 디코더는 AF 머지 모드를 최적의 예측 모드로 결정 또는 선택할 수 있다 (S1460). 반면, 상기 S1430 단계 확인 결과, 상기 현재 블록의 너비가 N 미만이거나 높이가 M 미만인 경우, 상기 디코더는 스¾ 모드 또는 머지 모드를 최적의 예측모드로 결정 또는 선택할 수 있다 (S1431).
또한, 상기 S1450 단계 확인 결과, AF 모드가 적용되지 않는 경우, 상기 디코더는 스¾ 모드 또는 머지 모드를 최적의 예측 모드로 결정 또는 선택할 수 있다 (S1431). 한편, 상기 S1420 단계 확인 결과, 스킵 모드가 적용되지 않는 경우, 상기 디코더는 머지 플래그를 파싱할 수 있다 (S1421).
상기 디코더는 상기 머지 플래그에 따라 머지 모드인지 여부를 확인할 수 있다 (S1422).
상기 S1422 단계 확인 결과, 머지 모드가 적용되는 경우, 상기 디코더는 S1430 단계를 수행할 수 있다.
. 반면, 상기 S1422 단계 확인 결과, 머지 모드가 적용되지 않는 경우, 상기 현재 블록의 크기가 일정 조건을 만족하는지 여부를 확인할 수 있다. 예를 들어, 상기 현재 블록의 너비가 N 이상이고 높이가 M 이상인지 여부를 확인할 수 있다 (S1423).
상기 S1423 단계 확인 결과, 상기 현재 블록의 너비가 N 이상이고 높이가 M 이상인 경우, 상기 디코더는 AF 플래그를 파싱할 수 있다 (S 1424).
반면, 상기 S1423 단계 확인 결과, 상기 현재 블록의 너비가 N 미만이거나 높이가 M 미만인 경우, 상기 디코더는 인터 모드를 최적의 예측 모드로 결정 또는 선택할 수 있다 (S1427). 상기 S1424 단계 이후, 상기 디코더는 상기 AF 플래그에 따라 AF 모드인지 여부를 확인할 수 있다 (S1425).
상기 S1425 단계 확인 결과, AF 모드가 적용되는 경우, 상기 디코더는 AF 인터 모드를 최적의 예측 모드로 결정 또는 선택할 수 있다 (S1426).
반면, 상기 S1425 단계 확인 결과, AF 모드가 적용되지 않는 경우, 상기 디코더는 인터 모드를 최적의 예측 모드로 결정 또는 선택할 수 있다 (S1427). 이와 같은 과정을 통해 예측 모드가 결정되면, 상기 디코더는 상기 예측 모드에 따라 인터 예측을 수행할 수 있고, 이를 통해 획득된 예측값라 비트스트림으로부터 전송된 레지듀얼 값을 합하여 비디오 신호를 복원할 수 있게 된다. 도 15는 본 발명이 적용되는 실시예로서, 블톡 크기를 기준으로 하는 AF 플래그 시그널링 조건에 기초하여 비디오 신호를 디코딩하기 위한 신택스 구초를 나타낸다.
아래 표 2는 AF 플래그 시그널링 조건 (AF flag signalling condition)을 블록 크기 기준으로 일치 (unification)시키는 실시예를 나타낸다.
[표 2]
Figure imgf000037_0001
여기서, 상기 AF 플래그 시그널링 조건에서 이용되는 N, M 값은 4, 8, 16, 32, 64 등의 양의 정수로 이용될 수 있고 N과 M은 서로 같은 값을 가질 수 있다. 또한, 상기 N과 M 값은 다음과 같이 정의하여 사용할 수 있다.
예를 들어, 시스템 (인코더 및 /또는 디코더)에서 미리 값을 정의하여 사용할 수 있다. 그 일예로써 상기 도 15와 같은 신택스 구조를 가질 수 있다.
다른 예로, 상기 N, M 값을 비트스트림으로 전송하여 사용할 수도 있다. 이 경우, 상기 N, M값을 결정하는 신택스 요소 (syntax element)는 비디오의 SPS(Sequence Parameter Set), 슬라이스, 코딩 블록, 예측 블톡 등에 위치할 수 있다. 상기 도 15를 살펴보면, isAffineMrgFlagCoded (S1510, S1530)는 decodeAffineFlag 의 수행 여부를 결정하기 위한 조건 함수를 나타낸다. 즉, affine flag 를 파싱할지 여부를 나타낸다.
여기서, decodeAffineFlag 는 affine flag 를 파싱하기 위한 함수를 나타낸다. 예를 들어, isAffineMrgFlagCoded (SI 510, SI 530)는 width >= N & height >= M 인 경우에만 (S1510, SI 530), true 값을 리턴 (return)하여 affine flag 를 파싱할 수 있다 (S1520, S1540).
또한, 머지 모드가 아닌 경우, width >= N & height >= M 조건을 확인하고 (S1550), 상기 조건을 만족하는 경우 affine flag 를 파싱할지 여부를 결정한다 (S 1560).
decodeAffineFlag 에 따라 affine mode 를 나타내면, AF— INTER 가 수행된다ᅳ 한편, 상기 도 15의 신택스 구조는 상기 도 14에서 설명한 디코딩 프로세스와 동일하므로 상기 도 14의 실시예가 적용될 수 있다.
이와 같이, AF— MERGE 및 AF— INTER 가 수행되는 조건을 일치시킴으로써 코딩 효율을 향상시킬 수 있다. 도 16은 본 발명이 적용되는 실시예로서, 픽셀 크기를 기준으로 하는 AF 플래그 시그널링 조건에 기초하여 비디오 신호를 인코딩하는 과정을 설명하는 흐름도이다.
인코더는 현재 블록에 대해 스킵 모드, 머지 모드 및 인터 모드를 수행할 수 있다 (S1610).
그리고, 상기 인코더는 상기 현재 블록의 너비 X높이가 N 이상인지 여부를 확인할수 있다 (S 1620).
상기 확인 결과, 상기 현재 블특의 너비 X높이가 N 이상인 경우, 상기 인코더는 AF 머지 모드를 수행할 수 있다 (S1630). 그리고, 상기 인코더는 AF 인터 모드를 수행할 수 있다 (S1640). 다만, 상기 S1630 단계 및 S1640 단계의 순서는 바껄 수도 있다.
반면, 상기 S1620 단계 확인 결과, 상기 현재 블록의 너비 X높이가 N 미만인 경우, 상기 인코더는 AF 머지 모드 및 AF 인터 모드를 수행하지 않고 다음 단계로 넘어가게 된다.
위와 같은 과정을 통해, 상기 인코더는 스킵 모드, 머지 모드, 인터 모드, AF 머지 모드 및 AF 인터 모드 중 율 -왜곡 최적화 과정을 통해 최적 예측 모드를 결정 또는 선택할 수 있다 (S1650). 도 17은 본 발명이 적용되는 실시예로서, 픽셀 크기를 기준으로 하는 AF 플래그 시그널링 조건에 기초하여 비디오 신호를 디코딩하는 과정을 설명하는 흐름도이다.
상기 도 17은 상기 도 16에 대응되는 디코딩 과정을 나타낸다. 먼저, 디코더는 비트스트림으로부터 스킵 폴래그를 파싱할 수 있다 (S1710). 상기 디코더는 상기 스킵 플래그에 따라 스킵 모드인지 여부를 확인할 수 있다 (S 1720).
상기 확인 결과, 스킵 모드인 경우, 상기 디코더는 상기 현재 블록의 크기가 일정 조건을 만족하는지 여부를 확인할 수 있다. 예를 들어, 상기 현재 블록의 너비 X높이가 N 이상인지 여부를 확인할 수 있다 (S1730).
상기 확인 결과, 상기 현재 블록의 너비 X높이가 N 이상인 경우, 상기 디코더는 AF 풀래그를 파싱할 수 있다 (S1740).
상기 디코더는 상기 AF 플래그에 따라 AF 모드인지 여부를 확인할 수 있다 (S1750).
상기 확인 결과, AF 모드가 적용되는 경우, 상기 디코더는 AF 머지 모드를 최적의 예측 모드로 결정 또는 선택할 수 있다 (S1760).
반면, 상기 S1730 단계 확인 결과, 상기 현재 블록의 너비 X높이가 N 미만인 경우, 상기 디코더는 스¾ 모드 또는 머지 모드를 최적의 예측 모드로 결정 또는 선택할 수 있다 (S1731).
또한, 상기 S1750 단계 확인 결과, AF 모드가 적용되지 않는 경우, 상기 디코더는 스킵 모드 또는 머지 모드를 최적의 예측 모드로 결정 또는 선택할 수 있다 (S1731). 한편, 상기 S1720 단계 확인 결과, 스킵 모드가 적용되지 않는 경우, 상기 디코더는 머지 풀래그를 파싱할 수 있다 (S1721).
상기 디코더는 상기 머지 플래그에 따라 머지 모드인지 여부를 확인할 수 있다 (SI 722).
상기 S1722 단계 확인 결과, 머지 모드가 적용되는 경우, 상기 디코더는 S1730 단계를 수행할 수 있다.
반면, 상기 S1722 단계 확인 결과, 머지 모드가 적용되지 않는 경우, 상기 현재 블톡의 크기가 일정 조건을 만족하는지 여부를 확인할 수 있다. 예를 들어, 상기 현재 블록의 너비 X높이가 N 이상인지 여부를 확인할 수 있다 (S1723).
상기 S1723 단계 확인 결과, 상기 현재 블특의 너비 X높이가 N 이상인 경우, 상기 디코더는 AF 플래그를 파싱할 수 있다 (S1724).
반면, 상기 S1723 단계 확인 결과, 상기 현재 블톡의 너비 X높이가 N 미만인 경우, 상기 디코더는 인터 모드를 최적의 예측 모드로 결정 또는 선택할 수 있다 (S 1727).
상기 S1724 단계 이후, 상기 디코더는 상기 AF 플래그에 따라 AF 모드인지 여부를 확인할 수 있다 (S1725).
상기 S1725 단계 확인 결과, AF 모드가 적용되는 경우, 상기 디코더는 AF 인터 모드를 최적의 예측 모드로 결정 또는 선택할 수 있다 (S1726).
반면, 상기 S1725 단계 확인 결과, AF 모드가 적용되지 않는 경우, 상기 디코더는 인터 모드를 최적의 예측모드로 결정 또는 선택할 수 있다 (S1727). 이와 같은 과정을 통해 예측 모드가 결정되면, 상기 디코더는 상기 예측 모드에 따라 인터 예측을 수행할 수 있고, 이를 통해 획득된 예측값과 비트스트림으로부터 전송된 레지듀얼 값을 합하여 비디오 신호를 복원할 수 있게 된다. 도 18은 본 발명이 적용되는 실시예로서, 픽셀 크기를 기준으로 하는 AF 플래그 시그널링 조건에 기초하여 비디오 신호를 디코딩하기 위한 신택스 구조를 나타낸다.
아래 표 3은 AF 플래그 시그널링 조건 (AF flag signalling condition)을 픽셀 크기 기준으로 일치 (unification)시키는 실시예를 나타낸다.
[표 3]
Figure imgf000042_0001
여기서, 상기 AF 풀래그 시그널링 조건에서 이용되는 N 값은 16, 32, 64, 128, 256, 512 등의 양의 정수가 이용될 수 있다. 또한, 상기 N 값은 다음과 같이 정의하여 사용할 수 있다.
예를 들어, 시스템 (인코더 및 /또는 디코더)에서 미리 값을 정의하여 사용할 수 있다. 그 일예로써 상기 도 18과 같은 신택스 구조를 가질 수 있다.
다른 예로, 상기 N 값을 비트스트림으로 전송하여 사용할 수도 있다. 이 경우, 상기 N 값을 결정하는 신택스 요소 (syntax element)는 비디오의 SPS(Sequence Parameter Set), 슬라이스, 코딩 블톡, 예측 블록 등에 위치할 수 있다.
상기 도 I 8을 살펴보면, isAffmeMrgFlagCoded (S1810, S1830)는 decodeAffineFlag 의 수행 여부를 결정하기 위한 조건 함수를 나타낸다. 즉, affine flag 를 파싱할지 여부를 나타낸다.
여기서, decodeAffineFlag 는 affine flag 를 파싱하기 위한 함수를 나타낸다. 예를 들어, isAffmeMrgFlagCoded (S1810, S1830)는 width*height >= N 인 경우에만 (S1810, S1830), true 값을 리턴 (return)하여 affme flag 를 파싱할 수 있다 (S 1820, S 1840).
또한, 머지 모드가 아닌 경우, width*height >= N 조건을 확인하고 (S1850), 상기 조건을 만족하는 경우 affme flag 를 파싱할지 여부를 결정한다 (S1860).
decodeAffineFlag 에 따라 affine mode 를 나타내면, AF— rNTER 가 수행된다. 한편, 상기 도 ᅵ 8의 신택스 구조는 상기 도 17에서 설명한 디코딩 프로세스와 동일하므로 상기 도 17의 실시예가 적용될 수 있다.
이와 같이, AF ERGE 및 AFJNTER 가 수행되는 조건을 일치시킴으로써 코딩 효율을 향상시킬 수 있다. 도 19는 본 발명이 적용되는 실시예로서, 어파인 예측 (affme prediction)을 위해 제어점 움직임 백터 (control point motion vector)를 결정하는 과정을 설명하기 위한 도면이다.
본 발명이 적용되는 인코더 또는 디코더는 어파인 예측 (affme prediction)을 위해 제어점 움직임 백터 (control point motion vector)를 결정할 수 있다. 이는 다음과 같은 과정에 따른다.
일실시예로, AF 인터 모드에서 제어점 움직임 백터 예측값을 유도하는 방법을 제안한다. 제어점 움직임 백터 예측 값은 제 1 제어점 및 제 2 제어점의 2개의 움직임 백터 쌍으로 구성될 수 았고, 2개의 제어점 움직임 백터 예측값의 후보 리스트가 구성될 수 있다. 여기서, 인코더는 2개의 후보들 중 최적의 제어점 움직임 백터 예측값을 나타내는 인텍스를 시그널링할 수 있다.
먼저, 상기 인코더 또는 디코더는 2개의 제어점에 기초하여 어파인 예측 (affine prediction)을 위한 움직임 백터 후보 리스트를 결정할 수 있다. 현재 블록의 좌상측 픽셀 (또는 블록)의 움직임 백터를 vo, 우상측 픽샐 (블록)의 움직임 백터를 vl 이라 하면, 움직임 백터 쌍 (motion vector pair)은 (vO, vl)으로 표현할 수 있다. 예를 들어, 상기 도 19를 참고하면, (vO, vl)의 후보 리스트는 각각 좌상측 픽셀 (또는 블록)및 우상측 픽셀 (또는 블록)에 인접한 픽샐 (또는 블록)의 움직임 백터로 구성될 수 있다. 구체적 예로, vO의 후보 리스트는 좌상측 픽셀 (또는 블록)에 인접한 A, B, C 픽셀 (또는 블톡)들의 움직임 백터들로 구성될 수 있고, vl의 후보 리스트는 우상측 픽셀 (또는 블록)에 인접한 D, E 픽셀 (또는 블록)들의 움직임 백터들로 구성될 수 있다. 이는 다음 수학식 5와 같이 표현될 수 있다ᅳ
【수학식 5】
{( ο, ν^Ινο = {VA. VB' VC}/ = {vD vE}} 여기서, VA, VB, VC, VD, VE는 각각 A, B, C, D, E 픽셀 (또는블록)의 움직임 백터를 나타낸다. 다른 일실시예로, 인코더 또는 디코더는 3개의 제어점에 기초하여 어파인 예측 (affine prediction)을 위한 움직임 백터 후보 리스트를 결정할 수 있다. 예를 들어, 상기 도 19를 살펴보면, (vO, vl , v2)의 움직임 백터 후보 리스트를 결정하기 위해 3개의 제어점의 움직임 백터들 (vO, vl, v2) 을 고려할 수 있다. 즉, (vo, vl, v2)의 움직임 백터 후보 리스트는 좌상측 픽셀 (또는 블록), 우상측 픽셀 (또는 블톡) 및 좌하측 픽셀 (또는 블록)에 인접한 픽샐 (또는 블록)의 움직임 백터로 구성될 수 있다. 상기 3개의 제어점의 움직임 백터들 (vO, vl, v2) 은 다음 수학식 6과 같이 표현될 수 있다. 【수학식 6】
{002)| 0 = {VA' VB' VJ' V^ = {vD,vE}, v2 = {vF,vG}} 여기서, VA, VB, VC, VD, VE, VF, Vg는 각각 A, B, C, D, E, F, G픽셀 (또는 블톡)의 움직임 백터를 나타낸다. 상기 인코더 또는 디코더는 움직임 '백터들 (vO, vl) 또는 (νθ, vl, v2)에 대해 백터의 발산값 (divergence value of vector)을 계산하여, 상기 발산값아 작은 순서대로 분류한 후 상위 2개- (가장 작은 2개의 값들)의 후보를 이용할 수 있다. 여기서, 발산값은 움직임 백터들의 방향의 유사성을 나타내는 값으로, 상기 발산값이 작을수록 움직임 백터들은 서로 유사한 방향을 갖는 것을 의미할 수 있다. 다만, 본 발명은 이에 한정되지 않으며, 발산값들 중 상위 1개, 3개 또는 4개를 이용할 수도 있으며, 이는 제어점을 몇 개 이용하는지에 따라 그 실시예는 다양하게 적용될 수 있다. 상기 발산값은 아래 수학식 7에 의해 정의될 수 있다.
【수학식 7】
DV = \ (vlx - v0x) * h - { 2y - v y) * w\ + \ (vly - v0y) * h + (v2x - vQx) * w\ 여기서, h, w 는 각각 현재 블록의 높이 (height), 너비 (width)를 나타내고, O0 , (vlx) , (ν2χ) 는 각각 현재 블록의 좌상측 픽셀 (또는 블톡), 우상측 픽셀 (또는 블록), 좌하측 픽셀 (또는 블록)의 움직임 백터의 X성분을 나타내고,
(V0y) , (Vly) , (V2y) 는 각각 현재 블록의 좌상측 픽셀 (또는 블록), 우상측 픽셀 (또는 블록), 좌하측 픽셀 (또는 블톡)의 움직임 백터의 y성분을 나타낸다. 다른 실시예로, v2 , v3는 v0 , ^에 따라 어파인 움직임 모델 (affine motion model)에 의해 유도된 값으로 재정의하여 사용할 수 있다. 상기와 같이, 움직임 백터 후보로 발산값이 가장 작은 2개가 결정되면, 상기 인코더 또는 디코더는 상기 2개의 움직임 백터 후보에 대해 율 -왜곡 비용 (Rate-Distortion cost) 을 확인하고, 율 -왜곡 비용 결과에 기초하여 제어점 움직임 백터를 결정할 수 있다. 상기 결정된 제어점 움직임 백터는 움직임 백터 예측자로 유도되거나 시그널링될 수 있다. 한편, 상기 움직임 백터 후보의 개수가 2보다 작은 경우, AMVP(Advanced Motion Vector Prediction) 후보 리스트를 이용할 수 있다. 예를 들어, 인코더 또는 디코더는 AMVP 후보 리스트의 후보를 상기 움직임 백터 후보 리스트에 추가할 수 있다. 구체적 예로, 상기 움직임 백터 후보 리스트의 후보가 0개인 경우, 상기 인코더 또는 디코더는 AMVP 후보 리스트의 상위 2개의 후보를 후보 리스트에 추가할 수 있다. 상기 움직임 백터 후보 리스트의 후보가 1개인 경우, 상기 인코더 또는 디코더는 AMVP 후보 리스트의 첫번째 후보를 상기 움직임 백터 후보 리스트에 추가할 수 있다. 여기서, 상기 AMVP 후보 리스트는 앞서 도 4에서 설명한 실시예들이 적용될 수 있다. 위와 같은 과정을 통해 제어점 움직임 백터가 결정되면, 상기 결정된 제어점 움직임 백터는 움직임 백터 예측자로 유도되거나 시그널링될 수 있다. 도 20은 본 발명이 적용되는 실시예로서, 어파인 예측 모드를 이용하여 현재 블톡을 포함하는 비디오 신호를 처리하는 과정을 설명하는 흐름도이다. 본 발명은, 어파인 예측 모드를 이용하여 현재 블록을 포함하는 비디오 신호를 처리하는 방법을 제공한다.
먼저, 비디오 신호 처리 장치는 현재 블록의 적어도 2개의 제어점에 인접한 픽셀 또는 블록의 움직임 백터를 이용하여 움직임 백터 쌍 (motion vector pair)의 후보 리스트를 생성할 수 있다 (S2010). 여기서, 상기 제어점은 상기 현재 블록의 코너 픽셀을 의미하고, 상기 움직임 백터 쌍은 상기 현재 블록의 좌상측 코너 픽셀 및 우상측 코너 픽셀의 움직임 백터를 나타낸다.
일실시예로, 상기 제어점은 상기 현재 블록의 좌상측 코너 픽셀, 우상측 코너 픽셀, 좌하측 코너 픽셀 또는 우하측 코너 픽셀 중 적어도 2개를 포함하고, 상기 후보 리스트는 상기 좌상측 코너 픽셀, 상기 우상측 코너 픽셀. 및 상기 좌하측 코너 픽셀에 인접한 픽셀들 또는 블록들에 의해 구성될 수 있다.
일실시예로, 상기 후보 리스트는 상기 좌상측 코너 픽셀의 대각 인접 픽샐 (A), 상측 인접 픽셀 (B) 및 좌측 인접 픽셀 (C)의 움직임 백터들, 상기 우상측 코너 픽샐의 상측 인접 픽셀 (D) 및 대각 인접 픽셀 (E)의 움직임 백터들, 및 상기 좌하측 코너 픽셀의 좌측 인접 픽셀 (F) 및 대각 인접 픽셀 (G)의 움직임 백터들에 기초하여 생성될 수 있다.
일실시예로, 상기 방법은, 상기 후보 리스트의 움직임 백터 쌍이 2개보다 작은 경우, AMVP 후보 리스트를 상기 후보 리스트에 추가하는 단계를 더 포함할 수 있다.
일실시예로, 상기 현재 블록이 Nx4 크기인 경우, 상기 현재 블록의 제어점 움직임 백터는 상기 현재 블록 내 좌측 서브 블록 및 우측 서브 블록의 중앙 위치를 기준으로 유도된 움직임 백터로 결정되고, 상기 현재 블톡이 4xN 크기인 경우, 상기 현재 블록의 제어점 움직임 백터는 상기 현재 블록 내 상측 서브 블록 및 하측 서브 블록의 중앙 위치를 기준으로 유도된 움직임 백터로 결정되.는 것을 특징으로 한다.
일실시예로, 상기 현재 블록이 Nx4 크기인 경우, 상기 현재 블록 내 좌측 서브 블특의 제어점 움직임 백터는 제 1제어점 움직임 백터와 제 3제어점 움직임 백터의 평균값에 의해 결정되고, 우측 서브 블톡의 제어점 움직임 백터는 제 2제어점 움직임 백터와 제 4제어점 움직임 백터의 평균값에 의해 결정되며, 상기 현재 블록이 4xN 크기인 경우, 상기 현재 블록 내 상측 서브 블록의 제어점 움직임 백터는 제 1제어점 움직임 백터와 제 2제어점 움직임 백터의 평균값에 의해 결정되고, 하측 서브 블특의 제어점 움직임 백터는 제 3제어점 움직임 백터와 제 4제어점 움직임 백터의 평균값에 의해 결정되는 것을 특징으로 한다ᅳ
다른 일실시예로, 상기 방법은, 상기 어파인 예측 모드가 수행되는지 여부를 나타내는 예측 모드 또는 플래그 정보를 시그널링할 수 있다.
이 경우, 디코더는 상기 예측 모드 또는 플래그 정보를 수신하고, 상기 예측 모드 또는 상기 플래그 정보에 따라 상기 어파인 예측 모드를 수행하고, 상기 어파인 예측 모드에 따라 움직임 백터를 유도할 수 있다. 여기서, 상기 어파인 예측 모드는 상기 현재 블록의 제어점 움직임 백터를 이용하여 픽셀 또는 서브 블록 단위로 움직임 백터를 유도하는 모드를 나타내는 것을 특징으로 한다. 한편, 상기 비디오 신호 처리 장치는 상기 움직임 백터 쌍의 발산값 (divergence value)에 기초하여 기설정된 개수의 움직임 백터 쌍의 최종 후보 리스트를 결정할 수 있다 (S2020). 여기서, 상기 최종 후보 리스트는 발산값이 작은 순서대로 결정되고, 상기 발산값은 움직임 백터들의 방향의 유사성을 나타내는 값을 의미한다. 상기 비디오 신호 처리 장치는 상기 최종 후보 리스트로부터 율 -왜곡 비용에 기초하여 상기 현재 블록의 제어점 움직임 백터를 결정할 수 있다 (S2030). 상기 비디오 신호 처리 장치는 상기 제어점 움직임 백터에 기초하여 상기 현재 블록의 움직임 백터 예측자를 생성할수 있다 (S2040). 상기 기술된 것과 같이, 본 발명에서 설명한 실시예들은 프로세서, 마이크로 프로세서, 컨트를러 또는 칩 상에서 구현되어 수행될 수 있다. 예를 들어, 상기 도 1 및 도 2에서 도시한 기능 유닛들은 컴퓨터, 프로세서, 마이크로 프로세서, 컨트를러 또는 칩 상에서 구현되어 수행될 수 있다.
또한, 본 발명이 적용되는 디코더 및 인코더는 멀티미디어 방송 송수신 장치, 모바일 통신 단말, 홈 시네마 비디오 장치, 디지털 시네마 비디오 장치, 감시용 카메라, 비디오 대화 장치, 비디오 통신과 같은 실시간 통신 장치, 모바일 스트리밍 장치, 저장 매체, 캠코더, 주문형 비디오 (VoD) 서비스 제공 장치, 인터넷 스트리밍 서비스 제공 장치, 3차원 (3D) 비디오 장치, 화상 전화 비디오 장치, 및 의료용 비디오 장치 등에 포함될 수 있으며, 비디오 신호 및 데이터 신호를 처리하기 위해 사용될 수 있다.
또한, 본 발명이 적용되는 처리 방법은 컴퓨터로 실행되는 프로그램의 형태로 생산될 수 있으며, 컴퓨터가 판독할 수 있는 기록 매체에 저장될 수 있다. 본 발명에 따른 데이터 구조를 가지는 멀티미디어 데이터도 또한 컴퓨터가 판독할 수 있는 기록 매체에 저장될. 수 있다. 상기 컴퓨터가 판독할 수 있는 기톡 매체는 컴퓨터로 읽을 수 있는 데이터가 저장되는 모든 종류의 저장 장치를 포함한다. 상기 컴퓨터가 판독할 수 있는 기록 매체는, 예를 들어, 블루레이 디스크 (BD), 범용 직렬 버스 (USB), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크 및 광학적 데이터 저장 장치를 포함할 수 있다. 또한, 상기 컴퓨터가 판독할 수 있는 기록 매체는 반송파 (예를 들어, 인터넷을 통한 전송)의 형태로 구현된 미디어를 포함한다. 또한, 인코딩 방법으로 생성된 비트 스트림이 컴퓨터가 판독할 수 있는 기록 매체에 저장되거나 유무선 통신 네트워크를 통해 전송될 수 있다.
【산업상 이용가능성】
이상, 전술한 본 발명의 바람직한 실시예는, 예시의 목적올 위해 개시된 것으로, 당업자라면 이하 첨부된 특허청구범위에 개시된 본 발명의 기술적 사상과 그 기술적 범위 내에서, 다양한 다른 실시예들을 개량, 변경, 대체 또는 부가 등이 가능할 것이다.

Claims

【청구의 범위】
【청구항 1 ]
어파인 모드를 이용하여 현재 블톡을 포함하는 비디오 신호를 디코딩하는 방법에 있어서,
상기 비디오 신호로부터 스¾ 플래그 또는 머지 플래그를 파싱하는 단계; 상기 스킵 플래그 또는 머지 플래그에 따라 스¾ 모드 또는 머지 모드가 적용되는 경우, 상기 현재 블록의 샘플 개수 또는 크기가 기설정된 조건을 만족하는지 여부를 확인하는 단계;
상기 조건을 만족하는 경우, 어파인 플래그를 파싱하는 단계, 여기서 상기 어파인 플래그는 어파인 예측 모드가 적용되는지 여부를 나타내고, 상기 어파인 예측 모드는 제어점 움직임 백터를 이용하여 픽셀 또는 서브 블록 단위로 움직임 백터를 유도하는 모드를 나타냄; 및
상기 어파인 플래그에 따라 어파인 예측 모드가 적용되는 경우, 어파인 머지 모드를 최적의 예측 모드로 결정하는 단계
를 포함하는 것을 특징으로 하는 방법.
【청구항 2】
제 1항에 있어서,
상기 스킵 모드 또는 상기 머지 모드가 적용되는 경우, 상기 기설정된 조건은 상기 현재 블록의 샘플 개수가 64개 이상인지를 나타내고,
상기 스킵 모드 및 상기 머지 모드가 적용되지 않는 경우, 상기 기설정된 조건은 상기 현재 블록의 높이 및 너비가 모두 8보다 크고 그 크기가 2Nx2N인지를 나타내는 것을 특징으로 하는 방법.
【청구항 3]
제 1항에 있어서,
상기 기설정된 조건은 상기 현재 블록의 너비가 N 이상이고 높이가 M 이상인지를 나타내고,
상기 스킵 모드 또는 상기 머지 모드가 적용되는 경우와 인터 모드가 적용되는 경우, 상기 기설정된 조건이 동일한 것을 특징으로 하는 방법.
【청구항 4】
제 1항에 있어서,
상기 기설정된 조건은 상기 현재 블록의 너비 X높이가 N 이상인지를 나타내고,
상기 스¾ 모드 또는 상기 머지 모드가 적용되는 경우와 인터 모드가 적용되는 경우, 상기 기설정된 조건이 동일한 것을 특징으로 하는 방법.
【청구항 5】
제 1항에 있어서,
상기 스¾ 모드가 적용되거나 상기 머지 모드가 적용되는 경우에는, 상기 어파인 머지 모드가 최적의 예측모드로 결정되고,
상기 스¾ 모드 및 상기 머지 모드가 모두 적용되지 않는 경우에는, 상기 어파인 인터 모드가 최적의 예측 모드로 결정되는 것을 특징으로 하는 방법.
【청구항 6]
제 2항 내지 제 4항 중 어느 한 항에 있어서,
상기 N 및 M 값은 인코더 및 /또는 디코더에서 기설정된 값이거나, 상기 비디오 신호를 통해 전송되는 값인 것을 특징으로 하는 방법.
【청구항 7】
어파인 모드를 이용하여 현재 블록을 포함하는 비디오 신호를 디코딩하는 장치에 있어서,
상기 비디오 신호로부터 스¾ 플래그 또는 머지 플래그를 파싱하는 파싱부;
상기 스킵 플래그 또는 머지 플래그에 따라 스¾ 모드 또는 머지 모드가 적용되는 경우, 상기 현재 블록의 샘플 개수 또는 크기가 기설정된 조건을 만족하는지 여부를 확인하는 인터 예측부;
상기 조건을 만족하는 경우, 상기 비디오 신호로부터 어파인 플래그를 파싱하는 상기 파싱부, 여기서 상기 어파인 플래그는 어파인 예측 모드가 적용되는지 여부를 나타내고, 상기 어파인 예측 모드는 제어점 움직임 백터를 이용하여 픽셀 또는 서브 블록 단위로 움직임 백터를 유도하는 모드를 나타냄; 상기 어파인 풀래그에 따라 어파인 예측 모드가 적용되는 경우, 어파인 머지 모드를 최적의 예측 모드로 결정하는 상기 인터 예측부
를 포함하는 것을 특징으로 하는 장치.
【청구항 8】
제 7항에 있어서,
상기 스킵 모드 또는 상기 머지 모드가 적용되는 경우, 상기 기설정된 조건은 상기 현재 블록의 샘플 개수가 64개 이상인지를 나타내고,
상기 스킵 모드 및 상기 머지 모드가 적용되지 않는 경우, 상기 기설정된 조건은 상기 현재 블톡의 높이 및 너비가 모두 8보다 크고 그 크기가 2Nx2N인지를 나타내는 것을 특징으로 하는 장치.
【청구항 9]
제 7항에 있어서,
상기 기설정된 조건은 상기 현재 블록의 너비가 N 이상이고 높이가 M 이상인지를 나타내고,
상기 스킴 모드 또는 상기 머지 모드가 적용되는 경우와 인터 모드가 적용되는 경우, 상기 기설정된 조건이 동일한 것을 특징으로 하는 장치.
【청구항 10】
제 7항에 있어서,
상기 기설정된 조건은 상기 현재 블톡의 너비 X높이가 N 이상인지를 나타내고,
상기 스킴 모드 또는 상기 머지 모드가 적용되는 경우와 인터 모드가 적용되는 경우, 상기 기설정된 조건이 동일한 것을 특징으로 하는 장치.
【청구항 111
제 7항에 있어서,
상기 스킵 모드가 적용되거나 상기 머지 모드가 적용되는 경우에는, 상기 어파인 머지 모드가 최적의 예측 모드로 결정되고,
상기 스¾ 모드 및 상기 머지 모드가 모두 적용되지 않는 경우에는, 상기 어파인 인터 모드가 최적의 예측모드로 결정되는 것을 특징으로 하는 장치. 【청구항 12】
제 8항 내지 제 10항 중 어느 한 항에 있어서,
상기 N 및 M 값은 상기 장치에서 기설정된 값이거나, 상기 비디오 신호를 통해 전송되는 값인 것을특징으로 하는 장치.
PCT/KR2018/000110 2017-01-03 2018-01-03 어파인 예측을 이용하여 비디오 신호를 처리하는 방법 및 장치 WO2018128380A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/475,306 US20190335170A1 (en) 2017-01-03 2018-01-03 Method and apparatus for processing video signal by means of affine prediction

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201762441593P 2017-01-03 2017-01-03
US62/441593 2017-01-03

Publications (1)

Publication Number Publication Date
WO2018128380A1 true WO2018128380A1 (ko) 2018-07-12

Family

ID=62789544

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/000110 WO2018128380A1 (ko) 2017-01-03 2018-01-03 어파인 예측을 이용하여 비디오 신호를 처리하는 방법 및 장치

Country Status (2)

Country Link
US (1) US20190335170A1 (ko)
WO (1) WO2018128380A1 (ko)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110891174A (zh) * 2018-09-08 2020-03-17 北京字节跳动网络技术有限公司 不同视频块尺寸的仿射模式计算
WO2020060344A1 (ko) * 2018-09-21 2020-03-26 엘지전자 주식회사 영상 신호를 처리하기 위한 방법 및 장치
WO2020060374A1 (ko) * 2018-09-21 2020-03-26 엘지전자 주식회사 어파인 예측을 이용하여 비디오 신호를 처리하기 위한 방법 및 장치
WO2020067835A1 (ko) * 2018-09-28 2020-04-02 엘지전자 주식회사 어파인 예측을 이용하여 비디오 신호를 처리하기 위한 방법 및 장치
CN110958457A (zh) * 2018-09-26 2020-04-03 北京字节跳动网络技术有限公司 模式依赖的仿射继承
WO2020069651A1 (en) * 2018-10-05 2020-04-09 Huawei Technologies Co., Ltd. A candidate mv construction method for affine merge mode
WO2020072397A1 (en) * 2018-10-04 2020-04-09 Interdigital Vc Holdings, Inc. Block size based motion vector coding in affine mode
WO2020098807A1 (en) * 2018-11-17 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Controlling merge with motion vector differencing mode
WO2020124040A1 (en) * 2018-12-13 2020-06-18 Beijing Dajia Internet Information Technology Co., Ltd. Method for deriving constructed affine merge candidates
CN111435993A (zh) * 2019-01-14 2020-07-21 华为技术有限公司 视频编码器、视频解码器及相应方法
WO2020186184A1 (en) 2019-03-13 2020-09-17 Tencent America LLC Method and apparatus for affine inter prediction with small subblocks
WO2020242350A3 (en) * 2019-09-30 2021-04-08 Huawei Technologies Co., Ltd. Usage of dct based interpolation filter
CN112997487A (zh) * 2018-11-15 2021-06-18 北京字节跳动网络技术有限公司 仿射模式与其他帧间编解码工具之间的协调
CN113170189A (zh) * 2018-12-07 2021-07-23 三星电子株式会社 视频解码方法和装置以及视频编码方法和装置
CN113196745A (zh) * 2019-01-13 2021-07-30 腾讯美国有限责任公司 视频编解码的方法和装置
CN113302927A (zh) * 2019-01-18 2021-08-24 韦勒斯标准与技术协会公司 使用运动补偿的视频信号处理方法和设备
US11310508B2 (en) 2018-12-21 2022-04-19 Beijing Bytedance Network Technology Co., Ltd. Motion vector precision in merge with motion vector difference mode
CN114830665A (zh) * 2019-09-30 2022-07-29 华为技术有限公司 仿射运动模型限制

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106331722B (zh) * 2015-07-03 2019-04-26 华为技术有限公司 图像预测方法和相关设备
WO2019234598A1 (en) 2018-06-05 2019-12-12 Beijing Bytedance Network Technology Co., Ltd. Interaction between ibc and stmvp
CN112567749B (zh) * 2018-06-18 2024-03-26 Lg电子株式会社 使用仿射运动预测来处理视频信号的方法和装置
WO2019244117A1 (en) 2018-06-21 2019-12-26 Beijing Bytedance Network Technology Co., Ltd. Unified constrains for the merge affine mode and the non-merge affine mode
GB2589223B (en) 2018-06-21 2023-01-25 Beijing Bytedance Network Tech Co Ltd Component-dependent sub-block dividing
US11140398B2 (en) * 2018-08-20 2021-10-05 Mediatek Inc. Methods and apparatus for generating affine candidates
CN112004098B (zh) * 2018-08-28 2021-06-29 华为技术有限公司 候选运动信息列表的构建方法、帧间预测方法及装置
CN116647696A (zh) * 2018-09-06 2023-08-25 Lg电子株式会社 图像解码方法、图像编码方法、存储介质和发送方法
US11140408B2 (en) * 2018-09-17 2021-10-05 Qualcomm Incorporated Affine motion prediction
WO2020058951A1 (en) * 2018-09-23 2020-03-26 Beijing Bytedance Network Technology Co., Ltd. Utilization of non-sub block spatial-temporal motion vector prediction in inter mode
CN110944196B (zh) 2018-09-24 2023-05-30 北京字节跳动网络技术有限公司 简化的基于历史的运动矢量预测
US10896494B1 (en) 2018-09-27 2021-01-19 Snap Inc. Dirty lens image correction
KR20210069715A (ko) * 2018-10-10 2021-06-11 인터디지털 브이씨 홀딩스 인코포레이티드 비디오 인코딩 및 디코딩의 아핀 모드 시그널링
JP7132436B2 (ja) * 2018-10-27 2022-09-06 華為技術有限公司 ビデオコーディングのための、サブブロックマージ候補のための個別マージリストと、イントラ-インター技術との調和
US11212521B2 (en) * 2018-11-07 2021-12-28 Avago Technologies International Sales Pte. Limited Control of memory bandwidth consumption of affine mode in versatile video coding
CN112970262B (zh) 2018-11-10 2024-02-20 北京字节跳动网络技术有限公司 三角预测模式中的取整
JP2022532702A (ja) 2019-05-17 2022-07-19 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ ビデオコーディングシステムおよびビデオコーディング方法
KR20230018532A (ko) * 2019-10-09 2023-02-07 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 광 흐름에 의한 예측 개선, 양방향 광 흐름 및 디코더 측 움직임 벡터 개선을 위한 방법들 및 장치들
KR20220123707A (ko) * 2020-01-07 2022-09-08 후아웨이 테크놀러지 컴퍼니 리미티드 강화된 보간 필터에 대한 움직임 벡터 범위 도출

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09172644A (ja) * 1995-10-18 1997-06-30 Sharp Corp アフィン変換による動き補償フレーム間予測方式を用いた動画像符号化・復号化装置
KR20090083290A (ko) * 2008-01-29 2009-08-03 한국전자통신연구원 어파인 변환 기반의 움직임 보상을 이용한 비디오 부호화 및 복호화 방법 및 장치
KR20140100929A (ko) * 2010-07-09 2014-08-18 삼성전자주식회사 블록 병합을 이용한 비디오 부호화 방법 및 그 장치, 블록 병합을 이용한 비디오 복호화 방법 및 그 장치
KR20150140352A (ko) * 2013-04-08 2015-12-15 지이 비디오 컴프레션, 엘엘씨 성분-간 예측
KR20160072102A (ko) * 2013-10-18 2016-06-22 엘지전자 주식회사 멀티-뷰 비디오 코딩에 있어서, 뷰 합성 예측 방법 및 이를 이용한 머지 후보 리스트 구성 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09172644A (ja) * 1995-10-18 1997-06-30 Sharp Corp アフィン変換による動き補償フレーム間予測方式を用いた動画像符号化・復号化装置
KR20090083290A (ko) * 2008-01-29 2009-08-03 한국전자통신연구원 어파인 변환 기반의 움직임 보상을 이용한 비디오 부호화 및 복호화 방법 및 장치
KR20140100929A (ko) * 2010-07-09 2014-08-18 삼성전자주식회사 블록 병합을 이용한 비디오 부호화 방법 및 그 장치, 블록 병합을 이용한 비디오 복호화 방법 및 그 장치
KR20150140352A (ko) * 2013-04-08 2015-12-15 지이 비디오 컴프레션, 엘엘씨 성분-간 예측
KR20160072102A (ko) * 2013-10-18 2016-06-22 엘지전자 주식회사 멀티-뷰 비디오 코딩에 있어서, 뷰 합성 예측 방법 및 이를 이용한 머지 후보 리스트 구성 방법

Cited By (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11729377B2 (en) 2018-09-08 2023-08-15 Beijing Bytedance Network Technology Co., Ltd Affine mode in video coding and decoding
CN110891174A (zh) * 2018-09-08 2020-03-17 北京字节跳动网络技术有限公司 不同视频块尺寸的仿射模式计算
US11431965B2 (en) 2018-09-08 2022-08-30 Beijing Bytedance Network Technology Co., Ltd. Affine mode in video coding and decoding
CN110891174B (zh) * 2018-09-08 2023-03-10 北京字节跳动网络技术有限公司 不同视频块尺寸的仿射模式计算
WO2020060344A1 (ko) * 2018-09-21 2020-03-26 엘지전자 주식회사 영상 신호를 처리하기 위한 방법 및 장치
WO2020060374A1 (ko) * 2018-09-21 2020-03-26 엘지전자 주식회사 어파인 예측을 이용하여 비디오 신호를 처리하기 위한 방법 및 장치
US11595639B2 (en) 2018-09-21 2023-02-28 Lg Electronics Inc. Method and apparatus for processing video signals using affine prediction
CN110958457A (zh) * 2018-09-26 2020-04-03 北京字节跳动网络技术有限公司 模式依赖的仿射继承
WO2020067835A1 (ko) * 2018-09-28 2020-04-02 엘지전자 주식회사 어파인 예측을 이용하여 비디오 신호를 처리하기 위한 방법 및 장치
WO2020072397A1 (en) * 2018-10-04 2020-04-09 Interdigital Vc Holdings, Inc. Block size based motion vector coding in affine mode
CN112806013A (zh) * 2018-10-04 2021-05-14 交互数字Vc控股公司 仿射模式下基于块大小的运动矢量编码
WO2020069651A1 (en) * 2018-10-05 2020-04-09 Huawei Technologies Co., Ltd. A candidate mv construction method for affine merge mode
CN113170192B (zh) * 2018-11-15 2023-12-01 北京字节跳动网络技术有限公司 仿射的merge与mvd
US11677973B2 (en) * 2018-11-15 2023-06-13 Beijing Bytedance Network Technology Co., Ltd Merge with MVD for affine
US20210274208A1 (en) * 2018-11-15 2021-09-02 Beijing Bytedance Network Technology Co., Ltd. Merge with mvd for affine
CN112997487A (zh) * 2018-11-15 2021-06-18 北京字节跳动网络技术有限公司 仿射模式与其他帧间编解码工具之间的协调
CN113170192A (zh) * 2018-11-15 2021-07-23 北京字节跳动网络技术有限公司 仿射的merge与mvd
US11128884B2 (en) 2018-11-17 2021-09-21 Beijing Bytedance Network Technology Co., Ltd. Construction of merge with motion vector difference candidates
US11706443B2 (en) 2018-11-17 2023-07-18 Beijing Bytedance Network Technology Co., Ltd Construction of affine candidates in video processing
WO2020098807A1 (en) * 2018-11-17 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Controlling merge with motion vector differencing mode
US11831901B2 (en) 2018-11-17 2023-11-28 Beijing Bytedance Network Technology Co., Ltd Generalized bi directional prediction mode in video processing
US20210152845A1 (en) 2018-11-17 2021-05-20 Beijing Bytedance Network Technology Co., Ltd. Construction of merge with motion vector difference candidates
CN113170189A (zh) * 2018-12-07 2021-07-23 三星电子株式会社 视频解码方法和装置以及视频编码方法和装置
US11729408B2 (en) 2018-12-13 2023-08-15 Beijing Dajia Internet Information Technology Co., Ltd. Method for deriving constructed affine merge candidates
WO2020124040A1 (en) * 2018-12-13 2020-06-18 Beijing Dajia Internet Information Technology Co., Ltd. Method for deriving constructed affine merge candidates
US11310508B2 (en) 2018-12-21 2022-04-19 Beijing Bytedance Network Technology Co., Ltd. Motion vector precision in merge with motion vector difference mode
CN113196745A (zh) * 2019-01-13 2021-07-30 腾讯美国有限责任公司 视频编解码的方法和装置
CN113196745B (zh) * 2019-01-13 2023-11-03 腾讯美国有限责任公司 视频编解码的方法和装置
CN111435993A (zh) * 2019-01-14 2020-07-21 华为技术有限公司 视频编码器、视频解码器及相应方法
US11902506B2 (en) 2019-01-14 2024-02-13 Huawei Technologies Co., Ltd. Video encoder, video decoder, and corresponding methods
CN111435993B (zh) * 2019-01-14 2022-08-26 华为技术有限公司 视频编码器、视频解码器及相应方法
US11849106B2 (en) 2019-01-18 2023-12-19 Wilus Institute Of Standards And Technology Inc. Video signal processing method and device using motion compensation
CN113302927A (zh) * 2019-01-18 2021-08-24 韦勒斯标准与技术协会公司 使用运动补偿的视频信号处理方法和设备
CN113302927B (zh) * 2019-01-18 2024-04-09 韦勒斯标准与技术协会公司 使用运动补偿的视频信号处理方法和设备
US11394993B2 (en) 2019-03-13 2022-07-19 Tencent America LLC Method and apparatus for affine inter prediction with small subblocks
WO2020186184A1 (en) 2019-03-13 2020-09-17 Tencent America LLC Method and apparatus for affine inter prediction with small subblocks
EP3939292A4 (en) * 2019-03-13 2022-05-18 Tencent America LLC METHOD AND DEVICE FOR AFFININE INTERPREDICTION WITH SMALL SUB-BLOCKS
CN113498607A (zh) * 2019-03-13 2021-10-12 腾讯美国有限责任公司 用于小子块仿射帧间预测的方法和装置
CN113498607B (zh) * 2019-03-13 2024-04-05 腾讯美国有限责任公司 视频编码方法、解码方法、装置和可读介质
CN114830665A (zh) * 2019-09-30 2022-07-29 华为技术有限公司 仿射运动模型限制
CN114830665B (zh) * 2019-09-30 2023-08-04 华为技术有限公司 仿射运动模型限制
WO2020242350A3 (en) * 2019-09-30 2021-04-08 Huawei Technologies Co., Ltd. Usage of dct based interpolation filter

Also Published As

Publication number Publication date
US20190335170A1 (en) 2019-10-31

Similar Documents

Publication Publication Date Title
WO2018128380A1 (ko) 어파인 예측을 이용하여 비디오 신호를 처리하는 방법 및 장치
US11190799B2 (en) Intra-prediction mode-based image processing method and apparatus therefor
WO2018128379A1 (ko) 어파인 예측을 이용하여 비디오 신호를 처리하는 방법 및 장치
EP3836545A1 (en) Method and apparatus for processing video signals using inter prediction
US20230345033A1 (en) Inter prediction mode-based image processing methodand apparatus therefor
KR20190090866A (ko) 이차 변환을 이용한 비디오 신호의 인코딩/디코딩 방법 및 장치
US20200154124A1 (en) Image decoding method based on inter prediction and image decoding apparatus therefor
US20200221077A1 (en) Inter prediction mode-based image processing method and apparatus therefor
US11758170B2 (en) Method and device for processing video signal by using affine motion prediction
US20200045305A1 (en) Picture processing method and apparatus for same
US20230188728A1 (en) Method for processing image on basis of inter-prediction mode and apparatus therefor
EP3764643A1 (en) Image processing method based on inter prediction mode, and device therefor
KR20180006411A (ko) 디블록킹 필터링을 수행하는 방법 및 장치
US20200244989A1 (en) Method and device for inter-prediction mode-based image processing
US20210105481A1 (en) Method and apparatus for processing video signal by using affine prediction
US20190238863A1 (en) Chroma component coding unit division method and device
CN113519161A (zh) 处理视频信号用于帧间预测的方法和设备
US11595639B2 (en) Method and apparatus for processing video signals using affine prediction
US10687073B2 (en) Method for encoding/decoding image and device therefor
CN113273204A (zh) 帧间预测方法和使用该方法的图片解码装置
US20200154103A1 (en) Image processing method on basis of intra prediction mode and apparatus therefor
CN112567749B (zh) 使用仿射运动预测来处理视频信号的方法和装置
KR20230003061A (ko) 모션 정밀 신택스을 위한 엔트로피 코딩
US20180249176A1 (en) Method and apparatus for encoding and decoding video signal
US11483567B2 (en) Method and apparatus for processing video signals on basis of inter prediction

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

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

Country of ref document: EP

Kind code of ref document: A1