WO2021071186A1 - 픽처 분할 방법 및 복호화 장치 - Google Patents

픽처 분할 방법 및 복호화 장치 Download PDF

Info

Publication number
WO2021071186A1
WO2021071186A1 PCT/KR2020/013522 KR2020013522W WO2021071186A1 WO 2021071186 A1 WO2021071186 A1 WO 2021071186A1 KR 2020013522 W KR2020013522 W KR 2020013522W WO 2021071186 A1 WO2021071186 A1 WO 2021071186A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
slice
flag
picture
mapping
Prior art date
Application number
PCT/KR2020/013522
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
Priority claimed from KR1020200032688A external-priority patent/KR20210042001A/ko
Application filed by 에스케이텔레콤 주식회사 filed Critical 에스케이텔레콤 주식회사
Priority to US17/767,116 priority Critical patent/US20220368899A1/en
Priority to CN202080083722.1A priority patent/CN114731402A/zh
Publication of WO2021071186A1 publication Critical patent/WO2021071186A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/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/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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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 encoding and decoding of moving pictures, and more particularly, to a method and a decoding apparatus for dividing a picture with improved encoding and decoding efficiency through a picture division method suitable for various purposes.
  • moving picture data Since moving picture data has a larger amount of data than audio data or still image data, it requires a lot of hardware resources including memory in order to store or transmit itself without processing for compression.
  • the moving picture data is compressed and stored or transmitted using an encoder, and the decoder receives the compressed moving picture data, decompresses and reproduces the compressed moving picture data.
  • video compression techniques there are H.264/AVC and HEVC (High Efficiency Video Coding), which improves coding efficiency by about 40% compared to H.264/AVC.
  • the present invention aims to provide an improved encoding and decoding technology, and in particular, an aspect of the present invention relates to a technology for improving the efficiency of encoding and decoding by dividing a picture for various purposes. do.
  • An aspect of the present invention is a method of dividing a picture, the method comprising: decoding, from a bitstream, a division flag indicating whether the picture is divided into one or more sub-units; Decoding the segmentation information from the bitstream when the segmentation flag indicates segmentation; And dividing the picture into the sub-units by using the division information.
  • Another aspect of the present invention is an apparatus for decoding an image, in which a split flag indicating whether a picture is divided into one or more sub-units is decoded from a bitstream, and split information is obtained from the bitstream when the split flag is indicated to be split.
  • a decryption execution unit that decrypts; And a division unit for dividing the picture into the sub-units by using the division information.
  • a picture can be divided for various purposes such as synthesis between sequences, bitstream packing, parallel processing, and the like.
  • FIG. 1 is an exemplary block diagram of an image encoding apparatus capable of implementing the techniques of the present disclosure.
  • FIG. 2 is a diagram for explaining a method of dividing a block using a QTBTTT structure.
  • 3 is a diagram for describing a plurality of intra prediction modes.
  • FIG. 4 is an exemplary block diagram of an image decoding apparatus capable of implementing the techniques of the present disclosure.
  • 5 to 7 are diagrams for explaining slices, tiles, and subpictures.
  • FIG. 9 is an exemplary block diagram of a decoding unit capable of implementing the techniques of the present disclosure.
  • FIG. 10 is a flowchart illustrating an example of a method capable of implementing the techniques of the present disclosure.
  • 11 and 12 are diagrams for explaining a split mode of a slice, a tile, and a subpicture.
  • 13 is a flowchart for explaining subpicture division.
  • 15 is a flowchart for explaining splitting of a slice.
  • 16 is a diagram for explaining a form of splitting a slice.
  • 17 is a flowchart for explaining subpicture mapping.
  • 19 is a diagram for explaining a relationship between a slice and a subpicture.
  • 20 is a diagram for describing a connection relationship between header information.
  • 21 is a diagram for describing various examples of the configuration of a subpicture.
  • FIG. 1 is an exemplary block diagram of an image encoding apparatus capable of implementing the techniques of the present disclosure.
  • an image encoding apparatus and sub-elements of the apparatus will be described with reference to FIG. 1.
  • the image encoding apparatus includes a block division unit 110, a prediction unit 120, a subtractor 130, a transform unit 140, a quantization unit 145, an encoding unit 150, an inverse quantization unit 160, and an inverse transform unit ( 165, an adder 170, a filter unit 180, and a memory 190 may be included.
  • Each component of the image encoding apparatus may be implemented as hardware or software, or may be implemented as a combination of hardware and software.
  • functions of each component may be implemented as software, and a microprocessor may be implemented to execute a function of software corresponding to each component.
  • One image is composed of a plurality of pictures. Each picture is divided into a plurality of regions, and encoding is performed for each region. For example, one picture is divided into one or more tiles or/and slices. Here, one or more tiles may be defined as a tile group. Each tile or/slice is divided into one or more Coding Tree Units (CTUs). And each CTU is divided into one or more CUs (Coding Units) by a tree structure. Information applied to each CU is encoded as the syntax of the CU, and information commonly applied to CUs included in one CTU is encoded as the syntax of the CTU.
  • CTUs Coding Tree Units
  • information commonly applied to all blocks in one tile is encoded as the syntax of a tile or is encoded as a syntax of a tile group in which a plurality of tiles are collected, and information applied to all blocks constituting one picture is It is encoded in a picture parameter set (PPS) or a picture header.
  • PPS picture parameter set
  • information commonly referred to by a plurality of pictures is encoded in a sequence parameter set (SPS).
  • SPS sequence parameter set
  • information commonly referred to by one or more SPSs is encoded in a video parameter set (VPS).
  • the block dividing unit 110 determines the size of a coding tree unit (CTU).
  • CTU size Information on the size of the CTU (CTU size) is encoded as the syntax of the SPS or PPS and transmitted to the video decoding apparatus.
  • the block dividing unit 110 divides each picture constituting an image into a plurality of coding tree units (CTUs) having a predetermined size, and then repeatedly divides the CTU using a tree structure. Split (recursively). A leaf node in a tree structure becomes a coding unit (CU), which is a basic unit of coding.
  • CU coding unit
  • a quadtree in which an upper node (or parent node) is divided into four lower nodes (or child nodes) of the same size
  • a binary tree in which an upper node is divided into two lower nodes.
  • BT binary tree
  • TT ternary tree
  • a QTBT QuadTree plus BinaryTree
  • a QTBTTT QuadTree plus BinaryTree TernaryTree
  • MTT Multiple-Type Tree
  • the CTU may be first divided into a QT structure.
  • the quadtree division may be repeated until the size of a splitting block reaches the minimum block size (MinQTSize) of a leaf node allowed in QT.
  • a first flag (QT_split_flag) indicating whether each node of the QT structure is divided into four nodes of a lower layer is encoded by the encoder 150 and signaled to the image decoding apparatus. If the leaf node of the QT is not larger than the maximum block size (MaxBTSize) of the root node allowed in BT, it may be further divided into one or more of a BT structure or a TT structure.
  • MaxBTSize maximum block size
  • a plurality of division directions may exist. For example, there may be two directions in which a block of a corresponding node is divided horizontally and a direction vertically divided.
  • a second flag indicating whether nodes are split, and if split, a flag indicating a split direction (vertical or horizontal) and/or a split type (Binary or Ternary).
  • a flag indicating) is encoded by the encoder 150 and signaled to the image decoding apparatus.
  • a CU split flag indicating that the block has been split first
  • a QT split flag indicating whether the split type is QT splitting
  • the CU split flag split_cu_flag
  • the block of the corresponding node becomes a leaf node in the split tree structure and becomes a coding unit (CU), which is a basic unit of encoding.
  • split_cu_flag When indicating that the value of the CU split flag (split_cu_flag) is split, whether the split type is QT or MTT is identified through the value of the QT split flag (split_qt_flag). If the split type is QT, there is no additional information, and if the split type is MTT, additionally, a flag indicating the MTT split direction (vertical or horizontal) (mtt_split_cu_vertical_flag) and/or a flag indicating the MTT split type (Binary or Ternary) (mtt_split_cu_binary_flag) is encoded by the encoder 150 and signaled to the video decoding apparatus.
  • a split flag indicating whether each node of the BT structure is divided into blocks of a lower layer and split type information indicating a type to be divided are encoded by the encoder 150 and transmitted to the image decoding apparatus.
  • the asymmetric form may include a form of dividing a block of a corresponding node into two rectangular blocks having a size ratio of 1:3, or a form of dividing a block of a corresponding node in a diagonal direction.
  • the CU may have various sizes according to the QTBT or QTBTTT split from the CTU.
  • a block corresponding to a CU to be encoded or decoded ie, a leaf node of QTBTTT
  • a'current block' a block corresponding to a CU to be encoded or decoded
  • the prediction unit 120 predicts the current block and generates a prediction block.
  • the prediction unit 120 includes an intra prediction unit 122 and an inter prediction unit 124.
  • each of the current blocks in a picture can be predictively coded.
  • prediction of the current block is performed using an intra prediction technique (using data from a picture containing the current block) or an inter prediction technique (using data from a picture coded before a picture containing the current block). Can be done.
  • Inter prediction includes both one-way prediction and two-way prediction.
  • the intra prediction unit 122 predicts pixels in the current block by using pixels (reference pixels) located around the current block in the current picture including the current block.
  • the plurality of intra prediction modes may include a non-directional mode including a planar mode and a DC mode, and 65 directional modes.
  • the surrounding pixels to be used and the calculation expression are defined differently.
  • the intra prediction unit 122 may determine an intra prediction mode to be used to encode the current block.
  • the intra prediction unit 122 may encode the current block using several intra prediction modes, and select an appropriate intra prediction mode to use from the tested modes. For example, the intra prediction unit 122 calculates rate distortion values using rate-distortion analysis for several tested intra prediction modes, and has the best rate distortion characteristics among the tested modes. It is also possible to select an intra prediction mode.
  • the intra prediction unit 122 selects one intra prediction mode from among a plurality of intra prediction modes, and predicts the current block by using a neighboring pixel (reference pixel) and an equation determined according to the selected intra prediction mode.
  • Information on the selected intra prediction mode is encoded by the encoder 150 and transmitted to the image decoding apparatus.
  • the inter prediction unit 124 generates a prediction block for the current block through a motion compensation process.
  • a block that is most similar to a current block is searched for in a reference picture that is coded and decoded before the current picture, and a prediction block for the current block is generated using the searched block. Then, a motion vector corresponding to a displacement between the current block in the current picture and the prediction block in the reference picture is generated.
  • motion estimation is performed on a luma component, and a motion vector calculated based on the luma component is used for both the luma component and the chroma component.
  • Motion information including information on a reference picture used to predict a current block and information on a motion vector is encoded by the encoder 150 and transmitted to an image decoding apparatus.
  • the subtractor 130 generates a residual block by subtracting the prediction block generated by the intra prediction unit 122 or the inter prediction unit 124 from the current block.
  • the transform unit 140 converts the residual signal in the residual block having pixel values in the spatial domain into transform coefficients in the frequency domain.
  • the transform unit 140 may transform residual signals in the residual block using the total size of the residual block as a transform unit, or divide the residual block into two sub-blocks, which are transform regions and non-transform regions, Residual signals can be transformed using only a block as a transform unit.
  • the transform region subblock may be one of two rectangular blocks having a size ratio of 1:1 based on the horizontal axis (or vertical axis).
  • a flag indicating that only the subblock has been transformed (cu_sbt_flag), directional (vertical/horizontal) information (cu_sbt_horizontal_flag), and/or location information (cu_sbt_pos_flag) are encoded by the encoder 150 and signaled to the video decoding apparatus.
  • the size of the transform region subblock may have a size ratio of 1:3 based on the horizontal axis (or vertical axis), and in this case, a flag (cu_sbt_quad_flag) that separates the division is additionally encoded by the encoder 150 to decode the image. Signaled to the device.
  • the quantization unit 145 quantizes the transform coefficients output from the transform unit 140 and outputs the quantized transform coefficients to the encoding unit 150.
  • the encoding unit 150 generates a bitstream by encoding the quantized transform coefficients using an encoding method such as Context-based Adaptive Binary Arithmetic Code (CABAC).
  • CABAC Context-based Adaptive Binary Arithmetic Code
  • the encoder 150 encodes information such as a CTU size related to block division, a CU division flag, a QT division flag, an MTT division direction, and an MTT division type, so that the video decoding apparatus can divide the block in the same manner as the video encoding apparatus. To be there.
  • CABAC Context-based Adaptive Binary Arithmetic Code
  • the encoder 150 encodes information on a prediction type indicating whether the current block is encoded by intra prediction or inter prediction, and intra prediction information (ie, intra prediction mode) according to the prediction type.
  • intra prediction information ie, intra prediction mode
  • Information or inter prediction information (information on a reference picture and a motion vector) is encoded.
  • the inverse quantization unit 160 inverse quantizes the quantized transform coefficients output from the quantization unit 145 to generate transform coefficients.
  • the inverse transform unit 165 converts transform coefficients output from the inverse quantization unit 160 from the frequency domain to the spatial domain to restore the residual block.
  • the addition unit 170 restores the current block by adding the reconstructed residual block and the prediction block generated by the prediction unit 120.
  • the pixels in the reconstructed current block are used as reference pixels when intra-predicting the next block.
  • the filter unit 180 filters reconstructed pixels to reduce blocking artifacts, ringing artifacts, blurring artifacts, etc. that occur due to block-based prediction and transformation/quantization. Perform.
  • the filter unit 180 may include a deblocking filter 182 and a sample adaptive offset (SAO) filter 184.
  • the deblocking filter 180 filters the boundary between reconstructed blocks to remove blocking artifacts caused by block-based encoding/decoding, and the SAO filter 184 is additionally applied to the deblocking filtered image. Perform filtering.
  • the SAO filter 184 is a filter used to compensate for a difference between a reconstructed pixel and an original pixel caused by lossy coding.
  • the reconstructed block filtered through the deblocking filter 182 and the SAO filter 184 is stored in the memory 190.
  • the reconstructed picture is used as a reference picture for inter prediction of a block in a picture to be encoded later.
  • FIG. 4 is an exemplary block diagram of an image decoding apparatus capable of implementing the techniques of the present disclosure.
  • an image decoding apparatus and sub-elements of the apparatus will be described with reference to FIG. 4.
  • the image decoding apparatus may include a decoding unit 410, an inverse quantization unit 420, an inverse transform unit 430, a prediction unit 440, an adder 450, a filter unit 460, and a memory 470. have.
  • each component of the image decoding apparatus may be implemented as hardware or software, or may be implemented as a combination of hardware and software.
  • functions of each component may be implemented as software, and a microprocessor may be implemented to execute a function of software corresponding to each component.
  • the decoding unit 410 determines the current block to be decoded by decoding the bitstream received from the video encoding apparatus and extracting information related to block division, and information on prediction information and residual signals necessary to restore the current block, etc. Extract.
  • the decoder 410 determines the size of the CTU by extracting information on the CTU size from a sequence parameter set (SPS) or a picture parameter set (PPS), and divides the picture into CTUs of the determined size. Then, the CTU is determined as the highest layer of the tree structure, that is, the root node, and the CTU is divided using the tree structure by extracting the partition information for the CTU.
  • SPS sequence parameter set
  • PPS picture parameter set
  • a first flag (QT_split_flag) related to the splitting of the QT is first extracted, and each node is split into four nodes of a lower layer.
  • the second flag (MTT_split_flag) related to the splitting of the MTT and the splitting direction (vertical / horizontal) and/or split type (binary / ternary) information are extracted, and the corresponding leaf node is MTT.
  • MTT_split_flag related to the splitting of the MTT and the splitting direction (vertical / horizontal) and/or split type (binary / ternary) information
  • each node may have zero or more repetitive MTT partitions after zero or more repetitive QT partitions. For example, in the CTU, MTT division may occur immediately, or, conversely, only multiple QT divisions may occur.
  • each node is divided into four nodes of a lower layer by extracting the first flag (QT_split_flag) related to the division of the QT.
  • QT_split_flag the first flag related to the division of the QT.
  • a split flag indicating whether or not the node corresponding to the leaf node of the QT is further split into BT and split direction information are extracted.
  • the decoder 410 when determining the current block to be decoded through division of the tree structure, extracts information on a prediction type indicating whether the current block is intra predicted or inter predicted. When the prediction type information indicates intra prediction, the decoder 410 extracts a syntax element for intra prediction information (intra prediction mode) of the current block. When the prediction type information indicates inter prediction, the decoder 410 extracts a syntax element for the inter prediction information, that is, information indicating a motion vector and a reference picture referenced by the motion vector.
  • the decoding unit 410 extracts information on quantized transform coefficients of the current block as information on the residual signal.
  • the inverse quantization unit 420 inverse quantizes the quantized transform coefficients, and the inverse transform unit 430 inversely transforms the inverse quantized transform coefficients from the frequency domain to the spatial domain to restore residual signals to generate a residual block for the current block. .
  • the inverse transform unit 430 inverse transforms only a partial region (subblock) of the transform block, a flag indicating that only the subblock of the transform block has been transformed (cu_sbt_flag), and the direction (vertical/horizontal) information of the subblock (cu_sbt_horizontal_flag ) And/or subblock location information (cu_sbt_pos_flag), and inversely transforming the subblock's transform coefficients from the frequency domain to the spatial domain to restore residual signals. By filling in, the final residual block for the current block is created.
  • the prediction unit 440 may include an intra prediction unit 442 and an inter prediction unit 444.
  • the intra prediction unit 442 is activated when the prediction type of the current block is intra prediction
  • the inter prediction unit 444 is activated when the prediction type of the current block is inter prediction.
  • the intra prediction unit 442 determines an intra prediction mode of the current block among a plurality of intra prediction modes from a syntax element for the intra prediction mode extracted from the decoder 410, and a reference pixel around the current block according to the intra prediction mode.
  • the current block is predicted by using them.
  • the inter prediction unit 444 determines a motion vector of the current block and a reference picture referenced by the motion vector using the syntax element for the intra prediction mode extracted from the decoding unit 410, and uses the motion vector and the reference picture. To predict the current block.
  • the adder 450 restores the current block by adding the residual block output from the inverse transform unit and the prediction block output from the inter prediction unit or the intra prediction unit.
  • the pixels in the reconstructed current block are used as reference pixels for intra prediction of a block to be decoded later.
  • the filter unit 460 may include a deblocking filter 462 and an SAO filter 464.
  • the deblocking filter 462 performs deblocking filtering on the boundary between reconstructed blocks in order to remove blocking artifacts occurring due to block-by-block decoding.
  • the SAO filter 464 performs additional filtering on the reconstructed block after deblocking filtering in order to compensate for the difference between the reconstructed pixel and the original pixel caused by lossy coding.
  • the reconstructed block filtered through the deblocking filter 462 and the SAO filter 464 is stored in the memory 470. When all blocks in one picture are reconstructed, the reconstructed picture is used as a reference picture for inter prediction of a block in a picture to be encoded later.
  • the two types are the slice division method and the tile division method.
  • a function of encoding/decoding is provided by dividing one picture into CTU units in the order of raster scan order.
  • Several slice segments can exist in one slice, and there are two types of slice segments. Types of slice segments include an independent slice segment and a dependent slice segment.
  • the independent slice segment is a slice segment that does not depend on other slices in intra prediction, inter prediction, coding mode and entropy coding.
  • Independent slice segments have header information.
  • Dependent slice segments are slice segments that depend on other slices (refer to other preceding independent slice segments) in intra prediction, inter prediction, coding mode and entropy coding.
  • the dependent slice segment refers to header information of an independent slice segment that precedes most of the header information. That is, only part of the header information of the dependent slice segment is signaled.
  • 5A shows two slices divided from a picture, and the two slices may be divided by a slice boundary.
  • One independent slice segment and zero or more dependent slice segments may exist in one slice.
  • the first slice positioned above the picture includes one independent slice segment and two dependent slice segments separated by a dotted line.
  • the second slice located at the bottom of the picture contains only one independent slice segment (including 0 dependent slice segments).
  • Table 1 shows a flag indicating whether to use a dependent slice segment (dependent_slice_segments_enabled_flag), and this flag may be defined in the PPS.
  • Table 2 shows slice segment header information.
  • a flag indicating whether a specific slice segment is the first slice segment in the picture is signaled first.
  • the first slice segment becomes an independent slice segment. If it is not the first slice segment, a flag (dependent_slice_segment_flag) indicating whether it is a dependent slice segment is signaled.
  • the address (slice_segment_address) of the corresponding slice segment is signaled together.
  • slice_segment_address means an index value of the first CTU in the corresponding slice segment.
  • tile division method a function of encoding/decoding by partitioning/dividing one picture into a plurality of columns and rows in units of CTU is provided.
  • the method of dividing a picture into tiles can be divided equally or individually (non-uniformly divided).
  • Each of the divided tiles does not depend on other tiles during intra prediction and entropy coding, and whether or not the in-loop filter is dependent can be controlled with a flag defined in the PPS. There is no separate header for tiles.
  • FIG. 5(b) shows tiles divided by 3x3 from a picture, and each of the tiles may be divided by tile boundaries (column boundaries, row boundaries).
  • a plurality of tiles may be encoded/decoded in the order of raster scan order, and a plurality of CTUs in one tile may also be encoded/decoded in the order of raster scan order. Numbers displayed in each CTU indicate the order in which encoding/decoding is performed.
  • Table 3 shows the syntax structure for the tile division method.
  • a flag (tiles_enabled_flag) indicating on/off of the tile division method is defined and signaled in the PPS, and when the corresponding flag is on, syntax specifying the size of the tile is additionally signaled.
  • the syntax for specifying the size of the tile includes num_tile_columns_minus1 indicating a value obtained by subtracting 1 from the number of tiles divided in the vertical axis direction (the number of tile columns), and 1 in the number of tiles divided in the horizontal axis direction (the number of tile rows). Num_tile_rows_minus1 indicating the subtracted value, uniform_spacing_flag indicating whether the picture is divided equally in the horizontal axis direction and the vertical axis direction, and the like may be included.
  • tile column width information (column_width_minus1) and tile row height information (row_height_minus1) are additionally signaled.
  • a flag (loop_filter_across_tiles_enabled_flag) indicating whether to apply the in-loop filter at the boundary between tiles is also signaled.
  • FIG. 6(a) shows slices (a total of 4) divided according to the slice division method
  • FIG. 6(b) shows tiles (a total of 4) divided according to the tile division method.
  • Each of the numbers represents the number of CTUs.
  • a boundary in the horizontal axis direction may exist in units of CTU.
  • a boundary in a horizontal axis direction and a boundary in a vertical axis direction may exist between the divided tiles in units of CTU.
  • the present invention proposes an image segmentation method for various purposes.
  • 1) a sub-picture segmentation method for synthesizing different sequences, 2) a slice segmentation method for bitstream packing, 3) a tile segmentation method for parallel processing, and 4) other A method of expressing layout information of a subpicture used when synthesizing with a sequence and an expression method capable of configuring layout information is proposed.
  • a tile refers to a region obtained by dividing one picture in order to process one picture in parallel.
  • Tiles have a structure that operates independently of each other during intra prediction and entropy coding. That is, tiles do not share a reference sample during intra prediction and have a relationship that does not share context during entropy coding. Whether to apply the in-loop filter to the boundary between tiles can be controlled by placing a separate flag.
  • a slice means a data packing unit that generates one independent network abstraction layer (NAL) bitstream.
  • NAL network abstraction layer
  • the first type is a rectangular slice in which tiles with similar characteristics or random tiles are divided into one area
  • the second type is a specific location after encoding/decoding tiles or CTUs in the order of raster-scan.
  • It is a raster-scan slice (non-rectangular shape) where the regions are separated.
  • a raster-scan slice in which a region is divided at a specific position while encoding/decoding is performed in units of tiles is a'raster-scan slice in a tile unit', and regions are classified at a specific position while encoding/decoding is performed in units of CTU.
  • the raster-scan slice is'raster-scan slice per CTU'.
  • FIG. 7 An example of a rectangular slice and a raster-scan slice is shown in FIG. 7.
  • an area divided by a dotted line indicates a CTU
  • an area divided by a straight line indicates a tile
  • an area divided by a dashed-dotted line indicates a slice.
  • one picture is divided into a total of 216 (18x12) CTUs, divided into a total of 24 (6x4) tiles, and may be divided into a total of 9 rectangular slices.
  • one picture is divided into a total of 216 (18x12) CTUs, divided into a total of 12 (3x4) tiles, and can be divided into a total of 3 raster-scan slices. have.
  • a subpicture refers to an area divided for synthesis with other contents.
  • the subpicture may include at least one slice.
  • FIG. 8 An example in which different contents are synthesized in units of subpictures is shown in FIG. 8.
  • the area represented by the upward-right pattern refers to a picture in content 1
  • the area represented by the horizontal axis direction pattern refers to a picture within the content 2
  • the area represented by the vertical pattern refers to a picture within the content 3.
  • each of the pictures may be composed of four slices, and a bitstream may be generated in units of each slice. Also, each slice may be defined as a subpicture. Bitstreams that are physically generated in slice units are input to Bitstream Extractor & Merger (BEAMer) and undergo an extraction process and synthesis process. Here, the logical unit of the extraction process and the synthesis process is a subpicture. As a result, a new picture is created in which the upper left portion is composed of content 1, the lower left portion is composed of content 2, and the right portion is composed of content 3.
  • BEAMer Bitstream Extractor & Merger
  • BEAMer extracts and synthesizes bitstreams generated in slice units in units of subpictures from different contents. To this end, pictures of each content are divided into subpictures. That is, a subpicture is an area including at least one slice for synthesizing content.
  • the decoding unit 410 may include a decoding execution unit 910, a division unit 920, a mapping unit 930, and a setting unit 940.
  • the video encoding apparatus may determine whether a picture is divided into one or more sub-units, and encode and signal a result (segmentation flag).
  • the decoding execution unit 910 may decode the split flag from the bitstream (S1010) and determine whether the picture is split into lower units based on the split flag.
  • the sub-unit divided from the picture may include a CTU, a tile, a slice, a sub-picture, and the like. That is, the picture can be divided into CTU, tile, slice, subpicture, and the like.
  • the split flag may indicate whether the picture is divided into sub-units or whether division is applied to the picture.
  • the segmentation flag may be a subpicture flag indicating whether the picture is divided into one or more subpictures, segmentation allowance information indicating whether segmentation is applied to the picture, and the like. Details of the split flag will be described in each embodiment.
  • the video encoding apparatus may encode and signal information related to the picture division (segmentation information).
  • segmentation information indicates that segmentation is applied to the picture
  • the decoding execution unit 910 may decode segmentation information from the bitstream (S1020).
  • the split information may include information about the number of sub-units divided from the picture (number information), information about the size (size information), and the like. Further, the segmentation information may further include information (position information) on the positions of sub-units.
  • the division unit 920 may divide the picture into one or more sub-units based on the division information (using division information) (S1030).
  • the method of dividing a picture includes 1) dividing the picture into fixed-size CTUs, 2) dividing the picture into tiles including at least one CTU for parallel processing of the picture, and 3) generating a bitstream. For example, a process of dividing the picture into slices may be included. 4) In addition, the method of dividing the picture may further include dividing the picture into a plurality of subpictures for synthesizing contents.
  • a picture can be divided into CTUs.
  • the video encoding apparatus defines and signals the size of the CTU at one or more locations among SPS and PPS, and the video decoding apparatus decodes the CTU size to determine the size of the CTU.
  • the minimum size and maximum size of the CTU may be equally limited in the video encoding apparatus and the video decoding apparatus.
  • Table 4 shows an example in which the minimum size of the CTU is set to 32, which is a power of 2 to 5.
  • the picture can be divided into tiles.
  • a tile may contain at least one CTU. That is, the size (width and height) of the tile can be expressed as a multiple of the CTU size (the tile can be divided by a multiple of the CTU).
  • FIG. 11A An example in which a picture is divided into 3x2 tiles is shown in FIG. 11A.
  • the number displayed on each of the tiles means the index value of the tile, and the index value of the tile may be derived based on the raster-scan order according to the type in which the tile is divided.
  • the tile index value may be derived according to a specific rule. This specific rule will be described later.
  • the picture can be divided into slices.
  • a picture may be divided to include a plurality of tiles in one slice, or may be divided to include a plurality of slices in one tile. That is, slice division may be performed using tiles.
  • FIG. 11B An example in which a picture is divided into a total of 6 slices is shown in FIG. 11B.
  • the number displayed on each of the slices refers to the index value of the slice, and the index value of the slice may be derived based on the raster-scan order according to the form in which the slice is divided.
  • Slice 0 in FIG. 11 (b) includes tile 0 and tile 1 in FIG. 11 (a), and slice 1 and slice 2 in FIG. 11 (b) are tile 2 in FIG. 11 (a)
  • the 3rd and 5th slices of FIG. 11(b) are included in the 3rd tile of FIG. 11(a), and the 4th slice of FIG. 11(b) is the 4th tile of FIG. 11(a).
  • the slice may be divided to include tiles #5 and #5.
  • the index value of the slice may be derived according to a specific rule. This specific rule will be described later.
  • Each of a total of six slices of FIG. 11 (b) may be packed into a bitstream as shown in FIG. 11 (c).
  • a picture can be divided into subpictures.
  • the subpicture may include at least one slice.
  • FIG. 12(a) shows an example in which index values (0 to 3) are assigned to subpictures
  • FIG. 12(b) shows an example in which id (identifier) values (A to D) are assigned to subpictures Represents.
  • the index value of the subpicture may be derived based on the raster-scan order according to the form in which the subpicture is divided.
  • Subpicture 0 of FIG. 12 (a) includes slice 0 of FIG. 11 (b)
  • subpicture 1 of FIG. 12 (a) includes slice 1 and slice 2 of FIG. 11 (b). So, the picture can be divided into subpictures.
  • the subpicture's id may have a value greater than the number of subpicture index values. For example, when the index value of FIG. 12(a) is assigned to 0 to 3, the subpicture id value (A to D of FIG. 12(b)) may be set to a value exceeding 3.
  • Embodiment 1 is a method of dividing a picture into subpictures using syntaxes defined in the SPS.
  • Embodiment 1 a syntax structure and semantics for subpicture division are proposed.
  • the video encoding apparatus may determine whether a subpicture exists in the picture (whether the picture is divided into subpictures), and encode and signal a subpicture flag (subpic_present_flag or subpic_info_present_flag) that is information about the result.
  • the video decoding apparatus may decode subpic_info_present_flag (S1310) and determine whether a subpicture exists based on the subpic_info_present_flag value (S1320).
  • the subpic_info_present_flag may indicate whether a subpicture exists in a picture, whether subpicture parameters exist, or whether subpicture division is performed.
  • the subpicture flag may be subpics_present_flag.
  • the video encoding apparatus may encode and signal information about the number of subpictures (num_subpics_in_pic_minus1, information on the number of subpictures).
  • the video decoding apparatus may decode num_subpics_in_pic_minus1 (S1330) and determine the number of subpictures based on num_subpics_in_pic_minus1.
  • num_subpics_in_pic_minus1 is a syntax representing a value excluding 1 from the number of subpictures present in the picture. When num_subpics_in_pic_minus1 does not exist, the value of the corresponding syntax may be inferred as 0. num_subpics_in_pic_minus1 may also be implemented as num_subpics_minus1.
  • the number of subpictures may be implemented as a value minus 2 (num_subpics_in_pic_minus2) from the number of subpictures present in the picture.
  • the image encoding apparatus may encode and signal the information indicating the position and size of the subpicture (position information and size information of the subpicture) as many as the number of subpictures.
  • the image decoding apparatus may decode information indicating the location and size of the subpictures as many as the number of subpictures (S1340), and determine the location and size of each of the subpictures using the information.
  • the position information of the subpicture is implemented as an index value of the CTU located at the top left of a subpicture, such as topleft_ctu_idx, or the horizontal position and vertical position of the CTU located at the top left, such as subpic_ctu_top_left_x and subpic_ctu_top_left_y. It can be implemented with the indicated value.
  • the size information of the subpicture is implemented as a value representing the width and height of the subpicture based on the top leftmost CTU such as subpic_width and subpic_height (i.e., the number of CTUs that the subpicture includes in the horizontal and vertical directions), or subpic_width_minus1 , subpic_height_minus1, may be implemented with a value other than 1. Also, the size information of the subpicture may be implemented as an index value (bottomright_ctu_idx) of the CTU located at the bottom right of the subpicture.
  • the video decoding apparatus may divide a picture into subpictures by using the decoded syntax (information on the number of subpictures, location information on the subpicture, and information on the size of the subpicture).
  • mapping information of the subpicture may be defined and signaled in the SPS.
  • Mapping may mean connecting a subpicture and a slice.
  • the mapping information is information for connecting a subpicture and a slice, and the mapping information may include an id of a subpicture (subpic_id), or an id of a subpicture and length information of this id (subpic_id_lens_minus1).
  • the mapping information may be referred to differently as configuration information of a subpicture.
  • the image encoding apparatus may encode and signal the mapping information, and the image decoding apparatus may decode the mapping information from the bitstream (S1370).
  • the mapping unit 930 may map a subpicture and a slice using the mapping information.
  • whether to perform mapping may be determined according to a mapping flag indicating whether or not id mapping of a subpicture is performed.
  • the video encoding apparatus may encode and signal a mapping flag.
  • the image decoding apparatus may decode the mapping flag (S1350) and determine whether id mapping is performed using the decoded mapping flag (S1360).
  • the mapping flag may be implemented as signalled_subpic_id_flag indicating whether the subpicture id is signaled, or may be implemented as subpic_mapping_enabled_flag indicating whether subpic mapping is allowed.
  • the mapping flag may be implemented in a form including sps_subpic_id_present_flag indicating whether id mapping is performed in the SPS and sps_subpic_id_signalling_present_flag indicating whether the mapping information is signaled in the SPS.
  • the video encoding apparatus may encode and signal the subpicture id (subpic_id) by the number of subpictures (subpic_id[i]).
  • the video decoding apparatus decodes the subpicture id (subpic_id) as many as the number of subpictures (subpic_id[i]) (S1370), and maps between the subpicture and the slice.
  • Example 1-1 The syntax structure for Example 1-1 is shown in Table 5.
  • the for loops in Table 5 may be performed in the order of raster-scan.
  • the subpic_treated_as_pic_flag in Table 5 is a syntax indicating whether to treat the boundary of a subpicture like a picture boundary.
  • subpic_treated_as_pic_flag may instruct to treat a boundary of a subpicture like a boundary of a picture during inter prediction (padding of boundary line pixel values).
  • the loop_filter_across_subpic_enabled_flag of Table 5 is a syntax indicating whether to apply an in-loop filter to the boundary between subpictures.
  • the video encoding apparatus may encode subpic_treated_as_pic_flag and loop_filter_across_subpic_enabled_flag as many as the number of subpictures to signal.
  • the video decoding apparatus decodes subpic_treated_as_pic_flag and loop_filter_across_subpic_enabled_flag as many as the number of subpictures, and uses subpic_treated_as_pic_flag and loop_filter_across_subpic_enabled_flag to determine whether to apply a boundary of a subpicture as a boundary of a picture, and whether to treat the boundary of a subpicture as a boundary of a picture, and whether to treat the boundary of a subpicture as a boundary of a picture. I can.
  • subpic_info_present_flag true(1)
  • signalled_subpic_id_flag true(1)
  • subpic_id (A, B, C, D ⁇ (raster-scan order).
  • Embodiment 1-2 is a method in which a subpicture id is signaled irrespective of a mapping flag (eg, signaled_subpic_id_flag).
  • a mapping flag eg, signaled_subpic_id_flag
  • the apparatus for encoding an image may signal a subpicture id without signaling a mapping flag.
  • the video decoding apparatus may decode the subpicture id without decoding the mapping flag (excluding processes S1350 and S1360) (S1370).
  • Example 1-2 The syntax structure for Example 1-2 is shown in Table 6.
  • the for loops in Table 6 may be performed in the order of raster-scan.
  • a subpicture id is signaled irrespective of a mapping flag, and is signaled together with position information and size information of the subpicture.
  • Example 1-3 the S1350 process and the S1360 process are excluded from the processes of the embodiment 1-1, and the S1340 process and the S1370 process may be performed together.
  • the video encoding apparatus may signal the id of the subpicture together with the location information and size information of the subpicture.
  • the video decoding apparatus may decode the ID of the subpicture together with the location information and size information of the subpicture (S1340 and S1370).
  • the syntax structure for Examples 1-3 is shown in Table 7.
  • the for loops in Table 7 may be performed in the order of raster-scan.
  • Embodiment 1-4 is a method of signaling length information of a subpicture id together with a subpicture id.
  • the length information of the subpicture id is information indicating the number of bits used to represent the subpicture id, and may be implemented in the form of signalled_subpic_id_length_minus1 or subpic_id_len_minus1.
  • the subpicture id may be expressed by the number of bits indicated by the length information of the subpicture id.
  • the video encoding apparatus may encode and signal the length information of the subpicture id and the subpicture id.
  • the video decoding apparatus may decode length information of the subpicture id and the subpicture id (S1370).
  • the syntax structure for Examples 1-4 is shown in Table 8.
  • the for loops in Table 8 may be performed in the order of raster-scan.
  • Embodiment 1-5 is a method in which signaling of mapping information is not performed in the SPS.
  • processes S1350, S1360, and S1370 which are processes related to signaling of mapping information, may be excluded from the processes of Embodiment 1-1.
  • the syntax structure for Examples 1-5 is shown in Table 9.
  • the for loops in Table 9 may be performed in the order of raster-scan.
  • Embodiment 2 is a method of dividing a picture into tiles.
  • a syntax structure and semantics for tile division are proposed. Syntaxes for tile segmentation may be defined at the position of a PPS or a picture-level header.
  • the video encoding apparatus may determine whether or not segmentation has been applied to a picture, and may signal the determination result as segmentation permission information (segmentation flag).
  • the image decoding apparatus may decode the segmentation allowance information (S1410 and S1430) and determine whether or not segmentation is applied (S1420 and S1440).
  • the partitioning allowance information may be implemented by a combination of no_partition_flag and single_tile_in_pic_flag.
  • the partitioning allowance information may also be implemented as one syntax (no_pic_partition_flag) in which no_partition_flag and single_tile_in_pic_flag are combined.
  • the image encoding apparatus may determine the number of tiles divided from a picture, and encode and signal information about the number of tiles (information on the number of tiles).
  • the image decoding apparatus may decode information on the number of tiles (S1450) and set the number of tiles using information on the number of decoded tiles.
  • the information on the number of tiles may include the number of tiles divided in the vertical axis direction (the number of tile columns) and the number of tiles divided in the horizontal axis direction (the number of tile rows).
  • the number of tile columns may be expressed as a value excluding 1 from the number of actual divided tile columns (num_tile_colums_minus1 or num_exp_tile_columns_minus1).
  • the number of tile rows may be expressed as a value excluding 1 from the actual number of divided tile rows (num_tile_rows_minus1 or num_exp_tile_rows_minus1).
  • the image encoding apparatus may determine the size of each tile column and each of the tile rows, and encode and signal information about the size of the tile column and the tile row (tile size information).
  • the video decoding apparatus decodes the tile size information (S1460).
  • the size of the tile column and the tile row can be set by using the size information of the decoded tile.
  • the size information of the tile column may be expressed as a width value (the number of CTUs) of the corresponding tile column based on the CTU positioned at the top leftmost in the corresponding tile column (tile_column_width_minus1).
  • the size information of the tile row may be expressed as a height value (the number of CTUs) of the tile row based on the CTU located at the top leftmost in the tile row (tile_row_height_minus1).
  • the size information of the tile column may be signaled by the number of tile columns excluding 1. Since the height of the last tile row can be inferred even if it is not separately defined, the size information of the tile row may be signaled as much as the number of tile rows excluding one.
  • Embodiment 2-1 is a method in which segmentation allowance information is implemented as single_tile_in_pic_flag.
  • the image encoding apparatus may encode and signal single_tile_in_pic_flag.
  • the image decoding apparatus may not perform the S1450 process and the S1460 process because tile division is not applied.
  • the image decoding apparatus may divide a picture into tiles by performing a process S1450 and a process S1460 because a plurality of tile divisions are applied.
  • Example 2-1 An example of the syntax structure for Example 2-1 is shown in Table 10.
  • the for loops in Table 10 may be performed in the order of raster-scan.
  • Embodiment 2-2 is a method in which partitioning permission information is implemented with no_partition_flag and single_tile_in_pic_flag.
  • the image decoding apparatus may decode no_partition_flag (S1410) and determine whether or not segmentation has been applied to the picture (S1420).
  • the image decoding apparatus may not perform the S1450 process and the S1460 process because the picture is divided into one tile.
  • the image decoding apparatus may divide a picture into a plurality of tiles by performing a process S1450 and a process S1460 because a plurality of tile divisions are applied.
  • Example 2-2 An example of the syntax structure for Example 2-2 is shown in Table 11.
  • the for loops in Table 11 may be performed in the order of raster-scan.
  • Example 2-1 for the example of tile division shown in FIG. 11A is as follows.
  • Example 3 is a method of dividing a slice using tiles.
  • the type of slice to be divided through Example 3 is a rectangular slice.
  • syntax and semantics for a slice division method are proposed. Syntaxes for slice division may be defined in a PPS or picture header position.
  • the video encoding apparatus may determine a type of a slice divided from a picture, and signal the result as a type flag (rect_slice_flag).
  • the image decoding apparatus may decode the type flag (S1530) and determine the type of the slice using the type flag (S1540).
  • the type flag may indicate whether the type of the slice is a rectangular slice.
  • the image encoding apparatus may encode and signal a relationship flag (single_tile_per_slice_flag) indicating a relationship between a tile and a slice.
  • the image decoding apparatus may decode single_tile_per_slice_flag (S1550) and determine a relationship between the tile and the slice using single_tile_per_slice_flag (S1560).
  • the image decoding apparatus may divide the picture into one or more slices using the tile segmentation information.
  • the video encoding apparatus may encode and signal information on the number of slices in a picture (num_slices_in_pic_minus1) and information on whether a plurality of slices constitute one tile (more_than_one_slice_in_tile_flag[i]). After decoding num_slices_in_pic_minus1 (S1570), the image decoding apparatus may decode more_than_one_slice_in_tile_flag[i] as many as the number of slices (S1580).
  • num_slices_in_tile_minus1 represents a value excluding 1 from the number of slices included in a corresponding tile. Since at least two slices may exist in one tile, num_slices_in_tile_minus1 may be changed to num_slices_in_tile_minus2.
  • slice_height_in_ctus_minus1 represents a value excluding 1 from the height value (the number of CTUs) of each of the slices included in the corresponding tile. Here, the height value of the last slice can be inferred.
  • the image decoding apparatus may decode the slice size information (slice_height_in_ctus_minus1) as many as the number of slices (S1594).
  • the image encoding apparatus may encode and signal size information (slice size information) representing the size of the slice based on the number of tiles included in the slice.
  • the image decoding apparatus may decode size information of a slice expressed based on the number of tiles (S1596).
  • slice_width_in_tiles_minus1 represents information on the number of tile columns belonging to a corresponding slice (a value excluding 1 from the number of tile columns).
  • slice_height_in_tiles_minus1 represents information on the number of tile rows belonging to a corresponding slice (a value excluding 1 from the number of tile rows).
  • Example 3-1 An example of the syntax structure for Example 3-1 is shown in Table 12.
  • the for loops in Table 12 may be performed in the order of raster-scan.
  • Embodiment 3-2 is a method of segmenting a slice by further using segmentation allowance information (partition flag, no_partition_flag).
  • the video encoding apparatus may determine whether a picture has been divided into slices (whether it has been divided into a plurality of slices), and set the result as a value of the division allowance information to signal.
  • the image decoding apparatus may decode the segmentation allowance information (S1510), and determine whether to divide the slice using the segmentation allowance information (S1520).
  • Table 13 shows an example of the syntax structure for Example 3-2.
  • the for loops in Table 13 may be performed in the order of raster-scan.
  • Example 3-1 for the slice division example shown in FIG. 11B is as follows.
  • Fig. 16 shows a result of allocating or deriving an index of a slice while configuring a slice according to the slice division method described above.
  • index slice 4 in FIG. 11 (b) was derived as index 5 in FIG. 16
  • index slice 5 in FIG. 11 (b) was derived as index 4 in FIG. 16.
  • the slice index derivation result of FIG. 16 is a result according to a specific rule mentioned above, and the specific rule may mean the slice division method of the third embodiment.
  • Embodiment 4 is a method of signaling mapping information of a subpicture.
  • syntax and semantics for a method of signaling mapping information are proposed.
  • the case of signaling mapping information can be largely divided into two cases. The first is a case where the configuration of a subpicture does not change from the beginning to the end of the content, and the second is a case where the configuration of a subpicture changes in the middle of the content.
  • mapping information of the subpicture may be signaled in the SPS. For example, when the position and size of the subpicture are signaled in the SPS, the mapping information of the subpicture may be signaled together (Embodiment 1).
  • Mapping information of the subpicture may be signaled in the picture header or the PPS in both the case where the subpicture configuration changes and the case where the subpicture configuration does not change. That is, position information and size information of a subpicture may be signaled in the SPS, and mapping information of a subpicture may be signaled in at least one of a picture header, a PPS, a slice header, and an SEI.
  • mapping information is signaled in the SPS since the example in which the mapping information is signaled in the SPS has been described in Embodiment 1, an example in which the mapping information is signaled in the PPS will be described below.
  • the image encoding apparatus may set a value of the mapping flag based on whether the mapping information subpic_id exists (or whether the subpic_id is signaled), and encode the mapping flag to signal.
  • the image decoding apparatus may decode the mapping flag (S1730), and determine whether subpic_id exists (or whether subpic_id is signaled) using the decoded mapping flag (S1740).
  • the mapping flag may be implemented as signalled_subpic_id_flag indicating whether the subpicture id is signaled, or as subpic_mapping_enabled_flag indicating whether subpic mapping is allowed.
  • mapping flag is implemented in a form including sps_subpic_id_present_flag indicating whether id mapping is performed in the SPS, sps_subpic_id_signalling_present_flag indicating whether mapping information is signaled in the SPS, and pps_subpic_id_signalling_present_flag indicating whether mapping information is signaled in the PPS.
  • the video encoding apparatus may encode and signal the subpic_id.
  • the video decoding apparatus may decode the subpic_id (S1760).
  • the subpic_id may be decoded as many as the number of subpictures or the number of slices.
  • mapping information may further include length information (signalled_subpic_id_length_minus1 or subpic_id_len_minus1) of subpic_id in addition to subpic_id.
  • the mapping flag indicates the existence of the mapping information (S1740)
  • the length information may be signaled from the image encoding apparatus and decoded by the image decoding apparatus (S1750).
  • the process of signaling the mapping information may be determined depending on whether a subpicture exists in the picture and whether the slice type is rectangular.
  • the video decoding apparatus may decode subpic_info_present_flag and rect_slice_flag signaled from the video encoding apparatus (S1710), and determine whether a subpicture exists and whether it is a rectangular slice using subpic_info_present_flag and rect_slice_flag (S1720). As a result, if there is a subpicture and a rectangular slice, the above-described mapping information signaling process (S1730 to S1760) is performed, but when it is not a subpicture or a rectangular slice, the mapping information signaling process may not be performed.
  • Table 14 shows an example in which subpic_id is signaled and decoded as many as the number of subpictures
  • Table 15 is an example in which subpic_id is signaled and decoded as many as the number of slices.
  • the decoded subpic_id may be arranged in a specific order as many as the number of subpictures or may be arranged in a specific order as many as the number of slices.
  • the specific order may be a raster-scan order or a slice configuration order described through FIG. 16.
  • Embodiment 5 syntax and semantics defined in a slice header are proposed. Two syntax structures for Example 5 are shown in Tables 16 and 17.
  • slice_pic_parameter_set_id represents the id of the PPS referenced by the corresponding slice
  • slice_pic_header_id represents the id of the picture header referenced by the corresponding slice.
  • the subpicture id (subpic_id), slice address information (slice_address), and slice type (slice_type) may be signaled from the video encoding apparatus.
  • the subpic_id (or slice_subpic_id) signaled in the slice header and the subpic_id (sps_subpic_id or pps_subpic_id) signaled in the SPS or PPS
  • the subpic_id signaled in the SPS or PPS is referred to as'first mapping information'
  • the slice header The subpic_id signaled in may be referred to as'second mapping information'. That is, the'mapping information' mentioned in the present specification may include first mapping information and second mapping information.
  • the subpic_id signaled in the slice header represents the id of the subpicture to which the corresponding slice belongs.
  • the id of the subpicture signaled in the slice header may correspond to the index value of the subpicture as shown in FIG. 12A.
  • the id of the subpicture may correspond to the id value of the subpicture as shown in FIG. 12B.
  • the video decoding apparatus may map the id of the subpicture signaled from the SPS or the PPS and the id of the subpicture signaled from the slice header with each other.
  • the video encoding apparatus may encode and signal the address information (slice_address) of the slice, and the setting unit 940 may use the address information to determine the index value of the slice. Can be set.
  • the address information may indicate the address of the corresponding slice. Address information may have different meanings according to values such as a subpicture flag (subpic_info_present_flag), a type flag (rect_slice_flag), and/or partition permission information (eg, no_partition_flag).
  • subpicture flag subpic_info_present_flag
  • type flag rect_slice_flag
  • partition permission information eg, no_partition_flag
  • the address information may be an index value of a slice in a sub-picture (A sub-picture) to which the corresponding slice belongs (S1820).
  • a sub-picture a sub-picture to which the corresponding slice belongs.
  • the address information may be a slice index value for a subpicture to which the corresponding slice belongs.
  • the address information may be an index value of a slice within the entire picture (S1840). For example, as shown in FIG. 11(b) or 16, when there is no subpicture, the address information may be a slice index value for the entire picture.
  • subpic_info_present_flag 0
  • the number of subpictures 0
  • the address information may be'an index value of a slice within the entire subpicture'.
  • the subpicture may mean the entire picture.
  • the address information may be an index value of a tile or an index value of a CTU (S1860, S1870).
  • the address information may be the tile index value (S1860), and the raster-scan order (without dividing the tile)
  • the address information may be an index value of the CTU (S1870).
  • whether the address information corresponds to which of the index value of the tile and the index value of the CTU may be determined according to the value of the partitioning allowance information.
  • FIG. 19 The relationship or shape between a subpicture and a slice divided using the methods proposed in the present invention is shown in FIG. 19.
  • each of the six rectangles represents the configuration of a slice
  • the subpictures are composed of a total of four, as in the split form of FIG. 12 (b), and each of the subpictures may be divided into a pattern .
  • the tiles are composed of a total of 6 tiles (3x2) as shown in the divided form of FIG. 11 (a).
  • each of the slices is generated as a total of 6 NAL bitstreams as shown in FIG. 19B, and a picture can be divided into 4 subpictures.
  • Syntax values of 6 slice headers for the example of FIG. 19B are as follows.
  • FIG. 20 A connection relationship between slice NAL, picture header NAL, PPS NAL, and SPS NAL is shown in FIG. 20.
  • the video decoding apparatus may connect data of a slice header, data of a PPS, and data of a picture header using pps_id and pic_header_id of the slice header. If sps_id is included in the slice header, it can be directly connected to the SPS from the slice header.
  • the video decoding apparatus obtains sub-picture mapping information from the SPS, tile segmentation information (tile) and slice configuration information (slice) from the PPS, and sub-picture mapping information (sub_picture mapping) from the picture header. -pic mapping) can be obtained.
  • the receiver may be divided into a BEAMer that synthesizes content and a decoder that decodes the synthesized data.
  • BEAMer can compose the synthesized data by combining a plurality of contents into one contents through a process of extracting and combining a plurality of contents.
  • the synthesized data corresponds to input data input to the decoder.
  • Various examples of the configuration of the subpicture may be classified into a case where the configuration of the subpicture is not changed and a case where the configuration of the subpicture is changed.
  • FIG. 21C An example of a case where the configuration of the subpicture is not changed is shown in FIG. 21C.
  • FIGS. 21 (a) and (b) are finally derived from the subpicture configuration form of FIG. 19 (b), the tile division form of FIG. Can be.
  • the content of FIG. 21 (a) and the content of FIG. 21 (b) may be divided in the direction of the pattern.
  • the BEAMer may generate two contents as one synthesized contents as shown in FIG. 21 (c). After receiving all the data for the content of FIG. 21 (a) and the content of FIG. 21 (b), the BEAMer may extract a total of 6 slice bitstreams as follows from all the received data and input them to the decoder.
  • subpicture A and subpicture D in FIG. 21(c) are extracted and synthesized from the contents of FIG. 21(b), and subpicture B and subpicture C in FIG. 21(c) are shown in FIG. 21(a). It can be extracted from the contents of and synthesized.
  • header information such as SPS and PPS is also input to the decoder.
  • a picture header indicating the mapping information of the subpicture may also be input to the decoder.
  • the syntax value of the picture header for the example of FIG. 21(c) may be the same as the syntax value of FIG. 16 or 11(b).
  • FIG. 21(d) An example of a case in which the configuration of a subpicture is changed is shown in FIG. 21(d).
  • 21(d) shows a case where the configuration of a subpicture is changed while merging two contents.
  • the BEAMer may generate two contents as one synthesized contents as shown in FIG. 21(d). After receiving all the data for the content of FIG. 21 (a) and the content of FIG. 21 (b), the BEAMer may extract a total of 6 slice bitstreams as follows from all the received data and input them to the decoder.
  • subpicture D and subpicture C of FIG. 21(d) are extracted from the contents of FIG. 21(b) and synthesized, and subpicture B and subpicture A of FIG. 21(d) are shown in FIG. 21(a). It can be extracted from the contents of and synthesized.
  • mapping information of the changed subpicture must be defined in the picture header and signaled.
  • a transmitter image encoding apparatus
  • a receiver image decoding apparatus
  • header information such as SPS, PPS, etc. in addition to the slice bitstream is also input to the decoder.
  • a picture header indicating the mapping information of the subpicture may also be input to the decoder.
  • the syntax value of the picture header for the example of FIG. 21(d) is as follows.
  • the configuration of the subpicture can be easily expressed in the picture header without changing the SPS, PPS, slice header, and/or slice data information.

