[go: up one dir, main page]

WO2025225965A1 - Video encoding method and apparatus based on adaptive transform mode, and video decoding method and apparatus - Google Patents

Video encoding method and apparatus based on adaptive transform mode, and video decoding method and apparatus

Info

Publication number
WO2025225965A1
WO2025225965A1 PCT/KR2025/005214 KR2025005214W WO2025225965A1 WO 2025225965 A1 WO2025225965 A1 WO 2025225965A1 KR 2025005214 W KR2025005214 W KR 2025005214W WO 2025225965 A1 WO2025225965 A1 WO 2025225965A1
Authority
WO
WIPO (PCT)
Prior art keywords
current block
transformation
mode
information
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
PCT/KR2025/005214
Other languages
French (fr)
Korean (ko)
Inventor
졜기호
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intellectual Discovery Co Ltd
Original Assignee
Intellectual Discovery Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intellectual Discovery Co Ltd filed Critical Intellectual Discovery Co Ltd
Publication of WO2025225965A1 publication Critical patent/WO2025225965A1/en
Pending legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • the present disclosure relates to the field of video encoding and decoding. More specifically, the present disclosure relates to a transform coding method and device that performs transform coding using a plurality of transform modes with variously set sizes and shapes of transform blocks, and efficiently signals transform mode information used in transform coding.
  • codecs include High Efficiency Video Coding (HEVC) and Versatile Video Coding (VVC).
  • HEVC High Efficiency Video Coding
  • VVC Versatile Video Coding
  • Video coding standards utilize transform coding techniques to improve compression performance.
  • Transform coding is a compression technique that transforms residual values in the pixel domain into the frequency domain and uses them as the target of coding.
  • Existing video coding standards utilize discrete cosine transforms (DCTs) and discrete sine transforms (DSTs) to convert these values into frequency values.
  • DCTs discrete cosine transforms
  • DSTs discrete sine transforms
  • the transform is set in units of TU (Transform Unit) and the conversion is performed.
  • TU Transform Unit
  • the block size corresponding to the CU is divided into Quad-tree method through the RQT process, and then the conversion process is performed for each divided size.
  • a 32x32 CU is divided into blocks such as 32x32, 16x16, 8x8, and 4x4 and the conversion is performed.
  • the HEVC/H.265 standard enables a conversion process that considers the characteristics of the residual through the RQT process, but has the disadvantage of not being able to create an optimized split size because all splits are centered around Quad-tree splits.
  • transformation is basically performed in a block size equal to the CU size, except in special cases. Since the CU block size can be determined as a non-square block, the transformation block size can also be rectangular rather than square, enabling transformation that reflects the characteristics of the residual. While the VVC/H.266 standard supports adaptive partitioning block sizes for transform, there is a possibility that the optimized transformation process may not be performed if the CU block size and the residual distribution are different.
  • the present disclosure provides a video decoding method and device, and a video encoding method and device that perform transform coding using a plurality of transform modes in which the sizes and shapes of transform blocks are set in various ways.
  • Embodiments of the present disclosure disclose multiple transformation modes with various sizes and shapes of transformation blocks.
  • embodiments of the present disclosure disclose a video encoding method and apparatus for transmitting conversion mode information regarding various conversion modes through a bitstream.
  • embodiments of the present disclosure disclose a video decoding method and apparatus for determining a transform block based on transform mode information regarding various transform modes received through a bitstream.
  • encoding and decoding of a video are performed using a plurality of transformation modes in which the sizes and shapes of transformation blocks are set in various ways, thereby providing a more flexible transformation block partitioning structure according to image characteristics, and improving the compression efficiency of the image.
  • FIG. 1 is a block diagram illustrating an encoding device according to an embodiment of the present invention.
  • FIG. 2 is a block diagram illustrating a decryption device according to an embodiment of the present disclosure.
  • FIG. 3A is a diagram illustrating an example of a block partitioning structure according to one embodiment of the present disclosure.
  • FIG. 3b is a diagram illustrating an example of a multi-type tree structure according to one embodiment of the present disclosure.
  • FIG. 4 is a diagram illustrating an example of a block partitioning tree structure according to one embodiment of the present disclosure.
  • FIG. 5 is a diagram illustrating an example of candidate transformation modes available for a transformation process of a current block (CU or sub-block) according to one embodiment of the present disclosure.
  • FIG. 6 is a flowchart of a video encoding method according to one embodiment of the present disclosure.
  • FIG. 7 is a flow chart of a video decoding method according to one embodiment of the present disclosure.
  • FIG. 8a is a flow chart showing an example of a process in which a video encoder (100) adaptively configures conversion mode information.
  • FIG. 8b is a flow chart showing an example of a process in which a video decoder (200) adaptively determines conversion mode information.
  • FIG. 8c is a flow chart showing another example of a process in which a video encoder (100) adaptively configures conversion mode information.
  • FIG. 8d is a flow chart showing another example of a process in which a video decoder (200) adaptively determines conversion mode information.
  • FIG. 9a is a flow chart showing another example of a process in which a video encoder (100) adaptively configures conversion mode information.
  • FIG. 9b is a flow chart showing another example of a process in which a video decoder (200) adaptively determines conversion mode information.
  • FIG. 9c is a flow chart showing another example of a process in which a video encoder (100) adaptively configures conversion mode information.
  • FIG. 9d is a flow chart showing another example of a process in which a video decoder (200) adaptively determines conversion mode information.
  • FIG. 10a is a flow chart showing another example of a process in which a video encoder (100) adaptively configures conversion mode information.
  • FIG. 10b is a flow chart showing another example of a process in which a video decoder (200) adaptively determines conversion mode information.
  • FIG. 10c is a flow chart showing another example of a process in which a video encoder (100) adaptively configures conversion mode information.
  • FIG. 10d is a flow chart showing another example of a process in which a video decoder (200) adaptively determines conversion mode information.
  • FIG. 11a is a flow chart showing another example of a process in which a video encoder (100) adaptively configures conversion mode information.
  • Figure 11b is a flow chart showing another example of a process in which a video decoder (200) adaptively determines conversion mode information.
  • FIG. 11c is a flow chart showing another example of a process in which a video encoder (100) adaptively configures conversion mode information.
  • FIG. 11d is a flow chart showing another example of a process in which a video decoder (200) adaptively determines conversion mode information.
  • FIG. 12a is a flow chart showing another example of a process in which a video encoder (100) adaptively configures conversion mode information.
  • Figure 12b is a flow chart showing another example of a process in which a video decoder (200) adaptively determines conversion mode information.
  • FIG. 12c is a flow chart showing another example of a process in which a video encoder (100) adaptively configures conversion mode information.
  • FIG. 12d is a flow chart showing another example of a process in which a video decoder (200) adaptively determines conversion mode information.
  • a video decoding method includes the steps of: determining at least one candidate transformation mode available for transformation of a current block from among a plurality of candidate transformation modes; determining a transformation mode applied to transformation of the current block from among the at least one candidate transformation mode; determining a transformation block used for inverse transformation of the current block based on the determined transformation mode; and performing inverse transformation on the current block in units of the transformation blocks.
  • the plurality of candidate transformation modes include a transformation mode that uses a transformation block of the same size as the current block, and a transformation mode that uses a transformation block obtained by dividing the current block in at least one of a horizontal direction and a vertical direction at a predetermined ratio.
  • the plurality of candidate transformation modes include a transformation mode that uses a transformation block obtained by dividing the current block into two parts in a ratio of 1:A (A is a natural number) in at least one of a horizontal direction and a vertical direction, into three parts in a ratio of 1:1:B (B is a natural number), into three parts in a ratio of 1:C:1 (C is a natural number), into three parts in a ratio of D:1:1 (D is a natural number), or into four parts in a ratio of 1:1:1:1.
  • the plurality of candidate transformation modes include a first transformation mode using a transformation block having a width and height equal to the width and height of the current block, a second transformation mode using two transformation blocks having a size of width x height/2 by horizontally dividing the current block into two, a third transformation mode using four transformation blocks having a size of width x height/4 by horizontally dividing the current block into four, a fourth transformation mode using two transformation blocks having a size of width x height/4 and one transformation block having a size of width x height/2 by horizontally dividing the current block into three at a ratio of 1:2:1, a fifth transformation mode using two transformation blocks having a size of width x height/4 and one transformation block having a size of width x height/2 by horizontally dividing the current block into three at a ratio of 1:1:2, a fifth transformation mode using two transformation blocks having a size of width x height/4 and one transformation block having a size of width x height/2 by horizontally dividing the current block into three at a ratio of 2:1:1,
  • a sixth transformation mode
  • At least one candidate transform mode available for the inverse transform of the current block is determined for at least one unit among a sequence, a GOP, a picture, a slice, a CTU, a CU, and a TU unit, and the at least one candidate transform mode is determined based on at least one of current frame information, slice information, partitioning information of the current block, a size of the current block, a shape of the current block, prediction mode information of the current block, partitioning information of a parent block including the current block, a size of the parent block, a shape of the parent block, prediction mode information of the parent block, transform mode information of a neighboring block of the current block, a maximum value of a transform coefficient included in the current block, and a position of a last non-zero transform coefficient of the current block according to a predetermined scanning order.
  • At least one candidate transform mode available for inverse transformation of the current block is determined based on transform mode support information signaled for at least one unit among a sequence, a GOP, a picture, a slice, a CTU, a CU, and a TU unit.
  • At least one candidate transform mode available for the inverse transform of the current block is explicitly determined based on transform mode support information signaled for at least one unit among a sequence, a GOP, a picture, a slice, a CTU, a CU, and a TU unit, and a final candidate transform mode is determined based on additional information among candidate transform modes, wherein the additional information is at least one of current frame information, slice information, partitioning information of a current block, a size of a current block, a shape of a current block, prediction mode information of a current block, partitioning information of a parent block including the current block, a size of a parent block, a shape of a parent block, prediction mode information of a parent block, transform mode information of a neighboring block of the current block, a maximum value of a transform coefficient included in the current block, and a position of a last non-zero transform coefficient of the current block according to a predetermined scanning order.
  • the transform mode applied to the inverse transform of the current block is determined from among the at least one candidate transform mode based on at least one of current frame information, slice information, partitioning information of the current block, the size of the current block, the shape of the current block, prediction mode information of the current block, partitioning information of a parent block including the current block, the size of the parent block, the shape of the parent block, prediction mode information of the parent block, transform mode information of a neighboring block of the current block, the maximum value of a transform coefficient included in the current block, and the position of the last non-zero transform coefficient of the current block according to a predetermined scanning order.
  • the transformation mode applied to the inverse transformation of the current block is determined from among at least one candidate transformation mode determined based on transformation mode information signaled for each unit among a sequence, a GOP, a picture, a slice, a CTU, a CU, and a TU unit.
  • the step of determining a transformation mode applied to the inverse transformation of the current block includes the steps of: determining vertical divisibility and horizontal divisibility of the current block; identifying semantics of transformation mode information in a bitstream based on the vertical divisibility and horizontal divisibility of the current block; and determining the transformation mode of the current block based on the transformation mode information.
  • the transformation mode information when the current block is divisible in both the vertical direction and the horizontal direction, is index information indicating one of the candidate transformation modes, and when the current block is divisible in only one of the vertical direction and the horizontal direction, the transformation mode information includes i) information indicating a division direction of the current block among the vertical direction and the horizontal direction, and ii) information indicating whether to divide according to the division direction, and when the current block is not divisible in either the vertical direction or the horizontal direction, the transformation mode information is not included in the bitstream, and the transformation block of the current block is determined to have the same size and shape as the current block.
  • the transformation mode information when the current block is divisible in both the vertical direction and the horizontal direction, is index information indicating one of the candidate transformation modes, and when the current block is divisible in only one of the vertical direction and the horizontal direction, the transformation mode information includes i) information indicating a division direction of the current block among the vertical direction and the horizontal direction, and ii) information indicating one transformation mode among a plurality of transformation modes applicable according to the divisible direction, and when the current block is not divisible in either the vertical direction or the horizontal direction, the transformation mode information is not included in the bitstream, and the transformation block of the current block is determined to have the same size and shape as the current block.
  • the step of determining a transformation mode applied to the inverse transformation of the current block includes: determining vertical divisibility and horizontal divisibility of the current block; if the current block is arbitrarily incapable of both vertical divisibility and horizontal divisibility based on the determined vertical divisibility and horizontal divisibility and transformation mode information obtained from a bitstream indicates that the current block is not to be divided, determining a transformation mode that does not divide the current block while using a transformation block having the same size and shape as the current block as the transformation mode of the current block; obtaining information indicating one of candidate prediction modes in which the current block is arbitrarily divisible in one of the vertical divisibility and horizontal divisibility directions and is divided in one of the vertical divisibility and horizontal divisibility directions from the transformation mode information obtained from the bitstream; and determining the transformation mode of the current block based on the information indicating one of the candidate prediction modes.
  • the step of determining a transformation mode applied to the inverse transformation of the current block includes: determining a vertical divisibility and a horizontal divisibility of the current block and a number of possible divisibility times of the current block; if, based on the determined vertical divisibility and horizontal divisibility, the current block is arbitrarily incapable of both vertical divisibility and horizontal divisibility and transformation mode information acquired from a bitstream indicates that the current block is not divisible, determining a transformation mode that does not divide the current block while using a transformation block having the same size and shape as the current block as the transformation mode of the current block; if the current block is arbitrarily divisible in one of the vertical divisibility and the horizontal divisibility directions, obtaining information indicating one of the remaining candidate prediction modes, excluding a transformation mode that exceeds the number of possible divisibility times among candidate prediction modes that are divided in one of the vertical divisibility directions or the horizontal divisibility directions based on the number of possible divisibility times; and determining a transformation mode of the
  • the step of determining at least one candidate transformation mode available for inverse transformation of the current block limits the candidate transformation mode or does not perform segmentation for inverse transformation of the current block based on at least one of a result of comparing the size of the current block with the size of a predetermined data unit, the length of a smaller side among the width and height of the current block, the total number of pixels included in the current block, a result of comparing the size of the current block with the size of a processing unit, and whether the current block satisfies a predetermined boundary condition.
  • the method further comprises: determining a context model based on at least one of current frame information, slice information, partitioning information of a current block, a size of the current block, a shape of the current block, prediction mode information of the current block, partitioning information of a parent block including the current block, a size of the parent block, a shape of the parent block, prediction mode information of the parent block, transform mode information of a neighboring block of the current block, a maximum value of a transform coefficient included in the current block, and a position of a last non-zero transform coefficient of the current block according to a predetermined scanning order; and decoding transform mode information included in the bitstream based on the determined context model.
  • a video decoding device for performing the video decoding method and a computer-readable recording medium recording a program for executing the video decoding method are included.
  • a video encoding method comprises the steps of: determining at least one candidate transformation mode available for transformation of a current block from among a plurality of candidate transformation modes; determining a transformation mode applied to transformation of the current block from among the at least one candidate transformation mode; determining a transformation block used for transformation of the current block based on the determined transformation mode; and performing transformation on the current block in units of the transformation blocks.
  • a video encoding device for performing the video encoding method and a computer-readable recording medium recording a program for executing the video encoding method are included.
  • the preferred embodiments of the present invention implemented below omit, as much as possible, the system functional components that are already provided in each system functional configuration or are commonly provided in the technical field to which the present invention belongs, and focus on explaining the functional components that must be additionally provided for the present invention.
  • a device that encodes an image to generate a video signal bitstream is referred to as an encoding device, an encoding device, or an encoder
  • a device that decodes the video signal bitstream to restore an image is referred to as a decoding device, a decoding device, or a decoder.
  • a pixel or pel is the smallest unit that constitutes an image, and the terms pixel and sample can be used interchangeably.
  • a sample can generally represent a pixel or a pixel value, or it can represent only a pixel or pixel value of the luminance component, or only a pixel or pixel value of the chroma component.
  • the unit is used to refer to a basic unit of image processing or a specific location of a picture, and represents an image area including at least one of a luminance component and a chrominance component.
  • the unit can be used as a concept including a coding tree unit (CTU), a coding unit (CU), a prediction unit (PU), and a transform unit (TU).
  • a block represents an image area including a specific component among luminance components and chrominance components
  • an MxN block can represent a set of samples or transform coefficients consisting of M columns and N rows.
  • the terms unit, block, partition, signal, and area may be used interchangeably.
  • a picture refers to a field or a frame, and these can be used interchangeably.
  • the image is an interlaced image
  • one frame is divided into an odd (or odd, top) field and an even (or even, bottom) field, and each field is composed of a single picture unit, which can be encoded or decoded.
  • the image is a progressive image
  • one frame can be composed as a picture, which can be encoded or decoded.
  • FIG. 1 is a block diagram illustrating an encoding device according to an embodiment of the present invention, and is intended to explain the configuration and operation of a video encoder for encoding an image.
  • a video encoder (100) may be configured to include a transformation unit (110), a quantization unit (120), an inverse quantization unit (130), an inverse transformation unit (140), a filtering unit (150), a prediction unit (160), a DPB (Decoded Picture Buffer, 170), and an entropy coding unit (180).
  • the conversion unit (110) converts the residual signal, which is the difference between the input video signal and the prediction signal generated by the prediction unit (160), to obtain a conversion coefficient value.
  • the Discrete Cosine Transform (DCT), the Discrete Sine Transform (DST), or the Wavelet Transform can be used.
  • DCT Discrete Cosine Transform
  • DST Discrete Sine Transform
  • Wavelet Transform can be used.
  • the transform kernel used for transforming the residual block may be a transform kernel having separable vertical and horizontal transform properties.
  • the transform for the residual block may be performed separately as vertical and horizontal transforms.
  • the encoder may perform a vertical transform by applying the transform kernel in the vertical direction of the residual block.
  • the encoder may perform a horizontal transform by applying the transform kernel in the horizontal direction of the residual block.
  • the transform kernel may be used as a term referring to a set of parameters used for transforming the residual signal, such as a transform matrix, a transform array, a transform function, or a transform, and may be any one of a plurality of available kernels, and transform kernels based on different transform types may be used for each of the vertical transform and the horizontal transform.
  • the transformation coefficients may be distributed such that higher coefficients are distributed toward the upper left corner of the block, and coefficients closer to '0' are distributed toward the lower right corner of the block. Furthermore, as the current block size increases, there is a possibility that many '0' coefficients exist in the lower right area. To reduce the transformation complexity of large blocks, only the upper left area can be left, and the remaining areas can be reset to '0'.
  • error signals may exist only in some regions of a coding block, in which case the conversion process may be performed only on some arbitrary regions. For example, in a block of size 2Nx2N, error signals may exist only in the first 2NxN block, in which case the conversion process may be performed only on the first 2NxN block, but the conversion process may not be performed on the second 2NxN block and may not be encoded or decoded.
  • the encoder may perform additional transformations before the transform coefficients are quantized.
  • the transformation method described above may be referred to as a primary transform, and the additional transformation may be referred to as a secondary transform.
  • the secondary transform can be optional for each residual block.
  • the encoder can improve coding efficiency by performing the secondary transform in areas where it is difficult to focus energy in the low-frequency region using the primary transform alone.
  • a secondary transformation may be additionally performed on blocks in which residual values appear significantly in directions other than the horizontal or vertical direction of the residual block, and the secondary transformation may not be performed separately into vertical transformation and horizontal transformation, unlike the primary transformation.
  • Such a secondary transformation may be referred to as a low frequency non-separable transform (LFNST).
  • the quantization unit (120) quantizes the transformation coefficient value output from the transformation unit (110).
  • a method is used in which, instead of coding the picture signal as is, a picture is predicted using an already coded area through a prediction unit (160), and a restored picture is obtained by adding a residual value between the original picture and the predicted picture to the predicted picture.
  • the encoder can perform a process of reconstructing the current encoded block.
  • the inverse quantization unit (130) inversely quantizes the transform coefficient values, and the inverse transformation unit (140) restores the residual values using the inverse quantized transform coefficient values.
  • the filtering unit (150) performs filtering operations using a deblocking filter, a sample adaptive offset (SAO), an adaptive loop filter (ALF), etc. to improve the quality of the restored picture and enhance encoding efficiency.
  • a deblocking filter a sample adaptive offset (SAO), an adaptive loop filter (ALF), etc.
  • SAO sample adaptive offset
  • ALF adaptive loop filter
  • a deblocking filter is a filter for removing distortion within a block generated at the boundary between blocks in a restored picture.
  • the encoder can determine whether to apply a deblocking filter to a boundary based on the distribution of pixels included in several columns or rows based on an arbitrary boundary within a block.
  • the filtering unit (150) can apply a long filter, a strong filter, or a weak filter depending on the deblocking filtering strength, and can process horizontal filtering and vertical filtering in parallel.
  • Sample Adaptive Offset can be used to correct the offset from the original image on a pixel-by-pixel basis for a residual block to which a deblocking filter is applied.
  • the filtering unit (150) can use a method (Band Offset) that divides the pixels included in the image into a certain number of regions, determines the regions to perform offset correction, and applies the offset to the regions.
  • the filtering unit (150) can use a method (Edge Offset) that applies the offset by considering the edge information of each pixel.
  • Adaptive Loop Filtering is a method that divides pixels in an image into predetermined groups, determines a filter to be applied to each group, and performs differential filtering for each group.
  • Information regarding whether to apply an adaptive loop filter can be signaled on a coding unit basis, and the shape and filter coefficients of the ALF filter to be applied can vary depending on the block. Furthermore, the same adaptive loop filter can be applied regardless of the characteristics of the target block.
  • the filtered picture can be stored in DPB (170) to be used as a reference picture.
  • the prediction unit (160) includes an intra/IBC prediction unit (161) and an inter prediction unit (165).
  • the intra/IBC prediction unit (161) performs intra prediction and IBC prediction within the current picture
  • the inter prediction unit (165) performs inter prediction to predict the current picture using a reference picture stored in the DPB (170).
  • the intra/IBC prediction unit (161) performs intra prediction from restored areas within the current picture and transmits intra encoding information to the entropy coding unit (180).
  • the intra encoding information may include at least one of an intra prediction mode, an MPM (Most Probable Mode) flag, an MPM index, and information about a reference sample.
  • the intra/IBC prediction unit (161) can perform IBC (Intra BLock Copy) prediction from restored samples within the current picture and transmit IBC encoding information to the entropy coding unit (180).
  • IBC Intra BLock Copy
  • the intra/IBC prediction unit (161) obtains a block vector value indicating a reference area used for prediction of the current area by referring to a specific area within the current picture, and can perform IBC prediction using the obtained block vector value.
  • the intra/IBC prediction unit (161) can transmit IBC encoding information including at least one of the size information of the reference area and block vector information (index information for block vector prediction of the current block within the motion candidate list, block vector difference information) to the entropy coding unit (160).
  • the inter prediction unit (165) refers to a specific area of the restored reference picture to find the part most similar to the current area, obtains a motion vector value which is the distance between the areas, and transmits motion information (reference direction indication information (L0 prediction, L1 prediction, bidirectional prediction), reference picture index, motion vector information, etc.) for the obtained reference area to the entropy coding unit (180).
  • motion information reference direction indication information (L0 prediction, L1 prediction, bidirectional prediction), reference picture index, motion vector information, etc.) for the obtained reference area to the entropy coding unit (180).
  • the inter prediction unit (165) performs motion compensation using motion information to generate a prediction block for the current block, and transmits inter encoding information including motion information for the reference area to the entropy coding unit (180).
  • the quantized transform coefficients in the form of a two-dimensional array can be rearranged into a one-dimensional array for entropy coding.
  • the method of scanning the quantized transform coefficients can be determined according to the size of the transform block and the intra prediction mode, and diagonal, vertical, and horizontal scans can be applied, and the scan information can be signaled on a block-by-block basis or derived from the decoder according to a set rule.
  • the entropy coding unit (180) generates a bitstream by entropy coding information representing quantized transform coefficients, intra-coding information, and inter-coding information, and for this purpose, a variable length coding (VLC) method and an arithmetic coding method can be used.
  • VLC variable length coding
  • VLC Variable-length coding
  • variable length coding method a context-based adaptive variable length coding (CAVLC) method can be used.
  • CAVLC context-based adaptive variable length coding
  • Arithmetic coding converts consecutive data symbols into a single prime number using the probability distribution of each data symbol, thereby obtaining the optimal prime number bits required to express each symbol.
  • CABAC context-based adaptive binary arithmetic code
  • CABAC is a binary arithmetic encoding method that utilizes multiple context models generated based on experimentally derived probabilities.
  • the context models can also be referred to as context models.
  • the encoder binarizes each symbol using methods such as exp-Golomb.
  • the binarized 0s and 1s can be represented as bins.
  • Context initialization initializes the occurrence probability of each symbol, determined by the symbol type, quantization parameter (QP), and slice type (I, P, B).
  • QP quantization parameter
  • I, P, B slice type
  • the context model provides the probability of occurrence of the Least Probable Symbol (LPS) or Most Probable Symbol (MPS) for the symbol currently being coded, and information (valMPS) on which empty value between 0 and 1 corresponds to the MPS.
  • LPS Least Probable Symbol
  • MPS Most Probable Symbol
  • valMPS information on which empty value between 0 and 1 corresponds to the MPS.
  • One of several context models is selected through a context index (ctxIdx), and the context index can be derived through information of the block currently to be encoded or information of surrounding blocks.
  • Initialization for binary arithmetic coding is performed based on the probability model selected from the context model.
  • Binary arithmetic coding is performed by dividing the data into probability intervals based on the occurrence probabilities of 0 and 1, and then encoding the probability interval corresponding to the bin to be processed becomes the entire probability interval for the next bin to be processed.
  • the location information within the probability interval processed for the last bin is output.
  • a renormalization process is performed to expand the probability interval and output the corresponding location information.
  • a probability update process can be performed, which sets a new probability for the next bin to be processed based on the information from the processed bin.
  • NAL Network Abstraction Layer
  • VCL Video Coding Layer
  • non-VCL NAL units containing parameter information for decoding video data
  • various types of VCL or non-VCL NAL units may exist.
  • a NAL unit consists of NAL header information and data, a Raw Byte Sequence Payload (RBSP).
  • the NAL header information includes summary information about the RBSP.
  • the RBSP of a VCL NAL unit contains an integer number of encoded coding tree units.
  • the bitstream In order to decode a bitstream in a decoder, the bitstream must first be divided into NAL units, and then each divided NAL unit must be decoded. Meanwhile, the information required for decoding the bitstream can be transmitted as part of a picture parameter set (PPS), a sequence parameter set (SPS), a video parameter set (VPS), etc.
  • PPS picture parameter set
  • SPS sequence parameter set
  • VPS video parameter set
  • the configuration and operation of the encoder described with reference to FIG. 1 are according to one embodiment of the present invention, and some configurations may be omitted or added as needed.
  • FIG. 2 is a block diagram illustrating a decoding device according to one embodiment of the present disclosure, and is intended to explain the configuration and operation of a video decoder for decoding a video.
  • a video decoder (200) may be configured to include an entropy decoding unit (210), an inverse quantization unit (220), an inverse transformation unit (230), a filtering unit (240), a prediction unit (260), and a DPB (Decoded Picture Buffer, 270).
  • an entropy decoding unit (210) may be configured to include an entropy decoding unit (210), an inverse quantization unit (220), an inverse transformation unit (230), a filtering unit (240), a prediction unit (260), and a DPB (Decoded Picture Buffer, 270).
  • a DPB Decoded Picture Buffer
  • the entropy decoding unit (210) entropy decodes the bitstream to extract transform coefficient information, intra-coding information, inter-coding information, etc. for each region.
  • the entropy decoding unit (210) can obtain a binary code for transform coefficient information of a specific area from a bitstream, and can obtain a quantized transform coefficient by de-binarizing the binary code.
  • the inverse quantization unit (220) inversely quantizes the quantized transform coefficients, and the inverse transformation unit (230) restores the residual value using the inverse quantized transform coefficients.
  • the residual value obtained from the inverse transformation unit (230) is combined with the predicted value obtained from the prediction unit (260) to restore the original pixel value.
  • the filtering unit (240) performs a filtering operation using a deblocking filter, a sample adaptive offset, an adaptive loop filter, etc. to improve the image quality of the restored picture, and the filtered picture can be output or stored in the DPB (270) to be used as a reference picture for the next picture.
  • the prediction unit (260) includes an intra/IBC prediction unit (261) and an inter prediction unit (265), and generates a prediction picture by utilizing the encoding type decoded through the entropy decoding unit (210), the transform coefficient for each region, and the intra/inter encoding information.
  • the decoded region of the current picture or other pictures containing the current block can be used.
  • a picture (or tile/slice) that performs intra prediction or intra BC prediction using only the current picture for restoration is called an intra picture or I picture (or tile/slice), and a picture (or tile/slice) that can perform all of intra prediction, inter prediction, and intra BC prediction is called an inter picture (or tile/slice).
  • a picture (or tile/slice) that uses at most one motion vector and reference picture index to predict sample values of each block among inter-pictures (or tiles/slices) is called a predictive picture or P-picture (or tile/slice)
  • a picture (or tile/slice) that uses at most two motion vectors and reference picture indices is called a bi-predictive picture or B-picture (or tile/slice).
  • a P picture uses at most one motion information set to predict each block
  • a B picture uses at most two motion information sets to predict each block.
  • a motion information set may include one or more motion vectors and one reference picture index.
  • the intra/IBC prediction unit (261) generates a prediction block using intra encoding information and restored samples within the current picture, and the intra encoding information may include at least one of an intra prediction mode, an MPM (Most Probable Mode) flag, and an MPM index.
  • the intra/IBC prediction unit (261) can predict sample values of the current block using restored samples located on the left and/or upper side of the current block as reference samples.
  • the reference samples may be samples adjacent to the left boundary of the current block and/or samples adjacent to the upper boundary, and may be samples located on a line within a preset distance from the left boundary of the current block among samples of neighboring blocks of the current block and/or samples located on a line within a preset distance from the upper boundary of the current block.
  • the neighboring blocks of the current block may include at least one of a left (L) block, an upper (A) block, a below left (BL) block, an above right (AR) block, or an above left (AL) block adjacent to the current block.
  • the intra/IBC prediction unit (261) can restore the current region by referring to a specific region including restored samples within the current picture. To this end, the intra/IBC prediction unit (261) can perform IBC prediction using IBC encoding information obtained from the entropy decoding unit (210), and the IBC encoding information can include block vector information.
  • the inter prediction unit (265) generates a prediction block using the reference picture and inter encoding information stored in the DPB (270), and the inter encoding information may include a set of motion information (reference picture index, motion vector information, etc.) of the current block for the reference block.
  • the inter encoding information may include a set of motion information (reference picture index, motion vector information, etc.) of the current block for the reference block.
  • inter prediction can include L0 prediction, L1 prediction, and bi-prediction.
  • L0 prediction refers to prediction using a single reference picture included in the L0 picture list
  • L1 prediction refers to prediction using a single reference picture included in the L1 picture list.
  • a set of motion information e.g., motion vector and reference picture index
  • two reference regions can be used. These two reference regions may exist in the same reference picture or in different pictures. Accordingly, in the two sets of motion information used in the biprediction method, two motion vectors may correspond to the same reference picture index or to different reference picture indices.
  • the reference pictures are pictures that are located temporally before or after the current picture, and may be completed pictures that have already been restored, and the two reference areas used in the pair prediction method may be areas selected from the L0 picture list and the L1 picture list, respectively.
  • the inter prediction unit (265) can obtain a reference block of the current block using a motion vector and a reference picture index, and the reference block exists in a reference picture corresponding to the reference picture index.
  • sample values of a block specified by a motion vector or their interpolated values can be used as a predictor of the current block.
  • an 8-tap interpolation filter can be used for the luminance signal
  • a 4-tap interpolation filter can be used for the chrominance signal.
  • the configuration and operation of the decoder described with reference to FIG. 2 are according to one embodiment of the present disclosure, and some configurations may be omitted or added as needed, and the decoder may decode an image by performing the reverse process of the encoding method of the encoder described above.
  • the block partitioning process according to the present disclosure may be performed in the aforementioned video encoder (100), and partitioning-related information may be encoded in the entropy coding unit (180) and transmitted to the video decoder (200) in the form of a bitstream.
  • the video encoder (100) may perform encoding procedures, such as prediction, transformation, block restoration, and filtering, based on the determined block partitioning structure.
  • the entropy decoding unit (210) of the video decoder (200) can parse a bitstream to obtain block partitioning-related information and determine a block partitioning structure based on the block partitioning-related information.
  • the video decoder (200) can perform a decoding procedure, such as prediction, inverse transformation, block restoration, and filtering, based on the determined block partitioning structure.
  • the block partitioning process according to the present disclosure can be implicitly performed based on various additional information related to the current block in the video encoder (100) and the video decoder (200).
  • the block partitioning process according to the present disclosure may be performed by encoding some information related to partitioning in an entropy coding unit (180) and transmitting it to a video decoder (200) in the form of a bitstream, and implicitly determining other information related to partitioning.
  • a video is a sequence of pictures, and each picture that makes up the video can be encoded by dividing it into sub-pictures, slices, tiles, etc.
  • a sub-picture can include one or more slices or tiles.
  • a slice can contain multiple tiles or subpictures, and a tile can contain multiple subpictures or slices.
  • Subpictures, slices, and tiles can be encoded or decoded independently of each other, which is effective for parallel processing and improved processing speed. However, since encoded information of adjacent subpictures, slices, and tiles cannot be used, the amount of bits may increase.
  • a coding tree unit can correspond to a coding tree block (CTB).
  • a coding tree unit can also be referred to as a super block (SB).
  • a CTU may include an encoding tree block of luma samples and two encoding tree blocks of corresponding chroma samples.
  • a CTU may include a luma block of luma samples and two corresponding blocks of chroma samples of a corresponding size smaller than or equal to the size of the luma block, depending on the color format.
  • the maximum allowable size of a CTU may be different from the maximum allowable size of a CTU for a transformation. For example, the maximum allowable size of a luma block within a CTU may be 128x128.
  • a CTU can be partitioned into coding units (CUs) based on a quad-tree (QT) structure.
  • a CTU can be partitioned based on a predetermined block partitioning tree structure.
  • each coding unit can have a square or rectangular shape.
  • a CTU can be first partitioned into a quad-tree structure. Thereafter, leaf nodes of the quad-tree structure can be further partitioned by a multi-type tree structure or a predetermined block partitioning tree structure.
  • a CTU can be partitioned based on a multi-type tree structure partitioning including not only a quad-tree but also a binary-tree (BT) and a ternary-tree (TT).
  • BT binary-tree
  • TT ternary-tree
  • FIG. 3A is a diagram illustrating an example of a block partitioning structure according to one embodiment of the present disclosure.
  • the video encoder (100) divides the picture into blocks of a predetermined size. These blocks of a predetermined size may be referred to as CTUs or SBs. Based on luma, the blocks of a predetermined size may be 64X64 or 128X128.
  • the video encoder (100) can partition the current block according to a partitioning structure as illustrated in FIG. 3A.
  • the video encoder (100) can use the current block as is without partitioning it (NONE), divide the current block horizontally into two (HORZ), divide the current block vertically into two (VERT), divide the current block into four equal-sized blocks (SPLIT), divide the current block horizontally asymmetrically (HORZ_A, HORZ_B), divide the current block vertically asymmetrically (VERT_A, VERT_B), divide the current block into four horizontally (HORZ_4), or divide the current block into four vertically (VERT_4).
  • the partitioning process according to the partitioning structure of Fig. 3a can be performed recursively. That is, one of the partitions divided according to the partitioning structure can be divided again according to the partitioning structure of Fig. 3a.
  • This recursive partitioning process can be limited according to the block size and the partitioning mode. That is, the recursive partitioning process can be performed only for blocks larger than a certain size, or the recursive partitioning process can be performed only for blocks divided according to a specific partitioning mode.
  • each partition divided into a quadtree structure (SPLIT) can be recursively divided according to one of the ten tree structures illustrated in Fig.
  • the partition determined according to one of the remaining nine tree structures can be determined as a final leaf node that is no longer divided into other partitions.
  • the leaf node that is no longer divided according to the block partitioning structure of Fig. 3a can be referred to as a CU or a sub-block (SB). These CUs can be used for prediction and transformation procedures.
  • Specific partitioning information may be signaled to indicate whether the current encoding unit is partitioned according to the block partitioning structure of FIG. 3A.
  • the specific partitioning information may include mode information indicating one of the block partitioning structures of FIG. 3A, a flag indicating whether the partitioning direction is horizontal/vertical, or a flag indicating the partitioning type.
  • FIG. 3b is a diagram illustrating an example of a multi-type tree structure according to one embodiment of the present disclosure.
  • the video encoder (100) divides the picture into blocks of a predetermined size.
  • the blocks (CTUs) of the predetermined size can be divided based on the multi-type tree structure illustrated in FIG. 3b.
  • the division process according to the multi-type tree structure of FIG. 3b can be performed recursively.
  • the multi-type tree structure may include six split types as illustrated in FIG. 3B.
  • the six split types may include using the current block as is without splitting it (NO SPLIT), splitting the current block into four equal-sized blocks (QUADTREE), vertical binary splitting (SPLIT_BT_VER), horizontal binary splitting (SPLIT_BT_HOR), vertical ternary splitting (SPLIT_TT_VER), and horizontal ternary splitting (SPLIT_TT_HOR).
  • vertical binary splitting may be referred to as vertical binary tree splitting
  • horizontal binary splitting may be referred to as horizontal binary tree splitting
  • vertical ternary splitting may be referred to as vertical 3-split tree splitting
  • horizontal ternary splitting may be referred to as horizontal 3-split tree splitting.
  • Leaf nodes of the multi-type tree structure may be referred to as CUs. These CUs can be used for prediction and transformation procedures.
  • Vertical binary tree partitioning and horizontal binary tree partitioning are methods of dividing the current encoding unit into two encoding units by dividing it in half horizontally or vertically, respectively. For example, if a 32x32 sized encoding unit is vertically partitioned into two encoding units according to vertical binary tree partitioning, the two partitioned encoding units can each have a size of 16x32.
  • Vertical 3-tree splitting and horizontal 3-tree splitting splitting split the current coding unit into three coding units by splitting the width or height in a ratio of 1:2:1, respectively.
  • the three split coding units may have sizes of 16x8, 16x16, and 16x8 from the top, respectively.
  • the three split coding units may have sizes of 8x32, 16x32, and 8x32 from the left, respectively.
  • Specified split information may be signaled to indicate whether the current encoding unit is split according to a multi-type tree structure.
  • Split information related to splitting of the multi-type tree structure may include a flag (mtt_split_cu_vertical_flag) indicating whether the splitting direction according to the multi-type tree structure is vertical and a flag (mtt_split_cu_binary_flag) indicating whether the splitting type is a binary split type or a ternary split type. If the value of mtt_split_cu_vertical_flag is 0, it may indicate that the splitting direction according to the multi-type tree structure of the current encoding unit is horizontal, and if it is 1, it may indicate that the splitting direction is vertical.
  • mtt_split_cu_binary_flag it may indicate that the splitting according to the multi-type tree structure of the current encoding unit is ternary, that is, split into three, and if it is 1, it may indicate that the splitting according to the multi-type tree structure is binary, that is, split into two.
  • the video encoder (100) encodes the bitstream by including the split information (mtt_split_cu_vertical_flag, mtt_split_cu_binary_flag) according to the multi-type tree structure, and the video decoder (200) can determine the multi-type tree structure of the encoding unit by parsing the split information (mtt_split_cu_vertical_flag, mtt_split_cu_binary_flag) included in the bitstream.
  • the split information mtt_split_cu_vertical_flag, mtt_split_cu_binary_flag
  • FIG. 4 is a diagram illustrating an example of a block partitioning tree structure according to one embodiment of the present disclosure.
  • a picture (400) is divided into coding tree units (CTUs), and a division structure is determined for each CTU.
  • Each CTU can be hierarchically divided into a plurality of lower coding units with depth information (cqtdepth) based on the tree structure.
  • the depth information (cqtdepth) is a variable indicating the depth divided from the CTU to the current coding unit, and the cqtDepth of the CTU is set to 0, and as the CTU is divided into quadtrees, the cqtdepth may increase by a predetermined value, for example, 1.
  • the cqtdepth of the divided coding unit may increase by a predetermined value, for example, 1, whenever the horizontal size and/or vertical size of the CU is reduced by half due to the division.
  • the split information can be 1-bit flag information. All CUs, except for coding units that are no longer split, can include split information. For example, if the value of the split information is the first value, the CU may not be split, and if the value of the split information is the second value, the CU may be split.
  • the split information can be a flag (split_qt_flag) indicating whether the current coding unit is split into coding units of a lower depth according to a quad-type tree structure.
  • split_qt_flag If the split information (split_qt_flag) is 0, it can indicate that the current coding unit is not split, and if the split information (split_qt_flag) is 1, it can indicate that the current coding unit is split into two horizontally and vertically according to the quad-type tree structure and split into four coding units of a lower depth.
  • split_qt_flag split information for the CTU (410) and the coding units included in the CTU (410) will be described. If the CTU (410) is no longer split into coding units of lower depths, the split information (split_qt_flag) of the CTU (410) is set to 0. In order to have a split structure as shown in FIG.
  • the information (split_qt_flag) is set to 1
  • the split information (split_qt_flag) of the remaining coding units (420a 420b, 420c) is set to 0, and since the four coding units (430a, 430b, 430c, 440d)
  • the following parameters may be included in one or more of the positions of the Sequence Parameter Set (SPS), the Picture Parameter Set (PPS), the Picture Header (PH), and the Slice Header (SH) in HLS (High-Level Syntax) and signaled from the video encoder (100) to the video decoder (200).
  • SPS Sequence Parameter Set
  • PPS Picture Parameter Set
  • PH Picture Header
  • SH Slice Header
  • CTU size which is a parameter indicating the size of the root node of the quadtree
  • MinQTSize which is a parameter indicating the minimum available size of the quadtree leaf node
  • MaxBTSize which is a parameter indicating the maximum available size of the binary tree root node
  • MaxTTSize which is a parameter indicating the maximum available size of the ternary tree root node
  • MaxMttDepth which is a parameter indicating the maximum allowed hierarchy depth of the multitype tree split from the quadtree leaf node
  • MinBtSize which is a parameter indicating the minimum available leaf node size of the binary tree
  • MinTtSize which is a parameter indicating the minimum available leaf node size of the ternary tree.
  • the CTU size can be set to a 128x128 luma block and two 64x64 chroma blocks corresponding to the luma block.
  • MinQTSize can be set to 16x16
  • MaxBtSize can be set to 128x1208
  • MaxTtSzie can be set to 64x64
  • MinBtSize and MinTtSize can be set to 4x4
  • MaxMttDepth can be set to 4.
  • Quadtree partitioning can be applied to the CTU to generate quadtree leaf nodes.
  • the quadtree leaf nodes can be called leaf QT nodes.
  • the quadtree leaf nodes can have sizes from 16x16 (e.g.
  • MinQTSize 128x128 (e.g. the CTU size).
  • 128x1208 it may not be further split into binary trees/ternary trees. This is because even if it is split, it exceeds MaxBtsize and MaxTtszie (i.e. 64x64).
  • a leaf QT node can be further split into a multitype tree. Therefore, a leaf QT node is a root node for a multitype tree, and a leaf QT node can have a multitype tree depth (mttDepth) of 0. If the multitype tree depth reaches MaxMttdepth (e.g., 4), no further splits may be considered.
  • MaxMttdepth e.g. 4
  • the encoder may omit signaling of the splitting information. In this case, the decoder may derive the splitting information as a predetermined value.
  • the block partitioning structure according to the present disclosure is not limited to that illustrated in FIGS. 3A and 3B and may be added or modified.
  • the block partitioning modes illustrated in FIGS. 3A and 3B may be combined, or the block partitioning structure may be determined by excluding some block partitioning modes.
  • the video encoder (100) can determine CUs, which are leaf nodes that are no longer divided, based on the block partitioning structure exemplified in FIGS. 3a and 3b, and perform prediction and transformation on a CU-by-CU basis.
  • CUs which are leaf nodes that are no longer divided
  • FIGS. 3a and 3b the block partitioning structure exemplified in FIGS. 3a and 3b
  • a transformation block which is a block unit in which transformation is performed on a CU-by-CU basis, will be described.
  • FIG. 5 is a diagram illustrating an example of candidate transformation modes available for a transformation process of a current block (CU or sub-block) according to one embodiment of the present disclosure.
  • the shape and size of a transformation block for adaptively applying transformation coding are determined in advance to determine whether to apply transformation in units of blocks, and the video encoder (100) and the video decoder (200) can perform the transformation process in units of the same blocks.
  • the transformation process performed in units of blocks in the video encoder (100) and the reverse transformation process which is the reverse process of the transformation process performed in units of blocks in the video decoder (200), may both be referred to as transformation processes.
  • Candidate transformation modes applicable to the transformation process of the current block may include a transformation mode that uses a transformation block of the same size as the current block, and a transformation mode that uses a transformation block obtained by dividing the current block at a predetermined ratio in at least one of the horizontal and vertical directions.
  • the plurality of candidate transformation modes may include a transformation mode that utilizes a transformation block obtained by dividing the current block into two parts in a ratio of 1:A (where A is a natural number) in at least one of the horizontal and vertical directions, into three parts in a ratio of 1:1:B (where B is a natural number), into three parts in a ratio of 1:C:1 (where C is a natural number), into three parts in a ratio of D:1:1 (where D is a natural number), or into four parts in a ratio of 1:1:1:1.
  • A is a natural number
  • the plurality of candidate transformation modes may include a transformation mode that utilizes a transformation block obtained by dividing the current block into two parts in a ratio of 1:A (where A is a natural number) in at least one of the horizontal and vertical directions, into three parts in a ratio of 1:1:B (where B is a natural number), into three parts in a ratio of 1:C:1 (where C is a natural number), into three parts in a ratio of
  • the plurality of candidate transformation modes include a first transformation mode (501) that uses a transformation block having the same width and height as the width and height of the current block, a second transformation mode (502) that uses two transformation blocks having a size of width x height/2 that divide the current block into two horizontally, a third transformation mode (503) that uses four transformation blocks having a size of width x height/4 that divide the current block into four horizontally, a fourth transformation mode (504) that divides the current block into three horizontally at a ratio of 1:2:1 and uses two transformation blocks having a size of width x height/4 and one transformation block having a size of width x height/2, a fifth transformation mode (505) that divides the current block into three horizontally at a ratio of 1:1:2 and uses two transformation blocks having a size of width x height/4 and one transformation block having a size of width x height/2, and a fifth transformation mode (506) that divides the current block into three horizontally at a ratio of 1:1:2 and uses A
  • a tenth transformation mode (510) using a transformation block having a size of height an eleventh transformation mode (511) using two transformation blocks having a size of width/4 x height which divide the current block into three parts in a ratio of 1:1:2 in the vertical direction and one transformation block having a size of width/2 x height, a twelfth transformation mode (512) using two transformation blocks having a size of width/4 x height which divide the current block into three parts in a ratio of 2:1:1 in the vertical direction and one transformation block having a size of width/2 x height, a thirteenth transformation mode (513) using two transformation blocks having a size of width x height/4 which divide the current block into three parts in a ratio of 1:2:1 in the vertical direction and two transformation blocks having a size of width/2 x height/2 which divide the width x height/2 block into two parts in the vertical direction again, and a thirteenth transformation mode (514) using four transformation blocks having a size of width/2 x height/2 which divide the current block into two parts in the horizontal and vertical directions.
  • the candidate transformation modes applicable to the transformation process of the current block may be adaptively configured by selecting only some or all of the first transformation mode to the fourteenth transformation mode illustrated in FIG. 5. Furthermore, the candidate transformation modes are not limited to those illustrated in FIG. 5, and transformation modes that divide the current block into different shapes and sizes may be included.
  • various transformation processes such as DCT and DST, can be performed on a partitioned block basis.
  • a transformation skip in which a transformation process is not applied to each partitioned block basis, may be applied depending on each candidate transformation mode.
  • a candidate transformation mode may be derived in units of sequence, GOP, Picture, Slice, Tile, CTU, CU, and TU.
  • at least one candidate transformation mode may be implicitly determined based on at least one piece of information (hereinafter, referred to as β€œadditional information”) from among current frame information, slice information, partitioning information of a current block, a size of a current block, a shape of a current block, prediction mode information of a parent block including the current block, a size of a parent block, a shape of a parent block, prediction mode information of a parent block, transformation mode information of a neighboring block of the current block, a maximum value of a transformation coefficient included in the current block, and a position of the last non-zero transformation coefficient of the current block according to a predetermined scanning order.
  • At least one of the 14 candidate transformation modes may be derived to configure the candidate transformation mode of the current transformation block.
  • the video encoder (100) and the video decoder (200) may derive candidate transformation modes applicable to the current block based on the additional information in the same manner.
  • the candidate transformation mode according to one embodiment of the present disclosure can be arbitrarily set in units of sequence, GOP, Picture, Slice, Tile, CTU, CU, and TU.
  • the video encoder (100) and the video decoder (200) can arbitrarily determine a candidate transformation mode applicable to the current block and perform transformation processing on the current block using the determined candidate transformation mode.
  • the video encoder (100) and the video decoder (200) can set the candidate transformation modes applicable to the current block to be identical in advance and perform transformation processing on the current block using the candidate transformation mode set in advance.
  • the current block belonging to an I-frame or an I-slice may be configured with all of the 14 candidate transformation modes exemplified in FIG. 5 as candidate transformation modes applicable to the current block, and the current block belonging to a P/B frame or a P/B slice may be configured with only some of the 14 candidate transformation modes exemplified in FIG. 5 as candidate transformation modes applicable to the current block.
  • the current block belonging to an I-frame (I-slice) may be configured with candidate transformation modes including the 14 candidate transformation modes of FIG.
  • the current block belonging to a P/B-frame may be configured with transformation modes 1, 2, 3, 4, 8, 9, 10, and 14 (501, 502, 503, 504, 508, 509, 510, and 514) as candidate transformation modes.
  • transformation modes 1, 2, 3, 4, 8, 9, 10, and 14 501, 502, 503, 504, 508, 509, 510, and 514.
  • the transformation modes included in the candidate transformation modes applicable to the current block may be changed based on frame or slice type information.
  • candidate transformation modes applicable to the current block may be adaptively configured based on prediction mode information of the current block.
  • the intra-predicted current block may be configured with transformation modes 1, 2, 3, 8, 9, and 14 (501, 502, 503, 508, 509, and 514) among the 14 candidate transformation modes of FIG. 5, and the inter-predicted current block may be configured with transformation modes 1, 2, 3, 4, 8, 9, 10, and 14 (501, 502, 503, 504, 508, 509, 510, and 514) as candidate transformation modes.
  • the present invention is not limited thereto, and the transformation modes included in the candidate transformation modes applicable to the current block may be changed based on the prediction mode.
  • only some of the 14 candidate transformation modes illustrated in FIG. 5 may be configured as candidate transformation modes applicable to the current block, and if the size of the current block is less than or equal to the predetermined size, only some of the 14 candidate transformation modes illustrated in FIG. 5 may be configured as candidate transformation modes applicable to the current block.
  • transformation modes 1, 2, 3, 4, 8, 9, 10, and 14 may be configured as candidate transformation modes, and if the current block is less than or equal to 32x32 (both the width and the height are less than or equal to 32), all 14 modes may be set to be supported.
  • the candidate transformation modes applicable to the current block may be adaptively configured based on the result of comparing the maximum or minimum of the width and height of the current block with a predetermined threshold length instead of the size of the current block.
  • candidate transformation modes applicable to the current block may be adaptively configured based on the shape of the current block. For example, if the width of the current block is greater than the height by a predetermined factor or more, a transformation block type that is vertically divided is likely to be selected. In this way, if the length of one side of the width and the height of the current block is greater than the length of the other side by a predetermined factor or more, a transformation mode that supports a more suitable form of transformation block among horizontal division or vertical division may be included in the candidate transformation modes.
  • all candidate transformations may be configured to include a transformation mode that supports a transformation block that vertically divides the current block when the width of the current block is greater than the height by a predetermined factor or more
  • all candidate transformations may be configured to include a transformation mode that supports a transformation block that horizontally divides the current block when the height of the current block is greater than the width by a predetermined factor or more.
  • candidate transformation modes are configured around candidate transformation modes suitable for vertical division, so that transformation modes 1, 8, 9, 10, 11, 12, 13, and 14 (501, 508, 509, 510, 511, 512, 513, and 514) are configured as candidate transformation modes applicable to the current block
  • candidate transformation modes are configured around candidate transformation modes suitable for horizontal division, so that transformation modes 1, 2, 3, 4, 5, 6, 7, and 14 (501, 502, 503, 504, 505, 506, 507, and 514) are configured as candidate transformation modes applicable to the current block.
  • Conversion modes 1 and 14 (501, 514) may be included as default conversion modes in the candidate conversion modes. However, the conversion modes included in the candidate conversion modes applicable to the current block may be changed based on the width and height of the current block.
  • a candidate transformation mode applicable to the current block may be determined based on the segmentation information of the parent block to which the current block belongs. As illustrated in FIGS. 3A and 3B described above, a candidate transformation mode applicable to the current block may be determined based on the segmentation information of the parent block of a higher depth to which the current block belongs, which is a CU that is no longer segmented.
  • the candidate transformation modes are configured around candidate transformation modes suitable for vertical division, so that transformation modes 1, 8, 9, 10, 11, 12, 13, and 14 (501, 508, 509, 510, 511, 512, 513, and 514) are configured as candidate transformation modes applicable to the current block
  • the candidate transformation modes are configured around candidate transformation modes suitable for horizontal division, so that transformation modes 1, 2, 3, 4, 5, 6, 7, and 14 (501, 502, 503, 504, 505, 506, 507, and 514) are configured as candidate transformation modes applicable to the current block.
  • the transformation mode included in the candidate transformation modes applicable to the current block may be changed based on the partitioning information of the parent block to which the current block belongs.
  • a candidate transformation mode applicable to the current block may be determined based on transformation mode information applied to neighboring blocks of the current block.
  • the candidate transformation mode may be determined based on transformation mode information of at least one neighboring block among neighboring blocks located to the left, above, upper right, and lower left of the current block.
  • candidate transformation modes are configured mainly with modes suitable for vertical division, so that transformation modes 1, 8, 9, 10, 11, 12, 13, and 14 (501, 508, 509, 510, 511, 512, 513, and 514) are configured as candidate transformation modes applicable to the current block
  • candidate transformation modes are configured mainly with modes suitable for horizontal division, so that transformation modes 1, 2, 3, 4, 5, 6, 7, and 14 (501, 502, 503, 504, 505, 506, 507, and 514) are configured as candidate transformation modes applicable to the current block.
  • the transformation mode included in the candidate transformation modes applicable to the current block may be changed based on the transformation mode information applied to the surrounding blocks of the current block.
  • At least one candidate transformation mode available for inverse transformation of a current block can be explicitly determined based on transformation mode support information signaled for at least one unit among a sequence, a GOP, a picture, a slice, a CTU, a CU, and a TU unit.
  • the video encoder (100) includes transformation mode support information for at least one unit among a sequence parameter set (SPS), a picture parameter set (PPS), an adaptive parameter set (APS), a slice header, a CTU, a CU, and a TU syntax and transmits the transformation mode support information for at least one unit among a sequence, a GOP, a picture, a slice, a CTU, a CU, and a TU unit, and the video decoder (200) can determine a candidate transformation mode supported for each unit from the corresponding transformation mode support information.
  • SPS sequence parameter set
  • PPS picture parameter set
  • APS adaptive parameter set
  • the video encoder (100) includes transformation mode support information in an SPS, and the video decoder (200) can determine a candidate transformation mode supported for each sequence unit from the corresponding transformation mode support information.
  • the video encoder (100) when adaptively setting the transformation mode in block units such as slices, CTUs, CUs, and TUs, the video encoder (100) includes transformation mode support information in the SPS, and the video decoder (200) can determine a candidate transformation mode supported for each block unit such as slices, CTUs, CUs, and TUs from the transformation mode support information.
  • At least one candidate transformation mode may be explicitly configured based on additional information, such as at least one of current frame information, slice information, partitioning information of the current block, the size of the current block, the shape of the current block, prediction mode information of the current block, partitioning information of a parent block including the current block, the size of the parent block, the shape of the parent block, prediction mode information of the parent block, transformation mode information of a neighboring block of the current block, the maximum value of a transformation coefficient included in the current block, and the position of the last non-zero transformation coefficient of the current block according to a predetermined scanning order.
  • additional information such as at least one of current frame information, slice information, partitioning information of the current block, the size of the current block, the shape of the current block, prediction mode information of the current block, partitioning information of a parent block including the current block, the size of the parent block, the shape of the parent block, prediction mode information of the parent block, transformation mode information of a neighboring block of the current block, the maximum value of a transformation coefficient included in the
  • one or more pieces of information regarding whether to configure a candidate transformation mode based on at least one of the aforementioned additional information may be explicitly included in the SPS, PPS, APS, slice header, CTU, CU, and TU syntax.
  • information indicating that the candidate transformation mode is configured differently for each frame or slice type may be explicitly included in at least one of the SPS, PPS, APS, and slice header.
  • the video encoder (100) transmits information indicating that the candidate transformation mode is configured differently for each frame or slice type by including it in the bitstream, and the video decoder (200) can determine whether the candidate transformation mode is configured differently for each frame or slice type from the information. If the information included in the bitstream indicates that the candidate transformation mode is configured differently for each frame or slice type, the video decoder (200) can configure the candidate transformation mode differently for each frame or slice type. For example, if the information explicitly signaled in the bitstream indicates that the candidate transformation mode is configured differently for each frame or slice type, the video decoder (200) can configure all of the 14 candidate transformation modes illustrated in FIG.
  • information indicating whether to adaptively configure a candidate transformation mode to be applied to the current block based on at least one of the aforementioned additional information may be included in the SPS, PPS, APS, slice header, CTU, CU, and TU syntax.
  • candidate transformation mode information supported for at least one unit among SPS, PPS, APS, slice header, CTU, CU, TU syntax may be explicitly signaled for at least one unit among sequence, GOP, picture, slice, CTU, CU, TU unit.
  • the SPS may include information indicating conversion modes 1, 2, 3, 4, 8, 9, 10, and 14 (501, 502, 503, 504, 508, 509, 510, and 514) that are candidate conversion modes applied to the current sequence unit.
  • Combinations of candidate conversion modes applicable to each predetermined data unit are set in advance as elements of a table, and index information indicating one of the elements of the pre-set table may be used as candidate conversion mode information.
  • the video encoder (100) sets a candidate conversion mode for each predetermined data unit and includes information indicating the set candidate conversion mode in the bitstream, and the video decoder (200) can configure a candidate conversion mode to be applied to the current data unit from the candidate conversion mode information.
  • At least one candidate transformation mode available for the inverse transformation of the current block can be configured by combining the explicit candidate transformation mode configuration method and the implicit candidate transformation mode configuration method described above.
  • a candidate transformation mode is explicitly determined based on transformation mode support information signaled for at least one unit among a sequence, a GOP, a picture, a slice, a CTU, a CU, and a TU unit, and a final candidate transformation mode can be derived based on additional information among the explicitly determined candidate transformation modes.
  • the additional information can include at least one of current frame information, slice information, partitioning information of a current block, a size of a current block, a shape of a current block, prediction mode information of a current block, partitioning information of a parent block including the current block, a size of a parent block, a shape of a parent block, prediction mode information of a parent block, transformation mode information of a neighboring block of the current block, a maximum value of a transformation coefficient included in the current block, and a position of a last non-zero transformation coefficient of the current block according to a predetermined scanning order, as described above.
  • a first candidate transformation mode can be explicitly configured based on transformation mode support information signaled for at least one unit among a sequence, a GOP, a picture, a slice, a CTU, a CU, and a TU unit, and a final second candidate transformation mode can be derived from the first candidate transformation mode based on at least one of the additional information. For example, among the 14 conversion modes of FIG.
  • conversion modes 1, 2, 3, 4, 8, 9, 10, and 14 are configured as the first candidate conversion modes in the current sequence unit, and then, based on additional information such as the block size, if the size of the current block exceeds 32X32, only conversion modes 1, 2, 8, and 14 (501, 502, 508, and 514) among the first candidate conversion modes are configured as the final second candidate conversion modes, and if the size of the current block is 32X32 or less, conversion modes 1, 2, 3, 4, 8, 9, 10, and 14 (501, 502, 503, 504, 508, and 514) are configured as the final second candidate conversion modes. 509, 510, 514) can all be configured as the final second candidate conversion mode.
  • all of the 14 candidate transformation modes illustrated in FIG. 5 may be configured as the first candidate transformation modes, and in the current block belonging to the P/B frame or P/B slice, some of the 14 candidate transformation modes illustrated in FIG. 5, namely transformation modes 1, 8, 9, 10, 11, 12, 13, and 14 (501, 508, 509, 510, 511, 512, 513, and 514), may be configured as the first candidate transformation modes. Then, from these first candidate transformation modes, a final second candidate transformation mode may be configured based on the shape of the current block. For example, if the width of the current block is greater than a predetermined ratio than the height, a transformation block type that is vertically divided is likely to be selected.
  • a transformation mode that supports a more suitable form of transformation block among horizontal division or vertical division among the transformation modes included in the first candidate transformation mode may be included in the final second candidate transformation mode.
  • the candidate transformation mode is configured based on the shape of the block included in the I frame or I slice, as described above, all of the 14 candidate transformation modes illustrated in FIG. 5 are configured as the first candidate transformation mode for the current block belonging to the I frame or I slice.
  • the second candidate transformation mode is configured around candidate transformation modes suitable for vertical division, and transformation modes 1, 8, 9, 10, 11, 12, 13, and 14 (501, 508, 509, 510, 511, 512, 513, and 514) are configured as final second candidate transformation modes applicable to the current block, and when the height of the current block is more than twice the width, the second candidate transformation mode is configured around candidate transformation modes suitable for horizontal division, and transformation modes 1, 2, 3, 4, 5, 6, 7, and 14 (501, 502, 503, 504, 505, 506, 507, and 514) can be configured as second candidate transformation modes applicable to the current block.
  • the final candidate transformation mode applicable to the current block can be determined by adding or removing a transformation mode included in the explicitly configured candidate transformation mode based on at least one of the additional information from the explicitly configured candidate transformation mode.
  • the 1st transformation mode (501) that does not divide the current block and the 14th transformation mode (514) that divides the current block into four can always be included in the candidate transformation mode even when the candidate transformation mode is adaptively configured based on additional information.
  • the video encoder (100) determines a final transformation mode applied to the current block from among the transformation modes included in the candidate transformation modes.
  • the final transformation mode applied to the current block may be determined implicitly, or an optimal transformation mode from an RDO perspective may be determined and information indicating the determined transformation mode may be explicitly included in the bitstream.
  • embodiments of setting a transformation mode applied to the current block from among the candidate transformation modes will be described.
  • one of the candidate transformation modes may be determined as the transformation mode of the current block based on at least one of additional information such as current frame information, slice information, partitioning information of the current block, the size of the current block, the shape of the current block, prediction mode information of the current block, partitioning information of a parent block including the current block, the size of the parent block, the shape of the parent block, prediction mode information of the parent block, transformation mode information of a neighboring block of the current block, a maximum value of a transformation coefficient included in the current block, and a position of the last non-zero transformation coefficient of the current block according to a predetermined scanning order.
  • additional information such as current frame information, slice information, partitioning information of the current block, the size of the current block, the shape of the current block, prediction mode information of the current block, partitioning information of a parent block including the current block, the size of the parent block, the shape of the parent block, prediction mode information of the parent block, transformation mode information of a neighboring block of the current block, a maximum value of a
  • the video encoder (100) and the video decoder (200) can determine the transformation mode of the current block as one of the candidate transformation modes based on at least one of the aforementioned additional information in the same manner. For example, when using the size of the current block as the additional information, the video encoder (100) and the video decoder (200) can determine the first transformation mode (501) that does not split the current block as the transformation mode of the current block if the size of the current block is the minimum block size for which transformation is supported, and can perform the transformation process without splitting the current block.
  • the video encoder (100) and the video decoder (200) can select one transformation mode set in advance from among the transformable transformation modes by considering the maximum transformable block size among the determined candidate transformation modes if the current block exceeds the maximum transformable block size. For example, if the size of the current block is 128 ⁇ 128 and the maximum convertible block size is 64 ⁇ 64, the 14th conversion mode (514) that divides the current block into four parts can be selected for conversion of the current block.
  • the video encoder (100) and the video decoder (200) can determine the transformation mode of the current block based on the transformation mode information used in the surrounding blocks of the current block. For example, if the second transformation mode (502) is selected in both blocks located to the left and above the current block, and the second transformation mode (502) is included in the candidate transformation modes of the current block, the second transformation mode (502) can be determined as the transformation mode of the current block.
  • the video encoder (100) and the video decoder (200) can equally determine the transformation mode of the current block by applying a pre-set method. In this case, separate transformation mode information may not be included in the bitstream.
  • the transformation mode applied to the transformation of the current block can be explicitly determined based on transformation mode information signaled for at least one unit among a sequence, GOP, picture, slice, CTU, CU, and TU unit.
  • the video encoder (100) transmits information on the transformation mode applied to the current block by including it in one of the data units of a sequence, GOP, picture, slice, CTU, CU, and TU, and the video decoder (200) can determine the transformation mode of the current block from the transformation mode information included in the data unit.
  • the video encoder (100) can apply the transformation mode included in the candidate transformation modes and apply an evaluation criterion such as RDO to determine the optimal transformation mode, and can include information indicating the determined transformation mode in the bitstream.
  • the video encoder (100) can select the optimal conversion mode among the eight modes based on evaluation criteria such as RDO, and include information about the selected optimal conversion mode in the bitstream and transmit it to the video decoder (200).
  • transformation mode information when transformation mode information is explicitly signaled, only some transformation modes among candidate transformation modes of the current block may be evaluated by the video encoder (100) according to a predetermined evaluation criterion, and a bitstream including the selected final transformation mode information may be transmitted to the video decoder (200).
  • Whether to evaluate only some transformation modes may be determined based on at least one of additional information such as current frame information, slice information, partitioning information of the current block, the size of the current block, the shape of the current block, prediction mode information of the current block, partitioning information of the parent block including the current block, the size of the parent block, the shape of the parent block, prediction mode information of the parent block, transformation mode information of the neighboring blocks of the current block, the maximum value of the transformation coefficient included in the current block, and the position of the last non-zero transformation coefficient of the current block according to a predetermined scanning order.
  • additional information such as current frame information, slice information, partitioning information of the current block, the size of the current block, the shape of the current block, prediction mode information of the current block, partitioning information of the parent block including the current block, the size of the parent block, the shape of the parent block, prediction mode information of the parent block, transformation mode information of the neighboring blocks of the current block, the maximum value of the transformation coefficient included in the current block, and the position of the last non
  • a transformation block type that is vertically divided is likely to be selected.
  • a transformation mode that is not suitable for horizontal or vertical division is excluded from the candidate transformation modes, and only the remaining candidate transformation modes can be evaluated for selecting the final transformation mode.
  • a transformation mode that supports a transformation block that horizontally divides the current block among the candidate transformation modes is excluded from the candidate transformation modes, and if the height of the current block is greater than the width by a predetermined factor or more, a transformation mode that supports a transformation block that vertically divides the current block can be excluded from the candidate transformation modes.
  • the candidate transformation modes are determined as transformation modes 1, 2, 3, 4, 8, 9, and 10 (501, 502, 503, 504, 508, 509, and 510)
  • transformation modes 2, 3, and 4 which are suitable candidate transformation modes for horizontal division, are excluded from the candidate transformation modes, and only transformation modes 1, 8, 9, 10, and 14 (501, 508, 509, 510, and 514) can be used for evaluation to select the optimal transformation mode.
  • candidate transformation modes 8, 9, and 10 which are suitable candidate transformation modes for vertical division, are excluded from the candidate transformation modes, and only transformation modes 1, 2, 3, 4, and 14 (501, 502, 503, 504, and 514) can be used for evaluation to select the optimal transformation mode.
  • the first transformation mode (501) which does not divide the current block
  • the fourteenth transformation mode (514) which divides the current block into four, can always be included in the candidate transformation modes regardless of additional information.
  • the transformation mode information may be hierarchically configured. For example, a 1-bit flag indicating the use of a split transformation mode among the candidate transformation modes for the current block may be transmitted. If the current block is not split and the transformation is performed as is in the current block, such as the first transformation mode (501) of FIG. 5, the corresponding flag is set to 0. That is, if the current block is not split, the transformation mode information may be configured with only a 1-bit flag. If the current block is split, such as the second to fourteenth transformation modes (502 to 514) of FIG. 5, the corresponding flag may be set to 1.
  • the conversion mode information may additionally include i) information indicating a split direction, ii) information indicating one of a plurality of conversion modes according to the split direction.
  • the information indicating the split direction '0' may be set to indicate horizontal splitting
  • the split direction flag '1' may be set to indicate vertical splitting, or vice versa.
  • the information indicating one of a plurality of conversion modes according to the split direction may be set to indicate one of a plurality of conversion modes that split the current block in the corresponding splitting direction.
  • the information indicating the split direction is set to '0'
  • the current block is split into one of four conversion modes in the horizontal direction, such as the second to fifth conversion modes (502 to 505)
  • the information may be set to have one of '00', '01', '10', and '11' corresponding to the second to fifth conversion modes (502 to 505).
  • values indicating multiple conversion modes can be set by applying various codes such as unary coding, fixed length coding, variable length coding, and exponential golomb coding.
  • the transformation mode information may be adaptively configured to efficiently transmit the transformation mode applied to the current block.
  • the vertical divisibility and horizontal divisibility of the current block may be determined, and the transformation mode information may be adaptively configured based on the determined vertical divisibility and horizontal divisibility of the current block.
  • additional information such as current frame information, slice information, partitioning information of the current block, size of the current block, shape of the current block, prediction mode information of the current block, partitioning information of a parent block including the current block, size of the parent block, shape of the parent block, prediction mode information of the parent block, transformation mode information of a neighboring block of the current block, maximum value of a transformation coefficient included in the current block, and position of the last non-zero transformation coefficient of the current block according to a predetermined scanning order may be used in the process of configuring the transformation mode information.
  • the vertical and horizontal divisibility of the current block can be determined by identifying the types of all transformation modes applicable to the current block by considering the transformation modes included in the candidate transformation mode. Furthermore, the vertical and horizontal divisibility of the current block can be determined based on the aforementioned additional information.
  • the video encoder (100) can determine the vertical divisibility and horizontal divisibility of the current block, adaptively determine the semantics of transformation mode information based on the vertical divisibility and horizontal divisibility of the current block, and set the transformation mode information of the current block to include in the bitstream.
  • the video decoder (200) can identify the semantics of transformation mode information obtained from the bitstream based on the vertical divisibility and horizontal divisibility of the current block, and determine the transformation mode of the current block based on the transformation mode information.
  • the transformation mode information can be set as index information indicating one of the candidate transformation modes.
  • the index information can be set by applying various codes such as unary coding, fixed length coding, variable length coding, and exponential global coding. For example, if transformation modes 1, 2, 8, and 14 (501, 502, 508, and 514) are determined as candidate transformation modes applicable to the current block, and if the current block can be split in both horizontal and vertical directions, information indicating one of the candidate transformation modes 1, 2, 8, and 14 (501, 502, 508, and 514) can be set as the transformation mode information.
  • the conversion mode information may be set to include i) information indicating the splitting direction of the current block among the vertical and horizontal directions, and ii) information indicating whether or not to split according to the splitting direction. i) If the information indicating the splitting direction of the current block among the vertical and horizontal directions is set to '0', it may indicate horizontal splitting, and if set to '1', it may indicate vertical splitting, or vice versa. ii) If the information indicating whether or not to split according to the splitting direction is set to '0', it may indicate non-split in the corresponding direction, and if set to '1', it may indicate splitting in the corresponding direction.
  • the conversion mode information may be set to '01', including '0', which is the first bit indicating horizontal splitting of the current block, and '1' indicating splitting in the corresponding horizontal direction.
  • the transformation mode information may be set to include i) information indicating the splitting direction of the current block among the vertical direction and the horizontal direction, and ii) information indicating one of the selectable transformation modes according to the splitting direction. i) If the information indicating the splitting direction of the current block among the vertical direction and the horizontal direction is set to '0', it may indicate horizontal division, and if it is set to '1', it may indicate vertical division, or vice versa. ii) The information indicating one of the selectable transformation modes according to the splitting direction may have a variable length depending on the number of selectable transformation modes.
  • the current block is divided horizontally and four conversion modes (502, 503, 504, 505) of conversion modes 2, 3, 4, and 5 (502 to 506) that divide the current block in the horizontal direction are selectable
  • information indicating one of the selectable conversion modes according to the division direction may be set to one of the values of '00', '01', '10', and '11' corresponding to the four conversion modes of conversion modes 2, 3, 4, and 5 (502, 503, 504, 505).
  • the code configuration is not limited thereto and may be set in various ways such as unary coding, fixed length coding, variable length coding, and exponential global coding.
  • the transformation mode information is not included in the bitstream, and the transformation block of the current block can be determined to have the same size and shape as the current block. If the current block is not divisible in either the vertical or horizontal direction, the video encoder (100) does not separately transmit the transformation mode information, and the video decoder (200) can determine the transformation mode 1 (501) as the transformation mode of the current block without parsing the syntax corresponding to the separate transformation mode information.
  • the video encoder (100) can adaptively configure transformation mode information to efficiently transmit the transformation mode applied to the current block.
  • the video encoder (100) can determine the vertical divisibility and horizontal divisibility of the current block, and adaptively configure the transformation mode information based on the determined vertical divisibility and horizontal divisibility of the current block.
  • the video encoder (100) can configure candidate transformation modes based on the statistical ratio of transformation modes previously selected in the transformation mode determination process, determine one optimal transformation mode by applying an optimal transformation mode evaluation criterion such as RDO, and transmit information on the determined transformation mode by including it in the bitstream.
  • the vertical divisibility and horizontal divisibility of the current block can be determined based on at least one of various additional information such as boundary conditions or the size of the current block.
  • conversion modes 1, 2, 8, and 14 (501, 502, 508, and 514) are determined as candidate conversion modes
  • a process in which a video encoder (100) adaptively configures conversion mode information for an optimal conversion mode among the candidate conversion modes is described.
  • FIG. 8a is a flow chart showing an example of a process in which a video encoder (100) adaptively configures conversion mode information.
  • the video encoder (100) can sequentially perform the following processes to set conversion mode information indicating the conversion mode determined as the conversion mode of the current block among conversion modes 1, 2, 8, and 14 (501, 502, 508, and 514).
  • the video encoder (100) determines the horizontal and vertical divisibility of the current block (S801), and if the current block cannot be arbitrarily divided into both vertical and horizontal directions, sets the conversion mode of the current block to conversion mode 1 (501) (S802) without setting separate conversion mode information. In this case, the following process is not performed, and the conversion mode setting process for the current block is terminated.
  • the video encoder (100) determines whether the current block has been divided according to the optimal transformation mode of the current block, unless both vertical division and horizontal division are arbitrarily impossible for the current block (S803), and sets and transmits information indicating whether i) vertical or horizontal division exists (e.g., '0' indicates non-division (no vertical or horizontal division exists), '1' indicates division) as the first information of the transformation mode information. For example, if the video encoder (100) allows arbitrarily vertical division or horizontal division and the determined final transformation mode is transformation mode 1 in which the current block is not divided, the video encoder (100) includes only '0' as information indicating whether i) vertical or horizontal division exists in the bitstream (S804). If the video encoder (100) includes '0' in the bitstream as the transformation mode information, the video encoder skips the process of configuring the information of the additional transformation mode below and ends the transformation mode setting procedure.
  • '0' indicates non-division (no vertical or horizontal division exists
  • the video encoder (100) can configure the first bit of the transformation mode information by setting '1' as information indicating whether vertical or horizontal division of i) exists. If the current block is divided, information indicating a transformation mode determined as the optimal transformation mode of the current block among transformation modes 2, 8, and 14 (502, 508, 514), excluding transformation mode 1 (501) in which the current block is not divided, needs to be additionally transmitted.
  • the additionally transmitted transformation mode information may be adaptively configured depending on whether the current block is arbitrarily divisible in the vertical or horizontal direction and the configuration of the candidate transformation mode.
  • the additionally transmitted transformation mode information may be adaptively configured to identify one of the transformation modes included in the candidate transformation mode, in which the current block is divided in only one direction, and one of the 14 transformation modes (514) in which the current block is divided into four. For example, if the current block is arbitrarily divisible in only one direction, either vertical or horizontal, the video encoder (100) may transmit information indicating one of the transformation modes in which the current block is divided in the divisible direction and the 14 transformation modes (514) in which the current block is divided into four directions, by adding the information to the transformation mode information.
  • the video encoder (100) determines whether the current block can be divided only in the horizontal direction (S805), and if the current block can be divided only horizontally, information indicating the transformation mode of the current block among transformation modes 2 and 14 (502, 514), excluding transformation mode 8 (508) in which the current block is divided vertically (for example, '0' indicates transformation mode 2 (502), '1' indicates transformation mode 14 (514)) can be set and added to the bitstream (S806).
  • conversion mode 1 is determined as the optimal conversion mode of the current block, and if the current block can only be horizontally split, the video encoder (100) determines '10', which is composed of '1', the first bit indicating whether to split, and '0', which indicates conversion mode 2 among conversion modes 2 and 14, as conversion mode information and adds it to the bitstream.
  • the optimal conversion mode of the current block is conversion mode 14 (514)
  • '11' is set as conversion mode information.
  • the video encoder (100) determines whether the current block is divisible only in the vertical direction (S807), if the current block is not divisible only in the horizontal direction, and if the current block is divisible only in the vertical direction, information indicating the conversion mode of the current block among conversion modes (508, 514) 8 and 14, excluding conversion mode 2 (502) in which the current block is divided horizontally (for example, '0' indicates conversion mode 8 (508), '1' indicates conversion mode 14 (514)) can be set and added to the bitstream (S808).
  • transformation modes 1, 2, 8, and 14 are determined as candidate transformation modes of the current block, and transformation mode 8 is determined as the optimal transformation mode of the current block, and if the current block can only be vertically divided, the video encoder (100) determines '10', which is composed of '1', the first bit indicating division as transformation mode information, and '0', which indicates transformation mode 8 among transformation modes 2 and 14, as transformation mode information, and adds it to the bitstream.
  • the optimal transformation mode of the current block is transformation mode 14 (514), '11' is set as the transformation mode information.
  • the video encoder (100) can set information indicating the conversion mode of the current block among conversion modes 2, 8, and 14 (502, 508, and 514) and add it to the bitstream (S809).
  • Fig. 8b is a flowchart illustrating an example of a process in which a video decoder (200) adaptively determines conversion mode information.
  • the process in Fig. 8b corresponds to the process in which a video encoder (100) sets conversion mode information according to Fig. 8a, and is a process in which a video decoder (200) determines a conversion mode.
  • the video decoder (200) determines the horizontal divisibility and vertical divisibility of the current block in the same manner as the process performed in the video encoder (100) according to FIG. 8a (S811), and if the current block is arbitrarily impossible to be divided vertically or horizontally, the conversion mode of the current block can be set to conversion mode 1 (501) without parsing separate conversion mode information from the bitstream (S812).
  • the video decoder (200) obtains and parses transformation mode information from the bitstream, unless the current block is arbitrarily incapable of both vertical and horizontal division, and determines whether the current block is to be divided based on the parsed transformation mode information (S813). For example, if the current block is arbitrarily capable of at least one of vertical division or horizontal division and '0' is obtained as transformation mode information from the bitstream, the video decoder (200) can set the transformation mode of the current block to transformation mode 1 (501) in which the current block is not to be divided (S815). In this case, the video decoder (200) can end the transformation mode determination process of the current block without parsing additional transformation mode information.
  • the video decoder (200) can determine the transformation mode of the current block by parsing the bit information following the first bit of the transformation mode information if the current block is capable of at least one of vertical division or horizontal division and the first bit of the transformation mode information is obtained as '1' from the bitstream. That is, if the first bit of the transformation mode information from the bitstream is '1', i.e., if it is determined that at least vertical or horizontal division exists in the current block, the video decoder (200) can determine the possibility of horizontal division or vertical division of the current block, and parse additional bits following the first bit of the transformation mode information based on the possibility of horizontal or vertical division to determine the transformation mode of the current block.
  • the video decoder (200) determines whether the current block can only be horizontally divided (S815), and if the current block can only be horizontally divided, information indicating the transformation mode of the current block among transformation modes 2 and 14 (502, 514), excluding transformation mode 8 (508) in which the current block is vertically divided (for example, '0' indicates transformation mode 2 (502), and '1' indicates transformation mode 14 (514)) can be obtained from the bitstream (S816).
  • the video decoder (100) may determine the transformation mode of the current block as transformation mode 2 (502) based on the transformation mode information when '10' consisting of '1' indicating division of the current block and '0' indicating transformation mode 2 is obtained as transformation mode information.
  • the video decoder (200) may determine that the transformation mode of the current block is transformation mode 14 (514).
  • the video decoder (200) determines whether the current block is capable of only vertical division (S817). If the current block is capable of only vertical division, the video decoder (200) can obtain information indicating the transformation mode of the current block from among transformation modes (508, 514) 8 and 14, excluding transformation mode 2 (502) in which the current block is horizontally divided, from the bitstream (for example, '0' indicates transformation mode 8 (508), '1' indicates transformation mode 14 (514)).
  • the video decoder (100) can determine the transformation mode of the current block as transformation mode 8 (508) based on the transformation mode information if the transformation mode information is '10', which is composed of '1' indicating division of the current block and '0' indicating transformation mode 8. In the above example, if '11' is acquired as conversion mode information, the video decoder (200) can determine that the conversion mode of the current block is conversion mode 14 (514).
  • the video decoder (200) can obtain transformation mode information indicating the transformation mode of the current block from among the transformation modes 2, 8, and 14 (502, 508, and 514) from the bitstream, and determine the transformation mode indicated by the parsed transformation mode information as the transformation mode of the current block (S819).
  • FIG. 8c is a flow chart showing another example of a process in which a video encoder (100) adaptively configures conversion mode information.
  • the video encoder (100) can sequentially perform the following processes to set conversion mode information indicating the conversion mode determined as the conversion mode of the current block among conversion modes 1, 2, 3, 8, 9, and 14 (501, 502, 503, 508, 509, and 514).
  • the video encoder (100) determines the horizontal and vertical divisibility of the current block (S821), and if the current block cannot be arbitrarily divided into both vertical and horizontal directions, sets the conversion mode of the current block to conversion mode 1 (501) (S822) without setting separate conversion mode information. In this case, the following process is not performed, and the conversion mode setting process for the current block is terminated.
  • the video encoder (100) determines whether the current block has been divided according to the optimal transformation mode of the current block, unless both vertical division and horizontal division are arbitrarily impossible for the current block (S823), and sets and transmits information indicating whether i) vertical or horizontal division exists (e.g., '0' indicates non-division (no vertical or horizontal division exists), '1' indicates division) as the first information of the transformation mode information. For example, if the video encoder (100) allows arbitrarily vertical division or horizontal division and the determined final transformation mode is transformation mode 1 in which the current block is not divided, the video encoder (100) includes only '0' in the bitstream as information indicating whether i) vertical or horizontal division exists (S824). If the video encoder (100) includes '0' in the bitstream as the transformation mode information, the video encoder skips the process of configuring the information of the additional transformation mode below and ends the transformation mode setting procedure.
  • '0' indicates non-division (no vertical or horizontal division exists
  • the video encoder (100) configures the first bit of the transformation mode information by setting '1' as information indicating whether vertical or horizontal division of i) exists, and then determines whether information indicating a transformation mode determined as the optimal transformation mode of the current block among transformation modes 2, 3, 8, 9, and 14 (501, 502, 503, 508, 509, and 514) excluding transformation mode 1 (501) in which the current block is not divided should be additionally transmitted.
  • the current block can be split in only one of the horizontal and vertical directions, and there is only one transformation mode among the candidate transformation modes in which the current block is split in the corresponding splittable direction, then information indicating a separate transformation mode does not need to be additionally transmitted. This is because if the video decoder (200) obtains '1' indicating that vertical or horizontal division exists as the first bit of the transformation mode information, and the current block can be split in only one of the horizontal and vertical directions, and there is only one transformation mode among the candidate transformation modes in which the current block is split in the corresponding splittable direction, then the only transformation mode in which the current block is split in the corresponding splittable direction can be determined as the transformation mode of the current block without any additional information.
  • the video encoder (100) determines whether the current block can be arbitrarily divided only in the horizontal direction (S825), and if the current block can be divided only in the horizontal direction, determines the second transformation mode (502), which is a transformation mode that divides in the horizontal direction, as the transformation mode of the current block (S826), and does not transmit any additional transformation mode information separately. In this case, only '1' indicating that there is vertical or horizontal division in the current block set in the previous step (S823) is added to the bitstream as transformation mode information.
  • the video encoder (100) determines whether the current block can be arbitrarily divided only in the vertical direction (S827), and if the current block can be divided only in the vertical direction, determines the 8th transformation mode (508), which is a transformation mode that divides in the vertical direction, as the transformation mode of the current block and does not transmit any additional transformation mode information. In this case, only '1', which indicates that there is vertical or horizontal division in the current block set in the previous step (S823), is added to the bitstream as transformation mode information.
  • the video encoder (100) can set information indicating the conversion mode of the current block among the conversion modes 2, 8, and 14 (502, 508, and 514) and add it to the bitstream (S829).
  • Fig. 8d is a flowchart illustrating another example of a process in which a video decoder (200) adaptively determines conversion mode information.
  • the process in Fig. 8d corresponds to the process in which a video encoder (100) sets conversion mode information according to Fig. 8c, and is a process in which a video decoder (200) determines a conversion mode.
  • the video decoder (200) determines the horizontal divisibility and vertical divisibility of the current block in the same manner as the process performed in the video encoder (100) according to FIG. 8c (S831), and if the current block is arbitrarily impossible to be vertically divided or horizontally divided, the conversion mode of the current block can be set to conversion mode 1 (501) without parsing separate conversion mode information from the bitstream (S832).
  • the video decoder (200) obtains and parses transformation mode information from the bitstream, unless the current block is arbitrarily incapable of both vertical and horizontal division, and determines whether the current block is to be divided based on the parsed transformation mode information (S833). For example, if the current block is arbitrarily capable of at least one of vertical division and horizontal division and '0' is obtained as transformation mode information from the bitstream, the video decoder (200) can set the transformation mode of the current block to transformation mode 1 (501) in which the current block is not to be divided (S834). In this case, the video decoder (200) can end the transformation mode determination process of the current block without parsing additional transformation mode information.
  • the video decoder (200) obtains '1' as the first bit of the transformation mode information indicating the presence of vertical or horizontal division, and the current block can be divided in only one of the horizontal or vertical directions, and there is only one transformation mode in which the current block is divided in the corresponding divisible direction among the candidate transformation modes, then only one transformation mode in which the current block is divided in the corresponding divisible direction can be determined as the transformation mode of the current block without any additional information.
  • the video decoder (200) determines whether the current block can be arbitrarily divided only in the horizontal direction (S835), and if the current block can be divided only in the horizontal direction, determines the second transformation mode (502), which is a transformation mode that divides in the horizontal direction, as the transformation mode of the current block (S836). In this case, only '1', which indicates that there is a vertical or horizontal division in the current block parsed in the previous step (S833), is used as the transformation mode information.
  • the video decoder (100) determines whether the current block can be arbitrarily divided only in the vertical direction (S837), and if the current block can be divided only in the vertical direction, determines the 8th transformation mode (508), which is a transformation mode that divides in the vertical direction, as the transformation mode of the current block (S838). Even in this case, only '1', which indicates that there is a vertical or horizontal division in the current block parsed in the previous step (S833), is used as the transformation mode information.
  • the video decoder (200) obtains information indicating the conversion mode of the current block from among the conversion modes 2, 8, and 14 (502, 508, and 514) from the bitstream, and determines the conversion mode of the current block based on the obtained conversion mode information (S839).
  • FIG. 9a is a flow chart showing another example of a process in which a video encoder (100) adaptively configures conversion mode information.
  • the video encoder (100) can sequentially perform the following processes to set conversion mode information indicating the conversion mode determined as the conversion mode of the current block among conversion modes 1, 2, 3, 8, 9, and 14 (501, 502, 503, 508, 509, and 514).
  • the video encoder (100) determines the horizontal and vertical divisibility of the current block (S901), and if the current block cannot be arbitrarily divided into both vertical and horizontal directions, sets the conversion mode of the current block to conversion mode 1 (501) (S902) without setting separate conversion mode information. In this case, the following process is not performed, and the conversion mode setting process for the current block is terminated.
  • the video encoder (100) determines whether the current block has been divided according to the optimal transformation mode of the current block, unless both vertical division and horizontal division are arbitrarily impossible for the current block (S903), and sets and transmits information indicating whether i) vertical or horizontal division exists (e.g., '0' indicates non-division (no vertical or horizontal division exists), '1' indicates division) as the first information of the transformation mode information. For example, if the video encoder (100) allows arbitrarily vertical division or horizontal division and the determined final transformation mode is transformation mode 1 in which the current block is not divided, the video encoder (100) includes only '0' as information indicating whether i) vertical or horizontal division exists in the bitstream (S904). If the video encoder (100) includes '0' in the bitstream as the transformation mode information, the video encoder skips the process of configuring the information of the additional transformation mode below and ends the transformation mode setting procedure.
  • '0' indicates non-division (no vertical or horizontal division exists
  • the video encoder (100) configures the first bit of the transformation mode information by setting '1' as information indicating whether vertical or horizontal division of i) exists, and then additionally transmits information indicating a transformation mode determined as the optimal transformation mode of the current block among transformation modes 2, 3, 8, 9, and 14 (502, 503, 508, 509, and 514), excluding transformation mode 1 (501) in which the current block is not divided.
  • the video encoder (100) may set additional transformation mode information in consideration of the number of possible divisions of the current block.
  • the number of possible splits can be set in various ways based on additional information such as the block size. For example, for blocks smaller than a predetermined size, the number of possible splits of the current block for determining a conversion block can be limited to a predetermined number of times (e.g., once).
  • the video encoder (100) determines whether the size of the current block is equal to or larger than the minimum split block size for which the number of splits is limited (S905). If the number of splits of the current block is limited to 1, the video encoder (100) determines the 2nd and 8th conversion modes (502, 508) that split the current block only once among the 2nd, 3rd, 8th, 9th, and 14th conversion modes (502, 503, 508, 509, 514) included in the candidate conversion modes, excluding the 1st conversion mode (501), determines the conversion mode of the current block among the 2nd and 8th conversion modes (502, 508) (S906), and adds information indicating one of the 2nd and 8th conversion modes (502, 508) to the bitstream as additional conversion mode information.
  • the video encoder (100) determines whether the current block can be divided only in the horizontal direction (S907), and if the current block can be divided only in the horizontal direction, the video encoder determines the transformation mode of the current block among the transformation modes 2 and 3 (502, 503), which are transformation modes for horizontal division (S908), and adds information indicating one of the transformation modes 2 and 3 (502, 503) to the bitstream as additional transformation mode information.
  • the video encoder (100) determines whether the current block can be split only in the vertical direction (S909), and if the current block can be split only in the vertical direction, determines the conversion mode of the current block among conversion modes 8 and 9 (508, 509), which are conversion modes for splitting in the vertical direction (S910), and adds information indicating one of conversion modes 8 and 9 (508, 509) to the bitstream as additional conversion mode information.
  • the video encoder (100) can set information indicating the conversion mode of the current block among conversion modes 2, 3, 8, 9, and 14 (502, 503, 508, 509, and 514) and add it to the bitstream (S911).
  • Fig. 9b is a flowchart illustrating another example of a process in which a video decoder (200) adaptively determines conversion mode information.
  • the process in Fig. 9b corresponds to the process in which a video encoder (100) sets conversion mode information according to Fig. 9a, and is a process in which a video decoder (200) determines a conversion mode.
  • the video decoder (200) determines the horizontal divisibility and vertical divisibility of the current block in the same manner as the process performed in the video encoder (100) according to FIG. 9a (S931), and if the current block is arbitrarily impossible to be divided vertically or horizontally, the conversion mode of the current block can be set to conversion mode 1 (501) without parsing separate conversion mode information from the bitstream (S932).
  • the video decoder (200) obtains and parses transformation mode information from the bitstream, unless the current block is arbitrarily incapable of both vertical and horizontal division, and determines whether the current block is to be divided based on the parsed transformation mode information (S933). For example, if the current block is arbitrarily capable of at least one of vertical division or horizontal division and '0' is obtained as transformation mode information from the bitstream, the video decoder (200) can set the transformation mode of the current block to transformation mode 1 (501) in which the current block is not to be divided (S934). In this case, the video decoder (200) can end the process of determining the transformation mode of the current block without parsing additional transformation mode information.
  • the video decoder (200) When the video decoder (200) obtains '1' as the first bit of the conversion mode information indicating the presence of vertical or horizontal division, it determines whether the current block is larger than the minimum division block size for which the number of divisions is limited (S935).
  • the video decoder (200) determines the 2nd and 8th conversion modes (502, 508) that split the current block only once among candidate conversion modes including the 2nd, 3rd, 8th, 9th, and 14th conversion modes (502, 503, 508, 509, 514) except the 1st conversion mode (501), parses conversion mode information indicating the conversion mode of the current block among the 2nd and 8th conversion modes (502, 508) from the bitstream, and determines the conversion mode of the current block among the 2nd and 8th conversion modes (502, 508) based on the acquired additional conversion mode information (S936).
  • the video decoder (200) determines whether the current block can be split only in the horizontal direction (S937), and if the current block can be split only in the horizontal direction, parses information indicating one of the conversion modes 2 and 3 (502, 503), which are conversion modes for splitting in the horizontal direction, from the bitstream, and determines the conversion mode of the current block among the conversion modes 2 and 503 (502, 503) based on the acquired additional conversion mode information (S938).
  • the video decoder (200) determines whether the current block can be split only in the vertical direction (S939), and if the current block can be split only in the vertical direction, the video decoder parses the transformation mode information indicating the transformation mode of the current block from among the transformation modes 8 and 9 (508, 509), which are transformation modes for splitting in the vertical direction, from the bitstream, and determines the transformation mode of the current block from among the transformation modes 8 and 9 (508, 509) based on the acquired additional transformation mode information (S940).
  • the video decoder (200) parses the transformation mode information indicating the transformation mode of the current block from among the transformation modes 2, 3, 8, 9, and 14 (502, 503, 508, 509, and 514) from the bitstream, and determines the transformation mode of the current block from among the transformation modes 2, 3, 8, 9, and 14 (502, 503, 508, 509, and 514) based on the acquired additional transformation mode information (S941).
  • FIG. 9c is a flow chart showing another example of a process in which a video encoder (100) adaptively configures conversion mode information.
  • the video encoder (100) can sequentially perform the following processes to set conversion mode information indicating the conversion mode determined as the conversion mode of the current block among conversion modes 1, 2, 3, 8, 9, and 14 (501, 502, 503, 508, 509, and 514).
  • the video encoder (100) determines the horizontal and vertical divisibility of the current block (S951), and if the current block cannot be arbitrarily divided into both vertical and horizontal directions, sets the conversion mode of the current block to conversion mode 1 (501) (S952) without setting separate conversion mode information. In this case, the following process is not performed, and the conversion mode setting process for the current block is terminated.
  • the video encoder (100) determines whether the current block has been divided according to the optimal transformation mode of the current block, unless both vertical division and horizontal division are arbitrarily impossible for the current block (S953), and sets and transmits information indicating whether i) vertical or horizontal division exists (e.g., '0' indicates non-division (no vertical or horizontal division exists), '1' indicates division) as the first information of the transformation mode information. For example, if the video encoder (100) allows arbitrarily vertical division or horizontal division and the determined final transformation mode is transformation mode 1 in which the current block is not divided, the video encoder (100) includes only '0' in the bitstream as information indicating whether i) vertical or horizontal division exists (S954). If the video encoder (100) includes '0' in the bitstream as the transformation mode information, the video encoder skips the process of configuring the information of the additional transformation mode below and ends the transformation mode setting procedure.
  • '0' indicates non-division (no vertical or horizontal division exists
  • the video encoder (100) configures the first bit of the transformation mode information by setting '1' as information indicating whether vertical or horizontal division of i) exists, and then additionally transmits information indicating a transformation mode determined as the optimal transformation mode of the current block among transformation modes 2, 3, 8, 9, and 14 (502, 503, 508, 509, and 514), excluding transformation mode 1 (501) in which the current block is not divided.
  • the video encoder (100) may set additional transformation mode information in consideration of the number of possible divisions of the current block.
  • the number of possible splits can be set in various ways based on additional information such as the block size. For example, for blocks smaller than a predetermined size, the number of possible splits of the current block for determining a conversion block can be limited to a predetermined number of times (e.g., once).
  • the video encoder (100) determines whether the size of the current block is equal to or larger than the minimum split block size for which the number of splits is limited (S955). If the number of splits of the current block is limited to 1, the video encoder (100) determines the 2nd and 8th conversion modes (502, 508) that split the current block only once among the 2nd, 3rd, 8th, 9th, and 14th conversion modes (502, 503, 508, 509, 514) included in the candidate conversion modes, excluding the 1st conversion mode (501), determines the conversion mode of the current block among the 2nd and 8th conversion modes (502, 508) (S956), and adds information indicating one of the 2nd and 8th conversion modes (502, 508) to the bitstream as additional conversion mode information.
  • the video encoder (100) determines whether the current block can be divided only in the horizontal direction (S957), and if the current block can be divided only in the horizontal direction, determines the transformation mode of the current block among the transformation modes 2, 3, and 14 (502, 503, and 514), which are transformation modes for horizontal division (S958), and adds information indicating one of the transformation modes 2, 3, and 14 (502, 503, and 514) to the bitstream as additional transformation mode information.
  • the video encoder (100) determines whether the current block can be split only in the vertical direction (S959), and if the current block can be split only in the vertical direction, determines the conversion mode of the current block among conversion modes 8, 9, and 14 (508, 509, 514), which are conversion modes for splitting in the vertical direction (S960), and adds information indicating one of conversion modes 8, 9, and 14 (508, 509, 514) to the bitstream as additional conversion mode information.
  • the video encoder (100) can set information indicating the conversion mode of the current block among conversion modes 2, 3, 8, 9, and 14 (502, 503, 508, 509, and 514) and add it to the bitstream (S961).
  • Fig. 9d is a flowchart illustrating another example of a process in which a video decoder (200) adaptively determines conversion mode information.
  • the process in Fig. 9d corresponds to the process in which a video encoder (100) sets conversion mode information according to Fig. 9c, and is a process in which a video decoder (200) determines a conversion mode.
  • the video decoder (200) determines the horizontal divisibility and vertical divisibility of the current block in the same manner as the process performed in the video encoder (100) according to FIG. 9c (S971), and if the current block is arbitrarily impossible to be divided vertically or horizontally, the conversion mode of the current block can be set to conversion mode 1 (501) without parsing separate conversion mode information from the bitstream (S972).
  • the video decoder (200) obtains and parses transformation mode information from the bitstream, unless the current block is arbitrarily incapable of both vertical and horizontal division, and determines whether the current block is to be divided based on the parsed transformation mode information (S973). For example, if the current block is arbitrarily capable of at least one of vertical division or horizontal division and '0' is obtained as transformation mode information from the bitstream, the video decoder (200) can set the transformation mode of the current block to transformation mode 1 (501) in which the current block is not to be divided (S974). In this case, the video decoder (200) can end the transformation mode determination process of the current block without parsing additional transformation mode information.
  • the video decoder (200) When the video decoder (200) obtains '1' as the first bit of the conversion mode information indicating the presence of vertical or horizontal division, it determines whether the current block is larger than the minimum division block size for which the number of divisions is limited (S975).
  • the video decoder (200) determines the 2nd and 8th conversion modes (502, 508) that split the current block only once among candidate conversion modes including the 2nd, 3rd, 8th, 9th, and 14th conversion modes (502, 503, 508, 509, 514) except the 1st conversion mode (501), parses conversion mode information indicating the conversion mode of the current block among the 2nd and 8th conversion modes (502, 508) from the bitstream, and determines the conversion mode of the current block among the 2nd and 8th conversion modes (502, 508) based on the acquired additional conversion mode information (S976).
  • the video decoder (200) determines whether the current block can be split only in the horizontal direction (S977), and if the current block can be split only in the horizontal direction, it parses information indicating one of the conversion modes 2, 3, and 14 (502, 503, 514) that are conversion modes for splitting in the horizontal direction from the bitstream, and determines the conversion mode of the current block among the conversion modes 2, 3, and 14 (502, 503, 514) based on the acquired additional conversion mode information (S978).
  • the video decoder (200) determines whether the current block can be split only in the vertical direction (S979), and if the current block can be split only in the vertical direction, the video decoder parses the transformation mode information indicating the transformation mode of the current block from among the transformation modes 8, 9, and 14 (508, 509, and 514), which are transformation modes for splitting in the vertical direction, from the bitstream, and determines the transformation mode of the current block from among the transformation modes 8, 9, and 14 (508, 509, and 514) based on the acquired additional transformation mode information (S980).
  • the video decoder (200) parses the transformation mode information indicating the transformation mode of the current block from among the transformation modes 2, 3, 8, 9, and 14 (502, 503, 508, 509, and 514) from the bitstream, and determines the transformation mode of the current block from among the transformation modes 2, 3, 8, 9, and 14 (502, 503, 508, 509, and 514) based on the acquired additional transformation mode information (S981).
  • FIG. 10a is a flow chart showing another example of a process in which a video encoder (100) adaptively configures conversion mode information.
  • the video encoder (100) can sequentially perform the following processes to set conversion mode information indicating the conversion mode determined as the conversion mode of the current block among conversion modes 1, 2, 3, 8, 9, and 14 (501, 502, 503, 508, 509, and 514).
  • the video encoder (100) determines the horizontal and vertical divisibility of the current block (S1001), and if the current block cannot be arbitrarily divided into both vertical and horizontal directions, sets the conversion mode of the current block to conversion mode 1 (501) (S1002) without setting separate conversion mode information. In this case, the following process is not performed, and the conversion mode setting process for the current block is terminated.
  • the video encoder (100) determines whether the current block has been divided according to the optimal transformation mode of the current block, unless both vertical division and horizontal division are arbitrarily impossible for the current block (S1003), and sets and transmits information indicating whether i) vertical or horizontal division exists (e.g., '0' indicates non-division (no vertical or horizontal division exists), '1' indicates division) as the first information of the transformation mode information. For example, if the video encoder (100) allows arbitrarily vertical division or horizontal division and the determined final transformation mode is transformation mode 1 in which the current block is not divided, the video encoder (100) includes only '0' as information indicating whether i) vertical or horizontal division exists in the bitstream (S1004). If the video encoder (100) includes '0' in the bitstream as the transformation mode information, the video encoder skips the process of configuring the information of the additional transformation mode below and ends the transformation mode setting procedure.
  • '0' indicates non-division (no vertical or horizontal division exists
  • the video encoder (100) configures the first bit of the transformation mode information by setting '1' as information indicating whether vertical or horizontal division of i) exists, and then additionally transmits or implicitly sets information indicating a transformation mode determined as the optimal transformation mode of the current block among transformation modes 2, 3, 8, 9, and 14 (502, 503, 508, 509, and 514), excluding transformation mode 1 (501) in which the current block is not divided.
  • the video encoder (100) first determines whether the current block is divisible in both the vertical and horizontal directions (S1005). If the current block is divisible in both the horizontal and vertical directions, the video encoder (100) can set information indicating the conversion mode of the current block among conversion modes 2, 3, 8, 9, and 14 (502, 503, 508, 509, and 514) and add it to the bitstream (S1006).
  • the video encoder (100) may set additional transformation mode information considering the number of times the current block can be divided.
  • the number of times the current block can be divided may be set in various ways based on additional information such as the block size. For example, for blocks smaller than a predetermined size, the number of times the current block can be divided for determining a transformation block may be limited to a predetermined number (e.g., once).
  • the video encoder (100) determines whether the size of the current block is equal to or larger than the minimum split block size for which the number of splits is limited (S1007). If the number of splits of the current block is limited to 1, the video encoder (100) determines the splittable direction of the current block among the horizontal and vertical directions. Specifically, the video encoder (100) determines whether the current block can be split only in the horizontal direction (S1008), and if the current block can be split only in the vertical direction and not the horizontal direction, the video encoder (100) determines the transformation mode of the current block as transformation mode 8 (508) (S1009), and does not add any additional transformation mode information to the bitstream. In addition, if the current block can be split only in the horizontal direction, the video encoder (100) determines the transformation mode of the current block as transformation mode 2 (502) (S1010), and does not add any additional transformation mode information to the bitstream.
  • transformation mode 8 transformation mode 8
  • the video encoder (100) determines the transformation mode of the current
  • the video encoder (100) determines whether the current block can be divided only in the horizontal direction (S1011), and if the current block can be divided only in the horizontal direction, determines the transformation mode of the current block among the transformation modes 2 and 3 (502, 503), which are transformation modes for horizontal division (S1012), and adds information indicating one of the transformation modes 2 and 3 (502, 503) to the bitstream as additional transformation mode information.
  • the video encoder (100) determines whether the current block can be split only in the vertical direction (S1013), and if the current block can be split only in the vertical direction, determines the transformation mode of the current block among the transformation modes 8 and 9 (508, 509), which are transformation modes for splitting in the vertical direction (S1014), and adds information indicating one of the transformation modes 8 and 9 (508, 509) to the bitstream as additional transformation mode information.
  • Fig. 10b is a flowchart illustrating another example of a process in which a video decoder (200) adaptively determines conversion mode information.
  • the process in Fig. 10b corresponds to the process in which a video encoder (100) sets conversion mode information according to Fig. 10a, and is a process in which a video decoder (200) determines a conversion mode.
  • the video decoder (200) determines the horizontal divisibility and vertical divisibility of the current block in the same manner as the process performed in the video encoder (100) according to FIG. 10a (S1021), and if the current block is arbitrarily impossible to be divided vertically or horizontally, the conversion mode of the current block can be set to conversion mode 1 (501) without parsing separate conversion mode information from the bitstream (S1022).
  • the video decoder (200) obtains and parses transformation mode information from the bitstream, unless the current block is arbitrarily incapable of both vertical and horizontal division, and determines whether the current block is to be divided based on the parsed transformation mode information (S1023). For example, if the current block is arbitrarily capable of at least one of vertical division or horizontal division and '0' is obtained as transformation mode information from the bitstream, the video decoder (200) can set the transformation mode of the current block to transformation mode 1 (501) in which the current block is not to be divided (S1024). In this case, the video decoder (200) can end the process of determining the transformation mode of the current block without parsing additional transformation mode information.
  • the video decoder (200) determines whether the current block is divisible in both horizontal and vertical directions (S1025). If the current block is divisible in both horizontal and vertical directions, the video decoder (100) may additionally parse information indicating the transformation mode of the current block from among the transformation modes 2, 3, 8, 9, and 14 (502, 503, 508, 509, and 514) from the bitstream, and determine the transformation mode of the current block from among the transformation modes 2, 3, 8, 9, and 14 (502, 503, 508, 509, and 514) based on the parsed additional transformation mode information (S1026).
  • the video decoder (100) can determine whether to parse additional transformation mode information by considering the number of times the current block can be divided.
  • the number of times the current block can be divided can be set in various ways based on additional information such as the block size. For example, for blocks smaller than a predetermined size, the number of times the current block can be divided for determining a transformation block can be limited to a predetermined number (e.g., once).
  • the video decoder (200) determines whether the current block is larger than or equal to the minimum split block size that limits the number of splits (S1027), and if the size of the current block is smaller than the minimum split block size, and the number of splits of the current block is limited to 1, the video decoder (200) determines the splittable direction of the current block among the horizontal and vertical directions again. Specifically, the video decoder (200) determines whether the current block can be split only in the horizontal direction (S1028), and if the current block can be split only in the vertical direction and not the horizontal direction, the video decoder (200) determines the transformation mode of the current block as the 8th transformation mode (508) without parsing additional transformation mode information separately (S1029). In addition, the video decoder (200) determines the transformation mode of the current block as the 2nd transformation mode (502) without parsing additional transformation mode information separately if the current block can be split only in the horizontal direction (S1030).
  • the video decoder (200) determines whether the current block can be split only in the horizontal direction (S1031), and if the current block can be split only in the horizontal direction, it parses additional transformation mode information indicating the transformation mode of the current block from among transformation modes 2 and 3 (502, 503), which are transformation modes for splitting in the horizontal direction, from the bitstream, and determines one of transformation modes 2 and 3 (502, 503) as the transformation mode of the current block based on the parsed additional transformation mode information (S1032).
  • the video decoder (200) determines whether the current block can be split only in the vertical direction (S1033), and if the current block can be split only in the vertical direction, it parses additional transformation mode information indicating the transformation mode of the current block from among transformation modes 8 and 9 (508, 509), which are transformation modes for splitting in the vertical direction, from the bitstream, and determines one of transformation modes 8 and 9 (508, 509) as the transformation mode of the current block based on the parsed additional transformation mode information (S1034).
  • FIG. 10c is a flow chart showing another example of a process in which a video encoder (100) adaptively configures conversion mode information.
  • the video encoder (100) can sequentially perform the following processes to set conversion mode information indicating the conversion mode determined as the conversion mode of the current block among conversion modes 1, 2, 3, 8, 9, and 14 (501, 502, 503, 508, 509, and 514).
  • the video encoder (100) determines the horizontal and vertical divisibility of the current block (S1041), and if the current block cannot be arbitrarily divided into both vertical and horizontal directions, sets the conversion mode of the current block to conversion mode 1 (501) (S1042) without setting separate conversion mode information. In this case, the following process is not performed, and the conversion mode setting process for the current block is terminated.
  • the video encoder (100) determines whether the current block has been divided according to the optimal transformation mode of the current block, unless both vertical division and horizontal division are arbitrarily impossible for the current block (S1043), and sets and transmits information indicating whether i) vertical or horizontal division exists (e.g., '0' indicates non-division (no vertical or horizontal division exists), '1' indicates division) as the first information of the transformation mode information. For example, if the video encoder (100) allows arbitrarily vertical division or horizontal division and the determined final transformation mode is transformation mode 1 in which the current block is not divided, the video encoder (100) includes only '0' in the bitstream as information indicating whether i) vertical or horizontal division exists (S1044). If the video encoder (100) includes '0' in the bitstream as the transformation mode information, the video encoder skips the process of configuring the information of the additional transformation mode below and ends the transformation mode setting procedure.
  • '0' indicates non-division (no vertical or horizontal division exists
  • the video encoder (100) configures the first bit of the transformation mode information by setting '1' as information indicating whether vertical or horizontal division of i) exists, and then additionally transmits or implicitly sets information indicating a transformation mode determined as the optimal transformation mode of the current block among transformation modes 2, 3, 8, 9, and 14 (502, 503, 508, 509, and 514), excluding transformation mode 1 (501) in which the current block is not divided.
  • the video encoder (100) first determines whether the current block is divisible in both the vertical and horizontal directions (S1045). If the current block is divisible in both the horizontal and vertical directions, the video encoder (100) can set information indicating the conversion mode of the current block among conversion modes 2, 3, 8, 9, and 14 (502, 503, 508, 509, and 514) and add it to the bitstream (S1046).
  • the video encoder (100) may set additional transformation mode information considering the number of times the current block can be divided.
  • the number of times the current block can be divided may be set in various ways based on additional information such as the block size. For example, for blocks smaller than a predetermined size, the number of times the current block can be divided for determining a transformation block may be limited to a predetermined number (e.g., once).
  • the video encoder (100) determines whether the size of the current block is equal to or larger than the minimum split block size for which the number of splits is limited (S1047). If the number of splits of the current block is limited to 1, the video encoder (100) determines the splittable direction of the current block among the horizontal and vertical directions. Specifically, the video encoder (100) determines whether the current block can be split only in the horizontal direction (S1048), and if the current block can be split only in the vertical direction and not the horizontal direction, the video encoder (100) determines the transformation mode of the current block as transformation mode 8 (508) (S1049), and does not add any additional transformation mode information to the bitstream. In addition, if the current block can be split only in the horizontal direction, the video encoder (100) determines the transformation mode of the current block as transformation mode 2 (502) (S1050), and does not add any additional transformation mode information to the bitstream.
  • transformation mode 8 transformation mode 8
  • the video encoder (100) determines the transformation mode of the current
  • the video encoder (100) determines whether the current block can be divided only in the horizontal direction (S1051), and if the current block can be divided only in the horizontal direction, determines the transformation mode of the current block among the transformation modes 2, 3, and 14 (502, 503, and 514), which are transformation modes for horizontal division (S1052), and adds information indicating one of the transformation modes 2, 3, and 14 (502, 503, and 514) to the bitstream as additional transformation mode information.
  • the video encoder (100) determines whether the current block can be split only in the vertical direction (S1053), and if the current block can be split only in the vertical direction, determines the transformation mode of the current block among the transformation modes 8, 9, and 14 (508, 509, and 514), which are transformation modes for splitting in the vertical direction (S1054), and adds information indicating one of the transformation modes 8, 9, and 14 (508, 509, and 514) to the bitstream as additional transformation mode information.
  • Fig. 10d is a flowchart illustrating another example of a process in which a video decoder (200) adaptively determines conversion mode information.
  • the process in Fig. 10d corresponds to the process in which a video encoder (100) sets conversion mode information according to Fig. 10c, and is a process in which a video decoder (200) determines a conversion mode.
  • the video decoder (200) determines the horizontal divisibility and vertical divisibility of the current block in the same manner as the process performed in the video encoder (100) according to FIG. 10c (S1061), and if the current block is arbitrarily impossible to be vertically divided or horizontally divided, the conversion mode of the current block can be set to conversion mode 1 (501) without parsing separate conversion mode information from the bitstream (S1062).
  • the video decoder (200) obtains and parses transformation mode information from the bitstream, unless the current block is arbitrarily incapable of both vertical and horizontal division, and determines whether the current block is to be divided based on the parsed transformation mode information (S1063). For example, if the current block is arbitrarily capable of at least one of vertical division or horizontal division and '0' is obtained as transformation mode information from the bitstream, the video decoder (200) can set the transformation mode of the current block to transformation mode 1 (501) in which the current block is not to be divided (S1064). In this case, the video decoder (200) can end the process of determining the transformation mode of the current block without parsing additional transformation mode information.
  • the video decoder (200) determines whether the current block is divisible in both horizontal and vertical directions (S1065). If the current block is divisible in both horizontal and vertical directions, the video decoder (100) may additionally parse information indicating the transformation mode of the current block from among the transformation modes 2, 3, 8, 9, and 14 (502, 503, 508, 509, and 514) from the bitstream, and determine the transformation mode of the current block from among the transformation modes 2, 3, 8, 9, and 14 (502, 503, 508, 509, and 514) based on the parsed additional transformation mode information (S1066).
  • the video decoder (100) can determine whether to parse additional transformation mode information by considering the number of times the current block can be divided.
  • the number of times the current block can be divided can be set in various ways based on additional information such as the block size. For example, for blocks smaller than a predetermined size, the number of times the current block can be divided for determining a transformation block can be limited to a predetermined number (e.g., once).
  • the video decoder (200) determines whether the current block is larger than or equal to the minimum split block size that limits the number of splits (S1067), and if the size of the current block is smaller than the minimum split block size, and the number of splits of the current block is limited to 1, the video decoder (200) determines the splittable direction of the current block among the horizontal and vertical directions again. Specifically, the video decoder (200) determines whether the current block can be split only in the horizontal direction (S1068), and if the current block can be split only in the vertical direction and not the horizontal direction, the video decoder (200) determines the transformation mode of the current block as the 8th transformation mode (508) without parsing additional transformation mode information separately (S1069). In addition, the video decoder (200) determines the transformation mode of the current block as the 2nd transformation mode (502) without parsing additional transformation mode information separately if the current block can be split only in the horizontal direction (S1070).
  • the video decoder (200) determines whether the current block can be split only in the horizontal direction (S1071), and if the current block can be split only in the horizontal direction, it parses additional transformation mode information indicating the transformation mode of the current block from among transformation modes 2, 3, and 14 (502, 503, and 514), which are transformation modes for splitting in the horizontal direction, from the bitstream, and determines one of transformation modes 2, 3, and 14 (502, 503, and 514) as the transformation mode of the current block based on the parsed additional transformation mode information (S1072).
  • the video decoder (200) determines whether the current block can be split only in the vertical direction (S1073), and if the current block can be split only in the vertical direction, it parses additional transformation mode information indicating the transformation mode of the current block from among transformation modes 8, 9, and 14 (508, 509, 514), which are transformation modes for splitting in the vertical direction, from the bitstream, and determines one of transformation modes 8, 9, 14 (508, 509, 514) as the transformation mode of the current block based on the parsed additional transformation mode information (S1074).
  • FIG. 11a is a flow chart showing another example of a process in which a video encoder (100) adaptively configures conversion mode information.
  • the video encoder (100) can sequentially perform the following processes to set conversion mode information indicating the conversion mode determined as the conversion mode of the current block among conversion modes 1, 2, 3, 4, 8, 9, 10, 14 (501, 502, 503, 504, 508, 509, 510, 514).
  • the video encoder (100) determines the horizontal and vertical divisibility of the current block (S1101), and if the current block cannot be arbitrarily divided into both vertical and horizontal directions, sets the conversion mode of the current block to conversion mode 1 (501) (S1102) without setting separate conversion mode information. In this case, the following process is not performed, and the conversion mode setting process for the current block is terminated.
  • the video encoder (100) determines whether the current block has been divided according to the optimal transformation mode of the current block, unless both vertical division and horizontal division are arbitrarily impossible for the current block (S1103), and sets and transmits information indicating whether i) vertical or horizontal division exists (e.g., '0' indicates non-division (no vertical or horizontal division exists), '1' indicates division) as the first information of the transformation mode information. For example, if the video encoder (100) allows arbitrarily vertical division or horizontal division and the determined final transformation mode is transformation mode 1 in which the current block is not divided, the video encoder (100) includes only '0' as information indicating whether i) vertical or horizontal division exists in the bitstream (S1104). If the video encoder (100) includes '0' in the bitstream as the transformation mode information, the video encoder skips the process of configuring the information of the additional transformation mode below and ends the transformation mode setting procedure.
  • '0' indicates non-division (no vertical or horizontal division exists
  • the video encoder (100) configures the first bit of the transformation mode information by setting '1' as information indicating whether the vertical or horizontal division of i) exists, and then additionally indicates the transformation mode determined as the optimal transformation mode of the current block among the transformation modes 2, 3, 4, 8, 9, 10, and 14 (501, 502, 503, 504, 508, 509, 510, and 514) except for the transformation mode 1 (501) in which the current block is not divided. Transmit.
  • the video encoder (100) can set additional transformation mode information considering the number of times the current block can be divided.
  • the number of times the current block can be divided can be set in various ways based on additional information such as the block size. For example, for blocks smaller than a predetermined size, the number of times the current block can be divided for determining the transformation block can be limited to a predetermined number (e.g., once).
  • the video encoder (100) determines whether the size of the current block is greater than or equal to the minimum split block size for which the number of splits is limited (S1105). If the number of times the current block is divided is limited to one, the video encoder (100) determines the conversion modes (502, 508) that divide the current block only once among the conversion modes (502, 503, 504, 508, 509, 510, 514) included in the candidate conversion modes, excluding the conversion mode (501), and determines the conversion mode of the current block among the conversion modes (502, 508) of the 2nd and 8th blocks (S1106), and adds information indicating one of the conversion modes (502, 508) of the 2nd and 8th blocks to the bitstream as additional conversion mode information.
  • the video encoder (100) determines whether the current block can be divided only in the horizontal direction (S1107), and if the current block can be divided only in the horizontal direction, the video encoder determines the transformation mode of the current block among the transformation modes 2, 3, and 4 (502, 503, and 504), which are transformation modes for horizontal division (S1108), and adds information indicating one of the transformation modes 2, 3, and 4 (502, 503, and 504) to the bitstream as additional transformation mode information.
  • the video encoder (100) determines whether the current block can be split only in the vertical direction (S1109), and if the current block can be split only in the vertical direction, determines the transformation mode of the current block among transformation modes 8, 9, and 10 (508, 509, 510), which are transformation modes for splitting in the vertical direction (S1110), and configures information indicating one of the transformation modes 8, 9, and 10 (508, 509, 510) as additional transformation mode information and adds it to the bitstream.
  • the video encoder (100) can set information indicating the conversion mode of the current block among conversion modes 2, 3, 4, 8, 9, 10, and 14 (502, 503, 504, 508, 509, 510, and 514) and add it to the bitstream (S1111).
  • Fig. 11b is a flowchart illustrating another example of a process in which a video decoder (200) adaptively determines conversion mode information.
  • the process in Fig. 11b corresponds to the process in which a video encoder (100) sets conversion mode information according to Fig. 11a, and is a process in which a video decoder (200) determines a conversion mode.
  • the video decoder (200) determines the horizontal divisibility and vertical divisibility of the current block in the same manner as the process performed in the video encoder (100) according to FIG. 11a (S1121), and if the current block is arbitrarily impossible to be vertically divided or horizontally divided, the conversion mode of the current block can be set to conversion mode 1 (501) without parsing separate conversion mode information from the bitstream (S1122).
  • the video decoder (200) obtains and parses transformation mode information from the bitstream, unless the current block is arbitrarily incapable of both vertical and horizontal division, and determines whether the current block is to be divided based on the parsed transformation mode information (S1123). For example, if the current block is arbitrarily capable of at least one of vertical division or horizontal division and '0' is obtained as transformation mode information from the bitstream, the video decoder (200) can set the transformation mode of the current block to transformation mode 1 (501) in which the current block is not to be divided (S1124). In this case, the video decoder (200) can end the process of determining the transformation mode of the current block without parsing additional transformation mode information.
  • the video decoder (200) When the video decoder (200) obtains '1' indicating the presence of vertical or horizontal division as the first bit of the conversion mode information, it determines whether the current block is larger than the minimum division block size for which the number of divisions is limited (S1125).
  • the video decoder (200) determines the conversion modes (502, 508) that split the current block only once among candidate conversion modes including conversion modes (502, 503, 504, 508, 509, 510, 514) excluding conversion mode 1 (501), parses conversion mode information indicating the conversion mode of the current block among conversion modes (502, 508) from the bitstream, and determines the conversion mode of the current block among conversion modes (502, 508) 2 and 8 based on the acquired additional conversion mode information (S1126).
  • the video decoder (200) determines whether the current block can be split only in the horizontal direction (S1127), and if the current block can be split only in the horizontal direction, it parses information indicating one of the conversion modes 2, 3, and 4 (502, 503, 504) that is a conversion mode for splitting in the horizontal direction from the bitstream, and determines the conversion mode of the current block among the conversion modes 2, 3, and 504 (502, 503, 504) based on the acquired additional conversion mode information (S1128).
  • the video decoder (200) determines whether the current block can be split only in the vertical direction (S1129), and if the current block can be split only in the vertical direction, the video decoder parses the transformation mode information indicating the transformation mode of the current block from among the transformation modes 8, 9, and 10 (508, 509, 510), which are transformation modes for splitting in the vertical direction, from the bitstream, and determines the transformation mode of the current block from among the transformation modes 8, 9, and 10 (508, 509, 510) based on the acquired additional transformation mode information (S1130).
  • the video decoder (200) parses the transformation mode information indicating the transformation mode of the current block from among the transformation modes 2, 3, 4, 8, 9, 10, and 14 (502, 503, 504, 508, 509, 510, and 514) from the bitstream, and determines the transformation mode of the current block from among the transformation modes 2, 3, 4, 8, 9, 10, and 14 (502, 503, 504, 508, 509, 510, and 514) based on the acquired additional transformation mode information (S1131).
  • Figure 11c is a flow chart showing another example of a process in which a video encoder (100) adaptively configures conversion mode information.
  • the video encoder (100) can sequentially perform the following processes to set conversion mode information indicating the conversion mode determined as the conversion mode of the current block among conversion modes 1, 2, 3, 4, 8, 9, 10, and 14 (501, 502, 503, 504, 508, 509, 510, and 514).
  • the video encoder (100) determines the horizontal and vertical divisibility of the current block (S1141), and if the current block cannot be arbitrarily divided into both vertical and horizontal directions, sets the conversion mode of the current block to conversion mode 1 (501) (S1142) without setting separate conversion mode information. In this case, the following process is not performed, and the conversion mode setting process for the current block is terminated.
  • the video encoder (100) determines whether the current block has been divided according to the optimal transformation mode of the current block, unless both vertical division and horizontal division are arbitrarily impossible for the current block (S1143), and sets and transmits information indicating whether i) vertical or horizontal division exists (e.g., '0' indicates non-division (no vertical or horizontal division exists), '1' indicates division) as the first information of the transformation mode information. For example, if the video encoder (100) allows arbitrarily vertical division or horizontal division and the determined final transformation mode is transformation mode 1 in which the current block is not divided, the video encoder (100) includes only '0' as information indicating whether i) vertical or horizontal division exists in the bitstream (S1144). If the video encoder (100) includes '0' in the bitstream as the transformation mode information, the video encoder skips the process of configuring the information of the additional transformation mode below and ends the transformation mode setting procedure.
  • '0' indicates non-division (no vertical or horizontal division exists
  • the video encoder (100) configures the first bit of the transformation mode information by setting '1' as information indicating whether vertical or horizontal division of i) exists, and then additionally transmits information indicating a transformation mode determined as the optimal transformation mode of the current block among transformation modes 2, 3, 8, 9, 10, and 14 (501, 502, 503, 504, 508, 509, 510, and 514), excluding transformation mode 1 (501) in which the current block is not divided.
  • the video encoder (100) can set additional transformation mode information considering the number of times the current block can be split.
  • the number of times the current block can be split can be set in various ways based on additional information such as the block size. For example, for blocks smaller than a predetermined size, the number of times the current block can be split for determining the transformation block can be limited to a predetermined number (e.g., once).
  • the video encoder (100) determines whether the size of the current block is equal to or larger than the minimum split block size for which the number of splits is limited (S1145). If the number of splits of the current block is limited to 1, the video encoder (100) determines the 2nd and 8th conversion modes (502, 508) that split the current block only once among the 2nd, 3rd, 4th, 8th, 9th, 10th, and 14th conversion modes (502, 503, 508, 509, 514) included in the candidate conversion modes, excluding the 1st conversion mode (501), determines the conversion mode of the current block among the 2nd and 8th conversion modes (502, 508) (S1146), and adds information indicating one of the 2nd and 8th conversion modes (502, 508) to the bitstream as additional conversion mode information.
  • the video encoder (100) determines whether the current block can be divided only in the horizontal direction (S1147), and if the current block can be divided only in the horizontal direction, the video encoder determines the transformation mode of the current block among the transformation modes 2, 3, 4, and 14 (502, 503, 504, and 514), which are transformation modes for horizontal division (S1148), and adds information indicating one of the transformation modes 2, 3, 4, and 14 (502, 503, 504, and 514) to the bitstream as additional transformation mode information.
  • the video encoder (100) determines whether the current block can be split only in the vertical direction (S1149), and if the current block can be split only in the vertical direction, determines the transformation mode of the current block among the transformation modes 8, 9, 10, and 14 (508, 509, 510, and 514) that are transformation modes for splitting in the vertical direction (S1150), and adds information indicating one of the transformation modes 8, 9, 10, and 14 (508, 509, 510, and 514) to the bitstream as additional transformation mode information.
  • the video encoder (100) can set information indicating the conversion mode of the current block among conversion modes 2, 3, 4, 8, 9, 10, and 14 (502, 503, 504, 508, 509, 510, and 514) and add it to the bitstream (S1151).
  • Fig. 11d is a flowchart illustrating another example of a process in which a video decoder (200) adaptively determines conversion mode information.
  • the process in Fig. 11d corresponds to the process in which a video encoder (100) sets conversion mode information according to Fig. 11c, and is a process in which a video decoder (200) determines a conversion mode.
  • the video decoder (200) determines the horizontal divisibility and vertical divisibility of the current block in the same manner as the process performed in the video encoder (100) according to FIG. 11c (S1161), and if the current block is arbitrarily impossible to be vertically divided or horizontally divided, the conversion mode of the current block can be set to conversion mode 1 (501) without parsing separate conversion mode information from the bitstream (S1162).
  • the video decoder (200) obtains and parses transformation mode information from the bitstream, unless the current block is arbitrarily incapable of both vertical and horizontal division, and determines whether the current block is to be divided based on the parsed transformation mode information (S1163). For example, if the current block is arbitrarily capable of at least one of vertical division or horizontal division and '0' is obtained as transformation mode information from the bitstream, the video decoder (200) can set the transformation mode of the current block to transformation mode 1 (501) in which the current block is not to be divided (S1164). In this case, the video decoder (200) can end the process of determining the transformation mode of the current block without parsing additional transformation mode information.
  • the video decoder (200) When the video decoder (200) obtains '1' as the first bit of the conversion mode information indicating the presence of vertical or horizontal division, it determines whether the current block is larger than the minimum division block size for which the number of divisions is limited (S1165).
  • the video decoder (200) determines the 2nd and 8th conversion modes (502, 508) that split the current block only once among candidate conversion modes including the 2nd, 3rd, 4th, 8th, 9th, 10th, and 14th conversion modes (502, 503, 504, 508, 509, 510, 514) excluding the 1st conversion mode (501), parses conversion mode information indicating the conversion mode of the current block among the 2nd and 8th conversion modes (502, 508) from the bitstream, and determines the conversion mode of the current block among the 2nd and 8th conversion modes (502, 508) based on the obtained additional conversion mode information (S1166).
  • the video decoder (200) determines whether the current block can be split only in the horizontal direction (S1167), and if the current block can be split only in the horizontal direction, parses information indicating one of the conversion modes 2, 3, 4, and 14 (502, 503, 504, and 514) that are conversion modes for splitting in the horizontal direction from the bitstream, and determines the conversion mode of the current block among the conversion modes 2, 3, 4, and 14 (502, 503, 504, and 514) based on the acquired additional conversion mode information (S1168).
  • the video decoder (200) determines whether the current block can be split only in the vertical direction (S1169), and if the current block can be split only in the vertical direction, the video decoder parses the transformation mode information indicating the transformation mode of the current block from among the transformation modes 8, 9, 10, and 14 (508, 509, 510, and 514), which are transformation modes in which the current block is split in the vertical direction, from the bitstream, and determines the transformation mode of the current block from among the transformation modes 8, 9, 10, and 14 (508, 509, 510, and 514) based on the acquired additional transformation mode information (S1170).
  • the video decoder (200) parses the transformation mode information indicating the transformation mode of the current block from among the transformation modes 2, 3, 4, 8, 9, 10, and 14 (502, 503, 504, 508, 509, 510, and 514) from the bitstream, and determines the transformation mode of the current block from among the transformation modes 2, 3, 4, 8, 9, 10, and 14 (502, 503, 504, 508, 509, 510, and 514) based on the acquired additional transformation mode information (S1171).
  • FIG. 12a is a flow chart showing another example of a process in which a video encoder (100) adaptively configures conversion mode information.
  • the video encoder (100) can sequentially perform the following processes to set conversion mode information indicating the conversion mode determined as the conversion mode of the current block among conversion modes 1, 2, 3, 4, 8, 9, 10, and 14 (501, 502, 503, 504, 508, 509, 510, and 514).
  • the video encoder (100) determines the horizontal and vertical divisibility of the current block (S1201), and if the current block cannot be arbitrarily divided into both vertical and horizontal directions, sets the conversion mode of the current block to conversion mode 1 (501) (S1202) without setting separate conversion mode information. In this case, the following process is not performed, and the conversion mode setting process for the current block is terminated.
  • the video encoder (100) determines whether the current block has been divided according to the optimal transformation mode of the current block, unless both vertical division and horizontal division are arbitrarily impossible for the current block (S1203), and sets and transmits information indicating whether i) vertical or horizontal division exists (e.g., '0' indicates non-division (no vertical or horizontal division exists), '1' indicates division) as the first information of the transformation mode information. For example, if the video encoder (100) allows arbitrarily vertical division or horizontal division and the determined final transformation mode is transformation mode 1 in which the current block is not divided, the video encoder (100) includes only '0' in the bitstream as information indicating whether i) vertical or horizontal division exists (S1204). If the video encoder (100) includes '0' in the bitstream as the transformation mode information, the video encoder skips the process of configuring the information of the additional transformation mode below and ends the transformation mode setting procedure.
  • '0' indicates non-division (no vertical or horizontal division exists
  • the video encoder (100) configures the first bit of the transformation mode information by setting '1' as information indicating whether vertical or horizontal division of i) exists, and then additionally transmits information indicating a transformation mode determined as the optimal transformation mode of the current block among transformation modes 2, 3, 4, 8, 9, 10, and 14 (501, 502, 503, 504, 508, 509, 510, and 514) excluding transformation mode 1 (501) in which the current block is not divided. Set implicitly.
  • the video encoder (100) first determines whether the current block is divisible in both the vertical and horizontal directions (S1205). If the current block is divisible in both the horizontal and vertical directions, the video encoder (100) can set information indicating the conversion mode of the current block among conversion modes 2, 3, 4, 8, 9, 10, and 14 (502, 503, 504, 508, 509, 510, and 514) and add it to the bitstream (S1206).
  • the video encoder (100) may set additional transformation mode information considering the number of times the current block can be divided.
  • the number of times the current block can be divided may be set in various ways based on additional information such as the block size. For example, for blocks smaller than a predetermined size, the number of times the current block can be divided for determining a transformation block may be limited to a predetermined number (e.g., once).
  • the video encoder (100) determines whether the size of the current block is equal to or larger than the minimum split block size for which the number of splits is limited (S1207). If the number of splits of the current block is limited to 1, the video encoder (100) determines the splittable direction of the current block among the horizontal and vertical directions. Specifically, the video encoder (100) determines whether the current block can be split only in the horizontal direction (S1208), and if the current block can be split only in the vertical direction and not the horizontal direction, the video encoder (100) determines the transformation mode of the current block as transformation mode 8 (508) (S1209), and does not add any additional transformation mode information to the bitstream. In addition, if the current block can be split only in the horizontal direction, the video encoder (100) determines the transformation mode of the current block as transformation mode 2 (502) (S1210), and does not add any additional transformation mode information to the bitstream.
  • transformation mode 8 transformation mode 8
  • the video encoder (100) determines the transformation mode of the current
  • the video encoder (100) determines whether the current block can be divided only in the horizontal direction (S1211), and if the current block can be divided only in the horizontal direction, the video encoder determines the transformation mode of the current block among the transformation modes 2, 3, and 4 (502, 503, and 504), which are transformation modes for horizontal division (S1212), and adds information indicating one of the transformation modes 2, 3, and 4 (502, 503, and 504) to the bitstream as additional transformation mode information.
  • the video encoder (100) determines whether the current block can be split only in the vertical direction (S1213), and if the current block can be split only in the vertical direction, determines the transformation mode of the current block among transformation modes 8, 9, and 10 (508, 509, 510), which are transformation modes for splitting in the vertical direction (S1214), and adds information indicating one of the transformation modes 8, 9, and 10 (508, 509, 510) to the bitstream as additional transformation mode information.
  • Fig. 12b is a flowchart illustrating another example of a process in which a video decoder (200) adaptively determines conversion mode information.
  • the process in Fig. 12b corresponds to the process in which a video encoder (100) sets conversion mode information according to Fig. 12a, and is a process in which a video decoder (200) determines a conversion mode.
  • the video decoder (200) determines the horizontal divisibility and vertical divisibility of the current block in the same manner as the process performed in the video encoder (100) according to FIG. 12a (S1221), and if the current block is arbitrarily impossible to be divided vertically or horizontally, the conversion mode of the current block can be set to conversion mode 1 (501) without parsing separate conversion mode information from the bitstream (S1222).
  • the video decoder (200) obtains and parses transformation mode information from the bitstream, unless the current block is arbitrarily incapable of both vertical and horizontal division, and determines whether the current block is to be divided based on the parsed transformation mode information (S1223). For example, if the current block is arbitrarily capable of at least one of vertical division or horizontal division and '0' is obtained as transformation mode information from the bitstream, the video decoder (200) can set the transformation mode of the current block to transformation mode 1 (501) in which the current block is not to be divided (S1224). In this case, the video decoder (200) can end the process of determining the transformation mode of the current block without parsing additional transformation mode information.
  • the video decoder (200) determines whether the current block is divisible in both horizontal and vertical directions (S1225). If the current block is divisible in both horizontal and vertical directions, the video decoder (100) may additionally parse information indicating the transformation mode of the current block from among transformation modes 2, 3, 4, 8, 9, 10, and 14 (502, 503, 504, 508, 509, 510, and 514) from the bitstream, and determine the transformation mode of the current block from among transformation modes 2, 3, 4, 8, 9, 10, and 14 (502, 503, 504, 508, 509, 510, and 514) based on the parsed additional transformation mode information (S1226).
  • the video decoder (100) can determine whether to parse additional transformation mode information by considering the number of times the current block can be divided.
  • the number of times the current block can be divided can be set in various ways based on additional information such as the block size. For example, for blocks smaller than a predetermined size, the number of times the current block can be divided for determining a transformation block can be limited to a predetermined number (e.g., once).
  • the video decoder (200) determines whether the current block is larger than or equal to the minimum split block size that limits the number of splits (S1227), and if the size of the current block is smaller than the minimum split block size, and the number of splits of the current block is limited to 1, the video decoder (200) determines the splittable direction of the current block among the horizontal and vertical directions again. Specifically, the video decoder (200) determines whether the current block can be split only in the horizontal direction (S1228), and if the current block can be split only in the vertical direction and not the horizontal direction, the video decoder (200) determines the transformation mode of the current block as the 8th transformation mode (508) without parsing additional transformation mode information separately (S1229). In addition, the video decoder (200) determines the transformation mode of the current block as the 2nd transformation mode (502) without parsing additional transformation mode information separately (S1230) if the current block can be split only in the horizontal direction.
  • the video decoder (200) determines whether the current block can be split only in the horizontal direction (S1231), and if the current block can be split only in the horizontal direction, it parses additional conversion mode information indicating the conversion mode of the current block from among conversion modes 2, 3, and 4 (502, 503, and 504), which are conversion modes for splitting in the horizontal direction, from the bitstream, and determines one of conversion modes 2, 3, and 4 (502, 503, and 504) as the conversion mode of the current block based on the parsed additional conversion mode information (S1232).
  • the video decoder (200) determines whether the current block can be split only in the vertical direction (S1233), and if the current block can be split only in the vertical direction, it parses additional transformation mode information indicating the transformation mode of the current block from among transformation modes 8, 9, and 10 (508, 509, 510), which are transformation modes for splitting in the vertical direction, from the bitstream, and determines one of transformation modes 8, 9, and 10 (508, 509, 510) as the transformation mode of the current block based on the parsed additional transformation mode information (S1234).
  • FIG. 12c is a flow chart showing another example of a process in which a video encoder (100) adaptively configures conversion mode information.
  • the video encoder (100) can sequentially perform the following processes to set conversion mode information indicating the conversion mode determined as the conversion mode of the current block among conversion modes 1, 2, 3, 4, 8, 9, 10, and 14 (501, 502, 503, 504, 508, 509, 510, and 514).
  • the video encoder (100) determines the horizontal and vertical divisibility of the current block (S1241), and if the current block cannot be arbitrarily divided into both vertical and horizontal directions, sets the conversion mode of the current block to conversion mode 1 (501) (S1242) without setting separate conversion mode information. In this case, the following process is not performed, and the conversion mode setting process for the current block is terminated.
  • the video encoder (100) determines whether the current block has been divided according to the optimal transformation mode of the current block, unless both vertical division and horizontal division are arbitrarily impossible for the current block (S1243), and sets and transmits information indicating whether i) vertical or horizontal division exists (e.g., '0' indicates non-division (no vertical or horizontal division exists), '1' indicates division) as the first information of the transformation mode information. For example, if the video encoder (100) allows arbitrarily vertical division or horizontal division and the determined final transformation mode is transformation mode 1 in which the current block is not divided, the video encoder (100) includes only '0' in the bitstream as information indicating whether i) vertical or horizontal division exists (S1244). If the video encoder (100) includes '0' in the bitstream as the transformation mode information, the video encoder skips the process of configuring the information of the additional transformation mode below and ends the transformation mode setting procedure.
  • '0' indicates non-division (no vertical or horizontal division exists
  • the video encoder (100) configures the first bit of the transformation mode information by setting '1' as information indicating whether vertical or horizontal division of i) exists, and then additionally transmits information indicating a transformation mode determined as the optimal transformation mode of the current block among transformation modes 2, 3, 4, 8, 9, 10, and 14 (501, 502, 503, 504, 508, 509, 510, and 514) excluding transformation mode 1 (501) in which the current block is not divided. Set implicitly.
  • the video encoder (100) first determines whether the current block is divisible in both the vertical and horizontal directions (S1245). If the current block is divisible in both the horizontal and vertical directions, the video encoder (100) can set information indicating the conversion mode of the current block among conversion modes 2, 3, 4, 8, 9, 10, and 14 (502, 503, 504, 508, 509, 510, and 514) and add it to the bitstream (S1246).
  • the video encoder (100) may set additional transformation mode information considering the number of times the current block can be divided.
  • the number of times the current block can be divided may be set in various ways based on additional information such as the block size. For example, for blocks smaller than a predetermined size, the number of times the current block can be divided for determining a transformation block may be limited to a predetermined number (e.g., once).
  • the video encoder (100) determines whether the size of the current block is equal to or larger than the minimum split block size for which the number of splits is limited (S1247). If the number of splits of the current block is limited to 1, the video encoder (100) determines the splittable direction of the current block among the horizontal and vertical directions. Specifically, the video encoder (100) determines whether the current block can be split only in the horizontal direction (S1248), and if the current block can be split only in the vertical direction and not the horizontal direction, the video encoder (100) determines the transformation mode of the current block as transformation mode 8 (508) (S1249), and does not add any additional transformation mode information to the bitstream. In addition, if the current block can be split only in the horizontal direction, the video encoder (100) determines the transformation mode of the current block as transformation mode 2 (502) (S1250), and does not add any additional transformation mode information to the bitstream.
  • transformation mode 8 transformation mode 8
  • the video encoder (100) determines the transformation mode of the current
  • the video encoder (100) determines whether the current block can be divided only in the horizontal direction (S1251), and if the current block can be divided only in the horizontal direction, the video encoder determines the transformation mode of the current block among the transformation modes 2, 3, 4, and 14 (502, 503, 504, and 514), which are transformation modes for horizontal division (S1252), and adds information indicating one of the transformation modes 2, 3, 4, and 14 (502, 503, 504, and 514) to the bitstream as additional transformation mode information.
  • the video encoder (100) determines whether the current block can be split only in the vertical direction (S1253), and if the current block can be split only in the vertical direction, determines the conversion mode of the current block among conversion modes 8, 9, 10, and 14 (508, 509, 510, and 514), which are conversion modes for splitting in the vertical direction (S1254), and adds information indicating one of conversion modes 8, 9, 10, and 14 (508, 509, 510, and 514) to the bitstream as additional conversion mode information.
  • Fig. 12d is a flowchart illustrating another example of a process in which a video decoder (200) adaptively determines conversion mode information.
  • the process in Fig. 12d corresponds to the process in which a video encoder (100) sets conversion mode information according to Fig. 12c, and is a process in which a video decoder (200) determines a conversion mode.
  • the video decoder (200) determines the horizontal divisibility and vertical divisibility of the current block in the same manner as the process performed in the video encoder (100) according to FIG. 12c (S1261), and if the current block is arbitrarily impossible to be divided in both the vertical and horizontal directions, the conversion mode of the current block can be set to conversion mode 1 (501) without parsing separate conversion mode information from the bitstream (S1262).
  • the video decoder (200) obtains and parses transformation mode information from the bitstream, unless the current block is arbitrarily incapable of both vertical and horizontal division, and determines whether the current block is to be divided based on the parsed transformation mode information (S1263). For example, if the current block is arbitrarily capable of at least one of vertical division or horizontal division and '0' is obtained as transformation mode information from the bitstream, the video decoder (200) can set the transformation mode of the current block to transformation mode 1 (501) in which the current block is not to be divided (S1264). In this case, the video decoder (200) can end the process of determining the transformation mode of the current block without parsing additional transformation mode information.
  • the video decoder (200) determines whether the current block is divisible in both horizontal and vertical directions (S1265). If the current block is divisible in both horizontal and vertical directions, the video decoder (100) may additionally parse information indicating the transformation mode of the current block from among transformation modes 2, 3, 4, 8, 9, 10, and 14 (502, 503, 504, 508, 509, 510, and 514) from the bitstream, and determine the transformation mode of the current block from among transformation modes 2, 3, 4, 8, 9, 10, and 14 (502, 503, 504, 508, 509, 510, and 514) based on the parsed additional transformation mode information (S1266).
  • the video decoder (100) can determine whether to parse additional transformation mode information by considering the number of times the current block can be divided.
  • the number of times the current block can be divided can be set in various ways based on additional information such as the block size. For example, for blocks smaller than a predetermined size, the number of times the current block can be divided for determining a transformation block can be limited to a predetermined number (e.g., once).
  • the video decoder (200) determines whether the current block is larger than or equal to the minimum split block size that limits the number of splits (S1267), and if the size of the current block is smaller than the minimum split block size, and the number of splits of the current block is limited to 1, the video decoder (200) determines the splittable direction of the current block among the horizontal and vertical directions again. Specifically, the video decoder (200) determines whether the current block can be split only in the horizontal direction (S1268), and if the current block can be split only in the vertical direction and not the horizontal direction, the video decoder (200) determines the transformation mode of the current block as the 8th transformation mode (508) without parsing additional transformation mode information separately (S1269). In addition, the video decoder (200) determines the transformation mode of the current block as the 2nd transformation mode (502) without parsing additional transformation mode information separately (S1270) if the current block can be split only in the horizontal direction.
  • the video decoder (200) determines whether the current block can be split only in the horizontal direction (S1271), and if the current block can be split only in the horizontal direction, the video decoder parses additional transformation mode information indicating the transformation mode of the current block from among transformation modes 2, 3, 4, and 14 (502, 503, 504, and 514), which are transformation modes for splitting in the horizontal direction, from the bitstream, and determines one of transformation modes 2, 3, 4, and 14 (502, 503, 504, and 514) as the transformation mode of the current block based on the parsed additional transformation mode information (S1272).
  • the video decoder (200) determines whether the current block can be split only in the vertical direction (S1273), and if the current block can be split only in the vertical direction, the video decoder parses additional transformation mode information indicating the transformation mode of the current block from among transformation modes 8, 9, 10, and 14 (508, 509, 510, and 514), which are transformation modes for splitting in the vertical direction, from the bitstream, and determines one of transformation modes 8, 9, 10, and 14 (508, 509, 510, and 514) as the transformation mode of the current block based on the parsed additional transformation mode information (S1274).
  • the transformation mode information may be configured based on statistical information of the transformation mode determined as the transformation mode before the current block.
  • the transformation mode statistical information applied to the surrounding blocks of the current block may be used.
  • the vertical divisibility and the horizontal divisibility of the current block may be determined based on the statistical ratio information of the transformation mode applied to the surrounding blocks of the current block, and the transformation mode information may be adaptively configured based on the determined vertical divisibility and horizontal divisibility of the current block. For example, when only the transformation mode 1 (501) in which no division is performed is used as the transformation mode of the surrounding blocks located above and to the left of the current block, the vertical and horizontal divisibility of the current block may be determined to not exist.
  • the current block can be determined to have only the possibility of horizontal division.
  • the current block can be determined to have only the possibility of vertical division.
  • the current block can be determined to be divisible in both horizontal and vertical directions.
  • the video encoder (100) can determine the vertical divisibility and horizontal divisibility of the current block based on the transformation mode statistical information applied to the surrounding blocks, adaptively determine the semantics of the transformation mode information based on the vertical divisibility and horizontal divisibility of the current block, and set the transformation mode information of the current block to include in the bitstream.
  • the video decoder (200) can determine the vertical divisibility and horizontal divisibility of the current block based on the transformation mode statistical information applied to the surrounding blocks, identify the semantics of the transformation mode information obtained from the bitstream based on the vertical divisibility and horizontal divisibility of the current block, and determine the transformation mode of the current block based on the transformation mode information.
  • the transformation mode information is not included in the bitstream, and the transformation block of the current block may be determined to have the same size and shape as the current block. That is, if the current block is not divisible in either the vertical or horizontal direction, the separate transformation mode information may be skipped, and the first transformation mode (501) may be determined as the transformation mode of the current block.
  • the transformation mode information includes i) information indicating whether a vertical or horizontal division exists (e.g., '0' indicates indivisibility, '1' indicates division), and if the information in i) indicates division such as '1', the transformation mode information may additionally include ii) information indicating one of the candidate transformation modes.
  • transformation modes 1, 2, 8, and 14 (501, 502, 508, and 514) are determined as candidate transformation modes applicable to the current block, and if the current block is determined to be divisible in at least one of the horizontal and vertical division directions, information indicating '1' as information indicating whether a vertical or horizontal division exists and one of the transformation modes 2, 8, and 14 (502, 508, and 514) excluding transformation mode 1 (501) may be set as the transformation mode information.
  • the transformation mode information may include i) information indicating whether a vertical or horizontal split exists (e.g., '0' means not split, '1' means split) and additionally ii) information indicating one of the candidate transformation modes that are split in the splittable direction. For example, if transformation modes 1, 2, 8, and 14 (501, 502, 508, and 514) are determined as candidate transformation modes applicable to the current block, and the current block can be split only in the horizontal direction among the horizontal and vertical divisions, information indicating whether a vertical or horizontal split exists, '1', and information indicating one of transformation mode 2 (502) and transformation mode 14 (514) may be set as the transformation mode information.
  • '1' may be set as information indicating whether vertical or horizontal division exists, and information indicating one of the 8th conversion mode (507) and the 14th conversion mode (514) may be set as conversion mode information.
  • the transformation mode information in order to efficiently transmit the transformation mode applied to the current block, may be configured based on transformation mode statistical information or additional information applied to a neighboring block processed before the current block. Based on the transformation mode statistical information or additional information, a final candidate transformation mode may be determined among candidate transformation modes, and transformation mode information indicating one candidate transformation mode among the final candidate transformation modes may be set. Based on the statistical ratio information or additional information of the transformation modes applied to neighboring blocks of the current block, the vertical divisibility and the horizontal divisibility of the current block may be determined, and the transformation mode information may be adaptively configured based on the determined vertical divisibility and horizontal divisibility of the current block.
  • conversion modes 1, 2, 3, 8, 9, and 14 are determined as candidate conversion modes of the current block, and conversion mode information is set to signal the optimal conversion mode determined among these six conversion modes.
  • the transformation mode information is not included in the bitstream, and the transformation block of the current block may be determined to have the same size and shape as the current block. That is, if the current block is not divisible in either the vertical or horizontal direction, the separate transformation mode information may be skipped, and the first transformation mode (501) may be determined as the transformation mode of the current block.
  • the conversion mode information includes i) information indicating whether a vertical or horizontal division exists (e.g., '0' indicates no division, '1' indicates division), and if the information in i) indicates division as '1', the conversion mode information may additionally include ii) information indicating one of the remaining candidate conversion modes, excluding conversion mode 1 (501), namely conversion modes 2, 3, 8, 9, and 14 (502, 503, 508, 509, and 514).
  • the current block can be split only in one of the vertical and horizontal directions, and the number of times the current block can be split is 1 based on the size information of the current block, and only the minimum number of times the current block can be split, information indicating one of the candidate conversion modes among conversion modes 1, 2, 3, 8, 9, and 14 (501, 502, 503, 508, 509, and 514), conversion mode 2 (502) in which one division is performed in the horizontal direction and conversion mode 8 (508) in which one division is performed in the vertical direction can be set as conversion mode information.
  • the current block can be split only in one of the vertical and horizontal directions, and the number of times the current block can be split is one or more based on the size information of the current block, information indicating one of the conversion modes 2 and 3 (502, 503) in which one or more splits are performed in the horizontal direction and one or more conversion modes 8 and 9 (508, 509) in which one or more splits are performed in the vertical direction among the candidate conversion modes 1, 2, 3, 8, 9, and 14 (501, 502, 503, 508, 509, and 514) can be set as the conversion mode information.
  • conversion modes 1, 2, 3, 4, 8, 9, 10, and 14 (501, 502, 503, 504, 508, 509, 510, and 514) are determined as candidate conversion modes of the current block, and conversion mode information is set to signal the optimal conversion mode determined among these eight conversion modes.
  • the transformation mode information is not included in the bitstream, and the transformation block of the current block may be determined to have the same size and shape as the current block. That is, if the current block is not divisible in either the vertical or horizontal direction, the separate transformation mode information may be skipped, and the first transformation mode (501) may be determined as the transformation mode of the current block.
  • the conversion mode information includes i) information indicating whether a vertical or horizontal division exists (e.g., '0' indicates no division, '1' indicates division), and if the information in i) indicates division as '1', the conversion mode information may additionally include ii) information indicating one of the candidate conversion modes 2, 3, 4, 8, 9, 10, and 14 (502, 503, 504, 508, 509, 510, and 514), excluding conversion mode 1 (501).
  • the current block can be split only in one of the vertical and horizontal directions, and the number of times the current block can be split is one based on the size information of the current block, and only the minimum number of times the current block can be split, among the conversion modes 1, 2, 3, 4, 8, 9, 10, and 14 (501, 502, 503, 504, 508, 509, 510, and 514) included in the candidate conversion mode, a conversion mode in which no split is performed in the horizontal or vertical direction once is excluded from the candidate conversion mode, and information indicating one of the conversion mode 2 (502) in which a split is performed once in the horizontal direction and the conversion mode 8 (508) in which a split is performed once in the vertical direction can be set as the conversion mode information.
  • the current block can be split in only one of the vertical and horizontal directions, and the number of times the current block can be split is one or more based on the size information of the current block, among the conversion modes 1, 2, 3, 4, 8, 9, 10, and 14 (501, 502, 503, 504, 508, 509, 510, and 514) included in the candidate conversion modes, conversion modes in which at least one division in the horizontal or vertical direction is not performed are excluded from the candidate conversion modes, and information indicating one of the conversion modes 2, 3, and 4 (502, 503, and 504) in which at least one division is performed in the horizontal direction, and the conversion modes 8, 9, and 10 (508, 509, and 510) in which at least one division is performed in the vertical direction among the candidate conversion modes can be set as the conversion mode information.
  • the video encoder (100) includes transformation mode information of the current block in the bitstream according to one of various methods, and the video decoder (200) can parse the transformation mode information included in the bitstream to determine the transformation mode applied to the current block.
  • the conversion mode information can be set in various ways such as unary coding, fixed length coding, variable length coding, and exponential global coding.
  • the conversion mode information can be set as the conversion mode information.
  • the present invention is not limited thereto, and the conversion mode information can be set by applying various coding methods.
  • a final candidate transformation mode may be determined by eliminating transformation modes that are not applicable to the current block among the transformation modes included in the candidate transformation modes based on the additional information of the current block or the statistical information of the surrounding blocks, and transformation mode information indicating the transformation mode applied to the current block among the transformation modes included in the determined final candidate transformation mode may be transmitted.
  • current frame information, slice information, partitioning information of the current block the size of the current block, the shape of the current block, prediction mode information of the current block, partitioning information of the parent block including the current block, the size of the parent block, the shape of the parent block, prediction mode information of the parent block, transformation mode information of the surrounding blocks of the current block, the maximum value of the transformation coefficient included in the current block, the position of the last non-zero transformation coefficient of the current block according to a predetermined scanning order, etc.
  • additional information current frame information, slice information, partitioning information of the current block, the size of the current block, the shape of the current block, prediction mode information of the current block, partitioning information of the parent block including the current block, the size of the parent block, the shape of the parent block, prediction mode information of the parent block, transformation mode information of the surrounding blocks of the current block, the maximum value of the transformation coefficient included in the current block, the position of the last non-zero transformation coefficient of the current block according to a predetermined scanning order, etc.
  • the transformation modes applicable to the current block may be limited or certain transformation modes may be excluded depending on certain conditions, as follows.
  • the 14th transformation mode (514) that divides the current partition into four is allowed, and in other cases, the 14th transformation mode (514) can be set not to be allowed.
  • the length of the smaller side of the width or height of the current block is equal to the minimum convertible length, it may be set that no splitting is performed for the conversion of the current block. That is, if the length of the smaller side of the width or height of the current block is equal to the minimum convertible length, only the first conversion mode (501) may be set to be allowed.
  • - Transformation modes can be set to allow the current block to be split only if the length of the smaller side of the width or height of the current block is greater than or equal to a predetermined length (e.g., 4 or 8).
  • - Transformation modes can be set to allow the current block to be split only when the total number of pixels belonging to the current block is greater than or equal to a predetermined number.
  • the size of the current block is larger than the size of a processing unit, which is a data unit used in a processing process in a video encoder (100) or a video decoder (200), only a conversion mode using a conversion block smaller than the size of the processing unit may be set to be allowed.
  • a processing unit which is a data unit used in a processing process in a video encoder (100) or a video decoder (200)
  • the transformation mode that cannot be performed according to the boundary condition can be set to not be allowed.
  • the candidate transformation mode applicable to the current block can be finally determined.
  • a context model for coding transformation mode information can be constructed based on additional information related to the current block.
  • the context model can be constructed based on additional information such as current frame information, slice information, partitioning information of the current block, size of the current block, shape of the current block, prediction mode information of the current block, partitioning information of a parent block including the current block, size of the parent block, shape of the parent block, prediction mode information of the parent block, transformation mode information of a neighboring block of the current block, maximum value of a transformation coefficient included in the current block, and position of the last non-zero transformation coefficient of the current block according to a predetermined scanning order.
  • different context models can be configured based on the size of the current block.
  • blocks can be classified into categories such as blocks with a size less than 8x8, blocks with a size greater than or equal to 8x8 but less than 16x16, blocks with a size greater than or equal to 16x16 but less than 32x32, and blocks with a size greater than or equal to 32x32, and a different context model can be configured for each category.
  • a context model can be constructed based on the transformation modes used in surrounding blocks.
  • a context model can be constructed based on the selected modes of the left and upper blocks, and transformation mode information can be coded based on this.
  • Another example is the association between syntaxes that constitute transformation mode information.
  • FIG. 6 is a flowchart of a video encoding method according to one embodiment of the present disclosure.
  • the video encoder (100) can determine a CU, which is a leaf node that is no longer divided, based on the block partitioning structure exemplified in FIGS. 3a, 3b, etc. described above, and perform prediction and transformation on a CU basis.
  • the video encoder (100) determines at least one candidate transformation mode available for transformation of the current block from among the plurality of candidate transformation modes illustrated in FIG. 5 described above to perform transformation (S610).
  • the plurality of candidate transformation modes may include a transformation mode that uses a transformation block of the same size as the current block, and a transformation mode that uses a transformation block obtained by dividing the current block at a predetermined ratio in at least one of the horizontal and vertical directions.
  • the video encoder (100) may determine the candidate transformation mode based on the aforementioned additional information or statistical information of the transformation mode used in the surrounding blocks.
  • the video encoder (100) may determine the candidate transformation mode for at least one unit among a sequence, a GOP, a picture, a slice, a CTU, a CU, and a TU unit, and may add transformation mode support information that can be supported for at least one unit among a sequence, a GOP, a picture, a slice, a CTU, a CU, and a TU unit to the bitstream.
  • the video encoder (100) determines the transformation mode applied to the transformation of the current block from among at least one candidate transformation mode (S620).
  • the transformation mode applied to the transformation of the current block may be implicitly set based on additional information, or may include information explicitly indicating the transformation mode applied to the current block.
  • the transformation mode applied to the current block may be signaled according to one of the various embodiments described above, and a detailed description thereof will be omitted.
  • the video encoder (100) determines a transformation block to be used for transformation of the current block based on the determined transformation mode (S630), and performs transformation for the current block in units of transformation blocks (S640).
  • FIG. 7 is a flow chart of a video decoding method according to one embodiment of the present disclosure.
  • the video decoder (200) can determine a CU, which is a leaf node that is no longer divided, based on block partitioning information included in the bitstream, and perform prediction and inverse transformation processes on a CU basis.
  • the video encoder (200) determines at least one candidate transformation mode available for transformation of the current block from among the plurality of candidate transformation modes illustrated in FIG. 5 described above in order to perform inverse transformation (S710).
  • the plurality of candidate transformation modes may include a transformation mode that uses a transformation block of the same size as the current block, and a transformation mode that uses a transformation block obtained by dividing the current block at a predetermined ratio in at least one of the horizontal and vertical directions.
  • the video decoder (200) may determine the candidate transformation mode based on the statistical information of the transformation mode used in the aforementioned additional information or the surrounding blocks.
  • the video decoder (200) may obtain transformation mode support information that can be supported for at least one unit among a sequence, a GOP, a picture, a slice, a CTU, a CU, and a TU unit from a bitstream, and determine the candidate transformation mode for at least one unit among a sequence, a GOP, a picture, a slice, a CTU, a CU, and a TU unit based on the transformation mode support information.
  • the video decoder (200) determines the transformation mode applied to the transformation of the current block among at least one candidate transformation mode (S720).
  • the transformation mode applied to the transformation of the current block may be implicitly set based on additional information, or explicitly set from transformation mode information included in the bitstream.
  • the transformation mode applied to the current block may be signaled according to one of the various embodiments described above, and a detailed description thereof will be omitted.
  • the video decoder (200) determines a transformation block to be used for inverse transformation of the current block based on the determined transformation mode (S730), and performs inverse transformation for the current block in units of transformation blocks (S740).
  • the methods described herein may be performed by a processor of a video encoder or video decoder.
  • the encoder may generate a bitstream that is decoded by a video signal processing method, and the bitstream generated by the encoder may be stored in a computer-readable, non-transitory storage medium (recording medium).
  • embodiments of the present invention described above may be implemented through various means.
  • the embodiments of the present invention may be implemented using hardware, firmware, software, or a combination thereof.
  • Computer-readable media may be any available media that can be accessed by a computer, and includes both volatile and nonvolatile media, removable and non-removable media.
  • Computer-readable media may include both computer storage media and communication media.
  • Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storing information, such as computer-readable instructions, data structures, program modules, or other data.
  • Communication media typically includes other data, such as computer-readable instructions, data structures, or program modules, in a modulated data signal, or other transport mechanism, and includes any information delivery media.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

A video decoding method of the present disclosure comprises: determining one or more candidate transform modes available for transforming the current block from among a plurality of candidate transform modes; determining a transform mode applied to the transformation of the current block from among the one or more candidate transform modes; determining, on the basis of the determined transform mode, a transform block used for inverse transformation of the current block; and performing inverse transformation on the current block in units of transform blocks.

Description

적응적 λ³€ν™˜ λͺ¨λ“œμ— κΈ°λ°˜ν•œ λΉ„λ””μ˜€ λΆ€ν˜Έν™” 방법 및 μž₯치, λΉ„λ””μ˜€ λ³΅ν˜Έν™” 방법 및 μž₯치Video encoding method and device based on adaptive transform mode, video decoding method and device

λ³Έ κ°œμ‹œλŠ” λΉ„λ””μ˜€μ˜ λΆ€ν˜Έν™” 및 λ³΅ν˜Έν™” 뢄야에 κ΄€ν•œ 것이닀. 보닀 ꡬ체적으둜, λ³Έ κ°œμ‹œλŠ” λ³€ν™˜ λΈ”λ‘μ˜ 크기 및 ν˜•νƒœλ₯Ό λ‹€μ–‘ν•˜κ²Œ μ„€μ •ν•œ 볡수 개의 λ³€ν™˜ λͺ¨λ“œλ₯Ό μ΄μš©ν•˜μ—¬ λ³€ν™˜ 코딩을 μˆ˜ν–‰ν•˜λ©°, λ³€ν™˜ 코딩에 이용된 λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό 효율적으둜 μ‹œκ·Έλ„λ§ν•˜λŠ” λ³€ν™˜ 방법 및 μž₯μΉ˜μ— κ΄€ν•œ 것이닀.The present disclosure relates to the field of video encoding and decoding. More specifically, the present disclosure relates to a transform coding method and device that performs transform coding using a plurality of transform modes with variously set sizes and shapes of transform blocks, and efficiently signals transform mode information used in transform coding.

고해상도 λ˜λŠ” κ³ ν™”μ§ˆ μ˜μƒ μ»¨ν…νŠΈλ₯Ό μž¬μƒ, μ €μž₯ν•  수 μžˆλŠ” ν•˜λ“œμ›¨μ–΄μ˜ 개발 및 보급에 따라, 고해상도 λ˜λŠ” κ³ ν™”μ§ˆ μ˜μƒ μ»¨ν…νŠΈλ₯Ό 효과적으둜 λΆ€ν˜Έν™” λ˜λŠ” λ³΅ν˜Έν™” ν•˜λŠ” 코덱(codec)의 ν•„μš”μ„±μ΄ μ¦κ°€ν•˜κ³  μžˆλ‹€. μ΅œκ·Όμ—λŠ” μ΄λŸ¬ν•œ 고해상도 λ˜λŠ” κ³ ν™”μ§ˆ μ˜μƒ μ»¨ν…νŠΈλ₯Ό 효과적으둜 μ••μΆ•ν•˜κΈ° μœ„ν•œ 방법듀이 μ‹€μ‹œλ˜κ³  μžˆλ‹€. λŒ€ν‘œμ μΈ μ½”λ±μ˜ μ˜ˆλ‘œμ„œ HEVC(High Efficiency Video Coding) 및 VVC(Versatile Video Coding) 등이 μžˆλ‹€.With the development and widespread adoption of hardware capable of playing and storing high-resolution or high-definition video content, the need for codecs that effectively encode or decode this content is increasing. Recently, methods for effectively compressing such high-definition or high-definition video content have been implemented. Representative examples of codecs include High Efficiency Video Coding (HEVC) and Versatile Video Coding (VVC).

λΉ„λ””μ˜€ μ½”λ”© ν‘œμ€€μ—μ„œλŠ” μ••μΆ• μ„±λŠ₯을 ν–₯μƒμ‹œν‚€κΈ° μœ„ν•΄ λ³€ν™˜(Transform) μ½”λ”© 기법을 ν™œμš©ν•˜κ³  μžˆλ‹€. λ³€ν™˜ 코딩은 ν”½μ…€ 도메인에 μžˆλŠ” μž”μ°¨ 값을 주파수 λ„λ©”μΈμœΌλ‘œ λ³€κ²½ν•˜μ—¬ μ½”λ”©μ˜ λŒ€μƒμœΌλ‘œ μ‚ΌλŠ” μ••μΆ• 기법이닀. κΈ°μ‘΄ λΉ„λ””μ˜€ μ½”λ”© ν‘œμ€€μ—μ„œλŠ” DCT(Discrete Cosine Transform), DST(Discrete Sine Transform)등을 ν™œμš©ν•˜μ—¬ 주파수 κ°’μœΌλ‘œ λ³€κ²½ν•˜λŠ”λ°, μ΄λ•Œ λ³€κ²½λ˜λŠ” 블둝 μ‚¬μ΄μ¦ˆμ— λŒ€ν•œ μ œν•œμ„±μ΄ μ‘΄μž¬ν•œλ‹€. ν•΄λ‹Ή μ œν•œμ„±μœΌλ‘œ μΈν•˜μ—¬ μ΅œμ ν™”λœ μ••μΆ•μ„±λŠ₯을 μ œκ³΅ν•˜μ§€ λͺ»ν•˜λŠ” μ΄μŠˆκ°€ λ°œμƒν•œλ‹€.Video coding standards utilize transform coding techniques to improve compression performance. Transform coding is a compression technique that transforms residual values in the pixel domain into the frequency domain and uses them as the target of coding. Existing video coding standards utilize discrete cosine transforms (DCTs) and discrete sine transforms (DSTs) to convert these values into frequency values. However, there are limitations on the block size that can be changed. These limitations lead to issues with providing optimal compression performance.

HEVC/H.265 ν‘œμ€€μ˜ 경우 νŠΈλžœμŠ€νΌμ€ TU(Transform unit) λ‹¨μœ„λ‘œ μ„€μ •λ˜κ³  λ³€ν™˜μ΄ 이루어 μ§„λ‹€. λ¨Όμ € CU(Coding Unit)에 ν•΄λ‹Ήν•˜λŠ” 블둝 μ‚¬μ΄μ¦ˆλŠ” RQT과정을 ν†΅ν•˜μ—¬ Quad-tree λ°©μ‹μœΌλ‘œ λΆ„ν• λœ ν›„ λΆ„ν• λœ μ‚¬μ΄μ¦ˆμ— 따라 각각 λ³€ν™˜κ³Όμ •μ΄ 이루어 μ§„λ‹€. 예λ₯Ό λ“€μ–΄ 32x32 CUλŠ” 32x32, 16x16, 8x8,4x4λ“±μ˜ λΈ”λ‘λ“€λ‘œ λΆ„ν• λ˜μ–΄ λ³€ν™˜μ΄ 이루어진닀.For the HEVC/H.265 standard, the transform is set in units of TU (Transform Unit) and the conversion is performed. First, the block size corresponding to the CU (Coding Unit) is divided into Quad-tree method through the RQT process, and then the conversion process is performed for each divided size. For example, a 32x32 CU is divided into blocks such as 32x32, 16x16, 8x8, and 4x4 and the conversion is performed.

HEVC/H.265 ν‘œμ€€μ—μ„œλŠ” RQT과정을 톡해 μž”μ°¨μ˜ νŠΉμ„±μ„ κ³ λ €ν•œ λ³€ν™˜κ³Όμ •μ„ κ°€λŠ₯ν•˜κ²Œ ν•˜μ§€λ§Œ, λͺ¨λ“  뢄할이 Quad-tree 뢄할을 μ€‘μ‹¬μœΌλ‘œ 이루어져 μ΅œμ ν™”λœ λΆ„ν•  μ‚¬μ΄μ¦ˆλ₯Ό λ§Œλ“€μ–΄λ‚΄μ§€ λͺ»ν•˜λŠ” 단점이 μ‘΄μž¬ν•œλ‹€.The HEVC/H.265 standard enables a conversion process that considers the characteristics of the residual through the RQT process, but has the disadvantage of not being able to create an optimized split size because all splits are centered around Quad-tree splits.

VVC/H.266 ν‘œμ€€μ˜ 경우 λ³€ν™˜μ€ νŠΉμˆ˜ν•œ 경우λ₯Ό μ œμ™Έν•˜κ³  기본적으둜 CUμ‚¬μ΄μ¦ˆμ™€ λ™μΌν•œ 블둝 μ‚¬μ΄μ¦ˆλ‘œ λ³€ν™˜μ΄ 이루어진닀. CU블둝 μ‚¬μ΄μ¦ˆκ°€ non-square λΈ”λ‘μœΌλ‘œ 결정될 수 있기 λ•Œλ¬Έμ— λ³€ν™˜ 블둝 μ‚¬μ΄μ¦ˆλ„ μ •μ‚¬κ°ν˜•μ΄ μ•„λ‹Œ μ§μ‚¬κ°ν˜• ν˜•νƒœκ°€ κ°€λŠ₯ν•˜μ—¬ μž”μ°¨μ˜ νŠΉμ„±μ΄ 반영된 λ³€ν™˜μ„ μˆ˜ν–‰ν•  수 μžˆλ‹€. VVC/H.266 ν‘œμ€€μ—μ„œλŠ” νŠΈλžœμŠ€νΌμ„ μœ„ν•œ 적응적 λΆ„ν•  블둝 크기λ₯Ό μ§€μ›ν•˜μ§€λ§Œ, CU블둝 μ‚¬μ΄μ¦ˆμ™€ μž”μ°¨μ˜ 뢄포가 상이할 κ²½μš°μ—λŠ” μ΅œμ ν™”λœ λ³€ν™˜ 과정을 μˆ˜ν–‰ν•˜μ§€ λͺ»ν•  κ°€λŠ₯성이 μ‘΄μž¬ν•œλ‹€.For the VVC/H.266 standard, transformation is basically performed in a block size equal to the CU size, except in special cases. Since the CU block size can be determined as a non-square block, the transformation block size can also be rectangular rather than square, enabling transformation that reflects the characteristics of the residual. While the VVC/H.266 standard supports adaptive partitioning block sizes for transform, there is a possibility that the optimized transformation process may not be performed if the CU block size and the residual distribution are different.

λ³Έ κ°œμ‹œλŠ” λ³€ν™˜ λΈ”λ‘μ˜ 크기 및 ν˜•νƒœλ₯Ό λ‹€μ–‘ν•˜κ²Œ μ„€μ •ν•œ 볡수 개의 λ³€ν™˜ λͺ¨λ“œλ₯Ό μ΄μš©ν•˜μ—¬ λ³€ν™˜ 코딩을 μˆ˜ν–‰ν•˜λŠ” λΉ„λ””μ˜€ λ””μ½”λ”© 방법 및 μž₯치, λΉ„λ””μ˜€ 인코딩 방법 및 μž₯치λ₯Ό μ œκ³΅ν•˜κΈ° μœ„ν•œ 것이닀.The present disclosure provides a video decoding method and device, and a video encoding method and device that perform transform coding using a plurality of transform modes in which the sizes and shapes of transform blocks are set in various ways.

λ³Έ κ°œμ‹œμ˜ μ‹€μ‹œμ˜ˆλ“€μ€ λ³€ν™˜ λΈ”λ‘μ˜ 크기 및 ν˜•νƒœλ₯Ό λ‹€μ–‘ν•˜κ²Œ μ„€μ •ν•œ 볡수 개의 λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°œμ‹œν•œλ‹€.Embodiments of the present disclosure disclose multiple transformation modes with various sizes and shapes of transformation blocks.

λ˜ν•œ, λ³Έ κ°œμ‹œμ˜ μ‹€μ‹œμ˜ˆλ“€μ€ λ‹€μ–‘ν•œ λ³€ν™˜ λͺ¨λ“œμ— κ΄€ν•œ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦Όμ„ 톡해 μ „μ†‘ν•˜λŠ” λΉ„λ””μ˜€ λΆ€ν˜Έν™” 방법 및 μž₯치λ₯Ό κ°œμ‹œν•œλ‹€.Additionally, embodiments of the present disclosure disclose a video encoding method and apparatus for transmitting conversion mode information regarding various conversion modes through a bitstream.

λ˜ν•œ, λ³Έ κ°œμ‹œμ˜ μ‹€μ‹œμ˜ˆλ“€μ€ λΉ„νŠΈμŠ€νŠΈλ¦Όμ„ 톡해 μˆ˜μ‹ λœ λ‹€μ–‘ν•œ λ³€ν™˜ λͺ¨λ“œμ— κ΄€ν•œ λ³€ν™˜ λͺ¨λ“œ 정보에 κΈ°μ΄ˆν•˜μ—¬ λ³€ν™˜ 블둝을 κ²°μ •ν•˜λŠ” λΉ„λ””μ˜€ λ³΅ν˜Έν™” 방법 및 μž₯치λ₯Ό κ°œμ‹œν•œλ‹€.Additionally, embodiments of the present disclosure disclose a video decoding method and apparatus for determining a transform block based on transform mode information regarding various transform modes received through a bitstream.

λ³Έ κ°œμ‹œμ˜ μ‹€μ‹œμ˜ˆλ“€μ— λ”°λ₯΄λ©΄ λ³€ν™˜ λΈ”λ‘μ˜ 크기 및 ν˜•νƒœκ°€ λ‹€μ–‘ν•˜κ²Œ μ„€μ •λœ 볡수 개의 λ³€ν™˜ λͺ¨λ“œλ₯Ό μ΄μš©ν•˜μ—¬ λΉ„λ””μ˜€μ˜ λΆ€ν˜Έν™” 및 λ³΅ν˜Έν™”λ₯Ό μˆ˜ν–‰ν•¨μœΌλ‘œμ¨, μ˜μƒ νŠΉμ„±μ— 따라 보닀 μœ μ—°ν•œ λ³€ν™˜ 블둝 νŒŒν‹°μ…”λ‹ ꡬ쑰λ₯Ό μ œκ³΅ν•  수 있으며, μ˜μƒμ˜ μ••μΆ• νš¨μœ¨μ„ ν–₯μƒμ‹œν‚¬ 수 μžˆλ‹€.According to embodiments of the present disclosure, encoding and decoding of a video are performed using a plurality of transformation modes in which the sizes and shapes of transformation blocks are set in various ways, thereby providing a more flexible transformation block partitioning structure according to image characteristics, and improving the compression efficiency of the image.

도 1은 λ³Έ 발λͺ…μ˜ μΌμ‹€μ‹œμ˜ˆμ— λ”°λ₯Έ λΆ€ν˜Έν™” μž₯치λ₯Ό λΈ”λ‘λ„λ‘œ λ„μ‹œν•œλ‹€.FIG. 1 is a block diagram illustrating an encoding device according to an embodiment of the present invention.

도 2λŠ” λ³Έ κ°œμ‹œμ˜ μΌμ‹€μ‹œμ˜ˆμ— λ”°λ₯Έ λ³΅ν˜Έν™” μž₯치λ₯Ό λΈ”λ‘λ„λ‘œ λ„μ‹œν•œλ‹€.FIG. 2 is a block diagram illustrating a decryption device according to an embodiment of the present disclosure.

도 3aλŠ” λ³Έ κ°œμ‹œμ˜ 일 μ‹€μ‹œμ˜ˆμ— λ”°λ₯Έ, 블둝 νŒŒν‹°μ…”λ‹ ꡬ쑰의 일 예λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 도면이닀.FIG. 3A is a diagram illustrating an example of a block partitioning structure according to one embodiment of the present disclosure.

도 3bλŠ” λ³Έ κ°œμ‹œμ˜ 일 μ‹€μ‹œμ˜ˆμ— λ”°λ₯Έ, λ©€ν‹°νƒ€μž… 트리 ꡬ쑰의 일 예λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 도면이닀.FIG. 3b is a diagram illustrating an example of a multi-type tree structure according to one embodiment of the present disclosure.

도 4λŠ” λ³Έ κ°œμ‹œμ˜ 일 μ‹€μ‹œμ˜ˆμ— λ”°λ₯Έ, 블둝 νŒŒν‹°μ…”λ‹ 트리 ꡬ쑰의 일 예λ₯Ό λ‚˜νƒ€λ‚Έ 도면이닀.FIG. 4 is a diagram illustrating an example of a block partitioning tree structure according to one embodiment of the present disclosure.

도 5λŠ” λ³Έ κ°œμ‹œμ˜ 일 μ‹€μ‹œμ˜ˆμ— λ”°λ₯Έ, ν˜„μž¬ 블둝(CU λ˜λŠ” μ„œλΈŒλΈ”λ‘)의 λ³€ν™˜ 과정에 μ΄μš©κ°€λŠ₯ν•œ 후보 λ³€ν™˜ λͺ¨λ“œλ“€μ˜ 일 예λ₯Ό λ‚˜νƒ€λ‚Έ 도면이닀.FIG. 5 is a diagram illustrating an example of candidate transformation modes available for a transformation process of a current block (CU or sub-block) according to one embodiment of the present disclosure.

도 6은 λ³Έ κ°œμ‹œμ˜ 일 μ‹€μ‹œμ˜ˆμ— λ”°λ₯Έ λΉ„λ””μ˜€ λΆ€ν˜Έν™” λ°©λ²•μ˜ ν”Œλ‘œμš° μ°¨νŠΈμ΄λ‹€.FIG. 6 is a flowchart of a video encoding method according to one embodiment of the present disclosure.

도 7은 λ³Έ κ°œμ‹œμ˜ 일 μ‹€μ‹œμ˜ˆμ— λ”°λ₯Έ λΉ„λ””μ˜€ λ³΅ν˜Έν™” λ°©λ²•μ˜ ν”Œλ‘œμš° μ°¨νŠΈμ΄λ‹€.FIG. 7 is a flow chart of a video decoding method according to one embodiment of the present disclosure.

도 8aλŠ” λΉ„λ””μ˜€ 인코더(100)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ μ‘μ μœΌλ‘œ κ΅¬μ„±ν•˜λŠ” κ³Όμ •μ˜μΌ 예λ₯Ό λ‚˜νƒ€λ‚Έ ν”Œλ‘œμš° μ°¨νŠΈμ΄λ‹€.FIG. 8a is a flow chart showing an example of a process in which a video encoder (100) adaptively configures conversion mode information.

도 8bλŠ” λΉ„λ””μ˜€ 디코더(200)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ μ‘μ μœΌλ‘œ κ²°μ •ν•˜λŠ” κ³Όμ •μ˜ 일 예λ₯Ό λ‚˜νƒ€λ‚Έ ν”Œλ‘œμš° μ°¨νŠΈμ΄λ‹€.FIG. 8b is a flow chart showing an example of a process in which a video decoder (200) adaptively determines conversion mode information.

도 8cλŠ” λΉ„λ””μ˜€ 인코더(100)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ μ‘μ μœΌλ‘œ κ΅¬μ„±ν•˜λŠ” κ³Όμ •μ˜ λ‹€λ₯Έ 예λ₯Ό λ‚˜νƒ€λ‚Έ ν”Œλ‘œμš° μ°¨νŠΈμ΄λ‹€.FIG. 8c is a flow chart showing another example of a process in which a video encoder (100) adaptively configures conversion mode information.

도 8dλŠ” λΉ„λ””μ˜€ 디코더(200)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ μ‘μ μœΌλ‘œ κ²°μ •ν•˜λŠ” κ³Όμ •μ˜ λ‹€λ₯Έ 예λ₯Ό λ‚˜νƒ€λ‚Έ ν”Œλ‘œμš° μ°¨νŠΈμ΄λ‹€.FIG. 8d is a flow chart showing another example of a process in which a video decoder (200) adaptively determines conversion mode information.

도 9aλŠ” λΉ„λ””μ˜€ 인코더(100)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ μ‘μ μœΌλ‘œ κ΅¬μ„±ν•˜λŠ” κ³Όμ •μ˜ 또 λ‹€λ₯Έ 예λ₯Ό λ‚˜νƒ€λ‚Έ ν”Œλ‘œμš° μ°¨νŠΈμ΄λ‹€.FIG. 9a is a flow chart showing another example of a process in which a video encoder (100) adaptively configures conversion mode information.

도 9bλŠ” λΉ„λ””μ˜€ 디코더(200)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ μ‘μ μœΌλ‘œ κ²°μ •ν•˜λŠ” κ³Όμ •μ˜ 또 λ‹€λ₯Έ 예λ₯Ό λ‚˜νƒ€λ‚Έ ν”Œλ‘œμš° μ°¨νŠΈμ΄λ‹€.FIG. 9b is a flow chart showing another example of a process in which a video decoder (200) adaptively determines conversion mode information.

도 9cλŠ” λΉ„λ””μ˜€ 인코더(100)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ μ‘μ μœΌλ‘œ κ΅¬μ„±ν•˜λŠ” κ³Όμ •μ˜ 또 λ‹€λ₯Έ 예λ₯Ό λ‚˜νƒ€λ‚Έ ν”Œλ‘œμš° μ°¨νŠΈμ΄λ‹€.FIG. 9c is a flow chart showing another example of a process in which a video encoder (100) adaptively configures conversion mode information.

도 9dλŠ” λΉ„λ””μ˜€ 디코더(200)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ μ‘μ μœΌλ‘œ κ²°μ •ν•˜λŠ” κ³Όμ •μ˜ 또 λ‹€λ₯Έ 예λ₯Ό λ‚˜νƒ€λ‚Έ ν”Œλ‘œμš° μ°¨νŠΈμ΄λ‹€.FIG. 9d is a flow chart showing another example of a process in which a video decoder (200) adaptively determines conversion mode information.

도 10aλŠ” λΉ„λ””μ˜€ 인코더(100)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ μ‘μ μœΌλ‘œ κ΅¬μ„±ν•˜λŠ” κ³Όμ •μ˜ 또 λ‹€λ₯Έ 예λ₯Ό λ‚˜νƒ€λ‚Έ ν”Œλ‘œμš° μ°¨νŠΈμ΄λ‹€.FIG. 10a is a flow chart showing another example of a process in which a video encoder (100) adaptively configures conversion mode information.

도 10bλŠ” λΉ„λ””μ˜€ 디코더(200)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ μ‘μ μœΌλ‘œ κ²°μ •ν•˜λŠ” κ³Όμ •μ˜ 또 λ‹€λ₯Έ 예λ₯Ό λ‚˜νƒ€λ‚Έ ν”Œλ‘œμš° μ°¨νŠΈμ΄λ‹€.FIG. 10b is a flow chart showing another example of a process in which a video decoder (200) adaptively determines conversion mode information.

도 10cλŠ” λΉ„λ””μ˜€ 인코더(100)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ μ‘μ μœΌλ‘œ κ΅¬μ„±ν•˜λŠ” κ³Όμ •μ˜ 또 λ‹€λ₯Έ 예λ₯Ό λ‚˜νƒ€λ‚Έ ν”Œλ‘œμš° μ°¨νŠΈμ΄λ‹€.FIG. 10c is a flow chart showing another example of a process in which a video encoder (100) adaptively configures conversion mode information.

도 10dλŠ” λΉ„λ””μ˜€ 디코더(200)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ μ‘μ μœΌλ‘œ κ²°μ •ν•˜λŠ” κ³Όμ •μ˜ 또 λ‹€λ₯Έ 예λ₯Ό λ‚˜νƒ€λ‚Έ ν”Œλ‘œμš° μ°¨νŠΈμ΄λ‹€.도 11aλŠ” λΉ„λ””μ˜€ 인코더(100)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ μ‘μ μœΌλ‘œ κ΅¬μ„±ν•˜λŠ” κ³Όμ •μ˜ 또 λ‹€λ₯Έ 예λ₯Ό λ‚˜νƒ€λ‚Έ ν”Œλ‘œμš° μ°¨νŠΈμ΄λ‹€.FIG. 10d is a flow chart showing another example of a process in which a video decoder (200) adaptively determines conversion mode information. FIG. 11a is a flow chart showing another example of a process in which a video encoder (100) adaptively configures conversion mode information.

도 11bλŠ” λΉ„λ””μ˜€ 디코더(200)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ μ‘μ μœΌλ‘œ κ²°μ •ν•˜λŠ” κ³Όμ •μ˜ 또 λ‹€λ₯Έ 예λ₯Ό λ‚˜νƒ€λ‚Έ ν”Œλ‘œμš° μ°¨νŠΈμ΄λ‹€.Figure 11b is a flow chart showing another example of a process in which a video decoder (200) adaptively determines conversion mode information.

도 11cλŠ” λΉ„λ””μ˜€ 인코더(100)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ μ‘μ μœΌλ‘œ κ΅¬μ„±ν•˜λŠ” κ³Όμ •μ˜ 또 λ‹€λ₯Έ 예λ₯Ό λ‚˜νƒ€λ‚Έ ν”Œλ‘œμš° μ°¨νŠΈμ΄λ‹€.FIG. 11c is a flow chart showing another example of a process in which a video encoder (100) adaptively configures conversion mode information.

도 11dλŠ” λΉ„λ””μ˜€ 디코더(200)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ μ‘μ μœΌλ‘œ κ²°μ •ν•˜λŠ” κ³Όμ •μ˜ 또 λ‹€λ₯Έ 예λ₯Ό λ‚˜νƒ€λ‚Έ ν”Œλ‘œμš° μ°¨νŠΈμ΄λ‹€.FIG. 11d is a flow chart showing another example of a process in which a video decoder (200) adaptively determines conversion mode information.

도 12aλŠ” λΉ„λ””μ˜€ 인코더(100)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ μ‘μ μœΌλ‘œ κ΅¬μ„±ν•˜λŠ” κ³Όμ •μ˜ 또 λ‹€λ₯Έ 예λ₯Ό λ‚˜νƒ€λ‚Έ ν”Œλ‘œμš° μ°¨νŠΈμ΄λ‹€.FIG. 12a is a flow chart showing another example of a process in which a video encoder (100) adaptively configures conversion mode information.

도 12bλŠ” λΉ„λ””μ˜€ 디코더(200)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ μ‘μ μœΌλ‘œ κ²°μ •ν•˜λŠ” κ³Όμ •μ˜ 또 λ‹€λ₯Έ 예λ₯Ό λ‚˜νƒ€λ‚Έ ν”Œλ‘œμš° μ°¨νŠΈμ΄λ‹€.Figure 12b is a flow chart showing another example of a process in which a video decoder (200) adaptively determines conversion mode information.

도 12cλŠ” λΉ„λ””μ˜€ 인코더(100)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ μ‘μ μœΌλ‘œ κ΅¬μ„±ν•˜λŠ” κ³Όμ •μ˜ 또 λ‹€λ₯Έ 예λ₯Ό λ‚˜νƒ€λ‚Έ ν”Œλ‘œμš° μ°¨νŠΈμ΄λ‹€.FIG. 12c is a flow chart showing another example of a process in which a video encoder (100) adaptively configures conversion mode information.

도 12dλŠ” λΉ„λ””μ˜€ 디코더(200)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ μ‘μ μœΌλ‘œ κ²°μ •ν•˜λŠ” κ³Όμ •μ˜ 또 λ‹€λ₯Έ 예λ₯Ό λ‚˜νƒ€λ‚Έ ν”Œλ‘œμš° μ°¨νŠΈμ΄λ‹€.FIG. 12d is a flow chart showing another example of a process in which a video decoder (200) adaptively determines conversion mode information.

λ³Έ κ°œμ‹œμ˜ 일 μ‹€μ‹œμ˜ˆμ— λ”°λ₯Έ λΉ„λ””μ˜€ λ³΅ν˜Έν™” 방법은 볡수 개의 후보 λ³€ν™˜ λͺ¨λ“œλ“€ 쀑 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜μ— μ΄μš©κ°€λŠ₯ν•œ 적어도 ν•˜λ‚˜μ˜ 후보 λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜λŠ” 단계; 상기 적어도 ν•˜λ‚˜μ˜ 후보 λ³€ν™˜ λͺ¨λ“œ 쀑 상기 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜μ— 적용된 λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜λŠ” 단계; 상기 κ²°μ •λœ λ³€ν™˜ λͺ¨λ“œμ— κΈ°μ΄ˆν•˜μ—¬ 상기 ν˜„μž¬ λΈ”λ‘μ˜ μ—­λ³€ν™˜μ— μ΄μš©λ˜λŠ” λ³€ν™˜ 블둝을 κ²°μ •ν•˜λŠ” 단계; 및 상기 λ³€ν™˜ 블둝 λ‹¨μœ„λ‘œ 상기 ν˜„μž¬ 블둝에 λŒ€ν•œ μ—­λ³€ν™˜μ„ μˆ˜ν–‰ν•˜λŠ” 단계λ₯Ό ν¬ν•¨ν•œλ‹€.A video decoding method according to one embodiment of the present disclosure includes the steps of: determining at least one candidate transformation mode available for transformation of a current block from among a plurality of candidate transformation modes; determining a transformation mode applied to transformation of the current block from among the at least one candidate transformation mode; determining a transformation block used for inverse transformation of the current block based on the determined transformation mode; and performing inverse transformation on the current block in units of the transformation blocks.

일 μ‹€μ‹œμ˜ˆμ— μžˆμ–΄μ„œ, 상기 볡수 개의 후보 λ³€ν™˜ λͺ¨λ“œλ“€μ€ 상기 ν˜„μž¬ 블둝과 λ™μΌν•œ 크기의 λ³€ν™˜ 블둝을 μ΄μš©ν•˜λŠ” λ³€ν™˜ λͺ¨λ“œ, 상기 ν˜„μž¬ 블둝을 μˆ˜ν‰ λ°©ν–₯ 및 수직 λ°©ν–₯ 쀑 적어도 ν•˜λ‚˜μ˜ λ°©ν–₯으둜 μ†Œμ • λΉ„μœ¨λ‘œ λΆ„ν• ν•˜μ—¬ νšλ“λ˜λŠ” λ³€ν™˜ 블둝을 μ΄μš©ν•˜λŠ” λ³€ν™˜ λͺ¨λ“œλ₯Ό ν¬ν•¨ν•œλ‹€.In one embodiment, the plurality of candidate transformation modes include a transformation mode that uses a transformation block of the same size as the current block, and a transformation mode that uses a transformation block obtained by dividing the current block in at least one of a horizontal direction and a vertical direction at a predetermined ratio.

일 μ‹€μ‹œμ˜ˆμ— μžˆμ–΄μ„œ, 상기 볡수 개의 후보 λ³€ν™˜ λͺ¨λ“œλ“€μ€ 상기 ν˜„μž¬ 블둝을 μˆ˜ν‰ λ°©ν–₯ 및 수직 λ°©ν–₯ 쀑 적어도 ν•˜λ‚˜μ˜ λ°©ν–₯으둜 1:A (AλŠ” μžμ—°μˆ˜)의 λΉ„μœ¨λ‘œ 2λΆ„ν• ν•˜κ±°λ‚˜, 1:1:B(BλŠ” μžμ—°μˆ˜)의 λΉ„μœ¨λ‘œ 3λΆ„ν• ν•˜κ±°λ‚˜, 1:C:1(CλŠ” μžμ—°μˆ˜)의 λΉ„μœ¨λ‘œ 3λΆ„ν• ν•˜κ±°λ‚˜, D:1:1 (DλŠ” μžμ—°μˆ˜)의 λΉ„μœ¨λ‘œ 3λΆ„ν• ν•˜κ±°λ‚˜, 1:1:1:1의 λΉ„μœ¨λ‘œ 4λΆ„ν• ν•˜μ—¬ νšλ“λ˜λŠ” λ³€ν™˜ 블둝을 μ΄μš©ν•˜λŠ” λ³€ν™˜ λͺ¨λ“œλ₯Ό ν¬ν•¨ν•œλ‹€.In one embodiment, the plurality of candidate transformation modes include a transformation mode that uses a transformation block obtained by dividing the current block into two parts in a ratio of 1:A (A is a natural number) in at least one of a horizontal direction and a vertical direction, into three parts in a ratio of 1:1:B (B is a natural number), into three parts in a ratio of 1:C:1 (C is a natural number), into three parts in a ratio of D:1:1 (D is a natural number), or into four parts in a ratio of 1:1:1:1.

일 μ‹€μ‹œμ˜ˆμ— μžˆμ–΄μ„œ, 상기 볡수 개의 후보 λ³€ν™˜ λͺ¨λ“œλ“€μ€ 상기 ν˜„μž¬ λΈ”λ‘μ˜ 폭(width) 및 높이(height)와 λ™μΌν•œ 폭과 높이λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝을 μ΄μš©ν•˜λŠ” 제 1 λ³€ν™˜ λͺ¨λ“œ, 상기 ν˜„μž¬ 블둝을 μˆ˜ν‰ λ°©ν–₯으둜 2λΆ„ν• ν•œ 2개의 width x height/2의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝듀을 μ΄μš©ν•˜λŠ” 제 2 λ³€ν™˜ λͺ¨λ“œ, 상기 ν˜„μž¬ 블둝을 μˆ˜ν‰ λ°©ν–₯으둜 4λΆ„ν• ν•œ 4개의 width x height/4의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝듀을 μ΄μš©ν•˜λŠ” 제 3 λ³€ν™˜ λͺ¨λ“œ, 상기 ν˜„μž¬ 블둝을 μˆ˜ν‰ λ°©ν–₯으둜 1:2:1의 λΉ„μœ¨λ‘œ 3λΆ„ν• ν•˜μ—¬ 2개의 width x height/4의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝듀 및 1개의 width x height/2의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝을 μ΄μš©ν•˜λŠ” 제 4 λ³€ν™˜ λͺ¨λ“œ, 상기 ν˜„μž¬ 블둝을 μˆ˜ν‰ λ°©ν–₯으둜 1:1:2의 λΉ„μœ¨λ‘œ 3λΆ„ν• ν•˜μ—¬ 2개의 width x height/4의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝듀 및 1개의 width x height/2의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝을 μ΄μš©ν•˜λŠ” 제 5 λ³€ν™˜ λͺ¨λ“œ, 상기 ν˜„μž¬ 블둝을 μˆ˜ν‰ λ°©ν–₯으둜 2:1:1의 λΉ„μœ¨λ‘œ 3λΆ„ν• ν•˜μ—¬ 2개의 width x height/4의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝듀 및 1개의 width x height/2의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝을 μ΄μš©ν•˜λŠ” 제 6 λ³€ν™˜ λͺ¨λ“œ, 상기 ν˜„μž¬ 블둝을 μˆ˜ν‰ λ°©ν–₯으둜 1:2:1의 λΉ„μœ¨λ‘œ 3λΆ„ν• ν•˜μ—¬ λΆ„ν• λœ 2개의 width x height/4의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝듀 및 width x height/2의 블둝을 λ‹€μ‹œ 수직 λ°©ν–₯으둜 2λΆ„ν• ν•œ 2개의 width/2 x height/2의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝듀을 μ΄μš©ν•˜λŠ” 제 7 λ³€ν™˜ λͺ¨λ“œ, 상기 ν˜„μž¬ 블둝을 수직 λ°©ν–₯으둜 2λΆ„ν• ν•œ 2개의 width/2 x height의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝듀을 μ΄μš©ν•˜λŠ” 제 8 λ³€ν™˜ λͺ¨λ“œ, 상기 ν˜„μž¬ 블둝을 수직 λ°©ν–₯으둜 4λΆ„ν• ν•œ 4개의 width/4 x height의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝듀을 μ΄μš©ν•˜λŠ” 제 9 λ³€ν™˜ λͺ¨λ“œ, 상기 ν˜„μž¬ 블둝을 수직 λ°©ν–₯으둜 1:2:1의 λΉ„μœ¨λ‘œ 3λΆ„ν• ν•œ 2개의 width/4 x height의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝듀 및 1개의 width/2 x height의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝을 μ΄μš©ν•˜λŠ” 제 10 λ³€ν™˜ λͺ¨λ“œ, 상기 ν˜„μž¬ 블둝을 수직 λ°©ν–₯으둜 1:1:2의 λΉ„μœ¨λ‘œ 3λΆ„ν• ν•œ 2개의 width/4 x height의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝듀 및 1개의 width/2 x height의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝을 μ΄μš©ν•˜λŠ” 제 11 λ³€ν™˜ λͺ¨λ“œ, 상기 ν˜„μž¬ 블둝을 수직 λ°©ν–₯으둜 2:1:1의 λΉ„μœ¨λ‘œ 3λΆ„ν• ν•œ 2개의 width/4 x height의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝듀 및 1개의 width/2 x height의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝을 μ΄μš©ν•˜λŠ” 제 12 λ³€ν™˜ λͺ¨λ“œ, 상기 ν˜„μž¬ 블둝을 수직 λ°©ν–₯으둜 1:2:1의 λΉ„μœ¨λ‘œ 3λΆ„ν• ν•˜μ—¬ λΆ„ν• λœ 2개의 width x height/4의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝듀 및 width x height/2의 블둝을 λ‹€μ‹œ 수직 λ°©ν–₯으둜 2λΆ„ν• ν•œ 2개의 width/2 x height/2의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝듀을 μ΄μš©ν•˜λŠ” 제 13 λ³€ν™˜ λͺ¨λ“œ, 및 상기 ν˜„μž¬ 블둝을 μˆ˜ν‰ λ°©ν˜• 및 수직 λ°©ν–₯으둜 2λΆ„ν• ν•œ 4개의 width/2 x height/2의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝듀을 μ΄μš©ν•˜λŠ” 제 14 λ³€ν™˜ λͺ¨λ“œ 쀑 적어도 ν•˜λ‚˜μ˜ λͺ¨λ“œλ₯Ό ν¬ν•¨ν•œλ‹€.In one embodiment, the plurality of candidate transformation modes include a first transformation mode using a transformation block having a width and height equal to the width and height of the current block, a second transformation mode using two transformation blocks having a size of width x height/2 by horizontally dividing the current block into two, a third transformation mode using four transformation blocks having a size of width x height/4 by horizontally dividing the current block into four, a fourth transformation mode using two transformation blocks having a size of width x height/4 and one transformation block having a size of width x height/2 by horizontally dividing the current block into three at a ratio of 1:2:1, a fifth transformation mode using two transformation blocks having a size of width x height/4 and one transformation block having a size of width x height/2 by horizontally dividing the current block into three at a ratio of 1:1:2, a fifth transformation mode using two transformation blocks having a size of width x height/4 and one transformation block having a size of width x height/2 by horizontally dividing the current block into three at a ratio of 2:1:1, A sixth transformation mode using transformation blocks having a size of width x height/4 and one transformation block having a size of width x height/2, a seventh transformation mode using two transformation blocks having a size of width x height/4 obtained by dividing the current block into three blocks in a horizontal direction at a ratio of 1:2:1 and two transformation blocks having a size of width/2 x height/2 obtained by dividing the width x height/2 block into two blocks in a vertical direction again, an eighth transformation mode using two transformation blocks having a size of width/2 x height obtained by dividing the current block into two blocks in a vertical direction, a ninth transformation mode using four transformation blocks having a size of width/4 x height obtained by dividing the current block into four blocks in a vertical direction at a ratio of 1:2:1 and a tenth transformation mode using two transformation blocks having a size of width/4 x height obtained by dividing the current block into three blocks in a vertical direction at a ratio of 1:1:2 and one transformation block having a size of width/2 x height obtained by dividing the current block into three blocks in a vertical direction at a ratio of 1:1:2 It includes at least one mode among an 11th transformation mode using two transformation blocks each having a size of width/4 x height divided into three parts and one transformation block each having a size of width/2 x height, a 12th transformation mode using two transformation blocks each having a size of width/4 x height divided into three parts in a vertical direction at a ratio of 2:1:1 and one transformation block each having a size of width/2 x height, a 13th transformation mode using two transformation blocks each having a size of width/4 divided into three parts in a vertical direction at a ratio of 1:2:1 and two transformation blocks each having a size of width/2 x height/2 divided into two parts in a vertical direction again, and a 14th transformation mode using four transformation blocks each having a size of width/2 x height/2 divided into two parts in a horizontal and vertical direction.

일 μ‹€μ‹œμ˜ˆμ— μžˆμ–΄μ„œ, 상기 ν˜„μž¬ λΈ”λ‘μ˜ μ—­λ³€ν™˜μ— μ΄μš©κ°€λŠ₯ν•œ 적어도 ν•˜λ‚˜μ˜ 후보 λ³€ν™˜ λͺ¨λ“œλŠ” μ‹œν€€μŠ€, GOP, 픽쳐, 슬라이슀, CTU, CU, TU λ‹¨μœ„ 쀑 적어도 ν•˜λ‚˜μ˜ λ‹¨μœ„ λ³„λ‘œ κ²°μ •λ˜λ©°, 상기 적어도 ν•˜λ‚˜μ˜ 후보 λ³€ν™˜ λͺ¨λ“œλŠ” ν˜„μž¬ ν”„λ ˆμž„ 정보, 슬라이슀 정보, ν˜„μž¬ λΈ”λ‘μ˜ νŒŒν‹°μ…”λ‹ 정보, ν˜„μž¬ λΈ”λ‘μ˜ 크기, ν˜„μž¬ λΈ”λ‘μ˜ λͺ¨μ–‘, ν˜„μž¬ λΈ”λ‘μ˜ 예츑 λͺ¨λ“œ 정보, ν˜„μž¬ 블둝이 ν¬ν•¨λœ λΆ€λͺ¨ λΈ”λ‘μ˜ νŒŒν‹°μ…”λ‹ 정보, λΆ€λͺ¨ λΈ”λ‘μ˜ 크기, λΆ€λͺ¨ λΈ”λ‘μ˜ λͺ¨μ–‘, λΆ€λͺ¨ λΈ”λ‘μ˜ 예츑 λͺ¨λ“œ 정보, 상기 ν˜„μž¬ λΈ”λ‘μ˜ μ£Όλ³€ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œ 정보, 상기 ν˜„μž¬ 블둝에 ν¬ν•¨λœ λ³€ν™˜ κ³„μˆ˜μ˜ μ΅œλŒ€κ°’, μ†Œμ • μŠ€μΊλ‹ μˆœμ„œμ— λ”°λ₯Έ 상기 ν˜„μž¬ λΈ”λ‘μ˜ λ§ˆμ§€λ§‰ 0이 μ•„λ‹Œ(non-zero) λ³€ν™˜ κ³„μˆ˜μ˜ μœ„μΉ˜ 쀑 적어도 ν•˜λ‚˜μ— κΈ°μ΄ˆν•˜μ—¬ κ²°μ •λœλ‹€.In one embodiment, at least one candidate transform mode available for the inverse transform of the current block is determined for at least one unit among a sequence, a GOP, a picture, a slice, a CTU, a CU, and a TU unit, and the at least one candidate transform mode is determined based on at least one of current frame information, slice information, partitioning information of the current block, a size of the current block, a shape of the current block, prediction mode information of the current block, partitioning information of a parent block including the current block, a size of the parent block, a shape of the parent block, prediction mode information of the parent block, transform mode information of a neighboring block of the current block, a maximum value of a transform coefficient included in the current block, and a position of a last non-zero transform coefficient of the current block according to a predetermined scanning order.

일 μ‹€μ‹œμ˜ˆμ— μžˆμ–΄μ„œ, 상기 ν˜„μž¬ λΈ”λ‘μ˜ μ—­λ³€ν™˜μ— μ΄μš©κ°€λŠ₯ν•œ 적어도 ν•˜λ‚˜μ˜ 후보 λ³€ν™˜ λͺ¨λ“œλŠ” μ‹œν€€μŠ€, GOP, 픽쳐, 슬라이슀, CTU, CU, TU λ‹¨μœ„ 쀑 적어도 ν•˜λ‚˜μ˜ λ‹¨μœ„ λ³„λ‘œ μ‹œκ·Έλ„λ§λ˜λŠ” λ³€ν™˜ λͺ¨λ“œ 지원 정보에 κΈ°μ΄ˆν•˜μ—¬ κ²°μ •λœλ‹€.In one embodiment, at least one candidate transform mode available for inverse transformation of the current block is determined based on transform mode support information signaled for at least one unit among a sequence, a GOP, a picture, a slice, a CTU, a CU, and a TU unit.

일 μ‹€μ‹œμ˜ˆμ— μžˆμ–΄μ„œ, 상기 ν˜„μž¬ λΈ”λ‘μ˜ μ—­λ³€ν™˜μ— μ΄μš©κ°€λŠ₯ν•œ 적어도 ν•˜λ‚˜μ˜ 후보 λ³€ν™˜ λͺ¨λ“œλŠ” μ‹œν€€μŠ€, GOP, 픽쳐, 슬라이슀, CTU, CU, TU λ‹¨μœ„ 쀑 적어도 ν•˜λ‚˜μ˜ λ‹¨μœ„ λ³„λ‘œ μ‹œκ·Έλ„λ§λ˜λŠ” λ³€ν™˜ λͺ¨λ“œ 지원 정보에 κΈ°μ΄ˆν•˜μ—¬ λͺ…μ‹œμ μœΌλ‘œ κ²°μ •λ˜λŠ” 후보 λ³€ν™˜ λͺ¨λ“œλ“€ μ€‘μ—μ„œ, λΆ€κ°€ 정보에 κΈ°μ΄ˆν•˜μ—¬ μ΅œμ’…μ μΈ 후보 λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜λ©°, 상기 λΆ€κ°€ μ •λ³΄λŠ” ν˜„μž¬ ν”„λ ˆμž„ 정보, 슬라이슀 정보, ν˜„μž¬ λΈ”λ‘μ˜ νŒŒν‹°μ…”λ‹ 정보, ν˜„μž¬ λΈ”λ‘μ˜ 크기, ν˜„μž¬ λΈ”λ‘μ˜ λͺ¨μ–‘, ν˜„μž¬ λΈ”λ‘μ˜ 예츑 λͺ¨λ“œ 정보, ν˜„μž¬ 블둝이 ν¬ν•¨λœ λΆ€λͺ¨ λΈ”λ‘μ˜ νŒŒν‹°μ…”λ‹ 정보, λΆ€λͺ¨ λΈ”λ‘μ˜ 크기, λΆ€λͺ¨ λΈ”λ‘μ˜ λͺ¨μ–‘, λΆ€λͺ¨ λΈ”λ‘μ˜ 예츑 λͺ¨λ“œ 정보, 상기 ν˜„μž¬ λΈ”λ‘μ˜ μ£Όλ³€ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œ 정보, 상기 ν˜„μž¬ 블둝에 ν¬ν•¨λœ λ³€ν™˜ κ³„μˆ˜μ˜ μ΅œλŒ€κ°’, μ†Œμ • μŠ€μΊλ‹ μˆœμ„œμ— λ”°λ₯Έ 상기 ν˜„μž¬ λΈ”λ‘μ˜ λ§ˆμ§€λ§‰ 0이 μ•„λ‹Œ(non-zero) λ³€ν™˜ κ³„μˆ˜μ˜ μœ„μΉ˜ 쀑 적어도 ν•˜λ‚˜μ΄λ‹€.In one embodiment, at least one candidate transform mode available for the inverse transform of the current block is explicitly determined based on transform mode support information signaled for at least one unit among a sequence, a GOP, a picture, a slice, a CTU, a CU, and a TU unit, and a final candidate transform mode is determined based on additional information among candidate transform modes, wherein the additional information is at least one of current frame information, slice information, partitioning information of a current block, a size of a current block, a shape of a current block, prediction mode information of a current block, partitioning information of a parent block including the current block, a size of a parent block, a shape of a parent block, prediction mode information of a parent block, transform mode information of a neighboring block of the current block, a maximum value of a transform coefficient included in the current block, and a position of a last non-zero transform coefficient of the current block according to a predetermined scanning order.

일 μ‹€μ‹œμ˜ˆμ— μžˆμ–΄μ„œ, 상기 ν˜„μž¬ λΈ”λ‘μ˜ μ—­λ³€ν™˜μ— 적용된 λ³€ν™˜ λͺ¨λ“œλŠ” ν˜„μž¬ ν”„λ ˆμž„ 정보, 슬라이슀 정보, ν˜„μž¬ λΈ”λ‘μ˜ νŒŒν‹°μ…”λ‹ 정보, ν˜„μž¬ λΈ”λ‘μ˜ 크기, ν˜„μž¬ λΈ”λ‘μ˜ λͺ¨μ–‘, ν˜„μž¬ λΈ”λ‘μ˜ 예츑 λͺ¨λ“œ 정보, ν˜„μž¬ 블둝이 ν¬ν•¨λœ λΆ€λͺ¨ λΈ”λ‘μ˜ νŒŒν‹°μ…”λ‹ 정보, λΆ€λͺ¨ λΈ”λ‘μ˜ 크기, λΆ€λͺ¨ λΈ”λ‘μ˜ λͺ¨μ–‘, λΆ€λͺ¨ λΈ”λ‘μ˜ 예츑 λͺ¨λ“œ 정보, 상기 ν˜„μž¬ λΈ”λ‘μ˜ μ£Όλ³€ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œ 정보, 상기 ν˜„μž¬ 블둝에 ν¬ν•¨λœ λ³€ν™˜ κ³„μˆ˜μ˜ μ΅œλŒ€κ°’, μ†Œμ • μŠ€μΊλ‹ μˆœμ„œμ— λ”°λ₯Έ 상기 ν˜„μž¬ λΈ”λ‘μ˜ λ§ˆμ§€λ§‰ 0이 μ•„λ‹Œ(non-zero) λ³€ν™˜ κ³„μˆ˜μ˜ μœ„μΉ˜ 쀑 적어도 ν•˜λ‚˜μ— κΈ°μ΄ˆν•˜μ—¬ 상기 적어도 ν•˜λ‚˜μ˜ 후보 λ³€ν™˜ λͺ¨λ“œ μ€‘μ—μ„œ κ²°μ •λœλ‹€.In one embodiment, the transform mode applied to the inverse transform of the current block is determined from among the at least one candidate transform mode based on at least one of current frame information, slice information, partitioning information of the current block, the size of the current block, the shape of the current block, prediction mode information of the current block, partitioning information of a parent block including the current block, the size of the parent block, the shape of the parent block, prediction mode information of the parent block, transform mode information of a neighboring block of the current block, the maximum value of a transform coefficient included in the current block, and the position of the last non-zero transform coefficient of the current block according to a predetermined scanning order.

일 μ‹€μ‹œμ˜ˆμ— μžˆμ–΄μ„œ, 상기 ν˜„μž¬ λΈ”λ‘μ˜ μ—­λ³€ν™˜μ— 적용된 λ³€ν™˜ λͺ¨λ“œλŠ” μ‹œν€€μŠ€, GOP, 픽쳐, 슬라이슀, CTU, CU, TU λ‹¨μœ„ 쀑 적어도 ν•˜λ‚˜μ˜ λ‹¨μœ„ λ³„λ‘œ μ‹œκ·Έλ„λ§λ˜λŠ” λ³€ν™˜ λͺ¨λ“œ 정보에 κΈ°μ΄ˆν•˜μ—¬ κ²°μ •λ˜λŠ” 상기 적어도 ν•˜λ‚˜μ˜ 후보 λ³€ν™˜ λͺ¨λ“œ μ€‘μ—μ„œ κ²°μ •λœλ‹€.In one embodiment, the transformation mode applied to the inverse transformation of the current block is determined from among at least one candidate transformation mode determined based on transformation mode information signaled for each unit among a sequence, a GOP, a picture, a slice, a CTU, a CU, and a TU unit.

일 μ‹€μ‹œμ˜ˆμ— μžˆμ–΄μ„œ, 상기 ν˜„μž¬ λΈ”λ‘μ˜ μ—­λ³€ν™˜μ— 적용된 λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜λŠ” λ‹¨κ³„λŠ” 상기 ν˜„μž¬ λΈ”λ‘μ˜ 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성을 νŒλ‹¨ν•˜λŠ” 단계; 상기 ν˜„μž¬ λΈ”λ‘μ˜ 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성에 κΈ°μ΄ˆν•˜μ—¬ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ 의미(semantics)λ₯Ό μ‹λ³„ν•˜κ³ , 상기 λ³€ν™˜ λͺ¨λ“œ 정보에 κΈ°μ΄ˆν•˜μ—¬ 상기 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜λŠ” 단계λ₯Ό ν¬ν•¨ν•œλ‹€.In one embodiment, the step of determining a transformation mode applied to the inverse transformation of the current block includes the steps of: determining vertical divisibility and horizontal divisibility of the current block; identifying semantics of transformation mode information in a bitstream based on the vertical divisibility and horizontal divisibility of the current block; and determining the transformation mode of the current block based on the transformation mode information.

일 μ‹€μ‹œμ˜ˆμ— μžˆμ–΄μ„œ, 상기 ν˜„μž¬ 블둝이 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯으둜 λͺ¨λ‘ λΆ„ν•  κ°€λŠ₯ν•œ 경우, 상기 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λŠ” 상기 후보 λ³€ν™˜ λͺ¨λ“œλ“€ μ€‘μ—μ„œ ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 인덱슀 정보이며,상기 ν˜„μž¬ 블둝이 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯ 쀑 ν•˜λ‚˜μ˜ λ°©ν–₯으둜만 λΆ„ν•  κ°€λŠ₯ν•œ 경우, 상기 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λŠ” i) 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯ 쀑 상기 ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  λ°©ν–₯을 κ°€λ¦¬ν‚€λŠ” 정보, 및 ii) 상기 λΆ„ν•  λ°©ν–₯에 λ”°λ₯Έ λΆ„ν•  μ—¬λΆ€λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό ν¬ν•¨ν•˜λ©°, 상기 ν˜„μž¬ 블둝이 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯ 쀑 μ–΄λŠ λ°©ν–₯μœΌλ‘œλ„ λΆ„ν•  κ°€λŠ₯ν•˜μ§€ μ•Šμ€ 경우, 상기 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λŠ” 상기 λΉ„νŠΈμŠ€νŠΈλ¦Όμ— ν¬ν•¨λ˜μ§€ μ•ŠμœΌλ©° 상기 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ 블둝은 상기 ν˜„μž¬ 블둝과 λ™μΌν•œ 크기 및 λͺ¨μ–‘을 κ°–λŠ” κ²ƒμœΌλ‘œ κ²°μ •λœλ‹€.In one embodiment, when the current block is divisible in both the vertical direction and the horizontal direction, the transformation mode information is index information indicating one of the candidate transformation modes, and when the current block is divisible in only one of the vertical direction and the horizontal direction, the transformation mode information includes i) information indicating a division direction of the current block among the vertical direction and the horizontal direction, and ii) information indicating whether to divide according to the division direction, and when the current block is not divisible in either the vertical direction or the horizontal direction, the transformation mode information is not included in the bitstream, and the transformation block of the current block is determined to have the same size and shape as the current block.

일 μ‹€μ‹œμ˜ˆμ— μžˆμ–΄μ„œ, 상기 ν˜„μž¬ 블둝이 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯으둜 λͺ¨λ‘ λΆ„ν•  κ°€λŠ₯ν•œ 경우, 상기 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λŠ” 상기 후보 λ³€ν™˜ λͺ¨λ“œλ“€ μ€‘μ—μ„œ ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 인덱슀 정보이며, 상기 ν˜„μž¬ 블둝이 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯ 쀑 ν•˜λ‚˜μ˜ λ°©ν–₯으둜만 λΆ„ν•  κ°€λŠ₯ν•œ 경우, 상기 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λŠ” i) 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯ 쀑 상기 ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  λ°©ν–₯을 κ°€λ¦¬ν‚€λŠ” 정보, 및 ii) 상기 λΆ„ν•  κ°€λŠ₯ν•œ λ°©ν–₯에 따라 μ μš©κ°€λŠ₯ν•œ 볡수 개의 λ³€ν™˜ λͺ¨λ“œ 쀑 ν•˜λ‚˜μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό ν¬ν•¨ν•˜λ©°, 상기 ν˜„μž¬ 블둝이 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯ 쀑 μ–΄λŠ λ°©ν–₯μœΌλ‘œλ„ λΆ„ν•  κ°€λŠ₯ν•˜μ§€ μ•Šμ€ 경우, 상기 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λŠ” 상기 λΉ„νŠΈμŠ€νŠΈλ¦Όμ— ν¬ν•¨λ˜μ§€ μ•ŠμœΌλ©° 상기 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ 블둝은 상기 ν˜„μž¬ 블둝과 λ™μΌν•œ 크기 및 λͺ¨μ–‘을 κ°–λŠ” κ²ƒμœΌλ‘œ κ²°μ •λœλ‹€.In one embodiment, when the current block is divisible in both the vertical direction and the horizontal direction, the transformation mode information is index information indicating one of the candidate transformation modes, and when the current block is divisible in only one of the vertical direction and the horizontal direction, the transformation mode information includes i) information indicating a division direction of the current block among the vertical direction and the horizontal direction, and ii) information indicating one transformation mode among a plurality of transformation modes applicable according to the divisible direction, and when the current block is not divisible in either the vertical direction or the horizontal direction, the transformation mode information is not included in the bitstream, and the transformation block of the current block is determined to have the same size and shape as the current block.

일 μ‹€μ‹œμ˜ˆμ— μžˆμ–΄μ„œ, 상기 ν˜„μž¬ λΈ”λ‘μ˜ μ—­λ³€ν™˜μ— 적용된 λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜λŠ” λ‹¨κ³„λŠ” 상기 ν˜„μž¬ λΈ”λ‘μ˜ 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성을 νŒλ‹¨ν•˜λŠ” 단계; 상기 νŒλ‹¨λœ 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성에 κΈ°μ΄ˆν•˜μ—¬, 상기 ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  및 μˆ˜ν‰ λ°©ν–₯ 뢄할이 λͺ¨λ‘ λΆˆκ°€λŠ₯ν•˜κ³  λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° νšλ“λœ λ³€ν™˜ λͺ¨λ“œ 정보가 상기 ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ§€ μ•ŠμŒμ„ 가리킬 경우, 상기 ν˜„μž¬ 블둝과 λ™μΌν•œ 크기 및 λͺ¨μ–‘을 κ°–λŠ” λ³€ν™˜ 블둝을 μ΄μš©ν•˜λ©° 상기 ν˜„μž¬ 블둝을 λΆ„ν• ν•˜μ§€ μ•ŠλŠ” λ³€ν™˜ λͺ¨λ“œλ₯Ό 상기 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ‘œ κ²°μ •ν•˜λŠ” 단계; 상기 ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  λ˜λŠ” μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  쀑 ν•˜λ‚˜μ˜ λ°©ν–₯으둜 λΆ„ν• κ°€λŠ₯ν•˜λ©°, 상기 λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° νšλ“λœ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œλΆ€ν„° 상기 수직 λ°©ν–₯ λΆ„ν•  λ˜λŠ” μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  쀑 λΆ„ν•  κ°€λŠ₯ν•œ ν•˜λ‚˜μ˜ λ°©ν–₯으둜 λΆ„ν• λ˜λŠ” 후보 예츑 λͺ¨λ“œλ“€ 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό νšλ“ν•˜λŠ” 단계; 및 상기 후보 예츑 λͺ¨λ“œλ“€ 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보에 κΈ°μ΄ˆν•˜μ—¬ 상기 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜λŠ” 단계λ₯Ό ν¬ν•¨ν•œλ‹€.In one embodiment, the step of determining a transformation mode applied to the inverse transformation of the current block includes: determining vertical divisibility and horizontal divisibility of the current block; if the current block is arbitrarily incapable of both vertical divisibility and horizontal divisibility based on the determined vertical divisibility and horizontal divisibility and transformation mode information obtained from a bitstream indicates that the current block is not to be divided, determining a transformation mode that does not divide the current block while using a transformation block having the same size and shape as the current block as the transformation mode of the current block; obtaining information indicating one of candidate prediction modes in which the current block is arbitrarily divisible in one of the vertical divisibility and horizontal divisibility directions and is divided in one of the vertical divisibility and horizontal divisibility directions from the transformation mode information obtained from the bitstream; and determining the transformation mode of the current block based on the information indicating one of the candidate prediction modes.

일 μ‹€μ‹œμ˜ˆμ— μžˆμ–΄μ„œ, 상기 ν˜„μž¬ λΈ”λ‘μ˜ μ—­λ³€ν™˜μ— 적용된 λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜λŠ” λ‹¨κ³„λŠ” 상기 ν˜„μž¬ λΈ”λ‘μ˜ 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„±κ³Ό 상기 ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  κ°€λŠ₯ 횟수λ₯Ό νŒλ‹¨ν•˜λŠ” 단계; 상기 νŒλ‹¨λœ 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성에 κΈ°μ΄ˆν•˜μ—¬, 상기 ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  및 μˆ˜ν‰ λ°©ν–₯ 뢄할이 λͺ¨λ‘ λΆˆκ°€λŠ₯ν•˜κ³  λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° νšλ“λœ λ³€ν™˜ λͺ¨λ“œ 정보가 상기 ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ§€ μ•ŠμŒμ„ 가리킬 경우, 상기 ν˜„μž¬ 블둝과 λ™μΌν•œ 크기 및 λͺ¨μ–‘을 κ°–λŠ” λ³€ν™˜ 블둝을 μ΄μš©ν•˜λ©° 상기 ν˜„μž¬ 블둝을 λΆ„ν• ν•˜μ§€ μ•ŠλŠ” λ³€ν™˜ λͺ¨λ“œλ₯Ό 상기 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ‘œ κ²°μ •ν•˜λŠ” 단계; 상기 ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  λ˜λŠ” μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  쀑 ν•˜λ‚˜μ˜ λ°©ν–₯으둜 λΆ„ν• κ°€λŠ₯ν•œ 경우, 상기 λΆ„ν•  κ°€λŠ₯ νšŸμˆ˜μ— κΈ°μ΄ˆν•˜μ—¬ 상기 수직 λ°©ν–₯ λΆ„ν•  λ˜λŠ” μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  쀑 λΆ„ν•  κ°€λŠ₯ν•œ ν•˜λ‚˜μ˜ λ°©ν–₯으둜 λΆ„ν• λ˜λŠ” 후보 예츑 λͺ¨λ“œλ“€ 쀑 상기 λΆ„ν•  횟수λ₯Ό μ΄ˆκ³Όν•˜λŠ” λ³€ν™˜ λͺ¨λ“œλ₯Ό μ œμ™Έν•˜κ³ , λ‚˜λ¨Έμ§€ 후보 예츑 λͺ¨λ“œλ“€ 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό νšλ“ν•˜λŠ” 단계; 및 상기 λ‚˜λ¨Έμ§€ 후보 예츑 λͺ¨λ“œλ“€ 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보에 κΈ°μ΄ˆν•˜μ—¬ 상기 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜λŠ” 단계λ₯Ό ν¬ν•¨ν•œλ‹€.In one embodiment, the step of determining a transformation mode applied to the inverse transformation of the current block includes: determining a vertical divisibility and a horizontal divisibility of the current block and a number of possible divisibility times of the current block; if, based on the determined vertical divisibility and horizontal divisibility, the current block is arbitrarily incapable of both vertical divisibility and horizontal divisibility and transformation mode information acquired from a bitstream indicates that the current block is not divisible, determining a transformation mode that does not divide the current block while using a transformation block having the same size and shape as the current block as the transformation mode of the current block; if the current block is arbitrarily divisible in one of the vertical divisibility and the horizontal divisibility directions, obtaining information indicating one of the remaining candidate prediction modes, excluding a transformation mode that exceeds the number of possible divisibility times among candidate prediction modes that are divided in one of the vertical divisibility directions or the horizontal divisibility directions based on the number of possible divisibility times; and determining a transformation mode of the current block based on the information indicating one of the remaining candidate prediction modes.

일 μ‹€μ‹œμ˜ˆμ— μžˆμ–΄μ„œ, 상기 ν˜„μž¬ λΈ”λ‘μ˜ μ—­λ³€ν™˜μ— μ΄μš©κ°€λŠ₯ν•œ 적어도 ν•˜λ‚˜μ˜ 후보 λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜λŠ” λ‹¨κ³„λŠ” 상기 ν˜„μž¬ λΈ”λ‘μ˜ 크기와 μ†Œμ • 데이터 λ‹¨μœ„μ˜ 크기의 비ꡐ κ²°κ³Ό, 상기 ν˜„μž¬ λΈ”λ‘μ˜ 폭과 높이 쀑 μž‘μ€ λ³€μ˜ 길이, 상기 ν˜„μž¬ 블둝에 ν¬ν•¨λœ ν”½μ…€μ˜ 총 개수, 상기 ν˜„μž¬ λΈ”λ‘μ˜ 크기와 처리 λ‹¨μœ„(processing unit)의 크기의 비ꡐ κ²°κ³Ό, 상기 ν˜„μž¬ 블둝이 μ†Œμ • 경계 쑰건에 ν•΄λ‹Ήν•˜λŠ”μ§€ μ—¬λΆ€ 쀑 적어도 ν•˜λ‚˜μ— κΈ°μ΄ˆν•˜μ—¬ μ†Œμ • 후보 λ³€ν™˜ λͺ¨λ“œλ₯Ό μ œν•œν•˜κ±°λ‚˜ 상기 ν˜„μž¬ λΈ”λ‘μ˜ μ—­λ³€ν™˜μ„ μœ„ν•œ 뢄할을 μˆ˜ν–‰ν•˜μ§€ μ•ŠλŠ”λ‹€.In one embodiment, the step of determining at least one candidate transformation mode available for inverse transformation of the current block limits the candidate transformation mode or does not perform segmentation for inverse transformation of the current block based on at least one of a result of comparing the size of the current block with the size of a predetermined data unit, the length of a smaller side among the width and height of the current block, the total number of pixels included in the current block, a result of comparing the size of the current block with the size of a processing unit, and whether the current block satisfies a predetermined boundary condition.

일 μ‹€μ‹œμ˜ˆμ— μžˆμ–΄μ„œ, ν˜„μž¬ ν”„λ ˆμž„ 정보, 슬라이슀 정보, ν˜„μž¬ λΈ”λ‘μ˜ νŒŒν‹°μ…”λ‹ 정보, ν˜„μž¬ λΈ”λ‘μ˜ 크기, ν˜„μž¬ λΈ”λ‘μ˜ λͺ¨μ–‘, ν˜„μž¬ λΈ”λ‘μ˜ 예츑 λͺ¨λ“œ 정보, ν˜„μž¬ 블둝이 ν¬ν•¨λœ λΆ€λͺ¨ λΈ”λ‘μ˜ νŒŒν‹°μ…”λ‹ 정보, λΆ€λͺ¨ λΈ”λ‘μ˜ 크기, λΆ€λͺ¨ λΈ”λ‘μ˜ λͺ¨μ–‘, λΆ€λͺ¨ λΈ”λ‘μ˜ 예츑 λͺ¨λ“œ 정보, 상기 ν˜„μž¬ λΈ”λ‘μ˜ μ£Όλ³€ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œ 정보, 상기 ν˜„μž¬ 블둝에 ν¬ν•¨λœ λ³€ν™˜ κ³„μˆ˜μ˜ μ΅œλŒ€κ°’, μ†Œμ • μŠ€μΊλ‹ μˆœμ„œμ— λ”°λ₯Έ 상기 ν˜„μž¬ λΈ”λ‘μ˜ λ§ˆμ§€λ§‰ 0이 μ•„λ‹Œ(non-zero) λ³€ν™˜ κ³„μˆ˜μ˜ μœ„μΉ˜ 쀑 적어도 ν•˜λ‚˜μ— κΈ°μ΄ˆν•˜μ—¬ μ»¨ν…μŠ€νŠΈ λͺ¨λΈμ„ κ²°μ •ν•˜λŠ” 단계; 및 상기 κ²°μ •λœ μ»¨ν…μŠ€νŠΈ λͺ¨λΈμ— κΈ°μ΄ˆν•˜μ—¬ 상기 λΉ„νŠΈμŠ€νŠΈλ¦Όμ— ν¬ν•¨λœ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό λ³΅ν˜Έν™”ν•˜λŠ” 단계λ₯Ό 더 ν¬ν•¨ν•œλ‹€.In one embodiment, the method further comprises: determining a context model based on at least one of current frame information, slice information, partitioning information of a current block, a size of the current block, a shape of the current block, prediction mode information of the current block, partitioning information of a parent block including the current block, a size of the parent block, a shape of the parent block, prediction mode information of the parent block, transform mode information of a neighboring block of the current block, a maximum value of a transform coefficient included in the current block, and a position of a last non-zero transform coefficient of the current block according to a predetermined scanning order; and decoding transform mode information included in the bitstream based on the determined context model.

λ³Έ κ°œμ‹œμ˜ 일 μ‹€μ‹œμ˜ˆμ— μžˆμ–΄μ„œ, 상기 λΉ„λ””μ˜€ λ³΅ν˜Έν™” 방법을 μˆ˜ν–‰ν•˜λŠ” λΉ„λ””μ˜€ λ³΅ν˜Έν™” μž₯치 및 상기 λΉ„λ””μ˜€ λ³΅ν˜Έν™” 방법을 μ‹€ν–‰ν•˜κΈ° μœ„ν•œ ν”„λ‘œκ·Έλž¨μ„ κΈ°λ‘ν•œ μ»΄ν“¨ν„°λ‘œ νŒλ…κ°€λŠ₯ν•œ 기둝 맀체λ₯Ό ν¬ν•¨ν•œλ‹€.In one embodiment of the present disclosure, a video decoding device for performing the video decoding method and a computer-readable recording medium recording a program for executing the video decoding method are included.

λ³Έ κ°œμ‹œμ˜ 일 μ‹€μ‹œμ˜ˆμ— λ”°λ₯Ό λΉ„λ””μ˜€ λΆ€ν˜Έν™” 방법은, 볡수 개의 후보 λ³€ν™˜ λͺ¨λ“œλ“€ 쀑 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜μ— μ΄μš©κ°€λŠ₯ν•œ 적어도 ν•˜λ‚˜μ˜ 후보 λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜λŠ” 단계; 상기 적어도 ν•˜λ‚˜μ˜ 후보 λ³€ν™˜ λͺ¨λ“œ 쀑 상기 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜μ— 적용된 λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜λŠ” 단계; 상기 κ²°μ •λœ λ³€ν™˜ λͺ¨λ“œμ— κΈ°μ΄ˆν•˜μ—¬ 상기 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜μ— μ΄μš©λ˜λŠ” λ³€ν™˜ 블둝을 κ²°μ •ν•˜λŠ” 단계; 및 상기 λ³€ν™˜ 블둝 λ‹¨μœ„λ‘œ 상기 ν˜„μž¬ 블둝에 λŒ€ν•œ λ³€ν™˜μ„ μˆ˜ν–‰ν•˜λŠ” 단계λ₯Ό ν¬ν•¨ν•œλ‹€.A video encoding method according to one embodiment of the present disclosure comprises the steps of: determining at least one candidate transformation mode available for transformation of a current block from among a plurality of candidate transformation modes; determining a transformation mode applied to transformation of the current block from among the at least one candidate transformation mode; determining a transformation block used for transformation of the current block based on the determined transformation mode; and performing transformation on the current block in units of the transformation blocks.

λ³Έ κ°œμ‹œμ˜ 일 μ‹€μ‹œμ˜ˆμ— μžˆμ–΄μ„œ, 상기 λΉ„λ””μ˜€ λΆ€ν˜Έν™” 방법을 μˆ˜ν–‰ν•˜λŠ” λΉ„λ””μ˜€ λΆ€ν˜Έν™” μž₯치 및 상기 λΉ„λ””μ˜€ λΆ€ν˜Έν™” 방법을 μ‹€ν–‰ν•˜κΈ° μœ„ν•œ ν”„λ‘œκ·Έλž¨μ„ κΈ°λ‘ν•œ μ»΄ν“¨ν„°λ‘œ νŒλ…κ°€λŠ₯ν•œ 기둝 맀체λ₯Ό ν¬ν•¨ν•œλ‹€.In one embodiment of the present disclosure, a video encoding device for performing the video encoding method and a computer-readable recording medium recording a program for executing the video encoding method are included.

μ΄ν•˜, μ²¨λΆ€ν•œ 도면을 μ°Έμ‘°ν•˜μ—¬ λ³Έ 발λͺ…μ˜ μ‹€μ‹œμ˜ˆμ— λ”°λ₯Έ λΉ„λ””μ˜€ λΆ€ν˜Έν™”, λ³΅ν˜Έν™” 방법 및 μž₯μΉ˜μ— λŒ€ν•΄ μƒμ„Ένžˆ μ„€λͺ…ν•œλ‹€.Hereinafter, a video encoding and decoding method and device according to an embodiment of the present invention will be described in detail with reference to the attached drawings.

ν•˜κΈ°μ—μ„œ λ³Έ 발λͺ…을 μ„€λͺ…함에 μžˆμ–΄ κ΄€λ ¨λœ 곡지 κΈ°λŠ₯ λ˜λŠ” ꡬ성에 λŒ€ν•œ ꡬ체적인 μ„€λͺ…이 λ³Έ 발λͺ…μ˜ μš”μ§€λ₯Ό λΆˆν•„μš”ν•˜κ²Œ 흐릴 수 μžˆλ‹€κ³  νŒλ‹¨λ˜λŠ” κ²½μš°μ—λŠ” κ·Έ μƒμ„Έν•œ μ„€λͺ…을 μƒλž΅ν•  것이닀. 그리고 ν›„μˆ λ˜λŠ” μš©μ–΄λ“€μ€ λ³Έ 발λͺ…μ—μ„œμ˜ κΈ°λŠ₯을 κ³ λ €ν•˜μ—¬ μ •μ˜λœ μš©μ–΄λ“€λ‘œμ„œ, μ΄λŠ” μ‚¬μš©μž, 운용자의 μ˜λ„ λ˜λŠ” κ΄€λ‘€ 등에 따라 λ‹¬λΌμ§ˆ 수 μžˆλ‹€. κ·ΈλŸ¬λ―€λ‘œ κ·Έ μ •μ˜λŠ” λ³Έ 발λͺ…μ—μ„œ μ „λ°˜μ— 걸친 λ‚΄μš©μ„ ν† λŒ€λ‘œ λ‚΄λ €μ Έμ•Ό ν•  것이닀.In the following description of the present invention, detailed descriptions of related known functions or configurations will be omitted if they are deemed to unnecessarily obscure the gist of the invention. Furthermore, the terms described below are defined in light of their functions within the present invention and may vary depending on the intent or custom of the user or operator. Therefore, their definitions should be based on the overall content of the present invention.

λ˜ν•œ, μ΄ν•˜ μ‹€μ‹œλ˜λŠ” λ³Έ 발λͺ…μ˜ λ°”λžŒμ§ν•œ μ‹€μ‹œμ˜ˆλŠ” λ³Έ 발λͺ…을 μ΄λ£¨λŠ” 기술적 κ΅¬μ„±μš”μ†Œλ₯Ό 효율적으둜 μ„€λͺ…ν•˜κΈ° μœ„ν•΄ 각각의 μ‹œμŠ€ν…œ κΈ°λŠ₯ꡬ성에 κΈ° κ΅¬λΉ„λ˜μ–΄ μžˆκ±°λ‚˜, λ˜λŠ” λ³Έ 발λͺ…이 μ†ν•˜λŠ” κΈ°μˆ λΆ„μ•Όμ—μ„œ ν†΅μƒμ μœΌλ‘œ κ΅¬λΉ„λ˜λŠ” μ‹œμŠ€ν…œ κΈ°λŠ₯ꡬ성은 κ°€λŠ₯ν•œ μƒλž΅ν•˜κ³ , λ³Έ 발λͺ…을 μœ„ν•΄ μΆ”κ°€μ μœΌλ‘œ κ΅¬λΉ„λ˜μ–΄μ•Ό ν•˜λŠ” κΈ°λŠ₯ꡬ성을 μœ„μ£Όλ‘œ μ„€λͺ…ν•œλ‹€.In addition, in order to efficiently explain the technical components that make up the present invention, the preferred embodiments of the present invention implemented below omit, as much as possible, the system functional components that are already provided in each system functional configuration or are commonly provided in the technical field to which the present invention belongs, and focus on explaining the functional components that must be additionally provided for the present invention.

λ§Œμ•½ λ³Έ 발λͺ…이 μ†ν•˜λŠ” κΈ°μˆ λΆ„μ•Όμ—μ„œ ν†΅μƒμ˜ 지식을 κ°€μ§„ 자라면, ν•˜κΈ°μ— λ„μ‹œν•˜μ§€ μ•Šκ³  μƒλž΅λœ κΈ°λŠ₯ꡬ성 μ€‘μ—μ„œ μ’…λž˜μ— κΈ°μ‚¬μš©λ˜κ³  μžˆλŠ” κ΅¬μ„±μš”μ†Œμ˜ κΈ°λŠ₯을 μš©μ΄ν•˜κ²Œ 이해할 수 μžˆμ„ 것이며, λ˜ν•œ 상기와 같이 μƒλž΅λœ κ΅¬μ„±μš”μ†Œμ™€ λ³Έ 발λͺ…을 μœ„ν•΄ μΆ”κ°€λœ κ΅¬μ„±μš”μ†Œ μ‚¬μ΄μ˜ 관계도 λͺ…λ°±ν•˜κ²Œ 이해할 수 μžˆμ„ 것이닀.Anyone having ordinary skill in the art to which the present invention pertains will be able to easily understand the functions of components that have been conventionally used among the functional configurations that are not illustrated below, and will also be able to clearly understand the relationship between the components omitted as described above and the components added for the present invention.

λ³Έ λͺ…μ„Έμ„œμ—μ„œ μ˜μƒμ„ λΆ€ν˜Έν™”ν•˜μ—¬ λΉ„λ””μ˜€ μ‹ ν˜Έ λΉ„νŠΈμŠ€νŠΈλ¦Όμ„ μƒμ„±ν•˜λŠ” μž₯μΉ˜λŠ” λΆ€ν˜Έν™” μž₯치, 인코딩 μž₯치 λ˜λŠ” μΈμ½”λ”λ‘œ μ§€μΉ­λ˜λ©°, λΉ„λ””μ˜€ μ‹ ν˜Έ λΉ„νŠΈμŠ€νŠΈλ¦Όμ„ λ³΅ν˜Έν™”ν•˜μ—¬ μ˜μƒμ„ λ³΅μ›ν•˜λŠ” μž₯μΉ˜λŠ” λ³΅ν˜Έν™” μž₯치, λ””μ½”λ”© μž₯치 λ˜λŠ” λ””μ½”λ”λ‘œ μ§€μΉ­λœλ‹€.In this specification, a device that encodes an image to generate a video signal bitstream is referred to as an encoding device, an encoding device, or an encoder, and a device that decodes the video signal bitstream to restore an image is referred to as a decoding device, a decoding device, or a decoder.

ν”½μ…€(pixel) λ˜λŠ” 펠(pel)은 μ˜μƒμ„ κ΅¬μ„±ν•˜λŠ” μ΅œμ†Œμ˜ λ‹¨μœ„λ₯Ό μ˜λ―Έν•˜λ©°, ν”½μ…€κ³Ό μƒ˜ν”Œ(sample)이 μ„œλ‘œ ν˜Όμš©ν•˜μ—¬ μ‚¬μš©λ  수 μžˆλ‹€. μƒ˜ν”Œμ€ 일반적으둜 ν”½μ…€ λ˜λŠ” ν”½μ…€μ˜ 값을 λ‚˜νƒ€λ‚Ό 수 있으며, νœ˜λ„(luma) μ„±λΆ„μ˜ ν”½μ…€ λ˜λŠ” ν”½μ…€ κ°’λ§Œμ„ λ‚˜νƒ€λ‚΄κ±°λ‚˜, 색차(chroma) μ„±λΆ„μ˜ ν”½μ…€ λ˜λŠ” ν”½μ…€ κ°’λ§Œμ„ λ‚˜νƒ€λ‚Ό μˆ˜λ„ μžˆλ‹€.A pixel or pel is the smallest unit that constitutes an image, and the terms pixel and sample can be used interchangeably. A sample can generally represent a pixel or a pixel value, or it can represent only a pixel or pixel value of the luminance component, or only a pixel or pixel value of the chroma component.

λ˜ν•œ, μœ λ‹›μ€ μ˜μƒ 처리의 κΈ°λ³Έ λ‹¨μœ„ λ˜λŠ” ν”½μ³μ˜ νŠΉμ • μœ„μΉ˜λ₯Ό μ§€μΉ­ν•˜λŠ” 의미둜 μ‚¬μš©λ˜λ©°, νœ˜λ„ μ„±λΆ„ 및 색차 μ„±λΆ„ 쀑 적어도 ν•˜λ‚˜λ₯Ό ν¬ν•¨ν•˜λŠ” 이미지 μ˜μ—­μ„ λ‚˜νƒ€λ‚Έλ‹€. ꡬ체적으둜, μœ λ‹›μ€ μ½”λ”© 트리 μœ λ‹›(CTU, Coding Tree Unit), μ½”λ”© μœ λ‹›(CU, Coding Unit), 예츑 μœ λ‹›(PU, Prediction Unit), λ³€ν™˜ μœ λ‹›(TU, Transform Unit)을 λͺ¨λ‘ ν¬ν•¨ν•˜λŠ” κ°œλ…μœΌλ‘œ μ‚¬μš©λ  수 μžˆλ‹€. 그리고 블둝은 νœ˜λ„ μ„±λΆ„ 및 색차 μ„±λΆ„λ“€ 쀑 νŠΉμ • 성뢄을 ν¬ν•¨ν•˜λŠ” 이미지 μ˜μ—­μ„ λ‚˜νƒ€λ‚΄λ©°, MxN 블둝은 M개의 μ—΄κ³Ό N개의 ν–‰μœΌλ‘œ 이루어진 μƒ˜ν”Œλ“€ λ˜λŠ” λ³€ν™˜ κ³„μˆ˜(transform coefficient)λ“€μ˜ 집합을 λ‚˜νƒ€λ‚Ό 수 μžˆλ‹€. μ—¬κΈ°μ„œ, μœ λ‹›, 블둝, νŒŒν‹°μ…˜, μ‹ ν˜Έ 및 μ˜μ—­ λ“±μ˜ μš©μ–΄λŠ” μ„œλ‘œ ν˜Όμš©ν•˜μ—¬ μ‚¬μš©λ  수 μžˆλ‹€.In addition, the unit is used to refer to a basic unit of image processing or a specific location of a picture, and represents an image area including at least one of a luminance component and a chrominance component. Specifically, the unit can be used as a concept including a coding tree unit (CTU), a coding unit (CU), a prediction unit (PU), and a transform unit (TU). In addition, a block represents an image area including a specific component among luminance components and chrominance components, and an MxN block can represent a set of samples or transform coefficients consisting of M columns and N rows. Here, the terms unit, block, partition, signal, and area may be used interchangeably.

ν•œνŽΈ, ν”½μ³λŠ” ν•„λ“œ λ˜λŠ” ν”„λ ˆμž„μ„ 가리킀며, 이듀은 μ„œλ‘œ ν˜Όμš©ν•˜μ—¬ μ‚¬μš©λ  수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, μ˜μƒμ΄ 비월주사식 μ˜μƒμΌ 경우, ν•˜λ‚˜μ˜ ν”„λ ˆμž„μ€ ν™€μˆ˜(λ˜λŠ” 기수, top) ν•„λ“œμ™€ 짝수(λ˜λŠ” 우수, bottom) ν•„λ“œλ‘œ λΆ„λ¦¬λ˜μ–΄, 각 ν•„λ“œλŠ” ν•˜λ‚˜μ˜ 픽쳐 λ‹¨μœ„λ‘œ κ΅¬μ„±λ˜μ–΄ λΆ€ν˜Έν™” λ˜λŠ” λ³΅ν˜Έν™” 될 수 μžˆλ‹€. 그리고 μ˜μƒμ΄ μˆœμ°¨μ£Όμ‚¬ μ˜μƒμΌ κ²½μš°μ—λŠ”, ν•˜λ‚˜μ˜ ν”„λ ˆμž„μ΄ ν”½μ³λ‘œμ„œ κ΅¬μ„±λ˜μ–΄ λΆ€ν˜Έν™” λ˜λŠ” λ³΅ν˜Έν™” 될 수 μžˆλ‹€.Meanwhile, a picture refers to a field or a frame, and these can be used interchangeably. For example, if the image is an interlaced image, one frame is divided into an odd (or odd, top) field and an even (or even, bottom) field, and each field is composed of a single picture unit, which can be encoded or decoded. If the image is a progressive image, one frame can be composed as a picture, which can be encoded or decoded.

도 1은 λ³Έ 발λͺ…μ˜ μΌμ‹€μ‹œμ˜ˆμ— λ”°λ₯Έ λΆ€ν˜Έν™” μž₯치λ₯Ό λΈ”λ‘λ„λ‘œ λ„μ‹œν•œ κ²ƒμœΌλ‘œ, μ˜μƒμ„ λΆ€ν˜Έν™”ν•˜κΈ° μœ„ν•œ λΉ„λ””μ˜€ μΈμ½”λ”μ˜ ꡬ성 및 λ™μž‘μ„ μ„€λͺ…ν•˜κΈ° μœ„ν•œ 것이닀.FIG. 1 is a block diagram illustrating an encoding device according to an embodiment of the present invention, and is intended to explain the configuration and operation of a video encoder for encoding an image.

도 1을 μ°Έμ‘°ν•˜λ©΄, λΉ„λ””μ˜€ 인코더(100)λŠ” λ³€ν™˜λΆ€(110), μ–‘μžν™”λΆ€(120), μ—­μ–‘μžν™”λΆ€(130), μ—­λ³€ν™˜λΆ€(140), 필터링뢀(150), μ˜ˆμΈ‘λΆ€(160), DPB(Decoded Picture Buffer, 170) 및 μ—”νŠΈλ‘œν”Ό μ½”λ”©λΆ€(180)λ₯Ό ν¬ν•¨ν•˜μ—¬ ꡬ성될 수 μžˆλ‹€.Referring to FIG. 1, a video encoder (100) may be configured to include a transformation unit (110), a quantization unit (120), an inverse quantization unit (130), an inverse transformation unit (140), a filtering unit (150), a prediction unit (160), a DPB (Decoded Picture Buffer, 170), and an entropy coding unit (180).

λ³€ν™˜λΆ€(110)λŠ” μž…λ ₯ 받은 λΉ„λ””μ˜€ μ‹ ν˜Έμ™€ μ˜ˆμΈ‘λΆ€(160)μ—μ„œ μƒμ„±λœ 예츑 μ‹ ν˜Έμ˜ 차이인 λ ˆμ§€λ“€μ–Ό μ‹ ν˜Έλ₯Ό λ³€ν™˜ν•˜μ—¬ λ³€ν™˜ κ³„μˆ˜ 값을 νšλ“ν•œλ‹€.The conversion unit (110) converts the residual signal, which is the difference between the input video signal and the prediction signal generated by the prediction unit (160), to obtain a conversion coefficient value.

예λ₯Ό λ“€μ–΄, 이산 코사인 λ³€ν™˜(Discrete Cosine Transform, DCT), 이산 사인 λ³€ν™˜ (Discrete Sine Transform, DST) λ˜λŠ” 웨이블릿 λ³€ν™˜(Wavelet Transform) 등이 μ‚¬μš©λ  수 μžˆλ‹€.For example, the Discrete Cosine Transform (DCT), the Discrete Sine Transform (DST), or the Wavelet Transform can be used.

λ ˆμ§€λ“€μ–Ό 블둝에 λŒ€ν•œ λ³€ν™˜μ— μ‚¬μš©λ˜λŠ” λ³€ν™˜ 컀널은 수직 λ³€ν™˜ 및 μˆ˜ν‰ λ³€ν™˜μ˜ 뢄리 κ°€λŠ₯ν•œ νŠΉμ„±μ„ κ°€μ§€λŠ” λ³€ν™˜ 컀널일 수 μžˆλ‹€. 이 경우, λ ˆμ§€λ“€μ–Ό 블둝에 λŒ€ν•œ λ³€ν™˜μ€ 수직 λ³€ν™˜ 및 μˆ˜ν‰ λ³€ν™˜μœΌλ‘œ λΆ„λ¦¬λ˜μ–΄ μˆ˜ν–‰λ  수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, μΈμ½”λ”λŠ” λ ˆμ§€λ“€μ–Ό λΈ”λ‘μ˜ 수직 λ°©ν–₯으둜 λ³€ν™˜ 컀널을 μ μš©ν•˜μ—¬ 수직 λ³€ν™˜μ„ μˆ˜ν–‰ν•  수 μžˆλ‹€. λ˜ν•œ, μΈμ½”λ”λŠ” λ ˆμ§€λ“€μ–Ό λΈ”λ‘μ˜ μˆ˜ν‰ λ°©ν–₯으둜 λ³€ν™˜ 컀널을 μ μš©ν•˜μ—¬ μˆ˜ν‰ λ³€ν™˜μ„ μˆ˜ν–‰ν•  수 μžˆλ‹€.The transform kernel used for transforming the residual block may be a transform kernel having separable vertical and horizontal transform properties. In this case, the transform for the residual block may be performed separately as vertical and horizontal transforms. For example, the encoder may perform a vertical transform by applying the transform kernel in the vertical direction of the residual block. Alternatively, the encoder may perform a horizontal transform by applying the transform kernel in the horizontal direction of the residual block.

ν•œνŽΈ, λ³€ν™˜ 컀널은 λ³€ν™˜ 맀트릭슀, λ³€ν™˜ μ–΄λ ˆμ΄, λ³€ν™˜ ν•¨μˆ˜, λ³€ν™˜κ³Ό 같이 λ ˆμ§€λ“€μ–Ό μ‹ ν˜Έμ˜ λ³€ν™˜μ— μ‚¬μš©λ˜λŠ” νŒŒλΌλ―Έν„° μ„ΈνŠΈλ₯Ό μ§€μΉ­ν•˜λŠ” μš©μ–΄λ‘œ μ‚¬μš©λ  수 있으며, 볡수의 μ‚¬μš© κ°€λŠ₯ν•œ 컀널듀 쀑 μ–΄λŠ ν•˜λ‚˜μΌ 수 있고, 수직 λ³€ν™˜ 및 μˆ˜ν‰ λ³€ν™˜ 각각에 λŒ€ν•΄ μ„œλ‘œ λ‹€λ₯Έ λ³€ν™˜ νƒ€μž…μ— κΈ°λ°˜ν•œ λ³€ν™˜ 컀널이 μ‚¬μš©λ  μˆ˜λ„ μžˆλ‹€.Meanwhile, the transform kernel may be used as a term referring to a set of parameters used for transforming the residual signal, such as a transform matrix, a transform array, a transform function, or a transform, and may be any one of a plurality of available kernels, and transform kernels based on different transform types may be used for each of the vertical transform and the horizontal transform.

λ³€ν™˜ κ³„μˆ˜λŠ” λΈ”λ‘μ˜ μ’Œμƒλ‹¨μœΌλ‘œ 갈수둝 높은 κ³„μˆ˜κ°€ λΆ„ν¬ν•˜κ³ , λΈ”λ‘μ˜ μš°ν•˜λ‹¨μœΌλ‘œ 갈수둝 '0'에 κ°€κΉŒμš΄ κ³„μˆ˜κ°€ 뢄포할 수 μžˆλ‹€. λ˜ν•œ, ν˜„μž¬ λΈ”λ‘μ˜ 크기가 컀질수둝 μš°ν•˜λ‹¨ μ˜μ—­μ—μ„œ κ³„μˆ˜ '0'이 많이 μ‘΄μž¬ν•  κ°€λŠ₯성이 있으며, 크기가 큰 λΈ”λ‘μ˜ λ³€ν™˜ λ³΅μž‘λ„λ₯Ό κ°μ†Œμ‹œν‚€κΈ° μœ„ν•΄, μž„μ˜μ˜ μ’Œμƒλ‹¨ μ˜μ—­λ§Œμ„ 남기고 λ‚˜λ¨Έμ§€ μ˜μ—­μ€ '0'으둜 μž¬μ„€μ •λ  수 μžˆλ‹€.The transformation coefficients may be distributed such that higher coefficients are distributed toward the upper left corner of the block, and coefficients closer to '0' are distributed toward the lower right corner of the block. Furthermore, as the current block size increases, there is a possibility that many '0' coefficients exist in the lower right area. To reduce the transformation complexity of large blocks, only the upper left area can be left, and the remaining areas can be reset to '0'.

λ˜ν•œ, μ½”λ”© λΈ”λ‘μ—μ„œ 일뢀 μ˜μ—­μ—λ§Œ 였차 μ‹ ν˜Έκ°€ μ‘΄μž¬ν•  수 있으며, 이 경우 μž„μ˜μ˜ 일뢀 μ˜μ—­μ— λŒ€ν•΄μ„œλ§Œ λ³€ν™˜ 과정이 μˆ˜ν–‰λ  수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, 2Nx2N 크기의 λΈ”λ‘μ—μ„œ 첫번째 2NxN λΈ”λ‘μ—λ§Œ 였차 μ‹ ν˜Έκ°€ μ‘΄μž¬ν•  수 있으며, 이 경우 첫번째 2NxN λΈ”λ‘μ—λ§Œ λ³€ν™˜ 과정이 μˆ˜ν–‰λ˜μ§€λ§Œ λ‘λ²ˆμ§Έ 2NxN 블둝은 λ³€ν™˜ 과정이 μˆ˜ν–‰λ˜μ§€ μ•Šκ³  인코딩 λ˜λŠ” λ””μ½”λ”©λ˜μ§€ μ•Šμ„ 수 μžˆλ‹€.Additionally, error signals may exist only in some regions of a coding block, in which case the conversion process may be performed only on some arbitrary regions. For example, in a block of size 2Nx2N, error signals may exist only in the first 2NxN block, in which case the conversion process may be performed only on the first 2NxN block, but the conversion process may not be performed on the second 2NxN block and may not be encoded or decoded.

μΈμ½”λ”λŠ” λ³€ν™˜ κ³„μˆ˜κ°€ μ–‘μžν™”λ˜κΈ° 전에 좔가적인 λ³€ν™˜μ„ μˆ˜ν–‰ν•  수 μžˆλ‹€. μƒκΈ°ν•œ 바와 같은 λ³€ν™˜ 방법은 1μ°¨ λ³€ν™˜(primary transform)으둜 μ§€μΉ­λ˜κ³ , 좔가적인 λ³€ν™˜μ€ 2μ°¨ λ³€ν™˜(secondary transform)으둜 지칭될 수 μžˆλ‹€.The encoder may perform additional transformations before the transform coefficients are quantized. The transformation method described above may be referred to as a primary transform, and the additional transformation may be referred to as a secondary transform.

2μ°¨ λ³€ν™˜μ€ λ ˆμ§€λ“€μ–Ό 블둝 λ³„λ‘œ 선택적일 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, μΈμ½”λ”λŠ” 1μ°¨ λ³€ν™˜λ§ŒμœΌλ‘œ μ €μ£ΌνŒŒ μ˜μ—­μ— μ—λ„ˆμ§€λ₯Ό μ§‘μ€‘μ‹œν‚€κΈ° μ–΄λ €μš΄ μ˜μ—­μ— λŒ€ν•΄ 2μ°¨ λ³€ν™˜μ„ μˆ˜ν–‰ν•˜μ—¬ μ½”λ”© νš¨μœ¨μ„ ν–₯μƒμ‹œν‚¬ 수 μžˆλ‹€. The secondary transform can be optional for each residual block. For example, the encoder can improve coding efficiency by performing the secondary transform in areas where it is difficult to focus energy in the low-frequency region using the primary transform alone.

ꡬ체적으둜, λ ˆμ§€λ“€μ–Ό 값듀이 λ ˆμ§€λ“€μ–Ό λΈ”λ‘μ˜ μˆ˜ν‰ λ˜λŠ” 수직 λ°©ν–₯ μ΄μ™Έμ˜ λ°©ν–₯μ—μ„œ 크게 λ‚˜νƒ€λ‚˜λŠ” 블둝에 λŒ€ν•΄ 2μ°¨ λ³€ν™˜μ΄ μΆ”κ°€λ‘œ μˆ˜ν–‰λ  수 있으며, 2μ°¨ λ³€ν™˜μ€ 1μ°¨ λ³€ν™˜κ³Ό 달리 수직 λ³€ν™˜ 및 μˆ˜ν‰ λ³€ν™˜μœΌλ‘œ λΆ„λ¦¬λ˜μ–΄ μˆ˜ν–‰λ˜μ§€ μ•Šμ„ 수 μžˆλ‹€. μƒκΈ°ν•œ 바와 같은 2μ°¨ λ³€ν™˜μ€ μ €λŒ€μ—­ λΉ„-뢄리 λ³€ν™˜(Low Frequency Non-Separable Transform, LFNST)으둜 지칭될 수 μžˆλ‹€. Specifically, a secondary transformation may be additionally performed on blocks in which residual values appear significantly in directions other than the horizontal or vertical direction of the residual block, and the secondary transformation may not be performed separately into vertical transformation and horizontal transformation, unlike the primary transformation. Such a secondary transformation may be referred to as a low frequency non-separable transform (LFNST).

μ–‘μžν™”λΆ€(120)λŠ” λ³€ν™˜λΆ€(110)μ—μ„œ 좜λ ₯된 λ³€ν™˜ κ³„μˆ˜ 값을 μ–‘μžν™”ν•œλ‹€.The quantization unit (120) quantizes the transformation coefficient value output from the transformation unit (110).

μ½”λ”© νš¨μœ¨μ„ 높이기 μœ„ν•˜μ—¬ 픽쳐 μ‹ ν˜Έλ₯Ό κ·ΈλŒ€λ‘œ μ½”λ”©ν•˜λŠ” 것이 μ•„λ‹ˆλΌ, μ˜ˆμΈ‘λΆ€(160)λ₯Ό 톡해 이미 μ½”λ”©λœ μ˜μ—­μ„ μ΄μš©ν•˜μ—¬ 픽쳐λ₯Ό μ˜ˆμΈ‘ν•˜κ³ , 예츑된 픽쳐에 원본 픽쳐와 예츑 픽쳐 κ°„μ˜ λ ˆμ§€λ“€μ–Ό 값을 λ”ν•˜μ—¬ 볡원 픽쳐λ₯Ό νšλ“ν•˜λŠ” 방법이 μ‚¬μš©λœλ‹€.In order to increase coding efficiency, a method is used in which, instead of coding the picture signal as is, a picture is predicted using an already coded area through a prediction unit (160), and a restored picture is obtained by adding a residual value between the original picture and the predicted picture to the predicted picture.

인코더와 λ””μ½”λ”μ—μ„œ λ―ΈμŠ€λ§€μΉ˜κ°€ λ°œμƒλ˜μ§€ μ•Šλ„λ‘ ν•˜κΈ° μœ„ν•΄, μΈμ½”λ”μ—μ„œ μ˜ˆμΈ‘μ„ μˆ˜ν–‰ν•  λ•Œμ—λŠ” λ””μ½”λ”μ—μ„œλ„ μ‚¬μš© κ°€λŠ₯ν•œ 정보λ₯Ό μ‚¬μš©ν•΄μ•Ό ν•˜λ©°, 이λ₯Ό μœ„ν•΄ μΈμ½”λ”μ—μ„œλŠ” λΆ€ν˜Έν™”ν•œ ν˜„μž¬ 블둝을 λ‹€μ‹œ λ³΅μ›ν•˜λŠ” 과정을 μˆ˜ν–‰ν•  수 μžˆλ‹€.To avoid mismatches between the encoder and decoder, when performing prediction in the encoder, information available in the decoder must also be used, and for this purpose, the encoder can perform a process of reconstructing the current encoded block.

μ—­μ–‘μžν™”λΆ€(130)λŠ” λ³€ν™˜ κ³„μˆ˜ 값을 μ—­μ–‘μžν™”ν•˜κ³ , μ—­λ³€ν™˜λΆ€(140)λŠ” μ—­μ–‘μžν™”λœ λ³€ν™˜ κ³„μˆ˜κ°’μ„ μ΄μš©ν•˜μ—¬ λ ˆμ§€λ“€μ–Ό 값을 λ³΅μ›ν•œλ‹€.The inverse quantization unit (130) inversely quantizes the transform coefficient values, and the inverse transformation unit (140) restores the residual values using the inverse quantized transform coefficient values.

필터링뢀(150)λŠ” λ³΅μ›λœ ν”½μ³μ˜ ν’ˆμ§ˆ κ°œμ„  및 λΆ€ν˜Έν™” 효율 ν–₯상을 μœ„ν•΄ 디블둝킹 ν•„ν„°(deblocking filter), μƒ˜ν”Œ 적응적 μ˜€ν”„μ…‹(Sample Adaptive Offset, SAO), 적응적 루프 ν•„ν„°(Adaptive Loop Filter, ALF) 등을 μ΄μš©ν•œ 필터링 연산을 μˆ˜ν–‰ν•œλ‹€.The filtering unit (150) performs filtering operations using a deblocking filter, a sample adaptive offset (SAO), an adaptive loop filter (ALF), etc. to improve the quality of the restored picture and enhance encoding efficiency.

디블둝킹 ν•„ν„°λŠ” λ³΅μ›λœ ν”½μ³μ—μ„œ 블둝 κ°„μ˜ 경계에 μƒμ„±λœ 블둝 λ‚΄μ˜ μ™œκ³‘μ„ μ œκ±°ν•˜κΈ° μœ„ν•œ ν•„ν„°λ‘œμ„œ, μΈμ½”λ”λŠ” 블둝 λ‚΄μ˜ μž„μ˜ 경계λ₯Ό κΈ°μ€€μœΌλ‘œ λͺ‡ 개의 μ—΄ λ˜λŠ” 행에 ν¬ν•¨λœ ν”½μ…€λ“€μ˜ 뢄포에 κΈ°μ΄ˆν•˜μ—¬ ν•΄λ‹Ή 경계에 디블둝킹 ν•„ν„°λ₯Ό μ μš©ν• μ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•  수 μžˆλ‹€.A deblocking filter is a filter for removing distortion within a block generated at the boundary between blocks in a restored picture. The encoder can determine whether to apply a deblocking filter to a boundary based on the distribution of pixels included in several columns or rows based on an arbitrary boundary within a block.

디블둝킹 ν•„ν„°κ°€ μ μš©λ˜λŠ” 경우, 필터링뢀(150)λŠ” 디블둝킹 필터링 강도에 따라 κΈ΄ ν•„ν„°(Long Filter), κ°•ν•œ ν•„ν„°(Strong Filter) λ˜λŠ” μ•½ν•œ ν•„ν„°(Weak Filter)λ₯Ό μ μš©ν•  수 있으며, μˆ˜ν‰ λ°©ν–₯ 필터링 및 수직 λ°©ν–₯ 필터링을 λ³‘λ ¬μ μœΌλ‘œ μ²˜λ¦¬ν•  수 μžˆλ‹€.When a deblocking filter is applied, the filtering unit (150) can apply a long filter, a strong filter, or a weak filter depending on the deblocking filtering strength, and can process horizontal filtering and vertical filtering in parallel.

μƒ˜ν”Œ 적응적 μ˜€ν”„μ…‹(SAO)은 디블둝킹 ν•„ν„°κ°€ 적용된 λ ˆμ§€λ“€μ–Ό 블둝에 λŒ€ν•˜μ—¬, ν”½μ…€ λ‹¨μœ„λ‘œ 원본 μ˜μƒκ³Όμ˜ μ˜€ν”„μ…‹μ„ λ³΄μ •ν•˜λŠ”λ° μ‚¬μš©λ  수 μžˆλ‹€. 필터링뢀(150)λŠ” νŠΉμ • 픽쳐에 λŒ€ν•œ μ˜€ν”„μ…‹μ„ λ³΄μ •ν•˜κΈ° μœ„ν•˜μ—¬ μ˜μƒμ— ν¬ν•¨λœ 픽셀을 μΌμ •ν•œ 수의 μ˜μ—­μœΌλ‘œ κ΅¬λΆ„ν•œ ν›„, μ˜€ν”„μ…‹ 보정을 μˆ˜ν–‰ν•  μ˜μ—­μ„ κ²°μ •ν•˜κ³ , ν•΄λ‹Ή μ˜μ—­μ— μ˜€ν”„μ…‹μ„ μ μš©ν•˜λŠ” 방법 (Band Offset)을 μ‚¬μš©ν•  수 μžˆλ‹€. λ˜ν•œ, 필터링뢀(150)λŠ” 각 ν”½μ…€μ˜ 에지 정보λ₯Ό κ³ λ €ν•˜μ—¬ μ˜€ν”„μ…‹μ„ μ μš©ν•˜λŠ” 방법(Edge Offset)을 μ‚¬μš©ν•  수 μžˆλ‹€.Sample Adaptive Offset (SAO) can be used to correct the offset from the original image on a pixel-by-pixel basis for a residual block to which a deblocking filter is applied. In order to correct the offset for a specific picture, the filtering unit (150) can use a method (Band Offset) that divides the pixels included in the image into a certain number of regions, determines the regions to perform offset correction, and applies the offset to the regions. In addition, the filtering unit (150) can use a method (Edge Offset) that applies the offset by considering the edge information of each pixel.

적응적 루프 ν•„ν„°(ALF)λŠ” μ˜μƒμ— ν¬ν•¨λœ 픽셀을 μ†Œμ •μ˜ 그룹으둜 λ‚˜λˆˆ ν›„, ν•΄λ‹Ή 그룹에 적용될 ν•˜λ‚˜μ˜ ν•„ν„°λ₯Ό κ²°μ •ν•˜μ—¬ κ·Έλ£Ήλ§ˆλ‹€ μ°¨λ³„μ μœΌλ‘œ 필터링을 μˆ˜ν–‰ν•˜λŠ” 방법이닀. 적응적 루프 ν•„ν„°λ₯Ό μ μš©ν• μ§€ 여뢀에 κ΄€λ ¨λœ μ •λ³΄λŠ” μ½”λ”© μœ λ‹› λ‹¨μœ„λ‘œ μ‹œκ·Έλ„λ§λ  수 있고, 각각의 블둝에 따라 적용될 ALF ν•„ν„°μ˜ λͺ¨μ–‘ 및 ν•„ν„° κ³„μˆ˜κ°€ λ‹¬λΌμ§ˆ 수 μžˆλ‹€. λ˜ν•œ, μ μš©ν•  λŒ€μƒ λΈ”λ‘μ˜ νŠΉμ„±μ— 관계없이 λ™μΌν•œ ν˜•νƒœμ˜ 적응적 루프 ν•„ν„°κ°€ 적용될 μˆ˜λ„ μžˆλ‹€.Adaptive Loop Filtering (ALF) is a method that divides pixels in an image into predetermined groups, determines a filter to be applied to each group, and performs differential filtering for each group. Information regarding whether to apply an adaptive loop filter can be signaled on a coding unit basis, and the shape and filter coefficients of the ALF filter to be applied can vary depending on the block. Furthermore, the same adaptive loop filter can be applied regardless of the characteristics of the target block.

필터링을 거친 ν”½μ³λŠ” μ°Έμ‘° ν”½μ³λ‘œ μ΄μš©ν•˜κΈ° μœ„ν•΄ DPB(170)에 μ €μž₯될 수 μžˆλ‹€.The filtered picture can be stored in DPB (170) to be used as a reference picture.

μ˜ˆμΈ‘λΆ€(160)λŠ” 인트라/IBC μ˜ˆμΈ‘λΆ€(161)와 인터 μ˜ˆμΈ‘λΆ€(165)λ₯Ό ν¬ν•¨ν•˜λ©°, 인트라/IBC μ˜ˆμΈ‘λΆ€(161)λŠ” ν˜„μž¬ 픽쳐 λ‚΄μ—μ„œ 인트라(intra) 예츑 및 IBC μ˜ˆμΈ‘μ„ μˆ˜ν–‰ν•˜λ©°, 인터 μ˜ˆμΈ‘λΆ€(165)λŠ” DPB(170)에 μ €μž₯된 μ°Έμ‘° 픽쳐λ₯Ό μ΄μš©ν•˜μ—¬ ν˜„μž¬ 픽쳐λ₯Ό μ˜ˆμΈ‘ν•˜λŠ” 인터(inter) μ˜ˆμΈ‘μ„ μˆ˜ν–‰ν•œλ‹€.The prediction unit (160) includes an intra/IBC prediction unit (161) and an inter prediction unit (165). The intra/IBC prediction unit (161) performs intra prediction and IBC prediction within the current picture, and the inter prediction unit (165) performs inter prediction to predict the current picture using a reference picture stored in the DPB (170).

인트라/IBC μ˜ˆμΈ‘λΆ€(161)λŠ” ν˜„μž¬ 픽쳐 λ‚΄μ˜ λ³΅μ›λœ μ˜μ—­λ“€λ‘œ λΆ€ν„° 인트라 μ˜ˆμΈ‘μ„ μˆ˜ν–‰ν•˜μ—¬, 인트라 λΆ€ν˜Έν™” 정보λ₯Ό μ—”νŠΈλ‘œν”Ό μ½”λ”©λΆ€(180)둜 μ „λ‹¬ν•œλ‹€. μ—¬κΈ°μ„œ, 인트라 λΆ€ν˜Έν™” μ •λ³΄λŠ” 인트라 예츑 λͺ¨λ“œ, MPM(Most Probable Mode) ν”Œλž˜κ·Έ, MPM 인덱슀, μ°Έμ‘° μƒ˜ν”Œμ— κ΄€ν•œ 정보 쀑 적어도 ν•˜λ‚˜λ₯Ό 포함할 수 μžˆλ‹€.The intra/IBC prediction unit (161) performs intra prediction from restored areas within the current picture and transmits intra encoding information to the entropy coding unit (180). Here, the intra encoding information may include at least one of an intra prediction mode, an MPM (Most Probable Mode) flag, an MPM index, and information about a reference sample.

λ˜ν•œ, 인트라/IBC μ˜ˆμΈ‘λΆ€(161)λŠ” ν˜„μž¬ 픽쳐 λ‚΄μ˜ λ³΅μ›λœ μƒ˜ν”Œλ“€λ‘œλΆ€ν„° IBC(Intra BLock Copy) μ˜ˆμΈ‘μ„ μˆ˜ν–‰ν•˜μ—¬, IBC λΆ€ν˜Έν™” 정보λ₯Ό μ—”νŠΈλ‘œν”Ό μ½”λ”©λΆ€(180)둜 전달할 수 μžˆλ‹€.Additionally, the intra/IBC prediction unit (161) can perform IBC (Intra BLock Copy) prediction from restored samples within the current picture and transmit IBC encoding information to the entropy coding unit (180).

이 경우, 인트라/IBC μ˜ˆμΈ‘λΆ€(161)λŠ” ν˜„μž¬ 픽쳐 λ‚΄μ˜ νŠΉμ • μ˜μ—­μ„ μ°Έμ‘°ν•˜μ—¬ ν˜„μž¬ μ˜μ—­μ˜ μ˜ˆμΈ‘μ— μ΄μš©λ˜λŠ” μ°Έμ‘° μ˜μ—­μ„ μ§€μ‹œν•˜λŠ” 블둝 벑터값을 νšλ“ν•˜λ©°, νšλ“λœ 블둝 벑터값을 μ΄μš©ν•˜μ—¬ IBC μ˜ˆμΈ‘μ„ μˆ˜ν–‰ν•  수 μžˆλ‹€.In this case, the intra/IBC prediction unit (161) obtains a block vector value indicating a reference area used for prediction of the current area by referring to a specific area within the current picture, and can perform IBC prediction using the obtained block vector value.

인트라/IBC μ˜ˆμΈ‘λΆ€(161)λŠ” μ°Έμ‘° μ˜μ—­μ˜ 크기 정보, 블둝 벑터 정보(μ›€μ§μž„ 후보 리슀트 λ‚΄μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ 블둝 벑터 μ˜ˆμΈ‘μ„ μœ„ν•œ 인덱슀 정보, 블둝 벑터 μ°¨λΆ„ 정보) μ€‘μ—μ„œ 적어도 ν•˜λ‚˜λ₯Ό ν¬ν•¨ν•˜λŠ” IBC λΆ€ν˜Έν™” 정보λ₯Ό μ—”νŠΈλ‘œν”Ό μ½”λ”©λΆ€(160)둜 전달할 수 μžˆλ‹€.The intra/IBC prediction unit (161) can transmit IBC encoding information including at least one of the size information of the reference area and block vector information (index information for block vector prediction of the current block within the motion candidate list, block vector difference information) to the entropy coding unit (160).

인터 μ˜ˆμΈ‘λΆ€(165)λŠ” λ³΅μ›λœ μ°Έμ‘° ν”½μ³μ˜ νŠΉμ • μ˜μ—­μ„ μ°Έμ‘°ν•˜μ—¬ ν˜„μž¬ μ˜μ—­κ³Ό κ°€μž₯ μœ μ‚¬ν•œ 뢀뢄을 μ°Ύκ³  μ˜μ—­ κ°„μ˜ 거리인 λͺ¨μ…˜ 벑터 값을 νšλ“ν•˜λ©°, νšλ“ν•œ μ°Έμ‘° μ˜μ—­μ— λŒ€ν•œ λͺ¨μ…˜ 정보(μ°Έμ‘° λ°©ν–₯ μ§€μ‹œ 정보(L0 예츑, L1 예츑, μ–‘λ°©ν–₯ 예츑), μ°Έμ‘° 픽쳐 인덱슀, λͺ¨μ…˜ 벑터 정보 λ“±)λ₯Ό μ—”νŠΈλ‘œν”Ό μ½”λ”©λΆ€(180)둜 μ „λ‹¬ν•œλ‹€.The inter prediction unit (165) refers to a specific area of the restored reference picture to find the part most similar to the current area, obtains a motion vector value which is the distance between the areas, and transmits motion information (reference direction indication information (L0 prediction, L1 prediction, bidirectional prediction), reference picture index, motion vector information, etc.) for the obtained reference area to the entropy coding unit (180).

λ˜ν•œ, 인터 μ˜ˆμΈ‘λΆ€(165)λŠ” λͺ¨μ…˜ 정보λ₯Ό μ΄μš©ν•΄ μ›€μ§μž„ 보상(motion compensation)을 μˆ˜ν–‰ν•˜μ—¬ ν˜„μž¬ 블둝을 μœ„ν•œ 예츑 블둝을 μƒμ„±ν•˜λ©°, μ°Έμ‘° μ˜μ—­μ— λŒ€ν•œ λͺ¨μ…˜ 정보λ₯Ό ν¬ν•¨ν•˜λŠ” 인터 λΆ€ν˜Έν™” 정보λ₯Ό μ—”νŠΈλ‘œν”Ό μ½”λ”©λΆ€(180)둜 μ „λ‹¬ν•œλ‹€.Additionally, the inter prediction unit (165) performs motion compensation using motion information to generate a prediction block for the current block, and transmits inter encoding information including motion information for the reference area to the entropy coding unit (180).

ν•œνŽΈ, 2차원 λ°°μ—΄ ν˜•νƒœμ˜ μ–‘μžν™”λœ λ³€ν™˜ κ³„μˆ˜λŠ” μ—”νŠΈλ‘œν”Ό 코딩을 μœ„ν•΄ 1μ°¨μ›μ˜ λ°°μ—΄ ν˜•νƒœλ‘œ μž¬μ •λ ¬λ  수 μžˆλ‹€.Meanwhile, the quantized transform coefficients in the form of a two-dimensional array can be rearranged into a one-dimensional array for entropy coding.

μ–‘μžν™”λœ λ³€ν™˜ κ³„μˆ˜λ₯Ό μŠ€μΊλ‹ν•˜λŠ” 방법은 λ³€ν™˜ λΈ”λ‘μ˜ 크기 및 인트라 예츑 λͺ¨λ“œμ— 따라 결정될 수 있으며, λŒ€κ°(Diagonal), 수직(vertical), μˆ˜ν‰(horizontal) μŠ€μΊ”μ΄ 적용될 수 있고, μŠ€μΊ” μ •λ³΄λŠ” 블둝 λ‹¨μœ„λ‘œ μ‹œκ·Έλ„λ§λ˜κ±°λ‚˜ μ •ν•΄μ§„ κ·œμΉ™μ— 따라 λ””μ½”λ”μ—μ„œ μœ λ„λ  μˆ˜λ„ μžˆλ‹€.The method of scanning the quantized transform coefficients can be determined according to the size of the transform block and the intra prediction mode, and diagonal, vertical, and horizontal scans can be applied, and the scan information can be signaled on a block-by-block basis or derived from the decoder according to a set rule.

μ—”νŠΈλ‘œν”Ό μ½”λ”©λΆ€(180)λŠ” μ–‘μžν™”λœ λ³€ν™˜ κ³„μˆ˜λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 정보, 인트라 λΆ€ν˜Έν™” 정보, 및 인터 λΆ€ν˜Έν™” 정보 등을 μ—”νŠΈλ‘œν”Ό μ½”λ”©ν•˜μ—¬ λΉ„νŠΈμŠ€νŠΈλ¦Όμ„ μƒμ„±ν•˜λ©°, 이λ₯Ό μœ„ν•΄ κ°€λ³€ 길이 μ½”λ”©(Variable Length Coding, VLC) 방식과 μ‚°μˆ  μ½”λ”©(arithmetic coding) 방식 등이 μ‚¬μš©λ  수 μžˆλ‹€.The entropy coding unit (180) generates a bitstream by entropy coding information representing quantized transform coefficients, intra-coding information, and inter-coding information, and for this purpose, a variable length coding (VLC) method and an arithmetic coding method can be used.

κ°€λ³€ 길이 μ½”λ”©(VLC) 방식은 μž…λ ₯λ˜λŠ” 심볼듀을 연속적인 μ½”λ“œμ›Œλ“œλ‘œ λ³€ν™˜ν•˜λŠ”λ°, μ½”λ“œμ›Œλ“œμ˜ κΈΈμ΄λŠ” 가변적일 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, 자주 λ°œμƒν•˜λŠ” 심볼듀을 짧은 μ½”λ“œμ›Œλ“œλ‘œ, 자주 λ°œμƒν•˜μ§€ μ•Šμ€ 심볼듀은 κΈ΄ μ½”λ“œμ›Œλ“œλ‘œ ν‘œν˜„λ  수 μžˆλ‹€.Variable-length coding (VLC) converts input symbols into a series of codewords, each of which can be of variable length. For example, frequently occurring symbols can be represented by shorter codewords, while less frequently occurring symbols can be represented by longer codewords.

κ°€λ³€ 길이 μ½”λ”© λ°©μ‹μœΌλ‘œμ„œ, μ»¨ν…μŠ€νŠΈ 기반 μ μ‘ν˜• κ°€λ³€ 길이 μ½”λ”©(Context-based Adaptive Variable Length Coding, CAVLC) 방식이 μ‚¬μš©λ  수 μžˆλ‹€.As a variable length coding method, a context-based adaptive variable length coding (CAVLC) method can be used.

μ‚°μˆ  코딩은 각 데이터 μ‹¬λ³Όλ“€μ˜ ν™•λ₯  뢄포λ₯Ό μ΄μš©ν•˜μ—¬ 연속적인 데이터 심볼듀을 ν•˜λ‚˜μ˜ μ†Œμˆ˜λ‘œ λ³€ν™˜ν•˜μ—¬, 각 심볼을 ν‘œν˜„ν•˜κΈ° μœ„ν•΄ ν•„μš”ν•œ 졜적의 μ†Œμˆ˜ λΉ„νŠΈλ₯Ό 얻을 수 μžˆλ‹€.Arithmetic coding converts consecutive data symbols into a single prime number using the probability distribution of each data symbol, thereby obtaining the optimal prime number bits required to express each symbol.

μ‚°μˆ  μ½”λ”© λ°©λ²•μœΌλ‘œμ„œ, μ»¨ν…μŠ€νŠΈ 기반 μ μ‘ν˜• μ‚°μˆ  λΆ€ν˜Έν™”(Context-based Adaptive Binary Arithmetic Code, CABAC) 방식이 μ‚¬μš©λ  수 μžˆλ‹€.As an arithmetic coding method, the context-based adaptive binary arithmetic code (CABAC) method can be used.

CABAC은 μ‹€ν—˜μ„ 톡해 얻은 ν™•λ₯ μ„ 기반으둜 μƒμ„±λœ μ—¬λŸ¬ 개의 λ¬Έλ§₯ λͺ¨λΈ(context model)을 톡해 이진 μ‚°μˆ  λΆ€ν˜Έν™”ν•˜λŠ” 방법이닀. λ¬Έλ§₯ λͺ¨λΈμ„ μ»¨ν…μŠ€νŠΈ λͺ¨λΈμ΄λΌκ³  ν•  μˆ˜λ„ μžˆλ‹€. λ¨Όμ €, 심볼이 이진 ν˜•νƒœκ°€ 아닐 경우, μΈμ½”λ”λŠ” exp-Golomb 등을 μ‚¬μš©ν•˜μ—¬ 각 심볼을 μ΄μ§„ν™”ν•œλ‹€. μ΄μ§„ν™”λœ 0 λ˜λŠ” 1은 빈(bin)으둜 기술될 수 μžˆλ‹€.CABAC is a binary arithmetic encoding method that utilizes multiple context models generated based on experimentally derived probabilities. The context models can also be referred to as context models. First, if the symbols are not in binary form, the encoder binarizes each symbol using methods such as exp-Golomb. The binarized 0s and 1s can be represented as bins.

CABAC μ΄ˆκΈ°ν™” 과정은 λ¬Έλ§₯ μ΄ˆκΈ°ν™”μ™€ μ‚°μˆ  μ½”λ”© μ΄ˆκΈ°ν™”λ‘œ κ΅¬λΆ„λœλ‹€. λ¬Έλ§₯ μ΄ˆκΈ°ν™”λŠ” 각 μ‹¬λ³Όμ˜ λ°œμƒ ν™•λ₯ μ„ 초기 ν™”ν•˜λŠ” κ³Όμ •μœΌλ‘œ, μ‹¬λ³Όμ˜ μ’…λ₯˜, μ–‘μžν™” νŒŒλΌλ―Έν„°(QP), 슬라이슀 νƒ€μž…(I, P, B 인지)에 따라 κ²°μ •λœλ‹€. μ΄λŸ¬ν•œ μ΄ˆκΈ°ν™” 정보λ₯Ό κ°€μ§€λŠ” λ¬Έλ§₯ λͺ¨λΈμ€ μ‹€ν—˜μ„ 톡해 얻은 ν™•λ₯  기반 값을 μ‚¬μš©ν•  수 μžˆλ‹€.The CABAC initialization process is divided into context initialization and arithmetic coding initialization. Context initialization initializes the occurrence probability of each symbol, determined by the symbol type, quantization parameter (QP), and slice type (I, P, B). A context model with this initialization information can use probability-based values obtained through experiments.

λ¬Έλ§₯ λͺ¨λΈμ€ ν˜„μž¬ μ½”λ”©ν•˜λ €λŠ” 심볼에 λŒ€ν•œ LPS(Least Probable Symbol) λ˜λŠ” MPS(Most Probable Symbol)의 λ°œμƒ ν™•λ₯ κ³Ό 0κ³Ό 1μ€‘μ—μ„œ μ–΄λ–€ 빈 값이 MPS에 ν•΄λ‹Ήλ˜λŠ”μ§€μ— λŒ€ν•œ 정보(valMPS)λ₯Ό μ œκ³΅ν•œλ‹€.The context model provides the probability of occurrence of the Least Probable Symbol (LPS) or Most Probable Symbol (MPS) for the symbol currently being coded, and information (valMPS) on which empty value between 0 and 1 corresponds to the MPS.

λ¬Έλ§₯ 인덱슀(Context index, ctxIdx)λ₯Ό 톡해 μ—¬λŸ¬ 개의 λ¬Έλ§₯ λͺ¨λΈ μ€‘μ—μ„œ ν•˜λ‚˜κ°€ μ„ νƒλ˜λ©°, λ¬Έλ§₯ μΈλ±μŠ€λŠ” ν˜„μž¬ λΆ€ν˜Έν™”ν•  λΈ”λ‘μ˜ 정보 λ˜λŠ” μ£Όλ³€ λΈ”λ‘μ˜ 정보λ₯Ό 톡해 μœ λ„λ  수 μžˆλ‹€.One of several context models is selected through a context index (ctxIdx), and the context index can be derived through information of the block currently to be encoded or information of surrounding blocks.

λ¬Έλ§₯ λͺ¨λΈμ—μ„œ μ„ νƒλœ ν™•λ₯  λͺ¨λΈμ„ 기반으둜 이진 μ‚°μˆ  코딩을 μœ„ν•œ μ΄ˆκΈ°ν™”κ°€ μˆ˜ν–‰λœλ‹€. 이진 μ‚°μˆ  λΆ€ν˜Έν™”λŠ” 0κ³Ό 1의 λ°œμƒ ν™•λ₯ μ„ 톡해 ν™•λ₯  κ΅¬κ°„μœΌλ‘œ λΆ„ν• ν•œ ν›„, μ²˜λ¦¬ν•  λΉˆμ— ν•΄λ‹Ήν•˜λŠ” ν™•λ₯  ꡬ간이 λ‹€μŒμ— 처리될 λΉˆμ— λŒ€ν•œ 전체 ν™•λ₯  ꡬ간이 λ˜λŠ” 과정을 톡해 λΆ€ν˜Έν™”κ°€ μ§„ν–‰λœλ‹€.Initialization for binary arithmetic coding is performed based on the probability model selected from the context model. Binary arithmetic coding is performed by dividing the data into probability intervals based on the occurrence probabilities of 0 and 1, and then encoding the probability interval corresponding to the bin to be processed becomes the entire probability interval for the next bin to be processed.

λ§ˆμ§€λ§‰ 빈이 처리된 ν™•λ₯  ꡬ간 μ•ˆμ˜ μœ„μΉ˜ 정보가 좜λ ₯λœλ‹€. 단, ν™•λ₯  ꡬ간이 λ¬΄ν•œμ • 뢄할될 수 μ—†μœΌλ―€λ‘œ, 일정 크기 μ΄λ‚΄λ‘œ 쀄어듀 κ²½μš°μ—λŠ” μž¬κ·œκ²©ν™”(renormalization)과정이 μˆ˜ν–‰λ˜μ–΄ ν™•λ₯  ꡬ간이 λ„“μ–΄μ§€κ³  ν•΄λ‹Ή μœ„μΉ˜ 정보가 좜λ ₯λœλ‹€. λ˜ν•œ, 각빈이 처리된 ν›„, 처리된 빈의 정보λ₯Ό 톡해 λ‹€μŒ 처리될 λΉˆμ— λŒ€ν•œ ν™•λ₯ μ΄ μƒˆλ‘­κ²Œ μ„€μ •λ˜λŠ” ν™•λ₯  μ—…λ°μ΄νŠΈ 과정이 μˆ˜ν–‰λ  수 μžˆλ‹€.The location information within the probability interval processed for the last bin is output. However, since the probability interval cannot be infinitely divided, if it shrinks to a certain size, a renormalization process is performed to expand the probability interval and output the corresponding location information. Furthermore, after each bin is processed, a probability update process can be performed, which sets a new probability for the next bin to be processed based on the information from the processed bin.

μƒκΈ°ν•œ 바와 같이 μƒμ„±λœ λΉ„νŠΈμŠ€νŠΈλ¦Όμ€ NAL(Network Abstraction Layer) μœ λ‹›μ„ κΈ°λ³Έ λ‹¨μœ„λ‘œ μΊ‘μŠν™” λœλ‹€.As described above, the generated bitstream is encapsulated into NAL (Network Abstraction Layer) units as basic units.

NAL μœ λ‹›μ€ μ˜μƒ 데이터λ₯Ό ν¬ν•¨ν•˜λŠ” VCL(Video Coding Layer) NAL μœ λ‹›κ³Ό μ˜μƒ 데이터λ₯Ό λ””μ½”λ”©ν•˜κΈ° μœ„ν•œ νŒŒλΌλ―Έν„° 정보λ₯Ό ν¬ν•¨ν•˜λŠ” non-VCL NAL μœ λ‹›μœΌλ‘œ κ΅¬λΆ„λ˜λ©°, λ‹€μ–‘ν•œ μ’…λ₯˜μ˜ VCL λ˜λŠ” non-VCL NAL μœ λ‹›μ΄ μ‘΄μž¬ν•  수 μžˆλ‹€.NAL units are divided into VCL (Video Coding Layer) NAL units containing video data and non-VCL NAL units containing parameter information for decoding video data, and various types of VCL or non-VCL NAL units may exist.

NAL μœ λ‹›μ€ NAL 헀더 정보와 데이터인 RBSP(Raw Byte Sequence Payload)둜 κ΅¬μ„±λ˜λ©°, NAL 헀더 μ •λ³΄μ—λŠ” RBSP에 λŒ€ν•œ μš”μ•½ 정보가 ν¬ν•¨λœλ‹€. VCL NAL μœ λ‹›μ˜ RBSPμ—λŠ” λΆ€ν˜Έν™”λœ μ •μˆ˜ 개의 μ½”λ”© 트리 μœ λ‹›(coding tree unit)을 ν¬ν•¨ν•œλ‹€.A NAL unit consists of NAL header information and data, a Raw Byte Sequence Payload (RBSP). The NAL header information includes summary information about the RBSP. The RBSP of a VCL NAL unit contains an integer number of encoded coding tree units.

λ””μ½”λ”μ—μ„œ λΉ„νŠΈμŠ€νŠΈλ¦Όμ„ λ³΅ν˜Έν™”ν•˜κΈ° μœ„ν•΄μ„œλŠ” λ¨Όμ € λΉ„νŠΈμŠ€νŠΈλ¦Όμ„ NAL μœ λ‹› λ‹¨μœ„λ‘œ λΆ„λ¦¬ν•œ ν›„, λΆ„λ¦¬λœ 각각의 NAL μœ λ‹›μ„ λ³΅ν˜Έν™”ν•΄μ•Ό ν•œλ‹€. ν•œνŽΈ, λΉ„νŠΈμŠ€νŠΈλ¦Όμ˜ λ³΅ν˜Έν™”λ₯Ό μœ„ν•΄ ν•„μš”ν•œ 정보듀은 픽쳐 νŒŒλΌλ―Έν„° μ„ΈνŠΈ(Picture Parameter Set, PPS), μ‹œν€€μŠ€ νŒŒλΌλ―Έν„° μ„ΈνŠΈ(Sequence Parameter Set, SPS), λΉ„λ””μ˜€ 파라 λ―Έν„° μ„ΈνŠΈ(Video Parameter Set, VPS) 등에 ν¬ν•¨λ˜μ–΄ 전솑될 수 μžˆλ‹€.In order to decode a bitstream in a decoder, the bitstream must first be divided into NAL units, and then each divided NAL unit must be decoded. Meanwhile, the information required for decoding the bitstream can be transmitted as part of a picture parameter set (PPS), a sequence parameter set (SPS), a video parameter set (VPS), etc.

ν•œνŽΈ, 도 1을 μ°Έμ‘°ν•˜μ—¬ μ„€λͺ…ν•œ μΈμ½”λ”μ˜ ꡬ성 및 λ™μž‘μ€ λ³Έ 발λͺ…μ˜ μΌμ‹€μ‹œμ˜ˆμ— λ”°λ₯Έ κ²ƒμœΌλ‘œ, ν•„μš”μ— 따라 일뢀 ꡬ성이 μƒλž΅λ˜κ±°λ‚˜ ꡬ성이 좔가될 수 μžˆλ‹€.Meanwhile, the configuration and operation of the encoder described with reference to FIG. 1 are according to one embodiment of the present invention, and some configurations may be omitted or added as needed.

도 2λŠ” λ³Έ κ°œμ‹œμ˜ 일 μ‹€μ‹œμ˜ˆμ— λ”°λ₯Έ λ³΅ν˜Έν™” μž₯치λ₯Ό λΈ”λ‘λ„λ‘œ λ„μ‹œν•œ κ²ƒμœΌλ‘œ, λΉ„λ””μ˜€λ₯Ό λ³΅ν˜Έν™” ν•˜κΈ° μœ„ν•œ λΉ„λ””μ˜€ λ””μ½”λ”μ˜ ꡬ성 및 λ™μž‘μ„ μ„€λͺ…ν•˜κΈ° μœ„ν•œ 것이닀.FIG. 2 is a block diagram illustrating a decoding device according to one embodiment of the present disclosure, and is intended to explain the configuration and operation of a video decoder for decoding a video.

도 2λ₯Ό μ°Έμ‘°ν•˜λ©΄, λΉ„λ””μ˜€ 디코더(200)λŠ” μ—”νŠΈλ‘œν”Ό λ””μ½”λ”©λΆ€(210), μ—­μ–‘μžν™”λΆ€(220), μ—­λ³€ν™˜λΆ€(230), 필터링뢀(240), μ˜ˆμΈ‘λΆ€(260) 및 DPB(Decoded Picture Buffer, 270)λ₯Ό ν¬ν•¨ν•˜μ—¬ ꡬ성될 수 μžˆλ‹€.Referring to FIG. 2, a video decoder (200) may be configured to include an entropy decoding unit (210), an inverse quantization unit (220), an inverse transformation unit (230), a filtering unit (240), a prediction unit (260), and a DPB (Decoded Picture Buffer, 270).

μ—”νŠΈλ‘œν”Ό λ””μ½”λ”©λΆ€(210)λŠ” λΉ„νŠΈμŠ€νŠΈλ¦Όμ„ μ—”νŠΈλ‘œν”Ό λ””μ½”λ”©ν•˜μ—¬, 각 μ˜μ—­μ— λŒ€ν•œ λ³€ν™˜ κ³„μˆ˜ 정보, 인트라 λΆ€ν˜Έν™” 정보, 인터 λΆ€ν˜Έν™” 정보 등을 μΆ”μΆœν•œλ‹€.The entropy decoding unit (210) entropy decodes the bitstream to extract transform coefficient information, intra-coding information, inter-coding information, etc. for each region.

예λ₯Ό λ“€μ–΄, μ—”νŠΈλ‘œν”Ό λ””μ½”λ”©λΆ€(210)λŠ” λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° νŠΉμ • μ˜μ—­μ˜ λ³€ν™˜ κ³„μˆ˜ 정보에 λŒ€ν•œ 이진화 μ½”λ“œλ₯Ό νšλ“ν•  수 있으며, 이진화 μ½”λ“œλ₯Ό μ—­ μ΄μ§„ν™”ν•˜μ—¬ μ–‘μžν™”λœ λ³€ν™˜ κ³„μˆ˜λ₯Ό νšλ“ν•  수 μžˆλ‹€.For example, the entropy decoding unit (210) can obtain a binary code for transform coefficient information of a specific area from a bitstream, and can obtain a quantized transform coefficient by de-binarizing the binary code.

μ—­μ–‘μžν™”λΆ€(220)λŠ” μ–‘μžν™”λœ λ³€ν™˜ κ³„μˆ˜λ₯Ό μ—­μ–‘μžν™”ν•˜κ³ , μ—­λ³€ν™˜λΆ€(230)λŠ” μ—­μ–‘μžν™”λœ λ³€ν™˜ κ³„μˆ˜λ₯Ό μ΄μš©ν•˜μ—¬ λ ˆμ§€λ“€μ–Ό 값을 λ³΅μ›ν•œλ‹€.The inverse quantization unit (220) inversely quantizes the quantized transform coefficients, and the inverse transformation unit (230) restores the residual value using the inverse quantized transform coefficients.

ν•œνŽΈ, μ—­λ³€ν™˜λΆ€(230)μ—μ„œ νšλ“λœ λ ˆμ§€λ“€μ–Ό 값이 μ˜ˆμΈ‘λΆ€(260)μ—μ„œ νšλ“λœ 예츑 κ°’κ³Ό ν•©μ‚°λ˜μ–΄ μ›λž˜μ˜ ν™”μ†Œκ°’μœΌλ‘œ λ³΅μ›λœλ‹€.Meanwhile, the residual value obtained from the inverse transformation unit (230) is combined with the predicted value obtained from the prediction unit (260) to restore the original pixel value.

필터링뢀(240)λŠ” λ³΅μ›λœ ν”½μ³μ˜ ν™”μ§ˆμ„ ν–₯μƒμ‹œν‚€κΈ°κΈ° μœ„ν•΄ 디블둝킹 ν•„ν„°, μƒ˜ν”Œ 적응적 μ˜€ν”„μ…‹, 적응적 루프 ν•„ν„° 등을 μ΄μš©ν•œ 필터링 연산을 μˆ˜ν–‰ν•˜λ©°, 필터링을 거친 ν”½μ³λŠ” 좜λ ₯λ˜κ±°λ‚˜ λ‹€μŒ 픽쳐에 λŒ€ν•œ μ°Έμ‘° ν”½μ³λ‘œ 이용되기 μœ„ν•΄ DPB(270)에 μ €μž₯될 수 μžˆλ‹€.The filtering unit (240) performs a filtering operation using a deblocking filter, a sample adaptive offset, an adaptive loop filter, etc. to improve the image quality of the restored picture, and the filtered picture can be output or stored in the DPB (270) to be used as a reference picture for the next picture.

μ˜ˆμΈ‘λΆ€(260)λŠ” 인트라/IBC μ˜ˆμΈ‘λΆ€(261)와 인터 μ˜ˆμΈ‘λΆ€(265)λ₯Ό ν¬ν•¨ν•˜λ©°, μ—”νŠΈλ‘œν”Ό λ””μ½”λ”©λΆ€(210)λ₯Ό 톡해 λ³΅ν˜Έν™”λœ λΆ€ν˜Έν™” νƒ€μž…, 각 μ˜μ—­μ— λŒ€ν•œ λ³€ν™˜ κ³„μˆ˜, 인트라/인터 λΆ€ν˜Έν™” 정보 등을 ν™œμš©ν•˜μ—¬ 예츑 픽쳐λ₯Ό μƒμ„±ν•œλ‹€.The prediction unit (260) includes an intra/IBC prediction unit (261) and an inter prediction unit (265), and generates a prediction picture by utilizing the encoding type decoded through the entropy decoding unit (210), the transform coefficient for each region, and the intra/inter encoding information.

λ³΅ν˜Έν™”κ°€ μˆ˜ν–‰λ˜λŠ” ν˜„μž¬ 블둝을 λ³΅μ›ν•˜κΈ° μœ„ν•΄μ„œ, ν˜„μž¬ 블둝이 ν¬ν•¨λœ ν˜„μž¬ 픽쳐 λ˜λŠ” λ‹€λ₯Έ ν”½μ³λ“€μ˜ λ³΅ν˜Έν™”λœ μ˜μ—­μ΄ 이용될 수 μžˆλ‹€. 볡원에 ν˜„μž¬ ν”½μ³λ§Œμ„ μ΄μš©ν•˜λŠ” 인트라 예츑 λ˜λŠ” 인트라 BC μ˜ˆμΈ‘μ„ μˆ˜ν–‰ν•˜λŠ” 픽쳐(λ˜λŠ” 타일/슬라이슀)λ₯Ό 인트라 픽쳐 λ˜λŠ” I 픽쳐(λ˜λŠ” 타일/슬라이슀)라고 ν•˜λ©°, 인트라 예츑, 인터 예츑 및 인트라 BC μ˜ˆμΈ‘μ„ λͺ¨λ‘ μˆ˜ν–‰ν•  수 μžˆλŠ” 픽쳐(λ˜λŠ” 타일/슬라이슀)λ₯Ό 인터 픽쳐(λ˜λŠ” 타일/슬라이슀)라고 ν•œλ‹€.To restore the current block in which decoding is performed, the decoded region of the current picture or other pictures containing the current block can be used. A picture (or tile/slice) that performs intra prediction or intra BC prediction using only the current picture for restoration is called an intra picture or I picture (or tile/slice), and a picture (or tile/slice) that can perform all of intra prediction, inter prediction, and intra BC prediction is called an inter picture (or tile/slice).

ν•œνŽΈ, 인터 픽쳐(λ˜λŠ” 타일/슬라이슀) 쀑 각 λΈ”λ‘μ˜ μƒ˜ν”Œ 값듀을 μ˜ˆμΈ‘ν•˜κΈ° μœ„ν•΄ μ΅œλŒ€ ν•˜λ‚˜μ˜ λͺ¨μ…˜ 벑터 및 μ°Έμ‘° 픽쳐 인덱슀λ₯Ό μ΄μš©ν•˜λŠ” 픽쳐(λ˜λŠ” 타일/슬라이슀)λ₯Ό 예츑 픽쳐(predictive picture) λ˜λŠ” P 픽쳐(λ˜λŠ” 타일/슬라이슀)라고 ν•˜λ©°, μ΅œλŒ€ 두 개의 λͺ¨μ…˜ 벑터 및 μ°Έμ‘° 픽쳐 인덱슀λ₯Ό μ΄μš©ν•˜λŠ” 픽쳐(λ˜λŠ” 타일/슬 라이슀)λ₯Ό 쌍예츑 픽쳐(Bi-predictive picture) λ˜λŠ” B 픽쳐(λ˜λŠ” 타일/슬라이슀) 라고 ν•œλ‹€.Meanwhile, a picture (or tile/slice) that uses at most one motion vector and reference picture index to predict sample values of each block among inter-pictures (or tiles/slices) is called a predictive picture or P-picture (or tile/slice), and a picture (or tile/slice) that uses at most two motion vectors and reference picture indices is called a bi-predictive picture or B-picture (or tile/slice).

즉, P 픽쳐(λ˜λŠ” 타일/슬라이슀)λŠ” 각 블둝을 μ˜ˆμΈ‘ν•˜κΈ° μœ„ν•΄ μ΅œλŒ€ ν•˜λ‚˜μ˜ λͺ¨μ…˜ 정보 μ„ΈνŠΈλ₯Ό μ΄μš©ν•˜κ³ , B 픽쳐(λ˜λŠ” 타일/슬라이슀)λŠ” 각 블둝을 μ˜ˆμΈ‘ν•˜κΈ° μœ„ν•΄ μ΅œλŒ€ 두 개의 λͺ¨μ…˜ 정보 μ„ΈνŠΈλ₯Ό μ΄μš©ν•œλ‹€. μ—¬κΈ°μ„œ, λͺ¨μ…˜ 정보 μ„ΈνŠΈλŠ” ν•˜λ‚˜ μ΄μƒμ˜ λͺ¨μ…˜ 벑터와 ν•˜λ‚˜μ˜ μ°Έμ‘° 픽쳐 인덱슀λ₯Ό 포함할 수 μžˆλ‹€.That is, a P picture (or tile/slice) uses at most one motion information set to predict each block, and a B picture (or tile/slice) uses at most two motion information sets to predict each block. Here, a motion information set may include one or more motion vectors and one reference picture index.

인트라/IBC μ˜ˆμΈ‘λΆ€(261)λŠ” 인트라 λΆ€ν˜Έν™” 정보 및 ν˜„μž¬ 픽쳐 λ‚΄μ˜ λ³΅μ›λœ μƒ˜ν”Œλ“€μ„ μ΄μš©ν•˜μ—¬ 예츑 블둝을 μƒμ„±ν•˜λ©°, 인트라 λΆ€ν˜Έν™” μ •λ³΄λŠ” 인트라 예츑 λͺ¨λ“œ, MPM(Most Probable Mode) ν”Œλž˜κ·Έ, MPM 인덱슀 쀑 적어도 ν•˜λ‚˜λ₯Ό 포함할 수 μžˆλ‹€.The intra/IBC prediction unit (261) generates a prediction block using intra encoding information and restored samples within the current picture, and the intra encoding information may include at least one of an intra prediction mode, an MPM (Most Probable Mode) flag, and an MPM index.

인트라/IBC μ˜ˆμΈ‘λΆ€(261)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ 쒌츑 및/λ˜λŠ” 상츑에 μœ„μΉ˜ν•œ λ³΅μ›λœ μƒ˜ν”Œλ“€μ„ μ°Έμ‘° μƒ˜ν”Œλ“€λ‘œ μ΄μš©ν•˜μ—¬ ν˜„μž¬ λΈ”λ‘μ˜ μƒ˜ν”Œ 값듀을 μ˜ˆμΈ‘ν•  수 μžˆλ‹€.The intra/IBC prediction unit (261) can predict sample values of the current block using restored samples located on the left and/or upper side of the current block as reference samples.

예λ₯Ό λ“€μ–΄, μ°Έμ‘° μƒ˜ν”Œλ“€μ€ ν˜„μž¬ λΈ”λ‘μ˜ 쒌츑 경계에 μΈμ ‘ν•œ μƒ˜ν”Œλ“€ 및/λ˜λŠ” 상츑 경계에 μΈμ ‘ν•œ μƒ˜ν”Œλ“€μΌ 수 있으며, ν˜„μž¬ λΈ”λ‘μ˜ μ£Όλ³€ λΈ”λ‘μ˜ μƒ˜ν”Œλ“€ 쀑 ν˜„μž¬ λΈ”λ‘μ˜ 쒌츑 κ²½κ³„λ‘œλΆ€ν„° κΈ° μ„€μ •λœ 거리 μ΄λ‚΄μ˜ 라인 상에 μœ„μΉ˜ν•˜λŠ” μƒ˜ν”Œλ“€ 및/λ˜λŠ” ν˜„μž¬ λΈ”λ‘μ˜ 상츑 κ²½κ³„λ‘œλΆ€ν„° κΈ° μ„€μ •λœ 거리 μ΄λ‚΄μ˜ 라인 상에 μœ„μΉ˜ν•˜λŠ” μƒ˜ν”Œλ“€μΌ 수 μžˆλ‹€. μ΄λ•Œ, ν˜„μž¬ λΈ”λ‘μ˜ μ£Όλ³€ 블둝은 ν˜„μž¬ 블둝에 μΈμ ‘ν•œ 쒌츑(L) 블둝, 상츑(A) 블둝, ν•˜-쒌츑(Below Left, BL) 블둝, 상-우츑(Above Right, AR) 블둝 λ˜λŠ” 상-쒌츑(Above Left, AL) 블둝 쀑 적어도 ν•˜λ‚˜λ₯Ό 포함할 수 μžˆλ‹€.For example, the reference samples may be samples adjacent to the left boundary of the current block and/or samples adjacent to the upper boundary, and may be samples located on a line within a preset distance from the left boundary of the current block among samples of neighboring blocks of the current block and/or samples located on a line within a preset distance from the upper boundary of the current block. In this case, the neighboring blocks of the current block may include at least one of a left (L) block, an upper (A) block, a below left (BL) block, an above right (AR) block, or an above left (AL) block adjacent to the current block.

λ˜ν•œ, 인트라/IBC μ˜ˆμΈ‘λΆ€(261)λŠ” ν˜„μž¬ 픽쳐 λ‚΄μ˜ λ³΅μ›λœ μƒ˜ν”Œλ“€μ„ ν¬ν•¨ν•˜λŠ” νŠΉμ • μ˜μ—­μ„ μ°Έμ‘°ν•˜μ—¬ ν˜„μž¬ μ˜μ—­μ„ 볡원할 수 μžˆλ‹€. 이λ₯Ό μœ„ν•΄, 인트라/IBC μ˜ˆμΈ‘λΆ€(261)λŠ” μ—”νŠΈλ‘œν”Ό λ””μ½”λ”©λΆ€(210)λ‘œλΆ€ν„° νšλ“λœ IBC λΆ€ν˜Έν™” 정보λ₯Ό μ΄μš©ν•˜μ—¬ IBC μ˜ˆμΈ‘μ„ μˆ˜ν–‰ν•  수 있으며, IBC λΆ€ν˜Έν™” μ •λ³΄λŠ” 블둝 벑터 정보λ₯Ό 포함할 수 μžˆλ‹€.Additionally, the intra/IBC prediction unit (261) can restore the current region by referring to a specific region including restored samples within the current picture. To this end, the intra/IBC prediction unit (261) can perform IBC prediction using IBC encoding information obtained from the entropy decoding unit (210), and the IBC encoding information can include block vector information.

인터 μ˜ˆμΈ‘λΆ€(265)λŠ” DPB(270)에 μ €μž₯된 μ°Έμ‘° 픽쳐 및 인터 λΆ€ν˜Έν™” 정보λ₯Ό μ΄μš©ν•˜μ—¬ 예츑 블둝을 μƒμ„±ν•˜λ©°, 인터 λΆ€ν˜Έν™” μ •λ³΄λŠ” μ°Έμ‘° 블둝에 λŒ€ν•œ ν˜„μž¬ λΈ”λ‘μ˜ λͺ¨μ…˜ 정보 μ„ΈνŠΈ(μ°Έμ‘° 픽쳐 인덱슀, λͺ¨μ…˜ 벑터 정보 λ“±)λ₯Ό 포함할 수 μžˆλ‹€.The inter prediction unit (265) generates a prediction block using the reference picture and inter encoding information stored in the DPB (270), and the inter encoding information may include a set of motion information (reference picture index, motion vector information, etc.) of the current block for the reference block.

ν•œνŽΈ, 인터 μ˜ˆμΈ‘μ—λŠ” L0 예츑, L1 예츑 및 쌍예츑(Bi-prediction)이 μžˆμ„ 수 μžˆλ‹€.Meanwhile, inter prediction can include L0 prediction, L1 prediction, and bi-prediction.

L0 μ˜ˆμΈ‘μ€ L0 픽쳐 λ¦¬μŠ€νŠΈμ— ν¬ν•¨λœ 1개의 μ°Έμ‘° 픽쳐λ₯Ό μ΄μš©ν•œ 예츑이고, L1 μ˜ˆμΈ‘μ€ L1 픽쳐 λ¦¬μŠ€νŠΈμ— ν¬ν•¨λœ 1개의 μ°Έμ‘° 픽쳐λ₯Ό μ΄μš©ν•œ μ˜ˆμΈ‘μ„ μ˜λ―Έν•œλ‹€. 이λ₯Ό μœ„ν•΄, 1μ„ΈνŠΈμ˜ λͺ¨μ…˜ 정보(예λ₯Ό λ“€μ–΄, λͺ¨μ…˜ 벑터 및 μ°Έμ‘° 픽쳐 인덱슀)κ°€ ν•„μš”ν•  수 μžˆλ‹€.L0 prediction refers to prediction using a single reference picture included in the L0 picture list, and L1 prediction refers to prediction using a single reference picture included in the L1 picture list. For this, a set of motion information (e.g., motion vector and reference picture index) may be required.

쌍예츑 λ°©μ‹μ—μ„œλŠ” μ΅œλŒ€ 2개의 μ°Έμ‘° μ˜μ—­λ“€μ„ μ΄μš©ν•  수 μžˆλŠ”λ°, 2개의 μ°Έμ‘° μ˜μ—­λ“€μ€ λ™μΌν•œ μ°Έμ‘° 픽쳐에 μ‘΄μž¬ν•  μˆ˜λ„ 있고, μ„œλ‘œ λ‹€λ₯Έ 픽쳐에 각각 μ‘΄μž¬ν•  μˆ˜λ„ μžˆλ‹€. 그에 따라, 쌍예츑 λ°©μ‹μ—μ„œ μ΄μš©λ˜λŠ” μ΅œλŒ€ 2 μ„ΈνŠΈμ˜ λͺ¨μ…˜ μ •λ³΄μ—μ„œ, 2개의 λͺ¨μ…˜ 벑터가 λ™μΌν•œ μ°Έμ‘° 픽쳐 μΈλ±μŠ€μ— λŒ€μ‘λ  μˆ˜λ„ 있고 μ„œλ‘œ λ‹€λ₯Έ μ°Έμ‘° 픽쳐 μΈλ±μŠ€μ— λŒ€μ‘λ  μˆ˜λ„ μžˆλ‹€.In the biprediction method, up to two reference regions can be used. These two reference regions may exist in the same reference picture or in different pictures. Accordingly, in the two sets of motion information used in the biprediction method, two motion vectors may correspond to the same reference picture index or to different reference picture indices.

μ΄λ•Œ, μ°Έμ‘° 픽쳐듀은 ν˜„μž¬ 픽쳐λ₯Ό κΈ°μ€€μœΌλ‘œ μ‹œκ°„μ μœΌλ‘œ 이전 λ˜λŠ” 이후에 μœ„μΉ˜ν•˜λŠ” ν”½μ³λ‘œμ„œ, 이미 λ³΅μ›λœ μ™„λ£Œλœ 픽쳐가 될 수 있으며, 쌍예츑 λ°©μ‹μ—μ„œ μ‚¬μš©λ˜λŠ” 2개의 μ°Έμ‘° μ˜μ—­μ€ L0 픽쳐 리슀트 및 L1 픽쳐 리슀트 κ°κ°μ—μ„œ μ„ νƒλœ μ˜μ—­μΌ 수 μžˆλ‹€.At this time, the reference pictures are pictures that are located temporally before or after the current picture, and may be completed pictures that have already been restored, and the two reference areas used in the pair prediction method may be areas selected from the L0 picture list and the L1 picture list, respectively.

인터 μ˜ˆμΈ‘λΆ€(265)λŠ” λͺ¨μ…˜ 벑터 및 μ°Έμ‘° 픽쳐 인덱슀λ₯Ό μ΄μš©ν•˜μ—¬ ν˜„μž¬ λΈ”λ‘μ˜ μ°Έμ‘° 블둝을 νšλ“ν•  수 있으며, μ°Έμ‘° 블둝은 μ°Έμ‘° 픽쳐 μΈλ±μŠ€μ— λŒ€μ‘ν•˜λŠ” μ°Έμ‘° 픽쳐 내에 μ‘΄μž¬ν•œλ‹€.The inter prediction unit (265) can obtain a reference block of the current block using a motion vector and a reference picture index, and the reference block exists in a reference picture corresponding to the reference picture index.

λ˜ν•œ, λͺ¨μ…˜ 벑터에 μ˜ν•΄μ„œ νŠΉμ •λœ λΈ”λ‘μ˜ μƒ˜ν”Œ κ°’ λ˜λŠ” 이의 보간(interpolation)된 값이 ν˜„μž¬ λΈ”λ‘μ˜ 예츑자(predictor)둜 이용될 수 μžˆλ‹€. μ„œλΈŒνŽ (subpel) λ‹¨μœ„μ˜ ν”½μ…€ 정확도λ₯Ό κ°–λŠ” λͺ¨μ…˜ μ˜ˆμΈ‘μ„ μœ„ν•˜μ—¬, νœ˜λ„ μ‹ ν˜Έμ— λŒ€ν•΄ 8-νƒ­ 보간 ν•„ν„°κ°€, 색차 μ‹ ν˜Έμ— λŒ€ν•˜μ—¬ 4-νƒ­ 보간 ν•„ν„°κ°€ μ‚¬μš©λ  수 μžˆλ‹€.Additionally, the sample values of a block specified by a motion vector or their interpolated values can be used as a predictor of the current block. For motion prediction with subpel-level pixel accuracy, an 8-tap interpolation filter can be used for the luminance signal, and a 4-tap interpolation filter can be used for the chrominance signal.

ν•œνŽΈ, 도 2λ₯Ό μ°Έμ‘°ν•˜μ—¬ μ„€λͺ…ν•œ λ””μ½”λ”μ˜ ꡬ성 및 λ™μž‘μ€ λ³Έ κ°œμ‹œμ˜ μΌμ‹€μ‹œμ˜ˆμ— λ”°λ₯Έ κ²ƒμœΌλ‘œ, ν•„μš”μ— 따라 일뢀 ꡬ성이 μƒλž΅λ˜κ±°λ‚˜ ꡬ성이 좔가될 수 있으며, λ””μ½”λ”λŠ” μ•žμ„œ μ„€λͺ…ν•œ μΈμ½”λ”μ˜ λΆ€ν˜Έν™” λ°©λ²•μ˜ 역과정을 μˆ˜ν–‰ν•˜μ—¬ μ˜μƒμ„ λ³΅ν˜Έν™”ν•  수 μžˆλ‹€.Meanwhile, the configuration and operation of the decoder described with reference to FIG. 2 are according to one embodiment of the present disclosure, and some configurations may be omitted or added as needed, and the decoder may decode an image by performing the reverse process of the encoding method of the encoder described above.

μ΄ν•˜, λ³Έ κ°œμ‹œμ˜ 일 μ‹€μ‹œμ˜ˆμ— λ”°λ₯Έ 블둝 νŒŒν‹°μ…”λ‹(block partitioning)에 λŒ€ν•˜μ—¬ μ„€λͺ…ν•œλ‹€. λ³Έ κ°œμ‹œμ— λ”°λ₯Έ 블둝 νŒŒν‹°μ…”λ‹ 과정은 μ „μˆ ν•œ λΉ„λ””μ˜€ 인코더(100)μ—μ„œ μˆ˜ν–‰λ˜μ–΄, νŒŒν‹°μ…”λ‹ κ΄€λ ¨ 정보가 μ—”νŠΈλ‘œν”Ό μ½”λ”©λΆ€(180)μ—μ„œ λΆ€ν˜Έν™”λ˜μ–΄ λΉ„νŠΈμŠ€νŠΈλ¦Ό ν˜•νƒœλ‘œ λΉ„λ””μ˜€ 디코더(200)에 전달될 수 μžˆλ‹€. λΉ„λ””μ˜€ 인코더(100)λŠ” κ²°μ •λœ 블둝 νŒŒν‹°μ…”λ‹ ꡬ쑰에 κΈ°μ΄ˆν•˜μ—¬ 인코딩 절차, 예λ₯Ό λ“€μ–΄ 예츑, λ³€ν™˜, 블둝 볡원, 필터링 κ³Όμ • 등을 μˆ˜ν–‰ν•  수 μžˆλ‹€.Hereinafter, block partitioning according to one embodiment of the present disclosure will be described. The block partitioning process according to the present disclosure may be performed in the aforementioned video encoder (100), and partitioning-related information may be encoded in the entropy coding unit (180) and transmitted to the video decoder (200) in the form of a bitstream. The video encoder (100) may perform encoding procedures, such as prediction, transformation, block restoration, and filtering, based on the determined block partitioning structure.

λΉ„λ””μ˜€ 디코더(200)의 μ—”νŠΈλ‘œν”Ό λ””μ½”λ”©λΆ€(210)λŠ” λΉ„νŠΈμŠ€νŠΈλ¦Όμ„ νŒŒμ‹±ν•˜μ—¬ 블둝 νŒŒν‹°μ…”λ‹ κ΄€λ ¨ 정보λ₯Ό νšλ“ν•˜κ³ , 블둝 νŒŒν‹°μ…”λ‹ κ΄€λ ¨ 정보에 κΈ°μ΄ˆν•˜μ—¬ 블둝 νŒŒν‹°μ…”λ‹ ꡬ쑰λ₯Ό κ²°μ •ν•  수 μžˆλ‹€. λΉ„λ””μ˜€ 디코더(200)λŠ” κ²°μ •λœ 블둝 νŒŒν‹°μ…”λ‹ ꡬ쑰에 κΈ°μ΄ˆν•˜μ—¬ λ””μ½”λ”© 절차, 예λ₯Ό λ“€μ–΄ 예츑, μ—­λ³€ν™˜, 블둝 볡원, 필터링 κ³Όμ • 등을 μˆ˜ν–‰ν•  수 μžˆλ‹€.The entropy decoding unit (210) of the video decoder (200) can parse a bitstream to obtain block partitioning-related information and determine a block partitioning structure based on the block partitioning-related information. The video decoder (200) can perform a decoding procedure, such as prediction, inverse transformation, block restoration, and filtering, based on the determined block partitioning structure.

λ˜ν•œ, λ³Έ κ°œμ‹œμ— λ”°λ₯Έ 블둝 νŒŒν‹°μ…”λ‹ 과정은 λΉ„λ””μ˜€ 인코더(100) 및 λΉ„λ””μ˜€ 디코더(200)μ—μ„œ ν˜„μž¬ 블둝과 κ΄€λ ¨λœ μ—¬λŸ¬ λΆ€κ°€ 정보에 κΈ°μ΄ˆν•˜μ—¬ μ•”μ‹œμ μœΌλ‘œ (implicitly) μˆ˜ν–‰λ  수 μžˆλ‹€. Additionally, the block partitioning process according to the present disclosure can be implicitly performed based on various additional information related to the current block in the video encoder (100) and the video decoder (200).

λ˜ν•œ, λ³Έ κ°œμ‹œμ— λ”°λ₯Έ 블둝 νŒŒν‹°μ…”λ‹ 과정은 νŒŒν‹°μ…”λ‹ κ΄€λ ¨λœ 일뢀 μ •λ³΄λŠ” μ—”νŠΈλ‘œν”Ό μ½”λ”©λΆ€(180)μ—μ„œ λΆ€ν˜Έν™”λ˜μ–΄ λΉ„νŠΈμŠ€νŠΈλ¦Ό ν˜•νƒœλ‘œ λΉ„λ””μ˜€ 디코더(200)둜 μ „λ‹¬λ˜κ³  νŒŒν‹°μ…”λ‹ κ΄€λ ¨λœ λ‹€λ₯Έ μ •λ³΄λŠ” μ•”μ‹œμ μœΌλ‘œ κ²°μ •λ˜μ–΄ μˆ˜ν–‰λ  수 μžˆλ‹€. In addition, the block partitioning process according to the present disclosure may be performed by encoding some information related to partitioning in an entropy coding unit (180) and transmitting it to a video decoder (200) in the form of a bitstream, and implicitly determining other information related to partitioning.

λΉ„λ””μ˜€λŠ” ν”½μ²˜λ“€μ˜ μ‹œν€€μŠ€λ‘œμ„œ, λΉ„λ””μ˜€λ₯Ό κ΅¬μ„±ν•˜λŠ” 각 ν”½μ²˜λŠ” μ„œλΈŒ 픽쳐(sub-picture), 슬라이슀(slice), 타일(tile) λ“±μœΌλ‘œ λΆ„ν• λ˜μ–΄ λΆ€ν˜Έν™”λ  수 μžˆλ‹€. μ„œλΈŒ ν”½μ³λŠ” ν•˜λ‚˜ μ΄μƒμ˜ 슬라이슀 λ˜λŠ” 타일을 포함할 수 μžˆλ‹€. ν•˜λ‚˜μ˜ 픽쳐가 μ—¬λŸ¬ 개의 슬라이슀 λ˜λŠ” νƒ€μΌλ‘œ λΆ„ν• λ˜μ–΄ λΆ€ν˜Έν™”λ˜μ—ˆμ„ 경우, 픽쳐 λ‚΄μ˜ λͺ¨λ“  슬라이슀 λ˜λŠ” 타일이 디코딩이 μ™„λ£Œλ˜μ–΄μ•Όλ§Œ 화면에 좜λ ₯이 κ°€λŠ₯ν•˜λ‹€.A video is a sequence of pictures, and each picture that makes up the video can be encoded by dividing it into sub-pictures, slices, tiles, etc. A sub-picture can include one or more slices or tiles. When a single picture is encoded by dividing it into multiple slices or tiles, all slices or tiles within the picture must be decoded before it can be displayed on the screen.

ν•˜λ‚˜μ˜ 픽쳐가 μ—¬λŸ¬ 개의 μ„œλΈŒ ν”½μ³λ“€λ‘œ λΆ€ν˜Έν™”λ˜μ—ˆμ„ 경우, μž„μ˜μ˜ μ„œλΈŒ ν”½μ³λ§Œ λ””μ½”λ”©λ˜μ–΄ 화면에 좜λ ₯될 수 μžˆλ‹€. μŠ¬λΌμ΄μŠ€λŠ” μ—¬λŸ¬ 개의 타일 λ˜λŠ” μ„œλΈŒ 픽쳐λ₯Ό 포함할 수 있으며, 타일은 μ—¬λŸ¬ 개의 μ„œλΈŒ 픽쳐 λ˜λŠ” 슬라이슀λ₯Ό 포함할 수 μžˆλ‹€.When a single picture is encoded into multiple subpictures, only any subpicture can be decoded and displayed on the screen. A slice can contain multiple tiles or subpictures, and a tile can contain multiple subpictures or slices.

μ„œλΈŒ 픽쳐, 슬라이슀, 타일은 μ„œλ‘œ λ…λ¦½μ μœΌλ‘œ 인코딩 λ˜λŠ” 디코딩이 κ°€λŠ₯ν•˜μ—¬ 병렬 처리 및 처리 속도 ν–₯상에 νš¨κ³Όμ μ΄λ‚˜, μΈμ ‘ν•œ λ‹€λ₯Έ μ„œλΈŒ 픽쳐, λ‹€λ₯Έ 슬라이슀, λ‹€λ₯Έ νƒ€μΌμ˜ λΆ€ν˜Έν™”λœ 정보λ₯Ό μ΄μš©ν•  수 μ—†μœΌλ―€λ‘œ λΉ„νŠΈλŸ‰μ΄ 증가될 수 μžˆλ‹€.Subpictures, slices, and tiles can be encoded or decoded independently of each other, which is effective for parallel processing and improved processing speed. However, since encoded information of adjacent subpictures, slices, and tiles cannot be used, the amount of bits may increase.

그리고 μ„œλΈŒ 픽쳐, 슬라이슀, 타일은 μ—¬λŸ¬ 개의 λΆ€ν˜Έν™” 트리 λ‹¨μœ„(Coding Tree Unit, CTU) 둜 λΆ„ν• λ˜μ–΄ λΆ€ν˜Έν™”λ  수 μžˆλ‹€. λΆ€ν˜Έν™” 트리 λ‹¨μœ„(CTU)λŠ” λΆ€ν˜Έν™” 트리 블둝(Coding Tree Block, CTB)에 λŒ€μ‘λ  수 μžˆλ‹€. λΆ€ν˜Έν™” 트리 λ‹¨μœ„λŠ” 슈퍼 블둝(super block, SB)으둜 지칭될 μˆ˜λ„ μžˆλ‹€. And subpictures, slices, and tiles can be encoded by being divided into multiple coding tree units (CTUs). A coding tree unit (CTU) can correspond to a coding tree block (CTB). A coding tree unit can also be referred to as a super block (SB).

CTUλŠ” 루마 μƒ˜ν”Œλ“€μ˜ λΆ€ν˜Έν™” 트리 블둝과, λŒ€μ‘ν•˜λŠ” 크둜마 μƒ˜ν”Œλ“€μ˜ λ‘κ°œμ˜ λΆ€ν˜Έν™” 트리 블둝듀을 포함할 수 μžˆλ‹€. CTUλŠ” 루마 μƒ˜ν”Œλ“€μ˜ 루마 블둝과 색 포맷에 따라 루마 λΈ”λ‘μ˜ 크기 μ΄ν•˜μ˜ λŒ€μ‘λ˜λŠ” μ†Œμ • 크기의 크둜마 μƒ˜ν”Œλ“€λ‘œ κ΅¬μ„±λœ λ‘κ°œμ˜ λŒ€μ‘ 블둝듀을 포함할 수 μžˆλ‹€. CTU의 μ΅œλŒ€ ν—ˆμš© μ‚¬μ΄μ¦ˆλŠ” λ³€ν™˜μ„ μœ„ν•œ CTU의 μ΅œλŒ€ ν—ˆμš© μ‚¬μ΄μ¦ˆμ™€ λ‹€λ₯Ό 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, CTU λ‚΄ 루마 λΈ”λ‘μ˜ μ΅œλŒ€ ν—ˆμš© μ‚¬μ΄μ¦ˆλŠ” 128x128일 수 μžˆλ‹€.A CTU may include an encoding tree block of luma samples and two encoding tree blocks of corresponding chroma samples. A CTU may include a luma block of luma samples and two corresponding blocks of chroma samples of a corresponding size smaller than or equal to the size of the luma block, depending on the color format. The maximum allowable size of a CTU may be different from the maximum allowable size of a CTU for a transformation. For example, the maximum allowable size of a luma block within a CTU may be 128x128.

CTUλŠ” μΏΌλ“œνŠΈλ¦¬(quad-tree, QT) ꡬ쑰λ₯Ό 기반으둜 λΆ€ν˜Έν™” λ‹¨μœ„λ“€(Coding Units, CUs)둜 뢄할될 수 μžˆλ‹€. λ˜ν•œ, λ³Έ κ°œμ‹œμ— λ”°λ₯΄λ©΄ ν›„μˆ λ˜λŠ” 도 3a에 μ˜ˆμ‹œλœ 바와 같이, CTUλŠ” μ†Œμ • 블둝 νŒŒν‹°μ…”λ‹ 트리 ꡬ쑰에 κΈ°μ΄ˆν•˜μ—¬ 뢄할될 수 μžˆλ‹€. 블둝 νŒŒν‹°μ…”λ‹ 트리 κ΅¬μ‘°μ—μ„œ, 각 λΆ€ν˜Έν™” λ‹¨μœ„λŠ” μ •μ‚¬κ°ν˜• λ˜λŠ” μ§μ‚¬κ°ν˜• λͺ¨μ–‘을 κ°€μ§ˆ 수 μžˆλ‹€. CTUλŠ” λ¨Όμ € μΏΌλ“œνŠΈλ¦¬ ꡬ쑰둜 뢄할될 수 μžˆλ‹€. 이후 μΏΌλ“œνŠΈλ¦¬ ꡬ쑰의 리프 λ…Έλ“œλ“€μ€ λ©€ν‹°νƒ€μž… 트리 κ΅¬μ‘°λ‚˜ μ†Œμ • 블둝 νŒŒν‹°μ…”λ‹ 트리 ꡬ쑰에 μ˜ν•˜μ—¬ μΆ”κ°€μ μœΌλ‘œ 뢄할될 수 μžˆλ‹€. λ˜ν•œ, λ³Έ κ°œμ‹œμ— λ”°λ₯΄λ©΄ ν›„μˆ λ˜λŠ” 도 3b에 μ˜ˆμ‹œλœ 바와 같이, CTUλŠ” μΏΌλ“œνŠΈλ¦¬ 뿐 μ•„λ‹ˆλΌ λ°”μ΄λ„ˆλ¦¬ 트리(binary-tree, BT) 및 ν„°λ„ˆλ¦¬ 트리(ternary-tree, TT)을 ν¬ν•¨ν•˜λŠ” λ©€ν‹°νƒ€μž… 트리 ꡬ쑰 뢄할에 κΈ°μ΄ˆν•˜μ—¬ 뢄할될 수 μžˆλ‹€. A CTU can be partitioned into coding units (CUs) based on a quad-tree (QT) structure. In addition, according to the present disclosure, as illustrated in FIG. 3a described below, a CTU can be partitioned based on a predetermined block partitioning tree structure. In the block partitioning tree structure, each coding unit can have a square or rectangular shape. A CTU can be first partitioned into a quad-tree structure. Thereafter, leaf nodes of the quad-tree structure can be further partitioned by a multi-type tree structure or a predetermined block partitioning tree structure. In addition, according to the present disclosure, as illustrated in FIG. 3b described below, a CTU can be partitioned based on a multi-type tree structure partitioning including not only a quad-tree but also a binary-tree (BT) and a ternary-tree (TT).

도 3aλŠ” λ³Έ κ°œμ‹œμ˜ 일 μ‹€μ‹œμ˜ˆμ— λ”°λ₯Έ, 블둝 νŒŒν‹°μ…”λ‹ ꡬ쑰의 일 예λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 도면이닀.FIG. 3A is a diagram illustrating an example of a block partitioning structure according to one embodiment of the present disclosure.

예츑 및 λ³€ν™˜ ν”„λ‘œμ„ΈμŠ€λ₯Ό μ‹œμž‘ν•˜κΈ° 전에, λΉ„λ””μ˜€ 인코더(100)λŠ” ν”½μ²˜λ₯Ό μ†Œμ • 크기의 λΈ”λ‘λ“€λ‘œ λΆ„ν• ν•œλ‹€. μ΄λŸ¬ν•œ μ†Œμ • 크기의 블둝듀은 CTU λ˜λŠ” SB둜 지칭될 수 μžˆλ‹€. 루마λ₯Ό κΈ°μ€€μœΌλ‘œ μ†Œμ • 크기의 블둝듀은 64X64 λ˜λŠ” 128X128이 될 수 μžˆλ‹€. Before starting the prediction and conversion process, the video encoder (100) divides the picture into blocks of a predetermined size. These blocks of a predetermined size may be referred to as CTUs or SBs. Based on luma, the blocks of a predetermined size may be 64X64 or 128X128.

RDO(Rate-Distortion Optimization)에 κΈ°μ΄ˆν•˜μ—¬, λΉ„λ””μ˜€ 인코더(100)λŠ” 도 3a에 μ˜ˆμ‹œλœ 바와 같은 νŒŒν‹°μ…”λ‹ ꡬ쑰에 따라 ν˜„μž¬ 블둝을 λΆ„ν• ν•  수 μžˆλ‹€. λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ 블둝을 λΆ„ν• ν•˜μ§€ μ•Šκ³  κ·ΈλŒ€λ‘œ μ‚¬μš©ν•˜κ±°λ‚˜(NONE), ν˜„μž¬ 블둝을 μˆ˜ν‰μœΌλ‘œ 2λ“±λΆ„ν•˜κ±°λ‚˜(HORZ), ν˜„μž¬ 블둝을 수직으둜 2λ“±λΆ„ν•˜κ±°λ‚˜(VERT), ν˜„μž¬ 블둝을 4개의 동일 크기 블둝을 λΆ„ν• ν•˜κ±°λ‚˜(SPLIT), ν˜„μž¬ 블둝을 μˆ˜ν‰μœΌλ‘œ λΉ„λŒ€μΉ­ λΆ„ν• ν•˜κ±°λ‚˜(HORZ_A, HORZ_B), ν˜„μž¬ 블둝을 수직으둜 λΉ„λŒ€μΉ­ λΆ„ν• ν•˜κ±°λ‚˜(VERT_A, VERT_B), ν˜„μž¬ 블둝을 μˆ˜ν‰ λ°©ν–₯으둜 4λΆ„ν• ν•˜κ±°λ‚˜(HORZ_4), ν˜„μž¬ 블둝을 수직 λ°©ν–₯으둜 4λΆ„ν• (VERT_4)ν•  수 μžˆλ‹€.Based on Rate-Distortion Optimization (RDO), the video encoder (100) can partition the current block according to a partitioning structure as illustrated in FIG. 3A. The video encoder (100) can use the current block as is without partitioning it (NONE), divide the current block horizontally into two (HORZ), divide the current block vertically into two (VERT), divide the current block into four equal-sized blocks (SPLIT), divide the current block horizontally asymmetrically (HORZ_A, HORZ_B), divide the current block vertically asymmetrically (VERT_A, VERT_B), divide the current block into four horizontally (HORZ_4), or divide the current block into four vertically (VERT_4).

도 3a의 νŒŒν‹°μ…”λ‹ ꡬ쑰에 λ”°λ₯Έ λΆ„ν•  과정은 μž¬κ·€μ μœΌλ‘œ(recursively) μˆ˜ν–‰λ  수 μžˆλ‹€. 즉, νŒŒν‹°μ…”λ‹ ꡬ쑰에 따라 λΆ„ν• λœ νŒŒν‹°μ…˜ 쀑 ν•˜λ‚˜λŠ” λ‹€μ‹œ 도 3a의 νŒŒν‹°μ…”λ‹ ꡬ쑰에 따라 뢄할될 수 μžˆλ‹€. μ΄λŸ¬ν•œ μž¬κ·€μ μΈ νŒŒν‹°μ…”λ‹ 과정은 블둝 크기, νŒŒν‹°μ…”λ‹ λͺ¨λ“œμ— 따라 μ œν•œλ  수 μžˆλ‹€. 즉, μ†Œμ • 크기 μ΄μƒμ˜ 블둝에 λŒ€ν•΄μ„œλ§Œ μž¬κ·€μ μΈ νŒŒν‹°μ…”λ‹ 과정이 μˆ˜ν–‰λ˜κ±°λ‚˜, νŠΉμ • νŒŒν‹°μ…”λ‹ λͺ¨λ“œμ— 따라 λΆ„ν• λœ 블둝에 λŒ€ν•΄μ„œλ§Œ μž¬κ·€μ μΈ νŒŒν‹°μ…”λ‹ 과정이 μˆ˜ν–‰λ  수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, μΏΌλ“œνŠΈλ¦¬ ꡬ쑰(SPLIT)둜 λΆ„ν• λœ 각 νŒŒν‹°μ…˜μ€ 도 3a에 λ„μ‹œλœ 10개의 트리 ꡬ쑰 쀑 ν•˜λ‚˜μ— 따라 μž¬κ·€μ (recursively)으둜 λΆ„ν• λ˜κ³  λ‚˜λ¨Έμ§€ 9개의 트리 ꡬ쑰 쀑 ν•˜λ‚˜μ— 따라 κ²°μ •λœ νŒŒν‹°μ…˜μ€ 더 이상 λ‹€λ₯Έ νŒŒν‹°μ…˜λ“€λ‘œ λΆ„ν• λ˜μ§€ μ•ŠλŠ” μ΅œμ’…μ μΈ 리프 λ…Έλ“œ(leaf node)둜 결정될 수 μžˆλ‹€. 도 3a의 블둝 νŒŒν‹°μ…”λ‹ ꡬ쑰에 λ”°λΌμ„œ 더 이상 λΆ„ν• λ˜μ§€ μ•ŠλŠ” 리프 λ…Έλ“œλŠ” CU λ˜λŠ” μ„œλΈŒ 블둝(SB)으둜 지칭될 수 μžˆλ‹€. μ΄λŸ¬ν•œ CUλŠ” 예츑 및 λ³€ν™˜ 절차λ₯Ό μœ„ν•˜μ—¬ μ‚¬μš©λ  수 μžˆλ‹€. The partitioning process according to the partitioning structure of Fig. 3a can be performed recursively. That is, one of the partitions divided according to the partitioning structure can be divided again according to the partitioning structure of Fig. 3a. This recursive partitioning process can be limited according to the block size and the partitioning mode. That is, the recursive partitioning process can be performed only for blocks larger than a certain size, or the recursive partitioning process can be performed only for blocks divided according to a specific partitioning mode. For example, each partition divided into a quadtree structure (SPLIT) can be recursively divided according to one of the ten tree structures illustrated in Fig. 3a, and the partition determined according to one of the remaining nine tree structures can be determined as a final leaf node that is no longer divided into other partitions. The leaf node that is no longer divided according to the block partitioning structure of Fig. 3a can be referred to as a CU or a sub-block (SB). These CUs can be used for prediction and transformation procedures.

ν˜„μž¬ λΆ€ν˜Έν™” λ‹¨μœ„κ°€ 도 3a의 블둝 νŒŒν‹°μ…”λ‹ ꡬ쑰에 따라 λΆ„ν• λ˜λŠ”μ§€λ₯Ό μ§€μ‹œν•˜κΈ° μœ„ν•˜μ—¬ μ†Œμ • λΆ„ν•  정보듀이 μ‹œκ·Έλ„λ§λ  수 μžˆλ‹€. μ†Œμ • λΆ„ν•  μ •λ³΄λŠ” 도 3a의 블둝 νŒŒν‹°μ…”λ‹ ꡬ쑰 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” λͺ¨λ“œ 정보λ₯Ό ν¬ν•¨ν•˜κ±°λ‚˜, λΆ„ν•  λ°©ν–₯이 μˆ˜ν‰/μˆ˜μ§μΈμ§€ μ—¬λΆ€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” ν”Œλž˜κ·Έ, λΆ„ν•  νƒ€μž…μ„ λ‚˜νƒ€λ‚΄λŠ” ν”Œλž˜κ·Έλ₯Ό 포함할 수 μžˆλ‹€. Specific partitioning information may be signaled to indicate whether the current encoding unit is partitioned according to the block partitioning structure of FIG. 3A. The specific partitioning information may include mode information indicating one of the block partitioning structures of FIG. 3A, a flag indicating whether the partitioning direction is horizontal/vertical, or a flag indicating the partitioning type.

도 3bλŠ” λ³Έ κ°œμ‹œμ˜ 일 μ‹€μ‹œμ˜ˆμ— λ”°λ₯Έ, λ©€ν‹°νƒ€μž… 트리 ꡬ쑰의 일 예λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 도면이닀.FIG. 3b is a diagram illustrating an example of a multi-type tree structure according to one embodiment of the present disclosure.

예츑 ν”„λ‘œμ„ΈμŠ€λ₯Ό μ‹œμž‘ν•˜κΈ° 전에, λΉ„λ””μ˜€ 인코더(100)λŠ” ν”½μ²˜λ₯Ό μ†Œμ • 크기의 λΈ”λ‘λ“€λ‘œ λΆ„ν• ν•œλ‹€. μ†Œμ • 크기의 블둝(CTU)λŠ” 도 3b에 λ„μ‹œλœ λ©€ν‹°νƒ€μž… 트리 ꡬ쑰에 κΈ°μ΄ˆν•˜μ—¬ 뢄할될 수 μžˆλ‹€. 도 3b의 λ©€ν‹°νƒ€μž… 트리 ꡬ쑰에 λ”°λ₯Έ λΆ„ν•  과정은 μž¬κ·€μ μœΌλ‘œ(recursively) μˆ˜ν–‰λ  수 μžˆλ‹€.Before starting the prediction process, the video encoder (100) divides the picture into blocks of a predetermined size. The blocks (CTUs) of the predetermined size can be divided based on the multi-type tree structure illustrated in FIG. 3b. The division process according to the multi-type tree structure of FIG. 3b can be performed recursively.

λ³Έ κ°œμ‹œμ˜ 일 μ‹€μ‹œμ˜ˆμ—μ„œ, λ©€ν‹°νƒ€μž… 트리 κ΅¬μ‘°λŠ” 도 3b에 λ„μ‹œλœ 바와 같은 6개의 λΆ„ν•  νƒ€μž…μ„ 포함할 수 μžˆλ‹€. 6개의 λΆ„ν•  νƒ€μž…μ€ ν˜„μž¬ 블둝을 λΆ„ν• ν•˜μ§€ μ•Šκ³  κ·ΈλŒ€λ‘œ μ‚¬μš©ν•˜κ±°λ‚˜(NO SPLIT), ν˜„μž¬ 블둝을 4개의 동일 크기 블둝을 λΆ„ν• ν•˜κ±°λ‚˜(QUADTREE), λΆ„ν• μˆ˜μ§ λ°”μ΄λ„ˆλ¦¬ λΆ„ν• (vertical binary splitting, SPLIT_BT_VER), μˆ˜ν‰ λ°”μ΄λ„ˆλ¦¬ λΆ„ν• (horizontal binary splitting, SPLIT_BT_HOR), 수직 ν„°λ„ˆλ¦¬ λΆ„ν• (vertical ternary splitting,SPLIT_TT_VER), μˆ˜ν‰ ν„°λ„ˆλ¦¬ λΆ„ν• (horizontal ternary splitting, SPLIT_TT_HOR)을 포함할 수 μžˆλ‹€. λ³Έ κ°œμ‹œμ—μ„œ 수직 λ°”μ΄λ„ˆλ¦¬ 뢄할은 수직 μ΄μ§„νŠΈλ¦¬ λΆ„ν• , μˆ˜ν‰ λ°”μ΄λ„ˆλ¦¬ 뢄할은 μˆ˜ν‰ μ΄μ§„νŠΈλ¦¬ λΆ„ν• , 수직 ν„°λ„ˆλ¦¬ 뢄할은 수직 3λΆ„ν• νŠΈλ¦¬ λΆ„ν• , μˆ˜ν‰ ν„°λ„ˆλ¦¬ 뢄할은 μˆ˜ν‰ 3λΆ„ν• νŠΈλ¦¬ λΆ„ν• λ‘œ 지칭될 수 μžˆλ‹€. λ©€ν‹°νƒ€μž… 트리 ꡬ쑰의 리프 λ…Έλ“œλ“€μ€ CU듀이라고 지칭될 수 μžˆλ‹€. μ΄λŸ¬ν•œ CU듀은 예츑 및 λ³€ν™˜ 절차λ₯Ό μœ„ν•˜μ—¬ μ‚¬μš©λ  수 μžˆλ‹€. In one embodiment of the present disclosure, the multi-type tree structure may include six split types as illustrated in FIG. 3B. The six split types may include using the current block as is without splitting it (NO SPLIT), splitting the current block into four equal-sized blocks (QUADTREE), vertical binary splitting (SPLIT_BT_VER), horizontal binary splitting (SPLIT_BT_HOR), vertical ternary splitting (SPLIT_TT_VER), and horizontal ternary splitting (SPLIT_TT_HOR). In the present disclosure, vertical binary splitting may be referred to as vertical binary tree splitting, horizontal binary splitting may be referred to as horizontal binary tree splitting, vertical ternary splitting may be referred to as vertical 3-split tree splitting, and horizontal ternary splitting may be referred to as horizontal 3-split tree splitting. Leaf nodes of the multi-type tree structure may be referred to as CUs. These CUs can be used for prediction and transformation procedures.

수직 μ΄μ§„νŠΈλ¦¬ λΆ„ν•  및 μˆ˜ν‰ μ΄μ§„νŠΈλ¦¬ 뢄할은 각각 ν˜„μž¬ λΆ€ν˜Έν™” μœ λ‹›μ˜ κ°€λ‘œ ν˜Ήμ€ μ„Έλ‘œλ₯Ό 2λΆ„ν• ν•˜μ—¬ 2개의 λΆ€ν˜Έν™” λ‹¨μœ„λ“€λ‘œ λΆ„ν• ν•˜λŠ” 것이닀. 예λ₯Ό λ“€μ–΄, 32x32 크기의 λΆ€ν˜Έν™” λ‹¨μœ„κ°€ 수직 μ΄μ§„νŠΈλ¦¬ 뢄할에 따라 2개의 λΆ€ν˜Έν™” μœ λ‹›μœΌλ‘œ μ„Έλ‘œλ‘œ λΆ„ν•  될 경우, λΆ„ν• λœ 2개의 λΆ€ν˜Έν™” μœ λ‹›μ€ 각각 16x32의 크기λ₯Ό κ°€μ§ˆ 수 μžˆλ‹€. Vertical binary tree partitioning and horizontal binary tree partitioning are methods of dividing the current encoding unit into two encoding units by dividing it in half horizontally or vertically, respectively. For example, if a 32x32 sized encoding unit is vertically partitioned into two encoding units according to vertical binary tree partitioning, the two partitioned encoding units can each have a size of 16x32.

수직 3λΆ„ν• νŠΈλ¦¬ λΆ„ν•  및 μˆ˜ν‰ 3λΆ„ν• νŠΈλ¦¬ 뢄할은 각각 ν˜„μž¬ λΆ€ν˜Έν™” μœ λ‹›μ˜ κ°€λ‘œ ν˜Ήμ€ μ„Έλ‘œλ₯Ό 1:2:1의 λΉ„μœ¨λ‘œ λΆ„ν• ν•¨μœΌλ‘œμ¨, 3개의 λΆ€ν˜Έν™” λ‹¨μœ„λ“€λ‘œ λΆ„ν• ν•˜λŠ” 것이닀. 일 예둜, 16x32 크기의 λΆ€ν˜Έν™” λ‹¨μœ„κ°€ μˆ˜ν‰ 3λΆ„ν• νŠΈλ¦¬ 뢄할에 따라 3개의 λΆ€ν˜Έν™” μœ λ‹›μœΌλ‘œ κ°€λ‘œλ‘œ λΆ„ν• λ˜λŠ” 경우, λΆ„ν• λœ 3개의 λΆ€ν˜Έν™” λ‹¨μœ„λŠ” 상츑뢀터 각각 16x8, 16x16 및 16x8의 크기λ₯Ό κ°€μ§ˆ 수 μžˆλ‹€. λ‹€λ₯Έ 예둜, 32x32 크기의 λΆ€ν˜Έν™” λ‹¨μœ„κ°€ 수직 3λΆ„ν• νŠΈλ¦¬ 뢄할에 따라 3개의 λΆ€ν˜Έν™” λ‹¨μœ„λ“€λ‘œ μ„Έλ‘œλ‘œ λΆ„ν• λ˜λŠ” 경우, λΆ„ν• λœ 3개의 λΆ€ν˜Έν™” λ‹¨μœ„λŠ” μ’ŒμΈ‘λΆ€ν„° 각각 8x32, 16x32 및 8x32의 크기λ₯Ό κ°€μ§ˆ 수 μžˆλ‹€. Vertical 3-tree splitting and horizontal 3-tree splitting splitting split the current coding unit into three coding units by splitting the width or height in a ratio of 1:2:1, respectively. For example, when a coding unit of size 16x32 is split horizontally into three coding units according to horizontal 3-tree splitting, the three split coding units may have sizes of 16x8, 16x16, and 16x8 from the top, respectively. As another example, when a coding unit of size 32x32 is split vertically into three coding units according to vertical 3-tree splitting, the three split coding units may have sizes of 8x32, 16x32, and 8x32 from the left, respectively.

ν˜„μž¬ λΆ€ν˜Έν™” λ‹¨μœ„κ°€ λ©€ν‹°νƒ€μž… 트리 ꡬ쑰에 따라 λΆ„ν• λ˜λŠ”μ§€λ₯Ό μ§€μ‹œν•˜κΈ° μœ„ν•˜μ—¬ μ†Œμ • λΆ„ν•  정보듀이 μ‹œκ·Έλ„λ§λ  수 μžˆλ‹€. λ©€ν‹°νƒ€μž… 트리 ꡬ쑰의 뢄할에 κ΄€λ ¨λœ λΆ„ν•  μ •λ³΄λŠ” λ©€ν‹°νƒ€μž… 트리 ꡬ쑰에 λ”°λ₯Έ λΆ„ν•  λ°©ν–₯이 μˆ˜μ§μΈμ§€ μ—¬λΆ€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” ν”Œλž˜κ·Έ(mtt_split_cu_vertical_flag) 및 λΆ„ν•  νƒ€μž…μ΄ λ°”μ΄λ„ˆλ¦¬ λΆ„ν•  νƒ€μž…μΈμ§€ ν„°λ„ˆλ¦¬ λΆ„ν•  νƒ€μž…μΈμ§€ μ—¬λΆ€λ₯Ό μ§€μ‹œν•˜κΈ° μœ„ν•œ ν”Œλž˜κ·Έ(mtt_split_cu_binary_flag)λ₯Ό 포함할 수 μžˆλ‹€. mtt_split_cu_vertical_flag의 값이 0인 경우 ν˜„μž¬ λΆ€ν˜Έν™” λ‹¨μœ„μ˜ λ©€ν‹°νƒ€μž… 트리 ꡬ쑰에 λ”°λ₯Έ λΆ„ν•  λ°©ν–₯이 μˆ˜ν‰μž„μ„ 가리킀며, 1인 경우 λΆ„ν•  λ°©ν–₯이 μˆ˜μ§μž„μ„ 가리킬 수 μžˆλ‹€. mtt_split_cu_binary_flagκ°€ 0인 경우 ν˜„μž¬ λΆ€ν˜Έν™” λ‹¨μœ„μ˜ λ©€ν‹°νƒ€μž… 트리 ꡬ쑰에 λ”°λ₯Έ 뢄할이 ν„°λ„ˆλ¦¬, 즉 3뢄할됨을 가리킀며, 1인 경우 λ©€ν‹°νƒ€μž… 트리 ꡬ쑰에 λ”°λ₯Έ 뢄할이 λ°”μ΄λ„ˆλ¦¬, 즉 2뢄할됨을 가리킬 수 μžˆλ‹€. λΉ„λ””μ˜€ 인코더(100)λŠ” λ©€ν‹°νƒ€μž… 트리 ꡬ쑰에 λ”°λΌμ„œ λΆ„ν•  정보(mtt_split_cu_vertical_flag, mtt_split_cu_binary_flag)λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦Όμ— ν¬ν•¨μ‹œμΌœ λΆ€ν˜Έν™”ν•˜κ³ , λΉ„λ””μ˜€ 디코더(200)λŠ” λΉ„νŠΈμŠ€νŠΈλ¦Όμ— ν¬ν•¨λœ λΆ„ν•  정보(mtt_split_cu_vertical_flag, mtt_split_cu_binary_flag)λ₯Ό νŒŒμ‹±ν•˜μ—¬ λΆ€ν˜Έν™” λ‹¨μœ„μ˜ λ©€ν‹°νƒ€μž… 트리 ꡬ쑰λ₯Ό κ²°μ •ν•  수 μžˆλ‹€.Specified split information may be signaled to indicate whether the current encoding unit is split according to a multi-type tree structure. Split information related to splitting of the multi-type tree structure may include a flag (mtt_split_cu_vertical_flag) indicating whether the splitting direction according to the multi-type tree structure is vertical and a flag (mtt_split_cu_binary_flag) indicating whether the splitting type is a binary split type or a ternary split type. If the value of mtt_split_cu_vertical_flag is 0, it may indicate that the splitting direction according to the multi-type tree structure of the current encoding unit is horizontal, and if it is 1, it may indicate that the splitting direction is vertical. If mtt_split_cu_binary_flag is 0, it may indicate that the splitting according to the multi-type tree structure of the current encoding unit is ternary, that is, split into three, and if it is 1, it may indicate that the splitting according to the multi-type tree structure is binary, that is, split into two. The video encoder (100) encodes the bitstream by including the split information (mtt_split_cu_vertical_flag, mtt_split_cu_binary_flag) according to the multi-type tree structure, and the video decoder (200) can determine the multi-type tree structure of the encoding unit by parsing the split information (mtt_split_cu_vertical_flag, mtt_split_cu_binary_flag) included in the bitstream.

도 4λŠ” λ³Έ κ°œμ‹œμ˜ 일 μ‹€μ‹œμ˜ˆμ— λ”°λ₯Έ, 블둝 νŒŒν‹°μ…”λ‹ 트리 ꡬ쑰의 일 예λ₯Ό λ‚˜νƒ€λ‚Έ 도면이닀.FIG. 4 is a diagram illustrating an example of a block partitioning tree structure according to one embodiment of the present disclosure.

ν”½μ²˜(400)λŠ” λΆ€ν˜Έν™” 트리 λ‹¨μœ„λ“€(CTUs)둜 λΆ„ν• λ˜κ³ , 각 CTU λ‹¨μœ„λ‘œ 뢄할ꡬ쑰가 κ²°μ •λœλ‹€. 각 CTUλŠ” 트리 ꡬ쑰λ₯Ό 기초둜 심도 정보(cqtdepth)λ₯Ό κ°€μ§€κ³  κ³„μΈ΅μ μœΌλ‘œ 볡수의 ν•˜μœ„ λΆ€ν˜Έν™” λ‹¨μœ„λ“€λ‘œ 뢄할될 수 μžˆλ‹€. 심도 정보(cqtdepth)λŠ” CTUλ‘œλΆ€ν„° ν˜„μž¬ λΆ€ν˜Έν™” λ‹¨μœ„λ‘œ λΆ„ν• λœ 깊이λ₯Ό λ‚˜νƒ€λ‚΄λŠ” λ³€μˆ˜λ‘œ, CTU의 cqtDepthλŠ” 0으둜 μ„€μ •λ˜κ³ , CTUκ°€ μΏΌλ“œνŠΈλ¦¬ 뢄할됨에 λ”°λΌμ„œ μ†Œμ • κ°’, 예λ₯Ό λ“€μ–΄ 1μ”© cqtdepthκ°€ 증가할 수 μžˆλ‹€. 즉, CTUλ‘œλΆ€ν„° μΏΌλ“œνƒ€μž… 트리 ꡬ쑰에 λ”°λ₯Έ λΆ„ν• μ‹œ 뢄할에 μ˜ν•΄ CU의 κ°€λ‘œ 크기 및/λ˜λŠ” μ„Έλ‘œ 크기가 1/2둜 쀄어듀 λ•Œλ§ˆλ‹€ λΆ„ν• λœ λΆ€ν˜Έν™” λ‹¨μœ„μ˜ cqtdepthλŠ” μ†Œμ •κ°’, 예λ₯Ό λ“€μ–΄ 1μ”© 증가할 수 μžˆλ‹€. A picture (400) is divided into coding tree units (CTUs), and a division structure is determined for each CTU. Each CTU can be hierarchically divided into a plurality of lower coding units with depth information (cqtdepth) based on the tree structure. The depth information (cqtdepth) is a variable indicating the depth divided from the CTU to the current coding unit, and the cqtDepth of the CTU is set to 0, and as the CTU is divided into quadtrees, the cqtdepth may increase by a predetermined value, for example, 1. That is, when dividing from a CTU according to a quad-type tree structure, the cqtdepth of the divided coding unit may increase by a predetermined value, for example, 1, whenever the horizontal size and/or vertical size of the CU is reduced by half due to the division.

λΆ€ν˜Έν™” λ‹¨μœ„κ°€ λΆ„ν• λ˜λŠ”μ§€ 여뢀에 λŒ€ν•œ μ •λ³΄λŠ” CU의 λΆ„ν•  정보λ₯Ό 톡해 ν‘œν˜„λ  수 μžˆλ‹€. λΆ„ν•  μ •λ³΄λŠ” 1λΉ„νŠΈμ˜ ν”Œλž˜κ·Έ 정보일 수 μžˆλ‹€. 더 이상 λΆ„ν• λ˜μ§€ μ•ŠλŠ” λΆ€ν˜Έν™” λ‹¨μœ„λ₯Ό μ œμ™Έν•˜κ³  λͺ¨λ“  CUλŠ” λΆ„ν•  정보λ₯Ό 포함할 수 μžˆλ‹€. 예λ₯Ό λ“€λ©΄, λΆ„ν•  μ •λ³΄μ˜ 값이 제1 값이면, CUκ°€ λΆ„ν• λ˜μ§€ μ•Šμ„ 수 있고, λΆ„ν•  μ •λ³΄μ˜ 값이 제2 값이면, CUκ°€ 뢄할될 수 μžˆλ‹€. λΆ„ν•  μ •λ³΄λŠ” ν˜„μž¬ λΆ€ν˜Έν™” λ‹¨μœ„κ°€ ν•˜μœ„ μ‹¬λ„μ˜ λΆ€ν˜Έν™” λ‹¨μœ„λ“€λ‘œ μΏΌλ“œνƒ€μž… 트리 ꡬ쑰에 따라 λΆ„ν• λ˜λŠ”μ§€ μ—¬λΆ€λ₯Ό κ°€λ¦¬ν‚€λŠ” ν”Œλž˜κ·Έ(split_qt_flag)일 수 μžˆλ‹€. λΆ„ν•  정보(split_qt_flag)κ°€ 0인 경우 ν˜„μž¬ λΆ€ν˜Έν™” λ‹¨μœ„κ°€ λΆ„ν• λ˜μ§€ μ•ŠμŒμ„ 가리킀고, λΆ„ν•  정보(split_qt_flag)κ°€ 1인 경우 ν˜„μž¬ λΆ€ν˜Έν™” λ‹¨μœ„κ°€ μΏΌλ“œνƒ€μž… 트리 ꡬ쑰에 따라 μˆ˜ν‰ 및 수직 λ°©ν–₯으둜 2λΆ„ν• λ˜μ–΄ 4개의 ν•˜μœ„ μ‹¬λ„μ˜ λΆ€ν˜Έν™” λ‹¨μœ„λ“€λ‘œ 뢄할됨을 가리킬 수 μžˆλ‹€. Information on whether a coding unit is split can be expressed through split information of the CU. The split information can be 1-bit flag information. All CUs, except for coding units that are no longer split, can include split information. For example, if the value of the split information is the first value, the CU may not be split, and if the value of the split information is the second value, the CU may be split. The split information can be a flag (split_qt_flag) indicating whether the current coding unit is split into coding units of a lower depth according to a quad-type tree structure. If the split information (split_qt_flag) is 0, it can indicate that the current coding unit is not split, and if the split information (split_qt_flag) is 1, it can indicate that the current coding unit is split into two horizontally and vertically according to the quad-type tree structure and split into four coding units of a lower depth.

도 4λ₯Ό μ°Έμ‘°ν•˜μ—¬, cqtdepthκ°€ 0인 MxN 크기의 CTU(410)κ°€ λ„μ‹œλœ 바와 같이 μΏΌλ“œνƒ€μž… 트리 ꡬ쑰에 따라 λΆ„ν• λœ 경우 CTU(410) 및 CTU(410)에 ν¬ν•¨λœ λΆ€ν˜Έν™” λ‹¨μœ„λ“€μ— λŒ€ν•œ λΆ„ν•  정보(split_qt_flag)에 λŒ€ν•˜μ—¬ μ„€λͺ…ν•œλ‹€. λ§Œμ•½, CTU(410)κ°€ 더 이상 ν•˜μœ„ μ‹¬λ„μ˜ λΆ€ν˜Έν™” λ‹¨μœ„λ“€λ‘œ λΆ„ν• λ˜μ§€ μ•ŠλŠ” 경우 CTU(410)의 λΆ„ν•  정보(split_qt_flag)λŠ” 0으둜 μ„€μ •λœλ‹€. 도 4에 λ„μ‹œλœ 바와 같은 λΆ„ν•  ꡬ쑰λ₯Ό κ°–κΈ° μœ„ν•΄μ„œλŠ”, CTU(410)λŠ” μΏΌλ“œνƒ€μž… 트리 ꡬ쑰에 따라 ν•˜μœ„μ‹¬λ„(cqtdepth=1)의 4개의 λΆ€ν˜Έν™” λ‹¨μœ„λ“€(420a, 420b, 420c, 420d)둜 λΆ„ν• λ˜κ³ , 4개의 λΆ€ν˜Έν™” λ‹¨μœ„λ“€ 쀑 μš°ν•˜μΈ‘μ˜ λΆ€ν˜Έν™” λ‹¨μœ„(420d)κ°€ λ‹€μ‹œ ν•˜μœ„μ‹¬λ„(cqtdepth=2)의 4개의 λΆ€ν˜Έν™” λ‹¨μœ„λ“€(430a, 430b, 430c, 440d)둜 λΆ„ν• λ˜μ–΄μ•Ό ν•˜λ―€λ‘œ, CTU(410)의 λΆ„ν•  정보(split_qt_flag)λŠ” 1둜 μ„€μ •λ˜λ©°, ν•˜μœ„μ‹¬λ„(cqtdepth=1)의 4개의 λΆ€ν˜Έν™” λ‹¨μœ„λ“€(420a, 420b, 420c, 420d) 쀑 μš°ν•˜μΈ‘μ˜ λΆ€ν˜Έν™” λ‹¨μœ„(420d)의 λΆ„ν•  정보(split_qt_flag)λŠ” 1둜 μ„€μ •λ˜κ³  λ‚˜λ¨Έμ§€ λΆ€ν˜Έν™” λ‹¨μœ„λ“€(420a 420b, 420c)의 λΆ„ν•  정보(split_qt_flag)λŠ” 0으둜 μ„€μ •λ˜λ©°, ν•˜μœ„μ‹¬λ„(cqtdepth=2)의 4개의 λΆ€ν˜Έν™” λ‹¨μœ„λ“€(430a, 430b, 430c, 440d)은 더 이상 λΆ„ν• λ˜μ§€ μ•ŠμœΌλ―€λ‘œ 4개의 λΆ€ν˜Έν™” λ‹¨μœ„λ“€(430a, 430b, 430c, 440d)의 λΆ„ν•  μ •λ³΄λŠ” 0으둜 μ„€μ •λ˜κ±°λ‚˜ μ‘΄μž¬ν•˜μ§€ μ•Šμ„ 수 μžˆλ‹€.Referring to FIG. 4, when a CTU (410) of MxN size with cqtdepth of 0 is split according to a quad-type tree structure as shown, split information (split_qt_flag) for the CTU (410) and the coding units included in the CTU (410) will be described. If the CTU (410) is no longer split into coding units of lower depths, the split information (split_qt_flag) of the CTU (410) is set to 0. In order to have a split structure as shown in FIG. 4, the CTU (410) is split into four coding units (420a, 420b, 420c, 420d) of lower depth (cqtdepth=1) according to the quad-type tree structure, and the coding unit (420d) on the lower right among the four coding units must be split again into four coding units (430a, 430b, 430c, 440d) of lower depth (cqtdepth=2), so the split information (split_qt_flag) of the CTU (410) is set to 1, and the split of the coding unit (420d) on the lower right among the four coding units (420a, 420b, 420c, 420d) of lower depth (cqtdepth=1) The information (split_qt_flag) is set to 1, the split information (split_qt_flag) of the remaining coding units (420a 420b, 420c) is set to 0, and since the four coding units (430a, 430b, 430c, 440d) of the lower depth (cqtdepth=2) are no longer split, the split information of the four coding units (430a, 430b, 430c, 440d) may be set to 0 or may not exist.

ν•œνŽΈ, λ©€ν‹°νƒ€μž… 트리 및 μΏΌλ“œνƒ€μž… 트리 ꡬ쑰에 λ”°λ₯Έ λΆ„ν•  정보듀 이외에, λΈ”λ‘μ˜ νŒŒν‹°μ…”λ‹ ꡬ쑰와 κ΄€λ ¨ν•˜μ—¬, λ‹€μŒ νŒŒλΌλ―Έν„°λ“€μ΄ HLS(High-Level Syntax)둜 SPS(Sequence Parameter Set), PPS(Picture Parameter Set), PH(Picture Header) 및 SH(Slice Header) 쀑 μ–΄λŠ ν•˜λ‚˜ μ΄μƒμ˜ μœ„μΉ˜μ— ν¬ν•¨λ˜μ–΄ λΉ„λ””μ˜€ 인코더(100)μ—μ„œ λΉ„λ””μ˜€ 디코더(200)둜 μ‹œκ·Έλ„λ§ 될 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, μΏΌλ“œνŠΈλ¦¬μ˜ 루트 λ…Έλ“œμ˜ 크기λ₯Ό λ‚˜νƒ€λ‚΄λŠ” νŒŒλΌλ―Έν„°μΈ CTU size, μΏΌλ“œνŠΈλ¦¬ 리프(leaf) λ…Έλ“œμ˜ μ΅œμ†Œ κ°€μš© 크기λ₯Ό λ‚˜νƒ€λ‚΄λŠ” νŒŒλΌλ―Έν„°μΈ MinQTSize, λ°”μ΄λ„ˆλ¦¬ 트리 루트 λ…Έλ“œμ˜ μ΅œλŒ€ κ°€μš© 크기λ₯Ό λ‚˜νƒ€λ‚΄λŠ” νŒŒλΌλ―Έν„°μΈ MaxBTSize, ν„°λ„ˆλ¦¬ 트리 루트 λ…Έλ“œμ˜ μ΅œλŒ€ κ°€μš© 크기λ₯Ό λ‚˜νƒ€λ‚΄λŠ” νŒŒλΌλ―Έν„°μΈ MaxTTSize, μΏΌλ“œνŠΈλ¦¬ 리프 λ…Έλ“œλ‘œλΆ€ν„° λΆ„ν• λ˜λŠ” λ©€ν‹°νƒ€μž… 트리의 μ΅œλŒ€ κ°€μš© 계측 깊이(maximum allowed hierarchy depth)λ₯Ό λ‚˜νƒ€λ‚΄λŠ” νŒŒλΌλ―Έν„°μΈ MaxMttDepth, λ°”μ΄λ„ˆλ¦¬ 트리의 μ΅œμ†Œ κ°€μš© 리프 λ…Έλ“œ μ‚¬μ΄μ¦ˆλ₯Ό λ‚˜νƒ€λ‚΄λŠ” νŒŒλΌλ―Έν„°μΈ MinBtSize, ν„°λ„ˆλ¦¬ 트리의 μ΅œμ†Œ κ°€μš© 리프 λ…Έλ“œ μ‚¬μ΄μ¦ˆλ₯Ό λ‚˜νƒ€λ‚΄λŠ” νŒŒλΌλ―Έν„°μΈ MinTtSize 쀑 적어도 ν•˜λ‚˜κ°€ ν•˜μ΄λ ˆλ²¨ μ‹ νƒμŠ€λ‘œ μ‹œκ·Έλ„λ§λ  수 μžˆλ‹€. 4:2:0 크둜마 포멧을 μ΄μš©ν•˜λŠ” 일 μ‹€μ‹œ μ˜ˆμ—μ„œ, CTU μ‚¬μ΄μ¦ˆλŠ” 128x128 루마 블둝 및 루마 블둝에 λŒ€μ‘ν•˜λŠ” λ‘κ°œμ˜ 64x64 크둜마 λΈ”λ‘μœΌλ‘œ 섀정될 수 μžˆλ‹€. 이 경우, MinQTSizeλŠ” 16x16으둜 μ„€μ •λ˜κ³ , MaxBtSizeλŠ” 128x128둜 μ„€μ •λ˜κ³ , MaxTtSzieλŠ” 64x64둜 μ„€μ •λ˜κ³ , MinBtSize 및 MinTtSizeλŠ” 4x4둜, 그리고 MaxMttDepthλŠ” 4둜 섀정될 수 μžˆλ‹€. 쿼트트리 νŒŒν‹°μ…”λ‹μ€ CTU에 μ μš©λ˜μ–΄ μΏΌλ“œνŠΈλ¦¬ 리프 λ…Έλ“œλ“€μ„ 생성할 수 μžˆλ‹€. μΏΌλ“œνŠΈλ¦¬ 리프 λ…Έλ“œλŠ” 리프 QT λ…Έλ“œλΌκ³  뢈릴 수 μžˆλ‹€. μΏΌλ“œνŠΈλ¦¬ 리프 λ…Έλ“œλ“€μ€ 16x16 μ‚¬μ΄μ¦ˆ (e.g. the MinQTSize)λ‘œλΆ€ν„° 128x128 μ‚¬μ΄μ¦ˆ(e.g. the CTU size)λ₯Ό κ°€μ§ˆ 수 μžˆλ‹€. λ§Œμ•½ 리프 QT λ…Έλ“œκ°€ 128x128인 경우, μΆ”κ°€μ μœΌλ‘œ λ°”μ΄λ„ˆλ¦¬ 트리/ν„°λ„ˆλ¦¬ 트리둜 λΆ„ν• λ˜μ§€ μ•Šμ„ 수 μžˆλ‹€. μ΄λŠ” 이 경우 λΆ„ν• λ˜λ”λΌλ„ MaxBtsize 및 MaxTtszie (i.e. 64x64)λ₯Ό μ΄ˆκ³Όν•˜κΈ° λ•Œλ¬Έμ΄λ‹€. 이 μ™Έμ˜ 경우, 리프 QT λ…Έλ“œλŠ” λ©€ν‹°νƒ€μž… 트리둜 μΆ”κ°€μ μœΌλ‘œ 뢄할될 수 μžˆλ‹€. κ·ΈλŸ¬λ―€λ‘œ, 리프 QT λ…Έλ“œλŠ” λ©€ν‹°νƒ€μž… νŠΈλ¦¬μ— λŒ€ν•œ 루트 λ…Έλ“œ(root node)이고, 리프 QT λ…Έλ“œλŠ” λ©€ν‹°νƒ€μž… 트리 뎁슀(mttDepth) 0값을 κ°€μ§ˆ 수 μžˆλ‹€. λ§Œμ•½, λ©€ν‹°νƒ€μž… 트리 λŽμŠ€κ°€ MaxMttdepth (ex. 4)에 λ„λ‹¬ν•œ 경우, 더 이상 μΆ”κ°€ 뢄할은 κ³ λ €λ˜μ§€ μ•Šμ„ 수 μžˆλ‹€. λ§Œμ•½, λ©€ν‹°νƒ€μž… 트리 λ…Έλ“œμ˜ λ„ˆλΉ„(width)κ°€ MinBtSize와 κ°™κ³ , 2xMinTtSize보닀 μž‘κ±°λ‚˜ 같을 λ•Œ, 더 이상 좔가적인 μˆ˜ν‰ 뢄할은 κ³ λ €λ˜μ§€ μ•Šμ„ 수 μžˆλ‹€. λ§Œμ•½, λ©€ν‹°νƒ€μž… 트리 λ…Έλ“œμ˜ 높이가 MinBtSize와 κ°™κ³ , 2xMinTtSize보닀 μž‘κ±°λ‚˜ 같을 λ•Œ, 더 이상 좔가적인 수직 뢄할은 κ³ λ €λ˜μ§€ μ•Šμ„ 수 μžˆλ‹€. 이와 같이 뢄할이 κ³ λ €λ˜μ§€ μ•ŠλŠ” 경우, λΆ€ν˜Έν™” μž₯μΉ˜λŠ” λΆ„ν•  μ •λ³΄μ˜ μ‹œκ·Έλ„λ§μ„ μƒλž΅ν•  수 μžˆλ‹€. μ΄λŸ¬ν•œ 경우 λ³΅ν˜Έν™” μž₯μΉ˜λŠ” μ†Œμ •μ˜ κ°’μœΌλ‘œ λΆ„ν•  정보λ₯Ό μœ λ„ν•  수 μžˆλ‹€.Meanwhile, in addition to the partitioning information according to the multi-type tree and quad-type tree structures, with respect to the partitioning structure of the block, the following parameters may be included in one or more of the positions of the Sequence Parameter Set (SPS), the Picture Parameter Set (PPS), the Picture Header (PH), and the Slice Header (SH) in HLS (High-Level Syntax) and signaled from the video encoder (100) to the video decoder (200). For example, at least one of the following parameters can be signaled in the high-level syntax: CTU size, which is a parameter indicating the size of the root node of the quadtree; MinQTSize, which is a parameter indicating the minimum available size of the quadtree leaf node; MaxBTSize, which is a parameter indicating the maximum available size of the binary tree root node; MaxTTSize, which is a parameter indicating the maximum available size of the ternary tree root node; MaxMttDepth, which is a parameter indicating the maximum allowed hierarchy depth of the multitype tree split from the quadtree leaf node; MinBtSize, which is a parameter indicating the minimum available leaf node size of the binary tree; and MinTtSize, which is a parameter indicating the minimum available leaf node size of the ternary tree. In one embodiment using the 4:2:0 chroma format, the CTU size can be set to a 128x128 luma block and two 64x64 chroma blocks corresponding to the luma block. In this case, MinQTSize can be set to 16x16, MaxBtSize can be set to 128x128, MaxTtSzie can be set to 64x64, MinBtSize and MinTtSize can be set to 4x4, and MaxMttDepth can be set to 4. Quadtree partitioning can be applied to the CTU to generate quadtree leaf nodes. The quadtree leaf nodes can be called leaf QT nodes. The quadtree leaf nodes can have sizes from 16x16 (e.g. the MinQTSize) to 128x128 (e.g. the CTU size). If the leaf QT node is 128x128, it may not be further split into binary trees/ternary trees. This is because even if it is split, it exceeds MaxBtsize and MaxTtszie (i.e. 64x64). In other cases, a leaf QT node can be further split into a multitype tree. Therefore, a leaf QT node is a root node for a multitype tree, and a leaf QT node can have a multitype tree depth (mttDepth) of 0. If the multitype tree depth reaches MaxMttdepth (e.g., 4), no further splits may be considered. If the width of a multitype tree node is equal to MinBtSize and less than or equal to 2xMinTtSize, no further horizontal splits may be considered. If the height of a multitype tree node is equal to MinBtSize and less than or equal to 2xMinTtSize, no further vertical splits may be considered. In cases where splitting is not considered in this way, the encoder may omit signaling of the splitting information. In this case, the decoder may derive the splitting information as a predetermined value.

ν•œνŽΈ, λ³Έ κ°œμ‹œμ— λ”°λ₯Έ 블둝 νŒŒν‹°μ…”λ‹ κ΅¬μ‘°λŠ” 도 3a 및 도 3b에 μ˜ˆμ‹œλœ 바에 ν•œμ •λ˜μ§€ μ•Šκ³  μΆ”κ°€λ˜κ±°λ‚˜ 변경될 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, 도 3a 및 도 3b에 μ˜ˆμ‹œλœ 블둝 νŒŒν‹°μ…”λ‹ λͺ¨λ“œλ₯Ό κ²°ν•©ν•˜κ±°λ‚˜ 일뢀 블둝 νŒŒν‹°μ…”λ‹ λͺ¨λ“œλ₯Ό μ œμ™Έν•˜κ³  블둝 νŒŒν‹°μ…”λ‹ ꡬ쑰가 결정될 수 μžˆλ‹€.Meanwhile, the block partitioning structure according to the present disclosure is not limited to that illustrated in FIGS. 3A and 3B and may be added or modified. For example, the block partitioning modes illustrated in FIGS. 3A and 3B may be combined, or the block partitioning structure may be determined by excluding some block partitioning modes.

μ „μˆ ν•œ 바와 같이, λΉ„λ””μ˜€ 인코더(100)λŠ” 도 3a, 3b에 μ˜ˆμ‹œλœ 바와 같은 블둝 νŒŒν‹°μ…”λ‹ ꡬ쑰에 κΈ°μ΄ˆν•˜μ—¬, 더 이상 λΆ„ν• λ˜μ§€ μ•ŠλŠ” 리프 λ…Έλ“œμΈ CUλ₯Ό κ²°μ •ν•˜κ³  CU λ‹¨μœ„λ‘œ 예츑 및 λ³€ν™˜μ„ μˆ˜ν–‰ν•  수 μžˆλ‹€. μ΄ν•˜, CU λ‹¨μœ„μ— λŒ€ν•œ λ³€ν™˜μ΄ μˆ˜ν–‰λ˜λŠ” 블둝 λ‹¨μœ„μΈ λ³€ν™˜ 블둝에 λŒ€ν•˜μ—¬ μ„€λͺ…ν•œλ‹€. As described above, the video encoder (100) can determine CUs, which are leaf nodes that are no longer divided, based on the block partitioning structure exemplified in FIGS. 3a and 3b, and perform prediction and transformation on a CU-by-CU basis. Hereinafter, a transformation block, which is a block unit in which transformation is performed on a CU-by-CU basis, will be described.

도 5λŠ” λ³Έ κ°œμ‹œμ˜ 일 μ‹€μ‹œμ˜ˆμ— λ”°λ₯Έ, ν˜„μž¬ 블둝(CU λ˜λŠ” μ„œλΈŒλΈ”λ‘)의 λ³€ν™˜ 과정에 μ΄μš©κ°€λŠ₯ν•œ 후보 λ³€ν™˜ λͺ¨λ“œλ“€μ˜ 일 예λ₯Ό λ‚˜νƒ€λ‚Έ 도면이닀.FIG. 5 is a diagram illustrating an example of candidate transformation modes available for a transformation process of a current block (CU or sub-block) according to one embodiment of the present disclosure.

λ³Έ κ°œμ‹œμ˜ 일 μ‹€μ‹œμ˜ˆμ— λ”°λ₯΄λ©΄ λ³€ν™˜ 코딩을 μ μ‘μ μœΌλ‘œ μ μš©ν•˜κΈ° μœ„ν•œ λ³€ν™˜ λΈ”λ‘μ˜ λͺ¨μ–‘, 크기λ₯Ό 미리 μ •ν•˜μ—¬ 블둝 λ‹¨μœ„λ‘œ λ³€ν™˜ 적용 μ—¬λΆ€λ₯Ό κ²°μ •ν•˜κ³ , λΉ„λ””μ˜€ 인코더(100) 및 λΉ„λ””μ˜€ 디코더(200)μ—μ„œλŠ” λ™μΌν•œ 블둝 λ‹¨μœ„λ‘œ λ³€ν™˜ 과정을 μˆ˜ν–‰ν•  수 μžˆλ‹€. μ΄ν•˜μ˜ μ„€λͺ…μ—μ„œ, λΉ„λ””μ˜€ 인코더(100)μ—μ„œ 블둝 λ‹¨μœ„λ‘œ μˆ˜ν–‰λ˜λŠ” λ³€ν™˜ κ³Όμ • 및 λΉ„λ””μ˜€ 디코더(200)μ—μ„œ 블둝 λ‹¨μœ„λ‘œ μˆ˜ν–‰λ˜λŠ” λ³€ν™˜ κ³Όμ •μ˜ 역과정인 μ—­λ³€ν™˜ 과정은 λͺ¨λ‘ λ³€ν™˜ κ³Όμ •μœΌλ‘œ 지칭될 수 μžˆλ‹€.According to one embodiment of the present disclosure, the shape and size of a transformation block for adaptively applying transformation coding are determined in advance to determine whether to apply transformation in units of blocks, and the video encoder (100) and the video decoder (200) can perform the transformation process in units of the same blocks. In the following description, the transformation process performed in units of blocks in the video encoder (100) and the reverse transformation process, which is the reverse process of the transformation process performed in units of blocks in the video decoder (200), may both be referred to as transformation processes.

ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ 과정에 μ μš©κ°€λŠ₯ν•œ 후보 λ³€ν™˜ λͺ¨λ“œλ“€μ€ ν˜„μž¬ 블둝과 λ™μΌν•œ 크기의 λ³€ν™˜ 블둝을 μ΄μš©ν•˜λŠ” λ³€ν™˜ λͺ¨λ“œ, ν˜„μž¬ 블둝을 μˆ˜ν‰ λ°©ν–₯ 및 수직 λ°©ν–₯ 쀑 적어도 ν•˜λ‚˜μ˜ λ°©ν–₯으둜 μ†Œμ • λΉ„μœ¨λ‘œ λΆ„ν• ν•˜μ—¬ νšλ“λ˜λŠ” λ³€ν™˜ 블둝을 μ΄μš©ν•˜λŠ” λ³€ν™˜ λͺ¨λ“œλ₯Ό 포함할 수 μžˆλ‹€.Candidate transformation modes applicable to the transformation process of the current block may include a transformation mode that uses a transformation block of the same size as the current block, and a transformation mode that uses a transformation block obtained by dividing the current block at a predetermined ratio in at least one of the horizontal and vertical directions.

볡수 개의 후보 λ³€ν™˜ λͺ¨λ“œλ“€μ€ ν˜„μž¬ 블둝을 μˆ˜ν‰ λ°©ν–₯ 및 수직 λ°©ν–₯ 쀑 적어도 ν•˜λ‚˜μ˜ λ°©ν–₯으둜 1:A (AλŠ” μžμ—°μˆ˜)의 λΉ„μœ¨λ‘œ 2λΆ„ν• ν•˜κ±°λ‚˜, 1:1:B(BλŠ” μžμ—°μˆ˜)의 λΉ„μœ¨λ‘œ 3λΆ„ν• ν•˜κ±°λ‚˜, 1:C:1(CλŠ” μžμ—°μˆ˜)의 λΉ„μœ¨λ‘œ 3λΆ„ν• ν•˜κ±°λ‚˜, D:1:1 (DλŠ” μžμ—°μˆ˜)의 λΉ„μœ¨λ‘œ 3λΆ„ν• ν•˜κ±°λ‚˜, 1:1:1:1의 λΉ„μœ¨λ‘œ 4λΆ„ν• ν•˜μ—¬ νšλ“λ˜λŠ” λ³€ν™˜ 블둝을 μ΄μš©ν•˜λŠ” λ³€ν™˜ λͺ¨λ“œλ₯Ό 포함할 수 μžˆλ‹€.The plurality of candidate transformation modes may include a transformation mode that utilizes a transformation block obtained by dividing the current block into two parts in a ratio of 1:A (where A is a natural number) in at least one of the horizontal and vertical directions, into three parts in a ratio of 1:1:B (where B is a natural number), into three parts in a ratio of 1:C:1 (where C is a natural number), into three parts in a ratio of D:1:1 (where D is a natural number), or into four parts in a ratio of 1:1:1:1.

예λ₯Ό λ“€μ–΄, 도 5λ₯Ό μ°Έμ‘°ν•˜λ©΄, 볡수 개의 후보 λ³€ν™˜ λͺ¨λ“œλ“€μ€ ν˜„μž¬ λΈ”λ‘μ˜ 폭(width) 및 높이(height)와 λ™μΌν•œ 폭과 높이λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝을 μ΄μš©ν•˜λŠ” 제 1 λ³€ν™˜ λͺ¨λ“œ(501), ν˜„μž¬ 블둝을 μˆ˜ν‰ λ°©ν–₯으둜 2λΆ„ν• ν•œ 2개의 width x height/2의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝듀을 μ΄μš©ν•˜λŠ” 제 2 λ³€ν™˜ λͺ¨λ“œ(502), ν˜„μž¬ 블둝을 μˆ˜ν‰ λ°©ν–₯으둜 4λΆ„ν• ν•œ 4개의 width x height/4의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝듀을 μ΄μš©ν•˜λŠ” 제 3 λ³€ν™˜ λͺ¨λ“œ(503), ν˜„μž¬ 블둝을 μˆ˜ν‰ λ°©ν–₯으둜 1:2:1의 λΉ„μœ¨λ‘œ 3λΆ„ν• ν•˜μ—¬ 2개의 width x height/4의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝듀 및 1개의 width x height/2의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝을 μ΄μš©ν•˜λŠ” 제 4 λ³€ν™˜ λͺ¨λ“œ(504), ν˜„μž¬ 블둝을 μˆ˜ν‰ λ°©ν–₯으둜 1:1:2의 λΉ„μœ¨λ‘œ 3λΆ„ν• ν•˜μ—¬ 2개의 width x height/4의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝듀 및 1개의 width x height/2의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝을 μ΄μš©ν•˜λŠ” 제 5 λ³€ν™˜ λͺ¨λ“œ(505), ν˜„μž¬ 블둝을 μˆ˜ν‰ λ°©ν–₯으둜 2:1:1의 λΉ„μœ¨λ‘œ 3λΆ„ν• ν•˜μ—¬ 2개의 width x height/4의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝듀 및 1개의 width x height/2의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝을 μ΄μš©ν•˜λŠ” 제 6 λ³€ν™˜ λͺ¨λ“œ(506), ν˜„μž¬ 블둝을 μˆ˜ν‰ λ°©ν–₯으둜 1:2:1의 λΉ„μœ¨λ‘œ 3λΆ„ν• ν•˜μ—¬ λΆ„ν• λœ 2개의 width x height/4의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝듀 및 width x height/2의 블둝을 λ‹€μ‹œ 수직 λ°©ν–₯으둜 2λΆ„ν• ν•œ 2개의 width/2 x height/2의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝듀을 μ΄μš©ν•˜λŠ” 제 7 λ³€ν™˜ λͺ¨λ“œ(507), ν˜„μž¬ 블둝을 수직 λ°©ν–₯으둜 2λΆ„ν• ν•œ 2개의 width/2 x height의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝듀을 μ΄μš©ν•˜λŠ” 제 8 λ³€ν™˜ λͺ¨λ“œ(508), ν˜„μž¬ 블둝을 수직 λ°©ν–₯으둜 4λΆ„ν• ν•œ 4개의 width/4 x height의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝듀을 μ΄μš©ν•˜λŠ” 제 9 λ³€ν™˜ λͺ¨λ“œ(509), ν˜„μž¬ 블둝을 수직 λ°©ν–₯으둜 1:2:1의 λΉ„μœ¨λ‘œ 3λΆ„ν• ν•œ 2개의 width/4 x height의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝듀 및 1개의 width/2 x height의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝을 μ΄μš©ν•˜λŠ” 제 10 λ³€ν™˜ λͺ¨λ“œ(510), ν˜„μž¬ 블둝을 수직 λ°©ν–₯으둜 1:1:2의 λΉ„μœ¨λ‘œ 3λΆ„ν• ν•œ 2개의 width/4 x height의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝듀 및 1개의 width/2 x height의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝을 μ΄μš©ν•˜λŠ” 제 11 λ³€ν™˜ λͺ¨λ“œ(511), ν˜„μž¬ 블둝을 수직 λ°©ν–₯으둜 2:1:1의 λΉ„μœ¨λ‘œ 3λΆ„ν• ν•œ 2개의 width/4 x height의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝듀 및 1개의 width/2 x height의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝을 μ΄μš©ν•˜λŠ” 제 12 λ³€ν™˜ λͺ¨λ“œ(512), ν˜„μž¬ 블둝을 수직 λ°©ν–₯으둜 1:2:1의 λΉ„μœ¨λ‘œ 3λΆ„ν• ν•˜μ—¬ λΆ„ν• λœ 2개의 width x height/4의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝듀 및 width x height/2의 블둝을 λ‹€μ‹œ 수직 λ°©ν–₯으둜 2λΆ„ν• ν•œ 2개의 width/2 x height/2의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝듀을 μ΄μš©ν•˜λŠ” 제 13 λ³€ν™˜ λͺ¨λ“œ(513), 및 ν˜„μž¬ 블둝을 μˆ˜ν‰ λ°©ν˜• 및 수직 λ°©ν–₯으둜 2λΆ„ν• ν•œ 4개의 width/2 x height/2의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝듀을 μ΄μš©ν•˜λŠ” 제 14 λ³€ν™˜ λͺ¨λ“œ 쀑 적어도 ν•˜λ‚˜μ˜ λͺ¨λ“œλ₯Ό 포함할 수 μžˆλ‹€.For example, referring to FIG. 5, the plurality of candidate transformation modes include a first transformation mode (501) that uses a transformation block having the same width and height as the width and height of the current block, a second transformation mode (502) that uses two transformation blocks having a size of width x height/2 that divide the current block into two horizontally, a third transformation mode (503) that uses four transformation blocks having a size of width x height/4 that divide the current block into four horizontally, a fourth transformation mode (504) that divides the current block into three horizontally at a ratio of 1:2:1 and uses two transformation blocks having a size of width x height/4 and one transformation block having a size of width x height/2, a fifth transformation mode (505) that divides the current block into three horizontally at a ratio of 1:1:2 and uses two transformation blocks having a size of width x height/4 and one transformation block having a size of width x height/2, and a fifth transformation mode (506) that divides the current block into three horizontally at a ratio of 1:1:2 and uses A sixth transformation mode (506) that uses two transformation blocks each having a size of width x height/4 and one transformation block each having a size of width x height/2 by dividing the current block into three blocks at a ratio of 2:1:1 in the horizontal direction, a seventh transformation mode (507) that uses two transformation blocks each having a size of width x height/4 and two transformation blocks each having a size of width/2 x height/2 obtained by dividing the current block into three blocks at a ratio of 1:2:1 in the horizontal direction, and two transformation blocks each having a size of width x height/2 obtained by dividing the width x height/2 block into two blocks again in the vertical direction, an eighth transformation mode (508) that uses two transformation blocks each having a size of width/2 x height obtained by dividing the current block into two blocks at a ratio of 1:2:1 in the vertical direction, a ninth transformation mode (509) that uses four transformation blocks each having a size of width/4 x height obtained by dividing the current block into four blocks at a ratio of 1:2:1 in the vertical direction, and one transformation block each having a size of width/2 x height obtained by dividing the current block into three blocks at a ratio of 1:2:1 in the vertical direction. A tenth transformation mode (510) using a transformation block having a size of height, an eleventh transformation mode (511) using two transformation blocks having a size of width/4 x height which divide the current block into three parts in a ratio of 1:1:2 in the vertical direction and one transformation block having a size of width/2 x height, a twelfth transformation mode (512) using two transformation blocks having a size of width/4 x height which divide the current block into three parts in a ratio of 2:1:1 in the vertical direction and one transformation block having a size of width/2 x height, a thirteenth transformation mode (513) using two transformation blocks having a size of width x height/4 which divide the current block into three parts in a ratio of 1:2:1 in the vertical direction and two transformation blocks having a size of width/2 x height/2 which divide the width x height/2 block into two parts in the vertical direction again, and a thirteenth transformation mode (514) using four transformation blocks having a size of width/2 x height/2 which divide the current block into two parts in the horizontal and vertical directions. It may include at least one of the 14 transformation modes that utilize transformation blocks having.

λ³Έ κ°œμ‹œμ˜ 일 μ‹€μ‹œμ˜ˆμ— μžˆμ–΄μ„œ, ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ 과정에 μ μš©κ°€λŠ₯ν•œ 후보 λ³€ν™˜ λͺ¨λ“œλŠ” 도 5에 μ˜ˆμ‹œλœ 제 1 λ³€ν™˜ λͺ¨λ“œ λ‚΄μ§€ 제 14 λ³€ν™˜ λͺ¨λ“œμ˜ μ „λΆ€ λ˜λŠ” 이 쀑 μΌλΆ€μ˜ λ³€ν™˜ λͺ¨λ“œλ§Œμ„ μ„ νƒν•˜μ—¬ μ μ‘μ μœΌλ‘œ ꡬ성될 수 μžˆλ‹€. λ˜ν•œ, 도 5에 μ˜ˆμ‹œλœ 바에 ν•œμ •λ˜μ§€ μ•Šκ³  후보 λ³€ν™˜ λͺ¨λ“œλ‘œμ„œ ν˜„μž¬ 블둝을 λ‹€λ₯Έ λͺ¨μ–‘κ³Ό 크기둜 λΆ„ν• ν•œ λ³€ν™˜ λͺ¨λ“œκ°€ 포함될 수 μžˆλ‹€.In one embodiment of the present disclosure, the candidate transformation modes applicable to the transformation process of the current block may be adaptively configured by selecting only some or all of the first transformation mode to the fourteenth transformation mode illustrated in FIG. 5. Furthermore, the candidate transformation modes are not limited to those illustrated in FIG. 5, and transformation modes that divide the current block into different shapes and sizes may be included.

각 후보 λ³€ν™˜ λͺ¨λ“œμ— 따라 λΆ„ν• λœ 블둝 λ‹¨μœ„λ‘œ DCT, DST λ“±μ˜ λ‹€μ–‘ν•œ λ³€ν™˜ 과정이 μˆ˜ν–‰λ  수 μžˆλ‹€. λ˜ν•œ, 각 후보 λ³€ν™˜ λͺ¨λ“œμ— 따라 λΆ„ν• λœ 블둝 λ‹¨μœ„λ‘œ λ³€ν™˜ 과정이 μ μš©λ˜μ§€ μ•ŠλŠ” λ³€ν™˜ μŠ€ν‚΅(skip)이 적용될 수 μžˆλ‹€.Depending on each candidate transformation mode, various transformation processes, such as DCT and DST, can be performed on a partitioned block basis. Additionally, a transformation skip, in which a transformation process is not applied to each partitioned block basis, may be applied depending on each candidate transformation mode.

λ³Έ κ°œμ‹œμ˜ 일 μ‹€μ‹œμ˜ˆμ— λ”°λ₯Έ 후보 λ³€ν™˜ λͺ¨λ“œλŠ” μ‹œν€€μŠ€ λ‹¨μœ„, GOPλ‹¨μœ„, Picture λ‹¨μœ„, Slice λ‹¨μœ„, Tile λ‹¨μœ„, CTUλ‹¨μœ„, CUλ‹¨μœ„, TUλ‹¨μœ„λ‘œ μœ λ„λ  수 μžˆλ‹€. 후보 λ³€ν™˜ λͺ¨λ“œ κ²°μ •μ‹œ, 적어도 ν•˜λ‚˜μ˜ 후보 λ³€ν™˜ λͺ¨λ“œλŠ” ν˜„μž¬ ν”„λ ˆμž„ 정보, 슬라이슀 정보, ν˜„μž¬ λΈ”λ‘μ˜ νŒŒν‹°μ…”λ‹ 정보, ν˜„μž¬ λΈ”λ‘μ˜ 크기, ν˜„μž¬ λΈ”λ‘μ˜ λͺ¨μ–‘, ν˜„μž¬ λΈ”λ‘μ˜ 예츑 λͺ¨λ“œ 정보, ν˜„μž¬ 블둝이 ν¬ν•¨λœ λΆ€λͺ¨ λΈ”λ‘μ˜ νŒŒν‹°μ…”λ‹ 정보, λΆ€λͺ¨ λΈ”λ‘μ˜ 크기, λΆ€λͺ¨ λΈ”λ‘μ˜ λͺ¨μ–‘, λΆ€λͺ¨ λΈ”λ‘μ˜ 예츑 λͺ¨λ“œ 정보, 상기 ν˜„μž¬ λΈ”λ‘μ˜ μ£Όλ³€ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œ 정보, ν˜„μž¬ 블둝에 ν¬ν•¨λœ λ³€ν™˜ κ³„μˆ˜μ˜ μ΅œλŒ€κ°’, μ†Œμ • μŠ€μΊλ‹ μˆœμ„œμ— λ”°λ₯Έ ν˜„μž¬ λΈ”λ‘μ˜ λ§ˆμ§€λ§‰ 0이 μ•„λ‹Œ(non-zero) λ³€ν™˜ κ³„μˆ˜μ˜ μœ„μΉ˜ 쀑 적어도 ν•˜λ‚˜μ˜ 정보(μ΄ν•˜, "λΆ€κ°€ 정보"라 함)에 κΈ°μ΄ˆν•˜μ—¬ μ•”μ‹œμ μœΌλ‘œ 결정될 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, μ „μˆ ν•œ λΆ€κ°€ 정보듀 쀑 적어도 ν•˜λ‚˜μ— κΈ°μ΄ˆν•˜μ—¬, μ „μˆ ν•œ 도 5에 μ˜ˆμ‹œλœ 바와 같은 14개의 후보 λ³€ν™˜ λͺ¨λ“œλ“€ 쀑 적어도 ν•˜λ‚˜μ˜ 후보 λ³€ν™˜ λͺ¨λ“œκ°€ μœ λ„(derive)ν•˜μ—¬ ν˜„μž¬ λ³€ν™˜ λΈ”λ‘μ˜ 후보 λ³€ν™˜ λͺ¨λ“œκ°€ ꡬ성될 수 μžˆλ‹€. λΉ„λ””μ˜€ 인코더(100) 및 λΉ„λ””μ˜€ 디코더(200)λŠ” λ™μΌν•œ λ°©μ‹μœΌλ‘œ λΆ€κ°€ 정보에 κΈ°μ΄ˆν•˜μ—¬, ν˜„μž¬ 블둝에 μ μš©κ°€λŠ₯ν•œ 후보 λ³€ν™˜ λͺ¨λ“œλ₯Ό μœ λ„ν•  수 μžˆλ‹€.A candidate transformation mode according to an embodiment of the present disclosure may be derived in units of sequence, GOP, Picture, Slice, Tile, CTU, CU, and TU. When determining a candidate transformation mode, at least one candidate transformation mode may be implicitly determined based on at least one piece of information (hereinafter, referred to as β€œadditional information”) from among current frame information, slice information, partitioning information of a current block, a size of a current block, a shape of a current block, prediction mode information of a parent block including the current block, a size of a parent block, a shape of a parent block, prediction mode information of a parent block, transformation mode information of a neighboring block of the current block, a maximum value of a transformation coefficient included in the current block, and a position of the last non-zero transformation coefficient of the current block according to a predetermined scanning order. For example, based on at least one of the aforementioned additional information, at least one of the 14 candidate transformation modes, as illustrated in FIG. 5, may be derived to configure the candidate transformation mode of the current transformation block. The video encoder (100) and the video decoder (200) may derive candidate transformation modes applicable to the current block based on the additional information in the same manner.

λ˜ν•œ, λ³Έ κ°œμ‹œμ˜ 일 μ‹€μ‹œμ˜ˆμ— λ”°λ₯Έ 후보 λ³€ν™˜ λͺ¨λ“œλŠ” μ‹œν€€μŠ€ λ‹¨μœ„, GOPλ‹¨μœ„, Picture λ‹¨μœ„, Slice λ‹¨μœ„, Tile λ‹¨μœ„, CTUλ‹¨μœ„, CUλ‹¨μœ„, TUλ‹¨μœ„λ‘œ μž„μ˜μ μœΌλ‘œ 섀정될 수 μžˆλ‹€. λΉ„λ””μ˜€ 인코더(100) 및 λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ 블둝에 μ μš©κ°€λŠ₯ν•œ 후보 λ³€ν™˜ λͺ¨λ“œλ₯Ό μž„μ˜μ μœΌλ‘œ κ²°μ •ν•˜κ³ , κ²°μ •λœ 후보 λ³€ν™˜ λͺ¨λ“œλ₯Ό μ΄μš©ν•˜μ—¬ ν˜„μž¬ 블둝에 λŒ€ν•œ λ³€ν™˜ 처리λ₯Ό μˆ˜ν–‰ν•  수 μžˆλ‹€. λ˜ν•œ, λΉ„λ””μ˜€ 인코더(100) 및 λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ 블둝에 μ μš©κ°€λŠ₯ν•œ 후보 λ³€ν™˜ λͺ¨λ“œλ₯Ό 사전에 미리 λ™μΌν•˜κ²Œ μ„€μ •ν•˜κ³ , 사전에 μ„€μ •λœ 후보 λ³€ν™˜ λͺ¨λ“œλ₯Ό μ΄μš©ν•˜μ—¬ ν˜„μž¬ 블둝에 λŒ€ν•œ λ³€ν™˜ 처리λ₯Ό μˆ˜ν–‰ν•  수 μžˆλ‹€. In addition, the candidate transformation mode according to one embodiment of the present disclosure can be arbitrarily set in units of sequence, GOP, Picture, Slice, Tile, CTU, CU, and TU. The video encoder (100) and the video decoder (200) can arbitrarily determine a candidate transformation mode applicable to the current block and perform transformation processing on the current block using the determined candidate transformation mode. In addition, the video encoder (100) and the video decoder (200) can set the candidate transformation modes applicable to the current block to be identical in advance and perform transformation processing on the current block using the candidate transformation mode set in advance.

μ΄ν•˜, ν˜„μž¬ 블둝에 μ μš©κ°€λŠ₯ν•œ 후보 λ³€ν™˜ λͺ¨λ“œλ₯Ό μ„€μ •ν•˜λŠ” 방식에 λŒ€ν•œ μ‹€μ‹œμ˜ˆλ“€μ— λŒ€ν•˜μ—¬ μ„€λͺ…ν•œλ‹€.Below, embodiments of a method for setting a candidate transformation mode applicable to the current block are described.

ν˜„μž¬ 블둝이 μ†ν•œ ν”„λ ˆμž„μ˜ μœ ν˜•μ΄λ‚˜ 슬라이슀 μœ ν˜•μ— λ”°λΌμ„œ 예츑 방식이 차이가 μžˆμœΌλ―€λ‘œ λ³€ν™˜ νŠΉμ„±μ΄ λ‹¬λΌμ§ˆ 수 μžˆλ‹€. λ”°λΌμ„œ, 일 μ‹€μ‹œμ˜ˆμ— μžˆμ–΄μ„œ, I ν”„λ ˆμž„μ΄λ‚˜ I μŠ¬λΌμ΄μŠ€μ— μ†ν•œ ν˜„μž¬ λΈ”λ‘μ—λŠ” μ „μˆ ν•œ 도 5에 μ˜ˆμ‹œλœ 14개의 후보 λ³€ν™˜ λͺ¨λ“œλ“€ λͺ¨λ‘κ°€ ν˜„μž¬ 블둝에 μ μš©κ°€λŠ₯ν•œ 후보 λ³€ν™˜ λͺ¨λ“œλ‘œ κ΅¬μ„±λ˜κ³ , P/B ν”„λ ˆμž„μ΄λ‚˜ P/B μŠ¬λΌμ΄μŠ€μ— μ†ν•œ ν˜„μž¬ λΈ”λ‘μ—λŠ” 도 5에 μ˜ˆμ‹œλœ 14개의 후보 λ³€ν™˜ λͺ¨λ“œλ“€ 쀑 μΌλΆ€λ§Œμ΄ ν˜„μž¬ 블둝에 μ μš©κ°€λŠ₯ν•œ 후보 λ³€ν™˜ λͺ¨λ“œλ‘œ ꡬ성될 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, I-ν”„λ ˆμž„(I-슬라이슀)에 μ†ν•œ ν˜„μž¬ λΈ”λ‘μ—λŠ” 도 5의 14개의 후보 λ³€ν™˜ λͺ¨λ“œλ₯Ό ν¬ν•¨ν•˜λŠ” 후보 λ³€ν™˜ λͺ¨λ“œκ°€ κ΅¬μ„±λ˜κ³ , P/B-ν”„λ ˆμž„(P/B-슬라이슀)에 μ†ν•œ ν˜„μž¬ λΈ”λ‘μ—λŠ” 1, 2, 3, 4, 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 504, 508, 509, 510, 514)κ°€ 후보 λ³€ν™˜ λͺ¨λ“œλ‘œ ꡬ성될 수 μžˆλ‹€. 이에 ν•œμ •λ˜μ§€ μ•Šκ³ , ν”„λ ˆμž„μ΄λ‚˜ 슬라이슀 μœ ν˜• 정보에 κΈ°μ΄ˆν•˜μ—¬ ν˜„μž¬ 블둝에 μ μš©κ°€λŠ₯ν•œ 후보 λ³€ν™˜ λͺ¨λ“œμ— ν¬ν•¨λ˜λŠ” λ³€ν™˜ λͺ¨λ“œλŠ” 변경될 수 μžˆλ‹€.Since the prediction method may differ depending on the type of frame or slice to which the current block belongs, the transformation characteristics may vary. Therefore, in one embodiment, the current block belonging to an I-frame or an I-slice may be configured with all of the 14 candidate transformation modes exemplified in FIG. 5 as candidate transformation modes applicable to the current block, and the current block belonging to a P/B frame or a P/B slice may be configured with only some of the 14 candidate transformation modes exemplified in FIG. 5 as candidate transformation modes applicable to the current block. For example, the current block belonging to an I-frame (I-slice) may be configured with candidate transformation modes including the 14 candidate transformation modes of FIG. 5, and the current block belonging to a P/B-frame (P/B-slice) may be configured with transformation modes 1, 2, 3, 4, 8, 9, 10, and 14 (501, 502, 503, 504, 508, 509, 510, and 514) as candidate transformation modes. Without being limited thereto, the transformation modes included in the candidate transformation modes applicable to the current block may be changed based on frame or slice type information.

일 μ‹€μ‹œμ˜ˆμ— μžˆμ–΄μ„œ, ν˜„μž¬ λΈ”λ‘μ˜ 예츑 λͺ¨λ“œ 정보에 κΈ°μ΄ˆν•˜μ—¬, ν˜„μž¬ 블둝에 μ μš©κ°€λŠ₯ν•œ 후보 λ³€ν™˜ λͺ¨λ“œκ°€ μ μ‘μ μœΌλ‘œ ꡬ성될 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, 인트라 예츑된 ν˜„μž¬ λΈ”λ‘μ—λŠ” 도 5의 14개의 후보 λ³€ν™˜ λͺ¨λ“œλ“€ 쀑 1, 2, 3, 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 508, 509, 514)둜 κ΅¬μ„±λ˜κ³ , 인터 예츑된 ν˜„μž¬ λΈ”λ‘μ—λŠ” 1, 2, 3, 4, 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 504, 508, 509, 510, 514)κ°€ 후보 λ³€ν™˜ λͺ¨λ“œλ‘œ ꡬ성될 수 μžˆλ‹€. 이에 ν•œμ •λ˜μ§€ μ•Šκ³ , 예츑 λͺ¨λ“œμ— κΈ°μ΄ˆν•˜μ—¬ ν˜„μž¬ 블둝에 μ μš©κ°€λŠ₯ν•œ 후보 λ³€ν™˜ λͺ¨λ“œμ— ν¬ν•¨λ˜λŠ” λ³€ν™˜ λͺ¨λ“œλŠ” 변경될 수 μžˆλ‹€.In one embodiment, candidate transformation modes applicable to the current block may be adaptively configured based on prediction mode information of the current block. For example, the intra-predicted current block may be configured with transformation modes 1, 2, 3, 8, 9, and 14 (501, 502, 503, 508, 509, and 514) among the 14 candidate transformation modes of FIG. 5, and the inter-predicted current block may be configured with transformation modes 1, 2, 3, 4, 8, 9, 10, and 14 (501, 502, 503, 504, 508, 509, 510, and 514) as candidate transformation modes. However, the present invention is not limited thereto, and the transformation modes included in the candidate transformation modes applicable to the current block may be changed based on the prediction mode.

일 μ‹€μ‹œμ˜ˆμ— μžˆμ–΄μ„œ, ν˜„μž¬ λΈ”λ‘μ˜ 크기 정보에 κΈ°μ΄ˆν•˜μ—¬, ν˜„μž¬ λΈ”λ‘μ˜ 크기가 μ†Œμ • 크기λ₯Ό μ΄ˆκ³Όν•˜λŠ” κ²½μš°μ—λŠ” 도 5에 μ˜ˆμ‹œλœ 14개의 후보 λ³€ν™˜ λͺ¨λ“œλ“€ 쀑 μΌλΆ€λ§Œμ„ ν˜„μž¬ 블둝에 μ μš©κ°€λŠ₯ν•œ 후보 λ³€ν™˜ λͺ¨λ“œλ‘œ κ΅¬μ„±λ˜κ³ , ν˜„μž¬ λΈ”λ‘μ˜ 크기가 μ†Œμ • 크기λ₯Ό μ΄ν•˜μΈ κ²½μš°μ—λŠ” 도 5에 μ˜ˆμ‹œλœ 14개의 후보 λ³€ν™˜ λͺ¨λ“œλ“€ 쀑 μΌλΆ€λ§Œμ„ ν˜„μž¬ 블둝에 μ μš©κ°€λŠ₯ν•œ 후보 λ³€ν™˜ λͺ¨λ“œλ‘œ ꡬ성될 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, ν˜„μž¬ 블둝이 32x32λ₯Ό μ΄ˆκ³Όν•˜λŠ” 경우(폭과 높이가 λͺ¨λ‘ 32λ₯Ό μ΄ˆκ³Όν•˜λŠ” 경우) 1, 2, 3, 4, 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 504, 508, 509, 510, 514)κ°€ 후보 λ³€ν™˜ λͺ¨λ“œλ‘œ κ΅¬μ„±λ˜κ³ , ν˜„μž¬ 블둝이 32x32 μ΄ν•˜μΈ 경우(폭과 높이가 λͺ¨λ‘ 32 μ΄ν•˜μΈ 경우) 14개의 λͺ¨λ“œλ₯Ό λͺ¨λ‘ μ§€μ›ν•˜λ„λ‘ μ„€μ •ν•  수 μžˆλ‹€. 또 λ‹€λ₯Έ μ˜ˆλ‘œμ„œ, ν˜„μž¬ λΈ”λ‘μ˜ 크기 λŒ€μ‹ μ— ν˜„μž¬ λΈ”λ‘μ˜ 폭과 높이 쀑 μ΅œλŒ€κ°’ λ˜λŠ” μ΅œμ†Œκ°’κ³Ό μ†Œμ • μž„κ³„ 길이의 비ꡐ 결과에 κΈ°μ΄ˆν•˜μ—¬ ν˜„μž¬ 블둝에 μ μš©κ°€λŠ₯ν•œ 후보 λ³€ν™˜ λͺ¨λ“œκ°€ μ μ‘μ μœΌλ‘œ ꡬ성될 μˆ˜λ„ μžˆλ‹€.In one embodiment, based on the size information of the current block, if the size of the current block exceeds a predetermined size, only some of the 14 candidate transformation modes illustrated in FIG. 5 may be configured as candidate transformation modes applicable to the current block, and if the size of the current block is less than or equal to the predetermined size, only some of the 14 candidate transformation modes illustrated in FIG. 5 may be configured as candidate transformation modes applicable to the current block. For example, if the current block exceeds 32x32 (both the width and the height exceed 32), transformation modes 1, 2, 3, 4, 8, 9, 10, and 14 (501, 502, 503, 504, 508, 509, 510, and 514) may be configured as candidate transformation modes, and if the current block is less than or equal to 32x32 (both the width and the height are less than or equal to 32), all 14 modes may be set to be supported. As another example, the candidate transformation modes applicable to the current block may be adaptively configured based on the result of comparing the maximum or minimum of the width and height of the current block with a predetermined threshold length instead of the size of the current block.

일 μ‹€μ‹œμ˜ˆμ— μžˆμ–΄μ„œ, ν˜„μž¬ λΈ”λ‘μ˜ λͺ¨μ–‘에 κΈ°μ΄ˆν•˜μ—¬, ν˜„μž¬ 블둝에 μ μš©κ°€λŠ₯ν•œ 후보 λ³€ν™˜ λͺ¨λ“œκ°€ μ μ‘μ μœΌλ‘œ ꡬ성될 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, ν˜„μž¬ λΈ”λ‘μ˜ 폭(width)이 높이(height)보닀 μ†Œμ • 배율 이상 클 경우, 수직 λ°©ν–₯으둜 λΆ„ν• λ˜λŠ” λ³€ν™˜ 블둝 νƒ€μž…μ΄ 선택될 κ°€λŠ₯성이 λ†’λ‹€. 이와 같이, ν˜„μž¬ λΈ”λ‘μ˜ 폭과 높이 쀑 μ–΄λŠ ν•œ λ³€μ˜ 길이가 λ‹€λ₯Έ ν•œ λ³€μ˜ 길이보닀 μ†Œμ • 배율 이상 큰 경우, μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  λ˜λŠ” 수직 λ°©ν–₯ λΆ„ν•  쀑 더 μ ν•©ν•œ ν˜•νƒœμ˜ λ³€ν™˜ 블둝을 μ§€μ›ν•˜λŠ” λ³€ν™˜ λͺ¨λ“œκ°€ 후보 λ³€ν™˜ λͺ¨λ“œμ— 포함될 수 μžˆλ‹€. 즉, ν˜„μž¬ λΈ”λ‘μ˜ 폭이 높이보닀 μ†Œμ • 배율 이상 큰 경우 ν˜„μž¬ 블둝을 수직 λ°©ν–₯으둜 λΆ„ν• ν•˜λŠ” λ³€ν™˜ 블둝을 μ§€μ›ν•˜λŠ” λ³€ν™˜ λͺ¨λ“œκ°€ ν¬ν•¨λ˜λ„λ‘ 후보 λ³€ν™˜ λͺ¨λ‘κ°€ κ΅¬μ„±λ˜λ©°, ν˜„μž¬ λΈ”λ‘μ˜ 높이가 폭 보닀 μ†Œμ • 배율 이상 큰 경우 ν˜„μž¬ 블둝을 μˆ˜ν‰ λ°©ν–₯으둜 λΆ„ν• ν•˜λŠ” λ³€ν™˜ 블둝을 μ§€μ›ν•˜λŠ” λ³€ν™˜ λͺ¨λ“œκ°€ ν¬ν•¨λ˜λ„λ‘ 후보 λ³€ν™˜ λͺ¨λ‘κ°€ ꡬ성될 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, ν˜„μž¬ λΈ”λ‘μ˜ 폭이 높이보닀 2λ°° 이상 클 경우, 수직 λ°©ν–₯ 뢄할에 μ ν•©ν•œ 후보 λ³€ν™˜ λͺ¨λ“œλ“€μ„ μ€‘μ‹¬μœΌλ‘œ 후보 λ³€ν™˜ λͺ¨λ“œκ°€ κ΅¬μ„±λ˜μ–΄, 1, 8, 9, 10, 11, 12, 13, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 508, 509, 510, 511, 512, 513, 514)듀이 ν˜„μž¬ 블둝에 μ μš©κ°€λŠ₯ν•œ 후보 λ³€ν™˜ λͺ¨λ“œλ“€λ‘œ κ΅¬μ„±λ˜κ³ , ν˜„μž¬ λΈ”λ‘μ˜ 높이가 폭보닀 2λ°° 이상 클 경우, μˆ˜ν‰ λ°©ν–₯ 뢄할에 μ ν•©ν•œ 후보 λ³€ν™˜ λͺ¨λ“œλ“€μ„ μ€‘μ‹¬μœΌλ‘œ 후보 λ³€ν™˜ λͺ¨λ“œκ°€ κ΅¬μ„±λ˜μ–΄, 1, 2, 3, 4, 5, 6, 7, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 504, 505, 506, 507, 514)듀이 ν˜„μž¬ 블둝에 μ μš©κ°€λŠ₯ν•œ 후보 λ³€ν™˜ λͺ¨λ“œλ“€λ‘œ ꡬ성될 수 μžˆλ‹€. 1, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 514)λŠ” λ””ν΄νŠΈ λ³€ν™˜ λͺ¨λ“œλ‘œ 후보 λ³€ν™˜ λͺ¨λ“œμ— 기본적으둜 포함될 수 μžˆλ‹€. 이에 ν•œμ •λ˜μ§€ μ•Šκ³ , ν˜„μž¬ λΈ”λ‘μ˜ 폭과 높이에 κΈ°μ΄ˆν•˜μ—¬ ν˜„μž¬ 블둝에 μ μš©κ°€λŠ₯ν•œ 후보 λ³€ν™˜ λͺ¨λ“œμ— ν¬ν•¨λ˜λŠ” λ³€ν™˜ λͺ¨λ“œλŠ” 변경될 수 μžˆλ‹€.In one embodiment, candidate transformation modes applicable to the current block may be adaptively configured based on the shape of the current block. For example, if the width of the current block is greater than the height by a predetermined factor or more, a transformation block type that is vertically divided is likely to be selected. In this way, if the length of one side of the width and the height of the current block is greater than the length of the other side by a predetermined factor or more, a transformation mode that supports a more suitable form of transformation block among horizontal division or vertical division may be included in the candidate transformation modes. That is, all candidate transformations may be configured to include a transformation mode that supports a transformation block that vertically divides the current block when the width of the current block is greater than the height by a predetermined factor or more, and all candidate transformations may be configured to include a transformation mode that supports a transformation block that horizontally divides the current block when the height of the current block is greater than the width by a predetermined factor or more. For example, if the width of the current block is more than twice the height, candidate transformation modes are configured around candidate transformation modes suitable for vertical division, so that transformation modes 1, 8, 9, 10, 11, 12, 13, and 14 (501, 508, 509, 510, 511, 512, 513, and 514) are configured as candidate transformation modes applicable to the current block, and if the height of the current block is more than twice the width, candidate transformation modes are configured around candidate transformation modes suitable for horizontal division, so that transformation modes 1, 2, 3, 4, 5, 6, 7, and 14 (501, 502, 503, 504, 505, 506, 507, and 514) are configured as candidate transformation modes applicable to the current block. Conversion modes 1 and 14 (501, 514) may be included as default conversion modes in the candidate conversion modes. However, the conversion modes included in the candidate conversion modes applicable to the current block may be changed based on the width and height of the current block.

일 μ‹€μ‹œμ˜ˆμ— μžˆμ–΄μ„œ, ν˜„μž¬ 블둝이 μ†ν•œ λΆ€λͺ¨ λΈ”λ‘μ˜ λΆ„ν•  정보에 κΈ°μ΄ˆν•˜μ—¬ ν˜„μž¬ 블둝에 μ μš©κ°€λŠ₯ν•œ 후보 λ³€ν™˜ λͺ¨λ“œκ°€ 결정될 수 μžˆλ‹€. μ „μˆ ν•œ 도 3a 및 도 3b에 μ˜ˆμ‹œλœ 바와 같이, 더 이상 λΆ„ν• λ˜μ§€ μ•ŠλŠ” CU인 ν˜„μž¬ 블둝이 μ†ν•œ μƒμœ„ μ‹¬λ„μ˜ λΆ€λͺ¨ λΈ”λ‘μ˜ λΆ„ν•  정보에 κΈ°μ΄ˆν•˜μ—¬ ν˜„μž¬ 블둝에 μ μš©κ°€λŠ₯ν•œ 후보 λ³€ν™˜ λͺ¨λ“œκ°€ 결정될 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, λΆ€λͺ¨ 블둝이 수직 λ°©ν–₯으둜 λΆ„ν• λ˜μ—ˆμ„ 경우, 수직 λ°©ν–₯ 뢄할에 μ ν•©ν•œ 후보 λ³€ν™˜ λͺ¨λ“œλ“€μ„ μ€‘μ‹¬μœΌλ‘œ 후보 λ³€ν™˜ λͺ¨λ“œκ°€ κ΅¬μ„±λ˜μ–΄, 1, 8, 9, 10, 11, 12, 13, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 508, 509, 510, 511, 512, 513, 514)듀이 ν˜„μž¬ 블둝에 μ μš©κ°€λŠ₯ν•œ 후보 λ³€ν™˜ λͺ¨λ“œλ“€λ‘œ κ΅¬μ„±λ˜κ³ , λΆ€λͺ¨ 블둝이 μˆ˜ν‰ λ°©ν–₯으둜 λΆ„ν• λ˜μ—ˆμ„ 경우, μˆ˜ν‰ λ°©ν–₯ 뢄할에 μ ν•©ν•œ 후보 λ³€ν™˜ λͺ¨λ“œλ“€μ„ μ€‘μ‹¬μœΌλ‘œ 후보 λ³€ν™˜ λͺ¨λ“œκ°€ κ΅¬μ„±λ˜μ–΄, 1, 2, 3, 4, 5, 6, 7, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 504, 505, 506, 507, 514)듀이 ν˜„μž¬ 블둝에 μ μš©κ°€λŠ₯ν•œ 후보 λ³€ν™˜ λͺ¨λ“œλ“€λ‘œ ꡬ성될 수 μžˆλ‹€. 이에 ν•œμ •λ˜μ§€ μ•Šκ³ , ν˜„μž¬ 블둝이 μ†ν•œ λΆ€λͺ¨ λΈ”λ‘μ˜ λΆ„ν•  정보에 κΈ°μ΄ˆν•˜μ—¬ ν˜„μž¬ 블둝에 μ μš©κ°€λŠ₯ν•œ 후보 λ³€ν™˜ λͺ¨λ“œμ— ν¬ν•¨λ˜λŠ” λ³€ν™˜ λͺ¨λ“œλŠ” 변경될 수 μžˆλ‹€.In one embodiment, a candidate transformation mode applicable to the current block may be determined based on the segmentation information of the parent block to which the current block belongs. As illustrated in FIGS. 3A and 3B described above, a candidate transformation mode applicable to the current block may be determined based on the segmentation information of the parent block of a higher depth to which the current block belongs, which is a CU that is no longer segmented. For example, if the parent block is split in the vertical direction, the candidate transformation modes are configured around candidate transformation modes suitable for vertical division, so that transformation modes 1, 8, 9, 10, 11, 12, 13, and 14 (501, 508, 509, 510, 511, 512, 513, and 514) are configured as candidate transformation modes applicable to the current block, and if the parent block is split in the horizontal direction, the candidate transformation modes are configured around candidate transformation modes suitable for horizontal division, so that transformation modes 1, 2, 3, 4, 5, 6, 7, and 14 (501, 502, 503, 504, 505, 506, 507, and 514) are configured as candidate transformation modes applicable to the current block. Without being limited thereto, the transformation mode included in the candidate transformation modes applicable to the current block may be changed based on the partitioning information of the parent block to which the current block belongs.

일 μ‹€μ‹œμ˜ˆμ— μžˆμ–΄μ„œ, ν˜„μž¬ λΈ”λ‘μ˜ μ£Όλ³€ 블둝에 적용된 λ³€ν™˜ λͺ¨λ“œ 정보에 κΈ°μ΄ˆν•˜μ—¬ ν˜„μž¬ 블둝에 μ μš©κ°€λŠ₯ν•œ 후보 λ³€ν™˜ λͺ¨λ“œκ°€ 결정될 수 μžˆλ‹€. μ£Όλ³€ λΈ”λ‘μœΌλ‘œμ„œ, ν˜„μž¬ λΈ”λ‘μ˜ 쒌츑, 상츑, μš°μƒμΈ‘, μ’Œν•˜μΈ‘ μœ„μΉ˜μ˜ μ£Όλ³€ 블둝듀 쀑 적어도 ν•˜λ‚˜μ˜ μœ„μΉ˜μ˜ μ£Όλ³€ λΈ”λ‘λ“€μ˜ λ³€ν™˜ λͺ¨λ“œ 정보에 κΈ°μ΄ˆν•˜μ—¬ 후보 λ³€ν™˜ λͺ¨λ“œκ°€ 결정될 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, ν˜„μž¬ λΈ”λ‘μ˜ 쒌츑과 상츑에 μœ„μΉ˜ν•˜λŠ” λΈ”λ‘μ—μ„œ 수직으둜 λΆ„ν• λ˜λŠ” λͺ¨λ“œκ°€ 주둜 ν™œμš©λ˜μ—ˆμ„ 경우 수직 λ°©ν–₯ 뢄할에 μ ν•©ν•œ λͺ¨λ“œλ₯Ό μœ„μ£Όλ‘œ 후보 λ³€ν™˜ λͺ¨λ“œκ°€ κ΅¬μ„±λ˜μ–΄ 1, 8, 9, 10, 11, 12, 13, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 508, 509, 510, 511, 512, 513, 514)듀이 ν˜„μž¬ 블둝에 μ μš©κ°€λŠ₯ν•œ 후보 λ³€ν™˜ λͺ¨λ“œλ“€λ‘œ κ΅¬μ„±λ˜κ³ , ν˜„μž¬ λΈ”λ‘μ˜ 쒌츑과 상츑에 μœ„μΉ˜ν•˜λŠ” λΈ”λ‘μ—μ„œ μˆ˜ν‰μœΌλ‘œ λΆ„ν• λ˜λŠ” λͺ¨λ“œκ°€ 주둜 ν™œμš©λ˜μ—ˆμ„ 경우 μˆ˜ν‰ λ°©ν–₯ 뢄할에 μ ν•©ν•œ λͺ¨λ“œλ₯Ό μœ„μ£Όλ‘œ 후보 λ³€ν™˜ λͺ¨λ“œκ°€ κ΅¬μ„±λ˜μ–΄ 1, 2, 3, 4, 5, 6, 7, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 504, 505, 506, 507, 514)듀이 ν˜„μž¬ 블둝에 μ μš©κ°€λŠ₯ν•œ 후보 λ³€ν™˜ λͺ¨λ“œλ“€λ‘œ ꡬ성될 수 μžˆλ‹€. 이에 ν•œμ •λ˜μ§€ μ•Šκ³ , ν˜„μž¬ λΈ”λ‘μ˜ μ£Όλ³€ 블둝에 적용된 λ³€ν™˜ λͺ¨λ“œ 정보에 κΈ°μ΄ˆν•˜μ—¬ ν˜„μž¬ 블둝에 μ μš©κ°€λŠ₯ν•œ 후보 λ³€ν™˜ λͺ¨λ“œμ— ν¬ν•¨λ˜λŠ” λ³€ν™˜ λͺ¨λ“œλŠ” 변경될 수 μžˆλ‹€.In one embodiment, a candidate transformation mode applicable to the current block may be determined based on transformation mode information applied to neighboring blocks of the current block. As neighboring blocks, the candidate transformation mode may be determined based on transformation mode information of at least one neighboring block among neighboring blocks located to the left, above, upper right, and lower left of the current block. For example, if a mode that vertically divides blocks located on the left and upper sides of the current block is mainly utilized, candidate transformation modes are configured mainly with modes suitable for vertical division, so that transformation modes 1, 8, 9, 10, 11, 12, 13, and 14 (501, 508, 509, 510, 511, 512, 513, and 514) are configured as candidate transformation modes applicable to the current block, and if a mode that horizontally divides blocks located on the left and upper sides of the current block is mainly utilized, candidate transformation modes are configured mainly with modes suitable for horizontal division, so that transformation modes 1, 2, 3, 4, 5, 6, 7, and 14 (501, 502, 503, 504, 505, 506, 507, and 514) are configured as candidate transformation modes applicable to the current block. Without being limited thereto, the transformation mode included in the candidate transformation modes applicable to the current block may be changed based on the transformation mode information applied to the surrounding blocks of the current block.

일 μ‹€μ‹œμ˜ˆμ— μžˆμ–΄μ„œ, ν˜„μž¬ λΈ”λ‘μ˜ μ—­λ³€ν™˜μ— μ΄μš©κ°€λŠ₯ν•œ 적어도 ν•˜λ‚˜μ˜ 후보 λ³€ν™˜ λͺ¨λ“œλŠ” μ‹œν€€μŠ€, GOP, 픽쳐, 슬라이슀, CTU, CU, TU λ‹¨μœ„ 쀑 적어도 ν•˜λ‚˜μ˜ λ‹¨μœ„ λ³„λ‘œ μ‹œκ·Έλ„λ§λ˜λŠ” λ³€ν™˜ λͺ¨λ“œ 지원 정보에 κΈ°μ΄ˆν•˜μ—¬ λͺ…μ‹œμ μœΌλ‘œ(explicitly) 결정될 수 μžˆλ‹€. λΉ„λ””μ˜€ 인코더(100)λŠ” μ‹œν€€μŠ€, GOP, 픽쳐, 슬라이슀, CTU, CU, TU λ‹¨μœ„ 쀑 적어도 ν•˜λ‚˜μ˜ λ‹¨μœ„ λ³„λ‘œ SPS(Sequence Parameter Set), PPS(Picture Parameter Set), APS(Adaptive Parameter Set), 슬라이슀 헀더, CTU, CU, TU μ‹ νƒμŠ€ 쀑 적어도 ν•˜λ‚˜μ˜ λ‹¨μœ„ λ³„λ‘œ λ³€ν™˜ λͺ¨λ“œ 지원 정보λ₯Ό ν¬ν•¨μ‹œμΌœ μ „μ†‘ν•˜κ³ , λΉ„λ””μ˜€ 디코더(200)λŠ” ν•΄λ‹Ή λ³€ν™˜ λͺ¨λ“œ 지원 μ •λ³΄λ‘œλΆ€ν„° λ‹¨μœ„ λ³„λ‘œ μ§€μ›λ˜λŠ” 후보 λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•  수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, μ‹œν€€μŠ€ λ‹¨μœ„λ‘œ λ³€ν™˜ λͺ¨λ“œλ₯Ό μ μ‘μ μœΌλ‘œ μ„€μ •ν•˜λŠ” 경우, λΉ„λ””μ˜€ 인코더(100)λŠ” SPS에 λ³€ν™˜ λͺ¨λ“œ 지원 정보λ₯Ό ν¬ν•¨μ‹œν‚€κ³ , λΉ„λ””μ˜€ 디코더(200)λŠ” ν•΄λ‹Ή λ³€ν™˜ λͺ¨λ“œ 지원 μ •λ³΄λ‘œλΆ€ν„° μ‹œν€€μŠ€ λ‹¨μœ„λ‘œ μ§€μ›λ˜λŠ” 후보 λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•  수 μžˆλ‹€.In one embodiment, at least one candidate transformation mode available for inverse transformation of a current block can be explicitly determined based on transformation mode support information signaled for at least one unit among a sequence, a GOP, a picture, a slice, a CTU, a CU, and a TU unit. The video encoder (100) includes transformation mode support information for at least one unit among a sequence parameter set (SPS), a picture parameter set (PPS), an adaptive parameter set (APS), a slice header, a CTU, a CU, and a TU syntax and transmits the transformation mode support information for at least one unit among a sequence, a GOP, a picture, a slice, a CTU, a CU, and a TU unit, and the video decoder (200) can determine a candidate transformation mode supported for each unit from the corresponding transformation mode support information. For example, in case of adaptively setting a transformation mode for each sequence unit, the video encoder (100) includes transformation mode support information in an SPS, and the video decoder (200) can determine a candidate transformation mode supported for each sequence unit from the corresponding transformation mode support information.

μœ μ‚¬ν•˜κ²Œ, 슬라이슀, CTU, CU, TU λ“±μ˜ 블둝 λ‹¨μœ„λ‘œ λ³€ν™˜ λͺ¨λ“œλ₯Ό μ μ‘μ μœΌλ‘œ μ„€μ •ν•˜λŠ” 경우, λΉ„λ””μ˜€ 인코더(100)λŠ” SPS에 λ³€ν™˜ λͺ¨λ“œ 지원 정보λ₯Ό ν¬ν•¨μ‹œν‚€κ³ , λΉ„λ””μ˜€ 디코더(200)λŠ” ν•΄λ‹Ή λ³€ν™˜ λͺ¨λ“œ 지원 μ •λ³΄λ‘œλΆ€ν„° 슬라이슀, CTU, CU, TU λ“±μ˜ 블둝 λ‹¨μœ„ λ³„λ‘œ μ§€μ›λ˜λŠ” 후보 λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•  수 μžˆλ‹€.Similarly, when adaptively setting the transformation mode in block units such as slices, CTUs, CUs, and TUs, the video encoder (100) includes transformation mode support information in the SPS, and the video decoder (200) can determine a candidate transformation mode supported for each block unit such as slices, CTUs, CUs, and TUs from the transformation mode support information.

λ³Έ κ°œμ‹œμ˜ 일 μ‹€μ‹œμ˜ˆμ— λ”°λ₯Έ 적어도 ν•˜λ‚˜μ˜ 후보 λ³€ν™˜ λͺ¨λ“œλŠ” ν˜„μž¬ ν”„λ ˆμž„ 정보, 슬라이슀 정보, ν˜„μž¬ λΈ”λ‘μ˜ νŒŒν‹°μ…”λ‹ 정보, ν˜„μž¬ λΈ”λ‘μ˜ 크기, ν˜„μž¬ λΈ”λ‘μ˜ λͺ¨μ–‘, ν˜„μž¬ λΈ”λ‘μ˜ 예츑 λͺ¨λ“œ 정보, ν˜„μž¬ 블둝이 ν¬ν•¨λœ λΆ€λͺ¨ λΈ”λ‘μ˜ νŒŒν‹°μ…”λ‹ 정보, λΆ€λͺ¨ λΈ”λ‘μ˜ 크기, λΆ€λͺ¨ λΈ”λ‘μ˜ λͺ¨μ–‘, λΆ€λͺ¨ λΈ”λ‘μ˜ 예츑 λͺ¨λ“œ 정보, 상기 ν˜„μž¬ λΈ”λ‘μ˜ μ£Όλ³€ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œ 정보, ν˜„μž¬ 블둝에 ν¬ν•¨λœ λ³€ν™˜ κ³„μˆ˜μ˜ μ΅œλŒ€κ°’, μ†Œμ • μŠ€μΊλ‹ μˆœμ„œμ— λ”°λ₯Έ ν˜„μž¬ λΈ”λ‘μ˜ λ§ˆμ§€λ§‰ 0이 μ•„λ‹Œ(non-zero) λ³€ν™˜ κ³„μˆ˜μ˜ μœ„μΉ˜ 쀑 적어도 ν•˜λ‚˜μ˜ 정보와 같은 λΆ€κ°€ 정보에 κΈ°μ΄ˆν•˜μ—¬ λͺ…μ‹œμ μœΌλ‘œ ꡬ성될 수 μžˆλ‹€. 즉, μ „μˆ ν•œ λΆ€κ°€ 정보 쀑 적어도 ν•˜λ‚˜μ— κΈ°μ΄ˆν•˜μ—¬ 후보 λ³€ν™˜ λͺ¨λ“œλ₯Ό ꡬ성할 것인지에 λŒ€ν•œ ν•˜λ‚˜ μ΄μƒμ˜ 정보가 λͺ…μ‹œμ μœΌλ‘œ SPS, PPS, APS, 슬라이슀 헀더, CTU, CU, TU μ‹ νƒμŠ€μ— 포함될 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, ν”„λ ˆμž„μ΄λ‚˜ 슬라이슀 μœ ν˜•λ³„λ‘œ 후보 λ³€ν™˜ λͺ¨λ“œλ₯Ό λ‹€λ₯΄κ²Œ κ΅¬μ„±ν•˜κ³ μž ν•˜λŠ” 경우, SPS, PPS, APS, 슬라이슀 헀더 쀑 적어도 ν•˜λ‚˜μ— ν”„λ ˆμž„μ΄λ‚˜ 슬라이슀 μœ ν˜• λ³„λ‘œ 후보 λ³€ν™˜ λͺ¨λ“œκ°€ λ‹€λ₯΄κ²Œ ꡬ성됨을 κ°€λ¦¬ν‚€λŠ” 정보가 λͺ…μ‹œμ μœΌλ‘œ 포함될 수 μžˆλ‹€. λ§Œμ•½, λΉ„λ””μ˜€ 인코더(100)λŠ” ν”„λ ˆμž„μ΄λ‚˜ 슬라이슀 μœ ν˜• λ³„λ‘œ 후보 λ³€ν™˜ λͺ¨λ“œκ°€ λ‹€λ₯΄κ²Œ κ΅¬μ„±λ˜λŠ” 경우, ν”„λ ˆμž„μ΄λ‚˜ 슬라이슀 μœ ν˜• λ³„λ‘œ 후보 λ³€ν™˜ λͺ¨λ“œκ°€ λ‹€λ₯΄κ²Œ ꡬ성됨을 κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦Όμ— ν¬ν•¨μ‹œμΌœ μ „μ†‘ν•˜κ³ , λΉ„λ””μ˜€ 디코더(200)λŠ” ν•΄λ‹Ή μ •λ³΄λ‘œλΆ€ν„° ν”„λ ˆμž„μ΄λ‚˜ 슬라이슀 μœ ν˜• λ³„λ‘œ 후보 λ³€ν™˜ λͺ¨λ“œκ°€ λ‹€λ₯΄κ²Œ κ΅¬μ„±λ˜λŠ”μ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•  수 μžˆλ‹€. λ§Œμ•½, λΉ„νŠΈμŠ€νŠΈλ¦Όμ— ν¬ν•¨λœ 정보가 ν”„λ ˆμž„μ΄λ‚˜ 슬라이슀 μœ ν˜• λ³„λ‘œ 후보 λ³€ν™˜ λͺ¨λ“œκ°€ λ‹€λ₯΄κ²Œ ꡬ성됨을 κ°€λ¦¬ν‚€λŠ” 경우, λΉ„λ””μ˜€ 디코더(200)λŠ” ν”„λ ˆμž„μ΄λ‚˜ 슬라이슀 μœ ν˜•λ³„λ‘œ 후보 λ³€ν™˜ λͺ¨λ“œλ₯Ό λ‹€λ₯΄κ²Œ ꡬ성할 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, λΉ„νŠΈμŠ€νŠΈλ¦Όμ— λͺ…μ‹œμ μœΌλ‘œ μ‹œκ·Έλ„λ§λ˜λŠ” 정보가 ν”„λ ˆμž„μ΄λ‚˜ 슬라이슀 μœ ν˜• λ³„λ‘œ 후보 λ³€ν™˜ λͺ¨λ“œκ°€ λ‹€λ₯΄κ²Œ ꡬ성됨을 κ°€λ¦¬ν‚€λŠ” 경우, λΉ„λ””μ˜€ 디코더(200)λŠ” I ν”„λ ˆμž„μ΄λ‚˜ I μŠ¬λΌμ΄μŠ€μ— μ†ν•œ ν˜„μž¬ λΈ”λ‘μ—λŠ” μ „μˆ ν•œ 도 5에 μ˜ˆμ‹œλœ 14개의 후보 λ³€ν™˜ λͺ¨λ“œλ“€ λͺ¨λ‘κ°€ ν˜„μž¬ 블둝에 μ μš©κ°€λŠ₯ν•œ 후보 λ³€ν™˜ λͺ¨λ“œλ‘œ κ΅¬μ„±ν•˜κ³ , P/B ν”„λ ˆμž„μ΄λ‚˜ P/B μŠ¬λΌμ΄μŠ€μ— μ†ν•œ ν˜„μž¬ λΈ”λ‘μ—λŠ” 도 5에 μ˜ˆμ‹œλœ 14개의 후보 λ³€ν™˜ λͺ¨λ“œλ“€ 쀑 μΌλΆ€λ§Œμ΄ ν˜„μž¬ 블둝에 μ μš©κ°€λŠ₯ν•œ 후보 λ³€ν™˜ λͺ¨λ“œλ‘œ ꡬ성할 수 μžˆλ‹€.According to one embodiment of the present disclosure, at least one candidate transformation mode may be explicitly configured based on additional information, such as at least one of current frame information, slice information, partitioning information of the current block, the size of the current block, the shape of the current block, prediction mode information of the current block, partitioning information of a parent block including the current block, the size of the parent block, the shape of the parent block, prediction mode information of the parent block, transformation mode information of a neighboring block of the current block, the maximum value of a transformation coefficient included in the current block, and the position of the last non-zero transformation coefficient of the current block according to a predetermined scanning order. That is, one or more pieces of information regarding whether to configure a candidate transformation mode based on at least one of the aforementioned additional information may be explicitly included in the SPS, PPS, APS, slice header, CTU, CU, and TU syntax. For example, in case it is desired to configure the candidate transformation mode differently for each frame or slice type, information indicating that the candidate transformation mode is configured differently for each frame or slice type may be explicitly included in at least one of the SPS, PPS, APS, and slice header. If the candidate transformation mode is configured differently for each frame or slice type, the video encoder (100) transmits information indicating that the candidate transformation mode is configured differently for each frame or slice type by including it in the bitstream, and the video decoder (200) can determine whether the candidate transformation mode is configured differently for each frame or slice type from the information. If the information included in the bitstream indicates that the candidate transformation mode is configured differently for each frame or slice type, the video decoder (200) can configure the candidate transformation mode differently for each frame or slice type. For example, if the information explicitly signaled in the bitstream indicates that the candidate transformation mode is configured differently for each frame or slice type, the video decoder (200) can configure all of the 14 candidate transformation modes illustrated in FIG. 5 as candidate transformation modes applicable to the current block in the current block belonging to the I frame or I slice, and configure only some of the 14 candidate transformation modes illustrated in FIG. 5 as candidate transformation modes applicable to the current block in the current block belonging to the P/B frame or P/B slice.

이와 같이, μ „μˆ ν•œ λΆ€κ°€ 정보 쀑 적어도 ν•˜λ‚˜μ— κΈ°μ΄ˆν•˜μ—¬ ν˜„μž¬ 블둝에 μ μš©λ˜λŠ” 후보 λ³€ν™˜ λͺ¨λ“œλ₯Ό μ μ‘μ μœΌλ‘œ ꡬ성할 μ§€ μ—¬λΆ€λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보가 SPS, PPS, APS, 슬라이슀 헀더, CTU, CU, TU μ‹ νƒμŠ€μ— 포함될 수 μžˆλ‹€.In this way, information indicating whether to adaptively configure a candidate transformation mode to be applied to the current block based on at least one of the aforementioned additional information may be included in the SPS, PPS, APS, slice header, CTU, CU, and TU syntax.

λ‹€λ₯Έ μ˜ˆλ‘œμ„œ, μ‹œν€€μŠ€, GOP, 픽쳐, 슬라이슀, CTU, CU, TU λ‹¨μœ„ 쀑 적어도 ν•˜λ‚˜μ˜ λ‹¨μœ„ λ³„λ‘œ SPS, PPS, APS, 슬라이슀 헀더, CTU, CU, TU μ‹ νƒμŠ€ 쀑 적어도 ν•˜λ‚˜μ˜ λ‹¨μœ„ λ³„λ‘œ μ§€μ›λ˜λŠ” 후보 λ³€ν™˜ λͺ¨λ“œ 정보가 λͺ…μ‹œμ μœΌλ‘œ μ‹œκ·Έλ„λ§λ  수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, λΉ„λ””μ˜€ 인코더(100)λŠ” μ „μˆ ν•œ 도 5의 후보 λ³€ν™˜ λͺ¨λ“œλ“€ 쀑 ν˜„μž¬ μ‹œν€€μŠ€ λ‹¨μœ„μ— 1, 2, 3, 4, 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 504, 508, 509, 510, 514)λ§Œμ„ 지원 λͺ¨λ“œλ‘œ μ„€μ •ν•˜λŠ” 경우, SPS에 ν˜„μž¬ μ‹œν€€μŠ€ λ‹¨μœ„μ— μ μš©λ˜λŠ” 후보 λ³€ν™˜ λͺ¨λ“œμΈ 1, 2, 3, 4, 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 504, 508, 509, 510, 514)λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό 포함할 수 μžˆλ‹€. μ†Œμ • 데이터 λ‹¨μœ„ λ³„λ‘œ μ μš©κ°€λŠ₯ν•œ 후보 λ³€ν™˜ λͺ¨λ“œλ“€μ˜ 쑰합듀은 사전에 ν…Œμ΄λΈ”μ˜ μ—˜λ¦¬λ¨ΌνŠΈλ‘œ μ„€μ •λ˜κ³ , 사전에 μ„€μ •λœ ν…Œμ΄λΈ”μ˜ μ—˜λ¦¬λ¨ΌνŠΈ 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 인덱슀 정보가 후보 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œμ„œ 이용될 수 μžˆλ‹€. 이와 같이, λΉ„λ””μ˜€ 인코더(100)λŠ” μ†Œμ • 데이터 λ‹¨μœ„ λ³„λ‘œ 후보 λ³€ν™˜ λͺ¨λ“œλ₯Ό μ„€μ •ν•˜κ³  μ„€μ •λœ 후보 λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦Όμ— ν¬ν•¨μ‹œν‚€λ©°, λΉ„λ””μ˜€ 디코더(200)λŠ” ν•΄λ‹Ή 후보 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œλΆ€ν„° ν˜„μž¬ 데이터 λ‹¨μœ„μ— μ μš©λ˜λŠ” 후보 λ³€ν™˜ λͺ¨λ“œλ₯Ό ꡬ성할 수 μžˆλ‹€.As another example, candidate transformation mode information supported for at least one unit among SPS, PPS, APS, slice header, CTU, CU, TU syntax may be explicitly signaled for at least one unit among sequence, GOP, picture, slice, CTU, CU, TU unit. For example, if the video encoder (100) sets only conversion modes 1, 2, 3, 4, 8, 9, 10, and 14 (501, 502, 503, 504, 508, 509, 510, and 514) among the candidate conversion modes of FIG. 5 described above as the support mode for the current sequence unit, the SPS may include information indicating conversion modes 1, 2, 3, 4, 8, 9, 10, and 14 (501, 502, 503, 504, 508, 509, 510, and 514) that are candidate conversion modes applied to the current sequence unit. Combinations of candidate conversion modes applicable to each predetermined data unit are set in advance as elements of a table, and index information indicating one of the elements of the pre-set table may be used as candidate conversion mode information. In this way, the video encoder (100) sets a candidate conversion mode for each predetermined data unit and includes information indicating the set candidate conversion mode in the bitstream, and the video decoder (200) can configure a candidate conversion mode to be applied to the current data unit from the candidate conversion mode information.

일 μ‹€μ‹œμ˜ˆμ— μžˆμ–΄μ„œ, ν˜„μž¬ λΈ”λ‘μ˜ μ—­λ³€ν™˜μ— μ΄μš©κ°€λŠ₯ν•œ 적어도 ν•˜λ‚˜μ˜ 후보 λ³€ν™˜ λͺ¨λ“œλŠ” μ „μˆ ν•œ λͺ…μ‹œμ  후보 λ³€ν™˜ λͺ¨λ“œ ꡬ성 방식 및 μ•”μ‹œμ μΈ 후보 λ³€ν™˜ λͺ¨λ“œ ꡬ성 방식을 μ‘°ν•©ν•˜μ—¬ ꡬ성될 수 μžˆλ‹€.In one embodiment, at least one candidate transformation mode available for the inverse transformation of the current block can be configured by combining the explicit candidate transformation mode configuration method and the implicit candidate transformation mode configuration method described above.

ꡬ체적으둜, μ‹œν€€μŠ€, GOP, 픽쳐, 슬라이슀, CTU, CU, TU λ‹¨μœ„ 쀑 적어도 ν•˜λ‚˜μ˜ λ‹¨μœ„ λ³„λ‘œ μ‹œκ·Έλ„λ§λ˜λŠ” λ³€ν™˜ λͺ¨λ“œ 지원 정보에 κΈ°μ΄ˆν•˜μ—¬ λͺ…μ‹œμ μœΌλ‘œ 후보 λ³€ν™˜ λͺ¨λ“œκ°€ κ²°μ •λ˜κ³ , λͺ…μ‹œμ μœΌλ‘œ κ²°μ •λœ 후보 λ³€ν™˜ λͺ¨λ“œλ“€ μ€‘μ—μ„œ λΆ€κ°€ 정보에 κΈ°μ΄ˆν•˜μ—¬ μ΅œμ’…μ μΈ 후보 λ³€ν™˜ λͺ¨λ“œκ°€ μœ λ„λ  수 μžˆλ‹€. μ—¬κΈ°μ„œ, λΆ€κ°€ μ •λ³΄λŠ” μ „μˆ ν•œ 바와 같이 ν˜„μž¬ ν”„λ ˆμž„ 정보, 슬라이슀 정보, ν˜„μž¬ λΈ”λ‘μ˜ νŒŒν‹°μ…”λ‹ 정보, ν˜„μž¬ λΈ”λ‘μ˜ 크기, ν˜„μž¬ λΈ”λ‘μ˜ λͺ¨μ–‘, ν˜„μž¬ λΈ”λ‘μ˜ 예츑 λͺ¨λ“œ 정보, ν˜„μž¬ 블둝이 ν¬ν•¨λœ λΆ€λͺ¨ λΈ”λ‘μ˜ νŒŒν‹°μ…”λ‹ 정보, λΆ€λͺ¨ λΈ”λ‘μ˜ 크기, λΆ€λͺ¨ λΈ”λ‘μ˜ λͺ¨μ–‘, λΆ€λͺ¨ λΈ”λ‘μ˜ 예츑 λͺ¨λ“œ 정보, 상기 ν˜„μž¬ λΈ”λ‘μ˜ μ£Όλ³€ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œ 정보, ν˜„μž¬ 블둝에 ν¬ν•¨λœ λ³€ν™˜ κ³„μˆ˜μ˜ μ΅œλŒ€κ°’, μ†Œμ • μŠ€μΊλ‹ μˆœμ„œμ— λ”°λ₯Έ ν˜„μž¬ λΈ”λ‘μ˜ λ§ˆμ§€λ§‰ 0이 μ•„λ‹Œ(non-zero) λ³€ν™˜ κ³„μˆ˜μ˜ μœ„μΉ˜ 쀑 적어도 ν•˜λ‚˜λ₯Ό 포함할 수 μžˆλ‹€.Specifically, a candidate transformation mode is explicitly determined based on transformation mode support information signaled for at least one unit among a sequence, a GOP, a picture, a slice, a CTU, a CU, and a TU unit, and a final candidate transformation mode can be derived based on additional information among the explicitly determined candidate transformation modes. Here, the additional information can include at least one of current frame information, slice information, partitioning information of a current block, a size of a current block, a shape of a current block, prediction mode information of a current block, partitioning information of a parent block including the current block, a size of a parent block, a shape of a parent block, prediction mode information of a parent block, transformation mode information of a neighboring block of the current block, a maximum value of a transformation coefficient included in the current block, and a position of a last non-zero transformation coefficient of the current block according to a predetermined scanning order, as described above.

예λ₯Ό λ“€μ–΄, μ‹œν€€μŠ€, GOP, 픽쳐, 슬라이슀, CTU, CU, TU λ‹¨μœ„ 쀑 적어도 ν•˜λ‚˜μ˜ λ‹¨μœ„ λ³„λ‘œ μ‹œκ·Έλ„λ§λ˜λŠ” λ³€ν™˜ λͺ¨λ“œ 지원 정보에 κΈ°μ΄ˆν•˜μ—¬ λͺ…μ‹œμ μœΌλ‘œ 제 1 후보 λ³€ν™˜ λͺ¨λ“œκ°€ κ΅¬μ„±λ˜κ³ , λ‹€μ‹œ λΆ€κ°€ 정보 쀑 적어도 ν•˜λ‚˜μ— κΈ°μ΄ˆν•˜μ—¬ 제 1 후보 λ³€ν™˜ λͺ¨λ“œλ‘œλΆ€ν„° μ΅œμ’…μ μΈ 제 2 후보 λ³€ν™˜ λͺ¨λ“œκ°€ μœ λ„λ  수 μžˆλ‹€. 일 예둜, 도 5의 14개의 λ³€ν™˜ λͺ¨λ“œλ“€ 쀑 ν˜„μž¬ μ‹œν€€μŠ€ λ‹¨μœ„μ— 1, 2, 3, 4, 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 504, 508, 509, 510, 514)κ°€ 제 1 후보 λ³€ν™˜ λͺ¨λ“œλ‘œ κ΅¬μ„±λœ λ‹€μŒ, λ‹€μ‹œ 블둝 크기와 같은 λΆ€κ°€ 정보에 κΈ°μ΄ˆν•˜μ—¬ ν˜„μž¬ λΈ”λ‘μ˜ 크기가 32Π₯32λ₯Ό μ΄ˆκ³Όν•˜λŠ” 경우 제 1 후보 λ³€ν™˜ λͺ¨λ“œ 쀑 1, 2, 8, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 508, 514)만이 μ΅œμ’…μ μΈ 제 2 후보 λ³€ν™˜ λͺ¨λ“œλ‘œ κ΅¬μ„±λ˜κ³ , ν˜„μž¬ λΈ”λ‘μ˜ 크기가 32Π₯32 μ΄ν•˜μΈ 경우, 1, 2, 3, 4, 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 504, 508, 509, 510, 514) μ „λΆ€κ°€ μ΅œμ’…μ μΈ 제 2 후보 λ³€ν™˜ λͺ¨λ“œλ‘œ ꡬ성될 수 μžˆλ‹€.For example, a first candidate transformation mode can be explicitly configured based on transformation mode support information signaled for at least one unit among a sequence, a GOP, a picture, a slice, a CTU, a CU, and a TU unit, and a final second candidate transformation mode can be derived from the first candidate transformation mode based on at least one of the additional information. For example, among the 14 conversion modes of FIG. 5, conversion modes 1, 2, 3, 4, 8, 9, 10, and 14 (501, 502, 503, 504, 508, 509, 510, and 514) are configured as the first candidate conversion modes in the current sequence unit, and then, based on additional information such as the block size, if the size of the current block exceeds 32X32, only conversion modes 1, 2, 8, and 14 (501, 502, 508, and 514) among the first candidate conversion modes are configured as the final second candidate conversion modes, and if the size of the current block is 32X32 or less, conversion modes 1, 2, 3, 4, 8, 9, 10, and 14 (501, 502, 503, 504, 508, and 514) are configured as the final second candidate conversion modes. 509, 510, 514) can all be configured as the final second candidate conversion mode.

λ‹€λ₯Έ 예둜, I ν”„λ ˆμž„μ΄λ‚˜ I μŠ¬λΌμ΄μŠ€μ— μ†ν•œ ν˜„μž¬ λΈ”λ‘μ—λŠ” μ „μˆ ν•œ 도 5에 μ˜ˆμ‹œλœ 14개의 후보 λ³€ν™˜ λͺ¨λ“œλ“€ λͺ¨λ‘κ°€ 제 1 후보 λ³€ν™˜ λͺ¨λ“œλ‘œ κ΅¬μ„±λ˜κ³ , P/B ν”„λ ˆμž„μ΄λ‚˜ P/B μŠ¬λΌμ΄μŠ€μ— μ†ν•œ ν˜„μž¬ λΈ”λ‘μ—λŠ” 도 5에 μ˜ˆμ‹œλœ 14개의 후보 λ³€ν™˜ λͺ¨λ“œλ“€ 쀑 일뢀 1, 8, 9, 10, 11, 12, 13, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 508, 509, 510, 511, 512, 513, 514)듀이 제 1 후보 λ³€ν™˜ λͺ¨λ“œλ‘œ ꡬ성될 수 μžˆλ‹€. 그리고, μ΄λŸ¬ν•œ 제 1 후보 λ³€ν™˜ λͺ¨λ“œλ‘œλΆ€ν„°, ν˜„μž¬ λΈ”λ‘μ˜ λͺ¨μ–‘에 κΈ°μ΄ˆν•˜μ—¬ μ΅œμ’…μ μΈ 제 2 후보 λ³€ν™˜ λͺ¨λ“œκ°€ ꡬ성될 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, ν˜„μž¬ λΈ”λ‘μ˜ 폭(width)이 높이(height)보닀 μ†Œμ • 배율 이상 클 경우, 수직 λ°©ν–₯으둜 λΆ„ν• λ˜λŠ” λ³€ν™˜ 블둝 νƒ€μž…μ΄ 선택될 κ°€λŠ₯성이 λ†’λ‹€. 이와 같이, ν˜„μž¬ λΈ”λ‘μ˜ 폭과 높이 쀑 μ–΄λŠ ν•œ λ³€μ˜ 길이가 λ‹€λ₯Έ ν•œ λ³€μ˜ 길이보닀 μ†Œμ • 배율 이상 큰 경우, 제 1 후보 λ³€ν™˜ λͺ¨λ“œμ— ν¬ν•¨λœ λ³€ν™˜ λͺ¨λ“œλ“€ 쀑 μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  λ˜λŠ” 수직 λ°©ν–₯ λΆ„ν•  쀑 더 μ ν•©ν•œ ν˜•νƒœμ˜ λ³€ν™˜ 블둝을 μ§€μ›ν•˜λŠ” λ³€ν™˜ λͺ¨λ“œκ°€ μ΅œμ’…μ μΈ 제 2 후보 λ³€ν™˜ λͺ¨λ“œμ— 포함될 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, I ν”„λ ˆμž„μ΄λ‚˜ I μŠ¬λΌμ΄μŠ€μ— ν¬ν•¨λœ λΈ”λ‘μ˜ λͺ¨μ–‘에 κΈ°μ΄ˆν•˜μ—¬ 후보 λ³€ν™˜ λͺ¨λ“œκ°€ κ΅¬μ„±λ˜λŠ” 경우, μ „μˆ ν•œ 바와 같이 I ν”„λ ˆμž„μ΄λ‚˜ I μŠ¬λΌμ΄μŠ€μ— μ†ν•œ ν˜„μž¬ λΈ”λ‘μ—λŠ” μ „μˆ ν•œ 도 5에 μ˜ˆμ‹œλœ 14개의 후보 λ³€ν™˜ λͺ¨λ“œλ“€ λͺ¨λ‘κ°€ 제 1 후보 λ³€ν™˜ λͺ¨λ“œλ‘œ κ΅¬μ„±λœλ‹€. 그리고, ν˜„μž¬ λΈ”λ‘μ˜ 폭이 높이보닀 2λ°° 이상 클 경우, 수직 λ°©ν–₯ 뢄할에 μ ν•©ν•œ 후보 λ³€ν™˜ λͺ¨λ“œλ“€μ„ μ€‘μ‹¬μœΌλ‘œ 제 2 후보 λ³€ν™˜ λͺ¨λ“œκ°€ κ΅¬μ„±λ˜μ–΄, 1, 8, 9, 10, 11, 12, 13, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 508, 509, 510, 511, 512, 513, 514)듀이 ν˜„μž¬ 블둝에 μ μš©κ°€λŠ₯ν•œ μ΅œμ’…μ μΈ 제 2 후보 λ³€ν™˜ λͺ¨λ“œλ“€λ‘œ κ΅¬μ„±λ˜κ³ , ν˜„μž¬ λΈ”λ‘μ˜ 높이가 폭보닀 2λ°° 이상 클 경우, μˆ˜ν‰ λ°©ν–₯ 뢄할에 μ ν•©ν•œ 후보 λ³€ν™˜ λͺ¨λ“œλ“€μ„ μ€‘μ‹¬μœΌλ‘œ 제 2 후보 λ³€ν™˜ λͺ¨λ“œκ°€ κ΅¬μ„±λ˜μ–΄, 1, 2, 3, 4, 5, 6, 7, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 504, 505, 506, 507, 514)듀이 ν˜„μž¬ 블둝에 μ μš©κ°€λŠ₯ν•œ 제 2 후보 λ³€ν™˜ λͺ¨λ“œλ“€λ‘œ ꡬ성될 수 μžˆλ‹€. As another example, in the current block belonging to the I frame or I slice, all of the 14 candidate transformation modes illustrated in FIG. 5 may be configured as the first candidate transformation modes, and in the current block belonging to the P/B frame or P/B slice, some of the 14 candidate transformation modes illustrated in FIG. 5, namely transformation modes 1, 8, 9, 10, 11, 12, 13, and 14 (501, 508, 509, 510, 511, 512, 513, and 514), may be configured as the first candidate transformation modes. Then, from these first candidate transformation modes, a final second candidate transformation mode may be configured based on the shape of the current block. For example, if the width of the current block is greater than a predetermined ratio than the height, a transformation block type that is vertically divided is likely to be selected. In this way, if the length of one side among the width and height of the current block is greater than the length of the other side by a predetermined ratio or more, a transformation mode that supports a more suitable form of transformation block among horizontal division or vertical division among the transformation modes included in the first candidate transformation mode may be included in the final second candidate transformation mode. For example, if the candidate transformation mode is configured based on the shape of the block included in the I frame or I slice, as described above, all of the 14 candidate transformation modes illustrated in FIG. 5 are configured as the first candidate transformation mode for the current block belonging to the I frame or I slice. And, when the width of the current block is more than twice the height, the second candidate transformation mode is configured around candidate transformation modes suitable for vertical division, and transformation modes 1, 8, 9, 10, 11, 12, 13, and 14 (501, 508, 509, 510, 511, 512, 513, and 514) are configured as final second candidate transformation modes applicable to the current block, and when the height of the current block is more than twice the width, the second candidate transformation mode is configured around candidate transformation modes suitable for horizontal division, and transformation modes 1, 2, 3, 4, 5, 6, 7, and 14 (501, 502, 503, 504, 505, 506, 507, and 514) can be configured as second candidate transformation modes applicable to the current block.

이와 같이, λͺ…μ‹œμ μœΌλ‘œ κ΅¬μ„±λœ 후보 λ³€ν™˜ λͺ¨λ“œλ‘œλΆ€ν„°, λ‹€μ‹œ λΆ€κ°€ 정보 쀑 적어도 ν•˜λ‚˜μ— κΈ°μ΄ˆν•˜μ—¬ λͺ…μ‹œμ μœΌλ‘œ κ΅¬μ„±λœ 후보 λ³€ν™˜ λͺ¨λ“œμ— ν¬ν•¨λœ λ³€ν™˜ λͺ¨λ“œλ₯Ό μΆ”κ°€ λ˜λŠ” μ œκ±°ν•¨μœΌλ‘œμ¨ ν˜„μž¬ 블둝에 μ μš©κ°€λŠ₯ν•œ μ΅œμ’…μ μΈ 후보 λ³€ν™˜ λͺ¨λ“œκ°€ 결정될 수 μžˆλ‹€. In this way, the final candidate transformation mode applicable to the current block can be determined by adding or removing a transformation mode included in the explicitly configured candidate transformation mode based on at least one of the additional information from the explicitly configured candidate transformation mode.

ν•œνŽΈ, 후보 λ³€ν™˜ λͺ¨λ“œ κ΅¬μ„±μ‹œ ν˜„μž¬ 블둝을 λΆ„ν• ν•˜μ§€ μ•ŠλŠ” 1번 λ³€ν™˜ λͺ¨λ“œ(501) 및 ν˜„μž¬ 블둝을 4λΆ„ν• ν•˜λŠ” 14번 λ³€ν™˜ λͺ¨λ“œ(514)λŠ” λΆ€κ°€ 정보에 κΈ°μ΄ˆν•˜μ—¬ 후보 λ³€ν™˜ λͺ¨λ“œκ°€ μ μ‘μ μœΌλ‘œ κ΅¬μ„±λ˜λŠ” κ²½μš°μ—λ„ 항상 후보 λ³€ν™˜ λͺ¨λ“œμ— 포함될 수 μžˆλ‹€.Meanwhile, when configuring a candidate transformation mode, the 1st transformation mode (501) that does not divide the current block and the 14th transformation mode (514) that divides the current block into four can always be included in the candidate transformation mode even when the candidate transformation mode is adaptively configured based on additional information.

λΉ„λ””μ˜€ 인코더(100)λŠ” μ „μˆ ν•œ μ‹€μ‹œμ˜ˆλ“€ 쀑 ν•˜λ‚˜μ— λ”°λΌμ„œ ν˜„μž¬ 블둝에 μ μš©κ°€λŠ₯ν•œ 후보 λ³€ν™˜ λͺ¨λ“œκ°€ κ²°μ •λ˜λ©΄, 후보 λ³€ν™˜ λͺ¨λ“œμ— ν¬ν•¨λœ λ³€ν™˜ λͺ¨λ“œλ“€ 쀑 ν˜„μž¬ 블둝에 적용된 μ΅œμ’…μ μΈ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•œλ‹€. ν˜„μž¬ 블둝에 적용된 μ΅œμ’…μ μΈ λ³€ν™˜ λͺ¨λ“œλŠ” μ•”μ‹œμ μœΌλ‘œ κ²°μ •λ˜κ±°λ‚˜, RDO κ΄€μ μ—μ„œ 졜적의 λ³€ν™˜ λͺ¨λ“œκ°€ κ²°μ •λ˜κ³  κ²°μ •λœ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” 정보가 λͺ…μ‹œμ μœΌλ‘œ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— 포함될 수 μžˆλ‹€. μ΄ν•˜, 후보 λ³€ν™˜ λͺ¨λ“œ μ€‘μ—μ„œ ν˜„μž¬ 블둝에 적용된 λ³€ν™˜ λͺ¨λ“œλ₯Ό μ„€μ •ν•˜λŠ” μ‹€μ‹œμ˜ˆλ“€μ— λŒ€ν•˜μ—¬ μ„€λͺ…ν•œλ‹€.When a candidate transformation mode applicable to the current block is determined according to one of the above-described embodiments, the video encoder (100) determines a final transformation mode applied to the current block from among the transformation modes included in the candidate transformation modes. The final transformation mode applied to the current block may be determined implicitly, or an optimal transformation mode from an RDO perspective may be determined and information indicating the determined transformation mode may be explicitly included in the bitstream. Hereinafter, embodiments of setting a transformation mode applied to the current block from among the candidate transformation modes will be described.

일 μ‹€μ‹œμ˜ˆμ— μžˆμ–΄μ„œ, ν˜„μž¬ ν”„λ ˆμž„ 정보, 슬라이슀 정보, ν˜„μž¬ λΈ”λ‘μ˜ νŒŒν‹°μ…”λ‹ 정보, ν˜„μž¬ λΈ”λ‘μ˜ 크기, ν˜„μž¬ λΈ”λ‘μ˜ λͺ¨μ–‘, ν˜„μž¬ λΈ”λ‘μ˜ 예츑 λͺ¨λ“œ 정보, ν˜„μž¬ 블둝이 ν¬ν•¨λœ λΆ€λͺ¨ λΈ”λ‘μ˜ νŒŒν‹°μ…”λ‹ 정보, λΆ€λͺ¨ λΈ”λ‘μ˜ 크기, λΆ€λͺ¨ λΈ”λ‘μ˜ λͺ¨μ–‘, λΆ€λͺ¨ λΈ”λ‘μ˜ 예츑 λͺ¨λ“œ 정보, 상기 ν˜„μž¬ λΈ”λ‘μ˜ μ£Όλ³€ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œ 정보, 상기 ν˜„μž¬ 블둝에 ν¬ν•¨λœ λ³€ν™˜ κ³„μˆ˜μ˜ μ΅œλŒ€κ°’, μ†Œμ • μŠ€μΊλ‹ μˆœμ„œμ— λ”°λ₯Έ 상기 ν˜„μž¬ λΈ”λ‘μ˜ λ§ˆμ§€λ§‰ 0이 μ•„λ‹Œ(non-zero) λ³€ν™˜ κ³„μˆ˜μ˜ μœ„μΉ˜μ™€ 같은 λΆ€κ°€ 정보듀 쀑 적어도 ν•˜λ‚˜μ— κΈ°μ΄ˆν•˜μ—¬, 후보 λ³€ν™˜ λͺ¨λ“œ 쀑 ν•˜λ‚˜μ˜ λ³€ν™˜ λͺ¨λ“œκ°€ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ‘œ 결정될 수 μžˆλ‹€. In one embodiment, one of the candidate transformation modes may be determined as the transformation mode of the current block based on at least one of additional information such as current frame information, slice information, partitioning information of the current block, the size of the current block, the shape of the current block, prediction mode information of the current block, partitioning information of a parent block including the current block, the size of the parent block, the shape of the parent block, prediction mode information of the parent block, transformation mode information of a neighboring block of the current block, a maximum value of a transformation coefficient included in the current block, and a position of the last non-zero transformation coefficient of the current block according to a predetermined scanning order.

λΉ„λ””μ˜€ 인코더(100) 및 λΉ„λ””μ˜€ 디코더(200)λŠ” λ™μΌν•œ λ°©μ‹μœΌλ‘œ μ „μˆ ν•œ λΆ€κ°€ 정보듀 쀑 적어도 ν•˜λ‚˜μ— κΈ°μ΄ˆν•˜μ—¬, 후보 λ³€ν™˜ λͺ¨λ“œ 쀑 ν•˜λ‚˜μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•  수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, λΆ€κ°€ μ •λ³΄λ‘œμ„œ ν˜„μž¬ λΈ”λ‘μ˜ 크기λ₯Ό μ΄μš©ν•˜λŠ” 경우, λΉ„λ””μ˜€ 인코더(100) 및 λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ 크기가 λ³€ν™˜μ΄ μ§€μ›λ˜λŠ” μ΅œμ†Œ 블둝 크기일 경우, ν˜„μž¬ 블둝을 λΆ„ν• ν•˜μ§€ μ•ŠλŠ” 제 1 λ³€ν™˜ λͺ¨λ“œ(501)을 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ‘œ κ²°μ •ν•˜κ³ , ν˜„μž¬ 블둝을 λΆ„ν• ν•˜μ§€ μ•Šκ³  λ³€ν™˜ 과정을 μˆ˜ν–‰ν•  수 μžˆλ‹€. λ˜ν•œ, λΉ„λ””μ˜€ 인코더(100) 및 λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ 블둝이 λ³€ν™˜ κ°€λŠ₯ν•œ μ΅œλŒ€ 블둝 크기λ₯Ό μ΄ˆκ³Όν•˜λŠ” 경우, κ²°μ •λœ 후보 λ³€ν™˜ λͺ¨λ“œ 쀑 λ³€ν™˜ κ°€λŠ₯ν•œ μ΅œλŒ€ 블둝 크기λ₯Ό κ³ λ €ν•˜μ—¬ λ³€ν™˜ κ°€λŠ₯ν•œ λ³€ν™˜ λͺ¨λ“œ 쀑 사전에 μ„€μ •λœ ν•˜λ‚˜μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό 선택할 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, ν˜„μž¬ λΈ”λ‘μ˜ 크기가 128Π₯128이고 λ³€ν™˜ κ°€λŠ₯ν•œ μ΅œλŒ€ 블둝 크기가 64Π₯64일 경우, ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜μ„ μœ„ν•΄ ν˜„μž¬ 블둝을 4λΆ„ν• ν•˜λŠ” 제 14 λ³€ν™˜ λͺ¨λ“œ(514)κ°€ 선택될 수 μžˆλ‹€.The video encoder (100) and the video decoder (200) can determine the transformation mode of the current block as one of the candidate transformation modes based on at least one of the aforementioned additional information in the same manner. For example, when using the size of the current block as the additional information, the video encoder (100) and the video decoder (200) can determine the first transformation mode (501) that does not split the current block as the transformation mode of the current block if the size of the current block is the minimum block size for which transformation is supported, and can perform the transformation process without splitting the current block. In addition, the video encoder (100) and the video decoder (200) can select one transformation mode set in advance from among the transformable transformation modes by considering the maximum transformable block size among the determined candidate transformation modes if the current block exceeds the maximum transformable block size. For example, if the size of the current block is 128Π₯128 and the maximum convertible block size is 64Π₯64, the 14th conversion mode (514) that divides the current block into four parts can be selected for conversion of the current block.

λ‹€λ₯Έ μ˜ˆλ‘œμ„œ, λΆ€κ°€ μ •λ³΄λ‘œμ„œ μ£Όλ³€ λΈ”λ‘μ—μ„œ μ‚¬μš©λœ λ³€ν™˜ λͺ¨λ“œλ₯Ό μ΄μš©ν•˜λŠ” 경우, λΉ„λ””μ˜€ 인코더(100) 및 λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ μ£Όλ³€ λΈ”λ‘μ—μ„œ μ‚¬μš©λœ λ³€ν™˜ λͺ¨λ“œ 정보에 κΈ°μ΄ˆν•˜μ—¬, ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•  수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, ν˜„μž¬ λΈ”λ‘μ˜ 쒌츑과 상츑에 μœ„μΉ˜ν•œ 블둝 λͺ¨λ‘μ—μ„œ 제 2 λ³€ν™˜ λͺ¨λ“œ(502)κ°€ μ„ νƒλ˜μ—ˆκ³ , ν˜„μž¬ λΈ”λ‘μ˜ 후보 λ³€ν™˜ λͺ¨λ“œμ— 제 2 λ³€ν™˜ λͺ¨λ“œ(502)κ°€ ν¬ν•¨λœ 경우 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ‘œμ„œ 제 2 λ³€ν™˜ λͺ¨λ“œ(502)κ°€ 결정될 수 μžˆλ‹€.As another example, when using the transformation mode used in the surrounding blocks as additional information, the video encoder (100) and the video decoder (200) can determine the transformation mode of the current block based on the transformation mode information used in the surrounding blocks of the current block. For example, if the second transformation mode (502) is selected in both blocks located to the left and above the current block, and the second transformation mode (502) is included in the candidate transformation modes of the current block, the second transformation mode (502) can be determined as the transformation mode of the current block.

이와 같이, λΆ€κ°€ 정보에 κΈ°μ΄ˆν•˜μ—¬ ν˜„μž¬ λΈ”λ‘μ˜ 후보 λ³€ν™˜ λͺ¨λ“œλ“€ μ€‘μ—μ„œ ν•˜λ‚˜μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜λŠ” 경우, λΉ„λ””μ˜€ 인코더(100) 및 λΉ„λ””μ˜€ 디코더(200)λŠ” 사전에 μ„€μ •λœ 방식을 μ μš©ν•˜μ—¬ λ™μΌν•˜κ²Œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•  수 μžˆλ‹€. 이 경우 λ³„λ„μ˜ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λŠ” λΉ„νŠΈμŠ€νŠΈλ¦Όμ— ν¬ν•¨λ˜μ§€ μ•Šμ„ 수 μžˆλ‹€.In this way, when determining one of the candidate transformation modes of the current block based on the additional information, the video encoder (100) and the video decoder (200) can equally determine the transformation mode of the current block by applying a pre-set method. In this case, separate transformation mode information may not be included in the bitstream.

일 μ‹€μ‹œμ˜ˆμ— μžˆμ–΄μ„œ, ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜μ— 적용된 λ³€ν™˜ λͺ¨λ“œλŠ” μ‹œν€€μŠ€, GOP, 픽쳐, 슬라이슀, CTU, CU, TU λ‹¨μœ„ 쀑 적어도 ν•˜λ‚˜μ˜ λ‹¨μœ„ λ³„λ‘œ μ‹œκ·Έλ„λ§λ˜λŠ” λ³€ν™˜ λͺ¨λ“œ 정보에 κΈ°μ΄ˆν•˜μ—¬ λͺ…μ‹œμ μœΌλ‘œ 결정될 수 μžˆλ‹€.In one embodiment, the transformation mode applied to the transformation of the current block can be explicitly determined based on transformation mode information signaled for at least one unit among a sequence, GOP, picture, slice, CTU, CU, and TU unit.

λΉ„λ””μ˜€ 인코더(100)λŠ” μ‹œν€€μŠ€, GOP, 픽쳐, 슬라이슀, CTU, CU, TU λ‹¨μœ„ 쀑 ν•˜λ‚˜μ˜ 데이터 λ‹¨μœ„μ— ν˜„μž¬ 블둝에 적용된 λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό ν¬ν•¨μ‹œμΌœ μ „μ†‘ν•˜κ³ , λΉ„λ””μ˜€ 디코더(200)λŠ” 데이터 λ‹¨μœ„μ— ν¬ν•¨λœ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œλΆ€ν„° ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•  수 μžˆλ‹€. λΉ„λ””μ˜€ 인코더(100)λŠ” 후보 λ³€ν™˜ λͺ¨λ“œλ“€μ— ν¬ν•¨λœ λ³€ν™˜ λͺ¨λ“œλ₯Ό μ μš©ν•˜κ³  RDO λ“±μ˜ 평가 기쀀을 μ μš©ν•˜μ—¬ 졜적의 λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜κ³ , κ²°μ •λœ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦Όμ— ν¬ν•¨μ‹œν‚¬ 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, μ„ μ •λœ 후보 λ³€ν™˜ λͺ¨λ“œκ°€ 1, 2, 3, 4, 8, 9, 10, 14번 λͺ¨λ“œ(501, 502, 503, 504, 508, 509, 510, 514)의 총 8개의 λͺ¨λ“œμΌ 경우, λΉ„λ””μ˜€ 인코더(100)λŠ” 총 8개의 λͺ¨λ“œ 쀑 RDO λ“±μ˜ 평가 기쀀에 따라 졜적의 λ³€ν™˜ λͺ¨λ“œλ₯Ό μ„ νƒν•˜κ³ , μ„ νƒλœ 졜적의 λ³€ν™˜ λͺ¨λ“œμ— λŒ€ν•œ 정보λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦Όμ— ν¬ν•¨μ‹œμΌœ λΉ„λ””μ˜€ 디코더(200)둜 전솑할 수 μžˆλ‹€. The video encoder (100) transmits information on the transformation mode applied to the current block by including it in one of the data units of a sequence, GOP, picture, slice, CTU, CU, and TU, and the video decoder (200) can determine the transformation mode of the current block from the transformation mode information included in the data unit. The video encoder (100) can apply the transformation mode included in the candidate transformation modes and apply an evaluation criterion such as RDO to determine the optimal transformation mode, and can include information indicating the determined transformation mode in the bitstream. For example, if the selected candidate conversion modes are a total of eight modes, modes 1, 2, 3, 4, 8, 9, 10, and 14 (501, 502, 503, 504, 508, 509, 510, and 514), the video encoder (100) can select the optimal conversion mode among the eight modes based on evaluation criteria such as RDO, and include information about the selected optimal conversion mode in the bitstream and transmit it to the video decoder (200).

일 μ‹€μ‹œμ˜ˆμ— μžˆμ–΄μ„œ, λ³€ν™˜ λͺ¨λ“œ 정보가 λͺ…μ‹œμ μœΌλ‘œ μ‹œκ·Έλ„λ§λ  경우, ν˜„μž¬ λΈ”λ‘μ˜ 후보 λ³€ν™˜ λͺ¨λ“œ μ€‘μ—μ„œ 일뢀 λ³€ν™˜ λͺ¨λ“œλ§Œμ„ λΉ„λ””μ˜€ 인코더(100)μ—μ„œ μ†Œμ • 평가 기쀀에 따라 ν‰κ°€ν•˜κ³ , μ„ μ •λœ μ΅œμ’… λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό ν¬ν•¨ν•˜λŠ” λΉ„νŠΈμŠ€νŠΈλ¦Όμ„ λΉ„λ””μ˜€ 디코더(200)둜 전솑할 수 μžˆλ‹€. 일뢀 λ³€ν™˜ λͺ¨λ“œλ§Œμ„ 평가할지 μ—¬λΆ€λŠ”, ν˜„μž¬ ν”„λ ˆμž„ 정보, 슬라이슀 정보, ν˜„μž¬ λΈ”λ‘μ˜ νŒŒν‹°μ…”λ‹ 정보, ν˜„μž¬ λΈ”λ‘μ˜ 크기, ν˜„μž¬ λΈ”λ‘μ˜ λͺ¨μ–‘, ν˜„μž¬ λΈ”λ‘μ˜ 예츑 λͺ¨λ“œ 정보, ν˜„μž¬ 블둝이 ν¬ν•¨λœ λΆ€λͺ¨ λΈ”λ‘μ˜ νŒŒν‹°μ…”λ‹ 정보, λΆ€λͺ¨ λΈ”λ‘μ˜ 크기, λΆ€λͺ¨ λΈ”λ‘μ˜ λͺ¨μ–‘, λΆ€λͺ¨ λΈ”λ‘μ˜ 예츑 λͺ¨λ“œ 정보, 상기 ν˜„μž¬ λΈ”λ‘μ˜ μ£Όλ³€ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œ 정보, 상기 ν˜„μž¬ 블둝에 ν¬ν•¨λœ λ³€ν™˜ κ³„μˆ˜μ˜ μ΅œλŒ€κ°’, μ†Œμ • μŠ€μΊλ‹ μˆœμ„œμ— λ”°λ₯Έ 상기 ν˜„μž¬ λΈ”λ‘μ˜ λ§ˆμ§€λ§‰ 0이 μ•„λ‹Œ(non-zero) λ³€ν™˜ κ³„μˆ˜μ˜ μœ„μΉ˜μ™€ 같은 λΆ€κ°€ 정보듀 쀑 적어도 ν•˜λ‚˜μ— κΈ°μ΄ˆν•˜μ—¬ 결정될 수 μžˆλ‹€. In one embodiment, when transformation mode information is explicitly signaled, only some transformation modes among candidate transformation modes of the current block may be evaluated by the video encoder (100) according to a predetermined evaluation criterion, and a bitstream including the selected final transformation mode information may be transmitted to the video decoder (200). Whether to evaluate only some transformation modes may be determined based on at least one of additional information such as current frame information, slice information, partitioning information of the current block, the size of the current block, the shape of the current block, prediction mode information of the current block, partitioning information of the parent block including the current block, the size of the parent block, the shape of the parent block, prediction mode information of the parent block, transformation mode information of the neighboring blocks of the current block, the maximum value of the transformation coefficient included in the current block, and the position of the last non-zero transformation coefficient of the current block according to a predetermined scanning order.

예λ₯Ό λ“€μ–΄, ν˜„μž¬ λΈ”λ‘μ˜ 폭(width)이 높이(height)보닀 μ†Œμ • 배율 이상 클 경우, 수직 λ°©ν–₯으둜 λΆ„ν• λ˜λŠ” λ³€ν™˜ 블둝 νƒ€μž…μ΄ 선택될 κ°€λŠ₯성이 λ†’λ‹€. 이와 같이, ν˜„μž¬ λΈ”λ‘μ˜ 폭과 높이 쀑 μ–΄λŠ ν•œ λ³€μ˜ 길이가 λ‹€λ₯Έ ν•œ λ³€μ˜ 길이보닀 μ†Œμ • 배율 이상 큰 경우, μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  λ˜λŠ” 수직 λ°©ν–₯ λΆ„ν•  쀑 μ ν•©ν•˜μ§€ μ•Šμ€ λ°©ν–₯의 λ³€ν™˜ λͺ¨λ“œλŠ” 후보 λ³€ν™˜ λͺ¨λ“œμ—μ„œ μ œμ™Έλ˜κ³ , λ‚¨μ•„μžˆλŠ” 후보 λ³€ν™˜ λͺ¨λ“œλ§Œμ΄ μ΅œμ’… λ³€ν™˜ λͺ¨λ“œμ˜ 선정을 μœ„ν•˜μ—¬ 평가될 수 μžˆλ‹€. 즉, ν˜„μž¬ λΈ”λ‘μ˜ 폭이 높이보닀 μ†Œμ • 배율 이상 큰 경우, 후보 λ³€ν™˜ λͺ¨λ“œ μ€‘μ—μ„œ ν˜„μž¬ 블둝을 μˆ˜ν‰ λ°©ν–₯으둜 λΆ„ν• ν•˜λŠ” λ³€ν™˜ 블둝을 μ§€μ›ν•˜λŠ” λ³€ν™˜ λͺ¨λ“œλŠ” 후보 λ³€ν™˜ λͺ¨λ“œμ—μ„œ μ œμ™Έλ˜κ³ , ν˜„μž¬ λΈ”λ‘μ˜ 높이가 폭 보닀 μ†Œμ • 배율 이상 큰 경우 ν˜„μž¬ 블둝을 수직 λ°©ν–₯으둜 λΆ„ν• ν•˜λŠ” λ³€ν™˜ 블둝을 μ§€μ›ν•˜λŠ” λ³€ν™˜ λͺ¨λ“œλŠ” 후보 λ³€ν™˜ λͺ¨λ“œμ—μ„œ μ œμ™Έλ  수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, 후보 λ³€ν™˜ λͺ¨λ“œκ°€ 1, 2, 3, 4, 8, 9, 10번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 504, 508, 509, 510)둜 κ²°μ •λœ 경우λ₯Ό 가정해보면, λ§Œμ•½ ν˜„μž¬ λΈ”λ‘μ˜ 폭이 높이보닀 2λ°° 이상 클 경우 μˆ˜ν‰ λ°©ν–₯ 뢄할에 μ ν•©ν•œ 후보 λ³€ν™˜ λͺ¨λ“œλ“€μΈ 2, 3, 4 번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 504)λŠ” 후보 λ³€ν™˜ λͺ¨λ“œμ—μ„œ μ œμ™Έλ˜κ³ , 1, 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 508, 509, 510, 514)만이 졜적 λ³€ν™˜ λͺ¨λ“œ 선정을 μœ„ν•œ 평가에 이용될 수 μžˆλ‹€. λ°˜λŒ€λ‘œ, λ§Œμ•½ ν˜„μž¬ λΈ”λ‘μ˜ 높이가 폭보닀 2λ°° 이상 클 경우 수직 λ°©ν–₯ 뢄할에 μ ν•©ν•œ 후보 λ³€ν™˜ λͺ¨λ“œλ“€μΈ 8, 9, 10 번 λ³€ν™˜ λͺ¨λ“œ(508, 509, 510)λŠ” 후보 λ³€ν™˜ λͺ¨λ“œμ—μ„œ μ œμ™Έλ˜κ³ , 1, 2, 3, 4, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 504, 514)만이 졜적 λ³€ν™˜ λͺ¨λ“œ 선정을 μœ„ν•œ 평가에 이용될 수 μžˆλ‹€. 평가λ₯Ό μœ„ν•œ 후보 λ³€ν™˜ λͺ¨λ“œ κ΅¬μ„±μ‹œ ν˜„μž¬ 블둝을 λΆ„ν• ν•˜μ§€ μ•ŠλŠ” 제 1번 λ³€ν™˜ λͺ¨λ“œ(501) 및 ν˜„μž¬ 블둝을 4λΆ„ν• ν•˜λŠ” 제14번 λ³€ν™˜ λͺ¨λ“œ(514)λŠ” λΆ€κ°€ 정보에 상관없이 항상 후보 λ³€ν™˜ λͺ¨λ“œμ— 포함될 수 μžˆλ‹€.For example, if the width of the current block is greater than the height by a predetermined factor or more, a transformation block type that is vertically divided is likely to be selected. In this way, if the length of one side of the width and height of the current block is greater than the length of the other side by a predetermined factor or more, a transformation mode that is not suitable for horizontal or vertical division is excluded from the candidate transformation modes, and only the remaining candidate transformation modes can be evaluated for selecting the final transformation mode. That is, if the width of the current block is greater than the height by a predetermined factor or more, a transformation mode that supports a transformation block that horizontally divides the current block among the candidate transformation modes is excluded from the candidate transformation modes, and if the height of the current block is greater than the width by a predetermined factor or more, a transformation mode that supports a transformation block that vertically divides the current block can be excluded from the candidate transformation modes. For example, assuming that the candidate transformation modes are determined as transformation modes 1, 2, 3, 4, 8, 9, and 10 (501, 502, 503, 504, 508, 509, and 510), if the width of the current block is more than twice the height, transformation modes 2, 3, and 4 (502, 503, and 504), which are suitable candidate transformation modes for horizontal division, are excluded from the candidate transformation modes, and only transformation modes 1, 8, 9, 10, and 14 (501, 508, 509, 510, and 514) can be used for evaluation to select the optimal transformation mode. Conversely, if the height of the current block is more than twice the width, candidate transformation modes 8, 9, and 10 (508, 509, and 510), which are suitable candidate transformation modes for vertical division, are excluded from the candidate transformation modes, and only transformation modes 1, 2, 3, 4, and 14 (501, 502, 503, 504, and 514) can be used for evaluation to select the optimal transformation mode. When configuring candidate transformation modes for evaluation, the first transformation mode (501), which does not divide the current block, and the fourteenth transformation mode (514), which divides the current block into four, can always be included in the candidate transformation modes regardless of additional information.

일 μ‹€μ‹œμ˜ˆμ— μžˆμ–΄μ„œ, ν˜„μž¬ 블둝에 적용된 λ³€ν™˜ λͺ¨λ“œλ₯Ό 효율적으둜 μ „μ†‘ν•˜κΈ° μœ„ν•΄μ„œ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λŠ” κ³„μΈ΅μ μœΌλ‘œ(hierarchically) ꡬ성될 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, ν˜„μž¬ 블둝에 λŒ€ν•œ 후보 λ³€ν™˜ λͺ¨λ“œ 쀑 λΆ„ν• λœ λ³€ν™˜ λͺ¨λ“œ μ‚¬μš©μ„ λ‚˜νƒ€λ‚΄λŠ” 1λΉ„νŠΈμ˜ ν”Œλž˜κ·Έκ°€ 전솑될 수 μžˆλ‹€ 도 5의 제 1 λ³€ν™˜ λͺ¨λ“œ(501)κ³Ό 같이 ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ§€ μ•Šκ³  ν˜„μž¬ 블둝 κ·ΈλŒ€λ‘œ λ³€ν™˜μ΄ μˆ˜ν–‰λ˜λŠ” 경우, ν•΄λ‹Ή ν”Œλž˜κ·ΈλŠ” 0으둜 μ„€μ •λœλ‹€. 즉, ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ§€ μ•ŠλŠ” 경우 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λŠ” 1λΉ„νŠΈμ˜ ν”Œλž˜κ·Έλ§ŒμœΌλ‘œ ꡬ성될 수 μžˆλ‹€. λ§Œμ•½, ν˜„μž¬ 블둝이 도 5의 제 2 λ³€ν™˜ λͺ¨λ“œ λ‚΄μ§€ 제 14 λ³€ν™˜ λͺ¨λ“œ(502 λ‚΄μ§€ 514)와 같이 λΆ„ν• λ˜λŠ” 경우 ν•΄λ‹Ή ν”Œλž˜κ·ΈλŠ” 1둜 섀정될 수 μžˆλ‹€. In one embodiment, in order to efficiently transmit the transformation mode applied to the current block, the transformation mode information may be hierarchically configured. For example, a 1-bit flag indicating the use of a split transformation mode among the candidate transformation modes for the current block may be transmitted. If the current block is not split and the transformation is performed as is in the current block, such as the first transformation mode (501) of FIG. 5, the corresponding flag is set to 0. That is, if the current block is not split, the transformation mode information may be configured with only a 1-bit flag. If the current block is split, such as the second to fourteenth transformation modes (502 to 514) of FIG. 5, the corresponding flag may be set to 1.

λΆ„ν• λœ λ³€ν™˜ λͺ¨λ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ ν•΄λ‹Ή ν”Œλž˜κ·Έκ°€ 1둜 μ„€μ •λœ 경우, λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λŠ” μΆ”κ°€μ μœΌλ‘œ i) λΆ„ν•  λ°©ν–₯을 λ‚˜νƒ€λ‚΄λŠ” λΆ„ν• λ°©ν–₯을 λ‚˜νƒ€λ‚΄λŠ” 정보, ii) λΆ„ν•  λ°©ν–₯에 λ”°λ₯Έ 볡수 개의 λ³€ν™˜ λͺ¨λ“œλ“€ 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό 더 포함할 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, λΆ„ν• λ°©ν–₯을 λ‚˜νƒ€λ‚΄λŠ” 정보 '0'은 μˆ˜ν‰ λ°©ν–₯ 뢄할을 가리킀고, λΆ„ν• λ°©ν–₯ ν”Œλž˜κ·Έ '1'은 수직 λ°©ν–₯ 뢄할을 가리킀도둝 μ„€μ •λ˜κ±°λ‚˜, 이와 λ°˜λŒ€λ‘œ 섀정될 수 μžˆλ‹€. ii) λΆ„ν•  λ°©ν–₯에 λ”°λ₯Έ 볡수 개의 λ³€ν™˜ λͺ¨λ“œλ“€ 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” μ •λ³΄λŠ” ν•΄λ‹Ή λΆ„ν•  λ°©ν–₯으둜 ν˜„μž¬ 블둝을 λΆ„ν• ν•˜λŠ” 볡수 개의 λ³€ν™˜ λͺ¨λ“œλ“€ 쀑 ν•˜λ‚˜λ₯Ό 가리킀도둝 섀정될 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, λΆ„ν• λ°©ν–₯을 λ‚˜νƒ€λ‚΄λŠ” 정보가 0'으둜 μ„€μ •λ˜κ³ , 제 2 λ³€ν™˜ λͺ¨λ“œ λ‚΄μ§€ 제 5 λ³€ν™˜ λͺ¨λ“œ(502 λ‚΄μ§€ 505)와 같이 ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯으둜 4개의 λ³€ν™˜ λͺ¨λ“œλ“€ 쀑 ν•˜λ‚˜λ‘œ λΆ„ν• λ˜λŠ” 경우λ₯Ό 가정해보면, ν•΄λ‹Ή μ •λ³΄λŠ” 제 2 λ³€ν™˜ λͺ¨λ“œ λ‚΄μ§€ 제 5 λ³€ν™˜ λͺ¨λ“œ(502 λ‚΄μ§€ 505)에 λŒ€μ‘λ˜λŠ” '00', '01', '10', '11'쀑 ν•˜λ‚˜μ˜ 값을 갖도둝 섀정될 수 μžˆλ‹€. 이에 ν•œμ •λ˜μ§€ μ•Šκ³ , 볡수 개의 λ³€ν™˜ λͺ¨λ“œλ“€μ„ κ°€λ¦¬ν‚€λŠ” 값은 unary coding, fixed length coding, variable length coding, exponential golomb coding λ“± λ‹€μ–‘ν•œ μ½”λ“œλ₯Ό μ μš©ν•˜μ—¬ 섀정될 수 μžˆλ‹€.When the flag is set to 1 using the split conversion mode, the conversion mode information may additionally include i) information indicating a split direction, ii) information indicating one of a plurality of conversion modes according to the split direction. For example, the information indicating the split direction '0' may be set to indicate horizontal splitting, and the split direction flag '1' may be set to indicate vertical splitting, or vice versa. ii) The information indicating one of a plurality of conversion modes according to the split direction may be set to indicate one of a plurality of conversion modes that split the current block in the corresponding splitting direction. For example, assuming that the information indicating the split direction is set to '0', and the current block is split into one of four conversion modes in the horizontal direction, such as the second to fifth conversion modes (502 to 505), the information may be set to have one of '00', '01', '10', and '11' corresponding to the second to fifth conversion modes (502 to 505). Without being limited thereto, values indicating multiple conversion modes can be set by applying various codes such as unary coding, fixed length coding, variable length coding, and exponential golomb coding.

일 μ‹€μ‹œμ˜ˆμ— μžˆμ–΄μ„œ, ν˜„μž¬ 블둝에 적용된 λ³€ν™˜ λͺ¨λ“œλ₯Ό 효율적으둜 μ „μ†‘ν•˜κΈ° μœ„ν•΄μ„œ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λŠ” μ μ‘μ μœΌλ‘œ ꡬ성될 수 μžˆλ‹€. ν˜„μž¬ λΈ”λ‘μ˜ 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성이 νŒλ‹¨λ˜κ³ , νŒλ‹¨λœ ν˜„μž¬ λΈ”λ‘μ˜ 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성에 κΈ°μ΄ˆν•˜μ—¬ λ³€ν™˜ λͺ¨λ“œ 정보가 μ μ‘μ μœΌλ‘œ ꡬ성될 수 μžˆλ‹€. In one embodiment, the transformation mode information may be adaptively configured to efficiently transmit the transformation mode applied to the current block. The vertical divisibility and horizontal divisibility of the current block may be determined, and the transformation mode information may be adaptively configured based on the determined vertical divisibility and horizontal divisibility of the current block.

λ˜ν•œ, ν˜„μž¬ ν”„λ ˆμž„ 정보, 슬라이슀 정보, ν˜„μž¬ λΈ”λ‘μ˜ νŒŒν‹°μ…˜λ‹ 정보, ν˜„μž¬ λΈ”λ‘μ˜ 크기, ν˜„μž¬ λΈ”λ‘μ˜ λͺ¨μ–‘, ν˜„μž¬ λΈ”λ‘μ˜ 예츑 λͺ¨λ“œ 정보, ν˜„μž¬ 블둝이 ν¬ν•¨λœ λΆ€λͺ¨ λΈ”λ‘μ˜ νŒŒν‹°μ…˜λ‹ 정보, λΆ€λͺ¨ λΈ”λ‘μ˜ 크기, λΆ€λͺ¨ λΈ”λ‘μ˜ λͺ¨μ–‘, λΆ€λͺ¨ λΈ”λ‘μ˜ 예츑 λͺ¨λ“œ 정보, 상기 ν˜„μž¬ λΈ”λ‘μ˜ μ£Όλ³€ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œ 정보, 상기 ν˜„μž¬ 블둝에 ν¬ν•¨λœ λ³€ν™˜ κ³„μˆ˜μ˜ μ΅œλŒ€κ°’, μ†Œμ • μŠ€μΊλ‹ μˆœμ„œμ— λ”°λ₯Έ 상기 ν˜„μž¬ λΈ”λ‘μ˜ λ§ˆμ§€λ§‰ 0이 μ•„λ‹Œ(non-zero) λ³€ν™˜ κ³„μˆ˜μ˜ μœ„μΉ˜ λ“±μ˜ λΆ€κ°€ 정보가 λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό κ΅¬μ„±ν•˜λŠ” 과정에 이용될 수 μžˆλ‹€.Additionally, additional information such as current frame information, slice information, partitioning information of the current block, size of the current block, shape of the current block, prediction mode information of the current block, partitioning information of a parent block including the current block, size of the parent block, shape of the parent block, prediction mode information of the parent block, transformation mode information of a neighboring block of the current block, maximum value of a transformation coefficient included in the current block, and position of the last non-zero transformation coefficient of the current block according to a predetermined scanning order may be used in the process of configuring the transformation mode information.

μ „μˆ ν•œ 후보 λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜λŠ” κ³Όμ •μ—μ„œ, 후보 λ³€ν™˜ λͺ¨λ“œμ— ν¬ν•¨λœ λ³€ν™˜ λͺ¨λ“œλ“€μ„ κ³ λ €ν•˜μ—¬ ν˜„μž¬ 블둝에 μ μš©κ°€λŠ₯ν•œ λͺ¨λ“  λ³€ν™˜ λͺ¨λ“œμ˜ μœ ν˜•μ„ μ‹λ³„ν•¨μœΌλ‘œμ¨, ν˜„μž¬ λΈ”λ‘μ˜ 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성이 νŒλ‹¨λ  수 μžˆλ‹€. λ˜ν•œ, μ „μˆ ν•œ λΆ€κ°€ 정보에 κΈ°μ΄ˆν•˜μ—¬, ν˜„μž¬ λΈ”λ‘μ˜ 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성이 νŒλ‹¨λ  수 μžˆλ‹€.In the process of determining the aforementioned candidate transformation mode, the vertical and horizontal divisibility of the current block can be determined by identifying the types of all transformation modes applicable to the current block by considering the transformation modes included in the candidate transformation mode. Furthermore, the vertical and horizontal divisibility of the current block can be determined based on the aforementioned additional information.

λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성을 νŒλ‹¨ν•˜κ³ , ν˜„μž¬ λΈ”λ‘μ˜ 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성에 κΈ°μ΄ˆν•˜μ—¬ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ 의미(semantics)λ₯Ό μ μ‘μ μœΌλ‘œ κ²°μ •ν•˜κ³ , ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ„€μ •ν•˜μ—¬ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— ν¬ν•¨μ‹œν‚¬ 수 μžˆλ‹€. λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성에 κΈ°μ΄ˆν•˜μ—¬ λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° νšλ“λœ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ 의미λ₯Ό μ‹λ³„ν•˜κ³ , λ³€ν™˜ λͺ¨λ“œ 정보에 κΈ°μ΄ˆν•˜μ—¬ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•  수 μžˆλ‹€. The video encoder (100) can determine the vertical divisibility and horizontal divisibility of the current block, adaptively determine the semantics of transformation mode information based on the vertical divisibility and horizontal divisibility of the current block, and set the transformation mode information of the current block to include in the bitstream. The video decoder (200) can identify the semantics of transformation mode information obtained from the bitstream based on the vertical divisibility and horizontal divisibility of the current block, and determine the transformation mode of the current block based on the transformation mode information.

λ§Œμ•½, ν˜„μž¬ 블둝이 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯으둜 λͺ¨λ‘ λΆ„ν•  κ°€λŠ₯ν•œ 경우, λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λŠ” 후보 λ³€ν™˜ λͺ¨λ“œλ“€ μ€‘μ—μ„œ ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 인덱슀 μ •λ³΄λ‘œ 섀정될 수 μžˆλ‹€. 인덱슀 μ •λ³΄λŠ” unary coding, fixed length coding, variable length coding, exponential golomb coding λ“± λ‹€μ–‘ν•œ μ½”λ“œλ₯Ό μ μš©ν•˜μ—¬ 섀정될 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, ν˜„μž¬ 블둝에 μ μš©κ°€λŠ₯ν•œ 후보 λ³€ν™˜ λͺ¨λ“œλ‘œμ„œ 1, 2, 8, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 508, 514)κ°€ κ²°μ •λ˜κ³ , ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ 및 수직 λ°©ν–₯ 뢄할이 λͺ¨λ‘ κ°€λŠ₯ν•œ 경우, 후보 λ³€ν™˜ λͺ¨λ“œμΈ 1, 2, 8, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 508, 514) 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보가 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œ 섀정될 수 μžˆλ‹€.If the current block can be split in both vertical and horizontal directions, the transformation mode information can be set as index information indicating one of the candidate transformation modes. The index information can be set by applying various codes such as unary coding, fixed length coding, variable length coding, and exponential global coding. For example, if transformation modes 1, 2, 8, and 14 (501, 502, 508, and 514) are determined as candidate transformation modes applicable to the current block, and if the current block can be split in both horizontal and vertical directions, information indicating one of the candidate transformation modes 1, 2, 8, and 14 (501, 502, 508, and 514) can be set as the transformation mode information.

λ§Œμ•½, ν˜„μž¬ 블둝이 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯ 쀑 ν•˜λ‚˜μ˜ λ°©ν–₯으둜만 λΆ„ν•  κ°€λŠ₯ν•œ 경우, λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λŠ” i) 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯ 쀑 ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  λ°©ν–₯을 κ°€λ¦¬ν‚€λŠ” 정보, 및 ii) λΆ„ν•  λ°©ν–₯에 λ”°λ₯Έ λΆ„ν•  μ—¬λΆ€λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό ν¬ν•¨ν•˜λ„λ‘ 섀정될 수 μžˆλ‹€. i) 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯ 쀑 ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  λ°©ν–₯을 κ°€λ¦¬ν‚€λŠ” 정보가 '0'으둜 μ„€μ •λœ 경우 μˆ˜ν‰ λ°©ν–₯ 뢄할을 가리킀고, '1'둜 μ„€μ •λœ 경우 수직 λ°©ν–₯ 뢄할을 가리킬 수 있으며, 이와 λ°˜λŒ€λ‘œ 섀정될 μˆ˜λ„ μžˆλ‹€. ii) λΆ„ν•  λ°©ν–₯에 λ”°λ₯Έ λΆ„ν•  μ—¬λΆ€λ₯Ό κ°€λ¦¬ν‚€λŠ” μ •λ³΄λŠ” '0'으둜 μ„€μ •λœ 경우 ν•΄λ‹Ή λ°©ν–₯으둜 미뢄할을 가리킀고, '1'둜 μ„€μ •λœ 경우 ν•΄λ‹Ή λ°©ν–₯으둜 뢄할됨을 가리킬 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, ν˜„μž¬ λΈ”λ‘μ˜ μˆ˜ν‰ λΆ„ν• λ§Œ κ°€λŠ₯ν•˜λ©° ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ‘œμ„œ 2번 λ³€ν™˜ λͺ¨λ“œ(502)κ°€ κ²°μ •λœ 경우, λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λŠ” ν˜„μž¬ λΈ”λ‘μ˜ μˆ˜ν‰ λ°©ν–₯ 뢄할을 λ‚˜νƒ€λ‚΄λŠ” 첫 번째 λΉ„νŠΈμΈ'0'κ³Ό ν•΄λ‹Ή μˆ˜ν‰ λ°©ν–₯으둜 뢄할됨을 κ°€λ¦¬ν‚€λŠ” '1'을 ν¬ν•¨ν•˜μ—¬ '01'둜 섀정될 수 μžˆλ‹€.If the current block can be split in only one of the vertical and horizontal directions, the conversion mode information may be set to include i) information indicating the splitting direction of the current block among the vertical and horizontal directions, and ii) information indicating whether or not to split according to the splitting direction. i) If the information indicating the splitting direction of the current block among the vertical and horizontal directions is set to '0', it may indicate horizontal splitting, and if set to '1', it may indicate vertical splitting, or vice versa. ii) If the information indicating whether or not to split according to the splitting direction is set to '0', it may indicate non-split in the corresponding direction, and if set to '1', it may indicate splitting in the corresponding direction. For example, if only horizontal splitting of the current block is possible and conversion mode 2 (502) is determined as the conversion mode of the current block, the conversion mode information may be set to '01', including '0', which is the first bit indicating horizontal splitting of the current block, and '1' indicating splitting in the corresponding horizontal direction.

λ˜ν•œ, λ§Œμ•½ ν˜„μž¬ 블둝이 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯ 쀑 ν•˜λ‚˜μ˜ λ°©ν–₯으둜만 λΆ„ν•  κ°€λŠ₯ν•œ 경우, λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λŠ” i) 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯ 쀑 ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  λ°©ν–₯을 κ°€λ¦¬ν‚€λŠ” 정보, 및 ii) λΆ„ν•  λ°©ν–₯에 λ”°λ₯Έ 선택가λŠ₯ν•œ λ³€ν™˜ λͺ¨λ“œλ“€ 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό ν¬ν•¨ν•˜λ„λ‘ 섀정될 수 μžˆλ‹€. i) 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯ 쀑 ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  λ°©ν–₯을 κ°€λ¦¬ν‚€λŠ” 정보가 '0'으둜 μ„€μ •λœ 경우 μˆ˜ν‰ λ°©ν–₯ 뢄할을 가리킀고, '1'둜 μ„€μ •λœ 경우 수직 λ°©ν–₯ 뢄할을 가리킬 수 있으며, 이와 λ°˜λŒ€λ‘œ 섀정될 μˆ˜λ„ μžˆλ‹€. ii) λΆ„ν•  λ°©ν–₯에 λ”°λ₯Έ 선택가λŠ₯ν•œ λ³€ν™˜ λͺ¨λ“œλ“€ 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” μ •λ³΄λŠ” 선택가λŠ₯ν•œ λ³€ν™˜ λͺ¨λ“œλ“€μ˜ κ°œμˆ˜μ— λ”°λΌμ„œ 가변적인 길이λ₯Ό κ°€μ§ˆ 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, 선택가λŠ₯ν•œ λ³€ν™˜ λͺ¨λ“œλ“€μ˜ κ°œμˆ˜κ°€ N개인 경우, 2^n >=N을 λ§Œμ‘±ν•˜λŠ” μ΅œμ†Œμ˜ n λΉ„νŠΈλ‘œ ii) λΆ„ν•  λ°©ν–₯에 λ”°λ₯Έ 선택가λŠ₯ν•œ λ³€ν™˜ λͺ¨λ“œλ“€ 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보가 섀정될 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, ν˜„μž¬ 블둝이 μˆ˜ν‰μœΌλ‘œ λΆ„ν• λ˜κ³ , ν˜„μž¬ 블둝을 μˆ˜ν‰ λ°©ν–₯으둜 λΆ„ν• ν•˜λŠ” λ³€ν™˜ λͺ¨λ“œλ“€(502 λ‚΄μ§€ 506) μ€‘μ—μ„œ 2, 3, 4, 5번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 504, 505)의 4개의 λ³€ν™˜ λͺ¨λ“œκ°€ 선택가λŠ₯ν•œ 경우, λΆ„ν•  λ°©ν–₯에 λ”°λ₯Έ 선택가λŠ₯ν•œ λ³€ν™˜ λͺ¨λ“œλ“€ 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” μ •λ³΄λŠ” 2, 3, 4, 5번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 504, 505)의 4개의 λ³€ν™˜ λͺ¨λ“œμ— λŒ€μ‘λ˜λŠ” '00', '01', '10', '11'쀑 ν•˜λ‚˜μ˜ κ°’μœΌλ‘œ 섀정될 수 μžˆλ‹€. 이에 ν•œμ •λ˜μ§€ μ•Šκ³  μ½”λ“œ ꡬ성은 unary coding, fixed length coding, variable length coding, exponential golomb codingλ“± λ‹€μ–‘ν•œ λ°©μ‹μœΌλ‘œ 섀정될 수 μžˆλ‹€. In addition, if the current block can be split in only one of the vertical direction and the horizontal direction, the transformation mode information may be set to include i) information indicating the splitting direction of the current block among the vertical direction and the horizontal direction, and ii) information indicating one of the selectable transformation modes according to the splitting direction. i) If the information indicating the splitting direction of the current block among the vertical direction and the horizontal direction is set to '0', it may indicate horizontal division, and if it is set to '1', it may indicate vertical division, or vice versa. ii) The information indicating one of the selectable transformation modes according to the splitting direction may have a variable length depending on the number of selectable transformation modes. For example, if the number of selectable transformation modes is N, the information indicating ii) one of the selectable transformation modes according to the splitting direction may be set to a minimum of n bits satisfying 2^n >= N. For example, if the current block is divided horizontally and four conversion modes (502, 503, 504, 505) of conversion modes 2, 3, 4, and 5 (502 to 506) that divide the current block in the horizontal direction are selectable, information indicating one of the selectable conversion modes according to the division direction may be set to one of the values of '00', '01', '10', and '11' corresponding to the four conversion modes of conversion modes 2, 3, 4, and 5 (502, 503, 504, 505). The code configuration is not limited thereto and may be set in various ways such as unary coding, fixed length coding, variable length coding, and exponential global coding.

λ§Œμ•½, ν˜„μž¬ 블둝이 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯ 쀑 μ–΄λŠ λ°©ν–₯μœΌλ‘œλ„ λΆ„ν•  κ°€λŠ₯ν•˜μ§€ μ•Šμ€ 경우, λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λŠ” λΉ„νŠΈμŠ€νŠΈλ¦Όμ— ν¬ν•¨λ˜μ§€ μ•ŠμœΌλ©° ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ 블둝은 ν˜„μž¬ 블둝과 λ™μΌν•œ 크기 및 λͺ¨μ–‘을 κ°–λŠ” κ²ƒμœΌλ‘œ 결정될 수 μžˆλ‹€. ν˜„μž¬ 블둝이 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯ 쀑 μ–΄λŠ λ°©ν–₯μœΌλ‘œλ„ λΆ„ν•  κ°€λŠ₯ν•˜μ§€ μ•Šμ€ 경우, λΉ„λ””μ˜€ 인코더(100)λŠ” λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό λ³„λ„λ‘œ μ „μ†‘ν•˜μ§€ μ•ŠμœΌλ©°, λΉ„λ””μ˜€ 디코더(200)λŠ” λ³„λ„μ˜ λ³€ν™˜ λͺ¨λ“œ 정보에 ν•΄λ‹Ήν•˜λŠ” μ‹ νƒμŠ€λ₯Ό νŒŒμ‹±ν•˜μ§€ μ•Šκ³ μ„œλ„ 1번 λ³€ν™˜ λͺ¨λ“œ(501)λ₯Ό ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ‘œ κ²°μ •ν•  수 μžˆλ‹€. If the current block is not divisible in either the vertical or horizontal direction, the transformation mode information is not included in the bitstream, and the transformation block of the current block can be determined to have the same size and shape as the current block. If the current block is not divisible in either the vertical or horizontal direction, the video encoder (100) does not separately transmit the transformation mode information, and the video decoder (200) can determine the transformation mode 1 (501) as the transformation mode of the current block without parsing the syntax corresponding to the separate transformation mode information.

일 μ‹€μ‹œμ˜ˆμ— μžˆμ–΄μ„œ, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ 블둝에 적용된 λ³€ν™˜ λͺ¨λ“œλ₯Ό 효율적으둜 μ „μ†‘ν•˜κΈ° μœ„ν•΄μ„œ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ μ‘μ μœΌλ‘œ ꡬ성할 수 μžˆλ‹€. λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성을 νŒλ‹¨ν•˜κ³ , νŒλ‹¨λœ ν˜„μž¬ λΈ”λ‘μ˜ 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성에 κΈ°μ΄ˆν•˜μ—¬ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ μ‘μ μœΌλ‘œ ꡬ성할 수 μžˆλ‹€. λΉ„λ””μ˜€ 인코더(100)λŠ” 이전에 λ³€ν™˜ λͺ¨λ“œ κ²°μ • κ³Όμ •μ—μ„œ μ„ μ •λœ λ³€ν™˜ λͺ¨λ“œλ“€μ˜ 톡계적 λΉ„μœ¨μ— κΈ°μ΄ˆν•˜μ—¬ 후보 λ³€ν™˜ λͺ¨λ“œλ₯Ό κ΅¬μ„±ν•˜κ³ , RDO λ“±μ˜ 졜적 λ³€ν™˜ λͺ¨λ“œ 평가 기쀀을 μ μš©ν•˜μ—¬ ν•˜λ‚˜μ˜ 졜적 λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜κ³ , κ²°μ •λœ λ³€ν™˜ λͺ¨λ“œμ˜ 정보λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦Όμ— ν¬ν•¨μ‹œμΌœ 전솑할 수 μžˆλ‹€. ν˜„μž¬ λΈ”λ‘μ˜ 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성은 경계 μ‘°κ±΄μ΄λ‚˜ ν˜„μž¬ λΈ”λ‘μ˜ 크기 λ“± λ‹€μ–‘ν•œ λΆ€κ°€ 정보듀 쀑 적어도 ν•˜λ‚˜μ— κΈ°μ΄ˆν•˜μ—¬ νŒλ‹¨λ  수 μžˆλ‹€.In one embodiment, the video encoder (100) can adaptively configure transformation mode information to efficiently transmit the transformation mode applied to the current block. The video encoder (100) can determine the vertical divisibility and horizontal divisibility of the current block, and adaptively configure the transformation mode information based on the determined vertical divisibility and horizontal divisibility of the current block. The video encoder (100) can configure candidate transformation modes based on the statistical ratio of transformation modes previously selected in the transformation mode determination process, determine one optimal transformation mode by applying an optimal transformation mode evaluation criterion such as RDO, and transmit information on the determined transformation mode by including it in the bitstream. The vertical divisibility and horizontal divisibility of the current block can be determined based on at least one of various additional information such as boundary conditions or the size of the current block.

μ΄ν•˜, μ˜ˆμ‹œμ μœΌλ‘œ, 후보 λ³€ν™˜ λͺ¨λ“œλ‘œμ„œ 1, 2, 8, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 508, 514)κ°€ κ²°μ •λœ 경우, λΉ„λ””μ˜€ 인코더(100)κ°€ 후보 λ³€ν™˜ λͺ¨λ“œλ“€ 쀑 졜적 λ³€ν™˜ λͺ¨λ“œμ— λŒ€ν•œ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ μ‘μ μœΌλ‘œ κ΅¬μ„±ν•˜λŠ” 과정을 μ„€λͺ…ν•œλ‹€.Hereinafter, as an example, when conversion modes 1, 2, 8, and 14 (501, 502, 508, and 514) are determined as candidate conversion modes, a process in which a video encoder (100) adaptively configures conversion mode information for an optimal conversion mode among the candidate conversion modes is described.

도 8aλŠ” λΉ„λ””μ˜€ 인코더(100)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ μ‘μ μœΌλ‘œ κ΅¬μ„±ν•˜λŠ” κ³Όμ •μ˜μΌ 예λ₯Ό λ‚˜νƒ€λ‚Έ ν”Œλ‘œμš° μ°¨νŠΈμ΄λ‹€.FIG. 8a is a flow chart showing an example of a process in which a video encoder (100) adaptively configures conversion mode information.

후보 λ³€ν™˜ λͺ¨λ“œλ‘œμ„œ 1, 2, 8, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 508, 514)κ°€ κ²°μ •λœ 경우, λΉ„λ””μ˜€ 인코더(100)λŠ” λ‹€μŒμ˜ 과정듀을 순차적으둜 μˆ˜ν–‰ν•˜μ—¬ 1, 2, 8, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 508, 514) 쀑 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ‘œ κ²°μ •λœ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ„€μ •ν•  수 μžˆλ‹€. When conversion modes 1, 2, 8, and 14 (501, 502, 508, and 514) are determined as candidate conversion modes, the video encoder (100) can sequentially perform the following processes to set conversion mode information indicating the conversion mode determined as the conversion mode of the current block among conversion modes 1, 2, 8, and 14 (501, 502, 508, and 514).

도 8aλ₯Ό μ°Έμ‘°ν•˜λ©΄, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성을 νŒλ‹¨ν•˜κ³ (S801), λ§Œμ•½ ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  및 μˆ˜ν‰ λ°©ν–₯ 뢄할이 λͺ¨λ‘ λΆˆκ°€λŠ₯ν•œ 경우, λ³„λ„μ˜ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ„€μ •ν•˜μ§€ μ•Šκ³  ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό 1번 λ³€ν™˜ λͺ¨λ“œ(501)둜 μ„€μ •ν•œλ‹€(S802). 이 경우, μ΄ν•˜μ˜ 과정은 μˆ˜ν–‰λ˜μ§€ μ•Šκ³  ν˜„μž¬ 블둝에 λŒ€ν•œ λ³€ν™˜ λͺ¨λ“œ μ„€μ • 과정은 μ’…λ£Œλœλ‹€. Referring to FIG. 8a, the video encoder (100) determines the horizontal and vertical divisibility of the current block (S801), and if the current block cannot be arbitrarily divided into both vertical and horizontal directions, sets the conversion mode of the current block to conversion mode 1 (501) (S802) without setting separate conversion mode information. In this case, the following process is not performed, and the conversion mode setting process for the current block is terminated.

λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  및 μˆ˜ν‰ λ°©ν–₯ 뢄할이 λͺ¨λ‘ λΆˆκ°€λŠ₯ν•œ κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, ν˜„μž¬ λΈ”λ‘μ˜ 졜적 λ³€ν™˜ λͺ¨λ“œμ— λ”°λΌμ„œ ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ—ˆλŠ”μ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S803), i) 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•˜λŠ”μ§€ μ—¬λΆ€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 정보(예λ₯Ό λ“€μ–΄, '0'은 λ―ΈλΆ„ν• (수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 미쑴재), '1'은 뢄할을 가리킴)λ₯Ό λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ 첫 번째 μ •λ³΄λ‘œμ„œ μ„€μ •ν•˜μ—¬ μ „μ†‘ν•œλ‹€. 예λ₯Ό λ“€μ–΄, λΉ„λ””μ˜€ 인코더(100)λŠ” μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  λ˜λŠ” μˆ˜ν‰ λ°©ν–₯ 뢄할이 κ°€λŠ₯ν•˜λ©΄μ„œ, κ²°μ •λœ μ΅œμ’… λ³€ν™˜ λͺ¨λ“œκ°€ ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ§€ μ•ŠλŠ” 1번 λ³€ν™˜ λͺ¨λ“œμΈ 경우라면 i)의 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•˜λŠ”μ§€ μ—¬λΆ€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ •λ³΄λ‘œμ„œ '0'λ§Œμ„ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— ν¬ν•¨μ‹œν‚¨λ‹€(S804). λΉ„λ””μ˜€ 인코더(100)λŠ” λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œμ„œ'0'을 λΉ„νŠΈμŠ€νŠΈλ¦Όμ— ν¬ν•¨μ‹œν‚¨ 경우 μ΄ν•˜μ˜ 좔가적인 λ³€ν™˜ λͺ¨λ“œμ˜ 정보λ₯Ό κ΅¬μ„±ν•˜λŠ” 과정을 μŠ€ν‚΅ν•˜κ³  λ³€ν™˜ λͺ¨λ“œ μ„€μ • 절차λ₯Ό μ’…λ£Œν•œλ‹€. The video encoder (100) determines whether the current block has been divided according to the optimal transformation mode of the current block, unless both vertical division and horizontal division are arbitrarily impossible for the current block (S803), and sets and transmits information indicating whether i) vertical or horizontal division exists (e.g., '0' indicates non-division (no vertical or horizontal division exists), '1' indicates division) as the first information of the transformation mode information. For example, if the video encoder (100) allows arbitrarily vertical division or horizontal division and the determined final transformation mode is transformation mode 1 in which the current block is not divided, the video encoder (100) includes only '0' as information indicating whether i) vertical or horizontal division exists in the bitstream (S804). If the video encoder (100) includes '0' in the bitstream as the transformation mode information, the video encoder skips the process of configuring the information of the additional transformation mode below and ends the transformation mode setting procedure.

λ§Œμ•½, ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  λ˜λŠ” μˆ˜ν‰ λ°©ν–₯ 뢄할이 κ°€λŠ₯ν•˜λ©΄μ„œ κ²°μ •λœ μ΅œμ’… λ³€ν™˜ λͺ¨λ“œκ°€ 1번 λ³€ν™˜ λͺ¨λ“œκ°€ μ•„λ‹ˆκ³  ν˜„μž¬ 블둝이 λΆ„ν• λ˜λŠ” 경우, λΉ„λ””μ˜€ 인코더(100)λŠ” i)의 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•˜λŠ”μ§€ μ—¬λΆ€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ •λ³΄λ‘œμ„œ '1'을 μ„€μ •ν•˜μ—¬ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ 첫 번째 λΉ„νŠΈλ₯Ό ꡬ성할 수 μžˆλ‹€. ν˜„μž¬ 블둝이 λΆ„ν• λ˜λŠ” 경우, 1, 2, 8, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 508, 514) μ€‘μ—μ„œ ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ§€ μ•ŠλŠ” 1번 λ³€ν™˜ λͺ¨λ“œ(501)λ₯Ό μ œμ™Έν•˜κ³  2, 8, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 508, 514) 쀑 ν˜„μž¬ λΈ”λ‘μ˜ 졜적 λ³€ν™˜ λͺ¨λ“œλ‘œ κ²°μ •λœ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” 정보가 μΆ”κ°€λ‘œ 전솑될 ν•„μš”κ°€ μžˆλ‹€. If the current block can be arbitrarily divided vertically or horizontally and the final transformation mode determined is not transformation mode 1 and the current block is divided, the video encoder (100) can configure the first bit of the transformation mode information by setting '1' as information indicating whether vertical or horizontal division of i) exists. If the current block is divided, information indicating a transformation mode determined as the optimal transformation mode of the current block among transformation modes 2, 8, and 14 (502, 508, 514), excluding transformation mode 1 (501) in which the current block is not divided, needs to be additionally transmitted.

μΆ”κ°€λ‘œ μ „μ†‘λ˜λŠ” λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λ˜λŠ” μˆ˜ν‰ λ°©ν–₯으둜 λΆ„ν•  κ°€λŠ₯ν•œμ§€ μ—¬λΆ€ 및 후보 λ³€ν™˜ λͺ¨λ“œμ˜ ꡬ성에 λ”°λΌμ„œ μ μ‘μ μœΌλ‘œ ꡬ성될 수 μžˆλ‹€. λ˜ν•œ, μΆ”κ°€λ‘œ μ „μ†‘λ˜λŠ” λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λŠ” 후보 λ³€ν™˜ λͺ¨λ“œμ— ν¬ν•¨λœ λ³€ν™˜ λͺ¨λ“œ 쀑 일 λ°©ν–₯으둜만 ν˜„μž¬ 블둝이 λΆ„ν• λ˜λŠ” λͺ¨λ“œμ™€ 4λΆ„ν• λ˜λŠ” 14번 λ³€ν™˜ λͺ¨λ“œ(514) 쀑 ν•˜λ‚˜κ°€ μ‹λ³„λ˜λ„λ‘ μ μ‘μ μœΌλ‘œ ꡬ성될 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, λ§Œμ•½ ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  λ˜λŠ” μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  쀑 ν•˜λ‚˜μ˜ λ°©ν–₯으둜만 λΆ„ν• κ°€λŠ₯ν•œ 경우, λΉ„λ””μ˜€ 인코더(100)λŠ” 일 λ°©ν–₯으둜 λΆ„ν• λ˜λŠ” λ³€ν™˜ λͺ¨λ“œλ“€μΈ 2, 8번 λ³€ν™˜ λͺ¨λ“œλ“€(502, 508) μ€‘μ—μ„œ λΆ„ν• κ°€λŠ₯ν•œ λ°©ν–₯으둜 λΆ„ν• λ˜μ§€ μ•ŠλŠ” λ³€ν™˜ λͺ¨λ“œλ₯Ό μ œμ™Έν•˜κ³ , λΆ„ν•  κ°€λŠ₯ν•œ λ°©ν–₯으둜 λΆ„ν• λ˜λŠ” λ³€ν™˜ λͺ¨λ“œμ™€ 4λΆ„ν• λ˜λŠ” 14번 λ³€ν™˜ λͺ¨λ“œ(514) 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό λ³€ν™˜ λͺ¨λ“œ 정보에 μΆ”κ°€ν•˜μ—¬ 전솑할 수 μžˆλ‹€. The additionally transmitted transformation mode information may be adaptively configured depending on whether the current block is arbitrarily divisible in the vertical or horizontal direction and the configuration of the candidate transformation mode. In addition, the additionally transmitted transformation mode information may be adaptively configured to identify one of the transformation modes included in the candidate transformation mode, in which the current block is divided in only one direction, and one of the 14 transformation modes (514) in which the current block is divided into four. For example, if the current block is arbitrarily divisible in only one direction, either vertical or horizontal, the video encoder (100) may transmit information indicating one of the transformation modes in which the current block is divided in the divisible direction and the 14 transformation modes (514) in which the current block is divided into four directions, by adding the information to the transformation mode information.

ꡬ체적으둜, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯으둜만 λΆ„ν• κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S805), λ§Œμ•½ ν˜„μž¬ 블둝이 μˆ˜ν‰ λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우, ν˜„μž¬ 블둝이 수직 λΆ„ν• λ˜λŠ” 8번 λ³€ν™˜ λͺ¨λ“œ(508)λ₯Ό μ œμ™Έν•˜κ³  2, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” 정보(예λ₯Ό λ“€μ–΄, '0'은 2번 λ³€ν™˜ λͺ¨λ“œ(502), '1'은 14번 λ³€ν™˜ λͺ¨λ“œ(514)λ₯Ό 가리킴)λ₯Ό μ„€μ •ν•˜μ—¬ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— μΆ”κ°€ν•  수 μžˆλ‹€(S806). μ˜ˆμ‹œμ μœΌλ‘œ, ν˜„μž¬ λΈ”λ‘μ˜ 후보 λ³€ν™˜ λͺ¨λ“œλ‘œ 1, 2, 8, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 508, 514)κ°€ κ²°μ •λ˜μ—ˆκ³ , ν˜„μž¬ λΈ”λ‘μ˜ 졜적 λ³€ν™˜ λͺ¨λ“œλ‘œμ„œ 2번 λ³€ν™˜ λͺ¨λ“œκ°€ κ²°μ •λ˜μ—ˆκ³ , ν˜„μž¬ 블둝이 μˆ˜ν‰ λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우 λΉ„λ””μ˜€ 인코더(100)λŠ” λΆ„ν•  μ—¬λΆ€λ₯Ό κ°€λ¦¬ν‚€λŠ” 첫 번째 λΉ„νŠΈμΈ'1'κ³Ό, 2, 14번 λ³€ν™˜ λͺ¨λ“œ 쀑 2번 λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ”'0'으둜 κ΅¬μ„±λœ '10'을 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œ κ²°μ •ν•˜μ—¬ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— λΆ€κ°€ν•œλ‹€. 상기 μ˜ˆμ—μ„œ, λ§Œμ•½ ν˜„μž¬ λΈ”λ‘μ˜ 졜적 λ³€ν™˜ λͺ¨λ“œκ°€ 14번 λ³€ν™˜ λͺ¨λ“œ(514)인 경우, '11'이 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œ μ„€μ •λœλ‹€.Specifically, the video encoder (100) determines whether the current block can be divided only in the horizontal direction (S805), and if the current block can be divided only horizontally, information indicating the transformation mode of the current block among transformation modes 2 and 14 (502, 514), excluding transformation mode 8 (508) in which the current block is divided vertically (for example, '0' indicates transformation mode 2 (502), '1' indicates transformation mode 14 (514)) can be set and added to the bitstream (S806). For example, if conversion modes 1, 2, 8, and 14 (501, 502, 508, and 514) are determined as candidate conversion modes of the current block, conversion mode 2 is determined as the optimal conversion mode of the current block, and if the current block can only be horizontally split, the video encoder (100) determines '10', which is composed of '1', the first bit indicating whether to split, and '0', which indicates conversion mode 2 among conversion modes 2 and 14, as conversion mode information and adds it to the bitstream. In the above example, if the optimal conversion mode of the current block is conversion mode 14 (514), '11' is set as conversion mode information.

λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯으둜만 λΆ„ν• κ°€λŠ₯ν•œ κ²½μš°κ°€ μ•„λ‹Œ 경우, 수직 λ°©ν–₯으둜만 λΆ„ν• κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S807), ν˜„μž¬ 블둝이 수직 λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우, ν˜„μž¬ 블둝이 μˆ˜ν‰ λΆ„ν• λ˜λŠ” 2번 λ³€ν™˜ λͺ¨λ“œ(502)λ₯Ό μ œμ™Έν•˜κ³ , 8, 14번 λ³€ν™˜ λͺ¨λ“œ(508, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” 정보(예λ₯Ό λ“€μ–΄, '0'은 8번 λ³€ν™˜ λͺ¨λ“œ(508), '1'은 14번 λ³€ν™˜ λͺ¨λ“œ(514)λ₯Ό 가리킴)λ₯Ό μ„€μ •ν•˜μ—¬ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— μΆ”κ°€ν•  수 μžˆλ‹€(S808). μ˜ˆμ‹œμ μœΌλ‘œ, ν˜„μž¬ λΈ”λ‘μ˜ 후보 λ³€ν™˜ λͺ¨λ“œλ‘œ 1, 2, 8, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 508, 514)κ°€ κ²°μ •λ˜μ—ˆκ³ , ν˜„μž¬ λΈ”λ‘μ˜ 졜적 λ³€ν™˜ λͺ¨λ“œλ‘œμ„œ 8번 λ³€ν™˜ λͺ¨λ“œκ°€ κ²°μ •λ˜μ—ˆκ³ , ν˜„μž¬ 블둝이 수직 λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우 λΉ„λ””μ˜€ 인코더(100)λŠ” λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œμ„œ 뢄할을 κ°€λ¦¬ν‚€λŠ” 첫 번째 λΉ„νŠΈμΈ '1'κ³Ό, 2, 14번 λ³€ν™˜ λͺ¨λ“œ μ€‘μ—μ„œ 8번 λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” '0'으둜 κ΅¬μ„±λœ '10'을 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œ κ²°μ •ν•˜μ—¬ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— λΆ€κ°€ν•œλ‹€. 상기 μ˜ˆμ—μ„œ, λ§Œμ•½ ν˜„μž¬ λΈ”λ‘μ˜ 졜적 λ³€ν™˜ λͺ¨λ“œκ°€ 14번 λ³€ν™˜ λͺ¨λ“œ(514)인 경우, '11'이 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œ μ„€μ •λœλ‹€.The video encoder (100) determines whether the current block is divisible only in the vertical direction (S807), if the current block is not divisible only in the horizontal direction, and if the current block is divisible only in the vertical direction, information indicating the conversion mode of the current block among conversion modes (508, 514) 8 and 14, excluding conversion mode 2 (502) in which the current block is divided horizontally (for example, '0' indicates conversion mode 8 (508), '1' indicates conversion mode 14 (514)) can be set and added to the bitstream (S808). For example, if transformation modes 1, 2, 8, and 14 (501, 502, 508, and 514) are determined as candidate transformation modes of the current block, and transformation mode 8 is determined as the optimal transformation mode of the current block, and if the current block can only be vertically divided, the video encoder (100) determines '10', which is composed of '1', the first bit indicating division as transformation mode information, and '0', which indicates transformation mode 8 among transformation modes 2 and 14, as transformation mode information, and adds it to the bitstream. In the above example, if the optimal transformation mode of the current block is transformation mode 14 (514), '11' is set as the transformation mode information.

ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ λ˜λŠ” 수직 λ°©ν–₯ 쀑 일 λ°©ν–₯으둜만 λΆ„ν• κ°€λŠ₯ν•œ κ²½μš°κ°€ μ•„λ‹Œ 경우, 즉 ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ 및 수직 λ°©ν–₯ λͺ¨λ‘λ‘œ λΆ„ν• κ°€λŠ₯ν•œ 경우, λΉ„λ””μ˜€ 인코더(100)λŠ” 2, 8, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 508, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό μ„€μ •ν•˜μ—¬ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— μΆ”κ°€ν•  수 μžˆλ‹€(S809).If the current block is not divisible in only one of the horizontal and vertical directions, i.e., if the current block is divisible in both the horizontal and vertical directions, the video encoder (100) can set information indicating the conversion mode of the current block among conversion modes 2, 8, and 14 (502, 508, and 514) and add it to the bitstream (S809).

도 8bλŠ” λΉ„λ””μ˜€ 디코더(200)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ μ‘μ μœΌλ‘œ κ²°μ •ν•˜λŠ” κ³Όμ •μ˜ 일 예λ₯Ό λ‚˜νƒ€λ‚Έ ν”Œλ‘œμš° μ°¨νŠΈμ΄λ‹€. 도 8b의 과정은 도 8a에 따라 λΉ„λ””μ˜€ 인코더(100)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ„€μ •ν•˜λŠ” 과정에 λŒ€μ‘λ˜μ–΄, λΉ„λ””μ˜€ 디코더(200)κ°€ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜λŠ” 과정이닀.Fig. 8b is a flowchart illustrating an example of a process in which a video decoder (200) adaptively determines conversion mode information. The process in Fig. 8b corresponds to the process in which a video encoder (100) sets conversion mode information according to Fig. 8a, and is a process in which a video decoder (200) determines a conversion mode.

도 8bλ₯Ό μ°Έμ‘°ν•˜λ©΄, λΉ„λ””μ˜€ 디코더(200)λŠ” 도 8a에 λ”°λ₯Έ λΉ„λ””μ˜€ 인코더(100)μ—μ„œ μˆ˜ν–‰λœ κ³Όμ •κ³Ό λ™μΌν•˜κ²Œ ν˜„μž¬ λΈ”λ‘μ˜ μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성을 νŒλ‹¨ν•˜κ³ (S811), λ§Œμ•½ ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  및 μˆ˜ν‰ λ°©ν–₯ 뢄할이 λͺ¨λ‘ λΆˆκ°€λŠ₯ν•œ 경우, λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° λ³„λ„μ˜ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό νŒŒμ‹±ν•˜μ§€ μ•Šκ³ μ„œλ„ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό 1번 λ³€ν™˜ λͺ¨λ“œ(501)둜 μ„€μ •ν•  수 μžˆλ‹€(S812).Referring to FIG. 8b, the video decoder (200) determines the horizontal divisibility and vertical divisibility of the current block in the same manner as the process performed in the video encoder (100) according to FIG. 8a (S811), and if the current block is arbitrarily impossible to be divided vertically or horizontally, the conversion mode of the current block can be set to conversion mode 1 (501) without parsing separate conversion mode information from the bitstream (S812).

λΉ„λ””μ˜€ 디코더(200)λŠ” λ§Œμ•½ ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  및 μˆ˜ν‰ λ°©ν–₯ 뢄할이 λͺ¨λ‘ λΆˆκ°€λŠ₯ν•œ κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό νšλ“ν•˜μ—¬ νŒŒμ‹±ν•˜κ³ , νŒŒμ‹±λœ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œλΆ€ν„° ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  μ—¬λΆ€λ₯Ό νŒλ‹¨ν•œλ‹€(S813). 예λ₯Ό λ“€μ–΄, λ§Œμ•½ ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  λ˜λŠ” μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  쀑 적어도 ν•˜λ‚˜κ°€ κ°€λŠ₯ν•˜λ©΄μ„œ λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œμ„œ '0'이 νšλ“λœ 경우, λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ§€ μ•ŠλŠ” 1번 λ³€ν™˜ λͺ¨λ“œ(501)둜 μ„€μ •ν•  수 μžˆλ‹€(S815). 이 경우, λΉ„λ””μ˜€ 디코더(200)λŠ” 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό νŒŒμ‹±ν•˜μ§€ μ•Šκ³  ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œ κ²°μ • 과정을 μ’…λ£Œν•  수 μžˆλ‹€.The video decoder (200) obtains and parses transformation mode information from the bitstream, unless the current block is arbitrarily incapable of both vertical and horizontal division, and determines whether the current block is to be divided based on the parsed transformation mode information (S813). For example, if the current block is arbitrarily capable of at least one of vertical division or horizontal division and '0' is obtained as transformation mode information from the bitstream, the video decoder (200) can set the transformation mode of the current block to transformation mode 1 (501) in which the current block is not to be divided (S815). In this case, the video decoder (200) can end the transformation mode determination process of the current block without parsing additional transformation mode information.

λΉ„λ””μ˜€ 디코더(200)λŠ” λ§Œμ•½ ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  λ˜λŠ” μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  쀑 적어도 ν•˜λ‚˜κ°€ κ°€λŠ₯ν•˜λ©΄μ„œ λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ 첫 번째 λΉ„νŠΈλ‘œμ„œ '1'이 νšλ“λœ 경우, λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ 첫 번째 λΉ„νŠΈλ₯Ό λ’€λ”°λ₯΄λŠ” λΉ„νŠΈ 정보λ₯Ό νŒŒμ‹±ν•˜μ—¬ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•  수 μžˆλ‹€. 즉, λΉ„λ””μ˜€ 디코더(200)λŠ” λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ 첫 번째 λΉ„νŠΈκ°€ '1', 즉 ν˜„μž¬ 블둝에 적어도 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•˜λŠ” κ²ƒμœΌλ‘œ νŒλ‹¨λœ 경우, ν˜„μž¬ λΈ”λ‘μ˜ μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± λ˜λŠ” 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성을 νŒλ‹¨ν•˜κ³ , μˆ˜ν‰ λ˜λŠ” 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성에 κΈ°μ΄ˆν•˜μ—¬ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ 첫 번째 λΉ„νŠΈ μ΄ν›„μ˜ μΆ”κ°€ λΉ„νŠΈλ₯Ό νŒŒμ‹±ν•˜μ—¬ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•  수 μžˆλ‹€.The video decoder (200) can determine the transformation mode of the current block by parsing the bit information following the first bit of the transformation mode information if the current block is capable of at least one of vertical division or horizontal division and the first bit of the transformation mode information is obtained as '1' from the bitstream. That is, if the first bit of the transformation mode information from the bitstream is '1', i.e., if it is determined that at least vertical or horizontal division exists in the current block, the video decoder (200) can determine the possibility of horizontal division or vertical division of the current block, and parse additional bits following the first bit of the transformation mode information based on the possibility of horizontal or vertical division to determine the transformation mode of the current block.

ꡬ체적으둜, λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ 블둝이 μˆ˜ν‰ λΆ„ν• λ§Œ κ°€λŠ₯ν•œ μ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S815), ν˜„μž¬ 블둝이 μˆ˜ν‰ λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우, ν˜„μž¬ 블둝이 수직 λΆ„ν• λ˜λŠ” 8번 λ³€ν™˜ λͺ¨λ“œ(508)λ₯Ό μ œμ™Έν•˜κ³ , 2, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” 정보(예λ₯Ό λ“€μ–΄, '0'은 2번 λ³€ν™˜ λͺ¨λ“œ(502), '1'은 14번 λ³€ν™˜ λͺ¨λ“œ(514)λ₯Ό 가리킴)λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° νšλ“ν•  수 μžˆλ‹€(S816). μ˜ˆμ‹œμ μœΌλ‘œ, ν˜„μž¬ λΈ”λ‘μ˜ 후보 λ³€ν™˜ λͺ¨λ“œλ‘œ 1, 2, 8, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 508, 514)κ°€ κ²°μ •λ˜μ—ˆκ³ , ν˜„μž¬ 블둝이 μˆ˜ν‰ λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우 λΉ„λ””μ˜€ 디코더(100)λŠ” λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œμ„œ ν˜„μž¬ λΈ”λ‘μ˜ 뢄할을 κ°€λ¦¬ν‚€λŠ”'1'κ³Ό, 2번 λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” '0'으둜 κ΅¬μ„±λœ '10'을 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œ νšλ“ν•œ 경우, λ³€ν™˜ λͺ¨λ“œ 정보에 κΈ°μ΄ˆν•˜μ—¬ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό 2번 λ³€ν™˜ λͺ¨λ“œ(502)둜 κ²°μ •ν•  수 μžˆλ‹€. 상기 μ˜ˆμ—μ„œ, λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œμ„œ '11'이 νšλ“λœ 경우, λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œκ°€ 14번 λ³€ν™˜ λͺ¨λ“œ(514)인 κ²ƒμœΌλ‘œ κ²°μ •ν•  수 μžˆλ‹€.Specifically, the video decoder (200) determines whether the current block can only be horizontally divided (S815), and if the current block can only be horizontally divided, information indicating the transformation mode of the current block among transformation modes 2 and 14 (502, 514), excluding transformation mode 8 (508) in which the current block is vertically divided (for example, '0' indicates transformation mode 2 (502), and '1' indicates transformation mode 14 (514)) can be obtained from the bitstream (S816). For example, if transformation modes 1, 2, 8, and 14 (501, 502, 508, and 514) are determined as candidate transformation modes of the current block, and if the current block can only be horizontally divided, the video decoder (100) may determine the transformation mode of the current block as transformation mode 2 (502) based on the transformation mode information when '10' consisting of '1' indicating division of the current block and '0' indicating transformation mode 2 is obtained as transformation mode information. In the above example, if '11' is obtained as transformation mode information, the video decoder (200) may determine that the transformation mode of the current block is transformation mode 14 (514).

λ§Œμ•½ ν˜„μž¬ 블둝이 μˆ˜ν‰ λΆ„ν• λ§Œ κ°€λŠ₯ν•œ κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ 블둝이 수직 λΆ„ν• λ§Œ κ°€λŠ₯ν•œ μ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•œλ‹€(S817). λ§Œμ•½, ν˜„μž¬ 블둝이 수직 λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우, λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ 블둝이 μˆ˜ν‰ λΆ„ν• λ˜λŠ” 2번 λ³€ν™˜ λͺ¨λ“œ(502)λ₯Ό μ œμ™Έν•˜κ³ , 8, 14번 λ³€ν™˜ λͺ¨λ“œ(508, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” 정보(예λ₯Ό λ“€μ–΄, '0'은 8번 λ³€ν™˜ λͺ¨λ“œ(508), '1'은 14번 λ³€ν™˜ λͺ¨λ“œ(514)λ₯Ό 가리킴)λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° νšλ“ν•  수 μžˆλ‹€. ν˜„μž¬ 블둝이 수직 λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우 λΉ„λ””μ˜€ 디코더(100)λŠ” λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œμ„œ ν˜„μž¬ λΈ”λ‘μ˜ 뢄할을 κ°€λ¦¬ν‚€λŠ”'1'κ³Ό, 8번 λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” '0'으둜 κ΅¬μ„±λœ '10'을 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œ νšλ“ν•œ 경우, λ³€ν™˜ λͺ¨λ“œ 정보에 κΈ°μ΄ˆν•˜μ—¬ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό 8번 λ³€ν™˜ λͺ¨λ“œ(508)둜 κ²°μ •ν•  수 μžˆλ‹€. 상기 μ˜ˆμ—μ„œ, λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œμ„œ '11'이 νšλ“λœ 경우, λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œκ°€ 14번 λ³€ν™˜ λͺ¨λ“œ(514)인 κ²ƒμœΌλ‘œ κ²°μ •ν•  수 μžˆλ‹€.If the current block is not capable of only horizontal division, the video decoder (200) determines whether the current block is capable of only vertical division (S817). If the current block is capable of only vertical division, the video decoder (200) can obtain information indicating the transformation mode of the current block from among transformation modes (508, 514) 8 and 14, excluding transformation mode 2 (502) in which the current block is horizontally divided, from the bitstream (for example, '0' indicates transformation mode 8 (508), '1' indicates transformation mode 14 (514)). If the current block is capable of only vertical division, the video decoder (100) can determine the transformation mode of the current block as transformation mode 8 (508) based on the transformation mode information if the transformation mode information is '10', which is composed of '1' indicating division of the current block and '0' indicating transformation mode 8. In the above example, if '11' is acquired as conversion mode information, the video decoder (200) can determine that the conversion mode of the current block is conversion mode 14 (514).

ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ λ˜λŠ” 수직 λ°©ν–₯ 쀑 일 λ°©ν–₯으둜만 λΆ„ν• κ°€λŠ₯ν•œ κ²½μš°κ°€ μ•„λ‹Œ 경우, 즉 ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ 및 수직 λ°©ν–₯ λͺ¨λ‘λ‘œ λΆ„ν• κ°€λŠ₯ν•œ 경우, λΉ„λ””μ˜€ 디코더(200)λŠ” 2, 8, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 508, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό κ°€λ¦¬ν‚€λŠ” λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° νšλ“ν•˜κ³ , νŒŒμ‹±λœ λ³€ν™˜ λͺ¨λ“œ 정보가 κ°€λ¦¬ν‚€λŠ” λ³€ν™˜ λͺ¨λ“œλ₯Ό ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ‘œ κ²°μ •ν•  수 μžˆλ‹€(S819).If the current block is not divisible in only one of the horizontal and vertical directions, i.e., if the current block is divisible in both the horizontal and vertical directions, the video decoder (200) can obtain transformation mode information indicating the transformation mode of the current block from among the transformation modes 2, 8, and 14 (502, 508, and 514) from the bitstream, and determine the transformation mode indicated by the parsed transformation mode information as the transformation mode of the current block (S819).

μ΄ν•˜, λ‹€λ₯Έ μ˜ˆμ‹œλ‘œ, 후보 λ³€ν™˜ λͺ¨λ“œλ‘œμ„œ 1, 2, 3, 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 508, 509, 514)의 6개의 λ³€ν™˜ λͺ¨λ“œκ°€ κ²°μ •λœ 경우, λΉ„λ””μ˜€ 인코더(100)κ°€ 후보 λ³€ν™˜ λͺ¨λ“œλ“€ 쀑 졜적 λ³€ν™˜ λͺ¨λ“œμ— λŒ€ν•œ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ μ‘μ μœΌλ‘œ κ΅¬μ„±ν•˜λŠ” 과정을 μ„€λͺ…ν•œλ‹€.Hereinafter, as another example, when six conversion modes (501, 502, 503, 508, 509, 514) of conversion modes 1, 2, 3, 8, 9, and 14 are determined as candidate conversion modes, a process in which a video encoder (100) adaptively configures conversion mode information for an optimal conversion mode among the candidate conversion modes is described.

도 8cλŠ” λΉ„λ””μ˜€ 인코더(100)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ μ‘μ μœΌλ‘œ κ΅¬μ„±ν•˜λŠ” κ³Όμ •μ˜ λ‹€λ₯Έ 예λ₯Ό λ‚˜νƒ€λ‚Έ ν”Œλ‘œμš° μ°¨νŠΈμ΄λ‹€.FIG. 8c is a flow chart showing another example of a process in which a video encoder (100) adaptively configures conversion mode information.

후보 λ³€ν™˜ λͺ¨λ“œλ‘œμ„œ 1, 2, 3, 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 508, 509, 514)κ°€ κ²°μ •λœ 경우, λΉ„λ””μ˜€ 인코더(100)λŠ” λ‹€μŒμ˜ 과정듀을 순차적으둜 μˆ˜ν–‰ν•˜μ—¬ 1, 2, 3, 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 508, 509, 514) 쀑 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ‘œ κ²°μ •λœ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ„€μ •ν•  수 μžˆλ‹€. When conversion modes 1, 2, 3, 8, 9, and 14 (501, 502, 503, 508, 509, and 514) are determined as candidate conversion modes, the video encoder (100) can sequentially perform the following processes to set conversion mode information indicating the conversion mode determined as the conversion mode of the current block among conversion modes 1, 2, 3, 8, 9, and 14 (501, 502, 503, 508, 509, and 514).

도 8cλ₯Ό μ°Έμ‘°ν•˜λ©΄, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성을 νŒλ‹¨ν•˜κ³ (S821), λ§Œμ•½ ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  및 μˆ˜ν‰ λ°©ν–₯ 뢄할이 λͺ¨λ‘ λΆˆκ°€λŠ₯ν•œ 경우, λ³„λ„μ˜ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ„€μ •ν•˜μ§€ μ•Šκ³  ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό 1번 λ³€ν™˜ λͺ¨λ“œ(501)둜 μ„€μ •ν•œλ‹€(S822). 이 경우, μ΄ν•˜μ˜ 과정은 μˆ˜ν–‰λ˜μ§€ μ•Šκ³  ν˜„μž¬ 블둝에 λŒ€ν•œ λ³€ν™˜ λͺ¨λ“œ μ„€μ • 과정은 μ’…λ£Œλœλ‹€. Referring to FIG. 8c, the video encoder (100) determines the horizontal and vertical divisibility of the current block (S821), and if the current block cannot be arbitrarily divided into both vertical and horizontal directions, sets the conversion mode of the current block to conversion mode 1 (501) (S822) without setting separate conversion mode information. In this case, the following process is not performed, and the conversion mode setting process for the current block is terminated.

λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  및 μˆ˜ν‰ λ°©ν–₯ 뢄할이 λͺ¨λ‘ λΆˆκ°€λŠ₯ν•œ κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, ν˜„μž¬ λΈ”λ‘μ˜ 졜적 λ³€ν™˜ λͺ¨λ“œμ— λ”°λΌμ„œ ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ—ˆλŠ”μ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S823), i) 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•˜λŠ”μ§€ μ—¬λΆ€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 정보(예λ₯Ό λ“€μ–΄, '0'은 λ―ΈλΆ„ν• (수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 미쑴재), '1'은 뢄할을 가리킴)λ₯Ό λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ 첫 번째 μ •λ³΄λ‘œμ„œ μ„€μ •ν•˜μ—¬ μ „μ†‘ν•œλ‹€. 예λ₯Ό λ“€μ–΄, λΉ„λ””μ˜€ 인코더(100)λŠ” μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  λ˜λŠ” μˆ˜ν‰ λ°©ν–₯ 뢄할이 κ°€λŠ₯ν•˜λ©΄μ„œ, κ²°μ •λœ μ΅œμ’… λ³€ν™˜ λͺ¨λ“œκ°€ ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ§€ μ•ŠλŠ” 1번 λ³€ν™˜ λͺ¨λ“œμΈ 경우라면 i)의 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•˜λŠ”μ§€ μ—¬λΆ€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ •λ³΄λ‘œμ„œ '0'λ§Œμ„ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— ν¬ν•¨μ‹œν‚¨λ‹€(S824). λΉ„λ””μ˜€ 인코더(100)λŠ” λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œμ„œ'0'을 λΉ„νŠΈμŠ€νŠΈλ¦Όμ— ν¬ν•¨μ‹œν‚¨ 경우 μ΄ν•˜μ˜ 좔가적인 λ³€ν™˜ λͺ¨λ“œμ˜ 정보λ₯Ό κ΅¬μ„±ν•˜λŠ” 과정을 μŠ€ν‚΅ν•˜κ³  λ³€ν™˜ λͺ¨λ“œ μ„€μ • 절차λ₯Ό μ’…λ£Œν•œλ‹€. The video encoder (100) determines whether the current block has been divided according to the optimal transformation mode of the current block, unless both vertical division and horizontal division are arbitrarily impossible for the current block (S823), and sets and transmits information indicating whether i) vertical or horizontal division exists (e.g., '0' indicates non-division (no vertical or horizontal division exists), '1' indicates division) as the first information of the transformation mode information. For example, if the video encoder (100) allows arbitrarily vertical division or horizontal division and the determined final transformation mode is transformation mode 1 in which the current block is not divided, the video encoder (100) includes only '0' in the bitstream as information indicating whether i) vertical or horizontal division exists (S824). If the video encoder (100) includes '0' in the bitstream as the transformation mode information, the video encoder skips the process of configuring the information of the additional transformation mode below and ends the transformation mode setting procedure.

λ§Œμ•½, ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  λ˜λŠ” μˆ˜ν‰ λ°©ν–₯ 뢄할이 κ°€λŠ₯ν•˜λ©΄μ„œ κ²°μ •λœ μ΅œμ’… λ³€ν™˜ λͺ¨λ“œκ°€ 1번 λ³€ν™˜ λͺ¨λ“œκ°€ μ•„λ‹ˆκ³  ν˜„μž¬ 블둝이 λΆ„ν• λ˜λŠ” 경우, λΉ„λ””μ˜€ 인코더(100)λŠ” i)의 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•˜λŠ”μ§€ μ—¬λΆ€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ •λ³΄λ‘œμ„œ '1'을 μ„€μ •ν•˜μ—¬ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ 첫 번째 λΉ„νŠΈλ₯Ό κ΅¬μ„±ν•œ λ‹€μŒ, 1, 2, 3, 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 508, 509, 514) μ€‘μ—μ„œ ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ§€ μ•ŠλŠ” 1번 λ³€ν™˜ λͺ¨λ“œ(501)λ₯Ό μ œμ™Έν•˜κ³  2, 3, 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 508, 509, 514) 쀑 ν˜„μž¬ λΈ”λ‘μ˜ 졜적 λ³€ν™˜ λͺ¨λ“œλ‘œ κ²°μ •λœ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” 정보가 μΆ”κ°€λ‘œ μ „μ†‘λ˜μ–΄μ•Ό ν•˜λŠ”μ§€λ₯Ό νŒλ‹¨ν•œλ‹€. λ§Œμ•½, ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ λ˜λŠ” 수직 λ°©ν–₯ 쀑 ν•˜λ‚˜μ˜ λ°©ν–₯으둜만 λΆ„ν• κ°€λŠ₯ν•˜κ³ , 후보 λ³€ν™˜ λͺ¨λ“œλ“€ 쀑 ν•΄λ‹Ή λΆ„ν• κ°€λŠ₯ν•œ λ°©ν–₯으둜 ν˜„μž¬ 블둝이 λΆ„ν• λ˜λŠ” λ³€ν™˜ λͺ¨λ“œκ°€ 였직 1개만 μ‘΄μž¬ν•˜λŠ” 경우라면, λ³„λ„μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” μ •λ³΄λŠ” μΆ”κ°€λ‘œ 전솑될 ν•„μš”κ°€ μ—†λ‹€. μ™œλƒν•˜λ©΄, λΉ„λ””μ˜€ 디코더(200)κ°€ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ 첫 번째 λΉ„νŠΈλ‘œμ„œ 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•¨μ„ κ°€λ¦¬ν‚€λŠ” '1'을 νšλ“ν•˜μ˜€κ³ , ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ λ˜λŠ” 수직 λ°©ν–₯ 쀑 ν•˜λ‚˜μ˜ λ°©ν–₯으둜만 λΆ„ν• κ°€λŠ₯ν•˜λ©°, 후보 λ³€ν™˜ λͺ¨λ“œλ“€μ— ν•΄λ‹Ή λΆ„ν• κ°€λŠ₯ν•œ λ°©ν–₯으둜 ν˜„μž¬ 블둝이 λΆ„ν• λ˜λŠ” λ³€ν™˜ λͺ¨λ“œκ°€ 였직 1개만 μ‘΄μž¬ν•˜λŠ” 경우라면 λ³„λ„μ˜ μΆ”κ°€ 정보 없이도 ν•΄λ‹Ή λΆ„ν•  κ°€λŠ₯ν•œ λ°©ν–₯으둜 ν˜„μž¬ 블둝이 λΆ„ν• λ˜λŠ” 였직 1개의 λ³€ν™˜ λͺ¨λ“œλ₯Ό λ°”λ‘œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ‘œ κ²°μ •ν•  수 있기 λ•Œλ¬Έμ΄λ‹€.If the current block can be arbitrarily divided vertically or horizontally and the final transformation mode determined is not transformation mode 1 and the current block is divided, the video encoder (100) configures the first bit of the transformation mode information by setting '1' as information indicating whether vertical or horizontal division of i) exists, and then determines whether information indicating a transformation mode determined as the optimal transformation mode of the current block among transformation modes 2, 3, 8, 9, and 14 (501, 502, 503, 508, 509, and 514) excluding transformation mode 1 (501) in which the current block is not divided should be additionally transmitted. If the current block can be split in only one of the horizontal and vertical directions, and there is only one transformation mode among the candidate transformation modes in which the current block is split in the corresponding splittable direction, then information indicating a separate transformation mode does not need to be additionally transmitted. This is because if the video decoder (200) obtains '1' indicating that vertical or horizontal division exists as the first bit of the transformation mode information, and the current block can be split in only one of the horizontal and vertical directions, and there is only one transformation mode among the candidate transformation modes in which the current block is split in the corresponding splittable direction, then the only transformation mode in which the current block is split in the corresponding splittable direction can be determined as the transformation mode of the current block without any additional information.

ꡬ체적으둜, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ μˆ˜ν‰ λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S825), ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우 μˆ˜ν‰ λ°©ν–₯으둜 λΆ„ν• λ˜λŠ” λ³€ν™˜ λͺ¨λ“œμΈ 2번 λ³€ν™˜ λͺ¨λ“œ(502)λ₯Ό ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ‘œ κ²°μ •ν•˜κ³ (S826) λ³„λ„μ˜ 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ „μ†‘ν•˜μ§€ μ•ŠλŠ”λ‹€. 이 경우, 이전 단계(S823)μ—μ„œ μ„€μ •λœ ν˜„μž¬ 블둝에 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•¨μ„ κ°€λ¦¬ν‚€λŠ” '1'만이 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œμ„œ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— λΆ€κ°€λœλ‹€.Specifically, the video encoder (100) determines whether the current block can be arbitrarily divided only in the horizontal direction (S825), and if the current block can be divided only in the horizontal direction, determines the second transformation mode (502), which is a transformation mode that divides in the horizontal direction, as the transformation mode of the current block (S826), and does not transmit any additional transformation mode information separately. In this case, only '1' indicating that there is vertical or horizontal division in the current block set in the previous step (S823) is added to the bitstream as transformation mode information.

λ˜ν•œ, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S827), ν˜„μž¬ 블둝이 수직 λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우 수직 λ°©ν–₯으둜 λΆ„ν• λ˜λŠ” λ³€ν™˜ λͺ¨λ“œμΈ 8번 λ³€ν™˜ λͺ¨λ“œ(508)λ₯Ό ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ‘œ κ²°μ •ν•˜κ³  λ³„λ„μ˜ 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ „μ†‘ν•˜μ§€ μ•ŠλŠ”λ‹€. 이 경우, 이전 단계(S823)μ—μ„œ μ„€μ •λœ ν˜„μž¬ 블둝에 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•¨μ„ κ°€λ¦¬ν‚€λŠ” '1'만이 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œμ„œ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— λΆ€κ°€λœλ‹€.In addition, the video encoder (100) determines whether the current block can be arbitrarily divided only in the vertical direction (S827), and if the current block can be divided only in the vertical direction, determines the 8th transformation mode (508), which is a transformation mode that divides in the vertical direction, as the transformation mode of the current block and does not transmit any additional transformation mode information. In this case, only '1', which indicates that there is vertical or horizontal division in the current block set in the previous step (S823), is added to the bitstream as transformation mode information.

λ˜ν•œ, ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ λ˜λŠ” 수직 λ°©ν–₯ 쀑 일 λ°©ν–₯으둜만 λΆ„ν• κ°€λŠ₯ν•œ κ²½μš°κ°€ μ•„λ‹Œ 경우, 즉 ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ 및 수직 λ°©ν–₯ λͺ¨λ‘λ‘œ λΆ„ν• κ°€λŠ₯ν•œ 경우, λΉ„λ””μ˜€ 인코더(100)λŠ” 2, 8, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 508, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό μ„€μ •ν•˜μ—¬ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— μΆ”κ°€ν•  수 μžˆλ‹€(S829).In addition, if the current block is not divisible in only one of the horizontal or vertical directions, i.e., if the current block is divisible in both the horizontal and vertical directions, the video encoder (100) can set information indicating the conversion mode of the current block among the conversion modes 2, 8, and 14 (502, 508, and 514) and add it to the bitstream (S829).

도 8dλŠ” λΉ„λ””μ˜€ 디코더(200)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ μ‘μ μœΌλ‘œ κ²°μ •ν•˜λŠ” κ³Όμ •μ˜ λ‹€λ₯Έ 예λ₯Ό λ‚˜νƒ€λ‚Έ ν”Œλ‘œμš° μ°¨νŠΈμ΄λ‹€. 도 8d의 과정은 도 8c에 따라 λΉ„λ””μ˜€ 인코더(100)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ„€μ •ν•˜λŠ” 과정에 λŒ€μ‘λ˜μ–΄, λΉ„λ””μ˜€ 디코더(200)κ°€ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜λŠ” 과정이닀.Fig. 8d is a flowchart illustrating another example of a process in which a video decoder (200) adaptively determines conversion mode information. The process in Fig. 8d corresponds to the process in which a video encoder (100) sets conversion mode information according to Fig. 8c, and is a process in which a video decoder (200) determines a conversion mode.

도 8dλ₯Ό μ°Έμ‘°ν•˜λ©΄, λΉ„λ””μ˜€ 디코더(200)λŠ” 도 8c에 λ”°λ₯Έ λΉ„λ””μ˜€ 인코더(100)μ—μ„œ μˆ˜ν–‰λœ κ³Όμ •κ³Ό λ™μΌν•˜κ²Œ ν˜„μž¬ λΈ”λ‘μ˜ μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성을 νŒλ‹¨ν•˜κ³ (S831), λ§Œμ•½ ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  및 μˆ˜ν‰ λ°©ν–₯ 뢄할이 λͺ¨λ‘ λΆˆκ°€λŠ₯ν•œ 경우, λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° λ³„λ„μ˜ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό νŒŒμ‹±ν•˜μ§€ μ•Šκ³ μ„œλ„ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό 1번 λ³€ν™˜ λͺ¨λ“œ(501)둜 μ„€μ •ν•  수 μžˆλ‹€(S832).Referring to FIG. 8d, the video decoder (200) determines the horizontal divisibility and vertical divisibility of the current block in the same manner as the process performed in the video encoder (100) according to FIG. 8c (S831), and if the current block is arbitrarily impossible to be vertically divided or horizontally divided, the conversion mode of the current block can be set to conversion mode 1 (501) without parsing separate conversion mode information from the bitstream (S832).

λΉ„λ””μ˜€ 디코더(200)λŠ” λ§Œμ•½ ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  및 μˆ˜ν‰ λ°©ν–₯ 뢄할이 λͺ¨λ‘ λΆˆκ°€λŠ₯ν•œ κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό νšλ“ν•˜μ—¬ νŒŒμ‹±ν•˜κ³ , νŒŒμ‹±λœ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œλΆ€ν„° ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  μ—¬λΆ€λ₯Ό νŒλ‹¨ν•œλ‹€(S833). 예λ₯Ό λ“€μ–΄, λ§Œμ•½ ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  λ˜λŠ” μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  쀑 적어도 ν•˜λ‚˜κ°€ κ°€λŠ₯ν•˜λ©΄μ„œ λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œμ„œ '0'이 νšλ“λœ 경우, λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ§€ μ•ŠλŠ” 1번 λ³€ν™˜ λͺ¨λ“œ(501)둜 μ„€μ •ν•  수 μžˆλ‹€(S834). 이 경우, λΉ„λ””μ˜€ 디코더(200)λŠ” 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό νŒŒμ‹±ν•˜μ§€ μ•Šκ³  ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œ κ²°μ • 과정을 μ’…λ£Œν•  수 μžˆλ‹€.The video decoder (200) obtains and parses transformation mode information from the bitstream, unless the current block is arbitrarily incapable of both vertical and horizontal division, and determines whether the current block is to be divided based on the parsed transformation mode information (S833). For example, if the current block is arbitrarily capable of at least one of vertical division and horizontal division and '0' is obtained as transformation mode information from the bitstream, the video decoder (200) can set the transformation mode of the current block to transformation mode 1 (501) in which the current block is not to be divided (S834). In this case, the video decoder (200) can end the transformation mode determination process of the current block without parsing additional transformation mode information.

μ „μˆ ν•œ 바와 같이, λΉ„λ””μ˜€ 디코더(200)κ°€ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ 첫 번째 λΉ„νŠΈλ‘œμ„œ 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•¨μ„ κ°€λ¦¬ν‚€λŠ” '1'을 νšλ“ν•˜μ˜€κ³ , ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ λ˜λŠ” 수직 λ°©ν–₯ 쀑 ν•˜λ‚˜μ˜ λ°©ν–₯으둜만 λΆ„ν• κ°€λŠ₯ν•˜λ©°, 후보 λ³€ν™˜ λͺ¨λ“œλ“€μ— ν•΄λ‹Ή λΆ„ν• κ°€λŠ₯ν•œ λ°©ν–₯으둜 ν˜„μž¬ 블둝이 λΆ„ν• λ˜λŠ” λ³€ν™˜ λͺ¨λ“œκ°€ 였직 1개만 μ‘΄μž¬ν•˜λŠ” 경우라면 λ³„λ„μ˜ μΆ”κ°€ 정보 없이도 ν•΄λ‹Ή λΆ„ν•  κ°€λŠ₯ν•œ λ°©ν–₯으둜 ν˜„μž¬ 블둝이 λΆ„ν• λ˜λŠ” 였직 1개의 λ³€ν™˜ λͺ¨λ“œλ₯Ό λ°”λ‘œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ‘œ κ²°μ •ν•  수 μžˆλ‹€.As described above, if the video decoder (200) obtains '1' as the first bit of the transformation mode information indicating the presence of vertical or horizontal division, and the current block can be divided in only one of the horizontal or vertical directions, and there is only one transformation mode in which the current block is divided in the corresponding divisible direction among the candidate transformation modes, then only one transformation mode in which the current block is divided in the corresponding divisible direction can be determined as the transformation mode of the current block without any additional information.

ꡬ체적으둜, λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ μˆ˜ν‰ λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S835), ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우 μˆ˜ν‰ λ°©ν–₯으둜 λΆ„ν• λ˜λŠ” λ³€ν™˜ λͺ¨λ“œμΈ 2번 λ³€ν™˜ λͺ¨λ“œ(502)λ₯Ό ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ‘œ κ²°μ •ν•œλ‹€(S836). 이 경우, 이전 단계(S833)μ—μ„œ νŒŒμ‹±λœ ν˜„μž¬ 블둝에 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•¨μ„ κ°€λ¦¬ν‚€λŠ” '1'만이 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œμ„œ μ΄μš©λœλ‹€.Specifically, the video decoder (200) determines whether the current block can be arbitrarily divided only in the horizontal direction (S835), and if the current block can be divided only in the horizontal direction, determines the second transformation mode (502), which is a transformation mode that divides in the horizontal direction, as the transformation mode of the current block (S836). In this case, only '1', which indicates that there is a vertical or horizontal division in the current block parsed in the previous step (S833), is used as the transformation mode information.

λ˜ν•œ, λΉ„λ””μ˜€ 디코더(100)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S837), ν˜„μž¬ 블둝이 수직 λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우 수직 λ°©ν–₯으둜 λΆ„ν• λ˜λŠ” λ³€ν™˜ λͺ¨λ“œμΈ 8번 λ³€ν™˜ λͺ¨λ“œ(508)λ₯Ό ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ‘œ κ²°μ •ν•œλ‹€(S838). 이 κ²½μš°μ—λ„, 이전 단계(S833)μ—μ„œ νŒŒμ‹±λœ ν˜„μž¬ 블둝에 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•¨μ„ κ°€λ¦¬ν‚€λŠ” '1'만이 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œμ„œ μ΄μš©λœλ‹€.In addition, the video decoder (100) determines whether the current block can be arbitrarily divided only in the vertical direction (S837), and if the current block can be divided only in the vertical direction, determines the 8th transformation mode (508), which is a transformation mode that divides in the vertical direction, as the transformation mode of the current block (S838). Even in this case, only '1', which indicates that there is a vertical or horizontal division in the current block parsed in the previous step (S833), is used as the transformation mode information.

λ˜ν•œ, ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ λ˜λŠ” 수직 λ°©ν–₯ 쀑 일 λ°©ν–₯으둜만 λΆ„ν• κ°€λŠ₯ν•œ κ²½μš°κ°€ μ•„λ‹Œ 경우, 즉 ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ 및 수직 λ°©ν–₯ λͺ¨λ‘λ‘œ λΆ„ν• κ°€λŠ₯ν•œ 경우, λΉ„λ””μ˜€ 디코더(200)λŠ” 2, 8, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 508, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° νšλ“ν•˜κ³ , νšλ“λœ λ³€ν™˜ λͺ¨λ“œ 정보에 κΈ°μ΄ˆν•˜μ—¬ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•œλ‹€(S839).In addition, if the current block is not divisible in only one of the horizontal or vertical directions, i.e., if the current block is divisible in both the horizontal and vertical directions, the video decoder (200) obtains information indicating the conversion mode of the current block from among the conversion modes 2, 8, and 14 (502, 508, and 514) from the bitstream, and determines the conversion mode of the current block based on the obtained conversion mode information (S839).

도 9aλŠ” λΉ„λ””μ˜€ 인코더(100)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ μ‘μ μœΌλ‘œ κ΅¬μ„±ν•˜λŠ” κ³Όμ •μ˜ 또 λ‹€λ₯Έ 예λ₯Ό λ‚˜νƒ€λ‚Έ ν”Œλ‘œμš° μ°¨νŠΈμ΄λ‹€.FIG. 9a is a flow chart showing another example of a process in which a video encoder (100) adaptively configures conversion mode information.

후보 λ³€ν™˜ λͺ¨λ“œλ‘œμ„œ 1, 2, 3, 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 508, 509, 514)κ°€ κ²°μ •λœ 경우, λΉ„λ””μ˜€ 인코더(100)λŠ” λ‹€μŒμ˜ 과정듀을 순차적으둜 μˆ˜ν–‰ν•˜μ—¬ 1, 2, 3, 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 508, 509, 514) 쀑 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ‘œ κ²°μ •λœ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ„€μ •ν•  수 μžˆλ‹€. When conversion modes 1, 2, 3, 8, 9, and 14 (501, 502, 503, 508, 509, and 514) are determined as candidate conversion modes, the video encoder (100) can sequentially perform the following processes to set conversion mode information indicating the conversion mode determined as the conversion mode of the current block among conversion modes 1, 2, 3, 8, 9, and 14 (501, 502, 503, 508, 509, and 514).

도 9aλ₯Ό μ°Έμ‘°ν•˜λ©΄, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성을 νŒλ‹¨ν•˜κ³ (S901), λ§Œμ•½ ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  및 μˆ˜ν‰ λ°©ν–₯ 뢄할이 λͺ¨λ‘ λΆˆκ°€λŠ₯ν•œ 경우, λ³„λ„μ˜ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ„€μ •ν•˜μ§€ μ•Šκ³  ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό 1번 λ³€ν™˜ λͺ¨λ“œ(501)둜 μ„€μ •ν•œλ‹€(S902). 이 경우, μ΄ν•˜μ˜ 과정은 μˆ˜ν–‰λ˜μ§€ μ•Šκ³  ν˜„μž¬ 블둝에 λŒ€ν•œ λ³€ν™˜ λͺ¨λ“œ μ„€μ • 과정은 μ’…λ£Œλœλ‹€. Referring to FIG. 9a, the video encoder (100) determines the horizontal and vertical divisibility of the current block (S901), and if the current block cannot be arbitrarily divided into both vertical and horizontal directions, sets the conversion mode of the current block to conversion mode 1 (501) (S902) without setting separate conversion mode information. In this case, the following process is not performed, and the conversion mode setting process for the current block is terminated.

λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  및 μˆ˜ν‰ λ°©ν–₯ 뢄할이 λͺ¨λ‘ λΆˆκ°€λŠ₯ν•œ κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, ν˜„μž¬ λΈ”λ‘μ˜ 졜적 λ³€ν™˜ λͺ¨λ“œμ— λ”°λΌμ„œ ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ—ˆλŠ”μ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S903), i) 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•˜λŠ”μ§€ μ—¬λΆ€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 정보(예λ₯Ό λ“€μ–΄, '0'은 λ―ΈλΆ„ν• (수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 미쑴재), '1'은 뢄할을 가리킴)λ₯Ό λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ 첫 번째 μ •λ³΄λ‘œμ„œ μ„€μ •ν•˜μ—¬ μ „μ†‘ν•œλ‹€. 예λ₯Ό λ“€μ–΄, λΉ„λ””μ˜€ 인코더(100)λŠ” μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  λ˜λŠ” μˆ˜ν‰ λ°©ν–₯ 뢄할이 κ°€λŠ₯ν•˜λ©΄μ„œ, κ²°μ •λœ μ΅œμ’… λ³€ν™˜ λͺ¨λ“œκ°€ ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ§€ μ•ŠλŠ” 1번 λ³€ν™˜ λͺ¨λ“œμΈ 경우라면 i)의 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•˜λŠ”μ§€ μ—¬λΆ€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ •λ³΄λ‘œμ„œ '0'λ§Œμ„ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— ν¬ν•¨μ‹œν‚¨λ‹€(S904). λΉ„λ””μ˜€ 인코더(100)λŠ” λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œμ„œ'0'을 λΉ„νŠΈμŠ€νŠΈλ¦Όμ— ν¬ν•¨μ‹œν‚¨ 경우 μ΄ν•˜μ˜ 좔가적인 λ³€ν™˜ λͺ¨λ“œμ˜ 정보λ₯Ό κ΅¬μ„±ν•˜λŠ” 과정을 μŠ€ν‚΅ν•˜κ³  λ³€ν™˜ λͺ¨λ“œ μ„€μ • 절차λ₯Ό μ’…λ£Œν•œλ‹€. The video encoder (100) determines whether the current block has been divided according to the optimal transformation mode of the current block, unless both vertical division and horizontal division are arbitrarily impossible for the current block (S903), and sets and transmits information indicating whether i) vertical or horizontal division exists (e.g., '0' indicates non-division (no vertical or horizontal division exists), '1' indicates division) as the first information of the transformation mode information. For example, if the video encoder (100) allows arbitrarily vertical division or horizontal division and the determined final transformation mode is transformation mode 1 in which the current block is not divided, the video encoder (100) includes only '0' as information indicating whether i) vertical or horizontal division exists in the bitstream (S904). If the video encoder (100) includes '0' in the bitstream as the transformation mode information, the video encoder skips the process of configuring the information of the additional transformation mode below and ends the transformation mode setting procedure.

λ§Œμ•½, ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  λ˜λŠ” μˆ˜ν‰ λ°©ν–₯ 뢄할이 κ°€λŠ₯ν•˜λ©΄μ„œ κ²°μ •λœ μ΅œμ’… λ³€ν™˜ λͺ¨λ“œκ°€ 1번 λ³€ν™˜ λͺ¨λ“œκ°€ μ•„λ‹ˆκ³  ν˜„μž¬ 블둝이 λΆ„ν• λ˜λŠ” 경우, λΉ„λ””μ˜€ 인코더(100)λŠ” i)의 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•˜λŠ”μ§€ μ—¬λΆ€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ •λ³΄λ‘œμ„œ '1'을 μ„€μ •ν•˜μ—¬ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ 첫 번째 λΉ„νŠΈλ₯Ό κ΅¬μ„±ν•œ λ‹€μŒ, 1, 2, 3, 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 508, 509, 514) μ€‘μ—μ„œ ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ§€ μ•ŠλŠ” 1번 λ³€ν™˜ λͺ¨λ“œ(501)λ₯Ό μ œμ™Έν•˜κ³  2, 3, 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 508, 509, 514) 쀑 ν˜„μž¬ λΈ”λ‘μ˜ 졜적 λ³€ν™˜ λͺ¨λ“œλ‘œ κ²°μ •λœ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό μΆ”κ°€λ‘œ μ „μ†‘ν•œλ‹€. 이 λ•Œ, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  κ°€λŠ₯ 횟수λ₯Ό κ³ λ €ν•˜μ—¬ 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ„€μ •ν•  수 μžˆλ‹€. λΆ„ν•  κ°€λŠ₯ νšŸμˆ˜λŠ” 블둝 크기 λ“±μ˜ λΆ€κ°€ 정보에 κΈ°μ΄ˆν•˜μ—¬ λ‹€μ–‘ν•˜κ²Œ 섀정될 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, μ†Œμ • 크기 미만의 블둝에 λŒ€ν•΄μ„œλŠ” λ³€ν™˜ 블둝 결정을 μœ„ν•œ ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  κ°€λŠ₯ νšŸμˆ˜κ°€ μ†Œμ • 횟수(예λ₯Ό λ“€μ–΄, 1회)둜 μ œν•œλ  수 μžˆλ‹€.If the current block can be arbitrarily divided vertically or horizontally and the final transformation mode determined is not transformation mode 1 and the current block is divided, the video encoder (100) configures the first bit of the transformation mode information by setting '1' as information indicating whether vertical or horizontal division of i) exists, and then additionally transmits information indicating a transformation mode determined as the optimal transformation mode of the current block among transformation modes 2, 3, 8, 9, and 14 (502, 503, 508, 509, and 514), excluding transformation mode 1 (501) in which the current block is not divided. At this time, the video encoder (100) may set additional transformation mode information in consideration of the number of possible divisions of the current block. The number of possible splits can be set in various ways based on additional information such as the block size. For example, for blocks smaller than a predetermined size, the number of possible splits of the current block for determining a conversion block can be limited to a predetermined number of times (e.g., once).

λ‹€μ‹œ 도 9aλ₯Ό μ°Έμ‘°ν•˜λ©΄, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ 크기가 λΆ„ν•  νšŸμˆ˜κ°€ μ œν•œλ˜λŠ” μ΅œμ†Œ λΆ„ν•  블둝 크기 이상인지 μ—¬λΆ€λ₯Ό νŒλ‹¨ν•œλ‹€(S905). λ§Œμ•½, ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” 경우라면, λΉ„λ””μ˜€ 인코더(100)λŠ” 1번 λ³€ν™˜ λͺ¨λ“œ(501)λ₯Ό μ œμ™Έν•˜κ³  후보 λ³€ν™˜ λͺ¨λ“œμ— ν¬ν•¨λœ 2, 3, 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 508, 509, 514) μ€‘μ—μ„œ ν˜„μž¬ 블둝을 1회만 λΆ„ν• ν•˜λŠ” 2, 8번 λ³€ν™˜ λͺ¨λ“œ(502, 508)λ₯Ό κ²°μ •ν•˜κ³ , 2, 8번 λ³€ν™˜ λͺ¨λ“œ(502, 508) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜κ³ (S906), 2, 8번 λ³€ν™˜ λͺ¨λ“œ(502, 508) 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό 좔가적인 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œ κ΅¬μ„±ν•˜μ—¬ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— λΆ€κ°€ν•œλ‹€.Referring back to FIG. 9A, the video encoder (100) determines whether the size of the current block is equal to or larger than the minimum split block size for which the number of splits is limited (S905). If the number of splits of the current block is limited to 1, the video encoder (100) determines the 2nd and 8th conversion modes (502, 508) that split the current block only once among the 2nd, 3rd, 8th, 9th, and 14th conversion modes (502, 503, 508, 509, 514) included in the candidate conversion modes, excluding the 1st conversion mode (501), determines the conversion mode of the current block among the 2nd and 8th conversion modes (502, 508) (S906), and adds information indicating one of the 2nd and 8th conversion modes (502, 508) to the bitstream as additional conversion mode information.

λ§Œμ•½, ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ μˆ˜ν‰ λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S907), ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우 μˆ˜ν‰ λ°©ν–₯으둜 λΆ„ν• λ˜λŠ” λ³€ν™˜ λͺ¨λ“œμΈ 2, 3번 λ³€ν™˜ λͺ¨λ“œ(502, 503) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜κ³ (S908), 2, 3번 λ³€ν™˜ λͺ¨λ“œ(502, 503) 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό 좔가적인 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œ κ΅¬μ„±ν•˜μ—¬ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— λΆ€κ°€ν•œλ‹€.If the number of times the current block is divided is not limited to 1, the video encoder (100) determines whether the current block can be divided only in the horizontal direction (S907), and if the current block can be divided only in the horizontal direction, the video encoder determines the transformation mode of the current block among the transformation modes 2 and 3 (502, 503), which are transformation modes for horizontal division (S908), and adds information indicating one of the transformation modes 2 and 3 (502, 503) to the bitstream as additional transformation mode information.

λ˜ν•œ, ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S909), ν˜„μž¬ 블둝이 수직 λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우 수직 λ°©ν–₯으둜 λΆ„ν• λ˜λŠ” λ³€ν™˜ λͺ¨λ“œμΈ 8, 9번 λ³€ν™˜ λͺ¨λ“œ(508, 509) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜κ³ (S910), 8, 9번 λ³€ν™˜ λͺ¨λ“œ(508, 509) 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό 좔가적인 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œ κ΅¬μ„±ν•˜μ—¬ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— λΆ€κ°€ν•œλ‹€.In addition, unless the number of times the current block is split is limited to one, the video encoder (100) determines whether the current block can be split only in the vertical direction (S909), and if the current block can be split only in the vertical direction, determines the conversion mode of the current block among conversion modes 8 and 9 (508, 509), which are conversion modes for splitting in the vertical direction (S910), and adds information indicating one of conversion modes 8 and 9 (508, 509) to the bitstream as additional conversion mode information.

λ˜ν•œ, ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” κ²½μš°κ°€ μ•„λ‹ˆκ³  ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ λ˜λŠ” 수직 λ°©ν–₯ 쀑 일 λ°©ν–₯으둜만 λΆ„ν• κ°€λŠ₯ν•œ κ²½μš°κ°€ μ•„λ‹Œ 경우, 즉 ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ 및 수직 λ°©ν–₯ λͺ¨λ‘λ‘œ λΆ„ν• κ°€λŠ₯ν•œ 경우, λΉ„λ””μ˜€ 인코더(100)λŠ” 2, 3, 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 508, 509, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό μ„€μ •ν•˜μ—¬ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— μΆ”κ°€ν•  수 μžˆλ‹€(S911).In addition, if the number of times the current block is divided is not limited to 1 and the current block is not divisible in only one of the horizontal or vertical directions, i.e., if the current block is divisible in both the horizontal and vertical directions, the video encoder (100) can set information indicating the conversion mode of the current block among conversion modes 2, 3, 8, 9, and 14 (502, 503, 508, 509, and 514) and add it to the bitstream (S911).

도 9bλŠ” λΉ„λ””μ˜€ 디코더(200)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ μ‘μ μœΌλ‘œ κ²°μ •ν•˜λŠ” κ³Όμ •μ˜ 또 λ‹€λ₯Έ 예λ₯Ό λ‚˜νƒ€λ‚Έ ν”Œλ‘œμš° μ°¨νŠΈμ΄λ‹€. 도 9b의 과정은 도 9a에 따라 λΉ„λ””μ˜€ 인코더(100)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ„€μ •ν•˜λŠ” 과정에 λŒ€μ‘λ˜μ–΄, λΉ„λ””μ˜€ 디코더(200)κ°€ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜λŠ” 과정이닀.Fig. 9b is a flowchart illustrating another example of a process in which a video decoder (200) adaptively determines conversion mode information. The process in Fig. 9b corresponds to the process in which a video encoder (100) sets conversion mode information according to Fig. 9a, and is a process in which a video decoder (200) determines a conversion mode.

도 9bλ₯Ό μ°Έμ‘°ν•˜λ©΄, λΉ„λ””μ˜€ 디코더(200)λŠ” 도 9a에 λ”°λ₯Έ λΉ„λ””μ˜€ 인코더(100)μ—μ„œ μˆ˜ν–‰λœ κ³Όμ •κ³Ό λ™μΌν•˜κ²Œ ν˜„μž¬ λΈ”λ‘μ˜ μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성을 νŒλ‹¨ν•˜κ³ (S931), λ§Œμ•½ ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  및 μˆ˜ν‰ λ°©ν–₯ 뢄할이 λͺ¨λ‘ λΆˆκ°€λŠ₯ν•œ 경우, λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° λ³„λ„μ˜ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό νŒŒμ‹±ν•˜μ§€ μ•Šκ³ μ„œλ„ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό 1번 λ³€ν™˜ λͺ¨λ“œ(501)둜 μ„€μ •ν•  수 μžˆλ‹€(S932).Referring to FIG. 9b, the video decoder (200) determines the horizontal divisibility and vertical divisibility of the current block in the same manner as the process performed in the video encoder (100) according to FIG. 9a (S931), and if the current block is arbitrarily impossible to be divided vertically or horizontally, the conversion mode of the current block can be set to conversion mode 1 (501) without parsing separate conversion mode information from the bitstream (S932).

λΉ„λ””μ˜€ 디코더(200)λŠ” λ§Œμ•½ ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  및 μˆ˜ν‰ λ°©ν–₯ 뢄할이 λͺ¨λ‘ λΆˆκ°€λŠ₯ν•œ κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό νšλ“ν•˜μ—¬ νŒŒμ‹±ν•˜κ³ , νŒŒμ‹±λœ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œλΆ€ν„° ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  μ—¬λΆ€λ₯Ό νŒλ‹¨ν•œλ‹€(S933). 예λ₯Ό λ“€μ–΄, λ§Œμ•½ ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  λ˜λŠ” μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  쀑 적어도 ν•˜λ‚˜κ°€ κ°€λŠ₯ν•˜λ©΄μ„œ λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œμ„œ '0'이 νšλ“λœ 경우, λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ§€ μ•ŠλŠ” 1번 λ³€ν™˜ λͺ¨λ“œ(501)둜 μ„€μ •ν•  수 μžˆλ‹€(S934). 이 경우, λΉ„λ””μ˜€ 디코더(200)λŠ” 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό νŒŒμ‹±ν•˜μ§€ μ•Šκ³  ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œ κ²°μ • 과정을 μ’…λ£Œν•  수 μžˆλ‹€.The video decoder (200) obtains and parses transformation mode information from the bitstream, unless the current block is arbitrarily incapable of both vertical and horizontal division, and determines whether the current block is to be divided based on the parsed transformation mode information (S933). For example, if the current block is arbitrarily capable of at least one of vertical division or horizontal division and '0' is obtained as transformation mode information from the bitstream, the video decoder (200) can set the transformation mode of the current block to transformation mode 1 (501) in which the current block is not to be divided (S934). In this case, the video decoder (200) can end the process of determining the transformation mode of the current block without parsing additional transformation mode information.

λΉ„λ””μ˜€ 디코더(200)κ°€ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ 첫 번째 λΉ„νŠΈλ‘œμ„œ 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•¨μ„ κ°€λ¦¬ν‚€λŠ” '1'을 νšλ“ν•œ 경우, ν˜„μž¬ 블둝이 λΆ„ν•  νšŸμˆ˜κ°€ μ œν•œλ˜λŠ” μ΅œμ†Œ λΆ„ν•  블둝 크기 이상인지 μ—¬λΆ€λ₯Ό νŒλ‹¨ν•œλ‹€(S935).When the video decoder (200) obtains '1' as the first bit of the conversion mode information indicating the presence of vertical or horizontal division, it determines whether the current block is larger than the minimum division block size for which the number of divisions is limited (S935).

λ§Œμ•½, ν˜„μž¬ λΈ”λ‘μ˜ 크기가 μ΅œμ†Œ λΆ„ν•  블둝 크기 미만으둜 ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” 경우라면, λΉ„λ””μ˜€ 디코더(200)λŠ” 1번 λ³€ν™˜ λͺ¨λ“œ(501)λ₯Ό μ œμ™Έν•˜κ³  2, 3, 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 508, 509, 514)을 ν¬ν•¨ν•˜λŠ” 후보 λ³€ν™˜ λͺ¨λ“œ μ€‘μ—μ„œ ν˜„μž¬ 블둝을 1회만 λΆ„ν• ν•˜λŠ” 2, 8번 λ³€ν™˜ λͺ¨λ“œ(502, 508)λ₯Ό κ²°μ •ν•˜κ³ , 2, 8번 λ³€ν™˜ λͺ¨λ“œ(502, 508) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° νŒŒμ‹±ν•˜κ³ , νšλ“λœ 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보에 κΈ°μ΄ˆν•˜μ—¬ 2, 8번 λ³€ν™˜ λͺ¨λ“œ(502, 508) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•œλ‹€(S936).If the size of the current block is less than the minimum split block size and the number of times the current block is split is limited to 1, the video decoder (200) determines the 2nd and 8th conversion modes (502, 508) that split the current block only once among candidate conversion modes including the 2nd, 3rd, 8th, 9th, and 14th conversion modes (502, 503, 508, 509, 514) except the 1st conversion mode (501), parses conversion mode information indicating the conversion mode of the current block among the 2nd and 8th conversion modes (502, 508) from the bitstream, and determines the conversion mode of the current block among the 2nd and 8th conversion modes (502, 508) based on the acquired additional conversion mode information (S936).

λ§Œμ•½, ν˜„μž¬ λΈ”λ‘μ˜ 크기가 μ΅œμ†Œ λΆ„ν•  블둝 크기 μ΄μƒμœΌλ‘œ ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ μˆ˜ν‰ λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S937), ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우 μˆ˜ν‰ λ°©ν–₯으둜 λΆ„ν• λ˜λŠ” λ³€ν™˜ λͺ¨λ“œμΈ 2, 3번 λ³€ν™˜ λͺ¨λ“œ(502, 503) 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° νŒŒμ‹±ν•˜κ³ , νšλ“λœ 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보에 κΈ°μ΄ˆν•˜μ—¬ 2, 3번 λ³€ν™˜ λͺ¨λ“œ(502, 503) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•œλ‹€(S938).If the size of the current block is not greater than the minimum split block size and the number of times the current block is split is not limited to 1, the video decoder (200) determines whether the current block can be split only in the horizontal direction (S937), and if the current block can be split only in the horizontal direction, parses information indicating one of the conversion modes 2 and 3 (502, 503), which are conversion modes for splitting in the horizontal direction, from the bitstream, and determines the conversion mode of the current block among the conversion modes 2 and 503 (502, 503) based on the acquired additional conversion mode information (S938).

λ˜ν•œ, ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S939), ν˜„μž¬ 블둝이 수직 λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우 수직 λ°©ν–₯으둜 λΆ„ν• λ˜λŠ” λ³€ν™˜ λͺ¨λ“œμΈ 8, 9번 λ³€ν™˜ λͺ¨λ“œ(508, 509) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° νŒŒμ‹±ν•˜κ³ , νšλ“λœ 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보에 κΈ°μ΄ˆν•˜μ—¬ 8, 9번 λ³€ν™˜ λͺ¨λ“œ(508, 509) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•œλ‹€(S940).In addition, unless the number of times the current block is split is limited to 1, the video decoder (200) determines whether the current block can be split only in the vertical direction (S939), and if the current block can be split only in the vertical direction, the video decoder parses the transformation mode information indicating the transformation mode of the current block from among the transformation modes 8 and 9 (508, 509), which are transformation modes for splitting in the vertical direction, from the bitstream, and determines the transformation mode of the current block from among the transformation modes 8 and 9 (508, 509) based on the acquired additional transformation mode information (S940).

λ˜ν•œ, ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” κ²½μš°κ°€ μ•„λ‹ˆκ³  ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ λ˜λŠ” 수직 λ°©ν–₯ 쀑 일 λ°©ν–₯으둜만 λΆ„ν• κ°€λŠ₯ν•œ κ²½μš°κ°€ μ•„λ‹Œ 경우, 즉 ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ 및 수직 λ°©ν–₯ λͺ¨λ‘λ‘œ λΆ„ν• κ°€λŠ₯ν•œ 경우, λΉ„λ””μ˜€ 디코더(200)λŠ” 2, 3, 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 508, 509, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° νŒŒμ‹±ν•˜κ³ , νšλ“λœ 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보에 κΈ°μ΄ˆν•˜μ—¬ 2, 3, 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 508, 509, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•œλ‹€(S941).In addition, if the number of times the current block is split is not limited to one and the current block is not splittable in only one of the horizontal direction and the vertical direction, i.e., if the current block is splittable in both the horizontal direction and the vertical direction, the video decoder (200) parses the transformation mode information indicating the transformation mode of the current block from among the transformation modes 2, 3, 8, 9, and 14 (502, 503, 508, 509, and 514) from the bitstream, and determines the transformation mode of the current block from among the transformation modes 2, 3, 8, 9, and 14 (502, 503, 508, 509, and 514) based on the acquired additional transformation mode information (S941).

도 9cλŠ” λΉ„λ””μ˜€ 인코더(100)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ μ‘μ μœΌλ‘œ κ΅¬μ„±ν•˜λŠ” κ³Όμ •μ˜ 또 λ‹€λ₯Έ 예λ₯Ό λ‚˜νƒ€λ‚Έ ν”Œλ‘œμš° μ°¨νŠΈμ΄λ‹€.FIG. 9c is a flow chart showing another example of a process in which a video encoder (100) adaptively configures conversion mode information.

후보 λ³€ν™˜ λͺ¨λ“œλ‘œμ„œ 1, 2, 3, 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 508, 509, 514)κ°€ κ²°μ •λœ 경우, λΉ„λ””μ˜€ 인코더(100)λŠ” λ‹€μŒμ˜ 과정듀을 순차적으둜 μˆ˜ν–‰ν•˜μ—¬ 1, 2, 3, 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 508, 509, 514) 쀑 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ‘œ κ²°μ •λœ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ„€μ •ν•  수 μžˆλ‹€. When conversion modes 1, 2, 3, 8, 9, and 14 (501, 502, 503, 508, 509, and 514) are determined as candidate conversion modes, the video encoder (100) can sequentially perform the following processes to set conversion mode information indicating the conversion mode determined as the conversion mode of the current block among conversion modes 1, 2, 3, 8, 9, and 14 (501, 502, 503, 508, 509, and 514).

도 9cλ₯Ό μ°Έμ‘°ν•˜λ©΄, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성을 νŒλ‹¨ν•˜κ³ (S951), λ§Œμ•½ ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  및 μˆ˜ν‰ λ°©ν–₯ 뢄할이 λͺ¨λ‘ λΆˆκ°€λŠ₯ν•œ 경우, λ³„λ„μ˜ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ„€μ •ν•˜μ§€ μ•Šκ³  ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό 1번 λ³€ν™˜ λͺ¨λ“œ(501)둜 μ„€μ •ν•œλ‹€(S952). 이 경우, μ΄ν•˜μ˜ 과정은 μˆ˜ν–‰λ˜μ§€ μ•Šκ³  ν˜„μž¬ 블둝에 λŒ€ν•œ λ³€ν™˜ λͺ¨λ“œ μ„€μ • 과정은 μ’…λ£Œλœλ‹€. Referring to FIG. 9c, the video encoder (100) determines the horizontal and vertical divisibility of the current block (S951), and if the current block cannot be arbitrarily divided into both vertical and horizontal directions, sets the conversion mode of the current block to conversion mode 1 (501) (S952) without setting separate conversion mode information. In this case, the following process is not performed, and the conversion mode setting process for the current block is terminated.

λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  및 μˆ˜ν‰ λ°©ν–₯ 뢄할이 λͺ¨λ‘ λΆˆκ°€λŠ₯ν•œ κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, ν˜„μž¬ λΈ”λ‘μ˜ 졜적 λ³€ν™˜ λͺ¨λ“œμ— λ”°λΌμ„œ ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ—ˆλŠ”μ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S953), i) 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•˜λŠ”μ§€ μ—¬λΆ€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 정보(예λ₯Ό λ“€μ–΄, '0'은 λ―ΈλΆ„ν• (수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 미쑴재), '1'은 뢄할을 가리킴)λ₯Ό λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ 첫 번째 μ •λ³΄λ‘œμ„œ μ„€μ •ν•˜μ—¬ μ „μ†‘ν•œλ‹€. 예λ₯Ό λ“€μ–΄, λΉ„λ””μ˜€ 인코더(100)λŠ” μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  λ˜λŠ” μˆ˜ν‰ λ°©ν–₯ 뢄할이 κ°€λŠ₯ν•˜λ©΄μ„œ, κ²°μ •λœ μ΅œμ’… λ³€ν™˜ λͺ¨λ“œκ°€ ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ§€ μ•ŠλŠ” 1번 λ³€ν™˜ λͺ¨λ“œμΈ 경우라면 i)의 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•˜λŠ”μ§€ μ—¬λΆ€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ •λ³΄λ‘œμ„œ '0'λ§Œμ„ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— ν¬ν•¨μ‹œν‚¨λ‹€(S954). λΉ„λ””μ˜€ 인코더(100)λŠ” λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œμ„œ'0'을 λΉ„νŠΈμŠ€νŠΈλ¦Όμ— ν¬ν•¨μ‹œν‚¨ 경우 μ΄ν•˜μ˜ 좔가적인 λ³€ν™˜ λͺ¨λ“œμ˜ 정보λ₯Ό κ΅¬μ„±ν•˜λŠ” 과정을 μŠ€ν‚΅ν•˜κ³  λ³€ν™˜ λͺ¨λ“œ μ„€μ • 절차λ₯Ό μ’…λ£Œν•œλ‹€. The video encoder (100) determines whether the current block has been divided according to the optimal transformation mode of the current block, unless both vertical division and horizontal division are arbitrarily impossible for the current block (S953), and sets and transmits information indicating whether i) vertical or horizontal division exists (e.g., '0' indicates non-division (no vertical or horizontal division exists), '1' indicates division) as the first information of the transformation mode information. For example, if the video encoder (100) allows arbitrarily vertical division or horizontal division and the determined final transformation mode is transformation mode 1 in which the current block is not divided, the video encoder (100) includes only '0' in the bitstream as information indicating whether i) vertical or horizontal division exists (S954). If the video encoder (100) includes '0' in the bitstream as the transformation mode information, the video encoder skips the process of configuring the information of the additional transformation mode below and ends the transformation mode setting procedure.

λ§Œμ•½, ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  λ˜λŠ” μˆ˜ν‰ λ°©ν–₯ 뢄할이 κ°€λŠ₯ν•˜λ©΄μ„œ κ²°μ •λœ μ΅œμ’… λ³€ν™˜ λͺ¨λ“œκ°€ 1번 λ³€ν™˜ λͺ¨λ“œκ°€ μ•„λ‹ˆκ³  ν˜„μž¬ 블둝이 λΆ„ν• λ˜λŠ” 경우, λΉ„λ””μ˜€ 인코더(100)λŠ” i)의 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•˜λŠ”μ§€ μ—¬λΆ€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ •λ³΄λ‘œμ„œ '1'을 μ„€μ •ν•˜μ—¬ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ 첫 번째 λΉ„νŠΈλ₯Ό κ΅¬μ„±ν•œ λ‹€μŒ, 1, 2, 3, 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 508, 509, 514) μ€‘μ—μ„œ ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ§€ μ•ŠλŠ” 1번 λ³€ν™˜ λͺ¨λ“œ(501)λ₯Ό μ œμ™Έν•˜κ³  2, 3, 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 508, 509, 514) 쀑 ν˜„μž¬ λΈ”λ‘μ˜ 졜적 λ³€ν™˜ λͺ¨λ“œλ‘œ κ²°μ •λœ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό μΆ”κ°€λ‘œ μ „μ†‘ν•œλ‹€. 이 λ•Œ, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  κ°€λŠ₯ 횟수λ₯Ό κ³ λ €ν•˜μ—¬ 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ„€μ •ν•  수 μžˆλ‹€. λΆ„ν•  κ°€λŠ₯ νšŸμˆ˜λŠ” 블둝 크기 λ“±μ˜ λΆ€κ°€ 정보에 κΈ°μ΄ˆν•˜μ—¬ λ‹€μ–‘ν•˜κ²Œ 섀정될 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, μ†Œμ • 크기 미만의 블둝에 λŒ€ν•΄μ„œλŠ” λ³€ν™˜ 블둝 결정을 μœ„ν•œ ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  κ°€λŠ₯ νšŸμˆ˜κ°€ μ†Œμ • 횟수(예λ₯Ό λ“€μ–΄, 1회)둜 μ œν•œλ  수 μžˆλ‹€.If the current block can be arbitrarily divided vertically or horizontally and the final transformation mode determined is not transformation mode 1 and the current block is divided, the video encoder (100) configures the first bit of the transformation mode information by setting '1' as information indicating whether vertical or horizontal division of i) exists, and then additionally transmits information indicating a transformation mode determined as the optimal transformation mode of the current block among transformation modes 2, 3, 8, 9, and 14 (502, 503, 508, 509, and 514), excluding transformation mode 1 (501) in which the current block is not divided. At this time, the video encoder (100) may set additional transformation mode information in consideration of the number of possible divisions of the current block. The number of possible splits can be set in various ways based on additional information such as the block size. For example, for blocks smaller than a predetermined size, the number of possible splits of the current block for determining a conversion block can be limited to a predetermined number of times (e.g., once).

λ‹€μ‹œ 도 9cλ₯Ό μ°Έμ‘°ν•˜λ©΄, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ 크기가 λΆ„ν•  νšŸμˆ˜κ°€ μ œν•œλ˜λŠ” μ΅œμ†Œ λΆ„ν•  블둝 크기 이상인지 μ—¬λΆ€λ₯Ό νŒλ‹¨ν•œλ‹€(S955). λ§Œμ•½, ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” 경우라면, λΉ„λ””μ˜€ 인코더(100)λŠ” 1번 λ³€ν™˜ λͺ¨λ“œ(501)λ₯Ό μ œμ™Έν•˜κ³  후보 λ³€ν™˜ λͺ¨λ“œμ— ν¬ν•¨λœ 2, 3, 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 508, 509, 514) μ€‘μ—μ„œ ν˜„μž¬ 블둝을 1회만 λΆ„ν• ν•˜λŠ” 2, 8번 λ³€ν™˜ λͺ¨λ“œ(502, 508)λ₯Ό κ²°μ •ν•˜κ³ , 2, 8번 λ³€ν™˜ λͺ¨λ“œ(502, 508) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜κ³ (S956), 2, 8번 λ³€ν™˜ λͺ¨λ“œ(502, 508) 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό 좔가적인 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œ κ΅¬μ„±ν•˜μ—¬ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— λΆ€κ°€ν•œλ‹€.Referring back to FIG. 9c, the video encoder (100) determines whether the size of the current block is equal to or larger than the minimum split block size for which the number of splits is limited (S955). If the number of splits of the current block is limited to 1, the video encoder (100) determines the 2nd and 8th conversion modes (502, 508) that split the current block only once among the 2nd, 3rd, 8th, 9th, and 14th conversion modes (502, 503, 508, 509, 514) included in the candidate conversion modes, excluding the 1st conversion mode (501), determines the conversion mode of the current block among the 2nd and 8th conversion modes (502, 508) (S956), and adds information indicating one of the 2nd and 8th conversion modes (502, 508) to the bitstream as additional conversion mode information.

λ§Œμ•½, ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ μˆ˜ν‰ λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S957), ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우 μˆ˜ν‰ λ°©ν–₯으둜 λΆ„ν• λ˜λŠ” λ³€ν™˜ λͺ¨λ“œμΈ 2, 3, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜κ³ (S958), 2, 3, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 514) 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό 좔가적인 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œ κ΅¬μ„±ν•˜μ—¬ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— λΆ€κ°€ν•œλ‹€.If the number of times the current block is divided is not limited to 1, the video encoder (100) determines whether the current block can be divided only in the horizontal direction (S957), and if the current block can be divided only in the horizontal direction, determines the transformation mode of the current block among the transformation modes 2, 3, and 14 (502, 503, and 514), which are transformation modes for horizontal division (S958), and adds information indicating one of the transformation modes 2, 3, and 14 (502, 503, and 514) to the bitstream as additional transformation mode information.

λ˜ν•œ, ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S959), ν˜„μž¬ 블둝이 수직 λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우 수직 λ°©ν–₯으둜 λΆ„ν• λ˜λŠ” λ³€ν™˜ λͺ¨λ“œμΈ 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(508, 509, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜κ³ (S960), 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(508, 509, 514) 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό 좔가적인 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œ κ΅¬μ„±ν•˜μ—¬ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— λΆ€κ°€ν•œλ‹€.In addition, unless the number of times the current block is split is limited to one, the video encoder (100) determines whether the current block can be split only in the vertical direction (S959), and if the current block can be split only in the vertical direction, determines the conversion mode of the current block among conversion modes 8, 9, and 14 (508, 509, 514), which are conversion modes for splitting in the vertical direction (S960), and adds information indicating one of conversion modes 8, 9, and 14 (508, 509, 514) to the bitstream as additional conversion mode information.

λ˜ν•œ, ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” κ²½μš°κ°€ μ•„λ‹ˆκ³  ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ λ˜λŠ” 수직 λ°©ν–₯ 쀑 일 λ°©ν–₯으둜만 λΆ„ν• κ°€λŠ₯ν•œ κ²½μš°κ°€ μ•„λ‹Œ 경우, 즉 ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ 및 수직 λ°©ν–₯ λͺ¨λ‘λ‘œ λΆ„ν• κ°€λŠ₯ν•œ 경우, λΉ„λ””μ˜€ 인코더(100)λŠ” 2, 3, 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 508, 509, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό μ„€μ •ν•˜μ—¬ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— μΆ”κ°€ν•  수 μžˆλ‹€(S961).In addition, if the number of times the current block is divided is not limited to 1 and the current block is not divisible in only one of the horizontal or vertical directions, i.e., if the current block is divisible in both the horizontal and vertical directions, the video encoder (100) can set information indicating the conversion mode of the current block among conversion modes 2, 3, 8, 9, and 14 (502, 503, 508, 509, and 514) and add it to the bitstream (S961).

도 9dλŠ” λΉ„λ””μ˜€ 디코더(200)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ μ‘μ μœΌλ‘œ κ²°μ •ν•˜λŠ” κ³Όμ •μ˜ 또 λ‹€λ₯Έ 예λ₯Ό λ‚˜νƒ€λ‚Έ ν”Œλ‘œμš° μ°¨νŠΈμ΄λ‹€. 도 9d의 과정은 도 9c에 따라 λΉ„λ””μ˜€ 인코더(100)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ„€μ •ν•˜λŠ” 과정에 λŒ€μ‘λ˜μ–΄, λΉ„λ””μ˜€ 디코더(200)κ°€ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜λŠ” 과정이닀.Fig. 9d is a flowchart illustrating another example of a process in which a video decoder (200) adaptively determines conversion mode information. The process in Fig. 9d corresponds to the process in which a video encoder (100) sets conversion mode information according to Fig. 9c, and is a process in which a video decoder (200) determines a conversion mode.

도 9dλ₯Ό μ°Έμ‘°ν•˜λ©΄, λΉ„λ””μ˜€ 디코더(200)λŠ” 도 9c에 λ”°λ₯Έ λΉ„λ””μ˜€ 인코더(100)μ—μ„œ μˆ˜ν–‰λœ κ³Όμ •κ³Ό λ™μΌν•˜κ²Œ ν˜„μž¬ λΈ”λ‘μ˜ μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성을 νŒλ‹¨ν•˜κ³ (S971), λ§Œμ•½ ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  및 μˆ˜ν‰ λ°©ν–₯ 뢄할이 λͺ¨λ‘ λΆˆκ°€λŠ₯ν•œ 경우, λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° λ³„λ„μ˜ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό νŒŒμ‹±ν•˜μ§€ μ•Šκ³ μ„œλ„ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό 1번 λ³€ν™˜ λͺ¨λ“œ(501)둜 μ„€μ •ν•  수 μžˆλ‹€(S972).Referring to FIG. 9d, the video decoder (200) determines the horizontal divisibility and vertical divisibility of the current block in the same manner as the process performed in the video encoder (100) according to FIG. 9c (S971), and if the current block is arbitrarily impossible to be divided vertically or horizontally, the conversion mode of the current block can be set to conversion mode 1 (501) without parsing separate conversion mode information from the bitstream (S972).

λΉ„λ””μ˜€ 디코더(200)λŠ” λ§Œμ•½ ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  및 μˆ˜ν‰ λ°©ν–₯ 뢄할이 λͺ¨λ‘ λΆˆκ°€λŠ₯ν•œ κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό νšλ“ν•˜μ—¬ νŒŒμ‹±ν•˜κ³ , νŒŒμ‹±λœ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œλΆ€ν„° ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  μ—¬λΆ€λ₯Ό νŒλ‹¨ν•œλ‹€(S973). 예λ₯Ό λ“€μ–΄, λ§Œμ•½ ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  λ˜λŠ” μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  쀑 적어도 ν•˜λ‚˜κ°€ κ°€λŠ₯ν•˜λ©΄μ„œ λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œμ„œ '0'이 νšλ“λœ 경우, λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ§€ μ•ŠλŠ” 1번 λ³€ν™˜ λͺ¨λ“œ(501)둜 μ„€μ •ν•  수 μžˆλ‹€(S974). 이 경우, λΉ„λ””μ˜€ 디코더(200)λŠ” 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό νŒŒμ‹±ν•˜μ§€ μ•Šκ³  ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œ κ²°μ • 과정을 μ’…λ£Œν•  수 μžˆλ‹€.The video decoder (200) obtains and parses transformation mode information from the bitstream, unless the current block is arbitrarily incapable of both vertical and horizontal division, and determines whether the current block is to be divided based on the parsed transformation mode information (S973). For example, if the current block is arbitrarily capable of at least one of vertical division or horizontal division and '0' is obtained as transformation mode information from the bitstream, the video decoder (200) can set the transformation mode of the current block to transformation mode 1 (501) in which the current block is not to be divided (S974). In this case, the video decoder (200) can end the transformation mode determination process of the current block without parsing additional transformation mode information.

λΉ„λ””μ˜€ 디코더(200)κ°€ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ 첫 번째 λΉ„νŠΈλ‘œμ„œ 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•¨μ„ κ°€λ¦¬ν‚€λŠ” '1'을 νšλ“ν•œ 경우, ν˜„μž¬ 블둝이 λΆ„ν•  νšŸμˆ˜κ°€ μ œν•œλ˜λŠ” μ΅œμ†Œ λΆ„ν•  블둝 크기 이상인지 μ—¬λΆ€λ₯Ό νŒλ‹¨ν•œλ‹€(S975).When the video decoder (200) obtains '1' as the first bit of the conversion mode information indicating the presence of vertical or horizontal division, it determines whether the current block is larger than the minimum division block size for which the number of divisions is limited (S975).

λ§Œμ•½, ν˜„μž¬ λΈ”λ‘μ˜ 크기가 μ΅œμ†Œ λΆ„ν•  블둝 크기 미만으둜 ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” 경우라면, λΉ„λ””μ˜€ 디코더(200)λŠ” 1번 λ³€ν™˜ λͺ¨λ“œ(501)λ₯Ό μ œμ™Έν•˜κ³  2, 3, 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 508, 509, 514)을 ν¬ν•¨ν•˜λŠ” 후보 λ³€ν™˜ λͺ¨λ“œ μ€‘μ—μ„œ ν˜„μž¬ 블둝을 1회만 λΆ„ν• ν•˜λŠ” 2, 8번 λ³€ν™˜ λͺ¨λ“œ(502, 508)λ₯Ό κ²°μ •ν•˜κ³ , 2, 8번 λ³€ν™˜ λͺ¨λ“œ(502, 508) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° νŒŒμ‹±ν•˜κ³ , νšλ“λœ 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보에 κΈ°μ΄ˆν•˜μ—¬ 2, 8번 λ³€ν™˜ λͺ¨λ“œ(502, 508) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•œλ‹€(S976).If the size of the current block is less than the minimum split block size and the number of times the current block is split is limited to 1, the video decoder (200) determines the 2nd and 8th conversion modes (502, 508) that split the current block only once among candidate conversion modes including the 2nd, 3rd, 8th, 9th, and 14th conversion modes (502, 503, 508, 509, 514) except the 1st conversion mode (501), parses conversion mode information indicating the conversion mode of the current block among the 2nd and 8th conversion modes (502, 508) from the bitstream, and determines the conversion mode of the current block among the 2nd and 8th conversion modes (502, 508) based on the acquired additional conversion mode information (S976).

λ§Œμ•½, ν˜„μž¬ λΈ”λ‘μ˜ 크기가 μ΅œμ†Œ λΆ„ν•  블둝 크기 μ΄μƒμœΌλ‘œ ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ μˆ˜ν‰ λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S977), ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우 μˆ˜ν‰ λ°©ν–₯으둜 λΆ„ν• λ˜λŠ” λ³€ν™˜ λͺ¨λ“œμΈ 2, 3, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 514) 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° νŒŒμ‹±ν•˜κ³ , νšλ“λœ 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보에 κΈ°μ΄ˆν•˜μ—¬ 2, 3, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•œλ‹€(S978).If the size of the current block is not greater than the minimum split block size and the number of times the current block is split is not limited to 1, the video decoder (200) determines whether the current block can be split only in the horizontal direction (S977), and if the current block can be split only in the horizontal direction, it parses information indicating one of the conversion modes 2, 3, and 14 (502, 503, 514) that are conversion modes for splitting in the horizontal direction from the bitstream, and determines the conversion mode of the current block among the conversion modes 2, 3, and 14 (502, 503, 514) based on the acquired additional conversion mode information (S978).

λ˜ν•œ, ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S979), ν˜„μž¬ 블둝이 수직 λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우 수직 λ°©ν–₯으둜 λΆ„ν• λ˜λŠ” λ³€ν™˜ λͺ¨λ“œμΈ 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(508, 509, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° νŒŒμ‹±ν•˜κ³ , νšλ“λœ 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보에 κΈ°μ΄ˆν•˜μ—¬ 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(508, 509, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•œλ‹€(S980).In addition, unless the number of times the current block is split is limited to 1, the video decoder (200) determines whether the current block can be split only in the vertical direction (S979), and if the current block can be split only in the vertical direction, the video decoder parses the transformation mode information indicating the transformation mode of the current block from among the transformation modes 8, 9, and 14 (508, 509, and 514), which are transformation modes for splitting in the vertical direction, from the bitstream, and determines the transformation mode of the current block from among the transformation modes 8, 9, and 14 (508, 509, and 514) based on the acquired additional transformation mode information (S980).

λ˜ν•œ, ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” κ²½μš°κ°€ μ•„λ‹ˆκ³  ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ λ˜λŠ” 수직 λ°©ν–₯ 쀑 일 λ°©ν–₯으둜만 λΆ„ν• κ°€λŠ₯ν•œ κ²½μš°κ°€ μ•„λ‹Œ 경우, 즉 ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ 및 수직 λ°©ν–₯ λͺ¨λ‘λ‘œ λΆ„ν• κ°€λŠ₯ν•œ 경우, λΉ„λ””μ˜€ 디코더(200)λŠ” 2, 3, 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 508, 509, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° νŒŒμ‹±ν•˜κ³ , νšλ“λœ 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보에 κΈ°μ΄ˆν•˜μ—¬ 2, 3, 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 508, 509, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•œλ‹€(S981).In addition, when the number of times the current block is split is not limited to one and the current block is not splittable in only one of the horizontal direction and the vertical direction, i.e., when the current block is splittable in both the horizontal direction and the vertical direction, the video decoder (200) parses the transformation mode information indicating the transformation mode of the current block from among the transformation modes 2, 3, 8, 9, and 14 (502, 503, 508, 509, and 514) from the bitstream, and determines the transformation mode of the current block from among the transformation modes 2, 3, 8, 9, and 14 (502, 503, 508, 509, and 514) based on the acquired additional transformation mode information (S981).

도 10aλŠ” λΉ„λ””μ˜€ 인코더(100)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ μ‘μ μœΌλ‘œ κ΅¬μ„±ν•˜λŠ” κ³Όμ •μ˜ 또 λ‹€λ₯Έ 예λ₯Ό λ‚˜νƒ€λ‚Έ ν”Œλ‘œμš° μ°¨νŠΈμ΄λ‹€.FIG. 10a is a flow chart showing another example of a process in which a video encoder (100) adaptively configures conversion mode information.

후보 λ³€ν™˜ λͺ¨λ“œλ‘œμ„œ 1, 2, 3, 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 508, 509, 514)κ°€ κ²°μ •λœ 경우, λΉ„λ””μ˜€ 인코더(100)λŠ” λ‹€μŒμ˜ 과정듀을 순차적으둜 μˆ˜ν–‰ν•˜μ—¬ 1, 2, 3, 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 508, 509, 514) 쀑 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ‘œ κ²°μ •λœ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ„€μ •ν•  수 μžˆλ‹€. When conversion modes 1, 2, 3, 8, 9, and 14 (501, 502, 503, 508, 509, and 514) are determined as candidate conversion modes, the video encoder (100) can sequentially perform the following processes to set conversion mode information indicating the conversion mode determined as the conversion mode of the current block among conversion modes 1, 2, 3, 8, 9, and 14 (501, 502, 503, 508, 509, and 514).

도 10aλ₯Ό μ°Έμ‘°ν•˜λ©΄, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성을 νŒλ‹¨ν•˜κ³ (S1001), λ§Œμ•½ ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  및 μˆ˜ν‰ λ°©ν–₯ 뢄할이 λͺ¨λ‘ λΆˆκ°€λŠ₯ν•œ 경우, λ³„λ„μ˜ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ„€μ •ν•˜μ§€ μ•Šκ³  ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό 1번 λ³€ν™˜ λͺ¨λ“œ(501)둜 μ„€μ •ν•œλ‹€(S1002). 이 경우, μ΄ν•˜μ˜ 과정은 μˆ˜ν–‰λ˜μ§€ μ•Šκ³  ν˜„μž¬ 블둝에 λŒ€ν•œ λ³€ν™˜ λͺ¨λ“œ μ„€μ • 과정은 μ’…λ£Œλœλ‹€. Referring to FIG. 10a, the video encoder (100) determines the horizontal and vertical divisibility of the current block (S1001), and if the current block cannot be arbitrarily divided into both vertical and horizontal directions, sets the conversion mode of the current block to conversion mode 1 (501) (S1002) without setting separate conversion mode information. In this case, the following process is not performed, and the conversion mode setting process for the current block is terminated.

λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  및 μˆ˜ν‰ λ°©ν–₯ 뢄할이 λͺ¨λ‘ λΆˆκ°€λŠ₯ν•œ κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, ν˜„μž¬ λΈ”λ‘μ˜ 졜적 λ³€ν™˜ λͺ¨λ“œμ— λ”°λΌμ„œ ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ—ˆλŠ”μ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S1003), i) 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•˜λŠ”μ§€ μ—¬λΆ€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 정보(예λ₯Ό λ“€μ–΄, '0'은 λ―ΈλΆ„ν• (수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 미쑴재), '1'은 뢄할을 가리킴)λ₯Ό λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ 첫 번째 μ •λ³΄λ‘œμ„œ μ„€μ •ν•˜μ—¬ μ „μ†‘ν•œλ‹€. 예λ₯Ό λ“€μ–΄, λΉ„λ””μ˜€ 인코더(100)λŠ” μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  λ˜λŠ” μˆ˜ν‰ λ°©ν–₯ 뢄할이 κ°€λŠ₯ν•˜λ©΄μ„œ, κ²°μ •λœ μ΅œμ’… λ³€ν™˜ λͺ¨λ“œκ°€ ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ§€ μ•ŠλŠ” 1번 λ³€ν™˜ λͺ¨λ“œμΈ 경우라면 i)의 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•˜λŠ”μ§€ μ—¬λΆ€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ •λ³΄λ‘œμ„œ '0'λ§Œμ„ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— ν¬ν•¨μ‹œν‚¨λ‹€(S1004). λΉ„λ””μ˜€ 인코더(100)λŠ” λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œμ„œ'0'을 λΉ„νŠΈμŠ€νŠΈλ¦Όμ— ν¬ν•¨μ‹œν‚¨ 경우 μ΄ν•˜μ˜ 좔가적인 λ³€ν™˜ λͺ¨λ“œμ˜ 정보λ₯Ό κ΅¬μ„±ν•˜λŠ” 과정을 μŠ€ν‚΅ν•˜κ³  λ³€ν™˜ λͺ¨λ“œ μ„€μ • 절차λ₯Ό μ’…λ£Œν•œλ‹€. The video encoder (100) determines whether the current block has been divided according to the optimal transformation mode of the current block, unless both vertical division and horizontal division are arbitrarily impossible for the current block (S1003), and sets and transmits information indicating whether i) vertical or horizontal division exists (e.g., '0' indicates non-division (no vertical or horizontal division exists), '1' indicates division) as the first information of the transformation mode information. For example, if the video encoder (100) allows arbitrarily vertical division or horizontal division and the determined final transformation mode is transformation mode 1 in which the current block is not divided, the video encoder (100) includes only '0' as information indicating whether i) vertical or horizontal division exists in the bitstream (S1004). If the video encoder (100) includes '0' in the bitstream as the transformation mode information, the video encoder skips the process of configuring the information of the additional transformation mode below and ends the transformation mode setting procedure.

λ§Œμ•½, ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  λ˜λŠ” μˆ˜ν‰ λ°©ν–₯ λΆ„ν• κ°€λŠ₯ν•˜κ³  κ²°μ •λœ μ΅œμ’… λ³€ν™˜ λͺ¨λ“œκ°€ 1번 λ³€ν™˜ λͺ¨λ“œκ°€ μ•„λ‹ˆκ³  ν˜„μž¬ 블둝이 λΆ„ν• λ˜λŠ” 경우, λΉ„λ””μ˜€ 인코더(100)λŠ” i)의 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•˜λŠ”μ§€ μ—¬λΆ€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ •λ³΄λ‘œμ„œ '1'을 μ„€μ •ν•˜μ—¬ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ 첫 번째 λΉ„νŠΈλ₯Ό κ΅¬μ„±ν•œ λ‹€μŒ, 1, 2, 3, 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 508, 509, 514) μ€‘μ—μ„œ ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ§€ μ•ŠλŠ” 1번 λ³€ν™˜ λͺ¨λ“œ(501)λ₯Ό μ œμ™Έν•˜κ³  2, 3, 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 508, 509, 514) 쀑 ν˜„μž¬ λΈ”λ‘μ˜ 졜적 λ³€ν™˜ λͺ¨λ“œλ‘œ κ²°μ •λœ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό μΆ”κ°€λ‘œ μ „μ†‘ν•˜κ±°λ‚˜ μ•”μ‹œμ μœΌλ‘œ μ„€μ •ν•œλ‹€. If the current block is arbitrarily vertically or horizontally divisible and the determined final transformation mode is not transformation mode 1 and the current block is divided, the video encoder (100) configures the first bit of the transformation mode information by setting '1' as information indicating whether vertical or horizontal division of i) exists, and then additionally transmits or implicitly sets information indicating a transformation mode determined as the optimal transformation mode of the current block among transformation modes 2, 3, 8, 9, and 14 (502, 503, 508, 509, and 514), excluding transformation mode 1 (501) in which the current block is not divided.

이λ₯Ό μœ„ν•˜μ—¬, λ¨Όμ € λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ 블둝이 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯ λͺ¨λ‘λ‘œ λΆ„ν• κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•œλ‹€(S1005). ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ 및 수직 λ°©ν–₯ λͺ¨λ‘λ‘œ λΆ„ν• κ°€λŠ₯ν•œ 경우, λΉ„λ””μ˜€ 인코더(100)λŠ” 2, 3, 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 508, 509, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό μ„€μ •ν•˜μ—¬ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— μΆ”κ°€ν•  수 μžˆλ‹€(S1006).To this end, the video encoder (100) first determines whether the current block is divisible in both the vertical and horizontal directions (S1005). If the current block is divisible in both the horizontal and vertical directions, the video encoder (100) can set information indicating the conversion mode of the current block among conversion modes 2, 3, 8, 9, and 14 (502, 503, 508, 509, and 514) and add it to the bitstream (S1006).

λ§Œμ•½, ν˜„μž¬ 블둝이 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯ λͺ¨λ‘λ‘œ λΆ„ν• κ°€λŠ₯ν•˜μ§€λŠ” μ•Šκ³  ν•˜λ‚˜μ˜ λ°©ν–₯으둜만 λΆ„ν• κ°€λŠ₯ν•œ 경우, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  κ°€λŠ₯ 횟수λ₯Ό κ³ λ €ν•˜μ—¬ 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ„€μ •ν•  수 μžˆλ‹€. λΆ„ν•  κ°€λŠ₯ νšŸμˆ˜λŠ” 블둝 크기 λ“±μ˜ λΆ€κ°€ 정보에 κΈ°μ΄ˆν•˜μ—¬ λ‹€μ–‘ν•˜κ²Œ 섀정될 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, μ†Œμ • 크기 미만의 블둝에 λŒ€ν•΄μ„œλŠ” λ³€ν™˜ 블둝 결정을 μœ„ν•œ ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  κ°€λŠ₯ νšŸμˆ˜κ°€ μ†Œμ • 횟수(예λ₯Ό λ“€μ–΄, 1회)둜 μ œν•œλ  수 μžˆλ‹€.If the current block is not divisible in both vertical and horizontal directions but is divisible in only one direction, the video encoder (100) may set additional transformation mode information considering the number of times the current block can be divided. The number of times the current block can be divided may be set in various ways based on additional information such as the block size. For example, for blocks smaller than a predetermined size, the number of times the current block can be divided for determining a transformation block may be limited to a predetermined number (e.g., once).

λ‹€μ‹œ 도 10aλ₯Ό μ°Έμ‘°ν•˜λ©΄, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ 크기가 λΆ„ν•  νšŸμˆ˜κ°€ μ œν•œλ˜λŠ” μ΅œμ†Œ λΆ„ν•  블둝 크기 이상인지 μ—¬λΆ€λ₯Ό νŒλ‹¨ν•œλ‹€(S1007). λ§Œμ•½, ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” 경우라면, λΉ„λ””μ˜€ 인코더(100)λŠ” λ‹€μ‹œ μˆ˜ν‰ 및 수직 λ°©ν–₯ 쀑 ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  κ°€λŠ₯ν•œ λ°©ν–₯을 νŒλ‹¨ν•œλ‹€. ꡬ체적으둜, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯으둜만 λΆ„ν• κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S1008), μˆ˜ν‰ λ°©ν–₯이 μ•„λ‹Œ 수직 λ°©ν–₯의 일 λ°©ν–₯으둜만 λΆ„ν•  κ°€λŠ₯ν•œ 경우 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό 8번 λ³€ν™˜ λͺ¨λ“œ(508)둜 κ²°μ •ν•˜κ³ (S1009), λ³„λ„μ˜ 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦Όμ— λΆ€κ°€ν•˜μ§€ μ•ŠλŠ”λ‹€. λ˜ν•œ, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯으둜만 λΆ„ν• κ°€λŠ₯ν•œ 경우 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό 2번 λ³€ν™˜ λͺ¨λ“œ(502)둜 κ²°μ •ν•˜κ³ (S1010), λ³„λ„μ˜ 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦Όμ— λΆ€κ°€ν•˜μ§€ μ•ŠλŠ”λ‹€.Referring back to FIG. 10A, the video encoder (100) determines whether the size of the current block is equal to or larger than the minimum split block size for which the number of splits is limited (S1007). If the number of splits of the current block is limited to 1, the video encoder (100) determines the splittable direction of the current block among the horizontal and vertical directions. Specifically, the video encoder (100) determines whether the current block can be split only in the horizontal direction (S1008), and if the current block can be split only in the vertical direction and not the horizontal direction, the video encoder (100) determines the transformation mode of the current block as transformation mode 8 (508) (S1009), and does not add any additional transformation mode information to the bitstream. In addition, if the current block can be split only in the horizontal direction, the video encoder (100) determines the transformation mode of the current block as transformation mode 2 (502) (S1010), and does not add any additional transformation mode information to the bitstream.

λ§Œμ•½, ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ μˆ˜ν‰ λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S1011), ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우 μˆ˜ν‰ λ°©ν–₯으둜 λΆ„ν• λ˜λŠ” λ³€ν™˜ λͺ¨λ“œμΈ 2, 3번 λ³€ν™˜ λͺ¨λ“œ(502, 503) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜κ³ (S1012), 2, 3번 λ³€ν™˜ λͺ¨λ“œ(502, 503) 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό 좔가적인 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œ κ΅¬μ„±ν•˜μ—¬ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— λΆ€κ°€ν•œλ‹€.If the number of times the current block is divided is not limited to 1, the video encoder (100) determines whether the current block can be divided only in the horizontal direction (S1011), and if the current block can be divided only in the horizontal direction, determines the transformation mode of the current block among the transformation modes 2 and 3 (502, 503), which are transformation modes for horizontal division (S1012), and adds information indicating one of the transformation modes 2 and 3 (502, 503) to the bitstream as additional transformation mode information.

λ˜ν•œ, ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S1013), ν˜„μž¬ 블둝이 수직 λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우 수직 λ°©ν–₯으둜 λΆ„ν• λ˜λŠ” λ³€ν™˜ λͺ¨λ“œμΈ 8, 9번 λ³€ν™˜ λͺ¨λ“œ(508, 509) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜κ³ (S1014), 8, 9번 λ³€ν™˜ λͺ¨λ“œ(508, 509) 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό 좔가적인 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œ κ΅¬μ„±ν•˜μ—¬ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— λΆ€κ°€ν•œλ‹€.In addition, unless the number of times the current block is split is limited to one, the video encoder (100) determines whether the current block can be split only in the vertical direction (S1013), and if the current block can be split only in the vertical direction, determines the transformation mode of the current block among the transformation modes 8 and 9 (508, 509), which are transformation modes for splitting in the vertical direction (S1014), and adds information indicating one of the transformation modes 8 and 9 (508, 509) to the bitstream as additional transformation mode information.

도 10bλŠ” λΉ„λ””μ˜€ 디코더(200)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ μ‘μ μœΌλ‘œ κ²°μ •ν•˜λŠ” κ³Όμ •μ˜ 또 λ‹€λ₯Έ 예λ₯Ό λ‚˜νƒ€λ‚Έ ν”Œλ‘œμš° μ°¨νŠΈμ΄λ‹€. 도 10b의 과정은 도 10a에 따라 λΉ„λ””μ˜€ 인코더(100)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ„€μ •ν•˜λŠ” 과정에 λŒ€μ‘λ˜μ–΄, λΉ„λ””μ˜€ 디코더(200)κ°€ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜λŠ” 과정이닀.Fig. 10b is a flowchart illustrating another example of a process in which a video decoder (200) adaptively determines conversion mode information. The process in Fig. 10b corresponds to the process in which a video encoder (100) sets conversion mode information according to Fig. 10a, and is a process in which a video decoder (200) determines a conversion mode.

도 10bλ₯Ό μ°Έμ‘°ν•˜λ©΄, λΉ„λ””μ˜€ 디코더(200)λŠ” 도 10a에 λ”°λ₯Έ λΉ„λ””μ˜€ 인코더(100)μ—μ„œ μˆ˜ν–‰λœ κ³Όμ •κ³Ό λ™μΌν•˜κ²Œ ν˜„μž¬ λΈ”λ‘μ˜ μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성을 νŒλ‹¨ν•˜κ³ (S1021), λ§Œμ•½ ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  및 μˆ˜ν‰ λ°©ν–₯ 뢄할이 λͺ¨λ‘ λΆˆκ°€λŠ₯ν•œ 경우, λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° λ³„λ„μ˜ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό νŒŒμ‹±ν•˜μ§€ μ•Šκ³ μ„œλ„ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό 1번 λ³€ν™˜ λͺ¨λ“œ(501)둜 μ„€μ •ν•  수 μžˆλ‹€(S1022).Referring to FIG. 10b, the video decoder (200) determines the horizontal divisibility and vertical divisibility of the current block in the same manner as the process performed in the video encoder (100) according to FIG. 10a (S1021), and if the current block is arbitrarily impossible to be divided vertically or horizontally, the conversion mode of the current block can be set to conversion mode 1 (501) without parsing separate conversion mode information from the bitstream (S1022).

λΉ„λ””μ˜€ 디코더(200)λŠ” λ§Œμ•½ ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  및 μˆ˜ν‰ λ°©ν–₯ 뢄할이 λͺ¨λ‘ λΆˆκ°€λŠ₯ν•œ κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό νšλ“ν•˜μ—¬ νŒŒμ‹±ν•˜κ³ , νŒŒμ‹±λœ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œλΆ€ν„° ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  μ—¬λΆ€λ₯Ό νŒλ‹¨ν•œλ‹€(S1023). 예λ₯Ό λ“€μ–΄, λ§Œμ•½ ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  λ˜λŠ” μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  쀑 적어도 ν•˜λ‚˜κ°€ κ°€λŠ₯ν•˜λ©΄μ„œ λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œμ„œ '0'이 νšλ“λœ 경우, λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ§€ μ•ŠλŠ” 1번 λ³€ν™˜ λͺ¨λ“œ(501)둜 μ„€μ •ν•  수 μžˆλ‹€(S1024). 이 경우, λΉ„λ””μ˜€ 디코더(200)λŠ” 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό νŒŒμ‹±ν•˜μ§€ μ•Šκ³  ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œ κ²°μ • 과정을 μ’…λ£Œν•  수 μžˆλ‹€.The video decoder (200) obtains and parses transformation mode information from the bitstream, unless the current block is arbitrarily incapable of both vertical and horizontal division, and determines whether the current block is to be divided based on the parsed transformation mode information (S1023). For example, if the current block is arbitrarily capable of at least one of vertical division or horizontal division and '0' is obtained as transformation mode information from the bitstream, the video decoder (200) can set the transformation mode of the current block to transformation mode 1 (501) in which the current block is not to be divided (S1024). In this case, the video decoder (200) can end the process of determining the transformation mode of the current block without parsing additional transformation mode information.

λΉ„λ””μ˜€ 디코더(200)κ°€ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ 첫 번째 λΉ„νŠΈλ‘œμ„œ 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•¨μ„ κ°€λ¦¬ν‚€λŠ” '1'을 νšλ“ν•œ 경우, λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ 블둝이 μˆ˜ν‰ 및 수직 λ°©ν–₯ λͺ¨λ‘ λΆ„ν•  κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•œλ‹€(S1025). ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ 및 수직 λ°©ν–₯ λͺ¨λ‘λ‘œ λΆ„ν• κ°€λŠ₯ν•œ 경우, λΉ„λ””μ˜€ 디코더(100)λŠ” 2, 3, 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 508, 509, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό μΆ”κ°€λ‘œ λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° νŒŒμ‹±ν•˜κ³ , νŒŒμ‹±λœ μΆ”κ°€ λ³€ν™˜ λͺ¨λ“œ 정보에 κΈ°μ΄ˆν•˜μ—¬ 2, 3, 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 508, 509, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•  수 μžˆλ‹€(S1026).If the video decoder (200) obtains '1' as the first bit of the transformation mode information indicating the presence of vertical or horizontal division, the video decoder (200) determines whether the current block is divisible in both horizontal and vertical directions (S1025). If the current block is divisible in both horizontal and vertical directions, the video decoder (100) may additionally parse information indicating the transformation mode of the current block from among the transformation modes 2, 3, 8, 9, and 14 (502, 503, 508, 509, and 514) from the bitstream, and determine the transformation mode of the current block from among the transformation modes 2, 3, 8, 9, and 14 (502, 503, 508, 509, and 514) based on the parsed additional transformation mode information (S1026).

λ§Œμ•½, ν˜„μž¬ 블둝이 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯ λͺ¨λ‘λ‘œ λΆ„ν• κ°€λŠ₯ν•˜μ§€λŠ” μ•Šκ³  ν•˜λ‚˜μ˜ λ°©ν–₯으둜만 λΆ„ν• κ°€λŠ₯ν•œ 경우, λΉ„λ””μ˜€ 디코더(100)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  κ°€λŠ₯ 횟수λ₯Ό κ³ λ €ν•˜μ—¬ 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό νŒŒμ‹±ν•  μ§€ μ—¬λΆ€λ₯Ό κ²°μ •ν•  수 μžˆλ‹€. λΆ„ν•  κ°€λŠ₯ νšŸμˆ˜λŠ” 블둝 크기 λ“±μ˜ λΆ€κ°€ 정보에 κΈ°μ΄ˆν•˜μ—¬ λ‹€μ–‘ν•˜κ²Œ 섀정될 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, μ†Œμ • 크기 미만의 블둝에 λŒ€ν•΄μ„œλŠ” λ³€ν™˜ 블둝 결정을 μœ„ν•œ ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  κ°€λŠ₯ νšŸμˆ˜κ°€ μ†Œμ • 횟수(예λ₯Ό λ“€μ–΄, 1회)둜 μ œν•œλ  수 μžˆλ‹€.If the current block is not divisible in both the vertical and horizontal directions but is divisible in only one direction, the video decoder (100) can determine whether to parse additional transformation mode information by considering the number of times the current block can be divided. The number of times the current block can be divided can be set in various ways based on additional information such as the block size. For example, for blocks smaller than a predetermined size, the number of times the current block can be divided for determining a transformation block can be limited to a predetermined number (e.g., once).

λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ 블둝이 λΆ„ν•  νšŸμˆ˜κ°€ μ œν•œλ˜λŠ” μ΅œμ†Œ λΆ„ν•  블둝 크기 이상인지 μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S1027), λ§Œμ•½ ν˜„μž¬ λΈ”λ‘μ˜ 크기가 μ΅œμ†Œ λΆ„ν•  블둝 크기 미만으둜 ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” 경우라면, λΉ„λ””μ˜€ 디코더(200)λŠ” λ‹€μ‹œ μˆ˜ν‰ 및 수직 λ°©ν–₯ 쀑 ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  κ°€λŠ₯ν•œ λ°©ν–₯을 νŒλ‹¨ν•œλ‹€. ꡬ체적으둜, λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯으둜만 λΆ„ν• κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S1028), μˆ˜ν‰ λ°©ν–₯이 μ•„λ‹Œ 수직 λ°©ν–₯의 일 λ°©ν–₯으둜만 λΆ„ν•  κ°€λŠ₯ν•œ 경우 λ³„λ„μ˜ 좔가적인 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ νŒŒμ‹±μ—†μ΄ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό 8번 λ³€ν™˜ λͺ¨λ“œ(508)둜 κ²°μ •ν•œλ‹€(S1029). λ˜ν•œ, λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯으둜만 λΆ„ν• κ°€λŠ₯ν•œ 경우 λ³„λ„μ˜ 좔가적인 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ νŒŒμ‹±μ—†μ΄ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό 2번 λ³€ν™˜ λͺ¨λ“œ(502)둜 κ²°μ •ν•œλ‹€(S1030).The video decoder (200) determines whether the current block is larger than or equal to the minimum split block size that limits the number of splits (S1027), and if the size of the current block is smaller than the minimum split block size, and the number of splits of the current block is limited to 1, the video decoder (200) determines the splittable direction of the current block among the horizontal and vertical directions again. Specifically, the video decoder (200) determines whether the current block can be split only in the horizontal direction (S1028), and if the current block can be split only in the vertical direction and not the horizontal direction, the video decoder (200) determines the transformation mode of the current block as the 8th transformation mode (508) without parsing additional transformation mode information separately (S1029). In addition, the video decoder (200) determines the transformation mode of the current block as the 2nd transformation mode (502) without parsing additional transformation mode information separately if the current block can be split only in the horizontal direction (S1030).

λ§Œμ•½, ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ μˆ˜ν‰ λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S1031), ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우 μˆ˜ν‰ λ°©ν–₯으둜 λΆ„ν• λ˜λŠ” λ³€ν™˜ λͺ¨λ“œμΈ 2, 3번 λ³€ν™˜ λͺ¨λ“œ(502, 503) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° νŒŒμ‹±ν•˜κ³ , νŒŒμ‹±λœ μΆ”κ°€ λ³€ν™˜ λͺ¨λ“œ 정보에 κΈ°μ΄ˆν•˜μ—¬ 2, 3번 λ³€ν™˜ λͺ¨λ“œ(502, 503) 쀑 ν•˜λ‚˜λ₯Ό ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ‘œ κ²°μ •ν•œλ‹€(S1032).If the number of times the current block is split is not limited to 1, the video decoder (200) determines whether the current block can be split only in the horizontal direction (S1031), and if the current block can be split only in the horizontal direction, it parses additional transformation mode information indicating the transformation mode of the current block from among transformation modes 2 and 3 (502, 503), which are transformation modes for splitting in the horizontal direction, from the bitstream, and determines one of transformation modes 2 and 3 (502, 503) as the transformation mode of the current block based on the parsed additional transformation mode information (S1032).

λ˜ν•œ, ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S1033), ν˜„μž¬ 블둝이 수직 λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우 수직 λ°©ν–₯으둜 λΆ„ν• λ˜λŠ” λ³€ν™˜ λͺ¨λ“œμΈ 8, 9번 λ³€ν™˜ λͺ¨λ“œ(508, 509) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° νŒŒμ‹±ν•˜κ³ , νŒŒμ‹±λœ μΆ”κ°€ λ³€ν™˜ λͺ¨λ“œ 정보에 κΈ°μ΄ˆν•˜μ—¬ 8, 9번 λ³€ν™˜ λͺ¨λ“œ(508, 509) 쀑 ν•˜λ‚˜λ₯Ό ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ‘œ κ²°μ •ν•œλ‹€(S1034).In addition, unless the number of times the current block is split is limited to one, the video decoder (200) determines whether the current block can be split only in the vertical direction (S1033), and if the current block can be split only in the vertical direction, it parses additional transformation mode information indicating the transformation mode of the current block from among transformation modes 8 and 9 (508, 509), which are transformation modes for splitting in the vertical direction, from the bitstream, and determines one of transformation modes 8 and 9 (508, 509) as the transformation mode of the current block based on the parsed additional transformation mode information (S1034).

도 10cλŠ” λΉ„λ””μ˜€ 인코더(100)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ μ‘μ μœΌλ‘œ κ΅¬μ„±ν•˜λŠ” κ³Όμ •μ˜ 또 λ‹€λ₯Έ 예λ₯Ό λ‚˜νƒ€λ‚Έ ν”Œλ‘œμš° μ°¨νŠΈμ΄λ‹€.FIG. 10c is a flow chart showing another example of a process in which a video encoder (100) adaptively configures conversion mode information.

후보 λ³€ν™˜ λͺ¨λ“œλ‘œμ„œ 1, 2, 3, 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 508, 509, 514)κ°€ κ²°μ •λœ 경우, λΉ„λ””μ˜€ 인코더(100)λŠ” λ‹€μŒμ˜ 과정듀을 순차적으둜 μˆ˜ν–‰ν•˜μ—¬ 1, 2, 3, 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 508, 509, 514) 쀑 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ‘œ κ²°μ •λœ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ„€μ •ν•  수 μžˆλ‹€. When conversion modes 1, 2, 3, 8, 9, and 14 (501, 502, 503, 508, 509, and 514) are determined as candidate conversion modes, the video encoder (100) can sequentially perform the following processes to set conversion mode information indicating the conversion mode determined as the conversion mode of the current block among conversion modes 1, 2, 3, 8, 9, and 14 (501, 502, 503, 508, 509, and 514).

도 10cλ₯Ό μ°Έμ‘°ν•˜λ©΄, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성을 νŒλ‹¨ν•˜κ³ (S1041), λ§Œμ•½ ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  및 μˆ˜ν‰ λ°©ν–₯ 뢄할이 λͺ¨λ‘ λΆˆκ°€λŠ₯ν•œ 경우, λ³„λ„μ˜ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ„€μ •ν•˜μ§€ μ•Šκ³  ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό 1번 λ³€ν™˜ λͺ¨λ“œ(501)둜 μ„€μ •ν•œλ‹€(S1042). 이 경우, μ΄ν•˜μ˜ 과정은 μˆ˜ν–‰λ˜μ§€ μ•Šκ³  ν˜„μž¬ 블둝에 λŒ€ν•œ λ³€ν™˜ λͺ¨λ“œ μ„€μ • 과정은 μ’…λ£Œλœλ‹€. Referring to FIG. 10c, the video encoder (100) determines the horizontal and vertical divisibility of the current block (S1041), and if the current block cannot be arbitrarily divided into both vertical and horizontal directions, sets the conversion mode of the current block to conversion mode 1 (501) (S1042) without setting separate conversion mode information. In this case, the following process is not performed, and the conversion mode setting process for the current block is terminated.

λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  및 μˆ˜ν‰ λ°©ν–₯ 뢄할이 λͺ¨λ‘ λΆˆκ°€λŠ₯ν•œ κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, ν˜„μž¬ λΈ”λ‘μ˜ 졜적 λ³€ν™˜ λͺ¨λ“œμ— λ”°λΌμ„œ ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ—ˆλŠ”μ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S1043), i) 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•˜λŠ”μ§€ μ—¬λΆ€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 정보(예λ₯Ό λ“€μ–΄, '0'은 λ―ΈλΆ„ν• (수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 미쑴재), '1'은 뢄할을 가리킴)λ₯Ό λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ 첫 번째 μ •λ³΄λ‘œμ„œ μ„€μ •ν•˜μ—¬ μ „μ†‘ν•œλ‹€. 예λ₯Ό λ“€μ–΄, λΉ„λ””μ˜€ 인코더(100)λŠ” μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  λ˜λŠ” μˆ˜ν‰ λ°©ν–₯ 뢄할이 κ°€λŠ₯ν•˜λ©΄μ„œ, κ²°μ •λœ μ΅œμ’… λ³€ν™˜ λͺ¨λ“œκ°€ ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ§€ μ•ŠλŠ” 1번 λ³€ν™˜ λͺ¨λ“œμΈ 경우라면 i)의 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•˜λŠ”μ§€ μ—¬λΆ€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ •λ³΄λ‘œμ„œ '0'λ§Œμ„ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— ν¬ν•¨μ‹œν‚¨λ‹€(S1044). λΉ„λ””μ˜€ 인코더(100)λŠ” λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œμ„œ'0'을 λΉ„νŠΈμŠ€νŠΈλ¦Όμ— ν¬ν•¨μ‹œν‚¨ 경우 μ΄ν•˜μ˜ 좔가적인 λ³€ν™˜ λͺ¨λ“œμ˜ 정보λ₯Ό κ΅¬μ„±ν•˜λŠ” 과정을 μŠ€ν‚΅ν•˜κ³  λ³€ν™˜ λͺ¨λ“œ μ„€μ • 절차λ₯Ό μ’…λ£Œν•œλ‹€. The video encoder (100) determines whether the current block has been divided according to the optimal transformation mode of the current block, unless both vertical division and horizontal division are arbitrarily impossible for the current block (S1043), and sets and transmits information indicating whether i) vertical or horizontal division exists (e.g., '0' indicates non-division (no vertical or horizontal division exists), '1' indicates division) as the first information of the transformation mode information. For example, if the video encoder (100) allows arbitrarily vertical division or horizontal division and the determined final transformation mode is transformation mode 1 in which the current block is not divided, the video encoder (100) includes only '0' in the bitstream as information indicating whether i) vertical or horizontal division exists (S1044). If the video encoder (100) includes '0' in the bitstream as the transformation mode information, the video encoder skips the process of configuring the information of the additional transformation mode below and ends the transformation mode setting procedure.

λ§Œμ•½, ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  λ˜λŠ” μˆ˜ν‰ λ°©ν–₯ λΆ„ν• κ°€λŠ₯ν•˜κ³  κ²°μ •λœ μ΅œμ’… λ³€ν™˜ λͺ¨λ“œκ°€ 1번 λ³€ν™˜ λͺ¨λ“œκ°€ μ•„λ‹ˆκ³  ν˜„μž¬ 블둝이 λΆ„ν• λ˜λŠ” 경우, λΉ„λ””μ˜€ 인코더(100)λŠ” i)의 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•˜λŠ”μ§€ μ—¬λΆ€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ •λ³΄λ‘œμ„œ '1'을 μ„€μ •ν•˜μ—¬ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ 첫 번째 λΉ„νŠΈλ₯Ό κ΅¬μ„±ν•œ λ‹€μŒ, 1, 2, 3, 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 508, 509, 514) μ€‘μ—μ„œ ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ§€ μ•ŠλŠ” 1번 λ³€ν™˜ λͺ¨λ“œ(501)λ₯Ό μ œμ™Έν•˜κ³  2, 3, 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 508, 509, 514) 쀑 ν˜„μž¬ λΈ”λ‘μ˜ 졜적 λ³€ν™˜ λͺ¨λ“œλ‘œ κ²°μ •λœ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό μΆ”κ°€λ‘œ μ „μ†‘ν•˜κ±°λ‚˜ μ•”μ‹œμ μœΌλ‘œ μ„€μ •ν•œλ‹€. If the current block is arbitrarily vertically or horizontally divisible and the determined final transformation mode is not transformation mode 1 and the current block is divided, the video encoder (100) configures the first bit of the transformation mode information by setting '1' as information indicating whether vertical or horizontal division of i) exists, and then additionally transmits or implicitly sets information indicating a transformation mode determined as the optimal transformation mode of the current block among transformation modes 2, 3, 8, 9, and 14 (502, 503, 508, 509, and 514), excluding transformation mode 1 (501) in which the current block is not divided.

이λ₯Ό μœ„ν•˜μ—¬, λ¨Όμ € λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ 블둝이 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯ λͺ¨λ‘λ‘œ λΆ„ν• κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•œλ‹€(S1045). ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ 및 수직 λ°©ν–₯ λͺ¨λ‘λ‘œ λΆ„ν• κ°€λŠ₯ν•œ 경우, λΉ„λ””μ˜€ 인코더(100)λŠ” 2, 3, 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 508, 509, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό μ„€μ •ν•˜μ—¬ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— μΆ”κ°€ν•  수 μžˆλ‹€(S1046).To this end, the video encoder (100) first determines whether the current block is divisible in both the vertical and horizontal directions (S1045). If the current block is divisible in both the horizontal and vertical directions, the video encoder (100) can set information indicating the conversion mode of the current block among conversion modes 2, 3, 8, 9, and 14 (502, 503, 508, 509, and 514) and add it to the bitstream (S1046).

λ§Œμ•½, ν˜„μž¬ 블둝이 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯ λͺ¨λ‘λ‘œ λΆ„ν• κ°€λŠ₯ν•˜μ§€λŠ” μ•Šκ³  ν•˜λ‚˜μ˜ λ°©ν–₯으둜만 λΆ„ν• κ°€λŠ₯ν•œ 경우, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  κ°€λŠ₯ 횟수λ₯Ό κ³ λ €ν•˜μ—¬ 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ„€μ •ν•  수 μžˆλ‹€. λΆ„ν•  κ°€λŠ₯ νšŸμˆ˜λŠ” 블둝 크기 λ“±μ˜ λΆ€κ°€ 정보에 κΈ°μ΄ˆν•˜μ—¬ λ‹€μ–‘ν•˜κ²Œ 섀정될 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, μ†Œμ • 크기 미만의 블둝에 λŒ€ν•΄μ„œλŠ” λ³€ν™˜ 블둝 결정을 μœ„ν•œ ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  κ°€λŠ₯ νšŸμˆ˜κ°€ μ†Œμ • 횟수(예λ₯Ό λ“€μ–΄, 1회)둜 μ œν•œλ  수 μžˆλ‹€.If the current block is not divisible in both vertical and horizontal directions but is divisible in only one direction, the video encoder (100) may set additional transformation mode information considering the number of times the current block can be divided. The number of times the current block can be divided may be set in various ways based on additional information such as the block size. For example, for blocks smaller than a predetermined size, the number of times the current block can be divided for determining a transformation block may be limited to a predetermined number (e.g., once).

λ‹€μ‹œ 도 10cλ₯Ό μ°Έμ‘°ν•˜λ©΄, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ 크기가 λΆ„ν•  νšŸμˆ˜κ°€ μ œν•œλ˜λŠ” μ΅œμ†Œ λΆ„ν•  블둝 크기 이상인지 μ—¬λΆ€λ₯Ό νŒλ‹¨ν•œλ‹€(S1047). λ§Œμ•½, ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” 경우라면, λΉ„λ””μ˜€ 인코더(100)λŠ” λ‹€μ‹œ μˆ˜ν‰ 및 수직 λ°©ν–₯ 쀑 ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  κ°€λŠ₯ν•œ λ°©ν–₯을 νŒλ‹¨ν•œλ‹€. ꡬ체적으둜, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯으둜만 λΆ„ν• κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S1048), μˆ˜ν‰ λ°©ν–₯이 μ•„λ‹Œ 수직 λ°©ν–₯의 일 λ°©ν–₯으둜만 λΆ„ν•  κ°€λŠ₯ν•œ 경우 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό 8번 λ³€ν™˜ λͺ¨λ“œ(508)둜 κ²°μ •ν•˜κ³ (S1049), λ³„λ„μ˜ 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦Όμ— λΆ€κ°€ν•˜μ§€ μ•ŠλŠ”λ‹€. λ˜ν•œ, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯으둜만 λΆ„ν• κ°€λŠ₯ν•œ 경우 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό 2번 λ³€ν™˜ λͺ¨λ“œ(502)둜 κ²°μ •ν•˜κ³ (S1050), λ³„λ„μ˜ 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦Όμ— λΆ€κ°€ν•˜μ§€ μ•ŠλŠ”λ‹€.Referring back to FIG. 10c, the video encoder (100) determines whether the size of the current block is equal to or larger than the minimum split block size for which the number of splits is limited (S1047). If the number of splits of the current block is limited to 1, the video encoder (100) determines the splittable direction of the current block among the horizontal and vertical directions. Specifically, the video encoder (100) determines whether the current block can be split only in the horizontal direction (S1048), and if the current block can be split only in the vertical direction and not the horizontal direction, the video encoder (100) determines the transformation mode of the current block as transformation mode 8 (508) (S1049), and does not add any additional transformation mode information to the bitstream. In addition, if the current block can be split only in the horizontal direction, the video encoder (100) determines the transformation mode of the current block as transformation mode 2 (502) (S1050), and does not add any additional transformation mode information to the bitstream.

λ§Œμ•½, ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ μˆ˜ν‰ λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S1051), ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우 μˆ˜ν‰ λ°©ν–₯으둜 λΆ„ν• λ˜λŠ” λ³€ν™˜ λͺ¨λ“œμΈ 2, 3, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜κ³ (S1052), 2, 3, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 514) 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό 좔가적인 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œ κ΅¬μ„±ν•˜μ—¬ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— λΆ€κ°€ν•œλ‹€.If the number of times the current block is divided is not limited to 1, the video encoder (100) determines whether the current block can be divided only in the horizontal direction (S1051), and if the current block can be divided only in the horizontal direction, determines the transformation mode of the current block among the transformation modes 2, 3, and 14 (502, 503, and 514), which are transformation modes for horizontal division (S1052), and adds information indicating one of the transformation modes 2, 3, and 14 (502, 503, and 514) to the bitstream as additional transformation mode information.

λ˜ν•œ, ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S1053), ν˜„μž¬ 블둝이 수직 λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우 수직 λ°©ν–₯으둜 λΆ„ν• λ˜λŠ” λ³€ν™˜ λͺ¨λ“œμΈ 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(508, 509, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜κ³ (S1054), 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(508, 509, 514) 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό 좔가적인 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œ κ΅¬μ„±ν•˜μ—¬ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— λΆ€κ°€ν•œλ‹€.In addition, unless the number of times the current block is split is limited to one, the video encoder (100) determines whether the current block can be split only in the vertical direction (S1053), and if the current block can be split only in the vertical direction, determines the transformation mode of the current block among the transformation modes 8, 9, and 14 (508, 509, and 514), which are transformation modes for splitting in the vertical direction (S1054), and adds information indicating one of the transformation modes 8, 9, and 14 (508, 509, and 514) to the bitstream as additional transformation mode information.

도 10dλŠ” λΉ„λ””μ˜€ 디코더(200)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ μ‘μ μœΌλ‘œ κ²°μ •ν•˜λŠ” κ³Όμ •μ˜ 또 λ‹€λ₯Έ 예λ₯Ό λ‚˜νƒ€λ‚Έ ν”Œλ‘œμš° μ°¨νŠΈμ΄λ‹€. 도 10d의 과정은 도 10c에 따라 λΉ„λ””μ˜€ 인코더(100)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ„€μ •ν•˜λŠ” 과정에 λŒ€μ‘λ˜μ–΄, λΉ„λ””μ˜€ 디코더(200)κ°€ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜λŠ” 과정이닀.Fig. 10d is a flowchart illustrating another example of a process in which a video decoder (200) adaptively determines conversion mode information. The process in Fig. 10d corresponds to the process in which a video encoder (100) sets conversion mode information according to Fig. 10c, and is a process in which a video decoder (200) determines a conversion mode.

도 10dλ₯Ό μ°Έμ‘°ν•˜λ©΄, λΉ„λ””μ˜€ 디코더(200)λŠ” 도 10c에 λ”°λ₯Έ λΉ„λ””μ˜€ 인코더(100)μ—μ„œ μˆ˜ν–‰λœ κ³Όμ •κ³Ό λ™μΌν•˜κ²Œ ν˜„μž¬ λΈ”λ‘μ˜ μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성을 νŒλ‹¨ν•˜κ³ (S1061), λ§Œμ•½ ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  및 μˆ˜ν‰ λ°©ν–₯ 뢄할이 λͺ¨λ‘ λΆˆκ°€λŠ₯ν•œ 경우, λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° λ³„λ„μ˜ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό νŒŒμ‹±ν•˜μ§€ μ•Šκ³ μ„œλ„ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό 1번 λ³€ν™˜ λͺ¨λ“œ(501)둜 μ„€μ •ν•  수 μžˆλ‹€(S1062).Referring to FIG. 10d, the video decoder (200) determines the horizontal divisibility and vertical divisibility of the current block in the same manner as the process performed in the video encoder (100) according to FIG. 10c (S1061), and if the current block is arbitrarily impossible to be vertically divided or horizontally divided, the conversion mode of the current block can be set to conversion mode 1 (501) without parsing separate conversion mode information from the bitstream (S1062).

λΉ„λ””μ˜€ 디코더(200)λŠ” λ§Œμ•½ ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  및 μˆ˜ν‰ λ°©ν–₯ 뢄할이 λͺ¨λ‘ λΆˆκ°€λŠ₯ν•œ κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό νšλ“ν•˜μ—¬ νŒŒμ‹±ν•˜κ³ , νŒŒμ‹±λœ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œλΆ€ν„° ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  μ—¬λΆ€λ₯Ό νŒλ‹¨ν•œλ‹€(S1063). 예λ₯Ό λ“€μ–΄, λ§Œμ•½ ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  λ˜λŠ” μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  쀑 적어도 ν•˜λ‚˜κ°€ κ°€λŠ₯ν•˜λ©΄μ„œ λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œμ„œ '0'이 νšλ“λœ 경우, λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ§€ μ•ŠλŠ” 1번 λ³€ν™˜ λͺ¨λ“œ(501)둜 μ„€μ •ν•  수 μžˆλ‹€(S1064). 이 경우, λΉ„λ””μ˜€ 디코더(200)λŠ” 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό νŒŒμ‹±ν•˜μ§€ μ•Šκ³  ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œ κ²°μ • 과정을 μ’…λ£Œν•  수 μžˆλ‹€.The video decoder (200) obtains and parses transformation mode information from the bitstream, unless the current block is arbitrarily incapable of both vertical and horizontal division, and determines whether the current block is to be divided based on the parsed transformation mode information (S1063). For example, if the current block is arbitrarily capable of at least one of vertical division or horizontal division and '0' is obtained as transformation mode information from the bitstream, the video decoder (200) can set the transformation mode of the current block to transformation mode 1 (501) in which the current block is not to be divided (S1064). In this case, the video decoder (200) can end the process of determining the transformation mode of the current block without parsing additional transformation mode information.

λΉ„λ””μ˜€ 디코더(200)κ°€ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ 첫 번째 λΉ„νŠΈλ‘œμ„œ 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•¨μ„ κ°€λ¦¬ν‚€λŠ” '1'을 νšλ“ν•œ 경우, λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ 블둝이 μˆ˜ν‰ 및 수직 λ°©ν–₯ λͺ¨λ‘ λΆ„ν•  κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•œλ‹€(S1065). ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ 및 수직 λ°©ν–₯ λͺ¨λ‘λ‘œ λΆ„ν• κ°€λŠ₯ν•œ 경우, λΉ„λ””μ˜€ 디코더(100)λŠ” 2, 3, 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 508, 509, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό μΆ”κ°€λ‘œ λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° νŒŒμ‹±ν•˜κ³ , νŒŒμ‹±λœ μΆ”κ°€ λ³€ν™˜ λͺ¨λ“œ 정보에 κΈ°μ΄ˆν•˜μ—¬ 2, 3, 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 508, 509, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•  수 μžˆλ‹€(S1066).If the video decoder (200) obtains '1' as the first bit of the transformation mode information indicating the presence of vertical or horizontal division, the video decoder (200) determines whether the current block is divisible in both horizontal and vertical directions (S1065). If the current block is divisible in both horizontal and vertical directions, the video decoder (100) may additionally parse information indicating the transformation mode of the current block from among the transformation modes 2, 3, 8, 9, and 14 (502, 503, 508, 509, and 514) from the bitstream, and determine the transformation mode of the current block from among the transformation modes 2, 3, 8, 9, and 14 (502, 503, 508, 509, and 514) based on the parsed additional transformation mode information (S1066).

λ§Œμ•½, ν˜„μž¬ 블둝이 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯ λͺ¨λ‘λ‘œ λΆ„ν• κ°€λŠ₯ν•˜μ§€λŠ” μ•Šκ³  ν•˜λ‚˜μ˜ λ°©ν–₯으둜만 λΆ„ν• κ°€λŠ₯ν•œ 경우, λΉ„λ””μ˜€ 디코더(100)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  κ°€λŠ₯ 횟수λ₯Ό κ³ λ €ν•˜μ—¬ 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό νŒŒμ‹±ν•  μ§€ μ—¬λΆ€λ₯Ό κ²°μ •ν•  수 μžˆλ‹€. λΆ„ν•  κ°€λŠ₯ νšŸμˆ˜λŠ” 블둝 크기 λ“±μ˜ λΆ€κ°€ 정보에 κΈ°μ΄ˆν•˜μ—¬ λ‹€μ–‘ν•˜κ²Œ 섀정될 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, μ†Œμ • 크기 미만의 블둝에 λŒ€ν•΄μ„œλŠ” λ³€ν™˜ 블둝 결정을 μœ„ν•œ ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  κ°€λŠ₯ νšŸμˆ˜κ°€ μ†Œμ • 횟수(예λ₯Ό λ“€μ–΄, 1회)둜 μ œν•œλ  수 μžˆλ‹€.If the current block is not divisible in both the vertical and horizontal directions but is divisible in only one direction, the video decoder (100) can determine whether to parse additional transformation mode information by considering the number of times the current block can be divided. The number of times the current block can be divided can be set in various ways based on additional information such as the block size. For example, for blocks smaller than a predetermined size, the number of times the current block can be divided for determining a transformation block can be limited to a predetermined number (e.g., once).

λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ 블둝이 λΆ„ν•  νšŸμˆ˜κ°€ μ œν•œλ˜λŠ” μ΅œμ†Œ λΆ„ν•  블둝 크기 이상인지 μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S1067), λ§Œμ•½ ν˜„μž¬ λΈ”λ‘μ˜ 크기가 μ΅œμ†Œ λΆ„ν•  블둝 크기 미만으둜 ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” 경우라면, λΉ„λ””μ˜€ 디코더(200)λŠ” λ‹€μ‹œ μˆ˜ν‰ 및 수직 λ°©ν–₯ 쀑 ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  κ°€λŠ₯ν•œ λ°©ν–₯을 νŒλ‹¨ν•œλ‹€. ꡬ체적으둜, λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯으둜만 λΆ„ν• κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S1068), μˆ˜ν‰ λ°©ν–₯이 μ•„λ‹Œ 수직 λ°©ν–₯의 일 λ°©ν–₯으둜만 λΆ„ν•  κ°€λŠ₯ν•œ 경우 λ³„λ„μ˜ 좔가적인 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ νŒŒμ‹±μ—†μ΄ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό 8번 λ³€ν™˜ λͺ¨λ“œ(508)둜 κ²°μ •ν•œλ‹€(S1069). λ˜ν•œ, λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯으둜만 λΆ„ν• κ°€λŠ₯ν•œ 경우 λ³„λ„μ˜ 좔가적인 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ νŒŒμ‹±μ—†μ΄ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό 2번 λ³€ν™˜ λͺ¨λ“œ(502)둜 κ²°μ •ν•œλ‹€(S1070).The video decoder (200) determines whether the current block is larger than or equal to the minimum split block size that limits the number of splits (S1067), and if the size of the current block is smaller than the minimum split block size, and the number of splits of the current block is limited to 1, the video decoder (200) determines the splittable direction of the current block among the horizontal and vertical directions again. Specifically, the video decoder (200) determines whether the current block can be split only in the horizontal direction (S1068), and if the current block can be split only in the vertical direction and not the horizontal direction, the video decoder (200) determines the transformation mode of the current block as the 8th transformation mode (508) without parsing additional transformation mode information separately (S1069). In addition, the video decoder (200) determines the transformation mode of the current block as the 2nd transformation mode (502) without parsing additional transformation mode information separately if the current block can be split only in the horizontal direction (S1070).

λ§Œμ•½, ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ μˆ˜ν‰ λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S1071), ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우 μˆ˜ν‰ λ°©ν–₯으둜 λΆ„ν• λ˜λŠ” λ³€ν™˜ λͺ¨λ“œμΈ 2, 3, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° νŒŒμ‹±ν•˜κ³ , νŒŒμ‹±λœ μΆ”κ°€ λ³€ν™˜ λͺ¨λ“œ 정보에 κΈ°μ΄ˆν•˜μ—¬ 2, 3, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 514) 쀑 ν•˜λ‚˜λ₯Ό ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ‘œ κ²°μ •ν•œλ‹€(S1072).If the number of times the current block is split is not limited to one, the video decoder (200) determines whether the current block can be split only in the horizontal direction (S1071), and if the current block can be split only in the horizontal direction, it parses additional transformation mode information indicating the transformation mode of the current block from among transformation modes 2, 3, and 14 (502, 503, and 514), which are transformation modes for splitting in the horizontal direction, from the bitstream, and determines one of transformation modes 2, 3, and 14 (502, 503, and 514) as the transformation mode of the current block based on the parsed additional transformation mode information (S1072).

λ˜ν•œ, ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S1073), ν˜„μž¬ 블둝이 수직 λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우 수직 λ°©ν–₯으둜 λΆ„ν• λ˜λŠ” λ³€ν™˜ λͺ¨λ“œμΈ 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(508, 509, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° νŒŒμ‹±ν•˜κ³ , νŒŒμ‹±λœ μΆ”κ°€ λ³€ν™˜ λͺ¨λ“œ 정보에 κΈ°μ΄ˆν•˜μ—¬ 8, 9,1 4번 λ³€ν™˜ λͺ¨λ“œ(508, 509, 514) 쀑 ν•˜λ‚˜λ₯Ό ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ‘œ κ²°μ •ν•œλ‹€(S1074).In addition, unless the number of times the current block is split is limited to one, the video decoder (200) determines whether the current block can be split only in the vertical direction (S1073), and if the current block can be split only in the vertical direction, it parses additional transformation mode information indicating the transformation mode of the current block from among transformation modes 8, 9, and 14 (508, 509, 514), which are transformation modes for splitting in the vertical direction, from the bitstream, and determines one of transformation modes 8, 9, 14 (508, 509, 514) as the transformation mode of the current block based on the parsed additional transformation mode information (S1074).

μ΄ν•˜, 또 λ‹€λ₯Έ μ˜ˆμ‹œλ‘œ, 후보 λ³€ν™˜ λͺ¨λ“œλ‘œμ„œ 1, 2, 3, 4, 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 504, 508, 509, 510, 514)의 8개의 λ³€ν™˜ λͺ¨λ“œκ°€ κ²°μ •λœ 경우, λΉ„λ””μ˜€ 인코더(100)κ°€ 후보 λ³€ν™˜ λͺ¨λ“œλ“€ 쀑 졜적 λ³€ν™˜ λͺ¨λ“œμ— λŒ€ν•œ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ μ‘μ μœΌλ‘œ κ΅¬μ„±ν•˜λŠ” 과정을 μ„€λͺ…ν•œλ‹€.Below, as another example, when eight conversion modes (501, 502, 503, 504, 508, 509, 510, 514) are determined as candidate conversion modes, a process in which a video encoder (100) adaptively configures conversion mode information for an optimal conversion mode among the candidate conversion modes is described.

도 11aλŠ” λΉ„λ””μ˜€ 인코더(100)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ μ‘μ μœΌλ‘œ κ΅¬μ„±ν•˜λŠ” κ³Όμ •μ˜ 또 λ‹€λ₯Έ 예λ₯Ό λ‚˜νƒ€λ‚Έ ν”Œλ‘œμš° μ°¨νŠΈμ΄λ‹€.FIG. 11a is a flow chart showing another example of a process in which a video encoder (100) adaptively configures conversion mode information.

후보 λ³€ν™˜ λͺ¨λ“œλ‘œμ„œ 1, 2, 3, 4, 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 504, 508, 509, 510, 514)의 8개의 λ³€ν™˜ λͺ¨λ“œκ°€ κ²°μ •λœ 경우, λΉ„λ””μ˜€ 인코더(100)λŠ” λ‹€μŒμ˜ 과정듀을 순차적으둜 μˆ˜ν–‰ν•˜μ—¬ 1, 2, 3, 4, 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 504, 508, 509, 510, 514) 쀑 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ‘œ κ²°μ •λœ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ„€μ •ν•  수 μžˆλ‹€. When eight conversion modes (501, 502, 503, 504, 508, 509, 510, 514) of conversion modes 1, 2, 3, 4, 8, 9, 10, 14 are determined as candidate conversion modes, the video encoder (100) can sequentially perform the following processes to set conversion mode information indicating the conversion mode determined as the conversion mode of the current block among conversion modes 1, 2, 3, 4, 8, 9, 10, 14 (501, 502, 503, 504, 508, 509, 510, 514).

도 11aλ₯Ό μ°Έμ‘°ν•˜λ©΄, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성을 νŒλ‹¨ν•˜κ³ (S1101), λ§Œμ•½ ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  및 μˆ˜ν‰ λ°©ν–₯ 뢄할이 λͺ¨λ‘ λΆˆκ°€λŠ₯ν•œ 경우, λ³„λ„μ˜ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ„€μ •ν•˜μ§€ μ•Šκ³  ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό 1번 λ³€ν™˜ λͺ¨λ“œ(501)둜 μ„€μ •ν•œλ‹€(S1102). 이 경우, μ΄ν•˜μ˜ 과정은 μˆ˜ν–‰λ˜μ§€ μ•Šκ³  ν˜„μž¬ 블둝에 λŒ€ν•œ λ³€ν™˜ λͺ¨λ“œ μ„€μ • 과정은 μ’…λ£Œλœλ‹€. Referring to FIG. 11a, the video encoder (100) determines the horizontal and vertical divisibility of the current block (S1101), and if the current block cannot be arbitrarily divided into both vertical and horizontal directions, sets the conversion mode of the current block to conversion mode 1 (501) (S1102) without setting separate conversion mode information. In this case, the following process is not performed, and the conversion mode setting process for the current block is terminated.

λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  및 μˆ˜ν‰ λ°©ν–₯ 뢄할이 λͺ¨λ‘ λΆˆκ°€λŠ₯ν•œ κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, ν˜„μž¬ λΈ”λ‘μ˜ 졜적 λ³€ν™˜ λͺ¨λ“œμ— λ”°λΌμ„œ ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ—ˆλŠ”μ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S1103), i) 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•˜λŠ”μ§€ μ—¬λΆ€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 정보(예λ₯Ό λ“€μ–΄, '0'은 λ―ΈλΆ„ν• (수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 미쑴재), '1'은 뢄할을 가리킴)λ₯Ό λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ 첫 번째 μ •λ³΄λ‘œμ„œ μ„€μ •ν•˜μ—¬ μ „μ†‘ν•œλ‹€. 예λ₯Ό λ“€μ–΄, λΉ„λ””μ˜€ 인코더(100)λŠ” μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  λ˜λŠ” μˆ˜ν‰ λ°©ν–₯ 뢄할이 κ°€λŠ₯ν•˜λ©΄μ„œ, κ²°μ •λœ μ΅œμ’… λ³€ν™˜ λͺ¨λ“œκ°€ ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ§€ μ•ŠλŠ” 1번 λ³€ν™˜ λͺ¨λ“œμΈ 경우라면 i)의 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•˜λŠ”μ§€ μ—¬λΆ€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ •λ³΄λ‘œμ„œ '0'λ§Œμ„ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— ν¬ν•¨μ‹œν‚¨λ‹€(S1104). λΉ„λ””μ˜€ 인코더(100)λŠ” λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œμ„œ'0'을 λΉ„νŠΈμŠ€νŠΈλ¦Όμ— ν¬ν•¨μ‹œν‚¨ 경우 μ΄ν•˜μ˜ 좔가적인 λ³€ν™˜ λͺ¨λ“œμ˜ 정보λ₯Ό κ΅¬μ„±ν•˜λŠ” 과정을 μŠ€ν‚΅ν•˜κ³  λ³€ν™˜ λͺ¨λ“œ μ„€μ • 절차λ₯Ό μ’…λ£Œν•œλ‹€. The video encoder (100) determines whether the current block has been divided according to the optimal transformation mode of the current block, unless both vertical division and horizontal division are arbitrarily impossible for the current block (S1103), and sets and transmits information indicating whether i) vertical or horizontal division exists (e.g., '0' indicates non-division (no vertical or horizontal division exists), '1' indicates division) as the first information of the transformation mode information. For example, if the video encoder (100) allows arbitrarily vertical division or horizontal division and the determined final transformation mode is transformation mode 1 in which the current block is not divided, the video encoder (100) includes only '0' as information indicating whether i) vertical or horizontal division exists in the bitstream (S1104). If the video encoder (100) includes '0' in the bitstream as the transformation mode information, the video encoder skips the process of configuring the information of the additional transformation mode below and ends the transformation mode setting procedure.

λ§Œμ•½, ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  λ˜λŠ” μˆ˜ν‰ λ°©ν–₯ 뢄할이 κ°€λŠ₯ν•˜λ©΄μ„œ κ²°μ •λœ μ΅œμ’… λ³€ν™˜ λͺ¨λ“œκ°€ 1번 λ³€ν™˜ λͺ¨λ“œκ°€ μ•„λ‹ˆκ³  ν˜„μž¬ 블둝이 λΆ„ν• λ˜λŠ” 경우, λΉ„λ””μ˜€ 인코더(100)λŠ” i)의 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•˜λŠ”μ§€ μ—¬λΆ€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ •λ³΄λ‘œμ„œ '1'을 μ„€μ •ν•˜μ—¬ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ 첫 번째 λΉ„νŠΈλ₯Ό κ΅¬μ„±ν•œ λ‹€μŒ, 1, 2, 3, 4, 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 504, 508, 509, 510, 514) μ€‘μ—μ„œ ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ§€ μ•ŠλŠ” 1번 λ³€ν™˜ λͺ¨λ“œ(501)λ₯Ό μ œμ™Έν•˜κ³  2, 3, 4, 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 504, 508, 509, 510, 514) 쀑 ν˜„μž¬ λΈ”λ‘μ˜ 졜적 λ³€ν™˜ λͺ¨λ“œλ‘œ κ²°μ •λœ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό μΆ”κ°€λ‘œ μ „μ†‘ν•œλ‹€. 이 λ•Œ, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  κ°€λŠ₯ 횟수λ₯Ό κ³ λ €ν•˜μ—¬ 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ„€μ •ν•  수 μžˆλ‹€. λΆ„ν•  κ°€λŠ₯ νšŸμˆ˜λŠ” 블둝 크기 λ“±μ˜ λΆ€κ°€ 정보에 κΈ°μ΄ˆν•˜μ—¬ λ‹€μ–‘ν•˜κ²Œ 섀정될 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, μ†Œμ • 크기 미만의 블둝에 λŒ€ν•΄μ„œλŠ” λ³€ν™˜ 블둝 결정을 μœ„ν•œ ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  κ°€λŠ₯ νšŸμˆ˜κ°€ μ†Œμ • 횟수(예λ₯Ό λ“€μ–΄, 1회)둜 μ œν•œλ  수 μžˆλ‹€.If the current block can be arbitrarily divided in the vertical direction or the horizontal direction and the final transformation mode determined is not the first transformation mode and the current block is divided, the video encoder (100) configures the first bit of the transformation mode information by setting '1' as information indicating whether the vertical or horizontal division of i) exists, and then additionally indicates the transformation mode determined as the optimal transformation mode of the current block among the transformation modes 2, 3, 4, 8, 9, 10, and 14 (501, 502, 503, 504, 508, 509, 510, and 514) except for the transformation mode 1 (501) in which the current block is not divided. Transmit. At this time, the video encoder (100) can set additional transformation mode information considering the number of times the current block can be divided. The number of times the current block can be divided can be set in various ways based on additional information such as the block size. For example, for blocks smaller than a predetermined size, the number of times the current block can be divided for determining the transformation block can be limited to a predetermined number (e.g., once).

λ‹€μ‹œ 도 11aλ₯Ό μ°Έμ‘°ν•˜λ©΄, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ 크기가 λΆ„ν•  νšŸμˆ˜κ°€ μ œν•œλ˜λŠ” μ΅œμ†Œ λΆ„ν•  블둝 크기 이상인지 μ—¬λΆ€λ₯Ό νŒλ‹¨ν•œλ‹€(S1105). λ§Œμ•½, ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” 경우라면, λΉ„λ””μ˜€ 인코더(100)λŠ” 1번 λ³€ν™˜ λͺ¨λ“œ(501)λ₯Ό μ œμ™Έν•˜κ³  후보 λ³€ν™˜ λͺ¨λ“œμ— ν¬ν•¨λœ 2, 3, 4, 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 504, 508, 509, 510, 514) μ€‘μ—μ„œ ν˜„μž¬ 블둝을 1회만 λΆ„ν• ν•˜λŠ” 2, 8번 λ³€ν™˜ λͺ¨λ“œ(502, 508)λ₯Ό κ²°μ •ν•˜κ³ , 2, 8번 λ³€ν™˜ λͺ¨λ“œ(502, 508) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜κ³ (S1106), 2, 8번 λ³€ν™˜ λͺ¨λ“œ(502, 508) 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό 좔가적인 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œ κ΅¬μ„±ν•˜μ—¬ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— λΆ€κ°€ν•œλ‹€.Referring again to FIG. 11a, the video encoder (100) determines whether the size of the current block is greater than or equal to the minimum split block size for which the number of splits is limited (S1105). If the number of times the current block is divided is limited to one, the video encoder (100) determines the conversion modes (502, 508) that divide the current block only once among the conversion modes (502, 503, 504, 508, 509, 510, 514) included in the candidate conversion modes, excluding the conversion mode (501), and determines the conversion mode of the current block among the conversion modes (502, 508) of the 2nd and 8th blocks (S1106), and adds information indicating one of the conversion modes (502, 508) of the 2nd and 8th blocks to the bitstream as additional conversion mode information.

λ§Œμ•½, ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ μˆ˜ν‰ λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S1107), ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우 μˆ˜ν‰ λ°©ν–₯으둜 λΆ„ν• λ˜λŠ” λ³€ν™˜ λͺ¨λ“œμΈ 2, 3, 4번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 504) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜κ³ (S1108), 2, 3, 4번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 504) 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό 좔가적인 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œ κ΅¬μ„±ν•˜μ—¬ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— λΆ€κ°€ν•œλ‹€.If the number of times the current block is divided is not limited to 1, the video encoder (100) determines whether the current block can be divided only in the horizontal direction (S1107), and if the current block can be divided only in the horizontal direction, the video encoder determines the transformation mode of the current block among the transformation modes 2, 3, and 4 (502, 503, and 504), which are transformation modes for horizontal division (S1108), and adds information indicating one of the transformation modes 2, 3, and 4 (502, 503, and 504) to the bitstream as additional transformation mode information.

λ˜ν•œ, ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S1109), ν˜„μž¬ 블둝이 수직 λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우 수직 λ°©ν–₯으둜 λΆ„ν• λ˜λŠ” λ³€ν™˜ λͺ¨λ“œμΈ 8, 9, 10번 λ³€ν™˜ λͺ¨λ“œ(508, 509, 510) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜κ³ (S1110), 8, 9, 10번 λ³€ν™˜ λͺ¨λ“œ(508, 509, 510) 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό 좔가적인 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œ κ΅¬μ„±ν•˜μ—¬ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— λΆ€κ°€ν•œλ‹€.In addition, unless the number of times the current block is split is limited to one, the video encoder (100) determines whether the current block can be split only in the vertical direction (S1109), and if the current block can be split only in the vertical direction, determines the transformation mode of the current block among transformation modes 8, 9, and 10 (508, 509, 510), which are transformation modes for splitting in the vertical direction (S1110), and configures information indicating one of the transformation modes 8, 9, and 10 (508, 509, 510) as additional transformation mode information and adds it to the bitstream.

λ˜ν•œ, ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” κ²½μš°κ°€ μ•„λ‹ˆκ³  ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ λ˜λŠ” 수직 λ°©ν–₯ 쀑 일 λ°©ν–₯으둜만 λΆ„ν• κ°€λŠ₯ν•œ κ²½μš°κ°€ μ•„λ‹Œ 경우, 즉 ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ 및 수직 λ°©ν–₯ λͺ¨λ‘λ‘œ λΆ„ν• κ°€λŠ₯ν•œ 경우, λΉ„λ””μ˜€ 인코더(100)λŠ” 2, 3, 4, 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 504, 508, 509, 510, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό μ„€μ •ν•˜μ—¬ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— μΆ”κ°€ν•  수 μžˆλ‹€(S1111).In addition, if the number of times the current block is divided is not limited to 1 and the current block is not divisible in only one of the horizontal or vertical directions, i.e., if the current block is divisible in both the horizontal and vertical directions, the video encoder (100) can set information indicating the conversion mode of the current block among conversion modes 2, 3, 4, 8, 9, 10, and 14 (502, 503, 504, 508, 509, 510, and 514) and add it to the bitstream (S1111).

도 11bλŠ” λΉ„λ””μ˜€ 디코더(200)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ μ‘μ μœΌλ‘œ κ²°μ •ν•˜λŠ” κ³Όμ •μ˜ 또 λ‹€λ₯Έ 예λ₯Ό λ‚˜νƒ€λ‚Έ ν”Œλ‘œμš° μ°¨νŠΈμ΄λ‹€. 도 11b의 과정은 도 11a에 따라 λΉ„λ””μ˜€ 인코더(100)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ„€μ •ν•˜λŠ” 과정에 λŒ€μ‘λ˜μ–΄, λΉ„λ””μ˜€ 디코더(200)κ°€ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜λŠ” 과정이닀.Fig. 11b is a flowchart illustrating another example of a process in which a video decoder (200) adaptively determines conversion mode information. The process in Fig. 11b corresponds to the process in which a video encoder (100) sets conversion mode information according to Fig. 11a, and is a process in which a video decoder (200) determines a conversion mode.

도 11bλ₯Ό μ°Έμ‘°ν•˜λ©΄, λΉ„λ””μ˜€ 디코더(200)λŠ” 도 11a에 λ”°λ₯Έ λΉ„λ””μ˜€ 인코더(100)μ—μ„œ μˆ˜ν–‰λœ κ³Όμ •κ³Ό λ™μΌν•˜κ²Œ ν˜„μž¬ λΈ”λ‘μ˜ μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성을 νŒλ‹¨ν•˜κ³ (S1121), λ§Œμ•½ ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  및 μˆ˜ν‰ λ°©ν–₯ 뢄할이 λͺ¨λ‘ λΆˆκ°€λŠ₯ν•œ 경우, λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° λ³„λ„μ˜ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό νŒŒμ‹±ν•˜μ§€ μ•Šκ³ μ„œλ„ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό 1번 λ³€ν™˜ λͺ¨λ“œ(501)둜 μ„€μ •ν•  수 μžˆλ‹€(S1122).Referring to FIG. 11b, the video decoder (200) determines the horizontal divisibility and vertical divisibility of the current block in the same manner as the process performed in the video encoder (100) according to FIG. 11a (S1121), and if the current block is arbitrarily impossible to be vertically divided or horizontally divided, the conversion mode of the current block can be set to conversion mode 1 (501) without parsing separate conversion mode information from the bitstream (S1122).

λΉ„λ””μ˜€ 디코더(200)λŠ” λ§Œμ•½ ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  및 μˆ˜ν‰ λ°©ν–₯ 뢄할이 λͺ¨λ‘ λΆˆκ°€λŠ₯ν•œ κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό νšλ“ν•˜μ—¬ νŒŒμ‹±ν•˜κ³ , νŒŒμ‹±λœ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œλΆ€ν„° ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  μ—¬λΆ€λ₯Ό νŒλ‹¨ν•œλ‹€(S1123). 예λ₯Ό λ“€μ–΄, λ§Œμ•½ ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  λ˜λŠ” μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  쀑 적어도 ν•˜λ‚˜κ°€ κ°€λŠ₯ν•˜λ©΄μ„œ λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œμ„œ '0'이 νšλ“λœ 경우, λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ§€ μ•ŠλŠ” 1번 λ³€ν™˜ λͺ¨λ“œ(501)둜 μ„€μ •ν•  수 μžˆλ‹€(S1124). 이 경우, λΉ„λ””μ˜€ 디코더(200)λŠ” 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό νŒŒμ‹±ν•˜μ§€ μ•Šκ³  ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œ κ²°μ • 과정을 μ’…λ£Œν•  수 μžˆλ‹€.The video decoder (200) obtains and parses transformation mode information from the bitstream, unless the current block is arbitrarily incapable of both vertical and horizontal division, and determines whether the current block is to be divided based on the parsed transformation mode information (S1123). For example, if the current block is arbitrarily capable of at least one of vertical division or horizontal division and '0' is obtained as transformation mode information from the bitstream, the video decoder (200) can set the transformation mode of the current block to transformation mode 1 (501) in which the current block is not to be divided (S1124). In this case, the video decoder (200) can end the process of determining the transformation mode of the current block without parsing additional transformation mode information.

λΉ„λ””μ˜€ 디코더(200)κ°€ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ 첫 번째 λΉ„νŠΈλ‘œμ„œ 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•¨μ„ κ°€λ¦¬ν‚€λŠ” '1'을 νšλ“ν•œ 경우, ν˜„μž¬ 블둝이 λΆ„ν•  νšŸμˆ˜κ°€ μ œν•œλ˜λŠ” μ΅œμ†Œ λΆ„ν•  블둝 크기 이상인지 μ—¬λΆ€λ₯Ό νŒλ‹¨ν•œλ‹€(S1125).When the video decoder (200) obtains '1' indicating the presence of vertical or horizontal division as the first bit of the conversion mode information, it determines whether the current block is larger than the minimum division block size for which the number of divisions is limited (S1125).

λ§Œμ•½, ν˜„μž¬ λΈ”λ‘μ˜ 크기가 μ΅œμ†Œ λΆ„ν•  블둝 크기 미만으둜 ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” 경우라면, λΉ„λ””μ˜€ 디코더(200)λŠ” 1번 λ³€ν™˜ λͺ¨λ“œ(501)λ₯Ό μ œμ™Έν•˜κ³  2, 3, 4, 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 504, 508, 509, 510, 514)을 ν¬ν•¨ν•˜λŠ” 후보 λ³€ν™˜ λͺ¨λ“œ μ€‘μ—μ„œ ν˜„μž¬ 블둝을 1회만 λΆ„ν• ν•˜λŠ” 2, 8번 λ³€ν™˜ λͺ¨λ“œ(502, 508)λ₯Ό κ²°μ •ν•˜κ³ , 2, 8번 λ³€ν™˜ λͺ¨λ“œ(502, 508) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° νŒŒμ‹±ν•˜κ³ , νšλ“λœ 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보에 κΈ°μ΄ˆν•˜μ—¬ 2, 8번 λ³€ν™˜ λͺ¨λ“œ(502, 508) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•œλ‹€(S1126).If the size of the current block is less than the minimum split block size and the number of times the current block is split is limited to one, the video decoder (200) determines the conversion modes (502, 508) that split the current block only once among candidate conversion modes including conversion modes (502, 503, 504, 508, 509, 510, 514) excluding conversion mode 1 (501), parses conversion mode information indicating the conversion mode of the current block among conversion modes (502, 508) from the bitstream, and determines the conversion mode of the current block among conversion modes (502, 508) 2 and 8 based on the acquired additional conversion mode information (S1126).

λ§Œμ•½, ν˜„μž¬ λΈ”λ‘μ˜ 크기가 μ΅œμ†Œ λΆ„ν•  블둝 크기 μ΄μƒμœΌλ‘œ ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ μˆ˜ν‰ λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S1127), ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우 μˆ˜ν‰ λ°©ν–₯으둜 λΆ„ν• λ˜λŠ” λ³€ν™˜ λͺ¨λ“œμΈ 2, 3, 4번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 504) 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° νŒŒμ‹±ν•˜κ³ , νšλ“λœ 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보에 κΈ°μ΄ˆν•˜μ—¬ 2, 3, 4번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 504) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•œλ‹€(S1128).If the size of the current block is not greater than the minimum split block size and the number of times the current block is split is not limited to 1, the video decoder (200) determines whether the current block can be split only in the horizontal direction (S1127), and if the current block can be split only in the horizontal direction, it parses information indicating one of the conversion modes 2, 3, and 4 (502, 503, 504) that is a conversion mode for splitting in the horizontal direction from the bitstream, and determines the conversion mode of the current block among the conversion modes 2, 3, and 504 (502, 503, 504) based on the acquired additional conversion mode information (S1128).

λ˜ν•œ, ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S1129), ν˜„μž¬ 블둝이 수직 λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우 수직 λ°©ν–₯으둜 λΆ„ν• λ˜λŠ” λ³€ν™˜ λͺ¨λ“œμΈ 8, 9, 10번 λ³€ν™˜ λͺ¨λ“œ(508, 509, 510) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° νŒŒμ‹±ν•˜κ³ , νšλ“λœ 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보에 κΈ°μ΄ˆν•˜μ—¬ 8, 9, 10번 λ³€ν™˜ λͺ¨λ“œ(508, 509, 510) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•œλ‹€(S1130).In addition, unless the number of times the current block is split is limited to 1, the video decoder (200) determines whether the current block can be split only in the vertical direction (S1129), and if the current block can be split only in the vertical direction, the video decoder parses the transformation mode information indicating the transformation mode of the current block from among the transformation modes 8, 9, and 10 (508, 509, 510), which are transformation modes for splitting in the vertical direction, from the bitstream, and determines the transformation mode of the current block from among the transformation modes 8, 9, and 10 (508, 509, 510) based on the acquired additional transformation mode information (S1130).

λ˜ν•œ, ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” κ²½μš°κ°€ μ•„λ‹ˆκ³  ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ λ˜λŠ” 수직 λ°©ν–₯ 쀑 일 λ°©ν–₯으둜만 λΆ„ν• κ°€λŠ₯ν•œ κ²½μš°κ°€ μ•„λ‹Œ 경우, 즉 ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ 및 수직 λ°©ν–₯ λͺ¨λ‘λ‘œ λΆ„ν• κ°€λŠ₯ν•œ 경우, λΉ„λ””μ˜€ 디코더(200)λŠ” 2, 3, 4, 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 504, 508, 509, 510, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° νŒŒμ‹±ν•˜κ³ , νšλ“λœ 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보에 κΈ°μ΄ˆν•˜μ—¬ 2, 3, 4, 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 504, 508, 509, 510, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•œλ‹€(S1131).In addition, if the number of times the current block is split is limited to one and the current block is not splittable in only one of the horizontal direction and the vertical direction, i.e., if the current block is splittable in both the horizontal direction and the vertical direction, the video decoder (200) parses the transformation mode information indicating the transformation mode of the current block from among the transformation modes 2, 3, 4, 8, 9, 10, and 14 (502, 503, 504, 508, 509, 510, and 514) from the bitstream, and determines the transformation mode of the current block from among the transformation modes 2, 3, 4, 8, 9, 10, and 14 (502, 503, 504, 508, 509, 510, and 514) based on the acquired additional transformation mode information (S1131).

도 11cλŠ” λΉ„λ””μ˜€ 인코더(100)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ μ‘μ μœΌλ‘œ κ΅¬μ„±ν•˜λŠ” κ³Όμ •μ˜ 또 λ‹€λ₯Έ 예λ₯Ό λ‚˜νƒ€λ‚Έ ν”Œλ‘œμš° μ°¨νŠΈμ΄λ‹€.Figure 11c is a flow chart showing another example of a process in which a video encoder (100) adaptively configures conversion mode information.

후보 λ³€ν™˜ λͺ¨λ“œλ‘œμ„œ 1, 2, 3, 4, 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 504, 508, 509, 510, 514)κ°€ κ²°μ •λœ 경우, λΉ„λ””μ˜€ 인코더(100)λŠ” λ‹€μŒμ˜ 과정듀을 순차적으둜 μˆ˜ν–‰ν•˜μ—¬ 1, 2, 3, 4, 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 504, 508, 509, 510, 514) 쀑 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ‘œ κ²°μ •λœ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ„€μ •ν•  수 μžˆλ‹€. When conversion modes 1, 2, 3, 4, 8, 9, 10, and 14 (501, 502, 503, 504, 508, 509, 510, and 514) are determined as candidate conversion modes, the video encoder (100) can sequentially perform the following processes to set conversion mode information indicating the conversion mode determined as the conversion mode of the current block among conversion modes 1, 2, 3, 4, 8, 9, 10, and 14 (501, 502, 503, 504, 508, 509, 510, and 514).

도 11cλ₯Ό μ°Έμ‘°ν•˜λ©΄, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성을 νŒλ‹¨ν•˜κ³ (S1141), λ§Œμ•½ ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  및 μˆ˜ν‰ λ°©ν–₯ 뢄할이 λͺ¨λ‘ λΆˆκ°€λŠ₯ν•œ 경우, λ³„λ„μ˜ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ„€μ •ν•˜μ§€ μ•Šκ³  ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό 1번 λ³€ν™˜ λͺ¨λ“œ(501)둜 μ„€μ •ν•œλ‹€(S1142). 이 경우, μ΄ν•˜μ˜ 과정은 μˆ˜ν–‰λ˜μ§€ μ•Šκ³  ν˜„μž¬ 블둝에 λŒ€ν•œ λ³€ν™˜ λͺ¨λ“œ μ„€μ • 과정은 μ’…λ£Œλœλ‹€. Referring to FIG. 11c, the video encoder (100) determines the horizontal and vertical divisibility of the current block (S1141), and if the current block cannot be arbitrarily divided into both vertical and horizontal directions, sets the conversion mode of the current block to conversion mode 1 (501) (S1142) without setting separate conversion mode information. In this case, the following process is not performed, and the conversion mode setting process for the current block is terminated.

λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  및 μˆ˜ν‰ λ°©ν–₯ 뢄할이 λͺ¨λ‘ λΆˆκ°€λŠ₯ν•œ κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, ν˜„μž¬ λΈ”λ‘μ˜ 졜적 λ³€ν™˜ λͺ¨λ“œμ— λ”°λΌμ„œ ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ—ˆλŠ”μ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S1143), i) 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•˜λŠ”μ§€ μ—¬λΆ€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 정보(예λ₯Ό λ“€μ–΄, '0'은 λ―ΈλΆ„ν• (수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 미쑴재), '1'은 뢄할을 가리킴)λ₯Ό λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ 첫 번째 μ •λ³΄λ‘œμ„œ μ„€μ •ν•˜μ—¬ μ „μ†‘ν•œλ‹€. 예λ₯Ό λ“€μ–΄, λΉ„λ””μ˜€ 인코더(100)λŠ” μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  λ˜λŠ” μˆ˜ν‰ λ°©ν–₯ 뢄할이 κ°€λŠ₯ν•˜λ©΄μ„œ, κ²°μ •λœ μ΅œμ’… λ³€ν™˜ λͺ¨λ“œκ°€ ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ§€ μ•ŠλŠ” 1번 λ³€ν™˜ λͺ¨λ“œμΈ 경우라면 i)의 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•˜λŠ”μ§€ μ—¬λΆ€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ •λ³΄λ‘œμ„œ '0'λ§Œμ„ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— ν¬ν•¨μ‹œν‚¨λ‹€(S1144). λΉ„λ””μ˜€ 인코더(100)λŠ” λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œμ„œ'0'을 λΉ„νŠΈμŠ€νŠΈλ¦Όμ— ν¬ν•¨μ‹œν‚¨ 경우 μ΄ν•˜μ˜ 좔가적인 λ³€ν™˜ λͺ¨λ“œμ˜ 정보λ₯Ό κ΅¬μ„±ν•˜λŠ” 과정을 μŠ€ν‚΅ν•˜κ³  λ³€ν™˜ λͺ¨λ“œ μ„€μ • 절차λ₯Ό μ’…λ£Œν•œλ‹€. The video encoder (100) determines whether the current block has been divided according to the optimal transformation mode of the current block, unless both vertical division and horizontal division are arbitrarily impossible for the current block (S1143), and sets and transmits information indicating whether i) vertical or horizontal division exists (e.g., '0' indicates non-division (no vertical or horizontal division exists), '1' indicates division) as the first information of the transformation mode information. For example, if the video encoder (100) allows arbitrarily vertical division or horizontal division and the determined final transformation mode is transformation mode 1 in which the current block is not divided, the video encoder (100) includes only '0' as information indicating whether i) vertical or horizontal division exists in the bitstream (S1144). If the video encoder (100) includes '0' in the bitstream as the transformation mode information, the video encoder skips the process of configuring the information of the additional transformation mode below and ends the transformation mode setting procedure.

λ§Œμ•½, ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  λ˜λŠ” μˆ˜ν‰ λ°©ν–₯ 뢄할이 κ°€λŠ₯ν•˜λ©΄μ„œ κ²°μ •λœ μ΅œμ’… λ³€ν™˜ λͺ¨λ“œκ°€ 1번 λ³€ν™˜ λͺ¨λ“œκ°€ μ•„λ‹ˆκ³  ν˜„μž¬ 블둝이 λΆ„ν• λ˜λŠ” 경우, λΉ„λ””μ˜€ 인코더(100)λŠ” i)의 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•˜λŠ”μ§€ μ—¬λΆ€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ •λ³΄λ‘œμ„œ '1'을 μ„€μ •ν•˜μ—¬ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ 첫 번째 λΉ„νŠΈλ₯Ό κ΅¬μ„±ν•œ λ‹€μŒ, 1, 2, 3, 4, 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 504, 508, 509, 510, 514) μ€‘μ—μ„œ ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ§€ μ•ŠλŠ” 1번 λ³€ν™˜ λͺ¨λ“œ(501)λ₯Ό μ œμ™Έν•˜κ³  2, 3, 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 504, 508, 509, 510, 514) 쀑 ν˜„μž¬ λΈ”λ‘μ˜ 졜적 λ³€ν™˜ λͺ¨λ“œλ‘œ κ²°μ •λœ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό μΆ”κ°€λ‘œ μ „μ†‘ν•œλ‹€. 이 λ•Œ, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  κ°€λŠ₯ 횟수λ₯Ό κ³ λ €ν•˜μ—¬ 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ„€μ •ν•  수 μžˆλ‹€. λΆ„ν•  κ°€λŠ₯ νšŸμˆ˜λŠ” 블둝 크기 λ“±μ˜ λΆ€κ°€ 정보에 κΈ°μ΄ˆν•˜μ—¬ λ‹€μ–‘ν•˜κ²Œ 섀정될 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, μ†Œμ • 크기 미만의 블둝에 λŒ€ν•΄μ„œλŠ” λ³€ν™˜ 블둝 결정을 μœ„ν•œ ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  κ°€λŠ₯ νšŸμˆ˜κ°€ μ†Œμ • 횟수(예λ₯Ό λ“€μ–΄, 1회)둜 μ œν•œλ  수 μžˆλ‹€.If the current block can be arbitrarily divided vertically or horizontally and the final transformation mode determined is not transformation mode 1 and the current block is divided, the video encoder (100) configures the first bit of the transformation mode information by setting '1' as information indicating whether vertical or horizontal division of i) exists, and then additionally transmits information indicating a transformation mode determined as the optimal transformation mode of the current block among transformation modes 2, 3, 8, 9, 10, and 14 (501, 502, 503, 504, 508, 509, 510, and 514), excluding transformation mode 1 (501) in which the current block is not divided. At this time, the video encoder (100) can set additional transformation mode information considering the number of times the current block can be split. The number of times the current block can be split can be set in various ways based on additional information such as the block size. For example, for blocks smaller than a predetermined size, the number of times the current block can be split for determining the transformation block can be limited to a predetermined number (e.g., once).

λ‹€μ‹œ 도 11cλ₯Ό μ°Έμ‘°ν•˜λ©΄, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ 크기가 λΆ„ν•  νšŸμˆ˜κ°€ μ œν•œλ˜λŠ” μ΅œμ†Œ λΆ„ν•  블둝 크기 이상인지 μ—¬λΆ€λ₯Ό νŒλ‹¨ν•œλ‹€(S1145). λ§Œμ•½, ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” 경우라면, λΉ„λ””μ˜€ 인코더(100)λŠ” 1번 λ³€ν™˜ λͺ¨λ“œ(501)λ₯Ό μ œμ™Έν•˜κ³  후보 λ³€ν™˜ λͺ¨λ“œμ— ν¬ν•¨λœ 2, 3, 4, 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 508, 509, 514) μ€‘μ—μ„œ ν˜„μž¬ 블둝을 1회만 λΆ„ν• ν•˜λŠ” 2, 8번 λ³€ν™˜ λͺ¨λ“œ(502, 508)λ₯Ό κ²°μ •ν•˜κ³ , 2, 8번 λ³€ν™˜ λͺ¨λ“œ(502, 508) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜κ³ (S1146), 2, 8번 λ³€ν™˜ λͺ¨λ“œ(502, 508) 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό 좔가적인 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œ κ΅¬μ„±ν•˜μ—¬ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— λΆ€κ°€ν•œλ‹€.Referring back to FIG. 11c, the video encoder (100) determines whether the size of the current block is equal to or larger than the minimum split block size for which the number of splits is limited (S1145). If the number of splits of the current block is limited to 1, the video encoder (100) determines the 2nd and 8th conversion modes (502, 508) that split the current block only once among the 2nd, 3rd, 4th, 8th, 9th, 10th, and 14th conversion modes (502, 503, 508, 509, 514) included in the candidate conversion modes, excluding the 1st conversion mode (501), determines the conversion mode of the current block among the 2nd and 8th conversion modes (502, 508) (S1146), and adds information indicating one of the 2nd and 8th conversion modes (502, 508) to the bitstream as additional conversion mode information.

λ§Œμ•½, ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ μˆ˜ν‰ λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S1147), ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우 μˆ˜ν‰ λ°©ν–₯으둜 λΆ„ν• λ˜λŠ” λ³€ν™˜ λͺ¨λ“œμΈ 2, 3, 4, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 504, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜κ³ (S1148), 2, 3, 4, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 504, 514) 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό 좔가적인 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œ κ΅¬μ„±ν•˜μ—¬ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— λΆ€κ°€ν•œλ‹€.If the number of times the current block is divided is not limited to 1, the video encoder (100) determines whether the current block can be divided only in the horizontal direction (S1147), and if the current block can be divided only in the horizontal direction, the video encoder determines the transformation mode of the current block among the transformation modes 2, 3, 4, and 14 (502, 503, 504, and 514), which are transformation modes for horizontal division (S1148), and adds information indicating one of the transformation modes 2, 3, 4, and 14 (502, 503, 504, and 514) to the bitstream as additional transformation mode information.

λ˜ν•œ, ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S1149), ν˜„μž¬ 블둝이 수직 λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우 수직 λ°©ν–₯으둜 λΆ„ν• λ˜λŠ” λ³€ν™˜ λͺ¨λ“œμΈ 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(508, 509, 510, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜κ³ (S1150), 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(508, 509, 510, 514) 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό 좔가적인 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œ κ΅¬μ„±ν•˜μ—¬ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— λΆ€κ°€ν•œλ‹€.In addition, unless the number of times the current block is split is limited to one, the video encoder (100) determines whether the current block can be split only in the vertical direction (S1149), and if the current block can be split only in the vertical direction, determines the transformation mode of the current block among the transformation modes 8, 9, 10, and 14 (508, 509, 510, and 514) that are transformation modes for splitting in the vertical direction (S1150), and adds information indicating one of the transformation modes 8, 9, 10, and 14 (508, 509, 510, and 514) to the bitstream as additional transformation mode information.

λ˜ν•œ, ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” κ²½μš°κ°€ μ•„λ‹ˆκ³  ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ λ˜λŠ” 수직 λ°©ν–₯ 쀑 일 λ°©ν–₯으둜만 λΆ„ν• κ°€λŠ₯ν•œ κ²½μš°κ°€ μ•„λ‹Œ 경우, 즉 ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ 및 수직 λ°©ν–₯ λͺ¨λ‘λ‘œ λΆ„ν• κ°€λŠ₯ν•œ 경우, λΉ„λ””μ˜€ 인코더(100)λŠ” 2, 3, 4, 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 504, 508, 509, 510, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό μ„€μ •ν•˜μ—¬ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— μΆ”κ°€ν•  수 μžˆλ‹€(S1151).In addition, if the number of times the current block is divided is not limited to 1 and the current block is not divisible in only one of the horizontal or vertical directions, i.e., if the current block is divisible in both the horizontal and vertical directions, the video encoder (100) can set information indicating the conversion mode of the current block among conversion modes 2, 3, 4, 8, 9, 10, and 14 (502, 503, 504, 508, 509, 510, and 514) and add it to the bitstream (S1151).

도 11dλŠ” λΉ„λ””μ˜€ 디코더(200)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ μ‘μ μœΌλ‘œ κ²°μ •ν•˜λŠ” κ³Όμ •μ˜ 또 λ‹€λ₯Έ 예λ₯Ό λ‚˜νƒ€λ‚Έ ν”Œλ‘œμš° μ°¨νŠΈμ΄λ‹€. 도 11d의 과정은 도 11c에 따라 λΉ„λ””μ˜€ 인코더(100)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ„€μ •ν•˜λŠ” 과정에 λŒ€μ‘λ˜μ–΄, λΉ„λ””μ˜€ 디코더(200)κ°€ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜λŠ” 과정이닀.Fig. 11d is a flowchart illustrating another example of a process in which a video decoder (200) adaptively determines conversion mode information. The process in Fig. 11d corresponds to the process in which a video encoder (100) sets conversion mode information according to Fig. 11c, and is a process in which a video decoder (200) determines a conversion mode.

도 11dλ₯Ό μ°Έμ‘°ν•˜λ©΄, λΉ„λ””μ˜€ 디코더(200)λŠ” 도 11c에 λ”°λ₯Έ λΉ„λ””μ˜€ 인코더(100)μ—μ„œ μˆ˜ν–‰λœ κ³Όμ •κ³Ό λ™μΌν•˜κ²Œ ν˜„μž¬ λΈ”λ‘μ˜ μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성을 νŒλ‹¨ν•˜κ³ (S1161), λ§Œμ•½ ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  및 μˆ˜ν‰ λ°©ν–₯ 뢄할이 λͺ¨λ‘ λΆˆκ°€λŠ₯ν•œ 경우, λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° λ³„λ„μ˜ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό νŒŒμ‹±ν•˜μ§€ μ•Šκ³ μ„œλ„ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό 1번 λ³€ν™˜ λͺ¨λ“œ(501)둜 μ„€μ •ν•  수 μžˆλ‹€(S1162).Referring to FIG. 11d, the video decoder (200) determines the horizontal divisibility and vertical divisibility of the current block in the same manner as the process performed in the video encoder (100) according to FIG. 11c (S1161), and if the current block is arbitrarily impossible to be vertically divided or horizontally divided, the conversion mode of the current block can be set to conversion mode 1 (501) without parsing separate conversion mode information from the bitstream (S1162).

λΉ„λ””μ˜€ 디코더(200)λŠ” λ§Œμ•½ ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  및 μˆ˜ν‰ λ°©ν–₯ 뢄할이 λͺ¨λ‘ λΆˆκ°€λŠ₯ν•œ κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό νšλ“ν•˜μ—¬ νŒŒμ‹±ν•˜κ³ , νŒŒμ‹±λœ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œλΆ€ν„° ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  μ—¬λΆ€λ₯Ό νŒλ‹¨ν•œλ‹€(S1163). 예λ₯Ό λ“€μ–΄, λ§Œμ•½ ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  λ˜λŠ” μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  쀑 적어도 ν•˜λ‚˜κ°€ κ°€λŠ₯ν•˜λ©΄μ„œ λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œμ„œ '0'이 νšλ“λœ 경우, λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ§€ μ•ŠλŠ” 1번 λ³€ν™˜ λͺ¨λ“œ(501)둜 μ„€μ •ν•  수 μžˆλ‹€(S1164). 이 경우, λΉ„λ””μ˜€ 디코더(200)λŠ” 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό νŒŒμ‹±ν•˜μ§€ μ•Šκ³  ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œ κ²°μ • 과정을 μ’…λ£Œν•  수 μžˆλ‹€.The video decoder (200) obtains and parses transformation mode information from the bitstream, unless the current block is arbitrarily incapable of both vertical and horizontal division, and determines whether the current block is to be divided based on the parsed transformation mode information (S1163). For example, if the current block is arbitrarily capable of at least one of vertical division or horizontal division and '0' is obtained as transformation mode information from the bitstream, the video decoder (200) can set the transformation mode of the current block to transformation mode 1 (501) in which the current block is not to be divided (S1164). In this case, the video decoder (200) can end the process of determining the transformation mode of the current block without parsing additional transformation mode information.

λΉ„λ””μ˜€ 디코더(200)κ°€ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ 첫 번째 λΉ„νŠΈλ‘œμ„œ 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•¨μ„ κ°€λ¦¬ν‚€λŠ” '1'을 νšλ“ν•œ 경우, ν˜„μž¬ 블둝이 λΆ„ν•  νšŸμˆ˜κ°€ μ œν•œλ˜λŠ” μ΅œμ†Œ λΆ„ν•  블둝 크기 이상인지 μ—¬λΆ€λ₯Ό νŒλ‹¨ν•œλ‹€(S1165).When the video decoder (200) obtains '1' as the first bit of the conversion mode information indicating the presence of vertical or horizontal division, it determines whether the current block is larger than the minimum division block size for which the number of divisions is limited (S1165).

λ§Œμ•½, ν˜„μž¬ λΈ”λ‘μ˜ 크기가 μ΅œμ†Œ λΆ„ν•  블둝 크기 미만으둜 ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ μ œν•œλ˜λŠ” 경우라면, λΉ„λ””μ˜€ 디코더(200)λŠ” 1번 λ³€ν™˜ λͺ¨λ“œ(501)λ₯Ό μ œμ™Έν•˜κ³  2, 3, 4, 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 504, 508, 509, 510, 514)을 ν¬ν•¨ν•˜λŠ” 후보 λ³€ν™˜ λͺ¨λ“œ μ€‘μ—μ„œ ν˜„μž¬ 블둝을 1회만 λΆ„ν• ν•˜λŠ” 2, 8번 λ³€ν™˜ λͺ¨λ“œ(502, 508) λ₯Ό κ²°μ •ν•˜κ³ , 2, 8번 λ³€ν™˜ λͺ¨λ“œ(502, 508) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° νŒŒμ‹±ν•˜κ³ , νšλ“λœ 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보에 κΈ°μ΄ˆν•˜μ—¬ 2, 8번 λ³€ν™˜ λͺ¨λ“œ(502, 508) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•œλ‹€(S1166).If the number of times the current block is split is limited because the size of the current block is less than the minimum split block size, the video decoder (200) determines the 2nd and 8th conversion modes (502, 508) that split the current block only once among candidate conversion modes including the 2nd, 3rd, 4th, 8th, 9th, 10th, and 14th conversion modes (502, 503, 504, 508, 509, 510, 514) excluding the 1st conversion mode (501), parses conversion mode information indicating the conversion mode of the current block among the 2nd and 8th conversion modes (502, 508) from the bitstream, and determines the conversion mode of the current block among the 2nd and 8th conversion modes (502, 508) based on the obtained additional conversion mode information (S1166).

λ§Œμ•½, ν˜„μž¬ λΈ”λ‘μ˜ 크기가 μ΅œμ†Œ λΆ„ν•  블둝 크기 μ΄μƒμœΌλ‘œ ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ μ œν•œλ˜λŠ” κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ μˆ˜ν‰ λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S1167), ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우 μˆ˜ν‰ λ°©ν–₯으둜 λΆ„ν• λ˜λŠ” λ³€ν™˜ λͺ¨λ“œμΈ 2, 3, 4, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 504, 514) 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° νŒŒμ‹±ν•˜κ³ , νšλ“λœ 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보에 κΈ°μ΄ˆν•˜μ—¬ 2, 3, 4, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 504, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•œλ‹€(S1168).If the size of the current block is not limited to the minimum split block size and the number of times the current block is split is not limited, the video decoder (200) determines whether the current block can be split only in the horizontal direction (S1167), and if the current block can be split only in the horizontal direction, parses information indicating one of the conversion modes 2, 3, 4, and 14 (502, 503, 504, and 514) that are conversion modes for splitting in the horizontal direction from the bitstream, and determines the conversion mode of the current block among the conversion modes 2, 3, 4, and 14 (502, 503, 504, and 514) based on the acquired additional conversion mode information (S1168).

λ˜ν•œ, ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S1169), ν˜„μž¬ 블둝이 수직 λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우 수직 λ°©ν–₯으둜 λΆ„ν• λ˜λŠ” λ³€ν™˜ λͺ¨λ“œμΈ 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(508, 509, 510, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° νŒŒμ‹±ν•˜κ³ , νšλ“λœ 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보에 κΈ°μ΄ˆν•˜μ—¬ 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(508, 509, 510, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•œλ‹€(S1170).In addition, unless the number of times the current block is split is limited to 1, the video decoder (200) determines whether the current block can be split only in the vertical direction (S1169), and if the current block can be split only in the vertical direction, the video decoder parses the transformation mode information indicating the transformation mode of the current block from among the transformation modes 8, 9, 10, and 14 (508, 509, 510, and 514), which are transformation modes in which the current block is split in the vertical direction, from the bitstream, and determines the transformation mode of the current block from among the transformation modes 8, 9, 10, and 14 (508, 509, 510, and 514) based on the acquired additional transformation mode information (S1170).

λ˜ν•œ, ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” κ²½μš°κ°€ μ•„λ‹ˆκ³  ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ λ˜λŠ” 수직 λ°©ν–₯ 쀑 일 λ°©ν–₯으둜만 λΆ„ν• κ°€λŠ₯ν•œ κ²½μš°κ°€ μ•„λ‹Œ 경우, 즉 ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ 및 수직 λ°©ν–₯ λͺ¨λ‘λ‘œ λΆ„ν• κ°€λŠ₯ν•œ 경우, λΉ„λ””μ˜€ 디코더(200)λŠ” 2, 3, 4, 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 504, 508, 509, 510, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° νŒŒμ‹±ν•˜κ³ , νšλ“λœ 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보에 κΈ°μ΄ˆν•˜μ—¬ 2, 3, 4, 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 504, 508, 509, 510, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•œλ‹€(S1171).In addition, if the number of times the current block is split is not limited to one and the current block is not splittable in only one of the horizontal direction and the vertical direction, i.e., if the current block is splittable in both the horizontal direction and the vertical direction, the video decoder (200) parses the transformation mode information indicating the transformation mode of the current block from among the transformation modes 2, 3, 4, 8, 9, 10, and 14 (502, 503, 504, 508, 509, 510, and 514) from the bitstream, and determines the transformation mode of the current block from among the transformation modes 2, 3, 4, 8, 9, 10, and 14 (502, 503, 504, 508, 509, 510, and 514) based on the acquired additional transformation mode information (S1171).

도 12aλŠ” λΉ„λ””μ˜€ 인코더(100)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ μ‘μ μœΌλ‘œ κ΅¬μ„±ν•˜λŠ” κ³Όμ •μ˜ 또 λ‹€λ₯Έ 예λ₯Ό λ‚˜νƒ€λ‚Έ ν”Œλ‘œμš° μ°¨νŠΈμ΄λ‹€.FIG. 12a is a flow chart showing another example of a process in which a video encoder (100) adaptively configures conversion mode information.

후보 λ³€ν™˜ λͺ¨λ“œλ‘œμ„œ 1, 2, 3, 4, 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 504, 508, 509, 510, 514)κ°€ κ²°μ •λœ 경우, λΉ„λ””μ˜€ 인코더(100)λŠ” λ‹€μŒμ˜ 과정듀을 순차적으둜 μˆ˜ν–‰ν•˜μ—¬ 1, 2, 3, 4, 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 504, 508, 509, 510, 514) 쀑 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ‘œ κ²°μ •λœ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ„€μ •ν•  수 μžˆλ‹€. When conversion modes 1, 2, 3, 4, 8, 9, 10, and 14 (501, 502, 503, 504, 508, 509, 510, and 514) are determined as candidate conversion modes, the video encoder (100) can sequentially perform the following processes to set conversion mode information indicating the conversion mode determined as the conversion mode of the current block among conversion modes 1, 2, 3, 4, 8, 9, 10, and 14 (501, 502, 503, 504, 508, 509, 510, and 514).

도 12aλ₯Ό μ°Έμ‘°ν•˜λ©΄, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성을 νŒλ‹¨ν•˜κ³ (S1201), λ§Œμ•½ ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  및 μˆ˜ν‰ λ°©ν–₯ 뢄할이 λͺ¨λ‘ λΆˆκ°€λŠ₯ν•œ 경우, λ³„λ„μ˜ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ„€μ •ν•˜μ§€ μ•Šκ³  ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό 1번 λ³€ν™˜ λͺ¨λ“œ(501)둜 μ„€μ •ν•œλ‹€(S1202). 이 경우, μ΄ν•˜μ˜ 과정은 μˆ˜ν–‰λ˜μ§€ μ•Šκ³  ν˜„μž¬ 블둝에 λŒ€ν•œ λ³€ν™˜ λͺ¨λ“œ μ„€μ • 과정은 μ’…λ£Œλœλ‹€. Referring to FIG. 12a, the video encoder (100) determines the horizontal and vertical divisibility of the current block (S1201), and if the current block cannot be arbitrarily divided into both vertical and horizontal directions, sets the conversion mode of the current block to conversion mode 1 (501) (S1202) without setting separate conversion mode information. In this case, the following process is not performed, and the conversion mode setting process for the current block is terminated.

λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  및 μˆ˜ν‰ λ°©ν–₯ 뢄할이 λͺ¨λ‘ λΆˆκ°€λŠ₯ν•œ κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, ν˜„μž¬ λΈ”λ‘μ˜ 졜적 λ³€ν™˜ λͺ¨λ“œμ— λ”°λΌμ„œ ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ—ˆλŠ”μ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S1203), i) 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•˜λŠ”μ§€ μ—¬λΆ€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 정보(예λ₯Ό λ“€μ–΄, '0'은 λ―ΈλΆ„ν• (수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 미쑴재), '1'은 뢄할을 가리킴)λ₯Ό λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ 첫 번째 μ •λ³΄λ‘œμ„œ μ„€μ •ν•˜μ—¬ μ „μ†‘ν•œλ‹€. 예λ₯Ό λ“€μ–΄, λΉ„λ””μ˜€ 인코더(100)λŠ” μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  λ˜λŠ” μˆ˜ν‰ λ°©ν–₯ 뢄할이 κ°€λŠ₯ν•˜λ©΄μ„œ, κ²°μ •λœ μ΅œμ’… λ³€ν™˜ λͺ¨λ“œκ°€ ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ§€ μ•ŠλŠ” 1번 λ³€ν™˜ λͺ¨λ“œμΈ 경우라면 i)의 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•˜λŠ”μ§€ μ—¬λΆ€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ •λ³΄λ‘œμ„œ '0'λ§Œμ„ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— ν¬ν•¨μ‹œν‚¨λ‹€(S1204). λΉ„λ””μ˜€ 인코더(100)λŠ” λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œμ„œ'0'을 λΉ„νŠΈμŠ€νŠΈλ¦Όμ— ν¬ν•¨μ‹œν‚¨ 경우 μ΄ν•˜μ˜ 좔가적인 λ³€ν™˜ λͺ¨λ“œμ˜ 정보λ₯Ό κ΅¬μ„±ν•˜λŠ” 과정을 μŠ€ν‚΅ν•˜κ³  λ³€ν™˜ λͺ¨λ“œ μ„€μ • 절차λ₯Ό μ’…λ£Œν•œλ‹€. The video encoder (100) determines whether the current block has been divided according to the optimal transformation mode of the current block, unless both vertical division and horizontal division are arbitrarily impossible for the current block (S1203), and sets and transmits information indicating whether i) vertical or horizontal division exists (e.g., '0' indicates non-division (no vertical or horizontal division exists), '1' indicates division) as the first information of the transformation mode information. For example, if the video encoder (100) allows arbitrarily vertical division or horizontal division and the determined final transformation mode is transformation mode 1 in which the current block is not divided, the video encoder (100) includes only '0' in the bitstream as information indicating whether i) vertical or horizontal division exists (S1204). If the video encoder (100) includes '0' in the bitstream as the transformation mode information, the video encoder skips the process of configuring the information of the additional transformation mode below and ends the transformation mode setting procedure.

λ§Œμ•½, ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  λ˜λŠ” μˆ˜ν‰ λ°©ν–₯ λΆ„ν• κ°€λŠ₯ν•˜κ³  κ²°μ •λœ μ΅œμ’… λ³€ν™˜ λͺ¨λ“œκ°€ 1번 λ³€ν™˜ λͺ¨λ“œκ°€ μ•„λ‹ˆκ³  ν˜„μž¬ 블둝이 λΆ„ν• λ˜λŠ” 경우, λΉ„λ””μ˜€ 인코더(100)λŠ” i)의 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•˜λŠ”μ§€ μ—¬λΆ€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ •λ³΄λ‘œμ„œ '1'을 μ„€μ •ν•˜μ—¬ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ 첫 번째 λΉ„νŠΈλ₯Ό κ΅¬μ„±ν•œ λ‹€μŒ, 1, 2, 3, 4, 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 504, 508, 509, 510, 514) μ€‘μ—μ„œ ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ§€ μ•ŠλŠ” 1번 λ³€ν™˜ λͺ¨λ“œ(501)λ₯Ό μ œμ™Έν•˜κ³  2, 3, 4, 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 504, 508, 509, 510, 514) 쀑 ν˜„μž¬ λΈ”λ‘μ˜ 졜적 λ³€ν™˜ λͺ¨λ“œλ‘œ κ²°μ •λœ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό μΆ”κ°€λ‘œ μ „μ†‘ν•˜κ±°λ‚˜ μ•”μ‹œμ μœΌλ‘œ μ„€μ •ν•œλ‹€. If the current block is arbitrarily vertically or horizontally divisible and the determined final transformation mode is not transformation mode 1 and the current block is divided, the video encoder (100) configures the first bit of the transformation mode information by setting '1' as information indicating whether vertical or horizontal division of i) exists, and then additionally transmits information indicating a transformation mode determined as the optimal transformation mode of the current block among transformation modes 2, 3, 4, 8, 9, 10, and 14 (501, 502, 503, 504, 508, 509, 510, and 514) excluding transformation mode 1 (501) in which the current block is not divided. Set implicitly.

이λ₯Ό μœ„ν•˜μ—¬, λ¨Όμ € λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ 블둝이 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯ λͺ¨λ‘λ‘œ λΆ„ν• κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•œλ‹€(S1205). ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ 및 수직 λ°©ν–₯ λͺ¨λ‘λ‘œ λΆ„ν• κ°€λŠ₯ν•œ 경우, λΉ„λ””μ˜€ 인코더(100)λŠ” 2, 3, 4, 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 504, 508, 509, 510, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό μ„€μ •ν•˜μ—¬ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— μΆ”κ°€ν•  수 μžˆλ‹€(S1206).To this end, the video encoder (100) first determines whether the current block is divisible in both the vertical and horizontal directions (S1205). If the current block is divisible in both the horizontal and vertical directions, the video encoder (100) can set information indicating the conversion mode of the current block among conversion modes 2, 3, 4, 8, 9, 10, and 14 (502, 503, 504, 508, 509, 510, and 514) and add it to the bitstream (S1206).

λ§Œμ•½, ν˜„μž¬ 블둝이 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯ λͺ¨λ‘λ‘œ λΆ„ν• κ°€λŠ₯ν•˜μ§€λŠ” μ•Šκ³  ν•˜λ‚˜μ˜ λ°©ν–₯으둜만 λΆ„ν• κ°€λŠ₯ν•œ 경우, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  κ°€λŠ₯ 횟수λ₯Ό κ³ λ €ν•˜μ—¬ 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ„€μ •ν•  수 μžˆλ‹€. λΆ„ν•  κ°€λŠ₯ νšŸμˆ˜λŠ” 블둝 크기 λ“±μ˜ λΆ€κ°€ 정보에 κΈ°μ΄ˆν•˜μ—¬ λ‹€μ–‘ν•˜κ²Œ 섀정될 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, μ†Œμ • 크기 미만의 블둝에 λŒ€ν•΄μ„œλŠ” λ³€ν™˜ 블둝 결정을 μœ„ν•œ ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  κ°€λŠ₯ νšŸμˆ˜κ°€ μ†Œμ • 횟수(예λ₯Ό λ“€μ–΄, 1회)둜 μ œν•œλ  수 μžˆλ‹€.If the current block is not divisible in both vertical and horizontal directions but is divisible in only one direction, the video encoder (100) may set additional transformation mode information considering the number of times the current block can be divided. The number of times the current block can be divided may be set in various ways based on additional information such as the block size. For example, for blocks smaller than a predetermined size, the number of times the current block can be divided for determining a transformation block may be limited to a predetermined number (e.g., once).

λ‹€μ‹œ 도 12aλ₯Ό μ°Έμ‘°ν•˜λ©΄, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ 크기가 λΆ„ν•  νšŸμˆ˜κ°€ μ œν•œλ˜λŠ” μ΅œμ†Œ λΆ„ν•  블둝 크기 이상인지 μ—¬λΆ€λ₯Ό νŒλ‹¨ν•œλ‹€(S1207). λ§Œμ•½, ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” 경우라면, λΉ„λ””μ˜€ 인코더(100)λŠ” λ‹€μ‹œ μˆ˜ν‰ 및 수직 λ°©ν–₯ 쀑 ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  κ°€λŠ₯ν•œ λ°©ν–₯을 νŒλ‹¨ν•œλ‹€. ꡬ체적으둜, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯으둜만 λΆ„ν• κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S1208), μˆ˜ν‰ λ°©ν–₯이 μ•„λ‹Œ 수직 λ°©ν–₯의 일 λ°©ν–₯으둜만 λΆ„ν•  κ°€λŠ₯ν•œ 경우 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό 8번 λ³€ν™˜ λͺ¨λ“œ(508)둜 κ²°μ •ν•˜κ³ (S1209), λ³„λ„μ˜ 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦Όμ— λΆ€κ°€ν•˜μ§€ μ•ŠλŠ”λ‹€. λ˜ν•œ, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯으둜만 λΆ„ν• κ°€λŠ₯ν•œ 경우 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό 2번 λ³€ν™˜ λͺ¨λ“œ(502)둜 κ²°μ •ν•˜κ³ (S1210), λ³„λ„μ˜ 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦Όμ— λΆ€κ°€ν•˜μ§€ μ•ŠλŠ”λ‹€.Referring back to FIG. 12A, the video encoder (100) determines whether the size of the current block is equal to or larger than the minimum split block size for which the number of splits is limited (S1207). If the number of splits of the current block is limited to 1, the video encoder (100) determines the splittable direction of the current block among the horizontal and vertical directions. Specifically, the video encoder (100) determines whether the current block can be split only in the horizontal direction (S1208), and if the current block can be split only in the vertical direction and not the horizontal direction, the video encoder (100) determines the transformation mode of the current block as transformation mode 8 (508) (S1209), and does not add any additional transformation mode information to the bitstream. In addition, if the current block can be split only in the horizontal direction, the video encoder (100) determines the transformation mode of the current block as transformation mode 2 (502) (S1210), and does not add any additional transformation mode information to the bitstream.

λ§Œμ•½, ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ μˆ˜ν‰ λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S1211), ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우 μˆ˜ν‰ λ°©ν–₯으둜 λΆ„ν• λ˜λŠ” λ³€ν™˜ λͺ¨λ“œμΈ 2, 3, 4번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 504) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜κ³ (S1212), 2, 3, 4번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 504) 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό 좔가적인 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œ κ΅¬μ„±ν•˜μ—¬ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— λΆ€κ°€ν•œλ‹€.If the number of times the current block is divided is not limited to 1, the video encoder (100) determines whether the current block can be divided only in the horizontal direction (S1211), and if the current block can be divided only in the horizontal direction, the video encoder determines the transformation mode of the current block among the transformation modes 2, 3, and 4 (502, 503, and 504), which are transformation modes for horizontal division (S1212), and adds information indicating one of the transformation modes 2, 3, and 4 (502, 503, and 504) to the bitstream as additional transformation mode information.

λ˜ν•œ, ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S1213), ν˜„μž¬ 블둝이 수직 λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우 수직 λ°©ν–₯으둜 λΆ„ν• λ˜λŠ” λ³€ν™˜ λͺ¨λ“œμΈ 8, 9, 10번 λ³€ν™˜ λͺ¨λ“œ(508, 509, 510) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜κ³ (S1214), 8, 9, 10번 λ³€ν™˜ λͺ¨λ“œ(508, 509, 510) 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό 좔가적인 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œ κ΅¬μ„±ν•˜μ—¬ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— λΆ€κ°€ν•œλ‹€.In addition, unless the number of times the current block is split is limited to one, the video encoder (100) determines whether the current block can be split only in the vertical direction (S1213), and if the current block can be split only in the vertical direction, determines the transformation mode of the current block among transformation modes 8, 9, and 10 (508, 509, 510), which are transformation modes for splitting in the vertical direction (S1214), and adds information indicating one of the transformation modes 8, 9, and 10 (508, 509, 510) to the bitstream as additional transformation mode information.

도 12bλŠ” λΉ„λ””μ˜€ 디코더(200)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ μ‘μ μœΌλ‘œ κ²°μ •ν•˜λŠ” κ³Όμ •μ˜ 또 λ‹€λ₯Έ 예λ₯Ό λ‚˜νƒ€λ‚Έ ν”Œλ‘œμš° μ°¨νŠΈμ΄λ‹€. 도 12b의 과정은 도 12a에 따라 λΉ„λ””μ˜€ 인코더(100)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ„€μ •ν•˜λŠ” 과정에 λŒ€μ‘λ˜μ–΄, λΉ„λ””μ˜€ 디코더(200)κ°€ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜λŠ” 과정이닀.Fig. 12b is a flowchart illustrating another example of a process in which a video decoder (200) adaptively determines conversion mode information. The process in Fig. 12b corresponds to the process in which a video encoder (100) sets conversion mode information according to Fig. 12a, and is a process in which a video decoder (200) determines a conversion mode.

도 12bλ₯Ό μ°Έμ‘°ν•˜λ©΄, λΉ„λ””μ˜€ 디코더(200)λŠ” 도 12a에 λ”°λ₯Έ λΉ„λ””μ˜€ 인코더(100)μ—μ„œ μˆ˜ν–‰λœ κ³Όμ •κ³Ό λ™μΌν•˜κ²Œ ν˜„μž¬ λΈ”λ‘μ˜ μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성을 νŒλ‹¨ν•˜κ³ (S1221), λ§Œμ•½ ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  및 μˆ˜ν‰ λ°©ν–₯ 뢄할이 λͺ¨λ‘ λΆˆκ°€λŠ₯ν•œ 경우, λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° λ³„λ„μ˜ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό νŒŒμ‹±ν•˜μ§€ μ•Šκ³ μ„œλ„ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό 1번 λ³€ν™˜ λͺ¨λ“œ(501)둜 μ„€μ •ν•  수 μžˆλ‹€(S1222).Referring to FIG. 12b, the video decoder (200) determines the horizontal divisibility and vertical divisibility of the current block in the same manner as the process performed in the video encoder (100) according to FIG. 12a (S1221), and if the current block is arbitrarily impossible to be divided vertically or horizontally, the conversion mode of the current block can be set to conversion mode 1 (501) without parsing separate conversion mode information from the bitstream (S1222).

λΉ„λ””μ˜€ 디코더(200)λŠ” λ§Œμ•½ ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  및 μˆ˜ν‰ λ°©ν–₯ 뢄할이 λͺ¨λ‘ λΆˆκ°€λŠ₯ν•œ κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό νšλ“ν•˜μ—¬ νŒŒμ‹±ν•˜κ³ , νŒŒμ‹±λœ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œλΆ€ν„° ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  μ—¬λΆ€λ₯Ό νŒλ‹¨ν•œλ‹€(S1223). 예λ₯Ό λ“€μ–΄, λ§Œμ•½ ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  λ˜λŠ” μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  쀑 적어도 ν•˜λ‚˜κ°€ κ°€λŠ₯ν•˜λ©΄μ„œ λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œμ„œ '0'이 νšλ“λœ 경우, λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ§€ μ•ŠλŠ” 1번 λ³€ν™˜ λͺ¨λ“œ(501)둜 μ„€μ •ν•  수 μžˆλ‹€(S1224). 이 경우, λΉ„λ””μ˜€ 디코더(200)λŠ” 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό νŒŒμ‹±ν•˜μ§€ μ•Šκ³  ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œ κ²°μ • 과정을 μ’…λ£Œν•  수 μžˆλ‹€.The video decoder (200) obtains and parses transformation mode information from the bitstream, unless the current block is arbitrarily incapable of both vertical and horizontal division, and determines whether the current block is to be divided based on the parsed transformation mode information (S1223). For example, if the current block is arbitrarily capable of at least one of vertical division or horizontal division and '0' is obtained as transformation mode information from the bitstream, the video decoder (200) can set the transformation mode of the current block to transformation mode 1 (501) in which the current block is not to be divided (S1224). In this case, the video decoder (200) can end the process of determining the transformation mode of the current block without parsing additional transformation mode information.

λΉ„λ””μ˜€ 디코더(200)κ°€ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ 첫 번째 λΉ„νŠΈλ‘œμ„œ 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•¨μ„ κ°€λ¦¬ν‚€λŠ” '1'을 νšλ“ν•œ 경우, λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ 블둝이 μˆ˜ν‰ 및 수직 λ°©ν–₯ λͺ¨λ‘ λΆ„ν•  κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•œλ‹€(S1225). ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ 및 수직 λ°©ν–₯ λͺ¨λ‘λ‘œ λΆ„ν• κ°€λŠ₯ν•œ 경우, λΉ„λ””μ˜€ 디코더(100)λŠ” 2, 3, 4, 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 504, 508, 509, 510, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό μΆ”κ°€λ‘œ λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° νŒŒμ‹±ν•˜κ³ , νŒŒμ‹±λœ μΆ”κ°€ λ³€ν™˜ λͺ¨λ“œ 정보에 κΈ°μ΄ˆν•˜μ—¬ 2, 3, 4, 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 504, 508, 509, 510, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•  수 μžˆλ‹€(S1226).When the video decoder (200) obtains '1' as the first bit of the conversion mode information indicating the presence of vertical or horizontal division, the video decoder (200) determines whether the current block is divisible in both horizontal and vertical directions (S1225). If the current block is divisible in both horizontal and vertical directions, the video decoder (100) may additionally parse information indicating the transformation mode of the current block from among transformation modes 2, 3, 4, 8, 9, 10, and 14 (502, 503, 504, 508, 509, 510, and 514) from the bitstream, and determine the transformation mode of the current block from among transformation modes 2, 3, 4, 8, 9, 10, and 14 (502, 503, 504, 508, 509, 510, and 514) based on the parsed additional transformation mode information (S1226).

λ§Œμ•½, ν˜„μž¬ 블둝이 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯ λͺ¨λ‘λ‘œ λΆ„ν• κ°€λŠ₯ν•˜μ§€λŠ” μ•Šκ³  ν•˜λ‚˜μ˜ λ°©ν–₯으둜만 λΆ„ν• κ°€λŠ₯ν•œ 경우, λΉ„λ””μ˜€ 디코더(100)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  κ°€λŠ₯ 횟수λ₯Ό κ³ λ €ν•˜μ—¬ 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό νŒŒμ‹±ν•  μ§€ μ—¬λΆ€λ₯Ό κ²°μ •ν•  수 μžˆλ‹€. λΆ„ν•  κ°€λŠ₯ νšŸμˆ˜λŠ” 블둝 크기 λ“±μ˜ λΆ€κ°€ 정보에 κΈ°μ΄ˆν•˜μ—¬ λ‹€μ–‘ν•˜κ²Œ 섀정될 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, μ†Œμ • 크기 미만의 블둝에 λŒ€ν•΄μ„œλŠ” λ³€ν™˜ 블둝 결정을 μœ„ν•œ ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  κ°€λŠ₯ νšŸμˆ˜κ°€ μ†Œμ • 횟수(예λ₯Ό λ“€μ–΄, 1회)둜 μ œν•œλ  수 μžˆλ‹€.If the current block is not divisible in both the vertical and horizontal directions but is divisible in only one direction, the video decoder (100) can determine whether to parse additional transformation mode information by considering the number of times the current block can be divided. The number of times the current block can be divided can be set in various ways based on additional information such as the block size. For example, for blocks smaller than a predetermined size, the number of times the current block can be divided for determining a transformation block can be limited to a predetermined number (e.g., once).

λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ 블둝이 λΆ„ν•  νšŸμˆ˜κ°€ μ œν•œλ˜λŠ” μ΅œμ†Œ λΆ„ν•  블둝 크기 이상인지 μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S1227), λ§Œμ•½ ν˜„μž¬ λΈ”λ‘μ˜ 크기가 μ΅œμ†Œ λΆ„ν•  블둝 크기 미만으둜 ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” 경우라면, λΉ„λ””μ˜€ 디코더(200)λŠ” λ‹€μ‹œ μˆ˜ν‰ 및 수직 λ°©ν–₯ 쀑 ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  κ°€λŠ₯ν•œ λ°©ν–₯을 νŒλ‹¨ν•œλ‹€. ꡬ체적으둜, λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯으둜만 λΆ„ν• κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S1228), μˆ˜ν‰ λ°©ν–₯이 μ•„λ‹Œ 수직 λ°©ν–₯의 일 λ°©ν–₯으둜만 λΆ„ν•  κ°€λŠ₯ν•œ 경우 λ³„λ„μ˜ 좔가적인 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ νŒŒμ‹±μ—†μ΄ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό 8번 λ³€ν™˜ λͺ¨λ“œ(508)둜 κ²°μ •ν•œλ‹€(S1229). λ˜ν•œ, λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯으둜만 λΆ„ν• κ°€λŠ₯ν•œ 경우 λ³„λ„μ˜ 좔가적인 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ νŒŒμ‹±μ—†μ΄ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό 2번 λ³€ν™˜ λͺ¨λ“œ(502)둜 κ²°μ •ν•œλ‹€(S1230).The video decoder (200) determines whether the current block is larger than or equal to the minimum split block size that limits the number of splits (S1227), and if the size of the current block is smaller than the minimum split block size, and the number of splits of the current block is limited to 1, the video decoder (200) determines the splittable direction of the current block among the horizontal and vertical directions again. Specifically, the video decoder (200) determines whether the current block can be split only in the horizontal direction (S1228), and if the current block can be split only in the vertical direction and not the horizontal direction, the video decoder (200) determines the transformation mode of the current block as the 8th transformation mode (508) without parsing additional transformation mode information separately (S1229). In addition, the video decoder (200) determines the transformation mode of the current block as the 2nd transformation mode (502) without parsing additional transformation mode information separately (S1230) if the current block can be split only in the horizontal direction.

λ§Œμ•½, ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ μˆ˜ν‰ λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S1231), ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우 μˆ˜ν‰ λ°©ν–₯으둜 λΆ„ν• λ˜λŠ” λ³€ν™˜ λͺ¨λ“œμΈ 2, 3, 4번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 504) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° νŒŒμ‹±ν•˜κ³ , νŒŒμ‹±λœ μΆ”κ°€ λ³€ν™˜ λͺ¨λ“œ 정보에 κΈ°μ΄ˆν•˜μ—¬ 2, 3, 4번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 504) 쀑 ν•˜λ‚˜λ₯Ό ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ‘œ κ²°μ •ν•œλ‹€(S1232).If the number of times the current block is split is not limited to 1, the video decoder (200) determines whether the current block can be split only in the horizontal direction (S1231), and if the current block can be split only in the horizontal direction, it parses additional conversion mode information indicating the conversion mode of the current block from among conversion modes 2, 3, and 4 (502, 503, and 504), which are conversion modes for splitting in the horizontal direction, from the bitstream, and determines one of conversion modes 2, 3, and 4 (502, 503, and 504) as the conversion mode of the current block based on the parsed additional conversion mode information (S1232).

λ˜ν•œ, ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S1233), ν˜„μž¬ 블둝이 수직 λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우 수직 λ°©ν–₯으둜 λΆ„ν• λ˜λŠ” λ³€ν™˜ λͺ¨λ“œμΈ 8, 9, 10번 λ³€ν™˜ λͺ¨λ“œ(508, 509, 510) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° νŒŒμ‹±ν•˜κ³ , νŒŒμ‹±λœ μΆ”κ°€ λ³€ν™˜ λͺ¨λ“œ 정보에 κΈ°μ΄ˆν•˜μ—¬ 8, 9, 10번 λ³€ν™˜ λͺ¨λ“œ(508, 509, 510) 쀑 ν•˜λ‚˜λ₯Ό ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ‘œ κ²°μ •ν•œλ‹€(S1234).In addition, unless the number of times the current block is split is limited to one, the video decoder (200) determines whether the current block can be split only in the vertical direction (S1233), and if the current block can be split only in the vertical direction, it parses additional transformation mode information indicating the transformation mode of the current block from among transformation modes 8, 9, and 10 (508, 509, 510), which are transformation modes for splitting in the vertical direction, from the bitstream, and determines one of transformation modes 8, 9, and 10 (508, 509, 510) as the transformation mode of the current block based on the parsed additional transformation mode information (S1234).

도 12cλŠ” λΉ„λ””μ˜€ 인코더(100)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ μ‘μ μœΌλ‘œ κ΅¬μ„±ν•˜λŠ” κ³Όμ •μ˜ 또 λ‹€λ₯Έ 예λ₯Ό λ‚˜νƒ€λ‚Έ ν”Œλ‘œμš° μ°¨νŠΈμ΄λ‹€.FIG. 12c is a flow chart showing another example of a process in which a video encoder (100) adaptively configures conversion mode information.

후보 λ³€ν™˜ λͺ¨λ“œλ‘œμ„œ 1, 2, 3, 4, 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 504, 508, 509, 510, 514)κ°€ κ²°μ •λœ 경우, λΉ„λ””μ˜€ 인코더(100)λŠ” λ‹€μŒμ˜ 과정듀을 순차적으둜 μˆ˜ν–‰ν•˜μ—¬ 1, 2, 3, 4, 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 504, 508, 509, 510, 514) 쀑 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ‘œ κ²°μ •λœ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ„€μ •ν•  수 μžˆλ‹€. When conversion modes 1, 2, 3, 4, 8, 9, 10, and 14 (501, 502, 503, 504, 508, 509, 510, and 514) are determined as candidate conversion modes, the video encoder (100) can sequentially perform the following processes to set conversion mode information indicating the conversion mode determined as the conversion mode of the current block among conversion modes 1, 2, 3, 4, 8, 9, 10, and 14 (501, 502, 503, 504, 508, 509, 510, and 514).

도 12cλ₯Ό μ°Έμ‘°ν•˜λ©΄, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성을 νŒλ‹¨ν•˜κ³ (S1241), λ§Œμ•½ ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  및 μˆ˜ν‰ λ°©ν–₯ 뢄할이 λͺ¨λ‘ λΆˆκ°€λŠ₯ν•œ 경우, λ³„λ„μ˜ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ„€μ •ν•˜μ§€ μ•Šκ³  ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό 1번 λ³€ν™˜ λͺ¨λ“œ(501)둜 μ„€μ •ν•œλ‹€(S1242). 이 경우, μ΄ν•˜μ˜ 과정은 μˆ˜ν–‰λ˜μ§€ μ•Šκ³  ν˜„μž¬ 블둝에 λŒ€ν•œ λ³€ν™˜ λͺ¨λ“œ μ„€μ • 과정은 μ’…λ£Œλœλ‹€. Referring to FIG. 12c, the video encoder (100) determines the horizontal and vertical divisibility of the current block (S1241), and if the current block cannot be arbitrarily divided into both vertical and horizontal directions, sets the conversion mode of the current block to conversion mode 1 (501) (S1242) without setting separate conversion mode information. In this case, the following process is not performed, and the conversion mode setting process for the current block is terminated.

λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  및 μˆ˜ν‰ λ°©ν–₯ 뢄할이 λͺ¨λ‘ λΆˆκ°€λŠ₯ν•œ κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, ν˜„μž¬ λΈ”λ‘μ˜ 졜적 λ³€ν™˜ λͺ¨λ“œμ— λ”°λΌμ„œ ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ—ˆλŠ”μ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S1243), i) 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•˜λŠ”μ§€ μ—¬λΆ€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 정보(예λ₯Ό λ“€μ–΄, '0'은 λ―ΈλΆ„ν• (수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 미쑴재), '1'은 뢄할을 가리킴)λ₯Ό λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ 첫 번째 μ •λ³΄λ‘œμ„œ μ„€μ •ν•˜μ—¬ μ „μ†‘ν•œλ‹€. 예λ₯Ό λ“€μ–΄, λΉ„λ””μ˜€ 인코더(100)λŠ” μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  λ˜λŠ” μˆ˜ν‰ λ°©ν–₯ 뢄할이 κ°€λŠ₯ν•˜λ©΄μ„œ, κ²°μ •λœ μ΅œμ’… λ³€ν™˜ λͺ¨λ“œκ°€ ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ§€ μ•ŠλŠ” 1번 λ³€ν™˜ λͺ¨λ“œμΈ 경우라면 i)의 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•˜λŠ”μ§€ μ—¬λΆ€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ •λ³΄λ‘œμ„œ '0'λ§Œμ„ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— ν¬ν•¨μ‹œν‚¨λ‹€(S1244). λΉ„λ””μ˜€ 인코더(100)λŠ” λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œμ„œ'0'을 λΉ„νŠΈμŠ€νŠΈλ¦Όμ— ν¬ν•¨μ‹œν‚¨ 경우 μ΄ν•˜μ˜ 좔가적인 λ³€ν™˜ λͺ¨λ“œμ˜ 정보λ₯Ό κ΅¬μ„±ν•˜λŠ” 과정을 μŠ€ν‚΅ν•˜κ³  λ³€ν™˜ λͺ¨λ“œ μ„€μ • 절차λ₯Ό μ’…λ£Œν•œλ‹€. The video encoder (100) determines whether the current block has been divided according to the optimal transformation mode of the current block, unless both vertical division and horizontal division are arbitrarily impossible for the current block (S1243), and sets and transmits information indicating whether i) vertical or horizontal division exists (e.g., '0' indicates non-division (no vertical or horizontal division exists), '1' indicates division) as the first information of the transformation mode information. For example, if the video encoder (100) allows arbitrarily vertical division or horizontal division and the determined final transformation mode is transformation mode 1 in which the current block is not divided, the video encoder (100) includes only '0' in the bitstream as information indicating whether i) vertical or horizontal division exists (S1244). If the video encoder (100) includes '0' in the bitstream as the transformation mode information, the video encoder skips the process of configuring the information of the additional transformation mode below and ends the transformation mode setting procedure.

λ§Œμ•½, ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  λ˜λŠ” μˆ˜ν‰ λ°©ν–₯ λΆ„ν• κ°€λŠ₯ν•˜κ³  κ²°μ •λœ μ΅œμ’… λ³€ν™˜ λͺ¨λ“œκ°€ 1번 λ³€ν™˜ λͺ¨λ“œκ°€ μ•„λ‹ˆκ³  ν˜„μž¬ 블둝이 λΆ„ν• λ˜λŠ” 경우, λΉ„λ””μ˜€ 인코더(100)λŠ” i)의 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•˜λŠ”μ§€ μ—¬λΆ€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ •λ³΄λ‘œμ„œ '1'을 μ„€μ •ν•˜μ—¬ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ 첫 번째 λΉ„νŠΈλ₯Ό κ΅¬μ„±ν•œ λ‹€μŒ, 1, 2, 3, 4, 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 504, 508, 509, 510, 514) μ€‘μ—μ„œ ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ§€ μ•ŠλŠ” 1번 λ³€ν™˜ λͺ¨λ“œ(501)λ₯Ό μ œμ™Έν•˜κ³  2, 3, 4, 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 504, 508, 509, 510, 514) 쀑 ν˜„μž¬ λΈ”λ‘μ˜ 졜적 λ³€ν™˜ λͺ¨λ“œλ‘œ κ²°μ •λœ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό μΆ”κ°€λ‘œ μ „μ†‘ν•˜κ±°λ‚˜ μ•”μ‹œμ μœΌλ‘œ μ„€μ •ν•œλ‹€. If the current block is arbitrarily vertically or horizontally divisible and the determined final transformation mode is not transformation mode 1 and the current block is divided, the video encoder (100) configures the first bit of the transformation mode information by setting '1' as information indicating whether vertical or horizontal division of i) exists, and then additionally transmits information indicating a transformation mode determined as the optimal transformation mode of the current block among transformation modes 2, 3, 4, 8, 9, 10, and 14 (501, 502, 503, 504, 508, 509, 510, and 514) excluding transformation mode 1 (501) in which the current block is not divided. Set implicitly.

이λ₯Ό μœ„ν•˜μ—¬, λ¨Όμ € λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ 블둝이 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯ λͺ¨λ‘λ‘œ λΆ„ν• κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•œλ‹€(S1245). ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ 및 수직 λ°©ν–₯ λͺ¨λ‘λ‘œ λΆ„ν• κ°€λŠ₯ν•œ 경우, λΉ„λ””μ˜€ 인코더(100)λŠ” 2, 3, 4, 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 504, 508, 509, 510, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό μ„€μ •ν•˜μ—¬ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— μΆ”κ°€ν•  수 μžˆλ‹€(S1246).To this end, the video encoder (100) first determines whether the current block is divisible in both the vertical and horizontal directions (S1245). If the current block is divisible in both the horizontal and vertical directions, the video encoder (100) can set information indicating the conversion mode of the current block among conversion modes 2, 3, 4, 8, 9, 10, and 14 (502, 503, 504, 508, 509, 510, and 514) and add it to the bitstream (S1246).

λ§Œμ•½, ν˜„μž¬ 블둝이 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯ λͺ¨λ‘λ‘œ λΆ„ν• κ°€λŠ₯ν•˜μ§€λŠ” μ•Šκ³  ν•˜λ‚˜μ˜ λ°©ν–₯으둜만 λΆ„ν• κ°€λŠ₯ν•œ 경우, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  κ°€λŠ₯ 횟수λ₯Ό κ³ λ €ν•˜μ—¬ 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ„€μ •ν•  수 μžˆλ‹€. λΆ„ν•  κ°€λŠ₯ νšŸμˆ˜λŠ” 블둝 크기 λ“±μ˜ λΆ€κ°€ 정보에 κΈ°μ΄ˆν•˜μ—¬ λ‹€μ–‘ν•˜κ²Œ 섀정될 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, μ†Œμ • 크기 미만의 블둝에 λŒ€ν•΄μ„œλŠ” λ³€ν™˜ 블둝 결정을 μœ„ν•œ ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  κ°€λŠ₯ νšŸμˆ˜κ°€ μ†Œμ • 횟수(예λ₯Ό λ“€μ–΄, 1회)둜 μ œν•œλ  수 μžˆλ‹€.If the current block is not divisible in both vertical and horizontal directions but is divisible in only one direction, the video encoder (100) may set additional transformation mode information considering the number of times the current block can be divided. The number of times the current block can be divided may be set in various ways based on additional information such as the block size. For example, for blocks smaller than a predetermined size, the number of times the current block can be divided for determining a transformation block may be limited to a predetermined number (e.g., once).

λ‹€μ‹œ 도 12cλ₯Ό μ°Έμ‘°ν•˜λ©΄, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ 크기가 λΆ„ν•  νšŸμˆ˜κ°€ μ œν•œλ˜λŠ” μ΅œμ†Œ λΆ„ν•  블둝 크기 이상인지 μ—¬λΆ€λ₯Ό νŒλ‹¨ν•œλ‹€(S1247). λ§Œμ•½, ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” 경우라면, λΉ„λ””μ˜€ 인코더(100)λŠ” λ‹€μ‹œ μˆ˜ν‰ 및 수직 λ°©ν–₯ 쀑 ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  κ°€λŠ₯ν•œ λ°©ν–₯을 νŒλ‹¨ν•œλ‹€. ꡬ체적으둜, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯으둜만 λΆ„ν• κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S1248), μˆ˜ν‰ λ°©ν–₯이 μ•„λ‹Œ 수직 λ°©ν–₯의 일 λ°©ν–₯으둜만 λΆ„ν•  κ°€λŠ₯ν•œ 경우 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό 8번 λ³€ν™˜ λͺ¨λ“œ(508)둜 κ²°μ •ν•˜κ³ (S1249), λ³„λ„μ˜ 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦Όμ— λΆ€κ°€ν•˜μ§€ μ•ŠλŠ”λ‹€. λ˜ν•œ, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯으둜만 λΆ„ν• κ°€λŠ₯ν•œ 경우 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό 2번 λ³€ν™˜ λͺ¨λ“œ(502)둜 κ²°μ •ν•˜κ³ (S1250), λ³„λ„μ˜ 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦Όμ— λΆ€κ°€ν•˜μ§€ μ•ŠλŠ”λ‹€.Referring back to FIG. 12c, the video encoder (100) determines whether the size of the current block is equal to or larger than the minimum split block size for which the number of splits is limited (S1247). If the number of splits of the current block is limited to 1, the video encoder (100) determines the splittable direction of the current block among the horizontal and vertical directions. Specifically, the video encoder (100) determines whether the current block can be split only in the horizontal direction (S1248), and if the current block can be split only in the vertical direction and not the horizontal direction, the video encoder (100) determines the transformation mode of the current block as transformation mode 8 (508) (S1249), and does not add any additional transformation mode information to the bitstream. In addition, if the current block can be split only in the horizontal direction, the video encoder (100) determines the transformation mode of the current block as transformation mode 2 (502) (S1250), and does not add any additional transformation mode information to the bitstream.

λ§Œμ•½, ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ μˆ˜ν‰ λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S1251), ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우 μˆ˜ν‰ λ°©ν–₯으둜 λΆ„ν• λ˜λŠ” λ³€ν™˜ λͺ¨λ“œμΈ 2, 3, 4, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 504, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜κ³ (S1252), 2, 3, 4, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 504, 514) 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό 좔가적인 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œ κ΅¬μ„±ν•˜μ—¬ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— λΆ€κ°€ν•œλ‹€.If the number of times the current block is divided is not limited to 1, the video encoder (100) determines whether the current block can be divided only in the horizontal direction (S1251), and if the current block can be divided only in the horizontal direction, the video encoder determines the transformation mode of the current block among the transformation modes 2, 3, 4, and 14 (502, 503, 504, and 514), which are transformation modes for horizontal division (S1252), and adds information indicating one of the transformation modes 2, 3, 4, and 14 (502, 503, 504, and 514) to the bitstream as additional transformation mode information.

λ˜ν•œ, ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, λΉ„λ””μ˜€ 인코더(100)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S1253), ν˜„μž¬ 블둝이 수직 λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우 수직 λ°©ν–₯으둜 λΆ„ν• λ˜λŠ” λ³€ν™˜ λͺ¨λ“œμΈ 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(508, 509, 510, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜κ³ (S1254), 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(508, 509, 510, 514) 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό 좔가적인 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œ κ΅¬μ„±ν•˜μ—¬ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— λΆ€κ°€ν•œλ‹€.In addition, unless the number of times the current block is split is limited to one, the video encoder (100) determines whether the current block can be split only in the vertical direction (S1253), and if the current block can be split only in the vertical direction, determines the conversion mode of the current block among conversion modes 8, 9, 10, and 14 (508, 509, 510, and 514), which are conversion modes for splitting in the vertical direction (S1254), and adds information indicating one of conversion modes 8, 9, 10, and 14 (508, 509, 510, and 514) to the bitstream as additional conversion mode information.

도 12dλŠ” λΉ„λ””μ˜€ 디코더(200)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ μ‘μ μœΌλ‘œ κ²°μ •ν•˜λŠ” κ³Όμ •μ˜ 또 λ‹€λ₯Έ 예λ₯Ό λ‚˜νƒ€λ‚Έ ν”Œλ‘œμš° μ°¨νŠΈμ΄λ‹€. 도 12d의 과정은 도 12c에 따라 λΉ„λ””μ˜€ 인코더(100)κ°€ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ„€μ •ν•˜λŠ” 과정에 λŒ€μ‘λ˜μ–΄, λΉ„λ””μ˜€ 디코더(200)κ°€ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜λŠ” 과정이닀.Fig. 12d is a flowchart illustrating another example of a process in which a video decoder (200) adaptively determines conversion mode information. The process in Fig. 12d corresponds to the process in which a video encoder (100) sets conversion mode information according to Fig. 12c, and is a process in which a video decoder (200) determines a conversion mode.

도 12dλ₯Ό μ°Έμ‘°ν•˜λ©΄, λΉ„λ””μ˜€ 디코더(200)λŠ” 도 12c에 λ”°λ₯Έ λΉ„λ””μ˜€ 인코더(100)μ—μ„œ μˆ˜ν–‰λœ κ³Όμ •κ³Ό λ™μΌν•˜κ²Œ ν˜„μž¬ λΈ”λ‘μ˜ μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성을 νŒλ‹¨ν•˜κ³ (S1261), λ§Œμ•½ ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  및 μˆ˜ν‰ λ°©ν–₯ 뢄할이 λͺ¨λ‘ λΆˆκ°€λŠ₯ν•œ 경우, λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° λ³„λ„μ˜ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό νŒŒμ‹±ν•˜μ§€ μ•Šκ³ μ„œλ„ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό 1번 λ³€ν™˜ λͺ¨λ“œ(501)둜 μ„€μ •ν•  수 μžˆλ‹€(S1262).Referring to FIG. 12d, the video decoder (200) determines the horizontal divisibility and vertical divisibility of the current block in the same manner as the process performed in the video encoder (100) according to FIG. 12c (S1261), and if the current block is arbitrarily impossible to be divided in both the vertical and horizontal directions, the conversion mode of the current block can be set to conversion mode 1 (501) without parsing separate conversion mode information from the bitstream (S1262).

λΉ„λ””μ˜€ 디코더(200)λŠ” λ§Œμ•½ ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  및 μˆ˜ν‰ λ°©ν–₯ 뢄할이 λͺ¨λ‘ λΆˆκ°€λŠ₯ν•œ κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό νšλ“ν•˜μ—¬ νŒŒμ‹±ν•˜κ³ , νŒŒμ‹±λœ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œλΆ€ν„° ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  μ—¬λΆ€λ₯Ό νŒλ‹¨ν•œλ‹€(S1263). 예λ₯Ό λ“€μ–΄, λ§Œμ•½ ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  λ˜λŠ” μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  쀑 적어도 ν•˜λ‚˜κ°€ κ°€λŠ₯ν•˜λ©΄μ„œ λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œμ„œ '0'이 νšλ“λœ 경우, λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ§€ μ•ŠλŠ” 1번 λ³€ν™˜ λͺ¨λ“œ(501)둜 μ„€μ •ν•  수 μžˆλ‹€(S1264). 이 경우, λΉ„λ””μ˜€ 디코더(200)λŠ” 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό νŒŒμ‹±ν•˜μ§€ μ•Šκ³  ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œ κ²°μ • 과정을 μ’…λ£Œν•  수 μžˆλ‹€.The video decoder (200) obtains and parses transformation mode information from the bitstream, unless the current block is arbitrarily incapable of both vertical and horizontal division, and determines whether the current block is to be divided based on the parsed transformation mode information (S1263). For example, if the current block is arbitrarily capable of at least one of vertical division or horizontal division and '0' is obtained as transformation mode information from the bitstream, the video decoder (200) can set the transformation mode of the current block to transformation mode 1 (501) in which the current block is not to be divided (S1264). In this case, the video decoder (200) can end the process of determining the transformation mode of the current block without parsing additional transformation mode information.

λΉ„λ””μ˜€ 디코더(200)κ°€ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ 첫 번째 λΉ„νŠΈλ‘œμ„œ 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•¨μ„ κ°€λ¦¬ν‚€λŠ” '1'을 νšλ“ν•œ 경우, λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ 블둝이 μˆ˜ν‰ 및 수직 λ°©ν–₯ λͺ¨λ‘ λΆ„ν•  κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•œλ‹€(S1265). ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ 및 수직 λ°©ν–₯ λͺ¨λ‘λ‘œ λΆ„ν• κ°€λŠ₯ν•œ 경우, λΉ„λ””μ˜€ 디코더(100)λŠ” 2, 3, 4, 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 504, 508, 509, 510, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό μΆ”κ°€λ‘œ λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° νŒŒμ‹±ν•˜κ³ , νŒŒμ‹±λœ μΆ”κ°€ λ³€ν™˜ λͺ¨λ“œ 정보에 κΈ°μ΄ˆν•˜μ—¬ 2, 3, 4, 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 504, 508, 509, 510, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•  수 μžˆλ‹€(S1266).When the video decoder (200) obtains '1' as the first bit of the conversion mode information indicating the presence of vertical or horizontal division, the video decoder (200) determines whether the current block is divisible in both horizontal and vertical directions (S1265). If the current block is divisible in both horizontal and vertical directions, the video decoder (100) may additionally parse information indicating the transformation mode of the current block from among transformation modes 2, 3, 4, 8, 9, 10, and 14 (502, 503, 504, 508, 509, 510, and 514) from the bitstream, and determine the transformation mode of the current block from among transformation modes 2, 3, 4, 8, 9, 10, and 14 (502, 503, 504, 508, 509, 510, and 514) based on the parsed additional transformation mode information (S1266).

λ§Œμ•½, ν˜„μž¬ 블둝이 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯ λͺ¨λ‘λ‘œ λΆ„ν• κ°€λŠ₯ν•˜μ§€λŠ” μ•Šκ³  ν•˜λ‚˜μ˜ λ°©ν–₯으둜만 λΆ„ν• κ°€λŠ₯ν•œ 경우, λΉ„λ””μ˜€ 디코더(100)λŠ” ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  κ°€λŠ₯ 횟수λ₯Ό κ³ λ €ν•˜μ—¬ 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό νŒŒμ‹±ν•  μ§€ μ—¬λΆ€λ₯Ό κ²°μ •ν•  수 μžˆλ‹€. λΆ„ν•  κ°€λŠ₯ νšŸμˆ˜λŠ” 블둝 크기 λ“±μ˜ λΆ€κ°€ 정보에 κΈ°μ΄ˆν•˜μ—¬ λ‹€μ–‘ν•˜κ²Œ 섀정될 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, μ†Œμ • 크기 미만의 블둝에 λŒ€ν•΄μ„œλŠ” λ³€ν™˜ 블둝 결정을 μœ„ν•œ ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  κ°€λŠ₯ νšŸμˆ˜κ°€ μ†Œμ • 횟수(예λ₯Ό λ“€μ–΄, 1회)둜 μ œν•œλ  수 μžˆλ‹€.If the current block is not divisible in both the vertical and horizontal directions but is divisible in only one direction, the video decoder (100) can determine whether to parse additional transformation mode information by considering the number of times the current block can be divided. The number of times the current block can be divided can be set in various ways based on additional information such as the block size. For example, for blocks smaller than a predetermined size, the number of times the current block can be divided for determining a transformation block can be limited to a predetermined number (e.g., once).

λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ 블둝이 λΆ„ν•  νšŸμˆ˜κ°€ μ œν•œλ˜λŠ” μ΅œμ†Œ λΆ„ν•  블둝 크기 이상인지 μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S1267), λ§Œμ•½ ν˜„μž¬ λΈ”λ‘μ˜ 크기가 μ΅œμ†Œ λΆ„ν•  블둝 크기 미만으둜 ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” 경우라면, λΉ„λ””μ˜€ 디코더(200)λŠ” λ‹€μ‹œ μˆ˜ν‰ 및 수직 λ°©ν–₯ 쀑 ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  κ°€λŠ₯ν•œ λ°©ν–₯을 νŒλ‹¨ν•œλ‹€. ꡬ체적으둜, λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯으둜만 λΆ„ν• κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S1268), μˆ˜ν‰ λ°©ν–₯이 μ•„λ‹Œ 수직 λ°©ν–₯의 일 λ°©ν–₯으둜만 λΆ„ν•  κ°€λŠ₯ν•œ 경우 λ³„λ„μ˜ 좔가적인 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ νŒŒμ‹±μ—†μ΄ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό 8번 λ³€ν™˜ λͺ¨λ“œ(508)둜 κ²°μ •ν•œλ‹€(S1269). λ˜ν•œ, λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯으둜만 λΆ„ν• κ°€λŠ₯ν•œ 경우 λ³„λ„μ˜ 좔가적인 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ νŒŒμ‹±μ—†μ΄ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό 2번 λ³€ν™˜ λͺ¨λ“œ(502)둜 κ²°μ •ν•œλ‹€(S1270).The video decoder (200) determines whether the current block is larger than or equal to the minimum split block size that limits the number of splits (S1267), and if the size of the current block is smaller than the minimum split block size, and the number of splits of the current block is limited to 1, the video decoder (200) determines the splittable direction of the current block among the horizontal and vertical directions again. Specifically, the video decoder (200) determines whether the current block can be split only in the horizontal direction (S1268), and if the current block can be split only in the vertical direction and not the horizontal direction, the video decoder (200) determines the transformation mode of the current block as the 8th transformation mode (508) without parsing additional transformation mode information separately (S1269). In addition, the video decoder (200) determines the transformation mode of the current block as the 2nd transformation mode (502) without parsing additional transformation mode information separately (S1270) if the current block can be split only in the horizontal direction.

λ§Œμ•½, ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ μˆ˜ν‰ λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S1271), ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우 μˆ˜ν‰ λ°©ν–₯으둜 λΆ„ν• λ˜λŠ” λ³€ν™˜ λͺ¨λ“œμΈ 2, 3, 4, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 504, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° νŒŒμ‹±ν•˜κ³ , νŒŒμ‹±λœ μΆ”κ°€ λ³€ν™˜ λͺ¨λ“œ 정보에 κΈ°μ΄ˆν•˜μ—¬ 2, 3, 4, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 504, 514) 쀑 ν•˜λ‚˜λ₯Ό ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ‘œ κ²°μ •ν•œλ‹€(S1272).If the number of times the current block is split is not limited to one, the video decoder (200) determines whether the current block can be split only in the horizontal direction (S1271), and if the current block can be split only in the horizontal direction, the video decoder parses additional transformation mode information indicating the transformation mode of the current block from among transformation modes 2, 3, 4, and 14 (502, 503, 504, and 514), which are transformation modes for splitting in the horizontal direction, from the bitstream, and determines one of transformation modes 2, 3, 4, and 14 (502, 503, 504, and 514) as the transformation mode of the current block based on the parsed additional transformation mode information (S1272).

λ˜ν•œ, ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  νšŸμˆ˜κ°€ 1회둜 μ œν•œλ˜λŠ” κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, λΉ„λ””μ˜€ 디코더(200)λŠ” ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œμ§€ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κ³ (S1273), ν˜„μž¬ 블둝이 수직 λ°©ν–₯ λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우 수직 λ°©ν–₯으둜 λΆ„ν• λ˜λŠ” λ³€ν™˜ λͺ¨λ“œμΈ 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(508, 509, 510, 514) μ€‘μ—μ„œ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” 좔가적인 λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° νŒŒμ‹±ν•˜κ³ , νŒŒμ‹±λœ μΆ”κ°€ λ³€ν™˜ λͺ¨λ“œ 정보에 κΈ°μ΄ˆν•˜μ—¬ 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(508, 509, 510, 514) 쀑 ν•˜λ‚˜λ₯Ό ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ‘œ κ²°μ •ν•œλ‹€(S1274).In addition, unless the number of times the current block is split is limited to one, the video decoder (200) determines whether the current block can be split only in the vertical direction (S1273), and if the current block can be split only in the vertical direction, the video decoder parses additional transformation mode information indicating the transformation mode of the current block from among transformation modes 8, 9, 10, and 14 (508, 509, 510, and 514), which are transformation modes for splitting in the vertical direction, from the bitstream, and determines one of transformation modes 8, 9, 10, and 14 (508, 509, 510, and 514) as the transformation mode of the current block based on the parsed additional transformation mode information (S1274).

일 μ‹€μ‹œμ˜ˆμ— μžˆμ–΄μ„œ, ν˜„μž¬ 블둝에 적용된 λ³€ν™˜ λͺ¨λ“œλ₯Ό 효율적으둜 μ „μ†‘ν•˜κΈ° μœ„ν•΄μ„œ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λŠ” ν˜„μž¬ 블둝 이전에 λ³€ν™˜ λͺ¨λ“œλ‘œ κ²°μ •λœ λ³€ν™˜ λͺ¨λ“œμ˜ 톡계 정보에 κΈ°μ΄ˆν•˜μ—¬ ꡬ성될 수 μžˆλ‹€. 일 예둜, ν˜„μž¬ λΈ”λ‘μ˜ μ£Όλ³€ 블둝에 적용된 λ³€ν™˜ λͺ¨λ“œ 톡계 정보가 이용될 수 μžˆλ‹€. . ν˜„μž¬ λΈ”λ‘μ˜ μ£Όλ³€ 블둝에 적용된 λ³€ν™˜ λͺ¨λ“œμ˜ 톡계적 λΉ„μœ¨ 정보에 κΈ°μ΄ˆν•˜μ—¬ ν˜„μž¬ λΈ”λ‘μ˜ 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성이 νŒλ‹¨λ˜κ³ , νŒλ‹¨λœ ν˜„μž¬ λΈ”λ‘μ˜ 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성에 κΈ°μ΄ˆν•˜μ—¬ λ³€ν™˜ λͺ¨λ“œ 정보가 μ μ‘μ μœΌλ‘œ ꡬ성될 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, ν˜„μž¬ λΈ”λ‘μ˜ 상츑 및 μ’ŒμΈ‘μ— μœ„μΉ˜ν•œ μ£Όλ³€ λΈ”λ‘λ“€μ˜ λ³€ν™˜ λͺ¨λ“œλ‘œμ„œ 뢄할이 μˆ˜ν–‰λ˜μ§€ μ•ŠλŠ” 1번 λ³€ν™˜ λͺ¨λ“œ(501)만 이용된 경우, ν˜„μž¬ λΈ”λ‘μ˜ 수직 및 μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성은 μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” κ²ƒμœΌλ‘œ νŒλ‹¨λ  수 μžˆλ‹€. λ§Œμ•½, μ£Όλ³€ λΈ”λ‘λ“€μ˜ λ³€ν™˜ λͺ¨λ“œλ‘œμ„œ 수직 뢄할이 μˆ˜ν–‰λ˜λŠ” 8~13번 λ³€ν™˜ λͺ¨λ“œλ“€(508, 509, 510, 511, 512, 513)κ³Ό 4λΆ„ν• λ˜λŠ” 14번 λ³€ν™˜ λͺ¨λ“œ(514)λŠ” ν¬ν•¨λ˜μ§€ μ•Šκ³ , μˆ˜ν‰ λ°©ν–₯ 뢄할이 μˆ˜ν–‰λ˜λŠ” 2~7번 λ³€ν™˜ λͺ¨λ“œλ“€(502, 503, 504, 505, 506, 507) 쀑 μ–΄λŠ ν•˜λ‚˜μ˜ λ³€ν™˜ λͺ¨λ“œκ°€ ν¬ν•¨λœ 경우, ν˜„μž¬ 블둝은 μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„±λ§Œμ΄ μ‘΄μž¬ν•˜λŠ” κ²ƒμœΌλ‘œ νŒλ‹¨λ  수 μžˆλ‹€. μœ μ‚¬ν•˜κ²Œ, λ§Œμ•½, μ£Όλ³€ λΈ”λ‘λ“€μ˜ λ³€ν™˜ λͺ¨λ“œλ‘œμ„œ μˆ˜ν‰ λ°©ν–₯ 뢄할이 μˆ˜ν–‰λ˜λŠ” 2~7번 λ³€ν™˜ λͺ¨λ“œλ“€(502, 503, 504, 505, 506, 507) κ³Ό 4λΆ„ν• λ˜λŠ” λ³€ν™˜ λͺ¨λ“œ(514)λŠ” ν¬ν•¨λ˜μ§€ μ•Šκ³ , 수직 λ°©ν–₯ 뢄할이 μˆ˜ν–‰λ˜λŠ” 8~13번 λ³€ν™˜ λͺ¨λ“œλ“€(508, 509, 510, 511, 512, 513) 쀑 μ–΄λŠ ν•˜λ‚˜μ˜ λ³€ν™˜ λͺ¨λ“œκ°€ ν¬ν•¨λœ 경우, ν˜„μž¬ 블둝은 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„±λ§Œμ΄ μ‘΄μž¬ν•˜λŠ” κ²ƒμœΌλ‘œ νŒλ‹¨λ  수 μžˆλ‹€. λ§Œμ•½, μ£Όλ³€ λΈ”λ‘λ“€μ˜ λ³€ν™˜ λͺ¨λ“œλ‘œμ„œ μˆ˜ν‰ 뢄할이 μˆ˜ν–‰λ˜λŠ” 2~7번 λ³€ν™˜ λͺ¨λ“œλ“€(502, 503, 504, 505, 506, 507), 수직 λ°©ν–₯ 뢄할이 μˆ˜ν–‰λ˜λŠ” 8~13번 λ³€ν™˜ λͺ¨λ“œλ“€(508, 509, 510, 511, 512, 513), 4λΆ„ν• λ˜λŠ” λ³€ν™˜ λͺ¨λ“œ(514)κ°€ ν˜Όμž¬λ˜μ–΄ ν¬ν•¨λœ 경우, ν˜„μž¬ 블둝은 μˆ˜ν‰ λ°©ν–₯ 및 수직 λ°©ν–₯ λͺ¨λ‘λ‘œ λΆ„ν•  κ°€λŠ₯ν•œ κ²ƒμœΌλ‘œ νŒλ‹¨λ  수 μžˆλ‹€.In one embodiment, in order to efficiently transmit the transformation mode applied to the current block, the transformation mode information may be configured based on statistical information of the transformation mode determined as the transformation mode before the current block. For example, the transformation mode statistical information applied to the surrounding blocks of the current block may be used. The vertical divisibility and the horizontal divisibility of the current block may be determined based on the statistical ratio information of the transformation mode applied to the surrounding blocks of the current block, and the transformation mode information may be adaptively configured based on the determined vertical divisibility and horizontal divisibility of the current block. For example, when only the transformation mode 1 (501) in which no division is performed is used as the transformation mode of the surrounding blocks located above and to the left of the current block, the vertical and horizontal divisibility of the current block may be determined to not exist. If any one of the transformation modes 2 to 7 (502, 503, 504, 505, 506, 507) in which horizontal division is performed is included, but the vertical division is performed as a transformation mode of the surrounding blocks in the 8 to 13 transformation modes (508, 509, 510, 511, 512, 513) and the 4-division transformation mode 14 (514) is not included, then the current block can be determined to have only the possibility of horizontal division. Similarly, if the horizontal division is performed as a transformation mode of the surrounding blocks in transformation modes 2 to 7 (502, 503, 504, 505, 506, 507) and the four-division transformation mode (514) is not included, and any one of the vertical division is performed in transformation modes 8 to 13 (508, 509, 510, 511, 512, 513), then the current block can be determined to have only the possibility of vertical division. If horizontal division is performed as a conversion mode of surrounding blocks in conversion modes 2 to 7 (502, 503, 504, 505, 506, 507), vertical division is performed in conversion modes 8 to 13 (508, 509, 510, 511, 512, 513), and four-division conversion mode (514) are mixed and included, the current block can be determined to be divisible in both horizontal and vertical directions.

λΉ„λ””μ˜€ 인코더(100)λŠ” μ£Όλ³€ 블둝에 적용된 λ³€ν™˜ λͺ¨λ“œ 톡계 정보에 κΈ°μ΄ˆν•˜μ—¬ ν˜„μž¬ λΈ”λ‘μ˜ 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성을 νŒλ‹¨ν•˜κ³ , ν˜„μž¬ λΈ”λ‘μ˜ 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성에 κΈ°μ΄ˆν•˜μ—¬ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ 의미(semantics)λ₯Ό μ μ‘μ μœΌλ‘œ κ²°μ •ν•˜κ³ , ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ„€μ •ν•˜μ—¬ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— ν¬ν•¨μ‹œν‚¬ 수 μžˆλ‹€. λΉ„λ””μ˜€ 디코더(200)λŠ” μ£Όλ³€ 블둝에 적용된 λ³€ν™˜ λͺ¨λ“œ 톡계 정보에 κΈ°μ΄ˆν•˜μ—¬ ν˜„μž¬ λΈ”λ‘μ˜ 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성을 νŒλ‹¨ν•˜κ³ , ν˜„μž¬ λΈ”λ‘μ˜ 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성에 κΈ°μ΄ˆν•˜μ—¬ λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° νšλ“λœ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ 의미λ₯Ό μ‹λ³„ν•˜κ³ , λ³€ν™˜ λͺ¨λ“œ 정보에 κΈ°μ΄ˆν•˜μ—¬ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•  수 μžˆλ‹€. The video encoder (100) can determine the vertical divisibility and horizontal divisibility of the current block based on the transformation mode statistical information applied to the surrounding blocks, adaptively determine the semantics of the transformation mode information based on the vertical divisibility and horizontal divisibility of the current block, and set the transformation mode information of the current block to include in the bitstream. The video decoder (200) can determine the vertical divisibility and horizontal divisibility of the current block based on the transformation mode statistical information applied to the surrounding blocks, identify the semantics of the transformation mode information obtained from the bitstream based on the vertical divisibility and horizontal divisibility of the current block, and determine the transformation mode of the current block based on the transformation mode information.

λ§Œμ•½, ν˜„μž¬ 블둝이 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯ 쀑 μ–΄λŠ λ°©ν–₯μœΌλ‘œλ„ λΆ„ν•  κ°€λŠ₯ν•˜μ§€ μ•Šμ€ 경우, λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λŠ” λΉ„νŠΈμŠ€νŠΈλ¦Όμ— ν¬ν•¨λ˜μ§€ μ•ŠμœΌλ©° ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ 블둝은 ν˜„μž¬ 블둝과 λ™μΌν•œ 크기 및 λͺ¨μ–‘을 κ°–λŠ” κ²ƒμœΌλ‘œ 결정될 수 μžˆλ‹€. 즉, ν˜„μž¬ 블둝이 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯ 쀑 μ–΄λŠ λ°©ν–₯μœΌλ‘œλ„ λΆ„ν•  κ°€λŠ₯ν•˜μ§€ μ•Šμ€ 경우, λ³„λ„μ˜ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λŠ” μŠ€ν‚΅λ˜κ³  1번 λ³€ν™˜ λͺ¨λ“œ(501)κ°€ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ‘œ 결정될 수 μžˆλ‹€. If the current block is not divisible in either the vertical or horizontal direction, the transformation mode information is not included in the bitstream, and the transformation block of the current block may be determined to have the same size and shape as the current block. That is, if the current block is not divisible in either the vertical or horizontal direction, the separate transformation mode information may be skipped, and the first transformation mode (501) may be determined as the transformation mode of the current block.

λ§Œμ•½, ν˜„μž¬ 블둝이 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯으둜 λͺ¨λ‘ 뢄할이 λΆˆκ°€λŠ₯ν•œ κ²½μš°κ°€ μ•„λ‹ˆκ³  적어도 ν•˜λ‚˜μ˜ λ°©ν–₯으둜 λΆ„ν• κ°€λŠ₯ν•œ 경우라면, λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λŠ” i) 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•˜λŠ”μ§€ μ—¬λΆ€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 정보(예λ₯Ό λ“€μ–΄ '0'은 λ―ΈλΆ„ν• , '1'은 뢄할됨)λ₯Ό ν¬ν•¨ν•˜λ©°, i)의 정보가 '1'κ³Ό 같이 뢄할됨을 κ°€λ¦¬ν‚€λŠ” 경우 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λŠ” μΆ”κ°€μ μœΌλ‘œ ii) 후보 λ³€ν™˜ λͺ¨λ“œλ“€ μ€‘μ—μ„œ ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό 포함할 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, ν˜„μž¬ 블둝에 μ μš©κ°€λŠ₯ν•œ 후보 λ³€ν™˜ λͺ¨λ“œλ‘œμ„œ 1, 2, 8, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 508, 514)κ°€ κ²°μ •λ˜κ³ , ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ 및 수직 λ°©ν–₯ λΆ„ν•  쀑 적어도 ν•˜λ‚˜μ˜ λ°©ν–₯으둜 λΆ„ν•  κ°€λŠ₯ν•œ κ²ƒμœΌλ‘œ νŒλ‹¨λœ 경우, 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•˜λŠ”μ§€ μ—¬λΆ€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ •λ³΄λ‘œμ„œ '1'κ³Ό, 1번 λ³€ν™˜ λͺ¨λ“œ(501)λ₯Ό μ œμ™Έν•œ 2, 8, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 508, 514) 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보가 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œ 섀정될 수 μžˆλ‹€.If the current block is not divisible in both the vertical and horizontal directions but is divisible in at least one direction, the transformation mode information includes i) information indicating whether a vertical or horizontal division exists (e.g., '0' indicates indivisibility, '1' indicates division), and if the information in i) indicates division such as '1', the transformation mode information may additionally include ii) information indicating one of the candidate transformation modes. For example, if transformation modes 1, 2, 8, and 14 (501, 502, 508, and 514) are determined as candidate transformation modes applicable to the current block, and if the current block is determined to be divisible in at least one of the horizontal and vertical division directions, information indicating '1' as information indicating whether a vertical or horizontal division exists and one of the transformation modes 2, 8, and 14 (502, 508, and 514) excluding transformation mode 1 (501) may be set as the transformation mode information.

λ§Œμ•½, ν˜„μž¬ 블둝이 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯ 쀑 μ–΄λŠ ν•˜λ‚˜μ˜ λ°©ν–₯으둜만 뢄할이 κ°€λŠ₯ν•œ 경우, λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λŠ” i) 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•˜λŠ”μ§€ μ—¬λΆ€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 정보(예λ₯Ό λ“€μ–΄ '0'은 λ―ΈλΆ„ν• , '1'은 뢄할됨) 및 μΆ”κ°€μ μœΌλ‘œ ii) λΆ„ν•  κ°€λŠ₯ν•œ λ°©ν–₯으둜 λΆ„ν• λœ 후보 λ³€ν™˜ λͺ¨λ“œλ“€ μ€‘μ—μ„œ ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό 포함할 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, ν˜„μž¬ 블둝에 μ μš©κ°€λŠ₯ν•œ 후보 λ³€ν™˜ λͺ¨λ“œλ‘œμ„œ 1, 2, 8, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 508, 514)κ°€ κ²°μ •λ˜κ³ , ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ 및 수직 λ°©ν–₯ λΆ„ν•  쀑 μˆ˜ν‰ λ°©ν–₯으둜만 λΆ„ν• κ°€λŠ₯ν•œ 경우, 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•˜λŠ”μ§€ μ—¬λΆ€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ •λ³΄λ‘œμ„œ '1'κ³Ό, 2번 λ³€ν™˜ λͺ¨λ“œ(502) 및 14번 λ³€ν™˜ λͺ¨λ“œ(514) 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보가 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œ 섀정될 수 μžˆλ‹€. λ§Œμ•½, ν˜„μž¬ 블둝이 μˆ˜ν‰ λ°©ν–₯ 및 수직 λ°©ν–₯ λΆ„ν•  쀑 수직 λ°©ν–₯으둜만 λΆ„ν• κ°€λŠ₯ν•œ 경우, 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•˜λŠ”μ§€ μ—¬λΆ€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ •λ³΄λ‘œμ„œ '1'κ³Ό, 8번 λ³€ν™˜ λͺ¨λ“œ(507) 및 14번 λ³€ν™˜ λͺ¨λ“œ(514) 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보가 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œ 섀정될 수 μžˆλ‹€.If the current block can be split in only one of the vertical and horizontal directions, the transformation mode information may include i) information indicating whether a vertical or horizontal split exists (e.g., '0' means not split, '1' means split) and additionally ii) information indicating one of the candidate transformation modes that are split in the splittable direction. For example, if transformation modes 1, 2, 8, and 14 (501, 502, 508, and 514) are determined as candidate transformation modes applicable to the current block, and the current block can be split only in the horizontal direction among the horizontal and vertical divisions, information indicating whether a vertical or horizontal split exists, '1', and information indicating one of transformation mode 2 (502) and transformation mode 14 (514) may be set as the transformation mode information. If the current block can be divided only in the vertical direction among horizontal and vertical divisions, '1' may be set as information indicating whether vertical or horizontal division exists, and information indicating one of the 8th conversion mode (507) and the 14th conversion mode (514) may be set as conversion mode information.

일 μ‹€μ‹œμ˜ˆμ— μžˆμ–΄μ„œ, ν˜„μž¬ 블둝에 적용된 λ³€ν™˜ λͺ¨λ“œλ₯Ό 효율적으둜 μ „μ†‘ν•˜κΈ° μœ„ν•΄μ„œ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λŠ” ν˜„μž¬ 블둝 이전에 처리된 μ£Όλ³€ 블둝에 적용된 λ³€ν™˜ λͺ¨λ“œ 톡계 정보 λ˜λŠ” λΆ€κ°€ 정보에 κΈ°μ΄ˆν•˜μ—¬ ꡬ성될 수 μžˆλ‹€. λ³€ν™˜ λͺ¨λ“œ 톡계 μ •λ³΄λ‚˜ λΆ€κ°€ 정보에 κΈ°μ΄ˆν•˜μ—¬ 후보 λ³€ν™˜ λͺ¨λ“œ 쀑 μ΅œμ’… 후보 λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜κ³ , μ΅œμ’… 후보 λ³€ν™˜ λͺ¨λ“œ 쀑 ν•˜λ‚˜μ˜ 후보 λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” λ³€ν™˜ λͺ¨λ“œ 정보가 섀정될 수 μžˆλ‹€. ν˜„μž¬ λΈ”λ‘μ˜ μ£Όλ³€ 블둝에 적용된 λ³€ν™˜ λͺ¨λ“œμ˜ 톡계적 λΉ„μœ¨ μ •λ³΄λ‚˜ λΆ€κ°€ 정보에 κΈ°μ΄ˆν•˜μ—¬ ν˜„μž¬ λΈ”λ‘μ˜ 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성이 νŒλ‹¨λ˜κ³ , νŒλ‹¨λœ ν˜„μž¬ λΈ”λ‘μ˜ 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성에 κΈ°μ΄ˆν•˜μ—¬ λ³€ν™˜ λͺ¨λ“œ 정보가 μ μ‘μ μœΌλ‘œ ꡬ성될 수 μžˆλ‹€.In one embodiment, in order to efficiently transmit the transformation mode applied to the current block, the transformation mode information may be configured based on transformation mode statistical information or additional information applied to a neighboring block processed before the current block. Based on the transformation mode statistical information or additional information, a final candidate transformation mode may be determined among candidate transformation modes, and transformation mode information indicating one candidate transformation mode among the final candidate transformation modes may be set. Based on the statistical ratio information or additional information of the transformation modes applied to neighboring blocks of the current block, the vertical divisibility and the horizontal divisibility of the current block may be determined, and the transformation mode information may be adaptively configured based on the determined vertical divisibility and horizontal divisibility of the current block.

μ˜ˆμ‹œμ μœΌλ‘œ, ν˜„μž¬ λΈ”λ‘μ˜ 후보 λ³€ν™˜ λͺ¨λ“œλ‘œμ„œ 1, 2, 3, 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 508, 509, 514)κ°€ κ²°μ •λ˜κ³ , μ΄λŸ¬ν•œ 6개의 λ³€ν™˜ λͺ¨λ“œλ“€ 쀑 κ²°μ •λœ 졜적의 λ³€ν™˜ λͺ¨λ“œλ₯Ό μ‹œκ·Έλ„λ§ν•˜κΈ° μœ„ν•˜μ—¬ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ„€μ •ν•˜λŠ” 경우λ₯Ό μ„€λͺ…ν•œλ‹€. As an example, a case is described where conversion modes 1, 2, 3, 8, 9, and 14 (501, 502, 503, 508, 509, and 514) are determined as candidate conversion modes of the current block, and conversion mode information is set to signal the optimal conversion mode determined among these six conversion modes.

λ§Œμ•½, ν˜„μž¬ 블둝이 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯ 쀑 μ–΄λŠ λ°©ν–₯μœΌλ‘œλ„ λΆ„ν•  κ°€λŠ₯ν•˜μ§€ μ•Šμ€ 경우, λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λŠ” λΉ„νŠΈμŠ€νŠΈλ¦Όμ— ν¬ν•¨λ˜μ§€ μ•ŠμœΌλ©° ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ 블둝은 ν˜„μž¬ 블둝과 λ™μΌν•œ 크기 및 λͺ¨μ–‘을 κ°–λŠ” κ²ƒμœΌλ‘œ 결정될 수 μžˆλ‹€. 즉, ν˜„μž¬ 블둝이 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯ 쀑 μ–΄λŠ λ°©ν–₯μœΌλ‘œλ„ λΆ„ν•  κ°€λŠ₯ν•˜μ§€ μ•Šμ€ 경우, λ³„λ„μ˜ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λŠ” μŠ€ν‚΅λ˜κ³  1번 λ³€ν™˜ λͺ¨λ“œ(501)κ°€ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ‘œ 결정될 수 μžˆλ‹€. If the current block is not divisible in either the vertical or horizontal direction, the transformation mode information is not included in the bitstream, and the transformation block of the current block may be determined to have the same size and shape as the current block. That is, if the current block is not divisible in either the vertical or horizontal direction, the separate transformation mode information may be skipped, and the first transformation mode (501) may be determined as the transformation mode of the current block.

λ§Œμ•½, ν˜„μž¬ 블둝이 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯으둜 λͺ¨λ‘ 뢄할이 λΆˆκ°€λŠ₯ν•œ κ²½μš°κ°€ μ•„λ‹ˆκ³  적어도 ν•˜λ‚˜μ˜ λ°©ν–₯으둜 λΆ„ν• κ°€λŠ₯ν•œ 경우라면, λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λŠ” i) 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•˜λŠ”μ§€ μ—¬λΆ€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 정보(예λ₯Ό λ“€μ–΄ '0'은 λ―ΈλΆ„ν• , '1'은 뢄할됨)λ₯Ό ν¬ν•¨ν•˜λ©°, i)의 정보가 '1'κ³Ό 같이 뢄할됨을 κ°€λ¦¬ν‚€λŠ” 경우 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λŠ” μΆ”κ°€μ μœΌλ‘œ ii) 1번 λ³€ν™˜ λͺ¨λ“œ(501)을 μ œμ™Έν•œ λ‚˜λ¨Έμ§€ 후보 λ³€ν™˜ λͺ¨λ“œλ“€μΈ 2, 3, 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 508, 509, 514)μ€‘μ—μ„œ ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό 포함할 수 μžˆλ‹€. If the current block is not divisible in both the vertical and horizontal directions but is divisible in at least one direction, the conversion mode information includes i) information indicating whether a vertical or horizontal division exists (e.g., '0' indicates no division, '1' indicates division), and if the information in i) indicates division as '1', the conversion mode information may additionally include ii) information indicating one of the remaining candidate conversion modes, excluding conversion mode 1 (501), namely conversion modes 2, 3, 8, 9, and 14 (502, 503, 508, 509, and 514).

λ§Œμ•½, ν˜„μž¬ 블둝이 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯ 쀑 μ–΄λŠ ν•˜λ‚˜μ˜ λ°©ν–₯으둜만 뢄할이 κ°€λŠ₯ν•˜κ³ , ν˜„μž¬ λΈ”λ‘μ˜ 크기 정보에 κΈ°μ΄ˆν•˜μ—¬ ν˜„μž¬ 블둝에 λŒ€ν•˜μ—¬ λΆ„ν•  κ°€λŠ₯ν•œ νšŸμˆ˜κ°€ 1νšŒλ‘œμ„œ μ΅œμ†Œ 횟수의 λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우, 1, 2, 3, 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 508, 509, 514)의 후보 λ³€ν™˜ λͺ¨λ“œλ“€ μ€‘μ—μ„œ μˆ˜ν‰ λ°©ν–₯으둜 1회 뢄할이 μˆ˜ν–‰λ˜λŠ” 2번 λ³€ν™˜ λͺ¨λ“œ(502) 및 수직 λ°©ν–₯으둜 1회 뢄할이 μˆ˜ν–‰λ˜λŠ” 8번 λ³€ν™˜ λͺ¨λ“œ(508) 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보가 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œ 섀정될 수 μžˆλ‹€.If the current block can be split only in one of the vertical and horizontal directions, and the number of times the current block can be split is 1 based on the size information of the current block, and only the minimum number of times the current block can be split, information indicating one of the candidate conversion modes among conversion modes 1, 2, 3, 8, 9, and 14 (501, 502, 503, 508, 509, and 514), conversion mode 2 (502) in which one division is performed in the horizontal direction and conversion mode 8 (508) in which one division is performed in the vertical direction can be set as conversion mode information.

λ§Œμ•½, ν˜„μž¬ 블둝이 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯ 쀑 μ–΄λŠ ν•˜λ‚˜μ˜ λ°©ν–₯으둜만 뢄할이 κ°€λŠ₯ν•˜κ³ , ν˜„μž¬ λΈ”λ‘μ˜ 크기 정보에 κΈ°μ΄ˆν•˜μ—¬ ν˜„μž¬ 블둝에 λŒ€ν•˜μ—¬ λΆ„ν•  κ°€λŠ₯ν•œ νšŸμˆ˜κ°€ 1회 이상인 경우 1, 2, 3, 8, 9, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 508, 509, 514)의 후보 λ³€ν™˜ λͺ¨λ“œλ“€ μ€‘μ—μ„œ μˆ˜ν‰ λ°©ν–₯으둜 1회 μ΄μƒμ˜ 뢄할이 μˆ˜ν–‰λ˜λŠ” 2, 3번 λ³€ν™˜ λͺ¨λ“œ(502, 503) 및 수직 λ°©ν–₯으둜 1회 μ΄μƒμ˜ 뢄할이 μˆ˜ν–‰λ˜λŠ” 8, 9번 λ³€ν™˜ λͺ¨λ“œ(508, 509) 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보가 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œ 섀정될 수 μžˆλ‹€.If the current block can be split only in one of the vertical and horizontal directions, and the number of times the current block can be split is one or more based on the size information of the current block, information indicating one of the conversion modes 2 and 3 (502, 503) in which one or more splits are performed in the horizontal direction and one or more conversion modes 8 and 9 (508, 509) in which one or more splits are performed in the vertical direction among the candidate conversion modes 1, 2, 3, 8, 9, and 14 (501, 502, 503, 508, 509, and 514) can be set as the conversion mode information.

또 λ‹€λ₯Έ μ˜ˆμ‹œλ‘œμ„œ, ν˜„μž¬ λΈ”λ‘μ˜ 후보 λ³€ν™˜ λͺ¨λ“œλ‘œμ„œ 1, 2, 3, 4, 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 504, 508, 509, 510, 514)κ°€ κ²°μ •λ˜κ³ , μ΄λŸ¬ν•œ 8개의 λ³€ν™˜ λͺ¨λ“œλ“€ 쀑 κ²°μ •λœ 졜적의 λ³€ν™˜ λͺ¨λ“œλ₯Ό μ‹œκ·Έλ„λ§ν•˜κΈ° μœ„ν•˜μ—¬ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ„€μ •ν•˜λŠ” 경우λ₯Ό μ„€λͺ…ν•œλ‹€. As another example, a case is described where conversion modes 1, 2, 3, 4, 8, 9, 10, and 14 (501, 502, 503, 504, 508, 509, 510, and 514) are determined as candidate conversion modes of the current block, and conversion mode information is set to signal the optimal conversion mode determined among these eight conversion modes.

λ§Œμ•½, ν˜„μž¬ 블둝이 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯ 쀑 μ–΄λŠ λ°©ν–₯μœΌλ‘œλ„ λΆ„ν•  κ°€λŠ₯ν•˜μ§€ μ•Šμ€ 경우, λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λŠ” λΉ„νŠΈμŠ€νŠΈλ¦Όμ— ν¬ν•¨λ˜μ§€ μ•ŠμœΌλ©° ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ 블둝은 ν˜„μž¬ 블둝과 λ™μΌν•œ 크기 및 λͺ¨μ–‘을 κ°–λŠ” κ²ƒμœΌλ‘œ 결정될 수 μžˆλ‹€. 즉, ν˜„μž¬ 블둝이 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯ 쀑 μ–΄λŠ λ°©ν–₯μœΌλ‘œλ„ λΆ„ν•  κ°€λŠ₯ν•˜μ§€ μ•Šμ€ 경우, λ³„λ„μ˜ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λŠ” μŠ€ν‚΅λ˜κ³  1번 λ³€ν™˜ λͺ¨λ“œ(501)κ°€ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ‘œ 결정될 수 μžˆλ‹€. If the current block is not divisible in either the vertical or horizontal direction, the transformation mode information is not included in the bitstream, and the transformation block of the current block may be determined to have the same size and shape as the current block. That is, if the current block is not divisible in either the vertical or horizontal direction, the separate transformation mode information may be skipped, and the first transformation mode (501) may be determined as the transformation mode of the current block.

λ§Œμ•½, ν˜„μž¬ 블둝이 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯으둜 λͺ¨λ‘ 뢄할이 λΆˆκ°€λŠ₯ν•œ κ²½μš°κ°€ μ•„λ‹ˆκ³  적어도 ν•˜λ‚˜μ˜ λ°©ν–₯으둜 λΆ„ν• κ°€λŠ₯ν•œ 경우라면, λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λŠ” i) 수직 λ˜λŠ” μˆ˜ν‰ 뢄할이 μ‘΄μž¬ν•˜λŠ”μ§€ μ—¬λΆ€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 정보(예λ₯Ό λ“€μ–΄ '0'은 λ―ΈλΆ„ν• , '1'은 뢄할됨)λ₯Ό ν¬ν•¨ν•˜λ©°, i)의 정보가 '1'κ³Ό 같이 뢄할됨을 κ°€λ¦¬ν‚€λŠ” 경우 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λŠ” μΆ”κ°€μ μœΌλ‘œ ii) 1번 λ³€ν™˜ λͺ¨λ“œ(501)을 μ œμ™Έν•œ λ‚˜λ¨Έμ§€ 후보 λ³€ν™˜ λͺ¨λ“œλ“€μΈ 2, 3, 4, 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 504, 508, 509, 510, 514)μ€‘μ—μ„œ ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό 포함할 수 μžˆλ‹€. If the current block is not divisible in both the vertical and horizontal directions but is divisible in at least one direction, the conversion mode information includes i) information indicating whether a vertical or horizontal division exists (e.g., '0' indicates no division, '1' indicates division), and if the information in i) indicates division as '1', the conversion mode information may additionally include ii) information indicating one of the candidate conversion modes 2, 3, 4, 8, 9, 10, and 14 (502, 503, 504, 508, 509, 510, and 514), excluding conversion mode 1 (501).

λ§Œμ•½, ν˜„μž¬ 블둝이 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯ 쀑 μ–΄λŠ ν•˜λ‚˜μ˜ λ°©ν–₯으둜만 뢄할이 κ°€λŠ₯ν•˜κ³ , ν˜„μž¬ λΈ”λ‘μ˜ 크기 정보에 κΈ°μ΄ˆν•˜μ—¬ ν˜„μž¬ 블둝에 λŒ€ν•˜μ—¬ λΆ„ν•  κ°€λŠ₯ν•œ νšŸμˆ˜κ°€ 1νšŒλ‘œμ„œ μ΅œμ†Œ 횟수의 λΆ„ν• λ§Œ κ°€λŠ₯ν•œ 경우, 후보 λ³€ν™˜ λͺ¨λ“œμ— ν¬ν•¨λœ 1, 2, 3, 4, 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 504, 508, 509, 510, 514) μ€‘μ—μ„œ μˆ˜ν‰ λ°©ν–₯ λ˜λŠ” 수직 λ°©ν–₯으둜 1회의 뢄할이 μˆ˜ν–‰λ˜μ§€ μ•ŠλŠ” λ³€ν™˜ λͺ¨λ“œλŠ” 후보 λ³€ν™˜ λͺ¨λ“œμ—μ„œ μ œμ™Έλ˜κ³ , μˆ˜ν‰ λ°©ν–₯으둜 1회 뢄할이 μˆ˜ν–‰λ˜λŠ” 2번 λ³€ν™˜ λͺ¨λ“œ(502) 및 수직 λ°©ν–₯으둜 1회 뢄할이 μˆ˜ν–‰λ˜λŠ” 8번 λ³€ν™˜ λͺ¨λ“œ(508) 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보가 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œ 섀정될 수 μžˆλ‹€.If the current block can be split only in one of the vertical and horizontal directions, and the number of times the current block can be split is one based on the size information of the current block, and only the minimum number of times the current block can be split, among the conversion modes 1, 2, 3, 4, 8, 9, 10, and 14 (501, 502, 503, 504, 508, 509, 510, and 514) included in the candidate conversion mode, a conversion mode in which no split is performed in the horizontal or vertical direction once is excluded from the candidate conversion mode, and information indicating one of the conversion mode 2 (502) in which a split is performed once in the horizontal direction and the conversion mode 8 (508) in which a split is performed once in the vertical direction can be set as the conversion mode information.

λ§Œμ•½, ν˜„μž¬ 블둝이 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯ 쀑 μ–΄λŠ ν•˜λ‚˜μ˜ λ°©ν–₯으둜만 뢄할이 κ°€λŠ₯ν•˜κ³ , ν˜„μž¬ λΈ”λ‘μ˜ 크기 정보에 κΈ°μ΄ˆν•˜μ—¬ ν˜„μž¬ 블둝에 λŒ€ν•˜μ—¬ λΆ„ν•  κ°€λŠ₯ν•œ νšŸμˆ˜κ°€ 1회 이상인 경우 후보 λ³€ν™˜ λͺ¨λ“œμ— ν¬ν•¨λœ 1, 2, 3, 4, 8, 9, 10, 14번 λ³€ν™˜ λͺ¨λ“œ(501, 502, 503, 504, 508, 509, 510, 514) μ€‘μ—μ„œ μˆ˜ν‰ λ°©ν–₯ λ˜λŠ” 수직 λ°©ν–₯으둜 1회 μ΄μƒμ˜ 뢄할이 μˆ˜ν–‰λ˜μ§€ μ•ŠλŠ” λ³€ν™˜ λͺ¨λ“œλŠ” 후보 λ³€ν™˜ λͺ¨λ“œμ—μ„œ μ œμ™Έλ˜κ³ , 후보 λ³€ν™˜ λͺ¨λ“œλ“€ μ€‘μ—μ„œ μˆ˜ν‰ λ°©ν–₯으둜 1회 μ΄μƒμ˜ 뢄할이 μˆ˜ν–‰λ˜λŠ” 2, 3, 4번 λ³€ν™˜ λͺ¨λ“œ(502, 503, 504) 및 수직 λ°©ν–₯으둜 1회 μ΄μƒμ˜ 뢄할이 μˆ˜ν–‰λ˜λŠ” 8, 9, 10번 λ³€ν™˜ λͺ¨λ“œ(508, 509, 510) 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보가 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œ 섀정될 수 μžˆλ‹€.If the current block can be split in only one of the vertical and horizontal directions, and the number of times the current block can be split is one or more based on the size information of the current block, among the conversion modes 1, 2, 3, 4, 8, 9, 10, and 14 (501, 502, 503, 504, 508, 509, 510, and 514) included in the candidate conversion modes, conversion modes in which at least one division in the horizontal or vertical direction is not performed are excluded from the candidate conversion modes, and information indicating one of the conversion modes 2, 3, and 4 (502, 503, and 504) in which at least one division is performed in the horizontal direction, and the conversion modes 8, 9, and 10 (508, 509, and 510) in which at least one division is performed in the vertical direction among the candidate conversion modes can be set as the conversion mode information.

μ „μˆ ν•œ 바와 같이, λΉ„λ””μ˜€ 인코더(100)λŠ” λ‹€μ–‘ν•œ 방식 쀑 ν•˜λ‚˜μ— 따라 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦Όμ— ν¬ν•¨μ‹œν‚€κ³ , λΉ„λ””μ˜€ 디코더(200)λŠ” λΉ„νŠΈμŠ€νŠΈλ¦Όμ— ν¬ν•¨λœ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό νŒŒμ‹±ν•˜μ—¬ ν˜„μž¬ 블둝에 적용된 λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•  수 μžˆλ‹€.As described above, the video encoder (100) includes transformation mode information of the current block in the bitstream according to one of various methods, and the video decoder (200) can parse the transformation mode information included in the bitstream to determine the transformation mode applied to the current block.

μ „μˆ ν•œ 바와 같이, λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λŠ” unary coding, fixed length coding, variable length coding, exponential golomb codingλ“± λ‹€μ–‘ν•œ λ°©μ‹μœΌλ‘œ 섀정될 수 μžˆλ‹€. 일 μ—λ‘œ, 선택가λŠ₯ν•œ λ³€ν™˜ λͺ¨λ“œλ“€μ˜ κ°œμˆ˜κ°€ N개인 경우, 2^n >=N을 λ§Œμ‘±ν•˜λŠ” μ΅œμ†Œμ˜ n λΉ„νŠΈλ‘œ fixed length μ½”λ”© λ°©μ‹μœΌλ‘œ λ³€ν™˜ λͺ¨λ“œ 정보가 섀정될 수 μžˆλ‹€. λ§Œμ•½ 후보 λ³€ν™˜ λͺ¨λ“œμ˜ κ°œμˆ˜κ°€ 4개인 경우, fixed length μ½”λ”© 방식 μ μš©μ‹œ 4개의 λ³€ν™˜ λͺ¨λ“œ 각각에 λŒ€μ‘λ˜λŠ” '00', '01', '10', '11'κ°€ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œ 섀정될 수 μžˆλ‹€. λ§Œμ•½ 후보 λ³€ν™˜ λͺ¨λ“œμ˜ κ°œμˆ˜κ°€ 4개인 경우, variable length μ½”λ”© 방식 μ μš©μ‹œ 4개의 λ³€ν™˜ λͺ¨λ“œ 각각에 λŒ€μ‘λ˜λŠ” '0', '10', '110', '111'κ°€ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œ 섀정될 수 μžˆλ‹€. 이에 ν•œμ •λ˜μ§€ μ•Šκ³  λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λŠ” λ‹€μ–‘ν•œ μ½”λ”© 방식을 μ μš©ν•˜μ—¬ 섀정될 수 μžˆλ‹€.As described above, the conversion mode information can be set in various ways such as unary coding, fixed length coding, variable length coding, and exponential global coding. For example, when the number of selectable conversion modes is N, the conversion mode information can be set in a fixed length coding method with a minimum of n bits satisfying 2^n >= N. If the number of candidate conversion modes is 4, when the fixed length coding method is applied, '00', '01', '10', and '11' corresponding to each of the four conversion modes can be set as the conversion mode information. If the number of candidate conversion modes is 4, when the variable length coding method is applied, '0', '10', '110', and '111' corresponding to each of the four conversion modes can be set as the conversion mode information. The present invention is not limited thereto, and the conversion mode information can be set by applying various coding methods.

λ˜ν•œ, μ „μˆ ν•œ 바와 같이 λ³€ν™˜ λͺ¨λ“œ 정보 μ „μ†‘μ‹œ μ „μ†‘λ˜λŠ” λΉ„νŠΈμˆ˜λ₯Ό κ°μ†Œμ‹œν‚€κΈ° μœ„ν•˜μ—¬, ν˜„μž¬ λΈ”λ‘μ˜ λΆ€κ°€ μ •λ³΄λ‚˜ μ£Όλ³€ λΈ”λ‘μ˜ 톡계 정보에 κΈ°μ΄ˆν•˜μ—¬ 후보 λ³€ν™˜ λͺ¨λ“œμ— ν¬ν•¨λœ λ³€ν™˜ λͺ¨λ“œλ“€ 쀑 ν˜„μž¬ 블둝에 μ μš©κ°€λŠ₯ν•˜μ§€ μ•Šμ€ λ³€ν™˜ λͺ¨λ“œλ₯Ό μ œκ±°ν•˜μ—¬ μ΅œμ’… 후보 λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜κ³ , κ²°μ •λœ μ΅œμ’… 후보 λ³€ν™˜ λͺ¨λ“œμ— ν¬ν•¨λœ λ³€ν™˜ λͺ¨λ“œ 쀑 ν˜„μž¬ 블둝에 적용된 λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” λ³€ν™˜ λͺ¨λ“œ 정보가 전솑될 수 μžˆλ‹€. μ „μˆ ν•œ 바와 같이, λΆ€κ°€ μ •λ³΄λ‘œμ„œ ν˜„μž¬ ν”„λ ˆμž„ 정보, 슬라이슀 정보, ν˜„μž¬ λΈ”λ‘μ˜ νŒŒν‹°μ…˜λ‹ 정보, ν˜„μž¬ λΈ”λ‘μ˜ 크기, ν˜„μž¬ λΈ”λ‘μ˜ λͺ¨μ–‘, ν˜„μž¬ λΈ”λ‘μ˜ 예츑 λͺ¨λ“œ 정보, ν˜„μž¬ 블둝이 ν¬ν•¨λœ λΆ€λͺ¨ λΈ”λ‘μ˜ νŒŒν‹°μ…˜λ‹ 정보, λΆ€λͺ¨ λΈ”λ‘μ˜ 크기, λΆ€λͺ¨ λΈ”λ‘μ˜ λͺ¨μ–‘, λΆ€λͺ¨ λΈ”λ‘μ˜ 예츑 λͺ¨λ“œ 정보, 상기 ν˜„μž¬ λΈ”λ‘μ˜ μ£Όλ³€ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œ 정보, 상기 ν˜„μž¬ 블둝에 ν¬ν•¨λœ λ³€ν™˜ κ³„μˆ˜μ˜ μ΅œλŒ€κ°’, μ†Œμ • μŠ€μΊλ‹ μˆœμ„œμ— λ”°λ₯Έ 상기 ν˜„μž¬ λΈ”λ‘μ˜ λ§ˆμ§€λ§‰ 0이 μ•„λ‹Œ(non-zero) λ³€ν™˜ κ³„μˆ˜μ˜ μœ„μΉ˜ 등이 이용될 수 μžˆλ‹€.In addition, in order to reduce the number of bits transmitted when transmitting transformation mode information as described above, a final candidate transformation mode may be determined by eliminating transformation modes that are not applicable to the current block among the transformation modes included in the candidate transformation modes based on the additional information of the current block or the statistical information of the surrounding blocks, and transformation mode information indicating the transformation mode applied to the current block among the transformation modes included in the determined final candidate transformation mode may be transmitted. As described above, as additional information, current frame information, slice information, partitioning information of the current block, the size of the current block, the shape of the current block, prediction mode information of the current block, partitioning information of the parent block including the current block, the size of the parent block, the shape of the parent block, prediction mode information of the parent block, transformation mode information of the surrounding blocks of the current block, the maximum value of the transformation coefficient included in the current block, the position of the last non-zero transformation coefficient of the current block according to a predetermined scanning order, etc. may be used.

일 μ‹€μ‹œμ˜ˆμ— μžˆμ–΄μ„œ 예둜, λ‹€μŒκ³Ό 같이 μ†Œμ • 쑰건에 λ”°λΌμ„œ ν˜„μž¬ 블둝에 μ μš©κ°€λŠ₯ν•œ λ³€ν™˜ λͺ¨λ“œλŠ” μ œν•œλ˜κ±°λ‚˜ νŠΉμ • λ³€ν™˜ λͺ¨λ“œκ°€ μ œμ™Έλ  수 μžˆλ‹€. In one embodiment, for example, the transformation modes applicable to the current block may be limited or certain transformation modes may be excluded depending on certain conditions, as follows.

- ν˜„μž¬ λΈ”λ‘μ˜ 크기가 CTU λ˜λŠ” μ΅œλŒ€ 크기의 CU와 λ™μΌν•œ 경우 ν˜„μž¬ 뢄할을 4λΆ„ν• ν•˜λŠ” 제 14 λ³€ν™˜ λͺ¨λ“œ(514)κ°€ ν—ˆμš©λ˜λ©°, λ‚˜λ¨Έμ§€ κ²½μš°μ—λŠ” 제 14 λ³€ν™˜ λͺ¨λ“œ(514)κ°€ ν—ˆμš©λ˜μ§€ μ•Šλ„λ‘ 섀정될 수 μžˆλ‹€.- If the size of the current block is equal to the CTU or the maximum size of the CU, the 14th transformation mode (514) that divides the current partition into four is allowed, and in other cases, the 14th transformation mode (514) can be set not to be allowed.

- ν˜„μž¬ λΈ”λ‘μ˜ 폭 λ˜λŠ” 높이 쀑 μž‘μ€ λ³€μ˜ 길이가 μ΅œμ†Œ λ³€ν™˜ κ°€λŠ₯ 길이와 같은 경우, ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜μ„ μœ„ν•˜μ—¬ 뢄할이 μˆ˜ν–‰λ˜μ§€ μ•ŠλŠ” κ²ƒμœΌλ‘œ 섀정될 수 μžˆλ‹€. 즉, ν˜„μž¬ λΈ”λ‘μ˜ 폭 λ˜λŠ” 높이 쀑 μž‘μ€ λ³€μ˜ 길이가 μ΅œμ†Œ λ³€ν™˜ κ°€λŠ₯ 길이와 같은 경우, 제 1 λ³€ν™˜ λͺ¨λ“œ(501)만이 ν—ˆμš©λ˜λ„λ‘ 섀정될 수 μžˆλ‹€.- If the length of the smaller side of the width or height of the current block is equal to the minimum convertible length, it may be set that no splitting is performed for the conversion of the current block. That is, if the length of the smaller side of the width or height of the current block is equal to the minimum convertible length, only the first conversion mode (501) may be set to be allowed.

- ν˜„μž¬ λΈ”λ‘μ˜ 폭 λ˜λŠ” 높이 쀑 μž‘μ€ λ³€μ˜ 길이가 μ†Œμ • 길이(예λ₯Ό λ“€μ–΄ 4 λ˜λŠ” 8 λ“±) 이상일 κ²½μš°μ—λ§Œ ν˜„μž¬ 블둝이 λΆ„ν• λ˜λŠ” λ³€ν™˜ λͺ¨λ“œλ“€μ΄ ν—ˆμš©λ˜λ„λ‘ 섀정될 수 μžˆλ‹€.- Transformation modes can be set to allow the current block to be split only if the length of the smaller side of the width or height of the current block is greater than or equal to a predetermined length (e.g., 4 or 8).

- ν˜„μž¬ 블둝에 μ†ν•˜λŠ” 총 ν”½μ…€μ˜ κ°œμˆ˜κ°€ μ†Œμ • 개수 이상일 κ²½μš°μ—λ§Œ ν˜„μž¬ 블둝이 λΆ„ν• λ˜λŠ” λ³€ν™˜ λͺ¨λ“œλ“€μ΄ ν—ˆμš©λ˜λ„λ‘ 섀정될 수 μžˆλ‹€.- Transformation modes can be set to allow the current block to be split only when the total number of pixels belonging to the current block is greater than or equal to a predetermined number.

- ν˜„μž¬ λΈ”λ‘μ˜ 크기가 λΉ„λ””μ˜€ 인코더(100)λ‚˜ λΉ„λ””μ˜€ 디코더(200)μ—μ„œ 처리 과정에 μ΄μš©λ˜λŠ” 데이터 λ‹¨μœ„μΈ ν”„λ‘œμ„Έμ‹± λ‹¨μœ„(processing unit)의 크기보닀 크면, ν”„λ‘œμ„Έμ‹± λ‹¨μœ„μ˜ 크기 μ΄ν•˜μΈ λ³€ν™˜ 블둝을 μ΄μš©ν•˜λŠ” λ³€ν™˜ λͺ¨λ“œλ§Œμ΄ ν—ˆμš©λ˜λ„λ‘ 섀정될 수 μžˆλ‹€.- If the size of the current block is larger than the size of a processing unit, which is a data unit used in a processing process in a video encoder (100) or a video decoder (200), only a conversion mode using a conversion block smaller than the size of the processing unit may be set to be allowed.

- ν˜„μž¬ 블둝이 μ†Œμ • 경계 쑰건(boundary condition)에 ν•΄λ‹Ήν•  경우, 경계 쑰건에 따라 μˆ˜ν–‰λ  수 μ—†λŠ” λ³€ν™˜ λͺ¨λ“œλŠ” ν—ˆμš©λ˜μ§€ μ•Šλ„λ‘ 섀정될 수 μžˆλ‹€.- If the current block corresponds to a given boundary condition, the transformation mode that cannot be performed according to the boundary condition can be set to not be allowed.

μ΄λŸ¬ν•œ μ†Œμ • 쑰건의 μΆ©μ‘± 여뢀에 λ”°λΌμ„œ ν˜„μž¬ 블둝에 μ μš©κ°€λŠ₯ν•œ 후보 λ³€ν™˜ λͺ¨λ“œλ₯Ό μ΅œμ’…μ μœΌλ‘œ κ²°μ •ν•  수 μžˆλ‹€.Depending on whether these conditions are met, the candidate transformation mode applicable to the current block can be finally determined.

ν•œνŽΈ, λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό 코딩을 μœ„ν•œ μ»¨ν…μŠ€νŠΈ λͺ¨λΈμ€ ν˜„μž¬ 블둝과 κ΄€λ ¨λœ λΆ€κ°€ 정보에 κΈ°μ΄ˆν•˜μ—¬ ꡬ성될 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, μ»¨ν…μŠ€νŠΈ λͺ¨λΈμ€ ν˜„μž¬ ν”„λ ˆμž„ 정보, 슬라이슀 정보, ν˜„μž¬ λΈ”λ‘μ˜ νŒŒν‹°μ…˜λ‹ 정보, ν˜„μž¬ λΈ”λ‘μ˜ 크기, ν˜„μž¬ λΈ”λ‘μ˜ λͺ¨μ–‘, ν˜„μž¬ λΈ”λ‘μ˜ 예츑 λͺ¨λ“œ 정보, ν˜„μž¬ 블둝이 ν¬ν•¨λœ λΆ€λͺ¨ λΈ”λ‘μ˜ νŒŒν‹°μ…˜λ‹ 정보, λΆ€λͺ¨ λΈ”λ‘μ˜ 크기, λΆ€λͺ¨ λΈ”λ‘μ˜ λͺ¨μ–‘, λΆ€λͺ¨ λΈ”λ‘μ˜ 예츑 λͺ¨λ“œ 정보, 상기 ν˜„μž¬ λΈ”λ‘μ˜ μ£Όλ³€ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œ 정보, 상기 ν˜„μž¬ 블둝에 ν¬ν•¨λœ λ³€ν™˜ κ³„μˆ˜μ˜ μ΅œλŒ€κ°’, μ†Œμ • μŠ€μΊλ‹ μˆœμ„œμ— λ”°λ₯Έ 상기 ν˜„μž¬ λΈ”λ‘μ˜ λ§ˆμ§€λ§‰ 0이 μ•„λ‹Œ(non-zero) λ³€ν™˜ κ³„μˆ˜μ˜ μœ„μΉ˜ λ“±μ˜ λΆ€κ°€ 정보에 κΈ°μ΄ˆν•˜μ—¬ ꡬ성될 수 μžˆλ‹€.Meanwhile, a context model for coding transformation mode information can be constructed based on additional information related to the current block. For example, the context model can be constructed based on additional information such as current frame information, slice information, partitioning information of the current block, size of the current block, shape of the current block, prediction mode information of the current block, partitioning information of a parent block including the current block, size of the parent block, shape of the parent block, prediction mode information of the parent block, transformation mode information of a neighboring block of the current block, maximum value of a transformation coefficient included in the current block, and position of the last non-zero transformation coefficient of the current block according to a predetermined scanning order.

예λ₯Ό λ“€μ–΄, ν˜„μž¬ λΈ”λ‘μ˜ 크기에 κΈ°μ΄ˆν•˜μ—¬ ν¬κΈ°λ³„λ‘œ μ„œλ‘œ λ‹€λ₯Έ μ»¨ν…μŠ€νŠΈ λͺ¨λΈμ„ ꡬ성할 수 μžˆλ‹€. 일 예둜, 8x8 미만의 크기λ₯Ό κ°–λŠ” 블둝듀, 8x8 이상 16x16 미만의 크기의 블둝듀, 16x16 이상 32x32 미만의 크기의 블둝듀, 32x32 μ΄μƒμ˜ λΈ”λ‘λ“€λ‘œ λΆ„λ₯˜ν•˜μ—¬ 각 λΆ„λ₯˜λ‹Ή μ„œλ‘œ λ‹€λ₯Έ μ»¨ν…μŠ€νŠΈ λͺ¨λΈμ„ ꡬ성할 수 μžˆλ‹€.For example, different context models can be configured based on the size of the current block. For example, blocks can be classified into categories such as blocks with a size less than 8x8, blocks with a size greater than or equal to 8x8 but less than 16x16, blocks with a size greater than or equal to 16x16 but less than 32x32, and blocks with a size greater than or equal to 32x32, and a different context model can be configured for each category.

λ˜ν•œ, μ£Όλ³€ λΈ”λ‘μ—μ„œ μ‚¬μš©λœ λ³€ν™˜ λͺ¨λ“œλ₯Ό 기반으둜 μ»¨ν…μŠ€νŠΈ λͺ¨λΈμ„ ꡬ성할 수 μžˆλ‹€. 쒌츑 블둝, 상츑 λΈ”λ‘μ˜ μ„ νƒλœ λͺ¨λ“œλ₯Ό 기반으둜 μ»¨ν…μŠ€νŠΈ λͺ¨λΈμ„ κ΅¬μ„±ν•˜κ³  이λ₯Ό λ°”νƒ•μœΌλ‘œ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό μ½”λ”©ν•  수 μžˆλ‹€. 또 λ‹€λ₯Έ 예둜 λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό κ΅¬μ„±ν•˜λŠ” μ‹ νƒμŠ€ μ‚¬μ΄μ˜ 연관성을 ν™œμš©ν•˜μ—¬, 이전에 μ‚¬μš©λœ μ‹ νƒμŠ€μ˜ 정보λ₯Ό λ°”νƒ•μœΌλ‘œ λ’€μͺ½ μ‹ νƒμŠ€λ₯Ό μœ„ν•œ μ»¨ν…μŠ€νŠΈ λͺ¨λΈμ„ κ΅¬μ„±ν•˜κ³  이λ₯Ό λ°”νƒ•μœΌλ‘œ λ’€μͺ½ μ‹ νƒμŠ€λ₯Ό μ½”λ”©ν•  수 μžˆλ‹€.Additionally, a context model can be constructed based on the transformation modes used in surrounding blocks. A context model can be constructed based on the selected modes of the left and upper blocks, and transformation mode information can be coded based on this. Another example is the association between syntaxes that constitute transformation mode information. By leveraging the association between syntaxes, a context model for subsequent syntaxes can be constructed based on information from previously used syntaxes, and subsequent syntaxes can be coded based on this context model.

도 6은 λ³Έ κ°œμ‹œμ˜ 일 μ‹€μ‹œμ˜ˆμ— λ”°λ₯Έ λΉ„λ””μ˜€ λΆ€ν˜Έν™” λ°©λ²•μ˜ ν”Œλ‘œμš° μ°¨νŠΈμ΄λ‹€.FIG. 6 is a flowchart of a video encoding method according to one embodiment of the present disclosure.

도 6을 μ°Έμ‘°ν•˜λ©΄, λΉ„λ””μ˜€ 인코더(100)λŠ” μ „μˆ ν•œ 도 3a, 3b 등에 μ˜ˆμ‹œλœ 블둝 νŒŒν‹°μ…”λ‹ ꡬ쑰에 κΈ°μ΄ˆν•˜μ—¬, 더 이상 λΆ„ν• λ˜μ§€ μ•ŠλŠ” 리프 λ…Έλ“œμΈ CUλ₯Ό κ²°μ •ν•˜κ³  CU λ‹¨μœ„λ‘œ 예츑 및 λ³€ν™˜μ„ μˆ˜ν–‰ν•  수 μžˆλ‹€. Referring to FIG. 6, the video encoder (100) can determine a CU, which is a leaf node that is no longer divided, based on the block partitioning structure exemplified in FIGS. 3a, 3b, etc. described above, and perform prediction and transformation on a CU basis.

λΉ„λ””μ˜€ 인코더(100)λŠ” λ³€ν™˜μ„ μˆ˜ν–‰ν•˜κΈ° μœ„ν•˜μ—¬ μ „μˆ ν•œ 도 5에 μ˜ˆμ‹œλœ 볡수 개의 후보 λ³€ν™˜ λͺ¨λ“œλ“€ 쀑 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜μ— μ΄μš©κ°€λŠ₯ν•œ 적어도 ν•˜λ‚˜μ˜ 후보 λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•œλ‹€(S610). μ „μˆ ν•œ 바와 같이, 볡수 개의 후보 λ³€ν™˜ λͺ¨λ“œλ“€μ€ ν˜„μž¬ 블둝과 λ™μΌν•œ 크기의 λ³€ν™˜ 블둝을 μ΄μš©ν•˜λŠ” λ³€ν™˜ λͺ¨λ“œ, ν˜„μž¬ 블둝을 μˆ˜ν‰ λ°©ν–₯ 및 수직 λ°©ν–₯ 쀑 적어도 ν•˜λ‚˜μ˜ λ°©ν–₯으둜 μ†Œμ • λΉ„μœ¨λ‘œ λΆ„ν• ν•˜μ—¬ νšλ“λ˜λŠ” λ³€ν™˜ 블둝을 μ΄μš©ν•˜λŠ” λ³€ν™˜ λͺ¨λ“œλ₯Ό 포함할 수 μžˆλ‹€. λΉ„λ””μ˜€ 인코더(100)λŠ” μ „μˆ ν•œ λΆ€κ°€ μ •λ³΄λ‚˜ μ£Όλ³€ 블둝에 μ‚¬μš©λœ λ³€ν™˜ λͺ¨λ“œμ˜ 톡계 정보에 κΈ°μ΄ˆν•˜μ—¬, 후보 λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•  수 μžˆλ‹€. λ˜ν•œ, λΉ„λ””μ˜€ 인코더(100)λŠ” μ‹œν€€μŠ€, GOP, 픽쳐, 슬라이슀, CTU, CU, TU λ‹¨μœ„ 쀑 적어도 ν•˜λ‚˜μ˜ λ‹¨μœ„ λ³„λ‘œ 후보 λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜κ³ , μ‹œν€€μŠ€, GOP, 픽쳐, 슬라이슀, CTU, CU, TU λ‹¨μœ„ 쀑 적어도 ν•˜λ‚˜μ˜ λ‹¨μœ„ λ³„λ‘œ 지원가λŠ₯ν•œ λ³€ν™˜ λͺ¨λ“œ 지원 정보λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦Όμ— λΆ€κ°€ν•  수 μžˆλ‹€.The video encoder (100) determines at least one candidate transformation mode available for transformation of the current block from among the plurality of candidate transformation modes illustrated in FIG. 5 described above to perform transformation (S610). As described above, the plurality of candidate transformation modes may include a transformation mode that uses a transformation block of the same size as the current block, and a transformation mode that uses a transformation block obtained by dividing the current block at a predetermined ratio in at least one of the horizontal and vertical directions. The video encoder (100) may determine the candidate transformation mode based on the aforementioned additional information or statistical information of the transformation mode used in the surrounding blocks. In addition, the video encoder (100) may determine the candidate transformation mode for at least one unit among a sequence, a GOP, a picture, a slice, a CTU, a CU, and a TU unit, and may add transformation mode support information that can be supported for at least one unit among a sequence, a GOP, a picture, a slice, a CTU, a CU, and a TU unit to the bitstream.

그리고, λΉ„λ””μ˜€ 인코더(100)λŠ” 적어도 ν•˜λ‚˜μ˜ 후보 λ³€ν™˜ λͺ¨λ“œ 쀑 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜μ— 적용된 λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•œλ‹€(S620). ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜μ— 적용된 λ³€ν™˜ λͺ¨λ“œλŠ” λΆ€κ°€ 정보에 κΈ°μ΄ˆν•˜μ—¬ μ•”μ‹œμ μœΌλ‘œ μ„€μ •λ˜κ±°λ‚˜, λͺ…μ‹œμ μœΌλ‘œ ν˜„μž¬ 블둝에 적용된 λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” 정보가 포함될 수 μžˆλ‹€. ν˜„μž¬ 블둝에 적용된 λ³€ν™˜ λͺ¨λ“œλŠ” μ „μˆ ν•œ λ‹€μ–‘ν•œ μ‹€μ‹œμ˜ˆλ“€ 쀑 ν•˜λ‚˜μ— λ”°λΌμ„œ μ‹œκ·Έλ„λ§λ  수 있으며, ꡬ체적인 μ„€λͺ…은 μƒλž΅ν•œλ‹€.Then, the video encoder (100) determines the transformation mode applied to the transformation of the current block from among at least one candidate transformation mode (S620). The transformation mode applied to the transformation of the current block may be implicitly set based on additional information, or may include information explicitly indicating the transformation mode applied to the current block. The transformation mode applied to the current block may be signaled according to one of the various embodiments described above, and a detailed description thereof will be omitted.

λΉ„λ””μ˜€ 인코더(100)λŠ” κ²°μ •λœ λ³€ν™˜ λͺ¨λ“œμ— κΈ°μ΄ˆν•˜μ—¬ ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜μ— μ΄μš©λ˜λŠ” λ³€ν™˜ 블둝을 κ²°μ •ν•˜κ³ (S630), λ³€ν™˜ 블둝 λ‹¨μœ„λ‘œ ν˜„μž¬ 블둝에 λŒ€ν•œ λ³€ν™˜μ„ μˆ˜ν–‰ν•œλ‹€(S640).The video encoder (100) determines a transformation block to be used for transformation of the current block based on the determined transformation mode (S630), and performs transformation for the current block in units of transformation blocks (S640).

도 7은 λ³Έ κ°œμ‹œμ˜ 일 μ‹€μ‹œμ˜ˆμ— λ”°λ₯Έ λΉ„λ””μ˜€ λ³΅ν˜Έν™” λ°©λ²•μ˜ ν”Œλ‘œμš° μ°¨νŠΈμ΄λ‹€.FIG. 7 is a flow chart of a video decoding method according to one embodiment of the present disclosure.

도 7을 μ°Έμ‘°ν•˜λ©΄, λΉ„λ””μ˜€ 디코더(200)λŠ” λΉ„νŠΈμŠ€νŠΈλ¦Όμ— ν¬ν•¨λœ 블둝 νŒŒν‹°μ…”λ‹ 정보에 κΈ°μ΄ˆν•˜μ—¬, 더 이상 λΆ„ν• λ˜μ§€ μ•ŠλŠ” 리프 λ…Έλ“œμΈ CUλ₯Ό κ²°μ •ν•˜κ³  CU λ‹¨μœ„λ‘œ 예츑 및 μ—­λ³€ν™˜ 과정을 μˆ˜ν–‰ν•  수 μžˆλ‹€. Referring to FIG. 7, the video decoder (200) can determine a CU, which is a leaf node that is no longer divided, based on block partitioning information included in the bitstream, and perform prediction and inverse transformation processes on a CU basis.

λΉ„λ””μ˜€ 인코더(200)λŠ” μ—­λ³€ν™˜μ„ μˆ˜ν–‰ν•˜κΈ° μœ„ν•˜μ—¬ μ „μˆ ν•œ 도 5에 μ˜ˆμ‹œλœ 볡수 개의 후보 λ³€ν™˜ λͺ¨λ“œλ“€ 쀑 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜μ— μ΄μš©κ°€λŠ₯ν•œ 적어도 ν•˜λ‚˜μ˜ 후보 λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•œλ‹€(S710). μ „μˆ ν•œ 바와 같이, 볡수 개의 후보 λ³€ν™˜ λͺ¨λ“œλ“€μ€ ν˜„μž¬ 블둝과 λ™μΌν•œ 크기의 λ³€ν™˜ 블둝을 μ΄μš©ν•˜λŠ” λ³€ν™˜ λͺ¨λ“œ, ν˜„μž¬ 블둝을 μˆ˜ν‰ λ°©ν–₯ 및 수직 λ°©ν–₯ 쀑 적어도 ν•˜λ‚˜μ˜ λ°©ν–₯으둜 μ†Œμ • λΉ„μœ¨λ‘œ λΆ„ν• ν•˜μ—¬ νšλ“λ˜λŠ” λ³€ν™˜ 블둝을 μ΄μš©ν•˜λŠ” λ³€ν™˜ λͺ¨λ“œλ₯Ό 포함할 수 μžˆλ‹€. λΉ„λ””μ˜€ 디코더(200)λŠ” μ „μˆ ν•œ λΆ€κ°€ μ •λ³΄λ‚˜ μ£Όλ³€ 블둝에 μ‚¬μš©λœ λ³€ν™˜ λͺ¨λ“œμ˜ 톡계 정보에 κΈ°μ΄ˆν•˜μ—¬, 후보 λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•  수 μžˆλ‹€. λ˜ν•œ, λΉ„λ””μ˜€ 디코더(200)λŠ” μ‹œν€€μŠ€, GOP, 픽쳐, 슬라이슀, CTU, CU, TU λ‹¨μœ„ 쀑 적어도 ν•˜λ‚˜μ˜ λ‹¨μœ„ λ³„λ‘œ 지원가λŠ₯ν•œ λ³€ν™˜ λͺ¨λ“œ 지원 정보λ₯Ό λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° νšλ“ν•˜κ³ , λ³€ν™˜ λͺ¨λ“œ 지원 정보에 κΈ°μ΄ˆν•˜μ—¬ μ‹œν€€μŠ€, GOP, 픽쳐, 슬라이슀, CTU, CU, TU λ‹¨μœ„ 쀑 적어도 ν•˜λ‚˜μ˜ λ‹¨μœ„ λ³„λ‘œ 후보 λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•  수 μžˆλ‹€.The video encoder (200) determines at least one candidate transformation mode available for transformation of the current block from among the plurality of candidate transformation modes illustrated in FIG. 5 described above in order to perform inverse transformation (S710). As described above, the plurality of candidate transformation modes may include a transformation mode that uses a transformation block of the same size as the current block, and a transformation mode that uses a transformation block obtained by dividing the current block at a predetermined ratio in at least one of the horizontal and vertical directions. The video decoder (200) may determine the candidate transformation mode based on the statistical information of the transformation mode used in the aforementioned additional information or the surrounding blocks. In addition, the video decoder (200) may obtain transformation mode support information that can be supported for at least one unit among a sequence, a GOP, a picture, a slice, a CTU, a CU, and a TU unit from a bitstream, and determine the candidate transformation mode for at least one unit among a sequence, a GOP, a picture, a slice, a CTU, a CU, and a TU unit based on the transformation mode support information.

그리고, λΉ„λ””μ˜€ 디코더(200)λŠ” 적어도 ν•˜λ‚˜μ˜ 후보 λ³€ν™˜ λͺ¨λ“œ 쀑 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜μ— 적용된 λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•œλ‹€(S720). ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜μ— 적용된 λ³€ν™˜ λͺ¨λ“œλŠ” λΆ€κ°€ 정보에 κΈ°μ΄ˆν•˜μ—¬ μ•”μ‹œμ μœΌλ‘œ μ„€μ •λ˜κ±°λ‚˜, λͺ…μ‹œμ μœΌλ‘œ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— ν¬ν•¨λœ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œλΆ€ν„° 섀정될 수 μžˆλ‹€. ν˜„μž¬ 블둝에 적용된 λ³€ν™˜ λͺ¨λ“œλŠ” μ „μˆ ν•œ λ‹€μ–‘ν•œ μ‹€μ‹œμ˜ˆλ“€ 쀑 ν•˜λ‚˜μ— λ”°λΌμ„œ μ‹œκ·Έλ„λ§λ  수 있으며, ꡬ체적인 μ„€λͺ…은 μƒλž΅ν•œλ‹€.Then, the video decoder (200) determines the transformation mode applied to the transformation of the current block among at least one candidate transformation mode (S720). The transformation mode applied to the transformation of the current block may be implicitly set based on additional information, or explicitly set from transformation mode information included in the bitstream. The transformation mode applied to the current block may be signaled according to one of the various embodiments described above, and a detailed description thereof will be omitted.

λΉ„λ””μ˜€ 디코더(200)λŠ” κ²°μ •λœ λ³€ν™˜ λͺ¨λ“œμ— κΈ°μ΄ˆν•˜μ—¬ ν˜„μž¬ λΈ”λ‘μ˜ μ—­λ³€ν™˜μ— μ΄μš©λ˜λŠ” λ³€ν™˜ 블둝을 κ²°μ •ν•˜κ³ (S730), λ³€ν™˜ 블둝 λ‹¨μœ„λ‘œ ν˜„μž¬ 블둝에 λŒ€ν•œ μ—­λ³€ν™˜μ„ μˆ˜ν–‰ν•œλ‹€(S740).The video decoder (200) determines a transformation block to be used for inverse transformation of the current block based on the determined transformation mode (S730), and performs inverse transformation for the current block in units of transformation blocks (S740).

λ³Έ λͺ…μ„Έμ„œμ—μ„œ μƒμˆ ν•œ 방법듀은 λΉ„λ””μ˜€ 인코더 λ˜λŠ” λΉ„λ””μ˜€ λ””μ½”λ”μ˜ ν”„λ‘œμ„Έμ„œλ₯Ό 톡해 μˆ˜ν–‰λ  수 μžˆλ‹€. λ˜ν•œ, μΈμ½”λ”λŠ” λΉ„λ””μ˜€ μ‹ ν˜Έ 처리 방법에 μ˜ν•΄ λ””μ½”λ”©λ˜λŠ” λΉ„νŠΈμŠ€νŠΈλ¦Όμ„ 생성할 수 있으며, 인코더가 μƒμ„±ν•œ λΉ„νŠΈμŠ€νŠΈλ¦Όμ€ 컴퓨터 νŒλ… κ°€λŠ₯ν•œ λΉ„ μΌμ‹œμ  μ €μž₯ 맀체(기둝 맀체)에 μ €μž₯될 수 μžˆλ‹€.The methods described herein may be performed by a processor of a video encoder or video decoder. Furthermore, the encoder may generate a bitstream that is decoded by a video signal processing method, and the bitstream generated by the encoder may be stored in a computer-readable, non-transitory storage medium (recording medium).

μƒμˆ ν•œ λ³Έ 발λͺ…μ˜ μ‹€μ‹œμ˜ˆλ“€μ€ λ‹€μ–‘ν•œ μˆ˜λ‹¨μ„ 톡해 κ΅¬ν˜„λ  수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, λ³Έ 발λͺ…μ˜ μ‹€μ‹œμ˜ˆλ“€μ€ ν•˜λ“œμ›¨μ–΄, νŽŒμ›¨μ–΄(firmware), μ†Œν”„νŠΈμ›¨μ–΄ λ˜λŠ” κ·Έλ“€μ˜ κ²°ν•© 등에 μ˜ν•΄ κ΅¬ν˜„λ  수 μžˆλ‹€.The embodiments of the present invention described above may be implemented through various means. For example, the embodiments of the present invention may be implemented using hardware, firmware, software, or a combination thereof.

일뢀 μ‹€μ‹œμ˜ˆλŠ” 컴퓨터에 μ˜ν•΄ μ‹€ν–‰λ˜λŠ” ν”„λ‘œκ·Έλž¨ λͺ¨λ“ˆκ³Ό 같은 컴퓨터에 μ˜ν•΄ μ‹€ν–‰κ°€λŠ₯ν•œ λͺ…λ Ήμ–΄λ₯Ό ν¬ν•¨ν•˜λŠ” 기둝 맀체의 ν˜•νƒœλ‘œλ„ κ΅¬ν˜„λ  수 μžˆλ‹€. 컴퓨터 νŒλ… κ°€λŠ₯ λ§€μ²΄λŠ” 컴퓨터에 μ˜ν•΄ μ•‘μ„ΈμŠ€λ  수 μžˆλŠ” μž„μ˜μ˜ κ°€μš© 맀체일 수 있고, νœ˜λ°œμ„± 및 λΉ„νœ˜λ°œμ„± 맀체, λΆ„λ¦¬ν˜• 및 λΉ„λΆ„λ¦¬ν˜• 맀체λ₯Ό λͺ¨λ‘ ν¬ν•¨ν•œλ‹€.Some embodiments may also be implemented in the form of a computer-executable storage medium containing computer-executable instructions, such as program modules executed by a computer. Computer-readable media may be any available media that can be accessed by a computer, and includes both volatile and nonvolatile media, removable and non-removable media.

λ˜ν•œ, 컴퓨터 νŒλ… κ°€λŠ₯ λ§€μ²΄λŠ” 컴퓨터 μ €μž₯ 맀체 및 톡신 맀체λ₯Ό λͺ¨λ‘ 포함할 수 μžˆλ‹€. 컴퓨터 μ €μž₯ λ§€μ²΄λŠ” 컴퓨터 νŒλ…κ°€λŠ₯ λͺ…λ Ήμ–΄, 데이터 ꡬ쑰, ν”„λ‘œκ·Έλž¨ λͺ¨λ“ˆ λ˜λŠ” 기타 데이터와 같은 μ •λ³΄μ˜ μ €μž₯을 μœ„ν•œ μž„μ˜μ˜ 방법 λ˜λŠ” 기술둜 κ΅¬ν˜„λœ νœ˜λ°œμ„± 및 λΉ„νœ˜λ°œμ„±, λΆ„λ¦¬ν˜• 및 λΉ„λΆ„λ¦¬ν˜• 맀체λ₯Ό λͺ¨λ‘ ν¬ν•¨ν•œλ‹€. 톡신 λ§€μ²΄λŠ” μ „ν˜•μ μœΌλ‘œ 컴퓨터 νŒλ…κ°€λŠ₯ λͺ…λ Ήμ–΄, 데이터 ꡬ쑰 λ˜λŠ” ν”„λ‘œκ·Έλž¨ λͺ¨λ“ˆκ³Ό 같은 λ³€μ‘°λœ 데이터 μ‹ ν˜Έμ˜ 기타 데이터, λ˜λŠ” 기타 전솑 λ©”μ»€λ‹ˆμ¦˜μ„ ν¬ν•¨ν•˜λ©°, μž„μ˜μ˜ 정보 전달 맀체λ₯Ό ν¬ν•¨ν•œλ‹€.Additionally, computer-readable media may include both computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storing information, such as computer-readable instructions, data structures, program modules, or other data. Communication media typically includes other data, such as computer-readable instructions, data structures, or program modules, in a modulated data signal, or other transport mechanism, and includes any information delivery media.

λ˜ν•œ, μ΄μƒμ—μ„œλŠ” λ³Έ 발λͺ…μ˜ λ°”λžŒμ§ν•œ μ‹€μ‹œμ˜ˆμ— λŒ€ν•˜μ—¬ λ„μ‹œν•˜κ³  μ„€λͺ…ν•˜μ˜€μ§€λ§Œ, λ³Έ 발λͺ…은 μƒμˆ ν•œ νŠΉμ •μ˜ μ‹€μ‹œμ˜ˆμ— ν•œμ •λ˜μ§€ μ•„λ‹ˆν•˜λ©°, μ²­κ΅¬λ²”μœ„μ—μ„œ μ²­κ΅¬ν•˜λŠ” λ³Έ 발λͺ…μ˜ μš”μ§€λ₯Ό 벗어남이 없이 λ‹Ήν•΄ 발λͺ…이 μ†ν•˜λŠ” κΈ°μˆ λΆ„μ•Όμ—μ„œ ν†΅μƒμ˜ 지식을 κ°€μ§„ μžμ— μ˜ν•΄ λ‹€μ–‘ν•œ λ³€ν˜• μ‹€μ‹œκ°€ κ°€λŠ₯ν•œ 것은 물둠이고, μ΄λŸ¬ν•œ λ³€ν˜• μ‹€μ‹œλ“€μ€ λ³Έ 발λͺ…μ˜ 기술적 μ‚¬μƒμ΄λ‚˜ μ „λ§μœΌλ‘œλΆ€ν„° κ°œλ³„μ μœΌλ‘œ μ΄ν•΄λ˜μ–΄μ Έμ„œλŠ” μ•ˆ 될 것이닀.In addition, although the preferred embodiments of the present invention have been illustrated and described above, the present invention is not limited to the specific embodiments described above, and various modifications can be implemented by a person having ordinary skill in the art to which the present invention pertains without departing from the gist of the present invention claimed in the claims, and such modifications should not be understood individually from the technical idea or prospect of the present invention.

Claims (18)

λΉ„λ””μ˜€ λ³΅ν˜Έν™” 방법에 μžˆμ–΄μ„œ,In a video decryption method, 볡수 개의 후보 λ³€ν™˜ λͺ¨λ“œλ“€ 쀑 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜μ— μ΄μš©κ°€λŠ₯ν•œ 적어도 ν•˜λ‚˜μ˜ 후보 λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜λŠ” 단계;A step of determining at least one candidate transformation mode available for transformation of the current block among a plurality of candidate transformation modes; 상기 적어도 ν•˜λ‚˜μ˜ 후보 λ³€ν™˜ λͺ¨λ“œ 쀑 상기 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜μ— 적용된 λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜λŠ” 단계; A step of determining a transformation mode applied to the transformation of the current block among the at least one candidate transformation mode; 상기 κ²°μ •λœ λ³€ν™˜ λͺ¨λ“œμ— κΈ°μ΄ˆν•˜μ—¬ 상기 ν˜„μž¬ λΈ”λ‘μ˜ μ—­λ³€ν™˜μ— μ΄μš©λ˜λŠ” λ³€ν™˜ 블둝을 κ²°μ •ν•˜λŠ” 단계; 및A step of determining a transformation block used for the inverse transformation of the current block based on the determined transformation mode; and 상기 λ³€ν™˜ 블둝 λ‹¨μœ„λ‘œ 상기 ν˜„μž¬ 블둝에 λŒ€ν•œ μ—­λ³€ν™˜μ„ μˆ˜ν–‰ν•˜λŠ” 단계λ₯Ό ν¬ν•¨ν•˜λŠ”, λΉ„λ””μ˜€ λ³΅ν˜Έν™” 방법.A video decoding method, comprising a step of performing an inverse transformation on the current block in units of the above transformation blocks. 제 1항에 μžˆμ–΄μ„œ,In paragraph 1, 상기 볡수 개의 후보 λ³€ν™˜ λͺ¨λ“œλ“€μ€ The above multiple candidate conversion modes are 상기 ν˜„μž¬ 블둝과 λ™μΌν•œ 크기의 λ³€ν™˜ 블둝을 μ΄μš©ν•˜λŠ” λ³€ν™˜ λͺ¨λ“œ, 상기 ν˜„μž¬ 블둝을 μˆ˜ν‰ λ°©ν–₯ 및 수직 λ°©ν–₯ 쀑 적어도 ν•˜λ‚˜μ˜ λ°©ν–₯으둜 μ†Œμ • λΉ„μœ¨λ‘œ λΆ„ν• ν•˜μ—¬ νšλ“λ˜λŠ” λ³€ν™˜ 블둝을 μ΄μš©ν•˜λŠ” λ³€ν™˜ λͺ¨λ“œλ₯Ό ν¬ν•¨ν•˜λŠ”, λΉ„λ””μ˜€ λ³΅ν˜Έν™” 방법.A video decoding method, comprising: a transformation mode using a transformation block of the same size as the current block; and a transformation mode using a transformation block obtained by dividing the current block in at least one of a horizontal direction and a vertical direction at a predetermined ratio. 제 1항에 μžˆμ–΄μ„œ,In paragraph 1, 상기 볡수 개의 후보 λ³€ν™˜ λͺ¨λ“œλ“€μ€ The above multiple candidate conversion modes are 상기 ν˜„μž¬ 블둝을 μˆ˜ν‰ λ°©ν–₯ 및 수직 λ°©ν–₯ 쀑 적어도 ν•˜λ‚˜μ˜ λ°©ν–₯으둜 1:A (AλŠ” μžμ—°μˆ˜)의 λΉ„μœ¨λ‘œ 2λΆ„ν• ν•˜κ±°λ‚˜, 1:1:B(BλŠ” μžμ—°μˆ˜)의 λΉ„μœ¨λ‘œ 3λΆ„ν• ν•˜κ±°λ‚˜, 1:C:1(CλŠ” μžμ—°μˆ˜)의 λΉ„μœ¨λ‘œ 3λΆ„ν• ν•˜κ±°λ‚˜, D:1:1 (DλŠ” μžμ—°μˆ˜)의 λΉ„μœ¨λ‘œ 3λΆ„ν• ν•˜κ±°λ‚˜, 1:1:1:1의 λΉ„μœ¨λ‘œ 4λΆ„ν• ν•˜μ—¬ νšλ“λ˜λŠ” λ³€ν™˜ 블둝을 μ΄μš©ν•˜λŠ” λ³€ν™˜ λͺ¨λ“œλ₯Ό ν¬ν•¨ν•˜λŠ”, λΉ„λ””μ˜€ λ³΅ν˜Έν™” 방법.A video decoding method comprising a transform mode using a transform block obtained by dividing the current block into two parts in a ratio of 1:A (A is a natural number) in at least one of the horizontal and vertical directions, into three parts in a ratio of 1:1:B (B is a natural number), into three parts in a ratio of 1:C:1 (C is a natural number), into three parts in a ratio of D:1:1 (D is a natural number), or into four parts in a ratio of 1:1:1:1. 제 1항에 μžˆμ–΄μ„œ,In paragraph 1, 상기 볡수 개의 후보 λ³€ν™˜ λͺ¨λ“œλ“€μ€ The above multiple candidate conversion modes are 상기 ν˜„μž¬ λΈ”λ‘μ˜ 폭(width) 및 높이(height)와 λ™μΌν•œ 폭과 높이λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝을 μ΄μš©ν•˜λŠ” 제 1 λ³€ν™˜ λͺ¨λ“œ, A first transformation mode using a transformation block having the same width and height as the width and height of the current block; 상기 ν˜„μž¬ 블둝을 μˆ˜ν‰ λ°©ν–₯으둜 2λΆ„ν• ν•œ 2개의 width x height/2의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝듀을 μ΄μš©ν•˜λŠ” 제 2 λ³€ν™˜ λͺ¨λ“œ, 상기 ν˜„μž¬ 블둝을 μˆ˜ν‰ λ°©ν–₯으둜 4λΆ„ν• ν•œ 4개의 width x height/4의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝듀을 μ΄μš©ν•˜λŠ” 제 3 λ³€ν™˜ λͺ¨λ“œ, 상기 ν˜„μž¬ 블둝을 μˆ˜ν‰ λ°©ν–₯으둜 1:2:1의 λΉ„μœ¨λ‘œ 3λΆ„ν• ν•˜μ—¬ 2개의 width x height/4의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝듀 및 1개의 width x height/2의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝을 μ΄μš©ν•˜λŠ” 제 4 λ³€ν™˜ λͺ¨λ“œ, 상기 ν˜„μž¬ 블둝을 μˆ˜ν‰ λ°©ν–₯으둜 1:1:2의 λΉ„μœ¨λ‘œ 3λΆ„ν• ν•˜μ—¬ 2개의 width x height/4의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝듀 및 1개의 width x height/2의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝을 μ΄μš©ν•˜λŠ” 제 5 λ³€ν™˜ λͺ¨λ“œ, 상기 ν˜„μž¬ 블둝을 μˆ˜ν‰ λ°©ν–₯으둜 2:1:1의 λΉ„μœ¨λ‘œ 3λΆ„ν• ν•˜μ—¬ 2개의 width x height/4의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝듀 및 1개의 width x height/2의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝을 μ΄μš©ν•˜λŠ” 제 6 λ³€ν™˜ λͺ¨λ“œ, 상기 ν˜„μž¬ 블둝을 μˆ˜ν‰ λ°©ν–₯으둜 1:2:1의 λΉ„μœ¨λ‘œ 3λΆ„ν• ν•˜μ—¬ λΆ„ν• λœ 2개의 width x height/4의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝듀 및 width x height/2의 블둝을 λ‹€μ‹œ 수직 λ°©ν–₯으둜 2λΆ„ν• ν•œ 2개의 width/2 x height/2의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝듀을 μ΄μš©ν•˜λŠ” 제 7 λ³€ν™˜ λͺ¨λ“œ,A second transformation mode using two transformation blocks having a size of width x height/2 that horizontally divide the current block into two, a third transformation mode using four transformation blocks having a size of width x height/4 that horizontally divide the current block into four, a fourth transformation mode using two transformation blocks having a size of width x height/4 and one transformation block having a size of width x height/2 that horizontally divide the current block into three at a ratio of 1:2:1, a fifth transformation mode using two transformation blocks having a size of width x height/4 and one transformation block having a size of width x height/2 that horizontally divide the current block into three at a ratio of 1:1:2, a sixth transformation mode using two transformation blocks having a size of width x height/4 and one transformation block having a size of width x height/2 that horizontally divide the current block into three at a ratio of 2:1:1, A seventh transformation mode using two transformation blocks each having a size of width x height/4 divided into three parts in a ratio of 1:2:1 and two transformation blocks each having a size of width/2 x height/2 divided into two parts vertically again from a block each having a size of width x height/2. 상기 ν˜„μž¬ 블둝을 수직 λ°©ν–₯으둜 2λΆ„ν• ν•œ 2개의 width/2 x height의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝듀을 μ΄μš©ν•˜λŠ” 제 8 λ³€ν™˜ λͺ¨λ“œ, 상기 ν˜„μž¬ 블둝을 수직 λ°©ν–₯으둜 4λΆ„ν• ν•œ 4개의 width/4 x height의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝듀을 μ΄μš©ν•˜λŠ” 제 9 λ³€ν™˜ λͺ¨λ“œ, 상기 ν˜„μž¬ 블둝을 수직 λ°©ν–₯으둜 1:2:1의 λΉ„μœ¨λ‘œ 3λΆ„ν• ν•œ 2개의 width/4 x height의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝듀 및 1개의 width/2 x height의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝을 μ΄μš©ν•˜λŠ” 제 10 λ³€ν™˜ λͺ¨λ“œ, 상기 ν˜„μž¬ 블둝을 수직 λ°©ν–₯으둜 1:1:2의 λΉ„μœ¨λ‘œ 3λΆ„ν• ν•œ 2개의 width/4 x height의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝듀 및 1개의 width/2 x height의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝을 μ΄μš©ν•˜λŠ” 제 11 λ³€ν™˜ λͺ¨λ“œ, 상기 ν˜„μž¬ 블둝을 수직 λ°©ν–₯으둜 2:1:1의 λΉ„μœ¨λ‘œ 3λΆ„ν• ν•œ 2개의 width/4 x height의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝듀 및 1개의 width/2 x height의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝을 μ΄μš©ν•˜λŠ” 제 12 λ³€ν™˜ λͺ¨λ“œ, 상기 ν˜„μž¬ 블둝을 수직 λ°©ν–₯으둜 1:2:1의 λΉ„μœ¨λ‘œ 3λΆ„ν• ν•˜μ—¬ λΆ„ν• λœ 2개의 width x height/4의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝듀 및 width x height/2의 블둝을 λ‹€μ‹œ 수직 λ°©ν–₯으둜 2λΆ„ν• ν•œ 2개의 width/2 x height/2의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝듀을 μ΄μš©ν•˜λŠ” 제 13 λ³€ν™˜ λͺ¨λ“œ, 및An eighth transformation mode using two transformation blocks having a size of width/2 x height that vertically divide the current block into two, a ninth transformation mode using four transformation blocks having a size of width/4 x height that vertically divide the current block into four, a tenth transformation mode using two transformation blocks having a size of width/4 x height that vertically divide the current block into three parts at a ratio of 1:2:1 and one transformation block having a size of width/2 x height, an eleventh transformation mode using two transformation blocks having a size of width/4 x height that vertically divide the current block into three parts at a ratio of 1:1:2 and one transformation block having a size of width/2 x height, a twelfth transformation mode using two transformation blocks having a size of width/4 x height that vertically divide the current block into three parts at a ratio of 2:1:1 and one transformation block having a size of width/2 x height, A 13th transformation mode using two transformation blocks each having a size of width x height/4 divided into three parts in a ratio of 1:2:1 and two transformation blocks each having a size of width/2 x height/2 divided into two parts vertically again from a block each having a size of width x height/2, and 상기 ν˜„μž¬ 블둝을 μˆ˜ν‰ λ°©ν˜• 및 수직 λ°©ν–₯으둜 2λΆ„ν• ν•œ 4개의 width/2 x height/2의 크기λ₯Ό κ°–λŠ” λ³€ν™˜ 블둝듀을 μ΄μš©ν•˜λŠ” 제 14 λ³€ν™˜ λͺ¨λ“œ 쀑 적어도 ν•˜λ‚˜μ˜ λͺ¨λ“œλ₯Ό ν¬ν•¨ν•˜λŠ”, λΉ„λ””μ˜€ λ³΅ν˜Έν™” 방법.A video decoding method comprising at least one of the 14 transformation modes using four transformation blocks having a size of width/2 x height/2 that divide the current block into two in the horizontal and vertical directions. 제 1항에 μžˆμ–΄μ„œ,In paragraph 1, 상기 ν˜„μž¬ λΈ”λ‘μ˜ μ—­λ³€ν™˜μ— μ΄μš©κ°€λŠ₯ν•œ 적어도 ν•˜λ‚˜μ˜ 후보 λ³€ν™˜ λͺ¨λ“œλŠ” μ‹œν€€μŠ€, GOP, 픽쳐, 슬라이슀, CTU, CU, TU λ‹¨μœ„ 쀑 적어도 ν•˜λ‚˜μ˜ λ‹¨μœ„ λ³„λ‘œ κ²°μ •λ˜λ©°,At least one candidate transformation mode available for the inverse transformation of the current block is determined for at least one unit among a sequence, a GOP, a picture, a slice, a CTU, a CU, and a TU unit, 상기 적어도 ν•˜λ‚˜μ˜ 후보 λ³€ν™˜ λͺ¨λ“œλŠ” ν˜„μž¬ ν”„λ ˆμž„ 정보, 슬라이슀 정보, ν˜„μž¬ λΈ”λ‘μ˜ νŒŒν‹°μ…”λ‹ 정보, ν˜„μž¬ λΈ”λ‘μ˜ 크기, ν˜„μž¬ λΈ”λ‘μ˜ λͺ¨μ–‘, ν˜„μž¬ λΈ”λ‘μ˜ 예츑 λͺ¨λ“œ 정보, ν˜„μž¬ 블둝이 ν¬ν•¨λœ λΆ€λͺ¨ λΈ”λ‘μ˜ νŒŒν‹°μ…”λ‹ 정보, λΆ€λͺ¨ λΈ”λ‘μ˜ 크기, λΆ€λͺ¨ λΈ”λ‘μ˜ λͺ¨μ–‘, λΆ€λͺ¨ λΈ”λ‘μ˜ 예츑 λͺ¨λ“œ 정보, 상기 ν˜„μž¬ λΈ”λ‘μ˜ μ£Όλ³€ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œ 정보, 상기 ν˜„μž¬ 블둝에 ν¬ν•¨λœ λ³€ν™˜ κ³„μˆ˜μ˜ μ΅œλŒ€κ°’, μ†Œμ • μŠ€μΊλ‹ μˆœμ„œμ— λ”°λ₯Έ 상기 ν˜„μž¬ λΈ”λ‘μ˜ λ§ˆμ§€λ§‰ 0이 μ•„λ‹Œ(non-zero) λ³€ν™˜ κ³„μˆ˜μ˜ μœ„μΉ˜ 쀑 적어도 ν•˜λ‚˜μ— κΈ°μ΄ˆν•˜μ—¬ κ²°μ •λ˜λŠ”, λΉ„λ””μ˜€ λ³΅ν˜Έν™” 방법.A video decoding method, wherein the at least one candidate transformation mode is determined based on at least one of current frame information, slice information, partitioning information of the current block, the size of the current block, the shape of the current block, prediction mode information of the current block, partitioning information of a parent block including the current block, the size of the parent block, the shape of the parent block, prediction mode information of the parent block, transformation mode information of a neighboring block of the current block, the maximum value of a transformation coefficient included in the current block, and the position of the last non-zero transformation coefficient of the current block according to a predetermined scanning order. 제 1항에 μžˆμ–΄μ„œ,In paragraph 1, 상기 ν˜„μž¬ λΈ”λ‘μ˜ μ—­λ³€ν™˜μ— μ΄μš©κ°€λŠ₯ν•œ 적어도 ν•˜λ‚˜μ˜ 후보 λ³€ν™˜ λͺ¨λ“œλŠ” μ‹œν€€μŠ€, GOP, 픽쳐, 슬라이슀, CTU, CU, TU λ‹¨μœ„ 쀑 적어도 ν•˜λ‚˜μ˜ λ‹¨μœ„ λ³„λ‘œ μ‹œκ·Έλ„λ§λ˜λŠ” λ³€ν™˜ λͺ¨λ“œ 지원 정보에 κΈ°μ΄ˆν•˜μ—¬ κ²°μ •λ˜λŠ”, λΉ„λ””μ˜€ λ³΅ν˜Έν™” 방법.A video decoding method, wherein at least one candidate transformation mode available for the inverse transformation of the current block is determined based on transformation mode support information signaled for at least one unit among a sequence, a GOP, a picture, a slice, a CTU, a CU, and a TU unit. 제 1항에 μžˆμ–΄μ„œ,In paragraph 1, 상기 ν˜„μž¬ λΈ”λ‘μ˜ μ—­λ³€ν™˜μ— μ΄μš©κ°€λŠ₯ν•œ 적어도 ν•˜λ‚˜μ˜ 후보 λ³€ν™˜ λͺ¨λ“œλŠ” μ‹œν€€μŠ€, GOP, 픽쳐, 슬라이슀, CTU, CU, TU λ‹¨μœ„ 쀑 적어도 ν•˜λ‚˜μ˜ λ‹¨μœ„ λ³„λ‘œ μ‹œκ·Έλ„λ§λ˜λŠ” λ³€ν™˜ λͺ¨λ“œ 지원 정보에 κΈ°μ΄ˆν•˜μ—¬ λͺ…μ‹œμ μœΌλ‘œ κ²°μ •λ˜λŠ” 후보 λ³€ν™˜ λͺ¨λ“œλ“€ μ€‘μ—μ„œ, λΆ€κ°€ 정보에 κΈ°μ΄ˆν•˜μ—¬ μ΅œμ’…μ μΈ 후보 λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜λ©°,At least one candidate transformation mode available for the inverse transformation of the current block is explicitly determined based on transformation mode support information signaled for at least one unit among a sequence, a GOP, a picture, a slice, a CTU, a CU, and a TU unit, and a final candidate transformation mode is determined based on additional information. 상기 λΆ€κ°€ μ •λ³΄λŠ” ν˜„μž¬ ν”„λ ˆμž„ 정보, 슬라이슀 정보, ν˜„μž¬ λΈ”λ‘μ˜ νŒŒν‹°μ…”λ‹ 정보, ν˜„μž¬ λΈ”λ‘μ˜ 크기, ν˜„μž¬ λΈ”λ‘μ˜ λͺ¨μ–‘, ν˜„μž¬ λΈ”λ‘μ˜ 예츑 λͺ¨λ“œ 정보, ν˜„μž¬ 블둝이 ν¬ν•¨λœ λΆ€λͺ¨ λΈ”λ‘μ˜ νŒŒν‹°μ…”λ‹ 정보, λΆ€λͺ¨ λΈ”λ‘μ˜ 크기, λΆ€λͺ¨ λΈ”λ‘μ˜ λͺ¨μ–‘, λΆ€λͺ¨ λΈ”λ‘μ˜ 예츑 λͺ¨λ“œ 정보, 상기 ν˜„μž¬ λΈ”λ‘μ˜ μ£Όλ³€ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œ 정보, 상기 ν˜„μž¬ 블둝에 ν¬ν•¨λœ λ³€ν™˜ κ³„μˆ˜μ˜ μ΅œλŒ€κ°’, μ†Œμ • μŠ€μΊλ‹ μˆœμ„œμ— λ”°λ₯Έ 상기 ν˜„μž¬ λΈ”λ‘μ˜ λ§ˆμ§€λ§‰ 0이 μ•„λ‹Œ(non-zero) λ³€ν™˜ κ³„μˆ˜μ˜ μœ„μΉ˜ 쀑 적어도 ν•˜λ‚˜μΈ, λΉ„λ””μ˜€ λ³΅ν˜Έν™” 방법.A video decoding method, wherein the above-mentioned additional information is at least one of current frame information, slice information, partitioning information of the current block, the size of the current block, the shape of the current block, prediction mode information of the current block, partitioning information of the parent block including the current block, the size of the parent block, the shape of the parent block, prediction mode information of the parent block, transform mode information of the surrounding blocks of the current block, the maximum value of the transform coefficient included in the current block, and the position of the last non-zero transform coefficient of the current block according to a predetermined scanning order. 제 1항에 μžˆμ–΄μ„œ,In paragraph 1, 상기 ν˜„μž¬ λΈ”λ‘μ˜ μ—­λ³€ν™˜μ— 적용된 λ³€ν™˜ λͺ¨λ“œλŠ” ν˜„μž¬ ν”„λ ˆμž„ 정보, 슬라이슀 정보, ν˜„μž¬ λΈ”λ‘μ˜ νŒŒν‹°μ…”λ‹ 정보, ν˜„μž¬ λΈ”λ‘μ˜ 크기, ν˜„μž¬ λΈ”λ‘μ˜ λͺ¨μ–‘, ν˜„μž¬ λΈ”λ‘μ˜ 예츑 λͺ¨λ“œ 정보, ν˜„μž¬ 블둝이 ν¬ν•¨λœ λΆ€λͺ¨ λΈ”λ‘μ˜ νŒŒν‹°μ…”λ‹ 정보, λΆ€λͺ¨ λΈ”λ‘μ˜ 크기, λΆ€λͺ¨ λΈ”λ‘μ˜ λͺ¨μ–‘, λΆ€λͺ¨ λΈ”λ‘μ˜ 예츑 λͺ¨λ“œ 정보, 상기 ν˜„μž¬ λΈ”λ‘μ˜ μ£Όλ³€ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œ 정보, 상기 ν˜„μž¬ 블둝에 ν¬ν•¨λœ λ³€ν™˜ κ³„μˆ˜μ˜ μ΅œλŒ€κ°’, μ†Œμ • μŠ€μΊλ‹ μˆœμ„œμ— λ”°λ₯Έ 상기 ν˜„μž¬ λΈ”λ‘μ˜ λ§ˆμ§€λ§‰ 0이 μ•„λ‹Œ(non-zero) λ³€ν™˜ κ³„μˆ˜μ˜ μœ„μΉ˜ 쀑 적어도 ν•˜λ‚˜μ— κΈ°μ΄ˆν•˜μ—¬ 상기 적어도 ν•˜λ‚˜μ˜ 후보 λ³€ν™˜ λͺ¨λ“œ μ€‘μ—μ„œ κ²°μ •λ˜λŠ”, λΉ„λ””μ˜€ λ³΅ν˜Έν™” 방법.A video decoding method, wherein the transformation mode applied to the inverse transformation of the current block is determined from among the at least one candidate transformation mode based on at least one of current frame information, slice information, partitioning information of the current block, the size of the current block, the shape of the current block, prediction mode information of the current block, partitioning information of a parent block including the current block, the size of the parent block, the shape of the parent block, prediction mode information of the parent block, transformation mode information of a neighboring block of the current block, the maximum value of a transformation coefficient included in the current block, and the position of the last non-zero transformation coefficient of the current block according to a predetermined scanning order. 제 1항에 μžˆμ–΄μ„œ,In paragraph 1, 상기 ν˜„μž¬ λΈ”λ‘μ˜ μ—­λ³€ν™˜μ— 적용된 λ³€ν™˜ λͺ¨λ“œλŠ” μ‹œν€€μŠ€, GOP, 픽쳐, 슬라이슀, CTU, CU, TU λ‹¨μœ„ 쀑 적어도 ν•˜λ‚˜μ˜ λ‹¨μœ„ λ³„λ‘œ μ‹œκ·Έλ„λ§λ˜λŠ” λ³€ν™˜ λͺ¨λ“œ 정보에 κΈ°μ΄ˆν•˜μ—¬ κ²°μ •λ˜λŠ” 상기 적어도 ν•˜λ‚˜μ˜ 후보 λ³€ν™˜ λͺ¨λ“œ μ€‘μ—μ„œ κ²°μ •λ˜λŠ”, λΉ„λ””μ˜€ λ³΅ν˜Έν™” 방법.A video decoding method, wherein the transformation mode applied to the inverse transformation of the current block is determined from among at least one candidate transformation mode based on transformation mode information signaled for at least one unit among a sequence, a GOP, a picture, a slice, a CTU, a CU, and a TU unit. 제 1항에 μžˆμ–΄μ„œ,In paragraph 1, 상기 ν˜„μž¬ λΈ”λ‘μ˜ μ—­λ³€ν™˜μ— 적용된 λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜λŠ” λ‹¨κ³„λŠ”The step of determining the transformation mode applied to the inverse transformation of the current block above is 상기 ν˜„μž¬ λΈ”λ‘μ˜ 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성을 νŒλ‹¨ν•˜λŠ” 단계;A step of determining the vertical divisibility and horizontal divisibility of the current block; 상기 ν˜„μž¬ λΈ”λ‘μ˜ 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성에 κΈ°μ΄ˆν•˜μ—¬ λΉ„νŠΈμŠ€νŠΈλ¦Όμ— λ³€ν™˜ λͺ¨λ“œ μ •λ³΄μ˜ 의미(semantics)λ₯Ό μ‹λ³„ν•˜κ³ , 상기 λ³€ν™˜ λͺ¨λ“œ 정보에 κΈ°μ΄ˆν•˜μ—¬ 상기 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜λŠ” 단계λ₯Ό ν¬ν•¨ν•˜λŠ”, λΉ„λ””μ˜€ λ³΅ν˜Έν™” 방법.A video decoding method comprising the step of identifying semantics of transformation mode information in a bitstream based on vertical divisibility and horizontal divisibility of the current block, and determining a transformation mode of the current block based on the transformation mode information. 제 10항에 μžˆμ–΄μ„œ,In paragraph 10, 상기 ν˜„μž¬ 블둝이 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯으둜 λͺ¨λ‘ λΆ„ν•  κ°€λŠ₯ν•œ 경우, 상기 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λŠ” 상기 후보 λ³€ν™˜ λͺ¨λ“œλ“€ μ€‘μ—μ„œ ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 인덱슀 정보이며,If the current block above is divisible in both vertical and horizontal directions, the conversion mode information is index information pointing to one of the candidate conversion modes, 상기 ν˜„μž¬ 블둝이 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯ 쀑 ν•˜λ‚˜μ˜ λ°©ν–₯으둜만 λΆ„ν•  κ°€λŠ₯ν•œ 경우, 상기 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λŠ” i) 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯ 쀑 상기 ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  λ°©ν–₯을 κ°€λ¦¬ν‚€λŠ” 정보, 및 ii) 상기 λΆ„ν•  λ°©ν–₯에 λ”°λ₯Έ λΆ„ν•  μ—¬λΆ€λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό ν¬ν•¨ν•˜λ©°,If the current block can be divided in only one of the vertical and horizontal directions, the conversion mode information includes i) information indicating the division direction of the current block among the vertical and horizontal directions, and ii) information indicating whether to divide according to the division direction. 상기 ν˜„μž¬ 블둝이 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯ 쀑 μ–΄λŠ λ°©ν–₯μœΌλ‘œλ„ λΆ„ν•  κ°€λŠ₯ν•˜μ§€ μ•Šμ€ 경우, 상기 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λŠ” 상기 λΉ„νŠΈμŠ€νŠΈλ¦Όμ— ν¬ν•¨λ˜μ§€ μ•ŠμœΌλ©° 상기 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ 블둝은 상기 ν˜„μž¬ 블둝과 λ™μΌν•œ 크기 및 λͺ¨μ–‘을 κ°–λŠ” κ²ƒμœΌλ‘œ κ²°μ •λ˜λŠ”, λΉ„λ””μ˜€ λ³΅ν˜Έν™” 방법.A video decoding method, wherein if the current block is not divisible in either the vertical or horizontal direction, the transformation mode information is not included in the bitstream and the transformation block of the current block is determined to have the same size and shape as the current block. 제 10항에 μžˆμ–΄μ„œ,In paragraph 10, 상기 ν˜„μž¬ 블둝이 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯으둜 λͺ¨λ‘ λΆ„ν•  κ°€λŠ₯ν•œ 경우, 상기 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λŠ” 상기 후보 λ³€ν™˜ λͺ¨λ“œλ“€ μ€‘μ—μ„œ ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 인덱슀 정보이며,If the current block above is divisible in both vertical and horizontal directions, the conversion mode information is index information pointing to one of the candidate conversion modes, 상기 ν˜„μž¬ 블둝이 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯ 쀑 ν•˜λ‚˜μ˜ λ°©ν–₯으둜만 λΆ„ν•  κ°€λŠ₯ν•œ 경우, 상기 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λŠ” i) 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯ 쀑 상기 ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  λ°©ν–₯을 κ°€λ¦¬ν‚€λŠ” 정보, 및 ii) 상기 λΆ„ν•  κ°€λŠ₯ν•œ λ°©ν–₯에 따라 μ μš©κ°€λŠ₯ν•œ 볡수 개의 λ³€ν™˜ λͺ¨λ“œ 쀑 ν•˜λ‚˜μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό ν¬ν•¨ν•˜λ©°,If the current block can be divided in only one direction among the vertical direction and the horizontal direction, the conversion mode information includes i) information indicating a division direction of the current block among the vertical direction and the horizontal direction, and ii) information indicating one conversion mode among a plurality of applicable conversion modes according to the division direction. 상기 ν˜„μž¬ 블둝이 수직 λ°©ν–₯ 및 μˆ˜ν‰ λ°©ν–₯ 쀑 μ–΄λŠ λ°©ν–₯μœΌλ‘œλ„ λΆ„ν•  κ°€λŠ₯ν•˜μ§€ μ•Šμ€ 경우, 상기 λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λŠ” 상기 λΉ„νŠΈμŠ€νŠΈλ¦Όμ— ν¬ν•¨λ˜μ§€ μ•ŠμœΌλ©° 상기 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ 블둝은 상기 ν˜„μž¬ 블둝과 λ™μΌν•œ 크기 및 λͺ¨μ–‘을 κ°–λŠ” κ²ƒμœΌλ‘œ κ²°μ •λ˜λŠ”, λΉ„λ””μ˜€ λ³΅ν˜Έν™” 방법.A video decoding method, wherein if the current block is not divisible in either the vertical or horizontal direction, the transformation mode information is not included in the bitstream and the transformation block of the current block is determined to have the same size and shape as the current block. 제 1항에 μžˆμ–΄μ„œ,In paragraph 1, 상기 ν˜„μž¬ λΈ”λ‘μ˜ μ—­λ³€ν™˜μ— 적용된 λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜λŠ” λ‹¨κ³„λŠ”The step of determining the transformation mode applied to the inverse transformation of the current block above is 상기 ν˜„μž¬ λΈ”λ‘μ˜ 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성을 νŒλ‹¨ν•˜λŠ” 단계;A step of determining the vertical divisibility and horizontal divisibility of the current block; 상기 νŒλ‹¨λœ 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성에 κΈ°μ΄ˆν•˜μ—¬, 상기 ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  및 μˆ˜ν‰ λ°©ν–₯ 뢄할이 λͺ¨λ‘ λΆˆκ°€λŠ₯ν•˜κ³  λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° νšλ“λœ λ³€ν™˜ λͺ¨λ“œ 정보가 상기 ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ§€ μ•ŠμŒμ„ 가리킬 경우, 상기 ν˜„μž¬ 블둝과 λ™μΌν•œ 크기 및 λͺ¨μ–‘을 κ°–λŠ” λ³€ν™˜ 블둝을 μ΄μš©ν•˜λ©° 상기 ν˜„μž¬ 블둝을 λΆ„ν• ν•˜μ§€ μ•ŠλŠ” λ³€ν™˜ λͺ¨λ“œλ₯Ό 상기 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ‘œ κ²°μ •ν•˜λŠ” 단계; Based on the determined vertical direction splitting possibility and horizontal direction splitting possibility, if the current block is arbitrarily incapable of both vertical direction splitting and horizontal direction splitting and the transformation mode information obtained from the bitstream indicates that the current block is not split, a step of using a transformation block having the same size and shape as the current block and determining a transformation mode that does not split the current block as the transformation mode of the current block; 상기 ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  λ˜λŠ” μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  쀑 ν•˜λ‚˜μ˜ λ°©ν–₯으둜 λΆ„ν• κ°€λŠ₯ν•˜λ©°, 상기 λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° νšλ“λœ λ³€ν™˜ λͺ¨λ“œ μ •λ³΄λ‘œλΆ€ν„° 상기 수직 λ°©ν–₯ λΆ„ν•  λ˜λŠ” μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  쀑 λΆ„ν•  κ°€λŠ₯ν•œ ν•˜λ‚˜μ˜ λ°©ν–₯으둜 λΆ„ν• λ˜λŠ” 후보 예츑 λͺ¨λ“œλ“€ 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό νšλ“ν•˜λŠ” 단계; 및A step of obtaining information indicating one of candidate prediction modes in which the current block is arbitrarily divisible in one of vertical or horizontal directions, and in which the current block is divisible in one of the vertical or horizontal directions from transformation mode information obtained from the bitstream; and 상기 후보 예츑 λͺ¨λ“œλ“€ 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보에 κΈ°μ΄ˆν•˜μ—¬ 상기 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜λŠ” 단계λ₯Ό ν¬ν•¨ν•˜λŠ”, λΉ„λ””μ˜€ λ³΅ν˜Έν™” 방법.A video decoding method comprising the step of determining a transformation mode of the current block based on information indicating one of the candidate prediction modes. 제 1항에 μžˆμ–΄μ„œ,In paragraph 1, 상기 ν˜„μž¬ λΈ”λ‘μ˜ μ—­λ³€ν™˜μ— 적용된 λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜λŠ” λ‹¨κ³„λŠ”The step of determining the transformation mode applied to the inverse transformation of the current block above is 상기 ν˜„μž¬ λΈ”λ‘μ˜ 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„±κ³Ό 상기 ν˜„μž¬ λΈ”λ‘μ˜ λΆ„ν•  κ°€λŠ₯ 횟수λ₯Ό νŒλ‹¨ν•˜λŠ” 단계;A step of determining the vertical divisibility and horizontal divisibility of the current block and the number of times the current block can be divided; 상기 νŒλ‹¨λœ 수직 λ°©ν–₯ λΆ„ν•  κ°€λŠ₯μ„± 및 μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  κ°€λŠ₯성에 κΈ°μ΄ˆν•˜μ—¬, 상기 ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  및 μˆ˜ν‰ λ°©ν–₯ 뢄할이 λͺ¨λ‘ λΆˆκ°€λŠ₯ν•˜κ³  λΉ„νŠΈμŠ€νŠΈλ¦ΌμœΌλ‘œλΆ€ν„° νšλ“λœ λ³€ν™˜ λͺ¨λ“œ 정보가 상기 ν˜„μž¬ 블둝이 λΆ„ν• λ˜μ§€ μ•ŠμŒμ„ 가리킬 경우, 상기 ν˜„μž¬ 블둝과 λ™μΌν•œ 크기 및 λͺ¨μ–‘을 κ°–λŠ” λ³€ν™˜ 블둝을 μ΄μš©ν•˜λ©° 상기 ν˜„μž¬ 블둝을 λΆ„ν• ν•˜μ§€ μ•ŠλŠ” λ³€ν™˜ λͺ¨λ“œλ₯Ό 상기 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ‘œ κ²°μ •ν•˜λŠ” 단계; Based on the determined vertical direction splitting possibility and horizontal direction splitting possibility, if the current block is arbitrarily incapable of both vertical direction splitting and horizontal direction splitting and the transformation mode information obtained from the bitstream indicates that the current block is not split, a step of using a transformation block having the same size and shape as the current block and determining a transformation mode that does not split the current block as the transformation mode of the current block; 상기 ν˜„μž¬ 블둝이 μž„μ˜μ μœΌλ‘œ 수직 λ°©ν–₯ λΆ„ν•  λ˜λŠ” μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  쀑 ν•˜λ‚˜μ˜ λ°©ν–₯으둜 λΆ„ν• κ°€λŠ₯ν•œ 경우, 상기 λΆ„ν•  κ°€λŠ₯ νšŸμˆ˜μ— κΈ°μ΄ˆν•˜μ—¬ 상기 수직 λ°©ν–₯ λΆ„ν•  λ˜λŠ” μˆ˜ν‰ λ°©ν–₯ λΆ„ν•  쀑 λΆ„ν•  κ°€λŠ₯ν•œ ν•˜λ‚˜μ˜ λ°©ν–₯으둜 λΆ„ν• λ˜λŠ” 후보 예츑 λͺ¨λ“œλ“€ 쀑 상기 λΆ„ν•  횟수λ₯Ό μ΄ˆκ³Όν•˜λŠ” λ³€ν™˜ λͺ¨λ“œλ₯Ό μ œμ™Έν•˜κ³ , λ‚˜λ¨Έμ§€ 후보 예츑 λͺ¨λ“œλ“€ 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보λ₯Ό νšλ“ν•˜λŠ” 단계; 및When the current block is arbitrarily divisible in one of the vertical direction divisions or horizontal direction divisions, a step of obtaining information indicating one of the remaining candidate prediction modes, excluding a transformation mode that exceeds the number of divisions among candidate prediction modes that are divided in one of the vertical direction divisions or horizontal direction divisions based on the number of divisions possible; and 상기 λ‚˜λ¨Έμ§€ 후보 예츑 λͺ¨λ“œλ“€ 쀑 ν•˜λ‚˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 정보에 κΈ°μ΄ˆν•˜μ—¬ 상기 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜λŠ” 단계λ₯Ό ν¬ν•¨ν•˜λŠ”, λΉ„λ””μ˜€ λ³΅ν˜Έν™” 방법.A video decoding method comprising the step of determining a transformation mode of the current block based on information indicating one of the remaining candidate prediction modes. 제 1항에 μžˆμ–΄μ„œ,In paragraph 1, 상기 ν˜„μž¬ λΈ”λ‘μ˜ μ—­λ³€ν™˜μ— μ΄μš©κ°€λŠ₯ν•œ 적어도 ν•˜λ‚˜μ˜ 후보 λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜λŠ” λ‹¨κ³„λŠ”The step of determining at least one candidate transformation mode available for the inverse transformation of the current block is 상기 ν˜„μž¬ λΈ”λ‘μ˜ 크기와 μ†Œμ • 데이터 λ‹¨μœ„μ˜ 크기의 비ꡐ κ²°κ³Ό, 상기 ν˜„μž¬ λΈ”λ‘μ˜ 폭과 높이 쀑 μž‘μ€ λ³€μ˜ 길이, 상기 ν˜„μž¬ 블둝에 ν¬ν•¨λœ ν”½μ…€μ˜ 총 개수, 상기 ν˜„μž¬ λΈ”λ‘μ˜ 크기와 처리 λ‹¨μœ„(processing unit)의 크기의 비ꡐ κ²°κ³Ό, 상기 ν˜„μž¬ 블둝이 μ†Œμ • 경계 쑰건에 ν•΄λ‹Ήν•˜λŠ”μ§€ μ—¬λΆ€ 쀑 적어도 ν•˜λ‚˜μ— κΈ°μ΄ˆν•˜μ—¬ μ†Œμ • 후보 λ³€ν™˜ λͺ¨λ“œλ₯Ό μ œν•œν•˜κ±°λ‚˜ 상기 ν˜„μž¬ λΈ”λ‘μ˜ μ—­λ³€ν™˜μ„ μœ„ν•œ 뢄할을 μˆ˜ν–‰ν•˜μ§€ μ•ŠλŠ”, λΉ„λ””μ˜€ λ³΅ν˜Έν™” 방법.A video decoding method, wherein a predetermined candidate transformation mode is limited or segmentation for inverse transformation of the current block is not performed based on at least one of a result of comparing the size of the current block and the size of a predetermined data unit, the length of a smaller side among the width and height of the current block, the total number of pixels included in the current block, a result of comparing the size of the current block and the size of a processing unit, and whether the current block satisfies a predetermined boundary condition. 제 1항에 μžˆμ–΄μ„œ,In paragraph 1, ν˜„μž¬ ν”„λ ˆμž„ 정보, 슬라이슀 정보, ν˜„μž¬ λΈ”λ‘μ˜ νŒŒν‹°μ…”λ‹ 정보, ν˜„μž¬ λΈ”λ‘μ˜ 크기, ν˜„μž¬ λΈ”λ‘μ˜ λͺ¨μ–‘, ν˜„μž¬ λΈ”λ‘μ˜ 예츑 λͺ¨λ“œ 정보, ν˜„μž¬ 블둝이 ν¬ν•¨λœ λΆ€λͺ¨ λΈ”λ‘μ˜ νŒŒν‹°μ…”λ‹ 정보, λΆ€λͺ¨ λΈ”λ‘μ˜ 크기, λΆ€λͺ¨ λΈ”λ‘μ˜ λͺ¨μ–‘, λΆ€λͺ¨ λΈ”λ‘μ˜ 예츑 λͺ¨λ“œ 정보, 상기 ν˜„μž¬ λΈ”λ‘μ˜ μ£Όλ³€ λΈ”λ‘μ˜ λ³€ν™˜ λͺ¨λ“œ 정보, 상기 ν˜„μž¬ 블둝에 ν¬ν•¨λœ λ³€ν™˜ κ³„μˆ˜μ˜ μ΅œλŒ€κ°’, μ†Œμ • μŠ€μΊλ‹ μˆœμ„œμ— λ”°λ₯Έ 상기 ν˜„μž¬ λΈ”λ‘μ˜ λ§ˆμ§€λ§‰ 0이 μ•„λ‹Œ(non-zero) λ³€ν™˜ κ³„μˆ˜μ˜ μœ„μΉ˜ 쀑 적어도 ν•˜λ‚˜μ— κΈ°μ΄ˆν•˜μ—¬ μ»¨ν…μŠ€νŠΈ λͺ¨λΈμ„ κ²°μ •ν•˜λŠ” 단계; 및A step of determining a context model based on at least one of current frame information, slice information, partitioning information of a current block, a size of a current block, a shape of a current block, prediction mode information of a current block, partitioning information of a parent block including the current block, a size of a parent block, a shape of a parent block, prediction mode information of a parent block, transformation mode information of a neighboring block of the current block, a maximum value of a transformation coefficient included in the current block, and a position of a last non-zero transformation coefficient of the current block according to a predetermined scanning order; and 상기 κ²°μ •λœ μ»¨ν…μŠ€νŠΈ λͺ¨λΈμ— κΈ°μ΄ˆν•˜μ—¬ 상기 λΉ„νŠΈμŠ€νŠΈλ¦Όμ— ν¬ν•¨λœ λ³€ν™˜ λͺ¨λ“œ 정보λ₯Ό λ³΅ν˜Έν™”ν•˜λŠ” 단계λ₯Ό ν¬ν•¨ν•˜λŠ”, λΉ„λ””μ˜€ λ³΅ν˜Έν™” 방법.A video decoding method, comprising a step of decoding transformation mode information included in the bitstream based on the determined context model. 제1ν•­ λ‚΄μ§€ 제16ν•­ 쀑 μ–΄λŠ ν•œ ν•­μ˜ 방법을 μ»΄ν“¨ν„°μ—μ„œ μ‹€ν–‰μ‹œν‚€κΈ° μœ„ν•œ ν”„λ‘œκ·Έλž¨μ„ κΈ°λ‘ν•œ μ»΄ν“¨ν„°λ‘œ νŒλ…κ°€λŠ₯ν•œ 기둝 맀체.A computer-readable recording medium having recorded thereon a program for executing the method of any one of claims 1 to 16 on a computer. λΉ„λ””μ˜€ λΆ€ν˜Έν™” 방법에 μžˆμ–΄μ„œ,In a video encoding method, 볡수 개의 후보 λ³€ν™˜ λͺ¨λ“œλ“€ 쀑 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜μ— μ΄μš©κ°€λŠ₯ν•œ 적어도 ν•˜λ‚˜μ˜ 후보 λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜λŠ” 단계;A step of determining at least one candidate transformation mode available for transformation of the current block among a plurality of candidate transformation modes; 상기 적어도 ν•˜λ‚˜μ˜ 후보 λ³€ν™˜ λͺ¨λ“œ 쀑 상기 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜μ— 적용된 λ³€ν™˜ λͺ¨λ“œλ₯Ό κ²°μ •ν•˜λŠ” 단계; A step of determining a transformation mode applied to the transformation of the current block among the at least one candidate transformation mode; 상기 κ²°μ •λœ λ³€ν™˜ λͺ¨λ“œμ— κΈ°μ΄ˆν•˜μ—¬ 상기 ν˜„μž¬ λΈ”λ‘μ˜ λ³€ν™˜μ— μ΄μš©λ˜λŠ” λ³€ν™˜ 블둝을 κ²°μ •ν•˜λŠ” 단계; 및A step of determining a transformation block used for transformation of the current block based on the determined transformation mode; and 상기 λ³€ν™˜ 블둝 λ‹¨μœ„λ‘œ 상기 ν˜„μž¬ 블둝에 λŒ€ν•œ λ³€ν™˜μ„ μˆ˜ν–‰ν•˜λŠ” 단계λ₯Ό ν¬ν•¨ν•˜λŠ”, λΉ„λ””μ˜€ λΆ€ν˜Έν™” 방법.A video encoding method, comprising a step of performing transformation on the current block in units of the transformation blocks.
PCT/KR2025/005214 2024-04-23 2025-04-17 Video encoding method and apparatus based on adaptive transform mode, and video decoding method and apparatus Pending WO2025225965A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20240054197 2024-04-23
KR10-2024-0054197 2024-04-23

Publications (1)

Publication Number Publication Date
WO2025225965A1 true WO2025225965A1 (en) 2025-10-30

Family

ID=97490287

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2025/005214 Pending WO2025225965A1 (en) 2024-04-23 2025-04-17 Video encoding method and apparatus based on adaptive transform mode, and video decoding method and apparatus

Country Status (1)

Country Link
WO (1) WO2025225965A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170077203A (en) * 2014-12-10 2017-07-05 미디어텍 싱가폴 피티이. μ—˜ν‹°λ””. Method of video coding using binary tree block partitioning
KR20170142860A (en) * 2016-06-17 2017-12-28 μ„Έμ’…λŒ€ν•™κ΅μ‚°ν•™ν˜‘λ ₯단 Method and apparatus for encoding or decoding video signal
WO2018026219A1 (en) * 2016-08-03 2018-02-08 μ£Όμ‹νšŒμ‚¬ 케이티 Video signal processing method and device
KR20180033030A (en) * 2016-09-23 2018-04-02 μ„Έμ’…λŒ€ν•™κ΅μ‚°ν•™ν˜‘λ ₯단 Method and apparatus for processing a video signal based on adaptive block patitioning
KR20230019178A (en) * 2016-06-24 2023-02-07 ν•œκ΅­μ „μžν†΅μ‹ μ—°κ΅¬μ› Method and apparatus for encoding and decoding a video image based on transform

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170077203A (en) * 2014-12-10 2017-07-05 미디어텍 싱가폴 피티이. μ—˜ν‹°λ””. Method of video coding using binary tree block partitioning
KR20170142860A (en) * 2016-06-17 2017-12-28 μ„Έμ’…λŒ€ν•™κ΅μ‚°ν•™ν˜‘λ ₯단 Method and apparatus for encoding or decoding video signal
KR20230019178A (en) * 2016-06-24 2023-02-07 ν•œκ΅­μ „μžν†΅μ‹ μ—°κ΅¬μ› Method and apparatus for encoding and decoding a video image based on transform
WO2018026219A1 (en) * 2016-08-03 2018-02-08 μ£Όμ‹νšŒμ‚¬ 케이티 Video signal processing method and device
KR20180033030A (en) * 2016-09-23 2018-04-02 μ„Έμ’…λŒ€ν•™κ΅μ‚°ν•™ν˜‘λ ₯단 Method and apparatus for processing a video signal based on adaptive block patitioning

Similar Documents

Publication Publication Date Title
WO2020180102A1 (en) Image decoding method using context-coded sign flag in image coding system and apparatus therefor
WO2019083334A1 (en) Method and device for image encoding/decoding on basis of asymmetric sub-block
WO2019172705A1 (en) Image encoding/decoding method and apparatus using sample filtering
WO2021054796A1 (en) Image coding method based on transform, and device therefor
WO2020096427A1 (en) Image signal encoding/decoding method and apparatus therefor
WO2020171592A1 (en) Video decoding method using residual information in video coding system, and apparatus thereof
WO2020162690A1 (en) Method and device for processing video signal using reduced transform
WO2020166977A1 (en) Method and apparatus for processing video signal
WO2021054811A1 (en) Image encoding/decoding method and apparatus, and recording medium storing bitstream
WO2021096290A1 (en) Transform-based image coding method and device therefor
WO2020162732A1 (en) Method and device for processing video signal
WO2021172914A1 (en) Image decoding method for residual coding and device for same
WO2021060844A1 (en) Image encoding/decoding method and device using palette mode, and method for transmitting bitstream
WO2020139005A1 (en) Image encoding/decoding method and device, and recording medium in which bitstream is stored
WO2021006697A1 (en) Image decoding method for residual coding and apparatus therefor
WO2021006698A1 (en) Image coding method and device in image coding system
WO2021025526A1 (en) Video coding method on basis of transformation, and device therefor
WO2021010680A1 (en) Image coding method based on transform, and device for same
WO2020171647A1 (en) Image decoding method and apparatus using intra prediction in image coding system
WO2020171671A1 (en) Image coding method based on quadratic transform, and apparatus therefor
WO2020106089A1 (en) Image encoding/decoding method and apparatus, and recording medium storing bitstream
WO2021060845A1 (en) Image encoding/decoding method and apparatus using user-defined palette entry, and method for transmitting bitstream
WO2021086050A1 (en) Transform-based image coding method and apparatus therefor
WO2021054783A1 (en) Image coding method on basis of transform, and apparatus therefor
WO2021137556A1 (en) Transform-based image coding method and device for same

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 25795003

Country of ref document: EP

Kind code of ref document: A1