[go: up one dir, main page]

WO2018128228A1 - 영상 코딩 시스템에서 영상 디코딩 방법 및 장치 - Google Patents

영상 코딩 시스템에서 영상 디코딩 방법 및 장치 Download PDF

Info

Publication number
WO2018128228A1
WO2018128228A1 PCT/KR2017/005671 KR2017005671W WO2018128228A1 WO 2018128228 A1 WO2018128228 A1 WO 2018128228A1 KR 2017005671 W KR2017005671 W KR 2017005671W WO 2018128228 A1 WO2018128228 A1 WO 2018128228A1
Authority
WO
WIPO (PCT)
Prior art keywords
index
reference picture
mvpl0
mvpl1
motion information
Prior art date
Application number
PCT/KR2017/005671
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 엘지전자 주식회사
Publication of WO2018128228A1 publication Critical patent/WO2018128228A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • the present invention relates to an image coding technique, and more particularly, to an image decoding method and apparatus in an image coding system.
  • the demand for high resolution and high quality images such as high definition (HD) images and ultra high definition (UHD) images is increasing in various fields.
  • the higher the resolution and the higher quality of the image data the more information or bit rate is transmitted than the existing image data. Therefore, the image data can be transmitted by using a medium such as a conventional wired / wireless broadband line or by using a conventional storage medium. In the case of storage, the transmission cost and the storage cost are increased.
  • a high efficiency image compression technique is required to effectively transmit, store, and reproduce high resolution, high quality image information.
  • An object of the present invention is to provide a method and apparatus for improving image coding efficiency.
  • Another object of the present invention is to provide an inter prediction method and apparatus for receiving a syntax element representing L0 motion information and L1 motion information for a current block.
  • Another technical problem of the present invention is to provide an inter prediction method and apparatus for receiving an index indicating a first reference picture and a second reference picture of a current block.
  • Another technical problem of the present invention is to provide an inter prediction method and apparatus for receiving an index indicating an MVPL0 and an MVPL1 of a current block.
  • Another object of the present invention is to provide an inter prediction method and apparatus for receiving an index indicating a first reference picture, a second reference picture, MVPL0, and MVPL1 of a current block.
  • an image decoding method performed by a decoding apparatus.
  • the method includes deriving a reference picture list 0 (List 0, L0) and a reference picture list 1 (List 1, L1), and a syntax element representing L0 motion information and L1 motion information for the current block through a bitstream. an element), deriving the L0 motion information and the L1 motion information for the current block based on the syntax element, and predicting the current block based on the L0 motion information and the L1 motion information.
  • the L0 motion information comprises at least one of an index of a first reference picture of the current block included in the L0 and a motion vector predictor L0 (MVL0).
  • the L1 motion information includes an index of a second reference picture of the current block included in the L1 and a motion vector predictor L1 (MVL1). It characterized in that it comprises at least one of.
  • a decoding apparatus for performing image decoding.
  • the decoding apparatus may include an entropy decoding unit configured to receive a syntax element indicating L0 motion information and L1 motion information for a current block through a bitstream, a reference picture list 0 (List 0, L0), and a reference picture list 1.
  • Derive (List 1, L1), derive the L0 motion information and the L1 motion information for the current block based on the syntax element, and determine the current block based on the L0 motion information and the L1 motion information.
  • a prediction unit for generating a prediction sample wherein the L0 motion information includes at least one of a first reference picture of a current block included in the L0 and a motion vector predictor L0 (MVL0);
  • the L1 motion information includes at least one of a second reference picture and a motion vector predictor L1 (MVL1) of the current block included in the L1. Characterized by including one.
  • a video encoding method performed by an encoding apparatus includes deriving a reference picture list 0 (List 0, L0) and a reference picture list 1 (List 1, L1), deriving L0 motion information and L1 motion information for a current block, the L0 motion information, and Generating a prediction sample of the current block based on the L1 motion information, generating a syntax element representing the L0 motion information and the L1 motion information for the current block, and the L0 motion for the current block Encoding and outputting the syntax element representing the information and the L1 motion information, wherein the L0 motion information includes a first reference picture and a motion vector predictor L0 of the current block included in the L0. , MVPL0), and the L1 motion information includes a second reference picture and a motion vector of the current block included in the L1. And a predictor L1 (Motion Vector Predictor L1, MVPL1).
  • a video encoding apparatus derives reference picture list 0 (List 0, L0) and reference picture list 1 (List 1, L1), derives L0 motion information and L1 motion information for the current block, and extracts the L0 motion information and the A prediction unit generating a prediction sample of the current block based on L1 motion information, generating a syntax element representing the L0 motion information and the L1 motion information for the current block, and the L0 motion information for the current block And an entropy encoding unit for encoding and outputting the syntax element representing the L1 motion information, wherein the L0 motion information includes a first reference picture and a motion vector predictor L0 of the current block included in the L0. , MVPL0), and the L1 motion information includes a second reference picture of the current block included in the L1; Jikim vector predictors characterized in that it includes at least one of L1 (Motion Vector Predictor L1, MVPL1).
  • the L0 motion information and the L1 motion information of the current block can be derived. Coding efficiency can be improved.
  • the present invention by receiving a syntax element representing the L0 motion information and the L1 motion information for the current block, it is possible to reduce the data amount of information for inter prediction of the current block, thereby improving overall coding efficiency.
  • information indicating whether the syntax element indicating the L0 motion information and the L1 motion information for the current block is used can be selectively applied to a part of the image, thereby improving the overall coding efficiency.
  • FIG. 1 is a diagram schematically illustrating a configuration of a video encoding apparatus to which the present invention may be applied.
  • FIG. 2 is a diagram schematically illustrating a configuration of a video decoding apparatus to which the present invention may be applied.
  • FIG. 3 exemplarily shows reference pictures included in a decoded picture buffer (DPB) and a reference picture list for inter prediction.
  • DPB decoded picture buffer
  • FIG. 4 illustrates a motion picture L0 and a motion vector L1 and a first reference picture and a second reference picture for inter prediction of the current block.
  • FIG. 5 schematically illustrates a video encoding method by an encoding device according to the present invention.
  • FIG. 6 schematically illustrates a video decoding method by a decoding apparatus according to the present invention.
  • each configuration in the drawings described in the present invention are shown independently for the convenience of description of the different characteristic functions, it does not mean that each configuration is implemented by separate hardware or separate software.
  • two or more of each configuration may be combined to form one configuration, or one configuration may be divided into a plurality of configurations.
  • Embodiments in which each configuration is integrated and / or separated are also included in the scope of the present invention without departing from the spirit of the present invention.
  • a picture generally refers to a unit representing one image of a specific time zone
  • a slice is a unit constituting a part of a picture in coding.
  • One picture may be composed of a plurality of slices, and if necessary, the picture and the slice may be mixed with each other.
  • a pixel or a pel may refer to a minimum unit constituting one picture (or image). Also, 'sample' may be used as a term corresponding to a pixel.
  • a sample may generally represent a pixel or a value of a pixel, and may only represent pixel / pixel values of the luma component, or only pixel / pixel values of the chroma component.
  • a unit represents the basic unit of image processing.
  • the unit may include at least one of a specific region of the picture and information related to the region.
  • the unit may be used interchangeably with terms such as block or area in some cases.
  • an M ⁇ N block may represent a set of samples or transform coefficients composed of M columns and N rows.
  • FIG. 1 is a diagram schematically illustrating a configuration of a video encoding apparatus to which the present invention may be applied.
  • the video encoding apparatus 100 may include a picture divider 105, a predictor 110, a subtractor 115, a transformer 120, a quantizer 125, a reordering unit 130, An entropy encoding unit 135, an inverse quantization unit 140, an inverse transform unit 145, an adder 150, a filter unit 155, and a memory 160 are included.
  • the picture divider 105 may divide the input picture into at least one processing unit.
  • the processing unit may be a coding unit (CU), a prediction unit (PU), or a transform unit (TU).
  • a coding unit is a unit block of coding and may be split from a largest coding unit (LCU) into coding units of a deeper depth along a quad-tree structure.
  • LCU largest coding unit
  • the maximum coding unit may be used as the final coding unit immediately based on coding efficiency according to the image characteristic, or if necessary, the coding unit is recursively divided into coding units of lower depths and optimized.
  • a coding unit of size may be used as the final coding unit.
  • the coding unit may not be split into smaller coding units than the minimum coding unit.
  • the final coding unit refers to a coding unit that is the basis of partitioning or partitioning into a prediction unit or a transform unit.
  • the prediction unit is a block partitioning from the coding unit block and may be a unit block of sample prediction. In this case, the prediction unit may be divided into sub blocks.
  • the transform unit may be divided along the quad tree structure from the coding unit block, and may be a unit block for deriving a transform coefficient and / or a unit block for deriving a residual signal from the transform coefficient.
  • a coding unit may be called a coding block (CB)
  • a prediction unit is a prediction block (PB)
  • a transform unit may be called a transform block (TB).
  • a prediction block or prediction unit may mean a specific area in the form of a block within a picture, and may include an array of prediction samples.
  • a transform block or a transform unit may mean a specific area in a block form within a picture, and may include an array of transform coefficients or residual samples.
  • the prediction unit 110 may perform a prediction on a block to be processed (hereinafter, referred to as a current block) and generate a prediction block including prediction samples of the current block.
  • the unit of prediction performed by the prediction unit 110 may be a coding block, a transform block, or a prediction block.
  • the prediction unit 110 may determine whether intra prediction or inter prediction is applied to the current block. As an example, the prediction unit 110 may determine whether intra prediction or inter prediction is applied on a CU basis.
  • the prediction unit 110 may derive a prediction sample for the current block based on reference samples outside the current block in the picture to which the current block belongs (hereinafter, referred to as the current picture). In this case, the prediction unit 110 may (i) derive the prediction sample based on the average or interpolation of neighboring reference samples of the current block, and (ii) the neighbor reference of the current block.
  • the prediction sample may be derived based on a reference sample present in a specific (prediction) direction with respect to the prediction sample among the samples. In case of (i), it may be called non-directional mode or non-angle mode, and in case of (ii), it may be called directional mode or angular mode.
  • the prediction mode may have, for example, 33 directional prediction modes and at least two non-directional modes.
  • the non-directional mode may include a DC prediction mode and a planner mode (Planar mode).
  • the prediction unit 110 may determine the prediction mode applied to the current block by using the prediction mode applied to the neighboring block.
  • the prediction unit 110 may derive the prediction sample for the current block based on the sample specified by the motion vector on the reference picture.
  • the prediction unit 110 may apply one of a skip mode, a merge mode, and a motion vector prediction (MVP) mode to derive a prediction sample for the current block.
  • the prediction unit 110 may use the motion information of the neighboring block as the motion information of the current block.
  • the skip mode unlike the merge mode, the difference (residual) between the prediction sample and the original sample is not transmitted.
  • the MVP mode the motion vector of the current block may be derived using the motion vector of the neighboring block as a motion vector predictor.
  • the neighboring block may include a spatial neighboring block existing in the current picture and a temporal neighboring block present in the reference picture.
  • a reference picture including the temporal neighboring block may be called a collocated picture (colPic).
  • the motion information may include a motion vector and a reference picture index.
  • Information such as prediction mode information and motion information may be encoded (entropy) and output in the form of a bitstream.
  • the highest picture on the reference picture list may be used as the reference picture.
  • Reference pictures included in a reference picture list may be sorted based on a difference in a picture order count (POC) between a current picture and a corresponding reference picture.
  • POC picture order count
  • the subtraction unit 115 generates a residual sample which is a difference between the original sample and the prediction sample.
  • residual samples may not be generated as described above.
  • the transform unit 120 generates a transform coefficient by transforming the residual sample in units of transform blocks.
  • the transform unit 120 may perform the transformation according to the size of the transform block and the prediction mode applied to the coding block or the prediction block that spatially overlaps the transform block. For example, if intra prediction is applied to the coding block or the prediction block that overlaps the transform block, and the transform block is a 4 ⁇ 4 residual array, the residual sample uses a discrete sine transform (DST). In other cases, the residual sample may be transformed by using a discrete cosine transform (DCT).
  • DST discrete sine transform
  • DCT discrete cosine transform
  • the quantization unit 125 may quantize the transform coefficients to generate quantized transform coefficients.
  • the reordering unit 130 rearranges the quantized transform coefficients.
  • the reordering unit 130 may reorder the quantized transform coefficients in the form of a block into a one-dimensional vector form through a coefficient scanning method. Although the reordering unit 130 has been described in a separate configuration, the reordering unit 130 may be part of the quantization unit 125.
  • the entropy encoding unit 135 may perform entropy encoding on the quantized transform coefficients.
  • Entropy encoding may include, for example, encoding methods such as exponential Golomb, context-adaptive variable length coding (CAVLC), context-adaptive binary arithmetic coding (CABAC), and the like.
  • the entropy encoding unit 135 may encode information necessary for video reconstruction other than the quantized transform coefficients (for example, a value of a syntax element) together or separately. Entropy encoded information may be transmitted or stored in units of network abstraction layer (NAL) units in the form of bitstreams.
  • NAL network abstraction layer
  • the inverse quantization unit 140 inverse quantizes the quantized values (quantized transform coefficients) in the quantization unit 125, and the inverse transform unit 145 inversely transforms the inverse quantized values in the inverse quantization unit 135 to obtain a residual sample.
  • the adder 150 reconstructs the picture by combining the residual sample and the predictive sample.
  • the residual sample and the predictive sample may be added in units of blocks to generate a reconstructed block.
  • the adder 150 has been described in a separate configuration, the adder 150 may be part of the predictor 110.
  • the filter unit 155 may apply a deblocking filter and / or a sample adaptive offset to the reconstructed picture. Through deblocking filtering and / or sample adaptive offset, the artifacts of the block boundaries in the reconstructed picture or the distortion in the quantization process can be corrected.
  • the sample adaptive offset may be applied on a sample basis and may be applied after the process of deblocking filtering is completed.
  • the filter unit 155 may apply an adaptive loop filter (ALF) to the reconstructed picture. ALF may be applied to the reconstructed picture after the deblocking filter and / or sample adaptive offset is applied.
  • ALF adaptive loop filter
  • the memory 160 may store information necessary for reconstruction picture or encoding / decoding.
  • the reconstructed picture may be a reconstructed picture after the filtering process is completed by the filter unit 155.
  • the stored reconstructed picture may be used as a reference picture for (inter) prediction of another picture.
  • the memory 160 may store (reference) pictures used for inter prediction.
  • pictures used for inter prediction may be designated by a reference picture set or a reference picture list.
  • FIG. 2 is a diagram schematically illustrating a configuration of a video decoding apparatus to which the present invention may be applied.
  • the video decoding apparatus 200 includes an entropy decoding unit 210, a reordering unit 220, an inverse quantization unit 230, an inverse transform unit 240, a predictor 250, and an adder 260. , A filter unit 270, and a memory 280.
  • the video decoding apparatus 200 may reconstruct the video in response to a process in which the video information is processed in the video encoding apparatus.
  • the video decoding apparatus 200 may perform video decoding using a processing unit applied in the video encoding apparatus.
  • the processing unit block of video decoding may be a coding unit block, a prediction unit block, or a transform unit block.
  • the coding unit block may be divided along the quad tree structure from the largest coding unit block as a unit block of decoding.
  • the prediction unit block is a block partitioned from the coding unit block and may be a unit block of sample prediction. In this case, the prediction unit block may be divided into sub blocks.
  • the transform unit block may be divided along the quad tree structure from the coding unit block, and may be a unit block for deriving a transform coefficient or a unit block for deriving a residual signal from the transform coefficient.
  • the entropy decoding unit 210 may parse the bitstream and output information necessary for video reconstruction or picture reconstruction. For example, the entropy decoding unit 210 decodes information in a bitstream based on a coding method such as exponential Golomb coding, CAVLC, or CABAC, quantized values of syntax elements necessary for video reconstruction, and residual coefficients. Can be output.
  • a coding method such as exponential Golomb coding, CAVLC, or CABAC, quantized values of syntax elements necessary for video reconstruction, and residual coefficients. Can be output.
  • the CABAC entropy decoding method receives a bin corresponding to each syntax element in a bitstream, and decodes syntax element information and decoding information of neighboring and decoding target blocks or information of symbols / bins decoded in a previous step.
  • the context model may be determined using the context model, the probability of occurrence of a bin may be predicted according to the determined context model, and arithmetic decoding of the bin may be performed to generate a symbol corresponding to the value of each syntax element. have.
  • the CABAC entropy decoding method may update the context model by using the information of the decoded symbol / bin for the context model of the next symbol / bean after determining the context model.
  • the information related to the prediction among the information decoded by the entropy decoding unit 210 is provided to the prediction unit 230, and the residual value on which the entropy decoding has been performed by the entropy decoding unit 210, that is, the quantized transform coefficient, is used as a reordering unit ( 220).
  • the reordering unit 220 may rearrange the quantized transform coefficients in the form of a two-dimensional block.
  • the reordering unit 220 may perform reordering in response to coefficient scanning performed by the encoding apparatus. Although the reordering unit 220 has been described in a separate configuration, the reordering unit 220 may be a part of the quantization unit 230.
  • the inverse quantization unit 230 may output the transform coefficients by inversely quantizing the transform coefficients quantized based on the (inverse) quantization parameter.
  • information for deriving a quantization parameter may be signaled from the encoding apparatus.
  • the inverse transform unit 240 may induce residual samples by inversely transforming the transform coefficients.
  • the prediction unit 250 may perform prediction on the current block and generate a prediction block including prediction samples for the current block.
  • the unit of prediction performed by the prediction unit 250 may be a coding block, a transform block, or a prediction block.
  • the prediction unit 250 may determine whether to apply intra prediction or inter prediction based on the information about the prediction.
  • a unit for determining which of intra prediction and inter prediction is to be applied and a unit for generating a prediction sample may be different.
  • the unit for generating a prediction sample in inter prediction and intra prediction may also be different.
  • whether to apply inter prediction or intra prediction may be determined in units of CUs.
  • a prediction mode may be determined and a prediction sample may be generated in PU units
  • intra prediction a prediction mode may be determined in PU units and a prediction sample may be generated in TU units.
  • the prediction unit 250 may derive the prediction sample for the current block based on the neighbor reference samples in the current picture.
  • the prediction unit 250 may derive the prediction sample for the current block by applying the directional mode or the non-directional mode based on the neighbor reference samples of the current block.
  • the prediction mode to be applied to the current block may be determined using the intra prediction mode of the neighboring block.
  • the prediction unit 250 may derive the prediction sample for the current block based on the sample specified on the reference picture by the motion vector on the reference picture.
  • the prediction unit 250 may induce a prediction sample for the current block by applying any one of a skip mode, a merge mode, and an MVP mode.
  • motion information required for inter prediction of the current block provided by the video encoding apparatus for example, information about a motion vector, a reference picture index, and the like may be obtained or derived based on the prediction information.
  • the motion information of the neighboring block may be used as the motion information of the current block.
  • the neighboring block may include a spatial neighboring block and a temporal neighboring block.
  • the predictor 250 may construct a merge candidate list using motion information of available neighboring blocks, and may use information indicated by the merge index on the merge candidate list as a motion vector of the current block.
  • the merge index may be signaled from the encoding device.
  • the motion information may include a motion vector and a reference picture. When the motion information of the temporal neighboring block is used in the skip mode and the merge mode, the highest picture on the reference picture list may be used as the reference picture.
  • the difference (residual) between the prediction sample and the original sample is not transmitted.
  • the motion vector of the current block may be derived using the motion vector of the neighboring block as a motion vector predictor.
  • the neighboring block may include a spatial neighboring block and a temporal neighboring block.
  • a merge candidate list may be generated by using a motion vector of a reconstructed spatial neighboring block and / or a motion vector corresponding to a Col block, which is a temporal neighboring block.
  • the motion vector of the candidate block selected from the merge candidate list is used as the motion vector of the current block.
  • the information about the prediction may include a merge index indicating a candidate block having an optimal motion vector selected from candidate blocks included in the merge candidate list.
  • the prediction unit 250 may derive the motion vector of the current block by using the merge index.
  • a motion vector predictor candidate list may be generated using a motion vector of a reconstructed spatial neighboring block and / or a motion vector corresponding to a Col block which is a temporal neighboring block.
  • the prediction information may include a prediction motion vector index indicating an optimal motion vector selected from the motion vector candidates included in the list.
  • the prediction unit 250 may select the predicted motion vector of the current block from the motion vector candidates included in the motion vector candidate list using the motion vector index.
  • the prediction unit of the encoding apparatus may obtain a motion vector difference (MVD) between the motion vector of the current block and the motion vector predictor, and may encode the output vector in a bitstream form. That is, MVD may be obtained by subtracting the motion vector predictor from the motion vector of the current block.
  • the prediction unit 250 may obtain a motion vector difference included in the information about the prediction, and derive the motion vector of the current block by adding the motion vector difference and the motion vector predictor.
  • the prediction unit may also obtain or derive a reference picture index or the like indicating a reference picture from the information about the prediction.
  • the adder 260 may reconstruct the current block or the current picture by adding the residual sample and the predictive sample.
  • the adder 260 may reconstruct the current picture by adding the residual sample and the predictive sample in block units. Since the residual is not transmitted when the skip mode is applied, the prediction sample may be a reconstruction sample.
  • the adder 260 is described in a separate configuration, the adder 260 may be part of the predictor 250.
  • the filter unit 270 may apply the deblocking filtering sample adaptive offset, and / or ALF to the reconstructed picture.
  • the sample adaptive offset may be applied in units of samples and may be applied after deblocking filtering.
  • ALF may be applied after deblocking filtering and / or sample adaptive offset.
  • the memory 280 may store information necessary for reconstruction picture or decoding.
  • the reconstructed picture may be a reconstructed picture after the filtering process is completed by the filter unit 270.
  • the memory 280 may store pictures used for inter prediction.
  • pictures used for inter prediction may be designated by a reference picture set or a reference picture list.
  • the reconstructed picture can be used as a reference picture for another picture.
  • the memory 280 may output the reconstructed picture in an output order.
  • reference picture list 0 or reference picture list 1 may be configured based on decoded pictures for prediction on the current block, or both reference picture lists 0 and 1 may be configured.
  • a decoded picture buffer DPB
  • a reference picture list for inter prediction a decoded picture buffer
  • POC picture order count
  • the POC corresponds to the display order of the pictures and may be distinguished from the coding order.
  • Various numbers of reference pictures may be used to construct the reference picture list 0 or the reference picture list 1 according to DPB sizes allowed by the decoding apparatus.
  • the reference picture list 0 may be called L0 (List 0), and the reference picture list 1 may be called L1 (List 1).
  • the reference pictures included in the L0 and the L1 may be arranged based on a difference in picture order count (POC) between the current picture and the reference picture.
  • B slice the slice type of the slice including the current block
  • P slice P slice
  • the L0 motion information may include at least one of an index (refidxL0) and an associated motion vector (Motion Vector L0, MVL0) of a reference picture included in the L0 with respect to the current block.
  • the L0 motion information may include at least one of an index of a reference picture included in the L0 and an associated motion vector predictor L0 (MVL0) for the current block.
  • the L1 motion information may include at least one of an index (refidxL1) and an associated motion vector (Motion Vector L1, MVL1) of a reference picture included in the L1 with respect to the current block.
  • the L1 motion information may include at least one of an index of a reference picture of the current block included in the L1 and a motion vector predictor L1 (MVL1) associated with the reference picture.
  • the reference picture of the current block included in the L0 may be referred to as a first reference picture, and the reference picture of the current block included in the L1 may be referred to as a second reference picture.
  • Information on the motion vector difference L0 (MVDL0) for the MVPL0 and information on the motion vector difference L1 (MVDL1) for the MVPL1 may be received, and the MVPL0 and the MVDL0 may be received.
  • a motion vector L0 (MVL0) associated with the first reference picture may be derived, and a motion vector L1 (Motion Vector L1, MVL1 associated with the second reference picture based on the MVPL1 and the MVDL1) may be derived. ) Can be derived.
  • Pair prediction of the current block may be performed based on the first reference picture, the MVL0 and the second reference picture, and the MVL1, and a prediction sample of the current block may be derived.
  • a prediction sample of the current block may be derived.
  • an L0 prediction sample may be obtained based on the first reference picture and the MVL0
  • an L1 prediction sample may be obtained based on the second reference picture and the MVL1 and weighted by the L0 prediction sample and the L1 prediction sample.
  • the prediction sample of the current block may be derived through a weighted sum.
  • the MVPL0 candidate list and the MVPL1 candidate list may be derived based on motion vectors of neighboring blocks of the current block.
  • the MVPL0 candidate list may be configured by using motion vectors of neighboring blocks of the current block as MVPL0 candidates
  • the MVPL1 candidate list may be configured by using motion vectors of neighboring blocks of the current block as MVPL1 candidates.
  • a syntax element representing the L0 motion information of the current block and a syntax element representing the L1 motion information may be received.
  • the syntax element indicating the L0 motion information may be received.
  • the syntax element indicating the L1 motion information may be received.
  • the syntax element representing the L0 motion information may indicate an index indicating the first reference picture among the reference pictures included in the L0, or the syntax element indicating the L0 motion information may be an MVPL0 candidate included in the MVPL0 candidate list.
  • the flag indicating the MVPL0 may be indicated.
  • the syntax element indicating the L1 motion information may indicate an index indicating the second reference picture among the reference pictures included in the L1, or the syntax element indicating the L1 motion information is included in the MVPL1 candidate list.
  • a flag indicating the MVPL1 may be indicated.
  • a syntax structure including a syntax element representing the L0 motion information and a syntax element representing the L1 motion information may be represented as shown in the following table.
  • x0 and y0 indicate the position (x0, y0) of the top-left sample of the current block
  • inter_pred_idc indicates whether the prediction performed on the current block is L0 prediction, L1 prediction, or pair prediction.
  • a syntax element indicating a ref_idx_l0 is a syntax element indicating the first reference picture among the reference pictures included in the L0
  • ref_idx_l1 is a syntax element indicating the second reference picture among the reference pictures included in the L1
  • mvp_l0_flag is the Among the MVPL0 candidates included in the MVPL0 candidate list
  • a syntax element indicating the MVPL0, mvp_l1_flag indicates a syntax element indicating the MVPL1 among the MVPL1 candidates included in the MVPL1 candidate list
  • mvd_coding indicates a syntax element indicating the MVDL0 and / or the MVDL1.
  • the ref_idx_l0 may be transmitted (signaled) when the L0 prediction or the pair prediction is performed on the current block, and the ref_idx_l1 may be transmitted when the L1 prediction or the pair prediction is performed on the current block.
  • the mvp_l0_flag may be transmitted when the L0 prediction or the pair prediction is performed on the current block
  • the mvp_l1_flag may be transmitted when the L1 prediction or the pair prediction is performed on the current block.
  • the mvd_coding may include the MVDL0 and / or the MVDL1, and each MVD may be composed of x and y components, and the code and size of each component may be transmitted separately.
  • the inter_pred_idc may indicate which prediction among the L0 prediction, the L1 prediction, and the pair prediction corresponds to the prediction performed on the current block.
  • the value of the inter_pred_idc may represent the L0 prediction, the L1 prediction, or the pair prediction.
  • the prediction of the value of inter_pred_idc may be defined as shown in the following table.
  • inter_pred_idc is an inter prediction index indicating which prediction is performed on the current block, L0 prediction, L1 prediction, or pair prediction
  • PRED_L0 is the L0 prediction
  • PRED_L1 is the L1 prediction
  • PRED_BI is the pair prediction.
  • a syntax element representing the L0 motion information and a syntax element representing the L1 motion information are not transmitted, respectively, and both L0 motion information and the L1 motion information are transmitted.
  • a syntax element indicating a may be transmitted.
  • an index indicating both the first reference picture and the second reference picture may be transmitted. That is, the first reference picture and the second reference picture may be derived based on the index.
  • a reference picture indicated by the index among the reference pictures of L0 may be derived as the first reference picture
  • a reference picture indicated by the index among the reference pictures of L1 may be derived as the second reference picture.
  • the L0 motion information may include an index of the first reference picture
  • the L1 motion information may include an index of the second reference picture
  • both the L0 motion information and the L1 motion information may be included.
  • the representing syntax element may indicate the index indicating the first reference picture and the second reference picture.
  • the index indicating the first reference picture and the second reference picture may be referred to as a first index.
  • a syntax structure including a syntax element representing the first index representing both the L0 motion information and the L1 motion information may be represented as in the following table.
  • x0 and y0 indicate the position (x0, y0) of the top-left sample of the current block
  • inter_pred_idc indicates whether the prediction performed on the current block is L0 prediction, L1 prediction, or pair prediction.
  • a syntax element indicating a ref_idx_l0 is a syntax element indicating the first reference picture among the reference pictures included in the L0
  • ref_idx_l1 is a syntax element indicating the second reference picture among the reference pictures included in the L1
  • mvp_l0_flag is the A syntax element indicating the MVPL0 among the MVPL0 candidates included in the MVPL0 candidate list
  • mvp_l1_flag is a syntax element indicating the MVPL1 among the MVPL1 candidates included in the MVPL1 candidate list
  • mvd_coding is a syntax element indicating the MVDL0 and / or the MVDL1
  • ref_idx_l2 Is the first reference picture among the reference pictures included in the L
  • ref_idx_l2 may be a syntax element representing the first index.
  • the syntax element representing the first index may be referred to as ref_idx_l2 or may be referred to as a name different from ref_idx_l2.
  • the ref_idx_l0 may be transmitted when the L0 prediction is performed on the current block
  • the ref_idx_l1 may be transmitted when the L1 prediction is performed on the current block
  • the ref_idx_l2 is the pair prediction on the current block. May be sent if this is done.
  • the mvp_l0_flag may be transmitted when the L0 prediction or the pair prediction is performed on the current block
  • the mvp_l1_flag may be transmitted when the L1 prediction or the pair prediction is performed on the current block.
  • the mvd_coding may include the MVDL0 and / or the MVDL1, and each MVD may be composed of x and y components, and the code and size of each component may be transmitted separately.
  • the ref_idx_l2 may indicate both an index indicating the first reference picture among the reference pictures included in the L0 and an index indicating the second reference picture among the reference pictures included in the L1, and thus indicate the ref_idx_l2.
  • the L0 motion information may include an index of the first reference picture
  • the L1 motion information may include an index of the second reference picture
  • the value of ref_idx_l2 is an index of the first reference picture.
  • a combination of indices of the second reference pictures may be derived.
  • the value of the index of the first reference picture and the value of the index of the second reference picture which the value of ref_idx_l2 means may be defined as shown in the following table.
  • ref_idx_l0 is an index indicating the first reference picture among the reference pictures included in the L0
  • ref_idx_l1 is an index indicating the second reference picture among the reference pictures included in the L1
  • ref_idx_l2 is a reference included in the L0.
  • the first index may indicate both an index indicating the first reference picture among pictures and an index indicating the second reference picture among reference pictures included in the L1.
  • Table 4 for example, when the value of ref_idx_l2 is 0, the value of ref_idx_l0 may be 0 and the value of ref_idx_l1 for L1 may be 0.
  • the value of ref_idx_l2 when the value of ref_idx_l2 is 1, the value of ref_idx_l0 may be 0, and the value of ref_idx_l1 for L1 may be 1, and when the value of ref_idx_l2 is 2, the value of ref_idx_l0 is 1 and the L1.
  • the value of ref_idx_l1 may indicate 0, and when the value of ref_idx_l2 is 3, the value of ref_idx_l0 may be 1 and the value of ref_idx_l1 for L1 may be 1.
  • the combination of the index of the first reference picture and the index of the second reference picture which the value of ref_idx_l2 means is not limited to the example shown in Table 4, and there may be other examples, and may be included in L0 and / or L1. It may be adaptively determined according to the number of reference pictures.
  • the ref_idx_l2 may be coded by applying various binarization methods.
  • the value of ref_idx_l2 may be coded by applying a binarization method as shown in Table 5 below.
  • ref_idx_l2 indicates a syntax element of the first index indicating both an index indicating the first reference picture among the reference pictures included in the L0 and an index indicating the second reference picture among the reference pictures included in the L1.
  • the bin string represents binary data derived by applying a binarization method. As shown in Table 5, the number of bits of ref_idx_l2 may be variable. For example, the bin string indicating when the value of ref_idx_l2 is 0 is 0, the bin string indicating when the value of ref_idx_l2 is 1 is 10, and the bin string indicating when the value of ref_idx_l2 is 2 is binarized to 110. Can be.
  • the binarization method of ref_idx_l2 is not limited to the binarization method shown in Table 5, and another binarization method may be applied, and may be adaptively determined according to the number of reference pictures included in the L0 and the reference pictures included in the L1. have.
  • the coding apparatus may represent a high value of the ratio derived in the image among the values of ref_idx_l2 as a bin string having a small number of bits, thereby improving the overall coding efficiency by reducing the data amount of ref_idx_l2 in the image. have.
  • an index indicating both the MVPL0 and the MVPL1 may be transmitted. That is, the MVPL0 and the MVPL1 may be derived based on the index.
  • an MVPL0 candidate indicated by the index among the MVPL0 candidates of the MVPL0 candidate list may be derived as the MVPL0
  • an MVPL1 candidate indicated by the index among the MVPL1 candidates in the MVPL1 candidate list may be derived as the MVPL1.
  • the L0 motion information may include the MVPL0
  • the L1 motion information may include the MVPL1
  • a syntax element representing both the L0 motion information and the L1 motion information indicates the MVPL0 and the MVPL1. May indicate the index pointed to.
  • the index indicating the MVPL0 and the MVPL1 may be referred to as a second index.
  • a syntax structure including a syntax element representing both the L0 motion information and the L1 motion information may be represented as shown in the following table.
  • x0 and y0 indicate the position (x0, y0) of the top-left sample of the current block
  • inter_pred_idc indicates whether the prediction performed on the current block is L0 prediction, L1 prediction, or pair prediction.
  • a syntax element indicating a ref_idx_l0 is a syntax element indicating the first reference picture among the reference pictures included in the L0
  • ref_idx_l1 is a syntax element indicating the second reference picture among the reference pictures included in the L1
  • mvp_l0_flag is the A syntax element indicating the MVPL0 among the MVPL0 candidates included in the MVPL0 candidate list
  • mvp_l1_flag is a syntax element indicating the MVPL1 among the MVPL1 candidates included in the MVPL1 candidate list
  • mvd_coding is a syntax element indicating the MVDL0 and / or the MVDL1, mvp_l2_idx Is selected from among the MVPL0 candidates included in the
  • mvp_l2_idx may be a syntax element representing the second index.
  • the syntax element representing the second index may be called mvp_l2_idx or may be called a different name from mvp_l2_idx.
  • the mvp_l0_flag may be transmitted when the L0 prediction is performed on the current block
  • the mvp_l1_flag may be transmitted when the L1 prediction is performed on the current block
  • the mvp_l2_idx is the pair prediction on the current block May be sent if this is done.
  • the ref_idx_l0 may be transmitted when the L0 prediction or the pair prediction is performed on the current block
  • the ref_idx_l1 may be transmitted when the L1 prediction or the pair prediction is performed on the current block.
  • the mvd_coding may include the MVDL0 and / or the MVDL1, and each MVD may be composed of x and y components, and the code and size of each component may be transmitted separately.
  • the mvp_l2_idx may indicate both a flag indicating the MVPL0 among the MVPL0 candidates included in the MVPL0 candidate list and a flag indicating the MVPL1 among the MVPL1 candidates included in the MVPL1 candidate list, and thus, the MVPL0 based on the mvp_l2_idx.
  • the MVPL1 can be derived. That is, the L0 motion information may include the MVPL0, the L1 motion information may include the MVPL1, and the value of mvp_l2_idx may indicate a combination of a flag indicating the MVPL0 and a flag indicating the MVPL1. .
  • the value of the flag indicating the MVPL0 and the value of the flag indicating the MVPL1 which the value of mvp_l2_idx means may be defined as shown in the following table.
  • mvp_l0_flag is a flag indicating the MVPL0 among the MVPL0 candidates included in the MVPL0 candidate list
  • mvp_l1_flag is a flag indicating the MVPL1 among the MVPL1 candidates included in the MVPL1 candidate list
  • mvp_l2_idx is the MVPL0 candidate included in the MVPL0 candidate list.
  • the second index indicating both the flag indicating the MVPL0 and the flag indicating the MVPL1 among the MVPL1 candidates included in the MVPL1 candidate list may be indicated.
  • the value of mvp_l2_idx when the value of mvp_l2_idx is 0, the value of mvp_l0_flag may be 0 and the value of mvp_l1_flag may be 0.
  • the value of mvp_l2_idx when the value of mvp_l2_idx is 1, the value of mvp_l0_flag may be 0 and the value of mvp_l1_flag may be 1, and when the value of mvp_l2_idx is 2, the value of mvp_l0_flag is 1 and the value of mvp_l1_flag is When the value of the mvp_l2_idx is 3, the value of the mvp_l0_flag may be 1, and the value of the mvp_l1_flag may be 1.
  • the mvp_l2_idx may be coded by applying various binarization methods.
  • the value of mvp_l2_idx may be coded by applying a binarization method as shown in Table 8 below.
  • mvp_l2_idx indicates a syntax element of the second index indicating both a flag indicating the MVPL0 among the MVPL0 candidates included in the MVPL0 candidate list and a flag indicating the MVPL1 among the MVPL1 candidates included in the MVPL1 candidate list, and a bin string.
  • the bin string representing the case where the value of mvp_l2_idx is 0 is 0, the bin string representing the case where the value of mvp_l2_idx is 1 is 10, and the bin string representing the case where the value of mvp_l2_idx is 2 is binarized.
  • the binarization method of mvp_l2_idx is not limited to the binarization method shown in Table 8 above, and other binarization methods may be applied.
  • the binarization method of mvp_l2_idx may be adaptively determined according to the maximum number or available number of mvp_l0_flag and / or mvp_l1_flag.
  • the bin string representing the value of mvp_l2_idx is the number of candidates included in the MVPL0 candidate list and / or the MVPL1 candidate list and the candidate block included in the MVPL0 candidate list and / or the candidates included in the MVPL1 candidate list. It may be adaptively determined according to the number of candidates used for inter prediction.
  • a bin string representing the value of the mvp_l2_idx may be determined.
  • an index is assigned to each of the candidates included in the MVPL0 candidate list or the MVPL1 candidate list, and some of the candidates, for example, two candidates are selected to select the mvp_l0_flag or the mvp_l1_flag value. Can be derived according to.
  • the coding apparatus may indicate only some cases of mvp_l2_idx, not all cases of the combination of the value of mvp_l0_flag and the value of mvp_l1_flag. Specifically, the coding apparatus may select only two cases of all cases of the combination of the value of mvp_l0_flag and the value of mvp_l1_flag, and make mvp_l2_idx operate as a flag indicating the two cases.
  • the coding apparatus may represent a high value derived from the image of mvp_l2_idx as a bin string having a small number of bits, thereby improving the overall coding efficiency by reducing the data amount of mvp_l2_idx in the input image. Can be.
  • the first reference picture, the second reference picture, the MVPL0, and the MVPL1 may be selected.
  • a reference picture indicated by the index among the reference pictures of L0 may be derived as the first reference picture
  • a reference picture indicated by the index among the reference pictures of L1 may be derived as the second reference picture.
  • the MVPL0 candidate indicated by the index among the MVPL0 candidates of the MVPL0 candidate list may be derived as the MVPL0
  • the MVPL1 candidate indicated by the index among the MVPL1 candidates in the MVPL1 candidate list may be derived as the MVPL1.
  • the L0 motion information may include an index of the first reference picture and the MVPL0
  • the L1 motion information may include an index of the second reference picture and the MVPL1
  • the L0 motion information and A syntax element representing all of the L1 motion information may indicate the index indicating the first reference picture, the second reference picture, the MVPL0, and the MVPL1.
  • the index indicating the first reference picture, the second reference picture, the MVPL0 and the MVPL1 may be referred to as a third index.
  • a syntax structure including a syntax element representing the third index indicating both the L0 motion information and the L1 motion information may be represented as in the following table.
  • x0 and y0 indicate the position (x0, y0) of the top-left sample of the current block
  • inter_pred_idc indicates whether the prediction performed on the current block is L0 prediction, L1 prediction, or pair prediction.
  • a syntax element indicating a ref_idx_l0 is a syntax element indicating the first reference picture among the reference pictures included in the L0
  • ref_idx_l1 is a syntax element indicating the second reference picture among the reference pictures included in the L1
  • mvp_l0_flag is the A syntax element indicating the MVPL0 among the MVPL0 candidates included in the MVPL0 candidate list
  • mvp_l1_flag is a syntax element indicating the MVPL1 among the MVPL1 candidates included in the MVPL1 candidate list
  • mvd_coding is a syntax element indicating the MVDL0 and / or the MVDL1, mvp_ref_idx Is the first reference picture among the reference pictures included in the
  • the syntax element representing the third index may be mvp_ref_idx.
  • the syntax element of the third index may be referred to as mvp_ref_idx or may be referred to as a name different from mvp_ref_idx.
  • the ref_idx_l0 and the mvp_l0_flag may be transmitted when the L0 prediction is performed on the current block, and the ref_idx_l1 and the mvp_l1_flag may be transmitted when the L1 prediction is performed on the current block.
  • the mvp_ref_idx may be transmitted.
  • the mvd_coding may include the MVDL0 and / or the MVDL1, and each MVD may be composed of x and y components, and the code and size of each component may be transmitted separately.
  • the mvp_ref_idx is an index indicating the first reference picture among the reference pictures included in the L0, an index indicating the second reference picture among the reference pictures included in the L1, and MVPL0 candidates included in the MVPL0 candidate list.
  • the flag indicating the MVPL0 and the flag indicating the MVPL1 among the MVPL1 candidates included in the MVPL1 candidate list may be indicated. Accordingly, the first reference picture, the second reference picture, the MVPL0 and the MVP are based on the mvp_ref_idx. MVPL1 can be derived.
  • the L0 motion information may include an index of the first reference picture and the MVPL0
  • the L1 motion information may include an index of the second reference picture and the MVPL1
  • the value of mvp_ref_idx is equal to the The combination of an index of a first reference picture, an index of the second reference picture, a flag indicating the MVPL0, and a flag indicating the MVPL1 may be indicated.
  • the value of the index of the first reference picture, the value of the index of the second reference picture, the value of the flag indicating the MVPL0, and the value of the flag indicating the MVPL1 means It can be defined as
  • ref_idx_l0 is an index indicating the first reference picture among the reference pictures included in the L0
  • ref_idx_l1 is an index indicating the second reference picture among the reference pictures included in the L1
  • mvp_l0_flag is included in the MVPL0 candidate list.
  • the third index may be indicated.
  • the value of ref_idx_l0 when the value of mvp_ref_idx is 0, the value of ref_idx_l0 may be 0, the value of ref_idx_l1 is 0, the value of mvp_l0_flag is 0, and the value of mvp_l1_flag is 0.
  • the value of mvp_ref_idx is 1, the value of ref_idx_l0 is 0, the value of ref_idx_l1 is 0, the value of mvp_l0_flag is 0, the value of mvp_l1_flag is 1, and the value of mvp_ref_idx is 2.
  • the value of ref_idx_l0 When the value of ref_idx_l0 is 0, the value of ref_idx_l1 is 0, the value of mvp_l0_flag is 1, the value of mvp_l1_flag is 0, and when the value of mvp_ref_idx is 3, the value of ref_idx_l0 is 0,
  • the value of ref_idx_l1 may be 0, the value of mvp_l0_flag is 1, and the value of mvp_l1_flag may be 1.
  • the value of the index indicating the first reference picture, the value of the index indicating the second reference picture, the value of the flag indicating the MVPL0 and the value of the flag indicating the MVPL1 are indicated in Table 10.
  • the value of the index indicating the first reference picture, the value of the index indicating the second reference picture, the flag indicating the MVPL0, and the value of the flag indicating the MVPL1 mean the value L0 and / or It may be adaptively determined according to the number of reference pictures included in the L1 or the number of candidates included in the MVPL0 candidate list and / or the MVPL1 candidate list or the number of candidates available for inter prediction of the current block among the candidates. have.
  • the mvp_ref_idx may be coded by applying various binarization methods.
  • the value of mvp_ref_idx may be coded by applying a binarization method as shown in Table 11 below.
  • mvp_ref_idx is an index indicating the first reference picture among the reference pictures included in the L0, an index indicating the second reference picture among the reference pictures included in the L1, and among MVPL0 candidates included in the MVPL0 candidate list.
  • Binary data indicates a syntax element of the third index indicating both the flag indicating the MVPL0 and the flag indicating the MVPL1 among the MVPL1 candidates included in the MVPL1 candidate list, and the bin string is binary data derived by applying a binarization method. Indicates. As shown in Table 11, the number of bits of mvp_ref_idx may be variable.
  • the bin string representing the case where the value of mvp_ref_idx is 0 is 0, the bin string representing the case where the value of mvp_ref_idx is 1 is 10, and the bin string representing the case where the value of mvp_ref_idx is 2 is binarized to 110.
  • the binarization method of mvp_ref_idx is not limited to the binarization method shown in Table 11 above, and other binarization methods may be applied.
  • a flag indicating whether to use a syntax element representing both the L0 motion information and the L1 motion information described above in a slice unit may be transmitted / received.
  • a flag indicating whether to use the first index among the reference pictures included in the L0 and the first index indicating the second reference picture among the reference pictures included in the L1 may be transmitted in a slice unit.
  • the flag indicating whether the first index is used may be referred to as a first flag.
  • a syntax structure including a syntax element representing the first flag may be represented as in the following table.
  • slice_ref_idx_l2_flag represents a syntax element indicating whether to use an index indicating the first reference picture and the second reference picture. That is, the slice_ref_idx_l2_flag may be a syntax element representing the first flag.
  • the syntax element representing the first flag may be referred to as slice_ref_idx_l2_flag, or may be referred to as a name different from the slice_ref_idx_l2_flag.
  • an index indicating the first reference picture among the reference pictures included in the L0 and the L1 included in the L1 are included.
  • the index indicating the second reference picture among reference pictures may be transmitted. That is, an index indicating the first reference picture and an index indicating the second reference picture for the block included in the target slice may be encoded, respectively.
  • the first reference picture among the reference pictures included in the L0 and the first picture among the reference pictures included in the L1 The first index indicating the two reference pictures may be transmitted. That is, the first index indicating the first reference picture and the second reference picture for the block included in the target slice may be encoded.
  • a flag indicating whether to use the second index indicating the MVPL1 among the MVPL0 candidates included in the MVPL0 candidate list and the MVPL1 candidates included in the MVPL1 candidate list may be transmitted in a slice unit. That is, a flag indicating whether the MVPL0 and the second index indicating the MVPL1 is used may be transmitted through a slice segment header. The flag indicating whether the second index is used may be referred to as a second flag.
  • the syntax structure including the syntax element representing the second flag may be represented as the following table.
  • slice_mvp_l2_flag represents a syntax element indicating whether to use the index indicating the MVPL0 and the MVPL1. That is, the slice_mvp_l2_flag may be a syntax element representing the second flag.
  • the syntax element representing the second flag may be referred to as slice_mvp_l2_flag or may be referred to as a name different from the slice_mvp_l2_flag.
  • a flag indicating the MVPL0 among the MVPL0 candidates included in the MVPL0 candidate list and the MVPL1 candidate list are included in the MVPL0 candidate list.
  • a flag indicating the MVPL1 may be transmitted. That is, a flag indicating the MVPL0 and a flag indicating the MVPL1 for the block included in the target slice may be encoded.
  • the slice_mvp_l2_flag value is 1
  • the MVPL0 candidates included in the MVPL0 candidate list and the MVPL1 candidates included in the MVPL1 candidate list are selected.
  • the second index pointing may be transmitted. That is, the MVPL0 and the second index indicating the MVPL1 for the block included in the target slice may be encoded.
  • a flag indicating whether the third index indicating the MVPL1 is used among the MVPL1 candidates included in the slice may be transmitted. That is, a flag indicating whether to use the first reference picture, the second reference picture, the MVPL0, and the third index indicating the MVPL1 may be transmitted through a slice segment header.
  • the flag indicating whether the third index is used may be referred to as a third flag.
  • the syntax structure including the syntax element representing the third flag may be represented as the following table.
  • slice_mvp_ref_l2_flag indicates a syntax element indicating whether the third index indicating the first reference picture, the second reference picture, the MVPL0, and the MVPL1 is used. That is, slice_mvp_ref_l2_flag may be a syntax element representing the third flag.
  • the syntax element representing the third flag may be referred to as slice_mvp_ref_l2_flag or may be referred to as a name different from the slice_mvp_ref_l2_flag.
  • an index indicating the first reference picture among the reference pictures included in the L0, included in the L1 An index indicating the second reference picture among the reference pictures, a flag indicating the MVPL0 among the MVPL0 candidates included in the MVPL0 candidate list, and a flag indicating the MVPL1 among the MVPL1 candidates included in the MVPL1 candidate list may be transmitted. . That is, an index indicating the first reference picture, an index indicating the second reference picture, a flag indicating the MVPL0, and a flag indicating the MVPL1 may be encoded for the block included in the target slice.
  • the value of the slice_mvp_ref_l2_flag 1
  • the first reference picture among the reference pictures included in the L0 and the first picture among the reference pictures included in the L1 A second reference picture, the MVPL0 candidates included in the MVPL0 candidate list and the third index indicating the MVPL1 among the MVPL1 candidates included in the MVPL1 candidate list may be transmitted. That is, the third index indicating the first reference picture, the second reference picture, the MVPL0 and the MVPL1 for the block included in the target slice may be encoded.
  • the first index pointing to the first reference picture and the second reference picture, the MVPL0 and the second index pointing to the MVPL1, and the first reference picture, the second reference picture, the MVPL0, and the Mode information indicating an index indicated by a syntax element indicating the L0 motion information and the L1 motion information for the current block among the third indexes indicating MVPL1 may be transmitted.
  • the mode information may be transmitted in units of slices.
  • a syntax structure including a syntax element representing the mode information may be represented as in the following table.
  • slice_mvp_ref_l2_mode represents a syntax element representing the mode information.
  • an index indicated by a syntax element representing the L0 motion information and the L1 motion information for the block may be derived based on the value of the mode information.
  • the index indicated by the syntax element indicated by the value of the mode information may be represented as shown in the following table.
  • slice_mvp_ref_l2_mode represents a syntax element representing the mode information.
  • the syntax element representing the mode information may be called slice_mvp_ref_l2_mode, or may be called a different name from slice_mvp_ref_l2_mode. If the value of the mode information is 0, when pair prediction is applied to a block included in the target slice, an index indicating the first reference picture among the reference pictures included in the L0, and among the reference pictures included in the L1, An index indicating the second reference picture, a flag indicating the MVPL0 among the MVPL0 candidates included in the MVPL0 candidate list, and a flag indicating the MVPL1 among the MVPL1 candidates included in the MVPL1 candidate list may be transmitted.
  • an index indicating the first reference picture, an index indicating the second reference picture, a flag indicating the MVPL0, and a flag indicating the MVPL1 may be encoded for the block included in the target slice.
  • the value of the mode information is 1, when pair prediction is applied to a block included in the target slice, the first reference picture among the reference pictures included in the L0 and the reference picture included in the L1 may be used.
  • the first index indicating the second reference picture may be transmitted. That is, the first index indicating the first reference picture and the second reference picture for the block included in the target slice may be encoded.
  • the MVPL1 candidates included in the MVPL0 candidate list and the MVPL1 candidates included in the MVPL0 candidate list are included in the MVPL0 candidate list.
  • the second index pointing to may be transmitted. That is, the MVPL0 and the second index indicating the MVPL1 for the block included in the target slice may be encoded.
  • the value of the mode information is 3 when pair prediction is applied to a block included in the target slice, the first reference picture among the reference pictures included in the L0 and the reference picture among the reference pictures included in the L1 may be used.
  • a second reference picture, the MVPL0 candidates included in the MVPL0 candidate list and the third index indicating the MVPL1 among the MVPL1 candidates included in the MVPL1 candidate list may be transmitted. That is, the third index indicating the first reference picture, the second reference picture, the MVPL0 and the MVPL1 for the block included in the target slice may be encoded.
  • the first flag, the second flag, the third flag, and the mode information shown in Tables 12 to 15 described above are not only a slice unit but also a sequence parameter set (SPS) unit and a picture parameter set (PPS) unit. Or may be transmitted through a high-level syntax such as a video parameter set (VPS) unit and may be applied. Also, a flag indicating whether to use a syntax element indicating L0 motion information and L1 motion information may be transmitted through an SPS unit, a PPS unit, or a VPS unit, and the flag may indicate a syntax element indicating L0 motion information and L1 motion information. In the case of indicating that is used, the mode information may be transmitted in units of slices.
  • FIG. 5 schematically illustrates a video encoding method by an encoding device according to the present invention.
  • the method disclosed in FIG. 5 may be performed by the encoding apparatus disclosed in FIG. 1.
  • S500 to S530 of FIG. 5 may be performed by the prediction unit of the encoding apparatus
  • S540 may be performed by the entropy encoding unit of the encoding apparatus.
  • the encoding apparatus derives the reference picture list 0 (list 0, L0) and the reference picture list 1 (List 1, L1) (S500).
  • the encoding apparatus may derive the L0 and the L1 for the current picture including the current block.
  • the reference pictures included in the L0 and the L1 may be arranged based on a difference in picture order count (POC) between the current picture and the reference picture.
  • POC corresponds to the display order of the pictures and may be distinguished from the coding order.
  • the encoding apparatus derives the L0 motion information and the L1 motion information for the current block (S510).
  • the encoding apparatus may derive the L0 motion information and the L1 motion information when bi-prediction is applied to the current block.
  • the encoding apparatus performs an optimal motion vector L0 (MVL0) through motion estimation, a first reference picture of the current block included in the L0, a motion vector L1 (MVL1), and A second reference picture of the current block included in the L1 may be derived.
  • the encoding apparatus may derive a motion vector most similar to the MVL0 among the motion vectors of neighboring blocks of the current block to a motion vector predictor L0 (MVL0), and determine the neighboring blocks of the current block.
  • the motion vector most similar to the MVL1 among the motion vectors may be derived as a motion vector predictor L1 (MVL1).
  • the L0 motion information may include at least one of an index of a first reference picture of the current block included in the L0 and the MVPL0 associated with the first reference picture, wherein the L1 motion information is included in the L1. It may include at least one of the index of the second reference picture of the included current block and the MVPL1 associated with the second reference picture.
  • the encoding apparatus may derive the difference between the MVL0 and the MVPL0 as a motion vector difference L0 (MVDL0) for the MVPL0, and calculate the difference between the MVL1 and the MVPL1 as the motion vector difference for the MVPL1. It can be derived as L1 (Motion Vector Difference L1, MVDL0).
  • the encoding apparatus may signal the information on the MVDL0 and the information on the MVDL1 through a bitstream.
  • the encoding apparatus derives a prediction sample of the current block based on the L0 motion information and the L1 motion information (S520).
  • the encoding apparatus may derive the prediction sample of the current block by performing pair prediction based on the L0 motion information and the L1 motion information.
  • the encoding apparatus generates a syntax element representing the L0 motion information and the L1 motion information for the current block (S530).
  • the encoding apparatus may generate a syntax element representing the L0 motion information and the L1 motion information for the current block.
  • the L0 motion information and the L1 motion information for the current block may be derived based on the syntax element.
  • the L0 motion information may include an index of a first reference picture of the current block included in the L0 and the MVPL0 associated with the first reference picture, wherein the L1 motion information is included in the L1.
  • It may include the index of the second reference picture of the current block and the MVPL1 associated with the second reference picture, the value of the syntax element representing the L0 motion information and the L1 motion information is the index of the first reference picture And a combination of the index of the second reference picture, or a combination of the flag representing the MVPL0 and the flag representing the MVPL1, or the index of the first reference picture, the index of the second reference picture, the flag representing the MVPL0, and the A combination of flags indicating MVPL1 may be indicated.
  • a syntax element representing the L0 motion information and the L1 motion information may indicate a first index indicating the first reference picture and the second reference picture. That is, the value of the first index may represent a combination of the index of the first reference picture and the index of the second reference picture.
  • the encoding apparatus may generate the first index when the pair prediction is performed on the current block.
  • the first reference picture and the second reference picture may be derived based on the first index.
  • the value of the first index may represent a combination of the index of the first reference picture and the index of the second reference picture, and the index of the first reference picture in the combination among the reference pictures of L0 is
  • the pointing reference picture may be derived as the first reference picture
  • the reference picture indicated by the index of the second reference picture in the combination among the reference pictures of L1 may be derived as the second reference picture.
  • the value of the index of the first reference picture and the value of the index of the second reference picture indicated by the value of the first index may be determined as shown in Table 4 above.
  • the syntax element representing the L0 motion information and the L1 motion information may indicate the MVPL0 and a second index indicating the MVPL1. That is, the value of the second index may represent a combination of a flag indicating the MVPL0 and a flag indicating the MVPL1.
  • the encoding apparatus may generate the second index when the pair prediction is performed on the current block.
  • the MVPL0 and the MVPL1 may be derived based on the second index.
  • the value of the second index may represent a combination of a flag indicating the MVPL0 and a flag indicating the MVPL1, and the MVPL0 candidate list including the MVPL0 candidates and the MVPL1 candidate list including the MVPL1 candidates are neighboring blocks of the current block.
  • the MVPL0 candidate indicated by the flag indicating the MVPL0 in the combination among the MVPL0 candidates in the MVPL0 candidate list may be derived as the MVPL0, and the combination among the MVPL1 candidates in the MVPL1 candidate list.
  • the MVPL1 candidate indicated by the flag indicating the MVPL1 in the group may be derived as the MVPL1.
  • the value of the flag of the MVPL0 and the value of the flag of the MVPL1 indicated by the value of the second index may be determined as shown in Table 7 above.
  • the syntax element representing the L0 motion information and the L1 motion information may include the first reference picture, the second reference picture, the MVPL0, and a third index indicating the MVPL1. That is, the value of the third index may represent a combination of an index of the first reference picture, an index of the second reference picture, a flag indicating the MVPL0, and a flag indicating the MVPL1.
  • the encoding apparatus may generate the third index when the pair prediction is performed on the current block.
  • the first reference picture, the second reference picture, the MVPL0 and the MVPL1 may be derived based on the third index.
  • the value of the third index may represent a combination of an index of the first reference picture, an index of the second reference picture, a flag indicating the MVPL0, and a flag indicating the MVPL1, and reference pictures of the L0.
  • the reference picture indicated by the index of the first reference picture in the combination may be derived as the first reference picture
  • the reference picture indicated by the index of the second reference picture in the combination among the reference pictures of L1 may be determined by the reference picture. It can be derived as a second reference picture.
  • an MVPL0 candidate list including MVPL0 candidates and an MVPL1 candidate list including MVPL1 candidates may be derived based on motion vectors of neighboring blocks of the current block, and represent the MVPL0 in the combination of MVPL0 candidates in the MVPL0 candidate list.
  • the MVPL0 candidate indicated by the flag may be derived as the MVPL0
  • the MVPL1 candidate indicated by the flag indicating the MVPL0 in the combination among the MVPL1 candidates in the MVPL1 candidate list may be derived as the MVPL1.
  • the value of the index of the first reference picture indicated by the value of the third index, the value of the index of the second reference picture, the value of the flag of MVPL0 and the value of the flag of MVPL1 are shown in Table 10 above. Can be determined.
  • the encoding apparatus encodes and outputs a syntax element representing the L0 motion information and the L1 motion information for the current block (S540).
  • the encoding apparatus may encode and output a syntax element representing the L0 motion information and the L1 motion information for the current block in a bitstream form.
  • the encoding apparatus may encode the syntax element representing the first index to have a variable number of bits according to the value of the first index.
  • the syntax element representing the first index may be binarized to have a variable number of bits, and the number of bits of the syntax element representing the first index may be variable.
  • the encoding apparatus may binarize a value having a high bit rate among the values of the first index to have a small number of bits, and a value having a low bit rate having a high number of bits to have a large number of bits.
  • the binarization method of the first index may be determined as shown in Table 5 above.
  • the encoding apparatus may have the syntax element representing the second index to have a variable number of bits according to the value of the second index.
  • the syntax element representing the second index may be binarized to have a variable number of bits, and the number of bits of the syntax element representing the second index may be variable.
  • the encoding apparatus may binarize a value having a high bit rate among the values of the second index to have a small number of bits, and have a large number of bits having a low ratio of the value derived from the image.
  • the binarization method of the second index may be determined as shown in Table 8 above.
  • the encoding apparatus may have the syntax element representing the third index to have a variable number of bits according to the value of the third index.
  • the syntax element representing the third index may be binarized to have a variable number of bits, and the number of bits of the syntax element representing the third index may be variable.
  • the encoding apparatus may binarize a value having a high ratio derived in the image among the values of the third index to have a small number of bits, and have a large number of bits having a low ratio derived in the image.
  • the binarization method of the third index may be determined as shown in Table 11 above.
  • the encoding apparatus may generate a flag indicating whether the first index, the second index, and / or the third index are used.
  • the flag may be transmitted in a slice unit, a sequence parameter set (SPS) unit, a picture parameter set (PPS) unit, or a video parameter set (VPS) unit.
  • SPS sequence parameter set
  • PPS picture parameter set
  • VPS video parameter set
  • a first flag indicating whether the first index is used may be generated and transmitted in a slice unit.
  • the first flag may be transmitted in an SPS unit, a PPS unit, or a VPS unit.
  • the syntax element may indicate the first index. That is, the encoding apparatus may encode and output the syntax element representing the first index.
  • the index indicating the first reference picture among the reference pictures included in the L0 and the reference picture included in the L1 may be used. Indices indicating the second reference pictures may be transmitted, respectively.
  • a second flag indicating whether the second index is used may be generated and transmitted in a slice unit.
  • the second flag may be transmitted in an SPS unit, a PPS unit, or a VPS unit.
  • the syntax element may indicate the second index.
  • the encoding apparatus may encode and output the syntax element indicating the second index.
  • a flag indicating the MVPL0 among the MVPL0 candidates included in the MVPL0 candidate list and the MVPL1 among the MVPL1 candidates included in the MVPL1 candidate list Each flag indicating may be transmitted.
  • a third flag indicating whether the third index is used may be generated and transmitted in a slice unit.
  • the third flag may be transmitted in an SPS unit, a PPS unit, or a VPS unit.
  • the syntax element may indicate the third index. That is, the encoding device may encode and output the syntax element representing the third flag.
  • an index indicating the first reference picture among reference pictures included in the L0 and the reference picture among the reference pictures included in the L1 may be used.
  • An index indicating a second reference picture, a flag indicating the MVPL0 among the MVPL0 candidates included in the MVPL0 candidate list, and a flag indicating the MVPL1 among the MVPL1 candidates included in the MVPL1 candidate list may be transmitted.
  • mode information indicated by the syntax element among the first index, the second index, and the third index may be generated and transmitted in a slice unit.
  • the index may be transmitted in units of SPS, units of PPS, or units of VPS.
  • the syntax element may indicate the first index.
  • the encoding apparatus may encode and output a syntax element indicating the first index.
  • the syntax element may indicate the second index.
  • the encoding apparatus may encode and output a syntax element indicating the second index.
  • the syntax element may indicate the third index.
  • the encoding apparatus may encode and output a syntax element indicating the third index.
  • an index indicating the first reference picture among the reference pictures included in the L0, and the first of the reference pictures included in the L1 An index indicating a reference picture, a flag indicating the MVPL0 among the MVPL0 candidates included in the MVPL0 candidate list, and a flag indicating the MVPL1 among the MVPL1 candidates included in the MVPL1 candidate list may be transmitted.
  • the encoding apparatus may encode the mode information to have a variable number of bits according to the value of the mode information.
  • the mode information may be binarized to have a variable number of bits, and the number of bits of the mode information may be variable.
  • the encoding apparatus may binarize a value having a high ratio derived in the image among the values of the mode information to have a small number of bits and a large number of bits having a low ratio derived in the image.
  • a flag indicating whether to use a syntax element indicating L0 motion information and L1 motion information may be transmitted through an SPS unit, a PPS unit, or a VPS unit, and the flag may indicate a syntax element indicating L0 motion information and L1 motion information. For example, when the value of the flag is 1, the mode information may be transmitted in units of slices.
  • the encoding apparatus may generate a residual sample based on the original sample and the derived prediction sample.
  • the encoding apparatus may generate information about the residual based on the residual sample.
  • the information about the residual may include transform coefficients related to the residual sample.
  • the encoding apparatus may derive the reconstructed sample based on the prediction sample and the residual sample. That is, the encoding apparatus may derive the reconstructed sample by adding the prediction sample and the residual sample.
  • the encoding apparatus may encode the information about the residual and output the bitstream.
  • the bitstream may be transmitted to a decoding apparatus via a network or a storage medium.
  • FIG. 6 schematically illustrates a video decoding method by a decoding apparatus according to the present invention.
  • the method disclosed in FIG. 6 may be performed by the decoding apparatus disclosed in FIG. 2.
  • S600 and S620 to S630 may be performed by the prediction unit of the decoding apparatus
  • S610 may be performed by the entropy decoding unit of the decoding apparatus.
  • the decoding apparatus derives the reference picture list 0 (list 0, L0) and the reference picture list 1 (List 1, L1) (S600).
  • the encoding apparatus may derive the L0 and the L1 for the current picture including the current block.
  • the reference pictures included in the L0 and the L1 may be arranged based on a difference in picture order count (POC) between the current picture and the reference picture.
  • POC corresponds to the display order of the pictures and may be distinguished from the coding order.
  • the decoding apparatus receives a syntax element representing the L0 motion information and the L1 motion information for the current block through the bitstream (S610).
  • the decoding apparatus may receive a syntax element representing the L0 motion information and the L1 motion information for the current block through the bitstream.
  • the L0 motion information may include at least one of an index of a first reference picture of the current block included in the L0 and the motion vector predictor L0 (MVL0) associated with the first reference picture.
  • the L1 motion information may include at least one of an index of a second reference picture of the current block included in the L1 and the motion vector predictor L1 (MVL1) associated with the second reference picture. have.
  • the value of the syntax element representing the L0 motion information and the L1 motion information may be a combination of an index of the first reference picture and an index of the second reference picture, or a combination of a flag representing the MVPL0 and a flag representing the MVPL1, or The combination of an index of a first reference picture, an index of the second reference picture, a flag indicating the MVPL0, and a flag indicating the MVPL1 may be indicated.
  • a syntax element representing the L0 motion information and the L1 motion information may include a first index indicating the first reference picture and the second reference picture. That is, the value of the first index may represent a combination of the index of the first reference picture and the index of the second reference picture.
  • the decoding apparatus may receive the first index for the current block.
  • the first reference picture and the second reference picture may be derived based on the first index.
  • the value of the first index may represent a combination of the index of the first reference picture and the index of the second reference picture, and the index of the first reference picture in the combination among the reference pictures of L0 is
  • the pointing reference picture may be derived as the first reference picture
  • the reference picture indicated by the index of the second reference picture in the combination among the reference pictures of L1 may be derived as the second reference picture.
  • the value of the index of the first reference picture and the value of the index of the second reference picture indicated by the value of the first index may be determined as shown in Table 4 above.
  • the number of bits of the syntax element representing the first index may be variable. That is, the syntax element that represents the first index may be binarized to a variable number of bits.
  • the syntax element indicating the first index may have a variable number of bits according to the value of the first index, and a small number of bits may be used as a value having a high ratio derived from an image among the values of the first index. In addition, a low value of the ratio derived in the image may have a large number of bits.
  • the syntax element indicating the first index may be binarized as shown in Table 5 above.
  • the syntax element representing the L0 motion information and the L1 motion information may include the MVPL0 and a second index indicating the MVPL1. That is, the value of the second index may represent a combination of a flag indicating the MVPL0 and a flag indicating the MVPL1.
  • the decoding device may receive the second index for the current block.
  • the MVPL0 and the MVPL1 may be derived based on the second index.
  • the value of the second index may represent a combination of a flag indicating the MVPL0 and a flag indicating the MVPL1, and the MVPL0 candidate list including the MVPL0 candidates and the MVPL1 candidate list including the MVPL1 candidates are neighboring blocks of the current block.
  • the MVPL0 candidate indicated by the flag indicating the MVPL0 in the combination among the MVPL0 candidates in the MVPL0 candidate list may be derived as the MVPL0, and the combination among the MVPL1 candidates in the MVPL1 candidate list.
  • the MVPL1 candidate indicated by the flag indicating the MVPL1 in the group may be derived as the MVPL1.
  • the value of the flag of the MVPL0 and the value of the flag of the MVPL1 indicated by the value of the second index may be determined as shown in Table 7 above.
  • the number of bits of the syntax element representing the second index may be variable. That is, the syntax element representing the second index may be binarized with a variable number of bits.
  • the syntax element representing the second index may have a variable number of bits according to the value of the second index, and a value having a small number of bits having a high ratio derived from an image among the values of the second index may be high. For example, a low value derived from an image may have a large number of bits.
  • the syntax element representing the second index may be binarized as shown in Table 8 above.
  • the syntax element representing the L0 motion information and the L1 motion information may include the first reference picture, the second reference picture, the MVPL0, and a third index indicating the MVPL1. That is, the value of the third index may represent a combination of an index of the first reference picture, an index of the second reference picture, a flag indicating the MVPL0, and a flag indicating the MVPL1.
  • the decoding apparatus may receive the third index for the current block.
  • the first reference picture, the second reference picture, the MVPL0 and the MVPL1 may be derived based on the third index.
  • the value of the third index may represent a combination of an index of the first reference picture, an index of the second reference picture, a flag indicating the MVPL0, and a flag indicating the MVPL1, and reference pictures of the L0.
  • the reference picture indicated by the index of the first reference picture in the combination may be derived as the first reference picture
  • the reference picture indicated by the index of the second reference picture in the combination among the reference pictures of L1 may be determined by the reference picture. It can be derived as a second reference picture.
  • an MVPL0 candidate list including MVPL0 candidates and an MVPL1 candidate list including MVPL1 candidates may be derived based on motion vectors of neighboring blocks of the current block, and represent the MVPL0 in the combination of MVPL0 candidates in the MVPL0 candidate list.
  • the MVPL0 candidate indicated by the flag may be derived as the MVPL0
  • the MVPL1 candidate indicated by the flag indicating the MVPL1 in the combination among the MVPL1 candidates in the MVPL1 candidate list may be derived as the MVPL1.
  • the value of the index of the first reference picture indicated by the value of the third index, the value of the index of the second reference picture, the value of the flag of MVPL0 and the value of the flag of MVPL1 are shown in Table 10 above. Can be determined.
  • the number of bits of the syntax element representing the third index may be variable. That is, the syntax element representing the third index may be binarized with a variable number of bits.
  • the syntax element representing the third index may have a variable number of bits according to the value of the third index, and a value having a high bit rate among the values of the third index has a high ratio derived in the image. For example, a low value derived from an image may have a large number of bits.
  • the syntax element representing the third index may be binarized as shown in Table 11 above.
  • the decoding apparatus may receive a flag indicating whether the first index, the second index, and / or the third index are used through the bitstream.
  • the flag may be received in a slice unit, a sequence parameter set (SPS) unit, a picture parameter set (PPS) unit, or a video parameter set (VPS) unit.
  • SPS sequence parameter set
  • PPS picture parameter set
  • VPS video parameter set
  • a first flag indicating whether the first index is used may be received in a slice unit.
  • the first flag may be received in an SPS unit, a PPS unit, or a VPS unit.
  • the syntax element may indicate the first index. That is, a syntax element representing the L0 motion information and the L1 motion information may indicate the first index.
  • the index indicating the first reference picture among the reference pictures included in the L0 and the reference picture included in the L1 may be used. Indices indicating the second reference pictures may be received respectively.
  • a second flag indicating whether the second index is used may be received in a slice unit.
  • the second flag may be received in an SPS unit, a PPS unit, or a VPS unit.
  • the syntax element may indicate the second index. That is, a syntax element representing the L0 motion information and the L1 motion information may indicate the second index.
  • a flag indicating the MVPL0 among the MVPL0 candidates included in the MVPL0 candidate list and the MVPL1 among the MVPL1 candidates included in the MVPL1 candidate list may be received respectively.
  • a third flag indicating whether the third index is used may be received in a slice unit.
  • the third flag may be received in an SPS unit, a PPS unit, or a VPS unit.
  • the syntax element may indicate the third index. That is, a syntax element representing the L0 motion information and the L1 motion information may indicate the third index.
  • an index indicating the first reference picture among reference pictures included in the L0 and the reference picture among the reference pictures included in the L1 may be used.
  • An index indicating a second reference picture, a flag indicating the MVPL0 among the MVPL0 candidates included in the MVPL0 candidate list, and a flag indicating the MVPL1 among the MVPL1 candidates included in the MVPL1 candidate list may be received.
  • an index indicating an index indicated by the syntax element among the first index, the second index, and the third index may be received in a slice unit.
  • the index may be received in units of SPS, units of PPS, or units of VPS.
  • the index may be called mode information.
  • the syntax element may indicate the first index. That is, a syntax element representing the L0 motion information and the L1 motion information may indicate the first index.
  • the syntax element may indicate the second index. That is, a syntax element representing the L0 motion information and the L1 motion information may indicate the second index.
  • the syntax element may indicate the third index. That is, a syntax element representing the L0 motion information and the L1 motion information may indicate the third index.
  • an index indicating the first reference picture among the reference pictures included in the L0, and the first of the reference pictures included in the L1 An index indicating a reference picture, a flag indicating the MVPL0 among the MVPL0 candidates included in the MVPL0 candidate list, and a flag indicating the MVPL1 among the MVPL1 candidates included in the MVPL1 candidate list may be received.
  • the decoding apparatus may receive a flag indicating whether to use a syntax element representing the L0 motion information and the L1 motion information through the SPS unit, the PPS unit, or the VPS unit, and the flag may transmit the L0 motion information and the L1 motion information.
  • the indicating syntax element for example, when the value of the flag is 1, the mode information may be received in units of slices.
  • the mode information may have a variable number of bits.
  • the mode information may have a variable number of bits according to the value of the mode information, a value having a high bit rate derived from the image among the values of the mode information having a small number of bits, and a rate derived from the image Low values can have a large number of bits.
  • the decoding apparatus derives the L0 motion information and the L1 motion information for the current block based on the syntax element (S620).
  • the decoding apparatus may derive the L0 motion information and the L1 motion information based on the syntax element.
  • the decoding apparatus may derive the first reference picture and the second reference picture based on the first index.
  • the L0 motion information may include an index of the first reference picture
  • the L1 motion information may include an index of the second reference picture.
  • the value of the first index may represent a combination of the index of the first reference picture and the index of the second reference picture
  • the decoding apparatus may be configured to perform the first reference picture in the combination of the reference pictures of L0.
  • the reference picture indicated by the index of may be derived as the first reference picture
  • the reference picture indicated by the index of the second reference picture in the combination among the reference pictures of L1 may be derived as the second reference picture.
  • the value of the index of the first reference picture and the value of the index of the second reference picture indicated by the value of the first index may be determined as shown in Table 4 above.
  • the decoding apparatus may derive the MVPL0 and the MVPL1 based on the second index.
  • the L0 motion information may include the MVPL0
  • the L1 motion information may include the MVPL1.
  • the value of the second index may represent a combination of a flag indicating the MVPL0 and a flag indicating the MVPL1
  • the decoding apparatus may include an MVPL0 candidate list including MVPL0 candidates and an MVPL1 candidate list including MVPL1 candidates in the current block.
  • the MVPL1 candidate indicated by the flag indicating the MVPL1 in the combination may be derived as the MVPL1.
  • the value of the flag of the MVPL0 and the value of the flag of the MVPL1 indicated by the value of the second index may be determined as shown in Table 7 above.
  • the decoding apparatus may determine the first reference picture, the second reference picture, the MVPL0, and the third index based on the third index.
  • the MVPL1 can be derived.
  • the L0 motion information may include an index of the first reference picture and the MVPL0
  • the L1 motion information may include an index of the second reference picture and the MVPL1.
  • the value of the third index may represent a combination of an index of the first reference picture, an index of the second reference picture, a flag indicating the MVPL0, and a flag indicating the MVPL1, and the decoding apparatus may determine the value of L0.
  • a reference picture indicated by the index of the first reference picture in the combination among the reference pictures may be derived as the first reference picture, and a reference indicated by the index of the second reference picture in the combination among the reference pictures of L1 A picture may be derived as the second reference picture.
  • the decoding apparatus may derive an MVPL0 candidate list including MVPL0 candidates and an MVPL1 candidate list including MVPL1 candidates based on motion vectors of neighboring blocks of the current block, wherein the decoding device includes the MVPL0 candidate list in the combination of the MVPL0 candidates in the MVPL0 candidate list.
  • the MVPL0 candidate indicated by the flag indicating MVPL0 may be derived as the MVPL0
  • the MVPL1 candidate indicated by the flag indicating the MVPL1 in the combination among the MVPL1 candidates in the MVPL1 candidate list may be derived as the MVPL1.
  • the value of the index of the first reference picture indicated by the value of the third index, the value of the index of the second reference picture, the value of the flag of MVPL0 and the value of the flag of MVPL1 are shown in Table 10 above. Can be determined.
  • the decoding apparatus derives a prediction sample of the current block based on the L0 motion information and the L1 motion information (S630).
  • the decoding apparatus may derive the prediction sample of the current block by performing pair prediction based on the L0 motion information and the L1 motion information.
  • the decoding apparatus may receive (acquire) motion vector difference L0 (MVDL0) information for the MVPL0 through the bitstream, and derive MVDL0 based on the obtained MVDL0 information. have.
  • the decoding apparatus may receive (acquire) motion vector difference L0 (MVDL1) information for the MVPL1 and derive MVDL1 based on the obtained MVDL1 information.
  • the decoding apparatus may derive a motion vector L0 (Motion Vector L0, MVL0) based on the MVPL0 and the MVDL0, and may derive a motion vector L1 (Motion Vector L1, MVL1) based on the MVPL1 and the MVDL1. .
  • the decoding apparatus may generate a prediction sample of the current block based on the MVL0 and the MVL1. In detail, the decoding apparatus may generate the prediction sample by performing pair prediction based on the L0 motion information including the first reference picture and the MVL0 and the L1 motion information including the second reference picture and the MVL1. have.
  • the decoding apparatus may directly use the prediction sample as a reconstruction sample according to a prediction mode, or generate a reconstruction sample by adding a residual sample to the prediction sample. If there is a residual sample for the current block, the decoding apparatus may receive information about the residual for the current block from the bitstream. The information about the residual may include transform coefficients regarding the residual sample. The decoding apparatus may derive the residual sample (or residual sample array) for the current block based on the residual information. The decoding apparatus may generate a reconstructed sample based on the prediction sample and the residual sample, and may derive a reconstructed block or a reconstructed picture based on the reconstructed sample. Thereafter, as described above, the decoding apparatus may apply an in-loop filtering procedure, such as a deblocking filtering and / or SAO procedure, to the reconstructed picture in order to improve subjective / objective picture quality as necessary.
  • an in-loop filtering procedure such as a deblocking filtering and / or SAO procedure
  • the L0 motion information and the L1 motion information of the current block can be derived. Coding efficiency can be improved.
  • the present invention by receiving a syntax element indicating the L0 motion information and the L1 motion information for the current block, it is possible to reduce the data amount of information for inter prediction of the current block, thereby improving the overall coding efficiency. have.
  • receiving information indicating whether to use the syntax element indicating the L0 motion information and the L1 motion information for the current block can be selectively applied to a part of the image, thereby improving the overall coding efficiency.
  • the above-described method according to the present invention may be implemented in software, and the encoding device and / or the decoding device according to the present invention may perform image processing of, for example, a TV, a computer, a smartphone, a set-top box, a display device, and the like. It can be included in the device.
  • the above-described method may be implemented as a module (process, function, etc.) for performing the above-described function.
  • the module may be stored in memory and executed by a processor.
  • the memory may be internal or external to the processor and may be coupled to the processor by various well known means.
  • the processor may include application-specific integrated circuits (ASICs), other chipsets, logic circuits, and / or data processing devices.
  • the memory may include read-only memory (ROM), random access memory (RAM), flash memory, memory card, storage medium and / or other storage device.