Abstract

픽처 분할 방법 및 복호화 장치를 개시한다. 본 발명의 일 실시예에 의하면, 픽처를 분할하는 방법으로서, 비트스트림으로부터, 상기 픽처가 하나 이상의 하위 유닛으로 분할되는지 여부에 대한 분할 플래그를 복호화하는 단계; 상기 분할 플래그가 분할됨을 나타내는 경우에, 상기 비트스트림으로부터 분할정보를 복호화하는 단계; 및 상기 분할정보를 이용하여, 상기 픽처를 상기 하위 유닛으로 분할하는 단계를 포함하는, 방법을 제공한다. 대표도: 도 9

Description

픽처 분할 방법 및 복호화 장치
본 발명은 동영상의 부호화 및 복호화에 관한 것으로서, 더욱 구체적으로는 다양한 목적에 맞는 픽처 분할 방법을 통해 부호화 및 복호화의 효율을 향상시킨 픽처를 분할하는 방법 및 복호화 장치에 관한 것이다.
동영상 데이터는 음성 데이터나 정지 영상 데이터 등에 비하여 많은 데이터량을 가지기 때문에, 압축을 위한 처리 없이 그 자체를 저장하거나 전송하기 위해서는 메모리를 포함하여 많은 하드웨어 자원을 필요로 한다.
따라서, 통상적으로 동영상 데이터를 저장하거나 전송할 때에는 부호화기를 사용하여 동영상 데이터를 압축하여 저장하거나 전송하며, 복호화기에서는 압축된 동영상 데이터를 수신하여 압축을 해제하고 재생한다. 이러한 동영상 압축 기술로는 H.264/AVC를 비롯하여, H.264/AVC에 비해 약 40% 정도의 부호화 효율을 향상시킨 HEVC(High Efficiency Video Coding)가 존재한다.
그러나, 영상의 크기 및 해상도, 프레임율이 점차 증가하고 있고, 이에 따라 부호화해야 하는 데이터량도 증가하고 있으므로 기존의 압축 기술보다 더 부호화 효율이 좋고 화질 개선 효과도 높은 새로운 압축 기술이 요구된다.
이러한 요구에 부응하기 위해 본 발명은 개선된 부호화 및 복호화 기술을 제공하는 것을 목적으로 하며, 특히, 본 발명의 일 측면은 픽처를 다양한 목적에 맞게 분할함으로써 부호화 및 복호화의 효율을 향상시키는 기술과 관련된다.
본 발명의 일 측면은, 픽처를 분할하는 방법으로서, 비트스트림으로부터, 상기 픽처가 하나 이상의 하위 유닛으로 분할되는지 여부에 대한 분할 플래그를 복호화하는 단계; 상기 분할 플래그가 분할됨을 나타내는 경우에, 상기 비트스트림으로부터 분할정보를 복호화하는 단계; 및 상기 분할정보를 이용하여, 상기 픽처를 상기 하위 유닛으로 분할하는 단계를 포함하는, 방법을 제공한다.
본 발명의 다른 일 측면은, 영상 복호화 장치로서, 픽처가 하나 이상의 하위 유닛으로 분할되는지 여부에 대한 분할 플래그를 비트스트림으로부터 복호화하고, 상기 분할 플래그가 분할됨을 나타내는 경우에 상기 비트스트림으로부터 분할정보를 복호화하는 복호화 실행부; 및 상기 분할정보를 이용하여, 상기 픽처를 상기 하위 유닛으로 분할하는 분할부를 포함하는, 영상 복호화 장치를 제공한다.
이상에서 설명한 바와 같이 본 발명의 일 실시예에 의하면, 픽처를 시퀀스들 간의 합성, 비트스트림 패킹, 병렬 처리 등과 같은 다양한 목적에 맞게 분할할 수 있다.
도 1은 본 개시의 기술들을 구현할 수 있는 영상 부호화 장치에 대한 예시적인 블록도이다.
도 2는 QTBTTT 구조를 이용하여 블록을 분할하는 방법을 설명하기 위한 도면이다.
도 3은 복수의 인트라 예측 모드들을 설명하기 위한 도면이다.
도 4는 본 개시의 기술들을 구현할 수 있는 영상 복호화 장치의 예시적인 블록도이다.
도 5 내지 도 7은 슬라이스, 타일 및 서브픽처를 설명하기 위한 도면이다.
도 8은 컨텐츠들의 합성을 설명하기 위한 도면이다.
도 9는 본 개시의 기술들을 구현할 수 있는 복호화부의 예시적인 블록도이다.
도 10은 본 개시의 기술들을 구현할 수 있는 방법의 일 예를 설명하기 위한 순서도이다.
도 11 및 도 12는 슬라이스, 타일 및 서브픽처의 분할 형태를 설명하기 위한 도면이다.
도 13은 서브픽처의 분할을 설명하기 위한 순서도이다.
도 14는 타일의 분할을 설명하기 위한 순서도이다.
도 15는 슬라이스의 분할을 설명하기 위한 순서도이다.
도 16은 슬라이스의 분할 형태를 설명하기 위한 도면이다.
도 17은 서브픽처 맵핑을 설명하기 위한 순서도이다.
도 18은 슬라이스 어드레스를 설명하기 위한 순서도이다.
도 19는 슬라이스와 서브픽처 사이의 관계를 설명하기 위한 도면이다.
도 20은 헤더 정보들 간의 연결 관계를 설명하기 위한 도면이다.
도 21은 서브픽처의 다양한 구성 예들을 설명하기 위한 도면이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성 요소들에 식별 부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
도 1은 본 개시의 기술들을 구현할 수 있는 영상 부호화 장치에 대한 예시적인 블록도이다. 이하에서는 도 1을 참조하여 영상 부호화 장치와 이 장치의 하위 구성들에 대하여 설명하도록 한다.
영상 부호화 장치는 블록 분할부(110), 예측부(120), 감산기(130), 변환부(140), 양자화부(145), 부호화부(150), 역양자화부(160), 역변환부(165), 가산기(170), 필터부(180) 및 메모리(190)를 포함하여 구성될 수 있다.
영상 부호화 장치의 각 구성요소는 하드웨어 또는 소프트웨어로 구현되거나, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 각 구성요소의 기능이 소프트웨어로 구현되고 마이크로프로세서가 각 구성요소에 대응하는 소프트웨어의 기능을 실행하도록 구현될 수도 있다.
하나의 영상(비디오)는 복수의 픽처들로 구성된다. 각 픽처들은 복수의 영역으로 분할되고 각 영역마다 부호화가 수행된다. 예를 들어, 하나의 픽처는 하나 이상의 타일(Tile) 또는/및 슬라이스(Slice)로 분할된다. 여기서, 하나 이상의 타일을 타일 그룹(Tile Group)으로 정의할 수 있다. 각 타일 또는/슬라이스는 하나 이상의 CTU(Coding Tree Unit)로 분할된다. 그리고 각 CTU는 트리 구조에 의해 하나 이상의 CU(Coding Unit)들로 분할된다. 각 CU에 적용되는 정보들은 CU의 신택스로서 부호화되고, 하나의 CTU에 포함된 CU들에 공통적으로 적용되는 정보는 CTU의 신택스로서 부호화된다. 또한, 하나의 타일 내의 모든 블록들에 공통적으로 적용되는 정보는 타일의 신택스로서 부호화되거나 다수 개의 타일을 모아 놓은 타일 그룹의 신택스로서 부호화되며, 하나의 픽처들을 구성하는 모든 블록들에 적용되는 정보는 픽처 파라미터 셋(PPS, Picture Parameter Set) 혹은 픽처 헤더에 부호화된다. 나아가, 복수의 픽처가 공통으로 참조하는 정보들은 시퀀스 파라미터 셋(SPS, Sequence Parameter Set)에 부호화된다. 그리고, 하나 이상의 SPS가 공통으로 참조하는 정보들은 비디오 파라미터 셋(VPS, Video Parameter Set)에 부호화된다.
블록 분할부(110)는 CTU(Coding Tree Unit)의 크기를 결정한다. CTU의 크기에 대한 정보(CTU size)는 SPS 또는 PPS의 신택스로서 부호화되어 영상 복호화 장치로 전달된다.
블록 분할부(110)는 영상을 구성하는 각 픽처(picture)를 미리 결정된 크기를 가지는 복수의 CTU(Coding Tree Unit)들로 분할한 이후에, 트리 구조(tree structure)를 이용하여 CTU를 반복적으로(recursively) 분할한다. 트리 구조에서의 리프 노드(leaf node)가 부호화의 기본 단위인 CU(coding unit)가 된다.
트리 구조로는 상위 노드(혹은 부모 노드)가 동일한 크기의 네 개의 하위 노드(혹은 자식 노드)로 분할되는 쿼드트리(QuadTree, QT), 또는 상위 노드가 두 개의 하위 노드로 분할되는 바이너리트리(BinaryTree, BT), 또는 상위 노드가 1:2:1 비율로 세 개의 하위 노드로 분할되는 터너리트리(TernaryTree, TT), 또는 이러한 QT 구조, BT 구조 및 TT 구조 중 둘 이상을 혼용한 구조일 수 있다. 예컨대, QTBT(QuadTree plus BinaryTree) 구조가 사용될 수 있고, 또는 QTBTTT(QuadTree plus BinaryTree TernaryTree) 구조가 사용될 수 있다. 여기서, BTTT를 합쳐서 MTT(Multiple-Type Tree)라 칭할 수 있다.
도 2는 QTBTTT 분할 트리 구조를 보인다. 도 2에서 보는 바와 같이, CTU는 먼저 QT 구조로 분할될 수 있다. 쿼드트리 분할은 분할 블록(splitting block)의 크기가 QT에서 허용되는 리프 노드의 최소 블록 크기(MinQTSize)에 도달할 때까지 반복될 수 있다. QT 구조의 각 노드가 하위 레이어의 4개의 노드들로 분할되는지 여부를 지시하는 제1 플래그(QT_split_flag)는 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 시그널링된다. QT의 리프 노드가 BT에서 허용되는 루트 노드의 최대 블록 크기(MaxBTSize)보다 크지 않은 경우, BT 구조 또는 TT 구조 중 어느 하나 이상으로 더 분할될 수 있다. BT 구조 및/또는 TT 구조에서는 복수의 분할 방향이 존재할 수 있다. 예컨대, 해당 노드의 블록이 가로로 분할되는 방향과 세로로 분할되는 방향 두 가지가 존재할 수 있다. 도 2와 같이, MTT 분할이 시작되면, 노드들이 분할되었는지 여부를 지시하는 제2 플래그(mtt_split_flag)와, 분할이 되었다면 추가적으로 분할 방향(vertical 혹은 horizontal)을 나타내는 플래그 및/또는 분할 타입(Binary 혹은 Ternary)을 나타내는 플래그가 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 시그널링된다.
트리 구조의 다른 예로서, QTBTTT 구조를 사용하여 블록을 분할하는 경우, 먼저 분할 되었음을 나타내는 CU 분할 플래그(split_cu_flag) 및 분할 타입이 QT 분할인지를 지시하는 QT 분할 플래그(split_qt_flag) 정보가 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 시그널링된다. CU 분할 플래그(split_cu_flag) 값이 분할되지 않았음을 지시하는 경우, 해당 노드의 블록이 분할 트리 구조에서의 리프 노드(leaf node)가 되어 부호화의 기본 단위인 CU(coding unit)가 된다. CU 분할 플래그(split_cu_flag) 값이 분할되었음을 지시하는 경우, QT 분할 플래그(split_qt_flag) 값을 통해 분할 타입이 QT 혹은 MTT인지를 구분한다. 분할 타입이 QT인 경우에는 더 이상의 추가 정보가 없으며, 분할 타입이 MTT인 경우에는 추가적으로 MTT 분할 방향(vertical 혹은 horizontal)을 나타내는 플래그(mtt_split_cu_vertical_flag) 및/또는 MTT 분할 타입(Binary 혹은 Ternary)을 나타내는 플래그(mtt_split_cu_binary_flag)가 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 시그널링된다.
트리 구조의 다른 예시로서 QTBT가 사용되는 경우, 해당 노드의 블록을 동일 크기의 두 개 블록으로 가로로 분할하는 타입(즉, symmetric horizontal splitting)과 세로로 분할하는 타입(즉, symmetric vertical splitting) 두 가지가 존재할 수 있다. BT 구조의 각 노드가 하위 레이어의 블록으로 분할되는지 여부를 지시하는 분할 플래그(split_flag) 및 분할되는 타입을 지시하는 분할 타입 정보가 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 전달된다. 한편, 해당 노드의 블록을 서로 비대칭 형태의 두 개의 블록으로 분할하는 타입이 추가로 더 존재할 수도 있다. 비대칭 형태에는 해당 노드의 블록을 1:3의 크기 비율을 가지는 두 개의 직사각형 블록으로 분할하는 형태가 포함될 수 있고, 혹은 해당 노드의 블록을 대각선 방향으로 분할하는 형태가 포함될 수도 있다.
CU는 CTU로부터의 QTBT 또는 QTBTTT 분할에 따라 다양한 크기를 가질 수 있다. 이하에서는, 부호화 또는 복호화하고자 하는 CU(즉, QTBTTT의 리프 노드)에 해당하는 블록을 '현재블록'이라 칭한다.
예측부(120)는 현재블록을 예측하여 예측블록을 생성한다. 예측부(120)는 인트라 예측부(122)와 인터 예측부(124)를 포함한다.
일반적으로, 픽처 내 현재블록들은 각각 예측적으로 코딩될 수 있다. 일반적으로 현재블록의 예측은 (현재블록을 포함하는 픽처로부터의 데이터를 사용하는) 인트라 예측 기술 또는 (현재블록을 포함하는 픽처 이전에 코딩된 픽처로부터의 데이터를 사용하는) 인터 예측 기술을 사용하여 수행될 수 있다. 인터 예측은 단방향 예측과 양방향 예측 모두를 포함한다.
인트라 예측부(122)는 현재블록이 포함된 현재 픽처 내에서 현재블록의 주변에 위치한 픽셀(참조 픽셀)들을 이용하여 현재블록 내의 픽셀들을 예측한다. 예측 방향에 따라 복수의 인트라 예측모드가 존재한다. 예컨대, 도 3에서 보는 바와 같이, 복수의 인트라 예측모드는 planar 모드와 DC 모드를 포함하는 비방향성 모드와 65개의 방향성 모드를 포함할 수 있다. 각 예측모드에 따라 사용할 주변 픽셀과 연산식이 다르게 정의된다.
인트라 예측부(122)는 현재블록을 부호화하는데 사용할 인트라 예측 모드를 결정할 수 있다. 일부 예들에서, 인트라 예측부(122)는 여러 인트라 예측 모드들을 사용하여 현재블록을 인코딩하고, 테스트된 모드들로부터 사용할 적절한 인트라 예측 모드를 선택할 수도 있다. 예를 들어, 인트라 예측부(122)는 여러 테스트된 인트라 예측 모드들에 대한 레이트 왜곡(rate-distortion) 분석을 사용하여 레이트 왜곡 값들을 계산하고, 테스트된 모드들 중 최선의 레이트 왜곡 특징들을 갖는 인트라 예측 모드를 선택할 수도 있다.
인트라 예측부(122)는 복수의 인트라 예측 모드 중에서 하나의 인트라 예측 모드를 선택하고, 선택된 인트라 예측 모드에 따라 결정되는 주변 픽셀(참조 픽셀)과 연산식을 사용하여 현재블록을 예측한다. 선택된 인트라 예측 모드에 대한 정보가 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 전달된다.
인터 예측부(124)는 움직임 보상 과정을 통해 현재블록에 대한 예측블록을 생성한다. 현재 픽처보다 먼저 부호화 및 복호화된 참조픽처 내에서 현재블록과 가장 유사한 블록을 탐색하고, 그 탐색된 블록을 이용하여 현재블록에 대한 예측블록을 생성한다. 그리고, 현재 픽처 내의 현재블록과 참조픽처 내의 예측블록 간의 변위(displacement)에 해당하는 움직임벡터(motion vector)를 생성한다. 일반적으로, 움직임 추정은 루마(luma) 성분에 대해 수행되고, 루마 성분에 기초하여 계산된 모션 벡터는 루마 성분 및 크로마 성분 모두에 대해 사용된다. 현재블록을 예측하기 위해 사용된 참조픽처에 대한 정보 및 움직임벡터에 대한 정보를 포함하는 움직임 정보는 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 전달된다.
감산기(130)는 현재블록으로부터 인트라 예측부(122) 또는 인터 예측부(124)에 의해 생성된 예측블록을 감산하여 잔차블록을 생성한다.
변환부(140)는 공간 영역의 픽셀 값들을 가지는 잔차블록 내의 잔차 신호를 주파수 도메인의 변환 계수로 변환한다. 변환부(140)는 잔차블록의 전체 크기를 변환 단위로 사용하여 잔차블록 내의 잔차 신호들을 변환할 수 있으며, 또는 잔차블록을 변환 영역 및 비변환 영역인 두 개의 서브블록으로 구분하여, 변환 영역 서브블록만 변환 단위로 사용하여 잔차 신호들을 변환할 수 있다. 여기서, 변환 영역 서브블록은 가로축 (혹은 세로축) 기준 1:1의 크기 비율을 가지는 두 개의 직사각형 블록 중 하나일 수 있다. 이런 경우, 서브블록 만을 변환하였음을 지시하는 플래그(cu_sbt_flag), 방향성(vertical/horizontal) 정보(cu_sbt_horizontal_flag) 및/또는 위치 정보(cu_sbt_pos_flag)가 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 시그널링된다. 또한, 변환 영역 서브블록의 크기는 가로축 (혹은 세로축) 기준 1:3의 크기 비율을 가질 수 있으며, 이런 경우 해당 분할을 구분하는 플래그(cu_sbt_quad_flag)가 추가적으로 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 시그널링된다.
양자화부(145)는 변환부(140)로부터 출력되는 변환 계수들을 양자화하고, 양자화된 변환 계수들을 부호화부(150)로 출력한다.
부호화부(150)는 양자화된 변환 계수들을 CABAC(Context-based Adaptive Binary Arithmetic Code) 등의 부호화 방식을 사용하여 부호화함으로써 비트스트림을 생성한다. 부호화부(150)는 블록 분할과 관련된 CTU size, CU 분할 플래그, QT 분할 플래그, MTT 분할 방향, MTT 분할 타입 등의 정보를 부호화하여, 영상 복호화 장치가 영상 부호화 장치와 동일하게 블록을 분할할 수 있도록 한다.
또한, 부호화부(150)는 현재블록이 인트라 예측에 의해 부호화되었는지 아니면 인터 예측에 의해 부호화되었는지 여부를 지시하는 예측 타입에 대한 정보를 부호화하고, 예측 타입에 따라 인트라 예측정보(즉, 인트라 예측 모드에 대한 정보) 또는 인터 예측정보(참조픽처 및 움직임벡터에 대한 정보)를 부호화한다.
역양자화부(160)는 양자화부(145)로부터 출력되는 양자화된 변환 계수들을 역양자화하여 변환 계수들을 생성한다. 역변환부(165)는 역양자화부(160)로부터 출력되는 변환 계수들을 주파수 도메인으로부터 공간 도메인으로 변환하여 잔차블록을 복원한다.
가산부(170)는 복원된 잔차블록과 예측부(120)에 의해 생성된 예측블록을 가산하여 현재블록을 복원한다. 복원된 현재블록 내의 픽셀들은 다음 순서의 블록을 인트라 예측할 때 참조 픽셀로서 사용된다.
필터부(180)는 블록 기반의 예측 및 변환/양자화로 인해 발생하는 블록킹 아티팩트(blocking artifacts), 링잉 아티팩트(ringing artifacts), 블러링 아티팩트(blurring artifacts) 등을 줄이기 위해 복원된 픽셀들에 대한 필터링을 수행한다. 필터부(180)는 디블록킹 필터(182)와 SAO(Sample Adaptive Offset) 필터(184)를 포함할 수 있다.
디블록킹 필터(180)는 블록 단위의 부호화/복호화로 인해 발생하는 블록킹 현상(blocking artifact)을 제거하기 위해 복원된 블록 간의 경계를 필터링하고, SAO 필터(184)는 디블록킹 필터링된 영상에 대해 추가적인 필터링을 수행한다. SAO 필터(184)는 손실 부호화(lossy coding)로 인해 발생하는 복원된 픽셀과 원본 픽셀 간의 차이를 보상하기 위해 사용되는 필터이다.
디블록킹 필터(182) 및 SAO 필터(184)를 통해 필터링된 복원블록은 메모리(190)에 저장된다. 한 픽처 내의 모든 블록들이 복원되면, 복원된 픽처는 이후에 부호화하고자 하는 픽처 내의 블록을 인터 예측하기 위한 참조 픽처로 사용된다.
도 4는 본 개시의 기술들을 구현할 수 있는 영상 복호화 장치의 예시적인 블록도이다. 이하에서는 도 4를 참조하여 영상 복호화 장치와 이 장치의 하위 구성들에 대하여 설명하도록 한다.
영상 복호화 장치는 복호화부(410), 역양자화부(420), 역변환부(430), 예측부(440), 가산기(450), 필터부(460) 및 메모리(470)를 포함하여 구성될 수 있다.
도 1의 영상 부호화 장치와 마찬가지로, 영상 복호화 장치의 각 구성요소는 하드웨어 또는 소프트웨어로 구현되거나, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 각 구성요소의 기능이 소프트웨어로 구현되고 마이크로프로세서가 각 구성요소에 대응하는 소프트웨어의 기능을 실행하도록 구현될 수도 있다.
복호화부(410)는 영상 부호화 장치로부터 수신한 비트스트림을 복호화하여 블록 분할과 관련된 정보를 추출함으로써 복호화하고자 하는 현재블록을 결정하고, 현재블록을 복원하기 위해 필요한 예측정보와 잔차신호에 대한 정보 등을 추출한다.
복호화부(410)는 SPS(Sequence Parameter Set) 또는 PPS(Picture Parameter Set)로부터 CTU size에 대한 정보를 추출하여 CTU의 크기를 결정하고, 픽처를 결정된 크기의 CTU로 분할한다. 그리고, CTU를 트리 구조의 최상위 레이어, 즉, 루트 노드로 결정하고, CTU에 대한 분할정보를 추출함으로써 트리 구조를 이용하여 CTU를 분할한다.
예컨대, QTBTTT 구조를 사용하여 CTU를 분할하는 경우, 먼저 QT의 분할과 관련된 제1 플래그(QT_split_flag)를 추출하여 각 노드를 하위 레이어의 네 개의 노드로 분할한다. 그리고, QT의 리프 노드에 해당하는 노드에 대해서는 MTT의 분할과 관련된 제2 플래그(MTT_split_flag) 및 분할 방향(vertical / horizontal) 및/또는 분할 타입(binary / ternary) 정보를 추출하여 해당 리프 노드를 MTT 구조로 분할한다. 이를 통해 QT의 리프 노드 이하의 각 노드들을 BT 또는 TT 구조로 반복적으로(recursively) 분할한다.
또 다른 예로서, QTBTTT 구조를 사용하여 CTU를 분할하는 경우, 먼저 CU의 분할 여부를 지시하는 CU 분할 플래그(split_cu_flag)를 추출하고, 해당 블록이 분할된 경우, QT 분할 플래그(split_qt_flag)를 추출한다. 분할 타입이 QT가 아니고 MTT인 경우, MTT 분할 방향(vertical 혹은 horizontal)을 나타내는 플래그(mtt_split_cu_vertical_flag) 및/또는 MTT 분할 타입(Binary 혹은 Ternary)을 나타내는 플래그(mtt_split_cu_binary_flag)를 추가적으로 추출한다. 분할 과정에서 각 노드는 0번 이상의 반복적인 QT 분할 후에 0번 이상의 반복적인 MTT 분할이 발생할 수 있다. 예컨대, CTU는 바로 MTT 분할이 발생하거나, 반대로 다수 번의 QT 분할만 발생할 수도 있다.
다른 예로서, QTBT 구조를 사용하여 CTU를 분할하는 경우, QT의 분할과 관련된 제1 플래그(QT_split_flag)를 추출하여 각 노드를 하위 레이어의 네 개의 노드로 분할한다. 그리고, QT의 리프 노드에 해당하는 노드에 대해서는 BT로 더 분할되는지 여부를 지시하는 분할 플래그(split_flag) 및 분할 방향 정보를 추출한다.
한편, 복호화부(410)는 트리 구조의 분할을 통해 복호화하고자 하는 현재블록을 결정하게 되면, 현재블록이 인트라 예측되었는지 아니면 인터 예측되었는지를 지시하는 예측 타입에 대한 정보를 추출한다. 예측 타입 정보가 인트라 예측을 지시하는 경우, 복호화부(410)는 현재블록의 인트라 예측정보(인트라 예측 모드)에 대한 신택스 요소를 추출한다. 예측 타입 정보가 인터 예측을 지시하는 경우, 복호화부(410)는 인터 예측정보에 대한 신택스 요소, 즉, 움직임벡터 및 그 움직임벡터가 참조하는 참조픽처를 나타내는 정보를 추출한다.
한편, 복호화부(410)는 잔차신호에 대한 정보로서 현재블록의 양자화된 변환계수들에 대한 정보를 추출한다.
역양자화부(420)는 양자화된 변환계수들을 역양자화하고, 역변환부(430)는 역양자화된 변환계수들을 주파수 도메인으로부터 공간 도메인으로 역변환하여 잔차신호들을 복원함으로써 현재블록에 대한 잔차블록을 생성한다.
또한, 역변환부(430)는 변환블록의 일부 영역(서브블록)만 역변환하는 경우, 변환블록의 서브블록만을 변환하였음을 지시하는 플래그(cu_sbt_flag), 서브블록의 방향성(vertical/horizontal) 정보(cu_sbt_horizontal_flag) 및/또는 서브블록의 위치 정보(cu_sbt_pos_flag)를 추출하여, 해당 서브블록의 변환계수들을 주파수 도메인으로부터 공간 도메인으로 역변환함으로써 잔차신호들을 복원하고, 역변환되지 않은 영역에 대해서는 잔차신호로 "0"값을 채움으로써 현재블록에 대한 최종 잔차블록을 생성한다.
예측부(440)는 인트라 예측부(442) 및 인터 예측부(444)를 포함할 수 있다. 인트라 예측부(442)는 현재블록의 예측 타입이 인트라 예측일 때 활성화되고, 인터 예측부(444)는 현재블록의 예측 타입이 인터 예측일 때 활성화된다.
인트라 예측부(442)는 복호화부(410)로부터 추출된 인트라 예측 모드에 대한 신택스 요소로부터 복수의 인트라 예측 모드 중 현재블록의 인트라 예측 모드를 결정하고, 인트라 예측 모드에 따라 현재블록 주변의 참조 픽셀들을 이용하여 현재블록을 예측한다.
인터 예측부(444)는 복호화부(410)로부터 추출된 인트라 예측 모드에 대한 신택스 요소를 이용하여 현재블록의 움직임벡터와 그 움직임벡터가 참조하는 참조픽처를 결정하고, 움직임벡터와 참조픽처를 이용하여 현재블록을 예측한다.
가산기(450)는 역변환부로부터 출력되는 잔차블록과 인터 예측부 또는 인트라 예측부로부터 출력되는 예측블록을 가산하여 현재블록을 복원한다. 복원된 현재블록 내의 픽셀들은 이후에 복호화할 블록을 인트라 예측할 때의 참조픽셀로서 활용된다.
필터부(460)는 디블록킹 필터(462) 및 SAO 필터(464)를 포함할 수 있다. 디블록킹 필터(462)는 블록 단위의 복호화로 인해 발생하는 블록킹 현상(blocking artifact)를 제거하기 위해, 복원된 블록 간의 경계를 디블록킹 필터링한다. SAO 필터(464)는 손실 부호화(lossy coding)으로 인해 발생하는 복원된 픽셀과 원본 픽셀 간의 차이를 보상하기 위해, 디블록킹 필터링 이후의 복원된 블록에 대해 추가적인 필터링을 수행한다. 디블록킹 필터(462) 및 SAO 필터(464)를 통해 필터링된 복원블록은 메모리(470)에 저장된다. 한 픽처 내의 모든 블록들이 복원되면, 복원된 픽처는 이후에 부호화하고자 하는 픽처 내의 블록을 인터 예측하기 위한 참조 픽처로 사용된다.
HEVC 표준에서는 병렬 처리를 위해 두 가지 타입의 픽처(이미지 또는 화면) 분할 방법이 제안되었다. 두 가지 타입은 슬라이스 분할 방법과 타일 분할 방법이다.
1) 슬라이스 분할 방법에 의하면, 하나의 픽처를 raster scan order 순으로 CTU 단위로 분할하여 부호화/복호화할 수 있는 기능이 제공된다. 하나의 슬라이스 내에는 여러 개의 슬라이스 세그먼트(segments)가 존재할 수 있으며, 슬라이스 세그먼트에는 두 가지 종류가 존재한다. 슬라이스 세그먼트의 종류로는 독립적 슬라이스 세그먼트(independent slice segment)와 종속적 슬라이스 세그먼트(dependent slice segment)가 있다.
독립적 슬라이스 세그먼트는 인트라 예측, 인터 예측, 코딩모드 및 엔트로피 코딩 시에 다른 슬라이스에 의존하지 않는 슬라이스 세그먼트이다. 독립적 슬라이스 세그먼트는 헤더 정보가 존재한다. 종속적 슬라이스 세그먼트는 인트라 예측, 인터 예측, 코딩모드 및 엔트로피 코딩 시에 다른 슬라이스에 의존하는(선행하는 다른 독립적 슬라이스 세그먼트를 참조하는) 슬라이스 세그먼트이다. 종속적 슬라이스 세그먼트는 헤더 정보의 대부분을 선행하는 독립적 슬라이스 세그먼트의 헤더 정보를 참고한다. 즉, 종속적 슬라이스 세그먼트의 헤더 정보는 일부만이 시그널링된다.
도 5 (a)는 픽처로부터 분할된 두 개의 슬라이스들을 보이며, 두 개의 슬라이스들은 슬라이스 경계(slice boundary)에 의해 구분될 수 있다. 하나의 슬라이스에는 하나의 독립적 슬라이스 세그먼트와 0개 이상의 종속적 슬라이스 세그먼트가 존재할 수 있다. 픽처의 상측에 위치하는 첫 번째 슬라이스에는 점선을 기준으로 구분되는 하나의 독립적 슬라이스 세그먼트와 두 개의 종속적 슬라이스 세그먼트가 포함되어 있다. 픽처의 하측에 위치하는 두 번째 슬라이스에는 하나의 독립적 슬라이스 세그먼트만이 포함되어 있다(0개의 종속적 슬라이스 세그먼트 포함).
슬라이스 분할 방법에 대한 신택스 구조가 표 1 및 표 2에 나타나 있다.
Figure PCTKR2020013522-appb-img-000001
Figure PCTKR2020013522-appb-img-000002
표 1은 종속적 슬라이스 세그먼트의 사용 여부를 나타내는 플래그(dependent_slice_segments_enabled_flag)를 나타내며, 이 플래그는 PPS에서 정의될 수 있다. 표 2는 슬라이스 세그먼트 헤더정보를 나타낸다.
표 2에 나타낸 바와 같이, 특정 슬라이스 세그먼트가 픽처 내 첫 번째 슬라이스 세그먼트인지 여부를 나타내는 플래그(first_slice_segment_in_pic_flag)가 먼저 시그널링된다. 첫 번째 슬라이스 세그먼트는 독립적 슬라이스 세그먼트가 된다. 첫 번째 슬라이스 세그먼트가 아니라면, 종속적 슬라이스 세그먼트인지 여부를 나타내는 플래그(dependent_slice_segment_flag)가 시그널링된다. 또한, 해당 슬라이스 세그먼트의 address(slice_segment_address)가 함께 시그널링된다. 여기서, slice_segment_address는 해당 슬라이스 세그먼트 내 첫 번째 CTU의 인덱스(index) 값을 의미한다.
2) 타일 분할 방법에 의하면, 하나의 픽처를 CTU 단위로 다수 개의 열(column)과 행(row)으로 구획/분할하여 부호화/복호화할 수 있는 기능이 제공된다. 픽처를 타일로 분할하는 방법은 균등 분할 또는 개별 분할(비균등 분할)이 모두 가능하다.
분할된 각각의 타일들은 인트라 예측 및 엔트로피 코딩 시에 다른 타일에 의존하지 않으며, 인-루프 필터의 의존 여부는 PPS에서 정의되는 플래그로 제어 가능하다. 타일을 위한 별도의 헤더는 존재하지 않는다.
도 5 (b)는 픽처로부터 3x3으로 분할된 타일들을 보이며, 각 타일들은 타일 경계(column boundaries, row boundaries)에 의해 구분될 수 있다. 복수 개의 타일들은 raster scan order 순으로 부호화/복호화가 진행될 수 있으며, 한 타일 내 다수 개의 CTU들도 raster scan order 순으로 부호화/복호화가 진행될 수 있다. 각 CTU 내에 표시된 숫자들이 부호화/복호화가 진행되는 순서를 나타낸다.
타일 분할 방법을 위한 신택스 구조가 표 3에 나타나 있다.
Figure PCTKR2020013522-appb-img-000003
표 3에 나타낸 바와 같이, 타일 분할 방법의 on/off를 지시하는 플래그(tiles_enabled_flag)가 PPS에서 정의되어 시그널링되며, 해당 플래그가 on인 경우에 타일의 크기를 지정하는 신택스들이 추가적으로 시그널링된다.
타일의 크기를 지정하는 신택스들에는, 세로축 방향으로 분할된 타일들의 개수(타일 열의 개수)에서 1을 뺀 값을 지시하는 num_tile_columns_minus1, 가로축 방향으로 분할된 타일들의 개수(타일 행의 개수)에서 1을 뺀 값을 지시하는 num_tile_rows_minus1, 픽처가 가로축 방향과 세로축 방향으로 균등하게 분할되는지 여부를 지시하는 uniform_spacing_flag 등이 포함될 수 있다.
픽처가 균등하게 분할되지 않는 경우(uniform_spacing_flag=off), 타일 열의 너비정보(column_width_minus1)와 타일 행의 높이정보(row_height_minus1)가 추가적으로 시그널링된다. 또한, 타일들 간 경계에서 인-루프 필터의 적용 여부를 나타내는 플래그(loop_filter_across_tiles_enabled_flag)도 시그널링된다.
이상에서 설명된 슬라이스 분할 방법과 타일 분할 방법의 차이점이 도 6에 나타나 있다. 도 6 (a)는 슬라이스 분할 방법에 따라 분할된 슬라이스들(총 4개)을 나타내며, 도 6 (b)는 타일 분할 방법에 따라 분할된 타일들(총 4개)을 나타낸다. 숫자들 각각은 CTU의 개수를 나타낸다.
분할된 슬라이스들 사이에는 CTU 단위로 가로축 방향의 경계만이 존재할 수 있다. 이와 달리, 분할된 타일들 사이에는 CTU 단위로 가로축 방향의 경계와 세로축 방향의 경계가 모두 존재할 수 있다.
본 발명은 다양한 목적의 이미지 분할 방법을 제안한다.
구체적으로, 본 발명에서는 1) 서로 다른 시퀀스들을 합성하기 위한 서브픽처(sub-picture) 분할 방법, 2) 비트스트림 패킹을 위한 슬라이스 분할 방법, 3) 병렬 처리를 위한 타일 분할 방법 및, 4) 다른 시퀀스와의 합성 시에 사용되는 서브픽처의 layout 정보를 표현하는 방법과 layout 정보를 구성(configuration)할 수 있는 표현 방법 등을 제안한다.
타일, 슬라이스 및 서브픽처
본 발명에 대한 상세한 설명에 앞서, 픽처로부터 분할 또는 구획되는 타일, 슬라이스 및, 서브픽처에 대해 정의한다.
타일은 하나의 픽처를 병렬적으로 처리하기 위해, 이 하나의 픽처를 분할한 영역을 의미한다. 타일들은 인트라 예측 및 엔트로피 코딩 시에 서로 독립적으로 동작하는 구조를 가진다. 즉, 타일들은 인트라 예측 시에 참조샘플을 공유하지 않으며, 엔트로피 코딩 시에 context를 공유하지 않는 관계를 가진다. 타일들 간 경계에 인-루프 필터를 적용할지 여부는 별도의 플래그를 두어 제어될 수 있다.
슬라이스는 독립적인 하나의 NAL(network abstraction layer) 비트스트림을 생성하는 데이터 패킹 단위를 의미한다. 하나의 슬라이스에 다수 개의 타일이 포함되거나, 하나의 타일에 다수 개의 슬라이스가 포함될 수도 있다.
슬라이스에는 두 가지 타입이 존재한다. 첫 번째 타입은 유사한 특성을 가진 타일들 또는 임의의 타일들이 하나의 영역으로 구분된 직사각형 슬라이스(rectangular slice)이고, 두 번째 타입은 raster-scan 순으로 타일 또는 CTU의 부호화/복호화를 진행하다가 특정 위치에서 영역이 구분된 raster-scan 슬라이스(비직사각형 모양)이다. 후자의 경우, 타일 단위로 부호화/복호화를 진행하다가 특정 위치에서 영역이 구분된 raster-scan 슬라이스는 '타일 단위 raster-scan 슬라이스'이며, CTU 단위로 부호화/복호화를 진행하다가 특정 위치에서 영역이 구분된 raster-scan 슬라이스는 'CTU 단위 raster-scan 슬라이스'이다.
직사각형 슬라이스와 raster-scan 슬라이스의 일 예가 도 7에 나타나 있다. 도 7에서, 점선으로 구분된 영역은 CTU를 나타내고, 직선으로 구분된 영역은 타일을 나타내며, 일점 쇄선으로 구분된 영역은 슬라이스를 나타낸다.
도 7 (a)에 나타낸 바와 같이, 하나의 픽처는 총 216(18x12)개의 CTU들로 구획되고, 총 24(6x4)개의 타일들로 구획되며, 총 9개의 직사각형 슬라이스들로 구획될 수 있다. 도 7 (b)에 나타낸 바와 같이, 하나의 픽처는 총 216(18x12)개의 CTU들로 구획되고, 총 12(3x4)개의 타일들로 구획되며, 총 3개의 raster-scan 슬라이스들로 구획될 수 있다.
서브픽처는 다른 컨텐츠와의 합성을 위해 구분된 영역을 의미한다. 서브픽처는 최소 1개의 슬라이스를 포함할 수 있다.
서로 다른 컨텐츠들이 서브픽처 단위로 합성되는 일 예가 도 8에 나타나 있다. 우상향 패턴으로 표현된 영역은 컨텐츠 1 내 픽처를 의미하고, 가로축 방향 패턴으로 표현된 영역은 컨텐츠 2 내 픽처를 의미하며, 세로축 방향 패턴으로 표현된 영역은 컨텐츠 3 내 픽처를 의미한다.
도 8의 좌측에 표현된 바와 같이, 픽처들 각각은 4개의 슬라이스로 구성될 수 있으며, 각 슬라이스 단위로 비트스트림이 생성될 수 있다. 또한, 각 슬라이스가 서브픽처로 정의될 수 있다. 물리적으로 슬라이스 단위로 생성된 비트스트림들이 Bitstream Extractor & Merger(BEAMer)에 입력되어 추출 과정 및 합성 과정을 거치게 된다. 여기서, 추출 과정 및 합성 과정의 논리적 단위는 서브픽처이다. 그 결과, 좌상측 부분은 컨텐츠 1로, 좌하측 부분은 컨텐츠 2로, 우측 부분은 컨텐츠 3으로 합성된 새로운 픽처(picture)가 생성되게 된다.
BEAMer는 슬라이스 단위로 생성된 비트스트림들을 서로 다른 컨텐츠들로부터 서브픽처 단위로 추출하고 합성한다. 이를 위해, 각 컨테츠의 픽처는 서브픽처로 구획된다. 즉, 서브픽처는 컨텐츠 합성을 위해 최소 1개의 슬라이스를 포함하는 영역이다.
본 개시의 기술들을 구현할 수 있는 복호화부(410)의 예시적인 블록도가 도 9에 나타나 있다. 복호화부(410)는 복호화 실행부(910), 분할부(920), 맵핑부(930) 및 설정부(940)을 포함하여 구성될 수 있다.
영상 부호화 장치는 픽처가 하나 이상의 하위 유닛으로 분할되는지 여부를 판단하고, 그 결과(분할 플래그)를 부호화하여 시그널링할 수 있다. 복호화 실행부(910)는 비트스트림으로부터 분할 플래그를 복호화하고(S1010), 분할 플래그에 기초하여 픽처가 하위 유닛으로 분할되는지 여부를 판단할 수 있다.
픽처로부터 분할되는 하위 유닛에는 CTU, 타일, 슬라이스, 서브픽처 등이 포함될 수 있다. 즉, 픽처는 CTU, 타일, 슬라이스, 서브픽처 등으로 분할될 수 있다.
분할 플래그는 픽처가 하위 유닛으로 분할되는지 여부 또는 픽처에 분할이 적용되는지 여부를 나타낼 수 있다. 분할 플래그는 픽처가 하나 이상의 서브픽처로 분할되는지 여부를 나타내는 서브픽처 플래그, 픽처에 분할이 적용되는지 여부를 나타내는 분할 허용정보 등일 수 있다. 분할 플래그에 대한 구체적인 내용은 각 실시예에서 설명하도록 한다.
영상 부호화 장치는 분할 플래그가 픽처에 분할이 적용됨(픽처가 하위 유닛으로 분할됨)을 나타내는 경우에 픽처의 분할과 관련된 정보들(분할정보)를 부호화하여 시그널링할 수 있다. 복호화 실행부(910)는 분할 플래그가 픽처에 분할이 적용됨을 나타내는 경우에 비트스트림으로부터 분할정보를 복호화할 수 있다(S1020).
분할정보에는 픽처로부터 분할되는 하위 유닛들의 개수에 대한 정보(개수정보), 크기에 대한 정보(크기정보) 등이 포함될 수 있다. 또한, 분할정보에는 하위 유닛들의 위치에 대한 정보(위치정보)가 더 포함될 수도 있다.
분할부(920)는 분할정보에 기초하여(분할정보를 이용하여) 픽처를 하나 이상의 하위 유닛으로 분할할 수 있다(S1030).
픽처 분할
픽처를 분할하는 방법은 1) 픽처를 정해진 고정 크기의 CTU로 분할하는 과정, 2) 픽처의 병렬 처리를 위해 픽처를 최소 1개 이상의 CTU를 포함하는 타일로 분할하는 과정, 3) 비트스트림 생성을 위해 픽처를 슬라이스로 분할하는 과정을 포함할 수 있다. 4) 또한, 픽처를 분할하는 방법은 컨텐츠 합성을 위해 픽처를 다수 개의 서브픽처로 분할하는 과정을 더 포함할 수 있다.
1) 픽처는 CTU로 분할될 수 있다. 표 4에 나타낸 바와 같이, 영상 부호화 장치는 CTU의 크기를 SPS, PPS 중에서 하나 이상의 위치에서 정의하여 시그널링하고, 영상 복호화 장치는 이를 복호화하여 CTU의 크기를 파악할 수 있다.
Figure PCTKR2020013522-appb-img-000004
CTU의 최소 크기 및 최대 크기는 영상 부호화 장치와 영상 복호화 장치에서 동일하게 제한될 수 있다. 표 4에서는 CTU의 최소 크기가 2의 5 지수승인 32로 설정된 예이다.
2) 픽처는 타일로 분할될 수 있다. 타일은 최소 1개 이상의 CTU를 포함할 수 있다. 즉, 타일의 크기(너비 및 높이)는 CTU 크기의 배수 값으로 표현될 수 있다(타일은 CTU의 배수 관계로 분할될 수 있다).
픽처가 3x2개의 타일들로 분할된 일 예가 도 11 (a)에 나타나 있다. 타일들 각각에 표시된 숫자는 타일의 인덱스 값을 의미하며, 타일의 인덱스 값은 타일이 분할된 형태에 따라 raster-scan 순서를 기준으로 유도될 수 있다. 타일의 인덱스 값은 raster-scan 순서를 기준으로 유도되는 경우 이외에도, 특정의 규칙에 따라 유도될 수도 있다. 이 특정의 규칙은 후술하도록 한다.
3) 픽처는 슬라이스로 분할될 수 있다. 픽처는 하나의 슬라이스에 다수 개의 타일이 포함되도록 분할되거나, 하나의 타일에 다수 개의 슬라이스가 포함되도록 분할될 수도 있다. 즉, 슬라이스 분할은 타일을 이용하여 이루어질 수 있다.
픽처가 총 6개의 슬라이스들로 분할된 일 예가 도 11 (b)에 나타나 있다. 슬라이스들 각각에 표시된 숫자는 슬라이스의 인덱스 값을 의미하며, 슬라이스의 인덱스 값은 슬라이스가 분할된 형태에 따라 raster-scan 순서를 기준으로 유도될 수 있다. 도 11 (b)의 0번 슬라이스가 도 11 (a)의 0번 타일과 1번 타일을 포함하고, 도 11 (b)의 1번 슬라이스와 2번 슬라이스가 도 11 (a)의 2번 타일에 포함되며, 도 11 (b)의 3번 슬라이스와 5번 슬라이스가 도 11 (a)의 3번 타일에 포함되고, 도 11 (b)의 4번 슬라이스가 도 11 (a)의 4번 타일과 5번 타일을 포함하도록 슬라이스 분할이 이루어질 수 있다.
슬라이스의 인덱스 값은 raster-scan 순서를 기준으로 유도되는 경우 이외에도, 특정의 규칙에 따라 유도될 수도 있다. 이 특정의 규칙은 후술하도록 한다. 도 11 (b)의 총 6개의 슬라이스들 각각은 도 11 (c)와 같이 비트스트림으로 패킹될 수 있다.
4) 픽처는 서브픽처로 분할될 수 있다. 서브픽처는 최소 1개의 슬라이스를 포함할 수 있다.
픽처가 총 5개의 서브픽처로 분할된 일 예가 도 12에 나타나 있다. 도 12 (a)는 서브픽처들에 인덱스 값(0 내지 3)이 할당된 일 예를 나타내며, 도 12 (b)는 서브픽처들에 id(identifier) 값(A 내지 D)이 할당된 일 예를 나타낸다.
서브픽처의 인덱스 값은 서브픽처가 분할된 형태에 따라 raster-scan 순서를 기준으로 유도될 수 있다. 도 12 (a)의 0번 서브픽처가 도 11 (b)의 0번 슬라이스를 포함하고, 도 12 (a)의 1번 서브픽처가 도 11 (b)의 1번 슬라이스와 2번 슬라이스를 포함하도록, 픽처가 서브픽처로 분할될 수 있다.
서브픽처의 id 값과 서브픽처의 인덱스 값 사이의 구분을 위해, 서브픽처의 id는 픽처 내 서브픽처의 인덱스 값이 가질 수 있는 수보다 큰 값을 가질 수 있다. 예를 들어, 도 12 (a)의 인덱스 값이 0 내지 3으로 할당된 경우, 서브픽처의 id 값(도 12 (b)의 A 내지 D)는 3을 초과하는 값으로 설정될 수 있다.
이상에서 설명된 픽처의 분할 방법에 따르면, 타일, 슬라이스 및, 서브픽처의 크기는 모두 CTU의 배수 관계에 있음을 알 수 있다.
실시예 1
실시예 1은 SPS에서 정의되는 신택스들을 이용하여 픽처를 서브픽처로 분할하는 방법이다. 실시예 1에서는 서브픽처 분할에 대한 신택스 구조 및 시멘틱스가 제안된다.
실시예 1-1
영상 부호화 장치는 픽처에 서브픽처가 존재하는지 여부(픽처가 서브픽처로 분할되는지 여부)를 판단하고, 그 결과에 대한 정보인 서브픽처 플래그(subpic_present_flag 또는 subpic_info_present_flag)를 부호화하여 시그널링할 수 있다. 영상 복호화 장치는 subpic_info_present_flag를 복호화하고(S1310), subpic_info_present_flag 값에 기초하여 서브픽처가 존재하는지 여부를 판단할 수 있다(S1320).
subpic_info_present_flag는 픽처 내에 서브픽처가 존재하는지 여부 또는, 서브픽처 파라미터들이 존재하는지 여부 또는, 서브픽처 분할이 수행되는지 여부를 나타낼 수 있다. subpic_info_present_flag=0은 서브픽처가 존재하지 않음을 지시하며, subpic_info_present_flag=1은 서브픽처가 존재함을 지시한다. 서브픽처 플래그는 subpics_present_flag일 수도 있다.
영상 부호화 장치는 서브픽처가 존재하는 경우에, 서브픽처의 개수에 대한 정보(num_subpics_in_pic_minus1, 서브픽처의 개수정보)를 부호화하여 시그널링할 수 있다. 영상 복호화 장치는 num_subpics_in_pic_minus1를 복호화하고(S1330), num_subpics_in_pic_minus1에 기초하여 서브픽처의 개수를 파악할 수 있다.
num_subpics_in_pic_minus1는 픽처에 존재하는 서브픽처의 개수에서 1을 제외한 값을 나타내는 신택스이다. num_subpics_in_pic_minus1이 존재하지 않는 경우, 해당 신택스의 값은 0으로 추론될 수 있다. num_subpics_in_pic_minus1는 num_subpics_minus1로도 구현될 수 있다.
하나의 픽처에 최소 2개의 서브픽처가 존재할 수 있으므로, 서브픽처의 개수는 픽처에 존재하는 서브픽처의 개수에서 2를 제외한 값(num_subpics_in_pic_minus2)으로도 구현될 수 있다.
영상 부호화 장치는 서브픽처의 위치 및 크기를 나타내는 정보(서브픽처의 위치정보 및 크기정보)를 서브픽처의 개수만큼 부호화하여 시그널링할 수 있다. 영상 복호화 장치는 서브픽처의 위치 및 크기를 나타내는 정보를 서브픽처의 개수만큼 복호화하고(S1340), 해당 정보를 이용하여 서브픽처들 각각의 위치와 크기를 파악할 수 있다.
서브픽처의 위치정보는 topleft_ctu_idx와 같이 한 서브픽처 내 최좌상단에 위치한 CTU의 인덱스 값으로 구현되거나, subpic_ctu_top_left_x 및 subpic_ctu_top_left_y와 같이 최좌상단에 위치한 CTU의 가로축 방향(horizontal) 위치 및 세로축 방향(vertical) 위치를 나타내는 값으로 구현될 수 있다.
서브픽처의 크기정보는 subpic_width 및 subpic_height와 같이 최좌상단 CTU를 기준으로 서브픽처의 너비와 높이를 나타내는 값(즉, 해당 서브픽처가 가로축 방향 및 세로축 방향으로 포함하는 CTU의 개수)으로 구현되거나, subpic_width_minus1, subpic_height_minus1와 같이 1을 제외한 값으로 구현될 수도 있다. 또한, 서브픽처의 크기정보는 해당 서브픽처 내 최우하단에 위치한 CTU의 인덱스 값(bottomright_ctu_idx)으로도 구현될 수 있다.
영상 복호화 장치는 복호화된 신택스들(서브픽처의 개수정보, 서브픽처의 위치정보 및, 서브픽처의 크기정보)을 이용하여 픽처를 서브픽처로 분할할 수 있다.
한편, 서브픽처의 맵핑정보가 SPS에서 정의되어 시그널링될 수 있다.
맵핑은 서브픽처와 슬라이스 간을 연결하는 것을 의미할 수 있다. 맵핑정보는 서브픽처와 슬라이스 간을 연결하기 위한 정보로서, 맵핑정보에는 서브픽처의 id(subpic_id)가 포함되거나, 서브픽처의 id와 이 id의 길이정보(subpic_id_lens_minus1)가 포함될 수도 있다. 맵핑정보는 서브픽처의 구성정보 등으로 달리 지칭될 수 있다.
영상 부호화 장치는 맵핑(mapping)정보를 부호화하여 시그널링할 수 있으며, 영상 복호화 장치는 맵핑정보를 비트스트림으로부터 복호화할 수 있다(S1370). 맵핑부(930)는 맵핑정보를 이용하여 서브픽처와 슬라이스 간을 맵핑할 수 있다.
실시형태에 따라, 맵핑은 서브픽처의 id 맵핑이 수행되는지 여부를 나타내는 맵핑 플래그에 따라 그 수행 여부가 결정될 수 있다.
이 실시형태에 경우, 영상 부호화 장치는 맵핑 플래그를 부호화하여 시그널링할 수 있다. 영상 복호화 장치는 맵핑 플래그를 복호화하고(S1350), 복호화된 맵핑 플래그를 이용하여 id 맵핑이 수행되는지 여부를 파악할 수 있다(S1360).
맵핑 플래그는 서브픽처의 id가 시그널링되는지 여부를 나타내는 signalled_subpic_id_flag로 구현되거나, 서브픽처의 맵핑이 허용되는지 여부를 지시하는 subpic_mapping_enabled_flag로 구현될 수도 있다. 또한, 맵핑 플래그는 id 맵핑이 SPS에서 수행되는지 여부를 지시하는 sps_subpic_id_present_flag 및 맵핑정보가 SPS에서 시그널링되는지 여부를 지시하는 sps_subpic_id_signalling_present_flag를 포함하는 형태로 구현될 수도 있다.
영상 부호화 장치는 맵핑 플래그가 맵핑이 수행됨을 지시하는 경우에 서브픽처 id(subpic_id)를 서브픽처의 개수만큼(subpic_id[i]) 부호화하여 시그널링할 수 있다. 영상 복호화 장치는 맵핑 플래그가 맵핑이 수행됨을 지시하는 경우에 서브픽처 id(subpic_id)를 서브픽처의 개수만큼(subpic_id[i]) 복호화하고(S1370), 서브픽처와 슬라이스 간을 맵핑할 수 있다.
실시예 1-1에 대한 신택스 구조가 표 5에 나타나 있다. 표 5의 for loop들은 raster-scan 순으로 수행될 수 있다.
Figure PCTKR2020013522-appb-img-000005
표 5의 subpic_treated_as_pic_flag는 서브픽처의 경계를 픽처 경계처럼 취급할지 여부를 지시하는 신택스이다. 예를 들어, subpic_treated_as_pic_flag는 인터 예측 시에 서브픽처의 경계를 픽처의 경계처럼 취급하도록 지시할 수 있다(경계선 픽셀 값의 패딩(padding)). 표 5의 loop_filter_across_subpic_enabled_flag는 서브픽처들 간의 경계에 인-루프 필터를 적용할지 여부를 지시하는 신택스이다.
영상 부호화 장치는 subpic_treated_as_pic_flag와 loop_filter_across_subpic_enabled_flag를 서브픽처의 개수만큼 부호화하여 시그널링할 수 있다. 영상 복호화 장치는 subpic_treated_as_pic_flag와 loop_filter_across_subpic_enabled_flag를 서브픽처의 개수만큼 복호화하고, subpic_treated_as_pic_flag와 loop_filter_across_subpic_enabled_flag를 이용하여 서브픽처의 경계를 픽처의 경계처럼 취급할지 여부와 서브픽처들 간의 경계에 인-루프 필터의 적용 여부를 결정할 수 있다.
도 12 (b)에 나타낸 서브픽처 분할 예시에 실시예 1-1을 적용하면 아래와 같다.
subpic_info_present_flag = true(1), num_subpics_in_pic_minus1 = 3 (num_subpics_in_pic_minus2 = 2), signalled_subpic_id_flag = true(1), subpic_id = {A, B, C, D}(raster-scan order).
실시예 1-2
실시예 1-2는 서브픽처 id가 맵핑 플래그(예: signalled_subpic_id_flag)와 무관하게 시그널링되는 방법이다.
실시예 1-2에서는 S1350 과정 및 S1360 과정 이외의 다른 과정들이 실시예 1-1에서와 동일하게 수행될 수 있다.
구체적으로, 영상 부호화 장치는 맵핑 플래그를 시그널링하지 않고 서브픽처 id를 시그널링할 수 있다. 영상 복호화 장치는 맵핑 플래그를 복호화하지 않고(S1350 과정 및 S1360 과정 제외), 서브픽처 id를 복호화할 수 있다(S1370).
실시예 1-2에 대한 신택스 구조가 표 6에 나타나 있다. 표 6의 for loop들은 raster-scan 순으로 수행될 수 있다.
Figure PCTKR2020013522-appb-img-000006
실시예 1-3
실시예 1-3은 서브픽처 id가 맵핑 플래그와 무관하게 시그널링되며, 서브픽처의 위치정보 및 크기정보와 함께 시그널링되는 방법이다.
실시예 1-3에서는, 실시예 1-1의 과정들 중에서 S1350 과정 및 S1360 과정이 제외되며, S1340 과정과 S1370 과정이 함께 수행될 수 있다.
구체적으로, 영상 부호화 장치는 서브픽처의 개수정보를 부호화하여 시그널링한 후에, 서브픽처의 id를 서브픽처의 위치정보 및 크기정보와 함께 시그널링할 수 있다. 영상 복호화 장치는 서브픽처의 개수정보를 복호화한 후에(S1330), 서브픽처의 id를 서브픽처의 위치정보 및 크기정보와 함께 복호화할 수 있다(S1340 및 S1370).
실시예 1-3에 대한 신택스 구조가 표 7에 나타나 있다. 표 7의 for loop들은 raster-scan 순으로 수행될 수 있다.
Figure PCTKR2020013522-appb-img-000007
실시예 1-4
실시예 1-4는 서브픽처 id의 길이정보를 서브픽처 id와 함께 시그널링하는 방법이다.
서브픽처 id의 길이정보는 서브픽처 id를 표현하기 위해 이용되는 비트 수를 지시하는 정보로서, signalled_subpic_id_length_minus1 또는 subpic_id_len_minus1와 같은 형태로 구현될 수 있다. 서브픽처 id는 서브픽처 id의 길이정보가 지시하는 비트 수만큼 표현될 수 있다.
영상 부호화 장치는 맵핑 플래그가 id 맵핑이 수행됨을 지시하는 경우에 서브픽처 id의 길이정보와 서브픽처 id를 부호화하여 시그널링할 수 있다. 영상 복호화 장치는 맵핑 플래그가 id 맵핑이 수행됨을 지시하는 경우에(S1360), 서브픽처 id의 길이정보와 서브픽처 id를 복호화할 수 있다(S1370).
실시예 1-4에 대한 신택스 구조가 표 8에 나타나 있다. 표 8의 for loop들은 raster-scan 순으로 수행될 수 있다.
Figure PCTKR2020013522-appb-img-000008
실시예 1-5
실시예 1-5는 SPS에서 맵핑정보의 시그널링이 수행되지 않는 방법이다.
따라서, 실시예 1-5에서는 실시예 1-1의 과정들 중에서 맵핑정보의 시그널링과 관련된 과정들인 S1350 과정, S1360 과정 및 S1370 과정이 제외될 수 있다.
실시예 1-5에 대한 신택스 구조가 표 9에 나타나 있다. 표 9의 for loop들은 raster-scan 순으로 수행될 수 있다.
Figure PCTKR2020013522-appb-img-000009
실시예 2
실시예 2는 픽처를 타일로 분할하는 방법이다. 실시예 2에서는 타일 분할에 대한 신택스 구조 및 시멘틱스가 제안된다. 타일 분할에 대한 신택스들은 PPS 또는 픽처 헤더(picture-level header) 위치에서 정의될 수 있다.
영상 부호화 장치는 픽처에 분할이 적용되었는지 여부를 판단하고, 그 판단 결과를 분할 허용정보(분할 플래그)로 하여 시그널링할 수 있다. 영상 복호화 장치는 분할 허용정보를 복호화하고(S1410, S1430), 분할이 적용되는지 여부를 판단할 수 있다(S1420, S1440).
분할 허용정보는 픽처에 분할이 적용되는지 여부를 지시하는 정보로서, single_tile_in_pic_flag로 구현될 수 있다. 예를 들어, single_tile_in_pic_flag=1은 픽처가 타일로 분할되지 않음을 나타내며, single_tile_in_pic_flag=0은 픽처가 다수 개의 타일로 분할됨을 나타낼 수 있다.
분할 허용정보는 no_partition_flag와 single_tile_in_pic_flag의 결합으로 구현될 수도 있다. no_partition_flag=1은 픽처에 어떠한 분할도 적용되지 않음을 나타내며, no_partition_flag=0은 픽처에 분할이 적용됨을 나타낼 수 있다. 이 경우, single_tile_in_pic_flag=1은 픽처가 하나의 타일로 분할되었음을 나타내며, single_tile_in_pic_flag=0은 픽처가 다수 개의 타일로 분할되었음을 나타낼 수 있다.
분할 허용정보는 no_partition_flag와 single_tile_in_pic_flag이 결합된 하나의 신택스(no_pic_partition_flag)로도 구현될 수 있다. 이 경우, no_pic_partition_flag=1은 픽처에 어떠한 분할도 적용되지 않음을 나타내며, no_pic_partition_flag=0은 픽처가 다수 개의 타일로 분할됨을 나타낼 수 있다.
영상 부호화 장치는 분할 허용정보가 분할이 적용됨을 나타내는 경우에 픽처로부터 분할된 타일의 개수를 파악하고, 타일의 개수에 대한 정보(타일의 개수정보)를 부호화하여 시그널링할 수 있다. 영상 복호화 장치는 분할 허용정보가 분할이 적용됨을 나타내는 경우에 타일의 개수정보를 복호화하고(S1450), 복호화된 타일의 개수정보를 이용하여 타일의 개수를 설정할 수 있다.
타일의 개수정보는 세로축 방향으로 분할된 타일의 개수(타일 열의 개수)와, 가로축 방향으로 분할된 타일의 개수(타일 행의 개수)를 포함할 수 있다. 타일 열의 개수는 실제 분할된 타일 열의 개수에서 1을 제외한 값으로 표현될 수 있다(num_tile_colums_minus1 또는 num_exp_tile_columns_minus1). 타일 행의 개수는 실제 분할된 타일 행의 개수에서 1을 제외한 값으로 표현될 수 있다(num_tile_rows_minus1 또는 num_exp_tile_rows_minus1).
영상 부호화 장치는 타일 열들 각각과 타일 행들 각각의 크기를 파악하고, 타일 열과 타일 행의 크기에 대한 정보(타일의 크기정보)를 부호화하여 시그널링할 수 있다. 영상 복호화 장치는 타일의 크기정보를 복호화하고(S1460). 복호화된 타일의 크기정보를 이용하여 타일 열 과 타일 행의 크기를 설정할 수 있다.
타일 열의 크기정보는 해당 타일 열 내 최좌상단에 위치하는 CTU를 기준으로 해당 타일 열의 너비 값(CTU의 개수)으로 표현될 수 있다(tile_column_width_minus1). 타일 행의 크기정보는 해당 타일 행 내 최좌상단에 위치하는 CTU를 기준으로 해당 타일 행의 높이 값(CTU의 개수)으로 표현될 수 있다(tile_row_height_minus1).
마지막 타일 열의 너비는 별도로 정의하지 않아도 유추 가능하므로, 타일 열의 크기정보는 타일 열의 개수에서 1을 제외한 개수만큼 시그널링될 수 있다. 마지막 타일 행의 높이는 별도로 정의하지 않아도 유추 가능하므로, 타일 행의 크기정보는 타일 행의 개수에서 1을 제외한 개수만큼 시그널링될 수 있다.
실시예 2-1
실시예 2-1은 분할 허용정보가 single_tile_in_pic_flag로 구현되는 방법이다.
영상 부호화 장치는 single_tile_in_pic_flag를 부호화하여 시그널링할 수 있다. 영상 복호화 장치는 single_tile_in_pic_flag=1인 경우에(S1440) 타일 분할이 적용되지 않으므로 S1450 과정과 S1460 과정을 수행하지 않을 수 있다. 이와 달리, 영상 복호화 장치는 single_tile_in_pic_flag=0인 경우에(S1440) 다수 개의 타일 분할이 적용되었으므로, S1450 과정과 S1460 과정을 수행하여 픽처를 타일로 분할할 수 있다.
실시예 2-1에 대한 신택스 구조의 일 예가 표 10에 나타나 있다. 표 10의 for loop들은 raster-scan 순으로 수행될 수 있다.
Figure PCTKR2020013522-appb-img-000010
실시예 2-2
실시예 2-2는 분할 허용정보가 no_partition_flag와 single_tile_in_pic_flag로 구현되는 방법이다.
영상 부호화 장치는 no_partition_flag를 부호화하여 시그널링하고, no_partition_flag=0인 경우에 single_tile_in_pic_flag를 부호화하여 시그널링할 수 있다. 영상 복호화 장치는 no_partition_flag를 복호화하고(S1410), 픽처에 분할이 적용되었는지 여부를 판단할 수 있다(S1420).
영상 복호화 장치는 no_partition_flag=1인 경우에(S1420) 타일 분할이 적용되지 않으므로 이 후의 과정들을 수행하지 않을 수 있다. 이와 달리, 영상 복호화 장치는 no_partition_flag=0인 경우에(S1420) single_tile_in_pic_flag를 복호화하고(S1430), single_tile_in_pic_flag의 값을 판단할 수 있다(S1440).
영상 복호화 장치는 single_tile_in_pic_flag=1인 경우에(S1440) 픽처가 하나의 타일로 분할되었으므로 S1450 과정과 S1460 과정을 수행하지 않을 수 있다. 이와 달리, 영상 복호화 장치는 single_tile_in_pic_flag=0인 경우에(S1440) 다수 개의 타일 분할이 적용되었으므로, S1450 과정과 S1460 과정을 수행하여 픽처를 다수 개의 타일로 분할할 수 있다.
실시예 2-2에 대한 신택스 구조의 일 예가 표 11에 나타나 있다. 표 11의 for loop들은 raster-scan 순으로 수행될 수 있다.
Figure PCTKR2020013522-appb-img-000011
표 11의 예에서, no_partition_flag=1인 경우에 타일 분할이 적용되지 않으므로 해당 픽처에 대한 직사각형 슬라이스 분할 또는 구성이 불가능하다. 다만, CTU 단위 raster-scan 슬라이스 분할 또는 구성은 가능하다. single_tile_in_pic_flag=1인 경우에, 픽처가 하나의 타일로 분할되므로, 해당 하나의 타일을 이용하여 1개 이상의 슬라이스를 구성하는 것이 가능하다. 이와 달리, single_tile_in_pic_flag=0인 경우에, 픽처가 다수 개의 타일로 분할되므로, 다수 개의 타일들을 이용하여 직사각형 슬라이스의 구성이 가능하다. 이 경우, 타일 단위 raster-scan 슬라이스의 구성도 가능하다.
도 11 (a)에 나타낸 타일 분할 예시에 대한 실시예 2-1의 신택스는 아래와 같다.
single_tile_in_pic_flag = false(0), num_tile_colums_minus1 = 2 및, num_tile_rows_minus1 = 1
실시예 3
실시예 3은 타일을 이용하여 슬라이스를 분할하는 방법이다. 실시예 3을 통해 분할되는 슬라이스의 타입은 직사각형 슬라이스이다. 실시예 3에서는 슬라이스 분할 방법에 대한 신택스 및 시멘틱스가 제안된다. 슬라이스 분할에 대한 신택스들은 PPS 또는 픽처 헤더 위치에서 정의될 수 있다.
실시예 3-1
영상 부호화 장치는 픽처로부터 분할된 슬라이스의 타입을 판단하고, 그 결과를 타입 플래그(rect_slice_flag)로 하여 시그널링할 수 있다. 영상 복호화 장치는 타입 플래그를 복호화하고(S1530), 타입 플래그를 이용하여 슬라이스의 타입을 판단할 수 있다(S1540).
타입 플래그는 슬라이스의 타입이 직사각형 슬라이스인지 여부를 지시할 수 있다. rect_slice_flag=0은 raster-scan 슬라이스를 지시하고, rect_slice_flag=1은 직사각형 슬라이스를 지시할 수 있다.
서브픽처가 존재하는 경우에(subpic_info_present_flag=1), rect_slice_flag는 시그널링되지 않고 “1”로 유도될 수 있다. 즉, 서브픽처 분할은 슬라이스가 직사각형 슬라이스인 경우에 수행될 수 있다. rect_slice_flag가 존재하지 않고 subpic_info_present_flag=1이라면 rect_slice_flag=1로 유도되며, rect_slice_flag가 존재하지 않고 subpic_info_present_flag=0이라면 rect_slice_flag=0으로 유도될 수 있다.
영상 부호화 장치는 직사각형 슬라이스인 경우에 타일과 슬라이스 사이의 관계를 나타내는 관계 플래그(single_tile_per_slice_flag)를 부호화하여 시그널링할 수 있다. 영상 복호화 장치는 직사각형 슬라이스인 경우에 single_tile_per_slice_flag를 복호화하고(S1550), single_tile_per_slice_flag를 이용하여 타일과 슬라이스 사이의 관계를 판단할 수 있다(S1560).
single_tile_per_slice_flag=1은 타일과 슬라이스가 1 대 1의 관계에 있음을 나타내므로, 추가적인 슬라이스 분할정보가 시그널링되지 않고, 타일의 분할정보가 슬라이스의 분할정보로 이용될 수 있다. 이 경우, 영상 복호화 장치는 타일의 분할정보를 이용하여 픽처를 하나 이상의 슬라이스로 분할할 수 있다.
single_tile_per_slice_flag=0은 하나의 슬라이스가 다수 개의 타일을 포함하거나 다수 개의 슬라이스들이 하나의 타일에 포함되는 관계를 나타내므로, 추가적인 슬라이스 분할정보가 시그널링된다.
영상 부호화 장치는 픽처 내 슬라이스의 개수정보(num_slices_in_pic_minus1)와 다수 개의 슬라이스들이 하나의 타일을 구성하는지 여부에 대한 정보(more_than_one_slice_in_tile_flag[i])를 부호화하여 시그널링할 수 있다. 영상 복호화 장치는 num_slices_in_pic_minus1를 복호화한 후에(S1570), more_than_one_slice_in_tile_flag[i]를 슬라이스의 개수만큼 복호화할 수 있다(S1580).
more_than_one_slice_in_tile_flag=1은 다수 개의 슬라이스들이 하나의 타일을 구성함을 나타내며, more_than_one_slice_in_tile_flag=0은 하나의 슬라이스가 1개 이상의 타일로 구성됨을 나타낼 수 있다.
more_than_one_slice_in_tile_flag=1인 경우에 해당 타일에는 다수 개의 슬라이스들이 포함되므로, 이 타일에 포함된 슬라이스들의 개수정보(num_slices_in_tile_minus1)와 이 타일에 포함된 슬라이스들의 크기정보(slice_height_in_ctus_minus1)가 시그널링될 수 있다.
num_slices_in_tile_minus1는 해당 타일에 포함된 슬라이스들의 개수에서 1을 제외한 값을 나타낸다. 하나의 타일에는 최소 2개의 슬라이스가 존재할 수 있으므로, num_slices_in_tile_minus1은 num_slices_in_tile_minus2로 변경될 수 있다. slice_height_in_ctus_minus1은 해당 타일에 포함된 슬라이스들 각각의 높이 값(CTU의 개수)에서 1을 제외한 값을 나타낸다. 여기서, 마지막 슬라이스의 높이 값은 유추될 수 있다.
영상 복호화 장치는 슬라이스의 개수정보(num_slices_in_tile_minus1)를 복호화한 후에(S1592), 슬라이스들의 크기정보(slice_height_in_ctus_minus1)를 슬라이스의 개수만큼 복호화할 수 있다(S1594).
more_than_one_slice_in_tile_flag=0인 경우에는 하나의 슬라이스에 한 개 이상의 타일이 포함될 수 있다. 이 경우, 영상 부호화 장치는 해당 슬라이스의 크기를 해당 슬라이스에 포함된 타일의 개수를 기준으로 표현하는 크기정보(슬라이스의 크기정보)를 부호화하여 시그널링할 수 있다. 영상 복호화 장치는 타일의 개수를 기준으로 표현된 슬라이스의 크기정보를 복호화할 수 있다(S1596).
타일의 개수를 기준으로 표현된 슬라이스의 크기정보는 slice_width_in_tiles_minus1[i] 및 slice_height_in_tiles_minus1[i]로 이루어질 수 있다. slice_width_in_tiles_minus1는 해당 슬라이스에 속하는 타일 열의 개수정보(타일 열의 개수에서 1을 제외한 값)를 나타낸다. slice_height_in_tiles_minus1는 해당 슬라이스에 속하는 타일 행의 개수정보(타일 행의 개수에서 1을 제외한 값)를 나타낸다.
실시예 3-1에 대한 신택스 구조의 일 예가 표 12에 나타나 있다. 표 12의 for loop들은 raster-scan 순으로 수행될 수 있다.
Figure PCTKR2020013522-appb-img-000012
실시예 3-2
실시예 3-2는 분할 허용정보(분할 플래그, no_partition_flag)를 더 이용하여 슬라이스를 분할하는 방법이다. 여기서, 분할 허용정보는 픽처가 다수 개의 슬라이스로 분할되는지 여부를 지시하는 정보로서, no_partition_flag=1은 픽처가 슬라이스로 분할되지 않음을 나타내고, no_partition_flag=0은 픽처가 다수 개의 슬라이스들로 분할됨을 나타낸다.
영상 부호화 장치는 픽처가 슬라이스로 분할되었는지 여부(다수 개의 슬라이스들로 분할되었는지 여부)를 판단하고, 그 결과를 분할 허용정보의 값으로 설정하여 시그널링할 수 있다. 영상 복호화 장치는 분할 허용정보를 복호화하고(S1510), 분할 허용정보를 이용하여 슬라이스의 분할 여부를 판단할 수 있다(S1520).
no_partition_flag=0인 경우에는 픽처가 슬라이스로 분할되므로, 슬라이스 분할을 위한 과정들(S1530 내지 S1596)이 수행될 수 있다. 이와 달리, no_partition_flag=1인 경우에는 픽처가 슬라이스로 분할되지 않으므로, S1530 과정 내지 S1596 과정들이 수행되지 않을 수 있다. 즉, 슬라이스 분할이 수행되지 않을 수 있다.
실시예 3-2에 대한 신택스 구조의 일 예가 표 13에 나타나 있다. 표 13의 for loop들은 raster-scan 순으로 수행될 수 있다.
Figure PCTKR2020013522-appb-img-000013
도 11 (b)에 나타낸 슬라이스 분할 예시에 대한 실시예 3-1의 신택스는 아래와 같다.
rect_slice_flag = true(1), single_tile_per_slice_flag = false(0), num_slices_in_pic_minus1 = 5
{more_than_one_slice_in_tile_flag = 0, slice_width_in_tiles_minus1 = 1, slice_height_in_tiles_minus1 = 0}
{more_than_one_slice_in_tile_flag = 1, num_slices_in_tile_minus1= 1(num_slices_in_tile_minus2= 0), slice_height_in_ctus_minus1 = ctu 개수}
{more_than_one_slice_in_tile_flag = 1, num_slices_in_tile_minus1= 1(num_slices_in_tile_minus2= 0), slice_height_in_ctus_minus1 = ctu 개수}
{more_than_one_slice_in_tile_flag=0, slice_width_in_tiles_minus1=1, slice_height_in_tiles_minus1=0}
이상에서 설명된 슬라이스 분할 방법에 따라 슬라이스를 구성하면서 슬라이스의 인덱스를 할당 또는 유도한 결과가 도 16에 나타나 있다.
도 16의 슬라이스 인덱스 유도 결과와 도 11 (b)의 슬라이스 인덱스 유도 결과(raster-scan 순서)가 서로 다름을 알 수 있다. 구체적으로, 도 11 (b)의 4번 인덱스 슬라이스는 도 16에서 5번 인덱스로 유도되었고, 도 11 (b)의 5번 인덱스 슬라이스는 도 16에서 4번 인덱스로 유도되었다.
도 16의 슬라이스 인덱스 유도 결과는 앞에서 언급된 특정의 규칙에 따른 결과이고, 여기서 특정의 규칙은 실시예 3의 슬라이스 분할 방법을 의미할 수 있다.
실시예 4
실시예 4는 서브픽처의 맵핑정보를 시그널링하는 방법이다. 실시예 4에서는 맵핑정보를 시그널링하는 방법에 대한 신택스 및 시멘틱스가 제안된다.
맵핑정보를 시그널링하는 경우는 크게 두 가지 경우로 구분될 수 있다. 첫 번째는 컨텐츠의 처음부터 끝까지 서브픽처의 구성이 변하지 않는 경우이며, 두 번째는 컨텐츠의 중간에 서브픽처의 구성이 변하는 경우이다.
서브픽처의 구성이 변하지 않는 경우에는, SPS에서 서브픽처의 맵핑정보가 시그널링될 수 있다. 예를 들어, SPS에서 서브픽처의 위치와 크기가 시그널링되는 경우에 서브픽처의 맵핑정보도 함께 시그널링될 수 있다(실시예 1).
서브픽처의 구성이 변하는 경우와 변하지 않는 경우 모두에서는 픽처 헤더 또는 PPS에서 서브픽처의 맵핑정보가 시그널링될 수 있다. 즉, SPS에서는 서브픽처의 위치정보와 크기정보가 시그널링되며, 픽처 헤더, PPS, 슬라이스 헤더 및, SEI 중 하나 이상에서는 서브픽처의 맵핑정보가 시그널링될 수 있다.
맵핑정보가 SPS에서 시그널링되는 예는 실시예 1에서 설명하였으므로, 이하에서는 맵핑정보가 PPS에서 시그널링되는 예에 대해 설명하도록 한다.
영상 부호화 장치는 맵핑정보(subpic_id)가 존재하는지 여부(또는, subpic_id가 시그널링되는지 여부)를 기준으로 맵핑 플래그의 값을 설정하고, 맵핑 플래그를 부호화하여 시그널링할 수 있다. 영상 복호화 장치는 맵핑 플래그를 복호화하고(S1730), 복호화된 맵핑 플래그를 이용하여 subpic_id가 존재하는지 여부(또는, subpic_id가 시그널링되는지 여부)를 판단할 수 있다(S1740).
앞서 설명된 바와 같이, 맵핑 플래그는 서브픽처의 id가 시그널링되는지 여부를 나타내는 signalled_subpic_id_flag로 구현되거나, 서브픽처의 맵핑이 허용되는지 여부를 지시하는 subpic_mapping_enabled_flag로 구현될 수도 있다. subpic_mapping_enabled_flag=0은 SPS에서 정의한 맵핑정보를 사용함을 의미하며, subpic_mapping_enabled_flag=1은 PPS에서 정의한 맵핑정보를 사용함을 의미할 수 있다.
또한, 맵핑 플래그는 id 맵핑이 SPS에서 수행되는지 여부를 지시하는 sps_subpic_id_present_flag, 맵핑정보가 SPS에서 시그널링되는지 여부를 지시하는 sps_subpic_id_signalling_present_flag 및, PPS에서 맵핑정보가 시그널링되는지 여부를 지시하는 pps_subpic_id_signalling_present_flag를 포함하는 형태로 구현될 수 있다. 이 경우, sps_subpic_id_present_flag=1이고, sps_subpic_id_signalling_present_flag=0인 경우에 pps_subpic_id_signalling_present_flag가 시그널링될 수 있다.
영상 부호화 장치는 맵핑 플래그가 subpic_id의 존재함(맵핑이 적용됨)을 지시하는 경우에 subpic_id를 부호화하여 시그널링할 수 있다. 영상 복호화 장치는 맵핑 플래그가 subpic_id의 존재함을 지시하는 경우에 subpic_id를 복호화할 수 있다(S1760). subpic_id는 서브픽처의 개수 또는 슬라이스의 개수만큼 복호화될 수 있다.
실시형태에 따라, 맵핑정보에는 subpic_id 이외에 subpic_id의 길이정보(signalled_subpic_id_length_minus1 또는 subpic_id_len_minus1)가 더 포함될 수 있다.
길이정보는 맵핑 플래그가 맵핑정보의 존재함을 지시하는 경우에(S1740), 영상 부호화 장치로부터 시그널링되어 영상 복호화 장치에서 복호화될 수 있다(S1750).
실시형태에 따라, 맵핑정보를 시그널링하는 과정은 픽처에 서브픽처가 존재하는지 여부와 슬라이스 타입이 직사각형인지 여부에 따라 그 수행 여부가 결정될 수 있다.
영상 복호화 장치는 영상 부호화 장치로부터 시그널링된 subpic_info_present_flag 및 rect_slice_flag를 복호화하고(S1710), subpic_info_present_flag 및 rect_slice_flag를 이용하여 서브픽처가 존재하는지 여부와 직사각형 슬라이스인지 여부를 판단할 수 있다(S1720). 그 결과, 서브픽처가 존재하고 직사각형 슬라이스라면, 앞에서 설명된 맵핑정보 시그널링 과정(S1730 내지 S1760)이 수행되나, 서브픽처가 아니거나 직사각형 슬라이스가 아닌 경우에는 맵핑정보 시그널링 과정이 수행되지 않을 수 있다.
실시예 4에 대한 두 가지 신택스 구조들이 표 14 및 표 15에 나타나 있다. 표 14는 subpic_id가 서브픽처의 개수만큼 시그널링 및 복호화되는 예이며, 표 15는 subpic_id가 슬라이스의 개수만큼 시그널링 및 복호화되는 예이다.
Figure PCTKR2020013522-appb-img-000014
Figure PCTKR2020013522-appb-img-000015
복호화된 subpic_id는 서브픽처의 개수만큼 특정의 순서에 따라 나열되거나 슬라이스의 개수만큼 특정의 순서에 따라 나열될 수 있다. 여기서, 특정의 순서는 raster-scan 순서이거나 도 16을 통해 설명된 슬라이스 구성 순서일 수 있다.
표 14의 예를 기준으로, 도 11 (b)의 슬라이스와 도 12 (b)의 서브픽처 간을 맵핑하면, subpic_mapping_enabled_flag = true(1) 및 subpic_id = {A, B, C, D} (raster-scan 순서)이다. 표 15의 예를 기준으로, 도 11 (b)의 슬라이스와 도 12 (b)의 서브픽처 간을 맵핑하면, subpic_mapping_enabled_flag = true(1) 및 subpic_id = {A, B, B, C, D, C} (raster-scan 순서)이다.
표 14의 예를 기준으로, 도 16의 슬라이스와 도 12 (b)의 서브픽처 간을 맵핑하면, subpic_mapping_enabled_flag = true(1) 및 subpic_id = {A, B, C, D} (raster-scan 순서)이다. 표 15의 예를 기준으로, 도 16의 슬라이스와 도 12 (b)의 서브픽처 간을 맵핑하면, subpic_mapping_enabled_flag = true(1) 및 subpic_id = {A, B, B, C, C, D} (슬라이스 구성 순서)이다.
실시예 5
실시예 5에서는 슬라이스 헤더에서 정의되는 신택스 및 시멘틱스가 제안된다. 실시예 5에 대한 두 가지 신택스 구조가 표 16 및 표 17에 나타나 있다.
Figure PCTKR2020013522-appb-img-000016
Figure PCTKR2020013522-appb-img-000017
slice_pic_parameter_set_id는 해당 슬라이스가 참조하는 PPS의 id를 나타내며, slice_pic_header_id는 해당 슬라이스가 참조하는 픽처 헤더의 id를 나타낸다.
표 16에 나타난 바와 같이, 서브픽처의 id(subpic_id), 슬라이스의 어드레스 정보(slice_address) 및, 슬라이스의 타입(slice_type)이 영상 부호화 장치로부터 시그널링될 수 있다. 슬라이스 헤더에서 시그널링되는 subpic_id(또는, slice_subpic_id)와, SPS 또는 PPS에서 시그널링되는 subpic_id(sps_subpic_id 또는 pps_subpic_id)를 구분하기 위하여, SPS 또는 PPS에서 시그널링되는 subpic_id를 '제1맵핑정보'라고 지칭하며, 슬라이스 헤더에서 시그널링되는 subpic_id를 '제2맵핑정보'라고 지칭할 수 있다. 즉, 본 명세서에서 언급된 '맵핑정보'에는 제1맵핑정보와 제2맵핑정보가 포함될 수 있다.
슬라이스 헤더에서 시그널링되는 subpic_id는 해당 슬라이스가 속한 서브픽처의 id를 나타낸다. 서브픽처의 id는 서브픽처가 존재하는 경우에(subpic_info_present_flag=1, 분할 플래그가 분할됨을 지시하는 경우)에 시그널링되거나(표 16), 서브픽처가 존재하면서(subpic_info_present_flag=1) 해당 슬라이스의 타입이 직사각형 슬라이스인 경우에(rect_slice_flag=1) 시그널링될 수 있다(표 17).
슬라이스 헤더에서 시그널링되는 서브픽처의 id(제2맵핑정보)는 SPS 또는 PPS에서 서브픽처의 id(제1맵핑정보)가 시그널링되지 않은 경우에 서브픽처의 인덱스 값을 의미할 수 있다. 즉, SPS에서 서브픽처 플래그가 off이거나(예: signalled_subpic_id_flag=0), PPS에서 서브픽처 플래그가 off인 경우(예: subpic_mapping_enabled_flag=0)에는 SPS와 PPS에서 서브픽처의 id가 시그널링되지 않는데, 이와 같은 경우 슬라이스 헤더에서 시그널링되는 서브픽처의 id가 도 12 (a)와 같은 서브픽처의 인덱스 값에 해당할 수 있다.
이와 반대로, SPS 또는 PPS 등에서 서브픽처의 id가 시그널링되었다면, 슬라이스 헤더에서 시그널링되는 서브픽처의 id는 도 12 (b)와 같은 서브픽처의 id 값에 해당할 수 있다. 이 경우, 영상 복호화 장치는 SPS 또는 PPS로부터 시그널링된 서브픽처의 id와 슬라이스 헤더에서 시그널링되는 서브픽처의 id 간을 서로 맵핑할 수 있다.
한편, 표 16 및 표 17에 나타낸 바와 같이, 영상 부호화 장치는 슬라이스의 어드레스(address) 정보(slice_address)를 부호화하여 시그널링할 수 있으며, 설정부(940)는 어드레스 정보를 이용하여 슬라이스의 인덱스 값을 설정할 수 있다.
어드레스 정보는 해당 슬라이스의 주소를 나타낼 수 있다. 어드레스 정보는 서브픽처 플래그(subpic_info_present_flag), 타입 플래그(rect_slice_flag) 및/또는 분할 허용정보(예: no_partition_flag) 등의 값에 따라 서로 다른 의미를 가질 수 있다.
먼저, subpic_info_present_flag=1인 경우에(S1810), 어드레스 정보는 해당 슬라이스가 속한 서브픽처(A sub-picture) 내의 슬라이스의 인덱스 값일 수 있다(S1820). 예를 들어, 도 12 (b)와 같이, 서브픽처가 존재하는 경우에는 어드레스 정보가 해당 슬라이스가 속한 서브픽처에 대한 슬라이스 인덱스 값일 수 있다.
subpic_info_present_flag=0이면서(S1810) rect_slice_flag=1인 경우에(S1830), 어드레스 정보는 픽처 전체 내 슬라이스의 인덱스 값일 수 있다(S1840). 예를 들어, 도 11 (b) 또는 도 16과 같이, 서브픽처가 존재하지 않는 경우에는 어드레스 정보가 픽처 전체에 대한 슬라이스 인덱스 값일 수 있다.
subpic_info_present_flag=0이면 서브픽처의 개수정보(num_subpics_in_pic_minus1)가 시그널링되지 않고, 서브픽처의 개수정보가 존재하지 않으면 서브픽처의 개수는 1로 유도된다(num_subpics_in_pic_minus1=0). 결국, subpic_info_present_flag=0이면서(S1810) rect_slice_flag=1인 경우에(S1830), 어드레스 정보는 '서브픽처 전체 내 슬라이스의 인덱스 값'일 수 있다. 여기서, 서브픽처는 픽처 전체를 의미할 수 있다.
subpic_info_present_flag=0이면서(S1810) rect_slice_flag=0인 경우(S1830), 즉 raster-scan 슬라이스인 경우, 어드레스 정보는 타일의 인덱스 값 또는 CTU의 인덱스 값일 수 있다(S1860, S1870). raster-scan 순서로 타일의 부호화/복호화가 진행되다가 특정 위치에서 raster-scan 슬라이스의 영역이 구분되는 경우에는 어드레스 정보가 타일의 인덱스 값일 수 있으며(S1860), (타일의 분할 없이) raster-scan 순서로 CTU의 부호화/복호화가 진행되다가 특정 위치에서 raster-scan 슬라이스의 영역이 구분되는 경우에는 어드레스 정보가 CTU의 인덱스 값일 수 있다(S1870).
실시형태에 따라, 어드레스 정보가 타일의 인덱스 값과 CTU의 인덱스 값 중에서 어느 값에 해당하는지 여부가 분할 허용정보의 값에 따라 결정될 수도 있다.
예를 들어, 픽처가 1개 이상의 타일로 분할된 경우에는(S1850, no_partition_flag=0) 어드레스 정보가 타일의 인덱스 값일 수 있으며(S1860), 픽처가 분할되지 않은 경우에는(S1850, no_partition_flag=1) 어드레스 정보가 CTU의 인덱스 값일 수 있다(S1870).
본 발명에서 제안하는 방법들을 이용하여 분할된 서브픽처와 슬라이스 간의 관계 또는 형태가 도 19에 나타나 있다.
도 19 (a)에서, 총 6개의 직사각형들 각각은 슬라이스의 구성을 나타내며, 서브픽처들은 도 12 (b)의 분할 형태와 같이 총 4개로 구성되며, 서브픽처들 각각은 패턴으로 구분될 수 있다. 타일들은 도 11 (a)의 분할 형태와 같이 총 6개(3x2)로 구성된다.
슬라이스가 총 6개로 구성되므로, 도 19 (b)에 나타낸 바와 같이 슬라이스들 각각은 총 6개의 NAL 비트스트림으로 생성되고, 픽처는 4개의 서브픽처들로 나누어질 수 있다.
도 19 (b)의 예시를 위한 6개의 슬라이스 헤더의 신택스 값은 다음과 같다.
#1: ( subpic_id = A, slice_address = 0 )
#2: ( subpic_id = B, slice_address = 0 )
#3: ( subpic_id = B, slice_address = 1 )
#4: ( subpic_id = C, slice_address = 0 )
#5: ( subpic_id = C, slice_address = 1 )
#6: ( subpic_id = D, slice_address = 0 )
슬라이스 NAL, 픽처 헤더 NAL, PPS NAL, SPS NAL 사이의 연결 관계가 도 20에 나타나 있다.
영상 복호화 장치는 슬라이스 헤더의 pps_id 및 pic_header_id를 이용하여 슬라이스 헤더의 데이터와 PPS의 데이터 및 픽처 헤더의 데이터를 연결할 수 있다. 슬라이스 헤더에 sps_id가 포함되는 경우에는 슬라이스 헤더로부터 SPS로 직접 연결될 수 있다.
영상 복호화 장치는 SPS로부터 서브픽처의 맵핑정보(sub_picture mapping)를 획득하고, PPS로부터 타일의 분할정보(tile) 및 슬라이스의 구성정보(slice)를 획득하며, 픽처 헤더로부터 서브픽처의 맵핑정보(sub-pic mapping)를 획득할 수 있다.
수신단(영상 복호화 장치)은 컨텐츠를 합성하는 BEAMer 및 합성된 데이터를 복호화하는 복호화기로 구분될 수 있다. BEAMer는 다수 개의 컨텐츠를 추출 및 합성하는 과정을 통해, 다수 개의 컨텐츠를 하나의 컨텐츠로 합성하여 합성된 데이터를 구성할 수 있다. 합성된 데이터는 복호화기로 입력되는 입력 데이터에 해당한다.
이하에서는, 서브픽처의 다양한 구성 예들을 설명한다. 서브픽처의 다양한 구성 예들은 서브픽처의 구성을 변경하지 않는 경우와 서브픽처의 구성을 변경한 경우로 구분될 수 있다.
1) 서브픽처의 구성을 변경하지 않는 경우에 대한 일 예가 도 21 (c)에 나타나 있다.
도 19 (b)의 서브픽처 구성 형태, 도 11 (a)의 타일 분할 형태 및, 도 19 (a)의 슬라이스 구성 형태로부터 최종적으로 도 21 (a) 및 (b)로 나타낸 두 개의 컨텐츠들이 도출될 수 있다. 도 21 (a)의 컨텐츠와 도 21 (b)의 컨텐츠는 패턴의 방향으로 구분될 수 있다.
BEAMer는 두 개의 컨텐츠를 도 21 (c)와 같은 하나의 합성된 컨텐츠로 생성할 수 있다. BEAMer는 도 21 (a)의 컨텐츠와 도 21 (b)의 컨텐츠에 대한 모든 데이터를 수신한 후에, 수신된 모든 데이터로부터 아래와 같은 총 6개의 슬라이스 비트스트림을 추출하여 복호화기에 입력할 수 있다.
1) 도 21 (b) 컨텐츠의 A-0 슬라이스 비트스트림
2) 도 21 (a) 컨텐츠의 B-0 슬라이스 비트스트림
3) 도 21 (a) 컨텐츠의 B-1 슬라이스 비트스트림
4) 도 21 (a) 컨텐츠의 C-0 슬라이스 비트스트림
5) 도 21 (a) 컨텐츠의 C-1 슬라이스 비트스트림
6) 도 21 (b) 컨텐츠의 D-0 슬라이스 비트스트림
예를 들어, 도 21 (c)의 A 서브픽처와 D 서브픽처는 도 21 (b)의 컨텐츠로부터 추출되어 합성되며, 도 21 (c)의 B 서브픽처와 C 서브픽처는 도 21 (a)의 컨텐츠로부터 추출되어 합성될 수 있다.
슬라이스 비트스트림 이외에 SPS, PPS 등과 같은 헤더 정보도 복호화기에 같이 입력된다. 또한, 서브픽처의 맵핑정보를 알려주는 픽처 헤더도 복호화기에 같이 입력될 수 있다. 이 경우, 도 21 (c)의 예시를 위한 픽처 헤더의 신택스 값은 도 16 또는 도 11 (b)의 신택스 값과 동일할 수 있다.
2) 서브픽처의 구성을 변경하는 경우에 대한 일 예가 도 21 (d)에 나타나 있다. 도 21 (d)는 두 개의 컨텐츠를 병합하면서, 서브픽처의 구성도 변경된 경우이다.
BEAMer는 두 개의 컨텐츠를 도 21 (d)와 같은 하나의 합성된 컨텐츠로 생성할 수 있다. BEAMer는 도 21 (a)의 컨텐츠와 도 21 (b)의 컨텐츠에 대한 모든 데이터를 수신한 후에, 수신된 모든 데이터로부터 아래와 같은 총 6개의 슬라이스 비트스트림을 추출하여 복호화기에 입력할 수 있다.
1) 도 21 (b) 컨텐츠의 D-0 슬라이스 비트스트림
2) 도 21 (b) 컨텐츠의 C-0 슬라이스 비트스트림
3) 도 21 (b) 컨텐츠의 C-1 슬라이스 비트스트림
4) 도 21 (a) 컨텐츠의 B-0 슬라이스 비트스트림
5) 도 21 (a) 컨텐츠의 B-1 슬라이스 비트스트림
6) 도 21 (a) 컨텐츠의 A-0 슬라이스 비트스트림
예를 들어, 도 21 (d)의 D 서브픽처와 C 서브픽처는 도 21 (b)의 컨텐츠로부터 추출되어 합성되며, 도 21 (d)의 B 서브픽처와 A 서브픽처는 도 21 (a)의 컨텐츠로부터 추출되어 합성될 수 있다.
서브픽처의 구성을 변경하는 경우에는 변경된 서브픽처의 맵핑정보가 픽처 헤더에서 정의되어 시그널링되어야 한다. 예를 들어, 송신단(영상 부호화 장치)에서 픽처 헤더 정보를 생성하여 시그널링하거나, 수신단(영상 복호화 장치)에서 픽처 헤더 정보를 생성할 수도 있다.
서브픽처의 구성을 변경하는 경우에는 슬라이스 비트스트림 이외에 SPS, PPS 등과 같은 헤더 정보도 복호화기에 같이 입력된다. 또한, 서브픽처의 맵핑정보를 알려주는 픽처 헤더도 복호화기에 같이 입력될 수 있다. 이 경우, 도 21 (d)의 예시를 위한 픽처 헤더의 신택스 값은 아래와 같다.
표 14와 같이 서브픽처의 개수만큼 subpic_id가 시그널링되고, raster-scan 순서인 경우에는 subpic_mapping_enabled_flag = true(1) 및 subpic_id = {D, C, B, A}. 표 15와 같이 슬라이스의 개수만큼 subpic_id가 시그널링되고, raster-scan 순서인 경우에는 subpic_mapping_enabled_flag = true(1) 및 subpic_id = {D, C, C, B, A, B}. 표 15와 같이 슬라이스의 개수만큼 subpic_id가 시그널링되고, 슬라이스의 구성 순서인 경우에는 subpic_mapping_enabled_flag = true(1) 및 subpic_id = {D, C, C, B, B, A}.
이와 같이, 도 21 (d)를 통해, SPS, PPS, 슬라이스 헤더, 및/또는 슬라이스 데이터 정보에는 변화를 주지 않고도, 픽처 헤더에서 서브픽처의 구성을 쉽게 표현할 수 있음을 확인할 수 있다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
CROSS-REFERENCE TO RELATED APPLICATION
본 특허출원은, 본 명세서에 그 전체가 참고로서 포함되는, 2019년 10월 7일에 한국에 출원한 특허출원번호 제10-2019-0123858호 및, 2020년 3월 17일에 한국에 출원한 특허출원번호 제10-2020-0032688호에 대해 우선권을 주장한다.

