Image encoding / decoding method and apparatus, and recording medium storing bitstream

By using geometric segmentation tree structure to block segmentation and reordering residual signals in image encoding, the problem of low high-resolution image encoding efficiency is solved, and efficient image transmission and storage is achieved.

CN119174174APending Publication Date: 2024-12-20HYUNDAI MOTOR CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380039180.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-04-07
Filing Date
2023-04-05
Publication Date
2024-12-20

AI Technical Summary

Technical Problem

The prior art is difficult to efficiently encode and decode high-resolution, high-quality images, resulting in increased transmission and storage costs.

Method used

The block segmentation method based on the geometric segmentation tree structure is adopted to segment and decode the images through the triangle quadrant, geometric binary tree and asymmetric trine tree structure, and the residual signals are reordered to improve the transformation efficiency.

Benefits of technology

Improve image encoding efficiency and transformation efficiency, and reduce transmission and storage costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119174174A_ABST
    Figure CN119174174A_ABST
Patent Text Reader

Abstract

The present invention provides a video decoding method comprising the steps of: determining a tree structure for dividing a current block among candidate tree structures allowed for the current block; segmenting the current block according to the determined tree structure; and decoding sub-blocks of the current block that have been segmented from the current block, in which the candidate tree structure includes a geometric segmentation tree structure including at least one of a triangular quadtree structure, a geometric binary tree structure, and an asymmetric ternary tree structure.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to an image encoding / decoding method and apparatus and a recording medium for storing a bitstream. More specifically, the present disclosure relates to an image encoding / decoding method and apparatus using block partitioning according to a geometric partitioning tree structure and a recording medium for storing a bitstream. Background Art

[0002] Recently, in various application fields, the demand for high-resolution, high-quality images (such as ultra-high-definition (UHD) images) has been increasing. As image data becomes higher in resolution and quality, the amount of data increases relatively compared to existing image data. Therefore, when image data is transmitted using a medium such as existing wired and wireless broadband lines or stored using existing storage media, transmission and storage costs increase. In order to solve these problems that arise as image data becomes higher in resolution and quality, efficient image encoding / decoding technology for images with higher resolution and quality is required.

[0003] In image encoding and decoding, for the efficiency of prediction and transformation, if samples predicted by the same prediction method are grouped into a block and the samples of the block are predicted and encoded by the same prediction method, the encoding information of the prediction method of the sample will be greatly reduced. Therefore, in order to improve the prediction accuracy of image samples, a method of accurately dividing an image into blocks according to the characteristics of the image is being discussed. Summary of the invention

[0004] Technical issues

[0005] An object of the present disclosure is to provide an image encoding / decoding method and apparatus for improving encoding / decoding efficiency using partitioning according to a geometric partitioning tree structure.

[0006] Another object of the present disclosure is to provide a recording medium for storing a bit stream generated by the image decoding method or device provided by the present disclosure.

[0007] Technical Solution

[0008] According to an embodiment of the present disclosure, a video decoding method may include: determining a tree structure for segmenting a current block from candidate tree structures allowed by the current block based on block segmentation information obtained from a bitstream; segmenting the current block according to the determined tree structure; and decoding sub-blocks of the current block segmented from the current block.

[0009] According to an embodiment, the candidate tree structure may include a geometric partition tree structure, and the geometric partition tree structure may include at least one of a triangular quadtree structure, a geometric binary tree structure, or an asymmetric ternary tree structure.

[0010] According to an embodiment, when the tree structure of the current block is a triangular quadtree structure, the current block may be divided into four rectangular blocks having the same size.

[0011] According to an embodiment, the geometric binary tree structure may include a triangular binary tree structure and a rectangular binary tree structure.

[0012] According to an embodiment, when the tree structure of the current block is a triangular binary tree structure, the current block may be split into two triangular blocks having the same size.

[0013] According to an embodiment, when the tree structure of the current block is a rectangular binary tree structure, the current block may be divided into two quadrilateral blocks instead of rectangular blocks.

[0014] According to an embodiment, when the tree structure of the current block is an asymmetric ternary tree structure, the current block may be split into two triangular blocks and one rectangular block.

[0015] According to an embodiment, the block partitioning information may include a ternary tree flag indicating a method of partitioning the current block in a rectangular quadtree structure and a triangular quadtree structure, a geometric binary tree flag indicating a method of partitioning the current block in a rectangular binary tree structure and a geometric binary tree structure, and an asymmetric ternary tree flag indicating a method of partitioning the current block in a rectangular ternary tree structure and an asymmetric ternary tree structure.

[0016] According to an embodiment, the block partitioning information may include a quadtree tag indicating a method of partitioning the current block in a quadtree structure and a multi-type tree structure, and when the quadtree tag indicates that the method of partitioning the current block is a quadtree structure, a triangle quadtree tag may be obtained from a bitstream.

[0017] According to an embodiment, the block segmentation information may include a binary tree tag indicating a method of segmenting the current block in a binary tree structure and a ternary tree structure. When the binary tree tag indicates that the method of segmenting the current block is a binary tree structure, a geometric binary tree tag can be obtained from the bitstream. When the binary tree tag indicates that the method of segmenting the current block is a ternary tree structure, an asymmetric ternary tree tag can be obtained from the bitstream.

[0018] According to an embodiment, the block segmentation information may further include: a GBT shape mark, when the geometric binary tree mark indicates that the segmentation method of the current block is a geometric binary tree structure, the GBT shape mark indicates a method of segmenting the current block in a triangular binary tree structure and a rectangular binary tree structure; a rectangular binary tree direction mark, when the GBT shape mark indicates that the segmentation method of the current block is a rectangular binary tree structure, the rectangular binary tree direction mark indicates a rectangular binary tree direction of the current block.

[0019] According to an embodiment, when the asymmetric ternary tree flag indicates that the method of splitting the current block is an asymmetric ternary tree structure, the block split information may further include an asymmetric ternary tree direction flag indicating the asymmetric ternary tree direction of the current block.

[0020] According to an embodiment, when a binary tree structure or a ternary tree structure is applied to the current block, the block segmentation information may further include a segmentation direction mark indicating the segmentation direction of the current block in the vertical direction and the horizontal direction. When the binary tree structure is applied to the current block, the binary tree structure applied to the current block may be determined according to the segmentation direction of the current block. When the ternary tree structure is applied to the current block, the ternary tree structure applied to the current block may be determined according to the segmentation direction of the current block.

[0021] According to an embodiment, when it is determined in an upper layer data unit of the current block that a geometric partition tree structure is not allowed to be used for the current block or the geometric partition tree structure is not applied to the current block based on at least one of the size, shape, color component or slice type of the current block, a triangle quadtree flag, a geometric binary tree flag and an asymmetric ternary tree flag may not be obtained from the bitstream.

[0022] According to an embodiment, decoding a sub-block of a current block may include: determining a plurality of transform regions from the current block according to regions of the sub-blocks; reordering residual signals of a plurality of transform blocks corresponding to the current block in the plurality of transform regions when the current block is partitioned according to a geometric partition tree structure; and determining a residual block including the residual signal of the current block by combining the plurality of transform regions.

[0023] According to an embodiment, reordering residual signals of multiple transform blocks corresponding to the current block in multiple transform regions may include scanning the residual signals of the multiple transform blocks in a predetermined first scanning order, and reordering the residual signals scanned in the multiple transform regions in a predetermined second scanning order.

[0024] According to an embodiment, the predetermined first scanning order can be determined as one of vertical zigzag scanning, horizontal zigzag scanning and diagonal zigzag scanning, and the predetermined second scanning order can be determined as one of vertical zigzag scanning, horizontal zigzag scanning and diagonal zigzag scanning.

[0025] According to an embodiment, the sub-block may not be partitioned in response to determining that the geometric partition tree structure is the tree structure of the current block.

[0026] According to an embodiment of the present disclosure, a video encoding method may include: determining a tree structure for segmenting a current block from candidate tree structures allowed for the current block; encoding block segmentation information indicating the tree structure; segmenting the current block according to the determined tree structure; and encoding sub-blocks of the current block segmented from the current block.

[0027] A non-transitory computer-readable recording medium according to an embodiment of the present disclosure stores a bit stream generated by a video encoding method.

[0028] The transmission method according to an embodiment of the present disclosure transmits a bit stream generated by a video encoding method.

[0029] The features briefly summarized above with respect to the present disclosure are merely exemplary aspects of the following detailed description of the present disclosure and do not limit the scope of the present disclosure.

[0030] Beneficial Effects

[0031] The present disclosure proposes a method for accurately partitioning blocks such as coding units according to a geometric partition tree structure. Since the blocks are accurately partitioned, the prediction accuracy is improved, thereby increasing the coding efficiency.

[0032] In addition, the present disclosure proposes a residual signal reordering method for transforming a block to which a geometric partition tree structure is applied. According to the residual signal reordering, the transform efficiency of the block to which a geometric partition tree structure is applied can be improved.

[0033] In addition, the present disclosure provides a syntax structure for determining a block partitioning method reflecting a geometric partitioning tree structure. According to the syntax structure provided by the present disclosure, various tree structures including a geometric partitioning tree structure can be selected. BRIEF DESCRIPTION OF THE DRAWINGS

[0034] Figure 1 is a block diagram showing the configuration of an encoding device according to an embodiment of the present disclosure.

[0035] Figure 2 is a block diagram showing the configuration of a decoding device according to an embodiment of the present disclosure.

[0036] Figure 3 is a diagram schematically illustrating a video encoding system to which the present disclosure is applicable.

[0037] Figure 4 Implementations of a quadtree structure and a multi-type tree structure are shown.

[0038] Figure 5 A triangle quadtree (TQT) structure is shown.

[0039] Figure 6 A geometric binary tree (GBT) is shown.

[0040] Figure 7 An asymmetric ternary tree (ATT) structure according to asymmetric partitioning is shown.

[0041] Figure 8 The order in which the residual signal is reordered to apply transform and quantization to each region segmented according to the geometric segmentation tree structure is shown.

[0042] Fig. 9 An embodiment of a method of reordering a residual signal in a triangular quadtree structure is shown.

[0043] Fig.10 An embodiment of a method of reordering residual signals in two transform blocks in a vertical triangular binary tree structure is shown.

[0044] Fig.11 An embodiment of a method of reordering residual signals among four transform blocks in a vertical triangular binary tree structure is shown.

[0045] Fig.12 An embodiment of a method of reordering residual signals among three transform blocks in a vertical triangular binary tree structure is shown.

[0046] Fig.13 An embodiment of a method of reordering residual signals in two transform blocks in a vertical right quadrilateral binary tree structure is shown.

[0047] Fig.14 An embodiment of a method of reordering residual signals among four transform blocks in a vertical right quadrilateral binary tree structure is shown.

[0048] Fig.15 Another embodiment of a method of reordering residual signals among four transform blocks in a vertical right quadrilateral binary tree structure is shown.

[0049] Fig.16 An embodiment of a method of reordering residual signals among three transform blocks in a vertical right quadrilateral binary tree structure is shown.

[0050] Fig.17 An embodiment of a method of reordering residual signals among four transform blocks in a vertical right ternary tree structure is shown.

[0051] Fig.18 An embodiment of a method of reordering residual signals among three transform blocks in an asymmetric ternary tree structure is shown.

[0052] Fig.19 An embodiment of a syntax structure for determining a block partitioning method that reflects a geometric partitioning tree structure is shown.

[0053] Fig. 20 An embodiment of a syntax structure for determining a block partitioning method that reflects a geometric partitioning tree structure is shown.

[0054] Fig.21An embodiment of a grammatical structure for determining a geometric binary tree structure is shown.

[0055] Fig. 22 An embodiment of a grammar structure for determining an asymmetric ternary tree structure is shown.

[0056] Fig.23 An embodiment of a video decoding method applying a tree structure determination method for block partitioning is shown.

[0057] Fig.24 An embodiment of a video encoding method to which a tree structure determination method for block partitioning is applied is shown.

[0058] Fig.25 The following exemplarily shows a content streaming system to which the embodiments of the present disclosure can be applied. DETAILED DESCRIPTION

[0059] According to an embodiment of the present disclosure, a video decoding method may include: determining a tree structure for partitioning a current block from candidate tree structures allowed for the current block based on block partitioning information obtained from a bitstream; partitioning the current block according to the determined tree structure; and decoding sub-blocks of the current block partitioned from the current block.

[0060] Mode for carrying out the invention

[0061] The present disclosure may have various modifications and embodiments, and specific embodiments are shown in the drawings and described in detail in the detailed description. However, this is not intended to limit the present disclosure to specific embodiments, but should be understood to include all modifications, equivalents or substitutes included in the spirit and scope of the present disclosure. In various aspects, similar reference numerals in the drawings indicate the same or similar functions. The shapes and sizes of the elements in the drawings can be provided by way of example for a clearer description. The detailed description of the exemplary embodiments described below refers to the drawings, which illustrate specific embodiments by way of example. These embodiments are described in sufficient detail to enable those skilled in the art to practice these embodiments. It should be understood that various embodiments are different from each other, but not necessarily mutually exclusive. For example, the specific shapes, structures and characteristics described herein can be implemented in other embodiments without departing from the spirit and scope of the present disclosure about an embodiment. It should also be understood that the position or arrangement of each component in each disclosed embodiment can be changed without departing from the spirit and scope of the embodiment. Therefore, the specific embodiments set forth below are not intended to be restrictive, and the scope of the exemplary embodiments is limited only by the full range of equivalents to which the attached claims and these claims are entitled (if properly described).

[0062] In the present disclosure, the terms "first, second, etc." may be used to describe various components, but these components should not be limited by these terms. These terms are only used for the purpose of distinguishing one component from another component. For example, without departing from the scope of the present disclosure, a first component may be referred to as a second component, and similarly, a second component may also be referred to as a first component. The terms and / or include a combination of multiple related descriptive items or any item among multiple related descriptive items.

[0063] Each component in the embodiments of the present disclosure is described independently to indicate different characteristic functions, and does not mean that each component is formed as a separate hardware or software configuration unit. That is, for ease of explanation, each component is listed and included as a separate component, and at least two components can be combined to form a single component, or a component can be divided into multiple components to perform functions, and embodiments in which components are integrated and embodiments in which each component is divided are also included in the scope of the present disclosure, as long as they do not deviate from the essence of the present disclosure.

[0064] The terms used in this disclosure are only used to describe specific embodiments and are not intended to limit the disclosure. Unless the context clearly indicates otherwise, singular expressions include plural expressions. In addition, some components of the present disclosure are not necessary components for performing the basic functions in the present disclosure, and may be optional components that are only used to improve performance. The present disclosure can be implemented by only including necessary components for realizing the essence of the present disclosure and not including components that are only used to improve performance, and the structure that only includes necessary components other than optional components that are only used to improve performance is also included in the scope of the present disclosure.

[0065] In an embodiment, the term "at least one" may refer to one of a number greater than or equal to 1, such as 1, 2, 3, and 4. In an embodiment, the term "plurality" may refer to one of a number greater than or equal to 2, such as 2, 3, and 4.

[0066] Hereinafter, the embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. In describing the embodiments of the present specification, if it is determined that a detailed description of a related known configuration or function may obscure the subject of the present specification, the detailed description will be omitted, and the same reference numerals will be used for the same components in the accompanying drawings, and repeated descriptions of the same components will be omitted.

[0067] Terminology Description

[0068] Hereinafter, "image" may refer to a picture constituting a video, and may also refer to the video itself. For example, "encoding and / or decoding of an image" may refer to "encoding and / or decoding of a video", and may also refer to "encoding and / or decoding of one of the images constituting the video".

[0069] Hereinafter, "motion picture" and "video" may be used with the same meaning and may be used interchangeably. In addition, the target image may be an encoding target image as an encoding target and / or a decoding target image as a decoding target. In addition, the target image may be an input image input to an encoding device, and may be an input image input to a decoding device. Here, the target image may have the same meaning as the current image.

[0070] Hereinafter, “image”, “picture”, “frame” and “screen” may be used with the same meaning and may be used interchangeably.

[0071] Hereinafter, a "target block" may be an encoding target block as an encoding target and / or a decoding target block as a decoding target. In addition, a target block may be a current block as a target of current encoding and / or decoding. For example, "target block" and "current block" may be used with the same meaning and may be used interchangeably.

[0072] Hereinafter, "block" and "unit" may be used with the same meaning and may be used interchangeably. In addition, "unit" may mean a block including a luma component block and a chroma component block corresponding thereto so as to distinguish it from a block. For example, a coding tree unit (CTU) may consist of one luma component (Y) coding tree block (CTB) and two chroma component (Cb, Cr) coding tree blocks associated therewith.