Landscapes

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

Abstract

본 발명에 따른 디코딩 장치에 의하여 수행되는 영상 디코딩 방법은 L0 및 L1을 도출하는 단계, 비트스트림을 통하여 현재 블록에 대한 L0 움직임 정보 및 L1 움직임 정보를 나타내는 신텍스 요소를 수신하는 단계, 상기 신텍스 요소를 기반으로 상기 현재 블록에 대한 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 도출하는 단계, 및 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 기반으로 상기 현재 블록의 예측 샘플을 생성하는 단계를 포함하되, 상기 L0 움직임 정보는 상기 L0에 포함된 상기 현재 블록의 제1 참조 픽처의 인덱스 및 움직임 벡터 예측자 L0 중 적어도 하나를 포함하고, 상기 L1 움직임 정보는 상기 L1에 포함된 상기 현재 블록의 제2 참조 픽처의 인덱스 및 움직임 벡터 예측자 L1 중 적어도 하나를 포함하는 것을 특징으로 한다.

Description

영상 코딩 시스템에서 영상 디코딩 방법 및 장치
본 발명은 영상 코딩 기술에 관한 것으로서 보다 상세하게는 영상 코딩 시스템에서 영상 디코딩 방법 및 장치에 관한 것이다.
최근 HD(High Definition) 영상 및 UHD(Ultra High Definition) 영상과 같은 고해상도, 고품질의 영상에 대한 수요가 다양한 분야에서 증가하고 있다. 영상 데이터가 고해상도, 고품질이 될수록 기존의 영상 데이터에 비해 상대적으로 전송되는 정보량 또는 비트량이 증가하기 때문에 기존의 유무선 광대역 회선과 같은 매체를 이용하여 영상 데이터를 전송하거나 기존의 저장 매체를 이용해 영상 데이터를 저장하는 경우, 전송 비용과 저장 비용이 증가된다.
이에 따라, 고해상도, 고품질 영상의 정보를 효과적으로 전송하거나 저장하고, 재생하기 위해 고효율의 영상 압축 기술이 요구된다.
본 발명의 기술적 과제는 영상 코딩 효율을 높이는 방법 및 장치를 제공함에 있다.
본 발명의 다른 기술적 과제는 현재 블록에 대한 L0 움직임 정보 및 L1 움직임 정보를 나타내는 신텍스 요소(syntax element)를 수신하는 인터 예측 방법 및 장치를 제공함에 있다.
본 발명의 또 다른 기술적 과제는 현재 블록의 제1 참조 픽처 및 제2 참조 픽처를 가리키는 인덱스를 수신하는 인터 예측 방법 및 장치를 제공함에 있다.
본 발명의 또 다른 기술적 과제는 현재 블록의 MVPL0 및 MVPL1를 가리키는 인덱스를 수신하는 인터 예측 방법 및 장치를 제공함에 있다.
본 발명의 또 다른 기술적 과제는 현재 블록의 제1 참조 픽처, 제2 참조 픽처, MVPL0 및 MVPL1를 가리키는 인덱스를 수신하는 인터 예측 방법 및 장치를 제공함에 있다.
본 발명의 일 실시예에 따르면, 디코딩 장치에 의하여 수행되는 영상 디코딩 방법이 제공된다. 상기 방법은 참조 픽처 리스트 0(List 0, L0) 및 참조 픽처 리스트 1(List 1, L1)을 도출하는 단계, 비트스트림을 통하여 현재 블록에 대한 L0 움직임 정보 및 L1 움직임 정보를 나타내는 신텍스 요소(syntax element)를 수신하는 단계, 상기 신텍스 요소를 기반으로 상기 현재 블록에 대한 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 도출하는 단계, 및 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 기반으로 상기 현재 블록의 예측 샘플을 생성하는 단계를 포함하되, 상기 L0 움직임 정보는 상기 L0에 포함된 상기 현재 블록의 제1 참조 픽처의 인덱스(index) 및 움직임 벡터 예측자 L0(Motion Vector Predictor L0, MVPL0) 중 적어도 하나를 포함하고, 상기 L1 움직임 정보는 상기 L1에 포함된 상기 현재 블록의 제2 참조 픽처의 인덱스 및 움직임 벡터 예측자 L1(Motion Vector Predictor L1, MVPL1) 중 적어도 하나를 포함하는 것을 특징으로 한다.
본 발명의 다른 일 실시예에 따르면, 영상 디코딩을 수행하는 디코딩 장치가 제공된다. 상기 디코딩 장치는 비트스트림을 통하여 현재 블록에 대한 L0 움직임 정보 및 L1 움직임 정보를 나타내는 신텍스 요소(syntax element)를 수신하는 엔트로피 디코딩부, 및 참조 픽처 리스트 0(List 0, L0) 및 참조 픽처 리스트 1(List 1, L1)을 도출하고, 상기 신텍스 요소를 기반으로 상기 현재 블록에 대한 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 도출하고, 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 기반으로 상기 현재 블록의 예측 샘플을 생성하는 예측부를 포함하되, 상기 L0 움직임 정보는 상기 L0에 포함된 상기 현재 블록의 제1 참조 픽처 및 움직임 벡터 예측자 L0(Motion Vector Predictor L0, MVPL0) 중 적어도 하나를 포함하고, 상기 L1 움직임 정보는 상기 L1에 포함된 상기 현재 블록의 제2 참조 픽처 및 움직임 벡터 예측자 L1(Motion Vector Predictor L1, MVPL1) 중 적어도 하나를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 일 실시예에 따르면, 인코딩 장치에 의하여 수행되는 비디오 인코딩 방법을 제공한다. 상기 방법은 참조 픽처 리스트 0(List 0, L0) 및 참조 픽처 리스트 1(List 1, L1)을 도출하는 단계, 현재 블록에 대한 L0 움직임 정보 및 L1 움직임 정보를 도출하는 단계, 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 기반으로 상기 현재 블록의 예측 샘플을 생성하는 단계, 상기 현재 블록에 대한 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 나타내는 신텍스 요소를 생성하는 단계, 및 상기 현재 블록에 대한 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 나타내는 상기 신텍스 요소를 인코딩하여 출력하는 단계를 포함하되, 상기 L0 움직임 정보는 상기 L0에 포함된 상기 현재 블록의 제1 참조 픽처 및 움직임 벡터 예측자 L0(Motion Vector Predictor L0, MVPL0) 중 적어도 하나를 포함하고, 상기 L1 움직임 정보는 상기 L1에 포함된 상기 현재 블록의 제2 참조 픽처 및 움직임 벡터 예측자 L1(Motion Vector Predictor L1, MVPL1) 중 적어도 하나를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 일 실시예에 따르면, 비디오 인코딩 장치를 제공한다. 상기 인코딩 장치는 참조 픽처 리스트 0(List 0, L0) 및 참조 픽처 리스트 1(List 1, L1)을 도출하고, 현재 블록에 대한 L0 움직임 정보 및 L1 움직임 정보를 도출하고, 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 기반으로 상기 현재 블록의 예측 샘플을 생성하고, 상기 현재 블록에 대한 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 나타내는 신텍스 요소를 생성하는 예측부, 및 상기 현재 블록에 대한 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 나타내는 상기 신텍스 요소를 인코딩하여 출력하는 엔트로피 인코딩부를 포함하되, 상기 L0 움직임 정보는 상기 L0에 포함된 상기 현재 블록의 제1 참조 픽처 및 움직임 벡터 예측자 L0(Motion Vector Predictor L0, MVPL0) 중 적어도 하나를 포함하고, 상기 L1 움직임 정보는 상기 L1에 포함된 상기 현재 블록의 제2 참조 픽처 및 움직임 벡터 예측자 L1(Motion Vector Predictor L1, MVPL1) 중 적어도 하나를 포함하는 것을 특징으로 한다.
상술한 본 발명에 따르면 현재 블록에 대한 L0 움직임 정보 및 L1 움직임 정보를 나타내는 신텍스 요소를 기반으로 현재 블록의 L0 움직임 정보 및 L1 움직임 정보를 도출할 수 있고, 이를 통하여 상기 현재 블록에 대한 인터 예측의 코딩 효율를 향상시킬 수 있다.
본 발명에 따르면 현재 블록에 대한 L0 움직임 정보 및 L1 움직임 정보를 나타내는 신텍스 요소를 수신하여 상기 현재 블록의 인터 예측을 위한 정보의 데이터량을 줄일 수 있고, 이를 통하여 전반적인 코딩 효율을 향상시킬 수 있다.
본 발명에 따르면 현재 블록에 대한 L0 움직임 정보 및 L1 움직임 정보를 나타내는 신텍스 요소의 사용 여부를 나타내는 정보를 수신하여 영상 내 일부에 선택적으로 적용할 수 있고, 이를 통하여 전반적인 코딩 효율을 향상시킬 수 있다.
도 1은 본 발명이 적용될 수 있는 비디오 인코딩 장치의 구성을 개략적으로 설명하는 도면이다.
도 2는 본 발명이 적용될 수 있는 비디오 디코딩 장치의 구성을 개략적으로 설명하는 도면이다.
도 3은 인터 예측을 위한 DPB(decoded picture buffer) 및 참조 픽처 리스트에 포함된 참조 픽처들을 예시적으로 나타낸다.
도 4는 상기 현재 블록의 인터 예측을 위한 제1 참조 픽처 및 제2 참조 픽처와 움직임 벡터 L0 및 움직임 벡터 L1을 나타낸다.
도 5는 본 발명에 따른 인코딩 장치에 의한 비디오 인코딩 방법을 개략적으로 나타낸다.
도 6은 본 발명에 따른 디코딩 장치에 의한 비디오 디코딩 방법을 개략적으로 나타낸다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정 실시예에 한정하려고 하는 것이 아니다. 본 명세서에서 상용하는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명의 기술적 사상을 한정하려는 의도로 사용되는 것은 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서 "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부품 도는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
한편, 본 발명에서 설명되는 도면상의 각 구성들은 서로 다른 특징적인 기능들에 관한 설명의 편의를 위해 독립적으로 도시된 것으로서, 각 구성들이 서로 별개의 하드웨어나 별개의 소프트웨어로 구현된다는 것을 의미하지는 않는다. 예컨대, 각 구성 중 두 개 이상의 구성이 합쳐져 하나의 구성을 이룰 수도 있고, 하나의 구성이 복수의 구성으로 나뉘어질 수도 있다. 각 구성이 통합 및/또는 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성 요소에 대해서는 동일한 참조 부호를 사용하고 동일한 구성 요소에 대해서 중복된 설명은 생략한다.
본 명세서에서 픽처(picture)는 일반적으로 특정 시간대의 하나의 영상을 나타내는 단위를 의미하며, 슬라이스(slice)는 코딩에 있어서 픽처의 일부를 구성하는 단위이다. 하나의 픽처는 복수의 슬라이스로 구성될 수 있으며, 필요에 따라서 픽처 및 슬라이스는 서로 혼용되어 사용될 수 있다.
픽셀(pixel) 또는 펠(pel)은 하나의 픽처(또는 영상)을 구성하는 최소의 단위를 의미할 수 있다. 또한, 픽셀에 대응하는 용어로서 '샘플(sample)'이 사용될 수 있다. 샘플은 일반적으로 픽셀 또는 픽셀의 값을 나타낼 수 있으며, 휘도(luma) 성분의 픽셀/픽셀값만을 나타낼 수도 있고, 채도(chroma) 성분의 픽셀/픽셀 값만을 나타낼 수도 있다.
유닛(unit)은 영상 처리의 기본 단위를 나타낸다. 유닛은 픽처의 특정 영역 및 해당 영역에 관련된 정보 중 적어도 하나를 포함할 수 있다. 유닛은 경우에 따라서 블록(block) 또는 영역(area) 등의 용어와 혼용하여 사용될 수 있다. 일반적인 경우, MxN 블록은 M개의 열과 N개의 행으로 이루어진 샘플들 또는 변환 계수(transform coefficient)들의 집합을 나타낼 수 있다.
도 1은 본 발명이 적용될 수 있는 비디오 인코딩 장치의 구성을 개략적으로 설명하는 도면이다.
도 1을 참조하면, 비디오 인코딩 장치(100)는 픽처 분할부(105), 예측부(110), 감산부(115), 변환부(120), 양자화부(125), 재정렬부(130), 엔트로피 인코딩부(135), 역양자화부(140), 역변환부(145), 가산부(150), 필터부(155) 및 메모리(160)을 포함한다.
픽처 분할부(105)는 입력된 픽처를 적어도 하나의 처리 유닛(processing unit)으로 분할할 수 있다. 이 때, 처리 유닛은 코딩 유닛(coding unit, CU), 예측 유닛(prediction unit, PU) 또는 변환 유닛(transform unit, TU)일 수 있다. 코딩 유닛은 코딩의 유닛 블록이고, 최대 코딩 유닛(largest coding unit, LCU)으로부터 쿼드 트리 구조(quad-tree structure)를 따라서 하위(deeper) 뎁스의 코딩 유닛들로 분할(split)될 수 있다. 이 경우 영상 특성에 따른 코딩 효율 등을 기반으로, 최대 코딩 유닛이 바로 최종 코딩 유닛으로 사용될 수 있고, 또는 필요에 따라 코딩 유닛은 재귀적으로(recursively) 보다 하위 뎁스의 코딩 유닛들로 분할되어 최적의 사이즈의 코딩 유닛이 최종 코딩 유닛으로 사용될 수 있다. 최소 코딩 유닛(smallest coding unit, SCU)이 설정된 경우 코딩 유닛은 최소 코딩 유닛보다 더 작은 코딩 유닛으로 분할될 수 없다. 여기서 최종 코딩 유닛이라 함은 예측 유닛 또는 변환 유닛으로 파티셔닝 또는 분할되는 기반이 되는 코딩 유닛을 의미한다. 예측 유닛은 코딩 유닛 블록으로부터 파티셔닝(partitioning)되는 블록으로서, 샘플 예측의 유닛 블록일 수 있다. 이 때, 예측 유닛은 서브 블록(sub block)으로 나뉠 수도 있다. 변환 유닛은 코딩 유닛 블록으로부터 쿼드 트리 구조를 따라서 분할 될 수 있으며, 변환 계수를 유도하는 유닛 블록 및/또는 변환 계수로부터 레지듀얼 신호(residual signal)를 유도하는 유닛 블록일 수 있다.
이하, 코딩 유닛은 코딩 블록(coding block, CB), 예측 유닛은 예측 블록(prediction block, PB), 변환 유닛은 변환 블록(transform block, TB) 으로 불릴 수 있다.
예측 블록 또는 예측 유닛은 픽처 내에서 블록 형태의 특정 영역을 의미할 수 있고, 예측 샘플의 어레이(array)를 포함할 수 있다. 또한, 변환 블록 또는 변환 유닛은 픽처 내에서 블록 형태의 특정 영역을 의미할 수 있고, 변환 계수 또는 레지듀얼 샘플의 어레이를 포함할 수 있다.
예측부(110)는 처리 대상 블록(이하, 현재 블록이라 함)에 대한 예측을 수행하고, 상기 현재 블록에 대한 예측 샘플들을 포함하는 예측 블록을 생성할 수 있다. 예측부(110)에서 수행되는 예측의 단위는 코딩 블록일 수 있고, 변환 블록일 수도 있고, 예측 블록일 수도 있다.
예측부(110)는 현재 블록에 인트라 예측이 적용되는지 인터 예측이 적용되는지를 결정할 수 있다. 일 예로, 예측부(110)는 CU 단위로 인트라 예측 또는 인터 예측이 적용되는지를 결정할 수 있다.
인트라 예측의 경우에, 예측부(110)는 현재 블록이 속하는 픽처(이하, 현재 픽처) 내의 현재 블록 외부의 참조 샘플을 기반으로 현재 블록에 대한 예측 샘플을 유도할 수 있다. 이 때, 예측부(110)는 (i) 현재 블록의 주변(neighboring) 참조 샘플들의 평균(average) 혹은 인터폴레이션(interpolation)을 기반으로 예측 샘플을 유도할 수 있고, (ii) 현재 블록의 주변 참조 샘플들 중 예측 샘플에 대하여 특정 (예측) 방향에 존재하는 참조 샘플을 기반으로 상기 예측 샘플을 유도할 수도 있다. (i)의 경우는 비방향성 모드 또는 비각도 모드, (ii)의 경우는 방향성(directional) 모드 또는 각도(angular) 모드라고 불릴 수 있다. 인트라 예측에서 예측 모드는 예를 들어 33개의 방향성 예측 모드와 적어도 2개 이상의 비방향성 모드를 가질 수 있다. 비방향성 모드는 DC 예측 모드 및 플래너 모드(Planar 모드)를 포함할 수 있다. 예측부(110)는 주변 블록에 적용된 예측 모드를 이용하여, 현재 블록에 적용되는 예측 모드를 결정할 수도 있다.
인터 예측의 경우에, 예측부(110)는 참조 픽처 상에서 움직임 벡터에 의해 특정되는 샘플을 기반으로, 현재 블록에 대한 예측 샘플을 유도할 수 있다. 예측부(110)는 스킵(skip) 모드, 머지(merge) 모드, 및 MVP(motion vector prediction) 모드 중 어느 하나를 적용하여 현재 블록에 대한 예측 샘플을 유도할 수 있다. 스킵 모드와 머지 모드의 경우에, 예측부(110)는 주변 블록의 움직임 정보를 현재 블록의 움직임 정보로 이용할 수 있다. 스킵 모드의 경우, 머지 모드와 달리 예측 샘플과 원본 샘플 사이의 차(레지듀얼)가 전송되지 않는다. MVP 모드의 경우, 주변 블록의 움직임 벡터를 움직임 벡터 예측자(Motion Vector Predictor)로 이용하여 현재 블록의 움직임 벡터 예측자로 이용하여 현재 블록의 움직임 벡터를 유도할 수 있다.
인터 예측의 경우에, 주변 블록은 현재 픽처 내에 존재하는 공간적 주변 블록(spatial neighboring block)과 참조 픽처(reference picture)에 존재하는 시간적 주변 블록(temporal neighboring block)을 포함할 수 있다. 상기 시간적 주변 블록을 포함하는 참조 픽처는 동일 위치 픽처(collocated picture, colPic)라고 불릴 수도 있다. 움직임 정보(motion information)는 움직임 벡터와 참조 픽처 인덱스를 포함할 수 있다. 예측 모드 정보와 움직임 정보 등의 정보는 (엔트로피) 인코딩되어 비트스트림 형태로 출력될 수 있다.
스킵 모드와 머지 모드에서 시간적 주변 블록의 움직임 정보가 이용되는 경우에, 참조 픽처 리스트(reference picture list) 상의 최상위 픽처가 참조 픽처로서 이용될 수도 있다. 참조 픽처 리스트(Picture Order Count)에 포함되는 참조 픽처들은 현재 픽처와 해당 참조 픽처 간의 POC(Picture order count) 차이 기반으로 정렬될 수 있다. POC는 픽처의 디스플레이 순서에 대응하며, 코딩 순서와 구분될 수 있다.
감산부(115)는 원본 샘플과 예측 샘플 간의 차이인 레지듀얼 샘플을 생성한다. 스킵 모드가 적용되는 경우에는, 상술한 바와 같이 레지듀얼 샘플을 생성하지 않을 수 있다.
변환부(120)는 변환 블록 단위로 레지듀얼 샘플을 변환하여 변환 계수(transform coefficient)를 생성한다. 변환부(120)는 해당 변환 블록의 사이즈와, 해당 변환 블록과 공간적으로 겹치는 코딩 블록 또는 예측 블록에 적용된 예측 모드에 따라서 변환을 수행할 수 있다. 예컨대, 상기 변환 블록과 겹치는 상기 코딩 블록 또는 상기 예측 블록에 인트라 예측이 적용되었고, 상기 변환 블록이 4×4의 레지듀얼 어레이(array)라면, 레지듀얼 샘플은 DST(Discrete Sine Transform)를 이용하여 변환되고, 그 외의 경우라면 레지듀얼 샘플은 DCT(Discrete Cosine Transform)를 이용하여 변환할 수 있다.
양자화부(125)는 변환 계수들을 양자화하여, 양자화된 변환 계수를 생성할 수 있다.
재정렬부(130)는 양자화된 변환 계수를 재정렬한다. 재정렬부(130)는 계수들 스캐닝(scanning) 방법을 통해 블록 형태의 양자화된 변환 계수들을 1차원 벡터 형태로 재정렬할 수 있다. 여기서 재정렬부(130)는 별도의 구성으로 설명하였으나, 재정렬부(130)는 양자화부(125)의 일부일 수 있다.
엔트로피 인코딩부(135)는 양자화된 변환 계수들에 대한 엔트로피 인코딩을 수행할 수 있다. 엔트로피 인코딩은 예를 들어 지수 골롬(exponential Golomb), CAVLC(context-adaptive variable length coding), CABAC(context-adaptive binary arithmetic coding) 등과 같은 인코딩 방법을 포함할 수 있다. 엔트로피 인코딩부(135)는 양자화된 변환 계수 외 비디오 복원에 필요한 정보들(예컨대 신택스 요소(syntax element)의 값 등)을 함께 또는 별도로 인코딩할 수도 있다. 엔트로피 인코딩된 정보들은 비트스트림 형태로 NAL(network abstraction layer) 유닛 단위로 전송 또는 저장될 수 있다.
역양자화부(140)는 양자화부(125)에서 양자화된 값(양자화된 변환 계수)들을 역양자화하고, 역변환부(145)는 역양자화부(135)에서 역양자화된 값들을 역변환하여 레지듀얼 샘플을 생성한다.
가산부(150)는 레지듀얼 샘플과 예측 샘플을 합쳐서 픽처를 복원한다. 레지듀얼 샘플과 예측 샘플은 블록 단위로 더해져서 복원 블록이 생성될 수 있다. 여기서 가산부(150)는 별도의 구성으로 설명하였으나, 가산부(150)는 예측부(110)의 일부일 수 있다.
복원된 픽처(reconstructed picture)에 대하여 필터부(155)는 디블록킹 필터 및/또는 샘플 적응적 오프셋(sample adaptive offset)을 적용할 수 있다. 디블록킹 필터링 및/또는 샘플 적응적 오프셋을 통해, 복원 픽처 내 블록 경계의 아티팩트나 양자화 과정에서의 왜곡이 보정될 수 있다. 샘플 적응적 오프셋은 샘플 단위로 적용될 수 있으며, 디블록킹 필터링의 과정이 완료된 후 적용될 수 있다. 필터부(155)는 ALF(Adaptive Loop Filter)를 복원된 픽처에 적용할 수도 있다. ALF는 디블록킹 필터 및/또는 샘플 적응적 오프셋이 적용된 후의 복원된 픽처에 대하여 적용될 수 있다.
메모리(160)는 복원 픽처 또는 인코딩/디코딩에 필요한 정보를 저장할 수 있다. 여기서 복원 픽처는 상기 필터부(155)에 의하여 필터링 절차가 완료된 복원 픽처일 수 있다. 상기 저장된 복원 픽처는 다른 픽처의 (인터) 예측을 위한 참조 픽처로 활용될 수 있다. 예컨대, 메모리(160)는 인터 예측에 사용되는 (참조) 픽처들을 저장할 수 있다. 이 때, 인터 예측에 사용되는 픽처들은 참조 픽처 세트(reference picture set) 혹은 참조 픽처 리스트(reference picture list)에 의해 지정될 수 있다.
도 2는 본 발명이 적용될 수 있는 비디오 디코딩 장치의 구성을 개략적으로 설명하는 도면이다.
도 2를 참조하면, 비디오 디코딩 장치(200)는 엔트로피 디코딩부(210), 재정렬부(220), 역양자화부(230), 역변환부(240), 예측부(250), 가산부(260), 필터부(270), 메모리(280)를 포함한다.
비디오 정보를 포함하는 비트스트림이 입력되면, 비디오 디코딩 장치는(200)는 비디오 인코딩 장치에서 비디오 정보가 처리된 프로세스에 대응하여 비디오를 복원할 수 있다.
예컨대, 비디오 디코딩 장치(200)는 비디오 인코딩 장치에서 적용된 처리 유닛을 이용하여 비디오 디코딩을 수행할 수 있다. 따라서 비디오 디코딩의 처리 유닛 블록은 코딩 유닛 블록, 예측 유닛 블록 또는 변환 유닛 블록일 수 있다. 코딩 유닛 블록은 디코딩의 유닛 블록으로서 최대 코딩 유닛 블록으로부터 쿼드 트리 구조를 따라서 분할될 수 있다. 예측 유닛 블록은 코딩 유닛 블록으로부터 파티셔닝되는 블록으로서, 샘플 예측의 유닛 블록일 수 있다. 이 때, 예측 유닛 블록은 서브 블록으로 나뉠 수도 있다. 변환 유닛 블록은 코딩 유닛 블록으로부터 쿼드 트리 구조를 따라서 분할 될 수 있으며, 변환 계수를 유도하는 유닛 블록 또는 변환 계수로부터 레지듀얼 신호를 유도하는 유닛 블록일 수 있다.
엔트로피 디코딩부(210)는 비트스트림을 파싱하여 비디오 복원 또는 픽처 복원에 필요한 정보를 출력할 수 있다. 예컨대, 엔트로피 디코딩부(210)는 지수 골롬 부호화, CAVLC 또는 CABAC 등의 코딩 방법을 기초로 비트스트림 내 정보를 디코딩하고, 비디오 복원에 필요한 신택스 엘리먼트의 값, 레지듀얼에 관한 변환 계수의 양자화된 값 들을 출력할 수 있다.
보다 상세하게, CABAC 엔트로피 디코딩 방법은, 비트스트림에서 각 구문 요소에 해당하는 빈을 수신하고, 디코딩 대상 구문 요소 정보와 주변 및 디코딩 대상 블록의 디코딩 정보 혹은 이전 단계에서 디코딩된 심볼/빈의 정보를 이용하여 문맥(context) 모델을 결정하고, 결정된 문맥 모델에 따라 빈(bin)의 발생 확률을 예측하여 빈의 산술 디코딩(arithmetic decoding)를 수행하여 각 구문 요소의 값에 해당하는 심볼을 생성할 수 있다. 이때, CABAC 엔트로피 디코딩 방법은 문맥 모델 결정 후 다음 심볼/빈의 문맥 모델을 위해 디코딩된 심볼/빈의 정보를 이용하여 문맥 모델을 업데이트할 수 있다.
엔트로피 디코딩부(210)에서 디코딩된 정보 중 예측에 관한 정보는 예측부(230)로 제공되고, 엔트로피 디코딩부(210)에서 엔트로피 디코딩이 수행된 레지듀얼 값, 즉 양자화된 변환 계수는 재정렬부(220)로 입력될 수 있다.
재정렬부(220)는 양자화되어 있는 변환 계수들을 2차원의 블록 형태로 재정렬할 수 있다. 재정렬부(220)는 인코딩 장치에서 수행된 계수 스캐닝에 대응하여 재정렬을 수행할 수 있다. 여기서 재정렬부(220)는 별도의 구성으로 설명하였으나, 재정렬부(220)는 양자화부(230)의 일부일 수 있다.
역양자화부(230)는 양자화되어 있는 변환 계수들을 (역)양자화 파라미터를 기반으로 역양자화하여 변환 계수를 출력할 수 있다. 이 때, 양자화 파라미터를 유도하기 위한 정보는 인코딩 장치로부터 시그널링될 수 있다.
역변환부(240)는 변환 계수들을 역변환하여 레지듀얼 샘플들을 유도할 수 있다.
예측부(250)는 현재 블록에 대한 예측을 수행하고, 상기 현재 블록에 대한 예측 샘플들을 포함하는 예측 블록을 생성할 수 있다. 예측부(250)에서 수행되는 예측의 단위는 코딩 블록일 수도 있고, 변환 블록일 수도 있고, 예측 블록일 수도 있다.
예측부(250)는 상기 예측에 관한 정보를 기반으로 인트라 예측을 적용할 것인지 인터 예측을 적용할 것인지를 결정할 수 있다. 이 때, 인트라 예측과 인터 예측 중 어느 것을 적용할 것인지를 결정하는 단위와 예측 샘플을 생성하는 단위는 상이할 수 있다. 아울러, 인터 예측과 인트라 예측에 있어서 예측 샘플을 생성하는 단위 또한 상이할 수 있다. 예를 들어, 인터 예측과 인트라 예측 중 어느 것을 적용할 것인지는 CU 단위로 결정할 수 있다. 또한 예를 들어, 인터 예측에 있어서 PU 단위로 예측 모드를 결정하고 예측 샘플을 생성할 수 있고, 인트라 예측에 있어서 PU 단위로 예측 모드를 결정하고 TU 단위로 예측 샘플을 생성할 수도 있다.
인트라 예측의 경우에, 예측부(250)는 현재 픽처 내의 주변 참조 샘플을 기반으로 현재 블록에 대한 예측 샘플을 유도할 수 있다. 예측부(250)는 현재 블록의 주변 참조 샘플을 기반으로 방향성 모드 또는 비방향성 모드를 적용하여 현재 블록에 대한 예측 샘플을 유도할 수 있다. 이 때, 주변 블록의 인트라 예측 모드를 이용하여 현재 블록에 적용할 예측 모드가 결정될 수도 있다.
인터 예측의 경우에, 예측부(250)는 참조 픽처 상에서 움직임 벡터에 의해 참조 픽처 상에서 특정되는 샘플을 기반으로 현재 블록에 대한 예측 샘플을 유도할 수 있다. 예측부(250)는 스킵(skip) 모드, 머지(merge) 모드 및 MVP 모드 중 어느 하나를 적용하여 현재 블록에 대한 예측 샘플을 유도할 수 있다. 이때, 비디오 인코딩 장치에서 제공된 현재 블록의 인터 예측에 필요한 움직임 정보, 예컨대 움직임 벡터, 참조 픽처 인덱스 등에 관한 정보는 상기 예측에 관한 정보를 기반으로 획득 또는 유도될 수 있다
스킵 모드와 머지 모드의 경우에, 주변 블록의 움직임 정보가 현재 블록의 움직임 정보로 이용될 수 있다. 이 때, 주변 블록은 공간적 주변 블록과 시간적 주변 블록을 포함할 수 있다.
예측부(250)는 가용한 주변 블록의 움직임 정보로 머지 후보 리스트를 구성하고, 머지 인덱스가 머지 후보 리스트 상에서 지시하는 정보를 현재 블록의 움직임 벡터로 사용할 수 있다. 머지 인덱스는 인코딩 장치로부터 시그널링될 수 있다. 움직임 정보는 움직임 벡터와 참조 픽처를 포함할 수 있다. 스킵 모드와 머지 모드에서 시간적 주변 블록의 움직임 정보가 이용되는 경우에, 참조 픽처 리스트 상의 최상위 픽처가 참조 픽처로서 이용될 수 있다.
스킵 모드의 경우, 머지 모드와 달리 예측 샘플과 원본 샘플 사이의 차이(레지듀얼)이 전송되지 않는다.
MVP 모드의 경우, 주변 블록의 움직임 벡터를 움직임 벡터 예측자(motion vector predictor)로 이용하여 현재 블록의 움직임 벡터가 유도될 수 있다. 이 때, 주변 블록은 공간적 주변 블록과 시간적 주변 블록을 포함할 수 있다.
일 예로, 머지 모드가 적용되는 경우, 복원된 공간적 주변 블록의 움직임 벡터 및/또는 시간적 주변 블록인 Col 블록에 대응하는 움직임 벡터를 이용하여, 머지 후보 리스트가 생성될 수 있다. 머지 모드에서는 머지 후보 리스트에서 선택된 후보 블록의 움직임 벡터가 현재 블록의 움직임 벡터로 사용된다. 상기 예측에 관한 정보는 상기 머지 후보 리스트에 포함된 후보 블록들 중에서 선택된 최적의 움직임 벡터를 갖는 후보 블록을 지시하는 머지 인덱스를 포함할 수 있다. 이 때, 예측부(250)는 상기 머지 인덱스를 이용하여, 현재 블록의 움직임 벡터를 도출할 수 있다.
다른 예로, MVP(Motion Vector Prediction) 모드가 적용되는 경우, 복원된 공간적 주변 블록의 움직임 벡터 및/또는 시간적 주변 블록인 Col 블록에 대응하는 움직임 벡터를 이용하여, 움직임 벡터 예측자 후보 리스트가 생성될 수 있다. 즉, 복원된 공간적 주변 블록의 움직임 벡터 및/또는 시간적 주변 블록인 Col 블록에 대응하는 움직임 벡터는 움직임 벡터 후보로 사용될 수 있다. 상기 예측에 관한 정보는 상기 리스트에 포함된 움직임 벡터 후보 중에서 선택된 최적의 움직임 벡터를 지시하는 예측 움직임 벡터 인덱스를 포함할 수 있다. 이 때, 예측부(250)는 상기 움직임 벡터 인덱스를 이용하여, 움직임 벡터 후보 리스트에 포함된 움직임 벡터 후보 중에서, 현재 블록의 예측 움직임 벡터를 선택할 수 있다. 인코딩 장치의 예측부는 현재 블록의 움직임 벡터와 움직임 벡터 예측자 간의 움직임 벡터 차분(MVD)을 구할 수 있고, 이를 인코딩하여 비트스트림 형태로 출력할 수 있다. 즉, MVD는 현재 블록의 움직임 벡터에서 상기 움직임 벡터 예측자를 뺀 값으로 구해질 수 있다. 이 때, 예측부(250)는 상기 예측에 관한 정보에 포함된 움직임 벡터 차분을 획득하고, 상기 움직임 벡터 차분과 상기 움직임 벡터 예측자의 가산을 통해 현재 블록의 상기 움직임 벡터를 도출할 수 있다. 예측부는 또한 참조 픽처를 지시하는 참조 픽처 인덱스 등을 상기 예측에 관한 정보로부터 획득 또는 유도할 수 있다.
가산부(260)는 레지듀얼 샘플과 예측 샘플을 더하여 현재 블록 혹은 현재 픽처를 복원할 수 있다. 가산부(260)는 레지듀얼 샘플과 예측 샘플을 블록 단위로 더하여 현재 픽처를 복원할 수도 있다. 스킵 모드가 적용된 경우에는 레지듀얼이 전송되지 않으므로, 예측 샘플이 복원 샘플이 될 수 있다. 여기서는 가산부(260)를 별도의 구성으로 설명하였으나, 가산부(260)는 예측부(250)의 일부일 수도 있다.
필터부(270)는 복원된 픽처에 디블록킹 필터링 샘플 적응적 오프셋, 및/또는 ALF 등을 적용할 수 있다. 이 때, 샘플 적응적 오프셋은 샘플 단위로 적용될 수 있으며, 디블록킹 필터링 이후 적용될 수도 있다. ALF는 디블록킹 필터링 및/또는 샘플 적응적 오프셋 이후 적용될 수도 있다.
메모리(280)는 복원 픽처 또는 디코딩에 필요한 정보를 저장할 수 있다. 여기서 복원 픽처는 상기 필터부(270)에 의하여 필터링 절차가 완료된 복원 픽처일 수 있다. 예컨대, 메모리(280)는 인터 예측에 사용되는 픽처들을 저장할 수 있다. 이 때, 인터 예측에 사용되는 픽처들은 참조 픽처 세트 혹은 참조 픽처 리스트에 의해 지정될 수도 있다. 복원된 픽처는 다른 픽처에 대한 참조 픽처로서 이용될 수 있다. 또한, 메모리(280)는 복원된 픽처를 출력 순서에 따라서 출력할 수도 있다.
상술한 내용과 같이 현재 블록에 대하여 인터 예측이 수행되는 경우, 상기 현재 블록에 대한 인터 예측을 위하여 하나 또는 두 개의 참조 픽처 리스트가 사용될 수 있다. 즉, 현재 블록에 대한 예측을 위하여 디코딩된 픽처들을 기반으로 참조 픽처 리스트 0 또는 참조 픽처 리스트 1이 구성될 수 있고, 또는 참조 픽처 리스트 0 및 1 둘 다가 구성될 수 있다.
도 3은 인터 예측을 위한 DPB(decoded picture buffer) 및 참조 픽처 리스트에 포함된 참조 픽처들을 예시적으로 나타낸다. 도 3을 참조하면, 0, 1, 2, 3, 4, 5는 디코딩된 픽처들의 POC(Picture order count)를 나타낸다. POC는 픽처의 디스플레이 순서에 대응하며, 코딩 순서와 구분될 수 있다. 디코딩 장치에서 허용하는 DPB 사이즈에 따라 다양한 개수의 참조 픽처들이 상기 참조 픽처 리스트 0 또는 상기 참조 픽처 리스트 1을 구성하는데 사용될 수 있다. 상기 참조 픽처 리스트 0은 L0(List 0)라고 불릴 수 있고, 상기 참조 픽처 리스트 1은 L1(List 1)이라고 불릴 수 있다. 상기 L0 및 상기 L1에 포함되는 참조 픽처들은 상기 현재 픽처와 해당 참조 픽처 간의 POC(Picture order count) 차이 기반으로 정렬될 수 있다. 또한, 예를 들어 현재 블록이 포함된 슬라이스의 슬라이스 타입이 B(B slice)인 경우 상기 두 개의 참조 픽처 리스트 중 적어도 하나가 사용될 수 있고, 상기 현재 블록이 포함된 상기 슬라이스의 슬라이스 타입이 P(P slice)인 경우 상기 참조 픽처 리스트 0만 사용될 수도 있다.
도 4는 상기 현재 블록의 인터 예측을 위한 제1 참조 픽처 및 제2 참조 픽처와 움직임 벡터 L0 및 움직임 벡터 L1을 나타낸다. 현재 블록에 대한 예측을 수행함에 있어, L0 움직임 정보를 기반으로 인터 예측을 수행하는 경우 LO 예측이라고 불릴 수 있고, L1 움직임 정보를 기반으로 인터 예측을 수행하는 경우 L1 예측이라고 불릴 수 있으며, 상기 L0 움직임 정보 및 L1 움직임 정보를 기반으로 인터 예측을 수행하는 경우 쌍예측(bi-prediction)이라고 불릴 수 있다. 여기서, 상기 L0 움직임 정보는 상기 현재 블록에 대하여 상기 L0에 포함된 참조 픽처의 인덱스(refidxL0) 및 연관된 움직임 벡터(Motion Vector L0, MVL0) 중 적어도 하나를 포함할 수 있다. 또는 상기 L0 움직임 정보는 상기 현재 블록에 대하여 상기 L0에 포함된 참조 픽처의 인덱스 및 연관된 움직임 벡터 예측자 L0(Motion Vector Predictor L0, MVPL0) 중 적어도 하나를 포함할 수도 있다. 상기 L1 움직임 정보는 상기 현재 블록에 대하여 상기 L1에 포함된 참조 픽처의 인덱스(refidxL1) 및 연관된 움직임 벡터(Motion Vector L1, MVL1) 중 적어도 하나를 포함할 수 있다. 또는 상기 L1 움직임 정보는 상기 L1에 포함된 상기 현재 블록의 참조 픽처의 인덱스 및 상기 참조 픽처에 연관된 움직임 벡터 예측자 L1(Motion Vector Predictor L1, MVPL1) 중 적어도 하나를 포함할 수 있다. 상기 L0에 포함된 상기 현재 블록의 상기 참조 픽처는 제1 참조 픽처라고 불릴 수 있고, 상기 L1에 포함된 상기 현재 블록의 상기 참조 픽처는 제2 참조 픽처라고 불릴 수 있다. 상기 MVPL0에 대한 움직임 벡터 차분 L0(Motion Vector Difference L0, MVDL0)에 대한 정보 및 상기 MVPL1에 대한 움직임 벡터 차분 L1(Motion Vector Difference L1, MVDL1)에 대한 정보가 수신될 수 있고, 상기 MVPL0 및 상기 MVDL0를 기반으로 상기 제1 참조 픽처에 연관된 움직임 벡터 L0(Motion Vector L0, MVL0)가 도출될 수 있고, 상기 MVPL1 및 상기 MVDL1를 기반으로 상기 제2 참조 픽처에 연관된 움직임 벡터 L1(Motion Vector L1, MVL1)가 도출될 수 있다. 상기 제1 참조 픽처와 상기 MVL0 및 상기 제2 참조 픽처와 상기 MVL1을 기반으로 상기 현재 블록에 대한 쌍예측이 수행될 수 있고, 상기 현재 블록의 예측 샘플이 도출될 수 있다. 일 예로, 상기 제1 참조 픽처 및 상기 MVL0를 기반으로 L0 예측 샘플을 구하고, 상기 제2 참조 픽처 및 상기 MVL1을 기반으로 L1 예측 샘플을 구할 수 있으며, 상기 L0 예측 샘플 및 상기 L1 예측 샘플의 가중합(weighted sum)을 통하여 상기 현재 블록의 상기 예측 샘플이 도출될 수 있다.
한편, 상술한 내용과 같이 상기 현재 블록에 대한 인터 예측을 수행하기 위하여 상기 움직임 정보를 나타내는 신텍스 요소(syntax element)의 전송 및 수신이 필요하다. 구체적으로 상기 L0에 포함되는 참조 픽처들 중 상기 제1 참조 픽처를 도출하기 위한 신텍스 요소 및 상기 L1에 포함되는 참조 픽처들 중 상기 제2 참조 픽처를 도출하기 위한 신텍스 요소의 전송 및 수신이 필요할 수 있고, 상기 L0에 대한 MVPL0 후보 리스트의 MVPL0 후보들 중 상기 MVPL0를 도출하기 위한 신텍스 요소 및 상기 L1에 대한 MVPL1 후보 리스트의 MVPL1 후보들 중 상기 MVPL1를 도출하기 위한 신텍스 요소의 전송 및 수신이 필요할 수 있다. 여기서, 상기 MVPL0 후보 리스트 및 상기 MVPL1 후보 리스트는 상기 현재 블록의 주변 블록들의 움직임 벡터들을 기반으로 도출될 수 있다. 즉, 상기 MVPL0 후보 리스트는 상기 현재 블록의 주변 블록들의 움직임 벡터들을 MVPL0 후보들로 하여 구성될 수 있고, 상기 MVPL1 후보 리스트는 상기 현재 블록의 주변 블록들의 움직임 벡터들을 MVPL1 후보들로 하여 구성될 수 있다. 이와 관련하여 본 발명에서는 인터 예측이 수행되는 경우, 특히 쌍예측이 수행되는 경우, 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 도출하기 위한 신텍스 요소의 효율적인 전송 및 수신으로 전체적인 코딩 효율을 향상시키는 방법들을 제안한다.
일 예로, 상기 현재 블록의 상기 L0 움직임 정보를 나타내는 신텍스 요소 및 상기 L1 움직임 정보를 나타내는 신텍스 요소가 수신될 수 있다. 구체적으로, 상기 현재 블록에 L0 예측이 수행되는 경우, 상기 L0 움직임 정보를 나타내는 상기 신텍스 요소가 수신될 수 있고, 상기 현재 블록에 L1 예측이 수행되는 경우, 상기 L1 움직임 정보를 나타내는 상기 신텍스 요소가 수신될 수 있고, 상기 현재 블록에 쌍예측이 수행되는 경우, 상기 L0 움직임 정보를 나타내는 상기 신텍스 요소 및 상기 L1 움직임 정보를 나타내는 상기 신텍스 요소가 수신될 수 있다. 상기 L0 움직임 정보를 나타내는 신텍스 요소는 상기 L0에 포함된 참조 픽처들 중 상기 제1 참조 픽처를 가리키는 인덱스를 나타낼 수 있고, 또는 상기 L0 움직임 정보를 나타내는 신텍스 요소는 상기 MVPL0 후보 리스트에 포함된 MVPL0 후보들 중 상기 MVPL0를 가리키는 플래그를 나타낼 수 있다. 또한, 상기 L1 움직임 정보를 나타내는 신텍스 요소는 상기 L1에 포함된 참조 픽처들 중 상기 제2 참조 픽처를 가리키는 인덱스를 나타낼 수 있고, 또는 상기 L1 움직임 정보를 나타내는 신텍스 요소는 상기 MVPL1 후보 리스트에 포함된 MVPL1 후보들 중 상기 MVPL1를 가리키는 플래그를 나타낼 수 있다. 상기 L0 움직임 정보를 나타내는 신텍스 요소 및 상기 L1 움직임 정보를 나타내는 신텍스 요소를 포함하는 신텍스(syntax) 구조는 다음의 표와 같이 나타낼 수 있다.
Figure PCTKR2017005671-appb-T000001
여기서, x0, y0는 상기 현재 블록의 좌상단(top-left) 샘플의 위치 (x0, y0)를 나타내고, inter_pred_idc는 상기 현재 블록에 수행되는 예측이 L0 예측, L1 예측, 및 쌍예측 중 어느 예측인지를 나타내는 신텍스 요소, ref_idx_l0는 상기 L0에 포함된 참조 픽처들 중 상기 제1 참조 픽처를 가리키는 신텍스 요소, ref_idx_l1는 상기 L1에 포함된 참조 픽처들 중 상기 제2 참조 픽처를 가리키는 신텍스 요소, mvp_l0_flag는 상기 MVPL0 후보 리스트에 포함된 MVPL0 후보들 중 상기 MVPL0를 가리키는 신텍스 요소, mvp_l1_flag는 상기 MVPL1 후보 리스트에 포함된 MVPL1 후보들 중 상기 MVPL1를 가리키는 신텍스 요소, mvd_coding은 상기 MVDL0 및/또는 상기 MVDL1를 나타내는 신텍스 요소를 나타낸다.
상기 ref_idx_l0는 상기 현재 블록에 상기 L0 예측 또는 상기 쌍예측이 수행되는 경우에 전송(시그널링)될 수 있고, 상기 ref_idx_l1는 상기 현재 블록에 상기 L1 예측 또는 상기 쌍예측이 수행되는 경우에 전송될 수 있다. 또한, 상기 mvp_l0_flag는 상기 현재 블록에 상기 L0 예측 또는 상기 쌍예측이 수행되는 경우에 전송될 수 있고, 상기 mvp_l1_flag는 상기 현재 블록에 상기 L1 예측 또는 상기 쌍예측이 수행되는 경우에 전송될 수 있다. 또한, 상기 mvd_coding은 상기 MVDL0 및/또는 상기 MVDL1을 포함할 수 있고, 각각의 MVD는 x성분 및 y성분으로 구성될 수 있으며 각 성분의 부호와 크기가 분리되어 전송될 수 있다.
한편, 상기 inter_pred_idc는 상기 현재 블록에 수행되는 예측이 상기 L0 예측, 상기 L1 예측, 및 상기 쌍예측 중 어느 예측에 해당하는지 나타낼 수 있다. 이 경우, 상기 inter_pred_idc의 값은 상기 L0 예측, 상기 L1 예측, 또는 상기 쌍예측을 나타낼 수 있다. 예를 들어, 상기 inter_pred_idc의 값이 의미하는 예측은 다음의 표와 같이 정의될 수 있다.
Figure PCTKR2017005671-appb-T000002
여기서, inter_pred_idc는 상기 현재 블록에 수행되는 예측이 L0 예측, L1 예측, 및 쌍예측 중 어느 예측인지를 나타내는 인터 예측 인덱스, PRED_L0는 상기 L0 예측, PRED_L1는 상기 L1 예측, PRED_BI는 상기 쌍예측을 나타낸다.
한편, 상기 현재 블록에 쌍예측이 수행되는 경우, 상술한 내용과 같이 상기 L0 움직임 정보를 나타내는 신텍스 요소 및 상기 L1 움직임 정보를 나타내는 신텍스 요소가 각각 전송되지 않고, L0 움직임 정보 및 상기 L1 움직임 정보 모두를 나타내는 신텍스 요소가 전송될 수 있다.
일 예로, 상기 현재 블록에 쌍예측이 수행되는 경우, 상기 제1 참조 픽처 및 상기 제2 참조 픽처 모두를 가리키는 인덱스가 전송될 수 있다. 즉, 상기 제1 참조 픽처 및 상기 제2 참조 픽처는 상기 인덱스를 기반으로 도출될 수 있다. 구체적으로, 상기 L0의 참조 픽처들 중 상기 인덱스가 가리키는 참조 픽처는 상기 제1 참조 픽처로 도출될 수 있고, 상기 L1의 참조 픽처들 중 상기 인덱스가 가리키는 참조 픽처는 상기 제2 참조 픽처로 도출될 수 있다. 이 경우, 상기 L0 움직임 정보는 상기 제1 참조 픽처의 인덱스를 포함할 수 있고, 상기 L1 움직임 정보는 상기 제2 참조 픽처의 인덱스를 포함할 수 있으며, 상기 L0 움직임 정보 및 상기 L1 움직임 정보 모두를 나타내는 신텍스 요소는 상기 제1 참조 픽처 및 상기 제2 참조 픽처를 가리키는 상기 인덱스를 나타낼 수 있다. 상기 제1 참조 픽처 및 상기 제2 참조 픽처를 가리키는 상기 인덱스는 제1 인덱스라고 불릴 수 있다. 이 경우, 상기 L0 움직임 정보 및 상기 L1 움직임 정보 모두를 나타내는 상기 제1 인덱스를 나타내는 신텍스 요소가 포함된 신텍스 구조는 다음의 표와 같이 나타낼 수 있다.
Figure PCTKR2017005671-appb-T000003
여기서, x0, y0는 상기 현재 블록의 좌상단(top-left) 샘플의 위치 (x0, y0)를 나타내고, inter_pred_idc는 상기 현재 블록에 수행되는 예측이 L0 예측, L1 예측, 및 쌍예측 중 어느 예측인지를 나타내는 신텍스 요소, ref_idx_l0는 상기 L0에 포함된 참조 픽처들 중 상기 제1 참조 픽처를 가리키는 신텍스 요소, ref_idx_l1는 상기 L1에 포함된 참조 픽처들 중 상기 제2 참조 픽처를 가리키는 신텍스 요소, mvp_l0_flag는 상기 MVPL0 후보 리스트에 포함된 MVPL0 후보들 중 상기 MVPL0를 가리키는 신텍스 요소, mvp_l1_flag는 상기 MVPL1 후보 리스트에 포함된 MVPL1 후보들 중 상기 MVPL1를 가리키는 신텍스 요소, mvd_coding은 상기 MVDL0 및/또는 상기 MVDL1를 나타내는 신텍스 요소, ref_idx_l2는 상기 L0에 포함된 참조 픽처들 중 상기 제1 참조 픽처 및 상기 L1에 포함된 참조 픽처들 중 상기 제2 참조 픽처 모두를 가리키는 신텍스 요소를 나타낸다. 즉, 상기 ref_idx_l2는 상기 제1 인덱스를 나타내는 신텍스 요소일 수 있다. 한편, 상기 제1 인덱스를 나타내는 신텍스 요소는 상기 ref_idx_l2라고 불릴 수 있고, 또는 상기 ref_idx_l2와 다른 명칭으로도 불릴 수 있다.
상기 ref_idx_l0는 상기 현재 블록에 상기 L0 예측이 수행되는 경우에 전송될 수 있고, 상기 ref_idx_l1는 상기 현재 블록에 상기 L1 예측이 수행되는 경우에 전송될 수 있으며, 상기 ref_idx_l2는 상기 현재 블록에 상기 쌍예측이 수행되는 경우에 전송될 수 있다. 또한, 상기 mvp_l0_flag는 상기 현재 블록에 상기 L0 예측 또는 상기 쌍예측이 수행되는 경우에 전송될 수 있고, 상기 mvp_l1_flag는 상기 현재 블록에 상기 L1 예측 또는 상기 쌍예측이 수행되는 경우에 전송될 수 있다. 또한, 상기 mvd_coding은 상기 MVDL0 및/또는 상기 MVDL1을 포함할 수 있고, 각각의 MVD는 x성분 및 y성분으로 구성될 수 있으며 각 성분의 부호와 크기가 분리되어 전송될 수 있다.
한편, 상기 ref_idx_l2는 상기 L0에 포함된 참조 픽처들 중 상기 제1 참조 픽처를 가리키는 인덱스 및 상기 L1에 포함된 참조 픽처들 중 상기 제2 참조 픽처를 가리키는 인덱스 모두를 나타낼 수 있고, 따라서 상기 ref_idx_l2를 기반으로 상기 제1 참조 픽처 및 상기 제2 참조 픽처가 도출될 수 있다. 즉, 상기 L0 움직임 정보는 상기 제1 참조 픽처의 인덱스를 포함할 수 있고, 상기 L1 움직임 정보는 상기 제2 참조 픽처의 인덱스를 포함할 수 있으며, 상기 ref_idx_l2의 값은 상기 제1 참조 픽처의 인덱스 및 상기 제2 참조 픽처의 인덱스의 조합을 나타낼 수 있다.
예를 들어, 상기 ref_idx_l2의 값이 의미하는 상기 제1 참조 픽처의 인덱스의 값 및 상기 제2 참조 픽처의 인덱스의 값은 다음의 표와 같이 정의될 수 있다.
Figure PCTKR2017005671-appb-T000004
여기서, ref_idx_l0는 상기 L0에 포함된 참조 픽처들 중 상기 제1 참조 픽처를 가리키는 인덱스, ref_idx_l1는 상기 L1에 포함된 참조 픽처들 중 상기 제2 참조 픽처를 가리키는 인덱스, ref_idx_l2는 상기 L0에 포함된 참조 픽처들 중 상기 제1 참조 픽처를 가리키는 인덱스 및 상기 L1에 포함된 참조 픽처들 중 상기 제2 참조 픽처를 가리키는 인덱스 모두를 나타내는 상기 제1 인덱스를 나타낼 수 있다. 표 4에 나타난 것과 같이 예를 들어 상기 ref_idx_l2의 값이 0인 경우, 상기 ref_idx_l0의 값은 0, 상기 L1에 대한 ref_idx_l1의 값은 0을 나타낼 수 있다. 또한, 상기 ref_idx_l2의 값이 1인 경우, 상기 ref_idx_l0의 값은 0, 상기 L1에 대한 ref_idx_l1의 값은 1을 나타낼 수 있고, 상기 ref_idx_l2의 값이 2인 경우, 상기 ref_idx_l0의 값은 1, 상기 L1에 대한 ref_idx_l1의 값은 0을 나타낼 수 있고, 상기 ref_idx_l2의 값이 3인 경우, 상기 ref_idx_l0의 값은 1, 상기 L1에 대한 ref_idx_l1의 값은 1을 나타낼 수 있다. 상기 ref_idx_l2의 값이 의미하는 상기 제1 참조 픽처의 인덱스 및 상기 제2 참조 픽처의 인덱스의 조합은 상기 표 4에 나타난 예에 한정하지 않고 다른 예가 있을 수 있으며, 상기 L0 및/또는 상기 L1에 포함된 참조 픽처들의 개수에 따라서 적응적으로 결정될 수 있다.
한편, 상기 ref_idx_l2는 다양한 이진화(binarization) 방법이 적용되어 코딩될 수 있다. 예를 들어 상기 ref_idx_l2의 값은 다음의 표 5와 같이 이진화 방법이 적용되어 코딩될 수 있다.
Figure PCTKR2017005671-appb-T000005
여기서, ref_idx_l2는 상기 L0에 포함된 참조 픽처들 중 상기 제1 참조 픽처를 가리키는 인덱스 및 상기 L1에 포함된 참조 픽처들 중 상기 제2 참조 픽처를 가리키는 인덱스 모두를 나타내는 상기 제1 인덱스의 신텍스 요소를 나타내고, Bin string은 이진화 방법이 적용되어 도출된 이진 데이터(binary data)를 나타낸다. 표 5에 나타난 것과 같이 상기 ref_idx_l2의 비트(bit) 수는 가변적(variable)일 수 있다. 예를 들어, 상기 ref_idx_l2의 값이 0인 경우를 나타내는 Bin string은 0, 상기 ref_idx_l2의 값이 1인 경우를 나타내는 Bin string은 10, 상기 ref_idx_l2의 값이 2인 경우를 나타내는 Bin string은 110으로 이진화될 수 있다. 상기 ref_idx_l2의 이진화 방법은 상기 표 5에 나타난 이진화 방법에 한정되지 않고 다른 이진화 방법이 적용될 수 있고, 상기 L0에 포함된 참조 픽처들 및 상기 L1에 포함된 참조 픽처들의 개수에 따라서 적응적으로 결정될 수 있다. 또한, 코딩 장치는 상기 ref_idx_l2의 값 중 영상 내에서 도출되는 비율이 높은 값을 작은 비트 수를 갖는 Bin string으로 나타낼 수 있고, 이를 통하여 영상 내 ref_idx_l2에 대한 데이터량을 줄여 전반적인 코딩 효율을 향상시킬 수 있다.
L0 움직임 정보 및 상기 L1 움직임 정보 모두를 나타내는 신텍스 요소가 전송되는 다른 예로, 상기 현재 블록에 쌍예측이 수행되는 경우, 상기 MVPL0 및 상기 MVPL1 모두를 가리키는 인덱스가 전송될 수 있다. 즉, 상기 MVPL0 및 상기 MVPL1는 상기 인덱스를 기반으로 도출될 수 있다. 구체적으로, 상기 MVPL0 후보 리스트의 MVPL0 후보들 중 상기 인덱스가 가리키는 MVPL0 후보는 상기 MVPL0로 도출될 수 있고, 상기 MVPL1 후보 리스트의 MVPL1 후보들 중 상기 인덱스가 가리키는 MVPL1 후보는 상기 MVPL1로 도출될 수 있다. 이 경우, 상기 L0 움직임 정보는 상기 MVPL0를 포함할 수 있고, 상기 L1 움직임 정보는 상기 MVPL1을 포함할 수 있으며, 상기 L0 움직임 정보 및 상기 L1 움직임 정보 모두를 나타내는 신텍스 요소는 상기 MVPL0 및 상기 MVPL1를 가리키는 상기 인덱스를 나타낼 수 있다. 상기 MVPL0 및 상기 MVPL1를 가리키는 상기 인덱스는 제2 인덱스라고 불릴 수 있다. 이 경우, 상기 L0 움직임 정보 및 상기 L1 움직임 정보 모두를 나타내는 신텍스 요소가 포함된 신텍스 구조는 다음의 표와 같이 나타낼 수 있다.
Figure PCTKR2017005671-appb-T000006
여기서, x0, y0는 상기 현재 블록의 좌상단(top-left) 샘플의 위치 (x0, y0)를 나타내고, inter_pred_idc는 상기 현재 블록에 수행되는 예측이 L0 예측, L1 예측, 및 쌍예측 중 어느 예측인지를 나타내는 신텍스 요소, ref_idx_l0는 상기 L0에 포함된 참조 픽처들 중 상기 제1 참조 픽처를 가리키는 신텍스 요소, ref_idx_l1는 상기 L1에 포함된 참조 픽처들 중 상기 제2 참조 픽처를 가리키는 신텍스 요소, mvp_l0_flag는 상기 MVPL0 후보 리스트에 포함된 MVPL0 후보들 중 상기 MVPL0를 가리키는 신텍스 요소, mvp_l1_flag는 상기 MVPL1 후보 리스트에 포함된 MVPL1 후보들 중 상기 MVPL1를 가리키는 신텍스 요소, mvd_coding은 상기 MVDL0 및/또는 상기 MVDL1를 나타내는 신텍스 요소, mvp_l2_idx는 상기 MVPL0 후보 리스트에 포함된 MVPL0 후보들 중 상기 MVPL0 및 상기 MVPL1 후보 리스트에 포함된 MVPL1 후보들 중 상기 MVPL1 모두를 가리키는 신텍스 요소를 나타낸다. 즉, 상기 mvp_l2_idx는 상기 제2 인덱스를 나타내는 신텍스 요소일 수 있다. 한편, 상기 제2 인덱스를 나타내는 신텍스 요소는 mvp_l2_idx라고 불릴 수 있고, 또는 mvp_l2_idx와 다른 명칭으로 불릴 수 있다.
상기 mvp_l0_flag는 상기 현재 블록에 상기 L0 예측이 수행되는 경우에 전송될 수 있고, 상기 mvp_l1_flag는 상기 현재 블록에 상기 L1 예측이 수행되는 경우에 전송될 수 있으며, 상기 mvp_l2_idx는 상기 현재 블록에 상기 쌍예측이 수행되는 경우에 전송될 수 있다. 또한, 상기 ref_idx_l0는 상기 현재 블록에 상기 L0 예측 또는 상기 쌍예측이 수행되는 경우에 전송될 수 있고, 상기 ref_idx_l1는 상기 현재 블록에 상기 L1 예측 또는 상기 쌍예측이 수행되는 경우에 전송될 수 있다. 또한, 상기 mvd_coding은 상기 MVDL0 및/또는 상기 MVDL1을 포함할 수 있고, 각각의 MVD는 x성분 및 y성분으로 구성될 수 있으며 각 성분의 부호와 크기가 분리되어 전송될 수 있다.
한편, 상기 mvp_l2_idx는 상기 MVPL0 후보 리스트에 포함된 MVPL0 후보들 중 상기 MVPL0를 가리키는 플래그 및 상기 MVPL1 후보 리스트에 포함된 MVPL1 후보들 중 상기 MVPL1를 가리키는 플래그 모두를 나타낼 수 있고, 따라서 상기 mvp_l2_idx를 기반으로 상기 MVPL0 및 상기 MVPL1이 도출될 수 있다. 즉, 상기 L0 움직임 정보는 상기 MVPL0를 포함할 수 있고, 상기 L1 움직임 정보는 상기 MVPL1를 포함할 수 있으며, 상기 mvp_l2_idx의 값은 상기 MVPL0를 나타내는 플래그 및 상기 MVPL1를 나타내는 플래그의 조합을 나타낼 수 있다.
예를 들어, 상기 mvp_l2_idx의 값이 의미하는 상기 MVPL0를 가리키는 플래그의 값 및 상기 MVPL1를 가리키는 플래그의 값은 다음의 표와 같이 정의될 수 있다.
Figure PCTKR2017005671-appb-T000007
여기서, mvp_l0_flag는 상기 MVPL0 후보 리스트에 포함된 MVPL0 후보들 중 상기 MVPL0를 가리키는 플래그, mvp_l1_flag는 상기 MVPL1 후보 리스트에 포함된 MVPL1 후보들 중 상기 MVPL1를 가리키는 플래그, mvp_l2_idx는 상기 MVPL0 후보 리스트에 포함된 MVPL0 후보들 중 상기 MVPL0를 가리키는 플래그 및 상기 MVPL1 후보 리스트에 포함된 MVPL1 후보들 중 상기 MVPL1를 가리키는 플래그 모두를 나타내는 상기 제2 인덱스를 나타낼 수 있다. 표 7에 나타난 것과 같이 예를 들어 상기 mvp_l2_idx의 값이 0인 경우, 상기 mvp_l0_flag의 값은 0, 상기 mvp_l1_flag의 값은 0을 나타낼 수 있다. 또한, 상기 mvp_l2_idx의 값이 1인 경우, 상기 mvp_l0_flag의 값은 0, 상기 mvp_l1_flag의 값은 1을 나타낼 수 있고, 상기 mvp_l2_idx의 값이 2인 경우, 상기 mvp_l0_flag의 값은 1, 상기 mvp_l1_flag의 값은 0을 나타낼 수 있고, 상기 mvp_l2_idx의 값이 3인 경우, 상기 mvp_l0_flag의 값은 1, 상기 mvp_l1_flag의 값은 1을 나타낼 수 있다. 상기 mvp_l2_idx의 값이 의미하는 상기 MVPL0를 가리키는 플래그 및 상기 MVPL1를 가리키는 플래그의 값은 상기 표 7에 나타난 예에 한정하지 않고 다른 예가 적용될 수 있다.
한편, 상기 mvp_l2_idx는 다양한 이진화(binarization) 방법이 적용되어 코딩될 수 있다. 예를 들어 상기 mvp_l2_idx의 값은 다음의 표 8와 같이 이진화 방법이 적용되어 코딩될 수 있다.
Figure PCTKR2017005671-appb-T000008
여기서, mvp_l2_idx는 상기 MVPL0 후보 리스트에 포함된 MVPL0 후보들 중 상기 MVPL0를 가리키는 플래그 및 상기 MVPL1 후보 리스트에 포함된 MVPL1 후보들 중 상기 MVPL1를 가리키는 플래그 모두를 나타내는 상기 제2 인덱스의 신텍스 요소를 나타내고, Bin string은 이진화 방법이 적용되어 도출된 이진 데이터(binary data)를 나타낸다. 표 8에 나타난 것과 같이 상기 mvp_l2_idx의 비트 수(빈들의 수)는 가변적(variable)일 수 있다. 예를 들어, 상기 mvp_l2_idx의 값이 0인 경우를 나타내는 Bin string은 0, 상기 mvp_l2_idx의 값이 1인 경우를 나타내는 Bin string은 10, 상기 mvp_l2_idx의 값이 2인 경우를 나타내는 Bin string은 110으로 이진화될 수 있다. mvp_l2_idx의 이진화 방법은 상기 표 8에 나타난 이진화 방법에 상기 한정되지 않고 다른 이진화 방법이 적용될 수 있다. 예를 들어, 상기 mvp_l2_idx의 이진화 방법은 mvp_l0_flag 및/또는 mvp_l1_flag의 최대 개수 또는 사용 가능한 개수에 따라서 적응적으로 결정될 수 있다. 즉, 상기 mvp_l2_idx의 값을 의미하는 Bin string은 상기 MVPL0 후보 리스트 및/또는 상기 MVPL1 후보 리스트에 포함된 후보들의 개수 및 상기 MVPL0 후보 리스트 및/또는 상기 MVPL1 후보 리스트에 포함된 후보들 중 상기 현재 블록의 인터 예측에 사용되는 후보들의 개수에 따라서 적응적으로 결정될 수 있다.
또한, 상기 mvp_l0_flag 또는 상기 mvp_l1_flag에 적용되는 방법과 유사하게 상기 mvp_l2_idx의 값을 의미하는 Bin string이 결정될 수 있다. 상기 mvp_l0_flag 또는 상기 mvp_l1_flag가 사용되는 경우, 상기 MVPL0 후보 리스트 또는 상기 MVPL1 후보 리스트에 포함된 후보들 각각에 인덱스가 부여되고, 상기 후보들 중 일부, 예를 들어 2개의 후보가 선택되어 상기 mvp_l0_flag 또는 상기 mvp_l1_flag 값에 따라 도출될 수 있다. 상술한 방법과 유사하게 mvp_l2_idx가 사용되는 경우, 코딩 장치는 상기 mvp_l0_flag의 값 및 상기 mvp_l1_flag의 값의 조합의 모든 경우가 아닌 일부 경우만을 상기 mvp_l2_idx로 나타내게 할 수 있다. 구체적으로, 코딩 장치는 상기 mvp_l0_flag의 값 및 상기 mvp_l1_flag의 값의 조합의 모든 경우 중 2개의 경우만을 선택할 수 있고, 상기 mvp_l2_idx를 상기 2개의 경우를 나타내는 플래그처럼 동작하게 할 수 있다. 또한, 코딩 장치는 상기 mvp_l2_idx의 값 중 영상 내에서 도출되는 비율이 높은 값을 작은 비트 수를 갖는 Bin string으로 나타낼 수 있고, 이를 통하여 입력 영상 내 mvp_l2_idx에 대한 데이터량을 줄여 전반적인 코딩 효율을 향상시킬 수 있다.
L0 움직임 정보 및 상기 L1 움직임 정보 모두를 나타내는 신텍스 요소가 전송되는 다른 예로, 상기 현재 블록에 쌍예측이 수행되는 경우, 상기 제1 참조 픽처, 상기 제2 참조 픽처, 상기 MVPL0, 및 상기 MVPL1 모두를 가리키는 인덱스가 전송될 수 있다. 즉, 상기 제1 참조 픽처, 상기 제2 참조 픽처, 상기 MVPL0 및 상기 MVPL1는 상기 인덱스를 기반으로 도출될 수 있다. 구체적으로, 상기 L0의 참조 픽처들 중 상기 인덱스가 가리키는 참조 픽처는 상기 제1 참조 픽처로 도출될 수 있고, 상기 L1의 참조 픽처들 중 상기 인덱스가 가리키는 참조 픽처는 상기 제2 참조 픽처로 도출될 수 있고, 상기 MVPL0 후보 리스트의 MVPL0 후보들 중 상기 인덱스가 가리키는 MVPL0 후보는 상기 MVPL0로 도출될 수 있고, 상기 MVPL1 후보 리스트의 MVPL1 후보들 중 상기 인덱스가 가리키는 MVPL1 후보는 상기 MVPL1로 도출될 수 있다. 이 경우, 상기 L0 움직임 정보는 상기 제1 참조 픽처의 인덱스 및 상기 MVPL0를 포함할 수 있고, 상기 L1 움직임 정보는 상기 제2 참조 픽처의 인덱스 및 상기 MVPL1를 포함할 수 있으며, 상기 L0 움직임 정보 및 상기 L1 움직임 정보 모두를 나타내는 신텍스 요소는 상기 제1 참조 픽처, 상기 제2 참조 픽처, 상기 MVPL0 및 상기 MVPL1를 가리키는 상기 인덱스를 나타낼 수 있다. 상기 제1 참조 픽처, 상기 제2 참조 픽처, 상기 MVPL0 및 상기 MVPL1를 가리키는 상기 인덱스는 제3 인덱스라고 불릴 수 있다. 이 경우, 상기 L0 움직임 정보 및 상기 L1 움직임 정보 모두를 나타내는 상기 제3 인덱스를 나타내는 신텍스 요소가 포함된 신텍스 구조는 다음의 표와 같이 나타낼 수 있다.
Figure PCTKR2017005671-appb-T000009
여기서, x0, y0는 상기 현재 블록의 좌상단(top-left) 샘플의 위치 (x0, y0)를 나타내고, inter_pred_idc는 상기 현재 블록에 수행되는 예측이 L0 예측, L1 예측, 및 쌍예측 중 어느 예측인지를 나타내는 신텍스 요소, ref_idx_l0는 상기 L0에 포함된 참조 픽처들 중 상기 제1 참조 픽처를 가리키는 신텍스 요소, ref_idx_l1는 상기 L1에 포함된 참조 픽처들 중 상기 제2 참조 픽처를 가리키는 신텍스 요소, mvp_l0_flag는 상기 MVPL0 후보 리스트에 포함된 MVPL0 후보들 중 상기 MVPL0를 가리키는 신텍스 요소, mvp_l1_flag는 상기 MVPL1 후보 리스트에 포함된 MVPL1 후보들 중 상기 MVPL1를 가리키는 신텍스 요소, mvd_coding은 상기 MVDL0 및/또는 상기 MVDL1를 나타내는 신텍스 요소, mvp_ref_idx는 상기 L0에 포함된 참조 픽처들 중 상기 제1 참조 픽처, 상기 L1에 포함된 참조 픽처들 중 상기 제2 참조 픽처, 상기 MVPL0 후보 리스트에 포함된 MVPL0 후보들 중 상기 MVPL0, 및 상기 MVPL1 후보 리스트에 포함된 MVPL1 후보들 중 상기 MVPL1 모두를 가리키는 신텍스 요소를 나타낸다. 즉, 상기 제3 인덱스를 나타내는 신텍스 요소는 mvp_ref_idx일 수 있다. 한편, 상기 제3 인덱스의 신텍스 요소는 상기 mvp_ref_idx라고 불릴 수 있고, 또는 상기 mvp_ref_idx와 다른 명칭으로도 불릴 수 있다.
상기 ref_idx_l0 및 상기 mvp_l0_flag는 상기 현재 블록에 상기 L0 예측이 수행되는 경우에 전송될 수 있고, 상기 ref_idx_l1 및 상기 mvp_l1_flag는 상기 현재 블록에 상기 L1 예측이 수행되는 경우에 전송될 수 있다. 또한, 상기 현재 블록에 상기 쌍예측이 수행되는 경우, 상기 mvp_ref_idx가 전송될 수 있다. 또한, 상기 mvd_coding은 상기 MVDL0 및/또는 상기 MVDL1을 포함할 수 있고, 각각의 MVD는 x성분 및 y성분으로 구성될 수 있으며 각 성분의 부호와 크기가 분리되어 전송될 수 있다.
한편, 상기 mvp_ref_idx는 상기 L0에 포함된 참조 픽처들 중 상기 제1 참조 픽처를 가리키는 인덱스, 상기 L1에 포함된 참조 픽처들 중 상기 제2 참조 픽처를 가리키는 인덱스, 상기 MVPL0 후보 리스트에 포함된 MVPL0 후보들 중 상기 MVPL0를 가리키는 플래그 및 상기 MVPL1 후보 리스트에 포함된 MVPL1 후보들 중 상기 MVPL1를 가리키는 플래그 모두를 나타낼 수 있고, 따라서 상기 mvp_ref_idx를 기반으로 상기 제1 참조 픽처, 상기 제2 참조 픽처, 상기 MVPL0 및 상기 MVPL1이 도출될 수 있다. 즉, 상기 L0 움직임 정보는 상기 제1 참조 픽처의 인덱스 및 상기 MVPL0를 포함할 수 있고, 상기 L1 움직임 정보는 상기 제2 참조 픽처의 인덱스 및 상기 MVPL1를 포함할 수 있으며, 상기 mvp_ref_idx의 값은 상기 제1 참조 픽처의 인덱스, 상기 제2 참조 픽처의 인덱스, 상기 MVPL0를 나타내는 플래그, 상기 MVPL1를 나타내는 플래그의 조합을 나타낼 수 있다.
예를 들어, 상기 mvp_ref_idx의 값이 의미하는 상기 제1 참조 픽처의 인덱스의 값, 상기 제2 참조 픽처의 인덱스의 값, 상기 MVPL0를 가리키는 플래그의 값 및 상기 MVPL1를 가리키는 플래그의 값은 다음의 표와 같이 정의될 수 있다.
Figure PCTKR2017005671-appb-T000010
여기서, ref_idx_l0는 상기 L0에 포함된 참조 픽처들 중 상기 제1 참조 픽처를 가리키는 인덱스, ref_idx_l1는 상기 L1에 포함된 참조 픽처들 중 상기 제2 참조 픽처를 가리키는 인덱스, mvp_l0_flag는 상기 MVPL0 후보 리스트에 포함된 MVPL0 후보들 중 상기 MVPL0를 가리키는 플래그, mvp_l1_flag는 상기 MVPL1 후보 리스트에 포함된 MVPL1 후보들 중 상기 MVPL1를 가리키는 플래그, mvp_ref_idx는 상기 L0에 포함된 참조 픽처들 중 상기 제1 참조 픽처를 가리키는 인덱스, 상기 L1에 포함된 참조 픽처들 중 상기 제2 참조 픽처를 가리키는 인덱스, 상기 MVPL0 후보 리스트에 포함된 MVPL0 후보들 중 상기 MVPL0를 가리키는 플래그 및 상기 MVPL1 후보 리스트에 포함된 MVPL1 후보들 중 상기 MVPL1를 가리키는 플래그 모두를 나타내는 상기 제3 인덱스를 나타낼 수 있다. 표 10에 나타난 것과 같이 예를 들어 상기 mvp_ref_idx의 값이 0인 경우, 상기 ref_idx_l0의 값은 0, 상기 ref_idx_l1의 값은 0, 상기 mvp_l0_flag의 값은 0, 상기 mvp_l1_flag의 값은 0을 나타낼 수 있다. 또한, 상기 mvp_ref_idx의 값이 1인 경우, 상기 ref_idx_l0의 값은 0, 상기 ref_idx_l1의 값은 0, 상기 mvp_l0_flag의 값은 0, 상기 mvp_l1_flag의 값은 1을 나타낼 수 있고, 상기 mvp_ref_idx의 값이 2인 경우, 상기 ref_idx_l0의 값은 0, 상기 ref_idx_l1의 값은 0, 상기 mvp_l0_flag의 값은 1, 상기 mvp_l1_flag의 값은 0을 나타낼 수 있고, 상기 mvp_ref_idx의 값이 3인 경우, 상기 ref_idx_l0의 값은 0, 상기 ref_idx_l1의 값은 0, 상기 mvp_l0_flag의 값은 1, 상기 mvp_l1_flag의 값은 1을 나타낼 수 있다. 상기 mvp_ref_idx의 값이 의미하는 상기 제1 참조 픽처를 가리키는 인덱스의 값, 상기 제2 참조 픽처를 가리키는 인덱스의 값, 상기 MVPL0를 가리키는 플래그의 값 및 상기 MVPL1를 가리키는 플래그의 값은 상기 표 10에 나타난 예에 한정하지 않고 다를 수 있으며, 상기 L0 및/또는 상기 L1에 포함된 참조 픽처들의 개수, 또는 mvp_l0_flag 및/또는 mvp_l1_flag의 최대 개수 또는 사용 가능한 개수에 따라서 적응적으로 결정될 수 있다. 즉, 상기 mvp_ref_idx의 값이 의미하는 상기 제1 참조 픽처를 가리키는 인덱스의 값, 상기 제2 참조 픽처를 가리키는 인덱스의 값, 상기 MVPL0를 가리키는 플래그 및 상기 MVPL1를 가리키는 플래그의 값은 상기 L0 및/또는 상기 L1에 포함된 참조 픽처들의 개수 또는 상기 MVPL0 후보 리스트 및/또는 상기 MVPL1 후보 리스트에 포함된 후보들의 개수 또는 상기 후보들 중 상기 현재 블록의 인터 예측에 사용 가능한 후보들의 개수에 따라서 적응적으로 결정될 수 있다.
한편, 상기 mvp_ref_idx는 다양한 이진화(binarization) 방법이 적용되어 코딩될 수 있다. 예를 들어 상기 mvp_ref_idx의 값은 다음의 표 11과 같이 이진화 방법이 적용되어 코딩될 수 있다.
여기서, mvp_ref_idx는 상기 L0에 포함된 참조 픽처들 중 상기 제1 참조 픽처를 가리키는 인덱스, 상기 L1에 포함된 참조 픽처들 중 상기 제2 참조 픽처를 가리키는 인덱스, 상기 MVPL0 후보 리스트에 포함된 MVPL0 후보들 중 상기 MVPL0를 가리키는 플래그 및 상기 MVPL1 후보 리스트에 포함된 MVPL1 후보들 중 상기 MVPL1를 가리키는 플래그 모두를 나타내는 상기 제3 인덱스의 신텍스 요소를 나타내고, Bin string은 이진화 방법이 적용되어 도출된 이진 데이터(binary data)를 나타낸다. 표 11에 나타난 것과 같이 상기 mvp_ref_idx의 비트 수는 가변적(variable)일 수 있다. 예를 들어, 상기 mvp_ref_idx의 값이 0인 경우를 나타내는 Bin string은 0, 상기 mvp_ref_idx의 값이 1인 경우를 나타내는 Bin string은 10, 상기 mvp_ref_idx의 값이 2인 경우를 나타내는 Bin string은 110으로 이진화될 수 있다. 이를 통하여 입력 영상 내 mvp_ref_idx에 대한 데이터량을 줄여 전반적인 코딩 효율을 향상시킬 수 있다. 또한, mvp_ref_idx의 이진화 방법은 상기 표 11에 나타난 이진화 방법에 상기 한정되지 않고 다른 이진화 방법이 적용될 수 있다.
한편, 상기 현재 블록에 쌍예측이 수행되는 경우, 슬라이스 단위에서 상술한 상기 L0 움직임 정보 및 상기 L1 움직임 정보 모두를 나타내는 신텍스 요소의 사용 여부를 나타내는 플래그가 전송/수신될 수 있다.
일 예로, 상기 L0에 포함된 참조 픽처들 중 상기 제1 참조 픽처 및 상기 L1에 포함된 참조 픽처들 중 상기 제2 참조 픽처를 가리키는 상기 제1 인덱스의 사용 여부를 나타내는 플래그가 슬라이스 단위로 전송될 수 있다. 즉, 상기 제1 참조 픽처 및 상기 제2 참조 픽처를 가리키는 상기 제1 인덱스의 사용 여부를 나타내는 플래그가 슬라이스 세그먼트 헤더(slice segment header)를 통하여 전송될 수 있다. 상기 제1 인덱스의 사용 여부를 나타내는 상기 플래그는 제1 플래그라고 불릴 수 있다. 이 경우, 상기 제1 플래그를 나타내는 신텍스 요소가 포함된 신텍스 구조는 다음의 표와 같이 나타낼 수 있다.
Figure PCTKR2017005671-appb-T000012
여기서, slice_ref_idx_l2_flag는 상기 제1 참조 픽처 및 상기 제2 참조 픽처를 가리키는 인덱스의 사용 여부를 나타내는 신텍스 요소를 나타낸다. 즉, 상기 slice_ref_idx_l2_flag는 상기 제1 플래그를 나타내는 신텍스 요소일 수 있다. 상기 제1 플래그를 나타내는 신텍스 요소는 상기 slice_ref_idx_l2_flag라고 불릴 수 있고, 또는 상기 slice_ref_idx_l2_flag와 다른 명칭으로도 불릴 수도 있다.
구체적으로 예를 들어, 상기 slice_ref_idx_l2_flag의 값이 0인 경우, 대상 슬라이스에 포함된 블록에 쌍예측이 적용되면 상기 L0에 포함된 참조 픽처들 중 상기 제1 참조 픽처를 가리키는 인덱스 및 상기 L1에 포함된 참조 픽처들 중 상기 제2 참조 픽처를 가리키는 상기 인덱스가 전송될 수 있다. 즉, 상기 대상 슬라이스에 포함된 상기 블록에 대한 상기 제1 참조 픽처를 가리키는 인덱스 및 상기 제2 참조 픽처를 가리키는 인덱스가 각각 인코딩될 수 있다. 한편, 상기 slice_ref_idx_l2_flag의 값이 1인 경우, 상기 대상 슬라이스에 포함된 블록에 쌍예측이 적용되면 상기 L0에 포함된 참조 픽처들 중 상기 제1 참조 픽처 및 상기 L1에 포함된 참조 픽처들 중 상기 제2 참조 픽처를 가리키는 상기 제1 인덱스가 전송될 수 있다. 즉, 상기 대상 슬라이스에 포함된 상기 블록에 대한 상기 제1 참조 픽처 및 상기 제2 참조 픽처를 가리키는 상기 제1 인덱스가 인코딩될 수 있다.
다른 예로, 상기 MVPL0 후보 리스트에 포함된 MVPL0 후보들 중 상기 MVPL0 및 상기 MVPL1 후보 리스트에 포함된 MVPL1 후보들 중 상기 MVPL1를 가리키는 상기 제2 인덱스의 사용 여부를 나타내는 플래그가 슬라이스 단위로 전송될 수 있다. 즉, 상기 MVPL0 및 상기 MVPL1를 가리키는 상기 제2 인덱스의 사용 여부를 나타내는 플래그가 슬라이스 세그먼트 헤더를 통하여 전송될 수 있다. 상기 제2 인덱스의 사용 여부를 나타내는 상기 플래그는 제2 플래그라고 불릴 수 있다. 이 경우, 상기 제2 플래그를 나타내는 신텍스 요소가 포함된 신텍스 구조는 다음의 표와 같이 나타낼 수 있다.
Figure PCTKR2017005671-appb-T000013
여기서, slice_mvp_l2_flag는 상기 MVPL0 및 상기 MVPL1를 가리키는 인덱스의 사용 여부를 나타내는 신텍스 요소를 나타낸다. 즉, 상기 slice_mvp_l2_flag는 상기 제2 플래그를 나타내는 신텍스 요소일 수 있다. 상기 제2 플래그를 나타내는 신텍스 요소는 상기 slice_mvp_l2_flag라고 불릴 수 있고, 또는 상기 slice_mvp_l2_flag와 다른 명칭으로도 불릴 수도 있다.
구체적으로 예를 들어, 상기 slice_mvp_l2_flag의 값이 0인 경우, 대상 슬라이스에 포함된 블록에 쌍예측이 적용되면 상기 MVPL0 후보 리스트에 포함된 MVPL0 후보들 중 상기 MVPL0를 가리키는 플래그 및 상기 MVPL1 후보 리스트에 포함된 MVPL1 후보들 중 상기 MVPL1를 가리키는 플래그가 전송될 수 있다. 즉, 상기 대상 슬라이스에 포함된 상기 블록에 대한 상기 MVPL0를 가리키는 플래그 및 상기 MVPL1를 가리키는 플래그가 각각 인코딩될 수 있다. 한편, 상기 slice_mvp_l2_flag의 값이 1인 경우, 상기 대상 슬라이스에 포함된 블록에 쌍예측이 적용되면 상기 MVPL0 후보 리스트에 포함된 MVPL0 후보들 중 상기 MVPL0 및 상기 MVPL1 후보 리스트에 포함된 MVPL1 후보들 중 상기 MVPL1를 가리키는 상기 제2 인덱스가 전송될 수 있다. 즉, 상기 대상 슬라이스에 포함된 상기 블록에 대한 상기 MVPL0 및 상기 MVPL1를 가리키는 상기 제2 인덱스가 인코딩될 수 있다.
다른 예로, 상기 L0에 포함된 참조 픽처들 중 상기 제1 참조 픽처, 상기 L1에 포함된 참조 픽처들 중 상기 제2 참조 픽처, 상기 MVPL0 후보 리스트에 포함된 MVPL0 후보들 중 상기 MVPL0 및 상기 MVPL1 후보 리스트에 포함된 MVPL1 후보들 중 상기 MVPL1를 가리키는 상기 제3 인덱스의 사용 여부를 나타내는 플래그가 슬라이스 단위로 전송될 수 있다. 즉, 상기 제1 참조 픽처, 상기 제2 참조 픽처, 상기 MVPL0 및 상기 MVPL1를 가리키는 상기 제3 인덱스의 사용 여부를 나타내는 플래그가 슬라이스 세그먼트 헤더를 통하여 전송될 수 있다. 상기 제3 인덱스의 사용 여부를 나타내는 상기 플래그는 제3 플래그라고 불릴 수 있다. 이 경우, 상기 제3 플래그를 나타내는 신텍스 요소가 포함된 신텍스 구조는 다음의 표와 같이 나타낼 수 있다.
Figure PCTKR2017005671-appb-T000014
여기서, slice_mvp_ref_l2_flag는 상기 제1 참조 픽처, 상기 제2 참조 픽처, 상기 MVPL0 및 상기 MVPL1를 가리키는 상기 제3 인덱스의 사용 여부를 나타내는 신텍스 요소를 나타낸다. 즉, 상기 slice_mvp_ref_l2_flag는 상기 제3 플래그를 나타내는 신텍스 요소일 수 있다. 상기 제3 플래그를 나타내는 신텍스 요소는 상기 slice_mvp_ref_l2_flag라고 불릴 수 있고, 또는 상기 slice_mvp_ref_l2_flag와 다른 명칭으로도 불릴 수도 있다.
구체적으로, 예를 들어, 상기 slice_mvp_ref_l2_flag의 값이 0인 경우, 대상 슬라이스에 포함된 블록에 쌍예측이 적용되면 상기 L0에 포함된 참조 픽처들 중 상기 제1 참조 픽처를 가리키는 인덱스, 상기 L1에 포함된 참조 픽처들 중 상기 제2 참조 픽처를 가리키는 인덱스, 상기 MVPL0 후보 리스트에 포함된 MVPL0 후보들 중 상기 MVPL0를 가리키는 플래그 및 상기 MVPL1 후보 리스트에 포함된 MVPL1 후보들 중 상기 MVPL1를 가리키는 플래그가 전송될 수 있다. 즉, 상기 대상 슬라이스에 포함된 상기 블록에 대한 상기 제1 참조 픽처를 가리키는 인덱스, 상기 제2 참조 픽처를 가리키는 인덱스, 상기 MVPL0를 가리키는 플래그 및 상기 MVPL1를 가리키는 플래그가 각각 인코딩될 수 있다. 한편, 상기 slice_mvp_ref_l2_flag의 값이 1인 경우, 상기 대상 슬라이스에 포함된 블록에 쌍예측이 적용되면 상기 L0에 포함된 참조 픽처들 중 상기 제1 참조 픽처, 상기 L1에 포함된 참조 픽처들 중 상기 제2 참조 픽처, 상기 MVPL0 후보 리스트에 포함된 MVPL0 후보들 중 상기 MVPL0 및 상기 MVPL1 후보 리스트에 포함된 MVPL1 후보들 중 상기 MVPL1를 가리키는 상기 제3 인덱스가 전송될 수 있다. 즉, 상기 대상 슬라이스에 포함된 상기 블록에 대한 상기 제1 참조 픽처, 상기 제2 참조 픽처, 상기 MVPL0 및 상기 MVPL1를 가리키는 상기 제3 인덱스가 인코딩될 수 있다.
다른 예로, 상기 제1 참조 픽처 및 상기 제2 참조 픽처를 가리키는 상기 제1 인덱스, 상기 MVPL0 및 상기 MVPL1를 가리키는 상기 제2 인덱스, 및 상기 제1 참조 픽처, 상기 제2 참조 픽처, 상기 MVPL0 및 상기 MVPL1를 가리키는 상기 제3 인덱스 중 상기 현재 블록에 대한 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 나타내는 신텍스 요소가 나타내는 인덱스를 가리키는 모드 정보가 전송될 수 있다. 상기 모드 정보는 슬라이스 단위로 전송될 수 있다. 이 경우, 상기 모드 정보를 나타내는 신텍스 요소가 포함된 신텍스 구조는 다음의 표와 같이 나타낼 수 있다.
Figure PCTKR2017005671-appb-T000015
여기서, slice_mvp_ref_l2_mode는 상기 모드 정보를 나타내는 신텍스 요소를 나타낸다. 대상 슬라이스 내 블록에 쌍예측이 수행되는 경우, 상기 모드 정보의 값을 기반으로 상기 블록에 대한 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 나타내는 신텍스 요소가 나타내는 인덱스가 도출될 수 있다. 상기 모드 정보의 값이 의미하는 상기 신텍스 요소가 나타내는 인덱스는 다음의 표와 같이 나타낼 수 있다.
Figure PCTKR2017005671-appb-T000016
여기서, slice_mvp_ref_l2_mode는 상기 모드 정보를 나타내는 신텍스 요소를 나타낸다. 상기 모드 정보를 나타내는 신텍스 요소는 상기 slice_mvp_ref_l2_mode라고 불릴 수 있고, 또는 상기 slice_mvp_ref_l2_mode와 다른 명칭으로도 불릴 수 있다. 상기 모드 정보의 값이 0인 경우, 상기 대상 슬라이스에 포함된 블록에 쌍예측이 적용되면 상기 L0에 포함된 참조 픽처들 중 상기 제1 참조 픽처를 가리키는 인덱스, 상기 L1에 포함된 참조 픽처들 중 상기 제2 참조 픽처를 가리키는 인덱스, 상기 MVPL0 후보 리스트에 포함된 MVPL0 후보들 중 상기 MVPL0를 가리키는 플래그 및 상기 MVPL1 후보 리스트에 포함된 MVPL1 후보들 중 상기 MVPL1를 가리키는 플래그가 전송될 수 있다. 즉, 상기 대상 슬라이스에 포함된 상기 블록에 대한 상기 제1 참조 픽처를 가리키는 인덱스, 상기 제2 참조 픽처를 가리키는 인덱스, 상기 MVPL0를 가리키는 플래그 및 상기 MVPL1를 가리키는 플래그가 각각 인코딩될 수 있다. 한편, 상기 모드 정보의 값이 1인 경우, 상기 대상 슬라이스에 포함된 블록에 쌍예측이 적용되면 상기 L0에 포함된 참조 픽처들 중 상기 제1 참조 픽처 및 상기 L1에 포함된 참조 픽처들 중 상기 제2 참조 픽처를 가리키는 상기 제1 인덱스가 전송될 수 있다. 즉, 상기 대상 슬라이스에 포함된 상기 블록에 대한 상기 제1 참조 픽처 및 상기 제2 참조 픽처를 가리키는 상기 제1 인덱스가 인코딩될 수 있다. 한편, 상기 모드 정보의 값이 2인 경우, 상기 대상 슬라이스에 포함된 블록에 쌍예측이 적용되면 상기 MVPL0 후보 리스트에 포함된 MVPL0 후보들 중 상기 MVPL0 및 상기 MVPL1 후보 리스트에 포함된 MVPL1 후보들 중 상기 MVPL1를 가리키는 상기 제2 인덱스가 전송될 수 있다. 즉, 상기 대상 슬라이스에 포함된 상기 블록에 대한 상기 MVPL0 및 상기 MVPL1를 가리키는 상기 제2 인덱스가 인코딩될 수 있다. 한편, 상기 모드 정보의 값이 3인 경우, 상기 대상 슬라이스에 포함된 블록에 쌍예측이 적용되면 상기 L0에 포함된 참조 픽처들 중 상기 제1 참조 픽처, 상기 L1에 포함된 참조 픽처들 중 상기 제2 참조 픽처, 상기 MVPL0 후보 리스트에 포함된 MVPL0 후보들 중 상기 MVPL0 및 상기 MVPL1 후보 리스트에 포함된 MVPL1 후보들 중 상기 MVPL1를 가리키는 상기 제3 인덱스가 전송될 수 있다. 즉, 상기 대상 슬라이스에 포함된 상기 블록에 대한 상기 제1 참조 픽처, 상기 제2 참조 픽처, 상기 MVPL0 및 상기 MVPL1를 가리키는 상기 제3 인덱스가 인코딩될 수 있다.
한편, 상술한 표 12 내지 표 15에 나타난 상기 제1 플래그, 상기 제2 플래그, 상기 제3 플래그, 및 상기 모드 정보는 슬라이스 단위뿐만 아니라 SPS(sequence parameter set) 단위, PPS(picture parameter set) 단위, 또는 VPS(video parameter set) 단위와 같은 상위 레벨 신텍스(high-level syntax)를 통하여 전송될 수 있고, 적용될 수 있다. 또한, SPS 단위, PPS 단위, 또는 VPS 단위를 통하여 L0 움직임 정보 및 L1 움직임 정보를 나타내는 신텍스 요소의 사용 여부를 나타내는 플래그가 전송될 수 있고, 상기 플래그가 L0 움직임 정보 및 L1 움직임 정보를 나타내는 신텍스 요소가 사용된다고 나타내는 경우, 슬라이스 단위로 상기 모드 정보가 전송될 수 있다.
도 5는 본 발명에 따른 인코딩 장치에 의한 비디오 인코딩 방법을 개략적으로 나타낸다. 도 5에서 개시된 방법은 도 1에서 개시된 인코딩 장치에 의하여 수행될 수 있다. 구체적으로 예를 들어, 도 5의 S500 내지 S530은 상기 인코딩 장치의 예측부에 의하여 수행될 수 있고, S540은 상기 인코딩 장치의 엔트로피 인코딩부에 의하여 수행될 수 있다.
인코딩 장치는 참조 픽처 리스트 0(list 0, L0) 및 참조 픽처 리스트 1(List 1, L1)을 도출한다(S500). 인코딩 장치는 현재 블록이 포함된 현재 픽처에 대한 상기 L0 및 상기 L1을 도출할 수 있다. 상기 L0 및 상기 L1에 포함되는 참조 픽처들은 상기 현재 픽처와 해당 참조 픽처 간의 POC(Picture order count) 차이 기반으로 정렬될 수 있다. POC는 픽처의 디스플레이 순서에 대응하며, 코딩 순서와 구분될 수 있다.
인코딩 장치는 상기 현재 블록에 대한 L0 움직임 정보 및 L1 움직임 정보를 도출한다(S510). 인코딩 장치는 상기 현재 블록에 쌍예측(bi-prediction)이 적용되는 경우 상기 L0 움직임 정보 및 상기 L1 움직임 정보들을 도출할 수 있다. 인코딩 장치는 움직임 추정(motion estimation)을 통하여 최적의 움직임 벡터 L0(Motion Vector L0, MVL0), 상기 L0에 포함된 상기 현재 블록의 제1 참조 픽처, 움직임 벡터 L1(Motion Vector L1, MVL1), 및 상기 L1에 포함된 상기 현재 블록의 제2 참조 픽처를 도출할 수 있다. 또한, 인코딩 장치는 상기 현재 블록의 주변 블록들의 움직임 벡터들 중 상기 MVL0와 가장 유사한 움직임 벡터를 움직임 벡터 예측자 L0(Motion Vector Predictor L0, MVPL0)로 도출할 수 있고, 상기 현재 블록의 주변 블록들의 움직임 벡터들 중 상기 MVL1와 가장 유사한 움직임 벡터를 움직임 벡터 예측자 L1(Motion Vector Predictor L1, MVPL1)로 도출할 수 있다. 이 경우, 상기 L0 움직임 정보는 상기 L0에 포함된 상기 현재 블록의 제1 참조 픽처의 인덱스 및 상기 제1 참조 픽처에 연관된 상기 MVPL0 중 적어도 하나를 포함할 수 있고, 상기 L1 움직임 정보는 상기 L1에 포함된 상기 현재 블록의 상기 제2 참조 픽처의 인덱스 및 상기 제2 참조 픽처에 연관된 상기 MVPL1 중 적어도 하나를 포함할 수 있다. 또한, 인코딩 장치는 상기 MVL0와 상기 MVPL0와의 차분을 상기 MVPL0에 대한 움직임 벡터 차분 L0(Motion Vector Difference L0, MVDL0)으로 도출할 수 있고, 상기 MVL1와 상기 MVPL1와의 차분을 상기 MVPL1에 대한 움직임 벡터 차분 L1(Motion Vector Difference L1, MVDL0)으로 도출할 수 있다. 인코딩 장치는 상기 MVDL0에 대한 정보 및 상기 MVDL1에 대한 정보를 비트스트림을 통하여 시그널링할 수 있다.
인코딩 장치는 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 기반으로 상기 현재 블록의 예측 샘플을 도출한다(S520). 인코딩 장치는 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 기반으로 쌍예측을 수행하여 상기 현재 블록의 상기 예측 샘플을 도출할 수 있다.
인코딩 장치는 상기 현재 블록에 대한 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 나타내는 신텍스 요소(syntax element)를 생성한다(S530). 인코딩 장치는 상기 현재 블록에 대한 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 나타내는 신텍스 요소를 생성할 수 있다. 상기 현재 블록에 대한 상기 L0 움직임 정보 및 상기 L1 움직임 정보는 상기 신텍스 요소를 기반으로 도출될 수 있다. 구체적으로, 상기 L0 움직임 정보는 상기 L0에 포함된 상기 현재 블록의 제1 참조 픽처의 인덱스 및 상기 제1 참조 픽처에 연관된 상기 MVPL0를 포함할 수 있고, 상기 L1 움직임 정보는 상기 L1에 포함된 상기 현재 블록의 상기 제2 참조 픽처의 인덱스 및 상기 제2 참조 픽처에 연관된 상기 MVPL1를 포함할 수 있는바, 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 나타내는 신텍스 요소의 값은 상기 제1 참조 픽처의 인덱스 및 상기 제2 참조 픽처의 인덱스의 조합, 또는 상기 MVPL0를 나타내는 플래그 및 상기 MVPL1를 나타내는 플래그의 조합, 또는 제1 참조 픽처의 인덱스, 상기 제2 참조 픽처의 인덱스, 상기 MVPL0를 나타내는 플래그, 및 상기 MVPL1를 나타내는 플래그의 조합을 나타낼 수 있다.
일 예로, 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 나타내는 신텍스 요소는 상기 제1 참조 픽처 및 상기 제2 참조 픽처를 가리키는 제1 인덱스를 나타낼 수 있다. 즉, 상기 제1 인덱스의 값은 상기 제1 참조 픽처의 인덱스 및 상기 제2 참조 픽처의 인덱스의 조합을 나타낼 수 있다. 인코딩 장치는 상기 현재 블록에 상기 쌍예측이 수행되는 경우, 상기 제1 인덱스를 생성할 수 있다. 상기 제1 참조 픽처 및 상기 제2 참조 픽처는 상기 제1 인덱스를 기반으로 도출될 수 있다. 구체적으로, 상기 제1 인덱스의 값은 상기 제1 참조 픽처의 인덱스 및 상기 제2 참조 픽처의 인덱스의 조합을 나타낼 수 있고, 상기 L0의 참조 픽처들 중 상기 조합 내 상기 제1 참조 픽처의 인덱스가 가리키는 참조 픽처는 상기 제1 참조 픽처로 도출될 수 있고, 상기 L1의 참조 픽처들 중 상기 조합 내 상기 제2 참조 픽처의 인덱스가 가리키는 참조 픽처는 상기 제2 참조 픽처로 도출될 수 있다. 또한, 상기 제1 인덱스의 값이 나타내는 상기 제1 참조 픽처의 인덱스의 값 및 상기 제2 참조 픽처의 인덱스의 값은 상술한 표 4와 같이 결정될 수 있다.
다른 예로, 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 나타내는 신텍스 요소는 상기 MVPL0 및 상기 MVPL1 가리키는 제2 인덱스를 나타낼 수 있다. 즉, 상기 제2 인덱스의 값은 상기 MVPL0를 나타내는 플래그 및 상기 MVPL1를 나타내는 플래그의 조합을 나타낼 수 있다. 인코딩 장치는 상기 현재 블록에 상기 쌍예측이 수행되는 경우, 상기 제2 인덱스를 생성할 수 있다. 상기 MVPL0 및 상기 MVPL1는 상기 제2 인덱스를 기반으로 도출될 수 있다. 구체적으로, 상기 제2 인덱스의 값은 상기 MVPL0를 나타내는 플래그 및 상기 MVPL1를 나타내는 플래그의 조합을 나타낼 수 있고, MVPL0 후보들을 포함한 MVPL0 후보 리스트 및 MVPL1 후보들을 포함한 MVPL1 후보 리스트는 상기 현재 블록의 주변 블록들의 움직임 벡터들을 기반으로 도출될 수 있고, 상기 MVPL0 후보 리스트의 MVPL0 후보들 중 상기 조합 내 상기 MVPL0를 나타내는 플래그가 가리키는 MVPL0 후보는 상기 MVPL0로 도출될 수 있고, 상기 MVPL1 후보 리스트의 MVPL1 후보들 중 상기 조합 내 상기 MVPL1를 나타내는 플래그가 가리키는 MVPL1 후보는 상기 MVPL1로 도출될 수 있다. 또한, 상기 제2 인덱스의 값이 나타내는 상기 MVPL0의 플래그의 값 및 상기 MVPL1의 플래그의 값은 상술한 표 7와 같이 결정될 수 있다.
다른 예로, 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 나타내는 신텍스 요소는 상기 제1 참조 픽처, 상기 제2 참조 픽처, 상기 MVPL0, 및 상기 MVPL1 가리키는 제3 인덱스를 포함할 수 있다. 즉, 상기 제3 인덱스의 값은 상기 제1 참조 픽처의 인덱스, 상기 제2 참조 픽처의 인덱스, 상기 MVPL0를 나타내는 플래그 및 상기 MVPL1를 나타내는 플래그의 조합을 나타낼 수 있다. 인코딩 장치는 상기 현재 블록에 상기 쌍예측이 수행되는 경우, 상기 제3 인덱스를 생성할 수 있다. 상기 제1 참조 픽처, 상기 제2 참조 픽처, 상기 MVPL0 및 상기 MVPL1는 상기 제3 인덱스를 기반으로 도출될 수 있다. 구체적으로, 상기 제3 인덱스의 값은 상기 제1 참조 픽처의 인덱스, 상기 제2 참조 픽처의 인덱스, 상기 MVPL0를 나타내는 플래그 및 상기 MVPL1를 나타내는 플래그의 조합을 나타낼 수 있고, 상기 L0의 참조 픽처들 중 상기 조합 내 상기 제1 참조 픽처의 인덱스가 가리키는 참조 픽처는 상기 제1 참조 픽처로 도출될 수 있고, 상기 L1의 참조 픽처들 중 상기 조합 내 상기 제2 참조 픽처의 인덱스가 가리키는 참조 픽처는 상기 제2 참조 픽처로 도출될 수 있다. 또한, MVPL0 후보들을 포함한 MVPL0 후보 리스트 및 MVPL1 후보들을 포함한 MVPL1 후보 리스트는 상기 현재 블록의 주변 블록들의 움직임 벡터들을 기반으로 도출될 수 있고, 상기 MVPL0 후보 리스트의 MVPL0 후보들 중 상기 조합 내 상기 MVPL0를 나타내는 플래그가 가리키는 MVPL0 후보는 상기 MVPL0로 도출될 수 있고, 상기 MVPL1 후보 리스트의 MVPL1 후보들 중 상기 조합 내 상기 MVPL0를 나타내는 플래그가 가리키는 MVPL1 후보는 상기 MVPL1로 도출될 수 있다. 또한, 상기 제3 인덱스의 값이 나타내는 상기 제1 참조 픽처의 인덱스의 값, 상기 제2 참조 픽처의 인덱스의 값, 상기 MVPL0의 플래그의 값 및 상기 MVPL1의 플래그의 값은 상술한 표 10과 같이 결정될 수 있다.
인코딩 장치는 상기 현재 블록에 대한 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 나타내는 신텍스 요소를 인코딩하여 출력한다(S540). 인코딩 장치는 상기 현재 블록에 대한 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 나타내는 신텍스 요소를 인코딩하여 비트스트림 형태로 출력할 수 있다.
상기 L0 움직임 정보 및 상기 L1 움직임 정보를 나타내는 신텍스 요소가 상기 제1 인덱스를 나타내는 경우, 인코딩 장치는 상기 제1 인덱스를 나타내는 신텍스 요소를 상기 제1 인덱스의 값에 따라 가변적인 비트 수를 갖도록 인코딩할 수 있다. 즉, 상기 제1 인덱스를 나타내는 신텍스 요소는 가변적인 비트 수를 갖도록 이진화(binarization)될 수 있고, 상기 제1 인덱스를 나타내는 신텍스 요소의 비트 수는 가변적일 수 있다. 예를 들어, 인코딩 장치는 상기 제1 인덱스의 값들 중 영상 내 도출되는 비율이 높은 값을 작은 비트 수를 갖고, 영상 내 도출되는 비율이 낮은 값을 큰 비트 수를 갖도록 이진화할 수 있다. 또한, 상기 제1 인덱스의 이진화 방법은 상술한 표 5와 같이 결정될 수 있다.
또한, 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 나타내는 신텍스 요소가 상기 제2 인덱스를 나타내는 경우, 인코딩 장치는 상기 제2 인덱스를 나타내는 신텍스 요소를 상기 제2 인덱스의 값에 따라 가변적인 비트 수를 갖도록 인코딩할 수 있다. 즉, 상기 제2 인덱스를 나타내는 신텍스 요소는 가변적인 비트 수를 갖도록 이진화(binarization)될 수 있고, 상기 제2 인덱스를 나타내는 신텍스 요소의 비트 수는 가변적일 수 있다. 예를 들어, 인코딩 장치는 상기 제2 인덱스의 값들 중 영상 내 도출되는 비율이 높은 값을 작은 비트 수를 갖고, 영상 내 도출되는 비율이 낮은 값을 큰 비트 수를 갖도록 이진화할 수 있다. 또한, 상기 제2 인덱스의 이진화 방법은 상술한 표 8과 같이 결정될 수 있다.
또한, 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 나타내는 신텍스 요소가 상기 제3 인덱스를 나타내는 경우, 인코딩 장치는 상기 제3 인덱스를 나타내는 신텍스 요소를 상기 제3 인덱스의 값에 따라 가변적인 비트 수를 갖도록 인코딩할 수 있다. 즉, 상기 제3 인덱스를 나타내는 신텍스 요소는 가변적인 비트 수를 갖도록 이진화(binarization)될 수 있고, 상기 제3 인덱스를 나타내는 신텍스 요소의 비트 수는 가변적일 수 있다. 예를 들어, 인코딩 장치는 상기 제3 인덱스의 값들 중 영상 내 도출되는 비율이 높은 값을 작은 비트 수를 갖고, 영상 내 도출되는 비율이 낮은 값을 큰 비트 수를 갖도록 이진화할 수 있다. 또한, 상기 제3 인덱스의 이진화 방법은 상술한 표 11과 같이 결정될 수 있다.
한편, 인코딩 장치는 상기 제1 인덱스, 상기 제2 인덱스, 및/또는 상기 제3 인덱스의 사용 여부를 나타내는 플래그를 생성할 수 있다. 상기 플래그는 슬라이스 단위, SPS(sequence parameter set) 단위, PPS(picture parameter set) 단위, 또는 VPS(video parameter set) 단위로 전송될 수 있다.
예를 들어, 상기 제1 인덱스의 사용 여부를 나타내는 제1 플래그가 생성될 수 있고, 슬라이스 단위로 전송될 수 있다. 또한, 상기 제1 플래그는 SPS 단위, PPS 단위, 또는 VPS 단위로 전송될 수 있다. 구체적으로 예를 들어, 상기 현재 블록에 쌍예측이 수행되고 상기 제1 플래그의 값이 1인 경우, 상기 신텍스 요소는 상기 제1 인덱스를 나타낼 수 있다. 즉, 인코딩 장치는 상기 제1 인덱스를 나타내는 상기 신텍스 요소를 인코딩하여 출력할 수 있다. 또한, 상기 현재 블록에 쌍예측이 수행되고 상기 제1 플래그의 값이 0인 경우, 상기 L0에 포함된 참조 픽처들 중 상기 제1 참조 픽처를 가리키는 인덱스 및 상기 L1에 포함된 참조 픽처들 중 상기 제2 참조 픽처를 가리키는 인덱스가 각각 전송될 수 있다.
다른 예로, 상기 제2 인덱스의 사용 여부를 나타내는 제2 플래그가 생성될 수 있고, 슬라이스 단위로 전송될 수 있다. 또한, 상기 제2 플래그는 SPS 단위, PPS 단위, 또는 VPS 단위로 전송될 수 있다. 구체적으로 예를 들어, 상기 현재 블록에 쌍예측이 수행되고 상기 제2 플래그의 값이 1인 경우, 상기 신텍스 요소는 상기 제2 인덱스를 나타낼 수 있다. 즉, 인코딩 장치는 상기 제2 인덱스를 나타내는 상기 신텍스 요소를 인코딩하여 출력할 수 있다. 또한, 상기 현재 블록에 쌍예측이 수행되고 상기 제2 플래그의 값이 0인 경우, 상기 MVPL0 후보 리스트에 포함된 MVPL0 후보들 중 상기 MVPL0를 가리키는 플래그 및 상기 MVPL1 후보 리스트에 포함된 MVPL1 후보들 중 상기 MVPL1를 가리키는 플래그가 각각 전송될 수 있다.
다른 예로, 상기 제3 인덱스의 사용 여부를 나타내는 제3 플래그가 생성될 수 있고, 슬라이스 단위로 전송될 수 있다. 또한, 상기 제3 플래그는 SPS 단위, PPS 단위, 또는 VPS 단위로 전송될 수 있다. 구체적으로 예를 들어, 상기 현재 블록에 쌍예측이 수행되고 상기 제3 플래그의 값이 1인 경우, 상기 신텍스 요소는 상기 제3 인덱스를 나타낼 수 있다. 즉, 인코딩 장치는 상기 제3 플래그를 나타내는 상기 신텍스 요소를 인코딩하여 출력할 수 있다. 또한, 상기 현재 블록에 쌍예측이 수행되고 상기 제3 플래그의 값이 0인 경우, 상기 L0에 포함된 참조 픽처들 중 상기 제1 참조 픽처를 가리키는 인덱스, 상기 L1에 포함된 참조 픽처들 중 상기 제2 참조 픽처를 가리키는 인덱스, 상기 MVPL0 후보 리스트에 포함된 MVPL0 후보들 중 상기 MVPL0를 가리키는 플래그 및 상기 MVPL1 후보 리스트에 포함된 MVPL1 후보들 중 상기 MVPL1를 가리키는 플래그가 각각 전송될 수 있다.
다른 예로, 상기 제1 인덱스, 상기 제2 인덱스, 및 상기 제3 인덱스 중 상기 신텍스 요소가 나타내는 모드 정보가 생성될 수 있고, 슬라이스 단위로 전송될 수 있다. 또한, 상기 인덱스는 SPS 단위, PPS 단위, 또는 VPS 단위로 전송될 수 있다. 구체적으로 예를 들어, 상기 현재 블록에 쌍예측이 수행되고 상기 모드 정보의 값이 1인 경우, 상기 신텍스 요소는 상기 제1 인덱스를 나타낼 수 있다. 즉, 인코딩 장치는 상기 제1 인덱스를 나타내는 신텍스 요소를 인코딩하여 출력할 수 있다. 또한, 상기 현재 블록에 쌍예측이 수행되고 상기 모드 정보의 값이 2인 경우, 상기 신텍스 요소는 상기 제2 인덱스를 나타낼 수 있다. 즉, 인코딩 장치는 상기 제2 인덱스를 나타내는 신텍스 요소를 인코딩하여 출력할 수 있다. 또한, 상기 현재 블록에 쌍예측이 수행되고 상기 모드 정보의 값이 3인 경우, 상기 신텍스 요소는 상기 제3 인덱스를 나타낼 수 있다. 즉, 인코딩 장치는 상기 제3 인덱스를 나타내는 신텍스 요소를 인코딩하여 출력할 수 있다. 또한, 상기 현재 블록에 쌍예측이 수행되고 상기 모드 정보의 값이 0인 경우, 상기 L0에 포함된 참조 픽처들 중 상기 제1 참조 픽처를 가리키는 인덱스, 상기 L1에 포함된 참조 픽처들 중 상기 제2 참조 픽처를 가리키는 인덱스, 상기 MVPL0 후보 리스트에 포함된 MVPL0 후보들 중 상기 MVPL0를 가리키는 플래그 및 상기 MVPL1 후보 리스트에 포함된 MVPL1 후보들 중 상기 MVPL1를 가리키는 플래그가 각각 전송될 수 있다. 인코딩 장치는 상기 모드 정보를 상기 모드 정보의 값에 따라 가변적인 비트 수를 갖도록 인코딩할 수 있다. 즉, 상기 모드 정보는 가변적인 비트 수를 갖도록 이진화(binarization)될 수 있고, 상기 모드 정보의 비트 수는 가변적일 수 있다. 예를 들어, 인코딩 장치는 상기 모드 정보의 값들 중 영상 내 도출되는 비율이 높은 값을 작은 비트 수를 갖고, 영상 내 도출되는 비율이 낮은 값을 큰 비트 수를 갖도록 이진화할 수 있다. 또한, SPS 단위, PPS 단위, 또는 VPS 단위를 통하여 L0 움직임 정보 및 L1 움직임 정보를 나타내는 신텍스 요소의 사용 여부를 나타내는 플래그가 전송될 수 있고, 상기 플래그가 L0 움직임 정보 및 L1 움직임 정보를 나타내는 신텍스 요소가 사용된다고 나타내는 경우, 예를 들어 상기 플래그의 값이 1인 경우, 슬라이스 단위로 상기 모드 정보가 전송될 수 있다.
한편, 비록 도면에서 도시되지는 않았으나 인코딩 장치는 원본 샘플과 상기 도출된 예측 샘플을 기반으로 레지듀얼(residual) 샘플을 생성할 수 있다. 인코딩 장치는 상기 레지듀얼 샘플을 기반으로 상기 레지듀얼에 관한 정보를 생성할 수 있다. 상기 레지듀얼에 관한 정보는 상기 레지듀얼 샘플에 관한 변환 계수들을 포함할 수 있다. 인코딩 장치는 상기 예측 샘플과 상기 레지듀얼 샘플을 기반으로 상기 복원 샘플을 도출할 수 있다. 즉, 인코딩 장치는 상기 예측 샘플과 상기 레지듀얼 샘플을 더하여 상기 복원 샘플을 도출할 수 있다. 또한, 인코딩 장치는 상기 레지듀얼에 관한 정보를 인코딩하여 비트스트림 형태로 출력할 수 있다. 상기 비트스트림은 네트워크 또는 저장매체를 통하여 디코딩 장치로 전송될 수 있다.
도 6은 본 발명에 따른 디코딩 장치에 의한 비디오 디코딩 방법을 개략적으로 나타낸다. 도 6에서 개시된 방법은 도 2에서 개시된 디코딩 장치에 의하여 수행될 수 있다. 구체적으로 예를 들어, S600 및 S620 내지 S630은 상기 디코딩 장치의 예측부에 의하여 수행될 수 있고, S610은 상기 디코딩 장치의 엔트로피 디코딩부에 의하여 수행될 수 있다.
디코딩 장치는 참조 픽처 리스트 0(list 0, L0) 및 참조 픽처 리스트 1(List 1, L1)을 도출한다(S600). 인코딩 장치는 현재 블록이 포함된 현재 픽처에 대한 상기 L0 및 상기 L1을 도출할 수 있다. 상기 L0 및 상기 L1에 포함되는 참조 픽처들은 상기 현재 픽처와 해당 참조 픽처 간의 POC(Picture order count) 차이 기반으로 정렬될 수 있다. POC는 픽처의 디스플레이 순서에 대응하며, 코딩 순서와 구분될 수 있다.
디코딩 장치는 비트스트림을 통하여 상기 현재 블록에 대한 L0 움직임 정보 및 L1 움직임 정보를 나타내는 신텍스 요소를 수신한다(S610). 디코딩 장치는 상기 비트스트림을 통하여 상기 현재 블록에 대한 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 나타내는 신텍스 요소를 수신할 수 있다. 상기 L0 움직임 정보는 상기 L0에 포함된 상기 현재 블록의 제1 참조 픽처의 인덱스 및 상기 제1 참조 픽처에 연관된 상기 움직임 벡터 예측자 L0(Motion Vector Predictor L0, MVPL0) 중 적어도 하나를 포함할 수 있고, 상기 L1 움직임 정보는 상기 L1에 포함된 상기 현재 블록의 제2 참조 픽처의 인덱스 및 상기 제2 참조 픽처에 연관된 상기 움직임 벡터 예측자 L1(Motion Vector Predictor L1, MVPL1) 중 적어도 하나를 포함할 수 있다. 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 나타내는 신텍스 요소의 값은 상기 제1 참조 픽처의 인덱스 및 상기 제2 참조 픽처의 인덱스의 조합, 또는 상기 MVPL0를 나타내는 플래그 및 상기 MVPL1를 나타내는 플래그의 조합, 또는 제1 참조 픽처의 인덱스, 상기 제2 참조 픽처의 인덱스, 상기 MVPL0를 나타내는 플래그, 및 상기 MVPL1를 나타내는 플래그의 조합을 나타낼 수 있다.
일 예로, 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 나타내는 신텍스 요소는 상기 제1 참조 픽처 및 상기 제2 참조 픽처를 가리키는 제1 인덱스를 포함할 수 있다. 즉, 상기 제1 인덱스의 값은 상기 제1 참조 픽처의 인덱스 및 상기 제2 참조 픽처의 인덱스의 조합을 나타낼 수 있다. 디코딩 장치는 상기 현재 블록에 상기 쌍예측이 수행되는 경우, 상기 현재 블록에 대한 상기 제1 인덱스를 수신할 수 있다. 상기 제1 참조 픽처 및 상기 제2 참조 픽처는 상기 제1 인덱스를 기반으로 도출될 수 있다. 구체적으로, 상기 제1 인덱스의 값은 상기 제1 참조 픽처의 인덱스 및 상기 제2 참조 픽처의 인덱스의 조합을 나타낼 수 있고, 상기 L0의 참조 픽처들 중 상기 조합 내 상기 제1 참조 픽처의 인덱스가 가리키는 참조 픽처는 상기 제1 참조 픽처로 도출될 수 있고, 상기 L1의 참조 픽처들 중 상기 조합 내 상기 제2 참조 픽처의 인덱스가 가리키는 참조 픽처는 상기 제2 참조 픽처로 도출될 수 있다. 또한, 상기 제1 인덱스의 값이 나타내는 상기 제1 참조 픽처의 인덱스의 값 및 상기 제2 참조 픽처의 인덱스의 값은 상술한 표 4와 같이 결정될 수 있다. 또한, 상기 제1 인덱스를 나타내는 신텍스 요소의 비트 수는 가변적일 수 있다. 즉, 상기 제1 인덱스를 나태는 신텍스 요소는 가변적인 비트 수로 이진화(binarization)될 수 있다. 구체적으로, 상기 제1 인덱스를 나태는 신텍스 요소는 상기 제1 인덱스의 값에 따라 가변적인 비트 수를 가질 수 있고, 상기 제1 인덱스의 값들 중 영상 내 도출되는 비율이 높은 값을 작은 비트 수를 갖고, 영상 내 도출되는 비율이 낮은 값을 큰 비트 수를 가질 수 있다. 또한, 상기 제1 인덱스를 나태는 신텍스 요소는 상술한 표 5와 같이 이진화될 수 있다.
다른 예로, 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 나타내는 신텍스 요소는 상기 MVPL0 및 상기 MVPL1 가리키는 제2 인덱스를 포함할 수 있다. 즉, 상기 제2 인덱스의 값은 상기 MVPL0를 나타내는 플래그 및 상기 MVPL1를 나타내는 플래그의 조합을 나타낼 수 있다. 디코딩 장치는 상기 현재 블록에 상기 쌍예측이 수행되는 경우, 상기 현재 블록에 대한 상기 제2 인덱스를 수신할 수 있다. 상기 MVPL0 및 상기 MVPL1는 상기 제2 인덱스를 기반으로 도출될 수 있다. 구체적으로, 상기 제2 인덱스의 값은 상기 MVPL0를 나타내는 플래그 및 상기 MVPL1를 나타내는 플래그의 조합을 나타낼 수 있고, MVPL0 후보들을 포함한 MVPL0 후보 리스트 및 MVPL1 후보들을 포함한 MVPL1 후보 리스트는 상기 현재 블록의 주변 블록들의 움직임 벡터들을 기반으로 도출될 수 있고, 상기 MVPL0 후보 리스트의 MVPL0 후보들 중 상기 조합 내 상기 MVPL0를 나타내는 플래그가 가리키는 MVPL0 후보는 상기 MVPL0로 도출될 수 있고, 상기 MVPL1 후보 리스트의 MVPL1 후보들 중 상기 조합 내 상기 MVPL1를 나타내는 플래그가 가리키는 MVPL1 후보는 상기 MVPL1로 도출될 수 있다. 또한, 상기 제2 인덱스의 값이 나타내는 상기 MVPL0의 플래그의 값 및 상기 MVPL1의 플래그의 값은 상술한 표 7와 같이 결정될 수 있다. 또한, 상기 제2 인덱스를 나타내는 신텍스 요소의 비트 수는 가변적일 수 있다. 즉, 상기 제2 인덱스를 나타내는 신텍스 요소는 가변적인 비트 수로 이진화될 수 있다. 구체적으로, 상기 제2 인덱스를 나타내는 신텍스 요소는 상기 제2 인덱스의 값에 따라 가변적인 비트 수를 가질 수 있고, 상기 제2 인덱스의 값들 중 영상 내 도출되는 비율이 높은 값을 작은 비트 수를 갖고, 영상 내 도출되는 비율이 낮은 값을 큰 비트 수를 가질 수 있다. 또한, 상기 제2 인덱스를 나타내는 신텍스 요소는 상술한 표 8과 같이 이진화될 수 있다.
다른 예로, 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 나타내는 신텍스 요소는 상기 제1 참조 픽처, 상기 제2 참조 픽처, 상기 MVPL0, 및 상기 MVPL1 가리키는 제3 인덱스를 포함할 수 있다. 즉, 상기 제3 인덱스의 값은 상기 제1 참조 픽처의 인덱스, 상기 제2 참조 픽처의 인덱스, 상기 MVPL0를 나타내는 플래그 및 상기 MVPL1를 나타내는 플래그의 조합을 나타낼 수 있다. 디코딩 장치는 상기 현재 블록에 상기 쌍예측이 수행되는 경우, 상기 현재 블록에 대한 상기 제3 인덱스를 수신할 수 있다. 상기 제1 참조 픽처, 상기 제2 참조 픽처, 상기 MVPL0 및 상기 MVPL1는 상기 제3 인덱스를 기반으로 도출될 수 있다. 구체적으로, 상기 제3 인덱스의 값은 상기 제1 참조 픽처의 인덱스, 상기 제2 참조 픽처의 인덱스, 상기 MVPL0를 나타내는 플래그 및 상기 MVPL1를 나타내는 플래그의 조합을 나타낼 수 있고, 상기 L0의 참조 픽처들 중 상기 조합 내 상기 제1 참조 픽처의 인덱스가 가리키는 참조 픽처는 상기 제1 참조 픽처로 도출될 수 있고, 상기 L1의 참조 픽처들 중 상기 조합 내 상기 제2 참조 픽처의 인덱스가 가리키는 참조 픽처는 상기 제2 참조 픽처로 도출될 수 있다. 또한, MVPL0 후보들을 포함한 MVPL0 후보 리스트 및 MVPL1 후보들을 포함한 MVPL1 후보 리스트는 상기 현재 블록의 주변 블록들의 움직임 벡터들을 기반으로 도출될 수 있고, 상기 MVPL0 후보 리스트의 MVPL0 후보들 중 상기 조합 내 상기 MVPL0를 나타내는 플래그가 가리키는 MVPL0 후보는 상기 MVPL0로 도출될 수 있고, 상기 MVPL1 후보 리스트의 MVPL1 후보들 중 상기 조합 내 상기 MVPL1를 나타내는 플래그가 가리키는 MVPL1 후보는 상기 MVPL1로 도출될 수 있다. 또한, 상기 제3 인덱스의 값이 나타내는 상기 제1 참조 픽처의 인덱스의 값, 상기 제2 참조 픽처의 인덱스의 값, 상기 MVPL0의 플래그의 값 및 상기 MVPL1의 플래그의 값은 상술한 표 10과 같이 결정될 수 있다. 또한, 상기 제3 인덱스를 나타내는 신텍스 요소의 비트 수는 가변적일 수 있다. 즉, 상기 제3 인덱스를 나타내는 신텍스 요소는 가변적인 비트 수로 이진화될 수 있다. 구체적으로, 상기 제3 인덱스를 나타내는 신텍스 요소는 상기 제3 인덱스의 값에 따라 가변적인 비트 수를 가질 수 있고, 상기 제3 인덱스의 값들 중 영상 내 도출되는 비율이 높은 값을 작은 비트 수를 갖고, 영상 내 도출되는 비율이 낮은 값을 큰 비트 수를 가질 수 있다. 또한, 상기 제3 인덱스를 나타내는 신텍스 요소는 상술한 표 11과 같이 이진화될 수 있다.
한편, 디코딩 장치는 상기 비트스트림을 통하여 상기 제1 인덱스, 상기 제2 인덱스, 및/또는 상기 제3 인덱스의 사용 여부를 나타내는 플래그를 수신할 수 있다. 상기 플래그는 슬라이스 단위, SPS(sequence parameter set) 단위, PPS(picture parameter set) 단위, 또는 VPS(video parameter set) 단위로 수신될 수 있다.
예를 들어, 상기 제1 인덱스의 사용 여부를 나타내는 제1 플래그가 슬라이스 단위로 수신될 수 있다. 또한, 상기 제1 플래그는 SPS 단위, PPS 단위, 또는 VPS 단위로 수신될 수 있다. 구체적으로 예를 들어, 상기 현재 블록에 쌍예측이 수행되고 상기 제1 플래그의 값이 1인 경우, 상기 신텍스 요소는 상기 제1 인덱스를 나타낼 수 있다. 즉, 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 나타내는 신텍스 요소는 상기 제1 인덱스를 나타낼 수 있다. 또한, 상기 현재 블록에 쌍예측이 수행되고 상기 제1 플래그의 값이 0인 경우, 상기 L0에 포함된 참조 픽처들 중 상기 제1 참조 픽처를 가리키는 인덱스 및 상기 L1에 포함된 참조 픽처들 중 상기 제2 참조 픽처를 가리키는 인덱스가 각각 수신될 수 있다.
다른 예로, 상기 제2 인덱스의 사용 여부를 나타내는 제2 플래그가 슬라이스 단위로 수신될 수 있다. 또한, 상기 제2 플래그는 SPS 단위, PPS 단위, 또는 VPS 단위로 수신될 수 있다. 구체적으로 예를 들어, 상기 현재 블록에 쌍예측이 수행되고 상기 제2 플래그의 값이 1인 경우, 상기 신텍스 요소는 상기 제2 인덱스를 나타낼 수 있다. 즉, 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 나타내는 신텍스 요소는 상기 제2 인덱스를 나타낼 수 있다. 또한, 상기 현재 블록에 쌍예측이 수행되고 상기 제2 플래그의 값이 0인 경우, 상기 MVPL0 후보 리스트에 포함된 MVPL0 후보들 중 상기 MVPL0를 가리키는 플래그 및 상기 MVPL1 후보 리스트에 포함된 MVPL1 후보들 중 상기 MVPL1를 가리키는 플래그가 각각 수신될 수 있다.
다른 예로, 상기 제3 인덱스의 사용 여부를 나타내는 제3 플래그가 슬라이스 단위로 수신될 수 있다. 또한, 상기 제3 플래그는 SPS 단위, PPS 단위, 또는 VPS 단위로 수신될 수 있다. 구체적으로 예를 들어, 상기 현재 블록에 쌍예측이 수행되고 상기 제3 플래그의 값이 1인 경우, 상기 신텍스 요소는 상기 제3 인덱스를 나타낼 수 있다. 즉, 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 나타내는 신텍스 요소는 상기 제3 인덱스를 나타낼 수 있다. 또한, 상기 현재 블록에 쌍예측이 수행되고 상기 제3 플래그의 값이 0인 경우, 상기 L0에 포함된 참조 픽처들 중 상기 제1 참조 픽처를 가리키는 인덱스, 상기 L1에 포함된 참조 픽처들 중 상기 제2 참조 픽처를 가리키는 인덱스, 상기 MVPL0 후보 리스트에 포함된 MVPL0 후보들 중 상기 MVPL0를 가리키는 플래그 및 상기 MVPL1 후보 리스트에 포함된 MVPL1 후보들 중 상기 MVPL1를 가리키는 플래그가 각각 수신될 수 있다.
다른 예로, 상기 제1 인덱스, 상기 제2 인덱스, 및 상기 제3 인덱스 중 상기 신텍스 요소가 나타내는 인덱스를 가리키는 인덱스가 슬라이스 단위로 수신될 수 있다. 또한, 상기 인덱스는 SPS 단위, PPS 단위, 또는 VPS 단위로 수신될 수 있다. 상기 인덱스는 모드 정보라고 불릴 수 있다. 구체적으로 예를 들어, 상기 현재 블록에 쌍예측이 수행되고 상기 모드 정보의 값이 1인 경우, 상기 신텍스 요소는 상기 제1 인덱스를 나타낼 수 있다. 즉, 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 나타내는 신텍스 요소는 상기 제1 인덱스를 나타낼 수 있다. 또한, 상기 현재 블록에 쌍예측이 수행되고 상기 모드 정보의 값이 2인 경우, 상기 신텍스 요소는 상기 제2 인덱스를 나타낼 수 있다. 즉, 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 나타내는 신텍스 요소는 상기 제2 인덱스를 나타낼 수 있다. 또한, 상기 현재 블록에 쌍예측이 수행되고 상기 모드 정보의 값이 3인 경우, 상기 신텍스 요소는 상기 제3 인덱스를 나타낼 수 있다. 즉, 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 나타내는 신텍스 요소는 상기 제3 인덱스를 나타낼 수 있다. 또한, 상기 현재 블록에 쌍예측이 수행되고 상기 모드 정보의 값이 0인 경우, 상기 L0에 포함된 참조 픽처들 중 상기 제1 참조 픽처를 가리키는 인덱스, 상기 L1에 포함된 참조 픽처들 중 상기 제2 참조 픽처를 가리키는 인덱스, 상기 MVPL0 후보 리스트에 포함된 MVPL0 후보들 중 상기 MVPL0를 가리키는 플래그 및 상기 MVPL1 후보 리스트에 포함된 MVPL1 후보들 중 상기 MVPL1를 가리키는 플래그가 각각 수신될 수 있다. 또한, 디코딩 장치는 SPS 단위, PPS 단위, 또는 VPS 단위를 통하여 L0 움직임 정보 및 L1 움직임 정보를 나타내는 신텍스 요소의 사용 여부를 나타내는 플래그를 수신할 수 있고, 상기 플래그가 L0 움직임 정보 및 L1 움직임 정보를 나타내는 신텍스 요소가 사용된다고 나타내는 경우, 예를 들어 상기 플래그의 값이 1인 경우, 슬라이스 단위로 상기 모드 정보가 수신될 수 있다.
한편, 상기 모드 정보는 가변적인 비트 수를 가질 수 있다. 구체적으로, 상기 모드 정보는 상기 모드 정보의 값에 따라 가변적인 비트 수를 가질 수 있고, 상기 모드 정보의 값들 중 영상 내 도출되는 비율이 높은 값을 작은 비트 수를 갖고, 영상 내 도출되는 비율이 낮은 값을 큰 비트 수를 가질 수 있다.
디코딩 장치는 상기 신텍스 요소를 기반으로 상기 현재 블록에 대한 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 도출한다(S620). 디코딩 장치는 상기 신텍스 요소를 기반으로 상기 L0 움직임 정보 및 상기 L1 움직임 정보들을 도출할 수 있다.
일 예로, 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 나타내는 신텍스 요소가 상기 제1 인덱스를 나타내는 경우, 디코딩 장치는 상기 제1 인덱스를 기반으로 상기 제1 참조 픽처 및 상기 제2 참조 픽처를 도출할 수 있다. 이 경우, 상기 L0 움직임 정보는 상기 제1 참조 픽처의 인덱스를 포함할 수 있고, 상기 L1 움직임 정보는 상기 제2 참조 픽처의 인덱스를 포함할 수 있다. 구체적으로, 상기 제1 인덱스의 값은 상기 제1 참조 픽처의 인덱스 및 상기 제2 참조 픽처의 인덱스의 조합을 나타낼 수 있고, 디코딩 장치는 상기 L0의 참조 픽처들 중 상기 조합 내 상기 제1 참조 픽처의 인덱스가 가리키는 참조 픽처를 상기 제1 참조 픽처로 도출할 수 있고, 상기 L1의 참조 픽처들 중 상기 조합 내 상기 제2 참조 픽처의 인덱스가 가리키는 참조 픽처를 상기 제2 참조 픽처로 도출할 수 있다. 또한, 상기 제1 인덱스의 값이 나타내는 상기 제1 참조 픽처의 인덱스의 값 및 상기 제2 참조 픽처의 인덱스의 값은 상술한 표 4와 같이 결정될 수 있다.
다른 예로, 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 나타내는 신텍스 요소가 상기 제2 인덱스를 나타내는 경우, 디코딩 장치는 상기 제2 인덱스를 기반으로 상기 MVPL0 및 상기 MVPL1를 도출할 수 있다. 이 경우, 상기 L0 움직임 정보는 상기 MVPL0를 포함할 수 있고, 상기 L1 움직임 정보는 상기 MVPL1를 포함할 수 있다. 구체적으로, 상기 제2 인덱스의 값은 상기 MVPL0를 나타내는 플래그 및 상기 MVPL1를 나타내는 플래그의 조합을 나타낼 수 있고, 디코딩 장치는 MVPL0 후보들을 포함한 MVPL0 후보 리스트 및 MVPL1 후보들을 포함한 MVPL1 후보 리스트를 상기 현재 블록의 주변 블록들의 움직임 벡터들을 기반으로 도출할 수 있고, 상기 MVPL0 후보 리스트의 MVPL0 후보들 중 상기 조합 내 상기 MVPL0를 나타내는 플래그가 가리키는 MVPL0 후보를 상기 MVPL0로 도출할 수 있고, 상기 MVPL1 후보 리스트의 MVPL1 후보들 중 상기 조합 내 상기 MVPL1를 나타내는 플래그가 가리키는 MVPL1 후보를 상기 MVPL1로 도출할 수 있다. 또한, 상기 제2 인덱스의 값이 나타내는 상기 MVPL0의 플래그의 값 및 상기 MVPL1의 플래그의 값은 상술한 표 7와 같이 결정될 수 있다.
다른 예로, 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 나타내는 신텍스 요소가 상기 제3 인덱스를 나타내는 경우, 디코딩 장치는 상기 제3 인덱스를 기반으로 상기 제1 참조 픽처, 상기 제2 참조 픽처, 상기 MVPL0 및 상기 MVPL1를 도출할 수 있다. 이 경우, 상기 L0 움직임 정보는 상기 제1 참조 픽처의 인덱스 및 상기 MVPL0를 포함할 수 있고, 상기 L1 움직임 정보는 상기 제2 참조 픽처의 인덱스 및 상기 MVPL1를 포함할 수 있다. 구체적으로, 상기 제3 인덱스의 값은 상기 제1 참조 픽처의 인덱스, 상기 제2 참조 픽처의 인덱스, 상기 MVPL0를 나타내는 플래그 및 상기 MVPL1를 나타내는 플래그의 조합을 나타낼 수 있고, 디코딩 장치는 상기 L0의 참조 픽처들 중 상기 조합 내 상기 제1 참조 픽처의 인덱스가 가리키는 참조 픽처를 상기 제1 참조 픽처로 도출할 수 있고, 상기 L1의 참조 픽처들 중 상기 조합 내 상기 제2 참조 픽처의 인덱스가 가리키는 참조 픽처를 상기 제2 참조 픽처로 도출할 수 있다. 또한, 디코딩 장치는 MVPL0 후보들을 포함한 MVPL0 후보 리스트 및 MVPL1 후보들을 포함한 MVPL1 후보 리스트를 상기 현재 블록의 주변 블록들의 움직임 벡터들을 기반으로 도출할 수 있고, 상기 MVPL0 후보 리스트의 MVPL0 후보들 중 상기 조합 내 상기 MVPL0를 나타내는 플래그가 가리키는 MVPL0 후보를 상기 MVPL0로 도출할 수 있고, 상기 MVPL1 후보 리스트의 MVPL1 후보들 중 상기 조합 내 상기 MVPL1를 나타내는 플래그가 가리키는 MVPL1 후보를 상기 MVPL1로 도출할 수 있다. 또한, 상기 제3 인덱스의 값이 나타내는 상기 제1 참조 픽처의 인덱스의 값, 상기 제2 참조 픽처의 인덱스의 값, 상기 MVPL0의 플래그의 값 및 상기 MVPL1의 플래그의 값은 상술한 표 10과 같이 결정될 수 있다.
디코딩 장치는 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 기반으로 상기 현재 블록의 예측 샘플을 도출한다(S630). 디코딩 장치는 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 기반으로 쌍예측을 수행하여 상기 현재 블록의 상기 예측 샘플을 도출할 수 있다. 구체적으로, 디코딩 장치는 상기 비트스트림을 통하여 상기 MVPL0에 대한 움직임 벡터 차분 L0(Motion Vector Difference L0, MVDL0) 정보를 수신(획득)할 수 있고, 획득한 상기 MVDL0 정보를 기반으로 MVDL0를 도출 할 수 있다. 또한, 디코딩 장치는 상기 MVPL1에 대한 움직임 벡터 차분 L1(Motion Vector Difference L0, MVDL1) 정보를 수신(획득)할 수 있고, 획득한 상기 MVDL1 정보를 기반으로 MVDL1을 도출할 수 있다. 디코딩 장치는 상기 MVPL0 및 상기 MVDL0를 기반으로 움직임 벡터 L0(Motion Vector L0, MVL0)를 도출할 수 있고, 상기 MVPL1 및 상기 MVDL1를 기반으로 움직임 벡터 L1(Motion Vector L1, MVL1)를 도출할 수 있다. 디코딩 장치는 상기 MVL0 및 상기 MVL1을 기반으로 상기 현재 블록의 예측 샘플을 생성할 수 있다. 구체적으로, 디코딩 장치는 상기 제1 참조 픽처 및 상기 MVL0를 포함한 상기 L0 움직임 정보 및 상기 제2 참조 픽처 및 상기 MVL1를 포함한 상기 L1 움직임 정보를 기반으로 쌍예측을 수행하여 상기 예측 샘플을 생성할 수 있다.
한편, 비록 도면에서 도시되지는 않았으나 디코딩 장치는 예측 모드에 따라 상기 예측 샘플을 바로 복원 샘플로 이용할 수도 있고, 또는 상기 예측 샘플에 레지듀얼 샘플을 더하여 복원 샘플을 생성할 수도 있다. 디코딩 장치는 상기 현재 블록에 대한 레지듀얼 샘플이 존재하는 경우, 상기 비트스트림으로부터 상기 현재 블록에 대한 레지듀얼에 관한 정보를 수신할 수 있다. 상기 레지듀얼에 관한 정보는 상기 레지듀얼 샘플에 관한 변환 계수를 포함할 수 있다. 디코딩 장치는 상기 레지듀얼 정보를 기반으로 상기 현재 블록에 대한 상기 레지듀얼 샘플(또는 레지듀얼 샘플 어레이)을 도출할 수 있다. 디코딩 장치는 상기 예측 샘플과 상기 레지듀얼 샘플을 기반으로 복원 샘플을 생성할 수 있고, 상기 복원 샘플을 기반으로 복원 블록 또는 복원 픽처를 도출할 수 있다. 이후 디코딩 장치는 필요에 따라 주관적/객관적 화질을 향상시키기 위하여 디블록킹 필터링 및/또는 SAO 절차와 같은 인루프 필터링 절차를 상기 복원 픽처에 적용할 수 있음은 상술한 바와 같다.
상술한 본 발명에 따르면 현재 블록에 대한 L0 움직임 정보 및 L1 움직임 정보를 나타내는 신텍스 요소를 기반으로 현재 블록의 L0 움직임 정보 및 L1 움직임 정보를 도출할 수 있고, 이를 통하여 상기 현재 블록에 대한 인터 예측의 코딩 효율를 향상시킬 수 있다.
또한, 본 발명에 따르면 현재 블록에 대한 L0 움직임 정보 및 L1 움직임 정보를 나타내는 신텍스 요소를 수신하여 상기 현재 블록의 인터 예측을 위한 정보의 데이터량을 줄일 수 있고, 이를 통하여 전반적인 코딩 효율을 향상시킬 수 있다.
또한, 본 발명에 따르면 현재 블록에 대한 L0 움직임 정보 및 L1 움직임 정보를 나타내는 신텍스 요소의 사용 여부를 나타내는 정보를 수신하여 영상 내 일부에 선택적으로 적용할 수 있고, 이를 통하여 전반적인 코딩 효율을 향상시킬 수 있다.
상술한 실시예에서, 방법들은 일련의 단계 또는 블록으로써 순서도를 기초로 설명되고 있지만, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당업자라면 순서도에 나타내어진 단계들이 배타적이지 않고, 다른 단계가 포함되거나 순서도의 하나 또는 그 이상의 단계가 본 발명의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.
상술한 본 발명에 따른 방법은 소프트웨어 형태로 구현될 수 있으며, 본 발명에 따른 인코딩 장치 및/또는 디코딩 장치는 예를 들어 TV, 컴퓨터, 스마트폰, 셋톱박스, 디스플레이 장치 등의 영상 처리를 수행하는 장치에 포함될 수 있다.
본 발명에서 실시예들이 소프트웨어로 구현될 때, 상술한 방법은 상술한 기능을 수행하는 모듈(과정, 기능 등)로 구현될 수 있다. 모듈은 메모리에 저장되고, 프로세서에 의해 실행될 수 있다. 메모리는 프로세서 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 프로세서와 연결될 수 있다. 프로세서는 ASIC(application-specific integrated circuit), 다른 칩셋, 논리 회로 및/또는 데이터 처리 장치를 포함할 수 있다. 메모리는 ROM(read-only memory), RAM(random access memory), 플래쉬 메모리, 메모리 카드, 저장 매체 및/또는 다른 저장 장치를 포함할 수 있다.

