WO2012148128A2 - 인터 예측 방법과 이를 이용한 인코딩 방법, 디코딩 방법 및 장치 - Google Patents

인터 예측 방법과 이를 이용한 인코딩 방법, 디코딩 방법 및 장치 Download PDF

Info

Publication number
WO2012148128A2
WO2012148128A2 PCT/KR2012/003017 KR2012003017W WO2012148128A2 WO 2012148128 A2 WO2012148128 A2 WO 2012148128A2 KR 2012003017 W KR2012003017 W KR 2012003017W WO 2012148128 A2 WO2012148128 A2 WO 2012148128A2
Authority
WO
WIPO (PCT)
Prior art keywords
prediction
reference picture
picture list
information
weight
Prior art date
Application number
PCT/KR2012/003017
Other languages
English (en)
French (fr)
Other versions
WO2012148128A3 (ko
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 WO2012148128A2 publication Critical patent/WO2012148128A2/ko
Publication of WO2012148128A3 publication Critical patent/WO2012148128A3/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction

Definitions

  • the present invention relates to a method for processing image information, and more particularly, to a method for signaling image information and a method and apparatus for processing image information using signaled information.
  • High-efficiency image compression technology can be used to effectively transmit, store, and reproduce high-resolution, high-quality video information.
  • a method of predicting using information of neighboring blocks of the current block may be used without transmitting information of the current block as it is.
  • inter prediction and intra prediction can be used as a method of prediction.
  • the pixel value of the current picture is predicted by referring to information of another picture
  • the intra prediction method the pixel value is predicted by using the correlation between pixels in the same picture. do.
  • information indicating a reference picture and information indicating a motion vector from neighboring blocks in the inter prediction mode may be used to designate a portion used for prediction in another picture.
  • a previous picture of the current picture may be used, a next picture of the current picture may be used, or a picture before and after the current picture may be used.
  • An object of the present invention is to provide a signaling method for effectively processing image information and an apparatus using the same.
  • An object of the present invention is to provide a method capable of signaling without redundant transmission of information and an apparatus using the same.
  • An object of the present invention is to provide a method for effectively signaling information transmitted from an encoding apparatus to a decoding apparatus and an apparatus using the same in inter prediction.
  • An object of the present invention is to provide a method and apparatus for signaling information based on the identity of reference picture lists and performing prediction based on the same when performing weight prediction in performing inter prediction.
  • An embodiment according to the present invention is an encoding method, comprising: performing inter prediction and transmitting image information including the inter prediction result, and when the inter prediction is performed on a B slice, The picture information may be transmitted based on whether the reference picture list 0 and the reference picture list 1 are identical.
  • weight prediction may be performed, and the image information may include information for weight prediction.
  • the weight prediction may be performed based on a reference picture list combination, and the image information may include the reference picture list 0 and the reference picture list 1. It may include information of weight prediction using the reference picture list combination that is combined from.
  • weight prediction may be performed.
  • the weight prediction is performed from the reference picture list 0 and the reference picture list 1.
  • the image information may include weight prediction information based on the reference picture list 0 and the reference picture list 1.
  • the weight prediction information may include weight prediction information to be applied to the entry from the reference picture list 0 among the entries constituting the reference picture list and weight prediction information to be applied to the entry from the reference picture list 1. have.
  • Another embodiment of the present invention provides a decoding method, comprising: receiving image information from an encoding apparatus, performing inter prediction based on the received image information, and reconstructing a picture based on the inter prediction result
  • the received image information may be different depending on whether the reference picture list 0 and the reference picture list 1 are identical.
  • weight prediction may be performed, and the image information may include information for weight prediction.
  • the weight prediction may be performed based on a reference picture list combination, and the image information may include the reference picture list 0 and the reference picture list. It may include information of weight prediction using the reference picture list combination combined from one.
  • weight prediction may be performed.
  • the weight prediction is performed from the reference picture list 0 and the reference picture list 1.
  • the image information may include weight prediction information based on the reference picture list 0 and the reference picture list 1.
  • the weight prediction information may include weight prediction information to be applied to the entry from the reference picture list 0 among the entries constituting the reference picture list and weight prediction information to be applied to the entry from the reference picture list 1. Can be.
  • Another embodiment of the present invention is an inter prediction method performed in an encoding apparatus or a decoding apparatus, the method comprising: deriving motion information, generating a prediction block based on the motion information, and presently based on the generated prediction block And reconstructing the block, wherein the predictive block generating step includes performing weighted prediction based on the image information received from the encoding apparatus, wherein the image information is based on whether the reference picture list 0 and the reference picture list 1 are identical. Can be different.
  • the weight prediction may be performed based on a reference picture list combination, and the image information may include the reference picture list 0 and the reference picture list 1. It may include information of weight prediction using the reference picture list combination that is combined from.
  • the weight prediction may be performed based on a combination of reference picture lists combined from the reference picture list 0 and the reference picture list 1 and the image.
  • the information may include weight prediction information based on the reference picture list 0 and the reference picture list 1.
  • the weight prediction information includes weight prediction information to be applied to the entry from the reference picture list 0 among the entries constituting the reference picture list and weight prediction information to be applied to the entry from the reference picture list 1. can do.
  • Another embodiment of the present invention is an encoding apparatus, comprising: a prediction unit for inter prediction and an entropy coding unit for entropy coding image information including the inter prediction result and transmitting the result as a bit stream, wherein the prediction unit performs weight prediction.
  • the encoding apparatus may perform the encoding method and the inter prediction method.
  • Another embodiment of the present invention is a decoding apparatus, comprising: an entropy decoding unit for entropy decoding image information transmitted in a bitstream received from an encoding apparatus, and a prediction unit for performing inter prediction based on the entropy decoded image information.
  • the prediction unit performs inter prediction by applying a weighted prediction, and the image information includes information for weight prediction.
  • the image information corresponds to a reference picture list 0. It may be transmitted based on whether the reference picture list 1 is identical.
  • the decoding apparatus may perform the decoding method and the inter prediction method.
  • information transmitted from an encoding device to a decoding device can be effectively signaled based on the identity of reference picture lists.
  • prediction can be effectively performed by signaling information for performing weighted prediction based on the identity of the reference picture lists.
  • the compression efficiency of the image information can be improved by effectively signaling the information based on the identity of the reference picture list.
  • FIG. 1 is a block diagram schematically illustrating an image encoding apparatus (encoder) according to an embodiment of the present invention.
  • FIG. 2 is a block diagram schematically illustrating an image decoding apparatus (decoder) according to an embodiment of the present invention.
  • FIG 3 is a view schematically illustrating an example of a method of configuring an LC from L0 and L1.
  • FIG. 4 is a flowchart schematically illustrating a method of performing inter prediction according to the present invention.
  • FIG. 5 is a flowchart schematically illustrating a method for the encoding apparatus to perform prediction and signal information according to the present invention.
  • FIG. 6 is a flowchart schematically illustrating a method for a decoding apparatus to perform prediction and reconstruct a picture according to the present invention.
  • each of the components in the drawings described in the present invention are shown independently for the convenience of the description of the different characteristic functions in the image encoding / decoding device, each component is implemented in separate hardware or separate software It does not mean to be.
  • two or more of each configuration may be combined to form one configuration, or one configuration may be divided into a plurality of configurations.
  • Embodiments in which each configuration is integrated and / or separated are also included in the scope of the present invention without departing from the spirit of the present invention.
  • the image encoding apparatus 100 may include a picture splitter 105, a predictor 110, a transformer 115, a quantizer 120, a reordering unit 125, and an entropy encoding unit 130. , An inverse quantization unit 135, an inverse transform unit 140, a filter unit 145, and a memory 150.
  • the picture dividing unit 105 may divide the input picture into at least one processing unit.
  • the processing unit may be a prediction unit (hereinafter referred to as a PU), a transform unit (hereinafter referred to as a TU), or a coding unit (hereinafter referred to as "CU"). May be used).
  • the prediction unit may be represented by a prediction block, a transform unit by a transform block, and an encoding unit by an encoding block.
  • the prediction unit 110 may include an inter prediction unit that performs inter prediction (inter prediction) and an intra prediction unit that performs intra prediction.
  • inter prediction inter prediction
  • intra prediction intra prediction
  • I slice As a picture including an already encoded region used for prediction, there are an I picture (I slice), a P picture (P slice), a B picture (B slice), and the like.
  • An I slice is a slice that is only decoded by intra prediction.
  • a P slice is a slice that can be decoded using inter prediction or intra prediction using at least one motion vector and reference picture index to predict the sample value of each block.
  • a B slice is a slice that can be decoded using inter prediction or intra prediction using at least two motion vectors and reference picture indices to predict the sample value of each block.
  • the prediction unit 110 performs prediction on the processing unit of the picture in the picture dividing unit 105 to generate a prediction block composed of the predicted samples.
  • the processing unit of the picture in the prediction unit 110 may be a CU, a TU, or a PU.
  • the processing unit in which the prediction is performed and the processing unit in which the prediction method and the specific content are determined may be different from each other.
  • the method of prediction and the prediction mode may be determined in units of PUs, and the prediction may be performed in units of TUs.
  • a prediction block may be generated by performing prediction based on information of at least one picture of a previous picture and / or a subsequent picture of the current picture.
  • a prediction block may be generated by performing prediction based on pixel information in a current picture.
  • a prediction picture for the current block may be generated by selecting a reference picture with respect to the current block and selecting a reference block having the same size as the current block.
  • a prediction block may be generated such that a residual signal with a current block is minimized and a motion vector size is also minimized.
  • a skip mode, a merge mode, an advanced motion vector prediction (AMVP), and the like can be used.
  • the prediction block may be generated in sub-integer sample units such as 1/2 pixel sample unit and 1/4 pixel sample unit.
  • the motion vector may also be expressed in units of integer pixels or less.
  • the luminance pixel may be expressed in units of 1/4 pixels
  • the chrominance pixel may be expressed in units of 1/8 pixels.
  • Information such as an index, a motion vector predictor, and a residual signal of a reference picture selected through inter prediction is entropy encoded and delivered to the decoding apparatus.
  • a prediction mode may be determined in units of PUs, and prediction may be performed in units of PUs, or a prediction mode may be determined in units of PUs, and intra prediction may be performed in units of TUs.
  • the prediction mode may have 33 directional prediction modes and at least two non-directional modes.
  • the non-directional mode may include a DC prediction mode, a planar mode, and the like.
  • a prediction block may be generated after applying a filter to a reference sample.
  • whether to apply the filter to the reference sample may be determined according to the intra prediction mode and / or the size of the current block.
  • the PU may be determined in various sizes / types from a CU that is no longer partitioned.
  • a PU may have a size of 2N ⁇ 2N, 2N ⁇ N, N ⁇ 2N, or N ⁇ N.
  • the PU may have a size of 2N ⁇ 2N or N ⁇ N (where N is an integer).
  • the N ⁇ N size PU may be set to apply only in a specific case. For example, it may be decided to use a PU of N ⁇ N only for a minimum size coding unit or to use only for intra prediction.
  • a PU having a size of N ⁇ mN, mN ⁇ N, 2N ⁇ mN, or mN ⁇ 2N (m ⁇ 1) may be further defined and used.
  • the residual value (the residual block or the residual signal) between the generated prediction block and the original block is input to the converter 115.
  • the prediction mode information, the motion vector information, etc. used for the prediction are encoded by the entropy encoding unit 130 together with the residual value and transmitted to the decoding apparatus.
  • the transformer 115 performs transform on the residual block in transform units and generates transform coefficients.
  • the transform unit in the converter 115 may be a TU and may have a quad tree structure. In this case, the size of the transform unit may be determined within a range of a predetermined maximum and minimum size.
  • the transform unit 115 may convert the residual block using a discrete cosine transform (DCT) or a discrete sine transform (DST).
  • DCT discrete cosine transform
  • DST discrete sine transform
  • the quantizer 120 may generate quantization coefficients by quantizing the residual values transformed by the converter 115.
  • the value calculated by the quantization unit 120 is provided to the inverse quantization unit 135 and the reordering unit 125.
  • the reordering unit 125 rearranges the quantization coefficients provided from the quantization unit 120. By rearranging the quantization coefficients, the efficiency of encoding in the entropy encoding unit 130 may be increased.
  • the reordering unit 125 may rearrange the quantization coefficients in the form of 2D blocks into the form of 1D through a coefficient scanning method.
  • the reordering unit 125 may increase the entropy encoding efficiency of the entropy encoding unit 130 by changing the order of coefficient scanning based on probabilistic statistics of coefficients transmitted from the quantization unit.
  • the entropy encoding unit 130 may perform entropy encoding on the quantization coefficients rearranged by the reordering unit 125.
  • Entropy encoding may include, for example, encoding methods such as Exponential Golomb, Context-Adaptive Variable Length Coding (CAVLC), and Context-Adaptive Binary Arithmetic Coding (CABAC).
  • the entropy encoding unit 130 may include quantization coefficient information, block type information, prediction mode information, partition unit information, PU information, transmission unit information, motion vector information, etc. of the CUs received from the reordering unit 125 and the prediction unit 110.
  • Various information such as reference picture information, interpolation information of a block, and filtering information may be encoded.
  • the entropy encoding unit 130 may apply a constant change to a transmitted parameter set or syntax.
  • the inverse quantization unit 135 inverse quantizes the quantized values in the quantization unit 120, and the inverse transformer 140 inversely transforms the inverse quantized values in the inverse quantization unit 135.
  • the residual values generated by the inverse quantizer 135 and the inverse transformer 140 may be combined with the prediction block predicted by the predictor 110 to generate a reconstructed block.
  • the filter unit 145 may apply a deblocking filter, an adaptive loop filter (ALF), and a sample adaptive offset (SAO) to the reconstructed picture.
  • ALF adaptive loop filter
  • SAO sample adaptive offset
  • the deblocking filter may remove block distortion generated at the boundary between blocks in the reconstructed picture.
  • the adaptive loop filter may perform filtering based on a value obtained by comparing the reconstructed image with the original image after the block is filtered through the deblocking filter. ALF may be performed only when high efficiency is applied.
  • the SAO restores the offset difference from the original image on a pixel-by-pixel basis for the residual block to which the deblocking filter is applied, and is applied in the form of a band offset and an edge offset.
  • the filter unit 145 may not apply filtering to the reconstructed block used for inter prediction.
  • the memory 150 may store the reconstructed block or the picture calculated by the filter unit 145.
  • the reconstructed block or picture stored in the memory 150 may be provided to the predictor 110 that performs inter prediction.
  • the image decoding apparatus 200 may include an entropy decoding unit 210, a reordering unit 215, an inverse quantization unit 220, an inverse transform unit 225, a prediction unit 230, and a filter unit 235.
  • Memory 240 may be included.
  • the input bit stream may be decoded according to the reverse procedure of the procedure in which the image information is processed in the encoding apparatus.
  • VLC variable length encoding
  • 'VLC' variable length encoding
  • the entropy decoding unit 210 also uses the VLC. Entropy decoding may be performed by implementing the same VLC table as the table.
  • CABAC CABAC is used to perform entropy encoding in the image encoding apparatus
  • CABAC CABAC correspondingly.
  • Information for generating a prediction block among the information decoded by the entropy decoding unit 210 may be provided to the prediction unit 230, and a residual value of which the entropy decoding is performed in the entropy decoding unit may be input to the reordering unit 215. .
  • the reordering unit 215 may reorder the entropy decoded bit stream in the entropy decoding unit 210 based on a method of reordering in the image encoder.
  • the reordering unit 215 may reorder the coefficients expressed in the form of a one-dimensional vector by restoring the coefficients in the form of a two-dimensional block.
  • the reordering unit 215 may be realigned by receiving information related to coefficient scanning performed by the encoding apparatus and performing reverse scanning based on the scanning order performed by the encoding apparatus.
  • the inverse quantization unit 220 may perform inverse quantization based on the quantization parameter provided by the encoding apparatus and the coefficient values of the rearranged block.
  • the inverse transform unit 225 may perform inverse DCT or inverse DST with respect to a DCT or a DST performed by the transform unit of the encoding apparatus with respect to the quantization result performed by the image encoding apparatus.
  • the inverse transformation may be performed based on a transmission unit determined by the encoding apparatus or a division unit of an image.
  • the transform unit of the encoding apparatus may selectively perform DCT or DST according to a plurality of pieces of information such as a prediction method, a current block size, and a prediction direction, and the inverse transform unit 225 of the decoding apparatus may perform the transform unit.
  • Inverse transformation may be performed based on the transformation information.
  • the prediction unit 230 may generate the prediction block based on the prediction block generation related information provided by the entropy decoding unit 210 and the previously decoded block and / or picture information provided by the memory 240.
  • the reconstruction block may be generated using the prediction block generated by the predictor 230 and the residual block provided by the inverse transform unit 225.
  • the detailed prediction method performed by the prediction unit 230 is the same as the prediction method performed by the prediction unit of the encoding apparatus.
  • intra prediction that generates a prediction block based on pixel information in the current picture may be performed.
  • the prediction mode may have 33 directional prediction modes and at least two non-directional modes.
  • the non-directional mode may include a DC prediction mode, a planar mode, and the like.
  • a prediction block may be generated after applying a filter to a reference sample.
  • whether to apply the filter to the reference sample may be determined according to the intra prediction mode and / or the size of the current block.
  • a prediction picture for the current block may be generated by selecting a reference picture with respect to the current block and selecting a reference block having the same size as the current block.
  • a prediction block may be generated such that a residual signal with a current block is minimized and a motion vector size is also minimized.
  • information of neighboring blocks of the current picture may be used.
  • the prediction block for the current block may be generated based on the information of the neighboring block through a skip mode, a merge mode, an advanced motion vector prediction (AMVP), and the like.
  • AMVP advanced motion vector prediction
  • the prediction block may be generated in sub-integer sample units such as 1/2 pixel sample unit and 1/4 pixel sample unit.
  • the motion vector may also be expressed in units of integer pixels or less.
  • the luminance pixel may be expressed in units of 1/4 pixels
  • the chrominance pixel may be expressed in units of 1/8 pixels.
  • the motion information necessary for inter prediction of the current block may be derived by checking a skip flag, a merge flag, and the like received from the encoding apparatus.
  • the processing unit in which the prediction is performed and the processing unit in which the prediction method and the details are determined may be different from each other.
  • a prediction mode may be determined in units of PUs, and prediction may be performed in units of PUs, or a prediction mode may be determined in units of PUs, and intra prediction may be performed in units of TUs.
  • the residual block output from the inverse transformer 225 may be added to the prediction block output from the predictor 230 to reconstruct the original image.
  • the reconstructed block and / or picture may be provided to the filter unit 235.
  • the filter unit 235 applies deblocking filtering, sample adaptive offset (SAO), and / or adaptive loop filtering to the reconstructed block and / or picture.
  • the memory 240 may store the reconstructed picture or block to use as a reference picture or reference block and provide the reconstructed picture to the output unit.
  • bit stream input to the decoding apparatus may be input to the entropy decoding unit through a parsing step.
  • the entropy decoding unit may perform a parsing process.
  • coding may be interpreted as encoding or decoding as the case may be, and information is to be understood as including all values, parameters, coefficients, elements, and the like. Can be.
  • 'picture' or 'picture' generally refers to a unit representing a single image in a specific time zone
  • 'slice' or 'frame' refers to a picture in actual coding of a video signal. It is a unit constituting part, and may be used interchangeably with a picture if necessary.
  • 'Pixel', 'pixel' or 'pel' means the smallest unit that constitutes an image.
  • the term “sample” may be used as a term indicating a value of a specific pixel.
  • the sample may be divided into a luminance (Luma) and a chroma (chroma) component, but may be generally used as a term including both of them.
  • the color difference component represents a difference between predetermined colors and is generally composed of Cb and Cr.
  • a unit refers to a basic unit of image processing or a specific position of an image, such as the above-described coding unit (CU), prediction unit (PU), and transformation unit (TU). In some cases, a 'block' Or 'area' and the like. Also, a block may be used as a term indicating a set of samples or transform coefficients composed of M columns and N rows.
  • the prediction unit of the encoding apparatus or the decoding apparatus performs inter prediction for predicting pixel values of the target block using information of other reconstructed pictures other than the current picture (current video) as described above. .
  • An image used for prediction of the current block is called a reference picture or a reference frame.
  • the region used for prediction of the current block in the reference picture may be represented by using a reference picture index (refIdx), a motion vector, etc. indicating the reference picture.
  • a reference picture list may be constructed of pictures used for prediction.
  • which picture will be used for inter prediction of the current block may be indicated by using a reference picture index.
  • the reference picture index indicates a specific reference picture in the reference picture list.
  • a picture may be classified into any one of an I picture, a P picture, and a B picture.
  • I pictures are pictures that are encoded / decoded by intra prediction.
  • the characteristics of the I picture may be defined in slice units rather than picture units. For example, an I slice having a feature of an I picture in slice units may be defined.
  • a P picture is a picture that can be encoded / decoded using inter prediction or intra prediction using at least one motion vector and reference picture index to predict the sample value of each block.
  • P picture requires one reference picture list, which is referred to as reference picture list 0 (L0).
  • the characteristics of the P picture may be defined not by the picture but also by the slice unit. For example, a P slice having characteristics of a P picture in slice units may be defined.
  • a B picture is a picture that can be encoded / decoded using inter prediction or intra prediction using at most two motion vectors and reference picture indices to predict the sample value of each block.
  • the B picture may perform forward, backward, or bidirectional inter prediction using up to two reference pictures. Therefore, two reference picture lists, for example, reference picture list 0 and reference picture list 1 (L1), may be used to predict the B picture.
  • Two reference picture lists for example, reference picture list 0 and reference picture list 1 (L1), may be used to predict the B picture.
  • Features of the B picture may be defined not in the picture unit but in the slice unit. For example, a B slice having a feature of a B picture in slice units may be defined.
  • Reference picture list 0 (hereinafter, referred to as 'L0' for convenience of description) is a reference picture list used for inter prediction of a P picture (P slice) or B picture (B slice). Inter prediction for a P picture (P slice) uses LO. Also, L0 is one of two reference picture lists used for inter prediction on a B picture (B slice).
  • L1 is a reference picture list used for bi-prediction for a B picture (B slice).
  • Inter prediction using a reference picture selected from L0 is called L0 prediction, and L0 prediction is mainly used for forward prediction.
  • the direction of the L0 prediction is also referred to simply as the L0 direction.
  • Inter prediction using a reference picture selected from L1 is called L1 prediction, and L1 prediction is mainly used for backward prediction.
  • the direction of L1 prediction is also called simply L1 direction.
  • LC reference picture list combination
  • 'LC' reference picture list
  • FIG 3 is a view schematically illustrating an example of a method of configuring an LC from L0 and L1.
  • the current block (eg, PU) of the current picture 300 is in inter prediction mode, the current block is referred to as reference picture 1 310, reference picture 2 320, reference picture 4 330, or reference picture. Inter predicted using Picture 5 340.
  • L0 may be configured to give priority to forward reference pictures among the reference pictures of the current picture.
  • the reference picture list may consist of a predetermined number of reference pictures, and may be set to include a predetermined number of reference pictures in the forward and reverse directions, respectively.
  • L0 includes two reference pictures in the forward direction and one reference picture in the reverse direction
  • L1 two reference pictures in the reverse direction and one reference picture in the forward direction.
  • index 0 is assigned to reference picture 2 320 closest to the current picture 300 in the forward direction, and the second reference picture closest to the current picture 300 in the forward direction.
  • Index 1 is assigned to 1 (310).
  • index 2 is allocated to the reference picture 4 330 closest to the current picture 300 in the reverse direction. Therefore, L0 for the example of FIG. 3 may be configured as shown in Table 1.
  • L1 for the example of FIG. 3 may be configured as shown in Table 2.
  • the LC can be constructed in a variety of ways from L0 and L1.
  • the LC in L0 and L1, the LC may be configured by arranging reference pictures alternately from a reference picture close to the current picture in the order of a reference picture far from the current picture.
  • the LC may be configured by alternately extracting the reference picture index of the upper index from L0 and L1 and assigning the index in that order.
  • the LC for the example of FIG. 3 may be configured as shown in Table 3.
  • information about a prediction direction is signaled from the encoding apparatus.
  • information about whether the prediction direction is the L0 direction or the L1 direction, or whether pair prediction is applied is transmitted from the encoding apparatus.
  • Information on whether the L0 direction or the L1 direction or pair prediction is applied may be transmitted using a predetermined indicator, for example, an inter prediction indicator (inter_pred_idc).
  • uni-prediction and bi-prediction can be set in relation to the direction with respect to inter prediction
  • the direction of prediction using a flag instead of an indicator is used.
  • Information about can be signaled.
  • flags instead of indicators can reduce overhead in information transmission.
  • the reference picture list combination i.e., LC, is used in the above-described short prediction method.
  • Information for configuring the LC in the decoder may be signaled from the encoder.
  • Information for configuring the LC may be transmitted in various ways, at various syntax levels as needed.
  • Table 4 illustrates an example in which information for configuring an LC is transmitted from an encoder.
  • the signaling illustrated in Table 4 may be transmitted at various levels, as described above. For example, it may be transmitted in a syntax related to a slice header, or may be called from another syntax after being transmitted in a separate syntax.
  • the syntax ref_pic_list_combination_flag indicates whether to generate an LC.
  • ref_pic_list_combination_flag with a value of 1 (true) indicates that L0 and L1 are combined to generate an additional reference picture list LC that is used to uni-prediction the current block.
  • ref_pic_list_combination_flag having a value of 0 (false) indicates that L0 and L1 are identical, and that L0 can be used as a reference picture list combination LC. Therefore, ref_pic_list_combination_flag having a value of 1 (true) may be interpreted as indicating that L0 and L1 are different.
  • the LC may be set to empty when the loop defined in Table 4 begins.
  • num_ref_idx_lc_active_minus2 +2 specifies the number of reference pictures selected from L0 or L1 in the LC.
  • the value of the ref_pic_list_combination_flag described above is 1, the LC is used.
  • the LC may be used without generating an existing reference picture list. Therefore, the value of num_ref_idx_lc_active may be configured to indicate 2 or more, and may be signaled by applying minus2.
  • ref_pic_list_modification_flag_lc conveys the information needed to specify the mapping between L1, L2 and LC. Specifically, ref_pic_list_modification_flag_lc with a value of 1 indicates that there are syntax elements pic_from_list_0_flag and ref_idx_list_curr present to specify mapping the entries of the LC to the entries of L0 and L1. Ref_pic_list_modification_flag_lc with a value of 0 indicates that there are no pic_from_list_0_flag and ref_idx_list_curr , and the LC can be initialized according to a predetermined method.
  • pic_from_list_0_flag indicates whether the current reference picture added to the LC is added from L0 or from L1. For example, if the value of pic_from_list_0_flag is 1, the current reference picture is a reference picture from L0, and the value of the variable CurrRefPicList indicating which reference picture list the current reference picture is to be added to may be set to a value indicating L0. . If the value of pic_from_list_0_flag is 0, the current reference picture is a reference picture from L1, and the value of the variable CurrRefPicList may be set to a value indicating L1.
  • ref_idx_list_curr indicates the reference picture index of the picture in the CurrRefPicList attached to the end of the LC.
  • FIG. 4 is a flowchart schematically illustrating a method of performing inter prediction according to the present invention.
  • the method of inter prediction shown in FIG. 4 may be performed in a decoding apparatus to which the present invention is applied, or a predetermined unit in the decoding apparatus, for example, a prediction unit.
  • a prediction unit For convenience of explanation, it is described here that the prediction unit of decoding performs prediction.
  • the prediction unit of the decoding apparatus determines an inter prediction method for a current block (S410).
  • the prediction unit of the decoding apparatus may determine whether the prediction method applied to the current block is inter prediction or intra prediction, and in the case of inter prediction, may determine a specific inter prediction method.
  • the inter prediction method may be determined in a CU unit including a current block or in a PU unit or a TU unit.
  • the encoding apparatus may include a flag (eg, skip_flag) regarding whether inter prediction based on a skip mode is applied, a flag (eg, merge_flag) regarding whether inter prediction based on a merge mode is applied, and an interlock based on an Motion Vector Prediction (MVP).
  • MVP_flag Motion Vector Prediction
  • a flag (eg, skip_flag) regarding whether inter prediction based on a skip mode is applied, a flag (eg, merge_flag) regarding whether inter prediction based on a merge mode is applied, and the like are transmitted, and a skip mode or a merge mode is transmitted by the flag. If it is determined that the inter prediction based on is not applied, the inter prediction based on the MVP may be applied. In this case, information on which reference picture list is used to apply the inter prediction based on the MVP may also be transmitted from the encoding apparatus to the decoding apparatus.
  • the prediction unit of the decoding apparatus determines whether the inter prediction method applied to the current block is an inter prediction method based on a skip mode, an inter prediction method based on a merge mode, or a motion vector predictor (MVP). It may be determined whether the inter prediction method is based.
  • MVP motion vector predictor
  • the prediction unit of the decoding apparatus derives motion information for the current block (S420).
  • the prediction unit of the decoding apparatus may induce motion information about the current block according to the inter prediction method applied to the current block.
  • motion information for a current block is transmitted, and other information, for example, information about a residual signal, is not transmitted.
  • the motion information of the corresponding block may be used as the motion information of the corresponding block without transmitting the motion information of the corresponding block as it is.
  • the encoder may transmit information indicating a specific block to the decoder as to which peripheral block motion information to use. Therefore, the prediction unit of the decoding apparatus may use the motion information of the neighboring block indicated by the information received from the encoder as the motion information of the current block.
  • motion information on a current block may be obtained from prediction information of a neighboring block adjacent to the current block.
  • information indicating a corresponding block (for example, a merge index) regarding which neighboring block motion information is to be used may be transmitted from the encoding device to the decoding device.
  • the prediction unit of the decoding apparatus may use the motion information of the neighboring block indicated by the encoding apparatus as the motion information of the current block.
  • predetermined blocks among neighboring blocks of the current block may be set as candidate blocks.
  • the encoding apparatus may transmit to the decoding apparatus which block of the candidate blocks to use motion information. For example, the encoding apparatus may transmit a merge index indicating a neighboring block to be merged among candidate lists composed of candidate blocks.
  • the prediction unit of the decoding apparatus may use the motion information of the neighboring block indicated by the merge index as the motion information of the current block.
  • the prediction unit of the decoding apparatus may use the motion information of the block indicated by the merge index transmitted by the encoding apparatus as the motion information of the current block.
  • a motion vector of a block selected from neighboring blocks of the current block may be used as a motion vector prediction value of the current block.
  • the encoding apparatus may transmit prediction information such as a motion vector prediction value, a motion vector difference (MVD) corresponding to the difference between the motion vector predictor and the motion vector of the current block, and a reference picture index for the current block to the decoding apparatus.
  • the transmitted motion vector prediction value is called a motion vector prediction (MVP) or a motion vector predictor (MVP).
  • certain blocks among neighboring blocks of the current block may be set as candidate blocks, and a motion vector to be used as a motion vector predictor of the current block may be indicated on a list composed of motion vectors of the candidate blocks.
  • the encoding apparatus may transmit to the decoding apparatus an index indicating which block's motion vector to use as the motion vector predictor of the current block.
  • the prediction unit of the decoding apparatus may induce motion information of the current block based on the received information. For example, the prediction unit of the decoding apparatus may obtain a motion vector of the current block based on the difference between the motion vector predictor and the motion vector predictor, and use the received reference picture index as a reference picture index for the current block.
  • the prediction unit of the decoding apparatus may use the motion information indicated by the index transmitted by the encoding apparatus on the list including the motion information of the candidate blocks as the motion information predictor of the current block.
  • predetermined candidate blocks among neighboring blocks of the current block may be the same blocks.
  • the prediction unit of the decoding apparatus generates a prediction block for the current block (S430).
  • the prediction unit of the decoding apparatus may generate a prediction block composed of prediction samples with respect to the current block.
  • the prediction unit of the decoding apparatus may generate a prediction block for the current block based on the motion information of the current block obtained according to each inter prediction method. For example, the prediction unit of the decoding apparatus may use the samples of the region indicated by the motion vector in the reference picture indicated by the reference picture index among the motion information of the current block as prediction samples of the current block. When the motion vector does not indicate integer samples, partial samples may be generated through interpolation or the like. Partial samples may be generated in quarter-pel units. In this case, the prediction unit of the decoding apparatus may reconstruct the current block by using the prediction block composed of the partial samples.
  • the prediction unit of the decoding apparatus may perform weighted prediction on a sample block generated based on a reference picture index and a motion vector.
  • the prediction unit of the decoding apparatus may compensate for an illumination variation of a video sequence through weight prediction and increase the accuracy of the prediction.
  • the prediction unit of the decoding apparatus may generate a prediction sample by weighting a sample block generated based on the reference picture index and the motion vector, and generate a prediction block that is an array of each prediction sample.
  • the weights can be applied in an explicit way.
  • the prediction unit of the decoding apparatus may generate a prediction block by assigning a weight based on the weight information transmitted from the encoding apparatus.
  • the encoding apparatus may transmit information indicating whether to explicitly apply the weight to the decoding apparatus.
  • Information indicating whether to explicitly apply the weight may be transmitted in units of pictures.
  • the prediction unit of the decoding apparatus may apply a predetermined default weight when the weight is not explicitly applied.
  • the weights may be applied in an explicit way or may be applied in an implicit way.
  • the prediction unit of the decoding apparatus may generate a prediction block by assigning a weight based on the weight information explicitly transmitted from the encoding apparatus.
  • the predicting unit of the decoding apparatus may generate the prediction block by deriving the weight by a predetermined method and applying the derived weight. In this case, a weight may be derived based on the distance between the current picture and the reference picture.
  • the prediction unit of the decoding apparatus may apply a predetermined default weight when the weight is not explicitly or implicitly applied.
  • the encoding apparatus may transmit information indicating whether to apply the weight explicitly or implicitly or to apply the default weight to the decoding apparatus. Information indicating whether to apply the weight explicitly or implicitly or to apply the default weight may be transmitted for each picture unit.
  • the prediction unit of the decoding apparatus reconstructs the current block (S440).
  • the prediction unit of the decoding apparatus reconstructs the current block based on the prediction block.
  • the prediction unit of the decoding apparatus may use the prediction block as the reconstructed current block.
  • the prediction unit of the decoding apparatus may reconstruct the current block by adding the residual block to the prediction block.
  • the prediction unit of the decoding apparatus may further apply at least one of a deblocking filter, a sample adaptive offset (SAO), and an adaptive loop filter (ALF) to the reconstructed blocks in order to reconstruct the current picture.
  • a deblocking filter e.g., a sample adaptive offset (SAO), and an adaptive loop filter (ALF)
  • information necessary to perform prediction in the prediction unit of the decoding apparatus may be signaled from the encoding apparatus. For example, information such as whether intra prediction is applied to the current block, inter prediction is applied, what is a specific inter prediction method if inter prediction is applied, and what is an intra prediction mode if intra prediction is applied, may be signaled.
  • the prediction unit of the decoding apparatus may derive information necessary for prediction from other information.
  • Information necessary to derive information necessary for prediction may be signaled from the encoding apparatus to the decoding apparatus.
  • Prediction modes of inter prediction include Pred_L0, Pred_L1, Pred_Bi, and Pred_LC.
  • Pred_L0 is an inter prediction method using a reference frame (reference picture) of L0
  • Pred_L1 is an inter prediction method using a reference frame (reference picture) of L1
  • Pred_Bi is a reference frame (reference picture) of L0 and a reference frame of L1 ( Reference picture).
  • the same slices L0 and L1 are also referred to as generalized P and B (GPB) slices for convenience of description.
  • Pred_LC is an inter prediction method using LC combined from L0 and L1.
  • signaling may be performed by discriminating whether Pred_Bi or Pred_LC is used.
  • the inter prediction mode of the current block is Pred_LC
  • the reference picture index of the LC is signaled.
  • Pred_Bi reference picture indices of L0 and L1 may be signaled.
  • the inter prediction mode of the current block is Pred_Bi
  • a case of using L0 and a case of using L1 may be distinguished to signal prediction information related to a reference picture list and a reference picture list used for prediction.
  • the slice type (picture type) is B slice (B picture)
  • the structure of the forward reference picture list and the structure of the backward reference picture list may be the same.
  • L0 and L1 used for prediction of the B slice may be the same.
  • a slice (picture) in which the slice type is a B slice and L0 and L1 are the same is referred to as a GPB slice (picture) as described above.
  • ref_pic_list_combination_flag may be used.
  • the value of ref_pic_list_combination_flag is 1, L0 and L1 are different, and LC is further combined using L0 and L1.
  • the value of ref_pic_list_combination_flag is 0, L0 and L1 are the same.
  • information necessary for inter prediction may be duplicated more than in the case of a general B slice.
  • information necessary for inter prediction using L0 may be the same as information using L1. Therefore, it is necessary to consider a bitstream for efficient transmission based on whether L0 and L1 are identical.
  • the encoding apparatus may separately transmit necessary information according to each prediction mode.
  • the information about L0 includes not only information about L0 itself but also information necessary for the decoding apparatus to perform decoding by using L0.
  • the information about L1 includes not only information about the L1 itself but also information necessary for the decoding apparatus to perform decoding using L1.
  • Table 5 schematically shows an example of a syntax structure for transmitting information about L1 based on whether L0 and L1 are the same according to the present invention.
  • the syntax structure of Table 5 may be part of a specific syntax for transmitting predetermined information.
  • the encoding apparatus may configure information about L1 and transmit it as a syntax element for L1 so that the LC can be combined and to perform prediction using the combined LC.
  • the syntax element for L0 may be separately transmitted within the syntax.
  • the decoding apparatus may combine the LCs from L0 and L1 based on the syntax element for L0 and the syntax element for L1.
  • Table 6 schematically shows an example of a syntax structure for transmitting information about L1 based on whether L0 and L1 are the same according to the present invention.
  • the syntax structure of Table 6 may be part of a specific syntax for transmitting predetermined information.
  • L0 and L1 are the same (GPB slice)
  • information necessary in the decoding process such as weight and offset may be different in the case of prediction using L0 and the prediction using L1.
  • the decoding apparatus may apply information about L0 as it is to L1 in the corresponding syntax.
  • the motion vector predictor or reference picture index applied to the current block in the prediction using L0 is the same as that of the prediction using L1
  • the motion vector predictor or reference picture index applied to the current block is applied to the prediction using L1.
  • Information may not be transmitted.
  • the motion vector predictor or the reference picture index applied to the current block may be applied to the prediction using L1, or the prediction may be performed on the current block using only L0.
  • Table 7 schematically shows an example of syntax for weight prediction transmitted according to the present invention. Table 7 illustrates that when the slice type is B slice and L0 and L1 are different (when the value of ref_pic_list_combination_flag is 1), information about L1 is transmitted to configure LC and perform weight prediction using LC. .
  • information about L1 such as luma_weight_l1_flag, luma_weight_l1, luma_offset_l1, chroma_weight_l1_flag, chroma_weight_l1, chroma_offset_l1, etc.
  • L1 is a slice type of B slice, and L0 and L1 are different (ref_pic_list_comg_list). Value is 1).
  • luma_log2_weight_denom represents the denominator for all luma weighting factors as the base 2 log value.
  • the value of luma_log2_weight_denom may have, for example, a value between 0 and 7, inclusive.
  • chroma_log2_weight_denom represents the denominator for all chroma weighting factors as the logarithm of base 2.
  • the value of chroma_log2_weight_denom may have, for example, a value between 0 and 7, inclusive.
  • luma_weight_l0_flag indicates whether there are weight factors for L0 prediction of the luma component. For example, if the value of luma_weight_l0_flag is 1, it indicates that weight factors for the luma component of L0 are present. If the value of luma_weight_l0_flag is 0, it indicates that weight factors for the luma component of L0 do not exist.
  • luma_weight_l0 [i ] is a weight factor applied to the luma prediction value for L0 prediction using the reference picture RefPicList0 [i] indicated by index i in the reference picture list L0. If the value of luma_weight_l0_flag is 1, the value of luma_weight_l0 [i] is in the range of -128 or more and 127 or less. If the value of luma_weight_l0_flag is 0, luma_weight_l0 [i] is inferred to be equal to 2 luma_log2_weight_denom for the reference picture RefPicList0 [i].
  • luma_offset_l0 [ i ] is an additive offset with respect to L0 prediction using the reference picture RefPicList0 [i] indicated by index i in the reference picture list L0.
  • the value of luma_offset_l0 [i] is in the range -128 to 127. If the value of luma_weight_l0_flag is 0, luma_offset_l0 [i] is inferred to 0 with respect to the reference picture RefPicList0 [i].
  • chroma_weight_l0_flag indicates whether there are weight factors for the L0 prediction of the chroma component. For example, if the value of chroma_weight_l0_flag is 1, it indicates that weight factors for the chroma component of L0 are present. A value of chroma_weight_l0_flag equal to 0 indicates that weight factors for the chroma component of L0 do not exist.
  • chroma_weight_l0 [ i ] [ j ] is a weight factor applied to the chroma prediction value for L0 prediction using the reference picture RefPicList0 [i] indicated by index i in the reference picture list L0.
  • the index j indicates whether the weight factor is for Cr or Cb.
  • a value of j indicates a weight factor for Cb
  • a value of j indicates a weight factor for Cr. If the value of chroma_weight_l0_flag is 1, the value of chroma_weight_l0 [i] [j] is in the range of -128 or more and 127 or less.
  • chroma_weight_l0_flag If the value of chroma_weight_l0_flag is 0, chroma_weight_l0 [i] [j] is inferred to be equal to 2 chroma_log2_weight_denom for the reference picture RefPicList0 [i].
  • chroma_offset_l0 [ i ] [ j ] is an additive offset applied to the chroma prediction value, for L0 prediction using the reference picture RefPicList0 [i] indicated by index i in the reference picture list L0.
  • the index j indicates whether the weight factor is for Cr or Cb.
  • a value of j indicates an offset with respect to Cb
  • a value of j indicates an offset with respect to Cr.
  • the value of chroma_offset_l0 [i] [j] is in the range of -128 to 127. If the value of chroma_weight_l0_flag is 0, chroma_offset_l0 [i] [j] is inferred to be equal to 0 with respect to the reference picture RefPicList0 [i].
  • luma_weight_l1_flag luma_weight_l1 , luma_offset_l1 , chroma_weight_l1_flag , chroma_weight_l1 , chroma_offset_l1 refer to the above-described luma_weight_l0_flag, luma_weight_l0, luma_offset_l0, chroma_weight_l0_flag, and chroma_weight_set_l Replaced by l1, list 1, and List1, each representing L1
  • the decoding apparatus combines the received information about L1 with the information about L0, further combines the LC, applies the information about L0 if the entry of the combined LC is an entry from L0, and combines the combined LC If the entry of is an entry from L1, information about L1 may be applied.
  • the relationship between the entry of the LC and the entries of L0 and L1 may be determined based on a predetermined mapping relationship, as described with reference to FIG. 3.
  • the information of L0 and L1 for simply combining the LC may be transmitted separately.
  • the information required for the combination of LC may be transmitted using the syntax of Table 4 described above.
  • L0 and L1 are the same, information on L0 (eg, L0 weight prediction flag, weight or offset, etc.) and L1 information (eg, L1 weight prediction flag, weight or offset, etc.) are different in weight prediction. You may. In this case, even though L0 and L1 are the same, information about L1 (eg, L1 weight prediction flag, weight or offset, etc.) may be separately transmitted.
  • Table 8 schematically shows another example of the weight prediction syntax transmitted according to the present invention.
  • information about L0 eg, L0 weight prediction flag, weight or offset
  • L1 information eg, L1 weight prediction flag, weight or offset, etc.
  • Table 8 exemplifies only a case where the slice type is a B slice, and information for weight prediction when the slice type is a P slice is not shown in Table 8, but may be transmitted together.
  • delta_chroma_log2_weight_denom Denotes the difference of the base 2 log values of the denominator for all chroma weighting factors.
  • Chroma_log2_weight_denom which represents the base 2 log value of the denominator for all chroma weighting factors, is specified by the sum of luma_log2_weight_denom and delta_chroma_log2_weight_denom.
  • chroma_log2_weight_denom may have a value between 0 and 7, inclusive.
  • delta_luma_weight_l0 [ i ] is a difference value of the weight factor applied to the luma prediction value with respect to L0 prediction using the reference picture RefPicList1 [i] indicated by the index i in the reference picture list L0.
  • the weight factor luma_weight_l0 [i] used for luma prediction is specified by (1 ⁇ luma_log2_weight_denom) + delta_luma_weight_l0 [i].
  • luma_log2_weight_denom represents the denominator of luma weight factors as the base 2 log value.
  • the difference value of the weight factor applied to the luma prediction value is transmitted, but the luma weight factor luma_weight_l0 [0i] may be transmitted.
  • delta_chroma_weight_l0 [ i ] [ j ] is the difference value of the weight factor applied to the chroma prediction value, for L0 prediction using the reference picture RefPicList0 [i] indicated by the index i in the reference picture list L0.
  • the index j indicates whether the difference between the weight factors is for Cr or Cb. For example, a value of j indicates a difference value of the weight factor for Cb, and a value of j indicates a difference value of the weight factor for Cr.
  • Chroma_log2_weight_denom represents the denominator for the chroma weight factors as the logarithm of base 2.
  • the chroma weight factor chroma_weight_l0 [i] [j] should be transmitted. It may be.
  • delta_chroma_offset_l0 [ i ] [ j ] is the difference value of the offset applied to the chroma prediction value with respect to L0 prediction using the reference picture RefPicList0 [i] indicated by the index i in the reference picture list L0.
  • the index j indicates whether the difference value of the offset is for Cr or Cb.
  • a value of j indicates a difference value of an offset with respect to Cb
  • a value of j indicates a difference value of an offset with respect to Cr.
  • the value of the offset used for chroma prediction chroma_offset_10 [i] [j] may be specified based on the difference value of the chroma offset.
  • chroma_offset_l0 [i] [j] may be transmitted.
  • delta_luma_weight_l1 [ i ] , delta_chroma_weight_l1 [ i ] [ j ] , delta_chroma_offset_l1 [ i ] [ j ] described above are equivalent to delta_luma_weight_l0 [i], delta_chroma_weight_l0 [i] [j], delta_chroma_offset_leman [i] [s] Then, l0, list 0 and List0 representing the reference picture list L0 are replaced with l1, list 1 and List1 representing the reference picture list L1, respectively.
  • the information about L1 transmitted may include weights, offsets, etc. that may be applied to an entry (eg, a reference picture) from the L1 among LC entries (eg, a reference picture) when performing weight prediction using the LC. It includes.
  • Table 9 schematically shows another example of the weight prediction syntax transmitted according to the present invention.
  • the information about L0 for example, L0 weight prediction flag, weight or offset
  • the information about L1 for example, L1 weight prediction flag, weight or offset, etc.
  • L0 and L1 for example, L0 weight prediction flag, weight or offset, etc.
  • Table 9 exemplifies only the case where the slice type is a B slice, and information for weight prediction when the slice type is a P slice is not shown in Table 9, but may be transmitted together.
  • luma_weight_lc_flag delta_luma_weight_lc [ i ] , luma_offset_lc [ i ] , chroma_weight_lc_flag , chroma_weight_lc , chroma_offset_lcluma_weight_l1_flag
  • the reference picture list LC is replaced by a picture list LC, each having the same semantics as luma_weight_lc_flag, delta_luma_weight_lc [i], luma_offset_lc [i], chroma_weight_lc_flag, chroma_weight_lc, and chroma_offset_lcluma_weight_l1_flag, respectively, each representing a reference picture list L0.
  • luma_log2_weight_denom delta_chroma_log2_weight_denom, luma_weight_l0_flag, delta_luma_weight_l0 [i], delta_chroma_weight_l0 [i] [j], delta_chroma_offset_l0 [i] [j], luma_offset_l0 [i], delta_chroma_weight_l0_flag, luma_weight_l0 [i], delta_chroma_weight_l0 [i] [j] , delta_chroma_offset_l0 [i] [j] , delta_chroma_offset_l0 [i] [j] luma_offset_l0 [i], delta_chroma_weight_l0_flag, delta_chroma_offset_l0 [i] [j], delta_chroma_offset_l0 [i] [j], delta_chroma_offset_l0 [i] [j], delta_chrom
  • delta_luma_weight_l1 [ i ] is a difference value of the weight factor applied to the luma prediction value with respect to L1 prediction using the reference picture RefPicList1 [i] indicated by the index i in the reference picture list L1.
  • Table 10 schematically illustrates an example of a syntax structure of a prediction unit level for transmitting information about inter prediction using LC by dividing a slice type according to the present invention.
  • additional information about the LC is transmitted when the prediction mode is Pred_LC using the LC and the slice type is not GPB. If the information is not in the prediction mode using the LC or if the information on the L0 can be used as it is, the information about the LC may not be further transmitted.
  • Table 11 schematically illustrates an example of syntax about an LC transmitted at the prediction unit level when transmitting information about inter prediction using an LC by dividing a slice type according to the present invention.
  • additional syntax elements for the LC are transmitted when the prediction mode is Pred_LC using the LC and the slice type is not GPB. If the information is not in the prediction mode using the LC or if the information on the L0 can be used as it is, the information about the LC may not be further transmitted.
  • num_ref_idx_lc_active_minus1 +1 specifies the number of valid reference pictures constituting the LC.
  • NumMVPCand (LcToLx) specifies the number of motion vector predictors for the case of using LC.
  • ref_idx_lc [x0] [y0] specifies the LC reference picture index for the current prediction unit.
  • the array indices x0 and y0 indicate the relative to the top-left luma sample of the picture of the target prediction block. Specifies the position (x0, y0) of the upper left luma sample.
  • mvd_lc [x0] [y0] [ compIdx ] specifies the difference between the LC vector component used and its prediction.
  • Array indices x0 and y0 specify the position (x0, y0) of the top-left luma sample of the target prediction block relative to the top-left luma sample of the picture.
  • the estimated value is equal to zero.
  • mvp_idx_lc [x0] [y0] specifies the LC motion vector predictor.
  • Array indices x0 and y0 specify the position (x0, y0) of the top-left luma sample of the target prediction block relative to the top-left luma sample of the picture.
  • Table 12 schematically illustrates the overall prediction unit syntax as an example of the syntax structure used to signal information at the prediction unit level according to the present invention.
  • ref_pic_list_combination_flag! 0
  • L0 may be used as an LC without separately transmitting information about the LC.
  • mvp_idx_l0 [x0] [y0] indicates the motion vector predictor index of L0.
  • x0 and y0 specify the position (x0, y0) of the top-left luma sample of the predicted prediction block with respect to the top-left luma sample of the picture. If mvp_idx_l0 [x0] [y0] does not exist, mvp_idx_l0 [x0] [y0] is inferred to be equal to zero.
  • mvp_idx_l1 [x0] [y0] has the same semantics as mvp_idx_l0 except that l0 and list 0 representing the reference picture list L0 are replaced with l1 and list 1 representing the reference picture list L1, respectively.
  • mvp_idx_lc [x0] [y0] has the same semantics as mvp_idx_l0 except that l0 and list 0 representing the reference picture list L0 are replaced with lc and list combination, respectively, representing the reference picture list combination LC.
  • prev_intra_luma_pred_flag [x0] [y0] [y0]
  • mpm_idx [ x0 ] [ y0 ] and rem_intra_luma_pred_mode [x0] [y0] specify the intra prediction mode for luma samples.
  • Array indices x0 and y0 specify the position (x0, y0) of the top-left luma sample of the target prediction block relative to the top-left luma sample of the picture.
  • prev_intra_luma_pred_flag [xx0] [xy0] the intra prediction mode is estimated from the surrounding intra predicted prediction units.
  • intra prediction a value indicating a prediction mode applied to a current block may be transmitted as it is, but specifying a predetermined intra prediction mode and whether a prediction mode applied to the current block corresponds to a specified intra prediction mode. If the information does not correspond to the specified intra prediction mode, it may be transmitted. In this case, mpm_idx [xx0k] [xy0k] indicates a specified intra prediction mode (ie, Most Probable Mode). If mpm_idx [xx0x] [xy0x] does not exist, mpm_idx [xx0x] [xy0x] is assumed to be a value of zero.
  • rem_intra_luma_pred_mode [x00] [xy0]] indicates which prediction mode is applied among the remaining prediction modes when the applied intra prediction mode is not the specified intra prediction mode.
  • the variable IntraLumaModeBins specifies the number of bins that indicate rem_intra_luma_pred_mode [x00] [xy0]. The value of IntraLumaModeBins depends on the size of the prediction unit and limits the number of available prediction modes.
  • Table 13 is a table schematically illustrating an example of determining the number of modes of rem_intra_luma_pred_mode and the number of bins (IntraLumaModeBins) with respect to the prediction unit size (PuSize).
  • intra_chroma_pred_mode [x0] [y0] specifies the intra prediction mode for the chroma sample.
  • Array indices x0 and y0 specify the position (x0, y0) of the top-left luma sample of the target prediction block relative to the top-left luma sample of the picture.
  • merge_flag [x0] [y0] specifies whether inter prediction parameters for the current prediction unit are inferred from surrounding inter predicted partitions.
  • Array indices x0 and y0 specify the position (x0, y0) of the top-left luma sample of the target prediction block relative to the top-left luma sample of the picture.
  • merge_idx [x0] [y0] specifies the merge candidate in the merge candidate list.
  • Array indices x0 and y0 specify the position (x0, y0) of the top-left luma sample of the target prediction block relative to the top-left luma sample of the picture. If merge_idx [x0] [y0] is not present, it is assumed that merge_idx [x0] [y0] is equal to zero.
  • inter_pred_flag [x0] [y0] specifies whether uni-prediction or bi-prediction is used for the current prediction unit, and array indices x0 and y0 are for the upper left luma sample of the picture. (relative to the top-left luma sample of the picture) Specifies the position (x0, y0) of the upper left luma sample of the target prediction block.
  • Table 14 shows an example of a method of determining an inter prediction mode applied to a current block.
  • inter_pred_flag if there is no inter_pred_flag [xx0] [xy0], the value of inter_pred_flag [xx0] [xy0]] is assumed to be Pred_L0 if the slice type is P and Pred_BI if the slice type is B.
  • ref_idx_l0 [x0] [y0] specifies the L0 reference picture index for the current prediction unit.
  • the array indices x0 and y0 are relative to the top-left luma sample of the picture. the picture) specifies the position (x0, y0) of the upper left luma sample of the target prediction block.
  • ref_idx_l1 [x0] [y0] has the same semantics as ref_idx_l0, except that l0 and list 0 representing the reference picture L0 are replaced with l1 and list 1 representing the reference picture list L1.
  • ref_idx_lc [x0] [y0] has the same semantics as ref_idx_l0, except l0 and list 0 representing the reference picture L0 are replaced with lc and list combination representing the reference picture list combination LC.
  • mvd_l0 [x0] [y0] [ compIdx ] specifies the difference between the L0 vector component to be used and its prediction.
  • Array indices x0 and y0 specify the position (x0, y0) of the top-left luma sample of the target prediction block relative to the top-left luma sample of the picture.
  • the estimated value is equal to zero.
  • mvd_l1 [x0] [y0] [ compIdx ] has the same semantics as mvd_l0, except that l0 and list 0 representing the reference picture L0 are replaced with l1 and list 1 representing the reference picture list L1.
  • mvd_lc [x0] [y0] [ compIdx ] has the same semantics as mvd_l0, with l0 and list 0 representing the reference picture L0 being replaced with lc and list combination representing the reference picture list combination LC.
  • FIG. 5 is a flowchart schematically illustrating a method for the encoding apparatus to perform prediction and signal information according to the present invention.
  • the encoding apparatus performs prediction on the current block (S510).
  • the encoding apparatus determines a prediction method to apply to the current block. For example, the encoding apparatus determines whether to apply inter prediction or intra prediction to the current block. In case of applying intra prediction, an intra prediction mode is determined. When inter prediction is applied, it is determined whether to apply inter prediction based on merge mode, inter prediction based on skip mode, or inter prediction based on MVP.
  • the encoding apparatus may compare the cost of ratio of distortion (RD) according to each prediction method to determine which prediction method to apply.
  • the encoding apparatus performs prediction on the current block by using the determined prediction method.
  • Prediction may proceed block by block in a predetermined order in each picture.
  • the encoding apparatus transforms and entropy codes the image information including the prediction result (S520).
  • the encoding apparatus may convert the image information into a discrete sine transform (DST) or a discrete cosine transform (DCT) for each predetermined transformation unit. Which transformation method to apply may be determined based on the size of the block.
  • the encoding apparatus may perform quantization and reordering before entropy coding the converted image information.
  • the encoding apparatus may use a method such as CABAC described above for entropy coding the zeroed transform information.
  • the encoding device transmits the entropy coded information (S530).
  • the information signaled from the encoding apparatus may be configured according to a predetermined syntax. For example, in the case of information on inter prediction, the encoding apparatus may transmit prediction information according to whether the slice type is B slice and GPB or the slice type is B slice and further combines LC, as described above. .
  • the encoding apparatus obtains a weight value and an offset value between the current picture and the reference picture in order to obtain optimal performance, and then applies the weight and offset to the weight and offset. Transmit information about the decoding apparatus.
  • the weight prediction information includes information on a weight value and information on an offset value.
  • the weight prediction information may include weight prediction information on the luma component and weight prediction information on the chroma component.
  • FIG. 6 is a flowchart schematically illustrating a method for a decoding apparatus to perform prediction and reconstruct a picture according to the present invention.
  • the decoding apparatus entropy decodes and inversely converts image information received in a bitstream from an encoding apparatus (S610).
  • the entropy decoding method and inverse transform method performed in the decoding apparatus correspond to the transform method and the entropy coding method performed in the encoding apparatus.
  • DCT Inverse Discrete Cosine Transform
  • IDCT Inverse Discrete Cosine Transform
  • IDST Inverse Discrete Sine Transform
  • the decoding apparatus may perform reordering and inverse quantization before inversely converting the entropy decoded information.
  • the decoding apparatus performs prediction based on the inversely transformed image information (S620).
  • the prediction may be performed block by block in a predetermined order for each picture.
  • Image information received from the encoding apparatus includes information necessary for prediction.
  • the decoding apparatus may perform intra prediction or inter prediction based on the received information. For example, when information indicating whether to apply intra prediction or inter prediction is transmitted from the encoding apparatus, the decoding apparatus may perform intra prediction or inter prediction according to the corresponding information.
  • the decoding apparatus estimates whether to perform intra prediction or inter prediction based on the slice type. You may. For example, when the slice type is an I slice, it may be estimated that intra decoding is performed.
  • the decoding apparatus may perform inter prediction as described with reference to FIG. 4.
  • the information received from the encoding apparatus may vary depending on the prediction method, the type of the prediction target slice, and whether the reference picture list is the same. For example, as described above, in the case where weight prediction is applied to a B slice, if L0 and L1 are different, information about the L1 prediction may be signaled and the LC may be further combined. In addition, if L0 and L1 are different, information about the LC may be signaled.
  • the information about L1 or the information about the LC includes not only information for configuring the LC but also information necessary for performing weight prediction as described above.
  • the decoding apparatus may perform weight prediction based on the received weight prediction information for L1 and the weight prediction information for L0.
  • the weight prediction method includes an explicit method, an implicit method, and a default method.
  • the encoding apparatus obtains a weight value and an offset value between a current picture and a reference picture and then decodes the information about the weight and the offset for optimal performance. To the device. The decoding apparatus performs weight prediction using the weight and the offset transmitted from the encoding apparatus.
  • a weight is derived and applied to be proportional to the distance between the current picture and the reference picture.
  • a predetermined default weight when the weight is not explicitly applied to the P slice, a predetermined default weight may be applied. In addition, when a weight is not applied explicitly or implicitly to a B slice, a predetermined default weight may be applied.
  • the syntax as described in the above-described tables may be used to explicitly transmit the weight and the offset.
  • the weight prediction information includes information on a weight value and information on an offset value.
  • the weight prediction information may include weight prediction information on the luma component and weight prediction information on the chroma component.
  • the decoding apparatus reconstructs the current picture based on the prediction result (S630). For example, as described above, when inter prediction is performed, the decoding apparatus may reconstruct the current block by adding the residual block and the prediction block generated by the prediction. Since the residual signal is not transmitted when the skip mode is applied, the prediction block may be a reconstruction block.
  • the decoding apparatus may apply a predetermined filter to the reconstructed blocks to reconstruct the current picture.
  • the methods are described based on a flowchart as a series of steps or blocks, but the invention is not limited to the order of steps, and certain steps may occur in a different order or concurrently with other steps than those described above. Can be.
  • the above-described embodiments include examples of various aspects.
  • the above-described embodiments may be implemented in combination with each other, which also belongs to the embodiments according to the present invention.
  • the invention includes various modifications and changes in accordance with the spirit of the invention within the scope of the claims below.