[0073] Hereinafter, "sample", "picture element" and "pixel" may be used synonymously and interchangeably. Herein, a sample may represent a basic unit constituting a block.

[0074] Hereinafter, “inter-frame” and “inter-screen” may be used with the same meaning and may be used interchangeably.

[0075] Hereinafter, “intra-frame” and “intra-screen” may be used with the same meaning and may be used interchangeably.

[0076] Figure 1 is a block diagram showing the configuration of an encoding device according to an embodiment of the present disclosure.

[0077] The encoding device 100 may be an encoder, a video encoding device, or an image encoding device. A video may include one or more images. The encoding device 100 may encode one or more images sequentially.

[0078] See also Figure 1, the encoding device 100 may include an image segmentation unit 110, an intra-frame prediction unit 120, a motion prediction unit 121, a motion compensation unit 122, a switch 115, a subtractor 113, a transform unit 130, a quantization unit 140, an entropy encoding unit 150, a dequantization unit 160, an inverse transform unit 170, an adder 117, a filter unit 180 and a reference picture buffer 190.

[0079] In addition, the encoding apparatus 100 may generate a bitstream including information encoded by encoding the input image and output the generated bitstream. The generated bitstream may be stored in a computer-readable recording medium or may be streamed through a wired / wireless transmission medium.

[0080] The image segmentation unit 110 can segment the input image into various forms to improve the efficiency of video encoding / decoding. That is, the input video is composed of multiple pictures, and one picture can be hierarchically segmented and processed for compression efficiency, parallel processing, etc. For example, one picture can be segmented into one or more tiles or slices, and then segmented into multiple CTUs (coding tree units) again. Alternatively, one picture can be first segmented into multiple sub-pictures defined as groups of rectangular slices, and each sub-picture can be segmented into tiles / slices. Here, sub-pictures can be used to support the functions of partially independent encoding / decoding and sending pictures. Since multiple sub-pictures can be reconstructed separately, it has the advantage of being easy to edit in applications where multi-channel inputs are configured into one picture. In addition, tiles can be segmented horizontally to generate blocks. Here, blocks can be used as basic units for parallel processing within a picture. In addition, one CTU can be recursively segmented into a quadtree (QT), and the end node of the segmentation can be defined as a CU (coding unit). CU can be segmented into PU (prediction unit) as a prediction unit and TU (transform unit) as a transform unit to perform prediction and segmentation. At the same time, the CU can be used as a prediction unit and / or a transform unit itself. Here, for flexible partitioning, each CTU can be recursively partitioned into a multi-type tree (MTT) and a quadtree (QT). The partitioning of the CTU into multi-type trees can start from the end node of the QT, and the MTT can be composed of a binary tree (BT) and a ternary tree (TT). For example, the MTT structure can be classified into a vertical two-branch partitioning mode (SPLIT_BT_VER), a horizontal two-branch partitioning mode (SPLIT_BT_HOR), a vertical three-branch partitioning mode (SPLIT_TT_VER), and a horizontal three-branch partitioning mode (SPLIT_TT_HOR). In addition, the minimum block size (MinQTSize) of the quadtree of the luminance block during partitioning can be set to 16×16, the maximum block size (MaxBtSize) of the binary tree can be set to 128×128, and the maximum block size (MaxTtSize) of the ternary tree can be set to 64×64. In addition, the minimum block size (MinBtSize) of the binary tree and the minimum block size (MinTtSize) of the ternary tree may be specified as 4×4, and the maximum depth (MaxMttDepth) of the multi-type tree may be specified as 4. In addition, in order to improve the coding efficiency of the I slice, a dual tree of the CTU partition structure that uses the luminance component and the chrominance component differently may be applied. The above-mentioned quadtree structure may include a rectangular quadtree structure and a triangular quadtree structure to which geometric partitioning is applied. The above-mentioned ternary tree structure may include a rectangular ternary tree structure and an asymmetric ternary tree structure to which geometric partitioning is applied. The above-mentioned binary tree structure may include a rectangular binary tree structure and a geometric binary tree structure to which geometric partitioning is applied.

[0081] On the other hand, in P and B slices, the luma and chroma CTBs (coding tree blocks) within a CTU may be partitioned into a single tree that shares a coding tree structure.

[0082] The encoding device 100 may perform encoding on the input image in intra mode and / or inter mode. Optionally, the encoding device 100 may perform encoding on the input image in a third mode other than intra mode and inter mode (e.g., IBC mode, palette mode, etc.). However, if the third mode has functional characteristics similar to those of the intra mode or the inter mode, the third mode may be classified as the intra mode or the inter mode for ease of explanation. In the present disclosure, the third mode is separately classified and described only when its specific description is required.

[0083] When the intra mode is used as the prediction mode, the switch 115 may be switched to intra, and when the inter mode is used as the prediction mode, the switch 115 may be switched to inter. Here, the intra mode may represent an intra-picture prediction mode, and the inter mode may represent an inter-frame prediction mode. The encoding device 100 may generate a prediction block for an input block of an input image. In addition, the encoding device 100 may encode the residual block using the residual of the input block and the prediction block after generating the prediction block. The input image may be referred to as a current image as a current encoding target. The input block may be referred to as a current block or an encoding target block as a current encoding target.

[0084] When the prediction mode is intra mode, the intra prediction unit 120 may use samples of blocks that have been encoded / decoded around the current block as reference samples. The intra prediction unit 120 may perform spatial prediction on the current block using the reference samples, or generate prediction samples of the input block by spatial prediction. Here, intra prediction may refer to intra-picture prediction.

[0085] As the intra prediction method, a non-directional prediction mode and a directional prediction mode (eg, 65 directions) such as a DC mode and a planar mode may be applied. Here, the intra prediction method may be expressed as an intra prediction mode or an intra-screen prediction mode.

[0086] When the prediction mode is the inter mode, the motion prediction unit 121 may retrieve the area that best matches the input block from the reference image in the motion prediction process, and derive the motion vector by using the retrieved area. In this case, the search area may be used as the area. The reference image may be stored in the reference picture buffer 190. Here, when encoding / decoding for the reference image is performed, it may be stored in the reference picture buffer 190.

[0087] The motion compensation unit 122 may generate a prediction block of the current block by performing motion compensation using a motion vector. Here, inter prediction may refer to inter-picture prediction or motion compensation.

[0088] When the value of the motion vector is not an integer, the motion prediction unit 121 and the motion compensation unit 122 may generate a prediction block by applying an interpolation filter to a partial area of ​​the reference picture. In order to perform inter prediction or motion compensation, it may be determined whether the motion prediction and motion compensation mode of the prediction unit included in the coding unit is one of a skip mode, a merge mode, an advanced motion vector prediction (AMVP) mode, and a coding unit-based intra block copy (IBC) mode, and inter prediction or motion compensation may be performed according to each mode.

[0089] In addition, based on the above-mentioned inter-frame prediction method, the AFFINE mode based on sub-PU prediction, the SbTMVP (sub-block-based temporal motion vector prediction) mode, the MMVD (merged with MVD) mode based on PU prediction, and the GPM (geometric partitioning mode) mode can be applied. In addition, in order to improve the performance of each mode, HMVP (history-based MVP), PAMVP (paired average MVP), CIIP (combined intra / inter prediction), AMVR (adaptive motion vector resolution), BDOF (bidirectional optical flow), BCW (bidirectional prediction with CU weights), LIC (local illumination compensation), TM (template matching), OBMC (overlapping block motion compensation), etc. can be applied.

[0090] The subtractor 113 may generate a residual block by using the difference between the input block and the prediction block. The residual block may be referred to as a residual signal. The residual signal may represent the difference between the original signal and the prediction signal. Alternatively, the residual signal may be a signal generated by transforming or quantizing, or transforming and quantizing the difference between the original signal and the prediction signal. The residual block may be a residual signal of a block unit.

[0091] The transform unit 130 may generate a transform coefficient by performing a transform on the residual block and output the generated transform coefficient. Here, the transform coefficient may be a coefficient value generated by performing a transform on the residual block. When the transform skip mode is applied, the transform unit 130 may skip the transform of the residual block.

[0092] The quantization level may be generated by applying quantization to a transform coefficient or a residual signal. Hereinafter, the quantization level may also be referred to as a transform coefficient in an embodiment.

[0093] For example, a 4×4 luminance residual block generated by intra prediction is transformed using a basic vector based on DST (discrete sine transform), and the remaining residual block can be transformed using a basic vector based on DCT (discrete cosine transform). In addition, the transform block is partitioned into a quadtree shape for one block using the residual quadtree (RQT) technology, and after performing transformation and quantization on each transform block partitioned by RQT, a coded block flag (cbf) can be sent when all coefficients become 0 to improve coding efficiency.

[0094] As another alternative, a multiple transform selection (MTS) technique that selectively uses multiple transform bases to perform transforms may be applied. That is, instead of partitioning the CU into TUs by RQT, a function similar to TU partitioning may be performed by a sub-block transform (SBT) technique. Specifically, SBT is only applied to inter-prediction blocks, and unlike RQT, the current block can be partitioned into 1 / 2 or 1 / 4 sizes in the vertical or horizontal direction, and then the transform may be performed only on one of the blocks. For example, if it is partitioned vertically, the transform may be performed on the leftmost or rightmost block, and if it is partitioned horizontally, the transform may be performed on the topmost or bottommost block.

[0095] In addition, LFNST (Low Frequency Non-Separable Transform) can be applied. LFNST is a secondary transform technique that further transforms the residual signal transformed into the frequency domain by DCT or DST. LFNST additionally transforms the 4×4 or 8×8 low-frequency region in the upper left, so that the residual coefficients can be concentrated in the upper left.

[0096] The quantization unit 140 may generate a quantization level by quantizing the transform coefficient or the residual signal according to a quantization parameter (QP) and output the generated quantization level. Here, the quantization unit 140 may quantize the transform coefficient by using a quantization matrix.

[0097] For example, a quantizer using a QP value of 0 to 51 may be used. Alternatively, if the image size is large and high encoding efficiency is required, a QP of 0 to 63 may be used. In addition, a DQ (dependent quantization) method using two quantizers instead of one quantizer may be applied. DQ performs quantization using two quantizers (e.g., Q0 and Q1), but even without signaling information about the use of a specific quantizer, a quantizer to be used for the next transform coefficient may be selected based on the current state through a state transition model.

[0098] The entropy encoding unit 150 may generate a bitstream by performing entropy encoding on the value calculated by the quantization unit 140 or on the probability distribution of the encoding parameter value calculated when encoding is performed, and output the bitstream. The entropy encoding unit 150 may perform entropy encoding on information of samples of an image and information for decoding the image. For example, the information for decoding the image may include a syntax element.

[0099] When entropy coding is applied, symbols are represented so that a smaller number of bits are allocated to symbols with a high probability of occurrence and a larger number of bits are allocated to symbols with a low probability of occurrence, and therefore, the size of the bitstream for the symbol to be encoded can be reduced. The entropy coding unit 150 may use a coding method such as exponential Golomb, context adaptive variable length coding (CAVLC), context adaptive binary arithmetic coding (CABAC), etc. for entropy coding. For example, the entropy coding unit 150 may perform entropy coding by using a variable length coding / code (VLC) table. In addition, the entropy coding unit 150 may derive a binarization method of a target symbol and a probability model of a target symbol / bin, and perform arithmetic coding by using the derived binarization method and context model.

[0100] In this regard, when CABAC is applied, in order to reduce the size of the probability table stored in the decoding device, the table probability update method can be changed to a table update method using a simple equation and applied. In addition, two different probability models can be used to obtain more accurate symbol probability values.

[0101] In order to encode the transform coefficient level (quantization level), the entropy encoding unit 150 may change the two-dimensional block form coefficient into a one-dimensional vector form through a transform coefficient scanning method.

[0102] The encoding parameters may include information (flags, indexes, etc.) encoded in the encoding device 100 and notified to the decoding device 200 by signals (such as syntax elements) and information derived in the encoding or decoding process, and may represent information required when encoding or decoding an image.

[0103] Here, signaling a flag or an index may mean entropy encoding the corresponding flag or index in an encoder and including it in a bitstream, and may mean entropy decoding the corresponding flag or index from the bitstream in a decoder.

[0104] The encoded current image may be used as a reference image of another image to be processed later. Therefore, the encoding apparatus 100 may reconstruct or decode the encoded current image again and store the reconstructed or decoded image in the reference picture buffer 190 as a reference image.

[0105] The quantization level may be dequantized in the dequantization unit 160, or may be inversely transformed in the inverse transform unit 170. The dequantized and / or inversely transformed coefficient may be added to the prediction block by the adder 117. Here, the dequantized and / or inversely transformed coefficient may mean a coefficient on which at least one of dequantization and inverse transformation is performed, and may mean a reconstructed residual block. The dequantization unit 160 and the inverse transform unit 170 may be performed as inverse processes of the quantization unit 140 and the transform unit 130.

[0106] The reconstructed block may pass through the filter unit 180. The filter unit 180 may apply a deblocking filter, a sample adaptive offset (SAO), an adaptive loop filter (ALF), a bilateral filter (BIF), a luminance mapping and chrominance scaling (LMCS), etc. to the reconstructed sample, the reconstructed block, or the reconstructed image using all or some filtering techniques. The filter unit 180 may be referred to as a loop filter. In this case, the loop filter is also used as a name excluding LMCS.

[0107] The deblocking filter can remove block distortion generated in the boundary between blocks. In order to determine whether to apply the deblocking filter, it can be determined whether to apply the deblocking filter to the current block based on samples included in a number of rows or columns included in the block. When the deblocking filter is applied to the block, different filters can be applied according to the required deblocking filter strength.

[0108] In order to compensate for the encoding error using sampling adaptive offset, an appropriate offset value may be added to the sample value. Sampling adaptive offset can correct the offset of the deblocked image from the original image by sampling units. A method of dividing the samples included in the image into a predetermined number of regions, determining the regions to which the offset is applied, and applying the offset to the determined regions, or a method of applying the offset in consideration of edge information about each sample may be used.

[0109] The bilateral filter (BIF) can also correct the deviation from the original image on a sample-by-sample basis for the deblocked image.

[0110] The adaptive loop filter may perform filtering based on the comparison result of the reconstructed image and the original image. The samples included in the image may be divided into predetermined groups, the filter to be applied to each group is determined, and differential filtering may be performed for each group. Information on whether the ALF is applied may be notified by a coding unit (CU) signal, and the form and coefficient of the adaptive loop filter applied to each block may be changed.

[0111] In LMCS (luminance mapping with chrominance scaling), luminance mapping (LM) refers to remapping luminance values ​​by a piecewise linear model, and chrominance scaling (CS) refers to a technique for scaling the residual values ​​of chrominance components according to the average luminance value of a prediction signal. Specifically, LMCS can be used as an HDR correction technique that reflects the characteristics of an HDR (high dynamic range) image.

[0112] The reconstructed block or the reconstructed image that has passed through the filter unit 180 may be stored in the reference picture buffer 190. The reconstructed block that has passed through the filter unit 180 may be a part of the reference image. That is, the reference image is a reconstructed image composed of the reconstructed block that has passed through the filter unit 180. The stored reference image may be used later in inter-frame prediction or motion compensation.

[0113] Figure 2 is a block diagram showing the configuration of a decoding device according to an embodiment of the present disclosure.

[0114] The decoding device 200 may be a decoder, a video decoding device, or an image decoding device.

[0115] See also Figure 2 , the decoding device 200 may include an entropy decoding unit 210, a dequantization unit 220, an inverse transform unit 230, an intra-frame prediction unit 240, a motion compensation unit 250, an adder 201, a switch 203, a filter unit 260 and a reference picture buffer 270.

[0116] The decoding device 200 may receive a bit stream output from the encoding device 100. The decoding device 200 may receive a bit stream stored in a computer-readable recording medium, or may receive a bit stream transmitted through a wired / wireless transmission medium stream. The decoding device 200 may decode the bit stream in an intra-frame mode or an inter-frame mode. In addition, the decoding device 200 may generate a reconstructed image or a decoded image generated by decoding, and output the reconstructed image or the decoded image.

[0117] When the prediction mode for decoding is the intra mode, the switch 203 may be switched to the intra mode. Alternatively, when the prediction mode for decoding is the inter mode, the switch 203 may be switched to the inter mode.

[0118] The decoding device 200 can obtain a reconstructed residual block by decoding the input bit stream and generate a prediction block. When the reconstructed residual block and the prediction block are obtained, the decoding device 200 can generate a reconstructed block as a decoding target by adding the reconstructed residual block and the prediction block. The decoding target block can be referred to as a current block.

[0119] The entropy decoding unit 210 may generate symbols by entropy decoding the bit stream according to the probability distribution. The generated symbols may include symbols in the form of quantization levels. Here, the entropy decoding method may be an inverse process of the above entropy encoding method.

