WO2021215614A1 - 영상의 복호화 방법 및 장치 - Google Patents

영상의 복호화 방법 및 장치 Download PDF

Info

Publication number
WO2021215614A1
WO2021215614A1 PCT/KR2020/018464 KR2020018464W WO2021215614A1 WO 2021215614 A1 WO2021215614 A1 WO 2021215614A1 KR 2020018464 W KR2020018464 W KR 2020018464W WO 2021215614 A1 WO2021215614 A1 WO 2021215614A1
Authority
WO
WIPO (PCT)
Prior art keywords
picture
nal unit
subpicture
current
flag
Prior art date
Application number
PCT/KR2020/018464
Other languages
English (en)
French (fr)
Inventor
이선영
Original Assignee
주식회사 아틴스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 아틴스 filed Critical 주식회사 아틴스
Priority to BR112022014902A priority Critical patent/BR112022014902A2/pt
Priority to CN202080005988.4A priority patent/CN113875245A/zh
Priority to EP20870472.6A priority patent/EP4142286A4/en
Priority to MX2022008860A priority patent/MX2022008860A/es
Priority to JP2021560581A priority patent/JP7358502B2/ja
Priority to US17/314,032 priority patent/US11265560B2/en
Publication of WO2021215614A1 publication Critical patent/WO2021215614A1/ko
Priority to US17/643,370 priority patent/US11770543B2/en
Priority to US18/467,662 priority patent/US20240007655A1/en
Priority to JP2023166084A priority patent/JP2023169389A/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • the present invention relates to a subpicture division method for synthesizing with other sequences and a slice division method for bitstream packing.
  • This specification presents a subpicture division method for compositing with other sequences and a slice division method for bit stream packing.
  • an image decoding method performed by an image decoding apparatus includes: obtaining NAL unit type information indicating a type of a current network abstraction layer (NAL) unit from a bitstream; and when the NAL unit type information indicates that the NAL unit type of the current NAL unit is encoded data for an image slice, the image slice based on whether a mixed NAL unit type is applied to the current picture It includes the step of decrypting.
  • the decoding of the image slice is performed by determining whether the NAL unit type of the current NAL unit indicates a property of a subpicture for the current image slice based on whether the hybrid NAL unit type is applied.
  • an image decoding apparatus for solving the above problem is an image decoding apparatus including a memory and at least one processor, wherein the at least one processor is configured to extract a current network abstraction (NAL) from a bitstream. layer) obtains NAL unit type information indicating the type of unit, and when the NAL unit type information indicates that the NAL unit type of the current NAL unit is encoding data for an image slice, whether the hybrid NAL unit type is applied to the current picture The image slice may be decoded based on whether or not In this case, the decoding of the image slice may be performed by determining whether the NAL unit type of the current NAL unit indicates the property of a subpicture for the current image slice based on whether the hybrid NAL unit type is applied. have.
  • NAL network abstraction
  • the encoding of the image slice may include encoding such that, when the current picture is encoded based on the hybrid NAL unit type, the NAL unit type of the current NAL unit indicates a property of a subpicture for the current image slice. can be performed.
  • the transmission method according to an embodiment of the present invention for solving the above problem may transmit a bitstream generated by the image encoding apparatus or the image encoding method of the present disclosure.
  • the computer-readable recording medium for solving the above problem may store a bitstream generated by the image encoding method or image encoding apparatus of the present disclosure.
  • the present invention provides a method of generating one picture through synthesis with several different sequences.
  • a picture in a sequence is divided into a plurality of sub-pictures, and a new picture is generated by synthesizing the divided sub-pictures of other pictures.
  • NAL network abstraction layer
  • FIG. 1 is a diagram schematically showing the configuration of a video encoding apparatus to which the present invention can be applied.
  • FIG. 2 is a diagram illustrating an example of an image encoding method performed by a video encoding apparatus.
  • FIG. 3 is a diagram schematically showing the configuration of a video decoding apparatus to which the present invention can be applied.
  • FIG. 4 is a diagram illustrating an example of an image decoding method performed by a decoding apparatus.
  • FIG. 5 is a diagram illustrating an example of a NAL packet for a slice.
  • FIG. 6 is a diagram illustrating an example of a hierarchical GOP structure.
  • FIG. 7 is a diagram illustrating an example of a display output order and a decoding order.
  • FIG. 8 is a diagram illustrating an example of a leading picture and a normal picture.
  • FIG. 9 is a diagram illustrating an example of a RASL picture and a RADL picture.
  • 10 is a diagram illustrating syntax for a slice segment header.
  • FIG. 11 is a diagram illustrating an example of a content synthesis process.
  • FIG. 12 is a diagram illustrating an example of a subpicture ID and a slice address.
  • 13 is a diagram illustrating an example of a NUT for each subpicture/slice.
  • FIG. 14 is a diagram illustrating an embodiment of a syntax of a picture parameter set (PPS).
  • PPS picture parameter set
  • 15 is a diagram illustrating an embodiment of a syntax of a slice header.
  • 16 is a diagram showing the syntax of a picture header structure.
  • 17 is a diagram illustrating syntax for obtaining a reference picture list.
  • 18 is a diagram showing an example of content synthesis.
  • 19 and 20 are flowcharts illustrating a decoding method and an encoding method according to an embodiment of the present invention.
  • each component in the drawings described in the present invention is shown independently for the convenience of description regarding different characteristic functions, and does not mean that each component is implemented as separate hardware or separate software.
  • two or more components among each component may be combined to form one component, or one component may be divided into a plurality of components.
  • Embodiments in which each component is integrated and/or separated are also included in the scope of the present invention without departing from the essence of the present invention.
  • the present invention relates to video/image coding.
  • the method/embodiment disclosed in the present invention is a versatile video coding (VVC) standard, an Essential Video Coding (EVC) standard, an AOMedia Video 1 (AV1) standard, a 2nd generation of audio video coding standard (AVS2) or a next-generation video It can be applied to methods disclosed in /image coding standards (eg, H.267, H.268, etc.).
  • an access unit means a unit indicating a plurality of picture sets belonging to different layers output at the same time from a decoded picture buffer (DPB).
  • a picture generally means a unit representing one image in a specific time period, and a slice is a unit constituting a part of a picture in coding.
  • One picture may consist of a plurality of slices, and if necessary, a picture and a slice may be used interchangeably.
  • a pixel or pel may mean a minimum unit constituting one picture (or image). Also, as a term corresponding to a pixel, a 'sample' may be used. A sample may generally represent a pixel or a value of a pixel, may represent only a pixel/pixel value of a luma component, or may represent only a pixel/pixel value of a chroma component.
  • a unit represents a basic unit of image processing.
  • the unit may include at least one of a specific region of a picture and information related to the region.
  • a unit may be used interchangeably with terms such as a block or an area in some cases.
  • an MxN block may represent a set of samples or transform coefficients including M columns and N rows.
  • FIG. 1 is a diagram schematically illustrating a configuration of a video encoding apparatus to which the present invention can be applied.
  • the video encoding apparatus 100 includes a picture division unit 105 , a prediction unit 110 , a residual processing unit 120 , an entropy encoding unit 130 , an adder 140 , and a filter unit 150 . ) and a memory 160 .
  • the residual processing unit 120 may include a subtraction unit 121 , a transform unit 122 , a quantization unit 123 , a rearrangement unit 124 , an inverse quantization unit 125 , and an inverse transform unit 126 .
  • the picture divider 105 may divide the input picture into at least one processing unit.
  • the processing unit may be referred to as a coding unit (CU).
  • the coding unit may be recursively divided from a coding tree unit according to a quad-tree binary-tree (QTBT) structure.
  • QTBT quad-tree binary-tree
  • one coding tree unit may be divided into a plurality of nodes having a lower depth based on a quad tree structure and/or a binary tree structure.
  • a quad tree structure may be applied first and a binary tree structure may be applied later.
  • the binary tree structure may be applied first.
  • Decoding may be performed on a node that is no longer split, and a coding unit may be determined for a node that is no longer split in this way.
  • the coding tree unit is a unit for division of the coding unit
  • the coding tree unit may be referred to as a coding unit.
  • the coding tree unit since the coding unit is determined by the division of the coding tree unit, the coding tree unit may be called a largest coding unit (LCU).
  • LCU largest coding unit
  • the coding procedure according to the present invention may be performed based on the final coding unit that is no longer divided.
  • the coding tree unit may be directly used as the final coding unit based on coding efficiency according to image characteristics, or if necessary, the coding unit may be recursively divided into coding units having a lower depth than the optimal coding unit.
  • a coding unit of the size of may be used as the final coding unit.
  • the coding procedure may include procedures such as prediction, transformation, and restoration, which will be described later.
  • the processing unit may include a coding unit (CU), a prediction unit (PU), or a transform unit (TU).
  • a coding unit may be split into coding units of a lower depth along a quad tree structure from the coding tree unit.
  • the coding tree unit may be directly used as the final coding unit based on coding efficiency according to image characteristics, or if necessary, the coding unit may be recursively divided into coding units having a lower depth than the optimal coding unit.
  • a coding unit of the size of may be used as the final coding unit.
  • the final coding unit means a coding unit that is a base that is partitioned or divided into a prediction unit or a transform unit.
  • a prediction unit is a unit partitioned from a coding unit, and may be a unit of sample prediction. In this case, the prediction unit may be divided into sub-blocks.
  • a transform unit may be divided along a quad tree structure from a coding unit, and may be a unit deriving a transform coefficient and/or a unit deriving a residual signal from the transform coefficient.
  • the coding unit may be referred to as a coding block (CB)
  • the prediction unit may be referred to as a prediction block (PB)
  • the transform unit may be referred to as a transform block (TB).
  • a prediction block or a prediction unit may mean a specific area in the form of a block within a picture, and may include an array of prediction samples.
  • a transform block or transform unit may mean a specific block-shaped region within a picture, and may include transform coefficients or an array of residual samples.
  • the prediction unit 110 may perform prediction on a processing target block (hereinafter, referred to as a current block) and generate a predicted block including prediction samples for the current block.
  • a unit of prediction performed by the prediction unit 110 may be a coding block, a transform block, or a prediction block.
  • the prediction unit 110 may determine whether intra prediction or inter prediction is applied to the current block. For example, the prediction unit 110 may determine whether intra prediction or inter prediction is applied in units of CUs.
  • the prediction unit 110 may derive a prediction sample for the current block based on a reference sample outside the current block in a picture to which the current block belongs (hereinafter, referred to as a current picture).
  • the prediction unit 110 may (i) derive a prediction sample based on an average or interpolation of neighboring reference samples of the current block, and (ii) a neighboring reference of the current block.
  • the prediction sample may be derived based on a reference sample existing in a specific (prediction) direction with respect to the prediction sample among the samples.
  • the case of (i) may be called a non-directional mode or a non-angular mode, and the case of (ii) may be called a directional mode or an angular mode.
  • a prediction mode may have, for example, 33 directional prediction modes and at least two or more non-directional modes.
  • the non-directional mode may include a DC prediction mode and a planar mode (Planar mode).
  • the prediction unit 110 may determine the prediction mode applied to the current block by using the prediction mode applied to the neighboring block.
  • the prediction unit 110 may derive a prediction sample for the current block based on a sample specified by a motion vector on a reference picture.
  • the prediction unit 110 may derive a prediction sample for the current block by applying any one of a skip mode, a merge mode, and a motion vector prediction (MVP) mode.
  • the prediction unit 110 may use motion information of a neighboring block as motion information of the current block.
  • the skip mode unlike the merge mode, the difference (residual) between the predicted sample and the original sample is not transmitted.
  • the motion vector of the current block may be derived by using the motion vector of the neighboring block as a motion vector predictor of the current block.
  • a neighboring block may include a spatial neighboring block existing in the current picture and a temporal neighboring block present in a reference picture.
  • the reference picture including the temporal neighboring block may be referred to as a collocated picture (colPic).
  • Motion information may include a motion vector and a reference picture index.
  • Information such as prediction mode information and motion information may be (entropy) encoded and output in the form of a bitstream.
  • the highest picture on a reference picture list may be used as a reference picture.
  • Reference pictures included in the reference picture list may be sorted based on a picture order count (POC) difference between the current picture and the corresponding reference picture.
  • POC picture order count
  • the subtraction unit 121 generates a residual sample that is a difference between an original sample and a predicted sample.
  • the residual sample may not be generated as described above.
  • the transform unit 122 generates transform coefficients by transforming residual samples in units of transform blocks.
  • the transform unit 122 may perform transform according to the size of the corresponding transform block and the prediction mode applied to the coding block or prediction block spatially overlapping the corresponding transform block. For example, if intra prediction is applied to the coding block or the prediction block overlapping the transform block, and the transform block is a 4 ⁇ 4 residual array, the residual sample is a Discrete Sine Transform (DST) transform kernel. In other cases, the residual sample may be transformed using a DCT (Discrete Cosine Transform) transformation kernel.
  • DST Discrete Sine Transform
  • the quantizer 123 may quantize the transform coefficients to generate a quantized transform coefficient.
  • the rearrangement unit 124 rearranges the quantized transform coefficients.
  • the reordering unit 124 may rearrange the quantized transform coefficients in a block form into a one-dimensional vector form through a coefficient scanning method.
  • the rearrangement unit 124 has been described as a separate configuration, the rearrangement unit 124 may be a part of the quantization unit 123 .
  • the entropy encoding unit 130 may perform entropy encoding on the quantized transform coefficients.
  • Entropy encoding may include, for example, an encoding method such as exponential Golomb, context-adaptive variable length coding (CAVLC), and context-adaptive binary arithmetic coding (CABAC).
  • the entropy encoding unit 130 may encode information necessary for video reconstruction (eg, a value of a syntax element, etc.) other than the quantized transform coefficient together or separately.
  • Entropy-encoded information may be transmitted or stored in a network abstraction layer (NAL) unit unit in the form of a bitstream.
  • NAL network abstraction layer
  • the inverse quantization unit 125 inversely quantizes the values (quantized transform coefficients) quantized by the quantizer 123 , and the inverse transform unit 126 inversely transforms the values inversely quantized by the inverse quantization unit 125 to obtain a residual sample. create
  • the adder 140 reconstructs a picture by combining the residual sample and the prediction sample.
  • a reconstructed block may be generated by adding the residual sample and the prediction sample in units of blocks.
  • the adder 140 has been described as a separate configuration, but the adder 140 may be a part of the prediction unit 110 .
  • the adder 140 may be referred to as a restoration unit or a restoration block generator.
  • the filter unit 150 may apply a deblocking filter and/or a sample adaptive offset to a reconstructed picture. Artifacts of block boundaries in the reconstructed picture or distortion in the quantization process may be corrected through deblocking filtering and/or sample adaptive offset.
  • the sample adaptive offset may be applied in units of samples, and may be applied after the process of deblocking filtering is completed.
  • the filter unit 150 may apply an adaptive loop filter (ALF) to the reconstructed picture. ALF may be applied to the reconstructed picture after the deblocking filter and/or sample adaptive offset is applied.
  • ALF adaptive loop filter
  • the memory 160 may store a reconstructed picture (a decoded picture) or information required for encoding/decoding.
  • the reconstructed picture may be a reconstructed picture whose filtering procedure has been completed by the filter unit 150 .
  • the stored reconstructed picture may be used as a reference picture for (inter) prediction of another picture.
  • the memory 160 may store (reference) pictures used for inter prediction.
  • pictures used for inter prediction may be designated by a reference picture set or a reference picture list.
  • the image encoding method may include block partitioning, intra/inter prediction, transform, quantization, and entropy encoding.
  • the current picture may be divided into a plurality of blocks, a prediction block of the current block may be generated through intra/inter prediction, and the input block of the current block may be subtracted from the prediction block.
  • a residual block of the current block may be generated.
  • a coefficient block ie, transform coefficients of the current block, may be generated by transforming the residual block.
  • the transform coefficients may be quantized and entropy encoded and stored in a bitstream.
  • FIG. 3 is a diagram schematically illustrating a configuration of a video decoding apparatus to which the present invention can be applied.
  • the video decoding apparatus 300 includes an entropy decoding unit 310 , a residual processing unit 320 , a prediction unit 330 , an adder 340 , a filter unit 350 and a memory 360 .
  • the residual processing unit 320 may include a rearrangement unit 321 , an inverse quantization unit 322 , and an inverse transform unit 323 .
  • the video decoding apparatus 300 may reconstruct a video corresponding to a process in which the video information is processed by the video encoding apparatus.
  • the video decoding apparatus 300 may perform video decoding using a processing unit applied in the video encoding apparatus.
  • a processing unit block of video decoding may be, as an example, a coding unit, and may be a coding unit, a prediction unit, or a transform unit, as another example.
  • a coding unit may be partitioned from a coding tree unit along a quad tree structure and/or a binary tree structure.
  • a prediction unit and a transform unit may be further used depending on the case, in which case a prediction block is a block derived or partitioned from a coding unit, and may be a unit of sample prediction. In this case, the prediction unit may be divided into sub-blocks.
  • a transform unit may be divided along a quad tree structure from a coding unit, and may be a unit deriving a transform coefficient or a unit deriving a residual signal from a transform coefficient.
  • the entropy decoding unit 310 may parse the bitstream and output information necessary for video or picture restoration. For example, the entropy decoding unit 310 decodes information in a bitstream based on a coding method such as exponential Golomb encoding, CAVLC, or CABAC, and a value of a syntax element required for video reconstruction and a quantized value of a transform coefficient related to a residual can be printed out.
  • a coding method such as exponential Golomb encoding, CAVLC, or CABAC
  • the CABAC entropy decoding method receives a bin corresponding to each syntax element in a bitstream, and decodes the syntax element information to be decoded and the decoding information of the surrounding and decoding target blocks or the symbol/bin information decoded in the previous step.
  • a context model is determined using the context model, and the probability of occurrence of a bin is predicted according to the determined context model, and a symbol corresponding to the value of each syntax element can be generated by performing arithmetic decoding of the bin. have.
  • the CABAC entropy decoding method may update the context model by using the decoded symbol/bin information for the context model of the next symbol/bin after determining the context model.
  • the information about prediction among the information decoded by the entropy decoding unit 310 is provided to the prediction unit 330, and the residual value on which the entropy decoding is performed in the entropy decoding unit 310, that is, the quantized transform coefficient is a rearrangement unit ( 321) can be entered.
  • the reordering unit 321 may rearrange the quantized transform coefficients in a two-dimensional block form.
  • the reordering unit 321 may perform reordering in response to coefficient scanning performed by the encoding apparatus.
  • the rearrangement unit 321 has been described as a separate configuration, the rearrangement unit 321 may be a part of the inverse quantization unit 322 .
  • the inverse quantizer 322 may inverse quantize the quantized transform coefficients based on the (inverse) quantization parameter to output the transform coefficients.
  • information for deriving the quantization parameter may be signaled from the encoding device.
  • the inverse transform unit 323 may inverse transform the transform coefficients to derive residual samples.
  • the prediction unit 330 may perform prediction on the current block and generate a predicted block including prediction samples for the current block.
  • a unit of prediction performed by the prediction unit 330 may be a coding block, a transform block, or a prediction block.
  • the prediction unit 330 may determine whether to apply intra prediction or inter prediction based on the information on the prediction.
  • a unit for determining which one of intra prediction and inter prediction is applied and a unit for generating a prediction sample may be different.
  • units for generating prediction samples in inter prediction and intra prediction may also be different.
  • which one of inter prediction and intra prediction is to be applied may be determined in units of CUs.
  • a prediction mode may be determined in units of PUs and a prediction sample may be generated
  • intra prediction a prediction mode may be determined in units of PUs and a prediction sample may be generated in units of TUs.
  • the prediction unit 330 may derive a prediction sample for the current block based on neighboring reference samples in the current picture.
  • the prediction unit 330 may derive a prediction sample for the current block by applying a directional mode or a non-directional mode based on the neighboring reference samples of the current block.
  • the prediction mode to be applied to the current block may be determined by using the intra prediction mode of the neighboring block.
  • the prediction unit 330 may derive a prediction sample for the current block based on a sample specified on the reference picture by a motion vector on the reference picture.
  • the prediction unit 330 may derive a prediction sample for the current block by applying any one of a skip mode, a merge mode, and an MVP mode.
  • motion information necessary for inter prediction of the current block provided by the video encoding apparatus for example, information about a motion vector, a reference picture index, etc., may be obtained or derived based on the information about the prediction.
  • motion information of a neighboring block may be used as motion information of the current block.
  • the neighboring block may include a spatial neighboring block and a temporal neighboring block.
  • the prediction unit 330 may construct a merge candidate list with motion information of available neighboring blocks, and use information indicated by a merge index on the merge candidate list as a motion vector of the current block.
  • the merge index may be signaled from the encoding device.
  • the motion information may include a motion vector and a reference picture. When motion information of a temporal neighboring block is used in the skip mode and the merge mode, the highest picture on the reference picture list may be used as the reference picture.
  • the difference (residual) between the predicted sample and the original sample is not transmitted.
  • the motion vector of the current block may be derived by using the motion vector of the neighboring block as a motion vector predictor.
  • the neighboring block may include a spatial neighboring block and a temporal neighboring block.
  • a merge candidate list may be generated using a motion vector of a reconstructed spatial neighboring block and/or a motion vector corresponding to a Col block that is a temporal neighboring block.
  • the motion vector of the candidate block selected from the merge candidate list is used as the motion vector of the current block.
  • the prediction information may include a merge index indicating a candidate block having an optimal motion vector selected from among candidate blocks included in the merge candidate list.
  • the prediction unit 330 may derive the motion vector of the current block by using the merge index.
  • a motion vector predictor candidate list is generated using a motion vector of a reconstructed spatial neighboring block and/or a motion vector corresponding to a col block that is a temporal neighboring block.
  • a motion vector of a reconstructed spatial neighboring block and/or a motion vector corresponding to a col block that is a temporal neighboring block may be used as a motion vector candidate.
  • the prediction information may include a prediction motion vector index indicating an optimal motion vector selected from motion vector candidates included in the list.
  • the prediction unit 330 may select a prediction motion vector of the current block from among motion vector candidates included in the motion vector candidate list by using the motion vector index.
  • the prediction unit of the encoding apparatus may obtain a motion vector difference (MVD) between the motion vector of the current block and the motion vector predictor, encode it and output it in the form of a bitstream. That is, the MVD may be obtained by subtracting the motion vector predictor from the motion vector of the current block.
  • the prediction unit 330 may obtain a motion vector difference included in the prediction-related information, and derive the motion vector of the current block by adding the motion vector difference and the motion vector predictor.
  • the prediction unit may also obtain or derive a reference picture index indicating a reference picture from the information about the prediction.
  • the adder 340 may reconstruct the current block or the current picture by adding the residual sample and the prediction sample.
  • the adder 340 may reconstruct the current picture by adding the residual sample and the prediction sample in units of blocks.
  • the prediction sample may be the reconstructed sample.
  • the adder 340 is described as a separate configuration, but the adder 340 may be a part of the predictor 330 . Meanwhile, the adder 340 may be referred to as a restoration unit or a restoration block generator.
  • the filter unit 350 may apply a deblocking filtering sample adaptive offset and/or ALF to the reconstructed picture.
  • the sample adaptive offset may be applied in units of samples or may be applied after deblocking filtering.
  • ALF may be applied after deblocking filtering and/or sample adaptive offset.
  • the memory 360 may store a reconstructed picture (a decoded picture) or information necessary for decoding.
  • the reconstructed picture may be a reconstructed picture whose filtering procedure has been completed by the filter unit 350 .
  • the memory 360 may store pictures used for inter prediction.
  • pictures used for inter prediction may be designated by a reference picture set or a reference picture list.
  • the reconstructed picture may be used as a reference picture for other pictures.
  • the memory 360 may output the restored pictures according to the output order.
  • the image decoding method may include entropy decoding, inverse quantization, inverse transform, and intra/inter prediction processes.
  • the reverse process of the encoding method may be performed.
  • quantized transform coefficients may be obtained through entropy decoding of the bitstream, and a coefficient block of the current block, ie, transform coefficients, may be obtained through an inverse quantization process for the quantized transform coefficients.
  • a residual block of the current block may be derived through inverse transform on the transform coefficients, and the prediction block of the current block derived through intra/inter prediction is added to the residual block of the current block
  • a reconstructed block may be derived.
  • Floor(x) may represent a maximum integer value less than or equal to x
  • Log2(u) may represent a log value based on 2 of u
  • Ceil(x) is greater than or equal to x It can represent the minimum integer value. For example, in the case of Floor(5.93), since the maximum integer value less than or equal to 5.93 is 5, it may represent 5.
  • x>>y may represent an operator for right shifting x y times
  • x ⁇ y may represent an operator for left shifting x y times.
  • the HEVC standard proposes two types of screen division methods.
  • Slice Provides a function to encode/decode a single image by dividing it into CTU (coding tree unit) units in the order of raster scan order, and slice header information is exist.
  • CTU coding tree unit
  • Tile Provides a function for encoding/decoding one image by dividing it into a plurality of columns and rows in units of CTUs.
  • the division method can be either equal division or individual division. A header for a tile does not exist separately.
  • a slice becomes a bit-stream packing unit. That is, one slice may be generated as one network abstraction layer (NAL) bit stream.
  • NAL network abstraction layer
  • a NAL packet for a slice is configured in the order of a NAL header, a slice header, and slice data.
  • NUT NAL unit type
  • Table 2 shows NUTs for slices proposed by the HEVC standard according to an embodiment.
  • NUTs for an inter slice in which inter prediction is performed are numbered 0 to 9
  • NUTs for an intra slice in which intra prediction is performed are numbers 16 to 21.
  • the inter-slice means that it is encoded by the inter prediction method
  • the intra slice means that it is encoded by the intra-prediction method.
  • One slice is defined to have one NUT, and a plurality of slices in one picture may all be set to have the same NUT value. For example, if one picture is divided into 4 slices and encoded using an intra prediction method, the NUT values for all 4 slices in the picture may be equally set to “19: IDR_W_RADL”.
  • IRAP Intra Random Access Point
  • An intra slice can exist only as an I slice type.
  • Inter-slice may be divided into P slices or B slices according to unidirectional prediction (P: predictive) or bi-predictive (B: bi-predictive).
  • P predictive
  • B bi-predictive
  • Prediction and encoding processes are performed in a group of picture (GOP) unit, and the HEVC standard performs encoding/decoding processes including prediction using a hierarchical GOP structure.
  • 6 shows an example of a hierarchical GOP structure, and each picture is divided into I, P, or B pictures (slice) according to a prediction method.
  • IRAP denotes an intra slice
  • B and P denote an inter slice
  • LP leading picture
  • RADL an LP that can be decoded
  • RASL an LP that cannot be decoded during random access and needs to skip a restoration process of a corresponding picture
  • pictures of the same color are defined as one GOP.
  • RASL refers to an inter-picture in which a reconstructed picture in another GOP is used as a reference picture in addition to the corresponding GOP, or a picture reconstructed by using a reconstructed picture in another GOP as a reference picture is used as a reference picture.
  • the restored picture in another GOP is used as a reference picture (directly or indirectly), it is called an open GOP.
  • RASL and RADL are set as NUT information for the corresponding inter slice.
  • a NUT for an intra slice is divided into different intra slice NUTs according to a NUT of an inter slice preceding and/or following in a reproduction order and/or a restoration order of the corresponding intra slice.
  • IDR can be divided into IDR_W_RADL with RADL and IDR_N_LP without LP. That is, IDR is a type that does not have an LP or a type that has only RADL among LPs, and an IDR cannot have RASL.
  • CRA is a type that can have both RADL and/or RASL among LPs. That is, CRA is a type that can support open GOP.
  • reference picture information for the corresponding intra slice is not required.
  • the reference picture is used for inter prediction.
  • the reference picture information is not for use in the corresponding CRA slice, but information on the reference picture scheduled to be used in the inter-slice after the corresponding CRA (in the restoration order). This is so that the reference picture is not removed from a decoded picture buffer (DPB).
  • DPB decoded picture buffer
  • FIG. 10 is a diagram illustrating syntax for a slice segment header. As shown in FIG. 10 , if the NUT of the corresponding slice is not IDR, reference picture information may be described in the bitstream. That is, if the NUT of the slice is CRA, reference picture information may be described.
  • the present invention provides a subpicture division method for compositing with other sequences and a slice division method for bitstream packing.
  • a slice means an encoding/decoding region, and is a data packing unit generating one NAL bitstream. For example, one picture is divided into a plurality of slices, and each slice is generated as one NAL packet through an encoding process.
  • a sub picture is a region division for synthesis with other contents.
  • 11 shows an example of composition with other content.
  • the white region and the gray region may constitute one subpicture as one slice, and two slices may constitute one subpicture in the black region. That is, one subpicture may include at least one slice.
  • BEAMer Bit-stream Extractor And Merger extracts regions from different contents in units of sub-pictures and synthesizes them.
  • the image synthesized in FIG. 11 may be divided into 4 slices and composed of 3 sub pictures.
  • One sub picture means a region having the same sub picture ID and/or sub picture index value.
  • at least one slice having the same subpicture ID and/or subpicture index value may be referred to as one subpicture region.
  • a subpicture ID and/or a subpicture index value are included in the slice header information.
  • Subpicture index values may be set in a raster-scan order. 12 shows an example in which one picture is composed of six (square) slices and four (by color) sub-picture regions.
  • “A”, “B”, “C”, and “D” represent examples of subpicture IDs
  • “0” and “1” represent slice addresses in the corresponding subpicture.
  • the slice address value is the slice index value in the raster scan order in the corresponding subpicture.
  • “B-0” denotes the 0th slice in the B subpicture
  • “B-1” denotes the 1st slice in the B subpicture.
  • NUT values for two or more sub-pictures constituting one image may be different.
  • a white subpicture (slice) in one image may be an intra slice
  • a gray subpicture (slice) and a black subpicture (slice) may be an inter slice.
  • the corresponding function may be referred to as a mixed NAL Unit Type in a picture in a single picture, and may simply be referred to as a mixed NUT.
  • mixed_nalu_type_in_pic_flag By adding mixed_nalu_type_in_pic_flag, it is possible to set enable/disable of a corresponding function.
  • the corresponding flag may be defined in one or more positions of a sequence parameter set (SPS), a picture parameter set (PPS), a picture header (PH), and a slice header (SH).
  • SPS sequence parameter set
  • PPS picture parameter set
  • PH picture header
  • SH slice header
  • NUTs for all subpictures and/or slices in the corresponding picture may have the same value.
  • NUTs for all video coding layer (VCL) NAL units for one picture may be set to have the same value.
  • VCL means a NAL type for a slice including a slice data value.
  • the NUT (eg first NUT) of any one VCL NAL unit (eg first NAL unit) of the picture is any one of IDR_W_RADL, IDR_N_LP, or CRA_NUT
  • another VCL NAL unit (eg the first NAL unit) of the picture may be limited to be set to any one of IDR_W_RADL, IDR_N_LP, CRA_NUT, or TRAIL_NUT.
  • the second NUT may be limited to be set to one of the first NUT and TRAIL_NUT.
  • VCL NAL units of the corresponding picture have at least two different NUT values will be described with reference to FIGS. 12 and 13 .
  • two or more sub-pictures may have two or more different NUT values.
  • NUT values for all slices included in one subpicture may be limited to be the same.
  • the NUT values for two slices in the B subpicture of FIG. 12 may be set to the same CRA, and the NUT values for the two slices in the C subpicture are also set to TRAIL.
  • the same may be set, and the A, B, C, and D subpictures may be set to have at least two different NUT values.
  • the NUT values for the slices in the A, C, and D subpictures may be set as TRAIL to have a different NUT value from the CRA, which is the NUT of the B subpicture.
  • the NUT for the intra slice and the inter slice may be specified as shown in Table 3.
  • definitions and functions for RADL, RASL, IDR, CRA, etc. may be set to be the same as in the HEVC standard (Table 1).
  • Table 3 a hybrid NUT type is added.
  • the disable value (eg 0) of mixed_nalu_type_in_pic_flag indicates the NUT for the slice in the picture (same as HEVC)
  • the enable value (eg 1) of the mixed_nalu_type_in_pic_flag indicates the NUT for the slice in the subpicture.
  • the NUT of the current picture may be identified as TRAIL_NUT, and the NUT of other subpictures belonging to the current picture may also be derived as TRAIL_NUT.
  • the NUT of the current subpicture may be identified as TRAIL_NUT, and it is predicted that at least one NUT among other subpictures belonging to the current picture is not TRAIL_NUT can be
  • any one VCL NAL unit (eg first NAL unit) belonging to one picture is IDR_W_RADL, IDR_N_LP, or CRA_NUT
  • at least one VCL NAL unit (eg second NAL unit) among other VCL NAL units of the corresponding picture is a NUT (eg second NUT) among IDR_W_RADL, IDR_N_LP, CRA_NUT, or TRAIL_NUT It may have any one NUT value other than the first NUT.
  • the VCL NAL unit (eg the first NAL unit) for the first subpicture belonging to one picture has any one of IDR_W_RADL, IDR_N_LP, and CRA_NUT as the NUT (eg the first NUT)
  • the VCL NAL unit (eg the second NAL unit) for the second subpicture of may have a value of any one of IDR_W_RADL, IDR_N_LP, CRA_NUT, or TRAIL_NUT other than the first NUT as a NUT (eg second NUT).
  • the NUT value of the VCL NAL unit for two or more subpictures may be configured as follows. The following description is merely an example and is not limited thereto.
  • Combination 1 is an embodiment in which at least one subpicture in a picture has an IRAP (IDR or CRA) NUT value, while at least one other subpicture has a non-IRAP (inter slice) NUT value.
  • IDR or CRA IRAP
  • inter slice inter slice
  • a value other than LP RASL and RADL
  • LP RASL or RADL
  • RASL and RADL RASL or RADL
  • it may be restricted so that RASL and RADL subpictures are not encoded in the bitstream associated with the IDR or CRA subpicture.
  • only the TRAIL value may be allowed as the inter-slice NUT value.
  • all inter-slice VCL NUTs may be allowed as inter-slice NUT values.
  • Combination 2 is an embodiment in which at least one sub-picture in a picture has a non-IRAP (inter-slice) NUT value, while at least one other sub-picture has a different non-IRAP (inter-slice) NUT value.
  • at least one subpicture may have a RASL NUT value and at least one other subpicture may have a RADL NUT value.
  • the following restrictions may be applied depending on the embodiment.
  • LP RASL and RADL
  • TRAIL non-LP
  • the NUT of at least one subpicture is RASL (or RADL)
  • the NUT of the other at least one subpicture cannot be TRAIL.
  • RASL or RADL may be used as the NUT of at least one other subpicture.
  • the leading subpicture of an IRAP subpicture may be coerced to be a RADL or RASL subpicture.
  • LP RASL and RADL
  • TRAIL non-LP
  • at least one sub-picture may be RASL (or RADL)
  • at least one other sub-picture may be TRAIL.
  • all subpictures may have the same inter-slice NUT value.
  • all sub-pictures in a picture may have a TRAIL NUT value.
  • all sub-pictures in a picture may have a RASL (or RADL) NUT value.
  • Combination 3 represents an embodiment in which all subpictures or slices in a picture are configured with IRAP.
  • the NUT value for the slice in the first subpicture is IDR_W_RADL, IDR_N_LP, or CRA_NUT
  • the NUT value for the slice in the second subpicture is not the NUT of the first subpicture among IDR_W_RADL, IDR_N_LP, and CRA_NUT It can consist of values.
  • a NUT value for a slice within at least one subpicture may be IDR
  • a NUT value for a slice within another at least one subpicture may be configured as a CRA.
  • all pictures belonging to an IRAP or GDR access unit may be restricted to have the same NUT. That is, when the current access unit is an IRAP access unit configured only with IRAP pictures or the current access unit is a GDR access unit configured only with GDR pictures, pictures belonging to the current access unit may be restricted to have the same NUT. For example, while the NUT value for a slice within at least one subpicture is IDR, it may be restricted so that the NUT value for a slice within another at least one subpicture is not configured as a CRA.
  • At least one subpicture in the corresponding picture may be restricted to have a NUT value for non-IRAP (inter slice). For example, it may be restricted so that all subpictures in the corresponding picture cannot have the NUT value for IDR in the encoding and decoding process. Alternatively, it may be restricted so that some subpictures in the corresponding picture have a NUT value for IDR and other subpictures do not have a CRA NUT value.
  • mixed_nalu_type_in_pic_flag when the value of mixed_nalu_type_in_pic_flag indicates that the mixed NUT is applied, one picture may be divided into at least two subpictures. Accordingly, information on the sub-picture for the corresponding picture may be signaled through the bitstream.
  • mixed_nalu_type_in_pic_flag may indicate whether the current picture is split. For example, when a value of mixed_nalu_type_in_pic_flag indicates that a mixed NUT is applied, it may indicate that the current picture is split.
  • FIG. 14 is a diagram illustrating an embodiment of a syntax of a picture parameter set (PPS).
  • a flag e.g. pps_no_pic_partition_flag
  • a value indicating the enable of pps_no_pic_partition_flag may indicate that picture partitioning is not applied to pictures referring to the current PPS.
  • a value e.g.
  • pps_no_pic_partition_flag may indicate that picture division using a slice or a tile can be applied to pictures referring to the current PPS.
  • the value of pps_no_pic_partition_flag may be forced to a value indicating disable (e.g. 0).
  • pps_no_pic_partition_flag indicates that the current picture can be divided
  • information on the number of sub pictures e.g. pps_num_subpics_minus1
  • pps_num_subpics_minus1 may represent a value obtained by subtracting 1 from the number of subpictures included in the current picture.
  • the value of pps_num_subpics_minus1 may be derived from 0 without being obtained from the bitstream. According to the determined information on the number of subpictures, encoding information for each subpicture may be signaled as much as the number of subpictures included in one picture.
  • a subpicture identifier (e.g. pps_subpic_id) for identifying each subpicture and/or a flag indicating whether the encoding/decoding process of each subpicture is independent (subpic_treated_as_pic_flag[ i ]) may be designated and signaled.
  • the hybrid NUT can be applied when one picture consists of two or more sub pictures.
  • a flag (subpic_treated_as_pic_flag[ i ]) indicating whether the encoding/decoding process of each subpicture is independent as much as the number (i) of the subpictures included in one picture may be designated and signaled.
  • the corresponding subpicture may refer to another subpicture in the picture during the inter prediction process.
  • a separate flag may be placed to control whether the in-loop filter process is independent or referenced.
  • the corresponding flag (subpic_treated_as_pic_flag) may be defined in one or more positions of SPS, PPS, and PH.
  • the corresponding flag may be named sps_subpic_treated_as_pic_flag.
  • each subpicture in the picture is independently It may have to be encoded/decoded.
  • mixed_nalu_type_in_pic_flag 1
  • the subpic_treated_as_pic_flag values of all sub pictures in the picture are set to “1” or derived from “1”. Being can be forced.
  • mixed_nalu_type_in_pic_flag 1 if the NUT of the current picture is RASL, the subpic_treated_as_pic_flag for the current picture may be forced to be set to “1”.
  • mixed_nalu_type_in_pic_flag 1 if the NUT of the current picture is RADL and the NUT of the referenced picture is RASL, the subpic_treated_as_pic_flag for the current picture may be forced to “1”.
  • the hybrid NUT function may restrict that all subpictures (or slices) in one picture are configured with IRAP.
  • the flag (gdr_or_irap_pic_flag) may be defined in one or more positions of SPS, PPS, and PH.
  • At least one subpicture in one picture has an IRAP (IDR or CRA) NUT value, while at least one other subpicture has a non-IRAP (inter slice) NUT value.
  • IDR IDR
  • inter slice non-IRAP
  • an intra slice and an inter slice may exist simultaneously in one picture.
  • the DPB is reset. Accordingly, all reconstructed pictures existing in the DPB at the time point are removed.
  • RPL reference picture information
  • the flag may be defined in one or more positions of SPS, PPS, and PH.
  • the flag when the flag is defined in the SPS, the flag may be named sps_idr_rpl_present_flag.
  • slice header information may be signaled using the syntax of the slice header of FIG. 15 .
  • the first value e.g.
  • sps_idr_rpl_present_flag may indicate that the RPL syntax element is not provided by the slice header of a slice whose NUT is IDR_N_LP or IDR_W_RADL.
  • a second value (e.g. 1) of sps_idr_rpl_present_flag may indicate that the RPL syntax element may be provided by a slice header of a slice whose NUT is IDR_N_LP or IDR_W_RADL.
  • the value of pps_no_pic_partition_flag when the value of mixed_nalu_type_in_pic_flag indicates that the mixed NUT is applied, the value of pps_no_pic_partition_flag may be forced to a value indicating disable (e.g. 0). And accordingly, the value of the flag (pps_rpl_info_in_ph_flag) indicating whether RPL information is provided in the picture header may be obtained from the bitstream. If pps_rpl_info_in_ph_flag indicates enable (e.g.
  • RPL information may be obtained from the picture header as shown in FIGS. 16 and 17 .
  • RPL information may be obtained irrespective of the type of the corresponding picture.
  • pps_rpl_info_in_ph_flag indicates disable (e.g. 0)
  • RPL information cannot be obtained from the picture header.
  • pps_rpl_info_in_ph_flag when the value of pps_rpl_info_in_ph_flag is “0”, the slice NUT is IDR_N_LP or IDR_W_RADL, and the value of sps_idr_rpl_present_flag is “0”, RPL information of the corresponding slice cannot be obtained. That is, since there is no RPL information of the corresponding slice, the RPL information may be initialized and induced to be empty.
  • one picture may be signaled by heterogeneous NAL units.
  • NAL units having different NUTs can be used to signal one picture, a method for determining the type of a picture according to the type of the NAL unit is required. Accordingly, during random access (RA), it may be determined whether a corresponding picture is normally restored and output is possible.
  • RA random access
  • the corresponding picture when each VCL NAL unit corresponding to one picture is a CRA_NUT type NAL unit, the corresponding picture may be determined as a CRA picture. And, when each VCL NAL unit corresponding to one picture is an IDR_W_RADL or an IDR_N_LP type NAL unit, the corresponding picture may be determined as an IDR picture. And, when each VCL NAL unit corresponding to one picture is an IDR_W_RADL, IDR_N_LP, or CRA_NUT type NAL unit, the corresponding picture may be determined as an IRAP picture.
  • each VCL NAL unit corresponding to one picture is a RADL_NUT type NAL unit
  • the corresponding picture may be determined as a random access decodable leading (RADL) picture.
  • each VCL NAL unit corresponding to one picture is a TRAIL_NUT type NAL unit
  • the corresponding picture may be determined as a trailing picture.
  • the type of at least one VCL NAL unit among VCL NAL units corresponding to one picture is the RASL_NUT type and the types of all other VCL NAL units are the RASL_NUT type or the RADL_NUT type
  • the corresponding picture is a random access skipped leading (RASL) type. ) may be determined as a picture.
  • the corresponding picture when at least one subpicture in one picture is RASL and the other at least one subpicture is RADL, the corresponding picture may be determined as a RASL picture.
  • the corresponding picture when at least one subpicture in one picture is RASL and the other at least one subpicture is RADL, the corresponding picture may be set as a RASL picture during the decoding process.
  • the type of the VCL NAL unit corresponding to the subpicture is RASL_NUT
  • the subpicture may be determined to be RASL. Accordingly, during RA, both the RASL subpicture and the RADL subpicture may be treated as RASL pictures, and accordingly, the corresponding picture may not be output.
  • the corresponding picture may be set as a RASL picture.
  • the corresponding picture may be set as a RASL picture during the decoding process. Accordingly, during RA, the corresponding picture may be treated as a RASL picture, and the corresponding picture may not be output.
  • RA generation may be determined as the NoOutputBeforeRecoveryFlag value of the (related) IRAP picture associated with the corresponding inter slice (RADL, RASL, or TRAIL).
  • the corresponding flag value may be set as follows for IRAP.
  • NoOutputBeforeRecoveryFlag is set to “1”
  • NoOutputBeforeRecoveryFlag is set to “0”
  • the decoding apparatus may receive a signal of occurrence of random access from an external terminal.
  • the external terminal may signal the random access occurrence to the decoding device by setting the value of the random access occurrence information to 1 and signaling to the decoding device.
  • the decoding apparatus may set the value of the flag HandleCraAsClvsStartFlag indicating whether random access occurrence is received from the external terminal to 1 according to the random access occurrence information received from the external terminal.
  • the decryption apparatus may set the value of NoOutputBeforeRecoveryFlag to the same value as the value of HandleCraAsClvsStartFlag.
  • the decoding apparatus determines that random access has occurred for the corresponding CRA picture, or treats the CRA as located at the beginning of the bitstream to perform decoding can be done
  • a process of setting a flag (PictureOutputFlag) for determining whether or not a current picture is output during RA is as follows.
  • the PictureOutputFlag for the current picture may be set according to the following order.
  • the first value (e.g. 0) of PictureOutputFlag may indicate that the current picture is not output.
  • the second value (e.g. 1) of PictureOutputFlag may indicate that the current picture is output.
  • pic_output_flag may be obtained at one or more positions of PH and SH.
  • 18 shows an example of the synthesis of three different contents presented in the present invention.
  • 18-(a) shows sequences for three different contents, and for convenience, one picture is shown as one packet, but one picture is divided into multiple slices so that multiple packets may exist.
  • 18-(b) and 18-(c) show the result of the synthesized image for the picture indicated by the dotted line in FIG. 18-(a).
  • the same color means the same picture/subpicture/slice.
  • the P slice and the B slice may have one value among the inter NUTs.
  • the contents when synthesizing a plurality of contents through the present invention, the contents can be synthesized quickly and easily without delay by simply matching the hierarchical GOP structure without necessarily aligning the intra slice (picture) positions equally. have.
  • 19 and 20 are flowcharts illustrating a decoding method and an encoding method according to an embodiment of the present invention.
  • An image decoding apparatus may include a memory and at least one processor, and the following decoding method may be performed by the operation of the processor.
  • the decoding apparatus may obtain NAL unit type information indicating the type of the current network abstraction layer (NAL) unit from the bitstream (S1910).
  • the decoding apparatus determines whether a mixed NAL unit type is applied to the current picture.
  • the slice may be decoded (S1920).
  • the decoding apparatus may perform decoding of the image slice by determining whether the NAL unit type of the current NAL unit indicates the property of a subpicture for the current image slice, based on whether the hybrid NAL unit type is applied. .
  • Whether the hybrid NAL unit type is applied may be identified based on a first flag (e.g. pps_mixed_nalu_types_in_pic_flag) obtained from a picture parameter set.
  • a first flag e.g. pps_mixed_nalu_types_in_pic_flag
  • the current picture to which the current image slice belongs may be divided into at least two subpictures.
  • decoding information for a subpicture may be included in the bitstream based on whether the hybrid NAL unit type is applied.
  • a second flag e.g. pps_no_pic_partition_flag
  • a third flag e.g pps_rpl_info_in_ph_flag
  • the value of the second flag (pps_no_pic_partition_flag) is forced to 0 as the current picture is forced to be divided into at least two subpictures, and the reference picture list information is stored in the picture header.
  • the current picture may be decoded based on the first subpicture and the second subpicture having different NAL unit types.
  • the NAL unit type of the first sub-picture has a value of any one of Instantaneous Decoding Refresh_With_Random Access Decodable Leading (IDR_W_RADL), Instantaneous Decoding Refresh_No reference_Leading Picture (IDR_N_LP), and Clean Random Access_NAL Unit Type (CRA_NUT)
  • An available NAL unit type selectable as a picture NUT may include a NAL unit type that is not selected in the first subpicture from among IDR_W_RADL, IDR_N_LP, and CRA_NUT.
  • the second sub-picture may include a Trail_NAL Unit Type (TRAIL_NUT).
  • TRAIL_NUT Trail_NAL Unit Type
  • the first subpicture and the second subpicture constituting the current picture may be independently decoded.
  • the first subpicture and the second subpicture including the B or P slice may be treated as one picture and decoded.
  • the first sub-picture may be decoded without using the second sub-picture as a reference picture.
  • a fourth flag (e.g. sps_subpic_treated_as_pic_flag) indicating whether the first subpicture is treated as a picture in the decoding process may be obtained from the bitstream.
  • the first subpicture is treated as a picture in the decoding process and may be decoded.
  • the fourth flag indicates that the first subpicture is treated as a picture in the decoding process.
  • the slice type belonging to the current picture must be intra.
  • the fourth flag indicates that the first subpicture is treated as a picture in the decoding process, it may be determined that the decoding process of the first subpicture is independent from other subpictures. For example, if the fourth flag indicates that the first subpicture is decoded independently from other subpictures during the decoding process, the first subpicture may be decoded without using the other subpictures as reference pictures.
  • the current picture may be determined as a RASL picture based on whether the second subpicture is a RADL (Random Access Decodable Leading) subpicture.
  • the type of the NAL unit corresponding to the first subpicture is RASL_NUT (Random Access Skipped Leading_NAL Unit Type)
  • the first subpicture may be determined as a RASL subpicture.
  • IDR_W_RADL Instantaneous
  • a fifth flag indicating whether reference picture list information for the IDR picture may be present in the slice header.
  • reference picture list information may be obtained from the bitstream regarding the slice header.
  • the fifth flag may be obtained from a bitstream related to the sequence parameter set.
  • An image encoding apparatus may include a memory and at least one processor, and an encoding method corresponding to the above-described decoding method may be performed by the operation of the processor. For example, when the current picture is encoded based on the hybrid NAL unit type, the encoding apparatus may determine the type of a subpicture into which the picture is divided ( S2010 ). Then, the encoding apparatus may generate a current NAL unit by encoding at least one current image slice constituting the subpicture based on the type of the subpicture ( S2020 ).
  • the encoding apparatus may encode the image slice by encoding the NAL unit type of the current NAL unit to indicate the property of a subpicture with respect to the current image slice.
  • the present invention can be embodied as computer-readable codes on a computer-readable recording medium (including all devices having an information processing function).
  • the computer-readable recording medium includes all types of recording devices in which data readable by a computer system is stored. Examples of computer-readable recording devices include ROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical data storage device.

