Method and apparatus for encoding / decoding video.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2025-07-02
- Publication Date
- 2026-04-07
AI Technical Summary
Conventional video compression methods using uniform, square encoding units result in inefficient encoding and decoding processes, leading to degraded image quality for high-resolution video content.
Adaptive video encoding and decoding methods that utilize diverse forms of encoding units based on block-type and division-type information to determine second coding units, allowing for efficient video processing and improved image quality.
Enables efficient video encoding and decoding, enhancing the image quality of restored video by adapting to the characteristics of the video content.
Smart Images

Figure 0007842289000002 
Figure 0007842289000003 
Figure 0007842289000004
Abstract
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] Video data is encoded using a codec based on a predetermined data compression standard, such as the MPEG (Moving Picture Experts Group) standard, and then stored in bitstream format on a recording medium or transmitted via a communication channel.
[0003] The development and widespread adoption of hardware capable of playing and storing high-resolution or high-definition video content has increased the need for codecs that can effectively encode or decode high-resolution or high-definition video content. Encoded video content is played back after being decoded. Recently, methods have been implemented to effectively compress such high-resolution or high-definition video content. For example, efficient video compression methods have been implemented that involve processing the video to be encoded in an arbitrary manner.
[0004] To compress video, various data units are used, and inclusion relationships can exist between such data units. To determine the size of the data units used for such video compression, the data units are divided in various ways, and the data units optimized according to the characteristics of the video are determined, thereby performing video encoding or decoding. [Overview of the Initiative] [Problems that the invention aims to solve]
[0005] In conventional compression methods, the process of determining the size of the encoding units contained in a picture involved deciding whether or not to divide it, and then determining a square encoding unit through a recursive partitioning process that uniformly divided it into four encoding units of the same size.
[0006] However, with the recent surge in demand for high-resolution video and the resulting increase in the amount of data required for video playback, efficient video encoding and decoding processes are necessary. Furthermore, the degradation of image quality in restored video caused by the use of a uniform, square encoding unit has become a problem. [Means for solving the problem]
[0007] In one embodiment, a method for decoding video is provided, comprising the steps of: obtaining at least one of block-type information and division-type information relating to a first coding unit contained in the video from a bitstream; determining at least one second coding unit contained in the first coding unit based on at least one of the obtained block-type information and division-type information; and decoding the video based on the at least one second coding unit, wherein the block-type information indicates the form of the first coding unit, and the division-type information indicates whether the first coding unit is divided into the second coding unit or not.
[0008] In 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 division-type information relating to a first coding unit contained in the video from a bitstream, and a decoding unit that determines at least one second coding unit contained in the first coding unit based on at least one of the acquired block-type information and division-type information, and decodes the video based on the at least one second coding unit, wherein the block-type information indicates the form of the first coding unit, and the division-type information indicates whether the first coding unit is divided into the second coding unit or not.
[0009] A video encoding method is also provided according to one embodiment, comprising the steps of: generating a bitstream including at least one of block-type information and division-type information relating to a first encoding unit included in the video; determining at least one second encoding unit included in the first encoding unit based on at least one of the block-type information and division-type information; and encoding the video based on the at least one second encoding unit, wherein the block-type information indicates the form of the first encoding unit, and the division-type information indicates whether the first encoding unit is divided into the second encoding unit or not.
[0010] In one embodiment, a video encoding device is also provided, which includes a bitstream generation unit that generates a bitstream including at least one of block-type information and division-type information relating to a first encoding unit contained in the video, and an encoding unit that determines at least one second encoding unit contained in the first encoding unit based on at least one of the block-type information and division-type information, and encodes the video based on the at least one second encoding unit, wherein the block-type information indicates the form of the first encoding unit, and the division-type information indicates whether the first encoding unit is divided into the second encoding unit or not. [Effects of the Invention]
[0011] By utilizing diverse forms of encoding units during the video encoding and decoding process, it becomes possible to use encoding units that are adaptive to the characteristics of the video. This enables efficient video encoding and decoding, and improves the image quality of the restored video. [Brief explanation of the drawing]
[0012] [Figure 1] This diagram illustrates a block diagram of an image decoding device that, according to one embodiment, can decode an image based on at least one of block shape information and segmented shape information. [Figure 2] This diagram illustrates a block diagram of a video encoding device that, according to one embodiment, can encode video based on at least one of block-type information and segmented-type information. [Figure 3] This diagram illustrates the process by which an encoding unit is currently divided and at least one encoding unit is determined according to one embodiment. [Figure 4] This diagram illustrates the process by which a non-square coding unit is divided according to one embodiment, and at least one coding unit is determined. [Figure 5]A drawing illustrating a process in which an encoding unit is divided based on at least one of block form information and division form information according to an embodiment. [Figure 6] A drawing illustrating a method of determining a predetermined encoding unit among an odd number of encoding units according to an embodiment. [Figure 7] A drawing illustrating an order in which a plurality of encoding units are processed when a current encoding unit is divided and a plurality of encoding units are determined according to an embodiment. [Figure 8] A drawing illustrating a process in which it is determined that a current encoding unit is divided into an odd number of encoding units when encoding units cannot be processed in a predetermined order according to an embodiment. [Figure 9] A drawing illustrating a process in which a first encoding unit is divided and at least one encoding unit is determined according to an embodiment. [Figure 10] A drawing illustrating that when a non-square second encoding unit determined by dividing a first encoding unit satisfies a predetermined condition according to an embodiment, a form in which the second encoding unit can be divided is restricted. [Figure 11] A drawing illustrating a process in which a square encoding unit is divided when division form information cannot indicate division into four square encoding units according to an embodiment. [Figure 12] A drawing illustrating that a processing order between a plurality of encoding units is different depending on a division process of the encoding units according to an embodiment. [Figure 13] A drawing illustrating a process in which when an encoding unit is recursively divided and a plurality of encoding units are determined according to an embodiment, a depth of the encoding unit is determined by a change in a form and a size of the encoding unit. [Figure 14] A drawing illustrating a depth that can be determined by a form and a size of an encoding unit, and an index (PID: part index) for encoding unit classification according to an embodiment. [Figure 15]A drawing illustrating that a plurality of encoding units are determined by a plurality of predetermined data units included in a picture. [Figure 16] A drawing illustrating a processing block serving as a reference for determining the order of determination of reference encoding units included in a picture. [Figure 17] A drawing illustrating encoding units that can be determined for each picture when combinations of forms in which an encoding unit can be divided are different for each picture. [Figure 18] A drawing illustrating various forms of encoding units that can be determined based on split form information that can be represented by a binary code. [Figure 19] A drawing illustrating other forms of encoding units that can be determined based on split form information that can be represented by a binary code. [Figure 20] A drawing showing a block diagram of a video encoding system and a video decoding system that perform loop filtering. [Figure 21] A drawing showing an example of a filtering unit included in a maximum encoding unit and filtering execution information of the filtering unit according to an embodiment. [Figure 22] A drawing illustrating a process in which merging or splitting between encoding units determined by a predetermined encoding method is performed. [Figure 23] A drawing illustrating an index according to the Z scan order of encoding units according to an embodiment. [Figure 24] A drawing showing reference samples for intra prediction of encoding units according to an embodiment.
Embodiments for Carrying Out the Invention
[0013] In one embodiment, a method for decoding video is provided, comprising the steps of: obtaining at least one of block-type information and division-type information relating to a first coding unit contained in the video from a bitstream; determining at least one second coding unit contained in the first coding unit based on at least one of the obtained block-type information and division-type information; and decoding the video based on the at least one second coding unit, wherein the block-type information indicates the form of the first coding unit, and the division-type information indicates whether the first coding unit is divided into the second coding unit or not.
[0014] The step of determining the at least one second coding unit in the video decoding method according to one embodiment may include the step of determining, based on the block shape information, whether the first coding unit has a square or non-square shape, and the step of determining the at least one second coding unit based on the shape of the determined first coding unit.
[0015] The step of determining the at least one second coding unit in the video decoding method according to one embodiment may be characterized by including a step of determining a plurality of second coding units having a plurality of different sizes based on the division pattern information.
[0016] The step of acquiring at least one of the block-type information and the segmented-type information in a video decoding method according to one embodiment may be characterized by including the step of acquiring at least one of the block-type information and the segmented-type information from a bitstream relating to a sample at a predetermined position included in the first coding unit.
[0017] A video decoding method according to one embodiment may further include the steps of determining a predetermined second encoding unit from among the at least one second encoding unit, limiting the number of divisions for the predetermined second encoding unit, and decoding the video.
[0018] In a video decoding method according to one embodiment, the step of decoding the video may include the steps of determining a second coding unit 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 a video decoding method according to one embodiment, the step of decoding the video may include the steps of determining a second coding unit from among the at least one second coding unit that contains the sample at the predetermined position, and limiting the number of divisions for the determined second coding unit, and decoding the video.
[0020] A video decoding method according to one embodiment may further include the steps of dividing the width and height of the maximum coding unit to determine a reference coding unit, and determining the reference coding unit as the first coding unit.
[0021] A video decoding method according to one embodiment further includes a step of dividing the video into at least one processing block containing at least one maximum coding unit, wherein the processing order of the at least one maximum coding unit included in the at least one processing block may differ depending on the processing block.
[0022] In a video decoding method according to one embodiment, the step of determining the at least one second coding unit includes, if it can be shown that the division form information relating to the first coding unit is divided in the vertical and horizontal directions, the step of dividing the first coding unit in the vertical or horizontal direction and determining a plurality of second coding units, wherein none of the plurality of second coding units are divided in a direction orthogonal to the direction in which the first coding unit is divided.
[0023] A video decoding method according to one embodiment may further include the step of determining the depth of each coding unit based on the length of the long side of the first coding unit and the at least one second coding unit.
[0024] A video decoding method according to one embodiment is characterized in that the processing order of at least one third coding unit, which is determined by dividing one of the at least one second coding unit, can be determined based on the form in which the second coding unit relating to the at least one third coding unit is divided.
[0025] In 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 division-type information relating to a first coding unit contained in the video from a bitstream, and a decoding unit that determines at least one second coding unit contained in the first coding unit based on at least one of the acquired block-type information and division-type information, and decodes the video based on the at least one second coding unit, wherein the block-type information indicates the form of the first coding unit, and the division-type information indicates whether the first coding unit is divided into the second coding unit or not.
[0026] A video encoding method is also provided, comprising the steps of: generating a bitstream including at least one of block-type information and division-type information relating to a first encoding unit included in the video; determining at least one second encoding unit included in the first encoding unit based on at least one of the block-type information and division-type information; and encoding the video based on the at least one second encoding unit, wherein the block-type information indicates the form of the first encoding unit, and the division-type information indicates whether the first encoding unit is divided into the second encoding unit or not.
[0027] In one embodiment, a video encoding device is also provided, which includes a bitstream generation unit that generates a bitstream including at least one of block-type information and division-type information relating to a first encoding unit contained in the video, and an encoding unit that determines at least one second encoding unit contained in the first encoding unit based on at least one of the block-type information and division-type information, and encodes the video based on the at least one second encoding unit, wherein the block-type information indicates the form of the first encoding unit, and the division-type information indicates whether the first encoding unit is divided into the second encoding unit or not.
[0028] The advantages and features of the present invention, as well as methods for achieving them, will become clear with reference to the embodiments described below, together with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below and can be embodied in a variety of different forms, although these embodiments are provided to complete the disclosure of the present invention and to fully inform those skilled in the art of the scope of the invention of the field to which the invention pertains.
[0029] The terms used herein will be briefly explained, and then the present invention will be described in detail.
[0030] The terminology used in this invention has been selected, as far as possible, to be commonly used terms, taking into account the function of the invention, although this may vary depending on the intentions of those skilled in the art, precedents, or the emergence of new technologies. In certain cases, the applicant may have arbitrarily selected terms, in which case their meaning will be described in detail in the description of the invention. Therefore, the terminology used in this invention is not simply a set of names, but must be defined based on the meaning of the term and the overall content of the invention.
[0031] In this specification, singular expressions include plural expressions unless the context clearly identifies them as singular.
[0032] Throughout the specification, when a part "includes" a component, it means, unless otherwise specifically stated, that it does not exclude other components, but rather that it may include other components. Furthermore, the term "part" as used in the specification refers to software components, hardware components such as FPGAs (field-programmable gate arrays) or ASICs (application-specific integrated circuits), and a "part" performs a certain role. However, "part" is not limited to software or hardware. A "part" may be configured to reside on an addressable recording medium, or to regenerate one or more processors. Thus, as an example, a "part" includes components such as software components, object-oriented software components, class components, and task components, as well as processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables. Components and the functions provided in a "part" may be combined with a smaller number of components and the "part," or further separated into additional components and the "part."
[0033] Hereinafter, "image" can refer to static images such as still images from a video, or dynamic images such as a video, i.e., the video itself.
[0034] Hereinafter, "sample" refers to data assigned to a sampling position in the video, and thus data that is subject to processing. For example, pixel values in the spatial domain of the video and transformation coefficients in the transformation domain are also samples. A unit containing 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 attached drawings, so that those skilled in the art in which the present invention pertains can easily implement them. In order to clearly illustrate the present invention, parts of the drawings that are not relevant to the description will be omitted.
[0036] Figure 1 illustrates a block diagram of a video decoding device 100 that, according to one embodiment, can decode video based on at least one of block shape information and segmented shape information.
[0037] Referring to Figure 1, the video decoding device 100 may, in one embodiment, include a bitstream acquisition unit 110 for acquiring predetermined information such as segmentation information and block format information from a bitstream, and a decoding unit 120 for decoding the video using the acquired information. In one embodiment, if the bitstream acquisition unit 110 of the video decoding device 100 acquires at least one of the block format information and segmentation information, the decoding unit 120 of the video decoding device 100 can determine at least one encoding unit for segmenting the video based on at least one of the block format information and segmentation information.
[0038] In one embodiment, the decoding unit 120 of the video decoding device 100 can determine the shape of the encoded unit based on block shape information. For example, the block shape information may include information indicating whether the encoded unit is square or not. The decoding unit 120 can use the block shape information to determine the shape of the encoded unit.
[0039] In one embodiment, the decoding unit 120 can determine, based on the division form information, what form the encoded unit will be divided into. For example, the division form information may represent information relating to the form of at least one encoded unit contained within the encoded unit.
[0040] In one embodiment, the decoding unit 120 can determine whether or not an encoded unit is divided based on the division pattern information. The division pattern information may include information relating to at least one encoded unit contained within the encoded unit. If the division pattern information indicates that the encoded unit contains only one encoded unit or is not divided, the decoding unit 120 can determine that the encoded unit containing the division pattern information is not divided. If the division pattern information indicates that the encoded unit is divided into multiple encoded units, the decoding unit 120 can divide the encoded unit into multiple encoded units based on the division pattern information.
[0041] In one embodiment, the division configuration information can indicate how many coding units the coding unit will be divided into, or in which direction the division will be performed. For example, the division configuration information can indicate that the division will be performed in at least one of the vertical and horizontal directions, or that it will not be divided at all.
[0042] Figure 3 illustrates the process by which the video decoding device 100 divides the current encoding unit and determines at least one encoding unit, according to one embodiment.
[0043] In one embodiment, the decoding unit 120 can use block configuration information to determine the configuration of the encoded unit, and use the division configuration information to determine what configuration the encoded unit will be divided into. That is, the method of dividing the encoded unit indicated by the division configuration information can be determined by the block configuration information used by the decoding unit 120.
[0044] In one embodiment, the decoding unit 120 can utilize block shape information indicating that the current encoding unit is square-shaped. For example, the decoding unit 120 can determine, based on the division shape information, whether to leave the square encoding unit undivided, divide it vertically, divide it horizontally, or divide it into four encoding units. Referring to Figure 3, if the block shape information of the current encoding unit 300 indicates that it is square-shaped, the decoding unit 120 can determine, based on the division shape information indicating that it will not be divided, whether to leave the encoding unit 310a, which has the same size as the current encoding unit 300, undivided, or to determine the divided encoding units 310b, 310c, and 310d based on the division shape information indicating a predetermined division method.
[0045] Referring to Figure 3, in one embodiment, the decoding unit 120 can determine two coding units 310b obtained by dividing the current coding unit 300 vertically, based on division pattern information indicating that it is divided vertically. The decoding unit 120 can determine two coding units 310c obtained by dividing the current coding unit 300 horizontally, based on division pattern information indicating that it is divided horizontally. The decoding unit 120 can determine four coding units 310d obtained by dividing the current coding unit 300 vertically and horizontally, based on division pattern information indicating that it is divided vertically and horizontally. However, the division patterns in which a square coding unit can be divided are not limited to the above-described patterns, and may include a variety of patterns that the division pattern information can indicate. The predetermined division patterns in which a square coding unit is divided will be described in detail below through various embodiments.
[0046] Figure 4 illustrates the process by which, in one embodiment, the video decoding device 100 divides a non-square encoding unit and determines at least one encoding unit.
[0047] In one embodiment, the decoding unit 120 can utilize block shape information indicating that the current encoding unit is non-square. Based on the division shape information, the decoding unit 120 can decide whether to divide the non-square current encoding unit or to divide it in a predetermined way. Referring to Figure 4, if the block shape information of the current encoding unit 400 or 450 indicates that it is non-square, the decoding unit 120 can determine whether to divide the encoding unit 410 or 460, which has the same size as the current encoding unit 400 or 450, based on the division shape information indicating that it will not be divided, or to determine the divided encoding units 420a, 420b, 430a, 430b, 430c, 470a, 470b, 480a, 480b, and 480c based on the division shape information indicating a predetermined division method. The predetermined division method for dividing the non-square encoding unit will be specifically described below through various embodiments.
[0048] In one embodiment, the decoding unit 120 can use the division configuration information to determine the configuration in which the encoded unit is divided, in which case the division configuration information can indicate the number of at least one encoded unit generated by the division of the encoded unit. Referring to Figure 4, if the division configuration information indicates that the current encoded unit 400 or 450 is divided into two encoded units, the decoding unit 120 can divide the current encoded unit 400 or 450 based on the division configuration information and determine the two encoded units 420a, 420b or 470a, 470b included in the current encoded unit.
[0049] In one embodiment, when the decoding unit 120 divides a non-square current coding unit 400 or 450 based on the division shape information, it can divide the current coding unit by considering the position of the longer side of the non-square current coding unit 400 or 450. For example, the decoding unit 120 can consider the shape of the current coding unit 400 or 450 and divide the current coding unit 400 or 450 in a direction that divides the longer side of the current coding unit 400 or 450, thereby determining a plurality of coding units.
[0050] In one embodiment, if the division information indicates that the coding unit is divided into an odd number of blocks, the decoding unit 120 can determine the odd number of coding units currently included in coding unit 400 or 450. For example, if the division information indicates that the current coding unit 400 or 450 is divided into three coding units, the decoding unit 120 can divide the current coding unit 400 or 450 into three coding units 430a, 430b, 430c, 480a, 480b, and 480. In one embodiment, the decoding unit 120 can determine the odd number of coding units currently included in coding unit 400 or 450, and the sizes of the determined coding units are not all the same. For example, among the determined odd number of coding units 430a, 430b, 430c, 480a, 480b, and 480, the size of a given coding unit 430b or 480b may be different from the size of the other coding units 430a, 430c, 480a, and 480c. That is, the coding units that can be determined by dividing the currently coding unit 400 or 450 may have multiple sizes, and in some cases, the odd number of coding units 430a, 430b, 430c, 480a, 480b, and 480 may each have different sizes from one another.
[0051] In one embodiment, if the division information indicates that the coding unit is divided into an odd number of blocks, the decoding unit 120 can determine the odd number of coding units currently included in the coding unit 400 or 450, and furthermore, the decoding unit 120 can impose a predetermined restriction on at least one of the odd number of coding units generated by the division. Referring to Figure 4, the decoding unit 120 can make the decoding process for the central coding unit 430b, 480b among the three coding units 430a, 430b, 430c, 480a, 480b, 480 generated by the division of the current coding unit 400 or 450 different from that for the other coding units 430a, 430c, 480a, 480c. For example, the decoding unit 120 can restrict the central coding unit 430b, 480b from being further divided, or restrict it to being divided a predetermined number of times, unlike the other coding units 430a, 430c, 480a, 480c.
[0052] Figure 5 illustrates the process by which the video decoding device 100 divides an encoded unit based on at least one of block-type information and division-type information, according to one embodiment.
[0053] In one embodiment, the decoding unit 120 can decide whether to divide the square-shaped first coding unit 500 into coding units or not, based on at least one of the block shape information and the division shape information. In one embodiment, if the division shape information indicates that the first coding unit 500 is divided horizontally, the decoding unit 120 can divide the first coding unit 500 horizontally and 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 relationship between coding units before and after division. For example, if the first coding unit is divided, the second coding unit is determined, and if the second coding unit is divided, the third coding unit may be determined. The relationship between the first coding unit, second coding unit, and third coding unit used below is understood to be due to the features described above.
[0054] In one embodiment, the video decoding device 100 can decide whether to divide the determined second coding unit 510 into coding units or not, based on at least one of block shape information and division shape information. Referring to Figure 5, the decoding unit 120 divides the non-square second coding unit 510, which is determined by dividing the first coding unit 500, into at least one third coding unit 520a, 520b, 520c, 520d, or does not divide the second coding unit 510, based on at least one of block shape information and division shape information. The bitstream acquisition unit 110 of the video decoding device 100 can acquire at least one of block-type information and segmented-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 segmented-type information, for example, by dividing it into a plurality of second coding units 510 of various types, and the second coding units 510 can be divided in the same manner as the first coding unit 500 was divided based on at least one of the block-type information and segmented-type information.
[0055] In one embodiment, if the first coding unit 500 is divided into a second coding unit 510 based on at least one of the block shape information and division shape information relating to the first coding unit 500, the second coding unit 510 may also be divided into, for example, third coding units 520a, 520b, 520c, and 520d based on at least one of the block shape information and division shape information relating to the second coding unit 510. That is, coding units can be recursively divided based on at least one of the division shape information and block shape information relating to each coding unit. Consequently, in a non-square coding unit, a square coding unit can be determined, and such a square coding unit can be recursively divided to determine a non-square coding unit. Referring to Figure 5, a non-square second coding unit 510 is divided to determine an odd number of third coding units 520b, 520c, 520d, from which a predetermined coding unit (for example, a coding unit located in the middle, or a square coding unit) can be recursively divided. In one embodiment, a square third coding unit 520c, which is one of the odd number of third coding units 520b, 520c, 520d, can be divided horizontally into a plurality of fourth coding units. A non-square fourth coding unit 540, which is one of the plurality of fourth coding units, can be further divided into a plurality of coding units. For example, a non-square fourth coding unit 540 can also be further divided into an odd number of coding units 550a, 550b, 550c.
[0056] The methods used for recursive partitioning of coding units will be described later through various embodiments.
[0057] In one embodiment, the decoding unit 120 can decide whether to divide each of the third coding units 520a, 520b, 520c, and 520d into coding units, or whether to leave the second coding unit 510 undivided, based on at least one of the block shape information and the division shape information. In one embodiment, the decoding unit 120 can divide the non-square second coding unit 510 into an odd number of third coding units 520b, 520c, and 520d. The video decoding device 100 can impose a predetermined restriction on a predetermined third coding unit among the odd number of third coding units 520b, 520c, and 520d. For example, the video decoding device 100 can restrict the coding unit 520c located in the middle of the odd number of third coding units 520b, 520c, and 520d so that it cannot be divided any further, or so that it must be divided up to a set number of times. Referring to Figure 5, the video decoding device 100 can restrict the middle coding unit 520c among the odd number of third coding units 520b, 520c, and 520d contained in the non-square second coding unit 510 to not be further divided, to be divided into a predetermined division pattern (for example, to be divided into only four coding units, or to be divided into a pattern corresponding to the division pattern of the second coding unit 510), or to be divided only a predetermined number of times (for example, to be divided only n times (n>0)). However, the above restriction on the middle coding unit 520c is merely a simple embodiment and should not be interpreted as being limited to the above embodiment, but rather as including a variety of restrictions such as the middle coding unit 520c being decoded differently from the other coding units 520b and 520d.
[0058] In one embodiment, the video decoding device 100 can acquire at least one of the block-type information and the division-type information used to divide the currently encoded unit at a predetermined position within the currently encoded unit.
[0059] Figure 6 illustrates a method by which the decoding unit 120 determines a predetermined coding unit from an odd number of coding units, according to one embodiment. Referring to Figure 6, at least one of the block shape information and division shape information of the current coding unit 600 is obtained from a sample at a predetermined position among a plurality of samples contained in the current coding unit 600 (for example, the sample 640 located in the middle). However, the predetermined position within the current coding unit 600 from which at least one of such block shape information and division shape information is obtained is not interpreted as being limited to the middle position shown in Figure 6, but rather should be interpreted as including a variety of positions contained within the current coding unit 600 (for example, the top end, bottom end, left side, right side, upper left end, lower left end, upper right end, or lower right end). The video decoding device 100 can obtain at least one of the block shape information and division shape information obtained from the predetermined position and decide whether to divide the current coding unit into coding units of various shapes and sizes, or not.
[0060] In one embodiment, the video decoding device 100 can select one encoding unit if the currently encoded unit has been divided into a predetermined number of encoding units. There are various methods for selecting one of multiple encoding units, and such methods will be described later through the following various embodiments.
[0061] In one embodiment, the decoding unit 120 of the video decoding device 100 can divide the current encoding unit into a plurality of encoding units and determine the encoding unit at a predetermined position.
[0062] Figure 6 illustrates a method by which the video decoding device 100 determines a coding unit at a predetermined position among an odd number of coding units, according to one embodiment.
[0063] In one embodiment, the decoding unit 120 can utilize information indicating the position of each of the odd-numbered coding units in order to determine the coding unit located in the middle of the odd-numbered coding units. Referring to Figure 6, the decoding unit 120 can divide the current coding unit 600 and determine the odd-numbered coding units 620a, 620b, and 620c. The decoding unit 120 can use information relating to the positions of the odd-numbered coding units 620a, 620b, and 620c to determine the middle coding unit 620b. For example, 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 predetermined samples contained in the coding units 620a, 620b, and 620c. Specifically, the decoding unit 120 can determine the middle coding unit 620b by determining the positions of coding units 620a, 620b, and 620c based on information indicating the positions of samples 630a, 630b, and 630c at the upper left end of coding units 620a, 620b, and 620c.
[0064] In one embodiment, the information indicating the position of the upper left-hand sample 630a, 630b, 630c included in the coding units 620a, 620b, 620c, respectively, may include information relating to the position or coordinates of the coding units 620a, 620b, 620c within the picture. In one embodiment, the information indicating the position of the upper left-hand sample 630a, 630b, 630c included in the coding units 620a, 620b, 620c, respectively, may include information indicating the width or height of the coding units 620a, 620b, 620c currently included in coding unit 600, and such width or height corresponds to information indicating the difference between coordinates within the picture of the coding units 620a, 620b, 620c. In other words, the video decoding device 100 can determine the middle coding unit 620b by directly using information relating to the position or coordinates of coding units 620a, 620b, and 620c within the picture, or by using information relating to the width or height of coding units that indicate the difference between coordinates.
[0065] In one embodiment, information indicating the position of sample 630a at the upper left end of the upper coding unit 620a can be expressed in (xa,ya) coordinates, information indicating the position of sample 630b at the upper left end of the middle coding unit 620b can be expressed in (xb,yb) coordinates, and information indicating the position of sample 630c at the upper left end of the lower coding unit 620c can be expressed in (xc,yc) coordinates. The video decoding device 100 can determine the middle coding unit 620b by using the coordinates of the upper left end samples 630a, 630b, and 630c included in coding units 620a, 620b, and 620c, respectively. For example, when the coordinates of samples 630a, 630b, and 630c at the top left are sorted in ascending or descending order, the coding unit 620b containing the coordinates (xb,yb) of sample 630b, which is located in the middle, can be determined as the middle coding unit among the coding units 620a, 620b, and 620c determined by the division of the currently selected coding unit 600. However, the coordinates indicating the positions of samples 630a, 630b, and 630c at the top left can represent absolute positions within the picture. Furthermore, it is also possible to use the (dxb,dyb) coordinates, which indicate the relative position of sample 630b at the top left of the middle coding unit 620b, and the (dxc,dyc) coordinates, which indicate the relative position of sample 630c at the top left of the bottom coding unit 620c, relative to the position of sample 630a at the top left of the top coding unit 620a. Furthermore, the method of determining the 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 interpreted as being limited to the method described above, but rather as a variety of arithmetic methods that can utilize the coordinates of a sample.
[0066] In one embodiment, the video decoding device 100 can divide the current encoding unit 600 into a plurality of encoding units 620a, 620b, and 620c, and can select an encoding unit from among the encoding units 620a, 620b, and 620c according to a predetermined criterion. For example, the decoding unit 120 can select an encoding unit 620b of a different size from the encoding units 620a, 620b, and 620c.
[0067] In one embodiment, the video decoding device 100 can determine the width or height of each coding unit 620a, 620b, and 620c by using the (xa,ya) coordinates, which are information indicating the position of sample 630a at the upper left end of the upper coding unit 620a; the (xb,yb) coordinates, which are information indicating the position of sample 630b at the upper left end of the middle coding unit 620b; and the (xc,yc) coordinates, which are information indicating the position of sample 630c at the upper left end of the lower coding unit 620c. The video decoding device 100 can also determine the size of each coding unit 620a, 620b, and 620c by using the coordinates (xa,ya), (xb,yb), and (xc,yc), which are coordinates indicating the positions of the coding units 620a, 620b, and 620c.
[0068] In one embodiment, the video decoding device 100 can determine the width of the upper coding unit 620a as xb-xa and its height as yb-ya. In one embodiment, the decoding unit 120 can determine the width of the middle coding unit 620b as xc-xb and its height as yc-yb. In one embodiment, the decoding unit 120 can determine the width or height of the lower coding unit using the width or height of the current coding unit and the widths and heights of the upper coding unit 620a and the middle coding unit 620b. Based on the determined widths and heights of the coding units 620a, 620b, and 620c, the decoding unit 120 can determine one coding unit having a different size from the other coding units. Referring to Figure 6, the video decoding device 100 can determine the middle coding unit 620b, which has a different size from the upper coding unit 620a and the lower coding unit 620c, as the coding unit at a predetermined position. However, the process by which the aforementioned video decoding device 100 determines coding units having different coding units and different sizes is merely one embodiment of determining coding units at a predetermined position using the size of coding units determined based on sample coordinates. Therefore, various processes are used to determine coding units at a predetermined position by comparing the sizes of coding units determined by predetermined sample coordinates.
[0069] However, the sample positions considered in determining the position of the coding unit are not limited to the upper left corner as described above; it can also be interpreted that information relating to the positions of any sample included in the coding unit is used.
[0070] In one embodiment, the video decoding device 100 can take into account the shape of the current encoding unit and select an encoding unit at a predetermined position from an odd number of encoding units determined by dividing the current encoding unit. For example, if the current encoding unit is non-square in shape, with a width greater than its height, the decoding unit 120 can determine an encoding unit at a predetermined position along the horizontal direction. That is, the decoding unit 120 can determine one of encoding units at different positions in the horizontal direction and place a restriction on that encoding unit. If the current encoding unit is non-square in shape, with a height greater than its width, the decoding unit 120 can determine an encoding unit at a predetermined position along the vertical direction. That is, the decoding unit 120 can determine one of encoding units at different positions in the vertical direction and place a restriction on that encoding unit.
[0071] In one embodiment, the video decoding device 100 can use information indicating the position of each of the even-numbered coding units to determine the coding unit at a predetermined position among the even-numbered coding units. The decoding unit 120 can divide the current coding unit and determine the even-numbered coding units, and can use the information relating to the positions of the even-numbered coding units to determine the coding unit at the predetermined position. The specific process involved is similar to the process of determining the coding unit at a predetermined position (for example, the middle position) among the odd-numbered coding units described in Figure 6, so it will be omitted here.
[0072] In one embodiment, when a non-square current coding unit is divided into multiple coding units, predetermined information relating to the coding unit at a predetermined position can be used during the division process to determine the coding unit at a predetermined position among the multiple coding units. For example, the decoding unit 120 of the video decoding device 100 can use at least one of the block shape information and division shape information stored in the sample included in the middle coding unit during the division process to determine the coding unit located in the middle of the multiple coding units into which the current coding unit has been divided.
[0073] Referring to Figure 6, the decoding unit 120 of the video decoding device 100 can divide the current encoded unit 600 into multiple encoded units 620a, 620b, and 620c based on at least one of the block shape information and the division shape information, and can determine the encoded unit 620b located in the middle of the multiple encoded units 620a, 620b, and 620c. Furthermore, the decoding unit 120 can determine the encoded unit 620b located in the middle by considering the position where at least one of the block shape information and the division shape information is acquired. That is, if at least one of the block shape information and the division shape information of the current encoded unit 600 is acquired at sample 640 located in the middle of the current encoded unit 600, and the current encoded unit 600 is divided into multiple encoded units 620a, 620b, and 620c based on at least one of the block shape information and the division shape information, the encoded unit 620b including sample 640 can be determined as the encoded unit located in the middle. However, the information used to determine the central coding unit is not limited to interpreting at least one of the block-type information and segmented-type information; rather, various types of information are used in the process of determining the central coding unit.
[0074] In one embodiment, predetermined information for identifying an encoding unit at a predetermined location is also obtained from a predetermined sample included in the encoding unit to be determined. Referring to Figure 6, the decoding unit 120 can use at least one of block shape information and division shape information obtained from a sample at a predetermined location within the current encoding unit 600 (for example, a sample located in the middle of the current encoding unit 600) in order to determine an encoding unit at a predetermined location among a plurality of encoding units 620a, 620b, 620c determined by dividing the current encoding unit 600 (for example, an encoding unit located in the middle of the plurality of divided encoding units). That is, the decoding unit 120 can determine the sample at the predetermined location considering the block shape of the current encoding unit 600, and the decoding unit 120 can determine an encoding unit 620b among a plurality of encoding units 620a, 620b, 620c determined by dividing the current encoding unit 600 that contains a sample from which predetermined information (for example, at least one of block shape information and division shape information) is obtained, and set a predetermined restriction. Referring to Figure 6, in one embodiment, the decoding unit 120 can determine a sample 640 located in the middle of the currently encoded unit 600 as a sample from which predetermined information is obtained, and the decoding unit 120 can impose predetermined restrictions on the encoded unit 620b containing such sample 640 during the decoding process. However, the position of the sample from which predetermined information is obtained is not interpreted as being limited to the aforementioned position, but rather as a sample at any position within the encoded unit 620b that is being determined in order to impose restrictions.
[0075] In one embodiment, the position of a sample from which predetermined information is obtained can be determined by the shape of the currently encoded unit 600. In one embodiment, block shape information can determine whether the shape of the currently encoded unit is square or not, and the position of a sample from which predetermined information is obtained can be determined by the shape. For example, the decoding unit 120 can use at least one of the information relating to the width of the currently encoded unit and the information relating to the height to determine that a sample located on a boundary that divides at least one of the width and height of the currently encoded unit in half is the sample from which predetermined information is obtained. To give another example, if the block shape information relating to the currently encoded unit indicates that it is not square, the decoding unit 120 can determine that one of the samples adjacent to the boundary that divides the long side of the currently encoded unit in half is the sample from which predetermined information is obtained.
[0076] In one embodiment, when the video decoding device 100 divides the current encoding unit into multiple encoding units, it can use at least one of block-type information and division-type information to determine the encoding unit at a predetermined position among the multiple encoding units. In one embodiment, the bitstream acquisition unit 110 can acquire at least one of block-type information and division-type information from a sample at a predetermined position included in the encoding unit, and the decoding unit 120 can divide the multiple encoding units generated by dividing the current encoding unit using at least one of the division-type information and block-type information acquired from a sample at a predetermined position included in each of the multiple encoding units. That is, the encoding unit can be recursively divided using at least one of the block-type information and division-type information acquired from a sample at a predetermined position included in each encoding unit. The recursive division process of the encoding unit has been explained with reference to Figure 5, so a detailed explanation is omitted.
[0077] In one embodiment, the video decoding device 100 can divide the current encoding unit and determine at least one encoding unit, and can determine the order in which such at least one encoding unit is decoded by a predetermined block (e.g., the current encoding unit).
[0078] Figure 7 illustrates the order in which multiple encoding units are processed when the video decoding device 100 divides the current encoding unit and determines multiple encoding units according to one embodiment.
[0079] In one embodiment, the decoding unit 120 can, based on block shape information and division shape information, vertically divide the first coding unit 700 and determine second coding units 710a and 710b, horizontally divide the first coding unit 700 and determine second coding units 730a and 730b, or divide the first coding unit 700 vertically and horizontally and determine second coding units 750a, 750b, 750c, and 750d.
[0080] Referring to Figure 7, the decoding unit 120 can determine the order in which the second coding units 710a and 710b, determined by dividing the first coding unit 700 vertically, are processed horizontally 710c. The video decoding device 100 can determine the processing order of the second coding units 730a and 730b, determined by dividing the first coding unit 700 horizontally, in the vertical direction 730c. The video decoding device 100 can determine the processing order of the second coding units 750a, 750b, 750c, and 750d, determined by dividing the first coding unit 700 vertically and horizontally, in a predetermined order (for example, by a raster scan order or a z scan order 750e) in which the coding units located in one row are processed before the coding units located in the next row are processed.
[0081] In one embodiment, the video decoding device 100 can recursively divide an encoding unit. Referring to Figure 7, the decoding unit 120 can divide the first encoding unit 700 and determine a plurality of encoding units 710a, 710b, 730a, 730b, 750a, 750b, 750c, and 750d, and can recursively divide each of the determined plurality of encoding units 710a, 710b, 730a, 730b, 750a, 750b, 750c, and 750d. The method for dividing the plurality of encoding units 710a, 710b, 730a, 730b, 750a, 750b, 750c, and 750d is similar to the method for dividing the first encoding unit 700. As a result, multiple coding units 710a, 710b, 730a, 730b, 750a, 750b, 750c, and 750d can each be independently divided into multiple coding units. Referring to Figure 7, the decoding unit 120 can vertically divide the first coding unit 700 to determine the second coding units 710a and 710b, and furthermore, it can decide whether to divide each of the second coding units 710a and 710b independently or not.
[0082] In one embodiment, the decoding unit 120 can divide the left second coding unit 710a horizontally into third coding units 720a and 720b, while the right second coding unit 710b is not divided.
[0083] In one embodiment, the processing order of the coding units may be determined based on the coding unit division process. 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 decoding unit 120 can determine the processing order of the third coding units 720a and 720b, which are determined when the left second coding unit 710a is divided, independently of the processing order of the right second coding unit 710b. Since the left second coding unit 710a is divided horizontally and the third coding units 720a and 720b are determined, the third coding units 720a and 720b are also processed vertically 720c. Furthermore, since the processing order of the left second coding unit 710a and the right second coding unit 710b corresponds to the horizontal direction 710c, the right coding unit 710b is processed after the third coding units 720a and 720b included in the left second coding unit 710a are processed vertically 720c. The above description is intended to explain the process by which the processing order of each coding unit is determined by the coding unit before division. Therefore, it should not be interpreted as being limited to the above-described embodiment. Rather, it should be interpreted that coding units determined by division into various forms can be used in various methods that are processed independently in a predetermined order.
[0084] Figure 8 illustrates the process by which, in one embodiment, the video decoding device 100 determines that if the encoding units cannot be processed in a predetermined order, the current encoding unit will be divided into an odd number of encoding units.
[0085] In one embodiment, the video decoding device 100 can determine that the current encoding unit is to be divided into an odd number of encoding units based on the block shape information and division shape information acquired by the bitstream acquisition unit 110. Referring to Figure 8, the square-shaped first encoding unit 800 is divided into non-square-shaped second encoding units 810a and 810b, and the second encoding units 810a and 810b can each be independently divided into third encoding units 820a, 820b, 820c, 820d, and 820e. In one embodiment, the decoding unit 120 can divide the left encoding unit 810a of the second encoding unit horizontally to determine a plurality of third encoding units 820a and 820b, and the right encoding unit 810b can be divided into an odd number of third encoding units 820c, 820d, and 820e.
[0086] In one embodiment, the decoding unit 120 can determine whether the third coding units 820a, 820b, 820c, 820d, and 820e are processed in a predetermined order, and whether there are coding units that have been divided into an odd number of parts. Referring to Figure 8, the decoding unit 120 can recursively divide the first coding unit 800 to determine the third coding units 820a, 820b, 820c, 820d, and 820e. Based on at least one of the block shape information and the division shape information, the decoding unit 120 can 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 in the form in which they are divided. For example, the encoding unit located on the right side of the second encoding units 810a and 810b may be divided into an odd number of third encoding units 820c, 820d, and 820e. The order in which the multiple encoding units contained in the first encoding unit 800 are processed may be a predetermined order (for example, a z-scan order 830), and the decoding unit 120 can determine whether the third encoding units 820c, 820d, and 820e, which are determined by dividing the right-side second encoding unit 810b into an odd number of units, satisfy the condition for being processed in the predetermined order.
[0087] In one embodiment, the video decoding device 100 can determine whether the conditions for processing the third coding units 820a, 820b, 820c, 820d, and 820e included in the first coding unit 800 in a predetermined order are satisfied, and the conditions relate 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, the third coding units 820a and 820b, determined by dividing the height of the non-square left second coding unit 810a in half, satisfy the conditions. However, the boundaries of the third coding units 820c, 820d, and 820e, determined by dividing the right second coding unit 810b into three coding units, cannot divide the width or height of the right second coding unit 810b in half. Therefore, the third coding units 820c, 820d, and 820e are determined not to satisfy the conditions. In such cases of unsatisfied conditions, the video decoding device 100 determines that there is a disconnection in the scan order and, based on the determination result, can determine that the right second coding unit 810b is divided into an odd number of coding units. In one embodiment, when the video decoding device 100 is divided into an odd number of coding units, it can place a predetermined restriction on the coding unit at a predetermined position among the divided coding units. Such restrictions or predetermined positions have been described through various embodiments, so a detailed explanation is omitted here.
[0088] Figure 9 illustrates the process by which, in one embodiment, the video decoding device 100 divides the first coding unit 900 and determines at least one coding unit. In one embodiment, the decoding unit 120 can divide the first coding unit 900 based on at least one of the block shape information and the division shape information acquired via the bitstream acquisition unit 110. The square-shaped first coding unit 900 can be divided into coding units having four square shapes, or into a plurality of non-square coding units. For example, referring to Figure 9, if the block shape information indicates that the first coding unit 900 is square, and the division shape information indicates that it is divided into non-square coding units, the decoding unit 120 can divide the first coding unit 900 into a plurality of non-square coding units. Specifically, if the division pattern information indicates that the first coding unit 900 is 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 an odd number of second coding units, namely second coding units 910a, 910b, 910c determined by vertical division, or second coding units 920a, 920b, 920c determined by horizontal division.
[0089] In one embodiment, the decoding unit 120 can determine whether the conditions for processing the second coding units 910a, 910b, 910c, 920a, 920b, and 920c included in the first coding unit 900 in a predetermined order are satisfied, and the conditions relate 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 Figure 9, the boundaries of the second coding units 910a, 910b, and 910c determined by vertically dividing the square-shaped first coding unit 900 cannot divide the width of the first coding unit 900 in half, so it can be determined that the first coding unit 900 cannot satisfy the conditions for processing in a predetermined order. Furthermore, if the boundaries of the second coding units 920a, 920b, and 920c, which are determined by horizontally dividing the square-shaped first coding unit 900, cannot divide the width of the first coding unit 900 in half, it may be determined that the first coding unit 900 cannot satisfy the condition for being processed in a predetermined order. In such a case of unsatisfied conditions, the video decoding device 100 may determine that there is a discontinuation in the scan order, and based on the determination result, it may determine that the first coding unit 900 is divided into an odd number of coding units. In one embodiment, when the video decoding device 100 is divided into an odd number of coding units, it may place a predetermined restriction on the coding unit at a predetermined position among the divided coding units. Since the content of such restrictions or predetermined positions have been explained through various embodiments, a detailed explanation is omitted here.
[0090] In one embodiment, the video decoding device 100 can divide the first encoding unit and determine various forms of encoding units.
[0091] Referring to Figure 9, the video decoding device 100 can divide the square-shaped first coding unit 900, and the non-square-shaped first coding unit 930 or 950 into coding units of various shapes.
[0092] Figure 10 illustrates that, in one embodiment, when the non-square-shaped second encoding unit determined by the division of the first encoding unit 1000 by the video decoding device 100 satisfies predetermined conditions, the form in which the second encoding unit can be divided is limited.
[0093] In one embodiment, the decoding unit 120 can decide 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 the block shape information and division shape information acquired via the bitstream acquisition unit 110. The second coding units 1010a, 1010b, 1020a, and 1020b can be divided independently. As a result, the decoding unit 120 can decide whether to divide each of the second coding units 1010a, 1010b, 1020a, and 1020b into multiple coding units or not to divide them, based on at least one of the block shape information and division shape information relating to each of them. In one embodiment, the decoding unit 120 can determine the third coding units 1012a and 1012b by dividing the non-square left second coding unit 1010a, which is determined by dividing the first coding unit 1000 in the vertical direction, in the horizontal direction. However, if the decoding unit 120 divides the left second coding unit 1010a in the horizontal direction, it can restrict the right second coding unit 1010b from being divided in the same horizontal direction as the left second coding unit 1010a. If the right second coding unit 1010b is divided in the same direction and the third coding units 1014a and 1014b are determined, the left second coding unit 1010a and the right second coding unit 1010b can be divided independently in the horizontal direction, thereby determining the third coding units 1012a, 1012b, 1014a, and 1014b. However, this is the same result as when the decoding unit 120 divides the first encoding unit 1000 into four square-shaped second encoding units 1030a, 1030b, 1030c, and 1030d based on at least one of the block-shaped information and the division-shaped information, which is inefficient in terms of video decoding.
[0094] In one embodiment, the decoding unit 120 can divide the non-square second coding unit 1020a or 1020b, which is determined by dividing the first coding unit 900 horizontally, vertically to determine the third coding units 1022a, 1022b, 1024a, and 1024b. However, if the decoding unit 120 divides one of the second coding units (for example, the upper second coding unit 1020a) vertically, for the reasons mentioned above, it can restrict the other second coding units (for example, the lower coding unit 1020b) from being divided vertically in the same direction as the upper second coding unit 1020a.
[0095] Figure 11 illustrates the process by which the video decoding device 100 divides the square-shaped encoding units, in cases where one embodiment cannot demonstrate that the divided information is divided into four square-shaped encoding units.
[0096] In one embodiment, the decoding unit 120 can divide the first coding unit 1100 based on at least one of block shape information and division shape information, and determine the second coding units 1110a, 1110b, 1120a, and 1120b. The division shape information may include information relating to various shapes in which the coding unit can be divided, but the information relating to various shapes may not include information for dividing it into four square coding units. With such division shape information, the decoding unit 120 cannot divide the square first coding unit 1100 into four square second coding units 1130a, 1130b, 1130c, and 1130d. Based on the division shape information, the decoding unit 120 can determine the non-square second coding units 1110a, 1110b, 1120a, and 1120b.
[0097] In one embodiment, the decoding unit 120 can independently divide the non-square second coding units 1110a, 1110b, 1120a, and 1120b. Each of the second coding units 1110a, 1110b, 1120a, and 1120b is divided in a predetermined order via a recursive method, which is a division method similar to the method by which the first coding unit 1100 is divided based on at least one of block shape information and division shape information.
[0098] For example, the decoding unit 120 can determine square-shaped third coding units 1112a and 1112b by horizontally dividing the left second coding unit 1110a, and can determine square-shaped third coding units 1114a and 1114b by horizontally dividing the right second coding unit 1110b. Furthermore, the decoding unit 120 can also determine square-shaped third coding units 1116a, 1116b, 1116c, and 1116d by horizontally dividing both the left second coding unit 1110a and the right second coding unit 1110b. In such a case, the coding units can be determined in the same form as when the first coding unit 1100 is divided into four square-shaped second coding units 1130a, 1130b, 1130c, and 1130d.
[0099] To give another example, the decoding unit 120 can determine square-shaped third coding units 1122a and 1122b by vertically dividing the upper second coding unit 1120a, and can determine square-shaped third coding units 1124a and 1124b by vertically dividing the lower second coding unit 1120b. Furthermore, the decoding unit 120 can also determine square-shaped third coding units 1122a, 1122b, 1124a and 1124b by vertically dividing both the upper second coding unit 1120a and the lower second coding unit 1120b. In such a case, the coding units can be determined in the same form as when the first coding unit 1100 is divided into four square-shaped second coding units 1130a, 1130b, 1130c, and 1130d.
[0100] Figure 12 illustrates, in one embodiment, that the processing order between multiple coding units differs depending on the coding unit division process.
[0101] In one embodiment, the decoding unit 120 can divide the first coding unit 1200 based on block shape information and 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 direction, either horizontal or vertical, the decoding unit 120 can divide the first coding unit 1200 and 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, can be divided independently based on the block shape information and division shape information relating to each of them. For example, the decoding unit 120 can divide the second coding units 1210a and 1210b, which are generated by vertically dividing the first coding unit 1200, horizontally to determine the third coding units 1216a, 1216b, 1216c, and 1216d. Similarly, it can divide the second coding units 1220a and 1220b, which are generated by horizontally dividing the first coding unit 1200, horizontally to determine the third coding units 1226a, 1226b, 1226c, and 1226d. The division process of such second coding units 1210a, 1210b, 1220a, and 1220b has been explained in relation to Figure 10, so a detailed explanation will be omitted.
[0102] In one embodiment, the decoding unit 120 can process the encoded units in a predetermined order. The features related to the processing of the encoded units in this predetermined order have been explained in relation to Figure 7, so a detailed explanation will be omitted. Referring to Figure 12, the decoding unit 120 can divide the square-shaped first encoded unit 1200 and determine four square-shaped third encoded units 1216a, 1216b, 1216c, 1216d, 1226a, 1226b, 1226c, and 1226d. In one embodiment, the decoding unit 120 can determine the processing order of the third encoded units 1216a, 1216b, 1216c, 1216d, 1226a, 1226b, 1226c, and 1226d based on the way the first encoded unit 1200 is divided.
[0103] In one embodiment, the decoding unit 120 can determine third coding units 1216a, 1216b, 1216c, and 1216d by dividing the second coding units 1210a and 1210b, which are generated by dividing them vertically, horizontally. The decoding unit 120 can process the third coding units 1216a, 1216b, 1216c, and 1216d in the order 1217, where it first processes the third coding units 1216a and 1216b contained in the left second coding unit 1210a vertically, and then processes the third coding units 1216c and 1216d contained in the right second coding unit 1210b vertically.
[0104] In one embodiment, the decoding unit 120 can determine third coding units 1226a, 1226b, 1226c, and 1226d by dividing the second coding units 1220a and 1220b, which are generated by dividing them horizontally, vertically. The decoding unit 120 can process the third coding units 1226a, 1226b, 1226c, and 1226d in the order 1227, where it first processes the third coding units 1226a and 1226b contained in the upper second coding unit 1220a horizontally, and then processes the third coding units 1226c and 1226d contained in the lower second coding unit 1220b horizontally.
[0105] Referring to Figure 12, the second coding units 1210a, 1210b, 1220a, and 1220b are each divided, and the square-shaped third coding units 1216a, 1216b, 1216c, 1216d, 1226a, 1226b, 1226c, and 1226d can be determined. 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 forms from each other. However, according to the third coding units 1216a, 1216b, 1216c, 1216d, 1226a, 1226b, 1226c, and 1226d determined thereafter, the first coding unit 1200 is ultimately divided into coding units of the same form. As a result, the decoding unit 120 recursively divides the encoded units through different processes based on at least one of the block shape information and the division shape information. Consequently, even if an encoded unit of the same shape is determined, multiple encoded units determined to be of the same shape can be processed in different orders.
[0106] Figure 13 illustrates the process by which the depth of a coding unit is determined when a coding unit is recursively divided and multiple coding units are determined according to one embodiment, as the shape and size of the coding unit change.
[0107] In one embodiment, the decoding unit 120 can determine the depth of the coding unit according to a predetermined criterion. For example, the predetermined criterion may also be the length of the long side of the coding unit. The decoding unit 120 determines the current length of the long side of the coding unit by 2 n When a coding unit is divided into (n>0) parts, the current coding unit depth can be determined to have increased by n compared to the coding unit depth before division. In the following, coding units with increased depth will be referred to as lower-depth coding units.
[0108] Referring to Figure 13, in one embodiment, based on block shape information indicating a square shape (for example, the block shape information can indicate "0:SQUARE"), the decoding unit 120 can divide the square-shaped first coding unit 1300 and determine the lower-depth second coding unit 1302, third coding unit 1304, etc. If the size of the square-shaped first coding unit 1300 is 2Nx2N, then the width and height of the first coding unit 1300 can be halved. 1 The second coding unit 1302, determined by dividing it in half, can have a size of N x N. Furthermore, the third coding unit 1304, determined by dividing the width and height of the second coding unit 1302 into 1 / 2 sizes, can have a size of N / 2 x N / 2. In that case, the width and height of the third coding unit 1304 are 1 / 2 of the first coding unit 1300. 2 This corresponds to double. If the depth of the first coding unit 1300 is D, then it is half the width and height of the first coding unit 1300. 1 The depth of the second coding unit 1302, which is double, is also D+1, and is half the width and height of the first coding unit 1300. 2 The depth of the third coding unit 1304, which is double, is also D+2.
[0109] In one embodiment, based on block shape information indicating a non-square shape (for example, the block shape information may indicate "1:NS_VER" indicating that the height is greater than the width, or "2:NS_HOR" indicating that the width is greater than the height), the decoding unit 120 can divide the non-square first coding unit 1310 or 1320 and determine the lower-depth second coding unit 1312 or 1322, the third coding unit 1314 or 1324, and so on.
[0110] The decoding unit 120 can divide at least one of the width and height of the first coding unit 1310, which is of size Nx2N, to determine, for example, second coding units 1302, 1312, and 1322. That is, the decoding unit 120 can divide the first coding unit 1310 horizontally to determine a second coding unit 1302 of size NxN or a second coding unit 1322 of size NxN / 2, or it can divide it horizontally and vertically to determine a second coding unit 1312 of size N / 2xN.
[0111] In one embodiment, the decoding unit 120 can divide at least one of the width and height of the 2NxN size first coding unit 1320 to determine, for example, second coding units 1302, 1312, and 1322. That is, the decoding unit 120 can divide the first coding unit 1320 vertically to determine an NxN size second coding unit 1302 or an N / 2xN size second coding unit 1312, or divide it horizontally and vertically to determine an NxN / 2 size second coding unit 1322.
[0112] In one embodiment, the decoding unit 120 can divide at least one of the width and height of the NxN size second coding unit 1302 to determine, for example, third coding units 1304, 1314, 1324. That is, the decoding unit 120 divides the second coding unit 1302 vertically and horizontally to determine a third coding unit 1304 of N / 2xN / 2 size, or N / 2 2 Determine a third coding unit 1314 of size xN / 2, or N / 2xN / 2 2 The third coding unit 1324 of the size can be determined.
[0113] In one embodiment, the decoding unit 120 can divide at least one of the width and height of the N / 2xN size second coding unit 1312 to determine, for example, third coding units 1304, 1314, 1324. That is, the decoding unit 120 divides the second coding unit 1312 horizontally to determine a third coding unit 1304 of N / 2xN / 2 size, or an N / 2xN / 2 size third coding unit 1304, or an N / 2xN / 2 2Determine the third encoding unit 1324 of the size, or divide it in the vertical and horizontal directions, N / 2 2 The third encoding unit 1314 of the size of N / 2 x N / 2 can be determined.
[0114] According to one embodiment, the decoding unit 120 can also divide at least one of the width and height of the second encoding unit 1314 of the size of N x N / 2, for example, to determine the third encoding units 1304, 1314, and 1324. That is, the decoding unit 120 divides the second encoding unit 1312 in the vertical direction to determine the third encoding unit 1304 of the size of N / 2 x N / 2, or N / 2 2 x N / 2 to determine the third encoding unit 1314, or divide it in the vertical and horizontal directions, N / 2 x N / 2 2 The third encoding unit 1324 of the size can be determined.
[0115] According to one embodiment, the decoding unit 120 can divide the encoding units 1300, 1302, and 1304 of a square shape in the horizontal or vertical direction. For example, the first encoding unit 1300 of the size of 2N x 2N can be divided in the vertical direction to determine the first encoding unit 1310 of the size of N x 2N, or divided in the horizontal direction to determine the first encoding unit 1320 of the size of 2N x N. According to one embodiment, when the depth is determined based on the longest side length of the encoding unit, the depth of the encoding unit determined by dividing the first encoding units 1300, 1302, or 1304 of the size of 2N x 2N in the horizontal or vertical direction is the same as the depth of the first encoding units 1300, 1302, or 1304.
[0116] According to one embodiment, the width and height of the third encoding unit 1314 or 1324 correspond to 1 / 2 2 times that of the first encoding unit 1310 or 1320. When the depth of the first encoding unit 1310 or 1320 is D, the depth of the second encoding unit 1312 or 1314, which is 1 / 2 times the width and height of the first encoding unit 1310 or 1320, is also D + 1, and 1 / 2 of the width and height of the first encoding unit 1310 or 1320 2The depth of the third coding unit, 1314 or 1324, which is double, is also D+2.
[0117] Figure 14 illustrates, in one embodiment, the depth that can be determined by the shape and size of the coding unit, and an index for coding unit divisions.
[0118] In one embodiment, the decoding unit 120 can divide the square-shaped first coding unit 1400 and determine second coding units of various shapes. Referring to Figure 14, the decoding unit 120 can divide the first coding unit 1400 in at least one direction from the vertical and horizontal directions based on the division shape information and determine second coding units 1402a, 1402b, 1404a, 1404b, 1406a, 1406b, 1406c, and 1406d. That is, the decoding unit 120 can determine second coding units 1402a, 1402b, 1404a, 1404b, 1406a, 1406b, 1406c, and 1406d based on the division shape information relating to the first coding unit 1400.
[0119] In one embodiment, the depth of the second coding units 1402a, 1402b, 1404a, 1404b, 1406a, 1406b, 1406c, and 1406d, which are determined by the division shape information relating to the square-shaped first coding unit 1400, can be determined based on the length of the longer side. For example, since the length of one side of the square-shaped first coding unit 1400 is the same as the length of the longer side of the non-square-shaped second coding units 1402a, 1402b, 1404a, and 1404b, the depth of the first coding unit 1400 and the non-square-shaped second coding units 1402a, 1402b, 1404a, and 1404b can be 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 pattern information, the side length of each square-shaped second coding unit 1406a, 1406b, 1406c, and 1406d is half the side length of the first coding unit 1400. Therefore, the depth of the second coding units 1406a, 1406b, 1406c, and 1406d is also D+1, which is one depth lower than the depth D of the first coding unit 1400.
[0120] In one embodiment, the decoding unit 120 can divide a first coding unit 1410, which has a height greater than its width, horizontally according to the division shape information, and divide it into a plurality of second coding units 412a, 1412b, 1414a, 1414b, and 1414c. In another embodiment, the decoding unit 120 can divide a first coding unit 1420, which has a width greater than its height, vertically according to the division shape information, and divide it into a plurality of second coding units 1422a, 1422b, 1424a, 1424b, and 1424c.
[0121] In one embodiment, the depth of the second coding units 1412a, 1412b, 1414a, 1414b, 1416a, 1416b, 1416c, and 1416d, which are determined by the division shape information relating to the non-square first coding unit 1410 or 1420, can be determined based on the length of the longer side. For example, since the side length of the square second coding units 1412a and 1412b is half the side length of the non-square first coding unit 1410, whose height is greater than its width, the depth of the square second coding units 1402a, 1402b, 1404a, and 1404b is 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 can divide the non-square-shaped first coding unit 1410 into an odd number of second coding units 1414a, 1414b, and 1414c based on the division shape information. The odd number of second coding units 1414a, 1414b, and 1414c may include non-square-shaped second coding units 1414a and 1414c, and a square-shaped second coding unit 1414b. In that case, the length of the longer side of the non-square-shaped second coding units 1414a and 1414c, and the length of one side of the square-shaped second coding unit 1414b are 1 / 2 the length of one side of the first coding unit 1410, so the depth of the second coding units 1414a, 1414b, and 1414c is also a depth of D+1, which is one depth lower than the depth D of the first coding unit 1410. The decoding unit 120 can determine the depth of the encoding unit relating to the first encoding unit 1420, which is non-square in shape and has a width greater than its height, using a method similar to the method used to determine the depth of the encoding unit relating to the first encoding unit 1410.
[0123] In one embodiment, the decoding unit 120 can determine the index for the division of the divided coding units based on the ratio of the sizes between the coding units if the odd number of divided coding units are not the same size. Referring to Figure 14, the middle coding unit 1414b among the odd number of divided coding units 1414a, 1414b, 1414c has the same width as the other coding units 1414a and 1414c, but its height is twice that of the other coding units 1414a and 1414c. In other words, in this case, the middle coding unit 1414b may contain two of the other coding units 1414a and 1414c. Therefore, if the index of the middle coding unit 1414b is 1 according to the scan order, then the next coding unit 1414c in the order will have an index of 3, which is an increase of 2. In other words, there is a discontinuity in the index values. In one embodiment, the decoding unit 120 can determine whether or not an odd number of divided coding units are of the same size, based on the presence or absence of index discontinuities for the divisions between such divided coding units.
[0124] (Tri-split determination using PID) In one embodiment, the video decoding device 100 can determine whether or not a plurality of coding units, which have been divided and determined from the current coding unit, have been divided into a specific division pattern, based on an index value for distinguishing between them. Referring to Figure 14, the video decoding device 100 can divide a rectangular first coding unit 1410, where the height is greater than the width, and determine an even number of coding units 1412a, 1412b, or an odd number of coding units 1414a, 1414b, 1414c. The video decoding device 100 can use an index representing each coding unit to distinguish between each of the plurality of coding units. In one embodiment, the PID is also obtained from a sample at a predetermined position in each coding unit (for example, the upper left sample).
[0125] In one embodiment, the video decoding device 100 can determine a coding unit at a predetermined position among the coding units determined by division using an index for coding unit division. In one embodiment, if the division pattern information relating to a rectangular first coding unit 1410, whose height is greater than its width, indicates that it is divided into three coding units, the video decoding device 100 can divide the first coding unit 1410 into three coding units 1414a, 1414b, and 1414c. The video decoding device 100 can assign an index relating to each of the three coding units 1414a, 1414b, and 1414c. The video decoding device 100 can compare the indices relating to each coding unit in order to determine the middle coding unit among the odd number of coding units divided into. Based on the index of the coding units, the video decoding device 100 can determine the coding unit 1414b, which has an index corresponding to the middle value among the indices, as the coding unit at the middle position among the coding units determined by division of the first coding unit 1410. In one embodiment, when the video decoding device 100 determines the index for a divided coding unit, if the coding units are not the same size as each other, the index is determined based on the size ratio between the coding units. Referring to Figure 14, the coding unit 1414b, which is generated when the first coding unit 1410 is divided, has the same width as the other coding units 1414a and 1414c, but its height is different, and is twice the height of the coding units 1414a and 1414c. In that case, if the index of the coding unit 1414b located in the middle is 1, then the coding unit 1414c located in the next order will have an index of 3, which is an increase of 2. In cases like that, where the index increases uniformly but the magnitude of the increase differs, the video decoding device 100 can determine that the encoding unit has been divided into multiple encoding units, including encoding units of different sizes from other encoding units. In one embodiment, if the division configuration information indicates that the encoding unit is divided into an odd number of encoding units, the video decoding device 100 can divide the current encoding unit into a configuration in which the encoding unit at a predetermined position among the odd number of encoding units (for example, the middle encoding unit) is of a different size from the other encoding units.In that case, the video decoding device 100 can determine a middle coding unit of a different size by using an index related to the coding unit. However, the aforementioned index, the size of the coding unit at the predetermined position to be determined, or the position are specified for the purpose of explaining one embodiment and should not be interpreted as being limited to them, but rather as being able to use a variety of indices, coding unit positions, and sizes.
[0126] In one embodiment, the decoding unit 120 can utilize a predetermined data unit in which the recursive division of the encoded unit begins.
[0127] Figure 15 illustrates how, in one embodiment, multiple encoding units are determined from multiple predetermined data units contained in a picture.
[0128] In one embodiment, a predetermined data unit is also defined as a data unit from which an encoded unit recursively begins to divide, utilizing at least one of block-type information and division-type information. That is, it corresponds to the highest-depth encoded unit used in the process of determining multiple encoded units that currently divide the picture. For the sake of explanation, such a predetermined data unit will be referred to as a reference data unit below.
[0129] In one embodiment, the reference data unit can exhibit a predetermined size and shape. In one embodiment, the reference coding unit may contain MxN samples, where M and N may be the same as each other and are integers expressed as powers of 2. That is, the reference data unit can exhibit a square or non-square shape and can then be divided into an integer number of coding units.
[0130] In one embodiment, the decoding unit 120 of the video decoding device 100 can divide the current picture into a plurality of reference data units. In one embodiment, the decoding unit 120 can divide the current picture into a plurality of reference data units using the division information related to each reference data unit. Such a division process of reference data units corresponds to a division process using a quad-tree structure.
[0131] In one embodiment, the decoding unit 120 can predetermine the minimum size that a reference data unit currently included in the picture can have. As a result, the decoding unit 120 can determine reference data units of various sizes that are larger than or equal to the minimum size, and can determine at least one encoding unit using the determined reference data unit as a reference, utilizing block shape information and division shape information.
[0132] Referring to Figure 15, the video decoding device 100 can utilize a square-shaped reference coding unit 1500, or it can utilize a non-square-shaped reference coding unit 1502. In one embodiment, the shape and size of the reference coding unit can be determined by a variety of data units (e.g., sequence, picture, slice, slice segment, maximum coding unit) that include at least one reference coding unit.
[0133] In one embodiment, the bitstream acquisition unit 110 of the video decoding device 100 can acquire at least one of the following from the bitstream for each of the various data units: information relating to the shape of the reference coding unit and information relating to the size of the reference coding unit. The process by which at least one coding unit included in the square-shaped reference coding unit 1500 is determined is explained through the process by which the current coding unit 300 is divided in Figure 3, and the process by which at least one coding unit included in the non-square-shaped reference coding unit 1500 is determined is explained through the process by which the current coding unit 400 or 450 is divided in Figure 4, so a detailed explanation is omitted.
[0134] In one embodiment, the decoding unit 120 can use an index for identifying the size and shape of a reference coding unit in order to determine the size and shape of the reference coding unit based on a subset of data units predetermined based on predetermined conditions. That is, the bitstream acquisition unit 110 can acquire only an index for identifying the size and shape of the reference coding unit from the bitstream, for each slice, slice segment, maximum coding unit, etc., as data units that satisfy predetermined conditions (for example, data units having a size less than or equal to a slice) from among the various data units (for example, sequences, pictures, slices, slice segments, maximum coding units, etc.). By using the index, the decoding unit 120 can determine the size and shape of the reference data unit for each data unit that satisfies the predetermined conditions. When information relating to the shape of the reference coding unit and information relating to the size of the reference coding unit are acquired and used from the bitstream for each relatively small data unit, the bitstream utilization efficiency is not good. Therefore, instead of directly acquiring information relating to the shape of the reference coding unit and information relating to the size of the reference coding unit, only the index can be acquired and used. In that case, at least one of the size and shape of the reference coding unit related to the index indicating the size and shape of the reference coding unit is determined in advance. That is, the decoding unit 120 can determine at least one of the size and shape of the reference coding unit included in the data unit that serves as the basis for index acquisition by selecting at least one of the size and shape of the reference coding unit from the index.
[0135] In one embodiment, the decoding unit 120 can utilize at least one reference encoding unit included in one maximum encoding unit. That is, the maximum encoding unit that divides the video includes at least one reference encoding unit, and the encoding unit can be determined through a recursive division process of each reference encoding unit. In one embodiment, at least one of the width and height of the maximum encoding unit is an integer multiple of at least one of the width and height of the reference encoding unit. In one embodiment, the size of the reference encoding unit is also the size obtained by dividing the maximum encoding unit n times using a quadtree structure. That is, the decoding unit 120 can divide the maximum encoding unit n times using a quadtree structure to determine the reference encoding unit, and in various embodiments, the reference encoding unit can be divided based on at least one of block shape information and division shape information.
[0136] Figure 16 illustrates a processing block that serves as a criterion for determining the order in which reference coding units are included in picture 1600, according to one embodiment.
[0137] In one embodiment, the decoding unit 120 can determine at least one processing block to divide the picture. A processing block is a data unit that includes at least one reference coding unit to divide the video, and the at least one reference coding unit included in the processing block can be determined in a specific order. That is, the order in which the at least one reference coding unit determined in each processing block is one of a variety of possible orders in which the reference coding unit can be determined, and the order in which the reference coding unit is determined in each processing block is different for each processing block. The order in which the reference coding unit is determined for each processing block is one of a variety of orders such as raster scan, Z-scan, N-scan, up-right diagonal scan, horizontal scan, and vertical scan, but the possible order is not limited to the aforementioned scan order.
[0138] In one embodiment, the decoding unit 120 can acquire information relating to the size of a processing block and determine the size of at least one processing block contained in the video. The decoding unit 120 can acquire information relating to the size of a processing block from the bitstream and determine the size of at least one processing block contained in the video. The size of such a processing block is also a predetermined size of the data unit indicated by the information relating to the size of the processing block.
[0139] In one embodiment, the bitstream acquisition unit 110 of the video decoding device 100 can acquire information relating to the size of processing blocks from the bitstream for each specific data unit. For example, information relating to the size of processing blocks is acquired from the bitstream as data units such as video, sequence, picture, slice, and slice segment. That is, the bitstream acquisition unit 110 can acquire information relating to the size of processing blocks from the bitstream for each of the aforementioned data units, and the decoding unit 120 can use the acquired information relating to the size of processing blocks to determine the size of at least one processing block for dividing the picture, and the size of such a processing block is also an integer multiple of the reference coding unit.
[0140] In one embodiment, the decoding unit 120 can determine the size of the processing blocks 1602 and 1612 contained in the picture 1600. For example, the decoding unit 120 can determine the size of the processing blocks based on information relating to the size of the processing blocks obtained from the bitstream. Referring to Figure 16, in one embodiment, the decoding unit 120 can 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 to be four times the vertical size of the reference coding unit. The decoding unit 120 can determine the order in which at least one reference coding unit is determined within at least one processing block.
[0141] In one embodiment, the decoding unit 120 can determine each of the processing blocks 1602, 1612 contained in the picture 1600 based on the size of the processing blocks, and the reference coding unit determination unit 12 can determine the determination order of at least one reference coding unit contained in the processing blocks 1602, 1612. In one embodiment, the determination of the reference coding unit may include determining the size of the reference coding unit.
[0142] In one embodiment, the decoding unit 120 can obtain information from the bitstream relating to the determination order of at least one reference coding unit contained in at least one processing block, and can determine the order in which at least one reference coding unit is determined based on the obtained information relating to the determination order. The information relating to the determination order is also defined as the order or direction in which the reference coding unit is determined within the processing block. That is, the order in which the reference coding unit is determined can be determined independently for each processing block.
[0143] In one embodiment, the video decoding device 100 can acquire information relating to the determination order of reference coding units from the bitstream for each specific data unit. For example, the bitstream acquisition unit 110 can acquire information relating to the determination order of reference coding units from the bitstream for each data unit such as video, sequence, picture, slice, slice segment, and processing block. Since the information relating to the determination order of reference coding units indicates the determination order of reference coding units within a processing block, this information relating to the determination order is also acquired for each specific data unit containing an integer number of processing blocks.
[0144] In one embodiment, the video decoding device 100 can determine at least one reference coding unit based on the determined order.
[0145] In one embodiment, the bitstream acquisition unit 110 can acquire information relating to the reference coding unit determination order as information relating to processing blocks 1602 and 1612 from the bitstream, and the decoding unit 120 can determine the order in which to determine at least one reference coding unit included in the processing blocks 1602 and 1612, and based on the coding unit determination order, it can determine at least one reference coding unit included in the picture 1600. Referring to Figure 16, the decoding unit 120 can determine the determination order 1604 and 1614 of at least one reference coding unit relating to each processing block 1602 and 1612. For example, if information relating to the determination order of reference coding units is acquired for each processing block, the reference coding unit determination order relating to each processing block 1602 and 1612 will differ for each processing block. If the reference coding unit determination order 1604 for processing block 1602 is the raster scan order, the reference coding units included in processing block 1602 may be determined by the raster scan order. Conversely, if the reference coding unit determination order 1614 for the other processing block 1612 is the reverse of the raster scan order, the reference coding units included in processing block 1612 may be determined by the reverse of the raster scan order.
[0146] The decoding unit 120 can decode at least one determined reference coding unit according to one embodiment. The decoding unit 120 can decode the video based on the reference coding unit determined through the above-described embodiment. The method for decoding the reference coding unit may include a variety of methods for decoding the video.
[0147] In one embodiment, the video decoding device 100 can acquire and utilize block format information indicating the current encoding unit's configuration or segmentation format information indicating a method for segmenting the current encoding unit from the bitstream. This block format information or segmentation format information may be included in bitstreams relating to various data units. For example, the video decoding device 100 can utilize block format information or segmentation format information included in a sequence parameter set, picture parameter set, video parameter set, slice header, or slice segment header. Furthermore, for each maximum encoding unit, reference encoding unit, and processing block, the video decoding device 100 can acquire and utilize syntax relating to block format information or segmentation format information from the bitstream.
[0148] In one embodiment, the decoding unit 120 can determine different types of divisions into which the encoded unit can be divided for each predetermined data unit. In one embodiment, the decoding unit 120 of the video decoding device 100 can determine different combinations of divisions into which the encoded unit can be divided for each predetermined data unit (e.g., sequence, picture, slice, etc.).
[0149] Figure 17 illustrates the possible encoding units that can be determined for each picture when the combinations of forms in which the encoding unit can be divided differ from picture to picture according to one embodiment.
[0150] Referring to Figure 17, the decoding unit 120 can determine different combinations of division patterns for each picture into which the encoding units can be divided. For example, the decoding unit 120 can decode the video using picture 1700 which can be divided into four encoding units, picture 1710 which can be divided into two or four encoding units, and picture 1720 which can be divided into two, three or four encoding units, all of which are at least one picture contained in the video. To divide picture 1700 into multiple encoding units, the decoding unit 120 can use only division pattern information indicating that it will be divided into four square encoding units. To divide picture 1710, the decoding unit 120 can use only division pattern information indicating that it will be divided into two or four encoding units. To divide picture 1720, the decoding unit 120 can use only division pattern information indicating that it will be divided into two, three or four encoding units. The aforementioned combinations of division patterns are merely embodiments for illustrating the operation of the video decoding device 100. Therefore, the described combinations of division patterns should not be interpreted as being limited to the aforementioned embodiments, but rather as being able to utilize a variety of combinations of division patterns for each predetermined data unit.
[0151] In one embodiment, the bitstream acquisition unit 110 of the video decoding device 100 can acquire a bitstream containing an index indicating a combination of division pattern information for each predetermined data unit (e.g., sequence, picture, slice, etc.). For example, the bitstream acquisition unit 110 can acquire an index indicating a combination of division pattern information from a sequence parameter set, a picture parameter set, or a slice header. The decoding unit 120 of the video decoding device 100 can use the acquired index to determine a combination of division patterns into which the encoded unit can be divided for each predetermined data unit, thereby enabling the use of different division pattern combinations for each predetermined data unit.
[0152] Figure 18 illustrates, in one embodiment, various forms of coding units that can be determined based on segmentation information that can be represented by binary code.
[0153] In one embodiment, the video decoding device 100 can divide the encoded unit into various forms by utilizing the block form information and division form information acquired via the bitstream acquisition unit 110. The forms of the encoded unit that can be divided include a variety of forms, including those described through the above-mentioned embodiment.
[0154] Referring to Figure 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 shape information, and can divide a non-square-shaped coding unit in either the horizontal or vertical direction.
[0155] In one embodiment, if the decoding unit 120 can divide a square coding unit horizontally and vertically into four square coding units, then the division form information relating to the square coding unit can represent four types of divisions. In one embodiment, the division form information is represented as a two-digit binary code, and a binary code is assigned to each division form. For example, if the coding unit is not divided, the division form information is represented as (00)b; if the coding unit is divided horizontally and vertically, the division form information is represented as (01)b; if the coding unit is divided horizontally, the division form information is represented as (10)b; and if the coding unit is divided vertically, the division form information may be represented as (11)b.
[0156] In one embodiment, when the decoding unit 120 divides a non-square coding unit horizontally or vertically, the type of division pattern that the division pattern information can indicate can be determined by how many coding units it divides into. Referring to Figure 18, in one embodiment, the decoding unit 120 can divide a non-square coding unit into up to three. The decoding unit 120 can divide the coding unit into two coding units, in which case the division pattern information can be expressed as (10)b. The decoding unit 120 can divide the coding unit into three coding units, in which case the division pattern information can be expressed as (11)b. The decoding unit 120 can decide not to divide the coding unit, in which case the division pattern information can be expressed as (0)b. That is, the decoding unit 120 can use variable-length coding (VLC) instead of fixed-length coding (FLC) in order to use the binary code that indicates the division pattern information.
[0157] In one embodiment, referring to Figure 18, the binary code of the division pattern information indicating that the coding unit is not divided can be represented as (0)b. If the binary code of the division pattern information indicating that the coding unit is not divided is set to (00)b, then both of the 2-bit binary codes of the division pattern information must be used, even though there is no division pattern information set to (01)b. However, as shown in Figure 18, if three types of division patterns relating to a non-square coding unit are used, the decoding unit 120 can determine that the coding unit is not divided even if it uses a 1-bit binary code (0)b as the division pattern information, and thus the bitstream can be used efficiently. However, the division patterns of a non-square coding unit indicated by the division pattern information should not be interpreted as being limited to only the three types shown in Figure 18, but should be interpreted as being diverse, including the embodiments described above.
[0158] Figure 19 illustrates another form of coding unit that can be determined based on segmentation information that can be represented by binary code, according to one embodiment.
[0159] Referring to Figure 19, the decoding unit 120 can divide a square-shaped coding unit horizontally or vertically based on the division pattern information, and can also divide a non-square-shaped coding unit horizontally or vertically. That is, the division pattern information can indicate that a square-shaped coding unit is divided in one direction. In such a case, the binary code of the division pattern information indicating that a square-shaped coding unit is not divided can be represented as (0)b. If the binary code of the division pattern information indicating that the coding unit is not divided is set to (00)b, then both of the two-bit binary codes of the division pattern information must be used even though there is no division pattern information set to (01)b. However, as shown in Figure 19, if three types of division patterns related to a square-shaped coding unit are used, the decoding unit 120 can determine that the coding unit is not divided even if it uses a one-bit binary code (0)b as the division pattern information, and thus the bitstream can be used efficiently. However, the division patterns of the square-shaped coding units indicated by the division pattern information should not be interpreted as being limited to only the three patterns shown in Figure 19, but rather as encompassing a variety of patterns, including the embodiments described above.
[0160] In one embodiment, block-type information or segment-type information is represented using binary code, and such information is immediately generated as a bitstream. Alternatively, block-type information or segment-type information that can be represented by binary code is not immediately generated as a bitstream, but is also used as binary code input via CABAC (context adaptive binary arithmetic coding).
[0161] In one embodiment, the process by which the video decoding device 100 acquires syntax related to block-type information or segment-type information via CABAC will be described. A bitstream containing binary code related to the syntax can be acquired via the bitstream acquisition unit 110. The decoding unit 120 can inversely encode the bin strings contained in the acquired bitstream and detect syntax elements that indicate block-type information or segment-type information. In one embodiment, the decoding unit 120 can find a set of binary bin strings corresponding to the syntax element to be decoded, and decode each bin using probability information, and the decoding unit 120 repeats this process until the bin string composed of such decoded bins is the same as one of the previously obtained bin strings. The decoding unit 120 can perform inversely encode the bin strings and determine the syntax element.
[0162] In one embodiment, the decoding unit 120 can perform the decoding process of adaptive binary arithmetic coding and determine the syntax related to the bin string, and the decoding unit 120 can update the probability model related to the bins acquired via the bitstream acquisition unit 110. Referring to Figure 18, in one embodiment, the bitstream acquisition unit 110 of the video decoding device 100 can acquire a bitstream showing a binary code indicating segmentation information. Using the acquired binary code having a size of 1 or 2 bits, the decoding unit 120 can determine the syntax related to the segmentation information. In order to determine the syntax related to the segmentation information, the decoding unit 120 can update the probability related to each bit of the 2-bit binary code. That is, the decoding unit 120 can update the probability of the next bin having a value of 0 or 1 when decoding, depending on whether the value of the first bin of the 2-bit binary code is 0 or 1.
[0163] In one embodiment, the decoding unit 120 can update the probability of a bin used in the process of decoding the bins of the binstring related to the syntax during the process of determining the syntax, and the decoding unit 120 can determine that a specific bit in the binstring has the same probability without updating the probability.
[0164] Referring to Figure 18, in the process of determining the syntax using a binstring indicating the partitioning configuration information related to a non-square-shaped coding unit, the decoding unit 120 can determine the syntax related to the partitioning configuration information by using one bin with a value of 0 if the non-square-shaped coding unit is not partitioned. That is, if the block configuration information indicates that the coding unit is currently non-square-shaped, the first bin of the binstring related to the partitioning configuration information is 0 if the non-square-shaped coding unit is not partitioned, and 1 if it is partitioned into two or three coding units. Thus, the probability that the first bin of the binstring of the partitioning configuration information related to a non-square-shaped coding unit is 0 is 1 / 3, and the probability that it is 1 is 2 / 3. As mentioned above, since the partitioning configuration information indicating that a non-square-shaped coding unit is not partitioned can only be represented by a 1-bit binstring with a value of 0, the decoding unit 120 can determine whether the second bin is 0 or 1 only when the first bin of the partitioning configuration information is 1, and can then determine the syntax related to the partitioning configuration information. In one embodiment, the decoding unit 120 can decode the bins by considering that, if the first bin relating to the division pattern information is 1, the probability that the second bin is 0 or 1 is the same for both.
[0165] In one embodiment, the video decoding device 100 can utilize a variety of probabilities for each bin in the process of determining the bins of the bin string related to the segmentation shape information. In one embodiment, the decoding unit 120 can determine different bin probabilities related to the segmentation shape information along the direction of the non-square block. In one embodiment, the decoding unit 120 can determine different bin probabilities related to the segmentation shape information based on the width or the length of the long side of the currently encoded unit. In one embodiment, the decoding unit 120 can determine different bin probabilities related to the segmentation shape information based on at least one of the shape and the length of the long side of the currently encoded unit.
[0166] In one embodiment, the decoding unit 120 can determine that the bin probabilities related to the segmentation morphology information are the same for coding units of a predetermined size or larger. For example, based on the length of the long side of the coding unit, it can determine that the bin probabilities related to the segmentation morphology information are the same for coding units of 64 samples or larger.
[0167] In one embodiment, the decoding unit 120 may determine the initial probability related to the bins constituting the binstring of segmentation information based on the slice type (e.g., I-slice, P-slice, or B-slice…).
[0168] Figure 20 is a block diagram showing 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 the encoded bitstream of the video, and the decoding end 2050 receives the bitstream and decodes it to output the restored video. Here, the encoding end 2010 has a configuration similar to the video encoding device 200 described later, and the decoding end 2050 has a configuration similar to the video decoding device 100.
[0170] At the coding end 2010, the prediction coding unit 2015 outputs a reference image via inter-prediction and intra-prediction, and the conversion and quantization unit 2020 quantizes the residual data of the reference image and the current input image into quantized conversion coefficients and outputs them. The entropy coding unit 2025 encodes and converts the quantized conversion coefficients and outputs them as a bitstream. The quantized conversion coefficients are reconstructed into spatial domain data via the inverse quantization and inverse conversion unit 2030, and the reconstructed spatial domain data is output as reconstructed image via the deblocking filtering unit 2035 and the loop filtering unit 2040. This reconstructed image is also used as the reference image for the next input image via the prediction coding unit 2015.
[0171] The encoded video data from the bitstream received at the decoding end 2050 is restored to spatial domain residual data via the entropy decoding unit 2055 and the inverse quantization and inverse transform unit 2060. The reference video output from the prediction decoding unit 2075 and the residual data are combined to form spatial domain video data, and the deblocking filtering unit 2065 and the loop filtering unit 2070 perform filtering on the spatial domain video data, enabling the output of the restored video related to the current original video. This restored video is also used by the prediction decoding unit 2075 as a reference video related to the next original video.
[0172] The loop filtering unit 2040 of the encoding terminal 2010 performs loop filtering using filter information input by user input or system settings. 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 along 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] Figure 21 is a diagram showing an example of a filtering unit included in the maximum coding unit according to one embodiment, and filtering performance information of the filtering unit.
[0174] If the filtering units of the loop filtering section 2040 of the encoding end 2010 and the loop filtering section 2070 of the decoding end 2050 are composed of data units similar to the encoding units described in one embodiment with reference to Figures 3 to 5, then the filter information may include block form information and division form information of the data units to indicate the filtering units, as well as loop filtering performance information indicating how the loop filtering is performed with respect to the filtering units.
[0175] A filtering unit included in the maximum coding unit 2100 according to one embodiment may have the same block and division configuration as the coding unit included in the maximum coding unit 2100. Furthermore, a filtering unit included in the maximum coding unit 2100 according to one embodiment may be divided based on the size of the coding unit included in the maximum coding unit 2100. Referring to Figure 21, for example, the filtering unit may include a square filtering unit 2140 at depth D, non-square filtering units 2132, 2134 at depth D, square filtering units 2112, 2114, 2116, 2152, 2154, 2164 at depth D+1, non-square filtering units 2162, 2166 at depth D+1, and square filtering units 2122, 2124, 2126, 2128 at depth D+2.
[0176] The block configuration information, division configuration information (depth), and loop filtering execution information of the filtering unit included in the maximum encoding unit 2100 are also encoded as shown in Table 1 below.
[0177] [Table 1] The process by which a coding unit is recursively divided based on block configuration information and block division information according to one embodiment, and in which multiple coding units are determined, is explained with reference to Figure 13. In one embodiment, the loop filtering execution information for a filtering unit indicates that loop filtering is performed on that filtering unit if the flag value is 1, and that loop filtering is not performed if the flag value is 0. Referring to Table 1, the data unit information for determining the filtering unit to be filtered by the loop filtering units 2040 and 2070 is encoded and transmitted as filter information.
[0178] The encoding unit configured according to one embodiment is configured in a way that minimizes the error with the original video, and therefore, a high degree of spatial correlation is expected within the encoding unit. Consequently, by determining the filtering unit based on the encoding unit according to one embodiment, the operation of determining the filtering unit separately from the encoding unit can be omitted. Furthermore, by determining the filtering unit based on the encoding unit according to one embodiment, information for determining the division form of the filtering unit can be omitted, thus saving the transmission bitrate of the filter information.
[0179] In the embodiments described above, it was explained that the filtering unit is determined based on the encoding unit according to one embodiment. However, it is also possible to divide the filtering unit based on the encoding unit and not divide it further at any depth, with the form of the filtering unit being determined up to that depth.
[0180] The filtering unit determination disclosed in the above-described embodiments is applicable not only to loop filtering but also to a variety of other embodiments, such as deblocking filtering and adaptive loop filtering.
[0181] In one embodiment, the video decoding device 100 can divide the current encoding unit using at least one of block shape information and division shape information, and it may be predetermined that the block shape information will only use square shapes, and that the division shape information will either not divide or divide into four square encoding units. That is, according to the block shape information, the current encoding unit always has a square shape and may either not divide or be divided into four square encoding units based on the division shape information. By using only such block shape and division shape, the video decoding device 100 can acquire a bitstream generated using a predetermined encoding method via the bitstream acquisition unit 110, and the decoding unit 120 can use only the predetermined block shape and division shape. In such a case, the video decoding device 100 can solve the compatibility problem with the predetermined encoding method by using a predetermined decoding method similar to the predetermined encoding method described above. In one embodiment, when the video decoding device 100 uses the aforementioned predetermined decoding method, which utilizes only predetermined block and division shapes from among the various shapes that block shape information and division shape information can represent, the block shape information will only represent a square shape, so the video decoding device 100 can omit the process of acquiring block shape information from the bitstream. A syntax indicating whether or not to use the aforementioned predetermined decoding method is used, and such syntax is acquired from the bitstream for each data unit of various shapes, including multiple coding units such as sequence, picture, slice unit, and maximum coding unit. That is, the bitstream acquisition unit 110 can decide whether or not to acquire syntax indicating block shape information from the bitstream based on the syntax indicating whether or not to use the predetermined decoding method.
[0182] Figure 23 illustrates the index of the coding unit by Z-scan order according to one embodiment.
[0183] In one embodiment, the video decoding device 100 can scan lower data units contained within higher data units in a Z-scan order. Furthermore, in one embodiment, the video decoding device 100 can sequentially access data using the Z-scan index within the largest encoding unit or the encoding unit contained within the processing block.
[0184] As explained with reference to Figures 3 and 4, the video decoding device 100 according to one embodiment can divide a reference coding unit into at least one coding unit. In this case, a mixture of square-shaped coding units and non-square-shaped coding units can be present within the reference coding unit. The video decoding device 100 according to one embodiment can access data using the Z-scan index contained in each coding unit within the reference coding unit. In this case, the method of applying the Z-scan index differs depending on whether or not a non-square-shaped coding unit exists within the reference coding unit.
[0185] In one embodiment, if there are no non-square-shaped coding units within a reference coding unit, the coding units of lower depths within the reference coding unit can have consecutive Z-scan indices. For example, in one embodiment, a higher-depth coding unit may include four lower-depth coding units. Here, the boundaries of the four lower-depth coding units are also continuous, and each lower-depth coding unit is scanned in Z-scan order by an index indicating the Z-scan order. In one embodiment, the index indicating the Z-scan order is also set for each coding unit to be a number that increases according to the Z-scan order. In that case, coding units of the same depth can be scanned in Z-scan order.
[0186] In one embodiment, if at least one non-square-shaped coding unit exists within a reference coding unit, the video decoding device 100 can divide each coding unit within the reference coding unit into subblocks and perform a scan in Z-scan order on the divided subblocks. For example, if a non-square-shaped coding unit exists in the vertical or horizontal direction within the reference coding unit, a Z-scan can be performed using the divided subblocks. Also, for example, if the reference coding unit is divided into an odd number of coding units, a Z-scan can be performed using the subblocks. These subblocks are coding units that cannot be further divided, or coding units that have been divided, and are also square-shaped. For example, four square-shaped subblocks may be divided from a square-shaped coding unit. Also, for example, two square-shaped subblocks may be divided from a non-square-shaped coding unit.
[0187] Referring to Figure 23, for example, an image decoding device 100 according to one embodiment can scan lower-depth coding units 2302, 2304, 2306, 2308, and 2310 within coding unit 2300 in a Z-scan order. Coding unit 2300 and coding units 2302, 2304, 2306, 2308, and 2310 are, relatively speaking, upper and lower coding units, respectively. Coding unit 2300 includes horizontally non-square coding units 2306 and 2310. The boundaries between these non-square coding units 2306 and 2310 and adjacent square coding units 2302 and 2304 are discontinuous. Coding unit 2308 is square, has an odd number of non-square coding units, and is the coding unit located in the middle when divided. Similar to the non-square coding units 2306 and 2310, coding unit 2308 has discontinuous boundaries with adjacent square coding units 2302 and 2304. If coding unit 2300 contains non-square coding units 2306 and 2310, or if there is an odd number of non-square coding units and coding unit 2308 is located in the middle during division, a continuous Z-scan index cannot be set because the adjacent boundaries between coding units are discontinuous. Therefore, the video decoder 100 can set a continuous Z-scan index by dividing the coding unit into subblocks. Furthermore, the video decoder 100 can perform a continuous Z-scan for non-square coding units 2306 and 2310, or for coding unit 2308 located in the middle of an odd number of divided non-square coding units.
[0188] The coding unit 2320 shown in Figure 23 is obtained by dividing coding units 2302, 2304, 2306, 2308, and 2310 within coding unit 2300 into subblocks. A Z-scan index is set for each of these subblocks, and since the adjacent boundaries between these subblocks are continuous, the subblocks can be scanned with each other according to the Z-scan order. For example, in a decoding device according to one embodiment, coding unit 2308 may be divided into subblocks 2322, 2324, 2326, and 2328. In this case, subblocks 2322 and 2324 are scanned after data processing for subblock 2330, and subblocks 2326 and 2328 are scanned after data processing for subblock 2332. Furthermore, each subblock can also be scanned with each other according to the Z-scan order.
[0189] In the embodiments described above, scanning data units in a Z-scan sequence is also for purposes such as data storage, data loading, and data access.
[0190] Furthermore, although the above-described embodiment explained that data units can be scanned according to the Z-scan order, the scan order of data units can be performed by a variety of scan orders such as raster scan, N-scan, diagonal scan (upper right), horizontal scan, and vertical scan, and is not limited to the Z-scan order.
[0191] Furthermore, although the above-described embodiment explained that the scan is performed on coding units within a reference coding unit, it is not limited to that, and the target of the scan can also be the maximum coding unit or any block within a processing block.
[0192] Furthermore, in the embodiments described above, the blocks were divided into subblocks and scanned in the Z-scan order only when at least one non-square block exists. However, for the sake of a simplified implementation, the blocks can also be divided into subblocks and scanned in the Z-scan order even when no non-square blocks exist.
[0193] In one embodiment, the video decoding device 100 generates prediction data by performing inter-prediction or intra-prediction related to the coding unit, generates residual data by performing an inverse transform on the transformation unit currently included in the coding unit, and can restore the current coding unit using the generated prediction data and residual data.
[0194] In one embodiment, the prediction mode for the coding unit is at least one of intra mode, inter mode, and skip mode. In one embodiment, the prediction mode is selected independently for each coding unit.
[0195] When a 2Nx2N coding unit according to one embodiment is divided into two 2NxN or two Nx2N coding units, intermode prediction and intramode prediction are performed separately for each of these coding units. Furthermore, a skip mode is also applied to the 2NxN or Nx2N coding units according to one embodiment.
[0196] On the other hand, in one embodiment of the video decoding device 100, bi-prediction is permitted in the skip mode of 8x4 or 4x8 encoding units. In this skip mode, since only skip mode information is transmitted to the encoding unit, the use of residual data related to the encoding unit is omitted. Therefore, in this case, overhead for inverse quantization and inverse transformation can be saved. Instead, in one embodiment of the video decoding device 100, bi-prediction can be permitted for encoding units to which the skip mode is applied, thereby improving decoding efficiency. Furthermore, in one embodiment of the video decoding device 100, bi-prediction is permitted for 8x4 or 4x8 encoding units, but the number of interpolation taps can be set relatively low in the motion compensation stage, allowing for efficient use of memory bandwidth. As an example, instead of using an 8-tap interpolation filter, an interpolation filter with fewer than 8 taps (e.g., a 2-tap interpolation filter) can be used.
[0197] Furthermore, the video decoding device 100 according to one embodiment can also divide the region currently included in the encoding unit into a pre-configured form (for example, diagonal base division) and signal intra-prediction information or inter-prediction information for each divided region.
[0198] In one embodiment, the video decoding device 100 utilizes intra-mode to acquire prediction samples for the current coding unit using surrounding samples of the current coding unit. In this case, intra-prediction is performed using surrounding, already reconstructed samples, and such samples are called reference samples.
[0199] Figure 24 is a diagram showing reference samples for intra-prediction of an encoded unit according to one embodiment. Referring to Figure 24, for a current encoded unit 2300 whose block shape is non-square, with a horizontal length of w and a vertical length of h, there are w+h reference samples 2302 at the top, w+h reference samples 2304 on the left side, and one reference sample 2306 at the upper left end, for a total of 2(w+h)+1 reference samples. In order to prepare the reference samples, a step of padding is performed for areas where no reference samples exist, and a prediction mode-specific reference sample filtering process is also performed to reduce the quantization errors contained in the reconstructed reference samples.
[0200] In the embodiments described above, the number of reference samples when the current coding unit has a non-square block shape was explained, but the same number of reference samples applies when the current coding unit has a square block shape.
[0201] The various embodiments described above explain the operation of the video decoding method performed by the video decoding device 100. Below, the operation of the video encoding device 200, which performs a video encoding method that is the reverse process of such a video decoding method, will be described through various embodiments.
[0202] Figure 2 illustrates a block diagram of a video encoding device 200 that, according to one embodiment, can encode video based on at least one of block shape information and segmented shape information.
[0203] Referring to Figure 2, the video encoding device 200 may, in one embodiment, include a bitstream generation unit 210 for generating a bitstream containing predetermined information such as segmentation information and block format information, and an encoding unit 220 for encoding video using the predetermined information. In one embodiment, the encoding unit 220 of the video encoding device 200 can determine at least one encoding unit to divide the video based on at least one of the block format information and segmentation information, and the bitstream generation unit 210 of the video encoding device 200 can generate a bitstream containing at least one of such block format information and segmentation information. Here, the block format information means information or syntax indicating the format of the encoding unit, and the segmentation format information means information or syntax indicating the format in which the encoding unit is divided.
[0204] In one embodiment, the encoding unit 220 of the video encoding device 200 can determine the shape of the encoding unit. For example, the encoding unit may be square or have a non-square shape, and information indicating such a shape may be included in the block shape information. In one embodiment, the encoding unit 220 can determine what form the encoding unit will be divided into. The encoding unit 220 can determine the form of at least one encoding unit included in the encoding unit, and the bitstream generation unit 210 can generate a bitstream that includes division form information relating to such encoding unit form.
[0205] In one embodiment, the encoding unit 220 can determine whether or not an encoding unit is divided. If the encoding unit 220 determines that an encoding unit contains only one encoding unit, or that the encoding unit is not divided, the bitstream generation unit 210 can generate a bitstream that includes division information indicating that the encoding unit is not divided. Alternatively, the encoding unit 220 can divide an encoding unit into multiple encoding units, and the bitstream generation unit 210 can generate a bitstream that includes division information indicating that the encoding unit is divided into multiple encoding units.
[0206] In one embodiment, the division morphology information may include information indicating how many division units the coding unit will be divided into, or in which direction the division will be performed. For example, the division morphology information may indicate that the division will be performed in at least one of the vertical and horizontal directions, or that it will not be divided at all.
[0207] Figure 3 illustrates the process by which the video encoding device 200 divides the current encoding unit and determines at least one encoding unit, according to one embodiment.
[0208] In one embodiment, the encoding unit 220 can determine the form of the encoding unit. For example, the encoding unit 220 can consider the rate distortion (RD) cost and determine the form of the encoding unit having the optimal RD cost.
[0209] In one embodiment, the encoding unit 220 can determine that the current encoding unit is square-shaped, and thereby determine the form in which the square-shaped encoding unit is divided. For example, the encoding unit 220 can decide whether to not divide the square encoding unit, to divide it vertically, to divide it horizontally, or to divide it into four encoding units. Referring to Figure 3, the encoding unit 220 can decide whether to not divide the encoding unit 310a, which currently has the same size as the encoding unit 300, or to divide it into encoding units 310b, 310c, and 310d based on division form information indicating a predetermined division method.
[0210] Referring to Figure 3, the encoding unit 220 can determine two encoding units 310b obtained by dividing the current encoding unit 300 vertically according to one embodiment. The encoding unit 220 can determine two encoding units 310c obtained by dividing the current encoding unit 300 horizontally. The encoding unit 220 can determine four encoding units 310d obtained by dividing the current encoding unit 300 vertically and horizontally. However, the division patterns in which a square encoding unit can be divided are not limited to the above-described patterns, and may include a variety of patterns that the division pattern information can indicate. The predetermined division patterns in which a square encoding unit is divided will be specifically described below through various embodiments.
[0211] In one embodiment, the bitstream generation unit 210 of the video encoding device 200 can generate a bitstream that includes segmentation information showing the current configuration in which the encoding unit 300 has been segmented by the encoding unit 220.
[0212] Figure 4 illustrates the process by which, in one embodiment, the video encoding device 200 divides a non-square encoding unit and determines at least one encoding unit.
[0213] In one embodiment, the encoding unit 220 can decide whether to divide a non-square current encoding unit or to divide it in a predetermined manner. Referring to Figure 4, the encoding unit 220 of the current encoding unit 400 or 450 can decide whether to divide the encoding unit 410 or 460, which has the same size as the current encoding unit 400 or 450, or to divide it into encoding units 420a, 420b, 430a, 430b, 430c, 470a, 470b, 480a, 480b, and 480c by a predetermined division method. The bitstream generation unit 210 of the video encoding device 200 can generate a bitstream that includes division information indicating such a division configuration. The predetermined division method for dividing a non-square current encoding unit will be described in detail below through various embodiments.
[0214] In one embodiment, the encoding unit 220 can determine the form in which the encoding unit is divided. Referring to Figure 4, the encoding unit 220 can divide the current encoding unit 400 or 450 and determine two encoding units 420a, 420b or 470a, 470b that are included in the current encoding unit, and the bitstream generation unit 210 can generate a bitstream containing division information indicating such a division form.
[0215] In one embodiment, when the encoding unit 220 divides a non-square current encoding unit 400 or 450, it can divide the current encoding unit by considering the position of the longer side of the non-square current encoding unit 400 or 450. For example, the encoding unit 220 can consider the shape of the current encoding unit 400 or 450 and divide the current encoding unit 400 or 450 in a direction that divides the longer side of the current encoding unit 400 or 450, thereby determining a plurality of encoding units, and the bitstream generation unit 210 can generate a bitstream that includes division shape information showing such a division shape.
[0216] In one embodiment, the encoding unit 220 can determine an odd number of encoding units currently included in encoding unit 400 or 450. For example, the encoding unit 220 can divide the current encoding unit 400 or 450 into three encoding units 430a, 430b, 430c, 480a, 480b, and 480. In one embodiment, the encoding unit 220 can determine an odd number of encoding units currently included in encoding unit 400 or 450, and the sizes of the determined encoding units are not all the same. For example, among the determined odd number of encoding units 430a, 430b, 430c, 480a, 480b, and 480, the size of a predetermined encoding unit 430b or 480b may be different from the sizes of the other encoding units 430a, 430c, 480a, and 480c. In other words, the coding units that can be determined by dividing the current coding unit 400 or 450 can have multiple sizes, and in some cases, an odd number of coding units 430a, 430b, 430c, 480a, 480b, and 480 can each have different sizes.
[0217] In one embodiment, the encoding unit 220 can determine an odd number of encoding units currently included in the encoding unit 400 or 450, and furthermore, the encoding unit 220 can impose a predetermined restriction on at least one of the odd number of encoding units generated by the division. Referring to Figure 4, the encoding unit 220 can make the decoding process for the central encoding unit 430b, 480b among the three encoding units 430a, 430b, 430c, 480a, 480b, 480 generated by the division of the current encoding unit 400 or 450 different from that for the other encoding units 430a, 430c, 480a, 480c. For example, the encoding unit 220 can restrict the central encoding unit 430b, 480b from being further divided, or restrict it to being divided a predetermined number of times, unlike the other encoding units 430a, 430c, 480a, 480c.
[0218] Figure 5 illustrates the process by which the video encoding device 200 divides the encoding unit according to one embodiment.
[0219] In one embodiment, the encoding unit 220 can decide whether to divide the square-shaped first encoding unit 500 into encoding units or not. In one embodiment, the encoding unit 220 can divide the first encoding unit 500 horizontally to determine the second encoding unit 510. The terms first encoding unit, second encoding unit, and third encoding unit used in one embodiment are terms used to understand the relationship between the encoding units before and after division. For example, if the first encoding unit is divided, the second encoding unit is determined, and if the second encoding unit is divided, the third encoding unit may be determined. Hereafter, the relationship between the first encoding unit, second encoding unit, and third encoding unit used is understood to be due to the aforementioned features.
[0220] In one embodiment, the video encoding device 200 can decide whether to divide the determined second encoding unit 510 into encoding units or not, based on at least one of block shape information and division shape information. Referring to Figure 5, the encoding unit 220 divides the non-square second encoding unit 510, which was determined by dividing the first encoding unit 500, into at least one third encoding unit 520a, 520b, 520c, 520d, or does not divide the second encoding unit 510, based on at least one of block shape information and division shape information. The bitstream generation unit 210 of the video encoding device 200 can generate a bitstream that includes at least one of block-type information and segmented-type information, and the encoding unit 220 can divide the first encoding unit 500 based on at least one of the block-type information and segmented-type information to divide it into, for example, a plurality of second encoding units 510 of various forms, and the second encoding units 510 can be divided in the same manner as the first encoding unit 500, based on at least one of the block-type information and segmented-type information. In one embodiment, if the first encoding unit 500 is divided into second encoding units 510 based on at least one of the block-type information and segmented-type information relating to the first encoding unit 500, the second encoding units 510 can also be divided into, for example, third encoding units 520a, 520b, 520c, and 520d based on at least one of the block-type information and segmented-type information relating to the second encoding unit 510. Therefore, a square coding unit is determined from a non-square coding unit, and such a square coding unit is recursively divided to determine a non-square coding unit. Referring to Figure 5, a predetermined coding unit (for example, a coding unit located in the middle, or a square coding unit) can be recursively divided from an odd number of third coding units 520b, 520c, 520d determined by the division of a non-square second coding unit 510. In one embodiment, a square third coding unit 520c, which is one of the odd number of third coding units 520b, 520c, 520d, can be divided horizontally into a plurality of fourth coding units.A non-square fourth coding unit 540, which is one of several fourth coding units, can also be divided into several coding units. For example, a non-square fourth coding unit 540 can also be divided into an odd number of coding units 550a, 550b, and 550c.
[0221] The coding unit can be recursively partitioned based on at least one of the partitioning form information and block form information related to each coding unit. The methods used for the recursive partitioning of coding units will be described later through various embodiments.
[0222] In one embodiment, the encoding unit 220 can decide whether to divide each of the third encoding units 520a, 520b, 520c, and 520d into encoding units, or whether to leave the second encoding unit 510 undivided, based on at least one of the block shape information and the division shape information. In one embodiment, the encoding unit 220 can divide the non-square second encoding unit 510 into an odd number of third encoding units 520b, 520c, and 520d. The video encoding device 200 can set predetermined restrictions on a predetermined third encoding unit among the odd number of third encoding units 520b, 520c, and 520d. For example, the video encoding device 200 can restrict the encoding unit 520c located in the middle of the odd number of third encoding units 520b, 520c, and 520d so that it cannot be divided any further, or so that it must be divided a set number of times. Referring to Figure 5, the video encoding device 200 can restrict the middle encoding unit 520c among the odd number of third encoding units 520b, 520c, and 520d contained in the non-square second encoding unit 510 to not be further divided, to be divided into a predetermined division pattern (for example, to be divided into only four encoding units, or to be divided into a pattern corresponding to the division pattern of the second encoding unit 510), or to be divided only a predetermined number of times (for example, to be divided only n times, n>0). However, the above restrictions on the middle encoding unit 520c are merely a simple embodiment and should not be interpreted as being limited to the embodiment described, but rather should be interpreted as including a variety of restrictions that cause the middle encoding unit 520c to be decoded differently from the other encoding units 520b and 520d.
[0223] In one embodiment, the bitstream generation unit 210 of the video encoding device 200 can generate a bitstream that includes, along with a bitstream relating to a sample at a predetermined position within the current encoding unit, at least one of the block shape information and division shape information used to divide the current encoding unit.
[0224] Figure 6 illustrates, in one embodiment, a method by which the encoding unit 220 determines a predetermined encoding unit from an odd number of encoding units. The encoding unit 220 of the video encoding device 200 can decide whether to divide the current encoding unit into encoding units of various shapes and sizes, or not. Referring to Figure 6, the bitstream generation unit 210 can generate a bitstream that includes at least one of the block shape information and division shape information of the current encoding unit 600, along with a bitstream relating to a sample at a predetermined position (for example, a sample 640 located in the middle) among a plurality of samples contained in the current encoding unit 600. However, the predetermined position within the current encoding unit 600 relating to at least one of the block shape information and division shape information should not be interpreted as being limited to the middle position shown in Figure 6, but rather should be interpreted as including various positions contained within the current encoding unit 600 (for example, the top edge, bottom edge, left side, right side, upper left edge, lower left edge, upper right edge, or lower right edge, etc.).
[0225] In one embodiment, the video encoding device 200 can select one encoding unit if the currently encoded unit has been divided into a predetermined number of encoding units. There are various methods for selecting one of multiple encoding units, and such methods will be described later through the following various embodiments.
[0226] In one embodiment, the encoding unit 220 of the video encoding device 200 can divide the current encoding unit into a plurality of encoding units and determine the encoding unit at a predetermined position.
[0227] Figure 6 illustrates a method by which the video encoding device 200 determines a coding unit at a predetermined position among an odd number of coding units, according to one embodiment.
[0228] In one embodiment, the encoding unit 220 can utilize information indicating the position of each of the odd-numbered encoding units in order to determine the middle encoding unit among the odd-numbered encoding units. Referring to Figure 6, the encoding unit 220 can divide the current encoding unit 600 and determine the odd-numbered encoding units 620a, 620b, and 620c. The encoding unit 220 can determine the middle encoding unit 620b by utilizing information relating to the positions of the odd-numbered encoding units 620a, 620b, and 620c. For example, the encoding unit 220 can determine the middle encoding unit 620b by determining the positions of the encoding units 620a, 620b, and 620c based on information indicating the positions of predetermined samples contained in the encoding units 620a, 620b, and 620c. Specifically, the encoding unit 220 can determine the middle encoding unit 620b by determining the positions of the encoding units 620a, 620b, and 620c based on information indicating the positions of the samples 630a, 630b, and 630c at the upper left end of the encoding units 620a, 620b, and 620c.
[0229] In one embodiment, the information indicating the position of the upper left-hand sample 630a, 630b, 630c included in the coding units 620a, 620b, 620c, respectively, may include information relating to the position or coordinates of the coding units 620a, 620b, 620c within the picture. In one embodiment, the information indicating the position of the upper left-hand sample 630a, 630b, 630c included in the coding units 620a, 620b, 620c, respectively, may include information indicating the width or height of the coding units 620a, 620b, 620c currently included in coding unit 600, and such width or height corresponds to information indicating the difference between coordinates within the picture of the coding units 620a, 620b, 620c. In other words, the video encoding device 200 can determine the encoding unit 620b located in the middle by directly using information relating to the position or coordinates of the encoding units 620a, 620b, and 620c within the picture, or by using information relating to the width or height of the encoding units that indicates the difference between coordinates.
[0230] In one embodiment, information indicating the position of sample 630a at the upper left end of the upper coding unit 620a can be expressed in (xa,ya) coordinates, information indicating the position of sample 630b at the upper left end of the middle coding unit 620b can be expressed in (xb,yb) coordinates, and information indicating the position of sample 630c at the upper left end of the lower coding unit 620c can be expressed in (xc,yc) coordinates. The video coding device 200 can determine the middle coding unit 620b by using the coordinates of the upper left end samples 630a, 630b, and 630c included in coding units 620a, 620b, and 620c, respectively. For example, when the coordinates of samples 630a, 630b, and 630c at the top left are sorted in ascending or descending order, the coding unit 620b containing the coordinates (xb,yb) of sample 630b, which is located in the middle, can be determined as the middle coding unit among the coding units 620a, 620b, and 620c that were determined by dividing the currently selected coding unit 600. However, the coordinates indicating the positions of samples 630a, 630b, and 630c at the upper left can represent absolute positions within the picture. Furthermore, it is also possible to use (dxb, dyb) coordinates, which indicate the relative position of sample 630b at the upper left of the middle coding unit 620b, relative to the position of sample 630a at the upper left of the upper coding unit 620a, and (dxc, dyc) coordinates, which indicate the relative position of sample 630c at the upper left of the lower coding unit 620c. Moreover, the method of determining the 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 method described above, but rather as a variety of arithmetic methods that can utilize the coordinates of the sample.
[0231] In one embodiment, the video encoding device 200 can divide the current encoding unit 600 into a plurality of encoding units 620a, 620b, and 620c, and can select an encoding unit from among the encoding units 620a, 620b, and 620c according to a predetermined criterion. For example, the encoding unit 220 can select an encoding unit 620b of a different size from the encoding units 620a, 620b, and 620c.
[0232] In one embodiment, the video encoding device 200 can determine the width or height of each encoding unit 620a, 620b, and 620c by using the (xa,ya) coordinates, which are information indicating the position of sample 630a at the upper left end of the upper encoding unit 620a; the (xb,yb) coordinates, which are information indicating the position of sample 630b at the upper left end of the middle encoding unit 620b; and the (xc,yc) coordinates, which are information indicating the position of sample 630c at the upper left end of the lower encoding unit 620c. The video encoding device 200 can also determine the size of each encoding unit 620a, 620b, and 620c by using the coordinates (xa,ya), (xb,yb), and (xc,yc), which are coordinates indicating the positions of the encoding units 620a, 620b, and 620c.
[0233] In one embodiment, the video encoding device 200 can determine the width of the upper encoding unit 620a as xb-xa and its height as yb-ya. In one embodiment, the encoding unit 220 can determine the width of the middle encoding unit 620b as xc-xb and its height as yc-yb. In one embodiment, the encoding unit 220 can determine the width or height of the lower encoding unit using the width or height of the current encoding unit and the widths and heights of the upper encoding unit 620a and the middle encoding unit 620b. Based on the determined widths and heights of the encoding units 620a, 620b, and 620c, the encoding unit 220 can determine an encoding unit having a different size from the other encoding units. Referring to Figure 6, the video encoding device 200 can determine a middle encoding unit 620b having a different size from the upper encoding unit 620a and the lower encoding unit 620c as the encoding unit at a predetermined position. However, the process by which the aforementioned video encoding device 200 determines encoding units of different sizes is merely one embodiment of determining an encoding unit at a predetermined position using the size of the encoding unit determined based on the sample coordinates. Therefore, various processes are used to determine an encoding unit at a predetermined position by comparing the sizes of the encoding units determined by predetermined sample coordinates.
[0234] However, the sample positions considered in determining the position of the coding unit are not limited to the upper left corner as described above; it can also be interpreted that information relating to the positions of any sample included in the coding unit is used.
[0235] In one embodiment, the video encoding device 200 can take into account the shape of the current encoding unit and select an encoding unit at a predetermined position from an odd number of encoding units determined by dividing the current encoding unit. For example, if the current encoding unit is non-square in shape, with a width greater than its height, the encoding unit 220 can determine an encoding unit at a predetermined position along the horizontal direction. That is, the encoding unit 220 can determine one of the encoding units at different positions in the horizontal direction and impose restrictions on that encoding unit. If the current encoding unit is non-square in shape, with a height greater than its width, the encoding unit 220 can determine an encoding unit at a predetermined position along the vertical direction. That is, the encoding unit 220 can determine one of the encoding units at different positions in the vertical direction and impose restrictions on that encoding unit.
[0236] In one embodiment, the video encoding device 200 can use information indicating the position of each of the even-numbered encoding units to determine the encoding unit at a predetermined position among the even-numbered encoding units. The encoding unit 220 can divide the current encoding unit and determine the even-numbered encoding units, and can use the information relating to the positions of the even-numbered encoding units to determine the encoding unit at the predetermined position. The specific process involved is similar to the process of determining the encoding unit at a predetermined position (for example, the middle position) among the odd-numbered encoding units described in Figure 6, so it will be omitted here.
[0237] In one embodiment, when a non-square current coding unit is divided into multiple coding units, predetermined information used in the division process of the current coding unit can be used to determine the coding unit at a predetermined position among the multiple coding units. For example, the coding unit 220 of the video coding device 200 can use at least one of block shape information and division shape information as predetermined information used in the division process of the current coding unit to determine the coding unit located in the middle among the multiple coding units into which the current coding unit has been divided, and such information is as follows.
[0238] Referring to Figure 6, the encoding unit 220 of the video encoding device 200 can divide the current encoding unit 600 into multiple encoding units 620a, 620b, and 620c, and can determine the encoding unit 620b located in the middle of the multiple encoding units 620a, 620b, and 620c. The bitstream generation unit 210 can generate a bitstream that includes at least one of the block-type information and divided-type information used in the division process of the current encoding unit 600. The encoding unit 220 can determine the encoding unit 620b located in the middle by considering the position of the sample related to at least one bitstream among the block-type information and divided-type information used in the division process of the current encoding unit 600. In other words, a bitstream is generated that includes at least one of the block-type information and division-type information of the current encoding unit 600, along with the bitstream relating to sample 640, which is currently located in the middle of the encoding unit 600. In this case, the encoding unit 220 can determine that encoding unit 620b, which includes sample 640, is the encoding unit located in the middle of the multiple encoding units 620a, 620b, and 620c. However, the information used to determine the encoding unit located in the middle of the multiple encoding units determined by the division of the current encoding unit is not limited to interpreting at least one of the block-type information and division-type information used in the division process of the current encoding unit, but rather various types of information are used. In connection with this, the process by which the video encoding device 200 determines the encoding unit at a predetermined position is the opposite process to the process by which the video decoding device 100 determines the encoding unit at a predetermined position from the multiple encoding units determined from the current encoding unit, so a detailed explanation is omitted.
[0239] In one embodiment, the video encoding device 200 can divide the current encoding unit and determine at least one encoding unit, and can determine the order in which such at least one encoding unit is decoded by a predetermined block (e.g., the current encoding unit).
[0240] Figure 7 illustrates the order in which multiple encoding units are processed when the video encoding device 200 divides the current encoding unit and determines multiple encoding units according to one embodiment. The process by which the video encoding device 200 processes multiple encoding units in relation to Figure 7 is similar to the operation of the video decoding device 100 described in relation to Figure 7, so a detailed explanation is omitted.
[0241] Figure 8 illustrates the process by which, in one embodiment, the video encoding device 200 determines that if the encoding units cannot be processed in a predetermined order, the current encoding unit will be divided into an odd number of encoding units.
[0242] In one embodiment, the encoding unit 220 of the video encoding device 200 can determine that the current encoding unit is divided into an odd number of encoding units, and the bitstream generation unit 210 can generate a bitstream that includes block shape information indicating the shape of the current encoding unit and division shape information indicating the division shape of the current encoding unit (divided into an odd number of units). Referring to Figure 8, a square-shaped first encoding unit 800 is divided into non-square-shaped second encoding units 810a and 810b, and the second encoding units 810a and 810b can each be independently divided into third encoding units 820a, 820b, 820c, 820d, and 820e. In one embodiment, the encoding unit 220 can divide the left encoding unit 810a of the second encoding unit horizontally to determine a plurality of third encoding units 820a and 820b, and the right encoding unit 810b can be divided into an odd number of third encoding units 820c, 820d, and 820e. The process by which the video encoding device 200, shown in Figure 8, determines that the current encoding unit is divided into an odd number of encoding units is the opposite process to the operation of the video decoding device 100, which was explained in relation to Figure 8. Therefore, a detailed explanation will be omitted.
[0243] Figure 9 illustrates that, in one embodiment, the video encoding device 200 divides the first encoding unit 900 and determines at least one encoding unit. In one embodiment, the encoding unit 220 can divide the first encoding unit 900, and the bitstream generation unit 210 can generate a bitstream that includes at least one of block shape information indicating the shape of the first encoding unit 900 and division shape information indicating the shape in which the first encoding unit 900 is divided. The square-shaped first encoding unit 900 can be divided into encoding units having four square shapes, or into a plurality of non-square encoding units. For example, referring to Figure 9, the encoding unit 220 can divide the first encoding unit 900 into a plurality of non-square encoding units, in which case the bitstream generation unit 210 can generate a bitstream that includes block shape information indicating that the first encoding unit 900 is square, and division shape information indicating that the first encoding unit 900 is divided into non-square encoding units. Specifically, the encoding unit 220 can divide the square-shaped first encoding unit 900 into an odd number of second encoding units 910a, 910b, 910c determined by vertical division, or into an odd number of second encoding units 920a, 920b, 920c determined by horizontal division. In this case, the bitstream generation unit 210 can generate a bitstream containing division information indicating that the first encoding unit 900 is divided horizontally or vertically to determine an odd number of encoding units. The process by which the video encoding device 200, as shown in Figure 9, divides the first encoding unit 900 and determines at least one encoding unit is the opposite process to the operation of the video decoding device 100 described in relation to Figure 9, so a detailed explanation is omitted.
[0244] Figure 10 illustrates that, in one embodiment, when the video encoding device 200 satisfies predetermined conditions, the form in which the second encoding unit can be divided is limited.
[0245] In one embodiment, the encoding unit 220 can decide to divide the square-shaped first encoding unit 1000 into non-square-shaped second encoding units 1010a, 1010b, 1020a, and 1020b. The second encoding units 1010a, 1010b, 1020a, and 1020b can be divided independently. As a result, the encoding unit 220 can decide whether to divide each of the second encoding units 1010a, 1010b, 1020a, and 1020b into multiple encoding units or not to divide them. The operation of the video encoding device 200 related to Figure 10, which restricts the form in which the non-square-shaped second encoding unit can be divided when a predetermined condition is satisfied, is the opposite of the operation of the video decoding device 100 described in relation to Figure 10, so a detailed explanation is omitted.
[0246] Figure 11 illustrates the process by which the video encoding device 200 divides the square encoding units when it is not possible to demonstrate that the division pattern information is divided into four square encoding units by one embodiment. The operation of the video encoding device 200 related to this is the opposite of the operation of the video decoding device 100 described in relation to Figure 11, so a detailed explanation is omitted.
[0247] Figure 12 illustrates, in one embodiment, that the processing order between multiple coding units may differ depending on the coding unit division process.
[0248] In one embodiment, the encoding unit 220 can divide the square-shaped first encoding unit 1200 in at least one direction of the horizontal and vertical directions. In one embodiment, the bitstream generation unit 210 can generate a bitstream that includes block shape information indicating that the first encoding unit 1200 is square-shaped, and division shape information indicating that the first encoding unit 1200 is divided in at least one direction of the horizontal and vertical directions.
[0249] In one embodiment, the encoding unit 220 can divide the first encoding unit 1200 to determine, for example, second encoding units 1210a, 1210b, 1220a, 1220b, 1230a, 1230b, 1230c, and 1230d. Referring to Figure 12, the non-square second encoding units 1210a, 1210b, 1220a, and 1220b, which are determined by dividing the first encoding unit 1200 only in the horizontal or vertical direction, can be divided independently. For example, the encoding unit 220 can divide the second encoding units 1210a and 1210b, which are generated by vertically dividing the first encoding unit 1200, horizontally to determine the third encoding units 1216a, 1216b, 1216c, and 1216d, and can divide the second encoding units 1220a and 1220b, which are generated by horizontally dividing the first encoding unit 1200, horizontally to determine the third encoding units 1226a, 1226b, 1226c, and 1226d. The operation of the video encoding device 200 in relation to Figure 10 is the opposite of the operation of the video decoding device 100 described in relation to Figure 10, so a detailed explanation will be omitted.
[0250] Figure 13 illustrates the process by which the depth of an encoding unit is determined when an encoding unit is recursively divided and multiple encoding units are determined according to one embodiment, by changing the shape and size of the encoding unit. The process by which the encoding unit 220 of the video encoding device 200 determines the depth of an encoding unit is the opposite of the process by which the decoding unit 120 of the video decoding device 100, which was explained in relation to Figure 13, determines the depth of an encoding unit, so a detailed explanation is omitted.
[0251] In one embodiment, the video encoding device 200 can determine whether or not a plurality of encoding units, which have been divided and determined from the current encoding unit, have been divided into a specific division pattern, based on an index value for distinguishing between them. Referring to Figure 14, the video encoding device 200 can divide a rectangular first encoding unit 1410, where the height is greater than the width, and determine an even number of encoding units 1412a, 1412b, or an odd number of encoding units 1414a, 1414b, 1414c. The video encoding device 200 can use an index representing each encoding unit to distinguish between each of the plurality of encoding units. In one embodiment, the PID is also obtained from a sample at a predetermined position in each encoding unit (for example, the upper left sample). The operation of the video encoding device 200 in Figure 14 is the opposite of the operation of the video decoding device 100 described in relation to Figure 14, so a detailed explanation is omitted.
[0252] Figure 15 illustrates how, in one embodiment, multiple encoding units are determined from multiple predetermined data units contained in a picture. In one embodiment, the encoding unit 220 can utilize a reference encoding unit, which has been described as a predetermined data unit from which the recursive division of the encoding units begins. The operation of the video encoding device 200 using the reference encoding unit in relation to Figure 15 is the opposite of the operation of the video decoding device 100 using the reference encoding unit described in relation to Figure 15, so a detailed explanation is omitted.
[0253] In one embodiment, the bitstream generation unit 210 of the video encoding device 200 can generate a bitstream for each of the various data units, which includes at least one of the following: information relating to the shape of the reference encoding unit and information relating to the size of the reference encoding unit. The process for determining at least one encoding unit included in the square-shaped reference encoding unit 1500 was explained through the process of dividing the current encoding unit 300 in Figure 3, and the process for determining at least one encoding unit included in the non-square-shaped reference encoding unit 1500 was explained through the process of dividing the current encoding unit 400 or 450 in Figure 4, so a detailed explanation is omitted.
[0254] In one embodiment, the encoding unit 220 can use an index for identifying the size and shape of a reference encoding unit in order to determine the size and shape of a reference encoding unit based on a subset of data units predetermined based on predetermined conditions. That is, the bitstream generation unit 210 can generate a bitstream including an index for identifying the size and shape of a reference encoding unit for each data unit among the various data units (e.g., sequence, picture, slice, slice segment, maximum encoding unit, etc.) that satisfies predetermined conditions (e.g., data units having a size less than or equal to a slice). By using the index, the encoding unit 220 can determine the size and shape of a reference data unit for each data unit that satisfies the predetermined conditions. In one embodiment, at least one of the size and shape of a reference encoding unit related to the index indicating the size and shape of a reference encoding unit is predetermined. That is, the encoding unit 220 can determine at least one of the size and shape of a reference encoding unit included in the data unit that serves as the basis for index acquisition by selecting at least one of the predetermined size and shape of a reference encoding unit using the index. The operation of the encoding unit 220, which utilizes an index to identify the size and shape of the reference encoding unit, is similar to the operation of the decoding unit 120 described above, so a detailed explanation will be omitted.
[0255] Figure 16 illustrates a processing block that serves as a criterion for determining the order in which reference coding units are included in picture 1600, according to one embodiment.
[0256] In one embodiment, the encoding unit 220 can acquire information relating to the size of a processing block and determine the size of at least one processing block included in the video. The encoding unit 220 can determine the size of at least one processing block included in the video, and the bitstream generation unit 210 can generate a bitstream that includes information relating to the size of the processing block. The size of such a processing block is also a predetermined size of the data unit indicated by the information relating to the size of the processing block.
[0257] In one embodiment, the bitstream generation unit 210 of the video encoding device 200 can generate a bitstream containing information relating to the size of a processing block for each specific data unit. For example, a bitstream containing information relating to the size of a processing block can be generated for each data unit such as video, sequence, picture, slice, or slice segment. That is, the bitstream generation unit 210 can generate a bitstream containing information relating to the size of a processing block for each of the many data units, and the encoding unit 220 can use the information relating to the size of the processing block to determine the size of at least one processing block for dividing a picture, the size of which is also an integer multiple of the reference encoding unit.
[0258] In one embodiment, the encoding unit 220 can determine the size of the processing blocks 1602 and 1612 included in the picture 1600. For example, the encoding unit 220 can determine the size of the processing blocks based on information relating to the size of the processing blocks. Referring to Figure 16, in one embodiment, the encoding unit 220 can determine the horizontal size of the processing blocks 1602 and 1612 to be four times the horizontal size of the reference encoding unit, and the vertical size to be four times the vertical size of the reference encoding unit. The encoding unit 220 can determine the order in which at least one reference encoding unit is determined within at least one processing block. The operation of the encoding unit 220 with respect to the processing blocks is similar to the operation of the decoding unit 120 described in relation to Figure 16, so a detailed explanation is omitted.
[0259] In one embodiment, the bitstream generation unit 210 of the video encoding device 200 can generate a bitstream that includes block configuration information indicating the current encoding unit configuration or division configuration information indicating a method for dividing the current encoding unit. The block configuration information or division configuration information may be included in bitstreams relating to various data units. For example, the bitstream generation unit 210 of the video encoding device 200 can utilize block configuration information or division configuration information included in sequence parameter sets, picture parameter sets, video parameter sets, slice headers, and slice segment headers. Furthermore, the bitstream generation unit 210 of the video encoding device 200 can generate a bitstream that includes syntax indicating block configuration information or division configuration information for each maximum encoding unit, reference encoding unit, and processing block.
[0260] In one embodiment, the encoding unit 220 can determine different types of divisions into which the encoding unit can be divided for each predetermined data unit. In one embodiment, the encoding unit 220 of the video encoding device 200 can determine different combinations of divisions into which the encoding unit can be divided for each predetermined data unit (e.g., sequence, picture, slice, etc.).
[0261] Figure 17 illustrates the possible encoding units that can be determined for each picture when the combinations of forms in which the encoding unit can be divided differ from picture to picture according to one embodiment.
[0262] Referring to Figure 17, the encoding unit 220 can determine different combinations of division patterns in which each picture can be divided into encoding units. For example, the encoding unit 220 can decode video using picture 1700, which can be divided into four encoding units, picture 1710, which can be divided into two or four encoding units, and picture 1720, which can be divided into two, three, or four encoding units, from among at least one picture contained in the video. The encoding unit 220 can divide picture 1700 into four square encoding units. The encoding unit 220 can divide picture 1710 into two or four encoding units. The encoding unit 220 can divide picture 1720 into two, three, or four encoding units. The above-described combinations of division patterns are merely embodiments for explaining the operation of the video encoding device 200, and therefore the described combinations of division patterns should not be interpreted as being limited to the above embodiments, but rather as various combinations of division patterns being used for each predetermined data unit.
[0263] In one embodiment, the encoding unit 220 of the video encoding device 200 can determine combinations of division patterns into which an encoded unit can be divided for each predetermined data unit by using an index indicating a combination of division pattern information, thereby enabling the use of different division pattern combinations for each predetermined data unit. Furthermore, the bitstream generation unit 210 of the video encoding device 200 can generate a bitstream including an index indicating a combination of division pattern information for each predetermined data unit (e.g., sequence, picture, slice, etc.). For example, the bitstream generation unit 210 can generate a sequence parameter set, picture parameter set, or slice header including an index indicating a combination of division pattern information.
[0264] Figures 18 and 19 illustrate various forms of coding units that can be determined based on segmentation information that can be represented by binary code, according to one embodiment.
[0265] In one embodiment, the encoding unit 220 of the video encoding device 200 can divide an encoding unit into various forms and generate a bitstream including block form information and division form information via the bitstream generation unit 210. The forms of the encoding unit that can be divided include various forms, including those described through the above-mentioned embodiments. Referring to Figure 18, the encoding unit 220 can divide a square-shaped encoding unit in at least one of the horizontal and vertical directions based on the division form information, and can divide a non-square-shaped encoding unit in the horizontal or vertical direction. The features relating to the binary code of the division form information that the video encoding device 200 can utilize correspond to the features of the video decoding device 100 described through Figures 18 and 19, so a detailed explanation is omitted.
[0266] In one embodiment, the video encoding device 200 generates prediction data by performing inter-prediction or intra-prediction related to the encoding unit, generates residual data by performing an inverse transform on the transformation unit currently included in the encoding unit, and encodes the current encoding unit using the generated prediction data and residual data.
[0267] In one embodiment, the prediction mode for the coding unit is at least one of intra mode, inter mode, and skip mode. In one embodiment, prediction is performed independently for each coding unit, and the prediction mode with the smallest error is selected.
[0268] In one embodiment, when a 2Nx2N encoding unit is divided into two 2NxN or two Nx2N encoding units, intermode prediction and intramode prediction are performed separately for each of these encoding units. Furthermore, in one embodiment, the encoding unit 220 of the video encoding device 200 can encode the encoding unit using the CU skip mode not only when the encoding unit is square-shaped, but also when it is not square-shaped. By enabling decoding of video using the CU skip mode not only for square-shaped encoding units determined based on at least one of the block shape information and division shape information, but also for non-square-shaped encoding units, a relatively more adaptive skip mode can be used, thereby improving the video unit / decoding efficiency. The features of the video encoding device 200 that utilize the skip mode in such non-square-shaped encoding units are similar to the features described in relation to the use of the skip mode by the video encoding device 200, so a detailed explanation is omitted.
[0269] Figure 22 illustrates the process by which merging or splitting between coding units determined by a predetermined coding method is performed according to one embodiment.
[0270] In one embodiment, the video encoding device 200 can determine the encoding unit to divide the picture using the predetermined encoding method described above. For example, the video encoding device 200 can determine the encoding unit at the current depth or divide it into four lower-depth encoding units based on the encoding unit division information. As described above, in one embodiment, the video encoding device 200 can determine the encoding unit using block shape information indicating that the current encoding unit always has a square shape, and division shape information indicating that the current encoding unit is not divided or is divided into four square encoding units. Referring to Figure 22, pictures 2200 and 2220 can be divided by the square encoding units determined by the predetermined encoding method described above.
[0271] However, in the case of the predetermined decoding unit described above, whether or not the current encoding unit is divided is determined by whether or not it is suitable for representing relatively small objects contained within the current encoding unit. Therefore, large and small objects in a picture are not encoded through a single encoding unit. Here, an object is a set of samples contained in a picture, and refers to a region of samples that is distinguished from other regions by having similar sample values. Referring to Figure 22, the video encoding device 200 can determine the encoding unit for decoding the small object 2221 by dividing the first encoding unit 2222 into four lower-depth encoding units in order to restore the small object 2221. However, since the large object 2223 is not included in the current encoding unit 2222, the large object 2223 is not suitable for decoding using the current encoding unit 2222. Furthermore, because the current encoding unit 2222 was divided in order to decode the small object 2221, an unnecessary encoding unit division process must ultimately be performed in order to decode the large object 2223, which is inefficient. In other words, if the video encoding device 200 can utilize a single encoding unit to encode the portion related to the large object 2223, then video encoding can be performed efficiently.
[0272] According to one embodiment, the encoding unit 220 of the video encoding apparatus 200 can divide the current encoding unit by using at least one of the block form information and the division form information. The block form information can be determined in advance by using only a square shape, and the division form information can be determined in advance to indicate whether not to divide or to divide into four square encoding units. This corresponds to the encoding unit determination process used in the predetermined encoding method described through various embodiments. In that case, the encoding unit 220 can use the sample values included in the picture to merge the encoding units determined by using the predetermined encoding method with each other or to divide the determined encoding units. For example, the encoding unit 220 can examine parts having similar sample values and detect various objects included in the picture, and based on the parts related to the objects thus detected, perform the merging / splitting process of the encoding units.
[0273] Referring to FIG. 22, according to one embodiment, the encoding unit 220 can determine a plurality of encoding units that divide the picture 2200 by using the aforementioned predetermined encoding method. However, there may be a case where, despite the existence of a part 2201 having similar sample values included in the picture, the process of dividing the similar region into a plurality of encoding units rather than one encoding unit is performed. In that case, even if the encoding unit is determined through the predetermined encoding method, the encoding unit 220 can merge such encoding units into one encoding unit 2202 and encode them as one encoding unit. Referring to FIG. 22, as another embodiment, the encoding unit 220 can divide the encoding unit 2222 for encoding the small object 2221 into four encoding units by using the aforementioned predetermined encoding method. In the case of the encoding units thus divided, since none of the detected large objects 2223 are included, the encoding unit 220 can merge the encoding units into one encoding unit including a part having similar sample values (2225).
[0274] According to one embodiment, the encoding unit 220 uses the division information of the encoding unit, and uses a predetermined encoding method that does not divide the encoding unit or divides it into four encoding units. After determining the encoding unit, considering the sample values of the samples included in the picture, the encoding unit can be further divided. That is, the encoding unit 120 can not only merge the encoding units but also divide the already determined encoding units in order to determine the encoding units for each object. Referring to FIG. 22, the encoding unit 120 can merge the encoding units for the object 2223, and in order to determine the encoding unit optimized for the object 2223, the encoding unit merged for the object 2223 can be further divided (2226). That is, through the division (2226) process, the encoding unit 220 can determine a part not including the object 2223 as a separate encoding unit 2227 from the object 2223.
[0275] After performing the merging or division between the encoding units determined by the predetermined encoding method through the operation of the video encoding apparatus 200 described above and generating a bitstream related to the video, as the video decoding apparatus 100, after obtaining such a bitstream, by performing a video decoding method corresponding to the reverse operation of the video encoding method described above, the video can be decoded.
[0276] FIG. 23 illustrates an index in the Z-scan order of the encoding units according to one embodiment.
[0277] In one embodiment, the encoding unit 220 of the video encoding device 200 can scan lower data units contained in higher data units in a Z-scan order. Furthermore, the video encoding device 200 in one embodiment can sequentially access data using the Z-scan index within the encoding units contained in the largest encoding unit or processing block. As explained with reference to Figures 3 and 4, the encoding unit 220 of the video encoding device 200 in one embodiment can divide a reference encoding unit into at least one encoding unit. In this case, the reference encoding unit contains a mixture of square-shaped encoding units and non-square-shaped encoding units. In the video encoding device 200, the characteristics of the index of encoding units by Z-scan order are similar to those of the video decoding device 100 explained with reference to Figure 23, so a detailed explanation is omitted.
[0278] The above has focused on describing various embodiments. Those skilled in the art in which the present invention pertains will understand that the present invention is embodied in modified forms that do not deviate from the essential characteristics of the invention. Therefore, the disclosed embodiments should be considered from an explanatory rather than restrictive viewpoint. The scope of the present invention is shown in the claims, not in the foregoing description, and all differences within an equivalent scope should be interpreted as being included in the present invention.
[0279] On the other hand, the embodiments of the present invention described above can be created as programs that run on a computer, and can also be realized in a general-purpose digital computer that uses a computer-readable recording medium to run the aforementioned programs. 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] (Note 1) In a method for decoding video, A step of obtaining at least one of block-type information and segment-type information relating to a first encoding unit contained in the video from the bitstream, A step of determining at least one second coding unit included in the first coding unit based on at least one of the acquired block shape information and division shape information, The steps include decoding the video based on the at least one second encoding unit, The block shape information is characterized by showing the shape of the first coding unit, The video decoding method is characterized in that the division configuration information indicates whether the first encoding unit is divided into the second encoding unit or not. (Note 2) The step of determining the at least one second coding unit is: Based on the block shape information, the first coding unit is determined to be either square or non-square in shape. The video decoding method according to Appendix 1, characterized by comprising the step of determining at least one second coding unit based on the determined form of the first coding unit. (Note 3) The step of determining the at least one second coding unit is: The video decoding method according to Appendix 1, characterized by including the step of determining a plurality of second coding units having a plurality of different sizes based on the division pattern information. (Note 4) The step of obtaining at least one of the block shape information and the division shape information is: The video decoding method according to Appendix 1, characterized by including the step of obtaining at least one of the block-type information and the segmented-type information from a bitstream relating to a sample at a predetermined position included in the first encoding unit. (Note 5) The aforementioned video decoding method is The video decoding method according to Appendix 1, further comprising the steps of determining a predetermined second encoding unit from among the at least one second encoding unit, limiting the number of divisions related to the predetermined second encoding unit, and decoding the video. (Note 6) The step of decoding the aforementioned video is: The video decoding method according to Appendix 5, characterized by including 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 related to the predetermined second coding unit, and decoding the video. (Note 7) The step of decoding the aforementioned video is: A step of determining a second coding unit from among the at least one second coding unit that contains the sample at the predetermined position, The video decoding method according to Appendix 6, characterized by comprising the steps of: limiting the number of divisions related to the second encoding unit determined above, and decoding the video. (Note 8) The aforementioned video decoding method is The steps include: determining a reference coding unit by dividing the width and height of the largest coding unit; The video decoding method according to Appendix 1, further comprising the step of determining the reference coding unit as the first coding unit. (Note 9) The aforementioned video decoding method is The process further includes dividing the video into at least one processing block containing at least one maximum encoding unit, The video decoding method according to Appendix 1, characterized in that the processing order of the at least one maximum coding unit included in the at least one processing block may differ depending on the processing block. (Note 10) The step of determining the at least one second coding unit is: If it can be shown that the division form information relating to the first coding unit is divided in the vertical and horizontal directions, the process includes the step of dividing the first coding unit vertically or horizontally and determining a plurality of second coding units. The plurality of second encoded units are characterized in that none of the plurality of second encoded units are divided in a direction orthogonal to the direction in which the first encoded unit is divided, according to Supplementary Note 1. (Supplementary Note 11) The video decoding method further includes a step of determining the depth of each encoded unit based on the long side lengths of the first encoded unit and the at least one second encoded unit, according to Supplementary Note 1. (Supplementary Note 12) The video decoding method The processing order of at least one third encoded unit determined by dividing one of the at least one second encoded units can be determined based on the form in which the second encoded unit related to the at least one third encoded unit is divided, according to Supplementary Note 1. (Supplementary Note 13) In an apparatus for decoding video, a bitstream acquisition unit that acquires at least one of block form information and division form information related to a first encoded unit included in the video from a bitstream; a decoding unit that determines at least one second encoded unit included in the first encoded unit based on at least one of the acquired block form information and the division form information, and decodes the video based on the at least one second encoded unit; The block form information is characterized by indicating the form of the first encoded unit; The division form information is characterized by indicating whether the first encoded unit is divided into the second encoded unit or not, in a video decoding apparatus. (Supplementary Note 14) In a method for encoding video, a step of generating a bitstream including at least one of block form information and division form information related to a first encoded unit included in the video; A step of 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 division shape information, The step of encoding the video based on the at least one second encoding unit is included, The block shape information is characterized by showing the shape of the first coding unit, The video encoding method is characterized in that the division configuration information indicates whether the first encoding unit is divided into the second encoding unit or not. (Note 15) In a device for encoding video, A bitstream generation unit that generates a bitstream that includes at least one of block-type information and segment-type information relating to a first encoding unit contained in the video; The system includes an encoding unit that determines at least one second encoding unit included in the first encoding unit based on at least one of the block shape information and the division shape information, and encodes the video based on the at least one second encoding unit, The block shape information is characterized by showing the shape of the first coding unit, The video encoding device is characterized in that the division configuration information indicates whether the first encoding unit is divided into the second encoding unit or not. [Explanation of Symbols]
[0281] 500 First coding unit 510 Second coding unit 520 Third coding unit
Claims
1. In a method for decoding video, The steps include obtaining information related to the size of the maximum encoding unit and information related to the size of the reference encoding unit from the bitstream, The steps include: dividing the video according to information relating to the size of the maximum encoding unit to obtain multiple maximum encoding units; A step of determining multiple reference coding units by dividing the width and height of the current largest coding unit among the multiple largest coding units based on information relating to the size of the aforementioned reference coding unit, The steps include obtaining information on the division pattern of a first coding unit, which is one of the multiple reference coding units, from the bitstream, The steps include determining a second coding unit by dividing the first coding unit based on the division form information of the first coding unit, The step includes, when the current coding unit among the second coding units is not divided into smaller coding units, determining one or more transformation blocks from the current coding unit and decoding the current coding unit by performing an inverse transformation using the one or more transformation blocks, When three second coding units are generated by vertically dividing the first coding unit according to the division pattern information, the division pattern of the central second coding unit among the three second coding units may correspond to the division pattern of the first coding unit according to the division pattern information. The division configuration 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 method characterized in that the division depth of the second coding unit is 1 greater than the division depth of the first coding unit.
2. In a device for decoding video, A bitstream acquisition unit that obtains information relating to the size of the largest encoding unit and information relating to the size of the reference encoding unit from the bitstream, divides the video according to the information relating to the size of the largest encoding unit to obtain multiple largest encoding units, determines multiple reference encoding units by dividing the width and height of the current largest encoding unit from the multiple largest encoding units according to the information relating to the size of the reference encoding unit, and obtains information relating to the division pattern of a first encoding unit, which is one of the multiple reference encoding units, from the bitstream. The decoding unit includes a decoding unit that determines a second coding unit by dividing the first coding unit based on the division form information of the first coding unit, determines one or more conversion blocks from the current coding unit if the current coding unit is not divided into smaller coding units from the second coding unit, and decodes the current coding unit by performing an inverse conversion using the one or more conversion blocks. When three second coding units are generated by vertically dividing the first coding unit according to the division pattern information, the division pattern of the central second coding unit among the three second coding units may correspond to the division pattern of the first coding unit according to the division pattern information. The division configuration 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 the division depth of the second coding unit is 1 greater than the division depth of the first coding unit.
3. In methods of encoding video, A step of generating information relating to the size of the maximum coding unit and information relating to the size of the reference coding unit, The steps include dividing the video according to the size of the maximum encoding unit to determine a plurality of maximum encoding units, The steps include determining multiple reference coding units by dividing the width and height of the current largest coding unit among the multiple largest coding units according to the size of the reference coding unit, The steps include: dividing one of the plurality of reference coding units, which is a first coding unit, horizontally or vertically, and dividing the first coding unit into two or three second coding units to generate a second coding unit from the first coding unit; When the current coding unit is not divided into smaller coding units from the second coding unit, the step of determining one or more transformation blocks from the current coding unit and encoding the current coding unit by performing a transformation using the one or more transformation blocks, The process includes the step of generating a bitstream that includes information on the division pattern of the first coding unit to indicate 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, the division pattern of the central second coding unit among the three second coding units may correspond to the division pattern of the first coding unit according to the division pattern information. A video encoding method characterized in that the division depth of the second encoding unit is 1 greater than the division depth of the first encoding unit.
4. In a method for transmitting a bitstream generated by encoding video, A step of generating information relating to the size of the maximum coding unit and information relating to the size of the reference coding unit, The steps include dividing the video according to the size of the aforementioned maximum encoding unit to determine multiple maximum encoding units, The steps include determining multiple reference coding units by dividing the width and height of the current largest coding unit among the multiple largest coding units according to the size of the reference coding unit, The steps include: dividing a first coding unit, which is one of the multiple reference coding units, horizontally or vertically, and dividing the first coding unit into two or three second coding units to generate a second coding unit from the first coding unit; determining one or more transformation blocks from the current coding unit if the current coding unit cannot be further divided into smaller coding units from the second coding unit, and encoding the current coding unit by performing a transformation using the one or more transformation blocks; A step of generating information on the division form of the first coding unit to indicate 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 process includes the step of outputting the bitstream which includes information relating to the size of the maximum coding unit, information relating to the size of the reference coding unit, and information relating to the division form of the first coding unit, When three second coding units are generated by vertically dividing the first coding unit, the division pattern of the central second coding unit among the three second coding units may correspond to the division pattern of the first coding unit according to the division pattern information. A method characterized in that the division depth of the second coding unit is 1 greater than the division 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