[0120] The entropy decoding unit 210 may change coefficients in a one-dimensional vector form into coefficients in a two-dimensional block form through a transform coefficient scanning method to decode transform coefficient levels (quantization levels).

[0121] The quantization level may be dequantized in the dequantization unit 220 or inversely transformed in the inverse transform unit 230. The quantization level may be a result of dequantization and / or inverse transformation, and may be generated as a reconstructed residual block. Here, the dequantization unit 220 may apply a quantization matrix to the quantization level. The dequantization unit 220 and the inverse transform unit 230 applied to the decoding device may apply the same technology as the dequantization unit 160 and the inverse transform unit 170 applied to the above-mentioned encoding device.

[0122] When the intra mode is used, the intra prediction unit 240 can generate a prediction block by performing spatial prediction on the current block, and the spatial prediction uses the sample values ​​of the blocks decoded around the decoding target block. The intra prediction unit 240 applied to the decoding device can apply the same technology as the intra prediction unit 120 applied to the above-mentioned encoding device.

[0123] When the inter-frame mode is used, the motion compensation unit 250 may generate a prediction block by performing motion compensation on the current block, wherein the motion compensation uses a motion vector and a reference image stored in the reference picture buffer 270. When the value of the motion vector is not an integer value, the motion compensation unit 250 may generate a prediction block by applying an interpolation filter to a partial area within the reference image. In order to perform motion compensation, it may be determined based on the coding unit whether the motion compensation method of the prediction unit included in the corresponding coding unit is a skip mode, a merge mode, an AMVP mode, or a current picture reference mode, and motion compensation may be performed according to each mode. The motion compensation unit 250 applied to the decoding device may apply the same technology as the motion compensation unit 122 applied to the above-mentioned encoding device.

[0124] The adder 201 can generate a reconstructed block by adding the reconstructed residual block and the prediction block. The filter unit 260 can apply at least one of an inverse LMCS, a deblocking filter, a sample adaptive offset, and an adaptive loop filter to the reconstructed block or the reconstructed image. The filter unit 260 applied to the decoding device can apply the same filtering technology as the filtering technology of the filter unit 180 applied to the above-mentioned encoding device.

[0125] The filter unit 260 may output a reconstructed image. The reconstructed block or the reconstructed image may be stored in the reference picture buffer 270 and used for inter-frame prediction. The reconstructed block that has passed through the filter unit 260 may be a part of the reference image. That is, the reference image may be a reconstructed image composed of the reconstructed blocks that have passed through the filter unit 260. The stored reference image may be used later in inter-frame prediction or motion compensation.

[0126] Figure 3 is a diagram schematically illustrating a video encoding system to which the present disclosure is applicable.

[0127] The video encoding system according to an embodiment may include an encoding device 10 and a decoding device 20. The encoding device 10 may transmit the encoded video and / or image information or data to the decoding device 20 in the form of a file or a stream through a digital storage medium or a network.

[0128] The encoding device 10 according to the embodiment may include a video source generating unit 11, an encoding unit 12, and a transmitting unit 13. The decoding device 20 according to the embodiment may include a receiving unit 21, a decoding unit 22, and a rendering unit 23. The encoding unit 12 may be referred to as a video / image encoding unit, and the decoding unit 22 may be referred to as a video / image decoding unit. The transmitting unit 13 may be included in the encoding unit 12. The receiving unit 21 may be included in the decoding unit 22. The rendering unit 23 may include a display unit, and the display unit may be configured as a separate device or an external component.

[0129] The video source generation unit 11 can obtain the video / image by capturing, synthesizing or generating the video / image process. The video source generation unit 11 may include 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, a video / image archive containing previously captured videos / images, etc. The video / image generation device may include, for example, a computer, a tablet computer, a smart phone, etc., and may (electronically) generate the video / image. For example, a virtual video / image may be generated by a computer, etc., in which case the video / image capture process may be replaced by a process of generating relevant data.

[0130] The encoding unit 12 may encode the input video / image. For compression and encoding efficiency, the encoding unit 12 may perform a series of processes such as prediction, transformation, and quantization. The encoding unit 12 may output encoded data (encoded video / image information) in the form of a bit stream. The detailed configuration of the encoding unit 12 may also be the same as described above. Figure 1 The encoding device 100 is configured in the same manner.

[0131] The sending unit 13 may send the encoded video / image information or data output in the form of a bit stream to the receiving unit 21 of the decoding device 20 in the form of a file or stream transmission through a digital storage medium or a network. The digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. The sending unit 13 may include an element for generating a media file in a predetermined file format, and may include an element for sending through a broadcast / communication network. The receiving unit 21 may extract / receive a bit stream from a storage medium or a network and send it to the decoding unit 22.

[0132] The decoding unit 22 may decode the video / image by performing a series of processes corresponding to the operations of the encoding unit 12, such as dequantization, inverse transformation, and prediction. The detailed configuration of the decoding unit 22 may also be similar to Figure 2 The above-mentioned decoding device 200 is configured in the same manner.

[0133] The rendering unit 23 may render the decoded video / image. The rendered video / image may be displayed by the display unit.

[0134] According to one embodiment, a picture may be divided into small areas during the encoding and decoding process. A picture may be divided into sub-pictures, slices, tiles or blocks. A sub-picture, slice, tile or block may consist of multiple coding tree units (CTUs). The coding tree unit may be divided into a quadtree (QT) or multi-type tree (MTT) structure. Then, by dividing the coding tree unit, a coding unit (CU) may be determined, which is the basic unit of encoding. Next, prediction, transformation, quantization, etc. may be performed for each determined coding unit. Then, the information required for image reconstruction may be encoded or decoded according to the coding unit.

[0135] In the encoding and decoding process, the encoding and decoding process of the next coding unit can be sequentially performed based on the information of the reconstructed coding unit. When all the coding units in one coding tree unit are encoded, the encoding of the coding units in the next coding tree unit is performed in a predetermined scanning order. Similarly, in the decoding process, when all the coding units in one coding tree unit are decoded, the decoding of the coding units in the next coding tree unit is performed in a predetermined scanning order.

[0136] The coding tree unit may be set to have a consistent size. The coding tree unit is the top node in the segmentation tree structure of the coding unit. The maximum size of the coding unit is the same as the size of the coding tree unit. Although the size of the coding tree unit is consistent, the segmented coding units within the coding tree unit may have various sizes. In addition, depending on the segmentation method, the coding unit may have a rectangular shape as well as a square shape.

[0137] According to one embodiment, the types of the split tree structure from the coding tree unit to the coding unit include a binary tree (BT) structure, a ternary tree (TT) structure, and a quadtree structure. Here, the multi-type tree structure includes a binary tree structure and a ternary tree structure. In the following, Figure 4 One implementation of a partition tree structure is described.

[0138] In the present disclosure, a binary tree structure indicates a tree structure in which an upper block includes two sub-blocks. In addition, in the present disclosure, a ternary tree structure indicates a tree structure in which an upper block includes three sub-blocks. In addition, in the present disclosure, a quadtree structure indicates a tree structure in which an upper block includes four sub-blocks.

[0139] Figure 4 An embodiment of a quadtree structure and a multi-type tree structure is shown.

[0140] exist Figure 4 In the above, the size of the upper block is defined as 2N×2N. The size of the sub-block is described based on the size of the upper block. The block may indicate a coding unit, a prediction unit, a transformation unit, or a data unit having a similar role. In addition, the upper block represents a block to be partitioned, and the sub-block represents a block generated by partitioning the upper block.

[0141] According to the rectangular quadtree structure 400, the upper block 402 is divided into four square-shaped blocks 404, 406, 408, and 410 having a size of N×N.

[0142] The multi-type tree structure 420 includes a rectangular binary tree structure 430 and a rectangular ternary tree structure 450. According to the rectangular binary tree structure 430, the upper block 432 is divided into two rectangular blocks. Depending on the division direction, the rectangular binary tree structure 430 may include a vertical rectangular binary tree structure 434 and a horizontal rectangular binary tree structure 440. According to the vertical rectangular binary tree structure 434, the upper block 432 is divided into two rectangular blocks 436 and 438 having a size of N×2N. In addition, according to the horizontal rectangular binary tree structure 440, the upper block 432 is divided into two rectangular blocks 442 and 444 having a size of 2N×N.

[0143] exist Figure 4 , an example in which a square block is partitioned into a rectangular binary tree structure is described. However, the rectangular block may be partitioned according to the rectangular binary tree structure. For example, when the size of the upper block is 2N×N, the size of the partitioned block may be N×N or 2N×N / 2 depending on the partitioning direction. Alternatively, when the size of the upper block is N×2N, the size of the partitioned block may be N×N or N / 2×2N depending on the partitioning direction.

[0144] According to the rectangular ternary tree structure 450, the upper block 452 is divided into three rectangular blocks. Depending on the division direction, the rectangular ternary tree structure 450 may include a vertical rectangular ternary tree structure 454 and a horizontal rectangular ternary tree structure 462. According to the vertical rectangular ternary tree structure 454, the upper block 452 is divided into two rectangular blocks 456 and 458 of size N / 2×2N and one rectangular block 460 of size N×2N. In addition, according to the horizontal rectangular ternary tree structure 462, the upper block 452 is divided into two rectangular blocks 464 and 466 of size 2N×N / 2 and one rectangular block 468 of size 2N×N.

[0145] exist Figure 4 , an embodiment in which a square block is partitioned into a rectangular ternary tree structure is described. However, the rectangular block may be partitioned according to the rectangular ternary tree structure. For example, when the size of the upper block is N×2N and is partitioned by a horizontal rectangular ternary tree structure, the upper block may be partitioned into one block of size N×N and two blocks of size N×N / 2. Alternatively, when the size of the upper block is 2N×N and is partitioned by a vertical rectangular ternary tree structure, the upper block may be partitioned into one block of size N×N and two blocks of size N / 2×N.

[0146] According to one embodiment, the coding tree unit can be recursively split by a rectangular quadtree structure within a predetermined size range. If a predetermined size condition is met, the lower coding unit split from the coding tree unit by the rectangular quadtree structure can be split by a rectangular binary tree structure and a rectangular ternary tree structure.

[0147] According to one embodiment, the partitioning according to the rectangular quadtree structure may no longer be applied to the coding unit determined due to the partitioning according to the multi-type tree structure. In addition, the partitioning according to the multi-type tree structure cannot be recursively applied to the coding unit.

[0148] According to one embodiment, the transformation may be performed based on the coding unit, and the segmentation of the coding unit is completed. That is, the transformation may be performed based on the coding unit. Thus, when the segmentation of one coding tree unit is completed, the transformation, quantization, entropy encoding, etc. may be sequentially performed for each of the segmented coding units in a predetermined scanning order.

[0149] According to one embodiment, the block partition structure may include a geometric partition tree structure and the above-mentioned rectangular binary tree structure, rectangular ternary tree structure and rectangular quadtree structure. According to the geometric partition mode to which the geometric partition tree structure is applied, a coding unit may be partitioned into two or more regions according to a predetermined straight line partition boundary. For example, in the case of a triangular quadtree, a geometric binary tree and an asymmetric ternary tree, it may be partitioned into four, two or three regions according to a predetermined straight line partition boundary. In addition, two or more partitioned regions may be independently predicted according to different coding information.

[0150] In the present disclosure, when a coding tree unit is partitioned, various geometric partition tree structures are proposed, wherein a triangular or normal rectangular coding unit, prediction unit or transform unit is generated. The proposed geometric partition tree structures include a geometric binary tree (GBT) structure using triangles and rectangles, an asymmetric ternary tree (ATT) structure, and a triangular quadtree (TQT) structure using triangles.

[0151] In addition, a method for reordering a residual signal to apply a transform to a unit determined according to a geometric partitioning tree structure is proposed. In addition, a method for performing an efficient transform / quantization on the reordered residual signal is proposed. Finally, a syntax structure for selecting a bitstream of the geometric partitioning tree structure proposed in the present disclosure is proposed.

[0152] Hereinafter, the geometric partitioning tree structure proposed in the present disclosure will be described.

[0153] according to Figure 4 , when the coding unit is divided according to the rectangular binary tree structure, the rectangular ternary tree structure, and the rectangular quadtree structure, square and / or rectangular coding units are generated. Figures 5 to 7 The tree structure described in , as a result of the segmentation, can generate quadrilaterals and triangles instead of squares and rectangles. Figures 5 to 7 , the geometric partitioning tree structure proposed in the present disclosure will be described.

[0154] Figure 5 A triangle quadtree (TQT) structure is shown.

[0155] according to Figure 4 When the size of the upper block is 2N×2N, the upper block 402 is divided into four square blocks 404, 406, 408 and 410 of size N×N. Figure 5 In the triangle quadtree structure 500, an upper block 502 having a size of 2N×2N is divided into four triangle blocks 504, 506, 508, and 510 having the same size. Here, the size of the base of each triangle is 2N, and the height based on the base is N.

[0156] The coding unit may be recursively split within a predetermined size range according to the rectangular quadtree structure 400. However, splitting may no longer be performed on the triangular block split according to the triangular quadtree split structure 500. That is, when the upper block is split according to the triangular quadtree split structure 500, each split triangular coding unit becomes a leaf node and may no longer be split.

[0157] Figure 6 A geometric binary tree (GBT) is shown.

[0158] Figure 6 The geometric binary tree described in FIG6 is classified into a triangular binary tree (TBT) structure 610 and a quadrilateral binary tree (QBT) structure 630. In addition, the triangular binary tree structure 610 is classified into a vertical triangular binary tree (VTBT) structure 612 and a horizontal triangular binary tree (HTBT) structure 618. In the triangular binary tree structure 610, each region divided by a dividing boundary has the same size.

[0159] According to the vertical triangle binary tree structure 612, the upper block 600 having a size of 2N×2N is divided into two right triangle blocks 614 and 616. The boundary of the right triangle blocks 614 and 616 connects the lower left vertex and the upper right vertex of the upper block 600.

[0160] According to the horizontal triangle binary tree structure 618, the upper block 600 having a size of 2N×2N is divided into two right triangle blocks 620 and 622. The boundary of the right triangle blocks 620 and 622 connects the upper left vertex and the lower right vertex of the upper block 600.

[0161] The quadrilateral binary tree structure 630 can be divided into a vertical right quadrilateral BT (VRQBT) structure 632, a vertical left quadrilateral BT (VLQBT) structure 638, a horizontal up quadrilateral BT (HUQBT) structure 644, and a horizontal down quadrilateral BT (HDQBT) structure 650. In the quadrilateral binary tree structure 630, each region divided by a dividing boundary has the same size.

[0162] According to the vertical right quadrilateral binary tree structure 632, the upper block 600 of size 2N×2N is divided into two rectangular blocks 634 and 636. The boundary of the rectangular blocks 634 and 636 connects a point 1 / 2N to the left of the lower line of the upper block 600 and a point 3 / 2N to the left of the upper line.

[0163] According to the vertical left quadrilateral binary tree structure 638, the upper block 600 of size 2N×2N is divided into two rectangular blocks 640 and 642. The boundary of the rectangular blocks 640 and 642 connects a point 3 / 2N to the left of the lower line of the upper block 600 and a point 1 / 2N to the left of the upper line.

[0164] According to the horizontal upward quadrilateral binary tree structure 644, the upper block 600 of size 2N×2N is divided into two rectangular blocks 646 and 648. The boundary of rectangular blocks 646 and 648 connects a point 3 / 2N above the left line of the upper block 600 and a point 1 / 2N above the right line.

[0165] According to the horizontal downward quadrilateral binary tree structure 650, the upper block 600 of size 2N×2N is divided into two rectangular blocks 652 and 654. The boundary of rectangular blocks 652 and 654 connects a point 1 / 2N above the left line of the upper block 600 and a point 3 / 2N above the right line.

[0166] In some implementations, the positions of the points where the boundaries of the four quadrilateral binary tree structures are connected may be determined differently.

[0167] Although in Figure 6 Only four quadrilateral binary tree structures are shown in FIG, but quadrilateral binary tree structures having other shapes may be used to partition the blocks. Figure 6 In the embodiment, only the two endpoints of the dividing boundary of the upper block 600 are at the upper line and the lower line or at the right line and the left line. However, in some embodiments, the two endpoints of the dividing boundary can be determined to be at the upper line and the right line, at the upper line and the left line, at the lower line and the right line, or at the lower line and the left line.

