Method for encoding / decoding image and apparatus therefor

Adaptive coding units based on block and partition shape information improve video encoding and decoding efficiency and image quality for high-resolution content by using non-square and variable-sized units.

JP2025129288AActive Publication Date: 2025-09-04SAMSUNG ELECTRONICS CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2025111981
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2016-05-10
Filing Date
2025-07-02
Publication Date
2025-09-04
Estimated Expiration
2036-10-10

AI Technical Summary

Technical Problem

Conventional video compression methods using uniform square coding units result in degraded image quality for high-resolution images, necessitating more efficient encoding and decoding processes.

Method used

Adaptive coding units are determined based on block and partition shape information from a bitstream, allowing for non-square and variable-sized coding units to improve image quality.

Benefits of technology

This approach enables efficient video encoding and decoding by utilizing coding units that adapt to the characteristics of the video, enhancing image quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025129288000001_ABST
    Figure 2025129288000001_ABST
Patent Text Reader

Abstract

To provide a method for encoding / decoding an image and an apparatus therefor.SOLUTION: Provided is an image decoding method which comprises the steps of: acquiring, from a bit stream, at least one of block form information and division form information related to a first encoding unit included in an image; determining at least one second encoding unit included in the first encoding unit on the basis of at least one of the acquired block form information and the acquired division form information; and decoding the image on the basis of at least the one second encoding unit, where the block form information indicates a first encoding unit form, and where the division form information indicates that the first encoding unit is divided or is not divided into the second encoding unit. An encoding method corresponding to the decoding method as previously described is provided, and an encoding apparatus and a decoding apparatus which can perform the decoding method and the encoding method as previously described are provided.SELECTED DRAWING: Figure 5
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an apparatus and method for encoding or decoding video using various data units contained in the video. [Background technology]

[0002] The video data is encoded using a codec according to a predetermined data compression standard, for example, the Moving Picture Experts Group (MPEG) standard, and then stored in a recording medium or transmitted via a communication channel in the form of a bitstream.

[0003] With the development and widespread use of hardware capable of playing and storing high-resolution or high-quality video content, there is an increasing need for codecs that can effectively encode or decode high-resolution or high-quality video content. Encoded video content is played back by decoding it. Recently, methods for effectively compressing such high-resolution or high-quality video content have been implemented. For example, an efficient video compression method has been implemented, which involves processing a video to be encoded in a specific manner.

[0004] Various data units are used to compress an image, and there may be an inclusion relationship between such data units. In order to determine the size of the data units used for such image compression, the data units are divided by various methods, and an optimized data unit is determined according to the characteristics of the image, thereby encoding or decoding the image. Summary of the Invention [Problem to be solved by the invention]

[0005] In the case of conventional compression methods, in the process of determining the size of the coding unit contained in a picture, a decision is made as to whether or not to divide the picture, and then a square coding unit is determined through a recursive division process in which the picture is uniformly divided into four coding units of the same size.

[0006] However, in recent years, as the demand for high-resolution images has increased rapidly and the amount of data required for image playback has increased, it has become necessary to perform efficient image encoding and decoding processes, and the degradation of image quality of restored images caused by the use of a uniform square coding unit has become a problem. [Means for solving the problem]

[0007] According to one embodiment, a method for decoding an image includes the steps of: acquiring at least one of block shape information and partition shape information related to a first coding unit included in the image from a bitstream; determining at least one second coding unit included in the first coding unit based on the acquired at least one of the block shape information and the partition shape information; and decoding the image based on the at least one second coding unit, wherein the block shape information indicates a shape of the first coding unit, and the partition shape information indicates whether the first coding unit is partitioned into the second coding units or not.

[0008] According to one embodiment, a video decoding device is also provided, which includes a bitstream acquisition unit that acquires at least one of block type information and partition type information related to a first coding unit included in the video from a bitstream, and a decoding unit that determines at least one second coding unit included in the first coding unit based on the acquired at least one of the block type information and the partition type information, and decodes the video based on the at least one second coding unit, wherein the block type information indicates a type of the first coding unit, and the partition type information indicates whether the first coding unit is partitioned into the second coding units or not.

[0009] According to one embodiment, a method for encoding an image includes generating a bitstream including at least one of block shape information and partition shape information related to a first coding unit included in the image, determining at least one second coding unit included in the first coding unit based on at least one of the block shape information and the partition shape information, and encoding the image based on the at least one second coding unit, wherein the block shape information indicates a shape of the first coding unit and the partition shape information indicates whether the first coding unit is divided into the second coding units or not.

[0010] According to one embodiment, there is also provided an apparatus for encoding video, comprising: a bitstream generator that generates a bitstream including at least one of block type information and partition type information related to a first coding unit included in the video; and an encoder that determines at least one second coding unit included in the first coding unit based on at least one of the block type information and the partition type information, and encodes the video based on the at least one second coding unit, wherein the block type information indicates a type of the first coding unit, and the partition type information indicates whether the first coding unit is partitioned into the second coding units or not. [Effects of the Invention]

[0011] Since various types of coding units can be used in the video encoding and decoding process, coding units that are adaptive to the characteristics of the video can be used, thereby enabling efficient video encoding and decoding and improving the image quality of the restored video. [Brief explanation of the drawings]

[0012] [Figure 1] 1 is a block diagram illustrating a video decoding apparatus capable of decoding video based on at least one of block format information and partition format information, according to an embodiment; [Figure 2] 1 is a block diagram illustrating an image encoding apparatus capable of encoding an image based on at least one of block topology information and partition topology information, according to an embodiment; [Figure 3] 10 is a diagram illustrating a process of dividing a current coding unit and determining at least one coding unit according to an embodiment. [Figure 4] 10 is a diagram illustrating a process of dividing a non-square coding unit and determining at least one coding unit according to an embodiment. [Figure 5]10 is a diagram illustrating a process of dividing a coding unit based on at least one of block shape information and division shape information, according to an embodiment; [Figure 6] 10 is a diagram illustrating a method for determining a predetermined coding unit from among an odd number of coding units, according to an embodiment; [Figure 7] 10 is a diagram illustrating an order in which a plurality of coding units are processed when a current coding unit is divided and a plurality of coding units are determined, according to an embodiment; [Figure 8] 10 is a diagram illustrating a process of determining whether a current coding unit is divided into an odd number of coding units when coding units cannot be processed in a predetermined order, according to an embodiment; [Figure 9] 10 is a diagram illustrating a process of dividing a first coding unit and determining at least one coding unit according to an embodiment. [Figure 10] 10 is a diagram illustrating that when a non-square second coding unit determined by dividing a first coding unit satisfies a predetermined condition, the manner in which the second coding unit may be divided is restricted, according to an embodiment. [Figure 11] 10 is a diagram illustrating a process of dividing a square-shaped coding unit when division form information does not indicate division into four square-shaped coding units, according to an embodiment. [Figure 12] 10 is a diagram illustrating that a processing order among a plurality of coding units varies depending on a division process of the coding units, according to an embodiment. [Figure 13] 10 is a diagram illustrating a process of determining the depth of a coding unit according to changes in the shape and size of the coding unit when the coding unit is recursively divided to determine multiple coding units according to an embodiment. [Figure 14] 10 is a diagram illustrating a depth that can be determined depending on the type and size of a coding unit and an index (PID: part index) for a coding unit division, according to an embodiment. [Figure 15]1 is a diagram illustrating a plurality of coding units being determined based on a plurality of predetermined data units included in a picture, according to an embodiment; [Figure 16] 10 is a diagram illustrating processing blocks that are used as a reference for determining a determination order of reference coding units included in a picture, according to an embodiment; [Figure 17] 10 is a diagram illustrating coding units that may be determined for each picture when the combination of ways in which the coding units may be divided varies for each picture, according to an embodiment; [Figure 18] 10 is a diagram illustrating various types of coding units that can be determined based on division type information that can be expressed by a binary code, according to an embodiment; [Figure 19] 10 is a diagram illustrating another type of coding unit that can be determined based on division type information that can be expressed by a binary code, according to an embodiment; [Figure 20] 1 is a block diagram of a video encoding system and a video decoding system that perform loop filtering; [Figure 21] 10 is a diagram illustrating an example of a filtering unit included in a maximum coding unit and filtering performance information of the filtering unit, according to an embodiment; [Figure 22] 1 is a diagram illustrating a process of merging or splitting coding units determined by a predetermined encoding method according to an embodiment. [Figure 23] 10 is a diagram illustrating indexing of coding units in Z-scan order according to one embodiment. [Figure 24] 10 is a diagram illustrating reference samples for intra prediction of a coding unit according to one embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0013] According to one embodiment, a method for decoding an image includes the steps of: acquiring at least one of block shape information and partition shape information related to a first coding unit included in the image from a bitstream; determining at least one second coding unit included in the first coding unit based on the acquired at least one of the block shape information and the partition shape information; and decoding the image based on the at least one second coding unit, wherein the block shape information indicates a shape of the first coding unit, and the partition shape information indicates whether the first coding unit is partitioned into the second coding units or not.

[0014] In one embodiment of the video decoding method, the step of determining the at least one second coding unit may include a step of determining whether the first coding unit exhibits a square or non-square shape based on the block shape information, and a step of determining the at least one second coding unit based on the determined shape of the first coding unit.

[0015] In one embodiment, the step of determining at least one second coding unit in the video decoding method may include a step of determining a plurality of second coding units having a plurality of sizes based on the division type information.

[0016] In one embodiment, the step of obtaining at least one of the block type information and the partition type information of the video decoding method may be characterized by including a step of obtaining at least one of the block type information and the partition type information from a bitstream relating to a sample at a predetermined position included in the first coding unit.

[0017] According to one embodiment, the video decoding method may further include determining a predetermined second coding unit from the at least one second coding unit, limiting the number of divisions for the predetermined second coding unit, and decoding the video.

[0018] In one embodiment of the video decoding method, the step of decoding the video may include determining a second coding unit located at a predetermined position among the plurality of second coding units, setting a limit on the number of divisions for the predetermined second coding unit, and decoding the video.

[0019] In one embodiment of the image decoding method, the step of decoding the image may include a step of determining a second coding unit from the at least one second coding unit that includes a sample at the predetermined position, and a step of limiting the number of divisions for the determined second coding unit and decoding the image.

[0020] According to one embodiment, the video decoding method may further include determining a base coding unit by dividing the width and height of the largest coding unit, and determining the base coding unit as the first coding unit.

[0021] According to one embodiment, the video decoding method may further include a step of dividing the video into at least one processing block including at least one largest coding unit, and the processing order of the at least one largest coding unit included in the at least one processing block may vary depending on the processing block.

[0022] In one embodiment of a video decoding method, the step of determining at least one second coding unit may include, if the division format information related to the first coding unit indicates vertical and horizontal division, dividing the first coding unit vertically or horizontally to determine a plurality of second coding units, and the plurality of second coding units may be characterized in that none of the plurality of second coding units are divided in a direction perpendicular to the direction in which the first coding unit is divided.

[0023] According to one embodiment, the video decoding method may further include determining a depth of each coding unit based on the long side length of the first coding unit and the at least one second coding unit.

[0024] In one embodiment, a video decoding method may be characterized in that the processing order of at least one third coding unit determined by dividing one of the at least one second coding unit may be determined based on the division form of the second coding unit related to the at least one third coding unit.

[0025] In one embodiment, a video decoding device is provided, which includes a bitstream acquisition unit that acquires at least one of block type information and partition type information related to a first coding unit included in the video from a bitstream, and a decoding unit that determines at least one second coding unit included in the first coding unit based on the acquired at least one of the block type information and the partition type information, and decodes the video based on the at least one second coding unit, wherein the block type information indicates a type of the first coding unit, and the partition type information indicates whether the first coding unit is partitioned into the second coding units or not.

[0026] In one embodiment, a method for encoding an image includes generating a bitstream including at least one of block type information and partition type information related to a first coding unit included in the image, determining at least one second coding unit included in the first coding unit based on at least one of the block type information and the partition type information, and encoding the image based on the at least one second coding unit, wherein the block type information indicates a type of the first coding unit and the partition type information indicates whether the first coding unit is partitioned into the second coding units or not.

[0027] In one embodiment, an apparatus for encoding video includes a bitstream generator that generates a bitstream including at least one of block type information and partition type information related to a first coding unit included in the video, and an encoder that determines at least one second coding unit included in the first coding unit based on at least one of the block type information and the partition type information, and encodes the video based on the at least one second coding unit, wherein the block type information indicates a type of the first coding unit, and the partition type information indicates whether the first coding unit is partitioned into the second coding units or not.

[0028] The advantages and features of the present invention, as well as methods for achieving them, will become apparent from the following detailed description of the embodiments taken in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, and may be embodied in various different forms. However, the present embodiments are provided so that this disclosure will be complete and will fully convey the scope of the invention to those skilled in the art.

[0029] The terms used in this specification will be briefly explained below, and the present invention will be described in detail.

[0030] The terms used in this invention are currently commonly used and have been selected as much as possible while taking into consideration the functions of the present invention. However, they may vary depending on the intentions of those skilled in the art, precedents, or the emergence of new technologies. In addition, in certain cases, the applicant may arbitrarily select terms, and in such cases, their meanings will be described in detail in the description of the invention. Therefore, the terms used in this invention must be defined based on the meanings that the terms have and the overall content of the present invention, rather than simply by their names.

[0031] In this specification, the singular expression includes the plural expression unless the context clearly dictates otherwise.

[0032] Throughout this specification, when a section "comprises" a certain component, it does not mean that it excludes other components and may further include other components, unless specifically stated to the contrary. Furthermore, the term "module" used in this specification refers to a software component or a hardware component such as an FPGA (field-programmable gate array) or an ASIC (application-specific integrated circuit), and a "module" performs a certain function. However, "module" is not limited to software or hardware. A "module" may be configured to reside on an addressable storage medium or to execute one or more processors. Thus, by way of example, "module" includes components such as software components, object-oriented software components, class components, and task components, as well as processes, functions, attributes, procedures, subroutines, program code segments, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables. The functionality provided in a component or "module" may be combined into fewer components and "modules," or may be further separated into additional components and "modules."

[0033] Hereinafter, "image" can refer to a static image, such as a still image from a video, or to a moving image, i.e., a moving image, such as the video itself.

[0034] Hereinafter, a "sample" refers to data assigned to a sampling position in an image and to data to be processed. For example, a pixel value in an image in the spatial domain and a transform coefficient in the transform domain are also samples. A unit including at least one such sample can be defined as a block.

[0035] Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily carry out the present invention. In the drawings, portions that are not relevant to the description will be omitted in order to clearly explain the present invention.

[0036] FIG. 1 illustrates a block diagram of a video decoding device 100 capable of decoding video based on at least one of block format information and partition format information, according to an embodiment.

[0037] 1, according to an embodiment, the video decoding device 100 may include a bitstream acquiring unit 110 for acquiring predetermined information, such as partition type information and block type information, from a bitstream, and a decoding unit 120 for decoding an image using the acquired information. According to an embodiment, when the bitstream acquiring unit 110 of the video decoding device 100 acquires at least one of the block type information and the partition type information, the decoding unit 120 of the video decoding device 100 may determine at least one coding unit for dividing an image based on at least one of the block type information and the partition type information.

[0038] According to an embodiment, the decoder 120 of the video decoding apparatus 100 may determine the shape of the coding unit based on block shape information. For example, the block shape information may include information indicating whether the coding unit is square or non-square. The decoder 120 may determine the shape of the coding unit using the block shape information.

[0039] According to an embodiment, the decoder 120 may determine how a coding unit is to be divided based on the division type information. For example, the division type information may indicate information related to the type of at least one coding unit included in the coding unit.

[0040] According to one embodiment, the decoder 120 may determine whether a coding unit is to be split or not split based on the split type information. The split type information may include information related to at least one coding unit included in the coding unit, and if the split type information indicates that the coding unit includes only one coding unit or indicates that it is not split, the decoder 120 may determine that the coding unit including the split type information is not to be split. If the split type information indicates that the coding unit is to be split into multiple coding units, the decoder 120 may split the coding unit into the multiple coding units included in the coding unit based on the split type information.

[0041] According to an embodiment, the division form information may indicate how many coding units a coding unit is divided into or in which direction the coding unit is divided, for example, the division form information may indicate division in at least one of the vertical direction and the horizontal direction, or may indicate no division.

[0042] FIG. 3 illustrates a process in which the video decoding apparatus 100 divides a current coding unit and determines at least one coding unit, according to an embodiment.

[0043] According to one embodiment, the decoder 120 may determine the type of coding unit using block type information, and may determine the type of division of the coding unit using the division type information. That is, the division method of the coding unit indicated by the division type information may be determined depending on the block type indicated by the block type information used by the decoder 120.

[0044] According to one embodiment, the decoder 120 may use block shape information indicating that the current coding unit is square. For example, the decoder 120 may determine whether to not split the square coding unit, split it vertically, split it horizontally, or split it into four coding units, based on the partition shape information. Referring to FIG. 3, when the block shape information of the current coding unit 300 indicates a square shape, the decoder 120 may not split a coding unit 310a having the same size as the current coding unit 300 based on the partition shape information indicating no partition, or may determine divided coding units 310b, 310c, and 310d based on the partition shape information indicating a predetermined partitioning method.

[0045] 3, according to one embodiment, the decoder 120 may determine two coding units 310b obtained by vertically dividing the current coding unit 300 based on the division type information indicating that the current coding unit 300 is divided vertically. The decoder 120 may determine two coding units 310c obtained by horizontally dividing the current coding unit 300 based on the division type information indicating that the current coding unit 300 is divided horizontally. The decoder 120 may determine four coding units 310d obtained by vertically and horizontally dividing the current coding unit 300 based on the division type information indicating that the current coding unit 300 is divided vertically and horizontally. However, the division type into which a square coding unit may be divided is not limited to the above-described type, and may include various types that can be indicated by the division type information. Predetermined division types into which a square coding unit may be divided will be described in detail below through various embodiments.

[0046] FIG. 4 illustrates a process in which the video decoding apparatus 100 divides a non-square coding unit and determines at least one coding unit, according to an embodiment.

[0047] According to one embodiment, the decoder 120 may use block shape information indicating that the current coding unit is non-square. The decoder 120 may determine whether to not split the non-square current coding unit or to split it in a predetermined manner based on the splitting type information. Referring to FIG. 4, when the block shape information of the current coding unit 400 or 450 indicates a non-square shape, the decoder 120 may not split the coding unit 410 or 460 having the same size as the current coding unit 400 or 450 based on the splitting type information indicating no splitting, or may determine split coding units 420a, 420b, 430a, 430b, 430c, 470a, 470b, 480a, 480b, and 480c based on the splitting type information indicating a predetermined splitting method. The predetermined splitting method for splitting a non-square coding unit will be described in detail below through various embodiments.

