Method of encoding or decoding video data and method of transmitting a bitstream

By parsing high-level header information to calculate QTBT block segmentation parameters and deriving the QTBT block segmentation structure, the problem of low signaling efficiency of QTBT block segmentation information in existing technologies is solved, and a more efficient encoding process is achieved.

CN117201818BActive Publication Date: 2026-06-19SK TELECOM CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SK TELECOM CO LTD
Filing Date
2018-05-24
Publication Date
2026-06-19

AI Technical Summary

Technical Problem

In existing technologies for efficient video coding, the increased data volume and resulting in low efficiency occur when signaling block segmentation information based on quadtree plus binary tree (QTBT).

Method used

By receiving a bitstream containing encoded data of blocks, high-level header information is parsed to calculate the parameters of the QTBT block segmentation structure, and the QTBT block segmentation structure is derived based on these parameters. Finally, the leaf nodes of the QTBT are decoded to identify the final sub-blocks.

🎯Benefits of technology

Effectively signaling QTBT block segmentation information improves coding efficiency and reduces data transmission requirements.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117201818B_ABST
    Figure CN117201818B_ABST
Patent Text Reader

Abstract

This invention relates to methods for encoding or decoding video data and methods for transmitting bitstreams. The technology disclosed herein relates to syntaxes representing various block partition shapes and block partition forms included in QTBT blocks determined using binary tree partitioning and quadtree partitioning, as well as syntax elements represented at a higher level for the syntaxes.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of the original patent application No. 201880036548.8 (International Application No.: PCT / KR2018 / 005879, Application Date: May 24, 2018, Invention Title: Apparatus and Method for Supporting Image Encoding or Decoding of Various Block Sizes). Technical Field

[0002] This disclosure relates to video encoding or decoding for efficient video encoding. More specifically, this disclosure relates to techniques for signaling information about block segmentation based on quadtree plus binary tree (QTBT). Background Technology

[0003] The statements in this section provide only background information relevant to this disclosure and do not constitute prior art.

[0004] In High Efficiency Video Coding (HEVC), a Coding Tree Unit (CTU) is a coding tree that reflects various local characteristics of the video, and a quadtree (quadtree) scheme is used to divide the CTU into multiple Coding Units (CUs). When CUs are determined in this way, intra-frame coding prediction and inter-frame coding prediction are performed based on the CUs. Each CU is further divided into Prediction Units (PUs). After the PUs are determined and prediction processing is performed, the CUs are divided into Transform Units (TUs) for residual blocks.

[0005] Figure 1 This diagram illustrates an example of partitioning a CTU using a quadtree scheme and a tree structure representing the partitions. A large CTU is divided into four equal squares, where the top-left and top-right blocks are not further subdivided, while each of the bottom-left and bottom-right blocks is further subdivided into four equal squares. Figure 1 In (b), the circles representing blocks are called "nodes," while the final nodes that are no longer divided (also called "leaf nodes") are colored gray. That is, all leaf nodes refer to CUs that are the final encoded blocks.

[0006] As a high-level syntax representing the CTU and CU mentioned above, as shown in Table 1, two syntax elements are specified in the Sequence Parameter Set (SPS).

[0007] [Table 1]

[0008]

[0009]

[0010] Here, log2_min_luma_coding_block_size_minus3 specifies the minimum CU block size allowed based on the luma block (min_luma_coding_block_size), while log2_diff_max_min_luma_coding_block_size specifies the difference between min_luma_coding_block_size and the maximum CU block size allowed based on the luma block (max_luma_coding_block_size). Using these two syntax elements, the actual minimum luma block size (MinCbSizeY) is expressed as Equation 3, and the CTU size (CtbSizeY) is expressed as Equation 4.

[0011] MinCbLog2SizeY=log2_min_luma_coding_block_size_minus3+3 (1)

[0012] CtbLog2SizeY=MinCbLog2SizeY+log2_diff_max_min_luma_coding_block_size(2)

[0013] MinCbSizeY=1< <MinCbLog2SizeY (3)

[0014] CtbSizeY = 1 <CtbLog2SizeY (4)

[0015] Information regarding the segmentation of multiple CU blocks within the CTU is recorded in the encoded quadtree header portion of the slice header, as shown in Table 2. A 1-bit flag, `split_cu_flag`, is used to indicate whether a quadtree segmentation has been applied to a given node. A flag of "0" indicates no segmentation. A flag of "1" indicates that a cell has been segmented into four equal cells. Because this flag is reused, information about the size and location of the segmented CU blocks within the CTU is derived.

[0016] [Table 2]