Landscapes

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

Abstract

본 발명은 인터 예측 방법과 이를 이용한 인코딩 방법, 디코딩 방법 및 장치에 관한 것으로서, 본 발명에 따른 인터 예측 방법은 움직임 정보를 유도하는 단계, 상기 움직임 정보를 기반으로 예측 블록을 생성하는 단계 및 상기 생성된 예측 블록을 기반으로 현재 블록을 복원하는 단계를 포함하며, 상기 예측 블록 생성 단계에서는, 인코딩 장치로부터 수신한 영상 정보를 기반으로 가중치 예측을 수행하고, 상기 영상 정보는 참조 픽처 리스트 0과 참조 픽처 리스트 1의 동일성 여부에 따라서 상이할 수 있다.

Description

인터 예측 방법과 이를 이용한 인코딩 방법, 디코딩 방법 및 장치
본 발명은 영상 정보 처리 방법에 관한 것으로서, 더 구체적으로는 영상 정보를 시그널링하는 방법과 시그널링된 정보를 이용하여 영상 정보를 처리하는 방법 및 장치에 관한 것이다.
최근, 고해상도, 고품질의 영상에 대한 요구가 다양한 응용 분야에서 증가하고 있다. 하지만, 영상의 고해상도, 고품질이 될수록 해당 영상에 관한 정보량도 함께 증가한다. 따라서 기존의 유무선 광대역 회선과 같은 매체를 이용하여 영상 정보를 전송하거나 기존의 저장 매체를 이용해 영상 정보를 저장하는 경우, 정보의 전송 비용과 저장 비용이 증가하게 된다.
고해상도, 고품질 영상의 정보를 효과적으로 전송하거나 저장하고, 재생하기 위해 고효율의 영상 압축 기술을 이용할 수 있다.
영상 압축의 효율을 높이기 위해, 현재 블록의 정보를 그대로 전송하지 않고, 현재 블록의 주변 블록들의 정보를 이용하여 예측하는 방법을 사용할 수 있다.
예측의 방법으로서, 인터 예측과 인트라 예측을 이용할 수 있다. 인터 예측(inter prediction) 방법에서는 다른 픽처의 정보를 참조하여 현재 픽처(picture)의 화소값을 예측하며, 인트라 예측 방법(intra prediction)에서는 동일한 픽처 내에서 화소 간 연관 관계를 이용하여 화소값을 예측한다.
인터 예측을 수행하는 경우에는, 다른 픽처에서 예측에 이용되는 부분을 지정하기 위해, 인터 예측 모드인 주변 블록으로부터 참조 픽처를 지시하는 정보와 움직임 벡터를 나타내는 정보를 활용할 수 있다. 참조 픽처로서는 현재 픽처의 이전 픽처가 사용되거나 현재 픽처의 이후 픽처가 사용되거나 현재 픽처의 이전 및 이후 픽처가 사용될 수 잇다.
본 발명은 효과적으로 영상 정보를 처리하기 위한 시그널링 방법과 이를 이용하는 장치를 제공하는 것을 목적으로 한다.
본 발명은 정보를 중복 전송하지 않고 시그널링할 수 있는 방법과 이를 이용하는 장치를 제공하는 것을 목적으로 한다.
본 발명은 인터 예측에 있어서, 참조 픽처 리스트들의 동일성을 기반으로 인코딩 장치로부터 디코딩 장치로 전송되는 정보를 효과적으로 시그널링하는 방법과 이를 이용하는 장치를 제공하는 것을 목적으로 한다.
본 발명은 인터 예측을 수행함에 있어서, 가중치 예측을 수행하는 경우에 참조 픽처 리스트들의 동일성에 기반하여 정보를 시그널링하고 이를 기반으로 예측을 수행하는 방법 및 장치를 제공하는 것을 목적으로 한다.
본 발명에 따른 일 실시형태는 인코딩 방법으로서, 인터 예측을 수행하는 단계 및 상기 인터 예측 결과를 포함하는 영상 정보를 전송하는 단계를 포함하며, 상기 인터 예측이 B 슬라이스에 대하여 수행된 경우에, 상기 영상 정보는 참조 픽처 리스트 0과 참조 픽처 리스트 1의 동일성 여부를 기반으로 전송될 수 있다.
상기 인터 예측을 수행하는 단계에서는 가중치 예측이 수행될 수 있으며, 상기 영상 정보는 가중치 예측을 위한 정보를 포함할 수 있다. 이때, 상기 참조 픽처 리스트 0과 상기 참조 픽처 리스트 1이 동일하지 않으면, 상기 가중치 예측은 참조 픽처 리스트 조합을 기반으로 수행될 수 있으며, 상기 영상 정보는, 상기 참조 픽처 리스트 0과 상기 참조 픽처 리스트 1로부터 조합되는 참조 픽처 리스트 조합을 이용하는 가중치 예측의 정보를 포함할 수 있다.
상기 인터 예측을 수행하는 단계에서는 가중치 예측이 수행될 수 있으며, 상기 참조 픽처 리스트 0과 상기 참조 픽처 리스트 1이 동일하지 않은 경우에, 상기 가중치 예측은 상기 참조 픽처 리스트 0과 상기 참조 픽처 리스트 1으로부터 조합된 참조 픽처 리스트 조합에 기반하여 수행될 수 있으며, 상기 영상 정보는 상기 참조 픽처 리스트 0과 상기 참조 픽처 리스트 1을 기반으로 하는 가중치 예측 정보를 포함할 수 있다. 이때, 상기 가중치 예측 정보는, 상기 참조 픽처 리스트를 구성하는 엔트리 중 상기 참조 픽처 리스트 0으로부터의 엔트리에 적용할 가중치 예측 정보 및 상기 참조 픽처 리스트 1로부터의 엔트리에 적용할 가중치 예측 정보를 포함할 수 있다.
본 발명의 다른 실시형태는 디코딩 방법으로서, 인코딩 장치로부터 영상 정보를 수신하는 단계, 상기 수신한 영상 정보를 기반으로 인터 예측을 수행하는 단계 및 상기 인터 예측 결과를 기반으로 픽처를 복원하는 단계를 포함하며, 상기 인터 예측의 대상이 B 슬라이스인 경우에, 상기 수신한 영상 정보는 참조 픽처 리스트 0과 참조 픽처 리스트 1의 동일성 여부에 따라서 상이할 수 있다.
상기 인터 예측을 수행하는 단계에서는 가중치 예측이 수행될 수 있으며, 상기 영상 정보는 가중치 예측을 위한 정보를 포함할 수 있다. 이 경우, 상기 참조 픽처 리스트 0과 상기 참조 픽처 리스트 1이 동일하지 않으면, 상기 가중치 예측은 참조 픽처 리스트 조합을 기반으로 수행될 수 있으며, 상기 영상 정보는, 상기 참조 픽처 리스트 0과 상기 참조 픽처 리스트 1로부터 조합되는 참조 픽처 리스트 조합을 이용하는 가중치 예측의 정보를 포함할 수 있다.
상기 인터 예측을 수행하는 단계에서는 가중치 예측이 수행될 수 있으며, 상기 참조 픽처 리스트 0과 상기 참조 픽처 리스트 1이 동일하지 않은 경우에, 상기 가중치 예측은 상기 참조 픽처 리스트 0과 상기 참조 픽처 리스트 1으로부터 조합된 참조 픽처 리스트 조합에 기반하여 수행될 수 있고, 상기 영상 정보는 상기 참조 픽처 리스트 0과 상기 참조 픽처 리스트 1을 기반으로 하는 가중치 예측 정보를 포함할 수 있다. 이 경우, 상기 가중치 예측 정보는, 상기 참조 픽처 리스트를 구성하는 엔트리 중 상기 참조 픽처 리스트 0으로부터의 엔트리에 적용할 가중치 예측 정보 및 상기 참조 픽처 리스트 1로부터의 엔트리에 적용할 가중치 예측 정보를 포함할 수 있다.
본 발명의 또 다른 실시형태는 인코딩 장치 또는 디코딩 장치에서 수행되는 인터 예측 방법으로서, 움직임 정보를 유도하는 단계, 상기 움직임 정보를 기반으로 예측 블록을 생성하는 단계 및 상기 생성된 예측 블록을 기반으로 현재 블록을 복원하는 단계를 포함하며, 상기 예측 블록 생성 단계에서는, 인코딩 장치로부터 수신한 영상 정보를 기반으로 가중치 예측을 수행하고, 상기 영상 정보는 참조 픽처 리스트 0과 참조 픽처 리스트 1의 동일성 여부에 따라서 상이할 수 있다.
상기 참조 픽처 리스트 0과 상기 참조 픽처 리스트 1이 동일하지 않은 경우에, 상기 가중치 예측은 참조 픽처 리스트 조합을 기반으로 수행될 수 있으며, 상기 영상 정보는, 상기 참조 픽처 리스트 0과 상기 참조 픽처 리스트 1로부터 조합되는 참조 픽처 리스트 조합을 이용하는 가중치 예측의 정보를 포함할 수 있다.
상기 참조 픽처 리스트 0과 상기 참조 픽처 리스트 1이 동일하지 않은 경우에, 상기 가중치 예측은 상기 참조 픽처 리스트 0과 상기 참조 픽처 리스트 1으로부터 조합된 참조 픽처 리스트 조합에 기반하여 수행될 수 있으며, 상기 영상 정보는 상기 참조 픽처 리스트 0과 상기 참조 픽처 리스트 1을 기반으로 하는 가중치 예측 정보를 포함할 수 있다. 이 경우에, 상기 가중치 예측 정보는, 상기 참조 픽처 리스트를 구성하는 엔트리 중 상기 참조 픽처 리스트 0으로부터의 엔트리에 적용할 가중치 예측 정보 및 상기 참조 픽처 리스트 1로부터의 엔트리에 적용할 가중치 예측 정보를 포함할 수 있다.
본 발명의 또 다른 실시형태는 인코딩 장치로서, 인터 예측을 수행하는 예측부 및 상기 인터 예측 결과를 포함하는 영상 정보를 엔트로피 코딩하여 비트 스트림으로 전송하는 엔트로피 코딩부를 포함하며, 상기 예측부는 가중치 예측을 적용하여 인터 예측을 수행하고, 상기 영상 정보는 가중치 예측을 위한 정보를 포함하고, 상기 인터 예측이 B 슬라이스에 대하여 수행된 경우에, 상기 영상 정보는 참조 픽처 리스트 0과 참조 픽처 리스트 1의 동일성 여부를 기반으로 전송될 수 있다. 이때, 인코딩 장치는 상기 인코딩 방법과 상기 인터 예측 방법을 수행할 수 있다.
본 발명의 또 다른 실시형태는 디코딩 장치로서, 인코딩 장치로부터 수신한 비트스트림으로 전송된 영상 정보를 엔트로피 디코딩하는 엔트로피 디코딩부 및 상기 엔트로피 디코딩된 영상 정보를 기반으로 인터 예측을 수행하는 예측부를 포함하며, 상기 예측부는 가중치 예측을 적용하여 인터 예측을 수행하고, 상기 영상 정보는 가중치 예측을 위한 정보를 포함하며, 상기 인터 예측이 B 슬라이스에 대하여 수행된 경우에, 상기 영상 정보는 참조 픽처 리스트 0과 참조 픽처 리스트 1의 동일성 여부를 기반으로 전송될 수 있다. 이때 디코딩 장치는 상기 디코딩 방법과 인터 예측 방법을 수행할 수 있다.
본 발명에 의하면, 정보를 중복 전송하지 않고 시그널링함으로써 영상 정보를 효과적으로 인코딩/디코딩 할 수 있다.
본 발명에 의하면, 인터 예측을 수행함에 있어서, 참조 픽처 리스트들의 동일성을 기반으로 인코딩 장치로부터 디코딩 장치로 전송되는 정보를 효과적으로 시그널링할 수 있따.
본 발명에 의하면, 참조 픽처 리스트들의 동일성에 기반하여 가중치 예측을 수행하기 위한 정보를 시그널링함으로써, 예측을 효과적으로 수행할 수 있다.
본 발명에 의하면, 참조 픽처 리스트의 동일성에 기반한 정보를 효과적으로 시그널일함으로써 영상 정보의 압축 효율을 높일 수 있다.
도 1은 본 발명의 일 실시예에 따른 영상 인코딩 장치(인코더)를 개략적으로 도시한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 영상 디코딩 장치(디코더)를 개략적으로 나타낸 블록도이다.
도 3은 L0과 L1으로부터 LC를 구성하는 방법의 일 예를 개략적으로 설명하는 도면이다.
도 4는 본 발명에 따라서 인터 예측을 수행하는 방법을 개략적으로 설명하는 순서도이다.
도 5는 본 발명에 따라서 인코딩 장치가 예측을 수행하고 정보를 시그널링하는 방법을 개략적으로 설명하는 순서도이다.
도 6은 본 발명에 따라서 디코딩 장치가 예측을 수행하고 픽처를 복원하는 방법을 개략적으로 설명하는 순서도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니다. 본 명세서에서 사용하는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명의 기술적 사상을 한정하려는 의도로 사용되는 것은 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
한편, 본 발명에서 설명되는 도면상의 각 구성들은 영상 인코딩/디코딩 장치에서 서로 다른 특징적인 기능들에 관한 설명의 편의를 위해 독립적으로 도시된 것으로서, 각 구성들이 서로 별개의 하드웨어나 별개의 소프트웨어로 구현된다는 것을 의미하지는 않는다. 예컨대, 각 구성 중 두 개 이상의 구성이 합쳐져 하나의 구성을 이룰 수도 있고, 하나의 구성이 복수의 구성으로 나뉘어질 수도 있다. 각 구성이 통합 및/또는 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.
이하, 첨부한 도면들을 참조하여, 본 발명에 관하여 상세하게 설명하고자 한다.
도 1은 본 발명의 일 실시예에 따른 영상 인코딩 장치(인코더)를 개략적으로 도시한 블록도이다. 도 1을 참조하면, 영상 인코딩 장치(100)는 픽처 분할부(105), 예측부(110), 변환부(115), 양자화부(120), 재정렬부(125), 엔트로피 인코딩부(130), 역양자화부(135), 역변환부(140), 필터부(145) 및 메모리(150)를 구비한다.
픽처 분할부(105)는 입력된 픽처를 적어도 하나의 처리 단위로 분할할 수 있다. 이때, 처리 단위는 예측 유닛(Prediction Unit, 이하 ‘PU’라 함)일 수도 있고, 변환 유닛(Transform Unit, 이하 ‘TU’라 함)일 수도 있으며, 코딩 유닛(Coding Unit, 이하 ‘CU’라 함)일 수도 있다. 다만, 본 명세서에서는 설명의 편의를 위해, 예측 유닛을 예측 블록, 변환 유닛을 변환 블록, 인코딩 유닛을 인코딩 블록으로 표현할 수 있다.
예측부(110)는 인터 예측(inter prediction, 화면 간 예측)을 수행하는 인터 예측부와 인트라 예측(intra prediction, 화면 내 예측)을 수행하는 인트라 예측부를 포함할 수 있다. 코딩 효율을 높이기 위해, 영상 신호를 그대로 인코딩하는 것이 하니라, 이미 인코딩된 영역을 이용하여 영상을 예측하고, 원래의 영상과 예측 영상 사이의 레지듀얼 값을 예측 영상에 더하여 영상을 복원할 수 있도록 인코딩 한다.
예측에 이용되는 이미 인코딩된 영역을 포함하는 픽처로서, I 픽처(I 슬라이스), P 픽처(P 슬라이스), B 픽처(B 슬라이스) 등이 있다. I 슬라이스는 인트라 예측에 의해서만 디코딩되는 슬라이스이다. P 슬라이스는 각 블록의 샘플 값을 예측하기 위해 적어도 하나의 움직임 벡터 및 참조 픽처 인덱스를 이용한 인터 예측 또는 인트라 예측을 이용해서 디코딩될 수 있는 슬라이스이다. B 슬라이스는 각 블록의 샘플 값을 예측하기 위해 적어도 두 개의 움직임 벡터들과 참조 픽처 인덱스들을 이용한 인터 예측 또는 인트라 예측을 이용해서 디코딩될 수 있는 슬라이스이다.
예측부(110)는, 픽처 분할부(105)에서 픽처의 처리 단위에 대하여 예측을 수행하여 예측된 샘플로 구성되는 예측 블록을 생성한다. 예측부(110)에서 픽처의 처리 단위는 CU일 수도 있고, TU일 수도 있고, PU일 수도 있다. 또한, 해당 처리 단위에 대하여 실시되는 예측이 인터 예측인지 인트라 예측인지를 결정하고, 각 예측 방법의 구체적인 내용(예컨대, 예측 모드 등)를 정할 수 있다. 이때, 예측이 수행되는 처리 단위와 예측 방법 및 구체적인 내용이 정해지는 처리 단위는 서로 다를 수 있다. 예컨대, 예측의 방법과 예측 모드 등은 PU 단위로 결정되고, 예측의 수행은 TU 단위로 수행될 수도 있다.
인터 예측을 통해서는 현재 픽처의 이전 픽처 및/또는 이후 픽처 중 적어도 하나의 픽처의 정보를 기초로 예측을 수행하여 예측 블록을 생성할 수 있다. 또한, 인트라 예측을 통해서는 현재 픽처 내의 화소 정보를 기초로 예측을 수행하여 예측 블록을 생성할 수 있다.
인터 예측에서는 현재 블록에 대하여, 참조 픽처를 선택하고 현재 블록과 동일한 크기의 참조 블록을 선택해서, 현재 블록에 대한 예측 블록을 생성할 수 있다. 예컨대, 인터 예측에서는 현재 블록과의 레지듀얼(residual) 신호가 최소화되며 움직임 벡터 크기 역시 최소가 되도록 예측 블록을 생성할 수 있다. 인터 예측의 방법으로서, 스킵(skip) 모드, 머지(merge) 모드, AMVP(Advanced Motion Vector Prediction) 등을 이용할 수 있다. 예측 블록은 1/2 화소 샘플 단위와 1/4 화소 샘플 단위와 같이 정수 이하 샘플 단위로 생성될 수도 있다. 이때, 움직임 벡터 역시 정수 화소 이하의 단위로 표현될 수 있다. 예컨대 휘도 화소에 대해서는 1/4 화소 단위로, 색차 화소에 대해서는 1/8 화소 단위로 표현될 수 있다.
인터 예측을 통해 선택된 참조 픽처의 인덱스, 움직임 벡터 예측자, 레지듀얼 신호 등의 정보는 엔트로피 인코딩되어 디코딩 장치에 전달된다.
인트라 예측을 수행하는 경우에도 예측이 수행되는 처리 단위와 예측 방법 및 구체적인 내용이 정해지는 처리 단위는 서로 다를 수도 있다. 예컨대, PU 단위로 예측 모드가 정해져서 PU 단위로 예측이 수행될 수도 있고, PU 단위로 예측 모드가 정해지고 TU 단위로 화면 내 예측이 수행될 수도 있다.
인트라 예측에서 예측 모드는 33개의 방향성 예측 모드와 적어도 2개 이상의 비방향성 모드를 가질 수 있다. 비방향성 모드는 DC 예측 모드 및 플레너 모드(Planar 모드) 등을 포함할 수 있다.
인트라 예측에서는 참조 샘플에 필터를 적용한 후 예측 블록을 생성할 수 있다. 이때, 참조 샘플에 필터를 적용할 것인지는 현재 블록의 인트라 예측 모드 및/또는 사이즈에 따라 결정될 수도 있다.
PU는 더 이상 분할되지 않는 CU로부터 다양한 사이즈/형태로 결정될 수 있다. 예컨대 인터 예측의 경우에 PU는 2N×2N, 2N×N, N×2N, 또는 N×N 등의 크기를 가질 수 있다. 인트라 예측의 경우에 PU는 2N×2N 또는 N×N (N은 정수) 등의 크기를 가질 수 있다. 이때, N×N 크기의 PU는 특정한 경우에만 적용하도록 설정할 수도 있다. 예컨대 최소 크기 코딩 유닛에 대해서만 NxN의 PU를 이용하도록 정하거나 인트라 예측에 대해서만 이용하도록 정할 수 있다. 또한, 상술한 크기의 PU 외에, N×mN, mN×N, 2N×mN 또는 mN×2N (m<1) 등의 크기를 가지는 PU를 더 정의하여 사용할 수도 있다.
생성된 예측 블록과 원본 블록 사이의 레지듀얼 값(레지듀얼 블록 또는 레지듀얼 신호)은 변환부(115)로 입력된다. 또한, 예측을 위해 사용한 예측 모드 정보, 움직임 벡터 정보 등은 레지듀얼 값과 함께 엔트로피 인코딩부(130)에서 인코딩되어 디코딩 장치에 전달된다.
변환부(115)는 변환 단위로 레지듀얼 블록에 대한 변환을 수행하고 변환 계수를 생성한다. 변환부(115)에서의 변환 단위는 TU일 수 있으며, 쿼드 트리(quad tree) 구조를 가질 수 있다. 이때, 변환 단위의 크기는 소정의 최대 및 최소 크기의 범위 내에서 정해질 수 있다. 변환부(115)는 레지듀얼 블록을 DCT(Discrete Cosine Transform) 또는 DST(Discrete Sine Transform)를 이용하여 변환할 수 있다.
양자화부(120)는 변환부(115)에서 변환된 레지듀얼 값들을 양자화하여 양자화 계수를 생성할 수 있다. 양자화부(120)에서 산출된 값은 역양자화부(135)와 재정렬부(125)에 제공된다.
재정렬부(125)는 양자화부(120)로부터 제공된 양자화 계수를 재정렬한다. 양자화 계수를 재정렬함으로써 엔트로피 인코딩부(130)에서의 인코딩의 효율을 높일 수 있다. 재정렬부(125)는 계수 스캐닝(Coefficient Scanning) 방법을 통해 2차원 블록 형태의 양자화 계수들을 1차원의 형태로 재정렬할 수 있다. 재정렬부(125)에서는 양자화부에서 전송된 계수들의 확률적인 통계를 기반으로 계수 스캔닝의 순서를 변경함으로써 엔트로피 인코딩부(130)에서의 엔트로피 인코딩 효율을 높일 수도 있다.
엔트로피 인코딩부(130)는 재정렬부(125)에 의해 재정렬된 양자화 계수들에 대한 엔트로피 인코딩을 수행할 수 있다. 엔트로피 인코딩에는 예를 들어, 지수 골롬(Exponential Golomb), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 인코딩 방법을 사용할 수 있다. 엔트로피 인코딩부(130)는 재정렬부(125) 및 예측부(110)로부터 전달받은 CU의 양자화 계수 정보 및 블록 타입 정보, 예측 모드 정보, 분할 단위 정보, PU 정보 및 전송 단위 정보, 움직임 벡터 정보, 참조 픽처 정보, 블록의 보간 정보, 필터링 정보 등 다양한 정보를 인코딩할 수 있다.
또한, 엔트로피 인코딩부(130)는 필요한 경우에, 전송하는 파라미터 셋 또는 신택스에 일정한 변경을 가할 수도 있다.
역양자화부(135)는 양자화부(120)에서 양자화된 값들을 역양자화하고, 역변환부(140)는 역양자화부(135)에서 역양자화된 값들을 역변환한다. 역양자화부(135) 및 역변환부(140)에서 생성된 레지듀얼 값은 예측부(110)에서 예측된 예측 블록과 합쳐져 복원 블록(Reconstructed Block)이 생성될 수 있다.
필터부(145)는 디블록킹 필터, ALF(Adaptive Loop Filter), SAO(Sample Adaptive Offset)를 복원된 픽처에 적용할 수 있다.
디블록킹 필터는 복원된 픽처에서 블록 간의 경계에 생긴 블록 왜곡을 제거할 수 있다. ALF(Adaptive Loop Filter)는 디블록킹 필터를 통해 블록이 필터링된 후 복원된 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있다. ALF는 고효율을 적용하는 경우에만 수행될 수도 있다. SAO는 디블록킹 필터가 적용된 레지듀얼 블록에 대하여, 화소 단위로 원본 영상과의 오프셋 차이를 복원하며, 밴드 오프셋(Band Offset), 에지 오프셋(Edge Offset) 등의 형태로 적용된다.
한편, 인터 예측에 사용되는 복원 블록에 대해서 필터부(145)는 필터링을 적용하지 않을 수 있다.
메모리(150)는 필터부(145)를 통해 산출된 복원 블록 또는 픽처를 저장할 수 있다. 메모리(150)에 저장된 복원 블록 또는 픽처는 인터 예측을 수행하는 예측부(110)에 제공될 수 있다.