[0048] According to an embodiment, the decoder 120 may determine a manner in which a coding unit is divided using the division type information, and in this case, the division type information may indicate the number of coding units to be generated by dividing the coding unit. Referring to FIG. 4, if the division type information indicates that the current coding unit 400 or 450 is to be divided into two coding units, the decoder 120 may divide the current coding unit 400 or 450 based on the division type information and determine two coding units 420a and 420b or 470a and 470b included in the current coding unit.

[0049] According to an embodiment, when the decoder 120 divides the non-square current coding unit 400 or 450 based on the division type information, the decoder 120 may divide the current coding unit by considering the position of the long side of the non-square current coding unit 400 or 450. For example, the decoder 120 may determine a plurality of coding units by dividing the current coding unit 400 or 450 in a direction that divides the long side of the current coding unit 400 or 450 by considering the shape of the current coding unit 400 or 450.

[0050] According to one embodiment, if the partitioning type information indicates that a coding unit is to be divided into an odd number of blocks, the decoder 120 may determine an odd number of coding units included in the current coding unit 400 or 450. For example, if the partitioning type information indicates that the current coding unit 400 or 450 is to be divided into three coding units, the decoder 120 may divide the current coding unit 400 or 450 into three coding units 430a, 430b, 430c, 480a, 480b, and 480. According to one embodiment, the decoder 120 may determine an odd number of coding units included in the current coding unit 400 or 450, and the determined coding units may not all be the same size. For example, the size of a given coding unit 430b or 480b among the determined odd number of coding units 430a, 430b, 430c, 480a, 480b, and 480 may be different from the other coding units 430a, 430c, 480a, and 480c. That is, the coding units that may be determined by dividing the current coding unit 400 or 450 may have a variety of sizes, and in some cases, the odd number of coding units 430a, 430b, 430c, 480a, 480b, and 480 may have different sizes.

[0051] According to an embodiment, when the division type information indicates that a coding unit is to be divided into an odd number of blocks, the decoder 120 may determine the odd number of coding units included in the current coding unit 400 or 450, and may further impose a predetermined restriction on at least one of the odd number of coding units generated by the division. Referring to FIG. 4, the decoder 120 may perform a different decoding process for the central coding units 430b and 480b among the three coding units 430a, 430b, 430c, 480a, 480b, and 480 generated by dividing the current coding unit 400 or 450 than for the other coding units 430a, 430c, 480a, and 480c. For example, the decoder 120 may restrict the central coding units 430b and 480b from being further divided or may restrict them to being divided a predetermined number of times, unlike the other coding units 430a, 430c, 480a, and 480c.

[0052] FIG. 5 illustrates a process in which the video decoding apparatus 100 divides a coding unit based on at least one of block type information and partition type information, according to an embodiment.

[0053] According to an embodiment, the decoder 120 may determine whether to divide the square-shaped first coding unit 500 into coding units or not based on at least one of block shape information and division shape information. According to an embodiment, if the division shape information indicates that the first coding unit 500 is to be divided horizontally, the decoder 120 may divide the first coding unit 500 horizontally to determine the second coding unit 510. The terms "first coding unit," "second coding unit," and "third coding unit" used in an embodiment are terms used to understand the division relationship between coding units. For example, if the first coding unit is divided, the second coding unit may be determined, and if the second coding unit is divided, the third coding unit may be determined. The relationship between the first coding unit, the second coding unit, and the third coding unit used below is understood to be based on the above-described characteristics.

[0054] According to an embodiment, the video decoding apparatus 100 may determine whether to divide the determined second coding unit 510 into coding units based on at least one of block shape information and partition shape information. Referring to FIG. 5, the decoder 120 may divide the non-square second coding unit 510, determined by dividing the first coding unit 500, into at least one third coding unit 520a, 520b, 520c, and 520d based on at least one of block shape information and partition shape information, or may not divide the second coding unit 510. The bitstream acquisition unit 110 of the video decoding device 100 can acquire at least one of block type information and partition type information, and the decoding unit 120 can divide the first coding unit 500 based on at least one of the acquired block type information and partition type information, for example, into multiple second coding units 510 of various types, and the second coding units 510 can be divided according to the manner in which the first coding unit 500 was divided based on at least one of the block type information and partition type information.

[0055] According to an embodiment, if the first coding unit 500 is divided into the second coding units 510 based on at least one of the block shape information and the partition shape information related to the first coding unit 500, the second coding unit 510 may also be divided into, for example, the third coding units 520a, 520b, 520c, and 520d based on at least one of the block shape information and the partition shape information related to the second coding unit 510. That is, the coding units may be recursively divided based on at least one of the partition shape information and the block shape information related to each coding unit. Thus, for a non-square coding unit, a square coding unit may be determined, and the square coding unit may be recursively divided to determine a non-square coding unit. 5, among the odd number of third coding units 520b, 520c, and 520d determined by dividing the non-square second coding unit 510, a predetermined coding unit (e.g., a central coding unit or a square-shaped coding unit) may be recursively divided. According to one embodiment, the square-shaped third coding unit 520c, which is one of the odd number of third coding units 520b, 520c, and 520d, may be divided horizontally into a plurality of fourth coding units. The non-square-shaped fourth coding unit 540, which is one of the plurality of fourth coding units, may be further divided into a plurality of coding units. For example, the non-square-shaped fourth coding unit 540 may be further divided into an odd number of coding units 550a, 550b, and 550c.

[0056] Methods used for recursively dividing coding units will be described below in various embodiments.

[0057] According to an embodiment, the decoder 120 may determine whether to divide each of the third coding units 520a, 520b, 520c, and 520d into coding units or not to divide the second coding unit 510 based on at least one of the block shape information and the partition shape information. According to an embodiment, the decoder 120 may divide the non-square second coding unit 510 into an odd number of third coding units 520b, 520c, and 520d. The video decoder 100 may impose a certain restriction on certain third coding units among the odd number of third coding units 520b, 520c, and 520d. For example, the video decoder 100 may restrict the middle coding unit 520c among the odd number of third coding units 520b, 520c, and 520d so that it cannot be further divided or so that it must be divided a configurable number of times. 5, the video decoding device 100 may restrict the center coding unit 520c of the odd number of third coding units 520b, 520c, and 520d included in the non-square second coding unit 510 to not be further divided, to be divided into a predetermined division pattern (e.g., into only four coding units or into a division pattern corresponding to the division pattern of the second coding unit 510), or to be divided into a predetermined number of times (e.g., divided into n times (n>0)). However, the above restriction on the center coding unit 520c is merely a simple embodiment and should not be construed as being limited to the above embodiment, but should be construed as including various restrictions such as the center coding unit 520c being decoded differently from the other coding units 520b and 520d.

[0058] According to an embodiment, the video decoding apparatus 100 may acquire at least one of block type information and partition type information used to partition the current coding unit at a predetermined position within the current coding unit.

[0059] 6 illustrates a method by which the decoder 120 determines a predetermined coding unit from among an odd number of coding units, according to an embodiment. Referring to FIG. 6, at least one of block shape information and partition shape information of a current coding unit 600 is also obtained from a sample at a predetermined position among a plurality of samples included in the current coding unit 600 (e.g., a sample 640 located in the middle). However, the predetermined position within the current coding unit 600 from which at least one of the block shape information and partition shape information is obtained is not limited to the center position shown in FIG. 6, but may include various positions within the current coding unit 600 (e.g., top, bottom, left, right, top left, bottom left, top right, bottom right, etc.). The video decoding device 100 may obtain at least one of the block shape information and partition shape information obtained from the predetermined position and determine whether to divide the current coding unit into coding units of various shapes and sizes, or not to divide the current coding unit.

[0060] According to an embodiment, when a current coding unit is divided into a predetermined number of coding units, the video decoding apparatus 100 may select one of the coding units. There are various methods for selecting one of the plurality of coding units, and such methods will be described later through various embodiments.

[0061] According to an embodiment, the decoder 120 of the video decoding apparatus 100 may divide a current coding unit into a plurality of coding units and determine a coding unit at a predetermined position.

[0062] FIG. 6 illustrates a method for the video decoding apparatus 100 to determine a coding unit at a predetermined position among an odd number of coding units, according to an embodiment.

[0063] According to one embodiment, the decoder 120 may use information indicating the positions of each odd-numbered coding unit to determine a middle coding unit among the odd-numbered coding units. Referring to FIG. 6, the decoder 120 may divide the current coding unit 600 to determine odd-numbered coding units 620a, 620b, and 620c. The decoder 120 may determine the middle coding unit 620b using information regarding the positions of the odd-numbered coding units 620a, 620b, and 620c. For example, the decoder 120 may determine the positions of the coding units 620a, 620b, and 620c based on information indicating the positions of certain samples included in the coding units 620a, 620b, and 620c to determine the middle coding unit 620b. Specifically, the decoding unit 120 can determine the middle coding unit 620b by determining the positions of the coding units 620a, 620b, and 620c based on information indicating the positions of the upper left samples 630a, 630b, and 630c of the coding units 620a, 620b, and 620c.

[0064] According to some embodiments, the information indicating the positions of the top left samples 630a, 630b, and 630c included in the coding units 620a, 620b, and 620c, respectively, may include information regarding the positions or coordinates of the coding units 620a, 620b, and 620c within the picture. According to some embodiments, the information indicating the positions of the top left samples 630a, 630b, and 630c included in the coding units 620a, 620b, and 620c, respectively, may include information regarding the width or height of the coding units 620a, 620b, and 620c included in the current coding unit 600, where the width or height corresponds to information indicating the difference between the coordinates of the coding units 620a, 620b, and 620c within the picture. That is, the video decoding device 100 can determine the coding unit 620b located in the middle by directly using information related to the positions or coordinates of the coding units 620a, 620b, and 620c within the picture, or by using information related to the width or height of the coding units that indicates the difference between the coordinates.

[0065] According to an embodiment, information indicating the position of the top left sample 630a of the top coding unit 620a may indicate (xa, ya) coordinates, information indicating the position of the top left sample 630b of the middle coding unit 620b may indicate (xb, yb) coordinates, and information indicating the position of the top left sample 630c of the bottom coding unit 620c may indicate (xc, yc) coordinates. The video decoding device 100 may determine the middle coding unit 620b using the coordinates of the top left samples 630a, 630b, and 630c included in the coding units 620a, 620b, and 620c, respectively. For example, when the coordinates of the top left samples 630a, 630b, and 630c are sorted in ascending or descending order, the coding unit 620b including the coordinates (xb, yb) of the middle sample 630b may be determined as the middle coding unit among the coding units 620a, 620b, and 620c obtained by dividing the current coding unit 600. However, the coordinates indicating the positions of the top left samples 630a, 630b, and 630c may indicate absolute positions within a picture. Furthermore, (dxb, dyb) coordinates indicating the relative position of the top left sample 630b of the middle coding unit 620b and (dxc, dyc) coordinates indicating the relative position of the top left sample 630c of the bottom coding unit 620c may be used. Furthermore, the method of determining a coding unit at a predetermined position by using the coordinates of the sample as information indicating the position of the sample included in the coding unit should not be interpreted as being limited to the above-mentioned method, but should be interpreted as various arithmetic methods that can use the coordinates of the sample.

[0066] According to an embodiment, the video decoding device 100 may divide the current coding unit 600 into a plurality of coding units 620a, 620b, and 620c and may select a coding unit from the coding units 620a, 620b, and 620c according to a predetermined criterion. For example, the decoder 120 may select a coding unit 620b having a different size from the coding units 620a, 620b, and 620c.

[0067] According to an embodiment, the video decoding device 100 may determine the width or height of each of the coding units 620a, 620b, and 620c using the (xa, ya) coordinates indicating the position of the top left sample 630a of the top coding unit 620a, the (xb, yb) coordinates indicating the position of the top left sample 630b of the middle coding unit 620b, and the (xc, yc) coordinates indicating the position of the top left sample 630c of the bottom coding unit 620c. The video decoding device 100 may determine the size of each of the coding units 620a, 620b, and 620c using the (xa, ya), (xb, yb), and (xc, yc) coordinates indicating the positions of the coding units 620a, 620b, and 620c.

[0068] According to an embodiment, the video decoding device 100 may determine the width of the top coding unit 620a as xb-xa and the height as yb-ya. According to an embodiment, the decoder 120 may determine the width of the middle coding unit 620b as xc-xb and the height as yc-yb. According to an embodiment, the decoder 120 may determine the width or height of the bottom coding unit using the width or height of the current coding unit and the widths and heights of the top coding unit 620a and the middle coding unit 620b. The decoder 120 may determine one coding unit having a different size from the other coding units based on the determined widths and heights of the coding units 620a, 620b, and 620c. Referring to FIG. 6, the video decoding device 100 may determine the middle coding unit 620b, having a different size from the top coding unit 620a and the bottom coding unit 620c, as a coding unit of a predetermined position. However, the process in which the video decoding device 100 determines coding units having different sizes from different coding units is merely one embodiment of determining a coding unit at a predetermined position using the size of the coding unit determined based on sample coordinates, and various other processes may be used to determine a coding unit at a predetermined position by comparing the size of the coding unit determined based on predetermined sample coordinates.

[0069] However, the position of the sample considered to determine the position of the coding unit is not interpreted as being limited to the upper left end as mentioned above, but may also be interpreted as using information related to the position of any sample included in the coding unit.

[0070] According to an embodiment, the video decoding apparatus 100 may select a coding unit at a predetermined position from among an odd number of coding units determined by dividing the current coding unit, taking into account the shape of the current coding unit. For example, if the current coding unit has a non-square shape in which the width is greater than the height, the decoder 120 may determine a coding unit at a predetermined position along the horizontal direction. That is, the decoder 120 may determine one of the coding units at a different position in the horizontal direction and set a constraint on the coding unit. If the current coding unit has a non-square shape in which the height is greater than the width, the decoder 120 may determine a coding unit at a predetermined position along the vertical direction. That is, the decoder 120 may determine one of the coding units at a different position in the vertical direction and set a constraint on the coding unit.

[0071] According to an embodiment, the video decoding apparatus 100 may use information indicating the positions of each of the even-numbered coding units to determine a coding unit at a predetermined position among the even-numbered coding units. The decoding unit 120 may divide the current coding unit to determine the even-numbered coding units, and may determine the coding unit at a predetermined position using information regarding the positions of the even-numbered coding units. A detailed process related to this process is similar to the process of determining a coding unit at a predetermined position (e.g., the middle position) among the odd-numbered coding units described with reference to FIG. 6, and therefore will not be described further.

[0072] According to an embodiment, when a non-square current coding unit is divided into a plurality of coding units, predetermined information related to the coding unit at a predetermined position may be used in the division process to determine a coding unit at a predetermined position among the plurality of coding units. For example, the decoder 120 of the video decoding device 100 may use at least one of block shape information and partition shape information stored in a sample included in the middle coding unit in the division process to determine a coding unit at a middle position among the plurality of coding units into which the current coding unit is divided.

[0073] 6, the decoder 120 of the video decoding device 100 may divide a current coding unit 600 into a plurality of coding units 620a, 620b, and 620c based on at least one of block shape information and partition shape information, and may determine a central coding unit 620b among the plurality of coding units 620a, 620b, and 620c. Furthermore, the decoder 120 may determine the central coding unit 620b by considering a position where at least one of block shape information and partition shape information is obtained. That is, when at least one of the block shape information and partition shape information of the current coding unit 600 is obtained from a sample 640 located in the middle of the current coding unit 600 and the current coding unit 600 is divided into a plurality of coding units 620a, 620b, and 620c based on at least one of the block shape information and the partition shape information, the decoder 120 may determine the coding unit 620b including the sample 640 as the central coding unit. However, the information used to determine the coding unit located in the middle is not interpreted as being limited to at least one of block shape information and division shape information, but various types of information are used in the process of determining the coding unit located in the middle.

[0074] According to one embodiment, predetermined information for identifying a coding unit at a predetermined position may also be obtained from a predetermined sample included in the coding unit to be determined. Referring to FIG. 6, the decoder 120 may use at least one of block shape information and partition shape information obtained from a sample at a predetermined position within the current coding unit 600 (e.g., a sample located at the center of the current coding unit 600) to determine a coding unit at a predetermined position (e.g., a coding unit located at the center of the current coding unit 600) among multiple coding units 620a, 620b, and 620c determined by dividing the current coding unit 600. That is, the decoder 120 may determine the sample at the predetermined position by considering the block shape of the current coding unit 600, and may determine a coding unit 620b including a sample from which predetermined information (e.g., at least one of block shape information and partition shape information) is obtained among multiple coding units 620a, 620b, and 620c determined by dividing the current coding unit 600, and may set a predetermined restriction. 6, according to one embodiment, the decoder 120 may determine a sample 640 located in the middle of the current coding unit 600 as a sample from which certain information is acquired, and may set a certain restriction in the decoding process for a coding unit 620b including such sample 640. However, the position of the sample from which certain information is acquired is not construed as being limited to the above-mentioned position, but may be construed as a sample at any position included in the coding unit 620b to be determined for setting the restriction.

[0075] According to one embodiment, the position of a sample from which certain information is acquired may be determined based on the shape of the current coding unit 600. According to one embodiment, block shape information may determine whether the shape of the current coding unit is square or non-square, and the position of a sample from which certain information is acquired may be determined based on the shape. For example, the decoder 120 may determine, using at least one of information related to the width and information related to the height of the current coding unit, a sample located on a boundary that divides at least one of the width and height of the current coding unit in half as the sample from which certain information is acquired. For another example, if the block shape information related to the current coding unit indicates a non-square shape, the decoder 120 may determine, as the sample from which certain information is acquired, one of the samples adjacent to a boundary that divides the long side of the current coding unit in half.

[0076] According to an embodiment, when the video decoding apparatus 100 divides a current coding unit into a plurality of coding units, the video decoding apparatus 100 may use at least one of block type information and partition type information to determine a coding unit at a predetermined position among the plurality of coding units. According to an embodiment, the bitstream obtaining unit 110 may obtain at least one of block type information and partition type information from samples at predetermined positions included in the coding unit, and the decoding unit 120 may divide the plurality of coding units generated by dividing the current coding unit using at least one of partition type information and block type information obtained from samples at predetermined positions included in each of the plurality of coding units. That is, the coding unit may be recursively divided using at least one of block type information and partition type information obtained from samples at predetermined positions included in each of the plurality of coding units. The recursive division process of a coding unit has been described with reference to FIG. 5, and therefore, a detailed description thereof will be omitted.

[0077] According to one embodiment, the video decoding device 100 can divide the current coding unit and determine at least one coding unit, and can determine the order in which such at least one coding unit is decoded based on a predetermined block (e.g., the current coding unit).