[0168] In addition, in order to determine the dividing boundary, the positions of the two endpoints of the boundary can be determined respectively. For example, in the case of a vertical quadrilateral binary tree structure, the position of the endpoint of the dividing boundary of the upper line of the upper block 600 and the position of the endpoint of the dividing boundary of the lower line of the upper block 600 can be determined. At this time, it can be determined that the x components of the two positions are not equal. In addition, in the case of a horizontal quadrilateral binary tree structure, the position of the endpoint of the dividing boundary of the left line of the upper block 600 and the position of the endpoint of the dividing boundary of the right line of the upper block 600 can be determined. At this time, it can be determined that the y components of the two positions are not equal. At this time, even if the two endpoints of the dividing boundary are at the upper line and the right line, at the upper line and the left line, at the lower line and the right line, or at the lower line and the left line, the positions of the two endpoints of the boundary can be determined respectively. At this time, the positions of the endpoints can be determined in units such as 1 / 4, 1 / 8, 1 / 16, etc.

[0169] Alternatively, in order to determine the segmentation boundary of the upper block 600, the angle and position of the segmentation boundary can be determined respectively. Then, the segmentation direction is determined according to the angle of the segmentation boundary, and according to the position of the segmentation boundary, the specific point through which the segmentation boundary passes from the specific point of the upper block 600 can be determined. The segmentation direction can be selected from the predetermined direction candidates configured along the diagonal direction. The vertical direction and the horizontal direction can be excluded from the predetermined direction candidates. The position of the segmentation boundary can be determined based on the center point of the upper block 600. For example, when the coordinates of the center point of the upper block 600 are (N, N), the position of the segmentation boundary can be determined by adding an offset to the x component or y component of the center point.

[0170] according to Figure 4 According to the rectangular binary tree structure 430, the coding unit is divided into two rectangular blocks having the same size. On the other hand, according to the geometric binary tree structure, the coding unit is divided into two triangular blocks or rectangular blocks having the same size.

[0171] In addition, if a predetermined size condition and / or a predetermined depth condition is satisfied, the plurality of nodes may be connected according to a rectangular binary tree structure or a rectangular ternary tree structure. Figure 4 The lower layer coding units generated by segmentation according to the rectangular binary tree structure 430 are segmented. However, the lower layer coding units generated by segmentation according to the rectangular binary tree structure may be set so that they are no longer segmentable according to the rectangular quadtree structure.

[0172] The partitioning according to the rectangular quadtree structure, the rectangular binary tree structure, and the rectangular ternary tree structure may not be applied to the sub-block generated according to the geometric binary tree structure. That is, if the upper block is partitioned according to the geometric binary tree, the sub-block generated by the partitioning may no longer be partitioned.

[0173] Figure 7 An asymmetric ternary tree (ATT) structure according to asymmetric partitioning is shown.

[0174] according to Figure 7 , the asymmetric ternary tree structure 710 may include a vertical right ternary tree (VRTT) structure 712, a vertical left ternary tree (VLTT) structure 720, a horizontal upward ternary tree (HUTT) ​​structure 728, and a horizontal downward ternary tree (HDTT) structure 736. According to the asymmetric ternary tree structure 710, a block is partitioned into a rectangular block with an area of ​​N×2N and two triangular blocks with an area of ​​(N×2N) / 2.

[0175] According to the vertical right ternary tree structure 712, the upper block 700 of size 2N×2N is divided into a quadrilateral block 714 of area N×2N and two triangular blocks 716 and 718 of area (N×2N) / 2. The boundary line dividing the quadrilateral block 714 and the left triangular block 716 connects the lower left vertex and the center point of the top line of the upper block 700. The boundary line dividing the quadrilateral block 714 and the right triangle block 718 connects the upper right vertex and the center point of the bottom line of the upper block 700.

[0176] According to the vertical left tri-tree structure 720, the upper block 700 of size 2N×2N is divided into a quadrilateral block 722 of area N×2N and two triangular blocks 724 and 726 of area (N×2N) / 2. The boundary line dividing the quadrilateral block 722 and the right triangle block 724 connects the lower right vertex of the upper block 700 and the center point of the top line. The boundary line dividing the quadrilateral block 722 and the left triangle block 726 connects the upper left vertex of the upper block 700 and the center point of the bottom line.

[0177] According to the horizontal upward ternary tree structure 728, the upper block 700 of size 2N×2N is divided into a quadrilateral block 730 of area 2N×N and two triangular blocks 732 and 734 of area (N×2N) / 2. The boundary line dividing the quadrilateral block 730 and the upper triangular block 732 connects the upper right vertex of the upper block 700 and the center point of the left line. The boundary line dividing the quadrilateral block 730 and the lower triangular block 734 connects the lower left vertex of the upper block 700 and the center point of the right line.

[0178] According to the horizontal downward ternary tree structure 736, the upper block 700 of size 2N×2N is divided into a quadrilateral block 738 of area 2N×N and two triangular blocks 740 and 742 of area (N×2N) / 2. The boundary line dividing the quadrilateral block 738 and the upper triangular block 740 connects the upper left vertex and the center point of the right line of the upper block 700. The boundary line dividing the quadrilateral block 738 and the lower triangular block 742 connects the lower right vertex and the center point of the left line of the upper block 700.

[0179] In some implementations, the positions of the points connected by the boundaries of the four asymmetric ternary trees may be determined differently.

[0180] although Figure 7 Only four asymmetric ternary tree structures are described, but asymmetric ternary tree structures having other shapes can be used to divide the block. At this time, in order to determine the dividing boundary, the position of the end point located at the boundary of the block can be determined respectively. At this time, the position of the end point located at the vertex of the block can be fixed.

[0181] For example, in the case of a vertical right ternary tree structure, in order to determine the left dividing line, the position of the endpoint of the left dividing line of the upper line of the upper block 700 may be determined, and in order to determine the right dividing line, the position of the endpoint of the right dividing line of the lower line of the upper block 700 may be determined. In addition, in the case of a vertical left ternary tree structure, in order to determine the left dividing line, the position of the endpoint of the left dividing line of the lower line of the upper block 700 may be determined, and in order to determine the right dividing line, the position of the endpoint of the right dividing line of the upper line of the upper block 700 may be determined. In addition, in the case of a horizontal upward ternary tree structure, in order to determine the upper dividing line, the position of the endpoint of the upper dividing line of the left line of the upper block 700 may be determined, and in order to determine the lower dividing line, the position of the endpoint of the lower dividing line of the right line of the upper block 700 may be determined. Furthermore, in the case of a horizontal downward ternary tree structure, in order to determine the upper dividing line, the position of the endpoint of the upper dividing line of the right line of the upper block 700 may be determined, and in order to determine the lower dividing line, the position of the endpoint of the lower dividing line of the left line of the upper block 700 may be determined. At this time, the positions of the endpoints may be determined in units such as 1 / 4, 1 / 8, and 1 / 16.

[0182] According to the rectangular ternary tree structure according to the embodiment, the block is divided into three rectangular blocks. In addition, if the divisible size condition and the depth condition are satisfied, the sub-block generated by dividing according to the rectangular ternary tree structure may be divided according to the rectangular binary tree structure or the rectangular ternary tree structure. However, the encoding and decoding apparatus may be configured so that the division according to the rectangular quadtree structure is not applied to the sub-block.

[0183] On the other hand, according to the asymmetric ternary tree structure, the block is partitioned into two triangular blocks and one rectangular block having the same size. In addition, the encoding and decoding device may be configured so that the partitioning according to the rectangular binary tree structure, the rectangular ternary tree structure, and the rectangular quadtree structure is not applied to the sub-block generated by the partitioning according to the asymmetric ternary tree structure.

[0184] According to one embodiment, the transformation may be performed based on a coding unit block, wherein the segmentation of the coding unit block is completed. Thus, the coding unit block may be a basic unit for performing the transformation. Thus, transformation (inverse transformation), quantization (inverse quantization), and entropy encoding (entropy decoding) may be sequentially performed on each coding unit block segmented according to a binary tree, a ternary tree, or a rectangular quadtree structure. At this time, the transformation (inverse transformation) and quantization (inverse quantization) may be applied only to blocks having a square or rectangular shape.

[0185] according to Figures 5 to 7The geometric partitioning tree structure described in the embodiment of the present invention generates triangular blocks and / or rectangular blocks. The rectangular blocks generated according to the geometric partitioning tree structure are in the shape of a parallelogram or a trapezoid, rather than a square or a rectangle. That is, since the blocks partitioned according to the geometric partitioning tree structure are not square or rectangular, it is difficult to apply the transformation method for square or rectangular blocks to the blocks generated according to the geometric partitioning tree structure. Therefore, in order to apply transformation and quantization to the blocks generated according to the geometric partitioning tree structure, it is necessary to vectorize the residual signals into a form to which the transformation can be applied by reordering the residual signals of the blocks.

[0186] Figure 8 The order in which the residual signal is reordered to apply transform and quantization to each region segmented according to the geometric segmentation tree structure is shown.

[0187] Step 802: Execute selection of a partition structure of a block and block partitioning. The partition structure of the block may be determined as one of the geometric tree structure described above and a rectangular binary tree structure, a rectangular ternary tree structure, or a rectangular quadtree structure.

[0188] In step 804, if block partitioning is performed based on one of the geometric tree structures, a transform region of the block that needs to be transformed is determined.

[0189] In step 806, the residual signal is reordered for the block of the transform region. The residual signal is vectorized according to the residual signal reordering. In addition, a transform block including the vectorized residual signal is generated.

[0190] In addition, in step 808, transformation and quantization are performed on the transformed block to which the residual signal reordering is applied.

[0191] If the partition structure of the block is not a geometric tree structure but a binary tree structure, a ternary tree structure or a rectangular quadtree structure, steps 804 and 806 are not performed, and transformation and quantization may be performed on each block.

[0192] based on Figure 8 The encoding process of the transform block is described. In the decoding process, the transform coefficients of the transform block are inversely quantized and inversely transformed to generate a residual signal, and the residual signal of the transform block is inversely reordered in the transform region. In addition, the residual block of the top block (top block) or the sub-block can be determined based on the residual signal of the transform region.

[0193] Fig. 9 An embodiment of a method of reordering a residual signal in a triangular quadtree structure is shown.

[0194] exist Fig. 9, the upper block 900 is partitioned into four triangular blocks 902, 904, 906, and 908. In addition, partitioned regions R1 to R4 912, 914, 916, and 918 corresponding to each triangular block are determined. Each partitioned region may contain a residual signal within a partition boundary.

[0195] It is necessary to determine which of the two adjacent triangular blocks the residual signal located at the segmentation boundary will be included in. Fig. 9 In some embodiments, different from Fig. 9 , the residual signal at the segmentation boundary can be contained in the triangular block in the counterclockwise direction.

[0196] Thus, transform regions R1 to R4 912, 914, 916, and 918 corresponding to the four triangular blocks 902, 904, 906, and 908 are determined. For example, the residual signal R 1,0 , R 2,0 , R 3,0 , R 4,0 , R 5,0 , R 6,0 , R 2,1 , R 3,1 , R 4,1 , R 5,1 , R 3,2 , and R 4,2 and the residual signal R at the boundary of the two triangular blocks 902 and 908 0,0 , R 1,1 , R 2,2 and R 3,3 Included in the transformation region R1 912. Different from Fig. 9 , if the residual signal at the dividing boundary is included in the triangular block in the counterclockwise direction, then the residual signal R at the boundary of the two triangular blocks 902 and 904 7,0 , R 6,1 , R 5,2 , and R 4,3 May be included in transformation region R1 912.

[0197] Since the transform region is not a square or a rectangle, the transform cannot be applied. Therefore, the residual signal of each transform region needs to be reordered into a rectangle or a square. For example, the residual signal of the transform region R1912 is reordered in the square transform block 922.

[0198] At this time, the residual signal of the transform region R1 912 is scanned in a horizontal zigzag scanning order. In addition, the scanned residual signal is sorted in a scanning order in a horizontal zigzag scanning order in the square transform block 922. As a specific example, the residual signal of the transform region R1 912 may be sorted in a horizontal zigzag scanning order in R 0,0 , R 1,0 , R 2,0 , R 3,0 , R 4,0 , R 5,0 , R 6,0 , R 1,1 , R 2,1 , R 3,1 , R ,1 , R 5,1 , R 2,2 , R 3,2 , R 4,2 , R 3,3 In addition, the scanned residual signals are sequentially sorted in the square transform block 922 in a horizontal zigzag scanning order.

[0199] exist Fig. 9 In the embodiment, the residual signal scanning of the transform region is performed in a horizontal zigzag scanning order, but this is only an embodiment. Therefore, the residual signal scanning of the transform region can be performed based on any scanning order (vertical zigzag scanning, diagonal zigzag scanning, right or left horizontal scanning, downward or upward vertical scanning, arbitrary scanning, etc.).

[0200] In addition, Fig. 9 In the present invention, the residual signals scanned in the transform area are sorted in the square transform block in a horizontal zigzag scanning order, but the sorting of the residual signals can be performed based on an arbitrary scanning order (vertical zigzag scanning, diagonal zigzag scanning, right or left horizontal scanning, downward or upward vertical scanning, arbitrary scanning, etc.).

[0201] according to Fig. 9 , each transformation region contains 16 residual signals. Fig. 9 The residual signal reordering of can also be applied to blocks larger than the upper block 900 of size 8×8. Fig. 9 The residual signal reordering can also be applied to upper blocks of sizes 16×16, 32×32, and 64×64.

[0202] according to Fig. 9 , the scanned residual signals are sorted in transform blocks 922, 924, 926, and 928 of size 4×4, but in some embodiments, may be sorted in transform blocks of size 2×8 or 8×2. That is, the transform blocks in which the residual signals are sorted may have a rectangular shape instead of a square shape.

[0203] In the following, Figures 10 to 16 An embodiment of a method for reordering a residual signal in a geometric binary tree structure is shown.

[0204] Fig.10 and Fig.12 An embodiment of a method of rearranging a residual signal in a vertical triangular binary tree structure is shown.

[0205] Fig.10 An embodiment of a method for reordering residual signals in two transform blocks in a vertical triangular binary tree structure is shown.

[0206] according to Fig.10 , the upper block 1000 is divided into two triangular blocks 1002 and 1004. In addition, in order to reorder the residual signals included in the triangular blocks 1002 and 1004, the transformation regions R1 and R2 1006 and 1008 are determined. Fig.10 , regardless of the partition direction, the upper block 1000 having a size of 8×8 is partitioned into four equal parts to determine a block having a size of 4×4, and the transform regions 1006 and 1008 may be determined by combining the four blocks having a size of 4×4. For example, the transform region R1 1006 may include an upper right block 1012 and a lower left block 1014, and the transform region R2 1008 may include an upper left block 1010 and a lower right block 1016.

[0207] Based on the transform regions R1 and R2 1006 and 1008, transform blocks 1018 and 1020 may be determined. The transform block 1018 having a size of 4×8 may be generated by combining the upper right block and the lower left block of the transform region R1 1006. In addition, the transform block 1020 having a size of 4×8 may be generated by combining the upper left block and the lower right block of the transform region R2 1008. Fig.10 , it is shown that a transform block having a size of 4×8 is generated, but in some embodiments, a transform block having a size of 8×4 may be generated.

[0208] exist Fig.10 , two transform blocks of size 4×8 are generated from four blocks of size 4×4, and four blocks of size 4×4 are partitioned from the upper block 1000. However, according to another embodiment, four blocks of size 4×4 may be determined as four transform blocks of size 4×4 without residual signal reordering.

[0209] Fig.11 An embodiment of a method of reordering residual signals in four transform blocks in a vertical triangular binary tree structure is shown.

[0210] according to Fig.11, the upper block 1100 is divided into two triangular blocks 1102 and 1104. In addition, in order to reorder the residual signals included in the triangular blocks 1102 and 1104, the transformation regions R1, R2, R3 and R4 1106, 1108, 1110 and 1112 are determined. In order to determine the transformation region, the upper block 1100 may be divided into two 4×4 blocks 1114 and 1116 and eight 2×2 blocks 1118, 1120, 1122, 1124, 1126, 1128, 1130 and 1132, as shown in FIG. Fig.11 shown.

[0211] according to Fig.11 , transform region R1 1106 may consist of 4×4 blocks 1114. In addition, transform region R2 1108 may consist of 4×4 blocks 1116. Transform region R3 1110 may consist of four 2×2 blocks 1120, 1122, 1128, and 1130. Transform region R4 1112 may consist of four 2×2 blocks 1118, 1124, 1126, and 1132.

[0212] Based on the transform regions R1, R2, R3, and R4 1106, 1108, 1110, and 1112, transform blocks 1134, 1136, 1138, and 1140 may be determined. The residual signal of the transform region R1 1106 may be scanned in a horizontal zigzag scan order, and the scanned residual signal may be sorted in the transform block 1134 having a size of 2×8 in the horizontal zigzag scan order. In addition, the residual signal of the transform region R2 1108 may be scanned in a horizontal zigzag scan order, and the scanned residual signal may be sorted in the transform block 1136 having a size of 2×8 in the horizontal zigzag scan order.