[0017] coding_quadtree(x0,y0,log2CbSize,cqtDepth){ descriptor ... split_cu_flag[x0][y0] ae(v) ...

[0018] Recently, the Quadtree Plus Binary Tree (QTBT) structure has been discussed. The QTBT structure eliminates the conventional concepts of CU, PU, ​​and TU, while allowing for more flexible CU segmentation to match various local features of video data. Specifically, in QTBT, a CU can be defined as having a square or rectangular shape. Furthermore, although the CTU size in HEVC is 64, the necessity of larger block sizes such as 128 and 256 has been discussed as video resolution increases. Therefore, when blocks in the CTU are divided into at least 4×4 blocks, the amount of data required to signal the segmentation information increases. Summary of the Invention

[0019] Technical issues

[0020] The purpose of this disclosure is to efficiently signal information related to block partitioning based on a quadtree plus binary tree (QTBT).

[0021] Technical solution

[0022] According to one aspect of this disclosure, a method for decoding video data is provided, the method comprising the steps of: receiving a bitstream containing encoded data for blocks of video data; parsing syntax elements for block segmentation defined at a higher level by decoding higher-level header information, the blocks of video data belonging to the higher level; calculating parameters for block segmentation using the syntax elements; deriving a QTBT block segmentation structure for the blocks of video data using the bitstream based on the calculated parameters, wherein the QTBT block segmentation structure is a BT structure having leaf nodes derived from the QT; and decoding the final sub-blocks corresponding to the leaf nodes of the QTBT based on the video bitstream.

[0023] According to another aspect of this disclosure, a method for decoding video data is provided, the method comprising the steps of: receiving a bitstream containing encoded data for blocks of video data; parsing syntax elements for block segmentation defined at a high level by decoding high-level header information, the blocks of video data belonging to the high level; calculating parameters for block segmentation using the syntax elements; deriving a QTBT block segmentation structure for the blocks of video data using the bitstream based on the calculated parameters, wherein the QTBT block segmentation structure is a BT structure having leaf nodes derived from the QT; and decoding the final sub-blocks corresponding to the leaf nodes of the QTBT based on the video bitstream.

[0024] In some implementations, the parameters for block segmentation include a first parameter indicating the minimum block size of leaf nodes allowed in BT, a second parameter indicating the minimum block size of leaf nodes allowed in QT, a third parameter indicating the maximum block size of root nodes allowed in the BT, and a fourth parameter indicating the block size of the video data.

[0025] In some other embodiments, the parameters for block segmentation include a first parameter indicating the minimum block size of the BT leaf nodes generated by symmetric segmentation, a second parameter indicating the minimum block size of the BT leaf nodes generated by asymmetric segmentation, a third parameter indicating the minimum block size of the leaf nodes allowed in the QT, a fourth parameter indicating the maximum block size of the root nodes allowed in the BT, and a fifth parameter indicating the block size of the video data. Attached Figure Description

[0026] Figure 1 This is a diagram illustrating an example of segmenting a CTU using a quadtree scheme and a tree structure representing the segmentation.

[0027] Figure 2 This is an exemplary block diagram of a video encoding device capable of implementing the technology disclosed herein.

[0028] Figure 3 This is a diagram illustrating the BT segmentation type proposed in this disclosure.

[0029] Figure 4 This is an exemplary block diagram of a video decoding device capable of implementing the technology disclosed herein.

[0030] Figure 5 This is a diagram illustrating a partitioning scheme using a quadtree and an example of the tree structure representing the partition.

[0031] Figure 6 This is a diagram illustrating a tree representation of bit allocation based on the segmentation type in the semantics of the BT segmentation syntax, according to an embodiment of the present disclosure.

[0032] Figure 7 This is a diagram illustrating a tree representation of bit allocation based on the segmentation type in the semantics of the BT segmentation syntax, according to another embodiment of this disclosure.

[0033] Figure 8 This is a diagram illustrating a tree representation of bit allocation based on the segmentation type in the semantics of the BT segmentation syntax, according to another embodiment of this disclosure.

[0034] Figure 9 This is a diagram illustrating a tree representation of bit allocation based on the segmentation type in the semantics of the BT segmentation syntax, according to another embodiment of this disclosure.

[0035] Figure 10 This is a diagram illustrating a tree representation of bit allocation based on the segmentation type in the semantics of the BT segmentation syntax, according to another embodiment of this disclosure.

[0036] Figure 11 This is a flowchart illustrating a method for determining a second segmentation by a video decoding device based on constraints according to an embodiment of the present disclosure.

[0037] Figure 12 This is a flowchart illustrating a method for determining a second segmentation by a video decoding device based on constraints according to an embodiment of the present disclosure.

[0038] Figure 13 This is an example of dividing a given block BT into three regions and two regions.

[0039] Figure 14 This is a flowchart illustrating the handling of a BT exception where the video decoding device fails to send a signal to the second binary number of BT_split_flag. Detailed Implementation

[0040] In the following description, some embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. It should be noted that when reference numerals are added to the constituent elements in the corresponding drawings, the same reference numerals designate the same elements, even though these elements are shown in different drawings. Furthermore, in the following description of the present disclosure, detailed descriptions of known functions and configurations incorporated herein will be omitted where such detailed descriptions would make the subject matter of the invention quite unclear.

[0041] The techniques described below can be used in video signal processing devices configured to encode and / or decode video signals. Generally, a video signal refers to an image signal or sequence of pictures that the eye can recognize. However, in this specification, the term "video signal" may be used to refer to a bit sequence representing an encoded picture or a bit stream corresponding to that bit sequence. A picture may refer to an arrangement of samples and may be referred to as a frame, image, etc. More specifically, a picture may refer to a two-dimensional array of samples or a two-dimensional sample array. A sample may refer to the smallest unit constituting a picture and may be referred to as a pixel, picture element, or picometer. A sample may include a luminance component (luminance) and / or a chrominance component (chrominance). In this specification, "coding" may be used to refer to encoding, or may be collectively referred to as encoding / decoding.

[0042] An image may contain at least one slice, and a slice may contain at least one block. For purposes such as parallel processing or resynchronization of decoding when the bitstream is corrupted due to data loss, a slice may be configured to include an integer number of blocks, and each slice may be encoded independently. A block may contain at least one sample, and may refer to the arrangement of samples. The size of a block may be less than or equal to the size of the image. A block may be referred to as a unit. The image currently being encoded may be referred to as the current image, and the block currently being encoded may be referred to as the current block.

[0043] A Coding Unit (CTU) or Coding Block (CTB) is the most basic unit that makes up an image. It can be divided into coding blocks in a quadtree structure based on the image texture to improve coding efficiency. A Coding Block (CB) or Coding Unit (CU) can be the basic unit for performing coding, and intra-frame coding or inter-frame coding can be performed based on the CB. Intra-frame coding can refer to coding using intra-frame prediction, which can refer to performing prediction using samples included in the same image or slice. Inter-frame coding can refer to coding using inter-frame prediction, which can refer to performing prediction using samples included in an image different from the current image. A block encoded using intra-frame coding or in intra-frame prediction mode can be called an intra-frame block, and a block encoded using inter-frame coding or in inter-frame prediction mode can be called an inter-frame block. Furthermore, a coding mode using intra-frame prediction can be called an intra-frame mode, and a coding mode using inter-frame prediction can be called an inter-frame mode.

[0044] The technology disclosed herein relates to various block segmentation shapes, syntaxes representing various block segmentation types, and syntax elements represented at their higher levels.

[0045] Figure 2 This is an exemplary block diagram of a video encoding device capable of implementing the technology disclosed herein.

[0046] The video encoding device includes a block divider 210, a predictor 220, a subtractor 230, a transformer 240, a quantizer 245, an encoder 250, an inverse quantizer 260, an inverse transformer 265, an adder 270, a filter unit 280, and a memory 290. Each component of the video encoding device can be implemented as a hardware chip or as software, and a microprocessor can be implemented to execute the software functions corresponding to the respective component.

[0047] Block segmenter 210 divides each image constituting the video into multiple coding tree units (CTUs), and then uses a tree structure to recursively segment the CTUs. The leaf nodes in the tree structure are coding units (CUs), which are the basic units of coding. A quadtree (QT) structure in which nodes (or parent nodes) are divided into four child nodes (or child nodes) of the same size, or a quadtree plus binary tree (QTBT) structure combining a QT structure and a binary tree (BT) structure in which nodes are divided into two child nodes, can be used as the tree structure.

[0048] In a Quadtree Plus Binary Tree (QTBT) structure, the CTU can be partitioned first according to the QT structure. Quadtree partitioning can be repeated until the size of the partitioned blocks reaches the minimum block size (MinQTSize) allowed for leaf nodes in the QT. If the leaf node of the QT is not larger than the maximum block size (MaxBTSize) allowed for the root node in the BT, it can be further partitioned into a BT structure. BT can have various partitioning types. Figure 3 This is a diagram illustrating the BT partitioning types proposed in this disclosure. For example, in some examples, there can be two partitioning types: one that horizontally partitions a given block into two blocks of the same size (i.e., symmetrical horizontal partitioning) and another that vertically partitions a given block into two blocks of the same size (i.e., symmetrical vertical partitioning). Figure 3 (Indicated by 1 / 2). Additionally, there can be a segmentation type that divides a given block into two asymmetric blocks. Asymmetric segmentation can include dividing a given block into two rectangular blocks with a size ratio of 1:3 (in...). Figure 3 (Indicated by 1 / 4), the given block is divided into two rectangular blocks with a size ratio of 3:1 (in the middle). Figure 3 (Indicated by 3 / 4), or divide the given block into three rectangular blocks in a 1:2:1 ratio (in the text). Figure 3 (Indicated by tri(1 / 4 & 3 / 4)). It can also include smaller asymmetric divisions with ratios other than 1:3 and 3:1 (e.g., 1:7, 7:1, etc.).

[0049] The segmentation information generated by the block segmenter 210 by segmenting the CTU according to the QTBT structure is encoded by the encoder 250 and sent to the video decoding device.

[0050] In the following text, the block corresponding to the CU to be encoded or decoded (i.e., the leaf node of QTBT) is referred to as the "current block".

[0051] Predictor 220 generates a prediction block by predicting the current block. Predictor 220 includes an intra-frame predictor 222 and an inter-frame predictor 224.

[0052] Intra-predictor 222 uses pixels (reference pixels) surrounding the current block in the current image, including the current block, to predict pixels in the current block. Multiple intra-prediction modes exist depending on the prediction direction, and the surrounding pixels and the equations to be used are defined differently for each prediction mode. Specifically, intra-predictor 222 can determine the intra-prediction mode to be used for encoding the current block. In some examples, intra-predictor 222 can encode the current block using multiple intra-prediction modes and select the appropriate intra-prediction mode to use from the tested modes. For example, intra-predictor 222 can use rate-distortion analysis of multiple tested intra-prediction modes to calculate rate-distortion values ​​and can select the intra-prediction mode with the best rate-distortion characteristics from the tested modes.

[0053] Inter-frame predictor 224 searches for the most similar block to the current block in a reference image that was encoded and decoded earlier than the current image, and uses the searched block to generate a predicted block for the current block. Then, the inter-frame predictor generates a motion vector corresponding to the displacement between the current block in the current image and the predicted block in the reference image. Information including information about the reference image and motion information used to predict the motion vector for the current block is encoded by encoder 250 and sent to the video decoding device.

[0054] Subtractor 230 subtracts the prediction block generated by intra-predictor 222 or inter-predictor 224 from the current block to generate a residual block.

[0055] Transformer 240 transforms the residual signal in the residual block with pixel values ​​in the spatial domain into transform coefficients in the frequency domain. Transformer 240 can transform the residual signal in the residual block by using the size of the current block as the transform unit, or it can divide the residual block into multiple smaller sub-blocks and transform the residual signal with transform units corresponding to the size of the sub-blocks. Various methods can exist for dividing the residual block into smaller sub-blocks. For example, the residual block can be divided into sub-blocks of the same predefined size, or it can be divided in the form of a quadtree (QT) with the residual block as the root node.

[0056] Quantizer 245 quantizes the transformation coefficients output from converter 240 and outputs the quantized transformation coefficients to encoder 250.

[0057] Encoder 250 uses an encoding scheme such as CABAC to encode the quantized transform coefficients to generate a bitstream. Encoder 250 encodes information associated with block segmentation, such as block segmentation parameters (MinBtSizeY, SymMinBtSizeY, AsymMinBtSizeY, MinQtSizeY, MaxBtSizeY, CtbSizeY), QT segmentation flags, and BT segmentation flags, so that the video decoding device segments blocks in the same way as the video encoding device.

[0058] The encoder 250 encodes information related to the prediction type, which indicates whether the current block is encoded by intra-frame prediction or inter-frame prediction, and encodes the intra-frame prediction information or inter-frame prediction information according to the prediction type.

[0059] Inverse quantizer 260 inverse quantizes the quantized transform coefficients output from quantizer 245 to generate transform coefficients. Inverse transformer 265 transforms the transform coefficients output from inverse quantizer 260 from the frequency domain to the spatial domain and reconstructs the residual block.

[0060] Adder 270 adds the reconstructed residual block to the prediction block generated by predictor 220 to reconstruct the current block. Pixels in the reconstructed current block are used as reference samples for performing intra-frame prediction of the next block sequentially.

[0061] Filter unit 280 performs deblocking filtering on the boundaries between reconstructed blocks to remove blocking artifacts caused by block-by-block encoding / decoding and stores the blocks in memory 290. When reconstructing all blocks in an image, the reconstructed image is used as a reference image for inter-frame prediction of blocks in subsequent images to be encoded.

[0062] The following text will describe video decoding devices.

[0063] Figure 4 This is an exemplary block diagram of a video decoding device capable of implementing the technology disclosed herein.

[0064] The video decoding device includes a decoder 410, an inverse quantizer 420, an inverse converter 430, a predictor 440, an adder 450, a filter unit 460, and a memory 470. For example... Figure 2 As with video encoding devices, each component of a video encoding device can be implemented as a hardware chip or as software, and a microprocessor can be implemented to execute the software functions corresponding to the respective components.

[0065] Decoder 410 decodes the bitstream received from the video encoding device, extracts information related to block segmentation to determine the current block to be decoded, and extracts prediction information necessary to reconstruct the current block and information about the residual signal.

[0066] Decoder 410 extracts information about the CTU size from a high-level grammar such as Sequence Parameter Set (SPS) or Picture Parameter Set (PPS), determines the size of the CTU, and segments the image into CTUs of the determined size. Then, the decoder determines that the CTU is at the highest level of the tree structure (i.e., the root node) and extracts segmentation information about the CTU to segment the CTU using a tree structure (e.g., a QTBT structure).

[0067] After determining the current block to be decoded through the segmentation tree structure, the decoder 410 extracts information related to the prediction type indicating whether the current block is predicted intra-frame or inter-frame.

[0068] When the prediction type information indicates intra-prediction, the decoder 410 extracts the syntax elements of the intra-prediction information (intra-prediction mode) related to the current block.

[0069] Decoder 410 extracts information related to the quantization transform coefficients of the current block as information related to the residual signal.

[0070] Inverse quantizer 420 performs inverse quantization on the quantized transform coefficients. Inverse transformer 430 inverse transforms the inverse quantized transform coefficients from the frequency domain to the spatial domain to reconstruct the residual signal and thereby generate the residual block of the current block.

[0071] Predictor 440 includes an intra-predictor 442 and an inter-predictor 444. The intra-predictor 442 is activated when the prediction type of the current block is intra-prediction, and the inter-predictor 444 is activated when the prediction type of the current block is inter-prediction.

[0072] Intra-predictor 442 uses the syntax elements of the intra-prediction mode extracted from decoder 410 to determine the intra-prediction mode of the current block among multiple intra-prediction modes, and uses reference samples around the current block to predict the current block based on the intra-prediction mode.

[0073] Inter-frame predictor 444 uses the syntax elements of the intra-frame prediction mode extracted from decoder 410 to determine motion information related to the current block, and uses the determined motion information to predict the current block.

[0074] Adder 450 adds the residual block output from the inverse transform to the predicted block output from the inter-frame predictor or intra-frame predictor to reconstruct the current block. Pixels in the reconstructed current block are used as reference samples for intra-frame prediction of blocks to be decoded later.

[0075] Filter unit 460 performs deblocking filtering on the boundaries between reconstructed blocks to remove block artifacts caused by block-by-block encoding, and stores the deblocked blocks in memory 470. When reconstructing all blocks in an image, the reconstructed image is used as a reference image for inter-frame prediction of blocks in subsequent images to be decoded.

[0076] The examples in this disclosure generally relate to techniques for signaling QTBT block segmentation information and techniques for determining block segments using QTBT block segmentation information. Some techniques of this disclosure can be performed by the encoder 250 of a video encoding device and / or the decoder 410 of a video decoding device. That is, for example, the encoder 250 and decoder 410 can perform the following... Figures 5 to 14 The techniques described in this disclosure are as follows. In other examples, one or more other units of the video encoding device and / or video decoding device may be additionally or alternatively used to perform the techniques of this disclosure.

[0077] First, a method for expressing QT segmentation information in a QTBT block segmentation structure will be described.

[0078] In a QTBT structure, the CTU, which serves as the root node, can be split first using QT methods. QT splits can be repeated recursively. A first flag (QT_split_flag) is used to indicate whether a given block has been split by QT. For example, as shown in Table 3, a first flag of 1 indicates that a given block has been split into four blocks of equal size, and a first flag of 0 indicates that a given block has not been split by QT.

[0079] [Table 3]

[0080] QT dividing flag value Undivided 0 segmentation 1

[0081] Figure 5 This is a diagram illustrating quadtree splitting and an example of the tree structure representing quadtree splitting. The "0" or "1" marked on each node is the value of `QT_split_flag`, indicating whether the corresponding node was split by QT. Figure 5 In (b), the nodes marked in gray are leaf nodes of QT and are no longer split by QT. Here, the QT_split_flag of the block is signaled in z-scan order. In other words, it is signaled in the order of "depth-first search". Figure 5 The nodes in the tree structure illustrated in (b). As mentioned above, leaf nodes of the QT in the QTBT partitioning structure can also be partitioned in the BT structure. That is, BT partitioning can be recursively performed on blocks that have already been partitioned by QT. There may be multiple partitioning types in BT. For example, in some examples, there may be instances where a given block is horizontally or vertically partitioned into two blocks of the same size (in... Figure 3The type is represented by 1 / 2. Additionally, there can be types that divide a given block into two asymmetric blocks. Asymmetric partitioning can include dividing a given block into two rectangular blocks with a size ratio of 1:3 (in...). Figure 3 (Indicated by 1 / 4) and dividing the given block into two rectangular blocks with a size ratio of 3:1 (in) Figure 3 (Indicated by 3 / 4). Asymmetric partitioning can also include dividing a given block into three rectangular blocks in a 1:2:1 size ratio (in...). Figure 3 (Used as "1 / 4 & 3 / 4" in Chinese).

[0082] A second flag (BT_split_flag) can be used as BT splitting information for a given block. Since the shape of a BT split block varies depending on the splitting direction and splitting type, the second flag (BT_split_flag) can specify whether a given block has been BT split, and also specify the splitting direction and splitting type in the case of BT splitting.

[0083] 1. Semantics of BT segmentation syntax

[0084] First Implementation Method

[0085] In this implementation, it is assumed that the 1 / 2 type occurs most frequently among the four partition types, so the fewest bits can be allocated to the 1 / 2 type, while more bits can be allocated to the 3 / 4 and tri types. Figure 6 This is a diagram illustrating a tree representation of bit allocation based on segmentation type. Table 4 shows examples of the semantics of the BT segmentation syntax (i.e., the codeword for each segmentation type of the BT segmentation flag) according to this implementation.

[0086] [Table 4]

[0087]

[0088]

[0089] Second Implementation Method

[0090] In this implementation, it is assumed that type 1 / 2 is in Figure 3 The most frequent of the four partition types illustrated is the 1 / 2 type, which can allocate the fewest bits, while the 1 / 4 and 3 / 4 types can allocate more bits. Figure 7 This is a tree representation illustrating bit allocation based on segmentation type. Table 5 shows examples of the semantics of the BT segmentation syntax (i.e., codewords for each segmentation type of the BT segmentation flag) according to this implementation. The first bit in the codeword in Table 5 can indicate whether a given block is BT segmented. When BT segmentation is performed, the first bit can specify the segmentation direction, and the remaining bits specify the segmentation type.

[0091] [Table 5]

[0092] BT segmentation flag Typing No_split 0 Split_Hor_1 / 2 100 Split_Hor_1 / 4 10110 Split_Hor_3 / 4 10111 Split_Hr_Tri 1010 Split_Ver_1 / 2 110 Split_Ver_1 / 4 11110 Split_Ver_3 / 4 11111 Split_Ver_Tri 1110

[0093] Third Implementation Method

[0094] In this implementation, assuming that the four segmentation types are evenly distributed (i.e., their occurrence frequencies are similar), a method is proposed to allocate the same number of bits to each segmentation type. Figure 8 A tree representation of bit allocation based on segmentation type is illustrated. Here, the positions of these four segmentation types can be switched. Table 6 shows examples of the semantics of the BT segmentation syntax (i.e., the codewords for each segmentation type of the BT segmentation flag) according to this implementation. Here, when the positions of these four segmentation types are switched, the bit structure of the codewords for each segmentation type changes accordingly.

[0095] [Table 6]

[0096] BT segmentation flag Typing No_split 0 Split_Hor_1 / 2 1000 Split_Hor_1 / 4 1001 Spit_Hor_3 / 4 1010 Split_Hor_Tri 1011 Split_Ver_1 / 2 1100 Split_Ver_1 / 4 1101 Split_Ver_3 / 4 1110 Split_Ver_Tri 1111

[0097] Fourth Implementation Method

[0098] This implementation method relates to when Figure 3 The signaling method for BT segmentation is illustrated using only three segmentation types (1 / 2, 1 / 4, and 3 / 4) other than the Tri type, among the four segmentation types. In this implementation, it is assumed that the 1 / 2 type occurs most frequently among these three segmentation types, so the fewest bits can be allocated to the 1 / 2 type, while more bits can be allocated to the 1 / 4 and 3 / 4 types. Figure 9 A tree representation of bit allocation based on segmentation type is illustrated. Table 7 shows examples of the semantics of the BT segmentation syntax (i.e., the codewords of the BT segmentation flags) according to this implementation.

[0099] [Table 7]

[0100] BT segmentation flag Typing No_split 0 Split_Hor_1 / 2 100 Split_Hor_1 / 4 1010 Split_Hor_3 / 4 1011 Split_Ver_1 / 2 110 Split_Ver_1 / 4 1110 Split_Ver_3 / 4 1111

[0101] Fifth Implementation Method

[0102] This implementation method relates to when Figure 3 The signaling method for the BT segmentation type is illustrated using only two of the four segmentation types (1 / 2 and Tri) besides the 1 / 4 and 3 / 4 types. In this embodiment, a method is proposed to allocate the same number of bits to the two segmentation types, assuming that the two segmentation types occur at similar frequencies. Figure 10This is a diagram illustrating a tree representation of bit allocation based on the segmentation type. Table 8 shows examples of the semantics of the BT segmentation syntax (i.e., the codewords of the BT segmentation flags) according to this implementation.

[0103] [Table 8]

[0104] BT segmentation flag Typing No_split Split_Hor_1 / 2 100 Split_Hor_Tri 101 Split_Ver_1 / 2 110 Split_Ver_Tri 111

[0105] 2. Recursive BT partitioning constraint

[0106] Typically, Bit-Based (BT) segmentation has a hierarchical structure and is recursively segmented. According to one aspect of this disclosure, constraints are proposed on the BT structure of such recursive segmentation to reduce the number of bits required to represent the syntax of the segmentation type. Conditional BT segmentation methods with various constraints will be described below. In the examples described below, it is assumed that the BT segmentation type consists of four types, which include… Figure 3 Examples of the 1 / 2, 1 / 4, 3 / 4 and Tri types are shown in the figure.

[0107] Partition constraint #1

[0108] One method of Bit partitioning is to... Figure 3 One or more of the types 1 / 4, 3 / 4, and Tri (except 1 / 2) are designated as leaf nodes. In other words, when a given block is partitioned by BT into a partition type designated as a leaf node, the sub-blocks of the given block are no longer partitioned. Therefore, apart from the partition information about the given block, there is no need to signal the partition information about the sub-blocks (indicating no partitioning).

[0109] For example, in the general case without such constraints, when a given block is horizontally split by BT in the form of a 1 / 4 type and one of the sub-blocks is "unsplit", the bits representing these splits are "1010" (split_hor_1 / 4) and "0" (unsplit), according to codewords illustrated in, for example, Table 2. However, under the constraint that the 1 / 4 type is restricted to leaf nodes, the bits for the split are represented as "1010" (split_hor_1 / 4), and the bits for "0" (unsplit) are no longer needed. Therefore, this disclosure can reduce the number of bits through the split constraint.

[0110] Partition constraint #2

[0111] As an alternative to Bit-and-Between (BT) partitioning, when performing a 1 / 2 type block partition, the general BT partitioning method can be repeatedly applied after the block is partitioned. When performing a 1 / 4, 3 / 4, or Tri type block partition, a finite partitioning scheme is applied to the partitioned block in the next partition. Here, a finite partitioning scheme means that when the current BT partition type is a vertical partition (one of 1 / 4, 3 / 4, or Tri types), the next BT partition type is limited to a horizontal partition, and when the current BT partition type is a horizontal partition (one of 1 / 4, 3 / 4, or Tri types), the next BT partition type is limited to a vertical partition.

[0112] For example, in the general case without such constraints, when a 1 / 4 type split occurs horizontally and then one of the sub-blocks is vertically split in a 1 / 2 type manner, the bits representing these splits are "1010" (split_hor_1 / 4) and "110" (split_ver_1 / 2) according to the codewords listed in, for example, Table 2. In Table 2, the codeword indicating the split_ver_1 / 2 split ("110") consists of a "1" indicating the split, a "1" indicating "vertical", and a "0" indicating the 1 / 2 type. However, the next split after the horizontal 1 / 4 split is constrained by the vertical split constraint, and the bits representing these splits are "1010" (split_hor_1 / 4) and "10" (split_ver_1 / 2). That is, the "vertical" bit is not needed. As a result, the split_ver_1 / 2 split type is represented as "10". Thus, one bit is saved.

[0113] Table 9 summarizes the new codewords of the corresponding segmentation types according to the constraints of the present invention imposed in the first to fifth embodiments related to Tables 2 to 6, and... Figure 11 The flowchart illustrates a method for determining a second segment by a video decoding device according to the constraints of the present invention.

[0114] [Table 9]

[0115] BT segmentation flag First Implementation Method Second Implementation Method Third Implementation Method Fourth Implementation Method Fifth Implementation Method No_split 0 0 0 0 0 Split_1 / 2 10 10 100 10 10 Split_1 / 4 110 1110 101 110 - Split_3 / 4 1110 1111 110 111 - Split_Tri 1111 110 111 - 11

[0116] Figure 11 An example is given of a method for determining the BT partitions of sub-blocks after a given block has been partitioned by the Bit-Block Strategies (BBS), wherein a first block partition indicates the BBS partition of the given block, and a second partition indicates the BBS partition of the sub-blocks. For example... Figure 11As illustrated, the video decoding device first parses the first binary number (i.e., the first bit) of BT_split_flag (S1110). The first binary number of BT_split_flag indicates whether the sub-block is further split by BT. When the first binary number is 0 ("No" in S1120), the sub-block is not split by BT, and the splitting of the sub-block terminates. When the first binary number is 1 ("Yes" in S1120), the sub-block is split by BT, and the video decoding device determines whether a first block split has occurred in the vertical direction (S1130). When a first block split has occurred in the vertical direction ("Yes" in S1130), it can be inferred that the second block split (i.e., the BT split of the sub-block) is a horizontal split according to splitting constraint #2. Therefore, the video decoding device parses the remaining binary numbers of BT_split_flag to determine one of the four splitting types in the horizontal direction (S1260). When the first block split occurs in the horizontal direction ("No" in S1130), it can be inferred that the second block split (i.e., the BT split of the sub-block) is a split in the vertical direction according to split constraint #2. Therefore, the video decoding device parses the remaining binary number of BT_split_flag to determine one of the four split types in the vertical direction (S1260).

[0117] Partition constraint #3

[0118] Another restrictive BT partitioning scheme is to limit the partition type, such that when a block is partitioned according to one of the 1 / 4, 3 / 4, and Tri types, only the 1 / 2 partition type is allowed for the next partition. In other words, when the current BT partition is of the 1 / 4, 3 / 4, or Tri type, only the 1 / 2 partition type is allowed as the next BT partition type.

[0119] For example, in the general case without such constraints, when a 1 / 4 type split occurs horizontally and then one of the sub-blocks is vertically split in a 1 / 2 type manner, the bits representing these splits are represented as "1010" (split_hor_1 / 4) and "110" (split_ver_1 / 2) according to the codewords listed in, for example, Table 2. In Table 2, the codeword indicating a split_ver_1 / 2 split ("110") consists of a "1" indicating the split, a "1" indicating "vertical", and a "0" indicating the 1 / 2 type. However, if the next split after the horizontal 1 / 4 type split is constrained to the 1 / 2 type, the bits representing these splits are represented as "1010" (split_hor_1 / 4) and "11" (split_ver_1 / 2). That is, the bit indicating "1 / 2" is not needed. As a result, the split_ver_1 / 2 type is represented as "11". Thus, one bit is saved.

[0120] Table 10 summarizes the new codewords for the corresponding segmentation types according to the constraints of the present invention applied in the first to fifth embodiments, and... Figure 12 The flowchart illustrates a method for determining a second segment by a video decoding device according to the constraints of the present invention.

[0121] [Table 10]

[0122] BT_split_flag First Implementation Method Second Implementation Method Third Implementation Method Fourth Implementation Method Fifth Implementation Method No_split 0 0 0 0 0 Split_Hor 10 10 10 10 10 Split_Ver 11 1 11 11 11

[0123] like Figure 12 As illustrated, the video decoding device first parses the first binary number (i.e., the first bit) of BT_split_flag (S1210). The first binary number of BT_split_flag indicates whether the sub-block is to be further split by BT. When the first binary number is 0 ("No" in S1220), the sub-block is not split by BT, and the splitting of that sub-block is terminated. When the first binary number is 1 ("Yes" in S1220), the sub-block is split by BT, and the video decoding device parses the second binary number (i.e., the second bit) of BT_split_flag (S1230). The second binary number of BT_split_flag indicates whether the splitting direction of the second block split (i.e., the BT split of the sub-block) is horizontal or vertical. According to splitting constraint #2, a 1 / 2 type split is allowed as the type of the second block split. Therefore, when the second binary number of BT_split_flag indicates a horizontal split, it can be inferred that the second block split is split_hor_1 / 2. Similarly, when the second binary number of BT_split_flag indicates a split in the vertical direction, it can be inferred that the second block is split_ver_1 / 2 (S1240).

[0124] Partition constraint #4

[0125] Another BT splitting method applies directional constraints and allows only 1 / 2 type splits. For example, when the current BT splitting type is a vertical split (one of 1 / 4, 3 / 4, and Tri types), the next BT splitting type is limited to a horizontal 1 / 2 type split. Conversely, when the current BT splitting type is a horizontal split (one of 1 / 4, 3 / 4, and Tri types), the next BT splitting type is limited to a vertical 1 / 2 type split. Finally, the semantics of the BT_split_flag syntax for this restricted splitting type are no split ("0") and split ("1"), where "split" can refer to a horizontal or vertical 1 / 2 type split, depending on the previous BT splitting type.

[0126] For example, in the general case without such constraints, when a 1 / 4 type split occurs vertically, and then one of the sub-blocks undergoes a 1 / 2 type vertical split, the bits representing these splits are represented as "1010" (split_hor_1 / 4) and "110" (split_ver_1 / 2) according to the codewords listed in, for example, Table 2. In Table 2, the codeword indicating a split_ver_1 / 2 split ("110") consists of a "1" indicating the split, a "1" indicating "vertical", and a "0" indicating the 1 / 2 type. However, when the splits following a horizontal 1 / 4 type split are limited to a vertical 1 / 4 type split, the bits representing these splits are represented as "1010" (split_hor_1 / 4) and "1" (split_ver_1 / 2). That is, there is no need for bits indicating the vertical and 1 / 2 types. As a result, the split_ver_1 / 2 type is represented as "1". Thus, 2 bits are saved.

[0127] Table 11 summarizes the new codewords for the corresponding segmentation types based on segmentation constraint $4 for all five implementations above.

[0128] [Table 11]

[0129] BT_split_flag First Implementation Method Second Implementation Method Third Implementation Method Fourth Implementation Method Fifth Implementation Method No_split 0 0 0 0 0 Split 1 1 1 1 1

[0130] By restricting the segmentation to a recursive segmentation type of BT as described above, bits indicating directionality and / or bits indicating type can be saved. As can be seen from Tables 9 to 11, fewer bits can be allocated by constraining the bit type rather than the codeword used for general block segmentation types. In the segmentation constraints #2 to #4 described above, constraints are imposed on the second segmentation after the first segmentation (one of the 1 / 4, 3 / 4, or Tri types). The block after the first segmentation has the following characteristics: Figure 13 The shape shown is used, and the block is divided into three or two parts according to the first partition type. For example, when the first partition is of type Tri, the block is divided into three sub-blocks A, B, and C, as shown. Figure 13 As shown in (a). When the first partition is of type 1 / 4 or 3 / 4, the block is divided into two sub-blocks A and B, as shown in (a). Figure 13 As shown in (b).

[0131] like Figure 13 As shown, a second segmentation following the first segmentation can be applied to each of the (two or three) sub-blocks, or the same segmentation can be applied to all sub-blocks. For example, in... Figure 13 In the case shown in (a), where the block is divided into three sub-blocks, when it is assumed that all sub-blocks undergo the same segmentation, the segmentation type of the three sub-blocks can be represented by representing the segmentation information only once. Conversely, in the case shown in (a), the segmentation type of the three sub-blocks can be represented by representing the segmentation information only once. Figure 13 In the case shown in (a), where the block is divided into three sub-blocks, if each of the sub-blocks is assumed to be divided independently, independent information about the second division is required for each of sub-blocks A, B, and C.

[0132] In this disclosure, partition constraints #2 to #4 apply to both of the aforementioned cases (i.e., applying the same partition to all sub-blocks and applying partitions separately to each sub-block). For example, in the case of partition constraint #4, when the first partition is of type Tri and partition information is generated for each of the sub-blocks (sub-block A, sub-block B, and sub-block C) in the second partition, a total of 3 bits are required, including 1 bit for the partition information about sub-block A (no partition or partition), 1 bit for the partition information about sub-block B, and 1 bit for the partition information about sub-block C. In contrast, when the first partition is of type Tri and the same partition information is generated for all sub-blocks in the second partition, only 1 bit is needed to represent the partition information about sub-block A, sub-block B, and sub-block C.

[0133] The CTU-to-CU splitting structure, the syntax (QT_split_flag and BT_split_flag) used to represent splitting information, and the semantics of this syntax (i.e., binary representation) have been described above.

[0134] 3. Parameters used for QTBT block partitioning

[0135] To more efficiently signal information related to block segmentation via the QTBT structure, the following parameters can be used. These parameters can be specified at the video, sequence, or image level.

[0136] In the QTBT block partitioning structure, the following is adopted: Figure 3 In some implementations of the BT segmentation type shown, the following parameters may be used.

[0137] -MinBtSizeY: The minimum block size allowed for leaf nodes in BitTorrent.

[0138] -MinQtSizeY: The minimum block size allowed for leaf nodes in Qt.

[0139] -MaxBtSizeY: The maximum block size allowed by BitTorrent for the root node.

[0140] -CtbSizeY: CTU size

[0141] Alternatively, in the QTBT block partitioning structure, the following can be used: Figure 3 In some implementations of the BT segmentation type shown, the parameters listed below can be used. Here, it is assumed that... Figure 3 The 1 / 2 type is classified as a symmetric type, the 1 / 4 and 3 / 4 types are classified as asymmetric types, and the Tri type divides the middle block symmetrically and the blocks on both sides asymmetrically.

[0142] -SymMinBtSizeY: Minimum block size of BT leaf nodes generated by symmetric partitioning.

[0143] -AsymMinBtSizeY: Minimum block size of BT leaf nodes generated by asymmetric partitioning.

[0144] -MinQtSizeY: The minimum block size allowed for leaf nodes in Qt.

[0145] -MaxBtSizeY: The maximum block size allowed for the root node in BitTorrent.

[0146] -CtbSizeY: CTU size

[0147] The parameters used for the size of these blocks allow for a more efficient representation of information related to block partitioning via the QTBT structure, as follows: Here, MinBtSizeY indicates the minimum size of the CU. Therefore, AsymMinBtSizeY can represent MinBtSizeY when the CU is partitioned symmetrically and asymmetrically. Alternatively, in some cases, SymMinBtSizeY can represent MinBtSizeY.

[0148] (1) When CtbSizeY is greater than the predefined or predetermined maximum transform size, the video encoding device does not encode the segmentation information (QT_split_flag) related to the QT for the corresponding CTB block, and the video decoding device automatically sets it to 1. That is, the given CTB is unconditionally QT-segmented up to the maximum transform size. The maximum transform size can be predefined as a default value, or it can be signaled as a semantic element in the header.

[0149] (2) Bit-Between splitting (BT) is not allowed in QT for blocks larger than MaxBtSizeY. Therefore, when the size of a leaf node in QT is larger than MaxBtSizeY, it can be inferred that the block is not allowed to be split by BT. Consequently, the video encoding device does not send a signal to notify the BT-related splitting information (QT_split_flag) for the block. When a given block is a leaf node of QT and its size is larger than MaxBtSizeY, the video decoding device neither decodes the BT_split_flag nor further splits the corresponding block. That is, the video decoding device determines the block as a leaf node (i.e., CU) of QTBT.

[0150] (3) In QT, blocks of the same size as MinQtSizeY are no longer split. Therefore, the video encoding device does not encode the QT splitting information (QT_split_flag) for the block. That is, when a block is split into a size of MinQtSizeY through repeated QT splits, the block is neither further split by QT nor encoded with the QT splitting information for that block. Here, the QT splitting information indicates no split ("0") and is not encoded. Furthermore, when a block is split into a size of MinQtSizeY through repeated QT splits, the video decoding device neither decodes the QT splitting information (QT_split_flag) for that block (i.e., the device automatically sets it to 0) nor performs further QT splits on that block.

[0151] (4) When the width and height of a given block are both equal to MinBtSizeY (including SymMinBtSizeY or AsymMinBtSizeY) during BT splitting, no further BT splitting will be performed. Therefore, the video encoding device does not encode the splitting information (BT_split_flag) for the BT of the given block, but automatically sets it to 0. That is, when the width and height of a block are split into the size of MinBtSizeY during repeated QT splitting, the video decoding device does not decode the splitting information (QT_split_flag) for the BT used for that block (i.e., the device automatically sets it to 0), but instead identifies the block as a leaf node (i.e., CU) of the QTBT.

[0152] (5) When the width or height of a given block is equal to MinBtSizeY and the first binary number of BT_split_flag is "1", it can be inferred whether the BT split direction of the given block is horizontal or vertical. Therefore, the second binary number of BT_split_flag, which indicates the BT split direction, is not needed. That is, when the width of a given block is equal to MinBtSizeY and the first binary number of BT_split_flag is "1", it can be inferred that the BT split of the given block is horizontal ("0"), so the encoding / decoding device does not encode / decode the second binary bit of BT_split_flag used for the given block. In contrast, when the height of a given block is equal to MinBtSizeY and the first binary number of BT_split_flag is "1", it can be inferred that the BT split of the given block is vertical ("1"), so the encoding / decoding device does not encode / decode the second binary bit of BT_split_flag used for the given block. Figure 14 This is a flowchart illustrating the handling of a BT exception where the video decoding device fails to send a signal to the second binary number of BT_split_flag.

[0153] like Figure 14As illustrated, the video decoding device first parses the first binary number (i.e., the first bit) of BT_split_flag (S1410). The first binary number of BT_split_flag indicates whether the sub-block is further split by BT. When the first binary number is 0 ("No" in S1420), the given block is not split by BT, and the splitting of the given block is terminated as is. When the first binary number is 1 ("Yes" in S1420), the sub-block is split by BT, and the video decoding device determines whether the width of the block is equal to MinBtSizeY (S1430). When the width of the given block is equal to MinBtSizeY ("Yes" in S1430), the device infers that the BT splitting direction of the given block is horizontal, and parses the remaining binary numbers to determine the splitting type (i.e., ...). Figure 3 (one of the types of (b)) (S1480). When the width of the given block is not equal to MinBtSizeY ("No" in S1430), the device also determines whether the height of the given block is equal to MinBtSizeY. When the height of the given block is equal to MinBtSizeY ("Yes" in S1440), the device infers that the BT segmentation direction of the given block is vertical and parses the remaining binary numbers to determine the segmentation type (i.e., Figure 3 (S1480) One of the types of (a). When the height of the given block is not equal to MinBtSizeY ("No" in S1440), parse the second binary number of BT_split_flag. In this case, the second binary number indicates the BT split direction of the given block. Parse the remaining binary numbers to determine the given split type (S1480).

[0154] 4. High-Level Syntax (HLS)

[0155] As mentioned above, these parameters can be specified at the video, sequence, or picture level. Therefore, information representing these parameters can be included in high-level headers, which include Sequence Parameter Sets (SPS), Picture Parameter Sets (PPS), and Video Parameter Sets (VPS). The high-level syntax (HLS) for efficiently representing these parameters is provided in the following description.

[0156] First Embodiment (HLS)

[0157] The syntax elements proposed in this implementation are given below. Considering that the block size can be represented as a power of 2, the following syntax elements are represented as the logarithm of the actual value defined to the base 2.

[0158] 1) log2_luma_min_BT_size_minus1: The minimum BT block size allowed in the BT based on the luma block definition (minimum BT block size).

[0159] 2) log2_diff_luma_min_QT_min_BT_size: The difference between the minimum block size allowed in the leaf nodes of QT (minimum QT block size) and the minimum block size allowed in BT (minimum BT block size) based on the luma block definition (minimum QT block size - minimum BT block size).

[0160] 3) log2_diff_luma_max_BT_min_QT_size: The difference between the maximum block size of the root node allowed in the BT (maximum BT block size) and the minimum block size of the leaf node allowed in the QT (minimum QT block size) based on the luma block definition (maximum BT block size - minimum QT block size).