[0078] FIG. 7 illustrates an order in which multiple coding units are processed when the video decoding apparatus 100 divides a current coding unit and determines multiple coding units, according to an embodiment.

[0079] According to one embodiment, the decoding unit 120 may divide the first coding unit 700 vertically and determine the second coding units 710a and 710b, or may divide the first coding unit 700 horizontally and determine the second coding units 730a and 730b, or may divide the first coding unit 700 vertically and horizontally and determine the second coding units 750a, 750b, 750c, and 750d, based on the block format information and the division format information.

[0080] 7, the decoder 120 may determine the order of processing second coding units 710a and 710b, which are determined by dividing the first coding unit 700 in the vertical direction, in a horizontal direction 710c. The video decoding device 100 may determine the processing order of second coding units 730a and 730b, which are determined by dividing the first coding unit 700 in the horizontal direction, in a vertical direction 730c. The video decoding device 100 may determine the processing order of second coding units 750a, 750b, 750c, and 750d, which are determined by dividing the first coding unit 700 in the vertical and horizontal directions, in a predetermined order (e.g., raster scan order or z scan order 750e) in which coding units located in one row are processed before coding units located in the next row are processed.

[0081] According to an embodiment, the video decoding apparatus 100 may recursively divide a coding unit (CTU). Referring to Figure 7, the decoder 120 may divide a first coding unit (CTU) 700 to determine a plurality of CTUs 710a, 710b, 730a, 730b, 750a, 750b, 750c, and 750d, and may recursively divide each of the determined CTUs 710a, 710b, 730a, 730b, 750a, 750b, 750c, and 750d. A method of dividing the plurality of CTUs 710a, 710b, 730a, 730b, 750a, 750b, 750c, and 750d may be similar to a method of dividing the first coding unit 700. 7, the decoder 120 may divide the first coding unit 700 vertically to determine the second coding units 710a and 710b, and may further determine whether to divide each of the second coding units 710a and 710b independently.

[0082] According to an embodiment, the decoder 120 may horizontally divide the second coding unit 710a on the left side into third coding units 720a and 720b, and may not divide the second coding unit 710b on the right side.

[0083] According to an embodiment, the processing order of the coding units may be determined based on the division process of the coding units. In other words, the processing order of the divided coding units may be determined based on the processing order of the coding units before division. The decoder 120 may determine the processing order of the third coding units 720a and 720b, which are determined by dividing the second coding unit 710a on the left side, independently of the second coding unit 710b on the right side. Since the second coding unit 710a on the left side is divided horizontally to determine the third coding units 720a and 720b, the third coding units 720a and 720b are also processed in the vertical direction 720c. Furthermore, since the processing order of the second coding unit 710a on the left side and the second coding unit 710b on the right side corresponds to the horizontal direction 710c, the third coding units 720a and 720b included in the second coding unit 710a on the left side are processed in the vertical direction 720c, and then the right coding unit 710b is processed. The above content is intended to explain the process by which the processing order of each coding unit is determined based on the coding unit before division, and therefore should not be interpreted as being limited to the above embodiment, but should be interpreted as being used in various methods in which coding units determined by division in various forms are processed independently in a predetermined order.

[0084] FIG. 8 illustrates a process in which the video decoding apparatus 100 determines that a current coding unit is to be divided into an odd number of coding units when the coding units cannot be processed in a predetermined order, according to an embodiment.

[0085] According to one embodiment, the video decoding apparatus 100 may determine that a current coding unit is to be divided into an odd number of coding units based on the block type information and the partition type information acquired by the bitstream acquisition unit 110. Referring to Figure 8, a square-shaped first coding unit 800 may be divided into non-square-shaped second coding units 810a and 810b, and the second coding units 810a and 810b may be independently divided into third coding units 820a, 820b, 820c, 820d, and 820e. According to one embodiment, the decoding unit 120 may divide the left coding unit 810a of the second coding unit horizontally to determine a plurality of third coding units 820a and 820b, and may divide the right coding unit 810b into an odd number of third coding units 820c, 820d, and 820e.

[0086] According to an embodiment, the decoder 120 may determine whether the third coding units 820a, 820b, 820c, 820d, and 820e are processed in a predetermined order, and determine whether there are any coding units divided into an odd number of coding units. Referring to FIG. 8, the decoder 120 may recursively divide the first coding unit 800 to determine the third coding units 820a, 820b, 820c, 820d, and 820e. The decoder 120 may determine whether the first coding unit 800, the second coding units 810a, 810b, or the third coding units 820a, 820b, 820c, 820d, and 820e are divided into an odd number of coding units based on at least one of block type information and partition type information. For example, the coding unit located on the right side of the second coding units 810a and 810b may be divided into an odd number of third coding units 820c, 820d, and 820e. The order in which the coding units included in the first coding unit 800 are processed may be a predetermined order (e.g., z scan order 830), and the decoding unit 120 may determine whether the third coding units 820c, 820d, and 820e determined by dividing the right second coding unit 810b into an odd number of coding units satisfy the condition for processing in the predetermined order.

[0087] According to one embodiment, the video decoding device 100 can determine whether the third coding units 820a, 820b, 820c, 820d, and 820e included in the first coding unit 800 satisfy a condition for being processed in a predetermined order, and the condition relates to whether at least one of the width and height of the second coding units 810a and 810b is divided in half along the boundary of the third coding units 820a, 820b, 820c, 820d, and 820e. For example, third coding units 820a and 820b, which are determined by dividing the height of the non-square left second coding unit 810a in half, satisfy the condition, but third coding units 820c, 820d, and 820e, which are determined by dividing the right second coding unit 810b into three coding units, do not satisfy the condition because the boundaries of the third coding units 820c, 820d, and 820e do not divide the width or height of the right second coding unit 810b in half. The video decoding device 100 may determine that such unsatisfied condition indicates a discontinuity in the scanning order and, based on the determination result, may determine that the right second coding unit 810b is divided into an odd number of coding units. According to an embodiment, the video decoding device 100 may impose a predetermined restriction on coding units at predetermined positions among the divided coding units when the coding units are divided into an odd number of coding units. The content of such restriction and the predetermined positions have been described in various embodiments, and therefore further description thereof will be omitted.

[0088] 9 illustrates a process in which the video decoding apparatus 100 divides a first coding unit 900 and determines at least one coding unit, according to an embodiment. According to an embodiment, the decoder 120 may divide the first coding unit 900 based on at least one of block shape information and partition shape information acquired via the bitstream acquisition unit 110. The square-shaped first coding unit 900 may be divided into four square-shaped coding units or into a plurality of non-square coding units. For example, referring to FIG. 9, if the block shape information indicates that the first coding unit 900 is square and the partition shape information indicates that the first coding unit 900 is to be divided into non-square coding units, the decoder 120 may divide the first coding unit 900 into a plurality of non-square coding units. Specifically, if the division form information indicates that the first coding unit 900 is to be divided horizontally or vertically to determine an odd number of coding units, the decoding unit 120 can divide the square-shaped first coding unit 900 into second coding units 910a, 910b, and 910c that are determined by dividing it vertically, or second coding units 920a, 920b, and 920c that are determined by dividing it horizontally, as an odd number of coding units.

[0089] According to an embodiment, the decoder 120 may determine whether the second coding units 910a, 910b, 910c, 920a, 920b, and 920c included in the first coding unit 900 satisfy a condition for being processed in a predetermined order, where the condition relates to whether at least one of the width and height of the first coding unit 900 is divided in half along the boundaries of the second coding units 910a, 910b, 910c, 920a, 920b, and 920c. Referring to FIG. 9, the boundaries of the second coding units 910a, 910b, and 910c determined by dividing the square-shaped first coding unit 900 vertically do not divide the width of the first coding unit 900 in half, so it may be determined that the first coding unit 900 does not satisfy the condition for being processed in a predetermined order. In addition, since the boundaries of the second coding units 920a, 920b, and 920c determined by dividing the square-shaped first coding unit 900 horizontally do not divide the width of the first coding unit 900 in half, it may be determined that the first coding unit 900 does not satisfy the condition for being processed in a predetermined order. If such a condition is not satisfied, the video decoding device 100 may determine that the scanning order is broken and, based on the determination result, may determine that the first coding unit 900 is divided into an odd number of coding units. According to an embodiment, when the first coding unit 900 is divided into an odd number of coding units, the video decoding device 100 may impose a predetermined restriction on a coding unit at a predetermined position among the divided coding units. The content of such a restriction or the predetermined position has been described in various embodiments, and therefore a detailed description thereof will be omitted.

[0090] According to an embodiment, the video decoding apparatus 100 may divide the first coding unit and determine various types of coding units.

[0091] Referring to FIG. 9, the video decoding apparatus 100 may divide a square-shaped first coding unit 900, a non-square-shaped first coding unit 930, or a non-square-shaped first coding unit 950 into various types of coding units.

[0092] FIG. 10 illustrates that, in one embodiment, when a non-square second coding unit determined by dividing a first coding unit 1000 by a video decoding device 100 satisfies certain conditions, the manner in which the second coding unit may be divided is restricted.

[0093] According to an embodiment, the decoder 120 may determine to divide the square-shaped first coding unit 1000 into non-square-shaped second coding units 1010a, 1010b, 1020a, and 1020b based on at least one of block shape information and partition shape information acquired via the bitstream acquirer 110. The second coding units 1010a, 1010b, 1020a, and 1020b may be divided independently. Thus, the decoder 120 may determine whether to divide the first coding unit 1000 into multiple coding units or not based on at least one of block shape information and partition shape information associated with each of the second coding units 1010a, 1010b, 1020a, and 1020b. According to an embodiment, the decoder 120 may determine the third coding units 1012a and 1012b by horizontally dividing the left second coding unit 1010a, which is a non-square shaped coding unit determined by vertically dividing the first coding unit 1000. However, if the decoder 120 divides the left second coding unit 1010a horizontally, the decoder 120 may restrict the right second coding unit 1010b so that the right second coding unit 1010b is not horizontally divided in the same direction as the left second coding unit 1010a. If the right second coding unit 1010b is divided in the same direction to determine the third coding units 1014a and 1014b, the left second coding unit 1010a and the right second coding unit 1010b may be horizontally divided independently to determine the third coding units 1012a, 1012b, 1014a, and 1014b. However, this is the same result as if the decoding unit 120 had divided the first coding unit 1000 into four square-shaped second coding units 1030a, 1030b, 1030c, and 1030d based on at least one of the block format information and the partition format information, which is inefficient in terms of video decoding.

[0094] According to one embodiment, the decoder 120 may vertically divide the non-square second coding unit 1020a or 1020b, which is determined by dividing the first coding unit 900 horizontally, to determine the third coding units 1022a, 1022b, 1024a, and 1024b. However, if the decoder 120 vertically divides one of the second coding units (e.g., the top second coding unit 1020a), for the reasons described above, the decoder 120 may restrict the other second coding units (e.g., the bottom coding unit 1020b) from being vertically divided in the same direction as the top second coding unit 1020a.

[0095] FIG. 11 illustrates a process in which the video decoding apparatus 100 divides a square-shaped coding unit when the division format information does not indicate division into four square-shaped coding units, according to an embodiment.

[0096] According to an embodiment, the decoder 120 may divide the first coding unit 1100 into second coding units 1110a, 1110b, 1120a, and 1120b based on at least one of block shape information and partition shape information. The partition shape information may include information regarding various shapes into which the coding unit may be divided, but the information regarding the various shapes may not include information for dividing the first coding unit into four square-shaped coding units. According to such partition shape information, the decoder 120 may not be able to divide the square-shaped first coding unit 1100 into four square-shaped second coding units 1130a, 1130b, 1130c, and 1130d. Based on the partition shape information, the decoder 120 may determine non-square-shaped second coding units 1110a, 1110b, 1120a, and 1120b.

[0097] According to an embodiment, the decoder 120 may independently divide the non-square second coding units 1110a, 1110b, 1120a, and 1120b, respectively, by using a recursive method to divide the second coding units 1110a, 1110b, 1120a, and 1120b in a predetermined order, which is similar to the method for dividing the first coding unit 1100 based on at least one of block shape information and partition shape information.

[0098] For example, the decoder 120 may horizontally divide the left-side second coding unit 1110a to determine square-shaped third coding units 1112a and 1112b, and may horizontally divide the right-side second coding unit 1110b to determine square-shaped third coding units 1114a and 1114b. Furthermore, the decoder 120 may horizontally divide both the left-side second coding unit 1110a and the right-side second coding unit 1110b to determine square-shaped third coding units 1116a, 1116b, 1116c, and 1116d. In this case, the coding units may be determined in the same manner as when the first coding unit 1100 is divided into four square-shaped second coding units 1130a, 1130b, 1130c, and 1130d.

[0099] For another example, the decoder 120 may vertically divide the top second coding unit 1120a to determine square third coding units 1122a and 1122b, and may vertically divide the bottom second coding unit 1120b to determine square third coding units 1124a and 1124b. Furthermore, the decoder 120 may vertically divide both the top second coding unit 1120a and the bottom second coding unit 1120b to determine square third coding units 1122a, 1122b, 1124a, and 1124b. In this case, the coding units may be determined in the same manner as when the first coding unit 1100 is divided into four square second coding units 1130a, 1130b, 1130c, and 1130d.

[0100] FIG. 12 illustrates that the processing order of multiple coding units varies depending on the division process of the coding units, according to an embodiment.

[0101] According to an embodiment, the decoder 120 may divide the first coding unit 1200 based on the block shape information and the division shape information. If the block shape information indicates a square shape and the division shape information indicates that the first coding unit 1200 is divided in at least one of the horizontal and vertical directions, the decoder 120 may divide the first coding unit 1200 to determine, for example, second coding units 1210a, 1210b, 1220a, 1220b, 1230a, 1230b, 1230c, and 1230d. Referring to FIG. 12, the non-square second coding units 1210a, 1210b, 1220a, and 1220b, which are determined by dividing the first coding unit 1200 only in the horizontal or vertical direction, may be divided independently based on the block shape information and division shape information associated therewith. For example, the decoder 120 may horizontally divide the second coding units 1210a and 1210b, which are generated by vertically dividing the first coding unit 1200, into third coding units 1216a, 1216b, 1216c, and 1216d, and may horizontally divide the second coding units 1220a and 1220b, which are generated by horizontally dividing the first coding unit 1200, into third coding units 1226a, 1226b, 1226c, and 1226d. The division process for the second coding units 1210a, 1210b, 1220a, and 1220b has been described with reference to FIG. 10, and therefore will not be described in detail here.

[0102] According to an embodiment, the decoder 120 may process the coding units in a predetermined order. The characteristics of processing the coding units in the predetermined order have been described with reference to FIG. 7, and therefore will not be described in detail again. Referring to FIG. 12, the decoder 120 may divide the square-shaped first coding unit 1200 to determine four square-shaped third coding units 1216a, 1216b, 1216c, 1216d, 1226a, 1226b, 1226c, and 1226d. According to an embodiment, the decoder 120 may determine the processing order of the third coding units 1216a, 1216b, 1216c, 1216d, 1226a, 1226b, 1226c, and 1226d depending on the division form of the first coding unit 1200.

[0103] According to one embodiment, the decoding unit 120 can horizontally divide the second coding units 1210a and 1210b, which have been generated by vertical division, to determine the third coding units 1216a, 1216b, 1216c, and 1216d. The decoding unit 120 can process the third coding units 1216a, 1216b, 1216c, and 1216d in an order 1217 of first vertically processing the third coding units 1216a and 1216b included in the left second coding unit 1210a, and then vertically processing the third coding units 1216c and 1216d included in the right second coding unit 1210b.

[0104] According to one embodiment, the decoding unit 120 may vertically divide the second coding units 1220a and 1220b, which have been generated by dividing them horizontally, to determine the third coding units 1226a, 1226b, 1226c, and 1226d. The decoding unit 120 may process the third coding units 1226a, 1226b, 1226c, and 1226d in the order 1227 of first horizontally processing the third coding units 1226a and 1226b included in the top second coding unit 1220a, and then horizontally processing the third coding units 1226c and 1226d included in the bottom second coding unit 1220b.

[0105] 12, the second coding units 1210a, 1210b, 1220a, and 1220b may be divided into square-shaped third coding units 1216a, 1216b, 1216c, 1216d, 1226a, 1226b, 1226c, and 1226d. The second coding units 1210a and 1210b determined by vertical division and the second coding units 1220a and 1220b determined by horizontal division are divided into different types, but the third coding units 1216a, 1216b, 1216c, 1216d, 1226a, 1226b, 1226c, and 1226d determined thereafter ultimately result in the first coding unit 1200 being divided into coding units of the same type. As a result, the decoding unit 120 recursively divides the coding units through different processes based on at least one of the block type information and the division type information, and as a result, even if coding units of the same type are determined, multiple coding units determined to be of the same type can be processed in different orders from each other.

[0106] FIG. 13 illustrates a process of determining the depth of a coding unit according to one embodiment when a coding unit is recursively divided to determine multiple coding units, as the shape and size of the coding unit change.

[0107] According to an embodiment, the decoder 120 may determine the depth of the coding unit according to a predetermined criterion. For example, the predetermined criterion may be the length of the long side of the coding unit. The decoder 120 may determine the depth of the coding unit according to a predetermined criterion. For example, the decoder 120 may determine the depth of the coding unit according to a predetermined criterion. For example, the decoder 120 may determine the depth of the coding unit according to a predetermined criterion. n When a coding unit is divided by (n>0), it can be determined that the depth of the current coding unit is increased by n from the depth of the coding unit before division. Hereinafter, a coding unit with an increased depth is referred to as a coding unit of a lower depth.

[0108] 13, according to an embodiment, the decoding unit 120 may divide the square-shaped first coding unit 1300 based on block shape information indicating a square shape (for example, the block shape information may indicate "0:SQUARE"), and determine a second coding unit 1302, a third coding unit 1304, etc., at a lower depth. If the size of the square-shaped first coding unit 1300 is 2Nx2N, the width and height of the first coding unit 1300 may be halved. 1 The second coding unit 1302 determined by dividing the width and height of the second coding unit 1302 by 1 / 2 may have a size of NxN. Furthermore, the third coding unit 1304 determined by dividing the width and height of the second coding unit 1302 by 1 / 2 may have a size of N / 2xN / 2. In this case, the width and height of the third coding unit 1304 are 1 / 2 of the width and height of the first coding unit 1300. 2 If the depth of the first coding unit 1300 is D, then the width and height of the first coding unit 1300 are 1 / 2. 1 The depth of the second coding unit 1302 is also D+1, which is half the width and height of the first coding unit 1300. 2 The depth of the third coding unit 1304, which is double the depth, is also D+2.