[0213] A transform block 1138 having a size of 2×8 may be generated by combining four 2×2 blocks 1120, 1122, 1128, and 1130 of the transform region R3 1110. A transform block 1140 having a size of 2×8 may be generated by combining four 2×2 blocks 1118, 1124, 1126, and 1132 of the transform region R4 1112. Fig.11 It is shown in FIG. 1 that a transform block of size 2×8 is generated, but in some embodiments, a transform block of size 4×4 or 8×2 may be generated.

[0214] exist Fig.11 , the residual signals of the transform regions R1 and R2 1106 and 1108 are reordered in a transform block of size 2×8. However, in some embodiments, the transform regions R1 and R2 1106 and 1108 may be determined as a transform block of size 4×4 without residual signal reordering.

[0215] Fig.12An embodiment of a method of reordering residual signals among three transform blocks in a vertical triangular binary tree structure is shown.

[0216] according to Fig.12 , the upper block 1200 is divided into two triangular blocks 1202 and 1204. In addition, in order to reorder the residual signals included in the triangular blocks 1202 and 1204, the transformation regions R1, R2 and R3 1206, 1208 and 1210 are determined. In order to determine the transformation region, the upper block 1200 may be divided into two 4×4 blocks 1212 and 1214 and eight 2×2 blocks 1216, 1218, 1220, 1222, 1224, 1226, 1228 and 1230, as shown in Fig.12 As shown in the figure.

[0217] according to Fig.12 , transform region R1 1206 may consist of two 4×4 blocks 1212 and 1214. Transform region R2 1208 may consist of four 2×2 blocks 1218, 1220, 1226, and 1228. Transform region R3 1210 may consist of four 2×2 blocks 1216, 1222, 1224, and 1230.

[0218] Based on the transform regions R1, R2, and R3 1206, 1208, and 1210, transform blocks 1232, 1234, and 1236 may be determined. The residual signal of the transform region R1 1206 is sequentially scanned from the upper 4×4 block 1212 in a horizontal zigzag scan order, and the scanned residual signal may be sorted in the transform block 1232 in a horizontal zigzag scan order. Fig.12 In FIG. 1 , it is shown that a transform block with a size of 4×8 is generated, but in some embodiments, a transform block with a size of 8×4 may also be generated.

[0219] A transform block 1234 having a size of 2×8 may be generated by combining four 2×2 blocks 1218, 1220, 1226, and 1228 of the transform region R2 1208. A transform block 1236 having a size of 2×8 may be generated by combining four 2×2 blocks 1216, 1222, 1224, and 1230 of the transform region R3 1210. Fig.12 It is shown that a transform block with a size of 2×8 is generated, but in some embodiments, a transform block with a size of 4×4 or 8×2 may be generated.

[0220] exist Figure 10 to Figure 12 In the present invention, the residual signal scanning of the transformed area is performed in a horizontal zigzag scanning order, but can be performed in another arbitrary scanning order (vertical zigzag scanning, diagonal zigzag scanning, right or left horizontal scanning, downward or upward vertical scanning, arbitrary scanning, etc.).

[0221] exist Figures 10 to 12 In the present invention, the residual signal scanned in the transform area is sorted in a horizontal zigzag scanning order in the transform block, but can be sorted based on another arbitrary scanning order (vertical zigzag scanning, diagonal zigzag scanning, right or left horizontal scanning, bottom or top vertical scanning, arbitrary scanning, etc.) in the transform block. The scanning order applied to the residual signal sorting may be different from the scanning order used for the residual signal scanning of the transform area.

[0222] Although in Figures 10 to 12 The residual signal reordering is described in , based on blocks with a size of 8×8, but can be performed for larger blocks such as 16×16, 32×32, and 64×64 by Figures 10 to 12 The method is used to determine the transformation area and the transformation block.

[0223] exist Figures 10 to 12 In , a description is given based on a vertical triangular binary tree structure. However, Figures 10 to 12 The residual signal reordering of can also be applied to the horizontal triangle binary tree structure. However, since the segmentation directions of the vertical triangle binary tree structure and the horizontal triangle binary tree structure are different, it can be applied by flipping left and right. Figures 10 to 12 implementation method.

[0224] Figures 13 to 16 An embodiment of a method of reordering residual signals in a quadrilateral binary tree structure is shown.

[0225] Fig.13 An embodiment of a method of reordering residual signals in two transform blocks in a vertical right quadrilateral binary tree structure is shown.

[0226] according to Fig.13 , the upper block 1300 is divided into two rectangular blocks 1302 and 1304. In addition, in order to reorder the residual signals included in the rectangular blocks 1302 and 1304, the transformation regions R1 and R2 1306 and 1308 are determined. Fig.13 , regardless of the partition direction, the upper block 1300 having a size of 8×8 is partitioned into four parts to determine a block having a size of 4×4, and the transform regions 1306 and 1308 may be determined by combining the four blocks having a size of 4×4. For example, the transform region R1 1306 may include an upper right block and a lower left block, and the transform region R2 1308 may include an upper left block and a lower right block.

[0227] Based on the transform regions R1 and R2 1306 and 1308, transform blocks 1318 and 1320 may be determined. The transform block 1318 having a size of 4×8 may be generated by combining the upper right block 1312 and the lower left block 1314 of the transform region R1 1306. In addition, the transform block 1320 having a size of 4×8 may be generated by combining the upper left block 1310 and the lower right block 1316 of the transform region R2 1308. Fig.13 , it is shown that a transform block with a size of 4×8 is generated, but in some embodiments, a transform block with a size of 8×4 may be generated.

[0228] exist Fig.13 , two transform blocks having a size of 8×4 are generated from four blocks having a size of 4×4, wherein the four blocks having a size of 4×4 are partitioned from the upper block 1300. However, according to another embodiment, the four blocks having a size of 4×4 may be determined as four transform blocks having a size of 4×4 without residual signal reordering.

[0229] Fig.14 An embodiment of a method of reordering residual signals among four transform blocks in a vertical right quadrilateral binary tree structure is shown.

[0230] according to Fig.14 , the upper block 1400 is divided into two rectangular blocks 1402 and 1404. In addition, in order to reorder the residual signals included in the rectangular blocks 1402 and 1404, the transformation regions R1, R2, R3 and R4 1406, 1408, 1410 and 1412 are determined. In order to determine the transformation region, the upper block 1400 may be divided into two 4×4 blocks 1414 and 1416 and four 2×4 blocks 1418, 1420, 1422 and 1424, as shown in FIG. Fig.14 shown.

[0231] according to Fig.14 , the transform region R1 1406 may be composed of a 4×4 block 1414. In addition, the transform region R2 1408 may be composed of a 4×4 block 1416. The transform region R3 1410 may be composed of two 2×4 blocks 1418 and 1424. The transform region R4 142 may be composed of two 2×4 blocks 1420 and 1422.

[0232] Based on the transform regions R1, R2, R3, and R4 1406, 1408, 1410, and 1412, transform blocks 1426, 1428, 1430, and 1432 may be determined. The residual signal of the transform region R1 1406 may be scanned in a horizontal zigzag scan order, and the scanned residual signal may be sorted in the transform block 1426 having a size of 2×8 in the horizontal zigzag scan order. In addition, the residual signal of the transform region R2 1408 may be scanned in a horizontal zigzag scan order, and the scanned residual signal may be sorted in the horizontal zigzag scan order in the transform block 1428 having a size of 2×8.

[0233] A transform block 1430 having a size of 2×8 may be generated by combining two 2×4 blocks 1418 and 1424 of the transform region R3 1410. A transform block 1432 having a size of 2×8 may be generated by combining two 2×4 blocks 1420 and 1422 of the transform region R4 1412. Fig.14 It is shown that a transform block with a size of 2×8 is generated, but in some embodiments, a transform block with a size of 4×4 or 8×2 may be generated.

[0234] exist Fig.14 , the residual signals of the transform regions R1 and R2 1406 and 1408 are reordered in a transform block of size 2×8. However, in some embodiments, the transform regions R1 and R2 1406 and 1408 may be determined as transform blocks having a size of 4×4 without residual signal reordering.

[0235] exist Fig.14 An implementation of a residual signal reordering method for a vertical right quadrilateral binary tree structure is described in . Fig.14 The embodiment of the invention can also be applied to a vertical left quadrilateral binary tree structure, a horizontal upward quadrilateral binary tree structure, and a horizontal downward quadrilateral binary tree structure. However, according to the partition boundary, the transformation regions R1, R2, R3, and R4 can be different from Fig.14 Determined differently. Specifically, the transform region R3 may be set to correspond to a 4×2 block or a 2×4 block through which the partition boundary passes. In addition, the transform region R4 may be set to correspond to a 4×2 block or a 2×4 block through which the partition boundary does not pass. Transform regions R1 and R2 may be set to correspond to two 4×4 blocks through which the partition boundary does not pass. In addition, in the case of a horizontally upward quadrilateral binary tree structure and a horizontally downward quadrilateral binary tree structure, since the boundary of the transform region is close to the horizontal direction, the size of the transform region may be determined to be 4×2 or 4×4, and the size of the transform block may be determined to be 8×2 or 4×4.

[0236] Fig.15Another embodiment of a method for reordering residual signals in four transform blocks in a vertical right quadrilateral binary tree structure is shown.

[0237] according to Fig.15 , the upper block 1500 is divided into two rectangular blocks 1502 and 1504. In addition, in order to reorder the residual signals included in the rectangular blocks 1502 and 1504, the transformation regions R1, R2, R3 and R4 1506, 1508, 1510 and 1512 are determined. In order to determine the transformation region, the upper block 1500 may be divided into two 2×8 blocks 1514 and 1516 and four 2×4 blocks 1518, 1520, 1522 and 1524, as shown in FIG. Fig.15 shown.

[0238] according to Fig.15 , transform region R1 1506 may consist of 2×8 blocks 1514. In addition, transform region R2 1508 may consist of 2×8 blocks 1516. Transform region R3 1510 may consist of two 2×4 blocks 1518 and 1524. Transform region R4 1512 may consist of two 2×4 blocks 1520 and 1522.

[0239] Based on the transform regions R1, R2, R3, and R4 1506, 1508, 1510, and 1512, transform blocks 1526, 1528, 1530, and 1532 may be determined. The transform region R1 1506 may be determined as a transform block 1526 having a size of 2×8. In addition, the transform region R2 1508 may be determined as a transform block 1528 having a size of 2×8. Fig.15 In FIG. 1 , it is shown that a transform block having a size of 2×8 is generated, but a transform block having a size of 4×4 or 8×2 may be generated when residual signal reordering is performed.

[0240] The residual signal of the transform region R3 1510 may be scanned in a horizontal zigzag scanning order, and the scanned residual signal may be sorted in the horizontal zigzag scanning order, thereby generating a transform block 1530 having a size of 2×8. The residual signal of the transform region R4 1512 may be scanned in a horizontal zigzag scanning order, and the scanned residual signal may be sorted in the horizontal zigzag scanning order, thereby generating a transform block 1532 having a size of 2×8. Fig.15 It is shown in FIG. 1 that a transform block with a size of 2×8 is generated, but a transform block with a size of 4×4 or 8×2 may also be generated when performing residual signal reordering.

[0241] Fig.15 An embodiment of a residual signal reordering method for a vertical right quadrilateral binary tree structure is shown. Fig.15The embodiment of the invention can also be applied to a vertical left quadrilateral binary tree structure, a horizontal upward quadrilateral binary tree structure, and a horizontal downward quadrilateral binary tree structure. However, according to the partition boundary, the transformation regions R1, R2, R3, and R4 can be different from Fig.15 Determined differently. Specifically, the transform region R4 can be set to correspond to a 4×2 block or a 2×4 block through which the partition boundary passes. In addition, the transform region R3 can be set to correspond to a 4×2 block or a 2×4 block through which the partition boundary does not pass. Transform regions R1 and R2 can be set to correspond to two 8×2 blocks or 2×8 blocks that the partition boundary does not pass. In addition, for the horizontal upward quadrilateral binary tree structure and the horizontal downward quadrilateral binary tree structure, since the boundary of the transform region is close to the horizontal direction, the size of the blocks constituting the transform region can be determined to be 4×2 or 8×2, and the size of the transform block can be determined to be 8×2 or 4×4.

[0242] Fig.16 An embodiment of a method of reordering residual signals among three transform blocks in a vertical right quadrilateral binary tree structure is shown.

[0243] according to Fig.16 , the upper block 1600 is divided into two rectangular blocks 1602 and 1604. In addition, in order to reorder the residual signals included in the rectangular blocks 1602 and 1604, the transformation regions R1, R2 and R3 1606, 1608 and 1610 are determined. In order to determine the transformation region, the upper block 1600 may be divided into two 4×4 blocks 1612 and 1614 and four 2×4 blocks 1616, 1618, 1620 and 1622, as shown in FIG. Fig.16 shown.

[0244] according to Fig.16 , the transform region R1 1606 may consist of two 4×4 blocks 1612 and 1614. In addition, the transform region R2 1608 may consist of two 2×4 blocks 1616 and 1622. The transform region R3 1610 may consist of two 2×4 blocks 1618 and 1620.

[0245] Based on the transform regions R1, R2, and R3 1606, 1608, and 1610, transform blocks 1624, 1626, and 1628 may be determined. The residual signal of the transform region R1 1606 may be scanned in a horizontal zigzag scan order, and the scanned residual signal may be sorted in the transform block 1624 having a size of 4×8 in the horizontal zigzag scan order. In some embodiments, the residual signal of the transform region R1 1606 may be sorted in a transform block having a size of 8×4.

[0246] In addition, the residual signal of the transform region R2 1608 may be scanned in a horizontal zigzag scan order, and by combining two 2×4 blocks 1616 and 1622 in a horizontal zigzag scan order, the scanned residual signal may be sorted in a transform block 1626 having a size of 2×8. The residual signal of the transform region R3 1610 may be scanned in a horizontal zigzag scan order, and the scanned residual signal may be sorted in a transform block 1628 having a size of 2×8 by combining two 2×4 blocks 1618 and 1620 in a horizontal zigzag scan order. In some embodiments, the residual signals 1608 and 1610 of the transform regions R2 and R3 may be sorted in a transform block having a size of 4×4 or 8×2.

[0247] Fig.16 An embodiment of a residual signal reordering method for a vertical right quadrilateral binary tree structure is shown. Fig.16 The embodiment of the invention can also be applied to a vertical left quadrilateral binary tree structure, a horizontal upward quadrilateral binary tree structure, and a horizontal downward quadrilateral binary tree structure. However, according to the partition boundary, the transformation regions R1, R2, and R3 can be different from Fig.16 Determined differently. Specifically, the transform region R1 can be set to correspond to two 4×4 blocks that the partition boundary does not pass through. In addition, the transform region R2 can be set to correspond to a 4×2 block or a 2×4 block that the partition boundary passes through. In addition, the transform region R3 can be set to correspond to a 4×2 block or a 2×4 block that the partition boundary does not pass through. In addition, for the horizontal upward quadrilateral binary tree structure and the horizontal downward quadrilateral binary tree structure, since the boundary of the transform region is close to the horizontal direction, the size of the blocks constituting the transform region can be determined to be 4×2 or 4×4, the size of the transform block corresponding to the transform region R1 is determined to be 8×4, and the size of the transform block corresponding to the transform regions R2 and R3 is determined to be 8×2 or 4×4.

[0248] exist Figures 13 to 16 In the present invention, the residual signal scanning of the transformed region is performed in a horizontal zigzag scanning order, but can be performed in any other arbitrary scanning order (vertical zigzag scanning, diagonal zigzag scanning, right or left horizontal scanning, downward or upward vertical scanning, arbitrary scanning, etc.).

[0249] exist Figures 13 to 16 In the present invention, the residual signals scanned in the transform area are ordered in the transform block in a horizontal zigzag scanning order, but the residual signals may be reordered in the transform block based on any other arbitrary scanning order (vertical zigzag scanning, diagonal zigzag scanning, right or left horizontal scanning, downward or upward vertical scanning, arbitrary scanning, etc.). The scanning order applied for the residual signal reordering may be different from the scanning order used to scan the residual signals in the transform area.

[0250] Although in Figures 13 to 16 The reordering of the residual signal is described in , based on blocks with a size of 8×8, but can be performed for larger blocks such as 16×16, 32×32 and 64×64 by Figures 13 to 16 The transformation area and the transformation block are determined by the method.

[0251] Fig.17 and Fig.18 An embodiment of a method for reordering a residual signal in an asymmetric ternary tree structure is shown.

