Image encoding method, image decoding method, and method of transmitting a bitstream

By adaptively determining the segmentation shape and scanning method of the transform execution region and its sub-transform blocks in the image encoding/decoding method, the problem of limited encoding efficiency improvement caused by the inflexibility of the transform execution region in traditional methods is solved, and more efficient image compression and decoding are achieved.

CN116886910BActive Publication Date: 2026-06-19IND ACAD COOP GRP OF SEJONG UNIV

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
IND ACAD COOP GRP OF SEJONG UNIV
Filing Date
2017-10-12
Publication Date
2026-06-19

AI Technical Summary

Technical Problem

Traditional image encoding/decoding methods are not flexible enough in determining the execution area of ​​transformations, which limits the improvement of encoding efficiency.

Method used

The execution region of the transformation block and the segmentation form and scanning method of its sub-transformation blocks are adaptively determined. The transformation execution region is divided into sub-transformation blocks by quadtree or binary tree segmentation, and inverse transformation is performed.

Benefits of technology

It improves the compression efficiency and encoding/decoding efficiency of image encoding/decoding by adaptively determining the segmentation shape and scanning method of the transform execution area and sub-transform blocks, thereby enhancing encoding efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116886910B_ABST
    Figure CN116886910B_ABST
Patent Text Reader

Abstract

This invention provides an image encoding method, an image decoding method, and a method for transmitting bit streams. The image decoding method applicable to this invention includes: determining a transform execution region; dividing the determined transform execution region into at least one sub-transformation block using at least one of quadtree partitioning or binary tree partitioning; and performing an inverse transform on the at least one sub-transformation block.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of the invention patent application filed on October 12, 2017, with application number "201780063400.9" and titled "Image Encoding Method / Apparatus, Image Decoding Method / Apparatus and Recording Medium Containing Bit Stream". Technical Field

[0002] This invention relates to an image encoding / decoding method and apparatus, and more particularly to an image encoding method and an image decoding method capable of adaptively determining the region requiring a second transformation and the segmentation pattern of the sub-transformation blocks of the aforementioned region. Background Technology

[0003] In recent years, the demand for multimedia data such as video on the Internet has been increasing dramatically. However, the current rate of development of channel bandwidth is insufficient to fully meet the rapidly increasing volume of multimedia data. As part of this trend, international standardization organizations, namely the Video Coding Expert Group (VCEG) of the International Telecommunication Union Telecommunication Standardization Sector (ITU-T) and the Moving Picture Expert Group (MPEG) of the International Organization for Standardization / International Electrotechnical Commission (ISO / IEC), are working tirelessly through collaborative research to develop more efficient video compression standards.

[0004] Video compression generally consists of intra-frame prediction, inter-frame prediction, transform, quantization, entropy coding, and in-loop filtering. Among these, transform refers to the technique of transforming the input signal into signals of other regions and then encoding them.

[0005] Because traditional image encoding / decoding methods and devices do not determine the transformation execution area separately when performing transformation, they are limited in improving encoding efficiency. Summary of the Invention

[0006] The purpose of this invention is to provide an image encoding / decoding method and apparatus with improved compression efficiency.

[0007] Furthermore, the present invention can provide an image encoding / decoding method that adaptively determines the region in a transform block that needs to be transformed and the segmentation pattern of sub-transform blocks within the transform execution region in order to improve the encoding / decoding efficiency of the image.

[0008] Furthermore, the present invention aims to provide an image encoding / decoding method that adaptively determines the scanning mode of sub-transformation blocks within the transform execution area in order to improve the encoding / decoding efficiency of images.

[0009] The image decoding method applicable to the present invention can include: a step of determining a transformation execution region; a step of dividing the determined transformation execution region into at least one sub-transformation block using at least one of quadtree segmentation or binary tree segmentation; and a step of performing an inverse transformation on the at least one sub-transformation block.

[0010] In the image decoding method, the step of determining the transformation execution region can determine the transformation execution region based on the intra-prediction mode of the current prediction block corresponding to the current transformation block.

[0011] In the image decoding method, the step of determining the transformation execution region can, when the intra-frame prediction mode of the current prediction block is a horizontal prediction mode, determine the left region of the current transformation block as the transformation execution region; when the intra-frame prediction mode of the current prediction block is a vertical prediction mode, determine the upper region of the current transformation block as the transformation execution region; and when the intra-frame prediction mode of the current prediction block is neither a horizontal prediction mode nor a horizontal prediction mode, determine the upper left region of the current transformation block as the transformation execution region.

[0012] In the image decoding method, the step of determining the transformation execution area can determine the transformation execution area based on a specific frequency region of the current transformation block.

[0013] In the image decoding method, the specific frequency region can be determined based on predefined values.

[0014] In the image decoding method, the inverse transform can be either the first inverse transform or the second inverse transform.

[0015] In the image decoding method, the at least one sub-transformation block can be a 2D sub-transformation block.

[0016] The image decoding method may further include: a step of determining a coefficient scanning method for the sub-transform blocks; and a step of reordering the 2D sub-transform blocks based on the determined coefficient scanning method.

[0017] In the image decoding method, the step of determining the coefficient scanning method of the sub-transform block can determine the coefficient scanning method of the transform sub-transform block based on the intra-prediction mode of the current prediction block corresponding to the current transform block.

[0018] In the image decoding method, the step of determining the coefficient scanning method of the sub-transformation block can be determined as one of the following scanning methods: vertical scanning, horizontal scanning, and 45-degree diagonal scanning.

[0019] In the image decoding method, the step of reordering the 2D sub-transform blocks based on the determined coefficient scanning method can reorder the 2D sub-transform blocks into 1D sub-transform blocks based on the determined coefficient scanning method.

[0020] The image encoding method applicable to the present invention can include: a step of determining a transform execution region; a step of dividing the determined transform execution region into at least one sub-transformation block using at least one of quadtree segmentation or binary tree segmentation; and a step of performing a transform on the at least one sub-transformation block.

[0021] In the image coding method, the step of determining the transform execution region can determine the transform execution region based on the intra-prediction mode of the current prediction block corresponding to the current transform block.

[0022] In the image coding method, the step of determining the transform execution region can, when the intra-frame prediction mode of the current prediction block is the horizontal prediction mode, determine the left region of the current transform block as the transform execution region; when the intra-frame prediction mode of the current prediction block is the vertical prediction mode, determine the upper region of the current transform block as the transform execution region; and when the intra-frame prediction mode of the current prediction block is neither the horizontal prediction mode nor the horizontal prediction mode, determine the upper left region of the current transform block as the transform execution region.

[0023] In the image encoding method, the step of determining the transformation execution region can determine the transformation execution region based on a specific frequency region of the current transformation block.

[0024] In the image coding method, the specific frequency region can be determined based on predefined values.

[0025] In the image encoding method, the transformation can be either a first transformation or a second transformation.

[0026] In the image encoding method, the at least one sub-transform block can be a 2D sub-transform block.