Landscapes

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

Abstract

본 개시는 영상 복호화 장치가 수행하는 영상 복호화 방법을 개시한다. 일 실시 예에 따른 영상 복호화 방법은 비트스트림으로부터 현재 NAL(network abstraction layer) 유닛의 타입을 나타내는 NAL 유닛 타입 정보를 획득하는 단계; 및 상기 NAL 유닛 타입 정보가 상기 현재 NAL 유닛의 NAL 유닛 타입이 영상 슬라이스에 대한 부호화 데이터임을 나타내는 경우, 현재 픽처에 혼성 NAL 유닛 타입(mixed NAL unit type)이 적용되는지 여부에 기반하여 상기 영상 슬라이스를 복호화 하는 단계를 포함할 수 있다.

Description

영상의 복호화 방법 및 장치
본 발명은 다른 시퀀스 들과의 합성을 위한 서브 픽처 분할 방법 및 비트스트림 패킹을 위한 슬라이스 분할 방법에 관한 것이다.
고해상도, 고품질 영상에 대한 사용자 수요가 증가하고 있다. 고해상도 영상의 부호화 데이터는 저해상도 또는 중해상도 영상의 부호화 데이터 보다 많은 정보량을 가짐에 따라, 이를 전송하거나 저장하기 위한 비용이 증가하게 된다.
이와 같은 문제를 해결하기 위하여 고해상도 영상의 부호화 데이터량을 효과적으로 줄이기 위한 부호화 및 복호화 방법의 연구가 계속되고 있다.
본 명세서는 다른 시퀀스들과의 합성을 위한 서브 픽처 분할 방법 및 비트 스트림 패킹을 위한 슬라이스 분할 방법을 제시한다.
상기한 문제를 해결하기 위한, 본 발명의 일 실시 예에 따른 영상 복호화 장치가 수행하는 영상 복호화 방법은 비트스트림으로부터 현재 NAL(network abstraction layer) 유닛의 타입을 나타내는 NAL 유닛 타입 정보를 획득하는 단계; 및 상기 NAL 유닛 타입 정보가 상기 현재 NAL 유닛의 NAL 유닛 타입이 영상 슬라이스에 대한 부호화 데이터임을 나타내는 경우, 현재 픽처에 혼성 NAL 유닛 타입(mixed NAL unit type)이 적용되는지 여부에 기반하여 상기 영상 슬라이스를 복호화 하는 단계를 포함한다. 여기서, 상기 영상 슬라이스를 복호화 하는 단계는, 상기 혼성 NAL 유닛 타입이 적용되는지 여부에 기반하여 상기 현재 NAL 유닛의 NAL 유닛 타입이 상기 현재 영상 슬라이스에 대한 서브 픽처의 속성을 나타내는지 여부를 결정함으로써 수행될 수 있다.
또한, 상기한 문제를 해결하기 위한 본 발명의 일 실시 예에 따른 영상 복호화 장치는 메모리 및 적어도 하나의 프로세서를 포함하는 영상 복호화 장치로서, 상기 적어도 하나의 프로세서는, 비트스트림으로부터 현재 NAL(network abstraction layer) 유닛의 타입을 나타내는 NAL 유닛 타입 정보를 획득하고, 상기 NAL 유닛 타입 정보가 상기 현재 NAL 유닛의 NAL 유닛 타입이 영상 슬라이스에 대한 부호화 데이터임을 나타내는 경우, 현재 픽처에 혼성 NAL 유닛 타입이 적용되는지 여부에 기반하여 상기 영상 슬라이스를 복호화할 수 있다. 이때, 상기 영상 슬라이스의 복호화는, 상기 혼성 NAL 유닛 타입이 적용되는지 여부에 기반하여 상기 현재 NAL 유닛의 NAL 유닛 타입이 상기 현재 영상 슬라이스에 대한 서브 픽처의 속성을 나타내는지 여부를 결정함으로써 수행될 수 있다.
또한, 상기한 문제를 해결하기 위한 본 발명의 일 실시 예에 따른 영상 부호화 장치가 수행하는 영상 부호화 방법은 현재 픽처가 혼성 NAL 유닛 타입에 기반하여 부호화되는 경우, 상기 픽처를 분할하는 서브 픽처의 타입을 결정하는 단계; 및 상기 서브 픽처의 타입에 기반하여 상기 서브 픽처를 구성하는 적어도 하나의 현재 영상 슬라이스를 부호화하여 현재 NAL 유닛을 생성하는 단계를 포함할 수 있다. 여기서, 상기 영상 슬라이스를 부호화 하는 단계는, 상기 현재 픽처가 상기 혼성 NAL 유닛 타입에 기반하여 부호화되는 경우 상기 현재 NAL 유닛의 NAL 유닛 타입이 상기 현재 영상 슬라이스에 대한 서브 픽처의 속성을 나타내도록 부호화함으로써 수행될 수 있다.
또한, 상기한 문제를 해결하기 위한 본 발명의 일 실시 예에 따른 전송 방법은, 본 개시의 영상 부호화 장치 또는 영상 부호화 방법에 의해 생성된 비트스트림을 전송할 수 있다.
또한, 상기한 문제를 해결하기 위한 본 발명의 일 실시 예에 따른 컴퓨터 판독 가능한 기록 매체는, 본 개시의 영상 부호화 방법 또는 영상 부호화 장치에 의해 생성된 비트스트림을 저장할 수 있다.
본 발명은 여러 다른 시퀀스들과의 합성을 통해 하나의 픽처를 생성하는 방법을 제시한다. 시퀀스 내 픽처는 다수 개의 서브-픽처로 분할되고, 다른 픽처들의 분할된 서브 픽처를 합성하여 새로운 픽처를 생성한다.
본 발명의 적용에 따라 하나의 픽처를 구성하는 2개 이상의 서브 픽처에 대한 NAL (network abstraction layer) 유닛 타입 값이 서로 상이할 수 있다. 이는, 서로 다른 컨텐츠 합성 시에 한 장의 이미지를 구성하는 다수 개의 서브 픽처의 NUT을 동일하게 맞출 필요가 없기 때문에 용이하게 이미지를 구성/합성할 수 있는 장점을 가진다.
도 1은 본 발명이 적용될 수 있는 비디오 인코딩 장치의 구성을 개략적으로 나타내는 도면이다.
도 2는 비디오 인코딩 장치에 의하여 수행되는 영상 인코딩 방법의 일 예를 나타내는 도면이다.
도 3은 본 발명이 적용될 수 있는 비디오 디코딩 장치의 구성을 개략적으로 나타내는 도면이다.
도 4는 디코딩 장치에 의하여 수행되는 영상 디코딩 방법의 일 예를 나타내는 도면이다.
도 5는 슬라이스를 위한 NAL 패킷의 예시를 나타내는 도면이다.
도 6은 계층적 GOP 구조의 일례를 나타내는 도면이다.
도 7은 디스플레이 출력 순서 및 디코딩 순서의 일례를 나타내는 도면이다.
도 8은 리딩 픽처 및 노말 픽처의 일례를 나타내는 도면이다.
도 9는 RASL 픽처 및 RADL 픽처의 일례를 나타내는 도면이다.
도 10은 슬라이스 세그먼트 헤더에 대한 신택스를 도시하는 도면이다.
도 11은 컨텐츠 합성 과정의 일례를 나타내는 도면이다.
도 12는 서브 픽처 ID 및 슬라이스 주소의 일례를 나타내는 도면이다.
도 13은 서브 픽처 / 슬라이스 별 NUT의 일례를 나타내는 도면이다.
도 14는 픽처 파라미터 셋(PPS)의 신택스에 대한 일 실시 예를 도시하는 도면이다.
도 15는 슬라이스 헤더의 신택스에 대한 일 실시 예를 도시하는 도면이다.
도 16은 픽처 헤더 스트럭처의 신택스를 도시하는 도면이다.
도 17은 참조 픽처 리스트를 획득하기 위한 신택스를 도시하는 도면이다.
도 18은 컨텐츠 합성 일례를 나타내는 도면이다.
도 19와 도 20은 본 발명의 일 실시 예에 따른 복호화 방법과 부호화 방법을 설명하는 순서도를 나타낸다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정 실시예에 한정하려고 하는 것이 아니다. 본 명세서에서 사용하는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명의 기술적 사상을 한정하려는 의도로 사용되는 것은 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서 "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
한편, 본 발명에서 설명되는 도면상의 각 구성들은 서로 다른 특징적인 기능들에 관한 설명의 편의를 위해 독립적으로 도시된 것으로서, 각 구성들이 서로 별개의 하드웨어나 별개의 소프트웨어로 구현된다는 것을 의미하지는 않는다. 예컨대, 각 구성 중 두 개 이상의 구성이 합쳐져 하나의 구성을 이룰 수도 있고, 하나의 구성이 복수의 구성으로 나뉘어질 수도 있다. 각 구성이 통합 및/또는 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성 요소에 대해서는 동일한 참조 부호를 사용하고 동일한 구성 요소에 대해서 중복된 설명은 생략한다.
한편, 본 발명은 비디오/영상 코딩에 관한 것이다. 예를 들어, 본 발명에서 개시된 방법/실시예는 VVC (versatile video coding) 표준, EVC (Essential Video Coding) 표준, AV1 (AOMedia Video 1) 표준, AVS2 (2nd generation of audio video coding standard) 또는 차세대 비디오/이미지 코딩 표준(예를 들어, H.267, H.268 등)에 개시된 방법에 적용될 수 있다.
본 명세서에서 엑세스 유닛(Access unit; AU)은 DPB(Decoded picture buffer)에서 동일한 시간에 출력되는 서로 다른 레이어에 속한 복수의 픽처 셋을 나타내는 단위를 의미한다. 픽처(picture)는 일반적으로 특정 시간대의 하나의 영상을 나타내는 단위를 의미하며, 슬라이스(slice)는 코딩에 있어서 픽처의 일부를 구성하는 단위이다. 하나의 픽처는 복수의 슬라이스로 구성될 수 있으며, 필요에 따라서 픽처 및 슬라이스는 서로 혼용되어 사용될 수 있다.
픽셀(pixel) 또는 펠(pel)은 하나의 픽처(또는 영상)을 구성하는 최소의 단위를 의미할 수 있다. 또한, 픽셀에 대응하는 용어로서 '샘플(sample)'이 사용될 수 있다. 샘플은 일반적으로 픽셀 또는 픽셀의 값을 나타낼 수 있으며, 휘도(luma) 성분의 픽셀/픽셀값만을 나타낼 수도 있고, 채도(chroma) 성분의 픽셀/픽셀 값만을 나타낼 수도 있다.
유닛(unit)은 영상 처리의 기본 단위를 나타낸다. 유닛은 픽처의 특정 영역 및 해당 영역에 관련된 정보 중 적어도 하나를 포함할 수 있다. 유닛은 경우에 따라서 블록(block) 또는 영역(area) 등의 용어와 혼용하여 사용될 수 있다. 일반적인 경우, MxN 블록은 M개의 열과 N개의 행으로 이루어진 샘플들 또는 변환 계수(transform coefficient)들의 집합을 나타낼 수 있다.
도 1은 본 발명이 적용될 수 있는 비디오 인코딩 장치의 구성을 개략적으로 설명하는 도면이다.
도 1을 참조하면, 비디오 인코딩 장치(100)는 픽처 분할부(105), 예측부(110), 레지듀얼 처리부(120), 엔트로피 인코딩부(130), 가산부(140), 필터부(150) 및 메모리(160)을 포함할 수 있다. 레지듀얼 처리부(120)는 감산부(121), 변환부(122), 양자화부(123), 재정렬부(124), 역양자화부(125) 및 역변환부(126)를 포함할 수 있다.
픽처 분할부(105)는 입력된 픽처를 적어도 하나의 처리 유닛(processing unit)으로 분할할 수 있다.
일 예로, 처리 유닛은 코딩 유닛(coding unit, CU)이라고 불릴 수 있다. 이 경우 코딩 유닛은 코딩 트리 유닛(Coding Tree Unit)으로부터 QTBT (Quad-tree binary-tree) 구조에 따라 재귀적으로(recursively) 분할될 수 있다. 예를 들어, 하나의 코딩 트리 유닛은 쿼드 트리 구조 및/또는 바이너리 트리 구조를 기반으로 하위(deeper) 뎁스의 복수의 노드들로 분할될 수 있다. 이 경우 예를 들어 쿼드 트리 구조가 먼저 적용되고 바이너리 트리 구조가 나중에 적용될 수 있다. 또는 바이너리 트리 구조가 먼저 적용될 수도 있다. 더 이상 분할되지 않는 노드에 대하여 복호화가 수행될 수 있으며, 이와 같이 더 이상 분할되지 않는 노드에 대하여 코딩 유닛이 결정될 수 있다. 코딩 트리 유닛은 코딩 유닛의 분할을 위한 단위인 점에서, 코딩 트리 유닛을 코딩 유닛으로 명명할 수도 있다. 이러한 경우, 코딩 트리 유닛의 분할에 의하여 코딩 유닛이 결정되는 점에서 코딩 트리 유닛을 최대 코딩 유닛(largest coding unit, LCU)이라 명명할 수도 있다.
이와 같이, 더 이상 분할되지 않는 최종 코딩 유닛을 기반으로 본 발명에 따른 코딩 절차가 수행될 수 있다. 이 경우 영상 특성에 따른 코딩 효율 등을 기반으로, 코딩 트리 유닛이 바로 최종 코딩 유닛으로 사용될 수 있고, 또는 필요에 따라 코딩 유닛은 재귀적으로(recursively) 보다 하위 뎁스의 코딩 유닛들로 분할되어 최적의 사이즈의 코딩 유닛이 최종 코딩 유닛으로 사용될 수 있다. 여기서 코딩 절차라 함은 후술하는 예측, 변환, 및 복원 등의 절차를 포함할 수 있다.
다른 예로, 처리 유닛은 코딩 유닛(coding unit, CU), 예측 유닛(prediction unit, PU) 또는 변환 유닛(transform unit, TU)을 포함할 수도 있다. 코딩 유닛은 코딩 트리 유닛으로부터 쿼드 트리 구조를 따라서 하위(deeper) 뎁스의 코딩 유닛들로 분할(split)될 수 있다. 이 경우 영상 특성에 따른 코딩 효율 등을 기반으로, 코딩 트리 유닛이 바로 최종 코딩 유닛으로 사용될 수 있고, 또는 필요에 따라 코딩 유닛은 재귀적으로(recursively) 보다 하위 뎁스의 코딩 유닛들로 분할되어 최적의 사이즈의 코딩 유닛이 최종 코딩 유닛으로 사용될 수 있다. 최소 코딩 유닛(min coding unit, min CU)이 설정된 경우 코딩 유닛은 최소 코딩 유닛보다 더 작은 코딩 유닛으로 분할될 수 없다. 여기서 최종 코딩 유닛이라 함은 예측 유닛 또는 변환 유닛으로 파티셔닝 또는 분할되는 기반이 되는 코딩 유닛을 의미한다. 예측 유닛은 코딩 유닛으로부터 파티셔닝(partitioning)되는 유닛으로서, 샘플 예측의 유닛일 수 있다. 이 때, 예측 유닛은 서브 블록(sub block)으로 나뉠 수도 있다. 변환 유닛은 코딩 유닛으로부터 쿼드 트리 구조를 따라서 분할 될 수 있으며, 변환 계수를 유도하는 유닛 및/또는 변환 계수로부터 레지듀얼 신호(residual signal)를 유도하는 유닛일 수 있다. 이하, 코딩 유닛은 코딩 블록(coding block, CB), 예측 유닛은 예측 블록(prediction block, PB), 변환 유닛은 변환 블록(transform block, TB)으로 불릴 수 있다. 예측 블록 또는 예측 유닛은 픽처 내에서 블록 형태의 특정 영역을 의미할 수 있고, 예측 샘플의 어레이(array)를 포함할 수 있다. 또한, 변환 블록 또는 변환 유닛은 픽처 내에서 블록 형태의 특정 영역을 의미할 수 있고, 변환 계수 또는 레지듀얼 샘플의 어레이를 포함할 수 있다.
예측부(110)는 처리 대상 블록(이하, 현재 블록이라 함)에 대한 예측을 수행하고, 상기 현재 블록에 대한 예측 샘플들을 포함하는 예측된 블록(predicted block)을 생성할 수 있다. 예측부(110)에서 수행되는 예측의 단위는 코딩 블록일 수 있고, 변환 블록일 수도 있고, 예측 블록일 수도 있다.
예측부(110)는 현재 블록에 인트라 예측이 적용되는지 인터 예측이 적용되는지를 결정할 수 있다. 일 예로, 예측부(110)는 CU 단위로 인트라 예측 또는 인터 예측이 적용되는지를 결정할 수 있다.
인트라 예측의 경우에, 예측부(110)는 현재 블록이 속하는 픽처(이하, 현재 픽처) 내의 현재 블록 외부의 참조 샘플을 기반으로 현재 블록에 대한 예측 샘플을 유도할 수 있다. 이 때, 예측부(110)는 (i) 현재 블록의 주변(neighboring) 참조 샘플들의 평균(average) 혹은 인터폴레이션(interpolation)을 기반으로 예측 샘플을 유도할 수 있고, (ii) 현재 블록의 주변 참조 샘플들 중 예측 샘플에 대하여 특정 (예측) 방향에 존재하는 참조 샘플을 기반으로 상기 예측 샘플을 유도할 수도 있다. (i)의 경우는 비방향성 모드 또는 비각도 모드, (ii)의 경우는 방향성(directional) 모드 또는 각도(angular) 모드라고 불릴 수 있다. 인트라 예측에서 예측 모드는 예를 들어 33개의 방향성 예측 모드와 적어도 2개 이상의 비방향성 모드를 가질 수 있다. 비방향성 모드는 DC 예측 모드 및 플래너 모드(Planar 모드)를 포함할 수 있다. 예측부(110)는 주변 블록에 적용된 예측 모드를 이용하여, 현재 블록에 적용되는 예측 모드를 결정할 수도 있다.
인터 예측의 경우에, 예측부(110)는 참조 픽처 상에서 움직임 벡터에 의해 특정되는 샘플을 기반으로, 현재 블록에 대한 예측 샘플을 유도할 수 있다. 예측부(110)는 스킵(skip) 모드, 머지(merge) 모드, 및 MVP(motion vector prediction) 모드 중 어느 하나를 적용하여 현재 블록에 대한 예측 샘플을 유도할 수 있다. 스킵 모드와 머지 모드의 경우에, 예측부(110)는 주변 블록의 움직임 정보를 현재 블록의 움직임 정보로 이용할 수 있다. 스킵 모드의 경우, 머지 모드와 달리 예측 샘플과 원본 샘플 사이의 차(레지듀얼)가 전송되지 않는다. MVP 모드의 경우, 주변 블록의 움직임 벡터를 움직임 벡터 예측자(Motion Vector Predictor)로 이용하여 현재 블록의 움직임 벡터 예측자로 이용하여 현재 블록의 움직임 벡터를 유도할 수 있다.
인터 예측의 경우에, 주변 블록은 현재 픽처 내에 존재하는 공간적 주변 블록(spatial neighboring block)과 참조 픽처(reference picture)에 존재하는 시간적 주변 블록(temporal neighboring block)을 포함할 수 있다. 상기 시간적 주변 블록을 포함하는 참조 픽처는 동일 위치 픽처(collocated picture, colPic)라고 불릴 수도 있다. 움직임 정보(motion information)는 움직임 벡터와 참조 픽처 인덱스를 포함할 수 있다. 예측 모드 정보와 움직임 정보 등의 정보는 (엔트로피) 인코딩되어 비트스트림 형태로 출력될 수 있다.
스킵 모드와 머지 모드에서 시간적 주변 블록의 움직임 정보가 이용되는 경우에, 참조 픽처 리스트(reference picture list) 상의 최상위 픽처가 참조 픽처로서 이용될 수도 있다. 참조 픽처 리스트에 포함되는 참조 픽처들은 현재 픽처와 해당 참조 픽처 간의 POC(Picture order count) 차이 기반으로 정렬될 수 있다. POC는 픽처의 디스플레이 순서에 대응하며, 코딩 순서와 구분될 수 있다.
감산부(121)는 원본 샘플과 예측 샘플 간의 차이인 레지듀얼 샘플을 생성한다. 스킵 모드가 적용되는 경우에는, 상술한 바와 같이 레지듀얼 샘플을 생성하지 않을 수 있다.
변환부(122)는 변환 블록 단위로 레지듀얼 샘플을 변환하여 변환 계수(transform coefficient)를 생성한다. 변환부(122)는 해당 변환 블록의 사이즈와, 해당 변환 블록과 공간적으로 겹치는 코딩 블록 또는 예측 블록에 적용된 예측 모드에 따라서 변환을 수행할 수 있다. 예컨대, 상기 변환 블록과 겹치는 상기 코딩 블록 또는 상기 예측 블록에 인트라 예측이 적용되었고, 상기 변환 블록이 4×4의 레지듀얼 어레이(array)라면, 레지듀얼 샘플은 DST(Discrete Sine Transform) 변환 커널을 이용하여 변환되고, 그 외의 경우라면 레지듀얼 샘플은 DCT(Discrete Cosine Transform) 변환 커널을 이용하여 변환할 수 있다.
양자화부(123)는 변환 계수들을 양자화하여, 양자화된 변환 계수를 생성할 수 있다.
재정렬부(124)는 양자화된 변환 계수를 재정렬한다. 재정렬부(124)는 계수들 스캐닝(scanning) 방법을 통해 블록 형태의 양자화된 변환 계수들을 1차원 벡터 형태로 재정렬할 수 있다. 여기서 재정렬부(124)는 별도의 구성으로 설명하였으나, 재정렬부(124)는 양자화부(123)의 일부일 수 있다.
엔트로피 인코딩부(130)는 양자화된 변환 계수들에 대한 엔트로피 인코딩을 수행할 수 있다. 엔트로피 인코딩은 예를 들어 지수 골롬(exponential Golomb), CAVLC(context-adaptive variable length coding), CABAC(context-adaptive binary arithmetic coding) 등과 같은 인코딩 방법을 포함할 수 있다. 엔트로피 인코딩부(130)는 양자화된 변환 계수 외 비디오 복원에 필요한 정보들(예컨대 신택스 요소(syntax element)의 값 등)을 함께 또는 별도로 인코딩할 수도 있다. 엔트로피 인코딩된 정보들은 비트스트림 형태로 NAL(network abstraction layer) 유닛 단위로 전송 또는 저장될 수 있다.
역양자화부(125)는 양자화부(123)에서 양자화된 값(양자화된 변환 계수)들을 역양자화하고, 역변환부(126)는 역양자화부(125)에서 역양자화된 값들을 역변환하여 레지듀얼 샘플을 생성한다.
가산부(140)는 레지듀얼 샘플과 예측 샘플을 합쳐서 픽처를 복원한다. 레지듀얼 샘플과 예측 샘플은 블록 단위로 더해져서 복원 블록이 생성될 수 있다. 여기서 가산부(140)는 별도의 구성으로 설명하였으나, 가산부(140)는 예측부(110)의 일부일 수 있다. 한편, 가산부(140)는 복원부 또는 복원 블록 생성부로 불릴 수도 있다.
복원된 픽처(reconstructed picture)에 대하여 필터부(150)는 디블록킹 필터 및/또는 샘플 적응적 오프셋(sample adaptive offset)을 적용할 수 있다. 디블록킹 필터링 및/또는 샘플 적응적 오프셋을 통해, 복원 픽처 내 블록 경계의 아티팩트나 양자화 과정에서의 왜곡이 보정될 수 있다. 샘플 적응적 오프셋은 샘플 단위로 적용될 수 있으며, 디블록킹 필터링의 과정이 완료된 후 적용될 수 있다. 필터부(150)는 ALF(Adaptive Loop Filter)를 복원된 픽처에 적용할 수도 있다. ALF는 디블록킹 필터 및/또는 샘플 적응적 오프셋이 적용된 후의 복원된 픽처에 대하여 적용될 수 있다.
메모리(160)는 복원 픽처(디코딩된 픽처) 또는 인코딩/디코딩에 필요한 정보를 저장할 수 있다. 여기서 복원 픽처는 상기 필터부(150)에 의하여 필터링 절차가 완료된 복원 픽처일 수 있다. 상기 저장된 복원 픽처는 다른 픽처의 (인터) 예측을 위한 참조 픽처로 활용될 수 있다. 예컨대, 메모리(160)는 인터 예측에 사용되는 (참조) 픽처들을 저장할 수 있다. 이 때, 인터 예측에 사용되는 픽처들은 참조 픽처 세트(reference picture set) 혹은 참조 픽처 리스트(reference picture list)에 의해 지정될 수 있다.
도 2는 비디오 인코딩 장치에 의하여 수행되는 영상 인코딩 방법의 일 예를 나타낸다. 도 2를 참조하면 상기 영상 인코딩 방법은 블록 파티셔닝(block partitioning), 인트라/인터 예측, 변환(transform), 양자화(quantization) 및 엔트로피 인코딩(entropy encoding) 과정을 포함할 수 있다. 예를 들어, 현재 픽처는 복수의 블록들로 분할될 수 있고, 인트라/인터 예측을 통하여 현재 블록의 예측 블록이 생성될 수 있고, 상기 현재 블록의 입력 블록과 상기 예측 블록과의 감산을 통하여 상기 현재 블록의 레지듀얼 블록이 생성될 수 있다. 이 후, 상기 레지듀얼 블록에 대한 변환을 통하여 계수(coefficent) 블록, 즉, 상기 현재 블록의 변환 계수들이 생성될 수 있다. 상기 변환 계수들은 양자화 및 엔트로피 인코딩되어 비트스트림에 저장될 수 있다.
도 3은 본 발명이 적용될 수 있는 비디오 디코딩 장치의 구성을 개략적으로 설명하는 도면이다.
도 3을 참조하면, 비디오 디코딩 장치(300)는 엔트로피 디코딩부(310), 레지듀얼 처리부(320), 예측부(330), 가산부(340), 필터부(350) 및 메모리(360)를 포함할 수 있다. 여기서 레지듀얼 처리부(320)는 재정렬부(321), 역양자화부(322), 역변환부(323)를 포함할 수 있다.
비디오 정보를 포함하는 비트스트림이 입력되면, 비디오 디코딩 장치(300)는 비디오 인코딩 장치에서 비디오 정보가 처리된 프로세스에 대응하여 비디오를 복원할 수 있다.
예컨대, 비디오 디코딩 장치(300)는 비디오 인코딩 장치에서 적용된 처리 유닛을 이용하여 비디오 디코딩을 수행할 수 있다. 따라서 비디오 디코딩의 처리 유닛 블록은 일 예로 코딩 유닛일 수 있고, 다른 예로 코딩 유닛, 예측 유닛 또는 변환 유닛일 수 있다. 코딩 유닛은 코딩 트리 유닛으로부터 쿼드 트리 구조 및/또는 바이너리 트리 구조를 따라서 분할될 수 있다.
예측 유닛 및 변환 유닛이 경우에 따라 더 사용될 수 있으며, 이 경우 예측 블록은 코딩 유닛으로부터 도출 또는 파티셔닝되는 블록으로서, 샘플 예측의 유닛일 수 있다. 이 때, 예측 유닛은 서브 블록으로 나뉠 수도 있다. 변환 유닛은 코딩 유닛으로부터 쿼드 트리 구조를 따라서 분할 될 수 있으며, 변환 계수를 유도하는 유닛 또는 변환 계수로부터 레지듀얼 신호를 유도하는 유닛일 수 있다.
엔트로피 디코딩부(310)는 비트스트림을 파싱하여 비디오 복원 또는 픽처 복원에 필요한 정보를 출력할 수 있다. 예컨대, 엔트로피 디코딩부(310)는 지수 골롬 부호화, CAVLC 또는 CABAC 등의 코딩 방법을 기초로 비트스트림 내 정보를 디코딩하고, 비디오 복원에 필요한 신택스 엘리먼트의 값, 레지듀얼에 관한 변환 계수의 양자화된 값 들을 출력할 수 있다.
보다 상세하게, CABAC 엔트로피 디코딩 방법은, 비트스트림에서 각 구문 요소에 해당하는 빈을 수신하고, 디코딩 대상 구문 요소 정보와 주변 및 디코딩 대상 블록의 디코딩 정보 혹은 이전 단계에서 디코딩된 심볼/빈의 정보를 이용하여 문맥(context) 모델을 결정하고, 결정된 문맥 모델에 따라 빈(bin)의 발생 확률을 예측하여 빈의 산술 디코딩(arithmetic decoding)를 수행하여 각 구문 요소의 값에 해당하는 심볼을 생성할 수 있다. 이때, CABAC 엔트로피 디코딩 방법은 문맥 모델 결정 후 다음 심볼/빈의 문맥 모델을 위해 디코딩된 심볼/빈의 정보를 이용하여 문맥 모델을 업데이트할 수 있다.
엔트로피 디코딩부(310)에서 디코딩된 정보 중 예측에 관한 정보는 예측부(330)로 제공되고, 엔트로피 디코딩부(310)에서 엔트로피 디코딩이 수행된 레지듀얼 값, 즉 양자화된 변환 계수는 재정렬부(321)로 입력될 수 있다.
재정렬부(321)는 양자화되어 있는 변환 계수들을 2차원의 블록 형태로 재정렬할 수 있다. 재정렬부(321)는 인코딩 장치에서 수행된 계수 스캐닝에 대응하여 재정렬을 수행할 수 있다. 여기서 재정렬부(321)는 별도의 구성으로 설명하였으나, 재정렬부(321)는 역양자화부(322)의 일부일 수 있다.
역양자화부(322)는 양자화되어 있는 변환 계수들을 (역)양자화 파라미터를 기반으로 역양자화하여 변환 계수를 출력할 수 있다. 이 때, 양자화 파라미터를 유도하기 위한 정보는 인코딩 장치로부터 시그널링될 수 있다.
역변환부(323)는 변환 계수들을 역변환하여 레지듀얼 샘플들을 유도할 수 있다.
예측부(330)는 현재 블록에 대한 예측을 수행하고, 상기 현재 블록에 대한 예측 샘플들을 포함하는 예측된 블록(predicted block)을 생성할 수 있다. 예측부(330)에서 수행되는 예측의 단위는 코딩 블록일 수도 있고, 변환 블록일 수도 있고, 예측 블록일 수도 있다.
예측부(330)는 상기 예측에 관한 정보를 기반으로 인트라 예측을 적용할 것인지 인터 예측을 적용할 것인지를 결정할 수 있다. 이 때, 인트라 예측과 인터 예측 중 어느 것을 적용할 것인지를 결정하는 단위와 예측 샘플을 생성하는 단위는 상이할 수 있다. 아울러, 인터 예측과 인트라 예측에 있어서 예측 샘플을 생성하는 단위 또한 상이할 수 있다. 예를 들어, 인터 예측과 인트라 예측 중 어느 것을 적용할 것인지는 CU 단위로 결정할 수 있다. 또한 예를 들어, 인터 예측에 있어서 PU 단위로 예측 모드를 결정하고 예측 샘플을 생성할 수 있고, 인트라 예측에 있어서 PU 단위로 예측 모드를 결정하고 TU 단위로 예측 샘플을 생성할 수도 있다.
인트라 예측의 경우에, 예측부(330)는 현재 픽처 내의 주변 참조 샘플을 기반으로 현재 블록에 대한 예측 샘플을 유도할 수 있다. 예측부(330)는 현재 블록의 주변 참조 샘플을 기반으로 방향성 모드 또는 비방향성 모드를 적용하여 현재 블록에 대한 예측 샘플을 유도할 수 있다. 이 때, 주변 블록의 인트라 예측 모드를 이용하여 현재 블록에 적용할 예측 모드가 결정될 수도 있다.
인터 예측의 경우에, 예측부(330)는 참조 픽처 상에서 움직임 벡터에 의해 참조 픽처 상에서 특정되는 샘플을 기반으로 현재 블록에 대한 예측 샘플을 유도할 수 있다. 예측부(330)는 스킵(skip) 모드, 머지(merge) 모드 및 MVP 모드 중 어느 하나를 적용하여 현재 블록에 대한 예측 샘플을 유도할 수 있다. 이때, 비디오 인코딩 장치에서 제공된 현재 블록의 인터 예측에 필요한 움직임 정보, 예컨대 움직임 벡터, 참조 픽처 인덱스 등에 관한 정보는 상기 예측에 관한 정보를 기반으로 획득 또는 유도될 수 있다
스킵 모드와 머지 모드의 경우에, 주변 블록의 움직임 정보가 현재 블록의 움직임 정보로 이용될 수 있다. 이 때, 주변 블록은 공간적 주변 블록과 시간적 주변 블록을 포함할 수 있다.
예측부(330)는 가용한 주변 블록의 움직임 정보로 머지 후보 리스트를 구성하고, 머지 인덱스가 머지 후보 리스트 상에서 지시하는 정보를 현재 블록의 움직임 벡터로 사용할 수 있다. 머지 인덱스는 인코딩 장치로부터 시그널링될 수 있다. 움직임 정보는 움직임 벡터와 참조 픽처를 포함할 수 있다. 스킵 모드와 머지 모드에서 시간적 주변 블록의 움직임 정보가 이용되는 경우에, 참조 픽처 리스트 상의 최상위 픽처가 참조 픽처로서 이용될 수 있다.
스킵 모드의 경우, 머지 모드와 달리 예측 샘플과 원본 샘플 사이의 차이(레지듀얼)이 전송되지 않는다.
MVP 모드의 경우, 주변 블록의 움직임 벡터를 움직임 벡터 예측자(motion vector predictor)로 이용하여 현재 블록의 움직임 벡터가 유도될 수 있다. 이 때, 주변 블록은 공간적 주변 블록과 시간적 주변 블록을 포함할 수 있다.
일 예로, 머지 모드가 적용되는 경우, 복원된 공간적 주변 블록의 움직임 벡터 및/또는 시간적 주변 블록인 Col 블록에 대응하는 움직임 벡터를 이용하여, 머지 후보 리스트가 생성될 수 있다. 머지 모드에서는 머지 후보 리스트에서 선택된 후보 블록의 움직임 벡터가 현재 블록의 움직임 벡터로 사용된다. 상기 예측에 관한 정보는 상기 머지 후보 리스트에 포함된 후보 블록들 중에서 선택된 최적의 움직임 벡터를 갖는 후보 블록을 지시하는 머지 인덱스를 포함할 수 있다. 이 때, 예측부(330)는 상기 머지 인덱스를 이용하여, 현재 블록의 움직임 벡터를 도출할 수 있다.
다른 예로, MVP(Motion Vector Prediction) 모드가 적용되는 경우, 복원된 공간적 주변 블록의 움직임 벡터 및/또는 시간적 주변 블록인 Col 블록에 대응하는 움직임 벡터를 이용하여, 움직임 벡터 예측자 후보 리스트가 생성될 수 있다. 즉, 복원된 공간적 주변 블록의 움직임 벡터 및/또는 시간적 주변 블록인 Col 블록에 대응하는 움직임 벡터는 움직임 벡터 후보로 사용될 수 있다. 상기 예측에 관한 정보는 상기 리스트에 포함된 움직임 벡터 후보 중에서 선택된 최적의 움직임 벡터를 지시하는 예측 움직임 벡터 인덱스를 포함할 수 있다. 이 때, 예측부(330)는 상기 움직임 벡터 인덱스를 이용하여, 움직임 벡터 후보 리스트에 포함된 움직임 벡터 후보 중에서, 현재 블록의 예측 움직임 벡터를 선택할 수 있다. 인코딩 장치의 예측부는 현재 블록의 움직임 벡터와 움직임 벡터 예측자 간의 움직임 벡터 차분(MVD)을 구할 수 있고, 이를 인코딩하여 비트스트림 형태로 출력할 수 있다. 즉, MVD는 현재 블록의 움직임 벡터에서 상기 움직임 벡터 예측자를 뺀 값으로 구해질 수 있다. 이 때, 예측부(330)는 상기 예측에 관한 정보에 포함된 움직임 벡터 차분을 획득하고, 상기 움직임 벡터 차분과 상기 움직임 벡터 예측자의 가산을 통해 현재 블록의 상기 움직임 벡터를 도출할 수 있다. 예측부는 또한 참조 픽처를 지시하는 참조 픽처 인덱스 등을 상기 예측에 관한 정보로부터 획득 또는 유도할 수 있다.
가산부(340)는 레지듀얼 샘플과 예측 샘플을 더하여 현재 블록 혹은 현재 픽처를 복원할 수 있다. 가산부(340)는 레지듀얼 샘플과 예측 샘플을 블록 단위로 더하여 현재 픽처를 복원할 수도 있다. 스킵 모드가 적용된 경우에는 레지듀얼이 전송되지 않으므로, 예측 샘플이 복원 샘플이 될 수 있다. 여기서는 가산부(340)를 별도의 구성으로 설명하였으나, 가산부(340)는 예측부(330)의 일부일 수도 있다. 한편, 가산부(340)는 복원부 또는 복원 블록 생성부로 불릴 수도 있다.
필터부(350)는 복원된 픽처에 디블록킹 필터링 샘플 적응적 오프셋, 및/또는 ALF 등을 적용할 수 있다. 이 때, 샘플 적응적 오프셋은 샘플 단위로 적용될 수 있으며, 디블록킹 필터링 이후 적용될 수도 있다. ALF는 디블록킹 필터링 및/또는 샘플 적응적 오프셋 이후 적용될 수도 있다.
메모리(360)는 복원 픽처(디코딩된 픽처) 또는 디코딩에 필요한 정보를 저장할 수 있다. 여기서 복원 픽처는 상기 필터부(350)에 의하여 필터링 절차가 완료된 복원 픽처일 수 있다. 예컨대, 메모리(360)는 인터 예측에 사용되는 픽처들을 저장할 수 있다. 이 때, 인터 예측에 사용되는 픽처들은 참조 픽처 세트 혹은 참조 픽처 리스트에 의해 지정될 수도 있다. 복원된 픽처는 다른 픽처에 대한 참조 픽처로서 이용될 수 있다. 또한, 메모리(360)는 복원된 픽처를 출력 순서에 따라서 출력할 수도 있다.
도 4는 디코딩 장치에 의하여 수행되는 영상 디코딩 방법의 일 예를 나타낸다. 도 4를 참조하면 상기 영상 디코딩 방법은 엔트로피 디코딩(entropy decoding), 역양자화(inverse quantization), 역변환(inverse transform) 및 인트라/인터 예측 과정을 포함할 수 있다. 예를 들어, 디코딩 장치에서는 상기 인코딩 방법의 역과정이 수행될 수 있다. 구체적으로, 비트스트림에 대한 엔트로피 디코딩을 통하여 양자화된 변환 계수들이 획득될 수 있고, 상기 양자화된 변환 계수들에 대한 역양자화 과정을 통하여 현재 블록의 계수 블록, 즉, 변환 계수들이 획득될 수 있다. 상기 변환 계수들에 대한 역변환을 통하여 상기 현재 블록의 레지듀얼 블록이 도출될 수 있고, 인트라/인터 예측을 통하여 도출된 상기 현재 블록의 예측 블록과 상기 레지듀얼 블록과의 가산을 통하여 상기 현재 블록의 복원 블록(reconstructed block)이 도출될 수 있다.
한편, 후술하는 실시예들에서의 오퍼레이터들은 다음의 표와 같이 정의될 수 있다.
Figure PCTKR2020018464-appb-img-000001
표 1을 참조하면 Floor(x)는 x 이하의 최대 정수값을 나타낼 수 있고, Log2(u)는 u의 2를 밑(base)으로 하는 로그값을 나타낼 수 있고, Ceil(x)는 x 이상의 최소 정수값을 나타낼 수 있다. 예를 들어, Floor(5.93)의 경우, 5.93 이하의 최대 정수값은 5이므로, 5를 나타낼 수 있다.
또한, 표 1을 참조하면 x>>y는 x 를 y 번 우측 쉬프트(right shift)하는 연산자를 나타낼 수 있고, x<<y는 x 를 y 번 좌측 쉬프트(left shift)하는 연산자를 나타낼 수 있다.
<도입>
HEVC 표준은 두가지 타입의 화면 분할 방법을 제안한다.
1) 슬라이스(slice): 한 장의 이미지를 래스터 스캔 오더(raster scan order) 순으로 CTU (coding tree unit) 단위로 분할하여 부호화/복호화 할 수 있는 기능을 제공하며, 슬라이스 헤더(slice header) 정보가 존재한다.
2) 타일(tile): 한 장의 이미지를 CTU 단위로 다수 개의 열(column) 및 행(row)으로 구획하여 부호화/복호화 할 수 있는 기능을 제공한다. 구획 방법은 균등 분할 혹은 개별 분할이 모두 가능하다. 타일을 위한 헤더는 별도로 존재하지 않는다.
슬라이스는 비트스트림(bit-stream) 패킹 단위가 된다. 즉, 하나의 슬라이스는 하나의 NAL (network abstraction layer) 비트 스트림으로 생성될 수 있다. 도 5처럼, 슬라이스를 위한 NAL 패킷(NAL packet)은 NAL 헤더(NAL header), 슬라이스 헤더(slice header), 슬라이스 데이터(slice data) 순으로 구성된다. 이때, NAL header 정보에는 NAL unit type (NUT)이 존재한다.
일 실시 예에 따른 HEVC 표준에서 제안하는 슬라이스를 위한 NUT는 표 2와 같다. 표 2에서, 인터 예측이 수행되는 인터 슬라이스(inter slice)를 위한 NUT는 0번에서 9번까지이고, 인트라 예측이 수행되는 인트라 슬라이스(intra slice)를 위한 NUT는 16번부터 21번까지이다. 여기서, 인터 슬라이스는 화면 간 예측 방법으로 부호화 되었음을 의미하고, 인트라 슬라이스는 화면 내 예측 방법으로 부호화 되었음을 의미한다. 하나의 슬라이스는 하나의 NUT를 가지도록 정의되며, 하나의 picture 내 다수 개의 slice는 모두 동일한 NUT 값을 가지도록 설정될 수 있다. 예를 들어, 하나의 픽처가 4개의 슬라이스로 분할되어, 인트라 예측 방식으로 부호화 되었다면, 해당 픽처 내 4개의 슬라이스에 대한 NUT 값은 모두 동일하게 “19: IDR_W_RADL”로 설정될 수 있다.
Figure PCTKR2020018464-appb-img-000002
상기 표 2에서, 약어는 아래와 같이 정의될 수 있다.
- TSA (Temporal sub-layer Switching Access)
- STSA (Step-wise Temporal sub-layer Switching Access)
- RADL (Random Access Decodable Leading)
- RASL (Random Access Skipped Leading)
- BLA (Broken Link Access)
- IDR (Instantaneous Decoding Refresh)
- CRA (Clean Random Access)
- LP (Leading Picture)
- _N (No reference)
- _R (Reference)
- _W_LP / RADL (With LP / RADL)
- _N_LP (No LP, without LP)
인트라 슬라이스에 대한 NUT 인 BLA, IDR, 및 CRA를 IRAP (Intra Random Access Point)라고 칭한다. IRAP은 비트스트림 중간 위치로 random access가 가능한 픽처를 의미한다. 즉, 비디오 재생 시에 갑작스런 재생 위치 변경이 가능한 픽처를 말한다. 인트라 슬라이스는 I 슬라이스 타입으로만 존재할 수 있다.
인터 슬라이스는 단방향 예측 (P: predictive) 혹은 양방향 예측 (B: bi-predictive)에 따라 P 슬라이스 또는 B 슬라이스로 구분될 수 있다. 예측 및 부호화 과정은 GOP (group of picture) 단위로 수행되는데, HEVC 표준은 계층적(hierarchical) GOP 구조를 사용하여 예측을 포함한 부호화/복호화 과정을 수행한다. 도 6은 계층적 GOP 구조의 일례를 보이며, 각 픽처는 예측 방법에 따라 I, P, 또는 B 픽처 (슬라이스)로 구분된다.
양방향 예측을 수행하는 B 슬라이스 및/또는 계층적 GOP 구조 특성으로 인해, 시퀀스(sequence) 내 픽처들의 디코딩 순서와 디스플레이 순서가 상이해진다 (도 7 참고). 도 7에서 IRAP는 인트라 슬라이스를 의미하고, B 및 P는 인터 슬라이스를 의미하며, 재생 순서와 복원 순서가 완전히 바뀌었음을 확인할 수 있다.
인터 슬라이스 중에서 복원 순서로는 IRAP 보다 늦으면서, 재생 순서는 IRAP 보다 앞서는 픽처를 LP(leading picture) 라 한다 (도 8 참고). LP는 상황에 따라, RADL 및 RASL로 구분된다. 랜덤 엑세스(Random access)가 발생하였을 때, 디코딩이 가능한 LP를 RADL이라 정의하고, 랜덤 엑세스 시에 디코딩이 불가능하여 해당 픽처의 복원 과정을 스킵(skip) 해야 하는 LP를 RASL이라 정의한다. 도 8에서 같은 색상의 픽처들을 하나의 GOP라 정의한다.
RADL과 RASL의 구분은 화면 간 예측 시의 참조 픽처의 위치에 따라 결정된다 (도 9 참고). 즉, RASL는 해당 GOP 외에 다른 GOP 내 복원 픽처를 참조 픽처로 사용하거나, 다른 GOP 내 복원 픽처를 참조 픽처로 사용하여 복원한 픽처를 참조 픽처로 사용하는 인터 픽처를 의미한다. 이런 경우, 다른 GOP 내 복원 픽처를 (직간접적으로) 참조 픽처로 사용한다고 해서 open GOP 라 칭한다. RASL 과 RADL은 해당 인터 슬라이스에 대한 NUT 정보로 설정된다.
인트라 슬라이스에 대한 NUT는 해당 인트라 슬라이스의 재생 순서 및/또는 복원 순서 상 선행 및/또는 후행하는 인터 슬라이스의 NUT에 따라 다른 인트라 슬라이스 NUT로 구분된다. IDR NUT을 살펴보면, IDR은 RADL을 가진 IDR_W_RADL 및 LP를 가지지 않는 IDR_N_LP 로 구분할 수 있다. 즉, IDR은 LP을 가지지 않는 타입 이거나, LP 중 RADL만을 가진 타입으로, IDR은 RASL을 가질 수 없다. 반면, CRA는 LP 중 RADL 및/또는 RASL을 모두 가질 수 있는 타입이다. 즉, CRA는 open GOP를 지원할 수 있는 타입이다.
일반적으로, 인트라 슬라이스는 화면 내 예측 만을 수행함으로 해당 인트라 슬라이스를 위한 참조 픽처 정보가 필요하지 않다. 여기서, 참조 픽처는 화면 간 예측 시에 사용된다. 그러나, CRA NUT 슬라이스는 open GOP 구조를 지원하는 특징으로 인해, CRA 슬라이스는 인트라 슬라이스 임에도 불구하고, 참조 픽처 정보를 해당 CRA의 NAL 비트스트림에 삽입한다. 상기 참조 픽처 정보는 해당 CRA 슬라이스에서 사용하기 위한 게 아닌 (복원 순서 상) 해당 CRA 이후 인터 슬라이스에서 사용 예정인 참조 픽처에 대한 정보이다. 이는, DPB (decoded picture buffer)에서 상기 참조 픽처가 제거되지 않기 위함이다. 예컨대, 해당 인트라 슬라이스의 NUT가 IDR인 경우, DPB를 리셋(reset) 한다. 즉, 해당 시점의 DPB 내 존재하는 모든 복원 픽처를 제거한다. 도 10은 슬라이스 세그먼트 헤더에 대한 신택스를 도시하는 도면이다. 도 10에 도시된 바와 같이, 해당 슬라이스의 NUT가 IDR이 아니면, 참조 픽처 정보를 비트스트림에 기술할 수 있다. 즉, 해당 슬라이스의 NUT가 CRA이면, 참조 픽처 정보를 기술할 수 있다.
본 발명은 다른 시퀀스들과의 합성을 위한 서브 픽처 분할 방법 및 비트스트림 패킹을 위한 슬라이스 분할 방법을 제시한다.
본 발명에서 슬라이스는 부호화/복호화의 영역을 의미하며, 하나의 NAL 비트스트림을 생성하는 데이터 패킹 단위이다. 예컨대, 한 장의 픽처는 다수 개의 슬라이스로 분할되고, 각 슬라이스는 부호화 과정을 거쳐 하나의 NAL 패킷으로 생성된다.
본 발명에서 서브 픽처는 다른 컨텐츠와의 합성을 위한 영역 구분이다. 도 11에서 다른 컨텐츠와의 합성의 예시를 보인다. 흰색, 회색, 및 검정색의 3개의 컨텐츠가 존재하고, 각 컨텐츠의 한 이미지 (AU: access unit)는 4개의 슬라이스로 영역으로 구분되어 패킷 생성이 되며, 도 11의 우측에 위치하는 이미지같이 좌상측 부분은 흰색 컨텐츠로, 좌하측은 회색 컨텐츠로, 우측은 검정색 컨텐츠로 합성하여 새로운 이미지를 생성할 수 있다. 여기서, 흰색 영역 및 회색 영역은 하나의 슬라이스로 하나의 서브 픽처를 구성하고 있고, 검정색 영역은 2개의 슬라이스가 하나의 서브 픽처로 구성될 수 있다. 즉, 하나의 서브 픽처는 최소 1개의 슬라이스를 포함할 수 있다. 새로운 이미지를 만들기 위해 (컨텐츠를 합성하기 위해), BEAMer (Bit-stream Extractor And Merger)은 서브 픽처 단위로 서로 다른 컨텐츠에서 영역을 추출하고 이를 합성한다. 도 11에서 합성된 이미지는 4개의 슬라이스로 분할되고, 3개의 서브 픽처로 구성될 수 있다.
하나의 서브 픽처는 동일한 서브 픽처 ID(sub picture ID) 및/또는 서브 픽처 인덱스(sub picture index) 값을 가진 영역을 의미한다. 다시 말해, 동일한 서브 픽처 ID 및/또는 서브 픽처 인덱스 값을 가진 최소 1개의 슬라이스를 하나의 서브 픽처 영역이라 할 수 있다. 여기서, 슬라이스 헤더 정보 중 서브 픽처 ID 및/또는 서브 픽처 인덱스 값이 포함된다. 서브 픽처 인덱스 값은 래스터 스캔(raster-scan) 순서로 설정될 수 있다. 도 12는 한 장의 픽처가 6개의 (사각형) 슬라이스 및 4개의 (색상 별) 서브 픽처 영역으로 구성된 예를 보인다. 여기서, “A”, “B”, “C”, “D”는 서브 픽처 ID에 대한 일례를 나타내고, “0”, “1”은 해당 서브 픽처 내 슬라이스 주소(slice address)를 나타낸다. 즉, 슬라이스 주소 값은 해당 서브 픽처 내 래스터 스캔 순서 상 슬라이스 인덱스 값이다. 예컨대, “B-0”은 B 서브 픽처 내 0번째 슬라이스를 의미하고, “B-1”은 B 서브 픽처 내 1번째 슬라이스를 나타낸다.
본 발명에서는 하나의 이미지를 구성하는 2개 이상의 서브 픽처에 대한 NUT 값이 상이할 수 있다. 예컨대, 도 12에서 한 장의 이미지 내 흰색 서브 픽처 (슬라이스)는 인트라 슬라이스 일 수 있고, 회색 서브 픽처 (슬라이스) 및 검정색 서브 픽처 (슬라이스)는 인터 슬라이스 일 수 있다.
이는, 서로 다른 컨텐츠 합성 시에 한 장의 이미지를 구성하는 다수 개의 서브 픽처의 NUT를 동일하게 맞출 필요가 없기 때문에 용이하게 이미지를 구성/합성할 수 있는 장점을 가진다. 해당 기능을 단일 픽처에서의 혼성 NAL 유닛 타입 픽처(mixed NAL Unit Type in a picture)이라 칭하고, 간략히 혼성 NUT(mixed NUT)라고 명명할 수도 있다. mixed_nalu_type_in_pic_flag를 두어 해당 기능의 인에이블(enabled)/디스에이블(disabled)을 설정할 수 있다. 해당 플래그는 SPS (sequence parameter set), PPS (picture parameter set), PH (picture header), SH (slice header) 중 하나 이상의 위치에서 정의될 수 있다. 예를들어, 해당 플래그가 PPS에서 정의되는 경우 해당 플래그는 pps_mixed_nalu_types_in_pic_flag로 명명될 수 있다.
상기 플래그 값이 디스에이블(disabled) 인 경우 (e.g. mixed_nalu_type_in_pic_flag == 0), 해당 픽처 내 모든 서브 픽처 및/또는 슬라이스에 대한 NUT가 동일한 값을 가질 수 있다. 예를들어, 하나의 픽처에 대한 모든 VCL (video coding layer) NAL 유닛에 대한 NUT는 동일한 값을 가지도록 설정될 수 있다. 그리고, 픽처 또는 픽처 유닛(PU, picture unit)은 그에 대한 부호화된 슬라이스 NAL 유닛과 동일한 NUT를 가지는 것으로 참조될 수 있다. 여기서, VCL은 슬라이스 데이터 값을 포함한 슬라이스에 대한 NAL 타입을 의미한다.
한편, 상기 플래그 값이 인에이블(enabled) 인 경우 (e.g. mixed_nalu_type_in_pic_flag == 1), 해당 픽처는 2개 이상의 서브 픽처로 구성될 수 있다. 그리고, 상기 해당 픽쳐는 다른 NUT 값을 가질 수 있다. 또한, 상기 플래그 값이 인에이블(enabled) 인 경우, 상기 해당 픽처의 VCL NAL 유닛은 GDR_NUT 타입의 NUT를 가질 수 없도록 제한될 수 있다. 그리고, 해당 픽처의 어느 하나의 VCL NAL 유닛(e.g. 제 1 NAL 유닛)의 NUT(e.g. 제 1 NUT)가 IDR_W_RADL, IDR_N_LP, 또는 CRA_NUT 중 어느 하나인 경우, 상기 해당 픽처의 다른 VCL NAL 유닛(e.g. 제 2 NAL 유닛)의 NUT(e.g. 제 2 NUT)는 IDR_W_RADL, IDR_N_LP, CRA_NUT, 또는 TRAIL_NUT 중 어느 하나로 설정되도록 제한될 수 있다. 예들들어 제 2 NUT는 제 1 NUT 또는 TRAIL_NUT 중 하나의 값으로 설정되도록 제한될 수 있다.
도 12과 도 13을 참조하여, 상기 해당 픽쳐의 VCL NAL 유닛들이 적어도 두개 이상의 서로 다른 NUT 값을 가지는 예를 설명한다. 일 실시 예에서, 2개 이상의 서브 픽처는 2개 이상의 서로 다른 NUT 값을 가질 수 있다. 이때, 하나의 서브 픽처에 포함된 모든 슬라이스에 대한 NUT 값은 동일하도록 제한될 수 있다. 예를들어, 도 13에 도시된 바와 같이, 도 12의 B 서브 픽처 내 2개의 슬라이스에 대한 NUT 값은 CRA로 동일하게 설정될 수 있고, C sub picture 내 2개의 슬라이스에 대한 NUT 값도 TRAIL로 동일하게 설정될 수 있으며, A, B, C, 및 D 서브 픽처들은 적어도 2개 이상의 서로 다른 NUT 값을 가지도록 설정될 수 있다. 이에따라, 도 13에 도시된 바와 같이 A, C 및 D 서브 픽처 내 슬라이스에 대한 NUT 값은 TRAIL로 B 서브 픽처의 NUT인 CRA 와는 상이한 NUT 값을 가지도록 설정될 수 있다.
본 발명에서 인트라 슬라이스 및 인터 슬라이스에 대한 NUT는 표 3과 같이 명세될 수 있다. 표 3의 실시 예와 같이, RADL, RASL, IDR, CRA 등에 대한 정의 및 기능은 HEVC 표준 (표 1)과 동일하게 설정될 수도 있다. 표 3의 경우, 혼성 NUT 타입이 추가되어 있다. 표 3에서, mixed_nalu_type_in_pic_flag의 디스에이블값(e.g. 0)은, (HEVC와 동일하게) 픽처 내 슬라이스에 대한 NUT를 나타내고, mixed_nalu_type_in_pic_flag의 인에이블값(e.g. 1)은, 서브 픽처 내 슬라이스에 대한 NUT를 나타낼 수 있다. 예를들어, mixed_nalu_type_in_pic_flag의 값이 0이고 VCL NAL 유닛의 NUT가 TRAIL_NUT인 경우, 현재 픽처의 NUT는 TRAIL_NUT인 것으로 식별될 수 있으며 현재 픽처에 속한 다른 서브 픽처의 NUT 또한 TRAIL_NUT인 것으로 유도될 수 있다. 그리고, mixed_nalu_type_in_pic_flag의 값이 1이고 VCL NAL 유닛의 NUT가 TRAIL_NUT인 경우, 현재 서브 픽처의 NUT는 TRAIL_NUT인 것으로 식별될 수 있으며, 현재 픽처에 속한 다른 서브 픽처 중 적어도 하나의 NUT는 TRAIL_NUT가 아닐 것으로 예측될 수 있다.
Figure PCTKR2020018464-appb-img-000003
전술한 바와 같이, mixed_nalu_type_in_pic_flag의 값이 인에이블을 나타내는 경우(e.g. 1), 하나의 픽처에 속한 어느 하나의 VCL NAL 유닛(e.g. 제 1 NAL 유닛)이 NUT(e.g. 제 1 NUT)로 IDR_W_RADL, IDR_N_LP, 또는 CRA_NUT 중 어느 하나의 값을 가지면, 상기 해당 픽처의 다른 VCL NAL 유닛 중 적어도 하나의 VCL NAL 유닛(e.g. 제 2 NAL 유닛)은 NUT(e.g. 제 2 NUT)로 IDR_W_RADL, IDR_N_LP, CRA_NUT, 또는 TRAIL_NUT 중 제 1 NUT가 아닌 어느 하나의 NUT 값을 가질 수 있다.
이와 같이, 하나의 픽처에 속한 제 1 서브 픽처에 대한 VCL NAL 유닛(e.g. 제 1 NAL 유닛)이 NUT(e.g. 제 1 NUT)로 IDR_W_RADL, IDR_N_LP, 또는 CRA_NUT 중 어느 하나의 값을 가지면, 상기 해당 픽처의 제 2 서브 픽처에 대한 VCL NAL 유닛(e.g. 제 2 NAL 유닛)은 NUT(e.g. 제 2 NUT)로 IDR_W_RADL, IDR_N_LP, CRA_NUT, 또는 TRAIL_NUT 중 제 1 NUT가 아닌 어느 하나의 NUT 값을 가질 수 있다.
예를 들어, mixed_nalu_type_in_pic_flag의 값이 활성화를 나타내는 경우(e.g. 1), 2개 이상의 서브 픽처에 대한 VCL NAL 유닛의 NUT 값은 아래와 같이 구성될 수 있다. 이하의 설명은 예시일 뿐이며 이에 제한되지 않는다.
조합 1) IRAP + non-IRAP (inter)
조합 2) non_IRAP (inter) + non-IRAP (inter)
조합 3) IRAP + IRAP = IDR + CRA(실시 예에 따라 제한됨)
조합 1)은, 픽처 내 최소 1개의 서브 픽처가 IRAP (IDR 또는 CRA) NUT 값을 가지면서, 다른 최소 1개의 서브 픽처가 non-IRAP (인터 슬라이스) NUT 값을 가지는 실시예이다. 여기서, 인터 슬라이스 NUT 값으로는 LP (RASL 및 RADL)을 제외한 값이 허용될 수 있다. 예를들어, 인터 슬라이스 NUT 값으로 LP (RASL 또는 RADL)는 허용되지 않을 수 있다. 이와 같이, IDR 또는 CRA 서브픽처와 연관된 비트스트림에는 RASL 및 RADL 서브픽처가 부호화되지 않도록 제한될 수 있다.
다른 일 실시 예에서, 인터 슬라이스 NUT 값으로 TRAIL 값만 허용될 수 있다. 또는 다른 일 실시 예에서, 인터 슬라이스 NUT 값으로 모든 인터 슬라이스 VCL NUT가 허용될 수 있다.
조합 2)는, 픽처 내 최소 1개의 서브 픽처가 non-IRAP (인터 슬라이스) NUT 값을 가지면서, 다른 최소 1개의 서브 픽처가 다른 non-IRAP (인터 슬라이스) NUT 값을 가지는 실시예이다. 예컨대, 적어도 1개의 서브 픽처가 RASL NUT 값을 가지면서 다른 적어도 1개의 서브 픽처는 RADL NUT 값을 가질 수 있다. 조합 2에 따른 실시 예의 경우, 실시예에 따라 아래와 같은 제한이 적용될 수 있다.
- 일 실시예에서는, LP (RASL 및 RADL) 와 non-LP (TRAIL)가 함께 사용될 수 없다. 예컨대, 최소 1개의 서브 픽처의 NUT가 RASL (혹은, RADL) 이면서, 다른 최소 1개의 서브 픽처의 NUT가 TRAIL 일 수 없다. 최소 1개의 서브 픽처의 NUT가 RASL (혹은, RADL) 인 경우, 다른 최소 1개의 서브 픽처의 NUT로 RASL 또는 RADL는 사용될 수 있다. 예를들어, IRAP 서브픽처의 리딩 서브픽처는 RADL 또는 RASL 서브픽처로 강제될 수 있다.
- 다른 일 실시예에서는, LP (RASL 및 RADL) 와 non-LP (TRAIL)가 함께 사용될 수 있다. 예컨대, 최소 1개의 서브 픽처가 RASL (혹은, RADL) 이면서, 다른 최소 1개의 서브 픽처가 TRAIL 일 수 있다.
- 다른 일 실시예에서는, 예외적으로 조건 2)의 경우, 모든 서브 픽처가 동일한 인터 슬라이스 NUT 값을 가질 수 있다. 예컨대, 픽처 내 모든 서브 픽처가 TRAIL NUT 값을 가질 수 있다. 다른 예시로, 픽처 내 모든 서브 픽처가 RASL (혹은, RADL) NUT 값을 가질 수 있다.
조합 3)은, 픽처 내 모든 서브 픽처 또는 슬라이스가 IRAP으로 구성되는 실시예를 나타낸다. 예를들어, 제 1 서브 픽처 내 슬라이스에 대한 NUT 값이 IDR_W_RADL, IDR_N_LP, 또는 CRA_NUT인 경우, 제 2 서브 픽처 내 슬라이스에 대한 NUT 값은 IDR_W_RADL, IDR_N_LP, 및 CRA_NUT 중 제 1 서브픽처의 NUT가 아닌 값으로 구성될 수 있다. 예를들어, 최소 1개 서브 픽처 내 슬라이스에 대한 NUT 값이 IDR이면서, 다른 최소 1개 서브 픽처 내 슬라이스에 대한 NUT 값이 CRA로 구성될 수 있다.
한편, 실시 예에 따라, 조합 3과 같은 실시예의 적용은 제한될 수 있다. 일 실시 예에서, IRAP 또는 GDR 엑세스 유닛에 속한 픽쳐들은 모두 동일한 NUT를 가지도록 제한될 수 있다. 즉, 현재 엑세스 유닛이 IRAP 픽처로만 구성되는 IRAP 엑세스 유닛이거나, 현재 엑세스 유닛이 GDR 픽처로만 구성되는 GDR 엑세스 유닛인 경우, 그에 속한 픽처들은 모두 동일한 NUT를 가지도록 제한될 수 있다. 예를들어, 최소 1개 서브 픽처 내 슬라이스에 대한 NUT 값이 IDR이면서, 다른 최소 1개 서브 픽처 내 슬라이스에 대한 NUT 값이 CRA로 구성되지 못하게 제한될 수 있다. 이와 같이, 조합 3)이 제한되고, 앞선 조합 1) 및 조합 2가 적용되는 경우, 해당 픽처 내 최소 1개의 서브 픽처는 non-IRAP (인터 슬라이스)에 대한 NUT 값을 가지도록 제한될 수 있다. 예를들어, 부호화 및 복호화 과정에서 해당 픽처 내 모든 서브 픽처가 IDR에 대한 NUT 값을 가질 수 없도록 제한될 수 있다. 또는, 해당 픽처 내 일부 서브 픽처가 IDR에 대한 NUT 값을 가지고 다른 서브 픽처가 CRA NUT 값을 가지지 않도록 제한될 수 있다.
이하, 픽처 내 혼성 NUT(mixed NAL unit type)가 적용되는 경우에 있어서의 부호화 정보의 시그널링을 위한 관련 신택스(syntax) 및 시맨틱스(semantics)에 대해 설명한다. 그리고 이를 이용한 복호화 과정을 설명한다. 전술한 바와 같이, mixed_nalu_type_in_pic_flag = 1 인 경우, NUT가 서술하는 픽처는 서브 픽처를 의미할 수 있다 (표 3 참고).
한편, 상기와 같이, mixed_nalu_type_in_pic_flag의 값이 혼성 NUT가 적용됨을 나타내는 경우, 하나의 픽처는 적어도 2개의 서브 픽처로 분할될 수 있다. 이에 따라, 해당 픽처에 대한 서브 픽처의 정보가 비트스트림을 통해 시그널링될 수 있다. 이러한 점에서, mixed_nalu_type_in_pic_flag는 현재 픽처가 분할되는지 여부를 나타낼 수 있다. 예를들어, mixed_nalu_type_in_pic_flag의 값이 혼성 NUT가 적용됨을 나타내는 경우, 현재 픽처는 분할됨을 나타낼 수 있다.
이하 도 14의 신택스를 참조하여 설명한다. 도 14는 픽처 파라미터 셋(PPS)의 신택스에 대한 일 실시 예를 도시하는 도면이다. 예를들어, 비트스트림을 통해 현재 픽처가 분할되지 않는지 여부를 나타내는 플래그(e.g. pps_no_pic_partition_flag)가 픽처 파라미터 셋(PPS)을 통해 시그널링될 수 있다. pps_no_pic_partition_flag의 인에이블을 나타내는 값(e.g. 1)은 현재 PPS를 참조하는 픽처들에 대하여 픽처의 분할이 적용되지 않음을 나타낼 수 있다. pps_no_pic_partition_flag의 디스에이블을 나타내는 값(e.g. 0)은 현재 PPS를 참조하는 픽처들에 대하여 슬라이스 또는 타일을 이용한 픽처의 분할이 적용될 수 있음을 나타낼 수 있다. 이러한 실시 예에서, mixed_nalu_type_in_pic_flag의 값이 혼성 NUT가 적용됨을 나타내는 경우, pps_no_pic_partition_flag의 값은 디스에이블을 나타내는 값(e.g. 0)으로 강제될 수 있다.
pps_no_pic_partition_flag가 현재 픽처가 분할될 수 있음을 나타내는 경우, 비트스트림으로부터 서브 픽처의 개수 정보(e.g. pps_num_subpics_minus1)가 획득될 수 있다. pps_num_subpics_minus1은 현재 픽처에 포함된 서브 픽처의 개수에서 1을 감한 값을 나타낼 수 있다. pps_no_pic_partition_flag가 현재 픽처가 분할되지 않음을 나타내는 경우, pps_num_subpics_minus1의 값은 비트스트림으로부터 획득되지 않고 0으로 유도될 수 있다. 이와 같이 결정된 서브픽처의 개수 정보에 따라, 하나의 픽처에 포함된 서브 픽처의 개수만큼 각 서브 픽처에 대한 부호화 정보가 시그널링될 수 있다. 예를들어, 각 서브 픽처를 식별하기 위한 서브 픽처 식별자(e.g. pps_subpic_id) 및/또는 각 서브 픽처의 부호화/복호화 과정의 독립 여부를 알리는 플래그 (subpic_treated_as_pic_flag[ i ])값이 지정되어 시그널링될 수 있다.
혼성 NUT는 하나의 픽처가 2개 이상의 서브 픽처로 구성되었을 때 적용될 수 있다. 이때, 하나의 픽처에 포함된 서브 픽처의 개수 ( i )만큼 각 서브 픽처의 부호화/복호화 과정의 독립 여부를 알리는 플래그 (subpic_treated_as_pic_flag[ i ])값이 지정되어 시그널링될 수 있다. 하나의 서브 픽처가 독립적으로 복호화 되었다는 것은 해당 서브 픽처를 별개의 픽처로 취급하여 복호화를 수행했음을 나타낸다. 즉, 해당 플래그 값이 “on” 인 경우 (e.g. subpic_treated_as_pic_flag = 1), 해당 서브 픽처는 인 루프 필터(in-loop filter) 과정을 제외한 다른 모든 복호화 과정에서 다른 서브 픽처와 독립적으로 복호화 될 수 있다. 반대로, 해당 플래그 값이 “off” 인 경우 (e.g. subpic_treated_as_pic_flag = 0), 해당 서브 픽처는 인터 예측 과정에서 픽처 내 다른 서브 픽처를 참조할 수 있다. 여기서, 인 루프 필터 과정에 대해서는 별도의 플래그를 두어 독립 또는 참조 여부를 제어할 수 있다. 해당 플래그 (subpic_treated_as_pic_flag)는 SPS, PPS, 및 PH 중 하나 이상의 위치에서 정의될 수 있다. 예를들어, 해당 플래그가 SPS에서 정의되는 경우, 해당 플래그는 sps_subpic_treated_as_pic_flag로 명명될 수 있다.
또한, 본 발명에서 하나의 픽처 내 다른 NUT가 존재하는 경우 (e.g. mixed_nalu_type_in_pic_flag = 1), 하나의 픽처 내에서 서브 픽처간 이종의 NUT가 사용되어야 하는 특성으로 인해, 상기 픽처 내의 각 서브 픽처는 독립적으로 부호화/복호화 되어야 할 수 있다. 예를 들어, mixed_nalu_type_in_pic_flag = 1인 픽처의 경우, 해당 픽처 내에 하나 이상의 인터 (P 혹은 B) 슬라이스가 포함되면, 해당 픽터 내 모든 서브 픽처의 subpic_treated_as_pic_flag 값은 “1”로 설정되거나 “1” 값으로 유도되는 것이 강제될 수 있다. 혹은, mixed_nalu_type_in_pic_flag = 1인 경우, subpic_treated_as_pic_flag은 “0” 값을 가질 수 없도록 강제될 수 있다. 예를 들어, mixed_nalu_type_in_pic_flag = 1인 픽처의 경우, 해당 픽처 내 하나 이상의 인터 슬라이스가 포함되면, 해당 픽처에 대한 모든 서브픽처에 대하여, 파싱된 값에 무관하게 subpic_treated_as_pic_flag 값이 “1”로 재설정될 수 있다. 반대로, mixed_nalu_type_in_pic_flag = 1 이면서 subpic_treated_as_pic_flag = 0인 픽처의 경우, 해당 픽처 내에 인터 슬라이스가 포함되면 안된다. 즉, mixed_nalu_type_in_pic_flag = 1 이면서 subpic_treated_as_pic_flag = 0인 픽처의 경우, 해당 픽처 내 슬라이스 타입은 인트라이어야 한다.
또한, 다른 실시예에서는 mixed_nalu_type_in_pic_flag = 1 인 경우, 현재 픽처의 NUT가 RASL이면, 현재 픽처에 대한 subpic_treated_as_pic_flag은 “1”로 설정되도록 강제될 수 있다. 다른 예시로, mixed_nalu_type_in_pic_flag = 1 인 경우, 현재 픽처의 NUT가 RADL이면서 참조하는 픽처의 NUT가 RASL이면, 현재 픽처에 대한 subpic_treated_as_pic_flag은 “1”로 강제될 수 있다.
혼성 NUT 기능은 하나의 픽처 내 모든 서브 픽처 (또는, 슬라이스)가 IRAP 로 구성됨을 제한할 수 있다. 이때, 하나의 픽처 내 모든 슬라이스가 IRAP로 구성되거나, 해당 픽처가 GDR (Gradual Decoding Refresh) 픽처임을 나타내는 플래그 (gdr_or_irap_pic_flag) 값은 “0”으로 강제될 수 있다. 즉, 본 발명에서 하나의 픽처 내 다른 NUT가 존재하는 경우(mixed_nalu_type_in_pic_flag = 1), 상기 플래그 (gdr_or_irap_pic_flag) 값은 “0”으로 설정되거나, “0”값으로 유도될 수 있다. 또는, mixed_nalu_type_in_pic_flag = 1인 경우, gdr_or_irap_pic_flag 는 “1” 값을 가질 수 없도록 강제될 수 있다. 상기 플래그 (gdr_or_irap_pic_flag)는 SPS, PPS, 및 PH 중 하나 이상의 위치에서 정의될 수 있다.
또한, 혼성 NUT 기능이 적용됨에 따라 하나의 픽처 내 최소 1개의 서브 픽처가 IRAP (IDR 또는 CRA) NUT 값을 가지면서, 다른 최소 1개의 서브 픽처가 non-IRAP (inter slice) NUT 값을 가질 수 있다. 즉, 하나의 픽처 내에서 인트라 슬라이스와 인터 슬라이스가 동시에 존재할 수 있다. 기존 HEVC 표준의 경우, 해당 인트라 슬라이스의 NUT가 IDR인 경우, DPB를 리셋하였다. 이에 따라, 해당 시점의 DPB 내 존재하는 모든 복원 픽처가 제거되었다.
그러나 본 발명에 따를 경우, mixed_nalu_type_in_pic_flag = 1인 경우, 하나의 픽처 내 인트라 슬라이스와 인터 슬라이스가 동시에 존재 가능하므로, 하나의 픽처가 IDR NUT이라 해도 DPB을 리셋할 수 없는 경우가 존재한다. 이에 따라, 일 실시 예에서는, 해당 슬라이스가 IDR NUT 인 경우, CRA 처럼 참조 픽처 정보 (RPL: reference picture list)를 해당 IDR의 슬라이스 헤더 정보로 NAL 비트스트림에 삽입할 수 있다. 이를 위해, IDR NUT 임에도 불구하고, RPL 정보가 존재함을 알리는 플래그 (idr_rpl_present_flag) 값이 “1”로 설정될 수 있다. 상기 플래그 (idr_rpl_present_flag) 값이 “1”인 경우, IDR의 슬라이스 헤더 정보로 RPL이 존재한다. 반대로, 상기 플래그 (idr_rpl_present_flag) 값이 “0”인 경우, IDR의 슬라이스 헤더 정보로 RPL이 존재하지 않는다.
한편, 본 발명에서 하나의 픽처 내 다른 NUT이 존재하면서(mixed_nalu_type_in_pic_flag = 1), IDR 픽처의 RPL 정보를 허용하지 않는 경우 (idr_rpl_present_flag = 0), 해당 픽처에 대한 NUT은 IDR_W_RADL 또는 IDR_N_LP 값을 가질 수 없다.
상기 플래그 (idr_rpl_present_flag)는 SPS, PPS, 및 PH 중 하나 이상의 위치에서 정의될 수 있다. 예를 들어, 상기 플래그가 SPS 에서 정의되는 경우, 상기 플래그는 sps_idr_rpl_present_flag로 명명될 수 있다. 예를 들어, 현재 슬라이스의 NUT가 IDR_W_RADL 또는 IDR_N_RADL이더라도, sps_idr_rpl_present_flag의 값에 따라 RPL을 시그널링하기 위하여, 도 15의 슬라이스 헤더의 신택스를 이용하여 슬라이스 헤더 정보가 시그널링될 수 있다. 여기서, sps_idr_rpl_present_flag의 제 1 값(e.g. 0)은 NUT가 IDR_N_LP 또는 IDR_W_RADL인 슬라이스의 슬라이스 헤더에 의하여 RPL 신택스 요소가 제공되지 않음을 나타낼 수 있다. sps_idr_rpl_present_flag의 제 2 값(e.g. 1)은 NUT가 IDR_N_LP 또는 IDR_W_RADL인 슬라이스의 슬라이스 헤더에 의하여 RPL 신택스 요소가 제공될 수 있음을 나타낼 수 있다.
한편, 다른 일 실시 예에서, mixed_nalu_type_in_pic_flag = 1인 경우, RPL이 픽처 헤더 정보로 시그널링될 수 있다. 예를 들어, 도 14에서의 신택스의 적용에 있어서, mixed_nalu_type_in_pic_flag의 값이 혼성 NUT가 적용됨을 나타내는 경우, pps_no_pic_partition_flag의 값은 디스에이블을 나타내는 값(e.g. 0)으로 강제될 수 있다. 그리고 이에 따라 RPL 정보가 픽처 헤더에서 제공되는지 여부를 나타내는 플래그(pps_rpl_info_in_ph_flag)의 값이 비트스트림으로부터 획득될 수 있다. pps_rpl_info_in_ph_flag가 인에이블(e.g. 1)을 나타내면, RPL 정보는 도 16 및 도 17에 도시된 바와 같이 픽처 헤더에서 획득될 수 있다. 이와 같이, mixed_nalu_type_in_pic_flag의 값에 기반하여 해당 픽처의 타입에 무관하게 RPL 정보가 획득될 수 있다. 반면, pps_rpl_info_in_ph_flag가 디스에이블(e.g. 0)을 나타내면, 픽처 헤더에서 RPL 정보를 획득할 수 없다. 예컨대, pps_rpl_info_in_ph_flag 값이 “0”이면서, 슬라이스 NUT가 IDR_N_LP 또는 IDR_W_RADL이고 sps_idr_rpl_present_flag의 값이 “0”이면, 해당 슬라이스의 RPL 정보는 획득될 수 없다. 즉, 해당 슬라이스의 RPL 정보는 없으므로, RPL 정보는 초기화되어 비어 있는(empty) 것으로 유도될 수 있다.
전술한 설명과 같이 하나의 픽처는 이종의 NAL 유닛으로 시그널링될 수 있다. 이와 같이 하나의 픽처를 시그널링 하기 위하여 서로 다른 NUT를 가진 NAL 유닛이 사용될 수 있는 점에서, NAL 유닛의 타입에 따라 픽처의 타입을 결정하기 위한 방법이 요구된다. 이에 따라 랜덤 액세스(RA : Random Access)시, 해당 픽처가 정상적으로 복원되어 출력 (output) 가능한지 여부가 결정될 수 있다.
일 실시 예에 따른 디코딩 과정에서, 하나의 픽처에 대응되는 각각의 VCL NAL 유닛이 CRA_NUT 타입의 NAL 유닛인 경우, 해당 픽처는 CRA픽처로 결정될 수 있다. 그리고, 하나의 픽처에 대응되는 각각의 VCL NAL 유닛이 IDR_W_RADL이거나, IDR_N_LP 타입의 NAL 유닛인 경우, 해당 픽처는 IDR픽처로 결정될 수 있다. 그리고, 하나의 픽처에 대응되는 각각의 VCL NAL 유닛이 IDR_W_RADL, IDR_N_LP 또는 CRA_NUT 타입의 NAL 유닛인 경우, 해당 픽처는 IRAP픽처로 결정될 수 있다.
또한, 하나의 픽처에 대응되는 각각의 VCL NAL 유닛이 RADL_NUT 타입의 NAL 유닛인 경우, 해당 픽처는 RADL(Random Access decodable leading) 픽처로 결정될 수 있다. 그리고, 하나의 픽처에 대응되는 각각의 VCL NAL 유닛이 TRAIL_NUT 타입의 NAL 유닛인 경우, 해당 픽처는 트레일링(trailing) 픽처로 결정될 수 있다. 그리고, 하나의 픽처에 대응되는 VCL NAL 유닛 중에서 적어도 하나의 VCL NAL 유닛의 타입이 RASL_NUT 타입이고 다른 모든 VCL NAL 유닛의 타입이 RASL_NUT 타입이거나 RADL_NUT 타입인 경우, 상기 해당 픽처는 RASL(random access skipped leading) 픽처로 결정될 수 있다.
한편, 다른 일 실시 예에 따른 디코딩 과정에서, 하나의 픽처 내 최소 1개의 서브 픽처가 RASL이면서 다른 최소 1개의 서브 픽처가 RADL 인 경우, 해당 픽처는 RASL 픽처로 결정될 수 있다. 예를들어, 하나의 픽처 내 최소 1개의 서브 픽처가 RASL이면서 다른 최소 1개의 서브 픽처가 RADL 인 경우, 디코딩 과정 중 해당 픽처는 RASL 픽처로 설정될 수 있다. 여기서, 서브 픽처에 대응되는 VCL NAL 유닛의 타입이 RASL_NUT이면, 해당 서브 픽처는 RASL로 결정될 수 있다. 이에 따라, RA 시 RASL 서브 픽처 및 RADL 서브 픽처는 모두 RASL 픽처로 취급될 수 있고, 이에 따라 해당 픽처는 출력되지 않을 수 있다.
한편, 다른 일 실시 예에 따른 디코딩 과정에서, 하나의 픽처 내 최소 1개의 서브 픽처가 RASL이면, 해당 픽처는 RASL 픽처로 설정될 수 있다. 예를들어, 하나의 픽처 내 최소 1개의 서브 픽처가 RASL이면서 다른 최소 1개의 서브 픽처가 TRAIL 인 경우, 디코딩 과정 중 해당 픽처는 RASL 픽처로 설정될 수 있다. 이에 따라, RA 시 해당 픽처는 RASL 픽처로 취급될 수 있고, 해당 픽처는 출력되지 않을 수 있다.
여기서, RA 발생은 해당 인터 슬라이스 (RADL, RASL, 또는 TRAIL) 와 연결된 (관련된) IRAP 픽처의 NoOutputBeforeRecoveryFlag 값으로 판단할 수 있다. 해당 플래그 값이 “1”인 경우 (NoOutputBeforeRecoveryFlag = 1), RA 발생을 의미하며, 해당 플래그 값이 “0”인 경우 (NoOutputBeforeRecoveryFlag = 0), 일반적인 재생을 의미한다. 해당 플래그 값은 IRAP에 대해 다음과 같이 설정될 수 있다.
- 현재 픽처가 IRAP 일 때, NoOutputBeforeRecoveryFlag 값 설정 과정
① 픽처가 비트스트림의 첫번째 픽처이면, NoOutputBeforeRecoveryFlag을 “1”로 설정
② 픽처가 IDR 이면, NoOutputBeforeRecoveryFlag을 “1”로 설정
③ 픽처가 CRA 이면서 외부에서 RA를 알리면, NoOutputBeforeRecoveryFlag을 “1”로 설정
④ 픽처가 CRA 이면서 외부에서 RA를 알리지 않으면, NoOutputBeforeRecoveryFlag을 “0”로 설정
일 실시 예에서, 복호화 장치는 외부 단말로부터 랜덤 액세스 발생을 시그널링 받을 수 있다. 예를들어, 외부 단말은 랜덤 액세스 발생 정보의 값을 1로 설정하여 복호화 장치로 시그널링 함으로써 랜덤 액세스 발생을 복호화 장치로 시그널링할 수 있다. 복호화 장치는 외부 단말로부터 랜덤 액세스 발생을 수신하였는지를 나타내는 플래그 HandleCraAsClvsStartFlag의 값을 외부 단말로 부터 수신한 랜덤 액세스 발생 정보에 따라 1로 설정될 수 있다. 복호화 장치는 HandleCraAsClvsStartFlag의 값과 동일한 값으로 NoOutputBeforeRecoveryFlag의 값을 설정할 수 있다. 이에 따라, 복호화 장치는 현재 픽처가 CRA 픽처이면서 HandleCraAsClvsStartFlag의 값이 “1”인 경우, 해당 CRA 픽처에 대하여 랜덤 액세스가 발생하였음을 결정하거나, 해당 CRA가 비트스트림 맨 처음에 위치한 것으로 취급하여 복호화를 수행할 수 있다.
RA 시, 현재 픽처가 출력될지 말지를 결정하는 플래그 (PictureOutputFlag)를 설정하는 과정은 다음과 같다. 예를들어, 현재 픽처에 대한 PictureOutputFlag는 아래의 순서에 따라 설정될 수 있다. 여기서, PictureOutputFlag의 제 1 값(e.g. 0)은 현재 픽처가 출력되지 않음을 나타낼 수 있다. PictureOutputFlag의 제 2 값(e.g. 1)은 현재 픽처가 출력됨을 나타낼 수 있다.
(1) 현재 픽처가 RASL이면서, 연관된 IRAP 픽처의 NoOutputBeforeRecoveryFlag가 “1”이면, PictureOutputFlag을 “0”으로 설정
(2) 현재 픽처가 NoOutputBeforeRecoveryFlag의 값이 “1”인 GDR 픽처이거나, 그의 복원 픽처인 경우 PictureOutputFlag는 “0”으로 설정
(3) 그 외 (otherwise), 비트스트림 내의 pic_output_flag 값과 동일한 값으로 PictureOutputFlag의 값을 설정. 여기서, pic_output_flag 은 PH 및 SH의 하나 이상의 위치에서 획득될 수 있다.
도 18은 본 발명에서 제시한 서로 다른 3개의 컨텐츠의 합성에 대한 예시를 보인다. 도 18-(a)는 서로 다른 3개의 컨텐츠에 대한 sequences를 나타내며, 편의 상 하나의 픽처를 하나의 packet으로 보였으나, 하나의 픽처는 다수 개의 슬라이스로 분할되어 다수 개의 packet이 존재할 수 있다. 도 18-(b) 및 도 18-(c)는 도 18-(a)에서 점선으로 표시한 픽처에 대한 합성된 이미지 결과를 보인다. 도 18에서 동일한 색상은 동일한 픽처/서브 픽처/슬라이스를 의미한다. 또한, P 슬라이스 및 B 슬라이스는 인터 NUT 중에 하나의 값을 가질 수 있다.
상기와 같이, 본 발명을 통해 다수 개의 컨텐츠를 합성할 때에, 반드시 인트라 슬라이스 (픽처) 위치를 동일하게 맞출 필요 없이, 단순하게 계층적 GOP 구조를 맞춰 줌으로써, 딜레이 없이 빠르고 용이하게 컨텐츠를 합성할 수 있다.
부호화 및 복호화 실시예
이하, 전술한 방법에 따라 영상 복호화 장치가 영상을 복호화하는 방법을 설명한다. 도 19과 도 20은 본 발명의 일 실시 예에 따른 복호화 방법과 부호화 방법을 설명하는 순서도를 나타낸다.
일 실시 예에 따른 영상 복호화 장치는 메모리 및 적어도 하나의 프로세서를 포함할 수 있으며, 프로세서의 동작에 의하여 이하의 복호화 방법을 수행할 수 있다. 먼저, 복호화 장치는 비트스트림으로부터 현재 NAL(network abstraction layer) 유닛의 타입을 나타내는 NAL 유닛 타입 정보를 획득할 수 있다(S1910).
다음으로, 복호화 장치는 NAL 유닛 타입 정보가 현재 NAL 유닛의 NAL 유닛 타입이 영상 슬라이스에 대한 부호화 데이터임을 나타내는 경우, 현재 픽처에 혼성 NAL 유닛 타입(mixed NAL unit type)이 적용되는지 여부에 기반하여 영상 슬라이스를 복호화할 수 있다(S1920).
여기서, 복호화 장치는 혼성 NAL 유닛 타입이 적용되는지 여부에 기반하여, 현재 NAL 유닛의 NAL 유닛 타입이 현재 영상 슬라이스에 대한 서브 픽처의 속성을 나타내는지 여부를 결정함으로써 영상 슬라이스의 복호화를 수행할 수 있다.
혼성 NAL 유닛 타입이 적용되는지 여부는 픽처 파라미터 셋으로부터 획득되는 제 1 플래그(e.g. pps_mixed_nalu_types_in_pic_flag)에 기반하여 식별될 수 있다. 혼성 NAL 유닛 타입이 적용되는 경우, 현재 영상 슬라이스가 속한 현재 픽처는 적어도 두개의 서브 픽처로 분할될 수 있다.
나아가, 혼성 NAL 유닛 타입이 적용되는지 여부에 기반하여 서브 픽처에 대한 복호화 정보가 비트스트림에 포함되어 있을 수 있다. 일 실시 예에서, 비트스트림으로부터 현재 픽처가 분할되지 않는지 여부를 나타내는 제 2 플래그(e.g. pps_no_pic_partition_flag)가 획득될 수 있다. 그리고 제 2 플래그가 현재 픽처가 분할될 수 있음을 나타내는 경우(e.g. pps_no_pic_partition_flag == 0), 참조 픽처 리스트 정보가 픽처 헤더에서 제공되는지 여부를 나타내는 제 3 플래그(e.g. pps_rpl_info_in_ph_flag)가 비트스트림으로부터 획득될 수 있다.
이러한 예에서, 상기 혼성 NAL 유닛 타입이 적용되는 경우, 현재 픽처가 적어도 두개의 서브 픽처로 분할이 강제됨에 따라 제 2 플래그(pps_no_pic_partition_flag)의 값이 0으로 강제되고, 참조 픽처 리스트 정보가 픽처 헤더에서 제공되는지 여부를 나타내는 제 3 플래그(e.g. pps_rpl_info_in_ph_flag)가 비트스트림에서 실제로 획득된 제 2 플래그(pps_no_pic_partition_flag)의 값에 무관히 비트스트림으로부터 획득될 수 있다. 이에 따라, 제 3 플래그가 참조 픽처 리스트 정보가 픽처 헤더에서 제공됨을 나타내면(e.g. pps_rpl_info_in_ph_flag == 1), 픽처 헤더에 관한 비트스트림에서 참조 픽처 리스트 정보가 획득될 수 있다.
또한, 혼성 NAL 유닛 타입이 적용되는 경우, 현재 픽처는 서로 상이한 NAL 유닛 타입을 가지는 제 1 서브 픽처와 제 2 서브 픽처에 기반하여 복호화될 수 있다. 여기서, 제 1 서브 픽처의 NAL 유닛 타입이 IDR_W_RADL(Instantaneous Decoding Refresh_With_Random Access Decodable Leading), IDR_N_LP(Instantaneous Decoding Refresh_No reference_Leading Picture) 및 CRA_NUT(Clean Random Access_NAL Unit Type) 중 어느 하나의 값을 가지는 경우, 제 2 서브 픽처 NUT로 선택 가능한 가용(available) NAL 유닛 타입은 IDR_W_RADL, IDR_N_LP 및 CRA_NUT 중에서 제 1 서브 픽처에서 선택되지 않은 NAL 유닛 타입을 포함할 수 있다.
또는, 제 1 서브 픽처의 NAL 유닛 타입이 IDR_W_RADL(Instantaneous Decoding Refresh_With_Random Access Decodable Leading), IDR_N_LP(Instantaneous Decoding Refresh_No reference_Leading Picture) 및 CRA_NUT(Clean Random Access_NAL Unit Type) 중 어느 하나의 값을 가지는 경우, 제 2 서브 픽처의 가용 NAL 유닛 타입은 TRAIL_NUT(Trail_NAL Unit Type)를 포함할 수 있다.
한편, 혼성 NAL 유닛 타입이 적용되는 경우, 현재 픽처를 구성하는 제 1 서브 픽처와 제 2 서브 픽처는 독립적으로 복호화 될 수 있다. 예를들어, B 또는 P 슬라이스를 포함하는 제 1 서브 픽처와 제 2 서브 픽처는 하나의 픽처로 취급되어 복호화 될 수 있다. 예를들어, 제 1 서브 픽처는 제 2 서브 픽처를 참조 픽처로 사용하지 않고 복호화 될 수 있다.
보다 상세히, 제 1 서브 픽처가 복호화 과정에서 픽처로 취급되는지 여부를 나타내는 제 4 플래그(e.g. sps_subpic_treated_as_pic_flag)가 비트스트림으로부터 획득될 수 있다. 제 1 서브 픽처가 복호화 과정에서 픽처로 취급됨을 제 4 플래그가 나타내면(e.g. sps_subpic_treated_as_pic_flag == 1), 제 1 서브 픽처는 복호화 과정에서 픽처로 취급되어 복호화 될 수 있다. 이러한 과정에서, 현재 픽처에 혼성 NAL 유닛 타입이 적용되고 제 1 서브 픽처를 포함한 현재 픽처가 P 슬라이스 또는 B 슬라이스를 적어도 하나 포함하면, 제 4 플래그는 제 1 서브 픽처가 복호화 과정에서 픽처로 취급됨을 나타내는 값을 가지도록 강제될 수 있다. 반면, 현재 픽처에 혼성 NAL 유닛 타입이 적용되고 제 1 서브 픽처가 복호화 과정에서 픽처로 취급되지 않음을 제 4 플래그가 나타내면(e.g. sps_subpic_treated_as_pic_flag == 0), 현재 픽처에 속한 슬라이스 타입은 인트라이어야 한다.
제 1 서브 픽처가 복호화 과정에서 픽처로 취급됨을 제 4 플래그가 나타내면, 제 1 서브 픽처의 복호화 과정이 다른 서브 픽처로부터 독립됨을 결정할 수 있다. 예를들어, 제 4 플래그가 제 1 서브 픽처가 복호화 과정에서 다른 서브 픽처로부터 독립되어 복호화됨을 나타내면, 제 1 서브 픽처는 다른 서브 픽처를 참조 픽처로 사용하지 않고 복호화 될 수 있다.
또한, 제 1 서브 픽처가 RASL(Random Access Skipped Leading) 서브 픽처인 경우, 제 2 서브 픽처가 RADL(Random Access Decodable Leading) 서브 픽처인지 여부에 기반하여 현재 픽처가 RASL 픽처로 결정될 수 있다. 여기서, 제 1 서브 픽처에 대응되는 NAL 유닛의 타입이 RASL_NUT(Random Access Skipped Leading_NAL Unit Type)인 경우, 제 1 서브 픽처는 RASL 서브 픽처로 결정될 수 있다.
또한, 제 3 플래그(e.g. pps_rpl_info_in_ph_flag)가 참조 픽처 리스트 정보가 픽처 헤더에서 획득되지 않고 슬라이스 헤더에서 획득될 수 있음을 나타내고(e.g. pps_rpl_info_in_ph_flag == 0), 제 1 서브 픽처의 NAL 유닛 타입이 IDR_W_RADL(Instantaneous Decoding Refresh_With_Random Access Decodable Leading) 및 IDR_N_LP(Instantaneous Decoding Refresh_No reference_Leading Picture) 중 어느 하나의 값을 가지는 경우, IDR 픽처에 대한 참조 픽처 리스트 (reference picture list) 정보가 슬라이스 헤더에 존재할 수 있는지 여부를 나타내는 제 5 플래그(e.g. sps_idr_rpl_present_flag)에 기반하여, 슬라이스 헤더에 관한 비트스트림로부터 참조 픽처 리스트 정보가 획득될 수 있다. 여기서, 제 5 플래그는 시퀀스 파라미터 셋에 관한 비트스트림으로부터 획득될 수 있다.
한편, 현재 픽처에 연관된 IRAP(Intra Random Access Point) 픽처에 대하여 랜덤 엑세스가 수행되는 경우, 현재 픽처가 RASL(Random Access Skipped Leading) 서브 픽처이면 현재 픽처는 출력(디스플레이)되지 않을 수 있다.
일 실시 예에 따른 영상 부호화 장치는 메모리 및 적어도 하나의 프로세서를 포함할 수 있으며, 프로세서의 동작에 의하여 전술한 복호화 방법에 대응되는 부호화 방법을 수행할 수 있다. 예를들어, 부호화 장치는 현재 픽처가 혼성 NAL 유닛 타입에 기반하여 부호화되는 경우, 픽처를 분할하는 서브 픽처의 타입을 결정할 수 있다(S2010). 그리고, 부호화 장치는 서브 픽처의 타입에 기반하여, 서브 픽처를 구성하는 적어도 하나의 현재 영상 슬라이스를 부호화하여 현재 NAL 유닛을 생성할 수 있다(S2020). 이때, 부호화 장치는 현재 픽처가 혼성 NAL 유닛 타입에 기반하여 부호화되는 경우 현재 NAL 유닛의 NAL 유닛 타입이 현재 영상 슬라이스에 대한 서브 픽처의 속성을 나타내도록 부호화함으로써 영상 슬라이스를 부호화 할 수 있다.
또한, 본 발명은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터(정보 처리 기능을 갖는 장치를 모두 포함한다)가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 장치의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (16)

  1. 영상 복호화 장치가 수행하는 영상 복호화 방법으로서,
    비트스트림으로부터 현재 NAL(network abstraction layer) 유닛의 타입을 나타내는 NAL 유닛 타입 정보를 획득하는 단계; 및
    상기 NAL 유닛 타입 정보가 상기 현재 NAL 유닛의 NAL 유닛 타입이 영상 슬라이스에 대한 부호화 데이터임을 나타내는 경우, 현재 픽처에 혼성 NAL 유닛 타입(mixed NAL unit type)이 적용되는지 여부에 기반하여 상기 영상 슬라이스를 복호화 하는 단계를 포함하고,
    상기 영상 슬라이스를 복호화 하는 단계는, 상기 혼성 NAL 유닛 타입이 적용되는지 여부에 기반하여 상기 현재 NAL 유닛의 NAL 유닛 타입이 상기 현재 영상 슬라이스에 대한 서브 픽처의 속성을 나타내는지 여부를 결정함으로써 수행되는 영상 복호화 방법.
  2. 제 1 항에 있어서,
    상기 혼성 NAL 유닛 타입이 적용되는지 여부는 픽처 파라미터 셋으로부터 획득되는 제 1 플래그에 기반하여 식별되는 영상 복호화 방법.
  3. 제 1 항에 있어서,
    상기 비트스트림으로부터 상기 현재 픽처가 분할되지 않는지 여부를 나타내는 제 2 플래그가 획득되고,
    상기 제 2 플래그가 상기 현재 픽처가 분할될 수 있음을 나타내는 경우, 참조 픽처 리스트 정보가 픽처 헤더에서 제공되는지 여부를 나타내는 제 3 플래그가 비트스트림으로부터 획득되되,
    상기 혼성 NAL 유닛 타입이 적용되는 경우, 상기 제 2 플래그는 상기 현재 픽처가 분할될 수 있음을 나타내는 값을 가지도록 제한되는 영상 복호화 방법.
  4. 제 3항에 있어서,
    상기 제 3 플래그가 상기 참조 픽처 리스트 정보가 상기 픽처 헤더에서 제공됨을 나타내면, 상기 픽처 헤더에 관한 비트스트림으로부터 상기 참조 픽처 리스트 정보가 획득되는 영상 복호화 방법
  5. 제 1 항에 있어서,
    상기 혼성 NAL 유닛 타입이 적용되는 경우, 상기 현재 영상 슬라이스가 속한 현재 픽처는 적어도 두개의 서브 픽처로 분할되는 영상 복호화 방법.
  6. 제 5 항에 있어서,
    상기 혼성 NAL 유닛 타입이 적용되는 경우, 상기 현재 픽처는 서로 상이한 NAL 유닛 타입을 가지는 제 1 서브 픽처와 제 2 서브 픽처에 기반하여 복호화되는 영상 복호화 방법.
  7. 제 6 항에 있어서,
    상기 제 1 서브 픽처가 복호화 과정에서 픽처로 취급되는지 여부를 나타내는 제 4 플래그가 상기 비트스트림으로부터 획득되고,
    상기 제 1 서브 픽처가 복호화 과정에서 픽처로 취급됨을 상기 제 4 플래그가 나타내면, 상기 제 1 서브 픽처는 복호화 과정에서 픽처로 취급되어 복호화 되는 영상 복호화 방법.
  8. 제 7 항에 있어서,
    상기 제 4 플래그에 기반하여 상기 제 1 서브 픽처의 복호화 과정의 독립 여부가 결정되고,
    상기 제 4 플래그가 상기 제 1 서브 픽처가 복호화 과정에서 다른 서브 픽처로부터 독립되어 복호화됨을 나타내면, 상기 제 1 서브 픽처는 다른 서브 픽처를 참조 하지 않고 복호화 되는 영상 복호화 방법.
  9. 제 6 항에 있어서,
    상기 제 1 서브 픽처의 NAL 유닛 타입이 IDR_W_RADL(Instantaneous Decoding Refresh_With_Random Access Decodable Leading), IDR_N_LP(Instantaneous Decoding Refresh_No reference_Leading Picture) 및 CRA_NUT(Clean Random Access_NAL Unit Type) 중 어느 하나의 값을 가지는 경우, 제 2 서브 픽처의 가용 NAL 유닛 타입은 IDR_W_RADL, IDR_N_LP 및 CRA_NUT 중에서 상기 제 1 서브 픽처에서 선택되지 않은 NAL 유닛 타입을 포함하는 영상 복호화 방법.
  10. 제 6 항에 있어서,
    상기 제 1 서브 픽처의 NAL 유닛 타입이 IDR_W_RADL(Instantaneous Decoding Refresh_With_Random Access Decodable Leading), IDR_N_LP(Instantaneous Decoding Refresh_No reference_Leading Picture) 및 CRA_NUT(Clean Random Access_NAL Unit Type) 중 어느 하나의 값을 가지는 경우, 제 2 서브 픽처의 가용 NAL 유닛 타입은 TRAIL_NUT(Trail_NAL Unit Type)를 포함하는 영상 복호화 방법.
  11. 제 6 항에 있어서,
    상기 제 1 서브 픽처가 RASL(Random Access Skipped Leading) 서브 픽처인 경우, 상기 제 2 서브 픽처가 RADL(Random Access Decodable Leading) 서브 픽처인지 여부에 기반하여 상기 현재 픽처가 RASL 픽처로 결정되는 영상 복호화 방법.
  12. 제 6 항에 있어서,
    상기 제 1 서브 픽처의 NAL 유닛 타입이 IDR_W_RADL(Instantaneous Decoding Refresh_With_Random Access Decodable Leading) 및 IDR_N_LP(Instantaneous Decoding Refresh_No reference_Leading Picture) 중 어느 하나의 값을 가지는 경우, IDR 픽처에 대한 참조 픽처 리스트 (reference picture list) 정보가 존재할 수 있는지 여부를 나타내는 제 5 플래그에 기반하여, 상기 비트스트림으로부터 참조 픽처 리스트 정보가 획득되는 영상 복호화 방법
  13. 제 12 항에 있어서,
    상기 제 5 플래그는 시퀀스 파라미터 셋으로부터 획득되는 영상 복호화 방법.
  14. 메모리 및 적어도 하나의 프로세서를 포함하는 영상 복호화 장치로서,
    상기 적어도 하나의 프로세서는,
    비트스트림으로부터 현재 NAL(network abstraction layer) 유닛의 타입을 나타내는 NAL 유닛 타입 정보를 획득하고,
    상기 NAL 유닛 타입 정보가 상기 현재 NAL 유닛의 NAL 유닛 타입이 영상 슬라이스에 대한 부호화 데이터임을 나타내는 경우, 현재 픽처에 혼성 NAL 유닛 타입이 적용되는지 여부에 기반하여 상기 영상 슬라이스를 복호화하되,
    상기 영상 슬라이스의 복호화는, 상기 혼성 NAL 유닛 타입이 적용되는지 여부에 기반하여 상기 현재 NAL 유닛의 NAL 유닛 타입이 상기 현재 영상 슬라이스에 대한 서브 픽처의 속성을 나타내는지 여부를 결정함으로써 수행되는 영상 복호화 장치.
  15. 영상 부호화 장치에 의해 수행되는 영상 부호화 방법으로서,
    현재 픽처가 혼성 NAL 유닛 타입에 기반하여 부호화되는 경우, 상기 픽처를 분할하는 서브 픽처의 타입을 결정하는 단계; 및
    상기 서브 픽처의 타입에 기반하여 상기 서브 픽처를 구성하는 적어도 하나의 현재 영상 슬라이스를 부호화하여 현재 NAL 유닛을 생성하는 단계를 포함하고,
    상기 영상 슬라이스를 부호화 하는 단계는, 상기 현재 픽처가 상기 혼성 NAL 유닛 타입에 기반하여 부호화되는 경우 상기 현재 NAL 유닛의 NAL 유닛 타입이 상기 현재 영상 슬라이스에 대한 서브 픽처의 속성을 나타내도록 부호화함으로써 수행되는 영상 부호화 방법.
  16. 제 15 항의 영상 부호화 방법에 의해 생성된 비트스트림을 전송하는 방법.