도 2는 본 발명의 일 실시예에 따른 영상 디코딩 장치(디코더)를 개략적으로 나타낸 블록도이다. 도 2를 참조하면, 영상 디코딩 장치(200)는 엔트로피 디코딩부(210), 재정렬부(215), 역양자화부(220), 역변환부(225), 예측부(230), 필터부(235) 메모리(240)를 포함할 수 있다.
인코딩 장치로부터 영상 비트 스트림이 입력된 경우, 입력된 비트 스트림은 인코딩 장치에서 영상 정보가 처리된 절차의 역과정에 따라서 디코딩될 수 있다.
예컨대, 영상 인코딩 장치에서 엔트로피 인코딩을 수행하기 위해 CAVLC 등의 가변 길이 인코딩(Variable Length Coding: VLC, 이하 ‘VLC’ 라 함)가 사용된 경우에, 엔트로피 디코딩부(210)도 인코딩 장치에서 사용한 VLC 테이블과 동일한 VLC 테이블로 구현하여 엔트로피 디코딩을 수행할 수 있다. 또한, 영상 인코딩 장치에서 엔트로피 인코딩을 수행하기 위해 CABAC을 이용한 경우에, 엔트로피 디코딩부(210)는 이에 대응하여 CABAC을 이용한 엔트로피 디코딩을 수행할 수 있다.
엔트로피 디코딩부(210)에서 디코딩된 정보 중 예측 블록을 생성하기 위한 정보는 예측부(230)로 제공되고 엔트로피 디코딩부에서 엔트로피 디코딩이 수행된 레지듀얼 값은 재정렬부(215)로 입력될 수 있다.
재정렬부(215)는 엔트로피 디코딩부(210)에서 엔트로피 디코딩된 비트 스트림을 영상 인코딩기에서 재정렬한 방법을 기초로 재정렬할 수 있다. 재정렬부(215)는 1차원 벡터 형태로 표현된 계수들을 다시 2차원의 블록 형태의 계수로 복원하여 재정렬할 수 있다. 재정렬부(215)는 인코딩 장치에서 수행된 계수 스캐닝에 관련된 정보를 제공받고 인코딩 장치에서 수행된 스캐닝 순서에 기초하여 역으로 스캐닝하는 방법을 통해 재정렬을 수행할 수 있다.
역양자화부(220)는 인코딩 장치에서 제공된 양자화 파라미터와 재정렬된 블록의 계수값을 기초로 역양자화를 수행할 수 있다.
역변환부(225)는 영상 인코딩 장치에서 수행된 양자화 결과에 대해, 인코딩 장치의 변환부가 수행한 DCT 또는 DST에 대해 역DCT 또는 역DST를 수행할 수 있다. 역변환은 인코딩 장치에서 결정된 전송 단위 또는 영상의 분할 단위를 기초로 수행될 수 있다. 인코딩 장치의 변환부에서는 예측 방법, 현재 블록의 크기 및 예측 방향 등 복수의 정보에 따라 DCT 또는 DST를 선택적으로 수행될 수 있고, 디코딩 장치의 역변환부(225)는 인코딩 장치의 변환부에서 수행된 변환 정보를 기초로 역변환을 수행할 수 있다.
예측부(230)는 엔트로피 디코딩부(210)에서 제공된 예측 블록 생성 관련 정보와 메모리(240)에서 제공된 이전에 디코딩된 블록 및/또는 픽처 정보를 기초로 예측 블록을 생성할 수 있다. 복원 블록은 예측부(230)에서 생성된 예측 블록과 역변환부(225)에서 제공된 레지듀얼 블록을 이용해 생성될 수 있다.
예측부(230)에서 수행하는 구체적인 예측의 방법은 인코딩 장치의 예측부에서 수행되는 예측의 방법과 동일하다.
현재 블록에 대한 예측 모드가 인트라 예측(intra prediction) 모드인 경우에, 현재 픽처 내의 화소 정보를 기초로 예측 블록을 생성하는 인트라 예측을 수행할 수 있다.
인트라 예측에서 예측 모드는 33개의 방향성 예측 모드와 적어도 2개 이상의 비방향성 모드를 가질 수 있다. 비방향성 모드는 DC 예측 모드 및 플레너 모드(Planar 모드) 등을 포함할 수 있다.
인트라 예측에서는 참조 샘플에 필터를 적용한 후 예측 블록을 생성할 수 있다. 이때, 참조 샘플에 필터를 적용할 것인지는 현재 블록의 인트라 예측 모드 및/또는 사이즈에 따라 결정될 수도 있다.
현재 블록에 대한 예측 모드가 인터 예측(inter prediction) 모드인 경우에, 현재 픽처의 이전 픽처 또는 이후 픽처 중 적어도 하나를 참조 픽처로 하고, 참조 픽처에 포함된 정보를 기초로 현재 블록에 대한 인터 예측을 수행할 수 있다. 구체적으로, 인터 예측에서는 현재 블록에 대하여, 참조 픽처를 선택하고 현재 블록과 동일한 크기의 참조 블록을 선택해서, 현재 블록에 대한 예측 블록을 생성할 수 있다. 예컨대, 인터 예측에서는 현재 블록과의 레지듀얼(residual) 신호가 최소화되며 움직임 벡터 크기 역시 최소가 되도록 예측 블록을 생성할 수 있다. 이때, 참조 픽처의 정보를 이용하기 위해, 현재 픽처의 주변 블록들의 정보를 이용할 수 있다. 예컨대, 스킵(skip) 모드, 머지(merge) 모드, AMVP(Advanced Motion Vector Prediction) 등을 통해, 주변 블록의 정보에 기반하여 현재 블록에 대한 예측 블록을 생성할 수 있다.
예측 블록은 1/2 화소 샘플 단위와 1/4 화소 샘플 단위와 같이 정수 이하 샘플 단위로 생성될 수도 있다. 이때, 움직임 벡터 역시 정수 화소 이하의 단위로 표현될 수 있다. 예컨대 휘도 화소에 대해서는 1/4 화소 단위로, 색차 화소에 대해서는 1/8 화소 단위로 표현될 수 있다.
현재 블록의 인터 예측에 필요한 움직임 정보, 예컨대 움직임 벡터, 참조 픽처 인덱스 등에 관한 정보는 인코딩 장치로부터 수신한 스킵 플래그, 머지 플래그 등을 확인하고 이에 대응하여 유도될 수 있다.
예측이 수행되는 처리 단위와 예측 방법 및 구체적인 내용이 정해지는 처리 단위는 서로 다를 수도 있다. 예컨대, PU 단위로 예측 모드가 정해져서 PU 단위로 예측이 수행될 수도 있고, PU 단위로 예측 모드가 정해지고 TU 단위로 화면 내 예측이 수행될 수도 있다.
예측부(230)로부터 출력된 예측 블록에 역변환부(225)로부터 출력된 레지듀얼 블록이 더해져서 원본 영상을 복원할 수 있다.
복원된 블록 및/또는 픽처는 필터부(235)로 제공될 수 있다. 필터부(235)는 복원된 블록 및/또는 픽처에 디블록킹 필터링, SAO(Sample Adaptive Offset) 및/또는 적응적 루프 필터링 등을 적용한다.
메모리(240)는 복원된 픽처 또는 블록을 저장하여 참조 픽처 또는 참조 블록으로 사용할 수 있도록 할 수 있고 또한 복원된 픽처를 출력부로 제공할 수 있다.
여기서는 설명의 편의를 위해 생략하였지만, 디코딩 장치에 입력되는 비트 스트림은 파싱 단계를 거쳐 엔트로피 디코딩부로 입력될 수도 있다. 또한, 엔트로피 디코딩부에서 파싱 과정을 수행하도록 할 수도 있다.
본 명세서에서, 코딩은 경우에 따라 인코딩 또는 디코딩으로 해석될 수 있고, 정보(information)는 값(values), 파라미터(parameter), 계수(coefficients), 성분(elements) 등을 모두 포함하는 것으로 이해될 수 있다.
‘화면’ 또는 ‘픽처(picture)’는 일반적으로 특정 시간대의 하나의 영상을 나타내는 단위를 의미하며, ‘슬라이스(slice)’, ‘프레임(frame)’ 등은 실제 비디오 신호의 코딩에 있어서 픽처의 일부를 구성하는 단위이며, 필요에 따라서는 픽처와 서로 혼용되어 사용 될 수도 있다.
‘픽셀(pixel)’, ‘화소’ 또는 ‘pel’은 하나의 영상을 구성하는 최소의 단위를 의미한다. 또한, 특정한 픽셀의 값을 나타내는 용어로서 ‘샘플(sample)’을 사용할 수 있다. 샘플은 휘도(Luma) 및 색차(Chroma) 성분으로 나누어질 수 있으나, 일반적으로는 이를 모두 포함하는 용어로써 사용될 수 있다. 상기에서 색차 성분은 정해진 색상들 간의 차이를 나타내는 것으로 일반적으로 Cb 및 Cr로 구성된다.
'유닛(unit)'은 상술한 코딩 유닛(CU), 예측 유닛(PU), 변환 유닛(TU)과 같이 영상 처리의 기본 단위 또는 영상의 특정 위치를 지칭하며, 경우에 따라서는 '블록(block)' 또는 '영역(area)' 등의 용어와 서로 혼용하여 사용될 수 있다. 또한, 블록은 M개의 열과 N개의 행으로 구성된 샘플들 또는 변환 계수(transform coefficient)들의 집합을 나타내는 용어로 사용될 수도 있다.
한편, 인터 예측 모드의 경우에 인코딩 장치 또는 디코딩 장치의 예측부는 상술한 바와 같이 현재 픽처(현재 영상)이 아닌 복원된 다른 픽처들의 정보를 이용하여 대상 블록의 픽셀값을 예측하는 인터 예측을 수행한다.
현재 블록의 예측에 이용되는 영상을 참조 픽처(reference picture) 또는 참조 프레임(reference frame)이라고 한다. 참조 픽처에서 현재 블록의 예측에 이용되는 영역은 참조 픽처를 지시하는 참조 픽처 인덱스(refIdx) 및 움직임 벡터(motion vector) 등을 이용하여 나타낼 수 있다.
현재 픽처에 대하여, 예측을 위하여 사용되는 픽처들로 참조 픽처 리스트를 구성할 수 있다. 참조 픽처 리스트의 픽처들 중에서 어떤 픽처가 현재 블록의 인터 예측에 이용될 것인지는 참조 픽처 인덱스를 이용하여 지시할 수 있다. 참조 픽처 인덱스는 참조 픽처 리스트에서 특정 참조 픽처를 지시한다.
구체적으로, 예측에 있어서 픽처는 I 픽처와 P 픽처 그리고 B 픽처 중 어느 하나로 분류될 수 있다.
I 픽처는 인트라 예측에 의해서 인코딩/디코딩되는 픽처이다. I 픽처의 특징은 픽처 단위가 아닌 슬라이스 단위로도 정의될 수 있다. 예컨대, 슬라이스 단위에서 I 픽처의 특징을 갖는 I 슬라이스가 정의될 수 있다.
P 픽처는 각 블록의 샘플 값을 예측하기 위해 적어도 하나의 움직임 벡터 및 참조 픽처 인덱스를 이용한 인터 예측 또는 인트라 예측을 이용해서 인코딩/디코딩될 수 있는 픽처이다. P 픽처에서는 한 개의 참조 픽처 리스트를 필요로 하며, 이를 참조 픽처 리스트 0(reference picture list 0: L0)이라고 한다. P 픽처의 특징은 픽처 단위가 아닌 슬라이스 단위로도 정의될 수 있다. 예컨대, 슬라이스 단위에서 P 픽처의 특징을 갖는 P 슬라이스가 정의될 수 있다.
B 픽처는 각 블록의 샘플 값을 예측하기 위해 최대(at most) 두 개의 움직임 벡터와 참조 픽처 인덱스들을 이용한 인터 예측 또는 인트라 예측을 이용해서 인코딩/디코딩될 수 있는 픽처이다. B 픽처에 대해서는 상술한 바와 같이 최대 2 개의 참조 픽처를 이용하여 순방향, 역방향 또는 양 방향 인터 예측을 수행할 수 있다. 따라서, B 픽처의 예측에는 두 개의 참조 픽처 리스트, 예컨대 참조 픽처 리스트 0 및 참조 픽처 리스트 1(reference picture list 1: L1)을 이용할 수 있다. B 픽처의 특징은 픽처 단위가 아닌 슬라이스 단위로도 정의될 수 있다. 예컨대, 슬라이스 단위에서 B 픽처의 특징을 갖는 B 슬라이스가 정의될 수 있다.
참조 픽처 리스트 0(이하, 설명의 편의를 위해 ‘L0’이라 함)은 P 픽처(P 슬라이스) 또는 B 픽처(B 슬라이스)의 인터 예측에 이용되는 참조 픽처 리스트이다. P 픽처(P 슬라이스)에 대한 인터 예측은 L0을 이용한다. 또한, L0은 B 픽처(B 슬라이스)에 대한 인터 예측에 이용되는 두 참조 픽처 리스트 중의 하나이다.
B 픽처(B 슬라이스)에 대한 쌍예측(bi-prediction)에 이용되는 두 참조 픽처 리스트 중 다른 하나가 참조 픽처 리스트 1(이하, 설명의 편의를 위해 ‘L1’이라 함)이다. L1은 B 픽처(B 슬라이스)에 대한 쌍예측(bi-prediction)에 이용되는 참조 픽처 리스트이다.
L0으로부터 선택된 참조 픽처를 사용하는 인터 예측을 L0 예측이라 하며, L0 예측은 주로 순방향 예측에 사용된다. L0 예측의 방향을 간단히 L0 방향이라고도 한다. L1으로부터 선택된 참조 픽처를 사용하는 인터 예측을 L1 예측이라 하며, L1 예측은 주로 역방향 예측에 사용된다. L1 예측의 방향을 간단히 L1 방향이라고도 한다.
또한, B 픽처의 단예측(uni-prediction)에 이용되는 참조 픽처 리스트로서 참조 픽처 리스트 조합(reference picture list combination: LC)이 있다. 참조 픽처 리스트 조합(이하, 설명의 편의를 위해 ‘LC’라 함)은 참조 픽처 리스트 0과 참조 픽처 리스트 1의 엔트리들로부터 유도될 수 있다.
도 3은 L0과 L1으로부터 LC를 구성하는 방법의 일 예를 개략적으로 설명하는 도면이다.
도 3의 예에서, 현재 픽처(300)의 현재 블록(예컨대, PU)가 인터 예측 모드라면, 현재 블록은 참조 픽처 1(310), 참조 픽처 2(320), 참조 픽처 4(330), 참조 픽처 5(340)를 이용하여 인터 예측된다.
L0는 현재 픽처의 참조 픽처들 중 순방향의 참조 픽처들에 우선 순위를 두고 구성될 수 있다. 또한, 참조 픽처 리스트는 소정 개수의 참조 픽처로 구성될 수 있으며, 순방향과 역방향으로 각각 소정 개수의 참조 픽처를 포함하도록 설정될 수 있다.
도 3에서는 L0의 경우에, 순방향으로 두 개의 참조 픽처, 역방향으로 한 개의 참조 픽처를 포함하고, L1의 경우에, 역방향으로 두 개의 참조 픽처, 순방향으로 한 개의 참조 픽처를 포함하는 경우를 예로서 설명하고 있다.
예컨대, L0을 구성하는 경우에, 도 3의 예에서는 순방향으로 현재 픽처(300)에 가장 가까운 참조 픽처 2(320)에 인덱스 0을 할당하고, 순방향으로 현재 픽처(300)에 두 번째 가까운 참조 픽처 1(310)에 인덱스 1을 할당한다. 순방향 참조 픽처에 대한 인덱스 할당이 완료되면, 역방향으로 현재 픽처(300)에 가장 가까운 참조 픽처 4(330)에 인덱스 2를 할당한다. 따라서, 도 3의 예에 대한 L0은 표 1과 같이 구성될 수 있다.
<표 1>
Figure PCTKR2012003017-appb-I000001
또한, L1을 구성하는 경우에, 도 3의 예에서는 역방향으로 현재 픽처(300)에 가장 가까운 참조 픽처 4(330)에 인덱스 0을 할당하고, 역방향으로 현재 픽처(300)에 두 번째 가까운 참조 픽처 5(340)에 인덱스 1을 할당한다. 역방향 참조 픽처에 대한 인덱스 할당이 완료되면, 순방향으로 현재 픽처(300)에 가장 가까운 참조 픽처 2(320)에 인덱스 2를 할당한다. 따라서, 도 3의 예에 대한 L1은 표 2와 같이 구성될 수 있다.
<표 2>
Figure PCTKR2012003017-appb-I000002
LC는 L0과 L1으로부터 다양한 방법으로 구성될 수 있다. 도 3의 예에서는 L0과 L1에서, 현재 픽처에 가까운 참조 픽처부터 현재 픽처에 먼 참조 픽처의 순서로 번갈아 가며 참조 픽처를 나열해서 LC를 구성할 수 있다. 다시 말하면, L0과 L1에서 번갈아 가며 상위 인덱스의 참조 픽처 인덱스를 뽑고, 그 순서대로 인덱스를 할당해서 LC를 구성할 수 있다. 따라서, 도 3의 예에 대한 LC는 표 3과 같이 구성될 수 있다.
<표 3>
Figure PCTKR2012003017-appb-I000003
가령, 현재 블록(예컨대 PU)가 인터 모드일 경우에 예측 방향에 관한 정보가 인코딩 장치로부터 시그널링된다. 예컨대, 예측 방향이 L0 방향인지 L1 방향인지, 아니면 쌍예측이 적용되는지에 관한 정보가 인코딩 장치로부터 전송된다. L0 방향인지 L1 방향인지, 아니면 쌍예측이 적용되는지에 관한 정보는 소정의 지시자, 이를테면 인터 예측 지시자(inter_pred_idc)를 이용하여 전송될 수 있다.
하지만, 인터 예측에 관한 방향에 관하여 단예측(uni-prediction)과 쌍예측(bi-prediction)의 두 방법 중 어느 하나가 적용되는 것으로 설정할 수 있다면, 지시자를 사용하는 대신에 플래그를 이용하여 예측 방향에 관한 정보를 시그널링할 수 있게 된다. 지시자를 이용하는 대신에 플래그를 이용하면 정보 전송에 있어서 오버헤드를 줄일 수 있다.
상술한 단예측 방법에 참조 픽처 리스트 조합, 즉 LC가 사용된다.
복호화기에서 LC를 구성하기 위한 정보는 부호화기로부터 시그널링될 수 있다. LC를 구성하기 위한 정보는 다양한 방법으로, 필요에 따라 다양한 신택스 레벨에서 전송될 수 있다.
표 4는 LC를 구성하기 위한 정보가 부호화기로부터 전송되는 경우를 예로서 설명한 것이다.
<표 4>
Figure PCTKR2012003017-appb-I000004
표 4에 예시된 시그널링은 상술한 바와 같이, 다양한 레벨에서 전송될 수 있다. 예컨대, 슬라이스 헤더에 관한 신택스에 포함되어 전송될 수도 있고, 별도의 신택스로 전송된 후, 다른 신택스로부터 호출될 수도 있다.
신택스 ref_pic_list_combination_flag 는 LC를 생성할 것인지를 지시한다.
예컨대, 1(true)의 값을 가지는 ref_pic_list_combination_flag 는, L0 과 L1가 조합되어 현재 블록이 단예측(uni-prediction) 되는데 이용되는 추가적인 참조 픽처 리스트 LC가 생성된다는 것을 지시된다. 또한, 0(false)의 값을 가지는 ref_pic_list_combination_flag 는 L0과 L1이 동일(identical)하며, L0이 참조 픽처 리스트 조합(LC)로서 이용될 수 있다는 것을 지시한다. 따라서, 1(true)의 값을 가지는 ref_pic_list_combination_flag는 L0과 L1이 상이하다는 것을 지시하는 것으로 해석될 수도 있다.
한편, LC는 표 4에서 정의되는 루프(loop)가 시작될 때는 빈(empty) 것으로 설정될 수도 있다.
num_ref_idx_lc_active_minus2+2는 LC에서 L0 또는 L1으로부터 선택되는 참조 픽처들의 개수를 특정한다. 상술한 ref_pic_list_combination_flag의 값이 1인 경우에는 LC를 사용하게 되는데, 참조 픽처의 개수가 1 이하일 때에는 LC를 생성하지 않고 기존의 참조 픽처 리스트를 사용하면 된다. 따라서, num_ref_idx_lc_active 의 값이 2 이상을 지시하도록 구성하고, minus2를 적용하여 시그널링할 수 있다.
ref_pic_list_modification_flag_lc는 L1, L2와 LC 사이의 매핑을 특정하는데 필요한 정보를 전달한다. 구체적으로, 1의 값을 갖는 ref_pic_list_modification_flag_lc는 LC의 엔트리들을 L0 및 L1의 엔트리들에 매핑하는 것을 특정하기 위한 신택스 요소 pic_from_list_0_flag ref_idx_list_curr가 있다(present)는 것을 지시한다. 0의 값을 갖는 ref_pic_list_modification_flag_lcpic_from_list_0_flag ref_idx_list_curr가 없다는 것을 지시하며, LC는 소정의 방법에 따라서 초기화될 수 있다.
pic_from_list_0_flag는 LC에 추가되는 현재 참조 픽처가 L0으로부터 추가되는 것인지 L1으로부터 추가되는지를 지시한다. 예컨대, pic_from_list_0_flag의 값이 1이면, 현재 참조 픽처는 L0으로부터의 참조 픽처이며, 현재 참조 픽처가 어떤 참조 픽처 리스트로부터 추가되는 것인지를 지시하는 변수 CurrRefPicList의 값은 L0을 지시하는 값으로 설정될 수 있다. pic_from_list_0_flag의 값이 0이면, 현재 참조 픽처는 L1으로부터의 참조 픽처이며, 변수 CurrRefPicList의 값은 L1을 지시하는 값으로 설정될 수 있다.
ref_idx_list_curr는 LC의 마지막에 첨부되는 CurrRefPicList에서 픽처의 참조 픽처 인덱스를 지시한다.
이하, 참조 픽처 리스트를 이용하는 인터 예측 방법에 대해 설명한다.
도 4는 본 발명에 따라서 인터 예측을 수행하는 방법을 개략적으로 설명하는 순서도이다. 도 4에 도시된 인터 예측의 방법은 본 발명이 적용되는 디코딩 장치 또는 디코딩 장치 내 소정의 유닛, 예컨대 예측부에서 수행될 수 있다. 여기서는 설명의 편의를 위해, 디코딩의 예측부가 예측을 수행하는 것으로 설명한다.
도 4를 참조하면, 디코딩 장치의 예측부는 현재 블록에 대한 인터 예측 방법을 결정한다(S410). 디코딩 장치의 예측부는 현재 블록에 적용되는 예측 방법인 인터 예측인지 인트라 예측인지를 결정한 후, 인터 예측인 경우에는 구체적인 인터 예측 방법을 결정할 수 있다. 인터 예측 방법은 현재 블록을 포함하는 CU 단위로 결정될 수도 있고, PU 단위 또는 TU 단위로 결정될 수도 있다.
현재 블록에 적용되는 인터 예측의 구체적인 방법이 무엇인지에 관한 정보는 인코딩 장치로부터 디코딩 장치로 전송될 수 있다. 예컨대, 인코딩 장치는 스킵 모드에 기반한 인터 예측이 적용되는지에 관한 플래그(예컨대, skip_flag), 머지 모드에 기반한 인터 예측이 적용되는지에 관한 플래그(예컨대, merge_flag), MVP(Motion Vector Prediction)에 기반한 인터 예측이 적용되는지에 관한 플래그(MVP_flag) 등을 전송할 수 있다.
또한, 스킵 모드에 기반한 인터 예측이 적용되는지에 관한 플래그(예컨대, skip_flag), 머지 모드에 기반한 인터 예측이 적용되는지에 관한 플래그(예컨대, merge_flag) 등이 전송되고 상기 플래그 등에 의해 스킵 모드 또는 머지 모드에 기반한 인터 예측이 적용되지 않는 것으로 판단되는 경우에는, MVP에 기반한 인터 예측이 적용되도록 할 수도 있다. 이때, 어떤 참조 픽처 리스트를 이용하여 MVP에 기반한 인터 예측이 적용되는지에 관한 정보도 인코딩 장치로부터 디코딩 장치로 전송될 수 있다.
디코딩 장치의 예측부는 인코딩 장치로부터 전송되는 정보에 기반해서, 현재 블록에 적용되는 인터 예측 방법이 스킵 모드에 기반한 인터 예측 방법인지, 머지 모드에 기반한 인터 예측 방법인지, 혹은 MVP(Motion Vector Predictor)에 기반한 인터 예측 방법인지를 결정할 수 있다.
디코딩 장치의 예측부는 현재 블록에 대한 움직임 정보를 유도한다(S420). 디코딩 장치의 예측부는 현재 블록에 적용되는 인터 예측 방법에 따라서, 현재 블록에 대한 움직임 정보를 유도할 수 있다.
스킵 모드(skip mode)에 기반한 인터 예측의 경우에는 현재 블록에 대한 움직임 정보가 전송되며, 그 외의 정보 예컨대 레지듀얼 신호에 대한 정보가 전송되지 않는다. 이때, 해당 블록에 대한 움직임 정보를 그대로 전송하지 않고, 해당 블록의 주변 블록 중 특정 주변 블록의 움직임 정보를 해당 블록의 움직임 정보로 사용하도록 하도록 할 수도 있다. 이 경우, 부호화기는 어떤 주변 블록의 움직임 정보를 사용할 것인지에 관해, 특정 블록을 지시하는 정보를 복호화기에 전송할 수 있다. 따라서, 디코딩 장치의 예측부는 부호화기로부터 수신한 정보가 지시하는 주변 블록의 움직임 정보를 현재 블록의 움직임 정보로서 이용할 수 있다.
머지 모드(merge mode)에 기반한 인터 예측의 경우에는 현재 블록에 대한 움직임 정보를 현재 블록에 인접한 이웃 블록의 예측 정보로부터 획득할 수 있다. 이때, 어느 주변 블록의 움직임 정보를 이용할 것인지에 관해서 해당 블록을 지시하는 정보(예컨대, 머지 인덱스)가 인코딩 장치로부터 디코딩 장치로 전송될 수 있다.
디코딩 장치의 예측부는 머지 모드에 기반한 인터 예측이 적용되는 경우에는, 인코딩 장치로부터 지시되는 주변 블록의 움직임 정보를 현재 블록의 움직임 정보로 이용할 수 있다.
머지 모드와 스킵 모드의 인터 예측에 있어서, 어느 주변 블록의 움직임 정보를 이용할 것인지를 지시하는 경우에, 현재 블록의 주변 블록들 중에서 소정의 블록들을 후보 블록들로서 설정할 수 있다.
인코딩 장치는 후보 블록들 중에서 어느 블록의 움직임 정보를 이용할 것인지를 디코딩 장치에 전송할 수 있다. 예컨대, 인코딩 장치는 후보 블록들로 구성된 후보 리스트 중에서 머지 대상이 되는 주변 블록을 지시하는 머지 인덱스를 전송할 수 있다. 디코딩 장치의 예측부는 머지 인덱스가 지시하는 주변 블록의 움직임 정보를 현재 블록의 움직임 정보로 이용할 수 있다. 예컨대, 디코딩 장치의 예측부는 인코딩 장치가 전송한 머지 인덱스가 상기 후보 리스트에서 지시하는 블록의 움직임 정보를 현재 블록의 움직임 정보로 이용할 수 있다.
MVP에 기반한 인터 예측의 경우에는 현재 블록의 주변 블록들 중에서 선택된 블록의 움직임 벡터를 현재 블록의 움직임 벡터 예측값으로 이용할 수 있다. 인코딩 장치는 움직임 벡터 예측값, 움직임 벡터 예측자와 현재 블록의 움직임 벡터 간의 차이에 해당하는 움직임 벡터 차이(Motion Vector Difference: MVD), 현재 블록에 대한 참조 픽처 인덱스 등의 예측 정보를 디코딩 장치에 전송할 수 있다. 전송되는 움직임 벡터 예측값을 움직임 벡터 예측(Motion Vector Prediction: MVP) 또는 움직임 벡터 예측자(Motion Vector Predictor: MVP)라고 한다.
이때, 현재 블록의 주변 블록들 중에서 소정의 블록들을 후보 블록들로 설정하고, 후보 블록들의 움직임 벡터들로 구성되는 리스트 상에서 현재 블록의 움직임 벡터 예측자로서 이용될 움직임 벡터가 지시되도록 할 수도 있다. 예컨대, 인코딩 장치는 어떤 블록의 움직임 벡터를 현재 블록의 움직임 벡터 예측자로 사용할 것인지를 지시하는 인덱스를 디코딩 장치에 전송할 수 있다.
디코딩 장치의 예측부는 수신한 정보를 기반으로 현재 블록에 대한 움직임 정보를 유도할 수 있다. 예컨대, 디코딩 장치의 예측부는 움직임 벡터 예측자와 움직임 벡터 차이를 기반으로 현재 블록의 움직임 벡터를 얻을 수 있고, 수신한 참조 픽처 인덱스를 현재 블록에 대한 참조 픽처 인덱스로 이용할 수 있다.
이때, 디코딩 장치의 예측부는 인코딩 장치가 전송한 인덱스가 후보 블록들의 움직임 정보로 구성된 리스트상에서 지시하는 움직임 정보를 현재 블록의 움직임 정보 예측자로서 이용할 수 있다.
한편, 스킵 모드에 기반한 인터 예측, 머지 모드에 기반한 인터 예측 그리고 MVP에 기반한 인터 예측에 있어서, 상술한 현재 블록의 주변 블록들 중 소정의 후보 블록들은 동일한 블록들일 수도 있다.
디코딩 장치의 예측부는 현재 블록에 대한 예측 블록을 생성한다(S430). 디코딩 장치의 예측부는 현재 블록에 대하여, 예측 샘플들로 구성되는 예측 블록을 생성할 수 있다.
디코딩 장치의 예측부는 각각의 인터 예측 방법에 따라서 획득한 현재 블록의 움직임 정보를 기반으로 현재 블록에 대한 예측 블록을 생성할 수 있다. 예컨대, 디코딩 장치의 예측부는 현재 블록의 움직임 정보 중 참조 픽처 인덱스가 지시하는 참조 픽처에서 움직임 벡터가 지시하는 영역의 샘플들을 현재 블록의 예측 샘플들로 이용할 수 있다. 움직임 벡터가 정수 샘플(integer sample)들을 지시하지 않는 경우에는 인터폴레이션(interpolation) 등을 통해 부분 샘플(fractional sample)들을 생성할 수 있다. 부분 샘플들은 쿼터-펠(quarter-pel) 단위로 생성될 수 있다. 이 경우에, 디코딩 장치의 예측부는 부분 샘플들로 구성된 예측 블록을 이용하여 현재 블록을 복원할 수 있다.
한편, 디코딩 장치의 예측부는 참조 픽처 인덱스와 움직임 벡터를 기반으로 생성한 샘플 블록에 대해 가중치 예측(weighted prediction)을 수행할 수 있다. 디코딩 장치의 예측부는 가중치 예측을 통해서 영상 시퀀스(video sequence)에 대한 일루미네이션 변화(illumination variation)을 보상하고 예측의 정확도를 높일 수 있다.
디코딩 장치의 예측부는 참조 픽처 인덱스와 움직임 벡터를 기반으로 생성한 샘플 블록에 가중치를 부여하여 예측 샘플을 생성하고, 각 예측 샘플들의 어레이(array)인 예측 블록을 생성할 수 있다.
P 슬라이스에 대해서, 가중치는 명시적인(explicit) 방법으로 적용될 수 있다. 가중치를 명시적으로 적용하는 경우에, 디코딩 장치의 예측부는 인코딩 장치로부터 전송된 가중치 정보를 기반으로 가중치를 부여하여 예측 블록을 생성할 수 있다. 인코딩 장치는 가중치를 명시적으로 적용할 것인지를 지시하는 정보를 디코딩 장치에 전송할 수 있다. 가중치를 명시적으로 적용할 것인지를 지시하는 정보는 각 픽처 단위로 전송될 수도 있다. 디코딩 장치의 예측부는 가중치를 명시적으로 적용하지 않는 경우에, 소정의 디폴트(default) 가중치를 적용할 수도 있다.
B 슬라이스에 대해서, 가중치는 명시적인(explicit) 방법으로 적용될 수도 있고, 묵시적인(implicit) 방법으로 적용될 수도 있다. 가중치를 명시적으로 적용하는 경우에, 디코딩 장치의 예측부는 인코딩 장치로부터 명시적으로 전송된 가중치 정보를 기반으로 가중치를 부여하여 예측 블록을 생성할 수 있다. 가중치를 묵시적으로 적용하는 경우에, 디코딩 장치의 예측부는 가중치를 소정의 방법으로 유도하고, 유도된 가중치를 부여하여 예측 블록을 생성할 수 있다. 이때, 현재 픽처와 참조 픽처 사이의 거리를 기반으로 가중치를 유도할 수 있다. 또한, 디코딩 장치의 예측부는 가중치가 명시적 또는 묵시적으로 적용되지 않는 경우에 소정의 디폴트 가중치를 적용할 수도 있다. 인코딩 장치는 가중치를 명시적으로 적용할 것인지 묵시적으로 적용할 것인지 혹은 디폴트 가중치를 적용할 것인지를 지시하는 정보를 디코딩 장치에 전송할 수 있다. 가중치를 명시적으로 적용할 것인지 묵시적으로 적용할 것인지 혹은 디폴트 가중치를 적용할 것인지를 지시하는 정보는 각 픽처 단위로 전송될 수도 있다.
디코딩 장치의 예측부는 현재 블록을 복원한다(S440). 디코딩 장치의 예측부는 예측 블록을 기반으로 현재 블록을 복원한다.
예컨대, 레지듀얼 블록을 전송하지 않는 스킵 모드에 기반한 인터 예측의 경우에, 디코딩 장치의 예측부는 예측 블록을 복원된 현재 블록으로 이용할 수 있다. 레지듀얼 블록이 전송되는 머지 모드 또는 MVP에 기반한 인터 예측의 경우에, 디코딩 장치의 예측부는 예측 블록에 레지듀얼 블록을 더하여 현재 블록을 복원할 수 있다.
디코딩 장치의 예측부는 현재 픽처를 복원하기 위하여, 복원된 블록들에 대하여 디블록킹 필터, SAO(Sample Adaptive Offset), ALF(Adaptive Loop Filter) 중 적어도 하나를 추가로 적용할 수도 있다.
한편, 디코딩 장치의 예측부에서 예측을 수행하는데 필요한 정보는 인코딩 장치로부터 시그널링될 수 있다. 예컨대, 현재 블록에 인트라 예측이 적용되는지, 인터 예측이 적용되는지, 인터 예측이 적용된다면 구체적인 인터 예측 방법은 무엇인지, 인트라 예측이 적용된다면 인트라 예측 모드는 무엇인지 등의 정보가 시그널링될 수 있다.
또한, 디코딩 장치의 예측부는 예측에 필요한 정보를 다른 정보들로부터 유도할 수도 있다. 예측에 필요한 정보를 유도해 내기 위해 필요한 정보는 인코딩 장치로부터 디코딩 장치에 시그널링될 수도 있다.
인터 예측의 예측 모드로는 Pred_L0, Pred_L1, Pred_Bi, Pred_LC 등이 있다. Pred_L0은 L0의 참조 프레임(참조 픽처)을 이용하는 인터 예측 방법이고, Pred_L1은 L1의 참조 프레임(참조 픽처)을 이용하는 인터 예측 방법이며, Pred_Bi는 L0의 참조 프레임(참조 픽처)과 L1의 참조 프레임(참조 픽처)를 이용하는 인터 예측 방법이다. L0과 L1이 같은 슬라이스를 후술하는 바와 같이, 설명의 편의를 위해 GPB(Generalized P and B) 슬라이스 라고도 한다.
Pred_LC는 L0와 L1로부터 조합되는 LC를 이용하는 인터 예측 방법이다.
L0과 L1을 모두 이용하는 경우에는, Pred_Bi인지 Pred_LC인지를 구별하여 시그널링할 수도 있다. 현재 블록의 인터 예측 모드가 Pred_LC인 경우에는 LC의 참조 픽처 인덱스를 시그널링한다. 현재 블록의 인터 예측 모드가 Pred_Bi인 경우에는 L0과 L1 각각의 참조 픽처 인덱스를 시그널링할 수 있다. 현재 블록의 인터 예측 모드가 Pred_Bi일 때 L0을 사용하는 경우와 L1을 사용하는 경우를 구분하여, 예측에 사용되는 참조 픽처 리스트 및 참조 픽처 리스트와 관련된 예측 정보를 시그널링할 수도 있다.
한편, 슬라이스 타입(픽처 타입)이 B 슬라이스(B 픽처)일 때, 순방향(forward) 참조 픽처 리스트의 구조와 역방향(backward) 참조 픽처 리스트의 구조가 동일한 경우가 있다. 다시 말하면, B 슬라이스의 예측에 사용되는 L0과 L1이 동일한 경우가 있다. 슬라이스 타입이 B 슬라이스이고 L0과 L1이 동일한 슬라이스(픽처)를 상술한 바와 같이 GPB 슬라이스(픽처)라고 한다.
B 슬라이스에서 L0과 L1이 동일한지 아닌지를 구분하기 위해, 상술한 ref_pic_list_combination_flag를 이용할 수 있다. ref_pic_list_combination_flag 의 값이 1인 경우는 L0과 L1이 상이하며, L0과 L1을 이용하여 LC가 추가로 조합된다. ref_pic_list_combination_flag 의 값이 0인 경우는 L0과 L1이 동일하다.
L0과 L1이 동일한 B 슬라이스의 경우는, 일반적인 B 슬라이스의 경우보다 인터 예측에 필요한 정보가 중복되는 경우가 많을 수 있다. 예컨대, 시그널링되는 정보들 중에서, L0을 이용하는 인터 예측에 필요한 정보가 L1을 이용한 정보와 동일한 경우가 많을 수 있다. 따라서, L0과 L1의 동일성 여부에 기반하여 효율적인 전송을 위한 비트스트림을 고려할 필요가 있다.
더 구체적으로 설명하자면, 참조 픽처 리스트를 이용하는 인터 예측의 경우, P 슬라이스에 대하여 L0을 사용하는 예측 모드 Pred_L0, B 슬라이스에서 수행되는 쌍예측 모드 Pred_BI, B 슬라이스에서 LC를 사용하는 예측 모드 Pred_LC 등이 적용될 수 있다. 효율적인 전송을 위해서, 인코딩 장치는 각 예측 모드에 따라 필요한 정보를 구분해서 전송할 수 있다.
예컨대, 슬라이스 타입이 B 슬라이스이고 L0와 L1이 동일한 GPB 슬라이스의 경우에는 인터 예측에 필요한 정보 중, L0에 관한 정보와 중복되는 L1에 관한 정보는 시그널링하지 않을 수 있다. 이 경우, L0와 L1의 동일성 여부에 기반해서, 정보의 중복 전송을 막을 수도 있다. 여기서, L0에 대한 정보는 L0 자체에 대한 정보뿐만 아니라, 디코딩 장치가 L0을 이용하여 디코딩을 수행하기 위해 필요한 정보를 포함한다. 또한, L1에 대한 정보는 L1 자체에 대한 정보뿐만 아니라, 디코딩 장치가 L1을 이용하여 디코딩을 수행하기 위해 필요한 정보를 포함한다.
표 5는 본 발명에 따라서 L0과 L1이 동일한지 여부에 기반해서 L1에 관한 정보를 전송하는 신택스 구조의 일 예를 개략적으로 나타낸 것이다. 표 5의 신택스 구조는 소정의 정보를 전송하는 특정 신택스의 일 부분일 수 있다.
<표 5>
Figure PCTKR2012003017-appb-I000005
표 5를 참조하면, 슬라이스 타입이 B 슬라이스이고 L0과 L1이 동일하지 않은 경우(ref_pic_list_combination_flag의 값이 0이 아닌 경우)에 L1에 대한 정보가 전송된다.
한편, 표 5의 예에서는 L1에 관한 정보가 전송되는 경우, ref_pic_list_combination_flag의 값이 1이므로, LC를 이용한 예측이 수행된다. 따라서, 인코딩 장치는 LC를 조합할 수 있도록, 그리고 조합된 LC를 이용하여 예측을 수행할 수 있도록, L1에 관한 정보를 구성하여 L1에 관한 신택스 요소로서 전송할 수 있다. 이때, L0에 대한 신택스 요소는 해당 신택스 내에서 별도로 전송될 수 있다. 디코딩 장치는 L0에 대한 신택스 요소와 L1에 대한 신택스 요소에 기반해서, L0과 L1으로부터 LC를 조합할 수 있다.
이와 관련해서, ref_pic_list_combination_flag의 값이 1일 때, 표 5와 같이 L1에 관한 정보를 전송하지 않고, LC에 관한 정보를 전송하도록 할 수도 있다.
표 6은 본 발명에 따라서 L0과 L1이 동일한지 여부에 기반해서 L1에 관한 정보를 전송하는 신택스 구조의 일 예를 개략적으로 나타낸 것이다. 표 6의 신택스 구조는 소정의 정보를 전송하는 특정 신택스의 일 부분일 수 있다.
<표 6>
Figure PCTKR2012003017-appb-I000006
표 6을 참조하면, 슬라이스 타입이 B 슬라이스인 경우 L0과 L1이 동일하지 않으며 L0과 L1으로부터 LC가 조합되는 경우(ref_pic_list_combination_flag의 값이 1인 경우)에 LC에 대한 정보가 전송된다.
한편, L0과 L1이 동일한 경우(GPB 슬라이스)에도 L0에 대한 정보와 L1에 대한 정보를 구분해서 전송할 필요가 있을 수 있다. 가령, 가중치 예측의 경우는, 가중치와 오프셋 등 디코딩 과정에서 필요한 정보가 L0을 사용하는 예측의 경우와 L1의 사용하는 예측의 경우에 상이할 수 있다.
표 5와 표 6의 경우에서 설명한 바와 같이, 본 발명에 따라서 L0과 L1이 동일한 경우에는, 중복되는 정보는 전송하지 않더라도 중복되지 않는 정보를 전송할 수도 있다.
구체적으로, 표 5와 표 6의 구조가 이용되는 신택스에서, L0과 L1이 동일하면 L0에 대한 정보를 L1에 대한 정보로서 이용할 수 있는 경우 혹은 L0에 관한 정보만으로 예측을 수행할 수 있는 경우에는 L1 자체에 대한 정보뿐만 아니라 L1에 관한 정보도 전송하지 않을 수 있다. 이때, 디코딩 장치는 해당 신택스에서 L0에 관한 정보를 L1에 관해서 그대로 적용할 수 있다.
예컨대, L0을 이용하는 예측에서 현재 블록에 적용되는 움직임 벡터 예측자나 참조 픽처 인덱스가 L1을 이용하는 예측의 경우와 동일하다면, L1을 이용하는 예측에 대하여 현재 블록에 적용되는 움직임 벡터 예측자나 참조 픽처 인덱스에 관한 정보를 전송하지 않을 수 있다. 이 경우에는 L0을 이용하는 예측에서 현재 블록에 적용되는 움직임 벡터 예측자나 참조 픽처 인덱스를 L1을 이용하는 예측에 그대로 적용하도록 할 수도 있고, L0만으로 현재 블록에 대한 예측을 수행할 수도 있다.
이와 달리, 표 5와 표 6의 신택스 구조가 이용되는 신택스에서, L0과 L1이 동일한 GPB의 경우라도 L0에 대한 정보와 L1에 대한 정보가 상이할 수 있다면, L1에 관한 정보를 전송하도록 할 수 있다. 예컨대, 가중치 예측에 있어서, L0과 L1이 동일하여도 L0 예측에 대한 가중치 또는 오프셋이 L1 예측에 대한 가중치 또는 오프셋과 상이할 수 있다면, GPB의 경우(슬라이스 타입이 B 슬라이스이고 L0과 L1 같은 경우)에도 L0에 대한 가중치 및 오프셋과 별도로 L1에 대한 가중치 및 오프셋을 전송할 수 있다.
표 7은 본 발명에 따라서 전송되는 가중치 예측에 대한 신택스의 일 예를 개략적으로 나타낸 것이다. 표 7에서는 슬라이스 타입이 B 슬라이스이고 L0과 L1이 상이한 경우(ref_pic_list_combination_flag의 값이 1인 경우)에 LC를 구성하고 LC를 이용하여 가중치 예측을 수행하기 위해 L1에 관한 정보가 전송되는 것을 설명하고 있다.
<표 7>
Figure PCTKR2012003017-appb-I000007
표 7을 참조하면, 별도로 전송되는 L0에 대한 정보와 달리, L1에 대한 정보, 예컨대 luma_weight_l1_flag, luma_weight_l1, luma_offset_l1, chroma_weight_l1_flag, chroma_weight_l1, chroma_offset_l1 등은 슬라이스 타입이 B 슬라이스이고 L0과 L1이 상이한 경우(ref_pic_list_combination_flag의 값이 1인 경우)에 전송된다.
표 7에서, luma_log2_weight_denom은 모든 루마 가중치 팩터(luma weighting factor)들에 대한 디노미네이터(denominator)를 베이스 2의 로그값으로 나타낸 것이다. luma_log2_weight_denom의 값은, 예컨대 0 이상 7 이하의 값을 가질 수 있다.
chroma_log2_weight_denom은 모든 크로마 가중치 팩터(chroma weighting factor)들에 대한 디노미네이터(denominator)를 베이스 2의 로그값으로 나타낸 것이다. chroma _log2_weight_denom의 값은, 예컨대 0 이상 7 이하의 값을 가질 수 있다.
luma_weight_l0_flag은 루마 성분의 L0 예측에 대한 가중치 팩터들이 존재하는지를 지시한다. 예컨대, luma_weight_l0_flag의 값이 1이면, L0의 루마 성분(component)에 대한 가중치 팩터들이 존재한다(present)는 것을 지시한다. luma_weight_l0_flag의 값이 0이면, L0의 루마 성분(component)에 대한 가중치 팩터들이 존재하지 않는다는 것을 지시한다.
luma_weight_l0[ i ]는 인덱스 i가 참조 픽처 리스트 L0에서 지시하는 참조 픽처 RefPicList0[ i ]를 이용하는 L0 예측에 대하여, 루마 예측 값에 적용되는 가중치 팩터이다. luma_weight_l0_flag의 값이 1이면, luma_weight_l0[ i ]의 값은 -128 이상 127 이하의 범위에 있다. luma_weight_l0_flag의 값이 0이면, luma_weight_l0[ i ]은 참조 픽처 RefPicList0[ i ]에 대하여 2luma_log2_weight_denom 와 같다고 추정(infer)된다.
luma_offset_l0[ i ]는 인덱스 i가 참조 픽처 리스트 L0에서 지시하는 참조 픽처 RefPicList0[ i ]를 이용하는 L0 예측에 대하여 부가적인(additive) 오프셋이다. luma_offset_l0[ i ]의 값은 -128 이상 127 이하의 범위에 있다. luma_weight_l0_flag의 값이 0이면, luma_offset_l0[ i ] 은 참조 픽처 RefPicList0[ i ]에 대하여, 0으로 추정(infer)된다.
chroma_weight_l0_flag은 크로마 성분의 L0 예측에 대한 가중치 팩터들이 존재하는지를 지시한다. 예컨대, chroma_weight_l0_flag의 값이 1이면, L0의 크로마 성분(component)에 대한 가중치 팩터들이 존재한다(present)는 것을 지시한다. chroma_weight_l0_flag의 값이 0이면, L0의 크로마 성분(component)에 대한 가중치 팩터들이 존재하지 않는다는 것을 지시한다.
chroma_weight_l0[ i ][ j ]은 참조 픽처 리스트 L0에서 인덱스 i가 지시하는 참조 픽처 RefPicList0[ i ]를 이용하는 L0 예측에 대하여, 크로마 예측 값에 적용되는 가중치 팩터이다. 여기서 인덱스 j는 가중치 팩터가 Cr에 대한 것인지 Cb에 대한 것인지를 지시한다. 예컨대, j의 값이 0이면 Cb에 대한 가중치 팩터임을 나타내고, j의 값이 1이면 Cr에 대한 가중치 팩터임을 나타낸다. chroma_weight_l0_flag의 값이 1이면, chroma_weight_l0[ i ][ j ]의 값은 -128 이상 127 이하의 범위에 있다. chroma_weight_l0_flag의 값이 0이면, chroma_weight_l0[ i ][ j ]은 참조 픽처 RefPicList0[ i ]에 대하여 2chroma_log2_weight_denom 와 같다고 추정(infer)된다.
chroma_offset_l0[ i ][ j ]은 참조 픽처 리스트 L0에서 인덱스 i가 지시하는 참조 픽처 RefPicList0[ i ]를 이용하는 L0 예측에 대하여, 크로마 예측 값에 적용되는 부가적인(additive) 오프셋이다. 여기서 인덱스 j는 가중치 팩터가 Cr에 대한 것인지 Cb에 대한 것인지를 지시한다. 예컨대, j의 값이 0이면 Cb에 대한 오프셋임을 나타내고, j의 값이 1이면 Cr에 대한 오프셋임을 나타낸다. chroma_offset_l0[ i ][ j ]의 값은 -128 이상 127 이하의 범위에 있다. chroma_weight_l0_flag의 값이 0이면, chroma_offset_l0[ i ][ j ]은 참조 픽처 RefPicList0[ i ]에 대하여 0과 같다고 추정(infer)된다.
luma_weight_l1_flag, luma_weight_l1, luma_offset_l1, chroma_weight_l1_flag, chroma_weight_l1, chroma_offset_l1는 상술한 luma_weight_l0_flag, luma_weight_l0, luma_offset_l0, chroma_weight_l0_flag, chroma_weight_l0, chroma_offset_l0과 각각 동일한 의미(semantics)이되, 참조 픽처 리스트 L0을 나타내는 l0, list 0 및 List0을 참조 픽처 리스트 L1을 나타내는 l1, list 1 및 List1로 각각 대체한 것이다.
디코딩 장치는 수신한 L1에 관한 정보를 L0에 대한 정보와 조합하며, LC를 추가로 조합하고, 조합된 LC의 엔트리(entry)가 L0으로부터의 엔트리이면 L0에 관한 정보를 적용하고, 조합된 LC의 엔트리가 L1으로부터의 엔트리이면 L1에 관한 정보를 적용할 수도 있다. LC의 엔트리와 L0 및 L1의 엔트리 사이의 관계는 도 3에서 설명한 바와 같이, 미리 결정된 매핑 관계를 기반으로 판단될 수 있다.
여기서, 단순히 LC를 조합하기 위한 L0과 L1의 정보는 별도로 전송될 수도 있다. 예를 들어, LC의 조합에 필요한 정보는 상술한 표 4의 신택스를 이용하여 전송될 수도 있다.
표 7의 예에서는 L1과 L0이 상이한 경우에 LC를 이용한 가중치 예측의 수행에 필요한 정보를 전송한다. 이와 관련해서, 앞서 설명한 바와 같이, L0과 L1이 동일한 경우에, 가중치 예측 신택스로 전송되는 정보들이 L0과 L1에 대하여 동일하다면, 인코딩 장치는 가중치 예측에 대하여 L1에 관한 정보를 전송하지 않고, 디코딩 장치는 가중치 예측에 대하여 L0에 관한 정보를 L1에 관하여도 동일하게 적용할 수 있다.
반면에, L0과 L1이 동일해도 가중치 예측에 있어서 L0에 관한 정보(예컨대, L0 가중치 예측 플래그, 가중치 또는 오프셋 등)와 L1에 관한 정보(예컨대, L1 가중치 예측 플래그, 가중치 또는 오프셋 등)가 상이할 수도 있다. 이 경우에는 L0과 L1이 동일함에도 L1에 관한 정보(예컨대, L1 가중치 예측 플래그, 가중치 또는 오프셋 등)을 별도로 전송할 수도 있다.
표 8은 본 발명에 따라서 전송되는 가중치 예측 신택스의 다른 예를 개략적으로 나타낸 것이다. 표 8의 예에서는 L0과 L1이 동일하여도 가중치 예측에 있어서 L0에 관한 정보(예컨대, L0 가중치 예측 플래그, 가중치 또는 오프셋 등)와 L1에 관한 정보(예컨대, L1 가중치 예측 플래그, 가중치 또는 오프셋 등)가 상이한 경우에, L1에 관한 정보를 전송하는 경우를 설명하고 있다.
<표 8>
Figure PCTKR2012003017-appb-I000008
Figure PCTKR2012003017-appb-I000009
표 8은 슬라이스 타입이 B 슬라이스인 경우에 대해서만 예시를 하고 있으며, 슬라이스 타입이 P 슬라이스인 경우에 가중치 예측을 위한 정보도 표 8에 표시되지는 않았지만, 함께 전송될 수 있다.
표 8에서, delta_chroma_log2_weight_denom은 모든 크로마 가중치 팩터(luma weighting factor)들에 대한 디노미네이터(denominator)의 베이스 2 로그값의 차이를 나타낸다. 모든 크로마 가중치 팩터(luma weighting factor)들에 대한 디노미네이터(denominator)의 베이스 2 로그값을 나타내는 chroma_log2_weight_denom는 luma_log2_weight_denom와 delta_chroma_log2_weight_denom의 합으로 특정된다. chroma_log2_weight_denom는 0 이상 7 이하의 값을 가질 수 있다.
delta_luma_weight_l0[ i ] 는 인덱스 i가 참조 픽처 리스트 L0에서 지시하는 참조 픽처 RefPicList1[ i ]를 이용하는 L0 예측에 대하여, 루마 예측 값에 적용되는 가중치 팩터의 차이값이다.
루마 예측에 사용되는 가중치 팩처 luma_weight_l0[ i ]는 (1 << luma_log2_weight_denom ) + delta_luma_weight_l0[ i ]에 의해 특정된다. luma_log2_weight_denom은 루마 가중치 팩터들에 대한 디노미네이터(denominator)를 베이스 2의 로그값으로 나타낸 것이다.
여기서는 루마 예측 값에 적용되는 가중치 팩터의 차이값을 전송하지만, 루마 가중치 팩터 luma_weight_l0[ i ]를 전송할 수도 있다.
delta_chroma_weight_l0[ i ][ j ]는 인덱스 i가 참조 픽처 리스트 L0에서 지시하는 참조 픽처 RefPicList0[ i ]를 이용하는 L0 예측에 대하여, 크로마 예측 값에 적용되는 가중치 팩터의 차이값이다. 인덱스 j는 가중치 팩터의 차이값이 Cr에 대한 것인지 Cb에 대한 것인지를 지시한다. 예컨대, j의 값이 0이면 Cb에 대한 가중치 팩터의 차이값이라는 것을 나타내고, j의 값이 1이면 Cr에 대한 가중치 팩터의 차이값이라는 것을 나타낸다.
크로마 예측에 사용되는 가중치 팩처 chroma_weight_l0[ i ][ j ]는 (1 << Chroma_log2_weight_denom ) + delta_chroma_weight_l0[ i ][ j ]에 의해 특정된다. Chroma_log2_weight_denom은 크로마 가중치 팩터들에 대한 디노미네이터(denominator)를 베이스 2의 로그값으로 나타낸 것이다.
여기서는 크로마 예측 값에 적용되는 가중치 팩터의 차이값을 전송하고 가중치 팩터의 차이값을 기반으로 크로마 가중치 팩터를 유도하는 경우를 예로서 설명하지만, 크로마 가중치 팩터 chroma_weight_l0[ i ][ j ]를 전송하도록 할 수도 있다.
delta_chroma_offset_l0[ i ][ j ]는 인덱스 i가 참조 픽처 리스트 L0에서 지시하는 참조 픽처 RefPicList0[ i ]를 이용하는 L0 예측에 대하여, 크로마 예측 값에 적용되는 오프셋의 차이값이다. 인덱스 j는 오프셋의 차이값이 Cr에 대한 것인지 Cb에 대한 것인지를 지시한다. 예컨대, j의 값이 0이면 Cb에 대한 오프셋의 차이값이라는 것을 나타내고, j의 값이 1이면 Cr에 대한 오프셋의 차이값이라는 것을 나타낸다. 크로마 예측에 사용되는 오프셋의 값 chroma_offset_l0[ i ][ j ]은 크로마 오프셋의 차이값을 기반으로 특정될 수 있다.
여기서는 크로마 예측에 적용되는 오프셋의 차이값을 전송하고 이를 기반으로 크로마 오프셋을 유도하는 것을 예로서 설명하지만, 크로마 오프셋 chroma_offset_l0[ i ][ j ]을 전송하도록 할 수도 있다.
delta_luma_weight_l1[ i ], delta_chroma_weight_l1[ i ][ j ], delta_chroma_offset_l1[ i ][ j ]는 상술한 delta_luma_weight_l0[ i ], delta_chroma_weight_l0[ i ][ j ], delta_chroma_offset_l0[ i ][ j ]과 각각 동일한 의미(semantics)이되, 참조 픽처 리스트 L0을 나타내는 l0, list 0 및 List0을 참조 픽처 리스트 L1을 나타내는 l1, list 1 및 List1로 각각 대체한 것이다.
또한, luma_log2_weight_denom, luma_weight_l0_flag, luma_offset_l0[ i ], chroma_weight_l0_flag, chroma_offset_l0[ i ][ j ], luma_weight_l1_flag, luma_offset_l1, chroma_weight_l1_flag, chroma_weight_l1, chroma_offset_l1의 구체적인 내용은 표 7에서 설명한 바와 같다.
표 8을 참조하면, 슬라이스 타입이 B이고, LC를 조합하여 가중치 예측을 수행하는 경우가 아니면(slice_type == B && ref_pic_list_combination_flag == 0), L0에 대한 가중치 예측 정보와 L1에 대한 가중치 예측 정보가 각각 전송된다.
또한, 슬라이스 타입이 B 이고, LC를 조합하여 가중치 예측을 수행하는 경우에는, LC를 조합하여 가중치 예측을 수행하기 위해 L1에 대한 정보가 전송된다. 이 경우에 전송되는 L1에 대한 정보는 LC를 이용하여 가중치 예측을 수행할 때, LC의 엔트리(예컨대, 참조 픽처) 중에서 L1으로부터의 엔트리(예컨대, 참조 픽처)에 대해 적용될 수 있는 가중치, 오프셋 등을 포함한다.
표 8의 예에서는 LC를 이용하기 위해서 L1에 관한 정보를 전송하는 경우를 설명하였으나, 이와 달리 LC를 이용하기 위해서 LC에 관한 정보를 전송할 수도 있다.
표 9는 본 발명에 따라서 전송되는 가중치 예측 신택스의 또 다른 예를 개략적으로 나타낸 것이다. 표 9의 예에서는 L0과 L1이 동일하여도 가중치 예측에 있어서 L0에 관한 정보(예컨대, L0 가중치 예측 플래그, 가중치 또는 오프셋 등)와 L1에 관한 정보(예컨대, L1 가중치 예측 플래그, 가중치 또는 오프셋 등)를 전송하며, LC를 이용하는 경우에는 LC에 관한 정보를 전송한다.
<표 9>
Figure PCTKR2012003017-appb-I000010
Figure PCTKR2012003017-appb-I000011
표 9는 슬라이스 타입이 B 슬라이스인 경우에 대해서만 예시를 하고 있으며, 슬라이스 타입이 P 슬라이스인 경우에 가중치 예측을 위한 정보도 표 9에 표시되지는 않았지만, 함께 전송될 수 있다.
표 9에서, luma_weight_lc_flag, delta_luma_weight_lc[ i ], luma_offset_lc[ i ], chroma_weight_lc_flag, chroma_weight_lc, chroma_offset_lcluma_weight_l1_flag 상술한 luma_weight_lc_flag, delta_luma_weight_lc[ i ], luma_offset_lc[ i ], chroma_weight_lc_flag, chroma_weight_lc, chroma_offset_lcluma_weight_l1_flag과 각각 동일한 의미(semantics)이되, 참조 픽처 리스트 L0을 나타내는 l0을 참조 픽처 리스트 LC를 나타내는 lc로 각각 대체한 것이다.
또한, luma_log2_weight_denom, delta_chroma_log2_weight_denom, luma_weight_l0_flag, delta_luma_weight_l0[ i ], delta_chroma_weight_l0[ i ][ j ], delta_chroma_offset_l0[ i ][ j ], luma_offset_l0[ i ], delta_chroma_weight_l0_flag, luma_weight_l0_flag, delta_luma_weight_l0[ i ], delta_chroma_weight_l0[ i ][ j ], delta_chroma_offset_l0[ i ][ j ] luma_offset_l0[ i ], delta_chroma_weight_l0_flag, delta_chroma_offset_l0[ i ][ j ], delta_chroma_offset_l0[ i ][ j ], luma_weight_l1_flag, delta_luma_weight_l1[ i ], delta_chroma_weight_l1[ i ][ j ], delta_chroma_offset_l1[ i ][ j ], luma_offset_l1[ i ], delta_chroma_weight_l1_flag, delta_chroma_offset_l1[ i ][ j ] 등의 구체적인 내용은 표 6 및 표 7에서 설명한 바와 같다.
delta_luma_weight_l1[ i ] 는 인덱스 i가 참조 픽처 리스트 L1에서 지시하는 참조 픽처 RefPicList1[ i ]를 이용하는 L1 예측에 대하여, 루마 예측 값에 적용되는 가중치 팩터의 차이값이다.
표 9를 참조하면, 슬라이스 타입이 B이고, LC를 조합하여 가중치 예측을 수행하는 경우가 아니면(slice_type == B && ref_pic_list_combination_flag == 0), L0에 대한 가중치 예측 정보와 L1에 대한 가중치 예측 정보가 각각 전송된다.
한편, 예측 유닛 레벨에서 움직임 정보를 파싱(parsing)하는 경우에는, B 슬라이스에 대하여, 일반적인(normal) B 슬라이스인지 L0과 L1이 동일한 GPB 슬라이스인지를 구분할 필요가 있다. 예컨대, GPB 슬라이스인 경우에는 L0과 L1이 동일하므로, LC를 조합하지 않고 L0에 관한 정보만으로 예측을 수행할 수 있다.
따라서, 일반적인 B 슬라이스인지 GPB 슬라이스인지의 구분에 기반해서, LC를 이용한 움직임 정보인지 아닌지를 정확하게 판단할 수 있다.
표 10은 본 발명에 따라서 슬라이스 타입을 구분해서 LC를 이용하는 인터 예측에 관한 정보를 전송하는 예측 유닛 레벨의 신택스 구조에 관한 일 예를 개략적으로 나타낸 것이다.
<표 10>
Figure PCTKR2012003017-appb-I000012
표 10을 참조하면, LC에 관한 추가적인 정보는 예측 모드가 LC를 이용하는 Pred_LC이고, 슬라이스 타입이 GPB가 아닌 경우에 전송된다. LC를 이용하는 예측 모드가 아니거나, L0에 관한 정보를 그대로 이용할 수 있는 경우에는 LC에 관한 정보를 추가로 전송하지 않을 수 있다.
표 11은 본 발명에 따라서 슬라이스 타입을 구분하여 LC를 이용하는 인터 예측에 관한 정보를 전송할 때, 예측 유닛 레벨에서 전송되는 LC에 관한 신택스의 일 예를 개략적으로 나타낸 것이다.
<표 11>
Figure PCTKR2012003017-appb-I000013
표 11을 참조하면, LC에 관한 추가적인 신택스 요소(syntax elements)는 예측 모드가 LC를 이용하는 Pred_LC이고, 슬라이스 타입이 GPB가 아닌 경우에 전송된다. LC를 이용하는 예측 모드가 아니거나, L0에 관한 정보를 그대로 이용할 수 있는 경우에는 LC에 관한 정보를 추가로 전송하지 않을 수 있다.
num_ref_idx_lc_active_minus1 +1은 LC를 구성하는 유효한 참조 픽처의 개수를 특정한다. 또한, NumMVPCand(LcToLx)는 LC를 이용하는 경우에 대한 움직임 벡터 예측자의 개수를 특정한다.
L0과 L1으로부터 선택되어 LC를 구성하는 참조 픽처가 1인 경우에는, 굳이 LC를 구성하지 않고 L0 또는 L1을 그대로 이용할 수 있다. 따라서, 표 9에서 LC에 관한 정보들은 LC를 구성하는 참조 픽처들의 개수가 2 이상인 경우에 전송된다.
ref_idx_lc[ x0 ][ y0 ]는 현재 예측 유닛에 대한 LC 참조 픽처 인덱스를 특정한다 어레이 인덱스 x0과 y0는 픽처의 좌상 루마 샘플에 대한 (relative to the top-left luma sample of the picture) 대상 예측 블록의 좌상 루마 샘플의 위치 ( x0, y0 )를 특정한다.
mvd_lc[ x0 ][ y0 ][ compIdx ]는 이용되는 LC 벡터 성분과 그 예측(prediction) 사이의 차를 특정한다. 어레이 인덱스 x0과 y0는 픽처의 좌상 루마 샘플에 대한 (relative to the top-left luma sample of the picture) 대상 예측 블록의 좌상 루마 샘플의 위치 ( x0, y0 )를 특정한다. 수평 움직임 벡터 성분 차이(the horizontal motion vector component difference)에는 compIdx = 0가 할당되며, 수직 움직임 벡터 성분 차이에는 compIdx = 1이 할당된다.
두 성분의 어느 것이든 존재하지 않는(not present) 경우에, 추정되는 값은 0과 같다.
mvp_idx_lc[ x0 ][ y0]은 LC 움직임 벡터 예측자를 특정한다. 어레이 인덱스 x0과 y0는 픽처의 좌상 루마 샘플에 대한 (relative to the top-left luma sample of the picture) 대상 예측 블록의 좌상 루마 샘플의 위치 ( x0, y0 )를 특정한다.
표 12는 본 발명에 따라서 예측 유닛 레벨에서 정보를 시그널링하는데 이용되는 신택스 구조의 일 예로서, 전체 예측 유닛 신택스를 개략적으로 나타낸 것이다.
<표 12>
Figure PCTKR2012003017-appb-I000014
표 12를 참조하면, 인터 예측 모드가 LC를 이용하는 예측 모드(inter_pred_flag[ x0 ][ y0 ] == Pred_LC)이고, 추가적으로 LC가 구성되는 경우 (ref_pic_list_combination_flag !=0)에 LC에 관한 정보를 전송한다. L0과 L1이 동일한 경우(ref_pic_list_combination_flag = 0)에는 LC에 대한 정보를 별도로 전송하지 않고 L0을 LC로서 이용할 수 있다.
표 12의 예에 따른 신택스에서, mvp_idx_l0[ x0 ][ y0 ]는 L0의 움직임 벡터 예측자인덱스(the motion vector predictor index)를 지시한다. 여기서, x0과 y0는 픽처의 좌상(top-left) 루마 샘플에 대한 대상 예측 블록(considered prediction block)의 좌상(top-left) 루마 샘플의 위치 ( x0, y0 )를 특정한다. mvp_idx_l0[ x0 ][ y0 ] 가 존재하지 않는 경우에, mvp_idx_l0[ x0 ][ y0 ]은 0과 같은 값인 것으로 추정(infer)된다.
mvp_idx_l1[ x0 ][ y0 ]는 mvp_idx_l0과 동일한 의미(semantics)를 가지되, 참조 픽처 리스트 L0을 나타내는 l0 및 list 0가 참조 픽처 리스트 L1을 나타내는 l1 및 list 1로 각각 대치된다.
mvp_idx_lc[ x0 ][ y0 ]는 mvp_idx_l0과 동일한 의미(semantics)를 가지되, 참조 픽처 리스트 L0을 나타내는 l0 및 list 0가 참조 픽처 리스트 조합 LC을 나타내는 lc 및 list combination으로 각각 대치된다.
prev_intra_luma_pred_flag[ x0 ][ y0 ], mpm_idx[ x0 ][ y0 ]rem_intra_luma_pred_mode[ x0 ][ y0 ]는 루마 샘플들에 대한 인트라 예측 모드를 특정한다. 어레이 인덱스 x0과 y0는 픽처의 좌상 루마 샘플에 대한 (relative to the top-left luma sample of the picture) 대상 예측 블록의 좌상 루마 샘플의 위치 ( x0, y0 )를 특정한다.
prev_intra_luma_pred_flag[ x0 ][ y0 ]의 값이 1이면, 인트라 예측 모드는 주변의 인트라 예측된 예측 유닛으로부터 추정된다. 인트라 예측에 있어서, 현재 블록에 적용되는 예측 모드를 지시하는 값이 그대로 전송될 수도 있으나, 소정의 인트라 예측 모드를 특정하고, 현재 블록에 적용되는 예측 모드가 특정된 인트라 예측 모드에 해당하는지에 관한 정보와, 특정된 인트라 예측 모드에 해당하지 않는 경우에는 어떤 인트라 예측 모드가 적용되는지를 전송하도록 할 수도 있다. 이때, mpm_idx[ x0 ][ y0 ]은 특정된 인트라 예측 모드(즉, Most Probable Mode)를 지시한다. mpm_idx[ x0 ][ y0 ]이 존재하지 않으면, mpm_idx[ x0 ][ y0 ]은 0의 값으로 추정된다.
rem_intra_luma_pred_mode[ x0 ][ y0 ]는 적용되는 인트라 예측 모드가 상기 특정된 인트라 예측 모드가 아닐 경우에, 남아있는(remaining) 예측 모드들 중에서 어떤 예측 모드가 적용되는지를 지시한다. 변수 IntraLumaModeBins는 rem_intra_luma_pred_mode[ x0 ][ y0 ]를 지시하는 빈(bin)들의 개수를 특정하는데, IntraLumaModeBins의 값은 예측 유닛의 사이즈에 의존하며, 이용 가능한 예측 모드의 개수를 제한한다.
표 13은 예측 유닛 사이즈(PuSize)와 관련하여 rem_intra_luma_pred_mode의 모드 개수와 빈의 개수(IntraLumaModeBins)를 결정하는 예를 개략적으로 나타낸 표이다.
<표 13>
Figure PCTKR2012003017-appb-I000015
intra_chroma_pred_mode[ x0 ][ y0 ]은 크로마 샘플에 대한 인트라 예측 모드를 특정한다. 어레이(array) 인덱스 x0과 y0는 픽처의 좌상 루마 샘플에 대한 대상 예측 블록의 좌상 루마 샘플의 위치 ( x0, y0 )를 특정한다.
merge_flag[ x0 ][ y0 ]는 현재 예측 유닛에 대한 인터 예측 파라미터들이 주변의 인터 예측된 파티션들로부터 추정(infer)되는지를 특정한다. 어레이 인덱스 x0과 y0는 픽처의 좌상 루마 샘플에 대한 (relative to the top-left luma sample of the picture) 대상 예측 블록의 좌상 루마 샘플의 위치 ( x0, y0 )를 특정한다. merge_flag[ x0 ][ y0 ]가 존재하지 않는(not present) 경우에는, 예컨대, InferredMergeFlag 등의 정보가 1인 경우에, merge_flag[ x0 ][ y0 ]는 1과 같다고 추정(infer)된다.
merge_idx[ x0 ][ y0 ]는 머지 후보 리스트에서 머지 후보를 특정한다. 어레이 인덱스 x0과 y0는 픽처의 좌상 루마 샘플에 대한 (relative to the top-left luma sample of the picture) 대상 예측 블록의 좌상 루마 샘플의 위치 ( x0, y0 )를 특정한다. merge_idx[ x0 ][ y0 ]가 존재하지 않는(not present) 경우, merge_idx[ x0 ][ y0 ]는 0과 같다고 추정(infer)된다.
inter_pred_flag[ x0 ][ y0 ]는 현재 예측 유닛에 대하여 단예측(uni-prediction)이 이용되는지 쌍예측(bi-prediction)이 이용되는지를 특정하며, 어레이 인덱스 x0과 y0는 픽처의 좌상 루마 샘플에 대한 (relative to the top-left luma sample of the picture) 대상 예측 블록의 좌상 루마 샘플의 위치 ( x0, y0 )를 특정한다.
표 14는 현재 블록에 적용되는 인터 예측 모드를 결정하는 방법의 일 예를 나타낸 것이다.
<표 14>
inter_pred_flag[ x0 ][ y0 ]가 없는 경우에, inter_pred_flag[ x0 ][ y0 ]의 값은 슬라이스 타입이 P 이면 Pred_L0로 추정(infer)되고, 슬라이스 타입이 B이면 Pred_BI로 추정된다.
ref_idx_l0[ x0 ][ y0 ]는 현재 예측 유닛에 대한 L0 참조 픽처 인덱스(list 0 reference picture index)를 특정한다 어레이 인덱스 x0과 y0는 픽처의 좌상 루마 샘플에 대한 (relative to the top-left luma sample of the picture) 대상 예측 블록의 좌상 루마 샘플의 위치 ( x0, y0 )를 특정한다.
ref_idx_l1[ x0 ][ y0 ]는 ref_idx_l0과 동일한 의미(semantics)를 가지되, 참조 픽처 L0을 타나내는 l0 및 list 0은 참조 픽처 리스트 L1을 나타내는 l1 및 list 1로 대치된다.
ref_idx_lc[ x0 ][ y0 ]는 ref_idx_l0과 동일한 의미(semantics)를 가지되, 참조 픽처 L0을 타나내는 l0 및 list 0은 참조 픽처 리스트 조합 LC를 나타내는 lc 및 list combination으로 대치된다.
mvd_l0[ x0 ][ y0 ][ compIdx ]는 이용되는 L0 벡터 성분(list 0 vector component to be used)과 그 예측(prediction) 사이의 차를 특정한다. 어레이 인덱스 x0과 y0는 픽처의 좌상 루마 샘플에 대한 (relative to the top-left luma sample of the picture) 대상 예측 블록의 좌상 루마 샘플의 위치 ( x0, y0 )를 특정한다. 수평 움직임 벡터 성분 차이(the horizontal motion vector component difference)에는 compIdx = 0가 할당되며, 수직 움직임 벡터 성분 차이에는 compIdx = 1이 할당된다.
두 성분의 어느 것이든 존재하지 않는(not present) 경우에, 추정되는 값은 0과 같다.
mvd_l1[ x0 ][ y0 ][ compIdx ]는 mvd_l0과 같은 의미 semantics)를 가지되, 참조 픽처 L0을 타나내는 l0 및 list 0은 참조 픽처 리스트 L1을 나타내는 l1 및 list 1로 대치된다.
mvd_lc[ x0 ][ y0 ][ compIdx ]는 mvd_l0과 동일한 의미(semantics)를 가지되, 참조 픽처 L0을 타나내는 l0 및 list 0은 참조 픽처 리스트 조합 LC를 나타내는 lc 및 list combination으로 대치된다.
도 5는 본 발명에 따라서 인코딩 장치가 예측을 수행하고 정보를 시그널링하는 방법을 개략적으로 설명하는 순서도이다.
도 5를 참조하면, 인코딩 장치는 현재 블록에 대한 예측을 수행한다(S510). 인코딩 장치는 현재 블록에 적용할 예측 방법을 결정한다. 예컨대, 인코딩 장치는 현재 블록에 인터 예측을 적용할 것인지 인트라 예측을 적용할 것인지를 결정한다. 인트라 예측을 적용하는 경우에는 인트라 예측 모드를 결정한다. 인터 예측을 적용하는 경우에는 머지 모드에 기반한 인터 예측, 스킵 모드에 기반한 인터 예측 또는 MVP에 기반한 인터 예측 중 어느 방법을 적용할 것인지를 결정한다.
인코딩 장치는 어떤 예측 방법을 적용할 것인지를 결정하기 위해 각 예측 방법에 따른 RD(Ratio of Distortion) 비용 등의 비교할 수 있다. 인코딩 장치는 결정된 예측 방법을 이용하여 현재 블록에 대한 예측을 수행한다.
예측은 각 픽처에서 정해진 순서에 따라서 블록별로 진행될 수 있다.
인코딩 장치는 예측 결과를 포함하는 영상 정보를 변환 및 엔트로피 코딩한다(S520). 인코딩 장치는 영상 정보를 소정의 변환 단위별로 DST(Discrete Sine Transform) 또는 DCT(Discrete Cosine Transform) 변환할 수 있다. 어떤 변환 방법을 적용할 것인지는 블록의 사이즈 등을 기반으로 결정될 수 있다.
인코딩 장치는 도 1에서 설명한 바와 같이 변환된 영상 정보를 엔트로피 코딩하기 전에 양자화 및 재정렬을 수행할 수 있다.
인코딩 장치는 영자화된 변환 정보를 엔트로피 코딩하기 위해 상술한 CABAC 등의 방법을 이용할 수 있다.
인코딩 장치는 엔트로피 코딩된 정보를 전송한다(S530). 인코딩 장치로부터 시그널링되는 정보는 소정의 신택스에 따라서 구성될 수 있다. 예컨대, 인터 예측에 대한 정보의 경우에, 인코딩 장치는 상술한 바와 같이, 슬라이스 타입이 B 슬라이스이고 GPB인지 혹은 슬라이스 타입이 B 슬라이스이고 LC를 추가로 조합하는지 등에 따라서 예측 정보를 전송하도록 할 수 있다.
예컨대, 상기 예측 단계에서 명시적 가중치 예측을 수행하는 경우에는, 최적의 성능이 나오도록 인코딩 장치에서 현재 픽처와 참조 픽처 사이의 가중치(weight) 값과 오프셋(offset) 값을 구한 후 가중치와 오프셋에 관한 정보를 디코딩 장치로 전송한다.
이때, 가중치와 오프셋 등에 관한 정보를 명시적으로 전송하기 위해 상술한 표들에서 설명한 바와 같은 신택스가 이용될 수 있다. 가중치 예측 정보는 가중치 값에 대한 정보와 오프셋 값에 대한 정보를 포함한다. 또한, 가중치 예측 정보는 루마 성분에 대한 가중치 예측 정보와 크로마 성분에 대한 가중치 예측 정보를 포함할 수 있다.
도 6은 본 발명에 따라서 디코딩 장치가 예측을 수행하고 픽처를 복원하는 방법을 개략적으로 설명하는 순서도이다.
도 6을 참조하면, 디코딩 장치는 인코딩 장치로부터 비트스트림으로 수신한 영상 정보를 엔트로피 디코딩 및 역변환 한다(S610). 디코딩 장치에서 수행되는 엔트로피 디코딩 방법 및 역변환 방법은, 인코딩 장치에서 수행된 변환 방법 및 엔트로피 코딩 방법에 대응한다. 예컨대, 인코딩 장치에서 변환 방법으로 DCT가 이용된 경우에는 디코딩 장치에서 IDCT(Inverse Discrete Cosine Transform) 방법으로 역변환하며, 인코딩 장치에서 DST로 변환한 경우에는 디코딩 장치에서 IDST(Inverse Discrete Sine Transform) 방법으로 역변환할 수 있다. 인코딩 장치에서 엔트로피 코딩 방법으로 CABAC를 이용하였다면, 디코딩 장치에서도 CABAC에 기반한 엔트로피 디코딩이 수행될 수 있다.
디코딩 장치는 도 2에서 설명한 바와 같이, 엔트로피 디코딩된 정보를 역변환하기 전에 재정렬 및 역양자화를 수행할 수 있다.
디코딩 장치는 역변환된 영상 정보를 기반으로 예측을 수행한다(S620). 예측은 각 픽처에 대하여 소정의 순서에 따라서 블록별로 진행될 수 있다. 인코딩 장치로부터 수신한 영상 정보는 예측에 필요한 정보를 포함한다.
디코딩 장치는 수신한 정보를 기반으로 인트라 예측 또는 인터 예측을 수행할 수 있다. 예컨대, 인트라 예측을 적용할 것인지 인터 예측을 적용할 것인지를 지시하는 정보가 인코딩 장치로부터 전송되는 경우에, 디코딩 장치는 해당 정보에 따라서 인트라 예측 또는 인터 예측을 수행할 수 있다.
또한, 인트라 예측을 적용할 것인지 인터 예측을 적용할 것인지를 지시하는 정보가 인코딩 장치로부터 전송되지 않는 경우에, 디코딩 장치는 슬라이스 타입에 기반해서 인트라 예측을 수행할 것인지 인터 예측을 수행할 것인지를 추정할 수도 있다. 예컨대, 디코딩 장치는 슬라이스 타입이 I 슬라이스인 경우에는 인트라 예측을 수행하는 것으로 추정할 수 있다.
한편, 인터 예측이 적용되는 경우에, 디코딩 장치는 도 4에서 설명한 바와 같이 인터 예측을 수행할 수 있다. 이때, 인코딩 장치로부터 수신하는 정보는 예측 방법과 예측 대상 슬라이스의 타입 그리고 참조 픽처 리스트 사이의 동일성 여부 등에 따라 다를 수 있다. 예컨대, 상술한 바와 같이, B 슬라이스에 대하여 가중치 예측을 적용하는 경우에, L0과 L1이 상이하면 L1 예측에 관한 정보 시그널링하여 LC를 추가로 조합할 수 있다. 또한, L0과 L1이 상이하면, LC에 관한 정보를 시그널링할 수도 있다.
이때, L1에 관한 정보 또는 LC에 관한 정보는 LC를 구성하기 위한 정보뿐만 아니라, 상술한 바와 같이, 가중치 예측을 수행하기 위해 필요한 정보를 포함한다.
디코딩 장치는 수신한 L1에 대한 가중치 예측 정보와 L0에 대한 가중치 예측 정보를 기반으로 가중치 예측을 수행할 수 있다.
가중치 예측의 방법으로서는 앞서 설명한 바와 같이, 명시적인 방법과 묵시적인 방법 그리고 디폴트 방법이 있다. 명시적으로 가중치를 적용하는 방법의 경우에는, 최적의 성능이 나오도록 인코딩 장치에서 현재 픽처와 참조 픽처 사이의 가중치(weight) 값과 오프셋(offset) 값을 구한 후 가중치와 오프셋에 관한 정보를 디코딩 장치로 전송한다. 디코딩 장치에서는 인코딩 장치로부터 전송된 가중치와 오프셋을 이용하여 가중치 예측을 수행한다.
묵시적으로 가중치를 적용하는 방법의 경우에는, 현재 픽처와 참조 픽처 사이의 거리에 비례하도록 가중치를 유도해서 적용한다.
상술한 바와 같이, P 슬라이스에 대해서 가중치를 명시적으로 적용하지 않는 경우에는, 소정의 디폴트(default) 가중치를 적용할 수도 있다. 또한, B 슬라이스에 대해서 가중치가 명시적 또는 묵시적으로 적용되지 않는 경우에는 소정의 디폴트 가중치를 적용할 수도 있다
가중치 예측에서 명시적인 방법으로 가중치를 적용하는 경우에, 가중치와 오프셋을 명시적으로 전송하기 위해 상술한 표들에서 설명한 바와 같은 신택스가 이용될 수 있다. 본 명세서에서 가중치 예측 정보는 앞서 설명한 바와 같이 가중치 값에 대한 정보와 오프셋 값에 대한 정보를 포함한다. 또한, 가중치 예측 정보는 루마 성분에 대한 가중치 예측 정보와 크로마 성분에 대한 가중치 예측 정보를 포함할 수 있다.
디코딩 장치는 예측 결과를 기반으로 현재 픽처를 복원한다(S630). 예컨대, 상술한 바와 같이, 인터 예측이 수행된 경우에, 디코딩 장치는 예측에 의해 생성한 예측 블록과 잔차 신호를 더하여 현재 블록을 복원할 수 있다. 스킵 모드가 적용되는 경우에는 잔차 신호가 전송되지 않으므로, 예측 블록을 복원 블록으로 할 수 있다.
디코딩 장치는 현재 픽처를 복원하기 위해, 복원된 블록들에 소정의 필터를 적용할 수 있다.
상술한 예시적인 시스템에서, 방법들은 일련의 단계 또는 블록으로써 순서도를 기초로 설명되고 있지만, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 상술한 실시예들은 다양한 양태의 예시들을 포함한다. 예컨대, 상술한 실시형태들을 서로 조합하여 실시할 수도 있으며, 이 역시 본 발명에 따른 실시형태에 속한다. 본 발명은 이하의 특허청구범위 내에 속하는 본 발명의 기술적 사상에 따른 다양한 수정 및 변경을 포함한다.