[0109] According to one embodiment, based on block shape information indicating a non-square shape (for example, the block shape information may indicate "1:NS_VER" indicating a non-square shape in which the height is greater than the width, or "2:NS_HOR" indicating a non-square shape in which the width is greater than the height), the decoding unit 120 may divide the first coding unit 1310 or 1320, which is non-square, and determine the second coding unit 1312 or 1322, the third coding unit 1314 or 1324, etc., at a lower depth.

[0110] The decoder 120 may divide at least one of the width and height of the first coding unit 1310 having a size of Nx2N to determine, for example, second coding units 1302, 1312, and 1322. That is, the decoder 120 may divide the first coding unit 1310 horizontally to determine the second coding unit 1302 having a size of NxN or the second coding unit 1322 having a size of NxN / 2, or may divide the first coding unit 1310 horizontally and vertically to determine the second coding unit 1312 having a size of N / 2xN.

[0111] According to an embodiment, the decoder 120 may divide at least one of the width and height of the first coding unit 1320 having a size of 2NxN to determine, for example, the second coding units 1302, 1312, and 1322. That is, the decoder 120 may vertically divide the first coding unit 1320 to determine the second coding unit 1302 having a size of NxN or the second coding unit 1312 having a size of N / 2xN, or may horizontally and vertically divide the first coding unit 1320 to determine the second coding unit 1322 having a size of NxN / 2.

[0112] According to an embodiment, the decoder 120 may divide at least one of the width and height of the second coding unit 1302 of NxN size to determine, for example, third coding units 1304, 1314, and 1324. That is, the decoder 120 may divide the second coding unit 1302 vertically and horizontally to determine the third coding unit 1304 of N / 2xN / 2 size, or may divide the second coding unit 1302 vertically and horizontally to determine the third coding unit 1304 of N / 2xN / 2 size. 2 Determine the third coding unit 1314 of size N / 2xN / 2, or 2 The size of the third coding unit 1324 can be determined.

[0113] According to an embodiment, the decoder 120 may divide at least one of the width and height of the second coding unit 1312 having a size of N / 2xN to determine, for example, third coding units 1304, 1314, and 1324. That is, the decoder 120 may divide the second coding unit 1312 horizontally to determine third coding units 1304 having a size of N / 2xN / 2 or third coding units 1314 and 1324. 2Determine the third coding unit 1324 of size N / 2 2 A third coding unit 1314 of size xN / 2 may be determined.

[0114] According to an embodiment, the decoder 120 may divide at least one of the width and height of the second coding unit 1314 having a size of NxN / 2 to determine, for example, the third coding units 1304, 1314, and 1324. That is, the decoder 120 may divide the second coding unit 1312 vertically to determine the third coding unit 1304 having a size of N / 2xN / 2 or the third coding unit 1314 having a size of N / 2xN / 2. 2 Alternatively, the third coding unit 1314 of size N / 2xN / 2 is determined, or divided vertically and horizontally. 2 The size of the third coding unit 1324 can be determined.

[0115] According to an embodiment, the decoder 120 may divide, for example, square-shaped coding units 1300, 1302, and 1304 horizontally or vertically. For example, the decoder 120 may divide the 2Nx2N first coding unit 1300 vertically to determine an Nx2N first coding unit 1310, or may divide it horizontally to determine a 2NxN first coding unit 1320. According to an embodiment, if the depth is determined based on the longest side length of the coding unit, the depth of the coding unit determined by dividing the 2Nx2N first coding unit 1300, 1302, or 1304 horizontally or vertically may be the same as the depth of the first coding unit 1300, 1302, or 1304.

[0116] In one embodiment, the width and height of the third coding unit 1314 or 1324 are half that of the first coding unit 1310 or 1320. 2 If the depth of the first coding unit 1310 or 1320 is D, the depth of the second coding unit 1312 or 1314, which is 1 / 2 times the width and height of the first coding unit 1310 or 1320, is also D+1, which is 1 / 2 the width and height of the first coding unit 1310 or 1320. 2The depth of the third coding unit 1314 or 1324, which is double the depth, is also D+2.

[0117] FIG. 14 illustrates an index for depth and coding unit partitions that may be determined according to the shape and size of the coding unit, according to one embodiment.

[0118] According to an embodiment, the decoder 120 may determine various types of second coding units by dividing a square-shaped first coding unit 1400. Referring to Figure 14, the decoder 120 may divide the first coding unit 1400 in at least one of the vertical and horizontal directions according to the division type information, and determine second coding units 1402a, 1402b, 1404a, 1404b, 1406a, 1406b, 1406c, and 1406d. That is, the decoder 120 may determine the second coding units 1402a, 1402b, 1404a, 1404b, 1406a, 1406b, 1406c, and 1406d based on the division type information related to the first coding unit 1400.

[0119] According to an embodiment, the depths of the second coding units 1402a, 1402b, 1404a, 1404b, 1406a, 1406b, 1406c, and 1406d determined by the division type information for the square-shaped first coding unit 1400 may be determined based on the long side lengths. For example, since the length of one side of the square-shaped first coding unit 1400 is the same as the long side lengths of the non-square-shaped second coding units 1402a, 1402b, 1404a, and 1404b, the depths of the first coding unit 1400 and the non-square-shaped second coding units 1402a, 1402b, 1404a, and 1404b are considered to be the same as D. In contrast, when the decoding unit 120 divides the first coding unit 1400 into four square-shaped second coding units 1406a, 1406b, 1406c, and 1406d based on the division format information, the length of one side of the square-shaped second coding units 1406a, 1406b, 1406c, and 1406d is half the length of one side of the first coding unit 1400, so the depth of the second coding units 1406a, 1406b, 1406c, and 1406d is also a depth of D+1, which is one depth lower than the depth D of the first coding unit 1400.

[0120] According to an embodiment, the decoder 120 may divide a first coding unit 1410, whose height is greater than its width, in the horizontal direction according to the division format information and divide the first coding unit 1410 into a plurality of second coding units 1412a, 1412b, 1414a, 1414b, and 1414c. According to an embodiment, the decoder 120 may divide a first coding unit 1420, whose width is greater than its height, in the vertical direction according to the division format information and divide the first coding unit 1420 into a plurality of second coding units 1422a, 1422b, 1424a, 1424b, and 1424c.

[0121] According to an embodiment, the depths of the second coding units 1412a, 1412b, 1414a, 1414b, 1416a, 1416b, 1416c, and 1416d determined by the partitioning information related to the non-square first coding unit 1410 or 1420 may be determined based on the long side length. For example, since the length of one side of the square second coding units 1412a and 1412b is half the length of one side of the non-square first coding unit 1410, whose height is greater than its width, the depths of the square second coding units 1402a, 1402b, 1404a, and 1404b are D+1, which is one depth lower than the depth D of the non-square first coding unit 1410.

[0122] Furthermore, the decoding unit 120 may divide the non-square first coding unit 1410 into an odd number of second coding units 1414a, 1414b, and 1414c based on the division format information. The odd number of second coding units 1414a, 1414b, and 1414c may include the non-square second coding units 1414a and 1414c and the square second coding unit 1414b. In this case, the length of the long sides of the non-square second coding units 1414a and 1414c and the length of one side of the square second coding unit 1414b are half the length of one side of the first coding unit 1410. Therefore, the depths of the second coding units 1414a, 1414b, and 1414c are also D+1, which is one depth lower than the depth D of the first coding unit 1410. The decoder 120 may determine the depth of the coding unit for the non-square first coding unit 1420, whose width is greater than its height, in a manner similar to the manner for determining the depth of the coding unit for the first coding unit 1410.

[0123] According to an embodiment, when determining indexes for dividing the divided coding units, if the divided coding units are not the same size, the decoder 120 may determine the indexes based on the size ratio between the coding units. Referring to FIG. 14, among the divided coding units 1414a, 1414b, and 1414c, the middle coding unit 1414b has the same width as the other coding units 1414a and 1414c but is twice as high as the other coding units 1414a and 1414c. That is, in this case, the middle coding unit 1414b may include both the other coding units 1414a and 1414c. Therefore, if the index of the middle coding unit 1414b in the scanning order is 1, the index of the next coding unit 1414c is 3, which is an increase of 2. That is, a discontinuity in the index values ​​exists. According to one embodiment, the decoder 120 can determine whether coding units divided into an odd number of parts are not the same size based on whether there is an index discontinuity for the partition between such divided coding units.

[0124] (Tri-split decision using PID) According to an embodiment, the video decoding device 100 may determine whether a current coding unit is divided into a specific division type based on an index value for distinguishing the plurality of coding units determined by dividing the current coding unit. Referring to FIG. 14, the video decoding device 100 may divide a rectangular first coding unit 1410, whose height is greater than its width, to determine an even number of coding units 1412a and 1412b or an odd number of coding units 1414a, 1414b, and 1414c. The video decoding device 100 may use an index indicating each coding unit to distinguish each of the plurality of coding units. According to an embodiment, a PID may also be obtained from a sample at a predetermined position (e.g., the top left sample) of each coding unit.

[0125] According to an embodiment, the video decoding device 100 may determine a coding unit at a predetermined position among the coding units determined by division using an index for coding unit division. According to an embodiment, if division type information related to a rectangular first coding unit 1410 whose height is greater than its width indicates that the first coding unit 1410 is to be divided into three coding units, the video decoding device 100 may divide the first coding unit 1410 into three coding units 1414a, 1414b, and 1414c. The video decoding device 100 may assign indexes related to the three coding units 1414a, 1414b, and 1414c, respectively. The video decoding device 100 may compare the indexes related to each coding unit to determine a middle coding unit among the odd number of coding units. Based on the indexes of the coding units, the video decoding device 100 may determine the coding unit 1414b having an index corresponding to the middle value among the indexes as the middle coding unit among the coding units determined by dividing the first coding unit 1410. According to an embodiment, when determining indexes for dividing the divided coding units, the video decoding apparatus 100 determines the indexes based on the size ratio between the coding units if the coding units are not the same size. Referring to Figure 14, a coding unit 1414b generated by dividing a first coding unit 1410 has the same width as the other coding units 1414a and 1414c but is twice the height of the other coding units 1414a and 1414c. In this case, if the index of the middle coding unit 1414b is 1, the index of the next coding unit 1414c is 3, which is two times larger than the index of the middle coding unit 1414b. In such a case, if the indexes increase uniformly but the increments are different, the video decoding device 100 may determine that the current coding unit has been divided into multiple coding units, including coding units having different sizes from the other coding units. According to one embodiment, if the division type information indicates that the current coding unit is to be divided into an odd number of coding units, the video decoding device 100 may divide the current coding unit into a type in which a coding unit at a predetermined position among the odd number of coding units (e.g., the middle coding unit) has a different size from the different coding units.In this case, the video decoding apparatus 100 may determine a middle coding unit having a different size using an index related to the coding unit. However, the above index, the size or position of the coding unit at the predetermined position to be determined, are specified for the purpose of describing one embodiment and should not be construed as being limited thereto, and various indexes, positions and sizes of the coding units may be used.

[0126] According to one embodiment, the decoder 120 may use a predetermined data unit from which the recursive division of the coding unit begins.

[0127] FIG. 15 illustrates a plurality of coding units determined from a plurality of predetermined data units included in a picture according to one embodiment.

[0128] According to one embodiment, the predetermined data unit is also defined as a data unit from which a coding unit begins to be recursively divided using at least one of block type information and division type information. That is, it corresponds to a coding unit of the highest depth used in the process of determining a plurality of coding units for dividing a current picture. Hereinafter, for convenience of explanation, such a predetermined data unit will be referred to as a reference data unit.

[0129] According to an embodiment, the reference data unit may have a predetermined size and shape. According to an embodiment, the reference coding unit may include MxN samples, where M and N may be the same or may be integers expressed as a power of 2. That is, the reference data unit may have a square or non-square shape and may then be divided into an integer number of coding units.

[0130] According to an embodiment, the decoder 120 of the video decoding device 100 may divide a current picture into a plurality of reference data units. According to an embodiment, the decoder 120 may divide the current picture into a plurality of reference data units using partition information associated with each reference data unit. The division process of the reference data units corresponds to a division process using a quad-tree structure.

[0131] According to one embodiment, the decoder 120 may determine in advance a minimum size that a reference data unit included in a current picture may have, and may then determine reference data units of various sizes that are equal to or larger than the minimum size, and may determine at least one coding unit based on the determined reference data unit using block type information and partition type information.

[0132] 15, the video decoding apparatus 100 may use a square-shaped reference coding unit 1500 or a non-square-shaped reference coding unit 1502. According to an embodiment, the shape and size of the reference coding unit may be determined based on various data units (e.g., a sequence, a picture, a slice, a slice segment, or a maximum coding unit) including at least one reference coding unit.

[0133] According to an embodiment, the bitstream obtaining unit 110 of the video decoding apparatus 100 may obtain at least one of information regarding the type of the reference coding unit and information regarding the size of the reference coding unit from the bitstream for each of the various data units. The process of determining at least one coding unit included in the square-shaped reference coding unit 1500 has been described through the process of dividing the current coding unit 300 in FIG. 3, and the process of determining at least one coding unit included in the non-square-shaped reference coding unit 1500 has been described through the process of dividing the current coding unit 400 or 450 in FIG. 4, so detailed descriptions thereof will be omitted.

[0134] According to an embodiment, the decoder 120 may use an index for identifying the size and type of a reference coding unit to determine the size and type of the reference coding unit according to some data units that are predetermined based on a predetermined condition. That is, the bitstream acquirer 110 may acquire only an index for identifying the size and type of the reference coding unit for each slice, slice segment, maximum coding unit, etc., as a data unit that satisfies a predetermined condition (e.g., a data unit having a size equal to or smaller than a slice) among the various data units (e.g., a sequence, a picture, a slice, a slice segment, a maximum coding unit, etc.) from the bitstream. The decoder 120 may determine the size and type of the reference data unit for each data unit that satisfies the predetermined condition by using the index. If information related to the type of the reference coding unit and information related to the size of the reference coding unit were acquired and used from the bitstream for each data unit of a relatively small size, the bitstream utilization efficiency would be poor. Therefore, instead of directly acquiring information related to the type of the reference coding unit and information related to the size of the reference coding unit, only the index may be acquired and used. In this case, at least one of the size and type of the reference coding unit associated with the index indicating the size and type of the reference coding unit is predetermined. That is, the decoder 120 may determine at least one of the size and type of the reference coding unit included in the data unit that is the basis for obtaining the index by selecting at least one of the size and type of the reference coding unit determined in advance according to the index.

[0135] According to one embodiment, the decoder 120 may use at least one reference coding unit included in one maximum coding unit. That is, the maximum coding unit into which an image is divided includes at least one reference coding unit, and coding units may be determined through a recursive division process of each reference coding unit. According to one embodiment, at least one of the width and height of the maximum coding unit is an integer multiple of at least one of the width and height of the reference coding unit. According to one embodiment, the size of the reference coding unit is also the size obtained by dividing the maximum coding unit n times using a quadtree structure. That is, the decoder 120 may determine the reference coding unit by dividing the maximum coding unit n times using a quadtree structure, and according to various embodiments, may divide the reference coding unit based on at least one of block shape information and division shape information.

[0136] FIG. 16 illustrates processing blocks that are responsible for determining the order in which reference coding units included in a picture 1600 are determined, according to one embodiment.

[0137] According to an embodiment, the decoder 120 may determine at least one processing block for dividing a picture. The processing block is a data unit including at least one reference coding unit for dividing an image, and the at least one reference coding unit included in the processing block may be determined in a specific order. That is, the determination order of the at least one reference coding unit determined in each processing block corresponds to one of various orders in which the reference coding units may be determined, and the determination order of the reference coding units determined in each processing block may differ for each processing block. The determination order of the reference coding units determined for each processing block may be one of various orders such as raster scan, Z-scan, N-scan, up-right diagonal scan, horizontal scan, and vertical scan, but the possible orders should not be construed as being limited to the scan order.

[0138] According to an embodiment, the decoder 120 may acquire information related to the size of the processing blocks and determine the size of at least one processing block included in the image. The decoder 120 may acquire information related to the size of the processing blocks from the bitstream and determine the size of at least one processing block included in the image. The size of such a processing block is also a predetermined size of a data unit indicated by the information related to the size of the processing block.

[0139] According to an embodiment, the bitstream obtaining unit 110 of the video decoding device 100 may obtain information regarding the size of a processing block from the bitstream for each specific data unit. For example, the information regarding the size of a processing block may be obtained from the bitstream as a data unit such as a video, a sequence, a picture, a slice, or a slice segment. That is, the bitstream obtaining unit 110 may obtain information regarding the size of a processing block from the bitstream for each of the various data units described above, and the decoding unit 120 may determine the size of at least one processing block for dividing a picture using the obtained information regarding the size of the processing block. The size of such a processing block may be an integer multiple of the base coding unit.

[0140] According to an embodiment, the decoder 120 may determine the size of the processing blocks 1602 and 1612 included in the picture 1600. For example, the decoder 120 may determine the size of the processing blocks based on information related to the size of the processing blocks acquired from the bitstream. Referring to FIG. 16, according to an embodiment, the decoder 120 may determine the horizontal size of the processing blocks 1602 and 1612 to be four times the horizontal size of the reference coding unit and the vertical size of the processing blocks 1602 and 1612 to be four times the vertical size of the reference coding unit. The decoder 120 may determine an order in which at least one reference coding unit is determined within at least one processing block.

[0141] According to one embodiment, the decoding unit 120 may determine each of the processing blocks 1602 and 1612 included in the picture 1600 based on the size of the processing block, and the reference coding unit determination unit 12 may determine a determination order of at least one reference coding unit included in the processing blocks 1602 and 1612. According to one embodiment, determining the reference coding unit may include determining the size of the reference coding unit.

[0142] According to an embodiment, the decoder 120 may acquire information regarding a determination order of at least one reference coding unit included in at least one processing block from a bitstream and may determine an order in which at least one reference coding unit is determined based on the acquired information regarding the determination order. The information regarding the determination order may also be defined as an order or direction in which the reference coding units are determined within a processing block. That is, the order in which the reference coding units are determined may be determined independently for each processing block.

[0143] According to an embodiment, the video decoding apparatus 100 may acquire information regarding the determination order of the reference coding units from a bitstream for each specific data unit. For example, the bitstream acquiring unit 110 may acquire information regarding the determination order of the reference coding units from the bitstream for each data unit, such as a video, a sequence, a picture, a slice, a slice segment, a processing block, etc. The information regarding the determination order of the reference coding units indicates the determination order of the reference coding units within a processing block, and therefore, the information regarding the determination order may also be acquired for each specific data unit including an integer number of processing blocks.

[0144] According to an embodiment, the video decoding apparatus 100 may determine at least one reference coding unit based on the determined order.

