WO2012033327A2 - Image-decoding method and apparatus including a method for configuring a reference picture list - Google Patents
Image-decoding method and apparatus including a method for configuring a reference picture list Download PDFInfo
- Publication number
- WO2012033327A2 WO2012033327A2 PCT/KR2011/006587 KR2011006587W WO2012033327A2 WO 2012033327 A2 WO2012033327 A2 WO 2012033327A2 KR 2011006587 W KR2011006587 W KR 2011006587W WO 2012033327 A2 WO2012033327 A2 WO 2012033327A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- reference picture
- list
- slice
- information
- index
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Definitions
- the present invention relates to image processing, and more particularly, to a decoding method and apparatus including a method of constructing a reference picture list.
- the demand for high resolution and high quality images such as high definition (HD) images and ultra high definition (UHD) images is increasing in various fields.
- the higher the resolution and the higher quality of the image data the more information or bit rate is transmitted than the existing image data. Therefore, the image data can be transmitted by using a medium such as a conventional wired / wireless broadband line or by using a conventional storage medium.
- the transmission cost and the storage cost are increased. High efficiency image compression techniques can be used to solve these problems.
- the image compression technique includes an inter prediction technique that predicts pixel values included in a current picture from before and / or after a current picture, and predicts pixel values included in a current picture by using pixel information in the current picture.
- inter prediction technique that predicts pixel values included in a current picture from before and / or after a current picture, and predicts pixel values included in a current picture by using pixel information in the current picture.
- intra prediction technique an entropy encoding technique of allocating a short code to a high frequency of appearance and a long code to a low frequency of appearance.
- a pixel value included in a current picture is predicted from a picture before and / or after a current picture, that is, a reference picture, information about a reference picture list may be generated and transmitted.
- An object of the present invention is to provide an image decoding method and apparatus including a method of constructing a reference picture list.
- Another object of the present invention is to provide an image decoding method and apparatus including a method of constructing a reference picture list capable of reducing the amount of information of the maximum number of reference pictures transmitted to a decoder.
- Another technical problem of the present invention is to provide an image decoding method and apparatus including a combined list construction method capable of reducing the amount of information transmitted to a decoder.
- Another object of the present invention is to provide an image decoding method and apparatus including a method of constructing a reference picture list capable of reducing the amount of information of inter prediction mode information transmitted to a decoder without generating a combine list.
- Another technical problem of the present invention is to provide an image decoding method and apparatus including a method of constructing a reference picture list capable of reducing the amount of information transmitted to a decoder for a generalized P and B (GPB) slice.
- a method of constructing a reference picture list capable of reducing the amount of information transmitted to a decoder for a generalized P and B (GPB) slice.
- Another object of the present invention is to provide an image decoding method and apparatus capable of reducing the complexity of deriving a temporal motion information candidate for a low delay B slice.
- Another object of the present invention is to provide an image decoding method and apparatus including a method of constructing a reference picture list capable of reducing the amount of information of reference picture index information transmitted to a decoder.
- One embodiment of the present invention is a video decoding method.
- the method includes receiving reference picture list information including first flag information, deriving maximum reference picture number information in the reference picture list based on the first flag information, and the maximum reference. Generating a reference picture list by using picture number information.
- the first flag information indicates whether the number of first maximum reference pictures allowed for the current picture and the number of second maximum reference pictures allowed for the current slice are the same, and the first flag information indicates a sequence parameter. Sequence Parameter Set (SPS) information or Picture Parameter Set (PPS) information.
- SPS Sequence Parameter Set
- PPS Picture Parameter Set
- the first flag information may indicate whether the maximum number of reference pictures allowed for all pictures and slices in the current sequence is the same.
- the first flag information may be information obtained from sequence parameter set information.
- the method may further include generating a reference picture list 0 and a reference picture list 1 for the current picture, from a temporal level of the reference picture included in the reference picture list 0 and the reference picture list 1 and the current picture. Determining a temporal distance of the memory; and inserting the reference picture based on the temporal level and the temporal distance to generate a combined list.
- a reference picture having a small temporal distance is inserted first, a reference picture having a low temporal level is preferentially inserted among the reference pictures having the same temporal distance, and the temporal distance and the Reference pictures included in reference picture list 0 may be preferentially inserted among reference pictures having the same temporal level.
- the method may further include receiving second flag information indicating whether a reference picture having a low temporal level is inserted first or always whether a reference picture included in reference picture list 0 is inserted first. .
- the method may include generating a reference picture list 0 and a reference picture list 1 for a current picture, determining a quantization parameter of a reference picture included in the reference picture list 0 and the reference picture list 1, and a temporal distance from the current picture. And inserting the reference picture based on the quantization parameter (QP) and the temporal distance to generate a bind list.
- QP quantization parameter
- a reference picture having a small temporal distance is inserted first, and a reference picture having a low quantization parameter is preferentially inserted among the reference pictures having the same temporal distance, and the temporal distance and the quantization parameter are first inserted.
- Reference pictures included in reference picture list 0 among the same reference pictures may be inserted first.
- the method may include generating a reference picture list 0 and a reference picture list 1 for a current picture, scanning the reference pictures included in the reference picture list 0 and the reference picture list 1, and then scanning the current pictures to a current prediction target block in the current picture. Selecting a reference picture for the image and deriving motion information on the current prediction target block using the selected reference picture.
- the reference picture of reference picture list 0 and the reference picture list 1 are referenced, starting from the reference picture of reference picture list 0, and then in descending order of the reference picture index.
- the method includes receiving image information including information indicating whether a current slice is a Generalized P and B (GPB) slice from an encoder, and based on information indicating whether the current slice is a GPB slice, a reference picture list. Generating 0 and reference picture list1. In the generating of the reference picture list 0 and the reference picture list 1, if the current slice is a GPB slice, the reference picture list 1 is generated using the reference picture list 0 related information included in the image information.
- the GPB slice is a slice in which the reference picture list 0 and the reference picture list 1 are the same.
- the information indicating whether the current slice is a GPB slice is information indicated by a third flag indicating whether the current slice is a GPB slice, and the third flag is generated by an encoder and transmitted to the decoder. If the flag and the third flag indicates that the current slice is a GPB slice, the image information may not include reference picture list1 related information.
- the third flag may be a flag generated by an encoder and transmitted to a decoder only when the current slice is a B picture.
- the information indicating whether the current slice is a GPB slice is information indicated by a fourth flag indicating whether the reference picture list 0 and the reference picture list 1 are the same for the current slice, and the fourth flag. Is a flag generated by the encoder and transmitted to the decoder, and when the fourth flag indicates that the reference picture list 0 and the reference picture list 1 are the same for the current slice, the image information is related to the reference picture list1. It may not include.
- the GPB slice is a slice type defined separately from an I slice, a P slice, and a B slice, and the B slice is a slice in which reference picture list 0 and reference picture list 1 are not the same, and whether the current slice is a GPB slice.
- the indicating information is information indicated by the slice type of the GPB slice, and when the slice type of the current slice is a GPB slice, the image information may not include reference picture list1 related information.
- Another embodiment of the present invention is a video decoding method.
- the method includes receiving image information including information indicating whether a current slice is a low delay B slice, and based on information indicating whether the current slice is a low delay B slice, a current prediction target. Deriving a temporal motion information candidate by checking a reference picture list of a co-located block with respect to the block, and inter-screening using the temporal motion information candidate and the image information ) Performing prediction, wherein the low delay B slice is a slice having only a forward reference picture, the co-located block is a block located within a reference picture of the current prediction target block, and the current slice is a low delay B slice.
- the same reference picture list and the list of reference pictures of the reference picture list of the co-located block in the current prediction block is first checked.
- the method may further include receiving image information including fifth flag information indicating whether index L0 and index L1 indicate the same reference picture from the encoder with respect to the current prediction target block, and based on the fifth flag information. Generating an index L0 and the index L1.
- the index L0 is a reference picture index of a reference picture referenced by the current prediction target block in reference picture list
- the index L1 is a reference picture index of a reference picture referenced by the current prediction target block in reference picture list 1. to be.
- the image information does not include the index L1 related information and is included in the image information.
- the index L1 may be generated using the index L0 related information.
- the index information included in the image information is included.
- the index L1 is generated by adding 1 to the index value of the index L1 related information. If the index value of the index L1 is smaller than the index Co, the index value of the index L1 related information included in the image information is copied.
- the index L1 may be generated, and the index Co may be an index value of the reference picture list 1 indicating the same picture as the reference picture indicated by the index L0.
- FIG. 1 is a block diagram schematically illustrating an image encoding apparatus according to an embodiment of the present invention.
- FIG. 2 is a conceptual diagram schematically illustrating a prediction unit according to an embodiment of the present invention.
- FIG. 3 is a conceptual diagram schematically illustrating an example of a quad tree structure of a processing unit in a system to which the present invention is applied.
- FIG. 4 is a block diagram schematically illustrating an image decoding apparatus according to an embodiment of the present invention.
- FIG. 5 is a conceptual diagram schematically illustrating a predictor of an image decoding apparatus according to an embodiment of the present invention.
- FIG. 6 is a conceptual diagram schematically illustrating an embodiment of a prediction method that may be used in a P picture and a B picture.
- FIG. 7 is a conceptual diagram schematically illustrating a comparison between a conventional P picture, a conventional B picture, and a prediction method of a GPB.
- FIG. 8 is a flowchart schematically illustrating a method for constructing a reference picture list in the encoder and transmitting reference picture list information according to an embodiment of the present invention.
- FIG. 9 is a flowchart schematically illustrating a method of generating reference picture list by receiving reference picture list information in a decoder according to an embodiment of the present invention.
- FIG. 10 is a conceptual diagram schematically illustrating an embodiment of a method of constructing a bind list.
- FIG. 11 is a conceptual diagram schematically illustrating an embodiment of a hierarchical coding structure.
- FIG. 12 is a conceptual diagram schematically showing an embodiment of a method of generating a combined list using a temporal level according to the present invention.
- FIG. 13 is a flowchart illustrating an embodiment of a method for generating a combine list according to the present invention.
- FIG. 14 is a conceptual diagram schematically illustrating a reference picture selection method according to an embodiment of the present invention.
- 15 is a flowchart schematically illustrating a method for deriving motion information according to an embodiment of the present invention.
- 16 is a conceptual diagram schematically illustrating an embodiment of a reference picture and a reference picture list for a GPB and low delay B picture.
- 17 is a flowchart schematically illustrating a method of transmitting a reference picture list of an encoder according to an embodiment of the present invention.
- FIG. 18 is a flowchart schematically illustrating a method of generating a reference picture list of a decoder according to an embodiment of the present invention.
- 19 is a conceptual diagram schematically illustrating an embodiment of a picture in which a reference picture index of list 0 and a reference picture index of list 1 indicate the same reference picture.
- 20 is a flowchart schematically illustrating a method of transmitting a reference picture index of an encoder according to an embodiment of the present invention.
- 21 is a flowchart schematically illustrating a reference picture index generation method of a decoder according to an embodiment of 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 apparatus, each component is implemented by 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 components may not be essential components for performing essential functions in the present invention, but may be optional components for improving performance.
- the present invention can be implemented including only the components essential for implementing the essentials of the present invention except for the components used for improving performance, and the structure including only the essential components except for the optional components used for improving performance. Also included within the scope 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 realigner 125, and an entropy encoder 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 (PU), a transform unit (TU), or a coding unit (CU).
- the predictor 110 includes an inter prediction unit for performing inter prediction and an intra prediction unit for performing intra prediction.
- the prediction unit 110 generates a prediction block by performing prediction on the processing unit of the picture in the picture division unit 105.
- the processing unit of the picture in the prediction unit 110 may be a coding unit, a transformation unit, or a prediction unit.
- the processing unit in which the prediction is performed may differ from the processing unit in which the prediction method and the details are determined.
- the method of prediction and the prediction mode are determined in units of prediction units, and the performance of prediction may be performed in units of transform units.
- the residual value (residual block) between the generated prediction block and the original block is input to the converter 115.
- prediction mode information and motion vector information used for prediction are encoded by the entropy encoder 130 together with the residual value and transmitted to the decoder.
- the transform unit 115 performs a transform on the residual block in transform units and generates transform coefficients.
- the transform unit in the transform unit 115 may be a transform unit 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 transform the residual block using a discrete cosine transform (DCT) and / or a discrete sine transform (DST).
- DCT discrete cosine transform
- DST discrete sine transform
- the quantization unit 120 may generate quantization coefficients by quantizing the residual values transformed by the transformation unit 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 encoder 130 may be increased.
- the reordering unit 125 may rearrange the quantization coefficients in the form of a two-dimensional block into a one-dimensional vector form through a coefficient scanning method.
- the reordering unit 125 may increase the entropy coding efficiency of the entropy encoder 130 by changing the order of coefficient scanning based on probabilistic statistics of coefficients transmitted from the quantization unit.
- the entropy encoder 130 may perform entropy encoding on the quantized coefficients rearranged by the reordering unit 125.
- Entropy encoding may use, for example, an encoding method such as Exponential Golomb, Context-Adaptive Variable Length Coding (CAVLC), or Context-Adaptive Binary Arithmetic Coding (CABAC).
- CABAC Context-Adaptive Binary Arithmetic Coding
- the entropy encoder 130 may include quantization coefficient information, block type information, prediction mode information, division unit information, prediction unit information, transmission unit information, and motion vector of the coding unit received from the reordering unit 125 and the prediction unit 110.
- Various information such as information, reference picture information, interpolation information of a block, and filtering information can be encoded.
- 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 value generated by the inverse quantization unit 135 and the inverse transformer 140 may be combined with the prediction block predicted by the prediction unit 110 to generate a reconstructed block.
- the filter unit 145 may apply a deblocking filter and / or an adaptive loop filter (ALF) to the reconstructed picture.
- ALF adaptive loop filter
- 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 a reconstructed image with an original image after the block is filtered through a deblocking filter. ALF may be performed only when high efficiency is applied.
- 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.
- a coding unit is a unit in which coding / decoding of a picture is performed and may be divided with a depth based on a quad tree structure.
- the coding unit may have various sizes, such as 64x64, 32x32, 16x16, and 8x8.
- the encoder may transmit information about a largest coding unit (LCU) and a minimum coding unit (SCU) to the decoder.
- Information (depth information) regarding the number of splittable times together with information about the maximum coding unit and / or the minimum coding unit may be transmitted to the decoder.
- Information on whether the coding unit is split based on the quad tree structure may be transmitted from the encoder to the decoder through flag information such as a split flag.
- the predictor 200 may include an inter prediction unit 210 and an intra prediction unit 220.
- the inter prediction unit 210 may generate a prediction block by performing prediction based on information of at least one of a previous picture or a subsequent picture of the current picture.
- the intra prediction unit 220 may generate a prediction block by performing prediction based on pixel information in the current picture.
- the inter prediction unit 210 selects a reference picture with respect to the prediction unit and selects a reference block having the same size as that of the prediction unit in units of integer pixel samples. Subsequently, the inter prediction unit 210 is most similar to the current prediction unit in sub-integer sample units such as 1/2 pixel sample unit and 1/4 pixel sample unit, so that the residual signal is minimized and the size of the motion vector to be encoded is also minimal. Generate a predictive block that can be.
- the motion vector may be expressed in units of integer pixels or less. For example, the motion vector may be expressed in units of 1/4 pixels for luminance pixels and in units of 1/8 pixels for chrominance pixels.
- Information about the index and the motion vector of the reference picture selected by the inter prediction unit 210 is encoded and transmitted to the decoder.
- FIG. 3 is a conceptual diagram schematically illustrating an example of a quad tree structure of a processing unit in a system to which the present invention is applied.
- the maximum coding unit (LCU) 300 may have a hierarchical structure composed of smaller coding units 310 through division, and the hierarchical structure of the coding unit may be based on size information, depth information, split flag information, and the like. Can be specified.
- the size information of the maximum coding unit, the split depth information, and whether the current coding unit is split may be included in a sequence parameter set (SPS) on the bit stream and transmitted to the image decoder.
- SPS sequence parameter set
- the split flag of the coding unit may not be transmitted to the minimum coding unit.
- inter prediction may be performed in units of prediction units.
- intra prediction a prediction mode may be determined in units of prediction units, and prediction may be performed in units of prediction units.
- a prediction mode may be determined in units of prediction units, and intra prediction may be performed in units of transformation units.
- the prediction unit 320 may be 2N ⁇ 2N or N ⁇ N (N is an integer), and in case of inter prediction, the prediction unit 330 may be 2N ⁇ . 2N, 2N ⁇ N, N ⁇ 2N, or N ⁇ N.
- N ⁇ N may be determined to be applied only to the minimum size coding unit or to be applied only to intra prediction.
- N ⁇ mN, mN ⁇ N, 2N ⁇ mN, or mN ⁇ 2N (m ⁇ 1) may be further defined and used.
- the image decoder 400 includes an entropy decoder 410, a reordering unit 415, an inverse quantizer 420, an inverse transform unit 425, a predictor 430, and a filter unit 435. And a memory 440.
- the input bit stream may be decoded according to a procedure in which image information is processed by the image encoder.
- VLC variable length coding
- 'VLC' variable length coding
- the entropy decoder 410 may also be identical to the VLC table used in the encoder. Entropy decoding can be performed by implementing a VLC table. Even when CABAC is used to perform entropy encoding in the image encoder, the entropy decoding unit 410 may perform entropy decoding using CABAC correspondingly.
- Information for generating a prediction block among the information decoded by the entropy decoder 410 may be provided to the predictor 430, and a residual value of which entropy decoding is performed by the entropy decoder may be input to the reordering unit 415.
- the reordering unit 415 may reorder the bit stream deentropy decoded by the entropy decoding unit 410 based on a method of reordering the image encoder.
- the reordering unit 415 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 415 may receive the information related to the coefficient scanning performed by the encoder and perform the rearrangement by performing a reverse scanning method based on the scanning order performed by the corresponding encoder.
- the inverse quantization unit 420 may perform inverse quantization based on the quantization parameter provided by the encoder and the coefficient values of the rearranged block.
- the inverse transformer 425 may perform inverse DCT and / or inverse DST on DCT and DST performed by the encoder of the encoder with respect to the quantization result performed by the image encoder.
- the inverse transform may be performed based on a transmission unit determined by the encoder or a division unit of an image.
- the DCT and / or DST may be selectively performed according to a plurality of pieces of information, such as a prediction method, a size and a prediction direction of the current block, and the inverse transformer 425 of the decoder is performed by the transformer of the encoder.
- Inverse transformation may be performed based on the transformation information.
- the prediction unit 430 may generate the prediction block based on the prediction block generation related information provided by the entropy decoding unit 410 and previously decoded blocks and / or picture information provided by the memory 440.
- the reconstruction block may be generated using the prediction block generated by the predictor 430 and the residual block provided by the inverse transform unit 425.
- the reconstructed block and / or picture may be provided to the filter unit 435.
- the filter unit 435 applies deblocking filtering, sample adaptive offset (SAO), and / or adaptive loop filtering (ALF) to the reconstructed block and / or picture.
- deblocking filtering sample adaptive offset (SAO)
- ALF adaptive loop filtering
- the memory 440 may store the reconstructed picture or block to use as a reference picture or reference block, and may provide the reconstructed picture to the output unit.
- FIG. 5 is a conceptual diagram schematically illustrating a predictor of an image decoding apparatus according to an embodiment of the present invention.
- the predictor 500 may include an intra prediction unit 510 and an inter prediction unit 520.
- the intra prediction unit 510 may generate a prediction block based on pixel information in the current picture when the prediction mode for the prediction unit is an intra prediction mode (intra prediction mode).
- the inter picture prediction unit 520 may provide information, for example, motion required for inter picture prediction of the current prediction unit provided by the image encoder when the prediction mode for the corresponding prediction unit is an inter prediction mode (inter prediction mode).
- the inter-screen prediction of the current prediction unit may be performed based on information included in at least one of a previous picture or a subsequent picture of the current picture including the current prediction unit using information on a vector, a reference picture index, and the like.
- the motion information may be derived in response to the skip flag, the merge flag, and the like of the coding unit received from the encoder.
- a "picture” or a “picture” can represent the same meaning as a “picture” according to the configuration or expression of the invention, the “picture” may be described as a “picture” or a “picture”.
- inter prediction and inter prediction have the same meaning
- intra prediction and intra prediction have the same meaning.
- the inter prediction unit may generate a prediction block by performing prediction on the current unit using information of at least one of a previous picture or a subsequent picture of the current picture, not the current picture. have.
- a picture used for prediction is referred to as a reference picture.
- the reference picture used for prediction of the current unit may be represented by using a reference picture index and a motion vector information indicating the reference picture.
- the P picture and the B picture may be encoded in the inter prediction mode, and the I picture, the P picture, and the B picture will be described later.
- 6 is a conceptual diagram schematically illustrating an embodiment of a prediction method that may be used in a P picture and a B picture. 6 includes a prediction method 610 for a P picture and a prediction method 620, 630, 640 for a B picture.
- a block to be predicted currently is called a prediction target block
- a block generated by the prediction is a prediction block
- a block used for prediction of the prediction target block in a reference picture is referred to as a reference block.
- POC Picture Order Count
- An I picture is a picture that is encoded independently in the picture regardless of the picture before and after. Prediction in the time direction is not applied to the I picture, and only intra-picture information is used for the encoding process.
- the P picture is a picture that can be encoded by unidirectional prediction between pictures using one reference picture.
- FIG. 6 shows unidirectional prediction 610 in a P picture.
- P picture requires one reference picture list, which is referred to as reference picture list0.
- the inter prediction using the reference picture selected from the reference picture list 0 is called L0 prediction, and L0 prediction is mainly used for forward prediction.
- intra prediction or L0 prediction may be performed.
- prediction may be performed on a prediction target block using one reference block that exists in the past than the current picture in decoding order. Accordingly, as shown in FIG. 6 (610), prediction using a past reference picture in time order may be used to perform inter-screen forward prediction. In addition, prediction using a future reference picture in time order may be used to perform reverse prediction between screens. Therefore, the P picture uses only one piece of motion information (motion vector, reference picture index) for the block to be predicted in one direction.
- motion vector, reference picture index motion vector, reference picture index
- a B picture is a picture that can be encoded by forward, backward, or bidirectional prediction between pictures using one or more, for example, two reference pictures.
- One or more reference pictures may be used in the B picture.
- the B picture requires two reference picture lists, and the two reference picture lists are referred to as reference picture list 0 and reference picture list 1, respectively.
- the inter prediction using the reference picture selected from the reference picture list 0 is called L0 prediction, and L0 prediction is mainly used for forward prediction.
- the inter prediction using the reference picture selected from the reference picture list 1 is called L1 prediction, and L1 prediction is mainly used for backward prediction.
- inter prediction using two reference pictures selected from reference picture list 0 and reference picture list 1 is called bi prediction.
- intra prediction, L0 prediction, L1 prediction, or bi prediction using two pieces of motion information may be performed.
- bi-prediction 620 in a B picture.
- prediction may be performed on a prediction target block by using both a forward reference block in a past reference picture and a backward reference block in a future reference picture in time order. That is, bidirectional prediction using both the forward reference block and the backward reference block may be used to perform inter prediction.
- FIG. 6 also shows forward prediction 630 using two past reference pictures and B backward prediction 640 using two future reference pictures in a B picture.
- two past reference pictures may be used in time order, and inter prediction may be performed on the prediction target block.
- two future reference pictures may be used in temporal order to perform inter prediction on the prediction block.
- the B picture may use up to two pieces of motion information for the picture to be predicted in the forward and / or reverse direction. B pictures are delayed but are often used to achieve high performance.
- the structure of the above-mentioned reference picture list will be described later.
- FIG. 7 is a conceptual diagram schematically illustrating a comparison between a conventional P picture, a conventional B picture, and a prediction method of a GPB. Referring to FIG. 7, each picture is shown in the display order (POC) of the screen.
- POC display order
- a reference picture list may be configured of pictures used for inter prediction for the current picture.
- the B picture requires two reference picture lists: reference picture list 0 and reference picture list 1.
- a picture having the same reference picture list 0 and reference picture list 1 among the B pictures is referred to as Generalized P and B or Generalized B picture.
- only forward prediction may be allowed in the GPB, in which case backward prediction may not be performed.
- prediction may be performed using two or more pieces of motion information on a block to be predicted, similarly to a B picture. If only forward prediction is allowed in GPB, no delay due to backward prediction is involved. In GPB, low delay coding is possible while maintaining high coding performance.
- the characteristics of the I picture, the P picture, and the B picture may be different for each slice in one picture, not in a picture unit.
- a slice having a feature of an I picture, a slice having a feature of a P picture, and a slice having a feature of a B picture in a slice unit may be referred to as an I slice, a P slice, and a B slice, respectively.
- GPBs may be referred to as GPB slices or Generalized B slices.
- reference picture list 0 is referred to as list 0
- reference picture list 1 is referred to as list 1.
- the information about the list may be generated by the inter-prediction unit of the encoder and encoded to form a bitstream and transmitted to the decoder.
- the transmitted information may be decoded and used to perform prediction in the inter prediction unit of the decoder.
- the maximum number of reference pictures for constructing the reference picture list may be defined by syntax elements as included in [Table 1] below in one embodiment.
- the maximum number of reference pictures allowed in List 0 and List 1 may be defined first.
- the current slice is a P or B slice, whether or not to update the information about the maximum number of reference pictures of the PPS in the current slice using num_ref_idx_active_override_flag in the slice header (slice_header).
- num_ref_idx_active_override_flag 1
- the maximum number of reference pictures allowed in the current slice may be defined using num_ref_idx_l0_active_minus1 and num_ref_idx_l1_active_minus1 .
- Each of the pieces of information may be included in the PPS and the slice header and transmitted from the encoder to the decoder through the bitstream.
- the maximum number of reference pictures is determined based on the PPS and may be adaptively determined differently for each slice. However, it is not always allowed to have different numbers of reference pictures for slices belonging to the same picture. In this case, num_ref_idx_active_override_flag need not be transmitted for each slice header.
- the maximum number of reference pictures may be fixed for a sequence unit by being extended in the PPS unit. In this case, if the maximum number of reference pictures is defined and transmitted in both the PPS and the slice header, unnecessary information duplication occurs.
- Table 2 shows an embodiment of a method of newly defining the maximum number of reference pictures in the syntax in order to prevent waste of such information.
- a flag called num_ref_idx_no_override_flag is added to the Sequence Parameter Set (SPS).
- SPS Sequence Parameter Set
- the condition for the flag is added to the slice header so that the information about the maximum reference picture in the current slice is updated only when the flag is zero. Therefore, when the flag is set, that is, 1, the maximum number of reference pictures defined in the PPS may be commonly applied to all slices in the same picture.
- Table 3 shows another embodiment of a method of defining the maximum number of reference pictures in the syntax for constructing the reference picture list.
- a flag called num_ref_idx_no_override_flag is added to a picture parameter set (PPS).
- PPS picture parameter set
- the flag is a flag indicating whether the maximum number of reference pictures defined in the PPS is applied to all slices in the picture as it is.
- the condition for the flag is added to the slice header so that the information about the maximum reference picture in the current slice is updated only when the flag is zero. Therefore, if the flag is set, that is, 1, the maximum number of reference pictures defined in the PPS is applied to all slices in the same picture in common.
- num_ref_idx_no_override_flag defined in the PPS replaces the role played by num_ref_idx_active_override_flag in the slice header. Therefore, when a new flag is defined in the PPS, the amount of information transmitted through the bitstream is the same as when a new flag is not defined in the PPS.
- num_ref_idx_active_override_flag should be transmitted or signaled by the number of slices.
- the new flag is defined in the PPS, since the newly defined flag needs to be transmitted only once, the amount of information transmitted through the bitstream may be reduced.
- Table 4 shows another embodiment of a method of defining the maximum number of reference pictures in the syntax for constructing the reference picture list.
- a flag called num_ref_idx_infer_flag is added to the Sequence Parameter Set (SPS).
- SPS Sequence Parameter Set
- the flag is a flag indicating whether the same maximum number of reference pictures is used for the entire sequence. If the flag is 1, the number of maximum reference pictures num_ref_idx_l0_minus1 and num_ref_idx_l0_minus1 is defined in the SPS.
- the maximum number of reference pictures for each is transmitted only when the flag num_ref_idx_infer_flag added to the SPS is zero. Therefore, since the same maximum number of reference pictures for the entire sequence can be defined using the flags and syntax elements added to the SPS, the amount of information transmitted through the bitstream can be reduced.
- FIG. 8 is a flowchart schematically illustrating a method of transmitting a reference picture list information by constructing a reference picture list in an encoder according to an embodiment of the present invention.
- the encoder generates a reference picture list (S810).
- a reference picture list information related to the reference picture list may be generated together, and the information related to the reference picture list may include the maximum number of reference pictures for the list 0 and / or the list 1.
- the maximum number of reference pictures may be defined first in the PPS as shown in [Table 1]. If it is determined to update it in the current slice, the number of reference pictures finally allowed in the current slice can be determined. In addition, as shown in Table 2, for all slices in the same picture, a flag indicating whether the maximum number of reference pictures defined in the PPS is applied as it may be defined in the SPS.
- a flag indicating whether the maximum number of reference pictures defined in the PPS is applied as it is may be defined in the PPS.
- a flag indicating whether the same maximum number of reference pictures is used for the entire sequence may be defined in the SPS.
- the coded reference picture list information forms a bitstream and is transmitted from the encoder to the decoder (S830).
- the maximum number of reference pictures defined in the PPS may be commonly applied to all slices in the current picture. At this time, information about the maximum number of reference pictures allowed in each slice may not be transmitted.
- the maximum reference picture number information when the newly defined flag is 1 in the SPS, the maximum reference picture number information is included and transmitted in the SPS, and the maximum reference picture number may be commonly applied to the entire sequence. In this case, information about the number of separate reference pictures may not be transmitted in each PPS or slice header.
- FIG. 9 is a flowchart schematically illustrating a method of generating reference picture list by receiving reference picture list information in a decoder according to an embodiment of the present invention.
- the decoder receives information about a reference picture list (S910).
- the information related to the reference picture list may include the maximum number of reference pictures for List0 and / or List1.
- the received maximum reference picture number information includes information that can be transmitted by the encoder of FIG. 8, and may differ from each other according to the above-described embodiments of Tables 1 to 4. For example, in the embodiment of Table 4, when the newly defined flag is 1 in the SPS, only the maximum reference picture number information for the entire sequence included in the SPS is received, and a separate picture for each picture or slice is received. The maximum reference picture number information of may not be received.
- the decoder may generate a reference picture list by using the decoded reference picture list information (S930).
- a B slice or a GPB slice may have three prediction modes as modes used for inter prediction.
- the three modes are bi-prediction mode (Pred_BI) using two reference pictures from List0 and List1, and uni-prediction mode using one reference picture from List0, respectively. It is a single prediction mode (Pred_L1) using (Pred_L0) and one reference picture from List1.
- Pred_BI bi-prediction mode
- Pred_L1 single prediction mode
- Pred_L0 single prediction mode
- bi-prediction is referred to as bi-prediction.
- each mode Pre_BI, Pred_L0, and Pred_L1 may be indicated by a syntax element called inter_pred_idc on the system.
- inter_pred_idc a syntax element
- the index of inter_pred_idc transmitted per PU may be replaced with a flag such as inter_pred_flag, and the amount of information and overhead transmitted Can be reduced. Therefore, a combined list can be used for this.
- the combined list may also be referred to as a combined reference picture list or LC.
- 10 is a conceptual diagram schematically illustrating an embodiment of a method of constructing a bind list. 10 schematically illustrates a method of generating a combined list from lists 0 and 1.
- reference pictures of list 0 and list 1 may be alternately mapped or inserted into a bind list.
- the pictures may be mapped or inserted in the bind list in the order of the distant pictures from the pictures close in time to the current picture.
- the mapping or insertion into the combined list may be skipped.
- the above-described combined list generation order is referred to as a default order.
- syntax elements such as pic_from_list_0_flag and ref_idx_list_curr may be transmitted for more efficient optimal combine list construction. The meaning of each syntax element is mentioned later.
- Three modes can be reduced to two modes.
- the two types of modes are pair prediction mode Pred_BI using two reference pictures from list 0 and list 1 and single prediction mode Pred_LC using one reference picture from the combined list. Therefore, the amount of information transmitted may be reduced for the reasons described above.
- each syntax may be defined as follows.
- ref_pic_list_combination_flag 1
- list 0 and list 1 are combined to generate a combined list for short prediction.
- the flag is 0, list 0 and list 1 are the same, and list 0 is used as a bind list.
- the list 0 and the list 1 are the same, and the GPB means the picture in which the list 0 and the list 1 are the same.
- num_ref_idx_lc_active_minus2 +2 indicates the number of reference pictures selected from list 0 or list 1 in the bind list.
- the value of the corresponding syntax may be at least 2, and thus minus2 may be applied.
- ref_pic_list_modification_flag_lc When ref_pic_list_modification_flag_lc is 1, it indicates that there are syntax elements pic_from_list_0_flag and ref_idx_list_curr for specifying the mapping from the combine list to list 0 and list 1.
- the flag When the flag is 0, the syntax element does not exist, and a bind list may be generated according to a predetermined default order or method.
- pic_from_list_0_flag indicates whether the current reference picture added to the bind list is from list 0 or from list 1. If the flag is 1, the list 0 may be added. If the flag is 0, the current reference picture may be added from the list 1.
- ref_idx_list_curr indicates a reference picture index of a picture in the current reference picture list (list 0 or list 1) added at the end of the combined list.
- LC List Combined
- LC generation methods may include using a predefined default order followed by truncation of the LC length or using other syntax that is not based on the associated syntax element in the slice header.
- the LC may be generated by alternately inserting entries of List 0 and List 1 in ascending order starting from the smallest index of List 0 as described above with reference to FIG. 10.
- the quantization step QP may be encoded without directly encoding the quantization step.
- the encoded QP may be transmitted from the encoder to the decoder, and the decoder may derive the quantization step from the QP.
- the quantization step may increase, and the signal-to-noise ratio (SNR) may decrease.
- a hierarchical coding structure may be used.
- FIG. 11 is a conceptual diagram schematically illustrating an embodiment of a hierarchical coding structure.
- the hierarchical coding structure according to the embodiment of FIG. 11 has four hierarchical levels, and the number of hierarchical steps may not be limited to four.
- the size of the GOP is 8 in FIG.
- GOP Group Of Pictures
- Reference pictures referred to by each picture in FIG. 11 may be selected differently from those shown in FIG. 11.
- pictures of different hierarchical levels may have different temporal levels.
- a picture with a lower temporal level can be coded using a smaller QP. This means that a picture with a lower temporal level can provide better coding efficiency than a picture with a higher temporal level.
- a combined list generation may be considered considering temporal level and / or QP.
- FIG. 12 is a conceptual diagram schematically showing an embodiment of a method of generating a combined list using a temporal level according to the present invention.
- pictures are shown in POC, that is, display order or temporal order, and the size of the POC is eight.
- POC display order or temporal order
- the size of the POC is eight.
- LC represents a bind list constructed according to a default order
- LC (prop.) Represents a bind list constructed according to an embodiment of the present invention.
- a reference picture having a lower temporal level may be preferentially inserted when an entry of List0 or List1 is inserted into the LC.
- the following rule may be applied when generating a combine list.
- a reference picture that is closer in time to the current picture can be inserted into the LC first. This means that a reference picture with a smaller POC difference is inserted first.
- a picture having a lower temporal level may be inserted first.
- entries from List0 and List1 have the same temporal distance and the same temporal level as the current picture, the reference picture from List0 may be inserted first.
- the combine list consisting of List 0 and List 1 inserted alternately starting from List 0 in the default order is 2, 4, 0, 6 in order.
- the list of LCs may have entries of 4, 2, 0, and 6 in order.
- the picture 1220 having a POC value of 5 has a lower temporal level of picture 8 than picture 2. Therefore, according to an embodiment of the present invention, picture 8 may be inserted before picture 2 in the bind list.
- the picture 4 of the reference picture index (refIdx) of List 1 is 1 is already inserted into the LC. Since it is the same as the picture 4 from the list 0, it may not be inserted.
- the list of LCs may have entries of 8, 4, and 2 in order.
- the picture 1240 having a POC value of 7 has a lower temporal level of picture 8 than picture 6. Therefore, according to an embodiment of the present invention, the picture number 8 may be inserted before the picture number 6 in the combined list.
- a picture having a lower temporal level can be coded using a lower QP. Therefore, the bind level may be generated using the QP value instead of the temporal level.
- the reference picture having a lower QP value is inserted first.
- the following rule may be applied when generating a combine list.
- a reference picture that is closer in time to the current picture can be inserted into the LC first. This means that a reference picture with a smaller POC difference is inserted first.
- a picture having a lower QP value may be inserted first.
- the reference picture from List0 may be inserted first.
- a flag indicating whether a combine list generation method using a temporal level or a QP value is enabled may be provided.
- a picture having a lower QP or lower temporal level may be preferentially inserted when the nth entry of List0 (RefPicList0) and List1 (RefPicList1) is inserted into the combined list.
- the flag when the n-th entry of List0 (RefPicList0) and List1 (RefPicList1) is inserted into the combined list, the picture of List0 may be inserted before the picture of List1. That is, when the flag is 0, a bind list may be generated according to a default order.
- the flag may be defined in an SPS, PPS or slice header.
- the flag generated by the encoder may be encoded and transmitted to the decoder.
- a bind list may be generated using a temporal level or QP or in a default order according to the information of the flag.
- FIG. 13 is a flowchart illustrating an embodiment of a method for generating a combine list according to the present invention.
- FIG. 13 shows an embodiment when the new flag described above in FIG. 12 is 1;
- the encoder or the decoder generates a reference picture list 0 and a reference picture list 1 (S1310).
- the encoder or decoder determines the temporal distance from the current picture and the temporal level of each picture with respect to the picture from the reference picture list 0 and the picture from the reference picture list 1 (S1320). In this case, if the new flag described above in FIG. 12 is used, the temporal distance and temporal level may be determined when the flag is 1. In addition, a QP value may be used instead of the temporal level.
- the encoder or decoder generates an LC using the temporal distance from the current picture, temporal level information of each picture, or the temporal distance from the current picture, QP information (S1330).
- a picture having a temporal distance from the current picture may be preferentially inserted into the combine list. If the picture of list 0 and the picture of list 1 have the same temporal distance from the current picture, the picture with lower temporal level and / or lower QP value may be preferentially inserted into the combine list. When the temporal distance and temporal level are the same or the temporal distance and the QP value are the same, the pictures of the list 0 may be preferentially inserted into the bind list.
- inter_pred_idc When a combined list is generated, a value that an inter_pred_idc syntax element may have may be reduced from three (L0, L1, Bi) to two (Uni, Bi). Accordingly, inter_pred_idc may be replaced by inter_pred_flag indicating whether bi-pred or uni_pred is used, and the amount of information transmitted may be reduced.
- inter_pred_flag indicating whether bi-pred or uni_pred is used
- a new syntax element for the combined list needs to be defined, in addition to ref_idx_lX, mvd_lX, and mvp_idx_lX, which are syntax elements for List0 and List1.
- the new syntax element added to prediction_unit () may include a reference picture index ref_idx_lc of LC, motion vector difference mvd_lc of LC, motion vector predictor index mvp_idx_lc of LC, and the like.
- New syntax elements added to the slice header may include num_ref_idx_lc_active_munus1, ref_pic_list_modification_flag_lc, pic_from_list_0_flag, ref_idx_list_curr, and the like.
- mapping process for mapping LC related syntax to list 0 or list 1 for prediction units on which uni-prediction is performed.
- a mapping process from refIdxLX to ref_idx_lc, mvd_lX to mvd_lc, mvp_idx_lX to mvp_idx_lc and LcToLx to LX may be required.
- x and X in Lx, lX or LX may be interpreted as 0 or 1, where L and l mean a list. This applies equally below.
- the burden for the definition of the LC-related syntax, the mapping to the list 0 or the list 1, or the duplication of the process may occur.
- ref_idx_lc may be unnecessary redundant to ref_idx_l0 and ref_idx_l1, mvd_lc to mvd_l0 and mvd_l1, and mvp_idx_lc to mvp_idx_l0 and mvp_idx_l1.
- the slice header also contains syntax for modification of the bind list.
- Such syntaxes allow the order of entries in the bind list to be optimized for coding efficiency. However, such syntaxes can also be unnecessary redundant.
- num_ref_idx_lc_active_minus1 may substantially refer to num_ref_idx_l0_active_minus1 and num_ref_idx_l1_active_minus1
- ref_pic_list_modification_flag_lc may be ref_pic_list_modification_flag_l_ and ref_pic_list_list_mod_list_mod_list_mod_list_list_mod_list_list_mod_list_list_mod_list_mod_list_mod_list_mod_list_mod_list_mod_list_mod_list_mod_lmod_lmod_ll
- inter_pred_idc Since the combined list can reduce the number of bits for inter_pred_idc from 3 (L0, L1, Bi) to 2 (Uni, Bi), inter_pred_idc can be replaced with inter_pred_flag.
- list 0 L0 can be utilized like LC.
- List 0 related syntax that may be used instead of LC generation may include, for example, ref_idx_l0, mvd_l0, mvp_idx_l0, and the like.
- a new reference picture selection process may be provided to reduce the number of bits required for transmission of inter prediction mode information (eg, inter_pred_flag) without generating a new list.
- FIG. 14 is a conceptual diagram schematically illustrating a reference picture selection method according to an embodiment of the present invention.
- FIG. 14 schematically illustrates a reference picture selection method in the case where List0 related syntax is used instead of the combine list without generating the combine list as described above.
- pictures are shown in POC, that is, display order or temporal order.
- a picture having a POC value of 7 represents the current picture.
- a picture indicated by the reference picture index refIdxL0 and refIdxL1, respectively, of the reference pictures included in the reference picture list 0 and the reference picture list 1 is indicated. That is, 1420 of FIG. 14 illustrates a relationship between refIdxL0 and a POC and a relationship between refIdxL1 and a POC.
- 1430 of FIG. 14 illustrates a method of selecting a reference picture, which will be described later.
- the input may be a reference picture index refIdxLX and the output may be a two-dimensional array of luma samples, that is, the reference picture refPicLX.
- the output of the process may be RefPicListX [refIdxLX].
- RefPicListX means a reference picture list and refIdxLX means a reference picture index indicating a reference picture in the reference picture list.
- X may mean 0 or 1 in some cases.
- a new reference picture selection process provided according to an embodiment of the present invention is as follows.
- variable idxMax is set as follows.
- idxMax ref_idx_l0
- LX is set to a variable that points to L0 or L1.
- idxL0 and idxL1 are set to the indexes in the reference picture lists RefPicList0 and RefPicList1. idxL0 and idxL1 are both set to zero.
- variable idxLX is set to zero.
- RefPicList0 [refIdxL0] is the first reference picture to appear, that is, if there were no duplicate reference pictures before,
- RefPicList1 [refIdxL1] is the first reference picture to appear, i.e. if there were no previous reference pictures,
- RefPicList0 [refIdxL0] is output.
- RefPicList1 [refIdxL1] is output.
- a schematic concept of the reference picture selection process is shown at 1430 of the embodiment of FIG. 14.
- reference pictures of the list 0 and the list 1 may be scanned in a certain order to select the reference picture.
- scanning starts from the first entry of reference picture list 0 (RefPicList0).
- the reference picture list 0 (RefPicList0) and the reference picture list 1 (RefPicList1) may be sequentially scanned in turn. Therefore, the order in which the reference picture is scanned may be “6, 8, 4, 6, 2, 4, 0, 2” based on the POC of the picture.
- reference pictures are not scanned but skipped.
- a reference picture having refIdxL1 of 1 and POC of 6 in reference picture list 1 is not scanned. This is because the reference picture is already scanned when refIdxL0 is 0 in the reference picture list 0. Therefore, referring to FIG. 14, the order in which the reference pictures are scanned is “6, 8, 4, 2, 0”.
- the List0 related syntax may be used instead of the LC related syntax without generating a separate bind list. That is, ref_idx_l0 may be used instead of ref_idx_lc.
- the entries of the list 0 and the list 1 may be used as the reference picture by the above-described reference picture selection process.
- the reference picture selection process it is only necessary to indicate whether inter_pred_flag is pair prediction or short prediction among inter prediction modes without generating LC. Therefore, the reference picture selection process can provide the advantages of the combined list as it is.
- a new motion vector and reference picture index derivation process is as follows.
- X may mean 0 or 1 in some cases.
- idxL0 and idxL1 are set to the indexes in the reference picture lists RefPicList0 and RefPicList1. idxL0 and idxL1 are both set to zero.
- variable idxLC is set to zero.
- RefPicList0 [refIdxL0] is the first reference picture to appear, that is, if there were no duplicate reference pictures before,
- RefPicList1 [refIdxL1] is the first reference picture to appear, i.e. if there were no previous reference pictures,
- mvd_l0 [xP] [yP] [1] mvd_l0 [xP] [yP] [1] (vertical component of the motion vector difference)
- refIdxL0 -1
- refIdxL1 idxL1
- mvd_l1 [xP] [yP] [1] mvd_l0 [xP] [yP] [1] (vertical component of the motion vector difference)
- inter_pred_flag is not the same as Pred_Uni, Pred_LX, and Pred_BI,
- variable mvdLX can be derived as follows.
- the luminance motion vector mvLX can be derived as follows.
- mvLX [0] mvpLX [0] + mvdLX [0]
- mvLX [1] mvpLX [1] + mvdLX [1]
- the order or method in which the reference picture is scanned is the same as described in the embodiment of FIG.
- List0 related syntax is used instead of LC related syntax without generating a separate bind list. That is, ref_idx_l0, mvd_l0, and mvp_idx_l0 may be used instead of ref_idx_lc, mvd_lc, and mvp_idx_lc, respectively. Therefore, motion information such as a motion vector and a reference picture index in the process may be derived from a copy from list 0, not a combined list.
- the entries of the list 0 and the list 1 may be used as the reference picture by the above-described reference picture selection process.
- the process can provide the benefits of the bind list as it is.
- the motion information may include a motion vector, a reference picture index, and the like.
- 15 may include the method of selecting a reference picture according to the embodiment of FIG. 14 described above, and in the embodiment of FIG. 15, a bind list may not be generated.
- the encoder or the decoder generates a reference picture list 0 and a reference picture list 1 (S1510). In this case, the encoder or the decoder may not generate a separate list such as a combined list.
- the encoder or the decoder scans the reference picture using the reference picture list 0 and the reference picture list 1 (S1520). At this time, the first entry of the reference picture list 0 may be scanned. In addition, the reference picture list 0 and the reference picture list 1 may be sequentially scanned in order of increasing the reference picture index. Also, a reference picture that has been previously scanned may be skipped.
- the encoder or the decoder may derive motion information such as a motion vector and a reference picture index from the selected reference picture through a scan process (S1530).
- the List0 related syntax may be used instead of the LC related syntax without generating the combine list as in the above-described motion vector and reference picture index derivation process.
- both entries of List 0 and List 1 can be used as reference pictures, and only inter-pred_flag needs to indicate whether inter-pred_flag is bi-prediction or uni-prediction among inter prediction modes without generating LC. Therefore, the amount of information transmitted may be reduced, such as when a bind list is generated.
- ref_pic_list_combination_flag When the combined list is generated, a flag called ref_pic_list_combination_flag may be used as described above.
- ref_pic_list_combination_flag When ref_pic_list_combination_flag is 1, list 0 and list 1 are combined to generate a combined list for short prediction.
- the flag When the flag is 0, it means that list 0 and list 1 are the same, and list 0 may be used as a bind list.
- the flag when the flag is 0, it may mean GPB.
- a picture having the same reference picture list 0 and reference picture list 1 among the B pictures is referred to as a generalized P and B or a generalized B picture.
- only forward prediction may be allowed in the GPB.
- FIG. 16 is a conceptual diagram schematically illustrating an embodiment of a reference picture and a reference picture list for a GPB and low delay B picture.
- pictures are shown in the display order of POCs, that is, pictures from the left.
- 1610 of FIG. 16 illustrates a case in which the current picture is a GPB, that is, a generalized B picture.
- the reference picture indices of List 0 and List 1 may not be the same. However, the reference pictures of List 0 and List 1 are both reference pictures used for forward prediction.
- a P picture having only a forward reference picture or a B picture having only a forward reference picture may be used for low delay coding.
- a B picture having only a forward reference picture may be referred to as a low delay B picture, and may be referred to as a low delay B slice in a slice unit.
- FIG. 1620 of FIG. 16 illustrates a case where the current picture is a low delay B picture.
- a reference picture is generated including an initialization and a modification process.
- the reference picture list 0 and the reference picture list 1 are always generated together for the B slice.
- the slice header includes information transmitted for an inter picture (P picture, B picture).
- information for list 1 is additionally included and transmitted.
- Information for list 1 may include num_ref_idx_l1_active_minus1, collocated_from_l0_flag, ref_pic_list_modification_flag_l1, and the like.
- num_ref_idx_l1_active_minus1 indicates the number of reference pictures present in list 1
- collocated_from_l0_flag indicates whether a block having the same position used for inter prediction is obtained from list 0 or list 1.
- ref_pic_list_modification_flag_l1 has the same meaning as ref_pic_list_modification_flag_lc described above, and only lc is a flag changed to l1.
- the information for List 1 may also include switched interpolation filter with offset (SIFO) information indicating an interpolation filter and offset information to be used when reference pictures in List 1 are used.
- SIFO switched interpolation filter with offset
- list 0 and list 1 In a typical B picture, all information for list 0 and list 1 should be transmitted. However, in the GPB picture or the GPB slice, the reference picture list 0 and the reference picture list 1 are the same. Therefore, in GPB, list 0 does not need to be transmitted separately since list 0 has substantially all the information about the reference picture.
- This duplication of information can be resolved by copying all entries of list 0 to list 1 without using list 1 in the case of GPB slices. That is, if the current slice is a B slice and List0 and List1 are the same, all entries of List0 can be copied to List1 in the same order.
- the coding method of the slice header may be modified to remove duplication of information in the GPB, and a syntax element called generalized_b_slice may be provided.
- generalized_b_slice indicates whether the current slice is a GPB slice.
- a syntax element indicating whether or not it is a GPB is not limited to its name (generalized_b_slice), and a syntax element indicating whether it is a GPB under any other name is included in the spirit of the present invention.
- the slice header may include information as shown in Table 6 below.
- Table 7 below shows a modified slice header according to an embodiment of the present invention.
- Table 8 below is an example of the SIFO parameter sifo_param () to which the present invention is not applied.
- Table 8 also has the same problems as in Table 6.
- Table 9 shows an embodiment of the SIFO parameter sifo_param () to which the present invention is applied.
- information related to list 1 may be transmitted only when the current slice is not GPB using generalized_b_slice . Thus, duplication of unnecessary information for the GPB slice can be eliminated.
- Table 10 below is an example of syntax to which the present invention is not applied.
- Table 10 also has the same problems as in Table 6.
- Table 11 below shows an embodiment of syntax to which the present invention is applied.
- the information sifo_offset_l1 related to list 1 may be transmitted only when the current slice is not GPB using generalized_b_slice . Thus, duplication of unnecessary information for the GPB slice can be eliminated.
- the method for preventing transmission of List 1 related information from a GPB slice is not limited to the embodiments of Tables 7, 9, and 11.
- GPB refers to a slice in which List0 and List1 are the same among B slices, it may not be necessary to determine whether the current picture is a GPB in a P picture that does not need information about List1. Therefore, the generalized_b_slice flag may be transmitted only when the current slice is a B slice.
- the encoder may not separately transmit the generalized_b_slice syntax to the decoder without transmitting List1 related information for the GPB slice.
- the decoder may compare the reference picture of list 0 with the reference picture of list 1 to determine whether it is a GPB, and may derive the value of the syntax to 1 and use it. In this case, too, it may have an advantage that transmission of unnecessary information regarding the list 1 is prevented.
- the amount of information transmitted using the same principle may be reduced. At this time, the amount of information transmitted with respect to the reference picture list can be reduced by half, and coding efficiency can be increased.
- the list 1 related information when the current slice is a generalized B slice, the list 1 related information may be omitted without being transmitted because it is included in the slice header.
- the omitted slice header information may be obtained by directly copying information of reference pictures having the same POC of List0. Therefore, the decoder can copy and use the omitted information from the list 0 related information.
- the syntax below illustrates one embodiment of a method for deriving information about List1.
- num_ref_idx_l1_active_munus1 num_ref_idx_l0_active_minus1;
- sifo_info_l1 sifo_info_l0;
- a merge skip method, a prediction unit merge method, an AMVP method, or the like may be used.
- AMVP method motion prediction related information of one AMVP candidate block among two spatial AMVP candidate blocks and one temporal AMVP candidate block may be used as motion vector related information of the current prediction target block. Additionally, the difference between the motion vector value of the current prediction target block and the motion vector value of the selected AMVP candidate block may be used as the motion prediction related information of the current block.
- a co-located block may be derived from a reference picture based on the current prediction target block.
- both list 0 and list 1 of the same position block can be checked.
- a motion vector that crosses the current picture among the motion vectors of the same location block may be selected for temporal motion vector scaling.
- the motion vector of the same position block may not cross the current picture. In this case, it may be meaningless that the motion vector traversing the current picture is preferentially selected, and complexity may increase since both list 0 and list 1 should be checked.
- a method of first checking a list identical to the reference picture list of the current picture among the reference picture lists of the same position block may be used. At this time, if there is no valid motion information in the checked list first, another list of the same position block may be checked.
- the embodiment of the present invention is not limited to the above, and the list to be checked first may be selected in other ways.
- Information on whether the picture is a low delay B picture may be included in a flag and transmitted from the encoder to the decoder.
- the encoder may not transmit information about whether the encoder is a low delay B picture.
- the decoder may compare the reference pictures of list 0 and list 1 to determine whether the picture is a low delay B picture.
- ref_pic_list_combination_flag specifies whether reference picture list 0 and reference picture list 1 are the same or not. If List0 and List1 are equal, they correspond to GPB slices. Therefore, when the current slice is a GPB slice according to the flag information, transmission of List 1 related information may be skipped.
- ref_pic_list_combination_flag may be signaled after List1 related syntax.
- whether the current slice is a GPB slice cannot be determined, and therefore, transmission of the list1 related information cannot be skipped.
- the signaling of the List1 related information in the GPB slice may be skipped.
- ref_pic_list_identical_flag may be used instead of ref_pic_list_combination_flag as a flag name.
- ref_pic_list_identical_flag When ref_pic_list_identical_flag is 0, list 0 and list 1 are combined to generate a combined list for short prediction.
- the flag When the flag is 1, list 0 and list 1 are the same, and list 0 is used as a bind list.
- the new flag may indicate whether List0 and List1 are the same. If the flag is 1, it means that the current slice is a GPB slice. However, the flag is not limited to the name and may be included in the spirit of the present invention as long as the syntax element indicates whether the list 0 and the list 1 are the same regardless of any other names.
- Table 12 below shows an embodiment of a slice header configured using ref_pic_list_identical_flag according to the above-described method.
- Table 13 below shows an embodiment of the ref_pic_list_modification () configuration in the slice header of Table 12.
- Table 14 below shows an embodiment of the ref_pic_list_combination () configuration in the slice header of Table 12.
- ref_pic_list_identical_flag is defined before List1 related syntax elements num_ref_idx_l1_active_minus1, collocated_from_l0_flag, and ref_pic_list_modification_flag_l1.
- a condition is added to each List1 related syntax element so that List1 related syntax elements num_ref_idx_l1_active_minus1, collocated_from_l0_flag and ref_pic_list_modification_flag_l1 may be transmitted to the decoder only when ref_pic_list_identical_flag is 0.
- List1 related syntax elements are not transmitted in the GPB slice. Therefore, transmission of unnecessary information in the GPB slice can be prevented.
- the semantic of collocated_from_l0_flag may be changed by ref_pic_list_identical_flag.
- collocated_from_l0_flag 1 means that the co-located picture is derived from list 0, otherwise it is derived from list 1.
- collocated_from_l0_flag 1 means that the co-located picture is derived from list 0, otherwise it is derived from list 1. If collocated_from_l0_flag does not exist, collocated_from_l0_flag is assumed to be 1. Referring to Table 12, collocated_from_l0_flag is not present when the current slice is not a B slice or a GPB slice. In this case, since all the reference pictures can be derived from the list 0, the flag can be estimated as one.
- a method of separately defining a GPB in a slice type may be used.
- I slice In the slice type currently used, three kinds of slices are defined: I slice, P slice, and B slice. This can be confirmed in the following [Table 15].
- Inter_pred_flag is used to specify whether bi-pred or uni-pred is used for the current prediction unit.
- the slice type and the prediction mode or name corresponding to the inter_pred_flag value may be checked in the following [Table 16].
- the prediction mode is estimated to be Pred_L0 if the slice type is P and Pred_BI if the slice type is B.
- Table 17 shows an embodiment of a method of defining a slice type when a GPB is defined in the slice type.
- Table 18 shows an embodiment of a method of defining inter_pred_flag when GPB is defined in a slice type.
- the prediction mode is estimated to be Pred_L0 if the slice type is P and Pred_BI if the slice type is B or GPB.
- the GPB slice means a slice in which the reference picture list 0 and the reference picture list 1 are the same.
- the definition of the B slice may be changed by defining a separate slice type called GPB.
- a conventional B slice refers to a slice decoded using intra prediction or inter prediction using at most two reference pictures.
- GPB is defined as a separate slice type
- a B slice is a slice that is decoded by using intra prediction or inter prediction using up to two reference pictures, and a slice in which reference picture list 0 and reference picture list 1 are not the same. Means. That is, in the definition of a new B slice, the GPB slice is not included in the B slice.
- Table 19 below shows an embodiment of a slice header configured using a GPB slice type according to the present invention.
- Table 20 below shows an embodiment of the ref_pic_list_modification () configuration in the slice header of Table 19.
- the slice type is GPB as a condition for defining num_ref_idx_active_override_flag. This is because the newly defined B slice does not include the GPB slice. In addition, List0 related information is transmitted only in the B slice, not the GPB slice. Therefore, in the case of a GPB slice, unnecessary List1 related information may not be transmitted.
- slice_type% 5! 3 means that the current slice is not an I slice.
- 2 is used instead of 3 because the slice_type value of the I slice is 2, but 3 may be used instead of 2 since the slice_type value of the I slice is 3 in the newly defined slice type.
- 17 is a flowchart schematically illustrating a method of transmitting a reference picture list of an encoder according to an embodiment of the present invention. 17 schematically illustrates the flow of a method of transmitting a reference picture list according to the embodiments of Tables 7, 9, 11, 14, and 17, and 20, described above. .
- the encoder determines whether the current slice is GPB (S1710).
- the encoder encodes and transmits information indicating whether the current slice is GPB (S1720).
- the information indicating whether or not the GPB may be included in the slice header through generalized_b_slice and transmitted as in the embodiments of Tables 7, 9, and 11.
- ref_pic_list_identical_flag having a modified ref_pic_list_combination_flag may be included in the slice header and transmitted.
- the information indicating whether the GPB is a GPB slice is defined as a separate slice type as in the embodiments of Tables 17 to 20, and may be transmitted by being reflected in the syntax of the slice header.
- the information related to the list 1 may not be transmitted. This is because List0 and List1 are the same in the GPB slice, so that List0 has substantially all the information about the reference picture.
- the information related to the list 1 is not transmitted, redundancy of unnecessary information can be eliminated, and thus the coding efficiency can be improved by reducing the amount of transmitted information.
- the encoder encodes and transmits information indicating whether the current slice is GPB and List 1 related information to the decoder (S1730).
- FIG. 18 is a flowchart schematically illustrating a method of generating a reference picture list of a decoder according to an embodiment of the present invention.
- FIG. 18 schematically illustrates a flow of a method of generating a reference picture list according to the embodiments of Tables 7, 9, 11, 14, and 17, and 20, described above. .
- the decoder receives information indicating whether the current slice is GPB from the encoder (S1810).
- the received information can be decrypted at the decoder.
- the decoder determines whether the current slice is GPB based on the information received from the encoder (S1820).
- generalized_b_slice is used as in the embodiments of Tables 7, 9, and 11, the decoder may determine whether the current slice is a GPB slice through generalized_b_slice.
- the flag ref_pic_list_identical_flag is used as in the embodiments of Tables 12, 13, and 14, the decoder may determine whether the current slice is a GPB slice through ref_pic_list_identical_flag.
- it may be determined whether the current slice is a GPB slice based on a separately defined GPB slice type.
- the decoder derives the reference picture list1 related information from the reference picture list0 related information (S1830). As described above with reference to FIG. 17, in the case of a GPB slice, the encoder may not transmit List 1 related information in order to remove unnecessary redundancy. However, since List0 and List1 are the same in the GPB slice, List1 related information can be derived using information about List0.
- the encoder transmits List 1 related information to the decoder.
- the decoder decodes the information received from the encoder to derive list 1 related information (S1840).
- the decoder may derive the reference picture list related information as described above, and generate the reference picture list using the reference picture list.
- the reference picture index (refIdxL0) indicating the reference picture of the list 0 referenced by the prediction target block is referenced by the prediction target block.
- the reference picture index refIdxL1 indicating the reference picture of List 1 indicates the same reference picture.
- FIG. 19 is a conceptual diagram schematically illustrating an embodiment of a picture in which a reference picture index of list 0 and a reference picture index of list 1 indicate the same reference picture.
- pictures are shown in display order, that is, in temporal order.
- the prediction target block in the current picture has both a reference picture index refIdxL0 for indicating the reference picture of List0 and a reference picture index refIdxL1 for indicating the reference picture of List1.
- the reference picture index for the reference picture referenced by the current prediction target block in list 0 is referred to as index L0
- the reference picture index for the reference picture referred to by the current prediction target block in list 1 is referred to as index L1.
- both the index L0 and the index L1 of the prediction target block in the current picture indicate the reference picture List0 [0] closest in temporal distance.
- the index L1 may not be transmitted. In this case, however, the encoder needs to transmit information on whether the reference picture indicated by the index L0 and the index L1 are the same to the decoder.
- a flag called ref_idx_l1_present_flag may be used to indicate information on whether the reference picture indicated by the index L0 and the index L1 is the same.
- the flag is not bound to the name, and any flag may be included in the spirit of the present invention as long as the flag indicates information on whether the reference picture indicated by the index L0 and the index L1 is the same.
- Table 21 shows a syntax structure related to the reference picture index of the prediction unit according to the embodiment of the present invention.
- ref_idx_l1_present_flag if ref_idx_l1_present_flag is 1, ref_idx_l1 is present. If ref_idx_l1_present_flag is 0, it means that ref_idx_l1 is not present. If ref_idx_l1_present_flag does not exist, it is assumed to be 1. When ref_idx_l1_present_flag is 0, ref_idx_l1 is estimated to be a value indicating the same reference picture as the reference picture indicated by ref_idx_l0.
- ref_idx_l1_present_flag is defined only when the prediction mode of the current unit is pair prediction and the current slice is GPB.
- ref_idx_l1 is defined only when ref_idx_l1_present_flag is 1.
- index L1 When ref_idx_l1_present_flag is 0, information about index L1 may not be transmitted, where index L0 and index L1 indicate the same reference picture. According to an embodiment of the present invention, since the transmission of index L1 (ref_idx_l1) information may be skipped when the index L0 and the index L1 indicate the same reference picture, the amount of information to be transmitted may be reduced.
- the index L1 in the encoder may be derived by the following process.
- the encoder uses this to derive the index L1, but otherwise, the encoder may derive the index L1 from the index L0 information. This is because the reference pictures indicated by index L0 and index L1 are the same when ref_idx_l1_present_flag is 0.
- the index L1 information should be transmitted.
- a method capable of reducing the amount of information or the number of bits necessary for the transmission of the index L1 information may be provided. This method may be provided when ref_pic_list_combination_flag is 1, that is, the current slice is a GPB slice, inter_pred_flag is Pred_BI, that is, the inter picture encoding mode is a bi-prediction mode, and ref_idx_l1_present_flag is present and a value of 1 is satisfied. The above condition may be satisfied when the reference pictures indicated by the list L0 and the list L1 are different.
- a method for reducing the bit amount of index L1 information transmitted is described.
- the encoder Since the reference pictures indicated by the list L0 and the list L1 are different from each other, the encoder generates the index L1 information by using the remaining indexes except the index indicating the same picture as the reference picture indicated by the index L0 among the indexes of the list 1. Can be. In this case, after subtracting 1 from the number of indexes of List 1 having a value higher than the index indicating the same picture as the reference picture indicated by the index L0, the index L1 information may be generated using the changed index value. In this case, the bit amount of the transmitted index L1 information may be reduced.
- List 1 may indicate four reference pictures, and values of 0, 1, 2, and 3 are assigned to an index indicating each reference picture.
- the index of the list 1 indicating the same picture as the reference picture indicated by the index L0 is 1.
- the index L1 may have an index value of 0, 2 or 3, and the encoder may transmit the indicated index L1 information to the decoder as it is.
- index L1 may have an index value of 0, 1 or 2 instead of 0, 2 or 3, and the amount of information or bits to be transmitted may be reduced.
- the process for deriving the index L1 information on the decoder side may be performed as follows.
- refIdxL1 means a reference picture index for List 1 derived from the decoder.
- variable refIdxCo is an index value of List 1 indicating the same reference picture as the reference picture indicated by the index L0 (ref_idx_l0).
- ref_idx_l1 information transmitted from the encoder may be copied to refIdxL1 as it is.
- ref_idx_l1 information may be generated after 1 is subtracted from the index values. Therefore, the decoder can copy ref_idx_l1 plus 1 to refIdxL1.
- the decoder can use the ref_idx_l1 information received from the encoder as it is. If the index value of List1 indicating the same picture as the reference picture indicated by index L0 is 1 and the index value of index L1 is 2 or 3, the index value of 1 or 2 subtracted from each index value is index L1 information. Can be used to generate Therefore, the decoder can derive the index L1 information by copying the ref_idx_l1 information received from the encoder plus refIdxL1.
- index L1 When the index value of index L1 is larger than the index value of List1 indicating the same picture as the reference picture pointed to by index L0, a value obtained by subtracting 1 from the index value may be used to generate index L1 information, so ref_idx_l1 and refIdxCo There may be the same case. Even in this case, the decoder can derive the index L1 information by copying the ref_idx_l1 information received from the encoder plus refIdxL1.
- the condition (if (! Ref_pic_list_combination_flag)) specifying whether List 0 and List 1 are the same in the syntax of [Table 21] may be modified or removed.
- the GPB slice condition may be removed.
- FIG. 20 is a flowchart schematically illustrating a method of transmitting a reference picture index of an encoder according to an embodiment of the present invention.
- FIG. 20 schematically illustrates a flow of a reference picture index transmission method according to the above-described embodiments of FIGS. 19 and 21 below.
- the inter prediction mode may be pair prediction.
- the reference picture index transmission method according to the embodiment of FIG. 20 may also be applied when the inter prediction mode is pair prediction and the current slice is a GPB slice.
- the encoder determines whether the reference picture index for the list 0 and the reference picture index for the list 1 indicate the same reference picture (S2010). In this case, as in the above-described embodiment, a flag called ref_idx_l1_present_flag may be used. According to an embodiment, the encoder may set the flag value to 0 when the reference picture index for list 0 and the reference picture index for list 1 indicate the same reference picture, and otherwise set the flag value to 1. have.
- the encoder transmits a flag such as ref_idx_l1_present_flag to the decoder to inform the decoder of this information (S2020).
- the encoder may not transmit the reference picture index for List1. This is because the index L1 can be derived using the information about the index L0 since the reference picture index for the list 0 and the reference picture index for the list 1 indicate the same reference picture. Since the transmission of the reference picture index for the list 1 is omitted, the amount of information transmitted may be reduced.
- the encoder If the information indicated by the reference picture index for list 0 and the information indicated by the reference picture index for list 1 are not the same, the encoder not only flags indicating this information but also reference picture index for list 1 to the encoder. It transmits (S2030).
- the encoder subtracts 1 from each index value of List 1 having a value higher than that of List 1 indicating the same picture as the reference picture indicated by index L0, and then generates index L1 information using the changed index value. It may be. In this case, the bit amount of the transmitted index L1 information may be reduced.
- FIG. 21 is a flowchart schematically illustrating a reference picture index generation method of a decoder according to an embodiment of the present invention. 19 and Table 21 schematically illustrate the flow of a reference picture index generation method according to an embodiment.
- the decoder receives from the encoder a flag indicating whether the reference picture index for the list 0 and the reference picture index for the list 1 indicate the same reference picture (S2110).
- the received flag information can be decoded in the decoder.
- the decoder determines whether the reference picture index for the list 0 and the reference picture index for the list 1 indicate the same reference picture based on the flag information received from the encoder (S2120). In this case, as in the embodiment of Table 19, a flag called ref_idx_l1_present_flag may be used. When the flag is 0, it may indicate that the index L0 and the index L1 indicate the same reference picture. Otherwise, the index L0 and the index L1 do not indicate the same reference picture.
- the decoder When the index L0 and the index L1 indicate the same reference picture, the decoder derives the index L1 from the index L0 information (S2130). As described above with reference to FIG. 20, when the index L0 and the index L1 indicate the same reference picture, the encoder may not transmit the index L1 information in order to remove unnecessary duplication. However, since the index L0 and the index L1 indicate the same reference picture, the index L1 may be derived from the index L0 information.
- the decoder decodes the information received from the encoder to derive the index L1 (S2140).
- the encoder may generate index L1 information using the changed index value after subtracting 1 from each index value of List 1 having a value higher than that of List 1 indicating the same picture as the reference picture indicated by index L0. have. Therefore, when the index value of index L1 is larger than the index value of List 1 indicating the same picture as the reference picture indicated by index L0, the decoder derives index L1 by adding 1 to the index value of the index L1 information received from the encoder. can do.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Provided is an image-decoding method. Image information, including information indicating whether or not a current slice is a GPB slice, is received from an encoder, and reference picture list 0 and reference picture list 1 are generated on the basis of the information indicating whether or not a current slice is a GPB slice. According to the present invention, the amount of information transmitted from an encoder to a decoder is reduced, and encoding efficiency is enhanced.
Description
본 발명은 영상 처리에 관한 것으로써, 보다 상세하게는 참조 픽쳐 리스트 구성 방법을 포함하는 복호화 방법 및 장치에 관한 것이다.The present invention relates to image processing, and more particularly, to a decoding method and apparatus including a method of constructing a reference picture list.
최근 HD(High Definition) 영상 및 UHD(Ultra High Definition) 영상과 같은 고해상도, 고품질의 영상에 대한 수요가 다양한 분야에서 증가하고 있다. 영상 데이터가 고해상도, 고품질이 될수록 기존의 영상 데이터에 비해 상대적으로 전송되는 정보량 또는 비트량이 증가하기 때문에 기존의 유무선 광대역 회선과 같은 매체를 이용하여 영상 데이터를 전송하거나 기존의 저장 매체를 이용해 영상 데이터를 저장하는 경우, 전송 비용과 저장 비용이 증가된다. 이러한 문제들을 해결하기 위해서 고효율의 영상 압축 기술들이 이용될 수 있다.Recently, the demand for high resolution and high quality images such as high definition (HD) images and ultra high definition (UHD) images is increasing in various fields. The higher the resolution and the higher quality of the image data, the more information or bit rate is transmitted than the existing image data. Therefore, the image data can be transmitted by using a medium such as a conventional wired / wireless broadband line or by using a conventional storage medium. In the case of storage, the transmission cost and the storage cost are increased. High efficiency image compression techniques can be used to solve these problems.
영상 압축 기술에는 현재 픽쳐의 이전 및/또는 이후 픽쳐로부터 현재 픽쳐에 포함된 화소값을 예측하는 화면 간 예측(inter prediction) 기술, 현재 픽쳐 내의 화소 정보를 이용하여 현재 픽쳐에 포함된 화소값을 예측하는 화면 내 예측(intra prediction) 기술, 출현 빈도가 높은 값에 짧은 부호를 할당하고 출현 빈도가 낮은 값에 긴 부호를 할당하는 엔트로피 부호화 기술 등 다양한 기술이 존재한다. 이러한 영상 압축 기술을 이용해 영상 데이터가 효과적으로 압축되어 전송 또는 저장될 수 있다. The image compression technique includes an inter prediction technique that predicts pixel values included in a current picture from before and / or after a current picture, and predicts pixel values included in a current picture by using pixel information in the current picture. There are various techniques, such as intra prediction technique, an entropy encoding technique of allocating a short code to a high frequency of appearance and a long code to a low frequency of appearance. By using such image compression technology, image data may be effectively compressed and transmitted or stored.
화면 간 예측 기술에서는 현재 픽쳐의 이전 및/또는 이후 픽쳐, 즉 참조 픽쳐로부터 현재 픽쳐에 포함된 화소값이 예측되므로, 참조 픽쳐 리스트에 관한 정보가 생성, 전송될 수 있다.In the inter prediction technology, since a pixel value included in a current picture is predicted from a picture before and / or after a current picture, that is, a reference picture, information about a reference picture list may be generated and transmitted.
본 발명의 기술적 과제는 참조 픽쳐 리스트 구성 방법을 포함하는 영상 복호화 방법 및 장치를 제공함에 있다.An object of the present invention is to provide an image decoding method and apparatus including a method of constructing a reference picture list.
본 발명의 다른 기술적 과제는 복호화기로 전송되는 최대 참조 픽쳐 개수의 정보량을 감소시킬 수 있는 참조 픽쳐 리스트 구성 방법을 포함하는 영상 복호화 방법 및 장치를 제공함에 있다.Another object of the present invention is to provide an image decoding method and apparatus including a method of constructing a reference picture list capable of reducing the amount of information of the maximum number of reference pictures transmitted to a decoder.
본 발명의 또 다른 기술적 과제는 복호화기로 전송되는 정보량을 감소시킬 수 있는 컴바인드 리스트 구성 방법을 포함하는 영상 복호화 방법 및 장치를 제공함에 있다.Another technical problem of the present invention is to provide an image decoding method and apparatus including a combined list construction method capable of reducing the amount of information transmitted to a decoder.
본 발명의 또 다른 기술적 과제는 컴바인드 리스트 생성 없이 복호화기로 전송되는 화면 간 예측 모드 정보의 정보량을 감소시킬 수 있는 참조 픽쳐 리스트 구성 방법을 포함하는 영상 복호화 방법 및 장치를 제공함에 있다.Another object of the present invention is to provide an image decoding method and apparatus including a method of constructing a reference picture list capable of reducing the amount of information of inter prediction mode information transmitted to a decoder without generating a combine list.
본 발명의 또 다른 기술적 과제는 GPB(Generalized P and B) 슬라이스에 대해 복호화기로 전송되는 정보량을 감소시킬 수 있는 참조 픽쳐 리스트 구성 방법을 포함하는 영상 복호화 방법 및 장치를 제공함에 있다.Another technical problem of the present invention is to provide an image decoding method and apparatus including a method of constructing a reference picture list capable of reducing the amount of information transmitted to a decoder for a generalized P and B (GPB) slice.
본 발명의 또 다른 기술적 과제는 로우 딜레이 B 슬라이스에 대해 시간적 움직임 정보 후보자(temporal motion information candidate) 도출시의 복잡도를 감소시킬 수 있는 영상 복호화 방법 및 장치를 제공함에 있다.Another object of the present invention is to provide an image decoding method and apparatus capable of reducing the complexity of deriving a temporal motion information candidate for a low delay B slice.
본 발명의 또 다른 기술적 과제는 복호화기로 전송되는 참조 픽쳐 인덱스 정보의 정보량을 감소시킬 수 있는 참조 픽쳐 리스트 구성 방법을 포함하는 영상 복호화 방법 및 장치를 제공함에 있다.Another object of the present invention is to provide an image decoding method and apparatus including a method of constructing a reference picture list capable of reducing the amount of information of reference picture index information transmitted to a decoder.
본 발명의 일 실시 형태는 영상 복호화 방법이다. 상기 방법은 제1 플래그 정보를 포함하는 참조 픽쳐 리스트(reference picture list) 정보를 수신하는 단계, 상기 제1 플래그 정보에 기초하여 상기 참조 픽쳐 리스트 내의 최대 참조 픽쳐 개수 정보를 도출하는 단계 및 상기 최대 참조 픽쳐 개수 정보를 이용하여 참조 픽쳐 리스트를 생성하는 단계를 포함한다.One embodiment of the present invention is a video decoding method. The method includes receiving reference picture list information including first flag information, deriving maximum reference picture number information in the reference picture list based on the first flag information, and the maximum reference. Generating a reference picture list by using picture number information.
상기 제1 플래그 정보는 현재 픽쳐에 대해 허용되는 제1 최대 참조 픽쳐 개수와 현재 슬라이스(slice)에 대해 허용되는 제2 최대 참조 픽쳐 개수가 동일한지 여부를 지시하고, 상기 제1 플래그 정보는 시퀀스 파라미터 셋(SPS: Sequence Parameter Set) 정보 또는 픽쳐 파라미터 셋(PPS: Picture Parameter Set) 정보로부터 획득될 수 있다.The first flag information indicates whether the number of first maximum reference pictures allowed for the current picture and the number of second maximum reference pictures allowed for the current slice are the same, and the first flag information indicates a sequence parameter. Sequence Parameter Set (SPS) information or Picture Parameter Set (PPS) information.
상기 제1 플래그 정보는 현재 시퀀스 내의 모든 각각의 픽쳐 및 슬라이스에대해 허용되는 최대 참조 픽쳐 개수가 서로 동일한지 여부를 지시하고, 상기 제1 플래그 정보는 시퀀스 파라미터 셋 정보로부터 획득되는 정보일 수 있다.The first flag information may indicate whether the maximum number of reference pictures allowed for all pictures and slices in the current sequence is the same. The first flag information may be information obtained from sequence parameter set information.
본 발명의 다른 실시 형태는 영상 복호화 방법이다. 상기 방법은 현재 픽쳐에 대한 참조 픽쳐 리스트0 및 참조 픽쳐 리스트1을 생성하는 단계, 상기 참조 픽쳐 리스트0 및 상기 참조 픽쳐 리스트1에 포함된 참조 픽쳐의 템포럴 레벨(temporal level) 및 상기 현재 픽쳐로부터의 시간적 거리(temporal distance)를 판별하는 단계 및 상기 템포럴 레벨 및 상기 시간적 거리에 기초하여 상기 참조 픽쳐를 삽입하여 컴바인드 리스트(combined list)를 생성하는 단계를 포함한다. 상기 컴바인드 리스트를 생성하는 단계에서는, 상기 시간적 거리가 작은 참조 픽쳐가 우선적으로 삽입되고, 상기 시간적 거리가 동일한 참조 픽쳐 중에서 상기 템포럴 레벨이 낮은 참조 픽쳐가 우선적으로 삽입되고, 상기 시간적 거리 및 상기 템포럴 레벨이 동일한 참조 픽쳐 중에서 참조 픽쳐 리스트0에 포함된 참조 픽쳐가 우선적으로 삽입될 수 있다.Another embodiment of the present invention is a video decoding method. The method may further include generating a reference picture list 0 and a reference picture list 1 for the current picture, from a temporal level of the reference picture included in the reference picture list 0 and the reference picture list 1 and the current picture. Determining a temporal distance of the memory; and inserting the reference picture based on the temporal level and the temporal distance to generate a combined list. In the generating of the combined list, a reference picture having a small temporal distance is inserted first, a reference picture having a low temporal level is preferentially inserted among the reference pictures having the same temporal distance, and the temporal distance and the Reference pictures included in reference picture list 0 may be preferentially inserted among reference pictures having the same temporal level.
상기 방법은 상기 템포럴 레벨이 낮은 참조 픽쳐가 우선적으로 삽입되는지 항상 참조 픽쳐 리스트0에 포함된 참조 픽쳐가 우선적으로 삽입되는지 여부를 지시하는 제2 플래그 정보를 수신하는 단계를 추가로 포함할 수 있다.The method may further include receiving second flag information indicating whether a reference picture having a low temporal level is inserted first or always whether a reference picture included in reference picture list 0 is inserted first. .
본 발명의 또 다른 실시 형태는 영상 복호화 방법이다. 상기 방법은 현재 픽쳐에 대한 참조 픽쳐 리스트0 및 참조 픽쳐 리스트1을 생성하는 단계, 상기 참조 픽쳐 리스트0 및 상기 참조 픽쳐 리스트1에 포함된 참조 픽쳐의 양자화 파라미터 및 상기 현재 픽쳐로부터의 시간적 거리를 판별하는 단계 및 상기 양자화 파라미터(QP: Quantazation Parameter) 및 상기 시간적 거리에 기초하여 상기 참조 픽쳐를 삽입하여 컴바인드 리스트를 생성하는 단계를 포함한다. 상기 컴바인드 리스트를 생성하는 단계에서는 상기 시간적 거리가 작은 참조 픽쳐가 우선적으로 삽입되고, 상기 시간적 거리가 동일한 참조 픽쳐 중에서 상기 양자화 파라미터가 낮은 참조 픽쳐가 우선적으로 삽입되고, 상기 시간적 거리 및 상기 양자화 파라미터가 동일한 참조 픽쳐 중에서 참조 픽쳐 리스트0에 포함된 참조 픽쳐가 우선적으로 삽입될 수 있다.Another embodiment of the present invention is a video decoding method. The method may include generating a reference picture list 0 and a reference picture list 1 for a current picture, determining a quantization parameter of a reference picture included in the reference picture list 0 and the reference picture list 1, and a temporal distance from the current picture. And inserting the reference picture based on the quantization parameter (QP) and the temporal distance to generate a bind list. In the generating of the combine list, a reference picture having a small temporal distance is inserted first, and a reference picture having a low quantization parameter is preferentially inserted among the reference pictures having the same temporal distance, and the temporal distance and the quantization parameter are first inserted. Reference pictures included in reference picture list 0 among the same reference pictures may be inserted first.
본 발명의 또 다른 실시 형태는 단예측(uni-prediction) 모드의 화면 간 예측을 이용한 영상 복호화 방법이다. 상기 방법은 현재 픽쳐에 대한 참조 픽쳐 리스트0 및 참조 픽쳐 리스트1을 생성하는 단계, 상기 참조 픽쳐 리스트0 및 상기 참조 픽쳐 리스트1에 포함된 참조 픽쳐들을 스캔하여, 상기 현재 픽쳐 내의 현재 예측 대상 블록에 대한 참조 픽쳐를 선택하는 단계 및 선택된 참조 픽쳐를 이용하여 상기 현재 예측 대상 블록에 대한 움직임 정보를 도출하는 단계를 포함한다. 상기 현재 픽쳐 내의 현재 예측 대상 블록에 대한 참조 픽쳐를 선택하는 단계에서는 참조 픽쳐 리스트0의 참조 픽쳐부터 시작하여, 참조 픽쳐 인덱스가 낮은 순서로, 참조 픽쳐 리스트0의 참조 픽쳐와 참조 픽쳐 리스트1의 참조 픽쳐가 교대로 스캔되고, 현재 순서의 참조 픽쳐가 이전 순서의 참조 픽쳐와 동일한 경우, 상기 현재 순서의 참조 픽쳐에 대한 스캔이 생략(skip)될 수 있다.Another embodiment of the present invention is a video decoding method using inter prediction in uni-prediction mode. The method may include generating a reference picture list 0 and a reference picture list 1 for a current picture, scanning the reference pictures included in the reference picture list 0 and the reference picture list 1, and then scanning the current pictures to a current prediction target block in the current picture. Selecting a reference picture for the image and deriving motion information on the current prediction target block using the selected reference picture. In the selecting of the reference picture for the current prediction target block in the current picture, the reference picture of reference picture list 0 and the reference picture list 1 are referenced, starting from the reference picture of reference picture list 0, and then in descending order of the reference picture index. When pictures are alternately scanned and the reference pictures in the current order are the same as the reference pictures in the previous order, scanning for the reference pictures in the current order may be skipped.
본 발명의 또 다른 실시 형태는 영상 복호화 방법이다. 상기 방법은 부호화기로부터 현재 슬라이스가 GPB(Generalized P and B) 슬라이스인지 여부를 지시하는 정보를 포함한 영상 정보를 수신하는 단계 및 상기 현재 슬라이스가 GPB 슬라이스인지 여부를 지시하는 정보에 기초하여, 참조 픽쳐 리스트0 및 참조 픽쳐 리스트1을 생성하는 단계를 포함한다. 상기 참조 픽쳐 리스트0 및 상기 참조 픽쳐 리스트1을 생성하는 단계에서는, 상기 현재 슬라이스가 GPB 슬라이스이면, 상기 영상 정보에 포함된 상기 참조 픽쳐 리스트0 관련 정보를 이용하여 상기 참조 픽쳐 리스트1을 생성하고, 상기 GPB 슬라이스는 상기 참조 픽쳐 리스트0과 상기 참조 픽쳐 리스트1이 동일한 슬라이스이다.Another embodiment of the present invention is a video decoding method. The method includes receiving image information including information indicating whether a current slice is a Generalized P and B (GPB) slice from an encoder, and based on information indicating whether the current slice is a GPB slice, a reference picture list. Generating 0 and reference picture list1. In the generating of the reference picture list 0 and the reference picture list 1, if the current slice is a GPB slice, the reference picture list 1 is generated using the reference picture list 0 related information included in the image information. The GPB slice is a slice in which the reference picture list 0 and the reference picture list 1 are the same.
상기 현재 슬라이스가 GPB 슬라이스인지 여부를 지시하는 정보는, 현재 슬라이스가 GPB 슬라이스인지 여부를 지시하는 제3 플래그(flag)에 의해 지시되는 정보이고, 상기 제3 플래그는 부호화기에서 생성되어 복호화기로 전송되는 플래그이고, 상기 제3 플래그가 현재 슬라이스가 GPB 슬라이스임을 지시하는 경우, 상기 영상 정보는 참조 픽쳐 리스트1 관련 정보를 포함하지 않을 수 있다.The information indicating whether the current slice is a GPB slice is information indicated by a third flag indicating whether the current slice is a GPB slice, and the third flag is generated by an encoder and transmitted to the decoder. If the flag and the third flag indicates that the current slice is a GPB slice, the image information may not include reference picture list1 related information.
상기 제3 플래그는 상기 현재 슬라이스가 B 픽쳐일 때만 부호화기에서 생성되어 복호화기로 전송되는 플래그일 수 있다.The third flag may be a flag generated by an encoder and transmitted to a decoder only when the current slice is a B picture.
상기 현재 슬라이스가 GPB 슬라이스인지 여부를 지시하는 정보는, 현재 슬라이스에 대해 상기 참조 픽쳐 리스트0과 상기 참조 픽쳐 리스트1이 동일한지 여부를 지시하는 제4 플래그에 의해 지시되는 정보이고, 상기 제4 플래그는 부호화기에서 생성되어 복호화기로 전송되는 플래그이고, 상기 제4 플래그가 현재 슬라이스에 대해 상기 참조 픽쳐 리스트0과 상기 참조 픽쳐 리스트1이 동일함을 지시하는 경우, 상기 영상 정보는 참조 픽쳐 리스트1 관련 정보를 포함하지 않을 수 있다. The information indicating whether the current slice is a GPB slice is information indicated by a fourth flag indicating whether the reference picture list 0 and the reference picture list 1 are the same for the current slice, and the fourth flag. Is a flag generated by the encoder and transmitted to the decoder, and when the fourth flag indicates that the reference picture list 0 and the reference picture list 1 are the same for the current slice, the image information is related to the reference picture list1. It may not include.
상기 GPB 슬라이스는 I 슬라이스, P 슬라이스 및 B 슬라이스와 별개로 정의되는 슬라이스 타입이고, 상기 B 슬라이스는 참조 픽쳐 리스트0과 참조 픽쳐 리스트1이 동일하지 않은 슬라이스이고, 상기 현재 슬라이스가 GPB 슬라이스인지 여부를 지시하는 정보는 상기 GPB 슬라이스의 슬라이스 타입에 의해 지시되는 정보이고, 상기 현재 슬라이스의 슬라이스 타입이 GPB 슬라이스인 경우, 상기 영상 정보는 참조 픽쳐 리스트1 관련 정보를 포함하지 않을 수 있다.The GPB slice is a slice type defined separately from an I slice, a P slice, and a B slice, and the B slice is a slice in which reference picture list 0 and reference picture list 1 are not the same, and whether the current slice is a GPB slice. The indicating information is information indicated by the slice type of the GPB slice, and when the slice type of the current slice is a GPB slice, the image information may not include reference picture list1 related information.
본 발명의 또 다른 실시 형태는 영상 복호화 방법이다. 상기 방법은 현재 슬라이스가 로우 딜레이(low delay) B 슬라이스인지 여부를 지시하는 정보를 포함한 영상 정보를 수신하는 단계, 상기 현재 슬라이스가 로우 딜레이 B 슬라이스인지 여부를 지시하는 정보에 기초하여, 현재 예측 대상 블록에 대한 동일 위치(co-located) 블록의 참조 픽쳐 리스트를 체크함으로써, 시간적 움직임 정보 후보자(temporal motion information candidate)를 도출하는 단계 및 상기 시간적 움직임 정보 후보자 및 상기 영상 정보를 이용하여 화면간(inter) 예측을 수행하는 단계를 포함하고, 상기 로우 딜레이 B 슬라이스는 순방향 참조 픽쳐만을 가지는 슬라이스이고, 상기 동일 위치 블록은 상기 현재 예측 대상 블록의 참조 픽쳐 내에 위치한 블록이고, 상기 현재 슬라이스가 로우 딜레이 B 슬라이스인 경우 상기 시간적 움직임 정보 후보자를 도출하는 단계에서는, 상기 동일 위치 블록의 상기 참조 픽쳐 리스트 중 상기 현재 예측 대상 블록의 참조 픽쳐 리스트와 동일한 참조 픽쳐 리스트가 먼저 체크된다.Another embodiment of the present invention is a video decoding method. The method includes receiving image information including information indicating whether a current slice is a low delay B slice, and based on information indicating whether the current slice is a low delay B slice, a current prediction target. Deriving a temporal motion information candidate by checking a reference picture list of a co-located block with respect to the block, and inter-screening using the temporal motion information candidate and the image information ) Performing prediction, wherein the low delay B slice is a slice having only a forward reference picture, the co-located block is a block located within a reference picture of the current prediction target block, and the current slice is a low delay B slice. In the case of the temporal motion information candidates In the step, the same reference picture list and the list of reference pictures of the reference picture list of the co-located block in the current prediction block is first checked.
본 발명의 또 다른 실시 형태는 영상 복호화 방법이다. 상기 방법은 현재 예측 대상 블록에 대해, 부호화기로부터 인덱스L0과 인덱스L1이 동일한 참조 픽쳐를 지시하는지 여부를 가리키는 제5 플래그 정보를 포함한 영상 정보를 수신하는 단계 및 상기 제5 플래그 정보에 기초하여, 상기 인덱스L0 및 상기 인덱스L1을 생성하는 단계를 포함한다. 상기 인덱스L0은 참조 픽쳐 리스트0에서 상기 현재 예측 대상 블록이 참조하는 참조 픽쳐에 대한 참조 픽쳐 인덱스이고, 상기 인덱스L1은 참조 픽쳐 리스트1에서 상기 현재 예측 대상 블록이 참조하는 참조 픽쳐에 대한 참조 픽쳐 인덱스이다.Another embodiment of the present invention is a video decoding method. The method may further include receiving image information including fifth flag information indicating whether index L0 and index L1 indicate the same reference picture from the encoder with respect to the current prediction target block, and based on the fifth flag information. Generating an index L0 and the index L1. The index L0 is a reference picture index of a reference picture referenced by the current prediction target block in reference picture list 0, and the index L1 is a reference picture index of a reference picture referenced by the current prediction target block in reference picture list 1. to be.
상기 인덱스L0 및 상기 인덱스L1을 생성하는 단계에서, 상기 인덱스L0과 상기 인덱스L1이 지시하는 참조 픽쳐가 동일한 경우, 상기 영상 정보는 상기 인덱스L1 관련 정보를 포함하지 않고, 상기 영상 정보에 포함된 상기 인덱스L0 관련 정보를 이용하여 상기 인덱스L1을 생성할 수 있다.In the generating of the index L0 and the index L1, when the index L0 and the reference picture indicated by the index L1 are the same, the image information does not include the index L1 related information and is included in the image information. The index L1 may be generated using the index L0 related information.
상기 인덱스L0 및 상기 인덱스L1을 생성하는 단계에서, 상기 인덱스L0과 상기 인덱스L1이 지시하는 참조 픽쳐가 동일하지 않은 경우, 상기 인덱스L1의 인덱스 값이 인덱스Co보다 크면, 상기 영상 정보에 포함된 상기 인덱스L1 관련 정보의 인덱스 값에 1을 더하여 상기 인덱스L1을 생성하고, 상기 인덱스L1의 인덱스 값이 상기 인덱스Co보다 작으면, 상기 영상 정보에 포함된 상기 인덱스L1 관련 정보의 인덱스 값을 카피(copy)하여 상기 인덱스L1을 생성하고, 상기 인덱스Co는 상기 인덱스L0이 지시하는 참조 픽쳐와 동일한 픽쳐를 지시하는 상기 참조 픽쳐 리스트1의 인덱스 값일 수 있다.In the generating of the index L0 and the index L1, when the index pictures indicated by the index L0 and the index L1 are not the same, when the index value of the index L1 is larger than the index Co, the index information included in the image information is included. The index L1 is generated by adding 1 to the index value of the index L1 related information. If the index value of the index L1 is smaller than the index Co, the index value of the index L1 related information included in the image information is copied. The index L1 may be generated, and the index Co may be an index value of the reference picture list 1 indicating the same picture as the reference picture indicated by the index L0.
영상의 부호화 및 복호화에 있어, 전송되는 정보량이 감소되고 코딩 효율이 향상된다.In the encoding and decoding of an image, the amount of information transmitted is reduced and the coding efficiency is improved.
도 1은 본 발명의 일 실시예에 따른 영상 부호화 장치를 개략적으로 도시한 블록도이다.1 is a block diagram schematically illustrating an image encoding apparatus according to an embodiment of the present invention.
도 2는 본 발명의 일 실시예에 따른 예측부를 개략적으로 도시한 개념도이다.2 is a conceptual diagram schematically illustrating a prediction unit according to an embodiment of the present invention.
도 3은 본 발명이 적용되는 시스템에서 처리 유닛의 쿼드 트리 구조에 관한 일 예를 개략적으로 도시하는 개념도이다. 3 is a conceptual diagram schematically illustrating an example of a quad tree structure of a processing unit in a system to which the present invention is applied.
도 4는 본 발명의 일 실시예에 따른 영상 복호화 장치를 개략적으로 나타낸 블록도이다.4 is a block diagram schematically illustrating an image decoding apparatus according to an embodiment of the present invention.
도 5는 본 발명의 일 실시예에 따른 영상 복호화 장치의 예측부를 개략적으로 나타낸 개념도이다. 5 is a conceptual diagram schematically illustrating a predictor of an image decoding apparatus according to an embodiment of the present invention.
도 6은 P 픽쳐와 B 픽쳐에서 사용될 수 있는 예측 방법의 실시예를 개략적으로 나타내는 개념도이다.6 is a conceptual diagram schematically illustrating an embodiment of a prediction method that may be used in a P picture and a B picture.
도 7은 통상의 P 픽쳐, 통상의 B 픽쳐 및 GPB의 예측 방법을 비교하여 개략적으로 나타내는 개념도이다.7 is a conceptual diagram schematically illustrating a comparison between a conventional P picture, a conventional B picture, and a prediction method of a GPB.
도 8은 본 발명의 실시예에 따라 부호화기에서 참조 픽쳐 리스트를 구성하여 참조 픽쳐 리스트 정보를 전송하는 방법을 개략적으로 나타내는 흐름도이다.8 is a flowchart schematically illustrating a method for constructing a reference picture list in the encoder and transmitting reference picture list information according to an embodiment of the present invention.
도 9는 본 발명의 실시예에 따라 복호화기에서 참조 픽쳐 리스트 정보를 수신하여 참조 픽쳐 리스트를 생성하는 방법을 개략적으로 나타내는 흐름도이다.9 is a flowchart schematically illustrating a method of generating reference picture list by receiving reference picture list information in a decoder according to an embodiment of the present invention.
도 10은 컴바인드 리스트 구성 방법의 일 실시예를 개략적으로 나타내는 개념도이다.10 is a conceptual diagram schematically illustrating an embodiment of a method of constructing a bind list.
도 11은 계층적 코딩 구조의 일 실시예를 개략적으로 나타내는 개념도이다.11 is a conceptual diagram schematically illustrating an embodiment of a hierarchical coding structure.
도 12는 본 발명에 따른 템포럴 레벨을 이용한 컴바인드 리스트 생성 방법의 실시예를 개략적으로 나타내는 개념도이다.12 is a conceptual diagram schematically showing an embodiment of a method of generating a combined list using a temporal level according to the present invention.
도 13은 본 발명에 따른 컴바인드 리스트 생성 방법의 일 실시예를 나타내는 흐름도이다.13 is a flowchart illustrating an embodiment of a method for generating a combine list according to the present invention.
도 14는 본 발명의 실시예에 따른 참조 픽쳐 선택 방법을 개략적으로 나타내는 개념도이다.14 is a conceptual diagram schematically illustrating a reference picture selection method according to an embodiment of the present invention.
도 15는 본 발명의 실시예에 따른 움직임 정보 도출 방법을 개략적으로 나타내는 흐름도이다.15 is a flowchart schematically illustrating a method for deriving motion information according to an embodiment of the present invention.
도 16은 GPB 및 로우 딜레이 B 픽쳐에 대한 참조 픽쳐와 참조 픽쳐 리스트의 일 실시예를 개략적으로 나타내는 개념도이다.16 is a conceptual diagram schematically illustrating an embodiment of a reference picture and a reference picture list for a GPB and low delay B picture.
도 17은 본 발명의 실시예에 따른 부호화기의 참조 픽쳐 리스트 전송 방법을 개략적으로 나타내는 흐름도이다.17 is a flowchart schematically illustrating a method of transmitting a reference picture list of an encoder according to an embodiment of the present invention.
도 18은 본 발명의 실시예에 따른 복호화기의 참조 픽쳐 리스트 생성 방법을 개략적으로 나타내는 흐름도이다.18 is a flowchart schematically illustrating a method of generating a reference picture list of a decoder according to an embodiment of the present invention.
도 19는 리스트0의 참조 픽쳐 인덱스와 리스트1의 참조 픽쳐 인덱스가 동일한 참조 픽쳐를 지시하는 픽쳐의 실시예를 개략적으로 나타내는 개념도이다.19 is a conceptual diagram schematically illustrating an embodiment of a picture in which a reference picture index of list 0 and a reference picture index of list 1 indicate the same reference picture.
도 20은 본 발명의 실시예에 따른 부호화기의 참조 픽쳐 인덱스 전송 방법을 개략적으로 나타내는 흐름도이다.20 is a flowchart schematically illustrating a method of transmitting a reference picture index of an encoder according to an embodiment of the present invention.
도 21은 본 발명의 실시예에 따른 복호화기의 참조 픽쳐 인덱스 생성 방법을 개략적으로 나타내는 흐름도이다.21 is a flowchart schematically illustrating a reference picture index generation method of a decoder according to an embodiment of the present invention.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니다. 본 명세서에서 사용하는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명의 기술적 사상을 한정하려는 의도로 사용되는 것은 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.As the present invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description. However, this is not intended to limit the invention to the specific embodiments. The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the spirit of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this specification, terms such as "comprise" or "have" are intended to indicate that there is a feature, number, step, action, component, part, or combination thereof described on the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.
한편, 본 발명에서 설명되는 도면상의 각 구성들은 영상 부호화/복호화 장치에서 서로 다른 특징적인 기능들에 관한 설명의 편의를 위해 독립적으로 도시된 것으로서, 각 구성들이 서로 별개의 하드웨어나 별개의 소프트웨어로 구현된다는 것을 의미하지는 않는다. 예컨대, 각 구성 중 두 개 이상의 구성이 합쳐져 하나의 구성을 이룰 수도 있고, 하나의 구성이 복수의 구성으로 나뉘어질 수도 있다. 각 구성이 통합 및/또는 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.On the other hand, 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 apparatus, each component is implemented by separate hardware or separate software It does not mean to be. For example, 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.
또한, 일부의 구성 요소는 본 발명에서 본질적인 기능을 수행하는 필수적인 구성 요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성 요소일 수 있다. 본 발명은 단지 성능 향상을 위해 사용되는 구성 요소를 제외한 본 발명의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 단지 성능 향상을 위해 사용되는 선택적 구성 요소를 제외한 필수 구성 요소만을 포함한 구조도 본 발명의 권리 범위에 포함된다.In addition, some of the components may not be essential components for performing essential functions in the present invention, but may be optional components for improving performance. The present invention can be implemented including only the components essential for implementing the essentials of the present invention except for the components used for improving performance, and the structure including only the essential components except for the optional components used for improving performance. Also included within the scope of the present invention.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성 요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성 요소에 대해서 중복된 설명은 생략한다.Hereinafter, with reference to the accompanying drawings, it will be described in detail a preferred embodiment of the present invention. Hereinafter, the same reference numerals are used for the same components in the drawings, and redundant description of the same components is omitted.
도 1은 본 발명의 일 실시예에 따른 영상 부호화 장치를 개략적으로 도시한 블록도이다. 도 1을 참조하면, 영상 부호화 장치(100)는 픽쳐 분할부(105), 예측부(110), 변환부(115), 양자화부(120), 재정렬부(125), 엔트로피 부호화부(130), 역양자화부(135), 역변환부(140), 필터부(145) 및 메모리(150)를 포함한다. 1 is a block diagram schematically illustrating an image encoding apparatus according to an embodiment of the present invention. Referring to FIG. 1, the image encoding apparatus 100 may include a picture splitter 105, a predictor 110, a transformer 115, a quantizer 120, a realigner 125, and an entropy encoder 130. , An inverse quantization unit 135, an inverse transform unit 140, a filter unit 145, and a memory 150.
픽쳐 분할부(105)는 입력된 픽쳐를 적어도 하나의 처리 단위로 분할할 수 있다. 이때, 처리 단위는 예측 유닛(Prediction Unit: PU)일 수도 있고, 변환 유닛(Transform Unit: TU)일 수도 있으며, 부호화 유닛(Coding Unit: CU)일 수도 있다. The picture dividing unit 105 may divide the input picture into at least one processing unit. In this case, the processing unit may be a prediction unit (PU), a transform unit (TU), or a coding unit (CU).
예측부(110)는 후술하는 바와 같이, 화면 간 예측을 수행하는 화면 간 예측부와 화면 내 예측을 수행하는 화면 내 예측부를 포함한다. 예측부(110)는, 픽쳐 분할부(105)에서의 픽쳐의 처리 단위에 대하여 예측을 수행하여 예측 블록을 생성한다. 예측부(110)에서 픽쳐의 처리 단위는 부호화 유닛일 수도 있고, 변환 유닛일 수도 있고, 예측 유닛일 수도 있다. 또한, 해당 처리 단위에 대하여 실시되는 예측이 화면 간 예측인지 화면 내 예측인지를 결정하고, 각 예측 방법의 구체적인 내용(예컨대, 예측 모드 등)를 정할 수 있다. 이때, 예측이 수행되는 처리 단위와 예측 방법 및 구체적인 내용이 정해지는 처리 단위는 다를 수 있다. 예컨대, 예측의 방법과 예측 모드 등은 예측 유닛 단위로 결정되고, 예측의 수행은 변환 유닛 단위로 수행될 수도 있다. 생성된 예측 블록과 원본 블록 사이의 잔차값(잔차 블록: residual block)은 변환부(115)로 입력된다. 또한, 예측을 위해 사용한 예측 모드 정보, 움직임 벡터(motion vector) 정보 등은 잔차값과 함께 엔트로피 부호화부(130)에서 부호화되어 복호화기에 전달된다. The predictor 110 includes an inter prediction unit for performing inter prediction and an intra prediction unit for performing intra prediction. The prediction unit 110 generates a prediction block by performing prediction on the processing unit of the picture in the picture division unit 105. The processing unit of the picture in the prediction unit 110 may be a coding unit, a transformation unit, or a prediction unit. In addition, it is possible to determine whether the prediction performed on the processing unit is inter-screen prediction or intra-screen prediction, and determine specific contents (eg, prediction mode, etc.) of each prediction method. In this case, the processing unit in which the prediction is performed may differ from the processing unit in which the prediction method and the details are determined. For example, the method of prediction and the prediction mode are determined in units of prediction units, and the performance of prediction may be performed in units of transform units. The residual value (residual block) between the generated prediction block and the original block is input to the converter 115. In addition, prediction mode information and motion vector information used for prediction are encoded by the entropy encoder 130 together with the residual value and transmitted to the decoder.
변환부(115)는 변환 단위로 잔차 블록에 대한 변환을 수행하고 변환 계수를 생성한다. 변환부(115)에서의 변환 단위는 변환 유닛일 수 있으며, 쿼드 트리(quad tree) 구조를 가질 수 있다. 이때, 변환 단위의 크기는 소정의 최대 및 최소 크기의 범위 내에서 정해질 수 있다. 변환부(115)는 잔차 블록을 DCT(Discrete Cosine Transform) 및/또는 DST(Discrete Sine Transform)를 이용하여 변환할 수 있다. The transform unit 115 performs a transform on the residual block in transform units and generates transform coefficients. The transform unit in the transform unit 115 may be a transform unit 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 transform the residual block using a discrete cosine transform (DCT) and / or a discrete sine transform (DST).
양자화부(120)는 변환부(115)에서 변환된 잔차값들을 양자화하여 양자화 계수를 생성할 수 있다. 양자화부(120)에서 산출된 값은 역양자화부(135)와 재정렬부(125)에 제공된다. The quantization unit 120 may generate quantization coefficients by quantizing the residual values transformed by the transformation unit 115. The value calculated by the quantization unit 120 is provided to the inverse quantization unit 135 and the reordering unit 125.
재정렬부(125)는 양자화부(120)로부터 제공된 양자화 계수를 재정렬한다. 양자화 계수를 재정렬함으로써 엔트로피 부호화부(130)에서의 부호화의 효율을 높일 수 있다. 재정렬부(125)는 계수 스캐닝(Coefficient Scanning) 방법을 통해 2차원 블록 형태의 양자화 계수들을 1차원의 벡터 형태로 재정렬할 수 있다. 재정렬부(125)에서는 양자화부에서 전송된 계수들의 확률적인 통계를 기반으로 계수 스캔닝의 순서를 변경함으로써 엔트로피 부호화부(130)에서의 엔트로피 부호화 효율을 높일 수도 있다.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 encoder 130 may be increased. The reordering unit 125 may rearrange the quantization coefficients in the form of a two-dimensional block into a one-dimensional vector form through a coefficient scanning method. The reordering unit 125 may increase the entropy coding efficiency of the entropy encoder 130 by changing the order of coefficient scanning based on probabilistic statistics of coefficients transmitted from the quantization unit.
엔트로피 부호화부(130)는 재정렬부(125)에 의해 재정렬된 양자화 계수들에 대한 엔트로피 부호화를 수행할 수 있다. 엔트로피 부호화에는 예를 들어, 지수 골롬(Exponential Golomb), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 부호화 방법을 사용할 수 있다. 엔트로피 부호화부(130)는 재정렬부(125) 및 예측부(110)로부터 전달받은 부호화 유닛의 양자화 계수 정보 및 블록 타입 정보, 예측 모드 정보, 분할 단위 정보, 예측 유닛 정보 및 전송 단위 정보, 움직임 벡터 정보, 참조 픽쳐 정보, 블록의 보간 정보, 필터링 정보 등 다양한 정보를 부호화할 수 있다. The entropy encoder 130 may perform entropy encoding on the quantized coefficients rearranged by the reordering unit 125. Entropy encoding may use, for example, an encoding method such as Exponential Golomb, Context-Adaptive Variable Length Coding (CAVLC), or Context-Adaptive Binary Arithmetic Coding (CABAC). The entropy encoder 130 may include quantization coefficient information, block type information, prediction mode information, division unit information, prediction unit information, transmission unit information, and motion vector of the coding unit received from the reordering unit 125 and the prediction unit 110. Various information such as information, reference picture information, interpolation information of a block, and filtering information can be encoded.
역양자화부(135)는 양자화부(120)에서 양자화된 값들을 역양자화하고, 역변환부(140)는 역양자화부(135)에서 역양자화된 값들을 역변환한다. 역양자화부(135) 및 역변환부(140)에서 생성된 잔차값(Residual)은 예측부(110)에서 예측된 예측 블록과 합쳐져 복원 블록(Reconstructed Block)이 생성될 수 있다. 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 value generated by the inverse quantization unit 135 and the inverse transformer 140 may be combined with the prediction block predicted by the prediction unit 110 to generate a reconstructed block.
필터부(145)는 디블록킹 필터 및/또는 ALF(Adaptive Loop Filter)를 복원된 픽쳐에 적용할 수 있다. The filter unit 145 may apply a deblocking filter and / or an adaptive loop filter (ALF) to the reconstructed picture.
디블록킹 필터는 복원된 픽쳐에서 블록 간의 경계에 생긴 블록 왜곡을 제거할 수 있다. ALF(Adaptive Loop Filter)는, 디블록킹 필터를 통해 블록이 필터링된 후 복원된 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있다. ALF는 고효율을 적용하는 경우에만 수행될 수도 있다. The deblocking filter may remove block distortion generated at the boundary between blocks in the reconstructed picture. The adaptive loop filter (ALF) may perform filtering based on a value obtained by comparing a reconstructed image with an original image after the block is filtered through a deblocking filter. ALF may be performed only when high efficiency is applied.
한편, 화면 간 예측에 사용되는 복원 블록에 대해서 필터부(145)는 필터링을 적용하지 않을 수 있다. Meanwhile, the filter unit 145 may not apply filtering to the reconstructed block used for inter prediction.
메모리(150)는 필터부(145)를 통해 산출된 복원 블록 또는 픽쳐를 저장할 수 있다. 메모리(150)에 저장된 복원 블록 또는 픽쳐는 화면 간 예측을 수행하는 예측부(110)에 제공될 수 있다. 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.
부호화 유닛(Coding Unit: CU)은 픽쳐의 부호화/복호화가 수행되는 단위로서, 쿼드 트리 구조(Quad Tree Structure)를 기반으로 깊이(Depth)를 가지며 분할될 수 있다. 부호화 유닛은 64x64, 32x32, 16x16, 8x8 등의 여러 크기를 가질 수 있다. A coding unit (CU) is a unit in which coding / decoding of a picture is performed and may be divided with a depth based on a quad tree structure. The coding unit may have various sizes, such as 64x64, 32x32, 16x16, and 8x8.
부호화기는 최대 부호화 유닛(Largest Coding Unit: LCU)과 최소 부호화 유닛(Smallest Coding Unit: SCU)에 관한 정보를 복호화기에 전송할 수도 있다. 최대 부호화 유닛 및/또는 최소 부호화 유닛에 관한 정보와 함께 분할 가능한 회수에 관한 정보(깊이 정보)가 복호화기에 전송될 수 있다. 부호화 유닛이 쿼드 트리 구조를 기반으로 분할되는지에 관한 정보는 분할 플래그(Split Flag)와 같은 플래그 정보를 통해 부호화기로부터 복호화기로 전달될 수 있다. The encoder may transmit information about a largest coding unit (LCU) and a minimum coding unit (SCU) to the decoder. Information (depth information) regarding the number of splittable times together with information about the maximum coding unit and / or the minimum coding unit may be transmitted to the decoder. Information on whether the coding unit is split based on the quad tree structure may be transmitted from the encoder to the decoder through flag information such as a split flag.
도 2는 본 발명의 일 실시예에 따른 예측부를 개략적으로 도시한 개념도이다. 도 2를 참조하면 예측부(200)는 화면 간 예측부(210) 및 화면 내 예측부(220) 를 포함할 수 있다. 2 is a conceptual diagram schematically illustrating a prediction unit according to an embodiment of the present invention. Referring to FIG. 2, the predictor 200 may include an inter prediction unit 210 and an intra prediction unit 220.
화면 간 예측부(210)는 현재 픽쳐의 이전 픽쳐 또는 이후 픽쳐 중 적어도 하나의 픽쳐의 정보를 기초로 예측을 수행하여 예측 블록을 생성할 수 있다. 또한, 화면 내 예측부(220)는 현재 픽쳐 내의 화소 정보를 기초로 예측을 수행하여 예측 블록을 생성할 수 있다. The inter prediction unit 210 may generate a prediction block by performing prediction based on information of at least one of a previous picture or a subsequent picture of the current picture. In addition, the intra prediction unit 220 may generate a prediction block by performing prediction based on pixel information in the current picture.
화면 간 예측부(210)는 예측 유닛에 대하여, 참조 픽쳐를 선택하고 예측 유닛과 동일한 크기의 참조 블록을 정수 화소 샘플 단위로 선택한다. 이어서, 화면 간 예측부(210)는 1/2 화소 샘플 단위와 1/4 화소 샘플 단위와 같이 정수 이하 샘플 단위로 현재 예측 유닛과 가장 유사하여 잔차 신호가 최소화되며 부호화되는 움직임 벡터 크기 역시 최소가 될 수 있는 예측 블록을 생성한다. 이때, 움직임 벡터는 정수 화소 이하의 단위로 표현될 수 있으며, 예컨대 휘도 화소에 대해서는 1/4 화소 단위로, 색차 화소에 대해서는 1/8 화소 단위로 표현될 수 있다. The inter prediction unit 210 selects a reference picture with respect to the prediction unit and selects a reference block having the same size as that of the prediction unit in units of integer pixel samples. Subsequently, the inter prediction unit 210 is most similar to the current prediction unit in sub-integer sample units such as 1/2 pixel sample unit and 1/4 pixel sample unit, so that the residual signal is minimized and the size of the motion vector to be encoded is also minimal. Generate a predictive block that can be. In this case, the motion vector may be expressed in units of integer pixels or less. For example, the motion vector may be expressed in units of 1/4 pixels for luminance pixels and in units of 1/8 pixels for chrominance pixels.
화면 간 예측부(210)가 선택한 참조 픽쳐의 인덱스와 움직임 벡터에 관한 정보는 부호화되어 복호화기에 전달된다.Information about the index and the motion vector of the reference picture selected by the inter prediction unit 210 is encoded and transmitted to the decoder.
도 3은 본 발명이 적용되는 시스템에서 처리 유닛의 쿼드 트리 구조에 관한 일 예를 개략적으로 도시하는 개념도이다. 3 is a conceptual diagram schematically illustrating an example of a quad tree structure of a processing unit in a system to which the present invention is applied.
최대 부호화 유닛(LCU, 300)은 분할을 통해서 더 작은 부호화 유닛(310)들로 이루어진 계층적 구조를 가질 수 있으며, 부호화 유닛의 계층적 구조는 크기 정보, 깊이 정보, 분할 플래그 정보 등을 기반으로 특정될 수 있다. 최대 부호화 유닛의 크기 정보, 분할 깊이 정보 및 현재 부호화 유닛의 분할 여부 정보는 비트 스트림 상의 시퀀스 파라미터 셋(SPS: Sequence Parameter Set)에 포함되어 영상 복호화기에 전송될 수 있다. 다만, 최소 부호화 유닛은 더 이상 작은 부호화 유닛으로 분할되지 않으므로, 최소 부호화 유닛에 대해서는 부호화 유닛의 분할 플래그가 전송되지 않을 수 있다. The maximum coding unit (LCU) 300 may have a hierarchical structure composed of smaller coding units 310 through division, and the hierarchical structure of the coding unit may be based on size information, depth information, split flag information, and the like. Can be specified. The size information of the maximum coding unit, the split depth information, and whether the current coding unit is split may be included in a sequence parameter set (SPS) on the bit stream and transmitted to the image decoder. However, since the minimum coding unit is no longer divided into small coding units, the split flag of the coding unit may not be transmitted to the minimum coding unit.
한편, 화면 간 예측과 화면 내 예측 중 어떤 예측이 수행될 것인지는 부호화 유닛 단위로 결정될 수 있다. 화면 간 예측을 수행하는 경우에는 예측 유닛 단위로 화면 간 예측이 수행될 수 있다. 화면 내 예측을 수행하는 경우에는, 예측 유닛 단위로 예측 모드가 정해져서 예측 유닛 단위로 예측이 수행될 수 있다. 이때, 예측 유닛 단위로 예측 모드가 정해지고 변환 유닛 단위로 화면 내 예측이 수행될 수도 있다. Meanwhile, which prediction between inter prediction and intra prediction may be performed may be determined in units of coding units. When performing inter prediction, inter prediction may be performed in units of prediction units. When performing intra prediction, a prediction mode may be determined in units of prediction units, and prediction may be performed in units of prediction units. In this case, a prediction mode may be determined in units of prediction units, and intra prediction may be performed in units of transformation units.
도 3을 참조하면, 화면 내 예측의 경우에 예측 유닛(320)은 2N×2N 또는 N×N (N은 정수)의 크기일 수 있고, 화면 간 예측의 경우에 예측 유닛(330)은 2N×2N, 2N×N, N×2N, 또는 N×N의 크기일 수 있다. 이때, N×N를 특정한 경우, 예컨대 최소 크기 부호화 유닛에 대해서만 적용하도록 정하거나 화면 내 예측에 대해서만 적용하도록 정할 수도 있다. 또한, 도시된 예측 블록의 사이즈 외에, N×mN, mN×N, 2N×mN 또는 mN×2N(m<1)을 더 정의하여 사용할 수도 있다. Referring to FIG. 3, in the case of intra prediction, the prediction unit 320 may be 2N × 2N or N × N (N is an integer), and in case of inter prediction, the prediction unit 330 may be 2N ×. 2N, 2N × N, N × 2N, or N × N. In this case, for example, N × N may be determined to be applied only to the minimum size coding unit or to be applied only to intra prediction. In addition to the size of the predicted block, N × mN, mN × N, 2N × mN, or mN × 2N (m <1) may be further defined and used.
도 4는 본 발명의 일 실시예에 따른 영상 복호화 장치를 개략적으로 나타낸 블록도이다. 도 4를 참조하면, 영상 복호화기(400)는 엔트로피 복호화부(410), 재정렬부(415), 역양자화부(420), 역변환부(425), 예측부(430), 필터부(435) 및 메모리(440)를 포함할 수 있다. 4 is a block diagram schematically illustrating an image decoding apparatus according to an embodiment of the present invention. Referring to FIG. 4, the image decoder 400 includes an entropy decoder 410, a reordering unit 415, an inverse quantizer 420, an inverse transform unit 425, a predictor 430, and a filter unit 435. And a memory 440.
영상 부호화기에 영상 비트 스트림이 입력된 경우, 입력된 비트 스트림은 영상 부호화기에서 영상 정보가 처리된 절차에 따라서 복호화될 수 있다.When an image bit stream is input to the image encoder, the input bit stream may be decoded according to a procedure in which image information is processed by the image encoder.
예컨대, 영상 부호화기에서 엔트로피 부호화를 수행하기 위해 CAVLC 등의 가변 길이 부호화(Variable Length Coding: VLC, 이하 ‘VLC’ 라 함)가 사용된 경우에는 엔트로피 복호화부(410) 도 부호화기에서 사용한 VLC 테이블과 동일한 VLC 테이블을 구현하여 엔트로피 복호화를 수행할 수 있다. 영상 부호화기에서 엔트로피 부호화를 수행하기 위해, CABAC가 이용된 경우에도, 엔트로피 복호화부(410)는 이에 대응하여 CABAC을 이용한 엔트로피 복호화를 수행할 수 있다.For example, when variable length coding (VLC, hereinafter called 'VLC') is used to perform entropy encoding in the image encoder, the entropy decoder 410 may also be identical to the VLC table used in the encoder. Entropy decoding can be performed by implementing a VLC table. Even when CABAC is used to perform entropy encoding in the image encoder, the entropy decoding unit 410 may perform entropy decoding using CABAC correspondingly.
엔트로피 복호화부(410)에서 복호화된 정보 중 예측 블록을 생성하기 위한 정보는 예측부(430)로 제공되고 엔트로피 복호화부에서 엔트로피 복호화가 수행된 잔차값은 재정렬부(415)로 입력될 수 있다. Information for generating a prediction block among the information decoded by the entropy decoder 410 may be provided to the predictor 430, and a residual value of which entropy decoding is performed by the entropy decoder may be input to the reordering unit 415.
재정렬부(415)는, 엔트로피 복호화부(410)에서 엔트로피 복호화된 비트 스트림을 영상 부호화기에서 재정렬한 방법을 기초로 재정렬할 수 있다. 재정렬부(415)는 1차원 벡터 형태로 표현된 계수들을 다시 2차원의 블록 형태의 계수로 복원하여 재정렬할 수 있다. 재정렬부(415)는 부호화기에서 수행된 계수 스캐닝에 관련된 정보를 제공받고 해당 부호화부에서 수행된 스캐닝 순서에 기초하여 역으로 스캐닝하는 방법을 통해 재정렬을 수행할 수 있다. The reordering unit 415 may reorder the bit stream deentropy decoded by the entropy decoding unit 410 based on a method of reordering the image encoder. The reordering unit 415 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 415 may receive the information related to the coefficient scanning performed by the encoder and perform the rearrangement by performing a reverse scanning method based on the scanning order performed by the corresponding encoder.
역양자화부(420)는 부호화기에서 제공된 양자화 파라미터와 재정렬된 블록의 계수값을 기초로 역양자화를 수행할 수 있다. The inverse quantization unit 420 may perform inverse quantization based on the quantization parameter provided by the encoder and the coefficient values of the rearranged block.
역변환부(425)는, 영상 부호화기에서 수행된 양자화 결과에 대해 부호화기의 변환부가 수행한 DCT 및 DST에 대해, 역DCT 및/또는 역DST를 수행할 수 있다. 역변환은 부호화기에서 결정된 전송 단위 또는 영상의 분할 단위를 기초로 수행될 수 있다. 부호화기의 변환부에서 DCT 및/또는 DST는 예측 방법, 현재 블록의 크기 및 예측 방향 등 복수의 정보에 따라 선택적으로 수행될 수 있고, 복호화기의 역변환부(425)는 부호화기의 변환부에서 수행된 변환 정보를 기초로 역변환을 수행할 수 있다. The inverse transformer 425 may perform inverse DCT and / or inverse DST on DCT and DST performed by the encoder of the encoder with respect to the quantization result performed by the image encoder. The inverse transform may be performed based on a transmission unit determined by the encoder or a division unit of an image. In the encoder, the DCT and / or DST may be selectively performed according to a plurality of pieces of information, such as a prediction method, a size and a prediction direction of the current block, and the inverse transformer 425 of the decoder is performed by the transformer of the encoder. Inverse transformation may be performed based on the transformation information.
예측부(430)는 엔트로피 복호화부(410)에서 제공된 예측 블록 생성 관련 정보와 메모리(440)에서 제공된 이전에 복호화된 블록 및/또는 픽쳐 정보를 기초로 예측 블록을 생성할 수 있다. 복원 블록은 예측부(430)에서 생성된 예측 블록과 역변환부(425)에서 제공된 잔차 블록을 이용해 생성될 수 있다. The prediction unit 430 may generate the prediction block based on the prediction block generation related information provided by the entropy decoding unit 410 and previously decoded blocks and / or picture information provided by the memory 440. The reconstruction block may be generated using the prediction block generated by the predictor 430 and the residual block provided by the inverse transform unit 425.
복원된 블록 및/또는 픽쳐는 필터부(435)로 제공될 수 있다. 필터부(435)는 복원된 블록 및/또는 픽쳐에 디블록킹 필터링, SAO(Sample Adaptive Offset) 및/또는 적응적 루프 필터링(ALF) 등을 적용한다. The reconstructed block and / or picture may be provided to the filter unit 435. The filter unit 435 applies deblocking filtering, sample adaptive offset (SAO), and / or adaptive loop filtering (ALF) to the reconstructed block and / or picture.
메모리(440)는 복원된 픽쳐 또는 블록을 저장하여 참조 픽쳐 또는 참조 블록으로 사용할 수 있도록 할 수 있고 또한 복원된 픽쳐를 출력부로 제공할 수 있다.The memory 440 may store the reconstructed picture or block to use as a reference picture or reference block, and may provide the reconstructed picture to the output unit.
도 5는 본 발명의 일 실시예에 따른 영상 복호화 장치의 예측부를 개략적으로 나타낸 개념도이다. 5 is a conceptual diagram schematically illustrating a predictor of an image decoding apparatus according to an embodiment of the present invention.
도 5를 참조하면, 예측부(500)는 화면 내 예측부(510) 및 화면 간 예측부(520)를 포함할 수 있다. Referring to FIG. 5, the predictor 500 may include an intra prediction unit 510 and an inter prediction unit 520.
화면 내 예측부(510)는 해당 예측 유닛에 대한 예측 모드가 인트라 예측(intra prediction) 모드(화면 내 예측 모드)인 경우에, 현재 픽쳐 내의 화소 정보를 기초로 예측 블록을 생성할 수 있다.The intra prediction unit 510 may generate a prediction block based on pixel information in the current picture when the prediction mode for the prediction unit is an intra prediction mode (intra prediction mode).
화면 간 예측부(520)는 해당 예측 유닛에 대한 예측 모드가 인터 예측(inter prediction) 모드(화면 간 예측 모드)인 경우에, 영상 부호화기에서 제공된 현재 예측 유닛의 화면 간 예측에 필요한 정보, 예컨대 움직임 벡터, 참조 픽쳐 인덱스 등에 관한 정보를 이용해 현재 예측 유닛이 포함된 현재 픽쳐의 이전 픽쳐 또는 이후 픽쳐 중 적어도 하나의 픽쳐에 포함된 정보를 기초로 현재 예측 유닛에 대한 화면 간 예측을 수행할 수 있다. The inter picture prediction unit 520 may provide information, for example, motion required for inter picture prediction of the current prediction unit provided by the image encoder when the prediction mode for the corresponding prediction unit is an inter prediction mode (inter prediction mode). The inter-screen prediction of the current prediction unit may be performed based on information included in at least one of a previous picture or a subsequent picture of the current picture including the current prediction unit using information on a vector, a reference picture index, and the like.
이때, 움직임 정보는, 부호화기로부터 수신되는 부호화 유닛의 스킵 플래그, 머지 플래그 등이 확인된 경우, 이에 대응하여 유도될 수 있다.In this case, the motion information may be derived in response to the skip flag, the merge flag, and the like of the coding unit received from the encoder.
이하, 발명의 구성 또는 표현에 따라 “영상” 또는 “화면”이 “픽쳐”와 같은 의미를 나타낼 수 있는 경우,“픽쳐”는 “영상” 또는 “화면”으로 기술될 수 있다. 또한 인터 예측(inter prediction)과 화면 간 예측은 동일한 의미를 가지며, 인트라 예측(intra prediction)과 화면 내 예측은 동일한 의미를 가진다.Hereinafter, when a "picture" or a "picture" can represent the same meaning as a "picture" according to the configuration or expression of the invention, the "picture" may be described as a "picture" or a "picture". In addition, inter prediction and inter prediction have the same meaning, and intra prediction and intra prediction have the same meaning.
상술한 바와 같이, 인터 예측 모드의 경우 인터 예측부에서는 현재 픽쳐가 아닌 현재 픽쳐의 이전 픽쳐 또는 이후 픽쳐 중 적어도 하나의 픽쳐의 정보를 이용하여 현재 유닛에 대한 예측을 수행하여 예측 블록을 생성할 수 있다. 이 때, 예측에 이용되는 픽쳐를 참조 픽쳐(reference picture)라고 한다. 현재 유닛의 예측에 이용되는 참조 픽쳐는, 참조 픽쳐를 나타내는 참조 픽쳐 인덱스(index) 및 움직임 벡터(motion vector) 정보 등을 이용하여 나타내어질 수 있다. P 픽쳐 및 B 픽쳐는 인터 예측 모드에서 부호화될 수 있으며, I 픽쳐, P 픽쳐 및 B 픽쳐에 대해서는 후술한다.As described above, in the inter prediction mode, the inter prediction unit may generate a prediction block by performing prediction on the current unit using information of at least one of a previous picture or a subsequent picture of the current picture, not the current picture. have. In this case, a picture used for prediction is referred to as a reference picture. The reference picture used for prediction of the current unit may be represented by using a reference picture index and a motion vector information indicating the reference picture. The P picture and the B picture may be encoded in the inter prediction mode, and the I picture, the P picture, and the B picture will be described later.
도 6은 P 픽쳐와 B 픽쳐에서 사용될 수 있는 예측 방법의 실시예를 개략적으로 나타내는 개념도이다. 도 6은 P 픽쳐에서의 예측 방법(610) 및 B 픽쳐에서의 예측 방법(620, 630, 640)을 포함한다.6 is a conceptual diagram schematically illustrating an embodiment of a prediction method that may be used in a P picture and a B picture. 6 includes a prediction method 610 for a P picture and a prediction method 620, 630, 640 for a B picture.
이하, 현재 예측하고자 하는 블록은 예측 대상 블록, 예측에 의해 생성되는 블록은 예측 블록, 참조 픽쳐 내에서 예측 대상 블록의 예측에 사용되는 블록은 참조 블록이라 한다.Hereinafter, a block to be predicted currently is called a prediction target block, a block generated by the prediction is a prediction block, and a block used for prediction of the prediction target block in a reference picture is referred to as a reference block.
영상 부호화, 복호화에 사용되는 픽쳐에는 I 픽쳐, P 픽쳐, B 픽쳐라는 세 가지 종류의 픽쳐가 있다. 이하, POC(Picture Order Count)는 픽쳐의 표시 순서 또는 시간 순서를 의미한다.There are three types of pictures used for video encoding and decoding, such as an I picture, a P picture, and a B picture. Hereinafter, POC (Picture Order Count) means display order or time order of pictures.
I 픽쳐란, 전후의 화면과는 관계없이 그 화면 내에서 독립적으로 부호화되는 픽쳐이다. I 픽쳐에는 시간 방향의 예측이 적용되지 않으며, 화면 내 정보만이 부호화 처리에 사용된다.An I picture is a picture that is encoded independently in the picture regardless of the picture before and after. Prediction in the time direction is not applied to the I picture, and only intra-picture information is used for the encoding process.
P 픽쳐는 하나의 참조 픽쳐를 이용한 화면 간의 단방향 예측에 의해 부호화될 수 있는 픽쳐이다. 도 6을 참조하면, 도 6은 P 픽쳐에서의 단방향 예측(610)을 도시한다. P 픽쳐에서는 한 개의 참조 픽쳐 리스트를 필요로 하며, 이를 참조 픽쳐 리스트0(reference picture list0)이라 지칭한다. 참조 픽쳐 리스트0 으로부터 선택된 참조 픽쳐를 사용하는 화면 간 예측을 L0 예측이라 하며, L0 예측은 주로 순방향 예측에 사용된다. P 픽쳐에서는 화면 내 예측 또는 L0 예측이 수행될 수 있다.The P picture is a picture that can be encoded by unidirectional prediction between pictures using one reference picture. Referring to FIG. 6, FIG. 6 shows unidirectional prediction 610 in a P picture. P picture requires one reference picture list, which is referred to as reference picture list0. The inter prediction using the reference picture selected from the reference picture list 0 is called L0 prediction, and L0 prediction is mainly used for forward prediction. In the P picture, intra prediction or L0 prediction may be performed.
P 픽쳐에서는 복호 순서상 현재 픽쳐보다 과거에 존재하는 1개의 참조 블록을 사용하여 예측 대상 블록에 대한 예측을 수행할 수 있다. 따라서 도 6(610)에 도시된 바와 같이 시간 순서상 과거 참조 픽쳐를 이용한 예측이 사용되어 화면 간 순방향 예측이 수행될 수 있다. 또한 시간 순서상 미래 참조 픽쳐를 이용한 예측이 사용되어 화면 간 역방향 예측이 수행될 수 있다. 따라서 P 픽쳐는 단방향으로 예측 대상 블록에 대해 하나의 움직임 정보(움직임 벡터, 참조 픽쳐 인덱스)만을 사용한다. In the P picture, prediction may be performed on a prediction target block using one reference block that exists in the past than the current picture in decoding order. Accordingly, as shown in FIG. 6 (610), prediction using a past reference picture in time order may be used to perform inter-screen forward prediction. In addition, prediction using a future reference picture in time order may be used to perform reverse prediction between screens. Therefore, the P picture uses only one piece of motion information (motion vector, reference picture index) for the block to be predicted in one direction.
B 픽쳐는 하나 이상, 예를 들어 2개의 참조 픽쳐를 이용하여 화면 간의 순방향, 역방향 또는 양방향 예측에 의해 부호화될 수 있는 픽쳐이다. B 픽쳐에서는 하나 이상의 참조 픽쳐가 사용될 수 있다. A B picture is a picture that can be encoded by forward, backward, or bidirectional prediction between pictures using one or more, for example, two reference pictures. One or more reference pictures may be used in the B picture.
B 픽쳐는 두 개의 참조 픽쳐 리스트를 필요로 하며, 두 개의 참조 픽쳐 리스트는 각각 참조 픽쳐 리스트0(reference picture list0), 참조 픽쳐 리스트1(reference picture list1)이라 지칭한다. 참조 픽쳐 리스트0 으로부터 선택된 참조 픽쳐를 사용하는 화면 간 예측을 L0 예측이라 하며, L0 예측은 주로 순방향 예측에 사용된다. 참조 픽쳐 리스트1 으로부터 선택된 참조 픽쳐를 사용하는 화면 간 예측을 L1 예측이라 하며, L1 예측은 주로 역방향 예측에 사용된다. 또한 각각 참조 픽쳐 리스트0과 참조 픽쳐 리스트1 으로부터 선택된 두 개의 참조 픽쳐를 사용하는 화면 간 예측은 쌍예측(bi prediction)이라 한다.The B picture requires two reference picture lists, and the two reference picture lists are referred to as reference picture list 0 and reference picture list 1, respectively. The inter prediction using the reference picture selected from the reference picture list 0 is called L0 prediction, and L0 prediction is mainly used for forward prediction. The inter prediction using the reference picture selected from the reference picture list 1 is called L1 prediction, and L1 prediction is mainly used for backward prediction. In addition, inter prediction using two reference pictures selected from reference picture list 0 and reference picture list 1 is called bi prediction.
B 픽쳐에서는 화면 내 예측, L0 예측, L1 예측 또는 두 개의 움직임 정보를 사용하는 쌍예측(Bi prediction)이 수행될 수 있다.In the B picture, intra prediction, L0 prediction, L1 prediction, or bi prediction using two pieces of motion information may be performed.
도 6은 B 픽쳐에서의 양방향 예측(620)을 도시한다. B 픽쳐에서는 시간 순서상 과거 참조 픽쳐 내의 전방향 참조 블록 및 미래 참조 픽쳐 내의 후방향 참조 블록을 모두 사용하여 예측 대상 블록에 대한 예측이 수행될 수 있다. 즉, 전방향 참조 블록 및 후방향 참조 블록을 모두 이용한 양방향 예측이 사용되어 화면 간 예측이 수행될 수 있다.6 shows bi-prediction 620 in a B picture. In the B picture, prediction may be performed on a prediction target block by using both a forward reference block in a past reference picture and a backward reference block in a future reference picture in time order. That is, bidirectional prediction using both the forward reference block and the backward reference block may be used to perform inter prediction.
또한 도 6은 B 픽쳐에서의 과거 참조 픽쳐 2장을 이용한 순방향 예측(630) 및 미래 참조 픽쳐 2장을 이용한 역방향 예측(640)을 도시한다. 도 6에 도시된 바와 같이, B 픽쳐에서는 시간 순서상 과거 참조 픽쳐 2장이 이용되어 예측 대상 블록에 대한 화면 간 순방향 예측이 수행될 수 있다. 또한 B 픽쳐에서는 시간 순서상 미래 참조 픽쳐 2장이 이용되어 예측 대상 블록에 대한 화면 간 역방향 예측이 수행될 수 있다.6 also shows forward prediction 630 using two past reference pictures and B backward prediction 640 using two future reference pictures in a B picture. As illustrated in FIG. 6, in the B picture, two past reference pictures may be used in time order, and inter prediction may be performed on the prediction target block. In addition, in the B picture, two future reference pictures may be used in temporal order to perform inter prediction on the prediction block.
B 픽쳐에서는 상기 서술된 경우뿐만 아니라 과거 참조 픽쳐 1장을 이용한 순방향 예측, 미래 참조 픽쳐 1장을 이용한 역방향 예측도 사용될 수 있다. In the B picture, not only the case described above but also the forward prediction using one past reference picture and the backward prediction using one future reference picture may be used.
따라서 B 픽쳐는 순방향 및/또는 역방향으로 예측 대상 픽쳐에 대해 최대 2개의 움직임 정보를 사용할 수 있다. B 픽쳐는 딜레이(delay)가 있지만 높은 성능을 얻기 위해 주로 사용된다. 상술한 참조 픽쳐 리스트의 구성에 대해서는 후술하기로 한다.Accordingly, the B picture may use up to two pieces of motion information for the picture to be predicted in the forward and / or reverse direction. B pictures are delayed but are often used to achieve high performance. The structure of the above-mentioned reference picture list will be described later.
도 7은 통상의 P 픽쳐, 통상의 B 픽쳐 및 GPB의 예측 방법을 비교하여 개략적으로 나타내는 개념도이다. 도 7을 참조하면, 각 픽쳐들은 화면의 표시 순서(POC)로 도시되어 있다. 7 is a conceptual diagram schematically illustrating a comparison between a conventional P picture, a conventional B picture, and a prediction method of a GPB. Referring to FIG. 7, each picture is shown in the display order (POC) of the screen.
P 픽쳐의 경우에 하나의 참조 픽쳐로부터 단방향 예측이 가능하므로, 도 7에 도시된 바와 같이 과거 픽쳐로부터 순방향 예측이 수행될 수 있다. 또한 미래 픽쳐로부터 역방향 예측이 수행될 수도 있다. B 픽쳐의 경우, 2개의 참조 픽쳐를 이용한 쌍예측이 허용되므로, 최대 두 개의 움직임 정보가 사용될 수 있다. 또한 상술한 바와 같이 현재 픽쳐에 대하여, 화면 간 예측을 위하여 사용되는 픽쳐들로 참조 픽쳐 리스트가 구성될 수 있다. B 픽쳐는 참조 픽쳐 리스트0, 참조 픽쳐 리스트1 두 개의 참조 픽쳐 리스트를 필요로 한다. In the case of a P picture, since unidirectional prediction is possible from one reference picture, forward prediction may be performed from a past picture as shown in FIG. 7. In addition, backward prediction may be performed from a future picture. In the case of a B picture, since pair prediction using two reference pictures is allowed, up to two pieces of motion information can be used. In addition, as described above, a reference picture list may be configured of pictures used for inter prediction for the current picture. The B picture requires two reference picture lists: reference picture list 0 and reference picture list 1.
B 픽쳐 중 참조 픽쳐 리스트0과 참조 픽쳐 리스트1이 동일한 픽쳐를 GPB(Generalized P and B) 또는 제너럴라이즈드 B 픽쳐(Generalized B picture)라 지칭한다. 또한 하나의 실시예로서, GPB에서는 순방향 예측만이 허용될 수 있으며, 이 경우 역방향 예측은 수행되지 않을 수 있다. A picture having the same reference picture list 0 and reference picture list 1 among the B pictures is referred to as Generalized P and B or Generalized B picture. In addition, as one embodiment, only forward prediction may be allowed in the GPB, in which case backward prediction may not be performed.
도 7을 참조하면, GPB에서는 B 픽쳐와 마찬가지로 예측 대상 블록에 대해 2개 이상의 움직임 정보를 사용하여 예측이 수행될 수 있다. GPB에서 오직 순방향 예측만이 허용되는 경우에는 역방향 예측에 따른 지연이 수반되지 않는다. GPB에서는 높은 부호화 성능이 유지되면서 로우 딜레이(low delay) 부호화가 가능하다. Referring to FIG. 7, in the GPB, prediction may be performed using two or more pieces of motion information on a block to be predicted, similarly to a B picture. If only forward prediction is allowed in GPB, no delay due to backward prediction is involved. In GPB, low delay coding is possible while maintaining high coding performance.
상기 I 픽쳐, P 픽쳐, B 픽쳐의 특징은 픽쳐 단위가 아니라 한 개 픽쳐 내의 슬라이스(slice)마다 달라질 수 있다. 슬라이스 단위에서 I 픽쳐의 특징을 갖는 슬라이스, P 픽쳐의 특징을 갖는 슬라이스, B 픽쳐의 특징을 갖는 슬라이스는 각각 I 슬라이스, P 슬라이스, B 슬라이스라 할 수 있다. 슬라이스 단위에서 GPB는 GPB 슬라이스 또는 제너럴라이즈드 B 슬라이스(Generalized B slice)로 지칭될 수 있다.The characteristics of the I picture, the P picture, and the B picture may be different for each slice in one picture, not in a picture unit. A slice having a feature of an I picture, a slice having a feature of a P picture, and a slice having a feature of a B picture in a slice unit may be referred to as an I slice, a P slice, and a B slice, respectively. In slice units, GPBs may be referred to as GPB slices or Generalized B slices.
상기에서 서술된 바와 같이 인터 예측, 즉 화면 간 예측에 사용되는 참조 픽쳐 리스트에는 참조 픽쳐 리스트0, 참조 픽쳐 리스트1 두 종류가 있다. 이하 참조 픽쳐 리스트0은 리스트0, 참조 픽쳐 리스트1은 리스트1이라 한다. As described above, there are two types of reference picture lists used for inter prediction, that is, inter picture prediction, reference picture list 0 and reference picture list 1. Hereinafter, reference picture list 0 is referred to as list 0, and reference picture list 1 is referred to as list 1.
상기 리스트에 관한 정보는 부호화기의 화면 간 예측부에서 생성된 후 부호화되어 비트스트림을 구성하여 복호화기로 전송될 수 있다. 전송된 정보는 복호화되어 복호화기의 화면 간 예측부에서 예측을 수행하는데 사용될 수 있다.The information about the list may be generated by the inter-prediction unit of the encoder and encoded to form a bitstream and transmitted to the decoder. The transmitted information may be decoded and used to perform prediction in the inter prediction unit of the decoder.
참조 픽쳐 리스트 구성을 위한 최대 참조 픽쳐의 수는, 일 실시예로 아래의 [표 1]에 포함된 것과 같은 신택스 요소(syntax element)들에 의해 정의될 수 있다.The maximum number of reference pictures for constructing the reference picture list may be defined by syntax elements as included in [Table 1] below in one embodiment.
[표 1]TABLE 1
PPS(Picture Parameter Set)에서 num_ref_idx_l0_default_active_minus1, num_ref_idx_l1_default_active_minus1을 이용하여, 리스트0 및 리스트1에서 허용되는 최대 참조 픽쳐의 수가 먼저 정의될 수 있다. 다음으로 현재 슬라이스가 P 또는 B 슬라이스일 때, 슬라이스 헤더(slice_header)에서 num_ref_idx_active_override_flag 를 이용하여 PPS의 최대 참조 픽쳐의 수에 관한 정보를 현재 슬라이스에서 갱신(update)할 지 여부를 알려줄 수 있다. num_ref_idx_active_override_flag 가 1일 때, 즉 정보를 갱신하기로 결정된 경우에는 num_ref_idx_l0_active_minus1, num_ref_idx_l1_active_minus1 를 이용하여 현재 슬라이스에서 허용되는 최대 참조 픽쳐의 수가 정의될 수 있다.Using num_ref_idx_l0_default_active_minus1 and num_ref_idx_l1_default_active_minus1 in the Picture Parameter Set (PPS), the maximum number of reference pictures allowed in List 0 and List 1 may be defined first. Next, when the current slice is a P or B slice, whether or not to update the information about the maximum number of reference pictures of the PPS in the current slice using num_ref_idx_active_override_flag in the slice header (slice_header). When num_ref_idx_active_override_flag is 1, that is, when it is determined to update information, the maximum number of reference pictures allowed in the current slice may be defined using num_ref_idx_l0_active_minus1 and num_ref_idx_l1_active_minus1 .
상기 각 정보들은 PPS 및 슬라이스 헤더에 포함되어 비트스트림을 통해 부호화기에서 복호화기로 전송될 수 있다.Each of the pieces of information may be included in the PPS and the slice header and transmitted from the encoder to the decoder through the bitstream.
[표 1]을 참조하면, 최대 참조 픽쳐의 수는 PPS에서 기본으로 정해지고 슬라이스마다 적응적으로 다르게 정해질 수 있다. 그러나, 동일 픽쳐에 속한 슬라이스에 대해 항상 다른 수의 참조 픽쳐를 갖는 것이 허용되는 것은 아니다. 이 경우에는 슬라이스 헤더마다 num_ref_idx_active_override_flag 가 전송되지 않아도 된다. 또한 PPS 단위에서 확장되어 시퀀스(sequence) 단위에 대해 최대 참조 픽쳐의 수가 고정되어 사용될 수도 있다. 이런 경우 최대 참조 픽쳐의 수가 PPS와 슬라이스 헤더에서 모두 정의되어 전송되면 불필요한 정보의 중복이 발생한다. Referring to [Table 1], the maximum number of reference pictures is determined based on the PPS and may be adaptively determined differently for each slice. However, it is not always allowed to have different numbers of reference pictures for slices belonging to the same picture. In this case, num_ref_idx_active_override_flag need not be transmitted for each slice header. In addition, the maximum number of reference pictures may be fixed for a sequence unit by being extended in the PPS unit. In this case, if the maximum number of reference pictures is defined and transmitted in both the PPS and the slice header, unnecessary information duplication occurs.
[표 2]는 상기와 같은 정보의 낭비를 방지하기 위해, 신택스 내에서 새로이 최대 참조 픽쳐 수를 정의하는 방법의 일 실시예를 나타낸다. Table 2 shows an embodiment of a method of newly defining the maximum number of reference pictures in the syntax in order to prevent waste of such information.
[표 2]TABLE 2
[표 2]를 참조하면, SPS(Sequence Parameter Set)에 num_ref_idx_no_override_flag 라는 플래그가 추가된다. 상기 플래그는 동일 픽쳐 내의 모든 슬라이스에 대해, PPS에 정의된 최대 참조 픽쳐의 수가 그대로 적용되는지 여부를 지시하는 플래그이다. Referring to [Table 2], a flag called num_ref_idx_no_override_flag is added to the Sequence Parameter Set (SPS). The flag is a flag indicating whether the maximum number of reference pictures defined in the PPS is applied to all slices in the same picture as they are.
슬라이스 헤더에는 상기 플래그에 대한 조건이 추가되어, 상기 플래그가 0인 경우에만 현재 슬라이스에서 최대 참조 픽쳐에 관한 정보가 갱신된다. 따라서 상기 플래그가 설정되면 즉, 1이 되면 PPS에 정의된 최대 참조 픽쳐의 수는 동일 픽쳐 내의 모든 슬라이스에 공통으로 적용될 수 있다. The condition for the flag is added to the slice header so that the information about the maximum reference picture in the current slice is updated only when the flag is zero. Therefore, when the flag is set, that is, 1, the maximum number of reference pictures defined in the PPS may be commonly applied to all slices in the same picture.
따라서, 슬라이스 헤더마다 num_ref_idx_no_override_flag 가 전송되는 것이 방지될 수 있으므로, 비트스트림을 통해 전송되는 정보량이 감소될 수 있다.Therefore, since num_ref_idx_no_override_flag can be prevented from being transmitted for each slice header, the amount of information transmitted through the bitstream can be reduced.
[표 3]은 참조 픽쳐 리스트 구성을 위해 신택스 내에서 최대 참조 픽쳐 수를 정의하는 방법의 다른 실시예를 나타낸다.Table 3 shows another embodiment of a method of defining the maximum number of reference pictures in the syntax for constructing the reference picture list.
[표 3]TABLE 3
[표 3]을 참조하면, PPS(Picture Parameter Set)에 num_ref_idx_no_override_flag 라는 플래그가 추가된다. 상기 플래그는 해당 픽쳐 내의 모든 슬라이스에 대해, PPS에 정의된 최대 참조 픽쳐의 수가 그대로 적용되는지 여부를 지시하는 플래그이다. Referring to [Table 3], a flag called num_ref_idx_no_override_flag is added to a picture parameter set (PPS). The flag is a flag indicating whether the maximum number of reference pictures defined in the PPS is applied to all slices in the picture as it is.
슬라이스 헤더에는 상기 플래그에 대한 조건이 추가되어, 상기 플래그가 0인 경우에만 현재 슬라이스에서 최대 참조 픽쳐에 관한 정보가 갱신된다. 따라서 상기 플래그가 설정되면 즉, 1이 되면 PPS에 정의된 최대 참조 픽쳐의 수는 동일 픽쳐 내의 모든 슬라이스에 공통으로 적용된다. The condition for the flag is added to the slice header so that the information about the maximum reference picture in the current slice is updated only when the flag is zero. Therefore, if the flag is set, that is, 1, the maximum number of reference pictures defined in the PPS is applied to all slices in the same picture in common.
PPS에 정의된 슬라이스가 1개인 경우에는, 슬라이스 헤더 내의 num_ref_idx_active_override_flag 가 하던 역할을 PPS에 정의된 num_ref_idx_no_override_flag 가 대신한다. 따라서 PPS에 새로운 플래그가 정의된 경우에 비트스트림을 통해 전송되는 정보량은 PPS에 새로운 플래그가 정의되지 않은 경우와 동일하다. When there is one slice defined in the PPS, num_ref_idx_no_override_flag defined in the PPS replaces the role played by num_ref_idx_active_override_flag in the slice header. Therefore, when a new flag is defined in the PPS, the amount of information transmitted through the bitstream is the same as when a new flag is not defined in the PPS.
그러나, 만일 PPS에 정의된 슬라이스가 복수개인 경우, PPS에 새로운 플래그가 정의되지 않은 경우 슬라이스 수만큼 num_ref_idx_active_override_flag 가 전송 또는 시그널링(signaling)되어야 한다. 반면에 PPS에 상기와 같은 새로운 플래그가 정의된 경우 새로 정의된 플래그가 한 번만 전송되면 되므로, 비트스트림을 통해 전송되는 정보량이 감소될 수 있다.However, if there are a plurality of slices defined in the PPS, if a new flag is not defined in the PPS, num_ref_idx_active_override_flag should be transmitted or signaled by the number of slices. On the other hand, when the new flag is defined in the PPS, since the newly defined flag needs to be transmitted only once, the amount of information transmitted through the bitstream may be reduced.
[표 4]는 참조 픽쳐 리스트 구성을 위해 신택스 내에서 최대 참조 픽쳐 수를 정의하는 방법의 또 다른 실시예를 나타낸다.Table 4 shows another embodiment of a method of defining the maximum number of reference pictures in the syntax for constructing the reference picture list.
[표 4]TABLE 4
[표 4]를 참조하면, SPS(Sequence Parameter Set)에 num_ref_idx_infer_flag 라는 플래그가 추가된다. 상기 플래그는 시퀀스 전체에 대해 동일한 최대 참조 픽쳐의 수가 사용되는지 여부를 지시하는 플래그이다. 상기 플래그가 1인 경우에는 SPS에 최대 참조 픽쳐의 수 num_ref_idx_l0_minus1,num_ref_idx_l0_minus1 가 정의된다. Referring to [Table 4], a flag called num_ref_idx_infer_flag is added to the Sequence Parameter Set (SPS). The flag is a flag indicating whether the same maximum number of reference pictures is used for the entire sequence. If the flag is 1, the number of maximum reference pictures num_ref_idx_l0_minus1 and num_ref_idx_l0_minus1 is defined in the SPS.
또한 PPS와 슬라이스 헤더에서는 SPS에 추가된 플래그 num_ref_idx_infer_flag 가 0인 경우에만 각각에 대한 최대 참조 픽쳐의 수가 전송된다. 따라서 SPS에 추가된 상기 플래그와 신택스 요소들을 이용하여 시퀀스 전체에 대해 동일한 최대 참조 픽쳐의 수가 정의될 수 있으므로, 비트스트림을 통해 전송되는 정보량이 감소될 수 있다. In the PPS and slice headers, the maximum number of reference pictures for each is transmitted only when the flag num_ref_idx_infer_flag added to the SPS is zero. Therefore, since the same maximum number of reference pictures for the entire sequence can be defined using the flags and syntax elements added to the SPS, the amount of information transmitted through the bitstream can be reduced.
도 8은 본 발명의 실시예에 따라 부호화기에서 참조 픽쳐 리스트를 구성하여 참조 픽쳐 리스트 정보를 전송하는 방법을 개략적으로 나타내는 흐름도이다. 8 is a flowchart schematically illustrating a method of transmitting a reference picture list information by constructing a reference picture list in an encoder according to an embodiment of the present invention.
도 8을 참조하면, 부호화기는 참조 픽쳐 리스트를 생성한다(S810). 참조 픽쳐 리스트가 생성됨으로써 참조 픽쳐 리스트에 관련된 정보들이 함께 생성될 수 있으며, 참조 픽쳐 리스트에 관련된 정보에는 리스트0 및/또는 리스트1에 대한 최대 참조 픽쳐 개수가 포함될 수 있다. Referring to FIG. 8, the encoder generates a reference picture list (S810). By generating the reference picture list, information related to the reference picture list may be generated together, and the information related to the reference picture list may include the maximum number of reference pictures for the list 0 and / or the list 1.
최대 참조 픽쳐 개수는 [표 1]에서와 같이 PPS에서 먼저 정의될 수 있다. 현재 슬라이스에서 이를 갱신하기로 결정된 경우, 현재 슬라이스에서 최종적으로 허용되는 참조 픽쳐 개수가 정해질 수 있다. 또한 [표 2]에서와 같이 동일 픽쳐 내의 모든 슬라이스에 대해, PPS에 정의된 최대 참조 픽쳐의 수가 그대로 적용되는지 여부를 가리키는 플래그가 SPS에서 정의될 수도 있다.The maximum number of reference pictures may be defined first in the PPS as shown in [Table 1]. If it is determined to update it in the current slice, the number of reference pictures finally allowed in the current slice can be determined. In addition, as shown in Table 2, for all slices in the same picture, a flag indicating whether the maximum number of reference pictures defined in the PPS is applied as it may be defined in the SPS.
[표 3]에서와 같이 해당 픽쳐 내의 모든 슬라이스에 대해, PPS에 정의된 최대 참조 픽쳐의 수가 그대로 적용되는지 여부를 지시하는 플래그가 PPS에서 정의될 수도 있다. 또한 [표 4]에서와 같이 시퀀스 전체에 대해 동일한 최대 참조 픽쳐의 수가 사용되는지 여부를 지시하는 플래그가 SPS에서 정의될 수도 있다.As shown in Table 3, for all slices in the picture, a flag indicating whether the maximum number of reference pictures defined in the PPS is applied as it is may be defined in the PPS. In addition, as shown in [Table 4], a flag indicating whether the same maximum number of reference pictures is used for the entire sequence may be defined in the SPS.
참조 픽쳐 리스트에 관한 정보는 엔트로피 부호화된다(S820). 부호화된 참조 픽쳐 리스트 정보는 비트스트림을 구성하여 부호화기로부터 복호화기로 전송된다(S830).Information about the reference picture list is entropy encoded (S820). The coded reference picture list information forms a bitstream and is transmitted from the encoder to the decoder (S830).
이 때, [표 1]의 경우, 각 슬라이스에 대해서 최대 참조 픽쳐 개수가 갱신되는 것으로 결정되는 경우에만, 각 슬라이스에서 허용되는 최대 참조 픽쳐 개수에 관한 정보가 슬라이스 헤더에 포함되어 전송될 수 있다. [표 2]의 경우, SPS에 새로이 정의된 플래그가 1이 되는 경우에는 시퀀스 내의 모든 슬라이스에 대해 PPS에 정의된 최대 참조 픽쳐 개수가 공통으로 적용될 수 있다. 이 때, 각 슬라이스에서 허용되는 최대 참조 픽쳐 개수에 관한 정보는 전송되지 않을 수 있다.In this case, in the case of [Table 1], only when it is determined that the maximum number of reference pictures is updated for each slice, information about the maximum number of reference pictures allowed in each slice may be included in the slice header and transmitted. In the case of Table 2, when the newly defined flag is 1 in the SPS, the maximum number of reference pictures defined in the PPS may be commonly applied to all slices in the sequence. At this time, information about the maximum number of reference pictures allowed in each slice may not be transmitted.
[표 3]의 경우, PPS에 새로이 정의된 플래그가 1이 되는 경우에는 현재 픽쳐 내의 모든 슬라이스에 대해 PPS에 정의된 최대 참조 픽쳐 개수가 공통으로 적용될 수 있다. 이 때, 각 슬라이스에서 허용되는 최대 참조 픽쳐 개수에 관한 정보는 전송되지 않을 수 있다. [표 4]의 경우, SPS에 새로이 정의된 플래그가 1이 되는 경우에는 SPS 내에 최대 참조 픽쳐 개수 정보가 포함되어 전송되고, 최대 참조 픽쳐 개수는 시퀀스 전체에 대해 공통으로 적용될 수 있다. 이 경우, 각 PPS나 슬라이스 헤더에서는 별도의 참조 픽쳐 개수에 관한 정보가 전송되지 않을 수 있다.In the case of Table 3, when the newly defined flag becomes 1 in the PPS, the maximum number of reference pictures defined in the PPS may be commonly applied to all slices in the current picture. At this time, information about the maximum number of reference pictures allowed in each slice may not be transmitted. In the case of Table 4, when the newly defined flag is 1 in the SPS, the maximum reference picture number information is included and transmitted in the SPS, and the maximum reference picture number may be commonly applied to the entire sequence. In this case, information about the number of separate reference pictures may not be transmitted in each PPS or slice header.
도 9는 본 발명의 실시예에 따라 복호화기에서 참조 픽쳐 리스트 정보를 수신하여 참조 픽쳐 리스트를 생성하는 방법을 개략적으로 나타내는 흐름도이다. 9 is a flowchart schematically illustrating a method of generating reference picture list by receiving reference picture list information in a decoder according to an embodiment of the present invention.
도 9을 참조하면, 복호화기는 참조 픽쳐 리스트에 관한 정보를 수신한다(S910). 참조 픽쳐 리스트에 관련된 정보에는 리스트0 및/또는 리스트1에 대한 최대 참조 픽쳐 개수가 포함될 수 있다. 이 때, 수신되는 최대 참조 픽쳐 개수 정보는 도 8의 부호화기에서 전송될 수 있는 정보를 포함하며, 상술한 [표 1] 내지 [표 4]의 실시예에 따른 경우마다 서로 다를 수 있다. 예를 들어, [표 4]의 실시예의 경우, SPS에 새로이 정의된 플래그가 1이 되는 경우, SPS 내에 포함된 전체 시퀀스에 대한 최대 참조 픽쳐 개수 정보만이 수신되고, 각 픽쳐나 슬라이스에 대한 별도의 최대 참조 픽쳐 개수 정보는 수신되지 않을 수 있다.9, the decoder receives information about a reference picture list (S910). The information related to the reference picture list may include the maximum number of reference pictures for List0 and / or List1. In this case, the received maximum reference picture number information includes information that can be transmitted by the encoder of FIG. 8, and may differ from each other according to the above-described embodiments of Tables 1 to 4. For example, in the embodiment of Table 4, when the newly defined flag is 1 in the SPS, only the maximum reference picture number information for the entire sequence included in the SPS is received, and a separate picture for each picture or slice is received. The maximum reference picture number information of may not be received.
참조 픽쳐 리스트에 관한 정보는 엔트로피 복호화된다(S920). 복호화기는 복호화된 참조 픽쳐 리스트 정보를 이용하여 참조 픽쳐 리스트를 생성할 수 있다(S930).Information about the reference picture list is entropy decoded (S920). The decoder may generate a reference picture list by using the decoded reference picture list information (S930).
B 슬라이스 또는 GPB 슬라이스는, 화면 간 예측에 사용되는 모드로 세 가지의 예측 모드를 가질 수 있다. 세 가지 모드는 각각 리스트0 및 리스트1 로부터의 두 개의 참조 픽쳐를 사용하는 쌍예측(bi-prediction) 모드(Pred_BI), 리스트0 으로부터의 한 개의 참조 픽쳐를 사용하는 단예측(uni-prediction) 모드(Pred_L0) 및 리스트1 로부터의 한 개의 참조 픽쳐를 사용하는 단예측 모드(Pred_L1)이다. 이하 유니-프레딕션(uni-prediction)은 단예측, 바이-프레딕션(bi-prediction)은 쌍예측이라 한다.A B slice or a GPB slice may have three prediction modes as modes used for inter prediction. The three modes are bi-prediction mode (Pred_BI) using two reference pictures from List0 and List1, and uni-prediction mode using one reference picture from List0, respectively. It is a single prediction mode (Pred_L1) using (Pred_L0) and one reference picture from List1. Hereinafter, uni-prediction is referred to as uniprediction and bi-prediction is referred to as bi-prediction.
일 실시예로 각각의 모드(Pred_BI, Pred_L0, Pred_L1)는 시스템상에서 inter_pred_idc라는 신택스 요소(syntax element)에 의해 지시될 수 있다. 이 때, 현재 예측 유닛이 화면 간 예측 모드에 있는 경우, 세 가지 모드 중 어느 모드에 해당하는지 여부에 대한 정보가 inter_pred_idc를 통해 부호화기로부터 복호화기로 전송되어야 한다. In one embodiment, each mode Pre_BI, Pred_L0, and Pred_L1 may be indicated by a syntax element called inter_pred_idc on the system. In this case, when the current prediction unit is in the inter prediction mode, information on which of three modes corresponds to which mode should be transmitted from the encoder to the decoder through inter_pred_idc.
만일, 모드의 종류가 쌍예측 모드, 단예측 모드 두 가지로 줄어들면, PU마다 전송되는 inter_pred_idc라는 인덱스(index)는 inter_pred_flag와 같은 플래그로 대체될 수 있고, 전송되는 정보량 및 오버헤드(overhead)가 감소될 수 있다. 따라서 이를 위해 컴바인드 리스트(combined list)가 사용될 수 있다. 컴바인드 리스트는 컴바인드 참조 픽쳐 리스트(combined reference picture list) 또는 LC라고도 할 수 있다. If the type of mode is reduced to two types, bi-prediction mode and short-prediction mode, the index of inter_pred_idc transmitted per PU may be replaced with a flag such as inter_pred_flag, and the amount of information and overhead transmitted Can be reduced. Therefore, a combined list can be used for this. The combined list may also be referred to as a combined reference picture list or LC.
컴바인드 리스트의 구성은 후술하기로 한다. 이하, LC와 컴바인드 리스트는 동일한 의미를 가진다. The structure of the bind list will be described later. Hereinafter, the LC and the bind list have the same meaning.
도 10은 컴바인드 리스트 구성 방법의 일 실시예를 개략적으로 나타내는 개념도이다. 도 10에는 리스트0, 리스트1 로부터 컴바인드 리스트가 생성되는 방법이 개략적으로 도시되어 있다.10 is a conceptual diagram schematically illustrating an embodiment of a method of constructing a bind list. 10 schematically illustrates a method of generating a combined list from lists 0 and 1.
도 10을 참조하면, 리스트0 에서부터 시작하여 리스트0 과 리스트1 의 참조 픽쳐들이 번갈아 가며 컴바인드 리스트에 매핑 또는 삽입될 수 있다. 이 때, 현재 픽쳐와 시간적 거리가 가까운 픽쳐부터 먼 픽쳐 순으로 컴바인드 리스트에 매핑 또는 삽입될 수 있다. 또한 현재 리스트가 지시하는 참조 픽쳐가 이전 리스트가 지시하는 참조 픽쳐와 동일한 경우, 컴바인드 리스트로의 매핑 또는 삽입이 생략(skip)될 수 있다. 이하, 상기와 같은 컴바인드 리스트 생성 순서를 디폴트(default) 순서라 한다.Referring to FIG. 10, starting from list 0, reference pictures of list 0 and list 1 may be alternately mapped or inserted into a bind list. At this time, the pictures may be mapped or inserted in the bind list in the order of the distant pictures from the pictures close in time to the current picture. In addition, when the reference picture indicated by the current list is the same as the reference picture indicated by the previous list, the mapping or insertion into the combined list may be skipped. Hereinafter, the above-described combined list generation order is referred to as a default order.
또한 더 효율적인 최적의 컴바인드 리스트 구성을 위해 pic_from_list_0_flag와 ref_idx_list_curr와 같은 신택스 요소들이 전송될 수도 있다. 각 신택스 요소의 의미에 대해서는 후술한다.In addition, syntax elements such as pic_from_list_0_flag and ref_idx_list_curr may be transmitted for more efficient optimal combine list construction. The meaning of each syntax element is mentioned later.
컴바인드 리스트가 생성됨으로써, 세 종류의 모드가 두 종류의 모드로 줄어들 수 있다. 두 종류의 모드는, 각각 리스트0 과 리스트1 로부터의 두 개의 참조 픽쳐를 사용하는 쌍예측 모드(Pred_BI)와 컴바인트 리스트로부터 한 개의 참조 픽쳐를 사용하는 단예측 모드(Pred_LC)이다. 따라서 위에서 상술한 바와 같은 이유로 전송되는 정보량이 감소될 수 있다.By creating a bind list, three modes can be reduced to two modes. The two types of modes are pair prediction mode Pred_BI using two reference pictures from list 0 and list 1 and single prediction mode Pred_LC using one reference picture from the combined list. Therefore, the amount of information transmitted may be reduced for the reasons described above.
컴바인드 참조 픽쳐 리스트가 구성되기 위해 슬라이스 헤더에서 다음 [표 5]에서와 같은 정보가 전송될 수 있다.In order to form a combined reference picture list, information as shown in Table 5 below may be transmitted in a slice header.
[표 5]TABLE 5
[표 5]에서 각 신택스는 다음과 같이 정의될 수 있다.In Table 5, each syntax may be defined as follows.
ref_pic_list_combination_flag 가 1일 때에는, 리스트0 과 리스트1 이 결합되어, 단예측을 위한 컴바인드 리스트가 생성된다. 상기 플래그가 0일 때에는 리스트0 과 리스트1 이 동일하여, 리스트0이 컴바인드 리스트로 사용된다. When ref_pic_list_combination_flag is 1, list 0 and list 1 are combined to generate a combined list for short prediction. When the flag is 0, list 0 and list 1 are the same, and list 0 is used as a bind list.
또한 상기 플래그가 0일 때에는 리스트0 과 리스트1 이 동일하고 GPB는 리스트0 과 리스트1 이 동일한 픽쳐를 의미하므로, 상기 플래그는 현재 슬라이스가 GBP 슬라이스인지 여부를 지시하는 플래그로 사용될 수 있다.In addition, when the flag is 0, the list 0 and the list 1 are the same, and the GPB means the picture in which the list 0 and the list 1 are the same.
num_ref_idx_lc_active_minus2 +2는 컴바인드 리스트 내에서 리스트0 또는 리스트1 으로부터 선택된 참조 픽쳐들의 개수를 나타낸다. 참조 픽쳐의 개수가 1 이하일 때에는 컴바인드 리스트를 생성할 필요가 없으므로 해당 신택스의 값은 적어도 2 이상이 될 수 있으므로 minus2가 적용될 수 있다. num_ref_idx_lc_active_minus2 + 2 indicates the number of reference pictures selected from list 0 or list 1 in the bind list. When the number of reference pictures is less than or equal to 1, since a bind list does not need to be generated, the value of the corresponding syntax may be at least 2, and thus minus2 may be applied.
ref_pic_list_modification_flag_lc 가 1일 때에는 컴바인드 리스트로부터 리스트0 및 리스트1 으로의 매핑을 특정하기 위한 신택스 요소 pic_from_list_0_flag, ref_idx_list_curr가 존재함을 나타낸다. 상기 플래그가 0일 때에는 상기 신택스 요소가 존재하지 않으며, 이미 정해진 디폴트(default) 순서 또는 방법에 따라 컴바인드 리스트가 생성될 수 있다. When ref_pic_list_modification_flag_lc is 1, it indicates that there are syntax elements pic_from_list_0_flag and ref_idx_list_curr for specifying the mapping from the combine list to list 0 and list 1. When the flag is 0, the syntax element does not exist, and a bind list may be generated according to a predetermined default order or method.
pic_from_list_0_flag 는 컴바인드 리스트에 추가되는 현재 참조 픽쳐가 리스트0 에서 오는지 리스트1 에서 오는지를 가리킨다. 상기 플래그가 1이면 리스트0, 상기 플래그가 0이면 리스트1 에서 현재 참조 픽쳐가 추가될 수 있다. pic_from_list_0_flag indicates whether the current reference picture added to the bind list is from list 0 or from list 1. If the flag is 1, the list 0 may be added. If the flag is 0, the current reference picture may be added from the list 1.
ref_idx_list_curr 는 컴바인드 리스트의 마지막에 추가되는 현재 참조 픽쳐 리스트(리스트0 또는 리스트1) 내 픽쳐의 참조 픽쳐 인덱스를 지시한다. ref_idx_list_curr indicates a reference picture index of a picture in the current reference picture list (list 0 or list 1) added at the end of the combined list.
상술한 내용을 참고하면, LC(List Combined)는 리스트0, 리스트1 의 픽쳐로부터의 단예측을 위해 생성된다. LC 생성 방법에는, LC 길이의 절단(truncation)이 뒤따르는 이미 정해진 디폴트(default) 순서를 사용하는 방법 또는 슬라이스 헤더 내의 관련 신택스 요소에 기반하지 않은 다른 신택스를 사용하는 방법이 있을 수 있다. 전자의 방법에서, LC는 도 10에서 상술한 바와 같이 리스트0 의 가장 작은 인덱스부터 시작해서 오름차순으로 리스트0 과 리스트1 의 엔트리(entry)를 번갈아 삽입하는 방법으로 생성될 수 있다.Referring to the above, LC (List Combined) is generated for short prediction from pictures of List 0 and List 1. LC generation methods may include using a predefined default order followed by truncation of the LC length or using other syntax that is not based on the associated syntax element in the slice header. In the former method, the LC may be generated by alternately inserting entries of List 0 and List 1 in ascending order starting from the smallest index of List 0 as described above with reference to FIG. 10.
그러나, 상기 방법에서와 같이 단순히 항상 리스트0이 리스트1에 우선하여 삽입되는 경우, 코딩 효율이 충분히 반영되지 않을 수 있으므로, 템포럴 레벨(temporal level) 및/또는 QP(양자화 파라미터: Quantization Parameter) 값을 이용하여 LC를 생성하는 방법이 이용될 수 있다.However, if the list 0 is always inserted prior to the list 1 as in the above method, since coding efficiency may not be sufficiently reflected, a temporal level and / or a quantization parameter (QP) value A method for generating LC using can be used.
영상 부호화에 있어, 양자화 단계가 직접 부호화되지 않고 양자화 파라미터 QP가 부호화될 수 있다. 이 때 부호화된 QP는 부호화기에서 복호화기로 전송될 수 있으며, 복호화기는 QP로부터 양자화 단계를 도출할 수 있다. QP가 커질수록 양자화 단계가 커질 수 있고, 신호대 잡음비(SNR: Signal to Noise Ratio)가 작아질 수 있다.In image encoding, the quantization step QP may be encoded without directly encoding the quantization step. In this case, the encoded QP may be transmitted from the encoder to the decoder, and the decoder may derive the quantization step from the QP. As the QP increases, the quantization step may increase, and the signal-to-noise ratio (SNR) may decrease.
또한 영상 부호화에 있어서, 계층적(hierarchical) 코딩 구조가 사용될 수 있다.In addition, in image encoding, a hierarchical coding structure may be used.
도 11은 계층적 코딩 구조의 일 실시예를 개략적으로 나타내는 개념도이다. 도 11의 실시예에 따른 계층적 코딩 구조는 4개의 계층 단계를 가지며, 계층 단계의 수는 4개에 한정되지 않을 수 있다. 또한 도 11에서 GOP의 크기는 8이다. GOP(Group Of Pictures)는 픽쳐군, 즉 픽쳐의 그룹을 의미한다. 도 11에서 각 픽쳐가 참조하는 참조 픽쳐들은 도 11에 도시된 바와 달리 선택될 수 있다. 11 is a conceptual diagram schematically illustrating an embodiment of a hierarchical coding structure. The hierarchical coding structure according to the embodiment of FIG. 11 has four hierarchical levels, and the number of hierarchical steps may not be limited to four. In addition, the size of the GOP is 8 in FIG. GOP (Group Of Pictures) means a group of pictures, that is, a group of pictures. Reference pictures referred to by each picture in FIG. 11 may be selected differently from those shown in FIG. 11.
도 11에서 서로 다른 계층 단계의 픽쳐들은 서로 다른 템포럴 레벨을 가질 수 있다. 계층적 코딩 구조에서, 더 낮은 템포럴 레벨을 갖는 픽쳐는 더 작은 QP를 사용하여 코딩될 수 있다. 이는 더 낮은 템포럴 레벨을 갖는 픽쳐는 더 높은 템포럴 레벨을 갖는 픽쳐보다 더 좋은 코딩 효율을 제공할 수 있음을 의미한다. In FIG. 11, pictures of different hierarchical levels may have different temporal levels. In a hierarchical coding structure, a picture with a lower temporal level can be coded using a smaller QP. This means that a picture with a lower temporal level can provide better coding efficiency than a picture with a higher temporal level.
따라서, 더 높은 코딩 효율을 위해, 템포럴 레벨 및/또는 QP를 고려한 컴바인드 리스트 생성이 고려될 수 있다.Thus, for higher coding efficiency, a combined list generation may be considered considering temporal level and / or QP.
도 12는 본 발명에 따른 템포럴 레벨을 이용한 컴바인드 리스트 생성 방법의 실시예를 개략적으로 나타내는 개념도이다. 도 12를 참조하면, 픽쳐들은 POC, 즉 표시 순서 또는 시간적 순서로 도시되며, POC의 크기는 8이다. 도 12의 실시예에서는 4개의 템포럴 레벨이 존재하며, 위쪽으로 갈수록 템포럴 레벨이 낮아지고 아래쪽으로 갈수록 템포럴 레벨이 높아진다. 도 12에서 LC는 디폴트(default) 순서에 따라 구성된 컴바인드 리스트를 나타내고, LC(prop.)는 본 발명의 실시예에 따라 구성된 컴바인드 리스트를 나타낸다.12 is a conceptual diagram schematically showing an embodiment of a method of generating a combined list using a temporal level according to the present invention. 12, pictures are shown in POC, that is, display order or temporal order, and the size of the POC is eight. In the embodiment of FIG. 12, there are four temporal levels. The temporal level is lower toward the top and the temporal level is higher toward the bottom. In FIG. 12, LC represents a bind list constructed according to a default order, and LC (prop.) Represents a bind list constructed according to an embodiment of the present invention.
본 발명의 실시예에 따르면, 리스트0 또는 리스트1 의 엔트리가 LC에 삽입될 때 더 낮은 템포럴 레벨을 갖는 참조 픽쳐가 우선적으로 삽입될 수 있다. 구체적으로 컴바인드 리스트 생성시 다음과 같은 규칙이 적용될 수 있다.According to an embodiment of the present invention, a reference picture having a lower temporal level may be preferentially inserted when an entry of List0 or List1 is inserted into the LC. In more detail, the following rule may be applied when generating a combine list.
우선 각 리스트에 대해, 현재 픽쳐와 시간적 거리가 더 가까운 참조 픽쳐가 먼저 LC에 삽입될 수 있다. 이는 POC 차이가 더 작은 참조 픽쳐가 먼저 삽입됨을 의미한다. 리스트0 과 리스트1 각각의 엔트리 중 현재 픽쳐와의 시간적 거리가 동일한 참조 픽쳐들에 대해서는, 더 낮은 템포럴 레벨을 갖는 픽쳐가 먼저 삽입될 수 있다. 리스트0 과 리스트1 으로부터의 엔트리들이 현재 픽쳐와 서로 동일한 시간적 거리, 동일한 템포럴 레벨을 갖는 경우에는, 리스트0 로부터의 참조 픽쳐가 먼저 삽입될 수 있다.First, for each list, a reference picture that is closer in time to the current picture can be inserted into the LC first. This means that a reference picture with a smaller POC difference is inserted first. For reference pictures having the same temporal distance from the current picture among entries of List0 and List1, a picture having a lower temporal level may be inserted first. When entries from List0 and List1 have the same temporal distance and the same temporal level as the current picture, the reference picture from List0 may be inserted first.
도 12의 실시예에서 POC 값이 3인 픽쳐(1210)의 경우, 디폴트 순서에 따라 리스트0 부터 시작해서 리스트 0 과 리스트 1 이 번갈아 삽입되어 구성된 컴바인드 리스트는 순서대로 2, 4, 0, 6의 엔트리를 가진다. 그러나 본 발명의 실시예에 따르면, 템포럴 레벨이 낮은 4번 픽쳐가 2번 픽쳐보다 먼저 삽입되므로, LC(prop.)의 리스트는 순서대로 4, 2, 0, 6의 엔트리를 가질 수 있다.In the case of the picture 1210 having the POC value of 3 in the embodiment of FIG. 12, the combine list consisting of List 0 and List 1 inserted alternately starting from List 0 in the default order is 2, 4, 0, 6 in order. Has an entry of However, according to the embodiment of the present invention, since the fourth picture having a low temporal level is inserted before the second picture, the list of LCs may have entries of 4, 2, 0, and 6 in order.
도 12의 실시예에서 POC 값이 5인 픽쳐(1220)의 경우, 2번 픽쳐보다 8번 픽쳐의 템포럴 레벨이 더 낮다. 따라서, 본 발명의 실시예에 따라 컴바인드 리스트에 8번 픽쳐가 2번 픽쳐보다 먼저 삽입될 수 있다. In the embodiment of FIG. 12, the picture 1220 having a POC value of 5 has a lower temporal level of picture 8 than picture 2. Therefore, according to an embodiment of the present invention, picture 8 may be inserted before picture 2 in the bind list.
도 12의 실시예에서 POC 값이 6인 픽쳐(1230)의 경우, 디폴트 순서에 따라 생성된 LC를 참조하면 리스트1 의 참조 픽쳐 인덱스(refIdx)가 1인 4번 픽쳐는, 이미 LC에 삽입된 리스트0 으로부터의 4번 픽쳐와 동일하므로, 삽입되지 않을 수 있다. 또한 본 발명의 실시예에 따르면, 템포럴 레벨이 낮은 8번 픽쳐가 4번 픽쳐보다 먼저 삽입될 수 있으므로, LC(prop.)의 리스트는 순서대로 8, 4, 2의 엔트리를 가질 수 있다.In the case of the picture 1230 having a POC value of 6 in the embodiment of FIG. 12, referring to the LC generated according to the default order, the picture 4 of the reference picture index (refIdx) of List 1 is 1 is already inserted into the LC. Since it is the same as the picture 4 from the list 0, it may not be inserted. In addition, according to the embodiment of the present invention, since the 8th picture having a low temporal level may be inserted before the 4th picture, the list of LCs may have entries of 8, 4, and 2 in order.
도 12의 실시예에서 POC 값이 7인 픽쳐(1240)의 경우, 6번 픽쳐보다 8번 픽쳐의 템포럴 레벨이 더 낮다. 따라서, 본 발명의 실시예에 따라 컴바인드 리스트에 8번 픽쳐가 6번 픽쳐보다 먼저 삽입될 수 있다.In the embodiment of FIG. 12, the picture 1240 having a POC value of 7 has a lower temporal level of picture 8 than picture 6. Therefore, according to an embodiment of the present invention, the picture number 8 may be inserted before the picture number 6 in the combined list.
또한 상술한 바와 같이 더 낮은 템포럴 레벨을 갖는 픽쳐는 더 낮은 QP를 이용하여 코딩될 수 있다. 따라서, 템포럴 레벨 대신 QP 값을 이용하여 컴바인드 레벨이 생성될 수 있다.Also, as described above, a picture having a lower temporal level can be coded using a lower QP. Therefore, the bind level may be generated using the QP value instead of the temporal level.
본 발명의 실시예에 따르면, 리스트0 또는 리스트1 의 엔트리가 LC에 삽입될 때 더 낮은 QP 값을 갖는 참조 픽쳐가 우선적으로 삽입된다. 구체적으로 컴바인드 리스트 생성시 다음과 같은 규칙이 적용될 수 있다.According to the embodiment of the present invention, when the entry of List0 or List1 is inserted into the LC, the reference picture having a lower QP value is inserted first. In more detail, the following rule may be applied when generating a combine list.
우선 각 리스트에 대해, 현재 픽쳐와 시간적 거리가 더 가까운 참조 픽쳐가 먼저 LC에 삽입될 수 있다. 이는 POC 차이가 더 작은 참조 픽쳐가 먼저 삽입됨을 의미한다. 리스트0 과 리스트1 각각의 엔트리 중 현재 픽쳐와 시간적 거리가 동일한 참조 픽쳐들에 대해서는, 더 낮은 QP 값을 갖는 픽쳐가 먼저 삽입될 수 있다. 리스트0 과 리스트1 으로부터의 엔트리들이 현재 픽쳐와 서로 동일한 시간적 거리, 동일한 QP 값을 갖는 경우에는, 리스트0 로부터의 참조 픽쳐가 먼저 삽입될 수 있다.First, for each list, a reference picture that is closer in time to the current picture can be inserted into the LC first. This means that a reference picture with a smaller POC difference is inserted first. For reference pictures having the same temporal distance from the current picture among the entries of List0 and List1, a picture having a lower QP value may be inserted first. When the entries from List0 and List1 have the same temporal distance and the same QP value as the current picture, the reference picture from List0 may be inserted first.
상술한 실시예에 따라 컴바인드 리스트가 구성될 수 있는 경우, 템포럴 레벨 또는 QP 값을 이용한 컴바인드 리스트 생성 방법이 활성화(enable)되는지 여부를 지시하는 플래그(flag)가 제공될 수 있다. In the case where the combine list can be configured according to the above-described embodiment, a flag indicating whether a combine list generation method using a temporal level or a QP value is enabled may be provided.
상기 플래그가 1인 경우, 리스트0(RefPicList0) 및 리스트1(RefPicList1) 의 n번째 엔트리가 컴바인드 리스트에 삽입될 때 더 낮은 QP 또는 더 낮은 템포럴 레벨을 갖는 픽쳐가 우선적으로 삽입될 수 있다. 상기 플래그가 0인 경우, 리스트0(RefPicList0) 및 리스트1(RefPicList1) 의 n번째 엔트리가 컴바인드 리스트에 삽입될 때 리스트0 의 픽쳐가 리스트1 의 픽쳐보다 먼저 삽입될 수 있다. 즉, 상기 플래그가 0인 경우 디폴트 순서에 따라 컴바인드 리스트가 생성될 수 있다.If the flag is 1, a picture having a lower QP or lower temporal level may be preferentially inserted when the nth entry of List0 (RefPicList0) and List1 (RefPicList1) is inserted into the combined list. When the flag is 0, when the n-th entry of List0 (RefPicList0) and List1 (RefPicList1) is inserted into the combined list, the picture of List0 may be inserted before the picture of List1. That is, when the flag is 0, a bind list may be generated according to a default order.
상기 플래그는 SPS, PPS 또는 슬라이스 헤더에서 정의될 수 있다. 부호화기에서 생성된 플래그는 부호화되어 복호화기로 전송될 수 있다. 복호화기에서는 상기 플래그의 정보에 따라, 템포럴 레벨이나 QP를 이용하여 또는 디폴트 순서에 따라 컴바인드 리스트가 생성될 수 있다.The flag may be defined in an SPS, PPS or slice header. The flag generated by the encoder may be encoded and transmitted to the decoder. In the decoder, a bind list may be generated using a temporal level or QP or in a default order according to the information of the flag.
도 13은 본 발명에 따른 컴바인드 리스트 생성 방법의 일 실시예를 나타내는 흐름도이다. 도 13은 도 12에서 상술한 새로운 플래그가 1인 경우의 실시예를 도시한다.13 is a flowchart illustrating an embodiment of a method for generating a combine list according to the present invention. FIG. 13 shows an embodiment when the new flag described above in FIG. 12 is 1;
도 13을 참조하면, 부호화기 또는 복호화기는 참조 픽쳐 리스트0 과 참조 픽쳐 리스트1 을 생성한다(S1310). Referring to FIG. 13, the encoder or the decoder generates a reference picture list 0 and a reference picture list 1 (S1310).
그리고 부호화기 또는 복호화기는 참조 픽쳐 리스트0 으로부터의 픽쳐와 참조 픽쳐 리스트1 로부터의 픽쳐에 대해, 현재 픽쳐로부터의 시간적 거리 및 각 픽쳐의 템포럴 레벨을 판별한다(S1320). 이 때, 도 12에서 상술한 새로운 플래그가 사용되는 경우라면, 상기 플래그가 1인 경우에 시간적 거리와 템포럴 레벨이 판별될 수 있다. 또한 템포럴 레벨 대신 QP 값이 사용될 수도 있다.The encoder or decoder determines the temporal distance from the current picture and the temporal level of each picture with respect to the picture from the reference picture list 0 and the picture from the reference picture list 1 (S1320). In this case, if the new flag described above in FIG. 12 is used, the temporal distance and temporal level may be determined when the flag is 1. In addition, a QP value may be used instead of the temporal level.
부호화기 또는 복호화기는 현재 픽쳐로부터의 시간적 거리, 각 픽쳐의 템포럴 레벨 정보를 이용하거나 또는 현재 픽쳐로부터의 시간적 거리, QP 정보를 이용하여 LC를 생성한다(S1330). 이 때, 현재 픽쳐로부터 시간적 거리가 가까운 픽쳐가 우선적으로 컴바인드 리스트에 삽입될 수 있다. 리스트0 의 픽쳐와 리스트 1 의 픽쳐가 현재 픽쳐로부터 동일한 시간적 거리를 갖는 경우, 더 낮은 템포럴 레벨 및/또는 더 낮은 QP 값을 갖는 픽쳐가 우선적으로 컴바인드 리스트에 삽입될 수 있다. 시간적 거리 및 템포럴 레벨이 동일하거나 시간적 거리 및 QP 값이 동일한 경우에는, 리스트 0 의 픽쳐가 우선적으로 컴바인드 리스트에 삽입될 수 있다.The encoder or decoder generates an LC using the temporal distance from the current picture, temporal level information of each picture, or the temporal distance from the current picture, QP information (S1330). In this case, a picture having a temporal distance from the current picture may be preferentially inserted into the combine list. If the picture of list 0 and the picture of list 1 have the same temporal distance from the current picture, the picture with lower temporal level and / or lower QP value may be preferentially inserted into the combine list. When the temporal distance and temporal level are the same or the temporal distance and the QP value are the same, the pictures of the list 0 may be preferentially inserted into the bind list.
컴바인드 리스트가 생성되는 경우, inter_pred_idc 신택스 요소가 가질 수 있는 값이 세 개(L0, L1, Bi)에서 두 개(Uni, Bi)로 줄어들 수 있다. 따라서, inter_pred_idc는 쌍예측(bi-pred)인지 단예측(uni_pred)인지를 지시하는 inter_pred_flag로 대체될 수 있으며, 전송되는 정보량이 감소될 수 있다. 그러나 컴바인드 리스트의 생성에 의해 추가되는 신택스 요소 또는 정보에 의해 불필요한 중복 또는 부담이 발생할 수 있다. When a combined list is generated, a value that an inter_pred_idc syntax element may have may be reduced from three (L0, L1, Bi) to two (Uni, Bi). Accordingly, inter_pred_idc may be replaced by inter_pred_flag indicating whether bi-pred or uni_pred is used, and the amount of information transmitted may be reduced. However, unnecessary duplication or burden may occur due to syntax elements or information added by the generation of the bind list.
예측 유닛 prediction_unit()에, 리스트0 및 리스트1에 대한 신택스 요소인 ref_idx_lX, mvd_lX, mvp_idx_lX 에 추가하여, 컴바인드 리스트를 위한 새로운 신택스 요소가 정의될 필요가 있다. prediction_unit()에 추가되는 새로운 신택스 요소에는 LC의 참조 픽쳐 인덱스 ref_idx_lc, LC의 움직임 벡터 차분 mvd_lc, LC의 움직임 벡터 예측자 인덱스 mvp_idx_lc 등이 있을 수 있다. In the prediction unit prediction_unit (), a new syntax element for the combined list needs to be defined, in addition to ref_idx_lX, mvd_lX, and mvp_idx_lX, which are syntax elements for List0 and List1. The new syntax element added to prediction_unit () may include a reference picture index ref_idx_lc of LC, motion vector difference mvd_lc of LC, motion vector predictor index mvp_idx_lc of LC, and the like.
또한 슬라이스 헤더(slice header())에, 컴바인드 리스트의 수정(modification)에 대한 새로운 신택스 요소가 정의될 필요가 있다. 슬라이스 헤더에 추가되는 새로운 신택스 요소에는 num_ref_idx_lc_active_munus1, ref_pic_list_modification_flag_lc, pic_from_list_0_flag, ref_idx_list_curr 등이 있을 수 있다.In addition, in the slice header (), a new syntax element for modification of the bind list needs to be defined. New syntax elements added to the slice header may include num_ref_idx_lc_active_munus1, ref_pic_list_modification_flag_lc, pic_from_list_0_flag, ref_idx_list_curr, and the like.
또한 단예측(uni-prediction)이 수행되는 예측 유닛에 대해, LC 관련 신택스를 리스트0 또는 리스트1 에 매핑시키기 위한 매핑 프로세스가 필요하다. 예를 들어, ref_idx_lc에서 refIdxLX, mvd_lc에서 mvd_lX, mvp_idx_lc에서 mvp_idx_lX 및 LcToLx에서 LX로의 매핑 프로세스가 요구될 수 있다.There is also a need for a mapping process for mapping LC related syntax to list 0 or list 1 for prediction units on which uni-prediction is performed. For example, a mapping process from refIdxLX to ref_idx_lc, mvd_lX to mvd_lc, mvp_idx_lX to mvp_idx_lc and LcToLx to LX may be required.
여기서 Lx, lX 또는 LX에서의 x 및 X는 0 또는 1로 해석될 수 있으며, L 및 l은 리스트를 의미한다. 이는 이하 동일하게 적용된다.Where x and X in Lx, lX or LX may be interpreted as 0 or 1, where L and l mean a list. This applies equally below.
위에서 살펴본 바와 같이, 컴바인드 리스트가 생성되면 LC 관련 신택스의 정의, 리스트0 또는 리스트1 으로의 매핑을 위한 부담이 증가되거나 프로세스의 중복이 발생할 수 있다.As described above, when the combined list is generated, the burden for the definition of the LC-related syntax, the mapping to the list 0 or the list 1, or the duplication of the process may occur.
그리고 LC 관련 신택스는 실질적으로 현재 존재하는 신택스 요소를 사용하여 시그널링 또는 전송될 수 있는 리스트0 또는 리스트1 을 지시한다. ref_idx_lc는 ref_idx_l0와 ref_idx_l1, mvd_lc는 mvd_l0와 mvd_l1, mvp_idx_lc는 mvp_idx_l0, mvp_idx_l1 에 대한 불필요한 중복(redundant)일 수 있다. And the LC related syntax substantially indicates list 0 or list 1 which can be signaled or transmitted using the currently existing syntax element. ref_idx_lc may be unnecessary redundant to ref_idx_l0 and ref_idx_l1, mvd_lc to mvd_l0 and mvd_l1, and mvp_idx_lc to mvp_idx_l0 and mvp_idx_l1.
또한 슬라이스 헤더에는 컴바인드 리스트의 수정(modification)을 위한 신택스들이 포함된다. 그러한 신택스들에 의해 컴바인드 리스트 내의 엔트리들의 순서가 코딩 효율을 위해 최적화될 수 있다. 그러나 그러한 신택스들도 불필요한 중복(redundant)이 될 수 있다. 예를 들어, num_ref_idx_lc_active_minus1은 실질적으로 num_ref_idx_l0_active_minus1과 num_ref_idx_l1_active_minus1을, ref_pic_list_modification_flag_lc는 실질적으로 ref_pic_list_modification_flag_l0과 ref_pic_list_modification_flag_l1을 지시할 수 있으며, pic_from_list0_flag와 ref_idx_list_curr 또한 컴바인드 리스트에 의해 발생된 부담으로 볼 수 있다.The slice header also contains syntax for modification of the bind list. Such syntaxes allow the order of entries in the bind list to be optimized for coding efficiency. However, such syntaxes can also be unnecessary redundant. For example, num_ref_idx_lc_active_minus1 may substantially refer to num_ref_idx_l0_active_minus1 and num_ref_idx_l1_active_minus1, ref_pic_list_modification_flag_lc may be ref_pic_list_modification_flag_l_ and ref_pic_list_list_mod_list_mod_list_mod_list_mod_list_mod_list_mod_list_mod_l
컴바인드 리스트는 inter_pred_idc를 위한 비트수를 3(L0, L1, Bi)에서 2(Uni, Bi)로 줄여줄 수 있으므로, inter_pred_idc가 inter_pred_flag로 대체될 수 있는 이점을 가진다.Since the combined list can reduce the number of bits for inter_pred_idc from 3 (L0, L1, Bi) to 2 (Uni, Bi), inter_pred_idc can be replaced with inter_pred_flag.
그러나 이러한 이점은 컴바인드 리스트의 생성 없이 얻어질 수도 있다. 리스트들의 매핑을 위해 새로운 신택스를 정의하는 대신, 현재 존재하는 리스트0 관련 신택스가 사용될 수 있다. 이 경우에 리스트0(L0)은 LC처럼 활용될 수 있다. LC 생성 대신 사용될 수 있는 리스트0 관련 신택스에는 예를 들어, ref_idx_l0, mvd_l0, mvp_idx_l0 등이 있을 수 있다.However, this benefit can also be obtained without the creation of a bind list. Instead of defining a new syntax for the mapping of the lists, the existing List0 related syntax can be used. In this case, list 0 L0 can be utilized like LC. List 0 related syntax that may be used instead of LC generation may include, for example, ref_idx_l0, mvd_l0, mvp_idx_l0, and the like.
새로운 리스트 생성 없이 화면 간 예측 모드 정보(예를 들어, inter_pred_flag) 전송에 필요한 비트수를 감소시키기 위해서, 새로운 참조 픽쳐 선택 프로세스가 제공될 수 있다. 이러한 새로운 참조 픽쳐 선택 프로세스는 inter_pred_flag가 단예측을 가리키고(inter_pred_flag==Pred_Uni), 슬라이스가 B 슬라이스이고(slice_type==B_SLICE), 참조 픽쳐 리스트0과 참조 픽쳐 리스트1이 동일하지 않다(ref_pic_list_combination_flag==1)는 조건을 만족시키는 경우에 제공될 수 있다.A new reference picture selection process may be provided to reduce the number of bits required for transmission of inter prediction mode information (eg, inter_pred_flag) without generating a new list. In this new reference picture selection process, inter_pred_flag points to single prediction (inter_pred_flag == Pred_Uni), slices are B slices (slice_type == B_SLICE), and reference picture list 0 and reference picture list 1 are not identical (ref_pic_list_combination_flag == 1). ) May be provided when the condition is satisfied.
도 14는 본 발명의 실시예에 따른 참조 픽쳐 선택 방법을 개략적으로 나타내는 개념도이다. 도 14는 상술한 바와 같이 컴바인드 리스트 생성 없이 리스트0 관련 신택스가 컴바인드 리스트 대신 사용되는 경우의 참조 픽쳐 선택 방법을 개략적으로 도시한다. 14 is a conceptual diagram schematically illustrating a reference picture selection method according to an embodiment of the present invention. FIG. 14 schematically illustrates a reference picture selection method in the case where List0 related syntax is used instead of the combine list without generating the combine list as described above.
도 14의 1410을 참조하면, 픽쳐들은 POC, 즉 표시 순서 또는 시간적 순서로 도시된다. POC 값이 7인 픽쳐는 현재 픽쳐를 나타낸다. 도 14의 1420에서는 참조 픽쳐 리스트0 및 참조 픽쳐 리스트1 에 포함된 참조 픽쳐들 중 각각 참조 픽쳐 인덱스 refIdxL0와 refIdxL1이 지시하는 픽쳐를 나타낸다. 즉, 도14의 1420은 refIdxL0와 POC의 관계 및 refIdxL1와 POC의 관계를 나타낸다. 도 14의 1430은 참조 픽쳐의 선택 방법을 나타내며, 이에 대해서는 후술한다.Referring to 1410 of FIG. 14, pictures are shown in POC, that is, display order or temporal order. A picture having a POC value of 7 represents the current picture. In 1420 of FIG. 14, a picture indicated by the reference picture index refIdxL0 and refIdxL1, respectively, of the reference pictures included in the reference picture list 0 and the reference picture list 1 is indicated. That is, 1420 of FIG. 14 illustrates a relationship between refIdxL0 and a POC and a relationship between refIdxL1 and a POC. 1430 of FIG. 14 illustrates a method of selecting a reference picture, which will be described later.
참조 픽쳐 선택 프로세스에서, 입력은 참조 픽쳐 인덱스 refIdxLX가 될 수 있고, 출력은 휘도 샘플(luma sample)의 2차원 배열, 즉 참조 픽쳐 refPicLX가 될 수 있다. 본 발명이 적용되지 않는 경우, 상기 프로세스의 출력은 RefPicListX[refIdxLX]가 될 수 있다. 여기서, RefPicListX은 참조 픽쳐 리스트를 의미하고 refIdxLX는 참조 픽쳐 리스트 내의 참조 픽쳐를 지시하는 참조 픽쳐 인덱스를 의미한다. 여기서 X는 경우에 따라 0 또는 1을 의미할 수 있다.In the reference picture selection process, the input may be a reference picture index refIdxLX and the output may be a two-dimensional array of luma samples, that is, the reference picture refPicLX. If the present invention does not apply, the output of the process may be RefPicListX [refIdxLX]. Here, RefPicListX means a reference picture list and refIdxLX means a reference picture index indicating a reference picture in the reference picture list. X may mean 0 or 1 in some cases.
본 발명의 실시예에 따라 제공되는 새로운 참조 픽쳐 선택 프로세스는 다음과 같다.A new reference picture selection process provided according to an embodiment of the present invention is as follows.
변수 idxMax는 다음과 같이 설정된다.The variable idxMax is set as follows.
idxMax=ref_idx_l0idxMax = ref_idx_l0
LX는 L0 또는 L1을 가리키는 변수로 놓는다.LX is set to a variable that points to L0 or L1.
idxL0 및 idxL1은 참조 픽쳐 리스트 RefPicList0, RefPicList1 내의 인덱스로 놓는다. idxL0 및 idxL1은 모두 0으로 설정된다.idxL0 and idxL1 are set to the indexes in the reference picture lists RefPicList0 and RefPicList1. idxL0 and idxL1 are both set to zero.
변수 idxLX는 0으로 설정된다.The variable idxLX is set to zero.
다음의 프로세스가 반복된다. idxLX가 idxMax와 동일하면 다음 프로세스는 종료된다.The following process is repeated. If idxLX is equal to idxMax, the next process ends.
만일 RefPicList0[refIdxL0]이 처음 나타나는 참조 픽쳐라면, 즉 이전에 중복되는 참조 픽쳐가 없었다면,If RefPicList0 [refIdxL0] is the first reference picture to appear, that is, if there were no duplicate reference pictures before,
idxLX가 idxMax와 동일하면, LX=LO가 되고 프로세스는 종료된다.If idxLX is equal to idxMax, then LX = LO and the process ends.
그렇지 않으면, idxL0++, idxLX++ 연산이 수행된다.Otherwise, idxL0 ++ and idxLX ++ operations are performed.
만일 RefPicList1[refIdxL1]이 처음 나타나는 참조 픽쳐라면, 즉 이전에 중복되는 참조 픽쳐가 없었다면,If RefPicList1 [refIdxL1] is the first reference picture to appear, i.e. if there were no previous reference pictures,
idxLX가 idxMax와 동일하면, LX=L1이 되고 프로세스는 종료된다.If idxLX is equal to idxMax, then LX = L1 and the process ends.
그렇지 않으면, idxL1++, idxLX++ 연산이 수행된다.Otherwise, idxL1 ++ and idxLX ++ operations are performed.
상기 프로세스가 종료되면, 참조 픽쳐 선택 프로세스의 출력은 다음과 같다.When the process ends, the output of the reference picture selection process is as follows.
LX가 L0이라면, RefPicList0[refIdxL0]가 출력이 된다.If LX is L0, RefPicList0 [refIdxL0] is output.
LX가 L1이라면, RefPicList1[refIdxL1]이 출력이 된다.If LX is L1, RefPicList1 [refIdxL1] is output.
상기 참조 픽쳐 선택 프로세스의 개략적인 개념은 도 14의 실시예의 1430에 도시된다. 도 14의 1430을 참조하면, 참조 픽쳐 인덱스 ref_idx_l0의 값이 증가함에 따라 참조 픽쳐를 선택하기 위해 일정한 순서에 따라 리스트0 및 리스트1 의 참조 픽쳐들이 스캔될 수 있다. 먼저, 참조 픽쳐 리스트0(RefPicList0)의 첫 번째 엔트리부터 스캔이 시작된다. 참조 픽쳐 리스트0(RefPicList0) 및 참조 픽쳐 리스트1(RefPicList1)이 차례차례 교대로 스캔될 수 있다. 따라서 참조 픽쳐가 스캔되는 순서는 픽쳐의 POC를 기준으로 “6, 8, 4, 6, 2, 4, 0, 2”가 될 수 있다.A schematic concept of the reference picture selection process is shown at 1430 of the embodiment of FIG. 14. Referring to 1430 of FIG. 14, as the value of the reference picture index ref_idx_l0 increases, reference pictures of the list 0 and the list 1 may be scanned in a certain order to select the reference picture. First, scanning starts from the first entry of reference picture list 0 (RefPicList0). The reference picture list 0 (RefPicList0) and the reference picture list 1 (RefPicList1) may be sequentially scanned in turn. Therefore, the order in which the reference picture is scanned may be “6, 8, 4, 6, 2, 4, 0, 2” based on the POC of the picture.
그러나 이미 스캔된 참조 픽쳐는 스캔되지 않고 건너뛴다(skipped). 예를 들어, 도 14의 1430에서는, 참조 픽쳐 리스트1에서 refIdxL1이 1, POC가 6인 참조 픽쳐는 스캔되지 않는다. 이는 참조 픽쳐 리스트0 에서 refIdxL0이 0인 경우에 이미 스캔된 참조 픽쳐이기 때문이다. 따라서 도 14를 참조하면, 참조 픽쳐가 스캔되는 순서는 “6, 8, 4, 2, 0”이 된다.However, already scanned reference pictures are not scanned but skipped. For example, in 1430 of FIG. 14, a reference picture having refIdxL1 of 1 and POC of 6 in reference picture list 1 is not scanned. This is because the reference picture is already scanned when refIdxL0 is 0 in the reference picture list 0. Therefore, referring to FIG. 14, the order in which the reference pictures are scanned is “6, 8, 4, 2, 0”.
상술한 프로세스 및 도 14의 실시예에 따른 참조 픽쳐 선택 프로세스에 의해, 별도의 컴바인드 리스트 생성 없이도 리스트0 관련 신택스가 LC 관련 신택스 대신 사용될 수 있음이 확인될 수 있다. 즉, ref_idx_l0가 ref_idx_lc 대신 사용될 수 있다.By the above-described process and the reference picture selection process according to the embodiment of FIG. 14, it may be confirmed that the List0 related syntax may be used instead of the LC related syntax without generating a separate bind list. That is, ref_idx_l0 may be used instead of ref_idx_lc.
단예측(Uni-predicdtion) 모드인 경우, 상술한 참조 픽쳐 선택 프로세스에 의해 리스트0 과 리스트1 의 엔트리들이 모두 참조 픽쳐로 사용될 수 있다. 또한 상술한 참조 픽쳐 선택 프로세스에서는, LC 생성 없이도 inter_pred_flag가 화면 간 예측 모드 중 쌍예측인지 단예측인지 여부만 지시하면 된다. 따라서 상기 참조 픽쳐 선택 프로세스는 컴바인드 리스트가 갖는 이점을 그대로 제공할 수 있다. In the uni-predicdtion mode, the entries of the list 0 and the list 1 may be used as the reference picture by the above-described reference picture selection process. In addition, in the above-described reference picture selection process, it is only necessary to indicate whether inter_pred_flag is pair prediction or short prediction among inter prediction modes without generating LC. Therefore, the reference picture selection process can provide the advantages of the combined list as it is.
컴바인드 리스트 생성 없이 리스트0 관련 신택스가 컴바인드 리스트 관련 신택스 대신 사용되는 경우, 리스트0(list0)을 리스트X(listX)에 매핑시키기 위해, 움직임 벡터와 참조 픽쳐 인덱스를 도출하는 새로운 프로세스가 제공될 수 있다. If List0 related syntax is used instead of Combined list related syntax without creating a bind list, a new process for deriving the motion vector and the reference picture index will be provided to map list0 to listX. Can be.
본 발명에 따라 제공되는 새로운 움직임 벡터 및 참조 픽쳐 인덱스 도출 프로세스의 일 실시예는 다음과 같다. 이하 변수 predFlagLX, mvLX, refIdxLX, Pred_LX 및 신택스 요소 ref_idx_lX와 mvd_lX에서 X는 경우에 따라 0 또는 1을 의미할 수 있다.One embodiment of a new motion vector and reference picture index derivation process provided according to the present invention is as follows. Hereinafter, in the variables predFlagLX, mvLX, refIdxLX, Pred_LX, and syntax elements ref_idx_lX and mvd_lX, X may mean 0 or 1 in some cases.
1. 변수 refIdxLX와 predFlagLX는 다음과 같이 도출될 수 있다.1. The variables refIdxLX and predFlagLX can be derived as follows.
inter_pred_flag가 단예측을 가리키고(inter_pred_flag==Pred_Uni), 슬라이스가 B 슬라이스이고(slice_type==B_SLICE), 참조 픽쳐 리스트0과 참조 픽쳐 리스트1이 동일하지 않다(ref_pic_list_combination_flag==1)는 조건을 만족시키는 경우에 다음 프로세스가 적용된다.inter_pred_flag points to a single prediction (inter_pred_flag == Pred_Uni), slice is B slice (slice_type == B_SLICE), and reference picture list 0 and reference picture list 1 are not the same (ref_pic_list_combination_flag == 1) The following process applies.
idxL0 및 idxL1은 참조 픽쳐 리스트 RefPicList0, RefPicList1 내의 인덱스로 놓는다. idxL0 및 idxL1은 모두 0으로 설정된다.idxL0 and idxL1 are set to the indexes in the reference picture lists RefPicList0 and RefPicList1. idxL0 and idxL1 are both set to zero.
변수 idxLC는 0으로 설정된다.The variable idxLC is set to zero.
변수 LC를 도출하기 위해 다음 프로세스가 반복된다.The following process is repeated to derive the variable LC.
만일 RefPicList0[refIdxL0]이 처음 나타나는 참조 픽쳐라면, 즉 이전에 중복되는 참조 픽쳐가 없었다면,If RefPicList0 [refIdxL0] is the first reference picture to appear, that is, if there were no duplicate reference pictures before,
idxLC가 ref_idx_l0[xP][yP]와 동일하면, LC=LO가 되고 프로세스는 종료된다.If idxLC is equal to ref_idx_l0 [xP] [yP], then LC = LO and the process ends.
그렇지 않으면, idxL0++, idxLC++ 연산이 수행된다.Otherwise, idxL0 ++ and idxLC ++ operations are performed.
만일 RefPicList1[refIdxL1]이 처음 나타나는 참조 픽쳐라면, 즉 이전에 중복되는 참조 픽쳐가 없었다면,If RefPicList1 [refIdxL1] is the first reference picture to appear, i.e. if there were no previous reference pictures,
idxLC가 ref_idx_l0[xP][yP]와 동일하면, LC=L1이 되고 프로세스는 종료된다.If idxLC is equal to ref_idx_l0 [xP] [yP], LC = L1 and the process ends.
그렇지 않으면, idxL1++, idxLC++ 연산이 수행된다.Otherwise, idxL1 ++ and idxLC ++ operations are performed.
LC에 따라, 다음 과정이 적용된다.According to the LC, the following procedure applies.
LC가 L0라면,If LC is L0,
refIdxL0=idxL0, refIdxL1=-1refIdxL0 = idxL0, refIdxL1 = -1
predFlagL0=1, predFlagL1=0predFlagL0 = 1, predFlagL1 = 0
mvd_l0[xP][yP][0]=mvd_l0[xP][yP][0] (움직임 벡터 차분의 수평 성분)mvd_l0 [xP] [yP] [0] = mvd_l0 [xP] [yP] [0] (horizontal component of the motion vector difference)
mvd_l0[xP][yP][1]=mvd_l0[xP][yP][1] (움직임 벡터 차분의 수직 성분)mvd_l0 [xP] [yP] [1] = mvd_l0 [xP] [yP] [1] (vertical component of the motion vector difference)
mvp_idx_l0[xP][yP][0]= mvp_idx_l0[xP][yP]mvp_idx_l0 [xP] [yP] [0] = mvp_idx_l0 [xP] [yP]
LC가 L1이라면,If LC is L1
refIdxL0=-1, refIdxL1= idxL1refIdxL0 = -1, refIdxL1 = idxL1
predFlagL0=0, predFlagL1=1predFlagL0 = 0, predFlagL1 = 1
mvd_l1[xP][yP][0]=mvd_l0[xP][yP][0] (움직임 벡터 차분의 수평 성분)mvd_l1 [xP] [yP] [0] = mvd_l0 [xP] [yP] [0] (horizontal component of the motion vector difference)
mvd_l1[xP][yP][1]=mvd_l0[xP][yP][1] (움직임 벡터 차분의 수직 성분)mvd_l1 [xP] [yP] [1] = mvd_l0 [xP] [yP] [1] (vertical component of the motion vector difference)
mvp_idx_l1[xP][yP][0]= mvp_idx_l0[xP][yP]mvp_idx_l1 [xP] [yP] [0] = mvp_idx_l0 [xP] [yP]
만일, inter_pred_flag[xP][yP]가 Pred_LX 또는 Pred_BI와 동일하면,If inter_pred_flag [xP] [yP] is equal to Pred_LX or Pred_BI,
refIdxLX=ref_idx_lX[xP][yP], predFlagLX=1 이고,refIdxLX = ref_idx_lX [xP] [yP], predFlagLX = 1,
inter_pred_flag가 Pred_Uni, Pred_LX, Pred_BI와 모두 동일하지 않으면,If inter_pred_flag is not the same as Pred_Uni, Pred_LX, and Pred_BI,
refIdxLX=-1, predFlagLX=0 이다.refIdxLX = -1 and predFlagLX = 0.
2. 변수 mvdLX는 다음과 같이 도출될 수 있다.2. The variable mvdLX can be derived as follows.
mvdLX[0] = mvdlX[xP][yP][0]mvdLX [0] = mvdlX [xP] [yP] [0]
mvdLX[1] = mvdlX[xP][yP][1]mvdLX [1] = mvdlX [xP] [yP] [1]
3. predFlagLX가 1일 때, 변수 mvpLX가 도출될 수 있다.3. When predFlagLX is 1, the variable mvpLX can be derived.
4. predFlagLX가 1일 때, 휘도 움직임 벡터 mvLX는 다음과 같이 도출될 수 있다.4. When predFlagLX is 1, the luminance motion vector mvLX can be derived as follows.
mvLX[0] = mvpLX[0] + mvdLX[0]mvLX [0] = mvpLX [0] + mvdLX [0]
mvLX[1] = mvpLX[1] + mvdLX[1]mvLX [1] = mvpLX [1] + mvdLX [1]
상술한 움직임 벡터 및 참조 픽쳐 인덱스 도출 프로세스에서, 참조 픽쳐가 스캔되는 순서 또는 방법은 도 14의 실시예에서 설명된 바와 동일하다. 또한 상기 프로세스에서는 별도의 컴바인드 리스트 생성 없이 리스트0 관련 신택스가 LC 관련 신택스 대신 사용됨이 확인될 수 있다. 즉, ref_idx_l0, mvd_l0, mvp_idx_l0가 각각 ref_idx_lc, mvd_lc, mvp_idx_lc 대신 사용될 수 있다. 따라서, 상기 프로세스에서 움직임 벡터 및 참조 픽쳐 인덱스 등 움직임 정보는 컴바인드 리스트가 아닌 리스트0 으로부터 카피(copy)되어 도출될 수 있다.In the above-described motion vector and reference picture index derivation process, the order or method in which the reference picture is scanned is the same as described in the embodiment of FIG. In addition, in the above process, it may be confirmed that List0 related syntax is used instead of LC related syntax without generating a separate bind list. That is, ref_idx_l0, mvd_l0, and mvp_idx_l0 may be used instead of ref_idx_lc, mvd_lc, and mvp_idx_lc, respectively. Therefore, motion information such as a motion vector and a reference picture index in the process may be derived from a copy from list 0, not a combined list.
단예측(Uni-predicdtion) 모드인 경우, 상술한 참조 픽쳐 선택 프로세스에 의해 리스트0 과 리스트1 의 엔트리들이 모두 참조 픽쳐로 사용될 수 있다. 또한 상술한 움직임 벡터 및 참조 픽쳐 인덱스 도출 프로세스에서는, LC 생성 없이도 inter_pred_flag가 화면 간 예측 모드 중 쌍예측인지 단예측인지 여부만 지시하면 된다. 따라서 상기 프로세스는 컴바인드 리스트가 갖는 이점을 그대로 제공할 수 있다. In the uni-predicdtion mode, the entries of the list 0 and the list 1 may be used as the reference picture by the above-described reference picture selection process. In the above-described motion vector and reference picture index derivation process, it is only necessary to indicate whether inter_pred_flag is bi-prediction or short-prediction among inter prediction modes without generating LC. Thus, the process can provide the benefits of the bind list as it is.
도 15는 본 발명의 실시예에 따른 움직임 정보 도출 방법을 개략적으로 나타내는 흐름도이다. 움직임 정보에는 움직임 벡터, 참조 픽쳐 인덱스 등이 포함될 수 있다. 도 15의 실시예는 상술한 도 14의 실시예에 따른 참조 픽쳐 선택 방법을 포함할 수 있으며, 도 15의 실시예에서는 컴바인드 리스트가 생성되지 않을 수 있다. 15 is a flowchart schematically illustrating a method for deriving motion information according to an embodiment of the present invention. The motion information may include a motion vector, a reference picture index, and the like. 15 may include the method of selecting a reference picture according to the embodiment of FIG. 14 described above, and in the embodiment of FIG. 15, a bind list may not be generated.
부호화기 또는 복호화기는 참조 픽쳐 리스트0 및 참조 픽쳐 리스트1을 생성한다(S1510). 이 때, 부호화기 또는 복호화기는 컴바인드 리스트와 같은 별도의 리스트를 생성하지 않을 수 있다.The encoder or the decoder generates a reference picture list 0 and a reference picture list 1 (S1510). In this case, the encoder or the decoder may not generate a separate list such as a combined list.
부호화기 또는 복호화기는 참조 픽쳐 리스트0 및 참조 픽쳐 리스트1 을 이용하여 참조 픽쳐를 스캔한다(S1520). 이 때, 참조 픽쳐 리스트0 의 첫 번째 엔트리부터 스캔될 수 있다. 또한 참조 픽쳐 인덱스가 증가하는 순서로 참조 픽쳐 리스트0 및 참조 픽쳐 리스트1 이 차례차례 교대로 스캔될 수 있다. 또한 이미 이전에 스캔된 참조 픽쳐는 스캔이 생략(skip)될 수 있다.The encoder or the decoder scans the reference picture using the reference picture list 0 and the reference picture list 1 (S1520). At this time, the first entry of the reference picture list 0 may be scanned. In addition, the reference picture list 0 and the reference picture list 1 may be sequentially scanned in order of increasing the reference picture index. Also, a reference picture that has been previously scanned may be skipped.
부호화기 또는 복호화기는 스캔 과정을 통해 선택된 참조 픽쳐로부터 움직임 벡터, 참조 픽쳐 인덱스 등의 움직임 정보를 도출할 수 있다(S1530).The encoder or the decoder may derive motion information such as a motion vector and a reference picture index from the selected reference picture through a scan process (S1530).
도 15의 실시예에서는, 상술한 움직임 벡터 및 참조 픽쳐 인덱스 도출 프로세스에서와 같이 컴바인드 리스트 생성 없이 리스트0 관련 신택스가 LC 관련 신택스 대신 사용될 수 있다. 또한 단예측(uni-prediction) 모드에서 리스트0 과 리스트1 의 엔트리들이 모두 참조 픽쳐로 사용될 수 있고, LC 생성 없이도 inter_pred_flag가 화면 간 예측 모드 중 쌍예측인지 단예측인지 여부만 지시하면 된다. 따라서 컴바인드 리스트가 생성되는 경우와 같이 전송되는 정보량이 감소될 수 있다.In the embodiment of FIG. 15, the List0 related syntax may be used instead of the LC related syntax without generating the combine list as in the above-described motion vector and reference picture index derivation process. In addition, in the uni-prediction mode, both entries of List 0 and List 1 can be used as reference pictures, and only inter-pred_flag needs to indicate whether inter-pred_flag is bi-prediction or uni-prediction among inter prediction modes without generating LC. Therefore, the amount of information transmitted may be reduced, such as when a bind list is generated.
컴바인드 리스트가 생성되는 경우, 앞에서 서술된 바와 같이 ref_pic_list_combination_flag 라는 플래그가 사용될 수 있다. ref_pic_list_combination_flag 가 1일 때에는, 리스트0 과 리스트1 이 결합되어, 단예측을 위한 컴바인드 리스트가 생성된다. 상기 플래그가 0일 때에는 리스트0 과 리스트1 이 동일함을 의미하며, 리스트0이 컴바인드 리스트로 사용될 수 있다. When the combined list is generated, a flag called ref_pic_list_combination_flag may be used as described above. When ref_pic_list_combination_flag is 1, list 0 and list 1 are combined to generate a combined list for short prediction. When the flag is 0, it means that list 0 and list 1 are the same, and list 0 may be used as a bind list.
또한 상기 플래그가 0일 때에는 GPB를 의미할 수 있다. 상술한 바와 같이 B 픽쳐 중 참조 픽쳐 리스트0과 참조 픽쳐 리스트1이 동일한 픽쳐를 GPB(Generalized P and B) 또는 제너럴라이즈드 B 픽쳐(Generalized B picture)라 한다. 또한 하나의 실시예로 GPB에서는 순방향 예측만이 허용될 수도 있다.In addition, when the flag is 0, it may mean GPB. As described above, a picture having the same reference picture list 0 and reference picture list 1 among the B pictures is referred to as a generalized P and B or a generalized B picture. In addition, in one embodiment, only forward prediction may be allowed in the GPB.
도 16은 GPB 및 로우 딜레이 B 픽쳐에 대한 참조 픽쳐와 참조 픽쳐 리스트의 일 실시예를 개략적으로 나타내는 개념도이다. 도 16에서 픽쳐는 왼쪽에서부터 POC 즉, 픽쳐의 표시 순서로 도시된다.16 is a conceptual diagram schematically illustrating an embodiment of a reference picture and a reference picture list for a GPB and low delay B picture. In FIG. 16, pictures are shown in the display order of POCs, that is, pictures from the left.
도 16의 1610을 참조하면 리스트0 과 리스트1 이 동일하다. 따라서 도 16의 1610은 현재 픽쳐가 GPB, 즉 제너럴라이즈드 B 픽쳐인 경우를 나타낸다.Referring to 1610 of FIG. 16, List 0 and List 1 are the same. Accordingly, 1610 of FIG. 16 illustrates a case in which the current picture is a GPB, that is, a generalized B picture.
도 16의 1620을 참조하면 리스트0 과 리스트1 의 참조 픽쳐 인덱스가 동일하지 않을 수 있다. 그러나, 리스트0 과 리스트1 의 참조 픽쳐들은 모두 순방향 예측을 위해 사용되는 참조 픽쳐들이다. Referring to 1620 of FIG. 16, the reference picture indices of List 0 and List 1 may not be the same. However, the reference pictures of List 0 and List 1 are both reference pictures used for forward prediction.
순방향 참조 픽쳐만을 갖는 P 픽쳐 또는 순방향 참조 픽쳐만을 갖는 B픽쳐는 로우 딜레이(low delay) 코딩을 위해 사용될 수 있다. 이하 순방향 참조 픽쳐만을 갖는 B 픽쳐를 로우 딜레이 B 픽쳐(low delay B picture)라 하며, 슬라이스 단위에서는 로우 딜레이 B 슬라이스라 할 수 있다.A P picture having only a forward reference picture or a B picture having only a forward reference picture may be used for low delay coding. Hereinafter, a B picture having only a forward reference picture may be referred to as a low delay B picture, and may be referred to as a low delay B slice in a slice unit.
도 16의 1620은 현재 픽쳐가 로우 딜레이 B 픽쳐인 경우를 나타낸다.1620 of FIG. 16 illustrates a case where the current picture is a low delay B picture.
부호화, 복호화 과정에서는 초기화(initialization)와 수정(modification) 과정을 포함하여 참조 픽쳐가 생성된다. 참조 픽쳐 생성 프로세스에서, B 슬라이스에 대해서는 항상 참조 픽쳐 리스트0 및 참조 픽쳐 리스트1 이 함께 생성된다. 슬라이스 헤더에는 인터 픽쳐(inter picture)(P 픽쳐, B 픽쳐)를 위해 전송되는 정보들이 있고, B 픽쳐 또는 B 슬라이스의 경우에는 리스트1 을 위한 정보가 추가로 포함되어 전송된다.In the encoding and decoding process, a reference picture is generated including an initialization and a modification process. In the reference picture generation process, the reference picture list 0 and the reference picture list 1 are always generated together for the B slice. The slice header includes information transmitted for an inter picture (P picture, B picture). In the case of a B picture or a B slice, information for list 1 is additionally included and transmitted.
리스트 1을 위한 정보에는 num_ref_idx_l1_active_minus1, collocated_from_l0_flag, ref_pic_list_modification_flag_l1 등이 있을 수 있다. num_ref_idx_l1_active_minus1은 리스트1 에 존재하는 참조 픽쳐의 수를 나타내며, collocated_from_l0_flag은 화면 간 예측에 사용되는 동일 위치의 블록을 리스트0에서 가져오는지 리스트1 에서 가져오는지 여부를 나타낸다. ref_pic_list_modification_flag_l1는 위에서 상술한 ref_pic_list_modification_flag_lc와 동일한 의미를 가지며, lc만이 l1으로 바뀐 플래그이다. Information for list 1 may include num_ref_idx_l1_active_minus1, collocated_from_l0_flag, ref_pic_list_modification_flag_l1, and the like. num_ref_idx_l1_active_minus1 indicates the number of reference pictures present in list 1, and collocated_from_l0_flag indicates whether a block having the same position used for inter prediction is obtained from list 0 or list 1. ref_pic_list_modification_flag_l1 has the same meaning as ref_pic_list_modification_flag_lc described above, and only lc is a flag changed to l1.
또한 리스트 1을 위한 정보에는 리스트1 에 있는 참조 픽쳐들이 사용되는 경우에 사용될 보간 필터(interpolation filter) 및 오프셋(offset) 정보를 알려주는 SIFO(switched interpolation filter with offset) 정보 등이 있을 수도 있다.The information for List 1 may also include switched interpolation filter with offset (SIFO) information indicating an interpolation filter and offset information to be used when reference pictures in List 1 are used.
통상의 B 픽쳐에서는 리스트0과 리스트1을 위한 정보들이 모두 전송되어야 한다. 그러나, GPB 픽쳐 또는 GPB 슬라이스에서는 참조 픽쳐 리스트0 과 참조 픽쳐 리스트1 이 동일하다. 따라서 GPB에서는 리스트0 이 실질적으로 참조 픽쳐에 대한 정보를 모두 가지고 있으므로, 리스트1 이 별도로 전송될 필요가 없다. In a typical B picture, all information for list 0 and list 1 should be transmitted. However, in the GPB picture or the GPB slice, the reference picture list 0 and the reference picture list 1 are the same. Therefore, in GPB, list 0 does not need to be transmitted separately since list 0 has substantially all the information about the reference picture.
이러한 정보의 중복은 GPB 슬라이스의 경우에 리스트1 을 전송하지 않고 리스트0 의 모든 엔트리를 리스트1 에 카피(copy)하여 사용함으로써 해결될 수 있다. 즉, 현재 슬라이스가 B 슬라이스이고 리스트0 과 리스트1 이 동일한 경우, 리스트0 의 모든 엔트리가 동일한 순서로 리스트1 에 카피될 수 있다.This duplication of information can be resolved by copying all entries of list 0 to list 1 without using list 1 in the case of GPB slices. That is, if the current slice is a B slice and List0 and List1 are the same, all entries of List0 can be copied to List1 in the same order.
GPB에서 리스트1 정보와 관련한 정보의 중복이 제거되면, 전송되는 정보량이 감소되고 압축 효율이 높아져 코딩 효율이 좋아질 수 있다. GPB에서 정보의 중복을 제거하기 위해 슬라이스 헤더의 코딩 방법이 수정될 수 있으며, 이를 위한 일 실시예로 generalized_b_slice라는 신택스 요소가 제공될 수 있다. generalized_b_slice는 현재 슬라이스가 GPB 슬라이스인지 여부를 지시한다. 또한 GPB인지 여부를 지시하는 신택스 요소는 그 명칭(generalized_b_slice)에 구애되는 것이 아니며, 어떠한 다른 명칭을 가져도 GPB인지 여부를 가리키는 신택스 요소라면 본 발명의 사상에 포함된다.If duplication of information related to List1 information in the GPB is eliminated, the amount of information transmitted is reduced and the compression efficiency is increased, thereby improving coding efficiency. The coding method of the slice header may be modified to remove duplication of information in the GPB, and a syntax element called generalized_b_slice may be provided. generalized_b_slice indicates whether the current slice is a GPB slice. In addition, a syntax element indicating whether or not it is a GPB is not limited to its name (generalized_b_slice), and a syntax element indicating whether it is a GPB under any other name is included in the spirit of the present invention.
일례로, 슬라이스 헤더에는 다음의 [표 6]과 같은 정보들이 포함될 수 있다.For example, the slice header may include information as shown in Table 6 below.
[표 6]TABLE 6
[표 6]을 참조하면, 슬라이스가 B 슬라이스인 경우, GPB 여부를 불문하고 리스트1 에 관련된 정보인 num_ref_idx_l1_active_minus1, collocated_from_l0_flag 가 슬라이스 헤더에서 전송된다. 리스트1 에 관한 정보는 GPB에서 전송될 필요가 없다. 그러나 [표 6]에서는 리스트0, 리스트1 에 관한 정보가 모두 파싱(parsing, 구문 분석)된 후에야 GPB인지 여부가 인식될 수 있으므로, GPB인 경우에도 항상 리스트1 에 관한 정보까지 슬라이스 헤더에 포함되어 전송되어야 하는 부담이 있다.Referring to [Table 6], when a slice is a B slice, regardless of GPB, num_ref_idx_l1_active_minus1 and collocated_from_l0_flag related to List 1 are transmitted in the slice header. The information about list 1 does not need to be transmitted in the GPB. However, in [Table 6], whether or not the GPB can be recognized only after all information about List 0 and List 1 has been parsed (parsed) and parsed. Therefore, even when GPB, information about List 1 is always included in the slice header. There is a burden to be transmitted.
다음의 [표 7]은 본 발명의 실시예에 따라 수정된 슬라이스 헤더를 나타낸다.Table 7 below shows a modified slice header according to an embodiment of the present invention.
[표 7]TABLE 7
[표 7]을 참조하면, 슬라이스 헤더를 파싱하는 단계에서 이미 generalized_b_slice 를 통해 현재 슬라이스가 GBP인지 여부가 인식될 수 있다. 또한 generalized_b_slice 를 이용하여 현재 슬라이스가 GPB가 아닌 경우에만 리스트1 에 관련된 정보인 num_ref_idx_l1_active_minus1, collocated_from_l0_flag 가 전송될 수 있다. 따라서, GPB 슬라이스에 대한 불필요한 정보의 중복이 제거될 수 있다.Referring to [Table 7], it may be recognized whether the current slice is GBP through generalized_b_slice in the parsing of the slice header. In addition, num_ref_idx_l1_active_minus1 and collocated_from_l0_flag, which are related to list 1, may be transmitted only when the current slice is not GPB using generalized_b_slice . Thus, duplication of unnecessary information for the GPB slice can be eliminated.
다음의 [표 8]은 본 발명이 적용되지 않은 SIFO 파라미터 sifo_param()의 일례이다. Table 8 below is an example of the SIFO parameter sifo_param () to which the present invention is not applied.
[표 8]TABLE 8
[표 8]도 [표 6]에서와 같은 문제점을 가진다.Table 8 also has the same problems as in Table 6.
다음의 [표 9]는 본 발명이 적용된 SIFO 파라미터 sifo_param()의 일 실시예를 나타낸다. Table 9 below shows an embodiment of the SIFO parameter sifo_param () to which the present invention is applied.
[표 9]TABLE 9
[표 9]를 참조하면,generalized_b_slice 를 이용하여 현재 슬라이스가 GPB가 아닌 경우에만 리스트1 에 관련된 정보가 전송될 수 있다. 따라서, GPB 슬라이스에 대한 불필요한 정보의 중복이 제거될 수 있다.Referring to [Table 9], information related to list 1 may be transmitted only when the current slice is not GPB using generalized_b_slice . Thus, duplication of unnecessary information for the GPB slice can be eliminated.
다음의 [표 10]은 본 발명이 적용되지 않은 신택스(syntax)의 일례이다. Table 10 below is an example of syntax to which the present invention is not applied.
[표 10]TABLE 10
[표 10]도 [표 6]에서와 같은 문제점을 가진다.Table 10 also has the same problems as in Table 6.
다음의 [표 11]은 본 발명이 적용된 신택스의 일 실시예를 나타낸다. Table 11 below shows an embodiment of syntax to which the present invention is applied.
[표 11]TABLE 11
[표 11]을 참조하면,generalized_b_slice 를 이용하여 현재 슬라이스가 GPB가 아닌 경우에만 리스트1 에 관련된 정보 sifo_offset_l1 이 전송될 수 있다. 따라서, GPB 슬라이스에 대한 불필요한 정보의 중복이 제거될 수 있다.Referring to [Table 11], the information sifo_offset_l1 related to list 1 may be transmitted only when the current slice is not GPB using generalized_b_slice . Thus, duplication of unnecessary information for the GPB slice can be eliminated.
GPB 슬라이스에서 리스트1 관련 정보의 전송을 방지하기 위한 방법은 상기 [표 7], [표 9], [표 11]의 실시예에 한정되지 않는다. The method for preventing transmission of List 1 related information from a GPB slice is not limited to the embodiments of Tables 7, 9, and 11.
GPB는 B 슬라이스 중 리스트0 과 리스트1 이 동일한 슬라이스를 의미하므로, 리스트1 에 관한 정보를 필요로 하지 않은 P 픽쳐에서는 현재 픽쳐가 GPB인지 여부가 판단될 필요가 없을 수 있다. 따라서 현재 슬라이스가 B 슬라이스인 경우에만 generalized_b_slice 플래그가 전송될 수도 있다.Since GPB refers to a slice in which List0 and List1 are the same among B slices, it may not be necessary to determine whether the current picture is a GPB in a P picture that does not need information about List1. Therefore, the generalized_b_slice flag may be transmitted only when the current slice is a B slice.
또한 부호화기가 GPB 슬라이스에 대해 리스트1 관련 정보를 전송하지 않으면서, 별도로 generalized_b_slice 신택스를 복호화기로 전송하지 않을 수도 있다. 이 경우, 복호화기는 리스트0 의 참조 픽쳐와 리스트1 의 참조 픽쳐를 비교하여 GPB인지 여부를 판단할 수 있으며, 상기 신택스의 값을 1로 유도하여 사용할 수 있다. 이러한 경우도 리스트1 에 관한 불필요한 정보의 전송이 방지되는 이점을 가질 수 있다.In addition, the encoder may not separately transmit the generalized_b_slice syntax to the decoder without transmitting List1 related information for the GPB slice. In this case, the decoder may compare the reference picture of list 0 with the reference picture of list 1 to determine whether it is a GPB, and may derive the value of the syntax to 1 and use it. In this case, too, it may have an advantage that transmission of unnecessary information regarding the list 1 is prevented.
또한 GPB 의 경우, 상기 실시예에서 상술된 내용 이외에도 참조 픽쳐들을 위한 정보들이 추가되는 경우에는 같은 원리를 이용하여 전송되는 정보의 양이 감소될 수 있다. 이 때, 참조 픽쳐 리스트와 관련하여 전송되는 정보의 양은 반으로 감소될 수 있으며, 코딩 효율이 높아질 수 있다.In addition, in the case of GPB, when information for reference pictures is added in addition to the details described above in the above embodiment, the amount of information transmitted using the same principle may be reduced. At this time, the amount of information transmitted with respect to the reference picture list can be reduced by half, and coding efficiency can be increased.
본 발명의 실시예에 따르면 현재 슬라이스가 제너럴라이즈드 B 슬라이스인 경우, 리스트1 관련 정보는 슬라이스 헤더에 포함되어 전송되지 않고 생략될 수 있다. 이 때, 생략된 슬라이스 헤더 정보들은 리스트0 의 POC가 동일한 참조 픽쳐들의 정보들을 그대로 복사하여 얻어질 수 있다. 따라서, 복호화기는 리스트0 관련 정보로부터 생략된 정보를 복사하여 사용할 수 있다.According to an embodiment of the present invention, when the current slice is a generalized B slice, the list 1 related information may be omitted without being transmitted because it is included in the slice header. In this case, the omitted slice header information may be obtained by directly copying information of reference pictures having the same POC of List0. Therefore, the decoder can copy and use the omitted information from the list 0 related information.
아래의 신택스는 리스트1 에 대한 정보를 도출하는 방법의 일 실시예를 나타낸다.The syntax below illustrates one embodiment of a method for deriving information about List1.
if(POC(ref_pic(refidx_l0)) == POC(ref_pic(refidx_l1)) if (POC (ref_pic (refidx_l0)) == POC (ref_pic (refidx_l1))
&& generalized_b_slice)&& generalized_b_slice)
{{
num_ref_idx_l1_active_munus1 = num_ref_idx_l0_active_minus1; num_ref_idx_l1_active_munus1 = num_ref_idx_l0_active_minus1;
sifo_info_l1 = sifo_info_l0; sifo_info_l1 = sifo_info_l0;
… …
}}
로우 딜레이 B 픽쳐의 경우, 리스트0 과 리스트1 이 동일하지 않을 수도 있으므로, GPB 픽쳐에서 정보 전송량을 감소시키기 위한 상기 방법이 적용되지 않을 수 있다. 대신에, 화면 간 예측 즉 인터 예측에서 시간적 후보자(temporal candidate)를 결정하기 위한 연산의 복잡도를 감소시킬 수 있는 방법이 제공될 수 있다.In the case of the low delay B picture, since list 0 and list 1 may not be the same, the above method for reducing the amount of information transmission in the GPB picture may not be applied. Instead, a method can be provided that can reduce the complexity of the operation for determining temporal candidates in inter prediction or inter prediction.
화면 간 예측에서는, 예를 들어 머지 스킵(merge skip) 방법, 예측 단위 머지 방법 또는 AMVP 방법 등이 이용될 수 있다. AMVP 방법에서는 2개의 공간적 AMVP 후보 블록과 1개의 시간적 AMVP 후보 블록 중 하나의 AMVP 후보 블록의 움직임 예측 관련 정보를 현재 예측 대상 블록의 움직임 벡터 관련 정보로 사용할 수 있다. 부가적으로 현재 예측 대상 블록의 움직임 벡터값과 선택된 AMVP 후보 블록의 움직임 벡터값의 차를 현재 블록의 움직임 예측 관련 정보로 사용할 수 있다.In inter-screen prediction, for example, a merge skip method, a prediction unit merge method, an AMVP method, or the like may be used. In the AMVP method, motion prediction related information of one AMVP candidate block among two spatial AMVP candidate blocks and one temporal AMVP candidate block may be used as motion vector related information of the current prediction target block. Additionally, the difference between the motion vector value of the current prediction target block and the motion vector value of the selected AMVP candidate block may be used as the motion prediction related information of the current block.
시간적 AMVP 후보 블록을 생성하기 위해서, 현재 예측 대상 블록을 기준으로 참조 픽쳐에서 동일 위치(co-located) 블록이 도출될 수 있다. 동일 위치 블록에서 최선의 움직임 예측 관련 정보를 도출하기 위해, 동일 위치 블록의 리스트0 과 리스트1 이 모두 체크될 수 있다. 이 때, POC 순으로 픽쳐가 표시된 경우, 동일 위치 블록의 움직임 벡터 중 현재 픽쳐를 가로지르는(cross) 움직임 벡터가, 시간적 움직임 벡터 스케일링을 위해 선택될 수 있다.In order to generate a temporal AMVP candidate block, a co-located block may be derived from a reference picture based on the current prediction target block. In order to derive the best motion prediction related information in the same position block, both list 0 and list 1 of the same position block can be checked. In this case, when pictures are displayed in the order of POC, a motion vector that crosses the current picture among the motion vectors of the same location block may be selected for temporal motion vector scaling.
그러나, 리스트0 과 리스트1 이 모두 체크된 후에만 움직임 정보가 선택된다면, 연산의 복잡도가 클 수 있다. 따라서 조건에 따라 어느 하나의 리스트 내의 움직임 정보를 체크한 후 그 리스트에 유효한 움직임 정보가 존재하지 않는 경우에 다른 리스트 내의 움직임 정보를 체크하는 방법이 사용될 수 있다.However, if the motion information is selected only after both List 0 and List 1 are checked, the complexity of the operation can be large. Accordingly, a method of checking motion information in one list according to a condition and then checking motion information in another list when there is no valid motion information in the list may be used.
로우 딜레이 B 픽쳐의 경우, 동일 위치 참조 픽쳐의 POC가 항상 현재 블록의 POC보다 작으므로, 동일 위치 블록의 움직임 벡터가 현재 픽쳐를 가로지르는 경우가 없을 수 있다. 이러한 경우에는 현재 픽쳐를 가로지르는 움직임 벡터가 우선적으로 선택되는 것이 무의미할 수 있으며, 리스트0 과 리스트1 이 모두 체크되어야 하므로 복잡도가 증가할 수 있다.In the case of the low delay B picture, since the POC of the same position reference picture is always smaller than the POC of the current block, the motion vector of the same position block may not cross the current picture. In this case, it may be meaningless that the motion vector traversing the current picture is preferentially selected, and complexity may increase since both list 0 and list 1 should be checked.
따라서, 로우 딜레이 B 픽쳐의 경우, 일 실시예로 동일 위치 블록의 참조 픽쳐 리스트 중 현재 픽쳐의 참조 픽쳐 리스트와 동일한 리스트를 먼저 체크하는 방법이 사용될 수 있다. 이 때, 먼저 체크된 리스트 내에 유효한 움직임 정보가 존재하지 않는 경우, 동일 위치 블록의 다른 리스트가 체크될 수 있다. 본 발명의 실시예는 상기에 한하지 않으며, 우선적으로 체크되는 리스트는 다른 방법으로 선택될 수도 있다.Accordingly, in the case of the low delay B picture, a method of first checking a list identical to the reference picture list of the current picture among the reference picture lists of the same position block may be used. At this time, if there is no valid motion information in the checked list first, another list of the same position block may be checked. The embodiment of the present invention is not limited to the above, and the list to be checked first may be selected in other ways.
로우 딜레이 B 픽쳐인지 여부에 관한 정보는 플래그에 포함되어 부호화기에서 복호화기로 전송될 수 있다. 또한 부호화기가 로우 딜레이 B 픽쳐인지 여부에 대한 정보를 전송하지 않을 수도 있다. 이 경우, 복호화기는 리스트0 과 리스트1 의 참조 픽쳐를 비교하여 로우 딜레이 B 픽쳐인지 여부를 판단할 수 있다.Information on whether the picture is a low delay B picture may be included in a flag and transmitted from the encoder to the decoder. In addition, the encoder may not transmit information about whether the encoder is a low delay B picture. In this case, the decoder may compare the reference pictures of list 0 and list 1 to determine whether the picture is a low delay B picture.
상기 방법에 의하면, 우선적으로 체크되는 리스트에 유효한 움직임 정보가 존재하는 경우 동일 위치 블록의 다른 리스트가 체크되지 않을 수 있으므로, 복잡도가 감소될 수 있다.According to the above method, when valid motion information exists in the list to be checked first, since another list of the same position block may not be checked, the complexity may be reduced.
GPB 슬라이스에서 불필요한 정보의 전송을 방지하지 위한 다른 실시예로써, 상술된 ref_pic_list_combination_flag를 활용하는 방법이 제공될 수 있다. ref_pic_list_combination_flag는 참조 픽쳐 리스트0 과 참조 픽쳐 리스트1 이 동일한지 아닌지 여부를 특정한다. 리스트0 과 리스트1 이 동일하면 GPB 슬라이스에 해당한다. 따라서 상기 플래그 정보에 따라 현재 슬라이스가 GPB 슬라이스인 경우에는 리스트1 관련 정보의 전송이 생략(skip)될 수 있다.As another embodiment for preventing the transmission of unnecessary information in the GPB slice, a method using the aforementioned ref_pic_list_combination_flag may be provided. ref_pic_list_combination_flag specifies whether reference picture list 0 and reference picture list 1 are the same or not. If List0 and List1 are equal, they correspond to GPB slices. Therefore, when the current slice is a GPB slice according to the flag information, transmission of List 1 related information may be skipped.
ref_pic_list_combination_flag가 리스트1 관련 신택스 이후에 시그널링되는 경우도 있을 수 있다. 이 경우, 리스트1 관련 정보의 시그널링 이전에는 현재 슬라이스가 GPB 슬라이스인지 여부가 판단될 수 없으므로, 리스트1 관련 정보의 전송이 생략(skip)될 수 없다. 그러나, 상기 플래그가 리스트1 관련 신택스 이전에 시그널링될 수 있도록 신택스상에서 플래그의 위치가 변경된다면, GPB 슬라이스에서 리스트1 관련 정보의 시그널링이 생략(skip)될 수 있다. In some cases, ref_pic_list_combination_flag may be signaled after List1 related syntax. In this case, before signaling of the list1 related information, whether the current slice is a GPB slice cannot be determined, and therefore, transmission of the list1 related information cannot be skipped. However, if the position of the flag is changed on the syntax so that the flag can be signaled before the List1 related syntax, the signaling of the List1 related information in the GPB slice may be skipped.
또한 플래그의 이름으로써 ref_pic_list_combination_flag 대신 ref_pic_list_identical_flag가 사용될 수 있다. ref_pic_list_identical_flag 가 0일 때에는, 리스트0 과 리스트1 이 결합되어, 단예측을 위한 컴바인드 리스트가 생성된다. 상기 플래그가 1일 때에는 리스트0 과 리스트1 이 동일하여, 리스트0이 컴바인드 리스트로 사용된다. In addition, ref_pic_list_identical_flag may be used instead of ref_pic_list_combination_flag as a flag name. When ref_pic_list_identical_flag is 0, list 0 and list 1 are combined to generate a combined list for short prediction. When the flag is 1, list 0 and list 1 are the same, and list 0 is used as a bind list.
새로운 플래그는 리스트0 과 리스트1 이 동일한지 여부를 나타낼 수 있으며, 상기 플래그가 1이면 현재 슬라이스가 GPB 슬라이스임을 의미한다. 다만, 상기 플래그는 그 명칭에 구애되는 것이 아니며, 어떠한 다른 명칭을 가져도 리스트0 과 리스트1 이 동일한지 여부를 가리키는 신택스 요소라면 본 발명의 사상에 포함될 수 있다.The new flag may indicate whether List0 and List1 are the same. If the flag is 1, it means that the current slice is a GPB slice. However, the flag is not limited to the name and may be included in the spirit of the present invention as long as the syntax element indicates whether the list 0 and the list 1 are the same regardless of any other names.
다음의 [표 12]는 상술한 방법에 따라 ref_pic_list_identical_flag를 이용하여 구성된 슬라이스 헤더의 일 실시예를 나타낸다.Table 12 below shows an embodiment of a slice header configured using ref_pic_list_identical_flag according to the above-described method.
[표 12]TABLE 12
다음의 [표 13]은 [표 12]의 슬라이스 헤더 내의 ref_pic_list_modification() 구성의 일 실시예를 나타낸다.Table 13 below shows an embodiment of the ref_pic_list_modification () configuration in the slice header of Table 12.
[표 13]TABLE 13
다음의 [표 14]는 [표 12]의 슬라이스 헤더 내의 ref_pic_list_combination() 구성의 일 실시예를 나타낸다. Table 14 below shows an embodiment of the ref_pic_list_combination () configuration in the slice header of Table 12.
[표 14]TABLE 14
[표 12], [표 13], [표 14]를 참조하면, 신택스 ref_pic_list_combination_flag는 리스트1 관련 신택스 요소보다 뒤에 위치하고 있으므로, 리스트1 관련 정보를 복호화함에 있어 ref_pic_list_combination_flag 정보가 사용될 수 없다. 따라서, 상기 플래그는 [표 14]의 실시예에서와 같이 제거될 수 있으며, !ref_pic_list_identical_flag로 대체될 수 있다.Referring to [Table 12], [Table 13], and [Table 14], since the syntax ref_pic_list_combination_flag is located behind the syntax element related to List1, ref_pic_list_combination_flag information cannot be used to decode the List1 related information. Therefore, the flag may be removed as in the embodiment of Table 14, and may be replaced with! Ref_pic_list_identical_flag.
또한 슬라이스 헤더 내에 ref_pic_list_identical_flag가 리스트1 관련 신택스 요소 num_ref_idx_l1_active_minus1, collocated_from_l0_flag 및 ref_pic_list_modification_flag_l1보다 먼저 정의된다. 그리고 각 리스트1 관련 신택스 요소에 대해 조건이 부가되어, ref_pic_list_identical_flag가 0일 때만 리스트1 관련 신택스 요소 num_ref_idx_l1_active_minus1, collocated_from_l0_flag 및 ref_pic_list_modification_flag_l1이 복호화기로 전송될 수 있다. 즉, GPB 슬라이스에서는 리스트1 관련 신택스 요소들이 전송되지 않는다. 따라서 GPB 슬라이스에서 불필요한 정보의 전송이 방지될 수 있다.In the slice header, ref_pic_list_identical_flag is defined before List1 related syntax elements num_ref_idx_l1_active_minus1, collocated_from_l0_flag, and ref_pic_list_modification_flag_l1. In addition, a condition is added to each List1 related syntax element so that List1 related syntax elements num_ref_idx_l1_active_minus1, collocated_from_l0_flag and ref_pic_list_modification_flag_l1 may be transmitted to the decoder only when ref_pic_list_identical_flag is 0. In other words, List1 related syntax elements are not transmitted in the GPB slice. Therefore, transmission of unnecessary information in the GPB slice can be prevented.
[표 12]의 실시예에서 collocated_from_l0_flag의 해석(semantic)은 ref_pic_list_identical_flag에 의해 변경될 수 있다. In the embodiment of Table 12, the semantic of collocated_from_l0_flag may be changed by ref_pic_list_identical_flag.
ref_pic_list_identical_flag가 없을 경우, collocated_from_l0_flag가 1이면 동일 위치(co-located) 픽쳐가 리스트0 으로부터 도출되었음을 의미하고, 그렇지 않으면 리스트1 로부터 도출되었음을 의미한다.If ref_pic_list_identical_flag is not present, collocated_from_l0_flag equal to 1 means that the co-located picture is derived from list 0, otherwise it is derived from list 1.
ref_pic_list_identical_flag가 있을 경우, collocated_from_l0_flag가 1이면 동일 위치(co-located) 픽쳐가 리스트0 으로부터 도출되었음을 의미하고, 그렇지 않으면 리스트1 로부터 도출되었음을 의미한다. 또한 collocated_from_l0_flag가 존재하지 않으면 collocated_from_l0_flag는 1로 추정된다. [표 12]를 참조하면, collocated_from_l0_flag 는, 현재 슬라이스가 B 슬라이스가 아니거나 GPB 슬라이스일 때, 존재하지 않는다. 이러한 경우에는 모든 참조 픽쳐가 리스트0 으로부터 도출될 수 있으므로, 상기 플래그가 1로 추정될 수 있다.If ref_pic_list_identical_flag is present, collocated_from_l0_flag equal to 1 means that the co-located picture is derived from list 0, otherwise it is derived from list 1. If collocated_from_l0_flag does not exist, collocated_from_l0_flag is assumed to be 1. Referring to Table 12, collocated_from_l0_flag is not present when the current slice is not a B slice or a GPB slice. In this case, since all the reference pictures can be derived from the list 0, the flag can be estimated as one.
상기 [표 12], [표 13], [표 14]의 실시예에 따르면, 현재 슬라이스가 GPB 슬라이스일 때에는 참조 픽쳐 리스트1 관련 정보는 복호화기로 전송되지 않는다. 현재 슬라이스가 B 슬라이스이고, ref_pic_list_identical_flag가 1인 경우, 참조 픽쳐 리스트0 의 모든 엔트리는 같은 순서로 참조 픽쳐 리스트1 에 카피될 수 있다. 따라서 복호화기는 리스트0 으로부터 리스트1 에 대한 정보를 도출할 수 있다.According to the embodiments of [Table 12], [Table 13], and [Table 14], when the current slice is a GPB slice, reference picture list 1 related information is not transmitted to the decoder. When the current slice is a B slice and ref_pic_list_identical_flag is 1, all entries of the reference picture list 0 may be copied to the reference picture list 1 in the same order. Therefore, the decoder can derive information about list 1 from list 0.
GPB 슬라이스에서 불필요한 정보의 전송을 방지하지 위한 또 다른 실시예로써, 슬라이스 타입(slice_type)에서 GPB를 별도로 정의하는 방법이 사용될 수 있다.As another embodiment for preventing transmission of unnecessary information in a GPB slice, a method of separately defining a GPB in a slice type (slice_type) may be used.
현재 사용되는 슬라이스 타입에서는 I 슬라이스, P 슬라이스, B 슬라이스 세 종류의 슬라이스가 정의된다. 이는 다음의 [표 15]에서 확인될 수 있다.In the slice type currently used, three kinds of slices are defined: I slice, P slice, and B slice. This can be confirmed in the following [Table 15].
[표 15]TABLE 15
현재 예측 유닛에 대해 쌍예측(bi-pred)이 사용되는지 단예측(uni-pred)이 사용되는지 특정하기 위해 inter_pred_flag가 사용된다. inter_pred_flag 값에 대응되는 슬라이스 타입과 예측 모드 또는 이름은 다음의 [표 16]에서 확인될 수 있다. Inter_pred_flag is used to specify whether bi-pred or uni-pred is used for the current prediction unit. The slice type and the prediction mode or name corresponding to the inter_pred_flag value may be checked in the following [Table 16].
[표 16]TABLE 16
[표 16]에서, inter_pred_flag가 존재하지 않을 때 예측 모드는 슬라이스 타입이 P이면 Pred_L0, 슬라이스 타입이 B이면 Pred_BI로 추정된다.In Table 16, when the inter_pred_flag does not exist, the prediction mode is estimated to be Pred_L0 if the slice type is P and Pred_BI if the slice type is B.
[표 17]은 슬라이스 타입에서 GPB가 정의되는 경우 슬라이스 타입을 정의하는 방법의 일 실시예를 나타낸다.Table 17 shows an embodiment of a method of defining a slice type when a GPB is defined in the slice type.
[표 17]TABLE 17
[표 18]은 슬라이스 타입에서 GPB가 정의되는 경우 inter_pred_flag 를 정의하는 방법의 일 실시예를 나타낸다.Table 18 shows an embodiment of a method of defining inter_pred_flag when GPB is defined in a slice type.
[표 18]TABLE 18
[표 18]에서, inter_pred_flag가 존재하지 않을 때 예측 모드는 슬라이스 타입이 P이면 Pred_L0, 슬라이스 타입이 B 또는 GPB이면 Pred_BI로 추정된다.In Table 18, when the inter_pred_flag is not present, the prediction mode is estimated to be Pred_L0 if the slice type is P and Pred_BI if the slice type is B or GPB.
[표 17], [표 18]을 참조하면, GPB 슬라이스라는 새로운 슬라이스 타입이 추가된다. GPB 슬라이스는 상술한 바와 같이 참조 픽쳐 리스트0 과 참조 픽쳐 리스트1 이 동일한 슬라이스를 의미한다. Referring to Table 17 and Table 18, a new slice type called GPB slice is added. As described above, the GPB slice means a slice in which the reference picture list 0 and the reference picture list 1 are the same.
GPB라는 별도의 슬라이스 타입이 정의됨으로써 B 슬라이스의 정의가 변경될 수 있다. 종래의 B 슬라이스는 화면 내 예측 또는 최대 두 개의 참조 픽쳐를 이용한 화면 간 예측을 이용하여 복호화되는 슬라이스를 의미한다. GPB가 별도의 슬라이스 타입으로 정의된 경우, B 슬라이스는 화면 내 예측 또는 최대 두 개의 참조 픽쳐를 이용한 화면 간 예측을 이용하여 복호화되는 슬라이스이며, 참조 픽쳐 리스트0 과 참조 픽쳐 리스트1 이 동일하지 않은 슬라이스를 의미한다. 즉, 새로운 B 슬라이스의 정의에서 GPB 슬라이스는 B 슬라이스에 포함되지 않는다.The definition of the B slice may be changed by defining a separate slice type called GPB. A conventional B slice refers to a slice decoded using intra prediction or inter prediction using at most two reference pictures. When GPB is defined as a separate slice type, a B slice is a slice that is decoded by using intra prediction or inter prediction using up to two reference pictures, and a slice in which reference picture list 0 and reference picture list 1 are not the same. Means. That is, in the definition of a new B slice, the GPB slice is not included in the B slice.
다음의 [표 19]는 본 발명에 따라 GPB 슬라이스 타입을 이용하여 구성된 슬라이스 헤더의 일 실시예를 나타낸다.Table 19 below shows an embodiment of a slice header configured using a GPB slice type according to the present invention.
[표 19]TABLE 19
다음의 [표 20]은 [표 19]의 슬라이스 헤더 내의 ref_pic_list_modification() 구성의 일 실시예를 나타낸다.Table 20 below shows an embodiment of the ref_pic_list_modification () configuration in the slice header of Table 19.
[표 20]TABLE 20
[표 19]를 참조하면, num_ref_idx_active_override_flag가 정의되기 위한 조건으로 슬라이스 타입이 GPB일 것이 추가된다. 이는 새로 정의된 B 슬라이스는 GPB 슬라이스를 포함하지 않기 때문이다. 또한 리스트0 관련 정보들은 GPB 슬라이스가 아닌 B 슬라이스에서만 전송된다. 따라서 GPB 슬라이스의 경우, 불필요한 리스트1 관련 정보가 전송되지 않을 수 있다.Referring to [Table 19], the slice type is GPB as a condition for defining num_ref_idx_active_override_flag. This is because the newly defined B slice does not include the GPB slice. In addition, List0 related information is transmitted only in the B slice, not the GPB slice. Therefore, in the case of a GPB slice, unnecessary List1 related information may not be transmitted.
[표 20]을 참조하면 slice_type%5 != 3은 현재 슬라이스가 I 슬라이스가 아닌 것을 의미한다. 종래 슬라이스 타입의 정의에서는 I 슬라이스의 slice_type 값이 2였으므로 3 대신 2가 사용되지만 새로이 정의된 슬라이스 타입에서는 I 슬라이스의 slice_type 값이 3이므로 2가 아닌 3이 사용될 수 있다.Referring to [Table 20], slice_type% 5! = 3 means that the current slice is not an I slice. In the conventional slice type definition, 2 is used instead of 3 because the slice_type value of the I slice is 2, but 3 may be used instead of 2 since the slice_type value of the I slice is 3 in the newly defined slice type.
도 17은 본 발명의 실시예에 따른 부호화기의 참조 픽쳐 리스트 전송 방법을 개략적으로 나타내는 흐름도이다. 도 17은 상술한 [표 7], [표 9], [표 11] 내지 [표 14], [표 17] 내지 [표 20]의 실시예에 따른 참조 픽쳐 리스트 전송 방법의 흐름을 개략적으로 나타낸다.17 is a flowchart schematically illustrating a method of transmitting a reference picture list of an encoder according to an embodiment of the present invention. 17 schematically illustrates the flow of a method of transmitting a reference picture list according to the embodiments of Tables 7, 9, 11, 14, and 17, and 20, described above. .
부호화기는 현재 슬라이스가 GPB인지 여부를 판단한다(S1710).The encoder determines whether the current slice is GPB (S1710).
현재 슬라이스가 GPB 슬라이스인 경우, 부호화기는 현재 슬라이스가 GPB인지 여부를 지시하는 정보를 부호화하여 전송한다(S1720). If the current slice is a GPB slice, the encoder encodes and transmits information indicating whether the current slice is GPB (S1720).
이 때, GPB인지 여부를 지시하는 정보는 [표 7], [표 9], [표 11]의 실시예에서와 같이 generalized_b_slice를 통해 슬라이스 헤더에 포함되어 전송될 수 있다. 또한 GPB인지 여부를 지시하는 정보를 전송하기 위해 [표 12], [표 13], [표 14]의 실시예에서와 같이 ref_pic_list_combination_flag가 수정된 ref_pic_list_identical_flag가 슬라이스 헤더에 포함되어 전송될 수 있다.At this time, the information indicating whether or not the GPB may be included in the slice header through generalized_b_slice and transmitted as in the embodiments of Tables 7, 9, and 11. In addition, in order to transmit information indicating whether the information is GPB, as in the embodiments of Tables 12, 13, and 14, ref_pic_list_identical_flag having a modified ref_pic_list_combination_flag may be included in the slice header and transmitted.
또한 GPB인지 여부를 지시하는 정보는, [표 17] 내지 [표 20]의 실시예에서와 같이 GPB 슬라이스가 별도의 슬라이스 타입으로 정의되어, 슬라이스 헤더의 신택스에 반영되어 전송될 수도 있다.In addition, the information indicating whether the GPB is a GPB slice is defined as a separate slice type as in the embodiments of Tables 17 to 20, and may be transmitted by being reflected in the syntax of the slice header.
그러나 이 때, 리스트1 에 관련된 정보는 전송되지 않을 수 있다. GPB 슬라이스에서는 리스트0 과 리스트1 이 동일하므로, 리스트0 이 실질적으로 참조 픽쳐에 대한 정보를 모두 가지고 있기 때문이다. 리스트1 에 관련된 정보가 전송되지 않는 경우, 불필요한 정보의 중복(redundancy)이 제거될 수 있고 따라서 전송되는 정보량이 감소하여 코딩 효율이 향상될 수 있다.However, at this time, the information related to the list 1 may not be transmitted. This is because List0 and List1 are the same in the GPB slice, so that List0 has substantially all the information about the reference picture. When the information related to the list 1 is not transmitted, redundancy of unnecessary information can be eliminated, and thus the coding efficiency can be improved by reducing the amount of transmitted information.
현재 슬라이스가 GPB 슬라이스가 아닌 경우에, 부호화기는 현재 슬라이스가 GPB인지 여부를 지시하는 정보와 리스트1 관련 정보를 모두 부호화하여 복호화기에 전송한다(S1730). If the current slice is not a GPB slice, the encoder encodes and transmits information indicating whether the current slice is GPB and List 1 related information to the decoder (S1730).
도 18은 본 발명의 실시예에 따른 복호화기의 참조 픽쳐 리스트 생성 방법을 개략적으로 나타내는 흐름도이다. 도 18은 상술한 [표 7], [표 9], [표 11] 내지 [표 14], [표 17] 내지 [표 20]의 실시예에 따른 참조 픽쳐 리스트 생성 방법의 흐름을 개략적으로 나타낸다.18 is a flowchart schematically illustrating a method of generating a reference picture list of a decoder according to an embodiment of the present invention. FIG. 18 schematically illustrates a flow of a method of generating a reference picture list according to the embodiments of Tables 7, 9, 11, 14, and 17, and 20, described above. .
복호화기는 현재 슬라이스가 GPB 여부인지를 지시하는 정보를 부호화기로부터 수신한다(S1810). 수신된 정보는 복호화기에서 복호화될 수 있다. The decoder receives information indicating whether the current slice is GPB from the encoder (S1810). The received information can be decrypted at the decoder.
복호화기는 부호화기로부터 수신한 정보를 기초로 현재 슬라이스가 GPB인지 여부를 판단한다(S1820). [표 7], [표 9], [표 11]의 실시예와 같이 generalized_b_slice가 사용되는 경우, 복호화기는 generalized_b_slice를 통해 현재 슬라이스가 GPB 슬라이스인지 여부를 판단할 수 있다. [표 12], [표 13], [표 14]의 실시예와 같이 플래그 ref_pic_list_identical_flag가 사용되는 경우, 복호화기는 ref_pic_list_identical_flag를 통해 현재 슬라이스가 GPB 슬라이스인지 여부를 판단할 수 있다. [표 17] 내지 [표 20]의 실시예가 적용되는 경우에는, 별도로 정의된 GPB 슬라이스 타입에 기초하여 현재 슬라이스가 GPB 슬라이스인지 여부를 판단할 수 있다. The decoder determines whether the current slice is GPB based on the information received from the encoder (S1820). When generalized_b_slice is used as in the embodiments of Tables 7, 9, and 11, the decoder may determine whether the current slice is a GPB slice through generalized_b_slice. When the flag ref_pic_list_identical_flag is used as in the embodiments of Tables 12, 13, and 14, the decoder may determine whether the current slice is a GPB slice through ref_pic_list_identical_flag. When the embodiments of Tables 17 to 20 are applied, it may be determined whether the current slice is a GPB slice based on a separately defined GPB slice type.
현재 슬라이스가 GPB인 경우, 복호화기는 참조 픽쳐 리스트0 관련 정보로부터 참조 픽쳐 리스트1 관련 정보를 도출한다(S1830). 도 17에서 상술한 바와 같이, GPB 슬라이스의 경우에는 불필요한 중복(redundancy)을 제거하기 위해 부호화기가 리스트1 관련 정보를 전송하지 않을 수 있다. 그러나 GPB 슬라이스에서는 리스트0 과 리스트1 이 동일하므로, 리스트0 에 관한 정보를 이용하여 리스트1 관련 정보를 도출할 수 있다.If the current slice is the GPB, the decoder derives the reference picture list1 related information from the reference picture list0 related information (S1830). As described above with reference to FIG. 17, in the case of a GPB slice, the encoder may not transmit List 1 related information in order to remove unnecessary redundancy. However, since List0 and List1 are the same in the GPB slice, List1 related information can be derived using information about List0.
현재 슬라이스가 GPB가 아닌 경우, 부호화기는 리스트1 관련 정보를 복호화기로 전송한다. 복호화기는 부호화기로부터 수신받은 정보를 복호화하여 리스트1 관련 정보를 도출한다(S1840). If the current slice is not GPB, the encoder transmits List 1 related information to the decoder. The decoder decodes the information received from the encoder to derive list 1 related information (S1840).
복호화기는 상술한 바와 같이 참조 픽쳐 리스트 관련 정보를 도출할 수 있고, 이를 이용하여 참조 픽쳐 리스트를 생성할 수 있다.The decoder may derive the reference picture list related information as described above, and generate the reference picture list using the reference picture list.
현재 픽쳐 내 예측 대상 블록의 화면 간 예측 모드가 쌍예측 모드이고 현재 슬라이스가 GPB 슬라이스인 경우, 예측 대상 블록이 참조하는 리스트0의 참조 픽쳐를 지시하는 참조 픽쳐 인덱스(refIdxL0)와 예측 대상 블록이 참조하는 리스트1의 참조 픽쳐를 지시하는 참조 픽쳐 인덱스(refIdxL1)가 동일한 참조 픽쳐를 지시하는 경우가 있을 수 있다.If the inter prediction mode of the prediction target block in the current picture is a bi-prediction mode and the current slice is a GPB slice, the reference picture index (refIdxL0) indicating the reference picture of the list 0 referenced by the prediction target block is referenced by the prediction target block. There may be a case where the reference picture index refIdxL1 indicating the reference picture of List 1 indicates the same reference picture.
도 19는 리스트0의 참조 픽쳐 인덱스와 리스트1의 참조 픽쳐 인덱스가 동일한 참조 픽쳐를 지시하는 픽쳐의 실시예를 개략적으로 나타내는 개념도이다. 도 19에서 픽쳐들은 표시 순서, 즉 시간적 순서로 도시된다. 19 is a conceptual diagram schematically illustrating an embodiment of a picture in which a reference picture index of list 0 and a reference picture index of list 1 indicate the same reference picture. In FIG. 19, pictures are shown in display order, that is, in temporal order.
쌍예측 모드에서는 리스트0 과 리스트1 이 모두 존재한다. 따라서 현재 픽쳐 내의 예측 대상 블록은 리스트0 의 참조 픽쳐를 지시하기 위한 참조 픽쳐 인덱스(refIdxL0) 및 리스트1 의 참조 픽쳐를 지시하기 위한 참조 픽쳐 인덱스(refIdxL1)를 모두 가진다. 이하, 리스트0에서 현재 예측 대상 블록이 참조하는 참조 픽쳐에 대한 참조 픽쳐 인덱스를 인덱스L0, 리스트1에서 현재 예측 대상 블록이 참조하는 참조 픽쳐에 대한 참조 픽쳐 인덱스를 인덱스L1이라 한다.In biprediction mode, both List0 and List1 exist. Therefore, the prediction target block in the current picture has both a reference picture index refIdxL0 for indicating the reference picture of List0 and a reference picture index refIdxL1 for indicating the reference picture of List1. Hereinafter, the reference picture index for the reference picture referenced by the current prediction target block in list 0 is referred to as index L0 and the reference picture index for the reference picture referred to by the current prediction target block in list 1 is referred to as index L1.
도 19의 실시예를 참조하면, 현재 픽쳐 내 예측 대상 블록의 인덱스L0 및 인덱스L1은 모두 시간적 거리가 가장 가까운 참조 픽쳐(List0[0])를 지시한다. Referring to the embodiment of FIG. 19, both the index L0 and the index L1 of the prediction target block in the current picture indicate the reference picture List0 [0] closest in temporal distance.
현재 예측 대상 블록의 화면 간 예측 모드가 쌍예측 모드이고 인덱스L0 과 인덱스L1 이 지시하는 참조 픽쳐가 동일한 경우에, 인덱스L1은 전송되지 않을 수 있다. 그러나 이 경우, 부호화기는 인덱스L0 와 인덱스L1 이 지시하는 참조 픽쳐가 동일한지 여부에 관한 정보를 복호화기로 전송할 필요가 있다. 일 실시예로 인덱스L0 와 인덱스L1 이 지시하는 참조 픽쳐가 동일한지 여부에 대한 정보를 나타내기 위해 ref_idx_l1_present_flag라는 플래그가 사용될 수 있다.When the inter prediction mode of the current prediction target block is a pair prediction mode and the reference pictures indicated by the index L0 and the index L1 are the same, the index L1 may not be transmitted. In this case, however, the encoder needs to transmit information on whether the reference picture indicated by the index L0 and the index L1 are the same to the decoder. In an embodiment, a flag called ref_idx_l1_present_flag may be used to indicate information on whether the reference picture indicated by the index L0 and the index L1 is the same.
상기 플래그는 상기 명칭에 구애되지 않으며, 어떠한 명칭의 플래그도 인덱스L0 와 인덱스L1 이 지시하는 참조 픽쳐가 동일한지 여부에 대한 정보를 나타낸다면 본 발명의 사상에 포함될 수 있다.The flag is not bound to the name, and any flag may be included in the spirit of the present invention as long as the flag indicates information on whether the reference picture indicated by the index L0 and the index L1 is the same.
다음의 [표 21]은 본 발명의 일 실시예에 따른 예측 유닛의 참조 픽쳐 인덱스 관련 신택스 구성을 나타낸다.[Table 21] below shows a syntax structure related to the reference picture index of the prediction unit according to the embodiment of the present invention.
[표 21]TABLE 21
[표 21]에서 ref_idx_l1_present_flag 가 1이면 ref_idx_l1이 존재함을 의미하고, ref_idx_l1_present_flag 가 0이면 ref_idx_l1이 존재하지 않음을 의미한다. ref_idx_l1_present_flag 가 존재하지 않으면, 1로 추정된다. ref_idx_l1_present_flag 가 0일 때 ref_idx_l1은 ref_idx_l0가 지시하는 참조 픽쳐와 동일한 참조 픽쳐를 지시하는 값으로 추정된다.In Table 21, if ref_idx_l1_present_flag is 1, ref_idx_l1 is present. If ref_idx_l1_present_flag is 0, it means that ref_idx_l1 is not present. If ref_idx_l1_present_flag does not exist, it is assumed to be 1. When ref_idx_l1_present_flag is 0, ref_idx_l1 is estimated to be a value indicating the same reference picture as the reference picture indicated by ref_idx_l0.
ref_pic_list_combination_flag의 의미는 위에서 상술한 바 있다.The meaning of ref_pic_list_combination_flag has been described above.
[표 21]의 실시예를 참조하면, 현재 유닛의 예측 모드가 쌍예측이고, 현재 슬라이스가 GPB인 경우에만 ref_idx_l1_present_flag가 정의된다. 또한 ref_idx_l1_present_flag 가 1일 때에만 ref_idx_l1이 정의된다.Referring to the embodiment of Table 21, ref_idx_l1_present_flag is defined only when the prediction mode of the current unit is pair prediction and the current slice is GPB. In addition, ref_idx_l1 is defined only when ref_idx_l1_present_flag is 1.
ref_idx_l1_present_flag 가 0일 때에는 인덱스L1에 관한 정보가 전송되지 않을 수 있으며, 이 때 인덱스L0 와 인덱스L1 은 동일한 참조 픽쳐를 지시한다. 본 발명의 실시예에 따르면, 인덱스L0 와 인덱스L1 이 동일한 참조 픽쳐를 지시할 때 인덱스L1(ref_idx_l1) 정보의 전송이 생략(skip)될 수 있으므로, 전송되는 정보량이 감소될 수 있다. When ref_idx_l1_present_flag is 0, information about index L1 may not be transmitted, where index L0 and index L1 indicate the same reference picture. According to an embodiment of the present invention, since the transmission of index L1 (ref_idx_l1) information may be skipped when the index L0 and the index L1 indicate the same reference picture, the amount of information to be transmitted may be reduced.
이 때, 부호화기에서 인덱스L1 은 다음 과정에 의해 도출될 수 있다.In this case, the index L1 in the encoder may be derived by the following process.
변수 refIdxCo는 ref_idx_l0가 지시하는 참조 픽쳐와 동일한 참조 픽쳐를 지시하는 리스트1의 인덱스 값으로 설정된다. ref_idx_l1_present_flag 가 0이면, refIdxL1=refIdxCo가 되고, 그렇지 않으면 refIdxL1=ref_idx_l1이 된다.The variable refIdxCo is set to an index value of List 1 indicating the same reference picture as the reference picture indicated by ref_idx_l0. If ref_idx_l1_present_flag is 0, refIdxL1 = refIdxCo, otherwise refIdxL1 = ref_idx_l1.
즉, 인덱스L1 에 관한 정보가 전송되는 경우에 부호화기는 이를 이용하여 인덱스L1을 도출하지만, 그렇지 않으면 인덱스L0 정보로부터 인덱스L1을 도출할 수 있다. 이는 ref_idx_l1_present_flag 가 0일 때에는 인덱스L0 과 인덱스L1 이 지시하는 참조 픽쳐가 동일하기 때문이다.That is, when the information about the index L1 is transmitted, the encoder uses this to derive the index L1, but otherwise, the encoder may derive the index L1 from the index L0 information. This is because the reference pictures indicated by index L0 and index L1 are the same when ref_idx_l1_present_flag is 0.
인덱스L0 과 인덱스L1 이 지시하는 참조 픽쳐가 동일하지 않은 경우에는 인덱스L1 정보가 전송되어야 한다. 이 때, 인덱스L1 정보의 전송에 필요한 정보량 또는 비트수를 감소시킬 수 있는 방법이 제공될 수 있다. 이러한 방법은 ref_pic_list_combination_flag가 1, 즉 현재 슬라이스가 GPB 슬라이스고, inter_pred_flag가 Pred_BI, 즉 화면 간 부호화 모드가 쌍예측 모드이며, ref_idx_l1_present_flag가 존재하면서 그 값이 1인 조건이 만족될 때 제공될 수 있다. 상기 조건은 리스트L0 와 리스트L1 이 지시하는 참조 픽쳐가 서로 다른 때 만족될 수 있다. 이하 전송되는 인덱스L1 정보의 비트량을 감소시키기 위한 방법이 서술된다.If the reference pictures indicated by the index L0 and the index L1 are not the same, the index L1 information should be transmitted. At this time, a method capable of reducing the amount of information or the number of bits necessary for the transmission of the index L1 information may be provided. This method may be provided when ref_pic_list_combination_flag is 1, that is, the current slice is a GPB slice, inter_pred_flag is Pred_BI, that is, the inter picture encoding mode is a bi-prediction mode, and ref_idx_l1_present_flag is present and a value of 1 is satisfied. The above condition may be satisfied when the reference pictures indicated by the list L0 and the list L1 are different. Hereinafter, a method for reducing the bit amount of index L1 information transmitted is described.
리스트L0 과 리스트L1 이 지시하는 참조 픽쳐가 서로 다르므로, 부호화기는 리스트1 의 인덱스들 중 인덱스L0 이 지시하는 참조 픽쳐와 동일한 픽쳐를 지시하는 인덱스를 제외한 나머지 인덱스를 이용하여 인덱스L1 정보를 생성할 수 있다. 이 때, 인덱스L0 이 지시하는 참조 픽쳐와 동일한 픽쳐를 지시하는 인덱스보다 높은 값을 갖는 리스트1의 인덱스들의 번호에서 각각 1을 뺀 후, 변경된 인덱스 값을 이용하여 인덱스L1 정보가 생성될 수 있다. 이 경우, 전송되는 인덱스L1 정보의 비트량이 감소될 수 있다.Since the reference pictures indicated by the list L0 and the list L1 are different from each other, the encoder generates the index L1 information by using the remaining indexes except the index indicating the same picture as the reference picture indicated by the index L0 among the indexes of the list 1. Can be. In this case, after subtracting 1 from the number of indexes of List 1 having a value higher than the index indicating the same picture as the reference picture indicated by the index L0, the index L1 information may be generated using the changed index value. In this case, the bit amount of the transmitted index L1 information may be reduced.
일 실시예로 리스트1이 네 개의 참조 픽쳐를 지시할 수 있고, 각각의 참조 픽쳐를 지시하는 인덱스에 0,1,2,3의 값이 부여된다고 가정한다. 이 때, 인덱스L0 이 지시하는 참조 픽쳐와 동일한 픽쳐를 지시하는 리스트1의 인덱스는 1이라 가정한다. 인덱스L1 은 0,2 또는 3의 인덱스 값을 가질 수 있으며, 부호화기는 지시하는 인덱스L1 정보를 그대로 복호화기로 전송할 수도 있다. In an embodiment, it is assumed that List 1 may indicate four reference pictures, and values of 0, 1, 2, and 3 are assigned to an index indicating each reference picture. In this case, it is assumed that the index of the list 1 indicating the same picture as the reference picture indicated by the index L0 is 1. The index L1 may have an index value of 0, 2 or 3, and the encoder may transmit the indicated index L1 information to the decoder as it is.
그러나, ref_idx_l1_present_flag가 1일 때 복호화기는 인덱스L0 과 인덱스L1 이 지시하는 참조 픽쳐가 서로 다르다는 것을 인식할 수 있으므로, 1보다 큰 인덱스 값 2, 3에서 1씩을 뺀 후, 0,1 또는 2 의 인덱스 값을 이용하여 인덱스L1 정보를 생성할 수 있다. 따라서 인덱스L1 은 0, 2 또는 3 대신 0,1 또는 2의 인덱스 값을 가질 수 있으며, 전송되는 정보량 또는 비트량이 감소될 수 있다.However, when ref_idx_l1_present_flag is 1, the decoder can recognize that the reference pictures indicated by index L0 and index L1 are different from each other. Therefore, after subtracting 1 from index values 2 and 3 that are greater than 1, index values of 0, 1 or 2 Index L1 information may be generated using. Therefore, index L1 may have an index value of 0, 1 or 2 instead of 0, 2 or 3, and the amount of information or bits to be transmitted may be reduced.
상기 방법에 의해 인덱스L1 정보가 복호화기로 전송된 경우, 복호화기측에서 인덱스L1 정보를 도출하기 위한 프로세스는 다음과 같이 수행될 수 있다.When the index L1 information is transmitted to the decoder by the above method, the process for deriving the index L1 information on the decoder side may be performed as follows.
만일 ref_idx_l1이 refIdxCo 보다 작으면 refIdxL1=ref_idx_l1 이 될 수 있다. 그렇지 않고 ref_idx_l1이 refIdxCo 보다 크면 refIdxL1=ref_idx_l1+1 이 될 수 있다. refIdxL1은 복호화기에서 도출되는 리스트1 에 대한 참조 픽쳐 인덱스를 의미한다. If ref_idx_l1 is smaller than refIdxCo, it may be refIdxL1 = ref_idx_l1. Otherwise, if ref_idx_l1 is greater than refIdxCo, refIdxL1 = ref_idx_l1 + 1. refIdxL1 means a reference picture index for List 1 derived from the decoder.
변수 refIdxCo는 인덱스L0(ref_idx_l0)가 지시하는 참조 픽쳐와 동일한 참조 픽쳐를 지시하는 리스트1의 인덱스 값이다. 부호화기의 프로세스를 참조하면, refIdxCo의 인덱스 값보다 낮은 값을 갖는 리스트1의 인덱스 값들은 변경되지 않으므로, refIdxL1 에는 부호화기에서 전송되는 ref_idx_l1 정보가 그대로 카피될 수 있다. 그러나, refIdxCo의 인덱스 값보다 높은 값을 갖는 리스트1의 인덱스 값들의 경우, 그 인덱스 값들에서 각각 1이 빼진 후에 ref_idx_l1 정보가 생성될 수 있다. 따라서 복호화기는 ref_idx_l1에 1을 더한 값을 refIdxL1에 카피시킬 수 있다.The variable refIdxCo is an index value of List 1 indicating the same reference picture as the reference picture indicated by the index L0 (ref_idx_l0). Referring to the process of the encoder, since index values of List 1 having a value lower than the index value of refIdxCo are not changed, ref_idx_l1 information transmitted from the encoder may be copied to refIdxL1 as it is. However, in the case of index values of List 1 having a value higher than that of refIdxCo, ref_idx_l1 information may be generated after 1 is subtracted from the index values. Therefore, the decoder can copy ref_idx_l1 plus 1 to refIdxL1.
부호화기 동작의 실시예를 참조하면, 인덱스L0 이 지시하는 참조 픽쳐와 동일한 픽쳐를 지시하는 리스트1 의 인덱스 값이 1이고 인덱스L1 의 인덱스 값이 0인 경우, 리스트1 의 인덱스 값이 변경되지 않는다. 따라서 복호화기는 부호화기로부터 전송받은 ref_idx_l1 정보를 그대로 사용할 수 있다. 인덱스L0 이 지시하는 참조 픽쳐와 동일한 픽쳐를 지시하는 리스트1 의 인덱스 값이 1이고 인덱스L1 의 인덱스 값이 2 또는 3인 경우, 각 인덱스 값에서 1이 빼진 1 또는 2의 인덱스 값이 인덱스L1 정보의 생성에 사용될 수 있다. 따라서 복호화기는 부호화기로부터 전송받은 ref_idx_l1 정보에 1을 더한 값을 refIdxL1에 카피하여 인덱스L1 정보를 도출할 수 있다.Referring to the embodiment of the encoder operation, when the index value of the list 1 indicating the same picture as the reference picture indicated by the index L0 is 1 and the index value of the index L1 is 0, the index value of the list 1 is not changed. Therefore, the decoder can use the ref_idx_l1 information received from the encoder as it is. If the index value of List1 indicating the same picture as the reference picture indicated by index L0 is 1 and the index value of index L1 is 2 or 3, the index value of 1 or 2 subtracted from each index value is index L1 information. Can be used to generate Therefore, the decoder can derive the index L1 information by copying the ref_idx_l1 information received from the encoder plus refIdxL1.
인덱스L0 이 지시하는 참조 픽쳐와 동일한 픽쳐를 지시하는 리스트1 의 인덱스 값보다 인덱스L1 의 인덱스 값이 클 때, 그 인덱스 값에서 1이 빼진 값이 인덱스L1 정보의 생성에 사용될 수 있으므로, ref_idx_l1 과 refIdxCo가 동일한 경우가 있을 수 있다. 이 경우에도 복호화기는 부호화기로부터 전송받은 ref_idx_l1 정보에 1을 더한 값을 refIdxL1에 카피하여 인덱스L1 정보를 도출할 수 있다.When the index value of index L1 is larger than the index value of List1 indicating the same picture as the reference picture pointed to by index L0, a value obtained by subtracting 1 from the index value may be used to generate index L1 information, so ref_idx_l1 and refIdxCo There may be the same case. Even in this case, the decoder can derive the index L1 information by copying the ref_idx_l1 information received from the encoder plus refIdxL1.
참조 픽쳐 인덱스 정보의 전송량을 감소시키기 위한 상술한 실시예들은 반드시 참조 픽쳐 리스트0 과 참조 픽쳐 리스트1 이 동일한 GPB 슬라이스에서만 적용될 수 있는 것은 아니다. [도 19] 및 [표 21] 이하 실시예들은 참조 픽쳐 리스트0 과 참조 픽쳐 리스트1 이 동일하지 않을 때, 즉 현재 슬라이스가 GPB 슬라이스가 아닌 때에도 적용될 수 있다. The above-described embodiments for reducing the transmission amount of the reference picture index information are not necessarily applicable only to the GPB slice in which the reference picture list 0 and the reference picture list 1 are the same. 19 and Table 21 below may be applied when reference picture list 0 and reference picture list 1 are not the same, that is, when the current slice is not a GPB slice.
이러한 경우, [표 21]의 신택스에서 리스트0 과 리스트1 이 동일한지 여부를 특정하는 조건(if(!ref_pic_list_combination_flag))이 수정 또는 제거될 수 있다. 또한 상술한 인덱스L0 과 인덱스L1 이 지시하는 참조 픽쳐가 동일하지 않은 경우에 refIdxL1을 도출하는 방법의 실시예에서, GPB 슬라이스 조건이 제거될 수 있다.In this case, the condition (if (! Ref_pic_list_combination_flag)) specifying whether List 0 and List 1 are the same in the syntax of [Table 21] may be modified or removed. In addition, in the embodiment of the method of deriving refIdxL1 when the above-described reference pictures indicated by the index L0 and the index L1 are not the same, the GPB slice condition may be removed.
도 20은 본 발명의 실시예에 따른 부호화기의 참조 픽쳐 인덱스 전송 방법을 개략적으로 나타내는 흐름도이다. 도 20은 상술한 [도 19] 및 [표 21] 이하 실시예에 따른 참조 픽쳐 인덱스 전송 방법의 흐름을 개략적으로 나타낸다. 도 20의 실시예에서 화면 간 예측 모드는 쌍예측일 수 있다. 도 20의 실시예에 따른 참조 픽쳐 인덱스 전송 방법은 화면 간 예측 모드가 쌍예측이고 현재 슬라이스가 GPB 슬라이스인 경우에도 적용될 수 있다.20 is a flowchart schematically illustrating a method of transmitting a reference picture index of an encoder according to an embodiment of the present invention. FIG. 20 schematically illustrates a flow of a reference picture index transmission method according to the above-described embodiments of FIGS. 19 and 21 below. In the embodiment of FIG. 20, the inter prediction mode may be pair prediction. The reference picture index transmission method according to the embodiment of FIG. 20 may also be applied when the inter prediction mode is pair prediction and the current slice is a GPB slice.
부호화기는 리스트0 에 대한 참조 픽쳐 인덱스와 리스트1 에 대한 참조 픽쳐 인덱스가 동일한 참조 픽쳐를 지시하는지 여부를 판단한다(S2010). 이 때, 상술한 실시예에서와 같이 ref_idx_l1_present_flag라는 플래그가 사용될 수 있다. 일 실시예로 부호화기는 리스트0 에 대한 참조 픽쳐 인덱스와 리스트1 에 대한 참조 픽쳐 인덱스가 동일한 참조 픽쳐를 지시하는 경우 상기 플래그 값을 0으로 설정할 수 있고, 그렇지 않은 경우 상기 플래그 값을 1로 설정할 수 있다. The encoder determines whether the reference picture index for the list 0 and the reference picture index for the list 1 indicate the same reference picture (S2010). In this case, as in the above-described embodiment, a flag called ref_idx_l1_present_flag may be used. According to an embodiment, the encoder may set the flag value to 0 when the reference picture index for list 0 and the reference picture index for list 1 indicate the same reference picture, and otherwise set the flag value to 1. have.
리스트0 에 대한 참조 픽쳐 인덱스와 리스트1 에 대한 참조 픽쳐 인덱스가 동일한 참조 픽쳐를 지시하는 경우에, 부호화기는 이러한 정보를 복호화기에 알려주기 위해 상기 ref_idx_l1_present_flag와 같은 플래그를 복호화기로 전송한다(S2020).If the reference picture index for list 0 and the reference picture index for list 1 indicate the same reference picture, the encoder transmits a flag such as ref_idx_l1_present_flag to the decoder to inform the decoder of this information (S2020).
이 때, 부호화기는 리스트1 에 대한 참조 픽쳐 인덱스를 전송하지 않을 수 있다. 리스트0 에 대한 참조 픽쳐 인덱스와 리스트1 에 대한 참조 픽쳐 인덱스가 동일한 참조 픽쳐를 지시하기 때문에 인덱스L1 은 인덱스L0 에 관한 정보를 이용하여 도출될 수 있기 때문이다. 리스트1 에 대한 참조 픽쳐 인덱스의 전송이 생략됨으로써 전송되는 정보량이 감소될 수 있다.At this time, the encoder may not transmit the reference picture index for List1. This is because the index L1 can be derived using the information about the index L0 since the reference picture index for the list 0 and the reference picture index for the list 1 indicate the same reference picture. Since the transmission of the reference picture index for the list 1 is omitted, the amount of information transmitted may be reduced.
리스트0 에 대한 참조 픽쳐 인덱스가 지시하는 정보와 리스트1 에 대한 참조 픽쳐 인덱스가 지시하는 정보가 서로 동일하지 않은 경우, 부호화기는 이러한 정보를 지시하는 플래그뿐만 아니라 리스트1 에 대한 참조 픽쳐 인덱스도 부호화기로 전송한다(S2030).If the information indicated by the reference picture index for list 0 and the information indicated by the reference picture index for list 1 are not the same, the encoder not only flags indicating this information but also reference picture index for list 1 to the encoder. It transmits (S2030).
이 때 부호화기는 인덱스L0 이 지시하는 참조 픽쳐와 동일한 픽쳐를 지시하는 리스트1 의 인덱스보다 높은 값을 갖는 리스트1 의 인덱스 값에서 각각 1을 뺀 후, 변경된 인덱스 값을 이용하여 인덱스L1 정보를 생성할 수도 있다. 이 경우, 전송되는 인덱스L1 정보의 비트량이 감소될 수 있다.In this case, the encoder subtracts 1 from each index value of List 1 having a value higher than that of List 1 indicating the same picture as the reference picture indicated by index L0, and then generates index L1 information using the changed index value. It may be. In this case, the bit amount of the transmitted index L1 information may be reduced.
도 21은 본 발명의 실시예에 따른 복호화기의 참조 픽쳐 인덱스 생성 방법을 개략적으로 나타내는 흐름도이다. 상술한 [도 19] 및 [표 21] 이하 실시예에 따른 참조 픽쳐 인덱스 생성 방법의 흐름을 개략적으로 나타낸다.21 is a flowchart schematically illustrating a reference picture index generation method of a decoder according to an embodiment of the present invention. 19 and Table 21 schematically illustrate the flow of a reference picture index generation method according to an embodiment.
복호화기는 리스트0 에 대한 참조 픽쳐 인덱스와 리스트1 에 대한 참조 픽쳐 인덱스가 동일한 참조 픽쳐를 지시하는지 여부를 나타내는 플래그를 부호화기로부터 수신한다(S2110). 수신된 플래그 정보는 복호화기에서 복호화될 수 있다.The decoder receives from the encoder a flag indicating whether the reference picture index for the list 0 and the reference picture index for the list 1 indicate the same reference picture (S2110). The received flag information can be decoded in the decoder.
복호화기는 부호화기로부터 수신한 플래그 정보를 기초로 리스트0 에 대한 참조 픽쳐 인덱스와 리스트1 에 대한 참조 픽쳐 인덱스가 동일한 참조 픽쳐를 지시하는지 여부를 판단한다(S2120). 이 때, [표 19]의 실시예에서와 같이 ref_idx_l1_present_flag라는 플래그가 사용될 수 있다. 상기 플래그가 0이면 인덱스L0 과 인덱스L1 이 동일한 참조 픽쳐를 지시함을 나타내고, 그렇지 않으면 인덱스L0 과 인덱스L1 이 동일한 참조 픽쳐를 지시하지 않음을 나타낼 수 있다. The decoder determines whether the reference picture index for the list 0 and the reference picture index for the list 1 indicate the same reference picture based on the flag information received from the encoder (S2120). In this case, as in the embodiment of Table 19, a flag called ref_idx_l1_present_flag may be used. When the flag is 0, it may indicate that the index L0 and the index L1 indicate the same reference picture. Otherwise, the index L0 and the index L1 do not indicate the same reference picture.
인덱스L0 과 인덱스L1 이 동일한 참조 픽쳐를 지시하는 경우, 복호화기는 인덱스L0 정보로부터 인덱스L1 을 도출한다(S2130). 도 20에서 상술한 바와 같이, 인덱스L0 과 인덱스L1 이 동일한 참조 픽쳐를 지시하는 경우에는 불필요한 중복을 제거하기 위해 부호화기가 인덱스L1 정보를 전송하지 않을 수 있다. 그러나, 인덱스L0 과 인덱스L1 이 동일한 참조 픽쳐를 지시하므로 인덱스L1 은 인덱스L0 정보로부터 도출될 수 있다.When the index L0 and the index L1 indicate the same reference picture, the decoder derives the index L1 from the index L0 information (S2130). As described above with reference to FIG. 20, when the index L0 and the index L1 indicate the same reference picture, the encoder may not transmit the index L1 information in order to remove unnecessary duplication. However, since the index L0 and the index L1 indicate the same reference picture, the index L1 may be derived from the index L0 information.
인덱스L0 과 인덱스L1 이 동일한 참조 픽쳐를 지시하지 않는 경우, 복호화기는 부호화기로부터 수신받은 정보를 복호화하여 인덱스L1 을 도출한다(S2140).If the index L0 and the index L1 do not indicate the same reference picture, the decoder decodes the information received from the encoder to derive the index L1 (S2140).
부호화기는 인덱스L0 이 지시하는 참조 픽쳐와 동일한 픽쳐를 지시하는 리스트1 의 인덱스 값보다 높은 값을 갖는 리스트1 의 인덱스 값에서 각각 1을 뺀 후, 변경된 인덱스 값을 이용하여 인덱스L1 정보를 생성할 수도 있다. 따라서, 인덱스L0 이 지시하는 참조 픽쳐와 동일한 픽쳐를 지시하는 리스트1 의 인덱스 값보다 인덱스L1 의 인덱스 값이 큰 경우, 복호화기는 부호화기로부터 수신된 인덱스L1 정보의 인덱스 값에 1을 더하여 인덱스L1 을 도출할 수 있다.The encoder may generate index L1 information using the changed index value after subtracting 1 from each index value of List 1 having a value higher than that of List 1 indicating the same picture as the reference picture indicated by index L0. have. Therefore, when the index value of index L1 is larger than the index value of List 1 indicating the same picture as the reference picture indicated by index L0, the decoder derives index L1 by adding 1 to the index value of the index L1 information received from the encoder. can do.
상술한 실시예에서, 방법들은 일련의 단계 또는 블록으로써 순서도를 기초로 설명되고 있지만, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당업자라면 순서도에 나타낸 단계들이 배타적이지 않고, 다른 단계가 포함되거나 순서도의 하나 또는 그 이상의 단계가 본 발명의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.In the above-described embodiment, the methods are described based on a flowchart as a series of steps or blocks, but the present invention is not limited to the order of steps, and any steps may occur in a different order or simultaneously from other steps as described above. have. In addition, those skilled in the art will appreciate that the steps shown in the flowcharts are not exclusive and that other steps may be included or one or more steps in the flowcharts may be deleted without affecting the scope of the present invention.
상술한 실시예는 다양한 양태의 예시들을 포함한다. 다양한 양태들을 나타내기 위한 모든 가능한 조합을 기술할 수는 없지만, 해당 기술 분야의 통상의 지식을 가진 자는 다른 조합이 가능합을 인식할 수 있을 것이다. 따라서, 본 발명은 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.The above-described embodiments include examples of various aspects. While not all possible combinations may be described to represent the various aspects, one of ordinary skill in the art would recognize that other combinations are possible. Accordingly, the invention is intended to embrace all other replacements, modifications and variations that fall within the scope of the following claims.
Claims (16)
- 제1 플래그 정보를 포함하는 참조 픽쳐 리스트(reference picture list) 정보를 수신하는 단계;
상기 제1 플래그 정보에 기초하여 상기 참조 픽쳐 리스트 내의 최대 참조 픽쳐 개수 정보를 도출하는 단계; 및
상기 최대 참조 픽쳐 개수 정보를 이용하여 참조 픽쳐 리스트를 생성하는 단계를 포함하는 영상 복호화 방법.Receiving reference picture list information including first flag information;
Deriving maximum reference picture number information in the reference picture list based on the first flag information; And
And generating a reference picture list using the maximum reference picture number information. - 청구항 1에 있어서,
상기 제1 플래그 정보는 현재 픽쳐에 대해 허용되는 제1 최대 참조 픽쳐 개수와 현재 슬라이스(slice)에 대해 허용되는 제2 최대 참조 픽쳐 개수가 동일한지 여부를 지시하고,
상기 제1 플래그 정보는 시퀀스 파라미터 셋(SPS: Sequence Parameter Set) 정보 또는 픽쳐 파라미터 셋(PPS: Picture Parameter Set) 정보로부터 획득되는 정보인 영상 복호화 방법.The method according to claim 1,
The first flag information indicates whether the number of first maximum reference pictures allowed for the current picture and the number of second maximum reference pictures allowed for the current slice are equal to each other.
The first flag information is information obtained from sequence parameter set (SPS) information or picture parameter set (PPS) information. - 청구항 1에 있어서,
상기 제1 플래그 정보는 현재 시퀀스 내의 모든 각각의 픽쳐 및 슬라이스에대해 허용되는 최대 참조 픽쳐 개수가 서로 동일한지 여부를 지시하고,
상기 제1 플래그 정보는 시퀀스 파라미터 셋 정보로부터 획득되는 정보인 영상 복호화 방법.The method according to claim 1,
The first flag information indicates whether the maximum number of reference pictures allowed for all pictures and slices in the current sequence is the same;
And the first flag information is information obtained from sequence parameter set information. - 현재 픽쳐에 대한 참조 픽쳐 리스트0 및 참조 픽쳐 리스트1을 생성하는 단계;
상기 참조 픽쳐 리스트0 및 상기 참조 픽쳐 리스트1에 포함된 참조 픽쳐의 템포럴 레벨(temporal level) 및 상기 현재 픽쳐로부터의 시간적 거리(temporal distance)를 판별하는 단계; 및
상기 템포럴 레벨 및 상기 시간적 거리에 기초하여 상기 참조 픽쳐를 삽입하여 컴바인드 리스트(combined list)를 생성하는 단계를 포함하고,
상기 컴바인드 리스트를 생성하는 단계에서는,
상기 시간적 거리가 작은 참조 픽쳐가 우선적으로 삽입되고,
상기 시간적 거리가 동일한 참조 픽쳐 중에서 상기 템포럴 레벨이 낮은 참조 픽쳐가 우선적으로 삽입되고,
상기 시간적 거리 및 상기 템포럴 레벨이 동일한 참조 픽쳐 중에서 참조 픽쳐 리스트0에 포함된 참조 픽쳐가 우선적으로 삽입되는
영상 복호화 방법.Generating a reference picture list 0 and a reference picture list 1 for the current picture;
Determining a temporal level of a reference picture included in the reference picture list 0 and the reference picture list 1 and a temporal distance from the current picture; And
Generating a combined list by inserting the reference picture based on the temporal level and the temporal distance;
In the generating of the combined list,
The reference picture having a small temporal distance is inserted first,
Among the reference pictures having the same temporal distance, a reference picture having a low temporal level is preferentially inserted.
Reference pictures included in reference picture list 0 are preferentially inserted among the reference pictures having the same temporal distance and the temporal level.
Image Decoding Method. - 청구항 4에 있어서,
상기 템포럴 레벨이 낮은 참조 픽쳐가 우선적으로 삽입되는지 항상 참조 픽쳐 리스트0에 포함된 참조 픽쳐가 우선적으로 삽입되는지 여부를 지시하는 제2 플래그 정보를 수신하는 단계를 추가로 포함하는 영상 복호화 방법.The method according to claim 4,
And receiving second flag information indicating whether a reference picture having a low temporal level is preferentially inserted or always a reference picture included in reference picture list 0 is preferentially inserted. - 현재 픽쳐에 대한 참조 픽쳐 리스트0 및 참조 픽쳐 리스트1을 생성하는 단계;
상기 참조 픽쳐 리스트0 및 상기 참조 픽쳐 리스트1에 포함된 참조 픽쳐의 양자화 파라미터 및 상기 현재 픽쳐로부터의 시간적 거리를 판별하는 단계; 및
상기 양자화 파라미터(QP: Quantazation Parameter) 및 상기 시간적 거리에 기초하여 상기 참조 픽쳐를 삽입하여 컴바인드 리스트를 생성하는 단계를 포함하고,
상기 컴바인드 리스트를 생성하는 단계에서는,
상기 시간적 거리가 작은 참조 픽쳐가 우선적으로 삽입되고,
상기 시간적 거리가 동일한 참조 픽쳐 중에서 상기 양자화 파라미터가 낮은 참조 픽쳐가 우선적으로 삽입되고,
상기 시간적 거리 및 상기 양자화 파라미터가 동일한 참조 픽쳐 중에서 참조 픽쳐 리스트0에 포함된 참조 픽쳐가 우선적으로 삽입되는
영상 복호화 방법.Generating a reference picture list 0 and a reference picture list 1 for the current picture;
Determining a quantization parameter of a reference picture included in the reference picture list 0 and the reference picture list 1 and a temporal distance from the current picture; And
Generating a bind list by inserting the reference picture based on the quantization parameter (QP) and the temporal distance;
In the generating of the combined list,
The reference picture having a small temporal distance is inserted first,
Among the reference pictures having the same temporal distance, a reference picture having a low quantization parameter is inserted first,
Reference pictures included in reference picture list 0 are preferentially inserted among the reference pictures having the same temporal distance and the quantization parameter.
Image Decoding Method. - 단예측(uni-prediction) 모드의 화면 간 예측을 이용한 영상 부호화 방법으로서,
현재 픽쳐에 대한 참조 픽쳐 리스트0 및 참조 픽쳐 리스트1을 생성하는 단계;
상기 참조 픽쳐 리스트0 및 상기 참조 픽쳐 리스트1에 포함된 참조 픽쳐들을 스캔하여, 상기 현재 픽쳐 내의 현재 예측 대상 블록에 대한 참조 픽쳐를 선택하는 단계; 및
선택된 참조 픽쳐를 이용하여 상기 현재 예측 대상 블록에 대한 움직임 정보를 도출하는 단계를 포함하고,
상기 현재 픽쳐 내의 현재 예측 대상 블록에 대한 참조 픽쳐를 선택하는 단계에서는,
참조 픽쳐 리스트0의 참조 픽쳐부터 시작하여, 참조 픽쳐 인덱스가 낮은 순서로, 참조 픽쳐 리스트0의 참조 픽쳐와 참조 픽쳐 리스트1의 참조 픽쳐가 교대로 스캔되고,
현재 순서의 참조 픽쳐가 이전 순서의 참조 픽쳐와 동일한 경우, 상기 현재 순서의 참조 픽쳐에 대한 스캔이 생략(skip)되는
영상 복호화 방법.A video encoding method using inter prediction in uni-prediction mode,
Generating a reference picture list 0 and a reference picture list 1 for the current picture;
Scanning reference pictures included in the reference picture list 0 and the reference picture list 1 and selecting a reference picture for a current prediction target block in the current picture; And
Deriving motion information on the current prediction target block using the selected reference picture,
In the step of selecting a reference picture for the current prediction target block in the current picture,
Starting from the reference picture of the reference picture list 0, the reference pictures of the reference picture list 0 and the reference pictures of the reference picture list 1 are alternately scanned in descending order of the reference picture index.
If the reference pictures in the current order are the same as the reference pictures in the previous order, the scan for the reference pictures in the current order is skipped.
Image Decoding Method. - 부호화기로부터 현재 슬라이스가 GPB(Generalized P and B) 슬라이스인지 여부를 지시하는 정보를 포함한 영상 정보를 수신하는 단계; 및
상기 현재 슬라이스가 GPB 슬라이스인지 여부를 지시하는 정보에 기초하여, 참조 픽쳐 리스트0 및 참조 픽쳐 리스트1을 생성하는 단계를 포함하고,
상기 참조 픽쳐 리스트0 및 상기 참조 픽쳐 리스트1을 생성하는 단계에서는,
상기 현재 슬라이스가 GPB 슬라이스이면, 상기 영상 정보에 포함된 상기 참조 픽쳐 리스트0 관련 정보를 이용하여 상기 참조 픽쳐 리스트1을 생성하고,
상기 GPB 슬라이스는 상기 참조 픽쳐 리스트0과 상기 참조 픽쳐 리스트1이 동일한 슬라이스인
영상 복호화 방법.Receiving image information including information indicating whether a current slice is a generalized P and B (GPB) slice from an encoder; And
Generating a reference picture list 0 and a reference picture list 1 based on the information indicating whether the current slice is a GPB slice;
In the step of generating the reference picture list 0 and the reference picture list 1,
If the current slice is a GPB slice, the reference picture list 1 is generated using the reference picture list 0 related information included in the image information.
The GPB slice is a slice in which the reference picture list 0 and the reference picture list 1 are the same.
Image Decoding Method. - 청구항 8에 있어서,
상기 현재 슬라이스가 GPB 슬라이스인지 여부를 지시하는 정보는, 현재 슬라이스가 GPB 슬라이스인지 여부를 지시하는 제3 플래그(flag)에 의해 지시되는 정보이고,
상기 제3 플래그는 부호화기에서 생성되어 복호화기로 전송되는 플래그이고,
상기 제3 플래그가 현재 슬라이스가 GPB 슬라이스임을 지시하는 경우, 상기 영상 정보는 참조 픽쳐 리스트1 관련 정보를 포함하지 않는
영상 복호화 방법. The method according to claim 8,
The information indicating whether the current slice is a GPB slice is information indicated by a third flag indicating whether the current slice is a GPB slice,
The third flag is a flag generated by the encoder and transmitted to the decoder,
When the third flag indicates that the current slice is a GPB slice, the image information does not include reference picture list 1 related information.
Image Decoding Method. - 청구항 9에 있어서,
상기 제3 플래그는 상기 현재 슬라이스가 B 픽쳐일 때만 부호화기에서 생성되어 복호화기로 전송되는 플래그인
영상 복호화 방법.The method according to claim 9,
The third flag is a flag generated in an encoder and transmitted to a decoder only when the current slice is a B picture.
Image Decoding Method. - 청구항 8에 있어서,
상기 현재 슬라이스가 GPB 슬라이스인지 여부를 지시하는 정보는, 현재 슬라이스에 대해 상기 참조 픽쳐 리스트0과 상기 참조 픽쳐 리스트1이 동일한지 여부를 지시하는 제4 플래그에 의해 지시되는 정보이고,
상기 제4 플래그는 부호화기에서 생성되어 복호화기로 전송되는 플래그이고,
상기 제4 플래그가 현재 슬라이스에 대해 상기 참조 픽쳐 리스트0과 상기 참조 픽쳐 리스트1이 동일함을 지시하는 경우, 상기 영상 정보는 참조 픽쳐 리스트1 관련 정보를 포함하지 않는
영상 복호화 방법.The method according to claim 8,
The information indicating whether the current slice is a GPB slice is information indicated by a fourth flag indicating whether the reference picture list 0 and the reference picture list 1 are the same for the current slice.
The fourth flag is a flag generated by the encoder and transmitted to the decoder.
When the fourth flag indicates that the reference picture list 0 and the reference picture list 1 are the same for the current slice, the image information does not include reference picture list 1 related information.
Image Decoding Method. - 청구항 8에 있어서,
상기 GPB 슬라이스는 I 슬라이스, P 슬라이스 및 B 슬라이스와 별개로 정의되는 슬라이스 타입이고, 상기 B 슬라이스는 참조 픽쳐 리스트0과 참조 픽쳐 리스트1이 동일하지 않은 슬라이스이고,
상기 현재 슬라이스가 GPB 슬라이스인지 여부를 지시하는 정보는 상기 GPB 슬라이스의 슬라이스 타입에 의해 지시되는 정보이고,
상기 현재 슬라이스의 슬라이스 타입이 GPB 슬라이스인 경우, 상기 영상 정보는 참조 픽쳐 리스트1 관련 정보를 포함하지 않는
영상 복호화 방법.The method according to claim 8,
The GPB slice is a slice type defined separately from an I slice, a P slice, and a B slice, and the B slice is a slice in which reference picture list 0 and reference picture list 1 are not the same.
Information indicating whether the current slice is a GPB slice is information indicated by a slice type of the GPB slice,
If the slice type of the current slice is a GPB slice, the image information does not include reference picture list 1 related information.
Image Decoding Method. - 현재 슬라이스가 로우 딜레이(low delay) B 슬라이스인지 여부를 지시하는 정보를 포함한 영상 정보를 수신하는 단계;
상기 현재 슬라이스가 로우 딜레이 B 슬라이스인지 여부를 지시하는 정보에 기초하여, 현재 예측 대상 블록에 대한 동일 위치(co-located) 블록의 참조 픽쳐 리스트를 체크함으로써, 시간적 움직임 정보 후보자(temporal motion information candidate)를 도출하는 단계; 및
상기 시간적 움직임 정보 후보자 및 상기 영상 정보를 이용하여 화면간(inter) 예측을 수행하는 단계를 포함하고,
상기 로우 딜레이 B 슬라이스는 순방향 참조 픽쳐만을 가지는 슬라이스이고, 상기 동일 위치 블록은 상기 현재 예측 대상 블록의 참조 픽쳐 내에 위치한 블록이고,
상기 현재 슬라이스가 로우 딜레이 B 슬라이스인 경우 상기 시간적 움직임 정보 후보자를 도출하는 단계에서는, 상기 동일 위치 블록의 상기 참조 픽쳐 리스트 중 상기 현재 예측 대상 블록의 참조 픽쳐 리스트와 동일한 참조 픽쳐 리스트가 먼저 체크되는
영상 복호화 장치.Receiving image information including information indicating whether a current slice is a low delay B slice;
Based on the information indicating whether the current slice is a low delay B slice, a temporal motion information candidate is checked by checking a reference picture list of a co-located block with respect to a current prediction target block. Deriving; And
Performing inter prediction using the temporal motion information candidate and the image information;
The low delay B slice is a slice having only a forward reference picture, the co-located block is a block located within a reference picture of the current prediction target block,
In the deriving of the temporal motion information candidate when the current slice is a low delay B slice, a reference picture list identical to a reference picture list of the current prediction target block among the reference picture lists of the same location block is checked first.
Video decoding device. - 현재 예측 대상 블록에 대해, 부호화기로부터 인덱스L0과 인덱스L1이 동일한 참조 픽쳐를 지시하는지 여부를 가리키는 제5 플래그 정보를 포함한 영상 정보를 수신하는 단계; 및
상기 제5 플래그 정보에 기초하여, 상기 인덱스L0 및 상기 인덱스L1을 생성하는 단계를 포함하고,
상기 인덱스L0은 참조 픽쳐 리스트0에서 상기 현재 예측 대상 블록이 참조하는 참조 픽쳐에 대한 참조 픽쳐 인덱스이고, 상기 인덱스L1은 참조 픽쳐 리스트1에서 상기 현재 예측 대상 블록이 참조하는 참조 픽쳐에 대한 참조 픽쳐 인덱스인
영상 복호화 방법.Receiving image information including fifth flag information indicating whether index L0 and index L1 indicate the same reference picture from the encoder for the current prediction target block; And
Generating the index L0 and the index L1 based on the fifth flag information.
The index L0 is a reference picture index of a reference picture referenced by the current prediction target block in reference picture list 0, and the index L1 is a reference picture index of a reference picture referenced by the current prediction target block in reference picture list 1. sign
Image Decoding Method. - 청구항 14에 있어서, 상기 인덱스L0 및 상기 인덱스L1을 생성하는 단계에서, 상기 인덱스L0과 상기 인덱스L1이 지시하는 참조 픽쳐가 동일한 경우,
상기 영상 정보는 상기 인덱스L1 관련 정보를 포함하지 않고, 상기 영상 정보에 포함된 상기 인덱스L0 관련 정보를 이용하여 상기 인덱스L1을 생성하는
영상 복호화 방법.The method of claim 14, wherein in the generating of the index L0 and the index L1, when the reference picture indicated by the index L0 and the index L1 is the same,
The image information does not include the index L1 related information, and generates the index L1 using the index L0 related information included in the image information.
Image Decoding Method. - 청구항 14에 있어서, 상기 인덱스L0 및 상기 인덱스L1을 생성하는 단계에서, 상기 인덱스L0과 상기 인덱스L1이 지시하는 참조 픽쳐가 동일하지 않은 경우,
상기 인덱스L1의 인덱스 값이 인덱스Co보다 크면, 상기 영상 정보에 포함된 상기 인덱스L1 관련 정보의 인덱스 값에 1을 더하여 상기 인덱스L1을 생성하고, 상기 인덱스L1의 인덱스 값이 상기 인덱스Co보다 작으면, 상기 영상 정보에 포함된 상기 인덱스L1 관련 정보의 인덱스 값을 카피(copy)하여 상기 인덱스L1을 생성하고,
상기 인덱스Co는 상기 인덱스L0이 지시하는 참조 픽쳐와 동일한 픽쳐를 지시하는 상기 참조 픽쳐 리스트1의 인덱스 값인
영상 복호화 방법.The method of claim 14, wherein in the generating of the index L0 and the index L1, when the reference pictures indicated by the index L0 and the index L1 are not the same,
When the index value of the index L1 is larger than the index Co, the index L1 is generated by adding 1 to the index value of the index L1 related information included in the image information. When the index value of the index L1 is smaller than the index Co, Copying an index value of the index L1 related information included in the image information to generate the index L1,
The index Co is an index value of the reference picture list 1 indicating the same picture as the reference picture indicated by the index L0.
Image Decoding Method.
Applications Claiming Priority (18)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US38070810P | 2010-09-08 | 2010-09-08 | |
US61/380,708 | 2010-09-08 | ||
US201161477622P | 2011-04-21 | 2011-04-21 | |
US201161477625P | 2011-04-21 | 2011-04-21 | |
US61/477,625 | 2011-04-21 | ||
US61/477,622 | 2011-04-21 | ||
US201161478916P | 2011-04-25 | 2011-04-25 | |
US201161478921P | 2011-04-25 | 2011-04-25 | |
US201161478911P | 2011-04-25 | 2011-04-25 | |
US61/478,916 | 2011-04-25 | ||
US61/478,921 | 2011-04-25 | ||
US61/478,911 | 2011-04-25 | ||
US201161481723P | 2011-05-02 | 2011-05-02 | |
US61/481,723 | 2011-05-02 | ||
US201161481727P | 2011-05-03 | 2011-05-03 | |
US61/481,727 | 2011-05-03 | ||
US201161484681P | 2011-05-11 | 2011-05-11 | |
US61/484,681 | 2011-05-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2012033327A2 true WO2012033327A2 (en) | 2012-03-15 |
WO2012033327A3 WO2012033327A3 (en) | 2012-06-14 |
Family
ID=45811065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2011/006587 WO2012033327A2 (en) | 2010-09-08 | 2011-09-06 | Image-decoding method and apparatus including a method for configuring a reference picture list |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2012033327A2 (en) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150009412A (en) * | 2013-07-15 | 2015-01-26 | 주식회사 케이티 | Video coding/decoding method and apparatus for multi-layers |
WO2015016536A1 (en) * | 2013-07-30 | 2015-02-05 | 주식회사 케이티 | Image encoding and decoding method supporting plurality of layers and apparatus using same |
CN105453564A (en) * | 2013-07-30 | 2016-03-30 | 株式会社Kt | Image encoding and decoding method supporting plurality of layers and apparatus using same |
US9894369B2 (en) | 2013-07-30 | 2018-02-13 | Kt Corporation | Image encoding and decoding method supporting plurality of layers and apparatus using same |
CN109905704A (en) * | 2012-12-14 | 2019-06-18 | Lg 电子株式会社 | The method of encoded video, the method for decoding video and the device using it |
WO2020056168A1 (en) | 2018-09-12 | 2020-03-19 | Futurewei Technologies, Inc. | Index signaling for reference picture list structures |
CN111435989A (en) * | 2019-01-15 | 2020-07-21 | 华为技术有限公司 | Video encoding method, video decoding method, video encoding device, video decoding device and computer storage medium |
WO2021091253A1 (en) * | 2019-11-05 | 2021-05-14 | 엘지전자 주식회사 | Slice type-based image/video coding method and apparatus |
CN113711596A (en) * | 2019-09-10 | 2021-11-26 | 株式会社 Xris | Image signal encoding/decoding method and apparatus thereof |
CN115485981A (en) * | 2020-05-21 | 2022-12-16 | 阿里巴巴集团控股有限公司 | Method for processing reference image in video coding |
CN116235490A (en) * | 2021-06-25 | 2023-06-06 | 腾讯美国有限责任公司 | Method and apparatus for video coding |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060068254A (en) * | 2004-12-16 | 2006-06-21 | 엘지전자 주식회사 | Video encoding method, video decoding method, and video decoder |
KR20080007086A (en) * | 2006-07-14 | 2008-01-17 | 엘지전자 주식회사 | A method and apparatus for decoding/encoding a video signal |
KR20080076870A (en) * | 2008-07-18 | 2008-08-20 | 엘지전자 주식회사 | Method of determining motion vector |
KR20080082575A (en) * | 2008-08-04 | 2008-09-11 | 엘지전자 주식회사 | A method of selecting a reference picture for processing a field macroblock |
-
2011
- 2011-09-06 WO PCT/KR2011/006587 patent/WO2012033327A2/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060068254A (en) * | 2004-12-16 | 2006-06-21 | 엘지전자 주식회사 | Video encoding method, video decoding method, and video decoder |
KR20080007086A (en) * | 2006-07-14 | 2008-01-17 | 엘지전자 주식회사 | A method and apparatus for decoding/encoding a video signal |
KR20080076870A (en) * | 2008-07-18 | 2008-08-20 | 엘지전자 주식회사 | Method of determining motion vector |
KR20080082575A (en) * | 2008-08-04 | 2008-09-11 | 엘지전자 주식회사 | A method of selecting a reference picture for processing a field macroblock |
Cited By (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109905704A (en) * | 2012-12-14 | 2019-06-18 | Lg 电子株式会社 | The method of encoded video, the method for decoding video and the device using it |
CN109982078B (en) * | 2012-12-14 | 2023-03-28 | Lg 电子株式会社 | Method of encoding video, method of decoding video, and apparatus using the same |
CN109905704B (en) * | 2012-12-14 | 2022-12-16 | Lg 电子株式会社 | Method of encoding video, method of decoding video, and apparatus using the same |
CN109982077B (en) * | 2012-12-14 | 2022-12-13 | Lg 电子株式会社 | Method of encoding video, method of decoding video, and apparatus using the same |
CN109982076B (en) * | 2012-12-14 | 2022-12-13 | Lg 电子株式会社 | Method of encoding video, method of decoding video, and apparatus using the same |
CN109982078A (en) * | 2012-12-14 | 2019-07-05 | Lg 电子株式会社 | The method of encoded video, the method for decoding video and the device using it |
CN109982076A (en) * | 2012-12-14 | 2019-07-05 | Lg 电子株式会社 | The method of encoded video, the method for decoding video and the device using it |
CN109982077A (en) * | 2012-12-14 | 2019-07-05 | Lg 电子株式会社 | The method of encoded video, the method for decoding video and the device using it |
KR102179125B1 (en) * | 2013-07-15 | 2020-11-16 | 주식회사 케이티 | Video coding/decoding method and apparatus for multi-layers |
KR20150009412A (en) * | 2013-07-15 | 2015-01-26 | 주식회사 케이티 | Video coding/decoding method and apparatus for multi-layers |
US10148952B2 (en) | 2013-07-30 | 2018-12-04 | Kt Corporation | Image encoding and decoding method supporting plurality of layers and apparatus using same |
WO2015016536A1 (en) * | 2013-07-30 | 2015-02-05 | 주식회사 케이티 | Image encoding and decoding method supporting plurality of layers and apparatus using same |
US10200702B2 (en) | 2013-07-30 | 2019-02-05 | Kt Corporation | Image encoding and decoding method supporting plurality of layers and apparatus using same |
CN105453564B (en) * | 2013-07-30 | 2019-05-10 | 株式会社Kt | Support multiple layers of image coding and decoding method and the device using this method |
US10148949B2 (en) | 2013-07-30 | 2018-12-04 | Kt Corporation | Scalable video signal encoding/decoding method and apparatus |
US10148950B2 (en) | 2013-07-30 | 2018-12-04 | Kt Corporation | Image encoding and decoding method supporting plurality of layers and apparatus using same |
US9894369B2 (en) | 2013-07-30 | 2018-02-13 | Kt Corporation | Image encoding and decoding method supporting plurality of layers and apparatus using same |
US9894357B2 (en) | 2013-07-30 | 2018-02-13 | Kt Corporation | Image encoding and decoding method supporting plurality of layers and apparatus using same |
US10154259B2 (en) | 2013-07-30 | 2018-12-11 | Kt Corporation | Image encoding and decoding method supporting plurality of layers and apparatus using same |
CN105453564A (en) * | 2013-07-30 | 2016-03-30 | 株式会社Kt | Image encoding and decoding method supporting plurality of layers and apparatus using same |
US9769478B2 (en) | 2013-07-30 | 2017-09-19 | Kt Corporation | Scalable video signal encoding/decoding method and apparatus |
US9762910B2 (en) | 2013-07-30 | 2017-09-12 | Kt Corporation | Image encoding and decoding method supporting plurality of layers and apparatus using same |
US9762909B2 (en) | 2013-07-30 | 2017-09-12 | Kt Corporation | Image encoding and decoding method supporting plurality of layers and apparatus using same |
AU2019337644B2 (en) * | 2018-09-12 | 2023-06-29 | Huawei Technologies Co., Ltd. | Index signaling for reference picture list structures |
WO2020056168A1 (en) | 2018-09-12 | 2020-03-19 | Futurewei Technologies, Inc. | Index signaling for reference picture list structures |
EP3847804A4 (en) * | 2018-09-12 | 2021-10-27 | Huawei Technologies Co., Ltd. | Index signaling for reference picture list structures |
EP4300954A3 (en) * | 2018-09-12 | 2024-01-10 | Huawei Technologies Co., Ltd. | Candidate signaling for reference picture list structures |
EP4164227A1 (en) * | 2018-09-12 | 2023-04-12 | Huawei Technologies Co., Ltd. | A video encoder, a video decoder and corresponding methods |
CN111435989A (en) * | 2019-01-15 | 2020-07-21 | 华为技术有限公司 | Video encoding method, video decoding method, video encoding device, video decoding device and computer storage medium |
CN111435989B (en) * | 2019-01-15 | 2023-11-17 | 华为技术有限公司 | Video encoding and decoding methods, devices and computer storage medium |
CN113711596A (en) * | 2019-09-10 | 2021-11-26 | 株式会社 Xris | Image signal encoding/decoding method and apparatus thereof |
CN114762350A (en) * | 2019-11-05 | 2022-07-15 | Lg 电子株式会社 | Image/video coding method and apparatus based on slice type |
US11825096B2 (en) | 2019-11-05 | 2023-11-21 | Lg Electronics Inc. | Slice type-based image/video coding method and apparatus |
WO2021091253A1 (en) * | 2019-11-05 | 2021-05-14 | 엘지전자 주식회사 | Slice type-based image/video coding method and apparatus |
CN115485981A (en) * | 2020-05-21 | 2022-12-16 | 阿里巴巴集团控股有限公司 | Method for processing reference image in video coding |
EP4136840A4 (en) * | 2021-06-25 | 2023-10-11 | Tencent America Llc | Method and apparatus for video coding |
CN116235490A (en) * | 2021-06-25 | 2023-06-06 | 腾讯美国有限责任公司 | Method and apparatus for video coding |
Also Published As
Publication number | Publication date |
---|---|
WO2012033327A3 (en) | 2012-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10652551B2 (en) | Inter prediction method and apparatus therefor | |
EP3205103B1 (en) | Intra bc and inter unification | |
WO2012033327A2 (en) | Image-decoding method and apparatus including a method for configuring a reference picture list | |
US9451256B2 (en) | Reusing parameter sets for video coding | |
KR102085395B1 (en) | Advanced residual prediction in scalable and multi-view video coding | |
AU2013232041B2 (en) | Motion vector coding and bi-prediction in HEVC and its extensions | |
KR102006531B1 (en) | Video parameter set for hevc and extensions | |
US9420286B2 (en) | Temporal motion vector prediction in HEVC and its extensions | |
KR102381380B1 (en) | Image decoding method and apparatus using same | |
CN107660341A (en) | Slice-level intra block replicates and other video codings improve | |
CA2922408C (en) | Inter-view dependency type in mv-hevc | |
AU2013280848A1 (en) | Random access and signaling of long-term reference pictures in video coding | |
WO2014052424A1 (en) | Scalable video coding in hevc | |
AU2013272130A1 (en) | Signaling data for long term reference pictures for video coding | |
KR102282331B1 (en) | Inter-layer syntax prediction control | |
KR20220025017A (en) | Handling of multiple picture sizes and fitness windows for reference picture resampling in video coding | |
CN115191117A (en) | Reference picture list and co-located picture signaling in video coding |
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: 11823760 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: 11823760 Country of ref document: EP Kind code of ref document: A2 |