Claims (15)

  1. 디코딩 장치에 의하여 수행되는 비디오 디코딩 방법에 있어서,
    참조 픽처 리스트 0(List 0, L0) 및 참조 픽처 리스트 1(List 1, L1)을 도출하는 단계;
    비트스트림을 통하여 현재 블록에 대한 L0 움직임 정보 및 L1 움직임 정보를 나타내는 신텍스 요소(syntax element)를 수신하는 단계;
    상기 신텍스 요소를 기반으로 상기 현재 블록에 대한 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 도출하는 단계; 및
    상기 L0 움직임 정보 및 상기 L1 움직임 정보를 기반으로 상기 현재 블록의 예측 샘플을 생성하는 단계를 포함하되,
    상기 L0 움직임 정보는 상기 L0에 포함된 상기 현재 블록의 제1 참조 픽처의 인덱스(index) 및 움직임 벡터 예측자 L0(Motion Vector Predictor L0, MVPL0) 중 적어도 하나를 포함하고,
    상기 L1 움직임 정보는 상기 L1에 포함된 상기 현재 블록의 제2 참조 픽처의 인덱스 및 움직임 벡터 예측자 L1(Motion Vector Predictor L1, MVPL1) 중 적어도 하나를 포함하는 것을 특징으로 하는 디코딩 방법.
  2. 제1항에 있어서,
    상기 L0 움직임 정보는 상기 제1 참조 픽처의 인덱스를 포함하고, 상기 L1 움직임 정보는 상기 제2 참조 픽처의 인덱스를 포함하고,
    상기 신텍스 요소는 제1 인덱스를 나타내고,
    상기 제1 인덱스의 값은 상기 제1 참조 픽처의 인덱스 및 상기 제2 참조 픽처의 인덱스의 조합을 나타내고,
    상기 L0 움직임 정보 및 상기 L1 움직임 정보를 기반으로 상기 현재 블록의 예측 샘플을 생성하는 단계는,
    상기 L0의 참조 픽처들 중 상기 조합 내 상기 제1 참조 픽처의 인덱스가 가리키는 참조 픽처를 상기 제1 참조 픽처로 도출하는 단계;
    상기 L1의 참조 픽처들 중 상기 조합 내 상기 제2 참조 픽처의 인덱스가 가리키는 참조 픽처를 상기 제2 참조 픽처로 도출하는 단계; 및
    상기 제1 참조 픽처 및 상기 제2 참조 픽처를 기반으로 상기 예측 샘플을 생성하는 단계를 더 포함하는 것을 특징으로 하는 디코딩 방법.
  3. 제2항에 있어서,
    상기 제1 인덱스의 사용 여부를 나타내는 제1 플래그를 수신하는 단계를 더 포함하되,
    상기 제1 플래그의 값이 1인 경우, 상기 신텍스 요소는 상기 제1 인덱스를 나타내는 것을 특징으로 하는 디코딩 방법.
  4. 제2항에 있어서,
    상기 제1 인덱스를 나타내는 신텍스 요소의 비트 수는 가변적(variable)인 것을 특징으로 하는 디코딩 방법.
  5. 제1항에 있어서,
    상기 L0 움직임 정보는 상기 MVPL0를 포함하고, 상기 L1 움직임 정보는 상기 MVPL1를 포함하고,
    상기 신텍스 요소는 제2 인덱스를 나타내고,
    상기 제2 인덱스의 값은 상기 MVPL0를 나타내는 플래그 및 상기 MVPL1를 나타내는 플래그의 조합을 나타내고,
    상기 L0 움직임 정보 및 상기 L1 움직임 정보를 기반으로 상기 현재 블록의 예측 샘플을 생성하는 단계는,
    상기 현재 블록의 주변 블록들의 움직임 벡터들을 기반으로 MVPL0 후보 리스트 및 MVPL1 후보 리스트를 도출하는 단계;
    상기 MVPL0 후보 리스트의 MVPL0 후보들 중 상기 조합 내 상기 MVPL0를 나타내는 플래그가 가리키는 MVPL0 후보를 상기 MVPL0로 도출하는 단계;
    상기 MVPL1 후보 리스트의 MVPL1 후보들 중 상기 조합 내 상기 MVPL1를 나타내는 플래그가 가리키는 MVPL1 후보를 상기 MVPL1로 도출하는 단계;
    상기 비트스트림을 통하여 획득한 움직임 벡터 차분 L0 (Motion Vector Difference L0, MVDL0) 정보를 기반으로 MVDL0를 도출하고, 상기 MVPL0 및 상기 MVDL0를 기반으로 상기 현재 블록의 움직임 벡터 L0(Motion Vector L0, MVL0)를 도출하는 단계;
    상기 비트스트림을 통하여 획득한 MVDL1 정보를 기반으로 MVDL1을 도출하고, 상기 MVPL1 및 상기 MVDL1을 기반으로 상기 현재 블록의 MVL1을 도출하는 단계;
    상기 MVL0 및 상기 MVL1를 기반으로 상기 예측 샘플을 생성하는 단계를 더 포함하는 것을 특징으로 하는 디코딩 방법.
  6. 제5항에 있어서,
    상기 제 2 인덱스의 값이 나타내는 상기 MVPL0를 나타내는 플래그 및 상기 MVPL1를 나타내는 플래그의 조합은 다음의 표를 기반으로 도출되고,
    Figure PCTKR2017005671-appb-I000001
    여기서, mvp_l2_idx는 상기 제2 인덱스, mvp_l0_flag는 상기 MVPL0를 나타내는 플래그, mvp_l1_flag는 상기 MVPL1를 나타내는 플래그를 나타내는 것을 특징으로 하는 디코딩 방법.
  7. 제5항에 있어서,
    상기 제2 인덱스의 사용 여부를 나타내는 제2 플래그를 수신하는 단계를 더 포함하되,
    상기 제2 플래그의 값이 1인 경우, 상기 신텍스 요소는 상기 제2 인덱스를 나타내는 것을 특징으로 하는 디코딩 방법.
  8. 제1항에 있어서,
    상기 L0 움직임 정보는 상기 제1 참조 픽처의 인덱스 및 상기 MVPL0를 포함하고, 상기 L1 움직임 정보는 상기 제2 참조 픽처의 인덱스 및 상기 MVPL1를 포함하고,
    상기 신텍스 요소는 제3 인덱스를 나타내고,
    상기 제3 인덱스의 값은 상기 제1 참조 픽처의 인덱스, 상기 제2 참조 픽처의 인덱스, 상기 MVPL0를 나타내는 플래그, 및 상기 MVPL1를 나타내는 플래그의 조합을 나타내고,
    상기 L0 움직임 정보 및 상기 L1 움직임 정보를 기반으로 상기 현재 블록의 예측 샘플을 생성하는 단계는,
    상기 현재 블록의 주변 블록의 움직임 벡터를 기반으로 MVPL0 후보 리스트 및 MVPL1 후보 리스트를 도출하는 단계;
    상기 MVPL0 후보 리스트의 MVPL0 후보들 중 상기 조합 내 상기 MVPL0를 나타내는 플래그가 가리키는 MVPL0 후보를 상기 MVPL0로 도출하는 단계;
    상기 MVPL1 후보 리스트의 MVPL1 후보들 중 상기 조합 내 상기 MVPL1를 나타내는 플래그가 가리키는 MVPL1 후보를 상기 MVPL1로 도출하는 단계;
    상기 L0의 참조 픽처들 중 상기 조합 내 상기 제1 참조 픽처의 인덱스가 가리키는 참조 픽처를 상기 제1 참조 픽처로 도출하는 단계;
    상기 L1의 참조 픽처들 중 상기 조합 내 상기 제2 참조 픽처의 인덱스가 가리키는 참조 픽처를 상기 제2 참조 픽처로 도출하는 단계; 및
    상기 제1 참조 픽처, 상기 제2 참조 픽처, 상기 MVPL0 및 상기 MVPL1를 기반으로 상기 예측 샘플을 생성하는 단계를 더 포함하는 것을 특징으로 하는 디코딩 방법.
  9. 제8항에 있어서,
    상기 제3 인덱스의 사용 여부를 나타내는 제3 플래그를 수신하는 단계를 더 포함하되,
    상기 제3 플래그의 값이 1인 경우, 상기 신텍스 요소는 상기 제3 인덱스를 나타내는 것을 특징으로 하는 디코딩 방법.
  10. 제1항에 있어서,
    제1 인덱스, 제2 인덱스, 및 제3 인덱스 중 신텍스 요소가 나타내는 인덱스를 가리키는 모드 정보를 수신하는 단계를 더 포함하되,
    상기 제1 인덱스의 값은 상기 제1 참조 픽처의 인덱스 및 상기 제2 참조 픽처의 인덱스의 조합을 나타내고
    상기 제2 인덱스의 값은 상기 MVPL0를 나타내는 플래그 및 상기 MVPL1를 나타내는 플래그의 조합을 나타내고
    상기 제3 인덱스의 값은 상기 제1 참조 픽처의 인덱스, 상기 제2 참조 픽처의 인덱스, 상기 MVPL0를 나타내는 플래그, 및 상기 MVPL1를 나타내는 플래그의 조합을 나타내는 것을 특징으로 하는 디코딩 방법.
  11. 제11항에 있어서,
    상기 L0 움직임 정보 및 상기 L1 움직임 정보를 나타내는 상기 신텍스 요소의 사용 여부를 나타내는 플래그를 수신하는 단계를 더 포함하되,
    상기 플래그의 값이 1인 경우, 상기 모드 정보가 수신되는 것을 특징으로 하는 디코딩 방법.
  12. 영상 디코딩을 수행하는 디코딩 장치에 있어서,
    비트스트림을 통하여 현재 블록에 대한 L0 움직임 정보 및 L1 움직임 정보를 나타내는 신텍스 요소(syntax element)를 수신하는 엔트로피 디코딩부; 및
    참조 픽처 리스트 0(List 0, L0) 및 참조 픽처 리스트 1(List 1, L1)을 도출하고, 상기 신텍스 요소를 기반으로 상기 현재 블록에 대한 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 도출하고, 상기 L0 움직임 정보 및 상기 L1 움직임 정보를 기반으로 상기 현재 블록의 예측 샘플을 도출하고, 상기 예측 샘플을 기반으로 복원 샘플을 도출하는 예측부를 포함하되,
    상기 L0 움직임 정보는 상기 L0에 포함된 상기 현재 블록의 제1 참조 픽처 및 움직임 벡터 예측자 L0(Motion Vector Predictor L0, MVPL0) 중 적어도 하나를 포함하고,
    상기 L1 움직임 정보는 상기 L1에 포함된 상기 현재 블록의 제2 참조 픽처 및 움직임 벡터 예측자 L1(Motion Vector Predictor L1, MVPL1) 중 적어도 하나를 포함하는 것을 특징으로 하는 디코딩 장치.
  13. 제12항에 있어서,
    상기 L0 움직임 정보는 상기 제1 참조 픽처의 인덱스를 포함하고, 상기 L1 움직임 정보는 상기 제2 참조 픽처의 인덱스를 포함하고,
    상기 신텍스 요소는 제1 인덱스를 나타내고,
    상기 제1 인덱스의 값은 상기 제1 참조 픽처의 인덱스 및 상기 제2 참조 픽처의 인덱스의 조합을 나타내고,
    상기 예측부는 상기 L0의 참조 픽처들 중 상기 조합 내 상기 제1 참조 픽처의 인덱스가 가리키는 참조 픽처를 상기 제1 참조 픽처로 도출하고, 상기 L1의 참조 픽처들 중 상기 조합 내 상기 제2 참조 픽처의 인덱스가 가리키는 참조 픽처를 상기 제2 참조 픽처로 도출하고, 상기 제1 참조 픽처 및 상기 제2 참조 픽처를 기반으로 상기 예측 샘플을 생성하는 것을 특징으로 하는 디코딩 장치.
  14. 제12항에 있어서,
    상기 L0 움직임 정보는 상기 MVPL0를 포함하고, 상기 L1 움직임 정보는 상기 MVPL1를 포함하고,
    상기 신텍스 요소는 제2 인덱스를 나타내고,
    상기 제2 인덱스의 값은 상기 MVPL0를 나타내는 플래그 및 상기 MVPL1를 나타내는 플래그의 조합을 나타내고,
    상기 예측부는 상기 현재 블록의 주변 블록의 움직임 벡터를 기반으로 MVPL0 후보 리스트 및 MVPL1 후보 리스트를 도출하고, 상기 MVPL0 후보 리스트의 MVPL0 후보들 중 상기 조합 내 상기 MVPL0를 나타내는 플래그가 가리키는 MVPL0 후보를 상기 MVPL0로 도출하고, 상기 MVPL1 후보 리스트의 MVPL1 후보들 중 상기 조합 내 상기 MVPL1를 나타내는 플래그가 가리키는 MVPL1 후보를 상기 MVPL1로 도출하고, 상기 MVPL0 및 상기 MVPL1를 기반으로 상기 예측 샘플을 생성하는 것을 특징으로 하는 디코딩 장치.
  15. 제12항에 있어서,
    상기 L0 움직임 정보는 상기 제1 참조 픽처의 인덱스 및 상기 MVPL0를 포함하고, 상기 L1 움직임 정보는 상기 제2 참조 픽처의 인덱스 및 상기 MVPL1를 포함하고,
    상기 신텍스 요소는 제3 인덱스를 나타내고,
    상기 제3 인덱스의 값은 상기 제1 참조 픽처의 인덱스, 상기 제2 참조 픽처의 인덱스, 상기 MVPL0를 나타내는 플래그, 및 상기 MVPL1를 나타내는 플래그의 조합을 나타내고,
    상기 예측부는 상기 현재 블록의 주변 블록의 움직임 벡터를 기반으로 MVPL0 후보 리스트 및 MVPL1 후보 리스트를 도출하고, 상기 MVPL0 후보 리스트의 MVPL0 후보들 중 상기 조합 내 상기 MVPL0를 나타내는 플래그가 가리키는 MVPL0 후보를 상기 MVPL0로 도출하고, 상기 MVPL1 후보 리스트의 MVPL1 후보들 중 상기 조합 내 상기 MVPL1를 나타내는 플래그가 가리키는 MVPL1 후보를 상기 MVPL1로 도출하고, 상기 L0의 참조 픽처들 중 상기 조합 내 상기 제1 참조 픽처의 인덱스가 가리키는 참조 픽처를 상기 제1 참조 픽처로 도출하고, 상기 L1의 참조 픽처들 중 상기 조합 내 상기 제2 참조 픽처의 인덱스가 가리키는 참조 픽처를 상기 제2 참조 픽처로 도출하고, 상기 제1 참조 픽처, 상기 제2 참조 픽처, 상기 MVPL0 및 상기 MVPL1를 기반으로 상기 예측 샘플을 생성하는 것을 특징으로 하는 디코딩 장치.