[0027] The image encoding method may further include: a step of determining a coefficient scanning method for the sub-transform blocks; and a step of reordering the 2D sub-transform blocks based on the determined coefficient scanning method.

[0028] In the image coding method, the step of determining the coefficient scanning method of the sub-transform block can determine the coefficient scanning method of the transform sub-transform block based on the intra-prediction mode of the current prediction block corresponding to the current transform block.

[0029] In the image encoding method, the step of determining the coefficient scanning method of the sub-transformation block can be determined as one of the following scanning methods: vertical scanning, horizontal scanning, and 45-degree diagonal scanning.

[0030] In the image encoding method, the step of reordering the 2D sub-transform blocks based on the determined coefficient scanning method can reorder the 2D sub-transform blocks into 1D sub-transform blocks based on the determined coefficient scanning method.

[0031] The recording medium to which the present invention is applied is capable of storing a bitstream generated by an image encoding method, wherein the image encoding method includes: determining a transform execution region; dividing the determined transform execution region into at least one sub-transformation block using at least one of quadtree partitioning or binary tree partitioning; and performing a transform on the at least one sub-transformation block.

[0032] This invention provides an image encoding / decoding method and apparatus with improved compression efficiency.

[0033] Furthermore, this invention provides an image encoding / decoding method that adaptively determines the region within a transform block that requires transformation and the segmentation pattern of sub-transform blocks within the transform execution region in order to improve the encoding / decoding efficiency of the image.

[0034] Furthermore, this invention provides an image encoding / decoding method that adaptively determines the scanning mode of sub-transformation blocks within the transform execution area in order to improve the encoding / decoding efficiency of images. Attached Figure Description

[0035] Figure 1 This is a block diagram illustrating a simplified image encoding apparatus according to one embodiment of the present invention.

[0036] Figure 2 This is a block diagram illustrating a simplified image decoding apparatus according to one embodiment of the present invention.

[0037] Figure 3 This is a flowchart illustrating a transformation method of an image encoding apparatus to which one embodiment of the present invention is applied.

[0038] Figure 4 This is a flowchart illustrating a transformation method of an image decoding apparatus to which one embodiment of the present invention is applied.

[0039] Figure 5 This is a flowchart illustrating a method for determining the transformation execution region based on an intra-frame prediction mode, according to one embodiment of the present invention.

[0040] Figure 6 This is a schematic diagram illustrating a horizontal prediction mode applicable to one embodiment of the present invention.

[0041] Figure 7 This is a schematic diagram illustrating a vertical direction prediction mode applicable to one embodiment of the present invention.

[0042] Figure 8 This is a schematic diagram used to illustrate the left-side region, the upper region, and the upper region within the current transformation block to which one embodiment of the present invention applies.

[0043] Figure 9 This is a flowchart illustrating a method for determining the transformation execution region based on the frequency region of a transformation block, according to one embodiment of the present invention.

[0044] Figure 10 This is a schematic diagram illustrating an example of determining the transformation execution area based on the frequency region of the transformation block.

[0045] Figure 11 as well as Figure 12 This is a flowchart illustrating the quadtree segmentation of a transformation block to which one embodiment of the present invention applies.

[0046] Figure 13 as well as Figure 14 This is a flowchart illustrating the binary tree segmentation of a transformation block to which one embodiment of the present invention applies.

[0047] Figure 15 This is a schematic diagram illustrating an example of dividing the transformation execution region into partial transformation blocks using quadtree partitioning and binary tree partitioning.

[0048] Figure 16 An example of the scanning method and reordering method for 2D sub-transformation blocks when changing 2D sub-transformation blocks to 1D sub-transformation blocks in order to perform a non-2D transformation method, i.e., a 1D transformation method, is illustrated.

[0049] Figure 17 Examples of scanning and reordering methods for 2D sub-transformation blocks are illustrated.

[0050] Figure 18 This is a flowchart illustrating a method for a predictive mode determination subtransformation block scanning method based on the current block, applicable to one embodiment of the present invention.

[0051] Figure 19 This is a flowchart illustrating a method for scanning a transform block based on a transform basis vector determinant, according to one embodiment of the present invention.

[0052] Figure 20 This is a flowchart illustrating an image decoding method applicable to one embodiment of the present invention. Detailed Implementation

[0053] This invention is capable of various modifications and has many different embodiments. Specific embodiments will be illustrated and described in detail below. However, the following content is not intended to limit the invention to specific implementations, but should be understood to include all modifications, equivalents, and substitutions within the scope of the invention's concept and technology. Similar reference numerals are used for similar constituent elements in the description of the various figures.

[0054] In describing different constituent elements, terms such as "first" and "second" may be used, but the constituent elements are not limited by these terms. These terms are merely used to distinguish one constituent element from others. For example, without departing from the scope of the claims of this invention, a first constituent element may also be named a second constituent element, and similarly, a second constituent element may also be named a first constituent element. The term "and / or" includes a combination of multiple related descriptions or one of multiple related descriptions.

[0055] When a constituent element is described as being "connected" or "in contact" with other constituent elements, it should be understood that it can not only be directly connected or in contact with the aforementioned other constituent elements, but also that other constituent elements can exist between the two. Conversely, when a constituent element is described as being "directly connected" or "directly in contact" with other constituent elements, it should be understood that no other constituent elements exist between the two.

[0056] The terminology used in this application is for illustrative purposes only and is not intended to limit the invention. Singular statements also have plural meanings unless the context clearly indicates otherwise. In this invention, terms such as “~comprises~” or “~consisting of~” are merely to indicate the presence of features, numbers, steps, actions, constituent elements, components, or combinations thereof described in the specification, and should not be construed as excluding the possibility of one or more other features, numbers, steps, actions, constituent elements, components, or combinations thereof being present or added.

[0057] The embodiments to which the present invention applies will now be described in detail with reference to the accompanying drawings. In the following description, the same reference numerals will be used for the same constituent elements in the drawings, and repeated descriptions of the same constituent elements will be omitted.

[0058] Figure 1 This is a block diagram illustrating an image encoding apparatus to which one embodiment of the present invention is applied.

[0059] See Figure 1 The image encoding apparatus 100 may include an image segmentation unit 101, an intra-frame prediction unit 102, an inter-frame prediction unit 103, a subtraction unit 104, a transform unit 105, a quantization unit 106, an entropy encoding unit 107, an inverse quantization unit 108, an inverse transform unit 109, an addition unit 110, a filtering unit 111, and a memory 112.

[0060] exist Figure 1 The various components are illustrated separately to show the different special functions of the image encoding apparatus, but this does not mean that each component is composed of separate hardware or software units. That is, although the various components are listed and described for ease of explanation, it is possible to combine at least two components into one component, or to divide one component into multiple components and make them perform corresponding functions. The embodiments in which the various components are integrated and the embodiments in which they are separated, as described above, are included within the scope of the claims of this invention without departing from the essence of this invention.