Claims (19)

  1. 픽처를 분할하는 방법으로서,
    비트스트림으로부터, 상기 픽처가 하나 이상의 하위 유닛으로 분할되는지 여부에 대한 분할 플래그를 복호화하는 단계;
    상기 분할 플래그가 분할됨을 나타내는 경우에, 상기 비트스트림으로부터 분할정보를 복호화하는 단계; 및
    상기 분할정보를 이용하여, 상기 픽처를 상기 하위 유닛으로 분할하는 단계를 포함하는, 픽처 분할 방법.
  2. 제1항에 있어서,
    상기 분할 플래그는,
    상기 픽처가 상기 하위 유닛에 해당하는 하나 이상의 서브픽처로 분할되는지 여부를 나타내며,
    상기 분할정보는,
    상기 서브픽처의 개수정보, 상기 서브픽처의 위치정보 및, 상기 서브픽처의 크기정보를 포함하는, 픽처 분할 방법.
  3. 제1항에 있어서,
    상기 분할 플래그는,
    상기 픽처가 상기 하위 유닛에 해당하는 다수 개의 타일로 분할되는지 여부를 나타내며,
    상기 분할정보는,
    상기 타일의 개수정보 및 상기 타일의 크기정보를 포함하는, 픽처 분할 방법.
  4. 제1항에 있어서,
    상기 분할 플래그는,
    상기 픽처가 상기 하위 유닛에 해당하는 다수 개의 슬라이스로 분할되는지 여부를 나타내며,
    상기 분할 플래그를 복호화하는 단계는,
    상기 분할 플래그가 분할됨을 나타내는 경우에, 상기 슬라이스의 타입을 나타내는 타입 플래그를 상기 비트스트림으로부터 더 복호화하고,
    상기 분할정보를 복호화하는 단계는,
    상기 분할 플래그가 분할됨을 나타내며 상기 타입 플래그가 직사각형 슬라이스를 나타내는 경우에, 상기 분할정보를 복호화하며,
    상기 분할정보는,
    상기 슬라이스의 개수정보 및 상기 슬라이스의 크기정보를 포함하는, 픽처 분할 방법.
  5. 제4항에 있어서,
    상기 슬라이스의 크기정보는,
    상기 슬라이스가 하나 이상의 타일을 포함하는 경우, 상기 슬라이스에 포함된 타일 열(column)의 개수정보와 상기 슬라이스에 포함된 타일 행(row)의 개수정보를 포함하는, 픽처 분할 방법.
  6. 제1항에 있어서,
    상기 하위 유닛에 해당하는 하나 이상의 서브픽처와 상기 하위 유닛에 해당하는 하나 이상의 슬라이스 간을 맵핑(mapping)하기 위한 맵핑정보를, 상기 비트스트림으로부터 복호화하는 단계; 및
    상기 맵핑정보를 이용하여, 상기 서브픽처와 상기 슬라이스 간을 맵핑하는 단계를 더 포함하는, 픽처 분할 방법.
  7. 제6항에 있어서,
    상기 픽처에 맵핑이 적용되는지 여부를 나타내는 맵핑 플래그를 상기 비트스트림으로부터 복호화하는 단계를 더 포함하고,
    상기 맵핑정보는,
    상기 맵핑 플래그가 맵핑이 적용됨을 나타내는 경우에, 상기 비트스트림의 SPS 또는 PPS로부터 복호화되는 제1맵핑정보를 포함하는, 픽처 분할 방법.
  8. 제6항에 있어서,
    상기 맵핑정보는,
    상기 분할 플래그가 분할됨을 나타내는 경우에, 상기 비트스트림의 슬라이스 헤더로부터 복호화되는 제2맵핑정보를 포함하는, 픽처 분할 방법.
  9. 제1항에 있어서,
    상기 하위 유닛에 해당하는 슬라이스의 어드레스(address) 정보를 상기 비트스트림의 슬라이스 헤더로부터 복호화하는 단계; 및
    상기 어드레스 정보를 이용하여, 상기 슬라이스가 포함된 서브픽처 내에서 상기 슬라이스의 인덱스를 설정하는 단계를 더 포함하고,
    상기 어드레스 정보는,
    상기 비트스트림으로부터 복호화된 타입 플래그가 직사각형 슬라이스를 나타내는 경우에 상기 픽처 내에서의 상기 슬라이스의 인덱스를 나타내며, 상기 타입 플래그가 raster-scan 슬라이스를 나타내는 경우에 상기 픽처에 포함된 타일의 인덱스를 나타내는, 픽처 분할 방법.
  10. 영상 복호화 장치로서,
    픽처가 하나 이상의 하위 유닛으로 분할되는지 여부에 대한 분할 플래그를 비트스트림으로부터 복호화하고, 상기 분할 플래그가 분할됨을 나타내는 경우에 상기 비트스트림으로부터 분할정보를 복호화하는 복호화 실행부; 및
    상기 분할정보를 이용하여, 상기 픽처를 상기 하위 유닛으로 분할하는 분할부를 포함하는, 영상 복호화 장치.
  11. 제10항에 있어서,
    상기 분할 플래그는,
    상기 픽처가 상기 하위 유닛에 해당하는 하나 이상의 서브픽처로 분할되는지 여부를 나타내며,
    상기 분할정보는,
    상기 서브픽처의 개수정보, 상기 서브픽처의 위치정보 및, 상기 서브픽처의 크기정보를 포함하는, 영상 복호화 장치.
  12. 제10항에 있어서,
    상기 분할 플래그는,
    상기 픽처가 상기 하위 유닛에 해당하는 다수 개의 타일로 분할되는지 여부를 나타내며,
    상기 분할정보는,
    상기 타일의 개수정보 및 상기 타일의 크기정보를 포함하는, 영상 복호화 장치.
  13. 제10항에 있어서,
    상기 분할 플래그는,
    상기 픽처가 상기 하위 유닛에 해당하는 다수 개의 슬라이스로 분할되는지 여부를 나타내며,
    상기 복호화 실행부는,
    상기 분할 플래그가 분할됨을 나타내는 경우에 상기 슬라이스의 타입을 나타내는 타입 플래그를 상기 비트스트림으로부터 더 복호화하고, 상기 분할 플래그가 분할됨을 나타내며 상기 타입 플래그가 직사각형 슬라이스를 나타내는 경우에 상기 분할정보를 복호화하며,
    상기 분할정보는,
    상기 슬라이스의 개수정보 및 상기 슬라이스의 크기정보를 포함하는, 영상 복호화 장치.
  14. 제13항에 있어서,
    상기 슬라이스의 크기정보는,
    상기 슬라이스가 하나 이상의 타일을 포함하는 경우, 상기 슬라이스에 포함된 타일 열(column)의 개수정보와 상기 슬라이스에 포함된 타일 행(row)의 개수정보를 포함하는, 영상 복호화 장치.
  15. 제10항에 있어서,
    상기 비트스트림으로부터 복호화된 맵핑(mapping)정보를 이용하여, 상기 하위 유닛에 해당하는 하나 이상의 서브픽처와 상기 하위 유닛에 해당하는 하나 이상의 슬라이스 간을 맵핑하는 맵핑부를 더 포함하는, 영상 복호화 장치.
  16. 제15항에 있어서,
    상기 복호화 실행부는,
    상기 픽처에 맵핑이 적용되는지 여부를 나타내는 맵핑 플래그를 상기 비트스트림으로부터 더 복호화하고,
    상기 맵핑정보는,
    상기 맵핑 플래그가 맵핑이 적용됨을 나타내는 경우에, 상기 비트스트림의 SPS 또는 PPS로부터 복호화되는 제1맵핑정보를 포함하는, 영상 복호화 장치.
  17. 제15항에 있어서,
    상기 맵핑정보는,
    상기 분할 플래그가 분할됨을 나타내는 경우에, 상기 비트스트림의 슬라이스 헤더로부터 복호화되는 제2맵핑정보를 포함하는, 영상 복호화 장치.
  18. 제10항에 있어서,
    상기 비트스트림으로부터 복호화된 슬라이스의 어드레스(address) 정보를 이용하여, 상기 슬라이스가 포함된 서브픽처 내에서 상기 슬라이스의 인덱스를 설정하는 설정부를 더 포함하고,
    상기 어드레스 정보는,
    상기 비트스트림으로부터 복호화된 타입 플래그가 직사각형 슬라이스를 나타내는 경우에 상기 픽처 내에서의 상기 슬라이스의 인덱스를 나타내며, 상기 타입 플래그가 raster-scan 슬라이스를 나타내는 경우에 상기 픽처에 포함된 타일의 인덱스를 나타내는, 영상 복호화 장치.
  19. 영상 부호화 장치로서,
    블록 분할부; 및
    픽처가 하나 이상의 하위 유닛으로 분할되는지 여부에 대한 분할 플래그를 부호화하는 부호화부를 포함하고,
    상기 부호화부는,
    상기 분할 플래그가 분할됨을 나타내는 경우에, 분할정보를 부호화하는, 영상 부호화 장치.