PCT/KR2017/005671 2017-01-03 2017-05-31 영상 코딩 시스템에서 영상 디코딩 방법 및 장치 WO2018128228A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201762441589P 2017-01-03 2017-01-03
US62/441,589 2017-01-03

Publications (1)

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

Family

ID=62789378

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2017/005671 WO2018128228A1 (ko) 2017-01-03 2017-05-31 영상 코딩 시스템에서 영상 디코딩 방법 및 장치

Country Status (1)

Country Link
WO (1) WO2018128228A1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114080814A (zh) * 2019-06-13 2022-02-22 Lg电子株式会社 基于运动矢量预测的图像/视频编码方法和装置
CN114097240A (zh) * 2019-06-13 2022-02-25 Lg电子株式会社 基于双向预测的图像/视频编码方法和装置
CN114303378A (zh) * 2019-06-24 2022-04-08 Lg电子株式会社 使用运动向量差的图像编码方法和设备
US20220132137A1 (en) * 2019-03-24 2022-04-28 Lg Electronics Inc. Image encoding/decoding method and device using symmetric motion vector difference (smvd), and method for transmitting bitstream

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150040791A (ko) * 2012-04-11 2015-04-15 모토로라 모빌리티 엘엘씨 시간적 예측을 위한 시간적 모션 벡터 예측기(mvp) 플래그의 시그널링
KR20150060617A (ko) * 2011-07-02 2015-06-03 삼성전자주식회사 콜로케이티드 영상을 이용한 인터 예측을 수반하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
KR20160063995A (ko) * 2014-11-27 2016-06-07 주식회사 케이티 비디오 신호 처리 방법 및 장치
KR20160072836A (ko) * 2011-07-12 2016-06-23 한국전자통신연구원 인터 예측 방법 및 그 장치
KR20160124071A (ko) * 2010-12-13 2016-10-26 한국전자통신연구원 참조 유닛 결정 방법 및 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160124071A (ko) * 2010-12-13 2016-10-26 한국전자통신연구원 참조 유닛 결정 방법 및 장치
KR20150060617A (ko) * 2011-07-02 2015-06-03 삼성전자주식회사 콜로케이티드 영상을 이용한 인터 예측을 수반하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
KR20160072836A (ko) * 2011-07-12 2016-06-23 한국전자통신연구원 인터 예측 방법 및 그 장치
KR20150040791A (ko) * 2012-04-11 2015-04-15 모토로라 모빌리티 엘엘씨 시간적 예측을 위한 시간적 모션 벡터 예측기(mvp) 플래그의 시그널링
KR20160063995A (ko) * 2014-11-27 2016-06-07 주식회사 케이티 비디오 신호 처리 방법 및 장치

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220132137A1 (en) * 2019-03-24 2022-04-28 Lg Electronics Inc. Image encoding/decoding method and device using symmetric motion vector difference (smvd), and method for transmitting bitstream
US12047582B2 (en) * 2019-03-24 2024-07-23 Lg Electronics Inc. Image encoding/decoding method and device using symmetric motion vector difference (SMVD), and method for transmitting bitstream
CN114080814A (zh) * 2019-06-13 2022-02-22 Lg电子株式会社 基于运动矢量预测的图像/视频编码方法和装置
CN114097240A (zh) * 2019-06-13 2022-02-25 Lg电子株式会社 基于双向预测的图像/视频编码方法和装置
CN114303378A (zh) * 2019-06-24 2022-04-08 Lg电子株式会社 使用运动向量差的图像编码方法和设备
US12219147B2 (en) 2019-06-24 2025-02-04 Lg Electronics Inc. Image coding method and apparatus using motion vector differences