[0061] Furthermore, some constituent elements may not be essential for performing the essential functions of this invention, but are merely optional elements used to improve performance. This invention can include only the constituent parts necessary for realizing the essence of the invention, excluding those merely used to improve performance, and structures that include only the essential constituent elements, excluding the optional elements used to improve performance, are also included within the scope of the claims of this invention.

[0062] The image segmentation unit 100 can segment the input image into at least one block. The input image can be of various shapes and sizes, such as a picture, slice, tile, or segment. A block can refer to a coding unit (CU), a prediction unit (PU), or a transform unit (TU).

[0063] The image segmentation unit 100 can segment the largest coded block (hereinafter referred to as the largest coded block) into the smallest coded block (hereinafter referred to as the smallest coded block). This segmentation can be performed based on at least one of a quadtree or a binary tree. A quadtree divides a parent block into four child blocks, each half the width and height of the parent block. A binary tree divides a parent block into two child blocks, each half the width or height of the parent block. By segmenting based on the binary tree, it is possible not only to segment blocks into square shapes but also into non-square shapes.

[0064] In the embodiments where this invention is applied, the encoding unit can be used not only as an encoding execution unit but also as a decoding execution unit. Furthermore, the encoding unit can refer to an encoding block.

[0065] Prediction units 102 and 103 may include an inter-frame prediction unit 103 for performing inter-frame prediction and an intra-frame prediction unit 102 for performing intra-frame prediction. Prediction units 102 and 103 can generate prediction blocks in the current original block using the surrounding pixels of the block to be predicted (hereinafter referred to as the prediction block) or previously decoded reference images. At least one prediction block can be generated within a coding block. When there is only one prediction block within a coding block, the prediction block can have the same form as the coding block.

[0066] Video signal prediction techniques generally consist of intra-frame prediction and inter-frame prediction. Intra-frame prediction generates prediction blocks by using the surrounding pixels of the current block, while inter-frame prediction generates prediction blocks by finding the most similar block to the current block in the reference image that has already been encoded and decoded.

[0067] Prediction units 102 and 103 can determine the optimal prediction mode for the prediction block by applying various techniques, such as rate-distortion optimization (RDO), to the residual block obtained by subtracting the prediction block from the current original block. The RDO formula is shown in Equation 1 below.

[0068] [Formula 1]

[0069]

[0070] Where D can be the distortion caused by quantization, R can be the bit rate of the compressed data stream, J can be the RD cost, Φ can be the encoding mode, and λ is the Lagrange multiplier, which can be a scaling factor used to match the units between the amount of error and the amount of bits.

[0071] The residual value (residual block) between the generated prediction block and the original block can be input to the transform unit 105. Furthermore, information used during prediction, such as prediction mode information and motion vector information, can be encoded together with the residual value by the entropy coding unit 107 and then transmitted to the decoder. When using a specific coding mode, it is also possible to directly encode the original block and transmit it to the decoding unit without generating the prediction block through the prediction units 102 and 103.

[0072] The intra-prediction unit 102 can generate a prediction block based on pixel information within the current image, i.e., reference pixel information surrounding the current block. When the prediction mode of the blocks surrounding the current block performing intra-prediction is inter-prediction, reference pixels contained in the surrounding blocks to which inter-prediction has been applied can be replaced with reference pixels in other surrounding blocks to which intra-prediction has been applied. That is, if reference pixels are unavailable, they can be used after replacing the unavailable reference pixel information with at least one of the available reference pixels.

[0073] In intra-frame prediction, prediction modes can include directional prediction modes that use reference pixel information based on the prediction direction, and non-directional modes that do not use directional information when performing prediction. The mode used to predict luminance information can be different from the mode used to predict chrominance information. When predicting chrominance information, the intra-frame prediction mode information used in the process of predicting luminance information or the predicted luminance signal information can be used.

[0074] The inter-frame prediction unit 103 can generate prediction blocks based on information from at least one of the previous or next images of the current image, and in some cases, it can also generate prediction blocks based on information from a portion of the encoded region within the current image.

[0075] The inter-frame prediction unit 103 may include a reference image interpolation unit, a motion prediction unit, and a motion compensation unit.

[0076] The subtraction unit 104 can generate a residual block of the current block by performing a subtraction operation between the current block to be encoded and the prediction block generated in the intra-prediction unit 102 or the inter-prediction unit 103.

[0077] The transformation unit 105 can generate transformation blocks by applying transformation methods such as DCT, DST, and KLT (Karhunen-Loeve Transform) to residual blocks containing residual data. The transformation block can be the unit used during the transformation and quantization processes. The transformation can be performed on the entire residual block, or the residual block can be divided into sub-block units before the transformation is performed. In this case, a quadtree-based or binary tree-based partitioning method can be used as the partitioning method for the transformation block.

[0078] Furthermore, the transform method can be determined based on the intra-prediction mode of the prediction block used when generating the residual block. For example, DCT can be used in the horizontal direction and DST in the vertical direction, depending on the intra-prediction mode.

[0079] The quantization unit 106 can generate quantized transform blocks by quantizing transform blocks that have been transformed into frequency regions in the transform unit 105. The quantization coefficients can vary depending on the importance of the block or image.

[0080] The quantization unit 106 can generate and output a quantized transform block with quantized transform coefficients by quantizing the transform coefficients of the transform block generated from the transform unit 105. At this time, as a quantization method, methods such as Dead Zone Uniform Threshold Quantization (DZUTQ) or Quantization Weighted Matrix can be used.

[0081] The value calculated in the quantization unit 106 can be provided to the inverse quantization unit 108 and the entropy encoding unit 107.

[0082] The aforementioned transformation unit 105 and / or quantization unit 106 can be selectively included in the image encoding apparatus 100. That is, the image encoding apparatus 100 can perform at least one of transformation or quantization on the residual data of the residual block, or it can simultaneously skip transformation and quantization while encoding the residual block. Even if the image encoding apparatus 100 does not perform either transformation or quantization, or neither transformation nor quantization is performed, the block input to the entropy encoding unit 107 is generally referred to as a transformed block.

[0083] The entropy coding unit 107 performs entropy coding on the input data. When performing entropy coding, various coding methods can be used, such as Exponential Golomb code, CAVLC (Context-Adaptive Variable Length Coding), and CABAC (Context-Adaptive Binary Arithmetic Coding).