[0161] 4) log2_diff_luma_max_QT_max_BT_size: The difference between the maximum block size allowed in QT (maximum QT block size) and the maximum block size of the root node allowed in BT (maximum BT block size) based on the luma block definition (maximum QT block size - maximum BT block size: i.e., the size of the CTU block).

[0162] Table 12 provides an example of the syntax elements defined in the Sequence Parameter Set (SPS) header. As mentioned above, syntax elements can be defined in the Picture Parameter Set (PPS) header, etc.

[0163] [Table 12]

[0164] seq_parameter_set_rbsp(){ descriptor ... log2_luma_min_BT_size_minus1 ue(v) log2_diff_luma_min_QT_min_BT_size ue(v) log2_diff_luma_max_BT_min_QT_size ue(v) log2_diff_luma_max_QT_max_BT_size ue(v) ...

[0165] From the above syntax elements, we derive Equation 5 to give the actual size of the minimum BT luminance block (MinBtSizeY), Equation 6 to give the actual size of the minimum QT block (MinQtSizeY), Equation 7 to give the actual size of the maximum QT block (MaxBtSizeY), and Equation 8 to give the actual CTU size (CtbSizeY).

[0166] MinBtLog2SizeY=log2_luma_min_BT_size_minus2+2

[0167] MinQtLog2SizeY=MinBtLog2SizeY+log2_diff_luma_min_QT_min_BT_size

[0168] MaxBtLog2SizeY=MinQtLog2SizeY+log2_diff_luma_max_BT_min_QT_size

[0169] CtbLog2SizeY=MaxBtLog2SizeY+log2_diff_luma_max_QT_max_BT_size

[0170] MinBtSizeY=1< <MinBtLog2SizeY (5)

[0171] MinQtSizeY = 1 <MinQtLog2SizeY (6)

[0172] MaxBtSizeY=1< <MaxBtLog2SizeY (7)

[0173] CtbSizeY = 1 <CtbLog2SizeY (8)

[0174] Second Implementation (HLS)

[0175] The syntax elements proposed in this implementation are given below.

[0176] 1) log2_sym_luma_min_BT_size_minus2: Based on symmetric segmentation of luma blocks, defines the minimum allowed block size in BT (the minimum symmetric BT block size).