[0145] According to an embodiment, the bitstream obtaining unit 110 may obtain information related to a base coding unit determination order as information related to the processing blocks 1602 and 1612 from the bitstream, and the decoding unit 120 may determine an order for determining at least one base coding unit included in the processing blocks 1602 and 1612 and determine at least one base coding unit included in the picture 1600 according to the determined coding unit order. Referring to Figure 16, the decoding unit 120 may determine a determination order 1604 and 1614 of at least one base coding unit associated with each of the processing blocks 1602 and 1612. For example, if information related to the determination order of the base coding units is obtained for each processing block, the determination order of the base coding units for each of the processing blocks 1602 and 1612 may differ for each processing block. If the reference coding unit determination order 1604 for a processing block 1602 is the raster scan order, the reference coding units included in the processing block 1602 may be determined in the raster scan order. On the other hand, if the reference coding unit determination order 1614 for another processing block 1612 is the reverse of the raster scan order, the reference coding units included in the processing block 1612 may be determined in the reverse of the raster scan order.

[0146] According to an embodiment, the decoder 120 may decode at least one reference coding unit determined. The decoder 120 may decode video based on the reference coding unit determined through the above-described embodiment. A method of decoding the reference coding unit may include various methods of decoding video.

[0147] According to an embodiment, the video decoding apparatus 100 may acquire and use block type information indicating the type of a current coding unit or partition type information indicating a method of dividing the current coding unit from a bitstream. The block type information or partition type information may be included in a bitstream related to various data units. For example, the video decoding apparatus 100 may use block type information or partition type information included in a sequence parameter set, a picture parameter set, a video parameter set, a slice header, or a slice segment header. Furthermore, the video decoding apparatus 100 may acquire and use syntax related to block type information or partition type information from the bitstream for each largest coding unit, reference coding unit, or processing block.

[0148] According to an embodiment, the decoder 120 may determine different types of division patterns into which a coding unit may be divided for each predetermined data unit. According to an embodiment, the decoder 120 of the video decoding device 100 may determine different combinations of types into which a coding unit may be divided for each predetermined data unit (e.g., sequence, picture, slice, etc.).

[0149] FIG. 17 illustrates coding units that may be determined for each picture when the combinations of how coding units may be divided vary from picture to picture, according to an embodiment.

[0150] Referring to FIG. 17, the decoder 120 may determine different combinations of division patterns into which coding units may be divided for each picture. For example, the decoder 120 may decode an image using a picture 1700 that may be divided into four coding units, a picture 1710 that may be divided into two or four coding units, and a picture 1720 that may be divided into two, three, or four coding units, among at least one picture included in the image. The decoder 120 may use only division pattern information indicating that the picture 1700 is to be divided into four square coding units to divide the picture 1700 into a plurality of coding units. The decoder 120 may use only division pattern information indicating that the picture 1710 is to be divided into two or four coding units to divide the picture 1710. The decoder 120 may use only division pattern information indicating that the picture 1720 is to be divided into two, three, or four coding units to divide the picture 1720. The above-described combinations of division forms are merely embodiments for explaining the operation of the video decoding device 100, and therefore the described combinations of division forms should not be interpreted as being limited to the above-described embodiments, but should be interpreted as various combinations of division forms being used for each specified data unit.

[0151] According to an embodiment, the bitstream obtaining unit 110 of the video decoding device 100 may obtain a bitstream including an index indicating a combination of partition type information for each predetermined data unit (e.g., a sequence, a picture, a slice, etc.). For example, the bitstream obtaining unit 110 may obtain the index indicating the combination of partition type information from a sequence parameter set, a picture parameter set, or a slice header. The decoding unit 120 of the video decoding device 100 may determine a combination of partition types into which a coding unit may be divided for each predetermined data unit using the obtained index, thereby using different combinations of partition types for each predetermined data unit.

[0152] FIG. 18 illustrates various types of coding units that may be determined based on division type information that may be expressed by binary code, according to one embodiment.

[0153] According to an embodiment, the video decoding apparatus 100 may divide a coding unit into various types using block type information and division type information acquired via the bitstream acquisition unit 110. The types of the coding unit that can be divided include various types including those described in the above embodiments.

[0154] Referring to FIG. 18, the decoding unit 120 can divide a square-shaped coding unit in at least one of the horizontal and vertical directions based on the division format information, and can divide a non-square-shaped coding unit in the horizontal or vertical direction.

[0155] According to an embodiment, if the decoder 120 can divide a square-shaped coding unit horizontally and vertically into four square coding units, the division type information for the square coding unit may indicate four division types. According to an embodiment, the division type information is expressed as a two-digit binary code, and a binary code is assigned to each division type. For example, if a coding unit is not divided, the division type information may be expressed as (00)b; if the coding unit is divided horizontally and vertically, the division type information may be expressed as (01)b; if the coding unit is divided horizontally, the division type information may be expressed as (10)b; and if the coding unit is divided vertically, the division type information may be expressed as (11)b.

[0156] According to an embodiment, when the decoder 120 divides a non-square coding unit horizontally or vertically, the type of division format indicated by the division format information may be determined based on the number of coding units into which the coding unit is to be divided. Referring to FIG. 18 , according to an embodiment, the decoder 120 may divide a non-square coding unit into up to three coding units. The decoder 120 may divide the coding unit into two coding units, in which case the division format information may be expressed as (10)b. The decoder 120 may divide the coding unit into three coding units, in which case the division format information may be expressed as (11)b. The decoder 120 may determine not to divide the coding unit, in which case the division format information may be expressed as (0)b. That is, the decoder 120 may use variable length coding (VLC) rather than fixed length coding (FLC) to use a binary code indicating the division format information.

[0157] According to one embodiment, referring to FIG. 18 , the binary code of the division type information indicating that the coding unit is not divided may be expressed as (0)b. If the binary code of the division type information indicating that the coding unit is not divided is set to (00)b, the binary code of the 2-bit division type information must be used regardless of the absence of the division type information set to (01)b. However, when three division types related to a non-square coding unit are used as shown in FIG. 18 , the decoder 120 can determine that the coding unit is not divided even by using the 1-bit binary code (0)b as the division type information, thereby efficiently using the bitstream. However, the division type of the non-square coding unit indicated by the division type information should not be construed as being limited to the three types shown in FIG. 18 , but should be construed as various types including those described in the above embodiments.

[0158] FIG. 19 illustrates another form of a coding unit that may be determined based on division form information that may be expressed by a binary code, according to one embodiment.

[0159] Referring to FIG. 19, the decoder 120 may divide a square-shaped coding unit horizontally or vertically, and may divide a non-square-shaped coding unit horizontally or vertically, based on the division type information. That is, the division type information may indicate that a square-shaped coding unit is divided in one direction. In such a case, the binary code of the division type information indicating that a square-shaped coding unit is not divided may be expressed as (0)b. If the binary code of the division type information indicating that a coding unit is not divided is set to (00)b, the binary code of the 2-bit division type information must be used even if there is no division type information set to (01)b. However, as shown in FIG. 19, when three division types related to a square-shaped coding unit are used, the decoder 120 can determine that the coding unit is not divided even by using the 1-bit binary code (0)b as the division type information, thereby efficiently using the bitstream. However, the division form of the square-shaped coding unit indicated by the division form information should not be interpreted as being limited to the three forms shown in Figure 19, but should be interpreted as various forms including the above-mentioned embodiments.

[0160] According to one embodiment, block shape information or partition shape information is represented using a binary code, and such information is immediately generated into a bitstream. Alternatively, block shape information or partition shape information that can be represented by a binary code is not immediately generated into a bitstream, but is also used as a binary code input in CABAC (Context Adaptive Binary Arithmetic Coding).

[0161] According to one embodiment, the video decoding apparatus 100 may acquire syntax related to block shape information or partition shape information through CABAC. A bitstream including binary codes related to the syntax may be acquired through the bitstream acquisition unit 110. The decoding unit 120 may debinarize a bin string included in the acquired bitstream to detect a syntax element indicating block shape information or partition shape information. According to one embodiment, the decoding unit 120 may obtain a set of binary bin strings corresponding to the syntax element to be decoded and decode each bin using probability information. The decoding unit 120 may repeat the process until a bin string formed by the decoded bins is identical to one of the previously obtained bin strings. The decoding unit 120 may determine the syntax element by debinarizing the bin string.

[0162] According to an embodiment, the decoder 120 may perform an adaptive binary arithmetic coding decoding process to determine a syntax related to a bin string, and may update a probability model related to the bins acquired via the bitstream acquirer 110. Referring to FIG. 18, according to an embodiment, the bitstream acquirer 110 of the video decoding apparatus 100 may acquire a bitstream indicating a binary code indicating partition type information. The decoder 120 may determine a syntax related to the partition type information using the acquired binary code having a size of 1 or 2 bits. To determine the syntax related to the partition type information, the decoder 120 may update a probability related to each bit of the 2-bit binary code. That is, the decoder 120 may update a probability of having a value of 0 or 1 when decoding a subsequent bin, depending on whether the value of the first bin in the 2-bit binary code is 0 or 1.

[0163] According to one embodiment, the decoding unit 120 may update the probabilities associated with the bins used in the process of decoding the bins of the bin string associated with the syntax during the process of determining the syntax, and the decoding unit 120 may determine that certain bits in the bin string have the same probability without updating the probability.

[0164] 18, in determining the syntax using a bin string indicating partition type information related to a non-square coding unit, the decoder 120 may determine the syntax related to the partition type information using one bin having a value of 0 if the non-square coding unit is not to be partitioned. That is, if the block type information indicates that the current coding unit is non-square, the first bin of the bin string related to the partition type information is 0 if the non-square coding unit is not to be partitioned, and is 1 if the non-square coding unit is to be partitioned into two or three coding units. Thus, the probability that the first bin of the bin string of the partition type information related to the non-square coding unit is 0 is 1 / 3, and the probability that it is 1 is 2 / 3. As described above, since the partition type information indicating that the non-square coding unit is not to be partitioned can be expressed only by a 1-bit bin string having a value of 0, the decoder 120 may determine whether the second bin is 0 or 1 only if the first bin of the partition type information is 1. According to an embodiment, the decoder 120 may decode the bins by considering that when the first bin related to the division type information is 1, the probability that the second bin is 0 or 1 is the same.

[0165] According to one embodiment, the video decoding apparatus 100 may use various probabilities associated with each bin in determining bins of a bin string associated with partition type information. According to one embodiment, the decoder 120 may determine the probabilities of bins associated with partition type information by varying them along the direction of a non-square block. According to one embodiment, the decoder 120 may determine the probabilities of bins associated with the partition type information by varying them depending on the width or long side length of the current coding unit. According to one embodiment, the decoder 120 may determine the probabilities of bins associated with the partition type information by varying them depending on at least one of the shape and long side length of the current coding unit.

[0166] According to an embodiment, the decoder 120 may determine that the probabilities of bins associated with the partitioning form information are the same for coding units of a predetermined size or larger. For example, based on the long side length of the coding unit, the decoder 120 may determine that the probabilities of bins associated with the partitioning form information are the same for coding units of a size of 64 samples or larger.

[0167] According to an embodiment, the decoder 120 may determine the initial probabilities associated with the bins constituting the bin string of the partitioning information based on the slice type (eg, I slice, P slice, or B slice).

[0168] FIG. 20 is a block diagram of a video encoding system and a video decoding system that perform loop filtering.

[0169] The encoding end 2010 of the video encoding system and video decoding system 2000 transmits an encoded bitstream of video, and the decoding end 2050 receives and decodes the bitstream to output a restored video. Here, the encoding end 2010 has a configuration similar to the video encoding device 200 described below, and the decoding end 2050 has a configuration similar to the video decoding device 100 described below.

[0170] In the encoding end 2010, the predictive coding unit 2015 outputs a reference image through inter prediction and intra prediction, and the transform and quantization unit 2020 quantizes residual data of the reference image and a current input image into quantized transform coefficients and outputs the quantized transform coefficients. The entropy coding unit 2025 encodes and transforms the quantized transform coefficients and outputs the quantized transform coefficients as a bitstream. The quantized transform coefficients are restored to spatial domain data through the inverse quantization and inverse transform unit 2030, and the restored spatial domain data is output as restored image through the deblocking filtering unit 2035 and the loop filtering unit 2040. The restored image is also used as a reference image for the next input image through the predictive coding unit 2015.

[0171] Encoded image data from the bitstream received by the decoding terminal 2050 is restored to spatial domain residual data through the entropy decoding unit 2055 and the inverse quantization and inverse transform unit 2060. The reference image output from the predictive decoding unit 2075 and the residual data are combined to form spatial domain image data, and the deblocking filtering unit 2065 and the loop filtering unit 2070 filter the spatial domain image data to output a restored image related to the current original image. The restored image is also used as a reference image related to the next original image by the predictive decoding unit 2075.

[0172] The loop filtering unit 2040 of the encoding terminal 2010 performs loop filtering using filter information input by a user or system setting. The filter information used by the loop filtering unit 2040 is output to the entropy encoding unit 2010 and transmitted to the decoding terminal 2050 together with the encoded video data. The loop filtering unit 2070 of the decoding terminal 2050 can perform loop filtering based on the filter information input from the decoding terminal 2050.

[0173] FIG. 21 illustrates an example of a filtering unit included in a maximum coding unit and filtering performance information of the filtering unit, according to an embodiment.

[0174] If the filtering units of the loop filtering unit 2040 of the encoding terminal 2010 and the loop filtering unit 2070 of the decoding terminal 2050 are configured as data units similar to the coding units according to an embodiment described through Figures 3 to 5, the filter information may include block type information and division type information of the data unit for indicating the filtering unit, as well as loop filtering performance information indicating whether loop filtering is performed for the filtering unit.

[0175] According to an embodiment, the filtering units included in the largest coding unit 2100 may have the same block type and division type as the coding units included in the largest coding unit 2100. Furthermore, according to an embodiment, the filtering units included in the largest coding unit 2100 may be divided based on the size of the coding units included in the largest coding unit 2100. Referring to FIG. 21 , for example, the filtering units may include a square filtering unit 2140 of depth D, non-square filtering units 2132 and 2134 of depth D, square filtering units 2112, 2114, 2116, 2152, 2154, and 2164 of depth D+1, non-square filtering units 2162 and 2166 of depth D+1, and square filtering units 2122, 2124, 2126, and 2128 of depth D+2.

[0176] Block type information, division type information (depth), and loop filtering performance information of the filtering unit included in the maximum coding unit 2100 are also coded as shown in Table 1 below.

[0177] [Table 1] The process of recursively dividing a coding unit based on block type information and block division information to determine a plurality of coding units according to an embodiment has been described with reference to Figure 13. According to an embodiment, loop filtering performance information of a filtering unit indicates that loop filtering is performed on the filtering unit when the flag value is 1, and indicates that loop filtering is not performed when the flag value is 0. Referring to Table 1, information on data units for determining filtering units to be filtered by the loop filtering units 2040 and 2070 is both coded and transmitted as filter information.

[0178] The coding unit configured according to an embodiment is a coding unit configured to minimize an error with an original image, and therefore, spatial correlation within the coding unit is expected to be high. Therefore, by determining a filtering unit based on the coding unit according to an embodiment, an operation of determining a filtering unit separately from determining the coding unit can be omitted. In addition, by determining the filtering unit based on the coding unit according to an embodiment, information for determining a division form of the filtering unit can be omitted, thereby saving the transmission bit rate of the filter information.

[0179] In the above embodiment, it was described that the filtering unit is determined based on the coding unit according to one embodiment, but the filtering unit may be divided based on the coding unit, and at a given depth, the type of the filtering unit may be determined up to that depth without further division.

[0180] The determination of the filtering unit disclosed in the above embodiment is applicable not only to loop filtering but also to various other embodiments such as deblocking filtering and adaptive loop filtering.

[0181] According to one embodiment, the video decoding apparatus 100 may partition a current coding unit using at least one of block shape information and partition shape information. The block shape information may be predetermined to use only square shapes, and the partition shape information may be predetermined to indicate no division or division into four square coding units. That is, according to the block shape information, the current coding unit may always have a square shape, and may be either not divided or divided into four square coding units based on the partition shape information. By using only such block shapes and partition shapes, the video decoding apparatus 100 may acquire a bitstream generated using a predetermined encoding method via the bitstream acquisition unit 110, and the decoding unit 120 may use only the predetermined block shapes and partition shapes. In this case, the video decoding apparatus 100 may solve compatibility issues with a predetermined encoding method by using a predetermined decoding method similar to the above-mentioned predetermined encoding method. According to one embodiment, when the video decoding apparatus 100 uses the predetermined decoding method that uses only a predetermined block type and partition type among various types that can be indicated by the block type information and partition type information, the block type information indicates only a square shape, and therefore the video decoding apparatus 100 can omit the process of acquiring block type information from the bitstream. A syntax indicating whether or not to use the predetermined decoding method is used, and such syntax is also acquired from the bitstream for each data unit of various types, including multiple coding units such as a sequence, a picture, a slice, and a maximum coding unit. That is, the bitstream acquisition unit 110 can determine whether or not to acquire syntax indicating block type information from the bitstream based on the syntax indicating whether or not to use the predetermined decoding method.

[0182] FIG. 23 illustrates indexing of coding units in Z-scan order according to one embodiment.

[0183] The video decoding apparatus 100 according to an embodiment may scan lower data units included in higher data units in a Z-scan order, and may sequentially access data according to a Z-scan index within a coding unit included in a maximum coding unit or a processing block.

[0184] As described with reference to FIGS. 3 and 4, the video decoding apparatus 100 according to an embodiment may divide a base coding unit into at least one coding unit. Here, square coding units and non-square coding units may be mixed within the base coding unit. The video decoding apparatus 100 according to an embodiment may access data using a Z scan index included in each coding unit within the base coding unit. Here, the method of applying the Z scan index differs depending on whether a non-square coding unit exists within the base coding unit.

[0185] According to one embodiment, when there is no non-square coding unit within the base coding unit, coding units of lower depths within the base coding unit may have consecutive Z-scan indices. For example, according to one embodiment, a coding unit of a higher depth may include four coding units of lower depths. Here, the four coding units of lower depths have adjacent boundaries that are consecutive, and each coding unit of lower depth is scanned in the Z-scan order using an index indicating the Z-scan order. According to one embodiment, the index indicating the Z-scan order is set to a number that increases with the Z-scan order for each coding unit. In this case, coding units of different depths at the same depth can be scanned in the Z-scan order.