[0084] The entropy coding unit 107 can encode various types of information from the prediction units 102 and 103, such as residual coefficient information of the coded block, block type information, prediction mode information, segmentation block information, prediction block information, transmission unit information, motion vector information, reference frame information, block interpolation information, and filtering information. In the entropy coding unit 107, the coefficients of the transform block can be encoded using various types of flags, such as those indicating non-zero coefficients, coefficients with absolute values ​​greater than 1 or 2, and the sign of the coefficients. For coefficients that cannot be encoded solely based on these flags, they can be encoded based on the absolute value of the difference between the coefficient encoded using the flags and the coefficients of the actual transform block. In the inverse quantization unit 108 and the inverse transform unit 109, the values ​​quantized in the quantization unit 106 are inverse quantized, and the values ​​transformed in the transform unit 105 are inversely transformed. A reconstructed block can be generated by merging the residual values ​​generated in the inverse quantization unit 108 and the inverse transform unit 109 with the predicted blocks predicted by the motion estimation unit, motion compensation unit, and intra-frame prediction unit 102 included in the prediction units 102 and 103. The adder 110 can generate a reconstructed block by performing an addition operation on the predicted blocks generated in the prediction units 102 and 103 and the residual blocks generated by the inverse transform unit 109.

[0085] The filtering unit 111 may include at least one of a deblocking filter, an offset correction unit, and an ALF (Adaptive Loop Filter).

[0086] Deblocking filters eliminate block distortion in reconstructed images caused by boundaries between blocks. To determine whether deblocking is necessary, the decision can be based on the pixels contained in several columns or rows of the block. When applying a deblocking filter to a block, a strong or weak filter can be used depending on the required deblocking intensity. Furthermore, during the application of a deblocking filter, horizontal and vertical filtering can be performed in parallel.

[0087] The offset correction unit can perform offset correction between the deblocked image and the original image on a pixel-by-pixel basis. To perform offset correction on a specific image, methods can be used such as dividing the pixels contained in the image into a certain number of regions, determining the regions where offset needs to be performed, and applying the offset to the corresponding regions, or applying the offset while considering the edge information of each pixel.

[0088] ALF (Adaptive Loop Filtering) can be performed based on a comparison between the filtered reconstructed image and the original image. It can also determine which filter to apply to the appropriate group after dividing the pixels in the image into specific groups, and perform different filtering on different groups. Information related to whether ALF is applied can be transmitted in coding units (CUs), and the shape and filtering coefficients of the ALF filters applied in each block can differ. Furthermore, it is possible to apply ALF filters of the same shape (fixed shape) regardless of the characteristics of the target block.

[0089] The memory 112 can store the reconstructed blocks or images calculated by the filtering unit 111, and the stored reconstructed blocks or images can be provided to the prediction units 102 and 103 when performing inter-frame prediction.

[0090] Figure 2 This is a block diagram illustrating an image decoding apparatus 200 to which one embodiment of the present invention is applied.

[0091] See Figure 2 The image decoding device 200 may include an entropy decoding unit 201, an inverse quantization unit 202, an inverse transform unit 203, an addition unit 204, a filtering unit 205, a memory 206, and prediction units 207 and 208.

[0092] When the image bitstream generated by the image encoding device 100 is input to the image decoding device 200, the input bitstream can be decoded in the reverse order of the process performed by the image encoding device 100.

[0093] The entropy decoding unit 201 can perform entropy decoding according to the reverse steps of entropy encoding performed in the entropy encoding unit 107 of the image encoding apparatus 100. For example, it can be compatible with various methods such as Exponential Golomb, CAVLC (Context-Adaptive Variable Length Coding), and CABAC (Context-Adaptive Binary Arithmetic Coding), corresponding to the methods performed in the image encoder. In the entropy decoding unit 201, the coefficients of the transform block can be decoded using various types of flags, such as those indicating non-zero coefficients, coefficients with absolute values ​​greater than 1 or 2, and the sign of the coefficients, in partial block units within the transform block. For coefficients that cannot be represented solely by the aforementioned flags, decoding can be performed based on the sum of the coefficients represented by the flags and the signaling coefficients.

[0094] In the entropy decoding unit 201, information related to intra-frame prediction and inter-frame prediction performed in the encoder can be decoded. The inverse quantization unit 202 generates a transform block by performing inverse quantization on the quantized transform block. According to... Figure 1 The inverse quantization unit 108 in the middle works in essentially the same way.

[0095] The inverse quantization unit 203 generates a residual block by performing an inverse transform on the transform block. At this time, the transform method can be determined based on information related to the prediction method (inter-frame or intra-frame prediction), the block size and / or shape, and the intra-frame prediction mode. Figure 1 The inverse transformation unit 109 in the middle works in the same way.

[0096] The addition unit 204 generates a reconstructed block by performing an addition operation on the prediction block generated in the intra-frame prediction unit 207 or the inter-frame prediction unit 208 and the residual block generated by the inverse transform unit 203. Figure 1 The addition unit 110 in the middle works in essentially the same way.

[0097] The filtering unit 205 is used to reduce various types of noise that appear in the reconstructed blocks. The filtering unit 205 may include a deblocking filter, an offset correction unit, and an ALF.

[0098] The image encoding device 100 can receive information regarding whether a deblocking filter is applied to a corresponding block or image, and if so, whether a strong or weak filter is applied. The image decoding device 200's deblocking filter can perform deblocking filtering on the corresponding block within the image decoding device 200 after receiving the deblocking filter information provided by the image encoding device 100.

[0099] The offset correction unit can perform offset correction on the reconstructed image based on the offset correction type and offset value information applicable to the image during encoding.

[0100] ALF can be applied to the encoding unit based on ALF applicability information and ALF coefficient information provided from the image encoding device 100. The ALF information described above can be included in a specific parameter set. The filtering unit 205 follows the same procedure as... Figure 1 The filtering section 111 in the middle works in essentially the same way.

[0101] The memory 206 is used to store the reconstructed blocks generated by the addition unit 204. According to... Figure 1 The memory 112 in the middle works in essentially the same way.

[0102] Prediction units 207 and 208 can generate prediction blocks based on prediction blocks provided by entropy decoding unit 201 and previously decoded blocks or image information provided by memory 206.

[0103] Prediction units 207 and 208 may include an intra-frame prediction unit 207 and an inter-frame prediction unit 208. Although not shown separately, prediction units 207 and 208 may also include a prediction unit determination unit. The prediction unit determination unit can receive various types of information input from the entropy decoding unit 201, such as prediction unit information, prediction mode information of the intra-frame prediction method, and motion prediction-related information of the inter-frame prediction method, and distinguish prediction units from the current decoding unit, thereby determining whether the prediction unit performs inter-frame prediction or intra-frame prediction. The inter-frame prediction unit 208 can perform inter-frame prediction on the current prediction unit based on information contained in at least one of the previous or next images of the current image containing the current prediction unit, using the information required for inter-frame prediction of the current prediction unit provided by the image coding apparatus 100. Alternatively, it can perform inter-frame prediction based on information of a reconstructed portion of the current image containing the current prediction unit.

[0104] To perform inter-frame prediction, the motion prediction method for the prediction block contained in the corresponding coding block can be determined based on the coding block as a reference. This method can be either Skip Mode, Merge Mode, or Advanced Motion Vector Prediction Mode (AMVP Mode).

[0105] The intra-frame prediction unit 207 generates prediction blocks using pixels located around the block to be encoded in the current period and pixels that have already been reconstructed.