[0177] 2) log2_asym_luma_min_BT_size_minus1: Defines the minimum allowed block size in BT (minimum BT block size for asymmetric segmentation) based on asymmetric luma blocks.

[0178] 3) log2_diff_luma_min_QT_min_BT_size: Defines the difference between the minimum BT block size and the minimum QT block size (minimum QT block size - symmetric minimum BT block size).

[0179] 5) log2_diff_luma_max_BT_min_QT_size: The difference between the maximum block size of the root node allowed in the BT (maximum BT block size) and the minimum block size of the leaf node allowed in the QT (minimum QT block size) based on the luma block definition (maximum BT block size - minimum QT block size).

[0180] 6) log2_diff_luma_max_QT_max_BT_size: The difference between the maximum block size allowed in the QT (maximum QT block size) and the maximum block size allowed in the root node of the BT (maximum BT block size) based on the luma block definition (maximum QT block size - maximum BT block size: i.e., the size of the CTU block).

[0181] Table 13 provides an example of the syntax elements defined in a Sequence Parameter Set (SPS). As mentioned above, syntax elements can be defined in a Picture Parameter Set (PPS), etc.

[0182] [Table 13]

[0183] seq_parameter_set_rbsp(){ descriptor ... log2_sym_luma_min_BT_size_minus2 ue(v) log2_asym_luma_min_BT_size_minus1 ue(v) log2_diff_luma_min_QT_min_BT_size ue(v) log2_diff_luma_max_BT_min_QT_size ue(v) log2_diff_luma_max_QT_max_BT_size ue() ...

[0184] From the above grammatical elements, we derive the following formulas: Equation 9 gives the actual size of the symmetrical minimum BT luminance block (SymMinBtSizeY), Equation 10 gives the size of the asymmetrical minimum BT block (AsymMinBtSizeY), Equation 11 gives the size of the minimum QT block (MinQtSizeY), Equation 12 gives the size of the maximum BT block (MaxBtSizeY), and Equation 13 gives the CTU size (CtbSizeY).

[0185] SymMinBtLog2SizeY=log2_sym_luma_min_BT_size_minus2+2

[0186] AsymMinBtLog2SizeY=log2_asym_luma_min_BT_size_minus1+1

[0187] MinQtLog2SizeY=SymMinBtLog2SizeY+log2_diff_luma_min_QT_min_BT_size

[0188] MaxBtLog2SizeY=MinQtLog2SizeY+log2_diff_luma_max_BT_min_QT_size

[0189] CtbLog2SizeY=MaxBtLog2SizeY+log2_diff_luma_max_QT_max_BT_size

[0190] SymMinBtSizeY=1< <SymMinBtLog2SizeY (9)

[0191] AsymMinBtSizeY=1< <AsymMinBtLog2SizeY (10)

[0192] MinQtSizeY = 1 <MinQtLog2SizeY (11)

[0193] MaxBtSizeY=1< <MaxBtLog2SizeY (12)

[0194] CtbSizeY = 1 <CtbLog2SizeY (13)

[0195] Third Implementation (HLS)

[0196] The syntax elements proposed in this implementation are given below.

[0197] 1) log2_asym_luma_min_BT_size_minus1: Defines the minimum allowed block size in BT (minimum BT block size for asymmetric segmentation) based on asymmetric luma blocks.