Similar Documents

Publication Publication Date Title
WO2017057953A1 (ko) 비디오 코딩 시스템에서 레지듀얼 신호 코딩 방법 및 장치
WO2018070632A1 (ko) 영상 코딩 시스템에서 영상 디코딩 방법 및 장치
WO2017052081A1 (ko) 영상 코딩 시스템에서 인터 예측 방법 및 장치
WO2017034331A1 (ko) 영상 코딩 시스템에서 크로마 샘플 인트라 예측 방법 및 장치
WO2016200043A1 (ko) 비디오 코딩 시스템에서 가상 참조 픽처 기반 인터 예측 방법 및 장치
WO2017069590A1 (ko) 영상 코딩 시스템에서 모델링 기반 영상 디코딩 방법 및 장치
WO2016204360A1 (ko) 영상 코딩 시스템에서 조도 보상에 기반한 블록 예측 방법 및 장치
WO2017052000A1 (ko) 영상 코딩 시스템에서 움직임 벡터 정제 기반 인터 예측 방법 및 장치
WO2012081879A1 (ko) 인터 예측 부호화된 동영상 복호화 방법
WO2019194507A1 (ko) 어파인 움직임 예측에 기반한 영상 코딩 방법 및 그 장치
WO2018056709A1 (ko) 영상 코딩 시스템에서 인터 예측 방법 및 장치
WO2018021585A1 (ko) 영상 코딩 시스템에서 인트라 예측 방법 및 장치
WO2017188565A1 (ko) 영상 코딩 시스템에서 영상 디코딩 방법 및 장치
WO2017048008A1 (ko) 영상 코딩 시스템에서 인터 예측 방법 및 장치
WO2017195914A1 (ko) 비디오 코딩 시스템에서 인터 예측 방법 및 장치
WO2018066791A1 (ko) 영상 코딩 시스템에서 영상 디코딩 방법 및 장치
WO2017061671A1 (ko) 영상 코딩 시스템에서 적응적 변환에 기반한 영상 코딩 방법 및 장치
WO2018128222A1 (ko) 영상 코딩 시스템에서 영상 디코딩 방법 및 장치
WO2018174357A1 (ko) 영상 코딩 시스템에서 영상 디코딩 방법 및 장치
WO2018128223A1 (ko) 영상 코딩 시스템에서 인터 예측 방법 및 장치
WO2017052272A1 (ko) 비디오 코딩 시스템에서 인트라 예측 방법 및 장치
WO2020141932A1 (ko) Cpr 기반 mmvd를 이용하는 인터 예측 방법 및 장치
WO2018128228A1 (ko) 영상 코딩 시스템에서 영상 디코딩 방법 및 장치
WO2016178485A1 (ko) 영상 코딩 시스템에서 코딩 유닛 처리 방법 및 장치
WO2018084344A1 (ko) 영상 코딩 시스템에서 영상 디코딩 방법 및 장치

Legal Events

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

Ref document number: 17890562

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

Country of ref document: EP

Kind code of ref document: A1