WO2019194515A1 - Procédé de traitement vidéo et appareil associé - Google Patents
Procédé de traitement vidéo et appareil associé Download PDFInfo
- Publication number
- WO2019194515A1 WO2019194515A1 PCT/KR2019/003826 KR2019003826W WO2019194515A1 WO 2019194515 A1 WO2019194515 A1 WO 2019194515A1 KR 2019003826 W KR2019003826 W KR 2019003826W WO 2019194515 A1 WO2019194515 A1 WO 2019194515A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- block
- split
- current block
- splitting
- partitioning
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/129—Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Definitions
- the present invention relates to a still image or moving image processing method, and more particularly, to a method for determining a partition structure of a block in which encoding / decoding is performed and an apparatus supporting the same.
- Compression coding refers to a series of signal processing techniques for transmitting digitized information through a communication line or for storing in a form suitable for a storage medium.
- Media such as an image, an image, an audio, and the like may be a target of compression encoding.
- a technique of performing compression encoding on an image is called video image compression.
- Next-generation video content will be characterized by high spatial resolution, high frame rate and high dimensionality of scene representation. Processing such content would result in a tremendous increase in terms of memory storage, memory access rate, and processing power.
- An object of the present invention proposes a block direction restriction method based on horizontal direction priority. It is also an object of the present invention to propose a block division limitation method based on vertical priority.
- an object of the present invention is to propose a ternary tree partitioning priority based block partitioning method. Also, an object of the present invention is to propose a binary tree partitioning 2 rank based block partitioning limiting method. It is also an object of the present invention to propose an asymmetric tree splitting 2 rank based block splitting restriction method.
- an object of the present invention is to propose an asymmetric tree partitioning priority based block partitioning method. Also, an object of the present invention is to propose a binary tree partitioning 2 rank based block partitioning limiting method. It is also an object of the present invention to propose a ternary tree splitting 2 rank based block splitting method.
- An aspect of the present invention provides a method of decoding an image, the method comprising: parsing a split flag syntax element indicating whether a current block is divided into a plurality of sub-blocks; If the partition flag syntax element indicates that the current block is to be partitioned, indicates whether the current block is partitioned using binary-tree partitioning or ternary-tree partitioning. Parsing a split type syntax element; Determining a split mode of the current block based on the split flag syntax element and the split type syntax element, wherein the split mode includes a split type and a split direction of the current block; And calling a coding tree unit syntax for determining a partition structure of each sub-block divided from the current block based on the partition mode.
- the current block is a block partitioned from an upper node block using binary tree partitioning or ternary tree partitioning
- deriving a partitioning direction of the current block based on the partitioning mode of the higher node block. can do.
- the current block is a block partitioned from an upper node block using binary tree partitioning or ternary tree partitioning, and the current block is a sub-block having a lower priority in coding order among subblocks partitioned from the higher node block.
- the method may include deriving a split direction of the current block based on the split mode of the upper node block.
- the current block is a block partitioned from an upper node block using binary tree partitioning or ternary tree partitioning, and the current block is a sub-block having a lower priority in coding order among subblocks partitioned from the higher node block.
- the method may include deriving a split direction of the current block based on a split mode of a subblock having a higher priority than the current block in encoding order among the subblocks divided from the upper node block.
- the encoding order is a first scan order scanned from left to right and from top to bottom, a second scan order scanned from left to right and from bottom to top, from right to left and from top to bottom At least one of a third scan order and a fourth scan order scanned from right to left and from bottom to top may be determined.
- the parsing syntax element may include parsing the split flag syntax element, wherein a width obtained by adding a width of the current block to a horizontal coordinate of an upper left sample of the current block is less than or equal to a width of a current picture, The split flag syntax when a height of the current block is added to a vertical coordinate of an upper left sample of is smaller than or equal to a height of the current picture, and the current block is not larger than a predefined maximum transform size. This can be done by parsing the element.
- a split flag syntax element indicating whether a current block is divided into a plurality of subblocks is parsed, and the split flag syntax element is parsed.
- a split type indicating whether the current block is split using binary-tree splitting or ternary-tree splitting
- a syntax element parsing portion for parsing the syntax element;
- a split mode determiner configured to determine a split mode of the current block based on the split flag syntax element and the split type syntax element, wherein the split mode includes a split type and a split direction of the current block;
- a syntax caller that calls a coding tree unit syntax for determining a partition structure of each sub-block divided from the current block based on the split mode.
- the splitting mode determining unit divides the splitting direction of the current block based on the splitting mode of the upper node block. Can be derived.
- the splitting mode determination unit is a block in which the current block is partitioned from an upper node block using binary tree splitting or ternary tree splitting, and the coding order is included among subblocks in which the current block is split from the upper node block.
- the division direction of the current block may be derived based on the division mode of the higher node block.
- the splitting mode determination unit is a block in which a current current block is a block divided from an upper node block using binary tree splitting or ternary tree splitting, and the coding order is included among subblocks in which the current block is split from the upper node block.
- the division direction of the current block may be derived based on a division mode of a sub block having a higher priority than the current block in encoding order among sub blocks divided from the higher node block.
- the encoding order is a first scan order scanned from left to right and from top to bottom, a second scan order scanned from left to right and from bottom to top, from right to left and from top to bottom At least one of a third scan order and a fourth scan order scanned from right to left and from bottom to top may be determined.
- the syntax element parsing unit may further include: a value obtained by adding a width of the current block to a horizontal coordinate of the upper left sample of the current block, which is smaller than or equal to the width of the current picture,
- the split flag syntax element may be parsed when a value obtained by adding a height of the current block to coordinates is less than or equal to a height of the current picture and the current block is not larger than a predefined maximum transform size.
- compression performance can be improved by effectively determining a partition structure and signaling related information.
- coding efficiency can be improved by saving syntax signaling bits for the BT split flag.
- FIG. 1 is a schematic block diagram of an encoding apparatus in which an encoding of a video / image signal is performed, according to an embodiment to which the present invention is applied.
- FIG. 2 is a schematic block diagram of a decoding apparatus in which an embodiment of the present invention is applied and decoding of a video / image signal is performed.
- FIG. 3 is a diagram illustrating an example of a multi-type tree structure as an embodiment to which the present invention can be applied.
- FIG. 4 is a diagram illustrating a signaling mechanism of partition partition information of a quadtree with nested multi-type tree structure according to an embodiment to which the present invention may be applied.
- FIG. 5 is a diagram illustrating a method of dividing a CTU into multiple CUs based on a quadtree and accompanying multi-type tree structure as an embodiment to which the present invention may be applied.
- FIG. 6 is a diagram illustrating a method of limiting ternary-tree splitting as an embodiment to which the present invention may be applied.
- FIG. 7 is a diagram illustrating redundant division patterns that may occur in binary tree division and ternary tree division, as an embodiment to which the present invention may be applied.
- FIG. 8 is a diagram illustrating a quad-tree based block division structure according to an embodiment to which the present invention is applied.
- FIG. 9 is a diagram illustrating a binary-tree based block partitioning structure according to an embodiment to which the present invention is applied.
- FIG. 10 is a diagram illustrating a ternary-tree based block partitioning structure according to an embodiment to which the present invention is applied.
- FIG. 11 is a diagram illustrating a binary-tree and ternary-tree based block partitioning structure according to an embodiment to which the present invention is applied.
- FIG. 12 is a diagram illustrating a quad-tree and binary-tree based block partitioning structure according to an embodiment to which the present invention is applied.
- FIG. 13 is a diagram illustrating a partition limiting method applied to a binary-tree based partition structure as an embodiment to which the present invention is applied.
- FIG. 14 is a diagram illustrating a bit signaling method according to an embodiment of the present invention to which a division restriction method is applied.
- FIG. 15 is a diagram illustrating a binary-tree based block partitioning structure according to an embodiment to which the present invention is applied.
- FIG. 16 is a diagram illustrating a partition restriction method applied to a binary-tree based partition structure according to an embodiment to which the present invention is applied.
- FIG. 17 is a diagram illustrating a bit signaling method according to an embodiment of the present invention to which a partition restriction method is applied.
- FIG. 18 is a flowchart illustrating a partition limiting method according to an embodiment of the present invention.
- FIG. 19 is a diagram illustrating an asymmetric-tree based block splitting structure according to an embodiment to which the present invention is applied.
- 20 to 22 are diagrams illustrating examples of block division according to an embodiment to which the present invention may be applied.
- FIG. 23 is a diagram illustrating a horizontal direction-based block division restriction method as an embodiment to which the present invention is applied.
- FIG. 24 is a diagram illustrating a vertical direction-based block division restriction method as an embodiment to which the present invention is applied.
- FIG. 25 is a diagram illustrating a horizontal direction based block division limiting method according to an embodiment to which the present invention is applied.
- FIG. 26 is a diagram illustrating a vertical direction-based block division restriction method as an embodiment to which the present invention is applied.
- FIG. 27 is a diagram illustrating a scanning order according to block division, according to an embodiment to which the present invention is applied.
- FIG. 28 is a diagram illustrating an adaptive block scan order according to an embodiment to which the present invention is applied.
- 29 is a diagram illustrating a partition limiting method according to an adaptive block scan order according to an embodiment to which the present invention is applied.
- FIG. 30 is a flowchart illustrating a method of limiting block partitioning based on a block size according to an embodiment of the present invention.
- FIG. 31 is a diagram illustrating a method of determining whether to partition a block based on a maximum transform block size without syntax signaling as an embodiment to which the present invention is applied.
- 32 is a flowchart illustrating a method of decoding a video signal according to an embodiment to which the present invention is applied.
- FIG 33 is a diagram illustrating an apparatus for decoding a video signal according to an embodiment to which the present invention is applied.
- 35 is a diagram illustrating the structure of a content streaming system according to an embodiment to which the present invention is applied.
- the 'processing unit' refers to a unit in which a process of encoding / decoding such as prediction, transformation, and / or quantization is performed.
- the processing unit may be referred to as a 'processing block' or 'block'.
- the processing unit may be interpreted to include a unit for the luma component and a unit for the chroma component.
- the processing unit may correspond to a Coding Tree Unit (CTU), a Coding Unit (CU), a Prediction Unit (PU), or a Transform Unit (TU).
- CTU Coding Tree Unit
- CU Coding Unit
- PU Prediction Unit
- TU Transform Unit
- the processing unit may be interpreted as a unit for a luma component or a unit for a chroma component.
- the processing unit may be a coding tree block (CTB), a coding block (CB), a prediction block (PU), or a transform block (TB) for a luma component. May correspond to. Or, it may correspond to a coding tree block (CTB), a coding block (CB), a prediction block (PU), or a transform block (TB) for a chroma component.
- CTB coding tree block
- CB coding block
- PU prediction block
- TB transform block
- the present invention is not limited thereto, and the processing unit may be interpreted to include a unit for a luma component and a unit for a chroma component.
- processing unit is not necessarily limited to square blocks, but may also be configured in a polygonal form having three or more vertices.
- a pixel, a pixel, and the like are referred to collectively as a sample.
- using a sample may mean using a pixel value or a pixel value.
- FIG. 1 is a schematic block diagram of an encoding apparatus in which an encoding of a video / image signal is performed, according to an embodiment to which the present invention is applied.
- the encoding apparatus 100 may include an image splitter 110, a subtractor 115, a transformer 120, a quantizer 130, an inverse quantizer 140, an inverse transformer 150,
- the adder 155, the filter 160, the memory 170, the inter predictor 180, the intra predictor 185, and the entropy encoder 190 may be configured.
- the inter predictor 180 and the intra predictor 185 may be collectively referred to as a predictor.
- the predictor may include an inter predictor 180 and an intra predictor 185.
- the transform unit 120, the quantization unit 130, the inverse quantization unit 140, and the inverse transform unit 150 may be included in the residual processing unit.
- the residual processing unit may further include a subtracting unit 115.
- the image divider 110, the subtractor 115, the transformer 120, the quantizer 130, the inverse quantizer 140, the inverse transformer 150, and the adder 155 may be described.
- the filtering unit 160, the inter prediction unit 180, the intra prediction unit 185, and the entropy encoding unit 190 may be configured by one hardware component (eg, an encoder or a processor).
- the memory 170 may include a decoded picture buffer (DPB) or may be configured by a digital storage medium.
- DPB decoded picture buffer
- the image divider 110 may divide the input image (or picture or frame) input to the encoding apparatus 100 into one or more processing units.
- the processing unit may be called a coding unit (CU).
- the coding unit may be recursively divided according to a quad-tree binary-tree (QTBT) structure from a coding tree unit (CTU) or a largest coding unit (LCU).
- QTBT quad-tree binary-tree
- CTU coding tree unit
- LCU largest coding unit
- one coding unit may be divided into a plurality of coding units of a deeper depth based on a quad tree structure and / or a binary tree structure.
- the quad tree structure may be applied first and the binary tree structure may be applied later.
- the binary tree structure may be applied first.
- the coding procedure according to the present invention may be performed based on the final coding unit that is no longer split.
- the maximum coding unit may be used as the final coding unit immediately based on coding efficiency according to the image characteristic, or if necessary, the coding unit is recursively divided into coding units of lower depths and optimized.
- a coding unit of size may be used as the final coding unit.
- the coding procedure may include a procedure of prediction, transform, and reconstruction, which will be described later.
- the processing unit may further include a prediction unit (PU) or a transform unit (TU).
- the prediction unit and the transform unit may be partitioned or partitioned from the aforementioned final coding unit, respectively.
- the prediction unit may be a unit of sample prediction
- the transformation unit may be a unit for deriving a transform coefficient and / or a unit for deriving a residual signal from the transform coefficient.
- an M ⁇ N block may represent a set of samples or transform coefficients composed of M columns and N rows.
- a sample may generally represent a pixel or a value of a pixel, and may only represent pixel / pixel values of the luma component, or only pixel / pixel values of the chroma component.
- a sample may be used as a term corresponding to one picture (or image) for a pixel or a pel.
- the encoding apparatus 100 subtracts the prediction signal (predicted block, prediction sample array) output from the inter prediction unit 180 or the intra prediction unit 185 from the input image signal (original block, original sample array).
- a signal may be generated (residual signal, residual block, residual sample array), and the generated residual signal is transmitted to the converter 120.
- a unit that subtracts a prediction signal (prediction block, prediction sample array) from an input image signal (original block, original sample array) in the encoder 100 may be called a subtraction unit 115.
- the prediction unit may perform a prediction on a block to be processed (hereinafter, referred to as a current block) and generate a predicted block including prediction samples for the current block.
- the prediction unit may determine whether intra prediction or inter prediction is applied on a current block or CU basis. As described later in the description of each prediction mode, the prediction unit may generate various information related to prediction, such as prediction mode information, and transmit the generated information to the entropy encoding unit 190. The information about the prediction may be encoded in the entropy encoding unit 190 and output in the form of a bitstream.
- the intra predictor 185 may predict the current block by referring to the samples in the current picture.
- the referenced samples may be located in the neighborhood of the current block or may be located apart according to the prediction mode.
- prediction modes may include a plurality of non-directional modes and a plurality of directional modes.
- Non-directional mode may include, for example, DC mode and planner mode (Planar mode).
- the directional mode may include, for example, 33 directional prediction modes or 65 directional prediction modes according to the degree of detail of the prediction direction. However, as an example, more or less directional prediction modes may be used depending on the setting.
- the intra predictor 185 may determine the prediction mode applied to the current block by using the prediction mode applied to the neighboring block.
- the inter predictor 180 may derive the predicted block with respect to the current block based on the reference block (reference sample array) specified by the motion vector on the reference picture.
- the motion information may be predicted in units of blocks, subblocks, or samples based on the correlation of the motion information between the neighboring block and the current block.
- the motion information may include a motion vector and a reference picture index.
- the motion information may further include inter prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.) information.
- the neighboring block may include a spatial neighboring block existing in the current picture and a temporal neighboring block present in the reference picture.
- the reference picture including the reference block and the reference picture including the temporal neighboring block may be the same or different.
- the temporal neighboring block may be referred to as a collocated reference block, a collocated CU (colCU), and the like, and a reference picture including the temporal neighboring block is called a collocated picture (colPic). It may be.
- the inter prediction unit 180 constructs a motion information candidate list based on neighboring blocks and provides information indicating which candidates are used to derive a motion vector and / or a reference picture index of the current block. Can be generated. Inter prediction may be performed based on various prediction modes.
- the inter prediction unit 180 may use motion information of a neighboring block as motion information of a current block.
- the residual signal may not be transmitted.
- the motion vector of the neighboring block is used as a motion vector predictor and the motion vector difference is signaled by signaling a motion vector difference. Can be directed.
- the prediction signal generated by the inter predictor 180 or the intra predictor 185 may be used to generate a reconstruction signal or to generate a residual signal.
- the transformer 120 may apply transform techniques to the residual signal to generate transform coefficients.
- the transformation technique may include at least one of a discrete cosine transform (DCT), a discrete sine transform (DST), a karhunen-loeve transform (KLT), a graph-based transform (GBT), or a conditionally non-linear transform (CNT).
- DCT discrete cosine transform
- DST discrete sine transform
- KLT karhunen-loeve transform
- GBT graph-based transform
- CNT conditionally non-linear transform
- GBT means a conversion obtained from this graph when the relationship information between pixels is represented by a graph.
- CNT refers to a transform that is generated based on and generates a prediction signal using all previously reconstructed pixels.
- the conversion process may be applied to pixel blocks having the same size as the square, or may be applied to blocks of variable size rather than square.
- the quantization unit 130 quantizes the transform coefficients and transmits them to the entropy encoding unit 190.
- the entropy encoding unit 190 encodes the quantized signal (information about the quantized transform coefficients) and outputs the bitstream. have.
- the information about the quantized transform coefficients may be referred to as residual information.
- the quantization unit 130 may rearrange block quantized transform coefficients into a one-dimensional vector form based on a coefficient scan order, and quantize the quantized transform coefficients based on the quantized transform coefficients in the one-dimensional vector form. Information about transform coefficients may be generated.
- the entropy encoding unit 190 may perform various encoding methods such as, for example, exponential Golomb, context-adaptive variable length coding (CAVLC), context-adaptive binary arithmetic coding (CABAC), and the like.
- the entropy encoding unit 190 may encode information necessary for video / image reconstruction other than quantized transform coefficients (for example, values of syntax elements) together or separately.
- Encoded information eg, encoded video / image information
- NALs network abstraction layer
- the network may include a broadcasting network and / or a communication network
- the digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, and the like.
- the signal output from the entropy encoding unit 190 may include a transmitting unit (not shown) for transmitting and / or a storing unit (not shown) for storing as an internal / external element of the encoding apparatus 100, or the transmitting unit It may be a component of the entropy encoding unit 190.
- the quantized transform coefficients output from the quantization unit 130 may be used to generate a prediction signal.
- the quantized transform coefficients may be reconstructed in the residual signal by applying inverse quantization and inverse transform through inverse quantization unit 140 and inverse transform unit 150 in a loop.
- the adder 155 adds the reconstructed residual signal to the predicted signal output from the inter predictor 180 or the intra predictor 185 so that a reconstructed signal (reconstructed picture, reconstructed block, reconstructed sample array) is added. Can be generated. If there is no residual for the block to be processed, such as when the skip mode is applied, the predicted block may be used as the reconstructed block.
- the adder 155 may be called a restoration unit or a restoration block generation unit.
- the generated reconstruction signal may be used for intra prediction of a next processing target block in a current picture, and may be used for inter prediction of a next picture through filtering as described below.
- the filtering unit 160 may improve subjective / objective image quality by applying filtering to the reconstruction signal.
- the filtering unit 160 may generate a modified reconstructed picture by applying various filtering methods to the reconstructed picture, and the modified reconstructed picture is stored in the memory 170, specifically, the DPB of the memory 170.
- the various filtering methods may include, for example, deblocking filtering, a sample adaptive offset, an adaptive loop filter, a bilateral filter, and the like.
- the filtering unit 160 may generate various information about the filtering and transmit the generated information to the entropy encoding unit 190.
- the filtering information may be encoded in the entropy encoding unit 190 and output in the form of a bitstream.
- the modified reconstructed picture transmitted to the memory 170 may be used as the reference picture in the inter predictor 180.
- the encoding apparatus may avoid prediction mismatch between the encoding apparatus 100 and the decoding apparatus, and may improve encoding efficiency.
- the memory 170 DPB may store the modified reconstructed picture for use as a reference picture in the inter predictor 180.
- the memory 170 may store the motion information of the block from which the motion information in the current picture is derived (or encoded) and / or the motion information of the blocks in the picture that have already been reconstructed.
- the stored motion information may be transmitted to the inter predictor 180 to use the motion information of the spatial neighboring block or the motion information of the temporal neighboring block.
- the memory 170 may store reconstructed samples of reconstructed blocks in the current picture, and transfer the reconstructed samples to the intra predictor 185.
- FIG. 2 is a schematic block diagram of a decoding apparatus in which an embodiment of the present invention is applied and decoding of a video / image signal is performed.
- the decoding apparatus 200 includes an entropy decoding unit 210, an inverse quantizer 220, an inverse transform unit 230, an adder 235, a filter 240, a memory 250, and an inter
- the prediction unit 260 and the intra prediction unit 265 may be configured.
- the inter predictor 260 and the intra predictor 265 may be collectively called a predictor. That is, the predictor may include an inter predictor 180 and an intra predictor 185.
- the inverse quantization unit 220 and the inverse transform unit 230 may be collectively called a residual processing unit. That is, the residual processing unit may include an inverse quantization unit 220 and an inverse transformation unit 230.
- the entropy decoder 210, the inverse quantizer 220, the inverse transformer 230, the adder 235, the filter 240, the inter predictor 260, and the intra predictor 265 are described in the embodiment. Can be configured by one hardware component (eg, decoder or processor).
- the memory 170 may include a decoded picture buffer (DPB) or may be configured by a digital storage medium.
- DPB decoded picture buffer
- the decoding apparatus 200 may reconstruct an image corresponding to a process in which video / image information is processed in the encoding apparatus of FIG. 1.
- the decoding apparatus 200 may perform decoding using a processing unit applied in the encoding apparatus.
- the processing unit of decoding may be a coding unit, for example, which may be split along a quad tree structure and / or a binary tree structure from a coding tree unit or a maximum coding unit.
- the reconstructed video signal decoded and output through the decoding apparatus 200 may be reproduced through the reproducing apparatus.
- the decoding apparatus 200 may receive a signal output from the encoding apparatus of FIG. 1 in the form of a bitstream, and the received signal may be decoded through the entropy decoding unit 210.
- the entropy decoding unit 210 may parse the bitstream to derive information (eg, video / image information) necessary for image reconstruction (or picture reconstruction).
- the entropy decoding unit 210 decodes information in a bitstream based on a coding method such as exponential Golomb coding, CAVLC, or CABAC, quantized values of syntax elements required for image reconstruction, and transform coefficients for residuals. Can be output.
- the CABAC entropy decoding method receives a bin corresponding to each syntax element in a bitstream, and decodes syntax element information and decoding information of neighboring and decoding target blocks or information of symbols / bins decoded in a previous step.
- the context model may be determined using the context model, the probability of occurrence of a bin may be predicted according to the determined context model, and arithmetic decoding of the bin may be performed to generate a symbol corresponding to the value of each syntax element. have.
- the CABAC entropy decoding method may update the context model by using the information of the decoded symbol / bin for the context model of the next symbol / bean after determining the context model.
- the information related to the prediction among the information decoded by the entropy decoding unit 2110 is provided to the prediction unit (the inter prediction unit 260 and the intra prediction unit 265), and the entropy decoding performed by the entropy decoding unit 210 is performed. Dual values, that is, quantized transform coefficients and related parameter information, may be input to the inverse quantizer 220.
- information on filtering among information decoded by the entropy decoding unit 210 may be provided to the filtering unit 240.
- a receiver (not shown) that receives a signal output from the encoding apparatus may be further configured as an internal / external element of the decoding apparatus 200, or the receiver may be a component of the entropy decoding unit 210.
- the inverse quantization unit 220 may dequantize the quantized transform coefficients and output the transform coefficients.
- the inverse quantization unit 220 may rearrange the quantized transform coefficients in the form of a two-dimensional block. In this case, the reordering may be performed based on the coefficient scan order performed by the encoding apparatus.
- the inverse quantization unit 220 may perform inverse quantization on quantized transform coefficients using a quantization parameter (for example, quantization step size information), and may obtain transform coefficients.
- a quantization parameter for example, quantization step size information
- the inverse transformer 230 inversely transforms the transform coefficients to obtain a residual signal (residual block, residual sample array).
- the prediction unit may perform prediction on the current block and generate a predicted block including prediction samples for the current block.
- the prediction unit may determine whether intra prediction or inter prediction is applied to the current block based on the information about the prediction output from the entropy decoding unit 210, and may determine a specific intra / inter prediction mode.
- the intra predictor 265 may predict the current block by referring to samples in the current picture.
- the referenced samples may be located in the neighborhood of the current block or may be located apart according to the prediction mode.
- prediction modes may include a plurality of non-directional modes and a plurality of directional modes.
- the intra predictor 265 may determine the prediction mode applied to the current block by using the prediction mode applied to the neighboring block.
- the inter prediction unit 260 may derive the predicted block for the current block based on the reference block (reference sample array) specified by the motion vector on the reference picture.
- the motion information may be predicted in units of blocks, subblocks, or samples based on the correlation of the motion information between the neighboring block and the current block.
- the motion information may include a motion vector and a reference picture index.
- the motion information may further include inter prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.) information.
- the neighboring block may include a spatial neighboring block existing in the current picture and a temporal neighboring block present in the reference picture.
- the inter prediction unit 260 may construct a motion information candidate list based on neighboring blocks and derive a motion vector and / or a reference picture index of the current block based on the received candidate selection information. Inter prediction may be performed based on various prediction modes, and the information about the prediction may include information indicating a mode of inter prediction for the current block.
- the adder 235 adds the obtained residual signal to the predictive signal (predicted block, predictive sample array) output from the inter predictor 260 or the intra predictor 265 to restore the reconstructed signal (restored picture, reconstructed block). , Restore sample array). If there is no residual for the block to be processed, such as when the skip mode is applied, the predicted block may be used as the reconstructed block.
- the adder 235 may be called a restoration unit or a restoration block generation unit.
- the generated reconstruction signal may be used for intra prediction of a next processing target block in a current picture, and may be used for inter prediction of a next picture through filtering as described below.
- the filtering unit 240 may improve subjective / objective image quality by applying filtering to the reconstruction signal.
- the filtering unit 240 may generate a modified reconstructed picture by applying various filtering methods to the reconstructed picture, and the modified reconstructed picture may be stored in the memory 250, specifically, the DPB of the memory 250. Can be sent to.
- the various filtering methods may include, for example, deblocking filtering, a sample adaptive offset, an adaptive loop filter, a bilateral filter, and the like.
- the (modified) reconstructed picture stored in the DPB of the memory 250 may be used as the reference picture in the inter predictor 260.
- the memory 250 may store the motion information of the block from which the motion information in the current picture is derived (or decoded) and / or the motion information of the blocks in the picture that are already reconstructed.
- the stored motion information may be transmitted to the inter predictor 260 to use the motion information of the spatial neighboring block or the motion information of the temporal neighboring block.
- the memory 170 may store reconstructed samples of reconstructed blocks in the current picture, and transfer the reconstructed samples to the intra predictor 265.
- the embodiments described by the filtering unit 160, the inter prediction unit 180, and the intra prediction unit 185 of the encoding apparatus 100 are respectively the filtering unit 240 and the inter prediction of the decoding apparatus 200. The same may also apply to the unit 260 and the intra predictor 265.
- the video / image coding method according to this document may be performed based on various detailed techniques, and each detailed technique will be described as follows. Techniques described below include prediction, residual processing ((inverse) transformation, (inverse) quantization, etc.), syntax element coding, filtering, partitioning / division, etc. in the video / image encoding / decoding procedures described above and / or described below. It will be apparent to those skilled in the art that they may be involved in related procedures.
- the block partitioning procedure according to this document may be performed by the image splitter 110 of the encoding apparatus described above, and the partitioning related information may be processed (encoded) by the entropy encoding unit 190 and transmitted to the decoding apparatus in the form of a bitstream. .
- the entropy decoding unit 210 of the decoding apparatus derives a block partitioning structure of the current picture based on the partitioning related information obtained from the bitstream, and based on this, a series of procedures (eg, prediction and residual) for image decoding. Processing, block reconstruction, in-loop filtering, etc.).
- the CTU may correspond to a coding tree block (CTB).
- CTB coding tree block
- the CTU may include a coding tree block of luma samples and two coding tree blocks of corresponding chroma samples.
- the CTU may include an N ⁇ N block of luma samples and two corresponding blocks of chroma samples.
- the maximum allowable size of the CTU for coding and prediction may be different from the maximum allowable size of the CTU for transform.
- the maximum allowable size of the luma block in the CTU may be 128x128.
- the CTU may be divided into CUs based on a quad-tree (QT) structure.
- the quadtree structure may be referred to as a quaternary tree structure. This is to reflect various local characteristics.
- the CTU may be divided based on a multitype tree structure partition including a binary tree (BT) and a ternary tree (TT) as well as a quad tree.
- the QTBT structure may include a quadtree and binary tree based partition structure
- the QTBTTT may include a quadtree, binary tree, and ternary tree based partition structure.
- the QTBT structure may include a quadtree, binary tree and ternary tree based partitioning structure.
- a coding tree structure a CU may have a square or rectangular shape.
- the CTU may first be divided into quadtree structures. After that, the leaf nodes of the quadtree structure may be further divided by the multitype tree structure.
- FIG. 3 is a diagram illustrating an example of a multi-type tree structure as an embodiment to which the present invention can be applied.
- the multitype tree structure may include four partition types as shown in FIG.
- the four types of split include vertical binary splitting (SPLIT_BT_VER), horizontal binary splitting (SPLIT_BT_HOR), vertical ternary splitting (SPLIT_TT_VER), and horizontal ternary splitting (SPLIT_TT_HOR). ) May be included.
- Leaf nodes of the multitype tree structure may be called CUs. These CUs can be used for prediction and transform procedures.
- CU, PU, and TU may have the same block size in this document. However, when the maximum supported transform length is smaller than the width or height of the color component of the CU, the CU and the TU may have different block sizes.
- FIG. 4 is a diagram illustrating a signaling mechanism of partition partition information of a quadtree with nested multi-type tree structure according to an embodiment to which the present invention may be applied.
- the CTU is treated as the root of the quadtree, and is partitioned for the first time into a quadtree structure.
- Each quadtree leaf node may then be further partitioned into a multitype tree structure.
- a first flag (ex. Mtt_split_cu_flag) is signaled to indicate whether the node is additionally partitioned.
- a second flag (ex. Mtt_split_cu_verticla_flag) may be signaled to indicate the splitting direction.
- a third flag (ex. Mtt_split_cu_binary_flag) may be signaled to indicate whether the partition type is binary partition or ternary partition.
- a multi-type tree splitting mode (MttSplitMode) of a CU may be derived as shown in Table 1 below.
- FIG. 5 is a diagram illustrating a method of dividing a CTU into multiple CUs based on a quadtree and accompanying multi-type tree structure as an embodiment to which the present invention may be applied.
- the CU may correspond to a coding block (CB).
- the CU may include a coding block of luma samples and two coding blocks of corresponding chroma samples.
- the size of a CU may be as large as CTU, or may be cut by 4 ⁇ 4 in luma sample units. For example, in the 4: 2: 0 color format (or chroma format), the maximum chroma CB size may be 64x64 and the minimum chroma CB size may be 2x2.
- the maximum allowable luma TB size may be 64x64 and the maximum allowable chroma TB size may be 32x32. If the width or height of the CB divided according to the tree structure is larger than the maximum transform width or height, the CB may be automatically (or implicitly) split until the TB size limit in the horizontal and vertical directions is satisfied.
- the following parameters may be defined and identified as SPS syntax elements.
- CTU size the root node size of a quaternary tree
- MinQTSize the minimum allowed quaternary tree leaf node size
- MaxBtSize the maximum allowed binary tree root node size
- MaxTtSize the maximum allowed ternary tree root node size
- MaxMttDepth the maximum allowed hierarchy depth of multi-type tree splitting from a quadtree leaf
- MinBtSize the minimum allowed binary tree leaf node size
- MinTtSize the minimum allowed ternary tree leaf node size
- the CTU size may be set to 64x64 blocks of 128x128 luma samples and two corresponding chroma samples (in 4: 2: 0 chroma format).
- MinOTSize can be set to 16x16
- MaxBtSize to 128x128, MaxTtSzie to 64x64
- MinBtSize and MinTtSize (for both width and height) to 4x4, and MaxMttDepth to 4.
- Quarttree partitioning may be applied to the CTU to generate quadtree leaf nodes.
- the quadtree leaf node may be called a leaf QT node.
- Quadtree leaf nodes may have a 128x128 size (i.e. the CTU size) from a 16x16 size (i.e. the MinOTSize). If the leaf QT node is 128x128, it may not be additionally divided into a binary tree / a ternary tree. This is because in this case, even if split, it exceeds MaxBtsize and MaxTtszie (i.e. 64x64). In other cases, leaf QT nodes may be further partitioned into a multitype tree. Therefore, the leaf QT node is the root node for the multitype tree, and the leaf QT node may have a multitype tree depth (mttDepth) 0 value.
- mttDepth multitype tree depth
- FIG. 6 is a diagram illustrating a method of limiting ternary-tree splitting as an embodiment to which the present invention may be applied.
- TT partitioning may be limited in certain cases. For example, when the width or height of the luma coding block is greater than a predetermined specific value (eg, 32 and 64), TT partitioning may be limited as shown in FIG. 6.
- a predetermined specific value e.g, 32 and 64
- the coding tree scheme may support that the luma and chroma blocks have separate block tree structures.
- luma and chroma CTBs in one CTU may be limited to have the same coding tree structure.
- luma and chroma blocks may have a separate block tree structure from each other. If an individual block tree mode is applied, the luma CTB may be split into CUs based on a particular coding tree structure, and the chroma CTB may be split into chroma CUs based on another coding tree structure. This may mean that a CU in an I slice may consist of a coding block of a luma component or coding blocks of two chroma components, and a CU of a P or B slice may be composed of blocks of three color components.
- a quadtree coding tree structure involving a multitype tree has been described, but a structure in which a CU is divided is not limited thereto.
- the BT structure and the TT structure may be interpreted as a concept included in a multiple partitioning tree (MPT) structure, and the CU may be interpreted to be divided through the QT structure and the MPT structure.
- MPT multiple partitioning tree
- a syntax element eg, MPT_split_type
- MPT_split_mode a syntax element that contains information about which direction is divided into and horizontally.
- the CU may be partitioned in a different way than the QT structure, BT structure or TT structure. That is, according to the QT structure, the CU of the lower depth is divided into 1/4 size of the CU of the upper depth, or the CU of the lower depth is divided into 1/2 size of the CU of the upper depth according to the BT structure, or according to the TT structure. Unlike the CU of the lower depth is divided into 1/4 or 1/2 size of the CU of the upper depth, the CU of the lower depth is sometimes 1/5, 1/3, 3/8, 3 of the CU of the upper depth. It can be divided into / 5, 2/3 or 5/8 size, the way in which the CU is divided is not limited to this.
- the tree node block is placed so that all samples of all coded CUs are located within the picture boundaries. May be limited. In this case, for example, the following division rule may be applied.
- the block is forced to be split with QT split mode.
- the block is forced to be split with SPLIT_BT_HOR mode
- the block is forced to be split with QT split mode.
- the block is a QT node, and the size of the block is larger than the minimum QT size and the size of the block is smaller than or equal to the maximum BT size, the block is forced to be split with QT split mode or SPLIT_BT_HOR mode.
- the block is forced to be split with SPLIT_BT_HOR mode.
- the block is forced to be split with QT split mode.
- the block is a QT node, and the size of the block is larger than the minimum QT size and the size of the block is smaller than or equal to the maximum BT size, the block is forced to be split with QT split mode or SPLIT_BT_VER mode.
- the block is forced to be split with SPLIT_BT_VER mode.
- the quadtree coded block structure with the multi-type tree described above can provide a very flexible block partitioning structure. Because of the partition types supported in a multitype tree, different partition patterns can sometimes lead to potentially identical coding block structure results. By limiting the occurrence of such redundant partition patterns, the data amount of partitioning information can be reduced. It demonstrates with reference to the following drawings.
- FIG. 7 is a diagram illustrating redundant division patterns that may occur in binary tree division and ternary tree division, as an embodiment to which the present invention may be applied.
- two levels of consecutive binary splits in one direction have the same coding block structure as the binary split for the center partition after the ternary split.
- the binary tree split in the given direction for the center partition of the ternary tree split may be limited. This restriction can be applied for CUs of all pictures. If this particular partitioning is restricted, the signaling of the corresponding syntax elements can be modified to reflect this limited case, thereby reducing the number of bits signaled for partitioning. For example, as shown in FIG.
- an mtt_split_cu_binary_flag syntax element indicating whether a split is a binary split or a tenary split is not signaled, and a value thereof Can be inferred by the decoder to zero.
- FIG. 8 is a diagram illustrating a quad-tree based block division structure according to an embodiment to which the present invention is applied.
- one block may be divided on a quad-tree (QT) basis.
- one sub block divided into a QT structure may be further recursively divided into a QT structure.
- Terminal blocks (which may be referred to as leaf blocks, leaf node blocks) that are no longer split into QT structures are binary tree (BT), ternary tree (TT), or asymmetric tree (AT). May be divided by at least one.
- block A may be divided into four sub-blocks A0, A1, A2, and A3 in a QT structure.
- Sub-block A1 may be further divided into four sub-blocks B0, B1, B2, and B3 in a QT structure.
- the maximum or minimum QT split depth, the maximum or minimum QT size is determined by a Sequence Parameter Set (SPS), Picture Parameter Set (PPS), Slice Header, SH (Or Tile Group Header, TGH), or Network Abstract Layer (NAL) unit syntax may be explicitly signaled.
- SPS Sequence Parameter Set
- PPS Picture Parameter Set
- SH Slice Header
- SH Tile Group Header
- NAL Network Abstract Layer
- FIG. 9 is a diagram illustrating a binary-tree based block partitioning structure according to an embodiment to which the present invention is applied.
- a BT may have two types of divisions, a horizontal BT (eg, 2NxN, 2NxN) and a vertical BT (eg, Nx2N, Nx2N).
- a horizontal BT eg, 2NxN, 2NxN
- a vertical BT eg, Nx2N, Nx2N
- a block B3 which is no longer divided into a QT structure (ie, a leaf node block) B3 may be divided into a vertical direction BT (C0, C1) or a horizontal direction BT (D0, D1).
- each sub-block like the block C0 may be recursively divided in the form of the horizontal direction BT (E0, E1) or the vertical direction BT (F0, F1).
- binary_split_flag indicating a syntax (or syntax element) indicating whether a BT split or a TT split and a binary_dir_flag syntax indicating a split direction may be used to signal binary tree split information. For example, if binary_split_flag is 0, it indicates that no BT is split, and if binary_split_flag is 1, it indicates that BT is split. In addition, if binary_dir_flag is 0, this means that the partition is divided in the horizontal direction. If binary_dir_flag is 1, it may indicate that the partition is split in the vertical direction.
- the maximum or minimum BT split depth, the maximum or minimum BT size is a Sequence Parameter Set (SPS), Picture Parameter Set (PPS), Slice Header, SH (Or Tile Group Header, TGH), or Network Abstract Layer (NAL) unit syntax may be explicitly signaled.
- SPS Sequence Parameter Set
- PPS Picture Parameter Set
- SH Slice Header
- SH Tile Group Header
- NAL Network Abstract Layer
- FIG. 10 is a diagram illustrating a ternary-tree based block partitioning structure according to an embodiment to which the present invention is applied.
- TT has two forms of horizontal TT (for example, 2Nx1 / 2N, 2NxN, 2Nx1 / 2N) and vertical TT (for example, 1 / 2Nx2N, Nx2N, 1 / 2Nx2N). May have a split.
- the block B3, which is no longer divided by QT may be divided into a vertical direction TT (C0, C1, C2) or a horizontal direction TT (D0, D1, D2).
- the block C1 may be recursively divided in the form of a horizontal direction TT (E0, E1, E2) or a vertical direction TT (F0, F1, F2).
- the maximum or minimum TT split depth, the maximum or minimum BT size is a Sequence Parameter Set (SPS), Picture Parameter Set (PPS), Slice Header, SH (Or Tile Group Header, TGH), or Network Abstract Layer (NAL) unit syntax may be explicitly signaled.
- SPS Sequence Parameter Set
- PPS Picture Parameter Set
- SH Slice Header
- SH Tile Group Header
- NAL Network Abstract Layer
- FIG. 11 is a diagram illustrating a binary-tree and ternary-tree based block partitioning structure according to an embodiment to which the present invention is applied.
- a processing block may be divided using a BT and a TT partitioning structure.
- the sub block divided into the BT structure may be divided into the TT structure.
- the sub block divided into the TT structure may be divided into the BT structure.
- the thin solid line represents the first division and the division represented by the thick dotted line represents the second division performed in the sub-block created in the first division.
- FIG. 12 is a diagram illustrating a quad-tree and binary-tree based block partitioning structure according to an embodiment to which the present invention is applied.
- the current block may be divided into the same form using BT or QT splitting.
- block B3 may be split vertically using BT partitioning to generate ⁇ C0, C1 ⁇ blocks.
- the blocks C0 and C1 may then be divided into ⁇ E0, E1 ⁇ and ⁇ E2, E3 ⁇ using horizontal BT partitioning.
- block B3 may be divided into four square blocks.
- block B3 may be partitioned into ⁇ D0, D1 ⁇ using horizontal BT partitioning.
- blocks D0 and D1 may be divided into ⁇ F0, F1 ⁇ and ⁇ F2, F3 ⁇ using vertical BT partitioning.
- block B3 may be divided into four square blocks.
- block B may be partitioned into ⁇ G0, G1, G2, G3 ⁇ using QT partitioning.
- four divisions can be performed only by one division, which is efficient.
- the other example should be split into the same structure through a total of three stages of splitting. Splitting using multiple levels of splitting is unlikely to select the optimal mode at the encoder. In addition, computational complexity may increase and system resources may be wasted.
- the present invention proposes a method of limiting BT partitioning in a specific partitioning structure (or a specific condition).
- FIG. 13 is a diagram illustrating a partition limiting method applied to a binary-tree based partition structure as an embodiment to which the present invention is applied.
- the left first subblock divided into the vertical BT structure is divided into the horizontal BT structure (that is, divided into ⁇ E0, E1 ⁇ )
- the right first divided into the vertical BT structure If two sub-blocks (i.e., block ⁇ C1 ⁇ ) are split into horizontal BT structures, this results in a QT splitting structure, in which case the horizontal BT splitting of the second sub-block can be limited.
- the upper first subblock divided into the horizontal BT structure is divided into the vertical BT structure (that is, divided into ⁇ F0, F1 ⁇ )
- the lower first divided into the horizontal BT structure If two sub-blocks (i.e., block ⁇ D1 ⁇ ) are split into vertical BT structures, this results in a QT splitting structure, in which case the vertical BT splitting of the second sub-block can be limited.
- constrained partitioning may be explicitly signaled through SPS, PPS, SH (or TGH), or NAL unit syntax.
- FIG. 14 is a diagram illustrating a bit signaling method according to an embodiment of the present invention to which a division restriction method is applied.
- the block division structure of FIG. 13 described above may be signaled as shown in FIG. 14.
- the first bit represents binary_split_flag and the second bit represents binary_dir_flag.
- the block C1 may be determined to be a horizontal partition or a block without division without allowing vertical division.
- the binary_split_flag value when the binary_split_flag value is 0, it may be determined as a block without partitioning. If the binary_split_flag value is 1, it is determined as horizontal division. In this case, the binary_dir_flag syntax indicating the division direction may not be transmitted.
- the syntax value indicating whether to split the MTT in the BT and TT partitioning structures that is, the MTT partitioning structure
- the binary_split_flag value is 1, it is determined as horizontal division, and in this case, the binary_dir_flag syntax may not be transmitted.
- the block C1 is not allowed to be divided horizontally, but may be determined as a block having no vertical division or division.
- FIG. 15 is a diagram illustrating a binary-tree based block partitioning structure according to an embodiment to which the present invention is applied.
- the current block may be divided in a horizontal or vertical direction according to the BT structure.
- block B3 may be divided into ⁇ C0, C1 ⁇ blocks using vertical BT partitioning.
- the blocks C0 and C1 may then be divided into ⁇ E0, E1 ⁇ and ⁇ E2, E3 ⁇ blocks in succession using vertical BT partitioning.
- block B3 may be divided into four vertical rectangular blocks.
- the vertical block may be divided to code a texture pattern in the vertical direction.
- block B3 may be divided into ⁇ D0, D1 ⁇ blocks using horizontal BT partitioning.
- the blocks D0 and D1 may then be divided into ⁇ F0, F1 ⁇ and ⁇ F2, F3 ⁇ blocks using horizontal BT partitioning.
- block B3 may be divided into four horizontal rectangular blocks.
- the horizontal block may be divided to code a texture pattern in a horizontal direction. However, such horizontal or vertical stripe patterns can occur very rarely in typical video sequences.
- the present invention proposes a method of limiting BT partitioning in a specific partitioning structure (or a specific condition).
- FIG. 16 is a diagram illustrating a partition restriction method applied to a binary-tree based partition structure according to an embodiment to which the present invention is applied.
- the left first sub-block divided into the vertical BT structure is divided into the vertical BT structure (that is, divided into ⁇ E0, E1 ⁇ )
- the right-right divided into the vertical BT structure If two sub-blocks (ie, block C1) are divided into vertical BT structures, this results in a vertical stripe pattern, in which case the vertical BT division of the second sub-block can be limited.
- the upper first subblock divided into the horizontal BT structure is divided into the horizontal BT structure (that is, divided into ⁇ F0, F1 ⁇ )
- the lower first divided into the horizontal BT structure If two sub-blocks (ie, block D1) are divided into horizontal BT structures, this causes a vertical stripe pattern, so in this case, the horizontal BT division of the second sub-block may be limited.
- coding efficiency can be improved by saving syntax signaling bits for the BT split flag.
- whether to use (or apply) constrained partitioning proposed above may be explicitly signaled through SPS, PPS, SH (or TGH), or NAL unit syntax.
- FIG. 17 is a diagram illustrating a bit signaling method according to an embodiment of the present invention to which a partition restriction method is applied.
- the block division structure of FIG. 16 described above may be signaled as shown in FIG. 17.
- the first bit represents binary_split_flag and the second bit represents binary_dir_flag.
- the block C1 may be determined to be a horizontal partition or a block without division without allowing vertical division.
- the binary_split_flag value when the binary_split_flag value is 0, it may be determined as a block without partitioning. If the binary_split_flag value is 1, it is determined as horizontal division. In this case, the binary_dir_flag syntax indicating the division direction may not be transmitted.
- the syntax value indicating whether to split the MTT in the BT and TT partitioning structures that is, the MTT partitioning structure
- the binary_split_flag value is 1, it is determined as horizontal division, and in this case, the binary_dir_flag syntax may not be transmitted.
- the block C1 is not allowed to be horizontally divided, but may be determined as a block having no vertical division or division.
- the binary_split_flag value when the binary_split_flag value is 0, it may be determined as a block without partitioning. If the binary_split_flag value is 1, it is determined as vertical split, and in this case, the binary_dir_flag syntax indicating the split direction may not be transmitted.
- the syntax value indicating whether to split the MTT in the BT and TT partitioning structures that is, the MTT partitioning structure
- the binary_split_flag value is 1, it is determined as vertical division, and in this case, the binary_dir_flag syntax may not be transmitted.
- FIG. 18 is a flowchart illustrating a partition limiting method according to an embodiment of the present invention.
- the encoder / decoder checks whether the preset conditions are met. If all of the preset conditions are satisfied, the encoder / decoder may skip vertical division. In an embodiment, the preset conditions may be three conditions as shown in FIG. 18.
- the first condition is whether the subblock index value of the current block is 1.
- the subblock index is a value indicating the BT-divided subblock, and is 0 for the first subblock (first subblock in FIG. 16) and 1 for the second subblock (previous second block in FIG. 16). It can have a value.
- the second condition is whether the first subblock is divided by vertical division.
- the third condition is whether the size of the second subblock is larger than a specific threshold C_TH.
- the particular threshold may be explicitly signaled via SPS, PPS, SH (or TGH), or NAL unit syntax.
- the BT subdivided current subblock is the second subblock
- the first subblock is divided in the same direction as the split direction of the upper node of the current subblock
- the size of the current subblock is larger than a specific value. If large, the current subblock may not be split in the same direction without syntax signaling.
- an object of the present invention is to propose a block division limiting method based on horizontal priority. It is also an object of the present invention to propose a block division limitation method based on vertical priority.
- an object of the present invention is to propose a ternary tree partitioning priority based block partitioning method. Also, an object of the present invention is to propose a binary tree partitioning 2 rank based block partitioning limiting method. It is also an object of the present invention to propose an asymmetric tree splitting 2 rank based block splitting restriction method.
- an object of the present invention is to propose an asymmetric tree partitioning priority based block partitioning method. Also, an object of the present invention is to propose a binary tree partitioning 2 rank based block partitioning limiting method. It is also an object of the present invention to propose a ternary tree splitting 2 rank based block splitting method.
- the CTU may be divided on a quad-tree (QT) basis.
- QT quad-tree
- one sub block divided by QT that is, a block of a lower node, may be further divided recursively using QT partitioning.
- Leaf blocks that are no longer split by QT may be split by a binary tree (BT), a ternary tree (TT), or an asymmetric tree (AT).
- BT binary tree
- TT ternary tree
- AT asymmetric tree
- BT may have two types of splits: horizontal BT (2NxN, 2NxN) and vertical BT (Nx2N, Nx2N).
- the TT may have two types of divisions, horizontal TT (2Nx1 / 2N, 2NxN, 2Nx1 / 2N) and vertical TT (1 / 2Nx2N, Nx2N, 1 / 2Nx2N).
- AT is horizontal-up AT (2Nx1 / 2N, 2Nx3 / 2N), horizontal-down AT (2Nx3 / 2N, 2Nx1 / 2N), vertical-left AT (1 / 2Nx2N, 3 / 2Nx2N), vertical-right AT (3 / 2Nx2N, 1 / 2Nx2N) can be divided into four types.
- Each BT, TT, AT may be further recursively divided using BT, TT, AT.
- An example of QT division is as described above with reference to FIG. 8.
- An example of BT division is as described above with reference to FIG. 9.
- An example of TT partitioning is as described above with reference to FIG. 10.
- FIG. 19 is a diagram illustrating an asymmetric-tree based block splitting structure according to an embodiment to which the present invention is applied.
- the AT is a horizontal-up AT (2Nx1 / 2N, 2Nx3 / 2N), a horizontal-down AT (2Nx3 / 2N, 2Nx1 / 2N), vertical-left AT (1 / 2Nx2N, 3 / 2Nx2N), It may have four types of division of vertical-right AT (3 / 2Nx2N, 1 / 2Nx2N).
- block B3 which is no longer divided by QT, may be divided into vertical AT (C0, C1) or horizontal AT (D0, D1).
- each subblock may be further recursively divided into the form of horizontal AT (E0, E1) or vertical TT (F0, F1).
- 20 to 22 are diagrams illustrating examples of block division according to an embodiment to which the present invention may be applied.
- BT, TT, and AT division may be used together to divide.
- a sub block divided by BT may be divided by TT or AT.
- the sub-block divided by TT can be divided by BT or AT.
- a sub block divided by AT may be divided by BT or TT.
- Figs. 20 to 22 the solid line represents the first division and the dotted line represents the second division of the sub-block generated by the first division.
- Figs. 20 (1) to (4) show that after horizontal BT division, each sub block is divided into vertical BT, vertical TT, vertical left AT, and vertical right AT.
- 20 (5) to (8) show that after the horizontal TT division, each sub block is divided into a vertical BT, a vertical TT, a vertical left AT, and a vertical right AT.
- 20 (9) to (12) show that after the horizontal upper AT division, each sub block is divided into a vertical BT, a vertical TT, a vertical left AT, and a vertical right AT.
- 20 (13) to (16) show that after the horizontal lower AT division, each sub block is divided into a vertical BT, a vertical TT, a vertical left AT, and a vertical right AT.
- each sub block is divided into a horizontal BT, a horizontal TT, a horizontal upper AT, and a horizontal lower AT.
- 20 (21) to (24) show that after the vertical TT division, each sub block is divided into a horizontal BT, a horizontal TT, a horizontal upper AT, and a horizontal lower AT.
- 20 (25) to (28) show that after the vertical left AT division, each sub block is divided into a horizontal BT, a horizontal TT, a horizontal upper AT, and a horizontal lower AT.
- 20 (29) to (32) show that after the vertical right AT division, each sub block is divided into a horizontal BT, a horizontal TT, a horizontal upper AT, and a horizontal lower AT.
- the same division represented by BT, TT, and AT in Table 2 allows redundant block division at the encoder and decoder, which may cause problems such as waste of system resources, increase of encoding time, transmission of unnecessary syntax, and the like. . Therefore, the present invention proposes a horizontal direction based block partitioning restriction. That is, the encoder / decoder may allow the block division in the horizontal direction to be divided first when the block division of the same shape is expressed, and may not allow the division in the opposite case.
- FIG. 23 is a diagram illustrating a horizontal direction-based block division restriction method as an embodiment to which the present invention is applied.
- the encoder / decoder may not allow division in the following cases in order to limit overlapping division of Table 2 described above. In this case, the encoder / decoder may determine the partition structure without splitting direction syntax signaling for BT, TT, and AT.
- the encoder / decoder may not allow horizontal BT split of the second block.
- the encoder / decoder may not allow horizontal TT split of the second block.
- the encoder / decoder may not allow horizontal-up AT split of the second block.
- the encoder / decoder may not allow horizontal-down AT split of the second block.
- the encoder / decoder may not allow horizontal BT splitting of the third block when the first and second blocks of the vertical TT splitting block are horizontal BT splitting.
- the encoder / decoder may not allow horizontal TT splitting of the third block when the first and second blocks of the vertical TT splitting block are horizontal TT splitting.
- the encoder / decoder may not allow horizontal-up AT splitting of the third block when the first and second blocks of the vertical TT splitting block are horizontal-up AT splitting.
- the encoder / decoder may not allow horizontal-down AT splitting of the third block when the first and second blocks of the vertical TT splitting block are horizontal-down AT splitting.
- the encoder / decoder may not allow horizontal BT split of the second block.
- the encoder / decoder may not allow horizontal TT split of the second block.
- the encoder / decoder may not allow horizontal-up AT division of a second block when the first block of the vertical-left AT division block is a horizontal-up AT division.
- the encoder / decoder may not allow horizontal-down AT splitting of the second block when the first block of the vertical-left AT splitting block is horizontal-down AT splitting.
- the encoder / decoder may not allow horizontal BT split of the second block.
- the encoder / decoder may not allow horizontal TT split of the second block.
- the encoder / decoder may not allow horizontal-up AT split of the second block.
- the encoder / decoder may not allow horizontal-down AT split of the second block.
- the same partition represented by BT, TT, and AT in Table 2 allows redundant block partitions at the encoder and decoder, which may cause problems such as waste of system resources, increased encoding time, and unnecessary syntax transmission. . Therefore, the present invention proposes a vertical direction based block partitioning restriction. That is, the encoder / decoder may allow a case in which the block division in the vertical direction is divided first when the block division having the same shape is expressed, and may not allow the division in the opposite case.
- FIG. 24 is a diagram illustrating a vertical direction-based block division restriction method as an embodiment to which the present invention is applied.
- the encoder / decoder may not allow division in the following cases in order to limit overlapping division of Table 2 described above. In this case, the encoder / decoder may determine the partition structure without splitting direction syntax signaling for BT, TT, and AT.
- the encoder / decoder may not allow vertical BT split of the second block.
- the encoder / decoder may not allow vertical TT split of the second block.
- the encoder / decoder may not allow vertical-left AT division of the second block when the first block of the horizontal BT division block is vertical-left AT division.
- the encoder / decoder may not allow vertical-right AT split of the second block.
- the encoder / decoder may not allow vertical BT splitting of the third block when the first and second blocks of the horizontal TT splitting block are vertical BT splitting.
- the encoder / decoder may not allow vertical TT division of the third block when the first and second blocks of the horizontal TT division block are vertical TT division.
- the encoder / decoder may not allow vertical-left AT division of the third block when the first and second blocks of the horizontal TT division block are vertical-left AT divisions.
- the encoder / decoder may not allow vertical-right AT division of the third block when the first and second blocks of the horizontal TT division block are vertical-right AT division.
- the encoder / decoder may not allow vertical BT splitting of the second block when the first block of the horizontal-up AT splitting block is vertical BT splitting.
- the encoder / decoder may not allow vertical TT split of the second block.
- the encoder / decoder may not allow vertical-left AT division of the second block when the first block of the horizontal-up AT division block is a vertical-left AT division.
- the encoder / decoder may not allow vertical-right AT division of a second block when the first block of the horizontal-up AT division block is a vertical-right AT division.
- the encoder / decoder may not allow vertical BT split of the second block.
- the encoder / decoder may not allow vertical TT split of the second block.
- the encoder / decoder may not allow vertical-left AT division of a second block when the first block of the horizontal-down AT division block is a vertical-left AT division.
- the encoder / decoder may not allow vertical-right AT division of a second block when the first block of the horizontal-down AT division block is a vertical-right AT division.
- the same partition represented by BT, TT, and AT in Table 2 allows redundant block partitions at the encoder and decoder, which may cause problems such as waste of system resources, increased encoding time, and unnecessary syntax transmission. . Therefore, the present invention proposes a BT partitioning priority based block partitioning restriction. That is, the encoder / decoder may preferentially allow BT block division when a block division having the same shape is expressed. If BT based block partitioning is not used, we propose 1) TT partitioning priority based block partitioning method and 2) AT partitioning priority based block partitioning method.
- the encoder / decoder may not allow the next division.
- the encoder / decoder may not allow vertical BT splitting of the third block when the first and second blocks of the horizontal TT splitting block are vertical BT splitting.
- the encoder / decoder may not allow vertical BT splitting of the second block when the first block of the horizontal-up AT splitting block is vertical BT splitting.
- the encoder / decoder may not allow vertical BT split of the second block.
- the encoder / decoder may not allow horizontal BT splitting of the third block when the first and second blocks of the vertical TT splitting block are horizontal BT splitting.
- the encoder / decoder may not allow horizontal BT split of the second block.
- the encoder / decoder may not allow horizontal BT split of the second block.
- the encoder / decoder may not allow the next division when the TT division priority based block division limitation method is used.
- the encoder / decoder may not allow vertical TT split of the second block.
- the encoder / decoder may not allow vertical TT split of the second block.
- the encoder / decoder may not allow horizontal TT split of the second block.
- the encoder / decoder may not allow horizontal TT split of the second block.
- the encoder / decoder may not allow the next division when the AT division priority based block division limitation method is used.
- the encoder / decoder may not allow vertical-left AT division of the third block when the first and second blocks of the horizontal TT division block are vertical-left AT divisions.
- the encoder / decoder may not allow vertical-right AT division of the third block when the first and second blocks of the horizontal TT division block are vertical-right AT division.
- the encoder / decoder may not allow horizontal-up AT splitting of the third block when the first and second blocks of the vertical TT splitting block are horizontal-up AT splitting.
- the encoder / decoder may not allow horizontal-down AT splitting of the third block when the first and second blocks of the vertical TT splitting block are horizontal-down AT splitting.
- the same partition represented by BT, TT, and AT in Table 2 allows redundant block partitions at the encoder and decoder, which may cause problems such as waste of system resources, increased encoding time, and unnecessary syntax transmission. . Accordingly, the present invention proposes a block partitioning restriction based on TT partitioning priority. That is, the encoder / decoder may preferentially allow TT block division when block division of the same shape is expressed. If TT based block partitioning is not used, we propose 1) BT partitioning priority based block partitioning method and 2) AT partitioning priority based block partitioning method.
- the encoder / decoder may not allow the next division.
- the encoder / decoder may not allow vertical TT split of the second block.
- the encoder / decoder may not allow vertical TT split of the second block.
- the encoder / decoder may not allow vertical TT split of the second block.
- the encoder / decoder may not allow horizontal TT split of the second block.
- the encoder / decoder may not allow horizontal TT split of the second block.
- the encoder / decoder may not allow horizontal TT split of the second block.
- the encoder / decoder may not allow the next partitioning when using the BT partitioning priority based block partitioning method.
- the first block of the horizontal-up AT splitting block when the first block of the horizontal-up AT splitting block is a vertical BT split, it may not allow vertical BT splitting of the second block.
- the encoder / decoder may not allow vertical BT split of the second block.
- the encoder / decoder may not allow horizontal BT split of the second block.
- the encoder / decoder may not allow horizontal BT split of the second block.
- the encoder / decoder may not allow the next division when using the AT division priority based block division restriction method.
- the encoder / decoder may not allow vertical-left AT division of the second block when the first block of the horizontal BT division block is vertical-left AT division.
- the encoder / decoder may not allow vertical-right AT split of the second block.
- the encoder / decoder may not allow horizontal-up AT split of the second block.
- the encoder / decoder may not allow horizontal-down AT split of the second block.
- the same partition represented by BT, TT, and AT in Table 2 allows redundant block partitions at the encoder and decoder, which may cause problems such as waste of system resources, increased encoding time, and unnecessary syntax transmission. . Accordingly, the present invention proposes an AT partitioning priority based block partitioning restriction. That is, the encoder / decoder may preferentially allow AT block partitioning when block partitioning of the same shape is expressed. If TT based block partitioning is not used, we propose 1) BT partitioning priority based block partitioning method and 2) TT partitioning priority based block partitioning method.
- the encoder / decoder may not allow the next division.
- the encoder / decoder may not allow vertical-left AT division of the second block when the first block of the horizontal BT division block is vertical-left AT division.
- the encoder / decoder may not allow vertical-right AT split of the second block.
- the vertical-left AT splitting of the third block may not be allowed.
- the encoder / decoder may not allow vertical-right AT division of the third block when the first and second blocks of the horizontal TT division block are vertical-right AT division.
- the encoder / decoder may not allow horizontal-up AT split of the second block.
- the encoder / decoder may not allow horizontal-down AT split of the second block.
- the encoder / decoder may not allow horizontal-up AT splitting of the third block when the first and second blocks of the vertical TT splitting block are horizontal-up AT splitting.
- the encoder / decoder may not allow horizontal-down AT splitting of the third block when the first and second blocks of the vertical TT splitting block are horizontal-down AT splitting.
- the encoder / decoder may not allow the next partitioning when using the BT partitioning priority based block partitioning limiting method.
- the encoder / decoder may not allow vertical BT splitting of the third block when the first and second blocks of the horizontal TT splitting block are vertical BT splitting.
- the encoder / decoder may not allow horizontal BT splitting of the third block when the first and second blocks of the vertical TT splitting block are horizontal BT splitting.
- the encoder / decoder may not allow the next division when using the TT division priority based block division restriction method.
- the encoder / decoder may not allow vertical TT split of the second block.
- the encoder / decoder may not allow horizontal TT split of the second block.
- the same partition represented by BT, TT, and AT in Table 2 allows redundant block partitions at the encoder and decoder, which may cause problems such as waste of system resources, increased encoding time, and unnecessary syntax transmission. .
- encoding of a subblock may be performed first from a second block and then performed on the first block. That is, when the encoding order of the sub-blocks is divided in the horizontal direction, it may be performed from the bottom up, and when it is divided in the vertical direction, it may be performed from right to left.
- the encoding order of the sub-blocks may be performed first from the third block, and then the second and first blocks may be performed. That is, when the encoding order of the sub-blocks is divided in the horizontal direction, it may be performed from the bottom up, and when it is divided in the vertical direction, it may be performed from right to left.
- the present invention proposes a horizontal direction-based block partitioning restriction. That is, when block division of the same shape is expressed, the encoder / decoder may allow division of the block division in the horizontal direction first, and vice versa.
- the encoder / decoder may not allow division in the following division structure.
- FIG. 25 is a diagram illustrating a horizontal direction based block division limiting method according to an embodiment to which the present invention is applied.
- the encoder / decoder may not allow division in the following cases in order to limit overlapping division of Table 2 described above. In this case, the encoder / decoder may determine the partition structure without splitting direction syntax signaling for BT, TT, and AT.
- the encoder / decoder may not allow horizontal BT split of the first block.
- the encoder / decoder may not allow horizontal TT split of the first block.
- the encoder / decoder may not allow horizontal-up AT split of the first block.
- the encoder / decoder may not allow horizontal-down AT split of the first block.
- the encoder / decoder may not allow horizontal BT division of the first block when the second and third blocks of the vertical TT division block are horizontal BT division.
- the encoder / decoder may not allow horizontal TT division of the first block when the second and third blocks of the vertical TT division block are horizontal TT division.
- the encoder / decoder may not allow horizontal-up AT splitting of the first block when the second and third blocks of the vertical TT splitting block are horizontal-up AT splitting.
- the encoder / decoder may not allow horizontal-down AT splitting of the first block when the second and third blocks of the vertical TT splitting block are horizontal-down AT splitting.
- the encoder / decoder may not allow horizontal BT split of the first block.
- the encoder / decoder may not allow horizontal TT split of the first block.
- the encoder / decoder may not allow horizontal-up AT split of the first block.
- the encoder / decoder may not allow horizontal-down AT splitting of the first block when the second block of the vertical-left AT splitting block is horizontal-down AT splitting.
- the encoder / decoder may not allow horizontal BT split of the first block.
- the encoder / decoder may not allow horizontal TT split of the first block.
- the encoder / decoder may not allow horizontal-up AT split of the first block.
- the encoder / decoder may not allow horizontal-down AT splitting of the first block when the second block of the vertical-right AT splitting block is horizontal-down AT splitting.
- the same partition represented by BT, TT, and AT in Table 2 allows redundant block partitions at the encoder and decoder, which may cause problems such as waste of system resources, increased encoding time, and unnecessary syntax transmission. .
- encoding of a subblock may be performed first from a second block and then performed on the first block. That is, when the encoding order of the sub-blocks is divided in the horizontal direction, it may be performed from the bottom up, and when it is divided in the vertical direction, it may be performed from right to left.
- the encoding order of the sub-blocks may be performed first from the third block, and then the second and first blocks may be performed. That is, when the encoding order of the sub-blocks is divided in the horizontal direction, it may be performed from the bottom up, and when it is divided in the vertical direction, it may be performed from right to left.
- the present invention proposes a vertical direction-based block partitioning restriction. That is, when block division of the same shape is expressed, the encoder / decoder may allow a case in which vertical block division is divided first, and vice versa.
- the encoder / decoder may not allow division in the following division structure.
- FIG. 26 is a diagram illustrating a vertical direction-based block division restriction method as an embodiment to which the present invention is applied.
- the encoder / decoder may not allow division in the following cases in order to limit overlapping division of Table 2 described above. In this case, the encoder / decoder may determine the partition structure without splitting direction syntax signaling for BT, TT, and AT.
- the encoder / decoder may not allow vertical BT split of the first block.
- the encoder / decoder may not allow vertical TT split of the first block.
- the encoder / decoder may not allow vertical-left AT split of the first block.
- the encoder / decoder may not allow vertical-right AT split of the first block.
- the encoder / decoder may not allow vertical BT splitting of the first block.
- the encoder / decoder may not allow vertical TT division of the first block when the second and third blocks of the horizontal TT division block are vertical TT division.
- the encoder / decoder may not allow vertical-left AT division of the first block when the second and third blocks of the horizontal TT division block are vertical-left AT divisions.
- the encoder / decoder may not allow vertical-right AT division of the first block when the second and third blocks of the horizontal TT division block are vertical-right AT division.
- the encoder / decoder may not allow vertical BT split of the first block.
- the encoder / decoder may not allow vertical TT split of the first block.
- the encoder / decoder may not allow vertical-left AT division of the first block when the second block of the horizontal-up AT division block is vertical-left AT division.
- the encoder / decoder may not allow vertical-right AT split of the first block.
- the encoder / decoder may not allow vertical BT split of the first block.
- the encoder / decoder may not allow vertical TT split of the first block.
- the encoder / decoder may not allow vertical-left AT division of the first block when the second block of the horizontal-down AT division block is a vertical-left AT division.
- the encoder / decoder may not allow vertical-right AT division of the first block when the second block of the horizontal-down AT division block is vertical-right AT division.
- a method of restricting division of a blond structure according to a scanning order of a coding block is proposed.
- FIG. 27 is a diagram illustrating a scanning order according to block division, according to an embodiment to which the present invention is applied.
- the order of searching for (or scanning) the blocks in the divided block structure may be defined (or set) in various ways.
- the scan order may be performed from left to right and from top to bottom. This scan order may be referred to as the raster scan order.
- searching for a block means an order of determining whether an additional block is divided in each divided sub-block, or an encoding order of each sub-block when a block is no longer divided, or another sub-block. It may mean a search order when referring to information of a neighboring block.
- the encoder / decoder may transmit various scanning methods by distinguishing information on different scan orders into signals such as flags. It demonstrates with reference to Table 3 below.
- limited_partitioning_flag represents a flag (or syntax, syntax element) indicating a scanning order.
- the flag is expressed as limited_partitioning_flag, but the name is not limited thereto and may be expressed as scan_order_flag or the like.
- the flag may be variously defined as shown in Tables 4 and 5 to be described later. For example, it may be defined as 1bit or 2bit, but the present invention is not limited thereto.
- the limited_partitioning_flag may be determined (or defined) based on the block partitioning structure. For example, when there are a plurality of block division structures, the scan order may be determined according to the block division structures. As a specific example, QT, BT, TT structure is possible, and if the TT structure exists, the scan order may be defined to scan the TT structure last. Alternatively, QT, BT, AT structures are possible, and if there is an AT structure, the scan order may be defined to scan the AT structure last.
- the scan order may be performed from left to right, and if the limited_partitioning_flag value is 1, the scan order may be performed from right to left.
- the scan order is performed from left to right and top to bottom, and if the limited_partitioning_flag value is 1, the scan order is performed from left to right and bottom to top, and the limited_partitioning_flag value is If 2, the scan order may be performed from right to left and from top to bottom. If the limited_partitioning_flag value is 3, the scan order may be performed from right to left and from bottom to top.
- the flag indicating the scanning order may be defined as 3 bits or more, in which case all cases that can be combined in four directions (left, right, up, down) may be defined.
- Table 6 is an example of syntax of an adaptive block scan order.
- the right_left_flag syntax indicates a flag that determines whether the scanning order is from right to left or left to right. That is, when the right_left_flag value is 1, the scanning order of blocks is performed from right to left, and the configuration of the information may be different in using information of neighboring blocks according to the scanning order of blocks. In this case, the scan order of the blocks up and down can always be maintained from top to bottom.
- Table 7 is an example of syntax of an adaptive block scan order.
- the down_up_flag syntax indicates a flag that determines whether the scanning order is from top to bottom or from bottom to top. That is, when the down_up_flag value is 1, the scanning order of blocks is performed from the bottom to the top, and the configuration of the information may be different in using the information of the neighboring blocks according to the scanning order of the blocks. In this case, the scanning order of the left and right of the block can always be maintained from left to right.
- Table 8 is an example of syntax of an adaptive block scan order.
- the right_left_flag syntax and the down_up_flag syntax are syntaxes for determining the scanning order, and have the same meanings as those described in Tables 6 and 7 above.
- Two flags may be used to have a scanning order of various blocks, and the configuration of information may be different in using information of neighboring blocks. In this case, the scanning order of the left and right of the block can always be maintained from left to right.
- the right_left_flag syntax when the right_left_flag syntax is transmitted first, it may mean that the right and left scan order of the block is determined before the up and down scan of the block.
- Table 9 is an example of syntax of an adaptive block scan order.
- the right_left_flag syntax and the down_up_flag syntax are syntaxes for determining the scanning order, and have the same meanings as those described in Tables 6 and 7 above.
- Two flags may be used to have a scanning order of various blocks, and the configuration of information may be different in using information of neighboring blocks. In this case, the scanning order of the left and right of the block can always be maintained from left to right.
- the down_up_flag syntax when the down_up_flag syntax is transmitted first, it may mean that the up-and-down scanning order of the blocks is determined before the left and right scans of the blocks.
- whether signaling for the adaptive scanning order syntax may be transmitted in a sequence parameter set (SPS), a picture parameter set (PPS), and a tile group header.
- SPS sequence parameter set
- PPS picture parameter set
- tile group header a tile group header
- coding efficiency may be improved by utilizing information of a neighboring block that is advantageous for current content.
- FIG. 28 is a diagram illustrating an adaptive block scan order according to an embodiment to which the present invention is applied.
- the current block may be divided horizontally or vertically.
- block B3 may be divided into ⁇ C1, C0 ⁇ blocks using vertical BT partitioning.
- the blocks C0 and C1 may then be divided into ⁇ E0, E1 ⁇ and ⁇ E2, E3 ⁇ blocks using vertical BT partitioning, respectively.
- block B3 may be divided into four vertical rectangular blocks.
- the coding order of the divided blocks may be performed in the order of the right to the left direction.
- the vertical block may be divided to code a texture pattern in the vertical direction.
- block B3 may be divided into ⁇ D0, D1 ⁇ blocks using horizontal BT partitioning.
- the blocks D0 and D1 may then be divided into ⁇ F0, F1 ⁇ and ⁇ F2, F3 ⁇ blocks using horizontal BT partitioning.
- block B3 may be divided into four horizontal rectangular blocks.
- the horizontal block may be divided to code a texture pattern in a horizontal direction. Such horizontal or vertical stripe patterns do not frequently occur in a general video image, and similar block division may be represented by TT.
- the present invention proposes a method of limiting BT partitioning in a specific partitioning structure (or a specific condition).
- 29 is a diagram illustrating a partition limiting method according to an adaptive block scan order according to an embodiment to which the present invention is applied.
- FIG. 29 assumes that the scan order (or coding order) described above with reference to FIG. 28 is applied.
- a right first subblock divided into a vertical BT structure is divided into a vertical BT structure (that is, divided into ⁇ E0, E1 ⁇ )
- a left first divided into a vertical BT structure If two sub-blocks (ie, block C1 of FIG. 28) are divided into vertical BT structures, this results in a vertical stripe pattern, so in this case, vertical BT division of the second sub-block may be limited.
- the upper first divided into the horizontal BT structure when the lower first subblock divided into the horizontal BT structure is divided into the horizontal BT structure (that is, divided into ⁇ F0, F1 ⁇ ), the upper first divided into the horizontal BT structure If two sub-blocks (ie, block D1 in FIG. 28) are divided into a horizontal BT structure, this causes a vertical stripe pattern, so in this case, the horizontal BT division of the second sub-block may be limited.
- coding efficiency can be improved by saving syntax signaling bits for the BT split flag.
- whether to use (or apply) constrained partitioning proposed above may be explicitly signaled through SPS, PPS, SH (or TGH), or NAL unit syntax.
- the block division structure of FIG. 29 described above may be signaled as shown in FIG. 17.
- the first bit represents binary_split_flag and the second bit represents binary_dir_flag.
- the block C1 may be determined to be a horizontal partition or a block without division without allowing vertical division.
- the binary_split_flag value when the binary_split_flag value is 0, it may be determined as a block without partitioning. If the binary_split_flag value is 1, it is determined as horizontal division. In this case, the binary_dir_flag syntax indicating the division direction may not be transmitted.
- the syntax value indicating whether to split the MTT in the BT and TT partitioning structures that is, the MTT partitioning structure
- the binary_split_flag value is 1, it is determined as horizontal division, and in this case, the binary_dir_flag syntax may not be transmitted.
- the block C1 is not allowed to be horizontally divided, but may be determined as a block having no vertical division or division.
- the binary_split_flag value when the binary_split_flag value is 0, it may be determined as a block without partitioning. If the binary_split_flag value is 1, it is determined as vertical split, and in this case, the binary_dir_flag syntax indicating the split direction may not be transmitted.
- the syntax value indicating whether to split the MTT in the BT and TT partitioning structures that is, the MTT partitioning structure
- the binary_split_flag value is 1, it is determined as vertical division, and in this case, the binary_dir_flag syntax may not be transmitted.
- FIG. 30 is a flowchart illustrating a method of limiting block partitioning based on a block size according to an embodiment of the present invention.
- the encoder / decoder checks whether the preset conditions are met. If all of the preset conditions are satisfied, the encoder / decoder may skip vertical division. In an embodiment, the preset conditions may be three conditions as shown in FIG. 30.
- the first condition is whether the subblock index value of the current block is 1.
- the subblock index is a value indicating the BT-divided subblock, 0 for the first subblock (first subblock in FIG. 29), and 1 for the second subblock (previous second block in FIG. 29). It can have a value.
- the second condition is whether the first subblock is divided by vertical division.
- the third condition is whether the size of the second subblock is larger than a specific threshold C_TH.
- the particular threshold may be explicitly signaled via SPS, PPS, SH (or TGH), or NAL unit syntax.
- the BT divided current subblock is the second subblock
- the first subblock is divided in the same direction as the split direction of the upper node of the current subblock
- the size of the current subblock is a specific value ( Or greater than a predefined threshold)
- the current subblock may not be split in the same direction without syntax signaling.
- a signaling method of a block division syntax for a coding unit, a prediction unit, and a transform unit is proposed.
- Table 10 shows a coding quadtree syntax structure
- Table 11 shows a syntax structure in a coding tree.
- the coding quadtree syntax (or function) may be called by inputting the upper left coordinate (x0, y0) of the current block, the size of the current block (log2CbSize), and the depth of the current quadtree split.
- the decoder parses the split_qt_flag syntax element.
- the split_qt_flag syntax element indicates whether the current block is divided into four quad tree structures. For example, if the split_qt_flag value is 0, it means no splitting. If the split_qt_flag value is 1, it indicates that the block is divided into 4 pieces having half the width and half the height. x0 and y0 represent the top-left positions of the luminance image.
- the decoder When parsing determines that the current block is divided into quad tree structures, the decoder calls the coding quadtree syntax (or function) on four sub-blocks divided from the current block.
- the decoder calls the coding tree syntax (or function) on the current block for subsequent partition structure (ie, multi-type tree structure) determination.
- the coding tree syntax (or function) may be called by inputting the upper left coordinate (x0, y0) of the current block, the width of the current block (log2CbSizeW), and the width of the current block (log2CbSizeH).
- the decoder parses a split_fur_flag syntax element.
- the split_fur_flag syntax indicates whether the current block is additionally split. For example, if the split_fur_flag value is 0, it means no further splitting. If the split_fur_flag value is 1, it means that the block is split.
- the decoder parses the split_bt_flag and split_dir syntax elements.
- the split_bt_flag syntax indicates whether to be split into a BT structure or a TT structure. For example, if the split_bt_flag value is 1, it means that the block is split by BT, and if the split_bt_flag value is 0, it means that the block is split by TT.
- the split type of the current block may be determined as shown in Table 12 below based on the split_fur_flag syntax and the split_bt_flag syntax.
- the split_dir syntax element indicates a split direction. For example, if the split_dir value is 0, the block is split in the horizontal direction. If the split_dir value is 1, the block is split in the vertical direction.
- the final block split mode (SplitMode) MTT split from the current block may be derived as shown in Table 13 below.
- the decoder calls the coding tree syntax (or function) again for the divided subblocks according to the finally determined partition structure.
- the encoder may transmit at least one of a maximum QT block size MaxQTSize, a minimum QT block size MinQTSize, and a maximum QT block division depth MaxQTDepth syntax (or syntax element) to the decoder.
- the maximum QT block size represents the maximum size of a block in which QT partitioning may be performed and may be expressed in the form of a log scale (eg, log2).
- the minimum QT block size indicates a minimum size of a block in which QT partitioning may be performed and may be expressed in the form of a log scale (eg, log2).
- the maximum QT splitting depth indicates how many QT splittings are allowed from the maximum QT block size.
- the encoder may transmit at least one of a maximum BT block size MaxBTSize, a minimum BT block size MinBTSize, and a maximum BT block division depth MaxBTDepth syntax (or syntax element) to the decoder.
- the maximum BT block size indicates the maximum size of a block that allows BT division and may be expressed in the form of a log scale (eg, log2).
- the minimum BT block size indicates a minimum size of a block in which BT splitting is allowed and may be expressed in the form of a log scale (eg, log2).
- the maximum BT split depth indicates how many BT splits are allowed from the maximum BT block size.
- the encoder may transmit at least one of a maximum TT block size MaxTTSize, a minimum TT block size MinTTSize, and a maximum TT block division depth MaxTTDepth syntax (or syntax element) to the decoder.
- the maximum TT block size represents the maximum size of a block that allows TT partitioning and may be expressed in the form of a log scale (eg, log2).
- the minimum TT block size represents the minimum size of a block that allows TT partitioning and may be expressed in the form of a log scale (eg, log2).
- the maximum TT splitting depth indicates how many TT splittings are allowed from the maximum TT block size.
- Each syntax information includes a sequence parameter set (SPS), a picture parameter set (PSP), and a slice header (Slice) according to the type of a slice (or a tile group), a tile, and a picture component.
- the header may be transmitted through a header (SH) (or a tile group header (TGH), a header of a network abstract layer (NAL)), or the like.
- Example 4-2 the syntax for the maximum size or the minimum size or the maximum allowable depth for splitting the QT, BT, and TT in the image is defined.
- the block sizes of the coding unit (CU), prediction unit (PU), and transform unit (TU) may or may not be the same.
- the encoder and decoder propose a method of transmitting a syntax for adjusting the degree of partitioning of the CUs, PUs, and TUs in consideration of the relationship between performance and complexity.
- the TU may be divided into a tree structure (eg, QT, QTBT, QTBT + TT, etc.) according to the partitioning information signaled from the encoder, and may mean a unit in which the transformation is performed, or the TU is a transform kernel (or a transformation). Implicitly divided according to the size of the matrix) and may mean a unit in which the transformation is performed.
- a block such as a CU or a PU may be recursively split according to the signaled split information.
- the encoder and the decoder may be configured based on the size of the transform kernel stored without signaling the partition information.
- the blocks of may be equally divided. That is, TU partitioning may be determined depending on the transform kernel size. For example, if the size of a CU or PU is 128x128, and the maximum size of the applicable (or predetermined) transform kernel is 64x64, the encoder and decoder can use four 64x64 CUs or PUs without signaling separate partitioning information for the transform. After dividing into blocks, the transformation can be performed.
- an implicit partitioning method for transformation will be described.
- FIG. 31 is a diagram illustrating a method of determining whether to partition a block based on a maximum transform block size without syntax signaling as an embodiment to which the present invention is applied.
- the decoder may check whether the current block size is larger than the maximum transform size (or the maximum size of the transform kernel, the maximum size of the transform matrix) (S3101).
- the decoder may split the current block (S3102). In this case, the decoder may split the current block into units of maximum transform size. The current block may be split into units of maximum transform size only when inverse transforming. The decoder may perform inverse transform on the divided blocks (S3103).
- step S3101 when the current block size is not larger than the maximum transform size, the decoder may perform inverse transform on the current block.
- syntaxes such as a maximum CU block size (MaxCUSize), a minimum CU block size (MinCUSize), a maximum CU block partition depth (MaxCUDepth), and the like may be transmitted.
- the maximum CU block size means the size of the largest block for dividing the image for the first time, and may be expressed in the form of a log2 scale. This may be used or replaced with the same syntax as the maximum QT block size (MaxQTSize), the minimum QT block size (MinQTSize), the maximum QT block division depth (MaxQTDepth), and the like.
- syntaxes such as a maximum PU block size (MaxPUSize), a minimum PU block size (MinPUSize), a maximum PU block division depth (MaxPUDepth), and the like may be transmitted.
- the maximum PU block size means the size of the maximum block for dividing the image for the first time, and may be expressed in the form of a log2 scale. For example, if the maximum CU size is larger than the maximum PU size, the CU may be implicitly split without signaling information up to the maximum PU. Specifically, when the maximum PU size is 64x64 and the maximum CU size is 128x128, the 128x128 block may be predicted using four 64x64 PUs.
- the block may be implicitly divided into four sub-PUs.
- the 128x64 block may be predicted using two 64x64 PUs.
- the 128x32 block may use two 64x32 PUs or four 32x32 PUs to perform prediction. If the CU and the PU are the same, the syntax may not be transmitted. Alternatively, the syntax may be explicitly transmitted.
- syntaxes such as a maximum TU block size (MaxTUSize), a minimum TU block size (MinTUSize), a maximum TU block partition depth (MaxTUDepth), and the like may be transmitted.
- the maximum TU block size means the size of the largest block for dividing the image for the first time, and may be expressed in the form of a log2 scale. For example, if the maximum CU size is larger than the maximum TU size, the CU may be implicitly split without signaling information up to the maximum TU.
- the maximum TU size is 64x64 and the maximum CU size is 128x128, the 128x128 block may be transformed using four 64x64 TUs.
- the block may be implicitly divided into four sub-CUs.
- the 128x64 block may be transformed using two 64x64 TUs.
- the 128x32 block can be transformed using two 64x32 TUs or four 32x32 TUs. If the CU and the TU are the same, the syntax may not be transmitted. Alternatively, the syntax may be explicitly transmitted.
- implicit splitting based on transform size may be performed for a TT or AT partitioned CU at the maximum size CU (or CTU). For example, if the maximum size CU is 128x128 and only one TT partition is performed, two 32x128 CUs and one 64x128 CU may be generated. Assuming the maximum size of the conversion kernel as 64x64, when performing the conversion, the encoder / decoder may divide a 32x128 CU into two 64x32 TUs or four 32x32 TUs without additional signaling. In this case, TU partitioning may be determined in an applicable transform kernel unit or a predetermined size unit. In addition, when performing the conversion, the encoder / decoder may split a 64x128 CU into two 64x64 TUs without additional signaling.
- the encoder / decoder may divide a 32x128 CU into two 64x32 TUs or four 32x32 TUs without additional signaling.
- TU partitioning may be determined in an applicable transform kernel unit or a predetermined size unit.
- the encoder / decoder may divide the 96x128 CU into two 64x64 TUs and two 64x32 TUs, or two 64x64 TUs and four four 32x32 TUs without additional signaling.
- the corresponding PU may be implicitly split without signaling information up to the maximum TU.
- the maximum TU size is 64x64 and the maximum PU size is 128x128, the 128x128 block may be transformed using four 64x64 TUs. Alternatively, the block may be implicitly divided into four sub-PUs.
- the 128x64 block may be transformed using two 64x64 TUs.
- the 128x32 block can be transformed using two 64x32 TUs or four 32x32 TUs. If the PU and the TU are the same, the syntax may not be transmitted. Alternatively, the syntax may be explicitly transmitted.
- implicit partitioning based on transform size may be performed for a TT or AT partitioned PU at the full size PU. For example, if the maximum size PU is 128x128 and only one TT partition is performed, two 32x128 PUs and one 64x128 PU may be generated. Assuming the maximum size of the conversion kernel is 64x64, when performing the conversion, the encoder / decoder may split a 32x128 PU into two 64x32 TUs or four 32x32 TUs without additional signaling. In this case, TU partitioning may be determined in an applicable transform kernel unit or a predetermined size unit. The encoder / decoder may split the 64x128 PU into two 64x64 TUs without any signaling.
- the encoder / decoder may split a 32x128 PU into two 64x32 TUs or four 32x32 TUs without additional signaling.
- TU partitioning may be determined in an applicable transform kernel unit or a predetermined size unit.
- the encoder / decoder may divide a 96x128 PU into two 64x64 TUs and two 64x32 TUs, or two 64x64 TUs and four four 32x32 TUs without additional signaling.
- the corresponding block may be performed by combining several blocks that satisfy the minimum TU.
- the division of the PU smaller than the minimum TU size may not be allowed.
- transform may be performed by using four 4x4 blocks and using one TU of 8x8.
- the block may implicitly limit the division into 4x4 PUs.
- the encoder complexity can be reduced and the decoder can implicitly derive the partition information of the block, so that there can be a bit reduction effect.
- Each syntax information includes a sequence parameter set (SPS), a picture parameter set (PSP), and a slice header (Slice) according to the type of a slice (or a tile group), a tile, and a picture component.
- the header may be transmitted through a header (SH) (or a tile group header (TGH), a header of a network abstract layer (NAL)), or the like.
- Embodiments of the present invention described above have been described separately for the convenience of description, but the present invention is not limited thereto. In other words, Embodiments 1 to 4 described above may be performed independently, or one or more embodiments may be performed in combination.
- 32 is a flowchart illustrating a method of decoding a video signal according to an embodiment to which the present invention is applied.
- a decoder is mainly described for convenience of description, but the present invention is not limited thereto, and the method of decoding a video signal according to an embodiment of the present invention may be performed in the same manner in the encoder and the decoder.
- the decoder parses a split flag syntax element indicating whether the current block is divided into a plurality of subblocks (S3201).
- splitting flag syntax element indicates that the current block is to be split, whether the current block is split using binary-tree splitting or ternary-tree splitting
- a split type syntax element indicating a is parsed (S3202).
- the decoder determines a split mode of the current block based on the split flag syntax element and the split type syntax element (S3203).
- the division mode may include a division type and a division direction of the current block.
- the decoder calls a coding tree unit syntax for determining a partition structure of each subblock partitioned from the current block based on the partition mode (S3204).
- the decoder may derive the splitting direction of the current block based on the splitting mode of the upper node block. Can be.
- the decoder is a block in which the current block is partitioned from an upper node block using binary tree splitting or ternary tree splitting, and the current block is subordinated in coding order among subblocks split from the higher node block.
- the splitting direction of the current block may be derived based on the splitting mode of the higher node block.
- the decoder is a block in which the current block is partitioned from an upper node block using binary tree splitting or ternary tree splitting, and the current block is subordinated in coding order among subblocks split from the higher node block.
- the division direction of the current block may be derived based on the division mode of the subblock having a higher priority than the current block in the encoding order among the subblocks divided from the higher node block.
- the encoding order is a first scan order scanned from left to right and from top to bottom, a second scan order scanned from left to right and from bottom to top, from right to left and from top to bottom At least one of a third scan order to be scanned and a fourth scan order to be scanned from right to left and from bottom to top may be determined.
- a value obtained by adding a width of the current block to a horizontal coordinate of the upper left sample of the current block is less than or equal to the width of the current picture, and the upper left sample of the current block. Parsing the split flag syntax element when the value of the height of the current block is added to the vertical coordinate is less than or equal to the height of the current picture and the current block is not greater than a predefined maximum transform size. Can be performed.
- FIG 33 is a diagram illustrating an apparatus for decoding a video signal according to an embodiment to which the present invention is applied.
- the decoding apparatus is illustrated as one block for convenience of description, but the decoding apparatus illustrated in FIG. 33 may be implemented in a configuration included in the encoder and / or the decoder.
- the decoding apparatus implements the functions, processes, and / or methods proposed in FIGS. 1 to 32.
- the decoding apparatus may include a syntax element parser 3301, a split mode determiner 3302, and a syntax caller 3303.
- the syntax element parser 3301 and the syntax caller 3303 may be implemented in a configuration included in the split mode determiner 3302.
- the syntax element parser 3301 parses a split flag syntax element indicating whether the current block is divided into a plurality of subblocks.
- the syntax element parser 3301 indicates whether the current block is partitioned using binary-tree partitioning or a ternary-tree. Parse a split type syntax element that indicates whether to split using split.
- the split mode determiner 3302 determines a split mode of the current block based on the split flag syntax element and the split type syntax element.
- the division mode may include a division type and a division direction of the current block.
- the syntax caller 3303 calls a coding tree unit syntax for determining a partition structure of each subblock partitioned from the current block based on the partition mode.
- the splitting mode determination unit 3302 determines the current block based on the partitioning mode of the higher node block. It is possible to derive the division direction of.
- the splitting mode determination unit 3302 is a subblock in which the current block is partitioned from an upper node block using binary tree partitioning or ternary tree partitioning, and the current block is partitioned from the higher node block.
- the division direction of the current block may be derived based on the division mode of the higher node block.
- the splitting mode determination unit 3302 is a subblock in which the current block is partitioned from an upper node block using binary tree partitioning or ternary tree partitioning, and the current block is partitioned from the higher node block.
- the division direction of the current block may be derived based on the division mode of the sub-block having a higher priority than the current block in the encoding order.
- the encoding order is a first scan order scanned from left to right and from top to bottom, a second scan order scanned from left to right and from bottom to top, from right to left and from top to bottom At least one of a third scan order to be scanned and a fourth scan order to be scanned from right to left and from bottom to top may be determined.
- the syntax element parser 3301 has a value obtained by adding a width of the current block to a horizontal coordinate of an upper left sample of the current block, which is smaller than or equal to the width of the current picture, and the current block.
- the split flag syntax when a height of the current block is added to a vertical coordinate of an upper left sample of is smaller than or equal to a height of the current picture, and the current block is not larger than a predefined maximum transform size.
- the video coding system can include a source device and a receiving device.
- the source device may deliver the encoded video / image information or data to a receiving device through a digital storage medium or network in a file or streaming form.
- the source device may include a video source, an encoding apparatus, and a transmitter.
- the receiving device may include a receiver, a decoding apparatus, and a renderer.
- the encoding device may be called a video / image encoding device, and the decoding device may be called a video / image decoding device.
- the transmitter may be included in the encoding device.
- the receiver may be included in the decoding device.
- the renderer may include a display unit, and the display unit may be configured as a separate device or an external component.
- the video source may acquire the video / image through a process of capturing, synthesizing, or generating the video / image.
- the video source may comprise a video / image capture device and / or a video / image generation device.
- the video / image capture device may include, for example, one or more cameras, video / image archives including previously captured video / images, and the like.
- Video / image generation devices may include, for example, computers, tablets and smartphones, and may (electronically) generate video / images.
- a virtual video / image may be generated through a computer or the like. In this case, the video / image capturing process may be replaced by a process of generating related data.
- the encoding device may encode the input video / image.
- the encoding apparatus may perform a series of procedures such as prediction, transform, and quantization for compression and coding efficiency.
- the encoded data (encoded video / image information) may be output in the form of a bitstream.
- the transmitter may transmit the encoded video / video information or data output in the form of a bitstream to the receiver of the receiving device through a digital storage medium or a network in the form of a file or streaming.
- the digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, and the like.
- the transmission unit may include an element for generating a media file through a predetermined file format, and may include an element for transmission through a broadcast / communication network.
- the receiver may extract the bitstream and transmit the extracted bitstream to the decoding apparatus.
- the decoding apparatus may decode the video / image by performing a series of procedures such as inverse quantization, inverse transformation, and prediction corresponding to the operation of the encoding apparatus.
- the renderer may render the decoded video / image.
- the rendered video / image may be displayed through the display unit.
- 35 is a diagram illustrating the structure of a content streaming system according to an embodiment to which the present invention is applied.
- a content streaming system to which the present invention is applied may largely include an encoding server, a streaming server, a web server, a media storage, a user device, and a multimedia input device.
- the encoding server compresses content input from multimedia input devices such as a smart phone, a camera, a camcorder, etc. into digital data to generate a bitstream and transmit the bitstream to the streaming server.
- multimedia input devices such as smart phones, cameras, camcorders, etc. directly generate a bitstream
- the encoding server may be omitted.
- the bitstream may be generated by an encoding method or a bitstream generation method to which the present invention is applied, and the streaming server may temporarily store the bitstream in the process of transmitting or receiving the bitstream.
- the streaming server transmits the multimedia data to the user device based on the user's request through the web server, and the web server serves as a medium for informing the user of what service.
- the web server delivers it to a streaming server, and the streaming server transmits multimedia data to the user.
- the content streaming system may include a separate control server.
- the control server plays a role of controlling a command / response between devices in the content streaming system.
- the streaming server may receive content from a media store and / or an encoding server. For example, when the content is received from the encoding server, the content may be received in real time. In this case, in order to provide a smooth streaming service, the streaming server may store the bitstream for a predetermined time.
- Examples of the user device include a mobile phone, a smart phone, a laptop computer, a digital broadcasting terminal, a personal digital assistant (PDA), a portable multimedia player (PMP), navigation, a slate PC, Tablet PCs, ultrabooks, wearable devices, such as smartwatches, glass glasses, head mounted displays, digital TVs, desktops Computer, digital signage, and the like.
- PDA personal digital assistant
- PMP portable multimedia player
- slate PC slate PC
- Tablet PCs ultrabooks
- wearable devices such as smartwatches, glass glasses, head mounted displays, digital TVs, desktops Computer, digital signage, and the like.
- Each server in the content streaming system may be operated as a distributed server, in which case data received from each server may be distributed.
- the embodiments described herein may be implemented and performed on a processor, microprocessor, controller, or chip.
- the functional units shown in each drawing may be implemented and performed on a computer, processor, microprocessor, controller, or chip.
- the decoder and encoder to which the present invention is applied include a multimedia broadcasting transmitting and receiving device, a mobile communication terminal, a home cinema video device, a digital cinema video device, a surveillance camera, a video chat device, a real time communication device such as video communication, a mobile streaming device, Storage media, camcorders, video on demand (VoD) service providing devices, OTT video (Over the top video) devices, Internet streaming service providing devices, three-dimensional (3D) video devices, video telephony video devices, and medical video devices. It can be used to process video signals or data signals.
- the OTT video device may include a game console, a Blu-ray player, an internet access TV, a home theater system, a smartphone, a tablet PC, a digital video recorder (DVR), and the like.
- the processing method to which the present invention is applied can be produced in the form of a program executed by a computer, and can be stored in a computer-readable recording medium.
- Multimedia data having a data structure according to the present invention can also be stored in a computer-readable recording medium.
- the computer readable recording medium includes all kinds of storage devices and distributed storage devices in which computer readable data is stored.
- the computer-readable recording medium may be, for example, a Blu-ray disc (BD), a universal serial bus (USB), a ROM, a PROM, an EPROM, an EEPROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, and an optical disc. It may include a data storage device.
- the computer-readable recording medium also includes media embodied in the form of a carrier wave (eg, transmission over the Internet).
- the bitstream generated by the encoding method may be stored in a computer-readable recording medium or transmitted through a wired or wireless communication network.
- embodiments of the present invention may be implemented as a computer program product by a program code, the program code may be performed on a computer by an embodiment of the present invention.
- the program code may be stored on a carrier readable by a computer.
- each component or feature is to be considered optional unless stated otherwise.
- Each component or feature may be embodied in a form that is not combined with other components or features. It is also possible to combine some of the components and / or features to form an embodiment of the invention.
- the order of the operations described in the embodiments of the present invention may be changed. Some components or features of one embodiment may be included in another embodiment or may be replaced with corresponding components or features of another embodiment. It is obvious that the claims may be combined to form an embodiment by combining claims that do not have an explicit citation relationship in the claims or as new claims by post-application correction.
- Embodiments according to the present invention may be implemented by various means, for example, hardware, firmware, software, or a combination thereof.
- an embodiment of the present invention may include one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), FPGAs ( field programmable gate arrays), processors, controllers, microcontrollers, microprocessors, and the like.
- ASICs application specific integrated circuits
- DSPs digital signal processors
- DSPDs digital signal processing devices
- PLDs programmable logic devices
- FPGAs field programmable gate arrays
- processors controllers, microcontrollers, microprocessors, and the like.
- an embodiment of the present invention may be implemented in the form of a module, procedure, function, etc. that performs the functions or operations described above.
- the software code may be stored in memory and driven by the processor.
- the memory may be located inside or outside the processor, and may exchange data with the processor by various known means.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
L'invention concerne un procédé de réalisation de décodage d'un signal vidéo et un appareil associé. En particulier, un procédé de décodage d'une vidéo peut comprendre les étapes consistant à : analyser un élément de syntaxe de drapeau de division indiquant si un bloc actuel est divisé en une pluralité de sous-blocs ; analyser un élément de syntaxe de type divisé indiquant si le bloc actuel est divisé à l'aide d'un partitionnement d'arbre binaire ou d'un partitionnement d'arbre ternaire lorsque l'élément de syntaxe de drapeau de division indique que le bloc actuel est divisé ; déterminer un mode de division du bloc actuel sur la base de l'élément de syntaxe de drapeau de division et de l'élément de syntaxe de type de division, le mode de division comprenant un type de division et une direction de division du bloc actuel ; et invoquer une syntaxe d'unité d'arbre de codage pour déterminer une structure de division de chaque sous-bloc séparé du bloc actuel sur la base du mode divisé.
Applications Claiming Priority (14)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862651237P | 2018-04-01 | 2018-04-01 | |
US62/651,237 | 2018-04-01 | ||
US201862655779P | 2018-04-10 | 2018-04-10 | |
US62/655,779 | 2018-04-10 | ||
US201862657792P | 2018-04-14 | 2018-04-14 | |
US62/657,792 | 2018-04-14 | ||
US201862660209P | 2018-04-19 | 2018-04-19 | |
US62/660,209 | 2018-04-19 | ||
KR10-2018-0073034 | 2018-06-25 | ||
KR20180073034 | 2018-06-25 | ||
KR20180074554 | 2018-06-28 | ||
KR20180074547 | 2018-06-28 | ||
KR10-2018-0074554 | 2018-06-28 | ||
KR10-2018-0074547 | 2018-06-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019194515A1 true WO2019194515A1 (fr) | 2019-10-10 |
Family
ID=68101027
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2019/003826 WO2019194515A1 (fr) | 2018-04-01 | 2019-04-01 | Procédé de traitement vidéo et appareil associé |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2019194515A1 (fr) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113286152A (zh) * | 2020-02-20 | 2021-08-20 | 腾讯美国有限责任公司 | 视频解码方法、装置、计算机设备及存储介质 |
WO2022213920A1 (fr) * | 2021-04-06 | 2022-10-13 | Beijing Bytedance Network Technology Co., Ltd. | Signalisation de partition dans un codage vidéo |
CN115552902A (zh) * | 2021-04-16 | 2022-12-30 | 腾讯美国有限责任公司 | 变换划分与主/二次变换类型选择之间的交互 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101545195B1 (ko) * | 2013-12-27 | 2015-08-19 | 연세대학교 산학협력단 | 고속 화면 간 예측 부호화 방법 및 그 장치 |
KR101662739B1 (ko) * | 2014-10-29 | 2016-10-05 | 삼성전자주식회사 | 픽처 경계의 부호화 단위를 부호화, 복호화 하는 방법 및 장치 |
US20170347128A1 (en) * | 2016-05-25 | 2017-11-30 | Arris Enterprises Llc | Binary ternary quad tree partitioning for jvet |
KR20170135847A (ko) * | 2015-04-08 | 2017-12-08 | 엘지전자 주식회사 | 비디오 신호의 인코딩/디코딩 방법 및 장치 |
KR20180009318A (ko) * | 2016-07-18 | 2018-01-26 | 한국전자통신연구원 | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 |
-
2019
- 2019-04-01 WO PCT/KR2019/003826 patent/WO2019194515A1/fr active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101545195B1 (ko) * | 2013-12-27 | 2015-08-19 | 연세대학교 산학협력단 | 고속 화면 간 예측 부호화 방법 및 그 장치 |
KR101662739B1 (ko) * | 2014-10-29 | 2016-10-05 | 삼성전자주식회사 | 픽처 경계의 부호화 단위를 부호화, 복호화 하는 방법 및 장치 |
KR20170135847A (ko) * | 2015-04-08 | 2017-12-08 | 엘지전자 주식회사 | 비디오 신호의 인코딩/디코딩 방법 및 장치 |
US20170347128A1 (en) * | 2016-05-25 | 2017-11-30 | Arris Enterprises Llc | Binary ternary quad tree partitioning for jvet |
KR20180009318A (ko) * | 2016-07-18 | 2018-01-26 | 한국전자통신연구원 | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113286152A (zh) * | 2020-02-20 | 2021-08-20 | 腾讯美国有限责任公司 | 视频解码方法、装置、计算机设备及存储介质 |
CN113286152B (zh) * | 2020-02-20 | 2023-05-23 | 腾讯美国有限责任公司 | 视频解码方法、装置、计算机设备及存储介质 |
US11758169B2 (en) | 2020-02-20 | 2023-09-12 | Tencent America LLC | Block partitioning at picture boundaries |
WO2022213920A1 (fr) * | 2021-04-06 | 2022-10-13 | Beijing Bytedance Network Technology Co., Ltd. | Signalisation de partition dans un codage vidéo |
CN115552902A (zh) * | 2021-04-16 | 2022-12-30 | 腾讯美国有限责任公司 | 变换划分与主/二次变换类型选择之间的交互 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021054796A1 (fr) | Procédé de codage d'image basé sur une transformée, et dispositif associé | |
WO2020180102A1 (fr) | Procédé de décodage d'image à l'aide de drapeau de signe codé de contexte dans un système de codage d'image et appareil associé | |
WO2021206445A1 (fr) | Procédé de codage d'image basé sur une transformée et appareil associé | |
WO2020009434A1 (fr) | Procédé et dispositif de traitement de signal vidéo sur la base d'une transformation secondaire | |
WO2020162732A1 (fr) | Procédé et dispositif de traitement de signal de vidéo | |
WO2019203610A1 (fr) | Procédé de traitement d'images et dispositif pour sa mise en œuvre | |
WO2021066598A1 (fr) | Procédé de codage d'image basé sur une transformée, et appareil associé | |
WO2020166977A1 (fr) | Procédé et appareil de traitement de signal vidéo | |
WO2021096290A1 (fr) | Procédé de codage d'image basé sur une transformée et dispositif associé | |
WO2020162690A1 (fr) | Procédé et dispositif de traitement de signal vidéo en utilisant une transformée réduite | |
WO2021086055A1 (fr) | Procédé de codage d'images basée sur une transformée et appareil associé | |
WO2021172914A1 (fr) | Procédé de décodage d'image pour un codage résiduel et dispositif associé | |
WO2020251278A1 (fr) | Procédé de décodage d'image basé sur des données de paramètre de quantification de chrominance, et appareil associé | |
WO2019194463A1 (fr) | Procédé de traitement d'image et appareil associé | |
WO2021096295A1 (fr) | Procédé de codage d'image reposant sur une transformée et dispositif associé | |
WO2021060905A1 (fr) | Procédé de codage d'image basé sur une transformée et appareil associé | |
WO2021054798A1 (fr) | Procédé et dispositif de codage d'image à base de transformée | |
WO2019194515A1 (fr) | Procédé de traitement vidéo et appareil associé | |
WO2020197223A1 (fr) | Codage d'image basé sur la prédiction intra dans un système de codage d'image | |
WO2020184928A1 (fr) | Codage vidéo ou d'image basé sur une cartographie de luminance et une mise à l'échelle chromatique | |
WO2020009400A1 (fr) | Procédé et appareil permettant de traiter un signal vidéo à l'aide d'une prédiction intra | |
WO2021201649A1 (fr) | Procédé de codage d'image basé sur une transformée et dispositif associé | |
WO2021167421A1 (fr) | Procédé de codage d'image basé sur une transformée et dispositif associé | |
WO2021096293A1 (fr) | Procédé de codage d'image reposant sur une transformée et dispositif associé | |
WO2021071282A1 (fr) | Procédé de codage d'image reposant sur une transformée et dispositif associé |
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: 19781509 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: 19781509 Country of ref document: EP Kind code of ref document: A1 |