[0186] According to an embodiment, when at least one non-square coding unit is present in a base coding unit, the video decoding device 100 may divide each coding unit in the base coding unit into sub-blocks and perform Z-scan on the divided sub-blocks. For example, when a non-square coding unit is present in the vertical or horizontal direction in the base coding unit, Z-scan may be performed using the divided sub-blocks. Furthermore, when a base coding unit is divided into an odd number of coding units, Z-scan may be performed using the sub-blocks. The sub-blocks may be coding units that are not further divided or may be formed by dividing an arbitrary coding unit, and may be square. For example, four square sub-blocks may be divided from a square coding unit. Furthermore, for example, two square sub-blocks may be divided from a non-square coding unit.

[0187] 23, for example, the video decoding apparatus 100 according to an embodiment may scan coding units 2302, 2304, 2306, 2308, and 2310 at lower depths in a coding unit 2300 in a Z-scan order. The coding unit 2300 and the coding units 2302, 2304, 2306, 2308, and 2310 are higher and lower coding units, respectively. The coding unit 2300 includes horizontally non-square coding units 2306 and 2310. The non-square coding units 2306 and 2310 have discontinuous boundaries with adjacent square coding units 2302 and 2304. Furthermore, the coding unit 2308 is square and has an odd number of non-square coding units, making it a coding unit located in the middle of the division. Like the non-square coding units 2306 and 2310, the coding unit 2308 has discontinuous boundaries with its adjacent square coding units 2302 and 2304. If the coding unit 2300 includes non-square coding units 2306 and 2310, or if there are an odd number of non-square coding units and a coding unit 2308 is located in the middle of the coding unit 2300, consecutive Z scan indices cannot be set due to the discontinuity of the adjacent boundaries between the coding units. Therefore, the video decoding device 100 can set consecutive Z scan indices by dividing the coding units into sub-blocks. The video decoding device 100 can also perform consecutive Z scans on the non-square coding units 2306 and 2310 or the coding unit 2308 located in the middle of a non-square coding unit that has been divided into an odd number of sub-blocks.

[0188] The coding unit 2320 shown in FIG. 23 is obtained by dividing the coding units 2302, 2304, 2306, 2308, and 2310 in the coding unit 2300 into sub-blocks. A Z-scan index is set for each sub-block, and adjacent boundaries between the sub-blocks are contiguous, so that the sub-blocks can be scanned in Z-scan order. For example, in a decoding device according to one embodiment, the coding unit 2308 can be divided into sub-blocks 2322, 2324, 2326, and 2328. In this case, the sub-blocks 2322 and 2324 are scanned after data processing for the sub-block 2330, and the sub-blocks 2326 and 2328 are scanned after data processing for the sub-block 2332. The sub-blocks are also scanned in Z-scan order.

[0189] In the above embodiment, scanning the data units in Z scan order is also for data storage, data loading, data access, etc.

[0190] In addition, in the above embodiment, it has been described that the data units can be scanned in a Z scan order, but the scan order of the data units can be performed in various scan orders such as raster scan, N scan, right-up diagonal scan, horizontal scan, and vertical scan, and should not be interpreted as being limited to the Z scan order.

[0191] In addition, in the above embodiment, it has been described that scanning is performed on coding units within a reference coding unit, but this should not be interpreted as being limited to this, and the target for performing scanning may also be the largest coding unit or any block within a processing block.

[0192] In addition, in the above embodiment, it has been described that the blocks are divided into sub-blocks and scanned in the Z scan order only when there is at least one non-square block. However, for simplified implementation, the blocks may be divided into sub-blocks and scanned in the Z scan order even when there is no non-square block.

[0193] According to one embodiment, the video decoding device 100 performs inter-prediction or intra-prediction on a coding unit to generate predicted data, performs inverse transform on a transform unit included in the current coding unit to generate residual data, and can reconstruct the current coding unit using the generated predicted data and residual data.

[0194] According to an embodiment, the prediction mode of a coding unit may be at least one of an intra mode, an inter mode, and a skip mode. According to an embodiment, a prediction mode may be selected independently for each coding unit.

[0195] When a 2Nx2N coding unit according to an embodiment is divided into two 2NxN coding units or two Nx2N coding units, inter-mode prediction and intra-mode prediction are performed separately for each of the coding units. Also, a skip mode may be applied to the 2NxN or Nx2N coding units according to an embodiment.

[0196] Meanwhile, the video decoding apparatus 100 according to an embodiment may perform bi-prediction in a skip mode for an 8x4 or 4x8 coding unit. In the skip mode, only skip mode information is transmitted for the coding unit, and thus the use of residual data for the coding unit is omitted. Therefore, overhead for dequantization and inverse transform can be saved. Instead, the video decoding apparatus 100 according to an embodiment may perform bi-prediction for the coding unit to which the skip mode is applied, thereby improving decoding efficiency. Furthermore, the video decoding apparatus 100 according to an embodiment may perform bi-prediction for an 8x4 or 4x8 coding unit, but may set a relatively small number of interpolation taps in the motion compensation step to efficiently use memory bandwidth. For example, instead of using an 8-tap interpolation filter, an interpolation filter with fewer taps than 8 (e.g., a 2-tap interpolation filter) may be used.

[0197] In addition, the video decoding device 100 according to one embodiment may divide the regions included in the current coding unit into a predetermined form (e.g., diagonal division) and signal intra-prediction information or inter-prediction information for each divided region.

[0198] According to an embodiment, the video decoding apparatus 100 may use an intra mode to obtain a predicted sample of a current coding unit using neighboring samples of the current coding unit. In this case, the intra prediction uses neighboring samples that have already been reconstructed, and such samples are called reference samples.

[0199] 24 is a diagram illustrating reference samples for intra prediction of a coding unit according to an embodiment. Referring to FIG. 24, for a current coding unit 2300 having a non-rectangular block shape, a horizontal length of w, and a vertical length of h, there are w+h top reference samples 2302, w+h left reference samples 2304, and one top left reference sample 2306, for a total of 2(w+h)+1 reference samples. To prepare the reference samples, a padding step may be performed on portions where no reference samples exist, followed by a reference sample filtering process for each prediction mode to reduce quantization errors included in the reconstructed reference samples.

[0200] In the above embodiment, the number of reference samples when the block shape of the current coding unit is non-rectangular was described, but the same number of reference samples also applies when the current coding unit has a rectangular block shape.

[0201] The above-described various embodiments have described operations related to the video decoding method performed by the video decoding apparatus 100. Hereinafter, various embodiments will be used to describe operations of the video encoding apparatus 200 that performs a video encoding method that corresponds to a reverse process of the video decoding method.

[0202] FIG. 2 illustrates a block diagram of a video encoding device 200 capable of encoding video based on at least one of block format information and partition format information, according to an embodiment.

[0203] 2, according to an embodiment, the video encoding device 200 may include a bitstream generator 210 for generating a bitstream including predetermined information such as partition type information and block type information, and an encoder 220 for encoding the video using the predetermined information. According to an embodiment, the encoder 220 of the video encoding device 200 may determine at least one coding unit into which the video is divided based on at least one of the block type information and the partition type information, and the bitstream generator 210 of the video encoding device 200 may generate a bitstream including at least one of the block type information and the partition type information. Here, the block type information refers to information or syntax indicating the type of the coding unit, and the partition type information refers to information or syntax indicating the type in which the coding unit is divided.

[0204] According to an embodiment, the encoding unit 220 of the video encoding device 200 may determine the shape of the coding unit. For example, the coding unit may have a square or non-square shape, and information indicating such a shape may be included in the block shape information. According to an embodiment, the encoder 220 may determine the type of division of a coding unit. The encoder 220 may determine the type of at least one coding unit included in the coding unit, and the bitstream generator 210 may generate a bitstream including division type information including information related to the type of the coding unit.

[0205] According to one embodiment, the encoder 220 may determine whether a coding unit is to be split or not. If the encoder 220 determines that a coding unit includes only one coding unit or that the coding unit is not to be split, the bitstream generator 210 may generate a bitstream including split type information indicating that the coding unit is not to be split. Alternatively, the encoder 220 may split the coding unit into multiple coding units, and the bitstream generator 210 may generate a bitstream including split type information indicating that the coding unit is to be split into multiple coding units.

[0206] According to an embodiment, the division type information may include information indicating how many coding units a coding unit is divided into or in which direction the coding unit is divided. For example, the division type information may indicate that the coding unit is divided in at least one of the vertical and horizontal directions, or that the coding unit is not divided.

[0207] FIG. 3 illustrates a process in which the video encoding device 200 divides a current coding unit and determines at least one coding unit, according to an embodiment.

[0208] According to an embodiment, the encoder 220 may determine the type of coding unit. For example, the encoder 220 may determine the type of coding unit having the optimal rate distortion (RD) cost by taking into account the RD cost.

[0209] According to one embodiment, the encoder 220 may determine that the current coding unit is square-shaped and may then determine how the square-shaped coding unit is to be divided. For example, the encoder 220 may determine whether to not divide the square coding unit, to divide it vertically, to divide it horizontally, or to divide it into four coding units. Referring to FIG. 3, the encoder 220 may not divide a coding unit 310a having the same size as the current coding unit 300, or may determine divided coding units 310b, 310c, and 310d based on division type information indicating a predetermined division method.

[0210] 3, according to one embodiment, the encoder 220 may determine two coding units 310b by vertically dividing the current coding unit 300. The encoder 220 may determine two coding units 310c by horizontally dividing the current coding unit 300. The encoder 220 may determine four coding units 310d by vertically and horizontally dividing the current coding unit 300. However, the division patterns into which a square coding unit may be divided are not limited to the above-described patterns, and may include various patterns that can be indicated by the division pattern information. Predetermined division patterns into which a square coding unit may be divided will be described in detail below through various embodiments.

[0211] According to an embodiment, the bitstream generator 210 of the video encoding device 200 may generate a bitstream including division format information indicating how the current coding unit 300 has been divided by the encoder 220 .

[0212] FIG. 4 illustrates a process in which the video encoding device 200 divides a non-square coding unit and determines at least one coding unit, according to an embodiment.

[0213] According to an embodiment, the encoder 220 may determine whether to not divide a non-square current coding unit or to divide it in a predetermined manner. Referring to FIG. 4, the encoder 220 of the current coding unit 400 or 450 may not divide a coding unit 410 or 460 having the same size as the current coding unit 400 or 450, or may divide the coding unit 410 or 460 in a predetermined manner into coding units 420a, 420b, 430a, 430b, 430c, 470a, 470b, 480a, 480b, and 480c. The bitstream generator 210 of the video encoder 200 may generate a bitstream including division type information indicating such a division type. Predetermined division methods for dividing a non-square coding unit will be described in detail below through various embodiments.

[0214] According to one embodiment, the encoder 220 may determine a manner in which a coding unit is divided. Referring to FIG. 4, the encoder 220 may divide a current coding unit 400 or 450 to determine two coding units 420a and 420b or 470a and 470b included in the current coding unit, and the bitstream generator 210 may generate a bitstream including division type information indicating the division type.

[0215] According to an embodiment, when the encoder 220 divides a non-square current coding unit 400 or 450, the encoder 220 may divide the current coding unit in consideration of the position of a long side of the non-square current coding unit 400 or 450. For example, the encoder 220 may determine a plurality of coding units by dividing the current coding unit 400 or 450 in a direction that divides the long side of the current coding unit 400 or 450 in consideration of the shape of the current coding unit 400 or 450, and the bitstream generator 210 may generate a bitstream including division type information indicating such a division type.

[0216] According to an embodiment, the encoder 220 may determine an odd number of coding units included in the current coding unit 400 or 450. For example, the encoder 220 may divide the current coding unit 400 or 450 into three coding units 430a, 430b, 430c, 480a, 480b, and 480. According to an embodiment, the encoder 220 may determine an odd number of coding units included in the current coding unit 400 or 450, and the determined coding units may not all have the same size. For example, among the determined odd number of coding units 430a, 430b, 430c, 480a, 480b, and 480, a predetermined coding unit 430b or 480b may have a different size from the other coding units 430a, 430c, 480a, and 480c. That is, the coding units that can be determined by dividing the current coding unit 400 or 450 can have multiple sizes, and in some cases, odd-numbered coding units 430a, 430b, 430c, 480a, 480b, and 480 can each have different sizes.

[0217] According to an embodiment, the encoder 220 may determine an odd number of coding units included in the current coding unit 400 or 450, and may further impose a predetermined restriction on at least one of the odd number of coding units generated by division. Referring to FIG. 4, the encoder 220 may perform a different decoding process for the central coding units 430b and 480b among the three coding units 430a, 430b, 430c, 480a, 480b, and 480 generated by dividing the current coding unit 400 or 450 than for the other coding units 430a, 430c, 480a, and 480c. For example, the encoder 220 may restrict the central coding units 430b and 480b from being further divided or may restrict them to being divided a predetermined number of times, unlike the other coding units 430a, 430c, 480a, and 480c.

[0218] FIG. 5 illustrates a process in which the video encoding device 200 divides a coding unit according to an embodiment.

[0219] According to one embodiment, the encoder 220 may determine whether or not to divide the square-shaped first coding unit 500 into coding units. According to one embodiment, the encoder 220 may divide the first coding unit 500 horizontally to determine the second coding unit 510. The terms "first coding unit," "second coding unit," and "third coding unit" used in one embodiment are terms used to understand the division relationship between the coding units. For example, if the first coding unit is divided, the second coding unit may be determined, and if the second coding unit is divided, the third coding unit may be determined. Hereinafter, the relationship between the first coding unit, the second coding unit, and the third coding unit used will be understood to be based on the above-mentioned characteristics.

[0220] According to an embodiment, the video encoding apparatus 200 may determine whether to divide the determined second coding unit 510 into coding units based on at least one of block shape information and partition shape information. Referring to FIG. 5, the encoding unit 220 may divide the non-square second coding unit 510, determined by dividing the first coding unit 500, into at least one third coding unit 520a, 520b, 520c, and 520d based on at least one of block shape information and partition shape information, or may not divide the second coding unit 510. The bitstream generator 210 of the video encoding device 200 may generate a bitstream including at least one of block type information and partition type information, and the encoding unit 220 may divide the first coding unit 500 based on at least one of the block type information and the partition type information, for example, into a plurality of second coding units 510 of various types, and the second coding units 510 may be divided according to the manner in which the first coding unit 500 was divided, based on at least one of the block type information and the partition type information. According to an embodiment, when the first coding unit 500 is divided into the second coding units 510 based on at least one of the block type information and the partition type information related to the first coding unit 500, the second coding units 510 may also be divided into, for example, third coding units 520a, 520b, 520c, and 520d based on at least one of the block type information and the partition type information related to the second coding unit 510. Therefore, a square coding unit may be determined from a non-square coding unit, and the square coding unit may be recursively divided to determine a non-square coding unit. Referring to Figure 5, a predetermined coding unit (e.g., a central coding unit or a square coding unit) among the odd number of third coding units 520b, 520c, and 520d determined by dividing the non-square second coding unit 510 may be recursively divided. According to one embodiment, the square third coding unit 520c, which is one of the odd number of third coding units 520b, 520c, and 520d, may be divided horizontally into a plurality of fourth coding units.The non-square fourth coding unit 540, which is one of the plurality of fourth coding units, may be further divided into a plurality of coding units. For example, the non-square fourth coding unit 540 may be further divided into an odd number of coding units 550a, 550b, and 550c.

[0221] The coding units may be recursively divided based on at least one of partitioning information and block configuration information associated with each coding unit. Methods used for recursive division of coding units will be described below in various exemplary embodiments.

[0222] According to an embodiment, the encoder 220 may determine whether to divide each of the third coding units 520a, 520b, 520c, and 520d into coding units or not to divide the second coding unit 510 based on at least one of the block shape information and the partition shape information. According to an embodiment, the encoder 220 may divide the non-square second coding unit 510 into an odd number of third coding units 520b, 520c, and 520d. The video encoder 200 may impose a predetermined restriction on certain third coding units among the odd number of third coding units 520b, 520c, and 520d. For example, the video encoder 200 may restrict the middle coding unit 520c among the odd number of third coding units 520b, 520c, and 520d so that it cannot be further divided or so that it must be divided a configurable number of times. 5, the video encoding device 200 may restrict the middle coding unit 520c of the odd number of third coding units 520b, 520c, and 520d included in the non-square second coding unit 510 to not be further divided, to be divided into a predetermined division pattern (e.g., into only four coding units, or into a pattern corresponding to the division pattern of the second coding unit 510), or to be divided into a predetermined number of times (e.g., divided into n times, n>0). However, the above restriction on the middle coding unit 520c is merely a simple embodiment and should not be construed as being limited to the described embodiment, but should be construed to include various restrictions in which the middle coding unit 520c is decoded differently from the other coding units 520b and 520d.

[0223] According to one embodiment, the bitstream generation unit 210 of the video encoding device 200 can generate a bitstream including at least one of block type information and partition type information used to divide the current coding unit, along with a bitstream related to a sample at a predetermined position within the current coding unit.

[0224] 6 illustrates a method by which the encoder 220 determines a predetermined coding unit from among an odd number of coding units, according to an embodiment. The encoder 220 of the video encoder 200 may determine whether to divide the current coding unit into coding units of various types and sizes, or not to divide the current coding unit. Referring to FIG. 6, the bitstream generator 210 may generate a bitstream including at least one of block shape information and partition shape information of the current coding unit 600, along with a bitstream related to a sample at a predetermined position (e.g., a sample 640 located in the middle) among a plurality of samples included in the current coding unit 600. However, the predetermined position within the current coding unit 600 related to at least one of the block shape information and partition shape information is not limited to the center position shown in FIG. 6, and may include various positions within the current coding unit 600 (e.g., top, bottom, left, right, top left, bottom left, top right, bottom right, etc.).

[0225] According to an embodiment, when a current coding unit is divided into a predetermined number of coding units, the video coding apparatus 200 may select one of the coding units. There are various methods for selecting one of the plurality of coding units, and such methods will be described later through various embodiments.

[0226] According to an embodiment, the encoding unit 220 of the video encoding device 200 may divide a current coding unit into a plurality of coding units and determine a coding unit at a predetermined position.

[0227] FIG. 6 illustrates a method for the video encoding apparatus 200 to determine a coding unit at a predetermined position among an odd number of coding units, according to an embodiment.

[0228] According to one embodiment, the encoder 220 may use information indicating the positions of each odd-numbered coding unit to determine a middle coding unit among the odd-numbered coding units. Referring to FIG. 6, the encoder 220 may divide a current coding unit 600 to determine odd-numbered coding units 620a, 620b, and 620c. The encoder 220 may determine the middle coding unit 620b using information regarding the positions of the odd-numbered coding units 620a, 620b, and 620c. For example, the encoder 220 may determine the positions of the coding units 620a, 620b, and 620c based on information indicating the positions of certain samples included in the coding units 620a, 620b, and 620c to determine the middle coding unit 620b. Specifically, the encoding unit 220 can determine the middle coding unit 620b by determining the positions of the coding units 620a, 620b, and 620c based on information indicating the positions of the upper left samples 630a, 630b, and 630c of the coding units 620a, 620b, and 620c.