PCT/KR2020/018464 2020-04-24 2020-12-16 영상의 복호화 방법 및 장치 WO2021215614A1 (ko)

Priority Applications (9)

Application Number Priority Date Filing Date Title
BR112022014902A BR112022014902A2 (pt) 2020-04-24 2020-12-16 Métodos de decodificação de vídeo, dispositivo de decodificação de vídeo e método de transmissão de fluxo de dados contínuo
CN202080005988.4A CN113875245A (zh) 2020-04-24 2020-12-16 影像的译码方法及装置
EP20870472.6A EP4142286A4 (en) 2020-04-24 2020-12-16 IMAGE DECODING METHOD AND APPARATUS
MX2022008860A MX2022008860A (es) 2020-04-24 2020-12-16 Metodo y dispositivo de decodificacion de video.
JP2021560581A JP7358502B2 (ja) 2020-04-24 2020-12-16 映像の復号化方法及び装置
US17/314,032 US11265560B2 (en) 2020-04-24 2021-05-06 Method and device for decoding video
US17/643,370 US11770543B2 (en) 2020-04-24 2021-12-08 Method and device for decoding video
US18/467,662 US20240007655A1 (en) 2020-04-24 2023-09-14 Method and device for decoding video
JP2023166084A JP2023169389A (ja) 2020-04-24 2023-09-27 映像の復号化方法及び装置

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR10-2020-0050298 2020-04-24
KR20200050298 2020-04-24
KR1020200153467A KR102267873B1 (ko) 2020-04-24 2020-11-17 영상의 복호화 방법 및 장치
KR1020200153465A KR102267844B1 (ko) 2020-04-24 2020-11-17 영상의 복호화 방법 및 장치
KR10-2020-0153465 2020-11-17
KR10-2020-0153467 2020-11-17

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/314,032 Continuation US11265560B2 (en) 2020-04-24 2021-05-06 Method and device for decoding video