[0252] Fig.17 An embodiment of a method of reordering residual signals among four transform blocks in a vertical right ternary tree structure is shown.

[0253] according to Fig.17 , the upper block 1700 is divided into two triangular blocks 1702 and 1704 and a parallelogram rectangular block 1706. In addition, in order to reorder the residual signals included in the blocks 1702, 1704 and 1706, the transformation regions R1, R2, R3 and R4 1708, 1710, 1712 and 1714 are determined. In order to determine the transformation region, the upper block 1700 can be divided into eight 2×4 blocks 1716, 1718, 1720, 1722, 1724, 1726, 1728 and 1730, as shown in FIG. Fig.17 As described in .

[0254] according to Fig.17 , transform region R1 1708 may consist of two 2×4 blocks 1716 and 1726. Transform region R2 1710 may consist of two 2×4 blocks 1718 and 1724. Transform region R3 1712 may consist of two 2×4 blocks 1720 and 1730. Transform region R4 1714 may consist of two 2×4 blocks 1722 and 1728.

[0255] Based on the transform regions R1, R2, R3, and R4 1708, 1710, 1712, and 1714, transform blocks 1732, 1734, 1736, and 1738 may be determined. The residual signal of the transform region R1 1708 may be scanned in a horizontal zigzag scan order, and the scanned residual signal may be sorted in the horizontal zigzag scan order in the transform block 1732 having a size of 8×2. In addition, the residual signal of the transform region R2 1710 may be scanned in a horizontal zigzag scan order, and the scanned residual signal may be sorted in the horizontal zigzag scan order in the transform block 1734 having a size of 8×2. The residual signal of the transform region R3 1712 may be scanned in a horizontal zigzag scan order, and the scanned residual signal may be sorted in the horizontal zigzag scan order in the transform block 1736 having a size of 8×2. In addition, the residual signal of the transform region R4 1714 may be scanned in a horizontal zigzag scan order, and the scanned residual signal may be sorted in a transform block 1738 having a size of 8×2 in a horizontal zigzag scan order. In some embodiments, the residual signals 1708, 1710, 1712, and 1714 of the transform regions R1, R2, R3, and R4 may be reordered in a transform block having a size of 4×4 or 2×8.

[0256] exist Fig.17 An implementation of a residual signal reordering method for a vertical right ternary tree structure is described in. However, Fig.17 The embodiment of the invention can also be applied to the vertical left ternary tree structure, the horizontal upward ternary tree structure and the horizontal downward ternary tree structure. However, according to the partition boundary, the transformation regions R1, R2, R3 and R4 can be different from Fig.17 Differently determined.

[0257] Specifically, in the vertical left trinary tree structure, transform regions R1, R2, R3, and R4 may be set to correspond to two 2×4 blocks 1718 and 1724, two 2×4 blocks 1716 and 1726, two 2×4 blocks 1722 and 1728, and two 2×4 blocks 1720 and 1730, respectively.

[0258] In the horizontal upward ternary tree structure and the horizontal downward ternary tree structure, the upper block 1700 is divided into eight blocks of size 4×2, and it can be determined that the transformation regions R1, R2, R3, and R4 include two blocks of size 4×2. Thus, the transformation regions of the horizontal asymmetric ternary tree structure can be determined to be the same as Fig.17 The same as the upper block 1700 tilted 90 degrees. In addition, the size of the transform block where the residual signal of the transform region is reordered may be determined to be 4×4 or 8×2.

[0259] Fig.18An embodiment of a method of reordering residual signals among three transform blocks in an asymmetric ternary tree structure is shown.

[0260] according to Fig.18 , the upper block 1800 is divided into two triangular blocks 1802 and 1804 and a parallelogram rectangular block 1806. In addition, in order to reorder the residual signals included in the blocks 1802, 1804 and 1806, the transformation regions R1, R2 and R3 1808, 1810 and 1812 are determined. In order to determine the transformation region, the upper block 1800 can be divided into eight 2×4 blocks 1814, 1816, 1818, 1820, 1822, 1824, 1826 and 1828, as shown in Fig.18 as shown in .

[0261] according to Fig.18 , the transform region R1 1808 may consist of four 2×4 blocks 1814, 1818, 1824, and 1828. The transform region R2 1810 may consist of two 2×4 blocks 1816 and 1822. The transform region R3 1812 may consist of two 2×4 blocks 1820 and 1826.

[0262] Based on the transform regions R1, R2, and R3 1808, 1810, and 1812, transform blocks 1830, 1832, and 1834 may be determined. Fig.18 , the residual signal of the transform region R1 1808 may be sorted in the transform block 1830 having a size of 4×8 by two methods. According to the first sorting method 1836, the transform block 1830 may be generated by combining four 2×4 blocks 1814, 1818, 1824, and 1828 based on the position of the transform region. For example, the blocks 1814, 1818, 1824, and 1828 may be combined such that the residual signal of the block 1814 is located at the upper left side of the transform block 1830, the residual signal of the block 1818 is located at the upper right side of the transform block 1830, the residual signal of the block 1824 is located at the lower left side of the transform block 1830, and the residual signal of the block 1828 is located at the lower right side of the transform block 1830. According to the second sorting method 1838, the transform block 1830 may be determined by sequentially scanning the four 2×4 blocks 1814, 1818, 1824, and 1828 in a horizontal zigzag scan order, and sorting the scanned residual signals in a transform block 1830 having a size of 4×8 in a horizontal zigzag scan order. In some embodiments, the residual signals of the transform region R1 1808 may be sorted in a transform block having a size of 8×4.

[0263] The residual signal of the transform region R2 1810 may be scanned in a horizontal zigzag scan order, and the scanned residual signal may be sorted in the transform block 1832 having a size of 2×8 in the horizontal zigzag scan order. In addition, the residual signal of the transform region R3 182 may be scanned in a horizontal zigzag scan order, and the scanned residual signal may be sorted in the transform block 1834 having a size of 2×8 in the horizontal zigzag scan order. In some embodiments, the residual signals of the transform regions R2 and R3 1810 and 1812 may be sorted in a transform block having a size of 4×4 or 8×2.

[0264] exist Fig.18 An implementation of a method for reordering a residual signal of a vertical right ternary tree structure is described in. However, Fig.18 The embodiment of the invention can also be applied to the vertical left ternary tree structure, the horizontal upward ternary tree structure and the horizontal downward ternary tree structure. However, according to the partition boundary, the transformation regions R1, R2 and R3 can be different from Fig.18 Differently determined.

[0265] Specifically, in the vertical left trinary tree structure, transform regions R1, R2, and R3 may be set to correspond to four 2×4 blocks 1816, 1820, 1822, and 1826, two 2×4 blocks 1814 and 1824, and two 2×4 blocks 1818 and 1828, respectively.

[0266] In the horizontal upward ternary tree structure and the horizontal downward ternary tree structure, the upper block 1800 may be divided into eight blocks of size 4×2, the transformation region R1 may include four blocks of size 4×2, and each of R2 and R3 may be determined to include two blocks of size 4×2. Thus, the transformation region of the asymmetric ternary tree structure in the horizontal direction may be determined to be Fig.18 The upper block 1800 is tilted 90 degrees to be the same. In addition, the size of the transform block where the residual signal of the transform area is reordered may be determined to be 4×4 or 8×2.

[0267] exist Fig.17 and Fig.18 In the present invention, the residual signal scanning of the transformed region is performed in a horizontal zigzag scanning order, but can be performed in any other arbitrary scanning order (vertical zigzag scanning, diagonal zigzag scanning, right or left horizontal scanning, downward or upward vertical scanning, arbitrary scanning, etc.).

[0268] exist Fig.17 and Fig.18In the present invention, the residual signal scanned in the transform area is ordered in a horizontal zigzag scanning order in the transform block, but the residual signal may be ordered in the transform block based on any other arbitrary scanning order (vertical zigzag scanning, diagonal zigzag scanning, right or left horizontal scanning, downward or upward vertical scanning, arbitrary scanning, etc.). The scanning order applied to the residual signal reordering may be different from the scanning order used to scan the residual signal in the transform area.

[0269] Although in Figure 17 to Figure 18 The reordering of the residual signal is described in , based on blocks with a size of 8×8, but can be performed for larger blocks such as 16×16, 32×32 and 64×64 by Figure 17 to Figure 18 The transformation area and the transformation block are determined by the method.

[0270] exist Figures 9 to 18 In the present invention, a method for sorting residual signals of partitioned regions in a transformed block in a geometric partition tree structure is described. In some embodiments, prediction may be performed on the sub-blocks, and the transform may be performed on the upper block. If the transform is performed on the upper block, the residual signal reordering is not performed, and the residual signal of the upper block may be transformed.

[0271] In addition, Figures 9 to 18 In , the reordering of residual signals based on encoding is described. Therefore, at the time of decoding, the residual signals generated by the inverse transformation of the transformed block can be reordered in the transformed region. In addition, the current block can be reconstructed based on the residual signals of the transformed region.

[0272] In the following, Figures 19 to 22 Shown for determining the reflection in Figures 5 to 7 The grammatical structure of the block partitioning method with geometric partitioning tree structure proposed in . Figures 19 to 22 In , QT represents a quadtree, MTT represents a multi-type tree, TQT represents a triangular quadtree, BT represents a binary tree, TT represents a ternary tree, GBT represents a geometric binary tree, and ATT represents an asymmetric ternary tree. Figures 19 to 22 In , the circular nodes represent branch points related to the selection of the tree partition structure.

[0273] Fig.19 An implementation 1900 is shown for determining a syntax structure for a block partitioning method that reflects a geometric partitioning tree structure.

[0274] At node 1902, it is determined whether the current block is segmented. Whether the current block is segmented can be determined based on the segmentation mark or the characteristics of the current block (size, shape, color component, slice type, etc.). When the segmentation mark indicates 0, it can be determined that the current block is not segmented. On the contrary, when the segmentation mark indicates 1, it can be determined that the current block is segmented. In some embodiments, when the segmentation mark indicates 0, it can be determined that the current block is segmented, and when the segmentation mark indicates 1, it can be determined that the current block is not segmented.

[0275] When it is determined that the current block is not segmented, the current block is determined to be a leaf node. Prediction and transformation, etc. are performed on the current block determined to be a leaf node. On the contrary, after it is determined that the current block is segmented, node 1904 is executed to determine a method of segmenting the current block.

[0276] At node 1904, a method of segmenting the current block is determined between a quadtree structure and a multi-type tree structure. The determination of node 1904 may be performed based on a quadtree tag (QT tag) or characteristics of the current block (size, shape, color component, slice type, etc.). When the quadtree tag indicates 0, it may be determined that the current block is segmented according to the quadtree structure. Conversely, when the quadtree tag indicates 1, it may be determined that the current block is segmented according to the multi-type tree structure. In some embodiments, when the quadtree tag indicates 0, a multi-type tree structure may be selected for the current block, and when the quadtree tag indicates 1, a quadtree structure may be selected for the current block.

[0277] When it is determined that the current block is segmented according to a quadtree structure, node 1906 is executed to determine the type of the quadtree structure of the current block. Conversely, when it is determined that the current block is segmented according to a multi-type tree structure, node 1908 is executed to determine the type of the multi-type tree structure of the current block.

[0278] At node 1906, a method of segmenting the current block is determined between a rectangular quadtree structure and a triangular quadtree structure. The determination of node 1906 may be performed based on a triangular quadtree tag (TQT tag) or characteristics of the current block (size, shape, color component, slice type, etc.). When the triangular quadtree tag indicates 0, it may be determined that the current block is segmented according to the rectangular quadtree structure. Conversely, when the triangular quadtree tag indicates 1, it may be determined that the current block is segmented according to the triangular quadtree structure. In some embodiments, when the triangular quadtree tag indicates 0, the triangular quadtree structure may be selected for the current block, and when the triangular quadtree tag indicates 1, the rectangular quadtree structure may be selected for the current block.

[0279] When the segmentation method is selected at node 1906, the current block is segmented according to a rectangular quadtree structure or a triangular quadtree structure. If the current block is segmented according to a rectangular quadtree structure, the sub-blocks may be segmented additionally if the conditions allowing the segmentation are met. However, if the current block is segmented according to a triangular quadtree structure, the sub-blocks may no longer be segmented.

[0280] If the current block does not allow a triangular quadtree structure, node 1906 is omitted and the current block is segmented according to a rectangular quadtree structure. In addition, in the case of an implementation method that does not use a triangular quadtree structure, node 1906 is also omitted and the current block is segmented according to a rectangular quadtree structure.

[0281] At node 1908, the segmentation direction of the current block is determined between the vertical direction and the horizontal direction. The determination of node 1908 can be made according to the segmentation direction mark or the characteristics of the current block (size, shape, color component, slice type, etc.). When the segmentation direction mark indicates 0, the segmentation direction of the current block can be determined as a horizontal direction. On the contrary, when the segmentation direction mark indicates 1, the segmentation direction of the current block can be determined as a vertical direction. In some embodiments, when the segmentation direction mark indicates 0, the segmentation direction of the current block can be determined as a vertical direction, and when the segmentation direction mark indicates 1, the segmentation direction of the current block can be determined as a horizontal direction.

[0282] When it is determined that the current block is split in the horizontal direction, node 1910 is executed to determine the type of the tree structure of the current block among the tree structures in the horizontal direction. Conversely, when it is determined that the current block is split in the vertical direction, node 1912 is executed to determine the type of the tree structure of the current block among the tree structures in the vertical direction. Fig.19 In some embodiments, the segmentation direction is determined before determining the number of blocks to be segmented and whether to apply geometric segmentation. However, in some embodiments, the segmentation direction may be determined after determining the number of blocks to be segmented. Moreover, in some embodiments, the segmentation direction may be determined after determining both the number of blocks to be segmented and whether to apply geometric segmentation. Alternatively, in some embodiments, the segmentation direction may be determined at the end of the block segmentation method.

[0283] At node 1910, a method of segmenting the current block is determined between a binary tree structure and a ternary tree structure. Node 1910 may be determined based on a binary tree flag (BT_flag) or characteristics of the current block (size, shape, color component, slice type, etc.). When the binary tree flag indicates 0, it may be determined that the current block is segmented according to the binary tree structure. On the contrary, when the binary tree flag indicates 1, it may be determined that the current block is segmented according to the ternary tree structure. In some embodiments, when the binary tree flag indicates 0, it may be determined that the current block is segmented according to the ternary tree structure, and when the binary tree flag indicates 1, it may be determined that the current block is segmented according to the binary tree structure.

[0284] When it is determined that the current block is segmented according to the binary tree structure, node 1914 is executed to determine the type of tree structure of the current block in the binary tree structure in the horizontal direction. On the contrary, when it is determined that the current block is segmented according to the ternary tree structure, node 1916 is executed to determine the type of tree structure of the current block in the ternary tree structure in the horizontal direction.

[0285] At node 1912, similar to node 1910, a method of splitting the current block is determined among the binary tree structure and the ternary tree structure. The binary tree flag of node 1912 is the same syntax element as the binary tree flag of node 1910.

[0286] When it is determined that the current block is split according to the binary tree structure, node 1918 is executed to determine the type of tree structure of the current block in the binary tree structure in the vertical direction. On the contrary, when it is determined that the current block is split according to the ternary tree structure, node 1920 is executed to determine the type of tree structure of the current block in the ternary tree structure in the vertical direction.

[0287] At node 1914, a method of segmenting the current block is determined between a rectangular binary tree structure and a geometric binary tree structure. The determination of node 1914 may be made based on a geometric binary tree flag (GBT_flag) or characteristics of the current block (size, shape, color component, slice type, etc.). When the geometric binary tree flag indicates 0, it may be determined that the current block is segmented according to a rectangular binary tree structure. On the contrary, when the geometric binary tree flag indicates 1, it may be determined that the current block is segmented according to a geometric binary tree structure. In some embodiments, when the geometric binary tree flag indicates 0, it may be determined that the current block is segmented according to a geometric binary tree structure, and when the binary tree flag indicates 1, it may be determined that the current block is segmented according to a rectangular binary tree structure.

[0288] When it is determined that the current block is segmented according to a rectangular binary tree structure, the current block is segmented according to a horizontal rectangular binary tree structure. Conversely, after it is determined that the current block is segmented according to a geometric binary tree structure, the current block is segmented according to a horizontal geometric binary tree structure. Figure 6As described in , two or more geometric binary tree structures in the horizontal direction are allowed for the current block. Therefore, when there are two or more geometric binary tree structures in the horizontal direction allowed for the current block, Fig.21 The geometric binary tree structure determination method is used to select the geometric binary tree structure of the current block.