[0198] 2) log2_diff_luma_min_QT_min_BT_size: Defines the difference between the minimum block size allowed for leaf nodes in a luma-block-based QT (minimum QT block size) and the minimum block size allowed in a symmetric-partitioned luma-block BT (symmetric minimum BT block size) (symmetric minimum QT block size - minimum BT block size).

[0199] 3) log2_diff_luma_max_BT_min_QT_size: The difference between the maximum BT block size and the minimum QT block size (maximum BT block size - minimum QT block size)

[0200] 4) log2_diff_luma_max_QT_max_BT_size: The difference between the maximum QT block size and the maximum BT block size (maximum QT block size - maximum BT block size: i.e., the size of the CTU block).

[0201] Table 13 provides an example of the syntax elements defined in SPS. As mentioned above, syntax elements can also be defined in PPS, etc.

[0202] [Table 14]

[0203] seq_parameter_set_rbsp(){ descriptor ... log2_asym_luma_min_BT_size_minus1 ue(v) log2_diff_luma_min_QT_min_BT_size ue(v) log2_diff_luma_max_BT_min_QT_size ue(v) log2_diff_luma_max_QT_max_BT_size ue(v) ...

[0204] From the above syntax elements, we derive Equation 14 to give the actual size of the symmetrical minimum BT luminance block (SymMinBtSizeY), Equation 15 to give the size of the asymmetrical minimum BT block (AsymMinBtSizeY), Equation 16 to give the size of the minimum QT block (MinQtSizeY), Equation 17 to give the size of the maximum BT block (MaxBtSizeY), and Equation 18 to give the CTU size (CtbSizeY).

[0205] SymMinBtLog2SizeY=log2_asym_luma_min_BT_size_minus1+2

[0206] AsymMinBtLog2SizeY=log2_asym_luma_min_BT_size_minus1+1

[0207] MinQtLog2SizeY=SymMinBtLog2SizeY+log2_diff_luma_min_QT_min_BT_size

[0208] MaxBtLog2SizeY=MinQtLog2SizeY+log2_diff_luma_max_BT_min_QT_size

[0209] CtbLog2SizeY=MaxBtLog2SizeY+log2_diff_luma_max_QT_max_BT_size

[0210] SymMinBtSizeY=1< <SymMinBtLog2SizeY (14)

[0211] AsymMinBtSizeY=1< <AsymMinBtLog2SizeY (15)

[0212] MinQtSizeY = 1 <MinQtLog2SizeY (16)

[0213] MaxBtSizeY=1< <MaxBtLog2SizeY (17)

[0214] CtbSizeY = 1 <CtbLog2SizeY (18)

[0215] In some examples, as described above with respect to the second embodiment, when the QT common depth of QT is expressed in any of the SPS, PPS, and title sequence, the QT common depth set at a higher level than CTU (i.e., set in SPS, PPS, or title sequence) can be the QT common depth for both luminance and chrominance in the CTU cell. In some other examples, the QT common depth for both luminance and chrominance in the CTU cell can be expressed differently than the QT common depth set above the CTU.

[0216] According to the first to third embodiments described above, parameters related to block size can be defined as video-level, sequence-level, or picture-level. In the fourth to sixth embodiments described below, additional parameters indicating the difference (i.e., offset) from the aforementioned parameters are defined in a header lower than the header used in the first to third embodiments, to provide a method for adjusting parameters at a lower level. That is, it is proposed that the syntax elements proposed in the first to third embodiments are expressed in the upper header, and syntax elements used to define the offset of the syntax elements expressed in the upper header are expressed in the lower header. Here, the upper header can be a sequence-level or picture-level header. When the upper header is a sequence-level header, the lower header can be a picture-level header or a title sequence. When the upper header is a picture-level header, the lower header can be a title sequence.

[0217] According to this method, the minimum BT block size, minimum QT block size, maximum BT block size and / or maximum QT block size can be adjusted at the corresponding level (e.g., slice level) using the syntax values ​​expressed in the lower header (e.g., title).

[0218] Fourth Implementation (HLS)

[0219] ■The grammatical elements above

[0220] The syntax elements included above are the same as those in the first embodiment.

[0221] 1)log2_luma_min_BT_size_minus1