Publications (1)

Publication Number Publication Date
WO2021215614A1 true WO2021215614A1 (ko) 2021-10-28

Family

ID=76600394

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/018464 WO2021215614A1 (ko) 2020-04-24 2020-12-16 영상의 복호화 방법 및 장치

Country Status (3)

Country Link
KR (3) KR102267873B1 (ko)
TW (1) TWI782498B (ko)
WO (1) WO2021215614A1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150081236A (ko) * 2014-01-03 2015-07-13 삼성전자주식회사 효율적인 파라미터 전달을 사용하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
KR20180097106A (ko) * 2017-02-22 2018-08-30 에스케이텔레콤 주식회사 영상 복호화 방법 및 장치

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130114694A1 (en) * 2011-11-08 2013-05-09 Qualcomm Incorporated Parameter set groups for coded video data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150081236A (ko) * 2014-01-03 2015-07-13 삼성전자주식회사 효율적인 파라미터 전달을 사용하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
KR20180097106A (ko) * 2017-02-22 2018-08-30 에스케이텔레콤 주식회사 영상 복호화 방법 및 장치

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BENJAMIN BROSS , JIANLE CHEN , SHAN LIU , YE-KUI WANG: "Versatile Video Coding (Draft 8)", 17. JVET MEETING; 20200107 - 20200117; BRUSSELS; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ), no. JVET-Q2001-vE, 12 March 2020 (2020-03-12), pages 1 - 510, XP030285390 *
L. CHEN, S.-T. HSIANG, O. CHUBACH, Y.-W. HUANG, S.-M. LEI (MEDIATEK): "AHG9: On signalling the mixed NAL unit type flag", 130. MPEG MEETING; 20200420 - 20200424; ALPBACH; (MOTION PICTURE EXPERT GROUP OR ISO/IEC JTC1/SC29/WG11), 3 April 2020 (2020-04-03), XP030285854 *
Y.-K. WANG (BYTEDANCE): "AHG9: A summary of proposals on mixed NAL unit types within a coded picture", 130. MPEG MEETING; 20200420 - 20200424; ALPBACH; (MOTION PICTURE EXPERT GROUP OR ISO/IEC JTC1/SC29/WG11), 12 April 2020 (2020-04-12), XP030287526 *