[0106] The intra-prediction unit 207 may include an AIS (Adaptive Intra Smoothing) filter, a reference pixel interpolation unit, and a DC filter. The AIS filter is used to filter the reference pixels of the current block, and its application can adaptively determine whether to apply the filter based on the prediction mode of the current prediction block. AIS filtering can be performed on the reference pixels of the current block using the prediction mode of the prediction block provided from the image coding apparatus 100 and the AIS filter information. When the prediction mode of the current block is a mode that does not perform AIS filtering, the AIS filter may not be applied.

[0107] When the prediction mode of the prediction block is a prediction block in which intra-frame prediction is performed based on pixel values ​​interpolated from reference pixels, the reference pixel interpolation unit of the intra-frame prediction unit 207 can generate reference pixels at fractional unit positions by interpolating the reference pixels. The generated reference pixels at fractional unit positions can be used as prediction pixels for pixels within the current block. When the prediction mode of the current prediction block is a prediction mode in which the prediction block is generated without interpolating reference pixels, interpolation of reference pixels is not performed. When the prediction mode of the current block is DC mode, the DC filter can generate the prediction block by filtering.

[0108] Intra-frame prediction unit 207 according to and Figure 1 The intra-prediction unit 102 in the middle works in essentially the same way.

[0109] The inter-frame prediction unit 208 generates inter-frame prediction blocks using reference images stored in the memory 206 and motion information. The inter-frame prediction unit 208 then generates inter-frame prediction blocks according to... Figure 1 The inter-frame prediction unit 103 in the middle works in essentially the same way.

[0110] The image decoding method and image encoding method applicable to this invention will be described below based on the above content.

[0111] The image encoding apparatus of the present invention can perform two transformations (a first transformation and a second transformation) to improve the energy concentration of the transform coefficients. Therefore, the image decoding apparatus of the present invention can also perform two inverse transformations (a second inverse transformation and a first inverse transformation). The first transformation and the second transformation can use the same transformation method or different transformation methods.

[0112] Next, we will combine Figure 3 as well as Figure 4 The transformation and inverse transformation applicable to one embodiment of the present invention will be described.

[0113] Figure 3 This is a flowchart illustrating the transformation method of the image encoding apparatus to which the present invention is applied.

[0114] See Figure 3 In step S301, the image encoding device performs a first transformation on the residual block in units of transform blocks. Next, in step S302, the image encoding device performs a second transformation on the transform coefficients of the transform block that has undergone the first transformation. The second transformation can be performed on the entirety or a portion of the transform block that has undergone the first transformation.

[0115] Figure 4 This is a flowchart illustrating the transformation method of the image decoding apparatus to which the present invention is applied.

[0116] See Figure 4 The image decoding device is capable of performing two inverse transforms on a block that has already been inverse-quantized. Specifically, the image decoding device is capable of performing a first inverse transform on a block that has already undergone a second inverse transform.

[0117] Next, we will combine Figures 5 to 10 The method for determining the transformation execution region during transformation is explained.

[0118] in, Figures 5 to 8 This is a schematic diagram used to illustrate a method for determining the transformation execution region based on a prediction pattern. Figure 9 as well as Figure 10 This is a schematic diagram illustrating a method for determining the change execution region based on the frequency region of a transform block.

[0119] First, a method for determining the transformation execution region based on a prediction pattern, applicable to one embodiment of the present invention, will be described.

[0120] Figure 5 This is a flowchart illustrating the method for determining the transformation execution region based on the intra-frame prediction mode.

[0121] See Figure 5In step S501, it is determined whether the intra-prediction mode of the prediction block corresponding to the current transform block is a horizontal prediction mode. The horizontal prediction mode can refer to at least one intra-prediction mode that performs intra-prediction using reference pixels in the left region of the prediction block. Figure 6 This is a schematic diagram illustrating a horizontal prediction mode applicable to one embodiment of the present invention.

[0122] See Figure 6 The HAbove mode refers to the prediction mode with the largest index information among the intra-frame prediction modes within the horizontal prediction mode range, while the HBottom mode refers to the prediction mode with the smallest index information among the intra-frame prediction modes within the horizontal prediction range. Therefore, the horizontal prediction mode can refer to the angle prediction mode between the HAbove mode and the HBottom mode.

[0123] When it is determined in step S501 that the intra-prediction mode of the prediction block corresponding to the current transform block is the horizontal prediction mode (step S501-Yes), step S502 can be executed.

[0124] In step S502, the execution area of ​​the second transformation can be determined as the left region within the current transformation block.

[0125] When it is determined in step S501 that the intra-prediction mode of the prediction block corresponding to the current transform block is not the horizontal prediction mode (step S501 - No), step S503 can be executed.

[0126] In step S503, it is determined whether the intra-prediction mode of the prediction block corresponding to the current transform block is a vertical prediction mode. The vertical prediction mode can refer to at least one intra-prediction mode that performs intra-prediction using reference pixels in the upper region of the prediction block. Figure 7 This is a schematic diagram illustrating a vertical direction prediction mode applicable to one embodiment of the present invention.

[0127] See Figure 7 Vleft mode refers to the prediction mode with the smallest index information among the intra-frame prediction modes within the vertical prediction mode range, while Vright mode refers to the prediction mode with the largest index information among the intra-frame prediction modes within the vertical prediction range. Therefore, the vertical prediction mode can refer to the angular prediction mode between Vleft mode and Vright mode.

[0128] When it is determined in step S503 that the intra-prediction mode of the prediction block corresponding to the current transform block is the vertical direction prediction mode (step S503-Yes), step S504 can be executed.

[0129] In step S504, the execution area of ​​the second transformation can be determined as the upper region within the current transformation block.

[0130] When it is determined in step S503 that the intra-prediction mode of the prediction block corresponding to the current transform block is not the vertical direction prediction mode (step S503 - No), step S505 can be executed.

[0131] In step S505, the execution area of ​​the second transformation can be determined as the upper left region within the current transformation block.

[0132] Figure 8 This is a schematic diagram used to illustrate the left-side region, the upper region, and the upper region within the current transformation block to which one embodiment of the present invention applies.

[0133] See Figure 8 When according to Figure 5 When the method described above determines the second transformation region as the left region within the current transformation block, the left region can be either 1 / 4 of the left region 801 or 1 / 2 of the left region 802 of the transformation block.

[0134] Furthermore, when the second transformation region is determined to be the upper region within the current transformation block, the upper region can be either 1 / 4 of the upper region 803 or 1 / 2 of the upper region 804 of the transformation block.

[0135] Furthermore, when the second transformation region is determined to be the upper left region within the current transformation block, the upper region can be either 1 / 4 of the upper left region 805 or 1 / 2 of the upper left region 806 of the transformation block.

[0136] exist Figures 5 to 8 The present invention has been described assuming that the second transformation is performed in an image encoding apparatus. However, the present invention is not limited thereto, and the region for performing the second inverse transformation can also be determined in an image decoding apparatus using the same method as described above.