[0222] 2)log2_diff_luma_min_QT_min_BT_size

[0223] 3)log2_diff_luma_max_BT_min_QT_size

[0224] 4)log2_diff_luma_max_QT_max_BT_size

[0225] ■The following syntax elements

[0226] The following syntax elements are included in the header.

[0227] 1) delta_log2_luma_min_BT_size: The offset of the minimum BT block size specified by the syntax element defined above, added based on the luma block definition (minimum BT block size variable).

[0228] 2) delta_log2_luma_min_QT_size: Defines the offset of the minimum QT block size specified by the syntax element defined above (minimum QT block size variable).

[0229] 3) delta_log2_luma_max_BT_size: Defines the offset of the maximum BT block size specified by the syntax element defined above (maximum BT block size variable).

[0230] 4) delta_log2_luma_max_QT_size: Defines the offset of the maximum QT block size specified by the syntax element defined above (maximum QT block size variable).

[0231] From the syntax elements above and below, we derive the actual size of the minimum BT luminance block (MinBtSizeY) using Equation 19, the actual size of the minimum QT block (MinQtSizeY) using Equation 20, the actual size of the maximum BT block (MaxBtSizeY) using Equation 21, and the actual CTU size (CtbSizeY) using Equation 22.

[0232] MinBtLog2SizeY=log2_luma_min_BT_size_minus2+2