[0289] At node 1916, a method for segmenting the current block is determined between a rectangular ternary tree structure and an asymmetric ternary tree structure. The determination of node 1916 can be performed based on an asymmetric ternary tree flag (ATT_flag) or characteristics of the current block (size, shape, color component, slice type, etc.). When the asymmetric ternary tree flag indicates 0, it can be determined that the current block is segmented according to a rectangular ternary tree structure. On the contrary, when the asymmetric ternary tree flag indicates 1, it can be determined that the current block is segmented according to an asymmetric ternary tree structure. In some embodiments, when the asymmetric ternary tree flag indicates 0, it can be determined that the current block is segmented according to an asymmetric ternary tree structure, and when the asymmetric ternary tree flag indicates 1, it can be determined that the current block is segmented according to a rectangular ternary tree structure.

[0290] After determining that the current block is segmented according to the rectangular ternary tree structure, the current block is segmented in the horizontal direction according to the rectangular ternary tree structure. Conversely, when determining that the current block is segmented according to the asymmetric ternary tree structure, the current block is segmented in the horizontal direction according to the asymmetric ternary tree structure. Figure 7 As shown, the current block can allow two or more horizontal asymmetric ternary tree structures. Therefore, when the current block allows two or more horizontal asymmetric ternary tree structures, Fig. 22 An asymmetric ternary tree structure determination method is used to select an asymmetric ternary tree structure of a current block.

[0291] At node 1918, similar to node 1914, a method of partitioning the current block is determined between the rectangular binary tree structure and the geometric binary tree structure. The geometric binary tree tag of node 1918 is the same as the geometric binary tree tag of node 1914.

[0292] When it is determined that the current block is segmented according to a rectangular binary tree structure, the current block is segmented according to a vertical rectangular binary tree structure. Conversely, when it is determined that the current block is segmented according to a geometric binary tree structure, the current block is segmented in the vertical direction according to the geometric binary tree structure. Figure 6 As described in , two or more geometric binary tree structures in the vertical direction may be allowed for the current block. Therefore, when there are two or more vertical geometric binary tree structures allowed for the current block, the vertical binary tree structures may be selected according to Fig.21 The geometric binary tree structure determination method is used to select the geometric binary tree structure of the current block.

[0293] At node 1920, similar to node 1916, a method of determining a method of splitting the current block between the rectangular ternary tree structure and the asymmetric ternary tree structure is determined. The asymmetric ternary tree tag of node 1920 is the same as the asymmetric ternary tree tag of node 1916.

[0294] When it is determined that the current block is split according to the rectangular ternary tree structure, the current block is split according to the ternary tree structure in the vertical direction. Conversely, when it is determined that the current block is split according to the asymmetric ternary tree structure, the current block is split according to the asymmetric ternary tree structure in the vertical direction. Figure 7 As shown, two or more asymmetric ternary tree structures in the vertical direction may be allowed for the current block. Therefore, when two or more asymmetric ternary tree structures in the vertical direction are allowed for the current block, Fig. 22 An asymmetric ternary tree structure determination method is used to select an asymmetric ternary tree structure of a current block.

[0295] If the current block does not allow a geometric binary tree structure, nodes 1914 and 1918 are omitted, and the current block is segmented according to a rectangular binary tree structure. In addition, in the case of an implementation method that does not use a geometric binary tree structure, nodes 1914 and 1918 are omitted, and the current block is segmented according to a rectangular binary tree structure.

[0296] If the current block does not allow an asymmetric ternary tree structure, nodes 1916 and 1920 are omitted, and the current block is segmented according to a rectangular ternary tree structure. In addition, in the case of an implementation method that does not use an asymmetric ternary tree structure, nodes 1916 and 1920 are omitted, and the current block is segmented according to a rectangular ternary tree structure.

[0297] As mentioned above, some geometric partitioning tree structures may not be used for block partitioning. Thus, in one embodiment of image encoding and decoding, nodes 1906, 1914, 1916, 1918, and 1920 may be omitted depending on which geometric partitioning tree structures are included as encoding tools.

[0298] For example, if only a triangular quadtree structure is included in the embodiment, only node 1906 is activated, and nodes 1914, 1916, 1918, and 1920 may be omitted. Therefore, the steps of selecting a binary tree and a geometric binary tree and the steps of selecting a ternary tree and an asymmetric ternary tree may be omitted.

[0299] As another example, if only a geometric binary tree structure is included in the implementation, only nodes 1914 and 1918 may be activated, and nodes 1906, 1916, and 1920 may be omitted. Thus, the steps of selecting a quadtree and a triangle quadtree and the steps of selecting a ternary tree and an asymmetric ternary tree may be omitted.

[0300] As another example, if only an asymmetric ternary tree structure is included in the implementation, only nodes 1916 and 1920 may be activated, and nodes 1906, 1914, and 1918 may be omitted. Thus, the steps of selecting a quadtree and a triangle quadtree and the steps of selecting a binary tree and a geometric binary tree may be omitted.

[0301] In addition, even if the geometric partition tree structure is included as a coding tool in the present embodiment, when it is determined that the geometric partition tree structure is not allowed in an upper layer data unit such as a sequence parameter set, a picture parameter set, a slice header, a coding tree unit, etc., the disallowed geometric partition tree structure may be excluded from the block partition of the current block. In addition, according to the characteristics of the current block (size, shape, color component, slice type, etc.), the disallowed geometric partition tree structure may be excluded from the block partition of the current block.

[0302] according to Fig.19 , first determine whether the current block is segmented by a quadtree structure. However, it may be first determined whether the current block is segmented by a ternary tree structure. Similarly, it may be first determined whether the current block is segmented by a binary tree structure. In the grammatical structure for determining the segmentation structure, by first determining whether a segmentation structure with a high probability of use is applied, the amount of data required to determine the segmentation structure may be reduced.

[0303] Fig. 20 An embodiment 2000 is shown for determining a syntax structure for a block partitioning method that reflects a geometric partitioning tree structure.

[0304] and Fig.19 Different, in Fig. 20 In the embodiment, at node 2004, a method of splitting the current block is determined among a rectangular quadtree structure, a triangular quadtree structure, and a multi-type tree structure according to a quadtree / multi-type tree index (QT / MTT index). The determination of node 2004 may be performed according to the quadtree / multi-type tree index or the characteristics of the current block (size, shape, color component, slice type, etc.). When the quadtree / multi-type tree index indicates 0, it may be determined that the current block is split according to a rectangular quadtree structure. When the quadtree / multi-type tree index indicates 10, it may be determined that the current block is split according to a triangular quadtree structure. When the quadtree / multi-type tree index indicates 11, it may be determined that the current block is split according to a multi-type tree structure. However, in some embodiments, the method may be different from the method described above. Fig. 20 Sets the tree structure represented by the symbol indicated by the quadtree / multitree index.

[0305] Fig. 20 Nodes 2002, 2006, 2008, 2010, 2012, 2014, 2016, and 2018 can respectively execute Fig.19Nodes 1902, 1908, 1910, 1912, 1914, 1916, 1918 and 1920 have the same functions.

[0306] Fig.21 An embodiment of a grammatical structure for determining a geometric binary tree structure is shown.

[0307] After determining that the current block is split by the geometric binary tree structure in nodes 1914, 1918, 2012, and 2016 and there are two or more geometric binary tree structures allowed by the current block, Fig.21 The geometric binary tree structure determination method selects a geometric binary tree structure of a current block from two or more geometric binary tree structures.

[0308] According to node 2102, a method for segmenting the current block is determined in a triangular binary tree structure and a quadrilateral binary tree structure. Node 2012 may be determined according to a GBT shape tag or a characteristic of the current block (size, shape, color component, slice type, etc.). When the GBT shape tag indicates 0, it may be determined that the current block is segmented according to a triangular binary tree structure. On the contrary, when the GBT shape tag indicates 1, it may be determined that the current block is segmented according to a quadrilateral binary tree structure. In some embodiments, when the GBT shape tag indicates 0, a quadrilateral binary tree structure may be selected for the current block, and when the GBT shape tag indicates 1, a triangular binary tree structure may be selected for the current block.

[0309] When it is determined that the current block is segmented according to the triangular binary tree structure, the current block is segmented according to the triangular binary tree structure. Fig.19 or Fig. 20 In the example, if the segmentation direction is determined to be a vertical direction, the current block is segmented according to the vertical triangle binary tree structure. In addition, if the segmentation direction is determined to be a horizontal direction, the current block is segmented according to the horizontal triangle binary tree structure.

[0310] When it is determined to partition the current block according to the quadrilateral binary tree structure, node 2104 is executed to determine the quadrilateral binary tree direction of the current block.

[0311] According to node 2104, the quadrilateral binary tree direction of the current block is determined. The determination of node 2104 can be made according to a quadrilateral binary tree direction mark (QBT direction mark) or characteristics of the current block (size, shape, color component, slice type, etc.). When the quadrilateral binary tree direction mark indicates 0, it can be determined that the current block is split in the right or upward direction according to the quadrilateral binary tree structure. On the contrary, when the quadrilateral binary tree direction mark indicates 1, it can be determined that the current block is split in the left or downward direction according to the quadrilateral binary tree structure. In some embodiments, the tree structure indicated by the sign of the quadrilateral binary tree direction mark can be set to the same as Fig.21 The directions of the quadrilateral binary tree are marked in opposite directions.

[0312] If the segmentation direction is vertical and the quadrilateral binary tree direction is right, the current block can be segmented according to the vertical right quadrilateral binary tree. In addition, if the segmentation direction is vertical and the quadrilateral binary tree direction is left, the current block can be segmented according to the vertical left quadrilateral binary tree. If the segmentation direction is horizontal and the quadrilateral binary tree direction is upward, the current block can be segmented according to the horizontal upward quadrilateral binary tree. In addition, if the segmentation direction is horizontal and the quadrilateral binary tree direction is downward, the current block can be segmented according to the horizontal downward quadrilateral binary tree.

[0313] Some geometric binary tree structures may not be used for block partitioning. Therefore, in one embodiment of image encoding and decoding, nodes 2102 and / or 2104 may be omitted depending on which geometric binary tree structure is included as a coding tool.

[0314] For example, if the embodiment includes only a triangular binary tree, nodes 2102 and 2104 are not activated. Fig.21 The method is not performed, and the current block can be partitioned according to a vertical or horizontal triangular binary tree.

[0315] In another embodiment, if only a quadrilateral binary tree is included in the implementation, node 2102 is not activated. Therefore, only the quadrilateral binary tree direction is determined at node 2104. If the quadrilateral binary tree direction is fixed to 1, node 2104 is also omitted, so that the operation according to Fig.21 method.

[0316] In addition, even if the geometric binary tree structure is included as a coding tool in the present embodiment, when it is determined that a specific geometric binary tree structure is not allowed in an upper layer data unit such as a sequence parameter set, a picture parameter set, a slice header, a coding tree unit, etc., the disallowed geometric binary tree structure may be excluded from the block partitioning of the current block. In addition, according to the characteristics (size, shape, color component, slice type, etc.) of the current block, the disallowed geometric binary tree structure may be excluded from the block partitioning of the current block.

[0317] The current block may be partitioned according to a geometric binary tree structure, and subblocks determined by the partitioning of the current block may be encoded or decoded without being additionally partitioned.

[0318] Fig. 22 An embodiment of a grammar structure for determining an asymmetric ternary tree structure is shown.

[0319] When it is determined that the current block is split by the asymmetric ternary tree structure at nodes 1916, 1920, 2014, and 2018, and there are two or more asymmetric ternary tree structures allowed for the current block, the asymmetric ternary tree structure of the current block can be divided according to Fig. 22 The asymmetric ternary tree structure determination method selects from two or more asymmetric ternary tree structures.

[0320] According to node 2202, the asymmetric ternary tree direction of the current block is determined. The determination of node 2202 can be performed according to an asymmetric ternary tree direction mark (ATT direction mark) or a characteristic of the current block. When the asymmetric ternary tree direction mark indicates 0, it can be determined that the current block is split in the right or upward direction according to the asymmetric ternary tree structure. On the contrary, when the asymmetric ternary tree direction mark indicates 1, it can be determined that the current block is split in the left or downward direction according to the asymmetric ternary tree structure. In some embodiments, the tree structure indicated by the sign of the asymmetric ternary tree direction mark can be set to the same as Fig. 22 The directions of the asymmetric ternary tree are marked oppositely.

[0321] If the segmentation direction is vertical and the asymmetric ternary tree direction is right, the current block can be segmented according to the vertical right ternary tree. In addition, if the segmentation direction is vertical and the quadrilateral binary tree direction is left, the current block can be segmented according to the vertical left ternary tree. If the segmentation direction is horizontal and the quadrilateral binary tree direction is upward, the current block can be segmented according to the horizontal upward ternary tree. In addition, if the segmentation direction is horizontal and the quadrilateral binary tree direction is downward, the current block can be segmented according to the horizontal downward ternary tree.

[0322] Some asymmetric ternary tree structures may not be used for block segmentation. Therefore, in one embodiment of image encoding and decoding, if only a specific asymmetric ternary tree direction is applied to each segmentation direction, node 2202 may be omitted.

[0323] Furthermore, even if an asymmetric ternary tree structure is included as a coding tool in an embodiment, when it is determined that a specific asymmetric ternary tree structure is not allowed in an upper layer data unit such as a sequence parameter set, a picture parameter set, a slice header, a coding tree unit, etc., the disallowed asymmetric ternary tree structure may be excluded from block partitioning of the current block. Furthermore, depending on the characteristics (size, shape, color component, slice type, etc.) of the current block, the disallowed asymmetric ternary tree structure may be excluded from block partitioning of the current block.

[0324] The current block may be partitioned according to the asymmetric ternary tree structure, and subblocks determined by the partitioning of the current block may be encoded or decoded without being additionally partitioned.

[0325] To summarize the above disclosure, Figures 4 to 7The current block is divided according to the tree structure described in . Then, prediction and / or transform processing can be performed on the divided sub-blocks, or the sub-blocks can be divided again. If a transform is performed on the sub-blocks, the Figures 9 to 18 The residual signal is reordered as described in . Figures 19 to 22 The grammatical structure of can determine the tree structure used to split the current block.

[0326] Fig.23 An embodiment of a video decoding method to which a tree structure determination method for block partitioning is applied is shown.

[0327] In step 2302, based on block partitioning information obtained from a bitstream, a tree structure for partitioning of the current block is determined among candidate tree structures allowed for the current block.

[0328] The candidate tree structure includes a geometric segmentation tree structure, and the geometric segmentation tree structure may include at least one of a triangular quadtree structure, a geometric binary tree structure, and an asymmetric ternary tree structure. In addition, the geometric binary tree structure may include a triangular binary tree structure and a quadrilateral binary tree structure. The triangular binary tree structure may include a vertical triangular binary tree structure and a horizontal triangular binary tree structure. In addition, the quadrilateral binary tree structure may include: a vertical right quadrilateral binary tree structure, a vertical left quadrilateral binary tree structure, a horizontal upward quadrilateral binary tree structure, and a horizontal downward quadrilateral binary tree structure. In addition, the asymmetric ternary tree structure may include a vertical right ternary tree structure, a vertical left ternary tree structure, a horizontal upward ternary tree structure, and a horizontal downward ternary tree structure.

[0329] The block partitioning information may include a triangle quadtree flag indicating a method of partitioning the current block in a rectangular quadtree structure and a triangle quadtree structure, a geometric binary tree flag indicating a method of partitioning the current block in a rectangular binary tree structure and a geometric binary tree structure, and an asymmetric ternary tree flag indicating a method of partitioning the current block in a rectangular ternary tree structure and an asymmetric ternary tree structure.

[0330] The block segmentation information includes a quadtree tag, which indicates a method of segmenting the current block in a quadtree structure and a multi-type tree structure. When the quadtree tag indicates that the method of segmenting the current block is a quadtree structure, a triangle quadtree tag can be obtained from a bitstream.

[0331] The block segmentation information includes a binary tree tag indicating a method of segmenting the current block in a binary tree structure and a ternary tree structure. When the binary tree tag indicates that the method of segmenting the current block is a binary tree structure, a geometric binary tree tag can be obtained from the bitstream. When the binary tree tag indicates that the method of segmenting the current block is a ternary tree structure, an asymmetric ternary tree tag can be obtained from the bitstream.

[0332] The block segmentation information may also include: a GBT shape mark, when the geometric binary tree mark indicates that the segmentation method of the current block is a geometric binary tree structure, the GBT shape mark indicates the method of segmenting the current block in a triangular binary tree structure and a quadrilateral binary tree structure; it may further include a quadrilateral binary tree direction mark, when the GBT shape mark indicates that the segmentation method of the current block is a quadrilateral binary tree structure, the quadrilateral binary tree direction mark indicates the quadrilateral binary tree direction of the current block.