[0137] Next, a method for determining the transformation execution region based on the frequency region of the transformation block, according to one embodiment of the present invention, will be described.

[0138] Figure 9 This is a flowchart illustrating the method for determining the transformation execution area based on the frequency region of the transformation block.

[0139] See Figure 9 In step S901, the low-frequency region within the transform block is determined based on the transform basis vector. The low-frequency region within the transform block can change according to the transform basis vector. In step S902, the region to be executed for the second transform can be determined as the low-frequency region within the transform block.

[0140] Furthermore, the frequency range used to specifically designate the low-frequency region can be set to the same value in both the image encoding device and the image decoding device. Alternatively, the frequency range used to specifically designate the low-frequency region can be determined by transmitting separate information from the image encoding device to the image decoding device.

[0141] Figure 10 This is a schematic diagram illustrating an example of determining the transformation execution area based on the frequency region of the transformation block.

[0142] In an image encoding apparatus to which one embodiment of the present invention is applied, the low-frequency region of the transform block after the first transform can be the upper left region within the transform block. Furthermore, in an image decoding apparatus, the low-frequency region of the transform block after inverse quantization can also be the upper left region within the transform block. Figure 10 The execution region of the second transformation under the assumptions described above is illustrated.

[0143] See Figure 10 In 1001, the image encoding device / image decoding device can determine the upper left 1 / 16 region of the transformation block as a low-frequency region and determine the corresponding region as the region for the second transformation execution.

[0144] Alternatively, in 1002, the image encoding device / image decoding device can determine the upper left quarter of the transform block as a low-frequency region and determine the corresponding region as the region for the second transform execution.

[0145] exist Figures 5 to 10 The method for determining the transformation execution region for performing the second transformation or the second inverse transformation has been described, but the present invention is not limited thereto, and the transformation execution region for performing the first transformation or the first inverse transformation can also be determined in the same way.

[0146] In addition, in one embodiment, the entire transformation block can be determined as the transformation execution region.

[0147] Furthermore, although the second transform execution area and the second inverse transform execution area can be determined in both the image encoding device and the image decoding device using the same method described above, it is also possible to encode the determined second transform execution area information in the image encoding device using the method described above and transmit it to the image decoding device. In this case, the corresponding information can be transmitted through higher-level (video layer, sequence layer, image layer, stripe layer, coded block layer, etc.) or transform block units.

[0148] Next, we will combine Figures 11 to 15The method for dividing the execution region of the first or second transformation is explained. Next, the transformation block divided from the parent transformation block is defined as a sub-transformation block.

[0149] Figure 11 as well as Figure 12 This is a schematic diagram used to illustrate the quadtree partitioning of the transform block.

[0150] Figure 11 This is a flowchart illustrating a method for encoding optimal quadtree segmentation information during the process of dividing a transform block into sub-transform blocks using quadtree segmentation. Here, the overall transform block can refer to the transform block at the highest segmentation depth, the current sub-transform block can refer to the sub-transform block currently being encoded, and the current partial block can refer to the portion of the partial blocks segmented from the current sub-transform block currently being encoded.

[0151] See Figure 11 In step S1101, the entire transformation block can be set as the current sub-transformation block.

[0152] Next, in step S1102, the quadtree segmentation information in the current sub-transformation block can be encoded.

[0153] Next, in step S1103, the authenticity of the quadtree segmentation information that has been encoded in the current sub-transformation block can be determined.

[0154] When the quadtree segmentation information already encoded in the current sub-transformation block is false (step S1103 - No), the quadtree segmentation encoding process can be terminated.

[0155] Conversely, when the quadtree segmentation information already encoded in the current sub-transformation block is true (step S1103 - Yes), step S1104 can be executed.

[0156] In step S1104, four partial blocks can be generated by quadtree partitioning the current sub-transformation block.

[0157] Next, in step S1105, the quadtree segmentation information of the currently being encoded partial block (hereinafter referred to as the current partial block) can be encoded according to the encoding order of the partial blocks segmented from the current sub-transformation block.

[0158] Next, in step S1106, it can be determined whether the current partial block is a partial block corresponding to the last encoding order in the current sub-transformation block.

[0159] When the current partial block is the partial block corresponding to the last encoding order within the current sub-transformation block (step S1106 - Yes), step S1109 can be executed.

[0160] In step S1109, it can be determined whether the current partial block is a partial block corresponding to the last encoding order in the overall transformation block.

[0161] When the current partial block is the partial block corresponding to the last encoding order within the overall transformation block (step S1109 - Yes), the quadtree segmentation encoding process can be terminated.

[0162] Conversely, if the current sub-block is not the sub-block corresponding to the last encoding order within the overall transform block (step S1109 - No), after setting the current sub-transform block as the current sub-block of the upper-level depth in step S1110, the process returns to step S1105 to perform the quadtree segmentation information encoding process on the sub-block of the next encoding order of the current sub-block in the upper-level depth.

[0163] If, in step S1106, it is determined that the current partial block is not the partial block corresponding to the last encoding order within the current sub-transformation block (step S1106 - No), in step S1107, the veracity of the quadtree segmentation information of the corresponding partial block can be determined. If the corresponding information is false (step S1107 - No), the process can return to step S1105 to execute the encoding process of the quadtree segmentation information of the next encoding order of the current partial block.

[0164] Conversely, when the corresponding information is true (step S1107 - Yes), in step S1108, the current segmented block can be set as the current sub-transformation block of the next lower depth, and then the process can be repeated in step S1104.

[0165] Furthermore, the maximum / minimum size of the transform block that can perform quadtree segmentation, the maximum depth of the quadtree segmentation that can be performed, and the depth at which segmentation can be performed in the current transform block can be determined to be the same value in the image encoding device and the image decoding device, or can be transmitted from the image encoding device to the image decoding device through the upper-level header (strip layer, image layer, sequence layer, video layer, etc.).

[0166] Figure 12 This is a flowchart illustrating the method of decoding quadtree segmentation information and dividing the transform block into sub-transform blocks using quadtree segmentation.

[0167] See Figure 12 In step S1201, the overall transformation block can be set as the current sub-transformation block.

[0168] Next, in step S1202, the quadtree segmentation information in the current sub-transformation block can be decoded.

[0169] Next, in step S1203, the authenticity of the quadtree segmentation information that has been decoded in the current sub-transformation block can be determined.

[0170] When the quadtree segmentation information that has been decoded in the current sub-transformation block is false (step S1203 - No), the quadtree segmentation decoding process can be terminated.

[0171] Conversely, when the quadtree segmentation information that has been decoded in the current sub-transformation block is true (step S1203 - Yes), step S1204 can be executed.

[0172] In step S1204, four partial blocks can be generated by quadtree partitioning the current sub-transformation block.