[0233] MinQtLog2SizeY=MinBtLog2SizeY+log2_diff_luma_min_QT_min_BT_size

[0234] MaxBtLog2SizeY=MinQtLog2SizeY+log2_diff_luma_max_BT_min_QT_size

[0235] CtbLog2SizeY=MaxBtLog2SizeY+log2_diff_luma_max_QT_max_BT_size

[0236] MinBtLog2SizeY=MinBtLog2SizeY+delta_log2_luma_min_BT_size

[0237] MinQtLog2SizeY=MinQtLog2SizeY+delta_log2_luma_min_QT_size

[0238] MaxBtLog2SizeY=MaxBtLog2SizeY+delta_log2_luma_max_BT_size

[0239] CtbLog2SizeY=CtbLog2SizeY+delta_log2_luma_max_QT_size

[0240] MinBtSizeY=1< <MinBtLog2SizeY (19)

[0241] MinQtSizeY = 1 <MinQtLog2SizeY (20)

[0242] MaxBtSizeY=1< <MaxBtLog2SizeY (21)

[0243] CtbSizeY = 1 <CtbLog2SizeY (22)

[0244] Fifth Implementation (HLS)

[0245] ■The grammatical elements above

[0246] The syntax elements included above are the same as those in the second embodiment.

[0247] 1)log2_sym_luma_min_BT_size_minus2

[0248] 2)log2_asym_luma_min_BT_size_minus1

[0249] 3)log2_diff_luma_min_QT_min_BT_size

[0250] 4)log2_diff_luma_max_BT_min_QT_size

[0251] 5)log2_diff_luma_max_QT_max_BT_size

[0252] ■The following syntax elements

[0253] The following syntax elements are included in the header.

[0254] 1) delta_log2_sym_luma_min_BT_size: The offset of the minimum BT block size for symmetric segmentation, which is added to the syntax element defined above (the minimum BT block size variable for symmetric segmentation).

[0255] 2) delta_log2_asym_luma_min_BT_size: The offset of the minimum BT block size for symmetric segmentation, which is added to the syntax element defined above (the minimum BT block size variable for asymmetric segmentation).

[0256] 3) delta_log2_luma_min_QT_size: Defines the offset of the minimum QT block size specified by the syntax element defined above (minimum QT block size variable).

[0257] 4) delta_log2_luma_max_BT_size: Defines the offset of the maximum BT block size specified by the syntax element defined above (maximum BT block size variable).

[0258] 5) delta_log2_luma_max_QT_size: Defines the offset of the maximum QT block size specified by the syntax element defined above (maximum QT block size variable).

[0259] From the syntax elements above and below, we derive the actual size of the symmetrical minimum BT luminance block (SymMinBtSizeY) using Equation 23, the actual size of the asymmetrical minimum BT block (AsymMinBtSizeY) using Equation 24, the actual size of the minimum QT block (MinQtSizeY) using Equation 25, the actual size of the maximum BT block (MaxBtSizeY) using Equation 26, and the actual CTU size (CtbSizeY) using Equation 27.

[0260] SymMinBtLog2SizeY=log2_sym_luma_min_BT_size_minus2+2

[0261] AsymMinBtLog2SizeY=log2_asym_luma_min_BT_size_minus1+1

[0262] MinQtLog2SizeY=SymMinBtLog2SizeY+log2_diff_luma_min_QT_min_BT_size

[0263] MaxBtLog2SizeY=MinQtLog2SizeY+log2_diff_luma_max_BT_min_QT_size

[0264] CtbLog2SizeY=MaxBtLog2SizeY+log2_diff_luma_max_QT_max_BT_size

[0265] SymMinBtLog2SizeY=SymMinBtLog2SizeY+delta_log2_sym_luma_min_BT_size

[0266] AsymMinBtLog2SizeY=AsymMinBtLog2SizeY+delta_log2_asym_luma_min_BT_size

[0267] MinQtLog2SizeY=MinQtLog2SizeY+delta_log2_luma_min_QT_size

[0268] MaxBtLog2SizeY=MaxBtLog2SizeY+delta_log2_luma_max_BT_size

[0269] CtbLog2SizeY=CtbLog2SizeY+delta_log2_luma_max_QT_size

[0270] SymMinBtSizeY=1< <SymMinBtLog2SizeY (23)

[0271] AsymMinBtSizeY=1< <AsymMinBtLog2SizeY (24)

[0272] MinQtSizeY = 1 <MinQtLog2SizeY (25)

[0273] MaxBtSizeY=1< <MaxBtLog2SizeY (26)

[0274] CtbSizeY = 1 <CtbLog2SizeY (27)

[0275] Sixth Implementation (HLS)

[0276] The syntax elements above

[0277] The syntax elements included above are the same as those in the third embodiment.

[0278] 1)log2_asym_luma_min_BT_size_minus1

[0279] 2)log2_diff_luma_min_QT_min_BT_size

[0280] 3)log2_diff_luma_max_BT_min_QT_size

[0281] 4)log2_diff_luma_max_QT_max_BT_size

[0282] ■The following syntax elements

[0283] The following syntax elements are included in the header.

[0284] 1) delta_log2_asym_luma_min_BT_size: The offset of the asymmetric minimum BT block size specified by the syntax element defined above, based on the luma block definition (asymmetric minimum BT block size variable).

[0285] 2) delta_log2_luma_min_QT_size: Defines the offset of the minimum QT block size specified by the syntax element defined above (minimum QT block size variable).

[0286] 3) delta_log2_luma_max_BT_size: Defines the offset of the maximum BT block size specified by the syntax element defined above (maximum BT block size variable).

[0287] 4) delta_log2_luma_max_QT_size: Defines the offset of the maximum QT block size specified by the syntax element defined above (maximum QT block size variable).

[0288] From the syntax elements above and below, we derive the actual size of the symmetrical minimum BT luminance block (SymMinBtSizeY) using Equation 28, the actual size of the asymmetrical minimum BT block (AsymMinBtSizeY) using Equation 29, the actual size of the minimum QT block (MinQtSizeY) using Equation 30, the actual size of the maximum BT block (MaxBtSizeY) using Equation 31, and the actual CTU size (CtbSizeY) using Equation 32.

[0289] SymMinBtLog2SizeY=log2_asym_luma_min_BT_size_minus1+2

[0290] AsymMinBtLog2SizeY=log2_asym_luma_min_BT_size_minus1+1

[0291] MinQtLog2SizeY=SymMinBtLog2SizeY+log2_diff_luma_min_QT_min_BT_sizeMaxBtLog2SizeY=MinQtLog2SizeY+log2_diff_luma_max_BT_min_QT_size

[0292] CtbLog2SizeY=MaxBtLog2SizeY+log2_diff_luma_max_QT_max_BT_size

[0293] SymMinBtLog2SizeY

[0294] =SymMinBtLog2SizeY+delta_log2_asym_luma_min_BT_size+1

[0295] AsymMinBtLog2SizeY=AsymMinBtLog2SizeY+delta_log2_luma_min_BT_size

[0296] MinQtLog2SizeY=MinQtLog2SizeY+delta_log2_luma_min_QT_size

[0297] MaxBtLog2SizeY=MaxBtLog2SizeY+delta_log2_luma_max_BT_size

[0298] CtbLog2SizeY=CtbLog2SizeY+delta_log2_luma_max_QT_size

[0299] SymMinBtSizeY = 1 << SymMinBtLog2SizeY (28)

[0300] AsymMinBtSizeY = 1 << AsymMinBtLog2SizeY (29)

[0301] MinQtSizeY = 1 << MinQtLog2SizeY (30)

[0302] MaxBtSizeY = 1 << MaxBtLog2SizeY (31)

[0303] CtbSizeY = 1 << CtbLog2SizeY (32)