PCT/KR2020/013522 2019-10-07 2020-10-06 픽처 분할 방법 및 복호화 장치 WO2021071186A1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US17/767,116 US20220368899A1 (en) 2019-10-07 2020-10-06 Method for splitting picture and decoding apparatus
CN202080083722.1A CN114731402A (zh) 2019-10-07 2020-10-06 用于分割画面的方法和解码设备

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2019-0123858 2019-10-07
KR20190123858 2019-10-07
KR10-2020-0032688 2020-03-17
KR1020200032688A KR20210042001A (ko) 2019-10-07 2020-03-17 픽처 분할 방법 및 영상 복호화 장치

Publications (1)

Publication Number Publication Date
WO2021071186A1 true WO2021071186A1 (ko) 2021-04-15

Family

ID=75437620

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/013522 WO2021071186A1 (ko) 2019-10-07 2020-10-06 픽처 분할 방법 및 복호화 장치

Country Status (3)

Country Link
US (1) US20220368899A1 (ko)
CN (1) CN114731402A (ko)
WO (1) WO2021071186A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230140628A1 (en) * 2021-11-04 2023-05-04 Meta Platforms, Inc. Novel buffer format for a two-stage video encoding process

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150075065A (ko) * 2009-06-30 2015-07-02 한국전자통신연구원 수퍼 매크로 블록 기반의 인트라 부호화 방법 및 장치
US20150229967A1 (en) * 2012-08-21 2015-08-13 Samsung Electronics Co., Ltd. Inter-layer video coding method and device for predictive information based on tree structure coding unit, and inter-layer video decoding method and device for predictive informationbased on tree structure coding unit
WO2017065422A1 (ko) * 2015-10-12 2017-04-20 엘지전자(주) 영상 처리 방법 및 이를 위한 장치
JP2017523672A (ja) * 2014-06-20 2017-08-17 クアルコム,インコーポレイテッド ビデオコーディングにおける成分間予測
US20180270509A1 (en) * 2017-03-15 2018-09-20 Mediatek Inc. Method and apparatus of video coding

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120106622A1 (en) * 2010-11-03 2012-05-03 Mediatek Inc. Method and Apparatus of Slice Grouping for High Efficiency Video Coding
US9049452B2 (en) * 2011-01-25 2015-06-02 Mediatek Singapore Pte. Ltd. Method and apparatus for compressing coding unit in high efficiency video coding
US9807426B2 (en) * 2011-07-01 2017-10-31 Qualcomm Incorporated Applying non-square transforms to video data
US11184623B2 (en) * 2011-09-26 2021-11-23 Texas Instruments Incorporated Method and system for lossless coding mode in video coding
JP6473078B2 (ja) * 2013-04-05 2019-02-20 シャープ株式会社 画像復号装置
WO2015011752A1 (ja) * 2013-07-22 2015-01-29 ルネサスエレクトロニクス株式会社 動画像符号化装置およびその動作方法
US20170118486A1 (en) * 2014-06-11 2017-04-27 Lg Electronics Inc. Method And Apparatus For Encoding And Decoding Video Signal Using Embedded Block Partitioning
US10630977B2 (en) * 2015-04-08 2020-04-21 Lg Electronics Inc. Method and apparatus for encoding/decoding a video signal
US10630985B2 (en) * 2016-05-27 2020-04-21 Samsung Electronics Co., Ltd. Method for scanning coding blocks inside a video frame by video codecs
WO2018037853A1 (ja) * 2016-08-26 2018-03-01 シャープ株式会社 画像復号装置及び画像符号化装置
KR102354628B1 (ko) * 2017-03-31 2022-01-25 한국전자통신연구원 부호화 트리 유닛 및 부호화 유닛의 처리를 수행하는 영상 처리 방법, 그를 이용한 영상 복호화, 부호화 방법 및 그 장치
WO2019167849A1 (en) * 2018-02-28 2019-09-06 Sharp Kabushiki Kaisha Systems and methods for partitioning regions of a picture for video coding using different coding unit sizes

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150075065A (ko) * 2009-06-30 2015-07-02 한국전자통신연구원 수퍼 매크로 블록 기반의 인트라 부호화 방법 및 장치
US20150229967A1 (en) * 2012-08-21 2015-08-13 Samsung Electronics Co., Ltd. Inter-layer video coding method and device for predictive information based on tree structure coding unit, and inter-layer video decoding method and device for predictive informationbased on tree structure coding unit
JP2017523672A (ja) * 2014-06-20 2017-08-17 クアルコム,インコーポレイテッド ビデオコーディングにおける成分間予測
WO2017065422A1 (ko) * 2015-10-12 2017-04-20 엘지전자(주) 영상 처리 방법 및 이를 위한 장치
US20180270509A1 (en) * 2017-03-15 2018-09-20 Mediatek Inc. Method and apparatus of video coding