[0173] Next, in step S1205, the quadtree segmentation information of the currently being decoded partial block (hereinafter referred to as the current partial block) can be encoded according to the decoding order of the partial blocks segmented from the current sub-transformation block.

[0174] Next, in step S1206, it can be determined whether the current partial block is a partial block corresponding to the last decoding order in the current sub-transformation block.

[0175] When the current partial block is the partial block corresponding to the last decoding order within the current sub-transformation block (step S1206 - Yes), step S1209 can be executed.

[0176] In step S1209, it is possible to determine whether the current partial block is a partial block corresponding to the last decoding order within the overall transformation block.

[0177] When the current partial block is the partial block corresponding to the last decoding order within the overall transformation block (step S1209 - Yes), the quadtree segmentation decoding process can be terminated.

[0178] Conversely, if the current sub-block is not the sub-block corresponding to the last decoding order within the overall transform block (step S1209 - No), after setting the current sub-transform block as the current sub-block of the upper-level depth in step S1210, the process returns to step S1205 to perform the quadtree segmentation information decoding process on the sub-block of the next decoding order of the current sub-block in the upper-level depth.

[0179] When it is determined in step S1206 that the current partial block is not the partial block corresponding to the last decoding order within the current sub-transform block (step S1206 - No), in step S1207, the veracity of the quadtree segmentation information of the corresponding partial block can be determined. If the corresponding information is false (step S1207 - No), the process can return to step S1205 to execute the quadtree segmentation information decoding process for the next decoding order of the current partial block.

[0180] Conversely, when the corresponding information is true (step S1207 - Yes), in step S1208, the current segmented block can be set as the current sub-transformation block of the next lower depth, and then the process can be repeated in step S1204.

[0181] Figure 13 as well as Figure 14 This is a schematic diagram used to illustrate the binary tree partitioning of the transformed block.

[0182] Figure 13 as well as Figure 14 With the above Figure 11 as well as Figure 12 In comparison, aside from changing the quadtree segmentation to a binary tree segmentation and converting the quadtree segmentation information to binary tree segmentation information, the remaining processes are the same. Therefore, the details will be omitted. Figure 13 as well as Figure 14 Explanation.

[0183] Figure 15 This is a schematic diagram illustrating an example of dividing the transform execution region into partial transform blocks using quadtree partitioning and binary tree partitioning. The transform execution region can refer to the entire transform block. Figure 15 In this context, it is assumed that the transformation execution region will be determined as the top of the current block.

[0184] See Figure 15 In section 1501, the shape of a partial transform block when the overall transform block is divided using only a quadtree partitioning method is illustrated. In section 1502, the shape of a partial transform block when the overall transform block is divided using only a binary tree partitioning method is illustrated. Furthermore, in section 1503, the shape of a partial transform block when the overall transform block is divided using both quadtree and binary tree partitioning methods is illustrated.

[0185] Furthermore, the image encoding device and the image decoding device can determine the segmentation shape of the transformation block to be the same value based on the size of the overall transformation block within the transformation execution area.

[0186] As an example, when the horizontal and vertical dimensions of the overall transformation block are both greater than 8, the transformation can be performed only on the 8×8 sub-transformation block at the top left; otherwise, the transformation can be performed only on the 4×4 sub-transformation block at the top left.

[0187] After determining the segmentation pattern of the transformation blocks within the transformation execution region according to the embodiments described above, the transformation or inverse transformation can be performed in units of sub-transformation blocks. Next, the coefficient scanning method and reordering method that may be performed before or after the second transformation in units of sub-transformation blocks within the second transformation execution region will be described. Here, the second transformation execution region and the second transformation can be concepts that include the second inverse transformation execution region and the second inverse transformation.

[0188] Figure 16 An example of the scanning method and reordering method for 2D sub-transformation blocks when changing 2D sub-transformation blocks to 1D sub-transformation blocks in order to perform a non-2D transformation method, i.e., a 1D transformation method, is illustrated.

[0189] See Figure 16 In 1601, a method for reordering 2D sub-transformation blocks that have undergone the first transformation into 1D sub-transformation blocks by performing a vertical scan before performing the second transformation is illustrated. In this case, the vertical scan order is C00, C10, C20, C30, C01, ..., C23, C33, which can be mapped to 1D sub-transformation blocks in the same order.

[0190] In 1602, a method for reordering 2D sub-transformation blocks that have undergone the first transformation into 1D sub-transformation blocks by performing a horizontal scan before performing the second transformation is illustrated. In this case, the horizontal scan order is C00, C01, C02, C03, C10, ..., C32, C33, which can be mapped to 1D sub-transformation blocks in the same order.

[0191] In 1603, a method for reordering 2D sub-transformation blocks that have undergone the first transformation into 1D sub-transformation blocks by performing a 45-degree diagonal scan before performing the second transformation is illustrated. In this case, the 45-degree diagonal scan sequence is C00, C10, C01, C20, C11, ..., C23, C33, which can be mapped to 1D sub-transformation blocks in the same order.

[0192] Figure 17 Examples of scanning and reordering methods for 2D sub-transformation blocks are illustrated.

[0193] See Figure 17In 1701, a method for reordering 2D sub-transformation blocks into 2D sub-transformation blocks by performing a vertical scan after the second transformation is performed is illustrated. In this case, the vertical scan order is C00, C10, C20, C30, C01..., C23, C33, which can be mapped to 2D sub-transformation blocks in the same order.

[0194] In 1702, a method for reordering 2D sub-transformation blocks into 2D sub-transformation blocks by performing a horizontal scan after the second transformation is performed is illustrated. In this case, the horizontal scan order is C00, C01, C02, C03, C10, ..., C32, C33, which can be mapped to 2D sub-transformation blocks in the same order.

[0195] In 1703, a method for reordering 2D sub-transformation blocks into 2D sub-transformation blocks by performing a 45-degree diagonal scan after the second transformation is illustrated. In this case, the 45-degree diagonal scan sequence is C00, C10, C01, C20, C11, ..., C23, C33, which can be mapped to 2D sub-transformation blocks in the same order.

[0196] In addition, Figure 17 The method described can also be executed before the second transformation.

[0197] also, Figure 16 as well as Figure 17 In addition to vertical, horizontal, and 45-degree diagonal scanning methods, the scanning methods in the system can also use a variety of other different scanning methods. Furthermore, in Figure 16 as well as Figure 17 The above explanation uses the second transformation or the second inverse transformation as an example, but the above method can also be applied to the first transformation and the first inverse transformation.

[0198] Next, the method for determining the coefficient scan coefficients of the sub-transformation blocks as described above will be explained.

[0199] In one embodiment of the present invention, the coefficient scanning method as a sub-transformation block can perform different scanning methods on a sub-transformation block unit according to the prediction mode.

[0200] Figure 18 This is a flowchart illustrating the method for determining the sub-transformation block scanning method based on the prediction mode executed when generating the current transform block.