Claims (16)

  1. 인터 예측을 수행하는 단계; 및
    상기 인터 예측 결과를 포함하는 영상 정보를 전송하는 단계를 포함하며,
    상기 인터 예측이 B 슬라이스에 대하여 수행된 경우에,
    상기 영상 정보는 참조 픽처 리스트 0과 참조 픽처 리스트 1의 동일성 여부를 기반으로 전송되는 것을 특징으로 하는 인코딩 방법.
  2. 제1항에 있어서, 상기 인터 예측을 수행하는 단계에서는 가중치 예측이 수행되며,
    상기 영상 정보는 가중치 예측을 위한 정보를 포함하는 것을 특징으로 하는 인코딩 방법.
  3. 제2항에 있어서, 상기 참조 픽처 리스트 0과 상기 참조 픽처 리스트 1이 동일하지 않은 경우에,
    상기 가중치 예측은 참조 픽처 리스트 조합을 기반으로 수행되며,
    상기 영상 정보는,
    상기 참조 픽처 리스트 0과 상기 참조 픽처 리스트 1로부터 조합되는 참조 픽처 리스트 조합을 이용하는 가중치 예측의 정보를 포함하는 것을 특징으로 하는 인코딩 방법.
  4. 제1항에 있어서, 상기 인터 예측을 수행하는 단계에서는 가중치 예측이 수행되며,
    상기 참조 픽처 리스트 0과 상기 참조 픽처 리스트 1이 동일하지 않은 경우에,
    상기 가중치 예측은 상기 참조 픽처 리스트 0과 상기 참조 픽처 리스트 1으로부터 조합된 참조 픽처 리스트 조합에 기반하여 수행되고,
    상기 영상 정보는 상기 참조 픽처 리스트 0과 상기 참조 픽처 리스트 1을 기반으로 하는 가중치 예측 정보를 포함하는 것을 특징으로 하는 인코딩 방법.
  5. 제4항에 있어서, 상기 가중치 예측 정보는,
    상기 참조 픽처 리스트를 구성하는 엔트리 중 상기 참조 픽처 리스트 0으로부터의 엔트리에 적용할 가중치 예측 정보 및 상기 참조 픽처 리스트 1로부터의 엔트리에 적용할 가중치 예측 정보를 포함하는 것을 특징으로 하는 인코딩 방법.
  6. 인코딩 장치로부터 영상 정보를 수신하는 단계;
    상기 수신한 영상 정보를 기반으로 인터 예측을 수행하는 단계; 및
    상기 인터 예측 결과를 기반으로 픽처를 복원하는 단계를 포함하며,
    상기 인터 예측의 대상이 B 슬라이스인 경우에,
    상기 수신한 영상 정보는 참조 픽처 리스트 0과 참조 픽처 리스트 1의 동일성 여부에 따라서 상이한 것을 특징으로 하는 디코딩 방법.
  7. 제6항에 있어서, 상기 인터 예측을 수행하는 단계에서는 가중치 예측이 수행되며,
    상기 영상 정보는 가중치 예측을 위한 정보를 포함하는 것을 특징으로 하는 디코딩 방법.
  8. 제7항에 있어서, 상기 참조 픽처 리스트 0과 상기 참조 픽처 리스트 1이 동일하지 않은 경우에,
    상기 가중치 예측은 참조 픽처 리스트 조합을 기반으로 수행되며,
    상기 영상 정보는,
    상기 참조 픽처 리스트 0과 상기 참조 픽처 리스트 1로부터 조합되는 참조 픽처 리스트 조합을 이용하는 가중치 예측의 정보를 포함하는 것을 특징으로 하는 디코딩 방법.
  9. 제6항에 있어서, 상기 인터 예측을 수행하는 단계에서는 가중치 예측이 수행되며,
    상기 참조 픽처 리스트 0과 상기 참조 픽처 리스트 1이 동일하지 않은 경우에,
    상기 가중치 예측은 상기 참조 픽처 리스트 0과 상기 참조 픽처 리스트 1으로부터 조합된 참조 픽처 리스트 조합에 기반하여 수행되고,
    상기 영상 정보는 상기 참조 픽처 리스트 0과 상기 참조 픽처 리스트 1을 기반으로 하는 가중치 예측 정보를 포함하는 것을 특징으로 하는 디코딩 방법.
  10. 제9항에 있어서, 상기 가중치 예측 정보는,
    상기 참조 픽처 리스트를 구성하는 엔트리 중 상기 참조 픽처 리스트 0으로부터의 엔트리에 적용할 가중치 예측 정보 및 상기 참조 픽처 리스트 1로부터의 엔트리에 적용할 가중치 예측 정보를 포함하는 것을 특징으로 하는 디코딩 방법.
  11. 움직임 정보를 유도하는 단계;
    상기 움직임 정보를 기반으로 예측 블록을 생성하는 단계; 및
    상기 생성된 예측 블록을 기반으로 현재 블록을 복원하는 단계를 포함하며,
    상기 예측 블록 생성 단계에서는,
    인코딩 장치로부터 수신한 영상 정보를 기반으로 가중치 예측을 수행하고,
    상기 영상 정보는 참조 픽처 리스트 0과 참조 픽처 리스트 1의 동일성 여부에 따라서 상이한 것을 특징으로 하는 인터 예측 방법.
  12. 제11항에 있어서, 상기 참조 픽처 리스트 0과 상기 참조 픽처 리스트 1이 동일하지 않은 경우에,
    상기 가중치 예측은 참조 픽처 리스트 조합을 기반으로 수행되며,
    상기 영상 정보는,
    상기 참조 픽처 리스트 0과 상기 참조 픽처 리스트 1로부터 조합되는 참조 픽처 리스트 조합을 이용하는 가중치 예측의 정보를 포함하는 것을 특징으로 하는 인터 예측 방법.
  13. 제11항에 있어서, 상기 참조 픽처 리스트 0과 상기 참조 픽처 리스트 1이 동일하지 않은 경우에,
    상기 가중치 예측은 상기 참조 픽처 리스트 0과 상기 참조 픽처 리스트 1으로부터 조합된 참조 픽처 리스트 조합에 기반하여 수행되며,
    상기 영상 정보는 상기 참조 픽처 리스트 0과 상기 참조 픽처 리스트 1을 기반으로 하는 가중치 예측 정보를 포함하는 것을 특징으로 하는 인터 예측 방법.
  14. 제13항에 있어서, 상기 가중치 예측 정보는,
    상기 참조 픽처 리스트를 구성하는 엔트리 중 상기 참조 픽처 리스트 0으로부터의 엔트리에 적용할 가중치 예측 정보 및 상기 참조 픽처 리스트 1로부터의 엔트리에 적용할 가중치 예측 정보를 포함하는 것을 특징으로 하는 인터 예측 방법.
  15. 인터 예측을 수행하는 예측부; 및
    상기 인터 예측 결과를 포함하는 영상 정보를 엔트로피 코딩하여 비트 스트림으로 전송하는 엔트로피 코딩부를 포함하며,
    상기 예측부는 가중치 예측을 적용하여 인터 예측을 수행하고,
    상기 영상 정보는 가중치 예측을 위한 정보를 포함하며,
    상기 인터 예측이 B 슬라이스에 대하여 수행된 경우에,
    상기 영상 정보는 참조 픽처 리스트 0과 참조 픽처 리스트 1의 동일성 여부를 기반으로 전송되는 것을 특징으로 하는 인코딩 장치.
  16. 인코딩 장치로부터 수신한 비트스트림으로 전송된 영상 정보를 엔트로피 디코딩하는 엔트로피 디코딩부; 및
    상기 엔트로피 디코딩된 영상 정보를 기반으로 인터 예측을 수행하는 예측부를 포함하며,
    상기 예측부는 가중치 예측을 적용하여 인터 예측을 수행하고,
    상기 영상 정보는 가중치 예측을 위한 정보를 포함하며,
    상기 인터 예측이 B 슬라이스에 대하여 수행된 경우에,
    상기 영상 정보는 참조 픽처 리스트 0과 참조 픽처 리스트 1의 동일성 여부를 기반으로 전송되는 것을 특징으로 하는 디코딩 장치.