[0229] According to some embodiments, the information indicating the positions of the top left samples 630a, 630b, and 630c included in the coding units 620a, 620b, and 620c, respectively, may include information regarding the positions or coordinates of the coding units 620a, 620b, and 620c within the picture. According to some embodiments, the information indicating the positions of the top left samples 630a, 630b, and 630c included in the coding units 620a, 620b, and 620c, respectively, may include information regarding the width or height of the coding units 620a, 620b, and 620c included in the current coding unit 600, where the width or height corresponds to information indicating the difference between the coordinates of the coding units 620a, 620b, and 620c within the picture. That is, the video coding device 200 can determine the coding unit 620b located in the middle by directly using information related to the positions or coordinates of the coding units 620a, 620b, and 620c within the picture, or by using information related to the width or height of the coding units that indicates the difference between the coordinates.

[0230] According to an embodiment, information indicating the position of the top left sample 630a of the top coding unit 620a may indicate (xa, ya) coordinates, information indicating the position of the top left sample 630b of the middle coding unit 620b may indicate (xb, yb) coordinates, and information indicating the position of the top left sample 630c of the bottom coding unit 620c may indicate (xc, yc) coordinates. The video encoding device 200 may determine the middle coding unit 620b using the coordinates of the top left samples 630a, 630b, and 630c included in the coding units 620a, 620b, and 620c, respectively. For example, when the coordinates of the upper left samples 630a, 630b, and 630c are sorted in ascending or descending order, the coding unit 620b including the coordinates (xb, yb) of the middle sample 630b can be determined as the middle coding unit among the coding units 620a, 620b, and 620c determined by dividing the current coding unit 600. However, the coordinates indicating the positions of the top left samples 630a, 630b, and 630c may indicate coordinates indicating absolute positions within a picture. Furthermore, (dxb, dyb) coordinates, which indicate the relative position of the top left sample 630b of the middle coding unit 620b based on the position of the top left sample 630a of the top coding unit 620a, or (dxc, dyc) coordinates, which indicate the relative position of the top left sample 630c of the bottom coding unit 620c, may also be used. Furthermore, the method of determining a coding unit at a predetermined position by using the coordinates of a sample as information indicating the position of the sample included in the coding unit should not be construed as being limited to the above-mentioned method, but should be construed as various arithmetic methods that can use the coordinates of the sample.

[0231] According to an embodiment, the video encoding device 200 may divide the current coding unit 600 into a plurality of coding units 620a, 620b, and 620c and may select a coding unit from the coding units 620a, 620b, and 620c according to a predetermined criterion. For example, the encoding unit 220 may select a coding unit 620b having a different size from the coding units 620a, 620b, and 620c.

[0232] According to an embodiment, the video coding device 200 may determine the width or height of each of the coding units 620a, 620b, and 620c using the (xa, ya) coordinates indicating the position of the top left sample 630a of the top coding unit 620a, the (xb, yb) coordinates indicating the position of the top left sample 630b of the middle coding unit 620b, and the (xc, yc) coordinates indicating the position of the top left sample 630c of the bottom coding unit 620c. The video coding device 200 may determine the size of each of the coding units 620a, 620b, and 620c using the (xa, ya), (xb, yb), and (xc, yc) coordinates indicating the positions of the coding units 620a, 620b, and 620c.

[0233] According to an embodiment, the video encoding device 200 may determine the width of the top coding unit 620a as xb-xa and the height as yb-ya. According to an embodiment, the encoding unit 220 may determine the width of the middle coding unit 620b as xc-xb and the height as yc-yb. According to an embodiment, the encoding unit 220 may determine the width or height of the bottom coding unit using the width or height of the current coding unit and the widths and heights of the top coding unit 620a and the middle coding unit 620b. The encoding unit 220 may determine a coding unit having a different size from the other coding units based on the determined widths and heights of the coding units 620a, 620b, and 620c. Referring to FIG. 6, the video encoding device 200 may determine the middle coding unit 620b, which has a different size from the top coding unit 620a and the bottom coding unit 620c, as a coding unit of a predetermined position. However, the process in which the video encoding device 200 determines a coding unit having a different size from different coding units is merely one embodiment of determining a coding unit at a predetermined position using the size of the coding unit determined based on sample coordinates, and various other processes may be used to determine a coding unit at a predetermined position by comparing the size of the coding unit determined based on predetermined sample coordinates.

[0234] However, the position of the sample considered to determine the position of the coding unit is not interpreted as being limited to the upper left end as mentioned above, but may also be interpreted as using information related to the position of any sample included in the coding unit.

[0235] According to an embodiment, the video encoding device 200 may select a coding unit at a predetermined position from among an odd number of coding units determined by dividing the current coding unit, taking into account the shape of the current coding unit. For example, if the current coding unit is non-square in shape, with its width greater than its height, the encoding unit 220 may determine a coding unit at a predetermined position along the horizontal direction. That is, the encoding unit 220 may determine one of the coding units at a different position in the horizontal direction and set a constraint on the coding unit. If the current coding unit is non-square in shape, with its height greater than its width, the encoding unit 220 may determine a coding unit at a predetermined position along the vertical direction. That is, the encoding unit 220 may determine one of the coding units at a different position in the vertical direction and set a constraint on the coding unit.

[0236] According to an embodiment, the video encoding apparatus 200 may use information indicating the positions of each of the even-numbered coding units to determine a coding unit at a predetermined position among the even-numbered coding units. The encoding unit 220 may divide the current coding unit to determine the even-numbered coding units, and may determine the coding unit at a predetermined position using information regarding the positions of the even-numbered coding units. Specific steps related to this are similar to the step of determining a coding unit at a predetermined position (e.g., the middle position) among the odd-numbered coding units described with reference to FIG. 6, and therefore will not be described further.

[0237] According to an embodiment, when a non-square current coding unit is divided into a plurality of coding units, the coding unit at a predetermined position among the plurality of coding units may be determined using predetermined information used in the division of the current coding unit. For example, the encoding unit 220 of the video encoding device 200 may use at least one of block shape information and partition shape information as the predetermined information used in the division of the current coding unit to determine a coding unit at a center position among the plurality of coding units into which the current coding unit is divided. Such information may include:

[0238] 6, the encoder 220 of the video encoder 200 may divide a current coding unit 600 into a plurality of coding units 620a, 620b, and 620c and may determine a coding unit 620b located in the middle of the plurality of coding units 620a, 620b, and 620c, and the bitstream generator 210 may generate a bitstream including at least one of block shape information and partition shape information used in the division process of the current coding unit 600. The encoder 220 may determine the coding unit 620b located in the middle by considering the position of a sample related to a bitstream of at least one of the block shape information and partition shape information used in the division process of the current coding unit 600. That is, a bitstream including at least one of block type information and partition type information of the current coding unit 600 is generated together with a bitstream related to a sample 640 located in the middle of the current coding unit 600. In this case, the encoder 220 may determine a coding unit 620b including the sample 640 as the middle coding unit among the plurality of coding units 620a, 620b, and 620c. However, the information used to determine the middle coding unit among the plurality of coding units determined by dividing the current coding unit is not limited to at least one of the block type information and partition type information used in dividing the current coding unit, but various information may be used. In this regard, the process by which the video encoder 200 determines a coding unit at a predetermined position is the opposite process to the process by which the video decoder 100 determines a coding unit at a predetermined position among the plurality of coding units determined from the current coding unit, and therefore a detailed description thereof will be omitted.

[0239] According to one embodiment, the video encoding device 200 may divide the current coding unit and determine at least one coding unit, and may determine the order in which such at least one coding unit is decoded based on a predetermined block (e.g., the current coding unit).

[0240] 7 illustrates an order in which a plurality of coding units are processed when the video encoding apparatus 200 divides a current coding unit and determines the plurality of coding units, according to an embodiment. The process of processing the plurality of coding units by the video encoding apparatus 200 shown in FIG. 7 is similar to the operation of the video decoding apparatus 100 described with reference to FIG. 7, and therefore, a detailed description thereof will be omitted.

[0241] FIG. 8 illustrates a process in which the video encoding apparatus 200 determines that a current coding unit is to be divided into an odd number of coding units when the coding units cannot be processed in a predetermined order, according to an embodiment.

[0242] According to an embodiment, the encoder 220 of the video encoder 200 may determine that the current coding unit is to be divided into an odd number of coding units, and the bitstream generator 210 may generate a bitstream including block type information indicating the type of the current coding unit and partition type information indicating the partition type (divided into an odd number of coding units) of the current coding unit. Referring to FIG. 8, a square-shaped first coding unit 800 may be divided into non-square-shaped second coding units 810a and 810b, and the second coding units 810a and 810b may be independently divided into third coding units 820a, 820b, 820c, 820d, and 820e. According to an embodiment, the encoder 220 may horizontally divide the left coding unit 810a of the second coding unit to determine a plurality of third coding units 820a and 820b, and may divide the right coding unit 810b into an odd number of third coding units 820c, 820d, and 820e. The process by which the video encoding device 200 related to Figure 8 determines that the current coding unit is divided into an odd number of coding units is the opposite process to the operation of the video decoding device 100 described in relation to Figure 8, so detailed explanation will be omitted.

[0243] 9 illustrates the video encoding apparatus 200 dividing a first coding unit 900 and determining at least one coding unit, according to an embodiment. According to an embodiment, the encoding unit 220 may divide the first coding unit 900, and the bitstream generation unit 210 may generate a bitstream including at least one of block shape information indicating the shape of the first coding unit 900 and partition shape information indicating the manner in which the first coding unit 900 is divided. The square-shaped first coding unit 900 may be divided into four square-shaped coding units or into a plurality of non-square-shaped coding units. For example, referring to FIG. 9, the encoding unit 220 may divide the first coding unit 900 into a plurality of non-square coding units, and in this case, the bitstream generation unit 210 may generate a bitstream including block shape information indicating that the first coding unit 900 is square and partition shape information indicating that the first coding unit 900 is divided into non-square coding units. Specifically, the encoder 220 may divide the square-shaped first coding unit 900 into second coding units 910a, 910b, and 910c determined by vertically dividing the first coding unit 900 into an odd number of coding units, or into second coding units 920a, 920b, and 920c determined by horizontally dividing the first coding unit 900. In this case, the bitstream generator 210 may generate a bitstream including division type information indicating that the first coding unit 900 is divided horizontally or vertically to determine an odd number of coding units. The process of the video encoder 200 shown in FIG. 9 dividing the first coding unit 900 and determining at least one coding unit is the opposite process to the operation of the video decoder 100 described above with reference to FIG. 9, and therefore, detailed description thereof will be omitted.

[0244] FIG. 10 illustrates that, according to one embodiment, the video encoding device 200 restricts the manner in which the second coding unit may be divided when the non-square second coding unit determined by dividing the first coding unit 1000 satisfies a predetermined condition.

[0245] According to an embodiment, the encoder 220 may determine to divide the square-shaped first coding unit 1000 into non-square-shaped second coding units 1010a, 1010b, 1020a, and 1020b. The second coding units 1010a, 1010b, 1020a, and 1020b may be divided independently. Accordingly, the encoder 220 may determine whether to divide each of the second coding units 1010a, 1010b, 1020a, and 1020b into multiple coding units or not to divide it at all. The operation of the video encoder 200 shown in FIG. 10 to restrict the type of division when the non-square-shaped second coding unit satisfies a predetermined condition is the opposite of the operation of the video decoder 100 shown in FIG. 10, and therefore, a detailed description thereof will be omitted.

[0246] 11 illustrates a process in which the video encoding apparatus 200 divides a square-shaped coding unit when the division type information does not indicate division into four square-shaped coding units, according to an embodiment. The related operation of the video encoding apparatus 200 is opposite to the operation of the video decoding apparatus 100 described with reference to FIG. 11, and therefore a detailed description thereof will be omitted.

[0247] FIG. 12 illustrates that the processing order of multiple coding units may vary depending on the division process of the coding units, according to an embodiment.

[0248] According to an embodiment, the encoding unit 220 may divide the square-shaped first coding unit 1200 in at least one of the horizontal and vertical directions. According to an embodiment, the bitstream generation unit 210 may generate a bitstream including block shape information indicating that the first coding unit 1200 is square-shaped and division shape information indicating that the first coding unit 1200 is divided in at least one of the horizontal and vertical directions.

[0249] According to an embodiment, the encoder 220 may divide the first coding unit 1200 to determine, for example, second coding units 1210a, 1210b, 1220a, 1220b, 1230a, 1230b, 1230c, and 1230d. Referring to Figure 12, the non-square second coding units 1210a, 1210b, 1220a, and 1220b, which are determined by dividing the first coding unit 1200 only in the horizontal or vertical direction, may be divided independently. For example, the encoder 220 may horizontally divide the second coding units 1210a and 1210b generated by vertically dividing the first coding unit 1200 to determine the third coding units 1216a, 1216b, 1216c, and 1216d, and may horizontally divide the second coding units 1220a and 1220b generated by horizontally dividing the first coding unit 1200 to determine the third coding units 1226a, 1226b, 1226c, and 1226d. The operation of the video encoder 200 shown in FIG. 10 is opposite to the operation of the video decoder 100 described above with reference to FIG. 10, and therefore, a detailed description thereof will be omitted.

[0250] 13 illustrates a process of determining the depth of a coding unit according to changes in the shape and size of the coding unit when a coding unit is recursively divided into multiple coding units, according to an embodiment. The process of determining the depth of a coding unit by the encoder 220 of the video encoding device 200 is opposite to the process of determining the depth of a coding unit by the decoder 120 of the video decoding device 100 described with reference to FIG. 13, and therefore a detailed description thereof will be omitted.

[0251] According to an embodiment, the video encoding device 200 may determine whether a current coding unit is divided into a specific division type based on an index value for distinguishing the plurality of coding units determined by dividing the current coding unit. Referring to FIG. 14, the video encoding device 200 may divide a rectangular first coding unit 1410, whose height is greater than its width, to determine an even number of coding units 1412a, 1412b or an odd number of coding units 1414a, 1414b, 1414c. The video encoding device 200 may use an index indicating each coding unit to distinguish each of the plurality of coding units. According to an embodiment, a PID may also be obtained from a sample at a predetermined position (e.g., the top left sample) of each coding unit. The operation of the video encoding device 200 according to FIG. 14 is opposite to the operation of the video decoding device 100 described with reference to FIG. 14, and therefore a detailed description thereof will be omitted.

[0252] 15 illustrates a state in which a plurality of coding units are determined based on a plurality of predetermined data units included in a picture, according to an embodiment. According to an embodiment, the encoder 220 may use a reference coding unit, which is described above as a predetermined data unit from which recursive division of the coding units begins. The operation of the video encoder 200 using the reference coding unit in relation to FIG. 15 is opposite to the operation of the video decoder 100 using the reference coding unit described above, and therefore a detailed description thereof will be omitted.

[0253] According to an embodiment, the bitstream generator 210 of the video encoding device 200 may generate a bitstream including at least one of information related to the type of the reference coding unit and information related to the size of the reference coding unit for each of the various data units. The process of determining at least one coding unit included in the square-shaped reference coding unit 1500 has been described through the process of dividing the current coding unit 300 in Fig. 3, and the process of determining at least one coding unit included in the non-square-shaped reference coding unit 1500 has been described through the process of dividing the current coding unit 400 or 450 in Fig. 4, so detailed descriptions thereof will be omitted.

[0254] According to an embodiment, the encoder 220 may use an index for identifying the size and type of the reference coding unit to determine the size and type of the reference coding unit according to some data units that are predetermined based on a predetermined condition. That is, the bitstream generator 210 may generate a bitstream including an index for identifying the size and type of the reference coding unit for each data unit that satisfies a predetermined condition (e.g., a data unit having a size equal to or smaller than a slice) among the various data units (e.g., a sequence, a picture, a slice, a slice segment, a maximum coding unit, etc.). The encoder 220 may determine the size and type of the reference data unit for each data unit that satisfies the predetermined condition by using the index. According to an embodiment, at least one of the size and type of the reference coding unit associated with the index indicating the size and type of the reference coding unit is predetermined. That is, the encoder 220 may determine at least one of the size and type of the reference coding unit included in the data unit that is the basis for index acquisition by selecting at least one of the size and type of the predetermined reference coding unit according to the index. The operation of the encoder 220 using the index for identifying the size and type of the reference coding unit is similar to the operation of the decoder 120 described above, and therefore a detailed description thereof will be omitted.

[0255] FIG. 16 illustrates processing blocks that are responsible for determining the order in which reference coding units included in a picture 1600 are determined, according to one embodiment.

[0256] According to an embodiment, the encoding unit 220 may acquire information regarding the size of the processing blocks and determine the size of at least one processing block included in the image. The encoding unit 220 may determine the size of at least one processing block included in the image, and the bitstream generator 210 may generate a bitstream including the information regarding the size of the processing blocks. The size of such a processing block is also a predetermined size of a data unit indicated by the information regarding the size of the processing block.

[0257] According to an embodiment, the bitstream generator 210 of the video encoding device 200 may generate a bitstream including information regarding the size of a processing block for each specific data unit. For example, a bitstream including information regarding the size of a processing block may be generated for each data unit such as a video, a sequence, a picture, a slice, or a slice segment. That is, the bitstream generator 210 may generate a bitstream including information regarding the size of a processing block for each of the data units, and the encoding unit 220 may determine the size of at least one processing block for dividing a picture using the information regarding the size of the processing block, and the size of such a processing block may be an integer multiple of the base coding unit.

[0258] According to an embodiment, the encoder 220 may determine the size of the processing blocks 1602 and 1612 included in the picture 1600. For example, the encoder 220 may determine the size of the processing blocks based on information related to the size of the processing blocks. Referring to FIG. 16, according to an embodiment, the encoder 220 may determine the width of the processing blocks 1602 and 1612 to be four times the width of a reference coding unit and the height of the processing blocks to be four times the height of the reference coding unit. The encoder 220 may determine the order in which at least one reference coding unit is determined within at least one processing block. The operation of the encoder 220 related to the processing blocks is similar to the operation of the decoder 120 described with reference to FIG. 16, and therefore a detailed description thereof will be omitted.

[0259] According to an embodiment, the bitstream generator 210 of the video encoding device 200 may generate a bitstream including block type information indicating the type of a current coding unit or partition type information indicating a method of dividing the current coding unit. The block type information or partition type information may be included in a bitstream related to various data units. For example, the bitstream generator 210 of the video encoding device 200 may use block type information or partition type information included in a sequence parameter set, a picture parameter set, a video parameter set, a slice header, or a slice segment header. Furthermore, the bitstream generator 210 of the video encoding device 200 may generate a bitstream including syntax indicating block type information or partition type information for each maximum coding unit, reference coding unit, and processing block.