Also Published As

Publication number Publication date
US20220368899A1 (en) 2022-11-17
CN114731402A (zh) 2022-07-08

Similar Documents

Publication Publication Date Title
WO2018030599A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2018062892A1 (ko) 가중치 인덱스에 기초하여 최적의 예측을 수행하는 방법 및 장치
WO2017018664A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2018217024A1 (ko) 다양한 블록 크기를 지원하는 영상 부호화 또는 복호화를 위한 장치 및 방법
WO2017026681A1 (ko) 비디오 코딩 시스템에서 인터 예측 방법 및 장치
WO2012043989A2 (ko) 블록 분할 방법 및 복호화 장치
WO2018097626A1 (ko) 비디오 신호 처리 방법 및 장치
WO2015122549A1 (ko) 동영상 처리 방법 및 장치
WO2020071616A1 (ko) Cclm에 기반한 인트라 예측 방법 및 그 장치
WO2016200234A1 (ko) 영상의 부호화/복호화 방법 및 이를 위한 장치
WO2020251330A1 (ko) 단순화된 mpm 리스트 생성 방법을 활용하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
WO2016190627A1 (ko) 비디오 신호 처리 방법 및 장치
WO2020096427A1 (ko) 영상 신호 부호화/복호화 방법 및 이를 위한 장치
WO2020180166A1 (ko) 영상 부호화/복호화 방법 및 장치
WO2018155983A1 (ko) 비디오 신호 처리 방법 및 장치
WO2020159199A1 (ko) 영상 신호 부호화/복호화 방법 및 이를 위한 장치
WO2020130680A1 (ko) 인트라 예측을 사용하여 비디오 신호를 처리하기 위한 방법 및 장치
WO2021054807A1 (ko) 참조 샘플 필터링을 이용하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
WO2018034374A1 (ko) 인트라 예측 필터링을 이용하여 비디오 신호를 인코딩, 디코딩하는 방법 및 장치
WO2021172912A1 (ko) 사인 데이터 하이딩 관련 영상 디코딩 방법 및 그 장치
WO2021150084A1 (ko) 색상 공간 변환 기반 영상 또는 비디오 코딩
WO2021040487A1 (ko) 영상 코딩 시스템에서 레지듀얼 데이터 코딩에 대한 영상 디코딩 방법 및 그 장치
WO2021071186A1 (ko) 픽처 분할 방법 및 복호화 장치
WO2020138958A1 (ko) 양방향 예측 방법 및 영상 복호화 장치
WO2021201549A1 (ko) 레지듀얼 코딩에 대한 영상 디코딩 방법 및 그 장치

Legal Events

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

Ref document number: 20875117

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20875117

Country of ref document: EP

Kind code of ref document: A1