PCT/KR2012/003017 2011-04-24 2012-04-19 인터 예측 방법과 이를 이용한 인코딩 방법, 디코딩 방법 및 장치 WO2012148128A2 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161478542P 2011-04-24 2011-04-24
US61/478,542 2011-04-24

Publications (2)

Publication Number Publication Date
WO2012148128A2 true WO2012148128A2 (ko) 2012-11-01
WO2012148128A3 WO2012148128A3 (ko) 2012-12-20

Family

ID=47072873

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2012/003017 WO2012148128A2 (ko) 2011-04-24 2012-04-19 인터 예측 방법과 이를 이용한 인코딩 방법, 디코딩 방법 및 장치

Country Status (1)

Country Link
WO (1) WO2012148128A2 (ko)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015057032A1 (ko) * 2013-10-18 2015-04-23 엘지전자 주식회사 멀티 뷰를 포함하는 비디오 부호화/복호화 방법 및 장치
CN109196864A (zh) * 2016-05-24 2019-01-11 韩国电子通信研究院 图像编码/解码方法和用于所述方法的记录介质
CN109417629A (zh) * 2016-07-12 2019-03-01 韩国电子通信研究院 图像编码/解码方法以及用于该方法的记录介质
WO2019066202A1 (ko) * 2017-09-26 2019-04-04 엘지전자(주) 영상 처리 방법 및 이를 위한 장치
CN109982076A (zh) * 2012-12-14 2019-07-05 Lg 电子株式会社 编码视频的方法、解码视频的方法以及使用其的装置
CN111147845A (zh) * 2014-11-27 2020-05-12 株式会社Kt 对视频信号进行解码的方法和对视频信号进行编码的方法
WO2021091253A1 (ko) * 2019-11-05 2021-05-14 엘지전자 주식회사 슬라이스 타입 기반 영상/비디오 코딩 방법 및 장치
CN114401402A (zh) * 2016-07-05 2022-04-26 株式会社Kt 用于处理视频信号的方法和装置
CN115134593A (zh) * 2015-06-05 2022-09-30 杜比实验室特许公司 用于执行帧间预测的图像编解码方法、比特流存储方法
CN115428448A (zh) * 2020-02-25 2022-12-02 Lg电子株式会社 基于帧间预测的图像编码/解码方法和设备及存储比特流的记录介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100019088A (ko) * 2008-08-08 2010-02-18 에스케이 텔레콤주식회사 인터 예측 장치 및 그를 이용한 영상 부호화/복호화 장치와방법
KR20100042542A (ko) * 2008-10-16 2010-04-26 에스케이 텔레콤주식회사 참조 프레임 생성 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR20110033511A (ko) * 2009-09-25 2011-03-31 에스케이 텔레콤주식회사 인접 화소를 이용한 인터 예측 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100019088A (ko) * 2008-08-08 2010-02-18 에스케이 텔레콤주식회사 인터 예측 장치 및 그를 이용한 영상 부호화/복호화 장치와방법
KR20100042542A (ko) * 2008-10-16 2010-04-26 에스케이 텔레콤주식회사 참조 프레임 생성 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR20110033511A (ko) * 2009-09-25 2011-03-31 에스케이 텔레콤주식회사 인접 화소를 이용한 인터 예측 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109982076B (zh) * 2012-12-14 2022-12-13 Lg 电子株式会社 编码视频的方法、解码视频的方法以及使用其的装置
CN109982076A (zh) * 2012-12-14 2019-07-05 Lg 电子株式会社 编码视频的方法、解码视频的方法以及使用其的装置
CN109982078A (zh) * 2012-12-14 2019-07-05 Lg 电子株式会社 编码视频的方法、解码视频的方法以及使用其的装置
CN109982078B (zh) * 2012-12-14 2023-03-28 Lg 电子株式会社 编码视频的方法、解码视频的方法以及使用其的装置
WO2015057032A1 (ko) * 2013-10-18 2015-04-23 엘지전자 주식회사 멀티 뷰를 포함하는 비디오 부호화/복호화 방법 및 장치
CN111147845B (zh) * 2014-11-27 2023-10-10 株式会社Kt 对视频信号进行解码的方法和对视频信号进行编码的方法
CN111147845A (zh) * 2014-11-27 2020-05-12 株式会社Kt 对视频信号进行解码的方法和对视频信号进行编码的方法
CN115134593A (zh) * 2015-06-05 2022-09-30 杜比实验室特许公司 用于执行帧间预测的图像编解码方法、比特流存储方法
CN115134596A (zh) * 2015-06-05 2022-09-30 杜比实验室特许公司 用于执行帧间预测的图像编解码方法、比特流存储方法
CN115134594A (zh) * 2015-06-05 2022-09-30 杜比实验室特许公司 用于执行帧间预测的图像编解码方法、比特流存储方法
CN109196864A (zh) * 2016-05-24 2019-01-11 韩国电子通信研究院 图像编码/解码方法和用于所述方法的记录介质
CN109196864B (zh) * 2016-05-24 2023-07-11 韩国电子通信研究院 图像编码/解码方法和用于所述方法的记录介质
CN114401402A (zh) * 2016-07-05 2022-04-26 株式会社Kt 用于处理视频信号的方法和装置
CN109417629B (zh) * 2016-07-12 2023-07-14 韩国电子通信研究院 图像编码/解码方法以及用于该方法的记录介质
CN109417629A (zh) * 2016-07-12 2019-03-01 韩国电子通信研究院 图像编码/解码方法以及用于该方法的记录介质
WO2019066202A1 (ko) * 2017-09-26 2019-04-04 엘지전자(주) 영상 처리 방법 및 이를 위한 장치
WO2021091253A1 (ko) * 2019-11-05 2021-05-14 엘지전자 주식회사 슬라이스 타입 기반 영상/비디오 코딩 방법 및 장치
US11825096B2 (en) 2019-11-05 2023-11-21 Lg Electronics Inc. Slice type-based image/video coding method and apparatus
CN115428448A (zh) * 2020-02-25 2022-12-02 Lg电子株式会社 基于帧间预测的图像编码/解码方法和设备及存储比特流的记录介质