[0333] When the asymmetric ternary tree flag indicates that the method of splitting the current block is an asymmetric ternary tree structure, the block split information may further include an asymmetric ternary tree direction flag indicating an asymmetric ternary tree direction of the current block.

[0334] When a binary tree structure or a ternary tree structure is applied to the current block, the block segmentation information may further include a segmentation direction flag indicating the segmentation direction of the current block in the vertical direction and the horizontal direction. When a binary tree structure is applied to the current block, the binary tree structure applied to the current block may be determined according to the segmentation direction of the current block, and when a ternary tree structure is applied to the current block, the ternary tree structure applied to the current block may be determined according to the segmentation direction of the current block.

[0335] In an upper layer data unit of a current block, when it is determined that a geometric partition tree structure is not allowed for the current block, or if a geometric partition tree structure is not applied to the current block based on at least one of a size, a shape, a color component, and a slice type of the current block, a triangle quadtree flag, a geometric binary tree flag, and an asymmetric ternary tree flag may not be obtained from a bitstream.

[0336] In step 2304, the current block is segmented according to the determined tree structure.

[0337] If the tree structure of the current block is a triangular quadtree structure, the current block can be divided into four triangular blocks of the same size. If the tree structure of the current block is a triangular binary tree structure, the current block can be divided into two triangular blocks of the same size. If the tree structure of the current block is a quadrilateral binary tree structure, the current block can be divided into two quadrilateral blocks instead of rectangles. If the tree structure of the current block is an asymmetric ternary tree structure, the current block can be divided into two triangular blocks and one rectangular block.

[0338] In step 2306, sub-blocks of the current block partitioned from the current block are decoded.

[0339] In response to determining that the geometric partition tree structure is the tree structure of the current block, the sub-block may no longer be partitioned.

[0340] When decoding a sub-block of a current block, if the current block is partitioned according to a geometric partition tree structure, the method may include: a step of determining a plurality of transform regions from the current block according to regions of the sub-blocks; a step of reordering residual signals of a plurality of transform blocks corresponding to the current block in the plurality of transform regions; and a step of determining a residual block including the residual signal of the current block by combining the plurality of transform regions.

[0341] Here, the step of reordering residual signals of multiple transform blocks corresponding to the current block in multiple transform regions may include: the step of scanning the residual signals of the multiple transform blocks in a predetermined first scanning order; and the step of reordering the residual signals scanned in the multiple transform regions in a predetermined second scanning order.

[0342] The predetermined first scanning order may be determined as one of vertical zigzag scanning, horizontal zigzag scanning, and diagonal zigzag scanning, and the predetermined second scanning order may be determined as one of vertical zigzag scanning, horizontal zigzag scanning, and diagonal zigzag scanning.

[0343] Fig.24 An embodiment of a video encoding method to which a tree structure determination method for block partitioning is applied is shown.

[0344] In step 2402, a tree structure for partitioning the current block may be determined from candidate tree structures allowed for the current block. In addition, block partition information representing the tree structure may be encoded.

[0345] The candidate tree structure is the same as described in step 2302. In addition, the syntax elements included in the block partition information are the same as described in step 2302. However, in the encoding step, the syntax elements are generated, and the syntax elements are described as follows.

[0346] When the quadtree flag indicates that the method for segmenting the current block is a quadtree structure, the triangle quadtree flag may be encoded and included in the bitstream. In addition, when the binary tree flag indicates that the method for segmenting the current block is a binary tree structure, the geometric binary tree flag may be encoded and included in the bitstream. In addition, when the asymmetric ternary tree flag indicates that the method for segmenting the current block is a ternary tree structure, the asymmetric ternary tree flag may be encoded and included in the bitstream.

[0347] When the GBT shape flag indicates that a method of partitioning the current block is a quadrilateral binary tree structure, a quadrilateral binary tree direction flag indicating a quadrilateral binary tree direction of the current block may be encoded and included in a bitstream.

[0348] When the asymmetric triple tree flag indicates that a method of splitting the current block is an asymmetric triple tree structure, an asymmetric triple tree direction flag indicating an asymmetric triple tree direction of the current block may be encoded and included in a bitstream.

[0349] When a binary tree structure or a ternary tree structure is applied to the current block, a partition direction flag indicating a partition direction of the current block among vertical and horizontal directions may be encoded and included in a bitstream.

[0350] In step 2404, the current block is segmented according to the determined tree structure. As described with respect to step 2304, in step 2404, the current block may be segmented according to the block segmentation method of each tree structure.

[0351] In step 2406, sub-blocks of the current block partitioned from the current block are encoded.

[0352] In response to determining that the geometric partition tree structure is the tree structure of the current block, the sub-block may no longer be partitioned.

[0353] In the process of encoding sub-blocks of a current block, if the current block is partitioned according to a geometric partition tree structure, it may include: a step of determining a plurality of transform regions from the current block according to regions of the sub-blocks, a step of reordering residual signals of the plurality of transform regions in a plurality of transform blocks corresponding to the current block, and a step of performing transform and quantization on the plurality of transform blocks.

[0354] Here, the step of reordering residual signals of multiple transform regions corresponding to the current block in multiple transform blocks may include: the step of scanning the residual signals of the multiple transform regions in a predetermined second scanning order, and the step of reordering the scanned residual signals in the multiple transform blocks in a predetermined first scanning order.

[0355] The predetermined first scanning order may be determined as one of vertical zigzag scanning, horizontal zigzag scanning, and diagonal zigzag scanning, and the predetermined second scanning order may be determined as one of vertical zigzag scanning, horizontal zigzag scanning, and diagonal zigzag scanning.

[0356] Fig.25 A content streaming system to which an embodiment of the present disclosure is applicable is exemplarily illustrated.

[0357] As in Fig.25 As shown in , a content streaming system to which the embodiments of the present disclosure are applied may mainly include an encoding server, a streaming server, a network server, a media storage, a user device, and a multimedia input device.

[0358] The encoding server compresses the content received from the multimedia input device (such as a smart phone, camera, CCTV, etc.) into digital data to generate a bit stream and transmits it to the streaming server. As another embodiment, if the multimedia input device (e.g., a smart phone, camera, CCTV, etc.) directly generates the bit stream, the encoding server can be omitted.

[0359] A bitstream may be generated by the image encoding method and / or the image encoding apparatus to which the embodiments of the present disclosure are applied, and a streaming server may temporarily store the bitstream in the process of transmitting or receiving the bitstream.

[0360] The streaming server transmits multimedia data to the user device via the network server based on the user request, and the network server can act as an intermediary to inform the user of any available services. When the user requests the desired service from the network server, the network server sends it to the streaming server, and the streaming server can send the multimedia data to the user. At this time, the content streaming system may include a separate control server, in which case the control server can control the command / response between the devices within the content streaming system.

[0361] The streaming server can receive content from a media storage and / or an encoding server. For example, when receiving content from an encoding server, the content can be received in real time. In this case, in order to provide a smooth streaming service, the streaming server can store the bitstream for a specific period of time.

[0362] Embodiments of the user device may include a mobile phone, a smart phone, a laptop computer, a digital broadcast terminal, a personal digital assistant (PDA), a portable multimedia player (PMP), a navigation device, a tablet PC, a tablet PC, an ultrabook, a wearable device (e.g., a smart watch, smart glasses, HMD), a digital TV, a desktop computer, a digital signage, etc.

[0363] Each server in the above content streaming system may operate as a distributed server, in which case data received from each server may be distributed and processed.

[0364] The above embodiments may be performed in the encoding device and the decoding device in the same or corresponding manner. In addition, at least one embodiment of the above embodiments or a combination of at least one of the above embodiments may be used to encode / decode an image.

[0365] In the encoding device and the decoding device, the order of applying the above embodiments may be different. Alternatively, in the encoding device and the decoding device, the order of applying the above embodiments may be the same.

[0366] The above embodiments may be performed for each of the luminance and chrominance signals.Alternatively, the above embodiments for the luminance and chrominance signals may be performed identically.

[0367] In the above-mentioned embodiments, the method is described based on a flowchart having a series of steps or units, but the present disclosure is not limited to the order of the steps, but some steps can be performed simultaneously with other steps or in a different order. In addition, it should be understood by those skilled in the art that the steps in the flowchart are not mutually exclusive, and other steps can be added to the flowchart or some steps can be deleted from the flowchart without affecting the scope of the present disclosure.

[0368] The embodiments may be implemented in the form of program instructions executable by various computer components and recorded in a computer-readable recording medium. The computer-readable recording medium may include independent program instructions, data files, data structures, etc. or a combination of program instructions, data files, data structures, etc. The program instructions recorded in the computer-readable recording medium may be specially designed and constructed for the present disclosure, or may be known to those of ordinary skill in the field of computer software technology.

[0369] The bitstream generated by the encoding method according to the above-described embodiment may be stored in a non-transitory computer-readable recording medium. In addition, the bitstream stored in the non-transitory computer-readable recording medium may be decoded by the decoding method according to the above-described embodiment.

[0370] Examples of computer-readable recording media include magnetic recording media such as hard disks, floppy disks, and magnetic tapes; optical data storage media such as CD-ROMs or DVD-ROMs; magnetic optimal media such as floppy disks; and hardware devices such as read-only memory (ROM), random access memory (RAM), flash memory, etc., which are specially constructed to store and implement program instructions. Examples of program instructions include not only machine language codes formatted by a compiler, but also high-level language codes that can be implemented by a computer using an interpreter. Hardware devices can be configured to be operated by one or more software modules, and vice versa, to perform processing according to the present disclosure.

[0371] Although the present disclosure has been described with respect to specific items such as detailed elements and limited embodiments and drawings, these items are only provided to help a more comprehensive understanding of the present disclosure, and the present disclosure is not limited to the above embodiments. It will be appreciated by those skilled in the art that various modifications and changes may be made from the above description.

[0372] Therefore, the spirit of the present disclosure should not be limited to the above-described embodiments, and the full scope of the appended claims and their equivalents will fall within the scope and spirit of the present disclosure.

[0373] Industrial Applicability

[0374] The present disclosure can be used for an apparatus for encoding / decoding an image and a recording medium for storing a bit stream.

Claims

1. A video decoding method, include: Determining, based on block segmentation information obtained from a bitstream, a tree structure for segmenting the current block from candidate tree structures allowed for the current block; Splitting the current block according to the determined tree structure; and decoding a sub-block of the current block partitioned from the current block, The candidate tree structure includes a geometric partition tree structure, and the geometric partition tree structure includes at least one of a triangular quadtree structure, a geometric binary tree structure or an asymmetric ternary tree structure.

2. The video decoding method according to claim 1, in, When the tree structure of the current block is a triangular quadtree structure, the current block is divided into four triangular blocks having the same size.

3. The video decoding method according to claim 1, in, The geometric binary tree structure includes a triangular binary tree structure and a quadrilateral binary tree structure.

4. The video decoding method according to claim 3, in, When the tree structure of the current block is a triangular binary tree structure, the current block is divided into two triangular blocks having the same size.

5. The video decoding method according to claim 3, in, When the tree structure of the current block is a quadrilateral binary tree structure, the current block is divided into two quadrilateral blocks that are non-rectangular blocks.

6. The video decoding method according to claim 1, in, When the tree structure of the current block is an asymmetric ternary tree structure, the current block is divided into two triangular blocks and one rectangular block.

7. The video decoding method according to claim 1, in, The block segmentation information includes: a triangle quadtree flag indicating a method of partitioning the current block between a rectangular quadtree structure and a triangle quadtree structure, a geometric binary tree flag indicating a method of partitioning the current block between a rectangular binary tree structure and a geometric binary tree structure, and An asymmetric ternary tree flag indicates a method of dividing the current block into a rectangular ternary tree structure and an asymmetric ternary tree structure.

8. The video decoding method according to claim 7, in, The block partitioning information includes a quadtree tag indicating a method of partitioning the current block among a quadtree structure and a multi-type tree structure, and wherein, when the quadtree tag indicates that the method of partitioning the current block is the quadtree structure, the triangle quadtree tag is obtained from the bitstream.

9. The video decoding method according to claim 7, in, The block segmentation information includes a binary tree tag, wherein the binary tree tag indicates a method of segmenting the current block between a binary tree structure and a ternary tree structure, wherein, when the binary tree mark indicates that the method for dividing the current block is a binary tree structure, obtaining the geometric binary tree mark from the bit stream, and When the binary tree mark indicates that the segmentation method of the current block is a ternary tree structure, the asymmetric ternary tree mark is obtained from the bit stream.

10. The video decoding method according to claim 7, in, The block segmentation information also includes: GBT shape flag, when the geometric binary tree flag indicates that the partitioning method of the current block is a geometric binary tree structure, the GBT shape flag indicates a method of partitioning the current block in a triangular binary tree structure and a rectangular binary tree structure, and A rectangular binary tree direction mark, when the GBT shape mark indicates that the method of dividing the current block is a rectangular binary tree structure, the rectangular binary tree direction mark indicates the rectangular binary tree direction of the current block.

11. The video decoding method according to claim 7, in, When the asymmetric ternary tree flag indicates that the method of dividing the current block is an asymmetric ternary tree structure, the block division information further includes an asymmetric ternary tree direction flag indicating the asymmetric ternary tree direction of the current block.

12. The video decoding method according to claim 7, in, When a binary tree structure or a ternary tree structure is applied to the current block, the block partition information further includes a partition direction flag indicating a partition direction of the current block in a vertical direction and a horizontal direction, Wherein, when the binary tree structure is applied to the current block, the binary tree structure applied to the current block is determined according to the segmentation direction of the current block, and When the ternary tree structure is applied to the current block, the ternary tree structure applied to the current block is determined according to the segmentation direction of the current block.

13. The video decoding method according to claim 7, in, When it is determined based on at least one of the size, shape, color component and slice type of the current block that the geometric partition tree structure is not allowed to be used for the current block or the geometric partition tree structure is not applied to the current block, the triangle quadtree flag, the geometric binary tree flag and the asymmetric ternary tree flag are not obtained from the bitstream.

14. The video decoding method according to claim 1, in, Decoding a sub-block of the current block includes: When the current block is partitioned according to the geometric partition tree structure, a plurality of transform regions are determined from the current block according to the regions of the sub-blocks; reordering residual signals of a plurality of transform blocks corresponding to the current block in the plurality of transform regions; and A residual block including the residual signal of the current block is determined by combining the plurality of transform regions.

15. The video decoding method according to claim 14, in, Reordering residual signals of the plurality of transform blocks corresponding to the current block in the plurality of transform regions comprises: scanning the residual signals of the plurality of transform blocks in a predetermined first scanning order; and The scanned residual signals are reordered in the plurality of transform regions in a predetermined second scanning order.

16. The video decoding method according to claim 15, in, The predetermined first scanning order is determined to be one of vertical zigzag scanning, horizontal zigzag scanning and diagonal zigzag scanning, and The predetermined second scanning order is determined to be one of vertical zigzag scanning, horizontal zigzag scanning and diagonal zigzag scanning.

17. The video decoding method according to claim 1, in, In response to determining that the geometric partition tree structure is the tree structure of the current block, the sub-block is not partitioned.

18. A video encoding method, include: determining a tree structure for partitioning the current block among candidate tree structures allowed for the current block and encoding block partitioning information indicating the tree structure; Splitting the current block according to the determined tree structure; as well as encoding a sub-block of the current block split from the current block, The candidate tree structure includes a geometric partition tree structure, and the geometric partition tree structure includes at least one of a triangular quadtree structure, a geometric binary tree structure and an asymmetric ternary tree structure.

19. A bit stream transmission method for transmitting a bit stream, include: Encoding the video data by a video encoding method to generate a bit stream; as well as transmitting the bit stream, The video encoding method includes: determining a tree structure for partitioning the current block among candidate tree structures allowed for the current block and encoding block partitioning information indicating the tree structure; Splitting the current block according to the determined tree structure; and encoding a sub-block of the current block split from the current block, The candidate tree structure includes a geometric partition tree structure, and the geometric partition tree structure includes at least one of a triangular quadtree structure, a geometric binary tree structure or an asymmetric ternary tree structure.

20. A computer-readable recording medium storing a bit stream generated by encoding video data using a video encoding method, wherein the video encoding method include: determining a tree structure for partitioning the current block among candidate tree structures allowed for the current block and encoding block partitioning information indicating the tree structure; Splitting the current block according to the determined tree structure; and encoding a sub-block of the current block split from the current block, The candidate tree structure includes a geometric partition tree structure, and the geometric partition tree structure includes at least one of a triangular quadtree structure, a geometric binary tree structure and an asymmetric ternary tree structure.