Also Published As

Publication number Publication date
TWI782498B (zh) 2022-11-01
TW202141985A (zh) 2021-11-01
KR20210131920A (ko) 2021-11-03
KR102267844B1 (ko) 2021-06-22
KR102267873B1 (ko) 2021-06-22

Similar Documents

Publication Publication Date Title
WO2018044088A1 (ko) 비디오 신호 처리 방법 및 장치
WO2017057953A1 (ko) 비디오 코딩 시스템에서 레지듀얼 신호 코딩 방법 및 장치
WO2016200043A1 (ko) 비디오 코딩 시스템에서 가상 참조 픽처 기반 인터 예측 방법 및 장치
WO2012023763A2 (ko) 인터 예측 부호화 방법
WO2012148138A2 (ko) 인트라 예측 방법과 이를 이용한 부호화기 및 복호화기
WO2017188565A1 (ko) 영상 코딩 시스템에서 영상 디코딩 방법 및 장치
WO2018056702A1 (ko) 비디오 신호 처리 방법 및 장치
WO2020242145A1 (ko) 적응적 파라미터 셋을 사용하는 비디오 코딩 방법 및 장치
WO2018128222A1 (ko) 영상 코딩 시스템에서 영상 디코딩 방법 및 장치
WO2016056754A1 (ko) 3d 비디오 부호화/복호화 방법 및 장치
WO2021225338A1 (ko) 영상 디코딩 방법 및 그 장치
WO2021201515A1 (ko) Hls를 시그널링하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 컴퓨터 판독 가능한 기록 매체
WO2020076066A1 (ko) 신택스 디자인 방법 및 신택스를 이용하여 코딩을 수행하는 장치
WO2019143103A1 (ko) 다양한 변환 기술을 사용하는 비디오 코딩 방법 및 장치
WO2014051372A1 (ko) 영상 복호화 방법 및 이를 이용하는 장치
WO2021118261A1 (ko) 영상 정보를 시그널링하는 방법 및 장치
WO2021060801A1 (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2015057032A1 (ko) 멀티 뷰를 포함하는 비디오 부호화/복호화 방법 및 장치
WO2019027200A1 (ko) 비-제로 계수들의 위치를 표현하는 방법 및 장치
WO2020242181A1 (ko) 인트라 모드 후보 구성 방법 및 영상 복호화 장치
WO2018128228A1 (ko) 영상 코딩 시스템에서 영상 디코딩 방법 및 장치
WO2021215614A1 (ko) 영상의 복호화 방법 및 장치
WO2021107634A1 (ko) 픽처 분할 정보를 시그널링 하는 방법 및 장치
WO2021235895A1 (ko) 영상 코딩 방법 및 그 장치
WO2021137588A1 (ko) 픽처 헤더를 포함하는 영상 정보를 코딩하는 영상 디코딩 방법 및 그 장치

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2021560581

Country of ref document: JP

Kind code of ref document: A

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

Ref document number: 20870472

Country of ref document: EP

Kind code of ref document: A1

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112022014902

Country of ref document: BR

WWE Wipo information: entry into national phase

Ref document number: 2022120184

Country of ref document: RU

ENP Entry into the national phase

Ref document number: 2020870472

Country of ref document: EP

Effective date: 20221124

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 112022014902

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20220727