Also Published As

Publication number Publication date
WO2012148128A3 (ko) 2012-12-20

Similar Documents

Publication Publication Date Title
US10158878B2 (en) Method for storing motion information and method for inducing temporal motion vector predictor using same
EP3355578B1 (en) Motion vector predictor derivation and candidate list construction
US10015523B2 (en) Entropy decoding method, and decoding apparatus using same
WO2012148128A2 (ko) 인터 예측 방법과 이를 이용한 인코딩 방법, 디코딩 방법 및 장치
KR102028522B1 (ko) 영상 정보 부호화 방법 및 복호화 방법과 이를 이용한 장치
US20190200021A1 (en) Illumination compensation-based inter-prediction method and apparatus in image coding system
US20200053364A1 (en) Video decoding method and device in video coding system
KR20160106018A (ko) 동영상 복호화 장치
US11234003B2 (en) Method and apparatus for intra-prediction in image coding system
KR20190049919A (ko) 영상 부호화 장치
US11800114B2 (en) Inter-prediction method and apparatus in image coding system
US20190104312A1 (en) Method and device for deriving block structure in video coding system
WO2014120721A1 (en) Inter-layer syntax prediction control
US10924730B2 (en) Image decoding method and device in image coding system
CA3061701A1 (en) Image decoding method and device in accordance with block split structure in image coding system
KR102025413B1 (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: 12775987

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase in:

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12775987

Country of ref document: EP

Kind code of ref document: A2