[0304] Using information related to the HLS illustrated above, the video decoding device can calculate parameters such as MinBtSizeY, SymMinBtSizeY, AsymMinBtSizeY, MinQtSizeY, MaxBtSizeY, and CtbSizeY. Based on these calculated parameters, it can infer whether to apply QT splitting or BT splitting to some (sub)blocks in the operation of determining the QTBT block splitting structure for a given CTU or CTB, without decoding QT_split_flag or BT_split_flag. For some (sub)blocks that the video decoding device can infer from these parameters, the video encoding device does not signal QT_split_flag or BT_split_flag.

[0305] While exemplary embodiments have been described for illustrative purposes, those skilled in the art will appreciate that various modifications and changes can be made without departing from the concept and scope of the embodiments. For the sake of brevity, exemplary embodiments have been described. Therefore, those skilled in the art will understand that the scope of the embodiments is not limited to those expressly described above, but is included in the claims and their equivalents.

[0306] Cross-references to related applications

[0307] This application claims priority to Korean Patent Application No. 10-2017-0065495, filed on May 26, 2017, and Korean Patent Application No. 10-2017-0097259, filed on July 31, 2017, the entire contents of which are incorporated herein by reference.

Claims

1. A method for decoding video data, the method comprising the following steps: Receive a bitstream containing encoded data for blocks of video data; Parse the first syntax element for block segmentation defined with high-level header information from the bitstream, wherein the block segmentation is based on a multi-type tree rooted from the leaf nodes of a quadtree QT, and the multi-type tree includes a binary tree BT and a ternary tree, wherein in the binary tree BT, a block corresponding to a parent node is allowed to be divided into two sub-blocks corresponding to two child nodes, and in the ternary tree, a parent node is allowed to be divided into three sub-blocks corresponding to three child nodes; The second syntax element, which is used to modify some of the first syntax elements in the first syntax element, is parsed, and the second syntax element is defined with header information belonging to the higher level; The parameters for block segmentation are calculated using the first syntax element and the second syntax element, wherein the parameters for block segmentation include a first parameter indicating the minimum block size of the leaf nodes allowed in the BT, a second parameter indicating the minimum block size of the leaf nodes allowed in the QT, a third parameter indicating the maximum block size of the root nodes allowed in the BT, and a fourth parameter indicating the block size of the video data. The third syntax element of the segmentation structure of a block of video data specified in the bitstream is parsed under constraints imposed by calculated parameters to deduce the segmentation structure of the video data block belonging to the lower level; and The sub-blocks corresponding to the leaf nodes of the segmentation structure of the bitstream decoding and the block of the video data. Wherein, some of the first syntax elements explicitly indicate some of the parameters used for block segmentation, and wherein other first syntax elements indicate the differences between some of the parameters used for block segmentation, and Wherein, when a given sub-block is equal to the size indicated by the second parameter, the given sub-block is no longer divided by QT.

2. The method according to claim 1, wherein, The first syntax element includes elements for specifying the following: The size of the block of the video data; The minimum block size allowed for the leaf nodes in the BT; The difference between the minimum block size of the leaf node allowed in the BT and the minimum block size of the leaf node allowed in the QT; as well as The difference between the maximum block size of the root node allowed in the BT and the minimum block size of the leaf node allowed in the QT.

3. The method according to claim 1, wherein, The third syntax element includes elements for indicating the following: Whether to divide the block corresponding to the parent node in the QT into four sub-blocks corresponding to the four child nodes; The question is whether to divide the block corresponding to the parent node in the multi-type tree into two sub-blocks corresponding to two child nodes or into three sub-blocks corresponding to three child nodes; as well as The direction for dividing the block corresponding to the parent node in the multi-type tree into sub-blocks.

4. The method according to claim 1, wherein, The derivation of the segmentation structure includes the following steps: When the height of a given sub-block is equal to the size indicated by the first parameter and the given sub-block is divided by BT, it is inferred that the given sub-block is divided in the vertical direction.

5. The method according to claim 1, wherein, The derivation of the segmentation structure includes the following steps: When the width of a given sub-block is equal to the size indicated by the first parameter and the given sub-block is divided by BT, it is inferred that the given sub-block is divided in the horizontal direction.

6. The method according to claim 1, wherein, The derivation of the segmentation structure includes the following steps: When the size of the leaf node of the QT is greater than the size indicated by the third parameter, it is inferred that the leaf node of the QT is the leaf node of the segmentation structure.

7. The method according to claim 1, wherein, The derivation of the segmentation structure includes the following steps: When the size indicated by the fourth parameter is greater than the predefined or predetermined maximum transform size, it is inferred that the video data block is recursively QT-divided into the maximum transform size.

8. A method for encoding video data, the method comprising the following steps: Determine high-level parameters for block partitioning, wherein the block partitioning is based on a partitioning structure of leaf nodes of a multi-type tree rooted in a quadtree QT, and the multi-type tree includes a binary tree BT and a ternary tree, wherein in the binary tree BT, a block corresponding to a parent node is allowed to be partitioned into two sub-blocks corresponding to two child nodes, and in the ternary tree, a parent node is allowed to be partitioned into three sub-blocks corresponding to three child nodes. The first syntax element used for block segmentation is encoded in the higher-level header information; Determine the parameters for the block segmentation that belong to the lower level of the higher level; The second syntax element used to modify some of the first syntax elements is encoded in the low-level header information; Under the constraints imposed by the parameters, the third syntax element of the segmentation structure specifying the block of video data belonging to the lower level is encoded; and The sub-blocks corresponding to the leaf nodes of the segmentation structure of the block of the video data are encoded. The parameters used for block segmentation include a first parameter indicating the minimum block size of leaf nodes allowed in the BT, a second parameter indicating the minimum block size of leaf nodes allowed in the QT, a third parameter indicating the maximum block size of root nodes allowed in the BT, and a fourth parameter indicating the block size of the video data. Wherein, some of the first syntax elements explicitly indicate some of the parameters used for block segmentation, and wherein other first syntax elements indicate the differences between some of the parameters used for block segmentation, and Wherein, when a given sub-block is equal to the size indicated by the second parameter, the given sub-block is no longer divided by QT.

9. The method according to claim 8, wherein, The first syntax element includes elements for specifying the following: The size of the block of the video data; The minimum block size allowed for the leaf nodes in the BT; The difference between the minimum block size of the leaf node allowed in the BT and the minimum block size of the leaf node allowed in the QT; as well as The difference between the maximum block size of the root node allowed in the BT and the minimum block size of the leaf node allowed in the QT.

10. The method according to claim 8, wherein, The third syntax element includes elements for indicating the following: Whether to divide the block corresponding to the parent node in the QT into four sub-blocks corresponding to the four child nodes; The question is whether to divide the block corresponding to the parent node in the multi-type tree into two sub-blocks corresponding to two child nodes or into three sub-blocks corresponding to three child nodes; as well as The direction for dividing the block corresponding to the parent node in the multi-type tree into sub-blocks.

11. A method for transmitting a bitstream of encoded video data, the method comprising the following steps: The video data is encoded into the bitstream by performing an encoding process; as well as The bitstream is sent to the video decoding device. The encoding process includes the following steps: Determine high-level parameters for block partitioning, wherein the block partitioning is based on a partitioning structure of leaf nodes of a multi-type tree rooted in a quadtree QT, and the multi-type tree includes a binary tree BT and a ternary tree, wherein in the binary tree BT, a block corresponding to a parent node is allowed to be partitioned into two sub-blocks corresponding to two child nodes, and in the ternary tree, a parent node is allowed to be partitioned into three sub-blocks corresponding to three child nodes. The first syntax element used for block segmentation is encoded in the higher-level header information; Determine the parameters for the block segmentation that belong to the lower level of the higher level; The second syntax element used to modify some of the first syntax elements is encoded in the low-level header information; Under the constraints imposed by the parameters, the third syntax element of the segmentation structure specifying the block of video data belonging to the lower level is encoded; and The sub-blocks corresponding to the leaf nodes of the segmentation structure of the block of the video data are encoded. The parameters used for block segmentation include a first parameter indicating the minimum block size of leaf nodes allowed in the BT, a second parameter indicating the minimum block size of leaf nodes allowed in the QT, a third parameter indicating the maximum block size of root nodes allowed in the BT, and a fourth parameter indicating the block size of the video data. Wherein, some of the first syntax elements explicitly indicate some of the parameters used for block segmentation, and wherein other first syntax elements indicate the differences between some of the parameters used for block segmentation, and Wherein, when a given sub-block is equal to the size indicated by the second parameter, the given sub-block is no longer divided by QT.

12. The method according to claim 11, wherein, The first syntax element includes elements for specifying the following: The size of the block of the video data; The minimum block size allowed for the leaf nodes in the BT; The difference between the minimum block size of the leaf node allowed in the BT and the minimum block size of the leaf node allowed in the QT; as well as The difference between the maximum block size of the root node allowed in the BT and the minimum block size of the leaf node allowed in the QT.

13. The method according to claim 11, wherein, The third syntax element includes elements for indicating the following: Whether to divide the block corresponding to the parent node in the QT into four sub-blocks corresponding to the four child nodes; The question is whether to divide the block corresponding to the parent node in the multi-type tree into two sub-blocks corresponding to two child nodes or into three sub-blocks corresponding to three child nodes; as well as The direction for dividing the block corresponding to the parent node in the multi-type tree into sub-blocks.

Citation Information

Patent Citations

  • Novel massively parallel super computer

    CN1494688A

  • Method for estimating bag-losing ratio

    CN1921422A