[0201] See Figure 18In step S1801, it is possible to determine which of the horizontal prediction modes in the intra-frame prediction modes was used when generating the current transform block.

[0202] Next, when the condition determined in step S1801 is true, in step S1802, the scanning method of the sub-transformation block can be determined as the vertical scanning method.

[0203] Furthermore, when the condition determined in step S1801 is false, it is possible to determine which of the vertical prediction modes in the intra-frame prediction modes was executed when generating the current transform block.

[0204] Next, when the condition determined in step S1803 is true, the scanning method of the sub-transformation block can be determined as the horizontal scanning method in step S1803.

[0205] Next, when the condition determined in step S1803 is false, in step S1805, the scanning method of the sub-transform block can be determined as a 45-degree diagonal scanning method. That is, in step S1805, when the prediction mode executed when generating the current transform block does not belong to the vertical direction prediction mode or the vertical direction prediction mode in the intra-frame prediction mode, the scanning method of the sub-transform block can be determined as a 45-degree diagonal scanning method.

[0206] In one embodiment of the present invention, the coefficient scanning method as a sub-transformation block can perform different scanning methods on a sub-transformation block basis according to the transform basis vector.

[0207] Figure 19 This is a flowchart illustrating the method of determining the sub-transformation block scanning method based on the transformation basis vector.

[0208] See Figure 19 It can determine the upper left terminal transformation block as a 45-degree diagonal scanning method and determine the sub-transformation block scanning method of other sub-transformation blocks as a vertical scanning method.

[0209] The image encoding device can encode the optimal scanning method after determining the optimal scanning method for each sub-transformation block through the RDO and then transmit it to the image decoding device.

[0210] Figure 20 This is a flowchart illustrating an image decoding method applicable to one embodiment of the present invention.

[0211] See Figure 20 In step S2001, the image decoding device can determine the transformation execution area.

[0212] At this time, the image decoding device can determine the transformation execution area based on the intra-prediction mode of the current prediction block corresponding to the current transform block. Specifically, when the intra-prediction mode of the current prediction block is a horizontal prediction mode, the image decoding device can determine the left side of the current transform block as the transformation execution area; when the intra-prediction mode of the current prediction block is a vertical prediction mode, the device can determine the upper part of the current transform block as the transformation execution area; and when the intra-prediction mode of the current prediction block is neither a horizontal nor a vertical prediction mode, the device can determine the upper left part of the current transform block as the transformation execution area.

[0213] Furthermore, the image decoding device can determine the transformation execution area based on a specific frequency region of the current transformation block. This specific frequency region can be determined based on predefined values.

[0214] In step S2002, the image decoding device can divide the determined transformation execution region into at least one sub-transformation block using at least one of quadtree segmentation and binary tree segmentation.

[0215] Next, in step S2003, the image decoding device can perform an inverse transformation on at least one sub-transformation block. The inverse transformation can be either a first inverse transformation or a second inverse transformation.

[0216] Furthermore, at least one sub-transform block can be a 2D sub-transform block. In this case, the image decoding apparatus can also perform: the step of determining the coefficient scanning method for the sub-transform block as described above; and the step of reordering the 2D sub-transform blocks based on the determined coefficient scanning method.

[0217] The image decoding device can determine the coefficient scanning method of the sub-transform block based on the intra-prediction mode of the current prediction block corresponding to the current transform block.

[0218] Combination Figure 20 The image decoding method described above can be executed in the same manner as the image decoding method of an image decoding device. In this case, the inverse transform can be changed into a transform.

[0219] The exemplary methods in this disclosure are described as a sequence of actions for clarity of explanation, but this is not intended to limit the order in which the steps are executed. The steps can be executed simultaneously or in different orders if necessary. To implement the methods in this disclosure, additional steps can be added to the example steps, or only the remaining steps (excluding some steps) can be included, or additional steps can be added after excluding some steps.

[0220] The various embodiments described herein are not a list of all possible combinations, but are merely illustrative of representative forms of the disclosure. The matters described in the various embodiments may apply independently or in combination of two or more.

[0221] Furthermore, the various embodiments described in this disclosure can be implemented using hardware, firmware, software, or a combination thereof. When implemented in hardware, they can be implemented using one or more ACICs (Application Specific Integrated Circuits), DSPs (Digital Signal Processors), DSPDs (Digital Signal Processing Devices), PLDs (Programmable Logic Devices), FPGAs (Field Programmable Gate Arrays), general-purpose processors, controllers, microcontrollers, microprocessors, etc.

[0222] The scope of this disclosure includes software, device-executable instructions (e.g., operating systems, applications, firmware, programs, etc.) that enable actions in methods of various embodiments to be executed on an apparatus or computer, and a device- or computer-executable non-transitory computer-readable medium storing the aforementioned software or instructions.

[0223] Industry availability

[0224] The present invention is an apparatus for encoding / decoding images.

Claims

1. A method for decoding an image, the method comprising: Determine the execution region for the second transformation of the current transformation block; The current 1D transformation matrix is ​​obtained using multiple transformation coefficients in the second transformation execution region; Perform the second inverse transformation on the current 1D transformation matrix; as well as Perform the first inverse transform on the first transform region of the current transform block. Specifically, the execution region for the second transformation is determined based on the low-frequency region in the upper left region of the current transformation block, and the second inverse transformation is not performed on regions that are not within the execution region for the second transformation. The first transformation execution region is determined to be the entire region equal to the current transformation block.

2. The method of claim 1, wherein, The current 1D transformation matrix is ​​obtained by reordering the current transformation blocks according to the diagonal scan order.

3. An image coding method, the image coding method comprising: Perform the first transformation on the first transformation region of the current transformation block; Determine the execution region for the second transformation of the current transformation block; The current 1D transformation matrix is ​​obtained using multiple transformation coefficients in the second transformation execution region; as well as Perform a second transformation on the current 1D transformation matrix. Specifically, the execution region for the second transformation is determined based on the low-frequency region in the upper left region of the current transformation block, and the second transformation is not performed on regions that are not within the execution region for the second transformation. The first transformation execution region is determined to be the entire region equal to the current transformation block.

4. The video encoding method of claim 3, wherein, The current 1D transformation matrix is ​​obtained by reordering the current transformation blocks according to the diagonal scan order.

5. The video encoding method of claim 3, wherein, The current transform block is a sub-transform block that is divided from the upper-level transform block.

6. A method for transmitting a bitstream generated by an image encoding method, wherein, The image encoding method includes: Perform the first transformation on the first transformation region of the current transformation block; Determine the execution region for the second transformation of the current transformation block; The current 1D transformation matrix is ​​obtained using multiple transformation coefficients from the second transformation execution region; and Perform a second transformation on the current 1D transformation matrix. Specifically, the execution region for the second transformation is determined based on the low-frequency region in the upper left region of the current transformation block, and the second transformation is not performed on regions that are not within the execution region for the second transformation. The first transformation execution region is determined to be the entire region equal to the current transformation block.