[0260] According to an embodiment, the encoding unit 220 may determine different types of division patterns into which the coding unit may be divided for each predetermined data unit. According to an embodiment, the encoding unit 220 of the video encoding device 200 may determine different combinations of types into which the coding unit may be divided for each predetermined data unit (e.g., sequence, picture, slice, etc.).

[0261] FIG. 17 illustrates coding units that may be determined for each picture when the combinations of how coding units may be divided vary from picture to picture, according to an embodiment.

[0262] Referring to FIG. 17 , the encoder 220 may determine different combinations of division patterns into which coding units may be divided for each picture. For example, the encoder 220 may decode a video using a picture 1700 that may be divided into four coding units, a picture 1710 that may be divided into two or four coding units, and a picture 1720 that may be divided into two, three, or four coding units, among at least one picture included in the video. The encoder 220 may divide the picture 1700 into four square coding units. The encoder 220 may divide the picture 1710 into two or four coding units. The encoder 220 may divide the picture 1720 into two, three, or four coding units. The above-described combinations of division patterns are merely exemplary embodiments for describing the operation of the video encoder 200. Therefore, the described combinations of division patterns should not be construed as being limited to the above-described embodiments, and various combinations of division patterns may be used for each predetermined data unit.

[0263] According to an embodiment, the encoding unit 220 of the video encoding device 200 may determine a combination of partitioning patterns into which a coding unit may be divided for each predetermined data unit using an index indicating a combination of partitioning pattern information, thereby enabling the use of different combinations of partitioning patterns for each predetermined data unit. Furthermore, the bitstream generation unit 210 of the video encoding device 200 may generate a bitstream including an index indicating a combination of partitioning pattern information for each predetermined data unit (e.g., a sequence, a picture, a slice, etc.). For example, the bitstream generation unit 210 may generate a sequence parameter set, a picture parameter set, or a slice header including an index indicating a combination of partitioning pattern information.

[0264] 18 and 19 illustrate various types of coding units that may be determined based on division type information that may be expressed by binary code, according to an embodiment.

[0265] According to an embodiment, the encoder 220 of the video encoder 200 may divide a coding unit into various types and generate a bitstream including block type information and partition type information via the bitstream generator 210. The types of the divided coding units may include various types including those described in the above embodiments. Referring to FIG. 18, the encoder 220 may divide a square-shaped coding unit in at least one of the horizontal and vertical directions based on the partition type information, and may divide a non-square-shaped coding unit in the horizontal or vertical direction. Features related to the binary code of the partition type information that can be used by the video encoder 200 correspond to the features of the video decoder 100 described with reference to FIGS. 18 and 19, and therefore will not be described in detail.

[0266] According to one embodiment, the video encoding device 200 performs inter-prediction or intra-prediction on a coding unit to generate predicted data, performs inverse transformation on a transform unit included in the current coding unit to generate residual data, and encodes the current coding unit using the generated predicted data and residual data.

[0267] According to an embodiment, the prediction mode of the coding unit may be at least one of an intra mode, an inter mode, and a skip mode. According to an embodiment, prediction is performed independently for each coding unit, and a prediction mode with a minimum error is selected.

[0268] According to an embodiment, when a 2Nx2N coding unit is divided into two 2NxN coding units or two Nx2N coding units, inter-mode prediction and intra-mode prediction are performed separately for each of the coding units. According to an embodiment, the encoder 220 of the video encoder 200 can encode the coding unit using a CU skip mode not only when the coding unit is square but also when the coding unit is non-square. By using the CU skip mode to decode video not only when the coding unit is square, which can be determined based on at least one of block shape information and partition shape information, but also when the coding unit is non-square, this enables more adaptive use of the skip mode, thereby improving video processing / decoding efficiency. Features of the video encoder 200 that use the skip mode for such non-square coding units are similar to those described above in relation to the use of the skip mode by the video encoder 200, and therefore a detailed description thereof will be omitted.

[0269] FIG. 22 illustrates a process of performing merging or division between coding units determined by a predetermined encoding method according to one embodiment.

[0270] According to an embodiment, the video encoding device 200 may determine a coding unit into which a picture is divided using the predetermined encoding method. For example, the video encoding device 200 may determine a coding unit of a current depth or divide the coding unit into four coding units of a lower depth based on division information of the coding unit. As described above, according to an embodiment, the video encoding device 200 may determine a coding unit using block shape information indicating that the current coding unit always has a square shape and division shape information indicating that the current coding unit is not divided or is divided into four square coding units. Referring to FIG. 22, pictures 2200 and 2220 may be divided into square coding units determined using the predetermined encoding method.

[0271] However, in the case of the predetermined decoding unit described above, whether or not the current coding unit is divided is determined based on whether a relatively small object included in the current coding unit is suitable for representation. Therefore, large objects and small objects in a picture are not coded using a single coding unit. Here, an object is a collection of samples included in a picture, and refers to a region of samples that is distinguished from other regions by having similar sample values. Referring to FIG. 22, the video coding apparatus 200 may determine a coding unit for decoding the small object 2221 by dividing the first coding unit 2222 into four coding units of lower depths to restore the small object 2221. However, since the large object 2223 is not included in the current coding unit 2222, the large object 2223 is not suitable for decoding using the current coding unit 2222. Furthermore, because the current coding unit 2222 is divided to decode the small object 2221, an unnecessary coding unit division process must ultimately be performed to decode the large object 2223, which is inefficient. That is, if the video encoding device 200 can use one coding unit to encode a portion related to the large object 2223, video encoding can be performed efficiently.

[0272] According to one embodiment, the encoder 220 of the video encoder 200 may divide a current coding unit using at least one of block shape information and partition shape information. The block shape information may be predetermined to use only square shapes, and the partition shape information may be predetermined to indicate no division or division into four square coding units. This corresponds to the coding unit determination process used in the predetermined encoding method described in various embodiments. In this case, the encoder 220 may use sample values ​​included in a picture to merge or divide the determined coding units using the predetermined encoding method. For example, the encoder 220 may detect various objects included in a picture by examining portions having similar sample values, and may perform a merging / division process of the coding units based on portions related to the detected objects.

[0273] Referring to FIG. 22, according to one embodiment, the encoder 220 may determine a plurality of coding units into which to divide a picture 2200 using the predetermined encoding method described above. However, even if a portion 2201 having similar sample values ​​is included in a picture, a process of dividing the similar region into a plurality of coding units other than a single coding unit may be performed. In this case, even if coding units are determined using the predetermined encoding method, the encoder 220 may merge such coding units into a single coding unit 2202 and encode them as a single coding unit. Referring to FIG. 22, according to another embodiment, the encoder 220 may divide a coding unit 2222 for encoding a small object 2221 into four coding units using the predetermined encoding method described above. Since none of the divided coding units include the detected large object 2223, the encoder 220 may merge the coding units into a single coding unit including a portion having similar sample values ​​(2225).

[0274] According to an embodiment, the encoder 220 may determine a coding unit using a predetermined encoding method that does not divide the coding unit or divides it into four coding units using coding unit division information, and then further divide the coding unit by considering sample values ​​of samples included in the picture. That is, the encoder 120 may not only merge coding units but also divide already determined coding units to determine coding units for each object. Referring to FIG. 22, the encoder 120 may merge coding units for an object 2223, and may further divide the merged coding unit for the object 2223 to determine a coding unit optimized for the object 2223 (2226). That is, the encoder 220 may determine a portion that does not include the object 2223 as a coding unit 2227 separate from the object 2223 through the division process (2226).

[0275] When a bitstream related to the video is generated after merging or dividing coding units determined by a predetermined encoding method through the operation of the above-mentioned video encoding device 200, the video decoding device 100 can obtain such a bitstream and then decode the video by performing a video decoding method corresponding to the reverse operation of the above-mentioned video encoding method.

[0276] FIG. 23 illustrates indexing of coding units in Z-scan order according to one embodiment.

[0277] The encoder 220 of the video encoding device 200 according to an embodiment may scan lower data units included in upper data units in a Z scan order. The video encoding device 200 according to an embodiment may sequentially access data using Z scan indices within a maximum coding unit or a coding unit included in a processing block. The encoder 220 of the video encoding device 200 according to an embodiment may divide a reference coding unit into at least one coding unit, as described with reference to FIGS. 3 and 4. In this case, square coding units and non-square coding units are mixed within the reference coding unit. The characteristics of the video encoding device 200 with respect to the indexes according to the Z scan order of the coding units are similar to those of the video decoding device 100 described with reference to FIG. 23, and therefore, detailed description thereof will be omitted.

[0278] The above description focuses on various embodiments. Those skilled in the art will understand that the present invention can be embodied in various modified forms without departing from the essential characteristics of the present invention. Therefore, the disclosed embodiments should be considered from an illustrative rather than a restrictive perspective. The scope of the present invention is defined by the claims, not the foregoing description, and all variations that fall within the range of equivalents thereof should be construed as being within the scope of the present invention.

[0279] Meanwhile, the above-described embodiments of the present invention can be written as a program executed by a computer and can be implemented in a general-purpose digital computer that runs the program using a computer-readable recording medium. The computer-readable recording medium includes recording media such as magnetic recording media (e.g., ROM (read-only memory), floppy disks, hard disks, optically readable media (e.g., CD-ROM (compact disc read-only memory), DVD (digital versatile disc)), etc.).

[0280] [Note] (Appendix 1) 1. A method for decoding video, comprising: obtaining at least one of block type information and partition type information related to a first coding unit included in the image from a bitstream; determining at least one second coding unit included in the first coding unit based on at least one of the acquired block format information and the acquired division format information; decoding the video based on the at least one second coding unit; The block type information indicates a type of the first coding unit, The video decoding method, wherein the division format information indicates whether the first coding unit is divided into the second coding unit or not. (Appendix 2) determining the at least one second coding unit; determining whether the first coding unit exhibits a square or non-square shape based on the block shape information; and determining the at least one second coding unit based on the determined form of the first coding unit. (Appendix 3) determining the at least one second coding unit; 2. The video decoding method according to claim 1, further comprising determining a plurality of second coding units having a plurality of sizes based on the division format information. (Appendix 4) The step of obtaining at least one of the block shape information and the division shape information comprises: The video decoding method of claim 1, further comprising the step of obtaining at least one of the block type information and the partition type information from a bitstream relating to a sample at a predetermined position included in the first coding unit. (Appendix 5) The video decoding method includes: The video decoding method described in Appendix 1, further comprising the steps of determining a predetermined second coding unit from the at least one second coding unit, limiting the number of divisions related to the predetermined second coding unit, and decoding the video. (Appendix 6) The step of decoding the image includes: The video decoding method described in Appendix 5, further comprising the steps of: determining a second coding unit located at a predetermined position among the plurality of second coding units; setting a limit on the number of divisions for the predetermined second coding unit; and decoding the video. (Appendix 7) The step of decoding the image includes: determining a second coding unit including the sample at the predetermined position among the at least one second coding unit; 7. The video decoding method according to claim 6, further comprising: limiting the number of divisions for the determined second coding unit and decoding the video. (Appendix 8) The video decoding method includes: determining a reference coding unit by dividing the width and height of the largest coding unit; 2. The video decoding method of claim 1, further comprising determining the reference coding unit as the first coding unit. (Appendix 9) The video decoding method includes: further comprising dividing the image by at least one processing block including at least one largest coding unit; The video decoding method described in Appendix 1, characterized in that the processing order of the at least one largest coding unit included in the at least one processing block may differ depending on the processing block. (Appendix 10) determining the at least one second coding unit; If the division type information related to the first coding unit indicates that the first coding unit is divided vertically and horizontally, dividing the first coding unit vertically or horizontally to determine a plurality of second coding units, The video decoding method described in Appendix 1, characterized in that none of the multiple second coding units are divided in a direction perpendicular to the direction in which the first coding unit is divided. (Appendix 11) The video decoding method includes: The video decoding method described in Appendix 1, further comprising a step of determining a depth of each coding unit based on the long side length of the first coding unit and the at least one second coding unit. (Appendix 12) The video decoding method includes: The video decoding method described in Appendix 1, characterized in that the processing order of at least one third coding unit determined by dividing one of the at least one second coding unit can be determined based on the division form of the second coding unit related to the at least one third coding unit. (Appendix 13) In an apparatus for decoding video, a bitstream acquisition unit that acquires at least one of block format information and partition format information related to a first coding unit included in the image from the bitstream; a decoding unit that determines at least one second coding unit included in the first coding unit based on at least one of the acquired block format information and the acquired division format information, and decodes the video based on the at least one second coding unit, The block type information indicates a type of the first coding unit, 10. A video decoding device, wherein the division form information indicates whether the first coding unit is divided into the second coding unit or not. (Appendix 14) A method for encoding video, comprising: generating a bitstream including at least one of block type information and partition type information related to a first coding unit included in the image; determining at least one second coding unit included in the first coding unit based on at least one of the block format information and the division format information; encoding the video based on the at least one second coding unit; The block type information indicates a type of the first coding unit, 10. A video encoding method, wherein the division format information indicates whether the first coding unit is divided into the second coding unit or not. (Appendix 15) In an apparatus for encoding video, a bitstream generator configured to generate a bitstream including at least one of block format information and division format information related to a first coding unit included in the video; an encoding unit that determines at least one second coding unit included in the first coding unit based on at least one of the block format information and the division format information, and encodes the video based on the at least one second coding unit, The block type information indicates a type of the first coding unit, 10. A video encoding device, wherein the division form information indicates whether the first coding unit is divided into the second coding unit or not. [Explanation of symbols]

[0281] 500 First coding unit 510 Second coding unit 520 Third coding unit

Claims

1. 1. A method for decoding video, comprising: obtaining information on the size of a maximum coding unit and information on the size of a reference coding unit from the bitstream; obtaining a plurality of maximum coding units by dividing the image according to information relating to the size of the maximum coding unit; determining a plurality of base coding units by dividing a width and a height of a current maximum coding unit among the plurality of maximum coding units according to information on the size of the base coding unit; obtaining division format information of a first coding unit, which is one of the plurality of reference coding units, from the bitstream; determining a second coding unit by dividing the first coding unit based on the division format information of the first coding unit; and when a current coding unit among the second coding units is not divided into smaller coding units, determining one or more transform blocks from the current coding unit and performing inverse transform using the one or more transform blocks to decode the current coding unit, When three second coding units are generated by vertically dividing the first coding unit according to the division type information, a division type of a second coding unit located at a center of the three second coding units may correspond to a division type of the first coding unit according to the division type information, The division type information of the first coding unit indicates whether the first coding unit is divided horizontally or vertically and whether the first coding unit is divided into two or three second coding units, The video decoding method, wherein a division depth of the second coding unit is greater than a division depth of the first coding unit by 1.

2. In an apparatus for decoding video, a bitstream acquiring unit that acquires information on a size of a maximum coding unit and information on a size of a reference coding unit from the bitstream, divides the image according to the information on the size of the maximum coding unit to acquire a plurality of maximum coding units, determines a plurality of reference coding units by dividing a width and a height of a current maximum coding unit among the plurality of maximum coding units according to the information on the size of the reference coding unit, and acquires division format information of a first coding unit, which is one of the plurality of reference coding units, from the bitstream; a decoding unit that determines a second coding unit by dividing the first coding unit based on the division format information of the first coding unit, and when a current coding unit is not divided into smaller coding units among the second coding units, determines one or more transform blocks from the current coding unit and performs inverse transform using the one or more transform blocks to decode the current coding unit, When three second coding units are generated by vertically dividing the first coding unit according to the division type information, a division type of a second coding unit located at a center of the three second coding units may correspond to a division type of the first coding unit according to the division type information, The division type information of the first coding unit indicates whether the first coding unit is divided horizontally or vertically and whether the first coding unit is divided into two or three second coding units, A video decoding device, characterized in that a decomposition depth of the second coding unit is greater than a decomposition depth of the first coding unit by 1.

3. 1. A method for encoding video, comprising: generating information relating to the size of a maximum coding unit and information relating to the size of a reference coding unit; determining a plurality of maximum coding units by dividing the image according to the size of the maximum coding unit; determining a plurality of reference coding units by dividing a width and a height of a current largest coding unit among the plurality of largest coding units according to a size of the reference coding unit; generating second coding units from the first coding unit by dividing a first coding unit, which is one of the plurality of reference coding units, horizontally or vertically into two or three second coding units; determining one or more transform blocks from the current coding unit and encoding the current coding unit by performing a transform using the one or more transform blocks when the current coding unit is not divided into smaller coding units among the second coding units; generating a bitstream including division type information of the first coding unit, the division type information indicating whether the first coding unit is divided horizontally or vertically and whether the first coding unit is divided into two or three second coding units; When three second coding units are generated by vertically dividing the first coding unit, a division form of a second coding unit located at a center of the three second coding units may correspond to a division form according to the division form information of the first coding unit; The video encoding method, wherein a division depth of the second coding unit is greater than a division depth of the first coding unit by one.

4. A method for transmitting a bitstream generated by encoding video, comprising: generating information relating to the size of a maximum coding unit and information relating to the size of a reference coding unit; determining a plurality of maximum coding units by dividing the image according to the size of the maximum coding unit; determining a plurality of reference coding units by dividing a width and a height of a current largest coding unit among the plurality of largest coding units according to the size of the reference coding unit; horizontally or vertically dividing a first coding unit, which is one of the plurality of base coding units, and dividing the first coding unit into two or three second coding units to generate second coding units from the first coding unit; and when a current coding unit among the second coding units is not divided into smaller coding units, determining one or more transform blocks from the current coding unit and encoding the current coding unit by performing a transform using the one or more transform blocks; generating division type information of the first coding unit, the division type information indicating whether the first coding unit is divided horizontally or vertically and whether the first coding unit is divided into two or three second coding units; outputting the bitstream including information on the size of the maximum coding unit, information on the size of the reference coding unit, and information on the division format of the first coding unit; When three second coding units are generated by vertically dividing the first coding unit, a division form of a second coding unit located at a center of the three second coding units may correspond to a division form according to the division form information of the first coding unit; The method, wherein a decomposition depth of the second coding unit is one greater than a decomposition depth of the first coding unit.

Citation Information

Patent Citations

  • Video encoding method and apparatus based on coding unit with tree structure, and video decoding method and apparatus

    JP2013524716A

  • Non-square transformation in intra predictive video coding

    JP2014534734A

  • Content adaptive partitioning for prediction and coding for next generation video

    WO2014120369A1

  • Content adaptive entropy coding of partitions data for next generation video

    WO2014120575A1

  • Multi-type-tree framework for video coding

    WO2017123980A1